Imported Upstream version 2.2.28 upstream/2.2.28
authorDongHun Kwak <dh0128.kwak@samsung.com>
Thu, 15 Sep 2022 22:44:51 +0000 (07:44 +0900)
committerDongHun Kwak <dh0128.kwak@samsung.com>
Thu, 15 Sep 2022 22:44:51 +0000 (07:44 +0900)
209 files changed:
ChangeLog
Makefile.am
Makefile.in
NEWS
VERSION
aclocal.m4
agent/Makefile.in
agent/command-ssh.c
agent/command.c
agent/cvt-openpgp.c
agent/genkey.c
build-aux/speedo.mk
build-aux/speedo/w32/inst.nsi
common/Makefile.am
common/Makefile.in
common/compliance.c
common/compliance.h
common/dotlock.c
common/dotlock.h
common/exechelp-posix.c
common/exechelp-w32.c
common/init.c
common/keyserver.h [deleted file]
common/name-value.c
common/openpgp-fpr.c [new file with mode: 0644]
common/openpgp-oid.c
common/openpgpdefs.h
common/sexputil.c
common/t-sexputil.c
common/t-w32-cmdline.c [new file with mode: 0644]
common/tlv.c
common/tlv.h
common/ttyio.c
common/util.h
common/w32-cmdline.c [new file with mode: 0644]
common/w32help.h
common/xasprintf.c
configure
configure.ac
dirmngr/Makefile.am
dirmngr/Makefile.in
dirmngr/certcache.c
dirmngr/crlfetch.c
dirmngr/crlfetch.h
dirmngr/dirmngr.c
dirmngr/dirmngr.h
dirmngr/dirmngr_ldap.c
dirmngr/http.c
dirmngr/http.h
dirmngr/ks-action.c
dirmngr/ks-action.h
dirmngr/ks-engine-hkp.c
dirmngr/ks-engine-ldap.c
dirmngr/ldap-misc.c [new file with mode: 0644]
dirmngr/ldap-misc.h [new file with mode: 0644]
dirmngr/ldap-parse-uri.c
dirmngr/ldap-wrapper.c
dirmngr/ldap.c
dirmngr/ldapserver.c
dirmngr/ldapserver.h
dirmngr/server.c
dirmngr/t-http.c
dirmngr/t-ldap-misc.c [new file with mode: 0644]
dirmngr/t-support.h
doc/Makefile.am
doc/Makefile.in
doc/defsincdate
doc/dirmngr.texi
doc/gnupg-card-architecture.pdf
doc/gnupg-module-overview.pdf
doc/gnupg-module-overview.png
doc/gnupg.info
doc/gnupg.info-1
doc/gnupg.info-2
doc/gpg.texi
doc/gpgsm.texi
doc/scdaemon.texi
doc/tools.texi
g10/Makefile.in
g10/call-agent.c
g10/call-dirmngr.c
g10/call-dirmngr.h
g10/card-util.c
g10/ecdh.c
g10/encrypt.c
g10/exec.c
g10/export.c
g10/getkey.c
g10/gpg.c
g10/gpgv.c
g10/import.c
g10/keydb.h
g10/keyedit.c
g10/keygen.c
g10/keylist.c
g10/keyserver-internal.h
g10/keyserver.c
g10/mainproc.c
g10/openfile.c
g10/options.h
g10/passphrase.c
g10/photoid.c
g10/pkglue.c
g10/pkglue.h
g10/pubkey-enc.c
g10/sign.c
g10/skclist.c
g10/test-stubs.c
g10/trustdb.c
g13/Makefile.in
kbx/Makefile.in
kbx/keybox-init.c
kbx/keybox-search.c
kbx/keybox-update.c
kbx/keybox.h
m4/Makefile.in
po/POTFILES.in
po/ca.po
po/cs.gmo
po/cs.po
po/da.gmo
po/da.po
po/de.gmo
po/de.po
po/el.po
po/en@boldquot.gmo
po/en@boldquot.po
po/en@quot.gmo
po/en@quot.po
po/eo.po
po/es.gmo
po/es.po
po/et.po
po/fi.po
po/fr.gmo
po/fr.po
po/gl.po
po/gnupg2.pot
po/hu.po
po/id.po
po/it.gmo
po/it.po
po/ja.gmo
po/ja.po
po/nb.gmo
po/nb.po
po/pl.gmo
po/pl.po
po/pt.po
po/ro.gmo
po/ro.po
po/ru.gmo
po/ru.po
po/sk.po
po/sv.gmo
po/sv.po
po/tr.gmo
po/tr.po
po/uk.gmo
po/uk.po
po/zh_CN.gmo
po/zh_CN.po
po/zh_TW.gmo
po/zh_TW.po
regexp/Makefile.in
scd/Makefile.in
scd/apdu.c
scd/apdu.h
scd/app-common.h
scd/app-dinsig.c
scd/app-geldkarte.c
scd/app-help.c
scd/app-nks.c
scd/app-openpgp.c
scd/app-p15.c
scd/app-sc-hsm.c
scd/app.c
scd/ccid-driver.c
scd/command.c
scd/iso7816.c
scd/iso7816.h
scd/scdaemon.c
scd/scdaemon.h
sm/Makefile.in
sm/call-dirmngr.c
sm/certcheck.c
sm/decrypt.c
sm/encrypt.c
sm/export.c
sm/gpgsm.c
sm/gpgsm.h
sm/import.c
sm/keydb.c
sm/keydb.h
sm/minip12.c
sm/minip12.h
sm/server.c
sm/verify.c
tests/Makefile.in
tests/gpgme/Makefile.in
tests/gpgscm/Makefile.in
tests/gpgscm/scheme.c
tests/gpgsm/Makefile.in
tests/migrations/Makefile.in
tests/openpgp/Makefile.in
tests/pkits/Makefile.in
tools/Makefile.in
tools/gpgconf-comp.c
tools/gpgtar-create.c

index bf66666..5ec42ba 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,771 @@
+2021-06-10  Werner Koch  <wk@gnupg.org>
+
+       Release 2.2.28.
+       + commit 9f6076868ecd313e832c112ea79cfcffed3dc342
+
+
+       gpg: Partial fix for Unicode problem in output files.
+       + commit 845711d1420cc01289c15ba49deb03200a5cd102
+       * g10/openfile.c (overwrite_filep): Use gnupg_access.
+
+       scd: Fix serial number detection for Yubikey 5.
+       + commit c2f02797cdefdce5afd8b29bb8e51d4515a70a96
+       * scd/app.c (app_new_register): Handle serial number correctly.
+
+2021-06-09  Werner Koch  <wk@gnupg.org>
+
+       gpgtar,w32: Fix file size computation.
+       + commit 198b240b195596974e8b61e2b79fb6e8dc78f89a
+       * tools/gpgtar-create.c (fillup_entry_w32): Move parentheses.
+
+       sm: New option --ldapserver as an alias for --keyserver.
+       + commit d6df1bf84969bf5f5781e33bc1c2f6cb2aee0093
+       * sm/gpgsm.c (opts): Add option --ldapserver and make --keyserver an
+       alias.
+
+       dirmngr: Allow to pass no filter args to dirmngr_ldap.
+       + commit f6e45671aa26f3e7abb968a876de7bbdb4fca3f1
+       * dirmngr/dirmngr_ldap.c (main): Handle no args case.
+
+2021-06-08  Werner Koch  <wk@gnupg.org>
+
+       w32: Change spawn functions to use Unicode version of CreateProcess.
+       + commit 7a98e45e74ec2883c24689964d6119796da0969f
+       * common/exechelp-w32.c (gnupg_spawn_process): Change to use
+       CreateProcessW.
+       (gnupg_spawn_process_fd): Ditto.
+       (gnupg_spawn_process_detached): Ditto.
+       * g10/exec.c (w32_system): Ditto.
+
+2021-06-08  Andre Heinecke  <aheinecke@gnupg.org>
+
+       common,w32: Breakaway detached childs when in job.
+       + commit f20e9a464487443552b6cbdf918c6448d3cb643f
+       * common/exechelp-w32.c (gnupg_spawn_process_detached): Add
+       CREATE_BREAKAWAY_FROM_JOB creation flag if required.
+
+2021-06-08  Werner Koch  <wk@gnupg.org>
+
+       w32: Always use Unicode for console input and output.
+       + commit b912f07cdf00043b97fca54e4113fab277726e03
+       * common/init.c (_init_common_subsystems) [W32]: Set the codepage to
+       UTF-8 for input and putput.  Switch gettext to UTF-8.
+       * g10/gpg.c (utf8_strings) [W32]: Make sure this is always set.
+
+       w32: Free memory allocated by new function w32_write_console.
+       + commit ebdb62a98a6e917bafb795b5f50483a95790e739
+       * common/ttyio.c (w32_write_console): Free buffer.
+
+       common,w32: Allow Unicode input and output with the console.
+       + commit 90aadf69f730ff1bd053abcd6cc8bc67518ecf4b
+       * common/ttyio.c (do_get) [W32]: Use ReadConsoleW.
+       (w32_write_console): New.
+       (tty_printf, tty_fprintf) [W32]: Use new function.
+
+       common: Re-indent ttyio.c and remove EMX, RISCOS, and CE support.
+       + commit 521e176a605e6b6229825761906005b05608daf5
+       * common/ttyio.c: Remove cruft like EMX and RISCOS support.  Translate
+       a few strings.  Re-indent.
+
+       common: Rename w32-misc.c to w32-cmdline.c.
+       + commit d7d9a5ba3cbf9cf7e22a8871474032b525825eed
+       * common/w32-misc.c: Rename to ....
+       * common/w32-cmdline.c: this.
+       * common/Makefile.am: Adjust.
+
+       common,w32: Implement globing of command line args.
+       + commit 09f49b4c9aae46c40a189b1270e215bc978dbc3c
+       * common/w32-misc.c [W32]: Include windows.h
+       (struct add_arg_s): New.
+       (add_arg): New.
+       (glob_arg): New.
+       (parse_cmdstring): Add arg argvflags and set it.
+       (w32_parse_commandline): Add arg r_itemsalloced.  Add globing.
+
+       * common/init.c (prepare_w32_commandline): Mark glob created items as
+       leaked.
+
+       * common/t-w32-cmdline.c : Include windows.h
+       (test_all): Add simple glob test for Unix.
+       (main): Add manual test mode for Windows.
+
+       * common/xasprintf.c (xtryreallocarray): New.
+
+       common,w32: Refine the command line parsing for \ in quotes.
+       + commit 4d6807b215e7541fd52caf7e4adc40d77670f99f
+       * common/t-w32-cmdline.c (test_all): Add new test cases.
+       * common/w32-misc.c (strip_one_arg): Add arg endquote.
+       (parse_cmdstring): Take care of backslashes in quotes.
+
+       common: First take on handling Unicode command line args.
+       + commit 90ddd1cf13cd6bb88d5bb8c1846d7297ca8ac81c
+       * common/w32-misc.c: New.
+       * common/t-w32-cmdline.c: New.
+       * common/init.c: Include w32help.h.
+       (prepare_w32_commandline): New.
+       (_init_common_subsystems) [W32]: Call prepare_w32_commandline.
+
+       * common/Makefile.am (common_sources) [W32]: Add w32-misc.c
+       (module_tests): Add t-w32-cmdline
+       (t_w32_cmdline_LDADD): New.
+
+       gpg: Prepare for globing with UTF-8.
+       + commit 1f59c4c8e2cfa2b111f0798212546864668383f9
+       * g10/gpg.c (_dowildcard): Remove.
+       (my_strusage): Enable wildcards using our new system.
+
+       dirmngr: Rewrite the LDAP wrapper tool.
+       + commit 39815c023f0371dea01f7c51469b19c06ad18718
+       * dirmngr/ldap-misc.c: New.
+       * dirmngr/ldap-misc.h: New.
+       * dirmngr/ks-engine-ldap.c: Include ldap-misc.h.
+       (ldap_err_to_gpg_err, ldap_to_gpg_err): Move to ldap-misc.c.
+       * dirmngr/ldap-wrapper.c (ldap_wrapper): Print list of args in debug
+       mode.
+       * dirmngr/server.c (lookup_cert_by_pattern): Handle GPG_ERR_NOT_FOUND
+       the saqme as GPG_ERR_NO_DATA.
+       * dirmngr/ldap.c (run_ldap_wrapper): Add args tls_mode and ntds.
+       Remove arg url.  Adjust for changes in dirmngr_ldap.
+       (url_fetch_ldap): Remove args host and port.  Parse the URL and use
+       these values to call run_ldap_wrapper.
+       (attr_fetch_ldap): Pass tls flags to run_ldap_wrapper.
+       (rfc2254_need_escape, rfc2254_escape): New.
+       (extfilt_need_escape, extfilt_escape): New.
+       (parse_one_pattern): Rename to ...
+       (make_one_filter): this.  Change for new dirmngr_ldap calling
+       convention.  Make issuer DN searching partly work.
+       (escape4url, make_url): Remove.
+       (start_cert_fetch_ldap): Change for new dirmngr_ldap calling
+       convention.
+       * dirmngr/dirmngr_ldap.c: Major rewrite.
+
+       * dirmngr/t-ldap-misc.c: New.
+       * dirmngr/t-support.h (DIM, DIMof): New.
+       * dirmngr/Makefile.am (dirmngr_ldap_SOURCES): Add ldap-misc.c
+       (module_tests) [USE_LDAP]: Add t-ldap-misc.
+       (t_ldap_parse_uri_SOURCES): Ditto.
+       (t_ldap_misc_SOURCES): New.
+
+2021-06-08  NIIBE Yutaka  <gniibe@fsij.org>
+
+       agent: Appropriate error code for importing key with no passwd.
+       + commit 2f98d8a0f92dc991bff406e159690a111202fcb4
+       * agent/cvt-openpgp.c (convert_from_openpgp_main): Return
+       GPG_ERR_BAD_SECKEY.
+
+2021-06-04  Werner Koch  <wk@gnupg.org>
+
+       dirmngr: Remove useless code.
+       + commit 8bd5172539e1399b407aa2a9d56fa51b8e040ae3
+       * dirmngr/ks-engine-ldap.c (my_ldap_connect): Remove the
+       password_param thing because we set the password directly without an
+       intermediate var.
+
+2021-06-02  Werner Koch  <wk@gnupg.org>
+
+       sm: Support AES-GCM decryption.
+       + commit b722fd755c77cbba12478f6de8913c73213d78ee
+       * sm/gpgsm.c (main): Use gpgrt_fcancel on decryption error if gpgrt
+       supports this.
+       * sm/decrypt.c (decrypt_gcm_filter): New.
+       (gpgsm_decrypt): Use this filter if requested.  Check authtag.
+       * common/compliance.c (gnupg_cipher_is_allowed): Allow GCM for gpgsm
+       in consumer (decrypt) de-vs mode.
+
+2021-05-28  Werner Koch  <wk@gnupg.org>
+
+       gpgconf: Make runtime changes with different homedir work.
+       + commit c8f0b02936c73b6ef3c99a1bea9ae63f74da0768
+       * tools/gpgconf-comp.c (dirmngr_runtime_change): Pass --homedir
+       first.  Remove unused variable.
+
+       dirmngr: Fix default port for our redefinition of ldaps.
+       + commit 8de9d54ac83fa20cb52b847b643311841be4d6dc
+       * dirmngr/server.c (make_keyserver_item): Fix default port for ldaps.
+       Move a tmpstr out of the blocks.
+       * dirmngr/ks-engine-ldap.c (my_ldap_connect): Improve diagnostics.
+
+2021-05-27  NIIBE Yutaka  <gniibe@fsij.org>
+
+       build: _DARWIN_C_SOURCE should be 1.
+       + commit 40b2890b4349781ddb0330193aed0286b1d23dad
+       * configure.ac (*-apple-darwin*): Set _DARWIN_C_SOURCE 1.
+
+2021-05-26  Werner Koch  <wk@gnupg.org>
+
+       dirmngr: Use --ldaptimeout for OpenPGP LDAP keyservers.
+       + commit 317d5947b84ae2707e46b89fb0d8318c07174e13
+       * dirmngr/ks-engine-ldap.c (my_ldap_connect): Use LDAP_OPT_TIMEOUT.
+
+       * dirmngr/dirmngr.c (main): Move --ldaptimeout setting to ...
+       (parse_rereadable_options): here.
+
+       dirmngr: New option --ldapserver.
+       + commit ff17aee5d10c8c5ab902253fb4332001c3fc3701
+       * dirmngr/dirmngr.c (opts): Add option --ldapserver.
+       (ldapserver_list_needs_reset): New var.
+       (parse_rereadable_options): Implement option.
+       (main): Ignore dirmngr_ldapservers.conf if no --ldapserver is used.
+
+       * dirmngr/server.c (cmd_ldapserver): Add option --clear and list
+       configured servers if none are given.
+
+       dirmngr: Allow for non-URL specified ldap keyservers.
+       + commit 2b4cddf9086faaf5b35f64a7db97a5ce8804c05b
+       * dirmngr/server.c (cmd_ldapserver): Strip an optional prefix.
+       (make_keyserver_item): Handle non-URL ldap specs.
+       * dirmngr/dirmngr.h (struct ldap_server_s): Add fields starttls,
+       ldap_over_tls, and ntds.
+
+       * dirmngr/ldapserver.c (ldapserver_parse_one): Add for an empty host
+       string.  Improve error messages for the non-file case.  Support flags.
+       * dirmngr/ks-action.c (ks_action_help): Handle non-URL ldap specs.
+       (ks_action_search, ks_action_get, ks_action_put): Ditto.
+       * dirmngr/ks-engine-ldap.c: Include ldapserver.h.
+       (ks_ldap_help): Handle non-URL ldap specs.
+       (my_ldap_connect): Add args r_host and r_use_tls.  Rewrite to support
+       URLs and non-URL specified keyservers.
+       (ks_ldap_get): Adjust for changes in my_ldap_connect.
+       (ks_ldap_search): Ditto.
+       (ks_ldap_put): Ditto.
+
+       gpg,sm: Simplify keyserver spec parsing.
+       + commit 9f586700ec4ceac97fd47cd799878a8847342ffa
+       * common/keyserver.h: Remove.
+       * sm/gpgsm.h (struct keyserver_spec): Remove.
+       (opt): Change keyserver to a strlist_t.
+       * sm/gpgsm.c (keyserver_list_free): Remove.
+       (parse_keyserver_line): Remove.
+       (main): Store keyserver in an strlist.
+       * sm/call-dirmngr.c (prepare_dirmngr): Adjust for the strlist.  Avoid
+       an ambiguity in dirmngr by adding a prefix if needed.
+
+       * g10/options.h (struct keyserver_spec): Move definition from
+       keyserver.h to here.  Remove most fields.
+       * g10/keyserver.c (free_keyserver_spec): Adjust.
+       (cmp_keyserver_spec): Adjust.
+       (parse_keyserver_uri): Simplify.
+       (keyidlist): Remove fakev3 arg which does not make any sense because
+       we don't even support v3 keys.
+
+       dirmngr: Support pseudo URI scheme "opaque".
+       + commit 72124fadafde153f8ac89a70202006d831829d06
+       * dirmngr/http.h (HTTP_PARSE_NO_SCHEME_CHECK): New.
+       * dirmngr/http.c (http_parse_uri): Use this flag.  Change all callers
+       to use the new macro for better readability.
+       (do_parse_uri): Add pseudo scheme "opaque".
+       (uri_query_value): New.
+
+2021-05-21  NIIBE Yutaka  <gniibe@fsij.org>
+
+       scd: Release memory for RDRNAME.
+       + commit 5be0d075b1ad03a46a6169bf16cd3ee6102e1358
+       * scd/apdu.c (apdu_close_reader): Free RDRNAME field.
+
+2021-05-20  Jakub Jelen  <jjelen@redhat.com>
+
+       scd: avoid memory leaks.
+       + commit 678e1b20d3531e642fa8871ea56c6c7d5c208fbe
+       * scd/app-p15.c (send_certinfo): free labelbuf
+         (do_sign): goto leave instead of return
+       * scd/command.c (cmd_genkey): goto leave instead of return
+
+       common: Avoid double-free.
+       + commit 4dc4b025d6dd194a96b11ccfd64d763d2c902a91
+       * common/name-value.c (do_nvc_parse): reset to null after ownership
+       change
+
+2021-05-19  Ineiev  <ineiev@gnu.org>
+
+       po: Update Russian translation.
+       + commit 17b7048732e265450323cc3e01a48c9d492edf0c
+
+
+2021-05-19  Werner Koch  <wk@gnupg.org>
+
+       dirmngr: For KS_SEARCH return the fingerprint also with LDAP.
+       + commit f0e538619d5079fcd87c31e853e6deb28564a321
+       * dirmngr/ks-engine-ldap.c (extract_keys): Return the fingerprint if
+       available.
+       (ks_ldap_search): Ditto.
+       (extract_keys): Make sure to free the ldap values also in corner
+       cases.
+       (my_ldap_value_free): New.
+       (ks_ldap_get): Ditto.
+       (ks_ldap_search): Ditto.
+       (my_ldap_connect): Ditto.
+
+2021-05-18  Werner Koch  <wk@gnupg.org>
+
+       gpg: Fix sending an OpenPGP key with umlaut to an LDAP keyserver.
+       + commit 7bf8530e75d05a712d00a333d59b0a8cf663b9cb
+       * g10/call-dirmngr.c (record_output): Rewrite.
+
+2021-05-18  Ingo Klöcker  <dev@ingo-kloecker.de>
+
+       scd:p15: Fix logic for appending product name to MANUFACTURER.
+       + commit aa6288140481bccc366e87fcdc6781dc82d0af31
+       * scd/app-p15.c (do_getattr): Append product name to MANUFACTURER if
+       manufacturer_id does not already contain a bracket and if we have a
+       product name.
+
+2021-05-17  Werner Koch  <wk@gnupg.org>
+
+       gpg: Use a more descriptive prompt for symmetric decryption.
+       + commit 03f83bcda5d1f8d8246bcc1afc603b7f74d0626b
+       * g10/keydb.h (GETPASSWORD_FLAG_SYMDECRYPT): New.
+       (passphrase_to_dek_ext): Remove this obsolete prototype.
+       * g10/passphrase.c (passphrase_get): Add arg flags.  Use new flag
+       value.
+       (passphrase_to_dek): Add arg flags and pass it on.
+       * g10/mainproc.c (proc_symkey_enc): Use new flag.
+
+       sm: Ask for the password for password based decryption (pwri)
+       + commit 50ea1b67e8260aaebbeba0c4cd73e21443a74636
+       * sm/decrypt.c (pwri_decrypt): Add arg ctrl.  Ask for passphrase.
+
+       * sm/export.c (export_p12): Mark string as translatable.
+       * sm/import.c (parse_p12): Ditto.
+
+       sm: Support decryption of password based encryption (pwri)
+       + commit 6f31acac767f2ec67729c0491f29061b26fe14b9
+       * sm/decrypt.c (string_from_gcry_buffer): New.
+       (pwri_parse_pbkdf2): New.
+       (pwri_decrypt): New.
+       (prepare_decryption): Support pwri.
+       (gpgsm_decrypt): Test for PWRI.  Move IS_DE_VS flag to DFPARM.
+
+       * common/sexputil.c (cipher_mode_to_string): New.
+
+       dirmngr: LDAP search by a mailbox now ignores revoked keys.
+       + commit b6f8cd7eef4b00a2c6ccaac743382f1dd83bde6a
+       * dirmngr/ks-engine-ldap.c (keyspec_to_ldap_filter): Ignore revoked
+       and disable keys in mail mode.
+
+2021-05-07  NIIBE Yutaka  <gniibe@fsij.org>
+
+       scd,pcsc: Use a single context.
+       + commit 987b8168602286d06debbbc8d4deebd35f454e29
+       * scd/apdu.c (pcsc): New variable.
+       (struct reader_table_s): Remove pcsc.context from member.
+       (pcsc_get_status, connect_pcsc_card): Use pcsc.context.
+       (close_pcsc_reader): Release pcsc.context here with reference count.
+       (apdu_open_one_reader): Move API loading to ...
+       (pcsc_init): new.
+       (apdu_open_one_reader): Remove.
+       (apdu_open_reader): Call open_pcsc_reader instead of
+       apdu_open_one_reader.
+       (open_pcsc_reader): Call pcsc_init if needed.  Call close_pcsc_reader
+       instead of pcsc_release_context.  Make reader parsing more robust.
+       (apdu_init): Initialize pcsc.count and pcsc.context.
+
+2021-05-04  Werner Koch  <wk@gnupg.org>
+
+       gpg: Allow ECDH with a smartcard returning just the x-coordinate.
+       + commit b203325ce112c223a5164081cecd14744a01ff69
+       * g10/ecdh.c (pk_ecdh_encrypt_with_shared_point): Factor extraction
+       part out to  ...
+       (extract_secret_x): new.  Allow for x-only coordinate.
+       (pk_ecdh_encrypt_with_shared_point): Change arg shared_mpi
+       to (shared,nshared).  Move param check to the top.  Add extra safety
+       check.
+       (pk_ecdh_decrypt): Adjust for change.
+       * g10/pkglue.c (get_data_from_sexp): New.
+       (pk_encrypt): Use it for "s" and adjusted for changed
+       pk_ecdh_encrypt_with_shared_point.
+       * g10/pubkey-enc.c (get_it): Remove conversion to an MPI and call
+       pk_ecdh_decrypt with the frame buffer.
+
+       scd: Fix possible PC/SC removed card problem.
+       + commit 9d83bfb639680d3bc756fcfe2b7f83b18bed8dff
+       * scd/apdu.c (pcsc_cancel): New.
+       (pcsc_init): Load new function.
+       (connect_pcsc_card): Use it after a removed card error.
+
+       scd: Add string for another PC/SC error code.
+       + commit a475bb725be7e275a06e0625b0088f607f36634c
+       * scd/apdu.c (PCSC_E_NO_READERS_AVAILABLE): New.
+       (pcsc_error_string): Add a description for this.
+       * scd/scdaemon.c (scd_kick_the_loop): Fix diagnostic.
+
+2021-05-04  Kirill Elagin  <kirelagin@gmail.com>
+
+       scd: Fix unblock PIN by a Reset Code with KDF.
+       + commit 6c4216094ef4771d1d5011b7aee35f241e3bcc4d
+       * scd/app-openpgp.c (do_change_pin): Use correct CHVNO=1 for
+       pin2hash_if_kdf, for user's PIN.
+
+2021-05-04  Werner Koch  <wk@gnupg.org>
+
+       gpg: Fix mailbox based search via AKL keyserver method.
+       + commit 22fe23f46d3179cb0a68f58bf6f722b89c0c4d9c
+       * g10/keyserver.c (keyserver_import_name): Rename to ...
+       (keyserver_import_mbox): this.  And use mail search mode.
+       * g10/getkey.c (get_pubkey_byname): Change the two callers.
+
+       gpg: Auto import keys specified with --trusted-keys.
+       + commit e7251be84c797ddbc3f0a5212886761666e3aa33
+       * g10/getkey.c (get_pubkey_with_ldap_fallback): New.
+       * g10/trustdb.c (verify_own_keys): Use it.
+
+       (cherry picked from commit 100037ac0f558e8959fc065d4703c85c2962489e)
+
+       gpg: Allow decryption w/o public key but with correct card inserted.
+       + commit e53f6037283e1a4f18b1c5d66d2678888c701cea
+       * agent/command.c (cmd_readkey): Add option --no-data and special
+       handling for $SIGNKEYID and $AUTHKEYID.
+       * g10/call-agent.c (agent_scd_getattr): Create shadow keys for KEY-FPR
+       output.
+       * g10/skclist.c (enum_secret_keys): Automagically get a missing public
+       key for the current card.
+
+       agent: Silence error messages for READKEY --card.
+       + commit aa612d752ebb1851f23184df084aed5314b72e3a
+       * agent/command.c (cmd_readkey): Test for shadow key before creating
+       it.
+
+       (cherry picked from commit 8f2c9cb73538baab7da8107f2cceb2f6fc49642a)
+
+2021-05-03  Werner Koch  <wk@gnupg.org>
+
+       gpg: Allow fingerprint based lookup with --locate-external-key.
+       + commit 2af217ecd7e4242be2b35bc0085eccaf13cc2027
+       * g10/keyserver.c (keyserver_import_fprint_ntds): New.
+       * g10/getkey.c (get_pubkey_byname): Detect an attempt to search by
+       fingerprint in no_local mode.
+
+       gpg: Lookup a missing public key of the current card via LDAP.
+       + commit b59af0e2a05a3714b0bcbe7e775c6ffacfbc7119
+       * g10/getkey.c (get_seckey_default_or_card): Lookup a missing public
+       key from the current card via LDAP.
+       * g10/call-dirmngr.c: Include keyserver-intetnal.h.
+       (gpg_dirmngr_ks_get): Rename arg quick into flags.  Take care of the
+       new LDAP flag.
+       * g10/keyserver-internal.h (KEYSERVER_IMPORT_FLAG_QUICK): New.
+       Replace the use of the value 1 for the former quick arg.
+       (KEYSERVER_IMPORT_FLAG_LDAP): New.
+       * g10/keyserver.c (keyserver_get_chunk): Increase the reserved line
+       length.
+       * dirmngr/ks-action.c (ks_action_get): Add arg ldap_only.
+       * dirmngr/server.c (cmd_ks_get): Add option --ldap.
+
+       scd: Add option --info to emit KEYPAIRINFO by readkey command.
+       + commit b8df8321e1ef38147f42af1166d2c60805f88b9c
+       * scd/command.c (do_readkey): Implement this.
+       * scd/app-help.c (app_help_get_keygrip_string_pk): Make HEXKEYGRIP
+       parm optional.  Add arg R_ALGOSTR.
+
+2021-05-03  NIIBE Yutaka  <gniibe@fsij.org>
+
+       common: Fix gnupg_wait_processes, by skipping invalid PID.
+       + commit c2ba6bea4ce81a066765c285c4b7c1dc6d39f144
+       * common/exechelp-posix.c (gnupg_wait_processes): Skip invalid PID.
+
+2021-05-03  Werner Koch  <wk@gnupg.org>
+
+       agent: Skip unknown unknown ssh curves seen on cards.
+       + commit bbf4bd3bfcb51e9d91e08ceefba3ff016bae50ff
+       * agent/command-ssh.c (ssh_handler_request_identities): Skip unknown
+       curves.
+
+2021-04-29  Werner Koch  <wk@gnupg.org>
+
+       gpgconf: Do not i18n an empty string to the PO files meta data.
+       + commit a456303ae306fbfda0cf89ff41678d50c24bf6fc
+       * tools/gpgconf-comp.c (my_dgettext): Ignore empty strings.
+
+       scd: New option --pcsc-shared.
+       + commit 5eec40f3d82777b4fb807a9bf1b71422a8caa2f9
+       * scd/scdaemon.h (opt): Add field opcsc_shared.
+       * scd/scdaemon.c (opcscShared): New.
+       (opts): Add "--pcsc-shared".
+       (main): Set flag.
+       * scd/apdu.c (connect_pcsc_card): Use it.
+       (pcsc_get_status): Take flag in account.
+       * scd/app-openpgp.c (verify_chv2): Do not auto verify chv1 in shared
+       mode.
+
+       scd: Rewrite READKEY to allow for compressed points.
+       + commit 96577e2e46e4c5b66a2685cb605e07be0a6a09a5
+       * scd/app-help.c (app_help_pubkey_from_cert): New.  Taken from 2.3.
+       * scd/command.c (cmd_readkey): Rewrite using new helper.
+
+       common: Extend the openpgp_curve_to_oid function.
+       + commit 5b8593135fa6e88ecc459444ec19b9a824f12a15
+       * common/openpgp-oid.c (openpgp_curve_to_oid): Add optional arg R_NBITS.
+       Change all callers.
+
+       common: New module to compute openpgp fingerprints.
+       + commit f3c98b8cb5adcac17043fa6066b73bd08c8ef41a
+       * common/openpgp-fpr.c: New.
+       * common/Makefile.am (common_sources): Add it.
+
+       common: New function to uncompress an ECC public key.
+       + commit c825117c5fa562fced0d3cafc22fd878cf615b42
+       * common/sexputil.c (ec2os): New.
+       (uncompress_ecc_q_in_canon_sexp): New.
+
+       * common/t-sexputil.c (fail2): new.
+       (test_ecc_uncompress): New.
+       (main): Run new test.
+
+       common: New function cmp_canon_sexp.
+       + commit 473e649ea1a69e82b7f99a17fbff4d641936c61c
+       * common/sexputil.c (cmp_canon_sexp): New.
+       (cmp_canon_sexp_def_tcmp): New.
+       * common/t-sexputil.c (test_cmp_canon_sexp): Add a simple test.
+
+       scd: New function send_keyinfo to assist in backporting.
+       + commit 0eed0ced9bcd3c14621076d26cf4d9f809e1873c
+       * scd/command.c (send_keyinfo): New.
+
+       scd: Minor changes to assist in backporting from 2.3.
+       + commit 3db99b8861a7544efee13be45d14bbac63c0c868
+       * scd/command.c (send_status_direct): Return an error code.
+       * scd/app-common.h (APP_LEARN_FLAG_REREAD): New.
+
+       scd: Extend an internal function to also return the algo.
+       + commit 72a7d45a230bf28e2ba7e8a57b702c98998ea0a3
+       * scd/app-help.c (app_help_get_keygrip_string_pk): Add optional arg
+       r_algo.  Change all callers.
+       (app_help_get_keygrip_string): Ditto.
+
+       scd: New function for iso7816 PSO_CSV.
+       + commit 91dd74f3d7e3630bb7f298fe4d392f8a6cef9acb
+       * scd/iso7816.c (iso7816_pso_csv): New.
+
+       scd: Extend iso7816_select_path.
+       + commit 855d14d390e8dd8464f2f38187dbccb19a13e815
+       * scd/iso7816.c (iso7816_select_path): Add arg top_fd.
+       * scd/app-nks.c (do_readkey): Adjust for this change
+       (select_ef_by_path: Ditto.
+
+       * common/tlv.h: Include membuf.h.
+
+       scd: Add new status codes.
+       + commit 3ce69d8387925d444d529ce0bb5beed9e880aad7
+       * scd/apdu.h (SW_SM_NOT_SUP, SW_CC_NOT_SUP, SW_FILE_STRUCT)
+       (SW_NO_CURRENT_EF): New.
+       * scd/apdu.c (apdu_strerror): Map them to strings.
+       * scd/iso7816.c (map_sw): ... and to gpg-error.
+
+       scd: Extend ISO binary and record reading functions.
+       + commit ec9e8e0d6a1fe47dbf42652c4246e1c34fdf0288
+       * scd/iso7816.c (iso7816_read_binary_ext): Add optional arg r_sw and
+       change callers.
+       (iso7816_read_record): Factor all code out to ...
+       (iso7816_read_record_ext): New.
+
+2021-04-13  Werner Koch  <wk@gnupg.org>
+
+       gpg: Do not use self-sigs-only for LDAP keyserver imports.
+       + commit 1303b0ed84da57b48d88343ab43f83546e508aba
+       * dirmngr/ks-engine-ldap.c (ks_ldap_get): Print a SOURCE status.
+       * g10/options.h (opts): New field expl_import_self_sigs_only.
+       * g10/import.c (parse_import_options): Set it.
+       * g10/keyserver.c (keyserver_get_chunk): Add special options for LDAP.
+
+2021-04-08  NIIBE Yutaka  <gniibe@fsij.org>
+
+       scd: Fix CCID driver for SCM SPR332/SPR532.
+       + commit f8ae51977ce4079d638d1ae2f3dd1da41c02a6d7
+       * scd/ccid-driver.c (ccid_vendor_specific_pinpad_setup): New.
+       (ccid_vendor_specific_setup): Only send CLEAR_HALT.
+       (ccid_transceive_secure): Each time, use send_escape_cmd.
+
+2021-04-06  Werner Koch  <wk@gnupg.org>
+
+       gpg: Fix new pseudo option compliance_de_vs.
+       + commit 18551c6dc2c33f856d05053b27a1210c4c607cef
+       * g10/gpg.c (gpgconf_list): Take opt.compliance also in account.
+
+2021-04-01  Werner Koch  <wk@gnupg.org>
+
+       common: Make the compliance check more robust.
+       + commit 8ef0f53cb0014026d0d58b8de2133310d96bc1e3
+       * common/compliance.c (get_compliance_cache): New.
+       (gnupg_rng_is_compliant): Use per mode cache.
+       (gnupg_gcrypt_is_compliant): Ditto.
+
+       gpgconf: Return a new pseudo option compliance_de_vs.
+       + commit 9feffc03f36499162342609897484b4b32fd53a7
+       * tools/gpgconf-comp.c (gc_options_gpg): Add "compliance_de_vs".
+       * g10/gpg.c (gpgconf_list): Return that pseudo option.
+
+2021-03-26  Werner Koch  <wk@gnupg.org>
+           cbiedl@gnupg.com
+
+       gpgconf: Fix argv overflow if --homedir is used.
+       + commit a50093893cd100c74a32cbacc749aab582154625
+       * tools/gpgconf-comp.c (gc_component_launch): Fix crash due to too
+       small array.
+
+2021-03-11  Werner Koch  <wk@gnupg.org>
+
+       gpg: New option --force-sign-key.
+       + commit 87d7b7e07565bdba9e9e8b8698f7094046d4f762
+       * g10/gpg.c (oForceSignKey,opts): New option "--force-sign-key".
+       (main): Set it.
+       * g10/options.h (opt): New flag flags.force_sign_key.
+       * g10/keyedit.c (sign_uids): Use new flag.
+
+2021-03-02  Werner Koch  <wk@gnupg.org>
+
+       sm: Do away with the locked flag in keydb.c.
+       + commit f3e68e39da7609f594572833528a0f2b9c20bf2d
+       * sm/keydb.c (struct keydb_handle): Remove field locked.
+       (keydb_lock): Remove use of locked flag.
+       (lock_all): Ditto.
+       (unlock_all): Ditto.
+       (keydb_set_flags): Use dotlock_is_locked instead of the locked flag.
+       (keydb_insert_cert): Ditto.
+       (keydb_delete): Ditto.
+       (keydb_search): s/keydb_lock/lock_all/.
+       (keydb_set_cert_flags): Ditto.
+       (keydb_clear_some_cert_flags): Ditto.
+
+       * sm/keydb.c (maybe_create_keybox): s/access/gnupg_access/.
+
+       common: New function dotlock_is_locked.
+       + commit 67b82a9c607e1488972a85a30015f48c68245af0
+       * common/dotlock.c (dotlock_is_locked): New.
+       (dotlock_take): Set locked flag also in disabled mode.  No more
+       warning if the lock has already been taken.
+       (dotlock_release): Clear locked flag also in disabled mode.  No more
+       warning if the lock has not been taken.
+
+       sm: Lock kbx files also before a search.
+       + commit 677245ba0e7d6c0bc85ac998f47e3f220b736840
+       * sm/keydb.c (keydb_search): Lock files.
+
+       sm: On Windows close the kbx files at several places.
+       + commit 2b9ae79ad81a0d3eff011fabe6629e371cd7c5b4
+       * kbx/keybox-search.c (keybox_search_reset) [W32]: Always close.
+
+       * kbx/keybox-init.c (keybox_close_all_files): New.
+       * sm/keydb.c (keydb_close_all_files): New.
+       * sm/call-dirmngr.c (gpgsm_dirmngr_isvalid): Call new function.
+       (gpgsm_dirmngr_lookup): Ditto.
+       (gpgsm_dirmngr_run_command): Ditto.
+
+       sm: Remove unused function.
+       + commit c99f3599d80d351dda1400314b43ea8ccdcc7b7d
+       * sm/keydb.c (keydb_insert_cert): Remove.
+       * kbx/keybox-update.c (keybox_update_cert): Remove stub.
+
+2021-03-01  Nicolas Fella via Gnupg-devel  <gnupg-devel@gnupg.org>
+
+       gpg: Keep temp files when opening images via xdg-open.
+       + commit 0441ed6e1c1d7eac81bfbec6ce51f319d9d20eb7
+       * g10/photoid.c (get_default_photo_command): Change parameter for
+       xdg-open.
+
+2021-03-01  Werner Koch  <wk@gnupg.org>
+
+       sm: Silence some other pkcs#12 import prattle.
+       + commit e5af401fc4c3294de9a4f10630b200185329230b
+       * sm/minip12.c (parse_bag_data): Print a regular log_info only in
+       verbose mode.
+
+2021-02-24  Werner Koch  <wk@gnupg.org>
+
+       sm: Silence some output on --quiet.
+       + commit bcdbf0fcf3c1c210504cbed53f524704747deaaa
+       * sm/encrypt.c (gpgsm_encrypt): Take care of --quiet.
+       * sm/gpgsm.c: Include minip12.h.
+       (set_debug): Call p12_set_verbosity.
+       * sm/import.c (parse_p12): Dump keygrip only in debug mode.
+       * sm/minip12.c (opt_verbose, p12_set_verbosity): New.
+       (parse_bag_encrypted_data): Print info messages only in verbose mode.
+
+2021-02-19  Werner Koch  <wk@gnupg.org>
+
+       scd: Change parameters of readkey fucntion pointer.
+       + commit 41979ed7308ef3ab1c877d3f110ce9b61eb17bec
+       * scd/app-common.h (APP_READKEY_FLAG_ADVANCED): New.
+       (struct app_ctx_s): Replace param advanced by flags in readkey.
+       Change all users.
+
+       scd: Pass ctrl parameter to more app functions.
+       + commit 669786cf646d8636de85a3cb8b3aa83ba709d207
+       * scd/app-common.h (struct app_ctx_s): Add parameter ctrl to function
+       pointers for readkey, setattr, sign, auth, decipher, and check_pin.
+
+       scd: Detect Yubikey and provide nicer display-s/n.
+       + commit f8588369bcb0e66118725793b53e871ce2acb10d
+       * scd/app-common.h (struct app_ctx_s): Rename unused field
+       card_version to cardversion.
+       * scd/app.c (app_new_register): Add code rom 2.3 to detect the Yubikey
+       and set cardversion.
+       (app_get_dispserialno): New.
+       * scd/app-openpgp.c (do_getattr): Use app_get_dispserialno.
+
+       scd: Change the apptype from a string to an enum.
+       + commit 43b3ec5aee40172890c077485e438d2d4994d81d
+       * scd/app-common.h (cardtype_t): New.
+       (apptype_t): New.
+       (struct app_ctx_s): Change type of field apptype.  Add fields
+       appversion and cardtype.  Adjust all app-*.c for the new type.
+       * scd/app.c (supported_app_list): New.
+       (strapptype): New.
+       (apptype_from_name): New.
+       (app_dump_state): Use strapptype.
+       (app_write_learn_status): Ditto.
+       (app_getattr): Ditto.
+       (check_conflict): Use apptype_from_name and integer comparison.
+       * scd/app-openpgp.c: Replace app->card_version by app->appversion.
+
+       scd: Add some compatibility code for easier backporting.
+       + commit 6380126b31aacb2e8ad3aae4866d4d384186bf97
+       * scd/app-common.h (APP_WRITEKEY_FLAG_FORCE): New.
+       (APP_READKEY_FLAG_INFO): New.
+       (APP_LEARN_FLAG_KEYPAIRINFO): New.
+       (APP_LEARN_FLAG_MULTI): New.
+       (struct app_ctx_s): New forward declaration.
+       (struct app_ctx_s): Add members prep_reselect, reselect, and
+       with_keygrip.
+       (KEYGRIP_ACTION_SEND_DATA): New.
+       (KEYGRIP_ACTION_WRITE_STATUS): New.
+       (KEYGRIP_ACTION_LOOKUP): New.
+       (APP_CARD): New macro.
+       * scd/scdaemon.h: Include app-common.h and remove from all other
+       files.
+       (app_t): Move typedef to ...
+       * scd/app-common.h: here.
+
+2021-02-17  Werner Koch  <wk@gnupg.org>
+
+       dirmngr: Support new gpgNtds parameter in LDAP keyserver URLs.
+       + commit 55f46b33df08e8e0ea520ade5f73b321bc01d705
+       * dirmngr/ldap-parse-uri.c (ldap_parse_uri): Support a new gpgNtds
+       extension.
+       * dirmngr/ks-engine-ldap.c (my_ldap_connect): Do ldap_init always with
+       hostname - which is NULL and thus the same if not given.  Fix minor
+       error in error code handling.
+
+       dirmngr: Rewrite a weird function by straighter code.
+       + commit cdc828f6902667196eb3870f9287045afe7144d5
+       * dirmngr/ldap-parse-uri.c (ldap_uri_p): Use ascii-memcasecmp.
+
+2021-01-28  Werner Koch  <wk@gnupg.org>
+
+       Include the library version in the compliance checks.
+       + commit 6e258babe7ccc52a7fb621339c2e2fc5f0f23bc9
+       * common/compliance.c (gnupg_gcrypt_is_compliant): New.
+       (gnupg_rng_is_compliant): Also check library version.
+       * g10/mainproc.c (proc_encrypted): Use new function.
+       (check_sig_and_print): Ditto.
+       * sm/decrypt.c (gpgsm_decrypt): Ditto.
+       * sm/encrypt.c (gpgsm_encrypt): Ditto.
+       * sm/verify.c (gpgsm_verify): Ditto
+
+2021-01-27  Werner Koch  <wk@gnupg.org>
+
+       gpg: Fix ugly error message for an unknown symkey algorithm.
+       + commit 9037be5f40da409a7734a2672e64345472f294fc
+       * g10/mainproc.c (proc_symkey_enc): Do not continue with an unknown
+       algorithm.
+
 2021-01-11  Werner Koch  <wk@gnupg.org>
 
        Release 2.2.27.
index 574563e..93470c1 100644 (file)
@@ -202,7 +202,7 @@ release:
 
 sign-release:
         +(set -e; \
-         cd dist; \
+         test $$(pwd | sed 's,.*/,,') = dist || cd dist; \
          x=$$(grep '^RELEASE_ARCHIVE=' $$HOME/.gnupg-autogen.rc|cut -d= -f2);\
           if [ -z "$$x" ]; then \
              echo "error: RELEASE_ARCHIVE missing in ~/.gnupg-autogen.rc">&2; \
index 13ca391..4a063cf 100644 (file)
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.16.1 from Makefile.am.
+# Makefile.in generated by automake 1.16.3 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2018 Free Software Foundation, Inc.
+# Copyright (C) 1994-2020 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -196,8 +196,8 @@ am__recursive_targets = \
   $(am__extra_recursive_targets)
 AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
        cscope distdir distdir-am dist dist-all distcheck
-am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) \
-       $(LISP)config.h.in
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) \
+       config.h.in
 # Read a list of newline-separated strings from the standard input,
 # and print each of them once, without duplicates.  Input order is
 # *not* preserved.
@@ -270,6 +270,8 @@ am__relativize = \
 GZIP_ENV = --best
 DIST_ARCHIVES = $(distdir).tar.bz2
 DIST_TARGETS = dist-bzip2
+# Exists only to be overridden by the user if desired.
+AM_DISTCHECK_DVI_TARGET = dvi
 distuninstallcheck_listfiles = find . -type f -print
 am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \
   | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$'
@@ -800,6 +802,10 @@ dist-xz: distdir
        tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz
        $(am__post_remove_distdir)
 
+dist-zstd: distdir
+       tardir=$(distdir) && $(am__tar) | zstd -c $${ZSTD_CLEVEL-$${ZSTD_OPT--19}} >$(distdir).tar.zst
+       $(am__post_remove_distdir)
+
 dist-tarZ: distdir
        @echo WARNING: "Support for distribution archives compressed with" \
                       "legacy program 'compress' is deprecated." >&2
@@ -842,6 +848,8 @@ distcheck: dist
          eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).shar.gz | unshar ;;\
        *.zip*) \
          unzip $(distdir).zip ;;\
+       *.tar.zst*) \
+         zstd -dc $(distdir).tar.zst | $(am__untar) ;;\
        esac
        chmod -R a-w $(distdir)
        chmod u+w $(distdir)
@@ -858,7 +866,7 @@ distcheck: dist
            $(DISTCHECK_CONFIGURE_FLAGS) \
            --srcdir=../.. --prefix="$$dc_install_base" \
          && $(MAKE) $(AM_MAKEFLAGS) \
-         && $(MAKE) $(AM_MAKEFLAGS) dvi \
+         && $(MAKE) $(AM_MAKEFLAGS) $(AM_DISTCHECK_DVI_TARGET) \
          && $(MAKE) $(AM_MAKEFLAGS) check \
          && $(MAKE) $(AM_MAKEFLAGS) install \
          && $(MAKE) $(AM_MAKEFLAGS) installcheck \
@@ -1026,18 +1034,18 @@ uninstall-am: uninstall-dist_docDATA
        am--refresh check check-am clean clean-cscope clean-generic \
        cscope cscopelist-am ctags ctags-am dist dist-all dist-bzip2 \
        dist-gzip dist-hook dist-lzip dist-shar dist-tarZ dist-xz \
-       dist-zip distcheck distclean distclean-generic distclean-hdr \
-       distclean-tags distcleancheck distdir distuninstallcheck dvi \
-       dvi-am html html-am info info-am install install-am \
-       install-data install-data-am install-data-hook \
-       install-dist_docDATA install-dvi install-dvi-am install-exec \
-       install-exec-am install-html install-html-am install-info \
-       install-info-am install-man install-pdf install-pdf-am \
-       install-ps install-ps-am install-strip installcheck \
-       installcheck-am installdirs installdirs-am maintainer-clean \
-       maintainer-clean-generic mostlyclean mostlyclean-generic pdf \
-       pdf-am ps ps-am tags tags-am uninstall uninstall-am \
-       uninstall-dist_docDATA
+       dist-zip dist-zstd distcheck distclean distclean-generic \
+       distclean-hdr distclean-tags distcleancheck distdir \
+       distuninstallcheck dvi dvi-am html html-am info info-am \
+       install install-am install-data install-data-am \
+       install-data-hook install-dist_docDATA install-dvi \
+       install-dvi-am install-exec install-exec-am install-html \
+       install-html-am install-info install-info-am install-man \
+       install-pdf install-pdf-am install-ps install-ps-am \
+       install-strip installcheck installcheck-am installdirs \
+       installdirs-am maintainer-clean maintainer-clean-generic \
+       mostlyclean mostlyclean-generic pdf pdf-am ps ps-am tags \
+       tags-am uninstall uninstall-am uninstall-dist_docDATA
 
 .PRECIOUS: Makefile
 
@@ -1113,7 +1121,7 @@ release:
 
 sign-release:
         +(set -e; \
-         cd dist; \
+         test $$(pwd | sed 's,.*/,,') = dist || cd dist; \
          x=$$(grep '^RELEASE_ARCHIVE=' $$HOME/.gnupg-autogen.rc|cut -d= -f2);\
           if [ -z "$$x" ]; then \
              echo "error: RELEASE_ARCHIVE missing in ~/.gnupg-autogen.rc">&2; \
diff --git a/NEWS b/NEWS
index 54dda9b..24c3a45 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,118 @@
+Noteworthy changes in version 2.2.28 (2021-06-10)
+-------------------------------------------------
+
+  * gpg: Auto import keys specified with --trusted-keys.
+    [e7251be84c79]
+
+  * gpg: Allow decryption w/o public key but with correct card
+    inserted.  [e53f6037283e]
+
+  * gpg: Allow fingerprint based lookup with --locate-external-key.
+    [2af217ecd7e4]
+
+  * gpg: Lookup a missing public key of the current card via LDAP.
+    [b59af0e2a05a]
+
+  * gpg: New option --force-sign-key.  [#4584]
+
+  * gpg: Use a more descriptive password prompt for symmetric
+    decryption.  [03f83bcda5d1]
+
+  * gpg: Do not use the self-sigs-only option for LDAP keyserver
+    imports.  [#5387]
+
+  * gpg: Keep temp files when opening images via xdg-open.
+    [0441ed6e1c]
+
+  * gpg: Fix mailbox based search via AKL keyserver method.
+    [22fe23f46d31]
+
+  * gpg: Fix sending an OpenPGP key with umlaut to an LDAP keyserver.
+    [7bf8530e75d0]
+
+  * gpg: Allow ECDH with a smartcard returning only the x-coordinate.
+    [b203325ce1]
+
+  * gpgsm: New option --ldapserver as an alias for --keyserver.  Note
+    that confuring servers in gpgsm and gpg is deprecated; please use
+    the dirmngr configuration options.
+
+  * gpgsm: Support AES-GCM decryption.  [b722fd755c77]
+
+  * gpgsm: Support decryption of password protected files.
+    [6f31acac767f]
+
+  * gpgsm: Lock keyboxes also during a search to fix lockups on
+    Windows.  [#4505]
+
+  * agent: Skip unknown unknown ssh curves seen on
+    cards. [bbf4bd3bfcb5]
+
+  * scdaemon: New option --pcsc-shared.  [5eec40f3d827]
+
+  * scdaemon: Backport PKCS#15 card support from GnuPG 2.3
+    [7637d39fe20e]
+
+  * scdaemon: Fix CCID driver for SCM SPR332/SPR532.  [#5297]
+
+  * scdaemon: Fix possible PC/SC removed card problem.  [9d83bfb63968]
+
+  * scdaemon: Fix unblock PIN by a Reset Code with KDF.  [#5413]
+
+  * scdaemon: Support compressed points.  [96577e2e46e4]
+
+  * scdaemon: Prettify S/N for Yubikeys and fix reading for early
+    Yubikey 5 tokens.  [f8588369bcb0,#5442]
+
+  * dirmngr: New option --ldapserver to avoid the need for the
+    separate dirmngr_ldapservers.conf file.
+
+  * dirmngr: The dirmngr_ldap wrapper has been rewritten to properly
+    support ldap-over-tls and starttls for X.509 certificates and
+    CRLs.  [39815c023f03]
+
+  * dirmngr: OpenPGP LDAP keyservers may now also be configured using
+    the same syntax as used for X.509 and CRL LDAP servers.  This
+    avoids the former cumbersome quoting rules and adds a flexible set
+    of flags to control the connection.  [2b4cddf9086f]
+
+  * dirmngr: The "ldaps" scheme of an OpenPGP keyserver URL is now
+    interpreted as ldap-with-starttls on port 389.  To use the
+    non-standardized ldap-over-tls the new LDAP configuration method
+    of the new attribute "gpgNtds" needs to be used.  [55f46b33df08]
+
+  * dirmngr: Return the fingerprint as search result also for LDAP
+    OpenPGP keyservers.  This requires the modernized LDAP schema.
+    [#5441]
+
+  * dirmngr: An OpenPGP LDAP search by a mailbox now ignores revoked
+    keys.  [b6f8cd7eef4b]
+
+  * gpgconf: Make runtime changes with non-default homedir work.
+    [c8f0b02936c7]
+
+  * gpgconf: Do not translate an empty string to the PO file's meta
+    data.  [#5363]
+
+  * gpgconf: Fix argv overflow if --homedir is used.  [#5366]
+
+  * gpgconf: Return a new pseudo option "compliance_de_vs".
+    [9feffc03f364]
+
+  * gpgtar: Fix file size computation under Windows.  [198b240b1955]
+
+  * Full Unicode support for the Windows command line.  [#4398]
+
+  * Fix problem with Windows Job objects and auto start of our
+    daemons.  [#4333]
+
+  * i18n: In German always use "Passwort" instead of "Passphrase" in
+    prompts.
+
+  Release-info: https://dev.gnupg.org/T5482
+  See-also: gnupg-announce/2021q2/000460.html
+
+
 Noteworthy changes in version 2.2.27 (2021-01-11)
 -------------------------------------------------
 
diff --git a/VERSION b/VERSION
index ef0bec0..9945222 100644 (file)
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-2.2.27
+2.2.28
index 362c92d..867f66b 100644 (file)
@@ -1,6 +1,6 @@
-# generated automatically by aclocal 1.16.1 -*- Autoconf -*-
+# generated automatically by aclocal 1.16.3 -*- Autoconf -*-
 
-# Copyright (C) 1996-2018 Free Software Foundation, Inc.
+# Copyright (C) 1996-2020 Free Software Foundation, Inc.
 
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -77,7 +77,7 @@ AC_DEFUN([gt_INTL_MACOSX],
   AC_SUBST([INTL_MACOSX_LIBS])
 ])
 
-# Copyright (C) 2002-2018 Free Software Foundation, Inc.
+# Copyright (C) 2002-2020 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -92,7 +92,7 @@ AC_DEFUN([AM_AUTOMAKE_VERSION],
 [am__api_version='1.16'
 dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
 dnl require some minimum version.  Point them to the right macro.
-m4_if([$1], [1.16.1], [],
+m4_if([$1], [1.16.3], [],
       [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
 ])
 
@@ -108,14 +108,14 @@ m4_define([_AM_AUTOCONF_VERSION], [])
 # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
 # This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
 AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
-[AM_AUTOMAKE_VERSION([1.16.1])dnl
+[AM_AUTOMAKE_VERSION([1.16.3])dnl
 m4_ifndef([AC_AUTOCONF_VERSION],
   [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
 _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
 
 # AM_AUX_DIR_EXPAND                                         -*- Autoconf -*-
 
-# Copyright (C) 2001-2018 Free Software Foundation, Inc.
+# Copyright (C) 2001-2020 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -167,7 +167,7 @@ am_aux_dir=`cd "$ac_aux_dir" && pwd`
 
 # AM_CONDITIONAL                                            -*- Autoconf -*-
 
-# Copyright (C) 1997-2018 Free Software Foundation, Inc.
+# Copyright (C) 1997-2020 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -198,7 +198,7 @@ AC_CONFIG_COMMANDS_PRE(
 Usually this means the macro was only invoked conditionally.]])
 fi])])
 
-# Copyright (C) 1999-2018 Free Software Foundation, Inc.
+# Copyright (C) 1999-2020 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -389,7 +389,7 @@ _AM_SUBST_NOTMAKE([am__nodep])dnl
 
 # Generate code to set up dependency tracking.              -*- Autoconf -*-
 
-# Copyright (C) 1999-2018 Free Software Foundation, Inc.
+# Copyright (C) 1999-2020 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -428,7 +428,9 @@ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
   done
   if test $am_rc -ne 0; then
     AC_MSG_FAILURE([Something went wrong bootstrapping makefile fragments
-    for automatic dependency tracking.  Try re-running configure with the
+    for automatic dependency tracking.  If GNU make was not used, consider
+    re-running the configure script with MAKE="gmake" (or whatever is
+    necessary).  You can also try re-running configure with the
     '--disable-dependency-tracking' option to at least be able to build
     the package (albeit without support for automatic dependency tracking).])
   fi
@@ -455,7 +457,7 @@ AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
 
 # Do all the work for Automake.                             -*- Autoconf -*-
 
-# Copyright (C) 1996-2018 Free Software Foundation, Inc.
+# Copyright (C) 1996-2020 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -652,7 +654,7 @@ for _am_header in $config_headers :; do
 done
 echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
 
-# Copyright (C) 2001-2018 Free Software Foundation, Inc.
+# Copyright (C) 2001-2020 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -673,7 +675,7 @@ if test x"${install_sh+set}" != xset; then
 fi
 AC_SUBST([install_sh])])
 
-# Copyright (C) 2003-2018 Free Software Foundation, Inc.
+# Copyright (C) 2003-2020 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -695,7 +697,7 @@ AC_SUBST([am__leading_dot])])
 # Add --enable-maintainer-mode option to configure.         -*- Autoconf -*-
 # From Jim Meyering
 
-# Copyright (C) 1996-2018 Free Software Foundation, Inc.
+# Copyright (C) 1996-2020 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -730,7 +732,7 @@ AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
 
 # Check to see how 'make' treats includes.                 -*- Autoconf -*-
 
-# Copyright (C) 2001-2018 Free Software Foundation, Inc.
+# Copyright (C) 2001-2020 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -773,7 +775,7 @@ AC_SUBST([am__quote])])
 
 # Fake the existence of programs that GNU maintainers use.  -*- Autoconf -*-
 
-# Copyright (C) 1997-2018 Free Software Foundation, Inc.
+# Copyright (C) 1997-2020 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -794,12 +796,7 @@ AC_DEFUN([AM_MISSING_HAS_RUN],
 [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
 AC_REQUIRE_AUX_FILE([missing])dnl
 if test x"${MISSING+set}" != xset; then
-  case $am_aux_dir in
-  *\ * | *\    *)
-    MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
-  *)
-    MISSING="\${SHELL} $am_aux_dir/missing" ;;
-  esac
+  MISSING="\${SHELL} '$am_aux_dir/missing'"
 fi
 # Use eval to expand $SHELL
 if eval "$MISSING --is-lightweight"; then
@@ -812,7 +809,7 @@ fi
 
 # Helper functions for option handling.                     -*- Autoconf -*-
 
-# Copyright (C) 2001-2018 Free Software Foundation, Inc.
+# Copyright (C) 2001-2020 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -841,7 +838,7 @@ AC_DEFUN([_AM_SET_OPTIONS],
 AC_DEFUN([_AM_IF_OPTION],
 [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
 
-# Copyright (C) 1999-2018 Free Software Foundation, Inc.
+# Copyright (C) 1999-2020 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -888,7 +885,7 @@ AC_LANG_POP([C])])
 # For backward compatibility.
 AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])])
 
-# Copyright (C) 2001-2018 Free Software Foundation, Inc.
+# Copyright (C) 2001-2020 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -907,7 +904,7 @@ AC_DEFUN([AM_RUN_LOG],
 
 # Check to make sure that the build environment is sane.    -*- Autoconf -*-
 
-# Copyright (C) 1996-2018 Free Software Foundation, Inc.
+# Copyright (C) 1996-2020 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -988,7 +985,7 @@ AC_CONFIG_COMMANDS_PRE(
 rm -f conftest.file
 ])
 
-# Copyright (C) 2009-2018 Free Software Foundation, Inc.
+# Copyright (C) 2009-2020 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -1048,7 +1045,7 @@ AC_SUBST([AM_BACKSLASH])dnl
 _AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl
 ])
 
-# Copyright (C) 2001-2018 Free Software Foundation, Inc.
+# Copyright (C) 2001-2020 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -1076,7 +1073,7 @@ fi
 INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
 AC_SUBST([INSTALL_STRIP_PROGRAM])])
 
-# Copyright (C) 2006-2018 Free Software Foundation, Inc.
+# Copyright (C) 2006-2020 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -1095,7 +1092,7 @@ AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
 
 # Check how to create a tarball.                            -*- Autoconf -*-
 
-# Copyright (C) 2004-2018 Free Software Foundation, Inc.
+# Copyright (C) 2004-2020 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
index d84e461..1e9bc1a 100644 (file)
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.16.1 from Makefile.am.
+# Makefile.in generated by automake 1.16.3 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2018 Free Software Foundation, Inc.
+# Copyright (C) 1994-2020 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
index bcc78bd..1ed5416 100644 (file)
@@ -2608,19 +2608,29 @@ ssh_handler_request_identities (ctrl_t ctrl,
             continue;
 
           err = ssh_send_key_public (key_blobs, key_public, cardsn);
-          if (err && opt.verbose)
-            gcry_log_debugsxp ("pubkey", key_public);
           gcry_sexp_release (key_public);
           key_public = NULL;
           xfree (cardsn);
           if (err)
             {
-              xfree (serialno);
-              free_strlist (card_list);
-              goto out;
+              if (opt.verbose)
+                gcry_log_debugsxp ("pubkey", key_public);
+              if (gpg_err_code (err) == GPG_ERR_UNKNOWN_CURVE
+                  || gpg_err_code (err) == GPG_ERR_INV_CURVE)
+                {
+                  /* For example a Brainpool curve or a curve we don't
+                   * support at all but a smartcard lists that curve.
+                   * We ignore them.  */
+                }
+              else
+                {
+                  xfree (serialno);
+                  free_strlist (card_list);
+                  goto out;
+                }
             }
-
-          key_counter++;
+          else
+            key_counter++;
         }
 
       xfree (serialno);
index 8642498..b1f89e0 100644 (file)
@@ -978,8 +978,8 @@ cmd_genkey (assuan_context_t ctx, char *line)
 
 \f
 static const char hlp_readkey[] =
-  "READKEY <hexstring_with_keygrip>\n"
-  "        --card <keyid>\n"
+  "READKEY [--no-data] <hexstring_with_keygrip>\n"
+  "                    --card <keyid>\n"
   "\n"
   "Return the public key for the given keygrip or keyid.\n"
   "With --card, private key file with card information will be created.";
@@ -992,18 +992,20 @@ cmd_readkey (assuan_context_t ctx, char *line)
   gcry_sexp_t s_pkey = NULL;
   unsigned char *pkbuf = NULL;
   char *serialno = NULL;
+  char *keyidbuf = NULL;
   size_t pkbuflen;
-  const char *opt_card;
+  int opt_card, opt_no_data;
 
   if (ctrl->restricted)
     return leave_cmd (ctx, gpg_error (GPG_ERR_FORBIDDEN));
 
-  opt_card = has_option_name (line, "--card");
+  opt_no_data = has_option (line, "--no-data");
+  opt_card = has_option (line, "--card");
   line = skip_options (line);
 
   if (opt_card)
     {
-      const char *keyid = opt_card;
+      const char *keyid = line;
 
       rc = agent_card_getattr (ctrl, "SERIALNO", &serialno);
       if (rc)
@@ -1013,6 +1015,11 @@ cmd_readkey (assuan_context_t ctx, char *line)
           goto leave;
         }
 
+      /* Hack to create the shadow key for the OpenPGP standard keys.  */
+      if ((!strcmp (keyid, "$SIGNKEYID") || !strcmp (keyid, "$ENCRKEYID"))
+          && !agent_card_getattr (ctrl, keyid, &keyidbuf))
+        keyid = keyidbuf;
+
       rc = agent_card_readkey (ctrl, keyid, &pkbuf);
       if (rc)
         goto leave;
@@ -1030,11 +1037,15 @@ cmd_readkey (assuan_context_t ctx, char *line)
           goto leave;
         }
 
-      rc = agent_write_shadow_key (grip, serialno, keyid, pkbuf, 0);
-      if (rc)
-        goto leave;
+      if (agent_key_available (grip))
+        {
+          /* (Shadow)-key is not available in our key storage.  */
+          rc = agent_write_shadow_key (grip, serialno, keyid, pkbuf, 0);
+          if (rc)
+            goto leave;
+        }
 
-      rc = assuan_send_data (ctx, pkbuf, pkbuflen);
+      rc = opt_no_data? 0 : assuan_send_data (ctx, pkbuf, pkbuflen);
     }
   else
     {
@@ -1054,12 +1065,13 @@ cmd_readkey (assuan_context_t ctx, char *line)
             {
               pkbuflen = gcry_sexp_sprint (s_pkey, GCRYSEXP_FMT_CANON,
                                            pkbuf, pkbuflen);
-              rc = assuan_send_data (ctx, pkbuf, pkbuflen);
+              rc = opt_no_data? 0 : assuan_send_data (ctx, pkbuf, pkbuflen);
             }
         }
     }
 
  leave:
+  xfree (keyidbuf);
   xfree (serialno);
   xfree (pkbuf);
   gcry_sexp_release (s_pkey);
index ff153c3..1304686 100644 (file)
@@ -946,6 +946,8 @@ convert_from_openpgp_main (ctrl_t ctrl, gcry_sexp_t s_pgp, int dontcare_exist,
       if (!is_protected)
         {
           err = try_do_unprotect_cb (pi);
+          if (gpg_err_code (err) == GPG_ERR_BAD_PASSPHRASE)
+            err = gpg_error (GPG_ERR_BAD_SECKEY);
         }
       else if (cache_nonce)
         {
index 5c6ae93..78b5bd5 100644 (file)
@@ -381,7 +381,7 @@ agent_ask_new_passphrase (ctrl_t ctrl, const char *prompt,
   if (!pi2)
     {
       err = gpg_error_from_syserror ();
-      xfree (pi2);
+      xfree (pi);
       return err;
     }
   pi->max_length = MAX_PASSPHRASE_LEN + 1;
index 7df8edc..d050457 100644 (file)
@@ -1426,7 +1426,7 @@ define AUTHENTICODE_sign
      echo "speedo: Signing via host $(AUTHENTICODE_SIGNHOST)";\
      scp $(1) "$(AUTHENTICODE_SIGNHOST):a.exe" ;\
      ssh "$(AUTHENTICODE_SIGNHOST)" '$(AUTHENTICODE_TOOL)' sign \
-        /n '"g10 Code GmbH"' \
+        /a /n '"g10 Code GmbH"' \
         /tr 'http://rfc3161timestamp.globalsign.com/advanced' /td sha256 \
         /fd sha256 /du https://gnupg.org a.exe ;\
      scp "$(AUTHENTICODE_SIGNHOST):a.exe" $(2);\
index 9eb4fb4..bc41fac 100644 (file)
@@ -1328,6 +1328,7 @@ Section "-un.gnupg"
   Delete "$INSTDIR\share\doc\gnupg\examples\Automatic.prf"
   Delete "$INSTDIR\share\doc\gnupg\examples\pwpattern.list"
   RMDir  "$INSTDIR\share\doc\gnupg\examples"
+  RMDir  "$INSTDIR\share\doc\gnupg"
 
   Delete "$INSTDIR\share\gnupg\sks-keyservers.netCA.pem"
   Delete "$INSTDIR\share\gnupg\dirmngr-conf.skel"
index 97e30da..cca1018 100644 (file)
@@ -60,7 +60,6 @@ common_sources = \
        shareddefs.h \
        openpgpdefs.h \
        gc-opt-flags.h \
-       keyserver.h \
        sexp-parse.h \
        tlv.c tlv.h \
        init.c init.h \
@@ -98,11 +97,12 @@ common_sources = \
        name-value.c name-value.h \
        recsel.c recsel.h \
        ksba-io-support.c ksba-io-support.h \
+       openpgp-fpr.c \
        compliance.c compliance.h
 
 
 if HAVE_W32_SYSTEM
-common_sources += w32-reg.c
+common_sources += w32-reg.c w32-cmdline.c
 endif
 
 # To make the code easier to read we have split home some code into
@@ -168,7 +168,7 @@ module_tests = t-stringhelp t-timestuff \
                t-convert t-percent t-gettime t-sysutils t-sexputil \
               t-session-env t-openpgp-oid t-ssh-utils \
               t-mapstrings t-zb32 t-mbox-util t-iobuf t-strlist \
-              t-name-value t-ccparray t-recsel
+              t-name-value t-ccparray t-recsel t-w32-cmdline
 if !HAVE_W32CE_SYSTEM
 module_tests += t-exechelp t-exectool
 endif
@@ -222,6 +222,9 @@ t_name_value_LDADD = $(t_common_ldadd)
 t_ccparray_LDADD = $(t_common_ldadd)
 t_recsel_LDADD = $(t_common_ldadd)
 
+t_w32_cmdline_SOURCES = t-w32-cmdline.c w32-cmdline.c $(t_extra_src)
+t_w32_cmdline_LDADD = $(t_common_ldadd)
+
 # System specific test
 if HAVE_W32_SYSTEM
 t_w32_reg_SOURCES = t-w32-reg.c $(t_extra_src)
index 8b30d4a..11e4c23 100644 (file)
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.16.1 from Makefile.am.
+# Makefile.in generated by automake 1.16.3 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2018 Free Software Foundation, Inc.
+# Copyright (C) 1994-2020 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -145,7 +145,7 @@ noinst_PROGRAMS = $(am__EXEEXT_3) $(am__EXEEXT_4)
 @GNUPG_DIRMNGR_PGM_TRUE@am__append_6 = -DGNUPG_DEFAULT_DIRMNGR="\"@GNUPG_DIRMNGR_PGM@\""
 @GNUPG_PROTECT_TOOL_PGM_TRUE@am__append_7 = -DGNUPG_DEFAULT_PROTECT_TOOL="\"@GNUPG_PROTECT_TOOL_PGM@\""
 @GNUPG_DIRMNGR_LDAP_PGM_TRUE@am__append_8 = -DGNUPG_DEFAULT_DIRMNGR_LDAP="\"@GNUPG_DIRMNGR_LDAP_PGM@\""
-@HAVE_W32_SYSTEM_TRUE@am__append_9 = w32-reg.c
+@HAVE_W32_SYSTEM_TRUE@am__append_9 = w32-reg.c w32-cmdline.c
 
 # To make the code easier to read we have split home some code into
 # separate source files.
@@ -186,8 +186,8 @@ am__EXEEXT_3 = t-stringhelp$(EXEEXT) t-timestuff$(EXEEXT) \
        t-openpgp-oid$(EXEEXT) t-ssh-utils$(EXEEXT) \
        t-mapstrings$(EXEEXT) t-zb32$(EXEEXT) t-mbox-util$(EXEEXT) \
        t-iobuf$(EXEEXT) t-strlist$(EXEEXT) t-name-value$(EXEEXT) \
-       t-ccparray$(EXEEXT) t-recsel$(EXEEXT) $(am__EXEEXT_1) \
-       $(am__EXEEXT_2)
+       t-ccparray$(EXEEXT) t-recsel$(EXEEXT) t-w32-cmdline$(EXEEXT) \
+       $(am__EXEEXT_1) $(am__EXEEXT_2)
 @MAINTAINER_MODE_TRUE@am__EXEEXT_4 = t-helpfile$(EXEEXT) \
 @MAINTAINER_MODE_TRUE@ t-b64$(EXEEXT)
 PROGRAMS = $(noinst_PROGRAMS)
@@ -204,7 +204,7 @@ am__libcommon_a_SOURCES_DIST = common-defs.h util.h utilproto.h \
        mapstrings.c stringhelp.c stringhelp.h strlist.c strlist.h \
        utf8conv.c utf8conv.h argparse.c argparse.h logging.c \
        logging.h dotlock.c dotlock.h mischelp.c mischelp.h status.c \
-       status.h shareddefs.h openpgpdefs.h gc-opt-flags.h keyserver.h \
+       status.h shareddefs.h openpgpdefs.h gc-opt-flags.h \
        sexp-parse.h tlv.c tlv.h init.c init.h sexputil.c sysutils.c \
        sysutils.h homedir.c gettime.c gettime.h yesno.c b64enc.c \
        b64dec.c zb32.c zb32.h convert.c percent.c mbox-util.c \
@@ -215,10 +215,12 @@ am__libcommon_a_SOURCES_DIST = common-defs.h util.h utilproto.h \
        userids.h openpgp-oid.c ssh-utils.c ssh-utils.h agent-opt.c \
        helpfile.c mkdir_p.c mkdir_p.h exectool.c exectool.h \
        server-help.c server-help.h name-value.c name-value.h recsel.c \
-       recsel.h ksba-io-support.c ksba-io-support.h compliance.c \
-       compliance.h w32-reg.c exechelp-w32ce.c exechelp-w32.c \
-       exechelp-posix.c get-passphrase.c get-passphrase.h
-@HAVE_W32_SYSTEM_TRUE@am__objects_1 = libcommon_a-w32-reg.$(OBJEXT)
+       recsel.h ksba-io-support.c ksba-io-support.h openpgp-fpr.c \
+       compliance.c compliance.h w32-reg.c w32-cmdline.c \
+       exechelp-w32ce.c exechelp-w32.c exechelp-posix.c \
+       get-passphrase.c get-passphrase.h
+@HAVE_W32_SYSTEM_TRUE@am__objects_1 = libcommon_a-w32-reg.$(OBJEXT) \
+@HAVE_W32_SYSTEM_TRUE@ libcommon_a-w32-cmdline.$(OBJEXT)
 @HAVE_W32CE_SYSTEM_TRUE@@HAVE_W32_SYSTEM_TRUE@am__objects_2 = libcommon_a-exechelp-w32ce.$(OBJEXT)
 @HAVE_W32CE_SYSTEM_FALSE@@HAVE_W32_SYSTEM_TRUE@am__objects_3 = libcommon_a-exechelp-w32.$(OBJEXT)
 @HAVE_W32_SYSTEM_FALSE@am__objects_4 =  \
@@ -253,6 +255,7 @@ am__objects_5 = libcommon_a-i18n.$(OBJEXT) \
        libcommon_a-server-help.$(OBJEXT) \
        libcommon_a-name-value.$(OBJEXT) libcommon_a-recsel.$(OBJEXT) \
        libcommon_a-ksba-io-support.$(OBJEXT) \
+       libcommon_a-openpgp-fpr.$(OBJEXT) \
        libcommon_a-compliance.$(OBJEXT) $(am__objects_1) \
        $(am__objects_2) $(am__objects_3) $(am__objects_4)
 am__objects_6 = libcommon_a-get-passphrase.$(OBJEXT)
@@ -265,7 +268,7 @@ am__libcommonpth_a_SOURCES_DIST = common-defs.h util.h utilproto.h \
        mapstrings.c stringhelp.c stringhelp.h strlist.c strlist.h \
        utf8conv.c utf8conv.h argparse.c argparse.h logging.c \
        logging.h dotlock.c dotlock.h mischelp.c mischelp.h status.c \
-       status.h shareddefs.h openpgpdefs.h gc-opt-flags.h keyserver.h \
+       status.h shareddefs.h openpgpdefs.h gc-opt-flags.h \
        sexp-parse.h tlv.c tlv.h init.c init.h sexputil.c sysutils.c \
        sysutils.h homedir.c gettime.c gettime.h yesno.c b64enc.c \
        b64dec.c zb32.c zb32.h convert.c percent.c mbox-util.c \
@@ -276,11 +279,13 @@ am__libcommonpth_a_SOURCES_DIST = common-defs.h util.h utilproto.h \
        userids.h openpgp-oid.c ssh-utils.c ssh-utils.h agent-opt.c \
        helpfile.c mkdir_p.c mkdir_p.h exectool.c exectool.h \
        server-help.c server-help.h name-value.c name-value.h recsel.c \
-       recsel.h ksba-io-support.c ksba-io-support.h compliance.c \
-       compliance.h w32-reg.c exechelp-w32ce.c exechelp-w32.c \
-       exechelp-posix.c call-gpg.c call-gpg.h
+       recsel.h ksba-io-support.c ksba-io-support.h openpgp-fpr.c \
+       compliance.c compliance.h w32-reg.c w32-cmdline.c \
+       exechelp-w32ce.c exechelp-w32.c exechelp-posix.c call-gpg.c \
+       call-gpg.h
 @HAVE_W32_SYSTEM_TRUE@am__objects_7 =  \
-@HAVE_W32_SYSTEM_TRUE@ libcommonpth_a-w32-reg.$(OBJEXT)
+@HAVE_W32_SYSTEM_TRUE@ libcommonpth_a-w32-reg.$(OBJEXT) \
+@HAVE_W32_SYSTEM_TRUE@ libcommonpth_a-w32-cmdline.$(OBJEXT)
 @HAVE_W32CE_SYSTEM_TRUE@@HAVE_W32_SYSTEM_TRUE@am__objects_8 = libcommonpth_a-exechelp-w32ce.$(OBJEXT)
 @HAVE_W32CE_SYSTEM_FALSE@@HAVE_W32_SYSTEM_TRUE@am__objects_9 = libcommonpth_a-exechelp-w32.$(OBJEXT)
 @HAVE_W32_SYSTEM_FALSE@am__objects_10 = libcommonpth_a-exechelp-posix.$(OBJEXT)
@@ -327,6 +332,7 @@ am__objects_11 = libcommonpth_a-i18n.$(OBJEXT) \
        libcommonpth_a-name-value.$(OBJEXT) \
        libcommonpth_a-recsel.$(OBJEXT) \
        libcommonpth_a-ksba-io-support.$(OBJEXT) \
+       libcommonpth_a-openpgp-fpr.$(OBJEXT) \
        libcommonpth_a-compliance.$(OBJEXT) $(am__objects_7) \
        $(am__objects_8) $(am__objects_9) $(am__objects_10)
 am__objects_12 = libcommonpth_a-call-gpg.$(OBJEXT)
@@ -412,6 +418,10 @@ t_sysutils_DEPENDENCIES = $(am__DEPENDENCIES_2)
 am_t_timestuff_OBJECTS = t-timestuff.$(OBJEXT) $(am__objects_13)
 t_timestuff_OBJECTS = $(am_t_timestuff_OBJECTS)
 t_timestuff_DEPENDENCIES = $(am__DEPENDENCIES_2)
+am_t_w32_cmdline_OBJECTS = t-w32-cmdline.$(OBJEXT) \
+       w32-cmdline.$(OBJEXT) $(am__objects_13)
+t_w32_cmdline_OBJECTS = $(am_t_w32_cmdline_OBJECTS)
+t_w32_cmdline_DEPENDENCIES = $(am__DEPENDENCIES_2)
 am__t_w32_reg_SOURCES_DIST = t-w32-reg.c t-support.h
 @HAVE_W32_SYSTEM_TRUE@am_t_w32_reg_OBJECTS = t-w32-reg.$(OBJEXT) \
 @HAVE_W32_SYSTEM_TRUE@ $(am__objects_13)
@@ -468,6 +478,7 @@ am__depfiles_remade = ./$(DEPDIR)/gpgrlhelp.Po \
        ./$(DEPDIR)/libcommon_a-mischelp.Po \
        ./$(DEPDIR)/libcommon_a-mkdir_p.Po \
        ./$(DEPDIR)/libcommon_a-name-value.Po \
+       ./$(DEPDIR)/libcommon_a-openpgp-fpr.Po \
        ./$(DEPDIR)/libcommon_a-openpgp-oid.Po \
        ./$(DEPDIR)/libcommon_a-percent.Po \
        ./$(DEPDIR)/libcommon_a-recsel.Po \
@@ -484,6 +495,7 @@ am__depfiles_remade = ./$(DEPDIR)/gpgrlhelp.Po \
        ./$(DEPDIR)/libcommon_a-ttyio.Po \
        ./$(DEPDIR)/libcommon_a-userids.Po \
        ./$(DEPDIR)/libcommon_a-utf8conv.Po \
+       ./$(DEPDIR)/libcommon_a-w32-cmdline.Po \
        ./$(DEPDIR)/libcommon_a-w32-reg.Po \
        ./$(DEPDIR)/libcommon_a-xasprintf.Po \
        ./$(DEPDIR)/libcommon_a-xreadline.Po \
@@ -521,6 +533,7 @@ am__depfiles_remade = ./$(DEPDIR)/gpgrlhelp.Po \
        ./$(DEPDIR)/libcommonpth_a-mischelp.Po \
        ./$(DEPDIR)/libcommonpth_a-mkdir_p.Po \
        ./$(DEPDIR)/libcommonpth_a-name-value.Po \
+       ./$(DEPDIR)/libcommonpth_a-openpgp-fpr.Po \
        ./$(DEPDIR)/libcommonpth_a-openpgp-oid.Po \
        ./$(DEPDIR)/libcommonpth_a-percent.Po \
        ./$(DEPDIR)/libcommonpth_a-recsel.Po \
@@ -537,6 +550,7 @@ am__depfiles_remade = ./$(DEPDIR)/gpgrlhelp.Po \
        ./$(DEPDIR)/libcommonpth_a-ttyio.Po \
        ./$(DEPDIR)/libcommonpth_a-userids.Po \
        ./$(DEPDIR)/libcommonpth_a-utf8conv.Po \
+       ./$(DEPDIR)/libcommonpth_a-w32-cmdline.Po \
        ./$(DEPDIR)/libcommonpth_a-w32-reg.Po \
        ./$(DEPDIR)/libcommonpth_a-xasprintf.Po \
        ./$(DEPDIR)/libcommonpth_a-xreadline.Po \
@@ -554,8 +568,9 @@ am__depfiles_remade = ./$(DEPDIR)/gpgrlhelp.Po \
        ./$(DEPDIR)/t-session-env.Po ./$(DEPDIR)/t-sexputil.Po \
        ./$(DEPDIR)/t-ssh-utils.Po ./$(DEPDIR)/t-stringhelp.Po \
        ./$(DEPDIR)/t-strlist.Po ./$(DEPDIR)/t-sysutils.Po \
-       ./$(DEPDIR)/t-timestuff.Po ./$(DEPDIR)/t-w32-reg.Po \
-       ./$(DEPDIR)/t-zb32.Po
+       ./$(DEPDIR)/t-timestuff.Po ./$(DEPDIR)/t-w32-cmdline.Po \
+       ./$(DEPDIR)/t-w32-reg.Po ./$(DEPDIR)/t-zb32.Po \
+       ./$(DEPDIR)/w32-cmdline.Po
 am__mv = mv -f
 AM_V_lt = $(am__v_lt_@AM_V@)
 am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
@@ -580,7 +595,8 @@ SOURCES = $(libcommon_a_SOURCES) $(libcommonpth_a_SOURCES) \
        t-name-value.c t-openpgp-oid.c t-percent.c t-recsel.c \
        t-session-env.c t-sexputil.c t-ssh-utils.c \
        $(t_stringhelp_SOURCES) t-strlist.c t-sysutils.c \
-       $(t_timestuff_SOURCES) $(t_w32_reg_SOURCES) $(t_zb32_SOURCES)
+       $(t_timestuff_SOURCES) $(t_w32_cmdline_SOURCES) \
+       $(t_w32_reg_SOURCES) $(t_zb32_SOURCES)
 DIST_SOURCES = $(am__libcommon_a_SOURCES_DIST) \
        $(am__libcommonpth_a_SOURCES_DIST) $(libgpgrl_a_SOURCES) \
        $(am__libsimple_pwquery_a_SOURCES_DIST) t-b64.c t-ccparray.c \
@@ -588,7 +604,7 @@ DIST_SOURCES = $(am__libcommon_a_SOURCES_DIST) \
        t-iobuf.c t-mapstrings.c t-mbox-util.c t-name-value.c \
        t-openpgp-oid.c t-percent.c t-recsel.c t-session-env.c \
        t-sexputil.c t-ssh-utils.c $(t_stringhelp_SOURCES) t-strlist.c \
-       t-sysutils.c $(t_timestuff_SOURCES) \
+       t-sysutils.c $(t_timestuff_SOURCES) $(t_w32_cmdline_SOURCES) \
        $(am__t_w32_reg_SOURCES_DIST) $(t_zb32_SOURCES)
 am__can_run_installinfo = \
   case $$AM_UPDATE_INFO_DIR in \
@@ -862,18 +878,18 @@ common_sources = common-defs.h util.h utilproto.h fwddecl.h i18n.c \
        stringhelp.c stringhelp.h strlist.c strlist.h utf8conv.c \
        utf8conv.h argparse.c argparse.h logging.c logging.h dotlock.c \
        dotlock.h mischelp.c mischelp.h status.c status.h shareddefs.h \
-       openpgpdefs.h gc-opt-flags.h keyserver.h sexp-parse.h tlv.c \
-       tlv.h init.c init.h sexputil.c sysutils.c sysutils.h homedir.c \
-       gettime.c gettime.h yesno.c b64enc.c b64dec.c zb32.c zb32.h \
-       convert.c percent.c mbox-util.c mbox-util.h miscellaneous.c \
-       xasprintf.c xreadline.c membuf.c membuf.h ccparray.c \
-       ccparray.h iobuf.c iobuf.h ttyio.c ttyio.h asshelp.c \
-       asshelp2.c asshelp.h exechelp.h signal.c audit.c audit.h \
-       localename.c session-env.c session-env.h userids.c userids.h \
-       openpgp-oid.c ssh-utils.c ssh-utils.h agent-opt.c helpfile.c \
-       mkdir_p.c mkdir_p.h strlist.c strlist.h exectool.c exectool.h \
-       server-help.c server-help.h name-value.c name-value.h recsel.c \
-       recsel.h ksba-io-support.c ksba-io-support.h compliance.c \
+       openpgpdefs.h gc-opt-flags.h sexp-parse.h tlv.c tlv.h init.c \
+       init.h sexputil.c sysutils.c sysutils.h homedir.c gettime.c \
+       gettime.h yesno.c b64enc.c b64dec.c zb32.c zb32.h convert.c \
+       percent.c mbox-util.c mbox-util.h miscellaneous.c xasprintf.c \
+       xreadline.c membuf.c membuf.h ccparray.c ccparray.h iobuf.c \
+       iobuf.h ttyio.c ttyio.h asshelp.c asshelp2.c asshelp.h \
+       exechelp.h signal.c audit.c audit.h localename.c session-env.c \
+       session-env.h userids.c userids.h openpgp-oid.c ssh-utils.c \
+       ssh-utils.h agent-opt.c helpfile.c mkdir_p.c mkdir_p.h \
+       strlist.c strlist.h exectool.c exectool.h server-help.c \
+       server-help.h name-value.c name-value.h recsel.c recsel.h \
+       ksba-io-support.c ksba-io-support.h openpgp-fpr.c compliance.c \
        compliance.h $(am__append_9) $(am__append_10) $(am__append_11) \
        $(am__append_12)
 
@@ -904,7 +920,8 @@ libgpgrl_a_SOURCES = \
 module_tests = t-stringhelp t-timestuff t-convert t-percent t-gettime \
        t-sysutils t-sexputil t-session-env t-openpgp-oid t-ssh-utils \
        t-mapstrings t-zb32 t-mbox-util t-iobuf t-strlist t-name-value \
-       t-ccparray t-recsel $(am__append_13) $(am__append_14)
+       t-ccparray t-recsel t-w32-cmdline $(am__append_13) \
+       $(am__append_14)
 @MAINTAINER_MODE_FALSE@module_maint_tests = 
 @MAINTAINER_MODE_TRUE@module_maint_tests = t-helpfile t-b64
 t_extra_src = t-support.h
@@ -942,6 +959,8 @@ t_strlist_LDADD = $(t_common_ldadd)
 t_name_value_LDADD = $(t_common_ldadd)
 t_ccparray_LDADD = $(t_common_ldadd)
 t_recsel_LDADD = $(t_common_ldadd)
+t_w32_cmdline_SOURCES = t-w32-cmdline.c w32-cmdline.c $(t_extra_src)
+t_w32_cmdline_LDADD = $(t_common_ldadd)
 
 # System specific test
 @HAVE_W32_SYSTEM_TRUE@t_w32_reg_SOURCES = t-w32-reg.c $(t_extra_src)
@@ -1094,6 +1113,10 @@ t-timestuff$(EXEEXT): $(t_timestuff_OBJECTS) $(t_timestuff_DEPENDENCIES) $(EXTRA
        @rm -f t-timestuff$(EXEEXT)
        $(AM_V_CCLD)$(LINK) $(t_timestuff_OBJECTS) $(t_timestuff_LDADD) $(LIBS)
 
+t-w32-cmdline$(EXEEXT): $(t_w32_cmdline_OBJECTS) $(t_w32_cmdline_DEPENDENCIES) $(EXTRA_t_w32_cmdline_DEPENDENCIES) 
+       @rm -f t-w32-cmdline$(EXEEXT)
+       $(AM_V_CCLD)$(LINK) $(t_w32_cmdline_OBJECTS) $(t_w32_cmdline_LDADD) $(LIBS)
+
 t-w32-reg$(EXEEXT): $(t_w32_reg_OBJECTS) $(t_w32_reg_DEPENDENCIES) $(EXTRA_t_w32_reg_DEPENDENCIES) 
        @rm -f t-w32-reg$(EXEEXT)
        $(AM_V_CCLD)$(LINK) $(t_w32_reg_OBJECTS) $(t_w32_reg_LDADD) $(LIBS)
@@ -1141,6 +1164,7 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcommon_a-mischelp.Po@am__quote@ # am--include-marker
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcommon_a-mkdir_p.Po@am__quote@ # am--include-marker
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcommon_a-name-value.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcommon_a-openpgp-fpr.Po@am__quote@ # am--include-marker
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcommon_a-openpgp-oid.Po@am__quote@ # am--include-marker
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcommon_a-percent.Po@am__quote@ # am--include-marker
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcommon_a-recsel.Po@am__quote@ # am--include-marker
@@ -1157,6 +1181,7 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcommon_a-ttyio.Po@am__quote@ # am--include-marker
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcommon_a-userids.Po@am__quote@ # am--include-marker
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcommon_a-utf8conv.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcommon_a-w32-cmdline.Po@am__quote@ # am--include-marker
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcommon_a-w32-reg.Po@am__quote@ # am--include-marker
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcommon_a-xasprintf.Po@am__quote@ # am--include-marker
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcommon_a-xreadline.Po@am__quote@ # am--include-marker
@@ -1194,6 +1219,7 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcommonpth_a-mischelp.Po@am__quote@ # am--include-marker
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcommonpth_a-mkdir_p.Po@am__quote@ # am--include-marker
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcommonpth_a-name-value.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcommonpth_a-openpgp-fpr.Po@am__quote@ # am--include-marker
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcommonpth_a-openpgp-oid.Po@am__quote@ # am--include-marker
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcommonpth_a-percent.Po@am__quote@ # am--include-marker
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcommonpth_a-recsel.Po@am__quote@ # am--include-marker
@@ -1210,6 +1236,7 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcommonpth_a-ttyio.Po@am__quote@ # am--include-marker
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcommonpth_a-userids.Po@am__quote@ # am--include-marker
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcommonpth_a-utf8conv.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcommonpth_a-w32-cmdline.Po@am__quote@ # am--include-marker
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcommonpth_a-w32-reg.Po@am__quote@ # am--include-marker
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcommonpth_a-xasprintf.Po@am__quote@ # am--include-marker
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcommonpth_a-xreadline.Po@am__quote@ # am--include-marker
@@ -1238,8 +1265,10 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t-strlist.Po@am__quote@ # am--include-marker
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t-sysutils.Po@am__quote@ # am--include-marker
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t-timestuff.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t-w32-cmdline.Po@am__quote@ # am--include-marker
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t-w32-reg.Po@am__quote@ # am--include-marker
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t-zb32.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/w32-cmdline.Po@am__quote@ # am--include-marker
 
 $(am__depfiles_remade):
        @$(MKDIR_P) $(@D)
@@ -1919,6 +1948,20 @@ libcommon_a-ksba-io-support.obj: ksba-io-support.c
 @AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_a_CFLAGS) $(CFLAGS) -c -o libcommon_a-ksba-io-support.obj `if test -f 'ksba-io-support.c'; then $(CYGPATH_W) 'ksba-io-support.c'; else $(CYGPATH_W) '$(srcdir)/ksba-io-support.c'; fi`
 
+libcommon_a-openpgp-fpr.o: openpgp-fpr.c
+@am__fastdepCC_TRUE@   $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_a_CFLAGS) $(CFLAGS) -MT libcommon_a-openpgp-fpr.o -MD -MP -MF $(DEPDIR)/libcommon_a-openpgp-fpr.Tpo -c -o libcommon_a-openpgp-fpr.o `test -f 'openpgp-fpr.c' || echo '$(srcdir)/'`openpgp-fpr.c
+@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/libcommon_a-openpgp-fpr.Tpo $(DEPDIR)/libcommon_a-openpgp-fpr.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='openpgp-fpr.c' object='libcommon_a-openpgp-fpr.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_a_CFLAGS) $(CFLAGS) -c -o libcommon_a-openpgp-fpr.o `test -f 'openpgp-fpr.c' || echo '$(srcdir)/'`openpgp-fpr.c
+
+libcommon_a-openpgp-fpr.obj: openpgp-fpr.c
+@am__fastdepCC_TRUE@   $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_a_CFLAGS) $(CFLAGS) -MT libcommon_a-openpgp-fpr.obj -MD -MP -MF $(DEPDIR)/libcommon_a-openpgp-fpr.Tpo -c -o libcommon_a-openpgp-fpr.obj `if test -f 'openpgp-fpr.c'; then $(CYGPATH_W) 'openpgp-fpr.c'; else $(CYGPATH_W) '$(srcdir)/openpgp-fpr.c'; fi`
+@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/libcommon_a-openpgp-fpr.Tpo $(DEPDIR)/libcommon_a-openpgp-fpr.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='openpgp-fpr.c' object='libcommon_a-openpgp-fpr.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_a_CFLAGS) $(CFLAGS) -c -o libcommon_a-openpgp-fpr.obj `if test -f 'openpgp-fpr.c'; then $(CYGPATH_W) 'openpgp-fpr.c'; else $(CYGPATH_W) '$(srcdir)/openpgp-fpr.c'; fi`
+
 libcommon_a-compliance.o: compliance.c
 @am__fastdepCC_TRUE@   $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_a_CFLAGS) $(CFLAGS) -MT libcommon_a-compliance.o -MD -MP -MF $(DEPDIR)/libcommon_a-compliance.Tpo -c -o libcommon_a-compliance.o `test -f 'compliance.c' || echo '$(srcdir)/'`compliance.c
 @am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/libcommon_a-compliance.Tpo $(DEPDIR)/libcommon_a-compliance.Po
@@ -1947,6 +1990,20 @@ libcommon_a-w32-reg.obj: w32-reg.c
 @AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_a_CFLAGS) $(CFLAGS) -c -o libcommon_a-w32-reg.obj `if test -f 'w32-reg.c'; then $(CYGPATH_W) 'w32-reg.c'; else $(CYGPATH_W) '$(srcdir)/w32-reg.c'; fi`
 
+libcommon_a-w32-cmdline.o: w32-cmdline.c
+@am__fastdepCC_TRUE@   $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_a_CFLAGS) $(CFLAGS) -MT libcommon_a-w32-cmdline.o -MD -MP -MF $(DEPDIR)/libcommon_a-w32-cmdline.Tpo -c -o libcommon_a-w32-cmdline.o `test -f 'w32-cmdline.c' || echo '$(srcdir)/'`w32-cmdline.c
+@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/libcommon_a-w32-cmdline.Tpo $(DEPDIR)/libcommon_a-w32-cmdline.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='w32-cmdline.c' object='libcommon_a-w32-cmdline.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_a_CFLAGS) $(CFLAGS) -c -o libcommon_a-w32-cmdline.o `test -f 'w32-cmdline.c' || echo '$(srcdir)/'`w32-cmdline.c
+
+libcommon_a-w32-cmdline.obj: w32-cmdline.c
+@am__fastdepCC_TRUE@   $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_a_CFLAGS) $(CFLAGS) -MT libcommon_a-w32-cmdline.obj -MD -MP -MF $(DEPDIR)/libcommon_a-w32-cmdline.Tpo -c -o libcommon_a-w32-cmdline.obj `if test -f 'w32-cmdline.c'; then $(CYGPATH_W) 'w32-cmdline.c'; else $(CYGPATH_W) '$(srcdir)/w32-cmdline.c'; fi`
+@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/libcommon_a-w32-cmdline.Tpo $(DEPDIR)/libcommon_a-w32-cmdline.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='w32-cmdline.c' object='libcommon_a-w32-cmdline.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_a_CFLAGS) $(CFLAGS) -c -o libcommon_a-w32-cmdline.obj `if test -f 'w32-cmdline.c'; then $(CYGPATH_W) 'w32-cmdline.c'; else $(CYGPATH_W) '$(srcdir)/w32-cmdline.c'; fi`
+
 libcommon_a-exechelp-w32ce.o: exechelp-w32ce.c
 @am__fastdepCC_TRUE@   $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommon_a_CFLAGS) $(CFLAGS) -MT libcommon_a-exechelp-w32ce.o -MD -MP -MF $(DEPDIR)/libcommon_a-exechelp-w32ce.Tpo -c -o libcommon_a-exechelp-w32ce.o `test -f 'exechelp-w32ce.c' || echo '$(srcdir)/'`exechelp-w32ce.c
 @am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/libcommon_a-exechelp-w32ce.Tpo $(DEPDIR)/libcommon_a-exechelp-w32ce.Po
@@ -2661,6 +2718,20 @@ libcommonpth_a-ksba-io-support.obj: ksba-io-support.c
 @AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommonpth_a_CFLAGS) $(CFLAGS) -c -o libcommonpth_a-ksba-io-support.obj `if test -f 'ksba-io-support.c'; then $(CYGPATH_W) 'ksba-io-support.c'; else $(CYGPATH_W) '$(srcdir)/ksba-io-support.c'; fi`
 
+libcommonpth_a-openpgp-fpr.o: openpgp-fpr.c
+@am__fastdepCC_TRUE@   $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommonpth_a_CFLAGS) $(CFLAGS) -MT libcommonpth_a-openpgp-fpr.o -MD -MP -MF $(DEPDIR)/libcommonpth_a-openpgp-fpr.Tpo -c -o libcommonpth_a-openpgp-fpr.o `test -f 'openpgp-fpr.c' || echo '$(srcdir)/'`openpgp-fpr.c
+@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/libcommonpth_a-openpgp-fpr.Tpo $(DEPDIR)/libcommonpth_a-openpgp-fpr.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='openpgp-fpr.c' object='libcommonpth_a-openpgp-fpr.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommonpth_a_CFLAGS) $(CFLAGS) -c -o libcommonpth_a-openpgp-fpr.o `test -f 'openpgp-fpr.c' || echo '$(srcdir)/'`openpgp-fpr.c
+
+libcommonpth_a-openpgp-fpr.obj: openpgp-fpr.c
+@am__fastdepCC_TRUE@   $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommonpth_a_CFLAGS) $(CFLAGS) -MT libcommonpth_a-openpgp-fpr.obj -MD -MP -MF $(DEPDIR)/libcommonpth_a-openpgp-fpr.Tpo -c -o libcommonpth_a-openpgp-fpr.obj `if test -f 'openpgp-fpr.c'; then $(CYGPATH_W) 'openpgp-fpr.c'; else $(CYGPATH_W) '$(srcdir)/openpgp-fpr.c'; fi`
+@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/libcommonpth_a-openpgp-fpr.Tpo $(DEPDIR)/libcommonpth_a-openpgp-fpr.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='openpgp-fpr.c' object='libcommonpth_a-openpgp-fpr.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommonpth_a_CFLAGS) $(CFLAGS) -c -o libcommonpth_a-openpgp-fpr.obj `if test -f 'openpgp-fpr.c'; then $(CYGPATH_W) 'openpgp-fpr.c'; else $(CYGPATH_W) '$(srcdir)/openpgp-fpr.c'; fi`
+
 libcommonpth_a-compliance.o: compliance.c
 @am__fastdepCC_TRUE@   $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommonpth_a_CFLAGS) $(CFLAGS) -MT libcommonpth_a-compliance.o -MD -MP -MF $(DEPDIR)/libcommonpth_a-compliance.Tpo -c -o libcommonpth_a-compliance.o `test -f 'compliance.c' || echo '$(srcdir)/'`compliance.c
 @am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/libcommonpth_a-compliance.Tpo $(DEPDIR)/libcommonpth_a-compliance.Po
@@ -2689,6 +2760,20 @@ libcommonpth_a-w32-reg.obj: w32-reg.c
 @AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommonpth_a_CFLAGS) $(CFLAGS) -c -o libcommonpth_a-w32-reg.obj `if test -f 'w32-reg.c'; then $(CYGPATH_W) 'w32-reg.c'; else $(CYGPATH_W) '$(srcdir)/w32-reg.c'; fi`
 
+libcommonpth_a-w32-cmdline.o: w32-cmdline.c
+@am__fastdepCC_TRUE@   $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommonpth_a_CFLAGS) $(CFLAGS) -MT libcommonpth_a-w32-cmdline.o -MD -MP -MF $(DEPDIR)/libcommonpth_a-w32-cmdline.Tpo -c -o libcommonpth_a-w32-cmdline.o `test -f 'w32-cmdline.c' || echo '$(srcdir)/'`w32-cmdline.c
+@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/libcommonpth_a-w32-cmdline.Tpo $(DEPDIR)/libcommonpth_a-w32-cmdline.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='w32-cmdline.c' object='libcommonpth_a-w32-cmdline.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommonpth_a_CFLAGS) $(CFLAGS) -c -o libcommonpth_a-w32-cmdline.o `test -f 'w32-cmdline.c' || echo '$(srcdir)/'`w32-cmdline.c
+
+libcommonpth_a-w32-cmdline.obj: w32-cmdline.c
+@am__fastdepCC_TRUE@   $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommonpth_a_CFLAGS) $(CFLAGS) -MT libcommonpth_a-w32-cmdline.obj -MD -MP -MF $(DEPDIR)/libcommonpth_a-w32-cmdline.Tpo -c -o libcommonpth_a-w32-cmdline.obj `if test -f 'w32-cmdline.c'; then $(CYGPATH_W) 'w32-cmdline.c'; else $(CYGPATH_W) '$(srcdir)/w32-cmdline.c'; fi`
+@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/libcommonpth_a-w32-cmdline.Tpo $(DEPDIR)/libcommonpth_a-w32-cmdline.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='w32-cmdline.c' object='libcommonpth_a-w32-cmdline.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommonpth_a_CFLAGS) $(CFLAGS) -c -o libcommonpth_a-w32-cmdline.obj `if test -f 'w32-cmdline.c'; then $(CYGPATH_W) 'w32-cmdline.c'; else $(CYGPATH_W) '$(srcdir)/w32-cmdline.c'; fi`
+
 libcommonpth_a-exechelp-w32ce.o: exechelp-w32ce.c
 @am__fastdepCC_TRUE@   $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcommonpth_a_CFLAGS) $(CFLAGS) -MT libcommonpth_a-exechelp-w32ce.o -MD -MP -MF $(DEPDIR)/libcommonpth_a-exechelp-w32ce.Tpo -c -o libcommonpth_a-exechelp-w32ce.o `test -f 'exechelp-w32ce.c' || echo '$(srcdir)/'`exechelp-w32ce.c
 @am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/libcommonpth_a-exechelp-w32ce.Tpo $(DEPDIR)/libcommonpth_a-exechelp-w32ce.Po
@@ -2959,7 +3044,8 @@ all-am: Makefile $(PROGRAMS) $(LIBRARIES)
 installdirs:
 install: $(BUILT_SOURCES)
        $(MAKE) $(AM_MAKEFLAGS) install-am
-install-exec: install-exec-am
+install-exec: $(BUILT_SOURCES)
+       $(MAKE) $(AM_MAKEFLAGS) install-exec-am
 install-data: install-data-am
 uninstall: uninstall-am
 
@@ -3029,6 +3115,7 @@ distclean: distclean-am
        -rm -f ./$(DEPDIR)/libcommon_a-mischelp.Po
        -rm -f ./$(DEPDIR)/libcommon_a-mkdir_p.Po
        -rm -f ./$(DEPDIR)/libcommon_a-name-value.Po
+       -rm -f ./$(DEPDIR)/libcommon_a-openpgp-fpr.Po
        -rm -f ./$(DEPDIR)/libcommon_a-openpgp-oid.Po
        -rm -f ./$(DEPDIR)/libcommon_a-percent.Po
        -rm -f ./$(DEPDIR)/libcommon_a-recsel.Po
@@ -3045,6 +3132,7 @@ distclean: distclean-am
        -rm -f ./$(DEPDIR)/libcommon_a-ttyio.Po
        -rm -f ./$(DEPDIR)/libcommon_a-userids.Po
        -rm -f ./$(DEPDIR)/libcommon_a-utf8conv.Po
+       -rm -f ./$(DEPDIR)/libcommon_a-w32-cmdline.Po
        -rm -f ./$(DEPDIR)/libcommon_a-w32-reg.Po
        -rm -f ./$(DEPDIR)/libcommon_a-xasprintf.Po
        -rm -f ./$(DEPDIR)/libcommon_a-xreadline.Po
@@ -3082,6 +3170,7 @@ distclean: distclean-am
        -rm -f ./$(DEPDIR)/libcommonpth_a-mischelp.Po
        -rm -f ./$(DEPDIR)/libcommonpth_a-mkdir_p.Po
        -rm -f ./$(DEPDIR)/libcommonpth_a-name-value.Po
+       -rm -f ./$(DEPDIR)/libcommonpth_a-openpgp-fpr.Po
        -rm -f ./$(DEPDIR)/libcommonpth_a-openpgp-oid.Po
        -rm -f ./$(DEPDIR)/libcommonpth_a-percent.Po
        -rm -f ./$(DEPDIR)/libcommonpth_a-recsel.Po
@@ -3098,6 +3187,7 @@ distclean: distclean-am
        -rm -f ./$(DEPDIR)/libcommonpth_a-ttyio.Po
        -rm -f ./$(DEPDIR)/libcommonpth_a-userids.Po
        -rm -f ./$(DEPDIR)/libcommonpth_a-utf8conv.Po
+       -rm -f ./$(DEPDIR)/libcommonpth_a-w32-cmdline.Po
        -rm -f ./$(DEPDIR)/libcommonpth_a-w32-reg.Po
        -rm -f ./$(DEPDIR)/libcommonpth_a-xasprintf.Po
        -rm -f ./$(DEPDIR)/libcommonpth_a-xreadline.Po
@@ -3126,8 +3216,10 @@ distclean: distclean-am
        -rm -f ./$(DEPDIR)/t-strlist.Po
        -rm -f ./$(DEPDIR)/t-sysutils.Po
        -rm -f ./$(DEPDIR)/t-timestuff.Po
+       -rm -f ./$(DEPDIR)/t-w32-cmdline.Po
        -rm -f ./$(DEPDIR)/t-w32-reg.Po
        -rm -f ./$(DEPDIR)/t-zb32.Po
+       -rm -f ./$(DEPDIR)/w32-cmdline.Po
        -rm -f Makefile
 distclean-am: clean-am distclean-compile distclean-generic \
        distclean-tags
@@ -3206,6 +3298,7 @@ maintainer-clean: maintainer-clean-am
        -rm -f ./$(DEPDIR)/libcommon_a-mischelp.Po
        -rm -f ./$(DEPDIR)/libcommon_a-mkdir_p.Po
        -rm -f ./$(DEPDIR)/libcommon_a-name-value.Po
+       -rm -f ./$(DEPDIR)/libcommon_a-openpgp-fpr.Po
        -rm -f ./$(DEPDIR)/libcommon_a-openpgp-oid.Po
        -rm -f ./$(DEPDIR)/libcommon_a-percent.Po
        -rm -f ./$(DEPDIR)/libcommon_a-recsel.Po
@@ -3222,6 +3315,7 @@ maintainer-clean: maintainer-clean-am
        -rm -f ./$(DEPDIR)/libcommon_a-ttyio.Po
        -rm -f ./$(DEPDIR)/libcommon_a-userids.Po
        -rm -f ./$(DEPDIR)/libcommon_a-utf8conv.Po
+       -rm -f ./$(DEPDIR)/libcommon_a-w32-cmdline.Po
        -rm -f ./$(DEPDIR)/libcommon_a-w32-reg.Po
        -rm -f ./$(DEPDIR)/libcommon_a-xasprintf.Po
        -rm -f ./$(DEPDIR)/libcommon_a-xreadline.Po
@@ -3259,6 +3353,7 @@ maintainer-clean: maintainer-clean-am
        -rm -f ./$(DEPDIR)/libcommonpth_a-mischelp.Po
        -rm -f ./$(DEPDIR)/libcommonpth_a-mkdir_p.Po
        -rm -f ./$(DEPDIR)/libcommonpth_a-name-value.Po
+       -rm -f ./$(DEPDIR)/libcommonpth_a-openpgp-fpr.Po
        -rm -f ./$(DEPDIR)/libcommonpth_a-openpgp-oid.Po
        -rm -f ./$(DEPDIR)/libcommonpth_a-percent.Po
        -rm -f ./$(DEPDIR)/libcommonpth_a-recsel.Po
@@ -3275,6 +3370,7 @@ maintainer-clean: maintainer-clean-am
        -rm -f ./$(DEPDIR)/libcommonpth_a-ttyio.Po
        -rm -f ./$(DEPDIR)/libcommonpth_a-userids.Po
        -rm -f ./$(DEPDIR)/libcommonpth_a-utf8conv.Po
+       -rm -f ./$(DEPDIR)/libcommonpth_a-w32-cmdline.Po
        -rm -f ./$(DEPDIR)/libcommonpth_a-w32-reg.Po
        -rm -f ./$(DEPDIR)/libcommonpth_a-xasprintf.Po
        -rm -f ./$(DEPDIR)/libcommonpth_a-xreadline.Po
@@ -3303,8 +3399,10 @@ maintainer-clean: maintainer-clean-am
        -rm -f ./$(DEPDIR)/t-strlist.Po
        -rm -f ./$(DEPDIR)/t-sysutils.Po
        -rm -f ./$(DEPDIR)/t-timestuff.Po
+       -rm -f ./$(DEPDIR)/t-w32-cmdline.Po
        -rm -f ./$(DEPDIR)/t-w32-reg.Po
        -rm -f ./$(DEPDIR)/t-zb32.Po
+       -rm -f ./$(DEPDIR)/w32-cmdline.Po
        -rm -f Makefile
 maintainer-clean-am: distclean-am maintainer-clean-generic
 
@@ -3322,7 +3420,8 @@ ps-am:
 
 uninstall-am:
 
-.MAKE: all check check-am install install-am install-strip
+.MAKE: all check check-am install install-am install-exec \
+       install-strip
 
 .PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-TESTS \
        check-am clean clean-generic clean-noinstLIBRARIES \
index e77b1af..1cda1ec 100644 (file)
 static int initialized;
 static int module;
 
+
+/* Return the address of a compliance cache variable for COMPLIANCE.
+ * If no such variable exists NULL is returned.  FOR_RNG returns the
+ * cache variable for the RNG compliance check. */
+static int *
+get_compliance_cache (enum gnupg_compliance_mode compliance, int for_rng)
+{
+  static int r_gnupg   = -1, s_gnupg   = -1;
+  static int r_rfc4880 = -1, s_rfc4880 = -1;
+  static int r_rfc2440 = -1, s_rfc2440 = -1;
+  static int r_pgp6    = -1, s_pgp6    = -1;
+  static int r_pgp7    = -1, s_pgp7    = -1;
+  static int r_pgp8    = -1, s_pgp8    = -1;
+  static int r_de_vs   = -1, s_de_vs   = -1;
+
+  int *ptr = NULL;
+
+  switch (compliance)
+    {
+    case CO_GNUPG:   ptr = for_rng? &r_gnupg   : &s_gnupg  ; break;
+    case CO_RFC4880: ptr = for_rng? &r_rfc4880 : &s_rfc4880; break;
+    case CO_RFC2440: ptr = for_rng? &r_rfc2440 : &s_rfc2440; break;
+    case CO_PGP6:    ptr = for_rng? &r_pgp6    : &s_pgp6   ; break;
+    case CO_PGP7:    ptr = for_rng? &r_pgp7    : &s_pgp7   ; break;
+    case CO_PGP8:    ptr = for_rng? &r_pgp8    : &s_pgp8   ; break;
+    case CO_DE_VS:   ptr = for_rng? &r_de_vs   : &s_de_vs  ; break;
+    }
+
+  return ptr;
+}
+
+
 /* Initializes the module.  Must be called with the current
  * GNUPG_MODULE_NAME.  Checks a few invariants, and tunes the policies
  * for the given module.  */
@@ -386,7 +418,8 @@ gnupg_cipher_is_allowed (enum gnupg_compliance_mode compliance, int producer,
                       || mode == GCRY_CIPHER_MODE_CFB);
            case GNUPG_MODULE_NAME_GPGSM:
              return (mode == GCRY_CIPHER_MODE_NONE
-                      || mode == GCRY_CIPHER_MODE_CBC);
+                      || mode == GCRY_CIPHER_MODE_CBC
+                      || (mode == GCRY_CIPHER_MODE_GCM && !producer));
            }
          log_assert (!"reached");
 
@@ -490,34 +523,94 @@ gnupg_digest_is_allowed (enum gnupg_compliance_mode compliance, int producer,
 int
 gnupg_rng_is_compliant (enum gnupg_compliance_mode compliance)
 {
-  static int result = -1;
+  int *result;
+  int res;
 
-  if (result != -1)
-    ; /* Use cached result.  */
+  result = get_compliance_cache (compliance, 1);
+
+  if (result && *result != -1)
+    res = *result; /* Use cached result.  */
   else if (compliance == CO_DE_VS)
     {
-      /* In DE_VS mode under Windows we require that the JENT RNG
-       * is active.  */
+      /* We also check whether the library is at all compliant.  */
+      res = gnupg_gcrypt_is_compliant (compliance);
+
+      /* In DE_VS mode under Windows we also require that the JENT RNG
+       * is active.  Check it here. */
 #ifdef HAVE_W32_SYSTEM
-      char *buf;
-      char *fields[5];
-
-      buf = gcry_get_config (0, "rng-type");
-      if (buf
-          && split_fields_colon (buf, fields, DIM (fields)) >= 5
-          && atoi (fields[4]) > 0)
-        result = 1;
+      if (res == 1)
+        {
+          char *buf;
+          char *fields[5];
+
+          buf = gcry_get_config (0, "rng-type");
+          if (buf
+              && split_fields_colon (buf, fields, DIM (fields)) >= 5
+              && atoi (fields[4]) > 0)
+            ; /* Field 5 > 0 := Jent is active.  */
+          else
+            result = 0;  /* Force non-compliance.  */
+          gcry_free (buf);
+        }
+#endif /*HAVE_W32_SYSTEM*/
+    }
+  else
+    res = 1;
+
+  if (result)
+    *result = res;
+
+  return res;
+}
+
+
+/* Return true if the used Libgcrypt is compliant in COMPLIANCE
+ * mode.  */
+int
+gnupg_gcrypt_is_compliant (enum gnupg_compliance_mode compliance)
+{
+  int *result;
+  int res;
+
+  result = get_compliance_cache (compliance, 0);
+
+  if (result && *result != -1)
+    res = *result; /* Use cached result.  */
+  else if (compliance == CO_DE_VS)
+    {
+      int is19orlater = !!gcry_check_version ("1.9.0");
+
+      /* A compliant version of GnuPG requires Libgcrypt >= 1.8.1 and
+       * less than 1.9.0.  Version 1.9.0 requires a re-evaluation and
+       * can thus not be used for de-vs.  */
+      if (gcry_check_version ("1.8.1") && !is19orlater)
+        res = 1;  /* Compliant version of Libgcrypt.  */
+      else if (is19orlater)
+        {
+          /* Libgcrypt might be nice enough to tell us whether it is
+           * compliant.  */
+          char *buf;
+          char *fields[3];
+
+          buf = gcry_get_config (0, "compliance");
+          if (buf
+              && split_fields_colon (buf, fields, DIM (fields)) >= 2
+              && strstr (fields[1], "de-vs"))
+            res = 1;  /* Compliant.  */
+          else
+            res = 0;  /* Non-compliant.  */
+          gcry_free (buf);
+        }
       else
-        result = 0;
-      gcry_free (buf);
-#else /*!HAVE_W32_SYSTEM*/
-      result = 1;  /* Not Windows - RNG is good.  */
-#endif /*!HAVE_W32_SYSTEM*/
+        res = 0;  /* Non-compliant version of Libgcrypt.  */
     }
   else
-    result = 1;
+    res = 1;
 
-  return result;
+  if (result)
+    *result = res;
+
+  return res;
 }
 
 
index 21bd230..20b562e 100644 (file)
@@ -73,6 +73,7 @@ int gnupg_digest_is_allowed (enum gnupg_compliance_mode compliance,
                              int producer,
                              digest_algo_t digest);
 int gnupg_rng_is_compliant (enum gnupg_compliance_mode compliance);
+int gnupg_gcrypt_is_compliant (enum gnupg_compliance_mode compliance);
 
 const char *gnupg_status_compliance_flag (enum gnupg_compliance_mode
                                           compliance);
index da3f09e..4320c54 100644 (file)
@@ -1012,6 +1012,14 @@ dotlock_destroy (dotlock_t h)
 }
 
 
+/* Return true if H has been taken.  */
+int
+dotlock_is_locked (dotlock_t h)
+{
+  return h && !!h->locked;
+}
+
+
 \f
 #ifdef HAVE_POSIX_SYSTEM
 /* Unix specific code of make_dotlock.  Returns 0 on success and -1 on
@@ -1250,11 +1258,14 @@ dotlock_take (dotlock_t h, long timeout)
   int ret;
 
   if ( h->disable )
-    return 0; /* Locks are completely disabled.  Return success. */
+    {
+      h->locked = 1;
+      return 0; /* Locks are completely disabled.  Return success. */
+    }
 
   if ( h->locked )
     {
-      my_debug_1 ("Oops, '%s' is already locked\n", h->lockname);
+      /* my_debug_1 ("'%s' is already locked (%s)\n", h->lockname); */
       return 0;
     }
 
@@ -1346,11 +1357,14 @@ dotlock_release (dotlock_t h)
     return 0;
 
   if ( h->disable )
-    return 0;
+    {
+      h->locked = 0;
+      return 0;
+    }
 
   if ( !h->locked )
     {
-      my_debug_1 ("Oops, '%s' is not locked\n", h->lockname);
+      /* my_debug_1 ("Oops, '%s' is not locked (%s)\n", h->lockname); */
       return 0;
     }
 
index 03131bb..9869739 100644 (file)
@@ -102,6 +102,7 @@ dotlock_t dotlock_create (const char *file_to_lock, unsigned int flags);
 void dotlock_set_fd (dotlock_t h, int fd);
 int  dotlock_get_fd (dotlock_t h);
 void dotlock_destroy (dotlock_t h);
+int dotlock_is_locked (dotlock_t h);
 int dotlock_take (dotlock_t h, long timeout);
 int dotlock_release (dotlock_t h);
 void dotlock_remove_lockfiles (void);
index 0782152..347a11b 100644 (file)
@@ -722,8 +722,13 @@ gnupg_wait_processes (const char **pgmnames, pid_t *pids, size_t count,
     {
       int status = -1;
 
+      /* Skip invalid PID.  */
       if (pids[i] == (pid_t)(-1))
-        return my_error (GPG_ERR_INV_VALUE);
+        {
+          r_exitcodes[i] = -1;
+          left -= 1;
+          continue;
+        }
 
       /* See if there was a previously stored result for this pid.  */
       if (get_result (pids[i], &status))
index 7bd9d22..08e4d3a 100644 (file)
@@ -414,9 +414,11 @@ gnupg_spawn_process (const char *pgmname, const char *argv[],
       0,         /* Returns pid.  */
       0          /* Returns tid.  */
     };
-  STARTUPINFO si;
+  STARTUPINFOW si;
   int cr_flags;
   char *cmdline;
+  wchar_t *wcmdline = NULL;
+  wchar_t *wpgmname = NULL;
   HANDLE inpipe[2]  = {INVALID_HANDLE_VALUE, INVALID_HANDLE_VALUE};
   HANDLE outpipe[2] = {INVALID_HANDLE_VALUE, INVALID_HANDLE_VALUE};
   HANDLE errpipe[2] = {INVALID_HANDLE_VALUE, INVALID_HANDLE_VALUE};
@@ -426,7 +428,7 @@ gnupg_spawn_process (const char *pgmname, const char *argv[],
   HANDLE nullhd[3] = {INVALID_HANDLE_VALUE,
                       INVALID_HANDLE_VALUE,
                       INVALID_HANDLE_VALUE};
-  int i;
+  int i, rc;
   es_syshd_t syshd;
   gpg_err_source_t errsource = default_errsource;
   int nonblock = !!(flags & GNUPG_SPAWN_NONBLOCK);
@@ -564,20 +566,34 @@ gnupg_spawn_process (const char *pgmname, const char *argv[],
               | ((flags & GNUPG_SPAWN_DETACHED)? DETACHED_PROCESS : 0)
               | GetPriorityClass (GetCurrentProcess ())
               | CREATE_SUSPENDED);
-/*   log_debug ("CreateProcess, path='%s' cmdline='%s'\n", pgmname, cmdline); */
-  if (!CreateProcess (pgmname,       /* Program to start.  */
-                      cmdline,       /* Command line arguments.  */
-                      &sec_attr,     /* Process security attributes.  */
-                      &sec_attr,     /* Thread security attributes.  */
-                      TRUE,          /* Inherit handles.  */
-                      cr_flags,      /* Creation flags.  */
-                      NULL,          /* Environment.  */
-                      NULL,          /* Use current drive/directory.  */
-                      &si,           /* Startup information. */
-                      &pi            /* Returns process information.  */
-                      ))
+  /*   log_debug ("CreateProcess, path='%s' cmdline='%s'\n", */
+  /*              pgmname, cmdline); */
+  /* Take care: CreateProcessW may modify wpgmname */
+  if (!(wpgmname = utf8_to_wchar (pgmname)))
+    rc = 0;
+  else if (!(wcmdline = utf8_to_wchar (cmdline)))
+    rc = 0;
+  else
+    rc = CreateProcessW (wpgmname,      /* Program to start.  */
+                         wcmdline,      /* Command line arguments.  */
+                         &sec_attr,     /* Process security attributes.  */
+                         &sec_attr,     /* Thread security attributes.  */
+                         TRUE,          /* Inherit handles.  */
+                         cr_flags,      /* Creation flags.  */
+                         NULL,          /* Environment.  */
+                         NULL,          /* Use current drive/directory.  */
+                         &si,           /* Startup information. */
+                         &pi            /* Returns process information.  */
+                         );
+  if (!rc)
     {
-      log_error ("CreateProcess failed: %s\n", w32_strerror (-1));
+      if (!wpgmname || !wcmdline)
+        log_error ("CreateProcess failed (utf8_to_wchar): %s\n",
+                   strerror (errno));
+      else
+        log_error ("CreateProcess failed: %s\n", w32_strerror (-1));
+      xfree (wpgmname);
+      xfree (wcmdline);
       xfree (cmdline);
       if (infp)
         es_fclose (infp);
@@ -599,6 +615,8 @@ gnupg_spawn_process (const char *pgmname, const char *argv[],
         CloseHandle (errpipe[1]);
       return gpg_err_make (errsource, GPG_ERR_GENERAL);
     }
+  xfree (wpgmname);
+  xfree (wcmdline);
   xfree (cmdline);
   cmdline = NULL;
 
@@ -660,9 +678,11 @@ gnupg_spawn_process_fd (const char *pgmname, const char *argv[],
   gpg_error_t err;
   SECURITY_ATTRIBUTES sec_attr;
   PROCESS_INFORMATION pi = { NULL, 0, 0, 0 };
-  STARTUPINFO si;
+  STARTUPINFOW si;
   char *cmdline;
-  int i;
+  wchar_t *wcmdline = NULL;
+  wchar_t *wpgmname = NULL;
+  int i, rc;
   HANDLE stdhd[3];
 
   /* Setup return values.  */
@@ -690,25 +710,38 @@ gnupg_spawn_process_fd (const char *pgmname, const char *argv[],
   si.hStdError  = errfd == -1? stdhd[2] : (void*)_get_osfhandle (errfd);
 
 /*   log_debug ("CreateProcess, path='%s' cmdline='%s'\n", pgmname, cmdline); */
-  if (!CreateProcess (pgmname,       /* Program to start.  */
-                      cmdline,       /* Command line arguments.  */
-                      &sec_attr,     /* Process security attributes.  */
-                      &sec_attr,     /* Thread security attributes.  */
-                      TRUE,          /* Inherit handles.  */
-                      (CREATE_DEFAULT_ERROR_MODE
-                       | GetPriorityClass (GetCurrentProcess ())
-                       | CREATE_SUSPENDED | DETACHED_PROCESS),
-                      NULL,          /* Environment.  */
-                      NULL,          /* Use current drive/directory.  */
-                      &si,           /* Startup information. */
-                      &pi            /* Returns process information.  */
-                      ))
+  /* Take care: CreateProcessW may modify wpgmname */
+  if (!(wpgmname = utf8_to_wchar (pgmname)))
+    rc = 0;
+  else if (!(wcmdline = utf8_to_wchar (cmdline)))
+    rc = 0;
+  else
+    rc = CreateProcessW (wpgmname,      /* Program to start.  */
+                         wcmdline,      /* Command line arguments.  */
+                         &sec_attr,     /* Process security attributes.  */
+                         &sec_attr,     /* Thread security attributes.  */
+                         TRUE,          /* Inherit handles.  */
+                         (CREATE_DEFAULT_ERROR_MODE
+                          | GetPriorityClass (GetCurrentProcess ())
+                          | CREATE_SUSPENDED | DETACHED_PROCESS),
+                         NULL,          /* Environment.  */
+                         NULL,          /* Use current drive/directory.  */
+                         &si,           /* Startup information. */
+                         &pi            /* Returns process information.  */
+                         );
+  if (!rc)
     {
-      log_error ("CreateProcess failed: %s\n", w32_strerror (-1));
+      if (!wpgmname || !wcmdline)
+        log_error ("CreateProcess failed (utf8_to_wchar): %s\n",
+                   strerror (errno));
+      else
+        log_error ("CreateProcess failed: %s\n", w32_strerror (-1));
       err = my_error (GPG_ERR_GENERAL);
     }
   else
     err = 0;
+  xfree (wpgmname);
+  xfree (wcmdline);
   xfree (cmdline);
   for (i=0; i < 3; i++)
     if (stdhd[i] != INVALID_HANDLE_VALUE)
@@ -852,10 +885,14 @@ gnupg_spawn_process_detached (const char *pgmname, const char *argv[],
       0,         /* Returns pid.  */
       0          /* Returns tid.  */
     };
-  STARTUPINFO si;
+  STARTUPINFOW si;
   int cr_flags;
   char *cmdline;
+  wchar_t *wcmdline = NULL;
+  wchar_t *wpgmname = NULL;
+  BOOL in_job = FALSE;
   gpg_err_code_t ec;
+  int rc;
 
   /* We don't use ENVP.  */
   (void)envp;
@@ -883,24 +920,83 @@ gnupg_spawn_process_detached (const char *pgmname, const char *argv[],
               | GetPriorityClass (GetCurrentProcess ())
               | CREATE_NEW_PROCESS_GROUP
               | DETACHED_PROCESS);
-/*   log_debug ("CreateProcess(detached), path='%s' cmdline='%s'\n", */
-/*              pgmname, cmdline); */
-  if (!CreateProcess (pgmname,       /* Program to start.  */
-                      cmdline,       /* Command line arguments.  */
-                      &sec_attr,     /* Process security attributes.  */
-                      &sec_attr,     /* Thread security attributes.  */
-                      FALSE,         /* Inherit handles.  */
-                      cr_flags,      /* Creation flags.  */
-                      NULL,          /* Environment.  */
-                      NULL,          /* Use current drive/directory.  */
-                      &si,           /* Startup information. */
-                      &pi            /* Returns process information.  */
-                      ))
+
+  /* Check if we were spawned as part of a Job.
+   * In a job we need to add CREATE_BREAKAWAY_FROM_JOB
+   * to the cr_flags, otherwise our child processes
+   * are killed when we terminate. */
+  if (!IsProcessInJob (GetCurrentProcess(), NULL, &in_job))
     {
-      log_error ("CreateProcess(detached) failed: %s\n", w32_strerror (-1));
+      log_error ("IsProcessInJob() failed: %s\n", w32_strerror (-1));
+      in_job = FALSE;
+    }
+
+  if (in_job)
+    {
+      /* Only try to break away from job if it is allowed, otherwise
+       * CreateProcess() would fail with an "Access is denied" error. */
+      JOBOBJECT_EXTENDED_LIMIT_INFORMATION info;
+      if (!QueryInformationJobObject (NULL, JobObjectExtendedLimitInformation,
+                                      &info, sizeof info, NULL))
+        {
+          log_error ("QueryInformationJobObject() failed: %s\n",
+                     w32_strerror (-1));
+        }
+      else if ((info.BasicLimitInformation.LimitFlags &
+                JOB_OBJECT_LIMIT_BREAKAWAY_OK))
+        {
+          log_debug ("Using CREATE_BREAKAWAY_FROM_JOB flag\n");
+          cr_flags |= CREATE_BREAKAWAY_FROM_JOB;
+        }
+      else if ((info.BasicLimitInformation.LimitFlags &
+                JOB_OBJECT_LIMIT_SILENT_BREAKAWAY_OK))
+        {
+          /* The child process should automatically detach from the job. */
+          log_debug ("Not using CREATE_BREAKAWAY_FROM_JOB flag; "
+                     "JOB_OBJECT_LIMIT_SILENT_BREAKAWAY_OK is set\n");
+        }
+      else
+        {
+          /* It seems that the child process must remain in the job.
+           * This is not necessarily an error, although it can cause premature
+           * termination of the child process when the job is closed. */
+          log_debug ("Not using CREATE_BREAKAWAY_FROM_JOB flag\n");
+        }
+    }
+
+  /*   log_debug ("CreateProcess(detached), path='%s' cmdline='%s'\n", */
+  /*              pgmname, cmdline); */
+  /* Take care: CreateProcessW may modify wpgmname */
+  if (!(wpgmname = utf8_to_wchar (pgmname)))
+    rc = 0;
+  else if (!(wcmdline = utf8_to_wchar (cmdline)))
+    rc = 0;
+  else
+    rc = CreateProcessW (wpgmname,      /* Program to start.  */
+                         wcmdline,      /* Command line arguments.  */
+                         &sec_attr,     /* Process security attributes.  */
+                         &sec_attr,     /* Thread security attributes.  */
+                         FALSE,         /* Inherit handles.  */
+                         cr_flags,      /* Creation flags.  */
+                         NULL,          /* Environment.  */
+                         NULL,          /* Use current drive/directory.  */
+                         &si,           /* Startup information. */
+                         &pi            /* Returns process information.  */
+                         );
+  if (!rc)
+    {
+      if (!wpgmname || !wcmdline)
+        log_error ("CreateProcess failed (utf8_to_wchar): %s\n",
+                   strerror (errno));
+      else
+        log_error ("CreateProcess(detached) failed: %s\n", w32_strerror (-1));
+      xfree (wpgmname);
+      xfree (wcmdline);
       xfree (cmdline);
       return my_error (GPG_ERR_GENERAL);
     }
+  xfree (wpgmname);
+  xfree (wcmdline);
   xfree (cmdline);
   cmdline = NULL;
 
index bcd0236..0a12b25 100644 (file)
@@ -42,6 +42,7 @@
 #include <gcrypt.h>
 #include "util.h"
 #include "i18n.h"
+#include "w32help.h"
 
 /* This object is used to register memory cleanup functions.
    Technically they are not needed but they can avoid frequent
@@ -79,6 +80,11 @@ sleep_on_exit (void)
 }
 #endif /*HAVE_W32CE_SYSTEM*/
 
+#if HAVE_W32_SYSTEM
+static void prepare_w32_commandline (int *argcp, char ***argvp);
+#endif /*HAVE_W32_SYSTEM*/
+
+
 
 static void
 run_mem_cleanup (void)
@@ -190,13 +196,21 @@ _init_common_subsystems (gpg_err_source_t errsource, int *argcp, char ***argvp)
   gpgrt_init ();
   gpgrt_set_alloc_func (gcry_realloc);
 
+#ifdef HAVE_W32CE_SYSTEM
   /* Special hack for Windows CE: We extract some options from arg
      to setup the standard handles.  */
-#ifdef HAVE_W32CE_SYSTEM
   parse_std_file_handles (argcp, argvp);
-#else
-  (void)argcp;
-  (void)argvp;
+#endif
+
+#ifdef HAVE_W32_SYSTEM
+  /* We want gettext to always output UTF-8 and we put the console in
+   * utf-8 mode.  */
+  gettext_use_utf8 (1);
+  if (!SetConsoleCP (CP_UTF8) || !SetConsoleOutputCP (CP_UTF8))
+    {
+      log_info ("SetConsoleCP failed: %s\n", w32_strerror (-1));
+      log_info ("Warning: Garbled console data possible\n");
+    }
 #endif
 
   /* Access the standard estreams as early as possible.  If we don't
@@ -217,6 +231,16 @@ _init_common_subsystems (gpg_err_source_t errsource, int *argcp, char ***argvp)
 
   /* Logging shall use the standard socket directory as fallback.  */
   log_set_socket_dir_cb (gnupg_socketdir);
+
+#if HAVE_W32_SYSTEM
+  /* For Standard Windows we use our own parser for the command line
+   * so that we can return an array of utf-8 encoded strings.  */
+  prepare_w32_commandline (argcp, argvp);
+#else
+  (void)argcp;
+  (void)argvp;
+#endif
+
 }
 
 
@@ -290,3 +314,65 @@ parse_std_file_handles (int *argcp, char ***argvp)
 
 }
 #endif /*HAVE_W32CE_SYSTEM*/
+
+
+/* For Windows we need to parse the command line so that we can
+ * provide an UTF-8 encoded argv.  If there is any Unicode character
+ * we return a new array but if there is no Unicode character we do
+ * nothing.  */
+#ifdef HAVE_W32_SYSTEM
+static void
+prepare_w32_commandline (int *r_argc, char ***r_argv)
+{
+  const wchar_t *wcmdline, *ws;
+  char *cmdline;
+  int argc;
+  char **argv;
+  const char *s;
+  int i, globing, itemsalloced;
+
+  s = strusage (95);
+  globing = (s && *s == '1');
+
+  wcmdline = GetCommandLineW ();
+  if (!wcmdline)
+    {
+      log_error ("GetCommandLineW failed\n");
+      return;  /* Ooops.  */
+    }
+
+  if (!globing)
+    {
+      /* If globbing is not enabled we use our own parser only if
+       * there are any non-ASCII characters.  */
+      for (ws=wcmdline; *ws; ws++)
+        if (!iswascii (*ws))
+          break;
+      if (!*ws)
+        return;  /* No Unicode - return directly.  */
+    }
+
+  cmdline = wchar_to_utf8 (wcmdline);
+  if (!cmdline)
+    {
+      log_error ("parsing command line failed: %s\n", strerror (errno));
+      return;  /* Ooops.  */
+    }
+  gpgrt_annotate_leaked_object (cmdline);
+
+  argv = w32_parse_commandline (cmdline, globing, &argc, &itemsalloced);
+  if (!argv)
+    {
+      log_error ("parsing command line failed: %s\n", "internal error");
+      return;  /* Ooops.  */
+    }
+  gpgrt_annotate_leaked_object (argv);
+  if (itemsalloced)
+    {
+      for (i=0; i < argc; i++)
+        gpgrt_annotate_leaked_object (argv[i]);
+    }
+  *r_argv = argv;
+  *r_argc = argc;
+}
+#endif /*HAVE_W32_SYSTEM*/
diff --git a/common/keyserver.h b/common/keyserver.h
deleted file mode 100644 (file)
index 850798e..0000000
+++ /dev/null
@@ -1,73 +0,0 @@
-/* keyserver.h - Public definitions for gpg keyserver helpers.
- * Copyright (C) 2001, 2002, 2011 Free Software Foundation, Inc.
- *
- * This file is part of GnuPG.
- *
- * This file is free software; you can redistribute it and/or modify
- * it under the terms of either
- *
- *   - the GNU Lesser General Public License as published by the Free
- *     Software Foundation; either version 3 of the License, or (at
- *     your option) any later version.
- *
- * or
- *
- *   - the GNU General Public License as published by the Free
- *     Software Foundation; either version 2 of the License, or (at
- *     your option) any later version.
- *
- * or both in parallel, as here.
- *
- * This file is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, see <https://www.gnu.org/licenses/>.
- */
-
-#ifndef GNUPG_COMMON_KEYSERVER_H
-#define GNUPG_COMMON_KEYSERVER_H
-
-#define KEYSERVER_PROTO_VERSION    1
-
-/* These are usable for return codes for the gpgkeys_ process, and
-   also KEY FAILED codes. */
-#define KEYSERVER_OK               0 /* not an error */
-#define KEYSERVER_INTERNAL_ERROR   1 /* gpgkeys_ internal error */
-#define KEYSERVER_NOT_SUPPORTED    2 /* operation not supported */
-#define KEYSERVER_VERSION_ERROR    3 /* VERSION mismatch */
-#define KEYSERVER_GENERAL_ERROR    4 /* keyserver internal error */
-#define KEYSERVER_NO_MEMORY        5 /* out of memory */
-#define KEYSERVER_KEY_NOT_FOUND    6 /* key not found */
-#define KEYSERVER_KEY_EXISTS       7 /* key already exists */
-#define KEYSERVER_KEY_INCOMPLETE   8 /* key incomplete (EOF) */
-#define KEYSERVER_UNREACHABLE      9 /* unable to contact keyserver */
-
-/* Must be 127 due to shell internal magic. */
-#define KEYSERVER_SCHEME_NOT_FOUND 127
-
-/* Object to hold information pertaining to a keyserver; it also
-   allows building a list of keyservers.  Note that g10/options.h has
-   a typedef for this.  FIXME: We should make use of the
-   parse_uri_t. */
-struct keyserver_spec
-{
-  struct keyserver_spec *next;
-  char *uri;
-  char *scheme;
-  char *auth;
-  char *host;
-  char *port;
-  char *path;
-  char *opaque;
-  strlist_t options;
-  struct
-  {
-    unsigned int direct_uri:1;
-  } flags;
-};
-
-
-#endif /*GNUPG_COMMON_KEYSERVER_H*/
index 0129f1b..f97396b 100644 (file)
@@ -690,6 +690,7 @@ do_nvc_parse (nvc_t *result, int *errlinep, estream_t stream,
       if (raw_value)
        {
          err = _nvc_add (*result, name, NULL, raw_value, 1);
+          name = NULL;
          if (err)
            goto leave;
        }
diff --git a/common/openpgp-fpr.c b/common/openpgp-fpr.c
new file mode 100644 (file)
index 0000000..7b11008
--- /dev/null
@@ -0,0 +1,283 @@
+/* openpgp-fpr.c - OpenPGP Fingerprint computation
+ * Copyright (C) 2021 g10 Code GmbH
+ *
+ * This file is part of GnuPG.
+ *
+ * This file is free software; you can redistribute it and/or modify
+ * it under the terms of either
+ *
+ *   - the GNU Lesser General Public License as published by the Free
+ *     Software Foundation; either version 3 of the License, or (at
+ *     your option) any later version.
+ *
+ * or
+ *
+ *   - the GNU General Public License as published by the Free
+ *     Software Foundation; either version 2 of the License, or (at
+ *     your option) any later version.
+ *
+ * or both in parallel, as here.
+ *
+ * This file is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, see <https://www.gnu.org/licenses/>.
+ * SPDX-License-Identifier: (LGPL-3.0-or-later OR GPL-2.0-or-later)
+ */
+
+#include <config.h>
+#include <stdlib.h>
+#include <errno.h>
+#include <ctype.h>
+
+#include "util.h"
+#include "openpgpdefs.h"
+
+/* Count the number of bits, assuming the A represents an unsigned big
+ * integer of length LEN bytes. */
+static unsigned int
+count_bits (const unsigned char *a, size_t len)
+{
+  unsigned int n = len * 8;
+  int i;
+
+  for (; len && !*a; len--, a++, n -=8)
+    ;
+  if (len)
+    {
+      for (i=7; i && !(*a & (1<<i)); i--)
+        n--;
+    }
+  return n;
+}
+
+/* Variant of count_bits for simple octet strings.  */
+static unsigned int
+count_sos_bits (const unsigned char *a, size_t len)
+{
+  unsigned int n = len * 8;
+  int i;
+
+  if (len == 0 || *a == 0)
+    return n;
+
+  for (i=7; i && !(*a & (1<<i)); i--)
+    n--;
+
+  return n;
+}
+
+
+gpg_error_t
+compute_openpgp_fpr (int keyversion, int pgpalgo, unsigned long timestamp,
+                     gcry_buffer_t *iov, int iovcnt,
+                     unsigned char *result, unsigned int *r_resultlen)
+{
+  gpg_error_t err;
+  int hashalgo;
+  unsigned char prefix[15];
+  size_t n;
+  int i;
+
+  if (r_resultlen)
+    *r_resultlen = 0;
+
+  if (iovcnt < 2)
+    return gpg_error (GPG_ERR_INV_ARG);
+
+  /* Note that iov[0] is reserved.  */
+  for (n=0, i=1; i < iovcnt; i++)
+    n += iov[i].len;
+
+  i = 0;
+  if (keyversion == 5)
+    {
+      hashalgo = GCRY_MD_SHA256;
+      n += 10; /* Add the prefix length.  */
+      prefix[i++] = 0x9a;
+      prefix[i++] = (n >> 24);
+      prefix[i++] = (n >> 16);
+    }
+  else if (keyversion == 4)
+    {
+      hashalgo = GCRY_MD_SHA1;
+      n += 6;  /* Add the prefix length.  */
+      prefix[i++] = 0x99;
+    }
+  else
+    return gpg_error (GPG_ERR_UNKNOWN_VERSION);
+
+  prefix[i++] = (n >> 8);
+  prefix[i++] = n;
+  prefix[i++] = keyversion;
+  prefix[i++] = (timestamp >> 24);
+  prefix[i++] = (timestamp >> 16);
+  prefix[i++] = (timestamp >>  8);
+  prefix[i++] = (timestamp);
+  prefix[i++] = pgpalgo;
+  if (keyversion == 5)
+    {
+      prefix[i++] = ((n-10) >> 24);
+      prefix[i++] = ((n-10) >> 16);
+      prefix[i++] = ((n-10) >>  8);
+      prefix[i++] = (n-10);
+    }
+  log_assert (i <= sizeof prefix);
+  /* The first element is reserved for our use; set it.  */
+  iov[0].size = 0;
+  iov[0].off = 0;
+  iov[0].len = i;
+  iov[0].data = prefix;
+
+  /* for (i=0; i < iovcnt; i++) */
+  /*   log_printhex (iov[i].data, iov[i].len, "cmpfpr i=%d: ", i); */
+
+  err = gcry_md_hash_buffers (hashalgo, 0, result, iov, iovcnt);
+  /* log_printhex (result, 20, "fingerpint: "); */
+
+  /* Better clear the first element because it was set by us.  */
+  iov[0].size = 0;
+  iov[0].off = 0;
+  iov[0].len = 0;
+  iov[0].data = NULL;
+
+  if (!err && r_resultlen)
+    *r_resultlen = (hashalgo == GCRY_MD_SHA1)? 20 : 32;
+
+  return err;
+}
+
+
+gpg_error_t
+compute_openpgp_fpr_rsa (int keyversion, unsigned long timestamp,
+                         const unsigned char *m, unsigned int mlen,
+                         const unsigned char *e, unsigned int elen,
+                         unsigned char *result, unsigned int *r_resultlen)
+{
+  gcry_buffer_t iov[5] = { {0} };
+  unsigned char nbits_m[2], nbits_e[2];
+  unsigned int n;
+
+  /* Strip leading zeroes. */
+  for (; mlen && !*m; mlen--, m++)
+    ;
+  for (; elen && !*e; elen--, e++)
+    ;
+
+  /* Count bits. */
+  n = count_bits (m, mlen);
+  nbits_m[0] = n >> 8;
+  nbits_m[1] = n;
+
+  n = count_bits (e, elen);
+  nbits_e[0] = n >> 8;
+  nbits_e[1] = n;
+
+  /* Put parms into the array.  Note that iov[0] is reserved. */
+  iov[1].len  = 2;
+  iov[1].data = nbits_m;
+  iov[2].len  = mlen;
+  iov[2].data = (void*)m;
+  iov[3].len  = 2;
+  iov[3].data = nbits_e;
+  iov[4].len  = elen;
+  iov[4].data = (void*)e;
+
+  return compute_openpgp_fpr (keyversion, PUBKEY_ALGO_RSA, timestamp,
+                              iov, 5, result, r_resultlen);
+}
+
+
+/* Determine KDF hash algorithm and KEK encryption algorithm by CURVE.
+ * The returned buffer has a length of 4.
+ * Note: This needs to be kept in sync with the table in g10/ecdh.c */
+static const unsigned char*
+default_ecdh_params (unsigned int nbits)
+{
+  /* See RFC-6637 for those constants.
+         0x03: Number of bytes
+         0x01: Version for this parameter format
+         KEK digest algorithm
+         KEK cipher algorithm
+  */
+  if (nbits <= 256)
+    return (const unsigned char*)"\x03\x01\x08\x07";
+  else if (nbits <= 384)
+    return (const unsigned char*)"\x03\x01\x09\x09";
+  else
+    return (const unsigned char*)"\x03\x01\x0a\x09";
+}
+
+
+gpg_error_t
+compute_openpgp_fpr_ecc (int keyversion, unsigned long timestamp,
+                         const char *curvename, int for_encryption,
+                         const unsigned char *q, unsigned int qlen,
+                         const unsigned char *kdf, unsigned int kdflen,
+                         unsigned char *result, unsigned int *r_resultlen)
+{
+  gpg_error_t err;
+  const char *curveoidstr;
+  gcry_mpi_t curveoid = NULL;
+  unsigned int curvebits;
+  int pgpalgo;
+  const unsigned char *oidraw;
+  size_t oidrawlen;
+  gcry_buffer_t iov[5] = { {0} };
+  unsigned int iovlen;
+  unsigned char nbits_q[2];
+  unsigned int n;
+
+  curveoidstr = openpgp_curve_to_oid (curvename, &curvebits, &pgpalgo);
+  err = openpgp_oid_from_str (curveoidstr, &curveoid);
+  if (err)
+    goto leave;
+  oidraw = gcry_mpi_get_opaque (curveoid, &n);
+  if (!oidraw)
+    {
+      err = gpg_error_from_syserror ();
+      goto leave;
+    }
+  oidrawlen = (n+7)/8;
+
+  /* If the curve does not enforce a certain algorithm, we use the
+   * for_encryption flag to decide which algo to use.  */
+  if (!pgpalgo)
+    pgpalgo = for_encryption? PUBKEY_ALGO_ECDH : PUBKEY_ALGO_ECDSA;
+
+  /* Count bits. */
+  n = count_sos_bits (q, qlen);
+  nbits_q[0] = n >> 8;
+  nbits_q[1] = n;
+
+  /* Put parms into the array.  Note that iov[0] is reserved. */
+  iov[1].len  = oidrawlen;
+  iov[1].data = (void*)oidraw;
+  iov[2].len  = 2;
+  iov[2].data = nbits_q;
+  iov[3].len  = qlen;
+  iov[3].data = (void*)q;
+  iovlen = 4;
+  if (pgpalgo == PUBKEY_ALGO_ECDH)
+    {
+      if (!kdf || !kdflen || !kdf[0])
+        {
+          /* No KDF given - use the default.  */
+          kdflen = 4;
+          kdf = default_ecdh_params (curvebits);
+        }
+      iov[4].len  = kdflen;
+      iov[4].data = (void*)kdf;
+      iovlen++;
+    }
+
+  err = compute_openpgp_fpr (keyversion, pgpalgo, timestamp,
+                             iov, iovlen, result, r_resultlen);
+
+ leave:
+  gcry_mpi_release (curveoid);
+  return err;
+}
index 18c5710..943fe3e 100644 (file)
@@ -337,13 +337,17 @@ openpgp_oid_is_cv25519 (gcry_mpi_t a)
 
 /* Map the Libgcrypt ECC curve NAME to an OID.  If R_NBITS is not NULL
    store the bit size of the curve there.  Returns NULL for unknown
-   curve names.  */
+   curve names.  If R_ALGO is not NULL and a specific ECC algorithm is
+   required for this curve its OpenPGP algorithm number is stored
+   there; otherwise 0 is stored which indicates that ECDSA or ECDH can
+   be used. */
 const char *
-openpgp_curve_to_oid (const char *name, unsigned int *r_nbits)
+openpgp_curve_to_oid (const char *name, unsigned int *r_nbits, int *r_algo)
 {
   int i;
   unsigned int nbits = 0;
   const char *oidstr = NULL;
+  int algo = 0;
 
   if (name)
     {
@@ -353,6 +357,7 @@ openpgp_curve_to_oid (const char *name, unsigned int *r_nbits)
           {
             oidstr = oidtable[i].oidstr;
             nbits  = oidtable[i].nbits;
+            algo   = oidtable[i].pubkey_algo;
             break;
           }
       if (!oidtable[i].name)
@@ -364,6 +369,7 @@ openpgp_curve_to_oid (const char *name, unsigned int *r_nbits)
               {
                 oidstr = oidtable[i].oidstr;
                 nbits  = oidtable[i].nbits;
+                algo   = oidtable[i].pubkey_algo;
                 break;
               }
         }
@@ -371,6 +377,8 @@ openpgp_curve_to_oid (const char *name, unsigned int *r_nbits)
 
   if (r_nbits)
     *r_nbits = nbits;
+  if (r_algo)
+    *r_algo = algo;
   return oidstr;
 }
 
index 5cc437a..05f3621 100644 (file)
@@ -205,4 +205,26 @@ compress_algo_t;
 #define OPENPGP_MAX_NENC   2  /* Maximum number of encryption parameters. */
 
 
+/*-- openpgp-fpr.c --*/
+gpg_error_t compute_openpgp_fpr (int keyversion, int pgpalgo,
+                                 unsigned long timestamp,
+                                 gcry_buffer_t *iov, int iovcnt,
+                                 unsigned char *result,
+                                 unsigned int *r_resultlen);
+gpg_error_t compute_openpgp_fpr_rsa (int keyversion,
+                                     unsigned long timestamp,
+                                     const unsigned char *m, unsigned int mlen,
+                                     const unsigned char *e, unsigned int elen,
+                                     unsigned char *result,
+                                     unsigned int *r_resultlen);
+gpg_error_t compute_openpgp_fpr_ecc (int keyversion,
+                                     unsigned long timestamp,
+                                     const char *curvename, int for_encryption,
+                                     const unsigned char *q, unsigned int qlen,
+                                     const unsigned char *kdf,
+                                     unsigned int kdflen,
+                                     unsigned char *result,
+                                     unsigned int *r_resultlen);
+
+
 #endif /*GNUPG_COMMON_OPENPGPDEFS_H*/
index 9a79c05..68388e1 100644 (file)
@@ -263,6 +263,96 @@ cmp_simple_canon_sexp (const unsigned char *a_orig,
 }
 
 
+
+/* Helper for cmp_canon_sexp.  */
+static int
+cmp_canon_sexp_def_tcmp (void *ctx, int depth,
+                         const unsigned char *aval, size_t alen,
+                         const unsigned char *bval, size_t blen)
+{
+  (void)ctx;
+  (void)depth;
+
+  if (alen > blen)
+    return 1;
+  else if (alen < blen)
+    return -1;
+  else
+    return memcmp (aval, bval, alen);
+}
+
+
+/* Compare the two canonical encoded s-expressions A with maximum
+ * length ALEN and B with maximum length BLEN.
+ *
+ * Returns 0 if they match.
+ *
+ * If TCMP is NULL, this is not different really different from a
+ * memcmp but does not consider any garbage after the last closing
+ * parentheses.
+ *
+ * If TCMP is not NULL, it is expected to be a function to compare the
+ * values of each token.  TCMP is called for each token while parsing
+ * the s-expressions until TCMP return a non-zero value.  Here the CTX
+ * receives the provided value TCMPCTX, DEPTH is the number of
+ * currently open parentheses and (AVAL,ALEN) and (BVAL,BLEN) the
+ * values of the current token.  TCMP needs to return zero to indicate
+ * that the tokens match.  */
+int
+cmp_canon_sexp (const unsigned char *a, size_t alen,
+                const unsigned char *b, size_t blen,
+                int (*tcmp)(void *ctx, int depth,
+                            const unsigned char *aval, size_t avallen,
+                            const unsigned char *bval, size_t bvallen),
+                void *tcmpctx)
+{
+  const unsigned char *a_buf, *a_tok;
+  const unsigned char *b_buf, *b_tok;
+  size_t a_buflen, a_toklen;
+  size_t b_buflen, b_toklen;
+  int a_depth, b_depth, ret;
+
+  if ((!a && !b) || (!alen && !blen))
+    return 0; /* Both are NULL, they are identical. */
+  if (!a || !b)
+    return !!a - !!b; /* One is NULL, they are not identical. */
+  if (*a != '(' || *b != '(')
+    log_bug ("invalid S-exp in %s\n", __func__);
+
+  if (!tcmp)
+    tcmp = cmp_canon_sexp_def_tcmp;
+
+  a_depth = 0;
+  a_buf = a;
+  a_buflen = alen;
+  b_depth = 0;
+  b_buf = b;
+  b_buflen = blen;
+
+  for (;;)
+    {
+      if (parse_sexp (&a_buf, &a_buflen, &a_depth, &a_tok, &a_toklen))
+        return -1;  /* A is invalid.  */
+      if (parse_sexp (&b_buf, &b_buflen, &b_depth, &b_tok, &b_toklen))
+        return -1;  /* B is invalid.  */
+      if (!a_depth && !b_depth)
+        return 0; /* End of both expressions - they match.  */
+      if (a_depth != b_depth)
+        return a_depth - b_depth; /* Not the same structure   */
+      if (!a_tok && !b_tok)
+        ; /* parens */
+      else if (a_tok && b_tok)
+        {
+          ret = tcmp (tcmpctx, a_depth, a_tok, a_toklen, b_tok, b_toklen);
+          if (ret)
+            return ret;  /* Mismatch */
+        }
+      else /* One has a paren other has not.  */
+        return !!a_tok - !!b_tok;
+    }
+}
+
+
 /* Create a simple S-expression from the hex string at LINE.  Returns
    a newly allocated buffer with that canonical encoded S-expression
    or NULL in case of an error.  On return the number of characters
@@ -512,6 +602,388 @@ get_rsa_pk_from_canon_sexp (const unsigned char *keydata, size_t keydatalen,
 }
 
 
+/* Return the public key parameter Q of a public RSA or ECC key
+ * expressed as an canonical encoded S-expression.  */
+gpg_error_t
+get_ecc_q_from_canon_sexp (const unsigned char *keydata, size_t keydatalen,
+                           unsigned char const **r_q, size_t *r_qlen)
+{
+  gpg_error_t err;
+  const unsigned char *buf, *tok;
+  size_t buflen, toklen;
+  int depth, last_depth1, last_depth2;
+  const unsigned char *ecc_q = NULL;
+  size_t ecc_q_len;
+
+  *r_q = NULL;
+  *r_qlen = 0;
+
+  buf = keydata;
+  buflen = keydatalen;
+  depth = 0;
+  if ((err = parse_sexp (&buf, &buflen, &depth, &tok, &toklen)))
+    return err;
+  if ((err = parse_sexp (&buf, &buflen, &depth, &tok, &toklen)))
+    return err;
+  if (!tok || toklen != 10 || memcmp ("public-key", tok, toklen))
+    return gpg_error (GPG_ERR_BAD_PUBKEY);
+  if ((err = parse_sexp (&buf, &buflen, &depth, &tok, &toklen)))
+    return err;
+  if ((err = parse_sexp (&buf, &buflen, &depth, &tok, &toklen)))
+    return err;
+  if (tok && toklen == 3 && !memcmp ("ecc", tok, toklen))
+    ;
+  else if (tok && toklen == 5 && (!memcmp ("ecdsa", tok, toklen)
+                                  || !memcmp ("eddsa", tok, toklen)))
+    ;
+  else
+    return gpg_error (GPG_ERR_WRONG_PUBKEY_ALGO);
+
+  last_depth1 = depth;
+  while (!(err = parse_sexp (&buf, &buflen, &depth, &tok, &toklen))
+         && depth && depth >= last_depth1)
+    {
+      if (tok)
+        return gpg_error (GPG_ERR_UNKNOWN_SEXP);
+      if ((err = parse_sexp (&buf, &buflen, &depth, &tok, &toklen)))
+        return err;
+      if (tok && toklen == 1)
+        {
+          const unsigned char **mpi;
+          size_t *mpi_len;
+
+          switch (*tok)
+            {
+            case 'q': mpi = &ecc_q; mpi_len = &ecc_q_len; break;
+            default:  mpi = NULL;   mpi_len = NULL; break;
+            }
+          if (mpi && *mpi)
+            return gpg_error (GPG_ERR_DUP_VALUE);
+
+          if ((err = parse_sexp (&buf, &buflen, &depth, &tok, &toklen)))
+            return err;
+          if (tok && mpi)
+            {
+              *mpi = tok;
+              *mpi_len = toklen;
+            }
+        }
+
+      /* Skip to the end of the list. */
+      last_depth2 = depth;
+      while (!(err = parse_sexp (&buf, &buflen, &depth, &tok, &toklen))
+             && depth && depth >= last_depth2)
+        ;
+      if (err)
+        return err;
+    }
+
+  if (err)
+    return err;
+
+  if (!ecc_q || !ecc_q_len)
+    return gpg_error (GPG_ERR_BAD_PUBKEY);
+
+  *r_q = ecc_q;
+  *r_qlen = ecc_q_len;
+  return 0;
+}
+
+
+/* Return an uncompressed point (X,Y) in P at R_BUF as a malloced
+ * buffer with its byte length stored at R_BUFLEN.  May not be used
+ * for sensitive data. */
+static gpg_error_t
+ec2os (gcry_mpi_t x, gcry_mpi_t y, gcry_mpi_t p,
+       unsigned char **r_buf, unsigned int *r_buflen)
+{
+  gpg_error_t err;
+  int pbytes = (mpi_get_nbits (p)+7)/8;
+  size_t n;
+  unsigned char *buf, *ptr;
+
+  *r_buf = NULL;
+  *r_buflen = 0;
+
+  buf = xtrymalloc (1 + 2*pbytes);
+  if (!buf)
+    return gpg_error_from_syserror ();
+  *buf = 04; /* Uncompressed point.  */
+  ptr = buf+1;
+  err = gcry_mpi_print (GCRYMPI_FMT_USG, ptr, pbytes, &n, x);
+  if (err)
+    {
+      xfree (buf);
+      return err;
+    }
+  if (n < pbytes)
+    {
+      memmove (ptr+(pbytes-n), ptr, n);
+      memset (ptr, 0, (pbytes-n));
+    }
+  ptr += pbytes;
+  err = gcry_mpi_print (GCRYMPI_FMT_USG, ptr, pbytes, &n, y);
+  if (err)
+    {
+      xfree (buf);
+      return err;
+    }
+  if (n < pbytes)
+    {
+      memmove (ptr+(pbytes-n), ptr, n);
+      memset (ptr, 0, (pbytes-n));
+    }
+
+  *r_buf = buf;
+  *r_buflen = 1 + 2*pbytes;
+  return 0;
+}
+
+
+/* Convert the ECC parameter Q in the canonical s-expression
+ * (KEYDATA,KEYDATALEN) to uncompressed form.  On success and if a
+ * conversion was done, the new canonical encoded s-expression is
+ * returned at (R_NEWKEYDAT,R_NEWKEYDATALEN); if a conversion was not
+ * required (NULL,0) is stored there.  On error an error code is
+ * returned.  The function may take any kind of key but will only do
+ * the conversion for ECC curves where compression is supported.  */
+gpg_error_t
+uncompress_ecc_q_in_canon_sexp (const unsigned char *keydata,
+                                size_t keydatalen,
+                                unsigned char **r_newkeydata,
+                                size_t *r_newkeydatalen)
+{
+  gpg_error_t err;
+  const unsigned char *buf, *tok;
+  size_t buflen, toklen, n;
+  int depth, last_depth1, last_depth2;
+  const unsigned char *q_ptr;     /* Points to the value of "q".      */
+  size_t q_ptrlen;                /* Remaining length in KEYDATA.     */
+  size_t q_toklen;                /* Q's length including prefix.     */
+  const unsigned char *curve_ptr; /* Points to the value of "curve".  */
+  size_t curve_ptrlen;            /* Remaining length in KEYDATA.     */
+  gcry_mpi_t x, y;                /* Point Q            */
+  gcry_mpi_t p, a, b;             /* Curve parameters.  */
+  gcry_mpi_t x3, t, p1_4;         /* Helper             */
+  int y_bit;
+  unsigned char *qvalue;          /* Q in uncompressed form.  */
+  unsigned int   qvaluelen;
+  unsigned char *dst;             /* Helper */
+  char lenstr[35];                /* Helper for a length prefix.  */
+
+  *r_newkeydata = NULL;
+  *r_newkeydatalen = 0;
+
+  buf = keydata;
+  buflen = keydatalen;
+  depth = 0;
+  if ((err = parse_sexp (&buf, &buflen, &depth, &tok, &toklen)))
+    return err;
+  if ((err = parse_sexp (&buf, &buflen, &depth, &tok, &toklen)))
+    return err;
+  if (!tok)
+    return gpg_error (GPG_ERR_BAD_PUBKEY);
+  else if (toklen == 10 || !memcmp ("public-key", tok, toklen))
+    ;
+  else if (toklen == 11 || !memcmp ("private-key", tok, toklen))
+    ;
+  else if (toklen == 20 || !memcmp ("shadowed-private-key", tok, toklen))
+    ;
+  else
+    return gpg_error (GPG_ERR_BAD_PUBKEY);
+
+  if ((err = parse_sexp (&buf, &buflen, &depth, &tok, &toklen)))
+    return err;
+  if ((err = parse_sexp (&buf, &buflen, &depth, &tok, &toklen)))
+    return err;
+
+  if (tok && toklen == 3 && !memcmp ("ecc", tok, toklen))
+    ;
+  else if (tok && toklen == 5 && !memcmp ("ecdsa", tok, toklen))
+    ;
+  else
+    return 0; /* Other algo - no need for conversion.  */
+
+  last_depth1 = depth;
+  q_ptr = curve_ptr = NULL;
+  q_ptrlen = 0; /*(silence cc warning)*/
+  while (!(err = parse_sexp (&buf, &buflen, &depth, &tok, &toklen))
+         && depth && depth >= last_depth1)
+    {
+      if (tok)
+        return gpg_error (GPG_ERR_UNKNOWN_SEXP);
+      if ((err = parse_sexp (&buf, &buflen, &depth, &tok, &toklen)))
+        return err;
+      if (tok && toklen == 1 && *tok == 'q' && !q_ptr)
+        {
+          q_ptr = buf;
+          q_ptrlen = buflen;
+        }
+      else if (tok && toklen == 5 && !memcmp (tok, "curve", 5) && !curve_ptr)
+        {
+          curve_ptr = buf;
+          curve_ptrlen = buflen;
+        }
+
+      if (q_ptr && curve_ptr)
+        break;  /* We got all what we need.  */
+
+      /* Skip to the end of the list. */
+      last_depth2 = depth;
+      while (!(err = parse_sexp (&buf, &buflen, &depth, &tok, &toklen))
+             && depth && depth >= last_depth2)
+        ;
+      if (err)
+        return err;
+    }
+  if (err)
+    return err;
+
+  if (!q_ptr)
+    return 0;  /* No Q - nothing to do.  */
+
+  /* Get Q's value and check whether uncompressing is at all required.  */
+  buf = q_ptr;
+  buflen = q_ptrlen;
+  if ((err = parse_sexp (&buf, &buflen, &depth, &tok, &toklen)))
+    return err;
+  if (toklen < 2 || !(*tok == 0x02 || *tok == 0x03))
+    return 0;  /* Invalid length or not compressed.  */
+  q_toklen = buf - q_ptr;  /* We want the length with the prefix.  */
+
+  /* Put the x-coordinate of q into X and remember the y bit */
+  y_bit = (*tok == 0x03);
+  err = gcry_mpi_scan (&x, GCRYMPI_FMT_USG, tok+1, toklen-1, NULL);
+  if (err)
+    return err;
+
+  /* For uncompressing we need to know the curve.  */
+  if (!curve_ptr)
+    {
+      gcry_mpi_release (x);
+      return gpg_error (GPG_ERR_INV_CURVE);
+    }
+  buf = curve_ptr;
+  buflen = curve_ptrlen;
+  if ((err = parse_sexp (&buf, &buflen, &depth, &tok, &toklen)))
+    {
+      gcry_mpi_release (x);
+      return err;
+    }
+
+  {
+    char name[50];
+    gcry_sexp_t curveparam;
+
+    if (toklen + 1 > sizeof name)
+      {
+        gcry_mpi_release (x);
+        return gpg_error (GPG_ERR_TOO_LARGE);
+      }
+    mem2str (name, tok, toklen+1);
+    curveparam = gcry_pk_get_param (GCRY_PK_ECC, name);
+    if (!curveparam)
+      {
+        gcry_mpi_release (x);
+        return gpg_error (GPG_ERR_UNKNOWN_CURVE);
+      }
+
+    err = gcry_sexp_extract_param (curveparam, NULL, "pab", &p, &a, &b, NULL);
+    gcry_sexp_release (curveparam);
+    if (err)
+      {
+        gcry_mpi_release (x);
+        return gpg_error (GPG_ERR_INTERNAL);
+      }
+  }
+
+  if (!mpi_test_bit (p, 1))
+    {
+      /* No support for point compression for this curve.  */
+      gcry_mpi_release (x);
+      gcry_mpi_release (p);
+      gcry_mpi_release (a);
+      gcry_mpi_release (b);
+      return gpg_error (GPG_ERR_NOT_IMPLEMENTED);
+    }
+
+  /*
+   * Recover Y.  The Weierstrass curve: y^2 = x^3 + a*x + b
+   */
+
+  x3 = mpi_new (0);
+  t = mpi_new (0);
+  p1_4 = mpi_new (0);
+  y = mpi_new (0);
+
+  /* Compute right hand side.  */
+  mpi_powm (x3, x, GCRYMPI_CONST_THREE, p);
+  mpi_mul (t, a, x);
+  mpi_mod (t, t, p);
+  mpi_add (t, t, b);
+  mpi_mod (t, t, p);
+  mpi_add (t, t, x3);
+  mpi_mod (t, t, p);
+
+  /*
+   * When p mod 4 = 3, modular square root of A can be computed by
+   * A^((p+1)/4) mod p
+   */
+
+  /* Compute (p+1)/4 into p1_4 */
+  mpi_rshift (p1_4, p, 2);
+  mpi_add_ui (p1_4, p1_4, 1);
+
+  mpi_powm (y, t, p1_4, p);
+
+  if (y_bit != mpi_test_bit (y, 0))
+    mpi_sub (y, p, y);
+
+  gcry_mpi_release (p1_4);
+  gcry_mpi_release (t);
+  gcry_mpi_release (x3);
+  gcry_mpi_release (a);
+  gcry_mpi_release (b);
+
+  err = ec2os (x, y, p, &qvalue, &qvaluelen);
+  gcry_mpi_release (x);
+  gcry_mpi_release (y);
+  gcry_mpi_release (p);
+  if (err)
+    return err;
+
+  snprintf (lenstr, sizeof lenstr, "%u:", (unsigned int)qvaluelen);
+  /* Note that for simplicity we do not subtract the old length of Q
+   * for the new buffer.  */
+  *r_newkeydata = xtrymalloc (qvaluelen + strlen(lenstr) + qvaluelen);
+  if (!*r_newkeydata)
+    return gpg_error_from_syserror ();
+  dst = *r_newkeydata;
+
+  n = q_ptr - keydata;
+  memcpy (dst, keydata, n);         /* Copy first part of original data.  */
+  dst += n;
+
+  n = strlen (lenstr);
+  memcpy (dst, lenstr, n);          /* Copy new prefix of Q's value.  */
+  dst += n;
+
+  memcpy (dst, qvalue, qvaluelen);  /* Copy new value of Q.    */
+  dst += qvaluelen;
+
+  log_assert (q_toklen < q_ptrlen);
+  n = q_ptrlen - q_toklen;
+  memcpy (dst, q_ptr + q_toklen, n);/* Copy rest of original data.  */
+  dst += n;
+
+  *r_newkeydatalen = dst - *r_newkeydata;
+
+  xfree (qvalue);
+
+  return 0;
+}
+
+
 /* Return the algo of a public KEY of SEXP. */
 int
 get_pk_algo_from_key (gcry_sexp_t key)
@@ -623,7 +1095,7 @@ pubkey_algo_string (gcry_sexp_t s_pkey, enum gcry_pk_algos *r_algoid)
     {
       const char *curve = gcry_pk_get_curve (s_pkey, 0, NULL);
       const char *name = openpgp_oid_to_curve
-        (openpgp_curve_to_oid (curve, NULL), 0);
+        (openpgp_curve_to_oid (curve, NULL, NULL), 0);
 
       if (name)
         result = xtrystrdup (name);
@@ -698,3 +1170,19 @@ hash_algo_to_string (int algo)
       return hashnames[i].name;
   return "?";
 }
+
+
+/* Map cipher modes to a string.  */
+const char *
+cipher_mode_to_string (int mode)
+{
+  switch (mode)
+    {
+    case GCRY_CIPHER_MODE_CFB: return "CFB";
+    case GCRY_CIPHER_MODE_CBC: return "CBC";
+    case GCRY_CIPHER_MODE_GCM: return "GCM";
+    case GCRY_CIPHER_MODE_OCB: return "OCB";
+    case 14:                   return "EAX";  /* Only in gcrypt 1.9 */
+    default: return "[?]";
+    }
+}
index ceb8280..a1a9d89 100644 (file)
                                __FILE__,__LINE__, (a));          \
                      exit (1);                                   \
                    } while(0)
+#define fail2(a,e) do { fprintf (stderr, "%s:%d: test %d failed: %s\n", \
+                        __FILE__,__LINE__, (a), gpg_strerror ((e)));    \
+                     exit (1);                                          \
+                   } while(0)
 
 
 static void
@@ -178,6 +182,304 @@ test_make_canon_sexp_from_rsa_pk (void)
 }
 
 
+/* Communiacation object for tcmp.  */
+struct tcmp_parm_s {
+  int curve_seen;
+};
+
+/* Helper for test_cmp_canon_sexp.  */
+static int
+tcmp1 (void *opaque, int depth,
+       const unsigned char *aval, size_t alen,
+       const unsigned char *bval, size_t blen)
+{
+  struct tcmp_parm_s *parm = opaque;
+
+  (void)depth;
+
+  if (parm->curve_seen)
+    {
+      /* Last token was "curve", canonicalize its argument.  */
+      parm->curve_seen = 0;
+
+      if (alen == 8 && !memcmp (aval, "nistp256", alen))
+        {
+          alen = 19;
+          aval = "1.2.840.10045.3.1.7";
+        }
+
+      if (blen == 8 && !memcmp (bval, "nistp256", blen))
+        {
+          blen = 19;
+          bval = "1.2.840.10045.3.1.7";
+        }
+    }
+  else if (alen == 5 && !memcmp (aval, "curve", 5))
+    parm->curve_seen = 1;
+  else
+    parm->curve_seen = 0;
+
+  if (alen > blen)
+    return 1;
+  else if (alen < blen)
+    return -1;
+  else
+    return memcmp (aval, bval, alen);
+}
+
+
+static void
+test_cmp_canon_sexp (void)
+{
+  struct {
+    unsigned char *a;
+    unsigned char *b;
+    int expected0;  /* Expected result without compare function.    */
+    int expected1;  /* Expected result with compare function tcmp1. */
+  }
+  tests[] = {
+  {
+   "(10:public-key(3:ecc(5:curve8:nistp256)(1:q10:qqqqqqqqqq)))",
+   "(10:public-key(3:ecc(5:curve8:nistp256)(1:q10:qqqqqqqqqq)))",
+   0, 0
+  },
+  {
+   "(10:public-key(3:ecc(5:curve19:1.2.840.10045.3.1.7)(1:q10:qqqqqqqqqq)))",
+   "(10:public-key(3:ecc(5:curve19:1.2.840.10045.3.1.7)(1:q10:qqqqqqqqqq)))",
+   0, 0
+  },
+  {
+   "(10:public-key(3:ecc(5:curve8:nistp256)(1:q10:qqqqqqqqqq)))",
+   "(10:public-key(3:ecc(5:curve19:1.2.840.10045.3.1.7)(1:q10:qqqqqqqqqq)))",
+   -1, 0
+  },
+  {
+   "(10:public-key(3:ecc(5:curve19:1.2.840.10045.3.1.7)(1:q10:qqqqqqqqqq)))",
+   "(10:public-key(3:ecc(5:curve8:nistp256)(1:q10:qqqqqqqqqq)))",
+   1, 0
+  },
+  {
+   NULL
+  }
+  };
+  struct tcmp_parm_s parm = {0};
+  int idx;
+  int res;
+
+  for (idx=0; tests[idx].a; idx++)
+    {
+      res = cmp_canon_sexp (tests[idx].a, strlen (tests[idx].a),
+                            tests[idx].b, strlen (tests[idx].b),
+                            NULL, NULL);
+      if (res != tests[idx].expected0)
+        fail (idx);
+      res = cmp_canon_sexp (tests[idx].a, strlen (tests[idx].a),
+                            tests[idx].b, strlen (tests[idx].b),
+                            tcmp1, &parm);
+      if (res != tests[idx].expected1)
+        fail (idx);
+    }
+}
+
+
+static void
+test_ecc_uncompress (void)
+{
+  struct {
+    const char *a;  /* Uncompressed.  */
+    const char *b;  /* Compressed.    */
+  }
+  tests[] = {
+  {
+    "(public-key"
+    " (ecc"
+    " (curve brainpoolP256r1)"
+    " (q #042ECD8679930BE2DB4AD42B8600BA3F80"
+    /*   */"2D4D539BFF2F69B83EC9B7BBAA7F3406"
+    /*   */"436DD11A1756AFE56CD93408410FCDA9"
+    /*   */"BA95024EB613BD481A14FCFEC27A448A#)))",
+    /* The same in compressed form.  */
+    "(public-key"
+    " (ecc"
+    " (curve brainpoolP256r1)"
+    " (q #022ECD8679930BE2DB4AD42B8600BA3F80"
+    /*   */"2D4D539BFF2F69B83EC9B7BBAA7F3406#)))"
+  },
+  {
+    "(public-key"
+    " (ecc"
+    " (curve brainpoolP256r1)"
+    " (q #045B784CA008EE64AB3D85017EE0D2BE87"
+    /*   */"558762C7300E0C8E06B1F9AF7C031458"
+    /*   */"9EBBA41915313417BA54218EB0569C59"
+    /*   */"0B156C76DBCAB6E84575E6EF68CE7B87#)))",
+    /* The same in compressed form.  */
+    "(public-key"
+    " (ecc"
+    " (curve brainpoolP256r1)"
+    " (q #035B784CA008EE64AB3D85017EE0D2BE87"
+    /*   */"558762C7300E0C8E06B1F9AF7C031458#)))"
+  },
+  { /* A key which does not require a conversion.  */
+    "(public-key"
+    " (ecdsa"
+    " (p #00FFFFFFFF00000001000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFF#)"
+    " (curve \"NIST P-256\")"
+    " (b #5AC635D8AA3A93E7B3EBBD55769886BC651D06B0CC53B0F63BCE3C3E27D2604B#)"
+    " (g #046B17D1F2E12C4247F8BCE6E563A440F277037D812DEB33A0F4A13945D898C2964FE342E2FE1A7F9B8EE7EB4A7C0F9E162BCE33576B315ECECBB6406837BF51F5#)"
+    " (n #00FFFFFFFF00000000FFFFFFFFFFFFFFFFBCE6FAADA7179E84F3B9CAC2FC632551#)"
+    " (h #000000000000000000000000000000000000000000000000000000000000000001#)"
+    " (q #04C8A4CEC2E9A9BC8E173531A67B0840DF345C32E261ADD780E6D83D56EFADFD5DE872F8B854819B59543CE0B7F822330464FBC4E6324DADDCD9D059554F63B344#)))"
+  },
+  {  /* Nothing to do for an RSA private key.  */
+    "(private-key"
+    " (rsa"
+    "  (n #00B6B509596A9ECABC939212F891E656A626BA07DA8521A9CAD4C08E640C04052FBB87F424EF1A0275A48A9299AC9DB69ABE3D0124E6C756B1F7DFB9B842D6251AEA6EE85390495CADA73D671537FCE5850A932F32BAB60AB1AC1F852C1F83C625E7A7D70CDA9EF16D5C8E47739D77DF59261ABE8454807FF441E143FBD37F8545#)"
+    "  (e #010001#)"
+    "  (d #077AD3DE284245F4806A1B82B79E616FBDE821C82D691A65665E57B5FAD3F34E67F401E7BD2E28699E89D9C496CF821945AE83AC7A1231176A196BA6027E77D85789055D50404A7A2A95B1512F91F190BBAEF730ED550D227D512F89C0CDB31AC06FA9A19503DDF6B66D0B42B9691BFD6140EC1720FFC48AE00C34796DC899E5#)"
+    "  (p #00D586C78E5F1B4BF2E7CD7A04CA091911706F19788B93E44EE20AAF462E8363E98A72253ED845CCBF2481BB351E8557C85BCFFF0DABDBFF8E26A79A0938096F27#)"
+    "  (q #00DB0CDF60F26F2A296C88D6BF9F8E5BE45C0DDD713C96CC73EBCB48B061740943F21D2A93D6E42A7211E7F02A95DCED6C390A67AD21ECF739AE8A0CA46FF2EBB3#)"
+    "  (u #33149195F16912DB20A48D020DBC3B9E3881B39D722BF79378F6340F43148A6E9FC5F53E2853B7387BA4443BA53A52FCA8173DE6E85B42F9783D4A7817D0680B#)))"
+  },
+  { /* Nothing to do dor a DSA key.  */
+    " (public-key"
+    " (dsa"
+    "  (p #0084E4C626E16005770BD9509ABF7354492E85B8C0060EFAAAEC617F725B592FAA59DF5460575F41022776A9718CE62EDD542AB73C7720869EBDBC834D174ADCD7136827DF51E2613545A25CA573BC502A61B809000B6E35F5EB7FD6F18C35678C23EA1C3638FB9CFDBA2800EE1B62F41A4479DE824F2834666FBF8DC5B53C2617#)"
+    "  (q #00B0E6F710051002A9F425D98A677B18E0E5B038AB#)"
+    "  (g #44370CEE0FE8609994183DBFEBA7EEA97D466838BCF65EFF506E35616DA93FA4E572A2F08886B74977BC00CA8CD3DBEA7AEB7DB8CBB180E6975E0D2CA76E023E6DE9F8CCD8826EBA2F72B8516532F6001DEFFAE76AA5E59E0FA33DBA3999B4E92D1703098CDEDCC416CF008801964084CDE1980132B2B78CB4CE9C15A559528B#)"
+    "  (y #3D5DD14AFA2BF24A791E285B90232213D0E3BA74AB1109E768AED19639A322F84BB7D959E2BA92EF73DE4C7F381AA9F4053CFA3CD4527EF9043E304E5B95ED0A3A5A9D590AA641C13DB2B6E32B9B964A6A2C730DD3EA7C8E13F7A140AFF1A91CE375E9B9B960384779DC4EA180FA1F827C52288F366C0770A220F50D6D8FD6F6#)))"
+  },
+  { /* Nothing to do for an ECDSA key w/o curvename.  */
+    "(public-key"
+    " (ecdsa(flags param)"
+    " (p #00FFFFFFFF00000001000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFF#)"
+    " (a #00FFFFFFFF00000001000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFC#)"
+    " (b #5AC635D8AA3A93E7B3EBBD55769886BC651D06B0CC53B0F63BCE3C3E27D2604B#)"
+    " (g #046B17D1F2E12C4247F8BCE6E563A440F277037D812DEB33A0F4A13945D898C2964FE342E2FE1A7F9B8EE7EB4A7C0F9E162BCE33576B315ECECBB6406837BF51F5#)"
+    " (n #00FFFFFFFF00000000FFFFFFFFFFFFFFFFBCE6FAADA7179E84F3B9CAC2FC632551#)"
+    " (h #000000000000000000000000000000000000000000000000000000000000000001#)"
+    " (q #04C8A4CEC2E9A9BC8E173531A67B0840DF345C32E261ADD780E6D83D56EFADFD5DE872F8B854819B59543CE0B7F822330464FBC4E6324DADDCD9D059554F63B344#)))"
+  },
+  { /* Nothing to do for Ed25519 key.  */
+    "(public-key"
+    " (ecc"
+    " (curve Ed25519)"
+    " (q #04"
+    "     1CC662926E7EFF4982B7FB8B928E61CD74CCDD85277CC57196C3AD20B611085F"
+    "     47BD24842905C049257673B3F5249524E0A41FAA17B25B818D0F97E625F1A1D0#)"
+    "     ))"
+  },
+  { /* Nothing to do for Ed25519 with EdDSA key.  */
+    "(public-key"
+    " (ecc"
+    " (curve Ed25519)(flags eddsa)"
+    " (q #773E72848C1FD5F9652B29E2E7AF79571A04990E96F2016BF4E0EC1890C2B7DB#)"
+    " ))"
+  },
+  { /* Nothing to do for Ed25519 with EdDSA key with prefix.  */
+    "(public-key"
+    " (ecc"
+    " (curve Ed25519)(flags eddsa)"
+    " (q #40"
+    "     773E72848C1FD5F9652B29E2E7AF79571A04990E96F2016BF4E0EC1890C2B7DB#)"
+    " ))"
+  },
+  { /* Nothing to do for Ed25519 with EdDSA key with uncompress prefix.  */
+    "(public-key"
+    " (ecc"
+    " (curve Ed25519)(flags eddsa)"
+    " (q #04"
+    "     629ad237d1ed04dcd4abe1711dd699a1cf51b1584c4de7a4ef8b8a640180b26f"
+    "     5bb7c29018ece0f46b01f2960e99041a5779afe7e2292b65f9d51f8c84723e77#)"
+    " ))"
+  },
+  { /* Noting to do for a Cv25519 tweaked key.  */
+    "(public-key"
+    " (ecc"
+    " (curve Curve25519)(flags djb-tweak)"
+    " (q #40"
+    "     918C1733127F6BF2646FAE3D081A18AE77111C903B906310B077505EFFF12740#)"
+    " ))"
+  },
+  { /* Nothing to do for a shadowed key.  */
+    "(shadowed-private-key"
+    " (rsa"
+    " (n #00B493C79928398DA9D99AC0E949FE6EB62F683CB974FFFBFBC01066F5C9A89B"
+    "     D3DC48EAD7C65F36EA943C2B2C865C26C4884FF9EDFDA8C99C855B737D77EEF6"
+    "     B85DBC0CCEC0E900C1F89A6893A2A93E8B31028469B6927CEB2F08687E547C68"
+    "     6B0A2F7E50A194FF7AB7637E03DE0912EF7F6E5F1EC37625BD1620CCC2E7A564"
+    "     31E168CDAFBD1D9E61AE47A69A6FA03EF22F844528A710B2392F262B95A3078C"
+    "     F321DC8325F92A5691EF69F34FD0DE0B22C79D29DC87723FCADE463829E8E5F7"
+    "     D196D73D6C9C180F6A6A0DDBF7B9D8F7FA293C36163B12199EF6A1A95CAE4051"
+    "     E3069C522CC6C4A7110F663A5DAD20F66C13A1674D050088208FAE4F33B3AB51"
+    "     03#)"
+    " (e #00010001#)"
+    " (shadowed t1-v1"
+    " (#D2760001240102000005000123350000# OPENPGP.1)"
+    ")))"
+  },
+  {
+    NULL
+  }};
+  gpg_error_t err;
+  int idx;
+  gcry_sexp_t sexp;
+  unsigned char *abuf, *bbuf, *rbuf;
+  size_t abuflen, bbuflen, rbuflen;
+
+
+  for (idx=0; tests[idx].a; idx++)
+    {
+      err = gcry_sexp_new (&sexp, tests[idx].a, 0, 1);
+      if (err)
+        fail2 (idx,err);
+      err = make_canon_sexp (sexp, &abuf, &abuflen);
+      if (err)
+        fail2 (idx,err);
+      gcry_sexp_release (sexp);
+
+      if (tests[idx].b)
+        {
+          err = gcry_sexp_new (&sexp, tests[idx].b, 0, 1);
+          if (err)
+            fail2 (idx,err);
+          err = make_canon_sexp (sexp, &bbuf, &bbuflen);
+          if (err)
+            fail2 (idx,err);
+          gcry_sexp_release (sexp);
+        }
+      else
+        bbuf = NULL;
+
+      err = uncompress_ecc_q_in_canon_sexp (abuf, abuflen, &rbuf, &rbuflen);
+      if (err)
+        fail2 (idx,err);
+      if (rbuf)
+        fail (idx);  /* Converted without a need.  */
+
+      if (bbuf)
+        {
+          err = uncompress_ecc_q_in_canon_sexp (bbuf, bbuflen, &rbuf, &rbuflen);
+          if (err)
+            fail2 (idx,err);
+          if (!rbuf)
+            fail (idx);  /* Not converted despite a need for it. */
+
+          /* log_printcanon ("  orig:", abuf, abuflen); */
+          /* log_printcanon ("  comp:", bbuf, bbuflen); */
+          /* log_printcanon ("uncomp:", rbuf, rbuflen); */
+
+          if (rbuflen != abuflen || memcmp (rbuf, abuf, abuflen))
+            fail (idx);
+        }
+
+      xfree (abuf);
+      xfree (bbuf);
+      xfree (rbuf);
+    }
+}
+
+
 int
 main (int argc, char **argv)
 {
@@ -186,6 +488,8 @@ main (int argc, char **argv)
 
   test_hash_algo_from_sigval ();
   test_make_canon_sexp_from_rsa_pk ();
+  test_cmp_canon_sexp ();
+  test_ecc_uncompress ();
 
   return 0;
 }
diff --git a/common/t-w32-cmdline.c b/common/t-w32-cmdline.c
new file mode 100644 (file)
index 0000000..a1039d0
--- /dev/null
@@ -0,0 +1,250 @@
+/* t-w32-cmdline.c - Test the parser for the Windows command line
+ * Copyright (C) 2021 g10 Code GmbH
+ *
+ * This file is part of GnuPG.
+ *
+ * This file is free software; you can redistribute it and/or modify
+ * it under the terms of either
+ *
+ *   - the GNU Lesser General Public License as published by the Free
+ *     Software Foundation; either version 3 of the License, or (at
+ *     your option) any later version.
+ *
+ * or
+ *
+ *   - the GNU General Public License as published by the Free
+ *     Software Foundation; either version 2 of the License, or (at
+ *     your option) any later version.
+ *
+ * or both in parallel, as here.
+ *
+ * This file is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, see <https://www.gnu.org/licenses/>.
+ */
+
+#include <config.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <sys/stat.h>
+#include <unistd.h>
+#ifdef HAVE_W32_SYSTEM
+# define WIN32_LEAN_AND_MEAN
+# include <windows.h>
+#endif
+
+#include "t-support.h"
+#include "utf8conv.h"
+#include "w32help.h"
+
+#define PGM "t-w32-cmdline"
+
+static int verbose;
+static int debug;
+static int errcount;
+
+
+static void
+test_all (void)
+{
+  static struct {
+    const char *cmdline;
+    int argc;        /* Expected number of args.  */
+    char *argv[10];  /* Expected results.  */
+    int use_glob;
+  } tests[] = {
+    /* Examples from "Parsing C++ Command-Line Arguments" dated 11/18/2006.
+     * https://docs.microsoft.com/en-us/previous-versions/17w5ykft(v=vs.85)
+     */
+    { "\"abc\" d e", 3,          { "abc",      "d",     "e" }},
+    { "a\\\\\\b d\"e f\"g h", 3, { "a\\\\\\b", "de fg", "h" }},
+    { "a\\\\\\\"b c d",       3, { "a\\\"b",   "c",     "d" }},
+    { "a\\\\\\\\\"b c\" d e", 3, { "a\\\\b c", "d",     "e" }},
+    /* Examples from "Parsing C Command-Line Arguments" dated 11/09/2020.
+     * https://docs.microsoft.com/en-us/cpp/c-language/\
+     * parsing-c-command-line-arguments?view=msvc-160
+     */
+    { "\"a b c\" d e",          3, { "a b c",    "d",     "e" }},
+    { "\"ab\\\"c\" \"\\\\\" d", 3, { "ab\"c",    "\\",    "d" }},
+    { "a\\\\\\b d\"e f\"g h",   3, { "a\\\\\\b", "de fg", "h" }},
+    { "a\\\\\\\"b c d",         3, { "a\\\"b",   "c",     "d" }},
+    { "a\\\\\\\\\"b c\" d e",   3, { "a\\\\b c", "d",     "e" }},
+    { "a\"b\"\" c d",           1, { "ab\" c d"               }},
+    /* Some arbitrary tests created using mingw.
+     * But I am not sure whether their parser is fully correct.
+     */
+    { "e:a  a b\"c\" ",       3, { "e:a", "a", "bc" }},
+    /* { "e:a  a b\"c\"\" d\"\"e \" ", */
+    /*   5, { "e:a", "a", "bc\"", "de", " " }}, */
+    /* { "e:a  a b\"c\"\" d\"\"e\" f\\gh ", */
+    /*   4, { "e:a", "a", "bc\"", "de f\\gh "}}, */
+    /* { "e:a  a b\"c\"\" d\"\"e\" f\\\"gh \" ", */
+    /*   4, { "e:a", "a", "bc\"", "de f\"gh " }},*/
+
+    { "\"foo bar\"", 1 , { "foo bar" }},
+
+#ifndef HAVE_W32_SYSTEM
+    /* We actually don't use this code on Unix but we provide a way to
+     * test some of the blobing code. */
+    { "foo",  1, { "foo"                 }, 1 },
+    { "foo*", 2, { "[* follows]", "foo*" }, 1 },
+    { "foo?", 2, { "[? follows]", "foo?" }, 1 },
+    { "? \"*\" *", 5, { "[? follows]", "?", "*", "[* follows]", "*" }, 1 },
+#endif /*!HAVE_W32_SYSTEM*/
+    { "", 1 , { "" }}
+  };
+  int tidx;
+  int i, any, itemsalloced, argc;
+  char *cmdline;
+  char **argv;
+
+  for (tidx = 0; tidx < DIM(tests); tidx++)
+    {
+      cmdline = xstrdup (tests[tidx].cmdline);
+      if (verbose && tidx)
+        putchar ('\n');
+      if (verbose)
+        printf ("test %d: line    ->%s<-\n", tidx, cmdline);
+      argv = w32_parse_commandline (cmdline, tests[tidx].use_glob,
+                                    &argc, &itemsalloced);
+      if (!argv)
+        {
+          fail (tidx);
+          xfree (cmdline);
+          continue;
+        }
+      if (tests[tidx].argc != argc)
+        {
+          fprintf (stderr, PGM": test %d: argc wrong (want %d, got %d)\n",
+                   tidx, tests[tidx].argc, argc);
+          any = 1;
+        }
+      else
+        any = 0;
+      for (i=0; i < tests[tidx].argc; i++)
+        {
+          if (verbose)
+            printf ("test %d: argv[%d] ->%s<-\n",
+                    tidx, i, tests[tidx].argv[i]);
+          if (i < argc && strcmp (tests[tidx].argv[i], argv[i]))
+            {
+              if (verbose)
+                printf ("test %d:  got[%d] ->%s<- ERROR\n",
+                        tidx, i, argv[i]);
+              any = 1;
+            }
+        }
+      if (any)
+        {
+          fprintf (stderr, PGM": test %d: error%s\n",
+                   tidx, verbose? "":" (use --verbose)");
+          errcount++;
+        }
+
+      if (itemsalloced)
+        {
+          for (i=0; i < argc; i++)
+            xfree (argv[i]);
+        }
+      xfree (argv);
+      xfree (cmdline);
+    }
+}
+
+
+
+int
+main (int argc, char **argv)
+{
+  int last_argc = -1;
+
+  no_exit_on_fail = 1;
+
+  if (argc)
+    { argc--; argv++; }
+  while (argc && last_argc != argc )
+    {
+      last_argc = argc;
+      if (!strcmp (*argv, "--"))
+        {
+          argc--; argv++;
+          break;
+        }
+      else if (!strcmp (*argv, "--help"))
+        {
+          fputs ("usage: " PGM " [test args]\n"
+                 "Options:\n"
+                 "  --verbose         Print timings etc.\n"
+                 "  --debug           Flyswatter\n"
+                 , stdout);
+          exit (0);
+        }
+      else if (!strcmp (*argv, "--verbose"))
+        {
+          verbose++;
+          argc--; argv++;
+        }
+      else if (!strcmp (*argv, "--debug"))
+        {
+          verbose += 2;
+          debug++;
+          argc--; argv++;
+        }
+      else if (!strncmp (*argv, "--", 2))
+        {
+          fprintf (stderr, PGM ": unknown option '%s'\n", *argv);
+          exit (1);
+        }
+    }
+
+  if (argc)
+    {
+#ifdef HAVE_W32_SYSTEM
+      const wchar_t *wcmdline;
+      char *cmdline;
+      int i, myargc;
+      char **myargv;
+
+      wcmdline = GetCommandLineW ();
+      if (!wcmdline)
+        {
+          fprintf (stderr, PGM ": GetCommandLine failed\n");
+          exit (1);
+        }
+
+      cmdline = wchar_to_utf8 (wcmdline);
+      if (!cmdline)
+        {
+          fprintf (stderr, PGM ": wchar_to_utf8 failed\n");
+          exit (1);
+        }
+
+      printf ("cmdline ->%s<\n", cmdline);
+      myargv = w32_parse_commandline (cmdline, 1, &myargc, NULL);
+      if (!myargv)
+        {
+          fprintf (stderr, PGM ": w32_parse_commandline failed\n");
+          exit (1);
+        }
+
+      for (i=0; i < myargc; i++)
+        printf ("argv[%d] ->%s<-\n", i, myargv[i]);
+      fflush (stdout);
+
+      xfree (myargv);
+      xfree (cmdline);
+#else
+      fprintf (stderr, PGM ": manual test mode not available on Unix\n");
+      errcount++;
+#endif
+    }
+  else
+    test_all ();
+
+  return !!errcount;
+}
index 0058b67..7fb7bde 100644 (file)
@@ -250,8 +250,8 @@ parse_ber_header (unsigned char const **buffer, size_t *size,
    returned as a pointer into the original buffer at TOK and TOKLEN.
    If a parentheses is the next token, TOK will be set to NULL.
    TOKLEN is checked to be within the bounds.  On error an error code
-   is returned and no pointer is not guaranteed to point to
-   a meaningful value.  DEPTH should be initialized to 0 and will
+   is returned and pointers are not guaranteed to point to
+   meaningful values.  DEPTH should be initialized to 0 and will
    reflect on return the actual depth of the tree. To detect the end
    of the S-expression it is advisable to check DEPTH after a
    successful return.
index ba4ea2e..0894e5d 100644 (file)
@@ -30,6 +30,8 @@
 #ifndef SCD_TLV_H
 #define SCD_TLV_H 1
 
+#include "membuf.h"
+
 
 enum tlv_tag_class {
   CLASS_UNIVERSAL = 0,
index c7c9d85..c385700 100644 (file)
@@ -1,6 +1,7 @@
 /* ttyio.c -  tty i/O functions
- * Copyright (C) 1998,1999,2000,2001,2002,2003,2004,2006,2007,
- *               2009, 2010 Free Software Foundation, Inc.
+ * Copyright (C) 1997-2019 Werner Koch
+ * Copyright (C) 1998-2020 Free Software Foundation, Inc.
+ * Copyright (C) 2015-2020 g10 Code GmbH
  *
  * This file is part of GnuPG.
  *
@@ -26,6 +27,7 @@
  *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, see <https://www.gnu.org/licenses/>.
+ * SPDX-License-Identifier: (LGPL-3.0-or-later OR GPL-2.0-or-later)
  */
 
 #include <config.h>
 #include <stdarg.h>
 #include <unistd.h>
 
-#if defined(HAVE_W32_SYSTEM) && !defined(HAVE_W32CE_SYSTEM)
-# define USE_W32_CONSOLE 1
-#endif
-
 #ifdef HAVE_TCGETATTR
-#include <termios.h>
+# include <termios.h>
 #else
-#ifdef HAVE_TERMIO_H
+# ifdef HAVE_TERMIO_H
 /* simulate termios with termio */
-#include <termio.h>
-#define termios termio
-#define tcsetattr ioctl
-#define TCSAFLUSH TCSETAF
-#define tcgetattr(A,B) ioctl(A,TCGETA,B)
-#define HAVE_TCGETATTR
-#endif
+#  include <termio.h>
+#  define termios termio
+#  define tcsetattr ioctl
+#  define TCSAFLUSH TCSETAF
+#  define tcgetattr(A,B) ioctl(A,TCGETA,B)
+#  define HAVE_TCGETATTR
+# endif
 #endif
-#ifdef USE_W32_CONSOLE
+#ifdef HAVE_W32_SYSTEM
 # ifdef HAVE_WINSOCK2_H
 #  include <winsock2.h>
 # endif
 
 #include "util.h"
 #include "ttyio.h"
+#include "i18n.h"
 #include "common-defs.h"
 
 #define CONTROL_D ('D' - 'A' + 1)
 
 
-#ifdef USE_W32_CONSOLE
+#ifdef HAVE_W32_SYSTEM
 static struct {
     HANDLE in, out;
 } con;
 #define DEF_INPMODE  (ENABLE_LINE_INPUT|ENABLE_ECHO_INPUT    \
-                                       |ENABLE_PROCESSED_INPUT )
+                                       |ENABLE_PROCESSED_INPUT )
 #define HID_INPMODE  (ENABLE_LINE_INPUT|ENABLE_PROCESSED_INPUT )
 #define DEF_OUTMODE  (ENABLE_WRAP_AT_EOL_OUTPUT|ENABLE_PROCESSED_OUTPUT)
 
-#else /* yeah, we have a real OS */
+#else /* Unix */
 static FILE *ttyfp = NULL;
-#endif
+#endif /* Unix */
 
 static int initialized;
 static int last_prompt_len;
@@ -145,120 +144,136 @@ tty_get_ttyname (void)
 static void
 cleanup(void)
 {
-    if( restore_termios ) {
-       restore_termios = 0; /* do it prios in case it is interrupted again */
-       if( tcsetattr(fileno(ttyfp), TCSAFLUSH, &termsave) )
-           log_error("tcsetattr() failed: %s\n", strerror(errno) );
+  if (restore_termios)
+    {
+      restore_termios = 0; /* do it prior in case it is interrupted again */
+      if (tcsetattr(fileno(ttyfp), TCSAFLUSH, &termsave))
+        log_error ("tcsetattr() failed: %s\n", strerror (errno));
     }
 }
-#endif
+#endif /*HAVE_TCGETATTR*/
+
 
 static void
 init_ttyfp(void)
 {
-    if( initialized )
-       return;
+  if (initialized)
+    return;
 
-#if defined(USE_W32_CONSOLE)
+#ifdef HAVE_W32_SYSTEM
+  {
+    SECURITY_ATTRIBUTES sa;
+
+    memset (&sa, 0, sizeof(sa));
+    sa.nLength = sizeof(sa);
+    sa.bInheritHandle = TRUE;
+    con.out = CreateFileA ("CONOUT$", GENERIC_READ|GENERIC_WRITE,
+                           FILE_SHARE_READ|FILE_SHARE_WRITE,
+                           &sa, OPEN_EXISTING, 0, 0 );
+    if (con.out == INVALID_HANDLE_VALUE)
+      log_fatal ("open(CONOUT$) failed: %s\n", w32_strerror (-1));
+
+    memset (&sa, 0, sizeof(sa));
+    sa.nLength = sizeof(sa);
+    sa.bInheritHandle = TRUE;
+    con.in = CreateFileA ("CONIN$", GENERIC_READ|GENERIC_WRITE,
+                          FILE_SHARE_READ|FILE_SHARE_WRITE,
+                          &sa, OPEN_EXISTING, 0, 0 );
+    if (con.in == INVALID_HANDLE_VALUE)
+      log_fatal ("open(CONIN$) failed: %s\n", w32_strerror (-1));
+  }
+  SetConsoleMode (con.in, DEF_INPMODE);
+  SetConsoleMode (con.out, DEF_OUTMODE);
+
+#else /* Unix */
+  ttyfp = batchmode? stderr : fopen (tty_get_ttyname (), "r+");
+  if (!ttyfp)
     {
-       SECURITY_ATTRIBUTES sa;
-
-       memset(&sa, 0, sizeof(sa));
-       sa.nLength = sizeof(sa);
-       sa.bInheritHandle = TRUE;
-       con.out = CreateFileA( "CONOUT$", GENERIC_READ|GENERIC_WRITE,
-                              FILE_SHARE_READ|FILE_SHARE_WRITE,
-                              &sa, OPEN_EXISTING, 0, 0 );
-       if( con.out == INVALID_HANDLE_VALUE )
-           log_fatal("open(CONOUT$) failed: rc=%d", (int)GetLastError() );
-       memset(&sa, 0, sizeof(sa));
-       sa.nLength = sizeof(sa);
-       sa.bInheritHandle = TRUE;
-       con.in = CreateFileA( "CONIN$", GENERIC_READ|GENERIC_WRITE,
-                              FILE_SHARE_READ|FILE_SHARE_WRITE,
-                              &sa, OPEN_EXISTING, 0, 0 );
-       if( con.in == INVALID_HANDLE_VALUE )
-           log_fatal("open(CONIN$) failed: rc=%d", (int)GetLastError() );
+      log_error ("cannot open '%s': %s\n", tty_get_ttyname (), strerror(errno));
+      exit (2);
     }
-    SetConsoleMode(con.in, DEF_INPMODE );
-    SetConsoleMode(con.out, DEF_OUTMODE );
-
-#elif defined(__EMX__)
-    ttyfp = stdout; /* Fixme: replace by the real functions: see wklib */
-    if (my_rl_init_stream)
-      my_rl_init_stream (ttyfp);
-#elif defined (HAVE_W32CE_SYSTEM)
-    ttyfp = stderr;
-#else
-    ttyfp = batchmode? stderr : fopen (tty_get_ttyname (), "r+");
-    if( !ttyfp ) {
-       log_error("cannot open '%s': %s\n", tty_get_ttyname (),
-                  strerror(errno) );
-       exit(2);
-    }
-    if (my_rl_init_stream)
-      my_rl_init_stream (ttyfp);
-#endif
-
+  if (my_rl_init_stream)
+    my_rl_init_stream (ttyfp);
+#endif /* Unix */
 
 #ifdef HAVE_TCGETATTR
-    atexit( cleanup );
+  atexit (cleanup);
 #endif
-    initialized = 1;
+
+  initialized = 1;
 }
 
 
 int
 tty_batchmode( int onoff )
 {
-    int old = batchmode;
-    if( onoff != -1 )
-       batchmode = onoff;
-    return old;
+  int old = batchmode;
+  if (onoff != -1)
+    batchmode = onoff;
+  return old;
 }
 
 int
 tty_no_terminal(int onoff)
 {
-    int old = no_terminal;
-    no_terminal = onoff ? 1 : 0;
-    return old;
+  int old = no_terminal;
+  no_terminal = onoff ? 1 : 0;
+  return old;
 }
 
+
+#ifdef HAVE_W32_SYSTEM
+/* Write the UTF-8 encoded STRING to the console.  */
+static void
+w32_write_console (const char *string)
+{
+  wchar_t *wstring;
+  DWORD n, nwritten;
+
+  wstring = utf8_to_wchar (string);
+  if (!wstring)
+    log_fatal ("w32_write_console failed: %s", strerror (errno));
+  n = wcslen (wstring);
+
+  if (!WriteConsoleW (con.out, wstring, n, &nwritten, NULL))
+    log_fatal ("WriteConsole failed: %s", w32_strerror (-1));
+  if (n != nwritten)
+    log_fatal ("WriteConsole failed: %lu != %lu\n",
+               (unsigned long)n, (unsigned long)nwritten);
+  last_prompt_len += n;
+  xfree (wstring);
+}
+#endif /*HAVE_W32_SYSTEM*/
+
+
 void
-tty_printfconst char *fmt, ... )
+tty_printf (const char *fmt, ... )
 {
-    va_list arg_ptr;
+  va_list arg_ptr;
+
+  if (no_terminal)
+    return;
 
-    if (no_terminal)
-       return;
+  if (!initialized)
+    init_ttyfp ();
 
-    if( !initialized )
-       init_ttyfp();
+  va_start (arg_ptr, fmt);
 
-    va_start( arg_ptr, fmt ) ;
-#ifdef USE_W32_CONSOLE
-    {
-        char *buf = NULL;
-        int n;
-       DWORD nwritten;
-
-       n = vasprintf(&buf, fmt, arg_ptr);
-       if( !buf )
-           log_bug("vasprintf() failed\n");
-
-       if( !WriteConsoleA( con.out, buf, n, &nwritten, NULL ) )
-           log_fatal("WriteConsole failed: rc=%d", (int)GetLastError() );
-       if( n != nwritten )
-           log_fatal("WriteConsole failed: %d != %d\n", n, (int)nwritten );
-       last_prompt_len += n;
-        xfree (buf);
-    }
-#else
-    last_prompt_len += vfprintf(ttyfp,fmt,arg_ptr) ;
-    fflush(ttyfp);
-#endif
-    va_end(arg_ptr);
+#ifdef HAVE_W32_SYSTEM
+  {
+    char *buf = NULL;
+
+    vasprintf(&buf, fmt, arg_ptr);
+    if (!buf)
+      log_bug ("vasprintf() failed\n");
+    w32_write_console (buf);
+    xfree (buf);
+  }
+#else /* Unix */
+  last_prompt_len += vfprintf (ttyfp, fmt, arg_ptr) ;
+  fflush (ttyfp);
+#endif /* Unix */
+  va_end(arg_ptr);
 }
 
 
@@ -284,27 +299,22 @@ tty_fprintf (estream_t fp, const char *fmt, ... )
     init_ttyfp ();
 
   va_start (arg_ptr, fmt);
-#ifdef USE_W32_CONSOLE
+
+#ifdef HAVE_W32_SYSTEM
   {
     char *buf = NULL;
-    int n;
-    DWORD nwritten;
 
-    n = vasprintf(&buf, fmt, arg_ptr);
+    vasprintf (&buf, fmt, arg_ptr);
     if (!buf)
-      log_bug("vasprintf() failed\n");
-
-    if (!WriteConsoleA( con.out, buf, n, &nwritten, NULL ))
-      log_fatal("WriteConsole failed: rc=%d", (int)GetLastError() );
-    if (n != nwritten)
-      log_fatal("WriteConsole failed: %d != %d\n", n, (int)nwritten );
-    last_prompt_len += n;
+      log_bug ("vasprintf() failed\n");
+    w32_write_console (buf);
     xfree (buf);
   }
-#else
+#else /* Unix */
   last_prompt_len += vfprintf(ttyfp,fmt,arg_ptr) ;
   fflush(ttyfp);
-#endif
+#endif /* Unix */
+
   va_end(arg_ptr);
 }
 
@@ -326,7 +336,7 @@ do_print_string (estream_t fp, const byte *p, size_t n )
       return;
     }
 
-#ifdef USE_W32_CONSOLE
+#ifdef HAVE_W32_SYSTEM
   /* Not so effective, change it if you want */
   for (; n; n--, p++)
     {
@@ -342,7 +352,7 @@ do_print_string (estream_t fp, const byte *p, size_t n )
       else
         tty_printf ("%c", *p);
     }
-#else
+#else /* Unix */
   for (; n; n--, p++)
     {
       if (iscntrl (*p))
@@ -358,209 +368,203 @@ do_print_string (estream_t fp, const byte *p, size_t n )
       else
         putc (*p, ttyfp);
     }
-#endif
+#endif /* Unix */
 }
 
 
 void
 tty_print_utf8_string2 (estream_t fp, const byte *p, size_t n, size_t max_n)
 {
-    size_t i;
-    char *buf;
+  size_t i;
+  char *buf;
 
-    if (no_terminal && !fp)
-       return;
+  if (no_terminal && !fp)
+    return;
 
-    /* we can handle plain ascii simpler, so check for it first */
-    for(i=0; i < n; i++ ) {
-       if( p[i] & 0x80 )
-           break;
+  /* We can handle plain ascii simpler, so check for it first. */
+  for(i=0; i < n; i++ )
+    {
+      if (p[i] & 0x80)
+        break;
     }
-    if( i < n ) {
-       buf = utf8_to_native( (const char *)p, n, 0 );
-       if( max_n && (strlen( buf ) > max_n )) {
-           buf[max_n] = 0;
-       }
-       /*(utf8 conversion already does the control character quoting)*/
-       tty_fprintf (fp, "%s", buf);
-       xfree (buf);
+  if (i < n)
+    {
+      buf = utf8_to_native ((const char *)p, n, 0);
+      if (max_n && (strlen (buf) > max_n))
+        buf[max_n] = 0;
+      /* (utf8_to_native already did  the control character quoting) */
+      tty_fprintf (fp, "%s", buf);
+      xfree (buf);
     }
-    else {
-       if( max_n && (n > max_n) ) {
-           n = max_n;
-       }
-       do_print_string (fp, p, n );
+  else
+    {
+      if (max_n && (n > max_n))
+        n = max_n;
+      do_print_string (fp, p, n );
     }
 }
 
 
 void
-tty_print_utf8_string( const byte *p, size_t n )
+tty_print_utf8_string (const byte *p, size_t n)
 {
   tty_print_utf8_string2 (NULL, p, n, 0);
 }
 
 
+/* Read a string from the tty using PROMPT.  If HIDDEN is set the
+ * input is not echoed.  */
 static char *
-do_get( const char *prompt, int hidden )
+do_get (const char *prompt, int hidden)
 {
-    char *buf;
-#ifndef __riscos__
-    byte cbuf[1];
+  char *buf;
+  int  n;  /* Allocated size of BUF.  */
+  int  i;  /* Number of bytes in BUF. */
+  int  c;
+#ifdef HAVE_W32_SYSTEM
+  char *utf8buf;
+  int errcount = 0;
+#else
+  byte cbuf[1];
 #endif
-    int c, n, i;
 
-    if( batchmode ) {
-       log_error("Sorry, we are in batchmode - can't get input\n");
-       exit(2);
+  if (batchmode)
+    {
+      log_error (_("Sorry, we are in batchmode - can't get input\n"));
+      exit (2);
     }
 
-    if (no_terminal) {
-       log_error("Sorry, no terminal at all requested - can't get input\n");
-       exit(2);
+  if (no_terminal)
+    {
+      log_error (_("Sorry, no terminal at all requested - can't get input\n"));
+      exit (2);
     }
 
-    if( !initialized )
-       init_ttyfp();
+  if( !initialized )
+    init_ttyfp();
 
-    last_prompt_len = 0;
-    tty_printf( "%s", prompt );
-    buf = xmalloc((n=50));
-    i = 0;
-
-#ifdef USE_W32_CONSOLE
-    if( hidden )
-       SetConsoleMode(con.in, HID_INPMODE );
-
-    for(;;) {
-       DWORD nread;
-
-       if( !ReadConsoleA( con.in, cbuf, 1, &nread, NULL ) )
-           log_fatal("ReadConsole failed: rc=%d", (int)GetLastError() );
-       if( !nread )
-           continue;
-       if( *cbuf == '\n' )
-           break;
-
-       if( !hidden )
-           last_prompt_len++;
-       c = *cbuf;
-       if( c == '\t' )
-           c = ' ';
-       else if( c > 0xa0 )
-           ; /* we don't allow 0xa0, as this is a protected blank which may
-              * confuse the user */
-       else if( iscntrl(c) )
-           continue;
-       if( !(i < n-1) ) {
-           n += 50;
-           buf = xrealloc (buf, n);
-       }
-       buf[i++] = c;
-    }
+  last_prompt_len = 0;
+  tty_printf( "%s", prompt );
+  buf = xmalloc((n=50));
+  i = 0;
 
-    if( hidden )
-       SetConsoleMode(con.in, DEF_INPMODE );
-
-#elif defined(__riscos__) || defined(HAVE_W32CE_SYSTEM)
-    do {
-#ifdef HAVE_W32CE_SYSTEM
-      /* Using getchar is not a correct solution but for now it
-         doesn't matter because we have no real console at all.  We
-         should rework this as soon as we have switched this entire
-         module to estream.  */
-        c = getchar();
-#else
-        c = riscos_getchar();
-#endif
-        if (c == 0xa || c == 0xd) { /* Return || Enter */
-            c = (int) '\n';
-        } else if (c == 0x8 || c == 0x7f) { /* Backspace || Delete */
-            if (i>0) {
-                i--;
-                if (!hidden) {
-                    last_prompt_len--;
-                    fputc(8, ttyfp);
-                    fputc(32, ttyfp);
-                    fputc(8, ttyfp);
-                    fflush(ttyfp);
-                }
-            } else {
-                fputc(7, ttyfp);
-                fflush(ttyfp);
-            }
-            continue;
-        } else if (c == (int) '\t') { /* Tab */
-            c = ' ';
-        } else if (c > 0xa0) {
-            ; /* we don't allow 0xa0, as this is a protected blank which may
-               * confuse the user */
-        } else if (iscntrl(c)) {
-            continue;
+#ifdef HAVE_W32_SYSTEM
+  if (hidden)
+    SetConsoleMode(con.in, HID_INPMODE );
+
+  utf8buf = NULL;
+  for (;;)
+    {
+      DWORD nread;
+      wchar_t wbuf[2];
+      const unsigned char *s;
+
+      if (!ReadConsoleW (con.in, wbuf, 1, &nread, NULL))
+        log_fatal ("ReadConsole failed: %s", w32_strerror (-1));
+      if (!nread)
+        continue;
+
+      wbuf[1] = 0;
+      xfree (utf8buf);
+      utf8buf = wchar_to_utf8 (wbuf);
+      if (!utf8buf)
+        {
+          log_info ("wchar_to_utf8 failed: %s\n", strerror (errno));
+          if (++errcount > 10)
+            log_fatal (_("too many errors; giving up\n"));
+          continue;
         }
-        if(!(i < n-1)) {
-            n += 50;
-            buf = xrealloc (buf, n);
+      if (*utf8buf == '\n')
+        {
+          if (utf8buf[1])
+            {
+              log_info ("ReadConsole returned more than requested"
+                        " (0x0a,0x%02x)\n", utf8buf[1]);
+              if (++errcount > 10)
+                log_fatal (_("too many errors; giving up\n"));
+            }
+          break;
         }
-        buf[i++] = c;
-        if (!hidden) {
-           last_prompt_len++;
-            fputc(c, ttyfp);
-            fflush(ttyfp);
+      if (!hidden)
+        last_prompt_len++;
+
+      for (s=utf8buf; *s; s++)
+        {
+          c = *s;
+          if (c == '\t')
+            c = ' ';  /* Map tab to a space.  */
+          else if ((c >= 0 && c <= 0x1f) || c == 0x7f)
+            continue; /* Remove control characters.  */
+          if (!(i < n-1))
+            {
+              n += 50;
+              buf = xrealloc (buf, n);
+            }
+          buf[i++] = c;
         }
-    } while (c != '\n');
-    i = (i>0) ? i-1 : 0;
-#else /* Other systems. */
-    if( hidden ) {
+    }
+  xfree (utf8buf);
+
+  if (hidden)
+    SetConsoleMode(con.in, DEF_INPMODE );
+
+#else /* Unix */
+
+  if (hidden)
+    {
 #ifdef HAVE_TCGETATTR
-       struct termios term;
-
-       if( tcgetattr(fileno(ttyfp), &termsave) )
-           log_fatal("tcgetattr() failed: %s\n", strerror(errno) );
-       restore_termios = 1;
-       term = termsave;
-       term.c_lflag &= ~(ECHO | ECHOE | ECHOK | ECHONL);
-       if( tcsetattr( fileno(ttyfp), TCSAFLUSH, &term ) )
-           log_fatal("tcsetattr() failed: %s\n", strerror(errno) );
-#endif
+      struct termios term;
+
+      if (tcgetattr(fileno(ttyfp), &termsave))
+        log_fatal ("tcgetattr() failed: %s\n", strerror(errno));
+      restore_termios = 1;
+      term = termsave;
+      term.c_lflag &= ~(ECHO | ECHOE | ECHOK | ECHONL);
+      if (tcsetattr( fileno(ttyfp), TCSAFLUSH, &term ) )
+        log_fatal("tcsetattr() failed: %s\n", strerror(errno));
+#endif /*HAVE_TCGETATTR*/
     }
 
-    /* fixme: How can we avoid that the \n is echoed w/o disabling
-     * canonical mode - w/o this kill_prompt can't work */
-    while( read(fileno(ttyfp), cbuf, 1) == 1 && *cbuf != '\n' ) {
-       if( !hidden )
-           last_prompt_len++;
-       c = *cbuf;
-       if( c == CONTROL_D )
-           log_info("control d found\n");
-       if( c == '\t' )
-           c = ' ';
-       else if( c > 0xa0 )
-           ; /* we don't allow 0xa0, as this is a protected blank which may
-              * confuse the user */
-       else if( iscntrl(c) )
-           continue;
-       if( !(i < n-1) ) {
-           n += 50;
-           buf = xrealloc (buf, n );
-       }
-       buf[i++] = c;
+  /* fixme: How can we avoid that the \n is echoed w/o disabling
+   * canonical mode - w/o this kill_prompt can't work */
+  while (read(fileno(ttyfp), cbuf, 1) == 1 && *cbuf != '\n')
+    {
+      if (!hidden)
+        last_prompt_len++;
+      c = *cbuf;
+      if (c == CONTROL_D)
+        log_info (_("Control-D detected\n"));
+
+      if (c == '\t') /* Map tab to a space.  */
+        c = ' ';
+      else if ( (c >= 0 && c <= 0x1f) || c == 0x7f)
+        continue; /* Skip all other ASCII control characters.  */
+      if (!(i < n-1))
+        {
+          n += 50;
+          buf = xrealloc (buf, n);
+        }
+      buf[i++] = c;
     }
-    if( *cbuf != '\n' ) {
-       buf[0] = CONTROL_D;
-       i = 1;
+
+  if (*cbuf != '\n')
+    {
+      buf[0] = CONTROL_D;
+      i = 1;
     }
 
-    if( hidden ) {
+  if (hidden)
+    {
 #ifdef HAVE_TCGETATTR
-       if( tcsetattr(fileno(ttyfp), TCSAFLUSH, &termsave) )
-           log_error("tcsetattr() failed: %s\n", strerror(errno) );
-       restore_termios = 0;
-#endif
+      if (tcsetattr (fileno(ttyfp), TCSAFLUSH, &termsave))
+        log_error ("tcsetattr() failed: %s\n", strerror(errno));
+      restore_termios = 0;
+#endif /*HAVE_TCGETATTR*/
     }
-#endif /* end unix version */
-    buf[i] = 0;
-    return buf;
+#endif /* Unix */
+
+  buf[i] = 0;
+  return buf;
 }
 
 
@@ -602,8 +606,9 @@ tty_get( const char *prompt )
     return do_get ( prompt, 0 );
 }
 
+
 /* Variable argument version of tty_get.  The prompt is actually a
  format string with arguments.  */
* format string with arguments.  */
 char *
 tty_getf (const char *promptfmt, ... )
 {
@@ -621,52 +626,54 @@ tty_getf (const char *promptfmt, ... )
 }
 
 
-
 char *
 tty_get_hidden( const char *prompt )
 {
-    return do_get( prompt, 1 );
+  return do_get (prompt, 1);
 }
 
 
 void
-tty_kill_prompt()
+tty_kill_prompt (void)
 {
-    if ( no_terminal )
-       return;
+  if (no_terminal)
+    return;
 
-    if( !initialized )
-       init_ttyfp();
+  if (!initialized)
+    init_ttyfp ();
 
-    if( batchmode )
-       last_prompt_len = 0;
-    if( !last_prompt_len )
-       return;
-#ifdef USE_W32_CONSOLE
-    tty_printf("\r%*s\r", last_prompt_len, "");
-#else
-    {
-       int i;
-       putc('\r', ttyfp);
-       for(i=0; i < last_prompt_len; i ++ )
-           putc(' ', ttyfp);
-       putc('\r', ttyfp);
-       fflush(ttyfp);
-    }
-#endif
+  if (batchmode)
     last_prompt_len = 0;
+  if (!last_prompt_len)
+    return;
+#ifdef HAVE_W32_SYSTEM
+  tty_printf ("\r%*s\r", last_prompt_len, "");
+#else /* Unix */
+  {
+    int i;
+    putc ('\r', ttyfp);
+    for (i=0; i < last_prompt_len; i ++ )
+      putc (' ', ttyfp);
+    putc ('\r', ttyfp);
+    fflush (ttyfp);
+  }
+#endif /* Unix */
+  last_prompt_len = 0;
 }
 
 
 int
 tty_get_answer_is_yes( const char *prompt )
 {
-    int yes;
-    char *p = tty_get( prompt );
-    tty_kill_prompt();
-    yes = answer_is_yes(p);
-    xfree(p);
-    return yes;
+  int yes;
+  char *p;
+
+  p = tty_get (prompt);
+  tty_kill_prompt ();
+  yes = answer_is_yes (p);
+  xfree (p);
+
+  return yes;
 }
 
 
@@ -712,7 +719,7 @@ tty_disable_completion (void)
 
   my_rl_inhibit_completion (1);
 }
-#endif
+#endif /* HAVE_LIBREADLINE */
 
 void
 tty_cleanup_after_signal (void)
index 75cdee0..ed0355f 100644 (file)
@@ -183,6 +183,12 @@ gpg_error_t make_canon_sexp_pad (gcry_sexp_t sexp, int secure,
 gpg_error_t keygrip_from_canon_sexp (const unsigned char *key, size_t keylen,
                                      unsigned char *grip);
 int cmp_simple_canon_sexp (const unsigned char *a, const unsigned char *b);
+int cmp_canon_sexp (const unsigned char *a, size_t alen,
+                    const unsigned char *b, size_t blen,
+                    int (*tcmp)(void *ctx, int depth,
+                                const unsigned char *aval, size_t avallen,
+                                const unsigned char *bval, size_t bvallen),
+                    void *tcmpctx);
 unsigned char *make_simple_sexp_from_hexstr (const char *line,
                                              size_t *nscanned);
 int hash_algo_from_sigval (const unsigned char *sigval);
@@ -195,6 +201,14 @@ gpg_error_t get_rsa_pk_from_canon_sexp (const unsigned char *keydata,
                                         size_t *r_nlen,
                                         unsigned char const **r_e,
                                         size_t *r_elen);
+gpg_error_t get_ecc_q_from_canon_sexp (const unsigned char *keydata,
+                                       size_t keydatalen,
+                                       unsigned char const **r_q,
+                                       size_t *r_qlen);
+gpg_error_t uncompress_ecc_q_in_canon_sexp (const unsigned char *keydata,
+                                            size_t keydatalen,
+                                            unsigned char **r_newkeydata,
+                                            size_t *r_newkeydatalen);
 
 int get_pk_algo_from_key (gcry_sexp_t key);
 int get_pk_algo_from_canon_sexp (const unsigned char *keydata,
@@ -202,6 +216,7 @@ int get_pk_algo_from_canon_sexp (const unsigned char *keydata,
 char *pubkey_algo_string (gcry_sexp_t s_pkey, enum gcry_pk_algos *r_algoid);
 const char *pubkey_algo_to_string (int algo);
 const char *hash_algo_to_string (int algo);
+const char *cipher_mode_to_string (int mode);
 
 /*-- convert.c --*/
 int hex2bin (const char *string, void *buffer, size_t length);
@@ -230,7 +245,8 @@ int openpgp_oidbuf_is_ed25519 (const void *buf, size_t len);
 int openpgp_oid_is_ed25519 (gcry_mpi_t a);
 int openpgp_oidbuf_is_cv25519 (const void *buf, size_t len);
 int openpgp_oid_is_cv25519 (gcry_mpi_t a);
-const char *openpgp_curve_to_oid (const char *name, unsigned int *r_nbits);
+const char *openpgp_curve_to_oid (const char *name,
+                                  unsigned int *r_nbits, int *r_algo);
 const char *openpgp_oid_to_curve (const char *oid, int canon);
 const char *openpgp_enum_curves (int *idxp);
 const char *openpgp_is_curve_supported (const char *name,
@@ -303,6 +319,8 @@ char *xasprintf (const char *fmt, ...) GPGRT_ATTR_PRINTF(1,2);
 /* This is now an alias to estream_asprintf.  */
 char *xtryasprintf (const char *fmt, ...) GPGRT_ATTR_PRINTF(1,2);
 
+void *xtryreallocarray (void *a, size_t oldnmemb, size_t nmemb, size_t size);
+
 /* Replacement for gcry_cipher_algo_name.  */
 const char *gnupg_cipher_algo_name (int algo);
 
diff --git a/common/w32-cmdline.c b/common/w32-cmdline.c
new file mode 100644 (file)
index 0000000..85d5752
--- /dev/null
@@ -0,0 +1,450 @@
+/* w32-cmdline.c - Command line helper functions needed in Windows
+ * Copyright (C) 2021 g10 Code GmbH
+ *
+ * This file is part of GnuPG.
+ *
+ * This file is free software; you can redistribute it and/or modify
+ * it under the terms of either
+ *
+ *   - the GNU Lesser General Public License as published by the Free
+ *     Software Foundation; either version 3 of the License, or (at
+ *     your option) any later version.
+ *
+ * or
+ *
+ *   - the GNU General Public License as published by the Free
+ *     Software Foundation; either version 2 of the License, or (at
+ *     your option) any later version.
+ *
+ * or both in parallel, as here.
+ *
+ * This file is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, see <https://www.gnu.org/licenses/>.
+ */
+
+#include <config.h>
+
+#ifdef HAVE_W32_SYSTEM
+# define WIN32_LEAN_AND_MEAN
+# include <windows.h>
+#endif /*!HAVE_W32_SYSTEM*/
+
+#include "util.h"
+#include "w32help.h"
+
+
+/* Helper object for add_arg.  */
+struct add_arg_s
+{
+  char **argv; /* Calloced array.  */
+  int argc;    /* Number of items in argc. */
+  int size;    /* Allocated size of argv.  */
+};
+
+
+/* Add STRING to the argv of PARM.  Returns 0 on success; on error
+ * sets ERRNO and returns -1.  */
+static int
+add_arg (struct add_arg_s *parm, const char *string)
+{
+  if (parm->argc == parm->size)
+    {
+      char **newargv;
+      int newsize;
+
+      if (parm->size < 256)
+        newsize = ((parm->size + 31) / 32 + 1) * 32;
+      else
+        newsize = ((parm->size + 255) / 256 + 1) * 256;
+      /* We allocate one more item for the trailing NULL.  */
+      newargv = xtryreallocarray (parm->argv, parm->size, newsize+1,
+                                  sizeof *newargv);
+      if (!newargv)
+        return -1;
+      parm->argv = newargv;
+      parm->size = newsize;
+    }
+  parm->argv[parm->argc] = xtrystrdup (string);
+  if (!parm->argv[parm->argc])
+    return -1;
+  parm->argc++;
+  return 0;
+}
+
+
+/* Glob PATTERN and add to the argv of PARM.  Returns 0 on success; on
+ * error sets ERRNO and returns -1.  */
+static int
+glob_arg (struct add_arg_s *parm, const char *pattern)
+{
+  int rc;
+  const char *s;
+
+#ifdef HAVE_W32_SYSTEM
+  HANDLE hd;
+  WIN32_FIND_DATAW dir;
+  uintptr_t pos;  /* Offset to the last slash in pattern/buffer or 0.  */
+  char *buffer, *p;
+  int any = 0;
+
+  s = strpbrk (pattern, "*?");
+  if (!s)
+    {
+      /* Called without wildcards.  */
+      return add_arg (parm, pattern);
+    }
+  for (; s != pattern && *s != '/' && *s != '\\'; s--)
+    ;
+  pos = s - pattern;
+  if (*s == '/' || *s == L'\\')
+    pos++;
+
+  {
+    wchar_t *wpattern;
+
+    wpattern = utf8_to_wchar (pattern);
+    if (!wpattern)
+      return -1;
+
+    hd = FindFirstFileW (wpattern, &dir);
+    xfree (wpattern);
+  }
+  if (hd == INVALID_HANDLE_VALUE)
+    return add_arg (parm, pattern);
+
+  /* We allocate enough space to hold all kind of UTF-8 strings.  */
+  buffer = xtrymalloc (strlen (pattern) + MAX_PATH*6 + 1);
+  if (!buffer)
+    {
+      FindClose (hd);
+      return -1;
+    }
+  mem2str (buffer, pattern, pos+1);
+  for (p=buffer; *p; p++)
+    if (*p == '\\')
+      *p = '/';
+
+  do
+    {
+      if (!(dir.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY))
+        {
+          char *name;
+
+          name = wchar_to_utf8 (dir.cFileName);
+          if (!name)
+            rc = -1;
+          else
+            {
+              mem2str (buffer + pos, name, MAX_PATH*6);
+              xfree (name);
+              rc = add_arg (parm, buffer);
+            }
+          if (rc)
+            {
+              FindClose (hd);
+              xfree (buffer);
+              return rc;
+            }
+          any = 1;
+        }
+    }
+  while (FindNextFileW (hd, &dir));
+
+  FindClose (hd);
+  xfree (buffer);
+
+  rc = any? 0 : add_arg (parm, pattern);
+
+#else /* Unix */
+
+  /* We use some dummy code here because this is only used in the Unix
+   * test suite.  */
+  s = strpbrk (pattern, "*?");
+  if (!s)
+    {
+      /* Called without wildcards.  */
+      return add_arg (parm, pattern);
+    }
+
+  if (strchr (pattern, '?'))
+    rc = add_arg (parm, "[? follows]");
+  else if (strchr (pattern, '*'))
+    rc = add_arg (parm, "[* follows]");
+  else
+    rc = add_arg (parm, "[no glob!]");  /* Should not happen.  */
+  if (!rc)
+    rc = add_arg (parm, pattern);
+
+#endif /* Unix */
+
+  return rc;
+}
+
+
+/* Return the number of backslashes.  */
+static unsigned int
+count_backslashes (const char *s)
+{
+  unsigned int count = 0;
+
+  for ( ;*s == '\\'; s++)
+    count++;
+  return count;
+}
+
+
+static void
+strip_one_arg (char *string, int endquote)
+{
+  char *s, *d;
+  unsigned int n, i;
+
+  for (s=d=string; *s; s++)
+    if (*s == '\\')
+      {
+        n = count_backslashes (s);
+        if (s[n] == '"')
+          {
+            for (i=0; i < n/2; i++)
+              *d++ = '\\';
+            if ((n&1)) /* Odd number of backslashes.  */
+              *d++ = '"';  /* Print the quote.  */
+          }
+        else if (!s[n] && endquote)
+          {
+            for (i=0; i < n/2; i++)
+              *d++ = '\\';
+            s--;
+          }
+        else /* Print all backslashes.  */
+          {
+            for (i=0; i < n; i++)
+              *d++ = '\\';
+            n--; /* Adjust for the increment in the for.  */
+          }
+        s += n;
+      }
+    else if (*s == '"' && s[1])
+      *d++ = *++s;
+    else
+      *d++ = *s;
+  *d = 0;
+}
+
+
+/* Helper for parse_w32_commandline.  If ARGV and ARGVFLAGS are not
+ * NULL, ARGVFLAGS is expected to be allocated at the same size of
+ * ARGV and zeroed; on return 1 is stored for all arguments which are
+ * quoted (args like (foo"bar"baz") also count as quoted.  */
+static int
+parse_cmdstring (char *string, char **argv, unsigned char *argvflags)
+{
+  int argc = 0;
+  int inquote = 0;
+  char *p0, *p;
+  unsigned int n;
+
+  p0 = string;
+  for (p=string; *p; p++)
+    {
+      if (inquote)
+        {
+          if (*p == '\\' && p[1] == '"')
+            p++;
+          else if (*p == '\\' && p[1] == '\\')
+            p++;
+          else if (*p == '"')
+            {
+              if (p[1] == ' ' || p[1] == '\t' || !p[1])
+                {
+                  if (argv)
+                    {
+                      *p = 0;
+                      strip_one_arg (p0, 1);
+                      argv[argc] = p0;
+                      if (argvflags)
+                        argvflags[argc] = 1;
+                    }
+                  argc++;
+                  p0 = NULL;
+                }
+              inquote = 0;
+            }
+        }
+      else if (*p == '\\' && (n=count_backslashes (p)))
+        {
+          if (!p0) /* First non-WS; set start.  */
+            p0 = p;
+          if (p[n] == '"')
+            {
+              if (!(n&1)) /* Even number.  */
+                inquote = 1;
+              p++;
+            }
+          p += n;
+        }
+      else if (*p == '"')
+        {
+          inquote = 1;
+          if (!p0 || p == string) /* First non-WS or first char; set start.  */
+            p0 = p + 1;
+        }
+      else if (*p == ' ' || *p == '\t')
+        {
+          if (p0) /* We are in an argument and reached WS.  */
+            {
+              if (argv)
+                {
+                  *p = 0;
+                  strip_one_arg (p0, inquote);
+                  argv[argc] = p0;
+                  if (argvflags && inquote)
+                    argvflags[argc] = 1;
+                }
+              argc++;
+              p0 = NULL;
+            }
+        }
+      else if (!p0) /* First non-WS; set start.  */
+        p0 = p;
+    }
+
+  if (inquote || p0)
+    {
+      /* Closing quote missing (we accept this as argument anyway) or
+       * an open argument.  */
+      if (argv)
+        {
+          *p = 0;
+          strip_one_arg (p0, inquote);
+          argv[argc] = p0;
+          if (argvflags && inquote)
+            argvflags[argc] = 1;
+        }
+      argc++;
+    }
+
+  return argc;
+}
+
+/* This is a Windows command line parser, returning an array with
+ * strings and its count.  The argument CMDLINE is expected to be
+ * utf-8 encoded and may be modified after returning from this
+ * function.  The returned array points into CMDLINE, so this should
+ * not be freed.  If GLOBING is set to true globing is done for all
+ * items.  Returns NULL on error.  The number of items in the array is
+ * returned at R_ARGC.  If R_ITEMSALLOCED is NOT NULL, it's value is
+ * set to true if the items at R_ALLOC are allocated and not point
+ * into to CMDLINE.  */
+char **
+w32_parse_commandline (char *cmdline, int globing, int *r_argc,
+                       int *r_itemsalloced)
+{
+  int argc, i;
+  char **argv;
+  char *argvflags;
+
+  if (r_itemsalloced)
+    *r_itemsalloced = 0;
+
+  argc = parse_cmdstring (cmdline, NULL, NULL);
+  if (!argc)
+    {
+      log_error ("%s failed: %s\n", __func__, "internal error");
+      return NULL;  /* Ooops.  */
+    }
+  argv = xtrycalloc (argc+1, sizeof *argv);
+  if (!argv)
+    {
+      log_error ("%s failed: %s\n", __func__,
+                 gpg_strerror (gpg_error_from_syserror ()));
+      return NULL;  /* Ooops.  */
+    }
+  if (globing)
+    {
+      argvflags = xtrycalloc (argc+1, sizeof *argvflags);
+      if (!argvflags)
+        {
+          log_error ("%s failed: %s\n", __func__,
+                     gpg_strerror (gpg_error_from_syserror ()));
+          xfree (argv);
+          return NULL;  /* Ooops.  */
+        }
+    }
+  else
+    argvflags = NULL;
+
+  i = parse_cmdstring (cmdline, argv, argvflags);
+  if (argc != i)
+    {
+      log_error ("%s failed (argc=%d i=%d)\n", __func__, argc, i);
+      xfree (argv);
+      xfree (argvflags);
+      return NULL;  /* Ooops.  */
+    }
+
+  if (globing)
+    {
+      for (i=0; i < argc; i++)
+        if (argvflags[i] != 1 && strpbrk (argv[i], "*?"))
+          break;
+      if (i < argc)
+        {
+          /* Indeed some unquoted arguments contain wildcards.  We
+           * need to do the globing and thus a dynamically re-allocate
+           * the argv array and strdup all items.  */
+          struct add_arg_s parm;
+          int rc;
+
+          if (argc < 32)
+            parm.size = ((argc + 31) / 32 + 1) * 32;
+          else
+            parm.size = ((argc + 255) / 256 + 1) * 256;
+          parm.argc = 0;
+          /* We allocate one more item for the trailing NULL.  */
+          parm.argv = xtryreallocarray (NULL, 0, parm.size + 1,
+                                        sizeof *parm.argv);
+          if (!parm.argv)
+            {
+              log_error ("%s: error allocating array: %s\n", __func__,
+                         gpg_strerror (gpg_error_from_syserror ()));
+              xfree (argv);
+              xfree (argvflags);
+              return NULL;  /* Ooops.  */
+            }
+          rc = 0;
+          for (i=0; i < argc; i++)
+            {
+              if (argvflags[i] != 1)
+                rc = glob_arg (&parm, argv[i]);
+              else
+                rc = add_arg (&parm, argv[i]);
+              if (rc)
+                {
+                  log_error ("%s: error adding or blobing: %s\n", __func__,
+                             gpg_strerror (gpg_error_from_syserror ()));
+                  for (i=0; i < parm.argc; i++)
+                    xfree (parm.argv[i]);
+                  xfree (parm.argv);
+                  xfree (argv);
+                  xfree (argvflags);
+                  return NULL;  /* Ooops.  */
+                }
+            }
+          xfree (argv);
+          argv = parm.argv;
+          argc = parm.argc;
+          if (r_itemsalloced)
+            *r_itemsalloced = 1;
+        }
+    }
+
+  xfree (argvflags);
+  *r_argc = argc;
+  return argv;
+}
index 177efbc..edb51b8 100644 (file)
 
 #ifndef GNUPG_COMMON_W32HELP_H
 #define GNUPG_COMMON_W32HELP_H
+
+/*-- w32-cmdline.c --*/
+
+/* This module is also part of the Unix tests.  */
+char **w32_parse_commandline (char *cmdline, int globing, int *r_argv,
+                              int *r_itemsalloced);
+
+
+
 #ifdef HAVE_W32_SYSTEM
 
 /*-- w32-reg.c --*/
index 00ff66a..7e37e5b 100644 (file)
@@ -1,5 +1,6 @@
 /* xasprintf.c
  *     Copyright (C) 2003, 2005 Free Software Foundation, Inc.
+ *      Copyright (C) 2020 g10 Code GmbH
  *
  * This file is part of GnuPG.
  *
@@ -68,3 +69,55 @@ xtryasprintf (const char *fmt, ...)
     return NULL;
   return buf;
 }
+
+
+/* This is safe version of realloc useful for reallocing a calloced
+ * array.  There are two ways to call it:  The first example
+ * reallocates the array A to N elements each of SIZE but does not
+ * clear the newly allocated elements:
+ *
+ *  p = xtryreallocarray (a, n, n, nsize);
+ *
+ * Note that when NOLD is larger than N no cleaning is needed anyway.
+ * The second example reallocates an array of size NOLD to N elements
+ * each of SIZE but clear the newly allocated elements:
+ *
+ *  p = xtryreallocarray (a, nold, n, nsize);
+ *
+ * Note that xtryreallocarray (NULL, 0, n, nsize) is equivalent to
+ * xtrycalloc (n, nsize).
+ *
+ * The same function under the name gpgrt_reallocarray exists in
+ * libgpg-error but only since version 1.38 and thus we use a copy
+ * here.
+ */
+void *
+xtryreallocarray (void *a, size_t oldnmemb, size_t nmemb, size_t size)
+{
+  size_t oldbytes, bytes;
+  char *p;
+
+  bytes = nmemb * size; /* size_t is unsigned so the behavior on overflow
+                         * is defined. */
+  if (size && bytes / size != nmemb)
+    {
+      gpg_err_set_errno (ENOMEM);
+      return NULL;
+    }
+
+  p = xtryrealloc (a, bytes);
+  if (p && oldnmemb < nmemb)
+    {
+      /* OLDNMEMBS is lower than NMEMB thus the user asked for a
+         calloc.  Clear all newly allocated members.  */
+      oldbytes = oldnmemb * size;
+      if (size && oldbytes / size != oldnmemb)
+        {
+          xfree (p);
+          gpg_err_set_errno (ENOMEM);
+          return NULL;
+        }
+      memset (p + oldbytes, 0, bytes - oldbytes);
+    }
+  return p;
+}
index 1fbcc71..0796042 100755 (executable)
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for gnupg 2.2.27.
+# Generated by GNU Autoconf 2.69 for gnupg 2.2.28.
 #
 # Report bugs to <https://bugs.gnupg.org>.
 #
@@ -580,8 +580,8 @@ MAKEFLAGS=
 # Identity of this package.
 PACKAGE_NAME='gnupg'
 PACKAGE_TARNAME='gnupg'
-PACKAGE_VERSION='2.2.27'
-PACKAGE_STRING='gnupg 2.2.27'
+PACKAGE_VERSION='2.2.28'
+PACKAGE_STRING='gnupg 2.2.28'
 PACKAGE_BUGREPORT='https://bugs.gnupg.org'
 PACKAGE_URL=''
 
@@ -1537,7 +1537,7 @@ if test "$ac_init_help" = "long"; then
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures gnupg 2.2.27 to adapt to many kinds of systems.
+\`configure' configures gnupg 2.2.28 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1608,7 +1608,7 @@ fi
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of gnupg 2.2.27:";;
+     short | recursive ) echo "Configuration of gnupg 2.2.28:";;
    esac
   cat <<\_ACEOF
 
@@ -1824,7 +1824,7 @@ fi
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-gnupg configure 2.2.27
+gnupg configure 2.2.28
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2533,7 +2533,7 @@ cat >config.log <<_ACEOF
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by gnupg $as_me 2.2.27, which was
+It was created by gnupg $as_me 2.2.28, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -3127,12 +3127,7 @@ program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"`
 am_aux_dir=`cd "$ac_aux_dir" && pwd`
 
 if test x"${MISSING+set}" != xset; then
-  case $am_aux_dir in
-  *\ * | *\    *)
-    MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
-  *)
-    MISSING="\${SHELL} $am_aux_dir/missing" ;;
-  esac
+  MISSING="\${SHELL} '$am_aux_dir/missing'"
 fi
 # Use eval to expand $SHELL
 if eval "$MISSING --is-lightweight"; then
@@ -3437,7 +3432,7 @@ fi
 
 # Define the identity of the package.
  PACKAGE='gnupg'
- VERSION='2.2.27'
+ VERSION='2.2.28'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -8198,7 +8193,7 @@ $as_echo "#define HAVE_DRIVE_LETTERS 1" >>confdefs.h
         ;;
     *-apple-darwin*)
 
-$as_echo "#define _DARWIN_C_SOURCE 900000L" >>confdefs.h
+$as_echo "#define _DARWIN_C_SOURCE 1" >>confdefs.h
 
         ;;
     *-*-netbsd*)
@@ -15575,6 +15570,9 @@ $as_echo "$_gcc_wopt" >&6; }
 
     else
         mycflags="$mycflags -Wall"
+        if test x"$_gcc_silent_wno" = xyes ; then
+          mycflags="$mycflags -Wno-format-zero-length"
+        fi
     fi
 
     if test x"$_gcc_silent_wno" = xyes ; then
@@ -16049,7 +16047,7 @@ fi
 #
 # Provide information about the build.
 #
-BUILD_REVISION="0c103cde0"
+BUILD_REVISION="9f6076868"
 
 
 cat >>confdefs.h <<_ACEOF
@@ -16058,7 +16056,7 @@ _ACEOF
 
 
 BUILD_VERSION=`echo "$VERSION" | sed 's/\([0-9.]*\).*/\1./'`
-BUILD_VERSION="${BUILD_VERSION}3088"
+BUILD_VERSION="${BUILD_VERSION}40800"
 BUILD_FILEVERSION=`echo "${BUILD_VERSION}" | tr . ,`
 
 
@@ -16922,7 +16920,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by gnupg $as_me 2.2.27, which was
+This file was extended by gnupg $as_me 2.2.28, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -16988,7 +16986,7 @@ _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-gnupg config.status 2.2.27
+gnupg config.status 2.2.28
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 
@@ -17838,7 +17836,9 @@ $as_echo X/"$am_mf" |
     { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
 as_fn_error $? "Something went wrong bootstrapping makefile fragments
-    for automatic dependency tracking.  Try re-running configure with the
+    for automatic dependency tracking.  If GNU make was not used, consider
+    re-running the configure script with MAKE=\"gmake\" (or whatever is
+    necessary).  You can also try re-running configure with the
     '--disable-dependency-tracking' option to at least be able to build
     the package (albeit without support for automatic dependency tracking).
 See \`config.log' for more details" "$LINENO" 5; }
@@ -18006,7 +18006,7 @@ fi
 echo "
         GnuPG v${VERSION} has been configured as follows:
 
-        Revision:  0c103cde0  (3088)
+        Revision:  9f6076868  (40800)
         Platform:  $PRINTABLE_OS_NAME ($host)
 
         OpenPGP:   $build_gpg
index 7a2d410..2b80491 100644 (file)
@@ -29,7 +29,7 @@ min_automake_version="1.14"
 m4_define([mym4_package],[gnupg])
 m4_define([mym4_major], [2])
 m4_define([mym4_minor], [2])
-m4_define([mym4_micro], [27])
+m4_define([mym4_micro], [28])
 
 # To start a new development series, i.e a new major or minor number
 # you need to mark an arbitrary commit before the first beta release
@@ -757,7 +757,7 @@ case "${host}" in
         build_wks_tools=no
         ;;
     *-apple-darwin*)
-        AC_DEFINE(_DARWIN_C_SOURCE, 900000L,
+        AC_DEFINE(_DARWIN_C_SOURCE, 1,
                   Expose all libc features (__DARWIN_C_FULL).)
         ;;
     *-*-netbsd*)
@@ -1643,6 +1643,9 @@ if test "$GCC" = yes; then
 
     else
         mycflags="$mycflags -Wall"
+        if test x"$_gcc_silent_wno" = xyes ; then
+          mycflags="$mycflags -Wno-format-zero-length"
+        fi
     fi
 
     if test x"$_gcc_silent_wno" = xyes ; then
index 00d3c42..6191153 100644 (file)
@@ -83,6 +83,7 @@ endif
 if USE_LDAP
 dirmngr_SOURCES += ldapserver.h ldapserver.c ldap.c w32-ldap-help.h \
                    ldap-wrapper.h ldap-parse-uri.c ldap-parse-uri.h \
+                   ldap-misc.c ldap-misc.h \
                    ks-engine-ldap.c $(ldap_url) $(extraldap_src)
 ldaplibs = $(LDAPLIBS)
 else
@@ -111,7 +112,7 @@ endif
 dirmngr_LDFLAGS = $(extra_bin_ldflags)
 
 if USE_LDAPWRAPPER
-dirmngr_ldap_SOURCES = dirmngr_ldap.c $(ldap_url)
+dirmngr_ldap_SOURCES = dirmngr_ldap.c ldap-misc.c ldap-misc.h $(ldap_url)
 dirmngr_ldap_CFLAGS = $(GPG_ERROR_CFLAGS) $(LIBGCRYPT_CFLAGS)
 dirmngr_ldap_LDFLAGS =
 dirmngr_ldap_LDADD = $(libcommon) \
@@ -138,7 +139,7 @@ t_common_ldadd = $(libcommon) $(LIBASSUAN_LIBS) $(LIBGCRYPT_LIBS) \
 module_tests = t-http-basic
 
 if USE_LDAP
-module_tests += t-ldap-parse-uri
+module_tests += t-ldap-parse-uri t-ldap-misc
 endif
 
 # Test which need a network connections are only used in maintainer mode.
@@ -174,16 +175,23 @@ t_http_basic_CFLAGS  = -DWITHOUT_NPTH=1  $(USE_C99_CFLAGS) \
 t_http_basic_LDADD   = $(t_common_ldadd) \
                 $(NTBTLS_LIBS) $(KSBA_LIBS) $(LIBGNUTLS_LIBS) $(DNSLIBS)
 
-
 t_ldap_parse_uri_SOURCES = \
        t-ldap-parse-uri.c ldap-parse-uri.c ldap-parse-uri.h \
-        http.c http-common.c dns-stuff.c \
+        http.c http-common.c dns-stuff.c ldap-misc.c \
         $(ldap_url) $(t_common_src)
 t_ldap_parse_uri_CFLAGS = -DWITHOUT_NPTH=1  $(USE_C99_CFLAGS) \
                          $(LIBGCRYPT_CFLAGS) \
                           $(LIBASSUAN_CFLAGS) $(GPG_ERROR_CFLAGS)
 t_ldap_parse_uri_LDADD = $(ldaplibs) $(t_common_ldadd) $(DNSLIBS)
 
+t_ldap_misc_SOURCES = t-ldap-misc.c ldap-misc.c ldap-misc.h $(ldap_url)
+t_ldap_misc_CFLAGS = -DWITHOUT_NPTH=1 $(GPG_ERROR_CFLAGS) $(LIBGCRYPT_CFLAGS)
+t_ldap_misc_LDFLAGS =
+t_ldap_misc_LDADD = $(libcommon) \
+                    $(GPG_ERROR_LIBS) $(LIBGCRYPT_LIBS) $(LDAPLIBS) \
+                    $(LBER_LIBS) $(LIBINTL) $(LIBICONV) $(NETLIBS)
+
+
 t_dns_stuff_CFLAGS = -DWITHOUT_NPTH=1  $(USE_C99_CFLAGS) \
                     $(LIBGCRYPT_CFLAGS) \
                     $(LIBASSUAN_CFLAGS) $(GPG_ERROR_CFLAGS)
index 5412692..7df1bc7 100644 (file)
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.16.1 from Makefile.am.
+# Makefile.in generated by automake 1.16.3 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2018 Free Software Foundation, Inc.
+# Copyright (C) 1994-2020 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -153,12 +153,13 @@ noinst_PROGRAMS = $(am__EXEEXT_2) $(am__EXEEXT_3) $(am__EXEEXT_4)
 @USE_LIBDNS_TRUE@am__append_8 = dns.c dns.h
 @USE_LDAP_TRUE@am__append_9 = ldapserver.h ldapserver.c ldap.c w32-ldap-help.h \
 @USE_LDAP_TRUE@                   ldap-wrapper.h ldap-parse-uri.c ldap-parse-uri.h \
+@USE_LDAP_TRUE@                   ldap-misc.c ldap-misc.h \
 @USE_LDAP_TRUE@                   ks-engine-ldap.c $(ldap_url) $(extraldap_src)
 
 @USE_LDAP_TRUE@am__append_10 = $(ldaplibs)
 @USE_LDAPWRAPPER_FALSE@am__append_11 = $(ldaplibs)
 @USE_LIBDNS_TRUE@am__append_12 = dns.c dns.h
-@USE_LDAP_TRUE@am__append_13 = t-ldap-parse-uri
+@USE_LDAP_TRUE@am__append_13 = t-ldap-parse-uri t-ldap-misc
 subdir = dirmngr
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/autobuild.m4 \
@@ -185,7 +186,8 @@ CONFIG_CLEAN_FILES = dirmngr.w32-manifest
 CONFIG_CLEAN_VPATH_FILES =
 am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(libexecdir)" \
        "$(DESTDIR)$(pkgdatadir)"
-@USE_LDAP_TRUE@am__EXEEXT_1 = t-ldap-parse-uri$(EXEEXT)
+@USE_LDAP_TRUE@am__EXEEXT_1 = t-ldap-parse-uri$(EXEEXT) \
+@USE_LDAP_TRUE@        t-ldap-misc$(EXEEXT)
 am__EXEEXT_2 = t-http-basic$(EXEEXT) $(am__EXEEXT_1)
 @MAINTAINER_MODE_TRUE@am__EXEEXT_3 = t-dns-stuff$(EXEEXT)
 @MAINTAINER_MODE_TRUE@am__EXEEXT_4 = t-http$(EXEEXT)
@@ -199,15 +201,16 @@ am__dirmngr_SOURCES_DIST = dirmngr.c dirmngr.h server.c crlcache.c \
        ks-engine.h ks-engine-hkp.c ks-engine-http.c \
        ks-engine-finger.c ks-engine-kdns.c dns.c dns.h ldapserver.h \
        ldapserver.c ldap.c w32-ldap-help.h ldap-wrapper.h \
-       ldap-parse-uri.c ldap-parse-uri.h ks-engine-ldap.c ldap-url.h \
-       ldap-url.c ldap-wrapper-ce.c dirmngr_ldap.c ldap-wrapper.c
+       ldap-parse-uri.c ldap-parse-uri.h ldap-misc.c ldap-misc.h \
+       ks-engine-ldap.c ldap-url.h ldap-url.c ldap-wrapper-ce.c \
+       dirmngr_ldap.c ldap-wrapper.c
 @USE_LIBDNS_TRUE@am__objects_1 = dns.$(OBJEXT)
 @HAVE_W32_SYSTEM_TRUE@am__objects_2 = ldap-url.$(OBJEXT)
 @USE_LDAPWRAPPER_FALSE@am__objects_3 = ldap-wrapper-ce.$(OBJEXT) \
 @USE_LDAPWRAPPER_FALSE@        dirmngr_ldap.$(OBJEXT)
 @USE_LDAPWRAPPER_TRUE@am__objects_3 = ldap-wrapper.$(OBJEXT)
 @USE_LDAP_TRUE@am__objects_4 = ldapserver.$(OBJEXT) ldap.$(OBJEXT) \
-@USE_LDAP_TRUE@        ldap-parse-uri.$(OBJEXT) \
+@USE_LDAP_TRUE@        ldap-parse-uri.$(OBJEXT) ldap-misc.$(OBJEXT) \
 @USE_LDAP_TRUE@        ks-engine-ldap.$(OBJEXT) $(am__objects_2) \
 @USE_LDAP_TRUE@        $(am__objects_3)
 am_dirmngr_OBJECTS = dirmngr.$(OBJEXT) server.$(OBJEXT) \
@@ -241,10 +244,12 @@ dirmngr_client_DEPENDENCIES = $(libcommon) $(am__DEPENDENCIES_1) \
        $(am__DEPENDENCIES_1)
 dirmngr_client_LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
        $(dirmngr_client_LDFLAGS) $(LDFLAGS) -o $@
-am__dirmngr_ldap_SOURCES_DIST = dirmngr_ldap.c ldap-url.h ldap-url.c
+am__dirmngr_ldap_SOURCES_DIST = dirmngr_ldap.c ldap-misc.c ldap-misc.h \
+       ldap-url.h ldap-url.c
 @HAVE_W32_SYSTEM_TRUE@am__objects_5 = dirmngr_ldap-ldap-url.$(OBJEXT)
 @USE_LDAPWRAPPER_TRUE@am_dirmngr_ldap_OBJECTS =  \
 @USE_LDAPWRAPPER_TRUE@ dirmngr_ldap-dirmngr_ldap.$(OBJEXT) \
+@USE_LDAPWRAPPER_TRUE@ dirmngr_ldap-ldap-misc.$(OBJEXT) \
 @USE_LDAPWRAPPER_TRUE@ $(am__objects_5)
 dirmngr_ldap_OBJECTS = $(am_dirmngr_ldap_OBJECTS)
 @USE_LDAPWRAPPER_TRUE@dirmngr_ldap_DEPENDENCIES = $(libcommon) \
@@ -300,22 +305,35 @@ t_http_basic_DEPENDENCIES = $(am__DEPENDENCIES_5) \
        $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
 t_http_basic_LINK = $(CCLD) $(t_http_basic_CFLAGS) $(CFLAGS) \
        $(AM_LDFLAGS) $(LDFLAGS) -o $@
+am__t_ldap_misc_SOURCES_DIST = t-ldap-misc.c ldap-misc.c ldap-misc.h \
+       ldap-url.h ldap-url.c
+@HAVE_W32_SYSTEM_TRUE@am__objects_12 = t_ldap_misc-ldap-url.$(OBJEXT)
+am_t_ldap_misc_OBJECTS = t_ldap_misc-t-ldap-misc.$(OBJEXT) \
+       t_ldap_misc-ldap-misc.$(OBJEXT) $(am__objects_12)
+t_ldap_misc_OBJECTS = $(am_t_ldap_misc_OBJECTS)
+t_ldap_misc_DEPENDENCIES = $(libcommon) $(am__DEPENDENCIES_1) \
+       $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
+       $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
+       $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
+t_ldap_misc_LINK = $(CCLD) $(t_ldap_misc_CFLAGS) $(CFLAGS) \
+       $(t_ldap_misc_LDFLAGS) $(LDFLAGS) -o $@
 am__t_ldap_parse_uri_SOURCES_DIST = t-ldap-parse-uri.c \
        ldap-parse-uri.c ldap-parse-uri.h http.c http-common.c \
-       dns-stuff.c ldap-url.h ldap-url.c t-support.h t-support.c \
-       dns.c dns.h
-@HAVE_W32_SYSTEM_TRUE@am__objects_12 =  \
+       dns-stuff.c ldap-misc.c ldap-url.h ldap-url.c t-support.h \
+       t-support.c dns.c dns.h
+@HAVE_W32_SYSTEM_TRUE@am__objects_13 =  \
 @HAVE_W32_SYSTEM_TRUE@ t_ldap_parse_uri-ldap-url.$(OBJEXT)
-@USE_LIBDNS_TRUE@am__objects_13 = t_ldap_parse_uri-dns.$(OBJEXT)
-am__objects_14 = t_ldap_parse_uri-t-support.$(OBJEXT) \
-       $(am__objects_13)
+@USE_LIBDNS_TRUE@am__objects_14 = t_ldap_parse_uri-dns.$(OBJEXT)
+am__objects_15 = t_ldap_parse_uri-t-support.$(OBJEXT) \
+       $(am__objects_14)
 am_t_ldap_parse_uri_OBJECTS =  \
        t_ldap_parse_uri-t-ldap-parse-uri.$(OBJEXT) \
        t_ldap_parse_uri-ldap-parse-uri.$(OBJEXT) \
        t_ldap_parse_uri-http.$(OBJEXT) \
        t_ldap_parse_uri-http-common.$(OBJEXT) \
-       t_ldap_parse_uri-dns-stuff.$(OBJEXT) $(am__objects_12) \
-       $(am__objects_14)
+       t_ldap_parse_uri-dns-stuff.$(OBJEXT) \
+       t_ldap_parse_uri-ldap-misc.$(OBJEXT) $(am__objects_13) \
+       $(am__objects_15)
 t_ldap_parse_uri_OBJECTS = $(am_t_ldap_parse_uri_OBJECTS)
 t_ldap_parse_uri_DEPENDENCIES = $(am__DEPENDENCIES_2) \
        $(am__DEPENDENCIES_5) $(am__DEPENDENCIES_1)
@@ -340,6 +358,7 @@ am__depfiles_remade = ./$(DEPDIR)/cdblib.Po ./$(DEPDIR)/certcache.Po \
        ./$(DEPDIR)/crlcache.Po ./$(DEPDIR)/crlfetch.Po \
        ./$(DEPDIR)/dirmngr-client.Po ./$(DEPDIR)/dirmngr.Po \
        ./$(DEPDIR)/dirmngr_ldap-dirmngr_ldap.Po \
+       ./$(DEPDIR)/dirmngr_ldap-ldap-misc.Po \
        ./$(DEPDIR)/dirmngr_ldap-ldap-url.Po \
        ./$(DEPDIR)/dirmngr_ldap.Po ./$(DEPDIR)/dns-stuff.Po \
        ./$(DEPDIR)/dns.Po ./$(DEPDIR)/domaininfo.Po \
@@ -347,11 +366,12 @@ am__depfiles_remade = ./$(DEPDIR)/cdblib.Po ./$(DEPDIR)/certcache.Po \
        ./$(DEPDIR)/http.Po ./$(DEPDIR)/ks-action.Po \
        ./$(DEPDIR)/ks-engine-finger.Po ./$(DEPDIR)/ks-engine-hkp.Po \
        ./$(DEPDIR)/ks-engine-http.Po ./$(DEPDIR)/ks-engine-kdns.Po \
-       ./$(DEPDIR)/ks-engine-ldap.Po ./$(DEPDIR)/ldap-parse-uri.Po \
-       ./$(DEPDIR)/ldap-url.Po ./$(DEPDIR)/ldap-wrapper-ce.Po \
-       ./$(DEPDIR)/ldap-wrapper.Po ./$(DEPDIR)/ldap.Po \
-       ./$(DEPDIR)/ldapserver.Po ./$(DEPDIR)/loadswdb.Po \
-       ./$(DEPDIR)/misc.Po ./$(DEPDIR)/ocsp.Po ./$(DEPDIR)/server.Po \
+       ./$(DEPDIR)/ks-engine-ldap.Po ./$(DEPDIR)/ldap-misc.Po \
+       ./$(DEPDIR)/ldap-parse-uri.Po ./$(DEPDIR)/ldap-url.Po \
+       ./$(DEPDIR)/ldap-wrapper-ce.Po ./$(DEPDIR)/ldap-wrapper.Po \
+       ./$(DEPDIR)/ldap.Po ./$(DEPDIR)/ldapserver.Po \
+       ./$(DEPDIR)/loadswdb.Po ./$(DEPDIR)/misc.Po \
+       ./$(DEPDIR)/ocsp.Po ./$(DEPDIR)/server.Po \
        ./$(DEPDIR)/t_dns_stuff-dns-stuff.Po \
        ./$(DEPDIR)/t_dns_stuff-dns.Po \
        ./$(DEPDIR)/t_dns_stuff-t-dns-stuff.Po \
@@ -365,10 +385,14 @@ am__depfiles_remade = ./$(DEPDIR)/cdblib.Po ./$(DEPDIR)/certcache.Po \
        ./$(DEPDIR)/t_http_basic-http.Po \
        ./$(DEPDIR)/t_http_basic-t-http-basic.Po \
        ./$(DEPDIR)/t_http_basic-t-support.Po \
+       ./$(DEPDIR)/t_ldap_misc-ldap-misc.Po \
+       ./$(DEPDIR)/t_ldap_misc-ldap-url.Po \
+       ./$(DEPDIR)/t_ldap_misc-t-ldap-misc.Po \
        ./$(DEPDIR)/t_ldap_parse_uri-dns-stuff.Po \
        ./$(DEPDIR)/t_ldap_parse_uri-dns.Po \
        ./$(DEPDIR)/t_ldap_parse_uri-http-common.Po \
        ./$(DEPDIR)/t_ldap_parse_uri-http.Po \
+       ./$(DEPDIR)/t_ldap_parse_uri-ldap-misc.Po \
        ./$(DEPDIR)/t_ldap_parse_uri-ldap-parse-uri.Po \
        ./$(DEPDIR)/t_ldap_parse_uri-ldap-url.Po \
        ./$(DEPDIR)/t_ldap_parse_uri-t-ldap-parse-uri.Po \
@@ -394,11 +418,12 @@ am__v_CCLD_1 =
 SOURCES = $(dirmngr_SOURCES) $(dirmngr_client_SOURCES) \
        $(dirmngr_ldap_SOURCES) $(t_dns_stuff_SOURCES) \
        $(t_http_SOURCES) $(t_http_basic_SOURCES) \
-       $(t_ldap_parse_uri_SOURCES)
+       $(t_ldap_misc_SOURCES) $(t_ldap_parse_uri_SOURCES)
 DIST_SOURCES = $(am__dirmngr_SOURCES_DIST) $(dirmngr_client_SOURCES) \
        $(am__dirmngr_ldap_SOURCES_DIST) \
        $(am__t_dns_stuff_SOURCES_DIST) $(am__t_http_SOURCES_DIST) \
        $(am__t_http_basic_SOURCES_DIST) \
+       $(am__t_ldap_misc_SOURCES_DIST) \
        $(am__t_ldap_parse_uri_SOURCES_DIST)
 am__can_run_installinfo = \
   case $$AM_UPDATE_INFO_DIR in \
@@ -718,7 +743,7 @@ dirmngr_LDADD = $(libcommonpth) $(DNSLIBS) $(LIBASSUAN_LIBS) \
        $(LIBGNUTLS_LIBS) $(LIBINTL) $(LIBICONV) $(NETLIBS) \
        $(dirmngr_robj) $(am__append_10) $(am__append_11)
 dirmngr_LDFLAGS = $(extra_bin_ldflags)
-@USE_LDAPWRAPPER_TRUE@dirmngr_ldap_SOURCES = dirmngr_ldap.c $(ldap_url)
+@USE_LDAPWRAPPER_TRUE@dirmngr_ldap_SOURCES = dirmngr_ldap.c ldap-misc.c ldap-misc.h $(ldap_url)
 @USE_LDAPWRAPPER_TRUE@dirmngr_ldap_CFLAGS = $(GPG_ERROR_CFLAGS) $(LIBGCRYPT_CFLAGS)
 @USE_LDAPWRAPPER_TRUE@dirmngr_ldap_LDFLAGS = 
 @USE_LDAPWRAPPER_TRUE@dirmngr_ldap_LDADD = $(libcommon) \
@@ -770,7 +795,7 @@ t_http_basic_LDADD = $(t_common_ldadd) \
 
 t_ldap_parse_uri_SOURCES = \
        t-ldap-parse-uri.c ldap-parse-uri.c ldap-parse-uri.h \
-        http.c http-common.c dns-stuff.c \
+        http.c http-common.c dns-stuff.c ldap-misc.c \
         $(ldap_url) $(t_common_src)
 
 t_ldap_parse_uri_CFLAGS = -DWITHOUT_NPTH=1  $(USE_C99_CFLAGS) \
@@ -778,6 +803,13 @@ t_ldap_parse_uri_CFLAGS = -DWITHOUT_NPTH=1  $(USE_C99_CFLAGS) \
                           $(LIBASSUAN_CFLAGS) $(GPG_ERROR_CFLAGS)
 
 t_ldap_parse_uri_LDADD = $(ldaplibs) $(t_common_ldadd) $(DNSLIBS)
+t_ldap_misc_SOURCES = t-ldap-misc.c ldap-misc.c ldap-misc.h $(ldap_url)
+t_ldap_misc_CFLAGS = -DWITHOUT_NPTH=1 $(GPG_ERROR_CFLAGS) $(LIBGCRYPT_CFLAGS)
+t_ldap_misc_LDFLAGS = 
+t_ldap_misc_LDADD = $(libcommon) \
+                    $(GPG_ERROR_LIBS) $(LIBGCRYPT_LIBS) $(LDAPLIBS) \
+                    $(LBER_LIBS) $(LIBINTL) $(LIBICONV) $(NETLIBS)
+
 t_dns_stuff_CFLAGS = -DWITHOUT_NPTH=1  $(USE_C99_CFLAGS) \
                     $(LIBGCRYPT_CFLAGS) \
                     $(LIBASSUAN_CFLAGS) $(GPG_ERROR_CFLAGS)
@@ -932,6 +964,10 @@ t-http-basic$(EXEEXT): $(t_http_basic_OBJECTS) $(t_http_basic_DEPENDENCIES) $(EX
        @rm -f t-http-basic$(EXEEXT)
        $(AM_V_CCLD)$(t_http_basic_LINK) $(t_http_basic_OBJECTS) $(t_http_basic_LDADD) $(LIBS)
 
+t-ldap-misc$(EXEEXT): $(t_ldap_misc_OBJECTS) $(t_ldap_misc_DEPENDENCIES) $(EXTRA_t_ldap_misc_DEPENDENCIES) 
+       @rm -f t-ldap-misc$(EXEEXT)
+       $(AM_V_CCLD)$(t_ldap_misc_LINK) $(t_ldap_misc_OBJECTS) $(t_ldap_misc_LDADD) $(LIBS)
+
 t-ldap-parse-uri$(EXEEXT): $(t_ldap_parse_uri_OBJECTS) $(t_ldap_parse_uri_DEPENDENCIES) $(EXTRA_t_ldap_parse_uri_DEPENDENCIES) 
        @rm -f t-ldap-parse-uri$(EXEEXT)
        $(AM_V_CCLD)$(t_ldap_parse_uri_LINK) $(t_ldap_parse_uri_OBJECTS) $(t_ldap_parse_uri_LDADD) $(LIBS)
@@ -949,6 +985,7 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dirmngr-client.Po@am__quote@ # am--include-marker
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dirmngr.Po@am__quote@ # am--include-marker
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dirmngr_ldap-dirmngr_ldap.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dirmngr_ldap-ldap-misc.Po@am__quote@ # am--include-marker
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dirmngr_ldap-ldap-url.Po@am__quote@ # am--include-marker
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dirmngr_ldap.Po@am__quote@ # am--include-marker
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dns-stuff.Po@am__quote@ # am--include-marker
@@ -963,6 +1000,7 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ks-engine-http.Po@am__quote@ # am--include-marker
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ks-engine-kdns.Po@am__quote@ # am--include-marker
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ks-engine-ldap.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ldap-misc.Po@am__quote@ # am--include-marker
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ldap-parse-uri.Po@am__quote@ # am--include-marker
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ldap-url.Po@am__quote@ # am--include-marker
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ldap-wrapper-ce.Po@am__quote@ # am--include-marker
@@ -989,10 +1027,14 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t_http_basic-http.Po@am__quote@ # am--include-marker
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t_http_basic-t-http-basic.Po@am__quote@ # am--include-marker
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t_http_basic-t-support.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t_ldap_misc-ldap-misc.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t_ldap_misc-ldap-url.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t_ldap_misc-t-ldap-misc.Po@am__quote@ # am--include-marker
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t_ldap_parse_uri-dns-stuff.Po@am__quote@ # am--include-marker
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t_ldap_parse_uri-dns.Po@am__quote@ # am--include-marker
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t_ldap_parse_uri-http-common.Po@am__quote@ # am--include-marker
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t_ldap_parse_uri-http.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t_ldap_parse_uri-ldap-misc.Po@am__quote@ # am--include-marker
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t_ldap_parse_uri-ldap-parse-uri.Po@am__quote@ # am--include-marker
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t_ldap_parse_uri-ldap-url.Po@am__quote@ # am--include-marker
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t_ldap_parse_uri-t-ldap-parse-uri.Po@am__quote@ # am--include-marker
@@ -1034,6 +1076,20 @@ dirmngr_ldap-dirmngr_ldap.obj: dirmngr_ldap.c
 @AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dirmngr_ldap_CFLAGS) $(CFLAGS) -c -o dirmngr_ldap-dirmngr_ldap.obj `if test -f 'dirmngr_ldap.c'; then $(CYGPATH_W) 'dirmngr_ldap.c'; else $(CYGPATH_W) '$(srcdir)/dirmngr_ldap.c'; fi`
 
+dirmngr_ldap-ldap-misc.o: ldap-misc.c
+@am__fastdepCC_TRUE@   $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dirmngr_ldap_CFLAGS) $(CFLAGS) -MT dirmngr_ldap-ldap-misc.o -MD -MP -MF $(DEPDIR)/dirmngr_ldap-ldap-misc.Tpo -c -o dirmngr_ldap-ldap-misc.o `test -f 'ldap-misc.c' || echo '$(srcdir)/'`ldap-misc.c
+@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/dirmngr_ldap-ldap-misc.Tpo $(DEPDIR)/dirmngr_ldap-ldap-misc.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='ldap-misc.c' object='dirmngr_ldap-ldap-misc.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dirmngr_ldap_CFLAGS) $(CFLAGS) -c -o dirmngr_ldap-ldap-misc.o `test -f 'ldap-misc.c' || echo '$(srcdir)/'`ldap-misc.c
+
+dirmngr_ldap-ldap-misc.obj: ldap-misc.c
+@am__fastdepCC_TRUE@   $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dirmngr_ldap_CFLAGS) $(CFLAGS) -MT dirmngr_ldap-ldap-misc.obj -MD -MP -MF $(DEPDIR)/dirmngr_ldap-ldap-misc.Tpo -c -o dirmngr_ldap-ldap-misc.obj `if test -f 'ldap-misc.c'; then $(CYGPATH_W) 'ldap-misc.c'; else $(CYGPATH_W) '$(srcdir)/ldap-misc.c'; fi`
+@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/dirmngr_ldap-ldap-misc.Tpo $(DEPDIR)/dirmngr_ldap-ldap-misc.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='ldap-misc.c' object='dirmngr_ldap-ldap-misc.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dirmngr_ldap_CFLAGS) $(CFLAGS) -c -o dirmngr_ldap-ldap-misc.obj `if test -f 'ldap-misc.c'; then $(CYGPATH_W) 'ldap-misc.c'; else $(CYGPATH_W) '$(srcdir)/ldap-misc.c'; fi`
+
 dirmngr_ldap-ldap-url.o: ldap-url.c
 @am__fastdepCC_TRUE@   $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(dirmngr_ldap_CFLAGS) $(CFLAGS) -MT dirmngr_ldap-ldap-url.o -MD -MP -MF $(DEPDIR)/dirmngr_ldap-ldap-url.Tpo -c -o dirmngr_ldap-ldap-url.o `test -f 'ldap-url.c' || echo '$(srcdir)/'`ldap-url.c
 @am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/dirmngr_ldap-ldap-url.Tpo $(DEPDIR)/dirmngr_ldap-ldap-url.Po
@@ -1272,6 +1328,48 @@ t_http_basic-http-common.obj: http-common.c
 @AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(t_http_basic_CFLAGS) $(CFLAGS) -c -o t_http_basic-http-common.obj `if test -f 'http-common.c'; then $(CYGPATH_W) 'http-common.c'; else $(CYGPATH_W) '$(srcdir)/http-common.c'; fi`
 
+t_ldap_misc-t-ldap-misc.o: t-ldap-misc.c
+@am__fastdepCC_TRUE@   $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(t_ldap_misc_CFLAGS) $(CFLAGS) -MT t_ldap_misc-t-ldap-misc.o -MD -MP -MF $(DEPDIR)/t_ldap_misc-t-ldap-misc.Tpo -c -o t_ldap_misc-t-ldap-misc.o `test -f 't-ldap-misc.c' || echo '$(srcdir)/'`t-ldap-misc.c
+@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/t_ldap_misc-t-ldap-misc.Tpo $(DEPDIR)/t_ldap_misc-t-ldap-misc.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='t-ldap-misc.c' object='t_ldap_misc-t-ldap-misc.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(t_ldap_misc_CFLAGS) $(CFLAGS) -c -o t_ldap_misc-t-ldap-misc.o `test -f 't-ldap-misc.c' || echo '$(srcdir)/'`t-ldap-misc.c
+
+t_ldap_misc-t-ldap-misc.obj: t-ldap-misc.c
+@am__fastdepCC_TRUE@   $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(t_ldap_misc_CFLAGS) $(CFLAGS) -MT t_ldap_misc-t-ldap-misc.obj -MD -MP -MF $(DEPDIR)/t_ldap_misc-t-ldap-misc.Tpo -c -o t_ldap_misc-t-ldap-misc.obj `if test -f 't-ldap-misc.c'; then $(CYGPATH_W) 't-ldap-misc.c'; else $(CYGPATH_W) '$(srcdir)/t-ldap-misc.c'; fi`
+@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/t_ldap_misc-t-ldap-misc.Tpo $(DEPDIR)/t_ldap_misc-t-ldap-misc.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='t-ldap-misc.c' object='t_ldap_misc-t-ldap-misc.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(t_ldap_misc_CFLAGS) $(CFLAGS) -c -o t_ldap_misc-t-ldap-misc.obj `if test -f 't-ldap-misc.c'; then $(CYGPATH_W) 't-ldap-misc.c'; else $(CYGPATH_W) '$(srcdir)/t-ldap-misc.c'; fi`
+
+t_ldap_misc-ldap-misc.o: ldap-misc.c
+@am__fastdepCC_TRUE@   $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(t_ldap_misc_CFLAGS) $(CFLAGS) -MT t_ldap_misc-ldap-misc.o -MD -MP -MF $(DEPDIR)/t_ldap_misc-ldap-misc.Tpo -c -o t_ldap_misc-ldap-misc.o `test -f 'ldap-misc.c' || echo '$(srcdir)/'`ldap-misc.c
+@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/t_ldap_misc-ldap-misc.Tpo $(DEPDIR)/t_ldap_misc-ldap-misc.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='ldap-misc.c' object='t_ldap_misc-ldap-misc.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(t_ldap_misc_CFLAGS) $(CFLAGS) -c -o t_ldap_misc-ldap-misc.o `test -f 'ldap-misc.c' || echo '$(srcdir)/'`ldap-misc.c
+
+t_ldap_misc-ldap-misc.obj: ldap-misc.c
+@am__fastdepCC_TRUE@   $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(t_ldap_misc_CFLAGS) $(CFLAGS) -MT t_ldap_misc-ldap-misc.obj -MD -MP -MF $(DEPDIR)/t_ldap_misc-ldap-misc.Tpo -c -o t_ldap_misc-ldap-misc.obj `if test -f 'ldap-misc.c'; then $(CYGPATH_W) 'ldap-misc.c'; else $(CYGPATH_W) '$(srcdir)/ldap-misc.c'; fi`
+@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/t_ldap_misc-ldap-misc.Tpo $(DEPDIR)/t_ldap_misc-ldap-misc.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='ldap-misc.c' object='t_ldap_misc-ldap-misc.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(t_ldap_misc_CFLAGS) $(CFLAGS) -c -o t_ldap_misc-ldap-misc.obj `if test -f 'ldap-misc.c'; then $(CYGPATH_W) 'ldap-misc.c'; else $(CYGPATH_W) '$(srcdir)/ldap-misc.c'; fi`
+
+t_ldap_misc-ldap-url.o: ldap-url.c
+@am__fastdepCC_TRUE@   $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(t_ldap_misc_CFLAGS) $(CFLAGS) -MT t_ldap_misc-ldap-url.o -MD -MP -MF $(DEPDIR)/t_ldap_misc-ldap-url.Tpo -c -o t_ldap_misc-ldap-url.o `test -f 'ldap-url.c' || echo '$(srcdir)/'`ldap-url.c
+@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/t_ldap_misc-ldap-url.Tpo $(DEPDIR)/t_ldap_misc-ldap-url.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='ldap-url.c' object='t_ldap_misc-ldap-url.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(t_ldap_misc_CFLAGS) $(CFLAGS) -c -o t_ldap_misc-ldap-url.o `test -f 'ldap-url.c' || echo '$(srcdir)/'`ldap-url.c
+
+t_ldap_misc-ldap-url.obj: ldap-url.c
+@am__fastdepCC_TRUE@   $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(t_ldap_misc_CFLAGS) $(CFLAGS) -MT t_ldap_misc-ldap-url.obj -MD -MP -MF $(DEPDIR)/t_ldap_misc-ldap-url.Tpo -c -o t_ldap_misc-ldap-url.obj `if test -f 'ldap-url.c'; then $(CYGPATH_W) 'ldap-url.c'; else $(CYGPATH_W) '$(srcdir)/ldap-url.c'; fi`
+@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/t_ldap_misc-ldap-url.Tpo $(DEPDIR)/t_ldap_misc-ldap-url.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='ldap-url.c' object='t_ldap_misc-ldap-url.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(t_ldap_misc_CFLAGS) $(CFLAGS) -c -o t_ldap_misc-ldap-url.obj `if test -f 'ldap-url.c'; then $(CYGPATH_W) 'ldap-url.c'; else $(CYGPATH_W) '$(srcdir)/ldap-url.c'; fi`
+
 t_ldap_parse_uri-t-ldap-parse-uri.o: t-ldap-parse-uri.c
 @am__fastdepCC_TRUE@   $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(t_ldap_parse_uri_CFLAGS) $(CFLAGS) -MT t_ldap_parse_uri-t-ldap-parse-uri.o -MD -MP -MF $(DEPDIR)/t_ldap_parse_uri-t-ldap-parse-uri.Tpo -c -o t_ldap_parse_uri-t-ldap-parse-uri.o `test -f 't-ldap-parse-uri.c' || echo '$(srcdir)/'`t-ldap-parse-uri.c
 @am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/t_ldap_parse_uri-t-ldap-parse-uri.Tpo $(DEPDIR)/t_ldap_parse_uri-t-ldap-parse-uri.Po
@@ -1342,6 +1440,20 @@ t_ldap_parse_uri-dns-stuff.obj: dns-stuff.c
 @AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(t_ldap_parse_uri_CFLAGS) $(CFLAGS) -c -o t_ldap_parse_uri-dns-stuff.obj `if test -f 'dns-stuff.c'; then $(CYGPATH_W) 'dns-stuff.c'; else $(CYGPATH_W) '$(srcdir)/dns-stuff.c'; fi`
 
+t_ldap_parse_uri-ldap-misc.o: ldap-misc.c
+@am__fastdepCC_TRUE@   $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(t_ldap_parse_uri_CFLAGS) $(CFLAGS) -MT t_ldap_parse_uri-ldap-misc.o -MD -MP -MF $(DEPDIR)/t_ldap_parse_uri-ldap-misc.Tpo -c -o t_ldap_parse_uri-ldap-misc.o `test -f 'ldap-misc.c' || echo '$(srcdir)/'`ldap-misc.c
+@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/t_ldap_parse_uri-ldap-misc.Tpo $(DEPDIR)/t_ldap_parse_uri-ldap-misc.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='ldap-misc.c' object='t_ldap_parse_uri-ldap-misc.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(t_ldap_parse_uri_CFLAGS) $(CFLAGS) -c -o t_ldap_parse_uri-ldap-misc.o `test -f 'ldap-misc.c' || echo '$(srcdir)/'`ldap-misc.c
+
+t_ldap_parse_uri-ldap-misc.obj: ldap-misc.c
+@am__fastdepCC_TRUE@   $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(t_ldap_parse_uri_CFLAGS) $(CFLAGS) -MT t_ldap_parse_uri-ldap-misc.obj -MD -MP -MF $(DEPDIR)/t_ldap_parse_uri-ldap-misc.Tpo -c -o t_ldap_parse_uri-ldap-misc.obj `if test -f 'ldap-misc.c'; then $(CYGPATH_W) 'ldap-misc.c'; else $(CYGPATH_W) '$(srcdir)/ldap-misc.c'; fi`
+@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/t_ldap_parse_uri-ldap-misc.Tpo $(DEPDIR)/t_ldap_parse_uri-ldap-misc.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='ldap-misc.c' object='t_ldap_parse_uri-ldap-misc.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(t_ldap_parse_uri_CFLAGS) $(CFLAGS) -c -o t_ldap_parse_uri-ldap-misc.obj `if test -f 'ldap-misc.c'; then $(CYGPATH_W) 'ldap-misc.c'; else $(CYGPATH_W) '$(srcdir)/ldap-misc.c'; fi`
+
 t_ldap_parse_uri-ldap-url.o: ldap-url.c
 @am__fastdepCC_TRUE@   $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(t_ldap_parse_uri_CFLAGS) $(CFLAGS) -MT t_ldap_parse_uri-ldap-url.o -MD -MP -MF $(DEPDIR)/t_ldap_parse_uri-ldap-url.Tpo -c -o t_ldap_parse_uri-ldap-url.o `test -f 'ldap-url.c' || echo '$(srcdir)/'`ldap-url.c
 @am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/t_ldap_parse_uri-ldap-url.Tpo $(DEPDIR)/t_ldap_parse_uri-ldap-url.Po
@@ -1634,6 +1746,7 @@ distclean: distclean-am
        -rm -f ./$(DEPDIR)/dirmngr-client.Po
        -rm -f ./$(DEPDIR)/dirmngr.Po
        -rm -f ./$(DEPDIR)/dirmngr_ldap-dirmngr_ldap.Po
+       -rm -f ./$(DEPDIR)/dirmngr_ldap-ldap-misc.Po
        -rm -f ./$(DEPDIR)/dirmngr_ldap-ldap-url.Po
        -rm -f ./$(DEPDIR)/dirmngr_ldap.Po
        -rm -f ./$(DEPDIR)/dns-stuff.Po
@@ -1648,6 +1761,7 @@ distclean: distclean-am
        -rm -f ./$(DEPDIR)/ks-engine-http.Po
        -rm -f ./$(DEPDIR)/ks-engine-kdns.Po
        -rm -f ./$(DEPDIR)/ks-engine-ldap.Po
+       -rm -f ./$(DEPDIR)/ldap-misc.Po
        -rm -f ./$(DEPDIR)/ldap-parse-uri.Po
        -rm -f ./$(DEPDIR)/ldap-url.Po
        -rm -f ./$(DEPDIR)/ldap-wrapper-ce.Po
@@ -1674,10 +1788,14 @@ distclean: distclean-am
        -rm -f ./$(DEPDIR)/t_http_basic-http.Po
        -rm -f ./$(DEPDIR)/t_http_basic-t-http-basic.Po
        -rm -f ./$(DEPDIR)/t_http_basic-t-support.Po
+       -rm -f ./$(DEPDIR)/t_ldap_misc-ldap-misc.Po
+       -rm -f ./$(DEPDIR)/t_ldap_misc-ldap-url.Po
+       -rm -f ./$(DEPDIR)/t_ldap_misc-t-ldap-misc.Po
        -rm -f ./$(DEPDIR)/t_ldap_parse_uri-dns-stuff.Po
        -rm -f ./$(DEPDIR)/t_ldap_parse_uri-dns.Po
        -rm -f ./$(DEPDIR)/t_ldap_parse_uri-http-common.Po
        -rm -f ./$(DEPDIR)/t_ldap_parse_uri-http.Po
+       -rm -f ./$(DEPDIR)/t_ldap_parse_uri-ldap-misc.Po
        -rm -f ./$(DEPDIR)/t_ldap_parse_uri-ldap-parse-uri.Po
        -rm -f ./$(DEPDIR)/t_ldap_parse_uri-ldap-url.Po
        -rm -f ./$(DEPDIR)/t_ldap_parse_uri-t-ldap-parse-uri.Po
@@ -1736,6 +1854,7 @@ maintainer-clean: maintainer-clean-am
        -rm -f ./$(DEPDIR)/dirmngr-client.Po
        -rm -f ./$(DEPDIR)/dirmngr.Po
        -rm -f ./$(DEPDIR)/dirmngr_ldap-dirmngr_ldap.Po
+       -rm -f ./$(DEPDIR)/dirmngr_ldap-ldap-misc.Po
        -rm -f ./$(DEPDIR)/dirmngr_ldap-ldap-url.Po
        -rm -f ./$(DEPDIR)/dirmngr_ldap.Po
        -rm -f ./$(DEPDIR)/dns-stuff.Po
@@ -1750,6 +1869,7 @@ maintainer-clean: maintainer-clean-am
        -rm -f ./$(DEPDIR)/ks-engine-http.Po
        -rm -f ./$(DEPDIR)/ks-engine-kdns.Po
        -rm -f ./$(DEPDIR)/ks-engine-ldap.Po
+       -rm -f ./$(DEPDIR)/ldap-misc.Po
        -rm -f ./$(DEPDIR)/ldap-parse-uri.Po
        -rm -f ./$(DEPDIR)/ldap-url.Po
        -rm -f ./$(DEPDIR)/ldap-wrapper-ce.Po
@@ -1776,10 +1896,14 @@ maintainer-clean: maintainer-clean-am
        -rm -f ./$(DEPDIR)/t_http_basic-http.Po
        -rm -f ./$(DEPDIR)/t_http_basic-t-http-basic.Po
        -rm -f ./$(DEPDIR)/t_http_basic-t-support.Po
+       -rm -f ./$(DEPDIR)/t_ldap_misc-ldap-misc.Po
+       -rm -f ./$(DEPDIR)/t_ldap_misc-ldap-url.Po
+       -rm -f ./$(DEPDIR)/t_ldap_misc-t-ldap-misc.Po
        -rm -f ./$(DEPDIR)/t_ldap_parse_uri-dns-stuff.Po
        -rm -f ./$(DEPDIR)/t_ldap_parse_uri-dns.Po
        -rm -f ./$(DEPDIR)/t_ldap_parse_uri-http-common.Po
        -rm -f ./$(DEPDIR)/t_ldap_parse_uri-http.Po
+       -rm -f ./$(DEPDIR)/t_ldap_parse_uri-ldap-misc.Po
        -rm -f ./$(DEPDIR)/t_ldap_parse_uri-ldap-parse-uri.Po
        -rm -f ./$(DEPDIR)/t_ldap_parse_uri-ldap-url.Po
        -rm -f ./$(DEPDIR)/t_ldap_parse_uri-t-ldap-parse-uri.Po
index 9ca6069..bee1c44 100644 (file)
@@ -572,11 +572,11 @@ load_certs_from_w32_store (const char *storename)
         }
 
       pCertOpenSystemStore = (CERTOPENSYSTEMSTORE)
-        GetProcAddress (hCrypt32, "CertOpenSystemStoreA");
+        (void*)GetProcAddress (hCrypt32, "CertOpenSystemStoreA");
       pCertEnumCertificatesInStore = (CERTENUMCERTIFICATESINSTORE)
-        GetProcAddress (hCrypt32, "CertEnumCertificatesInStore");
+        (void*)GetProcAddress (hCrypt32, "CertEnumCertificatesInStore");
       pCertCloseStore = (CERTCLOSESTORE)
-        GetProcAddress (hCrypt32, "CertCloseStore");
+        (void*)GetProcAddress (hCrypt32, "CertCloseStore");
       if (   !pCertOpenSystemStore
           || !pCertEnumCertificatesInStore
           || !pCertCloseStore)
index c8091f6..e355aab 100644 (file)
@@ -240,7 +240,7 @@ crl_fetch (ctrl_t ctrl, const char *url, ksba_reader_t *reader)
       else
         {
 #       if USE_LDAP
-          err = url_fetch_ldap (ctrl, url, NULL, 0, reader);
+          err = url_fetch_ldap (ctrl, url, reader);
 #       else /*!USE_LDAP*/
           err = gpg_error (GPG_ERR_NOT_IMPLEMENTED);
 #       endif /*!USE_LDAP*/
@@ -513,7 +513,7 @@ fetch_cert_by_url (ctrl_t ctrl, const char *url,
   else /* Assume LDAP.  */
     {
 #if USE_LDAP
-      err = url_fetch_ldap (ctrl, url, NULL, 0, &reader);
+      err = url_fetch_ldap (ctrl, url, &reader);
 #else
       (void)ctrl;
       (void)url;
index 3822adb..f309653 100644 (file)
@@ -62,8 +62,7 @@ void crl_close_reader (ksba_reader_t reader);
 
 /*-- ldap.c --*/
 gpg_error_t url_fetch_ldap (ctrl_t ctrl,
-                            const char *url, const char *host, int port,
-                            ksba_reader_t *reader);
+                            const char *url, ksba_reader_t *reader);
 gpg_error_t attr_fetch_ldap (ctrl_t ctrl,
                              const char *dn, const char *attr,
                              ksba_reader_t *reader);
index ae967dd..04fe9e2 100644 (file)
@@ -124,6 +124,7 @@ enum cmd_and_opt_values {
   oHTTPProxy,
   oLDAPProxy,
   oOnlyLDAPProxy,
+  oLDAPServer,
   oLDAPFile,
   oLDAPTimeout,
   oLDAPAddServers,
@@ -209,6 +210,8 @@ static ARGPARSE_OPTS opts[] = {
   ARGPARSE_s_n (oOnlyLDAPProxy, "only-ldap-proxy",
                 N_("do not use fallback hosts with --ldap-proxy")),
 
+  ARGPARSE_s_s (oLDAPServer, "ldapserver",
+                N_("|SPEC|use this keyserver to lookup keys")),
   ARGPARSE_s_s (oLDAPFile, "ldapserverlist-file",
                 N_("|FILE|read LDAP server list from FILE")),
   ARGPARSE_s_n (oLDAPAddServers, "add-servers",
@@ -344,6 +347,11 @@ static int network_activity_seen;
 /* A list of filenames registred with --hkp-cacert.  */
 static strlist_t hkp_cacert_filenames;
 
+/* A flag used to clear the list of ldapservers iff --ldapserver is
+ * given on the command line or one of the conf files. In this case we
+ * want to clear all old specifications through the legacy
+ * dirmngr_ldapservers.conf. */
+static int ldapserver_list_needs_reset;
 
 /* The timer tick used for housekeeping stuff.  The second constant is used when a shutdown is pending.  */
 #define TIMERTICK_INTERVAL           (60)
@@ -637,6 +645,8 @@ parse_rereadable_options (ARGPARSE_ARGS *pargs, int reread)
       set_dns_timeout (0);
       opt.connect_timeout = 0;
       opt.connect_quick_timeout = 0;
+      opt.ldaptimeout = DEFAULT_LDAP_TIMEOUT;
+      ldapserver_list_needs_reset = 1;
       return 1;
     }
 
@@ -725,6 +735,30 @@ parse_rereadable_options (ARGPARSE_ARGS *pargs, int reread)
     case oStandardResolver: enable_standard_resolver (1); break;
     case oRecursiveResolver: enable_recursive_resolver (1); break;
 
+    case oLDAPServer:
+      {
+        ldap_server_t server;
+        char *p;
+
+        p = pargs->r.ret_str;
+        if (!strncmp (p, "ldap:", 5) && !(p[5] == '/' && p[6] == '/'))
+          p += 5;
+
+        server = ldapserver_parse_one (p, NULL, 0);
+        if (server)
+          {
+            if (ldapserver_list_needs_reset)
+              {
+                ldapserver_list_needs_reset = 0;
+                ldapserver_list_free (opt.ldapservers);
+                opt.ldapservers = NULL;
+              }
+            server->next = opt.ldapservers;
+            opt.ldapservers = server;
+          }
+      }
+      break;
+
     case oKeyServer:
       if (*pargs->r.ret_str)
         add_to_strlist (&opt.keyserver, pargs->r.ret_str);
@@ -746,6 +780,10 @@ parse_rereadable_options (ARGPARSE_ARGS *pargs, int reread)
       opt.connect_quick_timeout = pargs->r.ret_ulong * 1000;
       break;
 
+    case oLDAPTimeout:
+      opt.ldaptimeout = pargs->r.ret_int;
+      break;
+
     default:
       return 0; /* Not handled. */
     }
@@ -1002,9 +1040,6 @@ main (int argc, char **argv)
 #        endif /*USE_LDAP*/
           break;
        case oLDAPAddServers: opt.add_new_ldapservers = 1; break;
-       case oLDAPTimeout:
-         opt.ldaptimeout = pargs.r.ret_int;
-         break;
 
         case oFakedSystemTime:
           gnupg_set_time ((time_t)pargs.r.ret_ulong, 0);
@@ -1087,9 +1122,11 @@ main (int argc, char **argv)
 
   post_option_parsing ();
 
-  /* Get LDAP server list from file. */
+  /* Get LDAP server list from file unless --ldapserver has been used.  */
 #if USE_LDAP
-  if (!ldapfile)
+  if (opt.ldapservers)
+    ;
+  else if (!ldapfile)
     {
       ldapfile = make_filename (gnupg_homedir (),
                                 "dirmngr_ldapservers.conf",
index 1b52a1d..9e7b2f0 100644 (file)
@@ -50,6 +50,10 @@ struct ldap_server_s
   char *user;
   char *pass;
   char *base;
+
+  unsigned int starttls:1;       /* Use STARTTLS.  */
+  unsigned int ldap_over_tls:1;  /* Use LDAP over an TLS tunnel */
+  unsigned int ntds:1;           /* Use Active Directory authentication.  */
 };
 typedef struct ldap_server_s *ldap_server_t;
 
index 8049590..e37a0a8 100644 (file)
@@ -1,5 +1,5 @@
 /* dirmngr-ldap.c  -  The LDAP helper for dirmngr.
- * Copyright (C) 2004 g10 Code GmbH
+ * Copyright (C) 2004, 2021 g10 Code GmbH
  * Copyright (C) 2010 Free Software Foundation, Inc.
  *
  * This file is part of GnuPG.
@@ -32,9 +32,6 @@
 #include <errno.h>
 #include <sys/time.h>
 #include <unistd.h>
-#ifndef USE_LDAPWRAPPER
-# include <npth.h>
-#endif
 
 #ifdef HAVE_W32_SYSTEM
 # include <winsock2.h>
 #include "../common/stringhelp.h"
 #include "../common/mischelp.h"
 #include "../common/strlist.h"
-
-#include "../common/i18n.h"
 #include "../common/util.h"
 #include "../common/init.h"
+#include "ldap-misc.h"
+
 
-/* With the ldap wrapper, there is no need for the npth_unprotect and leave
-   functions; thus we redefine them to nops.  If we are not using the
-   ldap wrapper process we need to include the prototype for our
-   module's main function.  */
-#ifdef USE_LDAPWRAPPER
+/* There is no need for the npth_unprotect and leave functions here;
+ * thus we redefine them to nops.  We keep them in the code just for
+ * the case we ever want to reuse parts of the code in npth programs. */
 static void npth_unprotect (void) { }
 static void npth_protect (void) { }
-#else
-# include "./ldap-wrapper.h"
-#endif
 
-#ifdef HAVE_W32CE_SYSTEM
-# include "w32-ldap-help.h"
-# define my_ldap_init(a,b)                      \
-  _dirmngr_ldap_init ((a), (b))
-# define my_ldap_simple_bind_s(a,b,c)           \
-  _dirmngr_ldap_simple_bind_s ((a),(b),(c))
-# define my_ldap_search_st(a,b,c,d,e,f,g,h)     \
-  _dirmngr_ldap_search_st ((a), (b), (c), (d), (e), (f), (g), (h))
-# define my_ldap_first_attribute(a,b,c)         \
-  _dirmngr_ldap_first_attribute ((a),(b),(c))
-# define my_ldap_next_attribute(a,b,c)          \
-  _dirmngr_ldap_next_attribute ((a),(b),(c))
-# define my_ldap_get_values_len(a,b,c)          \
-  _dirmngr_ldap_get_values_len ((a),(b),(c))
-# define my_ldap_free_attr(a)                   \
-  xfree ((a))
-#else
-# define my_ldap_init(a,b)              ldap_init ((a), (b))
-# define my_ldap_simple_bind_s(a,b,c)   ldap_simple_bind_s ((a), (b), (c))
-# define my_ldap_search_st(a,b,c,d,e,f,g,h)     \
-  ldap_search_st ((a), (b), (c), (d), (e), (f), (g), (h))
-# define my_ldap_first_attribute(a,b,c) ldap_first_attribute ((a),(b),(c))
-# define my_ldap_next_attribute(a,b,c)  ldap_next_attribute ((a),(b),(c))
-# define my_ldap_get_values_len(a,b,c)  ldap_get_values_len ((a),(b),(c))
-# define my_ldap_free_attr(a)           ldap_memfree ((a))
-#endif
 
 #ifdef HAVE_W32_SYSTEM
  typedef LDAP_TIMEVAL  my_ldap_timeval_t;
@@ -121,9 +87,11 @@ enum
     oUser,
     oPass,
     oEnvPass,
-    oDN,
-    oFilter,
+    oBase,
     oAttr,
+    oStartTLS,
+    oLdapTLS,
+    oNtds,
 
     oOnlySearchTimeout,
     oLogWithPID
@@ -132,38 +100,41 @@ enum
 
 /* The list of options as used by the argparse.c code.  */
 static ARGPARSE_OPTS opts[] = {
-  { oVerbose,  "verbose",   0, N_("verbose") },
-  { oQuiet,    "quiet",     0, N_("be somewhat more quiet") },
-  { oTimeout,  "timeout",   1, N_("|N|set LDAP timeout to N seconds")},
-  { oMulti,    "multi",     0, N_("return all values in"
-                                  " a record oriented format")},
+  { oVerbose,  "verbose",   0, "verbose" },
+  { oQuiet,    "quiet",     0, "be somewhat more quiet" },
+  { oTimeout,  "timeout",   1, "|N|set LDAP timeout to N seconds"},
+  { oMulti,    "multi",     0, "return all values in"
+                               " a record oriented format"},
   { oProxy,    "proxy",     2,
-    N_("|NAME|ignore host part and connect through NAME")},
-  { oHost,     "host",      2, N_("|NAME|connect to host NAME")},
-  { oPort,     "port",      1, N_("|N|connect to port N")},
-  { oUser,     "user",      2, N_("|NAME|use user NAME for authentication")},
-  { oPass,     "pass",      2, N_("|PASS|use password PASS"
-                                  " for authentication")},
-  { oEnvPass,  "env-pass",  0, N_("take password from $DIRMNGR_LDAP_PASS")},
-  { oDN,       "dn",        2, N_("|STRING|query DN STRING")},
-  { oFilter,   "filter",    2, N_("|STRING|use STRING as filter expression")},
-  { oAttr,     "attr",      2, N_("|STRING|return the attribute STRING")},
+                "|NAME|ignore host part and connect through NAME"},
+  { oStartTLS, "starttls",  0, "use STARTLS for the conenction"},
+  { oLdapTLS,  "ldaptls",   0, "use a TLS for the connection"},
+  { oNtds,     "ntds",      0, "authenticate using AD"},
+  { oHost,     "host",      2, "|NAME|connect to host NAME"},
+  { oPort,     "port",      1, "|N|connect to port N"},
+  { oUser,     "user",      2, "|NAME|use NAME for authentication"},
+  { oPass,     "pass",      2, "|PASS|use password PASS"
+                               " for authentication"},
+  { oEnvPass,  "env-pass",  0, "take password from $DIRMNGR_LDAP_PASS"},
+  { oBase,     "base",      2, "|DN|Start query at DN"},
+  { oAttr,     "attr",      2, "|STRING|return the attribute STRING"},
   { oOnlySearchTimeout, "only-search-timeout", 0, "@"},
   { oLogWithPID,"log-with-pid", 0, "@"},
   ARGPARSE_end ()
 };
 
 
-/* A structure with module options.  This is not a static variable
-   because if we are not build as a standalone binary, each thread
-   using this module needs to handle its own values.  */
-struct my_opt_s
+/* A structure with module options.  */
+static struct
 {
   int quiet;
   int verbose;
   my_ldap_timeval_t timeout;/* Timeout for the LDAP search functions.  */
   unsigned int alarm_timeout; /* And for the alarm based timeout.  */
   int multi;
+  int starttls;
+  int ldaptls;
+  int ntds;
 
   estream_t outstream;    /* Send output to this stream.  */
 
@@ -173,24 +144,22 @@ struct my_opt_s
   char *user;  /* Authentication user.  */
   char *pass;  /* Authentication password.  */
   char *host;  /* Override host.  */
-  int port;    /* Override port.  */
-  char *dn;    /* Override DN.  */
-  char *filter;/* Override filter.  */
+  int  port;   /* Override port.  */
+  char *base;  /* Override DN.  */
   char *attr;  /* Override attribute.  */
-};
-typedef struct my_opt_s *my_opt_t;
+} opt;
 
 
 /* Prototypes.  */
 #ifndef HAVE_W32_SYSTEM
 static void catch_alarm (int dummy);
 #endif
-static int process_url (my_opt_t myopt, const char *url);
+static gpg_error_t connect_ldap (LDAP **r_ld);
+static gpg_error_t process_filter (LDAP *ld, const char *string);
 
 
 
 /* Function called by argparse.c to display information.  */
-#ifdef USE_LDAPWRAPPER
 static const char *
 my_strusage (int level)
 {
@@ -204,14 +173,14 @@ my_strusage (int level)
     case 13: p = VERSION; break;
     case 14: p = GNUPG_DEF_COPYRIGHT_LINE; break;
     case 17: p = PRINTABLE_OS_NAME; break;
-    case 19: p = _("Please report bugs to <@EMAIL@>.\n"); break;
+    case 19: p = "Please report bugs to <@EMAIL@>.\n"; break;
     case 49: p = PACKAGE_BUGREPORT; break;
     case 1:
     case 40: p =
-               _("Usage: dirmngr_ldap [options] [URL] (-h for help)\n");
+               "Usage: dirmngr_ldap [options] filters (-h for help)\n";
       break;
     case 41: p =
-          _("Syntax: dirmngr_ldap [options] [URL]\n"
+           ("Syntax: dirmngr_ldap [options] filters\n"
             "Internal LDAP helper for Dirmngr\n"
             "Interface and options may change without notice\n");
       break;
@@ -220,52 +189,32 @@ my_strusage (int level)
     }
   return p;
 }
-#endif /*!USE_LDAPWRAPPER*/
 
 
 int
-#ifdef USE_LDAPWRAPPER
 main (int argc, char **argv)
-#else
-ldap_wrapper_main (char **argv, estream_t outstream)
-#endif
 {
-#ifndef USE_LDAPWRAPPER
-  int argc;
-#endif
   ARGPARSE_ARGS pargs;
   int any_err = 0;
   char *p;
   int only_search_timeout = 0;
-  struct my_opt_s my_opt_buffer;
-  my_opt_t myopt = &my_opt_buffer;
   char *malloced_buffer1 = NULL;
-
-  memset (&my_opt_buffer, 0, sizeof my_opt_buffer);
+  LDAP *ld;
 
   early_system_init ();
 
-#ifdef USE_LDAPWRAPPER
   set_strusage (my_strusage);
   log_set_prefix ("dirmngr_ldap", GPGRT_LOG_WITH_PREFIX);
 
-  /* Setup I18N and common subsystems. */
-  i18n_init();
-
   init_common_subsystems (&argc, &argv);
 
   es_set_binary (es_stdout);
-  myopt->outstream = es_stdout;
-#else /*!USE_LDAPWRAPPER*/
-  myopt->outstream = outstream;
-  for (argc=0; argv[argc]; argc++)
-    ;
-#endif /*!USE_LDAPWRAPPER*/
+  opt.outstream = es_stdout;
 
   /* LDAP defaults */
-  myopt->timeout.tv_sec = DEFAULT_LDAP_TIMEOUT;
-  myopt->timeout.tv_usec = 0;
-  myopt->alarm_timeout = 0;
+  opt.timeout.tv_sec = DEFAULT_LDAP_TIMEOUT;
+  opt.timeout.tv_usec = 0;
+  opt.alarm_timeout = 0;
 
   /* Parse the command line.  */
   pargs.argc = &argc;
@@ -275,26 +224,28 @@ ldap_wrapper_main (char **argv, estream_t outstream)
     {
       switch (pargs.r_opt)
         {
-        case oVerbose: myopt->verbose++; break;
-        case oQuiet: myopt->quiet++; break;
+        case oVerbose: opt.verbose++; break;
+        case oQuiet: opt.quiet++; break;
        case oTimeout:
-         myopt->timeout.tv_sec = pargs.r.ret_int;
-         myopt->timeout.tv_usec = 0;
-          myopt->alarm_timeout = pargs.r.ret_int;
+         opt.timeout.tv_sec = pargs.r.ret_int;
+         opt.timeout.tv_usec = 0;
+          opt.alarm_timeout = pargs.r.ret_int;
          break;
         case oOnlySearchTimeout: only_search_timeout = 1; break;
-        case oMulti: myopt->multi = 1; break;
-        case oUser: myopt->user = pargs.r.ret_str; break;
-        case oPass: myopt->pass = pargs.r.ret_str; break;
+        case oStartTLS: opt.starttls = 1; opt.ldaptls = 0; break;
+        case oLdapTLS:  opt.starttls = 0; opt.ldaptls = 1; break;
+        case oNtds:     opt.ntds = 1; break;
+        case oMulti: opt.multi = 1; break;
+        case oUser: opt.user = pargs.r.ret_str; break;
+        case oPass: opt.pass = pargs.r.ret_str; break;
         case oEnvPass:
-          myopt->pass = getenv ("DIRMNGR_LDAP_PASS");
+          opt.pass = getenv ("DIRMNGR_LDAP_PASS");
           break;
-        case oProxy: myopt->proxy = pargs.r.ret_str; break;
-        case oHost: myopt->host = pargs.r.ret_str; break;
-        case oPort: myopt->port = pargs.r.ret_int; break;
-        case oDN:   myopt->dn = pargs.r.ret_str; break;
-        case oFilter: myopt->filter = pargs.r.ret_str; break;
-        case oAttr: myopt->attr = pargs.r.ret_str; break;
+        case oProxy: opt.proxy = pargs.r.ret_str; break;
+        case oHost: opt.host = pargs.r.ret_str; break;
+        case oPort: opt.port = pargs.r.ret_int; break;
+        case oBase: opt.base = pargs.r.ret_str; break;
+        case oAttr: opt.attr = pargs.r.ret_str; break;
         case oLogWithPID:
           {
             unsigned int oldflags;
@@ -304,53 +255,50 @@ ldap_wrapper_main (char **argv, estream_t outstream)
           break;
 
         default :
-#ifdef USE_LDAPWRAPPER
           pargs.err = ARGPARSE_PRINT_ERROR;
-#else
-          pargs.err = ARGPARSE_PRINT_WARNING;  /* No exit() please.  */
-#endif
           break;
        }
     }
   gnupg_argparse (NULL, &pargs, NULL);  /* Release internal state.  */
 
   if (only_search_timeout)
-    myopt->alarm_timeout = 0;
+    opt.alarm_timeout = 0;
 
-  if (myopt->proxy)
+  if (opt.proxy)
     {
-      malloced_buffer1 = xtrystrdup (myopt->proxy);
+      malloced_buffer1 = xtrystrdup (opt.proxy);
       if (!malloced_buffer1)
         {
           log_error ("error copying string: %s\n", strerror (errno));
           return 1;
         }
-      myopt->host = malloced_buffer1;
-      p = strchr (myopt->host, ':');
+      opt.host = malloced_buffer1;
+      p = strchr (opt.host, ':');
       if (p)
         {
           *p++ = 0;
-          myopt->port = atoi (p);
+          opt.port = atoi (p);
         }
-      if (!myopt->port)
-        myopt->port = 389;  /* make sure ports gets overridden.  */
+      if (!opt.port)
+        opt.port = 389;  /* make sure ports gets overridden.  */
     }
 
-  if (myopt->port < 0 || myopt->port > 65535)
-    log_error (_("invalid port number %d\n"), myopt->port);
+  if (opt.port < 0 || opt.port > 65535)
+    log_error ("invalid port number %d\n", opt.port);
+
+  if (!opt.port)
+    opt.port = opt.ldaptls? 636 : 389;
+
+#ifndef HAVE_W32_SYSTEM
+  if (!opt.host)
+    opt.host = "localhost";
+#endif
+
 
-#ifdef USE_LDAPWRAPPER
   if (log_get_errorcount (0))
     exit (2);
-  if (argc < 1)
-    usage (1);
-#else
-  /* All passed arguments should be fine in this case.  */
-  log_assert (argc);
-#endif
 
-#ifdef USE_LDAPWRAPPER
-  if (myopt->alarm_timeout)
+  if (opt.alarm_timeout)
     {
 #ifndef HAVE_W32_SYSTEM
 # if defined(HAVE_SIGACTION) && defined(HAVE_STRUCT_SIGACTION)
@@ -366,11 +314,24 @@ ldap_wrapper_main (char **argv, estream_t outstream)
           log_fatal ("unable to register timeout handler\n");
 #endif
     }
-#endif /*USE_LDAPWRAPPER*/
 
-  for (; argc; argc--, argv++)
-    if (process_url (myopt, *argv))
-      any_err = 1;
+  if (connect_ldap (&ld))
+    any_err = 1;
+  else
+    {
+      if (!argc)
+        {
+          if (process_filter (ld, "(objectClass=*)"))
+            any_err = 1;
+        }
+      else
+        {
+          for (; argc; argc--, argv++)
+            if (process_filter (ld, *argv))
+              any_err = 1;
+        }
+      ldap_unbind (ld);
+    }
 
   xfree (malloced_buffer1);
   return any_err;
@@ -401,16 +362,16 @@ alarm_thread (void *arg)
 
 
 static void
-set_timeout (my_opt_t myopt)
+set_timeout (void)
 {
-  if (myopt->alarm_timeout)
+  if (opt.alarm_timeout)
     {
 #ifdef HAVE_W32_SYSTEM
       static HANDLE timer;
       LARGE_INTEGER due_time;
 
       /* A negative value is a relative time.  */
-      due_time.QuadPart = (unsigned long long)-10000000 * myopt->alarm_timeout;
+      due_time.QuadPart = (unsigned long long)-10000000 * opt.alarm_timeout;
 
       if (!timer)
         {
@@ -423,7 +384,7 @@ set_timeout (my_opt_t myopt)
 
           /* Create a manual resetable timer.  */
           timer = CreateWaitableTimer (NULL, TRUE, NULL);
-          /* Intially set the timer.  */
+          /* Initially set the timer.  */
           SetWaitableTimer (timer, &due_time, 0, NULL, NULL, 0);
 
           if (CreateThread (&sec_attr, 0, alarm_thread, timer, 0, &tid))
@@ -432,15 +393,192 @@ set_timeout (my_opt_t myopt)
       else /* Retrigger the timer.  */
         SetWaitableTimer (timer, &due_time, 0, NULL, NULL, 0);
 #else
-      alarm (myopt->alarm_timeout);
+      alarm (opt.alarm_timeout);
 #endif
     }
 }
 
 
+
+/* Connect to the ldap server.  On success the connection handle is
+ * stored at R_LD. */
+static gpg_error_t
+connect_ldap (LDAP **r_ld)
+{
+  gpg_error_t err = 0;
+  int lerr;
+  LDAP *ld = NULL;
+#ifndef HAVE_W32_SYSTEM
+  char *tmpstr;
+#endif
+
+  *r_ld = NULL;
+
+  if (opt.starttls || opt.ldaptls)
+    {
+#ifndef HAVE_LDAP_START_TLS_S
+      log_error ("ldap: can't connect to the server: no TLS support.");
+      err = GPG_ERR_LDAP_NOT_SUPPORTED;
+      goto leave;
+#endif
+    }
+
+
+  set_timeout ();
+#ifdef HAVE_W32_SYSTEM
+  npth_unprotect ();
+  ld = ldap_sslinit (opt.host, opt.port, opt.ldaptls);
+  npth_protect ();
+  if (!ld)
+    {
+      lerr = LdapGetLastError ();
+      err = ldap_err_to_gpg_err (lerr);
+      log_error ("error initializing LDAP '%s:%d': %s\n",
+                 opt.host, opt.port, ldap_err2string (lerr));
+      goto leave;
+    }
+#else /* Unix */
+  tmpstr = xtryasprintf ("%s://%s:%d",
+                         opt.ldaptls? "ldaps" : "ldap",
+                         opt.host, opt.port);
+  if (!tmpstr)
+    {
+      err = gpg_error_from_syserror ();
+      goto leave;
+    }
+  npth_unprotect ();
+  lerr = ldap_initialize (&ld, tmpstr);
+  npth_protect ();
+  if (lerr || !ld)
+    {
+      err = ldap_err_to_gpg_err (lerr);
+      log_error ("error initializing LDAP '%s': %s\n",
+                 tmpstr, ldap_err2string (lerr));
+      xfree (tmpstr);
+      goto leave;
+    }
+  xfree (tmpstr);
+#endif /* Unix */
+
+  if (opt.verbose)
+    log_info ("LDAP connected to '%s:%d'%s\n",
+              opt.host, opt.port,
+              opt.starttls? " using STARTTLS" :
+              opt.ldaptls?  " using LDAP-over-TLS" : "");
+
+
+#ifdef HAVE_LDAP_SET_OPTION
+  {
+    int ver = LDAP_VERSION3;
+
+    lerr = ldap_set_option (ld, LDAP_OPT_PROTOCOL_VERSION, &ver);
+    if (lerr != LDAP_SUCCESS)
+      {
+       log_error ("unable to go to LDAP 3: %s\n", ldap_err2string (lerr));
+       err = ldap_err_to_gpg_err (lerr);
+       goto leave;
+      }
+  }
+#endif
+
+
+#ifdef HAVE_LDAP_START_TLS_S
+  if (opt.starttls)
+    {
+#ifndef HAVE_W32_SYSTEM
+      int check_cert = LDAP_OPT_X_TLS_HARD; /* LDAP_OPT_X_TLS_NEVER */
+
+      lerr = ldap_set_option (ld, LDAP_OPT_X_TLS_REQUIRE_CERT, &check_cert);
+      if (lerr)
+       {
+         log_error ("ldap: error setting an TLS option: %s\n",
+                     ldap_err2string (lerr));
+          err = ldap_err_to_gpg_err (lerr);
+         goto leave;
+       }
+#else
+      /* On Windows, the certificates are checked by default.  If the
+        option to disable checking mentioned above is ever
+        implemented, the way to do that on Windows is to install a
+        callback routine using ldap_set_option (..,
+        LDAP_OPT_SERVER_CERTIFICATE, ..); */
+#endif
+
+      npth_unprotect ();
+      lerr = ldap_start_tls_s (ld,
+#ifdef HAVE_W32_SYSTEM
+                             /* ServerReturnValue, result */
+                             NULL, NULL,
+#endif
+                             /* ServerControls, ClientControls */
+                             NULL, NULL);
+      npth_protect ();
+      if (lerr)
+       {
+         log_error ("ldap: error switching to STARTTLS mode: %s\n",
+                     ldap_err2string (lerr));
+          err = ldap_err_to_gpg_err (lerr);
+         goto leave;
+       }
+    }
+#endif
+
+  if (opt.ntds)
+    {
+      if (opt.verbose)
+        log_info ("binding to current user via AD\n");
+#ifdef HAVE_W32_SYSTEM
+      npth_unprotect ();
+      lerr = ldap_bind_s (ld, NULL, NULL, LDAP_AUTH_NEGOTIATE);
+      npth_protect ();
+      if (lerr != LDAP_SUCCESS)
+       {
+         log_error ("error binding to LDAP via AD: %s\n",
+                     ldap_err2string (lerr));
+          err = ldap_err_to_gpg_err (lerr);
+         goto leave;
+       }
+#else /* Unix */
+      err = gpg_error (GPG_ERR_NOT_SUPPORTED);
+      goto leave;
+#endif /* Unix */
+    }
+  else if (opt.user)
+    {
+      if (opt.verbose)
+        log_info ("LDAP bind to '%s', password '%s'\n",
+                   opt.user, opt.pass ? ">not_shown<" : ">none<");
+
+      npth_unprotect ();
+      lerr = ldap_simple_bind_s (ld, opt.user, opt.pass);
+      npth_protect ();
+      if (lerr != LDAP_SUCCESS)
+       {
+         log_error ("error binding to LDAP: %s\n", ldap_err2string (lerr));
+          err = ldap_err_to_gpg_err (lerr);
+         goto leave;
+       }
+    }
+  else
+    {
+      /* By default we don't bind as there is usually no need to.  */
+    }
+
+ leave:
+  if (err)
+    {
+      if (ld)
+        ldap_unbind (ld);
+    }
+  else
+    *r_ld = ld;
+  return err;
+}
+
+
 /* Helper for fetch_ldap().  */
 static int
-print_ldap_entries (my_opt_t myopt, LDAP *ld, LDAPMessage *msg, char *want_attr)
+print_ldap_entries (LDAP *ld, LDAPMessage *msg, char *want_attr)
 {
   LDAPMessage *item;
   int any = 0;
@@ -452,34 +590,34 @@ print_ldap_entries (my_opt_t myopt, LDAP *ld, LDAPMessage *msg, char *want_attr)
       BerElement *berctx;
       char *attr;
 
-      if (myopt->verbose > 1)
-        log_info (_("scanning result for attribute '%s'\n"),
+      if (opt.verbose > 1)
+        log_info ("scanning result for attribute '%s'\n",
                   want_attr? want_attr : "[all]");
 
-      if (myopt->multi)
+      if (opt.multi)
         { /*  Write item marker. */
-          if (es_fwrite ("I\0\0\0\0", 5, 1, myopt->outstream) != 1)
+          if (es_fwrite ("I\0\0\0\0", 5, 1, opt.outstream) != 1)
             {
-              log_error (_("error writing to stdout: %s\n"),
+              log_error ("error writing to stdout: %s\n",
                          strerror (errno));
               return -1;
             }
         }
 
 
-      for (npth_unprotect (), attr = my_ldap_first_attribute (ld, item, &berctx),
+      for (npth_unprotect (), attr = ldap_first_attribute (ld, item, &berctx),
              npth_protect ();
            attr;
-           npth_unprotect (), attr = my_ldap_next_attribute (ld, item, berctx),
+           npth_unprotect (), attr = ldap_next_attribute (ld, item, berctx),
              npth_protect ())
         {
           struct berval **values;
           int idx;
 
-          if (myopt->verbose > 1)
-            log_info (_("          available attribute '%s'\n"), attr);
+          if (opt.verbose > 1)
+            log_info ("          available attribute '%s'\n", attr);
 
-          set_timeout (myopt);
+          set_timeout ();
 
           /* I case we want only one attribute we do a case
              insensitive compare without the optional extension
@@ -503,34 +641,34 @@ print_ldap_entries (my_opt_t myopt, LDAP *ld, LDAPMessage *msg, char *want_attr)
                 *cp2 = ';';
               if (cmpres)
                 {
-                  my_ldap_free_attr (attr);
+                  ldap_memfree (attr);
                   continue; /* Not found:  Try next attribute.  */
                 }
             }
 
           npth_unprotect ();
-          values = my_ldap_get_values_len (ld, item, attr);
+          values = ldap_get_values_len (ld, item, attr);
           npth_protect ();
 
           if (!values)
             {
-              if (myopt->verbose)
-                log_info (_("attribute '%s' not found\n"), attr);
-              my_ldap_free_attr (attr);
+              if (opt.verbose)
+                log_info ("attribute '%s' not found\n", attr);
+              ldap_memfree (attr);
               continue;
             }
 
-          if (myopt->verbose)
+          if (opt.verbose)
             {
-              log_info (_("found attribute '%s'\n"), attr);
-              if (myopt->verbose > 1)
+              log_info ("found attribute '%s'\n", attr);
+              if (opt.verbose > 1)
                 for (idx=0; values[idx]; idx++)
                   log_info ("         length[%d]=%d\n",
                             idx, (int)values[0]->bv_len);
 
             }
 
-          if (myopt->multi)
+          if (opt.multi)
             { /*  Write attribute marker. */
               unsigned char tmp[5];
               size_t n = strlen (attr);
@@ -540,13 +678,13 @@ print_ldap_entries (my_opt_t myopt, LDAP *ld, LDAPMessage *msg, char *want_attr)
               tmp[2] = (n >> 16);
               tmp[3] = (n >> 8);
               tmp[4] = (n);
-              if (es_fwrite (tmp, 5, 1, myopt->outstream) != 1
-                  || es_fwrite (attr, n, 1, myopt->outstream) != 1)
+              if (es_fwrite (tmp, 5, 1, opt.outstream) != 1
+                  || es_fwrite (attr, n, 1, opt.outstream) != 1)
                 {
-                  log_error (_("error writing to stdout: %s\n"),
+                  log_error ("error writing to stdout: %s\n",
                              strerror (errno));
                   ldap_value_free_len (values);
-                  my_ldap_free_attr (attr);
+                  ldap_memfree (attr);
                   ber_free (berctx, 0);
                   return -1;
                 }
@@ -554,7 +692,7 @@ print_ldap_entries (my_opt_t myopt, LDAP *ld, LDAPMessage *msg, char *want_attr)
 
           for (idx=0; values[idx]; idx++)
             {
-              if (myopt->multi)
+              if (opt.multi)
                 { /* Write value marker.  */
                   unsigned char tmp[5];
                   size_t n = values[0]->bv_len;
@@ -565,41 +703,41 @@ print_ldap_entries (my_opt_t myopt, LDAP *ld, LDAPMessage *msg, char *want_attr)
                   tmp[3] = (n >> 8);
                   tmp[4] = (n);
 
-                  if (es_fwrite (tmp, 5, 1, myopt->outstream) != 1)
+                  if (es_fwrite (tmp, 5, 1, opt.outstream) != 1)
                     {
-                      log_error (_("error writing to stdout: %s\n"),
+                      log_error ("error writing to stdout: %s\n",
                                  strerror (errno));
                       ldap_value_free_len (values);
-                      my_ldap_free_attr (attr);
+                      ldap_memfree (attr);
                       ber_free (berctx, 0);
                       return -1;
                     }
                 }
 
              if (es_fwrite (values[0]->bv_val, values[0]->bv_len,
-                             1, myopt->outstream) != 1)
+                             1, opt.outstream) != 1)
                 {
-                  log_error (_("error writing to stdout: %s\n"),
+                  log_error ("error writing to stdout: %s\n",
                              strerror (errno));
                   ldap_value_free_len (values);
-                  my_ldap_free_attr (attr);
+                  ldap_memfree (attr);
                   ber_free (berctx, 0);
                   return -1;
                 }
 
               any = 1;
-              if (!myopt->multi)
+              if (!opt.multi)
                 break; /* Print only the first value.  */
             }
           ldap_value_free_len (values);
-          my_ldap_free_attr (attr);
-          if (want_attr || !myopt->multi)
+          ldap_memfree (attr);
+          if (want_attr || !opt.multi)
             break; /* We only want to return the first attribute.  */
         }
       ber_free (berctx, 0);
     }
 
-  if (myopt->verbose > 1 && any)
+  if (opt.verbose > 1 && any)
     log_info ("result has been printed\n");
 
   return any?0:-1;
@@ -607,129 +745,51 @@ print_ldap_entries (my_opt_t myopt, LDAP *ld, LDAPMessage *msg, char *want_attr)
 
 
 
-/* Helper for the URL based LDAP query. */
+/* Fetch data from the server at LD using FILTER.  */
 static int
-fetch_ldap (my_opt_t myopt, const char *url, const LDAPURLDesc *ludp)
+fetch_ldap (LDAP *ld, const char *base, int scope, const char *filter)
 {
-  LDAP *ld;
+  gpg_error_t err;
+  int lerr;
   LDAPMessage *msg;
-  int rc = 0;
-  char *host, *dn, *filter, *attrs[2], *attr;
-  int port;
-  int ret;
-
-  host     = myopt->host?   myopt->host   : ludp->lud_host;
-  port     = myopt->port?   myopt->port   : ludp->lud_port;
-  dn       = myopt->dn?     myopt->dn     : ludp->lud_dn;
-  filter   = myopt->filter? myopt->filter : ludp->lud_filter;
-  attrs[0] = myopt->attr?   myopt->attr   : ludp->lud_attrs? ludp->lud_attrs[0]:NULL;
-  attrs[1] = NULL;
-  attr = attrs[0];
+  char *attrs[2];
 
-  if (!port)
-    port = (ludp->lud_scheme && !strcmp (ludp->lud_scheme, "ldaps"))? 636:389;
+  if (filter && !*filter)
+    filter = NULL;
 
-  if (myopt->verbose)
+  if (opt.verbose)
     {
-      log_info (_("processing url '%s'\n"), url);
-      if (myopt->user)
-        log_info (_("          user '%s'\n"), myopt->user);
-      if (myopt->pass)
-        log_info (_("          pass '%s'\n"), *myopt->pass?"*****":"");
-      if (host)
-        log_info (_("          host '%s'\n"), host);
-      log_info (_("          port %d\n"), port);
-      if (dn)
-        log_info (_("            DN '%s'\n"), dn);
+      log_info ("fetching using");
+      if (base)
+        log_printf (" base '%s'", base);
       if (filter)
-        log_info (_("        filter '%s'\n"), filter);
-      if (myopt->multi && !myopt->attr && ludp->lud_attrs)
-        {
-          int i;
-          for (i=0; ludp->lud_attrs[i]; i++)
-            log_info (_("          attr '%s'\n"), ludp->lud_attrs[i]);
-        }
-      else if (attr)
-        log_info (_("          attr '%s'\n"), attr);
-    }
-
-
-  if (!host || !*host)
-    {
-      log_error (_("no host name in '%s'\n"), url);
-      return -1;
-    }
-  if (!myopt->multi && !attr)
-    {
-      log_error (_("no attribute given for query '%s'\n"), url);
-      return -1;
+        log_printf (" filter '%s'", filter);
+      log_printf ("\n");
     }
 
-  if (!myopt->multi && !myopt->attr
-      && ludp->lud_attrs && ludp->lud_attrs[0] && ludp->lud_attrs[1])
-    log_info (_("WARNING: using first attribute only\n"));
-
-
-  set_timeout (myopt);
-  npth_unprotect ();
-  ld = my_ldap_init (host, port);
-  npth_protect ();
-  if (!ld)
-    {
-      log_error (_("LDAP init to '%s:%d' failed: %s\n"),
-                 host, port, strerror (errno));
-      return -1;
-    }
-  npth_unprotect ();
-  /* Fixme:  Can we use MYOPT->user or is it shared with other theeads?.  */
-  ret = my_ldap_simple_bind_s (ld, myopt->user, myopt->pass);
-  npth_protect ();
-#ifdef LDAP_VERSION3
-  if (ret == LDAP_PROTOCOL_ERROR)
-    {
-      /* Protocol error could mean that the server only supports v3. */
-      int version = LDAP_VERSION3;
-      if (myopt->verbose)
-        log_info ("protocol error; retrying bind with v3 protocol\n");
-      npth_unprotect ();
-      ldap_set_option (ld, LDAP_OPT_PROTOCOL_VERSION, &version);
-      ret = my_ldap_simple_bind_s (ld, myopt->user, myopt->pass);
-      npth_protect ();
-    }
-#endif
-  if (ret)
-    {
-      log_error (_("binding to '%s:%d' failed: %s\n"),
-                 host, port, ldap_err2string (ret));
-      ldap_unbind (ld);
-      return -1;
-    }
+  attrs[0] = opt.attr;
+  attrs[1] = NULL;
 
-  set_timeout (myopt);
+  set_timeout ();
   npth_unprotect ();
-  rc = my_ldap_search_st (ld, dn, ludp->lud_scope, filter,
-                          myopt->multi && !myopt->attr && ludp->lud_attrs?
-                          ludp->lud_attrs:attrs,
-                          0,
-                          &myopt->timeout, &msg);
+  lerr = ldap_search_st (ld, base, scope, filter,
+                         attrs,
+                         0,
+                         &opt.timeout, &msg);
   npth_protect ();
-  if (rc == LDAP_SIZELIMIT_EXCEEDED && myopt->multi)
+  if (lerr == LDAP_SIZELIMIT_EXCEEDED && opt.multi)
     {
-      if (es_fwrite ("E\0\0\0\x09truncated", 14, 1, myopt->outstream) != 1)
+      if (es_fwrite ("E\0\0\0\x09truncated", 14, 1, opt.outstream) != 1)
         {
-          log_error (_("error writing to stdout: %s\n"), strerror (errno));
+          log_error ("error writing to stdout: %s\n", strerror (errno));
           return -1;
         }
     }
-  else if (rc)
+  else if (lerr)
     {
-#ifdef HAVE_W32CE_SYSTEM
-      log_error ("searching '%s' failed: %d\n", url, rc);
-#else
-      log_error (_("searching '%s' failed: %s\n"),
-                 url, ldap_err2string (rc));
-#endif
-      if (rc != LDAP_NO_SUCH_OBJECT)
+      log_error ("searching '%s' failed: %s\n",
+                 filter, ldap_err2string (lerr));
+      if (lerr != LDAP_NO_SUCH_OBJECT)
         {
           /* FIXME: Need deinit (ld)?  */
           /* Hmmm: Do we need to released MSG in case of an error? */
@@ -737,39 +797,43 @@ fetch_ldap (my_opt_t myopt, const char *url, const LDAPURLDesc *ludp)
         }
     }
 
-  rc = print_ldap_entries (myopt, ld, msg, myopt->multi? NULL:attr);
+  err = print_ldap_entries (ld, msg, opt.multi? NULL:opt.attr);
 
   ldap_msgfree (msg);
-  ldap_unbind (ld);
-  return rc;
+  return err;
 }
 
 
 
 
-/* Main processing.  Take the URL and run the LDAP query. The result
-   is printed to stdout, errors are logged to the log stream. */
-static int
-process_url (my_opt_t myopt, const char *url)
+/* Main processing.  Take the filter and run the LDAP query. The
+ * result is printed to stdout, errors are logged to the log stream.
+ * To allow searching with a different base it is possible to extend
+ * the filer.  For example:
+ *
+ *   ^CN=foo, OU=My Users&(objectClasses=*)
+ *
+ * Uses "CN=foo, OU=My Users" as base DN and "(objectClasses=*)" as
+ * filter.  If the base prefix includes an ampersand, it needs to be
+ * doubled.  The usual escaping rules for DNs (for the base) and
+ * filters apply.  If no scope is given (see ldap_parse_extfilter for
+ * the syntax) subtree scope is used.
+ */
+static gpg_error_t
+process_filter (LDAP *ld, const char *string)
 {
-  int rc;
-  LDAPURLDesc *ludp = NULL;
-
-
-  if (!ldap_is_ldap_url (url))
-    {
-      log_error (_("'%s' is not an LDAP URL\n"), url);
-      return -1;
-    }
-
-  if (ldap_url_parse (url, &ludp))
-    {
-      log_error (_("'%s' is an invalid LDAP URL\n"), url);
-      return -1;
-    }
-
-  rc = fetch_ldap (myopt, url, ludp);
-
-  ldap_free_urldesc (ludp);
-  return rc;
+  gpg_error_t err;
+  char *base, *filter;
+  int scope = -1;
+
+  err = ldap_parse_extfilter (string, 0, &base, &scope, &filter);
+  if (!err)
+    err = fetch_ldap (ld,
+                      base? base : opt.base,
+                      scope == -1? LDAP_SCOPE_SUBTREE : scope,
+                      filter);
+
+  xfree (base);
+  xfree (filter);
+  return err;
 }
index 5e3f17c..f3f820f 100644 (file)
@@ -1,8 +1,8 @@
 /* http.c  -  HTTP protocol handler
- * Copyright (C) 1999, 2001, 2002, 2003, 2004, 2006, 2009, 2010,
+ * Copyright (C) 1999, 2001-2004, 2006, 2009, 2010,
  *               2011 Free Software Foundation, Inc.
- * Copyright (C) 2014 Werner Koch
- * Copyright (C) 2015-2017 g10 Code GmbH
+ * Copyright (C) 1999, 2001-2004, 2006, 2009, 2010, 2011, 2014 Werner Koch
+ * Copyright (C) 2015-2017, 2021 g10 Code GmbH
  *
  * This file is part of GnuPG.
  *
@@ -1298,15 +1298,14 @@ parse_uri (parsed_uri_t *ret_uri, const char *uri,
 /*
  * Parse an URI and put the result into the newly allocated RET_URI.
  * On success the caller must use http_release_parsed_uri() to
- * releases the resources.  If NO_SCHEME_CHECK is set, the function
- * tries to parse the URL in the same way it would do for an HTTP
- * style URI.
- */
+ * releases the resources.  If the HTTP_PARSE_NO_SCHEME_CHECK flag is
+ * set, the function tries to parse the URL in the same way it would
+ * do for an HTTP style URI.   */
 gpg_error_t
 http_parse_uri (parsed_uri_t *ret_uri, const char *uri,
-                int no_scheme_check)
+                unsigned int flags)
 {
-  return parse_uri (ret_uri, uri, no_scheme_check, 0);
+  return parse_uri (ret_uri, uri, !!(flags & HTTP_PARSE_NO_SCHEME_CHECK), 0);
 }
 
 
@@ -1356,8 +1355,9 @@ do_parse_uri (parsed_uri_t uri, int only_local_part,
   uri->off_host = 0;
   uri->off_path = 0;
 
-  /* A quick validity check. */
-  if (strspn (p, VALID_URI_CHARS) != n)
+  /* A quick validity check unless we have the opaque scheme. */
+  if (strspn (p, VALID_URI_CHARS) != n
+      && strncmp (p, "opaque:", 7))
     return GPG_ERR_BAD_URI;    /* Invalid characters found. */
 
   if (!only_local_part)
@@ -1389,6 +1389,12 @@ do_parse_uri (parsed_uri_t uri, int only_local_part,
           uri->use_tls = 1;
         }
 #endif /*USE_TLS*/
+      else if (!strcmp (uri->scheme, "opaque"))
+        {
+          uri->opaque = 1;
+          uri->path = p2;
+          return 0;
+        }
       else if (!no_scheme_check)
        return GPG_ERR_INV_URI; /* Unsupported scheme */
 
@@ -3540,6 +3546,15 @@ uri_query_lookup (parsed_uri_t uri, const char *key)
   return NULL;
 }
 
+const char *
+uri_query_value (parsed_uri_t url, const char *key)
+{
+  struct uri_tuple_s *t;
+  t = uri_query_lookup (url, key);
+  return t? t->value : NULL;
+}
+
+
 
 /* Return true if both URI point to the same host for the purpose of
  * redirection check.  A is the original host and B the host given in
index 8b9c5b5..2b11c58 100644 (file)
@@ -70,6 +70,7 @@ struct parsed_uri_s
 typedef struct parsed_uri_s *parsed_uri_t;
 
 struct uri_tuple_s *uri_query_lookup (parsed_uri_t uri, const char *key);
+const char *uri_query_value (parsed_uri_t url, const char *key);
 
 typedef enum
   {
@@ -150,8 +151,9 @@ void http_session_set_log_cb (http_session_t sess,
 void http_session_set_timeout (http_session_t sess, unsigned int timeout);
 
 
+#define HTTP_PARSE_NO_SCHEME_CHECK 1
 gpg_error_t http_parse_uri (parsed_uri_t *ret_uri, const char *uri,
-                            int no_scheme_check);
+                            unsigned int flags);
 
 void http_release_parsed_uri (parsed_uri_t uri);
 
index 4883cf8..9b56258 100644 (file)
@@ -67,6 +67,8 @@ ks_action_help (ctrl_t ctrl, const char *url)
 {
   gpg_error_t err;
   parsed_uri_t parsed_uri;  /* The broken down URI.  */
+  char *tmpstr;
+  const char *s;
 
   if (!url || !*url)
     {
@@ -76,12 +78,39 @@ ks_action_help (ctrl_t ctrl, const char *url)
   else
     {
 #if USE_LDAP
-      if (ldap_uri_p (url))
+      if (!strncmp (url, "ldap:", 5) && !(url[5] == '/' && url[6] == '/'))
+        {
+          /* Special ldap scheme given.  This differs from a valid
+           * ldap scheme in that no double slash follows.  Use
+           * http_parse_uri to put it as opaque value into parsed_uri.  */
+          tmpstr = strconcat ("opaque:", url+5, NULL);
+          if (!tmpstr)
+            err = gpg_error_from_syserror ();
+          else
+            {
+              err = http_parse_uri (&parsed_uri, tmpstr, 0);
+              xfree (tmpstr);
+            }
+        }
+      else if ((s=strchr (url, ':')) && !(s[1] == '/' && s[2] == '/'))
+        {
+          /* No scheme given.  Use http_parse_uri to put the string as
+           * opaque value into parsed_uri.  */
+          tmpstr = strconcat ("opaque:", url, NULL);
+          if (!tmpstr)
+            err = gpg_error_from_syserror ();
+          else
+            {
+              err = http_parse_uri (&parsed_uri, tmpstr, 0);
+              xfree (tmpstr);
+            }
+        }
+      else if (ldap_uri_p (url))
        err = ldap_parse_uri (&parsed_uri, url);
       else
 #endif
        {
-         err = http_parse_uri (&parsed_uri, url, 1);
+         err = http_parse_uri (&parsed_uri, url, HTTP_PARSE_NO_SCHEME_CHECK);
        }
 
       if (err)
@@ -164,9 +193,10 @@ ks_action_search (ctrl_t ctrl, uri_item_t keyservers,
       int is_ldap = 0;
       unsigned int http_status = 0;
 #if USE_LDAP
-      is_ldap = (strcmp (uri->parsed_uri->scheme, "ldap") == 0
-                || strcmp (uri->parsed_uri->scheme, "ldaps") == 0
-                || strcmp (uri->parsed_uri->scheme, "ldapi") == 0);
+      is_ldap = (!strcmp (uri->parsed_uri->scheme, "ldap")
+                || !strcmp (uri->parsed_uri->scheme, "ldaps")
+                || !strcmp (uri->parsed_uri->scheme, "ldapi")
+                 || uri->parsed_uri->opaque);
 #endif
       if (is_http || is_ldap)
         {
@@ -211,7 +241,7 @@ ks_action_search (ctrl_t ctrl, uri_item_t keyservers,
    keyservers and write the result to the provided output stream.  */
 gpg_error_t
 ks_action_get (ctrl_t ctrl, uri_item_t keyservers,
-              strlist_t patterns, estream_t outfp)
+              strlist_t patterns, int ldap_only, estream_t outfp)
 {
   gpg_error_t err = 0;
   gpg_error_t first_err = 0;
@@ -238,10 +268,14 @@ ks_action_get (ctrl_t ctrl, uri_item_t keyservers,
                        || strcmp (uri->parsed_uri->scheme, "https") == 0);
       int is_ldap = 0;
 
+      if (ldap_only)
+        is_hkp_s = is_http_s = 0;
+
 #if USE_LDAP
-      is_ldap = (strcmp (uri->parsed_uri->scheme, "ldap") == 0
-                || strcmp (uri->parsed_uri->scheme, "ldaps") == 0
-                || strcmp (uri->parsed_uri->scheme, "ldapi") == 0);
+      is_ldap = (!strcmp (uri->parsed_uri->scheme, "ldap")
+                || !strcmp (uri->parsed_uri->scheme, "ldaps")
+                || !strcmp (uri->parsed_uri->scheme, "ldapi")
+                 || uri->parsed_uri->opaque);
 #endif
 
       if (is_hkp_s || is_http_s || is_ldap)
@@ -310,7 +344,7 @@ ks_action_fetch (ctrl_t ctrl, const char *url, estream_t outfp)
   if (!url)
     return gpg_error (GPG_ERR_INV_URI);
 
-  err = http_parse_uri (&parsed_uri, url, 1);
+  err = http_parse_uri (&parsed_uri, url, HTTP_PARSE_NO_SCHEME_CHECK);
   if (err)
     return err;
 
@@ -379,9 +413,10 @@ ks_action_put (ctrl_t ctrl, uri_item_t keyservers,
       int is_ldap = 0;
 
 #if USE_LDAP
-      is_ldap = (strcmp (uri->parsed_uri->scheme, "ldap") == 0
-               || strcmp (uri->parsed_uri->scheme, "ldaps") == 0
-               || strcmp (uri->parsed_uri->scheme, "ldapi") == 0);
+      is_ldap = (!strcmp (uri->parsed_uri->scheme, "ldap")
+                 || !strcmp (uri->parsed_uri->scheme, "ldaps")
+                 || !strcmp (uri->parsed_uri->scheme, "ldapi")
+                 || uri->parsed_uri->opaque);
 #endif
 
       if (is_http || is_ldap)
index d576ef0..36e0cf0 100644 (file)
@@ -26,7 +26,7 @@ gpg_error_t ks_action_resolve (ctrl_t ctrl, uri_item_t keyservers);
 gpg_error_t ks_action_search (ctrl_t ctrl, uri_item_t keyservers,
                              strlist_t patterns, estream_t outfp);
 gpg_error_t ks_action_get (ctrl_t ctrl, uri_item_t keyservers,
-                          strlist_t patterns, estream_t outfp);
+                          strlist_t patterns, int ldap_only, estream_t outfp);
 gpg_error_t ks_action_fetch (ctrl_t ctrl, const char *url, estream_t outfp);
 gpg_error_t ks_action_put (ctrl_t ctrl, uri_item_t keyservers,
                           void *data, size_t datalen,
index 14859c7..3e64c93 100644 (file)
@@ -726,7 +726,8 @@ mark_host_dead (const char *name)
   parsed_uri_t parsed_uri = NULL;
   int done = 0;
 
-  if (name && *name && !http_parse_uri (&parsed_uri, name, 1))
+  if (name && *name
+      && !http_parse_uri (&parsed_uri, name, HTTP_PARSE_NO_SCHEME_CHECK))
     {
       if (parsed_uri->v6lit)
         {
index bd6f8d5..afc7f56 100644 (file)
 # include <getopt.h>
 #endif
 #include <stdlib.h>
-#include <errno.h>
-#include <assert.h>
-
-#ifdef _WIN32
-# include <winsock2.h>
-# include <winldap.h>
-#else
-# ifdef NEED_LBER_H
-#  include <lber.h>
-# endif
-/* For OpenLDAP, to enable the API that we're using. */
-# define LDAP_DEPRECATED 1
-# include <ldap.h>
-#endif
 #include <npth.h>
 
+
 #include "dirmngr.h"
 #include "misc.h"
 #include "../common/userids.h"
 #include "../common/mbox-util.h"
 #include "ks-engine.h"
+#include "ldap-misc.h"
 #include "ldap-parse-uri.h"
+#include "ldapserver.h"
 
 
 /* Flags with infos from the connected server.  */
 #define SERVERINFO_NTDS     8 /* Server is an Active Directory.      */
 
 
-
 #ifndef HAVE_TIMEGM
 time_t timegm(struct tm *tm);
 #endif
-\f
-/* Convert an LDAP error to a GPG error.  */
-static int
-ldap_err_to_gpg_err (int code)
-{
-  gpg_err_code_t ec;
-
-  switch (code)
-    {
-#ifdef LDAP_X_CONNECTING
-    case LDAP_X_CONNECTING: ec = GPG_ERR_LDAP_X_CONNECTING; break;
-#endif
-
-    case LDAP_REFERRAL_LIMIT_EXCEEDED: ec = GPG_ERR_LDAP_REFERRAL_LIMIT; break;
-    case LDAP_CLIENT_LOOP: ec = GPG_ERR_LDAP_CLIENT_LOOP; break;
-    case LDAP_NO_RESULTS_RETURNED: ec = GPG_ERR_LDAP_NO_RESULTS; break;
-    case LDAP_CONTROL_NOT_FOUND: ec = GPG_ERR_LDAP_CONTROL_NOT_FOUND; break;
-    case LDAP_NOT_SUPPORTED: ec = GPG_ERR_LDAP_NOT_SUPPORTED; break;
-    case LDAP_CONNECT_ERROR: ec = GPG_ERR_LDAP_CONNECT; break;
-    case LDAP_NO_MEMORY: ec = GPG_ERR_LDAP_NO_MEMORY; break;
-    case LDAP_PARAM_ERROR: ec = GPG_ERR_LDAP_PARAM; break;
-    case LDAP_USER_CANCELLED: ec = GPG_ERR_LDAP_USER_CANCELLED; break;
-    case LDAP_FILTER_ERROR: ec = GPG_ERR_LDAP_FILTER; break;
-    case LDAP_AUTH_UNKNOWN: ec = GPG_ERR_LDAP_AUTH_UNKNOWN; break;
-    case LDAP_TIMEOUT: ec = GPG_ERR_LDAP_TIMEOUT; break;
-    case LDAP_DECODING_ERROR: ec = GPG_ERR_LDAP_DECODING; break;
-    case LDAP_ENCODING_ERROR: ec = GPG_ERR_LDAP_ENCODING; break;
-    case LDAP_LOCAL_ERROR: ec = GPG_ERR_LDAP_LOCAL; break;
-    case LDAP_SERVER_DOWN: ec = GPG_ERR_LDAP_SERVER_DOWN; break;
-
-    case LDAP_SUCCESS: ec = GPG_ERR_LDAP_SUCCESS; break;
-
-    case LDAP_OPERATIONS_ERROR: ec = GPG_ERR_LDAP_OPERATIONS; break;
-    case LDAP_PROTOCOL_ERROR: ec = GPG_ERR_LDAP_PROTOCOL; break;
-    case LDAP_TIMELIMIT_EXCEEDED: ec = GPG_ERR_LDAP_TIMELIMIT; break;
-    case LDAP_SIZELIMIT_EXCEEDED: ec = GPG_ERR_LDAP_SIZELIMIT; break;
-    case LDAP_COMPARE_FALSE: ec = GPG_ERR_LDAP_COMPARE_FALSE; break;
-    case LDAP_COMPARE_TRUE: ec = GPG_ERR_LDAP_COMPARE_TRUE; break;
-    case LDAP_AUTH_METHOD_NOT_SUPPORTED: ec=GPG_ERR_LDAP_UNSUPPORTED_AUTH;break;
-    case LDAP_STRONG_AUTH_REQUIRED: ec = GPG_ERR_LDAP_STRONG_AUTH_RQRD; break;
-    case LDAP_PARTIAL_RESULTS: ec = GPG_ERR_LDAP_PARTIAL_RESULTS; break;
-    case LDAP_REFERRAL: ec = GPG_ERR_LDAP_REFERRAL; break;
-
-#ifdef LDAP_ADMINLIMIT_EXCEEDED
-    case LDAP_ADMINLIMIT_EXCEEDED: ec = GPG_ERR_LDAP_ADMINLIMIT; break;
-#endif
-
-#ifdef LDAP_UNAVAILABLE_CRITICAL_EXTENSION
-    case LDAP_UNAVAILABLE_CRITICAL_EXTENSION:
-                               ec = GPG_ERR_LDAP_UNAVAIL_CRIT_EXTN; break;
-#endif
-
-    case LDAP_CONFIDENTIALITY_REQUIRED: ec = GPG_ERR_LDAP_CONFIDENT_RQRD; break;
-    case LDAP_SASL_BIND_IN_PROGRESS: ec = GPG_ERR_LDAP_SASL_BIND_INPROG; break;
-    case LDAP_NO_SUCH_ATTRIBUTE: ec = GPG_ERR_LDAP_NO_SUCH_ATTRIBUTE; break;
-    case LDAP_UNDEFINED_TYPE: ec = GPG_ERR_LDAP_UNDEFINED_TYPE; break;
-    case LDAP_INAPPROPRIATE_MATCHING: ec = GPG_ERR_LDAP_BAD_MATCHING; break;
-    case LDAP_CONSTRAINT_VIOLATION: ec = GPG_ERR_LDAP_CONST_VIOLATION; break;
-
-#ifdef LDAP_TYPE_OR_VALUE_EXISTS
-    case LDAP_TYPE_OR_VALUE_EXISTS: ec = GPG_ERR_LDAP_TYPE_VALUE_EXISTS; break;
-#endif
-
-    case LDAP_INVALID_SYNTAX: ec = GPG_ERR_LDAP_INV_SYNTAX; break;
-    case LDAP_NO_SUCH_OBJECT: ec = GPG_ERR_LDAP_NO_SUCH_OBJ; break;
-    case LDAP_ALIAS_PROBLEM: ec = GPG_ERR_LDAP_ALIAS_PROBLEM; break;
-    case LDAP_INVALID_DN_SYNTAX: ec = GPG_ERR_LDAP_INV_DN_SYNTAX; break;
-    case LDAP_IS_LEAF: ec = GPG_ERR_LDAP_IS_LEAF; break;
-    case LDAP_ALIAS_DEREF_PROBLEM: ec = GPG_ERR_LDAP_ALIAS_DEREF; break;
-
-#ifdef LDAP_X_PROXY_AUTHZ_FAILURE
-    case LDAP_X_PROXY_AUTHZ_FAILURE: ec = GPG_ERR_LDAP_X_PROXY_AUTH_FAIL; break;
-#endif
-
-    case LDAP_INAPPROPRIATE_AUTH: ec = GPG_ERR_LDAP_BAD_AUTH; break;
-    case LDAP_INVALID_CREDENTIALS: ec = GPG_ERR_LDAP_INV_CREDENTIALS; break;
-
-#ifdef LDAP_INSUFFICIENT_ACCESS
-    case LDAP_INSUFFICIENT_ACCESS: ec = GPG_ERR_LDAP_INSUFFICIENT_ACC; break;
-#endif
-
-    case LDAP_BUSY: ec = GPG_ERR_LDAP_BUSY; break;
-    case LDAP_UNAVAILABLE: ec = GPG_ERR_LDAP_UNAVAILABLE; break;
-    case LDAP_UNWILLING_TO_PERFORM: ec = GPG_ERR_LDAP_UNWILL_TO_PERFORM; break;
-    case LDAP_LOOP_DETECT: ec = GPG_ERR_LDAP_LOOP_DETECT; break;
-    case LDAP_NAMING_VIOLATION: ec = GPG_ERR_LDAP_NAMING_VIOLATION; break;
-    case LDAP_OBJECT_CLASS_VIOLATION: ec = GPG_ERR_LDAP_OBJ_CLS_VIOLATION; break;
-    case LDAP_NOT_ALLOWED_ON_NONLEAF: ec=GPG_ERR_LDAP_NOT_ALLOW_NONLEAF;break;
-    case LDAP_NOT_ALLOWED_ON_RDN: ec = GPG_ERR_LDAP_NOT_ALLOW_ON_RDN; break;
-    case LDAP_ALREADY_EXISTS: ec = GPG_ERR_LDAP_ALREADY_EXISTS; break;
-    case LDAP_NO_OBJECT_CLASS_MODS: ec = GPG_ERR_LDAP_NO_OBJ_CLASS_MODS; break;
-    case LDAP_RESULTS_TOO_LARGE: ec = GPG_ERR_LDAP_RESULTS_TOO_LARGE; break;
-    case LDAP_AFFECTS_MULTIPLE_DSAS: ec = GPG_ERR_LDAP_AFFECTS_MULT_DSAS; break;
-
-#ifdef LDAP_VLV_ERROR
-    case LDAP_VLV_ERROR: ec = GPG_ERR_LDAP_VLV; break;
-#endif
-
-    case LDAP_OTHER: ec = GPG_ERR_LDAP_OTHER; break;
-
-#ifdef LDAP_CUP_RESOURCES_EXHAUSTED
-    case LDAP_CUP_RESOURCES_EXHAUSTED: ec=GPG_ERR_LDAP_CUP_RESOURCE_LIMIT;break;
-    case LDAP_CUP_SECURITY_VIOLATION: ec=GPG_ERR_LDAP_CUP_SEC_VIOLATION; break;
-    case LDAP_CUP_INVALID_DATA: ec = GPG_ERR_LDAP_CUP_INV_DATA; break;
-    case LDAP_CUP_UNSUPPORTED_SCHEME: ec = GPG_ERR_LDAP_CUP_UNSUP_SCHEME; break;
-    case LDAP_CUP_RELOAD_REQUIRED: ec = GPG_ERR_LDAP_CUP_RELOAD; break;
-#endif
-
-#ifdef LDAP_CANCELLED
-    case LDAP_CANCELLED: ec = GPG_ERR_LDAP_CANCELLED; break;
-#endif
-
-#ifdef LDAP_NO_SUCH_OPERATION
-    case LDAP_NO_SUCH_OPERATION: ec = GPG_ERR_LDAP_NO_SUCH_OPERATION; break;
-#endif
-
-#ifdef LDAP_TOO_LATE
-    case LDAP_TOO_LATE: ec = GPG_ERR_LDAP_TOO_LATE; break;
-#endif
-
-#ifdef LDAP_CANNOT_CANCEL
-    case LDAP_CANNOT_CANCEL: ec = GPG_ERR_LDAP_CANNOT_CANCEL; break;
-#endif
 
-#ifdef LDAP_ASSERTION_FAILED
-    case LDAP_ASSERTION_FAILED: ec = GPG_ERR_LDAP_ASSERTION_FAILED; break;
-#endif
-
-#ifdef LDAP_PROXIED_AUTHORIZATION_DENIED
-    case LDAP_PROXIED_AUTHORIZATION_DENIED:
-                                      ec = GPG_ERR_LDAP_PROX_AUTH_DENIED; break;
-#endif
-
-    default:
-#if defined(LDAP_E_ERROR) && defined(LDAP_X_ERROR)
-      if (LDAP_E_ERROR (code))
-        ec = GPG_ERR_LDAP_E_GENERAL;
-      else if (LDAP_X_ERROR (code))
-        ec = GPG_ERR_LDAP_X_GENERAL;
-      else
-#endif
-        ec = GPG_ERR_LDAP_GENERAL;
-      break;
-    }
 
-  return ec;
-}
-
-/* Retrieve an LDAP error and return it's GPG equivalent.  */
-static int
-ldap_to_gpg_err (LDAP *ld)
-{
-#if defined(HAVE_LDAP_GET_OPTION) && defined(LDAP_OPT_ERROR_NUMBER)
-  int err;
-
-  if (ldap_get_option (ld, LDAP_OPT_ERROR_NUMBER, &err) == 0)
-    return ldap_err_to_gpg_err (err);
-  else
-    return GPG_ERR_GENERAL;
-#elif defined(HAVE_LDAP_LD_ERRNO)
-  return ldap_err_to_gpg_err (ld->ld_errno);
-#else
-  /* We should never get here since the LDAP library should always
-     have either ldap_get_option or ld_errno, but just in case... */
-  return GPG_ERR_INTERNAL;
-#endif
-}
 \f
 static time_t
 ldap2epochtime (const char *timestr)
@@ -295,6 +118,16 @@ epoch2ldaptime (time_t stamp)
     return xstrdup ("INVALID TIME");
 }
 #endif
+
+
+static void
+my_ldap_value_free (char **vals)
+{
+  if (vals)
+    ldap_value_free (vals);
+}
+
+
 \f
 /* Print a help output for the schemata supported by this module. */
 gpg_error_t
@@ -302,26 +135,34 @@ ks_ldap_help (ctrl_t ctrl, parsed_uri_t uri)
 {
   const char data[] =
     "Handler for LDAP URLs:\n"
-    "  ldap://host:port/[BASEDN]???[bindname=BINDNAME,password=PASSWORD]\n"
+    "  ldap://HOST:PORT/[BASEDN]????[bindname=BINDNAME,password=PASSWORD]\n"
     "\n"
     "Note: basedn, bindname and password need to be percent escaped. In\n"
     "particular, spaces need to be replaced with %20 and commas with %2c.\n"
-    "bindname will typically be of the form:\n"
+    "Thus bindname will typically be of the form:\n"
     "\n"
     "  uid=user%2cou=PGP%20Users%2cdc=EXAMPLE%2cdc=ORG\n"
     "\n"
     "The ldaps:// and ldapi:// schemes are also supported.  If ldaps is used\n"
     "then the server's certificate will be checked.  If it is not valid, any\n"
-    "operation will be aborted.\n"
+    "operation will be aborted.  Note that ldaps means LDAP with STARTTLS\n"
+    "\n"
+    "As an alternative to an URL a string in this form may be used:\n"
+    "\n"
+    "  HOST:PORT:BINDNAME:PASSWORD:BASEDN:FLAGS:\n"
+    "\n"
+    "The use of the percent sign or a colon in one of the string values is\n"
+    "currently not supported.\n"
     "\n"
     "Supported methods: search, get, put\n";
   gpg_error_t err;
 
   if(!uri)
     err = ks_print_help (ctrl, "  ldap");
-  else if (strcmp (uri->scheme, "ldap") == 0
-      || strcmp (uri->scheme, "ldaps") == 0
-      || strcmp (uri->scheme, "ldapi") == 0)
+  else if (!strcmp (uri->scheme, "ldap")
+           || !strcmp (uri->scheme, "ldaps")
+           || !strcmp (uri->scheme, "ldapi")
+           || uri->opaque)
     err = ks_print_help (ctrl, data);
   else
     err = 0;
@@ -379,7 +220,8 @@ keyspec_to_ldap_filter (const char *keyspec, char **filter, int only_exact,
       else
         p = freeme;
       if ((serverinfo & SERVERINFO_SCHEMAV2))
-        f = xasprintf ("(gpgMailbox=%s)", p);
+        f = xasprintf ("(&(gpgMailbox=%s)(!(|(pgpRevoked=1)(pgpDisabled=1))))",
+                       p);
       else if (!only_exact)
         f = xasprintf ("(pgpUserID=*<%s>*)", p);
       break;
@@ -482,102 +324,176 @@ keyspec_to_ldap_filter (const char *keyspec, char **filter, int only_exact,
    If no LDAP error occurred, you still need to check that *basednp is
    valid.  If it is NULL, then the server does not appear to be an
    OpenPGP Keyserver.  */
-static int
+static gpg_error_t
 my_ldap_connect (parsed_uri_t uri, LDAP **ldap_connp,
-                 char **basednp, unsigned int *r_serverinfo)
+                 char **r_basedn, char **r_host, int *r_use_tls,
+                 unsigned int *r_serverinfo)
 {
-  int err = 0;
+  gpg_error_t err = 0;
+  int lerr;
+  ldap_server_t server = NULL;
   LDAP *ldap_conn = NULL;
-  char *user = uri->auth;
-  struct uri_tuple_s *password_param;
-  char *password;
   char *basedn = NULL;
+  char *host = NULL;   /* Host to use.  */
+  int port;            /* Port to use.  */
+  int use_tls;         /* 1 = starttls, 2 = ldap-over-tls  */
+  int use_ntds;        /* Use Active Directory authentication.  */
+  const char *bindname;
+  const char *password;
+  const char *basedn_arg;
+#ifndef HAVE_W32_SYSTEM
+  char *tmpstr;
+#endif
 
+  if (r_basedn)
+    *r_basedn = NULL;
+  if (r_host)
+    *r_host = NULL;
+  if (r_use_tls)
+    *r_use_tls = 0;
   *r_serverinfo = 0;
 
-  password_param = uri_query_lookup (uri, "password");
-  password = password_param ? password_param->value : NULL;
+  if (uri->opaque)
+    {
+      server = ldapserver_parse_one (uri->path, NULL, 0);
+      if (!server)
+        return gpg_error (GPG_ERR_LDAP_OTHER);
+      host = server->host;
+      port = server->port;
+      bindname = server->user;
+      password = bindname? server->pass : NULL;
+      basedn_arg = server->base;
+      use_tls = server->starttls? 1 : server->ldap_over_tls? 2 : 0;
+      use_ntds = server->ntds;
+    }
+  else
+    {
+      host = uri->host;
+      port = uri->port;
+      bindname = uri->auth;
+      password = bindname? uri_query_value (uri, "password") : NULL;
+      basedn_arg = uri->path;
+      use_tls = uri->use_tls ? 1 : 0;
+      use_ntds = uri->ad_current;
+    }
+
+  if (!port)
+    port = use_tls == 2? 636 : 389;
+
+
+  if (host)
+    {
+      host = xtrystrdup (host);
+      if (!host)
+        {
+          err = gpg_error_from_syserror ();
+          goto out;
+        }
+    }
+
+  if (opt.verbose)
+    log_info ("ldap connect to '%s:%d:%s:%s:%s:%s%s'\n",
+              host, port,
+              basedn_arg ? basedn_arg : "",
+              bindname ? bindname : "",
+              password ? "*****" : "",
+              use_tls == 1? "starttls" : use_tls == 2? "ldaptls" : "plain",
+              use_ntds ? ",ntds":"");
 
-  if (opt.debug)
-    log_debug ("my_ldap_connect(%s:%d/%s????%s%s%s%s%s%s)\n",
-               uri->host, uri->port,
-               uri->path ? uri->path : "",
-               uri->auth ? "bindname=" : "",
-               uri->auth ? uri->auth : "",
-               uri->auth && password ? "," : "",
-               password ? "password=" : "",
-               password ? ">not shown<": "",
-               uri->ad_current? " auth=>current_user<":"");
 
   /* If the uri specifies a secure connection and we don't support
      TLS, then fail; don't silently revert to an insecure
      connection.  */
-  if (uri->use_tls)
+  if (use_tls)
     {
 #ifndef HAVE_LDAP_START_TLS_S
-      log_error ("Can't use LDAP to connect to the server: no TLS support.");
+      log_error ("ldap: can't connect to the server: no TLS support.");
       err = GPG_ERR_LDAP_NOT_SUPPORTED;
       goto out;
 #endif
     }
 
-  if (uri->ad_current)
-    ldap_conn = ldap_init (NULL, uri->port);
-  else
-    ldap_conn = ldap_init (uri->host, uri->port);
+
+#ifdef HAVE_W32_SYSTEM
+  /* Note that host==NULL uses the default domain controller.  */
+  npth_unprotect ();
+  ldap_conn = ldap_sslinit (host, port, (use_tls == 2));
+  npth_protect ();
   if (!ldap_conn)
     {
-      err = gpg_err_code_from_syserror ();
-      if (uri->ad_current)
-        log_error ("error initializing LDAP for current user\n");
-      else
-        log_error ("error initializing LDAP for (%s://%s:%d)\n",
-                   uri->scheme, uri->host, uri->port);
+      lerr = LdapGetLastError ();
+      err = ldap_err_to_gpg_err (lerr);
+      log_error ("error initializing LDAP '%s:%d': %s\n",
+                 host, port, ldap_err2string (lerr));
+      goto out;
+    }
+#else /* Unix */
+  tmpstr = xtryasprintf ("%s://%s:%d",
+                         use_tls == 2? "ldaps" : "ldap",
+                         host, port);
+  if (!tmpstr)
+    {
+      err = gpg_error_from_syserror ();
       goto out;
     }
+  npth_unprotect ();
+  lerr = ldap_initialize (&ldap_conn, tmpstr);
+  npth_protect ();
+  if (lerr != LDAP_SUCCESS || !ldap_conn)
+    {
+      err = ldap_err_to_gpg_err (lerr);
+      log_error ("error initializing LDAP '%s': %s\n",
+                 tmpstr, ldap_err2string (lerr));
+      xfree (tmpstr);
+      goto out;
+    }
+  xfree (tmpstr);
+#endif /* Unix */
 
 #ifdef HAVE_LDAP_SET_OPTION
   {
     int ver = LDAP_VERSION3;
 
-    err = ldap_set_option (ldap_conn, LDAP_OPT_PROTOCOL_VERSION, &ver);
-    if (err != LDAP_SUCCESS)
+    lerr = ldap_set_option (ldap_conn, LDAP_OPT_PROTOCOL_VERSION, &ver);
+    if (lerr != LDAP_SUCCESS)
       {
        log_error ("ks-ldap: unable to go to LDAP 3: %s\n",
-                  ldap_err2string (err));
+                  ldap_err2string (lerr));
+       err = ldap_err_to_gpg_err (lerr);
        goto out;
       }
   }
-#endif
-
-  /* XXX: It would be nice to have an option to provide the server's
-     certificate.  */
-#if 0
-#if defined(LDAP_OPT_X_TLS_CACERTFILE) && defined(HAVE_LDAP_SET_OPTION)
-  err = ldap_set_option (NULL, LDAP_OPT_X_TLS_CACERTFILE, ca_cert_file);
-  if (err)
+  if (opt.ldaptimeout)
     {
-      log_error ("unable to set ca-cert-file to '%s': %s\n",
-                ca_cert_file, ldap_err2string (err));
-      goto out;
+      int ver = opt.ldaptimeout;
+
+      lerr = ldap_set_option (ldap_conn, LDAP_OPT_TIMELIMIT, &ver);
+      if (lerr != LDAP_SUCCESS)
+        {
+          log_error ("ks-ldap: unable to set LDAP timelimit to %us: %s\n",
+                     opt.ldaptimeout, ldap_err2string (lerr));
+          err = ldap_err_to_gpg_err (lerr);
+          goto out;
+        }
+      if (opt.verbose)
+        log_info ("ldap timeout set to %us\n", opt.ldaptimeout);
     }
-#endif /* LDAP_OPT_X_TLS_CACERTFILE && HAVE_LDAP_SET_OPTION */
 #endif
 
+
 #ifdef HAVE_LDAP_START_TLS_S
-  if (uri->use_tls)
+  if (use_tls == 1)
     {
-      /* XXX: We need an option to determine whether to abort if the
-        certificate is bad or not.  Right now we conservatively
-        default to checking the certificate and aborting.  */
 #ifndef HAVE_W32_SYSTEM
       int check_cert = LDAP_OPT_X_TLS_HARD; /* LDAP_OPT_X_TLS_NEVER */
 
-      err = ldap_set_option (ldap_conn,
-                            LDAP_OPT_X_TLS_REQUIRE_CERT, &check_cert);
-      if (err)
+      lerr = ldap_set_option (ldap_conn,
+                              LDAP_OPT_X_TLS_REQUIRE_CERT, &check_cert);
+      if (lerr)
        {
-         log_error ("error setting TLS option on LDAP connection\n");
+         log_error ("ldap: error setting an TLS option: %s\n",
+                     ldap_err2string (lerr));
+          err = ldap_err_to_gpg_err (lerr);
          goto out;
        }
 #else
@@ -589,7 +505,7 @@ my_ldap_connect (parsed_uri_t uri, LDAP **ldap_connp,
 #endif
 
       npth_unprotect ();
-      err = ldap_start_tls_s (ldap_conn,
+      lerr = ldap_start_tls_s (ldap_conn,
 #ifdef HAVE_W32_SYSTEM
                              /* ServerReturnValue, result */
                              NULL, NULL,
@@ -597,44 +513,44 @@ my_ldap_connect (parsed_uri_t uri, LDAP **ldap_connp,
                              /* ServerControls, ClientControls */
                              NULL, NULL);
       npth_protect ();
-      if (err)
+      if (lerr)
        {
-         log_error ("error connecting to LDAP server with TLS\n");
+         log_error ("ldap: error switching to STARTTLS mode: %s\n",
+                     ldap_err2string (lerr));
+          err = ldap_err_to_gpg_err (lerr);
          goto out;
        }
     }
 #endif
 
-  if (uri->ad_current)
+  if (use_ntds)
     {
-      if (opt.debug)
-        log_debug ("LDAP bind to current user via AD\n");
 #ifdef HAVE_W32_SYSTEM
       npth_unprotect ();
-      err = ldap_bind_s (ldap_conn, NULL, NULL, LDAP_AUTH_NEGOTIATE);
+      lerr = ldap_bind_s (ldap_conn, NULL, NULL, LDAP_AUTH_NEGOTIATE);
       npth_protect ();
-#else
-      err = gpg_error (GPG_ERR_NOT_SUPPORTED);
-#endif
-      if (err != LDAP_SUCCESS)
+      if (lerr != LDAP_SUCCESS)
        {
          log_error ("error binding to LDAP via AD: %s\n",
-                     ldap_err2string (err));
+                     ldap_err2string (lerr));
+          err = ldap_err_to_gpg_err (lerr);
          goto out;
        }
+#else
+      log_error ("ldap: no Active Directory support but 'ntds' requested\n");
+      err = gpg_error (GPG_ERR_NOT_SUPPORTED);
+      goto out;
+#endif
     }
-  else if (uri->auth)
+  else if (bindname)
     {
-      if (opt.debug)
-        log_debug ("LDAP bind to %s, password %s\n",
-                   user, password ? ">not shown<" : ">none<");
-
       npth_unprotect ();
-      err = ldap_simple_bind_s (ldap_conn, user, password);
+      lerr = ldap_simple_bind_s (ldap_conn, bindname, password);
       npth_protect ();
-      if (err != LDAP_SUCCESS)
+      if (lerr != LDAP_SUCCESS)
        {
-         log_error ("error binding to LDAP: %s\n", ldap_err2string (err));
+         log_error ("error binding to LDAP: %s\n", ldap_err2string (lerr));
+          err = ldap_err_to_gpg_err (lerr);
          goto out;
        }
     }
@@ -643,13 +559,16 @@ my_ldap_connect (parsed_uri_t uri, LDAP **ldap_connp,
       /* By default we don't bind as there is usually no need to.  */
     }
 
-  if (uri->path && *uri->path)
+  if (basedn_arg && *basedn_arg)
     {
-      /* User specified base DN.  */
-      basedn = xstrdup (uri->path);
-
-      /* If the user specifies a base DN, then we know the server is a
+      /* User specified base DN.  In this case we know the server is a
        * real LDAP server.  */
+      basedn = xtrystrdup (basedn_arg);
+      if (!basedn)
+        {
+          err = gpg_error_from_syserror ();
+          goto out;
+        }
       *r_serverinfo |= SERVERINFO_REALLDAP;
     }
   else
@@ -658,11 +577,11 @@ my_ldap_connect (parsed_uri_t uri, LDAP **ldap_connp,
       char *attr[] = { "namingContexts", NULL };
 
       npth_unprotect ();
-      err = ldap_search_s (ldap_conn, "", LDAP_SCOPE_BASE,
+      lerr = ldap_search_s (ldap_conn, "", LDAP_SCOPE_BASE,
                           "(objectClass=*)", attr, 0, &res);
       npth_protect ();
 
-      if (err == LDAP_SUCCESS)
+      if (lerr == LDAP_SUCCESS)
        {
          char **context;
 
@@ -681,7 +600,7 @@ my_ldap_connect (parsed_uri_t uri, LDAP **ldap_connp,
 
               *r_serverinfo |= SERVERINFO_REALLDAP;
 
-             for (i = 0; context[i] && ! basedn; i++)
+             for (i = 0; context[i] && !basedn; i++)
                {
                  char **vals;
                  LDAPMessage *si_res;
@@ -691,36 +610,36 @@ my_ldap_connect (parsed_uri_t uri, LDAP **ldap_connp,
                     char *object = xasprintf ("cn=pgpServerInfo,%s",
                                               context[i]);
                     npth_unprotect ();
-                    err = ldap_search_s (ldap_conn, object, LDAP_SCOPE_BASE,
+                    lerr = ldap_search_s (ldap_conn, object, LDAP_SCOPE_BASE,
                                          "(objectClass=*)", attr2, 0, &si_res);
                     npth_protect ();
                     xfree (object);
                   }
 
-                 if (err == LDAP_SUCCESS)
+                 if (lerr == LDAP_SUCCESS)
                    {
                      vals = ldap_get_values (ldap_conn, si_res,
                                              "pgpBaseKeySpaceDN");
-                     if (vals)
+                     if (vals && vals[0])
                        {
                          basedn = xtrystrdup (vals[0]);
-                         ldap_value_free (vals);
                        }
+                      my_ldap_value_free (vals);
 
                      vals = ldap_get_values (ldap_conn, si_res,
                                              "pgpSoftware");
-                     if (vals)
+                     if (vals && vals[0])
                        {
                           if (opt.debug)
                             log_debug ("Server: \t%s\n", vals[0]);
                           if (!ascii_strcasecmp (vals[0], "GnuPG"))
                             is_gnupg = 1;
-                         ldap_value_free (vals);
                        }
+                      my_ldap_value_free (vals);
 
                      vals = ldap_get_values (ldap_conn, si_res,
                                              "pgpVersion");
-                     if (vals)
+                     if (vals && vals[0])
                        {
                           if (opt.debug)
                             log_debug ("Version:\t%s\n", vals[0]);
@@ -736,8 +655,8 @@ my_ldap_connect (parsed_uri_t uri, LDAP **ldap_connp,
                                   && !ascii_strcasecmp (fields[1], "ntds"))
                                 *r_serverinfo |= SERVERINFO_NTDS;
                             }
-                         ldap_value_free (vals);
                        }
+                      my_ldap_value_free (vals);
                    }
 
                  /* From man ldap_search_s: "res parameter of
@@ -750,7 +669,7 @@ my_ldap_connect (parsed_uri_t uri, LDAP **ldap_connp,
              ldap_value_free (context);
            }
        }
-      else
+      else /* ldap_search failed.  */
        {
          /* We don't have an answer yet, which means the server might
             be a PGP.com keyserver. */
@@ -760,32 +679,32 @@ my_ldap_connect (parsed_uri_t uri, LDAP **ldap_connp,
          char *attr2[] = { "pgpBaseKeySpaceDN", "version", "software", NULL };
 
           npth_unprotect ();
-         err = ldap_search_s (ldap_conn, "cn=pgpServerInfo", LDAP_SCOPE_BASE,
+         lerr = ldap_search_s (ldap_conn, "cn=pgpServerInfo", LDAP_SCOPE_BASE,
                               "(objectClass=*)", attr2, 0, &si_res);
           npth_protect ();
-         if (err == LDAP_SUCCESS)
+         if (lerr == LDAP_SUCCESS)
            {
              /* For the PGP LDAP keyserver, this is always
               * "OU=ACTIVE,O=PGP KEYSPACE,C=US", but it might not be
                * in the future. */
 
              vals = ldap_get_values (ldap_conn, si_res, "baseKeySpaceDN");
-             if (vals)
+             if (vals && vals[0])
                {
                  basedn = xtrystrdup (vals[0]);
-                 ldap_value_free (vals);
                }
+              my_ldap_value_free (vals);
 
              vals = ldap_get_values (ldap_conn, si_res, "software");
-             if (vals)
+             if (vals && vals[0])
                {
                   if (opt.debug)
                     log_debug ("ks-ldap: PGP Server: \t%s\n", vals[0]);
-                 ldap_value_free (vals);
                }
+              my_ldap_value_free (vals);
 
              vals = ldap_get_values (ldap_conn, si_res, "version");
-             if (vals)
+             if (vals && vals[0])
                {
                   if (opt.debug)
                     log_debug ("ks-ldap: PGP Server Version:\t%s\n", vals[0]);
@@ -799,8 +718,8 @@ my_ldap_connect (parsed_uri_t uri, LDAP **ldap_connp,
                  if (atoi (vals[0]) > 1)
                     *r_serverinfo |= SERVERINFO_PGPKEYV2;
 
-                 ldap_value_free (vals);
                }
+              my_ldap_value_free (vals);
            }
 
          ldap_msgfree (si_res);
@@ -823,23 +742,27 @@ my_ldap_connect (parsed_uri_t uri, LDAP **ldap_connp,
                  (*r_serverinfo & SERVERINFO_PGPKEYV2)? "pgpKeyV2":"pgpKey");
     }
 
-  if (err)
-    xfree (basedn);
-  else
-    {
-      if (basednp)
-       *basednp = basedn;
-      else
-       xfree (basedn);
-    }
+  ldapserver_list_free (server);
 
   if (err)
     {
+      xfree (basedn);
       if (ldap_conn)
        ldap_unbind (ldap_conn);
     }
   else
-    *ldap_connp = ldap_conn;
+    {
+      if (r_basedn)
+       *r_basedn = basedn;
+      else
+       xfree (basedn);
+      if (r_host)
+        *r_host = host;
+      else
+        xfree (host);
+
+      *ldap_connp = ldap_conn;
+    }
 
   return err;
 }
@@ -854,10 +777,17 @@ extract_keys (estream_t output,
   char **vals;
 
   es_fprintf (output, "INFO %s BEGIN\n", certid);
-  es_fprintf (output, "pub:%s:", certid);
 
   /* Note: ldap_get_values returns a NULL terminated array of
      strings.  */
+
+  vals = ldap_get_values (ldap_conn, message, "gpgfingerprint");
+  if (vals && vals[0] && vals[0][0])
+    es_fprintf (output, "pub:%s:", vals[0]);
+  else
+    es_fprintf (output, "pub:%s:", certid);
+  my_ldap_value_free (vals);
+
   vals = ldap_get_values (ldap_conn, message, "pgpkeytype");
   if (vals && vals[0])
     {
@@ -865,8 +795,8 @@ extract_keys (estream_t output,
        es_fprintf  (output, "1");
       else if (strcmp (vals[0],"DSS/DH") == 0)
        es_fprintf (output, "17");
-      ldap_value_free (vals);
     }
+  my_ldap_value_free (vals);
 
   es_fprintf (output, ":");
 
@@ -876,8 +806,8 @@ extract_keys (estream_t output,
       int v = atoi (vals[0]);
       if (v > 0)
        es_fprintf (output, "%d", v);
-      ldap_value_free (vals);
     }
+  my_ldap_value_free (vals);
 
   es_fprintf (output, ":");
 
@@ -886,8 +816,8 @@ extract_keys (estream_t output,
     {
       if (strlen (vals[0]) == 15)
        es_fprintf (output, "%u", (unsigned int) ldap2epochtime (vals[0]));
-      ldap_value_free (vals);
     }
+  my_ldap_value_free (vals);
 
   es_fprintf (output, ":");
 
@@ -896,8 +826,8 @@ extract_keys (estream_t output,
     {
       if (strlen (vals[0]) == 15)
        es_fprintf (output, "%u", (unsigned int) ldap2epochtime (vals[0]));
-      ldap_value_free (vals);
     }
+  my_ldap_value_free (vals);
 
   es_fprintf (output, ":");
 
@@ -906,8 +836,8 @@ extract_keys (estream_t output,
     {
       if (atoi (vals[0]) == 1)
        es_fprintf (output, "r");
-      ldap_value_free (vals);
     }
+  my_ldap_value_free (vals);
 
   es_fprintf (output, "\n");
 
@@ -917,8 +847,8 @@ extract_keys (estream_t output,
       int i;
       for (i = 0; vals[i]; i++)
        es_fprintf (output, "uid:%s\n", vals[i]);
-      ldap_value_free (vals);
     }
+  my_ldap_value_free (vals);
 
   es_fprintf (output, "INFO %s END\n", certid);
 }
@@ -933,6 +863,8 @@ ks_ldap_get (ctrl_t ctrl, parsed_uri_t uri, const char *keyspec,
   gpg_error_t err = 0;
   int ldap_err;
   unsigned int serverinfo;
+  char *host = NULL;
+  int use_tls;
   char *filter = NULL;
   LDAP *ldap_conn = NULL;
   char *basedn = NULL;
@@ -949,12 +881,11 @@ ks_ldap_get (ctrl_t ctrl, parsed_uri_t uri, const char *keyspec,
     }
 
   /* Make sure we are talking to an OpenPGP LDAP server.  */
-  ldap_err = my_ldap_connect (uri, &ldap_conn, &basedn, &serverinfo);
-  if (ldap_err || !basedn)
+  err = my_ldap_connect (uri, &ldap_conn,
+                         &basedn, &host, &use_tls, &serverinfo);
+  if (err || !basedn)
     {
-      if (ldap_err)
-       err = ldap_err_to_gpg_err (ldap_err);
-      else
+      if (!err)
        err = gpg_error (GPG_ERR_GENERAL);
       goto out;
     }
@@ -971,12 +902,13 @@ ks_ldap_get (ctrl_t ctrl, parsed_uri_t uri, const char *keyspec,
   {
     /* The ordering is significant.  Specifically, "pgpcertid" needs
        to be the second item in the list, since everything after it
-       may be discarded we aren't in verbose mode. */
+       may be discarded if we aren't in verbose mode. */
     char *attrs[] =
       {
        "dummy",
        "pgpcertid", "pgpuserid", "pgpkeyid", "pgprevoked", "pgpdisabled",
        "pgpkeycreatetime", "modifytimestamp", "pgpkeysize", "pgpkeytype",
+        "gpgfingerprint",
        NULL
       };
     /* 1 if we want just attribute types; 0 if we want both attribute
@@ -1021,6 +953,7 @@ ks_ldap_get (ctrl_t ctrl, parsed_uri_t uri, const char *keyspec,
       /* The set of entries that we've seen.  */
       strlist_t seen = NULL;
       LDAPMessage *each;
+      int anykey = 0;
 
       for (npth_unprotect (),
              each = ldap_first_entry (ldap_conn, message),
@@ -1073,17 +1006,23 @@ ks_ldap_get (ctrl_t ctrl, parsed_uri_t uri, const char *keyspec,
                      es_fprintf (fp, "\nKEY 0x%s END\n", certid[0]);
 
                      ldap_value_free (vals);
+                      anykey = 1;
                    }
                }
            }
 
-         ldap_value_free (certid);
+          my_ldap_value_free (certid);
        }
 
       free_strlist (seen);
 
       if (! fp)
        err = gpg_error (GPG_ERR_NO_DATA);
+
+      if (!err && anykey)
+        err = dirmngr_status_printf (ctrl, "SOURCE", "%s://%s",
+                                     use_tls? "ldaps" : "ldap",
+                                     host? host:"");
     }
   }
 
@@ -1105,6 +1044,7 @@ ks_ldap_get (ctrl_t ctrl, parsed_uri_t uri, const char *keyspec,
     }
 
   xfree (basedn);
+  xfree (host);
 
   if (ldap_conn)
     ldap_unbind (ldap_conn);
@@ -1139,12 +1079,10 @@ ks_ldap_search (ctrl_t ctrl, parsed_uri_t uri, const char *pattern,
     }
 
   /* Make sure we are talking to an OpenPGP LDAP server.  */
-  ldap_err = my_ldap_connect (uri, &ldap_conn, &basedn, &serverinfo);
-  if (ldap_err || !basedn)
+  err = my_ldap_connect (uri, &ldap_conn, &basedn, NULL, NULL, &serverinfo);
+  if (err || !basedn)
     {
-      if (ldap_err)
-       err = ldap_err_to_gpg_err (ldap_err);
-      else
+      if (!err)
        err = GPG_ERR_GENERAL;
       goto out;
     }
@@ -1178,7 +1116,8 @@ ks_ldap_search (ctrl_t ctrl, parsed_uri_t uri, const char *pattern,
       {
        "pgpcertid", "pgpuserid", "pgprevoked", "pgpdisabled",
        "pgpkeycreatetime", "pgpkeyexpiretime", "modifytimestamp",
-       "pgpkeysize", "pgpkeytype", NULL
+       "pgpkeysize", "pgpkeytype", "gpgfingerprint",
+        NULL
       };
 
     if (opt.debug)
@@ -1218,6 +1157,7 @@ ks_ldap_search (ctrl_t ctrl, parsed_uri_t uri, const char *pattern,
            add_to_strlist (&dupelist, certid[0]);
            count++;
          }
+        my_ldap_value_free (certid);
       }
 
     if (ldap_err == LDAP_SIZELIMIT_EXCEEDED)
@@ -1247,18 +1187,26 @@ ks_ldap_search (ctrl_t ctrl, parsed_uri_t uri, const char *pattern,
            LDAPMessage *uids;
 
            certid = ldap_get_values (ldap_conn, each, "pgpcertid");
-           if (! certid || ! certid[0])
-             continue;
+           if (!certid || !certid[0])
+              {
+                my_ldap_value_free (certid);
+                continue;
+              }
 
            /* Have we seen this certid before? */
            if (! strlist_find (dupelist, certid[0]))
              {
                add_to_strlist (&dupelist, certid[0]);
 
-               es_fprintf (fp, "pub:%s:",certid[0]);
+                vals = ldap_get_values (ldap_conn, each, "gpgfingerprint");
+                if (vals && vals[0] && vals[0][0])
+                  es_fprintf (fp, "pub:%s:", vals[0]);
+                else
+                  es_fprintf (fp, "pub:%s:", certid[0]);
+                my_ldap_value_free (vals);
 
                vals = ldap_get_values (ldap_conn, each, "pgpkeytype");
-               if (vals)
+               if (vals && vals[0])
                  {
                    /* The LDAP server doesn't exactly handle this
                       well. */
@@ -1266,60 +1214,60 @@ ks_ldap_search (ctrl_t ctrl, parsed_uri_t uri, const char *pattern,
                      es_fputs ("1", fp);
                    else if (strcasecmp (vals[0], "DSS/DH") == 0)
                      es_fputs ("17", fp);
-                   ldap_value_free (vals);
                  }
+               my_ldap_value_free (vals);
 
                es_fputc (':', fp);
 
                vals = ldap_get_values (ldap_conn, each, "pgpkeysize");
-               if (vals)
+               if (vals && vals[0])
                  {
                    /* Not sure why, but some keys are listed with a
                       key size of 0.  Treat that like an unknown. */
                    if (atoi (vals[0]) > 0)
                      es_fprintf (fp, "%d", atoi (vals[0]));
-                   ldap_value_free (vals);
                  }
+                my_ldap_value_free (vals);
 
                es_fputc (':', fp);
 
                /* YYYYMMDDHHmmssZ */
 
                vals = ldap_get_values (ldap_conn, each, "pgpkeycreatetime");
-               if(vals && strlen (vals[0]) == 15)
+               if(vals && vals[0] && strlen (vals[0]) == 15)
                  {
                    es_fprintf (fp, "%u",
                                (unsigned int) ldap2epochtime(vals[0]));
-                   ldap_value_free (vals);
                  }
+                my_ldap_value_free (vals);
 
                es_fputc (':', fp);
 
                vals = ldap_get_values (ldap_conn, each, "pgpkeyexpiretime");
-               if (vals && strlen (vals[0]) == 15)
+               if (vals && vals[0] && strlen (vals[0]) == 15)
                  {
                    es_fprintf (fp, "%u",
                                (unsigned int) ldap2epochtime (vals[0]));
-                   ldap_value_free (vals);
                  }
+                my_ldap_value_free (vals);
 
                es_fputc (':', fp);
 
                vals = ldap_get_values (ldap_conn, each, "pgprevoked");
-               if (vals)
+               if (vals && vals[0])
                  {
                    if (atoi (vals[0]) == 1)
                      es_fprintf (fp, "r");
-                   ldap_value_free (vals);
                  }
+                my_ldap_value_free (vals);
 
                vals = ldap_get_values (ldap_conn, each, "pgpdisabled");
-               if (vals)
+               if (vals && vals[0])
                  {
                    if (atoi (vals[0]) ==1)
                      es_fprintf (fp, "d");
-                   ldap_value_free (vals);
                  }
+                my_ldap_value_free (vals);
 
 #if 0
                /* This is not yet specified in the keyserver
@@ -1327,12 +1275,12 @@ ks_ldap_search (ctrl_t ctrl, parsed_uri_t uri, const char *pattern,
                es_fputc (':', fp);
 
                vals = ldap_get_values (ldap_conn, each, "modifytimestamp");
-               if(vals && strlen (vals[0]) == 15)
+               if(vals && vals[0] strlen (vals[0]) == 15)
                  {
                    es_fprintf (fp, "%u",
                                (unsigned int) ldap2epochtime (vals[0]));
-                   ldap_value_free (vals);
                  }
+                my_ldap_value_free (vals);
 #endif
 
                es_fprintf (fp, "\n");
@@ -1343,10 +1291,13 @@ ks_ldap_search (ctrl_t ctrl, parsed_uri_t uri, const char *pattern,
                     uids = ldap_next_entry (ldap_conn, uids))
                  {
                    vals = ldap_get_values (ldap_conn, uids, "pgpcertid");
-                   if (! vals)
-                     continue;
+                    if (!vals || !vals[0])
+                      {
+                        my_ldap_value_free (vals);
+                        continue;
+                      }
 
-                   if (strcasecmp (certid[0], vals[0]) == 0)
+                   if (!ascii_strcasecmp (certid[0], vals[0]))
                      {
                        char **uidvals;
 
@@ -1356,12 +1307,14 @@ ks_ldap_search (ctrl_t ctrl, parsed_uri_t uri, const char *pattern,
                                                   uids, "pgpuserid");
                        if (uidvals)
                          {
-                           /* Need to escape any colons */
-                           char *quoted = percent_escape (uidvals[0], NULL);
-                           es_fputs (quoted, fp);
+                           /* Need to percent escape any colons */
+                            char *quoted = try_percent_escape (uidvals[0],
+                                                               NULL);
+                            if (quoted)
+                              es_fputs (quoted, fp);
                            xfree (quoted);
-                           ldap_value_free (uidvals);
                          }
+                        my_ldap_value_free (uidvals);
 
                        es_fprintf (fp, "\n");
                      }
@@ -1370,7 +1323,7 @@ ks_ldap_search (ctrl_t ctrl, parsed_uri_t uri, const char *pattern,
                  }
              }
 
-             ldap_value_free (certid);
+            my_ldap_value_free (certid);
          }
       }
 
@@ -1384,8 +1337,7 @@ ks_ldap_search (ctrl_t ctrl, parsed_uri_t uri, const char *pattern,
  out:
   if (err)
     {
-      if (fp)
-       es_fclose (fp);
+      es_fclose (fp);
     }
   else
     {
@@ -1702,7 +1654,7 @@ uncescape (char *str)
          && hexdigitp (str + r + 3))
        {
          int x = hextobyte (&str[r + 2]);
-         assert (0 <= x && x <= 0xff);
+         log_assert (0 <= x && x <= 0xff);
 
          str[w] = x;
 
@@ -2018,12 +1970,10 @@ ks_ldap_put (ctrl_t ctrl, parsed_uri_t uri,
       return gpg_error (GPG_ERR_NOT_SUPPORTED);
     }
 
-  ldap_err = my_ldap_connect (uri, &ldap_conn, &basedn, &serverinfo);
-  if (ldap_err || !basedn)
+  err = my_ldap_connect (uri, &ldap_conn, &basedn, NULL, NULL, &serverinfo);
+  if (err || !basedn)
     {
-      if (ldap_err)
-       err = ldap_err_to_gpg_err (ldap_err);
-      else
+      if (!err)
        err = GPG_ERR_GENERAL;
       goto out;
     }
@@ -2077,8 +2027,8 @@ ks_ldap_put (ctrl_t ctrl, parsed_uri_t uri,
     {
       dump = es_fopen("/tmp/modlist.txt", "w");
       if (! dump)
-       log_error ("Failed to open /tmp/modlist.txt: %s\n",
-                  strerror (errno));
+       log_error ("failed to open /tmp/modlist.txt: %s\n",
+                  gpg_strerror (gpg_error_from_syserror ()));
 
       if (dump)
        {
diff --git a/dirmngr/ldap-misc.c b/dirmngr/ldap-misc.c
new file mode 100644 (file)
index 0000000..42f9c7a
--- /dev/null
@@ -0,0 +1,332 @@
+/* ldap-misc.c - Miscellaneous helpers for LDAP functions
+ * Copyright (C) 2015, 2021 g10 Code GmbH
+ *
+ * This file is part of GnuPG.
+ *
+ * GnuPG is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * GnuPG is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, see <https://www.gnu.org/licenses/>.
+ * SPDX-License-Identifier: GPL-3.0-or-later
+ */
+
+#include <config.h>
+#include <stdio.h>
+#include <string.h>
+#include <stdlib.h>
+
+#include "dirmngr-err.h"
+#include "../common/util.h"
+#include "ldap-misc.h"
+
+
+/* Convert an LDAP error to a GPG error.  */
+gpg_err_code_t
+ldap_err_to_gpg_err (int code)
+{
+  gpg_err_code_t ec;
+
+  switch (code)
+    {
+#ifdef LDAP_X_CONNECTING
+    case LDAP_X_CONNECTING: ec = GPG_ERR_LDAP_X_CONNECTING; break;
+#endif
+
+    case LDAP_REFERRAL_LIMIT_EXCEEDED: ec = GPG_ERR_LDAP_REFERRAL_LIMIT; break;
+    case LDAP_CLIENT_LOOP: ec = GPG_ERR_LDAP_CLIENT_LOOP; break;
+    case LDAP_NO_RESULTS_RETURNED: ec = GPG_ERR_LDAP_NO_RESULTS; break;
+    case LDAP_CONTROL_NOT_FOUND: ec = GPG_ERR_LDAP_CONTROL_NOT_FOUND; break;
+    case LDAP_NOT_SUPPORTED: ec = GPG_ERR_LDAP_NOT_SUPPORTED; break;
+    case LDAP_CONNECT_ERROR: ec = GPG_ERR_LDAP_CONNECT; break;
+    case LDAP_NO_MEMORY: ec = GPG_ERR_LDAP_NO_MEMORY; break;
+    case LDAP_PARAM_ERROR: ec = GPG_ERR_LDAP_PARAM; break;
+    case LDAP_USER_CANCELLED: ec = GPG_ERR_LDAP_USER_CANCELLED; break;
+    case LDAP_FILTER_ERROR: ec = GPG_ERR_LDAP_FILTER; break;
+    case LDAP_AUTH_UNKNOWN: ec = GPG_ERR_LDAP_AUTH_UNKNOWN; break;
+    case LDAP_TIMEOUT: ec = GPG_ERR_LDAP_TIMEOUT; break;
+    case LDAP_DECODING_ERROR: ec = GPG_ERR_LDAP_DECODING; break;
+    case LDAP_ENCODING_ERROR: ec = GPG_ERR_LDAP_ENCODING; break;
+    case LDAP_LOCAL_ERROR: ec = GPG_ERR_LDAP_LOCAL; break;
+    case LDAP_SERVER_DOWN: ec = GPG_ERR_LDAP_SERVER_DOWN; break;
+
+    case LDAP_SUCCESS: ec = GPG_ERR_LDAP_SUCCESS; break;
+
+    case LDAP_OPERATIONS_ERROR: ec = GPG_ERR_LDAP_OPERATIONS; break;
+    case LDAP_PROTOCOL_ERROR: ec = GPG_ERR_LDAP_PROTOCOL; break;
+    case LDAP_TIMELIMIT_EXCEEDED: ec = GPG_ERR_LDAP_TIMELIMIT; break;
+    case LDAP_SIZELIMIT_EXCEEDED: ec = GPG_ERR_LDAP_SIZELIMIT; break;
+    case LDAP_COMPARE_FALSE: ec = GPG_ERR_LDAP_COMPARE_FALSE; break;
+    case LDAP_COMPARE_TRUE: ec = GPG_ERR_LDAP_COMPARE_TRUE; break;
+    case LDAP_AUTH_METHOD_NOT_SUPPORTED: ec=GPG_ERR_LDAP_UNSUPPORTED_AUTH;break;
+    case LDAP_STRONG_AUTH_REQUIRED: ec = GPG_ERR_LDAP_STRONG_AUTH_RQRD; break;
+    case LDAP_PARTIAL_RESULTS: ec = GPG_ERR_LDAP_PARTIAL_RESULTS; break;
+    case LDAP_REFERRAL: ec = GPG_ERR_LDAP_REFERRAL; break;
+
+#ifdef LDAP_ADMINLIMIT_EXCEEDED
+    case LDAP_ADMINLIMIT_EXCEEDED: ec = GPG_ERR_LDAP_ADMINLIMIT; break;
+#endif
+
+#ifdef LDAP_UNAVAILABLE_CRITICAL_EXTENSION
+    case LDAP_UNAVAILABLE_CRITICAL_EXTENSION:
+                               ec = GPG_ERR_LDAP_UNAVAIL_CRIT_EXTN; break;
+#endif
+
+    case LDAP_CONFIDENTIALITY_REQUIRED: ec = GPG_ERR_LDAP_CONFIDENT_RQRD; break;
+    case LDAP_SASL_BIND_IN_PROGRESS: ec = GPG_ERR_LDAP_SASL_BIND_INPROG; break;
+    case LDAP_NO_SUCH_ATTRIBUTE: ec = GPG_ERR_LDAP_NO_SUCH_ATTRIBUTE; break;
+    case LDAP_UNDEFINED_TYPE: ec = GPG_ERR_LDAP_UNDEFINED_TYPE; break;
+    case LDAP_INAPPROPRIATE_MATCHING: ec = GPG_ERR_LDAP_BAD_MATCHING; break;
+    case LDAP_CONSTRAINT_VIOLATION: ec = GPG_ERR_LDAP_CONST_VIOLATION; break;
+
+#ifdef LDAP_TYPE_OR_VALUE_EXISTS
+    case LDAP_TYPE_OR_VALUE_EXISTS: ec = GPG_ERR_LDAP_TYPE_VALUE_EXISTS; break;
+#endif
+
+    case LDAP_INVALID_SYNTAX: ec = GPG_ERR_LDAP_INV_SYNTAX; break;
+    case LDAP_NO_SUCH_OBJECT: ec = GPG_ERR_LDAP_NO_SUCH_OBJ; break;
+    case LDAP_ALIAS_PROBLEM: ec = GPG_ERR_LDAP_ALIAS_PROBLEM; break;
+    case LDAP_INVALID_DN_SYNTAX: ec = GPG_ERR_LDAP_INV_DN_SYNTAX; break;
+    case LDAP_IS_LEAF: ec = GPG_ERR_LDAP_IS_LEAF; break;
+    case LDAP_ALIAS_DEREF_PROBLEM: ec = GPG_ERR_LDAP_ALIAS_DEREF; break;
+
+#ifdef LDAP_X_PROXY_AUTHZ_FAILURE
+    case LDAP_X_PROXY_AUTHZ_FAILURE: ec = GPG_ERR_LDAP_X_PROXY_AUTH_FAIL; break;
+#endif
+
+    case LDAP_INAPPROPRIATE_AUTH: ec = GPG_ERR_LDAP_BAD_AUTH; break;
+    case LDAP_INVALID_CREDENTIALS: ec = GPG_ERR_LDAP_INV_CREDENTIALS; break;
+
+#ifdef LDAP_INSUFFICIENT_ACCESS
+    case LDAP_INSUFFICIENT_ACCESS: ec = GPG_ERR_LDAP_INSUFFICIENT_ACC; break;
+#endif
+
+    case LDAP_BUSY: ec = GPG_ERR_LDAP_BUSY; break;
+    case LDAP_UNAVAILABLE: ec = GPG_ERR_LDAP_UNAVAILABLE; break;
+    case LDAP_UNWILLING_TO_PERFORM: ec = GPG_ERR_LDAP_UNWILL_TO_PERFORM; break;
+    case LDAP_LOOP_DETECT: ec = GPG_ERR_LDAP_LOOP_DETECT; break;
+    case LDAP_NAMING_VIOLATION: ec = GPG_ERR_LDAP_NAMING_VIOLATION; break;
+    case LDAP_OBJECT_CLASS_VIOLATION: ec = GPG_ERR_LDAP_OBJ_CLS_VIOLATION; break;
+    case LDAP_NOT_ALLOWED_ON_NONLEAF: ec=GPG_ERR_LDAP_NOT_ALLOW_NONLEAF;break;
+    case LDAP_NOT_ALLOWED_ON_RDN: ec = GPG_ERR_LDAP_NOT_ALLOW_ON_RDN; break;
+    case LDAP_ALREADY_EXISTS: ec = GPG_ERR_LDAP_ALREADY_EXISTS; break;
+    case LDAP_NO_OBJECT_CLASS_MODS: ec = GPG_ERR_LDAP_NO_OBJ_CLASS_MODS; break;
+    case LDAP_RESULTS_TOO_LARGE: ec = GPG_ERR_LDAP_RESULTS_TOO_LARGE; break;
+    case LDAP_AFFECTS_MULTIPLE_DSAS: ec = GPG_ERR_LDAP_AFFECTS_MULT_DSAS; break;
+
+#ifdef LDAP_VLV_ERROR
+    case LDAP_VLV_ERROR: ec = GPG_ERR_LDAP_VLV; break;
+#endif
+
+    case LDAP_OTHER: ec = GPG_ERR_LDAP_OTHER; break;
+
+#ifdef LDAP_CUP_RESOURCES_EXHAUSTED
+    case LDAP_CUP_RESOURCES_EXHAUSTED: ec=GPG_ERR_LDAP_CUP_RESOURCE_LIMIT;break;
+    case LDAP_CUP_SECURITY_VIOLATION: ec=GPG_ERR_LDAP_CUP_SEC_VIOLATION; break;
+    case LDAP_CUP_INVALID_DATA: ec = GPG_ERR_LDAP_CUP_INV_DATA; break;
+    case LDAP_CUP_UNSUPPORTED_SCHEME: ec = GPG_ERR_LDAP_CUP_UNSUP_SCHEME; break;
+    case LDAP_CUP_RELOAD_REQUIRED: ec = GPG_ERR_LDAP_CUP_RELOAD; break;
+#endif
+
+#ifdef LDAP_CANCELLED
+    case LDAP_CANCELLED: ec = GPG_ERR_LDAP_CANCELLED; break;
+#endif
+
+#ifdef LDAP_NO_SUCH_OPERATION
+    case LDAP_NO_SUCH_OPERATION: ec = GPG_ERR_LDAP_NO_SUCH_OPERATION; break;
+#endif
+
+#ifdef LDAP_TOO_LATE
+    case LDAP_TOO_LATE: ec = GPG_ERR_LDAP_TOO_LATE; break;
+#endif
+
+#ifdef LDAP_CANNOT_CANCEL
+    case LDAP_CANNOT_CANCEL: ec = GPG_ERR_LDAP_CANNOT_CANCEL; break;
+#endif
+
+#ifdef LDAP_ASSERTION_FAILED
+    case LDAP_ASSERTION_FAILED: ec = GPG_ERR_LDAP_ASSERTION_FAILED; break;
+#endif
+
+#ifdef LDAP_PROXIED_AUTHORIZATION_DENIED
+    case LDAP_PROXIED_AUTHORIZATION_DENIED:
+                                      ec = GPG_ERR_LDAP_PROX_AUTH_DENIED; break;
+#endif
+
+    default:
+#if defined(LDAP_E_ERROR) && defined(LDAP_X_ERROR)
+      if (LDAP_E_ERROR (code))
+        ec = GPG_ERR_LDAP_E_GENERAL;
+      else if (LDAP_X_ERROR (code))
+        ec = GPG_ERR_LDAP_X_GENERAL;
+      else
+#endif
+        ec = GPG_ERR_LDAP_GENERAL;
+      break;
+    }
+
+  return ec;
+}
+
+
+/* Retrieve an LDAP error and return it's GPG equivalent.  */
+gpg_err_code_t
+ldap_to_gpg_err (LDAP *ld)
+{
+#if defined(HAVE_LDAP_GET_OPTION) && defined(LDAP_OPT_ERROR_NUMBER)
+  int err;
+
+  if (ldap_get_option (ld, LDAP_OPT_ERROR_NUMBER, &err) == 0)
+    return ldap_err_to_gpg_err (err);
+  else
+    return GPG_ERR_GENERAL;
+#elif defined(HAVE_LDAP_LD_ERRNO)
+  return ldap_err_to_gpg_err (ld->ld_errno);
+#else
+  /* We should never get here since the LDAP library should always
+     have either ldap_get_option or ld_errno, but just in case... */
+  return GPG_ERR_INTERNAL;
+#endif
+}
+
+
+
+/* Parse an extended filter syntax as used by dirmngr_ldap.c
+ * For example:
+ *
+ *   ^CN=foo, OU=My Users&(objectClasses=*)
+ *
+ * Uses "CN=foo, OU=My Users" as base DN and "(objectClasses=*)" as
+ * filter.  If the base prefix includes an ampersand, it needs to be
+ * doubled.  The usual escaping rules for DNs (for the base) and
+ * filters apply.  Other examples:
+ *
+ *  ^CN=foo, OU=My Users&
+ *
+ * Use just the base DN.
+ *
+ *  ^CN=foo, OU=My Users&SCOPE&
+ *
+ * Specify the scope which is "base", "one", or "sub".  May of course
+ * also be followed by a filter.
+ *
+ *  ^&SCOPE&(objectClasses=*)
+ *
+ * Give a scope and a filter.  Note that R_SCOPE is only changed if a
+ * STRING has scope parameter.  Setting this initally to -1 allows to
+ * detect this case.
+ */
+gpg_error_t
+ldap_parse_extfilter (const char *string, int silent,
+                      char **r_base, int *r_scope, char **r_filter)
+{
+  gpg_error_t err = 0;
+  char *base = NULL;
+  char *filter = NULL;
+  const char *s;
+  char *p;
+
+  if (r_base)
+    *r_base = NULL;
+  if (r_filter)
+    *r_filter = NULL;
+
+  if (*string == '^')
+    {
+      string++;
+      base = xtrymalloc (strlen (string)+1);
+      if (!base)
+        {
+          err = gpg_error_from_syserror ();
+          goto leave;
+        }
+      for (s=string, p=base; *s; s++)
+        {
+          *p++ = *s;
+          if (*s == '&' && s[1] == '&')
+            s++;  /* Skip quoted ampersand.  */
+          else if (*s == '&')
+            {
+              p--;
+              break;
+            }
+        }
+      *p = 0;
+      if (!*s)
+        {
+          if (!silent)
+            log_info ("LDAP extended filter is not terminated\n");
+          err = gpg_error (GPG_ERR_SYNTAX);
+          goto leave;
+        }
+      string = s + 1;
+    }
+
+  if (!*string)
+    goto leave; /* ready.  */
+
+  if (!strncmp (string, "base&", 5))
+    {
+      string += 5;
+      if (r_scope)
+        *r_scope = LDAP_SCOPE_BASE;
+    }
+  else if (!strncmp (string, "one&", 4))
+    {
+      string += 4;
+      if (r_scope)
+        *r_scope = LDAP_SCOPE_ONELEVEL;
+    }
+  else if (!strncmp (string, "sub&", 4))
+    {
+      string += 4;
+      if (r_scope)
+        *r_scope = LDAP_SCOPE_SUBTREE;
+    }
+
+  if (!*string)
+    goto leave; /* ready.  */
+
+  if (*string != '(')
+    {
+      if (!silent)
+        log_info ("LDAP filter does not start with a left parentheses\n");
+      return gpg_error (GPG_ERR_SYNTAX);
+    }
+  if (string[strlen(string)-1] != ')')
+    {
+      if (!silent)
+        log_info ("LDAP filter does not end with a right parentheses\n");
+      return gpg_error (GPG_ERR_SYNTAX);
+    }
+
+  filter = xtrystrdup (string);
+  if (!filter)
+    err = gpg_error_from_syserror ();
+
+ leave:
+  if (err)
+    {
+      xfree (base);
+      xfree (filter);
+    }
+  else
+    {
+      if (r_base)
+        *r_base = base;
+      else
+        xfree (base);
+      if (r_filter)
+        *r_filter = filter;
+      else
+        xfree (filter);
+    }
+  return err;
+}
diff --git a/dirmngr/ldap-misc.h b/dirmngr/ldap-misc.h
new file mode 100644 (file)
index 0000000..d555caf
--- /dev/null
@@ -0,0 +1,43 @@
+/* ldap-misc.h - Miscellaneous helpers for LDAP functions
+ * Copyright (C) 2015, 2021 g10 Code GmbH
+ *
+ * This file is part of GnuPG.
+ *
+ * GnuPG is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * GnuPG is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, see <https://www.gnu.org/licenses/>.
+ * SPDX-License-Identifier: GPL-3.0-or-later
+ */
+
+#ifndef DIRMNGR_LDAP_MISC_H
+#define DIRMNGR_LDAP_MISC_H
+
+#ifdef _WIN32
+# include <winsock2.h>
+# include <winldap.h>
+#else
+# ifdef NEED_LBER_H
+#  include <lber.h>
+# endif
+/* For OpenLDAP, to enable the API that we're using. */
+# define LDAP_DEPRECATED 1
+# include <ldap.h>
+#endif
+
+
+gpg_err_code_t ldap_err_to_gpg_err (int code);
+gpg_err_code_t ldap_to_gpg_err (LDAP *ld);
+gpg_error_t ldap_parse_extfilter (const char *string, int silent,
+                                  char **r_base, int *r_scope, char **r_filter);
+
+
+#endif /*DIRMNGR_LDAP_MISC_H*/
index 4d9272c..c36763e 100644 (file)
@@ -36,26 +36,16 @@ int
 ldap_uri_p (const char *url)
 {
   char *colon = strchr (url, ':');
-  if (! colon)
+
+  if (!colon)
     return 0;
   else
     {
       int offset = (uintptr_t) colon - (uintptr_t) url;
 
-      if (/* All lower case.  */
-         (offset == 4 && memcmp (url, "ldap", 4) == 0)
-         || (offset == 5
-             && (memcmp (url, "ldaps", 5) == 0
-                 && memcmp (url, "ldapi", 5) == 0))
-         /* Mixed case.  */
-         || ((url[0] == 'l' || url[0] == 'L')
-             && (url[1] == 'd' || url[1] == 'D')
-             && (url[2] == 'a' || url[2] == 'A')
-             && (url[3] == 'p' || url[3] == 'P')
-             && (url[4] == ':'
-                 || ((url[4] == 's' || url[4] == 'S'
-                      || url[4] == 'i' || url[4] == 'I')
-                     && url[5] == ':'))))
+      if (   (offset == 4 && !ascii_memcasecmp (url, "ldap", 4))
+         || (offset == 5 && (!ascii_memcasecmp (url, "ldaps", 5)
+                              || !ascii_memcasecmp (url, "ldapi", 5))))
        return 1;
       return 0;
     }
@@ -84,6 +74,7 @@ ldap_parse_uri (parsed_uri_t *purip, const char *uri)
   char *dn = NULL;
   char *bindname = NULL;
   char *password = NULL;
+  char *gpg_ntds = NULL;
 
   char **s;
 
@@ -120,6 +111,15 @@ ldap_parse_uri (parsed_uri_t *purip, const char *uri)
          else
            password = *s + 9;
        }
+      else if (!ascii_strncasecmp (*s, "gpgNtds=", 8)
+              || !strncmp (*s, "1.3.6.1.4.1.11591.2.5.1=", 24))
+       {
+         if (gpg_ntds)
+           log_error ("gpgNtds given multiple times in URL '%s', ignoring.\n",
+                      uri);
+         else
+           gpg_ntds = *s + (**s == 'g'? 8 : 24);
+       }
       else
        log_error ("Unhandled extension (%s) in URL '%s', ignoring.",
                   *s, uri);
@@ -180,10 +180,14 @@ ldap_parse_uri (parsed_uri_t *purip, const char *uri)
   puri->port = lud->lud_port;
 
   /* On Windows detect whether this is ldap:// or ldaps:// to indicate
-   * that authentication via AD and the current user is requested.  */
+   * that authentication via AD and the current user is requested.
+   * This is shortform of adding "gpgNtDs=1" as extension parameter to
+   * the URL.  */
   puri->ad_current = 0;
+  if (gpg_ntds && atoi (gpg_ntds) == 1)
+    puri->ad_current = 1;
 #ifdef HAVE_W32_SYSTEM
-  if ((!puri->host || !*puri->host)
+  else if ((!puri->host || !*puri->host)
       && (!puri->path || !*puri->path)
       && (!puri->auth || !*puri->auth)
       && !password
index d01c480..bbae3b2 100644 (file)
@@ -552,7 +552,7 @@ ldap_reaper_launch_thread (void)
 #ifdef HAVE_W32_SYSTEM
   /* Static init does not yet work in W32 nPth.  */
   if (npth_cond_init (&reaper_run_cond, NULL))
-    log_fatal ("%s: failed to init condition variabale: %s\n",
+    log_fatal ("%s: failed to init condition variable: %s\n",
                __func__, gpg_strerror (gpg_error_from_syserror ()));
 #endif
 
@@ -860,9 +860,9 @@ ldap_wrapper (ctrl_t ctrl, ksba_reader_t *reader, const char *argv[])
   err = gnupg_spawn_process (pgmname, arg_list,
                              NULL, NULL, GNUPG_SPAWN_NONBLOCK,
                              NULL, &outfp, &errfp, &pid);
-  xfree (arg_list);
   if (err)
     {
+  xfree (arg_list);
       xfree (ctx);
       log_error ("error running '%s': %s\n", pgmname, gpg_strerror (err));
       return err;
@@ -881,6 +881,7 @@ ldap_wrapper (ctrl_t ctrl, ksba_reader_t *reader, const char *argv[])
     err = ksba_reader_set_cb (*reader, reader_callback, ctx);
   if (err)
     {
+      xfree (arg_list);
       log_error (_("error initializing reader object: %s\n"),
                  gpg_strerror (err));
       destroy_wrapper (ctx);
@@ -902,8 +903,15 @@ ldap_wrapper (ctrl_t ctrl, ksba_reader_t *reader, const char *argv[])
   unlock_reaper_list ();
 
   if (DBG_EXTPROG)
-    log_debug ("ldap wrapper %d started (%p, %s)\n",
-               (int)ctx->pid, ctx->reader, pgmname);
+    {
+      log_debug ("ldap wrapper %d started (%p, %s)",
+                 (int)ctx->pid, ctx->reader, pgmname);
+      for (i=0; arg_list[i]; i++)
+        log_printf (" [%s]", arg_list[i]);
+      log_printf ("\n");
+    }
+  xfree (arg_list);
+
 
   /* Need to wait for the first byte so we are able to detect an empty
      output and not let the consumer see an EOF without further error
index e016f64..86c2060 100644 (file)
@@ -1,12 +1,12 @@
 /* ldap.c - LDAP access
  * Copyright (C) 2002 Klarälvdalens Datakonsult AB
- * Copyright (C) 2003, 2004, 2005, 2007, 2008, 2010 g10 Code GmbH
+ * Copyright (C) 2003, 2004, 2005, 2007, 2008, 2010, 2021 g10 Code GmbH
  *
- * This file is part of DirMngr.
+ * This file is part of GnuPG.
  *
- * DirMngr is free software; you can redistribute it and/or modify
+ * GnuPG is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
+ * the Free Software Foundation; either version 3 of the License, or
  * (at your option) any later version.
  *
  * DirMngr is distributed in the hope that it will be useful,
@@ -15,8 +15,8 @@
  * GNU General Public License for more details.
  *
  * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+ * along with this program; if not, see <https://www.gnu.org/licenses/>.
+ * SPDX-License-Identifier: GPL-3.0-or-later
  */
 
 #include <config.h>
@@ -36,6 +36,7 @@
 #include "ldapserver.h"
 #include "misc.h"
 #include "ldap-wrapper.h"
+#include "ldap-url.h"
 #include "../common/host2net.h"
 
 
@@ -116,14 +117,15 @@ static gpg_error_t
 run_ldap_wrapper (ctrl_t ctrl,
                   int ignore_timeout,
                   int multi_mode,
+                  int tls_mode,
+                  int ntds,
                   const char *proxy,
                   const char *host, int port,
                   const char *user, const char *pass,
-                  const char *dn, const char *filter, const char *attr,
-                  const char *url,
+                  const char *base, const char *filter, const char *attr,
                   ksba_reader_t *reader)
 {
-  const char *argv[40];
+  const char *argv[50];
   int argc;
   char portbuf[30], timeoutbuf[30];
 
@@ -131,7 +133,7 @@ run_ldap_wrapper (ctrl_t ctrl,
   *reader = NULL;
 
   argc = 0;
-  if (pass)  /* Note, that the password must be the first item.  */
+  if (pass && *pass)  /* Note, that the password must be the first item.  */
     {
       argv[argc++] = "--pass";
       argv[argc++] = pass;
@@ -145,9 +147,18 @@ run_ldap_wrapper (ctrl_t ctrl,
   argv[argc++] = "--log-with-pid";
   if (multi_mode)
     argv[argc++] = "--multi";
+
+  if (tls_mode == 1)
+    argv[argc++] = "--starttls";
+  else if (tls_mode)
+    argv[argc++] = "--ldaptls";
+
+  if (ntds)
+    argv[argc++] = "--ntds";
+
   if (opt.ldaptimeout)
     {
-      sprintf (timeoutbuf, "%u", opt.ldaptimeout);
+      snprintf (timeoutbuf, sizeof timeoutbuf, "%u", opt.ldaptimeout);
       argv[argc++] = "--timeout";
       argv[argc++] = timeoutbuf;
       if (ignore_timeout)
@@ -158,7 +169,7 @@ run_ldap_wrapper (ctrl_t ctrl,
       argv[argc++] = "--proxy";
       argv[argc++] = proxy;
     }
-  if (host)
+  if (host && *host)
     {
       argv[argc++] = "--host";
       argv[argc++] = host;
@@ -169,27 +180,24 @@ run_ldap_wrapper (ctrl_t ctrl,
       argv[argc++] = "--port";
       argv[argc++] = portbuf;
     }
-  if (user)
+  if (user && *user)
     {
       argv[argc++] = "--user";
       argv[argc++] = user;
     }
-  if (dn)
-    {
-      argv[argc++] = "--dn";
-      argv[argc++] = dn;
-    }
-  if (filter)
+  if (base && *base)
     {
-      argv[argc++] = "--filter";
-      argv[argc++] = filter;
+      argv[argc++] = "--base";
+      argv[argc++] = base;
     }
   if (attr)
     {
       argv[argc++] = "--attr";
       argv[argc++] = attr;
     }
-  argv[argc++] = url? url : "ldap://";
+
+  if (filter)
+    argv[argc++] = filter;
   argv[argc] = NULL;
 
   return ldap_wrapper (ctrl, reader, argv);
@@ -202,19 +210,48 @@ run_ldap_wrapper (ctrl_t ctrl,
    reader is returned.  If HOST or PORT are not 0, they are used to
    override the values from the URL. */
 gpg_error_t
-url_fetch_ldap (ctrl_t ctrl, const char *url, const char *host, int port,
-                ksba_reader_t *reader)
+url_fetch_ldap (ctrl_t ctrl, const char *url, ksba_reader_t *reader)
 {
   gpg_error_t err;
+  LDAPURLDesc *ludp = NULL;
+  int tls_mode;
+
+  if (!ldap_is_ldap_url (url))
+    {
+      log_error (_("'%s' is not an LDAP URL\n"), url);
+      return gpg_error (GPG_ERR_INV_URI);
+    }
+
+  if (ldap_url_parse (url, &ludp))
+    {
+      log_error (_("'%s' is an invalid LDAP URL\n"), url);
+      return gpg_error (GPG_ERR_INV_URI);
+    }
+
+  if (ludp->lud_filter && ludp->lud_filter[0] != '(')
+    {
+      log_error (_("'%s' is an invalid LDAP URL\n"), url);
+      err = gpg_error (GPG_ERR_BAD_URI);
+      goto leave;
+    }
+
+  if (ludp->lud_scheme && !strcmp (ludp->lud_scheme, "ldaps"))
+    tls_mode = 2; /* LDAP-over-TLS here becuase we get it from certs. */
+  else
+    tls_mode = 0;
 
   err = run_ldap_wrapper (ctrl,
                           1, /* Ignore explicit timeout because CRLs
                                 might be very large. */
-                          0,
+                          0, /* No Multi-mode.  */
+                          tls_mode,
+                          0, /* No AD authentication.  */
                           opt.ldap_proxy,
-                          host, port,
-                          NULL, NULL,
-                          NULL, NULL, NULL, url,
+                          ludp->lud_host, ludp->lud_port,
+                          NULL, NULL,  /* user, password */
+                          ludp->lud_dn,    /* Base DN */
+                          ludp->lud_filter,
+                          ludp->lud_attrs? ludp->lud_attrs[0] : NULL,
                           reader);
 
   /* FIXME: This option might be used for DoS attacks.  Because it
@@ -223,17 +260,8 @@ url_fetch_ldap (ctrl_t ctrl, const char *url, const char *host, int port,
      turn. */
   if (!err && opt.add_new_ldapservers && !opt.ldap_proxy)
     {
-      if (host)
-        add_server_to_servers (host, port);
-      else if (url)
-        {
-          char *tmp = host_and_port_from_url (url, &port);
-          if (tmp)
-            {
-              add_server_to_servers (tmp, port);
-              xfree (tmp);
-            }
-        }
+      if (ludp->lud_host)
+        add_server_to_servers (ludp->lud_host, ludp->lud_port);
     }
 
   /* If the lookup failed and we are not only using the proxy, we try
@@ -252,19 +280,32 @@ url_fetch_ldap (ctrl_t ctrl, const char *url, const char *host, int port,
         {
          ldap_server_t server = iter.server;
 
+          if (server->starttls)
+            tls_mode = 1;
+          else if (server->ldap_over_tls)
+            tls_mode = 2;
+          else
+            tls_mode = 0;
+
           err = run_ldap_wrapper (ctrl,
                                   0,
-                                  0,
+                                  0, /* No Multi-mode */
+                                  tls_mode,
+                                  server->ntds,
                                   NULL,
                                   server->host, server->port,
-                                  NULL, NULL,
-                                  NULL, NULL, NULL, url,
+                                  server->user, server->pass,
+                                  server->base,
+                                  ludp->lud_filter,
+                                  ludp->lud_attrs? ludp->lud_attrs[0] : NULL,
                                   reader);
           if (!err)
             break;
         }
     }
 
+ leave:
+  ldap_free_urldesc (ludp);
   return err;
 }
 
@@ -281,20 +322,32 @@ attr_fetch_ldap (ctrl_t ctrl,
 
   *reader = NULL;
 
-  /* FIXME; we might want to look at the Base SN to try matching
+  /* FIXME; we might want to look at the Base DN to try matching
      servers first. */
   for (ldapserver_iter_begin (&iter, ctrl); ! ldapserver_iter_end_p (&iter);
        ldapserver_iter_next (&iter))
     {
       ldap_server_t server = iter.server;
+      int tls_mode;
+
+      if (server->starttls)
+        tls_mode = 1;
+      else if (server->ldap_over_tls)
+        tls_mode = 2;
+      else
+        tls_mode = 0;
 
       err = run_ldap_wrapper (ctrl,
                               0,
                               0,
+                              tls_mode,
+                              server->ntds,
                               opt.ldap_proxy,
                               server->host, server->port,
                               server->user, server->pass,
-                              dn, "objectClass=*", attr, NULL,
+                              dn,
+                              "(objectClass=*)",
+                              attr,
                               reader);
       if (!err)
         break; /* Probably found a result. Ready. */
@@ -302,46 +355,144 @@ attr_fetch_ldap (ctrl_t ctrl,
   return err;
 }
 
+
 \f
-/* Parse PATTERN and return a new strlist to be used for the actual
-   LDAP query.  Bit 0 of the flags field is set if that pattern is
-   actually a base specification.  Caller must release the returned
-   strlist.  NULL is returned on error.
+/* Return true if VALUE needs escaping.  */
+static int
+rfc2254_need_escape (const char *value)
+{
+  /* NUL needs to be escaped as well but we can represent that in
+   * VALUE, so no need for it.  */
+  return !!strpbrk (value, "*()\\");
+}
+
+/* Escape VALUE using RFC-2254 rules.  Returns NULL on error. */
+static char *
+rfc2254_escape (const char *value)
+{
+  const char *s;
+  char *buffer, *p;
+  size_t length = 0;
 
- * Possible patterns:
+  for (s=value; *s; s++)
+    switch (*s)
+      {
+      case '*':
+      case '(':
+      case ')':
+      case '\\': length += 3; break;
+      default:   length++; break;
+      }
+
+  buffer = xtrymalloc (length+1);
+  if (!buffer)
+    return NULL;
+  p = buffer;
+  for (s=value; *s; s++)
+    switch (*s)
+      {
+      case '*':  p = stpcpy (p, "\\2a"); break;
+      case '(':  p = stpcpy (p, "\\28"); break;
+      case ')':  p = stpcpy (p, "\\29"); break;
+      case '\\': p = stpcpy (p, "\\5c"); break;
+      default:   *p++ = *s; break;
+      }
+  *p = 0;
+  return buffer;
+}
+
+
+/* Return true if VALUE needs escaping.  */
+static int
+extfilt_need_escape (const char *value)
+{
+  /* NUL needs to be escaped as well but we can represent that in
+   * VALUE, so no need for it.  */
+  return !!strchr (value, '&');
+}
+
+/* Escape VALUE using our extended filter rules from dirmngr_ldap.c.
+ * Returns NULL on error. */
+static char *
+extfilt_escape (const char *value)
+{
+  const char *s;
+  char *buffer, *p;
+  size_t length = 0;
+
+  for (s=value; *s; s++)
+    {
+      length++;
+      if (*s == '&')
+        length++;
+    }
+
+  buffer = xtrymalloc (length+1);
+  if (!buffer)
+    return NULL;
+  p = buffer;
+  for (s=value; *s; s++)
+    {
+      *p++ = *s;
+      if (*s == '&')
+        *p++ = '&';
+    }
+  *p = 0;
+  return buffer;
+}
+
+
+/* Parse PATTERN and return a new filter expression for an LDAP query.
+ * The extended filter syntax as known by dirmngr_ldap.c is used.
+ * Caller must release the returned value.  R_RESULT is set to NULL on
+ * error.
  *
- *   KeyID
- *   Fingerprint
- *   OpenPGP userid
- * x Email address  Indicated by a left angle bracket.
- *   Exact word match in user id or subj. name
- * x Subj. DN  indicated bu a leading slash
- *   Issuer DN
- *   Serial number + subj. DN
- * x Substring match indicated by a leading '*; is also the default.
+ * Supported patterns:
+ *
+ *  | Ok  | gpg style user id type                               |
+ *  |-----+------------------------------------------------------|
+ *  | no  | KeyID                                                |
+ *  | no  | Fingerprint                                          |
+ *  | no  | OpenPGP userid                                       |
+ *  | yes | Email address  Indicated by a left angle bracket.    |
+ *  | no  | Exact word match in user id or subj. name            |
+ *  | yes | Subj. DN  indicated by a leading slash               |
+ *  | no  | Issuer DN                                            |
+ *  | no  | Serial number + subj. DN                             |
+ *  | yes | Substring match indicated by a leading '*; (default) |
  */
-
-strlist_t
-parse_one_pattern (const char *pattern)
+static gpg_error_t
+make_one_filter (const char *pattern, char **r_result)
 {
-  strlist_t result = NULL;
-  char *p;
+  gpg_error_t err = 0;
+  char *pattern_buffer = NULL;
+  char *result = NULL;
+  size_t n;
+
+  *r_result = NULL;
 
   switch (*pattern)
     {
     case '<':                  /* Email. */
       {
         pattern++;
-       result = xmalloc (sizeof *result + 5 + strlen (pattern));
-        result->next = NULL;
-        result->flags = 0;
-       p = stpcpy (stpcpy (result->d, "mail="), pattern);
-       if (p[-1] == '>')
-         *--p = 0;
-        if (!*result->d) /* Error. */
+        if (rfc2254_need_escape (pattern)
+            && !(pattern = pattern_buffer = rfc2254_escape (pattern)))
+          {
+            err = gpg_error_from_syserror ();
+            goto leave;
+          }
+        result = strconcat ("(mail=", pattern, ")", NULL);
+        if (!result)
+          {
+            err = gpg_error_from_syserror ();
+            goto leave;
+          }
+        n = strlen (result);
+        if (result[n-2] == '>') /* Strip trailing '>' */
           {
-            xfree (result);
-            result = NULL;
+            result[n-2] = ')';
+            result[n-1] = 0;
           }
        break;
       }
@@ -349,120 +500,86 @@ parse_one_pattern (const char *pattern)
       pattern++;
       if (*pattern)
         {
-          result = xmalloc (sizeof *result + strlen (pattern));
-          result->next = NULL;
-          result->flags = 1; /* Base spec. */
-          strcpy (result->d, pattern);
+          /* We need just the BaseDN.  This assumes that the Subject
+           * is correcly stored in the DT.  This is however not always
+           * the case and the actual DN is different ffrom the
+           * subject.  In this case we won't find anything.  */
+          if (extfilt_need_escape (pattern)
+              && !(pattern = pattern_buffer = extfilt_escape (pattern)))
+            {
+              err = gpg_error_from_syserror ();
+              goto leave;
+            }
+          result = strconcat ("^", pattern, "&base&", NULL);
+          if (!result)
+            {
+              err = gpg_error_from_syserror ();
+              goto leave;
+            }
         }
       break;
-    case '#':                  /* Issuer DN. */
+    case '#':                  /* Issuer DN - Not yet working. */
       pattern++;
       if (*pattern == '/')  /* Just issuer DN. */
         {
           pattern++;
+          if (extfilt_need_escape (pattern)
+              && !(pattern = pattern_buffer = extfilt_escape (pattern)))
+            {
+              err = gpg_error_from_syserror ();
+              goto leave;
+            }
+          result = strconcat ("^", pattern, "&base&", NULL);
+          if (!result)
+            {
+              err = gpg_error_from_syserror ();
+              goto leave;
+            }
        }
       else  /* Serial number + issuer DN */
        {
+
         }
       break;
     case '*':
       pattern++;
       /* fall through */
     default:                   /* Take as substring match. */
-      {
-       const char format[] = "(|(sn=*%s*)(|(cn=*%s*)(mail=*%s*)))";
-
-        if (*pattern)
-          {
-            result = xmalloc (sizeof *result
-                              + strlen (format) + 3 * strlen (pattern));
-            result->next = NULL;
-            result->flags = 0;
-            sprintf (result->d, format, pattern, pattern, pattern);
-          }
-      }
+      if (*pattern)
+        {
+          if (rfc2254_need_escape (pattern)
+              && !(pattern = pattern_buffer = rfc2254_escape (pattern)))
+            {
+              err = gpg_error_from_syserror ();
+              goto leave;
+            }
+          result = strconcat ("(|(sn=*", pattern,
+                              "*)(|(cn=*", pattern,
+                              "*)(mail=*", pattern,
+                              "*)))", NULL);
+          if (!result)
+            {
+              err = gpg_error_from_syserror ();
+              goto leave;
+            }
+        }
       break;
     }
 
-  return result;
-}
-
-/* Take the string STRING and escape it according to the URL rules.
-   Retun a newly allocated string. */
-static char *
-escape4url (const char *string)
-{
-  const char *s;
-  char *buf, *p;
-  size_t n;
-
-  if (!string)
-    string = "";
-
-  for (s=string,n=0; *s; s++)
-    if (strchr (UNENCODED_URL_CHARS, *s))
-      n++;
-    else
-      n += 3;
-
-  buf = malloc (n+1);
-  if (!buf)
-    return NULL;
-
-  for (s=string,p=buf; *s; s++)
-    if (strchr (UNENCODED_URL_CHARS, *s))
-      *p++ = *s;
-    else
-      {
-        sprintf (p, "%%%02X", *(const unsigned char *)s);
-        p += 3;
-      }
-  *p = 0;
-
-  return buf;
-}
+  if (!result)
+    err = gpg_error (GPG_ERR_INV_USER_ID);
 
-
-
-/* Create a LDAP URL from DN and FILTER and return it in URL.  We don't
-   need the host and port because this will be specified using the
-   override options. */
-static gpg_error_t
-make_url (char **url, const char *dn, const char *filter)
-{
-  gpg_error_t err;
-  char *u_dn, *u_filter;
-  char const attrs[] = (USERCERTIFICATE ","
-/*                         USERSMIMECERTIFICATE "," */
-                        CACERTIFICATE ","
-                        X509CACERT );
-
-  *url = NULL;
-
-  u_dn = escape4url (dn);
-  if (!u_dn)
-      return gpg_error_from_errno (errno);
-
-  u_filter = escape4url (filter);
-  if (!u_filter)
-    {
-      err = gpg_error_from_errno (errno);
-      xfree (u_dn);
-      return err;
-    }
-
-  *url = strconcat ("ldap:///", u_dn, "?", attrs, "?sub?", u_filter, NULL);
-  if (!*url)
-    err = gpg_error_from_syserror ();
+ leave:
+  xfree (pattern_buffer);
+  if (err)
+    xfree (result);
   else
-    err = 0;
-
-  xfree (u_dn);
-  xfree (u_filter);
+    *r_result = result;
   return err;
 }
 
 
+
 /* Prepare an LDAP query to return the cACertificate attribute for DN.
  * All configured default servers are queried until one responds.
  * This function returns an error code or 0 and stored a newly
@@ -478,7 +595,7 @@ start_cacert_fetch_ldap (ctrl_t ctrl, cert_fetch_context_t *r_context,
   if (!*r_context)
     return gpg_error_from_errno (errno);
 
-  /* FIXME; we might want to look at the Base SN to try matching
+  /* FIXME; we might want to look at the Base DN to try matching
      servers first. */
   err = gpg_error (GPG_ERR_CONFIGURATION);
 
@@ -490,10 +607,12 @@ start_cacert_fetch_ldap (ctrl_t ctrl, cert_fetch_context_t *r_context,
       err = run_ldap_wrapper (ctrl,
                               0,
                               1,  /* --multi (record format) */
+                              0, /* No TLS */
+                              0, /* No AD authentication.  */
                               opt.ldap_proxy,
                               server->host, server->port,
                               server->user, server->pass,
-                              dn, "objectClass=*", "cACertificate", NULL,
+                              dn, "objectClass=*", "cACertificate",
                               &(*r_context)->reader);
       if (!err)
         break; /* Probably found a result. */
@@ -521,11 +640,12 @@ start_cert_fetch_ldap (ctrl_t ctrl, cert_fetch_context_t *r_context,
   int port;
   char *user = NULL;
   char *pass = NULL;
-  const char *base;
+  char *base = NULL;
   char *argv[50];
   int argc = 0;
   int argc_malloced = 0;
   char portbuf[30], timeoutbuf[30];
+  int starttls, ldaptls, ntds;
 
 
   *r_context = NULL;
@@ -554,17 +674,24 @@ start_cert_fetch_ldap (ctrl_t ctrl, cert_fetch_context_t *r_context,
           err = gpg_error_from_syserror ();
           goto leave;
         }
-      base = server->base;
+      if (server->base && !(base = xtrystrdup (server->base)))
+        {
+          err = gpg_error_from_syserror ();
+          goto leave;
+        }
 
+      starttls = server->starttls;
+      ldaptls  =  server->ldap_over_tls;
+      ntds     = server->ntds;
     }
   else /* Use a default server. */
-    return gpg_error (GPG_ERR_NOT_IMPLEMENTED);
-
+    {
+      err = gpg_error (GPG_ERR_NOT_IMPLEMENTED);
+      goto leave;
+    }
 
-  if (!base)
-    base = "";
 
-  if (pass) /* Note: Must be the first item. */
+  if (pass && *pass) /* Note: Must be the first item. */
     {
       argv[argc++] = "--pass";
       argv[argc++] = pass;
@@ -577,18 +704,27 @@ start_cert_fetch_ldap (ctrl_t ctrl, cert_fetch_context_t *r_context,
 
   argv[argc++] = "--log-with-pid";
   argv[argc++] = "--multi";
+
+  if (starttls)
+    argv[argc++] = "--starttls";
+  else if (ldaptls)
+    argv[argc++] = "--ldaptls";
+
+  if (ntds)
+    argv[argc++] = "--ntds";
+
   if (opt.ldaptimeout)
     {
       snprintf (timeoutbuf, sizeof timeoutbuf, "%u", opt.ldaptimeout);
       argv[argc++] = "--timeout";
       argv[argc++] = timeoutbuf;
     }
-  if (opt.ldap_proxy)
+  if (proxy && *proxy)
     {
       argv[argc++] = "--proxy";
       argv[argc++] = proxy;
     }
-  if (host)
+  if (host && *host)
     {
       argv[argc++] = "--host";
       argv[argc++] = host;
@@ -599,56 +735,49 @@ start_cert_fetch_ldap (ctrl_t ctrl, cert_fetch_context_t *r_context,
       argv[argc++] = "--port";
       argv[argc++] = portbuf;
     }
-  if (user)
+  if (user && *user)
     {
       argv[argc++] = "--user";
       argv[argc++] = user;
     }
+  if (base && *base)
+    {
+      argv[argc++] = "--base";
+      argv[argc++] = base;
+    }
+
 
   /* All entries in argv from this index on are malloc'ed.  */
   argc_malloced = argc;
 
   for (; patterns; patterns = patterns->next)
     {
-      strlist_t sl;
-      char *url;
-
       if (argc >= DIM (argv) - 1)
         {
           /* Too many patterns.  It does not make sense to allow an
              arbitrary number of patters because the length of the
              command line is limited anyway.  */
-          /* fixme: cleanup. */
-          return gpg_error (GPG_ERR_RESOURCE_LIMIT);
+          err = gpg_error (GPG_ERR_RESOURCE_LIMIT);
+          goto leave;
         }
-      sl = parse_one_pattern (patterns->d);
-      if (!sl)
+      if (*patterns->d)
         {
-          log_error (_("start_cert_fetch: invalid pattern '%s'\n"),
-                     patterns->d);
-          err = gpg_error (GPG_ERR_INV_USER_ID);
-          goto leave;
+          err = make_one_filter (patterns->d, &argv[argc]);
+          if (err)
+            goto leave;
+          argc++;
         }
-      if ((sl->flags & 1))
-        err = make_url (&url, sl->d, "objectClass=*");
-      else
-        err = make_url (&url, base, sl->d);
-      free_strlist (sl);
-      if (err)
-        goto leave;
-      argv[argc++] = url;
     }
   argv[argc] = NULL;
 
   *r_context = xtrycalloc (1, sizeof **r_context);
   if (!*r_context)
     {
-      err = gpg_error_from_errno (errno);
+      err = gpg_error_from_syserror ();
       goto leave;
     }
 
   err = ldap_wrapper (ctrl, &(*r_context)->reader, (const char**)argv);
-
   if (err)
     {
       xfree (*r_context);
@@ -660,6 +789,7 @@ start_cert_fetch_ldap (ctrl_t ctrl, cert_fetch_context_t *r_context,
     xfree (argv[argc_malloced]);
   xfree (proxy);
   xfree (host);
+  xfree (base);
   xfree (user);
   xfree (pass);
   return err;
index 16e13e2..7d101c5 100644 (file)
@@ -55,6 +55,15 @@ ldapserver_list_free (ldap_server_t servers)
    3. field: Username
    4. field: Password
    5. field: Base DN
+   6. field: Flags
+
+   Flags are:
+
+     starttls  := Use STARTTLS with a default port of 389
+     ldaptls   := Tunnel LDAP trough a TLS tunnel with default port 636
+     plain     := Switch to plain unsecured LDAP.
+     (The last of these 3 flags is the effective one)
+     ntds      := Use Active Directory authentication
 
    FILENAME and LINENO are used for diagnostic purposes only.
 */
@@ -69,7 +78,13 @@ ldapserver_parse_one (char *line,
   int fail = 0;
 
   /* Parse the colon separated fields.  */
-  server = xcalloc (1, sizeof *server);
+  server = xtrycalloc (1, sizeof *server);
+  if (!server)
+    {
+      fail = 1;
+      goto leave;
+    }
+
   for (fieldno = 1, p = line; p; p = endp, fieldno++ )
     {
       endp = strchr (p, ':');
@@ -79,14 +94,9 @@ ldapserver_parse_one (char *line,
       switch (fieldno)
        {
        case 1:
-         if (*p)
-           server->host = xstrdup (p);
-         else
-           {
-             log_error (_("%s:%u: no hostname given\n"),
-                        filename, lineno);
-             fail = 1;
-           }
+          server->host = xtrystrdup (p);
+          if (!server->host)
+            fail = 1;
          break;
 
        case 2:
@@ -95,35 +105,104 @@ ldapserver_parse_one (char *line,
          break;
 
        case 3:
-         if (*p)
-           server->user = xstrdup (p);
+          server->user = xtrystrdup (p);
+          if (!server->user)
+            fail = 1;
          break;
 
        case 4:
          if (*p && !server->user)
            {
-             log_error (_("%s:%u: password given without user\n"),
-                        filename, lineno);
+              if (filename)
+                log_error (_("%s:%u: password given without user\n"),
+                           filename, lineno);
+              else
+                log_error ("ldap: password given without user ('%s')\n", line);
              fail = 1;
            }
          else if (*p)
-           server->pass = xstrdup (p);
+            {
+              server->pass = xtrystrdup (p);
+              if (!server->pass)
+                fail = 1;
+            }
          break;
 
        case 5:
          if (*p)
-           server->base = xstrdup (p);
+            {
+              server->base = xtrystrdup (p);
+              if (!server->base)
+                fail = 1;;
+            }
          break;
 
+        case 6:
+          {
+            char **flags = NULL;
+            int i;
+            const char *s;
+
+            flags = strtokenize (p, ",");
+            if (!flags)
+              {
+                log_error ("strtokenize failed: %s\n",
+                           gpg_strerror (gpg_error_from_syserror ()));
+                fail = 1;
+                break;
+              }
+
+            for (i=0; (s = flags[i]); i++)
+              {
+                if (!*s)
+                  ;
+                else if (!ascii_strcasecmp (s, "starttls"))
+                  {
+                    server->starttls = 1;
+                    server->ldap_over_tls = 0;
+                  }
+                else if (!ascii_strcasecmp (s, "ldaptls"))
+                  {
+                    server->starttls = 0;
+                    server->ldap_over_tls = 1;
+                  }
+                else if (!ascii_strcasecmp (s, "plain"))
+                  {
+                    server->starttls = 0;
+                    server->ldap_over_tls = 0;
+                  }
+                else if (!ascii_strcasecmp (s, "ntds"))
+                  {
+                    server->ntds = 1;
+                  }
+                else
+                  {
+                    if (filename)
+                      log_info (_("%s:%u: ignoring unknown flag '%s'\n"),
+                                filename, lineno, s);
+                    else
+                      log_info ("ldap: unknown flag '%s' ignored in (%s)\n",
+                                s, line);
+                  }
+              }
+
+            xfree (flags);
+          }
+          break;
+
        default:
          /* (We silently ignore extra fields.) */
          break;
        }
     }
 
+ leave:
   if (fail)
     {
-      log_info (_("%s:%u: skipping this line\n"), filename, lineno);
+      if (filename)
+        log_info (_("%s:%u: skipping this line\n"), filename, lineno);
+      else
+        log_info ("ldap: error in server spec ('%s')\n", line);
       ldapserver_list_free (server);
       server = NULL;
     }
index b6eb452..fa836e3 100644 (file)
 void ldapserver_list_free (ldap_server_t servers);
 
 
-/* Parse a single LDAP server configuration line.  Returns the server
-   or NULL in case of errors.  The configuration line is assumed to be
-   colon separated with these fields:
-
-   1. field: Hostname
-   2. field: Portnumber
-   3. field: Username
-   4. field: Password
-   5. field: Base DN
-
-   FILENAME and LINENO are used for diagnostic purposes only.
-*/
 ldap_server_t ldapserver_parse_one (char *line,
                                    const char *filename, unsigned int lineno);
 
index 6c72e5c..c3bd3e5 100644 (file)
@@ -1140,10 +1140,13 @@ task_check_wkd_support (ctrl_t ctrl, const char *domain)
 
 \f
 static const char hlp_ldapserver[] =
-  "LDAPSERVER <data>\n"
+  "LDAPSERVER [--clear] <data>\n"
   "\n"
   "Add a new LDAP server to the list of configured LDAP servers.\n"
-  "DATA is in the same format as expected in the configure file.";
+  "DATA is in the same format as expected in the configure file.\n"
+  "An optional prefix \"ldap:\" is allowed.  With no args all\n"
+  "configured ldapservers are listed.  Option --clear removes all\n"
+  "servers configured in this session.";
 static gpg_error_t
 cmd_ldapserver (assuan_context_t ctx, char *line)
 {
@@ -1151,13 +1154,63 @@ cmd_ldapserver (assuan_context_t ctx, char *line)
   ctrl_t ctrl = assuan_get_pointer (ctx);
   ldap_server_t server;
   ldap_server_t *last_next_p;
+  int clear_flag;
 
+  clear_flag = has_option (line, "--clear");
+  line = skip_options (line);
   while (spacep (line))
     line++;
-  if (*line == '\0')
-    return leave_cmd (ctx, PARM_ERROR (_("ldapserver missing")));
 
-  server = ldapserver_parse_one (line, "", 0);
+  if (clear_flag)
+    {
+#if USE_LDAP
+      ldapserver_list_free (ctrl->server_local->ldapservers);
+#endif /*USE_LDAP*/
+      ctrl->server_local->ldapservers = NULL;
+    }
+
+  if (!*line && clear_flag)
+    return leave_cmd (ctx, 0);
+
+  if (!*line)
+    {
+      /* List all ldapservers.  */
+      struct ldapserver_iter ldapserver_iter;
+      char *tmpstr;
+      char portstr[20];
+
+      for (ldapserver_iter_begin (&ldapserver_iter, ctrl);
+           !ldapserver_iter_end_p (&ldapserver_iter);
+           ldapserver_iter_next (&ldapserver_iter))
+        {
+          server = ldapserver_iter.server;
+          if (server->port)
+            snprintf (portstr, sizeof portstr, "%d", server->port);
+          else
+            *portstr = 0;
+
+          tmpstr = xtryasprintf ("ldap:%s:%s:%s:%s:%s:%s%s:",
+                                 server->host? server->host : "",
+                                 portstr,
+                                 server->user? server->user : "",
+                                 server->pass? "*****": "",
+                                 server->base? server->base : "",
+                                 server->starttls ? "starttls" :
+                                 server->ldap_over_tls ? "ldaptls" : "none",
+                                 server->ntds ? ",ntds" : "");
+          if (!tmpstr)
+            return leave_cmd (ctx, gpg_error_from_syserror ());
+          dirmngr_status (ctrl, "LDAPSERVER", tmpstr, NULL);
+          xfree (tmpstr);
+        }
+      return leave_cmd (ctx, 0);
+    }
+
+  /* Skip an "ldap:" prefix unless it is a valid ldap url.  */
+  if (!strncmp (line, "ldap:", 5) && !(line[5] == '/' && line[6] == '/'))
+    line += 5;
+
+  server = ldapserver_parse_one (line, NULL, 0);
   if (! server)
     return leave_cmd (ctx, gpg_error (GPG_ERR_INV_ARG));
 
@@ -1619,7 +1672,8 @@ lookup_cert_by_pattern (assuan_context_t ctx, char *line,
           if (!err && single)
             goto ready;
 
-          if (gpg_err_code (err) == GPG_ERR_NO_DATA)
+          if (gpg_err_code (err) == GPG_ERR_NO_DATA
+              || gpg_err_code (err) == GPG_ERR_NOT_FOUND)
             {
               err = 0;
               if (cache_only)
@@ -2065,6 +2119,8 @@ make_keyserver_item (const char *uri, uri_item_t *r_item)
 {
   gpg_error_t err;
   uri_item_t item;
+  const char *s;
+  char *tmpstr = NULL;
 
   *r_item = NULL;
 
@@ -2108,14 +2164,64 @@ make_keyserver_item (const char *uri, uri_item_t *r_item)
   strcpy (item->uri, uri);
 
 #if USE_LDAP
-  if (ldap_uri_p (item->uri))
-    err = ldap_parse_uri (&item->parsed_uri, uri);
-  else
+  if (!strncmp (uri, "ldap:", 5) && !(uri[5] == '/' && uri[6] == '/'))
+    {
+      /* Special ldap scheme given.  This differs from a valid ldap
+       * scheme in that no double slash follows..  Use http_parse_uri
+       * to put it as opaque value into parsed_uri.  */
+      tmpstr = strconcat ("opaque:", uri+5, NULL);
+      if (!tmpstr)
+        err = gpg_error_from_syserror ();
+      else
+        err = http_parse_uri (&item->parsed_uri, tmpstr, 0);
+    }
+  else if ((s=strchr (uri, ':')) && !(s[1] == '/' && s[2] == '/'))
+    {
+      /* No valid scheme given.  Use http_parse_uri to put the string
+       * as opaque value into parsed_uri.  */
+      tmpstr = strconcat ("opaque:", uri, NULL);
+      if (!tmpstr)
+        err = gpg_error_from_syserror ();
+      else
+        err = http_parse_uri (&item->parsed_uri, tmpstr, 0);
+    }
+  else if (ldap_uri_p (uri))
+    {
+      int fixup = 0;
+      /* Fixme: We should get rid of that parser and repalce it with
+       * our generic (http) URI parser.  */
+
+      /* If no port has been specified and the scheme ist ldaps we use
+       * our idea of the default port because the standard LDAP URL
+       * parser would use 636 here.  This is because we redefined
+       * ldaps to mean starttls.  */
+#ifdef HAVE_W32_SYSTEM
+      if (!strcmp (uri, "ldap:///"))
+          fixup = 1;
+      else
 #endif
+        if (!http_parse_uri (&item->parsed_uri,uri,HTTP_PARSE_NO_SCHEME_CHECK))
+        {
+          if (!item->parsed_uri->port
+              && !strcmp (item->parsed_uri->scheme, "ldaps"))
+            fixup = 2;
+          http_release_parsed_uri (item->parsed_uri);
+          item->parsed_uri = NULL;
+        }
+
+      err = ldap_parse_uri (&item->parsed_uri, uri);
+      if (!err && fixup == 1)
+        item->parsed_uri->ad_current = 1;
+      else if (!err && fixup == 2)
+        item->parsed_uri->port = 389;
+    }
+  else
+#endif /* USE_LDAP */
     {
-      err = http_parse_uri (&item->parsed_uri, uri, 1);
+      err = http_parse_uri (&item->parsed_uri, uri, HTTP_PARSE_NO_SCHEME_CHECK);
     }
 
+  xfree (tmpstr);
   if (err)
     xfree (item);
   else
@@ -2403,11 +2509,12 @@ cmd_ks_search (assuan_context_t ctx, char *line)
 
 \f
 static const char hlp_ks_get[] =
-  "KS_GET {<pattern>}\n"
+  "KS_GET [--quick] [--ldap] {<pattern>}\n"
   "\n"
   "Get the keys matching PATTERN from the configured OpenPGP keyservers\n"
   "(see command KEYSERVER).  Each pattern should be a keyid, a fingerprint,\n"
-  "or an exact name indicated by the '=' prefix.";
+  "or an exact name indicated by the '=' prefix.  Option --quick uses a\n"
+  "shorter timeout; --ldap will use only ldap servers";
 static gpg_error_t
 cmd_ks_get (assuan_context_t ctx, char *line)
 {
@@ -2416,9 +2523,11 @@ cmd_ks_get (assuan_context_t ctx, char *line)
   strlist_t list, sl;
   char *p;
   estream_t outfp;
+  int ldap_only;
 
   if (has_option (line, "--quick"))
     ctrl->timeout = opt.connect_quick_timeout;
+  ldap_only = has_option (line, "--ldap");
   line = skip_options (line);
 
   /* Break the line into a strlist.  Each pattern is by
@@ -2460,7 +2569,8 @@ cmd_ks_get (assuan_context_t ctx, char *line)
       ctrl->server_local->inhibit_data_logging = 1;
       ctrl->server_local->inhibit_data_logging_now = 0;
       ctrl->server_local->inhibit_data_logging_count = 0;
-      err = ks_action_get (ctrl, ctrl->server_local->keyservers, list, outfp);
+      err = ks_action_get (ctrl, ctrl->server_local->keyservers,
+                           list, ldap_only, outfp);
       es_fclose (outfp);
       ctrl->server_local->inhibit_data_logging = 0;
     }
index 3cf08ad..75874df 100644 (file)
@@ -381,7 +381,7 @@ main (int argc, char **argv)
   (void)no_crl;
 #endif /*HTTP_USE_GNUTLS*/
 
-  rc = http_parse_uri (&uri, *argv, 1);
+  rc = http_parse_uri (&uri, *argv, HTTP_PARSE_NO_SCHEME_CHECK);
   if (rc)
     {
       log_error ("'%s': %s\n", *argv, gpg_strerror (rc));
diff --git a/dirmngr/t-ldap-misc.c b/dirmngr/t-ldap-misc.c
new file mode 100644 (file)
index 0000000..afba102
--- /dev/null
@@ -0,0 +1,158 @@
+/* t-ldap-parse-uri.c - Tests for ldap-parse-uri.c and ldap-misc.c
+ * Copyright (C) 2015  g10 Code GmbH
+ *
+ * This file is part of GnuPG.
+ *
+ * GnuPG is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * GnuPG is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, see <https://www.gnu.org/licenses/>.
+ */
+
+#include <config.h>
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <gpg-error.h>
+
+#include "../common/util.h"
+#include "t-support.h"
+#include "ldap-misc.h"
+
+
+static void
+test_ldap_parse_extfilter (void)
+{
+  struct {
+    const char *string;
+    const char *base;
+    const char *filter;
+    int scope;
+    gpg_err_code_t ec;
+  } tests[] =
+  {
+   { "^CN=foo, OU=My Users&(objectClasses=*)",
+     "CN=foo, OU=My Users", "(objectClasses=*)",
+     -1 },
+   { "^CN=foo, OU=My Users&base&(objectClasses=*)",
+     "CN=foo, OU=My Users", "(objectClasses=*)",
+     LDAP_SCOPE_BASE },
+   { "^CN=foo, OU=My Users&one&(objectClasses=*)",
+     "CN=foo, OU=My Users", "(objectClasses=*)",
+     LDAP_SCOPE_ONELEVEL },
+   { "^CN=foo, OU=My Users&sub&(objectClasses=*)",
+     "CN=foo, OU=My Users", "(objectClasses=*)",
+     LDAP_SCOPE_SUBTREE },
+   /* { "^CN=foo, OU=My Users&children&(objectClasses=*)", */
+   /*   "CN=foo, OU=My Users", "(objectClasses=*)", */
+   /*   LDAP_SCOPE_CHILDREN }, */
+   { "^CN=foo, OU=My Users&",
+     "CN=foo, OU=My Users", NULL,
+     -1 },
+   { "^CN=foo, OU=My Users&sub&",
+     "CN=foo, OU=My Users", NULL,
+     LDAP_SCOPE_SUBTREE },
+   /* { "^&children&(objectClasses=*)", */
+   /*   "", "(objectClasses=*)", */
+   /*   LDAP_SCOPE_CHILDREN }, */
+   { "^CN=foo, OU=My &&Users&base&(objectClasses=*)",
+     "CN=foo, OU=My &Users", "(objectClasses=*)",
+     LDAP_SCOPE_BASE },
+   { "^CN=foo, OU=My Users&&&base&(objectClasses=*)",
+     "CN=foo, OU=My Users&", "(objectClasses=*)",
+     LDAP_SCOPE_BASE },
+   { "^CN=foo, OU=My Users",
+     NULL, NULL,
+     LDAP_SCOPE_BASE, GPG_ERR_SYNTAX },
+   { "^CN=foo, OU=My Users&base(objectClasses=*)",
+     NULL, NULL,
+     LDAP_SCOPE_BASE, GPG_ERR_SYNTAX },
+   { "^CN=foo, OU=My Users&base&objectClasses=*)",
+     NULL, NULL,
+     LDAP_SCOPE_BASE, GPG_ERR_SYNTAX },
+   { "^CN=foo, OU=My Users&base&(objectClasses=*",
+     NULL, NULL,
+     LDAP_SCOPE_BASE, GPG_ERR_SYNTAX }
+  };
+  int idx;
+  gpg_error_t err;
+  int errcount = 0;
+  char *base, *filter;
+  int scope;
+
+  for (idx= 0; idx < DIM (tests); idx++)
+    {
+      scope = -1;
+      err = ldap_parse_extfilter (tests[idx].string, 1, &base, &scope, &filter);
+      if (err && tests[idx].ec)
+        {
+          if (gpg_err_code (err) != tests[idx].ec)
+            {
+              fprintf (stderr, "%s: test %d failed: wrong error code %d\n",
+                       __func__, idx, err);
+              errcount++;
+            }
+          continue;
+        }
+      if (err)
+        {
+          fprintf (stderr, "%s: test %d failed: %s\n",
+                   __func__, idx, gpg_strerror (err));
+          errcount++;
+          continue;
+        }
+      if (tests[idx].ec)
+        {
+          fprintf (stderr, "%s: test %d failed: error not detected\n",
+                   __func__, idx);
+          errcount++;
+          continue;
+        }
+      if ((!tests[idx].base ^ !base)
+          || (tests[idx].base && strcmp (tests[idx].base, base)))
+        {
+          fprintf (stderr, "%s: test %d failed: base mismatch ('%s')\n",
+                   __func__, idx, base? base : "(null");
+          errcount++;
+        }
+      if ((!tests[idx].filter ^ !filter)
+          || (tests[idx].filter && strcmp (tests[idx].filter, filter)))
+        {
+          fprintf (stderr, "%s: test %d failed: filter mismatch ('%s')\n",
+                   __func__, idx, filter? filter : "(null");
+          errcount++;
+        }
+      if (tests[idx].scope != scope)
+        {
+          fprintf (stderr, "%s: test %d failed: scope mismatch (%d)\n",
+                   __func__, idx, scope);
+          errcount++;
+        }
+      xfree (base);
+      xfree (filter);
+    }
+  if (errcount)
+    exit (1);
+}
+
+
+
+\f
+int
+main (int argc, char **argv)
+{
+  (void)argc;
+  (void)argv;
+
+  test_ldap_parse_extfilter ();
+
+  return 0;
+}
index f773f1e..7f60c94 100644 (file)
 #ifndef DIRMNGR_T_SUPPORT_H
 #define DIRMNGR_T_SUPPORT_H 1
 
+#ifndef DIM
+# define DIM(v)                     (sizeof(v)/sizeof((v)[0]))
+# define DIMof(type,member)   DIM(((type *)0)->member)
+#endif
+
+
 /* Macros to print the result of a test.  */
 #define pass()  do { ; } while(0)
 #define fail(a)  do { fprintf (stderr, "%s:%d: test %d failed\n",\
index 2b882c3..61fef3a 100644 (file)
@@ -93,7 +93,7 @@ myman_sources = gnupg7.texi gpg.texi gpgsm.texi gpg-agent.texi \
                dirmngr.texi scdaemon.texi tools.texi wks.texi
 myman_pages   = gpgsm.1 gpg-agent.1 dirmngr.8 scdaemon.1 \
                 watchgnupg.1 gpgconf.1 addgnupghome.8 gpg-preset-passphrase.1 \
-               gpg-connect-agent.1 gpgparsemail.1 symcryptrun.1 gpgtar.1 \
+               gpg-connect-agent.1 gpgparsemail.1 gpgtar.1 \
                applygnupgdefaults.8 gpg-wks-client.1 gpg-wks-server.1 \
                dirmngr-client.1
 if USE_GPG2_HACK
index aac2c1a..82f0183 100644 (file)
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.16.1 from Makefile.am.
+# Makefile.in generated by automake 1.16.3 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2018 Free Software Foundation, Inc.
+# Copyright (C) 1994-2020 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -534,7 +534,7 @@ myman_sources = gnupg7.texi gpg.texi gpgsm.texi gpg-agent.texi \
 
 myman_pages = gpgsm.1 gpg-agent.1 dirmngr.8 scdaemon.1 watchgnupg.1 \
        gpgconf.1 addgnupghome.8 gpg-preset-passphrase.1 \
-       gpg-connect-agent.1 gpgparsemail.1 symcryptrun.1 gpgtar.1 \
+       gpg-connect-agent.1 gpgparsemail.1 gpgtar.1 \
        applygnupgdefaults.8 gpg-wks-client.1 gpg-wks-server.1 \
        dirmngr-client.1 $(am__append_8) $(am__append_9)
 man_MANS = $(myman_pages) gnupg.7
@@ -951,7 +951,8 @@ installdirs:
        done
 install: $(BUILT_SOURCES)
        $(MAKE) $(AM_MAKEFLAGS) install-am
-install-exec: install-exec-am
+install-exec: $(BUILT_SOURCES)
+       $(MAKE) $(AM_MAKEFLAGS) install-exec-am
 install-data: install-data-am
 uninstall: uninstall-am
 
@@ -1146,7 +1147,7 @@ uninstall-am: uninstall-dist_pkgdataDATA uninstall-dvi-am \
 
 uninstall-man: uninstall-man1 uninstall-man7 uninstall-man8
 
-.MAKE: all check install install-am install-strip
+.MAKE: all check install install-am install-exec install-strip
 
 .PHONY: all all-am check check-am clean clean-aminfo clean-generic \
        cscopelist-am ctags-am dist-hook dist-info distclean \
index 131e072..4079fcc 100644 (file)
@@ -1 +1 @@
-1608567881
+1623227654
index 843fdbf..d81cf35 100644 (file)
@@ -14,7 +14,7 @@
 @manpage dirmngr.8
 @ifset manverb
 .B dirmngr
-\- CRL and OCSP daemon
+\- GnuPG's network access daemon
 @end ifset
 
 @mansect synopsis
@@ -253,7 +253,10 @@ network).  Certain other features are disabled in this mode.  The
 effect of @option{--use-tor} cannot be overridden by any other command
 or even by reloading dirmngr.  The use of @option{--no-use-tor}
 disables the use of Tor.  The default is to use Tor if it is available
-on startup or after reloading dirmngr.
+on startup or after reloading dirmngr.  The test on the available of
+Tor is done by trying to connects to a SOCKS proxy at either port 9050
+or 9150); if another type of proxy is listening on one of these ports,
+you should use @option{--no-use-tor}.
 
 @item --standard-resolver
 @opindex standard-resolver
@@ -331,23 +334,40 @@ If no keyserver is explicitly configured, dirmngr will use the
 built-in default of @code{hkps://hkps.pool.sks-keyservers.net}.
 
 Windows users with a keyserver running on their Active Directory
-should use @code{ldap:///} for @var{name} to access this directory.
+may use the short form @code{ldap:///} for @var{name} to access this directory.
 
 For accessing anonymous LDAP keyservers @var{name} is in general just
 a @code{ldaps://ldap.example.com}.  A BaseDN parameter should never be
-specified.  If authentication is required the value of @var{name} is
-for example:
+specified.  If authentication is required things are more complicated
+and two methods are available:
+
+The modern method (since version 2.2.28) is to use the very same syntax
+as used with the option @option{--ldapserver}.  Please see over
+there for details; here is an example:
+
+@example
+       keyserver ldap:ldap.example.com::uid=USERNAME,ou=GnuPG Users,
+       dc=example,dc=com:PASSWORD::starttls
+@end example
+
+       The other method is to use a full URL for @var{name}; for example:
 
 @example
        keyserver ldaps://ldap.example.com/????bindname=uid=USERNAME
        %2Cou=GnuPG%20Users%2Cdc=example%2Cdc=com,password=PASSWORD
 @end example
 
-       Put this all on one line without any spaces and keep the '%2C' as given.
-       Replace USERNAME, PASSWORD, and the 'dc' parts according to the
-       instructions received from the LDAP administrator.  Note that only
-       simple authentication (i.e. cleartext passwords) is supported and thus
-       using ldaps is strongly suggested.
+       Put this all on one line without any spaces and keep the '%2C'
+       as given.  Replace USERNAME, PASSWORD, and the 'dc' parts
+       according to the instructions received from your LDAP
+       administrator.  Note that only simple authentication
+       (i.e. cleartext passwords) is supported and thus using ldaps is
+       strongly suggested (since 2.2.28 "ldaps" defaults to port 389
+       and uses STARTTLS).  On Windows authentication via AD can be
+       requested by adding @code{gpgNtds=1} after the fourth question
+       mark instead of the bindname and password parameter.
+
+
 
 @item --nameserver @var{ipaddr}
 @opindex nameserver
@@ -419,13 +439,13 @@ configured LDAP server if the connection using the "proxy" failed.
 
 @item --ldapserverlist-file @var{file}
 @opindex ldapserverlist-file
-Read the list of LDAP servers to consult for CRLs and certificates from
+Read the list of LDAP servers to consult for CRLs and X.509 certificates from
 file instead of the default per-user ldap server list file. The default
 value for @var{file} is @file{dirmngr_ldapservers.conf}.
 
 This server list file contains one LDAP server per line in the format
 
-@sc{hostname:port:username:password:base_dn}
+@sc{hostname:port:username:password:base_dn:flags}
 
 Lines starting with a  @samp{#} are comments.
 
@@ -438,6 +458,40 @@ helpful for frontends as it enables editing this configuration file using
 percent-escaped strings.}
 
 
+@item --ldapserver @var{spec}
+@opindex ldapserver
+This is an alternative way to specify LDAP servers for CRL and X.509
+certificate retrieval.  If this option is used the servers configured
+in @file{dirmngr_ldapservers.conf} (or the file given by
+@option{--ldapserverlist-file}) are cleared.  Note that
+@file{dirmngr_ldapservers.conf} is not read again by a reload
+signal. However, @option{--ldapserver} options are read again.
+
+@var{spec} is either a proper LDAP URL or a colon delimited list of
+the form
+
+@sc{hostname:port:username:password:base_dn:flags:}
+
+with an optional prefix of @code{ldap:} (but without the two slashes
+which would turn this into a proper LDAP URL).  @sc{flags} is a list
+of one or more comma delimited keywords:
+@table @code
+@item plain
+The default: Do not use a TLS secured connection at all; the default
+port is 389.
+@item starttls
+Use STARTTLS to secure the connection; the default port is 389.
+@item ldaptls
+Tunnel LDAP through a TLS connection; the default port is 636.
+@item ntds
+On Windows authenticate the LDAP connection using the Active Directory
+with the current user.
+@end table
+
+Note that in an URL style specification the scheme @code{ldaps://}
+refers to STARTTLS and _not_ to LDAP-over-TLS.
+
+
 @item --ldaptimeout @var{secs}
 @opindex ldaptimeout
 Specify the number of seconds to wait for an LDAP query before timing
index 5c10367..b634b31 100644 (file)
Binary files a/doc/gnupg-card-architecture.pdf and b/doc/gnupg-card-architecture.pdf differ
index da945cc..3c56672 100644 (file)
@@ -344,8 +344,8 @@ endobj
 17 0 obj
 <<
 /Title (þÿ\0g\0n\0u\0p\0g\0-\0m\0o\0d\0u\0l\0e\0-\0o\0v\0e\0r\0v\0i\0e\0w\0\0)
-/CreationDate (D:20210111184723)
-/ModDate (D:20210111184723)
+/CreationDate (D:20210610185913)
+/ModDate (D:20210610185913)
 /Producer (https://imagemagick.org)
 >>
 endobj
index 1ce9836..ed8ca70 100644 (file)
Binary files a/doc/gnupg-module-overview.png and b/doc/gnupg-module-overview.png differ
index 784c682..0f5f3db 100644 (file)
@@ -1,7 +1,7 @@
 This is gnupg.info, produced by makeinfo version 6.5 from gnupg.texi.
 
-This is the 'The GNU Privacy Guard Manual' (version 2.2.26-beta25,
-December 2020).
+This is the 'The GNU Privacy Guard Manual' (version 2.2.28-beta111, June
+2021).
 
    (C) 2002, 2004, 2005, 2006, 2007, 2010 Free Software Foundation, Inc.
 (C) 2013, 2014, 2015 Werner Koch.
@@ -23,202 +23,200 @@ END-INFO-DIR-ENTRY
 
 \1f
 Indirect:
-gnupg.info-1: 992
-gnupg.info-2: 301197
+gnupg.info-1: 989
+gnupg.info-2: 302790
 \1f
 Tag Table:
 (Indirect)
-Node: Top\7f992
-Node: Installation\7f2921
-Node: Invoking GPG-AGENT\7f5270
-Node: Agent Commands\7f7036
-Node: Agent Options\7f8840
-Ref: option --options\7f9120
-Ref: option --homedir\7f9446
-Ref: option --log-file\7f14487
-Ref: option --no-allow-mark-trusted\7f14860
-Ref: option --allow-preset-passphrase\7f15064
-Ref: option --no-allow-loopback-pinentry\7f15217
-Ref: option --extra-socket\7f22608
-Ref: option --enable-ssh-support\7f24074
-Ref: option --ssh-fingerprint-digest\7f26411
-Node: Agent Configuration\7f28068
-Node: Agent Signals\7f33466
-Node: Agent Examples\7f34926
-Node: Agent Protocol\7f35493
-Node: Agent PKDECRYPT\7f37647
-Node: Agent PKSIGN\7f39559
-Node: Agent GENKEY\7f41863
-Node: Agent IMPORT\7f43760
-Node: Agent EXPORT\7f44204
-Node: Agent ISTRUSTED\7f44419
-Node: Agent GET_PASSPHRASE\7f46794
-Node: Agent CLEAR_PASSPHRASE\7f49235
-Node: Agent PRESET_PASSPHRASE\7f49626
-Node: Agent GET_CONFIRMATION\7f50464
-Node: Agent HAVEKEY\7f51136
-Node: Agent LEARN\7f51768
-Node: Agent PASSWD\7f52066
-Node: Agent UPDATESTARTUPTTY\7f52532
-Node: Agent GETEVENTCOUNTER\7f53010
-Node: Agent GETINFO\7f53812
-Node: Agent OPTION\7f54516
-Node: Invoking DIRMNGR\7f57574
-Node: Dirmngr Commands\7f58472
-Node: Dirmngr Options\7f60925
-Ref: Dirmngr Options-Footnote-1\7f76142
-Node: Dirmngr Configuration\7f76277
-Node: Dirmngr Signals\7f79407
-Node: Dirmngr Examples\7f80435
-Node: Dirmngr Protocol\7f81117
-Node: Dirmngr LOOKUP\7f81767
-Node: Dirmngr ISVALID\7f83138
-Node: Dirmngr CHECKCRL\7f85711
-Node: Dirmngr CHECKOCSP\7f86768
-Node: Dirmngr CACHECERT\7f88074
-Node: Dirmngr VALIDATE\7f88913
-Node: Invoking GPG\7f89481
-Node: GPG Commands\7f90711
-Node: General GPG Commands\7f91605
-Node: Operational GPG Commands\7f92294
-Ref: option --export-ownertrust\7f109367
-Node: OpenPGP Key Management\7f111480
-Node: GPG Options\7f133287
-Node: GPG Configuration Options\7f134620
-Ref: gpg-option --options\7f147420
-Ref: trust-model-tofu\7f151884
-Node: GPG Key related Options\7f171719
-Node: GPG Input and Output\7f176915
-Node: OpenPGP Options\7f190619
-Node: Compliance Options\7f195347
-Node: GPG Esoteric Options\7f198498
-Ref: GPG Esoteric Options-Footnote-1\7f225359
-Node: Deprecated Options\7f225513
-Node: GPG Configuration\7f227016
-Node: GPG Examples\7f232486
-Node: Unattended Usage of GPG\7f241173
-Node: Programmatic use of GnuPG\7f241804
-Node: Ephemeral home directories\7f242355
-Node: The quick key manipulation interface\7f243662
-Node: Unattended GPG key generation\7f244249
-Node: Invoking GPGSM\7f253568
-Node: GPGSM Commands\7f254437
-Node: General GPGSM Commands\7f254875
-Node: Operational GPGSM Commands\7f255563
-Node: Certificate Management\7f257597
-Node: GPGSM Options\7f262573
-Node: Configuration Options\7f263147
-Ref: gpgsm-option --options\7f263416
-Node: Certificate Options\7f266231
-Ref: gpgsm-option --validation-model\7f269835
-Node: Input and Output\7f270815
-Ref: option --p12-charset\7f271398
-Ref: gpgsm-option --with-key-data\7f272642
-Ref: gpgsm-option --with-validation\7f272916
-Node: CMS Options\7f273794
-Node: Esoteric Options\7f274814
-Node: GPGSM Configuration\7f280241
-Node: GPGSM Examples\7f285909
-Node: Unattended Usage\7f286106
-Node: Automated signature checking\7f286697
-Node: CSR and certificate creation\7f288520
-Node: GPGSM Protocol\7f293466
-Node: GPGSM ENCRYPT\7f294722
-Node: GPGSM DECRYPT\7f297397
-Node: GPGSM SIGN\7f298233
-Node: GPGSM VERIFY\7f299689
-Node: GPGSM GENKEY\7f301197
-Node: GPGSM LISTKEYS\7f302212
-Ref: gpgsm-cmd listkeys\7f302371
-Node: GPGSM EXPORT\7f303124
-Node: GPGSM IMPORT\7f304088
-Node: GPGSM DELETE\7f304829
-Node: GPGSM GETAUDITLOG\7f305336
-Ref: gpgsm-cmd getauditlog\7f305505
-Node: GPGSM GETINFO\7f305849
-Node: GPGSM OPTION\7f306698
-Node: Invoking SCDAEMON\7f310051
-Node: Scdaemon Commands\7f310725
-Node: Scdaemon Options\7f311853
-Node: Card applications\7f320917
-Node: OpenPGP Card\7f321582
-Node: NKS Card\7f322055
-Node: DINSIG Card\7f322381
-Node: PKCS#15 Card\7f322757
-Node: Geldkarte Card\7f323027
-Node: SmartCard-HSM\7f323418
-Node: Undefined Card\7f324014
-Node: Scdaemon Configuration\7f324427
-Node: Scdaemon Examples\7f325465
-Node: Scdaemon Protocol\7f325648
-Node: Scdaemon SERIALNO\7f327167
-Node: Scdaemon LEARN\7f328013
-Node: Scdaemon READCERT\7f328860
-Node: Scdaemon READKEY\7f329262
-Node: Scdaemon PKSIGN\7f329548
-Node: Scdaemon PKDECRYPT\7f330274
-Node: Scdaemon GETATTR\7f331024
-Node: Scdaemon SETATTR\7f331226
-Node: Scdaemon WRITEKEY\7f331431
-Node: Scdaemon GENKEY\7f332133
-Node: Scdaemon RANDOM\7f332336
-Node: Scdaemon PASSWD\7f332559
-Node: Scdaemon CHECKPIN\7f332950
-Node: Scdaemon RESTART\7f333953
-Node: Scdaemon APDU\7f334486
-Node: Specify a User ID\7f335459
-Ref: how-to-specify-a-user-id\7f335617
-Node: Trust Values\7f340475
-Ref: trust-values\7f340604
-Node: Helper Tools\7f341209
-Node: watchgnupg\7f342049
-Ref: option watchgnupg --tcp\7f342871
-Node: gpgv\7f344449
-Node: addgnupghome\7f349648
-Node: gpgconf\7f350344
-Ref: gpgconf-Footnote-1\7f352531
-Node: Invoking gpgconf\7f352829
-Node: Format conventions\7f359414
-Node: Listing components\7f364745
-Node: Checking programs\7f366828
-Node: Listing options\7f369566
-Node: Changing options\7f377062
-Node: Listing global options\7f378764
-Node: Querying versions\7f380535
-Node: Files used by gpgconf\7f383233
-Node: applygnupgdefaults\7f383709
-Node: gpg-preset-passphrase\7f384453
-Node: Invoking gpg-preset-passphrase\7f385488
-Node: gpg-connect-agent\7f386890
-Node: Invoking gpg-connect-agent\7f387604
-Node: Controlling gpg-connect-agent\7f391150
-Node: dirmngr-client\7f397623
-Node: gpgparsemail\7f400974
-Node: symcryptrun\7f401292
-Node: Invoking symcryptrun\7f402190
-Node: gpgtar\7f404737
-Node: Web Key Service\7f408669
-Node: gpg-wks-client\7f408982
-Node: gpg-wks-server\7f414148
-Node: Howtos\7f419505
-Node: Howto Create a Server Cert\7f419777
-Node: System Notes\7f428190
-Node: W32 Notes\7f429401
-Node: Debugging\7f429823
-Node: Debugging Tools\7f430651
-Node: kbxutil\7f430931
-Node: Debugging Hints\7f432462
-Node: Common Problems\7f433593
-Node: Architecture Details\7f438830
-Node: Component interaction\7f439140
-Ref: fig:moduleoverview\7f439326
-Node: GnuPG-1 and GnuPG-2\7f439433
-Ref: fig:cardarchitecture\7f439723
-Node: Copying\7f439838
-Node: Contributors\7f477362
-Node: Glossary\7f483617
-Node: Option Index\7f486136
-Node: Environment Index\7f565750
-Node: Index\7f571605
+Node: Top\7f989
+Node: Installation\7f2915
+Node: Invoking GPG-AGENT\7f5264
+Node: Agent Commands\7f7030
+Node: Agent Options\7f8834
+Ref: option --options\7f9114
+Ref: option --homedir\7f9440
+Ref: option --log-file\7f14481
+Ref: option --no-allow-mark-trusted\7f14854
+Ref: option --allow-preset-passphrase\7f15058
+Ref: option --no-allow-loopback-pinentry\7f15211
+Ref: option --extra-socket\7f22602
+Ref: option --enable-ssh-support\7f24068
+Ref: option --ssh-fingerprint-digest\7f26405
+Node: Agent Configuration\7f28062
+Node: Agent Signals\7f33460
+Node: Agent Examples\7f34920
+Node: Agent Protocol\7f35487
+Node: Agent PKDECRYPT\7f37641
+Node: Agent PKSIGN\7f39553
+Node: Agent GENKEY\7f41857
+Node: Agent IMPORT\7f43754
+Node: Agent EXPORT\7f44198
+Node: Agent ISTRUSTED\7f44413
+Node: Agent GET_PASSPHRASE\7f46788
+Node: Agent CLEAR_PASSPHRASE\7f49229
+Node: Agent PRESET_PASSPHRASE\7f49620
+Node: Agent GET_CONFIRMATION\7f50458
+Node: Agent HAVEKEY\7f51130
+Node: Agent LEARN\7f51762
+Node: Agent PASSWD\7f52060
+Node: Agent UPDATESTARTUPTTY\7f52526
+Node: Agent GETEVENTCOUNTER\7f53004
+Node: Agent GETINFO\7f53806
+Node: Agent OPTION\7f54510
+Node: Invoking DIRMNGR\7f57568
+Node: Dirmngr Commands\7f58466
+Node: Dirmngr Options\7f60919
+Ref: Dirmngr Options-Footnote-1\7f78300
+Node: Dirmngr Configuration\7f78435
+Node: Dirmngr Signals\7f81565
+Node: Dirmngr Examples\7f82593
+Node: Dirmngr Protocol\7f83275
+Node: Dirmngr LOOKUP\7f83925
+Node: Dirmngr ISVALID\7f85296
+Node: Dirmngr CHECKCRL\7f87869
+Node: Dirmngr CHECKOCSP\7f88926
+Node: Dirmngr CACHECERT\7f90232
+Node: Dirmngr VALIDATE\7f91071
+Node: Invoking GPG\7f91639
+Node: GPG Commands\7f92869
+Node: General GPG Commands\7f93763
+Node: Operational GPG Commands\7f94452
+Ref: option --export-ownertrust\7f111754
+Node: OpenPGP Key Management\7f113867
+Node: GPG Options\7f135828
+Node: GPG Configuration Options\7f137161
+Ref: gpg-option --options\7f150662
+Ref: trust-model-tofu\7f155230
+Node: GPG Key related Options\7f175410
+Node: GPG Input and Output\7f180606
+Node: OpenPGP Options\7f194310
+Node: Compliance Options\7f199038
+Node: GPG Esoteric Options\7f202189
+Ref: GPG Esoteric Options-Footnote-1\7f229298
+Node: Deprecated Options\7f229452
+Node: GPG Configuration\7f230955
+Node: GPG Examples\7f236425
+Node: Unattended Usage of GPG\7f245112
+Node: Programmatic use of GnuPG\7f245743
+Node: Ephemeral home directories\7f246294
+Node: The quick key manipulation interface\7f247601
+Node: Unattended GPG key generation\7f248188
+Node: Invoking GPGSM\7f257507
+Node: GPGSM Commands\7f258376
+Node: General GPGSM Commands\7f258814
+Node: Operational GPGSM Commands\7f259502
+Node: Certificate Management\7f261536
+Node: GPGSM Options\7f266512
+Node: Configuration Options\7f267086
+Ref: gpgsm-option --options\7f267355
+Node: Certificate Options\7f270635
+Ref: gpgsm-option --validation-model\7f274239
+Node: Input and Output\7f275219
+Ref: option --p12-charset\7f275802
+Ref: gpgsm-option --with-key-data\7f277046
+Ref: gpgsm-option --with-validation\7f277320
+Node: CMS Options\7f278198
+Node: Esoteric Options\7f279218
+Node: GPGSM Configuration\7f284645
+Node: GPGSM Examples\7f290313
+Node: Unattended Usage\7f290510
+Node: Automated signature checking\7f291101
+Node: CSR and certificate creation\7f292924
+Node: GPGSM Protocol\7f297870
+Node: GPGSM ENCRYPT\7f299126
+Node: GPGSM DECRYPT\7f302790
+Node: GPGSM SIGN\7f303626
+Node: GPGSM VERIFY\7f305082
+Node: GPGSM GENKEY\7f305598
+Node: GPGSM LISTKEYS\7f306613
+Ref: gpgsm-cmd listkeys\7f306772
+Node: GPGSM EXPORT\7f307525
+Node: GPGSM IMPORT\7f308489
+Node: GPGSM DELETE\7f309230
+Node: GPGSM GETAUDITLOG\7f309737
+Ref: gpgsm-cmd getauditlog\7f309906
+Node: GPGSM GETINFO\7f310250
+Node: GPGSM OPTION\7f311099
+Node: Invoking SCDAEMON\7f314452
+Node: Scdaemon Commands\7f315126
+Node: Scdaemon Options\7f316254
+Node: Card applications\7f325604
+Node: OpenPGP Card\7f326269
+Node: NKS Card\7f326742
+Node: DINSIG Card\7f327068
+Node: PKCS#15 Card\7f327444
+Node: Geldkarte Card\7f327714
+Node: SmartCard-HSM\7f328105
+Node: Undefined Card\7f328701
+Node: Scdaemon Configuration\7f329114
+Node: Scdaemon Examples\7f330152
+Node: Scdaemon Protocol\7f330335
+Node: Scdaemon SERIALNO\7f331854
+Node: Scdaemon LEARN\7f332700
+Node: Scdaemon READCERT\7f333547
+Node: Scdaemon READKEY\7f333949
+Node: Scdaemon PKSIGN\7f334235
+Node: Scdaemon PKDECRYPT\7f334961
+Node: Scdaemon GETATTR\7f335711
+Node: Scdaemon SETATTR\7f335913
+Node: Scdaemon WRITEKEY\7f336118
+Node: Scdaemon GENKEY\7f336820
+Node: Scdaemon RANDOM\7f337023
+Node: Scdaemon PASSWD\7f337246
+Node: Scdaemon CHECKPIN\7f337637
+Node: Scdaemon RESTART\7f338640
+Node: Scdaemon APDU\7f339173
+Node: Specify a User ID\7f340146
+Ref: how-to-specify-a-user-id\7f340304
+Node: Trust Values\7f345162
+Ref: trust-values\7f345291
+Node: Helper Tools\7f345896
+Node: watchgnupg\7f346669
+Ref: option watchgnupg --tcp\7f347491
+Node: gpgv\7f349069
+Node: addgnupghome\7f354268
+Node: gpgconf\7f354964
+Ref: gpgconf-Footnote-1\7f357151
+Node: Invoking gpgconf\7f357449
+Node: Format conventions\7f364034
+Node: Listing components\7f369365
+Node: Checking programs\7f371448
+Node: Listing options\7f374186
+Node: Changing options\7f381682
+Node: Listing global options\7f383384
+Node: Querying versions\7f385155
+Node: Files used by gpgconf\7f387853
+Node: applygnupgdefaults\7f388329
+Node: gpg-preset-passphrase\7f389073
+Node: Invoking gpg-preset-passphrase\7f390108
+Node: gpg-connect-agent\7f391510
+Node: Invoking gpg-connect-agent\7f392224
+Node: Controlling gpg-connect-agent\7f395770
+Node: dirmngr-client\7f402243
+Node: gpgparsemail\7f405594
+Node: gpgtar\7f405907
+Node: Web Key Service\7f409840
+Node: gpg-wks-client\7f410153
+Node: gpg-wks-server\7f415319
+Node: Howtos\7f420676
+Node: Howto Create a Server Cert\7f420948
+Node: System Notes\7f429361
+Node: W32 Notes\7f430572
+Node: Debugging\7f430994
+Node: Debugging Tools\7f431822
+Node: kbxutil\7f432102
+Node: Debugging Hints\7f433633
+Node: Common Problems\7f434764
+Node: Architecture Details\7f440001
+Node: Component interaction\7f440311
+Ref: fig:moduleoverview\7f440497
+Node: GnuPG-1 and GnuPG-2\7f440604
+Ref: fig:cardarchitecture\7f440894
+Node: Copying\7f441009
+Node: Contributors\7f478533
+Node: Glossary\7f484788
+Node: Option Index\7f487307
+Node: Environment Index\7f566797
+Node: Index\7f572244
 \1f
 End Tag Table
index fe1fd51..3a9ce88 100644 (file)
@@ -1,7 +1,7 @@
 This is gnupg.info, produced by makeinfo version 6.5 from gnupg.texi.
 
-This is the 'The GNU Privacy Guard Manual' (version 2.2.26-beta25,
-December 2020).
+This is the 'The GNU Privacy Guard Manual' (version 2.2.28-beta111, June
+2021).
 
    (C) 2002, 2004, 2005, 2006, 2007, 2010 Free Software Foundation, Inc.
 (C) 2013, 2014, 2015 Werner Koch.
@@ -27,8 +27,8 @@ File: gnupg.info,  Node: Top,  Next: Installation,  Up: (dir)
 Using the GNU Privacy Guard
 ***************************
 
-This is the 'The GNU Privacy Guard Manual' (version 2.2.26-beta25,
-December 2020).
+This is the 'The GNU Privacy Guard Manual' (version 2.2.28-beta111, June
+2021).
 
    (C) 2002, 2004, 2005, 2006, 2007, 2010 Free Software Foundation, Inc.
 (C) 2013, 2014, 2015 Werner Koch.
@@ -1669,7 +1669,10 @@ off the two leading dashes.
      '--use-tor' cannot be overridden by any other command or even by
      reloading dirmngr.  The use of '--no-use-tor' disables the use of
      Tor.  The default is to use Tor if it is available on startup or
-     after reloading dirmngr.
+     after reloading dirmngr.  The test on the available of Tor is done
+     by trying to connects to a SOCKS proxy at either port 9050 or
+     9150); if another type of proxy is listening on one of these ports,
+     you should use '--no-use-tor'.
 
 '--standard-resolver'
      This option forces the use of the system's standard DNS resolver
@@ -1736,21 +1739,34 @@ off the two leading dashes.
      built-in default of 'hkps://hkps.pool.sks-keyservers.net'.
 
      Windows users with a keyserver running on their Active Directory
-     should use 'ldap:///' for NAME to access this directory.
+     may use the short form 'ldap:///' for NAME to access this
+     directory.
 
      For accessing anonymous LDAP keyservers NAME is in general just a
      'ldaps://ldap.example.com'.  A BaseDN parameter should never be
-     specified.  If authentication is required the value of NAME is for
-     example:
+     specified.  If authentication is required things are more
+     complicated and two methods are available:
+
+     The modern method (since version 2.2.28) is to use the very same
+     syntax as used with the option '--ldapserver'.  Please see over
+     there for details; here is an example:
+
+                 keyserver ldap:ldap.example.com::uid=USERNAME,ou=GnuPG Users,
+                 dc=example,dc=com:PASSWORD::starttls
+
+     The other method is to use a full URL for NAME; for example:
 
                  keyserver ldaps://ldap.example.com/????bindname=uid=USERNAME
                  %2Cou=GnuPG%20Users%2Cdc=example%2Cdc=com,password=PASSWORD
 
      Put this all on one line without any spaces and keep the '%2C' as
      given.  Replace USERNAME, PASSWORD, and the 'dc' parts according to
-     the instructions received from the LDAP administrator.  Note that
+     the instructions received from your LDAP administrator.  Note that
      only simple authentication (i.e.  cleartext passwords) is supported
-     and thus using ldaps is strongly suggested.
+     and thus using ldaps is strongly suggested (since 2.2.28 "ldaps"
+     defaults to port 389 and uses STARTTLS). On Windows authentication
+     via AD can be requested by adding 'gpgNtds=1' after the fourth
+     question mark instead of the bindname and password parameter.
 
 '--nameserver IPADDR'
      In "Tor mode" Dirmngr uses a public resolver via Tor to resolve DNS
@@ -1806,14 +1822,15 @@ off the two leading dashes.
      LDAP server if the connection using the "proxy" failed.
 
 '--ldapserverlist-file FILE'
-     Read the list of LDAP servers to consult for CRLs and certificates
-     from file instead of the default per-user ldap server list file.
-     The default value for FILE is 'dirmngr_ldapservers.conf'.
+     Read the list of LDAP servers to consult for CRLs and X.509
+     certificates from file instead of the default per-user ldap server
+     list file.  The default value for FILE is
+     'dirmngr_ldapservers.conf'.
 
      This server list file contains one LDAP server per line in the
      format
 
-     HOSTNAME:PORT:USERNAME:PASSWORD:BASE_DN
+     HOSTNAME:PORT:USERNAME:PASSWORD:BASE_DN:FLAGS
 
      Lines starting with a '#' are comments.
 
@@ -1823,6 +1840,37 @@ off the two leading dashes.
      here than to put such a password in the binary encoding into the
      file (i.e.  non-ascii characters won't show up readable).(1)
 
+'--ldapserver SPEC'
+     This is an alternative way to specify LDAP servers for CRL and
+     X.509 certificate retrieval.  If this option is used the servers
+     configured in 'dirmngr_ldapservers.conf' (or the file given by
+     '--ldapserverlist-file') are cleared.  Note that
+     'dirmngr_ldapservers.conf' is not read again by a reload signal.
+     However, '--ldapserver' options are read again.
+
+     SPEC is either a proper LDAP URL or a colon delimited list of the
+     form
+
+     HOSTNAME:PORT:USERNAME:PASSWORD:BASE_DN:FLAGS:
+
+     with an optional prefix of 'ldap:' (but without the two slashes
+     which would turn this into a proper LDAP URL). FLAGS is a list of
+     one or more comma delimited keywords:
+     'plain'
+          The default: Do not use a TLS secured connection at all; the
+          default port is 389.
+     'starttls'
+          Use STARTTLS to secure the connection; the default port is
+          389.
+     'ldaptls'
+          Tunnel LDAP through a TLS connection; the default port is 636.
+     'ntds'
+          On Windows authenticate the LDAP connection using the Active
+          Directory with the current user.
+
+     Note that in an URL style specification the scheme 'ldaps://'
+     refers to STARTTLS and _not_ to LDAP-over-TLS.
+
 '--ldaptimeout SECS'
      Specify the number of seconds to wait for an LDAP query before
      timing out.  The default are 15 seconds.  0 will never timeout.
@@ -2517,13 +2565,18 @@ File: gnupg.info,  Node: Operational GPG Commands,  Next: OpenPGP Key Management
 '--locate-keys'
 '--locate-external-keys'
      Locate the keys given as arguments.  This command basically uses
-     the same algorithm as used when locating keys for encryption or
-     signing and may thus be used to see what keys 'gpg' might use.  In
-     particular external methods as defined by '--auto-key-locate' may
-     be used to locate a key.  Only public keys are listed.  The variant
-     '--locate-external-keys' does not consider a locally existing key
-     and can thus be used to force the refresh of a key via the defined
-     external methods.
+     the same algorithm as used when locating keys for encryption and
+     may thus be used to see what keys 'gpg' might use.  In particular
+     external methods as defined by '--auto-key-locate' are used to
+     locate a key if the arguments comain valid mail addresses.  Only
+     public keys are listed.
+
+     The variant '--locate-external-keys' does not consider a locally
+     existing key and can thus be used to force the refresh of a key via
+     the defined external methods.  If a fingerprint is given and and
+     the methods defined by -auto-key-locate define LDAP servers, the
+     key is fetched from these resources; defined non-LDAP keyservers
+     are skipped.
 
 '--show-keys'
      This commands takes OpenPGP keys as input and prints information
@@ -2795,9 +2848,9 @@ This section explains the main commands for key management.
 
      If this command is used with '--batch', '--pinentry-mode' has been
      set to 'loopback', and one of the passphrase options
-     ('--passphrase', '--passphrase-fd', or 'passphrase-file') is used,
-     the supplied passphrase is used for the new key and the agent does
-     not ask for it.  To create a key without any protection
+     ('--passphrase', '--passphrase-fd', or '--passphrase-file') is
+     used, the supplied passphrase is used for the new key and the agent
+     does not ask for it.  To create a key without any protection
      '--passphrase ''' may be used.
 
      To create an OpenPGP key from the keys available on the currently
@@ -3163,7 +3216,10 @@ This section explains the main commands for key management.
 
      The command '--quick-lsign-key' marks the signatures as
      non-exportable.  If such a non-exportable signature already exists
-     the '--quick-sign-key' turns it into a exportable signature.
+     the '--quick-sign-key' turns it into a exportable signature.  If
+     you need to update an existing signature, for example to add or
+     change notation data, you need to use the option
+     '--force-sign-key'.
 
      This command uses reasonable defaults and thus does not provide the
      full flexibility of the "sign" subcommand from '--edit-key'.  Its
@@ -3248,8 +3304,8 @@ File: gnupg.info,  Node: GPG Configuration Options,  Next: GPG Key related Optio
 4.2.1 How to change the configuration
 -------------------------------------
 
-These options are used to change the configuration and are usually found
-in the option file.
+These options are used to change the configuration and most of them are
+usually found in the option file.
 
 '--default-key NAME'
      Use NAME as the default key to sign with.  If this option is not
@@ -3271,17 +3327,19 @@ in the option file.
      '--default-key'.
 
 '--no-default-recipient'
-     Reset '--default-recipient' and '--default-recipient-self'.
+     Reset '--default-recipient' and '--default-recipient-self'.  Should
+     not be used in an option file.
 
 '-v, --verbose'
      Give more information during processing.  If used twice, the input
      data is listed in detail.
 
 '--no-verbose'
-     Reset verbose level to 0.
+     Reset verbose level to 0.  Should not be used in an option file.
 
 '-q, --quiet'
-     Try to be as quiet as possible.
+     Try to be as quiet as possible.  Should not be used in an option
+     file.
 
 '--batch'
 '--no-batch'
@@ -3291,10 +3349,11 @@ in the option file.
      (in particular if gpg figures that the input is a detached
      signature and no data file has been specified).  Thus if you do not
      want to feed data via STDIN, you should connect STDIN to
-     g'/dev/null'.
+     '/dev/null'.
 
      It is highly recommended to use this option along with the options
      '--status-fd' and '--with-colons' for any unattended use of 'gpg'.
+     Should not be used in an option file.
 
 '--no-tty'
      Make sure that the TTY (terminal) is never used for any output.
@@ -3302,10 +3361,12 @@ in the option file.
      warnings to the TTY even if '--batch' is used.
 
 '--yes'
-     Assume "yes" on most questions.
+     Assume "yes" on most questions.  Should not be used in an option
+     file.
 
 '--no'
-     Assume "no" on most questions.
+     Assume "no" on most questions.  Should not be used in an option
+     file.
 
 '--list-options PARAMETERS'
      This is a space or comma delimited string that gives options used
@@ -3524,7 +3585,8 @@ in the option file.
      of data to be encrypted or signed; GnuPG does not recode
      user-supplied data.  If this option is not used, the default
      character set is determined from the current locale.  A verbosity
-     level of 3 shows the chosen set.  Valid values for NAME are:
+     level of 3 shows the chosen set.  This option should not be used on
+     Windows.  Valid values for NAME are:
 
      iso-8859-1
           This is the Latin 1 set.
@@ -3548,7 +3610,14 @@ in the option file.
      default ('--no-utf8-strings') is to assume that arguments are
      encoded in the character set as specified by '--display-charset'.
      These options affect all following arguments.  Both options may be
-     used multiple times.
+     used multiple times.  This option should not be used in an option
+     file.
+
+     This option has no effect on Windows.  There the internal used
+     UTF-8 encoding is translated for console input and output.  The
+     command line arguments are expected as Unicode and translated to
+     UTF-8.  Thus when calling this program from another, make sure to
+     use the Unicode version of CreateProcess.
 
 '--options FILE'
      Read options from FILE and do not try to read them from the default
@@ -3632,11 +3701,13 @@ in the option file.
      claim" signatures are always accepted.
 
 '--trusted-key LONG KEY ID OR FINGERPRINT'
-     Assume that the specified key (which must be given as a full 8 byte
-     key ID or 20 byte fingerprint) is as trustworthy as one of your own
-     secret keys.  This option is useful if you don't want to keep your
-     secret keys (or one of them) online but still want to be able to
-     check the validity of a given recipient's or signator's key.
+     Assume that the specified key (which should be given as
+     fingerprint) is as trustworthy as one of your own secret keys.
+     This option is useful if you don't want to keep your secret keys
+     (or one of them) online but still want to be able to check the
+     validity of a given recipient's or signator's key.  If the given
+     key is not locally available but an LDAP keyserver is configured
+     the missing key is imported from that server.
 
 '--trust-model {pgp|classic|tofu|tofu+pgp|direct|always|auto}'
      Set what trust model GnuPG should follow.  The models are:
@@ -3767,14 +3838,21 @@ in the option file.
 
      ntds
           Locate the key using the Active Directory (Windows only).
+          This method also allows to search by fingerprint using the
+          command '--locate-external-key'.
 
      keyserver
-          Locate a key using a keyserver.
+          Locate a key using a keyserver.  This method also allows to
+          search by fingerprint using the command
+          '--locate-external-key' if any of the configured keyservers is
+          an LDAP server.
 
      keyserver-URL
           In addition, a keyserver URL as used in the 'dirmngr'
           configuration may be used here to query that particular
-          keyserver.
+          keyserver.  This method also allows to search by fingerprint
+          using the command '--locate-external-key' if the URL specifies
+          an LDAP server.
 
      local
           Locate the key using the local keyrings.  This mechanism
@@ -3862,14 +3940,10 @@ in the option file.
      communicate with to receive keys from, send keys to, and search for
      keys on.  The format of the NAME is a URI:
      'scheme:[//]keyservername[:port]' The scheme is the type of
-     keyserver: "hkp" for the HTTP (or compatible) keyservers, "ldap"
-     for the LDAP keyservers, or "mailto" for the Graff email keyserver.
-     Note that your particular installation of GnuPG may have other
-     keyserver types available as well.  Keyserver schemes are
-     case-insensitive.  After the keyserver name, optional keyserver
-     configuration options may be provided.  These are the same as the
-     global '--keyserver-options' from below, but apply only to this
-     particular keyserver.
+     keyserver: "hkp"/"hkps" for the HTTP (or compatible) keyservers or
+     "ldap"/"ldaps" for the LDAP keyservers.  Note that your particular
+     installation of GnuPG may have other keyserver types available as
+     well.  Keyserver schemes are case-insensitive.
 
      Most keyservers synchronize with each other, so there is generally
      no need to send keys to more than one server.  The keyserver
@@ -3934,7 +4008,9 @@ in the option file.
 
      The default list of options is: "self-sigs-only, import-clean,
      repair-keys, repair-pks-subkey-bug, export-attributes,
-     honor-pka-record".
+     honor-pka-record".  However, if the actual used source is an LDAP
+     server "no-self-sigs-only" is assumed unless "self-sigs-only" has
+     been explictly configured.
 
 '--completes-needed N'
      Number of completely trusted users to introduce a new key signer
@@ -5225,6 +5301,12 @@ File: gnupg.info,  Node: GPG Esoteric Options,  Next: Deprecated Options,  Prev:
      the advanced key generation commands can always be used to specify
      a key algorithm directly.
 
+'--force-sign-key'
+     This option modifies the behaviour of the commands
+     '--quick-sign-key', '--quick-lsign-key', and the "sign"
+     sub-commands of '--edit-key' by forcing the creation of a key
+     signature, even if one already exists.
+
 '--allow-secret-key-import'
      This is an obsolete option and is not used anywhere.
 
@@ -6276,6 +6358,15 @@ in the option file.
      verbosity by giving several verbose commands to 'gpgsm', such as
      '-vv'.
 
+'--ldapserver STRING'
+'--keyserver STRING'
+     Add an LDAP server to use for X.509 certificate and CRL lookup.
+     This option can be given multiple times to configure more than one
+     LDAP server.  Note that in general 'dirmngr' should be configured
+     with the list of LDAP servers; if this option is also configured
+     here, it is used in addition to those configured in dirmngr.  For
+     the syntax see the description of dirmngr's ldapserver option.
+
 '--policy-file FILENAME'
      Change the default name of the policy file to FILENAME.
 
@@ -7040,80 +7131,3 @@ be any security problem with leftover data on the output in this case.
 been done while setting the recipients.  The input and output pipes are
 closed.
 
-\1f
-File: gnupg.info,  Node: GPGSM DECRYPT,  Next: GPGSM SIGN,  Prev: GPGSM ENCRYPT,  Up: GPGSM Protocol
-
-5.6.2 Decrypting a message
---------------------------
-
-Input and output FDs are set the same way as in encryption, but 'INPUT'
-refers to the ciphertext and 'OUTPUT' to the plaintext.  There is no
-need to set recipients.  'GPGSM' automatically strips any S/MIME headers
-from the input, so it is valid to pass an entire MIME part to the INPUT
-pipe.
-
-   The decryption is done by using the command
-
-       DECRYPT
-
-   It performs the decrypt operation after doing some check on the
-internal state (e.g.  that all needed data has been set).  Because it
-utilizes the GPG-Agent for the session key decryption, there is no need
-to ask the client for a protecting passphrase - GpgAgent takes care of
-this by requesting this from the user.
-
-\1f
-File: gnupg.info,  Node: GPGSM SIGN,  Next: GPGSM VERIFY,  Prev: GPGSM DECRYPT,  Up: GPGSM Protocol
-
-5.6.3 Signing a Message
------------------------
-
-Signing is usually done with these commands:
-
-       INPUT FD[=N] [--armor|--base64|--binary]
-
-   This tells 'GPGSM' to read the data to sign from file descriptor N.
-
-       OUTPUT FD[=M] [--armor|--base64]
-
-   Write the output to file descriptor M.  If a detached signature is
-requested, only the signature is written.
-
-       SIGN [--detached]
-
-   Sign the data set with the 'INPUT' command and write it to the sink
-set by 'OUTPUT'.  With '--detached', a detached signature is created
-(surprise).
-
-   The key used for signing is the default one or the one specified in
-the configuration file.  To get finer control over the keys, it is
-possible to use the command
-
-       SIGNER USERID
-
-   to set the signer's key.  USERID should be the internal
-representation of the key; the server may accept any other way of
-specification.  If this is a valid and trusted recipient the server does
-respond with OK, otherwise the return is an ERR with the reason why the
-key cannot be used, the signature will then not be created using this
-key.  If the policy is not to sign at all if not all keys are valid, the
-client has to take care of this.  All 'SIGNER' commands are cumulative
-until a 'RESET' is done.  Note that a 'SIGN' does not reset this list of
-signers which is in contrast to the 'RECIPIENT' command.
-
-\1f
-File: gnupg.info,  Node: GPGSM VERIFY,  Next: GPGSM GENKEY,  Prev: GPGSM SIGN,  Up: GPGSM Protocol
-
-5.6.4 Verifying a Message
--------------------------
-
-To verify a message the command:
-
-       VERIFY
-
-   is used.  It does a verify operation on the message send to the input
-FD. The result is written out using status lines.  If an output FD was
-given, the signed text will be written to that.  If the signature is a
-detached one, the server will inquire about the signed material and the
-client must provide it.
-
index abc2338..c4cb9ef 100644 (file)
@@ -1,7 +1,7 @@
 This is gnupg.info, produced by makeinfo version 6.5 from gnupg.texi.
 
-This is the 'The GNU Privacy Guard Manual' (version 2.2.26-beta25,
-December 2020).
+This is the 'The GNU Privacy Guard Manual' (version 2.2.28-beta111, June
+2021).
 
    (C) 2002, 2004, 2005, 2006, 2007, 2010 Free Software Foundation, Inc.
 (C) 2013, 2014, 2015 Werner Koch.
@@ -22,6 +22,83 @@ START-INFO-DIR-ENTRY
 END-INFO-DIR-ENTRY
 
 \1f
+File: gnupg.info,  Node: GPGSM DECRYPT,  Next: GPGSM SIGN,  Prev: GPGSM ENCRYPT,  Up: GPGSM Protocol
+
+5.6.2 Decrypting a message
+--------------------------
+
+Input and output FDs are set the same way as in encryption, but 'INPUT'
+refers to the ciphertext and 'OUTPUT' to the plaintext.  There is no
+need to set recipients.  'GPGSM' automatically strips any S/MIME headers
+from the input, so it is valid to pass an entire MIME part to the INPUT
+pipe.
+
+   The decryption is done by using the command
+
+       DECRYPT
+
+   It performs the decrypt operation after doing some check on the
+internal state (e.g.  that all needed data has been set).  Because it
+utilizes the GPG-Agent for the session key decryption, there is no need
+to ask the client for a protecting passphrase - GpgAgent takes care of
+this by requesting this from the user.
+
+\1f
+File: gnupg.info,  Node: GPGSM SIGN,  Next: GPGSM VERIFY,  Prev: GPGSM DECRYPT,  Up: GPGSM Protocol
+
+5.6.3 Signing a Message
+-----------------------
+
+Signing is usually done with these commands:
+
+       INPUT FD[=N] [--armor|--base64|--binary]
+
+   This tells 'GPGSM' to read the data to sign from file descriptor N.
+
+       OUTPUT FD[=M] [--armor|--base64]
+
+   Write the output to file descriptor M.  If a detached signature is
+requested, only the signature is written.
+
+       SIGN [--detached]
+
+   Sign the data set with the 'INPUT' command and write it to the sink
+set by 'OUTPUT'.  With '--detached', a detached signature is created
+(surprise).
+
+   The key used for signing is the default one or the one specified in
+the configuration file.  To get finer control over the keys, it is
+possible to use the command
+
+       SIGNER USERID
+
+   to set the signer's key.  USERID should be the internal
+representation of the key; the server may accept any other way of
+specification.  If this is a valid and trusted recipient the server does
+respond with OK, otherwise the return is an ERR with the reason why the
+key cannot be used, the signature will then not be created using this
+key.  If the policy is not to sign at all if not all keys are valid, the
+client has to take care of this.  All 'SIGNER' commands are cumulative
+until a 'RESET' is done.  Note that a 'SIGN' does not reset this list of
+signers which is in contrast to the 'RECIPIENT' command.
+
+\1f
+File: gnupg.info,  Node: GPGSM VERIFY,  Next: GPGSM GENKEY,  Prev: GPGSM SIGN,  Up: GPGSM Protocol
+
+5.6.4 Verifying a Message
+-------------------------
+
+To verify a message the command:
+
+       VERIFY
+
+   is used.  It does a verify operation on the message send to the input
+FD. The result is written out using status lines.  If an output FD was
+given, the signed text will be written to that.  If the signature is a
+detached one, the server will inquire about the signed material and the
+client must provide it.
+
+\1f
 File: gnupg.info,  Node: GPGSM GENKEY,  Next: GPGSM LISTKEYS,  Prev: GPGSM VERIFY,  Up: GPGSM Protocol
 
 5.6.5 Generating a Key
@@ -477,6 +554,12 @@ File: gnupg.info,  Node: Scdaemon Options,  Next: Card applications,  Prev: Scda
      Append all logging output to FILE.  This is very helpful in seeing
      what the agent actually does.  Use 'socket://' to log to socket.
 
+'--pcsc-shared'
+     Use shared mode to access the card via PC/SC. This is a somewhat
+     dangerous option because Scdaemon assumes exclusivbe access to teh
+     card and for example caches certain information from the card.  Use
+     this option only if you know what you are doing.
+
 '--pcsc-driver LIBRARY'
      Use LIBRARY to access the smartcard reader.  The current default is
      'libpcsclite.so'.  Instead of using this option you might also want
@@ -1150,7 +1233,6 @@ GnuPG comes with a couple of smaller tools:
 * gpg-connect-agent::     Communicate with a running agent.
 * dirmngr-client::        How to use the Dirmngr client tool.
 * gpgparsemail::          Parse a mail message into an annotated format
-* symcryptrun::           Call a simple symmetric encryption tool.
 * gpgtar::                Encrypt or sign files into an archive.
 
 \1f
@@ -2707,7 +2789,7 @@ tested.  The return value of this command is
      Squid's 'external_acl_type' option.
 
 \1f
-File: gnupg.info,  Node: gpgparsemail,  Next: symcryptrun,  Prev: dirmngr-client,  Up: Helper Tools
+File: gnupg.info,  Node: gpgparsemail,  Next: gpgtar,  Prev: dirmngr-client,  Up: Helper Tools
 
 9.9 Parse a mail message into an annotated format
 =================================================
@@ -2716,102 +2798,9 @@ The 'gpgparsemail' is a utility currently only useful for debugging.
 Run it with '--help' for usage information.
 
 \1f
-File: gnupg.info,  Node: symcryptrun,  Next: gpgtar,  Prev: gpgparsemail,  Up: Helper Tools
-
-9.10 Call a simple symmetric encryption tool
-============================================
-
-Sometimes simple encryption tools are already in use for a long time and
-there might be a desire to integrate them into the GnuPG framework.  The
-protocols and encryption methods might be non-standard or not even
-properly documented, so that a full-fledged encryption tool with an
-interface like 'gpg' is not doable.  'symcryptrun' provides a solution:
-It operates by calling the external encryption/decryption module and
-provides a passphrase for a key using the standard 'pinentry' based
-mechanism through 'gpg-agent'.
-
-   Note, that 'symcryptrun' is only available if GnuPG has been
-configured with '--enable-symcryptrun' at build time.
-
-* Menu:
-
-* Invoking symcryptrun::   List of all commands and options.
-
-\1f
-File: gnupg.info,  Node: Invoking symcryptrun,  Up: symcryptrun
-
-9.10.1 List of all commands and options
----------------------------------------
-
-'symcryptrun' is invoked this way:
-
-     symcryptrun --class CLASS --program PROGRAM --keyfile KEYFILE
-        [--decrypt | --encrypt] [inputfile]
-
-   For encryption, the plain text must be provided on STDIN or as the
-argument INPUTFILE, and the ciphertext will be output to STDOUT. For
-decryption vice versa.
-
-   CLASS describes the calling conventions of the external tool.
-Currently it must be given as 'confucius'.  PROGRAM is the full filename
-of that external tool.
-
-   For the class 'confucius' the option '--keyfile' is required; KEYFILE
-is the name of a file containing the secret key, which may be protected
-by a passphrase.  For detailed calling conventions, see the source code.
-
-Note, that 'gpg-agent' must be running before starting 'symcryptrun'.
-
-The following additional options may be used:
-
-'-v'
-'--verbose'
-     Output additional information while running.
-
-'-q'
-'--quiet'
-     Try to be as quiet as possible.
-
-'--homedir DIR'
-     Set the name of the home directory to DIR.  If this option is not
-     used, the home directory defaults to '~/.gnupg'.  It is only
-     recognized when given on the command line.  It also overrides any
-     home directory stated through the environment variable 'GNUPGHOME'
-     or (on Windows systems) by means of the Registry entry
-     HKCU\SOFTWARE\GNU\GNUPG:HOMEDIR.
-
-     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 named 'gpgconf.ctl' in the same directory as the tool
-     'gpgconf.exe'.  The root of the installation is then 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.
-
-'--log-file FILE'
-     Append all logging output to FILE.  Use 'socket://' to log to
-     socket.  Default is to write logging information to STDERR.
-
-The possible exit status codes of 'symcryptrun' are:
-
-'0'
-     Success.
-'1'
-     Some error occurred.
-'2'
-     No valid passphrase was provided.
-'3'
-     The operation was canceled by the user.
-
-\1f
-File: gnupg.info,  Node: gpgtar,  Prev: symcryptrun,  Up: Helper Tools
+File: gnupg.info,  Node: gpgtar,  Prev: gpgparsemail,  Up: Helper Tools
 
-9.11 Encrypt or sign files into an archive
+9.10 Encrypt or sign files into an archive
 ==========================================
 
 'gpgtar' encrypts or signs files into an archive.  It is an gpg-ized tar
@@ -4657,27 +4646,27 @@ Option Index
 \0\b[index\0\b]
 * Menu:
 
-* add-servers:                           Dirmngr Options.     (line 263)
+* add-servers:                           Dirmngr Options.     (line 311)
 * agent-program:                         GPG Configuration Options.
-                                                              (line 733)
+                                                              (line 753)
 * agent-program <1>:                     Configuration Options.
-                                                              (line  46)
+                                                              (line  55)
 * agent-program <2>:                     Invoking gpg-connect-agent.
                                                               (line  42)
-* allow-admin:                           Scdaemon Options.    (line 197)
+* allow-admin:                           Scdaemon Options.    (line 203)
 * allow-emacs-pinentry:                  Agent Options.       (line 187)
 * allow-freeform-uid:                    GPG Esoteric Options.
                                                               (line 367)
 * allow-loopback-pinentry:               Agent Options.       (line 169)
 * allow-multiple-messages:               GPG Esoteric Options.
-                                                              (line 542)
+                                                              (line 548)
 * allow-non-selfsigned-uid:              GPG Esoteric Options.
                                                               (line 362)
-* allow-ocsp:                            Dirmngr Options.     (line 280)
+* allow-ocsp:                            Dirmngr Options.     (line 328)
 * allow-preset-passphrase:               Agent Options.       (line 164)
 * allow-secret-key-import:               GPG Esoteric Options.
-                                                              (line 538)
-* allow-version-check:                   Dirmngr Options.     (line 135)
+                                                              (line 544)
+* allow-version-check:                   Dirmngr Options.     (line 138)
 * allow-weak-digest-algos:               GPG Esoteric Options.
                                                               (line 403)
 * allow-weak-key-signatures:             GPG Esoteric Options.
@@ -4689,7 +4678,7 @@ Option Index
 * ask-cert-expire:                       GPG Esoteric Options.
                                                               (line 514)
 * ask-cert-level:                        GPG Configuration Options.
-                                                              (line 347)
+                                                              (line 360)
 * ask-sig-expire:                        GPG Esoteric Options.
                                                               (line 500)
 * assume-armor:                          Input and Output.    (line  14)
@@ -4700,23 +4689,23 @@ Option Index
 * attribute-file:                        GPG Esoteric Options.
                                                               (line  98)
 * auto-check-trustdb:                    GPG Configuration Options.
-                                                              (line 720)
+                                                              (line 740)
 * auto-expand-secmem:                    Agent Options.       (line 419)
 * auto-issuer-key-retrieve:              Certificate Options. (line  62)
 * auto-key-import:                       GPG Configuration Options.
-                                                              (line 554)
+                                                              (line 576)
 * auto-key-locate:                       GPG Configuration Options.
-                                                              (line 494)
+                                                              (line 509)
 * auto-key-retrieve:                     GPG Configuration Options.
-                                                              (line 566)
+                                                              (line 588)
 * base64:                                Input and Output.    (line  11)
 * batch:                                 Agent Options.       (line  48)
 * batch <1>:                             GPG Configuration Options.
-                                                              (line  43)
+                                                              (line  45)
 * bzip2-compress-level:                  GPG Configuration Options.
-                                                              (line 321)
+                                                              (line 334)
 * bzip2-decompress-lowmem:               GPG Configuration Options.
-                                                              (line 331)
+                                                              (line 344)
 * c:                                     Dirmngr Options.     (line  87)
 * cache-cert:                            dirmngr-client.      (line  72)
 * call-dirmngr:                          Operational GPGSM Commands.
@@ -4724,10 +4713,10 @@ Option Index
 * call-protect-tool:                     Operational GPGSM Commands.
                                                               (line  41)
 * card-edit:                             Operational GPG Commands.
-                                                              (line 205)
+                                                              (line 210)
 * card-status:                           Operational GPG Commands.
-                                                              (line 211)
-* card-timeout:                          Scdaemon Options.    (line 173)
+                                                              (line 216)
+* card-timeout:                          Scdaemon Options.    (line 179)
 * cert-digest-algo:                      GPG Esoteric Options.
                                                               (line 238)
 * cert-notation:                         GPG Esoteric Options.
@@ -4735,18 +4724,18 @@ Option Index
 * cert-policy-url:                       GPG Esoteric Options.
                                                               (line 160)
 * change-passphrase:                     OpenPGP Key Management.
-                                                              (line 449)
+                                                              (line 452)
 * change-passphrase <1>:                 Certificate Management.
                                                               (line 109)
 * change-pin:                            Operational GPG Commands.
-                                                              (line 214)
+                                                              (line 219)
 * check-passphrase-pattern:              Agent Options.       (line 240)
 * check-signatures:                      Operational GPG Commands.
                                                               (line 140)
 * check-sigs:                            Operational GPG Commands.
                                                               (line 141)
 * check-trustdb:                         Operational GPG Commands.
-                                                              (line 344)
+                                                              (line 349)
 * cipher-algo:                           GPG Esoteric Options.
                                                               (line 199)
 * cipher-algo <1>:                       CMS Options.         (line  13)
@@ -4763,23 +4752,23 @@ Option Index
                                                               (line 103)
 * compliance:                            Compliance Options.  (line  67)
 * compliant-needed:                      GPG Configuration Options.
-                                                              (line 695)
+                                                              (line 715)
 * compress-algo:                         GPG Esoteric Options.
                                                               (line 215)
 * compress-level:                        GPG Configuration Options.
-                                                              (line 321)
-* connect-quick-timeout:                 Dirmngr Options.     (line 122)
-* connect-timeout:                       Dirmngr Options.     (line 122)
+                                                              (line 334)
+* connect-quick-timeout:                 Dirmngr Options.     (line 125)
+* connect-timeout:                       Dirmngr Options.     (line 125)
 * create:                                gpgtar.              (line  16)
 * create-socketdir:                      Invoking gpgconf.    (line  91)
 * csh:                                   Agent Options.       (line 138)
 * csh <1>:                               Dirmngr Options.     (line  87)
-* ctapi-driver:                          Scdaemon Options.    (line 150)
+* ctapi-driver:                          Scdaemon Options.    (line 156)
 * daemon:                                Agent Commands.      (line  27)
 * daemon <1>:                            Dirmngr Commands.    (line  27)
 * daemon <2>:                            Scdaemon Commands.   (line  31)
 * dearmor:                               Operational GPG Commands.
-                                                              (line 398)
+                                                              (line 403)
 * debug:                                 Agent Options.       (line  82)
 * debug <1>:                             Dirmngr Options.     (line  59)
 * debug <2>:                             GPG Esoteric Options.
@@ -4827,16 +4816,16 @@ Option Index
 * default-cert-expire:                   GPG Esoteric Options.
                                                               (line 520)
 * default-cert-level:                    GPG Configuration Options.
-                                                              (line 355)
+                                                              (line 368)
 * default-key:                           GPG Configuration Options.
                                                               (line  10)
 * default-key <1>:                       Input and Output.    (line  34)
 * default-keyserver-url:                 GPG Esoteric Options.
-                                                              (line 571)
+                                                              (line 577)
 * default-new-key-algo STRING:           GPG Esoteric Options.
                                                               (line 527)
 * default-preference-list:               GPG Esoteric Options.
-                                                              (line 566)
+                                                              (line 572)
 * default-recipient:                     GPG Configuration Options.
                                                               (line  19)
 * default-recipient-self:                GPG Configuration Options.
@@ -4844,14 +4833,14 @@ Option Index
 * default-sig-expire:                    GPG Esoteric Options.
                                                               (line 506)
 * delete-keys:                           Operational GPG Commands.
-                                                              (line 219)
+                                                              (line 224)
 * delete-keys <1>:                       Certificate Management.
                                                               (line  60)
 * delete-secret-and-public-key:          Operational GPG Commands.
-                                                              (line 239)
+                                                              (line 244)
 * delete-secret-keys:                    Operational GPG Commands.
-                                                              (line 228)
-* deny-admin:                            Scdaemon Options.    (line 197)
+                                                              (line 233)
+* deny-admin:                            Scdaemon Options.    (line 203)
 * desig-revoke:                          OpenPGP Key Management.
                                                               (line 134)
 * detach-sign:                           Operational GPG Commands.
@@ -4864,30 +4853,30 @@ Option Index
 * dirmngr:                               Invoking gpg-connect-agent.
                                                               (line  54)
 * dirmngr-program:                       GPG Configuration Options.
-                                                              (line 740)
+                                                              (line 760)
 * dirmngr-program <1>:                   Configuration Options.
-                                                              (line  52)
+                                                              (line  61)
 * dirmngr-program <2>:                   Invoking gpg-connect-agent.
                                                               (line  49)
-* disable-application:                   Scdaemon Options.    (line 207)
-* disable-ccid:                          Scdaemon Options.    (line 155)
+* disable-application:                   Scdaemon Options.    (line 213)
+* disable-ccid:                          Scdaemon Options.    (line 161)
 * disable-check-own-socket:              Agent Options.       (line 305)
 * disable-check-own-socket <1>:          Dirmngr Options.     (line  79)
 * disable-cipher-algo:                   GPG Esoteric Options.
                                                               (line 246)
 * disable-crl-checks:                    Certificate Options. (line  13)
 * disable-dsa2:                          GPG Configuration Options.
-                                                              (line 191)
+                                                              (line 196)
 * disable-extended-key-format:           Agent Options.       (line 351)
-* disable-http:                          Dirmngr Options.     (line 202)
-* disable-ipv4:                          Dirmngr Options.     (line 196)
-* disable-ipv6:                          Dirmngr Options.     (line 196)
+* disable-http:                          Dirmngr Options.     (line 218)
+* disable-ipv4:                          Dirmngr Options.     (line 212)
+* disable-ipv6:                          Dirmngr Options.     (line 212)
 * disable-large-rsa:                     GPG Configuration Options.
-                                                              (line 182)
-* disable-ldap:                          Dirmngr Options.     (line 199)
+                                                              (line 187)
+* disable-ldap:                          Dirmngr Options.     (line 215)
 * disable-mdc:                           OpenPGP Options.     (line  25)
 * disable-ocsp:                          Certificate Options. (line  53)
-* disable-pinpad:                        Scdaemon Options.    (line 194)
+* disable-pinpad:                        Scdaemon Options.    (line 200)
 * disable-policy-checks:                 Certificate Options. (line   8)
 * disable-pubkey-algo:                   GPG Esoteric Options.
                                                               (line 251)
@@ -4896,17 +4885,17 @@ Option Index
 * disable-trusted-cert-crl-check:        Certificate Options. (line  24)
 * display:                               Agent Options.       (line 323)
 * display-charset:                       GPG Configuration Options.
-                                                              (line 276)
+                                                              (line 281)
 * display-charset:iso-8859-1:            GPG Configuration Options.
-                                                              (line 285)
-* display-charset:iso-8859-15:           GPG Configuration Options.
                                                               (line 291)
+* display-charset:iso-8859-15:           GPG Configuration Options.
+                                                              (line 297)
 * display-charset:iso-8859-2:            GPG Configuration Options.
-                                                              (line 288)
-* display-charset:koi8-r:                GPG Configuration Options.
                                                               (line 294)
+* display-charset:koi8-r:                GPG Configuration Options.
+                                                              (line 300)
 * display-charset:utf-8:                 GPG Configuration Options.
-                                                              (line 297)
+                                                              (line 303)
 * dry-run:                               GPG Esoteric Options.
                                                               (line   8)
 * dry-run <1>:                           gpgtar.              (line  72)
@@ -4928,32 +4917,32 @@ Option Index
 * dump-secret-keys:                      Certificate Management.
                                                               (line  43)
 * edit-card:                             Operational GPG Commands.
-                                                              (line 204)
+                                                              (line 209)
 * edit-key:                              OpenPGP Key Management.
                                                               (line 139)
 * emit-version:                          GPG Esoteric Options.
                                                               (line 114)
 * enable-crl-checks:                     Certificate Options. (line  13)
 * enable-dsa2:                           GPG Configuration Options.
-                                                              (line 191)
+                                                              (line 196)
 * enable-extended-key-format:            Agent Options.       (line 351)
 * enable-issuer-based-crl-check:         Certificate Options. (line  45)
 * enable-large-rsa:                      GPG Configuration Options.
-                                                              (line 182)
+                                                              (line 187)
 * enable-ocsp:                           Certificate Options. (line  53)
 * enable-passphrase-history:             Agent Options.       (line 259)
-* enable-pinpad-varlen:                  Scdaemon Options.    (line 186)
+* enable-pinpad-varlen:                  Scdaemon Options.    (line 192)
 * enable-policy-checks:                  Certificate Options. (line   8)
 * enable-progress-filter:                GPG Esoteric Options.
                                                               (line  69)
 * enable-putty-support:                  Agent Options.       (line 365)
 * enable-special-filenames:              GPG Esoteric Options.
-                                                              (line 553)
+                                                              (line 559)
 * enable-special-filenames <1>:          gpgv.                (line  97)
 * enable-ssh-support:                    Agent Options.       (line 365)
 * enable-trusted-cert-crl-check:         Certificate Options. (line  24)
 * enarmor:                               Operational GPG Commands.
-                                                              (line 398)
+                                                              (line 403)
 * encrypt:                               Operational GPG Commands.
                                                               (line  32)
 * encrypt <1>:                           Operational GPGSM Commands.
@@ -4969,13 +4958,13 @@ Option Index
 * exec:                                  Invoking gpg-connect-agent.
                                                               (line  65)
 * exec-path:                             GPG Configuration Options.
-                                                              (line 220)
+                                                              (line 225)
 * exit-on-status-write-error:            GPG Configuration Options.
-                                                              (line 769)
+                                                              (line 789)
 * expert:                                GPG Configuration Options.
-                                                              (line 824)
+                                                              (line 844)
 * export:                                Operational GPG Commands.
-                                                              (line 245)
+                                                              (line 250)
 * export <1>:                            Certificate Management.
                                                               (line  69)
 * export-filter:                         GPG Input and Output.
@@ -4983,7 +4972,7 @@ Option Index
 * export-options:                        GPG Input and Output.
                                                               (line 220)
 * export-ownertrust:                     Operational GPG Commands.
-                                                              (line 359)
+                                                              (line 364)
 * export-secret-key-p12:                 Certificate Management.
                                                               (line  82)
 * export-secret-key-p8:                  Certificate Management.
@@ -4991,11 +4980,11 @@ Option Index
 * export-secret-key-raw:                 Certificate Management.
                                                               (line  91)
 * export-secret-keys:                    Operational GPG Commands.
-                                                              (line 263)
+                                                              (line 268)
 * export-secret-subkeys:                 Operational GPG Commands.
-                                                              (line 263)
+                                                              (line 268)
 * export-ssh-key:                        Operational GPG Commands.
-                                                              (line 285)
+                                                              (line 290)
 * extra-digest-algo:                     Esoteric Options.    (line   7)
 * extra-socket:                          Agent Options.       (line 337)
 * extract:                               gpgtar.              (line  19)
@@ -5007,9 +4996,9 @@ Option Index
                                                               (line 455)
 * fetch-crl:                             Dirmngr Commands.    (line  52)
 * fetch-keys:                            Operational GPG Commands.
-                                                              (line 328)
+                                                              (line 333)
 * fingerprint:                           Operational GPG Commands.
-                                                              (line 189)
+                                                              (line 194)
 * fixed-list-mode:                       GPG Input and Output.
                                                               (line 284)
 * flush:                                 Dirmngr Commands.    (line  62)
@@ -5020,6 +5009,8 @@ Option Index
 * force-crl-refresh:                     Certificate Options. (line  35)
 * force-default-responder:               dirmngr-client.      (line  64)
 * force-mdc:                             OpenPGP Options.     (line  25)
+* force-sign-key:                        GPG Esoteric Options.
+                                                              (line 538)
 * forget:                                Invoking gpg-preset-passphrase.
                                                               (line  26)
 * from:                                  gpg-wks-server.      (line  54)
@@ -5032,9 +5023,9 @@ Option Index
 * gen-key <1>:                           Certificate Management.
                                                               (line   8)
 * gen-prime:                             Operational GPG Commands.
-                                                              (line 393)
+                                                              (line 398)
 * gen-random:                            Operational GPG Commands.
-                                                              (line 386)
+                                                              (line 391)
 * gen-revoke:                            OpenPGP Key Management.
                                                               (line 120)
 * generate-designated-revocation:        OpenPGP Key Management.
@@ -5048,12 +5039,12 @@ Option Index
 * gnupg:                                 Compliance Options.  (line  12)
 * gpg:                                   gpgtar.              (line 110)
 * gpg-agent-info:                        GPG Configuration Options.
-                                                              (line 730)
+                                                              (line 750)
 * gpg-args:                              gpgtar.              (line 113)
 * gpgconf-list:                          GPG Esoteric Options.
-                                                              (line 587)
+                                                              (line 593)
 * gpgconf-test:                          GPG Esoteric Options.
-                                                              (line 591)
+                                                              (line 597)
 * grab:                                  Agent Options.       (line 145)
 * group:                                 GPG Key related Options.
                                                               (line  55)
@@ -5080,7 +5071,7 @@ Option Index
                                                               (line  29)
 * homedir:                               Agent Options.       (line  17)
 * homedir <1>:                           GPG Configuration Options.
-                                                              (line 255)
+                                                              (line 260)
 * homedir <2>:                           Configuration Options.
                                                               (line  16)
 * homedir <3>:                           Scdaemon Options.    (line  13)
@@ -5088,27 +5079,25 @@ Option Index
 * homedir <5>:                           Invoking gpgconf.    (line 115)
 * homedir <6>:                           Invoking gpg-connect-agent.
                                                               (line  21)
-* homedir <7>:                           Invoking symcryptrun.
-                                                              (line  36)
-* honor-http-proxy:                      Dirmngr Options.     (line 221)
-* http-proxy:                            Dirmngr Options.     (line 225)
+* honor-http-proxy:                      Dirmngr Options.     (line 237)
+* http-proxy:                            Dirmngr Options.     (line 241)
 * ignore-cache-for-signing:              Agent Options.       (line 192)
-* ignore-cert-extension:                 Dirmngr Options.     (line 329)
+* ignore-cert-extension:                 Dirmngr Options.     (line 377)
 * ignore-cert-extension <1>:             Certificate Options. (line  82)
 * ignore-crc-error:                      GPG Esoteric Options.
                                                               (line 387)
-* ignore-http-dp:                        Dirmngr Options.     (line 205)
-* ignore-ldap-dp:                        Dirmngr Options.     (line 212)
+* ignore-http-dp:                        Dirmngr Options.     (line 221)
+* ignore-ldap-dp:                        Dirmngr Options.     (line 228)
 * ignore-mdc-error:                      GPG Esoteric Options.
                                                               (line 394)
-* ignore-ocsp-service-url:               Dirmngr Options.     (line 217)
+* ignore-ocsp-service-url:               Dirmngr Options.     (line 233)
 * ignore-time-conflict:                  GPG Esoteric Options.
                                                               (line 373)
 * ignore-time-conflict <1>:              gpgv.                (line  63)
 * ignore-valid-from:                     GPG Esoteric Options.
                                                               (line 380)
 * import:                                Operational GPG Commands.
-                                                              (line 299)
+                                                              (line 304)
 * import <1>:                            Certificate Management.
                                                               (line  99)
 * import-filter:                         GPG Input and Output.
@@ -5116,7 +5105,7 @@ Option Index
 * import-options:                        GPG Input and Output.
                                                               (line  45)
 * import-ownertrust:                     Operational GPG Commands.
-                                                              (line 365)
+                                                              (line 370)
 * include-certs:                         CMS Options.         (line   7)
 * include-key-block:                     OpenPGP Options.     (line  38)
 * input-size-hint:                       GPG Input and Output.
@@ -5208,38 +5197,43 @@ Option Index
 * keyedit:uid:                           OpenPGP Key Management.
                                                               (line 144)
 * keyid-format:                          GPG Configuration Options.
-                                                              (line 603)
+                                                              (line 625)
 * keyring:                               GPG Configuration Options.
-                                                              (line 224)
+                                                              (line 229)
 * keyring <1>:                           gpgv.                (line  38)
-* keyserver:                             Dirmngr Options.     (line 145)
+* keyserver:                             Dirmngr Options.     (line 148)
 * keyserver <1>:                         GPG Configuration Options.
-                                                              (line 612)
+                                                              (line 634)
+* keyserver <2>:                         Configuration Options.
+                                                              (line  44)
 * keyserver-options:                     GPG Configuration Options.
-                                                              (line 635)
+                                                              (line 653)
 * kill:                                  Invoking gpgconf.    (line  84)
 * known-notation:                        GPG Esoteric Options.
                                                               (line 151)
 * launch:                                Invoking gpgconf.    (line  76)
 * lc-ctype:                              Agent Options.       (line 323)
 * lc-messages:                           Agent Options.       (line 323)
-* ldap-proxy:                            Dirmngr Options.     (line 230)
-* ldapserverlist-file:                   Dirmngr Options.     (line 241)
-* ldaptimeout:                           Dirmngr Options.     (line 259)
+* ldap-proxy:                            Dirmngr Options.     (line 246)
+* ldapserver:                            Dirmngr Options.     (line 276)
+* ldapserver <1>:                        Configuration Options.
+                                                              (line  44)
+* ldapserverlist-file:                   Dirmngr Options.     (line 257)
+* ldaptimeout:                           Dirmngr Options.     (line 307)
 * learn-card:                            Certificate Management.
                                                               (line 104)
 * legacy-list-mode:                      GPG Input and Output.
                                                               (line 290)
 * limit-card-insert-tries:               GPG Configuration Options.
-                                                              (line 778)
+                                                              (line 798)
 * list-archive:                          gpgtar.              (line  39)
 * list-chain:                            Certificate Management.
                                                               (line  32)
 * list-config:                           GPG Esoteric Options.
-                                                              (line 576)
+                                                              (line 582)
 * list-crls:                             Dirmngr Commands.    (line  40)
 * list-gcrypt-config:                    GPG Esoteric Options.
-                                                              (line 584)
+                                                              (line 590)
 * list-keys:                             Operational GPG Commands.
                                                               (line 119)
 * list-keys <1>:                         Certificate Management.
@@ -5249,37 +5243,37 @@ Option Index
 * list-only:                             GPG Esoteric Options.
                                                               (line  11)
 * list-options:                          GPG Configuration Options.
-                                                              (line  66)
+                                                              (line  71)
 * list-options:show-keyring:             GPG Configuration Options.
-                                                              (line 114)
+                                                              (line 119)
 * list-options:show-keyserver-urls:      GPG Configuration Options.
-                                                              (line  98)
+                                                              (line 103)
 * list-options:show-notations:           GPG Configuration Options.
-                                                              (line  94)
+                                                              (line  99)
 * list-options:show-only-fpr-mbox:       GPG Configuration Options.
-                                                              (line 129)
+                                                              (line 134)
 * list-options:show-photos:              GPG Configuration Options.
-                                                              (line  74)
+                                                              (line  79)
 * list-options:show-policy-urls:         GPG Configuration Options.
-                                                              (line  88)
+                                                              (line  93)
 * list-options:show-sig-expire:          GPG Configuration Options.
-                                                              (line 118)
+                                                              (line 123)
 * list-options:show-sig-subpackets:      GPG Configuration Options.
-                                                              (line 122)
+                                                              (line 127)
 * list-options:show-std-notations:       GPG Configuration Options.
-                                                              (line  94)
+                                                              (line  99)
 * list-options:show-uid-validity:        GPG Configuration Options.
-                                                              (line 102)
+                                                              (line 107)
 * list-options:show-unusable-subkeys:    GPG Configuration Options.
-                                                              (line 110)
+                                                              (line 115)
 * list-options:show-unusable-uids:       GPG Configuration Options.
-                                                              (line 106)
+                                                              (line 111)
 * list-options:show-usage:               GPG Configuration Options.
-                                                              (line  82)
+                                                              (line  87)
 * list-options:show-user-notations:      GPG Configuration Options.
-                                                              (line  94)
+                                                              (line  99)
 * list-packets:                          Operational GPG Commands.
-                                                              (line 198)
+                                                              (line 203)
 * list-secret-keys:                      Operational GPG Commands.
                                                               (line 130)
 * list-secret-keys <1>:                  Certificate Management.
@@ -5289,7 +5283,7 @@ Option Index
 * list-sigs:                             GPG Esoteric Options.
                                                               (line 444)
 * listen-backlog:                        Agent Options.       (line 333)
-* listen-backlog <1>:                    Dirmngr Options.     (line 131)
+* listen-backlog <1>:                    Dirmngr Options.     (line 134)
 * listen-backlog <2>:                    Scdaemon Options.    (line 135)
 * load-crl:                              Dirmngr Commands.    (line  44)
 * load-crl <1>:                          dirmngr-client.      (line  80)
@@ -5302,21 +5296,19 @@ Option Index
 * locate-keys:                           Operational GPG Commands.
                                                               (line 170)
 * lock-multiple:                         GPG Configuration Options.
-                                                              (line 758)
+                                                              (line 778)
 * lock-never:                            GPG Configuration Options.
-                                                              (line 762)
+                                                              (line 782)
 * lock-once:                             GPG Configuration Options.
-                                                              (line 754)
+                                                              (line 774)
 * log-file:                              Agent Options.       (line 151)
 * log-file <1>:                          Dirmngr Options.     (line  30)
 * log-file <2>:                          GPG Esoteric Options.
                                                               (line  86)
 * log-file <3>:                          Configuration Options.
-                                                              (line  73)
+                                                              (line  82)
 * log-file <4>:                          Scdaemon Options.    (line 140)
 * log-file <5>:                          gpgv.                (line  59)
-* log-file <6>:                          Invoking symcryptrun.
-                                                              (line  57)
 * logger-fd:                             GPG Esoteric Options.
                                                               (line  82)
 * logger-fd <1>:                         gpgv.                (line  56)
@@ -5324,44 +5316,44 @@ Option Index
 * lsign-key:                             OpenPGP Key Management.
                                                               (line 392)
 * mangle-dos-filenames:                  GPG Configuration Options.
-                                                              (line 339)
+                                                              (line 352)
 * marginals-needed:                      GPG Configuration Options.
-                                                              (line 699)
+                                                              (line 719)
 * max-cache-ttl:                         Agent Options.       (line 213)
 * max-cache-ttl-ssh:                     Agent Options.       (line 219)
 * max-cert-depth:                        GPG Configuration Options.
-                                                              (line 707)
+                                                              (line 727)
 * max-output:                            GPG Input and Output.
                                                               (line  19)
 * max-passphrase-days:                   Agent Options.       (line 254)
-* max-replies:                           Dirmngr Options.     (line 326)
+* max-replies:                           Dirmngr Options.     (line 374)
 * min-cert-level:                        GPG Configuration Options.
-                                                              (line 384)
+                                                              (line 397)
 * min-passphrase-len:                    Agent Options.       (line 229)
 * min-passphrase-nonalpha:               Agent Options.       (line 234)
 * multi-server:                          Scdaemon Commands.   (line  26)
 * multifile:                             Operational GPG Commands.
                                                               (line 100)
-* nameserver:                            Dirmngr Options.     (line 188)
+* nameserver:                            Dirmngr Options.     (line 204)
 * no:                                    GPG Configuration Options.
-                                                              (line  63)
+                                                              (line  67)
 * no-allow-external-cache:               Agent Options.       (line 177)
 * no-allow-loopback-pinentry:            Agent Options.       (line 169)
 * no-allow-mark-trusted:                 Agent Options.       (line 159)
 * no-armor:                              GPG Input and Output.
                                                               (line  12)
 * no-auto-key-import:                    GPG Configuration Options.
-                                                              (line 554)
+                                                              (line 576)
 * no-auto-key-retrieve:                  GPG Configuration Options.
-                                                              (line 566)
+                                                              (line 588)
 * no-autostart:                          GPG Configuration Options.
-                                                              (line 747)
+                                                              (line 767)
 * no-autostart <1>:                      Configuration Options.
-                                                              (line  62)
+                                                              (line  71)
 * no-autostart <2>:                      Invoking gpg-connect-agent.
                                                               (line  77)
 * no-batch:                              GPG Configuration Options.
-                                                              (line  43)
+                                                              (line  45)
 * no-common-certs-import:                Esoteric Options.    (line 132)
 * no-default-keyring:                    GPG Esoteric Options.
                                                               (line 424)
@@ -5372,12 +5364,12 @@ Option Index
 * no-encrypt-to:                         GPG Key related Options.
                                                               (line  51)
 * no-expensive-trust-checks:             GPG Esoteric Options.
-                                                              (line 558)
+                                                              (line 564)
 * no-ext-connect:                        Invoking gpg-connect-agent.
                                                               (line  72)
 * no-grab:                               Agent Options.       (line 145)
 * no-greeting:                           GPG Configuration Options.
-                                                              (line 792)
+                                                              (line 812)
 * no-groups:                             GPG Key related Options.
                                                               (line  73)
 * no-keyring:                            GPG Esoteric Options.
@@ -5385,44 +5377,44 @@ Option Index
 * no-literal:                            GPG Esoteric Options.
                                                               (line 463)
 * no-mangle-dos-filenames:               GPG Configuration Options.
-                                                              (line 339)
+                                                              (line 352)
 * no-options:                            GPG Configuration Options.
-                                                              (line 314)
+                                                              (line 327)
 * no-random-seed-file:                   GPG Configuration Options.
-                                                              (line 786)
+                                                              (line 806)
 * no-secmem-warning:                     GPG Configuration Options.
-                                                              (line 795)
+                                                              (line 815)
 * no-secmem-warning <1>:                 Configuration Options.
-                                                              (line  69)
+                                                              (line  78)
 * no-sig-cache:                          GPG Configuration Options.
-                                                              (line 710)
+                                                              (line 730)
 * no-skip-hidden-recipients:             GPG Key related Options.
                                                               (line 108)
 * no-symkey-cache:                       GPG Esoteric Options.
                                                               (line 337)
 * no-tty:                                GPG Configuration Options.
-                                                              (line  55)
+                                                              (line  58)
 * no-use-standard-socket:                Agent Options.       (line 313)
 * no-use-tor:                            Dirmngr Options.     (line  98)
 * no-verbose:                            GPG Configuration Options.
-                                                              (line  36)
+                                                              (line  37)
 * not-dash-escaped:                      GPG Esoteric Options.
                                                               (line 266)
 * null:                                  gpgtar.              (line  86)
 * ocsp:                                  dirmngr-client.      (line  61)
-* ocsp-current-period:                   Dirmngr Options.     (line 321)
-* ocsp-max-clock-skew:                   Dirmngr Options.     (line 313)
-* ocsp-max-period:                       Dirmngr Options.     (line 317)
-* ocsp-responder:                        Dirmngr Options.     (line 287)
-* ocsp-signer:                           Dirmngr Options.     (line 292)
-* only-ldap-proxy:                       Dirmngr Options.     (line 236)
+* ocsp-current-period:                   Dirmngr Options.     (line 369)
+* ocsp-max-clock-skew:                   Dirmngr Options.     (line 361)
+* ocsp-max-period:                       Dirmngr Options.     (line 365)
+* ocsp-responder:                        Dirmngr Options.     (line 335)
+* ocsp-signer:                           Dirmngr Options.     (line 340)
+* only-ldap-proxy:                       Dirmngr Options.     (line 252)
 * openpgp:                               Compliance Options.  (line  19)
 * openpgp <1>:                           gpgtar.              (line  95)
 * options:                               Agent Options.       (line  10)
 * options <1>:                           Dirmngr Options.     (line  11)
 * options <2>:                           Dirmngr Options.     (line  16)
 * options <3>:                           GPG Configuration Options.
-                                                              (line 309)
+                                                              (line 322)
 * options <4>:                           Configuration Options.
                                                               (line  10)
 * options <5>:                           Scdaemon Options.    (line   7)
@@ -5448,13 +5440,14 @@ Option Index
 * passphrase-repeat:                     GPG Esoteric Options.
                                                               (line 283)
 * passwd:                                OpenPGP Key Management.
-                                                              (line 450)
+                                                              (line 453)
 * passwd <1>:                            Certificate Management.
                                                               (line 110)
-* pcsc-driver:                           Scdaemon Options.    (line 144)
+* pcsc-driver:                           Scdaemon Options.    (line 150)
+* pcsc-shared:                           Scdaemon Options.    (line 144)
 * pem:                                   dirmngr-client.      (line  58)
 * permission-warning:                    GPG Configuration Options.
-                                                              (line 798)
+                                                              (line 818)
 * personal-cipher-preferences:           OpenPGP Options.     (line  46)
 * personal-compress-preferences:         OpenPGP Options.     (line  64)
 * personal-digest-preferences:           OpenPGP Options.     (line  55)
@@ -5462,7 +5455,7 @@ Option Index
 * pgp7:                                  Compliance Options.  (line  54)
 * pgp8:                                  Compliance Options.  (line  60)
 * photo-viewer:                          GPG Configuration Options.
-                                                              (line 197)
+                                                              (line 202)
 * pinentry-invisible-char:               Agent Options.       (line 262)
 * pinentry-mode:                         GPG Esoteric Options.
                                                               (line 322)
@@ -5472,25 +5465,23 @@ Option Index
 * pinentry-touch-file:                   Agent Options.       (line 286)
 * ping:                                  dirmngr-client.      (line  69)
 * policy-file:                           Configuration Options.
-                                                              (line  43)
+                                                              (line  52)
 * prefer-system-dirmngr:                 Configuration Options.
-                                                              (line  56)
+                                                              (line  65)
 * preserve-permissions:                  GPG Esoteric Options.
-                                                              (line 561)
+                                                              (line 567)
 * preset:                                Invoking gpg-preset-passphrase.
                                                               (line  22)
 * primary-keyring:                       GPG Configuration Options.
-                                                              (line 243)
+                                                              (line 248)
 * print-md:                              Operational GPG Commands.
-                                                              (line 381)
+                                                              (line 386)
 * q:                                     Invoking gpg-connect-agent.
                                                               (line  18)
-* q <1>:                                 Invoking symcryptrun.
-                                                              (line  33)
 * quick-add-key:                         OpenPGP Key Management.
                                                               (line  69)
 * quick-add-uid:                         OpenPGP Key Management.
-                                                              (line 417)
+                                                              (line 420)
 * quick-gen-key:                         OpenPGP Key Management.
                                                               (line  10)
 * quick-generate-key:                    OpenPGP Key Management.
@@ -5498,56 +5489,54 @@ Option Index
 * quick-lsign-key:                       OpenPGP Key Management.
                                                               (line 398)
 * quick-revoke-sig:                      OpenPGP Key Management.
-                                                              (line 432)
+                                                              (line 435)
 * quick-revoke-uid:                      OpenPGP Key Management.
-                                                              (line 424)
+                                                              (line 427)
 * quick-set-expire:                      OpenPGP Key Management.
                                                               (line  60)
 * quick-set-primary-uid:                 OpenPGP Key Management.
-                                                              (line 442)
+                                                              (line 445)
 * quick-sign-key:                        OpenPGP Key Management.
                                                               (line 398)
 * quiet:                                 Agent Options.       (line  45)
 * quiet <1>:                             GPG Configuration Options.
-                                                              (line  39)
+                                                              (line  40)
 * quiet <2>:                             gpgv.                (line  35)
 * quiet <3>:                             Invoking gpgconf.    (line 112)
 * quiet <4>:                             Invoking gpg-connect-agent.
                                                               (line  18)
 * quiet <5>:                             dirmngr-client.      (line  48)
-* quiet <6>:                             Invoking symcryptrun.
-                                                              (line  33)
-* quiet <7>:                             gpgtar.              (line  65)
-* quiet <8>:                             gpg-wks-client.      (line 122)
-* quiet <9>:                             gpg-wks-server.      (line  81)
+* quiet <6>:                             gpgtar.              (line  65)
+* quiet <7>:                             gpg-wks-client.      (line 122)
+* quiet <8>:                             gpg-wks-server.      (line  81)
 * raw-socket:                            Invoking gpg-connect-agent.
                                                               (line  59)
-* reader-port:                           Scdaemon Options.    (line 161)
+* reader-port:                           Scdaemon Options.    (line 167)
 * rebuild-keydb-caches:                  Operational GPG Commands.
-                                                              (line 375)
+                                                              (line 380)
 * receive-keys:                          Operational GPG Commands.
-                                                              (line 308)
+                                                              (line 313)
 * recipient:                             GPG Key related Options.
                                                               (line   8)
 * recipient <1>:                         Input and Output.    (line  46)
 * recipient <2>:                         gpgtar.              (line  49)
 * recipient-file:                        GPG Key related Options.
                                                               (line  22)
-* recursive-resolver:                    Dirmngr Options.     (line 114)
+* recursive-resolver:                    Dirmngr Options.     (line 117)
 * recv-keys:                             Operational GPG Commands.
-                                                              (line 309)
+                                                              (line 314)
 * refresh-keys:                          Operational GPG Commands.
-                                                              (line 312)
+                                                              (line 317)
 * reload:                                Invoking gpgconf.    (line  70)
 * remove-socketdir:                      Invoking gpgconf.    (line  97)
 * request-origin:                        GPG Esoteric Options.
                                                               (line 342)
 * request-origin <1>:                    Esoteric Options.    (line 124)
 * require-cross-certification:           GPG Configuration Options.
-                                                              (line 817)
+                                                              (line 837)
 * require-secmem:                        GPG Configuration Options.
-                                                              (line 812)
-* resolver-timeout:                      Dirmngr Options.     (line 117)
+                                                              (line 832)
+* resolver-timeout:                      Dirmngr Options.     (line 120)
 * rfc2440:                               Compliance Options.  (line  37)
 * rfc4880:                               Compliance Options.  (line  25)
 * rfc4880bis:                            Compliance Options.  (line  30)
@@ -5562,13 +5551,13 @@ Option Index
 * s2k-mode:                              OpenPGP Options.     (line  83)
 * scdaemon-program:                      Agent Options.       (line 295)
 * search-keys:                           Operational GPG Commands.
-                                                              (line 318)
+                                                              (line 323)
 * secret-keyring:                        GPG Configuration Options.
-                                                              (line 238)
+                                                              (line 243)
 * send:                                  gpg-wks-client.      (line  65)
 * send <1>:                              gpg-wks-server.      (line  60)
 * send-keys:                             Operational GPG Commands.
-                                                              (line 252)
+                                                              (line 257)
 * sender:                                GPG Key related Options.
                                                               (line  81)
 * server:                                Agent Commands.      (line  23)
@@ -5589,7 +5578,7 @@ Option Index
 * sh <1>:                                Dirmngr Options.     (line  87)
 * show-keyring:                          Deprecated Options.  (line  16)
 * show-keys:                             Operational GPG Commands.
-                                                              (line 180)
+                                                              (line 185)
 * show-notation:                         Deprecated Options.  (line  25)
 * show-photos:                           Deprecated Options.  (line   8)
 * show-policy-url:                       Deprecated Options.  (line  33)
@@ -5615,7 +5604,7 @@ Option Index
                                                               (line 435)
 * squid-mode:                            dirmngr-client.      (line 101)
 * ssh-fingerprint-digest:                Agent Options.       (line 413)
-* standard-resolver:                     Dirmngr Options.     (line 107)
+* standard-resolver:                     Dirmngr Options.     (line 110)
 * status-fd:                             GPG Esoteric Options.
                                                               (line  74)
 * status-fd <1>:                         gpgv.                (line  52)
@@ -5638,29 +5627,29 @@ Option Index
 * time-only:                             watchgnupg.          (line  30)
 * tls-debug:                             Dirmngr Options.     (line  69)
 * tofu-default-policy:                   GPG Configuration Options.
-                                                              (line 703)
+                                                              (line 723)
 * tofu-policy:                           Operational GPG Commands.
-                                                              (line 403)
+                                                              (line 408)
 * trust-model:                           GPG Configuration Options.
-                                                              (line 397)
+                                                              (line 412)
 * trust-model:always:                    GPG Configuration Options.
-                                                              (line 478)
+                                                              (line 493)
 * trust-model:auto:                      GPG Configuration Options.
-                                                              (line 487)
+                                                              (line 502)
 * trust-model:classic:                   GPG Configuration Options.
-                                                              (line 405)
+                                                              (line 420)
 * trust-model:direct:                    GPG Configuration Options.
-                                                              (line 470)
+                                                              (line 485)
 * trust-model:pgp:                       GPG Configuration Options.
-                                                              (line 400)
+                                                              (line 415)
 * trust-model:tofu:                      GPG Configuration Options.
-                                                              (line 408)
+                                                              (line 423)
 * trust-model:tofu+pgp:                  GPG Configuration Options.
-                                                              (line 458)
+                                                              (line 473)
 * trustdb-name:                          GPG Configuration Options.
-                                                              (line 248)
+                                                              (line 253)
 * trusted-key:                           GPG Configuration Options.
-                                                              (line 390)
+                                                              (line 403)
 * try-all-secrets:                       GPG Key related Options.
                                                               (line 100)
 * try-secret-key:                        GPG Key related Options.
@@ -5670,18 +5659,18 @@ Option Index
 * ungroup:                               GPG Key related Options.
                                                               (line  70)
 * update-trustdb:                        Operational GPG Commands.
-                                                              (line 334)
+                                                              (line 339)
 * url:                                   dirmngr-client.      (line  94)
 * url <1>:                               dirmngr-client.      (line  98)
 * use-agent:                             GPG Configuration Options.
-                                                              (line 727)
+                                                              (line 747)
 * use-embedded-filename:                 GPG Esoteric Options.
                                                               (line 194)
 * use-standard-socket:                   Agent Options.       (line 313)
 * use-standard-socket-p:                 Agent Options.       (line 313)
 * use-tor:                               Dirmngr Options.     (line  98)
 * utf8-strings:                          GPG Configuration Options.
-                                                              (line 302)
+                                                              (line 308)
 * utf8-strings <1>:                      gpgtar.              (line  90)
 * v:                                     Dirmngr Options.     (line  25)
 * v <1>:                                 Configuration Options.
@@ -5693,7 +5682,7 @@ Option Index
 * verbose:                               Agent Options.       (line  39)
 * verbose <1>:                           Dirmngr Options.     (line  25)
 * verbose <2>:                           GPG Configuration Options.
-                                                              (line  32)
+                                                              (line  33)
 * verbose <3>:                           Configuration Options.
                                                               (line  38)
 * verbose <4>:                           Scdaemon Options.    (line  35)
@@ -5704,11 +5693,9 @@ Option Index
 * verbose <8>:                           Invoking gpg-connect-agent.
                                                               (line  14)
 * verbose <9>:                           dirmngr-client.      (line  53)
-* verbose <10>:                          Invoking symcryptrun.
-                                                              (line  29)
-* verbose <11>:                          gpgtar.              (line  61)
-* verbose <12>:                          gpg-wks-client.      (line 119)
-* verbose <13>:                          gpg-wks-server.      (line  78)
+* verbose <10>:                          gpgtar.              (line  61)
+* verbose <11>:                          gpg-wks-client.      (line 119)
+* verbose <12>:                          gpg-wks-server.      (line  78)
 * verify:                                Operational GPG Commands.
                                                               (line  67)
 * verify <1>:                            Operational GPGSM Commands.
@@ -5716,29 +5703,29 @@ Option Index
 * verify-files:                          Operational GPG Commands.
                                                               (line 108)
 * verify-options:                        GPG Configuration Options.
-                                                              (line 133)
+                                                              (line 138)
 * verify-options:pka-lookups:            GPG Configuration Options.
-                                                              (line 169)
+                                                              (line 174)
 * verify-options:pka-trust-increase:     GPG Configuration Options.
-                                                              (line 176)
+                                                              (line 181)
 * verify-options:show-keyserver-urls:    GPG Configuration Options.
-                                                              (line 152)
+                                                              (line 157)
 * verify-options:show-notations:         GPG Configuration Options.
-                                                              (line 148)
+                                                              (line 153)
 * verify-options:show-photos:            GPG Configuration Options.
-                                                              (line 138)
+                                                              (line 143)
 * verify-options:show-policy-urls:       GPG Configuration Options.
-                                                              (line 142)
+                                                              (line 147)
 * verify-options:show-primary-uid-only:  GPG Configuration Options.
-                                                              (line 164)
+                                                              (line 169)
 * verify-options:show-std-notations:     GPG Configuration Options.
-                                                              (line 148)
+                                                              (line 153)
 * verify-options:show-uid-validity:      GPG Configuration Options.
-                                                              (line 156)
+                                                              (line 161)
 * verify-options:show-unusable-uids:     GPG Configuration Options.
-                                                              (line 160)
+                                                              (line 165)
 * verify-options:show-user-notations:    GPG Configuration Options.
-                                                              (line 148)
+                                                              (line 153)
 * version:                               Agent Commands.      (line  10)
 * version <1>:                           Dirmngr Commands.    (line  10)
 * version <2>:                           General GPG Commands.
@@ -5785,7 +5772,7 @@ Option Index
                                                               (line 321)
 * xauthority:                            Agent Options.       (line 323)
 * yes:                                   GPG Configuration Options.
-                                                              (line  60)
+                                                              (line  63)
 
 \1f
 File: gnupg.info,  Node: Environment Index,  Next: Index,  Prev: Option Index,  Up: Top
@@ -5806,7 +5793,7 @@ Environment Variable and File Index
 * DISPLAY:                               GPGSM OPTION.        (line  21)
 * GNUPGHOME:                             Agent Options.       (line  17)
 * GNUPGHOME <1>:                         GPG Configuration Options.
-                                                              (line 255)
+                                                              (line 260)
 * GNUPGHOME <2>:                         GPG Configuration.   (line 106)
 * GNUPGHOME <3>:                         Configuration Options.
                                                               (line  16)
@@ -5815,13 +5802,11 @@ Environment Variable and File Index
 * GNUPGHOME <6>:                         Invoking gpgconf.    (line 115)
 * GNUPGHOME <7>:                         Invoking gpg-connect-agent.
                                                               (line  21)
-* GNUPGHOME <8>:                         Invoking symcryptrun.
-                                                              (line  36)
 * gpg-agent.conf:                        Agent Configuration. (line  11)
 * gpg.conf:                              GPG Configuration.   (line  11)
 * gpgconf.ctl:                           Agent Options.       (line  28)
 * gpgconf.ctl <1>:                       GPG Configuration Options.
-                                                              (line 266)
+                                                              (line 271)
 * gpgconf.ctl <2>:                       Configuration Options.
                                                               (line  27)
 * gpgconf.ctl <3>:                       Scdaemon Options.    (line  24)
@@ -5829,8 +5814,6 @@ Environment Variable and File Index
 * gpgconf.ctl <5>:                       Invoking gpgconf.    (line 126)
 * gpgconf.ctl <6>:                       Invoking gpg-connect-agent.
                                                               (line  32)
-* gpgconf.ctl <7>:                       Invoking symcryptrun.
-                                                              (line  47)
 * gpgsm.conf:                            GPGSM Configuration. (line  11)
 * GPG_TTY:                               Invoking GPG-AGENT.  (line  22)
 * GPG_TTY <1>:                           GPGSM OPTION.        (line  23)
@@ -5838,7 +5821,7 @@ Environment Variable and File Index
 * HKCU\Software\GNU\GnuPG:DefaultLogFile: Agent Options.      (line 151)
 * HKCU\Software\GNU\GnuPG:HomeDir:       Agent Options.       (line  17)
 * HKCU\Software\GNU\GnuPG:HomeDir <1>:   GPG Configuration Options.
-                                                              (line 255)
+                                                              (line 260)
 * HKCU\Software\GNU\GnuPG:HomeDir <2>:   Configuration Options.
                                                               (line  16)
 * HKCU\Software\GNU\GnuPG:HomeDir <3>:   Scdaemon Options.    (line  13)
@@ -5846,17 +5829,15 @@ Environment Variable and File Index
 * HKCU\Software\GNU\GnuPG:HomeDir <5>:   Invoking gpgconf.    (line 115)
 * HKCU\Software\GNU\GnuPG:HomeDir <6>:   Invoking gpg-connect-agent.
                                                               (line  21)
-* HKCU\Software\GNU\GnuPG:HomeDir <7>:   Invoking symcryptrun.
-                                                              (line  36)
 * HOME:                                  GPG Configuration.   (line 103)
-* http_proxy:                            Dirmngr Options.     (line 225)
+* http_proxy:                            Dirmngr Options.     (line 241)
 * LANGUAGE:                              GPG Configuration.   (line 121)
 * LC_CTYPE:                              GPGSM OPTION.        (line  27)
 * LC_MESSAGES:                           GPGSM OPTION.        (line  29)
 * LINES:                                 GPG Configuration.   (line 118)
 * openpgp-revocs.d:                      GPG Configuration.   (line  91)
 * PATH:                                  GPG Configuration Options.
-                                                              (line 220)
+                                                              (line 225)
 * PINENTRY_USER_DATA:                    GPG Configuration.   (line 113)
 * PINENTRY_USER_DATA <1>:                GPGSM OPTION.        (line  33)
 * policies.txt:                          GPGSM Configuration. (line  18)
index 7b603d7..dd6e432 100644 (file)
@@ -353,13 +353,18 @@ numbers 1-9 or "T" for 10 and above to indicate trust signature levels
 @opindex locate-keys
 @opindex locate-external-keys
 Locate the keys given as arguments.  This command basically uses the
-same algorithm as used when locating keys for encryption or signing
-and may thus be used to see what keys @command{@gpgname} might use.
-In particular external methods as defined by
-@option{--auto-key-locate} may be used to locate a key.  Only public
-keys are listed.  The variant @option{--locate-external-keys} does not
-consider a locally existing key and can thus be used to force the
-refresh of a key via the defined external methods.
+same algorithm as used when locating keys for encryption and may thus
+be used to see what keys @command{@gpgname} might use.  In particular
+external methods as defined by @option{--auto-key-locate} are used to
+locate a key if the arguments comain valid mail addresses.  Only
+public keys are listed.
+
+The variant @option{--locate-external-keys} does not consider a
+locally existing key and can thus be used to force the refresh of a
+key via the defined external methods.  If a fingerprint is given and
+and the methods defined by --auto-key-locate define LDAP servers, the
+key is fetched from these resources; defined non-LDAP keyservers are
+skipped.
 
 @item --show-keys
 @opindex show-keys
@@ -686,7 +691,7 @@ used for no expiration date.
 If this command is used with @option{--batch},
 @option{--pinentry-mode} has been set to @code{loopback}, and one of
 the passphrase options (@option{--passphrase},
-@option{--passphrase-fd}, or @option{passphrase-file}) is used, the
+@option{--passphrase-fd}, or @option{--passphrase-file}) is used, the
 supplied passphrase is used for the new key and the agent does not ask
 for it.  To create a key without any protection @code{--passphrase ''}
 may be used.
@@ -1114,7 +1119,9 @@ If a name is prefixed with a '=' a case sensitive exact match is done.
 
 The command @option{--quick-lsign-key} marks the signatures as
 non-exportable.  If such a non-exportable signature already exists the
-@option{--quick-sign-key} turns it into a exportable signature.
+@option{--quick-sign-key} turns it into a exportable signature.  If
+you need to update an existing signature, for example to add or change
+notation data, you need to use the option @option{--force-sign-key}.
 
 This command uses reasonable defaults and thus does not provide the
 full flexibility of the "sign" subcommand from @option{--edit-key}.
@@ -1212,8 +1219,8 @@ encountered, you can explicitly stop parsing by using the special option
 @node GPG Configuration Options
 @subsection How to change the configuration
 
-These options are used to change the configuration and are usually found
-in the option file.
+These options are used to change the configuration and most of them
+are usually found in the option file.
 
 @table @gnupgtabopt
 
@@ -1242,6 +1249,7 @@ one from the secret keyring or the one set with @option{--default-key}.
 @item --no-default-recipient
 @opindex no-default-recipient
 Reset @option{--default-recipient} and @option{--default-recipient-self}.
+Should not be used in an option file.
 
 @item -v, --verbose
 @opindex verbose
@@ -1250,11 +1258,11 @@ twice, the input data is listed in detail.
 
 @item --no-verbose
 @opindex no-verbose
-Reset verbose level to 0.
+Reset verbose level to 0.  Should not be used in an option file.
 
 @item -q, --quiet
 @opindex quiet
-Try to be as quiet as possible.
+Try to be as quiet as possible.  Should not be used in an option file.
 
 @item --batch
 @itemx --no-batch
@@ -1266,11 +1274,11 @@ filename given on the command line, gpg might still need to read from
 STDIN (in particular if gpg figures that the input is a
 detached signature and no data file has been specified).  Thus if you
 do not want to feed data via STDIN, you should connect STDIN to
-g@file{/dev/null}.
+@file{/dev/null}.
 
 It is highly recommended to use this option along with the options
 @option{--status-fd} and @option{--with-colons} for any unattended use of
-@command{gpg}.
+@command{gpg}.  Should not be used in an option file.
 
 @item --no-tty
 @opindex no-tty
@@ -1280,11 +1288,11 @@ warnings to the TTY even if @option{--batch} is used.
 
 @item --yes
 @opindex yes
-Assume "yes" on most questions.
+Assume "yes" on most questions.  Should not be used in an option file.
 
 @item --no
 @opindex no
-Assume "no" on most questions.
+Assume "no" on most questions.  Should not be used in an option file.
 
 
 @item --list-options @var{parameters}
@@ -1524,13 +1532,14 @@ not used).
 
 @item --display-charset @var{name}
 @opindex display-charset
-Set the name of the native character set. This is used to convert
-some informational strings like user IDs to the proper UTF-8 encoding.
+Set the name of the native character set. This is used to convert some
+informational strings like user IDs to the proper UTF-8 encoding.
 Note that this has nothing to do with the character set of data to be
-encrypted or signed; GnuPG does not recode user-supplied data. If
-this option is not used, the default character set is determined from
-the current locale. A verbosity level of 3 shows the chosen set.
-Valid values for @var{name} are:
+encrypted or signed; GnuPG does not recode user-supplied data. If this
+option is not used, the default character set is determined from the
+current locale. A verbosity level of 3 shows the chosen set.  This
+option should not be used on Windows.  Valid values for @var{name}
+are:
 
 @table @asis
 
@@ -1565,6 +1574,13 @@ default (@option{--no-utf8-strings}) is to assume that arguments are
 encoded in the character set as specified by
 @option{--display-charset}. These options affect all following
 arguments. Both options may be used multiple times.
+This option should not be used in an option file.
+
+This option has no effect on Windows.  There the internal used UTF-8
+encoding is translated for console input and output.  The command line
+arguments are expected as Unicode and translated to UTF-8.  Thus when
+calling this program from another, make sure to use the Unicode
+version of CreateProcess.
 
 @anchor{gpg-option --options}
 @item --options @var{file}
@@ -1660,12 +1676,13 @@ claim" signatures are always accepted.
 
 @item --trusted-key @var{long key ID or fingerprint}
 @opindex trusted-key
-Assume that the specified key (which must be given
-as a full 8 byte key ID or 20 byte fingerprint) is as trustworthy as one of
-your own secret keys. This option is useful if you
-don't want to keep your secret keys (or one of them)
+Assume that the specified key (which should be given as fingerprint)
+is as trustworthy as one of your own secret keys. This option is
+useful if you don't want to keep your secret keys (or one of them)
 online but still want to be able to check the validity of a given
-recipient's or signator's key.
+recipient's or signator's key.  If the given key is not locally
+available but an LDAP keyserver is configured the missing key is
+imported from that server.
 
 @item --trust-model @{pgp|classic|tofu|tofu+pgp|direct|always|auto@}
 @opindex trust-model
@@ -1807,14 +1824,20 @@ list.  The default is "local,wkd".
   PGP Universal method of checking @samp{ldap://keys.(thedomain)}.
 
   @item ntds
-  Locate the key using the Active Directory (Windows only).
+  Locate the key using the Active Directory (Windows only).  This
+  method also allows to search by fingerprint using the command
+  @option{--locate-external-key}.
 
   @item keyserver
-  Locate a key using a keyserver.
+  Locate a key using a keyserver.  This method also allows to search
+  by fingerprint using the command @option{--locate-external-key} if
+  any of the configured keyservers is an LDAP server.
 
   @item keyserver-URL
   In addition, a keyserver URL as used in the @command{dirmngr}
   configuration may be used here to query that particular keyserver.
+  This method also allows to search by fingerprint using the command
+  @option{--locate-external-key} if the URL specifies an LDAP server.
 
   @item local
   Locate the key using the local keyrings.  This mechanism allows the user to
@@ -1910,13 +1933,10 @@ Use @var{name} as your keyserver. This is the server that
 will communicate with to receive keys from, send keys to, and search for
 keys on. The format of the @var{name} is a URI:
 `scheme:[//]keyservername[:port]' The scheme is the type of keyserver:
-"hkp" for the HTTP (or compatible) keyservers, "ldap" for the LDAP
-keyservers, or "mailto" for the Graff email keyserver. Note that your
-particular installation of GnuPG may have other keyserver types
-available as well. Keyserver schemes are case-insensitive. After the
-keyserver name, optional keyserver configuration options may be
-provided. These are the same as the global @option{--keyserver-options}
-from below, but apply only to this particular keyserver.
+"hkp"/"hkps" for the HTTP (or compatible) keyservers or "ldap"/"ldaps"
+for the LDAP keyservers.  Note that your particular installation of
+GnuPG may have other keyserver types available as well. Keyserver
+schemes are case-insensitive.
 
 Most keyservers synchronize with each other, so there is generally no
 need to send keys to more than one server. The keyserver
@@ -1984,7 +2004,9 @@ are available for all keyserver types, some common options are:
 
 The default list of options is: "self-sigs-only, import-clean,
 repair-keys, repair-pks-subkey-bug, export-attributes,
-honor-pka-record".
+honor-pka-record". However, if
+the actual used source is an LDAP server "no-self-sigs-only" is
+assumed unless "self-sigs-only" has been explictly configured.
 
 
 @item --completes-needed @var{n}
@@ -3469,6 +3491,13 @@ You need to consult the source code to learn the details.  Note that
 the advanced key generation commands can always be used to specify a
 key algorithm directly.
 
+@item --force-sign-key
+@opindex force-sign-key
+This option modifies the behaviour of the commands
+@option{--quick-sign-key}, @option{--quick-lsign-key}, and the "sign"
+sub-commands of @option{--edit-key} by forcing the creation of a key
+signature, even if one already exists.
+
 @item --allow-secret-key-import
 @opindex allow-secret-key-import
 This is an obsolete option and is not used anywhere.
index 0900e87..a3e1bc2 100644 (file)
@@ -347,6 +347,17 @@ Outputs additional information while running.
 You can increase the verbosity by giving several
 verbose commands to @command{gpgsm}, such as @samp{-vv}.
 
+@item --ldapserver @var{string}
+@itemx --keyserver @var{string}
+@opindex ldapserver
+@opindex keyserver
+Add an LDAP server to use for X.509 certificate and CRL lookup.  This
+option can be given multiple times to configure more than one LDAP
+server.  Note that in general @command{dirmngr} should be configured
+with the list of LDAP servers; if this option is also configured here,
+it is used in addition to those configured in dirmngr.  For the syntax
+see the description of dirmngr's ldapserver option.
+
 @item --policy-file @var{filename}
 @opindex policy-file
 Change the default name of the policy file to @var{filename}.
index 81af281..1271994 100644 (file)
@@ -248,6 +248,12 @@ Append all logging output to @var{file}.  This is very helpful in
 seeing what the agent actually does.  Use @file{socket://} to log to
 socket.
 
+@item --pcsc-shared
+@opindex pcsc-shared
+Use shared mode to access the card via PC/SC.  This is a somewhat
+dangerous option because Scdaemon assumes exclusivbe access to teh
+card and for example caches certain information from the card.  Use
+this option only if you know what you are doing.
 
 @item --pcsc-driver @var{library}
 @opindex pcsc-driver
index fa8819a..a590b4f 100644 (file)
@@ -19,7 +19,6 @@ GnuPG comes with a couple of smaller tools:
 * gpg-connect-agent::     Communicate with a running agent.
 * dirmngr-client::        How to use the Dirmngr client tool.
 * gpgparsemail::          Parse a mail message into an annotated format
-* symcryptrun::           Call a simple symmetric encryption tool.
 * gpgtar::                Encrypt or sign files into an archive.
 @end menu
 
@@ -1784,127 +1783,6 @@ debugging.  Run it with @code{--help} for usage information.
 
 
 @c
-@c   SYMCRYPTRUN
-@c
-@node symcryptrun
-@section Call a simple symmetric encryption tool
-@manpage symcryptrun.1
-@ifset manverb
-.B symcryptrun
-\- Call a simple symmetric encryption tool
-@end ifset
-
-@mansect synopsis
-@ifset manverb
-.B  symcryptrun
-.B \-\-class
-.I class
-.B \-\-program
-.I program
-.B \-\-keyfile
-.I keyfile
-.RB [ --decrypt | --encrypt ]
-.RI [ inputfile ]
-@end ifset
-
-@mansect description
-Sometimes simple encryption tools are already in use for a long time
-and there might be a desire to integrate them into the GnuPG
-framework.  The protocols and encryption methods might be non-standard
-or not even properly documented, so that a full-fledged encryption
-tool with an interface like @command{gpg} is not doable.
-@command{symcryptrun} provides a solution: It operates by calling the
-external encryption/decryption module and provides a passphrase for a
-key using the standard @command{pinentry} based mechanism through
-@command{gpg-agent}.
-
-Note, that @command{symcryptrun} is only available if GnuPG has been
-configured with @samp{--enable-symcryptrun} at build time.
-
-@menu
-* Invoking symcryptrun::   List of all commands and options.
-@end menu
-
-@manpause
-@node Invoking symcryptrun
-@subsection List of all commands and options
-
-@noindent
-@command{symcryptrun} is invoked this way:
-
-@example
-symcryptrun --class CLASS --program PROGRAM --keyfile KEYFILE
-   [--decrypt | --encrypt] [inputfile]
-@end example
-@mancont
-
-For encryption, the plain text must be provided on STDIN or as the
-argument @var{inputfile}, and the ciphertext will be output to STDOUT.
-For decryption vice versa.
-
-@var{CLASS} describes the calling conventions of the external tool.
-Currently it must be given as @samp{confucius}.  @var{PROGRAM} is
-the full filename of that external tool.
-
-For the class @samp{confucius} the option @option{--keyfile} is
-required; @var{keyfile} is the name of a file containing the secret key,
-which may be protected by a passphrase.  For detailed calling
-conventions, see the source code.
-
-@noindent
-Note, that @command{gpg-agent} must be running before starting
-@command{symcryptrun}.
-
-@noindent
-The following additional options may be used:
-
-@table @gnupgtabopt
-@item -v
-@itemx --verbose
-@opindex verbose
-Output additional information while running.
-
-@item -q
-@item --quiet
-@opindex q
-@opindex quiet
-Try to be as quiet as possible.
-
-@include opt-homedir.texi
-
-
-@item --log-file @var{file}
-@opindex log-file
-Append all logging output to @var{file}.  Use @file{socket://} to log
-to socket.  Default is to write logging information to STDERR.
-
-@end table
-
-@noindent
-The possible exit status codes of @command{symcryptrun} are:
-
-@table @code
-@item 0
-        Success.
-@item 1
-        Some error occurred.
-@item 2
-        No valid passphrase was provided.
-@item 3
-        The operation was canceled by the user.
-
-@end table
-
-@mansect see also
-@ifset isman
-@command{gpg}(1),
-@command{gpgsm}(1),
-@command{gpg-agent}(1),
-@end ifset
-@include see-also-note.texi
-
-
-@c
 @c  GPGTAR
 @c
 @manpage gpgtar.1
index 714a9c0..dace3b2 100644 (file)
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.16.1 from Makefile.am.
+# Makefile.in generated by automake 1.16.3 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2018 Free Software Foundation, Inc.
+# Copyright (C) 1994-2020 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
index c7f1c29..a9d7271 100644 (file)
@@ -1097,6 +1097,16 @@ agent_scd_getattr (const char *name, struct agent_card_info_s *info)
   parm.ctx = agent_ctx;
   rc = assuan_transact (agent_ctx, line, NULL, NULL, default_inq_cb, &parm,
                         learn_status_cb, info);
+  if (!rc && !strcmp (name, "KEY-FPR"))
+    {
+      /* Let the agent create the shadow keys if not yet done.  */
+      if (info->fpr1valid)
+        assuan_transact (agent_ctx, "READKEY --card --no-data -- $SIGNKEYID",
+                         NULL, NULL, NULL, NULL, NULL, NULL);
+      if (info->fpr2valid)
+        assuan_transact (agent_ctx, "READKEY --card --no-data -- $ENCRKEYID",
+                         NULL, NULL, NULL, NULL, NULL, NULL);
+    }
 
   return rc;
 }
index 1b091bd..f5022c0 100644 (file)
@@ -36,8 +36,8 @@
 #include "options.h"
 #include "../common/i18n.h"
 #include "../common/asshelp.h"
-#include "../common/keyserver.h"
 #include "../common/status.h"
+#include "keyserver-internal.h"
 #include "call-dirmngr.h"
 
 
@@ -669,7 +669,9 @@ ks_get_data_cb (void *opaque, const void *data, size_t datalen)
    don't need to escape the patterns before sending them to the
    server.
 
-   If QUICK is set the dirmngr is advised to use a shorter timeout.
+   Bit values for FLAGS are:
+   - KEYSERVER_IMPORT_FLAG_QUICK :: dirmngr shall use a shorter timeout.
+   - KEYSERVER_IMPORT_FLAG_LDAP  :: dirmngr shall only use LDAP or NTDS.
 
    If R_SOURCE is not NULL the source of the data is stored as a
    malloced string there.  If a source is not known NULL is stored.
@@ -681,7 +683,8 @@ ks_get_data_cb (void *opaque, const void *data, size_t datalen)
    are able to ask for (1000-10-1)/(2+8+1) = 90 keys at once.  */
 gpg_error_t
 gpg_dirmngr_ks_get (ctrl_t ctrl, char **pattern,
-                    keyserver_spec_t override_keyserver, int quick,
+                    keyserver_spec_t override_keyserver,
+                    unsigned int flags,
                     estream_t *r_fp, char **r_source)
 {
   gpg_error_t err;
@@ -706,7 +709,7 @@ gpg_dirmngr_ks_get (ctrl_t ctrl, char **pattern,
 
   /* If we have an override keyserver we first indicate that the next
      user of the context needs to again setup the global keyservers and
-     them we send the override keyserver.  */
+     then we send the override keyserver.  */
   if (override_keyserver)
     {
       clear_context_flags (ctrl, ctx);
@@ -727,7 +730,12 @@ gpg_dirmngr_ks_get (ctrl_t ctrl, char **pattern,
 
   /* Lump all patterns into one string.  */
   init_membuf (&mb, 1024);
-  put_membuf_str (&mb, quick? "KS_GET --quick --" : "KS_GET --");
+  put_membuf_str (&mb, "KS_GET");
+  if ((flags & KEYSERVER_IMPORT_FLAG_QUICK))
+    put_membuf_str (&mb, " --quick");
+  if ((flags & KEYSERVER_IMPORT_FLAG_LDAP))
+    put_membuf_str (&mb, " --ldap");
+  put_membuf_str (&mb, " --");
   for (idx=0; pattern[idx]; idx++)
     {
       put_membuf (&mb, " ", 1); /* Append Delimiter.  */
@@ -840,24 +848,14 @@ static void
 record_output (estream_t output,
               pkttype_t type,
               const char *validity,
-              /* The public key length or -1.  */
-              int pub_key_length,
-              /* The public key algo or -1.  */
-              int pub_key_algo,
-              /* 2 ulongs or NULL.  */
-              const u32 *keyid,
-              /* The creation / expiration date or 0.  */
-              u32 creation_date,
-              u32 expiration_date,
-              const char *userid)
+              int pub_key_length,  /* The public key length or -1.  */
+              int pub_key_algo,    /* The public key algo or -1.    */
+              const u32 *keyid,    /* 2 ulongs or NULL.             */
+              u32 creation_date,   /* The creation date or 0.       */
+              u32 expiration_date, /* The expiration date or 0.     */
+              const char *userid)  /* The userid or NULL.           */
 {
   const char *type_str = NULL;
-  char *pub_key_length_str = NULL;
-  char *pub_key_algo_str = NULL;
-  char *keyid_str = NULL;
-  char *creation_date_str = NULL;
-  char *expiration_date_str = NULL;
-  char *userid_escaped = NULL;
 
   switch (type)
     {
@@ -876,77 +874,33 @@ record_output (estream_t output,
     default:
       log_assert (! "Unhandled type.");
     }
+  es_fprintf (output, "%s:%s:",
+              type_str,
+             validity ? validity : "");
 
   if (pub_key_length > 0)
-    pub_key_length_str = xasprintf ("%d", pub_key_length);
+    es_fprintf (output, "%d", pub_key_length);
+  es_fputc (':', output);
 
   if (pub_key_algo != -1)
-    pub_key_algo_str = xasprintf ("%d", pub_key_algo);
+    es_fprintf (output, "%d", pub_key_algo);
+  es_fputc (':', output);
 
   if (keyid)
-    keyid_str = xasprintf ("%08lX%08lX", (ulong) keyid[0], (ulong) keyid[1]);
+    es_fprintf (output, "%08lX%08lX", (ulong) keyid[0], (ulong) keyid[1]);
 
-  if (creation_date)
-    creation_date_str = xstrdup (colon_strtime (creation_date));
+  es_fprintf (output, ":%s:", colon_strtime (creation_date));
+  es_fprintf (output, "%s:::", colon_strtime (expiration_date));
 
-  if (expiration_date)
-    expiration_date_str = xstrdup (colon_strtime (expiration_date));
-
-  /* Quote ':', '%', and any 8-bit characters.  */
   if (userid)
-    {
-      int r;
-      int w = 0;
-
-      int len = strlen (userid);
-      /* A 100k character limit on the uid should be way more than
-        enough.  */
-      if (len > 100 * 1024)
-       len = 100 * 1024;
-
-      /* The minimum amount of space that we need.  */
-      userid_escaped = xmalloc (len * 3 + 1);
-
-      for (r = 0; r < len; r++)
-       {
-         if (userid[r] == ':' || userid[r]== '%' || (userid[r] & 0x80))
-           {
-             sprintf (&userid_escaped[w], "%%%02X", (byte) userid[r]);
-             w += 3;
-           }
-         else
-           userid_escaped[w ++] = userid[r];
-       }
-      userid_escaped[w] = '\0';
-    }
+    es_write_sanitized (output, userid, strlen (userid), ":", NULL);
+  else
+    es_fputc (':', output);
+  es_fputs (":::::::::\n", output);
 
-  es_fprintf (output, "%s:%s:%s:%s:%s:%s:%s:%s:%s:%s:%s:%s:%s:%s:%s:%s:%s\n",
-             type_str,
-             validity ?: "",
-             pub_key_length_str ?: "",
-             pub_key_algo_str ?: "",
-             keyid_str ?: "",
-             creation_date_str ?: "",
-             expiration_date_str ?: "",
-             "" /* Certificate S/N */,
-             "" /* Ownertrust.  */,
-             userid_escaped ?: "",
-             "" /* Signature class.  */,
-             "" /* Key capabilities.  */,
-             "" /* Issuer certificate fingerprint.  */,
-             "" /* Flag field.  */,
-             "" /* S/N of a token.  */,
-             "" /* Hash algo.  */,
-             "" /* Curve name.  */);
-
-  xfree (userid_escaped);
-  xfree (expiration_date_str);
-  xfree (creation_date_str);
-  xfree (keyid_str);
-  xfree (pub_key_algo_str);
-  xfree (pub_key_length_str);
 }
 
+
 /* Handle the KS_PUT inquiries. */
 static gpg_error_t
 ks_put_inq_cb (void *opaque, const char *line)
index 285c4cb..429661a 100644 (file)
@@ -26,7 +26,8 @@ gpg_error_t gpg_dirmngr_ks_search (ctrl_t ctrl, const char *searchstr,
                                    gpg_error_t (*cb)(void*, int, char *),
                                    void *cb_value);
 gpg_error_t gpg_dirmngr_ks_get (ctrl_t ctrl, char *pattern[],
-                                keyserver_spec_t override_keyserver, int quick,
+                                keyserver_spec_t override_keyserver,
+                                unsigned int flags,
                                 estream_t *r_fp, char **r_source);
 gpg_error_t gpg_dirmngr_ks_fetch (ctrl_t ctrl,
                                   const char *url, estream_t *r_fp);
index 8a5ab28..d9716a7 100644 (file)
@@ -586,7 +586,8 @@ current_card_status (ctrl_t ctrl, estream_t fp,
                 if (info.key_attr[i].curve)
                   {
                     const char *oid;
-                    oid = openpgp_curve_to_oid (info.key_attr[i].curve, NULL);
+                    oid = openpgp_curve_to_oid (info.key_attr[i].curve,
+                                                NULL, NULL);
                     if (oid)
                       curve_for_print = openpgp_oid_to_curve (oid, 0);
                   }
@@ -1489,7 +1490,7 @@ ask_card_keyattr (int keyno, const struct key_attr *current)
       if (curve)
         {
           key_attr->algo = algo;
-          oid_str = openpgp_curve_to_oid (curve, NULL);
+          oid_str = openpgp_curve_to_oid (curve, NULL, NULL);
           key_attr->curve = openpgp_oid_to_curve (oid_str, 0);
         }
       else
index 5bbea96..97d4838 100644 (file)
@@ -82,15 +82,73 @@ pk_ecdh_default_params (unsigned int qbits)
 }
 
 
+/* Extract x-component from the point (SHARED,NSHARED) and strore it
+ * in a new buffer at R_SECRET_X.  POINT_NBYTES is the size to
+ * represent an EC point which is determined by the public key.
+ * SECRET_X_SIZE is the size of x component to represent an integer
+ * which is determined by the curve. */
+static gpg_error_t
+extract_secret_x (byte **r_secret_x,
+                  const char *shared, size_t nshared,
+                  size_t point_nbytes, size_t secret_x_size)
+{
+  byte *secret_x;
+
+  *r_secret_x = NULL;
+
+  /* Extract X from the result.  It must be in the format of:
+     04 || X || Y
+     40 || X
+     41 || X
+
+     Since it may come with the prefix, the size of point is larger
+     than or equals to the size of an integer X.  We also better check
+     that the provided shared point is not larger than the size needed
+     to represent the point.  */
+  if (point_nbytes < secret_x_size)
+    return gpg_error (GPG_ERR_BAD_DATA);
+  if (point_nbytes < nshared)
+    return gpg_error (GPG_ERR_BAD_DATA);
+
+  /* Extract x component of the shared point: this is the actual
+     shared secret. */
+  secret_x = xtrymalloc_secure (point_nbytes);
+  if (!secret_x)
+    return gpg_error_from_syserror ();
+
+  memcpy (secret_x, shared, nshared);
+
+  /* Wrangle the provided point unless only the x-component w/o any
+   * prefix was provided.  */
+  if (nshared != secret_x_size)
+    {
+      /* Remove the prefix.  */
+      if ((point_nbytes & 1))
+        memmove (secret_x, secret_x+1, secret_x_size);
+
+      /* Clear the rest of data.  */
+      if (point_nbytes - secret_x_size)
+        memset (secret_x+secret_x_size, 0, point_nbytes-secret_x_size);
+    }
+
+  if (DBG_CRYPTO)
+    log_printhex (secret_x, secret_x_size, "ECDH shared secret X is:");
+
+  *r_secret_x = secret_x;
+  return 0;
+}
+
+
 /* Encrypts/decrypts DATA using a key derived from the ECC shared
-   point SHARED_MPI using the FIPS SP 800-56A compliant method
+   point (SHARED,NSHARED) using the FIPS SP 800-56A compliant method
    key_derivation+key_wrapping.  If IS_ENCRYPT is true the function
    encrypts; if false, it decrypts.  PKEY is the public key and PK_FP
    the fingerprint of this public key.  On success the result is
    stored at R_RESULT; on failure NULL is stored at R_RESULT and an
    error code returned.  */
 gpg_error_t
-pk_ecdh_encrypt_with_shared_point (int is_encrypt, gcry_mpi_t shared_mpi,
+pk_ecdh_encrypt_with_shared_point (int is_encrypt,
+                                   const char *shared, size_t nshared,
                                    const byte pk_fp[MAX_FINGERPRINT_LEN],
                                    gcry_mpi_t data, gcry_mpi_t *pkey,
                                    gcry_mpi_t *r_result)
@@ -103,78 +161,15 @@ pk_ecdh_encrypt_with_shared_point (int is_encrypt, gcry_mpi_t shared_mpi,
   size_t kek_params_size;
   int kdf_hash_algo;
   int kdf_encr_algo;
+  size_t kek_size;
   unsigned char message[256];
   size_t message_size;
 
   *r_result = NULL;
 
-  nbits = pubkey_nbits (PUBKEY_ALGO_ECDH, pkey);
-  if (!nbits)
-    return gpg_error (GPG_ERR_TOO_SHORT);
-
-  {
-    size_t nbytes;
-
-    /* Extract x component of the shared point: this is the actual
-       shared secret. */
-    nbytes = (mpi_get_nbits (pkey[1] /* public point */)+7)/8;
-    secret_x = xtrymalloc_secure (nbytes);
-    if (!secret_x)
-      return gpg_error_from_syserror ();
-
-    err = gcry_mpi_print (GCRYMPI_FMT_USG, secret_x, nbytes,
-                          &nbytes, shared_mpi);
-    if (err)
-      {
-        xfree (secret_x);
-        log_error ("ECDH ephemeral export of shared point failed: %s\n",
-                   gpg_strerror (err));
-        return err;
-      }
-
-    /* Expected size of the x component */
-    secret_x_size = (nbits+7)/8;
-
-    /* Extract X from the result.  It must be in the format of:
-           04 || X || Y
-           40 || X
-           41 || X
-
-       Since it always comes with the prefix, it's larger than X.  In
-       old experimental version of libgcrypt, there is a case where it
-       returns X with no prefix of 40, so, nbytes == secret_x_size
-       is allowed.  */
-    if (nbytes < secret_x_size)
-      {
-        xfree (secret_x);
-        return gpg_error (GPG_ERR_BAD_DATA);
-      }
-
-    /* Remove the prefix.  */
-    if ((nbytes & 1))
-      memmove (secret_x, secret_x+1, secret_x_size);
-
-    /* Clear the rest of data.  */
-    if (nbytes - secret_x_size)
-      memset (secret_x+secret_x_size, 0, nbytes-secret_x_size);
-
-    if (DBG_CRYPTO)
-      log_printhex (secret_x, secret_x_size, "ECDH shared secret X is:");
-  }
-
-  /*** We have now the shared secret bytes in secret_x. ***/
-
-  /* At this point we are done with PK encryption and the rest of the
-   * function uses symmetric key encryption techniques to protect the
-   * input DATA.  The following two sections will simply replace
-   * current secret_x with a value derived from it.  This will become
-   * a KEK.
-   */
   if (!gcry_mpi_get_flag (pkey[2], GCRYMPI_FLAG_OPAQUE))
-    {
-      xfree (secret_x);
-      return gpg_error (GPG_ERR_BUG);
-    }
+    return gpg_error (GPG_ERR_BUG);
+
   kek_params = gcry_mpi_get_opaque (pkey[2], &nbits);
   kek_params_size = (nbits+7)/8;
 
@@ -183,10 +178,7 @@ pk_ecdh_encrypt_with_shared_point (int is_encrypt, gcry_mpi_t shared_mpi,
 
   /* Expect 4 bytes  03 01 hash_alg symm_alg.  */
   if (kek_params_size != 4 || kek_params[0] != 3 || kek_params[1] != 1)
-    {
-      xfree (secret_x);
-      return gpg_error (GPG_ERR_BAD_PUBKEY);
-    }
+    return gpg_error (GPG_ERR_BAD_PUBKEY);
 
   kdf_hash_algo = kek_params[2];
   kdf_encr_algo = kek_params[3];
@@ -199,17 +191,43 @@ pk_ecdh_encrypt_with_shared_point (int is_encrypt, gcry_mpi_t shared_mpi,
   if (kdf_hash_algo != GCRY_MD_SHA256
       && kdf_hash_algo != GCRY_MD_SHA384
       && kdf_hash_algo != GCRY_MD_SHA512)
-    {
-      xfree (secret_x);
-      return gpg_error (GPG_ERR_BAD_PUBKEY);
-    }
+    return gpg_error (GPG_ERR_BAD_PUBKEY);
+
   if (kdf_encr_algo != CIPHER_ALGO_AES
       && kdf_encr_algo != CIPHER_ALGO_AES192
       && kdf_encr_algo != CIPHER_ALGO_AES256)
-    {
-      xfree (secret_x);
-      return gpg_error (GPG_ERR_BAD_PUBKEY);
-    }
+    return gpg_error (GPG_ERR_BAD_PUBKEY);
+
+  kek_size = gcry_cipher_get_algo_keylen (kdf_encr_algo);
+  if (kek_size > gcry_md_get_algo_dlen (kdf_hash_algo))
+    return gpg_error (GPG_ERR_BAD_PUBKEY);
+
+
+  nbits = pubkey_nbits (PUBKEY_ALGO_ECDH, pkey);
+  if (!nbits)
+    return gpg_error (GPG_ERR_TOO_SHORT);
+
+  /* Expected size of the x component */
+  secret_x_size = (nbits+7)/8;
+
+  if (kek_size > secret_x_size)
+    return gpg_error (GPG_ERR_BAD_PUBKEY);
+
+  err = extract_secret_x (&secret_x, shared, nshared,
+                          (mpi_get_nbits (pkey[1] /* public point */)+7)/8,
+                          secret_x_size);
+  if (err)
+    return err;
+
+  /*** We have now the shared secret bytes in secret_x. ***/
+
+  /* At this point we are done with PK encryption and the rest of the
+   * function uses symmetric key encryption techniques to protect the
+   * input DATA.  The following two sections will simply replace
+   * current secret_x with a value derived from it.  This will become
+   * a KEK.
+   */
+
 
   /* Build kdf_params.  */
   {
@@ -484,12 +502,15 @@ pk_ecdh_generate_ephemeral_key (gcry_mpi_t *pkey, gcry_mpi_t *r_k)
 
 /* Perform ECDH decryption.   */
 int
-pk_ecdh_decrypt (gcry_mpi_t * result, const byte sk_fp[MAX_FINGERPRINT_LEN],
-                 gcry_mpi_t data, gcry_mpi_t shared, gcry_mpi_t * skey)
+pk_ecdh_decrypt (gcry_mpi_t *result, const byte sk_fp[MAX_FINGERPRINT_LEN],
+                 gcry_mpi_t data,
+                 const char *shared, size_t nshared,
+                 gcry_mpi_t *skey)
 {
   if (!data)
     return gpg_error (GPG_ERR_BAD_MPI);
-  return pk_ecdh_encrypt_with_shared_point (0 /*=decryption*/, shared,
+  return pk_ecdh_encrypt_with_shared_point (0 /*=decryption*/,
+                                            shared, nshared,
                                             sk_fp, data/*encr data as an MPI*/,
                                             skey, result);
 }
index 01f32af..94e233b 100644 (file)
@@ -404,7 +404,7 @@ setup_symkey (STRING2KEY **symkey_s2k, DEK **symkey_dek)
   (*symkey_s2k)->hash_algo = s2kdigest;
 
   *symkey_dek = passphrase_to_dek (defcipher,
-                                   *symkey_s2k, 1, 0, NULL, &canceled);
+                                   *symkey_s2k, 1, 0, NULL, 0, &canceled);
   if (!*symkey_dek || !(*symkey_dek)->keylen)
     {
       xfree(*symkey_dek);
index 1baa49f..bf0d8f2 100644 (file)
@@ -142,28 +142,36 @@ w32_system(const char *command)
   else
     {
       char *string;
+      wchar_t *wstring;
       PROCESS_INFORMATION pi;
-      STARTUPINFO si;
+      STARTUPINFOW si;
 
       /* We must use a copy of the command as CreateProcess modifies
        * this argument. */
       string = xstrdup (command);
+      wstring = utf8_to_wchar (string);
+      xfree (string);
+      if (!wstring)
+        return -1;
 
       memset (&pi, 0, sizeof(pi));
       memset (&si, 0, sizeof(si));
       si.cb = sizeof (si);
 
-      if (!CreateProcess (NULL, string, NULL, NULL, FALSE,
-                          DETACHED_PROCESS,
-                          NULL, NULL, &si, &pi))
-        return -1;
+      if (!CreateProcessW (NULL, wstring, NULL, NULL, FALSE,
+                           DETACHED_PROCESS,
+                           NULL, NULL, &si, &pi))
+        {
+          xfree (wstring);
+          return -1;
+        }
 
       /* Wait for the child to exit */
       WaitForSingleObject (pi.hProcess, INFINITE);
 
       CloseHandle (pi.hProcess);
       CloseHandle (pi.hThread);
-      xfree (string);
+      xfree (wstring);
     }
 
   return 0;
index 8dd0b07..e98af59 100644 (file)
@@ -567,7 +567,7 @@ match_curve_skey_pk (gcry_sexp_t s_key, PKT_public_key *pk)
       log_error ("no curve name\n");
       return gpg_error (GPG_ERR_UNKNOWN_CURVE);
     }
-  oidstr = openpgp_curve_to_oid (curve_str, NULL);
+  oidstr = openpgp_curve_to_oid (curve_str, NULL, NULL);
   if (!oidstr)
     {
       log_error ("no OID known for curve '%s'\n", curve_str);
@@ -1073,7 +1073,7 @@ transfer_format_to_openpgp (gcry_sexp_t s_pgp, PKT_public_key *pk)
           goto leave;
         }
 
-      oidstr = openpgp_curve_to_oid (curve, NULL);
+      oidstr = openpgp_curve_to_oid (curve, NULL, NULL);
       if (!oidstr)
         {
           log_error ("no OID known for curve '%s'\n", curve);
index e758b43..4642174 100644 (file)
@@ -558,6 +558,42 @@ leave:
 }
 
 
+/* Same as get_pubkey but if the key was not found the function tries
+ * to import it from LDAP.  FIXME: We should not need this but swicth
+ * to a fingerprint lookup.  */
+gpg_error_t
+get_pubkey_with_ldap_fallback (ctrl_t ctrl, PKT_public_key *pk, u32 *keyid)
+{
+  gpg_error_t err;
+
+  err = get_pubkey (ctrl, pk, keyid);
+  if (!err)
+    return 0;
+
+  if (gpg_err_code (err) != GPG_ERR_NO_PUBKEY)
+    return err;
+
+  /* Note that this code does not handle the case for two readers
+   * having both openpgp encryption keys.  Only one will be tried.  */
+  if (opt.debug)
+    log_debug ("using LDAP to find a public key\n");
+  err = keyserver_import_keyid (ctrl, keyid,
+                                opt.keyserver, KEYSERVER_IMPORT_FLAG_LDAP);
+  if (gpg_err_code (err) == GPG_ERR_NO_DATA
+      || gpg_err_code (err) == GPG_ERR_NO_KEYSERVER)
+    {
+      /* Dirmngr returns NO DATA is the selected keyserver
+       * does not have the requested key.  It returns NO
+       * KEYSERVER if no LDAP keyservers are configured.  */
+      err = gpg_error (GPG_ERR_NO_PUBKEY);
+    }
+  if (err)
+    return err;
+
+  return get_pubkey (ctrl, pk, keyid);
+}
+
+
 /* Similar to get_pubkey, but it does not take PK->REQ_USAGE into
  * account nor does it merge in the self-signed data.  This function
  * also only considers primary keys.  It is intended to be used as a
@@ -1020,10 +1056,12 @@ get_pubkey_byname (ctrl_t ctrl, enum get_pubkey_modes mode,
   int rc;
   strlist_t namelist = NULL;
   struct akl *akl;
-  int is_mbox;
+  int is_mbox, is_fpr;
+  KEYDB_SEARCH_DESC fprbuf;
   int nodefault = 0;
   int anylocalfirst = 0;
   int mechanism_type = AKL_NODEFAULT;
+  size_t fprbuf_fprlen = 0;
 
   /* If RETCTX is not NULL, then RET_KDBHD must be NULL.  */
   log_assert (retctx == NULL || ret_kdbhd == NULL);
@@ -1045,6 +1083,30 @@ get_pubkey_byname (ctrl_t ctrl, enum get_pubkey_modes mode,
       is_mbox = 1;
     }
 
+  /* If we are called due to --locate-external-key Check whether NAME
+   * is a fingerprint and then try to lookup that key by configured
+   * method which support lookup by fingerprint.  FPRBUF carries the
+   * parsed fingerpint iff IS_FPR is true.  */
+  is_fpr = 0;
+  if (!is_mbox && mode == GET_PUBKEY_NO_LOCAL)
+    {
+      if (!classify_user_id (name, &fprbuf, 1)
+          && (fprbuf.mode == KEYDB_SEARCH_MODE_FPR16
+              || fprbuf.mode == KEYDB_SEARCH_MODE_FPR20
+              || fprbuf.mode == KEYDB_SEARCH_MODE_FPR))
+        {
+          /* Note: We should get rid of the FPR16 because we don't
+           * support v3 keys anymore.  However, in 2.3 the fingerprint
+           * code has already been reworked and thus it is
+           * questionable whether we should really tackle this here.  */
+          if (fprbuf.mode == KEYDB_SEARCH_MODE_FPR16)
+            fprbuf_fprlen = 16;
+          else
+            fprbuf_fprlen = 20;
+          is_fpr = 1;
+        }
+    }
+
   /* The auto-key-locate feature works as follows: there are a number
    * of methods to look up keys.  By default, the local keyring is
    * tried first.  Then, each method listed in the --auto-key-locate is
@@ -1122,7 +1184,7 @@ get_pubkey_byname (ctrl_t ctrl, enum get_pubkey_modes mode,
      retrieval has been enabled, we try to import the key. */
   if (gpg_err_code (rc) == GPG_ERR_NO_PUBKEY
       && mode != GET_PUBKEY_NO_AKL
-      && is_mbox)
+      && (is_mbox || is_fpr))
     {
       /* NAME wasn't present in the local keyring (or we didn't try
        * the local keyring).  Since the auto key locate feature is
@@ -1148,6 +1210,8 @@ get_pubkey_byname (ctrl_t ctrl, enum get_pubkey_modes mode,
            case AKL_LOCAL:
               if (mode == GET_PUBKEY_NO_LOCAL)
                 {
+                  /* Note that we get here in is_fpr more, so there is
+                   * no extra check for it required.  */
                   mechanism_string = "";
                   rc = GPG_ERR_NO_PUBKEY;
                 }
@@ -1168,44 +1232,88 @@ get_pubkey_byname (ctrl_t ctrl, enum get_pubkey_modes mode,
              break;
 
            case AKL_CERT:
-             mechanism_string = "DNS CERT";
-             glo_ctrl.in_auto_key_retrieve++;
-             rc = keyserver_import_cert (ctrl, name, 0, &fpr, &fpr_len);
-             glo_ctrl.in_auto_key_retrieve--;
-             break;
+              if (is_fpr)
+                {
+                  mechanism_string = "";
+                  rc = GPG_ERR_NO_PUBKEY;
+                }
+              else
+                {
+                  mechanism_string = "DNS CERT";
+                  glo_ctrl.in_auto_key_retrieve++;
+                  rc = keyserver_import_cert (ctrl, name, 0, &fpr, &fpr_len);
+                  glo_ctrl.in_auto_key_retrieve--;
+                }
+              break;
 
            case AKL_PKA:
-             mechanism_string = "PKA";
-             glo_ctrl.in_auto_key_retrieve++;
-             rc = keyserver_import_pka (ctrl, name, &fpr, &fpr_len);
-             glo_ctrl.in_auto_key_retrieve--;
-             break;
+              if (is_fpr)
+                {
+                  mechanism_string = "";
+                  rc = GPG_ERR_NO_PUBKEY;
+                }
+              else
+                {
+                  mechanism_string = "PKA";
+                  glo_ctrl.in_auto_key_retrieve++;
+                  rc = keyserver_import_pka (ctrl, name, &fpr, &fpr_len);
+                  glo_ctrl.in_auto_key_retrieve--;
+                }
+              break;
 
            case AKL_DANE:
-             mechanism_string = "DANE";
-             glo_ctrl.in_auto_key_retrieve++;
-             rc = keyserver_import_cert (ctrl, name, 1, &fpr, &fpr_len);
-             glo_ctrl.in_auto_key_retrieve--;
+              if (is_fpr)
+                {
+                  mechanism_string = "";
+                  rc = GPG_ERR_NO_PUBKEY;
+                }
+              else
+                {
+                  mechanism_string = "DANE";
+                  glo_ctrl.in_auto_key_retrieve++;
+                  rc = keyserver_import_cert (ctrl, name, 1, &fpr, &fpr_len);
+                  glo_ctrl.in_auto_key_retrieve--;
+                }
              break;
 
            case AKL_WKD:
-             mechanism_string = "WKD";
-             glo_ctrl.in_auto_key_retrieve++;
-             rc = keyserver_import_wkd (ctrl, name, 0, &fpr, &fpr_len);
-             glo_ctrl.in_auto_key_retrieve--;
+              if (is_fpr)
+                {
+                  mechanism_string = "";
+                  rc = GPG_ERR_NO_PUBKEY;
+                }
+              else
+                {
+                  mechanism_string = "WKD";
+                  glo_ctrl.in_auto_key_retrieve++;
+                  rc = keyserver_import_wkd (ctrl, name, 0, &fpr, &fpr_len);
+                  glo_ctrl.in_auto_key_retrieve--;
+                }
              break;
 
            case AKL_LDAP:
-             mechanism_string = "LDAP";
-             glo_ctrl.in_auto_key_retrieve++;
-             rc = keyserver_import_ldap (ctrl, name, &fpr, &fpr_len);
-             glo_ctrl.in_auto_key_retrieve--;
-             break;
+              if (is_fpr)
+                {
+                  mechanism_string = "";
+                  rc = GPG_ERR_NO_PUBKEY;
+                }
+              else
+                {
+                  mechanism_string = "LDAP";
+                  glo_ctrl.in_auto_key_retrieve++;
+                  rc = keyserver_import_ldap (ctrl, name, &fpr, &fpr_len);
+                  glo_ctrl.in_auto_key_retrieve--;
+                }
+              break;
 
            case AKL_NTDS:
              mechanism_string = "NTDS";
              glo_ctrl.in_auto_key_retrieve++;
-             rc = keyserver_import_ntds (ctrl, name, &fpr, &fpr_len);
+              if (is_fpr)
+                rc = keyserver_import_fprint_ntds (ctrl,
+                                                   fprbuf.u.fpr, fprbuf_fprlen);
+              else
+                rc = keyserver_import_ntds (ctrl, name, &fpr, &fpr_len);
              glo_ctrl.in_auto_key_retrieve--;
              break;
 
@@ -1218,8 +1326,25 @@ get_pubkey_byname (ctrl_t ctrl, enum get_pubkey_modes mode,
                {
                  mechanism_string = "keyserver";
                  glo_ctrl.in_auto_key_retrieve++;
-                 rc = keyserver_import_name (ctrl, name, &fpr, &fpr_len,
-                                              opt.keyserver);
+                  if (is_fpr)
+                    {
+                      rc = keyserver_import_fprint (ctrl,
+                                                    fprbuf.u.fpr, fprbuf_fprlen,
+                                                    opt.keyserver,
+                                                    KEYSERVER_IMPORT_FLAG_LDAP);
+                      /* Map error codes because Dirmngr returns NO
+                       * DATA if the keyserver does not have the
+                       * requested key.  It returns NO KEYSERVER if no
+                       * LDAP keyservers are configured.  */
+                      if (gpg_err_code (rc) == GPG_ERR_NO_DATA
+                          || gpg_err_code (rc) == GPG_ERR_NO_KEYSERVER)
+                        rc = gpg_error (GPG_ERR_NO_PUBKEY);
+                    }
+                  else
+                    {
+                      rc = keyserver_import_mbox (ctrl, name, &fpr, &fpr_len,
+                                                  opt.keyserver);
+                    }
                  glo_ctrl.in_auto_key_retrieve--;
                }
              else
@@ -1236,8 +1361,21 @@ get_pubkey_byname (ctrl_t ctrl, enum get_pubkey_modes mode,
                mechanism_string = akl->spec->uri;
                keyserver = keyserver_match (akl->spec);
                glo_ctrl.in_auto_key_retrieve++;
-               rc = keyserver_import_name (ctrl,
-                                            name, &fpr, &fpr_len, keyserver);
+                if (is_fpr)
+                  {
+                    rc = keyserver_import_fprint (ctrl,
+                                                  fprbuf.u.fpr, fprbuf_fprlen,
+                                                  opt.keyserver,
+                                                  KEYSERVER_IMPORT_FLAG_LDAP);
+                    if (gpg_err_code (rc) == GPG_ERR_NO_DATA
+                        || gpg_err_code (rc) == GPG_ERR_NO_KEYSERVER)
+                      rc = gpg_error (GPG_ERR_NO_PUBKEY);
+                  }
+                else
+                  {
+                    rc = keyserver_import_mbox (ctrl, name,
+                                                &fpr, &fpr_len, keyserver);
+                  }
                glo_ctrl.in_auto_key_retrieve--;
              }
              break;
@@ -1250,21 +1388,27 @@ get_pubkey_byname (ctrl_t ctrl, enum get_pubkey_modes mode,
           * requirement as the URL might point to a key put in by an
           * attacker.  By forcing the use of the fingerprint, we
           * won't use the attacker's key here. */
-         if (!rc && fpr)
+         if (!rc && (fpr || is_fpr))
            {
              char fpr_string[MAX_FINGERPRINT_LEN * 2 + 1];
 
-             log_assert (fpr_len <= MAX_FINGERPRINT_LEN);
-
-             free_strlist (namelist);
-             namelist = NULL;
-
-             bin2hex (fpr, fpr_len, fpr_string);
+              if (is_fpr)
+                {
+                  log_assert (fprbuf_fprlen <= MAX_FINGERPRINT_LEN);
+                  bin2hex (fprbuf.u.fpr, fprbuf_fprlen, fpr_string);
+                }
+              else
+                {
+                  log_assert (fpr_len <= MAX_FINGERPRINT_LEN);
+                  bin2hex (fpr, fpr_len, fpr_string);
+                }
 
              if (opt.verbose)
                log_info ("auto-key-locate found fingerprint %s\n",
                          fpr_string);
 
+             free_strlist (namelist);
+             namelist = NULL;
              add_to_strlist (&namelist, fpr_string);
            }
          else if (!rc && !fpr && !did_akl_local)
@@ -3884,66 +4028,93 @@ lookup (ctrl_t ctrl, getkey_ctx_t ctx, int want_secret,
 }
 
 
+/* If a default key has been specified, return that key.  If a card
+ * based key is also available as indicated by FPR_CARD not being
+ * NULL, return that key if suitable.  */
 gpg_error_t
 get_seckey_default_or_card (ctrl_t ctrl, PKT_public_key *pk,
                             const byte *fpr_card, size_t fpr_len)
 {
   gpg_error_t err;
   strlist_t namelist = NULL;
+  const char *def_secret_key;
 
-  const char *def_secret_key = parse_def_secret_key (ctrl);
+  def_secret_key = parse_def_secret_key (ctrl);
 
   if (def_secret_key)
     add_to_strlist (&namelist, def_secret_key);
   else if (fpr_card)
     {
-      int rc = get_pubkey_byfprint (ctrl, pk, NULL, fpr_card, fpr_len);
+      err = get_pubkey_byfprint (ctrl, pk, NULL, fpr_card, fpr_len);
+      if (gpg_err_code (err) == GPG_ERR_NO_PUBKEY)
+        {
+          if (opt.debug)
+            log_debug ("using LDAP to find public key for current card\n");
+          err = keyserver_import_fprint (ctrl, fpr_card, fpr_len,
+                                         opt.keyserver,
+                                         KEYSERVER_IMPORT_FLAG_LDAP);
+          if (!err)
+            err = get_pubkey_byfprint (ctrl, pk, NULL, fpr_card, fpr_len);
+          else if (gpg_err_code (err) == GPG_ERR_NO_DATA
+                   || gpg_err_code (err) == GPG_ERR_NO_KEYSERVER)
+            {
+              /* Dirmngr returns NO DATA is the selected keyserver
+               * does not have the requested key.  It returns NO
+               * KEYSERVER if no LDAP keyservers are configured.  */
+              err = gpg_error (GPG_ERR_NO_PUBKEY);
+            }
+        }
 
       /* The key on card can be not suitable for requested usage.  */
-      if (rc == GPG_ERR_UNUSABLE_PUBKEY)
+      if (gpg_err_code (err) == GPG_ERR_UNUSABLE_PUBKEY)
         fpr_card = NULL;        /* Fallthrough as no card.  */
       else
-        return rc;
+        return err;  /* Success or other error.  */
     }
 
-  if (!fpr_card
-      || (def_secret_key && def_secret_key[strlen (def_secret_key)-1] == '!'))
-    err = key_byname (ctrl, NULL, namelist, pk, 1, 0, NULL, NULL);
+  if (!fpr_card || (def_secret_key && *def_secret_key
+                    && def_secret_key[strlen (def_secret_key)-1] == '!'))
+    {
+      err = key_byname (ctrl, NULL, namelist, pk, 1, 0, NULL, NULL);
+    }
   else
     { /* Default key is specified and card key is also available.  */
       kbnode_t k, keyblock = NULL;
 
       err = key_byname (ctrl, NULL, namelist, pk, 1, 0, &keyblock, NULL);
-      if (!err)
-        for (k = keyblock; k; k = k->next)
-          {
-            PKT_public_key *pk_candidate;
-            char fpr[MAX_FINGERPRINT_LEN];
-
-            if (k->pkt->pkttype != PKT_PUBLIC_KEY
-                &&k->pkt->pkttype != PKT_PUBLIC_SUBKEY)
-              continue;
-
-            pk_candidate = k->pkt->pkt.public_key;
-            if (!pk_candidate->flags.valid)
-              continue;
-            if (!((pk_candidate->pubkey_usage & USAGE_MASK) & pk->req_usage))
-              continue;
-            fingerprint_from_pk (pk_candidate, fpr, NULL);
-            if (!memcmp (fpr_card, fpr, fpr_len))
-              {
-                release_public_key_parts (pk);
-                copy_public_key (pk, pk_candidate);
-                break;
-              }
-          }
+      if (err)
+        goto leave;
+      for (k = keyblock; k; k = k->next)
+        {
+          PKT_public_key *pk_candidate;
+          char fpr[MAX_FINGERPRINT_LEN];
+
+          if (k->pkt->pkttype != PKT_PUBLIC_KEY
+              &&k->pkt->pkttype != PKT_PUBLIC_SUBKEY)
+            continue;
+
+          pk_candidate = k->pkt->pkt.public_key;
+          if (!pk_candidate->flags.valid)
+            continue;
+          if (!((pk_candidate->pubkey_usage & USAGE_MASK) & pk->req_usage))
+            continue;
+          fingerprint_from_pk (pk_candidate, fpr, NULL);
+          if (!memcmp (fpr_card, fpr, fpr_len))
+            {
+              release_public_key_parts (pk);
+              copy_public_key (pk, pk_candidate);
+              break;
+            }
+        }
       release_kbnode (keyblock);
     }
 
+ leave:
   free_strlist (namelist);
-
   return err;
 }
+
+
 \f
 /*********************************************
  ***********  User ID printing helpers *******
index 6b44cfb..dbbe990 100644 (file)
--- a/g10/gpg.c
+++ b/g10/gpg.c
 #define MY_O_BINARY  0
 #endif
 
-#ifdef __MINGW32__
-int _dowildcard = -1;
-#endif
-
 enum cmd_and_opt_values
   {
     aNull = 0,
@@ -430,6 +426,7 @@ enum cmd_and_opt_values
     oUseOnlyOpenPGPCard,
     oIncludeKeyBlock,
     oNoIncludeKeyBlock,
+    oForceSignKey,
 
     oNoop
   };
@@ -838,6 +835,7 @@ static ARGPARSE_OPTS opts[] = {
   ARGPARSE_s_s (oWeakDigest, "weak-digest","@"),
   ARGPARSE_s_n (oUnwrap, "unwrap", "@"),
   ARGPARSE_s_n (oOnlySignTextIDs, "only-sign-text-ids", "@"),
+  ARGPARSE_s_n (oForceSignKey,    "force-sign-key", "@"),
 
   /* Aliases.  I constantly mistype these, and assume other people do
      as well. */
@@ -972,7 +970,13 @@ static struct debug_flags_s debug_flags [] =
 
 int g10_errors_seen = 0;
 
-static int utf8_strings = 0;
+static int utf8_strings =
+#ifdef HAVE_W32_SYSTEM
+  1
+#else
+  0
+#endif
+  ;
 static int maybe_setuid = 1;
 
 static char *build_list( const char *text, char letter,
@@ -1133,6 +1137,10 @@ my_strusage( int level )
        p = zips;
        break;
 
+      case 95:
+        p = "1"; /* <-- Enable globbing under Windows (see init.c) */
+        break;
+
       default: p = NULL;
     }
     return p;
@@ -1848,7 +1856,7 @@ list_config(char *items)
          es_printf ("cfg:curveoid:");
           for (iter=0, first=1; (s = openpgp_enum_curves (&iter)); first = 0)
             {
-              s = openpgp_curve_to_oid (s, NULL);
+              s = openpgp_curve_to_oid (s, NULL, NULL);
               es_printf ("%s%s", first?"":";", s? s:"[?]");
             }
          es_printf ("\n");
@@ -1904,6 +1912,11 @@ gpgconf_list (const char *configfile)
      the top of keygen.c  */
   es_printf ("default_pubkey_algo:%lu:\"%s:\n", GC_OPT_FLAG_DEFAULT,
              get_default_pubkey_algo ());
+  /* This info only mode tells whether the we are running in de-vs
+   * compliance mode.  This does not test all parameters but the basic
+   * conditions like a proper RNG and Libgcrypt.  */
+  es_printf ("compliance_de_vs:%lu:%d:\n", GC_OPT_FLAG_DEFAULT,
+             opt.compliance==CO_DE_VS && gnupg_rng_is_compliant (CO_DE_VS));
 
   xfree (configfile_esc);
 }
@@ -2674,6 +2687,9 @@ main (int argc, char **argv)
 
          case oAnswerYes: opt.answer_yes = 1; break;
          case oAnswerNo: opt.answer_no = 1; break;
+
+          case oForceSignKey: opt.flags.force_sign_key = 1; break;
+
          case oKeyring: append_to_strlist( &nrings, pargs.r.ret_str); break;
          case oPrimaryKeyring:
            sl = append_to_strlist (&nrings, pargs.r.ret_str);
@@ -3298,7 +3314,11 @@ main (int argc, char **argv)
            opt.verify_options&=~VERIFY_SHOW_NOTATIONS;
            break;
          case oUtf8Strings: utf8_strings = 1; break;
-         case oNoUtf8Strings: utf8_strings = 0; break;
+         case oNoUtf8Strings:
+#ifdef HAVE_W32_SYSTEM
+            utf8_strings = 0;
+#endif
+            break;
          case oDisableCipherAlgo:
             {
               int algo = string_to_cipher_algo (pargs.r.ret_str);
@@ -3788,7 +3808,8 @@ main (int argc, char **argv)
       log_error(_("invalid min-cert-level; must be 1, 2, or 3\n"));
     switch( opt.s2k_mode ) {
       case 0:
-       log_info(_("Note: simple S2K mode (0) is strongly discouraged\n"));
+        if (!opt.quiet)
+          log_info(_("Note: simple S2K mode (0) is strongly discouraged\n"));
        break;
       case 1: case 3: break;
       default:
index ac4b1fe..71adb04 100644 (file)
@@ -420,23 +420,33 @@ keyserver_any_configured (ctrl_t ctrl)
 }
 
 int
-keyserver_import_keyid (u32 *keyid, void *dummy, int quick)
+keyserver_import_keyid (u32 *keyid, void *dummy, unsigned int flags)
 {
   (void)keyid;
   (void)dummy;
-  (void)quick;
+  (void)flags;
   return -1;
 }
 
 int
 keyserver_import_fprint (ctrl_t ctrl, const byte *fprint,size_t fprint_len,
-                        struct keyserver_spec *keyserver, int quick)
+                        struct keyserver_spec *keyserver, unsigned int flags)
 {
   (void)ctrl;
   (void)fprint;
   (void)fprint_len;
   (void)keyserver;
-  (void)quick;
+  (void)flags;
+  return -1;
+}
+
+int
+keyserver_import_fprint_ntds (ctrl_t ctrl,
+                              const byte *fprint, size_t fprint_len)
+{
+  (void)ctrl;
+  (void)fprint;
+  (void)fprint_len;
   return -1;
 }
 
@@ -456,19 +466,19 @@ keyserver_import_pka (const char *name,unsigned char *fpr)
 }
 
 gpg_error_t
-keyserver_import_wkd (ctrl_t ctrl, const char *name, int quick,
+keyserver_import_wkd (ctrl_t ctrl, const char *name, unsigned int flags,
                       unsigned char **fpr, size_t *fpr_len)
 {
   (void)ctrl;
   (void)name;
-  (void)quick;
+  (void)flags;
   (void)fpr;
   (void)fpr_len;
   return GPG_ERR_BUG;
 }
 
 int
-keyserver_import_name (const char *name,struct keyserver_spec *spec)
+keyserver_import_mbox (const char *name,struct keyserver_spec *spec)
 {
   (void)name;
   (void)spec;
@@ -574,13 +584,14 @@ check_secret_key (PKT_public_key *pk, int n)
  */
 DEK *
 passphrase_to_dek (int cipher_algo, STRING2KEY *s2k, int create, int nocache,
-                   const char *tmp, int *canceled)
+                   const char *tmp, unsigned int flags, int *canceled)
 {
   (void)cipher_algo;
   (void)s2k;
   (void)create;
   (void)nocache;
   (void)tmp;
+  (void)flags;
 
   if (canceled)
     *canceled = 0;
index c8692e2..b2d5c1d 100644 (file)
@@ -218,8 +218,20 @@ parse_import_options(char *str,unsigned int *options,int noisy)
       {NULL,0,NULL,NULL}
     };
   int rc;
+  int saved_self_sigs_only;
+
+  /* We need to set a flag indicating wether the user has set
+   * IMPORT_SELF_SIGS_ONLY or it came from the default.  */
+  saved_self_sigs_only = (*options & IMPORT_SELF_SIGS_ONLY);
+  saved_self_sigs_only &= ~IMPORT_SELF_SIGS_ONLY;
 
   rc = parse_options (str, options, import_opts, noisy);
+
+  if (rc && (*options & IMPORT_SELF_SIGS_ONLY))
+    opt.flags.expl_import_self_sigs_only = 1;
+  else
+    *options |= saved_self_sigs_only;
+
   if (rc && (*options & IMPORT_RESTORE))
     {
       /* Alter other options we want or don't want for restore.  */
index e1a316c..0f8d711 100644 (file)
@@ -277,20 +277,21 @@ gpg_error_t build_sk_list (ctrl_t ctrl, strlist_t locusr,
                            SK_LIST *ret_sk_list, unsigned use);
 
 /*-- passphrase.h --*/
+
+/* Flags for passphrase_to_dek */
+#define GETPASSWORD_FLAG_SYMDECRYPT  1
+
+
 unsigned char encode_s2k_iterations (int iterations);
 int  have_static_passphrase(void);
 const char *get_static_passphrase (void);
 void set_passphrase_from_string(const char *pass);
 void read_passphrase_from_fd( int fd );
 void passphrase_clear_cache (const char *cacheid);
-DEK *passphrase_to_dek_ext(u32 *keyid, int pubkey_algo,
-                           int cipher_algo, STRING2KEY *s2k, int mode,
-                           const char *tryagain_text,
-                           const char *custdesc, const char *custprompt,
-                           int *canceled);
 DEK *passphrase_to_dek (int cipher_algo, STRING2KEY *s2k,
                         int create, int nocache,
-                        const char *tryagain_text, int *canceled);
+                        const char *tryagain_text, unsigned int flags,
+                        int *canceled);
 void set_next_passphrase( const char *s );
 char *get_last_passphrase(void);
 void next_to_last_passphrase(void);
@@ -322,6 +323,10 @@ gpg_error_t get_pubkey_for_sig (ctrl_t ctrl,
 /* Return the public key with the key id KEYID and store it at PK.  */
 int get_pubkey (ctrl_t ctrl, PKT_public_key *pk, u32 *keyid);
 
+/* Same as get_pubkey but with auto LDAP fetch.  */
+gpg_error_t get_pubkey_with_ldap_fallback (ctrl_t ctrl,
+                                           PKT_public_key *pk, u32 * keyid);
+
 /* Similar to get_pubkey, but it does not take PK->REQ_USAGE into
    account nor does it merge in the self-signed data.  This function
    also only considers primary keys.  */
index ed81c4a..ea3bcf2 100644 (file)
@@ -751,10 +751,11 @@ sign_uids (ctrl_t ctrl, estream_t fp,
                                 _("\"%s\" was already signed by key %s\n"),
                                user, keystr_from_pk (pk));
 
-                 if (opt.expert && !quick
-                     && cpr_get_answer_is_yes ("sign_uid.dupe_okay",
-                                               _("Do you want to sign it "
-                                                 "again anyway? (y/N) ")))
+                 if (opt.flags.force_sign_key
+                      || (opt.expert && !quick
+                          && cpr_get_answer_is_yes ("sign_uid.dupe_okay",
+                                                    _("Do you want to sign it "
+                                                      "again anyway? (y/N) "))))
                    {
                      /* Don't delete the old sig here since this is
                         an --expert thing. */
index d50acf8..5d8cccb 100644 (file)
@@ -1160,7 +1160,7 @@ ecckey_from_sexp (gcry_mpi_t *array, gcry_sexp_t sexp, int algo)
       goto leave;
     }
   gcry_sexp_release (l2);
-  oidstr = openpgp_curve_to_oid (curve, &nbits);
+  oidstr = openpgp_curve_to_oid (curve, &nbits, NULL);
   if (!oidstr)
     {
       /* That can't happen because we used one of the curves
index 7deb04d..d8006ee 100644 (file)
@@ -1682,7 +1682,7 @@ list_keyblock_colon (ctrl_t ctrl, kbnode_t keyblock,
           char *reason_text = NULL;
           char *reason_comment = NULL;
           size_t reason_commentlen;
-          int reason_code;
+          int reason_code = 0;  /* init to silence cc warning.  */
 
          if (sig->sig_class == 0x20 || sig->sig_class == 0x28
              || sig->sig_class == 0x30)
index f5f7f36..45cb936 100644 (file)
 #define _KEYSERVER_INTERNAL_H_
 
 #include <time.h>
-#include "../common/keyserver.h"
 #include "../common/iobuf.h"
 #include "../common/types.h"
 
+/* Flags for the keyserver import functions.  */
+#define KEYSERVER_IMPORT_FLAG_QUICK 1
+#define KEYSERVER_IMPORT_FLAG_LDAP  2
+
 int parse_keyserver_options(char *options);
 void free_keyserver_spec(struct keyserver_spec *keyserver);
 struct keyserver_spec *keyserver_match(struct keyserver_spec *spec);
@@ -35,9 +38,13 @@ int keyserver_any_configured (ctrl_t ctrl);
 int keyserver_export (ctrl_t ctrl, strlist_t users);
 int keyserver_import (ctrl_t ctrl, strlist_t users);
 int keyserver_import_fprint (ctrl_t ctrl, const byte *fprint,size_t fprint_len,
-                             struct keyserver_spec *keyserver, int quick);
+                             struct keyserver_spec *keyserver,
+                             unsigned int flags);
+int keyserver_import_fprint_ntds (ctrl_t ctrl,
+                                  const byte *fprint, size_t fprint_len);
 int keyserver_import_keyid (ctrl_t ctrl, u32 *keyid,
-                            struct keyserver_spec *keyserver, int quick);
+                            struct keyserver_spec *keyserver,
+                            unsigned int flags);
 gpg_error_t keyserver_refresh (ctrl_t ctrl, strlist_t users);
 gpg_error_t keyserver_search (ctrl_t ctrl, strlist_t tokens);
 int keyserver_fetch (ctrl_t ctrl, strlist_t urilist, int origin);
@@ -45,12 +52,13 @@ int keyserver_import_cert (ctrl_t ctrl, const char *name, int dane_mode,
                            unsigned char **fpr,size_t *fpr_len);
 gpg_error_t keyserver_import_pka (ctrl_t ctrl, const char *name,
                                   unsigned char **fpr,size_t *fpr_len);
-gpg_error_t keyserver_import_wkd (ctrl_t ctrl, const char *name, int quick,
+gpg_error_t keyserver_import_wkd (ctrl_t ctrl, const char *name,
+                                  unsigned int flags,
                                   unsigned char **fpr, size_t *fpr_len);
 int keyserver_import_ntds (ctrl_t ctrl, const char *name,
                            unsigned char **fpr,size_t *fpr_len);
-int keyserver_import_name (ctrl_t ctrl,
-                           const char *name,unsigned char **fpr,size_t *fpr_len,
+int keyserver_import_mbox (ctrl_t ctrl, const char *mbox,
+                           unsigned char **fpr,size_t *fpr_len,
                            struct keyserver_spec *keyserver);
 int keyserver_import_ldap (ctrl_t ctrl, const char *name,
                            unsigned char **fpr,size_t *fpr_len);
index b0f52fa..751022a 100644 (file)
@@ -108,7 +108,7 @@ static struct parse_options keyserver_opts[]=
 static gpg_error_t keyserver_get (ctrl_t ctrl,
                                   KEYDB_SEARCH_DESC *desc, int ndesc,
                                   struct keyserver_spec *override_keyserver,
-                                  int quick,
+                                  unsigned int flags,
                                   unsigned char **r_fpr, size_t *r_fprlen);
 static gpg_error_t keyserver_put (ctrl_t ctrl, strlist_t keyspecs);
 
@@ -186,37 +186,17 @@ void
 free_keyserver_spec(struct keyserver_spec *keyserver)
 {
   xfree(keyserver->uri);
-  xfree(keyserver->scheme);
-  xfree(keyserver->auth);
-  xfree(keyserver->host);
-  xfree(keyserver->port);
-  xfree(keyserver->path);
-  xfree(keyserver->opaque);
-  free_strlist(keyserver->options);
   xfree(keyserver);
 }
 
 /* Return 0 for match */
 static int
-cmp_keyserver_spec(struct keyserver_spec *one,struct keyserver_spec *two)
+cmp_keyserver_spec(struct keyserver_spec *one, struct keyserver_spec *two)
 {
-  if(ascii_strcasecmp(one->scheme,two->scheme)==0)
-    {
-      if(one->host && two->host && ascii_strcasecmp(one->host,two->host)==0)
-       {
-         if((one->port && two->port
-             && ascii_strcasecmp(one->port,two->port)==0)
-            || (!one->port && !two->port))
-           return 0;
-       }
-      else if(one->opaque && two->opaque
-             && ascii_strcasecmp(one->opaque,two->opaque)==0)
-       return 0;
-    }
-
-  return 1;
+  return !!ascii_strcasecmp(one->uri, two->uri);
 }
 
+
 /* Try and match one of our keyservers.  If we can, return that.  If
    we can't, return our input. */
 struct keyserver_spec *
@@ -231,40 +211,24 @@ keyserver_match(struct keyserver_spec *spec)
   return spec;
 }
 
-/* TODO: once we cut over to an all-curl world, we don't need this
-   parser any longer so it can be removed, or at least moved to
-   keyserver/ksutil.c for limited use in gpgkeys_ldap or the like. */
 
+/* Create a new keyserver object from STRING.  Unless REQUIRE_SCHEME
+ * is set a missing scheme is replaced by "hkp://".  The data structure
+ * could be much easier but in the past we parsed the URI here for the
+ * old 2.0 keyserver helpers - which is not anymore needed.  */
 keyserver_spec_t
-parse_keyserver_uri (const char *string,int require_scheme)
+parse_keyserver_uri (const char *string, int require_scheme)
 {
-  int assume_hkp=0;
   struct keyserver_spec *keyserver;
   const char *idx;
   int count;
-  char *uri, *duped_uri, *options;
 
   log_assert (string);
 
-  keyserver=xmalloc_clear(sizeof(struct keyserver_spec));
-
-  duped_uri = uri = xstrdup (string);
-
-  options=strchr(uri,' ');
-  if(options)
-    {
-      char *tok;
-
-      *options='\0';
-      options++;
-
-      while((tok=optsep(&options)))
-       warn_kshelper_option (tok, 0);
-    }
+  keyserver = xcalloc (1, sizeof *keyserver);
 
   /* Get the scheme */
-
-  for(idx=uri,count=0;*idx && *idx!=':';idx++)
+  for(idx=string, count=0; *idx && *idx!=':';idx++)
     {
       count++;
 
@@ -290,162 +254,21 @@ parse_keyserver_uri (const char *string,int require_scheme)
        return NULL;
 
       /* Assume HKP if there is no scheme */
-      assume_hkp=1;
-      keyserver->scheme=xstrdup("hkp");
-
-      keyserver->uri=xmalloc(strlen(keyserver->scheme)+3+strlen(uri)+1);
-      strcpy(keyserver->uri,keyserver->scheme);
-      strcat(keyserver->uri,"://");
-      strcat(keyserver->uri,uri);
+      keyserver->uri = xstrconcat ("hkp://", string, NULL);
     }
   else
     {
-      int i;
-
-      keyserver->uri=xstrdup(uri);
-
-      keyserver->scheme=xmalloc(count+1);
-
-      /* Force to lowercase */
-      for(i=0;i<count;i++)
-       keyserver->scheme[i]=ascii_tolower(uri[i]);
-
-      keyserver->scheme[i]='\0';
-
-      /* Skip past the scheme and colon */
-      uri+=count+1;
-    }
-
-  if(ascii_strcasecmp(keyserver->scheme,"x-broken-hkp")==0)
-    {
-      log_info ("keyserver option '%s' is obsolete\n",
-                "x-broken-hkp");
-    }
-  else if(ascii_strcasecmp(keyserver->scheme,"x-hkp")==0)
-    {
-      /* Canonicalize this to "hkp" so it works with both the internal
-        and external keyserver interface. */
-      xfree(keyserver->scheme);
-      keyserver->scheme=xstrdup("hkp");
-    }
-
-  if (uri[0]=='/' && uri[1]=='/' && uri[2] == '/')
-    {
-      /* Three slashes means network path with a default host name.
-         This is a hack because it does not crok all possible
-         combinations.  We should better replace all code by the parser
-         from http.c.  */
-      keyserver->path = xstrdup (uri+2);
+      keyserver->uri = xstrdup (string);
     }
-  else if(assume_hkp || (uri[0]=='/' && uri[1]=='/'))
-    {
-      /* Two slashes means network path. */
-
-      /* Skip over the "//", if any */
-      if(!assume_hkp)
-       uri+=2;
-
-      /* Do we have userinfo auth data present? */
-      for(idx=uri,count=0;*idx && *idx!='@' && *idx!='/';idx++)
-       count++;
-
-      /* We found a @ before the slash, so that means everything
-        before the @ is auth data. */
-      if(*idx=='@')
-       {
-         if(count==0)
-           goto fail;
-
-         keyserver->auth=xmalloc(count+1);
-         strncpy(keyserver->auth,uri,count);
-         keyserver->auth[count]='\0';
-         uri+=count+1;
-       }
-
-      /* Is it an RFC-2732 ipv6 [literal address] ? */
-      if(*uri=='[')
-       {
-         for(idx=uri+1,count=1;*idx
-               && ((isascii (*idx) && isxdigit(*idx))
-                    || *idx==':' || *idx=='.');idx++)
-           count++;
-
-         /* Is the ipv6 literal address terminated? */
-         if(*idx==']')
-           count++;
-         else
-           goto fail;
-       }
-      else
-       for(idx=uri,count=0;*idx && *idx!=':' && *idx!='/';idx++)
-         count++;
-
-      if(count==0)
-       goto fail;
-
-      keyserver->host=xmalloc(count+1);
-      strncpy(keyserver->host,uri,count);
-      keyserver->host[count]='\0';
 
-      /* Skip past the host */
-      uri+=count;
-
-      if(*uri==':')
-       {
-         /* It would seem to be reasonable to limit the range of the
-            ports to values between 1-65535, but RFC 1738 and 1808
-            imply there is no limit.  Of course, the real world has
-            limits. */
-
-         for(idx=uri+1,count=0;*idx && *idx!='/';idx++)
-           {
-             count++;
-
-             /* Ports are digits only */
-             if(!digitp(idx))
-               goto fail;
-           }
-
-         keyserver->port=xmalloc(count+1);
-         strncpy(keyserver->port,uri+1,count);
-         keyserver->port[count]='\0';
-
-         /* Skip past the colon and port number */
-         uri+=1+count;
-       }
-
-      /* Everything else is the path */
-      if(*uri)
-       keyserver->path=xstrdup(uri);
-      else
-       keyserver->path=xstrdup("/");
-
-      if(keyserver->path[1])
-       keyserver->flags.direct_uri=1;
-    }
-  else if(uri[0]!='/')
-    {
-      /* No slash means opaque.  Just record the opaque blob and get
-        out. */
-      keyserver->opaque=xstrdup(uri);
-    }
-  else
-    {
-      /* One slash means absolute path.  We don't need to support that
-        yet. */
-      goto fail;
-    }
-
-  xfree (duped_uri);
   return keyserver;
 
  fail:
   free_keyserver_spec(keyserver);
-
-  xfree (duped_uri);
   return NULL;
 }
 
+
 struct keyserver_spec *
 parse_preferred_keyserver(PKT_signature *sig)
 {
@@ -1142,18 +965,16 @@ keyserver_any_configured (ctrl_t ctrl)
 }
 
 
-/* Import all keys that exactly match NAME */
+/* Import all keys that exactly match MBOX */
 int
-keyserver_import_name (ctrl_t ctrl, const char *name,
+keyserver_import_mbox (ctrl_t ctrl, const char *mbox,
                        unsigned char **fpr, size_t *fprlen,
                        struct keyserver_spec *keyserver)
 {
-  KEYDB_SEARCH_DESC desc;
-
-  memset (&desc, 0, sizeof desc);
+  KEYDB_SEARCH_DESC desc = { 0 };
 
-  desc.mode = KEYDB_SEARCH_MODE_EXACT;
-  desc.u.name = name;
+  desc.mode = KEYDB_SEARCH_MODE_MAIL;
+  desc.u.name = mbox;
 
   return keyserver_get (ctrl, &desc, 1, keyserver, 0, fpr, fprlen);
 }
@@ -1175,30 +996,42 @@ keyserver_import_ntds (ctrl_t ctrl, const char *mbox,
 
 
 int
-keyserver_import_fprint (ctrl_t ctrl, const byte *fprint,size_t fprint_len,
-                        struct keyserver_spec *keyserver, int quick)
+keyserver_import_fprint (ctrl_t ctrl, const byte *fprint, size_t fprint_len,
+                        struct keyserver_spec *keyserver,
+                         unsigned int flags)
 {
   KEYDB_SEARCH_DESC desc;
 
-  memset(&desc,0,sizeof(desc));
+  memset (&desc, 0, sizeof(desc));
 
   if(fprint_len==16)
     desc.mode=KEYDB_SEARCH_MODE_FPR16;
   else if(fprint_len==20)
     desc.mode=KEYDB_SEARCH_MODE_FPR20;
   else
-    return -1;
+    return gpg_error (GPG_ERR_INV_ARG);
 
-  memcpy(desc.u.fpr,fprint,fprint_len);
+  memcpy (desc.u.fpr, fprint, fprint_len);
 
-  /* TODO: Warn here if the fingerprint we got doesn't match the one
-     we asked for? */
-  return keyserver_get (ctrl, &desc, 1, keyserver, quick, NULL, NULL);
+  return keyserver_get (ctrl, &desc, 1, keyserver, flags, NULL, NULL);
 }
 
+
+int
+keyserver_import_fprint_ntds (ctrl_t ctrl,
+                              const byte *fprint, size_t fprint_len)
+{
+  struct keyserver_spec keyserver = { NULL, "ldap:///" };
+
+  return keyserver_import_fprint (ctrl, fprint, fprint_len,
+                                  &keyserver, KEYSERVER_IMPORT_FLAG_LDAP);
+}
+
+
 int
 keyserver_import_keyid (ctrl_t ctrl,
-                        u32 *keyid,struct keyserver_spec *keyserver, int quick)
+                        u32 *keyid,struct keyserver_spec *keyserver,
+                        unsigned int flags)
 {
   KEYDB_SEARCH_DESC desc;
 
@@ -1208,14 +1041,14 @@ keyserver_import_keyid (ctrl_t ctrl,
   desc.u.kid[0]=keyid[0];
   desc.u.kid[1]=keyid[1];
 
-  return keyserver_get (ctrl, &desc, 1, keyserver, quick, NULL, NULL);
+  return keyserver_get (ctrl, &desc, 1, keyserver, flags, NULL, NULL);
 }
 
 
 /* code mostly stolen from do_export_stream */
 static int
 keyidlist (ctrl_t ctrl, strlist_t users, KEYDB_SEARCH_DESC **klist,
-           int *count, int fakev3)
+           int *count)
 {
   int rc = 0;
   int num = 100;
@@ -1280,28 +1113,6 @@ keyidlist (ctrl_t ctrl, strlist_t users, KEYDB_SEARCH_DESC **klist,
 
       if((node=find_kbnode(keyblock,PKT_PUBLIC_KEY)))
        {
-         /* This is to work around a bug in some keyservers (pksd and
-             OKS) that calculate v4 RSA keyids as if they were v3 RSA.
-             The answer is to refresh both the correct v4 keyid
-             (e.g. 99242560) and the fake v3 keyid (e.g. 68FDDBC7).
-             This only happens for key refresh using the HKP scheme
-             and if the refresh-add-fake-v3-keyids keyserver option is
-             set. */
-         if(fakev3 && is_RSA(node->pkt->pkt.public_key->pubkey_algo) &&
-            node->pkt->pkt.public_key->version>=4)
-           {
-             (*klist)[*count].mode=KEYDB_SEARCH_MODE_LONG_KID;
-             v3_keyid (node->pkt->pkt.public_key->pkey[0],
-                        (*klist)[*count].u.kid);
-             (*count)++;
-
-             if(*count==num)
-               {
-                 num+=100;
-                 *klist=xrealloc(*klist,sizeof(KEYDB_SEARCH_DESC)*num);
-               }
-           }
-
          /* v4 keys get full fingerprints.  v3 keys get long keyids.
              This is because it's easy to calculate any sort of keyid
              from a v4 fingerprint, but not a v3 fingerprint. */
@@ -1392,7 +1203,6 @@ keyserver_refresh (ctrl_t ctrl, strlist_t users)
 {
   gpg_error_t err;
   int count, numdesc;
-  int fakev3 = 0;
   KEYDB_SEARCH_DESC *desc;
   unsigned int options=opt.keyserver_options.import_options;
 
@@ -1406,19 +1216,8 @@ keyserver_refresh (ctrl_t ctrl, strlist_t users)
      the end here. */
   opt.keyserver_options.import_options|=IMPORT_FAST;
 
-  /* If refresh_add_fake_v3_keyids is on and it's a HKP or MAILTO
-     scheme, then enable fake v3 keyid generation.  Note that this
-     works only with a keyserver configured. gpg.conf
-     (i.e. opt.keyserver); however that method of configuring a
-     keyserver is deprecated and in any case it is questionable
-     whether we should keep on supporting these ancient and broken
-     keyservers.  */
-  if((opt.keyserver_options.options&KEYSERVER_ADD_FAKE_V3) && opt.keyserver
-     && (ascii_strcasecmp(opt.keyserver->scheme,"hkp")==0 ||
-        ascii_strcasecmp(opt.keyserver->scheme,"mailto")==0))
-    fakev3=1;
-
-  err = keyidlist (ctrl, users, &desc, &numdesc, fakev3);
+
+  err = keyidlist (ctrl, users, &desc, &numdesc);
   if (err)
     return err;
 
@@ -1505,16 +1304,6 @@ keyserver_search (ctrl_t ctrl, strlist_t tokens)
   if (!tokens)
     return 0;  /* Return success if no patterns are given.  */
 
-  /* Write global options */
-
-  /* for(temp=opt.keyserver_options.other;temp;temp=temp->next) */
-  /*   es_fprintf(spawn->tochild,"OPTION %s\n",temp->d); */
-
-  /* Write per-keyserver options */
-
-  /* for(temp=keyserver->options;temp;temp=temp->next) */
-  /*   es_fprintf(spawn->tochild,"OPTION %s\n",temp->d); */
-
   {
     membuf_t mb;
     strlist_t item;
@@ -1534,8 +1323,6 @@ keyserver_search (ctrl_t ctrl, strlist_t tokens)
         goto leave;
       }
   }
-  /* FIXME: Enable the next line */
-  /* log_info (_("searching for \"%s\" from %s\n"), searchstr, keyserver->uri); */
 
   parm.ctrl = ctrl;
   if (searchstr)
@@ -1557,31 +1344,6 @@ keyserver_search (ctrl_t ctrl, strlist_t tokens)
   else if (err)
     log_error ("error searching keyserver: %s\n", gpg_strerror (err));
 
-  /* switch(ret) */
-  /*   { */
-  /*   case KEYSERVER_SCHEME_NOT_FOUND: */
-  /*     log_error(_("no handler for keyserver scheme '%s'\n"), */
-  /*               opt.keyserver->scheme); */
-  /*     break; */
-
-  /*   case KEYSERVER_NOT_SUPPORTED: */
-  /*     log_error(_("action '%s' not supported with keyserver " */
-  /*                 "scheme '%s'\n"), "search", opt.keyserver->scheme); */
-  /*     break; */
-
-  /*   case KEYSERVER_TIMEOUT: */
-  /*     log_error(_("keyserver timed out\n")); */
-  /*     break; */
-
-  /*   case KEYSERVER_INTERNAL_ERROR: */
-  /*   default: */
-  /*     log_error(_("keyserver internal error\n")); */
-  /*     break; */
-  /*   } */
-
-  /* return gpg_error (GPG_ERR_KEYSERVER); */
-
-
  leave:
   xfree (parm.desc);
   xfree (parm.searchstr_disp);
@@ -1599,7 +1361,7 @@ keyserver_get_chunk (ctrl_t ctrl, KEYDB_SEARCH_DESC *desc, int ndesc,
                      int *r_ndesc_used,
                      import_stats_t stats_handle,
                      struct keyserver_spec *override_keyserver,
-                     int quick,
+                     unsigned int flags,
                      unsigned char **r_fpr, size_t *r_fprlen)
 
 {
@@ -1628,7 +1390,7 @@ keyserver_get_chunk (ctrl_t ctrl, KEYDB_SEARCH_DESC *desc, int ndesc,
      single request will be rejected only later by gpg_dirmngr_ks_get
      but we are sure that R_NDESC_USED has been updated.  This avoids
      a possible indefinite loop.  */
-  linelen = 17; /* "KS_GET --quick --" */
+  linelen = 24; /* "KS_GET --quick --ldap --" */
   for (npat=npat_fpr=0, idx=0; idx < ndesc; idx++)
     {
       int quiet = 0;
@@ -1739,13 +1501,8 @@ keyserver_get_chunk (ctrl_t ctrl, KEYDB_SEARCH_DESC *desc, int ndesc,
 
       if (!quiet && override_keyserver)
         {
-          if (override_keyserver->host)
-            log_info (_("requesting key %s from %s server %s\n"),
-                      keystr_from_desc (&desc[idx]),
-                      override_keyserver->scheme, override_keyserver->host);
-          else
-            log_info (_("requesting key %s from %s\n"),
-                      keystr_from_desc (&desc[idx]), override_keyserver->uri);
+          log_info (_("requesting key %s from %s\n"),
+                    keystr_from_desc (&desc[idx]), override_keyserver->uri);
         }
     }
 
@@ -1755,7 +1512,7 @@ keyserver_get_chunk (ctrl_t ctrl, KEYDB_SEARCH_DESC *desc, int ndesc,
 
   only_fprs = (npat && npat == npat_fpr);
 
-  err = gpg_dirmngr_ks_get (ctrl, pattern, override_keyserver, quick,
+  err = gpg_dirmngr_ks_get (ctrl, pattern, override_keyserver, flags,
                             &datastream, &source);
   for (idx=0; idx < npat; idx++)
     xfree (pattern[idx]);
@@ -1763,9 +1520,12 @@ keyserver_get_chunk (ctrl_t ctrl, KEYDB_SEARCH_DESC *desc, int ndesc,
   if (opt.verbose && source)
     log_info ("data source: %s\n", source);
 
+
+
   if (!err)
     {
       struct ks_retrieval_screener_arg_s screenerarg;
+      unsigned int options;
 
       /* FIXME: Check whether this comment should be moved to dirmngr.
 
@@ -1779,12 +1539,18 @@ keyserver_get_chunk (ctrl_t ctrl, KEYDB_SEARCH_DESC *desc, int ndesc,
          never accept or send them but we better protect against rogue
          keyservers. */
 
+      /* For LDAP servers we reset IMPORT_SELF_SIGS_ONLY unless it has
+       * been set explicitly.  */
+      options = (opt.keyserver_options.import_options | IMPORT_NO_SECKEY);
+      if (source && (!strncmp (source, "ldap:", 5)
+                     || !strncmp (source, "ldaps:", 6))
+          && !opt.flags.expl_import_self_sigs_only)
+        options &= ~IMPORT_SELF_SIGS_ONLY;
+
       screenerarg.desc = desc;
       screenerarg.ndesc = *r_ndesc_used;
       import_keys_es_stream (ctrl, datastream, stats_handle,
-                             r_fpr, r_fprlen,
-                             (opt.keyserver_options.import_options
-                              | IMPORT_NO_SECKEY),
+                             r_fpr, r_fprlen, options,
                              keyserver_retrieval_screener, &screenerarg,
                              only_fprs? KEYORG_KS : 0,
                              source);
@@ -1800,11 +1566,12 @@ keyserver_get_chunk (ctrl_t ctrl, KEYDB_SEARCH_DESC *desc, int ndesc,
    (DESC,NDESC).  Allowed search modes are keyid, fingerprint, and
    exact searches.  OVERRIDE_KEYSERVER gives an optional override
    keyserver. If (R_FPR,R_FPRLEN) are not NULL, they may return the
-   fingerprint of a single imported key.  If QUICK is set, dirmngr is
-   advised to use a shorter timeout. */
+   fingerprint of a single imported key.  If the FLAG bit
+   KEYSERVER_IMPORT_FLAG_QUICK is set, dirmngr is advised to use a
+   shorter timeout. */
 static gpg_error_t
 keyserver_get (ctrl_t ctrl, KEYDB_SEARCH_DESC *desc, int ndesc,
-               struct keyserver_spec *override_keyserver, int quick,
+               struct keyserver_spec *override_keyserver, unsigned int flags,
                unsigned char **r_fpr, size_t *r_fprlen)
 {
   gpg_error_t err;
@@ -1817,7 +1584,7 @@ keyserver_get (ctrl_t ctrl, KEYDB_SEARCH_DESC *desc, int ndesc,
   for (;;)
     {
       err = keyserver_get_chunk (ctrl, desc, ndesc, &ndesc_used, stats_handle,
-                                 override_keyserver, quick, r_fpr, r_fprlen);
+                                 override_keyserver, flags, r_fpr, r_fprlen);
       if (!err)
         any_good = 1;
       if (err || ndesc_used >= ndesc)
@@ -2078,7 +1845,7 @@ keyserver_import_pka (ctrl_t ctrl, const char *name,
 
 /* Import a key using the Web Key Directory protocol.  */
 gpg_error_t
-keyserver_import_wkd (ctrl_t ctrl, const char *name, int quick,
+keyserver_import_wkd (ctrl_t ctrl, const char *name, unsigned int flags,
                       unsigned char **fpr, size_t *fpr_len)
 {
   gpg_error_t err;
@@ -2097,7 +1864,7 @@ keyserver_import_wkd (ctrl_t ctrl, const char *name, int quick,
       return err;
     }
 
-  err = gpg_dirmngr_wkd_get (ctrl, mbox, quick, &key, &url);
+  err = gpg_dirmngr_wkd_get (ctrl, mbox, flags, &key, &url);
   if (err)
     ;
   else if (key)
index 762fc79..b032afb 100644 (file)
@@ -393,7 +393,10 @@ proc_symkey_enc (CTX c, PACKET *pkt)
             }
         }
       else
-        log_error (_("encrypted with unknown algorithm %d\n"), algo);
+        {
+          log_error (_("encrypted with unknown algorithm %d\n"), algo);
+          s = NULL; /* Force a goto leave.  */
+        }
 
       if (openpgp_md_test_algo (enc->s2k.hash_algo))
         {
@@ -417,7 +420,8 @@ proc_symkey_enc (CTX c, PACKET *pkt)
         }
       else
         {
-          c->dek = passphrase_to_dek (algo, &enc->s2k, 0, 0, NULL, NULL);
+          c->dek = passphrase_to_dek (algo, &enc->s2k, 0, 0, NULL,
+                                      GETPASSWORD_FLAG_SYMDECRYPT, NULL);
           if (c->dek)
             {
               c->dek->symmetric = 1;
@@ -706,7 +710,8 @@ proc_encrypted (CTX c, PACKET *pkt)
               log_info (_("assuming %s encrypted data\n"), "IDEA");
             }
 
-          c->dek = passphrase_to_dek (algo, s2k, 0, 0, NULL, &canceled);
+          c->dek = passphrase_to_dek (algo, s2k, 0, 0, NULL,
+                                      GETPASSWORD_FLAG_SYMDECRYPT, &canceled);
           if (c->dek)
             c->dek->algo_info_printed = 1;
           else if (canceled)
@@ -725,6 +730,7 @@ proc_encrypted (CTX c, PACKET *pkt)
       /* Overriding session key voids compliance.  */
       && !opt.override_session_key
       /* Check symmetric cipher.  */
+      && gnupg_gcrypt_is_compliant (CO_DE_VS)
       && gnupg_cipher_is_compliant (CO_DE_VS, c->dek->algo,
                                     GCRY_CIPHER_MODE_CFB))
     {
@@ -2089,7 +2095,8 @@ check_sig_and_print (CTX c, kbnode_t node)
                   free_public_key (pk);
                   pk = NULL;
                   glo_ctrl.in_auto_key_retrieve++;
-                  res = keyserver_import_keyid (c->ctrl, sig->keyid,spec, 1);
+                  res = keyserver_import_keyid (c->ctrl, sig->keyid,spec,
+                                                KEYSERVER_IMPORT_FLAG_QUICK);
                   glo_ctrl.in_auto_key_retrieve--;
                   if (!res)
                     rc = do_check_sig (c, node, NULL,
@@ -2128,7 +2135,8 @@ check_sig_and_print (CTX c, kbnode_t node)
       free_public_key (pk);
       pk = NULL;
       glo_ctrl.in_auto_key_retrieve++;
-      res = keyserver_import_wkd (c->ctrl, sig->signers_uid, 1, NULL, NULL);
+      res = keyserver_import_wkd (c->ctrl, sig->signers_uid,
+                                  KEYSERVER_IMPORT_FLAG_QUICK, NULL, NULL);
       glo_ctrl.in_auto_key_retrieve--;
       /* Fixme: If the fingerprint is embedded in the signature,
        * compare it to the fingerprint of the returned key.  */
@@ -2197,7 +2205,8 @@ check_sig_and_print (CTX c, kbnode_t node)
           free_public_key (pk);
           pk = NULL;
           glo_ctrl.in_auto_key_retrieve++;
-          res = keyserver_import_fprint (c->ctrl, p, n, opt.keyserver, 1);
+          res = keyserver_import_fprint (c->ctrl, p, n, opt.keyserver,
+                                         KEYSERVER_IMPORT_FLAG_QUICK);
           glo_ctrl.in_auto_key_retrieve--;
           if (!res)
             rc = do_check_sig (c, node, NULL,
@@ -2516,6 +2525,7 @@ check_sig_and_print (CTX c, kbnode_t node)
 
       /* Compute compliance with CO_DE_VS.  */
       if (pk && is_status_enabled ()
+          && gnupg_gcrypt_is_compliant (CO_DE_VS)
           && gnupg_pk_is_compliant (CO_DE_VS, pk->pubkey_algo, 0, pk->pkey,
                                     nbits_from_pk (pk), NULL)
           && gnupg_digest_is_compliant (CO_DE_VS, sig->digest_algo))
index d82858f..6f4e889 100644 (file)
@@ -64,7 +64,7 @@ overwrite_filep( const char *fname )
   if ( iobuf_is_pipe_filename (fname) )
     return 1; /* Writing to stdout is always okay.  */
 
-  if ( access( fname, F_OK ) )
+  if ( gnupg_access( fname, F_OK ) )
     return 1; /* Does not exist.  */
 
   if ( !compare_filenames (fname, NAME_OF_DEV_NULL) )
index 3514a60..237e5ba 100644 (file)
 #include "../common/compliance.h"
 
 
-/* Declaration of a keyserver spec type.  The definition is found in
-   ../common/keyserver.h.  */
-struct keyserver_spec;
+/* Object to hold information pertaining to a keyserver; it also
+   allows building a list of keyservers.  For historic reasons this is
+   not a strlist_t.  */
+struct keyserver_spec
+{
+  struct keyserver_spec *next;
+  char *uri;
+};
 typedef struct keyserver_spec *keyserver_spec_t;
 
 
@@ -241,6 +246,11 @@ struct
     /* Force the use of the OpenPGP card and do not allow the use of
      * another card.  */
     unsigned int use_only_openpgp_card:1;
+    /* Force signing keys even if a key signature already exists.  */
+    unsigned int force_sign_key:1;
+    /* The next flag is set internally iff IMPORT_SELF_SIGS_ONLY has
+     * been set by the user and is not the default value.  */
+    unsigned int expl_import_self_sigs_only:1;
   } flags;
 
   /* Linked list of ways to find a key if the key isn't on the local
index e6837e3..f94b93c 100644 (file)
@@ -221,15 +221,18 @@ read_passphrase_from_fd( int fd )
  * operation.  If CACHEID is not NULL, it will be used as the cacheID
  * for the gpg-agent; if is NULL and a key fingerprint can be
  * computed, this will be used as the cacheid.
+ *
+ * For FLAGS see passphrase_to_dek;
  */
 static char *
 passphrase_get (int newsymkey, int nocache, const char *cacheid, int repeat,
-                const char *tryagain_text, int *canceled)
+                const char *tryagain_text, unsigned int flags, int *canceled)
 {
   int rc;
   char *pw = NULL;
   char *orig_codeset;
   const char *my_cacheid;
+  const char *desc;
 
   if (canceled)
     *canceled = 0;
@@ -244,6 +247,11 @@ passphrase_get (int newsymkey, int nocache, const char *cacheid, int repeat,
   if (tryagain_text)
     tryagain_text = _(tryagain_text);
 
+  if ((flags & GETPASSWORD_FLAG_SYMDECRYPT))
+    desc = _("Please enter the passphrase for decryption.");
+  else
+    desc = _("Enter passphrase\n");
+
   /* Here we have:
    * REPEAT is set in create mode and if opt.passphrase_repeat is set.
    * (Thus it is not a clean indication that we want a new passphrase).
@@ -255,7 +263,7 @@ passphrase_get (int newsymkey, int nocache, const char *cacheid, int repeat,
    * for a full state analysis and thus this new parameter.
    */
   rc = agent_get_passphrase (my_cacheid, tryagain_text, NULL,
-                             _("Enter passphrase\n"),
+                             desc,
                              newsymkey, repeat, nocache, &pw);
 
   i18n_switchback (orig_codeset);
@@ -314,11 +322,16 @@ passphrase_clear_cache (const char *cacheid)
  * CANCELED is not NULL, sets it to true.
  *
  * If CREATE is true a new passphrase sll be created.  If NOCACHE is
- * true the symmetric key caching will not be used.  */
+ * true the symmetric key caching will not be used.
+ *
+ * FLAG bits are:
+ *   GETPASSWORD_FLAG_SYMDECRYPT := for symmetric decryption
+ */
 DEK *
 passphrase_to_dek (int cipher_algo, STRING2KEY *s2k,
                    int create, int nocache,
-                   const char *tryagain_text, int *canceled)
+                   const char *tryagain_text, unsigned int flags,
+                   int *canceled)
 {
   char *pw = NULL;
   DEK *dek;
@@ -405,7 +418,7 @@ passphrase_to_dek (int cipher_algo, STRING2KEY *s2k,
       /* Divert to the gpg-agent. */
       pw = passphrase_get (create, create && nocache, s2k_cacheid,
                            create? opt.passphrase_repeat : 0,
-                           tryagain_text, canceled);
+                           tryagain_text, flags, canceled);
       if (*canceled)
         {
           xfree (pw);
index 81ea7a0..dbef7d7 100644 (file)
@@ -287,7 +287,11 @@ get_default_photo_command(void)
   else if (!path_access ("display",X_OK))
     return "display -title 'KeyID 0x%k' %i";
   else if (getuid () && !path_access ("xdg-open", X_OK))
-    return "xdg-open %i";
+    {
+      /* xdg-open spawns the actual program and exits so we need to
+       * keep the temp file */
+      return "xdg-open %I";
+    }
   else
     return "/bin/true";
 #endif
index 8021a94..e053657 100644 (file)
@@ -47,6 +47,28 @@ get_mpi_from_sexp (gcry_sexp_t sexp, const char *item, int mpifmt)
 }
 
 
+static byte *
+get_data_from_sexp (gcry_sexp_t sexp, const char *item, size_t *r_size)
+{
+  gcry_sexp_t list;
+  size_t valuelen;
+  const char *value;
+  byte *v;
+
+  if (DBG_CRYPTO)
+    log_printsexp ("get_data_from_sexp:", sexp);
+
+  list = gcry_sexp_find_token (sexp, item, 0);
+  log_assert (list);
+  value = gcry_sexp_nth_data (list, 1, &valuelen);
+  log_assert (value);
+  v = xtrymalloc (valuelen);
+  memcpy (v, value, valuelen);
+  gcry_sexp_release (list);
+  *r_size = valuelen;
+  return v;
+}
+
 
 /****************
  * Emulate our old PK interface here - sometime in the future we might
@@ -309,12 +331,19 @@ pk_encrypt (pubkey_algo_t algo, gcry_mpi_t *resarr, gcry_mpi_t data,
     ;
   else if (algo == PUBKEY_ALGO_ECDH)
     {
-      gcry_mpi_t shared, public, result;
+      gcry_mpi_t public, result;
       byte fp[MAX_FINGERPRINT_LEN];
       size_t fpn;
+      byte *shared;
+      size_t nshared;
 
       /* Get the shared point and the ephemeral public key.  */
-      shared = get_mpi_from_sexp (s_ciph, "s", GCRYMPI_FMT_USG);
+      shared = get_data_from_sexp (s_ciph, "s", &nshared);
+      if (!shared)
+        {
+          rc = gpg_error_from_syserror ();
+          goto leave;
+        }
       public = get_mpi_from_sexp (s_ciph, "e", GCRYMPI_FMT_USG);
       gcry_sexp_release (s_ciph);
       s_ciph = NULL;
@@ -330,9 +359,10 @@ pk_encrypt (pubkey_algo_t algo, gcry_mpi_t *resarr, gcry_mpi_t data,
       if (fpn != 20)
         rc = gpg_error (GPG_ERR_INV_LENGTH);
       else
-        rc = pk_ecdh_encrypt_with_shared_point (1 /*=encrypton*/, shared,
+        rc = pk_ecdh_encrypt_with_shared_point (1 /*=encrypton*/,
+                                                shared, nshared,
                                                 fp, data, pkey, &result);
-      gcry_mpi_release (shared);
+      xfree (shared);
       if (!rc)
         {
           resarr[0] = public;
@@ -352,6 +382,7 @@ pk_encrypt (pubkey_algo_t algo, gcry_mpi_t *resarr, gcry_mpi_t data,
         resarr[1] = get_mpi_from_sexp (s_ciph, "b", GCRYMPI_FMT_USG);
     }
 
+ leave:
   gcry_sexp_release (s_ciph);
   return rc;
 }
index 77a3801..5780e23 100644 (file)
@@ -36,7 +36,7 @@ int pk_check_secret_key (pubkey_algo_t algo, gcry_mpi_t *skey);
 gcry_mpi_t  pk_ecdh_default_params (unsigned int qbits);
 gpg_error_t pk_ecdh_generate_ephemeral_key (gcry_mpi_t *pkey, gcry_mpi_t *r_k);
 gpg_error_t pk_ecdh_encrypt_with_shared_point
-/*         */  (int is_encrypt, gcry_mpi_t shared_mpi,
+/*         */  (int is_encrypt, const char *shared, size_t nshared,
                 const byte pk_fp[MAX_FINGERPRINT_LEN],
                 gcry_mpi_t data, gcry_mpi_t *pkey,
                 gcry_mpi_t *out);
@@ -44,7 +44,8 @@ gpg_error_t pk_ecdh_encrypt_with_shared_point
 int pk_ecdh_encrypt (gcry_mpi_t *resarr, const byte pk_fp[MAX_FINGERPRINT_LEN],
                      gcry_mpi_t data, gcry_mpi_t * pkey);
 int pk_ecdh_decrypt (gcry_mpi_t *result, const byte sk_fp[MAX_FINGERPRINT_LEN],
-                     gcry_mpi_t data, gcry_mpi_t shared, gcry_mpi_t * skey);
+                     gcry_mpi_t data, const char *shared, size_t nshared,
+                     gcry_mpi_t *skey);
 
 
 #endif /*GNUPG_G10_PKGLUE_H*/
index 30a4bc0..91dfb77 100644 (file)
@@ -264,20 +264,10 @@ get_it (ctrl_t ctrl,
 
   if (sk->pubkey_algo == PUBKEY_ALGO_ECDH)
     {
-      gcry_mpi_t shared_mpi;
       gcry_mpi_t decoded;
 
-      /* At the beginning the frame are the bytes of shared point MPI.  */
-      err = gcry_mpi_scan (&shared_mpi, GCRYMPI_FMT_USG, frame, nframe, NULL);
-      if (err)
-        {
-          err = gpg_error (GPG_ERR_WRONG_SECKEY);
-          goto leave;
-        }
-
       err = pk_ecdh_decrypt (&decoded, fp, enc->data[1]/*encr data as an MPI*/,
-                             shared_mpi, sk->pkey);
-      mpi_release (shared_mpi);
+                             frame, nframe, sk->pkey);
       if(err)
         goto leave;
 
index d2dbc6f..2f48a70 100644 (file)
@@ -905,18 +905,17 @@ write_signature_packets (ctrl_t ctrl,
 }
 
 
-/****************
- * Sign the files whose names are in FILENAME.
- * If DETACHED has the value true,
- * make a detached signature.  If FILENAMES->d is NULL read from stdin
- * and ignore the detached mode.  Sign the file with all secret keys
- * which can be taken from LOCUSR, if this is NULL, use the default one
- * If ENCRYPTFLAG is true, use REMUSER (or ask if it is NULL) to encrypt the
- * signed data for these users.  If ENCRYPTFLAG is 2 symmetric encryption
- * is also used.
- * If OUTFILE is not NULL; this file is used for output and the function
- * does not ask for overwrite permission; output is then always
- * uncompressed, non-armored and in binary mode.
+/* Sign the files whose names are in FILENAME using all secret keys
+ * which can be taken from LOCUSR, if this is NULL, use the default
+ * secret key.
+ * If DETACHED has the value true, make a detached signature.
+ * If FILENAMES->d is NULL read from stdin and ignore the detached mode.
+ * If ENCRYPTFLAG is true, use REMUSER (or ask if it is NULL) to
+ * encrypt the signed data for these users.  If ENCRYPTFLAG is 2
+ * symmetric encryption is also used.
+ * If OUTFILE is not NULL; this file is used for output and the
+ * function does not ask for overwrite permission; output is then
+ * always uncompressed, non-armored and in binary mode.
  */
 int
 sign_file (ctrl_t ctrl, strlist_t filenames, int detached, strlist_t locusr,
@@ -1464,7 +1463,7 @@ sign_symencrypt_file (ctrl_t ctrl, const char *fname, strlist_t locusr)
     if (!opt.quiet || !opt.batch)
         log_info (_("%s encryption will be used\n"),
                   openpgp_cipher_algo_name (algo) );
-    cfx.dek = passphrase_to_dek (algo, s2k, 1, 1, NULL, &canceled);
+    cfx.dek = passphrase_to_dek (algo, s2k, 1, 1, NULL, 0, &canceled);
 
     if (!cfx.dek || !cfx.dek->keylen) {
         rc = gpg_error (canceled?GPG_ERR_CANCELED:GPG_ERR_BAD_PASSPHRASE);
index 5a32b6a..d0511ad 100644 (file)
@@ -31,6 +31,7 @@
 #include "keydb.h"
 #include "../common/util.h"
 #include "../common/i18n.h"
+#include "keyserver-internal.h"
 #include "call-agent.h"
 
 
@@ -326,11 +327,14 @@ enum_secret_keys (ctrl_t ctrl, void **context, PKT_public_key *sk)
 {
   gpg_error_t err = 0;
   const char *name;
+  int cardkey;    /* We got an encryption fingerprint from the card */
+                  /* in c->info.fpr2.                               */
   kbnode_t keyblock;
   struct
   {
     int eof;
     int state;
+    int cardkey_done;
     strlist_t sl;
     strlist_t card_list;
     char *serialno;
@@ -389,6 +393,7 @@ enum_secret_keys (ctrl_t ctrl, void **context, PKT_public_key *sk)
               char *serialno;
 
               name = NULL;
+              cardkey = 0;
               keyblock = NULL;
               switch (c->state)
                 {
@@ -444,6 +449,7 @@ enum_secret_keys (ctrl_t ctrl, void **context, PKT_public_key *sk)
                               bin2hex (c->info.fpr2, sizeof c->info.fpr2,
                                        c->fpr2 + 2);
                               name = c->fpr2;
+                              cardkey = 1;
                             }
                         }
                       else if (gpg_err_code (err) == GPG_ERR_INV_NAME)
@@ -551,6 +557,39 @@ enum_secret_keys (ctrl_t ctrl, void **context, PKT_public_key *sk)
                      it.  */
                   release_kbnode (c->keyblock);
                   c->keyblock = NULL;
+                  /* If this was a card key we might not yet have the
+                   * public key for it.  Thus check whether the card
+                   * can return the fingerprint of the encryption key
+                   * and we can then find the public key via LDAP.  */
+                  if (cardkey && !c->cardkey_done
+                      && gpg_err_code (err) == GPG_ERR_NO_SECKEY)
+                    {
+                      /* Note that this code does not handle the case
+                       * for two readers having both openpgp
+                       * encryption keys.  Only one will be tried.  */
+                      c->cardkey_done = 1;
+                      if (opt.debug)
+                        log_debug ("using LDAP to find public key"
+                                   " for current card\n");
+                      if (!keyserver_import_fprint
+                          (ctrl, c->info.fpr2, sizeof c->info.fpr2,
+                           opt.keyserver, KEYSERVER_IMPORT_FLAG_LDAP))
+                        {
+                          char fpr_string[MAX_FINGERPRINT_LEN * 2 + 1];
+
+                          bin2hex (c->info.fpr2, sizeof c->info.fpr2,
+                                   fpr_string);
+                          err = getkey_byname (ctrl, NULL, NULL, fpr_string, 1,
+                                               &c->keyblock);
+                          if (err)
+                            {
+                              release_kbnode (c->keyblock);
+                              c->keyblock = NULL;
+                            }
+                          else
+                            c->node = c->keyblock;
+                        }
+                    }
                 }
               else
                 c->node = c->keyblock;
index d09596c..f0ce10b 100644 (file)
@@ -178,23 +178,33 @@ keyserver_any_configured (ctrl_t ctrl)
 }
 
 int
-keyserver_import_keyid (u32 *keyid, void *dummy, int quick)
+keyserver_import_keyid (u32 *keyid, void *dummy, unsigned int flags)
 {
   (void)keyid;
   (void)dummy;
-  (void)quick;
+  (void)flags;
   return -1;
 }
 
 int
 keyserver_import_fprint (ctrl_t ctrl, const byte *fprint,size_t fprint_len,
-                        struct keyserver_spec *keyserver, int quick)
+                        struct keyserver_spec *keyserver, unsigned int flags)
 {
   (void)ctrl;
   (void)fprint;
   (void)fprint_len;
   (void)keyserver;
-  (void)quick;
+  (void)flags;
+  return -1;
+}
+
+int
+keyserver_import_fprint_ntds (ctrl_t ctrl,
+                              const byte *fprint, size_t fprint_len)
+{
+  (void)ctrl;
+  (void)fprint;
+  (void)fprint_len;
   return -1;
 }
 
@@ -214,19 +224,19 @@ keyserver_import_pka (const char *name,unsigned char *fpr)
 }
 
 gpg_error_t
-keyserver_import_wkd (ctrl_t ctrl, const char *name, int quick,
+keyserver_import_wkd (ctrl_t ctrl, const char *name, unsigned int flags,
                       unsigned char **fpr, size_t *fpr_len)
 {
   (void)ctrl;
   (void)name;
-  (void)quick;
+  (void)flags;
   (void)fpr;
   (void)fpr_len;
   return GPG_ERR_BUG;
 }
 
 int
-keyserver_import_name (const char *name,struct keyserver_spec *spec)
+keyserver_import_mbox (const char *name,struct keyserver_spec *spec)
 {
   (void)name;
   (void)spec;
@@ -331,13 +341,14 @@ check_secret_key (PKT_public_key *pk, int n)
  */
 DEK *
 passphrase_to_dek (int cipher_algo, STRING2KEY *s2k, int create, int nocache,
-                   const char *tmp, int *canceled)
+                   const char *tmp, unsigned int flags, int *canceled)
 {
   (void)cipher_algo;
   (void)s2k;
   (void)create;
   (void)nocache;
   (void)tmp;
+  (void)flags;
 
   if (canceled)
     *canceled = 0;
index 98e9e35..116cbe6 100644 (file)
@@ -300,7 +300,7 @@ verify_own_keys (ctrl_t ctrl)
           PKT_public_key pk;
 
           memset (&pk, 0, sizeof pk);
-          rc = get_pubkey (ctrl, &pk, k->kid);
+          rc = get_pubkey_with_ldap_fallback (ctrl, &pk, k->kid);
           if (rc)
            log_info(_("key %s: no public key for trusted key - skipped\n"),
                     keystr(k->kid));
index 26489ec..50ee5f7 100644 (file)
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.16.1 from Makefile.am.
+# Makefile.in generated by automake 1.16.3 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2018 Free Software Foundation, Inc.
+# Copyright (C) 1994-2020 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
index 752e728..e930861 100644 (file)
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.16.1 from Makefile.am.
+# Makefile.in generated by automake 1.16.3 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2018 Free Software Foundation, Inc.
+# Copyright (C) 1994-2020 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
index 6cabaea..f07ba8d 100644 (file)
@@ -261,6 +261,26 @@ _keybox_close_file (KEYBOX_HANDLE hd)
 }
 
 
+/* Close all the files associated with the resource identified by TOKEN.  */
+void
+keybox_close_all_files (void *token)
+{
+  KB_NAME resource = token;
+  KEYBOX_HANDLE roverhd;
+  int idx;
+
+  if (!resource)
+    return;
+
+  for (idx=0; idx < resource->handle_table_size; idx++)
+    if ((roverhd = resource->handle_table[idx]) && roverhd->fp)
+      {
+        es_fclose (roverhd->fp);
+        roverhd->fp = NULL;
+      }
+}
+
+
 /*
  * Lock the keybox at handle HD, or unlock if YES is false.
  * Lock the keybox at handle HD, or unlock if YES is false.  TIMEOUT
index 53ed66b..263a166 100644 (file)
@@ -814,6 +814,10 @@ keybox_search_reset (KEYBOX_HANDLE hd)
 
   if (hd->fp)
     {
+#if HAVE_W32_SYSTEM
+      es_fclose (hd->fp);
+      hd->fp = NULL;
+#else
       if (es_fseeko (hd->fp, 0, SEEK_SET))
         {
           /* Ooops.  Seek did not work.  Close so that the search will
@@ -821,6 +825,7 @@ keybox_search_reset (KEYBOX_HANDLE hd)
           es_fclose (hd->fp);
           hd->fp = NULL;
         }
+#endif
     }
   hd->error = 0;
   hd->eof = 0;
index ddda52a..6e45f3d 100644 (file)
@@ -483,17 +483,6 @@ keybox_insert_cert (KEYBOX_HANDLE hd, ksba_cert_t cert,
   return rc;
 }
 
-int
-keybox_update_cert (KEYBOX_HANDLE hd, ksba_cert_t cert,
-                    unsigned char *sha1_digest)
-{
-  (void)hd;
-  (void)cert;
-  (void)sha1_digest;
-  return -1;
-}
-
-
 #endif /*KEYBOX_WITH_X509*/
 
 /* Note: We assume that the keybox has been locked before the current
index c5f9b57..f90ea1c 100644 (file)
@@ -70,6 +70,8 @@ int keybox_is_writable (void *token);
 
 KEYBOX_HANDLE keybox_new_openpgp (void *token, int secret);
 KEYBOX_HANDLE keybox_new_x509 (void *token, int secret);
+void keybox_close_all_files (void *token);
+
 void keybox_release (KEYBOX_HANDLE hd);
 void keybox_push_found_state (KEYBOX_HANDLE hd);
 void keybox_pop_found_state (KEYBOX_HANDLE hd);
@@ -109,8 +111,6 @@ gpg_error_t keybox_update_keyblock (KEYBOX_HANDLE hd,
 #ifdef KEYBOX_WITH_X509
 int keybox_insert_cert (KEYBOX_HANDLE hd, ksba_cert_t cert,
                         unsigned char *sha1_digest);
-int keybox_update_cert (KEYBOX_HANDLE hd, ksba_cert_t cert,
-                        unsigned char *sha1_digest);
 #endif /*KEYBOX_WITH_X509*/
 int keybox_set_flags (KEYBOX_HANDLE hd, int what, int idx, unsigned int value);
 
index 35926ed..9a2659c 100644 (file)
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.16.1 from Makefile.am.
+# Makefile.in generated by automake 1.16.3 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2018 Free Software Foundation, Inc.
+# Copyright (C) 1994-2020 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
index da3e9f8..98e0f31 100644 (file)
@@ -24,6 +24,7 @@ common/audit.c
 common/helpfile.c
 common/gettime.c
 common/ksba-io-support.c
+common/ttyio.c
 
 common/argparse.c
 common/logging.c
index 0c269a8..b2ab3ec 100644 (file)
--- a/po/ca.po
+++ b/po/ca.po
@@ -27,7 +27,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: gnupg 1.4.0\n"
 "Report-Msgid-Bugs-To: translations@gnupg.org\n"
-"POT-Creation-Date: 2021-01-11 18:47+0100\n"
+"POT-Creation-Date: 2021-06-10 18:59+0200\n"
 "PO-Revision-Date: 2005-02-04 02:04+0100\n"
 "Last-Translator: Jordi Mallach <jordi@gnu.org>\n"
 "Language-Team: Catalan <ca@dodds.net>\n"
@@ -127,7 +127,7 @@ msgid "Passphrase:"
 msgstr "la contrasenya és errònia"
 
 #: agent/call-pinentry.c:1107 agent/call-pinentry.c:1359
-#: agent/command-ssh.c:3130 agent/genkey.c:416
+#: agent/command-ssh.c:3140 agent/genkey.c:416
 msgid "does not match - try again"
 msgstr ""
 
@@ -182,34 +182,34 @@ msgstr "la contrasenya és errònia"
 msgid "ssh keys greater than %d bits are not supported\n"
 msgstr "l'algoritme de protecció %d%s no està suportat\n"
 
-#: agent/command-ssh.c:862 common/dotlock.c:852 g10/card-util.c:932
-#: g10/exec.c:546 g10/export.c:1320 g10/gpg.c:1352 g10/keygen.c:4998
-#: g10/keyring.c:1322 g10/keyring.c:1637 g10/openfile.c:291 g10/sign.c:1009
-#: g10/sign.c:1323 g10/tdbio.c:753
+#: agent/command-ssh.c:862 common/dotlock.c:852 g10/card-util.c:933
+#: g10/exec.c:554 g10/export.c:1320 g10/gpg.c:1360 g10/keygen.c:4998
+#: g10/keyring.c:1322 g10/keyring.c:1637 g10/openfile.c:291 g10/sign.c:1008
+#: g10/sign.c:1322 g10/tdbio.c:753
 #, fuzzy, c-format
 #| msgid "can't create `%s': %s\n"
 msgid "can't create '%s': %s\n"
 msgstr "no s'ha pogut crear «%s»: %s\n"
 
-#: agent/command-ssh.c:874 common/helpfile.c:57 g10/card-util.c:889
+#: agent/command-ssh.c:874 common/helpfile.c:57 g10/card-util.c:890
 #: g10/dearmor.c:59 g10/dearmor.c:106 g10/decrypt.c:65 g10/decrypt.c:136
-#: g10/decrypt.c:153 g10/encrypt.c:180 g10/encrypt.c:543 g10/gpg.c:1353
-#: g10/import.c:352 g10/import.c:536 g10/import.c:764 g10/keygen.c:4036
+#: g10/decrypt.c:153 g10/encrypt.c:180 g10/encrypt.c:543 g10/gpg.c:1361
+#: g10/import.c:364 g10/import.c:548 g10/import.c:776 g10/keygen.c:4036
 #: g10/keyring.c:1663 g10/openfile.c:195 g10/openfile.c:209 g10/plaintext.c:128
-#: g10/plaintext.c:649 g10/sign.c:991 g10/sign.c:1202 g10/sign.c:1307
-#: g10/sign.c:1452 g10/tdbdump.c:143 g10/tdbdump.c:151 g10/tdbio.c:758
-#: g10/tdbio.c:829 g10/verify.c:96 g10/verify.c:160 sm/gpgsm.c:2219
-#: sm/gpgsm.c:2249 sm/gpgsm.c:2287 sm/qualified.c:66 dirmngr/certcache.c:396
+#: g10/plaintext.c:649 g10/sign.c:990 g10/sign.c:1201 g10/sign.c:1306
+#: g10/sign.c:1451 g10/tdbdump.c:143 g10/tdbdump.c:151 g10/tdbio.c:758
+#: g10/tdbio.c:829 g10/verify.c:96 g10/verify.c:160 sm/gpgsm.c:2125
+#: sm/gpgsm.c:2155 sm/gpgsm.c:2193 sm/qualified.c:66 dirmngr/certcache.c:396
 #: dirmngr/certcache.c:476 dirmngr/certcache.c:478 dirmngr/crlcache.c:2588
-#: dirmngr/dirmngr.c:1722
+#: dirmngr/dirmngr.c:1759
 #, fuzzy, c-format
 #| msgid "can't open `%s': %s\n"
 msgid "can't open '%s': %s\n"
 msgstr "no s'ha pogut obrir «%s»: %s\n"
 
 #: agent/command-ssh.c:2385 agent/command-ssh.c:2431 agent/command-ssh.c:2449
-#: agent/command-ssh.c:2601 g10/card-util.c:687 g10/card-util.c:708
-#: g10/skclist.c:430
+#: agent/command-ssh.c:2601 g10/card-util.c:688 g10/card-util.c:709
+#: g10/skclist.c:435
 #, fuzzy, c-format
 msgid "error getting serial number of card: %s\n"
 msgstr "error en la creació de la contrasenya: %s\n"
@@ -236,39 +236,39 @@ msgstr ""
 msgid "error getting list of cards: %s\n"
 msgstr "error en crear «%s»: %s\n"
 
-#: agent/command-ssh.c:2765
+#: agent/command-ssh.c:2775
 #, c-format
 msgid ""
 "An ssh process requested the use of key%%0A  %s%%0A  (%s)%%0ADo you want to "
 "allow this?"
 msgstr ""
 
-#: agent/command-ssh.c:2772
+#: agent/command-ssh.c:2782
 msgid "Allow"
 msgstr ""
 
-#: agent/command-ssh.c:2772
+#: agent/command-ssh.c:2782
 msgid "Deny"
 msgstr ""
 
-#: agent/command-ssh.c:2781
+#: agent/command-ssh.c:2791
 #, fuzzy, c-format
 msgid "Please enter the passphrase for the ssh key%%0A  %F%%0A  (%c)"
 msgstr "Introduïu la contrasenya; aquesta ha de ser una frase secreta \n"
 
-#: agent/command-ssh.c:3058 agent/genkey.c:351
+#: agent/command-ssh.c:3068 agent/genkey.c:351
 #, fuzzy
 msgid "Please re-enter this passphrase"
 msgstr "canvia la contrasenya"
 
-#: agent/command-ssh.c:3085
+#: agent/command-ssh.c:3095
 #, fuzzy, c-format
 msgid ""
 "Please enter a passphrase to protect the received secret key%%0A   %s%%0A   "
 "%s%%0Awithin gpg-agent's key storage"
 msgstr "Introduïu la contrasenya; aquesta ha de ser una frase secreta \n"
 
-#: agent/command-ssh.c:3667
+#: agent/command-ssh.c:3677
 #, fuzzy, c-format
 msgid "failed to create stream from socket: %s\n"
 msgstr "%s: no s'ha pogut crear la taula de dispersió: %s\n"
@@ -424,49 +424,47 @@ msgstr ""
 "Opcions:\n"
 " "
 
-#: agent/gpg-agent.c:165 scd/scdaemon.c:120 dirmngr/dirmngr.c:166
+#: agent/gpg-agent.c:165 scd/scdaemon.c:120 dirmngr/dirmngr.c:167
 msgid "run in daemon mode (background)"
 msgstr ""
 
-#: agent/gpg-agent.c:166 scd/scdaemon.c:117 dirmngr/dirmngr.c:165
+#: agent/gpg-agent.c:166 scd/scdaemon.c:117 dirmngr/dirmngr.c:166
 msgid "run in server mode (foreground)"
 msgstr ""
 
-#: agent/gpg-agent.c:168 dirmngr/dirmngr.c:168
+#: agent/gpg-agent.c:168 dirmngr/dirmngr.c:169
 #, fuzzy
 #| msgid "Key is superseded"
 msgid "run in supervised mode"
 msgstr "La clau ha estat substituïda"
 
 # Un dels dos és en la llista d'opcions amb --help. Urgh. jm
-#: agent/gpg-agent.c:170 g10/gpg.c:608 g10/gpgv.c:78 kbx/kbxutil.c:88
-#: scd/scdaemon.c:121 sm/gpgsm.c:310 dirmngr/dirmngr-client.c:70
-#: dirmngr/dirmngr.c:181 dirmngr/dirmngr_ldap.c:135
-#: tools/gpg-connect-agent.c:78 tools/gpgconf.c:108
+#: agent/gpg-agent.c:170 g10/gpg.c:605 g10/gpgv.c:78 kbx/kbxutil.c:88
+#: scd/scdaemon.c:121 sm/gpgsm.c:311 dirmngr/dirmngr-client.c:70
+#: dirmngr/dirmngr.c:182 tools/gpg-connect-agent.c:78 tools/gpgconf.c:108
 msgid "verbose"
 msgstr "detall"
 
 #: agent/gpg-agent.c:171 g10/gpgv.c:79 kbx/kbxutil.c:89 scd/scdaemon.c:122
-#: sm/gpgsm.c:311 dirmngr/dirmngr-client.c:71 dirmngr/dirmngr.c:182
-#: dirmngr/dirmngr_ldap.c:136
+#: sm/gpgsm.c:312 dirmngr/dirmngr-client.c:71 dirmngr/dirmngr.c:183
 msgid "be somewhat more quiet"
 msgstr "una mica més silenciós"
 
-#: agent/gpg-agent.c:172 scd/scdaemon.c:123 dirmngr/dirmngr.c:183
+#: agent/gpg-agent.c:172 scd/scdaemon.c:123 dirmngr/dirmngr.c:184
 msgid "sh-style command output"
 msgstr ""
 
-#: agent/gpg-agent.c:173 scd/scdaemon.c:124 dirmngr/dirmngr.c:184
+#: agent/gpg-agent.c:173 scd/scdaemon.c:124 dirmngr/dirmngr.c:185
 msgid "csh-style command output"
 msgstr ""
 
-#: agent/gpg-agent.c:174 scd/scdaemon.c:125 sm/gpgsm.c:341
-#: dirmngr/dirmngr.c:185
+#: agent/gpg-agent.c:174 scd/scdaemon.c:125 sm/gpgsm.c:344
+#: dirmngr/dirmngr.c:186
 #, fuzzy
 msgid "|FILE|read options from FILE"
 msgstr "|FITXER|carrega el mòdul d'extensió especificat"
 
-#: agent/gpg-agent.c:183 scd/scdaemon.c:135 dirmngr/dirmngr.c:188
+#: agent/gpg-agent.c:183 scd/scdaemon.c:135 dirmngr/dirmngr.c:189
 msgid "do not detach from the console"
 msgstr ""
 
@@ -558,9 +556,9 @@ msgstr "no és suportat"
 #. reporting address.  This is so that we can change the
 #. reporting address without breaking the translations.
 #: agent/gpg-agent.c:531 agent/preset-passphrase.c:100 agent/protect-tool.c:155
-#: g10/gpg.c:1070 g10/gpgv.c:149 kbx/kbxutil.c:113 scd/scdaemon.c:298
-#: sm/gpgsm.c:567 dirmngr/dirmngr-client.c:168 dirmngr/dirmngr.c:404
-#: dirmngr/dirmngr_ldap.c:207 tools/gpg-connect-agent.c:205 tools/gpgconf.c:146
+#: g10/gpg.c:1074 g10/gpgv.c:149 kbx/kbxutil.c:113 scd/scdaemon.c:299
+#: sm/gpgsm.c:570 dirmngr/dirmngr-client.c:168 dirmngr/dirmngr.c:412
+#: tools/gpg-connect-agent.c:205 tools/gpgconf.c:146
 #: tools/gpg-check-pattern.c:143
 #, fuzzy
 msgid "Please report bugs to <@EMAIL@>.\n"
@@ -577,39 +575,39 @@ msgid ""
 "Secret key management for @GNUPG@\n"
 msgstr ""
 
-#: agent/gpg-agent.c:587 g10/gpg.c:1262 scd/scdaemon.c:370 sm/gpgsm.c:715
-#: dirmngr/dirmngr.c:488
+#: agent/gpg-agent.c:587 g10/gpg.c:1270 scd/scdaemon.c:371 sm/gpgsm.c:718
+#: dirmngr/dirmngr.c:496
 #, c-format
 msgid "invalid debug-level '%s' given\n"
 msgstr ""
 
-#: agent/gpg-agent.c:945 g10/gpg.c:3753 g10/gpg.c:3777 sm/gpgsm.c:1631
-#: sm/gpgsm.c:1637
+#: agent/gpg-agent.c:945 g10/gpg.c:3773 g10/gpg.c:3797 sm/gpgsm.c:1531
+#: sm/gpgsm.c:1537
 #, c-format
 msgid "selected digest algorithm is invalid\n"
 msgstr "l'algorisme de resum seleccionat no és vàlid\n"
 
 #: agent/gpg-agent.c:1168 agent/gpg-agent.c:2023 common/argparse.c:1755
-#: common/argparse.c:1847 g10/gpg.c:2482 scd/scdaemon.c:532 sm/gpgsm.c:1063
-#: dirmngr/dirmngr.c:956 dirmngr/dirmngr.c:1841
+#: common/argparse.c:1847 g10/gpg.c:2495 scd/scdaemon.c:533 sm/gpgsm.c:977
+#: dirmngr/dirmngr.c:994 dirmngr/dirmngr.c:1878
 #, fuzzy, c-format
 #| msgid "reading options from `%s'\n"
 msgid "reading options from '%s'\n"
 msgstr "s'estan llegint opcions de «%s»\n"
 
-#: agent/gpg-agent.c:1300 g10/gpg.c:3704 scd/scdaemon.c:655 sm/gpgsm.c:1571
-#: dirmngr/dirmngr.c:1067 tools/gpg-connect-agent.c:1244 tools/gpgconf.c:624
+#: agent/gpg-agent.c:1300 g10/gpg.c:3724 scd/scdaemon.c:657 sm/gpgsm.c:1471
+#: dirmngr/dirmngr.c:1102 tools/gpg-connect-agent.c:1244 tools/gpgconf.c:624
 #, fuzzy, c-format
 #| msgid "WARNING: \"%s\" is a deprecated option\n"
 msgid "Note: '%s' is not considered an option\n"
 msgstr "AVÍS: %s és una opció desaconsellada.\n"
 
-#: agent/gpg-agent.c:2159 scd/scdaemon.c:1096 dirmngr/dirmngr.c:1219
+#: agent/gpg-agent.c:2159 scd/scdaemon.c:1098 dirmngr/dirmngr.c:1256
 #, fuzzy, c-format
 msgid "can't create socket: %s\n"
 msgstr "no s'ha pogut crear «%s»: %s\n"
 
-#: agent/gpg-agent.c:2176 scd/scdaemon.c:1109 dirmngr/dirmngr.c:1232
+#: agent/gpg-agent.c:2176 scd/scdaemon.c:1111 dirmngr/dirmngr.c:1269
 #, fuzzy, c-format
 msgid "socket name '%s' is too long\n"
 msgstr "Certificat de revocació vàlid"
@@ -619,29 +617,29 @@ msgstr "Certificat de revocació vàlid"
 msgid "a gpg-agent is already running - not starting a new one\n"
 msgstr "gpg-agent no està disponible en aquesta sessió\n"
 
-#: agent/gpg-agent.c:2226 scd/scdaemon.c:1133 dirmngr/dirmngr.c:1264
+#: agent/gpg-agent.c:2226 scd/scdaemon.c:1135 dirmngr/dirmngr.c:1301
 #, fuzzy, c-format
 msgid "error getting nonce for the socket\n"
 msgstr "error en crear «%s»: %s\n"
 
-#: agent/gpg-agent.c:2231 scd/scdaemon.c:1136 dirmngr/dirmngr.c:1267
+#: agent/gpg-agent.c:2231 scd/scdaemon.c:1138 dirmngr/dirmngr.c:1304
 #, fuzzy, c-format
 msgid "error binding socket to '%s': %s\n"
 msgstr "error mentre s'enviava a «%s»: %s\n"
 
 #: agent/gpg-agent.c:2242 agent/gpg-agent.c:2282 agent/gpg-agent.c:2291
-#: scd/scdaemon.c:1144 dirmngr/dirmngr.c:1276
+#: scd/scdaemon.c:1146 dirmngr/dirmngr.c:1313
 #, fuzzy, c-format
 msgid "can't set permissions of '%s': %s\n"
 msgstr "AVÍS: els permissos són insegurs en %s «%s»\n"
 
-#: agent/gpg-agent.c:2256 scd/scdaemon.c:1156 dirmngr/dirmngr.c:1288
+#: agent/gpg-agent.c:2256 scd/scdaemon.c:1158 dirmngr/dirmngr.c:1325
 #, fuzzy, c-format
 msgid "listening on socket '%s'\n"
 msgstr "s'està escrivint la clau secreta a «%s»\n"
 
 #: agent/gpg-agent.c:2276 agent/gpg-agent.c:2329 common/homedir.c:517
-#: g10/exec.c:261 g10/openfile.c:397
+#: g10/exec.c:269 g10/openfile.c:397
 #, fuzzy, c-format
 #| msgid "can't create directory `%s': %s\n"
 msgid "can't create directory '%s': %s\n"
@@ -663,7 +661,7 @@ msgstr "base de dades de confiança: ha fallat la lectura (n=%d): %s\n"
 msgid "can't use '%s' as home directory\n"
 msgstr "%s: no s'ha pogut crear el directori: %s\n"
 
-#: agent/gpg-agent.c:2502 scd/scdaemon.c:1172 dirmngr/dirmngr.c:2047
+#: agent/gpg-agent.c:2502 scd/scdaemon.c:1174 dirmngr/dirmngr.c:2084
 #, fuzzy, c-format
 msgid "error reading nonce on fd %d: %s\n"
 msgstr "error en la lectura de «%s»: %s\n"
@@ -688,12 +686,12 @@ msgstr ""
 msgid "ssh handler 0x%lx for fd %d terminated\n"
 msgstr ""
 
-#: agent/gpg-agent.c:3016 scd/scdaemon.c:1362 dirmngr/dirmngr.c:2261
+#: agent/gpg-agent.c:3016 scd/scdaemon.c:1366 dirmngr/dirmngr.c:2298
 #, fuzzy, c-format
 msgid "npth_pselect failed: %s - waiting 1s\n"
 msgstr "ha fallat l'actualització de la clau secreta: %s\n"
 
-#: agent/gpg-agent.c:3104 scd/scdaemon.c:1427
+#: agent/gpg-agent.c:3104 scd/scdaemon.c:1431
 #, fuzzy, c-format
 msgid "%s %s stopped\n"
 msgstr "\t%lu claus es descarta\n"
@@ -715,8 +713,8 @@ msgid ""
 "Password cache maintenance\n"
 msgstr ""
 
-#: agent/protect-tool.c:108 g10/gpg.c:440 kbx/kbxutil.c:71 sm/gpgsm.c:204
-#: dirmngr/dirmngr.c:163 tools/gpgconf.c:78
+#: agent/protect-tool.c:108 g10/gpg.c:437 kbx/kbxutil.c:71 sm/gpgsm.c:205
+#: dirmngr/dirmngr.c:164 tools/gpgconf.c:78
 msgid ""
 "@Commands:\n"
 " "
@@ -724,8 +722,8 @@ msgstr ""
 "@Ordres:\n"
 " "
 
-#: agent/protect-tool.c:117 g10/gpg.c:553 g10/gpgv.c:76 kbx/kbxutil.c:81
-#: sm/gpgsm.c:252 dirmngr/dirmngr.c:179 tools/gpg-connect-agent.c:76
+#: agent/protect-tool.c:117 g10/gpg.c:550 g10/gpgv.c:76 kbx/kbxutil.c:81
+#: sm/gpgsm.c:253 dirmngr/dirmngr.c:180 tools/gpg-connect-agent.c:76
 #: tools/gpgconf.c:105
 msgid ""
 "@\n"
@@ -747,12 +745,12 @@ msgid ""
 "Secret key maintenance tool\n"
 msgstr ""
 
-#: agent/protect-tool.c:703
+#: agent/protect-tool.c:703 sm/import.c:774
 #, fuzzy
 msgid "Please enter the passphrase to unprotect the PKCS#12 object."
 msgstr "Introduïu la contrasenya; aquesta ha de ser una frase secreta \n"
 
-#: agent/protect-tool.c:708
+#: agent/protect-tool.c:708 sm/export.c:710
 #, fuzzy
 msgid "Please enter the passphrase to protect the new PKCS#12 object."
 msgstr "Introduïu la contrasenya; aquesta ha de ser una frase secreta \n"
@@ -780,7 +778,7 @@ msgstr "Cancel·la"
 msgid "error while asking for the passphrase: %s\n"
 msgstr "error en la creació de la contrasenya: %s\n"
 
-#: agent/trustlist.c:154 agent/trustlist.c:364 dirmngr/dirmngr.c:1629
+#: agent/trustlist.c:154 agent/trustlist.c:364 dirmngr/dirmngr.c:1666
 #: tools/gpgconf.c:418
 #, fuzzy, c-format
 msgid "error opening '%s': %s\n"
@@ -938,7 +936,7 @@ msgstr "no s'ha pogut comprovar la signatura creada: %s\n"
 msgid "secret key parts are not available\n"
 msgstr "parts de la clau secreta no estan disponbles\n"
 
-#: agent/cvt-openpgp.c:344 g10/card-util.c:1540
+#: agent/cvt-openpgp.c:344 g10/card-util.c:1541
 #, fuzzy, c-format
 #| msgid "protection algorithm %d%s is not supported\n"
 msgid "public key algorithm %d (%s) is not supported\n"
@@ -956,21 +954,21 @@ msgstr "l'algoritme de protecció %d%s no està suportat\n"
 msgid "protection hash algorithm %d (%s) is not supported\n"
 msgstr "l'algoritme de protecció %d%s no està suportat\n"
 
-#: common/exechelp-posix.c:359 common/exechelp-w32.c:449
-#: common/exechelp-w32.c:473 common/exechelp-w32.c:503
+#: common/exechelp-posix.c:359 common/exechelp-w32.c:451
+#: common/exechelp-w32.c:475 common/exechelp-w32.c:505
 #, fuzzy, c-format
 msgid "error creating a pipe: %s\n"
 msgstr "error en la creació de la contrasenya: %s\n"
 
 #: common/exechelp-posix.c:372 common/exechelp-w32.c:355
-#: common/exechelp-w32.c:459 common/exechelp-w32.c:483
-#: common/exechelp-w32.c:513
+#: common/exechelp-w32.c:461 common/exechelp-w32.c:485
+#: common/exechelp-w32.c:515
 #, fuzzy, c-format
 msgid "error creating a stream for a pipe: %s\n"
 msgstr "error en la creació de la contrasenya: %s\n"
 
 #: common/exechelp-posix.c:495 common/exechelp-posix.c:570
-#: common/exechelp-posix.c:851 dirmngr/dirmngr.c:1306
+#: common/exechelp-posix.c:856 dirmngr/dirmngr.c:1343
 #, fuzzy, c-format
 msgid "error forking process: %s\n"
 msgstr "error en la lectura de «%s»: %s\n"
@@ -980,28 +978,28 @@ msgstr "error en la lectura de «%s»: %s\n"
 msgid "waiting for process %d to terminate failed: %s\n"
 msgstr ""
 
-#: common/exechelp-posix.c:678 common/exechelp-posix.c:794
+#: common/exechelp-posix.c:678 common/exechelp-posix.c:799
 #, fuzzy, c-format
 msgid "error running '%s': probably not installed\n"
 msgstr "error en la lectura de «%s»: %s\n"
 
-#: common/exechelp-posix.c:684 common/exechelp-posix.c:801
-#: common/exechelp-w32.c:796 common/exechelp-w32ce.c:781
+#: common/exechelp-posix.c:684 common/exechelp-posix.c:806
+#: common/exechelp-w32.c:829 common/exechelp-w32ce.c:781
 #, fuzzy, c-format
 msgid "error running '%s': exit status %d\n"
 msgstr "error en la lectura de «%s»: %s\n"
 
-#: common/exechelp-posix.c:692 common/exechelp-posix.c:809
+#: common/exechelp-posix.c:692 common/exechelp-posix.c:814
 #, fuzzy, c-format
 msgid "error running '%s': terminated\n"
 msgstr "error en la lectura de «%s»: %s\n"
 
-#: common/exechelp-posix.c:750 common/exechelp-w32.c:777
+#: common/exechelp-posix.c:755 common/exechelp-w32.c:810
 #, fuzzy, c-format
 msgid "waiting for processes to terminate failed: %s\n"
 msgstr "ha fallat l'actualització: %s\n"
 
-#: common/exechelp-w32.c:789 common/exechelp-w32ce.c:775
+#: common/exechelp-w32.c:822 common/exechelp-w32ce.c:775
 #, fuzzy, c-format
 msgid "error getting exit code of process %d: %s\n"
 msgstr "s'ha produït un error mentre s'escrivia l'anell secret «%s»: %s\n"
@@ -1101,7 +1099,7 @@ msgstr ""
 msgid "out of core while allocating %lu bytes"
 msgstr ""
 
-#: common/miscellaneous.c:115 g10/card-util.c:896 tools/no-libgcrypt.c:30
+#: common/miscellaneous.c:115 g10/card-util.c:897 tools/no-libgcrypt.c:30
 #, fuzzy, c-format
 msgid "error allocating enough memory: %s\n"
 msgstr "error en crear l'anell «%s»: %s\n"
@@ -1237,7 +1235,7 @@ msgstr "armadura: %s\n"
 # i s'ha dit que és erroni, igual que «suportat» :) Les alternatives
 # encara no m'agraden massa... jm
 #: common/audit.c:774 common/audit.c:776 common/audit.c:921 common/audit.c:923
-#: scd/app-openpgp.c:3555
+#: scd/app-openpgp.c:3554
 #, fuzzy, c-format
 msgid "unsupported algorithm: %s"
 msgstr ""
@@ -1383,6 +1381,26 @@ msgstr "[no establert]"
 msgid "invalid radix64 character %02x skipped\n"
 msgstr "el caràcter radix64 %02x invàlid s'ha omés\n"
 
+#: common/ttyio.c:433
+#, c-format
+msgid "Sorry, we are in batchmode - can't get input\n"
+msgstr ""
+
+#: common/ttyio.c:439
+#, c-format
+msgid "Sorry, no terminal at all requested - can't get input\n"
+msgstr ""
+
+#: common/ttyio.c:474 common/ttyio.c:484
+#, c-format
+msgid "too many errors; giving up\n"
+msgstr ""
+
+#: common/ttyio.c:536
+#, c-format
+msgid "Control-D detected\n"
+msgstr ""
+
 #: common/argparse.c:520
 msgid "argument not expected"
 msgstr ""
@@ -1457,7 +1475,7 @@ msgstr "opcions d'importació no vàlides\n"
 msgid "missing argument for option \"%.50s\"\n"
 msgstr ""
 
-#: common/argparse.c:558 g10/gpg.c:3490
+#: common/argparse.c:558 g10/gpg.c:3510
 #, fuzzy, c-format
 msgid "invalid argument for option \"%.50s\"\n"
 msgstr "opcions d'importació no vàlides\n"
@@ -1529,31 +1547,31 @@ msgstr "no es pot crear el directori «%s»: %s\n"
 msgid "error writing to '%s': %s\n"
 msgstr "error mentre s'escrivia l'anell «%s»: %s\n"
 
-#: common/dotlock.c:1129
+#: common/dotlock.c:1137
 #, c-format
 msgid "removing stale lockfile (created by %d)\n"
 msgstr ""
 
-#: common/dotlock.c:1165
+#: common/dotlock.c:1173
 #, fuzzy, c-format
 msgid "waiting for lock (held by %d%s) %s...\n"
 msgstr "s'està escrivint la clau secreta a «%s»\n"
 
-#: common/dotlock.c:1166
+#: common/dotlock.c:1174
 msgid "(deadlock?) "
 msgstr ""
 
-#: common/dotlock.c:1205
+#: common/dotlock.c:1213
 #, fuzzy, c-format
 msgid "lock '%s' not made: %s\n"
 msgstr "no s'ha trobat la clau pública %08lX: %s\n"
 
-#: common/dotlock.c:1232
+#: common/dotlock.c:1240
 #, fuzzy, c-format
 msgid "waiting for lock %s...\n"
 msgstr "s'està escrivint la clau secreta a «%s»\n"
 
-#: common/init.c:185 sm/gpgsm.c:949 dirmngr/dirmngr.c:862 dirmngr/dirmngr.c:871
+#: common/init.c:191 sm/gpgsm.c:863 dirmngr/dirmngr.c:900 dirmngr/dirmngr.c:909
 #, c-format
 msgid "%s is too old (need %s, have %s)\n"
 msgstr ""
@@ -1749,13 +1767,13 @@ msgid "Note: Use the command \"%s\" to restart them.\n"
 msgstr "Useu l'ordre «toggle» abans.\n"
 
 #: g10/call-agent.c:318 g10/encrypt.c:154 g10/encrypt.c:620 g10/sign.c:412
-#: sm/call-agent.c:205 sm/encrypt.c:425 sm/sign.c:345
+#: sm/call-agent.c:205 sm/encrypt.c:426 sm/sign.c:345
 #, fuzzy, c-format
 #| msgid "%s does not yet work with %s\n"
 msgid "%s is not compliant with %s mode\n"
 msgstr "%s encara no funciona amb %s\n"
 
-#: g10/call-dirmngr.c:209 sm/call-dirmngr.c:268 tools/gpg-connect-agent.c:2253
+#: g10/call-dirmngr.c:209 sm/call-dirmngr.c:269 tools/gpg-connect-agent.c:2253
 #, fuzzy, c-format
 msgid "no dirmngr running in this session\n"
 msgstr "gpg-agent no està disponible en aquesta sessió\n"
@@ -1798,25 +1816,25 @@ msgstr ""
 msgid "server uses an invalid certificate"
 msgstr "genera un certificat de revocació"
 
-#: g10/call-dirmngr.c:437 g10/gpg.c:4400
+#: g10/call-dirmngr.c:437 g10/gpg.c:4421
 #, fuzzy, c-format
 #| msgid "armor: %s\n"
 msgid "Note: %s\n"
 msgstr "armadura: %s\n"
 
-#: g10/card-util.c:86 g10/card-util.c:366 g10/card-util.c:1902
+#: g10/card-util.c:86 g10/card-util.c:366 g10/card-util.c:1903
 #, fuzzy, c-format
 msgid "OpenPGP card not available: %s\n"
 msgstr "la clau secreta no està disponible"
 
-#: g10/card-util.c:91 g10/card-util.c:1908
+#: g10/card-util.c:91 g10/card-util.c:1909
 #, c-format
 msgid "OpenPGP card no. %s detected\n"
 msgstr ""
 
 # Destès? ivb
 # Desatès, sí. jm
-#: g10/card-util.c:97 g10/card-util.c:2237 g10/delkey.c:160 g10/keyedit.c:1422
+#: g10/card-util.c:97 g10/card-util.c:2238 g10/delkey.c:160 g10/keyedit.c:1423
 #: g10/keygen.c:4466 g10/revoke.c:214 g10/revoke.c:636
 #, fuzzy, c-format
 msgid "can't do this in batch mode\n"
@@ -1828,13 +1846,13 @@ msgid "This command is only available for version 2 cards\n"
 msgstr "Aquesta ordre no està permesa mentre s'està en mode %s.\n"
 
 # Parts?  Peces?  ivb
-#: g10/card-util.c:107 scd/app-openpgp.c:2864
+#: g10/card-util.c:107 scd/app-openpgp.c:2863
 #, fuzzy, c-format
 msgid "Reset Code not or not anymore available\n"
 msgstr "parts de la clau secreta no estan disponbles\n"
 
-#: g10/card-util.c:140 g10/card-util.c:1426 g10/card-util.c:1688
-#: g10/card-util.c:1780 g10/keyedit.c:394 g10/keyedit.c:415 g10/keyedit.c:429
+#: g10/card-util.c:140 g10/card-util.c:1427 g10/card-util.c:1689
+#: g10/card-util.c:1781 g10/keyedit.c:394 g10/keyedit.c:415 g10/keyedit.c:429
 #: g10/keygen.c:1808 g10/keygen.c:1980 g10/keygen.c:2186 g10/keygen.c:2477
 #: sm/certreqgen-ui.c:165 sm/certreqgen-ui.c:291 sm/certreqgen-ui.c:325
 msgid "Your selection? "
@@ -1864,213 +1882,213 @@ msgstr "no forçat"
 msgid "forced"
 msgstr "forçat"
 
-#: g10/card-util.c:749
+#: g10/card-util.c:750
 msgid "Error: Only plain ASCII is currently allowed.\n"
 msgstr ""
 
-#: g10/card-util.c:751
+#: g10/card-util.c:752
 msgid "Error: The \"<\" character may not be used.\n"
 msgstr ""
 
-#: g10/card-util.c:753
+#: g10/card-util.c:754
 msgid "Error: Double spaces are not allowed.\n"
 msgstr ""
 
-#: g10/card-util.c:770
+#: g10/card-util.c:771
 msgid "Cardholder's surname: "
 msgstr ""
 
-#: g10/card-util.c:772
+#: g10/card-util.c:773
 msgid "Cardholder's given name: "
 msgstr ""
 
-#: g10/card-util.c:790
+#: g10/card-util.c:791
 #, c-format
 msgid "Error: Combined name too long (limit is %d characters).\n"
 msgstr ""
 
-#: g10/card-util.c:811
+#: g10/card-util.c:812
 #, fuzzy
 msgid "URL to retrieve public key: "
 msgstr "no hi ha cap clau pública corresponent: %s\n"
 
-#: g10/card-util.c:905 g10/decrypt-data.c:490 g10/import.c:387 g10/import.c:734
-#: g10/import.c:786 dirmngr/crlcache.c:655 dirmngr/crlcache.c:660
-#: dirmngr/crlcache.c:914 dirmngr/crlcache.c:920 dirmngr/dirmngr.c:1668
+#: g10/card-util.c:906 g10/decrypt-data.c:490 g10/import.c:399 g10/import.c:746
+#: g10/import.c:798 dirmngr/crlcache.c:655 dirmngr/crlcache.c:660
+#: dirmngr/crlcache.c:914 dirmngr/crlcache.c:920 dirmngr/dirmngr.c:1705
 #: tools/gpgconf.c:431 tools/gpgconf.c:477
 #, fuzzy, c-format
 #| msgid "error reading `%s': %s\n"
 msgid "error reading '%s': %s\n"
 msgstr "error en la lectura de «%s»: %s\n"
 
-#: g10/card-util.c:938 g10/decrypt-data.c:493 g10/export.c:2467
+#: g10/card-util.c:939 g10/decrypt-data.c:493 g10/export.c:2467
 #: dirmngr/crlcache.c:925
 #, fuzzy, c-format
 msgid "error writing '%s': %s\n"
 msgstr "error mentre s'escrivia l'anell «%s»: %s\n"
 
-#: g10/card-util.c:965
+#: g10/card-util.c:966
 msgid "Login data (account name): "
 msgstr ""
 
-#: g10/card-util.c:1003
+#: g10/card-util.c:1004
 msgid "Private DO data: "
 msgstr ""
 
-#: g10/card-util.c:1088
+#: g10/card-util.c:1089
 #, fuzzy
 msgid "Language preferences: "
 msgstr "preferències actualitzades"
 
-#: g10/card-util.c:1096
+#: g10/card-util.c:1097
 #, fuzzy
 msgid "Error: invalid length of preference string.\n"
 msgstr "hi ha un caràcter invàlid en la cadena de preferència\n"
 
-#: g10/card-util.c:1105
+#: g10/card-util.c:1106
 #, fuzzy
 msgid "Error: invalid characters in preference string.\n"
 msgstr "hi ha un caràcter invàlid en la cadena de preferència\n"
 
-#: g10/card-util.c:1127
+#: g10/card-util.c:1128
 msgid "Salutation (M = Mr., F = Ms., or space): "
 msgstr ""
 
-#: g10/card-util.c:1141
+#: g10/card-util.c:1142
 #, fuzzy
 msgid "Error: invalid response.\n"
 msgstr "error: l'empremta digital és invàlida\n"
 
-#: g10/card-util.c:1163
+#: g10/card-util.c:1164
 #, fuzzy
 msgid "CA fingerprint: "
 msgstr "Empremta digital:"
 
-#: g10/card-util.c:1186
+#: g10/card-util.c:1187
 #, fuzzy
 msgid "Error: invalid formatted fingerprint.\n"
 msgstr "error: l'empremta digital és invàlida\n"
 
-#: g10/card-util.c:1236
+#: g10/card-util.c:1237
 #, fuzzy, c-format
 msgid "key operation not possible: %s\n"
 msgstr "La generació de claus ha fallat: %s\n"
 
-#: g10/card-util.c:1237
+#: g10/card-util.c:1238
 #, fuzzy
 msgid "not an OpenPGP card"
 msgstr "no s'han trobat dades OpenPGP vàlides.\n"
 
-#: g10/card-util.c:1250 g10/keygen.c:4486 g10/keygen.c:5565
+#: g10/card-util.c:1251 g10/keygen.c:4486 g10/keygen.c:5565
 #, fuzzy, c-format
 msgid "error getting current key info: %s\n"
 msgstr "s'ha produït un error mentre s'escrivia l'anell secret «%s»: %s\n"
 
-#: g10/card-util.c:1335
+#: g10/card-util.c:1336
 msgid "Replace existing key? (y/N) "
 msgstr ""
 
-#: g10/card-util.c:1352
+#: g10/card-util.c:1353
 msgid ""
 "Note: There is no guarantee that the card supports the requested size.\n"
 "      If the key generation does not succeed, please check the\n"
 "      documentation of your card to see what sizes are allowed.\n"
 msgstr ""
 
-#: g10/card-util.c:1374 g10/keygen.c:2363 sm/certreqgen-ui.c:179
+#: g10/card-util.c:1375 g10/keygen.c:2363 sm/certreqgen-ui.c:179
 #, fuzzy, c-format
 msgid "What keysize do you want? (%u) "
 msgstr "Quina grandària voleu? (1024) "
 
-#: g10/card-util.c:1384 g10/keygen.c:2286 g10/keygen.c:2318
+#: g10/card-util.c:1385 g10/keygen.c:2286 g10/keygen.c:2318
 #: sm/certreqgen-ui.c:194
 #, c-format
 msgid "rounded up to %u bits\n"
 msgstr "arrodonida fins a %u bits\n"
 
-#: g10/card-util.c:1392 g10/keygen.c:2371 sm/certreqgen-ui.c:184
+#: g10/card-util.c:1393 g10/keygen.c:2371 sm/certreqgen-ui.c:184
 #, c-format
 msgid "%s keysizes must be in the range %u-%u\n"
 msgstr ""
 
-#: g10/card-util.c:1411
+#: g10/card-util.c:1412
 msgid "Changing card key attribute for: "
 msgstr ""
 
-#: g10/card-util.c:1413
+#: g10/card-util.c:1414
 #, fuzzy
 msgid "Signature key\n"
 msgstr "Aquesta signatura va caducar el %s\n"
 
-#: g10/card-util.c:1415
+#: g10/card-util.c:1416
 #, fuzzy
 msgid "Encryption key\n"
 msgstr "   (%d) RSA (només xifrar)\n"
 
-#: g10/card-util.c:1417
+#: g10/card-util.c:1418
 msgid "Authentication key\n"
 msgstr ""
 
-#: g10/card-util.c:1419 g10/keygen.c:1926 sm/certreqgen-ui.c:157
+#: g10/card-util.c:1420 g10/keygen.c:1926 sm/certreqgen-ui.c:157
 msgid "Please select what kind of key you want:\n"
 msgstr "Seleccioneu quin tipus de clau voleu:\n"
 
-#: g10/card-util.c:1420 sm/certreqgen-ui.c:158
+#: g10/card-util.c:1421 sm/certreqgen-ui.c:158
 #, fuzzy, c-format
 msgid "   (%d) RSA\n"
 msgstr "   (%d) RSA (només signar)\n"
 
-#: g10/card-util.c:1421
+#: g10/card-util.c:1422
 #, fuzzy, c-format
 msgid "   (%d) ECC\n"
 msgstr "   (%d) DSA i ElGamal (predeterminat)\n"
 
-#: g10/card-util.c:1433 g10/card-util.c:1700 g10/card-util.c:1800
-#: g10/keyedit.c:899 g10/keygen.c:1834 g10/keygen.c:1862 g10/keygen.c:1987
+#: g10/card-util.c:1434 g10/card-util.c:1701 g10/card-util.c:1801
+#: g10/keyedit.c:900 g10/keygen.c:1834 g10/keygen.c:1862 g10/keygen.c:1987
 #: g10/keygen.c:2222 g10/keygen.c:2505 g10/revoke.c:838
 msgid "Invalid selection.\n"
 msgstr "La selecció és invàlida.\n"
 
-#: g10/card-util.c:1506
+#: g10/card-util.c:1507
 #, c-format
 msgid "The card will now be re-configured to generate a key of %u bits\n"
 msgstr ""
 
-#: g10/card-util.c:1511
+#: g10/card-util.c:1512
 #, c-format
 msgid "The card will now be re-configured to generate a key of type: %s\n"
 msgstr ""
 
-#: g10/card-util.c:1547
+#: g10/card-util.c:1548
 #, fuzzy, c-format
 msgid "error changing key attribute for key %d: %s\n"
 msgstr "error mentre s'enviava a «%s»: %s\n"
 
-#: g10/card-util.c:1563 g10/card-util.c:2090
+#: g10/card-util.c:1564 g10/card-util.c:2091
 #, fuzzy, c-format
 msgid "error getting card info: %s\n"
 msgstr "s'ha produït un error mentre s'escrivia l'anell secret «%s»: %s\n"
 
-#: g10/card-util.c:1569 g10/card-util.c:1914 g10/card-util.c:2096
+#: g10/card-util.c:1570 g10/card-util.c:1915 g10/card-util.c:2097
 #, fuzzy, c-format
 #| msgid "This command is not allowed while in %s mode.\n"
 msgid "This command is not supported by this card\n"
 msgstr "Aquesta ordre no està permesa mentre s'està en mode %s.\n"
 
-#: g10/card-util.c:1615
+#: g10/card-util.c:1616
 msgid "Make off-card backup of encryption key? (Y/n) "
 msgstr ""
 
-#: g10/card-util.c:1629
+#: g10/card-util.c:1630
 #, fuzzy, c-format
 msgid "Note: keys are already stored on the card!\n"
 msgstr "es descarta: la clau secreta ja és present\n"
 
-#: g10/card-util.c:1632
+#: g10/card-util.c:1633
 msgid "Replace existing keys? (y/N) "
 msgstr ""
 
-#: g10/card-util.c:1644
+#: g10/card-util.c:1645
 #, c-format
 msgid ""
 "Please note that the factory settings of the PINs are\n"
@@ -2078,159 +2096,159 @@ msgid ""
 "You should change them using the command --change-pin\n"
 msgstr ""
 
-#: g10/card-util.c:1679
+#: g10/card-util.c:1680
 #, fuzzy
 msgid "Please select the type of key to generate:\n"
 msgstr "Seleccioneu quin tipus de clau voleu:\n"
 
-#: g10/card-util.c:1681 g10/card-util.c:1771
+#: g10/card-util.c:1682 g10/card-util.c:1772
 msgid "   (1) Signature key\n"
 msgstr ""
 
-#: g10/card-util.c:1682 g10/card-util.c:1773
+#: g10/card-util.c:1683 g10/card-util.c:1774
 #, fuzzy
 msgid "   (2) Encryption key\n"
 msgstr "   (%d) RSA (només xifrar)\n"
 
-#: g10/card-util.c:1683 g10/card-util.c:1775
+#: g10/card-util.c:1684 g10/card-util.c:1776
 msgid "   (3) Authentication key\n"
 msgstr ""
 
-#: g10/card-util.c:1768
+#: g10/card-util.c:1769
 #, fuzzy
 msgid "Please select where to store the key:\n"
 msgstr "Seleccioneu la raó de la revocació:\n"
 
-#: g10/card-util.c:1814
+#: g10/card-util.c:1815
 #, fuzzy, c-format
 msgid "KEYTOCARD failed: %s\n"
 msgstr "ha fallat l'actualització: %s\n"
 
-#: g10/card-util.c:1919
+#: g10/card-util.c:1920
 #, fuzzy, c-format
 msgid "Note: This command destroys all keys stored on the card!\n"
 msgstr "es descarta: la clau secreta ja és present\n"
 
-#: g10/card-util.c:1922
+#: g10/card-util.c:1923
 #, fuzzy
 msgid "Continue? (y/N) "
 msgstr "Signar realment? "
 
-#: g10/card-util.c:1927
+#: g10/card-util.c:1928
 msgid "Really do a factory reset? (enter \"yes\") "
 msgstr ""
 
-#: g10/card-util.c:2113
+#: g10/card-util.c:2114
 #, fuzzy, c-format
 msgid "error for setup KDF: %s\n"
 msgstr "error en la lectura de «%s»: %s\n"
 
-#: g10/card-util.c:2142 g10/keyedit.c:1259
+#: g10/card-util.c:2143 g10/keyedit.c:1260
 msgid "quit this menu"
 msgstr "ix del menú"
 
-#: g10/card-util.c:2144
+#: g10/card-util.c:2145
 #, fuzzy
 msgid "show admin commands"
 msgstr "les ordres entren en conflicte\n"
 
 # «pantalla» o «ajuda»?  ivb
 # «ajuda», evidentment. jm
-#: g10/card-util.c:2145 g10/keyedit.c:1262
+#: g10/card-util.c:2146 g10/keyedit.c:1263
 msgid "show this help"
 msgstr "mostra aquesta ajuda"
 
-#: g10/card-util.c:2147
+#: g10/card-util.c:2148
 #, fuzzy
 msgid "list all available data"
 msgstr "La clau és disponible en: "
 
-#: g10/card-util.c:2150
+#: g10/card-util.c:2151
 msgid "change card holder's name"
 msgstr ""
 
-#: g10/card-util.c:2151
+#: g10/card-util.c:2152
 msgid "change URL to retrieve key"
 msgstr ""
 
-#: g10/card-util.c:2152
+#: g10/card-util.c:2153
 msgid "fetch the key specified in the card URL"
 msgstr ""
 
-#: g10/card-util.c:2153
+#: g10/card-util.c:2154
 #, fuzzy
 msgid "change the login name"
 msgstr "canvia la data de caducitat"
 
-#: g10/card-util.c:2154
+#: g10/card-util.c:2155
 #, fuzzy
 msgid "change the language preferences"
 msgstr "canvia la confiança"
 
-#: g10/card-util.c:2155
+#: g10/card-util.c:2156
 msgid "change card holder's salutation"
 msgstr ""
 
-#: g10/card-util.c:2157
+#: g10/card-util.c:2158
 #, fuzzy
 msgid "change a CA fingerprint"
 msgstr "mostra empremta"
 
-#: g10/card-util.c:2158
+#: g10/card-util.c:2159
 msgid "toggle the signature force PIN flag"
 msgstr ""
 
-#: g10/card-util.c:2159
+#: g10/card-util.c:2160
 #, fuzzy
 msgid "generate new keys"
 msgstr "genera un nou parell de claus"
 
-#: g10/card-util.c:2160
+#: g10/card-util.c:2161
 msgid "menu to change or unblock the PIN"
 msgstr ""
 
-#: g10/card-util.c:2161
+#: g10/card-util.c:2162
 msgid "verify the PIN and list all data"
 msgstr ""
 
-#: g10/card-util.c:2162
+#: g10/card-util.c:2163
 msgid "unblock the PIN using a Reset Code"
 msgstr ""
 
-#: g10/card-util.c:2163
+#: g10/card-util.c:2164
 msgid "destroy all keys and data"
 msgstr ""
 
-#: g10/card-util.c:2164
+#: g10/card-util.c:2165
 #, fuzzy
 #| msgid "|NAME|use NAME as default recipient"
 msgid "setup KDF for PIN authentication"
 msgstr "|NOM|usa NOM com a destinatari predeterminat"
 
-#: g10/card-util.c:2165
+#: g10/card-util.c:2166
 #, fuzzy
 #| msgid "change the ownertrust"
 msgid "change the key attribute"
 msgstr "canvia la confiança"
 
-#: g10/card-util.c:2289
+#: g10/card-util.c:2290
 msgid "gpg/card> "
 msgstr ""
 
-#: g10/card-util.c:2330
+#: g10/card-util.c:2331
 #, fuzzy
 msgid "Admin-only command\n"
 msgstr "les ordres entren en conflicte\n"
 
-#: g10/card-util.c:2361
+#: g10/card-util.c:2362
 msgid "Admin commands are allowed\n"
 msgstr ""
 
-#: g10/card-util.c:2363
+#: g10/card-util.c:2364
 msgid "Admin commands are not allowed\n"
 msgstr ""
 
-#: g10/card-util.c:2466 g10/keyedit.c:2228
+#: g10/card-util.c:2467 g10/keyedit.c:2229
 msgid "Invalid command  (try \"help\")\n"
 msgstr "L'ordre no és vàlida (proveu «help»)\n"
 
@@ -2239,22 +2257,22 @@ msgstr "L'ordre no és vàlida (proveu «help»)\n"
 msgid "--output doesn't work for this command\n"
 msgstr "--output no funciona per a aquesta ordre\n"
 
-#: g10/decrypt.c:247 g10/gpg.c:5083 g10/keyring.c:399 g10/keyring.c:750
+#: g10/decrypt.c:247 g10/gpg.c:5104 g10/keyring.c:399 g10/keyring.c:750
 #, fuzzy, c-format
 #| msgid "can't open `%s'\n"
 msgid "can't open '%s'\n"
 msgstr "no s'ha pogut obrir «%s»\n"
 
 #: g10/delkey.c:83 g10/export.c:1947 g10/export.c:2230 g10/export.c:2351
-#: g10/getkey.c:1964 g10/gpg.c:5028 g10/keyedit.c:1444 g10/keyedit.c:2334
-#: g10/keyedit.c:2580 g10/keyedit.c:4543 g10/keylist.c:689 g10/keyserver.c:1259
+#: g10/getkey.c:2108 g10/gpg.c:5049 g10/keyedit.c:1445 g10/keyedit.c:2335
+#: g10/keyedit.c:2581 g10/keyedit.c:4544 g10/keylist.c:689 g10/keyserver.c:1092
 #: g10/revoke.c:230 g10/tofu.c:2165
 #, fuzzy, c-format
 msgid "key \"%s\" not found: %s\n"
 msgstr "no s'ha trobat la clau «%s»: %s\n"
 
-#: g10/delkey.c:92 g10/export.c:2015 g10/getkey.c:1972 g10/getkey.c:4346
-#: g10/gpg.c:5037 g10/keyedit.c:2307 g10/keyserver.c:1277 g10/revoke.c:236
+#: g10/delkey.c:92 g10/export.c:2015 g10/getkey.c:2116 g10/getkey.c:4517
+#: g10/gpg.c:5058 g10/keyedit.c:2308 g10/keyserver.c:1110 g10/revoke.c:236
 #: g10/revoke.c:663 g10/tofu.c:2173
 #, c-format
 msgid "error reading keyblock: %s\n"
@@ -2318,9 +2336,9 @@ msgstr "clau"
 msgid "subkey"
 msgstr "Clau pública: "
 
-#: g10/delkey.c:299 g10/keyedit.c:2200 g10/keyedit.c:2210 g10/keyedit.c:2387
-#: g10/keyedit.c:2461 g10/keyedit.c:2532 g10/keyedit.c:2757 g10/keyedit.c:2987
-#: g10/keyedit.c:3056 g10/keyedit.c:3207
+#: g10/delkey.c:299 g10/keyedit.c:2201 g10/keyedit.c:2211 g10/keyedit.c:2388
+#: g10/keyedit.c:2462 g10/keyedit.c:2533 g10/keyedit.c:2758 g10/keyedit.c:2988
+#: g10/keyedit.c:3057 g10/keyedit.c:3208
 #, c-format
 msgid "update failed: %s\n"
 msgstr "ha fallat l'actualització: %s\n"
@@ -2345,7 +2363,7 @@ msgstr "hi ha una clau secreta per a la clau pública «%s»!\n"
 msgid "use option \"--delete-secret-keys\" to delete it first.\n"
 msgstr "utilitzeu l'opció «--delete-secret-keys» per a eliminar-la primer.\n"
 
-#: g10/encrypt.c:202 g10/sign.c:1471
+#: g10/encrypt.c:202 g10/sign.c:1470
 #, c-format
 msgid "error creating passphrase: %s\n"
 msgstr "error en la creació de la contrasenya: %s\n"
@@ -2372,14 +2390,14 @@ msgstr "«%s» ja està comprimida\n"
 msgid "WARNING: '%s' is an empty file\n"
 msgstr "AVÍS: «%s» és un fitxer buit\n"
 
-#: g10/encrypt.c:387 g10/encrypt.c:610 g10/decrypt-data.c:260 g10/gpg.c:3901
-#: g10/gpg.c:3941 sm/decrypt.c:364 sm/encrypt.c:415 sm/gpgsm.c:1655
+#: g10/encrypt.c:387 g10/encrypt.c:610 g10/decrypt-data.c:260 g10/gpg.c:3922
+#: g10/gpg.c:3962 sm/decrypt.c:826 sm/encrypt.c:416 sm/gpgsm.c:1555
 #, fuzzy, c-format
 msgid "cipher algorithm '%s' may not be used in %s mode\n"
 msgstr "no podeu usar l'algorisme de xifratge «%s» mentre esteu en mode %s\n"
 
-#: g10/encrypt.c:396 g10/gpg.c:3907 g10/gpg.c:3953 g10/sig-check.c:146
-#: g10/sign.c:391 sm/gpgsm.c:1665 sm/gpgsm.c:1675 sm/sign.c:478 sm/verify.c:506
+#: g10/encrypt.c:396 g10/gpg.c:3928 g10/gpg.c:3974 g10/sig-check.c:146
+#: g10/sign.c:391 sm/gpgsm.c:1565 sm/gpgsm.c:1575 sm/sign.c:478 sm/verify.c:506
 #, fuzzy, c-format
 msgid "digest algorithm '%s' may not be used in %s mode\n"
 msgstr "no podeu usar l'algorisme de resum %s mentre esteu en mode %s\n"
@@ -2397,12 +2415,12 @@ msgid ""
 msgstr ""
 "forçar el xifrat asimètric %s (%d) viola les preferències del destinatari\n"
 
-#: g10/encrypt.c:640 sm/encrypt.c:490
+#: g10/encrypt.c:640 sm/encrypt.c:491
 #, fuzzy, c-format
 msgid "WARNING: key %s is not suitable for encryption in %s mode\n"
 msgstr "AVÍS: %s és una opció desaconsellada.\n"
 
-#: g10/encrypt.c:751 g10/sign.c:1163
+#: g10/encrypt.c:751 g10/sign.c:1162
 #, fuzzy, c-format
 msgid ""
 "WARNING: forcing compression algorithm %s (%d) violates recipient "
@@ -2433,14 +2451,14 @@ msgstr "no podeu usar %s mentre esteu en mode %s\n"
 msgid "%s encrypted data\n"
 msgstr "dades xifrades amb %s\n"
 
-#: g10/decrypt-data.c:243 g10/mainproc.c:396
+#: g10/decrypt-data.c:243 g10/mainproc.c:397
 #, c-format
 msgid "encrypted with unknown algorithm %d\n"
 msgstr "xifrat amb l'algoritme %d (desconegut)\n"
 
 # És no-wrap?  ivb
 # Com? jm
-#: g10/decrypt-data.c:357 g10/decrypt-data.c:410 sm/decrypt.c:130
+#: g10/decrypt-data.c:357 g10/decrypt-data.c:410 sm/decrypt.c:550
 #, c-format
 msgid ""
 "WARNING: message was encrypted with a weak key in the symmetric cipher.\n"
@@ -2459,7 +2477,7 @@ msgstr "problema en tractar amb un paquet xifrat\n"
 msgid "no remote program execution supported\n"
 msgstr "no hi ha suport per a l'execució remota de programes\n"
 
-#: g10/exec.c:381
+#: g10/exec.c:389
 #, c-format
 msgid ""
 "external program calls are disabled due to unsafe options file permissions\n"
@@ -2467,50 +2485,50 @@ msgstr ""
 "les crides a programes externs estan inhabilitades per tindre el fitxer "
 "d'opcions permissos insegurs\n"
 
-#: g10/exec.c:411
+#: g10/exec.c:419
 #, fuzzy, c-format
 msgid "this platform requires temporary files when calling external programs\n"
 msgstr ""
 "aquesta plataforma necessita fitxers temporals quan es crida a programes "
 "externs\n"
 
-#: g10/exec.c:489
+#: g10/exec.c:497
 #, fuzzy, c-format
 msgid "unable to execute program '%s': %s\n"
 msgstr "no s'ha pogut executar %s «%s»: %s\n"
 
-#: g10/exec.c:492
+#: g10/exec.c:500
 #, fuzzy, c-format
 msgid "unable to execute shell '%s': %s\n"
 msgstr "no s'ha pogut executar %s «%s»: %s\n"
 
-#: g10/exec.c:583
+#: g10/exec.c:591
 #, c-format
 msgid "system error while calling external program: %s\n"
 msgstr "s'ha produït un error del sistema en cridar el programa extern: %s\n"
 
-#: g10/exec.c:594 g10/exec.c:661
+#: g10/exec.c:602 g10/exec.c:669
 #, c-format
 msgid "unnatural exit of external program\n"
 msgstr "s'ha produït una eixida no natural del programa extern\n"
 
-#: g10/exec.c:609
+#: g10/exec.c:617
 #, c-format
 msgid "unable to execute external program\n"
 msgstr "no s'ha pogut executar el programa extern\n"
 
-#: g10/exec.c:626
+#: g10/exec.c:634
 #, c-format
 msgid "unable to read external program response: %s\n"
 msgstr "no s'ha pogut llegir la resposta del programa extern: %s\n"
 
-#: g10/exec.c:672 g10/exec.c:679
+#: g10/exec.c:680 g10/exec.c:687
 #, fuzzy, c-format
 #| msgid "WARNING: unable to remove tempfile (%s) `%s': %s\n"
 msgid "WARNING: unable to remove tempfile (%s) '%s': %s\n"
 msgstr "AVÍS: no s'ha pogut eliminar el fitxer temporal (%s) «%s»: %s\n"
 
-#: g10/exec.c:684
+#: g10/exec.c:692
 #, fuzzy, c-format
 #| msgid "WARNING: unable to remove temp directory `%s': %s\n"
 msgid "WARNING: unable to remove temp directory '%s': %s\n"
@@ -2551,8 +2569,8 @@ msgstr ""
 msgid " - skipped"
 msgstr "%s: es descarta: %s\n"
 
-#: g10/export.c:1324 g10/import.c:2073 g10/openfile.c:200 g10/openfile.c:294
-#: g10/sign.c:1013 g10/sign.c:1327
+#: g10/export.c:1324 g10/import.c:2085 g10/openfile.c:200 g10/openfile.c:294
+#: g10/sign.c:1012 g10/sign.c:1326
 #, fuzzy, c-format
 #| msgid "writing to `%s'\n"
 msgid "writing to '%s'\n"
@@ -2592,295 +2610,295 @@ msgstr "error en crear «%s»: %s\n"
 msgid "[User ID not found]"
 msgstr "[No s'ha trobat l'id d'usuari]"
 
-#: g10/getkey.c:1297
+#: g10/getkey.c:1441
 #, fuzzy, c-format
 msgid "automatically retrieved '%s' via %s\n"
 msgstr "error en crear «%s»: %s\n"
 
-#: g10/getkey.c:1303
+#: g10/getkey.c:1447
 #, fuzzy, c-format
 msgid "error retrieving '%s' via %s: %s\n"
 msgstr "error en crear «%s»: %s\n"
 
-#: g10/getkey.c:1305
+#: g10/getkey.c:1449
 #, fuzzy
 msgid "No fingerprint"
 msgstr "Empremta digital:"
 
-#: g10/getkey.c:1526
+#: g10/getkey.c:1670
 #, c-format
 msgid "checking for a fresh copy of an expired key via %s\n"
 msgstr ""
 
-#: g10/getkey.c:1941 g10/revoke.c:655 g10/revoke.c:720
+#: g10/getkey.c:2085 g10/revoke.c:655 g10/revoke.c:720
 #, fuzzy, c-format
 msgid "secret key \"%s\" not found: %s\n"
 msgstr "no s'ha trobat la clau secreta «%s»: %s\n"
 
-#: g10/getkey.c:1944 g10/pkclist.c:988
+#: g10/getkey.c:2088 g10/pkclist.c:988
 #, fuzzy, c-format
 msgid "(check argument of option '%s')\n"
 msgstr "opcions d'importació no vàlides\n"
 
-#: g10/getkey.c:2020
+#: g10/getkey.c:2164
 #, fuzzy, c-format
 #| msgid "|NAME|use NAME as default secret key"
 msgid "Warning: not using '%s' as default key: %s\n"
 msgstr "|NOM|usa NOM com a clau secreta predeterminada"
 
-#: g10/getkey.c:2028
+#: g10/getkey.c:2172
 #, fuzzy, c-format
 #| msgid "|NAME|use NAME as default secret key"
 msgid "using \"%s\" as default secret key for signing\n"
 msgstr "|NOM|usa NOM com a clau secreta predeterminada"
 
-#: g10/getkey.c:2035
+#: g10/getkey.c:2179
 #, c-format
 msgid "all values passed to '%s' ignored\n"
 msgstr ""
 
-#: g10/getkey.c:2880
+#: g10/getkey.c:3024
 #, fuzzy, c-format
 msgid "Invalid key %s made valid by --allow-non-selfsigned-uid\n"
 msgstr ""
 "La clau invàlida %08lX s'ha fet vàlida amb --allow-non-selfsigned-uid\n"
 
-#: g10/getkey.c:3730
+#: g10/getkey.c:3874
 #, fuzzy, c-format
 msgid "using subkey %s instead of primary key %s\n"
 msgstr "s'usarà la clau secundària %08lX en lloc de la primària %08lX\n"
 
-#: g10/getkey.c:4275 g10/gpg.c:2107
+#: g10/getkey.c:4446 g10/gpg.c:2120
 #, fuzzy, c-format
 msgid "valid values for option '%s':\n"
 msgstr "opcions d'importació no vàlides\n"
 
-#: g10/gpg.c:442 sm/gpgsm.c:206
+#: g10/gpg.c:439 sm/gpgsm.c:207
 #, fuzzy
 msgid "make a signature"
 msgstr "|[fitxer]|crea una signatura"
 
-#: g10/gpg.c:443
+#: g10/gpg.c:440
 #, fuzzy
 msgid "make a clear text signature"
 msgstr "|[fitxer]|crea una signatura en text clar"
 
-#: g10/gpg.c:445 sm/gpgsm.c:208
+#: g10/gpg.c:442 sm/gpgsm.c:209
 msgid "make a detached signature"
 msgstr "crea una signatura separada"
 
-#: g10/gpg.c:446 sm/gpgsm.c:209
+#: g10/gpg.c:443 sm/gpgsm.c:210
 msgid "encrypt data"
 msgstr "xifra dades"
 
-#: g10/gpg.c:448
+#: g10/gpg.c:445
 msgid "encryption only with symmetric cipher"
 msgstr "xifra només amb xifratge simètric"
 
-#: g10/gpg.c:450 sm/gpgsm.c:211
+#: g10/gpg.c:447 sm/gpgsm.c:212
 msgid "decrypt data (default)"
 msgstr "desxifra dades (predeterminat)"
 
-#: g10/gpg.c:452 sm/gpgsm.c:212
+#: g10/gpg.c:449 sm/gpgsm.c:213
 msgid "verify a signature"
 msgstr "verifica una signatura"
 
-#: g10/gpg.c:454 sm/gpgsm.c:213
+#: g10/gpg.c:451 sm/gpgsm.c:214
 msgid "list keys"
 msgstr "llista claus"
 
-#: g10/gpg.c:456
+#: g10/gpg.c:453
 msgid "list keys and signatures"
 msgstr "llista claus i signatures"
 
 # «de les claus» o «de la clau»?  ivb
-#: g10/gpg.c:459
+#: g10/gpg.c:456
 #, fuzzy
 msgid "list and check key signatures"
 msgstr "comprova les signatures de la claus"
 
 # «dactilars» o «digitals»?  ivb
-#: g10/gpg.c:461 sm/gpgsm.c:218
+#: g10/gpg.c:458 sm/gpgsm.c:219
 msgid "list keys and fingerprints"
 msgstr "llista claus i empremtes digitals"
 
-#: g10/gpg.c:462 sm/gpgsm.c:216
+#: g10/gpg.c:459 sm/gpgsm.c:217
 msgid "list secret keys"
 msgstr "llista claus secretes"
 
-#: g10/gpg.c:464 sm/gpgsm.c:219
+#: g10/gpg.c:461 sm/gpgsm.c:220
 msgid "generate a new key pair"
 msgstr "genera un nou parell de claus"
 
-#: g10/gpg.c:467
+#: g10/gpg.c:464
 #, fuzzy
 #| msgid "generate a new key pair"
 msgid "quickly generate a new key pair"
 msgstr "genera un nou parell de claus"
 
-#: g10/gpg.c:470
+#: g10/gpg.c:467
 #, fuzzy
 #| msgid "generate a new key pair"
 msgid "quickly add a new user-id"
 msgstr "genera un nou parell de claus"
 
-#: g10/gpg.c:475
+#: g10/gpg.c:472
 #, fuzzy
 #| msgid "generate a new key pair"
 msgid "quickly revoke a user-id"
 msgstr "genera un nou parell de claus"
 
-#: g10/gpg.c:478
+#: g10/gpg.c:475
 #, fuzzy
 #| msgid "generate a new key pair"
 msgid "quickly set a new expiration date"
 msgstr "genera un nou parell de claus"
 
-#: g10/gpg.c:481
+#: g10/gpg.c:478
 msgid "full featured key pair generation"
 msgstr ""
 
-#: g10/gpg.c:484
+#: g10/gpg.c:481
 msgid "generate a revocation certificate"
 msgstr "genera un certificat de revocació"
 
-#: g10/gpg.c:487 sm/gpgsm.c:222
+#: g10/gpg.c:484 sm/gpgsm.c:223
 msgid "remove keys from the public keyring"
 msgstr "elimina claus de l'anell públic"
 
-#: g10/gpg.c:489
+#: g10/gpg.c:486
 msgid "remove keys from the secret keyring"
 msgstr "elimina claus de l'anell secret"
 
-#: g10/gpg.c:491
+#: g10/gpg.c:488
 #, fuzzy
 #| msgid "sign a key"
 msgid "quickly sign a key"
 msgstr "signa una clau"
 
-#: g10/gpg.c:493
+#: g10/gpg.c:490
 #, fuzzy
 #| msgid "sign a key locally"
 msgid "quickly sign a key locally"
 msgstr "signa una clau localment"
 
-#: g10/gpg.c:495
+#: g10/gpg.c:492
 #, fuzzy
 #| msgid "generate a new key pair"
 msgid "quickly revoke a key signature"
 msgstr "genera un nou parell de claus"
 
-#: g10/gpg.c:496
+#: g10/gpg.c:493
 msgid "sign a key"
 msgstr "signa una clau"
 
-#: g10/gpg.c:497
+#: g10/gpg.c:494
 msgid "sign a key locally"
 msgstr "signa una clau localment"
 
-#: g10/gpg.c:498
+#: g10/gpg.c:495
 msgid "sign or edit a key"
 msgstr "signa o edita una clau"
 
-#: g10/gpg.c:500 sm/gpgsm.c:240
+#: g10/gpg.c:497 sm/gpgsm.c:241
 #, fuzzy
 msgid "change a passphrase"
 msgstr "canvia la contrasenya"
 
-#: g10/gpg.c:504
+#: g10/gpg.c:501
 msgid "export keys"
 msgstr "exporta claus"
 
-#: g10/gpg.c:505
+#: g10/gpg.c:502
 msgid "export keys to a keyserver"
 msgstr "exporta claus a un servidor de claus"
 
-#: g10/gpg.c:506
+#: g10/gpg.c:503
 msgid "import keys from a keyserver"
 msgstr "importa claus d'un servidor de claus"
 
-#: g10/gpg.c:509
+#: g10/gpg.c:506
 msgid "search for keys on a keyserver"
 msgstr "cerca claus en un servidor de claus"
 
-#: g10/gpg.c:511
+#: g10/gpg.c:508
 msgid "update all keys from a keyserver"
 msgstr "actualitza totes les claus des d'un servidor de claus"
 
-#: g10/gpg.c:519
+#: g10/gpg.c:516
 msgid "import/merge keys"
 msgstr "importa/fon claus"
 
-#: g10/gpg.c:522
+#: g10/gpg.c:519
 msgid "print the card status"
 msgstr ""
 
-#: g10/gpg.c:523
+#: g10/gpg.c:520
 msgid "change data on a card"
 msgstr ""
 
-#: g10/gpg.c:525
+#: g10/gpg.c:522
 msgid "change a card's PIN"
 msgstr ""
 
-#: g10/gpg.c:537
+#: g10/gpg.c:534
 msgid "update the trust database"
 msgstr "actualitza la base de dades de confiança"
 
-#: g10/gpg.c:546
+#: g10/gpg.c:543
 #, fuzzy
 msgid "print message digests"
 msgstr "|algo [fitxers]|imprimeix resums de missatges"
 
-#: g10/gpg.c:549 sm/gpgsm.c:235
+#: g10/gpg.c:546 sm/gpgsm.c:236
 msgid "run in server mode"
 msgstr ""
 
-#: g10/gpg.c:551
+#: g10/gpg.c:548
 msgid "|VALUE|set the TOFU policy for a key"
 msgstr ""
 
-#: g10/gpg.c:555 sm/gpgsm.c:254
+#: g10/gpg.c:552 sm/gpgsm.c:255
 msgid "create ascii armored output"
 msgstr "crea eixida amb armadura ascii"
 
-#: g10/gpg.c:558 sm/gpgsm.c:271
+#: g10/gpg.c:555 sm/gpgsm.c:272
 #, fuzzy
 msgid "|USER-ID|encrypt for USER-ID"
 msgstr "|NOM|xifra per a NOM"
 
-#: g10/gpg.c:574 sm/gpgsm.c:307
+#: g10/gpg.c:571 sm/gpgsm.c:308
 #, fuzzy
 msgid "|USER-ID|use USER-ID to sign or decrypt"
 msgstr "usa aquest id per a signar o desxifrar"
 
-#: g10/gpg.c:580
+#: g10/gpg.c:577
 #, fuzzy
 msgid "|N|set compress level to N (0 disables)"
 msgstr "|N|nivell de compressió N (0 no comprimeix)"
 
-#: g10/gpg.c:587
+#: g10/gpg.c:584
 msgid "use canonical text mode"
 msgstr "usa el mode de text canònic"
 
-#: g10/gpg.c:604 g10/gpgv.c:82 sm/gpgsm.c:309
+#: g10/gpg.c:601 g10/gpgv.c:82 sm/gpgsm.c:310
 #, fuzzy
 msgid "|FILE|write output to FILE"
 msgstr "|FITXER|carrega el mòdul d'extensió especificat"
 
-#: g10/gpg.c:614 kbx/kbxutil.c:90 sm/gpgsm.c:321 tools/gpgconf.c:110
+#: g10/gpg.c:611 kbx/kbxutil.c:90 sm/gpgsm.c:322 tools/gpgconf.c:110
 msgid "do not make any changes"
 msgstr "no fa cap canvi"
 
-#: g10/gpg.c:615
+#: g10/gpg.c:612
 msgid "prompt before overwriting"
 msgstr "pregunta abans de sobreescriure"
 
-#: g10/gpg.c:665
+#: g10/gpg.c:662
 msgid "use strict OpenPGP behavior"
 msgstr ""
 
-#: g10/gpg.c:692 sm/gpgsm.c:364
+#: g10/gpg.c:689 sm/gpgsm.c:367
 msgid ""
 "@\n"
 "(See the man page for a complete listing of all commands and options)\n"
@@ -2891,7 +2909,7 @@ msgstr ""
 # Crec q (A)lice (orig.), (B)ob (dest.), etc. són noms usats pel Zimmerman
 # en el manual original de PGP.  A, B, C...  ivb
 # En efecte. Idem per a Mallory més endavant. Els deixe com a l'original. jm
-#: g10/gpg.c:695
+#: g10/gpg.c:692
 #, fuzzy
 #| msgid ""
 #| "@\n"
@@ -2921,13 +2939,13 @@ msgstr ""
 " --list-keys [noms]         mostra claus\n"
 " --fingerprint [noms]       mostra empremtes digitals\n"
 
-#: g10/gpg.c:1092
+#: g10/gpg.c:1096
 #, fuzzy
 #| msgid "Usage: gpg [options] [files] (-h for help)"
 msgid "Usage: @GPG@ [options] [files] (-h for help)"
 msgstr "Forma d'ús: gpg [opcions] [fitxers] (-h per a veure l'ajuda)"
 
-#: g10/gpg.c:1095
+#: g10/gpg.c:1099
 #, fuzzy
 #| msgid ""
 #| "Syntax: gpg [options] [files]\n"
@@ -2947,7 +2965,7 @@ msgstr ""
 # Precissament acabem de parlar d'«implementat a la llista del GNOME
 # i s'ha dit que és erroni, igual que «suportat» :) Les alternatives
 # encara no m'agraden massa... jm
-#: g10/gpg.c:1106 sm/gpgsm.c:591
+#: g10/gpg.c:1110 sm/gpgsm.c:594
 msgid ""
 "\n"
 "Supported algorithms:\n"
@@ -2955,552 +2973,552 @@ msgstr ""
 "\n"
 "Algoritmes suportats:\n"
 
-#: g10/gpg.c:1109
+#: g10/gpg.c:1113
 msgid "Pubkey: "
 msgstr "Clau pública: "
 
-#: g10/gpg.c:1116 g10/keyedit.c:3281
+#: g10/gpg.c:1120 g10/keyedit.c:3282
 msgid "Cipher: "
 msgstr "Xifratge: "
 
-#: g10/gpg.c:1123
+#: g10/gpg.c:1127
 msgid "Hash: "
 msgstr "Dispersió: "
 
-#: g10/gpg.c:1130 g10/keyedit.c:3347
+#: g10/gpg.c:1134 g10/keyedit.c:3348
 msgid "Compression: "
 msgstr "Compressió: "
 
-#: g10/gpg.c:1199 sm/gpgsm.c:665
+#: g10/gpg.c:1207 sm/gpgsm.c:668
 #, fuzzy, c-format
 msgid "usage: %s [options] %s\n"
 msgstr "forma d'ús: gpg [opcions] "
 
-#: g10/gpg.c:1388 sm/gpgsm.c:754
+#: g10/gpg.c:1396 sm/gpgsm.c:761
 #, c-format
 msgid "conflicting commands\n"
 msgstr "les ordres entren en conflicte\n"
 
-#: g10/gpg.c:1406
+#: g10/gpg.c:1414
 #, fuzzy, c-format
 #| msgid "no = sign found in group definition `%s'\n"
 msgid "no = sign found in group definition '%s'\n"
 msgstr "no s'ha trobat cap signe = a la definició de grup «%s»\n"
 
 # Indi. ivb
-#: g10/gpg.c:1604
+#: g10/gpg.c:1612
 #, fuzzy, c-format
 msgid "WARNING: unsafe ownership on homedir '%s'\n"
 msgstr "AVÍS: el propietari és insegur en %s «%s»\n"
 
 # Indi. ivb
-#: g10/gpg.c:1607
+#: g10/gpg.c:1615
 #, fuzzy, c-format
 msgid "WARNING: unsafe ownership on configuration file '%s'\n"
 msgstr "AVÍS: el propietari és insegur en %s «%s»\n"
 
 # Indi. ivb
-#: g10/gpg.c:1610
+#: g10/gpg.c:1618
 #, fuzzy, c-format
 msgid "WARNING: unsafe ownership on extension '%s'\n"
 msgstr "AVÍS: el propietari és insegur en %s «%s»\n"
 
-#: g10/gpg.c:1616
+#: g10/gpg.c:1624
 #, fuzzy, c-format
 msgid "WARNING: unsafe permissions on homedir '%s'\n"
 msgstr "AVÍS: els permissos són insegurs en %s «%s»\n"
 
-#: g10/gpg.c:1619
+#: g10/gpg.c:1627
 #, fuzzy, c-format
 msgid "WARNING: unsafe permissions on configuration file '%s'\n"
 msgstr "AVÍS: els permissos són insegurs en %s «%s»\n"
 
-#: g10/gpg.c:1622
+#: g10/gpg.c:1630
 #, fuzzy, c-format
 msgid "WARNING: unsafe permissions on extension '%s'\n"
 msgstr "AVÍS: els permissos són insegurs en %s «%s»\n"
 
-#: g10/gpg.c:1628
+#: g10/gpg.c:1636
 #, fuzzy, c-format
 msgid "WARNING: unsafe enclosing directory ownership on homedir '%s'\n"
 msgstr "AVÍS: el propietari del directori envoltant és insegur en %s «%s»\n"
 
-#: g10/gpg.c:1631
+#: g10/gpg.c:1639
 #, fuzzy, c-format
 msgid ""
 "WARNING: unsafe enclosing directory ownership on configuration file '%s'\n"
 msgstr "AVÍS: el propietari del directori envoltant és insegur en %s «%s»\n"
 
-#: g10/gpg.c:1634
+#: g10/gpg.c:1642
 #, fuzzy, c-format
 msgid "WARNING: unsafe enclosing directory ownership on extension '%s'\n"
 msgstr "AVÍS: el propietari del directori envoltant és insegur en %s «%s»\n"
 
-#: g10/gpg.c:1640
+#: g10/gpg.c:1648
 #, fuzzy, c-format
 msgid "WARNING: unsafe enclosing directory permissions on homedir '%s'\n"
 msgstr "AVÍS: els permissos del directori envoltant són insegurs en %s «%s»\n"
 
-#: g10/gpg.c:1643
+#: g10/gpg.c:1651
 #, fuzzy, c-format
 msgid ""
 "WARNING: unsafe enclosing directory permissions on configuration file '%s'\n"
 msgstr "AVÍS: els permissos del directori envoltant són insegurs en %s «%s»\n"
 
-#: g10/gpg.c:1646
+#: g10/gpg.c:1654
 #, fuzzy, c-format
 msgid "WARNING: unsafe enclosing directory permissions on extension '%s'\n"
 msgstr "AVÍS: els permissos del directori envoltant són insegurs en %s «%s»\n"
 
-#: g10/gpg.c:1862
+#: g10/gpg.c:1870
 #, fuzzy, c-format
 msgid "unknown configuration item '%s'\n"
 msgstr "s'ha creat el nou fitxer d'opcions «%s»\n"
 
-#: g10/gpg.c:1979
+#: g10/gpg.c:1992
 msgid "display photo IDs during key listings"
 msgstr ""
 
-#: g10/gpg.c:1981
+#: g10/gpg.c:1994
 #, fuzzy
 msgid "show key usage information during key listings"
 msgstr "No hi ha cap signatura corresponent en l'anell secret\n"
 
-#: g10/gpg.c:1983
+#: g10/gpg.c:1996
 msgid "show policy URLs during signature listings"
 msgstr ""
 
-#: g10/gpg.c:1985
+#: g10/gpg.c:1998
 #, fuzzy
 msgid "show all notations during signature listings"
 msgstr "No hi ha cap signatura corresponent en l'anell secret\n"
 
-#: g10/gpg.c:1987
+#: g10/gpg.c:2000
 msgid "show IETF standard notations during signature listings"
 msgstr ""
 
-#: g10/gpg.c:1991
+#: g10/gpg.c:2004
 msgid "show user-supplied notations during signature listings"
 msgstr ""
 
-#: g10/gpg.c:1993
+#: g10/gpg.c:2006
 #, fuzzy
 msgid "show preferred keyserver URLs during signature listings"
 msgstr "la URL de política de signatura donada no és vàlida\n"
 
-#: g10/gpg.c:1995
+#: g10/gpg.c:2008
 msgid "show user ID validity during key listings"
 msgstr ""
 
-#: g10/gpg.c:1997
+#: g10/gpg.c:2010
 msgid "show revoked and expired user IDs in key listings"
 msgstr ""
 
-#: g10/gpg.c:1999
+#: g10/gpg.c:2012
 msgid "show revoked and expired subkeys in key listings"
 msgstr ""
 
-#: g10/gpg.c:2001
+#: g10/gpg.c:2014
 #, fuzzy
 msgid "show the keyring name in key listings"
 msgstr "mostra en quin anell de claus està una clau llistada"
 
-#: g10/gpg.c:2003
+#: g10/gpg.c:2016
 #, fuzzy
 msgid "show expiration dates during signature listings"
 msgstr "No hi ha cap signatura corresponent en l'anell secret\n"
 
-#: g10/gpg.c:2118
+#: g10/gpg.c:2131
 #, fuzzy, c-format
 msgid "unknown TOFU policy '%s'\n"
 msgstr "el destinatari predeterminat és desconegut «%s»\n"
 
-#: g10/gpg.c:2120
+#: g10/gpg.c:2133
 #, c-format
 msgid "(use \"help\" to list choices)\n"
 msgstr ""
 
-#: g10/gpg.c:2840 g10/gpg.c:3671 g10/gpg.c:3683
+#: g10/gpg.c:2856 g10/gpg.c:3691 g10/gpg.c:3703
 #, fuzzy, c-format
 #| msgid "NOTE: %s is not for normal use!\n"
 msgid "Note: %s is not for normal use!\n"
 msgstr "NOTA: %s no és per a ús normal!\n"
 
-#: g10/gpg.c:3017 g10/gpg.c:3029
+#: g10/gpg.c:3033 g10/gpg.c:3045
 #, fuzzy, c-format
 msgid "'%s' is not a valid signature expiration\n"
 msgstr "%s no és un joc de caràcters vàlid\n"
 
-#: g10/gpg.c:3051
+#: g10/gpg.c:3067
 #, fuzzy, c-format
 msgid "\"%s\" is not a proper mail address\n"
 msgstr "No és una adreça vàlida\n"
 
-#: g10/gpg.c:3083 sm/gpgsm.c:1177
+#: g10/gpg.c:3099 sm/gpgsm.c:1091
 #, fuzzy, c-format
 msgid "invalid pinentry mode '%s'\n"
 msgstr "l'algoritme de dispersió és invàlid «%s»\n"
 
-#: g10/gpg.c:3089 sm/gpgsm.c:1183
+#: g10/gpg.c:3105 sm/gpgsm.c:1097
 #, fuzzy, c-format
 msgid "invalid request origin '%s'\n"
 msgstr "opcions d'importació no vàlides\n"
 
-#: g10/gpg.c:3143
+#: g10/gpg.c:3159
 #, fuzzy, c-format
 msgid "'%s' is not a valid character set\n"
 msgstr "%s no és un joc de caràcters vàlid\n"
 
-#: g10/gpg.c:3165 g10/gpg.c:3375 g10/keyedit.c:5281
+#: g10/gpg.c:3181 g10/gpg.c:3395 g10/keyedit.c:5282
 #, fuzzy, c-format
 msgid "could not parse keyserver URL\n"
 msgstr "no s'ha pogut analitzar sintàcticament la URI del servidor de claus\n"
 
-#: g10/gpg.c:3183
+#: g10/gpg.c:3199
 #, fuzzy, c-format
 msgid "%s:%d: invalid keyserver options\n"
 msgstr "%s:%d opcions d'exportació no vàlides\n"
 
-#: g10/gpg.c:3186
+#: g10/gpg.c:3202
 #, fuzzy, c-format
 msgid "invalid keyserver options\n"
 msgstr "opcions d'exportació no vàlides\n"
 
-#: g10/gpg.c:3193
+#: g10/gpg.c:3209
 #, c-format
 msgid "%s:%d: invalid import options\n"
 msgstr "%s:%d: opcions d'importanció no vàlides\n"
 
-#: g10/gpg.c:3196
+#: g10/gpg.c:3212
 #, c-format
 msgid "invalid import options\n"
 msgstr "opcions d'importació no vàlides\n"
 
-#: g10/gpg.c:3202 g10/gpg.c:3217
+#: g10/gpg.c:3218 g10/gpg.c:3233
 #, fuzzy, c-format
 msgid "invalid filter option: %s\n"
 msgstr "opcions d'importació no vàlides\n"
 
-#: g10/gpg.c:3208
+#: g10/gpg.c:3224
 #, c-format
 msgid "%s:%d: invalid export options\n"
 msgstr "%s:%d opcions d'exportació no vàlides\n"
 
-#: g10/gpg.c:3211
+#: g10/gpg.c:3227
 #, c-format
 msgid "invalid export options\n"
 msgstr "opcions d'exportació no vàlides\n"
 
-#: g10/gpg.c:3223
+#: g10/gpg.c:3239
 #, fuzzy, c-format
 msgid "%s:%d: invalid list options\n"
 msgstr "%s:%d: opcions d'importanció no vàlides\n"
 
-#: g10/gpg.c:3226
+#: g10/gpg.c:3242
 #, fuzzy, c-format
 msgid "invalid list options\n"
 msgstr "opcions d'importació no vàlides\n"
 
-#: g10/gpg.c:3234
+#: g10/gpg.c:3250
 msgid "display photo IDs during signature verification"
 msgstr ""
 
-#: g10/gpg.c:3236
+#: g10/gpg.c:3252
 msgid "show policy URLs during signature verification"
 msgstr ""
 
-#: g10/gpg.c:3238
+#: g10/gpg.c:3254
 #, fuzzy
 msgid "show all notations during signature verification"
 msgstr "%s no és un joc de caràcters vàlid\n"
 
-#: g10/gpg.c:3240
+#: g10/gpg.c:3256
 msgid "show IETF standard notations during signature verification"
 msgstr ""
 
-#: g10/gpg.c:3244
+#: g10/gpg.c:3260
 msgid "show user-supplied notations during signature verification"
 msgstr ""
 
-#: g10/gpg.c:3246
+#: g10/gpg.c:3262
 #, fuzzy
 msgid "show preferred keyserver URLs during signature verification"
 msgstr "la URL de política de signatura donada no és vàlida\n"
 
-#: g10/gpg.c:3248
+#: g10/gpg.c:3264
 #, fuzzy
 msgid "show user ID validity during signature verification"
 msgstr "%s no és un joc de caràcters vàlid\n"
 
-#: g10/gpg.c:3250
+#: g10/gpg.c:3266
 msgid "show revoked and expired user IDs in signature verification"
 msgstr ""
 
-#: g10/gpg.c:3252
+#: g10/gpg.c:3268
 #, fuzzy
 msgid "show only the primary user ID in signature verification"
 msgstr "%s no és un joc de caràcters vàlid\n"
 
-#: g10/gpg.c:3254
+#: g10/gpg.c:3270
 msgid "validate signatures with PKA data"
 msgstr ""
 
-#: g10/gpg.c:3256
+#: g10/gpg.c:3272
 msgid "elevate the trust of signatures with valid PKA data"
 msgstr ""
 
-#: g10/gpg.c:3263
+#: g10/gpg.c:3279
 #, fuzzy, c-format
 msgid "%s:%d: invalid verify options\n"
 msgstr "%s:%d opcions d'exportació no vàlides\n"
 
-#: g10/gpg.c:3266
+#: g10/gpg.c:3282
 #, fuzzy, c-format
 msgid "invalid verify options\n"
 msgstr "opcions d'exportació no vàlides\n"
 
-#: g10/gpg.c:3273
+#: g10/gpg.c:3289
 #, c-format
 msgid "unable to set exec-path to %s\n"
 msgstr "no s'ha pogut fixar l'exec-path a %s\n"
 
-#: g10/gpg.c:3478
+#: g10/gpg.c:3498
 #, fuzzy, c-format
 msgid "%s:%d: invalid auto-key-locate list\n"
 msgstr "%s:%d opcions d'exportació no vàlides\n"
 
-#: g10/gpg.c:3481
+#: g10/gpg.c:3501
 #, c-format
 msgid "invalid auto-key-locate list\n"
 msgstr ""
 
-#: g10/gpg.c:3653 sm/gpgsm.c:1541
+#: g10/gpg.c:3673 sm/gpgsm.c:1441
 #, c-format
 msgid "WARNING: program may create a core file!\n"
 msgstr "AVÍS: el programa podria crear un fitxer core!\n"
 
 # FIXME: preferència? jm
 # Ho discutírem en la llista, segur.  Deu ser als arxius.  ivb
-#: g10/gpg.c:3664
+#: g10/gpg.c:3684
 #, c-format
 msgid "WARNING: %s overrides %s\n"
 msgstr "AVÍS: %s té preferència sobre %s\n"
 
-#: g10/gpg.c:3673
+#: g10/gpg.c:3693
 #, c-format
 msgid "%s not allowed with %s!\n"
 msgstr "%s no és permés amb %s!\n"
 
-#: g10/gpg.c:3676
+#: g10/gpg.c:3696
 #, c-format
 msgid "%s makes no sense with %s!\n"
 msgstr "%s no té sentit amb %s!\n"
 
-#: g10/gpg.c:3691 sm/gpgsm.c:1558 dirmngr/dirmngr.c:1082
+#: g10/gpg.c:3711 sm/gpgsm.c:1458 dirmngr/dirmngr.c:1117
 #, c-format
 msgid "WARNING: running with faked system time: "
 msgstr ""
 
-#: g10/gpg.c:3712
+#: g10/gpg.c:3732
 #, fuzzy, c-format
 msgid "will not run with insecure memory due to %s\n"
 msgstr "s'està escrivint la clau secreta a «%s»\n"
 
-#: g10/gpg.c:3747 g10/gpg.c:3771 sm/gpgsm.c:1625
+#: g10/gpg.c:3767 g10/gpg.c:3791 sm/gpgsm.c:1525
 #, c-format
 msgid "selected cipher algorithm is invalid\n"
 msgstr "l'algorisme de xifratge triat no és vàlid\n"
 
-#: g10/gpg.c:3759
+#: g10/gpg.c:3779
 #, fuzzy, c-format
 msgid "selected compression algorithm is invalid\n"
 msgstr "l'algorisme de xifratge triat no és vàlid\n"
 
-#: g10/gpg.c:3765
+#: g10/gpg.c:3785
 #, c-format
 msgid "selected certification digest algorithm is invalid\n"
 msgstr "l'algorisme de resum de certificació seleccionat no és vàlid\n"
 
-#: g10/gpg.c:3780
+#: g10/gpg.c:3800
 #, c-format
 msgid "completes-needed must be greater than 0\n"
 msgstr "completes-needed ha de ser major que 0\n"
 
-#: g10/gpg.c:3782
+#: g10/gpg.c:3802
 #, c-format
 msgid "marginals-needed must be greater than 1\n"
 msgstr "marginals-needed ha de ser major que 1\n"
 
-#: g10/gpg.c:3784
+#: g10/gpg.c:3804
 #, fuzzy, c-format
 msgid "max-cert-depth must be in the range from 1 to 255\n"
 msgstr "max-cert-depth ha d'estar en el rang 1 a 255\n"
 
-#: g10/gpg.c:3786
+#: g10/gpg.c:3806
 #, fuzzy, c-format
 msgid "invalid default-cert-level; must be 0, 1, 2, or 3\n"
 msgstr "default-check-level és invàlid; ha de ser 0, 1, 2 o 3\n"
 
-#: g10/gpg.c:3788
+#: g10/gpg.c:3808
 #, fuzzy, c-format
 msgid "invalid min-cert-level; must be 1, 2, or 3\n"
 msgstr "default-check-level és invàlid; ha de ser 0, 1, 2 o 3\n"
 
-#: g10/gpg.c:3791
+#: g10/gpg.c:3812
 #, fuzzy, c-format
 #| msgid "NOTE: simple S2K mode (0) is strongly discouraged\n"
 msgid "Note: simple S2K mode (0) is strongly discouraged\n"
 msgstr "NOTA: el mode S2K simple (0) no és gens recomanable\n"
 
-#: g10/gpg.c:3795
+#: g10/gpg.c:3816
 #, c-format
 msgid "invalid S2K mode; must be 0, 1 or 3\n"
 msgstr "el mode S2K és invàlid; ha de ser 0, 1 o 3\n"
 
-#: g10/gpg.c:3802
+#: g10/gpg.c:3823
 #, c-format
 msgid "invalid default preferences\n"
 msgstr "les preferències per defecte són invàlides\n"
 
-#: g10/gpg.c:3806
+#: g10/gpg.c:3827
 #, c-format
 msgid "invalid personal cipher preferences\n"
 msgstr "les preferències personals de xifrat són invàlides\n"
 
-#: g10/gpg.c:3810
+#: g10/gpg.c:3831
 #, c-format
 msgid "invalid personal digest preferences\n"
 msgstr "les preferències personals de digest són invàlides\n"
 
-#: g10/gpg.c:3814
+#: g10/gpg.c:3835
 #, c-format
 msgid "invalid personal compress preferences\n"
 msgstr "les preferències personals de compressió són invàlides\n"
 
-#: g10/gpg.c:3850
+#: g10/gpg.c:3871
 #, c-format
 msgid "%s does not yet work with %s\n"
 msgstr "%s encara no funciona amb %s\n"
 
-#: g10/gpg.c:3913
+#: g10/gpg.c:3934
 #, fuzzy, c-format
 msgid "compression algorithm '%s' may not be used in %s mode\n"
 msgstr "no podeu usar l'algorisme de compressió %s mentre esteu en mode %s\n"
 
-#: g10/gpg.c:4057
+#: g10/gpg.c:4078
 #, c-format
 msgid "failed to initialize the TrustDB: %s\n"
 msgstr "no s'ha pogut inicialitzar la base de dades de confiança: %s\n"
 
-#: g10/gpg.c:4069
+#: g10/gpg.c:4090
 #, c-format
 msgid "WARNING: recipients (-r) given without using public key encryption\n"
 msgstr ""
 "AVÍS: s'han donat destinataris (-r) sense usar xifratge de clau pública\n"
 
-#: g10/gpg.c:4141
+#: g10/gpg.c:4162
 #, fuzzy, c-format
 msgid "symmetric encryption of '%s' failed: %s\n"
 msgstr "ha fallat el desxifratge: %s\n"
 
-#: g10/gpg.c:4170
+#: g10/gpg.c:4191
 #, c-format
 msgid "you cannot use --symmetric --encrypt with --s2k-mode 0\n"
 msgstr ""
 
-#: g10/gpg.c:4173
+#: g10/gpg.c:4194
 #, fuzzy, c-format
 msgid "you cannot use --symmetric --encrypt in %s mode\n"
 msgstr "no podeu usar %s mentre esteu en mode %s\n"
 
-#: g10/gpg.c:4231
+#: g10/gpg.c:4252
 #, c-format
 msgid "you cannot use --symmetric --sign --encrypt with --s2k-mode 0\n"
 msgstr ""
 
-#: g10/gpg.c:4234
+#: g10/gpg.c:4255
 #, fuzzy, c-format
 msgid "you cannot use --symmetric --sign --encrypt in %s mode\n"
 msgstr "no podeu usar %s mentre esteu en mode %s\n"
 
-#: g10/gpg.c:4622 g10/keyserver.c:1881
+#: g10/gpg.c:4643 g10/keyserver.c:1648
 #, c-format
 msgid "keyserver send failed: %s\n"
 msgstr "l'enviament al servidor de claus ha fallat: %s\n"
 
-#: g10/gpg.c:4627
+#: g10/gpg.c:4648
 #, c-format
 msgid "keyserver receive failed: %s\n"
 msgstr "la recepció des del servidor de claus ha fallat: %s\n"
 
-#: g10/gpg.c:4633
+#: g10/gpg.c:4654
 #, c-format
 msgid "key export failed: %s\n"
 msgstr "l'exportació de la clau ha fallat: %s\n"
 
-#: g10/gpg.c:4646
+#: g10/gpg.c:4667
 #, fuzzy, c-format
 #| msgid "key export failed: %s\n"
 msgid "export as ssh key failed: %s\n"
 msgstr "l'exportació de la clau ha fallat: %s\n"
 
-#: g10/gpg.c:4658
+#: g10/gpg.c:4679
 #, c-format
 msgid "keyserver search failed: %s\n"
 msgstr "ha fallat la cerca al servidor de claus: %s\n"
 
-#: g10/gpg.c:4671
+#: g10/gpg.c:4692
 #, c-format
 msgid "keyserver refresh failed: %s\n"
 msgstr "ha fallat el refresc des del servidor de claus: %s\n"
 
-#: g10/gpg.c:4738
+#: g10/gpg.c:4759
 #, c-format
 msgid "dearmoring failed: %s\n"
 msgstr "no s'ha pogut llevar l'armadura: %s\n"
 
-#: g10/gpg.c:4749
+#: g10/gpg.c:4770
 #, c-format
 msgid "enarmoring failed: %s\n"
 msgstr "no s'ha pogut crear l'armadura: %s\n"
 
-#: g10/gpg.c:4841
+#: g10/gpg.c:4862
 #, fuzzy, c-format
 #| msgid "invalid hash algorithm `%s'\n"
 msgid "invalid hash algorithm '%s'\n"
 msgstr "l'algoritme de dispersió és invàlid «%s»\n"
 
-#: g10/gpg.c:4993 g10/tofu.c:2153
+#: g10/gpg.c:5014 g10/tofu.c:2153
 #, fuzzy, c-format
 msgid "error parsing key specification '%s': %s\n"
 msgstr "error en la creació de la contrasenya: %s\n"
 
-#: g10/gpg.c:5006
+#: g10/gpg.c:5027
 #, c-format
 msgid "'%s' does not appear to be a valid key ID, fingerprint or keygrip\n"
 msgstr ""
 
-#: g10/gpg.c:5062
+#: g10/gpg.c:5083
 #, c-format
 msgid "WARNING: no command supplied.  Trying to guess what you mean ...\n"
 msgstr ""
 
-#: g10/gpg.c:5073
+#: g10/gpg.c:5094
 #, c-format
 msgid "Go ahead and type your message ...\n"
 msgstr "Endavant, escriviu el missatge...\n"
 
-#: g10/gpg.c:5418
+#: g10/gpg.c:5439
 #, c-format
 msgid "the given certification policy URL is invalid\n"
 msgstr "la URL de política de certificació donada no és vàlida\n"
 
-#: g10/gpg.c:5420
+#: g10/gpg.c:5441
 #, c-format
 msgid "the given signature policy URL is invalid\n"
 msgstr "la URL de política de signatura donada no és vàlida\n"
 
-#: g10/gpg.c:5453
+#: g10/gpg.c:5474
 #, fuzzy, c-format
 msgid "the given preferred keyserver URL is invalid\n"
 msgstr "la URL de política de signatura donada no és vàlida\n"
@@ -3514,7 +3532,7 @@ msgstr "pren les claus d'aquest anell"
 msgid "make timestamp conflicts only a warning"
 msgstr "fes els conflictes de marques de temps només un avís"
 
-#: g10/gpgv.c:86 sm/gpgsm.c:354 tools/gpgconf.c:112
+#: g10/gpgv.c:86 sm/gpgsm.c:357 tools/gpgconf.c:112
 msgid "|FD|write status info to this FD"
 msgstr "|FD|escriu informació d'estat en aquest FD"
 
@@ -3599,266 +3617,266 @@ msgstr ""
 msgid "repair keys on import"
 msgstr "mostra empremta"
 
-#: g10/import.c:380 g10/import.c:699
+#: g10/import.c:392 g10/import.c:711
 #, c-format
 msgid "skipping block of type %d\n"
 msgstr "es descarta un bloc de tipus %d\n"
 
-#: g10/import.c:716
+#: g10/import.c:728
 #, fuzzy, c-format
 msgid "%lu keys processed so far\n"
 msgstr "fins ara s'han processat %lu claus\n"
 
-#: g10/import.c:802
+#: g10/import.c:814
 #, c-format
 msgid "Total number processed: %lu\n"
 msgstr "Nombre total processat: %lu\n"
 
-#: g10/import.c:805
+#: g10/import.c:817
 #, fuzzy, c-format
 #| msgid "      skipped new keys: %lu\n"
 msgid "    skipped PGP-2 keys: %lu\n"
 msgstr " claus noves descartades: %lu\n"
 
-#: g10/import.c:807
+#: g10/import.c:819
 #, c-format
 msgid "      skipped new keys: %lu\n"
 msgstr " claus noves descartades: %lu\n"
 
-#: g10/import.c:810
+#: g10/import.c:822
 #, c-format
 msgid "          w/o user IDs: %lu\n"
 msgstr "                sense ID: %lu\n"
 
-#: g10/import.c:813 sm/import.c:130
+#: g10/import.c:825 sm/import.c:130
 #, c-format
 msgid "              imported: %lu"
 msgstr "              importades: %lu"
 
-#: g10/import.c:817 sm/import.c:134
+#: g10/import.c:829 sm/import.c:134
 #, c-format
 msgid "             unchanged: %lu\n"
 msgstr "          no modificades: %lu\n"
 
-#: g10/import.c:819
+#: g10/import.c:831
 #, c-format
 msgid "          new user IDs: %lu\n"
 msgstr "       ID d'usuaris nous: %lu\n"
 
-#: g10/import.c:821
+#: g10/import.c:833
 #, c-format
 msgid "           new subkeys: %lu\n"
 msgstr "          subclaus noves: %lu\n"
 
-#: g10/import.c:823
+#: g10/import.c:835
 #, c-format
 msgid "        new signatures: %lu\n"
 msgstr "        signatures noves: %lu\n"
 
-#: g10/import.c:825
+#: g10/import.c:837
 #, c-format
 msgid "   new key revocations: %lu\n"
 msgstr "       noves revocacions: %lu\n"
 
-#: g10/import.c:827 sm/import.c:136
+#: g10/import.c:839 sm/import.c:136
 #, c-format
 msgid "      secret keys read: %lu\n"
 msgstr " claus privades llegides: %lu\n"
 
-#: g10/import.c:829 sm/import.c:138
+#: g10/import.c:841 sm/import.c:138
 #, c-format
 msgid "  secret keys imported: %lu\n"
 msgstr "claus privades importades: %lu\n"
 
-#: g10/import.c:831 sm/import.c:140
+#: g10/import.c:843 sm/import.c:140
 #, c-format
 msgid " secret keys unchanged: %lu\n"
 msgstr "claus privades no canviades: %lu\n"
 
-#: g10/import.c:833 sm/import.c:142
+#: g10/import.c:845 sm/import.c:142
 #, c-format
 msgid "          not imported: %lu\n"
 msgstr "              importades: %lu\n"
 
-#: g10/import.c:835
+#: g10/import.c:847
 #, fuzzy, c-format
 msgid "    signatures cleaned: %lu\n"
 msgstr "        signatures noves: %lu\n"
 
-#: g10/import.c:837
+#: g10/import.c:849
 #, fuzzy, c-format
 msgid "      user IDs cleaned: %lu\n"
 msgstr " claus privades llegides: %lu\n"
 
-#: g10/import.c:1264
+#: g10/import.c:1276
 #, c-format
 msgid ""
 "WARNING: key %s contains preferences for unavailable\n"
 "algorithms on these user IDs:\n"
 msgstr ""
 
-#: g10/import.c:1306
+#: g10/import.c:1318
 #, c-format
 msgid "         \"%s\": preference for cipher algorithm %s\n"
 msgstr ""
 
-#: g10/import.c:1321
+#: g10/import.c:1333
 #, fuzzy, c-format
 msgid "         \"%s\": preference for digest algorithm %s\n"
 msgstr "signatura %s, algorisme de resum %s\n"
 
-#: g10/import.c:1333
+#: g10/import.c:1345
 #, c-format
 msgid "         \"%s\": preference for compression algorithm %s\n"
 msgstr ""
 
-#: g10/import.c:1346
+#: g10/import.c:1358
 #, c-format
 msgid "it is strongly suggested that you update your preferences and\n"
 msgstr ""
 
-#: g10/import.c:1348
+#: g10/import.c:1360
 #, c-format
 msgid "re-distribute this key to avoid potential algorithm mismatch problems\n"
 msgstr ""
 
-#: g10/import.c:1373
+#: g10/import.c:1385
 #, c-format
 msgid "you can update your preferences with: gpg --edit-key %s updpref save\n"
 msgstr ""
 
-#: g10/import.c:1887 g10/import.c:3001
+#: g10/import.c:1899 g10/import.c:3013
 #, fuzzy, c-format
 msgid "key %s: no user ID\n"
 msgstr "clau %08lX: sense ID\n"
 
-#: g10/import.c:1893
+#: g10/import.c:1905
 #, fuzzy, c-format
 msgid "key %s: %s\n"
 msgstr "es descarta «%s»: %s\n"
 
-#: g10/import.c:1894 g10/import.c:2973
+#: g10/import.c:1906 g10/import.c:2985
 msgid "rejected by import screener"
 msgstr ""
 
-#: g10/import.c:1938
+#: g10/import.c:1950
 #, fuzzy, c-format
 msgid "key %s: PKS subkey corruption repaired\n"
 msgstr "clau %08lX: corrupció de la subclau HKP reparada\n"
 
-#: g10/import.c:1959
+#: g10/import.c:1971
 #, fuzzy, c-format
 msgid "key %s: accepted non self-signed user ID \"%s\"\n"
 msgstr "clau %08lX: s'ha acceptat la ID d'usuari no autosignada «%s»\n"
 
-#: g10/import.c:1969 g10/import.c:2000
+#: g10/import.c:1981 g10/import.c:2012
 #, fuzzy, c-format
 msgid "key %s: no valid user IDs\n"
 msgstr "clau %08lX: l'ID no és vàlid\n"
 
-#: g10/import.c:1971
+#: g10/import.c:1983
 #, c-format
 msgid "this may be caused by a missing self-signature\n"
 msgstr "açò pot ser causat per l'absència d'autosignatura\n"
 
-#: g10/import.c:2050 g10/import.c:3387
+#: g10/import.c:2062 g10/import.c:3399
 #, fuzzy, c-format
 msgid "key %s: public key not found: %s\n"
 msgstr "clau %08lX: no s'ha trobat la clau pública: %s\n"
 
-#: g10/import.c:2056
+#: g10/import.c:2068
 #, fuzzy, c-format
 msgid "key %s: new key - skipped\n"
 msgstr "clau %08lX: clau nova - es descarta \n"
 
-#: g10/import.c:2068
+#: g10/import.c:2080
 #, c-format
 msgid "no writable keyring found: %s\n"
 msgstr "no s'ha trobat cap anell escrivible: %s\n"
 
-#: g10/import.c:2100 g10/import.c:2202 g10/import.c:3464
+#: g10/import.c:2112 g10/import.c:2214 g10/import.c:3476
 #, fuzzy, c-format
 #| msgid "error writing keyring `%s': %s\n"
 msgid "error writing keyring '%s': %s\n"
 msgstr "error mentre s'escrivia l'anell «%s»: %s\n"
 
-#: g10/import.c:2123
+#: g10/import.c:2135
 #, fuzzy, c-format
 msgid "key %s: public key \"%s\" imported\n"
 msgstr "clau %08lX: s'ha importat la clau pública «%s»\n"
 
-#: g10/import.c:2150
+#: g10/import.c:2162
 #, fuzzy, c-format
 msgid "key %s: doesn't match our copy\n"
 msgstr "clau %08lX: no correspon a la nostra còpia\n"
 
-#: g10/import.c:2218
+#: g10/import.c:2230
 #, fuzzy, c-format
 msgid "key %s: \"%s\" 1 new user ID\n"
 msgstr "clau %08lX: «%s» 1 ID d'usuari nou\n"
 
-#: g10/import.c:2221
+#: g10/import.c:2233
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d new user IDs\n"
 msgstr "clau %08lX: «%s» %d ID d'usuari nous\n"
 
-#: g10/import.c:2224
+#: g10/import.c:2236
 #, fuzzy, c-format
 msgid "key %s: \"%s\" 1 new signature\n"
 msgstr "clau %08lX: «%s» 1 signatura nova\n"
 
-#: g10/import.c:2227
+#: g10/import.c:2239
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d new signatures\n"
 msgstr "clau %08lX: «%s» %d signatures noves\n"
 
-#: g10/import.c:2230
+#: g10/import.c:2242
 #, fuzzy, c-format
 msgid "key %s: \"%s\" 1 new subkey\n"
 msgstr "clau %08lX: «%s» 1 subclau nova\n"
 
-#: g10/import.c:2233
+#: g10/import.c:2245
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d new subkeys\n"
 msgstr "clau %08lX: «%s» %d subclaus noves\n"
 
-#: g10/import.c:2236
+#: g10/import.c:2248
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d signature cleaned\n"
 msgstr "clau %08lX: «%s» %d signatures noves\n"
 
-#: g10/import.c:2239
+#: g10/import.c:2251
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d signatures cleaned\n"
 msgstr "clau %08lX: «%s» %d signatures noves\n"
 
-#: g10/import.c:2242
+#: g10/import.c:2254
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d user ID cleaned\n"
 msgstr "clau %08lX: «%s» %d ID d'usuari nous\n"
 
-#: g10/import.c:2245
+#: g10/import.c:2257
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d user IDs cleaned\n"
 msgstr "clau %08lX: «%s» %d ID d'usuari nous\n"
 
-#: g10/import.c:2281
+#: g10/import.c:2293
 #, fuzzy, c-format
 msgid "key %s: \"%s\" not changed\n"
 msgstr "clau %08lX: «%s» no ha estat modificada\n"
 
-#: g10/import.c:2640 g10/import.c:2835
+#: g10/import.c:2652 g10/import.c:2847
 #, fuzzy, c-format
 msgid "key %s: secret key imported\n"
 msgstr "clau %08lX: s'ha importat la clau secreta\n"
 
-#: g10/import.c:2648
+#: g10/import.c:2660
 #, fuzzy, c-format
 #| msgid "skipped: secret key already present\n"
 msgid "key %s: secret key already exists\n"
 msgstr "es descarta: la clau secreta ja és present\n"
 
-#: g10/import.c:2656
+#: g10/import.c:2668
 #, fuzzy, c-format
 msgid "key %s: error sending to agent: %s\n"
 msgstr "error mentre s'enviava a «%s»: %s\n"
@@ -3871,69 +3889,69 @@ msgstr "error mentre s'enviava a «%s»: %s\n"
 #. * Instead, user should be suggested to run 'gpg --card-status',
 #. * then, references to a card will be automatically created
 #. * again.
-#: g10/import.c:2825
+#: g10/import.c:2837
 #, c-format
 msgid "To migrate '%s', with each smartcard, run: %s\n"
 msgstr ""
 
-#: g10/import.c:2972
+#: g10/import.c:2984
 #, fuzzy, c-format
 msgid "secret key %s: %s\n"
 msgstr "no s'ha trobat la clau secreta «%s»: %s\n"
 
-#: g10/import.c:2993 g10/import.c:3032
+#: g10/import.c:3005 g10/import.c:3044
 #, fuzzy, c-format
 msgid "importing secret keys not allowed\n"
 msgstr "s'està escrivint la clau secreta a «%s»\n"
 
-#: g10/import.c:3020
+#: g10/import.c:3032
 #, fuzzy, c-format
 msgid "key %s: secret key with invalid cipher %d - skipped\n"
 msgstr "clau %08lX: clau secreta amb xifrat %d no vàlid - es descarta\n"
 
-#: g10/import.c:3182 g10/pkclist.c:72 g10/revoke.c:776
+#: g10/import.c:3194 g10/pkclist.c:72 g10/revoke.c:776
 msgid "No reason specified"
 msgstr "No s'ha especificat cap raó"
 
-#: g10/import.c:3183 g10/pkclist.c:74 g10/revoke.c:778
+#: g10/import.c:3195 g10/pkclist.c:74 g10/revoke.c:778
 msgid "Key is superseded"
 msgstr "La clau ha estat substituïda"
 
-#: g10/import.c:3184 g10/pkclist.c:76 g10/revoke.c:777
+#: g10/import.c:3196 g10/pkclist.c:76 g10/revoke.c:777
 msgid "Key has been compromised"
 msgstr "La clau ha estat compromesa"
 
-#: g10/import.c:3185 g10/pkclist.c:78 g10/revoke.c:779
+#: g10/import.c:3197 g10/pkclist.c:78 g10/revoke.c:779
 msgid "Key is no longer used"
 msgstr "La clau ja no s'usa"
 
-#: g10/import.c:3186 g10/pkclist.c:80 g10/revoke.c:780
+#: g10/import.c:3198 g10/pkclist.c:80 g10/revoke.c:780
 msgid "User ID is no longer valid"
 msgstr "L'ID d'usuari ja no és vàlid"
 
-#: g10/import.c:3311 g10/keylist.c:1254 g10/pkclist.c:84
+#: g10/import.c:3323 g10/keylist.c:1254 g10/pkclist.c:84
 #, c-format
 msgid "reason for revocation: "
 msgstr "raó de la revocació: "
 
-#: g10/import.c:3330 g10/keylist.c:1273 g10/pkclist.c:100
+#: g10/import.c:3342 g10/keylist.c:1273 g10/pkclist.c:100
 #, c-format
 msgid "revocation comment: "
 msgstr "comentari de la revocació: "
 
-#: g10/import.c:3380
+#: g10/import.c:3392
 #, fuzzy, c-format
 msgid "key %s: no public key - can't apply revocation certificate\n"
 msgstr ""
 "clau %08lX: falta la clau pública: no es pot aplicar el certificat\n"
 "de revocació\n"
 
-#: g10/import.c:3411
+#: g10/import.c:3423
 #, fuzzy, c-format
 msgid "key %s: can't locate original keyblock: %s\n"
 msgstr "clau %08lX: no s'ha trobat el bloc de claus original: %s\n"
 
-#: g10/import.c:3418
+#: g10/import.c:3430
 #, fuzzy, c-format
 msgid "key %s: can't read original keyblock: %s\n"
 msgstr "clau %08lX: no s'ha pogut llegir el bloc de claus original: %s\n"
@@ -3941,22 +3959,22 @@ msgstr "clau %08lX: no s'ha pogut llegir el bloc de claus original: %s\n"
 # O «rebutjara»? ivb
 # Per tots els canvis d'anglicisme «ignorat» -> «es descarta»,
 # «es rebutja» està bé. jm
-#: g10/import.c:3438
+#: g10/import.c:3450
 #, fuzzy, c-format
 msgid "key %s: invalid revocation certificate: %s - rejected\n"
 msgstr "clau %08lX: el certificat de revocació és invàlid: %s: es rebutja\n"
 
-#: g10/import.c:3473
+#: g10/import.c:3485
 #, fuzzy, c-format
 msgid "key %s: \"%s\" revocation certificate imported\n"
 msgstr "clau %08lX: s'ha importat el certificat de revocació «%s»\n"
 
-#: g10/import.c:3559
+#: g10/import.c:3571
 #, fuzzy, c-format
 msgid "key %s: no user ID for signature\n"
 msgstr "clau %08lX: no hi ha ID per a la signatura\n"
 
-#: g10/import.c:3576
+#: g10/import.c:3588
 #, fuzzy, c-format
 msgid "key %s: unsupported public key algorithm on user ID \"%s\"\n"
 msgstr ""
@@ -3964,116 +3982,116 @@ msgstr ""
 "«%s»\n"
 "\n"
 
-#: g10/import.c:3578
+#: g10/import.c:3590
 #, fuzzy, c-format
 msgid "key %s: invalid self-signature on user ID \"%s\"\n"
 msgstr "clau %08lX: l'autosignatura no és vàlida en l'id d'usuari «%s»\n"
 
-#: g10/import.c:3595 g10/import.c:3623 g10/import.c:3679
+#: g10/import.c:3607 g10/import.c:3635 g10/import.c:3691
 #, fuzzy, c-format
 msgid "key %s: unsupported public key algorithm\n"
 msgstr "clau %08lX: l'algoritme de clau pública no és suportat\n"
 
-#: g10/import.c:3596
+#: g10/import.c:3608
 #, fuzzy, c-format
 msgid "key %s: invalid direct key signature\n"
 msgstr "clau %08lX: s'ha afegit la signatura de clau directa\n"
 
-#: g10/import.c:3610
+#: g10/import.c:3622
 #, fuzzy, c-format
 msgid "key %s: no subkey for key binding\n"
 msgstr "clau %08lX: no hi ha una subclau per a l'enllaç de la clau\n"
 
-#: g10/import.c:3625
+#: g10/import.c:3637
 #, fuzzy, c-format
 msgid "key %s: invalid subkey binding\n"
 msgstr "clau %08lX: l'enllaç de subclau és invàlid\n"
 
-#: g10/import.c:3644
+#: g10/import.c:3656
 #, fuzzy, c-format
 msgid "key %s: removed multiple subkey binding\n"
 msgstr "clau %08lX: s'ha eliminat un enllaç de subclau múltiple\n"
 
-#: g10/import.c:3668
+#: g10/import.c:3680
 #, fuzzy, c-format
 msgid "key %s: no subkey for key revocation\n"
 msgstr "clau %08lX: no hi ha una subclau per a la clau de revocació\n"
 
-#: g10/import.c:3681
+#: g10/import.c:3693
 #, fuzzy, c-format
 msgid "key %s: invalid subkey revocation\n"
 msgstr "clau %08lX: Subclau de revocació no vàlida\n"
 
-#: g10/import.c:3696
+#: g10/import.c:3708
 #, fuzzy, c-format
 msgid "key %s: removed multiple subkey revocation\n"
 msgstr "clau %08lX: s'han eliminat subclaus de revocació múltiples\n"
 
-#: g10/import.c:3740
+#: g10/import.c:3752
 #, fuzzy, c-format
 msgid "key %s: skipped user ID \"%s\"\n"
 msgstr "clau %08lX: es descarta l'ID d'usuari '"
 
-#: g10/import.c:3767
+#: g10/import.c:3779
 #, fuzzy, c-format
 msgid "key %s: skipped subkey\n"
 msgstr "clau %08lX: es descarta la subclau\n"
 
-#: g10/import.c:3798
+#: g10/import.c:3810
 #, fuzzy, c-format
 msgid "key %s: non exportable signature (class 0x%02X) - skipped\n"
 msgstr "clau %08lX: la signatura és inexportable (classe %02x) - es descarta\n"
 
-#: g10/import.c:3809
+#: g10/import.c:3821
 #, fuzzy, c-format
 msgid "key %s: revocation certificate at wrong place - skipped\n"
 msgstr ""
 "clau %08lX: el certificat de revocació és en el lloc equivocat - es "
 "descarta\n"
 
-#: g10/import.c:3827
+#: g10/import.c:3839
 #, fuzzy, c-format
 msgid "key %s: invalid revocation certificate: %s - skipped\n"
 msgstr "clau %08lX: el certificat de revocació és invàlid: %s - es descarta\n"
 
-#: g10/import.c:3841
+#: g10/import.c:3853
 #, fuzzy, c-format
 msgid "key %s: subkey signature in wrong place - skipped\n"
 msgstr ""
 "clau %08lX: la signatura de la subclau és en el lloc equivocat - es "
 "descarta\n"
 
-#: g10/import.c:3849
+#: g10/import.c:3861
 #, fuzzy, c-format
 msgid "key %s: unexpected signature class (0x%02X) - skipped\n"
 msgstr ""
 "clau %08lX: la classe de signatura és inesperada (0x%02x) - es descarta\n"
 
-#: g10/import.c:4022
+#: g10/import.c:4034
 #, fuzzy, c-format
 msgid "key %s: duplicated user ID detected - merged\n"
 msgstr "clau %08lX: s'ha detectat un ID d'usuari duplicat - es fusiona\n"
 
-#: g10/import.c:4087
+#: g10/import.c:4099
 #, fuzzy, c-format
 msgid "WARNING: key %s may be revoked: fetching revocation key %s\n"
 msgstr ""
 "AVÍS: la clau %08lX pot estar revocada: s'adquireix la clau de revocació "
 "%08lX\n"
 
-#: g10/import.c:4103
+#: g10/import.c:4115
 #, fuzzy, c-format
 msgid "WARNING: key %s may be revoked: revocation key %s not present.\n"
 msgstr ""
 "AVÍS: la clau %08lX pot estar revocada: la clau de revocació %08lX no està "
 "present.\n"
 
-#: g10/import.c:4169
+#: g10/import.c:4181
 #, fuzzy, c-format
 msgid "key %s: \"%s\" revocation certificate added\n"
 msgstr "clau %08lX: s'hi ha afegit el certificat de revocació «%s»\n"
 
-#: g10/import.c:4207
+#: g10/import.c:4219
 #, fuzzy, c-format
 msgid "key %s: direct key signature added\n"
 msgstr "clau %08lX: s'ha afegit la signatura de clau directa\n"
@@ -4142,7 +4160,7 @@ msgid ""
 "all signatures.\n"
 msgstr ""
 
-#: g10/keydb.c:431 g10/keydb.c:458 sm/keydb.c:191 sm/keydb.c:204
+#: g10/keydb.c:431 g10/keydb.c:458 sm/keydb.c:190 sm/keydb.c:203
 #, fuzzy, c-format
 msgid "error creating keybox '%s': %s\n"
 msgstr "error en crear l'anell «%s»: %s\n"
@@ -4153,7 +4171,7 @@ msgstr "error en crear l'anell «%s»: %s\n"
 msgid "error creating keyring '%s': %s\n"
 msgstr "error en crear l'anell «%s»: %s\n"
 
-#: g10/keydb.c:470 sm/keydb.c:210
+#: g10/keydb.c:470 sm/keydb.c:209
 #, fuzzy, c-format
 msgid "keybox '%s' created\n"
 msgstr "s'ha creat l'anell «%s»\n"
@@ -4230,15 +4248,15 @@ msgstr ""
 msgid "User ID \"%s\" is revoked."
 msgstr "L'ID d'usuari «%s» està revocat."
 
-#: g10/keyedit.c:569 g10/keyedit.c:597 g10/keyedit.c:624 g10/keyedit.c:808
-#: g10/keyedit.c:1655
+#: g10/keyedit.c:569 g10/keyedit.c:597 g10/keyedit.c:624 g10/keyedit.c:809
+#: g10/keyedit.c:1656
 msgid "Are you sure you still want to sign it? (y/N) "
 msgstr "Segur que encara voleu signarla? (s/N) "
 
 # O no s'ha pogut? ivb
 # FIXME: comprovar context. jm
-#: g10/keyedit.c:583 g10/keyedit.c:611 g10/keyedit.c:638 g10/keyedit.c:814
-#: g10/keyedit.c:1660 g10/keyedit.c:2667
+#: g10/keyedit.c:583 g10/keyedit.c:611 g10/keyedit.c:638 g10/keyedit.c:815
+#: g10/keyedit.c:1661 g10/keyedit.c:2668
 msgid "  Unable to sign.\n"
 msgstr "  No es pot signar.\n"
 
@@ -4311,29 +4329,29 @@ msgstr "«%s» ja estava signada localment amb la clau %08lX\n"
 msgid "\"%s\" was already signed by key %s\n"
 msgstr "«%s» ja estava signada amb la clau %08lX\n"
 
-#: g10/keyedit.c:756
+#: g10/keyedit.c:757
 msgid "Do you want to sign it again anyway? (y/N) "
 msgstr "Voleu signarla un altre cop, de tota manera? (s/N) "
 
-#: g10/keyedit.c:778
+#: g10/keyedit.c:779
 #, fuzzy, c-format
 msgid "Nothing to sign with key %s\n"
 msgstr "No hi ha res que signar amb la clau %08lX\n"
 
-#: g10/keyedit.c:802
+#: g10/keyedit.c:803
 msgid "This key has expired!"
 msgstr "La clau ha caducat!"
 
-#: g10/keyedit.c:820
+#: g10/keyedit.c:821
 #, c-format
 msgid "This key is due to expire on %s.\n"
 msgstr "Aquesta clau caducarà el %s.\n"
 
-#: g10/keyedit.c:826
+#: g10/keyedit.c:827
 msgid "Do you want your signature to expire at the same time? (Y/n) "
 msgstr "Voleu que la vostra signatura caduque alhora? (S/n) "
 
-#: g10/keyedit.c:867
+#: g10/keyedit.c:868
 msgid ""
 "How carefully have you verified the key you are about to sign actually "
 "belongs\n"
@@ -4343,32 +4361,32 @@ msgstr ""
 "pertany realment a la persona esmentada anteriorment? Si no sabeu què \n"
 "contestar, entreu «0».\n"
 
-#: g10/keyedit.c:872
+#: g10/keyedit.c:873
 #, c-format
 msgid "   (0) I will not answer.%s\n"
 msgstr "   (0) No vaig a contestar.%s\n"
 
-#: g10/keyedit.c:874
+#: g10/keyedit.c:875
 #, c-format
 msgid "   (1) I have not checked at all.%s\n"
 msgstr "   (1) No ho he comprovat en absolut.%s\n"
 
-#: g10/keyedit.c:876
+#: g10/keyedit.c:877
 #, c-format
 msgid "   (2) I have done casual checking.%s\n"
 msgstr "   (2) He fet algunes comprovacions.%s\n"
 
-#: g10/keyedit.c:879
+#: g10/keyedit.c:880
 #, c-format
 msgid "   (3) I have done very careful checking.%s\n"
 msgstr "   (3) He fet comprovacions molt acurades.%s\n"
 
-#: g10/keyedit.c:886
+#: g10/keyedit.c:887
 #, fuzzy
 msgid "Your selection? (enter '?' for more information): "
 msgstr "Seleccioneu una opció (introduïu «?» per obtindre més informació):"
 
-#: g10/keyedit.c:913
+#: g10/keyedit.c:914
 #, fuzzy, c-format
 msgid ""
 "Are you sure that you want to sign this key with your\n"
@@ -4377,138 +4395,138 @@ msgstr ""
 "Esteu segur que voleu signar aquesta clau\n"
 "amb la vostra clau: \""
 
-#: g10/keyedit.c:921
+#: g10/keyedit.c:922
 #, fuzzy
 msgid "This will be a self-signature.\n"
 msgstr ""
 "\n"
 "Açò serà una autosignatura.\n"
 
-#: g10/keyedit.c:926
+#: g10/keyedit.c:927
 #, fuzzy
 msgid "WARNING: the signature will not be marked as non-exportable.\n"
 msgstr ""
 "\n"
 "AVÍS: la signatura no es marcarà com a inexportable.\n"
 
-#: g10/keyedit.c:933
+#: g10/keyedit.c:934
 #, fuzzy
 msgid "WARNING: the signature will not be marked as non-revocable.\n"
 msgstr ""
 "\n"
 "AVÍS: la signatura no es marcarà com a irrevocable.\n"
 
-#: g10/keyedit.c:943
+#: g10/keyedit.c:944
 #, fuzzy
 msgid "The signature will be marked as non-exportable.\n"
 msgstr ""
 "\n"
 "La signatura es marcarà com a inexportable.\n"
 
-#: g10/keyedit.c:950
+#: g10/keyedit.c:951
 #, fuzzy
 msgid "The signature will be marked as non-revocable.\n"
 msgstr ""
 "\n"
 "La signatura es marcarà com a irrevocable.\n"
 
-#: g10/keyedit.c:957
+#: g10/keyedit.c:958
 #, fuzzy
 msgid "I have not checked this key at all.\n"
 msgstr ""
 "\n"
 "No he comprovat aquesta clau en absolut.\n"
 
-#: g10/keyedit.c:962
+#: g10/keyedit.c:963
 #, fuzzy
 msgid "I have checked this key casually.\n"
 msgstr ""
 "\n"
 "He fet algunes comprovacions a aquesta clau.\n"
 
-#: g10/keyedit.c:967
+#: g10/keyedit.c:968
 #, fuzzy
 msgid "I have checked this key very carefully.\n"
 msgstr ""
 "\n"
 "He comprovat aquesta clau amb molta cura.\n"
 
-#: g10/keyedit.c:979
+#: g10/keyedit.c:980
 #, fuzzy
 msgid "Really sign? (y/N) "
 msgstr "Signar realment? "
 
-#: g10/keyedit.c:1030 g10/keyedit.c:6154 g10/keyedit.c:6237 g10/keyedit.c:6366
-#: g10/keyedit.c:6428 g10/sign.c:466
+#: g10/keyedit.c:1031 g10/keyedit.c:6155 g10/keyedit.c:6238 g10/keyedit.c:6367
+#: g10/keyedit.c:6429 g10/sign.c:466
 #, c-format
 msgid "signing failed: %s\n"
 msgstr "Ha fallat el procés de signatura: %s\n"
 
-#: g10/keyedit.c:1117
+#: g10/keyedit.c:1118
 msgid "Key has only stub or on-card key items - no passphrase to change.\n"
 msgstr ""
 
-#: g10/keyedit.c:1149
+#: g10/keyedit.c:1150
 #, fuzzy, c-format
 #| msgid "error creating passphrase: %s\n"
 msgid "key %s: error changing passphrase: %s\n"
 msgstr "error en la creació de la contrasenya: %s\n"
 
-#: g10/keyedit.c:1261
+#: g10/keyedit.c:1262
 msgid "save and quit"
 msgstr "desa i ix"
 
-#: g10/keyedit.c:1264
+#: g10/keyedit.c:1265
 #, fuzzy
 msgid "show key fingerprint"
 msgstr "mostra empremta"
 
-#: g10/keyedit.c:1265
+#: g10/keyedit.c:1266
 #, fuzzy
 msgid "show the keygrip"
 msgstr "Notació de signatura: "
 
-#: g10/keyedit.c:1266
+#: g10/keyedit.c:1267
 msgid "list key and user IDs"
 msgstr "llista claus i ID"
 
 # Per aquesta zona (keyedit) hi ha un cacau d'infinitius i presents...  ivb
 # Yeah, els vaig corregir abans de que enviares la teua correcció. jm
-#: g10/keyedit.c:1268
+#: g10/keyedit.c:1269
 msgid "select user ID N"
 msgstr "tria l'ID d'usuari N"
 
 # Per aquesta zona (keyedit) hi ha un cacau d'infinitius i presents...  ivb
 # Yeah, els vaig corregir abans de que enviares la teua correcció. jm
-#: g10/keyedit.c:1269
+#: g10/keyedit.c:1270
 #, fuzzy
 msgid "select subkey N"
 msgstr "tria l'ID d'usuari N"
 
-#: g10/keyedit.c:1270
+#: g10/keyedit.c:1271
 #, fuzzy
 msgid "check signatures"
 msgstr "revoca signatures"
 
-#: g10/keyedit.c:1276
+#: g10/keyedit.c:1277
 msgid "sign selected user IDs [* see below for related commands]"
 msgstr ""
 
-#: g10/keyedit.c:1281
+#: g10/keyedit.c:1282
 #, fuzzy
 msgid "sign selected user IDs locally"
 msgstr "signa la clau localment"
 
-#: g10/keyedit.c:1282
+#: g10/keyedit.c:1283
 #, fuzzy
 msgid "sign selected user IDs with a trust signature"
 msgstr "Pista: Trieu els ID d'usuari que voleu signar\n"
 
-#: g10/keyedit.c:1284
+#: g10/keyedit.c:1285
 msgid "sign selected user IDs with a non-revocable signature"
 msgstr ""
 
-#: g10/keyedit.c:1286
+#: g10/keyedit.c:1287
 msgid "add a user ID"
 msgstr "afegeix un ID d'usuari"
 
@@ -4516,145 +4534,145 @@ msgstr "afegeix un ID d'usuari"
 # Si et refereixes a Photo vs. photo, ho deixe en minúscules, que en tot
 # el menú està tot en minúscules. Tb hi ha molts ID vs. id en els msgids
 # i no hem unificat en català. Potser li ho diré a Werner. jm.
-#: g10/keyedit.c:1288
+#: g10/keyedit.c:1289
 msgid "add a photo ID"
 msgstr "afegeix un photo ID"
 
-#: g10/keyedit.c:1289
+#: g10/keyedit.c:1290
 #, fuzzy
 msgid "delete selected user IDs"
 msgstr "esborra un ID d'usuari"
 
-#: g10/keyedit.c:1292
+#: g10/keyedit.c:1293
 #, fuzzy
 msgid "add a subkey"
 msgstr "addkey"
 
-#: g10/keyedit.c:1295
+#: g10/keyedit.c:1296
 msgid "add a key to a smartcard"
 msgstr ""
 
-#: g10/keyedit.c:1297
+#: g10/keyedit.c:1298
 msgid "move a key to a smartcard"
 msgstr ""
 
-#: g10/keyedit.c:1299
+#: g10/keyedit.c:1300
 msgid "move a backup key to a smartcard"
 msgstr ""
 
-#: g10/keyedit.c:1301
+#: g10/keyedit.c:1302
 #, fuzzy
 msgid "delete selected subkeys"
 msgstr "esborra una clau secundària"
 
-#: g10/keyedit.c:1303
+#: g10/keyedit.c:1304
 msgid "add a revocation key"
 msgstr "afegeix una clau de revocació"
 
-#: g10/keyedit.c:1305
+#: g10/keyedit.c:1306
 #, fuzzy
 msgid "delete signatures from the selected user IDs"
 msgstr ""
 "Voleu actualitzar les preferències per a les ID d'usuaris seleccionades?"
 
-#: g10/keyedit.c:1307
+#: g10/keyedit.c:1308
 #, fuzzy
 msgid "change the expiration date for the key or selected subkeys"
 msgstr "No podeu canviar la data de caducitat de les claus v3\n"
 
-#: g10/keyedit.c:1309
+#: g10/keyedit.c:1310
 #, fuzzy
 msgid "flag the selected user ID as primary"
 msgstr "marca l'ID d'usuari com a primari"
 
-#: g10/keyedit.c:1312
+#: g10/keyedit.c:1313
 msgid "list preferences (expert)"
 msgstr "llista les preferències (expert)"
 
-#: g10/keyedit.c:1313
+#: g10/keyedit.c:1314
 msgid "list preferences (verbose)"
 msgstr "llista les preferències (detallat)"
 
-#: g10/keyedit.c:1315
+#: g10/keyedit.c:1316
 #, fuzzy
 msgid "set preference list for the selected user IDs"
 msgstr ""
 "Voleu actualitzar les preferències per a les ID d'usuaris seleccionades?"
 
-#: g10/keyedit.c:1318
+#: g10/keyedit.c:1319
 #, fuzzy
 msgid "set the preferred keyserver URL for the selected user IDs"
 msgstr "no s'ha pogut analitzar sintàcticament la URI del servidor de claus\n"
 
-#: g10/keyedit.c:1320
+#: g10/keyedit.c:1321
 #, fuzzy
 msgid "set a notation for the selected user IDs"
 msgstr ""
 "Voleu actualitzar les preferències per a les ID d'usuaris seleccionades?"
 
-#: g10/keyedit.c:1322
+#: g10/keyedit.c:1323
 msgid "change the passphrase"
 msgstr "canvia la contrasenya"
 
-#: g10/keyedit.c:1325
+#: g10/keyedit.c:1326
 msgid "change the ownertrust"
 msgstr "canvia la confiança"
 
-#: g10/keyedit.c:1328
+#: g10/keyedit.c:1329
 #, fuzzy
 msgid "revoke signatures on the selected user IDs"
 msgstr "Realment voleu revocar tots els ID d'usuari seleccionats? "
 
-#: g10/keyedit.c:1330
+#: g10/keyedit.c:1331
 #, fuzzy
 msgid "revoke selected user IDs"
 msgstr "revoca un ID d'usuari"
 
-#: g10/keyedit.c:1333
+#: g10/keyedit.c:1334
 #, fuzzy
 msgid "revoke key or selected subkeys"
 msgstr "revoca una clau secundària"
 
-#: g10/keyedit.c:1335
+#: g10/keyedit.c:1336
 #, fuzzy
 msgid "enable key"
 msgstr "activa una clau"
 
-#: g10/keyedit.c:1336
+#: g10/keyedit.c:1337
 #, fuzzy
 msgid "disable key"
 msgstr "desactiva una clau"
 
 # Igual que dalt.  ivb
 # Idem :) jm
-#: g10/keyedit.c:1338
+#: g10/keyedit.c:1339
 #, fuzzy
 msgid "show selected photo IDs"
 msgstr "mostra el photo ID"
 
-#: g10/keyedit.c:1340
+#: g10/keyedit.c:1341
 msgid "compact unusable user IDs and remove unusable signatures from key"
 msgstr ""
 
-#: g10/keyedit.c:1342
+#: g10/keyedit.c:1343
 msgid "compact unusable user IDs and remove all signatures from key"
 msgstr ""
 
-#: g10/keyedit.c:1463
+#: g10/keyedit.c:1464
 msgid "Secret key is available.\n"
 msgstr "La clau secreta està disponible.\n"
 
-#: g10/keyedit.c:1465
+#: g10/keyedit.c:1466
 #, fuzzy
 #| msgid "Secret key is available.\n"
 msgid "Secret subkeys are available.\n"
 msgstr "La clau secreta està disponible.\n"
 
-#: g10/keyedit.c:1567
+#: g10/keyedit.c:1568
 msgid "Need the secret key to do this.\n"
 msgstr "Cal la clau secreta per a fer açò.\n"
 
-#: g10/keyedit.c:1590
+#: g10/keyedit.c:1591
 msgid ""
 "* The 'sign' command may be prefixed with an 'l' for local signatures "
 "(lsign),\n"
@@ -4662,319 +4680,319 @@ msgid ""
 "  (nrsign), or any combination thereof (ltsign, tnrsign, etc.).\n"
 msgstr ""
 
-#: g10/keyedit.c:1648 g10/keyedit.c:2667 g10/keyedit.c:3040 g10/keyedit.c:3108
+#: g10/keyedit.c:1649 g10/keyedit.c:2668 g10/keyedit.c:3041 g10/keyedit.c:3109
 msgid "Key is revoked."
 msgstr "La clau està revocada."
 
-#: g10/keyedit.c:1671
+#: g10/keyedit.c:1672
 #, fuzzy
 msgid "Really sign all text user IDs? (y/N) "
 msgstr "Realment voleu signar tots els ID d'usuari? "
 
-#: g10/keyedit.c:1675
+#: g10/keyedit.c:1676
 #, fuzzy
 msgid "Really sign all user IDs? (y/N) "
 msgstr "Realment voleu signar tots els ID d'usuari? "
 
-#: g10/keyedit.c:1683
+#: g10/keyedit.c:1684
 msgid "Hint: Select the user IDs to sign\n"
 msgstr "Pista: Trieu els ID d'usuari que voleu signar\n"
 
-#: g10/keyedit.c:1694
+#: g10/keyedit.c:1695
 #, fuzzy, c-format
 msgid "Unknown signature type '%s'\n"
 msgstr "la classe de signatura és desconeguda"
 
-#: g10/keyedit.c:1718
+#: g10/keyedit.c:1719
 #, c-format
 msgid "This command is not allowed while in %s mode.\n"
 msgstr "Aquesta ordre no està permesa mentre s'està en mode %s.\n"
 
-#: g10/keyedit.c:1740 g10/keyedit.c:1764 g10/keyedit.c:1961
+#: g10/keyedit.c:1741 g10/keyedit.c:1765 g10/keyedit.c:1962
 msgid "You must select at least one user ID.\n"
 msgstr "Heu de seleccionar al menys un ID d'usuari.\n"
 
-#: g10/keyedit.c:1742 g10/keyedit.c:1766 g10/keyedit.c:1923 g10/keyedit.c:1963
+#: g10/keyedit.c:1743 g10/keyedit.c:1767 g10/keyedit.c:1924 g10/keyedit.c:1964
 #, c-format
 msgid "(Use the '%s' command.)\n"
 msgstr ""
 
-#: g10/keyedit.c:1745
+#: g10/keyedit.c:1746
 msgid "You can't delete the last user ID!\n"
 msgstr "No podeu esborrar l'últim ID d'usuari!\n"
 
-#: g10/keyedit.c:1748
+#: g10/keyedit.c:1749
 #, fuzzy
 msgid "Really remove all selected user IDs? (y/N) "
 msgstr "Realment voleu eliminar tots els ID d'usuari seleccionats? "
 
-#: g10/keyedit.c:1749
+#: g10/keyedit.c:1750
 #, fuzzy
 msgid "Really remove this user ID? (y/N) "
 msgstr "Realment voleu eliminar aquest ID d'usuari? "
 
 #. TRANSLATORS: Please take care: This is about
 #. moving the key and not about removing it.
-#: g10/keyedit.c:1806
+#: g10/keyedit.c:1807
 #, fuzzy
 msgid "Really move the primary key? (y/N) "
 msgstr "Realment voleu esborrar aquesta autosignatura? (s/N)"
 
-#: g10/keyedit.c:1818 g10/keyedit.c:4803
+#: g10/keyedit.c:1819 g10/keyedit.c:4804
 #, fuzzy
 msgid "You must select exactly one key.\n"
 msgstr "Heu de seleccionar, si més no, una clau.\n"
 
-#: g10/keyedit.c:1846
+#: g10/keyedit.c:1847
 msgid "Command expects a filename argument\n"
 msgstr ""
 
-#: g10/keyedit.c:1867
+#: g10/keyedit.c:1868
 #, fuzzy, c-format
 msgid "Can't open '%s': %s\n"
 msgstr "no s'ha pogut obrir «%s»: %s\n"
 
-#: g10/keyedit.c:1886
+#: g10/keyedit.c:1887
 #, fuzzy, c-format
 msgid "Error reading backup key from '%s': %s\n"
 msgstr "error en crear l'anell «%s»: %s\n"
 
-#: g10/keyedit.c:1921
+#: g10/keyedit.c:1922
 msgid "You must select at least one key.\n"
 msgstr "Heu de seleccionar, si més no, una clau.\n"
 
-#: g10/keyedit.c:1927
+#: g10/keyedit.c:1928
 #, fuzzy
 msgid "Do you really want to delete the selected keys? (y/N) "
 msgstr "Realment voleu eliminar les claus seleccionades? "
 
-#: g10/keyedit.c:1929
+#: g10/keyedit.c:1930
 #, fuzzy
 msgid "Do you really want to delete this key? (y/N) "
 msgstr "Realment voleu eliminar aquesta clau? "
 
-#: g10/keyedit.c:1967
+#: g10/keyedit.c:1968
 #, fuzzy
 msgid "Really revoke all selected user IDs? (y/N) "
 msgstr "Realment voleu revocar tots els ID d'usuari seleccionats? "
 
-#: g10/keyedit.c:1968
+#: g10/keyedit.c:1969
 #, fuzzy
 msgid "Really revoke this user ID? (y/N) "
 msgstr "Realment voleu eliminar aquest ID d'usuari? "
 
-#: g10/keyedit.c:1986
+#: g10/keyedit.c:1987
 #, fuzzy
 msgid "Do you really want to revoke the entire key? (y/N) "
 msgstr "Realment voleu revocar aquesta clau? "
 
-#: g10/keyedit.c:1997
+#: g10/keyedit.c:1998
 #, fuzzy
 msgid "Do you really want to revoke the selected subkeys? (y/N) "
 msgstr "Realment voleu revocar les claus seleccionades? "
 
-#: g10/keyedit.c:1999
+#: g10/keyedit.c:2000
 #, fuzzy
 msgid "Do you really want to revoke this subkey? (y/N) "
 msgstr "Realment voleu revocar aquesta clau? "
 
-#: g10/keyedit.c:2057
+#: g10/keyedit.c:2058
 msgid "Owner trust may not be set while using a user provided trust database\n"
 msgstr ""
 
-#: g10/keyedit.c:2102
+#: g10/keyedit.c:2103
 #, fuzzy
 msgid "Set preference list to:\n"
 msgstr "estableix la llista de preferències"
 
-#: g10/keyedit.c:2109
+#: g10/keyedit.c:2110
 #, fuzzy
 msgid "Really update the preferences for the selected user IDs? (y/N) "
 msgstr ""
 "Voleu actualitzar les preferències per a les ID d'usuaris seleccionades?"
 
-#: g10/keyedit.c:2111
+#: g10/keyedit.c:2112
 #, fuzzy
 msgid "Really update the preferences? (y/N) "
 msgstr "Realment voleu actualitzar les preferències? "
 
-#: g10/keyedit.c:2185
+#: g10/keyedit.c:2186
 #, fuzzy
 msgid "Save changes? (y/N) "
 msgstr "Voleu desar els canvis? "
 
-#: g10/keyedit.c:2189
+#: g10/keyedit.c:2190
 #, fuzzy
 msgid "Quit without saving? (y/N) "
 msgstr "Voleu eixir sense desar? "
 
-#: g10/keyedit.c:2216 g10/keyedit.c:2762 g10/keyedit.c:3061 g10/keyedit.c:3214
+#: g10/keyedit.c:2217 g10/keyedit.c:2763 g10/keyedit.c:3062 g10/keyedit.c:3215
 #, c-format
 msgid "Key not changed so no update needed.\n"
 msgstr "La clau no ha canviat, per tant no cal actualització.\n"
 
-#: g10/keyedit.c:2448
+#: g10/keyedit.c:2449
 #, fuzzy, c-format
 #| msgid "You can't delete the last user ID!\n"
 msgid "cannot revoke the last valid user ID.\n"
 msgstr "No podeu esborrar l'últim ID d'usuari!\n"
 
-#: g10/keyedit.c:2475
+#: g10/keyedit.c:2476
 #, fuzzy, c-format
 msgid "revoking the user ID failed: %s\n"
 msgstr "no s'ha pogut comprovar la signatura creada: %s\n"
 
-#: g10/keyedit.c:2541
+#: g10/keyedit.c:2542
 #, fuzzy, c-format
 msgid "setting the primary user ID failed: %s\n"
 msgstr "no s'ha pogut comprovar la signatura creada: %s\n"
 
-#: g10/keyedit.c:2572
+#: g10/keyedit.c:2573
 #, fuzzy, c-format
 msgid "\"%s\" is not a fingerprint\n"
 msgstr "error: l'empremta digital és invàlida\n"
 
-#: g10/keyedit.c:2602
+#: g10/keyedit.c:2603
 #, fuzzy, c-format
 msgid "\"%s\" is not the primary fingerprint\n"
 msgstr "no s'ha pogut emmagatzemar l'empremta digital: %s\n"
 
-#: g10/keyedit.c:2738 g10/keyedit.c:2741
+#: g10/keyedit.c:2739 g10/keyedit.c:2742
 #, fuzzy, c-format
 #| msgid "invalid value\n"
 msgid "Invalid user ID '%s': %s\n"
 msgstr "el valor no és vàlid\n"
 
-#: g10/keyedit.c:2744
+#: g10/keyedit.c:2745
 #, fuzzy
 #| msgid "No such user ID.\n"
 msgid "No matching user IDs."
 msgstr "Usuari inexistent.\n"
 
-#: g10/keyedit.c:2744
+#: g10/keyedit.c:2745
 #, fuzzy
 msgid "Nothing to sign.\n"
 msgstr "No hi ha res que signar amb la clau %08lX\n"
 
-#: g10/keyedit.c:2937 g10/keyedit.c:6019
+#: g10/keyedit.c:2938 g10/keyedit.c:6020
 #, c-format
 msgid "Not signed by you.\n"
 msgstr ""
 
-#: g10/keyedit.c:2995
+#: g10/keyedit.c:2996
 #, fuzzy, c-format
 #| msgid "checking created signature failed: %s\n"
 msgid "revoking the key signature failed: %s\n"
 msgstr "no s'ha pogut comprovar la signatura creada: %s\n"
 
-#: g10/keyedit.c:3116
+#: g10/keyedit.c:3117
 #, fuzzy, c-format
 msgid "'%s' is not a valid expiration time\n"
 msgstr "%s no és un joc de caràcters vàlid\n"
 
-#: g10/keyedit.c:3159
+#: g10/keyedit.c:3160
 #, fuzzy, c-format
 msgid "\"%s\" is not a proper fingerprint\n"
 msgstr "error: l'empremta digital és invàlida\n"
 
-#: g10/keyedit.c:3183
+#: g10/keyedit.c:3184
 #, fuzzy, c-format
 msgid "subkey \"%s\" not found\n"
 msgstr "no s'ha trobat la clau «%s»: %s\n"
 
-#: g10/keyedit.c:3306
+#: g10/keyedit.c:3307
 msgid "AEAD: "
 msgstr ""
 
-#: g10/keyedit.c:3323
+#: g10/keyedit.c:3324
 msgid "Digest: "
 msgstr "Resum: "
 
-#: g10/keyedit.c:3380
+#: g10/keyedit.c:3381
 msgid "Features: "
 msgstr "Funcionalitats: "
 
-#: g10/keyedit.c:3397
+#: g10/keyedit.c:3398
 msgid "Keyserver no-modify"
 msgstr ""
 
-#: g10/keyedit.c:3412 g10/keylist.c:376
+#: g10/keyedit.c:3413 g10/keylist.c:376
 msgid "Preferred keyserver: "
 msgstr ""
 
-#: g10/keyedit.c:3420 g10/keyedit.c:3421
+#: g10/keyedit.c:3421 g10/keyedit.c:3422
 #, fuzzy
 msgid "Notations: "
 msgstr "Notació: "
 
-#: g10/keyedit.c:3669
+#: g10/keyedit.c:3670
 msgid "There are no preferences on a PGP 2.x-style user ID.\n"
 msgstr "No hi ha preferències en un ID d'usuari d'estil PGP 2.x.\n"
 
 # Potser %s haja d'anar darrere de «clau».  ivb
 # És cert. Nova funcionalitat de 1.2.0, IIRC. jm
-#: g10/keyedit.c:3741
+#: g10/keyedit.c:3742
 #, fuzzy, c-format
 msgid "The following key was revoked on %s by %s key %s\n"
 msgstr "Aquesta clau pot ser revocada per la clau %s "
 
 # Potser %s haja d'anar darrere de «clau».  ivb
 # És cert. Nova funcionalitat de 1.2.0, IIRC. jm
-#: g10/keyedit.c:3765
+#: g10/keyedit.c:3766
 #, fuzzy, c-format
 msgid "This key may be revoked by %s key %s"
 msgstr "Aquesta clau pot ser revocada per la clau %s "
 
-#: g10/keyedit.c:3771
+#: g10/keyedit.c:3772
 #, fuzzy
 msgid "(sensitive)"
 msgstr " (sensible)"
 
-#: g10/keyedit.c:3813 g10/keyedit.c:3960 g10/keylist.c:264 g10/keyserver.c:538
+#: g10/keyedit.c:3814 g10/keyedit.c:3961 g10/keylist.c:264 g10/keyserver.c:361
 #, fuzzy, c-format
 msgid "created: %s"
 msgstr "no s'ha pogut creat %s: %s\n"
 
-#: g10/keyedit.c:3816 g10/keylist.c:2149
+#: g10/keyedit.c:3817 g10/keylist.c:2149
 #, fuzzy, c-format
 msgid "revoked: %s"
 msgstr "[revocada]"
 
-#: g10/keyedit.c:3818 g10/keylist.c:2155
+#: g10/keyedit.c:3819 g10/keylist.c:2155
 #, fuzzy, c-format
 msgid "expired: %s"
 msgstr " [caduca: %s]"
 
-#: g10/keyedit.c:3820 g10/keyedit.c:3962 g10/keylist.c:266 g10/keylist.c:2161
-#: g10/keyserver.c:544
+#: g10/keyedit.c:3821 g10/keyedit.c:3963 g10/keylist.c:266 g10/keylist.c:2161
+#: g10/keyserver.c:367
 #, fuzzy, c-format
 msgid "expires: %s"
 msgstr " [caduca: %s]"
 
-#: g10/keyedit.c:3822
+#: g10/keyedit.c:3823
 #, c-format
 msgid "usage: %s"
 msgstr ""
 
-#: g10/keyedit.c:3830 g10/keyedit.c:3850 g10/keylist.c:269
+#: g10/keyedit.c:3831 g10/keyedit.c:3851 g10/keylist.c:269
 msgid "card-no: "
 msgstr ""
 
-#: g10/keyedit.c:3889
+#: g10/keyedit.c:3890
 #, fuzzy, c-format
 msgid "trust: %s"
 msgstr " confiança: %c/%c"
 
-#: g10/keyedit.c:3893
+#: g10/keyedit.c:3894
 #, c-format
 msgid "validity: %s"
 msgstr ""
 
-#: g10/keyedit.c:3900
+#: g10/keyedit.c:3901
 msgid "This key has been disabled"
 msgstr "Aquesta clau ha estat desactivada"
 
-#: g10/keyedit.c:3918
+#: g10/keyedit.c:3919
 msgid ""
 "Please note that the shown key validity is not necessarily correct\n"
 "unless you restart the program.\n"
@@ -4982,19 +5000,19 @@ msgstr ""
 "Teniu en compte que la validesa de la clau mostrada no és necessàriament\n"
 "correcta a no ser que torneu a executar el programa.\n"
 
-#: g10/keyedit.c:3979 g10/keyedit.c:4410 g10/keyserver.c:548
-#: g10/mainproc.c:2371 g10/tofu.c:1787 g10/trust.c:437 dirmngr/ocsp.c:791
+#: g10/keyedit.c:3980 g10/keyedit.c:4411 g10/keyserver.c:371
+#: g10/mainproc.c:2380 g10/tofu.c:1787 g10/trust.c:437 dirmngr/ocsp.c:791
 #, fuzzy
 msgid "revoked"
 msgstr "[revocada]"
 
-#: g10/keyedit.c:3981 g10/keyedit.c:4412 g10/keyserver.c:552
-#: g10/mainproc.c:2373 g10/tofu.c:1792 g10/trust.c:124
+#: g10/keyedit.c:3982 g10/keyedit.c:4413 g10/keyserver.c:375
+#: g10/mainproc.c:2382 g10/tofu.c:1792 g10/trust.c:124
 #, fuzzy
 msgid "expired"
 msgstr "expire"
 
-#: g10/keyedit.c:4098
+#: g10/keyedit.c:4099
 #, c-format
 msgid ""
 "WARNING: no user ID has been marked as primary.  This command may\n"
@@ -5004,19 +5022,19 @@ msgstr ""
 "      causar que una ID d'usuari diferent esdevinga en la primària "
 "assumida.\n"
 
-#: g10/keyedit.c:4150
+#: g10/keyedit.c:4151
 #, c-format
 msgid "WARNING: Your encryption subkey expires soon.\n"
 msgstr ""
 
-#: g10/keyedit.c:4151
+#: g10/keyedit.c:4152
 #, fuzzy, c-format
 #| msgid "You can't change the expiration date of a v3 key\n"
 msgid "You may want to change its expiration date too.\n"
 msgstr "No podeu canviar la data de caducitat de les claus v3\n"
 
 # Photo ID com abans.  ivb
-#: g10/keyedit.c:4210
+#: g10/keyedit.c:4211
 msgid ""
 "WARNING: This is a PGP2-style key.  Adding a photo ID may cause some "
 "versions\n"
@@ -5025,38 +5043,38 @@ msgstr ""
 "AVÍS: Aquesta és una clau d'estil PGP2. Afegir un photo ID pot fer que "
 "algunes versions de PGP rebutgen aquesta clau.\n"
 
-#: g10/keyedit.c:4215 g10/keyedit.c:4505
+#: g10/keyedit.c:4216 g10/keyedit.c:4506
 msgid "Are you sure you still want to add it? (y/N) "
 msgstr "Esteu segur que encara voleu afegir-lo? (s/N) "
 
-#: g10/keyedit.c:4221
+#: g10/keyedit.c:4222
 msgid "You may not add a photo ID to a PGP2-style key.\n"
 msgstr "No podeu afegir un photo ID a una clau d'estil PGP2.\n"
 
-#: g10/keyedit.c:4236 g10/keygen.c:2899
+#: g10/keyedit.c:4237 g10/keygen.c:2899
 msgid "Such a user ID already exists on this key!\n"
 msgstr ""
 
 # Aquesta i les següents no haurien de portar (s/N/q) i no (y/N/q)?  ivb
 # Hmm. Sí... (s/N/x) jm
-#: g10/keyedit.c:4338
+#: g10/keyedit.c:4339
 msgid "Delete this good signature? (y/N/q)"
 msgstr "Voleu esborrar aquesta signatura correcta? (s/N/x)"
 
-#: g10/keyedit.c:4348
+#: g10/keyedit.c:4349
 msgid "Delete this invalid signature? (y/N/q)"
 msgstr "Voleu esborrar aquesta signatura invàlida? (s/N/x)"
 
-#: g10/keyedit.c:4352
+#: g10/keyedit.c:4353
 msgid "Delete this unknown signature? (y/N/q)"
 msgstr "Voleu esborrar aquesta signatura desconeguda? (s/N/x)"
 
-#: g10/keyedit.c:4359
+#: g10/keyedit.c:4360
 msgid "Really delete this self-signature? (y/N)"
 msgstr "Realment voleu esborrar aquesta autosignatura? (s/N)"
 
 # Werner FIXME: use ngettext. jm
-#: g10/keyedit.c:4375
+#: g10/keyedit.c:4376
 #, fuzzy, c-format
 #| msgid "Deleted %d signature.\n"
 msgid "Deleted %d signature.\n"
@@ -5064,37 +5082,37 @@ msgid_plural "Deleted %d signatures.\n"
 msgstr[0] "S'ha esborrat %d signatura.\n"
 msgstr[1] "S'ha esborrat %d signatura.\n"
 
-#: g10/keyedit.c:4379
+#: g10/keyedit.c:4380
 msgid "Nothing deleted.\n"
 msgstr "No s'hi ha eliminat res.\n"
 
-#: g10/keyedit.c:4414
+#: g10/keyedit.c:4415
 msgid "invalid"
 msgstr "invàlida"
 
-#: g10/keyedit.c:4416
+#: g10/keyedit.c:4417
 #, fuzzy, c-format
 msgid "User ID \"%s\" compacted: %s\n"
 msgstr "L'ID d'usuari «%s» està revocat."
 
-#: g10/keyedit.c:4422
+#: g10/keyedit.c:4423
 #, fuzzy, c-format
 msgid "User ID \"%s\": %d signature removed\n"
 msgid_plural "User ID \"%s\": %d signatures removed\n"
 msgstr[0] "L'ID d'usuari «%s» està revocat."
 msgstr[1] "L'ID d'usuari «%s» està revocat."
 
-#: g10/keyedit.c:4430
+#: g10/keyedit.c:4431
 #, fuzzy, c-format
 msgid "User ID \"%s\": already minimized\n"
 msgstr "l'ID d'usuari «%s» ja està revocat\n"
 
-#: g10/keyedit.c:4431
+#: g10/keyedit.c:4432
 #, fuzzy, c-format
 msgid "User ID \"%s\": already clean\n"
 msgstr "l'ID d'usuari «%s» ja està revocat\n"
 
-#: g10/keyedit.c:4500
+#: g10/keyedit.c:4501
 msgid ""
 "WARNING: This is a PGP 2.x-style key.  Adding a designated revoker may "
 "cause\n"
@@ -5103,43 +5121,43 @@ msgstr ""
 "AVÍS: Aquesta és una clau d'estil PGP 2.x. Afegir un revocador designat pot\n"
 "fer que algunes versions de PGP rebutjen aquesta clau.\n"
 
-#: g10/keyedit.c:4511
+#: g10/keyedit.c:4512
 msgid "You may not add a designated revoker to a PGP 2.x-style key.\n"
 msgstr "No podeu afegir un revocador designat a una clau d'estil PGP 2.x.\n"
 
-#: g10/keyedit.c:4528
+#: g10/keyedit.c:4529
 msgid "Enter the user ID of the designated revoker: "
 msgstr "Introduïu l'ID d'usuari del revocador designat: "
 
-#: g10/keyedit.c:4554
+#: g10/keyedit.c:4555
 #, c-format
 msgid "cannot appoint a PGP 2.x style key as a designated revoker\n"
 msgstr ""
 "no es pot nominar a una clau d'estil PGP 2.x com a revocador designat\n"
 
-#: g10/keyedit.c:4569
+#: g10/keyedit.c:4570
 #, c-format
 msgid "you cannot appoint a key as its own designated revoker\n"
 msgstr "no podeu nominar una clau com el seu propi revocador designat\n"
 
-#: g10/keyedit.c:4591
+#: g10/keyedit.c:4592
 #, fuzzy, c-format
 msgid "this key has already been designated as a revoker\n"
 msgstr "no podeu nominar una clau com el seu propi revocador designat\n"
 
-#: g10/keyedit.c:4609
+#: g10/keyedit.c:4610
 msgid "WARNING: appointing a key as a designated revoker cannot be undone!\n"
 msgstr ""
 "AVÍS: no es pot desfer la nominació d'una clau com a revocador designat!\n"
 
-#: g10/keyedit.c:4615
+#: g10/keyedit.c:4616
 #, fuzzy
 msgid ""
 "Are you sure you want to appoint this key as a designated revoker? (y/N) "
 msgstr ""
 "Esteu segur que voleu nominar aquesta clau com a revocador designat? (s/N): "
 
-#: g10/keyedit.c:4683
+#: g10/keyedit.c:4684
 #, fuzzy
 msgid ""
 "Are you sure you want to change the expiration time for multiple subkeys? (y/"
@@ -5147,187 +5165,187 @@ msgid ""
 msgstr ""
 "Esteu segur que voleu nominar aquesta clau com a revocador designat? (s/N): "
 
-#: g10/keyedit.c:4688
+#: g10/keyedit.c:4689
 #, fuzzy
 msgid "Changing expiration time for a subkey.\n"
 msgstr "S'està canviant la data de caducitat per a una clau secundària.\n"
 
-#: g10/keyedit.c:4691
+#: g10/keyedit.c:4692
 msgid "Changing expiration time for the primary key.\n"
 msgstr "S'està canviant la data de caducitat per a una clau primària.\n"
 
-#: g10/keyedit.c:4747
+#: g10/keyedit.c:4748
 #, c-format
 msgid "You can't change the expiration date of a v3 key\n"
 msgstr "No podeu canviar la data de caducitat de les claus v3\n"
 
-#: g10/keyedit.c:4807
+#: g10/keyedit.c:4808
 #, fuzzy
 msgid "Changing usage of a subkey.\n"
 msgstr "S'està canviant la data de caducitat per a una clau secundària.\n"
 
-#: g10/keyedit.c:4810
+#: g10/keyedit.c:4811
 #, fuzzy
 #| msgid "Changing expiration time for the primary key.\n"
 msgid "Changing usage of the primary key.\n"
 msgstr "S'està canviant la data de caducitat per a una clau primària.\n"
 
-#: g10/keyedit.c:4928
+#: g10/keyedit.c:4929
 #, fuzzy, c-format
 msgid "signing subkey %s is already cross-certified\n"
 msgstr ""
 "AVÍS: no es pot desfer la nominació d'una clau com a revocador designat!\n"
 
-#: g10/keyedit.c:4934
+#: g10/keyedit.c:4935
 #, c-format
 msgid "subkey %s does not sign and so does not need to be cross-certified\n"
 msgstr ""
 
-#: g10/keyedit.c:5051
+#: g10/keyedit.c:5052
 msgid "Please select exactly one user ID.\n"
 msgstr "Heu de seleccionar exactament un ID.\n"
 
-#: g10/keyedit.c:5092 g10/keyedit.c:5206 g10/keyedit.c:5319 g10/keyedit.c:5457
+#: g10/keyedit.c:5093 g10/keyedit.c:5207 g10/keyedit.c:5320 g10/keyedit.c:5458
 #, fuzzy, c-format
 msgid "skipping v3 self-signature on user ID \"%s\"\n"
 msgstr "es descarta l'autosignatura v3 en l'id d'usuari «%s»\n"
 
-#: g10/keyedit.c:5263
+#: g10/keyedit.c:5264
 msgid "Enter your preferred keyserver URL: "
 msgstr ""
 
-#: g10/keyedit.c:5342
+#: g10/keyedit.c:5343
 #, fuzzy
 msgid "Are you sure you want to replace it? (y/N) "
 msgstr "Esteu segur que encara voleu utilitzarla (s/N)? "
 
-#: g10/keyedit.c:5343
+#: g10/keyedit.c:5344
 #, fuzzy
 msgid "Are you sure you want to delete it? (y/N) "
 msgstr "Esteu segur que encara voleu utilitzarla (s/N)? "
 
-#: g10/keyedit.c:5403
+#: g10/keyedit.c:5404
 #, fuzzy
 msgid "Enter the notation: "
 msgstr "Notació de signatura: "
 
-#: g10/keyedit.c:5550
+#: g10/keyedit.c:5551
 #, fuzzy
 msgid "Proceed? (y/N) "
 msgstr "Voleu sobreescriure? (s/N) "
 
-#: g10/keyedit.c:5620
+#: g10/keyedit.c:5621
 #, c-format
 msgid "No user ID with index %d\n"
 msgstr "No hi ha cap ID amb l'índex %d\n"
 
-#: g10/keyedit.c:5682
+#: g10/keyedit.c:5683
 #, fuzzy, c-format
 msgid "No user ID with hash %s\n"
 msgstr "No hi ha cap ID amb l'índex %d\n"
 
-#: g10/keyedit.c:5783
+#: g10/keyedit.c:5784
 #, fuzzy, c-format
 msgid "No subkey with key ID '%s'.\n"
 msgstr "No hi ha cap ID amb l'índex %d\n"
 
-#: g10/keyedit.c:5805
+#: g10/keyedit.c:5806
 #, fuzzy, c-format
 msgid "No subkey with index %d\n"
 msgstr "No hi ha cap ID amb l'índex %d\n"
 
-#: g10/keyedit.c:5946
+#: g10/keyedit.c:5947
 #, fuzzy, c-format
 msgid "user ID: \"%s\"\n"
 msgstr "ID d'usuari: «"
 
-#: g10/keyedit.c:5949 g10/keyedit.c:6051 g10/keyedit.c:6099
+#: g10/keyedit.c:5950 g10/keyedit.c:6052 g10/keyedit.c:6100
 #, fuzzy, c-format
 msgid "signed by your key %s on %s%s%s\n"
 msgstr ""
 "»\n"
 "signat amb la vostra clau %08lX el %s\n"
 
-#: g10/keyedit.c:5951 g10/keyedit.c:6053 g10/keyedit.c:6101
+#: g10/keyedit.c:5952 g10/keyedit.c:6054 g10/keyedit.c:6102
 msgid " (non-exportable)"
 msgstr " (no-exportable)"
 
-#: g10/keyedit.c:5955
+#: g10/keyedit.c:5956
 #, c-format
 msgid "This signature expired on %s.\n"
 msgstr "Aquesta signatura va caducar el %s.\n"
 
-#: g10/keyedit.c:5960
+#: g10/keyedit.c:5961
 msgid "Are you sure you still want to revoke it? (y/N) "
 msgstr "Esteu segur de que encara voleu revocarla? (s/N) "
 
 # (s/N) ivb
 # S! jm
-#: g10/keyedit.c:5965
+#: g10/keyedit.c:5966
 msgid "Create a revocation certificate for this signature? (y/N) "
 msgstr "Voleu crear un certificat de revocació per a aquesta signatura? (s/N) "
 
-#: g10/keyedit.c:6025
+#: g10/keyedit.c:6026
 #, fuzzy, c-format
 msgid "You have signed these user IDs on key %s:\n"
 msgstr "Heu signat els següents ID d'usuari:\n"
 
-#: g10/keyedit.c:6054
+#: g10/keyedit.c:6055
 #, fuzzy
 msgid " (non-revocable)"
 msgstr " (no-exportable)"
 
-#: g10/keyedit.c:6061
+#: g10/keyedit.c:6062
 #, fuzzy, c-format
 msgid "revoked by your key %s on %s\n"
 msgstr "   revocat per %08lX el %s\n"
 
-#: g10/keyedit.c:6086
+#: g10/keyedit.c:6087
 msgid "You are about to revoke these signatures:\n"
 msgstr "Esteu a punt de revocar aquestes signatures:\n"
 
 # (s/N)?  ivb
-#: g10/keyedit.c:6109
+#: g10/keyedit.c:6110
 msgid "Really create the revocation certificates? (y/N) "
 msgstr "Realment voleu crear els certificats de revocació? (s/N) "
 
-#: g10/keyedit.c:6142
+#: g10/keyedit.c:6143
 #, c-format
 msgid "no secret key\n"
 msgstr "ho hi ha clau secreta\n"
 
-#: g10/keyedit.c:6190
+#: g10/keyedit.c:6191
 #, c-format
 msgid "tried to revoke a non-user ID: %s\n"
 msgstr ""
 
-#: g10/keyedit.c:6200
+#: g10/keyedit.c:6201
 #, c-format
 msgid "user ID \"%s\" is already revoked\n"
 msgstr "l'ID d'usuari «%s» ja està revocat\n"
 
-#: g10/keyedit.c:6217
+#: g10/keyedit.c:6218
 #, c-format
 msgid "WARNING: a user ID signature is dated %d seconds in the future\n"
 msgstr "AVÍS: una signatura d'ID d'usuari està datada %d segons en el futur\n"
 
-#: g10/keyedit.c:6313
+#: g10/keyedit.c:6314
 #, fuzzy, c-format
 #| msgid "You can't delete the last user ID!\n"
 msgid "Cannot revoke the last valid user ID.\n"
 msgstr "No podeu esborrar l'últim ID d'usuari!\n"
 
-#: g10/keyedit.c:6351
+#: g10/keyedit.c:6352
 #, fuzzy, c-format
 msgid "Key %s is already revoked.\n"
 msgstr "l'ID d'usuari «%s» ja està revocat\n"
 
-#: g10/keyedit.c:6413
+#: g10/keyedit.c:6414
 #, fuzzy, c-format
 msgid "Subkey %s is already revoked.\n"
 msgstr "l'ID d'usuari «%s» ja està revocat\n"
 
-#: g10/keyedit.c:6510
+#: g10/keyedit.c:6511
 #, fuzzy, c-format
 msgid "Displaying %s photo ID of size %ld for key %s (uid %d)\n"
 msgstr ""
@@ -6071,79 +6089,74 @@ msgstr "la URL de política de signatura donada no és vàlida\n"
 msgid "honor the PKA record set on a key when retrieving keys"
 msgstr ""
 
-#: g10/keyserver.c:550
+#: g10/keyserver.c:373
 #, fuzzy
 msgid "disabled"
 msgstr "disable"
 
-#: g10/keyserver.c:754
+#: g10/keyserver.c:577
 msgid "Enter number(s), N)ext, or Q)uit > "
 msgstr ""
 
-#: g10/keyserver.c:860
+#: g10/keyserver.c:683
 #, c-format
 msgid "invalid keyserver protocol (us %d!=handler %d)\n"
 msgstr ""
 
-#: g10/keyserver.c:1001 g10/keyserver.c:1116
+#: g10/keyserver.c:824 g10/keyserver.c:939
 #, fuzzy, c-format
 msgid "\"%s\" not a key ID: skipping\n"
 msgstr "%s: no és un ID vàlid\n"
 
-#: g10/keyserver.c:1438 g10/keyserver.c:1471
+#: g10/keyserver.c:1237 g10/keyserver.c:1270
 #, fuzzy, c-format
 msgid "refreshing %d key from %s\n"
 msgid_plural "refreshing %d keys from %s\n"
 msgstr[0] "s'està sol·licitant la clau %08lX de %s\n"
 msgstr[1] "s'està sol·licitant la clau %08lX de %s\n"
 
-#: g10/keyserver.c:1445
+#: g10/keyserver.c:1244
 #, fuzzy, c-format
 msgid "WARNING: unable to refresh key %s via %s: %s\n"
 msgstr "AVÍS: no s'ha pogut eliminar el fitxer temporal (%s) «%s»: %s\n"
 
-#: g10/keyserver.c:1549
+#: g10/keyserver.c:1336
 #, fuzzy, c-format
 msgid "key \"%s\" not found on keyserver\n"
 msgstr "no s'ha trobat la clau «%s»: %s\n"
 
-#: g10/keyserver.c:1552
+#: g10/keyserver.c:1339
 #, fuzzy, c-format
 msgid "key not found on keyserver\n"
 msgstr "no s'ha trobat la clau «%s»: %s\n"
 
-#: g10/keyserver.c:1743
-#, fuzzy, c-format
-msgid "requesting key %s from %s server %s\n"
-msgstr "s'està sol·licitant la clau %08lX de %s\n"
-
-#: g10/keyserver.c:1747
+#: g10/keyserver.c:1504
 #, fuzzy, c-format
 msgid "requesting key %s from %s\n"
 msgstr "s'està sol·licitant la clau %08lX de %s\n"
 
 # «del servidor», «en el servidor»?  ivb
-#: g10/keyserver.c:1852 g10/keyserver.c:2031
+#: g10/keyserver.c:1619 g10/keyserver.c:1798
 #, fuzzy, c-format
 msgid "no keyserver known\n"
 msgstr "error de servidor de claus"
 
-#: g10/keyserver.c:1867 g10/skclist.c:214 g10/skclist.c:242
+#: g10/keyserver.c:1634 g10/skclist.c:215 g10/skclist.c:243
 #, fuzzy, c-format
 msgid "skipped \"%s\": %s\n"
 msgstr "es descarta «%s»: %s\n"
 
-#: g10/keyserver.c:1871
+#: g10/keyserver.c:1638
 #, fuzzy, c-format
 msgid "sending key %s to %s\n"
 msgstr "s'està sol·licitant la clau %08lX de %s\n"
 
-#: g10/keyserver.c:1912
+#: g10/keyserver.c:1679
 #, fuzzy, c-format
 msgid "requesting key from '%s'\n"
 msgstr "s'està sol·licitant la clau %08lX de %s\n"
 
-#: g10/keyserver.c:1928
+#: g10/keyserver.c:1695
 #, fuzzy, c-format
 msgid "WARNING: unable to fetch URI %s: %s\n"
 msgstr "AVÍS: no s'ha pogut eliminar el fitxer temporal (%s) «%s»: %s\n"
@@ -6158,264 +6171,264 @@ msgstr "mida extranya per a una clau de sessió xifrada (%d)\n"
 msgid "%s encrypted session key\n"
 msgstr "clau de sessió xifrada amb %s\n"
 
-#: g10/mainproc.c:400
+#: g10/mainproc.c:403
 #, fuzzy, c-format
 msgid "passphrase generated with unknown digest algorithm %d\n"
 msgstr "xifrat amb l'algoritme %d (desconegut)\n"
 
-#: g10/mainproc.c:481
+#: g10/mainproc.c:485
 #, fuzzy, c-format
 msgid "public key is %s\n"
 msgstr "la clau pública és %08lX\n"
 
-#: g10/mainproc.c:557
+#: g10/mainproc.c:561
 #, c-format
 msgid "public key encrypted data: good DEK\n"
 msgstr "dades xifrades amb clau pública: bona clau de xifratge (DEK)\n"
 
-#: g10/mainproc.c:590
+#: g10/mainproc.c:594
 #, fuzzy, c-format
 msgid "encrypted with %u-bit %s key, ID %s, created %s\n"
 msgstr "xifrat amb una clau %2$s de %1$u bits, ID %3$08lX, creada en %4$s\n"
 
-#: g10/mainproc.c:594 g10/pkclist.c:228
+#: g10/mainproc.c:598 g10/pkclist.c:228
 #, c-format
 msgid "      \"%s\"\n"
 msgstr ""
 
-#: g10/mainproc.c:598
+#: g10/mainproc.c:602
 #, fuzzy, c-format
 msgid "encrypted with %s key, ID %s\n"
 msgstr "xifrat amb una clau %s, ID %08lX\n"
 
-#: g10/mainproc.c:619
+#: g10/mainproc.c:623
 #, c-format
 msgid "public key decryption failed: %s\n"
 msgstr "ha fallat el desxifratge amb la clau pública: %s\n"
 
-#: g10/mainproc.c:641 g10/mainproc.c:970
+#: g10/mainproc.c:645 g10/mainproc.c:976
 #, c-format
 msgid "WARNING: multiple plaintexts seen\n"
 msgstr ""
 
-#: g10/mainproc.c:649
+#: g10/mainproc.c:653
 #, c-format
 msgid "encrypted with %lu passphrases\n"
 msgstr "xifrat amb %lu contrasenyes\n"
 
 # FIXME WK: Use ngettext
-#: g10/mainproc.c:651
+#: g10/mainproc.c:655
 #, c-format
 msgid "encrypted with 1 passphrase\n"
 msgstr "xifrat amb 1 contrasenya\n"
 
 # I no serà «dades xifrades amb %s»?  ivb
 # Sembla que sí, ho marque per a mirar-ho més endavant. jm
-#: g10/mainproc.c:685 g10/mainproc.c:706
+#: g10/mainproc.c:689 g10/mainproc.c:710
 #, c-format
 msgid "assuming %s encrypted data\n"
 msgstr "s'assumeixen dades xifrades amb %s\n"
 
 # L'optimístic és aquell que té una Fe Cega en que Tot Anirà Bé!  ivb
-#: g10/mainproc.c:692
+#: g10/mainproc.c:696
 #, c-format
 msgid "IDEA cipher unavailable, optimistically attempting to use %s instead\n"
 msgstr ""
 "El xifratge IDEA no està disponible, s'intentarà utilitzar optimistament %s "
 "en el seu lloc\n"
 
-#: g10/mainproc.c:779 g10/mainproc.c:817
+#: g10/mainproc.c:785 g10/mainproc.c:823
 #, c-format
 msgid "WARNING: message was not integrity protected\n"
 msgstr "AVÍS: el missatge no tenia protecció d'integritat\n"
 
-#: g10/mainproc.c:790
+#: g10/mainproc.c:796
 msgid ""
 "Hint: If this message was created before the year 2003 it is\n"
 "likely that this message is legitimate.  This is because back\n"
 "then integrity protection was not widely used.\n"
 msgstr ""
 
-#: g10/mainproc.c:793
+#: g10/mainproc.c:799
 #, c-format
 msgid "Use the option '%s' to decrypt anyway.\n"
 msgstr ""
 
-#: g10/mainproc.c:798
+#: g10/mainproc.c:804
 #, fuzzy, c-format
 #| msgid "decryption failed: %s\n"
 msgid "decryption forced to fail!\n"
 msgstr "ha fallat el desxifratge: %s\n"
 
-#: g10/mainproc.c:810
+#: g10/mainproc.c:816
 #, c-format
 msgid "decryption okay\n"
 msgstr "desxifratge correcte\n"
 
-#: g10/mainproc.c:823
+#: g10/mainproc.c:829
 #, c-format
 msgid "WARNING: encrypted message has been manipulated!\n"
 msgstr "AVÍS: el missatge xifrat ha estat manipulat!\n"
 
-#: g10/mainproc.c:841
+#: g10/mainproc.c:847
 #, c-format
 msgid "decryption failed: %s\n"
 msgstr "ha fallat el desxifratge: %s\n"
 
-#: g10/mainproc.c:886
+#: g10/mainproc.c:892
 #, fuzzy, c-format
 #| msgid "NOTE: sender requested \"for-your-eyes-only\"\n"
 msgid "Note: sender requested \"for-your-eyes-only\"\n"
 msgstr "NOTA: el remitent ha sol·licitat \"alt secret\"\n"
 
-#: g10/mainproc.c:893
+#: g10/mainproc.c:899
 #, c-format
 msgid "original file name='%.*s'\n"
 msgstr "nom del fitxer original='%.*s'\n"
 
-#: g10/mainproc.c:1148
+#: g10/mainproc.c:1154
 #, c-format
 msgid "standalone revocation - use \"gpg --import\" to apply\n"
 msgstr "revocació autònoma: useu \"gpg --import\" per a aplicar-la\n"
 
-#: g10/mainproc.c:1452 g10/mainproc.c:1495
+#: g10/mainproc.c:1458 g10/mainproc.c:1501
 #, fuzzy, c-format
 msgid "no signature found\n"
 msgstr "Signatura correcta de \""
 
-#: g10/mainproc.c:1852
+#: g10/mainproc.c:1858
 #, fuzzy, c-format
 msgid "BAD signature from \"%s\""
 msgstr "Signatura INCORRECTA de \""
 
-#: g10/mainproc.c:1854
+#: g10/mainproc.c:1860
 #, fuzzy, c-format
 msgid "Expired signature from \"%s\""
 msgstr "Signatura caducada de \""
 
-#: g10/mainproc.c:1856
+#: g10/mainproc.c:1862
 #, fuzzy, c-format
 msgid "Good signature from \"%s\""
 msgstr "Signatura correcta de \""
 
-#: g10/mainproc.c:1876
+#: g10/mainproc.c:1882
 #, c-format
 msgid "signature verification suppressed\n"
 msgstr "s'ha eliminat la verificació de signatura\n"
 
-#: g10/mainproc.c:1985
+#: g10/mainproc.c:1991
 #, fuzzy, c-format
 msgid "can't handle this ambiguous signature data\n"
 msgstr "no es poden tractar aquestes signatures múltiples\n"
 
-#: g10/mainproc.c:2001 g10/mainproc.c:2008
+#: g10/mainproc.c:2007 g10/mainproc.c:2014
 #, fuzzy, c-format
 msgid "Signature made %s\n"
 msgstr "Aquesta signatura va caducar el %s\n"
 
-#: g10/mainproc.c:2002 g10/mainproc.c:2009 sm/verify.c:476
+#: g10/mainproc.c:2008 g10/mainproc.c:2015 sm/verify.c:476
 #, fuzzy, c-format
 msgid "               using %s key %s\n"
 msgstr "              alias \""
 
 # «%.*s» no serà una data?  Caldrà «el» al davant.  ivb
-#: g10/mainproc.c:2013
+#: g10/mainproc.c:2019
 #, fuzzy, c-format
 msgid "Signature made %s using %s key ID %s\n"
 msgstr "Signatura creada el %.*s usant una clau %s ID %08lX\n"
 
-#: g10/mainproc.c:2019
+#: g10/mainproc.c:2025
 #, fuzzy, c-format
 msgid "               issuer \"%s\"\n"
 msgstr "              alias \""
 
-#: g10/mainproc.c:2070
+#: g10/mainproc.c:2076
 #, c-format
 msgid "Key available at: "
 msgstr "La clau és disponible en: "
 
-#: g10/mainproc.c:2111
+#: g10/mainproc.c:2118
 #, c-format
 msgid "Note: Use '%s' to make use of this info\n"
 msgstr ""
 
-#: g10/mainproc.c:2325
+#: g10/mainproc.c:2334
 msgid "[uncertain]"
 msgstr "[incert]"
 
-#: g10/mainproc.c:2363
+#: g10/mainproc.c:2372
 #, fuzzy, c-format
 msgid "                aka \"%s\""
 msgstr "              alias \""
 
-#: g10/mainproc.c:2438
+#: g10/mainproc.c:2447
 #, fuzzy, c-format
 #| msgid "WARNING: This key is not certified with a trusted signature!\n"
 msgid "WARNING: This key is not suitable for signing in %s mode\n"
 msgstr "AVÍS: Aquesta clau no ve certificada per una signatura de confiança!\n"
 
-#: g10/mainproc.c:2456
+#: g10/mainproc.c:2465
 #, c-format
 msgid "Signature expired %s\n"
 msgstr "Aquesta signatura va caducar el %s\n"
 
-#: g10/mainproc.c:2460
+#: g10/mainproc.c:2469
 #, c-format
 msgid "Signature expires %s\n"
 msgstr "Aquesta signatura caduca el %s\n"
 
-#: g10/mainproc.c:2471
+#: g10/mainproc.c:2480
 #, fuzzy, c-format
 #| msgid "%s signature, digest algorithm %s\n"
 msgid "%s signature, digest algorithm %s%s%s\n"
 msgstr "signatura %s, algorisme de resum %s\n"
 
-#: g10/mainproc.c:2472
+#: g10/mainproc.c:2481
 msgid "binary"
 msgstr "binari"
 
-#: g10/mainproc.c:2473
+#: g10/mainproc.c:2482
 msgid "textmode"
 msgstr "mode text"
 
-#: g10/mainproc.c:2473 g10/trust.c:123 dirmngr/ocsp.c:792
+#: g10/mainproc.c:2482 g10/trust.c:123 dirmngr/ocsp.c:792
 msgid "unknown"
 msgstr "desconeguda"
 
-#: g10/mainproc.c:2475
+#: g10/mainproc.c:2484
 #, fuzzy
 #| msgid "unknown pubkey algorithm"
 msgid ", key algorithm "
 msgstr "l'algoritme de clau pública és desconegut"
 
-#: g10/mainproc.c:2510
+#: g10/mainproc.c:2519
 #, c-format
 msgid "WARNING: not a detached signature; file '%s' was NOT verified!\n"
 msgstr ""
 
-#: g10/mainproc.c:2548
+#: g10/mainproc.c:2558
 #, c-format
 msgid "Can't check signature: %s\n"
 msgstr "No s'ha pogut comprovar la signatura: %s\n"
 
-#: g10/mainproc.c:2644 g10/mainproc.c:2663 g10/mainproc.c:2787
+#: g10/mainproc.c:2654 g10/mainproc.c:2673 g10/mainproc.c:2797
 #, c-format
 msgid "not a detached signature\n"
 msgstr "no és una signatura separada\n"
 
-#: g10/mainproc.c:2697
+#: g10/mainproc.c:2707
 #, c-format
 msgid ""
 "WARNING: multiple signatures detected.  Only the first will be checked.\n"
 msgstr ""
 "AVÍS: s'han detectat múltiples signatures. Només es comprovarà la primera.\n"
 
-#: g10/mainproc.c:2706
+#: g10/mainproc.c:2716
 #, c-format
 msgid "standalone signature of class 0x%02x\n"
 msgstr "signatura autònoma de classe 0x%02x\n"
 
-#: g10/mainproc.c:2791
+#: g10/mainproc.c:2801
 #, c-format
 msgid "old style (PGP 2.x) signature\n"
 msgstr "signatura de l'estil antic (PGP 2.x)\n"
@@ -6608,56 +6621,61 @@ msgstr "Notació de signatura crítica: "
 msgid "subpacket of type %d has critical bit set\n"
 msgstr "el subpaquet de tipus %d té el bit crític activat\n"
 
-#: g10/passphrase.c:73 g10/passphrase.c:275 g10/passphrase.c:308
+#: g10/passphrase.c:73 g10/passphrase.c:283 g10/passphrase.c:316
 #, fuzzy, c-format
 msgid "problem with the agent: %s\n"
 msgstr "hi ha un problema amb l'agent: l'agent ha tornat 0x%lx\n"
 
-#: g10/passphrase.c:258
+#: g10/passphrase.c:251 sm/decrypt.c:341
+#, fuzzy
+msgid "Please enter the passphrase for decryption."
+msgstr "canvia la contrasenya"
+
+#: g10/passphrase.c:253
 msgid "Enter passphrase\n"
 msgstr "Introduïu la contrasenya\n"
 
-#: g10/passphrase.c:269
+#: g10/passphrase.c:277
 #, c-format
 msgid "cancelled by user\n"
 msgstr "s'ha cancel·lat per l'usuari\n"
 
-#: g10/passphrase.c:510
+#: g10/passphrase.c:523
 #, fuzzy, c-format
 msgid " (main key ID %s)"
 msgstr " (ID de la clau principal %08lX)"
 
-#: g10/passphrase.c:517
+#: g10/passphrase.c:530
 #, fuzzy
 msgid "Please enter the passphrase to unlock the OpenPGP secret key:"
 msgstr "Introduïu la contrasenya; aquesta ha de ser una frase secreta \n"
 
-#: g10/passphrase.c:521
+#: g10/passphrase.c:534
 #, fuzzy
 msgid "Please enter the passphrase to import the OpenPGP secret key:"
 msgstr "Introduïu la contrasenya; aquesta ha de ser una frase secreta \n"
 
-#: g10/passphrase.c:526
+#: g10/passphrase.c:539
 #, fuzzy
 msgid "Please enter the passphrase to export the OpenPGP secret subkey:"
 msgstr "Introduïu la contrasenya; aquesta ha de ser una frase secreta \n"
 
-#: g10/passphrase.c:529
+#: g10/passphrase.c:542
 #, fuzzy
 msgid "Please enter the passphrase to export the OpenPGP secret key:"
 msgstr "Introduïu la contrasenya; aquesta ha de ser una frase secreta \n"
 
-#: g10/passphrase.c:534
+#: g10/passphrase.c:547
 #, fuzzy
 msgid "Do you really want to permanently delete the OpenPGP secret subkey key:"
 msgstr "Realment voleu eliminar les claus seleccionades? "
 
-#: g10/passphrase.c:537
+#: g10/passphrase.c:550
 #, fuzzy
 msgid "Do you really want to permanently delete the OpenPGP secret key:"
 msgstr "Realment voleu eliminar les claus seleccionades? "
 
-#: g10/passphrase.c:546
+#: g10/passphrase.c:559
 #, fuzzy, c-format
 msgid ""
 "%s\n"
@@ -6710,7 +6728,7 @@ msgstr "«%s» no és un fitxer JPEG\n"
 msgid "Is this photo correct (y/N/q)? "
 msgstr "És aquesta foto correcta (s/N/x)? "
 
-#: g10/photoid.c:395
+#: g10/photoid.c:399
 #, c-format
 msgid "unable to display photo ID!\n"
 msgstr "no s'ha pogut mostrar el photo ID!\n"
@@ -7072,7 +7090,7 @@ msgstr "no s'han pogut obrir les dades signades `%s'\n"
 msgid "can't open signed data fd=%d: %s\n"
 msgstr "no s'han pogut obrir les dades signades `%s'\n"
 
-#: g10/pubkey-enc.c:98 g10/pubkey-enc.c:139 sm/decrypt.c:493
+#: g10/pubkey-enc.c:98 g10/pubkey-enc.c:139 sm/decrypt.c:969
 #, fuzzy, c-format
 msgid "key %s is not suitable for decryption in %s mode\n"
 msgstr "clau %08lX: sense ID\n"
@@ -7089,27 +7107,27 @@ msgstr "el destinatari és anònim; es provarà la clau secreta %08lX ...\n"
 msgid "okay, we are the anonymous recipient.\n"
 msgstr "d'acord, som el destinatari anònim.\n"
 
-#: g10/pubkey-enc.c:321
+#: g10/pubkey-enc.c:311
 #, c-format
 msgid "old encoding of the DEK is not supported\n"
 msgstr "la codificació antiga del DEK no està suportada\n"
 
-#: g10/pubkey-enc.c:349
+#: g10/pubkey-enc.c:339
 #, c-format
 msgid "cipher algorithm %d%s is unknown or disabled\n"
 msgstr "l'algoritme de xifratge %d%s és desconegut o està desactivat\n"
 
-#: g10/pubkey-enc.c:393
+#: g10/pubkey-enc.c:383
 #, fuzzy, c-format
 msgid "WARNING: cipher algorithm %s not found in recipient preferences\n"
 msgstr "NOTA: no s'ha trobat l'algoritme de xifratge %d en les preferències\n"
 
-#: g10/pubkey-enc.c:426
+#: g10/pubkey-enc.c:416
 #, fuzzy, c-format
 msgid "Note: secret key %s expired at %s\n"
 msgstr "NOTA: la clau secreta %08lX caduca el %s\n"
 
-#: g10/pubkey-enc.c:433
+#: g10/pubkey-enc.c:423
 #, fuzzy, c-format
 #| msgid "NOTE: key has been revoked"
 msgid "Note: key has been revoked"
@@ -7434,41 +7452,41 @@ msgstr ""
 msgid "%s/%s signature from: \"%s\"\n"
 msgstr "%s signatura de: «%s»\n"
 
-#: g10/sign.c:1046
+#: g10/sign.c:1045
 #, fuzzy, c-format
 msgid ""
 "WARNING: forcing digest algorithm %s (%d) violates recipient preferences\n"
 msgstr ""
 "forçar l'algoritme de digest %s (%d) viola les preferències del destinatari\n"
 
-#: g10/sign.c:1188
+#: g10/sign.c:1187
 #, c-format
 msgid "signing:"
 msgstr "signatura:"
 
-#: g10/sign.c:1465
+#: g10/sign.c:1464
 #, c-format
 msgid "%s encryption will be used\n"
 msgstr "s'utilitzarà xifratge %s\n"
 
-#: g10/skclist.c:173 g10/skclist.c:254
+#: g10/skclist.c:174 g10/skclist.c:255
 #, c-format
 msgid "key is not flagged as insecure - can't use it with the faked RNG!\n"
 msgstr ""
 "la clau no està marcada com a insegura - no es pot utilitzar amb el GNA "
 "fals!\n"
 
-#: g10/skclist.c:205
+#: g10/skclist.c:206
 #, fuzzy, c-format
 msgid "skipped \"%s\": duplicated\n"
 msgstr "es descarta «%s»: duplicat\n"
 
-#: g10/skclist.c:224
+#: g10/skclist.c:225
 #, c-format
 msgid "skipped: secret key already present\n"
 msgstr "es descarta: la clau secreta ja és present\n"
 
-#: g10/skclist.c:243
+#: g10/skclist.c:244
 #, fuzzy
 msgid "this is a PGP generated Elgamal key which is not secure for signatures!"
 msgstr ""
@@ -7528,7 +7546,7 @@ msgstr "error de lectura: %s\n"
 msgid "trustdb: sync failed: %s\n"
 msgstr "base de dades de confiança: no s'ha pogut sincronitzar: %s\n"
 
-#: g10/tdbio.c:144 sm/keydb.c:336
+#: g10/tdbio.c:144 sm/keydb.c:335
 #, fuzzy, c-format
 msgid "can't create lock for '%s'\n"
 msgstr "no es pot crear el directori «%s»: %s\n"
@@ -8285,40 +8303,52 @@ msgstr "Forma d'ús: gpg [opcions] [fitxers] (-h per a veure l'ajuda)"
 #. TRANSLATORS: Put a \x1f right before a colon.  This can be
 #. * used by pinentry to nicely align the names and values.  Keep
 #. * the %s at the start and end of the string.
-#: scd/app-p15.c:3369 scd/app-openpgp.c:2153
+#: scd/app-p15.c:4955 scd/app-openpgp.c:2151
 #, c-format
 msgid "%sNumber\1f: %s%%0AHolder\1f: %s%s"
 msgstr ""
 
 #. TRANSLATORS: This is the number of remaining attempts to
 #. * enter a PIN.  Use %%0A (double-percent,0A) for a linefeed.
-#: scd/app-p15.c:3388 scd/app-openpgp.c:2169
+#: scd/app-p15.c:4974 scd/app-openpgp.c:2167
 #, c-format
 msgid "Remaining attempts: %d"
 msgstr ""
 
-#: scd/app-p15.c:3459 scd/app-nks.c:1110
+#: scd/app-p15.c:5053 scd/app-nks.c:1113
 msgid "||Please enter the PIN for the key to create qualified signatures."
 msgstr ""
 
-#: scd/app-p15.c:3462 scd/app-nks.c:1092
+#. TRANSLATORS: Do not translate the "|A|" prefix but keep it at
+#. the start of the string.  Use %0A (single percent) for a linefeed.
+#: scd/app-p15.c:5056 scd/app-openpgp.c:2461
+#, fuzzy
+msgid "|A|Please enter the Admin PIN"
+msgstr "canvia la contrasenya"
+
+#: scd/app-p15.c:5058 scd/app-nks.c:1103
+#, fuzzy
+msgid "|P|Please enter the PIN Unblocking Code (PUK) for the standard keys."
+msgstr "Seleccioneu la raó de la revocació:\n"
+
+#: scd/app-p15.c:5061 scd/app-nks.c:1095
 #, fuzzy
 msgid "||Please enter the PIN for the standard keys."
 msgstr "canvia la contrasenya"
 
-#: scd/app-nks.c:709 scd/app-openpgp.c:3664
+#: scd/app-nks.c:709 scd/app-openpgp.c:3663
 #, c-format
 msgid "RSA modulus missing or not of size %d bits\n"
 msgstr ""
 
-#: scd/app-nks.c:717 scd/app-openpgp.c:3676
+#: scd/app-nks.c:717 scd/app-openpgp.c:3675
 #, c-format
 msgid "RSA public exponent missing or larger than %d bits\n"
 msgstr ""
 
-#: scd/app-nks.c:797 scd/app-openpgp.c:2326 scd/app-openpgp.c:2345
-#: scd/app-openpgp.c:2512 scd/app-openpgp.c:2530 scd/app-openpgp.c:2827
-#: scd/app-openpgp.c:2874 scd/app-openpgp.c:2989 scd/app-dinsig.c:303
+#: scd/app-nks.c:797 scd/app-openpgp.c:2324 scd/app-openpgp.c:2343
+#: scd/app-openpgp.c:2510 scd/app-openpgp.c:2528 scd/app-openpgp.c:2826
+#: scd/app-openpgp.c:2873 scd/app-openpgp.c:2988 scd/app-dinsig.c:302
 #, c-format
 msgid "PIN callback returned error: %s\n"
 msgstr ""
@@ -8328,79 +8358,74 @@ msgstr ""
 msgid "the NullPIN has not yet been changed\n"
 msgstr ""
 
-#: scd/app-nks.c:1091
+#: scd/app-nks.c:1094
 #, fuzzy
 msgid "|N|Please enter a new PIN for the standard keys."
 msgstr "canvia la contrasenya"
 
-#: scd/app-nks.c:1098
+#: scd/app-nks.c:1101
 #, fuzzy
 msgid "|NP|Please enter a new PIN Unblocking Code (PUK) for the standard keys."
 msgstr "Seleccioneu la raó de la revocació:\n"
 
-#: scd/app-nks.c:1100
-#, fuzzy
-msgid "|P|Please enter the PIN Unblocking Code (PUK) for the standard keys."
-msgstr "Seleccioneu la raó de la revocació:\n"
-
-#: scd/app-nks.c:1108
+#: scd/app-nks.c:1111
 msgid "|N|Please enter a new PIN for the key to create qualified signatures."
 msgstr ""
 
-#: scd/app-nks.c:1118
+#: scd/app-nks.c:1121
 msgid ""
 "|NP|Please enter a new PIN Unblocking Code (PUK) for the key to create "
 "qualified signatures."
 msgstr ""
 
-#: scd/app-nks.c:1120
+#: scd/app-nks.c:1123
 msgid ""
 "|P|Please enter the PIN Unblocking Code (PUK) for the key to create "
 "qualified signatures."
 msgstr ""
 
-#: scd/app-nks.c:1227 scd/app-openpgp.c:2908 scd/app-dinsig.c:531
+#: scd/app-nks.c:1230 scd/app-openpgp.c:2907 scd/app-dinsig.c:532
 #, fuzzy, c-format
 msgid "error getting new PIN: %s\n"
 msgstr "error en crear «%s»: %s\n"
 
-#: scd/app-openpgp.c:860
+#: scd/app-openpgp.c:859
 #, c-format
 msgid "failed to store the fingerprint: %s\n"
 msgstr "no s'ha pogut emmagatzemar l'empremta digital: %s\n"
 
-#: scd/app-openpgp.c:873
+#: scd/app-openpgp.c:872
 #, fuzzy, c-format
 msgid "failed to store the creation date: %s\n"
 msgstr "no s'ha pogut reconstruir la memòria cau de l'anell: %s\n"
 
-#: scd/app-openpgp.c:1272 scd/app-openpgp.c:2855 scd/app-openpgp.c:5020
+#: scd/app-openpgp.c:1268 scd/app-openpgp.c:2854 scd/app-openpgp.c:5025
 #, c-format
 msgid "error retrieving CHV status from card\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1430
+#: scd/app-openpgp.c:1426
 #, c-format
 msgid "response does not contain the RSA modulus\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1437
+#: scd/app-openpgp.c:1433
 #, c-format
 msgid "response does not contain the RSA public exponent\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1547
+#: scd/app-openpgp.c:1543
 #, fuzzy, c-format
 #| msgid "remove keys from the public keyring"
 msgid "response does not contain the EC public key\n"
 msgstr "elimina claus de l'anell públic"
 
-#: scd/app-openpgp.c:1665 scd/app-openpgp.c:4284
+#: scd/app-openpgp.c:1661 scd/app-openpgp.c:4283
 #, c-format
 msgid "response does not contain the public key data\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1772
+#: scd/app-openpgp.c:1768
 #, fuzzy, c-format
 msgid "reading public key failed: %s\n"
 msgstr "no s'ha pogut eliminar el bloc de claus: %s\n"
@@ -8408,43 +8433,43 @@ msgstr "no s'ha pogut eliminar el bloc de claus: %s\n"
 #. TRANSLATORS: Put a \x1f right before a colon.  This can be
 #. * used by pinentry to nicely align the names and values.  Keep
 #. * the %s at the start and end of the string.
-#: scd/app-openpgp.c:2140
+#: scd/app-openpgp.c:2138
 #, c-format
 msgid "%sNumber\1f: %s%%0AHolder\1f: %s%%0ACounter\1f: %lu%s"
 msgstr ""
 
-#: scd/app-openpgp.c:2280
+#: scd/app-openpgp.c:2278
 #, c-format
 msgid "using default PIN as %s\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2287
+#: scd/app-openpgp.c:2285
 #, c-format
 msgid "failed to use default PIN as %s: %s - disabling further default use\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2300
+#: scd/app-openpgp.c:2298
 #, fuzzy
 msgid "||Please unlock the card"
 msgstr "canvia la contrasenya"
 
-#: scd/app-openpgp.c:2352 scd/app-openpgp.c:2537 scd/app-openpgp.c:2834
+#: scd/app-openpgp.c:2350 scd/app-openpgp.c:2535 scd/app-openpgp.c:2833
 #, c-format
 msgid "PIN for CHV%d is too short; minimum length is %d\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2366 scd/app-openpgp.c:2413 scd/app-openpgp.c:2551
-#: scd/app-openpgp.c:4642
+#: scd/app-openpgp.c:2364 scd/app-openpgp.c:2411 scd/app-openpgp.c:2549
+#: scd/app-openpgp.c:4641
 #, fuzzy, c-format
 msgid "verify CHV%d failed: %s\n"
 msgstr "l'enviament al servidor de claus ha fallat: %s\n"
 
-#: scd/app-openpgp.c:2449 scd/app-openpgp.c:5029
+#: scd/app-openpgp.c:2447 scd/app-openpgp.c:5034
 #, c-format
 msgid "card is permanently locked!\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2453
+#: scd/app-openpgp.c:2451
 #, c-format
 msgid "%d Admin PIN attempt remaining before card is permanently locked\n"
 msgid_plural ""
@@ -8452,29 +8477,22 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-#. TRANSLATORS: Do not translate the "|A|" prefix but keep it at
-#. the start of the string.  Use %0A (single percent) for a linefeed.
-#: scd/app-openpgp.c:2463
-#, fuzzy
-msgid "|A|Please enter the Admin PIN"
-msgstr "canvia la contrasenya"
-
-#: scd/app-openpgp.c:2484
+#: scd/app-openpgp.c:2482
 #, c-format
 msgid "access to admin commands is not configured\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2821
+#: scd/app-openpgp.c:2820
 #, fuzzy
 msgid "||Please enter the PIN"
 msgstr "canvia la contrasenya"
 
-#: scd/app-openpgp.c:2870
+#: scd/app-openpgp.c:2869
 #, fuzzy
 msgid "||Please enter the Reset Code for the card"
 msgstr "Seleccioneu la raó de la revocació:\n"
 
-#: scd/app-openpgp.c:2880 scd/app-openpgp.c:2941
+#: scd/app-openpgp.c:2879 scd/app-openpgp.c:2940
 #, c-format
 msgid "Reset Code is too short; minimum length is %d\n"
 msgstr ""
@@ -8482,129 +8500,129 @@ msgstr ""
 #. TRANSLATORS: Do not translate the "|*|" prefixes but
 #. keep it at the start of the string.  We need this elsewhere
 #. to get some infos on the string.
-#: scd/app-openpgp.c:2903
+#: scd/app-openpgp.c:2902
 msgid "|RN|New Reset Code"
 msgstr ""
 
-#: scd/app-openpgp.c:2904
+#: scd/app-openpgp.c:2903
 msgid "|AN|New Admin PIN"
 msgstr ""
 
-#: scd/app-openpgp.c:2904
+#: scd/app-openpgp.c:2903
 msgid "|N|New PIN"
 msgstr ""
 
-#: scd/app-openpgp.c:2985
+#: scd/app-openpgp.c:2984
 #, fuzzy
 msgid "||Please enter the Admin PIN and New Admin PIN"
 msgstr "canvia la contrasenya"
 
-#: scd/app-openpgp.c:2986
+#: scd/app-openpgp.c:2985
 #, fuzzy
 msgid "||Please enter the PIN and New PIN"
 msgstr "canvia la contrasenya"
 
-#: scd/app-openpgp.c:3048 scd/app-openpgp.c:4344
+#: scd/app-openpgp.c:3047 scd/app-openpgp.c:4343
 #, fuzzy, c-format
 msgid "error reading application data\n"
 msgstr "s'ha produït un error en llegir el bloc de claus: %s\n"
 
-#: scd/app-openpgp.c:3054 scd/app-openpgp.c:4351
+#: scd/app-openpgp.c:3053 scd/app-openpgp.c:4350
 #, fuzzy, c-format
 msgid "error reading fingerprint DO\n"
 msgstr "error: l'empremta digital és invàlida\n"
 
-#: scd/app-openpgp.c:3064
+#: scd/app-openpgp.c:3063
 #, fuzzy, c-format
 msgid "key already exists\n"
 msgstr "«%s» ja està comprimida\n"
 
-#: scd/app-openpgp.c:3068
+#: scd/app-openpgp.c:3067
 #, c-format
 msgid "existing key will be replaced\n"
 msgstr ""
 
-#: scd/app-openpgp.c:3070
+#: scd/app-openpgp.c:3069
 #, fuzzy, c-format
 msgid "generating new key\n"
 msgstr "genera un nou parell de claus"
 
-#: scd/app-openpgp.c:3072
+#: scd/app-openpgp.c:3071
 #, fuzzy, c-format
 msgid "writing new key\n"
 msgstr "genera un nou parell de claus"
 
-#: scd/app-openpgp.c:3645 scd/app-openpgp.c:3997
+#: scd/app-openpgp.c:3644 scd/app-openpgp.c:3996
 #, c-format
 msgid "creation timestamp missing\n"
 msgstr ""
 
-#: scd/app-openpgp.c:3686 scd/app-openpgp.c:3694
+#: scd/app-openpgp.c:3685 scd/app-openpgp.c:3693
 #, c-format
 msgid "RSA prime %s missing or not of size %d bits\n"
 msgstr ""
 
-#: scd/app-openpgp.c:3827 scd/app-openpgp.c:4104
+#: scd/app-openpgp.c:3826 scd/app-openpgp.c:4103
 #, fuzzy, c-format
 msgid "failed to store the key: %s\n"
 msgstr "no s'ha pogut inicialitzar la base de dades de confiança: %s\n"
 
 # Ídem.  ivb
-#: scd/app-openpgp.c:3991
+#: scd/app-openpgp.c:3990
 #, fuzzy, c-format
 #| msgid "unsupported URI"
 msgid "unsupported curve\n"
 msgstr "l'URI no és suportada"
 
-#: scd/app-openpgp.c:4261
+#: scd/app-openpgp.c:4260
 #, c-format
 msgid "please wait while key is being generated ...\n"
 msgstr ""
 
-#: scd/app-openpgp.c:4269
+#: scd/app-openpgp.c:4268
 #, fuzzy, c-format
 msgid "generating key failed\n"
 msgstr "La generació de claus ha fallat: %s\n"
 
-#: scd/app-openpgp.c:4275
+#: scd/app-openpgp.c:4274
 #, fuzzy, c-format
 msgid "key generation completed (%d second)\n"
 msgid_plural "key generation completed (%d seconds)\n"
 msgstr[0] "La generació de claus ha fallat: %s\n"
 msgstr[1] "La generació de claus ha fallat: %s\n"
 
-#: scd/app-openpgp.c:4309
+#: scd/app-openpgp.c:4308
 #, c-format
 msgid "invalid structure of OpenPGP card (DO 0x93)\n"
 msgstr ""
 
-#: scd/app-openpgp.c:4359
+#: scd/app-openpgp.c:4358
 #, c-format
 msgid "fingerprint on card does not match requested one\n"
 msgstr ""
 
-#: scd/app-openpgp.c:4558
+#: scd/app-openpgp.c:4557
 #, fuzzy, c-format
 msgid "card does not support digest algorithm %s\n"
 msgstr "signatura %s, algorisme de resum %s\n"
 
-#: scd/app-openpgp.c:4616
+#: scd/app-openpgp.c:4615
 #, c-format
 msgid "signatures created so far: %lu\n"
 msgstr ""
 
-#: scd/app-openpgp.c:5034
+#: scd/app-openpgp.c:5039
 #, c-format
 msgid ""
 "verification of Admin PIN is currently prohibited through this command\n"
 msgstr ""
 
-#: scd/app-openpgp.c:5346 scd/app-openpgp.c:5357
+#: scd/app-openpgp.c:5351 scd/app-openpgp.c:5362
 #, c-format
 msgid "can't access %s - invalid OpenPGP card?\n"
 msgstr ""
 
-#: scd/app-dinsig.c:299
+#: scd/app-dinsig.c:298
 #, fuzzy
 msgid "||Please enter your PIN at the reader's pinpad"
 msgstr "canvia la contrasenya"
@@ -8612,7 +8630,7 @@ msgstr "canvia la contrasenya"
 #. TRANSLATORS: Do not translate the "|*|" prefixes but
 #. keep it at the start of the string.  We need this elsewhere
 #. to get some infos on the string.
-#: scd/app-dinsig.c:528
+#: scd/app-dinsig.c:529
 #, fuzzy
 msgid "|N|Initial New PIN"
 msgstr "Introduïu el nom d'usuari: "
@@ -8621,7 +8639,7 @@ msgstr "Introduïu el nom d'usuari: "
 msgid "run in multi server mode (foreground)"
 msgstr ""
 
-#: scd/scdaemon.c:129 sm/gpgsm.c:345 dirmngr/dirmngr.c:187
+#: scd/scdaemon.c:129 sm/gpgsm.c:348 dirmngr/dirmngr.c:188
 msgid "|LEVEL|set the debugging level to LEVEL"
 msgstr ""
 
@@ -8644,50 +8662,50 @@ msgstr "|NOM|usa NOM com a destinatari predeterminat"
 msgid "|NAME|use NAME as PC/SC driver"
 msgstr "|NOM|usa NOM com a destinatari predeterminat"
 
-#: scd/scdaemon.c:145
+#: scd/scdaemon.c:146
 #, fuzzy
 msgid "do not use the internal CCID driver"
 msgstr "no usa el terminal en absolut"
 
-#: scd/scdaemon.c:151
+#: scd/scdaemon.c:152
 msgid "|N|disconnect the card after N seconds of inactivity"
 msgstr ""
 
-#: scd/scdaemon.c:154
+#: scd/scdaemon.c:155
 msgid "do not use a reader's pinpad"
 msgstr ""
 
-#: scd/scdaemon.c:159
+#: scd/scdaemon.c:160
 #, fuzzy
 msgid "deny the use of admin card commands"
 msgstr "les ordres entren en conflicte\n"
 
-#: scd/scdaemon.c:162
+#: scd/scdaemon.c:163
 msgid "use variable length input for pinpad"
 msgstr ""
 
-#: scd/scdaemon.c:311
+#: scd/scdaemon.c:312
 #, fuzzy
 msgid "Usage: @SCDAEMON@ [options] (-h for help)"
 msgstr "Forma d'ús: gpg [opcions] [fitxers] (-h per a veure l'ajuda)"
 
-#: scd/scdaemon.c:313
+#: scd/scdaemon.c:314
 msgid ""
 "Syntax: scdaemon [options] [command [args]]\n"
 "Smartcard daemon for @GNUPG@\n"
 msgstr ""
 
-#: scd/scdaemon.c:806
+#: scd/scdaemon.c:808
 #, c-format
 msgid "please use the option '--daemon' to run the program in the background\n"
 msgstr ""
 
-#: scd/scdaemon.c:1183 dirmngr/dirmngr.c:2082
+#: scd/scdaemon.c:1185 dirmngr/dirmngr.c:2119
 #, c-format
 msgid "handler for fd %d started\n"
 msgstr ""
 
-#: scd/scdaemon.c:1195 dirmngr/dirmngr.c:2090
+#: scd/scdaemon.c:1197 dirmngr/dirmngr.c:2127
 #, c-format
 msgid "handler for fd %d terminated\n"
 msgstr ""
@@ -8735,7 +8753,7 @@ msgstr "s'està escrivint la clau secreta a «%s»\n"
 msgid "certificate policy not allowed"
 msgstr "s'està escrivint la clau secreta a «%s»\n"
 
-#: sm/certchain.c:595 sm/keydb.c:1106 sm/keydb.c:1192
+#: sm/certchain.c:595 sm/keydb.c:1084 sm/keydb.c:1171
 #, fuzzy, c-format
 msgid "failed to get the fingerprint\n"
 msgstr "no s'ha pogut emmagatzemar l'empremta digital: %s\n"
@@ -8771,8 +8789,8 @@ msgstr "error en la creació de la contrasenya: %s\n"
 msgid "dirmngr cache-only key lookup failed: %s\n"
 msgstr "no s'ha pogut eliminar el bloc de claus: %s\n"
 
-#: sm/certchain.c:1041 sm/certchain.c:1554 sm/certchain.c:2192 sm/decrypt.c:265
-#: sm/encrypt.c:344 sm/import.c:415 sm/keydb.c:1113 sm/keydb.c:1199
+#: sm/certchain.c:1041 sm/certchain.c:1554 sm/certchain.c:2192 sm/decrypt.c:728
+#: sm/encrypt.c:345 sm/import.c:415 sm/keydb.c:1091 sm/keydb.c:1178
 #: sm/sign.c:337 sm/verify.c:118
 #, fuzzy, c-format
 msgid "failed to allocate keyDB handle\n"
@@ -8981,13 +8999,13 @@ msgstr ""
 # Werner FIXME: please add translator comment saying *what* is
 # uncompressed so we know the gender. jm
 #: sm/certcheck.c:238 sm/certcheck.c:262 dirmngr/crlcache.c:1542
-#: dirmngr/crlcache.c:1566 dirmngr/dirmngr.c:1324 dirmngr/validate.c:903
+#: dirmngr/crlcache.c:1566 dirmngr/dirmngr.c:1361 dirmngr/validate.c:903
 #: dirmngr/validate.c:927
 #, fuzzy, c-format
 msgid "out of core\n"
 msgstr "no forçat"
 
-#: sm/certcheck.c:371 sm/verify.c:213
+#: sm/certcheck.c:370 sm/verify.c:213
 #, c-format
 msgid "(this is the MD2 algorithm)\n"
 msgstr ""
@@ -9297,22 +9315,33 @@ msgstr ""
 msgid "resource problem: out of core\n"
 msgstr ""
 
-#: sm/decrypt.c:341
+#: sm/decrypt.c:536
+#, fuzzy, c-format
+#| msgid "%s encrypted data\n"
+msgid "%s.%s encrypted data\n"
+msgstr "dades xifrades amb %s\n"
+
+#: sm/decrypt.c:803
 #, c-format
 msgid "(this is the RC2 algorithm)\n"
 msgstr ""
 
-#: sm/decrypt.c:343
+#: sm/decrypt.c:805
 #, c-format
 msgid "(this does not seem to be an encrypted message)\n"
 msgstr ""
 
+#: sm/decrypt.c:958
+#, fuzzy, c-format
+msgid "encrypted to %s key %s\n"
+msgstr "xifrat amb una clau %s, ID %08lX\n"
+
 #: sm/delete.c:51 sm/delete.c:112
 #, fuzzy, c-format
 msgid "certificate '%s' not found: %s\n"
 msgstr "no s'ha trobat la clau secreta «%s»: %s\n"
 
-#: sm/delete.c:122 sm/keydb.c:1209 sm/keydb.c:1307
+#: sm/delete.c:122 sm/keydb.c:1189 sm/keydb.c:1288
 #, fuzzy, c-format
 msgid "error locking keybox: %s\n"
 msgstr "s'ha produït un error en llegir el bloc de claus: %s\n"
@@ -9332,140 +9361,140 @@ msgstr "certificat duplicat: esborrat"
 msgid "deleting certificate \"%s\" failed: %s\n"
 msgstr "no s'ha pogut eliminar el bloc de claus: %s\n"
 
-#: sm/encrypt.c:330
+#: sm/encrypt.c:331
 #, fuzzy, c-format
 msgid "no valid recipients given\n"
 msgstr "(No es va donar una descripció)\n"
 
-#: sm/gpgsm.c:215
+#: sm/gpgsm.c:216
 #, fuzzy
 msgid "list external keys"
 msgstr "llista claus secretes"
 
-#: sm/gpgsm.c:217
+#: sm/gpgsm.c:218
 #, fuzzy
 msgid "list certificate chain"
 msgstr "Certificat de revocació vàlid"
 
-#: sm/gpgsm.c:225
+#: sm/gpgsm.c:226
 #, fuzzy
 msgid "import certificates"
 msgstr "Certificat correcte"
 
-#: sm/gpgsm.c:226
+#: sm/gpgsm.c:227
 #, fuzzy
 msgid "export certificates"
 msgstr "Certificat correcte"
 
-#: sm/gpgsm.c:234
+#: sm/gpgsm.c:235
 msgid "register a smartcard"
 msgstr ""
 
-#: sm/gpgsm.c:237
+#: sm/gpgsm.c:238
 msgid "pass a command to the dirmngr"
 msgstr ""
 
-#: sm/gpgsm.c:239
+#: sm/gpgsm.c:240
 msgid "invoke gpg-protect-tool"
 msgstr ""
 
-#: sm/gpgsm.c:256
+#: sm/gpgsm.c:257
 #, fuzzy
 msgid "create base-64 encoded output"
 msgstr "crea eixida amb armadura ascii"
 
-#: sm/gpgsm.c:265
+#: sm/gpgsm.c:266
 msgid "assume input is in PEM format"
 msgstr ""
 
-#: sm/gpgsm.c:267
+#: sm/gpgsm.c:268
 msgid "assume input is in base-64 format"
 msgstr ""
 
-#: sm/gpgsm.c:269
+#: sm/gpgsm.c:270
 msgid "assume input is in binary format"
 msgstr ""
 
-#: sm/gpgsm.c:276
+#: sm/gpgsm.c:277
 msgid "never consult a CRL"
 msgstr ""
 
-#: sm/gpgsm.c:286
+#: sm/gpgsm.c:287
 msgid "check validity using OCSP"
 msgstr ""
 
-#: sm/gpgsm.c:291
+#: sm/gpgsm.c:292
 msgid "|N|number of certificates to include"
 msgstr ""
 
-#: sm/gpgsm.c:294
+#: sm/gpgsm.c:295
 msgid "|FILE|take policy information from FILE"
 msgstr ""
 
-#: sm/gpgsm.c:297
+#: sm/gpgsm.c:298
 msgid "do not check certificate policies"
 msgstr ""
 
-#: sm/gpgsm.c:301
+#: sm/gpgsm.c:302
 msgid "fetch missing issuer certificates"
 msgstr ""
 
-#: sm/gpgsm.c:312
+#: sm/gpgsm.c:313
 msgid "don't use the terminal at all"
 msgstr "no usa el terminal en absolut"
 
-#: sm/gpgsm.c:314
+#: sm/gpgsm.c:315
 msgid "|FILE|write a server mode log to FILE"
 msgstr ""
 
-#: sm/gpgsm.c:319
+#: sm/gpgsm.c:320
 #, fuzzy
 msgid "|FILE|write an audit log to FILE"
 msgstr "|FITXER|carrega el mòdul d'extensió especificat"
 
 # Mode desatès (SC)  ivb
-#: sm/gpgsm.c:322
+#: sm/gpgsm.c:323
 msgid "batch mode: never ask"
 msgstr "mode desatès: no pregunta mai"
 
-#: sm/gpgsm.c:323
+#: sm/gpgsm.c:324
 msgid "assume yes on most questions"
 msgstr "suposa «sí» en la majoria de les preguntes"
 
-#: sm/gpgsm.c:324
+#: sm/gpgsm.c:325
 msgid "assume no on most questions"
 msgstr "suposa «no» en la majoria de les preguntes"
 
-#: sm/gpgsm.c:327
+#: sm/gpgsm.c:328
 #, fuzzy
 msgid "|FILE|add keyring to the list of keyrings"
 msgstr "afegeix aquest anell a la llista"
 
-#: sm/gpgsm.c:330
+#: sm/gpgsm.c:331
 #, fuzzy
 msgid "|USER-ID|use USER-ID as default secret key"
 msgstr "|NOM|usa NOM com a clau secreta predeterminada"
 
-#: sm/gpgsm.c:340 tools/gpgconf-comp.c:837
+#: sm/gpgsm.c:341 dirmngr/dirmngr.c:214 tools/gpgconf-comp.c:841
 #, fuzzy
 msgid "|SPEC|use this keyserver to lookup keys"
 msgstr "|HOST|usa aquest servidor per a cercar claus"
 
-#: sm/gpgsm.c:357
+#: sm/gpgsm.c:360
 msgid "|NAME|use cipher algorithm NAME"
 msgstr "|NOM|usa l'algoritme de xifratge NOM"
 
-#: sm/gpgsm.c:359
+#: sm/gpgsm.c:362
 msgid "|NAME|use message digest algorithm NAME"
 msgstr "|NOM|usa l'algoritme de resum de missatges NOM"
 
-#: sm/gpgsm.c:570
+#: sm/gpgsm.c:573
 #, fuzzy
 #| msgid "Usage: gpg [options] [files] (-h for help)"
 msgid "Usage: @GPGSM@ [options] [files] (-h for help)"
 msgstr "Forma d'ús: gpg [opcions] [fitxers] (-h per a veure l'ajuda)"
 
-#: sm/gpgsm.c:573
+#: sm/gpgsm.c:576
 #, fuzzy
 msgid ""
 "Syntax: @GPGSM@ [options] [files]\n"
@@ -9476,48 +9505,28 @@ msgstr ""
 "signa, comprova, xifra o desxifra\n"
 "l'operació predeterminada depén de les dades introduïdes\n"
 
-#: sm/gpgsm.c:777
+#: sm/gpgsm.c:784
 #, fuzzy, c-format
 msgid "Note: won't be able to encrypt to '%s': %s\n"
 msgstr "no s'ha pogut connectar amb «%s»: %s\n"
 
-#: sm/gpgsm.c:788
+#: sm/gpgsm.c:795
 #, fuzzy, c-format
 msgid "unknown validation model '%s'\n"
 msgstr "el destinatari predeterminat és desconegut «%s»\n"
 
-#: sm/gpgsm.c:839 dirmngr/ldapserver.c:86
-#, fuzzy, c-format
-msgid "%s:%u: no hostname given\n"
-msgstr "(No es va donar una descripció)\n"
-
-#: sm/gpgsm.c:858 dirmngr/ldapserver.c:105
-#, c-format
-msgid "%s:%u: password given without user\n"
-msgstr ""
-
-#: sm/gpgsm.c:879 dirmngr/ldapserver.c:126
-#, fuzzy, c-format
-msgid "%s:%u: skipping this line\n"
-msgstr " o = omet aquesta clau\n"
-
-#: sm/gpgsm.c:1449
-#, fuzzy, c-format
-msgid "could not parse keyserver\n"
-msgstr "no s'ha pogut analitzar sintàcticament la URI del servidor de claus\n"
-
-#: sm/gpgsm.c:1712
+#: sm/gpgsm.c:1612
 #, fuzzy, c-format
 msgid "importing common certificates '%s'\n"
 msgstr "error en la creació de la contrasenya: %s\n"
 
 # No em passe! ;)  ivb
-#: sm/gpgsm.c:1755
+#: sm/gpgsm.c:1655
 #, fuzzy, c-format
 msgid "can't sign using '%s': %s\n"
 msgstr "no s'ha pogut tancar «%s»: %s\n"
 
-#: sm/gpgsm.c:2122
+#: sm/gpgsm.c:2028
 #, c-format
 msgid "invalid command (there is no implicit command)\n"
 msgstr ""
@@ -9537,7 +9546,7 @@ msgstr "Certificat correcte"
 msgid "basic certificate checks failed - not imported\n"
 msgstr ""
 
-#: sm/import.c:472 sm/keydb.c:1229 sm/keydb.c:1319
+#: sm/import.c:472 sm/keydb.c:1209 sm/keydb.c:1300
 #, fuzzy, c-format
 msgid "error getting stored flags: %s\n"
 msgstr "error en crear «%s»: %s\n"
@@ -9552,27 +9561,27 @@ msgstr "error en la creació de la contrasenya: %s\n"
 msgid "error reading input: %s\n"
 msgstr "error en la lectura de «%s»: %s\n"
 
-#: sm/keydb.c:1148
+#: sm/keydb.c:1127
 #, c-format
 msgid "problem looking for existing certificate: %s\n"
 msgstr ""
 
-#: sm/keydb.c:1160
+#: sm/keydb.c:1139
 #, fuzzy, c-format
 msgid "error finding writable keyDB: %s\n"
 msgstr "error en la creació de la contrasenya: %s\n"
 
-#: sm/keydb.c:1168
+#: sm/keydb.c:1147
 #, fuzzy, c-format
 msgid "error storing certificate: %s\n"
 msgstr "error en la creació de la contrasenya: %s\n"
 
-#: sm/keydb.c:1220
+#: sm/keydb.c:1200
 #, fuzzy, c-format
 msgid "problem re-searching certificate: %s\n"
 msgstr "rev? hi ha problemes en la comprovació de la revocació: %s\n"
 
-#: sm/keydb.c:1241 sm/keydb.c:1330
+#: sm/keydb.c:1221 sm/keydb.c:1311
 #, fuzzy, c-format
 msgid "error storing flags: %s\n"
 msgstr "error en la lectura de «%s»: %s\n"
@@ -9607,7 +9616,7 @@ msgid ""
 "%s%sAre you really sure that you want to do this?"
 msgstr ""
 
-#: sm/qualified.c:215 sm/verify.c:678
+#: sm/qualified.c:215 sm/verify.c:679
 #, c-format
 msgid ""
 "Note, that this software is not officially approved to create or verify such "
@@ -9652,23 +9661,23 @@ msgstr ""
 msgid "algorithm:"
 msgstr "armadura: %s\n"
 
-#: sm/verify.c:535
+#: sm/verify.c:536
 #, c-format
 msgid ""
 "invalid signature: message digest attribute does not match computed one\n"
 msgstr ""
 
-#: sm/verify.c:656
+#: sm/verify.c:657
 #, fuzzy, c-format
 msgid "Good signature from"
 msgstr "Signatura correcta de \""
 
-#: sm/verify.c:657
+#: sm/verify.c:658
 #, fuzzy, c-format
 msgid "                aka"
 msgstr "              alias \""
 
-#: sm/verify.c:675
+#: sm/verify.c:676
 #, fuzzy, c-format
 msgid "This is a qualified signature\n"
 msgstr ""
@@ -10303,7 +10312,7 @@ msgid "error retrieving '%s': %s\n"
 msgstr "error en crear «%s»: %s\n"
 
 #: dirmngr/crlfetch.c:218 dirmngr/ldap-wrapper-ce.c:492
-#: dirmngr/ldap-wrapper.c:884 dirmngr/misc.c:573
+#: dirmngr/ldap-wrapper.c:885 dirmngr/misc.c:573
 #, fuzzy, c-format
 #| msgid "%s: error writing dir record: %s\n"
 msgid "error initializing reader object: %s\n"
@@ -10478,116 +10487,116 @@ msgstr ""
 msgid "looking up '%s'\n"
 msgstr ""
 
-#: dirmngr/dirmngr.c:170
+#: dirmngr/dirmngr.c:171
 msgid "list the contents of the CRL cache"
 msgstr ""
 
-#: dirmngr/dirmngr.c:171
+#: dirmngr/dirmngr.c:172
 #, fuzzy
 msgid "|FILE|load CRL from FILE into cache"
 msgstr "|FITXER|carrega el mòdul d'extensió especificat"
 
-#: dirmngr/dirmngr.c:172
+#: dirmngr/dirmngr.c:173
 msgid "|URL|fetch a CRL from URL"
 msgstr ""
 
-#: dirmngr/dirmngr.c:173
+#: dirmngr/dirmngr.c:174
 msgid "shutdown the dirmngr"
 msgstr ""
 
-#: dirmngr/dirmngr.c:174
+#: dirmngr/dirmngr.c:175
 msgid "flush the cache"
 msgstr ""
 
-#: dirmngr/dirmngr.c:190 tools/gpgconf-comp.c:522 tools/gpgconf-comp.c:741
-#: tools/gpgconf-comp.c:854 tools/gpgconf-comp.c:950
+#: dirmngr/dirmngr.c:191 tools/gpgconf-comp.c:522 tools/gpgconf-comp.c:745
+#: tools/gpgconf-comp.c:858 tools/gpgconf-comp.c:954
 msgid "|FILE|write server mode logs to FILE"
 msgstr ""
 
-#: dirmngr/dirmngr.c:191
+#: dirmngr/dirmngr.c:192
 #, fuzzy
 msgid "run without asking a user"
 msgstr "Voleu eixir sense desar? "
 
-#: dirmngr/dirmngr.c:192
+#: dirmngr/dirmngr.c:193
 msgid "force loading of outdated CRLs"
 msgstr ""
 
-#: dirmngr/dirmngr.c:193
+#: dirmngr/dirmngr.c:194
 msgid "allow sending OCSP requests"
 msgstr ""
 
-#: dirmngr/dirmngr.c:195
+#: dirmngr/dirmngr.c:196
 msgid "allow online software version check"
 msgstr ""
 
-#: dirmngr/dirmngr.c:196
+#: dirmngr/dirmngr.c:197
 msgid "inhibit the use of HTTP"
 msgstr ""
 
-#: dirmngr/dirmngr.c:197
+#: dirmngr/dirmngr.c:198
 msgid "inhibit the use of LDAP"
 msgstr ""
 
-#: dirmngr/dirmngr.c:199
+#: dirmngr/dirmngr.c:200
 msgid "ignore HTTP CRL distribution points"
 msgstr ""
 
-#: dirmngr/dirmngr.c:201
+#: dirmngr/dirmngr.c:202
 msgid "ignore LDAP CRL distribution points"
 msgstr ""
 
-#: dirmngr/dirmngr.c:203
+#: dirmngr/dirmngr.c:204
 msgid "ignore certificate contained OCSP service URLs"
 msgstr ""
 
-#: dirmngr/dirmngr.c:206
+#: dirmngr/dirmngr.c:207
 msgid "|URL|redirect all HTTP requests to URL"
 msgstr ""
 
-#: dirmngr/dirmngr.c:208
+#: dirmngr/dirmngr.c:209
 msgid "|HOST|use HOST for LDAP queries"
 msgstr ""
 
-#: dirmngr/dirmngr.c:210
+#: dirmngr/dirmngr.c:211
 msgid "do not use fallback hosts with --ldap-proxy"
 msgstr ""
 
-#: dirmngr/dirmngr.c:213
+#: dirmngr/dirmngr.c:216
 #, fuzzy
 msgid "|FILE|read LDAP server list from FILE"
 msgstr "|FITXER|carrega el mòdul d'extensió especificat"
 
-#: dirmngr/dirmngr.c:215
+#: dirmngr/dirmngr.c:218
 msgid "add new servers discovered in CRL distribution points to serverlist"
 msgstr ""
 
-#: dirmngr/dirmngr.c:218 dirmngr/dirmngr_ldap.c:137
+#: dirmngr/dirmngr.c:221
 msgid "|N|set LDAP timeout to N seconds"
 msgstr ""
 
-#: dirmngr/dirmngr.c:221
+#: dirmngr/dirmngr.c:224
 #, fuzzy
 msgid "|URL|use OCSP responder at URL"
 msgstr "no s'ha pogut analitzar sintàcticament la URI del servidor de claus\n"
 
-#: dirmngr/dirmngr.c:223
+#: dirmngr/dirmngr.c:226
 msgid "|FPR|OCSP response signed by FPR"
 msgstr ""
 
-#: dirmngr/dirmngr.c:229
+#: dirmngr/dirmngr.c:232
 msgid "|N|do not return more than N items in one query"
 msgstr ""
 
-#: dirmngr/dirmngr.c:234
+#: dirmngr/dirmngr.c:237
 msgid "|FILE|use the CA certificates in FILE for HKP over TLS"
 msgstr ""
 
-#: dirmngr/dirmngr.c:236
+#: dirmngr/dirmngr.c:239
 msgid "route all network traffic via Tor"
 msgstr ""
 
-#: dirmngr/dirmngr.c:265
+#: dirmngr/dirmngr.c:268
 #, fuzzy
 #| msgid ""
 #| "@\n"
@@ -10600,80 +10609,80 @@ msgstr ""
 "@\n"
 "(En la pàgina del man hi ha una llista completa d'ordres i d'opcions)\n"
 
-#: dirmngr/dirmngr.c:407
+#: dirmngr/dirmngr.c:415
 #, fuzzy
 msgid "Usage: @DIRMNGR@ [options] (-h for help)"
 msgstr "Forma d'ús: gpg [opcions] [fitxers] (-h per a veure l'ajuda)"
 
-#: dirmngr/dirmngr.c:409
+#: dirmngr/dirmngr.c:417
 msgid ""
 "Syntax: @DIRMNGR@ [options] [command [args]]\n"
 "Keyserver, CRL, and OCSP access for @GNUPG@\n"
 msgstr ""
 
-#: dirmngr/dirmngr.c:489
+#: dirmngr/dirmngr.c:497
 #, c-format
 msgid "valid debug levels are: %s\n"
 msgstr ""
 
-#: dirmngr/dirmngr.c:575 tools/gpgconf.c:647 tools/gpgconf.c:682
+#: dirmngr/dirmngr.c:583 tools/gpgconf.c:647 tools/gpgconf.c:682
 #: tools/gpgconf.c:780
 #, fuzzy, c-format
 msgid "usage: %s [options] "
 msgstr "forma d'ús: gpg [opcions] "
 
-#: dirmngr/dirmngr.c:1212
+#: dirmngr/dirmngr.c:1249
 #, fuzzy, c-format
 #| msgid "%s not allowed with %s!\n"
 msgid "colons are not allowed in the socket name\n"
 msgstr "%s no és permés amb %s!\n"
 
-#: dirmngr/dirmngr.c:1444 dirmngr/server.c:1824
+#: dirmngr/dirmngr.c:1481 dirmngr/server.c:1878
 #, fuzzy, c-format
 msgid "fetching CRL from '%s' failed: %s\n"
 msgstr "no s'ha pogut crear l'armadura: %s\n"
 
-#: dirmngr/dirmngr.c:1450 dirmngr/server.c:1830
+#: dirmngr/dirmngr.c:1487 dirmngr/server.c:1884
 #, fuzzy, c-format
 msgid "processing CRL from '%s' failed: %s\n"
 msgstr "no s'ha pogut crear l'armadura: %s\n"
 
-#: dirmngr/dirmngr.c:1645
+#: dirmngr/dirmngr.c:1682
 #, fuzzy, c-format
 msgid "%s:%u: line too long - skipped\n"
 msgstr "la línia és massa llarga\n"
 
-#: dirmngr/dirmngr.c:1700 dirmngr/dirmngr.c:1784
+#: dirmngr/dirmngr.c:1737 dirmngr/dirmngr.c:1821
 #, fuzzy, c-format
 msgid "%s:%u: invalid fingerprint detected\n"
 msgstr "error: l'empremta digital és invàlida\n"
 
-#: dirmngr/dirmngr.c:1736 dirmngr/dirmngr.c:1762 tools/gpgconf-comp.c:4191
+#: dirmngr/dirmngr.c:1773 dirmngr/dirmngr.c:1799 tools/gpgconf-comp.c:4199
 #, fuzzy, c-format
 msgid "%s:%u: read error: %s\n"
 msgstr "error de lectura: %s\n"
 
-#: dirmngr/dirmngr.c:1791
+#: dirmngr/dirmngr.c:1828
 #, c-format
 msgid "%s:%u: garbage at end of line ignored\n"
 msgstr ""
 
-#: dirmngr/dirmngr.c:1860
+#: dirmngr/dirmngr.c:1897
 #, c-format
 msgid "SIGHUP received - re-reading configuration and flushing caches\n"
 msgstr ""
 
-#: dirmngr/dirmngr.c:1900
+#: dirmngr/dirmngr.c:1937
 #, c-format
 msgid "SIGUSR2 received - no action defined\n"
 msgstr ""
 
-#: dirmngr/dirmngr.c:1905
+#: dirmngr/dirmngr.c:1942
 #, c-format
 msgid "SIGTERM received - shutting down ...\n"
 msgstr ""
 
-#: dirmngr/dirmngr.c:1907
+#: dirmngr/dirmngr.c:1944
 #, c-format
 msgid "SIGTERM received - still %d active connections\n"
 msgstr ""
@@ -10682,214 +10691,38 @@ msgstr ""
 # Probablement és una clau, femení. jm
 # Werner FIXME: please add translator comment saying *what* is
 # uncompressed so we know the gender. jm
-#: dirmngr/dirmngr.c:1912
+#: dirmngr/dirmngr.c:1949
 #, fuzzy, c-format
 #| msgid "not forced"
 msgid "shutdown forced\n"
 msgstr "no forçat"
 
-#: dirmngr/dirmngr.c:1920
+#: dirmngr/dirmngr.c:1957
 #, c-format
 msgid "SIGINT received - immediate shutdown\n"
 msgstr ""
 
-#: dirmngr/dirmngr.c:1927
+#: dirmngr/dirmngr.c:1964
 #, c-format
 msgid "signal %d received - no action defined\n"
 msgstr ""
 
-#: dirmngr/dirmngr_ldap.c:138
-msgid "return all values in a record oriented format"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:141
-msgid "|NAME|ignore host part and connect through NAME"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:142
-#, fuzzy
-#| msgid "|NAME|set terminal charset to NAME"
-msgid "|NAME|connect to host NAME"
-msgstr "|NOM|el joc de caràcters serà NOM"
-
-#: dirmngr/dirmngr_ldap.c:143
-msgid "|N|connect to port N"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:144
-#, fuzzy
-#| msgid "|NAME|use NAME as default recipient"
-msgid "|NAME|use user NAME for authentication"
-msgstr "|NOM|usa NOM com a destinatari predeterminat"
-
-#: dirmngr/dirmngr_ldap.c:145
-msgid "|PASS|use password PASS for authentication"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:147
-msgid "take password from $DIRMNGR_LDAP_PASS"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:148
-msgid "|STRING|query DN STRING"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:149
-msgid "|STRING|use STRING as filter expression"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:150
-msgid "|STRING|return the attribute STRING"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:211
-#, fuzzy
-#| msgid "Usage: gpg [options] [files] (-h for help)"
-msgid "Usage: dirmngr_ldap [options] [URL] (-h for help)\n"
-msgstr "Forma d'ús: gpg [opcions] [fitxers] (-h per a veure l'ajuda)"
-
-#: dirmngr/dirmngr_ldap.c:214
-msgid ""
-"Syntax: dirmngr_ldap [options] [URL]\n"
-"Internal LDAP helper for Dirmngr\n"
-"Interface and options may change without notice\n"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:340
-#, fuzzy, c-format
-#| msgid "invalid import options\n"
-msgid "invalid port number %d\n"
-msgstr "opcions d'importació no vàlides\n"
-
-#: dirmngr/dirmngr_ldap.c:456
-#, c-format
-msgid "scanning result for attribute '%s'\n"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:463 dirmngr/dirmngr_ldap.c:546
-#: dirmngr/dirmngr_ldap.c:570 dirmngr/dirmngr_ldap.c:582
-#: dirmngr/dirmngr_ldap.c:720
-#, fuzzy, c-format
-msgid "error writing to stdout: %s\n"
-msgstr "error mentre s'escrivia l'anell «%s»: %s\n"
-
-#: dirmngr/dirmngr_ldap.c:480
-#, c-format
-msgid "          available attribute '%s'\n"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:518
-#, fuzzy, c-format
-msgid "attribute '%s' not found\n"
-msgstr "no s'ha trobat la clau secreta «%s»: %s\n"
-
-#: dirmngr/dirmngr_ldap.c:525
-#, c-format
-msgid "found attribute '%s'\n"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:634
-#, fuzzy, c-format
-#| msgid "reading from `%s'\n"
-msgid "processing url '%s'\n"
-msgstr "s'està llegint des de «%s»\n"
-
-#: dirmngr/dirmngr_ldap.c:636
-#, fuzzy, c-format
-#| msgid "          w/o user IDs: %lu\n"
-msgid "          user '%s'\n"
-msgstr "                sense ID: %lu\n"
-
-#: dirmngr/dirmngr_ldap.c:638
-#, fuzzy, c-format
-msgid "          pass '%s'\n"
-msgstr "              alias \""
-
-#: dirmngr/dirmngr_ldap.c:640
-#, fuzzy, c-format
-#| msgid "          w/o user IDs: %lu\n"
-msgid "          host '%s'\n"
-msgstr "                sense ID: %lu\n"
-
-#: dirmngr/dirmngr_ldap.c:641
-#, fuzzy, c-format
-#| msgid "          not imported: %lu\n"
-msgid "          port %d\n"
-msgstr "              importades: %lu\n"
-
-#: dirmngr/dirmngr_ldap.c:643
-#, fuzzy, c-format
-msgid "            DN '%s'\n"
-msgstr "              alias \""
-
-#: dirmngr/dirmngr_ldap.c:645
-#, c-format
-msgid "        filter '%s'\n"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:650 dirmngr/dirmngr_ldap.c:653
-#, fuzzy, c-format
-msgid "          attr '%s'\n"
-msgstr "              alias \""
-
-#: dirmngr/dirmngr_ldap.c:659
-#, fuzzy, c-format
-msgid "no host name in '%s'\n"
-msgstr "(No es va donar una descripció)\n"
-
-#: dirmngr/dirmngr_ldap.c:664
-#, c-format
-msgid "no attribute given for query '%s'\n"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:670
-#, fuzzy, c-format
-#| msgid "WARNING: using insecure memory!\n"
-msgid "WARNING: using first attribute only\n"
-msgstr "AVÍS: esteu usant memòria insegura!\n"
-
-#: dirmngr/dirmngr_ldap.c:679
-#, fuzzy, c-format
-msgid "LDAP init to '%s:%d' failed: %s\n"
-msgstr "no s'ha pogut crear l'armadura: %s\n"
-
-#: dirmngr/dirmngr_ldap.c:702
-#, fuzzy, c-format
-msgid "binding to '%s:%d' failed: %s\n"
-msgstr "no s'ha pogut crear l'armadura: %s\n"
-
-#: dirmngr/dirmngr_ldap.c:729
-#, fuzzy, c-format
-#| msgid "dearmoring failed: %s\n"
-msgid "searching '%s' failed: %s\n"
-msgstr "no s'ha pogut llevar l'armadura: %s\n"
-
-#: dirmngr/dirmngr_ldap.c:761
-#, fuzzy, c-format
-msgid "'%s' is not an LDAP URL\n"
-msgstr "«%s» no és un fitxer JPEG\n"
-
-#: dirmngr/dirmngr_ldap.c:767
-#, c-format
-msgid "'%s' is an invalid LDAP URL\n"
-msgstr ""
-
-#: dirmngr/http.c:1987 dirmngr/ocsp.c:255
+#: dirmngr/http.c:1993 dirmngr/ocsp.c:255
 #, fuzzy, c-format
 msgid "error accessing '%s': http status %u\n"
 msgstr "error en la lectura de «%s»: %s\n"
 
-#: dirmngr/http.c:3629 dirmngr/ocsp.c:229
+#: dirmngr/http.c:3644 dirmngr/ocsp.c:229
 #, c-format
 msgid "URL '%s' redirected to '%s' (%u)\n"
 msgstr ""
 
-#: dirmngr/http.c:3635 dirmngr/ocsp.c:246
+#: dirmngr/http.c:3650 dirmngr/ocsp.c:246
 #, fuzzy, c-format
 msgid "too many redirections\n"
 msgstr "hi ha massa preferències «%c»\n"
 
-#: dirmngr/http.c:3747
+#: dirmngr/http.c:3762
 #, fuzzy, c-format
 #| msgid "writing to `%s'\n"
 msgid "redirection changed to '%s'\n"
@@ -10930,31 +10763,51 @@ msgstr "ha fallat l'actualització: %s\n"
 msgid "ldap wrapper %d stalled - killing\n"
 msgstr ""
 
-#: dirmngr/ldap.c:91
+#: dirmngr/ldap.c:92
 #, c-format
 msgid "invalid char 0x%02x in host name - not added\n"
 msgstr ""
 
-#: dirmngr/ldap.c:95
+#: dirmngr/ldap.c:96
 #, fuzzy, c-format
 msgid "adding '%s:%d' to the ldap server list\n"
 msgstr "s'està cercant «%s» al servidor HKP %s\n"
 
-#: dirmngr/ldap.c:98 dirmngr/misc.c:512
+#: dirmngr/ldap.c:99 dirmngr/misc.c:512
 #, fuzzy, c-format
 msgid "malloc failed: %s\n"
 msgstr "no s'ha pogut eliminar el bloc de claus: %s\n"
 
-#: dirmngr/ldap.c:627
+#: dirmngr/ldap.c:221
+#, fuzzy, c-format
+msgid "'%s' is not an LDAP URL\n"
+msgstr "«%s» no és un fitxer JPEG\n"
+
+#: dirmngr/ldap.c:227 dirmngr/ldap.c:233
 #, c-format
-msgid "start_cert_fetch: invalid pattern '%s'\n"
+msgid "'%s' is an invalid LDAP URL\n"
 msgstr ""
 
-#: dirmngr/ldap.c:839
+#: dirmngr/ldap.c:969
 #, c-format
 msgid "ldap_search hit the size limit of the server\n"
 msgstr ""
 
+#: dirmngr/ldapserver.c:117
+#, c-format
+msgid "%s:%u: password given without user\n"
+msgstr ""
+
+#: dirmngr/ldapserver.c:181
+#, c-format
+msgid "%s:%u: ignoring unknown flag '%s'\n"
+msgstr ""
+
+#: dirmngr/ldapserver.c:203
+#, fuzzy, c-format
+msgid "%s:%u: skipping this line\n"
+msgstr " o = omet aquesta clau\n"
+
 #: dirmngr/misc.c:172
 #, fuzzy, c-format
 #| msgid "%s: invalid file version %d\n"
@@ -11138,72 +10991,68 @@ msgstr ""
 msgid "assuan_inquire(%s) failed: %s\n"
 msgstr "Ha fallat el procés de signatura: %s\n"
 
-#: dirmngr/server.c:1158
-msgid "ldapserver missing"
-msgstr ""
-
-#: dirmngr/server.c:1224
+#: dirmngr/server.c:1277
 msgid "serialno missing in cert ID"
 msgstr ""
 
-#: dirmngr/server.c:1387 dirmngr/server.c:1473 dirmngr/server.c:1909
-#: dirmngr/server.c:1980 dirmngr/server.c:2552 dirmngr/server.c:2567
+#: dirmngr/server.c:1440 dirmngr/server.c:1526 dirmngr/server.c:1963
+#: dirmngr/server.c:2034 dirmngr/server.c:2662 dirmngr/server.c:2677
 #, fuzzy, c-format
 msgid "assuan_inquire failed: %s\n"
 msgstr "Ha fallat el procés de signatura: %s\n"
 
-#: dirmngr/server.c:1516
+#: dirmngr/server.c:1569
 #, fuzzy, c-format
 msgid "fetch_cert_by_url failed: %s\n"
 msgstr "no s'ha pogut eliminar el bloc de claus: %s\n"
 
-#: dirmngr/server.c:1528 dirmngr/server.c:1559 dirmngr/server.c:1718
+#: dirmngr/server.c:1581 dirmngr/server.c:1612 dirmngr/server.c:1772
 #, fuzzy, c-format
 msgid "error sending data: %s\n"
 msgstr "error mentre s'enviava a «%s»: %s\n"
 
-#: dirmngr/server.c:1666
+#: dirmngr/server.c:1720
 #, fuzzy, c-format
 msgid "start_cert_fetch failed: %s\n"
 msgstr "no s'ha pogut eliminar el bloc de claus: %s\n"
 
-#: dirmngr/server.c:1699
+#: dirmngr/server.c:1753
 #, fuzzy, c-format
 msgid "fetch_next_cert failed: %s\n"
 msgstr "no s'ha pogut eliminar el bloc de claus: %s\n"
 
-#: dirmngr/server.c:1726
+#: dirmngr/server.c:1780
 #, c-format
 msgid "max_replies %d exceeded\n"
 msgstr ""
 
-#: dirmngr/server.c:2856
+#: dirmngr/server.c:2966
 #, fuzzy, c-format
 msgid "can't allocate control structure: %s\n"
 msgstr "no s'ha pogut crear «%s»: %s\n"
 
-#: dirmngr/server.c:2867
+#: dirmngr/server.c:2977
 #, fuzzy, c-format
 msgid "failed to allocate assuan context: %s\n"
 msgstr "%s: no s'ha pogut crear la taula de dispersió: %s\n"
 
-#: dirmngr/server.c:2888
+#: dirmngr/server.c:2998
 #, fuzzy, c-format
 #| msgid "failed to initialize the TrustDB: %s\n"
 msgid "failed to initialize the server: %s\n"
 msgstr "no s'ha pogut inicialitzar la base de dades de confiança: %s\n"
 
-#: dirmngr/server.c:2896
+#: dirmngr/server.c:3006
 #, fuzzy, c-format
 msgid "failed to the register commands with Assuan: %s\n"
 msgstr "no s'ha pogut reconstruir la memòria cau de l'anell: %s\n"
 
-#: dirmngr/server.c:2929
+#: dirmngr/server.c:3039
 #, c-format
 msgid "Assuan accept problem: %s\n"
 msgstr ""
 
-#: dirmngr/server.c:2948
+#: dirmngr/server.c:3058
 #, fuzzy, c-format
 #| msgid "signing failed: %s\n"
 msgid "Assuan processing failed: %s\n"
@@ -11344,21 +11193,21 @@ msgid "error sending standard options: %s\n"
 msgstr "error mentre s'enviava a «%s»: %s\n"
 
 #: tools/gpgconf-comp.c:481 tools/gpgconf-comp.c:617 tools/gpgconf-comp.c:692
-#: tools/gpgconf-comp.c:804 tools/gpgconf-comp.c:906
+#: tools/gpgconf-comp.c:808 tools/gpgconf-comp.c:910
 msgid "Options controlling the diagnostic output"
 msgstr ""
 
 #: tools/gpgconf-comp.c:494 tools/gpgconf-comp.c:630 tools/gpgconf-comp.c:705
-#: tools/gpgconf-comp.c:817 tools/gpgconf-comp.c:929
+#: tools/gpgconf-comp.c:821 tools/gpgconf-comp.c:933
 msgid "Options controlling the configuration"
 msgstr ""
 
-#: tools/gpgconf-comp.c:517 tools/gpgconf-comp.c:659 tools/gpgconf-comp.c:736
-#: tools/gpgconf-comp.c:849 tools/gpgconf-comp.c:942
+#: tools/gpgconf-comp.c:517 tools/gpgconf-comp.c:659 tools/gpgconf-comp.c:740
+#: tools/gpgconf-comp.c:853 tools/gpgconf-comp.c:946
 msgid "Options useful for debugging"
 msgstr ""
 
-#: tools/gpgconf-comp.c:530 tools/gpgconf-comp.c:669 tools/gpgconf-comp.c:862
+#: tools/gpgconf-comp.c:530 tools/gpgconf-comp.c:669 tools/gpgconf-comp.c:866
 msgid "Options controlling the security"
 msgstr ""
 
@@ -11408,11 +11257,11 @@ msgstr "error en la creació de la contrasenya: %s\n"
 msgid "|N|set the Pinentry timeout to N seconds"
 msgstr ""
 
-#: tools/gpgconf-comp.c:707 tools/gpgconf-comp.c:819
+#: tools/gpgconf-comp.c:707 tools/gpgconf-comp.c:823
 msgid "|NAME|use NAME as default secret key"
 msgstr "|NOM|usa NOM com a clau secreta predeterminada"
 
-#: tools/gpgconf-comp.c:710 tools/gpgconf-comp.c:822
+#: tools/gpgconf-comp.c:710 tools/gpgconf-comp.c:826
 #, fuzzy
 msgid "|NAME|encrypt to user ID NAME as well"
 msgstr "|NOM|xifra per a NOM"
@@ -11421,138 +11270,138 @@ msgstr "|NOM|xifra per a NOM"
 msgid "|SPEC|set up email aliases"
 msgstr ""
 
-#: tools/gpgconf-comp.c:749 tools/gpgconf-comp.c:981
+#: tools/gpgconf-comp.c:753 tools/gpgconf-comp.c:985
 msgid "Configuration for Keyservers"
 msgstr ""
 
-#: tools/gpgconf-comp.c:751 tools/gpgconf-comp.c:983
+#: tools/gpgconf-comp.c:755 tools/gpgconf-comp.c:987
 #, fuzzy
 msgid "|URL|use keyserver at URL"
 msgstr "no s'ha pogut analitzar sintàcticament la URI del servidor de claus\n"
 
-#: tools/gpgconf-comp.c:754
+#: tools/gpgconf-comp.c:758
 msgid "allow PKA lookups (DNS requests)"
 msgstr ""
 
-#: tools/gpgconf-comp.c:757
+#: tools/gpgconf-comp.c:761
 msgid "|MECHANISMS|use MECHANISMS to locate keys by mail address"
 msgstr ""
 
-#: tools/gpgconf-comp.c:760
+#: tools/gpgconf-comp.c:764
 #, fuzzy
 #| msgid "import keys from a keyserver"
 msgid "import missing key from a signature"
 msgstr "importa claus d'un servidor de claus"
 
 # «de les claus» o «de la clau»?  ivb
-#: tools/gpgconf-comp.c:763
+#: tools/gpgconf-comp.c:767
 #, fuzzy
 msgid "include the public key in signatures"
 msgstr "comprova les signatures de la claus"
 
-#: tools/gpgconf-comp.c:770 tools/gpgconf-comp.c:831
+#: tools/gpgconf-comp.c:774 tools/gpgconf-comp.c:835
 msgid "disable all access to the dirmngr"
 msgstr ""
 
-#: tools/gpgconf-comp.c:834
+#: tools/gpgconf-comp.c:838
 #, fuzzy
 msgid "|NAME|use encoding NAME for PKCS#12 passphrases"
 msgstr "|NOM|usa l'algoritme de xifratge NOM per a les contrasenyes"
 
-#: tools/gpgconf-comp.c:870
+#: tools/gpgconf-comp.c:874
 msgid "do not check CRLs for root certificates"
 msgstr ""
 
-#: tools/gpgconf-comp.c:919
+#: tools/gpgconf-comp.c:923
 msgid "Options controlling the format of the output"
 msgstr ""
 
-#: tools/gpgconf-comp.c:961
+#: tools/gpgconf-comp.c:965
 msgid "Options controlling the interactivity and enforcement"
 msgstr ""
 
-#: tools/gpgconf-comp.c:974
+#: tools/gpgconf-comp.c:978
 msgid "Options controlling the use of Tor"
 msgstr ""
 
-#: tools/gpgconf-comp.c:988
+#: tools/gpgconf-comp.c:992
 msgid "Configuration for HTTP servers"
 msgstr ""
 
-#: tools/gpgconf-comp.c:999
+#: tools/gpgconf-comp.c:1003
 msgid "use system's HTTP proxy setting"
 msgstr ""
 
-#: tools/gpgconf-comp.c:1004
+#: tools/gpgconf-comp.c:1008
 msgid "Configuration of LDAP servers to use"
 msgstr ""
 
-#: tools/gpgconf-comp.c:1033
+#: tools/gpgconf-comp.c:1037
 msgid "LDAP server list"
 msgstr ""
 
-#: tools/gpgconf-comp.c:1041
+#: tools/gpgconf-comp.c:1045
 msgid "Configuration for OCSP"
 msgstr ""
 
-#: tools/gpgconf-comp.c:1094
+#: tools/gpgconf-comp.c:1098
 msgid "OpenPGP"
 msgstr ""
 
-#: tools/gpgconf-comp.c:1095
+#: tools/gpgconf-comp.c:1099
 msgid "Private Keys"
 msgstr ""
 
-#: tools/gpgconf-comp.c:1096
+#: tools/gpgconf-comp.c:1100
 msgid "Smartcards"
 msgstr ""
 
-#: tools/gpgconf-comp.c:1097
+#: tools/gpgconf-comp.c:1101
 msgid "S/MIME"
 msgstr ""
 
-#: tools/gpgconf-comp.c:1098
+#: tools/gpgconf-comp.c:1102
 #, fuzzy
 #| msgid "network error"
 msgid "Network"
 msgstr "error de la xarxa"
 
-#: tools/gpgconf-comp.c:1099
+#: tools/gpgconf-comp.c:1103
 #, fuzzy
 msgid "Passphrase Entry"
 msgstr "la contrasenya és errònia"
 
-#: tools/gpgconf-comp.c:1278
+#: tools/gpgconf-comp.c:1282
 #, fuzzy
 msgid "Component not suitable for launching"
 msgstr "no s'ha trobat la clau pública"
 
-#: tools/gpgconf-comp.c:1284
+#: tools/gpgconf-comp.c:1288
 #, c-format
 msgid "Configuration file of component %s is broken\n"
 msgstr ""
 
-#: tools/gpgconf-comp.c:1287
+#: tools/gpgconf-comp.c:1291
 #, fuzzy, c-format
 #| msgid "Please use the command \"toggle\" first.\n"
 msgid "Note: Use the command \"%s%s\" to get details.\n"
 msgstr "Useu l'ordre «toggle» abans.\n"
 
-#: tools/gpgconf-comp.c:3446
+#: tools/gpgconf-comp.c:3454
 #, c-format
 msgid "External verification of component %s failed"
 msgstr ""
 
-#: tools/gpgconf-comp.c:3597
+#: tools/gpgconf-comp.c:3605
 msgid "Note that group specifications are ignored\n"
 msgstr ""
 
-#: tools/gpgconf-comp.c:4195
+#: tools/gpgconf-comp.c:4203
 #, fuzzy, c-format
 msgid "error closing '%s'\n"
 msgstr "error en la lectura de «%s»: %s\n"
 
-#: tools/gpgconf-comp.c:4197
+#: tools/gpgconf-comp.c:4205
 #, fuzzy, c-format
 msgid "error parsing '%s'\n"
 msgstr "error en la lectura de «%s»: %s\n"
@@ -11661,6 +11510,101 @@ msgid ""
 msgstr ""
 
 #, fuzzy
+#~ msgid "requesting key %s from %s server %s\n"
+#~ msgstr "s'està sol·licitant la clau %08lX de %s\n"
+
+#, fuzzy
+#~ msgid "%s:%u: no hostname given\n"
+#~ msgstr "(No es va donar una descripció)\n"
+
+#, fuzzy
+#~ msgid "could not parse keyserver\n"
+#~ msgstr ""
+#~ "no s'ha pogut analitzar sintàcticament la URI del servidor de claus\n"
+
+#, fuzzy
+#~| msgid "|NAME|set terminal charset to NAME"
+#~ msgid "|NAME|connect to host NAME"
+#~ msgstr "|NOM|el joc de caràcters serà NOM"
+
+#, fuzzy
+#~| msgid "|NAME|use NAME as default recipient"
+#~ msgid "|NAME|use user NAME for authentication"
+#~ msgstr "|NOM|usa NOM com a destinatari predeterminat"
+
+#, fuzzy
+#~| msgid "Usage: gpg [options] [files] (-h for help)"
+#~ msgid "Usage: dirmngr_ldap [options] [URL] (-h for help)\n"
+#~ msgstr "Forma d'ús: gpg [opcions] [fitxers] (-h per a veure l'ajuda)"
+
+#, fuzzy
+#~| msgid "invalid import options\n"
+#~ msgid "invalid port number %d\n"
+#~ msgstr "opcions d'importació no vàlides\n"
+
+#, fuzzy
+#~ msgid "error writing to stdout: %s\n"
+#~ msgstr "error mentre s'escrivia l'anell «%s»: %s\n"
+
+#, fuzzy
+#~ msgid "attribute '%s' not found\n"
+#~ msgstr "no s'ha trobat la clau secreta «%s»: %s\n"
+
+#, fuzzy
+#~| msgid "reading from `%s'\n"
+#~ msgid "processing url '%s'\n"
+#~ msgstr "s'està llegint des de «%s»\n"
+
+#, fuzzy
+#~| msgid "          w/o user IDs: %lu\n"
+#~ msgid "          user '%s'\n"
+#~ msgstr "                sense ID: %lu\n"
+
+#, fuzzy
+#~ msgid "          pass '%s'\n"
+#~ msgstr "              alias \""
+
+#, fuzzy
+#~| msgid "          w/o user IDs: %lu\n"
+#~ msgid "          host '%s'\n"
+#~ msgstr "                sense ID: %lu\n"
+
+#, fuzzy
+#~| msgid "          not imported: %lu\n"
+#~ msgid "          port %d\n"
+#~ msgstr "              importades: %lu\n"
+
+#, fuzzy
+#~ msgid "            DN '%s'\n"
+#~ msgstr "              alias \""
+
+#, fuzzy
+#~ msgid "          attr '%s'\n"
+#~ msgstr "              alias \""
+
+#, fuzzy
+#~ msgid "no host name in '%s'\n"
+#~ msgstr "(No es va donar una descripció)\n"
+
+#, fuzzy
+#~| msgid "WARNING: using insecure memory!\n"
+#~ msgid "WARNING: using first attribute only\n"
+#~ msgstr "AVÍS: esteu usant memòria insegura!\n"
+
+#, fuzzy
+#~ msgid "LDAP init to '%s:%d' failed: %s\n"
+#~ msgstr "no s'ha pogut crear l'armadura: %s\n"
+
+#, fuzzy
+#~ msgid "binding to '%s:%d' failed: %s\n"
+#~ msgstr "no s'ha pogut crear l'armadura: %s\n"
+
+#, fuzzy
+#~| msgid "dearmoring failed: %s\n"
+#~ msgid "searching '%s' failed: %s\n"
+#~ msgstr "no s'ha pogut llevar l'armadura: %s\n"
+
+#, fuzzy
 #~| msgid "NOTE: old default options file `%s' ignored\n"
 #~ msgid "Note: old default options file '%s' ignored\n"
 #~ msgstr "NOTA: es descarta el fitxer d'opcions predeterminades antic «%s»\n"
index 6f420a9..0029a4a 100644 (file)
Binary files a/po/cs.gmo and b/po/cs.gmo differ
index e1af7bf..4ef3987 100644 (file)
--- a/po/cs.po
+++ b/po/cs.po
@@ -38,7 +38,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: gnupg2 2.2.22\n"
 "Report-Msgid-Bugs-To: translations@gnupg.org\n"
-"POT-Creation-Date: 2021-01-11 18:47+0100\n"
+"POT-Creation-Date: 2021-06-10 18:59+0200\n"
 "PO-Revision-Date: 2020-08-31 18:53+02:00\n"
 "Last-Translator: Petr Pisar <petr.pisar@atlas.cz>\n"
 "Language-Team: Czech <gnupg-i18n@gnupg.org>\n"
@@ -137,7 +137,7 @@ msgid "Passphrase:"
 msgstr "Heslo:"
 
 #: agent/call-pinentry.c:1107 agent/call-pinentry.c:1359
-#: agent/command-ssh.c:3130 agent/genkey.c:416
+#: agent/command-ssh.c:3140 agent/genkey.c:416
 msgid "does not match - try again"
 msgstr "neshodují se – zkuste to znovu"
 
@@ -187,32 +187,32 @@ msgstr "Špatné heslo"
 msgid "ssh keys greater than %d bits are not supported\n"
 msgstr "SSH klíče delší než %d bitů nejsou podporovány\n"
 
-#: agent/command-ssh.c:862 common/dotlock.c:852 g10/card-util.c:932
-#: g10/exec.c:546 g10/export.c:1320 g10/gpg.c:1352 g10/keygen.c:4998
-#: g10/keyring.c:1322 g10/keyring.c:1637 g10/openfile.c:291 g10/sign.c:1009
-#: g10/sign.c:1323 g10/tdbio.c:753
+#: agent/command-ssh.c:862 common/dotlock.c:852 g10/card-util.c:933
+#: g10/exec.c:554 g10/export.c:1320 g10/gpg.c:1360 g10/keygen.c:4998
+#: g10/keyring.c:1322 g10/keyring.c:1637 g10/openfile.c:291 g10/sign.c:1008
+#: g10/sign.c:1322 g10/tdbio.c:753
 #, c-format
 msgid "can't create '%s': %s\n"
 msgstr "nelze vytvořit „%s“: %s\n"
 
-#: agent/command-ssh.c:874 common/helpfile.c:57 g10/card-util.c:889
+#: agent/command-ssh.c:874 common/helpfile.c:57 g10/card-util.c:890
 #: g10/dearmor.c:59 g10/dearmor.c:106 g10/decrypt.c:65 g10/decrypt.c:136
-#: g10/decrypt.c:153 g10/encrypt.c:180 g10/encrypt.c:543 g10/gpg.c:1353
-#: g10/import.c:352 g10/import.c:536 g10/import.c:764 g10/keygen.c:4036
+#: g10/decrypt.c:153 g10/encrypt.c:180 g10/encrypt.c:543 g10/gpg.c:1361
+#: g10/import.c:364 g10/import.c:548 g10/import.c:776 g10/keygen.c:4036
 #: g10/keyring.c:1663 g10/openfile.c:195 g10/openfile.c:209 g10/plaintext.c:128
-#: g10/plaintext.c:649 g10/sign.c:991 g10/sign.c:1202 g10/sign.c:1307
-#: g10/sign.c:1452 g10/tdbdump.c:143 g10/tdbdump.c:151 g10/tdbio.c:758
-#: g10/tdbio.c:829 g10/verify.c:96 g10/verify.c:160 sm/gpgsm.c:2219
-#: sm/gpgsm.c:2249 sm/gpgsm.c:2287 sm/qualified.c:66 dirmngr/certcache.c:396
+#: g10/plaintext.c:649 g10/sign.c:990 g10/sign.c:1201 g10/sign.c:1306
+#: g10/sign.c:1451 g10/tdbdump.c:143 g10/tdbdump.c:151 g10/tdbio.c:758
+#: g10/tdbio.c:829 g10/verify.c:96 g10/verify.c:160 sm/gpgsm.c:2125
+#: sm/gpgsm.c:2155 sm/gpgsm.c:2193 sm/qualified.c:66 dirmngr/certcache.c:396
 #: dirmngr/certcache.c:476 dirmngr/certcache.c:478 dirmngr/crlcache.c:2588
-#: dirmngr/dirmngr.c:1722
+#: dirmngr/dirmngr.c:1759
 #, c-format
 msgid "can't open '%s': %s\n"
 msgstr "nelze otevřít „%s“: %s\n"
 
 #: agent/command-ssh.c:2385 agent/command-ssh.c:2431 agent/command-ssh.c:2449
-#: agent/command-ssh.c:2601 g10/card-util.c:687 g10/card-util.c:708
-#: g10/skclist.c:430
+#: agent/command-ssh.c:2601 g10/card-util.c:688 g10/card-util.c:709
+#: g10/skclist.c:435
 #, c-format
 msgid "error getting serial number of card: %s\n"
 msgstr "chyba při získání sériového čísla karty: %s\n"
@@ -237,7 +237,7 @@ msgstr "nenalezen žádný vhodný klíč karty: %s\n"
 msgid "error getting list of cards: %s\n"
 msgstr "chyba při získávání seznamu karet: %s\n"
 
-#: agent/command-ssh.c:2765
+#: agent/command-ssh.c:2775
 #, c-format
 msgid ""
 "An ssh process requested the use of key%%0A  %s%%0A  (%s)%%0ADo you want to "
@@ -246,24 +246,24 @@ msgstr ""
 "Proces SSH si vyžádal použití klíče%%0A  %s%%0A  (%s)%%0APřejete si to "
 "povolit?"
 
-#: agent/command-ssh.c:2772
+#: agent/command-ssh.c:2782
 msgid "Allow"
 msgstr "Povolit"
 
-#: agent/command-ssh.c:2772
+#: agent/command-ssh.c:2782
 msgid "Deny"
 msgstr "Zakázat"
 
-#: agent/command-ssh.c:2781
+#: agent/command-ssh.c:2791
 #, c-format
 msgid "Please enter the passphrase for the ssh key%%0A  %F%%0A  (%c)"
 msgstr "Prosím, vložte heslo pro SSH klíč%%0A  %F%%0A  (%c)"
 
-#: agent/command-ssh.c:3058 agent/genkey.c:351
+#: agent/command-ssh.c:3068 agent/genkey.c:351
 msgid "Please re-enter this passphrase"
 msgstr "Prosím, vložte toto heslo znovu"
 
-#: agent/command-ssh.c:3085
+#: agent/command-ssh.c:3095
 #, c-format
 msgid ""
 "Please enter a passphrase to protect the received secret key%%0A   %s%%0A   "
@@ -272,7 +272,7 @@ msgstr ""
 "Prosím, vložte heslo, abyste ochránil(a) přijatý tajný klíč%%0A   %s%%0A   %s"
 "%%0Auvnitř úložiště klíčů gpg-agenta"
 
-#: agent/command-ssh.c:3667
+#: agent/command-ssh.c:3677
 #, c-format
 msgid "failed to create stream from socket: %s\n"
 msgstr "ze socketu se nepodařilo se vytvořit proud (stream): %s\n"
@@ -419,45 +419,43 @@ msgstr ""
 "@Volby:\n"
 " "
 
-#: agent/gpg-agent.c:165 scd/scdaemon.c:120 dirmngr/dirmngr.c:166
+#: agent/gpg-agent.c:165 scd/scdaemon.c:120 dirmngr/dirmngr.c:167
 msgid "run in daemon mode (background)"
 msgstr "poběží v režimu démona (na pozadí)"
 
-#: agent/gpg-agent.c:166 scd/scdaemon.c:117 dirmngr/dirmngr.c:165
+#: agent/gpg-agent.c:166 scd/scdaemon.c:117 dirmngr/dirmngr.c:166
 msgid "run in server mode (foreground)"
 msgstr "poběží v režimu serveru (na popředí)"
 
-#: agent/gpg-agent.c:168 dirmngr/dirmngr.c:168
+#: agent/gpg-agent.c:168 dirmngr/dirmngr.c:169
 msgid "run in supervised mode"
 msgstr "poběží v režimu dohledu"
 
-#: agent/gpg-agent.c:170 g10/gpg.c:608 g10/gpgv.c:78 kbx/kbxutil.c:88
-#: scd/scdaemon.c:121 sm/gpgsm.c:310 dirmngr/dirmngr-client.c:70
-#: dirmngr/dirmngr.c:181 dirmngr/dirmngr_ldap.c:135
-#: tools/gpg-connect-agent.c:78 tools/gpgconf.c:108
+#: agent/gpg-agent.c:170 g10/gpg.c:605 g10/gpgv.c:78 kbx/kbxutil.c:88
+#: scd/scdaemon.c:121 sm/gpgsm.c:311 dirmngr/dirmngr-client.c:70
+#: dirmngr/dirmngr.c:182 tools/gpg-connect-agent.c:78 tools/gpgconf.c:108
 msgid "verbose"
 msgstr "upovídaný režim"
 
 #: agent/gpg-agent.c:171 g10/gpgv.c:79 kbx/kbxutil.c:89 scd/scdaemon.c:122
-#: sm/gpgsm.c:311 dirmngr/dirmngr-client.c:71 dirmngr/dirmngr.c:182
-#: dirmngr/dirmngr_ldap.c:136
+#: sm/gpgsm.c:312 dirmngr/dirmngr-client.c:71 dirmngr/dirmngr.c:183
 msgid "be somewhat more quiet"
 msgstr "být o trochu víc tichý"
 
-#: agent/gpg-agent.c:172 scd/scdaemon.c:123 dirmngr/dirmngr.c:183
+#: agent/gpg-agent.c:172 scd/scdaemon.c:123 dirmngr/dirmngr.c:184
 msgid "sh-style command output"
 msgstr "vypisovat příkazy ve stylu sh"
 
-#: agent/gpg-agent.c:173 scd/scdaemon.c:124 dirmngr/dirmngr.c:184
+#: agent/gpg-agent.c:173 scd/scdaemon.c:124 dirmngr/dirmngr.c:185
 msgid "csh-style command output"
 msgstr "vypisovat příkazy ve stylu csh"
 
-#: agent/gpg-agent.c:174 scd/scdaemon.c:125 sm/gpgsm.c:341
-#: dirmngr/dirmngr.c:185
+#: agent/gpg-agent.c:174 scd/scdaemon.c:125 sm/gpgsm.c:344
+#: dirmngr/dirmngr.c:186
 msgid "|FILE|read options from FILE"
 msgstr "|SOUBOR|načíst volby ze SOUBORU"
 
-#: agent/gpg-agent.c:183 scd/scdaemon.c:135 dirmngr/dirmngr.c:188
+#: agent/gpg-agent.c:183 scd/scdaemon.c:135 dirmngr/dirmngr.c:189
 msgid "do not detach from the console"
 msgstr "neodpojovat se od konzole"
 
@@ -533,9 +531,9 @@ msgstr "zapnout podporu pro PuTTY"
 #. reporting address.  This is so that we can change the
 #. reporting address without breaking the translations.
 #: agent/gpg-agent.c:531 agent/preset-passphrase.c:100 agent/protect-tool.c:155
-#: g10/gpg.c:1070 g10/gpgv.c:149 kbx/kbxutil.c:113 scd/scdaemon.c:298
-#: sm/gpgsm.c:567 dirmngr/dirmngr-client.c:168 dirmngr/dirmngr.c:404
-#: dirmngr/dirmngr_ldap.c:207 tools/gpg-connect-agent.c:205 tools/gpgconf.c:146
+#: g10/gpg.c:1074 g10/gpgv.c:149 kbx/kbxutil.c:113 scd/scdaemon.c:299
+#: sm/gpgsm.c:570 dirmngr/dirmngr-client.c:168 dirmngr/dirmngr.c:412
+#: tools/gpg-connect-agent.c:205 tools/gpgconf.c:146
 #: tools/gpg-check-pattern.c:143
 msgid "Please report bugs to <@EMAIL@>.\n"
 msgstr ""
@@ -554,37 +552,37 @@ msgstr ""
 "Syntaxe: @GPG_AGENT@ [volby] [příkaz [argumenty]]\n"
 "Správa tajných klíčů pro @GNUPG@\n"
 
-#: agent/gpg-agent.c:587 g10/gpg.c:1262 scd/scdaemon.c:370 sm/gpgsm.c:715
-#: dirmngr/dirmngr.c:488
+#: agent/gpg-agent.c:587 g10/gpg.c:1270 scd/scdaemon.c:371 sm/gpgsm.c:718
+#: dirmngr/dirmngr.c:496
 #, c-format
 msgid "invalid debug-level '%s' given\n"
 msgstr "zadána neplatná úroveň ladění „%s“\n"
 
-#: agent/gpg-agent.c:945 g10/gpg.c:3753 g10/gpg.c:3777 sm/gpgsm.c:1631
-#: sm/gpgsm.c:1637
+#: agent/gpg-agent.c:945 g10/gpg.c:3773 g10/gpg.c:3797 sm/gpgsm.c:1531
+#: sm/gpgsm.c:1537
 #, c-format
 msgid "selected digest algorithm is invalid\n"
 msgstr "vybraný hashovací algoritmus je neplatný\n"
 
 #: agent/gpg-agent.c:1168 agent/gpg-agent.c:2023 common/argparse.c:1755
-#: common/argparse.c:1847 g10/gpg.c:2482 scd/scdaemon.c:532 sm/gpgsm.c:1063
-#: dirmngr/dirmngr.c:956 dirmngr/dirmngr.c:1841
+#: common/argparse.c:1847 g10/gpg.c:2495 scd/scdaemon.c:533 sm/gpgsm.c:977
+#: dirmngr/dirmngr.c:994 dirmngr/dirmngr.c:1878
 #, c-format
 msgid "reading options from '%s'\n"
 msgstr "čtou se možnosti z „%s“\n"
 
-#: agent/gpg-agent.c:1300 g10/gpg.c:3704 scd/scdaemon.c:655 sm/gpgsm.c:1571
-#: dirmngr/dirmngr.c:1067 tools/gpg-connect-agent.c:1244 tools/gpgconf.c:624
+#: agent/gpg-agent.c:1300 g10/gpg.c:3724 scd/scdaemon.c:657 sm/gpgsm.c:1471
+#: dirmngr/dirmngr.c:1102 tools/gpg-connect-agent.c:1244 tools/gpgconf.c:624
 #, c-format
 msgid "Note: '%s' is not considered an option\n"
 msgstr "Poznámka: „%s“ není uvažovaná možnost\n"
 
-#: agent/gpg-agent.c:2159 scd/scdaemon.c:1096 dirmngr/dirmngr.c:1219
+#: agent/gpg-agent.c:2159 scd/scdaemon.c:1098 dirmngr/dirmngr.c:1256
 #, c-format
 msgid "can't create socket: %s\n"
 msgstr "socket nelze vytvořit: %s\n"
 
-#: agent/gpg-agent.c:2176 scd/scdaemon.c:1109 dirmngr/dirmngr.c:1232
+#: agent/gpg-agent.c:2176 scd/scdaemon.c:1111 dirmngr/dirmngr.c:1269
 #, c-format
 msgid "socket name '%s' is too long\n"
 msgstr "název socketu „%s“ je příliš dlouhý\n"
@@ -594,29 +592,29 @@ msgstr "název socketu „%s“ je příliš dlouhý\n"
 msgid "a gpg-agent is already running - not starting a new one\n"
 msgstr "gpg-agent již běží – nový nebude spuštěn\n"
 
-#: agent/gpg-agent.c:2226 scd/scdaemon.c:1133 dirmngr/dirmngr.c:1264
+#: agent/gpg-agent.c:2226 scd/scdaemon.c:1135 dirmngr/dirmngr.c:1301
 #, c-format
 msgid "error getting nonce for the socket\n"
 msgstr "chyba při získávání soli pro socket\n"
 
-#: agent/gpg-agent.c:2231 scd/scdaemon.c:1136 dirmngr/dirmngr.c:1267
+#: agent/gpg-agent.c:2231 scd/scdaemon.c:1138 dirmngr/dirmngr.c:1304
 #, c-format
 msgid "error binding socket to '%s': %s\n"
 msgstr "chyba při přilepování socketu na „%s“: %s\n"
 
 #: agent/gpg-agent.c:2242 agent/gpg-agent.c:2282 agent/gpg-agent.c:2291
-#: scd/scdaemon.c:1144 dirmngr/dirmngr.c:1276
+#: scd/scdaemon.c:1146 dirmngr/dirmngr.c:1313
 #, c-format
 msgid "can't set permissions of '%s': %s\n"
 msgstr "přístupová práva „%s“ nelze nastavit: %s\n"
 
-#: agent/gpg-agent.c:2256 scd/scdaemon.c:1156 dirmngr/dirmngr.c:1288
+#: agent/gpg-agent.c:2256 scd/scdaemon.c:1158 dirmngr/dirmngr.c:1325
 #, c-format
 msgid "listening on socket '%s'\n"
 msgstr "naslouchá se na socketu „%s“\n"
 
 #: agent/gpg-agent.c:2276 agent/gpg-agent.c:2329 common/homedir.c:517
-#: g10/exec.c:261 g10/openfile.c:397
+#: g10/exec.c:269 g10/openfile.c:397
 #, c-format
 msgid "can't create directory '%s': %s\n"
 msgstr "nelze vytvořit adresář „%s“: %s\n"
@@ -637,7 +635,7 @@ msgstr "volání stat() na „%s“ selhalo: %s\n"
 msgid "can't use '%s' as home directory\n"
 msgstr "„%s“ nelze použít jako domovský adresář\n"
 
-#: agent/gpg-agent.c:2502 scd/scdaemon.c:1172 dirmngr/dirmngr.c:2047
+#: agent/gpg-agent.c:2502 scd/scdaemon.c:1174 dirmngr/dirmngr.c:2084
 #, c-format
 msgid "error reading nonce on fd %d: %s\n"
 msgstr "chyba při čtení soli z deskriptoru %d: %s\n"
@@ -662,12 +660,12 @@ msgstr "SSH obsluha 0x%lx pro fd %d spuštěna\n"
 msgid "ssh handler 0x%lx for fd %d terminated\n"
 msgstr "SSH obsluha 0x%lx pro fd %d ukončena\n"
 
-#: agent/gpg-agent.c:3016 scd/scdaemon.c:1362 dirmngr/dirmngr.c:2261
+#: agent/gpg-agent.c:3016 scd/scdaemon.c:1366 dirmngr/dirmngr.c:2298
 #, c-format
 msgid "npth_pselect failed: %s - waiting 1s\n"
 msgstr "npth_pselect selhala: %s – čeká se 1 s\n"
 
-#: agent/gpg-agent.c:3104 scd/scdaemon.c:1427
+#: agent/gpg-agent.c:3104 scd/scdaemon.c:1431
 #, c-format
 msgid "%s %s stopped\n"
 msgstr "%s %s pozastaveno\n"
@@ -690,8 +688,8 @@ msgstr ""
 "Syntaxe: gpg-preset-passphrase [volby] KEYGRIP\n"
 "Správa dočasné paměti pro hesla\n"
 
-#: agent/protect-tool.c:108 g10/gpg.c:440 kbx/kbxutil.c:71 sm/gpgsm.c:204
-#: dirmngr/dirmngr.c:163 tools/gpgconf.c:78
+#: agent/protect-tool.c:108 g10/gpg.c:437 kbx/kbxutil.c:71 sm/gpgsm.c:205
+#: dirmngr/dirmngr.c:164 tools/gpgconf.c:78
 msgid ""
 "@Commands:\n"
 " "
@@ -699,8 +697,8 @@ msgstr ""
 "@Příkazy:\n"
 " "
 
-#: agent/protect-tool.c:117 g10/gpg.c:553 g10/gpgv.c:76 kbx/kbxutil.c:81
-#: sm/gpgsm.c:252 dirmngr/dirmngr.c:179 tools/gpg-connect-agent.c:76
+#: agent/protect-tool.c:117 g10/gpg.c:550 g10/gpgv.c:76 kbx/kbxutil.c:81
+#: sm/gpgsm.c:253 dirmngr/dirmngr.c:180 tools/gpg-connect-agent.c:76
 #: tools/gpgconf.c:105
 msgid ""
 "@\n"
@@ -723,11 +721,11 @@ msgstr ""
 "Syntaxe: gpg-protect-tool [volby] [argumenty]\n"
 "Nástroj na správu tajných klíčů\n"
 
-#: agent/protect-tool.c:703
+#: agent/protect-tool.c:703 sm/import.c:774
 msgid "Please enter the passphrase to unprotect the PKCS#12 object."
 msgstr "Prosím, vložte heslo, abyste zpřístupnili objekt PKCS#12."
 
-#: agent/protect-tool.c:708
+#: agent/protect-tool.c:708 sm/export.c:710
 msgid "Please enter the passphrase to protect the new PKCS#12 object."
 msgstr "Prosím, vložte heslo, abyste ochránili nový objekt PKCS#12."
 
@@ -757,7 +755,7 @@ msgstr "zrušeno\n"
 msgid "error while asking for the passphrase: %s\n"
 msgstr "chyba při ptaní se na heslo: %s\n"
 
-#: agent/trustlist.c:154 agent/trustlist.c:364 dirmngr/dirmngr.c:1629
+#: agent/trustlist.c:154 agent/trustlist.c:364 dirmngr/dirmngr.c:1666
 #: tools/gpgconf.c:418
 #, c-format
 msgid "error opening '%s': %s\n"
@@ -916,7 +914,7 @@ msgstr "kontrola vytvořeného podpisu se nepodařila: %s\n"
 msgid "secret key parts are not available\n"
 msgstr "tajné části klíče nejsou dostupné\n"
 
-#: agent/cvt-openpgp.c:344 g10/card-util.c:1540
+#: agent/cvt-openpgp.c:344 g10/card-util.c:1541
 #, c-format
 msgid "public key algorithm %d (%s) is not supported\n"
 msgstr "algoritmus %d (%s) veřejného klíče není podporován\n"
@@ -931,21 +929,21 @@ msgstr "ochranný algoritmus %d (%s) není podporován\n"
 msgid "protection hash algorithm %d (%s) is not supported\n"
 msgstr "ochranný algoritmus %d (%s) není podporován\n"
 
-#: common/exechelp-posix.c:359 common/exechelp-w32.c:449
-#: common/exechelp-w32.c:473 common/exechelp-w32.c:503
+#: common/exechelp-posix.c:359 common/exechelp-w32.c:451
+#: common/exechelp-w32.c:475 common/exechelp-w32.c:505
 #, c-format
 msgid "error creating a pipe: %s\n"
 msgstr "chyba při vytváření roury: %s\n"
 
 #: common/exechelp-posix.c:372 common/exechelp-w32.c:355
-#: common/exechelp-w32.c:459 common/exechelp-w32.c:483
-#: common/exechelp-w32.c:513
+#: common/exechelp-w32.c:461 common/exechelp-w32.c:485
+#: common/exechelp-w32.c:515
 #, c-format
 msgid "error creating a stream for a pipe: %s\n"
 msgstr "chyba při vytváření proudu pro rouru: %s\n"
 
 #: common/exechelp-posix.c:495 common/exechelp-posix.c:570
-#: common/exechelp-posix.c:851 dirmngr/dirmngr.c:1306
+#: common/exechelp-posix.c:856 dirmngr/dirmngr.c:1343
 #, c-format
 msgid "error forking process: %s\n"
 msgstr "chyba při rozdvojování procesu: %s\n"
@@ -955,28 +953,28 @@ msgstr "chyba při rozdvojování procesu: %s\n"
 msgid "waiting for process %d to terminate failed: %s\n"
 msgstr "čekání na konec procesu %d se nezdařilo: %s\n"
 
-#: common/exechelp-posix.c:678 common/exechelp-posix.c:794
+#: common/exechelp-posix.c:678 common/exechelp-posix.c:799
 #, c-format
 msgid "error running '%s': probably not installed\n"
 msgstr "chyba při spouštění „%s“: pravděpodobně není nainstalován\n"
 
-#: common/exechelp-posix.c:684 common/exechelp-posix.c:801
-#: common/exechelp-w32.c:796 common/exechelp-w32ce.c:781
+#: common/exechelp-posix.c:684 common/exechelp-posix.c:806
+#: common/exechelp-w32.c:829 common/exechelp-w32ce.c:781
 #, c-format
 msgid "error running '%s': exit status %d\n"
 msgstr "chyba v běhu „%s“: návratový kód %d\n"
 
-#: common/exechelp-posix.c:692 common/exechelp-posix.c:809
+#: common/exechelp-posix.c:692 common/exechelp-posix.c:814
 #, c-format
 msgid "error running '%s': terminated\n"
 msgstr "chyba v běhu „%s“: násilně ukončeno\n"
 
-#: common/exechelp-posix.c:750 common/exechelp-w32.c:777
+#: common/exechelp-posix.c:755 common/exechelp-w32.c:810
 #, c-format
 msgid "waiting for processes to terminate failed: %s\n"
 msgstr "čekání na ukončení procesu se nezdařilo: %s\n"
 
-#: common/exechelp-w32.c:789 common/exechelp-w32ce.c:775
+#: common/exechelp-w32.c:822 common/exechelp-w32ce.c:775
 #, c-format
 msgid "error getting exit code of process %d: %s\n"
 msgstr "chyba při získání návratového kódu procesu %d: %s\n"
@@ -1073,7 +1071,7 @@ msgstr "při pokusu alokovat %lu bajtů došla bezpečná paměť"
 msgid "out of core while allocating %lu bytes"
 msgstr "při pokusu alokovat %lu bajtů došla paměť"
 
-#: common/miscellaneous.c:115 g10/card-util.c:896 tools/no-libgcrypt.c:30
+#: common/miscellaneous.c:115 g10/card-util.c:897 tools/no-libgcrypt.c:30
 #, c-format
 msgid "error allocating enough memory: %s\n"
 msgstr "chyba při alokování dostatečného množství paměti: %s\n"
@@ -1186,7 +1184,7 @@ msgid "algorithm: %s"
 msgstr "algoritmus: %s"
 
 #: common/audit.c:774 common/audit.c:776 common/audit.c:921 common/audit.c:923
-#: scd/app-openpgp.c:3555
+#: scd/app-openpgp.c:3554
 #, c-format
 msgid "unsupported algorithm: %s"
 msgstr "nepodporovaný algoritmus: %s"
@@ -1311,6 +1309,26 @@ msgstr "[neuvedeno]"
 msgid "invalid radix64 character %02x skipped\n"
 msgstr "neplatný radix64 znak %02x byl přeskočen\n"
 
+#: common/ttyio.c:433
+#, c-format
+msgid "Sorry, we are in batchmode - can't get input\n"
+msgstr ""
+
+#: common/ttyio.c:439
+#, c-format
+msgid "Sorry, no terminal at all requested - can't get input\n"
+msgstr ""
+
+#: common/ttyio.c:474 common/ttyio.c:484
+#, c-format
+msgid "too many errors; giving up\n"
+msgstr ""
+
+#: common/ttyio.c:536
+#, c-format
+msgid "Control-D detected\n"
+msgstr ""
+
 #: common/argparse.c:520
 msgid "argument not expected"
 msgstr "argument nebyl očekáván"
@@ -1374,7 +1392,7 @@ msgstr "neplatný parametr"
 msgid "missing argument for option \"%.50s\"\n"
 msgstr "postrádám argument u volby „%.50s“\n"
 
-#: common/argparse.c:558 g10/gpg.c:3490
+#: common/argparse.c:558 g10/gpg.c:3510
 #, c-format
 msgid "invalid argument for option \"%.50s\"\n"
 msgstr "neplatný argument u volby „%.50s“\n"
@@ -1444,32 +1462,32 @@ msgstr "nebylo možné vytvořit dočasný soubor „%s“: %s\n"
 msgid "error writing to '%s': %s\n"
 msgstr "chyba při zápisu do „%s“: %s\n"
 
-#: common/dotlock.c:1129
+#: common/dotlock.c:1137
 #, c-format
 msgid "removing stale lockfile (created by %d)\n"
 msgstr "odstraňuji starý zamykací soubor (vytvořil %d)\n"
 
-#: common/dotlock.c:1165
+#: common/dotlock.c:1173
 #, c-format
 msgid "waiting for lock (held by %d%s) %s...\n"
 msgstr "čekám na zámek (drží ho %d%s) %s…\n"
 
-#: common/dotlock.c:1166
+#: common/dotlock.c:1174
 msgid "(deadlock?) "
 msgstr "(uváznutí?) "
 
-#: common/dotlock.c:1205
+#: common/dotlock.c:1213
 #, c-format
 msgid "lock '%s' not made: %s\n"
 msgstr "zámek „%s“ nebyl vytvořen: %s\n"
 
-#: common/dotlock.c:1232
+#: common/dotlock.c:1240
 #, c-format
 msgid "waiting for lock %s...\n"
 msgstr "čekám na zámek %s…\n"
 
 # První argument je název knihovny
-#: common/init.c:185 sm/gpgsm.c:949 dirmngr/dirmngr.c:862 dirmngr/dirmngr.c:871
+#: common/init.c:191 sm/gpgsm.c:863 dirmngr/dirmngr.c:900 dirmngr/dirmngr.c:909
 #, c-format
 msgid "%s is too old (need %s, have %s)\n"
 msgstr "%s je příliš stará (potřeba %s, přítomna %s)\n"
@@ -1653,12 +1671,12 @@ msgid "Note: Use the command \"%s\" to restart them.\n"
 msgstr "Poznámka: Restartovat je můžete příkazem „%s“.\n"
 
 #: g10/call-agent.c:318 g10/encrypt.c:154 g10/encrypt.c:620 g10/sign.c:412
-#: sm/call-agent.c:205 sm/encrypt.c:425 sm/sign.c:345
+#: sm/call-agent.c:205 sm/encrypt.c:426 sm/sign.c:345
 #, c-format
 msgid "%s is not compliant with %s mode\n"
 msgstr "%s není v souladu s režimem %s\n"
 
-#: g10/call-dirmngr.c:209 sm/call-dirmngr.c:268 tools/gpg-connect-agent.c:2253
+#: g10/call-dirmngr.c:209 sm/call-dirmngr.c:269 tools/gpg-connect-agent.c:2253
 #, c-format
 msgid "no dirmngr running in this session\n"
 msgstr "v této relaci neběží žádný dirmngr\n"
@@ -1696,22 +1714,22 @@ msgstr "nepřijatelné přesměrování HTTP serverem bylo odklizeno"
 msgid "server uses an invalid certificate"
 msgstr "server používá neplatný certifikát"
 
-#: g10/call-dirmngr.c:437 g10/gpg.c:4400
+#: g10/call-dirmngr.c:437 g10/gpg.c:4421
 #, c-format
 msgid "Note: %s\n"
 msgstr "Poznámka: %s\n"
 
-#: g10/card-util.c:86 g10/card-util.c:366 g10/card-util.c:1902
+#: g10/card-util.c:86 g10/card-util.c:366 g10/card-util.c:1903
 #, c-format
 msgid "OpenPGP card not available: %s\n"
 msgstr "OpenPGP karta není dostupná: %s\n"
 
-#: g10/card-util.c:91 g10/card-util.c:1908
+#: g10/card-util.c:91 g10/card-util.c:1909
 #, c-format
 msgid "OpenPGP card no. %s detected\n"
 msgstr "Nalezena OpenPGP karta číslo %s\n"
 
-#: g10/card-util.c:97 g10/card-util.c:2237 g10/delkey.c:160 g10/keyedit.c:1422
+#: g10/card-util.c:97 g10/card-util.c:2238 g10/delkey.c:160 g10/keyedit.c:1423
 #: g10/keygen.c:4466 g10/revoke.c:214 g10/revoke.c:636
 #, c-format
 msgid "can't do this in batch mode\n"
@@ -1722,13 +1740,13 @@ msgstr "nelze provést v dávkovém režimu\n"
 msgid "This command is only available for version 2 cards\n"
 msgstr "Tento příkaz je dostupný pouze pro karty verze 2\n"
 
-#: g10/card-util.c:107 scd/app-openpgp.c:2864
+#: g10/card-util.c:107 scd/app-openpgp.c:2863
 #, c-format
 msgid "Reset Code not or not anymore available\n"
 msgstr "Resetační kód není nebo už není dostupný\n"
 
-#: g10/card-util.c:140 g10/card-util.c:1426 g10/card-util.c:1688
-#: g10/card-util.c:1780 g10/keyedit.c:394 g10/keyedit.c:415 g10/keyedit.c:429
+#: g10/card-util.c:140 g10/card-util.c:1427 g10/card-util.c:1689
+#: g10/card-util.c:1781 g10/keyedit.c:394 g10/keyedit.c:415 g10/keyedit.c:429
 #: g10/keygen.c:1808 g10/keygen.c:1980 g10/keygen.c:2186 g10/keygen.c:2477
 #: sm/certreqgen-ui.c:165 sm/certreqgen-ui.c:291 sm/certreqgen-ui.c:325
 msgid "Your selection? "
@@ -1754,104 +1772,104 @@ msgstr "není vyžadováno"
 msgid "forced"
 msgstr "vyžadováno"
 
-#: g10/card-util.c:749
+#: g10/card-util.c:750
 msgid "Error: Only plain ASCII is currently allowed.\n"
 msgstr "Chyba: V současné verzi je povolenou pouze plain ASCII.\n"
 
-#: g10/card-util.c:751
+#: g10/card-util.c:752
 msgid "Error: The \"<\" character may not be used.\n"
 msgstr "Chyba: Znak „<“ nelze použít.\n"
 
-#: g10/card-util.c:753
+#: g10/card-util.c:754
 msgid "Error: Double spaces are not allowed.\n"
 msgstr "Chyba: Více mezer není povoleno.\n"
 
-#: g10/card-util.c:770
+#: g10/card-util.c:771
 msgid "Cardholder's surname: "
 msgstr "Příjmení držitele karty: "
 
-#: g10/card-util.c:772
+#: g10/card-util.c:773
 msgid "Cardholder's given name: "
 msgstr "Jméno (křestní) držitele karty: "
 
-#: g10/card-util.c:790
+#: g10/card-util.c:791
 #, c-format
 msgid "Error: Combined name too long (limit is %d characters).\n"
 msgstr "Chyba: jméno a příjmení je příliš dlouhé (limit je %d znaků).\n"
 
-#: g10/card-util.c:811
+#: g10/card-util.c:812
 msgid "URL to retrieve public key: "
 msgstr "URL pro získání veřejného klíče: "
 
-#: g10/card-util.c:905 g10/decrypt-data.c:490 g10/import.c:387 g10/import.c:734
-#: g10/import.c:786 dirmngr/crlcache.c:655 dirmngr/crlcache.c:660
-#: dirmngr/crlcache.c:914 dirmngr/crlcache.c:920 dirmngr/dirmngr.c:1668
+#: g10/card-util.c:906 g10/decrypt-data.c:490 g10/import.c:399 g10/import.c:746
+#: g10/import.c:798 dirmngr/crlcache.c:655 dirmngr/crlcache.c:660
+#: dirmngr/crlcache.c:914 dirmngr/crlcache.c:920 dirmngr/dirmngr.c:1705
 #: tools/gpgconf.c:431 tools/gpgconf.c:477
 #, c-format
 msgid "error reading '%s': %s\n"
 msgstr "chyba při čtení „%s“: %s\n"
 
-#: g10/card-util.c:938 g10/decrypt-data.c:493 g10/export.c:2467
+#: g10/card-util.c:939 g10/decrypt-data.c:493 g10/export.c:2467
 #: dirmngr/crlcache.c:925
 #, c-format
 msgid "error writing '%s': %s\n"
 msgstr "chyba při zápisu do „%s“: %s\n"
 
-#: g10/card-util.c:965
+#: g10/card-util.c:966
 msgid "Login data (account name): "
 msgstr "Login (jménu účtu): "
 
-#: g10/card-util.c:1003
+#: g10/card-util.c:1004
 msgid "Private DO data: "
 msgstr "Privátní DO data: "
 
-#: g10/card-util.c:1088
+#: g10/card-util.c:1089
 msgid "Language preferences: "
 msgstr "Jazykové předvolby: "
 
-#: g10/card-util.c:1096
+#: g10/card-util.c:1097
 msgid "Error: invalid length of preference string.\n"
 msgstr "Chyba: neplatná délka řetězce s předvolbami.\n"
 
-#: g10/card-util.c:1105
+#: g10/card-util.c:1106
 msgid "Error: invalid characters in preference string.\n"
 msgstr "Chyba: neplatný znak v řetězci s předvolbami\n"
 
-#: g10/card-util.c:1127
+#: g10/card-util.c:1128
 msgid "Salutation (M = Mr., F = Ms., or space): "
 msgstr "Oslovení (M = Pan, F = Paní, nebo mezera): "
 
-#: g10/card-util.c:1141
+#: g10/card-util.c:1142
 msgid "Error: invalid response.\n"
 msgstr "Chyba: neplatná odpověď.\n"
 
-#: g10/card-util.c:1163
+#: g10/card-util.c:1164
 msgid "CA fingerprint: "
 msgstr "Otisk CA: "
 
-#: g10/card-util.c:1186
+#: g10/card-util.c:1187
 msgid "Error: invalid formatted fingerprint.\n"
 msgstr "Chyba: chybně utvořené otisk.\n"
 
-#: g10/card-util.c:1236
+#: g10/card-util.c:1237
 #, c-format
 msgid "key operation not possible: %s\n"
 msgstr "operace s klíčem není možná: %s\n"
 
-#: g10/card-util.c:1237
+#: g10/card-util.c:1238
 msgid "not an OpenPGP card"
 msgstr "toto není OpenPGP karta"
 
-#: g10/card-util.c:1250 g10/keygen.c:4486 g10/keygen.c:5565
+#: g10/card-util.c:1251 g10/keygen.c:4486 g10/keygen.c:5565
 #, c-format
 msgid "error getting current key info: %s\n"
 msgstr "chyba při získání informací o aktuálním klíči: %s\n"
 
-#: g10/card-util.c:1335
+#: g10/card-util.c:1336
 msgid "Replace existing key? (y/N) "
 msgstr "Přepsat existující klíč? (a/N) "
 
-#: g10/card-util.c:1352
+#: g10/card-util.c:1353
 msgid ""
 "Note: There is no guarantee that the card supports the requested size.\n"
 "      If the key generation does not succeed, please check the\n"
@@ -1862,97 +1880,97 @@ msgstr ""
 "dokumentace\n"
 "          své karty, kde se dozvíte, jaké velikosti jsou dovoleny.\n"
 
-#: g10/card-util.c:1374 g10/keygen.c:2363 sm/certreqgen-ui.c:179
+#: g10/card-util.c:1375 g10/keygen.c:2363 sm/certreqgen-ui.c:179
 #, c-format
 msgid "What keysize do you want? (%u) "
 msgstr "Jakou délku klíče si přejete? (%u) "
 
-#: g10/card-util.c:1384 g10/keygen.c:2286 g10/keygen.c:2318
+#: g10/card-util.c:1385 g10/keygen.c:2286 g10/keygen.c:2318
 #: sm/certreqgen-ui.c:194
 #, c-format
 msgid "rounded up to %u bits\n"
 msgstr "zaokrouhleno na %u bitů\n"
 
-#: g10/card-util.c:1392 g10/keygen.c:2371 sm/certreqgen-ui.c:184
+#: g10/card-util.c:1393 g10/keygen.c:2371 sm/certreqgen-ui.c:184
 #, c-format
 msgid "%s keysizes must be in the range %u-%u\n"
 msgstr "velikost klíče %s musí být v intervalu %u-%u\n"
 
-#: g10/card-util.c:1411
+#: g10/card-util.c:1412
 msgid "Changing card key attribute for: "
 msgstr "Mění se atribut kartového klíče pro: "
 
-#: g10/card-util.c:1413
+#: g10/card-util.c:1414
 msgid "Signature key\n"
 msgstr "Podepisovací klíč\n"
 
-#: g10/card-util.c:1415
+#: g10/card-util.c:1416
 msgid "Encryption key\n"
 msgstr "Šifrovací klíč\n"
 
-#: g10/card-util.c:1417
+#: g10/card-util.c:1418
 msgid "Authentication key\n"
 msgstr "Autentizační klíč\n"
 
-#: g10/card-util.c:1419 g10/keygen.c:1926 sm/certreqgen-ui.c:157
+#: g10/card-util.c:1420 g10/keygen.c:1926 sm/certreqgen-ui.c:157
 msgid "Please select what kind of key you want:\n"
 msgstr "Prosím, vyberte druh klíče, který chcete:\n"
 
-#: g10/card-util.c:1420 sm/certreqgen-ui.c:158
+#: g10/card-util.c:1421 sm/certreqgen-ui.c:158
 #, c-format
 msgid "   (%d) RSA\n"
 msgstr "   (%d) RSA\n"
 
-#: g10/card-util.c:1421
+#: g10/card-util.c:1422
 #, c-format
 msgid "   (%d) ECC\n"
 msgstr "   (%d) ECC\n"
 
-#: g10/card-util.c:1433 g10/card-util.c:1700 g10/card-util.c:1800
-#: g10/keyedit.c:899 g10/keygen.c:1834 g10/keygen.c:1862 g10/keygen.c:1987
+#: g10/card-util.c:1434 g10/card-util.c:1701 g10/card-util.c:1801
+#: g10/keyedit.c:900 g10/keygen.c:1834 g10/keygen.c:1862 g10/keygen.c:1987
 #: g10/keygen.c:2222 g10/keygen.c:2505 g10/revoke.c:838
 msgid "Invalid selection.\n"
 msgstr "Neplatný výběr.\n"
 
-#: g10/card-util.c:1506
+#: g10/card-util.c:1507
 #, c-format
 msgid "The card will now be re-configured to generate a key of %u bits\n"
 msgstr "Karta bude nyní přenastavena na generování klíče dlouhého %u bitů\n"
 
-#: g10/card-util.c:1511
+#: g10/card-util.c:1512
 #, c-format
 msgid "The card will now be re-configured to generate a key of type: %s\n"
 msgstr "Karta bude nyní přenastavena na generování klíče typu: %s\n"
 
-#: g10/card-util.c:1547
+#: g10/card-util.c:1548
 #, c-format
 msgid "error changing key attribute for key %d: %s\n"
 msgstr "chyba při změně atributu klíče %d: %s\n"
 
-#: g10/card-util.c:1563 g10/card-util.c:2090
+#: g10/card-util.c:1564 g10/card-util.c:2091
 #, c-format
 msgid "error getting card info: %s\n"
 msgstr "chyba při získání informací o kartě: %s\n"
 
-#: g10/card-util.c:1569 g10/card-util.c:1914 g10/card-util.c:2096
+#: g10/card-util.c:1570 g10/card-util.c:1915 g10/card-util.c:2097
 #, c-format
 msgid "This command is not supported by this card\n"
 msgstr "Tento příkaz není touto kartou podporován\n"
 
-#: g10/card-util.c:1615
+#: g10/card-util.c:1616
 msgid "Make off-card backup of encryption key? (Y/n) "
 msgstr "Vytvořit zálohu šifrovacího klíče mimo kartu? (A/n) "
 
-#: g10/card-util.c:1629
+#: g10/card-util.c:1630
 #, c-format
 msgid "Note: keys are already stored on the card!\n"
 msgstr "Poznámka: na kartě jsou již klíče uloženy!\n"
 
-#: g10/card-util.c:1632
+#: g10/card-util.c:1633
 msgid "Replace existing keys? (y/N) "
 msgstr "Přepsat existující klíče? (a/N) "
 
-#: g10/card-util.c:1644
+#: g10/card-util.c:1645
 #, c-format
 msgid ""
 "Please note that the factory settings of the PINs are\n"
@@ -1963,143 +1981,143 @@ msgstr ""
 "   PIN = „%s“     PIN správce = „%s“\n"
 "Měli byste je změnit příkazem --change-pin\n"
 
-#: g10/card-util.c:1679
+#: g10/card-util.c:1680
 msgid "Please select the type of key to generate:\n"
 msgstr "Prosím, vyberte druh klíče, který chcete generovat:\n"
 
-#: g10/card-util.c:1681 g10/card-util.c:1771
+#: g10/card-util.c:1682 g10/card-util.c:1772
 msgid "   (1) Signature key\n"
 msgstr "   (1) Podepisovací klíč\n"
 
-#: g10/card-util.c:1682 g10/card-util.c:1773
+#: g10/card-util.c:1683 g10/card-util.c:1774
 msgid "   (2) Encryption key\n"
 msgstr "   (2) Šifrovací klíč\n"
 
-#: g10/card-util.c:1683 g10/card-util.c:1775
+#: g10/card-util.c:1684 g10/card-util.c:1776
 msgid "   (3) Authentication key\n"
 msgstr "   (3) Autentizační klíč\n"
 
-#: g10/card-util.c:1768
+#: g10/card-util.c:1769
 msgid "Please select where to store the key:\n"
 msgstr "Prosím vyberte, kam uložit klíč:\n"
 
-#: g10/card-util.c:1814
+#: g10/card-util.c:1815
 #, c-format
 msgid "KEYTOCARD failed: %s\n"
 msgstr "Volání KEYTOCARD selhalo: %s\n"
 
-#: g10/card-util.c:1919
+#: g10/card-util.c:1920
 #, c-format
 msgid "Note: This command destroys all keys stored on the card!\n"
 msgstr "Poznámka: Tento příkaz zničí všechny klíče uložené na kartě!\n"
 
-#: g10/card-util.c:1922
+#: g10/card-util.c:1923
 msgid "Continue? (y/N) "
 msgstr "Pokračovat (a/N) "
 
 # The code expects non-localized "yes"
-#: g10/card-util.c:1927
+#: g10/card-util.c:1928
 msgid "Really do a factory reset? (enter \"yes\") "
 msgstr "Opravdu obnovit tovární nastavení (zadejte „yes“) "
 
-#: g10/card-util.c:2113
+#: g10/card-util.c:2114
 #, c-format
 msgid "error for setup KDF: %s\n"
 msgstr "chyba při nastavování KDF: %s\n"
 
-#: g10/card-util.c:2142 g10/keyedit.c:1259
+#: g10/card-util.c:2143 g10/keyedit.c:1260
 msgid "quit this menu"
 msgstr "ukončit toto menu"
 
-#: g10/card-util.c:2144
+#: g10/card-util.c:2145
 msgid "show admin commands"
 msgstr "zobraz příkazy správce"
 
-#: g10/card-util.c:2145 g10/keyedit.c:1262
+#: g10/card-util.c:2146 g10/keyedit.c:1263
 msgid "show this help"
 msgstr "ukázat tuto pomoc"
 
-#: g10/card-util.c:2147
+#: g10/card-util.c:2148
 msgid "list all available data"
 msgstr "vypiš všechna dostupná data"
 
-#: g10/card-util.c:2150
+#: g10/card-util.c:2151
 msgid "change card holder's name"
 msgstr "změní jméno majitele karty"
 
-#: g10/card-util.c:2151
+#: g10/card-util.c:2152
 msgid "change URL to retrieve key"
 msgstr "změní URL pro získání klíče"
 
-#: g10/card-util.c:2152
+#: g10/card-util.c:2153
 msgid "fetch the key specified in the card URL"
 msgstr "získá klíč specifikovaný v URL karty"
 
-#: g10/card-util.c:2153
+#: g10/card-util.c:2154
 msgid "change the login name"
 msgstr "změnit login name"
 
-#: g10/card-util.c:2154
+#: g10/card-util.c:2155
 msgid "change the language preferences"
 msgstr "změnit jazykové předvolby"
 
-#: g10/card-util.c:2155
+#: g10/card-util.c:2156
 msgid "change card holder's salutation"
 msgstr "změní oslovení držitele karty"
 
-#: g10/card-util.c:2157
+#: g10/card-util.c:2158
 msgid "change a CA fingerprint"
 msgstr "vypsat otisk certifikační autority"
 
-#: g10/card-util.c:2158
+#: g10/card-util.c:2159
 msgid "toggle the signature force PIN flag"
 msgstr "zapnout/vypnout požadování PINu při každé self-sign operaci"
 
-#: g10/card-util.c:2159
+#: g10/card-util.c:2160
 msgid "generate new keys"
 msgstr "vytvořit nový pár klíčů"
 
-#: g10/card-util.c:2160
+#: g10/card-util.c:2161
 msgid "menu to change or unblock the PIN"
 msgstr "nabídka pro změnu anebo odblokování PINu"
 
-#: g10/card-util.c:2161
+#: g10/card-util.c:2162
 msgid "verify the PIN and list all data"
 msgstr "ověř PIN a vypiš všechna data"
 
-#: g10/card-util.c:2162
+#: g10/card-util.c:2163
 msgid "unblock the PIN using a Reset Code"
 msgstr "odblokovat PIN pomocí resetačního kódu"
 
-#: g10/card-util.c:2163
+#: g10/card-util.c:2164
 msgid "destroy all keys and data"
 msgstr "zničit všechny klíče a data"
 
-#: g10/card-util.c:2164
+#: g10/card-util.c:2165
 msgid "setup KDF for PIN authentication"
 msgstr "nastavit KDF pro autentizaci kódem PIN"
 
-#: g10/card-util.c:2165
+#: g10/card-util.c:2166
 msgid "change the key attribute"
 msgstr "změnit atribut klíče"
 
-#: g10/card-util.c:2289
+#: g10/card-util.c:2290
 msgid "gpg/card> "
 msgstr "gpg/karta> "
 
-#: g10/card-util.c:2330
+#: g10/card-util.c:2331
 msgid "Admin-only command\n"
 msgstr "pouze příkazy správce\n"
 
-#: g10/card-util.c:2361
+#: g10/card-util.c:2362
 msgid "Admin commands are allowed\n"
 msgstr "příkazy správce jsou povoleny\n"
 
-#: g10/card-util.c:2363
+#: g10/card-util.c:2364
 msgid "Admin commands are not allowed\n"
 msgstr "příkazy správce nejsou povoleny\n"
 
-#: g10/card-util.c:2466 g10/keyedit.c:2228
+#: g10/card-util.c:2467 g10/keyedit.c:2229
 msgid "Invalid command  (try \"help\")\n"
 msgstr "Neplatný příkaz (zkuste „help“)\n"
 
@@ -2108,21 +2126,21 @@ msgstr "Neplatný příkaz (zkuste „help“)\n"
 msgid "--output doesn't work for this command\n"
 msgstr "--output pro tento příkaz není platný\n"
 
-#: g10/decrypt.c:247 g10/gpg.c:5083 g10/keyring.c:399 g10/keyring.c:750
+#: g10/decrypt.c:247 g10/gpg.c:5104 g10/keyring.c:399 g10/keyring.c:750
 #, c-format
 msgid "can't open '%s'\n"
 msgstr "„%s“ nelze otevřít\n"
 
 #: g10/delkey.c:83 g10/export.c:1947 g10/export.c:2230 g10/export.c:2351
-#: g10/getkey.c:1964 g10/gpg.c:5028 g10/keyedit.c:1444 g10/keyedit.c:2334
-#: g10/keyedit.c:2580 g10/keyedit.c:4543 g10/keylist.c:689 g10/keyserver.c:1259
+#: g10/getkey.c:2108 g10/gpg.c:5049 g10/keyedit.c:1445 g10/keyedit.c:2335
+#: g10/keyedit.c:2581 g10/keyedit.c:4544 g10/keylist.c:689 g10/keyserver.c:1092
 #: g10/revoke.c:230 g10/tofu.c:2165
 #, c-format
 msgid "key \"%s\" not found: %s\n"
 msgstr "klíč „%s“ nenalezen: %s\n"
 
-#: g10/delkey.c:92 g10/export.c:2015 g10/getkey.c:1972 g10/getkey.c:4346
-#: g10/gpg.c:5037 g10/keyedit.c:2307 g10/keyserver.c:1277 g10/revoke.c:236
+#: g10/delkey.c:92 g10/export.c:2015 g10/getkey.c:2116 g10/getkey.c:4517
+#: g10/gpg.c:5058 g10/keyedit.c:2308 g10/keyserver.c:1110 g10/revoke.c:236
 #: g10/revoke.c:663 g10/tofu.c:2173
 #, c-format
 msgid "error reading keyblock: %s\n"
@@ -2185,9 +2203,9 @@ msgstr "klíče"
 msgid "subkey"
 msgstr "podklíče"
 
-#: g10/delkey.c:299 g10/keyedit.c:2200 g10/keyedit.c:2210 g10/keyedit.c:2387
-#: g10/keyedit.c:2461 g10/keyedit.c:2532 g10/keyedit.c:2757 g10/keyedit.c:2987
-#: g10/keyedit.c:3056 g10/keyedit.c:3207
+#: g10/delkey.c:299 g10/keyedit.c:2201 g10/keyedit.c:2211 g10/keyedit.c:2388
+#: g10/keyedit.c:2462 g10/keyedit.c:2533 g10/keyedit.c:2758 g10/keyedit.c:2988
+#: g10/keyedit.c:3057 g10/keyedit.c:3208
 #, c-format
 msgid "update failed: %s\n"
 msgstr "aktualizace selhala: %s\n"
@@ -2213,7 +2231,7 @@ msgid "use option \"--delete-secret-keys\" to delete it first.\n"
 msgstr ""
 "abyste ho smazal(a), použijte nejprve parametr „--delete-secret-key“.\n"
 
-#: g10/encrypt.c:202 g10/sign.c:1471
+#: g10/encrypt.c:202 g10/sign.c:1470
 #, c-format
 msgid "error creating passphrase: %s\n"
 msgstr "chyba při vytváření hesla: %s\n"
@@ -2238,14 +2256,14 @@ msgstr "„%s“ je již zkomprimován\n"
 msgid "WARNING: '%s' is an empty file\n"
 msgstr "VAROVÁNÍ: soubor „%s“ je prázdný\n"
 
-#: g10/encrypt.c:387 g10/encrypt.c:610 g10/decrypt-data.c:260 g10/gpg.c:3901
-#: g10/gpg.c:3941 sm/decrypt.c:364 sm/encrypt.c:415 sm/gpgsm.c:1655
+#: g10/encrypt.c:387 g10/encrypt.c:610 g10/decrypt-data.c:260 g10/gpg.c:3922
+#: g10/gpg.c:3962 sm/decrypt.c:826 sm/encrypt.c:416 sm/gpgsm.c:1555
 #, c-format
 msgid "cipher algorithm '%s' may not be used in %s mode\n"
 msgstr "šifrovací algoritmus „%s“ se nesmí používat v režimu %s\n"
 
-#: g10/encrypt.c:396 g10/gpg.c:3907 g10/gpg.c:3953 g10/sig-check.c:146
-#: g10/sign.c:391 sm/gpgsm.c:1665 sm/gpgsm.c:1675 sm/sign.c:478 sm/verify.c:506
+#: g10/encrypt.c:396 g10/gpg.c:3928 g10/gpg.c:3974 g10/sig-check.c:146
+#: g10/sign.c:391 sm/gpgsm.c:1565 sm/gpgsm.c:1575 sm/sign.c:478 sm/verify.c:506
 #, c-format
 msgid "digest algorithm '%s' may not be used in %s mode\n"
 msgstr "hashovací algoritmus „%s“ se nesmí používat v režimu %s\n"
@@ -2262,12 +2280,12 @@ msgid ""
 msgstr ""
 "VAROVÁNÍ: vyžádaná symetrická šifra %s (%d) nevyhovuje předvolbám příjemce\n"
 
-#: g10/encrypt.c:640 sm/encrypt.c:490
+#: g10/encrypt.c:640 sm/encrypt.c:491
 #, c-format
 msgid "WARNING: key %s is not suitable for encryption in %s mode\n"
 msgstr "VAROVÁNÍ: klíč %s není vhodný pro šifrování v režimu %s\n"
 
-#: g10/encrypt.c:751 g10/sign.c:1163
+#: g10/encrypt.c:751 g10/sign.c:1162
 #, c-format
 msgid ""
 "WARNING: forcing compression algorithm %s (%d) violates recipient "
@@ -2296,12 +2314,12 @@ msgstr "volba „%s“ se nesmí používat v režimu %s\n"
 msgid "%s encrypted data\n"
 msgstr "%s zašifrovaná data\n"
 
-#: g10/decrypt-data.c:243 g10/mainproc.c:396
+#: g10/decrypt-data.c:243 g10/mainproc.c:397
 #, c-format
 msgid "encrypted with unknown algorithm %d\n"
 msgstr "zašifrováno neznámým algoritmem %d\n"
 
-#: g10/decrypt-data.c:357 g10/decrypt-data.c:410 sm/decrypt.c:130
+#: g10/decrypt-data.c:357 g10/decrypt-data.c:410 sm/decrypt.c:550
 #, c-format
 msgid ""
 "WARNING: message was encrypted with a weak key in the symmetric cipher.\n"
@@ -2317,7 +2335,7 @@ msgstr "problém se zašifrovaným paketem\n"
 msgid "no remote program execution supported\n"
 msgstr "spuštění externího programu není podporováno\n"
 
-#: g10/exec.c:381
+#: g10/exec.c:389
 #, c-format
 msgid ""
 "external program calls are disabled due to unsafe options file permissions\n"
@@ -2325,49 +2343,49 @@ msgstr ""
 "volání externích programů je zakázáno, protože file permissions nejsou\n"
 "nastaveny nebezpečně\n"
 
-#: g10/exec.c:411
+#: g10/exec.c:419
 #, c-format
 msgid "this platform requires temporary files when calling external programs\n"
 msgstr ""
 "na této platformě jsou při volání externích programů vyžadovány\n"
 "dočasné soubory (temp files)\n"
 
-#: g10/exec.c:489
+#: g10/exec.c:497
 #, c-format
 msgid "unable to execute program '%s': %s\n"
 msgstr "nelze spustit program „%s“: %s\n"
 
-#: g10/exec.c:492
+#: g10/exec.c:500
 #, c-format
 msgid "unable to execute shell '%s': %s\n"
 msgstr "nelze spustit shell „%s“: %s\n"
 
-#: g10/exec.c:583
+#: g10/exec.c:591
 #, c-format
 msgid "system error while calling external program: %s\n"
 msgstr "systémová chyba při volání externího programu: %s\n"
 
-#: g10/exec.c:594 g10/exec.c:661
+#: g10/exec.c:602 g10/exec.c:669
 #, c-format
 msgid "unnatural exit of external program\n"
 msgstr "neočekávaný konec externího programu\n"
 
-#: g10/exec.c:609
+#: g10/exec.c:617
 #, c-format
 msgid "unable to execute external program\n"
 msgstr "nelze spustit externí program\n"
 
-#: g10/exec.c:626
+#: g10/exec.c:634
 #, c-format
 msgid "unable to read external program response: %s\n"
 msgstr "nelze přečíst odpověď externího programu: %s\n"
 
-#: g10/exec.c:672 g10/exec.c:679
+#: g10/exec.c:680 g10/exec.c:687
 #, c-format
 msgid "WARNING: unable to remove tempfile (%s) '%s': %s\n"
 msgstr "VAROVÁNÍ: nelze smazat dočasný soubor (%s) „%s“: %s\n"
 
-#: g10/exec.c:684
+#: g10/exec.c:692
 #, c-format
 msgid "WARNING: unable to remove temp directory '%s': %s\n"
 msgstr "VAROVÁNÍ: nelze smazat dočasný adresář „%s“: %s\n"
@@ -2401,8 +2419,8 @@ msgid " - skipped"
 msgstr " – přeskočeno"
 
 # g10/import.c:766 g10/openfile.c:261#, c-format
-#: g10/export.c:1324 g10/import.c:2073 g10/openfile.c:200 g10/openfile.c:294
-#: g10/sign.c:1013 g10/sign.c:1327
+#: g10/export.c:1324 g10/import.c:2085 g10/openfile.c:200 g10/openfile.c:294
+#: g10/sign.c:1012 g10/sign.c:1326
 #, c-format
 msgid "writing to '%s'\n"
 msgstr "zapisuje se do „%s“\n"
@@ -2437,269 +2455,269 @@ msgstr "chyba při vytváření „%s“: %s\n"
 msgid "[User ID not found]"
 msgstr "[ID uživatele nenalezeno]"
 
-#: g10/getkey.c:1297
+#: g10/getkey.c:1441
 #, c-format
 msgid "automatically retrieved '%s' via %s\n"
 msgstr "„%s“ automaticky získáno přes %s\n"
 
-#: g10/getkey.c:1303
+#: g10/getkey.c:1447
 #, c-format
 msgid "error retrieving '%s' via %s: %s\n"
 msgstr "chyba při získávání „%s“ přes %s: %s\n"
 
-#: g10/getkey.c:1305
+#: g10/getkey.c:1449
 msgid "No fingerprint"
 msgstr "Chybí otisk"
 
-#: g10/getkey.c:1526
+#: g10/getkey.c:1670
 #, c-format
 msgid "checking for a fresh copy of an expired key via %s\n"
 msgstr "zjišťuje se nová kopie zastaralého klíče skrze %s\n"
 
-#: g10/getkey.c:1941 g10/revoke.c:655 g10/revoke.c:720
+#: g10/getkey.c:2085 g10/revoke.c:655 g10/revoke.c:720
 #, c-format
 msgid "secret key \"%s\" not found: %s\n"
 msgstr "tajný klíč „%s“ nenalezen: %s\n"
 
-#: g10/getkey.c:1944 g10/pkclist.c:988
+#: g10/getkey.c:2088 g10/pkclist.c:988
 #, c-format
 msgid "(check argument of option '%s')\n"
 msgstr "(zkontrolujte argument volby „%s“)\n"
 
-#: g10/getkey.c:2020
+#: g10/getkey.c:2164
 #, c-format
 msgid "Warning: not using '%s' as default key: %s\n"
 msgstr "Pozor: jako výchozí klíč se nepoužije „%s“: %s\n"
 
-#: g10/getkey.c:2028
+#: g10/getkey.c:2172
 #, c-format
 msgid "using \"%s\" as default secret key for signing\n"
 msgstr "jako výchozí tajný klíč pro podepisování se použije „%s“\n"
 
-#: g10/getkey.c:2035
+#: g10/getkey.c:2179
 #, c-format
 msgid "all values passed to '%s' ignored\n"
 msgstr "všechny hodnoty předány „%s“ se ignorují\n"
 
 # c-format
-#: g10/getkey.c:2880
+#: g10/getkey.c:3024
 #, c-format
 msgid "Invalid key %s made valid by --allow-non-selfsigned-uid\n"
 msgstr "Neplatný klíč %s změněn na platný pomocí --always-non-selfsigned-uid\n"
 
-#: g10/getkey.c:3730
+#: g10/getkey.c:3874
 #, c-format
 msgid "using subkey %s instead of primary key %s\n"
 msgstr "používám podklíč %s místo primárního klíče %s\n"
 
-#: g10/getkey.c:4275 g10/gpg.c:2107
+#: g10/getkey.c:4446 g10/gpg.c:2120
 #, c-format
 msgid "valid values for option '%s':\n"
 msgstr "platné hodnoty pro volbu „%s“:\n"
 
-#: g10/gpg.c:442 sm/gpgsm.c:206
+#: g10/gpg.c:439 sm/gpgsm.c:207
 msgid "make a signature"
 msgstr "vytvořit podpis"
 
-#: g10/gpg.c:443
+#: g10/gpg.c:440
 msgid "make a clear text signature"
 msgstr "vytvořit podpis v čitelném dokumentu"
 
-#: g10/gpg.c:445 sm/gpgsm.c:208
+#: g10/gpg.c:442 sm/gpgsm.c:209
 msgid "make a detached signature"
 msgstr "vytvořit podpis oddělený od dokumentu"
 
-#: g10/gpg.c:446 sm/gpgsm.c:209
+#: g10/gpg.c:443 sm/gpgsm.c:210
 msgid "encrypt data"
 msgstr "šifrovat data"
 
-#: g10/gpg.c:448
+#: g10/gpg.c:445
 msgid "encryption only with symmetric cipher"
 msgstr "šifrování pouze se symetrickou šifrou"
 
-#: g10/gpg.c:450 sm/gpgsm.c:211
+#: g10/gpg.c:447 sm/gpgsm.c:212
 msgid "decrypt data (default)"
 msgstr "dešifrovat data (implicitně)"
 
-#: g10/gpg.c:452 sm/gpgsm.c:212
+#: g10/gpg.c:449 sm/gpgsm.c:213
 msgid "verify a signature"
 msgstr "verifikovat podpis"
 
-#: g10/gpg.c:454 sm/gpgsm.c:213
+#: g10/gpg.c:451 sm/gpgsm.c:214
 msgid "list keys"
 msgstr "vypsat seznam klíčů"
 
-#: g10/gpg.c:456
+#: g10/gpg.c:453
 msgid "list keys and signatures"
 msgstr "vypsat seznam klíčů a podpisů"
 
-#: g10/gpg.c:459
+#: g10/gpg.c:456
 msgid "list and check key signatures"
 msgstr "vypsat a zkontrolovat podpisy klíčů"
 
-#: g10/gpg.c:461 sm/gpgsm.c:218
+#: g10/gpg.c:458 sm/gpgsm.c:219
 msgid "list keys and fingerprints"
 msgstr "vypsat seznam klíčů a otisků"
 
-#: g10/gpg.c:462 sm/gpgsm.c:216
+#: g10/gpg.c:459 sm/gpgsm.c:217
 msgid "list secret keys"
 msgstr "vypsat seznam tajných klíčů"
 
-#: g10/gpg.c:464 sm/gpgsm.c:219
+#: g10/gpg.c:461 sm/gpgsm.c:220
 msgid "generate a new key pair"
 msgstr "vytvořit nový pár klíčů"
 
-#: g10/gpg.c:467
+#: g10/gpg.c:464
 msgid "quickly generate a new key pair"
 msgstr "rychle vytvořit nový pár klíčů"
 
-#: g10/gpg.c:470
+#: g10/gpg.c:467
 msgid "quickly add a new user-id"
 msgstr "rychle přidat novou identitu uživatele"
 
-#: g10/gpg.c:475
+#: g10/gpg.c:472
 msgid "quickly revoke a user-id"
 msgstr "rychle odvolat identitu uživatele"
 
-#: g10/gpg.c:478
+#: g10/gpg.c:475
 msgid "quickly set a new expiration date"
 msgstr "rychle nastavit nové datum konce platnosti"
 
-#: g10/gpg.c:481
+#: g10/gpg.c:478
 msgid "full featured key pair generation"
 msgstr "komplexní vytvoření páru klíčů"
 
-#: g10/gpg.c:484
+#: g10/gpg.c:481
 msgid "generate a revocation certificate"
 msgstr "vytvořit revokační certifikát"
 
-#: g10/gpg.c:487 sm/gpgsm.c:222
+#: g10/gpg.c:484 sm/gpgsm.c:223
 msgid "remove keys from the public keyring"
 msgstr "odstranit klíč ze souboru veřejných klíčů"
 
-#: g10/gpg.c:489
+#: g10/gpg.c:486
 msgid "remove keys from the secret keyring"
 msgstr "odstranit klíč ze souboru tajných klíčů"
 
-#: g10/gpg.c:491
+#: g10/gpg.c:488
 msgid "quickly sign a key"
 msgstr "rychle podepsat klíč"
 
-#: g10/gpg.c:493
+#: g10/gpg.c:490
 msgid "quickly sign a key locally"
 msgstr "rychle lokálně podepsat klíč"
 
-#: g10/gpg.c:495
+#: g10/gpg.c:492
 #, fuzzy
 #| msgid "quickly revoke a user-id"
 msgid "quickly revoke a key signature"
 msgstr "rychle odvolat identitu uživatele"
 
-#: g10/gpg.c:496
+#: g10/gpg.c:493
 msgid "sign a key"
 msgstr "podepsat klíč"
 
-#: g10/gpg.c:497
+#: g10/gpg.c:494
 msgid "sign a key locally"
 msgstr "podepsat klíč lokálně"
 
-#: g10/gpg.c:498
+#: g10/gpg.c:495
 msgid "sign or edit a key"
 msgstr "podepsat nebo modifikovat klíč"
 
-#: g10/gpg.c:500 sm/gpgsm.c:240
+#: g10/gpg.c:497 sm/gpgsm.c:241
 msgid "change a passphrase"
 msgstr "změnit heslo"
 
-#: g10/gpg.c:504
+#: g10/gpg.c:501
 msgid "export keys"
 msgstr "exportovat klíče"
 
-#: g10/gpg.c:505
+#: g10/gpg.c:502
 msgid "export keys to a keyserver"
 msgstr "exportovat klíče na server klíčů"
 
-#: g10/gpg.c:506
+#: g10/gpg.c:503
 msgid "import keys from a keyserver"
 msgstr "importovat klíče ze serveru klíčů"
 
-#: g10/gpg.c:509
+#: g10/gpg.c:506
 msgid "search for keys on a keyserver"
 msgstr "vyhledat klíče na serveru klíčů"
 
-#: g10/gpg.c:511
+#: g10/gpg.c:508
 msgid "update all keys from a keyserver"
 msgstr "aktualizovat všechny klíče ze serveru klíčů"
 
-#: g10/gpg.c:519
+#: g10/gpg.c:516
 msgid "import/merge keys"
 msgstr "importovat/sloučit klíče"
 
-#: g10/gpg.c:522
+#: g10/gpg.c:519
 msgid "print the card status"
 msgstr "vytisknout stav karty"
 
-#: g10/gpg.c:523
+#: g10/gpg.c:520
 msgid "change data on a card"
 msgstr "změnit data na kartě"
 
-#: g10/gpg.c:525
+#: g10/gpg.c:522
 msgid "change a card's PIN"
 msgstr "změnit PIN karty"
 
-#: g10/gpg.c:537
+#: g10/gpg.c:534
 msgid "update the trust database"
 msgstr "aktualizovat databázi důvěry"
 
-#: g10/gpg.c:546
+#: g10/gpg.c:543
 msgid "print message digests"
 msgstr "vypsat hash zprávy"
 
-#: g10/gpg.c:549 sm/gpgsm.c:235
+#: g10/gpg.c:546 sm/gpgsm.c:236
 msgid "run in server mode"
 msgstr "pracovat v režimu serveru"
 
-#: g10/gpg.c:551
+#: g10/gpg.c:548
 msgid "|VALUE|set the TOFU policy for a key"
 msgstr "|HODNOTA|nastavit TOFU politiku klíči"
 
-#: g10/gpg.c:555 sm/gpgsm.c:254
+#: g10/gpg.c:552 sm/gpgsm.c:255
 msgid "create ascii armored output"
 msgstr "vytvořit výstup zapsaný v ASCII"
 
-#: g10/gpg.c:558 sm/gpgsm.c:271
+#: g10/gpg.c:555 sm/gpgsm.c:272
 msgid "|USER-ID|encrypt for USER-ID"
 msgstr "|ID_UŽIVATELE|šifrovat pro ID_UŽIVATELE"
 
-#: g10/gpg.c:574 sm/gpgsm.c:307
+#: g10/gpg.c:571 sm/gpgsm.c:308
 msgid "|USER-ID|use USER-ID to sign or decrypt"
 msgstr "|ID_UŽIVATELE|použít toto ID_UŽIVATELE pro podepsání nebo dešifrování"
 
-#: g10/gpg.c:580
+#: g10/gpg.c:577
 msgid "|N|set compress level to N (0 disables)"
 msgstr "|N|nastavit úroveň komprese na N (0 – žádná)"
 
-#: g10/gpg.c:587
+#: g10/gpg.c:584
 msgid "use canonical text mode"
 msgstr "použít kanonický textový režim"
 
-#: g10/gpg.c:604 g10/gpgv.c:82 sm/gpgsm.c:309
+#: g10/gpg.c:601 g10/gpgv.c:82 sm/gpgsm.c:310
 msgid "|FILE|write output to FILE"
 msgstr "|SOUBOR|zapsat výstup do SOUBORU"
 
-#: g10/gpg.c:614 kbx/kbxutil.c:90 sm/gpgsm.c:321 tools/gpgconf.c:110
+#: g10/gpg.c:611 kbx/kbxutil.c:90 sm/gpgsm.c:322 tools/gpgconf.c:110
 msgid "do not make any changes"
 msgstr "neprovádět žádné změny"
 
-#: g10/gpg.c:615
+#: g10/gpg.c:612
 msgid "prompt before overwriting"
 msgstr "vyžádat potvrzení před přepsáním"
 
-#: g10/gpg.c:665
+#: g10/gpg.c:662
 msgid "use strict OpenPGP behavior"
 msgstr "použít chování striktně podle OpenPGP"
 
-#: g10/gpg.c:692 sm/gpgsm.c:364
+#: g10/gpg.c:689 sm/gpgsm.c:367
 msgid ""
 "@\n"
 "(See the man page for a complete listing of all commands and options)\n"
@@ -2707,7 +2725,7 @@ msgstr ""
 "@\n"
 "(Pro úplný seznam všech příkazů a voleb nahlédněte do manuálové stránky.)\n"
 
-#: g10/gpg.c:695
+#: g10/gpg.c:692
 msgid ""
 "@\n"
 "Examples:\n"
@@ -2727,11 +2745,11 @@ msgstr ""
 " --list-keys [jména]        ukázat klíče\n"
 " --fingerprint [jména]      ukázat otisky\n"
 
-#: g10/gpg.c:1092
+#: g10/gpg.c:1096
 msgid "Usage: @GPG@ [options] [files] (-h for help)"
 msgstr "Použití: @GPG@ [možnosti] [soubory] (-h pro nápovědu)"
 
-#: g10/gpg.c:1095
+#: g10/gpg.c:1099
 msgid ""
 "Syntax: @GPG@ [options] [files]\n"
 "Sign, check, encrypt or decrypt\n"
@@ -2741,7 +2759,7 @@ msgstr ""
 "Podepisuje, ověřuje, šifruje nebo dešifruje.\n"
 "Výchozí operace závisí na vstupních datech.\n"
 
-#: g10/gpg.c:1106 sm/gpgsm.c:591
+#: g10/gpg.c:1110 sm/gpgsm.c:594
 msgid ""
 "\n"
 "Supported algorithms:\n"
@@ -2749,79 +2767,79 @@ msgstr ""
 "\n"
 "Podporované algoritmy:\n"
 
-#: g10/gpg.c:1109
+#: g10/gpg.c:1113
 msgid "Pubkey: "
 msgstr "Veřejný klíč: "
 
-#: g10/gpg.c:1116 g10/keyedit.c:3281
+#: g10/gpg.c:1120 g10/keyedit.c:3282
 msgid "Cipher: "
 msgstr "Šifra: "
 
-#: g10/gpg.c:1123
+#: g10/gpg.c:1127
 msgid "Hash: "
 msgstr "Hash: "
 
-#: g10/gpg.c:1130 g10/keyedit.c:3347
+#: g10/gpg.c:1134 g10/keyedit.c:3348
 msgid "Compression: "
 msgstr "Komprese: "
 
-#: g10/gpg.c:1199 sm/gpgsm.c:665
+#: g10/gpg.c:1207 sm/gpgsm.c:668
 #, c-format
 msgid "usage: %s [options] %s\n"
 msgstr "použití: %s [přepínače] %s\n"
 
-#: g10/gpg.c:1388 sm/gpgsm.c:754
+#: g10/gpg.c:1396 sm/gpgsm.c:761
 #, c-format
 msgid "conflicting commands\n"
 msgstr "konfliktní příkazy\n"
 
-#: g10/gpg.c:1406
+#: g10/gpg.c:1414
 #, c-format
 msgid "no = sign found in group definition '%s'\n"
 msgstr "no = podpis nalezen v definici skupiny „%s“\n"
 
-#: g10/gpg.c:1604
+#: g10/gpg.c:1612
 #, c-format
 msgid "WARNING: unsafe ownership on homedir '%s'\n"
 msgstr ""
 "VAROVÁNÍ: vlastnictví domovského adresáře „%s“ není nastaveno bezpečně\n"
 
-#: g10/gpg.c:1607
+#: g10/gpg.c:1615
 #, c-format
 msgid "WARNING: unsafe ownership on configuration file '%s'\n"
 msgstr ""
 "VAROVÁNÍ: vlastnictví konfiguračního souboru „%s“ není nastaveno bezpečně\n"
 
-#: g10/gpg.c:1610
+#: g10/gpg.c:1618
 #, c-format
 msgid "WARNING: unsafe ownership on extension '%s'\n"
 msgstr ""
 "VAROVÁNÍ: vlastnictví rozšiřujícího modulu „%s“ není nastaveno bezpečně\n"
 
-#: g10/gpg.c:1616
+#: g10/gpg.c:1624
 #, c-format
 msgid "WARNING: unsafe permissions on homedir '%s'\n"
 msgstr "VAROVÁNÍ: přístupová práva pro domovský adresář „%s“ nejsou bezpečná\n"
 
-#: g10/gpg.c:1619
+#: g10/gpg.c:1627
 #, c-format
 msgid "WARNING: unsafe permissions on configuration file '%s'\n"
 msgstr ""
 "VAROVÁNÍ: přístupová práva pro konfigurační soubor „%s“ nejsou bezpečná\n"
 
-#: g10/gpg.c:1622
+#: g10/gpg.c:1630
 #, c-format
 msgid "WARNING: unsafe permissions on extension '%s'\n"
 msgstr "VAROVÁNÍ: přístupová práva rozšiřujícímu modulu „%s“ nejsou bezpečná\n"
 
-#: g10/gpg.c:1628
+#: g10/gpg.c:1636
 #, c-format
 msgid "WARNING: unsafe enclosing directory ownership on homedir '%s'\n"
 msgstr ""
 "VAROVÁNÍ: vlastnictví adresáře s domovským adresářem „%s“ není nastaveno "
 "nebezpečně\n"
 
-#: g10/gpg.c:1631
+#: g10/gpg.c:1639
 #, c-format
 msgid ""
 "WARNING: unsafe enclosing directory ownership on configuration file '%s'\n"
@@ -2829,21 +2847,21 @@ msgstr ""
 "VAROVÁNÍ: vlastnictví adresáře „%s“ s konfiguračním souborem není nastaveno "
 "nebezpečně\n"
 
-#: g10/gpg.c:1634
+#: g10/gpg.c:1642
 #, c-format
 msgid "WARNING: unsafe enclosing directory ownership on extension '%s'\n"
 msgstr ""
 "VAROVÁNÍ: vlastnictví adresáře „%s“ s rozšiřujícím modulem není nastaveno "
 "nebezpečně\n"
 
-#: g10/gpg.c:1640
+#: g10/gpg.c:1648
 #, c-format
 msgid "WARNING: unsafe enclosing directory permissions on homedir '%s'\n"
 msgstr ""
 "VAROVÁNÍ: přístupová práva k adresáři „%s“ s domovským adresářem nejsou "
 "nastavena bezpečně\n"
 
-#: g10/gpg.c:1643
+#: g10/gpg.c:1651
 #, c-format
 msgid ""
 "WARNING: unsafe enclosing directory permissions on configuration file '%s'\n"
@@ -2851,7 +2869,7 @@ msgstr ""
 "VAROVÁNÍ: přístupová práva k adresáři „%s“ s konfiguračním souborem nejsou "
 "nastavena bezpečně\n"
 
-#: g10/gpg.c:1646
+#: g10/gpg.c:1654
 #, c-format
 msgid "WARNING: unsafe enclosing directory permissions on extension '%s'\n"
 msgstr ""
@@ -2859,444 +2877,444 @@ msgstr ""
 "nastavena bezpečně\n"
 
 # c-format
-#: g10/gpg.c:1862
+#: g10/gpg.c:1870
 #, c-format
 msgid "unknown configuration item '%s'\n"
 msgstr "neznámá konfigurační položka „%s“\n"
 
-#: g10/gpg.c:1979
+#: g10/gpg.c:1992
 msgid "display photo IDs during key listings"
 msgstr "zobrazovat ID fotografií během výpisu klíčů"
 
-#: g10/gpg.c:1981
+#: g10/gpg.c:1994
 msgid "show key usage information during key listings"
 msgstr "ukazovat údaje o účelu klíče při výpisu klíčů"
 
-#: g10/gpg.c:1983
+#: g10/gpg.c:1996
 msgid "show policy URLs during signature listings"
 msgstr "ukazovat URL politik během výpisu podpisů"
 
-#: g10/gpg.c:1985
+#: g10/gpg.c:1998
 msgid "show all notations during signature listings"
 msgstr "ukazovat všechny poznámky během výpisu podpisů"
 
-#: g10/gpg.c:1987
+#: g10/gpg.c:2000
 msgid "show IETF standard notations during signature listings"
 msgstr "ukazovat poznámky IETF standardu během vypisování podpisů"
 
-#: g10/gpg.c:1991
+#: g10/gpg.c:2004
 msgid "show user-supplied notations during signature listings"
 msgstr "ukazovat uživatelské poznámky během výpisu podpisů"
 
-#: g10/gpg.c:1993
+#: g10/gpg.c:2006
 msgid "show preferred keyserver URLs during signature listings"
 msgstr "ukazovat URL upřednostňovaného serveru klíčů při výpisu podpisů"
 
-#: g10/gpg.c:1995
+#: g10/gpg.c:2008
 msgid "show user ID validity during key listings"
 msgstr "ukazovat platnost ID uživatelů při výpisu klíčů"
 
-#: g10/gpg.c:1997
+#: g10/gpg.c:2010
 msgid "show revoked and expired user IDs in key listings"
 msgstr "ukazovat odvolané a prošlé ID uživatelů při výpisu klíčů"
 
-#: g10/gpg.c:1999
+#: g10/gpg.c:2012
 msgid "show revoked and expired subkeys in key listings"
 msgstr "ukazovat odvolané a prošlé podklíče při výpisu klíčů"
 
-#: g10/gpg.c:2001
+#: g10/gpg.c:2014
 msgid "show the keyring name in key listings"
 msgstr "ukazovat název souboru s klíči při výpisu klíčů"
 
-#: g10/gpg.c:2003
+#: g10/gpg.c:2016
 msgid "show expiration dates during signature listings"
 msgstr "ukazovat data expirace během výpisu podpisů"
 
-#: g10/gpg.c:2118
+#: g10/gpg.c:2131
 #, c-format
 msgid "unknown TOFU policy '%s'\n"
 msgstr "neznámá TOFU politika „%s“\n"
 
-#: g10/gpg.c:2120
+#: g10/gpg.c:2133
 #, c-format
 msgid "(use \"help\" to list choices)\n"
 msgstr "(možnosti lze vypsat příkazem „help“)\n"
 
-#: g10/gpg.c:2840 g10/gpg.c:3671 g10/gpg.c:3683
+#: g10/gpg.c:2856 g10/gpg.c:3691 g10/gpg.c:3703
 #, c-format
 msgid "Note: %s is not for normal use!\n"
 msgstr "Poznámka: %s není pro normální použití!\n"
 
-#: g10/gpg.c:3017 g10/gpg.c:3029
+#: g10/gpg.c:3033 g10/gpg.c:3045
 #, c-format
 msgid "'%s' is not a valid signature expiration\n"
 msgstr "„%s“ není platná doba expirace podpisu\n"
 
-#: g10/gpg.c:3051
+#: g10/gpg.c:3067
 #, c-format
 msgid "\"%s\" is not a proper mail address\n"
 msgstr "„%s“ není správná e-mailová adresa\n"
 
-#: g10/gpg.c:3083 sm/gpgsm.c:1177
+#: g10/gpg.c:3099 sm/gpgsm.c:1091
 #, c-format
 msgid "invalid pinentry mode '%s'\n"
 msgstr "neplatný režim pinentry „%s“\n"
 
-#: g10/gpg.c:3089 sm/gpgsm.c:1183
+#: g10/gpg.c:3105 sm/gpgsm.c:1097
 #, c-format
 msgid "invalid request origin '%s'\n"
 msgstr "neplatný původ požadavku „%s“\n"
 
-#: g10/gpg.c:3143
+#: g10/gpg.c:3159
 #, c-format
 msgid "'%s' is not a valid character set\n"
 msgstr "„%s“ není platná znaková sada\n"
 
-#: g10/gpg.c:3165 g10/gpg.c:3375 g10/keyedit.c:5281
+#: g10/gpg.c:3181 g10/gpg.c:3395 g10/keyedit.c:5282
 #, c-format
 msgid "could not parse keyserver URL\n"
 msgstr "nelze zpracovat URL serveru klíčů\n"
 
-#: g10/gpg.c:3183
+#: g10/gpg.c:3199
 #, c-format
 msgid "%s:%d: invalid keyserver options\n"
 msgstr "%s:%d: neplatný parametr pro server klíčů\n"
 
-#: g10/gpg.c:3186
+#: g10/gpg.c:3202
 #, c-format
 msgid "invalid keyserver options\n"
 msgstr "neplatný parametr pro server klíčů\n"
 
-#: g10/gpg.c:3193
+#: g10/gpg.c:3209
 #, c-format
 msgid "%s:%d: invalid import options\n"
 msgstr "%s:%d: neplatný parametr pro import\n"
 
-#: g10/gpg.c:3196
+#: g10/gpg.c:3212
 #, c-format
 msgid "invalid import options\n"
 msgstr "neplatný parametr pro import\n"
 
-#: g10/gpg.c:3202 g10/gpg.c:3217
+#: g10/gpg.c:3218 g10/gpg.c:3233
 #, c-format
 msgid "invalid filter option: %s\n"
 msgstr "neplatná volba filtru: %s\n"
 
-#: g10/gpg.c:3208
+#: g10/gpg.c:3224
 #, c-format
 msgid "%s:%d: invalid export options\n"
 msgstr "%s:%d: neplatný parametr pro export\n"
 
-#: g10/gpg.c:3211
+#: g10/gpg.c:3227
 #, c-format
 msgid "invalid export options\n"
 msgstr "neplatný parametr pro export\n"
 
-#: g10/gpg.c:3223
+#: g10/gpg.c:3239
 #, c-format
 msgid "%s:%d: invalid list options\n"
 msgstr "%s:%d: neplatný parametr pro výpis\n"
 
-#: g10/gpg.c:3226
+#: g10/gpg.c:3242
 #, c-format
 msgid "invalid list options\n"
 msgstr "neplatný parametr pro výpis\n"
 
-#: g10/gpg.c:3234
+#: g10/gpg.c:3250
 msgid "display photo IDs during signature verification"
 msgstr "zobrazovat ID fotografií při ověřování podpisu"
 
-#: g10/gpg.c:3236
+#: g10/gpg.c:3252
 msgid "show policy URLs during signature verification"
 msgstr "ukazovat URL politik při ověřování podpisu"
 
-#: g10/gpg.c:3238
+#: g10/gpg.c:3254
 msgid "show all notations during signature verification"
 msgstr "ukazovat všechny poznámky při ověřování podpisu"
 
-#: g10/gpg.c:3240
+#: g10/gpg.c:3256
 msgid "show IETF standard notations during signature verification"
 msgstr "ukazovat poznámky IETF standardu při ověřování podpisu"
 
-#: g10/gpg.c:3244
+#: g10/gpg.c:3260
 msgid "show user-supplied notations during signature verification"
 msgstr "ukazovat uživatelské poznámky při ověřování podpisu"
 
-#: g10/gpg.c:3246
+#: g10/gpg.c:3262
 msgid "show preferred keyserver URLs during signature verification"
 msgstr "ukazovat URL upřednostňovaného serveru klíčů při ověřování podpisu"
 
-#: g10/gpg.c:3248
+#: g10/gpg.c:3264
 msgid "show user ID validity during signature verification"
 msgstr "ukazovat platnost ID uživatele při ověřování podpisu"
 
-#: g10/gpg.c:3250
+#: g10/gpg.c:3266
 msgid "show revoked and expired user IDs in signature verification"
 msgstr "ukazovat odvolané a prošlé ID uživatelů při ověřování podpisů"
 
-#: g10/gpg.c:3252
+#: g10/gpg.c:3268
 msgid "show only the primary user ID in signature verification"
 msgstr "ukazovat jen primární ID uživatele při ověřování podpisu"
 
-#: g10/gpg.c:3254
+#: g10/gpg.c:3270
 msgid "validate signatures with PKA data"
 msgstr "ověřovat podpisy s daty PKA"
 
-#: g10/gpg.c:3256
+#: g10/gpg.c:3272
 msgid "elevate the trust of signatures with valid PKA data"
 msgstr "vyzvednout důvěru podpisů s platnými daty PKA"
 
-#: g10/gpg.c:3263
+#: g10/gpg.c:3279
 #, c-format
 msgid "%s:%d: invalid verify options\n"
 msgstr "%s:%d: neplatný parametr pro ověření\n"
 
-#: g10/gpg.c:3266
+#: g10/gpg.c:3282
 #, c-format
 msgid "invalid verify options\n"
 msgstr "neplatný parametr pro ověření\n"
 
-#: g10/gpg.c:3273
+#: g10/gpg.c:3289
 #, c-format
 msgid "unable to set exec-path to %s\n"
 msgstr "nelze nastavit exec-path na %s\n"
 
-#: g10/gpg.c:3478
+#: g10/gpg.c:3498
 #, c-format
 msgid "%s:%d: invalid auto-key-locate list\n"
 msgstr "%s:%d: neplatný seznam auto-key-locate\n"
 
-#: g10/gpg.c:3481
+#: g10/gpg.c:3501
 #, c-format
 msgid "invalid auto-key-locate list\n"
 msgstr "neplatný seznam auto-key-locate\n"
 
-#: g10/gpg.c:3653 sm/gpgsm.c:1541
+#: g10/gpg.c:3673 sm/gpgsm.c:1441
 #, c-format
 msgid "WARNING: program may create a core file!\n"
 msgstr "VAROVÁNÍ: program může vytvořit soubor core!\n"
 
-#: g10/gpg.c:3664
+#: g10/gpg.c:3684
 #, c-format
 msgid "WARNING: %s overrides %s\n"
 msgstr "VAROVÁNÍ: %s přepíše %s\n"
 
-#: g10/gpg.c:3673
+#: g10/gpg.c:3693
 #, c-format
 msgid "%s not allowed with %s!\n"
 msgstr "Není dovoleno používat %s s %s!\n"
 
-#: g10/gpg.c:3676
+#: g10/gpg.c:3696
 #, c-format
 msgid "%s makes no sense with %s!\n"
 msgstr "%s nedává s %s smysl!\n"
 
-#: g10/gpg.c:3691 sm/gpgsm.c:1558 dirmngr/dirmngr.c:1082
+#: g10/gpg.c:3711 sm/gpgsm.c:1458 dirmngr/dirmngr.c:1117
 #, c-format
 msgid "WARNING: running with faked system time: "
 msgstr "VAROVÁNÍ: pracuji s podvrženým systémovým časem: "
 
-#: g10/gpg.c:3712
+#: g10/gpg.c:3732
 #, c-format
 msgid "will not run with insecure memory due to %s\n"
 msgstr "nelze spustit s nebezpečnou pamětí vzhledem k %s\n"
 
-#: g10/gpg.c:3747 g10/gpg.c:3771 sm/gpgsm.c:1625
+#: g10/gpg.c:3767 g10/gpg.c:3791 sm/gpgsm.c:1525
 #, c-format
 msgid "selected cipher algorithm is invalid\n"
 msgstr "vybraný šifrovací algoritmus je neplatný\n"
 
-#: g10/gpg.c:3759
+#: g10/gpg.c:3779
 #, c-format
 msgid "selected compression algorithm is invalid\n"
 msgstr "vybraný kompresní algoritmus je neplatný\n"
 
-#: g10/gpg.c:3765
+#: g10/gpg.c:3785
 #, c-format
 msgid "selected certification digest algorithm is invalid\n"
 msgstr "vybraný hashovací algoritmus je neplatný\n"
 
-#: g10/gpg.c:3780
+#: g10/gpg.c:3800
 #, c-format
 msgid "completes-needed must be greater than 0\n"
 msgstr "položka completes-needed musí být větší než 0\n"
 
-#: g10/gpg.c:3782
+#: g10/gpg.c:3802
 #, c-format
 msgid "marginals-needed must be greater than 1\n"
 msgstr "položka marginals-needed musí být větší než 1\n"
 
-#: g10/gpg.c:3784
+#: g10/gpg.c:3804
 #, c-format
 msgid "max-cert-depth must be in the range from 1 to 255\n"
 msgstr "položka max-cert-depth musí být v rozmezí od 1 do 255\n"
 
-#: g10/gpg.c:3786
+#: g10/gpg.c:3806
 #, c-format
 msgid "invalid default-cert-level; must be 0, 1, 2, or 3\n"
 msgstr ""
 "neplatná implicitní úroveň certifikace (default-cert-level); musí být 0, 1, "
 "2 nebo 3\n"
 
-#: g10/gpg.c:3788
+#: g10/gpg.c:3808
 #, c-format
 msgid "invalid min-cert-level; must be 1, 2, or 3\n"
 msgstr ""
 "neplatná minimální úroveň certifikace (min-cert-level); musí být 0, 1, 2 "
 "nebo 3\n"
 
-#: g10/gpg.c:3791
+#: g10/gpg.c:3812
 #, c-format
 msgid "Note: simple S2K mode (0) is strongly discouraged\n"
 msgstr "Poznámka: jednoduchý režim S2K (0) je důrazně nedoporučován\n"
 
-#: g10/gpg.c:3795
+#: g10/gpg.c:3816
 #, c-format
 msgid "invalid S2K mode; must be 0, 1 or 3\n"
 msgstr "neplatný režim S2K; musí být 0, 1 nebo 3\n"
 
-#: g10/gpg.c:3802
+#: g10/gpg.c:3823
 #, c-format
 msgid "invalid default preferences\n"
 msgstr "neplatné implicitní předvolby\n"
 
-#: g10/gpg.c:3806
+#: g10/gpg.c:3827
 #, c-format
 msgid "invalid personal cipher preferences\n"
 msgstr "neplatné uživatelské předvolby pro šifrování\n"
 
-#: g10/gpg.c:3810
+#: g10/gpg.c:3831
 #, c-format
 msgid "invalid personal digest preferences\n"
 msgstr "neplatné uživatelské předvolby pro hashování\n"
 
-#: g10/gpg.c:3814
+#: g10/gpg.c:3835
 #, c-format
 msgid "invalid personal compress preferences\n"
 msgstr "neplatné uživatelské předvolby pro komprimaci\n"
 
-#: g10/gpg.c:3850
+#: g10/gpg.c:3871
 #, c-format
 msgid "%s does not yet work with %s\n"
 msgstr "%s dosud není funkční s %s\n"
 
-#: g10/gpg.c:3913
+#: g10/gpg.c:3934
 #, c-format
 msgid "compression algorithm '%s' may not be used in %s mode\n"
 msgstr "kompresní algoritmus „%s“ se nesmí používat v režimu %s\n"
 
-#: g10/gpg.c:4057
+#: g10/gpg.c:4078
 #, c-format
 msgid "failed to initialize the TrustDB: %s\n"
 msgstr "nemohu inicializovat databázi důvěry: %s\n"
 
-#: g10/gpg.c:4069
+#: g10/gpg.c:4090
 #, c-format
 msgid "WARNING: recipients (-r) given without using public key encryption\n"
 msgstr ""
 "VAROVÁNÍ: specifikován adresát (-r) bez použití šifrování s veřejným klíčem\n"
 
-#: g10/gpg.c:4141
+#: g10/gpg.c:4162
 #, c-format
 msgid "symmetric encryption of '%s' failed: %s\n"
 msgstr "symetrické šifrování „%s“ se nepovedlo: %s\n"
 
-#: g10/gpg.c:4170
+#: g10/gpg.c:4191
 #, c-format
 msgid "you cannot use --symmetric --encrypt with --s2k-mode 0\n"
 msgstr "nelze použít --symmetric --encrypt s příkazem --s2k-mode 0\n"
 
-#: g10/gpg.c:4173
+#: g10/gpg.c:4194
 #, c-format
 msgid "you cannot use --symmetric --encrypt in %s mode\n"
 msgstr "nelze použít --symmetric --encrypt v režimu %s\n"
 
-#: g10/gpg.c:4231
+#: g10/gpg.c:4252
 #, c-format
 msgid "you cannot use --symmetric --sign --encrypt with --s2k-mode 0\n"
 msgstr "nelze použít --symmetric --sign --encrypt s příkazem --s2k-mode 0\n"
 
-#: g10/gpg.c:4234
+#: g10/gpg.c:4255
 #, c-format
 msgid "you cannot use --symmetric --sign --encrypt in %s mode\n"
 msgstr "nelze použít --symmetric --sign --encrypt v režimu %s\n"
 
-#: g10/gpg.c:4622 g10/keyserver.c:1881
+#: g10/gpg.c:4643 g10/keyserver.c:1648
 #, c-format
 msgid "keyserver send failed: %s\n"
 msgstr "odeslání na keyserver se nezdařilo: %s\n"
 
-#: g10/gpg.c:4627
+#: g10/gpg.c:4648
 #, c-format
 msgid "keyserver receive failed: %s\n"
 msgstr "získání dat z serveru klíčů se nezdařilo: %s\n"
 
-#: g10/gpg.c:4633
+#: g10/gpg.c:4654
 #, c-format
 msgid "key export failed: %s\n"
 msgstr "export klíče se nepodařil: %s\n"
 
-#: g10/gpg.c:4646
+#: g10/gpg.c:4667
 #, c-format
 msgid "export as ssh key failed: %s\n"
 msgstr "export jako SSH klíč se nepodařil: %s\n"
 
-#: g10/gpg.c:4658
+#: g10/gpg.c:4679
 #, c-format
 msgid "keyserver search failed: %s\n"
 msgstr "hledání na serveru klíčů se nezdařilo: %s\n"
 
-#: g10/gpg.c:4671
+#: g10/gpg.c:4692
 #, c-format
 msgid "keyserver refresh failed: %s\n"
 msgstr "obnovení dat na serveru klíčů se nezdařilo: %s\n"
 
-#: g10/gpg.c:4738
+#: g10/gpg.c:4759
 #, c-format
 msgid "dearmoring failed: %s\n"
 msgstr "dekódování z ASCII formátu selhalo: %s\n"
 
-#: g10/gpg.c:4749
+#: g10/gpg.c:4770
 #, c-format
 msgid "enarmoring failed: %s\n"
 msgstr "kódování do ASCII formátu selhalo: %s\n"
 
-#: g10/gpg.c:4841
+#: g10/gpg.c:4862
 #, c-format
 msgid "invalid hash algorithm '%s'\n"
 msgstr "neplatný hashovací algoritmus „%s“\n"
 
-#: g10/gpg.c:4993 g10/tofu.c:2153
+#: g10/gpg.c:5014 g10/tofu.c:2153
 #, c-format
 msgid "error parsing key specification '%s': %s\n"
 msgstr "chyba při rozboru názvu klíče „%s“: %s\n"
 
-#: g10/gpg.c:5006
+#: g10/gpg.c:5027
 #, c-format
 msgid "'%s' does not appear to be a valid key ID, fingerprint or keygrip\n"
 msgstr "„%s“ nevypadá jako platné ID klíče, otisk klíče nebo keygrip\n"
 
-#: g10/gpg.c:5062
+#: g10/gpg.c:5083
 #, c-format
 msgid "WARNING: no command supplied.  Trying to guess what you mean ...\n"
 msgstr "POZOR: nezadán žádný příkaz. Váš záměr bude odhadnut…\n"
 
-#: g10/gpg.c:5073
+#: g10/gpg.c:5094
 #, c-format
 msgid "Go ahead and type your message ...\n"
 msgstr "Začněte psát svou zprávu…\n"
 
-#: g10/gpg.c:5418
+#: g10/gpg.c:5439
 #, c-format
 msgid "the given certification policy URL is invalid\n"
 msgstr "zadané URL pro certifikační politiku je neplatné\n"
 
-#: g10/gpg.c:5420
+#: g10/gpg.c:5441
 #, c-format
 msgid "the given signature policy URL is invalid\n"
 msgstr "zadané URL pro podepisovací politiku je neplatné\n"
 
-#: g10/gpg.c:5453
+#: g10/gpg.c:5474
 #, c-format
 msgid "the given preferred keyserver URL is invalid\n"
 msgstr "zadané URL preferovaného serveru klíčů je neplatné\n"
@@ -3309,7 +3327,7 @@ msgstr "|SOUBOR|brát klíče z klíčenky (keyringu) SOUBOR"
 msgid "make timestamp conflicts only a warning"
 msgstr "pouze varování při konfliktu časového razítka"
 
-#: g10/gpgv.c:86 sm/gpgsm.c:354 tools/gpgconf.c:112
+#: g10/gpgv.c:86 sm/gpgsm.c:357 tools/gpgconf.c:112
 msgid "|FD|write status info to this FD"
 msgstr "|FD|zapsat informace o stavu do tohoto FD"
 
@@ -3386,97 +3404,97 @@ msgstr "předpokládat vstup ve formátu zálohy klíčů GnuPG"
 msgid "repair keys on import"
 msgstr "při importu opravit klíče"
 
-#: g10/import.c:380 g10/import.c:699
+#: g10/import.c:392 g10/import.c:711
 #, c-format
 msgid "skipping block of type %d\n"
 msgstr "blok typu %d byl přeskočen\n"
 
-#: g10/import.c:716
+#: g10/import.c:728
 #, c-format
 msgid "%lu keys processed so far\n"
 msgstr "%lu klíče byly doposud zpracovány\n"
 
-#: g10/import.c:802
+#: g10/import.c:814
 #, c-format
 msgid "Total number processed: %lu\n"
 msgstr "Celkový počet zpracovaných klíčů: %lu\n"
 
-#: g10/import.c:805
+#: g10/import.c:817
 #, c-format
 msgid "    skipped PGP-2 keys: %lu\n"
 msgstr "           přeskočeny klíče PGP2: %lu\n"
 
-#: g10/import.c:807
+#: g10/import.c:819
 #, c-format
 msgid "      skipped new keys: %lu\n"
 msgstr "           přeskočeny nové klíče: %lu\n"
 
-#: g10/import.c:810
+#: g10/import.c:822
 #, c-format
 msgid "          w/o user IDs: %lu\n"
 msgstr "                bez ID uživatele: %lu\n"
 
-#: g10/import.c:813 sm/import.c:130
+#: g10/import.c:825 sm/import.c:130
 #, c-format
 msgid "              imported: %lu"
 msgstr "                     importováno: %lu"
 
-#: g10/import.c:817 sm/import.c:134
+#: g10/import.c:829 sm/import.c:134
 #, c-format
 msgid "             unchanged: %lu\n"
 msgstr "                       beze změn: %lu\n"
 
-#: g10/import.c:819
+#: g10/import.c:831
 #, c-format
 msgid "          new user IDs: %lu\n"
 msgstr "               nová ID uživatelů: %lu\n"
 
-#: g10/import.c:821
+#: g10/import.c:833
 #, c-format
 msgid "           new subkeys: %lu\n"
 msgstr "                   nové podklíče: %lu\n"
 
-#: g10/import.c:823
+#: g10/import.c:835
 #, c-format
 msgid "        new signatures: %lu\n"
 msgstr "                    nové podpisy: %lu\n"
 
-#: g10/import.c:825
+#: g10/import.c:837
 #, c-format
 msgid "   new key revocations: %lu\n"
 msgstr "             nové revokace klíčů: %lu\n"
 
-#: g10/import.c:827 sm/import.c:136
+#: g10/import.c:839 sm/import.c:136
 #, c-format
 msgid "      secret keys read: %lu\n"
 msgstr "            přečtené tajné klíče: %lu\n"
 
-#: g10/import.c:829 sm/import.c:138
+#: g10/import.c:841 sm/import.c:138
 #, c-format
 msgid "  secret keys imported: %lu\n"
 msgstr "         importované tajné klíče: %lu\n"
 
-#: g10/import.c:831 sm/import.c:140
+#: g10/import.c:843 sm/import.c:140
 #, c-format
 msgid " secret keys unchanged: %lu\n"
 msgstr "           tajné klíče nezměněny: %lu\n"
 
-#: g10/import.c:833 sm/import.c:142
+#: g10/import.c:845 sm/import.c:142
 #, c-format
 msgid "          not imported: %lu\n"
 msgstr "                   neimportováno: %lu\n"
 
-#: g10/import.c:835
+#: g10/import.c:847
 #, c-format
 msgid "    signatures cleaned: %lu\n"
 msgstr "              odstraněné podpisy: %lu\n"
 
-#: g10/import.c:837
+#: g10/import.c:849
 #, c-format
 msgid "      user IDs cleaned: %lu\n"
 msgstr "       odstraněné uživatelské ID: %lu\n"
 
-#: g10/import.c:1264
+#: g10/import.c:1276
 #, c-format
 msgid ""
 "WARNING: key %s contains preferences for unavailable\n"
@@ -3485,168 +3503,168 @@ msgstr ""
 "VAROVÁNÍ: klíč %s obsahuje předvolby pro nedostupné\n"
 "algoritmy na těchto ID uživatelů:\n"
 
-#: g10/import.c:1306
+#: g10/import.c:1318
 #, c-format
 msgid "         \"%s\": preference for cipher algorithm %s\n"
 msgstr "         \"%s\": předvolby pro šifrovací algoritmus %s\n"
 
-#: g10/import.c:1321
+#: g10/import.c:1333
 #, c-format
 msgid "         \"%s\": preference for digest algorithm %s\n"
 msgstr "         \"%s\": předvolby pro podepisovací algoritmus %s\n"
 
-#: g10/import.c:1333
+#: g10/import.c:1345
 #, c-format
 msgid "         \"%s\": preference for compression algorithm %s\n"
 msgstr "         \"%s\": předvolby pro komprimační algoritmus %s\n"
 
-#: g10/import.c:1346
+#: g10/import.c:1358
 #, c-format
 msgid "it is strongly suggested that you update your preferences and\n"
 msgstr "velmi doporučujeme aktualizaci nastavení vašich preferencí a\n"
 
-#: g10/import.c:1348
+#: g10/import.c:1360
 #, c-format
 msgid "re-distribute this key to avoid potential algorithm mismatch problems\n"
 msgstr ""
 "distribuci tohoto klíče aby jste předešel problémům s neshodou algoritmů\n"
 
-#: g10/import.c:1373
+#: g10/import.c:1385
 #, c-format
 msgid "you can update your preferences with: gpg --edit-key %s updpref save\n"
 msgstr "nelze aktualizovat předvolby s: gpg --edit-key %s updpref save\n"
 
-#: g10/import.c:1887 g10/import.c:3001
+#: g10/import.c:1899 g10/import.c:3013
 #, c-format
 msgid "key %s: no user ID\n"
 msgstr "klíč %s: chybí identifikátor uživatele\n"
 
-#: g10/import.c:1893
+#: g10/import.c:1905
 #, c-format
 msgid "key %s: %s\n"
 msgstr "klíč %s: %s\n"
 
-#: g10/import.c:1894 g10/import.c:2973
+#: g10/import.c:1906 g10/import.c:2985
 msgid "rejected by import screener"
 msgstr "zamítnut kontrolou při importu"
 
-#: g10/import.c:1938
+#: g10/import.c:1950
 #, c-format
 msgid "key %s: PKS subkey corruption repaired\n"
 msgstr "klíč %s: poškození PKS podklíče opraveno\n"
 
 # c-format
-#: g10/import.c:1959
+#: g10/import.c:1971
 #, c-format
 msgid "key %s: accepted non self-signed user ID \"%s\"\n"
 msgstr "klíč %s: přijat id uživatele \"%s\",který není podepsán jím samým\n"
 
-#: g10/import.c:1969 g10/import.c:2000
+#: g10/import.c:1981 g10/import.c:2012
 #, c-format
 msgid "key %s: no valid user IDs\n"
 msgstr "klíč %s: chybí platný identifikátor uživatele\n"
 
-#: g10/import.c:1971
+#: g10/import.c:1983
 #, c-format
 msgid "this may be caused by a missing self-signature\n"
 msgstr "může to být způsobeno chybějícím podpisem klíče jím samým\n"
 
-#: g10/import.c:2050 g10/import.c:3387
+#: g10/import.c:2062 g10/import.c:3399
 #, c-format
 msgid "key %s: public key not found: %s\n"
 msgstr "klíč %s: veřejný klíč nenalezen: %s\n"
 
-#: g10/import.c:2056
+#: g10/import.c:2068
 #, c-format
 msgid "key %s: new key - skipped\n"
 msgstr "klíč %s: nový klíč - přeskočen\n"
 
-#: g10/import.c:2068
+#: g10/import.c:2080
 #, c-format
 msgid "no writable keyring found: %s\n"
 msgstr "nenalezen zapisovatelný soubor klíčů (keyring): %s\n"
 
-#: g10/import.c:2100 g10/import.c:2202 g10/import.c:3464
+#: g10/import.c:2112 g10/import.c:2214 g10/import.c:3476
 #, c-format
 msgid "error writing keyring '%s': %s\n"
 msgstr "chyba při zápisu souboru klíčů (keyring) „%s“: %s\n"
 
-#: g10/import.c:2123
+#: g10/import.c:2135
 #, c-format
 msgid "key %s: public key \"%s\" imported\n"
 msgstr "klíč %s: veřejný klíč „%s“ importován\n"
 
-#: g10/import.c:2150
+#: g10/import.c:2162
 #, c-format
 msgid "key %s: doesn't match our copy\n"
 msgstr "klíč %s: neodpovídá naší kopii\n"
 
-#: g10/import.c:2218
+#: g10/import.c:2230
 #, c-format
 msgid "key %s: \"%s\" 1 new user ID\n"
 msgstr "klíč %s: „%s“ 1 nový identifikátor uživatele\n"
 
-#: g10/import.c:2221
+#: g10/import.c:2233
 #, c-format
 msgid "key %s: \"%s\" %d new user IDs\n"
 msgstr "klíč %s: „%s“ %d nových identifikátorů uživatele\n"
 
-#: g10/import.c:2224
+#: g10/import.c:2236
 #, c-format
 msgid "key %s: \"%s\" 1 new signature\n"
 msgstr "klíč %s: „%s“ 1 nový podpis\n"
 
-#: g10/import.c:2227
+#: g10/import.c:2239
 #, c-format
 msgid "key %s: \"%s\" %d new signatures\n"
 msgstr "klíč %s: „%s“ %d nových podpisů\n"
 
-#: g10/import.c:2230
+#: g10/import.c:2242
 #, c-format
 msgid "key %s: \"%s\" 1 new subkey\n"
 msgstr "klíč %s: „%s“ 1 nový podklíč\n"
 
-#: g10/import.c:2233
+#: g10/import.c:2245
 #, c-format
 msgid "key %s: \"%s\" %d new subkeys\n"
 msgstr "klíč %s: „%s“ %d nových podklíčů\n"
 
-#: g10/import.c:2236
+#: g10/import.c:2248
 #, c-format
 msgid "key %s: \"%s\" %d signature cleaned\n"
 msgstr "klíč %s: „%s“ %d podpisů odstraněno\n"
 
-#: g10/import.c:2239
+#: g10/import.c:2251
 #, c-format
 msgid "key %s: \"%s\" %d signatures cleaned\n"
 msgstr "klíč %s: „%s“ %d podpisů odstraněno\n"
 
-#: g10/import.c:2242
+#: g10/import.c:2254
 #, c-format
 msgid "key %s: \"%s\" %d user ID cleaned\n"
 msgstr "klíč %s: „%s“ %d ID uživatele odstraněno\n"
 
-#: g10/import.c:2245
+#: g10/import.c:2257
 #, c-format
 msgid "key %s: \"%s\" %d user IDs cleaned\n"
 msgstr "klíč %s: „%s“ %d ID uživatele odstraněno\n"
 
-#: g10/import.c:2281
+#: g10/import.c:2293
 #, c-format
 msgid "key %s: \"%s\" not changed\n"
 msgstr "klíč %s: „%s“ beze změn\n"
 
-#: g10/import.c:2640 g10/import.c:2835
+#: g10/import.c:2652 g10/import.c:2847
 #, c-format
 msgid "key %s: secret key imported\n"
 msgstr "klíč %s: tajný klíč importován\n"
 
-#: g10/import.c:2648
+#: g10/import.c:2660
 #, c-format
 msgid "key %s: secret key already exists\n"
 msgstr "klíč %s: tajný klíč již existuje\n"
 
-#: g10/import.c:2656
+#: g10/import.c:2668
 #, c-format
 msgid "key %s: error sending to agent: %s\n"
 msgstr "klíč %s: chyba při odesílání dat agentovi: %s\n"
@@ -3659,193 +3677,193 @@ msgstr "klíč %s: chyba při odesílání dat agentovi: %s\n"
 #. * Instead, user should be suggested to run 'gpg --card-status',
 #. * then, references to a card will be automatically created
 #. * again.
-#: g10/import.c:2825
+#: g10/import.c:2837
 #, c-format
 msgid "To migrate '%s', with each smartcard, run: %s\n"
 msgstr "Pro migraci „%s“ u každé karty spusťte: %s\n"
 
-#: g10/import.c:2972
+#: g10/import.c:2984
 #, c-format
 msgid "secret key %s: %s\n"
 msgstr "tajný klíč %s: %s\n"
 
-#: g10/import.c:2993 g10/import.c:3032
+#: g10/import.c:3005 g10/import.c:3044
 #, c-format
 msgid "importing secret keys not allowed\n"
 msgstr "import tajných klíčů není povolen\n"
 
-#: g10/import.c:3020
+#: g10/import.c:3032
 #, c-format
 msgid "key %s: secret key with invalid cipher %d - skipped\n"
 msgstr "klíč %s: tajný klíč s neplatnou šifrou %d – přeskočeno\n"
 
-#: g10/import.c:3182 g10/pkclist.c:72 g10/revoke.c:776
+#: g10/import.c:3194 g10/pkclist.c:72 g10/revoke.c:776
 msgid "No reason specified"
 msgstr "Důvod nebyl specifikován"
 
-#: g10/import.c:3183 g10/pkclist.c:74 g10/revoke.c:778
+#: g10/import.c:3195 g10/pkclist.c:74 g10/revoke.c:778
 msgid "Key is superseded"
 msgstr "Klíč je nahrazen"
 
-#: g10/import.c:3184 g10/pkclist.c:76 g10/revoke.c:777
+#: g10/import.c:3196 g10/pkclist.c:76 g10/revoke.c:777
 msgid "Key has been compromised"
 msgstr "Klíč byl zkompromitován"
 
-#: g10/import.c:3185 g10/pkclist.c:78 g10/revoke.c:779
+#: g10/import.c:3197 g10/pkclist.c:78 g10/revoke.c:779
 msgid "Key is no longer used"
 msgstr "Klíč se již nepoužívá"
 
-#: g10/import.c:3186 g10/pkclist.c:80 g10/revoke.c:780
+#: g10/import.c:3198 g10/pkclist.c:80 g10/revoke.c:780
 msgid "User ID is no longer valid"
 msgstr "Identifikátor uživatele již neplatí"
 
-#: g10/import.c:3311 g10/keylist.c:1254 g10/pkclist.c:84
+#: g10/import.c:3323 g10/keylist.c:1254 g10/pkclist.c:84
 #, c-format
 msgid "reason for revocation: "
 msgstr "důvod pro revokaci: "
 
-#: g10/import.c:3330 g10/keylist.c:1273 g10/pkclist.c:100
+#: g10/import.c:3342 g10/keylist.c:1273 g10/pkclist.c:100
 #, c-format
 msgid "revocation comment: "
 msgstr "revokační poznámka: "
 
-#: g10/import.c:3380
+#: g10/import.c:3392
 #, c-format
 msgid "key %s: no public key - can't apply revocation certificate\n"
 msgstr "klíč %s: chybí veřejný klíč – nemohu aplikovat revokační certifikát\n"
 
-#: g10/import.c:3411
+#: g10/import.c:3423
 #, c-format
 msgid "key %s: can't locate original keyblock: %s\n"
 msgstr "klíč %s: nemohu najít originální blok klíče: %s\n"
 
-#: g10/import.c:3418
+#: g10/import.c:3430
 #, c-format
 msgid "key %s: can't read original keyblock: %s\n"
 msgstr "klíč %s: nemohu číst originální blok klíče: %s\n"
 
-#: g10/import.c:3438
+#: g10/import.c:3450
 #, c-format
 msgid "key %s: invalid revocation certificate: %s - rejected\n"
 msgstr "klíč %s: neplatný revokační certifikát: %s – zamítnuto\n"
 
-#: g10/import.c:3473
+#: g10/import.c:3485
 #, c-format
 msgid "key %s: \"%s\" revocation certificate imported\n"
 msgstr "klíč %s: „%s“ revokační certifikát importován\n"
 
-#: g10/import.c:3559
+#: g10/import.c:3571
 #, c-format
 msgid "key %s: no user ID for signature\n"
 msgstr "klíč %s: neexistuje id uživatele pro podpis\n"
 
-#: g10/import.c:3576
+#: g10/import.c:3588
 #, c-format
 msgid "key %s: unsupported public key algorithm on user ID \"%s\"\n"
 msgstr ""
 "klíč %s: nepodporovaný algoritmus veřejného klíče u uživatelského ID „%s“\n"
 
-#: g10/import.c:3578
+#: g10/import.c:3590
 #, c-format
 msgid "key %s: invalid self-signature on user ID \"%s\"\n"
 msgstr "klíč %s neplatný podpis klíče jím samým u uživatelského ID „%s“\n"
 
-#: g10/import.c:3595 g10/import.c:3623 g10/import.c:3679
+#: g10/import.c:3607 g10/import.c:3635 g10/import.c:3691
 #, c-format
 msgid "key %s: unsupported public key algorithm\n"
 msgstr "klíč %s: nepodporovaný algoritmus veřejného klíče\n"
 
-#: g10/import.c:3596
+#: g10/import.c:3608
 #, c-format
 msgid "key %s: invalid direct key signature\n"
 msgstr "klíč %s: neplatný podpis klíče jím samým (direct key signature)\n"
 
-#: g10/import.c:3610
+#: g10/import.c:3622
 #, c-format
 msgid "key %s: no subkey for key binding\n"
 msgstr "klíč %s: neexistuje podklíč pro vázání klíčů\n"
 
-#: g10/import.c:3625
+#: g10/import.c:3637
 #, c-format
 msgid "key %s: invalid subkey binding\n"
 msgstr "klíč %s: neplatná vazba podklíče\n"
 
-#: g10/import.c:3644
+#: g10/import.c:3656
 #, c-format
 msgid "key %s: removed multiple subkey binding\n"
 msgstr "klíč %s: smazána vícenásobná vazba podklíče\n"
 
-#: g10/import.c:3668
+#: g10/import.c:3680
 #, c-format
 msgid "key %s: no subkey for key revocation\n"
 msgstr "klíč %s: neexistuje podklíč pro odvolání klíče\n"
 
-#: g10/import.c:3681
+#: g10/import.c:3693
 #, c-format
 msgid "key %s: invalid subkey revocation\n"
 msgstr "klíč %s: neplatný odvolací podklíč\n"
 
-#: g10/import.c:3696
+#: g10/import.c:3708
 #, c-format
 msgid "key %s: removed multiple subkey revocation\n"
 msgstr "klíč %s: vícenásobná odvolání podklíče smazáno\n"
 
-#: g10/import.c:3740
+#: g10/import.c:3752
 #, c-format
 msgid "key %s: skipped user ID \"%s\"\n"
 msgstr "klíč %s: přeskočen identifikátor uživatele „%s“\n"
 
-#: g10/import.c:3767
+#: g10/import.c:3779
 #, c-format
 msgid "key %s: skipped subkey\n"
 msgstr "klíč %s: podklíč přeskočen\n"
 
-#: g10/import.c:3798
+#: g10/import.c:3810
 #, c-format
 msgid "key %s: non exportable signature (class 0x%02X) - skipped\n"
 msgstr "klíč %s: podpis není exportovatelný (třída %02X) - přeskočeno\n"
 
-#: g10/import.c:3809
+#: g10/import.c:3821
 #, c-format
 msgid "key %s: revocation certificate at wrong place - skipped\n"
 msgstr "klíč %s: revokační certifikát na špatném místě - přeskočeno \n"
 
-#: g10/import.c:3827
+#: g10/import.c:3839
 #, c-format
 msgid "key %s: invalid revocation certificate: %s - skipped\n"
 msgstr "klíč %s: neplatný revokační certifikát: %s - přeskočen\n"
 
-#: g10/import.c:3841
+#: g10/import.c:3853
 #, c-format
 msgid "key %s: subkey signature in wrong place - skipped\n"
 msgstr "klíč %s: podpis podklíče na špatném místě - přeskočeno \n"
 
-#: g10/import.c:3849
+#: g10/import.c:3861
 #, c-format
 msgid "key %s: unexpected signature class (0x%02X) - skipped\n"
 msgstr "klíč %s: neočekávaná podpisová třída (0x%02X) - přeskočeno\n"
 
-#: g10/import.c:4022
+#: g10/import.c:4034
 #, c-format
 msgid "key %s: duplicated user ID detected - merged\n"
 msgstr "klíč %s: objeven duplikovaný identifikátor uživatele - sloučen\n"
 
-#: g10/import.c:4087
+#: g10/import.c:4099
 #, c-format
 msgid "WARNING: key %s may be revoked: fetching revocation key %s\n"
 msgstr "VAROVÁNÍ: klíč %s může být odvolán: zkouším získat revokační klíč %s\n"
 
-#: g10/import.c:4103
+#: g10/import.c:4115
 #, c-format
 msgid "WARNING: key %s may be revoked: revocation key %s not present.\n"
 msgstr "VAROVÁNÍ: klíč %s může být odvolán: revokační klíč %s nenalezen.\n"
 
-#: g10/import.c:4169
+#: g10/import.c:4181
 #, c-format
 msgid "key %s: \"%s\" revocation certificate added\n"
 msgstr "klíč %s: „%s“ přidán revokační certifikát\n"
 
-#: g10/import.c:4207
+#: g10/import.c:4219
 #, c-format
 msgid "key %s: direct key signature added\n"
 msgstr "klíč %s: podpis klíče jím samým (direct key signature) přidán\n"
@@ -3923,7 +3941,7 @@ msgid ""
 "all signatures.\n"
 msgstr ""
 
-#: g10/keydb.c:431 g10/keydb.c:458 sm/keydb.c:191 sm/keydb.c:204
+#: g10/keydb.c:431 g10/keydb.c:458 sm/keydb.c:190 sm/keydb.c:203
 #, c-format
 msgid "error creating keybox '%s': %s\n"
 msgstr "chyba při vytváření schránky na klíče (keybox) „%s“: %s\n"
@@ -3933,7 +3951,7 @@ msgstr "chyba při vytváření schránky na klíče (keybox) „%s“: %s\n"
 msgid "error creating keyring '%s': %s\n"
 msgstr "chyba při vytváření souboru klíčů (keyring) „%s“: %s\n"
 
-#: g10/keydb.c:470 sm/keydb.c:210
+#: g10/keydb.c:470 sm/keydb.c:209
 #, c-format
 msgid "keybox '%s' created\n"
 msgstr "schránka na klíče (keybox) „%s“ vytvořena\n"
@@ -4014,13 +4032,13 @@ msgstr "Přeskakuje se ID uživatele „%s“, což není textové ID.\n"
 msgid "User ID \"%s\" is revoked."
 msgstr "Uživatelské ID „%s“ je odvoláno."
 
-#: g10/keyedit.c:569 g10/keyedit.c:597 g10/keyedit.c:624 g10/keyedit.c:808
-#: g10/keyedit.c:1655
+#: g10/keyedit.c:569 g10/keyedit.c:597 g10/keyedit.c:624 g10/keyedit.c:809
+#: g10/keyedit.c:1656
 msgid "Are you sure you still want to sign it? (y/N) "
 msgstr "Jste si jistý(á), že stále chcete podepsat tento klíč? (a/N) "
 
-#: g10/keyedit.c:583 g10/keyedit.c:611 g10/keyedit.c:638 g10/keyedit.c:814
-#: g10/keyedit.c:1660 g10/keyedit.c:2667
+#: g10/keyedit.c:583 g10/keyedit.c:611 g10/keyedit.c:638 g10/keyedit.c:815
+#: g10/keyedit.c:1661 g10/keyedit.c:2668
 msgid "  Unable to sign.\n"
 msgstr "  Nelze podepsat.\n"
 
@@ -4094,29 +4112,29 @@ msgstr "„%s“ je již lokálně podepsán klíčem %s\n"
 msgid "\"%s\" was already signed by key %s\n"
 msgstr "„%s“ je již podepsán klíčem %s\n"
 
-#: g10/keyedit.c:756
+#: g10/keyedit.c:757
 msgid "Do you want to sign it again anyway? (y/N) "
 msgstr "Chcete klíč přesto znova podepsat? (a/N) "
 
-#: g10/keyedit.c:778
+#: g10/keyedit.c:779
 #, c-format
 msgid "Nothing to sign with key %s\n"
 msgstr "Nic k podepsání klíčem %s\n"
 
-#: g10/keyedit.c:802
+#: g10/keyedit.c:803
 msgid "This key has expired!"
 msgstr "Platnost klíče vypršela!"
 
-#: g10/keyedit.c:820
+#: g10/keyedit.c:821
 #, c-format
 msgid "This key is due to expire on %s.\n"
 msgstr "Platnost klíče vyprší %s.\n"
 
-#: g10/keyedit.c:826
+#: g10/keyedit.c:827
 msgid "Do you want your signature to expire at the same time? (Y/n) "
 msgstr "Chcete, aby platnost Vašeho podpisu vypršela ve stejnou dobu? (A/n) "
 
-#: g10/keyedit.c:867
+#: g10/keyedit.c:868
 msgid ""
 "How carefully have you verified the key you are about to sign actually "
 "belongs\n"
@@ -4126,31 +4144,31 @@ msgstr ""
 "patří výše uvedené osobě.\n"
 "Pokud neznáte odpověď, zadejte „0“.\n"
 
-#: g10/keyedit.c:872
+#: g10/keyedit.c:873
 #, c-format
 msgid "   (0) I will not answer.%s\n"
 msgstr "   (0) Neodpovím.%s\n"
 
-#: g10/keyedit.c:874
+#: g10/keyedit.c:875
 #, c-format
 msgid "   (1) I have not checked at all.%s\n"
 msgstr "   (1) Nijak jsem to nekontroloval(a).%s\n"
 
-#: g10/keyedit.c:876
+#: g10/keyedit.c:877
 #, c-format
 msgid "   (2) I have done casual checking.%s\n"
 msgstr "   (2) Částečně jsem to ověřil(a).%s\n"
 
-#: g10/keyedit.c:879
+#: g10/keyedit.c:880
 #, c-format
 msgid "   (3) I have done very careful checking.%s\n"
 msgstr "   (3) Velmi pečlivě jsem to ověřil(a).%s\n"
 
-#: g10/keyedit.c:886
+#: g10/keyedit.c:887
 msgid "Your selection? (enter '?' for more information): "
 msgstr "Váš výběr? (pro podrobnosti zadejte „?“): "
 
-#: g10/keyedit.c:913
+#: g10/keyedit.c:914
 #, c-format
 msgid ""
 "Are you sure that you want to sign this key with your\n"
@@ -4159,225 +4177,225 @@ msgstr ""
 "Jste si jistý(á), že chcete podepsat tento klíč\n"
 "svým klíčem „%s“ (%s)\n"
 
-#: g10/keyedit.c:921
+#: g10/keyedit.c:922
 msgid "This will be a self-signature.\n"
 msgstr "Jedná se o podpis klíče jím samým.\n"
 
-#: g10/keyedit.c:926
+#: g10/keyedit.c:927
 msgid "WARNING: the signature will not be marked as non-exportable.\n"
 msgstr "VAROVÁNÍ: podpis nebude označen jako neexportovatelný.\n"
 
-#: g10/keyedit.c:933
+#: g10/keyedit.c:934
 msgid "WARNING: the signature will not be marked as non-revocable.\n"
 msgstr "VAROVÁNÍ: podpis nebude označen jako neodvolatelný (non-revocable).\n"
 
-#: g10/keyedit.c:943
+#: g10/keyedit.c:944
 msgid "The signature will be marked as non-exportable.\n"
 msgstr "Podpis bude označen jako neexportovatelný.\n"
 
-#: g10/keyedit.c:950
+#: g10/keyedit.c:951
 msgid "The signature will be marked as non-revocable.\n"
 msgstr "Podpis bude označen jako neodvolatelný (non-revocable).\n"
 
-#: g10/keyedit.c:957
+#: g10/keyedit.c:958
 msgid "I have not checked this key at all.\n"
 msgstr "Nijak jsem tento klíč neověřil.\n"
 
-#: g10/keyedit.c:962
+#: g10/keyedit.c:963
 msgid "I have checked this key casually.\n"
 msgstr "Částečně jsem ověřil tento klíč.\n"
 
-#: g10/keyedit.c:967
+#: g10/keyedit.c:968
 msgid "I have checked this key very carefully.\n"
 msgstr "Velmi pečlivě jsem ověřil tento klíč.\n"
 
-#: g10/keyedit.c:979
+#: g10/keyedit.c:980
 msgid "Really sign? (y/N) "
 msgstr "Skutečně podepsat? (a/N) "
 
-#: g10/keyedit.c:1030 g10/keyedit.c:6154 g10/keyedit.c:6237 g10/keyedit.c:6366
-#: g10/keyedit.c:6428 g10/sign.c:466
+#: g10/keyedit.c:1031 g10/keyedit.c:6155 g10/keyedit.c:6238 g10/keyedit.c:6367
+#: g10/keyedit.c:6429 g10/sign.c:466
 #, c-format
 msgid "signing failed: %s\n"
 msgstr "podepsání selhalo: %s\n"
 
-#: g10/keyedit.c:1117
+#: g10/keyedit.c:1118
 msgid "Key has only stub or on-card key items - no passphrase to change.\n"
 msgstr ""
 "K dispozici je jen kontrolní součet klíče nebo je klíč na kartě - passphrase "
 "nelze změnit.\n"
 
-#: g10/keyedit.c:1149
+#: g10/keyedit.c:1150
 #, c-format
 msgid "key %s: error changing passphrase: %s\n"
 msgstr "klíč %s: chyba při měnění hesla: %s\n"
 
-#: g10/keyedit.c:1261
+#: g10/keyedit.c:1262
 msgid "save and quit"
 msgstr "uložit a ukončit"
 
-#: g10/keyedit.c:1264
+#: g10/keyedit.c:1265
 msgid "show key fingerprint"
 msgstr "vypsat otisk klíče"
 
-#: g10/keyedit.c:1265
+#: g10/keyedit.c:1266
 msgid "show the keygrip"
 msgstr "ukázat keygrip"
 
-#: g10/keyedit.c:1266
+#: g10/keyedit.c:1267
 msgid "list key and user IDs"
 msgstr "vypsat seznam klíčů a id uživatelů"
 
-#: g10/keyedit.c:1268
+#: g10/keyedit.c:1269
 msgid "select user ID N"
 msgstr "vyberte identifikátor uživatele N"
 
-#: g10/keyedit.c:1269
+#: g10/keyedit.c:1270
 msgid "select subkey N"
 msgstr "vyberte podklíč N"
 
-#: g10/keyedit.c:1270
+#: g10/keyedit.c:1271
 msgid "check signatures"
 msgstr "kontrolovat podpisy"
 
-#: g10/keyedit.c:1276
+#: g10/keyedit.c:1277
 msgid "sign selected user IDs [* see below for related commands]"
 msgstr "podepsat vybrané ID uživatele [* níže jsou uvedeny relevantní příkazy]"
 
-#: g10/keyedit.c:1281
+#: g10/keyedit.c:1282
 msgid "sign selected user IDs locally"
 msgstr "podepsat vybrané uživatelské ID lokálně"
 
-#: g10/keyedit.c:1282
+#: g10/keyedit.c:1283
 msgid "sign selected user IDs with a trust signature"
 msgstr "podepsat vybrané uživatelské ID důvěryhodným podpisem"
 
-#: g10/keyedit.c:1284
+#: g10/keyedit.c:1285
 msgid "sign selected user IDs with a non-revocable signature"
 msgstr "podepsat vybraná uživatelská ID neodvolatelným podpisem"
 
-#: g10/keyedit.c:1286
+#: g10/keyedit.c:1287
 msgid "add a user ID"
 msgstr "přidat identifikátor uživatele"
 
-#: g10/keyedit.c:1288
+#: g10/keyedit.c:1289
 msgid "add a photo ID"
 msgstr "přidat fotografický ID"
 
-#: g10/keyedit.c:1289
+#: g10/keyedit.c:1290
 msgid "delete selected user IDs"
 msgstr "smazat vybrané ID uživatele"
 
-#: g10/keyedit.c:1292
+#: g10/keyedit.c:1293
 msgid "add a subkey"
 msgstr "přidat podklíč"
 
-#: g10/keyedit.c:1295
+#: g10/keyedit.c:1296
 msgid "add a key to a smartcard"
 msgstr "přidat klíč na kartu"
 
-#: g10/keyedit.c:1297
+#: g10/keyedit.c:1298
 msgid "move a key to a smartcard"
 msgstr "přesunout klíč na kartu"
 
-#: g10/keyedit.c:1299
+#: g10/keyedit.c:1300
 msgid "move a backup key to a smartcard"
 msgstr "přesunout záložní klíč na kartu"
 
-#: g10/keyedit.c:1301
+#: g10/keyedit.c:1302
 msgid "delete selected subkeys"
 msgstr "smazat vybrané podklíče"
 
-#: g10/keyedit.c:1303
+#: g10/keyedit.c:1304
 msgid "add a revocation key"
 msgstr "přidat revokační klíč"
 
-#: g10/keyedit.c:1305
+#: g10/keyedit.c:1306
 msgid "delete signatures from the selected user IDs"
 msgstr "smazat podpisy z vybraných uživatelských ID"
 
-#: g10/keyedit.c:1307
+#: g10/keyedit.c:1308
 msgid "change the expiration date for the key or selected subkeys"
 msgstr "změnit datum expirace pro klíč nebo vybrané podklíče"
 
-#: g10/keyedit.c:1309
+#: g10/keyedit.c:1310
 msgid "flag the selected user ID as primary"
 msgstr "označit vybrané uživatelské ID jako primární"
 
-#: g10/keyedit.c:1312
+#: g10/keyedit.c:1313
 msgid "list preferences (expert)"
 msgstr "vypsat seznam předvoleb (pro experty)"
 
-#: g10/keyedit.c:1313
+#: g10/keyedit.c:1314
 msgid "list preferences (verbose)"
 msgstr "vypsat seznam předvoleb (podrobně)"
 
-#: g10/keyedit.c:1315
+#: g10/keyedit.c:1316
 msgid "set preference list for the selected user IDs"
 msgstr "nastavit sadu preferencí pro vybrané uživatelské ID"
 
-#: g10/keyedit.c:1318
+#: g10/keyedit.c:1319
 msgid "set the preferred keyserver URL for the selected user IDs"
 msgstr "nastavit URL preferovaného serveru klíčů pro vybraná uživatelská ID"
 
-#: g10/keyedit.c:1320
+#: g10/keyedit.c:1321
 msgid "set a notation for the selected user IDs"
 msgstr "zadat poznámku pro vybraná uživatelská ID"
 
-#: g10/keyedit.c:1322
+#: g10/keyedit.c:1323
 msgid "change the passphrase"
 msgstr "změnit heslo"
 
-#: g10/keyedit.c:1325
+#: g10/keyedit.c:1326
 msgid "change the ownertrust"
 msgstr "změnit důvěryhodnost vlastníka klíče"
 
-#: g10/keyedit.c:1328
+#: g10/keyedit.c:1329
 msgid "revoke signatures on the selected user IDs"
 msgstr "revokovat podpisu na vybraných uživatelských ID"
 
-#: g10/keyedit.c:1330
+#: g10/keyedit.c:1331
 msgid "revoke selected user IDs"
 msgstr "revokovat vybrané uživatelské ID"
 
-#: g10/keyedit.c:1333
+#: g10/keyedit.c:1334
 msgid "revoke key or selected subkeys"
 msgstr "revokovat klíč nebo vybrané podklíče"
 
-#: g10/keyedit.c:1335
+#: g10/keyedit.c:1336
 msgid "enable key"
 msgstr "nastavit klíč jako platný (enable)"
 
-#: g10/keyedit.c:1336
+#: g10/keyedit.c:1337
 msgid "disable key"
 msgstr "nastavit klíč jako neplatný (disable)"
 
-#: g10/keyedit.c:1338
+#: g10/keyedit.c:1339
 msgid "show selected photo IDs"
 msgstr "ukázat vybrané fotografické ID"
 
-#: g10/keyedit.c:1340
+#: g10/keyedit.c:1341
 msgid "compact unusable user IDs and remove unusable signatures from key"
 msgstr ""
 "směstnat nepoužitelná ID uživatelů a odstranit z klíče nepoužitelné podpisy"
 
-#: g10/keyedit.c:1342
+#: g10/keyedit.c:1343
 msgid "compact unusable user IDs and remove all signatures from key"
 msgstr "směstnat nepoužitelná ID uživatelů a odstranit z klíče všechny podpisy"
 
-#: g10/keyedit.c:1463
+#: g10/keyedit.c:1464
 msgid "Secret key is available.\n"
 msgstr "Tajný klíč je dostupný.\n"
 
-#: g10/keyedit.c:1465
+#: g10/keyedit.c:1466
 msgid "Secret subkeys are available.\n"
 msgstr "Tajné podklíče jsou dostupné.\n"
 
-#: g10/keyedit.c:1567
+#: g10/keyedit.c:1568
 msgid "Need the secret key to do this.\n"
 msgstr "Pro provedení této operace je potřeba tajný klíč.\n"
 
-#: g10/keyedit.c:1590
+#: g10/keyedit.c:1591
 msgid ""
 "* The 'sign' command may be prefixed with an 'l' for local signatures "
 "(lsign),\n"
@@ -4388,291 +4406,291 @@ msgstr ""
 "  s „t“ pro důvěryhodný podpis (tsign) nebo „nr“ pro neodvolatelný\n"
 "  podpis (nrsign) nebo libovolnou jejich kombinací (ltsign, tnrsign, atd.).\n"
 
-#: g10/keyedit.c:1648 g10/keyedit.c:2667 g10/keyedit.c:3040 g10/keyedit.c:3108
+#: g10/keyedit.c:1649 g10/keyedit.c:2668 g10/keyedit.c:3041 g10/keyedit.c:3109
 msgid "Key is revoked."
 msgstr "Klíč je odvolán."
 
-#: g10/keyedit.c:1671
+#: g10/keyedit.c:1672
 msgid "Really sign all text user IDs? (y/N) "
 msgstr "Opravdu podepsat všechna textová ID uživatele? (a/N) "
 
-#: g10/keyedit.c:1675
+#: g10/keyedit.c:1676
 msgid "Really sign all user IDs? (y/N) "
 msgstr "Opravdu podepsat všechny id uživatele? (a/N) "
 
-#: g10/keyedit.c:1683
+#: g10/keyedit.c:1684
 msgid "Hint: Select the user IDs to sign\n"
 msgstr "Nápověda: Vyberte id uživatele k podepsání\n"
 
-#: g10/keyedit.c:1694
+#: g10/keyedit.c:1695
 #, c-format
 msgid "Unknown signature type '%s'\n"
 msgstr "Neznámý typ podpisu „%s“\n"
 
-#: g10/keyedit.c:1718
+#: g10/keyedit.c:1719
 #, c-format
 msgid "This command is not allowed while in %s mode.\n"
 msgstr "Tento příkaz není v režimu %s dovolen.\n"
 
-#: g10/keyedit.c:1740 g10/keyedit.c:1764 g10/keyedit.c:1961
+#: g10/keyedit.c:1741 g10/keyedit.c:1765 g10/keyedit.c:1962
 msgid "You must select at least one user ID.\n"
 msgstr "Musíte vybrat alespoň jeden id uživatele.\n"
 
-#: g10/keyedit.c:1742 g10/keyedit.c:1766 g10/keyedit.c:1923 g10/keyedit.c:1963
+#: g10/keyedit.c:1743 g10/keyedit.c:1767 g10/keyedit.c:1924 g10/keyedit.c:1964
 #, c-format
 msgid "(Use the '%s' command.)\n"
 msgstr "(Použijte příkaz „%s“.)\n"
 
-#: g10/keyedit.c:1745
+#: g10/keyedit.c:1746
 msgid "You can't delete the last user ID!\n"
 msgstr "Nemůžete smazat poslední id uživatele!\n"
 
-#: g10/keyedit.c:1748
+#: g10/keyedit.c:1749
 msgid "Really remove all selected user IDs? (y/N) "
 msgstr "Opravdu odstranit všechny vybrané id uživatele? (a/N) "
 
-#: g10/keyedit.c:1749
+#: g10/keyedit.c:1750
 msgid "Really remove this user ID? (y/N) "
 msgstr "Opravdu odstranit tento id uživatele? (a/N) "
 
 #. TRANSLATORS: Please take care: This is about
 #. moving the key and not about removing it.
-#: g10/keyedit.c:1806
+#: g10/keyedit.c:1807
 msgid "Really move the primary key? (y/N) "
 msgstr "Opravdu přesunout primární klíč? (a/N) "
 
-#: g10/keyedit.c:1818 g10/keyedit.c:4803
+#: g10/keyedit.c:1819 g10/keyedit.c:4804
 msgid "You must select exactly one key.\n"
 msgstr "Musíte vybrat právě jeden klíč.\n"
 
-#: g10/keyedit.c:1846
+#: g10/keyedit.c:1847
 msgid "Command expects a filename argument\n"
 msgstr "Příkaz očekává jméno souboru jako argument\n"
 
-#: g10/keyedit.c:1867
+#: g10/keyedit.c:1868
 #, c-format
 msgid "Can't open '%s': %s\n"
 msgstr "Nelze otevřít „%s“: %s\n"
 
-#: g10/keyedit.c:1886
+#: g10/keyedit.c:1887
 #, c-format
 msgid "Error reading backup key from '%s': %s\n"
 msgstr "Chyba při čtení záložního klíče z „%s“: %s\n"
 
-#: g10/keyedit.c:1921
+#: g10/keyedit.c:1922
 msgid "You must select at least one key.\n"
 msgstr "Musíte vybrat alespoň jeden klíč.\n"
 
-#: g10/keyedit.c:1927
+#: g10/keyedit.c:1928
 msgid "Do you really want to delete the selected keys? (y/N) "
 msgstr "Opravdu chcete smazat vybrané klíče? (a/N) "
 
-#: g10/keyedit.c:1929
+#: g10/keyedit.c:1930
 msgid "Do you really want to delete this key? (y/N) "
 msgstr "Opravdu chcete smazat tento klíč? (a/N) "
 
-#: g10/keyedit.c:1967
+#: g10/keyedit.c:1968
 msgid "Really revoke all selected user IDs? (y/N) "
 msgstr "Opravdu odvolat všechna vybraná ID uživatele? (a/N) "
 
-#: g10/keyedit.c:1968
+#: g10/keyedit.c:1969
 msgid "Really revoke this user ID? (y/N) "
 msgstr "Opravdu odvolat toto ID uživatele? (a/N) "
 
-#: g10/keyedit.c:1986
+#: g10/keyedit.c:1987
 msgid "Do you really want to revoke the entire key? (y/N) "
 msgstr "Opravdu chcete odvolat celý klíč? (a/N) "
 
-#: g10/keyedit.c:1997
+#: g10/keyedit.c:1998
 msgid "Do you really want to revoke the selected subkeys? (y/N) "
 msgstr "Opravdu chcete odvolat vybrané podklíče? (a/N) "
 
-#: g10/keyedit.c:1999
+#: g10/keyedit.c:2000
 msgid "Do you really want to revoke this subkey? (y/N) "
 msgstr "Opravdu chcete odvolat tento podklíč? (a/N) "
 
-#: g10/keyedit.c:2057
+#: g10/keyedit.c:2058
 msgid "Owner trust may not be set while using a user provided trust database\n"
 msgstr ""
 "Důvěryhodnost vlastníka nelze měnit je-li používána databáze důvěry "
 "poskytnutá uživatelem\n"
 
-#: g10/keyedit.c:2102
+#: g10/keyedit.c:2103
 msgid "Set preference list to:\n"
 msgstr "Nastavit seznam předvoleb:\n"
 
-#: g10/keyedit.c:2109
+#: g10/keyedit.c:2110
 msgid "Really update the preferences for the selected user IDs? (y/N) "
 msgstr "Opravdu aktualizovat předvolby pro vybraný id uživatele? (a/N) "
 
-#: g10/keyedit.c:2111
+#: g10/keyedit.c:2112
 msgid "Really update the preferences? (y/N) "
 msgstr "Opravdu aktualizovat předvolby? (a/N) "
 
-#: g10/keyedit.c:2185
+#: g10/keyedit.c:2186
 msgid "Save changes? (y/N) "
 msgstr "Uložit změny? (a/N) "
 
-#: g10/keyedit.c:2189
+#: g10/keyedit.c:2190
 msgid "Quit without saving? (y/N) "
 msgstr "Ukončit bez uložení? (a/N) "
 
-#: g10/keyedit.c:2216 g10/keyedit.c:2762 g10/keyedit.c:3061 g10/keyedit.c:3214
+#: g10/keyedit.c:2217 g10/keyedit.c:2763 g10/keyedit.c:3062 g10/keyedit.c:3215
 #, c-format
 msgid "Key not changed so no update needed.\n"
 msgstr "Klíč nebyl změněn, takže není potřeba jej aktualizovat.\n"
 
-#: g10/keyedit.c:2448
+#: g10/keyedit.c:2449
 #, c-format
 msgid "cannot revoke the last valid user ID.\n"
 msgstr "poslední platné ID uživatele nelze odvolat.\n"
 
-#: g10/keyedit.c:2475
+#: g10/keyedit.c:2476
 #, c-format
 msgid "revoking the user ID failed: %s\n"
 msgstr "odvolání ID uživatele se nepodařilo: %s\n"
 
-#: g10/keyedit.c:2541
+#: g10/keyedit.c:2542
 #, c-format
 msgid "setting the primary user ID failed: %s\n"
 msgstr "nastavení primárního ID uživatele se nepodařilo: %s\n"
 
-#: g10/keyedit.c:2572
+#: g10/keyedit.c:2573
 #, c-format
 msgid "\"%s\" is not a fingerprint\n"
 msgstr "„%s“ není otisk\n"
 
-#: g10/keyedit.c:2602
+#: g10/keyedit.c:2603
 #, c-format
 msgid "\"%s\" is not the primary fingerprint\n"
 msgstr "„%s“ není primární otisk\n"
 
-#: g10/keyedit.c:2738 g10/keyedit.c:2741
+#: g10/keyedit.c:2739 g10/keyedit.c:2742
 #, c-format
 msgid "Invalid user ID '%s': %s\n"
 msgstr "Neplatné ID uživatele „%s“: %s\n"
 
-#: g10/keyedit.c:2744
+#: g10/keyedit.c:2745
 msgid "No matching user IDs."
 msgstr "Žádný identifikátor uživatele neodpovídá."
 
-#: g10/keyedit.c:2744
+#: g10/keyedit.c:2745
 msgid "Nothing to sign.\n"
 msgstr "Nic na podepsání.\n"
 
-#: g10/keyedit.c:2937 g10/keyedit.c:6019
+#: g10/keyedit.c:2938 g10/keyedit.c:6020
 #, c-format
 msgid "Not signed by you.\n"
 msgstr "Nepodepsáno vámi.\n"
 
-#: g10/keyedit.c:2995
+#: g10/keyedit.c:2996
 #, fuzzy, c-format
 #| msgid "checking created signature failed: %s\n"
 msgid "revoking the key signature failed: %s\n"
 msgstr "kontrola vytvořeného podpisu se nepodařila: %s\n"
 
-#: g10/keyedit.c:3116
+#: g10/keyedit.c:3117
 #, c-format
 msgid "'%s' is not a valid expiration time\n"
 msgstr "„%s“ není platná doba expirace\n"
 
-#: g10/keyedit.c:3159
+#: g10/keyedit.c:3160
 #, c-format
 msgid "\"%s\" is not a proper fingerprint\n"
 msgstr "„%s“ není řádný otisk\n"
 
-#: g10/keyedit.c:3183
+#: g10/keyedit.c:3184
 #, c-format
 msgid "subkey \"%s\" not found\n"
 msgstr "podklíč „%s“ nenalezen\n"
 
-#: g10/keyedit.c:3306
+#: g10/keyedit.c:3307
 msgid "AEAD: "
 msgstr "AEAD: "
 
-#: g10/keyedit.c:3323
+#: g10/keyedit.c:3324
 msgid "Digest: "
 msgstr "Hash: "
 
-#: g10/keyedit.c:3380
+#: g10/keyedit.c:3381
 msgid "Features: "
 msgstr "Vlastnosti: "
 
-#: g10/keyedit.c:3397
+#: g10/keyedit.c:3398
 msgid "Keyserver no-modify"
 msgstr "Keyserver bez modifikace"
 
-#: g10/keyedit.c:3412 g10/keylist.c:376
+#: g10/keyedit.c:3413 g10/keylist.c:376
 msgid "Preferred keyserver: "
 msgstr "Preferovaný keyserver: "
 
-#: g10/keyedit.c:3420 g10/keyedit.c:3421
+#: g10/keyedit.c:3421 g10/keyedit.c:3422
 msgid "Notations: "
 msgstr "Poznámky: "
 
-#: g10/keyedit.c:3669
+#: g10/keyedit.c:3670
 msgid "There are no preferences on a PGP 2.x-style user ID.\n"
 msgstr "Uživatelský ID formátu PGP 2.x nemá žádné předvolby\n"
 
-#: g10/keyedit.c:3741
+#: g10/keyedit.c:3742
 #, c-format
 msgid "The following key was revoked on %s by %s key %s\n"
 msgstr "V %s byl následující klíč odvolán %s klíčem %s\n"
 
-#: g10/keyedit.c:3765
+#: g10/keyedit.c:3766
 #, c-format
 msgid "This key may be revoked by %s key %s"
 msgstr "Tento klíč může být odvolán %s klíčem %s "
 
-#: g10/keyedit.c:3771
+#: g10/keyedit.c:3772
 msgid "(sensitive)"
 msgstr "(citlivá informace)"
 
-#: g10/keyedit.c:3813 g10/keyedit.c:3960 g10/keylist.c:264 g10/keyserver.c:538
+#: g10/keyedit.c:3814 g10/keyedit.c:3961 g10/keylist.c:264 g10/keyserver.c:361
 #, c-format
 msgid "created: %s"
 msgstr "vytvořen: %s"
 
-#: g10/keyedit.c:3816 g10/keylist.c:2149
+#: g10/keyedit.c:3817 g10/keylist.c:2149
 #, c-format
 msgid "revoked: %s"
 msgstr "odvolán: %s"
 
-#: g10/keyedit.c:3818 g10/keylist.c:2155
+#: g10/keyedit.c:3819 g10/keylist.c:2155
 #, c-format
 msgid "expired: %s"
 msgstr "platnost skončila: %s"
 
-#: g10/keyedit.c:3820 g10/keyedit.c:3962 g10/keylist.c:266 g10/keylist.c:2161
-#: g10/keyserver.c:544
+#: g10/keyedit.c:3821 g10/keyedit.c:3963 g10/keylist.c:266 g10/keylist.c:2161
+#: g10/keyserver.c:367
 #, c-format
 msgid "expires: %s"
 msgstr "platnost skončí: %s"
 
-#: g10/keyedit.c:3822
+#: g10/keyedit.c:3823
 #, c-format
 msgid "usage: %s"
 msgstr "použití: %s"
 
-#: g10/keyedit.c:3830 g10/keyedit.c:3850 g10/keylist.c:269
+#: g10/keyedit.c:3831 g10/keyedit.c:3851 g10/keylist.c:269
 msgid "card-no: "
 msgstr "číslo karty: "
 
-#: g10/keyedit.c:3889
+#: g10/keyedit.c:3890
 #, c-format
 msgid "trust: %s"
 msgstr "důvěra: %s"
 
-#: g10/keyedit.c:3893
+#: g10/keyedit.c:3894
 #, c-format
 msgid "validity: %s"
 msgstr "platnost: %s"
 
-#: g10/keyedit.c:3900
+#: g10/keyedit.c:3901
 msgid "This key has been disabled"
 msgstr "Tento klíč byl označen za neplatný (disabled)"
 
-#: g10/keyedit.c:3918
+#: g10/keyedit.c:3919
 msgid ""
 "Please note that the shown key validity is not necessarily correct\n"
 "unless you restart the program.\n"
@@ -4681,17 +4699,17 @@ msgstr ""
 "být nutně správné, dokud znova nespustíte program.\n"
 
 # status
-#: g10/keyedit.c:3979 g10/keyedit.c:4410 g10/keyserver.c:548
-#: g10/mainproc.c:2371 g10/tofu.c:1787 g10/trust.c:437 dirmngr/ocsp.c:791
+#: g10/keyedit.c:3980 g10/keyedit.c:4411 g10/keyserver.c:371
+#: g10/mainproc.c:2380 g10/tofu.c:1787 g10/trust.c:437 dirmngr/ocsp.c:791
 msgid "revoked"
 msgstr "odvolán"
 
-#: g10/keyedit.c:3981 g10/keyedit.c:4412 g10/keyserver.c:552
-#: g10/mainproc.c:2373 g10/tofu.c:1792 g10/trust.c:124
+#: g10/keyedit.c:3982 g10/keyedit.c:4413 g10/keyserver.c:375
+#: g10/mainproc.c:2382 g10/tofu.c:1792 g10/trust.c:124
 msgid "expired"
 msgstr "platnost skončila"
 
-#: g10/keyedit.c:4098
+#: g10/keyedit.c:4099
 #, c-format
 msgid ""
 "WARNING: no user ID has been marked as primary.  This command may\n"
@@ -4700,17 +4718,17 @@ msgstr ""
 "VAROVÁNÍ: žádné uživatelské ID nebylo označeno jako primární.  Tento příkaz\n"
 "              může způsobit, že za primární bude považováno jiné user ID.\n"
 
-#: g10/keyedit.c:4150
+#: g10/keyedit.c:4151
 #, c-format
 msgid "WARNING: Your encryption subkey expires soon.\n"
 msgstr "POZOR: Vašemu šifrovacímu podklíči brzy vyprší platnost.\n"
 
-#: g10/keyedit.c:4151
+#: g10/keyedit.c:4152
 #, c-format
 msgid "You may want to change its expiration date too.\n"
 msgstr "Dobu platnosti také můžete změnit.\n"
 
-#: g10/keyedit.c:4210
+#: g10/keyedit.c:4211
 msgid ""
 "WARNING: This is a PGP2-style key.  Adding a photo ID may cause some "
 "versions\n"
@@ -4719,35 +4737,35 @@ msgstr ""
 "VAROVÁNÍ: Toto je PGP2 klíč. Přidání fotografického ID může v některých\n"
 "         verzích PGP vést k odmítnutí tohoto klíče.\n"
 
-#: g10/keyedit.c:4215 g10/keyedit.c:4505
+#: g10/keyedit.c:4216 g10/keyedit.c:4506
 msgid "Are you sure you still want to add it? (y/N) "
 msgstr "Jste si jistý, že jej chcete stále přidat? (a/N) "
 
-#: g10/keyedit.c:4221
+#: g10/keyedit.c:4222
 msgid "You may not add a photo ID to a PGP2-style key.\n"
 msgstr "Neměli by jste přidávat fotografický ID k PGP2 klíči.\n"
 
-#: g10/keyedit.c:4236 g10/keygen.c:2899
+#: g10/keyedit.c:4237 g10/keygen.c:2899
 msgid "Such a user ID already exists on this key!\n"
 msgstr "Takový identifikátor uživatele již u tohoto klíče existuje!\n"
 
-#: g10/keyedit.c:4338
+#: g10/keyedit.c:4339
 msgid "Delete this good signature? (y/N/q)"
 msgstr "Smazat tento dobrý podpis? (a/N/u)"
 
-#: g10/keyedit.c:4348
+#: g10/keyedit.c:4349
 msgid "Delete this invalid signature? (y/N/q)"
 msgstr "Smazat tento neplatný podpis? (a/N/u)"
 
-#: g10/keyedit.c:4352
+#: g10/keyedit.c:4353
 msgid "Delete this unknown signature? (y/N/q)"
 msgstr "Smazat tento neznámý podpis? (a/N/u)"
 
-#: g10/keyedit.c:4359
+#: g10/keyedit.c:4360
 msgid "Really delete this self-signature? (y/N)"
 msgstr "Opravdu smazat tento podpis podepsaný sebou samým? (a/N)"
 
-#: g10/keyedit.c:4375
+#: g10/keyedit.c:4376
 #, c-format
 msgid "Deleted %d signature.\n"
 msgid_plural "Deleted %d signatures.\n"
@@ -4755,20 +4773,20 @@ msgstr[0] "Smazán %d podpis.\n"
 msgstr[1] "Smazány %d podpisy.\n"
 msgstr[2] "Smazáno %d podpisů.\n"
 
-#: g10/keyedit.c:4379
+#: g10/keyedit.c:4380
 msgid "Nothing deleted.\n"
 msgstr "Nic nebylo smazáno.\n"
 
-#: g10/keyedit.c:4414
+#: g10/keyedit.c:4415
 msgid "invalid"
 msgstr "neplatný"
 
-#: g10/keyedit.c:4416
+#: g10/keyedit.c:4417
 #, c-format
 msgid "User ID \"%s\" compacted: %s\n"
 msgstr "Uživatelské ID „%s“ směstnáno: %s\n"
 
-#: g10/keyedit.c:4422
+#: g10/keyedit.c:4423
 #, c-format
 msgid "User ID \"%s\": %d signature removed\n"
 msgid_plural "User ID \"%s\": %d signatures removed\n"
@@ -4776,17 +4794,17 @@ msgstr[0] "Uživatelské ID „%s“: odstraněn %d podpis\n"
 msgstr[1] "Uživatelské ID „%s“: odstraněny %d podpisy\n"
 msgstr[2] "Uživatelské ID „%s“: odstraněno %d podpisů\n"
 
-#: g10/keyedit.c:4430
+#: g10/keyedit.c:4431
 #, c-format
 msgid "User ID \"%s\": already minimized\n"
 msgstr "Uživatelské ID „%s“: je již minimalizované\n"
 
-#: g10/keyedit.c:4431
+#: g10/keyedit.c:4432
 #, c-format
 msgid "User ID \"%s\": already clean\n"
 msgstr "Uživatelské ID „%s“: je již odstraněné\n"
 
-#: g10/keyedit.c:4500
+#: g10/keyedit.c:4501
 msgid ""
 "WARNING: This is a PGP 2.x-style key.  Adding a designated revoker may "
 "cause\n"
@@ -4795,210 +4813,210 @@ msgstr ""
 "VAROVÁNÍ: Toto je PGP2 klíč. Přidání pověřeného odvolatele může v některých\n"
 "          verzích PGP vést k odmítnutí tohoto klíče.\n"
 
-#: g10/keyedit.c:4511
+#: g10/keyedit.c:4512
 msgid "You may not add a designated revoker to a PGP 2.x-style key.\n"
 msgstr "K PGP2 klíči byste neměli přidávat pověřeného odvolatele.\n"
 
-#: g10/keyedit.c:4528
+#: g10/keyedit.c:4529
 msgid "Enter the user ID of the designated revoker: "
 msgstr "Vložte identifikátor pověřeného odvolatele: "
 
-#: g10/keyedit.c:4554
+#: g10/keyedit.c:4555
 #, c-format
 msgid "cannot appoint a PGP 2.x style key as a designated revoker\n"
 msgstr "klíč formátu PGP 2.x nelze pověřit odvoláním\n"
 
-#: g10/keyedit.c:4569
+#: g10/keyedit.c:4570
 #, c-format
 msgid "you cannot appoint a key as its own designated revoker\n"
 msgstr "klíč nelze pověřit odvoláním sama sebe\n"
 
-#: g10/keyedit.c:4591
+#: g10/keyedit.c:4592
 #, c-format
 msgid "this key has already been designated as a revoker\n"
 msgstr "tento klíč již byl určen jako odvolatel\n"
 
-#: g10/keyedit.c:4609
+#: g10/keyedit.c:4610
 msgid "WARNING: appointing a key as a designated revoker cannot be undone!\n"
 msgstr ""
 "VAROVÁNÍ: ustanovení klíče pověřeným odvolatelem je nevratná operace!\n"
 
-#: g10/keyedit.c:4615
+#: g10/keyedit.c:4616
 msgid ""
 "Are you sure you want to appoint this key as a designated revoker? (y/N) "
 msgstr "Jste si jistí, že tento klíč chcete pověřit odvoláním? (a/N) "
 
-#: g10/keyedit.c:4683
+#: g10/keyedit.c:4684
 msgid ""
 "Are you sure you want to change the expiration time for multiple subkeys? (y/"
 "N) "
 msgstr "Jste si jistí, že chcete změnit dobu expirace více podklíčům? (a/N) "
 
-#: g10/keyedit.c:4688
+#: g10/keyedit.c:4689
 msgid "Changing expiration time for a subkey.\n"
 msgstr "Měním dobu expirace podklíče.\n"
 
-#: g10/keyedit.c:4691
+#: g10/keyedit.c:4692
 msgid "Changing expiration time for the primary key.\n"
 msgstr "Měním dobu expirace primárního klíče.\n"
 
-#: g10/keyedit.c:4747
+#: g10/keyedit.c:4748
 #, c-format
 msgid "You can't change the expiration date of a v3 key\n"
 msgstr "Nemůžete změnit dobu platnosti klíče verze 3\n"
 
-#: g10/keyedit.c:4807
+#: g10/keyedit.c:4808
 msgid "Changing usage of a subkey.\n"
 msgstr "Mění se účel podklíče.\n"
 
-#: g10/keyedit.c:4810
+#: g10/keyedit.c:4811
 msgid "Changing usage of the primary key.\n"
 msgstr "Mění se účel primárního klíče.\n"
 
-#: g10/keyedit.c:4928
+#: g10/keyedit.c:4929
 #, c-format
 msgid "signing subkey %s is already cross-certified\n"
 msgstr "podepisovací podklíč %s je již křížově certifikován\n"
 
-#: g10/keyedit.c:4934
+#: g10/keyedit.c:4935
 #, c-format
 msgid "subkey %s does not sign and so does not need to be cross-certified\n"
 msgstr "podklíč %s nepodepisuje, a tak není třeba jej křížově certifikovat\n"
 
-#: g10/keyedit.c:5051
+#: g10/keyedit.c:5052
 msgid "Please select exactly one user ID.\n"
 msgstr "Prosím, vyberte právě jeden id uživatele .\n"
 
-#: g10/keyedit.c:5092 g10/keyedit.c:5206 g10/keyedit.c:5319 g10/keyedit.c:5457
+#: g10/keyedit.c:5093 g10/keyedit.c:5207 g10/keyedit.c:5320 g10/keyedit.c:5458
 #, c-format
 msgid "skipping v3 self-signature on user ID \"%s\"\n"
 msgstr "přeskočen v3 podpis klíče jím samým u uživatelského id „%s“\n"
 
-#: g10/keyedit.c:5263
+#: g10/keyedit.c:5264
 msgid "Enter your preferred keyserver URL: "
 msgstr "Vložte URL preferovaného serveru klíčů: "
 
-#: g10/keyedit.c:5342
+#: g10/keyedit.c:5343
 msgid "Are you sure you want to replace it? (y/N) "
 msgstr "Jste si jistý(á), že jej chcete přepsat? (a/N) "
 
-#: g10/keyedit.c:5343
+#: g10/keyedit.c:5344
 msgid "Are you sure you want to delete it? (y/N) "
 msgstr "Jste si jistý(á), že jej chcete smazat? (a/N) "
 
-#: g10/keyedit.c:5403
+#: g10/keyedit.c:5404
 msgid "Enter the notation: "
 msgstr "Vložte poznámku: "
 
-#: g10/keyedit.c:5550
+#: g10/keyedit.c:5551
 msgid "Proceed? (y/N) "
 msgstr "Pokračovat (a/N)? "
 
-#: g10/keyedit.c:5620
+#: g10/keyedit.c:5621
 #, c-format
 msgid "No user ID with index %d\n"
 msgstr "Neexistuje identifikátor uživatele s indexem %d\n"
 
-#: g10/keyedit.c:5682
+#: g10/keyedit.c:5683
 #, c-format
 msgid "No user ID with hash %s\n"
 msgstr "Neexistuje uživatelské ID s hashem %s\n"
 
-#: g10/keyedit.c:5783
+#: g10/keyedit.c:5784
 #, c-format
 msgid "No subkey with key ID '%s'.\n"
 msgstr "Neexistuje podklíč s ID klíče „%s“.\n"
 
-#: g10/keyedit.c:5805
+#: g10/keyedit.c:5806
 #, c-format
 msgid "No subkey with index %d\n"
 msgstr "Neexistuje podklíč s indexem %d\n"
 
-#: g10/keyedit.c:5946
+#: g10/keyedit.c:5947
 #, c-format
 msgid "user ID: \"%s\"\n"
 msgstr "ID uživatele: „%s“\n"
 
-#: g10/keyedit.c:5949 g10/keyedit.c:6051 g10/keyedit.c:6099
+#: g10/keyedit.c:5950 g10/keyedit.c:6052 g10/keyedit.c:6100
 #, c-format
 msgid "signed by your key %s on %s%s%s\n"
 msgstr "podepsáno vaším klíčem %s v %s%s%s\n"
 
-#: g10/keyedit.c:5951 g10/keyedit.c:6053 g10/keyedit.c:6101
+#: g10/keyedit.c:5952 g10/keyedit.c:6054 g10/keyedit.c:6102
 msgid " (non-exportable)"
 msgstr " (neexportovatelné)"
 
-#: g10/keyedit.c:5955
+#: g10/keyedit.c:5956
 #, c-format
 msgid "This signature expired on %s.\n"
 msgstr "Platnost podpisu vyprší %s.\n"
 
-#: g10/keyedit.c:5960
+#: g10/keyedit.c:5961
 msgid "Are you sure you still want to revoke it? (y/N) "
 msgstr "Jste si jisti, že jej chcete stále odvolat? (a/N) "
 
-#: g10/keyedit.c:5965
+#: g10/keyedit.c:5966
 msgid "Create a revocation certificate for this signature? (y/N) "
 msgstr "Vytvořit pro tento podpis odvolací certifikát? (a/N)"
 
-#: g10/keyedit.c:6025
+#: g10/keyedit.c:6026
 #, c-format
 msgid "You have signed these user IDs on key %s:\n"
 msgstr "Podepsal(a) jste následující identifikátory uživatele: %s:\n"
 
-#: g10/keyedit.c:6054
+#: g10/keyedit.c:6055
 msgid " (non-revocable)"
 msgstr " (neodvolatelné)"
 
-#: g10/keyedit.c:6061
+#: g10/keyedit.c:6062
 #, c-format
 msgid "revoked by your key %s on %s\n"
 msgstr "odvoláno vaším klíčem %s v %s\n"
 
-#: g10/keyedit.c:6086
+#: g10/keyedit.c:6087
 msgid "You are about to revoke these signatures:\n"
 msgstr "Chystáte se odvolat tyto podpisy:\n"
 
-#: g10/keyedit.c:6109
+#: g10/keyedit.c:6110
 msgid "Really create the revocation certificates? (y/N) "
 msgstr "Opravdu vytvořit odvolací certifikáty? (a/N) "
 
-#: g10/keyedit.c:6142
+#: g10/keyedit.c:6143
 #, c-format
 msgid "no secret key\n"
 msgstr "neexistuje tajný klíč\n"
 
-#: g10/keyedit.c:6190
+#: g10/keyedit.c:6191
 #, c-format
 msgid "tried to revoke a non-user ID: %s\n"
 msgstr "pokus odvolat ID neuživatele: %s\n"
 
-#: g10/keyedit.c:6200
+#: g10/keyedit.c:6201
 #, c-format
 msgid "user ID \"%s\" is already revoked\n"
 msgstr "uživatelské ID „%s“ je již odvoláno\n"
 
-#: g10/keyedit.c:6217
+#: g10/keyedit.c:6218
 #, c-format
 msgid "WARNING: a user ID signature is dated %d seconds in the future\n"
 msgstr "VAROVÁNÍ: podpis ID uživatele je datován %d sekund v budoucnosti\n"
 
-#: g10/keyedit.c:6313
+#: g10/keyedit.c:6314
 #, c-format
 msgid "Cannot revoke the last valid user ID.\n"
 msgstr "Poslední platné ID uživatele nelze odvolat.\n"
 
-#: g10/keyedit.c:6351
+#: g10/keyedit.c:6352
 #, c-format
 msgid "Key %s is already revoked.\n"
 msgstr "Klíč %s je již odvolán.\n"
 
-#: g10/keyedit.c:6413
+#: g10/keyedit.c:6414
 #, c-format
 msgid "Subkey %s is already revoked.\n"
 msgstr "Podklíč %s je již odvolán.\n"
 
-#: g10/keyedit.c:6510
+#: g10/keyedit.c:6511
 #, c-format
 msgid "Displaying %s photo ID of size %ld for key %s (uid %d)\n"
 msgstr "Zobrazuji %s fotografický ID o velikosti %ld pro klíč %s (uid %d)\n"
@@ -5717,25 +5735,25 @@ msgstr "respektovat URL upřednostňovaných serverů klíčů daného klíče"
 msgid "honor the PKA record set on a key when retrieving keys"
 msgstr "respektovat PKA záznamy klíče při získávání klíčů"
 
-#: g10/keyserver.c:550
+#: g10/keyserver.c:373
 msgid "disabled"
 msgstr "zneplatněn"
 
-#: g10/keyserver.c:754
+#: g10/keyserver.c:577
 msgid "Enter number(s), N)ext, or Q)uit > "
 msgstr "Vložte číslo (čísla), „N“ pro další, nebo „Q“ pro konec > "
 
-#: g10/keyserver.c:860
+#: g10/keyserver.c:683
 #, c-format
 msgid "invalid keyserver protocol (us %d!=handler %d)\n"
 msgstr "neplatný protokol serveru klíčů (naše %d!=obsluha %d)\n"
 
-#: g10/keyserver.c:1001 g10/keyserver.c:1116
+#: g10/keyserver.c:824 g10/keyserver.c:939
 #, c-format
 msgid "\"%s\" not a key ID: skipping\n"
 msgstr "„%s“ není ID klíče: přeskočeno\n"
 
-#: g10/keyserver.c:1438 g10/keyserver.c:1471
+#: g10/keyserver.c:1237 g10/keyserver.c:1270
 #, c-format
 msgid "refreshing %d key from %s\n"
 msgid_plural "refreshing %d keys from %s\n"
@@ -5743,52 +5761,47 @@ msgstr[0] "aktualizuje se %d klíč z %s\n"
 msgstr[1] "aktualizují se %d klíče z %s\n"
 msgstr[2] "aktualizuje se %d klíčů z %s\n"
 
-#: g10/keyserver.c:1445
+#: g10/keyserver.c:1244
 #, c-format
 msgid "WARNING: unable to refresh key %s via %s: %s\n"
 msgstr "VAROVÁNÍ: nelze aktualizovat klíč %s prostřednictvím %s: %s\n"
 
-#: g10/keyserver.c:1549
+#: g10/keyserver.c:1336
 #, c-format
 msgid "key \"%s\" not found on keyserver\n"
 msgstr "klíč „%s“ nebyl na serveru klíčů nalezen\n"
 
-#: g10/keyserver.c:1552
+#: g10/keyserver.c:1339
 #, c-format
 msgid "key not found on keyserver\n"
 msgstr "klíč nebyl na serveru klíčů nalezen\n"
 
-#: g10/keyserver.c:1743
-#, c-format
-msgid "requesting key %s from %s server %s\n"
-msgstr "požaduji klíč %s z %s serveru %s\n"
-
-#: g10/keyserver.c:1747
+#: g10/keyserver.c:1504
 #, c-format
 msgid "requesting key %s from %s\n"
 msgstr "požaduji klíč %s z %s\n"
 
-#: g10/keyserver.c:1852 g10/keyserver.c:2031
+#: g10/keyserver.c:1619 g10/keyserver.c:1798
 #, c-format
 msgid "no keyserver known\n"
 msgstr "není znám žádný server s klíči\n"
 
-#: g10/keyserver.c:1867 g10/skclist.c:214 g10/skclist.c:242
+#: g10/keyserver.c:1634 g10/skclist.c:215 g10/skclist.c:243
 #, c-format
 msgid "skipped \"%s\": %s\n"
 msgstr "přeskočen „%s“: %s\n"
 
-#: g10/keyserver.c:1871
+#: g10/keyserver.c:1638
 #, c-format
 msgid "sending key %s to %s\n"
 msgstr "posílám klíč %s na %s\n"
 
-#: g10/keyserver.c:1912
+#: g10/keyserver.c:1679
 #, c-format
 msgid "requesting key from '%s'\n"
 msgstr "požaduje se klíč z „%s“\n"
 
-#: g10/keyserver.c:1928
+#: g10/keyserver.c:1695
 #, c-format
 msgid "WARNING: unable to fetch URI %s: %s\n"
 msgstr "VAROVÁNÍ: URI %s nelze získat: %s\n"
@@ -5803,76 +5816,76 @@ msgstr "podivná velikost šifrovacího klíče pro sezení (%d)\n"
 msgid "%s encrypted session key\n"
 msgstr "%s zašifrovaný klíč sezení\n"
 
-#: g10/mainproc.c:400
+#: g10/mainproc.c:403
 #, c-format
 msgid "passphrase generated with unknown digest algorithm %d\n"
 msgstr "heslo (passphrase) generováno s použitím neznámého algoritmu %d\n"
 
-#: g10/mainproc.c:481
+#: g10/mainproc.c:485
 #, c-format
 msgid "public key is %s\n"
 msgstr "veřejný klíč je %s\n"
 
-#: g10/mainproc.c:557
+#: g10/mainproc.c:561
 #, c-format
 msgid "public key encrypted data: good DEK\n"
 msgstr "data zašifrována veřejným klíčem: správný DEK\n"
 
-#: g10/mainproc.c:590
+#: g10/mainproc.c:594
 #, c-format
 msgid "encrypted with %u-bit %s key, ID %s, created %s\n"
 msgstr "zašifrována %u-bitovým %s klíčem, ID %s, vytvořeným %s\n"
 
-#: g10/mainproc.c:594 g10/pkclist.c:228
+#: g10/mainproc.c:598 g10/pkclist.c:228
 #, c-format
 msgid "      \"%s\"\n"
 msgstr "      „%s“\n"
 
 # Scripte scannen lt. dl1bke auf "ID (0-9A-F)+" deswegen muß "ID" rein :-(
 # [kw]
-#: g10/mainproc.c:598
+#: g10/mainproc.c:602
 #, c-format
 msgid "encrypted with %s key, ID %s\n"
 msgstr "zašifrováno %s klíčem, ID %s\n"
 
-#: g10/mainproc.c:619
+#: g10/mainproc.c:623
 #, c-format
 msgid "public key decryption failed: %s\n"
 msgstr "dešifrování veřejným klíčem selhalo: %s\n"
 
-#: g10/mainproc.c:641 g10/mainproc.c:970
+#: g10/mainproc.c:645 g10/mainproc.c:976
 #, c-format
 msgid "WARNING: multiple plaintexts seen\n"
 msgstr "VAROVÁNÍ: zachyceno více prostých textů\n"
 
-#: g10/mainproc.c:649
+#: g10/mainproc.c:653
 #, c-format
 msgid "encrypted with %lu passphrases\n"
 msgstr "zašifrováno s heslem %lu\n"
 
-#: g10/mainproc.c:651
+#: g10/mainproc.c:655
 #, c-format
 msgid "encrypted with 1 passphrase\n"
 msgstr "zašifrováno jedním heslem\n"
 
-#: g10/mainproc.c:685 g10/mainproc.c:706
+#: g10/mainproc.c:689 g10/mainproc.c:710
 #, c-format
 msgid "assuming %s encrypted data\n"
 msgstr "předpokládám %s šifrovaných dat\n"
 
-#: g10/mainproc.c:692
+#: g10/mainproc.c:696
 #, c-format
 msgid "IDEA cipher unavailable, optimistically attempting to use %s instead\n"
 msgstr ""
 "algoritmus IDEA není dostupný; optimisticky se jej pokusíme nahradit "
 "algoritmem %s\n"
 
-#: g10/mainproc.c:779 g10/mainproc.c:817
+#: g10/mainproc.c:785 g10/mainproc.c:823
 #, c-format
 msgid "WARNING: message was not integrity protected\n"
 msgstr "VAROVÁNÍ: zpráva nebyla chráněna proti porušení její integrity\n"
 
-#: g10/mainproc.c:790
+#: g10/mainproc.c:796
 msgid ""
 "Hint: If this message was created before the year 2003 it is\n"
 "likely that this message is legitimate.  This is because back\n"
@@ -5881,182 +5894,182 @@ msgstr ""
 "Pokyn: Pokud tato zpráva byla vytvořena před rokem 2003, je pravděpodobné,\n"
 "že je legitimní. Tehdy se totiž ochrana integrity příliš nepoužívala.\n"
 
-#: g10/mainproc.c:793
+#: g10/mainproc.c:799
 #, c-format
 msgid "Use the option '%s' to decrypt anyway.\n"
 msgstr "Dešifrování lze vynutit volbou „%s“.\n"
 
-#: g10/mainproc.c:798
+#: g10/mainproc.c:804
 #, c-format
 msgid "decryption forced to fail!\n"
 msgstr "vynucené dešifrování selhalo!\n"
 
-#: g10/mainproc.c:810
+#: g10/mainproc.c:816
 #, c-format
 msgid "decryption okay\n"
 msgstr "dešifrování o.k.\n"
 
-#: g10/mainproc.c:823
+#: g10/mainproc.c:829
 #, c-format
 msgid "WARNING: encrypted message has been manipulated!\n"
 msgstr "VAROVÁNÍ: se zašifrovanou zprávou bylo manipulováno!\n"
 
-#: g10/mainproc.c:841
+#: g10/mainproc.c:847
 #, c-format
 msgid "decryption failed: %s\n"
 msgstr "dešifrování selhalo: %s\n"
 
-#: g10/mainproc.c:886
+#: g10/mainproc.c:892
 #, c-format
 msgid "Note: sender requested \"for-your-eyes-only\"\n"
 msgstr ""
 "Poznámka: odesílatel považoval data za důvěrná („for-your-eyes-only“)\n"
 
-#: g10/mainproc.c:893
+#: g10/mainproc.c:899
 #, c-format
 msgid "original file name='%.*s'\n"
 msgstr "původní jméno souboru='%.*s'\n"
 
-#: g10/mainproc.c:1148
+#: g10/mainproc.c:1154
 #, c-format
 msgid "standalone revocation - use \"gpg --import\" to apply\n"
 msgstr ""
 "samostatný revokační certifikát – použijte „gpg --import“, chcete-li jej "
 "užít\n"
 
-#: g10/mainproc.c:1452 g10/mainproc.c:1495
+#: g10/mainproc.c:1458 g10/mainproc.c:1501
 #, c-format
 msgid "no signature found\n"
 msgstr "nenalezen žádná podpis\n"
 
-#: g10/mainproc.c:1852
+#: g10/mainproc.c:1858
 #, c-format
 msgid "BAD signature from \"%s\""
 msgstr "ŠPATNÝ podpis od „%s“"
 
-#: g10/mainproc.c:1854
+#: g10/mainproc.c:1860
 #, c-format
 msgid "Expired signature from \"%s\""
 msgstr "Podpis s vypršenou platností od „%s“"
 
-#: g10/mainproc.c:1856
+#: g10/mainproc.c:1862
 #, c-format
 msgid "Good signature from \"%s\""
 msgstr "Dobrý podpis od „%s“"
 
-#: g10/mainproc.c:1876
+#: g10/mainproc.c:1882
 #, c-format
 msgid "signature verification suppressed\n"
 msgstr "verifikace podpisu potlačena\n"
 
-#: g10/mainproc.c:1985
+#: g10/mainproc.c:1991
 #, c-format
 msgid "can't handle this ambiguous signature data\n"
 msgstr "neumím pracovat s těmito nejednoznačnými daty\n"
 
-#: g10/mainproc.c:2001 g10/mainproc.c:2008
+#: g10/mainproc.c:2007 g10/mainproc.c:2014
 #, c-format
 msgid "Signature made %s\n"
 msgstr "Podpis vytvořen %s\n"
 
-#: g10/mainproc.c:2002 g10/mainproc.c:2009 sm/verify.c:476
+#: g10/mainproc.c:2008 g10/mainproc.c:2015 sm/verify.c:476
 #, c-format
 msgid "               using %s key %s\n"
 msgstr "               použití %s klíče %s\n"
 
 # Scripte scannen lt. dl1bke auf "ID (0-9A-F)+" deswegen muß "ID" rein :-(
-#: g10/mainproc.c:2013
+#: g10/mainproc.c:2019
 #, c-format
 msgid "Signature made %s using %s key ID %s\n"
 msgstr "Podpis vytvořen %s pomocí klíče %s s ID uživatele %s\n"
 
-#: g10/mainproc.c:2019
+#: g10/mainproc.c:2025
 #, c-format
 msgid "               issuer \"%s\"\n"
 msgstr "               vydavatel „%s“\n"
 
-#: g10/mainproc.c:2070
+#: g10/mainproc.c:2076
 #, c-format
 msgid "Key available at: "
 msgstr "Klíč k dispozici na: "
 
-#: g10/mainproc.c:2111
+#: g10/mainproc.c:2118
 #, c-format
 msgid "Note: Use '%s' to make use of this info\n"
 msgstr "Poznámka: Použijte „%s“ pro využití těchto údajů\n"
 
-#: g10/mainproc.c:2325
+#: g10/mainproc.c:2334
 msgid "[uncertain]"
 msgstr "[nejistý]"
 
-#: g10/mainproc.c:2363
+#: g10/mainproc.c:2372
 #, c-format
 msgid "                aka \"%s\""
 msgstr "                alias „%s“"
 
-#: g10/mainproc.c:2438
+#: g10/mainproc.c:2447
 #, c-format
 msgid "WARNING: This key is not suitable for signing in %s mode\n"
 msgstr "POZOR: Tento klíč se nehodí na podepisování v režimu %s\n"
 
-#: g10/mainproc.c:2456
+#: g10/mainproc.c:2465
 #, c-format
 msgid "Signature expired %s\n"
 msgstr "Platnost podpisu skončila %s\n"
 
-#: g10/mainproc.c:2460
+#: g10/mainproc.c:2469
 #, c-format
 msgid "Signature expires %s\n"
 msgstr "Platnost podpisu skončí %s\n"
 
-#: g10/mainproc.c:2471
+#: g10/mainproc.c:2480
 #, c-format
 msgid "%s signature, digest algorithm %s%s%s\n"
 msgstr "podpis %s, hashovací algoritmus %s%s%s\n"
 
-#: g10/mainproc.c:2472
+#: g10/mainproc.c:2481
 msgid "binary"
 msgstr "binární formát"
 
-#: g10/mainproc.c:2473
+#: g10/mainproc.c:2482
 msgid "textmode"
 msgstr "textový formát"
 
-#: g10/mainproc.c:2473 g10/trust.c:123 dirmngr/ocsp.c:792
+#: g10/mainproc.c:2482 g10/trust.c:123 dirmngr/ocsp.c:792
 msgid "unknown"
 msgstr "neznámý formát"
 
-#: g10/mainproc.c:2475
+#: g10/mainproc.c:2484
 msgid ", key algorithm "
 msgstr ", algoritmus klíče"
 
-#: g10/mainproc.c:2510
+#: g10/mainproc.c:2519
 #, c-format
 msgid "WARNING: not a detached signature; file '%s' was NOT verified!\n"
 msgstr "POZOR: nejedná se o oddělený podpis. Soubor „%s“ NEBYL ověřen!\n"
 
-#: g10/mainproc.c:2548
+#: g10/mainproc.c:2558
 #, c-format
 msgid "Can't check signature: %s\n"
 msgstr "Nemohu ověřit podpis: %s\n"
 
-#: g10/mainproc.c:2644 g10/mainproc.c:2663 g10/mainproc.c:2787
+#: g10/mainproc.c:2654 g10/mainproc.c:2673 g10/mainproc.c:2797
 #, c-format
 msgid "not a detached signature\n"
 msgstr "toto není podpis oddělený od dokumentu\n"
 
-#: g10/mainproc.c:2697
+#: g10/mainproc.c:2707
 #, c-format
 msgid ""
 "WARNING: multiple signatures detected.  Only the first will be checked.\n"
 msgstr "VAROVÁNÍ: detekováno více podpisů. Kontrolován bude pouze první.\n"
 
-#: g10/mainproc.c:2706
+#: g10/mainproc.c:2716
 #, c-format
 msgid "standalone signature of class 0x%02x\n"
 msgstr "samostatný podpis třídy 0x%02x\n"
 
-#: g10/mainproc.c:2791
+#: g10/mainproc.c:2801
 #, c-format
 msgid "old style (PGP 2.x) signature\n"
 msgstr "podpis starého typu (PGP 2.x)\n"
@@ -6238,50 +6251,56 @@ msgstr "Neznámá kritická notace podpisu: "
 msgid "subpacket of type %d has critical bit set\n"
 msgstr "podpacket typu %d má nastavený kritický bit\n"
 
-#: g10/passphrase.c:73 g10/passphrase.c:275 g10/passphrase.c:308
+#: g10/passphrase.c:73 g10/passphrase.c:283 g10/passphrase.c:316
 #, c-format
 msgid "problem with the agent: %s\n"
 msgstr "problém s agentem: %s\n"
 
-#: g10/passphrase.c:258
+#: g10/passphrase.c:251 sm/decrypt.c:341
+#, fuzzy
+#| msgid "Please enter the new passphrase"
+msgid "Please enter the passphrase for decryption."
+msgstr "Prosím, zadejte nové heslo"
+
+#: g10/passphrase.c:253
 msgid "Enter passphrase\n"
 msgstr "Vložit heslo\n"
 
-#: g10/passphrase.c:269
+#: g10/passphrase.c:277
 #, c-format
 msgid "cancelled by user\n"
 msgstr "zrušeno uživatelem\n"
 
-#: g10/passphrase.c:510
+#: g10/passphrase.c:523
 #, c-format
 msgid " (main key ID %s)"
 msgstr " (ID hlavního klíče %s)"
 
-#: g10/passphrase.c:517
+#: g10/passphrase.c:530
 msgid "Please enter the passphrase to unlock the OpenPGP secret key:"
 msgstr "Prosím, zadejte heslo, abyste odemkli tajný klíč OpenPGP:"
 
-#: g10/passphrase.c:521
+#: g10/passphrase.c:534
 msgid "Please enter the passphrase to import the OpenPGP secret key:"
 msgstr "Prosím, zadejte heslo, abyste mohli importovat tajný klíč OpenPGP:"
 
-#: g10/passphrase.c:526
+#: g10/passphrase.c:539
 msgid "Please enter the passphrase to export the OpenPGP secret subkey:"
 msgstr "Prosím, zadejte heslo, abyste mohli exportovat tajný podklíč OpenPGP:"
 
-#: g10/passphrase.c:529
+#: g10/passphrase.c:542
 msgid "Please enter the passphrase to export the OpenPGP secret key:"
 msgstr "Prosím, zadejte heslo, abyste mohli exportovat tajný klíč OpenPGP:"
 
-#: g10/passphrase.c:534
+#: g10/passphrase.c:547
 msgid "Do you really want to permanently delete the OpenPGP secret subkey key:"
 msgstr "Opravdu chcete trvale smazat tajný klíč podklíče OpenPGP:"
 
-#: g10/passphrase.c:537
+#: g10/passphrase.c:550
 msgid "Do you really want to permanently delete the OpenPGP secret key:"
 msgstr "Opravdu chcete trvale smazat tajný klíč OpenPGP:"
 
-#: g10/passphrase.c:546
+#: g10/passphrase.c:559
 #, c-format
 msgid ""
 "%s\n"
@@ -6337,7 +6356,7 @@ msgstr "„%s“ není soubor ve formátu JPEG\n"
 msgid "Is this photo correct (y/N/q)? "
 msgstr "Je tato fotografie správná (a/N/u)? "
 
-#: g10/photoid.c:395
+#: g10/photoid.c:399
 #, c-format
 msgid "unable to display photo ID!\n"
 msgstr "nelze zobrazit photo ID!\n"
@@ -6679,7 +6698,7 @@ msgstr "nelze otevřít podepsaná data „%s“\n"
 msgid "can't open signed data fd=%d: %s\n"
 msgstr "nelze otevřít podepsaná data na deskriptoru=%d: %s\n"
 
-#: g10/pubkey-enc.c:98 g10/pubkey-enc.c:139 sm/decrypt.c:493
+#: g10/pubkey-enc.c:98 g10/pubkey-enc.c:139 sm/decrypt.c:969
 #, c-format
 msgid "key %s is not suitable for decryption in %s mode\n"
 msgstr "klíč %s se nehodí na rozšifrování v režimu %s\n"
@@ -6694,27 +6713,27 @@ msgstr "anonymní adresát; zkusí se tajný klíč %s…\n"
 msgid "okay, we are the anonymous recipient.\n"
 msgstr "dobrá, my jsme anonymní adresát.\n"
 
-#: g10/pubkey-enc.c:321
+#: g10/pubkey-enc.c:311
 #, c-format
 msgid "old encoding of the DEK is not supported\n"
 msgstr "staré kódování DEK není podporováno\n"
 
-#: g10/pubkey-enc.c:349
+#: g10/pubkey-enc.c:339
 #, c-format
 msgid "cipher algorithm %d%s is unknown or disabled\n"
 msgstr "šifrovací algoritmus %d%s je neznámý nebo je zneplatněn\n"
 
-#: g10/pubkey-enc.c:393
+#: g10/pubkey-enc.c:383
 #, c-format
 msgid "WARNING: cipher algorithm %s not found in recipient preferences\n"
 msgstr "VAROVÁNÍ: v předvolbách příjemce nenalezen šifrovací algoritmus %s\n"
 
-#: g10/pubkey-enc.c:426
+#: g10/pubkey-enc.c:416
 #, c-format
 msgid "Note: secret key %s expired at %s\n"
 msgstr "Poznámka: platnost tajného klíče %s skončila v %s\n"
 
-#: g10/pubkey-enc.c:433
+#: g10/pubkey-enc.c:423
 #, c-format
 msgid "Note: key has been revoked"
 msgstr "Poznámka: klíč byl odvolán"
@@ -7040,7 +7059,7 @@ msgstr ""
 msgid "%s/%s signature from: \"%s\"\n"
 msgstr "%s/%s podpis od: „%s“\n"
 
-#: g10/sign.c:1046
+#: g10/sign.c:1045
 #, c-format
 msgid ""
 "WARNING: forcing digest algorithm %s (%d) violates recipient preferences\n"
@@ -7048,34 +7067,34 @@ msgstr ""
 "VAROVÁNÍ: vyžádaný hashovací algoritmus %s (%d) nevyhovuje předvolbám "
 "příjemce\n"
 
-#: g10/sign.c:1188
+#: g10/sign.c:1187
 #, c-format
 msgid "signing:"
 msgstr "podepisuji:"
 
-#: g10/sign.c:1465
+#: g10/sign.c:1464
 #, c-format
 msgid "%s encryption will be used\n"
 msgstr "bude použito šifrování %s\n"
 
-#: g10/skclist.c:173 g10/skclist.c:254
+#: g10/skclist.c:174 g10/skclist.c:255
 #, c-format
 msgid "key is not flagged as insecure - can't use it with the faked RNG!\n"
 msgstr ""
 "klíč není označen jako nedostatečně bezpečný – nemohu jej použít s falešným "
 "RNG!\n"
 
-#: g10/skclist.c:205
+#: g10/skclist.c:206
 #, c-format
 msgid "skipped \"%s\": duplicated\n"
 msgstr "přeskočen „%s“: duplikován\n"
 
-#: g10/skclist.c:224
+#: g10/skclist.c:225
 #, c-format
 msgid "skipped: secret key already present\n"
 msgstr "přeskočeno: tajný klíč je už v databázi\n"
 
-#: g10/skclist.c:243
+#: g10/skclist.c:244
 msgid "this is a PGP generated Elgamal key which is not secure for signatures!"
 msgstr ""
 "toto je PGP klíč vygenerovaný podle algoritmu Elgamal,\n"
@@ -7131,7 +7150,7 @@ msgstr "chyba při čtení v „%s“: %s\n"
 msgid "trustdb: sync failed: %s\n"
 msgstr "databáze důvěry: synchronizace selhala %s\n"
 
-#: g10/tdbio.c:144 sm/keydb.c:336
+#: g10/tdbio.c:144 sm/keydb.c:335
 #, c-format
 msgid "can't create lock for '%s'\n"
 msgstr "pro „%s“ nelze vytvořit zámek\n"
@@ -7897,40 +7916,50 @@ msgstr ""
 #. TRANSLATORS: Put a \x1f right before a colon.  This can be
 #. * used by pinentry to nicely align the names and values.  Keep
 #. * the %s at the start and end of the string.
-#: scd/app-p15.c:3369 scd/app-openpgp.c:2153
+#: scd/app-p15.c:4955 scd/app-openpgp.c:2151
 #, c-format
 msgid "%sNumber\1f: %s%%0AHolder\1f: %s%s"
 msgstr "%sČíslo\1f: %s%%0ADržitel\1f: %s%s"
 
 #. TRANSLATORS: This is the number of remaining attempts to
 #. * enter a PIN.  Use %%0A (double-percent,0A) for a linefeed.
-#: scd/app-p15.c:3388 scd/app-openpgp.c:2169
+#: scd/app-p15.c:4974 scd/app-openpgp.c:2167
 #, c-format
 msgid "Remaining attempts: %d"
 msgstr "Zbývá pokusů: %d"
 
-#: scd/app-p15.c:3459 scd/app-nks.c:1110
+#: scd/app-p15.c:5053 scd/app-nks.c:1113
 msgid "||Please enter the PIN for the key to create qualified signatures."
 msgstr ""
 "||Prosím, zadejte PIN klíče určeného na tvorbu kvalifikovaných podpisů."
 
-#: scd/app-p15.c:3462 scd/app-nks.c:1092
+#. TRANSLATORS: Do not translate the "|A|" prefix but keep it at
+#. the start of the string.  Use %0A (single percent) for a linefeed.
+#: scd/app-p15.c:5056 scd/app-openpgp.c:2461
+msgid "|A|Please enter the Admin PIN"
+msgstr "|A|Prosím, zadejte PIN správce"
+
+#: scd/app-p15.c:5058 scd/app-nks.c:1103
+msgid "|P|Please enter the PIN Unblocking Code (PUK) for the standard keys."
+msgstr "|P|Prosím, zadejte kód pro odblokování (PUK) standardních klíčů."
+
+#: scd/app-p15.c:5061 scd/app-nks.c:1095
 msgid "||Please enter the PIN for the standard keys."
 msgstr "||Prosím, zadejte PIN pro standardní klíče."
 
-#: scd/app-nks.c:709 scd/app-openpgp.c:3664
+#: scd/app-nks.c:709 scd/app-openpgp.c:3663
 #, c-format
 msgid "RSA modulus missing or not of size %d bits\n"
 msgstr "schází RSA modulus nebo nemá velikost %d bitů\n"
 
-#: scd/app-nks.c:717 scd/app-openpgp.c:3676
+#: scd/app-nks.c:717 scd/app-openpgp.c:3675
 #, c-format
 msgid "RSA public exponent missing or larger than %d bits\n"
 msgstr "schází veřejný RSA exponent nebo je delší než %d bitů\n"
 
-#: scd/app-nks.c:797 scd/app-openpgp.c:2326 scd/app-openpgp.c:2345
-#: scd/app-openpgp.c:2512 scd/app-openpgp.c:2530 scd/app-openpgp.c:2827
-#: scd/app-openpgp.c:2874 scd/app-openpgp.c:2989 scd/app-dinsig.c:303
+#: scd/app-nks.c:797 scd/app-openpgp.c:2324 scd/app-openpgp.c:2343
+#: scd/app-openpgp.c:2510 scd/app-openpgp.c:2528 scd/app-openpgp.c:2826
+#: scd/app-openpgp.c:2873 scd/app-openpgp.c:2988 scd/app-dinsig.c:302
 #, c-format
 msgid "PIN callback returned error: %s\n"
 msgstr "funkce PIN callback skončila chybou: %s\n"
@@ -7942,24 +7971,20 @@ msgstr "NullPIN ještě nebyl změněn\n"
 
 # TRANSLATORS: Do not translate the "|*|" prefixes but keep
 # them verbatim at the start of the string.  */
-#: scd/app-nks.c:1091
+#: scd/app-nks.c:1094
 msgid "|N|Please enter a new PIN for the standard keys."
 msgstr "|N|Prosím, zadejte nový PIN pro standardní klíče."
 
-#: scd/app-nks.c:1098
+#: scd/app-nks.c:1101
 msgid "|NP|Please enter a new PIN Unblocking Code (PUK) for the standard keys."
 msgstr "|NP|Prosím, zadejte nový kód pro odblokování (PUK) standardních klíčů."
 
-#: scd/app-nks.c:1100
-msgid "|P|Please enter the PIN Unblocking Code (PUK) for the standard keys."
-msgstr "|P|Prosím, zadejte kód pro odblokování (PUK) standardních klíčů."
-
-#: scd/app-nks.c:1108
+#: scd/app-nks.c:1111
 msgid "|N|Please enter a new PIN for the key to create qualified signatures."
 msgstr ""
 "|N|Prosím, zadejte nový PIN klíče určeného na tvorbu kvalifikovaných podpisů."
 
-#: scd/app-nks.c:1118
+#: scd/app-nks.c:1121
 msgid ""
 "|NP|Please enter a new PIN Unblocking Code (PUK) for the key to create "
 "qualified signatures."
@@ -7967,7 +7992,7 @@ msgstr ""
 "|NP|Prosím, zadejte nový kód pro odblokování (PUK) klíče určeného na tvorbu "
 "kvalifikovaných podpisů."
 
-#: scd/app-nks.c:1120
+#: scd/app-nks.c:1123
 msgid ""
 "|P|Please enter the PIN Unblocking Code (PUK) for the key to create "
 "qualified signatures."
@@ -7975,47 +8000,47 @@ msgstr ""
 "|NP|Prosím, zadejte kód pro odblokování (PUK) klíče určeného na tvorbu "
 "kvalifikovaných podpisů."
 
-#: scd/app-nks.c:1227 scd/app-openpgp.c:2908 scd/app-dinsig.c:531
+#: scd/app-nks.c:1230 scd/app-openpgp.c:2907 scd/app-dinsig.c:532
 #, c-format
 msgid "error getting new PIN: %s\n"
 msgstr "chyba při získání nového PINu: %s\n"
 
-#: scd/app-openpgp.c:860
+#: scd/app-openpgp.c:859
 #, c-format
 msgid "failed to store the fingerprint: %s\n"
 msgstr "uložení otisku se nezdařilo: %s\n"
 
-#: scd/app-openpgp.c:873
+#: scd/app-openpgp.c:872
 #, c-format
 msgid "failed to store the creation date: %s\n"
 msgstr "uložení data vytvoření se nezdařilo: %s\n"
 
-#: scd/app-openpgp.c:1272 scd/app-openpgp.c:2855 scd/app-openpgp.c:5020
+#: scd/app-openpgp.c:1268 scd/app-openpgp.c:2854 scd/app-openpgp.c:5025
 #, c-format
 msgid "error retrieving CHV status from card\n"
 msgstr "chyba při získání CHV z karty\n"
 
-#: scd/app-openpgp.c:1430
+#: scd/app-openpgp.c:1426
 #, c-format
 msgid "response does not contain the RSA modulus\n"
 msgstr "odpověď neobsahuje modulus RSA\n"
 
-#: scd/app-openpgp.c:1437
+#: scd/app-openpgp.c:1433
 #, c-format
 msgid "response does not contain the RSA public exponent\n"
 msgstr "odpověď neobsahuje veřejný exponent RSA\n"
 
-#: scd/app-openpgp.c:1547
+#: scd/app-openpgp.c:1543
 #, c-format
 msgid "response does not contain the EC public key\n"
 msgstr "odpověď neobsahuje veřejný klíč EC\n"
 
-#: scd/app-openpgp.c:1665 scd/app-openpgp.c:4284
+#: scd/app-openpgp.c:1661 scd/app-openpgp.c:4283
 #, c-format
 msgid "response does not contain the public key data\n"
 msgstr "odpověď neobsahuje veřejný klíč\n"
 
-#: scd/app-openpgp.c:1772
+#: scd/app-openpgp.c:1768
 #, c-format
 msgid "reading public key failed: %s\n"
 msgstr "čtení veřejného klíče se nezdařilo: %s\n"
@@ -8023,43 +8048,43 @@ msgstr "čtení veřejného klíče se nezdařilo: %s\n"
 #. TRANSLATORS: Put a \x1f right before a colon.  This can be
 #. * used by pinentry to nicely align the names and values.  Keep
 #. * the %s at the start and end of the string.
-#: scd/app-openpgp.c:2140
+#: scd/app-openpgp.c:2138
 #, c-format
 msgid "%sNumber\1f: %s%%0AHolder\1f: %s%%0ACounter\1f: %lu%s"
 msgstr "%sČíslo\1f: %s%%0ADržitel\1f: %s%%0APočítadlo\1f: %lu%s"
 
-#: scd/app-openpgp.c:2280
+#: scd/app-openpgp.c:2278
 #, c-format
 msgid "using default PIN as %s\n"
 msgstr "použije se výchozí PIN jako %s\n"
 
-#: scd/app-openpgp.c:2287
+#: scd/app-openpgp.c:2285
 #, c-format
 msgid "failed to use default PIN as %s: %s - disabling further default use\n"
 msgstr ""
 "použití výchozího PINu jako %s selhalo: %s – vypínám jeho budoucí použití\n"
 
-#: scd/app-openpgp.c:2300
+#: scd/app-openpgp.c:2298
 msgid "||Please unlock the card"
 msgstr "||Prosím, odemkněte kartu"
 
-#: scd/app-openpgp.c:2352 scd/app-openpgp.c:2537 scd/app-openpgp.c:2834
+#: scd/app-openpgp.c:2350 scd/app-openpgp.c:2535 scd/app-openpgp.c:2833
 #, c-format
 msgid "PIN for CHV%d is too short; minimum length is %d\n"
 msgstr "PIN pro CHV%d je příliš krátký; minimální délka je %d\n"
 
-#: scd/app-openpgp.c:2366 scd/app-openpgp.c:2413 scd/app-openpgp.c:2551
-#: scd/app-openpgp.c:4642
+#: scd/app-openpgp.c:2364 scd/app-openpgp.c:2411 scd/app-openpgp.c:2549
+#: scd/app-openpgp.c:4641
 #, c-format
 msgid "verify CHV%d failed: %s\n"
 msgstr "ověření CHV%d se nezdařilo: %s\n"
 
-#: scd/app-openpgp.c:2449 scd/app-openpgp.c:5029
+#: scd/app-openpgp.c:2447 scd/app-openpgp.c:5034
 #, c-format
 msgid "card is permanently locked!\n"
 msgstr "karta je trvale uzamčena!\n"
 
-#: scd/app-openpgp.c:2453
+#: scd/app-openpgp.c:2451
 #, c-format
 msgid "%d Admin PIN attempt remaining before card is permanently locked\n"
 msgid_plural ""
@@ -8071,26 +8096,20 @@ msgstr[1] ""
 msgstr[2] ""
 "Do trvalého uzamčení karty zůstává %d pokusů na zadání PINu správce\n"
 
-#. TRANSLATORS: Do not translate the "|A|" prefix but keep it at
-#. the start of the string.  Use %0A (single percent) for a linefeed.
-#: scd/app-openpgp.c:2463
-msgid "|A|Please enter the Admin PIN"
-msgstr "|A|Prosím, zadejte PIN správce"
-
-#: scd/app-openpgp.c:2484
+#: scd/app-openpgp.c:2482
 #, c-format
 msgid "access to admin commands is not configured\n"
 msgstr "přístup k příkazům správce není nakonfigurován\n"
 
-#: scd/app-openpgp.c:2821
+#: scd/app-openpgp.c:2820
 msgid "||Please enter the PIN"
 msgstr "||Prosím vložte PIN"
 
-#: scd/app-openpgp.c:2870
+#: scd/app-openpgp.c:2869
 msgid "||Please enter the Reset Code for the card"
 msgstr "||Prosím, zadejte resetační kód karty"
 
-#: scd/app-openpgp.c:2880 scd/app-openpgp.c:2941
+#: scd/app-openpgp.c:2879 scd/app-openpgp.c:2940
 #, c-format
 msgid "Reset Code is too short; minimum length is %d\n"
 msgstr "Resetační kód je příliš krátký; minimální délka je %d\n"
@@ -8098,87 +8117,87 @@ msgstr "Resetační kód je příliš krátký; minimální délka je %d\n"
 #. TRANSLATORS: Do not translate the "|*|" prefixes but
 #. keep it at the start of the string.  We need this elsewhere
 #. to get some infos on the string.
-#: scd/app-openpgp.c:2903
+#: scd/app-openpgp.c:2902
 msgid "|RN|New Reset Code"
 msgstr "|RN|Nový resetační kód"
 
-#: scd/app-openpgp.c:2904
+#: scd/app-openpgp.c:2903
 msgid "|AN|New Admin PIN"
 msgstr "|AN|Nový PIN správce"
 
-#: scd/app-openpgp.c:2904
+#: scd/app-openpgp.c:2903
 msgid "|N|New PIN"
 msgstr "|N|Nový PIN"
 
-#: scd/app-openpgp.c:2985
+#: scd/app-openpgp.c:2984
 msgid "||Please enter the Admin PIN and New Admin PIN"
 msgstr "||Prosím, zadejte PIN správce a nový PIN správce"
 
-#: scd/app-openpgp.c:2986
+#: scd/app-openpgp.c:2985
 msgid "||Please enter the PIN and New PIN"
 msgstr "||Prosím, zadejte PIN a nový PIN"
 
-#: scd/app-openpgp.c:3048 scd/app-openpgp.c:4344
+#: scd/app-openpgp.c:3047 scd/app-openpgp.c:4343
 #, c-format
 msgid "error reading application data\n"
 msgstr "chyba při čtení aplikačních dat\n"
 
-#: scd/app-openpgp.c:3054 scd/app-openpgp.c:4351
+#: scd/app-openpgp.c:3053 scd/app-openpgp.c:4350
 #, c-format
 msgid "error reading fingerprint DO\n"
 msgstr "chyba při čtení otisku DO\n"
 
-#: scd/app-openpgp.c:3064
+#: scd/app-openpgp.c:3063
 #, c-format
 msgid "key already exists\n"
 msgstr "klíč již existuje\n"
 
-#: scd/app-openpgp.c:3068
+#: scd/app-openpgp.c:3067
 #, c-format
 msgid "existing key will be replaced\n"
 msgstr "existující klíč bude přepsán\n"
 
-#: scd/app-openpgp.c:3070
+#: scd/app-openpgp.c:3069
 #, c-format
 msgid "generating new key\n"
 msgstr "generování nového klíče\n"
 
-#: scd/app-openpgp.c:3072
+#: scd/app-openpgp.c:3071
 #, c-format
 msgid "writing new key\n"
 msgstr "nový klíč se zapisuje\n"
 
-#: scd/app-openpgp.c:3645 scd/app-openpgp.c:3997
+#: scd/app-openpgp.c:3644 scd/app-openpgp.c:3996
 #, c-format
 msgid "creation timestamp missing\n"
 msgstr "chybí časové razítko vytvoření\n"
 
-#: scd/app-openpgp.c:3686 scd/app-openpgp.c:3694
+#: scd/app-openpgp.c:3685 scd/app-openpgp.c:3693
 #, c-format
 msgid "RSA prime %s missing or not of size %d bits\n"
 msgstr "schází RSA prime %s nebo nemá velikost %d bitů\n"
 
-#: scd/app-openpgp.c:3827 scd/app-openpgp.c:4104
+#: scd/app-openpgp.c:3826 scd/app-openpgp.c:4103
 #, c-format
 msgid "failed to store the key: %s\n"
 msgstr "nelze uložit klíč: %s\n"
 
-#: scd/app-openpgp.c:3991
+#: scd/app-openpgp.c:3990
 #, c-format
 msgid "unsupported curve\n"
 msgstr "nepodporovaná křivka\n"
 
-#: scd/app-openpgp.c:4261
+#: scd/app-openpgp.c:4260
 #, c-format
 msgid "please wait while key is being generated ...\n"
 msgstr "prosím počkejte než bude klíč vygenerován…\n"
 
-#: scd/app-openpgp.c:4269
+#: scd/app-openpgp.c:4268
 #, c-format
 msgid "generating key failed\n"
 msgstr "generování klíče se nezdařilo\n"
 
-#: scd/app-openpgp.c:4275
+#: scd/app-openpgp.c:4274
 #, c-format
 msgid "key generation completed (%d second)\n"
 msgid_plural "key generation completed (%d seconds)\n"
@@ -8186,45 +8205,45 @@ msgstr[0] "generování klíče dokončeno (%d sekunda)\n"
 msgstr[1] "generování klíče dokončeno (%d sekundy)\n"
 msgstr[2] "generování klíče dokončeno (%d sekund)\n"
 
-#: scd/app-openpgp.c:4309
+#: scd/app-openpgp.c:4308
 #, c-format
 msgid "invalid structure of OpenPGP card (DO 0x93)\n"
 msgstr "neplatná struktura OpenPGP karty (DO 0x93)\n"
 
-#: scd/app-openpgp.c:4359
+#: scd/app-openpgp.c:4358
 #, c-format
 msgid "fingerprint on card does not match requested one\n"
 msgstr "otisk na kartě se neshoduje s požadovaným\n"
 
-#: scd/app-openpgp.c:4558
+#: scd/app-openpgp.c:4557
 #, c-format
 msgid "card does not support digest algorithm %s\n"
 msgstr "karta nepodporuje hashovací algoritmus %s\n"
 
-#: scd/app-openpgp.c:4616
+#: scd/app-openpgp.c:4615
 #, c-format
 msgid "signatures created so far: %lu\n"
 msgstr "dosud vytvořené podpisy: %lu\n"
 
-#: scd/app-openpgp.c:5034
+#: scd/app-openpgp.c:5039
 #, c-format
 msgid ""
 "verification of Admin PIN is currently prohibited through this command\n"
 msgstr "ověření PIN správce je nyní prostřednictvím tohoto příkazu zakázáno\n"
 
-#: scd/app-openpgp.c:5346 scd/app-openpgp.c:5357
+#: scd/app-openpgp.c:5351 scd/app-openpgp.c:5362
 #, c-format
 msgid "can't access %s - invalid OpenPGP card?\n"
 msgstr "přístup na %s se nezdařil – vadná OpenPGP karta?\n"
 
-#: scd/app-dinsig.c:299
+#: scd/app-dinsig.c:298
 msgid "||Please enter your PIN at the reader's pinpad"
 msgstr "||Prosím, zadejte svůj PIN na klávesnici čtečky"
 
 #. TRANSLATORS: Do not translate the "|*|" prefixes but
 #. keep it at the start of the string.  We need this elsewhere
 #. to get some infos on the string.
-#: scd/app-dinsig.c:528
+#: scd/app-dinsig.c:529
 msgid "|N|Initial New PIN"
 msgstr "|N|Prvotní nový PIN"
 
@@ -8232,7 +8251,7 @@ msgstr "|N|Prvotní nový PIN"
 msgid "run in multi server mode (foreground)"
 msgstr "pracovat ve více serverové režimu (na popředí)"
 
-#: scd/scdaemon.c:129 sm/gpgsm.c:345 dirmngr/dirmngr.c:187
+#: scd/scdaemon.c:129 sm/gpgsm.c:348 dirmngr/dirmngr.c:188
 msgid "|LEVEL|set the debugging level to LEVEL"
 msgstr "|ÚROVEŇ|nastaví ladicí úroveň na ÚROVEŇ"
 
@@ -8252,31 +8271,31 @@ msgstr "NÁZEV|použít NÁZEV jako ovladač ct-API"
 msgid "|NAME|use NAME as PC/SC driver"
 msgstr "NÁZEV|použít NÁZEV jako ovladač PC/SC"
 
-#: scd/scdaemon.c:145
+#: scd/scdaemon.c:146
 msgid "do not use the internal CCID driver"
 msgstr "nepoužívat vnitřní ovladač CCID"
 
-#: scd/scdaemon.c:151
+#: scd/scdaemon.c:152
 msgid "|N|disconnect the card after N seconds of inactivity"
 msgstr "|N|odpojovat se od karty po N sekundách nečinnosti"
 
-#: scd/scdaemon.c:154
+#: scd/scdaemon.c:155
 msgid "do not use a reader's pinpad"
 msgstr "nepoužívat klávesnici čtečky"
 
-#: scd/scdaemon.c:159
+#: scd/scdaemon.c:160
 msgid "deny the use of admin card commands"
 msgstr "zakázat používání správcovských příkazů karty"
 
-#: scd/scdaemon.c:162
+#: scd/scdaemon.c:163
 msgid "use variable length input for pinpad"
 msgstr "používat vstup o proměnné délce na klávesnici čtečky"
 
-#: scd/scdaemon.c:311
+#: scd/scdaemon.c:312
 msgid "Usage: @SCDAEMON@ [options] (-h for help)"
 msgstr "Použití: @SCDAEMON@ [volby] (-h pro nápovědu)"
 
-#: scd/scdaemon.c:313
+#: scd/scdaemon.c:314
 msgid ""
 "Syntax: scdaemon [options] [command [args]]\n"
 "Smartcard daemon for @GNUPG@\n"
@@ -8284,18 +8303,18 @@ msgstr ""
 "Syntaxe: scdaemon [volby] [příkaz [argumenty]]\n"
 "Démon pro čipové karty (smartcard) pro @GNUPG@\n"
 
-#: scd/scdaemon.c:806
+#: scd/scdaemon.c:808
 #, c-format
 msgid "please use the option '--daemon' to run the program in the background\n"
 msgstr ""
 "prosím, použijte volbu „--daemon“, chcete-li nechat běžet program na pozadí\n"
 
-#: scd/scdaemon.c:1183 dirmngr/dirmngr.c:2082
+#: scd/scdaemon.c:1185 dirmngr/dirmngr.c:2119
 #, c-format
 msgid "handler for fd %d started\n"
 msgstr "obsluha pro deskriptor %d spuštěna\n"
 
-#: scd/scdaemon.c:1195 dirmngr/dirmngr.c:2090
+#: scd/scdaemon.c:1197 dirmngr/dirmngr.c:2127
 #, c-format
 msgid "handler for fd %d terminated\n"
 msgstr "obsluha pro deskriptor %d ukončena\n"
@@ -8342,7 +8361,7 @@ msgstr "Poznámka: nekritické certifikační politiky nejsou dovoleny"
 msgid "certificate policy not allowed"
 msgstr "certifikační politika není dovolena"
 
-#: sm/certchain.c:595 sm/keydb.c:1106 sm/keydb.c:1192
+#: sm/certchain.c:595 sm/keydb.c:1084 sm/keydb.c:1171
 #, c-format
 msgid "failed to get the fingerprint\n"
 msgstr "otisk se nepodařilo získat\n"
@@ -8377,8 +8396,8 @@ msgstr "počet odpovídajících certifikátů: %d\n"
 msgid "dirmngr cache-only key lookup failed: %s\n"
 msgstr "hledání klíče pouze ve vyrovnávací paměti dirmngr neuspělo: %s\n"
 
-#: sm/certchain.c:1041 sm/certchain.c:1554 sm/certchain.c:2192 sm/decrypt.c:265
-#: sm/encrypt.c:344 sm/import.c:415 sm/keydb.c:1113 sm/keydb.c:1199
+#: sm/certchain.c:1041 sm/certchain.c:1554 sm/certchain.c:2192 sm/decrypt.c:728
+#: sm/encrypt.c:345 sm/import.c:415 sm/keydb.c:1091 sm/keydb.c:1178
 #: sm/sign.c:337 sm/verify.c:118
 #, c-format
 msgid "failed to allocate keyDB handle\n"
@@ -8571,13 +8590,13 @@ msgstr "%ubitový hash není platná pro %ubitový %s klíč\n"
 
 # Yet another expression for `not enough memory' :)
 #: sm/certcheck.c:238 sm/certcheck.c:262 dirmngr/crlcache.c:1542
-#: dirmngr/crlcache.c:1566 dirmngr/dirmngr.c:1324 dirmngr/validate.c:903
+#: dirmngr/crlcache.c:1566 dirmngr/dirmngr.c:1361 dirmngr/validate.c:903
 #: dirmngr/validate.c:927
 #, c-format
 msgid "out of core\n"
 msgstr "nedostatek paměti\n"
 
-#: sm/certcheck.c:371 sm/verify.c:213
+#: sm/certcheck.c:370 sm/verify.c:213
 #, c-format
 msgid "(this is the MD2 algorithm)\n"
 msgstr "(toto je algoritmus MD2)\n"
@@ -8870,22 +8889,36 @@ msgstr "Hotovo. Nyní byste měli tuto žádost poslat svojí CA.\n"
 msgid "resource problem: out of core\n"
 msgstr "problém se zdroji: nedostatek paměti\n"
 
-#: sm/decrypt.c:341
+#: sm/decrypt.c:536
+#, fuzzy, c-format
+#| msgid "%s encrypted data\n"
+msgid "%s.%s encrypted data\n"
+msgstr "%s zašifrovaná data\n"
+
+#: sm/decrypt.c:803
 #, c-format
 msgid "(this is the RC2 algorithm)\n"
 msgstr "(toto je algoritmus RC2)\n"
 
-#: sm/decrypt.c:343
+#: sm/decrypt.c:805
 #, c-format
 msgid "(this does not seem to be an encrypted message)\n"
 msgstr "(toto nevypadá jako zašifrovaná zpráva)\n"
 
+# Scripte scannen lt. dl1bke auf "ID (0-9A-F)+" deswegen muß "ID" rein :-(
+# [kw]
+#: sm/decrypt.c:958
+#, fuzzy, c-format
+#| msgid "encrypted with %s key, ID %s\n"
+msgid "encrypted to %s key %s\n"
+msgstr "zašifrováno %s klíčem, ID %s\n"
+
 #: sm/delete.c:51 sm/delete.c:112
 #, c-format
 msgid "certificate '%s' not found: %s\n"
 msgstr "certifikát „%s“ nebyl nenalezen: %s\n"
 
-#: sm/delete.c:122 sm/keydb.c:1209 sm/keydb.c:1307
+#: sm/delete.c:122 sm/keydb.c:1189 sm/keydb.c:1288
 #, c-format
 msgid "error locking keybox: %s\n"
 msgstr "chyba při zamykání schránky na klíče: %s\n"
@@ -8905,128 +8938,128 @@ msgstr "certifikát „%s“ smazán\n"
 msgid "deleting certificate \"%s\" failed: %s\n"
 msgstr "smazání certifikátu „%s“ se nezdařilo: %s\n"
 
-#: sm/encrypt.c:330
+#: sm/encrypt.c:331
 #, c-format
 msgid "no valid recipients given\n"
 msgstr "(nebyli zadáni Žádní platní příjemci)\n"
 
-#: sm/gpgsm.c:215
+#: sm/gpgsm.c:216
 msgid "list external keys"
 msgstr "vypsat seznam externích klíčů"
 
-#: sm/gpgsm.c:217
+#: sm/gpgsm.c:218
 msgid "list certificate chain"
 msgstr "vypsat řetěz certifikátů"
 
-#: sm/gpgsm.c:225
+#: sm/gpgsm.c:226
 msgid "import certificates"
 msgstr "importovat certifikáty"
 
-#: sm/gpgsm.c:226
+#: sm/gpgsm.c:227
 msgid "export certificates"
 msgstr "exportovat certifikáty"
 
-#: sm/gpgsm.c:234
+#: sm/gpgsm.c:235
 msgid "register a smartcard"
 msgstr "zaregistrovat čipovou kartu"
 
-#: sm/gpgsm.c:237
+#: sm/gpgsm.c:238
 msgid "pass a command to the dirmngr"
 msgstr "předat příkaz do dirmngr"
 
-#: sm/gpgsm.c:239
+#: sm/gpgsm.c:240
 msgid "invoke gpg-protect-tool"
 msgstr "vyvolat gpg-protect-tool"
 
-#: sm/gpgsm.c:256
+#: sm/gpgsm.c:257
 msgid "create base-64 encoded output"
 msgstr "vytvářet výstup zakódovaný pomocí Base-64"
 
-#: sm/gpgsm.c:265
+#: sm/gpgsm.c:266
 msgid "assume input is in PEM format"
 msgstr "předpokládat vstup ve formátu PEM"
 
-#: sm/gpgsm.c:267
+#: sm/gpgsm.c:268
 msgid "assume input is in base-64 format"
 msgstr "předpokládat vstup ve formátu Base-64"
 
-#: sm/gpgsm.c:269
+#: sm/gpgsm.c:270
 msgid "assume input is in binary format"
 msgstr "předpokládat vstup v binárním formátu"
 
-#: sm/gpgsm.c:276
+#: sm/gpgsm.c:277
 msgid "never consult a CRL"
 msgstr "nikdy nenahlížet do CRL"
 
-#: sm/gpgsm.c:286
+#: sm/gpgsm.c:287
 msgid "check validity using OCSP"
 msgstr "kontrolovat platnost pomocí OCSP"
 
-#: sm/gpgsm.c:291
+#: sm/gpgsm.c:292
 msgid "|N|number of certificates to include"
 msgstr "|N|počet certifikátů, které zahrnout"
 
-#: sm/gpgsm.c:294
+#: sm/gpgsm.c:295
 msgid "|FILE|take policy information from FILE"
 msgstr "|SOUBOR|vzít politiky ze SOUBORU"
 
-#: sm/gpgsm.c:297
+#: sm/gpgsm.c:298
 msgid "do not check certificate policies"
 msgstr "nekontrolovat politiky certifikátu"
 
-#: sm/gpgsm.c:301
+#: sm/gpgsm.c:302
 msgid "fetch missing issuer certificates"
 msgstr "stahovat chybějící certifikáty vydavatelů"
 
-#: sm/gpgsm.c:312
+#: sm/gpgsm.c:313
 msgid "don't use the terminal at all"
 msgstr "vůbec nepoužívat terminál"
 
-#: sm/gpgsm.c:314
+#: sm/gpgsm.c:315
 msgid "|FILE|write a server mode log to FILE"
 msgstr "|SOUBOR|zapisovat protokol režimu server do SOUBORU"
 
-#: sm/gpgsm.c:319
+#: sm/gpgsm.c:320
 msgid "|FILE|write an audit log to FILE"
 msgstr "|SOUBOR|zapisovat auditní protokol do SOUBORU"
 
-#: sm/gpgsm.c:322
+#: sm/gpgsm.c:323
 msgid "batch mode: never ask"
 msgstr "dávkový režim: nikdy se neptat"
 
-#: sm/gpgsm.c:323
+#: sm/gpgsm.c:324
 msgid "assume yes on most questions"
 msgstr "předpokládat ano na většinu otázek"
 
-#: sm/gpgsm.c:324
+#: sm/gpgsm.c:325
 msgid "assume no on most questions"
 msgstr "předpokládat ne na většinu otázek"
 
-#: sm/gpgsm.c:327
+#: sm/gpgsm.c:328
 msgid "|FILE|add keyring to the list of keyrings"
 msgstr "|SOUBOR|přidat klíčenku na seznam klíčenek"
 
-#: sm/gpgsm.c:330
+#: sm/gpgsm.c:331
 msgid "|USER-ID|use USER-ID as default secret key"
 msgstr "|ID_UŽIVATELE|použít ID_UŽIVATELE jako implicitní tajný klíč"
 
-#: sm/gpgsm.c:340 tools/gpgconf-comp.c:837
+#: sm/gpgsm.c:341 dirmngr/dirmngr.c:214 tools/gpgconf-comp.c:841
 msgid "|SPEC|use this keyserver to lookup keys"
 msgstr "|SPEC|použít tento server pro dohledávání klíčů"
 
-#: sm/gpgsm.c:357
+#: sm/gpgsm.c:360
 msgid "|NAME|use cipher algorithm NAME"
 msgstr "|NÁZEV|použít šifrovací algoritmus NÁZEV"
 
-#: sm/gpgsm.c:359
+#: sm/gpgsm.c:362
 msgid "|NAME|use message digest algorithm NAME"
 msgstr "|NÁZEV|použít hashovací algoritmus NÁZEV"
 
-#: sm/gpgsm.c:570
+#: sm/gpgsm.c:573
 msgid "Usage: @GPGSM@ [options] [files] (-h for help)"
 msgstr "Použití: @GPGSM@ [možnosti] [soubory] (-h pro pomoc)"
 
-#: sm/gpgsm.c:573
+#: sm/gpgsm.c:576
 msgid ""
 "Syntax: @GPGSM@ [options] [files]\n"
 "Sign, check, encrypt or decrypt using the S/MIME protocol\n"
@@ -9036,47 +9069,27 @@ msgstr ""
 "Podepisuje, ověřuje, šifruje nebo dešifruje pomocí protokolu S/MIME.\n"
 "Výchozí operace závisí na vstupních datech.\n"
 
-#: sm/gpgsm.c:777
+#: sm/gpgsm.c:784
 #, c-format
 msgid "Note: won't be able to encrypt to '%s': %s\n"
 msgstr "Poznámka: nebude možné šifrovat pro „%s“: %s\n"
 
-#: sm/gpgsm.c:788
+#: sm/gpgsm.c:795
 #, c-format
 msgid "unknown validation model '%s'\n"
 msgstr "neznámý model ověřování „%s“\n"
 
-#: sm/gpgsm.c:839 dirmngr/ldapserver.c:86
-#, c-format
-msgid "%s:%u: no hostname given\n"
-msgstr "%s:%u: nebyl zadán název stroje\n"
-
-#: sm/gpgsm.c:858 dirmngr/ldapserver.c:105
-#, c-format
-msgid "%s:%u: password given without user\n"
-msgstr "%s:%u: zadáno heslo bez uživatele\n"
-
-#: sm/gpgsm.c:879 dirmngr/ldapserver.c:126
-#, c-format
-msgid "%s:%u: skipping this line\n"
-msgstr "%s:%u: přeskakuji tento řádek\n"
-
-#: sm/gpgsm.c:1449
-#, c-format
-msgid "could not parse keyserver\n"
-msgstr "nelze rozebrat serveru klíčů\n"
-
-#: sm/gpgsm.c:1712
+#: sm/gpgsm.c:1612
 #, c-format
 msgid "importing common certificates '%s'\n"
 msgstr "importují se běžné certifikáty „%s“\n"
 
-#: sm/gpgsm.c:1755
+#: sm/gpgsm.c:1655
 #, c-format
 msgid "can't sign using '%s': %s\n"
 msgstr "nelze podepsat pomocí „%s“: %s\n"
 
-#: sm/gpgsm.c:2122
+#: sm/gpgsm.c:2028
 #, c-format
 msgid "invalid command (there is no implicit command)\n"
 msgstr "neplatný příkaz (neexistuje žádný implicitní příkaz)\n"
@@ -9096,7 +9109,7 @@ msgstr "chyba při ukládání certifikátu\n"
 msgid "basic certificate checks failed - not imported\n"
 msgstr "základní kontrola certifikátu selhala – neimportováno\n"
 
-#: sm/import.c:472 sm/keydb.c:1229 sm/keydb.c:1319
+#: sm/import.c:472 sm/keydb.c:1209 sm/keydb.c:1300
 #, c-format
 msgid "error getting stored flags: %s\n"
 msgstr "chyba při získání uložených příznaků: %s\n"
@@ -9111,27 +9124,27 @@ msgstr "chyba při importování certifikátu: %s\n"
 msgid "error reading input: %s\n"
 msgstr "chyba při čtení vstupu: %s\n"
 
-#: sm/keydb.c:1148
+#: sm/keydb.c:1127
 #, c-format
 msgid "problem looking for existing certificate: %s\n"
 msgstr "problém při hledání existujícího certifikátu: %s\n"
 
-#: sm/keydb.c:1160
+#: sm/keydb.c:1139
 #, c-format
 msgid "error finding writable keyDB: %s\n"
 msgstr "chyba při hledání zapisovatelné keyDB: %s\n"
 
-#: sm/keydb.c:1168
+#: sm/keydb.c:1147
 #, c-format
 msgid "error storing certificate: %s\n"
 msgstr "chyba při ukládání certifikátu: %s\n"
 
-#: sm/keydb.c:1220
+#: sm/keydb.c:1200
 #, c-format
 msgid "problem re-searching certificate: %s\n"
 msgstr "problém při opakovaném hledání certifikátu: %s\n"
 
-#: sm/keydb.c:1241 sm/keydb.c:1330
+#: sm/keydb.c:1221 sm/keydb.c:1311
 #, c-format
 msgid "error storing flags: %s\n"
 msgstr "chyba při ukládání příznaků: %s\n"
@@ -9172,7 +9185,7 @@ msgstr ""
 "\n"
 "%s%sJste si skutečně jisti, že to chcete udělat?"
 
-#: sm/qualified.c:215 sm/verify.c:678
+#: sm/qualified.c:215 sm/verify.c:679
 #, c-format
 msgid ""
 "Note, that this software is not officially approved to create or verify such "
@@ -9223,24 +9236,24 @@ msgstr "[datum neudáno]"
 msgid "algorithm:"
 msgstr "algoritmus:"
 
-#: sm/verify.c:535
+#: sm/verify.c:536
 #, c-format
 msgid ""
 "invalid signature: message digest attribute does not match computed one\n"
 msgstr ""
 "neplatný podpis: atribut otisku zprávy se neshoduje s vypočteným otiskem\n"
 
-#: sm/verify.c:656
+#: sm/verify.c:657
 #, c-format
 msgid "Good signature from"
 msgstr "Dobrý podpis od"
 
-#: sm/verify.c:657
+#: sm/verify.c:658
 #, c-format
 msgid "                aka"
 msgstr "          alias"
 
-#: sm/verify.c:675
+#: sm/verify.c:676
 #, c-format
 msgid "This is a qualified signature\n"
 msgstr "Toto je kvalifikovaný podpis\n"
@@ -9878,7 +9891,7 @@ msgid "error retrieving '%s': %s\n"
 msgstr "chyba při získávání „%s“: %s\n"
 
 #: dirmngr/crlfetch.c:218 dirmngr/ldap-wrapper-ce.c:492
-#: dirmngr/ldap-wrapper.c:884 dirmngr/misc.c:573
+#: dirmngr/ldap-wrapper.c:885 dirmngr/misc.c:573
 #, c-format
 msgid "error initializing reader object: %s\n"
 msgstr "chyba při inicializaci čtecího objektu: %s\n"
@@ -10035,112 +10048,112 @@ msgstr "očekáván absolutní název souboru\n"
 msgid "looking up '%s'\n"
 msgstr "hledá se „%s“\n"
 
-#: dirmngr/dirmngr.c:170
+#: dirmngr/dirmngr.c:171
 msgid "list the contents of the CRL cache"
 msgstr "vypíše obsah CRL keše"
 
-#: dirmngr/dirmngr.c:171
+#: dirmngr/dirmngr.c:172
 msgid "|FILE|load CRL from FILE into cache"
 msgstr "|SOUBOR|zavede CRL ze SOUBORU do keše"
 
-#: dirmngr/dirmngr.c:172
+#: dirmngr/dirmngr.c:173
 msgid "|URL|fetch a CRL from URL"
 msgstr "|URL|stáhne CRL z URL"
 
-#: dirmngr/dirmngr.c:173
+#: dirmngr/dirmngr.c:174
 msgid "shutdown the dirmngr"
 msgstr "vypne dirmngr"
 
-#: dirmngr/dirmngr.c:174
+#: dirmngr/dirmngr.c:175
 msgid "flush the cache"
 msgstr "vyprázdní keš"
 
-#: dirmngr/dirmngr.c:190 tools/gpgconf-comp.c:522 tools/gpgconf-comp.c:741
-#: tools/gpgconf-comp.c:854 tools/gpgconf-comp.c:950
+#: dirmngr/dirmngr.c:191 tools/gpgconf-comp.c:522 tools/gpgconf-comp.c:745
+#: tools/gpgconf-comp.c:858 tools/gpgconf-comp.c:954
 msgid "|FILE|write server mode logs to FILE"
 msgstr "|SOUBOR|protokol z režimu serveru se zapíše do SOUBORU"
 
-#: dirmngr/dirmngr.c:191
+#: dirmngr/dirmngr.c:192
 msgid "run without asking a user"
 msgstr "běží bez dotazování se uživatele"
 
-#: dirmngr/dirmngr.c:192
+#: dirmngr/dirmngr.c:193
 msgid "force loading of outdated CRLs"
 msgstr "vynutí zavedení zastaralých CRL"
 
-#: dirmngr/dirmngr.c:193
+#: dirmngr/dirmngr.c:194
 msgid "allow sending OCSP requests"
 msgstr "povolí odesílání OCSP dotazů"
 
-#: dirmngr/dirmngr.c:195
+#: dirmngr/dirmngr.c:196
 msgid "allow online software version check"
 msgstr "povolí kontrolu verze softwaru po síti"
 
-#: dirmngr/dirmngr.c:196
+#: dirmngr/dirmngr.c:197
 msgid "inhibit the use of HTTP"
 msgstr "zakáže použití HTTP"
 
-#: dirmngr/dirmngr.c:197
+#: dirmngr/dirmngr.c:198
 msgid "inhibit the use of LDAP"
 msgstr "zakáže použití LDAP"
 
-#: dirmngr/dirmngr.c:199
+#: dirmngr/dirmngr.c:200
 msgid "ignore HTTP CRL distribution points"
 msgstr "ignoruje HTTP distribuční místa CRL "
 
-#: dirmngr/dirmngr.c:201
+#: dirmngr/dirmngr.c:202
 msgid "ignore LDAP CRL distribution points"
 msgstr "ignoruje LDAP distribuční místa CRL"
 
-#: dirmngr/dirmngr.c:203
+#: dirmngr/dirmngr.c:204
 msgid "ignore certificate contained OCSP service URLs"
 msgstr "ignoruje URL služby OCSP uvedené v certifikátu"
 
-#: dirmngr/dirmngr.c:206
+#: dirmngr/dirmngr.c:207
 msgid "|URL|redirect all HTTP requests to URL"
 msgstr "|URL|všechny HTTP požadavky přesměruje na URL"
 
-#: dirmngr/dirmngr.c:208
+#: dirmngr/dirmngr.c:209
 msgid "|HOST|use HOST for LDAP queries"
 msgstr "|STROJ|pro LDAP dotazy použije STROJ"
 
-#: dirmngr/dirmngr.c:210
+#: dirmngr/dirmngr.c:211
 msgid "do not use fallback hosts with --ldap-proxy"
 msgstr "nepoužije náhradní stroje s --ldap-proxy"
 
-#: dirmngr/dirmngr.c:213
+#: dirmngr/dirmngr.c:216
 msgid "|FILE|read LDAP server list from FILE"
 msgstr "|SOUBOR|načte seznam LDAP serverů ze SOUBORU"
 
-#: dirmngr/dirmngr.c:215
+#: dirmngr/dirmngr.c:218
 msgid "add new servers discovered in CRL distribution points to serverlist"
 msgstr "na seznam serverů přidá nové servery nalezené v místech distribuce CRL"
 
-#: dirmngr/dirmngr.c:218 dirmngr/dirmngr_ldap.c:137
+#: dirmngr/dirmngr.c:221
 msgid "|N|set LDAP timeout to N seconds"
 msgstr "|N|nastaví časový limit pro LDAP na N sekund"
 
-#: dirmngr/dirmngr.c:221
+#: dirmngr/dirmngr.c:224
 msgid "|URL|use OCSP responder at URL"
 msgstr "|URL|použije OCSP odpovídače na URL"
 
-#: dirmngr/dirmngr.c:223
+#: dirmngr/dirmngr.c:226
 msgid "|FPR|OCSP response signed by FPR"
 msgstr "|OTISK|OCSP odpovědi podepsané podle OTISKU"
 
-#: dirmngr/dirmngr.c:229
+#: dirmngr/dirmngr.c:232
 msgid "|N|do not return more than N items in one query"
 msgstr "|N|nevrací více jak N položek na jeden dotaz"
 
-#: dirmngr/dirmngr.c:234
+#: dirmngr/dirmngr.c:237
 msgid "|FILE|use the CA certificates in FILE for HKP over TLS"
 msgstr "|SOUBOR|pro HKP přes TLS použije certifikáty CA ze SOUBORU"
 
-#: dirmngr/dirmngr.c:236
+#: dirmngr/dirmngr.c:239
 msgid "route all network traffic via Tor"
 msgstr "směrovat veškerý síťový provoz skrz Tor"
 
-#: dirmngr/dirmngr.c:265
+#: dirmngr/dirmngr.c:268
 msgid ""
 "@\n"
 "(See the \"info\" manual for a complete listing of all commands and "
@@ -10149,11 +10162,11 @@ msgstr ""
 "@\n"
 "(Úplný seznam příkazů a voleb naleznete v „info“ manuálu.)\n"
 
-#: dirmngr/dirmngr.c:407
+#: dirmngr/dirmngr.c:415
 msgid "Usage: @DIRMNGR@ [options] (-h for help)"
 msgstr "Použití: @DIRMNGR@ [volby] (-h pro nápovědu)"
 
-#: dirmngr/dirmngr.c:409
+#: dirmngr/dirmngr.c:417
 msgid ""
 "Syntax: @DIRMNGR@ [options] [command [args]]\n"
 "Keyserver, CRL, and OCSP access for @GNUPG@\n"
@@ -10161,270 +10174,104 @@ msgstr ""
 "Syntaxe: @DIRMNGR@ [volby] [příkaz [argumenty]]\n"
 "Přístup k serveru s klíči, CRL a OCSP z @GNUPG@\n"
 
-#: dirmngr/dirmngr.c:489
+#: dirmngr/dirmngr.c:497
 #, c-format
 msgid "valid debug levels are: %s\n"
 msgstr "platné úrovně ladění jsou: %s\n"
 
-#: dirmngr/dirmngr.c:575 tools/gpgconf.c:647 tools/gpgconf.c:682
+#: dirmngr/dirmngr.c:583 tools/gpgconf.c:647 tools/gpgconf.c:682
 #: tools/gpgconf.c:780
 #, c-format
 msgid "usage: %s [options] "
 msgstr "použití: %s [volby] "
 
-#: dirmngr/dirmngr.c:1212
+#: dirmngr/dirmngr.c:1249
 #, c-format
 msgid "colons are not allowed in the socket name\n"
 msgstr "dvojtečky v názvu socketu jsou nepřípustné\n"
 
-#: dirmngr/dirmngr.c:1444 dirmngr/server.c:1824
+#: dirmngr/dirmngr.c:1481 dirmngr/server.c:1878
 #, c-format
 msgid "fetching CRL from '%s' failed: %s\n"
 msgstr "stahování CRL z „%s“ selhalo: %s\n"
 
-#: dirmngr/dirmngr.c:1450 dirmngr/server.c:1830
+#: dirmngr/dirmngr.c:1487 dirmngr/server.c:1884
 #, c-format
 msgid "processing CRL from '%s' failed: %s\n"
 msgstr "zpracování CRL z „%s“ selhalo: %s\n"
 
-#: dirmngr/dirmngr.c:1645
+#: dirmngr/dirmngr.c:1682
 #, c-format
 msgid "%s:%u: line too long - skipped\n"
 msgstr "%s:%u: řádek je příliš dlouhý – přeskočen\n"
 
-#: dirmngr/dirmngr.c:1700 dirmngr/dirmngr.c:1784
+#: dirmngr/dirmngr.c:1737 dirmngr/dirmngr.c:1821
 #, c-format
 msgid "%s:%u: invalid fingerprint detected\n"
 msgstr "%s:%u: zjištěn neplatný otisk\n"
 
-#: dirmngr/dirmngr.c:1736 dirmngr/dirmngr.c:1762 tools/gpgconf-comp.c:4191
+#: dirmngr/dirmngr.c:1773 dirmngr/dirmngr.c:1799 tools/gpgconf-comp.c:4199
 #, c-format
 msgid "%s:%u: read error: %s\n"
 msgstr "%s:%u: chyba čtení: %s\n"
 
-#: dirmngr/dirmngr.c:1791
+#: dirmngr/dirmngr.c:1828
 #, c-format
 msgid "%s:%u: garbage at end of line ignored\n"
 msgstr "%s:%u: nepořádek na konci řádku ignorován\n"
 
-#: dirmngr/dirmngr.c:1860
+#: dirmngr/dirmngr.c:1897
 #, c-format
 msgid "SIGHUP received - re-reading configuration and flushing caches\n"
 msgstr "přijat SIGHUP – konfigurace bude znovu načtena a keš vyprázdněna\n"
 
-#: dirmngr/dirmngr.c:1900
+#: dirmngr/dirmngr.c:1937
 #, c-format
 msgid "SIGUSR2 received - no action defined\n"
 msgstr "přijat SIGUSR2 – žádná akce nedefinována\n"
 
-#: dirmngr/dirmngr.c:1905
+#: dirmngr/dirmngr.c:1942
 #, c-format
 msgid "SIGTERM received - shutting down ...\n"
 msgstr "přijat SIGTERM – vypíná se…\n"
 
 # TODO: plural
-#: dirmngr/dirmngr.c:1907
+#: dirmngr/dirmngr.c:1944
 #, c-format
 msgid "SIGTERM received - still %d active connections\n"
 msgstr "přijat SIGTERM – stále aktivních spojení: %d\n"
 
-#: dirmngr/dirmngr.c:1912
+#: dirmngr/dirmngr.c:1949
 #, c-format
 msgid "shutdown forced\n"
 msgstr "vypnutí vynuceno\n"
 
-#: dirmngr/dirmngr.c:1920
+#: dirmngr/dirmngr.c:1957
 #, c-format
 msgid "SIGINT received - immediate shutdown\n"
 msgstr "přijat SIGINT – okamžité vypnutí\n"
 
-#: dirmngr/dirmngr.c:1927
+#: dirmngr/dirmngr.c:1964
 #, c-format
 msgid "signal %d received - no action defined\n"
 msgstr "přijat signál č. %d – žádná akce nedefinována\n"
 
-#: dirmngr/dirmngr_ldap.c:138
-msgid "return all values in a record oriented format"
-msgstr "vrátí všechny hodnoty v záznamově orientovaném formátu"
-
-#: dirmngr/dirmngr_ldap.c:141
-msgid "|NAME|ignore host part and connect through NAME"
-msgstr "|NÁZEV|ignoruje část se strojem a připojí se skrze NÁZEV"
-
-#: dirmngr/dirmngr_ldap.c:142
-msgid "|NAME|connect to host NAME"
-msgstr "|NÁZEV|připojí se ke strojí NÁZEV"
-
-#: dirmngr/dirmngr_ldap.c:143
-msgid "|N|connect to port N"
-msgstr "|N|připojí se na port N"
-
-#: dirmngr/dirmngr_ldap.c:144
-msgid "|NAME|use user NAME for authentication"
-msgstr "|JMÉNO|pro autentizaci použije JMÉNO uživatele"
-
-#: dirmngr/dirmngr_ldap.c:145
-msgid "|PASS|use password PASS for authentication"
-msgstr "|HESLO|pro autentizaci použije HESLO"
-
-#: dirmngr/dirmngr_ldap.c:147
-msgid "take password from $DIRMNGR_LDAP_PASS"
-msgstr "heslo získá z $DIRMNGR_LDAP_PASS"
-
-#: dirmngr/dirmngr_ldap.c:148
-msgid "|STRING|query DN STRING"
-msgstr "|ŘETĚZEC|dotáže se na DN ŘETĚZEC"
-
-#: dirmngr/dirmngr_ldap.c:149
-msgid "|STRING|use STRING as filter expression"
-msgstr "|ŘETĚZEC|jako filtrující výraz použije ŘETĚZEC"
-
-#: dirmngr/dirmngr_ldap.c:150
-msgid "|STRING|return the attribute STRING"
-msgstr "|ŘETĚZEC|vrátí atribut ŘETĚZEC"
-
-#: dirmngr/dirmngr_ldap.c:211
-msgid "Usage: dirmngr_ldap [options] [URL] (-h for help)\n"
-msgstr "Použití: dirmngr_ldap [volby] [URL] (-h pro nápovědu)\n"
-
-#: dirmngr/dirmngr_ldap.c:214
-msgid ""
-"Syntax: dirmngr_ldap [options] [URL]\n"
-"Internal LDAP helper for Dirmngr\n"
-"Interface and options may change without notice\n"
-msgstr ""
-"Syntaxe: dirmngr_ldap [volby] [URL]\n"
-"Vnitřní LDAP pomůcka pro pro Dirmngr.\n"
-"Rozhraní a volby se mohou bez upozornění změnit.\n"
-
-#: dirmngr/dirmngr_ldap.c:340
-#, c-format
-msgid "invalid port number %d\n"
-msgstr "neplatné číslo portu %d\n"
-
-#: dirmngr/dirmngr_ldap.c:456
-#, c-format
-msgid "scanning result for attribute '%s'\n"
-msgstr "ve výsledku se hledá atribut „%s“\n"
-
-#: dirmngr/dirmngr_ldap.c:463 dirmngr/dirmngr_ldap.c:546
-#: dirmngr/dirmngr_ldap.c:570 dirmngr/dirmngr_ldap.c:582
-#: dirmngr/dirmngr_ldap.c:720
-#, c-format
-msgid "error writing to stdout: %s\n"
-msgstr "chyba při zápisu na standardní výstup: %s\n"
-
-#: dirmngr/dirmngr_ldap.c:480
-#, c-format
-msgid "          available attribute '%s'\n"
-msgstr "          dostupný atribut „%s“\n"
-
-#: dirmngr/dirmngr_ldap.c:518
-#, c-format
-msgid "attribute '%s' not found\n"
-msgstr "atribut „%s“ nenalezen\n"
-
-#: dirmngr/dirmngr_ldap.c:525
-#, c-format
-msgid "found attribute '%s'\n"
-msgstr "nalezen atribut „%s“\n"
-
-#: dirmngr/dirmngr_ldap.c:634
-#, c-format
-msgid "processing url '%s'\n"
-msgstr "zpracovává se URL „%s“\n"
-
-#: dirmngr/dirmngr_ldap.c:636
-#, c-format
-msgid "          user '%s'\n"
-msgstr "          uživatel „%s“\n"
-
-#: dirmngr/dirmngr_ldap.c:638
-#, c-format
-msgid "          pass '%s'\n"
-msgstr "          heslo „%s“\n"
-
-#: dirmngr/dirmngr_ldap.c:640
-#, c-format
-msgid "          host '%s'\n"
-msgstr "          stroj „%s“\n"
-
-#: dirmngr/dirmngr_ldap.c:641
-#, c-format
-msgid "          port %d\n"
-msgstr "          port %d\n"
-
-#: dirmngr/dirmngr_ldap.c:643
-#, c-format
-msgid "            DN '%s'\n"
-msgstr "            DN „%s“\n"
-
-#: dirmngr/dirmngr_ldap.c:645
-#, c-format
-msgid "        filter '%s'\n"
-msgstr "        filtr „%s“\n"
-
-#: dirmngr/dirmngr_ldap.c:650 dirmngr/dirmngr_ldap.c:653
-#, c-format
-msgid "          attr '%s'\n"
-msgstr "          atribut „%s“\n"
-
-#: dirmngr/dirmngr_ldap.c:659
-#, c-format
-msgid "no host name in '%s'\n"
-msgstr "v „%s“ chybí název stroje\n"
-
-#: dirmngr/dirmngr_ldap.c:664
-#, c-format
-msgid "no attribute given for query '%s'\n"
-msgstr "u dotazu „%s“ nezadán žádný atribut\n"
-
-#: dirmngr/dirmngr_ldap.c:670
-#, c-format
-msgid "WARNING: using first attribute only\n"
-msgstr "POZOR: použije se pouze první atribut\n"
-
-#: dirmngr/dirmngr_ldap.c:679
-#, c-format
-msgid "LDAP init to '%s:%d' failed: %s\n"
-msgstr "Inicializace LDAP u „%s:%d“ selhala: %s\n"
-
-#: dirmngr/dirmngr_ldap.c:702
-#, c-format
-msgid "binding to '%s:%d' failed: %s\n"
-msgstr "napojení k „%s:%d“ selhalo: %s\n"
-
-#: dirmngr/dirmngr_ldap.c:729
-#, c-format
-msgid "searching '%s' failed: %s\n"
-msgstr "hledávání „%s“ neuspělo: %s\n"
-
-#: dirmngr/dirmngr_ldap.c:761
-#, c-format
-msgid "'%s' is not an LDAP URL\n"
-msgstr "„%s“ není LDAP URL\n"
-
-#: dirmngr/dirmngr_ldap.c:767
-#, c-format
-msgid "'%s' is an invalid LDAP URL\n"
-msgstr "„%s“ není platné LDAP URL\n"
-
-#: dirmngr/http.c:1987 dirmngr/ocsp.c:255
+#: dirmngr/http.c:1993 dirmngr/ocsp.c:255
 #, c-format
 msgid "error accessing '%s': http status %u\n"
 msgstr "chyba přístupu k „%s“: status HTTP %u\n"
 
-#: dirmngr/http.c:3629 dirmngr/ocsp.c:229
+#: dirmngr/http.c:3644 dirmngr/ocsp.c:229
 #, c-format
 msgid "URL '%s' redirected to '%s' (%u)\n"
 msgstr "URL „%s“ přesměrováno na „%s“ (%u)\n"
 
-#: dirmngr/http.c:3635 dirmngr/ocsp.c:246
+#: dirmngr/http.c:3650 dirmngr/ocsp.c:246
 #, c-format
 msgid "too many redirections\n"
 msgstr "příliš mnoho přesměrování\n"
 
-#: dirmngr/http.c:3747
+#: dirmngr/http.c:3762
 #, c-format
 msgid "redirection changed to '%s'\n"
 msgstr "přesměrování změněno na „%s“\n"
@@ -10464,31 +10311,51 @@ msgstr "čekání na ldapovou obálku %d selhalo: %s\n"
 msgid "ldap wrapper %d stalled - killing\n"
 msgstr "ldapová obálka %d se zasekla – bude zabita\n"
 
-#: dirmngr/ldap.c:91
+#: dirmngr/ldap.c:92
 #, c-format
 msgid "invalid char 0x%02x in host name - not added\n"
 msgstr "v názvu stroje je neplatný znak 0x%02x – nepřidáno\n"
 
-#: dirmngr/ldap.c:95
+#: dirmngr/ldap.c:96
 #, c-format
 msgid "adding '%s:%d' to the ldap server list\n"
 msgstr "na seznam LDAP serverů se přidává „%s:%d“\n"
 
-#: dirmngr/ldap.c:98 dirmngr/misc.c:512
+#: dirmngr/ldap.c:99 dirmngr/misc.c:512
 #, c-format
 msgid "malloc failed: %s\n"
 msgstr "funkce malloc selhala: %s\n"
 
-#: dirmngr/ldap.c:627
+#: dirmngr/ldap.c:221
 #, c-format
-msgid "start_cert_fetch: invalid pattern '%s'\n"
-msgstr "start_cert_fetch: chybný vzor „%s“\n"
+msgid "'%s' is not an LDAP URL\n"
+msgstr "„%s“ není LDAP URL\n"
+
+#: dirmngr/ldap.c:227 dirmngr/ldap.c:233
+#, c-format
+msgid "'%s' is an invalid LDAP URL\n"
+msgstr "„%s“ není platné LDAP URL\n"
 
-#: dirmngr/ldap.c:839
+#: dirmngr/ldap.c:969
 #, c-format
 msgid "ldap_search hit the size limit of the server\n"
 msgstr "ldap_search přesáhl omezení velikosti serveru\n"
 
+#: dirmngr/ldapserver.c:117
+#, c-format
+msgid "%s:%u: password given without user\n"
+msgstr "%s:%u: zadáno heslo bez uživatele\n"
+
+#: dirmngr/ldapserver.c:181
+#, c-format
+msgid "%s:%u: ignoring unknown flag '%s'\n"
+msgstr ""
+
+#: dirmngr/ldapserver.c:203
+#, c-format
+msgid "%s:%u: skipping this line\n"
+msgstr "%s:%u: přeskakuji tento řádek\n"
+
 #: dirmngr/misc.c:172
 #, c-format
 msgid "invalid canonical S-expression found\n"
@@ -10669,71 +10536,67 @@ msgstr "OCSP odpovídač vrátil příliš starý stav\n"
 msgid "assuan_inquire(%s) failed: %s\n"
 msgstr "volání assuan_inquire(%s) selhalo: %s\n"
 
-#: dirmngr/server.c:1158
-msgid "ldapserver missing"
-msgstr "chybí ldapserver (LDAP server)"
-
-#: dirmngr/server.c:1224
+#: dirmngr/server.c:1277
 msgid "serialno missing in cert ID"
 msgstr "v ID certifikátu chybí serialno (sériové číslo)"
 
-#: dirmngr/server.c:1387 dirmngr/server.c:1473 dirmngr/server.c:1909
-#: dirmngr/server.c:1980 dirmngr/server.c:2552 dirmngr/server.c:2567
+#: dirmngr/server.c:1440 dirmngr/server.c:1526 dirmngr/server.c:1963
+#: dirmngr/server.c:2034 dirmngr/server.c:2662 dirmngr/server.c:2677
 #, c-format
 msgid "assuan_inquire failed: %s\n"
 msgstr "volání assuan_inquire selhalo: %s\n"
 
-#: dirmngr/server.c:1516
+#: dirmngr/server.c:1569
 #, c-format
 msgid "fetch_cert_by_url failed: %s\n"
 msgstr "volání fetch_cert_by_url selhalo: %s\n"
 
-#: dirmngr/server.c:1528 dirmngr/server.c:1559 dirmngr/server.c:1718
+#: dirmngr/server.c:1581 dirmngr/server.c:1612 dirmngr/server.c:1772
 #, c-format
 msgid "error sending data: %s\n"
 msgstr "chyba při odesílání dat: %s\n"
 
-#: dirmngr/server.c:1666
+#: dirmngr/server.c:1720
 #, c-format
 msgid "start_cert_fetch failed: %s\n"
 msgstr "volání start_cert_fetch selhalo: %s\n"
 
-#: dirmngr/server.c:1699
+#: dirmngr/server.c:1753
 #, c-format
 msgid "fetch_next_cert failed: %s\n"
 msgstr "volání fetch_next_cert selhalo: %s\n"
 
-#: dirmngr/server.c:1726
+#: dirmngr/server.c:1780
 #, c-format
 msgid "max_replies %d exceeded\n"
 msgstr "max_replies (max. odpovědí) %d překročeno\n"
 
-#: dirmngr/server.c:2856
+#: dirmngr/server.c:2966
 #, c-format
 msgid "can't allocate control structure: %s\n"
 msgstr "řídící strukturu nelze alokovat: %s\n"
 
-#: dirmngr/server.c:2867
+#: dirmngr/server.c:2977
 #, c-format
 msgid "failed to allocate assuan context: %s\n"
 msgstr "alokace kontextu assuan selhala: %s\n"
 
-#: dirmngr/server.c:2888
+#: dirmngr/server.c:2998
 #, c-format
 msgid "failed to initialize the server: %s\n"
 msgstr "inicializace serveru selhala: %s\n"
 
-#: dirmngr/server.c:2896
+#: dirmngr/server.c:3006
 #, c-format
 msgid "failed to the register commands with Assuan: %s\n"
 msgstr "registrace příkazu u Assuanu selhala: %s\n"
 
-#: dirmngr/server.c:2929
+#: dirmngr/server.c:3039
 #, c-format
 msgid "Assuan accept problem: %s\n"
 msgstr "problém příjmu Assuanu: %s\n"
 
-#: dirmngr/server.c:2948
+#: dirmngr/server.c:3058
 #, c-format
 msgid "Assuan processing failed: %s\n"
 msgstr "zpracování Assuanu se nezdařilo: %s\n"
@@ -10870,21 +10733,21 @@ msgid "error sending standard options: %s\n"
 msgstr "chyba při odesílání standardního parametru: %s\n"
 
 #: tools/gpgconf-comp.c:481 tools/gpgconf-comp.c:617 tools/gpgconf-comp.c:692
-#: tools/gpgconf-comp.c:804 tools/gpgconf-comp.c:906
+#: tools/gpgconf-comp.c:808 tools/gpgconf-comp.c:910
 msgid "Options controlling the diagnostic output"
 msgstr "Volby ovlivňující diagnostický výstup"
 
 #: tools/gpgconf-comp.c:494 tools/gpgconf-comp.c:630 tools/gpgconf-comp.c:705
-#: tools/gpgconf-comp.c:817 tools/gpgconf-comp.c:929
+#: tools/gpgconf-comp.c:821 tools/gpgconf-comp.c:933
 msgid "Options controlling the configuration"
 msgstr "Volby ovlivňující nastavení"
 
-#: tools/gpgconf-comp.c:517 tools/gpgconf-comp.c:659 tools/gpgconf-comp.c:736
-#: tools/gpgconf-comp.c:849 tools/gpgconf-comp.c:942
+#: tools/gpgconf-comp.c:517 tools/gpgconf-comp.c:659 tools/gpgconf-comp.c:740
+#: tools/gpgconf-comp.c:853 tools/gpgconf-comp.c:946
 msgid "Options useful for debugging"
 msgstr "Volby užitečné při ladění"
 
-#: tools/gpgconf-comp.c:530 tools/gpgconf-comp.c:669 tools/gpgconf-comp.c:862
+#: tools/gpgconf-comp.c:530 tools/gpgconf-comp.c:669 tools/gpgconf-comp.c:866
 msgid "Options controlling the security"
 msgstr "Volby ovlivňující bezpečnost"
 
@@ -10932,11 +10795,11 @@ msgstr "nedovolit opakovat stará hesla"
 msgid "|N|set the Pinentry timeout to N seconds"
 msgstr "|N|nastavit časový limit pro Pinentry na N sekund"
 
-#: tools/gpgconf-comp.c:707 tools/gpgconf-comp.c:819
+#: tools/gpgconf-comp.c:707 tools/gpgconf-comp.c:823
 msgid "|NAME|use NAME as default secret key"
 msgstr "|NÁZEV|použít NÁZEV jako implicitní tajný klíč"
 
-#: tools/gpgconf-comp.c:710 tools/gpgconf-comp.c:822
+#: tools/gpgconf-comp.c:710 tools/gpgconf-comp.c:826
 msgid "|NAME|encrypt to user ID NAME as well"
 msgstr "|JMÉNO|šifrovat rovněž pro uživatele s ID JMÉNO"
 
@@ -10944,127 +10807,127 @@ msgstr "|JMÉNO|šifrovat rovněž pro uživatele s ID JMÉNO"
 msgid "|SPEC|set up email aliases"
 msgstr "|SPEC|nastavit e-mailový alias"
 
-#: tools/gpgconf-comp.c:749 tools/gpgconf-comp.c:981
+#: tools/gpgconf-comp.c:753 tools/gpgconf-comp.c:985
 msgid "Configuration for Keyservers"
 msgstr "Nastavení serverů klíčů"
 
-#: tools/gpgconf-comp.c:751 tools/gpgconf-comp.c:983
+#: tools/gpgconf-comp.c:755 tools/gpgconf-comp.c:987
 msgid "|URL|use keyserver at URL"
 msgstr "|URL|používat server klíčů na URL"
 
-#: tools/gpgconf-comp.c:754
+#: tools/gpgconf-comp.c:758
 msgid "allow PKA lookups (DNS requests)"
 msgstr "povolit dohledávání PKA (dotazy na DNS)"
 
-#: tools/gpgconf-comp.c:757
+#: tools/gpgconf-comp.c:761
 msgid "|MECHANISMS|use MECHANISMS to locate keys by mail address"
 msgstr "|METODA|používat METODU pro dohledávání klíčů podle e-mailové adresy"
 
-#: tools/gpgconf-comp.c:760
+#: tools/gpgconf-comp.c:764
 msgid "import missing key from a signature"
 msgstr "importovat chybějící klíč z podpisu"
 
-#: tools/gpgconf-comp.c:763
+#: tools/gpgconf-comp.c:767
 msgid "include the public key in signatures"
 msgstr "zahrnovat veřejný klíč do podpisů"
 
-#: tools/gpgconf-comp.c:770 tools/gpgconf-comp.c:831
+#: tools/gpgconf-comp.c:774 tools/gpgconf-comp.c:835
 msgid "disable all access to the dirmngr"
 msgstr "zakázat veškerý přístup k dirmngr"
 
-#: tools/gpgconf-comp.c:834
+#: tools/gpgconf-comp.c:838
 msgid "|NAME|use encoding NAME for PKCS#12 passphrases"
 msgstr "|NÁZEV|používat kódování NÁZEV pro PKCS#12 hesla"
 
-#: tools/gpgconf-comp.c:870
+#: tools/gpgconf-comp.c:874
 msgid "do not check CRLs for root certificates"
 msgstr "neprověřovat kořenové certifikáty proti CRL"
 
-#: tools/gpgconf-comp.c:919
+#: tools/gpgconf-comp.c:923
 msgid "Options controlling the format of the output"
 msgstr "Volby ovlivňující podobu výstupu"
 
-#: tools/gpgconf-comp.c:961
+#: tools/gpgconf-comp.c:965
 msgid "Options controlling the interactivity and enforcement"
 msgstr "Volby ovlivňující interaktivitu a vymáhání"
 
-#: tools/gpgconf-comp.c:974
+#: tools/gpgconf-comp.c:978
 msgid "Options controlling the use of Tor"
 msgstr "Volby ovlivňující použití Toru"
 
-#: tools/gpgconf-comp.c:988
+#: tools/gpgconf-comp.c:992
 msgid "Configuration for HTTP servers"
 msgstr "Nastavení HTTP serverů"
 
-#: tools/gpgconf-comp.c:999
+#: tools/gpgconf-comp.c:1003
 msgid "use system's HTTP proxy setting"
 msgstr "používat systémové nastavení HTTP proxy"
 
-#: tools/gpgconf-comp.c:1004
+#: tools/gpgconf-comp.c:1008
 msgid "Configuration of LDAP servers to use"
 msgstr "Nastavení používaných LDAP serverů"
 
-#: tools/gpgconf-comp.c:1033
+#: tools/gpgconf-comp.c:1037
 msgid "LDAP server list"
 msgstr "Seznam LDAP serverů"
 
-#: tools/gpgconf-comp.c:1041
+#: tools/gpgconf-comp.c:1045
 msgid "Configuration for OCSP"
 msgstr "Nastavení OCSP"
 
-#: tools/gpgconf-comp.c:1094
+#: tools/gpgconf-comp.c:1098
 msgid "OpenPGP"
 msgstr "OpenPGP"
 
-#: tools/gpgconf-comp.c:1095
+#: tools/gpgconf-comp.c:1099
 msgid "Private Keys"
 msgstr "Soukromé klíče"
 
-#: tools/gpgconf-comp.c:1096
+#: tools/gpgconf-comp.c:1100
 msgid "Smartcards"
 msgstr "Čipové karty"
 
-#: tools/gpgconf-comp.c:1097
+#: tools/gpgconf-comp.c:1101
 msgid "S/MIME"
 msgstr "S/MIME"
 
-#: tools/gpgconf-comp.c:1098
+#: tools/gpgconf-comp.c:1102
 msgid "Network"
 msgstr "Síť"
 
-#: tools/gpgconf-comp.c:1099
+#: tools/gpgconf-comp.c:1103
 msgid "Passphrase Entry"
 msgstr "Pole pro heslo"
 
-#: tools/gpgconf-comp.c:1278
+#: tools/gpgconf-comp.c:1282
 msgid "Component not suitable for launching"
 msgstr "Komponenta není vhodná pro spuštění"
 
-#: tools/gpgconf-comp.c:1284
+#: tools/gpgconf-comp.c:1288
 #, c-format
 msgid "Configuration file of component %s is broken\n"
 msgstr "Konfigurační soubor komponenty %s je rozbitý\n"
 
-#: tools/gpgconf-comp.c:1287
+#: tools/gpgconf-comp.c:1291
 #, c-format
 msgid "Note: Use the command \"%s%s\" to get details.\n"
 msgstr "Poznámka: Podrobnosti získáte příkazem „%s%s“.\n"
 
-#: tools/gpgconf-comp.c:3446
+#: tools/gpgconf-comp.c:3454
 #, c-format
 msgid "External verification of component %s failed"
 msgstr "Selhalo externí ověření komponenty %s"
 
-#: tools/gpgconf-comp.c:3597
+#: tools/gpgconf-comp.c:3605
 msgid "Note that group specifications are ignored\n"
 msgstr "Vezměte na vědomí, že určení skupiny se ignoruje\n"
 
-#: tools/gpgconf-comp.c:4195
+#: tools/gpgconf-comp.c:4203
 #, c-format
 msgid "error closing '%s'\n"
 msgstr "chyba při uzavírání „%s“\n"
 
-#: tools/gpgconf-comp.c:4197
+#: tools/gpgconf-comp.c:4205
 #, c-format
 msgid "error parsing '%s'\n"
 msgstr "chyba při rozboru „%s“\n"
@@ -11170,6 +11033,123 @@ msgstr ""
 "Syntaxe: gpg-check-pattern [volby] soubor_se_vzorem\n"
 "Prověří heslo zadané na vstupu proti souboru se vzory\n"
 
+#~ msgid "requesting key %s from %s server %s\n"
+#~ msgstr "požaduji klíč %s z %s serveru %s\n"
+
+#~ msgid "%s:%u: no hostname given\n"
+#~ msgstr "%s:%u: nebyl zadán název stroje\n"
+
+#~ msgid "could not parse keyserver\n"
+#~ msgstr "nelze rozebrat serveru klíčů\n"
+
+#~ msgid "return all values in a record oriented format"
+#~ msgstr "vrátí všechny hodnoty v záznamově orientovaném formátu"
+
+#~ msgid "|NAME|ignore host part and connect through NAME"
+#~ msgstr "|NÁZEV|ignoruje část se strojem a připojí se skrze NÁZEV"
+
+#~ msgid "|NAME|connect to host NAME"
+#~ msgstr "|NÁZEV|připojí se ke strojí NÁZEV"
+
+#~ msgid "|N|connect to port N"
+#~ msgstr "|N|připojí se na port N"
+
+#~ msgid "|NAME|use user NAME for authentication"
+#~ msgstr "|JMÉNO|pro autentizaci použije JMÉNO uživatele"
+
+#~ msgid "|PASS|use password PASS for authentication"
+#~ msgstr "|HESLO|pro autentizaci použije HESLO"
+
+#~ msgid "take password from $DIRMNGR_LDAP_PASS"
+#~ msgstr "heslo získá z $DIRMNGR_LDAP_PASS"
+
+#~ msgid "|STRING|query DN STRING"
+#~ msgstr "|ŘETĚZEC|dotáže se na DN ŘETĚZEC"
+
+#~ msgid "|STRING|use STRING as filter expression"
+#~ msgstr "|ŘETĚZEC|jako filtrující výraz použije ŘETĚZEC"
+
+#~ msgid "|STRING|return the attribute STRING"
+#~ msgstr "|ŘETĚZEC|vrátí atribut ŘETĚZEC"
+
+#~ msgid "Usage: dirmngr_ldap [options] [URL] (-h for help)\n"
+#~ msgstr "Použití: dirmngr_ldap [volby] [URL] (-h pro nápovědu)\n"
+
+#~ msgid ""
+#~ "Syntax: dirmngr_ldap [options] [URL]\n"
+#~ "Internal LDAP helper for Dirmngr\n"
+#~ "Interface and options may change without notice\n"
+#~ msgstr ""
+#~ "Syntaxe: dirmngr_ldap [volby] [URL]\n"
+#~ "Vnitřní LDAP pomůcka pro pro Dirmngr.\n"
+#~ "Rozhraní a volby se mohou bez upozornění změnit.\n"
+
+#~ msgid "invalid port number %d\n"
+#~ msgstr "neplatné číslo portu %d\n"
+
+#~ msgid "scanning result for attribute '%s'\n"
+#~ msgstr "ve výsledku se hledá atribut „%s“\n"
+
+#~ msgid "error writing to stdout: %s\n"
+#~ msgstr "chyba při zápisu na standardní výstup: %s\n"
+
+#~ msgid "          available attribute '%s'\n"
+#~ msgstr "          dostupný atribut „%s“\n"
+
+#~ msgid "attribute '%s' not found\n"
+#~ msgstr "atribut „%s“ nenalezen\n"
+
+#~ msgid "found attribute '%s'\n"
+#~ msgstr "nalezen atribut „%s“\n"
+
+#~ msgid "processing url '%s'\n"
+#~ msgstr "zpracovává se URL „%s“\n"
+
+#~ msgid "          user '%s'\n"
+#~ msgstr "          uživatel „%s“\n"
+
+#~ msgid "          pass '%s'\n"
+#~ msgstr "          heslo „%s“\n"
+
+#~ msgid "          host '%s'\n"
+#~ msgstr "          stroj „%s“\n"
+
+#~ msgid "          port %d\n"
+#~ msgstr "          port %d\n"
+
+#~ msgid "            DN '%s'\n"
+#~ msgstr "            DN „%s“\n"
+
+#~ msgid "        filter '%s'\n"
+#~ msgstr "        filtr „%s“\n"
+
+#~ msgid "          attr '%s'\n"
+#~ msgstr "          atribut „%s“\n"
+
+#~ msgid "no host name in '%s'\n"
+#~ msgstr "v „%s“ chybí název stroje\n"
+
+#~ msgid "no attribute given for query '%s'\n"
+#~ msgstr "u dotazu „%s“ nezadán žádný atribut\n"
+
+#~ msgid "WARNING: using first attribute only\n"
+#~ msgstr "POZOR: použije se pouze první atribut\n"
+
+#~ msgid "LDAP init to '%s:%d' failed: %s\n"
+#~ msgstr "Inicializace LDAP u „%s:%d“ selhala: %s\n"
+
+#~ msgid "binding to '%s:%d' failed: %s\n"
+#~ msgstr "napojení k „%s:%d“ selhalo: %s\n"
+
+#~ msgid "searching '%s' failed: %s\n"
+#~ msgstr "hledávání „%s“ neuspělo: %s\n"
+
+#~ msgid "start_cert_fetch: invalid pattern '%s'\n"
+#~ msgstr "start_cert_fetch: chybný vzor „%s“\n"
+
+#~ msgid "ldapserver missing"
+#~ msgstr "chybí ldapserver (LDAP server)"
+
 #~ msgid "Note: old default options file '%s' ignored\n"
 #~ msgstr "Poznámka: starý implicitní soubor s možnostmi „%s“ ignorován\n"
 
index 17b334a..febbf6d 100644 (file)
Binary files a/po/da.gmo and b/po/da.gmo differ
index 56ac8ce..6275434 100644 (file)
--- a/po/da.po
+++ b/po/da.po
@@ -14,7 +14,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: gnupg\n"
 "Report-Msgid-Bugs-To: translations@gnupg.org\n"
-"POT-Creation-Date: 2021-01-11 18:47+0100\n"
+"POT-Creation-Date: 2021-06-10 18:59+0200\n"
 "PO-Revision-Date: 2017-11-02 17:39+0100\n"
 "Last-Translator: Joe Hansen <joedalton2@yahoo.dk>\n"
 "Language-Team: Danish <debian-l10n-danish@lists.debian.org>\n"
@@ -128,7 +128,7 @@ msgid "Passphrase:"
 msgstr "Adgangsfrase:"
 
 #: agent/call-pinentry.c:1107 agent/call-pinentry.c:1359
-#: agent/command-ssh.c:3130 agent/genkey.c:416
+#: agent/command-ssh.c:3140 agent/genkey.c:416
 msgid "does not match - try again"
 msgstr "matcher ikke - prøv igen"
 
@@ -178,34 +178,34 @@ msgstr "Ugyldig adgangsfrase"
 msgid "ssh keys greater than %d bits are not supported\n"
 msgstr "ssh-nøgler større end %d bit er ikke understøttet\n"
 
-#: agent/command-ssh.c:862 common/dotlock.c:852 g10/card-util.c:932
-#: g10/exec.c:546 g10/export.c:1320 g10/gpg.c:1352 g10/keygen.c:4998
-#: g10/keyring.c:1322 g10/keyring.c:1637 g10/openfile.c:291 g10/sign.c:1009
-#: g10/sign.c:1323 g10/tdbio.c:753
+#: agent/command-ssh.c:862 common/dotlock.c:852 g10/card-util.c:933
+#: g10/exec.c:554 g10/export.c:1320 g10/gpg.c:1360 g10/keygen.c:4998
+#: g10/keyring.c:1322 g10/keyring.c:1637 g10/openfile.c:291 g10/sign.c:1008
+#: g10/sign.c:1322 g10/tdbio.c:753
 #, fuzzy, c-format
 #| msgid "can't create `%s': %s\n"
 msgid "can't create '%s': %s\n"
 msgstr "kan ikke oprette »%s«: %s\n"
 
-#: agent/command-ssh.c:874 common/helpfile.c:57 g10/card-util.c:889
+#: agent/command-ssh.c:874 common/helpfile.c:57 g10/card-util.c:890
 #: g10/dearmor.c:59 g10/dearmor.c:106 g10/decrypt.c:65 g10/decrypt.c:136
-#: g10/decrypt.c:153 g10/encrypt.c:180 g10/encrypt.c:543 g10/gpg.c:1353
-#: g10/import.c:352 g10/import.c:536 g10/import.c:764 g10/keygen.c:4036
+#: g10/decrypt.c:153 g10/encrypt.c:180 g10/encrypt.c:543 g10/gpg.c:1361
+#: g10/import.c:364 g10/import.c:548 g10/import.c:776 g10/keygen.c:4036
 #: g10/keyring.c:1663 g10/openfile.c:195 g10/openfile.c:209 g10/plaintext.c:128
-#: g10/plaintext.c:649 g10/sign.c:991 g10/sign.c:1202 g10/sign.c:1307
-#: g10/sign.c:1452 g10/tdbdump.c:143 g10/tdbdump.c:151 g10/tdbio.c:758
-#: g10/tdbio.c:829 g10/verify.c:96 g10/verify.c:160 sm/gpgsm.c:2219
-#: sm/gpgsm.c:2249 sm/gpgsm.c:2287 sm/qualified.c:66 dirmngr/certcache.c:396
+#: g10/plaintext.c:649 g10/sign.c:990 g10/sign.c:1201 g10/sign.c:1306
+#: g10/sign.c:1451 g10/tdbdump.c:143 g10/tdbdump.c:151 g10/tdbio.c:758
+#: g10/tdbio.c:829 g10/verify.c:96 g10/verify.c:160 sm/gpgsm.c:2125
+#: sm/gpgsm.c:2155 sm/gpgsm.c:2193 sm/qualified.c:66 dirmngr/certcache.c:396
 #: dirmngr/certcache.c:476 dirmngr/certcache.c:478 dirmngr/crlcache.c:2588
-#: dirmngr/dirmngr.c:1722
+#: dirmngr/dirmngr.c:1759
 #, fuzzy, c-format
 #| msgid "can't open `%s': %s\n"
 msgid "can't open '%s': %s\n"
 msgstr "kan ikke åbne »%s«: %s\n"
 
 #: agent/command-ssh.c:2385 agent/command-ssh.c:2431 agent/command-ssh.c:2449
-#: agent/command-ssh.c:2601 g10/card-util.c:687 g10/card-util.c:708
-#: g10/skclist.c:430
+#: agent/command-ssh.c:2601 g10/card-util.c:688 g10/card-util.c:709
+#: g10/skclist.c:435
 #, c-format
 msgid "error getting serial number of card: %s\n"
 msgstr "fejl ved indhentelse af serielnummer for kort: %s\n"
@@ -232,7 +232,7 @@ msgstr "ingen egnet kortnøgle fundet: %s\n"
 msgid "error getting list of cards: %s\n"
 msgstr "fejl ved indhentelse af gemte flag: %s\n"
 
-#: agent/command-ssh.c:2765
+#: agent/command-ssh.c:2775
 #, c-format
 msgid ""
 "An ssh process requested the use of key%%0A  %s%%0A  (%s)%%0ADo you want to "
@@ -241,24 +241,24 @@ msgstr ""
 "En ssh-proces anmodte om brugen af nøgle%%0A  %s%%0A  (%s)%%0AØnsker du at "
 "tillade dette"
 
-#: agent/command-ssh.c:2772
+#: agent/command-ssh.c:2782
 msgid "Allow"
 msgstr "Tillad"
 
-#: agent/command-ssh.c:2772
+#: agent/command-ssh.c:2782
 msgid "Deny"
 msgstr "Nægt"
 
-#: agent/command-ssh.c:2781
+#: agent/command-ssh.c:2791
 #, c-format
 msgid "Please enter the passphrase for the ssh key%%0A  %F%%0A  (%c)"
 msgstr "Indtast venligst adgangsfrasen for ssh-nøglen%%0A  %F%%0A  (%c)"
 
-#: agent/command-ssh.c:3058 agent/genkey.c:351
+#: agent/command-ssh.c:3068 agent/genkey.c:351
 msgid "Please re-enter this passphrase"
 msgstr "Genindtast venligst denne adgangsfrase"
 
-#: agent/command-ssh.c:3085
+#: agent/command-ssh.c:3095
 #, c-format
 msgid ""
 "Please enter a passphrase to protect the received secret key%%0A   %s%%0A   "
@@ -267,7 +267,7 @@ msgstr ""
 "Indtast venligst en adgangsfrase for at beskytte den modtaget hemmelige nøgle"
 "%%0A   %s%%0A   %s%%0Ainden i gpg-agentens nøglelager"
 
-#: agent/command-ssh.c:3667
+#: agent/command-ssh.c:3677
 #, c-format
 msgid "failed to create stream from socket: %s\n"
 msgstr "kunne ikke oprette strøm fra sokkel: %s\n"
@@ -438,47 +438,45 @@ msgstr ""
 "@Indstillinger:\n"
 " "
 
-#: agent/gpg-agent.c:165 scd/scdaemon.c:120 dirmngr/dirmngr.c:166
+#: agent/gpg-agent.c:165 scd/scdaemon.c:120 dirmngr/dirmngr.c:167
 msgid "run in daemon mode (background)"
 msgstr "kør i dæmontilstand (baggrunden)"
 
-#: agent/gpg-agent.c:166 scd/scdaemon.c:117 dirmngr/dirmngr.c:165
+#: agent/gpg-agent.c:166 scd/scdaemon.c:117 dirmngr/dirmngr.c:166
 msgid "run in server mode (foreground)"
 msgstr "kør i servertilstand (forgrunden)"
 
-#: agent/gpg-agent.c:168 dirmngr/dirmngr.c:168
+#: agent/gpg-agent.c:168 dirmngr/dirmngr.c:169
 #, fuzzy
 #| msgid "run in server mode"
 msgid "run in supervised mode"
 msgstr "kør i servertilstand"
 
-#: agent/gpg-agent.c:170 g10/gpg.c:608 g10/gpgv.c:78 kbx/kbxutil.c:88
-#: scd/scdaemon.c:121 sm/gpgsm.c:310 dirmngr/dirmngr-client.c:70
-#: dirmngr/dirmngr.c:181 dirmngr/dirmngr_ldap.c:135
-#: tools/gpg-connect-agent.c:78 tools/gpgconf.c:108
+#: agent/gpg-agent.c:170 g10/gpg.c:605 g10/gpgv.c:78 kbx/kbxutil.c:88
+#: scd/scdaemon.c:121 sm/gpgsm.c:311 dirmngr/dirmngr-client.c:70
+#: dirmngr/dirmngr.c:182 tools/gpg-connect-agent.c:78 tools/gpgconf.c:108
 msgid "verbose"
 msgstr "uddybende"
 
 #: agent/gpg-agent.c:171 g10/gpgv.c:79 kbx/kbxutil.c:89 scd/scdaemon.c:122
-#: sm/gpgsm.c:311 dirmngr/dirmngr-client.c:71 dirmngr/dirmngr.c:182
-#: dirmngr/dirmngr_ldap.c:136
+#: sm/gpgsm.c:312 dirmngr/dirmngr-client.c:71 dirmngr/dirmngr.c:183
 msgid "be somewhat more quiet"
 msgstr "vær mindre uddybende"
 
-#: agent/gpg-agent.c:172 scd/scdaemon.c:123 dirmngr/dirmngr.c:183
+#: agent/gpg-agent.c:172 scd/scdaemon.c:123 dirmngr/dirmngr.c:184
 msgid "sh-style command output"
 msgstr "kommandoresultat i sh-stil"
 
-#: agent/gpg-agent.c:173 scd/scdaemon.c:124 dirmngr/dirmngr.c:184
+#: agent/gpg-agent.c:173 scd/scdaemon.c:124 dirmngr/dirmngr.c:185
 msgid "csh-style command output"
 msgstr "kommandoresultat i csh-stil"
 
-#: agent/gpg-agent.c:174 scd/scdaemon.c:125 sm/gpgsm.c:341
-#: dirmngr/dirmngr.c:185
+#: agent/gpg-agent.c:174 scd/scdaemon.c:125 sm/gpgsm.c:344
+#: dirmngr/dirmngr.c:186
 msgid "|FILE|read options from FILE"
 msgstr "|FIL|læs tilvalg fra FIL"
 
-#: agent/gpg-agent.c:183 scd/scdaemon.c:135 dirmngr/dirmngr.c:188
+#: agent/gpg-agent.c:183 scd/scdaemon.c:135 dirmngr/dirmngr.c:189
 msgid "do not detach from the console"
 msgstr "frakobl ikke fra konsollen"
 
@@ -562,9 +560,9 @@ msgstr ""
 #. reporting address.  This is so that we can change the
 #. reporting address without breaking the translations.
 #: agent/gpg-agent.c:531 agent/preset-passphrase.c:100 agent/protect-tool.c:155
-#: g10/gpg.c:1070 g10/gpgv.c:149 kbx/kbxutil.c:113 scd/scdaemon.c:298
-#: sm/gpgsm.c:567 dirmngr/dirmngr-client.c:168 dirmngr/dirmngr.c:404
-#: dirmngr/dirmngr_ldap.c:207 tools/gpg-connect-agent.c:205 tools/gpgconf.c:146
+#: g10/gpg.c:1074 g10/gpgv.c:149 kbx/kbxutil.c:113 scd/scdaemon.c:299
+#: sm/gpgsm.c:570 dirmngr/dirmngr-client.c:168 dirmngr/dirmngr.c:412
+#: tools/gpg-connect-agent.c:205 tools/gpgconf.c:146
 #: tools/gpg-check-pattern.c:143
 msgid "Please report bugs to <@EMAIL@>.\n"
 msgstr "Rapporter venligst fejl til <@EMAIL@>.\n"
@@ -587,40 +585,40 @@ msgstr ""
 "Syntaks: gpg-agent [tilvalg] [kommando [parametre]]\n"
 "Hemmelig nøglehåndtering for GnuPG\n"
 
-#: agent/gpg-agent.c:587 g10/gpg.c:1262 scd/scdaemon.c:370 sm/gpgsm.c:715
-#: dirmngr/dirmngr.c:488
+#: agent/gpg-agent.c:587 g10/gpg.c:1270 scd/scdaemon.c:371 sm/gpgsm.c:718
+#: dirmngr/dirmngr.c:496
 #, fuzzy, c-format
 #| msgid "invalid debug-level `%s' given\n"
 msgid "invalid debug-level '%s' given\n"
 msgstr "ugyldigt fejlsøgningsniveau »%s« angivet\n"
 
-#: agent/gpg-agent.c:945 g10/gpg.c:3753 g10/gpg.c:3777 sm/gpgsm.c:1631
-#: sm/gpgsm.c:1637
+#: agent/gpg-agent.c:945 g10/gpg.c:3773 g10/gpg.c:3797 sm/gpgsm.c:1531
+#: sm/gpgsm.c:1537
 #, c-format
 msgid "selected digest algorithm is invalid\n"
 msgstr "valgt sammendragsalgoritme er ugyldig\n"
 
 #: agent/gpg-agent.c:1168 agent/gpg-agent.c:2023 common/argparse.c:1755
-#: common/argparse.c:1847 g10/gpg.c:2482 scd/scdaemon.c:532 sm/gpgsm.c:1063
-#: dirmngr/dirmngr.c:956 dirmngr/dirmngr.c:1841
+#: common/argparse.c:1847 g10/gpg.c:2495 scd/scdaemon.c:533 sm/gpgsm.c:977
+#: dirmngr/dirmngr.c:994 dirmngr/dirmngr.c:1878
 #, fuzzy, c-format
 #| msgid "reading options from `%s'\n"
 msgid "reading options from '%s'\n"
 msgstr "læser tilvalg fra »%s«\n"
 
-#: agent/gpg-agent.c:1300 g10/gpg.c:3704 scd/scdaemon.c:655 sm/gpgsm.c:1571
-#: dirmngr/dirmngr.c:1067 tools/gpg-connect-agent.c:1244 tools/gpgconf.c:624
+#: agent/gpg-agent.c:1300 g10/gpg.c:3724 scd/scdaemon.c:657 sm/gpgsm.c:1471
+#: dirmngr/dirmngr.c:1102 tools/gpg-connect-agent.c:1244 tools/gpgconf.c:624
 #, fuzzy, c-format
 #| msgid "WARNING: \"%s\" is a deprecated option\n"
 msgid "Note: '%s' is not considered an option\n"
 msgstr "ADVARSEL: »%s« er en forældet indstilling\n"
 
-#: agent/gpg-agent.c:2159 scd/scdaemon.c:1096 dirmngr/dirmngr.c:1219
+#: agent/gpg-agent.c:2159 scd/scdaemon.c:1098 dirmngr/dirmngr.c:1256
 #, c-format
 msgid "can't create socket: %s\n"
 msgstr "kan ikke oprette sokkel: %s\n"
 
-#: agent/gpg-agent.c:2176 scd/scdaemon.c:1109 dirmngr/dirmngr.c:1232
+#: agent/gpg-agent.c:2176 scd/scdaemon.c:1111 dirmngr/dirmngr.c:1269
 #, fuzzy, c-format
 #| msgid "socket name `%s' is too long\n"
 msgid "socket name '%s' is too long\n"
@@ -631,32 +629,32 @@ msgstr "sokkelnavnet »%s« er for langt\n"
 msgid "a gpg-agent is already running - not starting a new one\n"
 msgstr "en gpg-agent kører allerede - starter ikke en ny\n"
 
-#: agent/gpg-agent.c:2226 scd/scdaemon.c:1133 dirmngr/dirmngr.c:1264
+#: agent/gpg-agent.c:2226 scd/scdaemon.c:1135 dirmngr/dirmngr.c:1301
 #, c-format
 msgid "error getting nonce for the socket\n"
 msgstr "fejl ved indhentelse af nonce for soklen\n"
 
-#: agent/gpg-agent.c:2231 scd/scdaemon.c:1136 dirmngr/dirmngr.c:1267
+#: agent/gpg-agent.c:2231 scd/scdaemon.c:1138 dirmngr/dirmngr.c:1304
 #, fuzzy, c-format
 #| msgid "error binding socket to `%s': %s\n"
 msgid "error binding socket to '%s': %s\n"
 msgstr "fejl ved binding af sokkel til »%s«: %s\n"
 
 #: agent/gpg-agent.c:2242 agent/gpg-agent.c:2282 agent/gpg-agent.c:2291
-#: scd/scdaemon.c:1144 dirmngr/dirmngr.c:1276
+#: scd/scdaemon.c:1146 dirmngr/dirmngr.c:1313
 #, fuzzy, c-format
 #| msgid "Warning: unsafe permissions on %s \"%s\"\n"
 msgid "can't set permissions of '%s': %s\n"
 msgstr "Advarsel: usikre rettigheder på %s »%s«\n"
 
-#: agent/gpg-agent.c:2256 scd/scdaemon.c:1156 dirmngr/dirmngr.c:1288
+#: agent/gpg-agent.c:2256 scd/scdaemon.c:1158 dirmngr/dirmngr.c:1325
 #, fuzzy, c-format
 #| msgid "listening on socket `%s'\n"
 msgid "listening on socket '%s'\n"
 msgstr "lytter på sokkel »%s«\n"
 
 #: agent/gpg-agent.c:2276 agent/gpg-agent.c:2329 common/homedir.c:517
-#: g10/exec.c:261 g10/openfile.c:397
+#: g10/exec.c:269 g10/openfile.c:397
 #, fuzzy, c-format
 #| msgid "can't create directory `%s': %s\n"
 msgid "can't create directory '%s': %s\n"
@@ -681,7 +679,7 @@ msgstr "stat() mislykkedes for »%s«: %s\n"
 msgid "can't use '%s' as home directory\n"
 msgstr "kan ikke bruge »%s« som hjemmemappe\n"
 
-#: agent/gpg-agent.c:2502 scd/scdaemon.c:1172 dirmngr/dirmngr.c:2047
+#: agent/gpg-agent.c:2502 scd/scdaemon.c:1174 dirmngr/dirmngr.c:2084
 #, c-format
 msgid "error reading nonce on fd %d: %s\n"
 msgstr "fejl ved læsning af nonce på fd %d: %s\n"
@@ -706,13 +704,13 @@ msgstr "ssh-håndtering 0x%lx for fd %d startet\n"
 msgid "ssh handler 0x%lx for fd %d terminated\n"
 msgstr "ssh-håndtering 0x%lx for %d termineret\n"
 
-#: agent/gpg-agent.c:3016 scd/scdaemon.c:1362 dirmngr/dirmngr.c:2261
+#: agent/gpg-agent.c:3016 scd/scdaemon.c:1366 dirmngr/dirmngr.c:2298
 #, fuzzy, c-format
 #| msgid "pth_select failed: %s - waiting 1s\n"
 msgid "npth_pselect failed: %s - waiting 1s\n"
 msgstr "pth_select mislykkeds: %s - venter 1s\n"
 
-#: agent/gpg-agent.c:3104 scd/scdaemon.c:1427
+#: agent/gpg-agent.c:3104 scd/scdaemon.c:1431
 #, c-format
 msgid "%s %s stopped\n"
 msgstr "%s %s stoppet\n"
@@ -735,8 +733,8 @@ msgstr ""
 "Syntaks: gpg-preset-passphrase [tilvalg] KEYGRIP\n"
 "Adgangskode for mellemlagervedligeholdelse\n"
 
-#: agent/protect-tool.c:108 g10/gpg.c:440 kbx/kbxutil.c:71 sm/gpgsm.c:204
-#: dirmngr/dirmngr.c:163 tools/gpgconf.c:78
+#: agent/protect-tool.c:108 g10/gpg.c:437 kbx/kbxutil.c:71 sm/gpgsm.c:205
+#: dirmngr/dirmngr.c:164 tools/gpgconf.c:78
 msgid ""
 "@Commands:\n"
 " "
@@ -744,8 +742,8 @@ msgstr ""
 "@Kommandoer:\n"
 " "
 
-#: agent/protect-tool.c:117 g10/gpg.c:553 g10/gpgv.c:76 kbx/kbxutil.c:81
-#: sm/gpgsm.c:252 dirmngr/dirmngr.c:179 tools/gpg-connect-agent.c:76
+#: agent/protect-tool.c:117 g10/gpg.c:550 g10/gpgv.c:76 kbx/kbxutil.c:81
+#: sm/gpgsm.c:253 dirmngr/dirmngr.c:180 tools/gpg-connect-agent.c:76
 #: tools/gpgconf.c:105
 msgid ""
 "@\n"
@@ -768,13 +766,13 @@ msgstr ""
 "Syntaks: gpg-protect-tool [tilvalg] [parametre]\n"
 "Vedligeholdelsesværktøj for hemmelig nøgle\n"
 
-#: agent/protect-tool.c:703
+#: agent/protect-tool.c:703 sm/import.c:774
 msgid "Please enter the passphrase to unprotect the PKCS#12 object."
 msgstr ""
 "Indtast venligst adgangsfrasen for at fjerne beskyttelsen på PKCS#12-"
 "objektet."
 
-#: agent/protect-tool.c:708
+#: agent/protect-tool.c:708 sm/export.c:710
 msgid "Please enter the passphrase to protect the new PKCS#12 object."
 msgstr "Indtast venligst adgangsfrasen for at beskytte det nye PKCS#12-objekt."
 
@@ -804,7 +802,7 @@ msgstr "afbrudt\n"
 msgid "error while asking for the passphrase: %s\n"
 msgstr "fejl ved oprettelse af adgangsfrasen: %s\n"
 
-#: agent/trustlist.c:154 agent/trustlist.c:364 dirmngr/dirmngr.c:1629
+#: agent/trustlist.c:154 agent/trustlist.c:364 dirmngr/dirmngr.c:1666
 #: tools/gpgconf.c:418
 #, fuzzy, c-format
 #| msgid "error opening `%s': %s\n"
@@ -974,7 +972,7 @@ msgstr "kontrol af oprettet underskrift mislykkedes: %s\n"
 msgid "secret key parts are not available\n"
 msgstr "hemmelige nøgledele er ikke tilgængelige\n"
 
-#: agent/cvt-openpgp.c:344 g10/card-util.c:1540
+#: agent/cvt-openpgp.c:344 g10/card-util.c:1541
 #, fuzzy, c-format
 #| msgid "protection algorithm %d%s is not supported\n"
 msgid "public key algorithm %d (%s) is not supported\n"
@@ -992,22 +990,22 @@ msgstr "beskyttelsesalgoritme %d%s er ikke understøttet\n"
 msgid "protection hash algorithm %d (%s) is not supported\n"
 msgstr "beskyttelsesalgoritme %d%s er ikke understøttet\n"
 
-#: common/exechelp-posix.c:359 common/exechelp-w32.c:449
-#: common/exechelp-w32.c:473 common/exechelp-w32.c:503
+#: common/exechelp-posix.c:359 common/exechelp-w32.c:451
+#: common/exechelp-w32.c:475 common/exechelp-w32.c:505
 #, c-format
 msgid "error creating a pipe: %s\n"
 msgstr "fejl ved oprettelse af datakanal: %s\n"
 
 #: common/exechelp-posix.c:372 common/exechelp-w32.c:355
-#: common/exechelp-w32.c:459 common/exechelp-w32.c:483
-#: common/exechelp-w32.c:513
+#: common/exechelp-w32.c:461 common/exechelp-w32.c:485
+#: common/exechelp-w32.c:515
 #, fuzzy, c-format
 #| msgid "error creating a pipe: %s\n"
 msgid "error creating a stream for a pipe: %s\n"
 msgstr "fejl ved oprettelse af datakanal: %s\n"
 
 #: common/exechelp-posix.c:495 common/exechelp-posix.c:570
-#: common/exechelp-posix.c:851 dirmngr/dirmngr.c:1306
+#: common/exechelp-posix.c:856 dirmngr/dirmngr.c:1343
 #, c-format
 msgid "error forking process: %s\n"
 msgstr "fejl ved forgrening af proces: %s\n"
@@ -1017,32 +1015,32 @@ msgstr "fejl ved forgrening af proces: %s\n"
 msgid "waiting for process %d to terminate failed: %s\n"
 msgstr "ventning på at proces %d skulle terminere mislykkedes: %s\n"
 
-#: common/exechelp-posix.c:678 common/exechelp-posix.c:794
+#: common/exechelp-posix.c:678 common/exechelp-posix.c:799
 #, fuzzy, c-format
 #| msgid "error running `%s': probably not installed\n"
 msgid "error running '%s': probably not installed\n"
 msgstr "fejl ved kørsel af »%s«: sikkert ikke installeret\n"
 
-#: common/exechelp-posix.c:684 common/exechelp-posix.c:801
-#: common/exechelp-w32.c:796 common/exechelp-w32ce.c:781
+#: common/exechelp-posix.c:684 common/exechelp-posix.c:806
+#: common/exechelp-w32.c:829 common/exechelp-w32ce.c:781
 #, fuzzy, c-format
 #| msgid "error running `%s': exit status %d\n"
 msgid "error running '%s': exit status %d\n"
 msgstr "fejl ved kørsel af »%s«: afslutningsstatus %d\n"
 
-#: common/exechelp-posix.c:692 common/exechelp-posix.c:809
+#: common/exechelp-posix.c:692 common/exechelp-posix.c:814
 #, fuzzy, c-format
 #| msgid "error running `%s': terminated\n"
 msgid "error running '%s': terminated\n"
 msgstr "fejl ved kørsel af »%s«: termineret\n"
 
-#: common/exechelp-posix.c:750 common/exechelp-w32.c:777
+#: common/exechelp-posix.c:755 common/exechelp-w32.c:810
 #, fuzzy, c-format
 #| msgid "waiting for process %d to terminate failed: %s\n"
 msgid "waiting for processes to terminate failed: %s\n"
 msgstr "ventning på at proces %d skulle terminere mislykkedes: %s\n"
 
-#: common/exechelp-w32.c:789 common/exechelp-w32ce.c:775
+#: common/exechelp-w32.c:822 common/exechelp-w32ce.c:775
 #, c-format
 msgid "error getting exit code of process %d: %s\n"
 msgstr "fejl ved indhentelse af afslutningskode for proces %d: %s\n"
@@ -1140,7 +1138,7 @@ msgstr "ikke nok kerne i sikker hukommelse under allokering af %lu byte"
 msgid "out of core while allocating %lu bytes"
 msgstr "ikke nok kerne under allokering af %lu byte"
 
-#: common/miscellaneous.c:115 g10/card-util.c:896 tools/no-libgcrypt.c:30
+#: common/miscellaneous.c:115 g10/card-util.c:897 tools/no-libgcrypt.c:30
 #, c-format
 msgid "error allocating enough memory: %s\n"
 msgstr "fejl ved allokering af nok hukommelse: %s\n"
@@ -1259,7 +1257,7 @@ msgid "algorithm: %s"
 msgstr "algoritme: %s"
 
 #: common/audit.c:774 common/audit.c:776 common/audit.c:921 common/audit.c:923
-#: scd/app-openpgp.c:3555
+#: scd/app-openpgp.c:3554
 #, c-format
 msgid "unsupported algorithm: %s"
 msgstr "ikke understøttet algoritme: %s"
@@ -1385,6 +1383,26 @@ msgstr "[ingen]"
 msgid "invalid radix64 character %02x skipped\n"
 msgstr "ugyldigt radix64-tegn %02x udeladt\n"
 
+#: common/ttyio.c:433
+#, c-format
+msgid "Sorry, we are in batchmode - can't get input\n"
+msgstr ""
+
+#: common/ttyio.c:439
+#, c-format
+msgid "Sorry, no terminal at all requested - can't get input\n"
+msgstr ""
+
+#: common/ttyio.c:474 common/ttyio.c:484
+#, c-format
+msgid "too many errors; giving up\n"
+msgstr ""
+
+#: common/ttyio.c:536
+#, c-format
+msgid "Control-D detected\n"
+msgstr ""
+
 #: common/argparse.c:520
 msgid "argument not expected"
 msgstr "parameter var ikke forventet"
@@ -1450,7 +1468,7 @@ msgstr "ugyldig indstilling"
 msgid "missing argument for option \"%.50s\"\n"
 msgstr "manglende parameter for indstilling »%.50s«\n"
 
-#: common/argparse.c:558 g10/gpg.c:3490
+#: common/argparse.c:558 g10/gpg.c:3510
 #, fuzzy, c-format
 #| msgid "missing argument for option \"%.50s\"\n"
 msgid "invalid argument for option \"%.50s\"\n"
@@ -1527,32 +1545,32 @@ msgstr "kunne ikke oprette midlertidig fil »%s«: %s\n"
 msgid "error writing to '%s': %s\n"
 msgstr "fejl ved skrivning til »%s«: %s\n"
 
-#: common/dotlock.c:1129
+#: common/dotlock.c:1137
 #, c-format
 msgid "removing stale lockfile (created by %d)\n"
 msgstr "fjerner stale-låsfil (oprettet af %d)\n"
 
-#: common/dotlock.c:1165
+#: common/dotlock.c:1173
 #, c-format
 msgid "waiting for lock (held by %d%s) %s...\n"
 msgstr "venter på lås (holdt af %d%s) %s ...\n"
 
-#: common/dotlock.c:1166
+#: common/dotlock.c:1174
 msgid "(deadlock?) "
 msgstr "(baglås?) "
 
-#: common/dotlock.c:1205
+#: common/dotlock.c:1213
 #, fuzzy, c-format
 #| msgid "lock `%s' not made: %s\n"
 msgid "lock '%s' not made: %s\n"
 msgstr "lås »%s« er ikke udført: %s\n"
 
-#: common/dotlock.c:1232
+#: common/dotlock.c:1240
 #, c-format
 msgid "waiting for lock %s...\n"
 msgstr "venter på lås %s ...\n"
 
-#: common/init.c:185 sm/gpgsm.c:949 dirmngr/dirmngr.c:862 dirmngr/dirmngr.c:871
+#: common/init.c:191 sm/gpgsm.c:863 dirmngr/dirmngr.c:900 dirmngr/dirmngr.c:909
 #, c-format
 msgid "%s is too old (need %s, have %s)\n"
 msgstr "%s er for gammel (kræver %s, har %s)\n"
@@ -1745,13 +1763,13 @@ msgid "Note: Use the command \"%s\" to restart them.\n"
 msgstr "Brug venligst kommandoen »toggle« først.\n"
 
 #: g10/call-agent.c:318 g10/encrypt.c:154 g10/encrypt.c:620 g10/sign.c:412
-#: sm/call-agent.c:205 sm/encrypt.c:425 sm/sign.c:345
+#: sm/call-agent.c:205 sm/encrypt.c:426 sm/sign.c:345
 #, fuzzy, c-format
 #| msgid "%s does not yet work with %s\n"
 msgid "%s is not compliant with %s mode\n"
 msgstr "%s virker endnu ikke med %s\n"
 
-#: g10/call-dirmngr.c:209 sm/call-dirmngr.c:268 tools/gpg-connect-agent.c:2253
+#: g10/call-dirmngr.c:209 sm/call-dirmngr.c:269 tools/gpg-connect-agent.c:2253
 #, fuzzy, c-format
 #| msgid "no gpg-agent running in this session\n"
 msgid "no dirmngr running in this session\n"
@@ -1797,23 +1815,23 @@ msgstr ""
 msgid "server uses an invalid certificate"
 msgstr "opret et tilbagekaldscertifikat"
 
-#: g10/call-dirmngr.c:437 g10/gpg.c:4400
+#: g10/call-dirmngr.c:437 g10/gpg.c:4421
 #, fuzzy, c-format
 #| msgid "armor: %s\n"
 msgid "Note: %s\n"
 msgstr "panser: %s\n"
 
-#: g10/card-util.c:86 g10/card-util.c:366 g10/card-util.c:1902
+#: g10/card-util.c:86 g10/card-util.c:366 g10/card-util.c:1903
 #, c-format
 msgid "OpenPGP card not available: %s\n"
 msgstr "OpenPGP-kort er ikke tilgængeligt: %s\n"
 
-#: g10/card-util.c:91 g10/card-util.c:1908
+#: g10/card-util.c:91 g10/card-util.c:1909
 #, c-format
 msgid "OpenPGP card no. %s detected\n"
 msgstr "OpenPGP-kortnr. %s detekteret\n"
 
-#: g10/card-util.c:97 g10/card-util.c:2237 g10/delkey.c:160 g10/keyedit.c:1422
+#: g10/card-util.c:97 g10/card-util.c:2238 g10/delkey.c:160 g10/keyedit.c:1423
 #: g10/keygen.c:4466 g10/revoke.c:214 g10/revoke.c:636
 #, c-format
 msgid "can't do this in batch mode\n"
@@ -1824,13 +1842,13 @@ msgstr "kan ikke udføre dette i jobtilstand\n"
 msgid "This command is only available for version 2 cards\n"
 msgstr "Denne kommando er kun tilgængelig for version 2-kort\n"
 
-#: g10/card-util.c:107 scd/app-openpgp.c:2864
+#: g10/card-util.c:107 scd/app-openpgp.c:2863
 #, c-format
 msgid "Reset Code not or not anymore available\n"
 msgstr "Nulstillingskode er ikke eller ikke mere tilgængelig\n"
 
-#: g10/card-util.c:140 g10/card-util.c:1426 g10/card-util.c:1688
-#: g10/card-util.c:1780 g10/keyedit.c:394 g10/keyedit.c:415 g10/keyedit.c:429
+#: g10/card-util.c:140 g10/card-util.c:1427 g10/card-util.c:1689
+#: g10/card-util.c:1781 g10/keyedit.c:394 g10/keyedit.c:415 g10/keyedit.c:429
 #: g10/keygen.c:1808 g10/keygen.c:1980 g10/keygen.c:2186 g10/keygen.c:2477
 #: sm/certreqgen-ui.c:165 sm/certreqgen-ui.c:291 sm/certreqgen-ui.c:325
 msgid "Your selection? "
@@ -1856,106 +1874,106 @@ msgstr "ikke tvunget"
 msgid "forced"
 msgstr "tvunget"
 
-#: g10/card-util.c:749
+#: g10/card-util.c:750
 msgid "Error: Only plain ASCII is currently allowed.\n"
 msgstr "Fejl: Kun ren ASCII er tilladt i øjeblikket.\n"
 
-#: g10/card-util.c:751
+#: g10/card-util.c:752
 msgid "Error: The \"<\" character may not be used.\n"
 msgstr "Fejl: Tegnet »<« må ikke bruges.\n"
 
-#: g10/card-util.c:753
+#: g10/card-util.c:754
 msgid "Error: Double spaces are not allowed.\n"
 msgstr "Fejl: Dobbelt mellemrum er ikke tilladt.\n"
 
-#: g10/card-util.c:770
+#: g10/card-util.c:771
 msgid "Cardholder's surname: "
 msgstr "Kortholders efternavn: "
 
-#: g10/card-util.c:772
+#: g10/card-util.c:773
 msgid "Cardholder's given name: "
 msgstr "Kortholders fornavn: "
 
-#: g10/card-util.c:790
+#: g10/card-util.c:791
 #, c-format
 msgid "Error: Combined name too long (limit is %d characters).\n"
 msgstr "Fejl: Kombineret navn er for langt (begrænsningen er på %d tegn).\n"
 
-#: g10/card-util.c:811
+#: g10/card-util.c:812
 msgid "URL to retrieve public key: "
 msgstr "Adresse hvor offentlig nøgle skal hentes: "
 
-#: g10/card-util.c:905 g10/decrypt-data.c:490 g10/import.c:387 g10/import.c:734
-#: g10/import.c:786 dirmngr/crlcache.c:655 dirmngr/crlcache.c:660
-#: dirmngr/crlcache.c:914 dirmngr/crlcache.c:920 dirmngr/dirmngr.c:1668
+#: g10/card-util.c:906 g10/decrypt-data.c:490 g10/import.c:399 g10/import.c:746
+#: g10/import.c:798 dirmngr/crlcache.c:655 dirmngr/crlcache.c:660
+#: dirmngr/crlcache.c:914 dirmngr/crlcache.c:920 dirmngr/dirmngr.c:1705
 #: tools/gpgconf.c:431 tools/gpgconf.c:477
 #, fuzzy, c-format
 #| msgid "error reading `%s': %s\n"
 msgid "error reading '%s': %s\n"
 msgstr "fejl ved læsning af »%s«: %s\n"
 
-#: g10/card-util.c:938 g10/decrypt-data.c:493 g10/export.c:2467
+#: g10/card-util.c:939 g10/decrypt-data.c:493 g10/export.c:2467
 #: dirmngr/crlcache.c:925
 #, fuzzy, c-format
 #| msgid "error writing `%s': %s\n"
 msgid "error writing '%s': %s\n"
 msgstr "fejl ved skrivning af »%s«: %s\n"
 
-#: g10/card-util.c:965
+#: g10/card-util.c:966
 msgid "Login data (account name): "
 msgstr "Loginddata (kontonavn): "
 
-#: g10/card-util.c:1003
+#: g10/card-util.c:1004
 msgid "Private DO data: "
 msgstr "Private DO-data: "
 
-#: g10/card-util.c:1088
+#: g10/card-util.c:1089
 msgid "Language preferences: "
 msgstr "Sprogpræferencer: "
 
-#: g10/card-util.c:1096
+#: g10/card-util.c:1097
 msgid "Error: invalid length of preference string.\n"
 msgstr "Fejl: ugyldig længde for præferencestreng.\n"
 
-#: g10/card-util.c:1105
+#: g10/card-util.c:1106
 msgid "Error: invalid characters in preference string.\n"
 msgstr "Fejl: ugyldige tegn i præferencestreng.\n"
 
-#: g10/card-util.c:1127
+#: g10/card-util.c:1128
 msgid "Salutation (M = Mr., F = Ms., or space): "
 msgstr ""
 
-#: g10/card-util.c:1141
+#: g10/card-util.c:1142
 msgid "Error: invalid response.\n"
 msgstr "Fejl: ugyldigt svar.\n"
 
-#: g10/card-util.c:1163
+#: g10/card-util.c:1164
 msgid "CA fingerprint: "
 msgstr "CA-fingeraftryk: "
 
-#: g10/card-util.c:1186
+#: g10/card-util.c:1187
 msgid "Error: invalid formatted fingerprint.\n"
 msgstr "Fejl: Ugyldigt formateret fingeraftryk.\n"
 
-#: g10/card-util.c:1236
+#: g10/card-util.c:1237
 #, c-format
 msgid "key operation not possible: %s\n"
 msgstr "nøglehandling er ikke mulig: %s\n"
 
-#: g10/card-util.c:1237
+#: g10/card-util.c:1238
 msgid "not an OpenPGP card"
 msgstr "ikke et OpenPGP-kort"
 
-#: g10/card-util.c:1250 g10/keygen.c:4486 g10/keygen.c:5565
+#: g10/card-util.c:1251 g10/keygen.c:4486 g10/keygen.c:5565
 #, c-format
 msgid "error getting current key info: %s\n"
 msgstr "fejl ved indhentelse af aktuel nøgleinformation: %s\n"
 
-#: g10/card-util.c:1335
+#: g10/card-util.c:1336
 msgid "Replace existing key? (y/N) "
 msgstr "Erstat eksisterende nøgle? (j/N) "
 
-#: g10/card-util.c:1352
+#: g10/card-util.c:1353
 msgid ""
 "Note: There is no guarantee that the card supports the requested size.\n"
 "      If the key generation does not succeed, please check the\n"
@@ -1966,110 +1984,110 @@ msgstr ""
 "        dokumentationen for dit kort for at se hvilke størrelser, der\n"
 "        er tilladt.\n"
 
-#: g10/card-util.c:1374 g10/keygen.c:2363 sm/certreqgen-ui.c:179
+#: g10/card-util.c:1375 g10/keygen.c:2363 sm/certreqgen-ui.c:179
 #, c-format
 msgid "What keysize do you want? (%u) "
 msgstr "Hvilken nøglestørrelse ønsker du? (%u) "
 
-#: g10/card-util.c:1384 g10/keygen.c:2286 g10/keygen.c:2318
+#: g10/card-util.c:1385 g10/keygen.c:2286 g10/keygen.c:2318
 #: sm/certreqgen-ui.c:194
 #, c-format
 msgid "rounded up to %u bits\n"
 msgstr "afrundet op til %u bit\n"
 
-#: g10/card-util.c:1392 g10/keygen.c:2371 sm/certreqgen-ui.c:184
+#: g10/card-util.c:1393 g10/keygen.c:2371 sm/certreqgen-ui.c:184
 #, c-format
 msgid "%s keysizes must be in the range %u-%u\n"
 msgstr "%s nøglestørrelser skal være i intervallet %u-%u\n"
 
-#: g10/card-util.c:1411
+#: g10/card-util.c:1412
 msgid "Changing card key attribute for: "
 msgstr ""
 
-#: g10/card-util.c:1413
+#: g10/card-util.c:1414
 #, fuzzy
 #| msgid "   (1) Signature key\n"
 msgid "Signature key\n"
 msgstr "   (1) Underskriftsnøgle\n"
 
-#: g10/card-util.c:1415
+#: g10/card-util.c:1416
 #, fuzzy
 #| msgid "   (2) Encryption key\n"
 msgid "Encryption key\n"
 msgstr "   (2) Krypteringsnøgle\n"
 
-#: g10/card-util.c:1417
+#: g10/card-util.c:1418
 #, fuzzy
 #| msgid "   (3) Authentication key\n"
 msgid "Authentication key\n"
 msgstr "   (3) Godkendelsesnøgle\n"
 
-#: g10/card-util.c:1419 g10/keygen.c:1926 sm/certreqgen-ui.c:157
+#: g10/card-util.c:1420 g10/keygen.c:1926 sm/certreqgen-ui.c:157
 msgid "Please select what kind of key you want:\n"
 msgstr "Vælg venligst hvilken slags nøgle du vil have:\n"
 
-#: g10/card-util.c:1420 sm/certreqgen-ui.c:158
+#: g10/card-util.c:1421 sm/certreqgen-ui.c:158
 #, c-format
 msgid "   (%d) RSA\n"
 msgstr "   (%d) RSA\n"
 
-#: g10/card-util.c:1421
+#: g10/card-util.c:1422
 #, fuzzy, c-format
 #| msgid "   (%d) DSA and Elgamal\n"
 msgid "   (%d) ECC\n"
 msgstr "   (%d) DSA og Elgamal\n"
 
-#: g10/card-util.c:1433 g10/card-util.c:1700 g10/card-util.c:1800
-#: g10/keyedit.c:899 g10/keygen.c:1834 g10/keygen.c:1862 g10/keygen.c:1987
+#: g10/card-util.c:1434 g10/card-util.c:1701 g10/card-util.c:1801
+#: g10/keyedit.c:900 g10/keygen.c:1834 g10/keygen.c:1862 g10/keygen.c:1987
 #: g10/keygen.c:2222 g10/keygen.c:2505 g10/revoke.c:838
 msgid "Invalid selection.\n"
 msgstr "Ugyldigt valg.\n"
 
-#: g10/card-util.c:1506
+#: g10/card-util.c:1507
 #, c-format
 msgid "The card will now be re-configured to generate a key of %u bits\n"
 msgstr "Kortet vil nu blive omkonfigureret til at oprette en nøgle på %u bit\n"
 
-#: g10/card-util.c:1511
+#: g10/card-util.c:1512
 #, fuzzy, c-format
 #| msgid "The card will now be re-configured to generate a key of %u bits\n"
 msgid "The card will now be re-configured to generate a key of type: %s\n"
 msgstr "Kortet vil nu blive omkonfigureret til at oprette en nøgle på %u bit\n"
 
-#: g10/card-util.c:1547
+#: g10/card-util.c:1548
 #, fuzzy, c-format
 #| msgid "error changing size of key %d to %u bits: %s\n"
 msgid "error changing key attribute for key %d: %s\n"
 msgstr "fejl ved ændring af størrelsen på nøglen %d til %u bit: %s\n"
 
-#: g10/card-util.c:1563 g10/card-util.c:2090
+#: g10/card-util.c:1564 g10/card-util.c:2091
 #, fuzzy, c-format
 #| msgid "error getting current key info: %s\n"
 msgid "error getting card info: %s\n"
 msgstr "fejl ved indhentelse af aktuel nøgleinformation: %s\n"
 
-#: g10/card-util.c:1569 g10/card-util.c:1914 g10/card-util.c:2096
+#: g10/card-util.c:1570 g10/card-util.c:1915 g10/card-util.c:2097
 #, fuzzy, c-format
 #| msgid "This command is not allowed while in %s mode.\n"
 msgid "This command is not supported by this card\n"
 msgstr "Denne kommando er ikke tilladt i tilstanden %s.\n"
 
-#: g10/card-util.c:1615
+#: g10/card-util.c:1616
 msgid "Make off-card backup of encryption key? (Y/n) "
 msgstr ""
 "Lav sikkerhedskopi et andet sted end på kortet for krypteringsnøglen? (J/n) "
 
-#: g10/card-util.c:1629
+#: g10/card-util.c:1630
 #, fuzzy, c-format
 #| msgid "NOTE: keys are already stored on the card!\n"
 msgid "Note: keys are already stored on the card!\n"
 msgstr "BEMÆRK: Nøgler er allerede gemt på kortet!\n"
 
-#: g10/card-util.c:1632
+#: g10/card-util.c:1633
 msgid "Replace existing keys? (y/N) "
 msgstr "Erstat eksisterende nøgler (j/N) "
 
-#: g10/card-util.c:1644
+#: g10/card-util.c:1645
 #, fuzzy, c-format
 #| msgid ""
 #| "Please note that the factory settings of the PINs are\n"
@@ -2084,151 +2102,151 @@ msgstr ""
 "   PIN = »%s«     Admin-PIN = »%s«\n"
 "Du bør ændre dem med kommandoen --change-pin\n"
 
-#: g10/card-util.c:1679
+#: g10/card-util.c:1680
 msgid "Please select the type of key to generate:\n"
 msgstr "Vælg venligst hvilken slags nøgle der skal oprettes:\n"
 
-#: g10/card-util.c:1681 g10/card-util.c:1771
+#: g10/card-util.c:1682 g10/card-util.c:1772
 msgid "   (1) Signature key\n"
 msgstr "   (1) Underskriftsnøgle\n"
 
-#: g10/card-util.c:1682 g10/card-util.c:1773
+#: g10/card-util.c:1683 g10/card-util.c:1774
 msgid "   (2) Encryption key\n"
 msgstr "   (2) Krypteringsnøgle\n"
 
-#: g10/card-util.c:1683 g10/card-util.c:1775
+#: g10/card-util.c:1684 g10/card-util.c:1776
 msgid "   (3) Authentication key\n"
 msgstr "   (3) Godkendelsesnøgle\n"
 
-#: g10/card-util.c:1768
+#: g10/card-util.c:1769
 msgid "Please select where to store the key:\n"
 msgstr "Vælg venligst hvor nøglen skal gemmes:\n"
 
-#: g10/card-util.c:1814
+#: g10/card-util.c:1815
 #, fuzzy, c-format
 #| msgid "read failed: %s\n"
 msgid "KEYTOCARD failed: %s\n"
 msgstr "læsning mislykkedes: %s\n"
 
-#: g10/card-util.c:1919
+#: g10/card-util.c:1920
 #, fuzzy, c-format
 #| msgid "NOTE: keys are already stored on the card!\n"
 msgid "Note: This command destroys all keys stored on the card!\n"
 msgstr "BEMÆRK: Nøgler er allerede gemt på kortet!\n"
 
-#: g10/card-util.c:1922
+#: g10/card-util.c:1923
 #, fuzzy
 #| msgid "Sign it? (y/N) "
 msgid "Continue? (y/N) "
 msgstr "Underskriv? (j/N) "
 
-#: g10/card-util.c:1927
+#: g10/card-util.c:1928
 msgid "Really do a factory reset? (enter \"yes\") "
 msgstr ""
 
-#: g10/card-util.c:2113
+#: g10/card-util.c:2114
 #, fuzzy, c-format
 #| msgid "error closing %s: %s\n"
 msgid "error for setup KDF: %s\n"
 msgstr "fejl ved lukning af %s: %s\n"
 
-#: g10/card-util.c:2142 g10/keyedit.c:1259
+#: g10/card-util.c:2143 g10/keyedit.c:1260
 msgid "quit this menu"
 msgstr "afslut denne menu"
 
-#: g10/card-util.c:2144
+#: g10/card-util.c:2145
 msgid "show admin commands"
 msgstr "vis administratorkommandoer"
 
-#: g10/card-util.c:2145 g10/keyedit.c:1262
+#: g10/card-util.c:2146 g10/keyedit.c:1263
 msgid "show this help"
 msgstr "vis denne hjælpetekst"
 
-#: g10/card-util.c:2147
+#: g10/card-util.c:2148
 msgid "list all available data"
 msgstr "vis alle tilgængelige data"
 
-#: g10/card-util.c:2150
+#: g10/card-util.c:2151
 msgid "change card holder's name"
 msgstr "ændr kortholders navn"
 
-#: g10/card-util.c:2151
+#: g10/card-util.c:2152
 msgid "change URL to retrieve key"
 msgstr "ændr adresse for at indhente nøgle"
 
-#: g10/card-util.c:2152
+#: g10/card-util.c:2153
 msgid "fetch the key specified in the card URL"
 msgstr "hent nøglen angivet i kortadressen"
 
-#: g10/card-util.c:2153
+#: g10/card-util.c:2154
 msgid "change the login name"
 msgstr "ændr logindnavnet"
 
-#: g10/card-util.c:2154
+#: g10/card-util.c:2155
 msgid "change the language preferences"
 msgstr "ændr sprogpræferencerne"
 
-#: g10/card-util.c:2155
+#: g10/card-util.c:2156
 #, fuzzy
 #| msgid "change card holder's sex"
 msgid "change card holder's salutation"
 msgstr "ændr kortholders køn"
 
-#: g10/card-util.c:2157
+#: g10/card-util.c:2158
 msgid "change a CA fingerprint"
 msgstr "ændr et CA-fingeraftryk"
 
-#: g10/card-util.c:2158
+#: g10/card-util.c:2159
 msgid "toggle the signature force PIN flag"
 msgstr "skift force PIN-flag for underskriften"
 
-#: g10/card-util.c:2159
+#: g10/card-util.c:2160
 msgid "generate new keys"
 msgstr "opret nye nøgler"
 
-#: g10/card-util.c:2160
+#: g10/card-util.c:2161
 msgid "menu to change or unblock the PIN"
 msgstr "menu til at ændre eller fjerne blokering for PIN'en"
 
-#: g10/card-util.c:2161
+#: g10/card-util.c:2162
 msgid "verify the PIN and list all data"
 msgstr "verificer PIN'en og vis alle data"
 
-#: g10/card-util.c:2162
+#: g10/card-util.c:2163
 msgid "unblock the PIN using a Reset Code"
 msgstr "fjern blokering for PIN'en med en nulstillingskode"
 
-#: g10/card-util.c:2163
+#: g10/card-util.c:2164
 msgid "destroy all keys and data"
 msgstr ""
 
-#: g10/card-util.c:2164
+#: g10/card-util.c:2165
 msgid "setup KDF for PIN authentication"
 msgstr ""
 
-#: g10/card-util.c:2165
+#: g10/card-util.c:2166
 #, fuzzy
 #| msgid "change the ownertrust"
 msgid "change the key attribute"
 msgstr "ændr ejertroværdigheden"
 
-#: g10/card-util.c:2289
+#: g10/card-util.c:2290
 msgid "gpg/card> "
 msgstr "gpg/card> "
 
-#: g10/card-util.c:2330
+#: g10/card-util.c:2331
 msgid "Admin-only command\n"
 msgstr "Kommandoer kun for administratoren\n"
 
-#: g10/card-util.c:2361
+#: g10/card-util.c:2362
 msgid "Admin commands are allowed\n"
 msgstr "Administratorkommandoer er tilladt\n"
 
-#: g10/card-util.c:2363
+#: g10/card-util.c:2364
 msgid "Admin commands are not allowed\n"
 msgstr "Administratorkommandoer er ikke tilladt\n"
 
-#: g10/card-util.c:2466 g10/keyedit.c:2228
+#: g10/card-util.c:2467 g10/keyedit.c:2229
 msgid "Invalid command  (try \"help\")\n"
 msgstr "Ugyldig kommando (prøv »help«)\n"
 
@@ -2237,22 +2255,22 @@ msgstr "Ugyldig kommando (prøv »help«)\n"
 msgid "--output doesn't work for this command\n"
 msgstr "--output virker ikke for denne kommando\n"
 
-#: g10/decrypt.c:247 g10/gpg.c:5083 g10/keyring.c:399 g10/keyring.c:750
+#: g10/decrypt.c:247 g10/gpg.c:5104 g10/keyring.c:399 g10/keyring.c:750
 #, fuzzy, c-format
 #| msgid "can't open `%s'\n"
 msgid "can't open '%s'\n"
 msgstr "kan ikke åbne »%s«\n"
 
 #: g10/delkey.c:83 g10/export.c:1947 g10/export.c:2230 g10/export.c:2351
-#: g10/getkey.c:1964 g10/gpg.c:5028 g10/keyedit.c:1444 g10/keyedit.c:2334
-#: g10/keyedit.c:2580 g10/keyedit.c:4543 g10/keylist.c:689 g10/keyserver.c:1259
+#: g10/getkey.c:2108 g10/gpg.c:5049 g10/keyedit.c:1445 g10/keyedit.c:2335
+#: g10/keyedit.c:2581 g10/keyedit.c:4544 g10/keylist.c:689 g10/keyserver.c:1092
 #: g10/revoke.c:230 g10/tofu.c:2165
 #, c-format
 msgid "key \"%s\" not found: %s\n"
 msgstr "nøglen »%s« blev ikke fundet: %s\n"
 
-#: g10/delkey.c:92 g10/export.c:2015 g10/getkey.c:1972 g10/getkey.c:4346
-#: g10/gpg.c:5037 g10/keyedit.c:2307 g10/keyserver.c:1277 g10/revoke.c:236
+#: g10/delkey.c:92 g10/export.c:2015 g10/getkey.c:2116 g10/getkey.c:4517
+#: g10/gpg.c:5058 g10/keyedit.c:2308 g10/keyserver.c:1110 g10/revoke.c:236
 #: g10/revoke.c:663 g10/tofu.c:2173
 #, c-format
 msgid "error reading keyblock: %s\n"
@@ -2314,9 +2332,9 @@ msgstr ""
 msgid "subkey"
 msgstr "Pubkey: "
 
-#: g10/delkey.c:299 g10/keyedit.c:2200 g10/keyedit.c:2210 g10/keyedit.c:2387
-#: g10/keyedit.c:2461 g10/keyedit.c:2532 g10/keyedit.c:2757 g10/keyedit.c:2987
-#: g10/keyedit.c:3056 g10/keyedit.c:3207
+#: g10/delkey.c:299 g10/keyedit.c:2201 g10/keyedit.c:2211 g10/keyedit.c:2388
+#: g10/keyedit.c:2462 g10/keyedit.c:2533 g10/keyedit.c:2758 g10/keyedit.c:2988
+#: g10/keyedit.c:3057 g10/keyedit.c:3208
 #, c-format
 msgid "update failed: %s\n"
 msgstr "opdatering mislykkedes: %s\n"
@@ -2341,7 +2359,7 @@ msgstr "der er en hemmelig nøgle for offentlig nøgle »%s«!\n"
 msgid "use option \"--delete-secret-keys\" to delete it first.\n"
 msgstr "brug tilvalget »--delete-secret-keys« for at slette den først.\n"
 
-#: g10/encrypt.c:202 g10/sign.c:1471
+#: g10/encrypt.c:202 g10/sign.c:1470
 #, c-format
 msgid "error creating passphrase: %s\n"
 msgstr "fejl ved oprettelse af adgangsfrase: %s\n"
@@ -2368,15 +2386,15 @@ msgstr "»%s« allerede komprimeret\n"
 msgid "WARNING: '%s' is an empty file\n"
 msgstr "ADVARSEL: »%s« er en tom fil\n"
 
-#: g10/encrypt.c:387 g10/encrypt.c:610 g10/decrypt-data.c:260 g10/gpg.c:3901
-#: g10/gpg.c:3941 sm/decrypt.c:364 sm/encrypt.c:415 sm/gpgsm.c:1655
+#: g10/encrypt.c:387 g10/encrypt.c:610 g10/decrypt-data.c:260 g10/gpg.c:3922
+#: g10/gpg.c:3962 sm/decrypt.c:826 sm/encrypt.c:416 sm/gpgsm.c:1555
 #, fuzzy, c-format
 #| msgid "you may not use cipher algorithm `%s' while in %s mode\n"
 msgid "cipher algorithm '%s' may not be used in %s mode\n"
 msgstr "du må ikke bruge chifferalgoritmen »%s« i tilstanden %s\n"
 
-#: g10/encrypt.c:396 g10/gpg.c:3907 g10/gpg.c:3953 g10/sig-check.c:146
-#: g10/sign.c:391 sm/gpgsm.c:1665 sm/gpgsm.c:1675 sm/sign.c:478 sm/verify.c:506
+#: g10/encrypt.c:396 g10/gpg.c:3928 g10/gpg.c:3974 g10/sig-check.c:146
+#: g10/sign.c:391 sm/gpgsm.c:1565 sm/gpgsm.c:1575 sm/sign.c:478 sm/verify.c:506
 #, fuzzy, c-format
 #| msgid "you may not use digest algorithm `%s' while in %s mode\n"
 msgid "digest algorithm '%s' may not be used in %s mode\n"
@@ -2396,13 +2414,13 @@ msgstr ""
 "ADVARSEL: Tvang for symmetrisk chiffer %s (%d) overtræder modtagerens "
 "præferencer\n"
 
-#: g10/encrypt.c:640 sm/encrypt.c:490
+#: g10/encrypt.c:640 sm/encrypt.c:491
 #, fuzzy, c-format
 #| msgid "WARNING: \"%s\" is an obsolete option - it has no effect\n"
 msgid "WARNING: key %s is not suitable for encryption in %s mode\n"
 msgstr "ADVARSEL: »%s« er en forældet indstilling - den har ingen effekt\n"
 
-#: g10/encrypt.c:751 g10/sign.c:1163
+#: g10/encrypt.c:751 g10/sign.c:1162
 #, c-format
 msgid ""
 "WARNING: forcing compression algorithm %s (%d) violates recipient "
@@ -2433,12 +2451,12 @@ msgstr "du kan ikke bruge %s i tilstanden %s\n"
 msgid "%s encrypted data\n"
 msgstr "%s krypterede data\n"
 
-#: g10/decrypt-data.c:243 g10/mainproc.c:396
+#: g10/decrypt-data.c:243 g10/mainproc.c:397
 #, c-format
 msgid "encrypted with unknown algorithm %d\n"
 msgstr "krypteret med ukendt algoritme %d\n"
 
-#: g10/decrypt-data.c:357 g10/decrypt-data.c:410 sm/decrypt.c:130
+#: g10/decrypt-data.c:357 g10/decrypt-data.c:410 sm/decrypt.c:550
 #, c-format
 msgid ""
 "WARNING: message was encrypted with a weak key in the symmetric cipher.\n"
@@ -2456,7 +2474,7 @@ msgstr "problem ved håndtering af krypteret pakke\n"
 msgid "no remote program execution supported\n"
 msgstr "kørsel via eksternt program er ikke understøttet\n"
 
-#: g10/exec.c:381
+#: g10/exec.c:389
 #, c-format
 msgid ""
 "external program calls are disabled due to unsafe options file permissions\n"
@@ -2464,51 +2482,51 @@ msgstr ""
 "kald fra eksterne programmer er deaktiveret på grund af usikre rettigheder "
 "for indstillingsfil\n"
 
-#: g10/exec.c:411
+#: g10/exec.c:419
 #, c-format
 msgid "this platform requires temporary files when calling external programs\n"
 msgstr ""
 "denne platform kræver midlertidige filer når der kaldes eksterne programmer\n"
 
-#: g10/exec.c:489
+#: g10/exec.c:497
 #, fuzzy, c-format
 #| msgid "unable to execute program `%s': %s\n"
 msgid "unable to execute program '%s': %s\n"
 msgstr "kan ikke køre program »%s«: %s\n"
 
-#: g10/exec.c:492
+#: g10/exec.c:500
 #, fuzzy, c-format
 #| msgid "unable to execute shell `%s': %s\n"
 msgid "unable to execute shell '%s': %s\n"
 msgstr "kan ikke køre skal »%s«: %s\n"
 
-#: g10/exec.c:583
+#: g10/exec.c:591
 #, c-format
 msgid "system error while calling external program: %s\n"
 msgstr "systemfejl under kald af eksternt program: %s\n"
 
-#: g10/exec.c:594 g10/exec.c:661
+#: g10/exec.c:602 g10/exec.c:669
 #, c-format
 msgid "unnatural exit of external program\n"
 msgstr "unaturlig afslutning på eksternt program\n"
 
-#: g10/exec.c:609
+#: g10/exec.c:617
 #, c-format
 msgid "unable to execute external program\n"
 msgstr "kan ikke køre eksternt program\n"
 
-#: g10/exec.c:626
+#: g10/exec.c:634
 #, c-format
 msgid "unable to read external program response: %s\n"
 msgstr "kan ikke læse svar fra eksternt program: %s\n"
 
-#: g10/exec.c:672 g10/exec.c:679
+#: g10/exec.c:680 g10/exec.c:687
 #, fuzzy, c-format
 #| msgid "WARNING: unable to remove tempfile (%s) `%s': %s\n"
 msgid "WARNING: unable to remove tempfile (%s) '%s': %s\n"
 msgstr "ADVARSEL: kan ikke fjerne midlertidig fil (%s) »%s«: %s\n"
 
-#: g10/exec.c:684
+#: g10/exec.c:692
 #, fuzzy, c-format
 #| msgid "WARNING: unable to remove temp directory `%s': %s\n"
 msgid "WARNING: unable to remove temp directory '%s': %s\n"
@@ -2544,8 +2562,8 @@ msgstr ""
 msgid " - skipped"
 msgstr "%s: udelod: %s\n"
 
-#: g10/export.c:1324 g10/import.c:2073 g10/openfile.c:200 g10/openfile.c:294
-#: g10/sign.c:1013 g10/sign.c:1327
+#: g10/export.c:1324 g10/import.c:2085 g10/openfile.c:200 g10/openfile.c:294
+#: g10/sign.c:1012 g10/sign.c:1326
 #, fuzzy, c-format
 #| msgid "writing to `%s'\n"
 msgid "writing to '%s'\n"
@@ -2582,286 +2600,286 @@ msgstr "fejl ved oprettelse af »%s«: %s\n"
 msgid "[User ID not found]"
 msgstr "[Bruger-id blev ikke fundet]"
 
-#: g10/getkey.c:1297
+#: g10/getkey.c:1441
 #, fuzzy, c-format
 #| msgid "automatically retrieved `%s' via %s\n"
 msgid "automatically retrieved '%s' via %s\n"
 msgstr "hentede automatisk »%s« via %s\n"
 
-#: g10/getkey.c:1303
+#: g10/getkey.c:1447
 #, fuzzy, c-format
 #| msgid "error retrieving `%s' via %s: %s\n"
 msgid "error retrieving '%s' via %s: %s\n"
 msgstr "fejl ved indhentelse af »%s« via %s: %s\n"
 
-#: g10/getkey.c:1305
+#: g10/getkey.c:1449
 msgid "No fingerprint"
 msgstr "Ingen fingeraftryk"
 
-#: g10/getkey.c:1526
+#: g10/getkey.c:1670
 #, c-format
 msgid "checking for a fresh copy of an expired key via %s\n"
 msgstr ""
 
-#: g10/getkey.c:1941 g10/revoke.c:655 g10/revoke.c:720
+#: g10/getkey.c:2085 g10/revoke.c:655 g10/revoke.c:720
 #, c-format
 msgid "secret key \"%s\" not found: %s\n"
 msgstr "hemmelig nøgle »%s« blev ikke fundet: %s\n"
 
-#: g10/getkey.c:1944 g10/pkclist.c:988
+#: g10/getkey.c:2088 g10/pkclist.c:988
 #, fuzzy, c-format
 #| msgid "missing argument for option \"%.50s\"\n"
 msgid "(check argument of option '%s')\n"
 msgstr "manglende parameter for indstilling »%.50s«\n"
 
-#: g10/getkey.c:2020
+#: g10/getkey.c:2164
 #, fuzzy, c-format
 #| msgid "|NAME|use NAME as default secret key"
 msgid "Warning: not using '%s' as default key: %s\n"
 msgstr "|NAME|brug NAVN som hemmelig standardnøgle"
 
-#: g10/getkey.c:2028
+#: g10/getkey.c:2172
 #, fuzzy, c-format
 #| msgid "|NAME|use NAME as default secret key"
 msgid "using \"%s\" as default secret key for signing\n"
 msgstr "|NAME|brug NAVN som hemmelig standardnøgle"
 
-#: g10/getkey.c:2035
+#: g10/getkey.c:2179
 #, c-format
 msgid "all values passed to '%s' ignored\n"
 msgstr ""
 
-#: g10/getkey.c:2880
+#: g10/getkey.c:3024
 #, c-format
 msgid "Invalid key %s made valid by --allow-non-selfsigned-uid\n"
 msgstr "Ugyldig nøgle %s gjort gyldig med --allow-non-selfsigned-uid\n"
 
-#: g10/getkey.c:3730
+#: g10/getkey.c:3874
 #, c-format
 msgid "using subkey %s instead of primary key %s\n"
 msgstr "bruger undernøgle %s i stedet for primær nøgle %s\n"
 
-#: g10/getkey.c:4275 g10/gpg.c:2107
+#: g10/getkey.c:4446 g10/gpg.c:2120
 #, fuzzy, c-format
 #| msgid "missing argument for option \"%.50s\"\n"
 msgid "valid values for option '%s':\n"
 msgstr "manglende parameter for indstilling »%.50s«\n"
 
-#: g10/gpg.c:442 sm/gpgsm.c:206
+#: g10/gpg.c:439 sm/gpgsm.c:207
 msgid "make a signature"
 msgstr "opret en underskrift"
 
-#: g10/gpg.c:443
+#: g10/gpg.c:440
 msgid "make a clear text signature"
 msgstr "opret en underskrift i klartekst"
 
-#: g10/gpg.c:445 sm/gpgsm.c:208
+#: g10/gpg.c:442 sm/gpgsm.c:209
 msgid "make a detached signature"
 msgstr "opret en separat underskrift"
 
-#: g10/gpg.c:446 sm/gpgsm.c:209
+#: g10/gpg.c:443 sm/gpgsm.c:210
 msgid "encrypt data"
 msgstr "krypter data"
 
-#: g10/gpg.c:448
+#: g10/gpg.c:445
 msgid "encryption only with symmetric cipher"
 msgstr "krypter kun med symmetrisk chiffer"
 
-#: g10/gpg.c:450 sm/gpgsm.c:211
+#: g10/gpg.c:447 sm/gpgsm.c:212
 msgid "decrypt data (default)"
 msgstr "afkrypter data (standard)"
 
-#: g10/gpg.c:452 sm/gpgsm.c:212
+#: g10/gpg.c:449 sm/gpgsm.c:213
 msgid "verify a signature"
 msgstr "godkend en underskrift"
 
-#: g10/gpg.c:454 sm/gpgsm.c:213
+#: g10/gpg.c:451 sm/gpgsm.c:214
 msgid "list keys"
 msgstr "vis nøgler"
 
-#: g10/gpg.c:456
+#: g10/gpg.c:453
 msgid "list keys and signatures"
 msgstr "vis nøgler og underskrifter"
 
-#: g10/gpg.c:459
+#: g10/gpg.c:456
 msgid "list and check key signatures"
 msgstr "vis og kontroller nøgleunderskrifter"
 
-#: g10/gpg.c:461 sm/gpgsm.c:218
+#: g10/gpg.c:458 sm/gpgsm.c:219
 msgid "list keys and fingerprints"
 msgstr "vis nøgler og fingeraftryk"
 
-#: g10/gpg.c:462 sm/gpgsm.c:216
+#: g10/gpg.c:459 sm/gpgsm.c:217
 msgid "list secret keys"
 msgstr "vis hemmelige nøgler"
 
-#: g10/gpg.c:464 sm/gpgsm.c:219
+#: g10/gpg.c:461 sm/gpgsm.c:220
 msgid "generate a new key pair"
 msgstr "opret et nyt nøglepar"
 
-#: g10/gpg.c:467
+#: g10/gpg.c:464
 #, fuzzy
 #| msgid "generate a new key pair"
 msgid "quickly generate a new key pair"
 msgstr "opret et nyt nøglepar"
 
-#: g10/gpg.c:470
+#: g10/gpg.c:467
 #, fuzzy
 #| msgid "generate a new key pair"
 msgid "quickly add a new user-id"
 msgstr "opret et nyt nøglepar"
 
-#: g10/gpg.c:475
+#: g10/gpg.c:472
 #, fuzzy
 #| msgid "generate a new key pair"
 msgid "quickly revoke a user-id"
 msgstr "opret et nyt nøglepar"
 
-#: g10/gpg.c:478
+#: g10/gpg.c:475
 #, fuzzy
 #| msgid "generate a new key pair"
 msgid "quickly set a new expiration date"
 msgstr "opret et nyt nøglepar"
 
-#: g10/gpg.c:481
+#: g10/gpg.c:478
 msgid "full featured key pair generation"
 msgstr ""
 
-#: g10/gpg.c:484
+#: g10/gpg.c:481
 msgid "generate a revocation certificate"
 msgstr "opret et tilbagekaldscertifikat"
 
-#: g10/gpg.c:487 sm/gpgsm.c:222
+#: g10/gpg.c:484 sm/gpgsm.c:223
 msgid "remove keys from the public keyring"
 msgstr "fjern nøgler fra den offentlige nøglering"
 
-#: g10/gpg.c:489
+#: g10/gpg.c:486
 msgid "remove keys from the secret keyring"
 msgstr "fjern nøgler fra den hemmelige nøglering"
 
-#: g10/gpg.c:491
+#: g10/gpg.c:488
 #, fuzzy
 #| msgid "sign a key"
 msgid "quickly sign a key"
 msgstr "underskriv en nøgle"
 
-#: g10/gpg.c:493
+#: g10/gpg.c:490
 #, fuzzy
 #| msgid "sign a key locally"
 msgid "quickly sign a key locally"
 msgstr "underskriv en nøgle lokalt"
 
-#: g10/gpg.c:495
+#: g10/gpg.c:492
 #, fuzzy
 #| msgid "generate a new key pair"
 msgid "quickly revoke a key signature"
 msgstr "opret et nyt nøglepar"
 
-#: g10/gpg.c:496
+#: g10/gpg.c:493
 msgid "sign a key"
 msgstr "underskriv en nøgle"
 
-#: g10/gpg.c:497
+#: g10/gpg.c:494
 msgid "sign a key locally"
 msgstr "underskriv en nøgle lokalt"
 
-#: g10/gpg.c:498
+#: g10/gpg.c:495
 msgid "sign or edit a key"
 msgstr "underskriv eller rediger en nøgle"
 
-#: g10/gpg.c:500 sm/gpgsm.c:240
+#: g10/gpg.c:497 sm/gpgsm.c:241
 msgid "change a passphrase"
 msgstr "ændr en adgangsfrase"
 
-#: g10/gpg.c:504
+#: g10/gpg.c:501
 msgid "export keys"
 msgstr "eksporter nøgler"
 
-#: g10/gpg.c:505
+#: g10/gpg.c:502
 msgid "export keys to a keyserver"
 msgstr "eksporter nøgler til en nøgletjener"
 
-#: g10/gpg.c:506
+#: g10/gpg.c:503
 msgid "import keys from a keyserver"
 msgstr "importer nøgler fra en nøgleserver"
 
-#: g10/gpg.c:509
+#: g10/gpg.c:506
 msgid "search for keys on a keyserver"
 msgstr "søg efter nøgler på en nøgleserver"
 
-#: g10/gpg.c:511
+#: g10/gpg.c:508
 msgid "update all keys from a keyserver"
 msgstr "opdater alle nøgler fra en nøgleserver"
 
-#: g10/gpg.c:519
+#: g10/gpg.c:516
 msgid "import/merge keys"
 msgstr "importer/sammenføj nøgler"
 
-#: g10/gpg.c:522
+#: g10/gpg.c:519
 msgid "print the card status"
 msgstr "udskriv kortstatus"
 
-#: g10/gpg.c:523
+#: g10/gpg.c:520
 msgid "change data on a card"
 msgstr "ændr data på et kort"
 
-#: g10/gpg.c:525
+#: g10/gpg.c:522
 msgid "change a card's PIN"
 msgstr "ændr et korts PIN"
 
-#: g10/gpg.c:537
+#: g10/gpg.c:534
 msgid "update the trust database"
 msgstr "opdater troværdighedsdatabasen"
 
-#: g10/gpg.c:546
+#: g10/gpg.c:543
 msgid "print message digests"
 msgstr "vis beskedsammendrag"
 
-#: g10/gpg.c:549 sm/gpgsm.c:235
+#: g10/gpg.c:546 sm/gpgsm.c:236
 msgid "run in server mode"
 msgstr "kør i servertilstand"
 
-#: g10/gpg.c:551
+#: g10/gpg.c:548
 msgid "|VALUE|set the TOFU policy for a key"
 msgstr ""
 
-#: g10/gpg.c:555 sm/gpgsm.c:254
+#: g10/gpg.c:552 sm/gpgsm.c:255
 msgid "create ascii armored output"
 msgstr "opret ascii-pansrede uddata"
 
-#: g10/gpg.c:558 sm/gpgsm.c:271
+#: g10/gpg.c:555 sm/gpgsm.c:272
 msgid "|USER-ID|encrypt for USER-ID"
 msgstr "|USER-ID|krypter for BRUGER-ID"
 
-#: g10/gpg.c:574 sm/gpgsm.c:307
+#: g10/gpg.c:571 sm/gpgsm.c:308
 msgid "|USER-ID|use USER-ID to sign or decrypt"
 msgstr "|USER-ID|brug BRUGER-ID til at underskrive eller afkryptere"
 
-#: g10/gpg.c:580
+#: g10/gpg.c:577
 msgid "|N|set compress level to N (0 disables)"
 msgstr "|N|sæt komprimeringsniveauet til N (0 deaktiverer)"
 
-#: g10/gpg.c:587
+#: g10/gpg.c:584
 msgid "use canonical text mode"
 msgstr "brug kanonisk teksttilstand"
 
-#: g10/gpg.c:604 g10/gpgv.c:82 sm/gpgsm.c:309
+#: g10/gpg.c:601 g10/gpgv.c:82 sm/gpgsm.c:310
 msgid "|FILE|write output to FILE"
 msgstr "|FILE|skriv resultat til FIL"
 
-#: g10/gpg.c:614 kbx/kbxutil.c:90 sm/gpgsm.c:321 tools/gpgconf.c:110
+#: g10/gpg.c:611 kbx/kbxutil.c:90 sm/gpgsm.c:322 tools/gpgconf.c:110
 msgid "do not make any changes"
 msgstr "lav ingen ændringer"
 
-#: g10/gpg.c:615
+#: g10/gpg.c:612
 msgid "prompt before overwriting"
 msgstr "spørg før overskrivning"
 
-#: g10/gpg.c:665
+#: g10/gpg.c:662
 msgid "use strict OpenPGP behavior"
 msgstr "brug streng OpenPGP-opførsel"
 
-#: g10/gpg.c:692 sm/gpgsm.c:364
+#: g10/gpg.c:689 sm/gpgsm.c:367
 msgid ""
 "@\n"
 "(See the man page for a complete listing of all commands and options)\n"
@@ -2869,7 +2887,7 @@ msgstr ""
 "@\n"
 "(Se manualsiden for en fuldstændig liste over alle kommandoer og tilvalg)\n"
 
-#: g10/gpg.c:695
+#: g10/gpg.c:692
 #, fuzzy
 #| msgid ""
 #| "@\n"
@@ -2899,14 +2917,14 @@ msgstr ""
 " --list-keys [navne]        vis nøgler\n"
 " --fingerprint [navne]      vis fingeraftryk\n"
 
-#: g10/gpg.c:1092
+#: g10/gpg.c:1096
 #, fuzzy
 #| msgid "Usage: gpg [options] [files] (-h for help)"
 msgid "Usage: @GPG@ [options] [files] (-h for help)"
 msgstr "Brug: gpg [flag] [filer] (-h for hjælp)"
 
 # Skal alt dette oversættes eller er det tilvalgene?
-#: g10/gpg.c:1095
+#: g10/gpg.c:1099
 #, fuzzy
 #| msgid ""
 #| "Syntax: gpg [options] [files]\n"
@@ -2921,7 +2939,7 @@ msgstr ""
 "Sign, check, encrypt eller decrypt\n"
 "standardhandling afhænger af inddata\n"
 
-#: g10/gpg.c:1106 sm/gpgsm.c:591
+#: g10/gpg.c:1110 sm/gpgsm.c:594
 msgid ""
 "\n"
 "Supported algorithms:\n"
@@ -2929,82 +2947,82 @@ msgstr ""
 "\n"
 "Understøttede algoritmer:\n"
 
-#: g10/gpg.c:1109
+#: g10/gpg.c:1113
 msgid "Pubkey: "
 msgstr "Pubkey: "
 
-#: g10/gpg.c:1116 g10/keyedit.c:3281
+#: g10/gpg.c:1120 g10/keyedit.c:3282
 msgid "Cipher: "
 msgstr "Chiffer: "
 
-#: g10/gpg.c:1123
+#: g10/gpg.c:1127
 msgid "Hash: "
 msgstr "Hash: "
 
-#: g10/gpg.c:1130 g10/keyedit.c:3347
+#: g10/gpg.c:1134 g10/keyedit.c:3348
 msgid "Compression: "
 msgstr "Komprimering: "
 
-#: g10/gpg.c:1199 sm/gpgsm.c:665
+#: g10/gpg.c:1207 sm/gpgsm.c:668
 #, fuzzy, c-format
 #| msgid "usage: gpgsm [options] "
 msgid "usage: %s [options] %s\n"
 msgstr "brug: gpgsm [tilvalg] "
 
-#: g10/gpg.c:1388 sm/gpgsm.c:754
+#: g10/gpg.c:1396 sm/gpgsm.c:761
 #, c-format
 msgid "conflicting commands\n"
 msgstr "kommandoer er i konflikt\n"
 
-#: g10/gpg.c:1406
+#: g10/gpg.c:1414
 #, fuzzy, c-format
 #| msgid "no = sign found in group definition `%s'\n"
 msgid "no = sign found in group definition '%s'\n"
 msgstr "ingen = tegn fundet i gruppedefinition »%s«\n"
 
-#: g10/gpg.c:1604
+#: g10/gpg.c:1612
 #, fuzzy, c-format
 #| msgid "WARNING: unsafe ownership on homedir `%s'\n"
 msgid "WARNING: unsafe ownership on homedir '%s'\n"
 msgstr "ADVARSEL: Usikker ejerskab af hjemmemappe »%s«\n"
 
-#: g10/gpg.c:1607
+#: g10/gpg.c:1615
 #, fuzzy, c-format
 #| msgid "WARNING: unsafe ownership on configuration file `%s'\n"
 msgid "WARNING: unsafe ownership on configuration file '%s'\n"
 msgstr "ADVARSEL: Usikker ejerskab på konfigurationsfil »%s«\n"
 
-#: g10/gpg.c:1610
+#: g10/gpg.c:1618
 #, fuzzy, c-format
 #| msgid "WARNING: unsafe ownership on extension `%s'\n"
 msgid "WARNING: unsafe ownership on extension '%s'\n"
 msgstr "ADVARSEL: Usikker ejerskab på udvidelse »%s«\n"
 
-#: g10/gpg.c:1616
+#: g10/gpg.c:1624
 #, fuzzy, c-format
 #| msgid "WARNING: unsafe permissions on homedir `%s'\n"
 msgid "WARNING: unsafe permissions on homedir '%s'\n"
 msgstr "ADVARSEL: Usikre rettigheder på hjemmemappe »%s«\n"
 
-#: g10/gpg.c:1619
+#: g10/gpg.c:1627
 #, fuzzy, c-format
 #| msgid "WARNING: unsafe permissions on configuration file `%s'\n"
 msgid "WARNING: unsafe permissions on configuration file '%s'\n"
 msgstr "ADVARSEL: Usikre rettigheder på konfigurationsfil »%s«\n"
 
-#: g10/gpg.c:1622
+#: g10/gpg.c:1630
 #, fuzzy, c-format
 #| msgid "WARNING: unsafe permissions on extension `%s'\n"
 msgid "WARNING: unsafe permissions on extension '%s'\n"
 msgstr "ADVARSEL: Usikre rettigheder på udvidelse »%s«\n"
 
-#: g10/gpg.c:1628
+#: g10/gpg.c:1636
 #, fuzzy, c-format
 #| msgid "WARNING: unsafe enclosing directory ownership on homedir `%s'\n"
 msgid "WARNING: unsafe enclosing directory ownership on homedir '%s'\n"
 msgstr "ADVARSEL: Usikkert indelukket mappeejerskab på hjemmemappe »%s«\n"
 
-#: g10/gpg.c:1631
+#: g10/gpg.c:1639
 #, fuzzy, c-format
 #| msgid ""
 #| "WARNING: unsafe enclosing directory ownership on configuration file `%s'\n"
@@ -3013,19 +3031,19 @@ msgid ""
 msgstr ""
 "ADVARSEL: Usikkert indelukket mappeejerskab på konfigurationsfil »%s«\n"
 
-#: g10/gpg.c:1634
+#: g10/gpg.c:1642
 #, fuzzy, c-format
 #| msgid "WARNING: unsafe enclosing directory ownership on extension `%s'\n"
 msgid "WARNING: unsafe enclosing directory ownership on extension '%s'\n"
 msgstr "ADVARSEL: Usikkert indelukket mappeejerskab på udvidelse »%s«\n"
 
-#: g10/gpg.c:1640
+#: g10/gpg.c:1648
 #, fuzzy, c-format
 #| msgid "WARNING: unsafe enclosing directory permissions on homedir `%s'\n"
 msgid "WARNING: unsafe enclosing directory permissions on homedir '%s'\n"
 msgstr "ADVARSEL: Usikre indelukkede mapperettigheder på hjemmemappe »%s«\n"
 
-#: g10/gpg.c:1643
+#: g10/gpg.c:1651
 #, fuzzy, c-format
 #| msgid ""
 #| "WARNING: unsafe enclosing directory permissions on configuration file `"
@@ -3035,465 +3053,465 @@ msgid ""
 msgstr ""
 "ADVARSEL: Usikre indelukkede mapperettigheder på konfigurationsfil »%s«\n"
 
-#: g10/gpg.c:1646
+#: g10/gpg.c:1654
 #, fuzzy, c-format
 #| msgid "WARNING: unsafe enclosing directory permissions on extension `%s'\n"
 msgid "WARNING: unsafe enclosing directory permissions on extension '%s'\n"
 msgstr "ADVARSEL: Usikkert indelukket mapperettigheder på udvidelse »%s«\n"
 
-#: g10/gpg.c:1862
+#: g10/gpg.c:1870
 #, fuzzy, c-format
 #| msgid "unknown configuration item `%s'\n"
 msgid "unknown configuration item '%s'\n"
 msgstr "ukendt konfigurationspunkt »%s«\n"
 
-#: g10/gpg.c:1979
+#: g10/gpg.c:1992
 msgid "display photo IDs during key listings"
 msgstr "vis billed-id'er under nøglevisninger"
 
-#: g10/gpg.c:1981
+#: g10/gpg.c:1994
 #, fuzzy
 #| msgid "show user ID validity during key listings"
 msgid "show key usage information during key listings"
 msgstr "vis bruger-id-validitet under nøglevisninger"
 
-#: g10/gpg.c:1983
+#: g10/gpg.c:1996
 msgid "show policy URLs during signature listings"
 msgstr "vil politikadresser under underskriftvisninger"
 
-#: g10/gpg.c:1985
+#: g10/gpg.c:1998
 msgid "show all notations during signature listings"
 msgstr "vis alle notationer under underskriftvisninger"
 
-#: g10/gpg.c:1987
+#: g10/gpg.c:2000
 msgid "show IETF standard notations during signature listings"
 msgstr "vis IETF-standardnotationer under underskriftvisninger"
 
-#: g10/gpg.c:1991
+#: g10/gpg.c:2004
 msgid "show user-supplied notations during signature listings"
 msgstr "vis brugerangivne notationer under underskriftvisninger"
 
-#: g10/gpg.c:1993
+#: g10/gpg.c:2006
 msgid "show preferred keyserver URLs during signature listings"
 msgstr "vis foretrukne nøgleserveradresser under underskriftvisninger"
 
-#: g10/gpg.c:1995
+#: g10/gpg.c:2008
 msgid "show user ID validity during key listings"
 msgstr "vis bruger-id-validitet under nøglevisninger"
 
-#: g10/gpg.c:1997
+#: g10/gpg.c:2010
 msgid "show revoked and expired user IDs in key listings"
 msgstr "vis tilbagekaldte og udløbne bruger-id'er i nøglevisninger"
 
-#: g10/gpg.c:1999
+#: g10/gpg.c:2012
 msgid "show revoked and expired subkeys in key listings"
 msgstr "vis tilbagekaldte og udløbne undernøgler i nøglevisninger"
 
-#: g10/gpg.c:2001
+#: g10/gpg.c:2014
 msgid "show the keyring name in key listings"
 msgstr "vis nøgleringsnavnet i nøglevisninger"
 
-#: g10/gpg.c:2003
+#: g10/gpg.c:2016
 msgid "show expiration dates during signature listings"
 msgstr "vis udløbsdatoer under underskriftvisninger"
 
-#: g10/gpg.c:2118
+#: g10/gpg.c:2131
 #, fuzzy, c-format
 #| msgid "unknown option `%s'\n"
 msgid "unknown TOFU policy '%s'\n"
 msgstr "ukendt tilvalg »%s«\n"
 
-#: g10/gpg.c:2120
+#: g10/gpg.c:2133
 #, c-format
 msgid "(use \"help\" to list choices)\n"
 msgstr ""
 
-#: g10/gpg.c:2840 g10/gpg.c:3671 g10/gpg.c:3683
+#: g10/gpg.c:2856 g10/gpg.c:3691 g10/gpg.c:3703
 #, fuzzy, c-format
 #| msgid "NOTE: %s is not for normal use!\n"
 msgid "Note: %s is not for normal use!\n"
 msgstr "BEMÆRK: %s er ikke til normal brug!\n"
 
-#: g10/gpg.c:3017 g10/gpg.c:3029
+#: g10/gpg.c:3033 g10/gpg.c:3045
 #, fuzzy, c-format
 #| msgid "`%s' is not a valid signature expiration\n"
 msgid "'%s' is not a valid signature expiration\n"
 msgstr "»%s« er ikke et gyldigt underskriftudløb\n"
 
-#: g10/gpg.c:3051
+#: g10/gpg.c:3067
 #, fuzzy, c-format
 #| msgid "line %d: not a valid email address\n"
 msgid "\"%s\" is not a proper mail address\n"
 msgstr "linje %d: ikke en gyldig e-post-adresse\n"
 
-#: g10/gpg.c:3083 sm/gpgsm.c:1177
+#: g10/gpg.c:3099 sm/gpgsm.c:1091
 #, fuzzy, c-format
 #| msgid "invalid country code in `%s', line %d\n"
 msgid "invalid pinentry mode '%s'\n"
 msgstr "ugyldig landekode i »%s«, linje %d\n"
 
-#: g10/gpg.c:3089 sm/gpgsm.c:1183
+#: g10/gpg.c:3105 sm/gpgsm.c:1097
 #, fuzzy, c-format
 #| msgid "missing argument for option \"%.50s\"\n"
 msgid "invalid request origin '%s'\n"
 msgstr "manglende parameter for indstilling »%.50s«\n"
 
-#: g10/gpg.c:3143
+#: g10/gpg.c:3159
 #, fuzzy, c-format
 #| msgid "`%s' is not a valid character set\n"
 msgid "'%s' is not a valid character set\n"
 msgstr "»%s« er ikke et gyldigt tegnsæt\n"
 
-#: g10/gpg.c:3165 g10/gpg.c:3375 g10/keyedit.c:5281
+#: g10/gpg.c:3181 g10/gpg.c:3395 g10/keyedit.c:5282
 #, c-format
 msgid "could not parse keyserver URL\n"
 msgstr "kunne ikke fortolke nøgleserveradresse\n"
 
-#: g10/gpg.c:3183
+#: g10/gpg.c:3199
 #, c-format
 msgid "%s:%d: invalid keyserver options\n"
 msgstr "%s:%d: ugyldige indstillinger for nøgleserver\n"
 
-#: g10/gpg.c:3186
+#: g10/gpg.c:3202
 #, c-format
 msgid "invalid keyserver options\n"
 msgstr "ugyldige indstillinger for nøgleserver\n"
 
-#: g10/gpg.c:3193
+#: g10/gpg.c:3209
 #, c-format
 msgid "%s:%d: invalid import options\n"
 msgstr "%s:%d: ugyldige importindstillinger\n"
 
-#: g10/gpg.c:3196
+#: g10/gpg.c:3212
 #, c-format
 msgid "invalid import options\n"
 msgstr "ugyldige importindstillinger\n"
 
-#: g10/gpg.c:3202 g10/gpg.c:3217
+#: g10/gpg.c:3218 g10/gpg.c:3233
 #, fuzzy, c-format
 #| msgid "invalid list options\n"
 msgid "invalid filter option: %s\n"
 msgstr "ugyldige listeindstillinger\n"
 
-#: g10/gpg.c:3208
+#: g10/gpg.c:3224
 #, c-format
 msgid "%s:%d: invalid export options\n"
 msgstr "%s:%d: ugyldige eksportindstillinger\n"
 
-#: g10/gpg.c:3211
+#: g10/gpg.c:3227
 #, c-format
 msgid "invalid export options\n"
 msgstr "ugyldige eksportindstillinger\n"
 
-#: g10/gpg.c:3223
+#: g10/gpg.c:3239
 #, c-format
 msgid "%s:%d: invalid list options\n"
 msgstr "%s:%d: ugyldige listeindstillinger\n"
 
-#: g10/gpg.c:3226
+#: g10/gpg.c:3242
 #, c-format
 msgid "invalid list options\n"
 msgstr "ugyldige listeindstillinger\n"
 
-#: g10/gpg.c:3234
+#: g10/gpg.c:3250
 msgid "display photo IDs during signature verification"
 msgstr "vis billed-id'er under underskriftverificering"
 
-#: g10/gpg.c:3236
+#: g10/gpg.c:3252
 msgid "show policy URLs during signature verification"
 msgstr "vis politikadresser under underskriftverificering"
 
-#: g10/gpg.c:3238
+#: g10/gpg.c:3254
 msgid "show all notations during signature verification"
 msgstr "vis alle notationer under underskriftverificering"
 
-#: g10/gpg.c:3240
+#: g10/gpg.c:3256
 msgid "show IETF standard notations during signature verification"
 msgstr "vis IETF-standardnotationer under underskriftverificering"
 
-#: g10/gpg.c:3244
+#: g10/gpg.c:3260
 msgid "show user-supplied notations during signature verification"
 msgstr "vis brugerangivne notationer under underskriftverificering"
 
-#: g10/gpg.c:3246
+#: g10/gpg.c:3262
 msgid "show preferred keyserver URLs during signature verification"
 msgstr "vis foretrukne nøgleserveradresser under underskriftverificering"
 
-#: g10/gpg.c:3248
+#: g10/gpg.c:3264
 msgid "show user ID validity during signature verification"
 msgstr "vis bruger-id-validitet under underskriftverificering"
 
-#: g10/gpg.c:3250
+#: g10/gpg.c:3266
 msgid "show revoked and expired user IDs in signature verification"
 msgstr "vis tilbagekaldte og udløbne bruger-id'er i underskriftverificering"
 
-#: g10/gpg.c:3252
+#: g10/gpg.c:3268
 msgid "show only the primary user ID in signature verification"
 msgstr "vis kun den primære bruger-id i underskriftverificering"
 
-#: g10/gpg.c:3254
+#: g10/gpg.c:3270
 msgid "validate signatures with PKA data"
 msgstr "valider underskrifter med PKA-data"
 
-#: g10/gpg.c:3256
+#: g10/gpg.c:3272
 msgid "elevate the trust of signatures with valid PKA data"
 msgstr "hæv troværdigheden for underskrifter med gyldige PKA-data"
 
-#: g10/gpg.c:3263
+#: g10/gpg.c:3279
 #, c-format
 msgid "%s:%d: invalid verify options\n"
 msgstr "%s:%d: ugyldige verificeringsindstillinger\n"
 
-#: g10/gpg.c:3266
+#: g10/gpg.c:3282
 #, c-format
 msgid "invalid verify options\n"
 msgstr "ugyldige verificeringsindstillinger\n"
 
-#: g10/gpg.c:3273
+#: g10/gpg.c:3289
 #, c-format
 msgid "unable to set exec-path to %s\n"
 msgstr "kunne ikke angive kørselssti til %s\n"
 
-#: g10/gpg.c:3478
+#: g10/gpg.c:3498
 #, c-format
 msgid "%s:%d: invalid auto-key-locate list\n"
 msgstr "%s:%d: ugyldig liste for auto-key-locate\n"
 
-#: g10/gpg.c:3481
+#: g10/gpg.c:3501
 #, c-format
 msgid "invalid auto-key-locate list\n"
 msgstr "ugyldig liste for auto-key-locate\n"
 
-#: g10/gpg.c:3653 sm/gpgsm.c:1541
+#: g10/gpg.c:3673 sm/gpgsm.c:1441
 #, c-format
 msgid "WARNING: program may create a core file!\n"
 msgstr "ADVARSEL: program kan oprette en kernefil!\n"
 
-#: g10/gpg.c:3664
+#: g10/gpg.c:3684
 #, c-format
 msgid "WARNING: %s overrides %s\n"
 msgstr "ADVARSEL: %s overskriver %s\n"
 
-#: g10/gpg.c:3673
+#: g10/gpg.c:3693
 #, c-format
 msgid "%s not allowed with %s!\n"
 msgstr "%s ikke tilladt med %s!\n"
 
-#: g10/gpg.c:3676
+#: g10/gpg.c:3696
 #, c-format
 msgid "%s makes no sense with %s!\n"
 msgstr "%s er meningsløs sammen med %s!\n"
 
-#: g10/gpg.c:3691 sm/gpgsm.c:1558 dirmngr/dirmngr.c:1082
+#: g10/gpg.c:3711 sm/gpgsm.c:1458 dirmngr/dirmngr.c:1117
 #, c-format
 msgid "WARNING: running with faked system time: "
 msgstr "ADVARSEL: kører med forfalsket systemtid: "
 
-#: g10/gpg.c:3712
+#: g10/gpg.c:3732
 #, c-format
 msgid "will not run with insecure memory due to %s\n"
 msgstr "vil ikke køre med usikker hukommelse på grund af %s\n"
 
-#: g10/gpg.c:3747 g10/gpg.c:3771 sm/gpgsm.c:1625
+#: g10/gpg.c:3767 g10/gpg.c:3791 sm/gpgsm.c:1525
 #, c-format
 msgid "selected cipher algorithm is invalid\n"
 msgstr "valgt chifferalgoritme er ugyldig\n"
 
-#: g10/gpg.c:3759
+#: g10/gpg.c:3779
 #, c-format
 msgid "selected compression algorithm is invalid\n"
 msgstr "valgt komprimeringsalgoritme er ugyldig\n"
 
-#: g10/gpg.c:3765
+#: g10/gpg.c:3785
 #, c-format
 msgid "selected certification digest algorithm is invalid\n"
 msgstr "valgt algoritme for certifikationssammendrag er ugyldig\n"
 
-#: g10/gpg.c:3780
+#: g10/gpg.c:3800
 #, c-format
 msgid "completes-needed must be greater than 0\n"
 msgstr "completes-needed skal være større end 0\n"
 
-#: g10/gpg.c:3782
+#: g10/gpg.c:3802
 #, c-format
 msgid "marginals-needed must be greater than 1\n"
 msgstr "marginals-needed skal være større end 1\n"
 
-#: g10/gpg.c:3784
+#: g10/gpg.c:3804
 #, c-format
 msgid "max-cert-depth must be in the range from 1 to 255\n"
 msgstr "max-cert-depth skal være i intervallet fra 1 til 255\n"
 
-#: g10/gpg.c:3786
+#: g10/gpg.c:3806
 #, c-format
 msgid "invalid default-cert-level; must be 0, 1, 2, or 3\n"
 msgstr "ugyldigt default-cert-level; skal være 0, 1, 2 eller 3\n"
 
-#: g10/gpg.c:3788
+#: g10/gpg.c:3808
 #, c-format
 msgid "invalid min-cert-level; must be 1, 2, or 3\n"
 msgstr "ugyldigt min-cert-level; skal være 1, 2 eller 3\n"
 
-#: g10/gpg.c:3791
+#: g10/gpg.c:3812
 #, fuzzy, c-format
 #| msgid "NOTE: simple S2K mode (0) is strongly discouraged\n"
 msgid "Note: simple S2K mode (0) is strongly discouraged\n"
 msgstr "BEMÆRK: simpel S2K-tilstand (0) frarådes på det skarpeste\n"
 
-#: g10/gpg.c:3795
+#: g10/gpg.c:3816
 #, c-format
 msgid "invalid S2K mode; must be 0, 1 or 3\n"
 msgstr "ugyldig S2K-tilstand; skal være 0, 1 eller 3\n"
 
-#: g10/gpg.c:3802
+#: g10/gpg.c:3823
 #, c-format
 msgid "invalid default preferences\n"
 msgstr "ugyldige standardpræferencer\n"
 
-#: g10/gpg.c:3806
+#: g10/gpg.c:3827
 #, c-format
 msgid "invalid personal cipher preferences\n"
 msgstr "ugyldige præferencer for personlig chiffer\n"
 
-#: g10/gpg.c:3810
+#: g10/gpg.c:3831
 #, c-format
 msgid "invalid personal digest preferences\n"
 msgstr "ugyldige præferencer for personlig sammendrag\n"
 
-#: g10/gpg.c:3814
+#: g10/gpg.c:3835
 #, c-format
 msgid "invalid personal compress preferences\n"
 msgstr "ugyldige præferencer for personlig komprimering\n"
 
-#: g10/gpg.c:3850
+#: g10/gpg.c:3871
 #, c-format
 msgid "%s does not yet work with %s\n"
 msgstr "%s virker endnu ikke med %s\n"
 
-#: g10/gpg.c:3913
+#: g10/gpg.c:3934
 #, fuzzy, c-format
 #| msgid "you may not use compression algorithm `%s' while in %s mode\n"
 msgid "compression algorithm '%s' may not be used in %s mode\n"
 msgstr "du må ikke bruge komprimeringsalgoritmen »%s« i tilstanden %s\n"
 
-#: g10/gpg.c:4057
+#: g10/gpg.c:4078
 #, c-format
 msgid "failed to initialize the TrustDB: %s\n"
 msgstr "kunne ikke initialisere TrustDB: %s\n"
 
-#: g10/gpg.c:4069
+#: g10/gpg.c:4090
 #, c-format
 msgid "WARNING: recipients (-r) given without using public key encryption\n"
 msgstr ""
 "ADVARSEL: modtagere (-r) angivet uden brug af offentlig nøglekryptering\n"
 
-#: g10/gpg.c:4141
+#: g10/gpg.c:4162
 #, fuzzy, c-format
 #| msgid "symmetric encryption of `%s' failed: %s\n"
 msgid "symmetric encryption of '%s' failed: %s\n"
 msgstr "symmetrisk kryptering af »%s« mislykkedes: %s\n"
 
-#: g10/gpg.c:4170
+#: g10/gpg.c:4191
 #, c-format
 msgid "you cannot use --symmetric --encrypt with --s2k-mode 0\n"
 msgstr "du kan ikke bruge --symmetric --encrypt med --s2k-mode 0\n"
 
-#: g10/gpg.c:4173
+#: g10/gpg.c:4194
 #, fuzzy, c-format
 #| msgid "you cannot use --symmetric --encrypt while in %s mode\n"
 msgid "you cannot use --symmetric --encrypt in %s mode\n"
 msgstr "du kan ikke bruge --symmetric --encrypt i tilstanden %s\n"
 
-#: g10/gpg.c:4231
+#: g10/gpg.c:4252
 #, c-format
 msgid "you cannot use --symmetric --sign --encrypt with --s2k-mode 0\n"
 msgstr "du kan ikke bruge --symmetric --sign --encrypt med --s2k-mode 0\n"
 
-#: g10/gpg.c:4234
+#: g10/gpg.c:4255
 #, fuzzy, c-format
 #| msgid "you cannot use --symmetric --sign --encrypt while in %s mode\n"
 msgid "you cannot use --symmetric --sign --encrypt in %s mode\n"
 msgstr "du kan ikke bruge --symmetric --sign --encrypt i tilstanden %s\n"
 
-#: g10/gpg.c:4622 g10/keyserver.c:1881
+#: g10/gpg.c:4643 g10/keyserver.c:1648
 #, c-format
 msgid "keyserver send failed: %s\n"
 msgstr "nøgleserver send mislykkedes: %s\n"
 
-#: g10/gpg.c:4627
+#: g10/gpg.c:4648
 #, c-format
 msgid "keyserver receive failed: %s\n"
 msgstr "nøgleserver modtag mislykkedes: %s\n"
 
-#: g10/gpg.c:4633
+#: g10/gpg.c:4654
 #, c-format
 msgid "key export failed: %s\n"
 msgstr "nøgleeksport mislykkedes: %s\n"
 
-#: g10/gpg.c:4646
+#: g10/gpg.c:4667
 #, fuzzy, c-format
 #| msgid "key export failed: %s\n"
 msgid "export as ssh key failed: %s\n"
 msgstr "nøgleeksport mislykkedes: %s\n"
 
-#: g10/gpg.c:4658
+#: g10/gpg.c:4679
 #, c-format
 msgid "keyserver search failed: %s\n"
 msgstr "nøgleserver søg mislykkedes: %s\n"
 
-#: g10/gpg.c:4671
+#: g10/gpg.c:4692
 #, c-format
 msgid "keyserver refresh failed: %s\n"
 msgstr "nøgleserver opdater mislykkedes: %s\n"
 
-#: g10/gpg.c:4738
+#: g10/gpg.c:4759
 #, c-format
 msgid "dearmoring failed: %s\n"
 msgstr "fjernelse af panser mislykkedes: %s\n"
 
-#: g10/gpg.c:4749
+#: g10/gpg.c:4770
 #, c-format
 msgid "enarmoring failed: %s\n"
 msgstr "påklædning af panser mislykkedes: %s\n"
 
-#: g10/gpg.c:4841
+#: g10/gpg.c:4862
 #, fuzzy, c-format
 #| msgid "invalid hash algorithm `%s'\n"
 msgid "invalid hash algorithm '%s'\n"
 msgstr "ugyldig hash-algoritme »%s«\n"
 
-#: g10/gpg.c:4993 g10/tofu.c:2153
+#: g10/gpg.c:5014 g10/tofu.c:2153
 #, fuzzy, c-format
 #| msgid "error storing certificate: %s\n"
 msgid "error parsing key specification '%s': %s\n"
 msgstr "fejl ved lagring af certifikat: %s\n"
 
-#: g10/gpg.c:5006
+#: g10/gpg.c:5027
 #, c-format
 msgid "'%s' does not appear to be a valid key ID, fingerprint or keygrip\n"
 msgstr ""
 
-#: g10/gpg.c:5062
+#: g10/gpg.c:5083
 #, c-format
 msgid "WARNING: no command supplied.  Trying to guess what you mean ...\n"
 msgstr ""
 
-#: g10/gpg.c:5073
+#: g10/gpg.c:5094
 #, c-format
 msgid "Go ahead and type your message ...\n"
 msgstr "Gå til sagen og skriv meddelelsen ...\n"
 
-#: g10/gpg.c:5418
+#: g10/gpg.c:5439
 #, c-format
 msgid "the given certification policy URL is invalid\n"
 msgstr "den angivne adresse for certifikatpolitik er ugyldig\n"
 
-#: g10/gpg.c:5420
+#: g10/gpg.c:5441
 #, c-format
 msgid "the given signature policy URL is invalid\n"
 msgstr "den angivne adresse for underskriftpolitik er ugyldig\n"
 
-#: g10/gpg.c:5453
+#: g10/gpg.c:5474
 #, c-format
 msgid "the given preferred keyserver URL is invalid\n"
 msgstr "den angivne adresse for foretrukken nøgleserver er ugyldig\n"
@@ -3506,7 +3524,7 @@ msgstr "|FILE|tag nøglerne fra nøgleringsFILEN"
 msgid "make timestamp conflicts only a warning"
 msgstr "giv kun tidsstempelkonflikter en advarsel"
 
-#: g10/gpgv.c:86 sm/gpgsm.c:354 tools/gpgconf.c:112
+#: g10/gpgv.c:86 sm/gpgsm.c:357 tools/gpgconf.c:112
 msgid "|FD|write status info to this FD"
 msgstr "|FD|skriv statusinformation til denne FD"
 
@@ -3592,98 +3610,98 @@ msgstr "antag inddata er i binært format"
 msgid "repair keys on import"
 msgstr "vis nøglefingeraftryk"
 
-#: g10/import.c:380 g10/import.c:699
+#: g10/import.c:392 g10/import.c:711
 #, c-format
 msgid "skipping block of type %d\n"
 msgstr "     udelader bloktype %d\n"
 
-#: g10/import.c:716
+#: g10/import.c:728
 #, c-format
 msgid "%lu keys processed so far\n"
 msgstr "     %lu-nøgler behandlet\n"
 
-#: g10/import.c:802
+#: g10/import.c:814
 #, c-format
 msgid "Total number processed: %lu\n"
 msgstr " Totalt antal behandl.: %lu\n"
 
-#: g10/import.c:805
+#: g10/import.c:817
 #, fuzzy, c-format
 #| msgid "      skipped new keys: %lu\n"
 msgid "    skipped PGP-2 keys: %lu\n"
 msgstr "   udeladte nye nøgler: %lu\n"
 
-#: g10/import.c:807
+#: g10/import.c:819
 #, c-format
 msgid "      skipped new keys: %lu\n"
 msgstr "   udeladte nye nøgler: %lu\n"
 
-#: g10/import.c:810
+#: g10/import.c:822
 #, c-format
 msgid "          w/o user IDs: %lu\n"
 msgstr "      w/o bruger-id'er: %lu\n"
 
-#: g10/import.c:813 sm/import.c:130
+#: g10/import.c:825 sm/import.c:130
 #, c-format
 msgid "              imported: %lu"
 msgstr "           importerede: %lu"
 
-#: g10/import.c:817 sm/import.c:134
+#: g10/import.c:829 sm/import.c:134
 #, c-format
 msgid "             unchanged: %lu\n"
 msgstr "              uændrede: %lu\n"
 
-#: g10/import.c:819
+#: g10/import.c:831
 #, c-format
 msgid "          new user IDs: %lu\n"
 msgstr "       nye bruger-id'er: %lu\n"
 
-#: g10/import.c:821
+#: g10/import.c:833
 #, c-format
 msgid "           new subkeys: %lu\n"
 msgstr "       nye undernøgler: %lu\n"
 
-#: g10/import.c:823
+#: g10/import.c:835
 #, c-format
 msgid "        new signatures: %lu\n"
 msgstr "     nye underskrifter: %lu\n"
 
-#: g10/import.c:825
+#: g10/import.c:837
 #, c-format
 msgid "   new key revocations: %lu\n"
 msgstr "  nye nøgletilbagekald: %lu\n"
 
-#: g10/import.c:827 sm/import.c:136
+#: g10/import.c:839 sm/import.c:136
 #, c-format
 msgid "      secret keys read: %lu\n"
 msgstr " hemmelige nøgler læst: %lu\n"
 
-#: g10/import.c:829 sm/import.c:138
+#: g10/import.c:841 sm/import.c:138
 #, c-format
 msgid "  secret keys imported: %lu\n"
 msgstr " hemmel. nøgler import: %lu\n"
 
-#: g10/import.c:831 sm/import.c:140
+#: g10/import.c:843 sm/import.c:140
 #, c-format
 msgid " secret keys unchanged: %lu\n"
 msgstr "hemmel. nøgler uændret: %lu\n"
 
-#: g10/import.c:833 sm/import.c:142
+#: g10/import.c:845 sm/import.c:142
 #, c-format
 msgid "          not imported: %lu\n"
 msgstr "      ikke importerede: %lu\n"
 
-#: g10/import.c:835
+#: g10/import.c:847
 #, c-format
 msgid "    signatures cleaned: %lu\n"
 msgstr "  underskrifter ryddet: %lu\n"
 
-#: g10/import.c:837
+#: g10/import.c:849
 #, c-format
 msgid "      user IDs cleaned: %lu\n"
 msgstr "   bruger-id'er ryddet: %lu\n"
 
-#: g10/import.c:1264
+#: g10/import.c:1276
 #, c-format
 msgid ""
 "WARNING: key %s contains preferences for unavailable\n"
@@ -3692,171 +3710,171 @@ msgstr ""
 "ADVARSEL: nøgle %s indeholder præferencer for utilgængelige\n"
 "algoritmer på disse bruger-id'er:\n"
 
-#: g10/import.c:1306
+#: g10/import.c:1318
 #, c-format
 msgid "         \"%s\": preference for cipher algorithm %s\n"
 msgstr "        »%s«: præference for chifferalgoritme %s\n"
 
-#: g10/import.c:1321
+#: g10/import.c:1333
 #, c-format
 msgid "         \"%s\": preference for digest algorithm %s\n"
 msgstr "        »%s«: præference for sammendragsalgortime %s\n"
 
-#: g10/import.c:1333
+#: g10/import.c:1345
 #, c-format
 msgid "         \"%s\": preference for compression algorithm %s\n"
 msgstr "        »%s«: præference for komprimeringsalgortime %s\n"
 
-#: g10/import.c:1346
+#: g10/import.c:1358
 #, c-format
 msgid "it is strongly suggested that you update your preferences and\n"
 msgstr "det anbefales på det stærkeste, at du opdaterer dine præferencer og\n"
 
-#: g10/import.c:1348
+#: g10/import.c:1360
 #, c-format
 msgid "re-distribute this key to avoid potential algorithm mismatch problems\n"
 msgstr ""
 "gendistribuerer denne nøgle for at undgå potentielle problemer med rod i\n"
 "algoritmen\n"
 
-#: g10/import.c:1373
+#: g10/import.c:1385
 #, c-format
 msgid "you can update your preferences with: gpg --edit-key %s updpref save\n"
 msgstr "du kan opdatere dine præferencer med: gpg --edit-key %s updpref save\n"
 
-#: g10/import.c:1887 g10/import.c:3001
+#: g10/import.c:1899 g10/import.c:3013
 #, c-format
 msgid "key %s: no user ID\n"
 msgstr "nøgle %s: ingen bruger-id\n"
 
-#: g10/import.c:1893
+#: g10/import.c:1905
 #, fuzzy, c-format
 #| msgid "skipped \"%s\": %s\n"
 msgid "key %s: %s\n"
 msgstr "udelod »%s«: %s\n"
 
-#: g10/import.c:1894 g10/import.c:2973
+#: g10/import.c:1906 g10/import.c:2985
 msgid "rejected by import screener"
 msgstr ""
 
-#: g10/import.c:1938
+#: g10/import.c:1950
 #, c-format
 msgid "key %s: PKS subkey corruption repaired\n"
 msgstr "nøgle %s: korruption af PKS-undernøgle er repareret!\n"
 
-#: g10/import.c:1959
+#: g10/import.c:1971
 #, c-format
 msgid "key %s: accepted non self-signed user ID \"%s\"\n"
 msgstr "nøgle %s: accepteret ikke egenunderskrevet bruger-id »%s«\n"
 
-#: g10/import.c:1969 g10/import.c:2000
+#: g10/import.c:1981 g10/import.c:2012
 #, c-format
 msgid "key %s: no valid user IDs\n"
 msgstr "nøgle %s: ingen gyldige bruger-id'er\n"
 
-#: g10/import.c:1971
+#: g10/import.c:1983
 #, c-format
 msgid "this may be caused by a missing self-signature\n"
 msgstr "dette kan skyldes en manglende egenunderskrift\n"
 
-#: g10/import.c:2050 g10/import.c:3387
+#: g10/import.c:2062 g10/import.c:3399
 #, c-format
 msgid "key %s: public key not found: %s\n"
 msgstr "nøgle %s: offentlig nøgle blev ikke fundet: %s\n"
 
-#: g10/import.c:2056
+#: g10/import.c:2068
 #, c-format
 msgid "key %s: new key - skipped\n"
 msgstr "nøgle %s: ny nøgle - udeladt\n"
 
-#: g10/import.c:2068
+#: g10/import.c:2080
 #, c-format
 msgid "no writable keyring found: %s\n"
 msgstr "ingen skrivbar nøglering fundet: %s\n"
 
-#: g10/import.c:2100 g10/import.c:2202 g10/import.c:3464
+#: g10/import.c:2112 g10/import.c:2214 g10/import.c:3476
 #, fuzzy, c-format
 #| msgid "error writing keyring `%s': %s\n"
 msgid "error writing keyring '%s': %s\n"
 msgstr "fejl ved skrivning af nøglering »%s«: %s\n"
 
-#: g10/import.c:2123
+#: g10/import.c:2135
 #, c-format
 msgid "key %s: public key \"%s\" imported\n"
 msgstr "nøgle %s: offentlig nøgle »%s« importeret\n"
 
-#: g10/import.c:2150
+#: g10/import.c:2162
 #, c-format
 msgid "key %s: doesn't match our copy\n"
 msgstr "nøgle %s: stemmer ikke med vores kopi\n"
 
-#: g10/import.c:2218
+#: g10/import.c:2230
 #, c-format
 msgid "key %s: \"%s\" 1 new user ID\n"
 msgstr "nøgle %s: »%s« 1 ny bruger-id\n"
 
-#: g10/import.c:2221
+#: g10/import.c:2233
 #, c-format
 msgid "key %s: \"%s\" %d new user IDs\n"
 msgstr "nøgle %s: »%s« %d nye bruger-id'er\n"
 
-#: g10/import.c:2224
+#: g10/import.c:2236
 #, c-format
 msgid "key %s: \"%s\" 1 new signature\n"
 msgstr "nøgle %s: »%s« 1 ny underskrift\n"
 
-#: g10/import.c:2227
+#: g10/import.c:2239
 #, c-format
 msgid "key %s: \"%s\" %d new signatures\n"
 msgstr "nøgle %s: »%s« %d nye underskrifter\n"
 
-#: g10/import.c:2230
+#: g10/import.c:2242
 #, c-format
 msgid "key %s: \"%s\" 1 new subkey\n"
 msgstr "nøgle %s: »%s« 1 ny undernøgle\n"
 
-#: g10/import.c:2233
+#: g10/import.c:2245
 #, c-format
 msgid "key %s: \"%s\" %d new subkeys\n"
 msgstr "nøgle %s: »%s« %d nye undernøgler\n"
 
-#: g10/import.c:2236
+#: g10/import.c:2248
 #, c-format
 msgid "key %s: \"%s\" %d signature cleaned\n"
 msgstr "nøgle %s: »%s« %d underskrift renset\n"
 
-#: g10/import.c:2239
+#: g10/import.c:2251
 #, c-format
 msgid "key %s: \"%s\" %d signatures cleaned\n"
 msgstr "nøgle %s: »%s« %d underskrifter renset\n"
 
-#: g10/import.c:2242
+#: g10/import.c:2254
 #, c-format
 msgid "key %s: \"%s\" %d user ID cleaned\n"
 msgstr "nøgle %s: »%s« %d bruger-id renset\n"
 
-#: g10/import.c:2245
+#: g10/import.c:2257
 #, c-format
 msgid "key %s: \"%s\" %d user IDs cleaned\n"
 msgstr "nøgle %s: »%s« %d bruger-id'er renset\n"
 
-#: g10/import.c:2281
+#: g10/import.c:2293
 #, c-format
 msgid "key %s: \"%s\" not changed\n"
 msgstr "nøgle %s: »%s« ikke ændret\n"
 
-#: g10/import.c:2640 g10/import.c:2835
+#: g10/import.c:2652 g10/import.c:2847
 #, c-format
 msgid "key %s: secret key imported\n"
 msgstr "nøgle %s: hemmelig nøgle importeret\n"
 
-#: g10/import.c:2648
+#: g10/import.c:2660
 #, fuzzy, c-format
 #| msgid "skipped: secret key already present\n"
 msgid "key %s: secret key already exists\n"
 msgstr "udelod: hemmelig nøgle er allerede til stede\n"
 
-#: g10/import.c:2656
+#: g10/import.c:2668
 #, fuzzy, c-format
 #| msgid "error sending %s command: %s\n"
 msgid "key %s: error sending to agent: %s\n"
@@ -3870,198 +3888,198 @@ msgstr "fejl under afsendelse af %s-kommando: %s\n"
 #. * Instead, user should be suggested to run 'gpg --card-status',
 #. * then, references to a card will be automatically created
 #. * again.
-#: g10/import.c:2825
+#: g10/import.c:2837
 #, c-format
 msgid "To migrate '%s', with each smartcard, run: %s\n"
 msgstr ""
 
-#: g10/import.c:2972
+#: g10/import.c:2984
 #, fuzzy, c-format
 #| msgid "secret key \"%s\" not found: %s\n"
 msgid "secret key %s: %s\n"
 msgstr "hemmelig nøgle »%s« blev ikke fundet: %s\n"
 
-#: g10/import.c:2993 g10/import.c:3032
+#: g10/import.c:3005 g10/import.c:3044
 #, c-format
 msgid "importing secret keys not allowed\n"
 msgstr "import af hemmelige nøgler er ikke tilladt\n"
 
-#: g10/import.c:3020
+#: g10/import.c:3032
 #, c-format
 msgid "key %s: secret key with invalid cipher %d - skipped\n"
 msgstr "nøgle %s: hemmelig nøgle med ugyldig chiffer %d - udeladt\n"
 
-#: g10/import.c:3182 g10/pkclist.c:72 g10/revoke.c:776
+#: g10/import.c:3194 g10/pkclist.c:72 g10/revoke.c:776
 msgid "No reason specified"
 msgstr "Ingen årsag angivet"
 
-#: g10/import.c:3183 g10/pkclist.c:74 g10/revoke.c:778
+#: g10/import.c:3195 g10/pkclist.c:74 g10/revoke.c:778
 msgid "Key is superseded"
 msgstr "Nøglen er blevet afløst"
 
-#: g10/import.c:3184 g10/pkclist.c:76 g10/revoke.c:777
+#: g10/import.c:3196 g10/pkclist.c:76 g10/revoke.c:777
 msgid "Key has been compromised"
 msgstr "Nøglen er blevet kompromitteret"
 
-#: g10/import.c:3185 g10/pkclist.c:78 g10/revoke.c:779
+#: g10/import.c:3197 g10/pkclist.c:78 g10/revoke.c:779
 msgid "Key is no longer used"
 msgstr "Nøglen bruges ikke længere"
 
-#: g10/import.c:3186 g10/pkclist.c:80 g10/revoke.c:780
+#: g10/import.c:3198 g10/pkclist.c:80 g10/revoke.c:780
 msgid "User ID is no longer valid"
 msgstr "Bruger-id er ikke længere gyldigt"
 
-#: g10/import.c:3311 g10/keylist.c:1254 g10/pkclist.c:84
+#: g10/import.c:3323 g10/keylist.c:1254 g10/pkclist.c:84
 #, c-format
 msgid "reason for revocation: "
 msgstr "årsag for tilbagekald: "
 
-#: g10/import.c:3330 g10/keylist.c:1273 g10/pkclist.c:100
+#: g10/import.c:3342 g10/keylist.c:1273 g10/pkclist.c:100
 #, c-format
 msgid "revocation comment: "
 msgstr "tilbagekaldskommentar: "
 
-#: g10/import.c:3380
+#: g10/import.c:3392
 #, c-format
 msgid "key %s: no public key - can't apply revocation certificate\n"
 msgstr ""
 "nøgle %s: ingen offentlig nøgle - kan ikke anvende tilbagekaldscertifikat\n"
 
-#: g10/import.c:3411
+#: g10/import.c:3423
 #, c-format
 msgid "key %s: can't locate original keyblock: %s\n"
 msgstr "nøgle %s: kan ikke lokalisere original nøgleblok: %s\n"
 
-#: g10/import.c:3418
+#: g10/import.c:3430
 #, c-format
 msgid "key %s: can't read original keyblock: %s\n"
 msgstr "nøgle %s: kan ikke læse original nøgleblok: %s\n"
 
-#: g10/import.c:3438
+#: g10/import.c:3450
 #, c-format
 msgid "key %s: invalid revocation certificate: %s - rejected\n"
 msgstr "nøgle %s: ugyldigt tilbagekaldscertifikat: %s - afvist\n"
 
-#: g10/import.c:3473
+#: g10/import.c:3485
 #, c-format
 msgid "key %s: \"%s\" revocation certificate imported\n"
 msgstr "nøgle %s: »%s« tilbagekaldscertifikat importeret\n"
 
-#: g10/import.c:3559
+#: g10/import.c:3571
 #, c-format
 msgid "key %s: no user ID for signature\n"
 msgstr "nøgle %s: ingen bruger-id for underskrift\n"
 
-#: g10/import.c:3576
+#: g10/import.c:3588
 #, c-format
 msgid "key %s: unsupported public key algorithm on user ID \"%s\"\n"
 msgstr ""
 "nøgle %s: ikke understøttet offentlig nøglealgoritme på bruger-id »%s«\n"
 
-#: g10/import.c:3578
+#: g10/import.c:3590
 #, c-format
 msgid "key %s: invalid self-signature on user ID \"%s\"\n"
 msgstr "nøgle %s: ugyldig egenunderskrift på bruger-id »%s«\n"
 
-#: g10/import.c:3595 g10/import.c:3623 g10/import.c:3679
+#: g10/import.c:3607 g10/import.c:3635 g10/import.c:3691
 #, c-format
 msgid "key %s: unsupported public key algorithm\n"
 msgstr "nøgle %s: ikke understøttet offentlig nøglealgoritme\n"
 
-#: g10/import.c:3596
+#: g10/import.c:3608
 #, c-format
 msgid "key %s: invalid direct key signature\n"
 msgstr "nøgle %s: ugyldig direkte nøgleunderskrift\n"
 
-#: g10/import.c:3610
+#: g10/import.c:3622
 #, c-format
 msgid "key %s: no subkey for key binding\n"
 msgstr "nøgle %s: ingen undernøgle for nøglebinding\n"
 
-#: g10/import.c:3625
+#: g10/import.c:3637
 #, c-format
 msgid "key %s: invalid subkey binding\n"
 msgstr "nøgle %s: ugyldig undernøglebinding\n"
 
-#: g10/import.c:3644
+#: g10/import.c:3656
 #, c-format
 msgid "key %s: removed multiple subkey binding\n"
 msgstr "nøgle %s: fjernet flerundernøglebinding\n"
 
-#: g10/import.c:3668
+#: g10/import.c:3680
 #, c-format
 msgid "key %s: no subkey for key revocation\n"
 msgstr "nøgle %s: ingen undernøgle for nøgletilbagekald\n"
 
-#: g10/import.c:3681
+#: g10/import.c:3693
 #, c-format
 msgid "key %s: invalid subkey revocation\n"
 msgstr "nøgle %s: ugyldig undernøgletilbagekald\n"
 
-#: g10/import.c:3696
+#: g10/import.c:3708
 #, c-format
 msgid "key %s: removed multiple subkey revocation\n"
 msgstr "nøgle %s: fjernet flerundernøgletilbagekald\n"
 
-#: g10/import.c:3740
+#: g10/import.c:3752
 #, c-format
 msgid "key %s: skipped user ID \"%s\"\n"
 msgstr "nøgle %s: udeladt bruger-id »%s«\n"
 
-#: g10/import.c:3767
+#: g10/import.c:3779
 #, c-format
 msgid "key %s: skipped subkey\n"
 msgstr "nøgle %s: udeladt undernøgle\n"
 
-#: g10/import.c:3798
+#: g10/import.c:3810
 #, c-format
 msgid "key %s: non exportable signature (class 0x%02X) - skipped\n"
 msgstr ""
 "nøgle %s: underskrift der ikke kan eksporteres (klasse 0x%02X) - udeladt\n"
 
-#: g10/import.c:3809
+#: g10/import.c:3821
 #, c-format
 msgid "key %s: revocation certificate at wrong place - skipped\n"
 msgstr "nøgle %s: tilbagekaldscertifikat på forkert sted - udeladt\n"
 
-#: g10/import.c:3827
+#: g10/import.c:3839
 #, c-format
 msgid "key %s: invalid revocation certificate: %s - skipped\n"
 msgstr "nøgle %s: ugyldigt tilbagekaldscertifikat: %s - udeladt\n"
 
-#: g10/import.c:3841
+#: g10/import.c:3853
 #, c-format
 msgid "key %s: subkey signature in wrong place - skipped\n"
 msgstr "nøgle %s: undernøgleunderskrift på forkert sted - udeladt\n"
 
-#: g10/import.c:3849
+#: g10/import.c:3861
 #, c-format
 msgid "key %s: unexpected signature class (0x%02X) - skipped\n"
 msgstr "nøgle %s: uventet underskriftklasse (0x%02X) - udeladt\n"
 
-#: g10/import.c:4022
+#: g10/import.c:4034
 #, c-format
 msgid "key %s: duplicated user ID detected - merged\n"
 msgstr "nøgle %s: duplikeret bruger-id detekteret - sammenføjet\n"
 
-#: g10/import.c:4087
+#: g10/import.c:4099
 #, c-format
 msgid "WARNING: key %s may be revoked: fetching revocation key %s\n"
 msgstr "ADVARSEL: nøgle %s kan tilbagekaldes: henter tilbagekaldsnøgle %s\n"
 
-#: g10/import.c:4103
+#: g10/import.c:4115
 #, c-format
 msgid "WARNING: key %s may be revoked: revocation key %s not present.\n"
 msgstr ""
 "ADVARSEL: nøgle %s kan tilbagekaldes: tilbagekaldsnøgle %s er ikke til "
 "stede.\n"
 
-#: g10/import.c:4169
+#: g10/import.c:4181
 #, c-format
 msgid "key %s: \"%s\" revocation certificate added\n"
 msgstr "nøgle %s: »%s« tilbagekaldscertifikat tilføjet\n"
 
-#: g10/import.c:4207
+#: g10/import.c:4219
 #, c-format
 msgid "key %s: direct key signature added\n"
 msgstr "nøgle %s: direkte nøgleunderskrift tilføjet\n"
@@ -4137,7 +4155,7 @@ msgid ""
 "all signatures.\n"
 msgstr ""
 
-#: g10/keydb.c:431 g10/keydb.c:458 sm/keydb.c:191 sm/keydb.c:204
+#: g10/keydb.c:431 g10/keydb.c:458 sm/keydb.c:190 sm/keydb.c:203
 #, fuzzy, c-format
 #| msgid "error creating keybox `%s': %s\n"
 msgid "error creating keybox '%s': %s\n"
@@ -4149,7 +4167,7 @@ msgstr "fejl ved oprettelse af nøgleboks »%s«: %s\n"
 msgid "error creating keyring '%s': %s\n"
 msgstr "fejl ved oprettelse af nøglering »%s«: %s\n"
 
-#: g10/keydb.c:470 sm/keydb.c:210
+#: g10/keydb.c:470 sm/keydb.c:209
 #, fuzzy, c-format
 #| msgid "keybox `%s' created\n"
 msgid "keybox '%s' created\n"
@@ -4233,13 +4251,13 @@ msgstr ""
 msgid "User ID \"%s\" is revoked."
 msgstr "Bruger-id »%s« er tilbagekaldt."
 
-#: g10/keyedit.c:569 g10/keyedit.c:597 g10/keyedit.c:624 g10/keyedit.c:808
-#: g10/keyedit.c:1655
+#: g10/keyedit.c:569 g10/keyedit.c:597 g10/keyedit.c:624 g10/keyedit.c:809
+#: g10/keyedit.c:1656
 msgid "Are you sure you still want to sign it? (y/N) "
 msgstr "Er du sikker på, at du stadig vil underskrive (j/N) "
 
-#: g10/keyedit.c:583 g10/keyedit.c:611 g10/keyedit.c:638 g10/keyedit.c:814
-#: g10/keyedit.c:1660 g10/keyedit.c:2667
+#: g10/keyedit.c:583 g10/keyedit.c:611 g10/keyedit.c:638 g10/keyedit.c:815
+#: g10/keyedit.c:1661 g10/keyedit.c:2668
 msgid "  Unable to sign.\n"
 msgstr "  Kunne ikke underskrive.\n"
 
@@ -4314,29 +4332,29 @@ msgstr "»%s« var allerede underskrevet lokalt af nøgle %s\n"
 msgid "\"%s\" was already signed by key %s\n"
 msgstr "»%s« var allerede underskrevet af nøgle %s\n"
 
-#: g10/keyedit.c:756
+#: g10/keyedit.c:757
 msgid "Do you want to sign it again anyway? (y/N) "
 msgstr "Ønsker du at underskrive den igen alligevel? (j/N) "
 
-#: g10/keyedit.c:778
+#: g10/keyedit.c:779
 #, c-format
 msgid "Nothing to sign with key %s\n"
 msgstr "Intet at underskrive med nøgle %s\n"
 
-#: g10/keyedit.c:802
+#: g10/keyedit.c:803
 msgid "This key has expired!"
 msgstr "Denne nøgle er udløbet!"
 
-#: g10/keyedit.c:820
+#: g10/keyedit.c:821
 #, c-format
 msgid "This key is due to expire on %s.\n"
 msgstr "Denne nøgle er ved at udløbe på %s.\n"
 
-#: g10/keyedit.c:826
+#: g10/keyedit.c:827
 msgid "Do you want your signature to expire at the same time? (Y/n) "
 msgstr "Ønsker du at dine underskrifter skal udløbe på samme tidspunkt? (J/n) "
 
-#: g10/keyedit.c:867
+#: g10/keyedit.c:868
 msgid ""
 "How carefully have you verified the key you are about to sign actually "
 "belongs\n"
@@ -4347,33 +4365,33 @@ msgstr ""
 "faktisk tilhører personen navngivet ovenfor? Hvis du ikke kender svaret, så "
 "indtast »0«.\n"
 
-#: g10/keyedit.c:872
+#: g10/keyedit.c:873
 #, c-format
 msgid "   (0) I will not answer.%s\n"
 msgstr "   (0) Jeg vil ikke svare.%s\n"
 
-#: g10/keyedit.c:874
+#: g10/keyedit.c:875
 #, c-format
 msgid "   (1) I have not checked at all.%s\n"
 msgstr "   (1) Jeg har ingen kontrol udført.%s\n"
 
-#: g10/keyedit.c:876
+#: g10/keyedit.c:877
 #, c-format
 msgid "   (2) I have done casual checking.%s\n"
 msgstr "   (2) Jeg har udført en overfladisk kontrol.%s\n"
 
-#: g10/keyedit.c:879
+#: g10/keyedit.c:880
 #, c-format
 msgid "   (3) I have done very careful checking.%s\n"
 msgstr "   (3) Jeg har foretaget en meget omhyggelig kontrol.%s\n"
 
-#: g10/keyedit.c:886
+#: g10/keyedit.c:887
 #, fuzzy
 #| msgid "Your selection? (enter `?' for more information): "
 msgid "Your selection? (enter '?' for more information): "
 msgstr "Dit valg? (indtast »?« for yderligere information): "
 
-#: g10/keyedit.c:913
+#: g10/keyedit.c:914
 #, c-format
 msgid ""
 "Are you sure that you want to sign this key with your\n"
@@ -4382,239 +4400,239 @@ msgstr ""
 "Er du sikker på, at du ønsker at underskrive denne nøgle\n"
 "med din nøgle »%s« (%s)\n"
 
-#: g10/keyedit.c:921
+#: g10/keyedit.c:922
 msgid "This will be a self-signature.\n"
 msgstr "Dette vil være en egenunderskrift.\n"
 
-#: g10/keyedit.c:926
+#: g10/keyedit.c:927
 msgid "WARNING: the signature will not be marked as non-exportable.\n"
 msgstr ""
 "ADVARSEL: Underskriften vil ikke blive markeret som ikke at kunne "
 "eksporteres.\n"
 
-#: g10/keyedit.c:933
+#: g10/keyedit.c:934
 msgid "WARNING: the signature will not be marked as non-revocable.\n"
 msgstr ""
 "ADVARSEL: Underskriften vil ikke blive markereret som ikke at kunne "
 "tilbagekaldes.\n"
 
-#: g10/keyedit.c:943
+#: g10/keyedit.c:944
 msgid "The signature will be marked as non-exportable.\n"
 msgstr "Underskriften vil blive markeret som ikke at kunne eksporteres.\n"
 
-#: g10/keyedit.c:950
+#: g10/keyedit.c:951
 msgid "The signature will be marked as non-revocable.\n"
 msgstr "Underskriften vil blive markeret som ikke at kunne tilbagekaldes.\n"
 
-#: g10/keyedit.c:957
+#: g10/keyedit.c:958
 msgid "I have not checked this key at all.\n"
 msgstr "Jeg har overhovedet ikke kontrolleret denne nøgle.\n"
 
-#: g10/keyedit.c:962
+#: g10/keyedit.c:963
 msgid "I have checked this key casually.\n"
 msgstr "Jeg har overfladisk kontrolleret denne nøgle.\n"
 
-#: g10/keyedit.c:967
+#: g10/keyedit.c:968
 msgid "I have checked this key very carefully.\n"
 msgstr "Jeg har omhyggeligt kontrolleret denne nøgle.\n"
 
-#: g10/keyedit.c:979
+#: g10/keyedit.c:980
 msgid "Really sign? (y/N) "
 msgstr "Underskriv? (j/N) "
 
-#: g10/keyedit.c:1030 g10/keyedit.c:6154 g10/keyedit.c:6237 g10/keyedit.c:6366
-#: g10/keyedit.c:6428 g10/sign.c:466
+#: g10/keyedit.c:1031 g10/keyedit.c:6155 g10/keyedit.c:6238 g10/keyedit.c:6367
+#: g10/keyedit.c:6429 g10/sign.c:466
 #, c-format
 msgid "signing failed: %s\n"
 msgstr "underskrift mislykkedes: %s\n"
 
-#: g10/keyedit.c:1117
+#: g10/keyedit.c:1118
 msgid "Key has only stub or on-card key items - no passphrase to change.\n"
 msgstr ""
 "Nøgle har kun stump eller ikkekort nøgleposter - ingen adgangsfrase at "
 "ændre.\n"
 
-#: g10/keyedit.c:1149
+#: g10/keyedit.c:1150
 #, fuzzy, c-format
 #| msgid "error creating passphrase: %s\n"
 msgid "key %s: error changing passphrase: %s\n"
 msgstr "fejl ved oprettelse af adgangsfrase: %s\n"
 
-#: g10/keyedit.c:1261
+#: g10/keyedit.c:1262
 msgid "save and quit"
 msgstr "gem og afslut"
 
-#: g10/keyedit.c:1264
+#: g10/keyedit.c:1265
 msgid "show key fingerprint"
 msgstr "vis nøglefingeraftryk"
 
 # key grip
 # chiefly  ( US ) See also grip the person in charge of moving and setting up camera
 # tracks and scenery in a film or television studio
-#: g10/keyedit.c:1265
+#: g10/keyedit.c:1266
 #, fuzzy
 #| msgid "Enter the keygrip: "
 msgid "show the keygrip"
 msgstr "Indtst nøglegrebet: "
 
-#: g10/keyedit.c:1266
+#: g10/keyedit.c:1267
 msgid "list key and user IDs"
 msgstr "vis nøgle og bruger-id'er"
 
-#: g10/keyedit.c:1268
+#: g10/keyedit.c:1269
 msgid "select user ID N"
 msgstr "vælg bruger-id N"
 
-#: g10/keyedit.c:1269
+#: g10/keyedit.c:1270
 msgid "select subkey N"
 msgstr "vælg undernøgle N"
 
-#: g10/keyedit.c:1270
+#: g10/keyedit.c:1271
 msgid "check signatures"
 msgstr "kontroller underskrifter"
 
-#: g10/keyedit.c:1276
+#: g10/keyedit.c:1277
 msgid "sign selected user IDs [* see below for related commands]"
 msgstr ""
 "underskriv valgte bruger-id'er [* se nedenfor for relaterede kommandoer]"
 
-#: g10/keyedit.c:1281
+#: g10/keyedit.c:1282
 msgid "sign selected user IDs locally"
 msgstr "underskriv valgte bruger-id'er lokalt"
 
-#: g10/keyedit.c:1282
+#: g10/keyedit.c:1283
 msgid "sign selected user IDs with a trust signature"
 msgstr "underskriv valgte bruger-id'er med en troværdighedsunderskrift"
 
-#: g10/keyedit.c:1284
+#: g10/keyedit.c:1285
 msgid "sign selected user IDs with a non-revocable signature"
 msgstr "underskriv bruger-id'er md en underskrift der ikke kan kaldes tilbage"
 
-#: g10/keyedit.c:1286
+#: g10/keyedit.c:1287
 msgid "add a user ID"
 msgstr "tilføj bruger-id"
 
-#: g10/keyedit.c:1288
+#: g10/keyedit.c:1289
 msgid "add a photo ID"
 msgstr "tilføj billed-id"
 
-#: g10/keyedit.c:1289
+#: g10/keyedit.c:1290
 msgid "delete selected user IDs"
 msgstr "slet valgte bruger-id'er"
 
-#: g10/keyedit.c:1292
+#: g10/keyedit.c:1293
 msgid "add a subkey"
 msgstr "tilføj en undernøgle"
 
-#: g10/keyedit.c:1295
+#: g10/keyedit.c:1296
 msgid "add a key to a smartcard"
 msgstr "tilføj en nøgle til et smartkort"
 
-#: g10/keyedit.c:1297
+#: g10/keyedit.c:1298
 msgid "move a key to a smartcard"
 msgstr "flyt en nøgle til et smartkort"
 
-#: g10/keyedit.c:1299
+#: g10/keyedit.c:1300
 msgid "move a backup key to a smartcard"
 msgstr "flyt en sikkerhedskopinøgle til et smartkort"
 
-#: g10/keyedit.c:1301
+#: g10/keyedit.c:1302
 msgid "delete selected subkeys"
 msgstr "slet valgte undernøgler"
 
-#: g10/keyedit.c:1303
+#: g10/keyedit.c:1304
 msgid "add a revocation key"
 msgstr "tilføj en tilbagekaldsnøgle"
 
-#: g10/keyedit.c:1305
+#: g10/keyedit.c:1306
 msgid "delete signatures from the selected user IDs"
 msgstr "slet underskrifter fra de valgte bruger-id'er"
 
-#: g10/keyedit.c:1307
+#: g10/keyedit.c:1308
 msgid "change the expiration date for the key or selected subkeys"
 msgstr "ændr udløbsdatoen for nøglen eller valgte undernøgler"
 
-#: g10/keyedit.c:1309
+#: g10/keyedit.c:1310
 msgid "flag the selected user ID as primary"
 msgstr "marker den valgte bruger-id som primær"
 
-#: g10/keyedit.c:1312
+#: g10/keyedit.c:1313
 msgid "list preferences (expert)"
 msgstr "vis præferencer (ekspert)"
 
-#: g10/keyedit.c:1313
+#: g10/keyedit.c:1314
 msgid "list preferences (verbose)"
 msgstr "vis præferencer (uddybende)"
 
-#: g10/keyedit.c:1315
+#: g10/keyedit.c:1316
 msgid "set preference list for the selected user IDs"
 msgstr "angiv præferenceliste for de valgte bruger-id'er"
 
-#: g10/keyedit.c:1318
+#: g10/keyedit.c:1319
 msgid "set the preferred keyserver URL for the selected user IDs"
 msgstr "angiv den foretrukne nøgleserveradresse for de valgte bruger-id'er"
 
-#: g10/keyedit.c:1320
+#: g10/keyedit.c:1321
 msgid "set a notation for the selected user IDs"
 msgstr "angiv en notation for de valgte bruger-id'er"
 
-#: g10/keyedit.c:1322
+#: g10/keyedit.c:1323
 msgid "change the passphrase"
 msgstr "ændr adgangsfrasen"
 
-#: g10/keyedit.c:1325
+#: g10/keyedit.c:1326
 msgid "change the ownertrust"
 msgstr "ændr ejertroværdigheden"
 
-#: g10/keyedit.c:1328
+#: g10/keyedit.c:1329
 msgid "revoke signatures on the selected user IDs"
 msgstr "tilbagekald underskrifter på de valgte bruger-id'er"
 
-#: g10/keyedit.c:1330
+#: g10/keyedit.c:1331
 msgid "revoke selected user IDs"
 msgstr "tilbagekald valgte bruger-id'er"
 
-#: g10/keyedit.c:1333
+#: g10/keyedit.c:1334
 msgid "revoke key or selected subkeys"
 msgstr "tilbagekald nøgle eller valgte undernøgler"
 
-#: g10/keyedit.c:1335
+#: g10/keyedit.c:1336
 msgid "enable key"
 msgstr "aktiver nøgle"
 
-#: g10/keyedit.c:1336
+#: g10/keyedit.c:1337
 msgid "disable key"
 msgstr "deaktiver nøgle"
 
-#: g10/keyedit.c:1338
+#: g10/keyedit.c:1339
 msgid "show selected photo IDs"
 msgstr "vis valgte billed-id'er"
 
-#: g10/keyedit.c:1340
+#: g10/keyedit.c:1341
 msgid "compact unusable user IDs and remove unusable signatures from key"
 msgstr ""
 "komprimer ubrugelige bruger-id'er og fjern ubrugelige underskrifter fra nøgle"
 
-#: g10/keyedit.c:1342
+#: g10/keyedit.c:1343
 msgid "compact unusable user IDs and remove all signatures from key"
 msgstr ""
 "komprimer ubrugelige bruger-id'er og fjern alle underskrifter fra nøgle"
 
-#: g10/keyedit.c:1463
+#: g10/keyedit.c:1464
 msgid "Secret key is available.\n"
 msgstr "Hemmelig nøgle er tilgængelig.\n"
 
-#: g10/keyedit.c:1465
+#: g10/keyedit.c:1466
 #, fuzzy
 #| msgid "Secret key is available.\n"
 msgid "Secret subkeys are available.\n"
 msgstr "Hemmelig nøgle er tilgængelig.\n"
 
-#: g10/keyedit.c:1567
+#: g10/keyedit.c:1568
 msgid "Need the secret key to do this.\n"
 msgstr "Har brug for den hemmelige nøgle for dette.\n"
 
-#: g10/keyedit.c:1590
+#: g10/keyedit.c:1591
 #, fuzzy
 #| msgid ""
 #| "* The `sign' command may be prefixed with an `l' for local signatures "
@@ -4635,309 +4653,309 @@ msgstr ""
 "tnrsign\n"
 "  etc.).\n"
 
-#: g10/keyedit.c:1648 g10/keyedit.c:2667 g10/keyedit.c:3040 g10/keyedit.c:3108
+#: g10/keyedit.c:1649 g10/keyedit.c:2668 g10/keyedit.c:3041 g10/keyedit.c:3109
 msgid "Key is revoked."
 msgstr "Nøglen er tilbagekaldt."
 
-#: g10/keyedit.c:1671
+#: g10/keyedit.c:1672
 #, fuzzy
 #| msgid "Really sign all user IDs? (y/N) "
 msgid "Really sign all text user IDs? (y/N) "
 msgstr "Vil du gerne underskrive alle bruger-id'er (j/N) "
 
-#: g10/keyedit.c:1675
+#: g10/keyedit.c:1676
 msgid "Really sign all user IDs? (y/N) "
 msgstr "Vil du gerne underskrive alle bruger-id'er (j/N) "
 
-#: g10/keyedit.c:1683
+#: g10/keyedit.c:1684
 msgid "Hint: Select the user IDs to sign\n"
 msgstr "Fif: Vælg bruger-id'erne at underskrive\n"
 
-#: g10/keyedit.c:1694
+#: g10/keyedit.c:1695
 #, fuzzy, c-format
 #| msgid "Unknown signature type `%s'\n"
 msgid "Unknown signature type '%s'\n"
 msgstr "Ukendt underskrifttype »%s«\n"
 
-#: g10/keyedit.c:1718
+#: g10/keyedit.c:1719
 #, c-format
 msgid "This command is not allowed while in %s mode.\n"
 msgstr "Denne kommando er ikke tilladt i tilstanden %s.\n"
 
-#: g10/keyedit.c:1740 g10/keyedit.c:1764 g10/keyedit.c:1961
+#: g10/keyedit.c:1741 g10/keyedit.c:1765 g10/keyedit.c:1962
 msgid "You must select at least one user ID.\n"
 msgstr "Du skal vælge mindst en bruger-id.\n"
 
-#: g10/keyedit.c:1742 g10/keyedit.c:1766 g10/keyedit.c:1923 g10/keyedit.c:1963
+#: g10/keyedit.c:1743 g10/keyedit.c:1767 g10/keyedit.c:1924 g10/keyedit.c:1964
 #, c-format
 msgid "(Use the '%s' command.)\n"
 msgstr ""
 
-#: g10/keyedit.c:1745
+#: g10/keyedit.c:1746
 msgid "You can't delete the last user ID!\n"
 msgstr "Du kan ikke slette den sidste bruger-id!\n"
 
-#: g10/keyedit.c:1748
+#: g10/keyedit.c:1749
 msgid "Really remove all selected user IDs? (y/N) "
 msgstr "Vil du virkelig fjerne alle valgte bruger-id'er? (j/N) "
 
-#: g10/keyedit.c:1749
+#: g10/keyedit.c:1750
 msgid "Really remove this user ID? (y/N) "
 msgstr "Vil du virkelig fjerne denne bruger-id? (j/N) "
 
 #. TRANSLATORS: Please take care: This is about
 #. moving the key and not about removing it.
-#: g10/keyedit.c:1806
+#: g10/keyedit.c:1807
 msgid "Really move the primary key? (y/N) "
 msgstr "Vil du virkelig flytte den primære nøgle? (j/N) "
 
-#: g10/keyedit.c:1818 g10/keyedit.c:4803
+#: g10/keyedit.c:1819 g10/keyedit.c:4804
 msgid "You must select exactly one key.\n"
 msgstr "Du skal vælge præcis en nøgle.\n"
 
-#: g10/keyedit.c:1846
+#: g10/keyedit.c:1847
 msgid "Command expects a filename argument\n"
 msgstr "Kommando forventer en filnavnsparameter\n"
 
-#: g10/keyedit.c:1867
+#: g10/keyedit.c:1868
 #, fuzzy, c-format
 #| msgid "Can't open `%s': %s\n"
 msgid "Can't open '%s': %s\n"
 msgstr "Kan ikke åbne »%s«: %s\n"
 
-#: g10/keyedit.c:1886
+#: g10/keyedit.c:1887
 #, fuzzy, c-format
 #| msgid "Error reading backup key from `%s': %s\n"
 msgid "Error reading backup key from '%s': %s\n"
 msgstr "Fejl ved læsning af sikkerhedskopinøgle fra »%s«: %s\n"
 
-#: g10/keyedit.c:1921
+#: g10/keyedit.c:1922
 msgid "You must select at least one key.\n"
 msgstr "Du skal vælge mindst en nøgle.\n"
 
-#: g10/keyedit.c:1927
+#: g10/keyedit.c:1928
 msgid "Do you really want to delete the selected keys? (y/N) "
 msgstr "Vil du virkelig slette de valgte nøgler? (j/N) "
 
-#: g10/keyedit.c:1929
+#: g10/keyedit.c:1930
 msgid "Do you really want to delete this key? (y/N) "
 msgstr "Vil du virkelig slette denne nøgle? (j/N) "
 
-#: g10/keyedit.c:1967
+#: g10/keyedit.c:1968
 msgid "Really revoke all selected user IDs? (y/N) "
 msgstr "Vil du virkelig tilbagekalde alle valgte bruger-id'er? (j/N) "
 
-#: g10/keyedit.c:1968
+#: g10/keyedit.c:1969
 msgid "Really revoke this user ID? (y/N) "
 msgstr "Vil du virkelig tilbagekalde dette bruger-id? (j/N) "
 
-#: g10/keyedit.c:1986
+#: g10/keyedit.c:1987
 msgid "Do you really want to revoke the entire key? (y/N) "
 msgstr "Vil du virkelig tilbagekalde hele nøglen? (j/N) "
 
-#: g10/keyedit.c:1997
+#: g10/keyedit.c:1998
 msgid "Do you really want to revoke the selected subkeys? (y/N) "
 msgstr "Vil du virkelig tilbagekalde de valgte undernøgler? (j/N) "
 
-#: g10/keyedit.c:1999
+#: g10/keyedit.c:2000
 msgid "Do you really want to revoke this subkey? (y/N) "
 msgstr "Vil du virkelig tilbagekalde denne undernøgle? (j/N) "
 
-#: g10/keyedit.c:2057
+#: g10/keyedit.c:2058
 msgid "Owner trust may not be set while using a user provided trust database\n"
 msgstr ""
 "Ejertroværdighed kan ikke indstilles, når der bruges en brugerleveret "
 "troværdighedsdatabase\n"
 
-#: g10/keyedit.c:2102
+#: g10/keyedit.c:2103
 msgid "Set preference list to:\n"
 msgstr "Angiv præferenceliste til:\n"
 
-#: g10/keyedit.c:2109
+#: g10/keyedit.c:2110
 msgid "Really update the preferences for the selected user IDs? (y/N) "
 msgstr "Opdater præferencerne for de valgte bruger-id'er (j/N) "
 
-#: g10/keyedit.c:2111
+#: g10/keyedit.c:2112
 msgid "Really update the preferences? (y/N) "
 msgstr "Opdater præferencerne? (j/N) "
 
-#: g10/keyedit.c:2185
+#: g10/keyedit.c:2186
 msgid "Save changes? (y/N) "
 msgstr "Gem ændringer? (j/N) "
 
-#: g10/keyedit.c:2189
+#: g10/keyedit.c:2190
 msgid "Quit without saving? (y/N) "
 msgstr "Afslut uden at gemme? (j/N) "
 
-#: g10/keyedit.c:2216 g10/keyedit.c:2762 g10/keyedit.c:3061 g10/keyedit.c:3214
+#: g10/keyedit.c:2217 g10/keyedit.c:2763 g10/keyedit.c:3062 g10/keyedit.c:3215
 #, c-format
 msgid "Key not changed so no update needed.\n"
 msgstr "Nøgle ikke ændret så ingen opdatering krævet.\n"
 
-#: g10/keyedit.c:2448
+#: g10/keyedit.c:2449
 #, fuzzy, c-format
 #| msgid "You can't delete the last user ID!\n"
 msgid "cannot revoke the last valid user ID.\n"
 msgstr "Du kan ikke slette den sidste bruger-id!\n"
 
-#: g10/keyedit.c:2475
+#: g10/keyedit.c:2476
 #, fuzzy, c-format
 #| msgid "checking the trust list failed: %s\n"
 msgid "revoking the user ID failed: %s\n"
 msgstr "kontrol af troværdighedslisten mislykkedes: %s\n"
 
-#: g10/keyedit.c:2541
+#: g10/keyedit.c:2542
 #, fuzzy, c-format
 #| msgid "checking the trust list failed: %s\n"
 msgid "setting the primary user ID failed: %s\n"
 msgstr "kontrol af troværdighedslisten mislykkedes: %s\n"
 
-#: g10/keyedit.c:2572
+#: g10/keyedit.c:2573
 #, fuzzy, c-format
 #| msgid "invalid fingerprint"
 msgid "\"%s\" is not a fingerprint\n"
 msgstr "ugyldig fingeraftryk"
 
-#: g10/keyedit.c:2602
+#: g10/keyedit.c:2603
 #, fuzzy, c-format
 #| msgid "failed to get the fingerprint\n"
 msgid "\"%s\" is not the primary fingerprint\n"
 msgstr "kunne ikke indhente fingeraftrykket\n"
 
-#: g10/keyedit.c:2738 g10/keyedit.c:2741
+#: g10/keyedit.c:2739 g10/keyedit.c:2742
 #, fuzzy, c-format
 #| msgid "invalid value\n"
 msgid "Invalid user ID '%s': %s\n"
 msgstr "ugyldig værdi\n"
 
-#: g10/keyedit.c:2744
+#: g10/keyedit.c:2745
 #, fuzzy
 #| msgid "No such user ID.\n"
 msgid "No matching user IDs."
 msgstr "Ingen sådan bruger-id.\n"
 
-#: g10/keyedit.c:2744
+#: g10/keyedit.c:2745
 #, fuzzy
 #| msgid "Nothing to sign with key %s\n"
 msgid "Nothing to sign.\n"
 msgstr "Intet at underskrive med nøgle %s\n"
 
-#: g10/keyedit.c:2937 g10/keyedit.c:6019
+#: g10/keyedit.c:2938 g10/keyedit.c:6020
 #, c-format
 msgid "Not signed by you.\n"
 msgstr "Ikke underskrevet af dig.\n"
 
-#: g10/keyedit.c:2995
+#: g10/keyedit.c:2996
 #, fuzzy, c-format
 #| msgid "checking created signature failed: %s\n"
 msgid "revoking the key signature failed: %s\n"
 msgstr "kontrol af oprettet underskrift mislykkedes: %s\n"
 
-#: g10/keyedit.c:3116
+#: g10/keyedit.c:3117
 #, fuzzy, c-format
 #| msgid "`%s' is not a valid signature expiration\n"
 msgid "'%s' is not a valid expiration time\n"
 msgstr "»%s« er ikke et gyldigt underskriftudløb\n"
 
-#: g10/keyedit.c:3159
+#: g10/keyedit.c:3160
 #, fuzzy, c-format
 #| msgid "invalid fingerprint"
 msgid "\"%s\" is not a proper fingerprint\n"
 msgstr "ugyldig fingeraftryk"
 
-#: g10/keyedit.c:3183
+#: g10/keyedit.c:3184
 #, fuzzy, c-format
 #| msgid "key \"%s\" not found: %s\n"
 msgid "subkey \"%s\" not found\n"
 msgstr "nøglen »%s« blev ikke fundet: %s\n"
 
-#: g10/keyedit.c:3306
+#: g10/keyedit.c:3307
 msgid "AEAD: "
 msgstr ""
 
-#: g10/keyedit.c:3323
+#: g10/keyedit.c:3324
 msgid "Digest: "
 msgstr "Sammendrag: "
 
-#: g10/keyedit.c:3380
+#: g10/keyedit.c:3381
 msgid "Features: "
 msgstr "Funktioner: "
 
-#: g10/keyedit.c:3397
+#: g10/keyedit.c:3398
 msgid "Keyserver no-modify"
 msgstr "Nøgleserver no-modify"
 
-#: g10/keyedit.c:3412 g10/keylist.c:376
+#: g10/keyedit.c:3413 g10/keylist.c:376
 msgid "Preferred keyserver: "
 msgstr "Fortrukken nøgleserver: "
 
-#: g10/keyedit.c:3420 g10/keyedit.c:3421
+#: g10/keyedit.c:3421 g10/keyedit.c:3422
 msgid "Notations: "
 msgstr "Notationer: "
 
-#: g10/keyedit.c:3669
+#: g10/keyedit.c:3670
 msgid "There are no preferences on a PGP 2.x-style user ID.\n"
 msgstr "Der er ingen præferencer på en bruger-id i PGP 2.x-stil.\n"
 
-#: g10/keyedit.c:3741
+#: g10/keyedit.c:3742
 #, c-format
 msgid "The following key was revoked on %s by %s key %s\n"
 msgstr "Den følgende nøgle blev tilbagekaldt den %s af %s nøgle %s\n"
 
-#: g10/keyedit.c:3765
+#: g10/keyedit.c:3766
 #, c-format
 msgid "This key may be revoked by %s key %s"
 msgstr "Denne nøgle er tilbagekaldt af %s nøgle %s"
 
-#: g10/keyedit.c:3771
+#: g10/keyedit.c:3772
 msgid "(sensitive)"
 msgstr "(sensitiv)"
 
-#: g10/keyedit.c:3813 g10/keyedit.c:3960 g10/keylist.c:264 g10/keyserver.c:538
+#: g10/keyedit.c:3814 g10/keyedit.c:3961 g10/keylist.c:264 g10/keyserver.c:361
 #, c-format
 msgid "created: %s"
 msgstr "oprettet: %s"
 
-#: g10/keyedit.c:3816 g10/keylist.c:2149
+#: g10/keyedit.c:3817 g10/keylist.c:2149
 #, c-format
 msgid "revoked: %s"
 msgstr "tilbagekaldt: %s"
 
-#: g10/keyedit.c:3818 g10/keylist.c:2155
+#: g10/keyedit.c:3819 g10/keylist.c:2155
 #, c-format
 msgid "expired: %s"
 msgstr "udløbet: %s"
 
-#: g10/keyedit.c:3820 g10/keyedit.c:3962 g10/keylist.c:266 g10/keylist.c:2161
-#: g10/keyserver.c:544
+#: g10/keyedit.c:3821 g10/keyedit.c:3963 g10/keylist.c:266 g10/keylist.c:2161
+#: g10/keyserver.c:367
 #, c-format
 msgid "expires: %s"
 msgstr "udløber: %s"
 
-#: g10/keyedit.c:3822
+#: g10/keyedit.c:3823
 #, c-format
 msgid "usage: %s"
 msgstr "brug: %s"
 
-#: g10/keyedit.c:3830 g10/keyedit.c:3850 g10/keylist.c:269
+#: g10/keyedit.c:3831 g10/keyedit.c:3851 g10/keylist.c:269
 msgid "card-no: "
 msgstr "kortnr.: "
 
-#: g10/keyedit.c:3889
+#: g10/keyedit.c:3890
 #, c-format
 msgid "trust: %s"
 msgstr "troværdighed: %s"
 
-#: g10/keyedit.c:3893
+#: g10/keyedit.c:3894
 #, c-format
 msgid "validity: %s"
 msgstr "validitet: %s"
 
-#: g10/keyedit.c:3900
+#: g10/keyedit.c:3901
 msgid "This key has been disabled"
 msgstr "Denne nøgle er blevet deaktiveret"
 
-#: g10/keyedit.c:3918
+#: g10/keyedit.c:3919
 msgid ""
 "Please note that the shown key validity is not necessarily correct\n"
 "unless you restart the program.\n"
@@ -4945,17 +4963,17 @@ msgstr ""
 "Bemærk venligst at den viste nøglevaliditet ikke nødvendigvis er\n"
 "korrekt med mindre du genstarter programmet.\n"
 
-#: g10/keyedit.c:3979 g10/keyedit.c:4410 g10/keyserver.c:548
-#: g10/mainproc.c:2371 g10/tofu.c:1787 g10/trust.c:437 dirmngr/ocsp.c:791
+#: g10/keyedit.c:3980 g10/keyedit.c:4411 g10/keyserver.c:371
+#: g10/mainproc.c:2380 g10/tofu.c:1787 g10/trust.c:437 dirmngr/ocsp.c:791
 msgid "revoked"
 msgstr "tilbagekaldt"
 
-#: g10/keyedit.c:3981 g10/keyedit.c:4412 g10/keyserver.c:552
-#: g10/mainproc.c:2373 g10/tofu.c:1792 g10/trust.c:124
+#: g10/keyedit.c:3982 g10/keyedit.c:4413 g10/keyserver.c:375
+#: g10/mainproc.c:2382 g10/tofu.c:1792 g10/trust.c:124
 msgid "expired"
 msgstr "udløbet"
 
-#: g10/keyedit.c:4098
+#: g10/keyedit.c:4099
 #, c-format
 msgid ""
 "WARNING: no user ID has been marked as primary.  This command may\n"
@@ -4964,18 +4982,18 @@ msgstr ""
 "ADVARSEL: Intet bruger-id er blevet markeret som primær. Denne kommando\n"
 "        kan medføre at et anden bruger-id bliver den formodede primære.\n"
 
-#: g10/keyedit.c:4150
+#: g10/keyedit.c:4151
 #, c-format
 msgid "WARNING: Your encryption subkey expires soon.\n"
 msgstr ""
 
-#: g10/keyedit.c:4151
+#: g10/keyedit.c:4152
 #, fuzzy, c-format
 #| msgid "You can't change the expiration date of a v3 key\n"
 msgid "You may want to change its expiration date too.\n"
 msgstr "Du kan ikke ændre udløbsdatoen for en v3-nøgle\n"
 
-#: g10/keyedit.c:4210
+#: g10/keyedit.c:4211
 msgid ""
 "WARNING: This is a PGP2-style key.  Adding a photo ID may cause some "
 "versions\n"
@@ -4985,35 +5003,35 @@ msgstr ""
 "medføre at\n"
 "          nogle version af PGP afviser denne nøgle.\n"
 
-#: g10/keyedit.c:4215 g10/keyedit.c:4505
+#: g10/keyedit.c:4216 g10/keyedit.c:4506
 msgid "Are you sure you still want to add it? (y/N) "
 msgstr "Er du sikker på, at du stadig ønsker at tilføje den? (j/N) "
 
-#: g10/keyedit.c:4221
+#: g10/keyedit.c:4222
 msgid "You may not add a photo ID to a PGP2-style key.\n"
 msgstr "Du må ikke tilføje et billed-id til en nøgle i PGP2-stil.\n"
 
-#: g10/keyedit.c:4236 g10/keygen.c:2899
+#: g10/keyedit.c:4237 g10/keygen.c:2899
 msgid "Such a user ID already exists on this key!\n"
 msgstr "Sådant et bruger-id findes allerede på denne nøgle!\n"
 
-#: g10/keyedit.c:4338
+#: g10/keyedit.c:4339
 msgid "Delete this good signature? (y/N/q)"
 msgstr "Slet denne gode underskrift? (j/N/a)"
 
-#: g10/keyedit.c:4348
+#: g10/keyedit.c:4349
 msgid "Delete this invalid signature? (y/N/q)"
 msgstr "Slet denne ugyldige underskrift? (j/N/a)"
 
-#: g10/keyedit.c:4352
+#: g10/keyedit.c:4353
 msgid "Delete this unknown signature? (y/N/q)"
 msgstr "Slet denne ukendte underskrift? (j/n/a)"
 
-#: g10/keyedit.c:4359
+#: g10/keyedit.c:4360
 msgid "Really delete this self-signature? (y/N)"
 msgstr "Virkelig slette denne egenunderskrift? (j/N)"
 
-#: g10/keyedit.c:4375
+#: g10/keyedit.c:4376
 #, fuzzy, c-format
 #| msgid "Deleted %d signature.\n"
 msgid "Deleted %d signature.\n"
@@ -5021,20 +5039,20 @@ msgid_plural "Deleted %d signatures.\n"
 msgstr[0] "Slettede %d underskrift.\n"
 msgstr[1] "Slettede %d underskrift.\n"
 
-#: g10/keyedit.c:4379
+#: g10/keyedit.c:4380
 msgid "Nothing deleted.\n"
 msgstr "Intet slettet.\n"
 
-#: g10/keyedit.c:4414
+#: g10/keyedit.c:4415
 msgid "invalid"
 msgstr "ugyldig"
 
-#: g10/keyedit.c:4416
+#: g10/keyedit.c:4417
 #, c-format
 msgid "User ID \"%s\" compacted: %s\n"
 msgstr "Bruger-id »%s« komprimeret: %s\n"
 
-#: g10/keyedit.c:4422
+#: g10/keyedit.c:4423
 #, fuzzy, c-format
 #| msgid "User ID \"%s\": %d signature removed\n"
 msgid "User ID \"%s\": %d signature removed\n"
@@ -5042,17 +5060,17 @@ msgid_plural "User ID \"%s\": %d signatures removed\n"
 msgstr[0] "Bruger-id »%s«: %d underskrift fjernet\n"
 msgstr[1] "Bruger-id »%s«: %d underskrift fjernet\n"
 
-#: g10/keyedit.c:4430
+#: g10/keyedit.c:4431
 #, c-format
 msgid "User ID \"%s\": already minimized\n"
 msgstr "Bruger-id »%s«: allerede minimeret\n"
 
-#: g10/keyedit.c:4431
+#: g10/keyedit.c:4432
 #, c-format
 msgid "User ID \"%s\": already clean\n"
 msgstr "Bruger-id »%s«: allerede ryddet\n"
 
-#: g10/keyedit.c:4500
+#: g10/keyedit.c:4501
 msgid ""
 "WARNING: This is a PGP 2.x-style key.  Adding a designated revoker may "
 "cause\n"
@@ -5062,44 +5080,44 @@ msgstr ""
 "tilbagekalder\n"
 "          kan medføre at nogle versioner af PGP afviser denne nøgle.\n"
 
-#: g10/keyedit.c:4511
+#: g10/keyedit.c:4512
 msgid "You may not add a designated revoker to a PGP 2.x-style key.\n"
 msgstr ""
 "Du må ikke tilføje en dedikeret tilbagekalder til en nøgle i PGP 2.x-stil.\n"
 
-#: g10/keyedit.c:4528
+#: g10/keyedit.c:4529
 msgid "Enter the user ID of the designated revoker: "
 msgstr "Indtast bruger'id for den dedikerede tilbagekalder: "
 
-#: g10/keyedit.c:4554
+#: g10/keyedit.c:4555
 #, c-format
 msgid "cannot appoint a PGP 2.x style key as a designated revoker\n"
 msgstr "kan ikke udpege en nøgle i PGP 2.x-stil som dedikeret tilbagekalder\n"
 
-#: g10/keyedit.c:4569
+#: g10/keyedit.c:4570
 #, c-format
 msgid "you cannot appoint a key as its own designated revoker\n"
 msgstr "du kan ikke udpege en nøgle som dets egen dedikerede tilbagekalder\n"
 
-#: g10/keyedit.c:4591
+#: g10/keyedit.c:4592
 #, c-format
 msgid "this key has already been designated as a revoker\n"
 msgstr "denne nøgle er allerede blevet dedikeret som en tilbagekalder\n"
 
-#: g10/keyedit.c:4609
+#: g10/keyedit.c:4610
 msgid "WARNING: appointing a key as a designated revoker cannot be undone!\n"
 msgstr ""
 "ADVARSEL: Udpegning af en nøgle som en dedikeret tilbagekalder kan ikke "
 "fortrydes!\n"
 
-#: g10/keyedit.c:4615
+#: g10/keyedit.c:4616
 msgid ""
 "Are you sure you want to appoint this key as a designated revoker? (y/N) "
 msgstr ""
 "Er du sikker på, at du ønsker at udpege denne nøgle som en dedikeret "
 "tilbagekalder? (j/N) "
 
-#: g10/keyedit.c:4683
+#: g10/keyedit.c:4684
 #, fuzzy
 #| msgid ""
 #| "Are you sure you want to appoint this key as a designated revoker? (y/N) "
@@ -5110,179 +5128,179 @@ msgstr ""
 "Er du sikker på, at du ønsker at udpege denne nøgle som en dedikeret "
 "tilbagekalder? (j/N) "
 
-#: g10/keyedit.c:4688
+#: g10/keyedit.c:4689
 msgid "Changing expiration time for a subkey.\n"
 msgstr "Ændrer udløbstidspunkt for en undernøgle.\n"
 
-#: g10/keyedit.c:4691
+#: g10/keyedit.c:4692
 msgid "Changing expiration time for the primary key.\n"
 msgstr "Ændrer udløbstidspunkt for den primære nøgle.\n"
 
-#: g10/keyedit.c:4747
+#: g10/keyedit.c:4748
 #, c-format
 msgid "You can't change the expiration date of a v3 key\n"
 msgstr "Du kan ikke ændre udløbsdatoen for en v3-nøgle\n"
 
-#: g10/keyedit.c:4807
+#: g10/keyedit.c:4808
 #, fuzzy
 #| msgid "Changing expiration time for a subkey.\n"
 msgid "Changing usage of a subkey.\n"
 msgstr "Ændrer udløbstidspunkt for en undernøgle.\n"
 
-#: g10/keyedit.c:4810
+#: g10/keyedit.c:4811
 #, fuzzy
 #| msgid "Changing expiration time for the primary key.\n"
 msgid "Changing usage of the primary key.\n"
 msgstr "Ændrer udløbstidspunkt for den primære nøgle.\n"
 
-#: g10/keyedit.c:4928
+#: g10/keyedit.c:4929
 #, c-format
 msgid "signing subkey %s is already cross-certified\n"
 msgstr "underskriftsundernøgle %s er allerede krydscertificeret\n"
 
-#: g10/keyedit.c:4934
+#: g10/keyedit.c:4935
 #, c-format
 msgid "subkey %s does not sign and so does not need to be cross-certified\n"
 msgstr ""
 "undernøgle %s underskriver ikke og skal derfor ikke være krydscertificeret\n"
 
-#: g10/keyedit.c:5051
+#: g10/keyedit.c:5052
 msgid "Please select exactly one user ID.\n"
 msgstr "Vælg venligst præcis en bruger-id.\n"
 
-#: g10/keyedit.c:5092 g10/keyedit.c:5206 g10/keyedit.c:5319 g10/keyedit.c:5457
+#: g10/keyedit.c:5093 g10/keyedit.c:5207 g10/keyedit.c:5320 g10/keyedit.c:5458
 #, c-format
 msgid "skipping v3 self-signature on user ID \"%s\"\n"
 msgstr "udelader v3 egenunderskrift på bruger-id »%s«\n"
 
-#: g10/keyedit.c:5263
+#: g10/keyedit.c:5264
 msgid "Enter your preferred keyserver URL: "
 msgstr "Indtast din foretrukne nøglerserveradresse: "
 
-#: g10/keyedit.c:5342
+#: g10/keyedit.c:5343
 msgid "Are you sure you want to replace it? (y/N) "
 msgstr "Er du sikker på, at du ønsker at erstatte den? (j/N) "
 
-#: g10/keyedit.c:5343
+#: g10/keyedit.c:5344
 msgid "Are you sure you want to delete it? (y/N) "
 msgstr "Er du sikker på, at du ønsker at slette den? (j/N) "
 
-#: g10/keyedit.c:5403
+#: g10/keyedit.c:5404
 msgid "Enter the notation: "
 msgstr "Indtast notationen: "
 
-#: g10/keyedit.c:5550
+#: g10/keyedit.c:5551
 msgid "Proceed? (y/N) "
 msgstr "Fortsæt? (j/N) "
 
-#: g10/keyedit.c:5620
+#: g10/keyedit.c:5621
 #, c-format
 msgid "No user ID with index %d\n"
 msgstr "Ingen bruger-id med indeks %d\n"
 
-#: g10/keyedit.c:5682
+#: g10/keyedit.c:5683
 #, c-format
 msgid "No user ID with hash %s\n"
 msgstr "Ingen bruger-id med hash %s\n"
 
-#: g10/keyedit.c:5783
+#: g10/keyedit.c:5784
 #, fuzzy, c-format
 #| msgid "No subkey with index %d\n"
 msgid "No subkey with key ID '%s'.\n"
 msgstr "Ingen undernøgle med indeks %d\n"
 
-#: g10/keyedit.c:5805
+#: g10/keyedit.c:5806
 #, c-format
 msgid "No subkey with index %d\n"
 msgstr "Ingen undernøgle med indeks %d\n"
 
-#: g10/keyedit.c:5946
+#: g10/keyedit.c:5947
 #, c-format
 msgid "user ID: \"%s\"\n"
 msgstr "bruger-id: »%s«\n"
 
-#: g10/keyedit.c:5949 g10/keyedit.c:6051 g10/keyedit.c:6099
+#: g10/keyedit.c:5950 g10/keyedit.c:6052 g10/keyedit.c:6100
 #, c-format
 msgid "signed by your key %s on %s%s%s\n"
 msgstr "underskrevet af din nøgle %s den %s%s%s\n"
 
-#: g10/keyedit.c:5951 g10/keyedit.c:6053 g10/keyedit.c:6101
+#: g10/keyedit.c:5952 g10/keyedit.c:6054 g10/keyedit.c:6102
 msgid " (non-exportable)"
 msgstr " (kan ikke eksporteres)"
 
-#: g10/keyedit.c:5955
+#: g10/keyedit.c:5956
 #, c-format
 msgid "This signature expired on %s.\n"
 msgstr "Denne underskrift udløb den %s.\n"
 
-#: g10/keyedit.c:5960
+#: g10/keyedit.c:5961
 msgid "Are you sure you still want to revoke it? (y/N) "
 msgstr "Er du sikker på, at du ønsker at tilbagekalde den? (j/N) "
 
-#: g10/keyedit.c:5965
+#: g10/keyedit.c:5966
 msgid "Create a revocation certificate for this signature? (y/N) "
 msgstr "Opret et tilbagekaldscertifikat for denne underskrift? (j/N) "
 
-#: g10/keyedit.c:6025
+#: g10/keyedit.c:6026
 #, c-format
 msgid "You have signed these user IDs on key %s:\n"
 msgstr "Du har underskrevet disse bruger-id'er på nøgle %s:\n"
 
-#: g10/keyedit.c:6054
+#: g10/keyedit.c:6055
 msgid " (non-revocable)"
 msgstr " (kan ikke tilbagekaldes)"
 
-#: g10/keyedit.c:6061
+#: g10/keyedit.c:6062
 #, c-format
 msgid "revoked by your key %s on %s\n"
 msgstr "tilbagekaldt af din nøgle %s på %s\n"
 
-#: g10/keyedit.c:6086
+#: g10/keyedit.c:6087
 msgid "You are about to revoke these signatures:\n"
 msgstr "Du er i gang med at tilbagekalde disse underskrifter:\n"
 
-#: g10/keyedit.c:6109
+#: g10/keyedit.c:6110
 msgid "Really create the revocation certificates? (y/N) "
 msgstr "Opret tilbagekaldscertifikaterne? (j/N) "
 
-#: g10/keyedit.c:6142
+#: g10/keyedit.c:6143
 #, c-format
 msgid "no secret key\n"
 msgstr "ingen hemmelig nøgle\n"
 
-#: g10/keyedit.c:6190
+#: g10/keyedit.c:6191
 #, c-format
 msgid "tried to revoke a non-user ID: %s\n"
 msgstr ""
 
-#: g10/keyedit.c:6200
+#: g10/keyedit.c:6201
 #, c-format
 msgid "user ID \"%s\" is already revoked\n"
 msgstr "bruger-id »%s« er allerede tilbagekaldt\n"
 
-#: g10/keyedit.c:6217
+#: g10/keyedit.c:6218
 #, c-format
 msgid "WARNING: a user ID signature is dated %d seconds in the future\n"
 msgstr ""
 "ADVARSEL: En bruger-id-underskrift er dateret %d sekunder inde i fremtiden\n"
 
-#: g10/keyedit.c:6313
+#: g10/keyedit.c:6314
 #, fuzzy, c-format
 #| msgid "You can't delete the last user ID!\n"
 msgid "Cannot revoke the last valid user ID.\n"
 msgstr "Du kan ikke slette den sidste bruger-id!\n"
 
-#: g10/keyedit.c:6351
+#: g10/keyedit.c:6352
 #, c-format
 msgid "Key %s is already revoked.\n"
 msgstr "Nøgle %s er allerede tilbagekaldt.\n"
 
-#: g10/keyedit.c:6413
+#: g10/keyedit.c:6414
 #, c-format
 msgid "Subkey %s is already revoked.\n"
 msgstr "Undernøgle %s er allerede tilbagekaldt.\n"
 
-#: g10/keyedit.c:6510
+#: g10/keyedit.c:6511
 #, c-format
 msgid "Displaying %s photo ID of size %ld for key %s (uid %d)\n"
 msgstr "Viser %s billed'id med størrelse %ld for nøgle %s (uid %d)\n"
@@ -6023,25 +6041,25 @@ msgstr "overhold den foretrukne nøglerserveradresse angivet på nøglen"
 msgid "honor the PKA record set on a key when retrieving keys"
 msgstr "overhold PKA-posten angivet på en nøgle når der hentes nøgler"
 
-#: g10/keyserver.c:550
+#: g10/keyserver.c:373
 msgid "disabled"
 msgstr "deaktiveret"
 
-#: g10/keyserver.c:754
+#: g10/keyserver.c:577
 msgid "Enter number(s), N)ext, or Q)uit > "
 msgstr "Indtal tal, N)æste eller Q) for Afslut > "
 
-#: g10/keyserver.c:860
+#: g10/keyserver.c:683
 #, c-format
 msgid "invalid keyserver protocol (us %d!=handler %d)\n"
 msgstr "ugyldig nøgleserverprotokol (os %d!=håndtag %d)\n"
 
-#: g10/keyserver.c:1001 g10/keyserver.c:1116
+#: g10/keyserver.c:824 g10/keyserver.c:939
 #, c-format
 msgid "\"%s\" not a key ID: skipping\n"
 msgstr "»%s« er ikke et nøgle-id: udelader\n"
 
-#: g10/keyserver.c:1438 g10/keyserver.c:1471
+#: g10/keyserver.c:1237 g10/keyserver.c:1270
 #, fuzzy, c-format
 #| msgid "refreshing %d keys from %s\n"
 msgid "refreshing %d key from %s\n"
@@ -6049,54 +6067,49 @@ msgid_plural "refreshing %d keys from %s\n"
 msgstr[0] "opdaterer %d nøgler fra %s\n"
 msgstr[1] "opdaterer %d nøgler fra %s\n"
 
-#: g10/keyserver.c:1445
+#: g10/keyserver.c:1244
 #, c-format
 msgid "WARNING: unable to refresh key %s via %s: %s\n"
 msgstr "ADVARSEL: Kan ikke opdatere nøgle %s via %s: %s\n"
 
-#: g10/keyserver.c:1549
+#: g10/keyserver.c:1336
 #, c-format
 msgid "key \"%s\" not found on keyserver\n"
 msgstr "nøgle »%s« blev ikke fundet på nøgleserver\n"
 
-#: g10/keyserver.c:1552
+#: g10/keyserver.c:1339
 #, c-format
 msgid "key not found on keyserver\n"
 msgstr "nøgle blev ikke fundet på nøgleserver\n"
 
-#: g10/keyserver.c:1743
-#, c-format
-msgid "requesting key %s from %s server %s\n"
-msgstr "anmoder om nøgle %s fra %s server %s\n"
-
-#: g10/keyserver.c:1747
+#: g10/keyserver.c:1504
 #, c-format
 msgid "requesting key %s from %s\n"
 msgstr "anmoder om nøgle %s fra %s\n"
 
-#: g10/keyserver.c:1852 g10/keyserver.c:2031
+#: g10/keyserver.c:1619 g10/keyserver.c:1798
 #, fuzzy, c-format
 #| msgid "no keyserver action!\n"
 msgid "no keyserver known\n"
 msgstr "ingen nøgleserverhandling!\n"
 
-#: g10/keyserver.c:1867 g10/skclist.c:214 g10/skclist.c:242
+#: g10/keyserver.c:1634 g10/skclist.c:215 g10/skclist.c:243
 #, c-format
 msgid "skipped \"%s\": %s\n"
 msgstr "udelod »%s«: %s\n"
 
-#: g10/keyserver.c:1871
+#: g10/keyserver.c:1638
 #, c-format
 msgid "sending key %s to %s\n"
 msgstr "sender nøgle %s til %s\n"
 
-#: g10/keyserver.c:1912
+#: g10/keyserver.c:1679
 #, fuzzy, c-format
 #| msgid "requesting key %s from %s\n"
 msgid "requesting key from '%s'\n"
 msgstr "anmoder om nøgle %s fra %s\n"
 
-#: g10/keyserver.c:1928
+#: g10/keyserver.c:1695
 #, c-format
 msgid "WARNING: unable to fetch URI %s: %s\n"
 msgstr "ADVARSEL: kan ikke hente URI %s: %s\n"
@@ -6111,248 +6124,248 @@ msgstr "underlig størrelse for en krypteret sessionsnøgle (%d)\n"
 msgid "%s encrypted session key\n"
 msgstr "%s krypteret sessionsnøgle\n"
 
-#: g10/mainproc.c:400
+#: g10/mainproc.c:403
 #, c-format
 msgid "passphrase generated with unknown digest algorithm %d\n"
 msgstr "adgangsfrase oprettet med ukendt sammendragsalgoritme %d\n"
 
-#: g10/mainproc.c:481
+#: g10/mainproc.c:485
 #, c-format
 msgid "public key is %s\n"
 msgstr "offentlig nøgle er %s\n"
 
-#: g10/mainproc.c:557
+#: g10/mainproc.c:561
 #, c-format
 msgid "public key encrypted data: good DEK\n"
 msgstr "krypterede data for offentlig nøgle: god DEK\n"
 
-#: g10/mainproc.c:590
+#: g10/mainproc.c:594
 #, c-format
 msgid "encrypted with %u-bit %s key, ID %s, created %s\n"
 msgstr "krypteret med %u-bit %s nøgle, id %s, oprettet %s\n"
 
-#: g10/mainproc.c:594 g10/pkclist.c:228
+#: g10/mainproc.c:598 g10/pkclist.c:228
 #, c-format
 msgid "      \"%s\"\n"
 msgstr "      »%s«\n"
 
-#: g10/mainproc.c:598
+#: g10/mainproc.c:602
 #, c-format
 msgid "encrypted with %s key, ID %s\n"
 msgstr "krypteret med %s nøgle, id %s\n"
 
-#: g10/mainproc.c:619
+#: g10/mainproc.c:623
 #, c-format
 msgid "public key decryption failed: %s\n"
 msgstr "afkryptering af offentlig nøgle mislykkedes: %s\n"
 
-#: g10/mainproc.c:641 g10/mainproc.c:970
+#: g10/mainproc.c:645 g10/mainproc.c:976
 #, c-format
 msgid "WARNING: multiple plaintexts seen\n"
 msgstr "ADVARSEL: flere klartekster set\n"
 
-#: g10/mainproc.c:649
+#: g10/mainproc.c:653
 #, c-format
 msgid "encrypted with %lu passphrases\n"
 msgstr "krypteret med %lu adgangsfraser\n"
 
-#: g10/mainproc.c:651
+#: g10/mainproc.c:655
 #, c-format
 msgid "encrypted with 1 passphrase\n"
 msgstr "krypteret med 1 adgangsfrase\n"
 
-#: g10/mainproc.c:685 g10/mainproc.c:706
+#: g10/mainproc.c:689 g10/mainproc.c:710
 #, c-format
 msgid "assuming %s encrypted data\n"
 msgstr "antager %s krypterede data\n"
 
-#: g10/mainproc.c:692
+#: g10/mainproc.c:696
 #, c-format
 msgid "IDEA cipher unavailable, optimistically attempting to use %s instead\n"
 msgstr ""
 "IDEA-chiffer utilgængelig, forsøger optimistisk at bruge %s i stedet for\n"
 
-#: g10/mainproc.c:779 g10/mainproc.c:817
+#: g10/mainproc.c:785 g10/mainproc.c:823
 #, c-format
 msgid "WARNING: message was not integrity protected\n"
 msgstr "ADVARSEL: besked var ikke integritetsbeskyttet\n"
 
-#: g10/mainproc.c:790
+#: g10/mainproc.c:796
 msgid ""
 "Hint: If this message was created before the year 2003 it is\n"
 "likely that this message is legitimate.  This is because back\n"
 "then integrity protection was not widely used.\n"
 msgstr ""
 
-#: g10/mainproc.c:793
+#: g10/mainproc.c:799
 #, c-format
 msgid "Use the option '%s' to decrypt anyway.\n"
 msgstr ""
 
-#: g10/mainproc.c:798
+#: g10/mainproc.c:804
 #, fuzzy, c-format
 #| msgid "decryption failed: %s\n"
 msgid "decryption forced to fail!\n"
 msgstr "afkryptering mislykkedes: %s\n"
 
-#: g10/mainproc.c:810
+#: g10/mainproc.c:816
 #, c-format
 msgid "decryption okay\n"
 msgstr "afkryptering okay\n"
 
-#: g10/mainproc.c:823
+#: g10/mainproc.c:829
 #, c-format
 msgid "WARNING: encrypted message has been manipulated!\n"
 msgstr "ADVARSEL: krypteret besked er blevet manipuleret!\n"
 
-#: g10/mainproc.c:841
+#: g10/mainproc.c:847
 #, c-format
 msgid "decryption failed: %s\n"
 msgstr "afkryptering mislykkedes: %s\n"
 
-#: g10/mainproc.c:886
+#: g10/mainproc.c:892
 #, fuzzy, c-format
 #| msgid "NOTE: sender requested \"for-your-eyes-only\"\n"
 msgid "Note: sender requested \"for-your-eyes-only\"\n"
 msgstr "BEMÆRK: afsender anmodte om »for-your-eyes-only«\n"
 
-#: g10/mainproc.c:893
+#: g10/mainproc.c:899
 #, c-format
 msgid "original file name='%.*s'\n"
 msgstr "oprindeligt filnavn=»%.*s«\n"
 
-#: g10/mainproc.c:1148
+#: g10/mainproc.c:1154
 #, c-format
 msgid "standalone revocation - use \"gpg --import\" to apply\n"
 msgstr "uafhængig tilbagekald - brug »gpg --import« for at anvende\n"
 
-#: g10/mainproc.c:1452 g10/mainproc.c:1495
+#: g10/mainproc.c:1458 g10/mainproc.c:1501
 #, c-format
 msgid "no signature found\n"
 msgstr "ingen underskrift fundet\n"
 
-#: g10/mainproc.c:1852
+#: g10/mainproc.c:1858
 #, c-format
 msgid "BAD signature from \"%s\""
 msgstr "UGYLDIG underskrift fra »%s«"
 
-#: g10/mainproc.c:1854
+#: g10/mainproc.c:1860
 #, c-format
 msgid "Expired signature from \"%s\""
 msgstr "Udløbet underskrift fra »%s«"
 
-#: g10/mainproc.c:1856
+#: g10/mainproc.c:1862
 #, c-format
 msgid "Good signature from \"%s\""
 msgstr "God underskrift fra »%s«"
 
-#: g10/mainproc.c:1876
+#: g10/mainproc.c:1882
 #, c-format
 msgid "signature verification suppressed\n"
 msgstr "underskriftverificering undertrykt\n"
 
-#: g10/mainproc.c:1985
+#: g10/mainproc.c:1991
 #, c-format
 msgid "can't handle this ambiguous signature data\n"
 msgstr "kan ikke håndtere disse tvetydige underskriftdata\n"
 
-#: g10/mainproc.c:2001 g10/mainproc.c:2008
+#: g10/mainproc.c:2007 g10/mainproc.c:2014
 #, c-format
 msgid "Signature made %s\n"
 msgstr "Underskrift lavet %s\n"
 
-#: g10/mainproc.c:2002 g10/mainproc.c:2009 sm/verify.c:476
+#: g10/mainproc.c:2008 g10/mainproc.c:2015 sm/verify.c:476
 #, c-format
 msgid "               using %s key %s\n"
 msgstr "               bruger %s nøgle %s\n"
 
-#: g10/mainproc.c:2013
+#: g10/mainproc.c:2019
 #, c-format
 msgid "Signature made %s using %s key ID %s\n"
 msgstr "Underskrift lavet %s med %s nøgle-id %s\n"
 
-#: g10/mainproc.c:2019
+#: g10/mainproc.c:2025
 #, fuzzy, c-format
 #| msgid "                aka \"%s\""
 msgid "               issuer \"%s\"\n"
 msgstr "       også kendt som »%s«"
 
-#: g10/mainproc.c:2070
+#: g10/mainproc.c:2076
 #, c-format
 msgid "Key available at: "
 msgstr "Nøgle tilgængelig på: "
 
-#: g10/mainproc.c:2111
+#: g10/mainproc.c:2118
 #, c-format
 msgid "Note: Use '%s' to make use of this info\n"
 msgstr ""
 
-#: g10/mainproc.c:2325
+#: g10/mainproc.c:2334
 msgid "[uncertain]"
 msgstr "[usikker]"
 
-#: g10/mainproc.c:2363
+#: g10/mainproc.c:2372
 #, c-format
 msgid "                aka \"%s\""
 msgstr "       også kendt som »%s«"
 
-#: g10/mainproc.c:2438
+#: g10/mainproc.c:2447
 #, fuzzy, c-format
 #| msgid "WARNING: This key is not certified with a trusted signature!\n"
 msgid "WARNING: This key is not suitable for signing in %s mode\n"
 msgstr ""
 "ADVARSEL: Denne nøgle er ikke certificeret med en troværdig underskrift!\n"
 
-#: g10/mainproc.c:2456
+#: g10/mainproc.c:2465
 #, c-format
 msgid "Signature expired %s\n"
 msgstr "Underskrift udløbet %s\n"
 
-#: g10/mainproc.c:2460
+#: g10/mainproc.c:2469
 #, c-format
 msgid "Signature expires %s\n"
 msgstr "Underskrift udløber %s\n"
 
-#: g10/mainproc.c:2471
+#: g10/mainproc.c:2480
 #, fuzzy, c-format
 #| msgid "%s signature, digest algorithm %s\n"
 msgid "%s signature, digest algorithm %s%s%s\n"
 msgstr "%s underskrift, sammendragsalgoritme %s\n"
 
-#: g10/mainproc.c:2472
+#: g10/mainproc.c:2481
 msgid "binary"
 msgstr "binær"
 
-#: g10/mainproc.c:2473
+#: g10/mainproc.c:2482
 msgid "textmode"
 msgstr "tekstilstand"
 
-#: g10/mainproc.c:2473 g10/trust.c:123 dirmngr/ocsp.c:792
+#: g10/mainproc.c:2482 g10/trust.c:123 dirmngr/ocsp.c:792
 msgid "unknown"
 msgstr "ukendt"
 
-#: g10/mainproc.c:2475
+#: g10/mainproc.c:2484
 #, fuzzy
 #| msgid "algorithm: %s"
 msgid ", key algorithm "
 msgstr "algoritme: %s"
 
-#: g10/mainproc.c:2510
+#: g10/mainproc.c:2519
 #, c-format
 msgid "WARNING: not a detached signature; file '%s' was NOT verified!\n"
 msgstr ""
 
-#: g10/mainproc.c:2548
+#: g10/mainproc.c:2558
 #, c-format
 msgid "Can't check signature: %s\n"
 msgstr "Kan ikke kontrollere underskrift: %s\n"
 
-#: g10/mainproc.c:2644 g10/mainproc.c:2663 g10/mainproc.c:2787
+#: g10/mainproc.c:2654 g10/mainproc.c:2673 g10/mainproc.c:2797
 #, c-format
 msgid "not a detached signature\n"
 msgstr "ikke en frakoblet underskrift\n"
 
-#: g10/mainproc.c:2697
+#: g10/mainproc.c:2707
 #, c-format
 msgid ""
 "WARNING: multiple signatures detected.  Only the first will be checked.\n"
@@ -6360,12 +6373,12 @@ msgstr ""
 "ADVARSEL: flere underskrifter detekteret. Kun den første vil blive "
 "kontrolleret.\n"
 
-#: g10/mainproc.c:2706
+#: g10/mainproc.c:2716
 #, c-format
 msgid "standalone signature of class 0x%02x\n"
 msgstr "uafhængig underskrift for klasse 0x%02x\n"
 
-#: g10/mainproc.c:2791
+#: g10/mainproc.c:2801
 #, c-format
 msgid "old style (PGP 2.x) signature\n"
 msgstr "gammeldags (PGP 2.x) underskrift\n"
@@ -6557,26 +6570,32 @@ msgstr "Kritisk underskriftnotation: "
 msgid "subpacket of type %d has critical bit set\n"
 msgstr "underpakke af typen %d har kritiske bitsæt\n"
 
-#: g10/passphrase.c:73 g10/passphrase.c:275 g10/passphrase.c:308
+#: g10/passphrase.c:73 g10/passphrase.c:283 g10/passphrase.c:316
 #, c-format
 msgid "problem with the agent: %s\n"
 msgstr "problem med agenten: %s\n"
 
-#: g10/passphrase.c:258
+#: g10/passphrase.c:251 sm/decrypt.c:341
+#, fuzzy
+#| msgid "Please enter the new passphrase"
+msgid "Please enter the passphrase for decryption."
+msgstr "Indtast venligst den nye adgangsfrase"
+
+#: g10/passphrase.c:253
 msgid "Enter passphrase\n"
 msgstr "Indtast adgangsfrase\n"
 
-#: g10/passphrase.c:269
+#: g10/passphrase.c:277
 #, c-format
 msgid "cancelled by user\n"
 msgstr "afbrudt af bruger\n"
 
-#: g10/passphrase.c:510
+#: g10/passphrase.c:523
 #, c-format
 msgid " (main key ID %s)"
 msgstr " (hovednøgle-id %s)"
 
-#: g10/passphrase.c:517
+#: g10/passphrase.c:530
 #, fuzzy
 #| msgid "Please enter the passphrase to unprotect the PKCS#12 object."
 msgid "Please enter the passphrase to unlock the OpenPGP secret key:"
@@ -6584,37 +6603,37 @@ msgstr ""
 "Indtast venligst adgangsfrasen for at fjerne beskyttelsen på PKCS#12-"
 "objektet."
 
-#: g10/passphrase.c:521
+#: g10/passphrase.c:534
 #, fuzzy
 #| msgid "Please enter the passphrase to protect the new PKCS#12 object."
 msgid "Please enter the passphrase to import the OpenPGP secret key:"
 msgstr "Indtast venligst adgangsfrasen for at beskytte det nye PKCS#12-objekt."
 
-#: g10/passphrase.c:526
+#: g10/passphrase.c:539
 #, fuzzy
 #| msgid "Please enter the passphrase to protect the new PKCS#12 object."
 msgid "Please enter the passphrase to export the OpenPGP secret subkey:"
 msgstr "Indtast venligst adgangsfrasen for at beskytte det nye PKCS#12-objekt."
 
-#: g10/passphrase.c:529
+#: g10/passphrase.c:542
 #, fuzzy
 #| msgid "Please enter the passphrase to protect the new PKCS#12 object."
 msgid "Please enter the passphrase to export the OpenPGP secret key:"
 msgstr "Indtast venligst adgangsfrasen for at beskytte det nye PKCS#12-objekt."
 
-#: g10/passphrase.c:534
+#: g10/passphrase.c:547
 #, fuzzy
 #| msgid "Do you really want to delete the selected keys? (y/N) "
 msgid "Do you really want to permanently delete the OpenPGP secret subkey key:"
 msgstr "Vil du virkelig slette de valgte nøgler? (j/N) "
 
-#: g10/passphrase.c:537
+#: g10/passphrase.c:550
 #, fuzzy
 #| msgid "Do you really want to delete the selected keys? (y/N) "
 msgid "Do you really want to permanently delete the OpenPGP secret key:"
 msgstr "Vil du virkelig slette de valgte nøgler? (j/N) "
 
-#: g10/passphrase.c:546
+#: g10/passphrase.c:559
 #, fuzzy, c-format
 #| msgid "%u-bit %s key, ID %s, created %s"
 msgid ""
@@ -6668,7 +6687,7 @@ msgstr "»%s« er ikke en JPEG-fil\n"
 msgid "Is this photo correct (y/N/q)? "
 msgstr "Er dette billede korrekt (j/N/a)? "
 
-#: g10/photoid.c:395
+#: g10/photoid.c:399
 #, c-format
 msgid "unable to display photo ID!\n"
 msgstr "kan ikke vise billed-id!\n"
@@ -7034,7 +7053,7 @@ msgstr "kan ikke åbne underskrevne data »%s«\n"
 msgid "can't open signed data fd=%d: %s\n"
 msgstr "kan ikke åbne underskrevne data fd=%d: %s\n"
 
-#: g10/pubkey-enc.c:98 g10/pubkey-enc.c:139 sm/decrypt.c:493
+#: g10/pubkey-enc.c:98 g10/pubkey-enc.c:139 sm/decrypt.c:969
 #, fuzzy, c-format
 #| msgid "certificate is not usable for encryption\n"
 msgid "key %s is not suitable for decryption in %s mode\n"
@@ -7050,28 +7069,28 @@ msgstr "anonym modtager; prøver hemmelig nøgle %s ...\n"
 msgid "okay, we are the anonymous recipient.\n"
 msgstr "okay, vi er den anonyme modtager.\n"
 
-#: g10/pubkey-enc.c:321
+#: g10/pubkey-enc.c:311
 #, c-format
 msgid "old encoding of the DEK is not supported\n"
 msgstr "gammel kodning for DEK'en er ikke understøttet\n"
 
-#: g10/pubkey-enc.c:349
+#: g10/pubkey-enc.c:339
 #, c-format
 msgid "cipher algorithm %d%s is unknown or disabled\n"
 msgstr "chifferalgoritme %d%s er ukendt eller deaktiveret\n"
 
-#: g10/pubkey-enc.c:393
+#: g10/pubkey-enc.c:383
 #, c-format
 msgid "WARNING: cipher algorithm %s not found in recipient preferences\n"
 msgstr "ADVARSEL: chifferalgoritme %s ikke fundet i modtagerpræferencer\n"
 
-#: g10/pubkey-enc.c:426
+#: g10/pubkey-enc.c:416
 #, fuzzy, c-format
 #| msgid "NOTE: secret key %s expired at %s\n"
 msgid "Note: secret key %s expired at %s\n"
 msgstr "BEMÆRK: hemmelig nøgle %s udløb den %s\n"
 
-#: g10/pubkey-enc.c:433
+#: g10/pubkey-enc.c:423
 #, fuzzy, c-format
 #| msgid "NOTE: key has been revoked"
 msgid "Note: key has been revoked"
@@ -7395,7 +7414,7 @@ msgstr ""
 msgid "%s/%s signature from: \"%s\"\n"
 msgstr "%s/%s-underskrift fra: »%s«\n"
 
-#: g10/sign.c:1046
+#: g10/sign.c:1045
 #, c-format
 msgid ""
 "WARNING: forcing digest algorithm %s (%d) violates recipient preferences\n"
@@ -7403,33 +7422,33 @@ msgstr ""
 "ADVARSEL: tvang af sammendragsalgoritme %s (%d) overtræder "
 "modtagerpræferencer\n"
 
-#: g10/sign.c:1188
+#: g10/sign.c:1187
 #, c-format
 msgid "signing:"
 msgstr "underskriver:"
 
-#: g10/sign.c:1465
+#: g10/sign.c:1464
 #, c-format
 msgid "%s encryption will be used\n"
 msgstr "%s-kryptering vil blive brugt\n"
 
-#: g10/skclist.c:173 g10/skclist.c:254
+#: g10/skclist.c:174 g10/skclist.c:255
 #, c-format
 msgid "key is not flagged as insecure - can't use it with the faked RNG!\n"
 msgstr ""
 "nøgle er ikke markeret som usikker - kan ikke bruge den med falsk RNG!\n"
 
-#: g10/skclist.c:205
+#: g10/skclist.c:206
 #, c-format
 msgid "skipped \"%s\": duplicated\n"
 msgstr "udelod »%s«: duplikeret\n"
 
-#: g10/skclist.c:224
+#: g10/skclist.c:225
 #, c-format
 msgid "skipped: secret key already present\n"
 msgstr "udelod: hemmelig nøgle er allerede til stede\n"
 
-#: g10/skclist.c:243
+#: g10/skclist.c:244
 msgid "this is a PGP generated Elgamal key which is not secure for signatures!"
 msgstr ""
 "dette er en PGP-oprettet Elgamalnøgle som ikke er sikker for underskrifter!"
@@ -7487,7 +7506,7 @@ msgstr "læsefejl i »%s«: %s\n"
 msgid "trustdb: sync failed: %s\n"
 msgstr "trustdb: synkronisering mislykkedes: %s\n"
 
-#: g10/tdbio.c:144 sm/keydb.c:336
+#: g10/tdbio.c:144 sm/keydb.c:335
 #, fuzzy, c-format
 #| msgid "can't create lock for `%s'\n"
 msgid "can't create lock for '%s'\n"
@@ -8246,41 +8265,51 @@ msgstr ""
 #. TRANSLATORS: Put a \x1f right before a colon.  This can be
 #. * used by pinentry to nicely align the names and values.  Keep
 #. * the %s at the start and end of the string.
-#: scd/app-p15.c:3369 scd/app-openpgp.c:2153
+#: scd/app-p15.c:4955 scd/app-openpgp.c:2151
 #, c-format
 msgid "%sNumber\1f: %s%%0AHolder\1f: %s%s"
 msgstr ""
 
 #. TRANSLATORS: This is the number of remaining attempts to
 #. * enter a PIN.  Use %%0A (double-percent,0A) for a linefeed.
-#: scd/app-p15.c:3388 scd/app-openpgp.c:2169
+#: scd/app-p15.c:4974 scd/app-openpgp.c:2167
 #, c-format
 msgid "Remaining attempts: %d"
 msgstr ""
 
-#: scd/app-p15.c:3459 scd/app-nks.c:1110
+#: scd/app-p15.c:5053 scd/app-nks.c:1113
 msgid "||Please enter the PIN for the key to create qualified signatures."
 msgstr ""
 "||Indtast venligst PIN'en for nøglen til at oprette kvalificerede "
 "underskrifter."
 
-#: scd/app-p15.c:3462 scd/app-nks.c:1092
+#. TRANSLATORS: Do not translate the "|A|" prefix but keep it at
+#. the start of the string.  Use %0A (single percent) for a linefeed.
+#: scd/app-p15.c:5056 scd/app-openpgp.c:2461
+msgid "|A|Please enter the Admin PIN"
+msgstr "|A|Indtast venligst administrator-PIN'en"
+
+#: scd/app-p15.c:5058 scd/app-nks.c:1103
+msgid "|P|Please enter the PIN Unblocking Code (PUK) for the standard keys."
+msgstr "|P|Indtast venligst PIN Unblocking Code (PUK) for standardnøglerne."
+
+#: scd/app-p15.c:5061 scd/app-nks.c:1095
 msgid "||Please enter the PIN for the standard keys."
 msgstr "||Indtast venligst PIn'en for standardnøglerne."
 
-#: scd/app-nks.c:709 scd/app-openpgp.c:3664
+#: scd/app-nks.c:709 scd/app-openpgp.c:3663
 #, c-format
 msgid "RSA modulus missing or not of size %d bits\n"
 msgstr "RSA-modulus mangler eller har ikke størrelsen %d bit\n"
 
-#: scd/app-nks.c:717 scd/app-openpgp.c:3676
+#: scd/app-nks.c:717 scd/app-openpgp.c:3675
 #, c-format
 msgid "RSA public exponent missing or larger than %d bits\n"
 msgstr "RSA offentlig eksponent mangler eller større end %d bit\n"
 
-#: scd/app-nks.c:797 scd/app-openpgp.c:2326 scd/app-openpgp.c:2345
-#: scd/app-openpgp.c:2512 scd/app-openpgp.c:2530 scd/app-openpgp.c:2827
-#: scd/app-openpgp.c:2874 scd/app-openpgp.c:2989 scd/app-dinsig.c:303
+#: scd/app-nks.c:797 scd/app-openpgp.c:2324 scd/app-openpgp.c:2343
+#: scd/app-openpgp.c:2510 scd/app-openpgp.c:2528 scd/app-openpgp.c:2826
+#: scd/app-openpgp.c:2873 scd/app-openpgp.c:2988 scd/app-dinsig.c:302
 #, c-format
 msgid "PIN callback returned error: %s\n"
 msgstr "PIN-tilbagekald returnerede fejl: %s\n"
@@ -8290,26 +8319,22 @@ msgstr "PIN-tilbagekald returnerede fejl: %s\n"
 msgid "the NullPIN has not yet been changed\n"
 msgstr "NullPIN'en er endnu ikke ændret\n"
 
-#: scd/app-nks.c:1091
+#: scd/app-nks.c:1094
 msgid "|N|Please enter a new PIN for the standard keys."
 msgstr "|N|Indtast venligst en ny PIN for standardnøglerne."
 
-#: scd/app-nks.c:1098
+#: scd/app-nks.c:1101
 msgid "|NP|Please enter a new PIN Unblocking Code (PUK) for the standard keys."
 msgstr ""
 "|NP|Indtast venligst en ny PIN Unblocking Code (PUK) for standardnøglerne."
 
-#: scd/app-nks.c:1100
-msgid "|P|Please enter the PIN Unblocking Code (PUK) for the standard keys."
-msgstr "|P|Indtast venligst PIN Unblocking Code (PUK) for standardnøglerne."
-
-#: scd/app-nks.c:1108
+#: scd/app-nks.c:1111
 msgid "|N|Please enter a new PIN for the key to create qualified signatures."
 msgstr ""
 "|N|Indtast venligst en ny PIN for nøglen til at oprette kvalificerede "
 "underskrifter."
 
-#: scd/app-nks.c:1118
+#: scd/app-nks.c:1121
 msgid ""
 "|NP|Please enter a new PIN Unblocking Code (PUK) for the key to create "
 "qualified signatures."
@@ -8317,7 +8342,7 @@ msgstr ""
 "|NP|Indtast venligst en ny PIN Unblocking Code (PUK) for nøglen til at "
 "oprette kvalificerede underskrifter."
 
-#: scd/app-nks.c:1120
+#: scd/app-nks.c:1123
 msgid ""
 "|P|Please enter the PIN Unblocking Code (PUK) for the key to create "
 "qualified signatures."
@@ -8325,48 +8350,48 @@ msgstr ""
 "|P|Indtast venligst PIN Unblocking Code (PUK) for nøglen til at oprette "
 "kvalificerede underskrifter."
 
-#: scd/app-nks.c:1227 scd/app-openpgp.c:2908 scd/app-dinsig.c:531
+#: scd/app-nks.c:1230 scd/app-openpgp.c:2907 scd/app-dinsig.c:532
 #, c-format
 msgid "error getting new PIN: %s\n"
 msgstr "fejl ved indhentelse af ny PIN: %s\n"
 
-#: scd/app-openpgp.c:860
+#: scd/app-openpgp.c:859
 #, c-format
 msgid "failed to store the fingerprint: %s\n"
 msgstr "kunne ikke gemme fingeraftrykket: %s\n"
 
-#: scd/app-openpgp.c:873
+#: scd/app-openpgp.c:872
 #, c-format
 msgid "failed to store the creation date: %s\n"
 msgstr "kunne ikke gemme oprettelsesdatoen: %s\n"
 
-#: scd/app-openpgp.c:1272 scd/app-openpgp.c:2855 scd/app-openpgp.c:5020
+#: scd/app-openpgp.c:1268 scd/app-openpgp.c:2854 scd/app-openpgp.c:5025
 #, c-format
 msgid "error retrieving CHV status from card\n"
 msgstr "fejl ved indhentelse af CHV-status fra kort\n"
 
-#: scd/app-openpgp.c:1430
+#: scd/app-openpgp.c:1426
 #, c-format
 msgid "response does not contain the RSA modulus\n"
 msgstr "svar indeholder ikke RSA modulus'erne\n"
 
-#: scd/app-openpgp.c:1437
+#: scd/app-openpgp.c:1433
 #, c-format
 msgid "response does not contain the RSA public exponent\n"
 msgstr "svar indeholder ikke den RSA-offentlige eksponent\n"
 
-#: scd/app-openpgp.c:1547
+#: scd/app-openpgp.c:1543
 #, fuzzy, c-format
 #| msgid "response does not contain the RSA public exponent\n"
 msgid "response does not contain the EC public key\n"
 msgstr "svar indeholder ikke den RSA-offentlige eksponent\n"
 
-#: scd/app-openpgp.c:1665 scd/app-openpgp.c:4284
+#: scd/app-openpgp.c:1661 scd/app-openpgp.c:4283
 #, c-format
 msgid "response does not contain the public key data\n"
 msgstr "svar indeholder ikke data for offentlig nøgle\n"
 
-#: scd/app-openpgp.c:1772
+#: scd/app-openpgp.c:1768
 #, c-format
 msgid "reading public key failed: %s\n"
 msgstr "læsning af offentlig nøgle mislykkedes: %s\n"
@@ -8374,46 +8399,46 @@ msgstr "læsning af offentlig nøgle mislykkedes: %s\n"
 #. TRANSLATORS: Put a \x1f right before a colon.  This can be
 #. * used by pinentry to nicely align the names and values.  Keep
 #. * the %s at the start and end of the string.
-#: scd/app-openpgp.c:2140
+#: scd/app-openpgp.c:2138
 #, c-format
 msgid "%sNumber\1f: %s%%0AHolder\1f: %s%%0ACounter\1f: %lu%s"
 msgstr ""
 
-#: scd/app-openpgp.c:2280
+#: scd/app-openpgp.c:2278
 #, c-format
 msgid "using default PIN as %s\n"
 msgstr "bruger standard-PIN som %s\n"
 
-#: scd/app-openpgp.c:2287
+#: scd/app-openpgp.c:2285
 #, c-format
 msgid "failed to use default PIN as %s: %s - disabling further default use\n"
 msgstr ""
 "kunne ikke bruge standard-PIN som %s: %s - deaktiverer yderligere "
 "standardbrug\n"
 
-#: scd/app-openpgp.c:2300
+#: scd/app-openpgp.c:2298
 #, fuzzy
 #| msgid "||Please enter the PIN"
 msgid "||Please unlock the card"
 msgstr "||Indtast venligst PIN'en"
 
-#: scd/app-openpgp.c:2352 scd/app-openpgp.c:2537 scd/app-openpgp.c:2834
+#: scd/app-openpgp.c:2350 scd/app-openpgp.c:2535 scd/app-openpgp.c:2833
 #, c-format
 msgid "PIN for CHV%d is too short; minimum length is %d\n"
 msgstr "PIN for CHV%d er for kort; minimumlængde er %d\n"
 
-#: scd/app-openpgp.c:2366 scd/app-openpgp.c:2413 scd/app-openpgp.c:2551
-#: scd/app-openpgp.c:4642
+#: scd/app-openpgp.c:2364 scd/app-openpgp.c:2411 scd/app-openpgp.c:2549
+#: scd/app-openpgp.c:4641
 #, c-format
 msgid "verify CHV%d failed: %s\n"
 msgstr "verificering af CHV%d mislykkedes: %s\n"
 
-#: scd/app-openpgp.c:2449 scd/app-openpgp.c:5029
+#: scd/app-openpgp.c:2447 scd/app-openpgp.c:5034
 #, c-format
 msgid "card is permanently locked!\n"
 msgstr "kort er permanent låst!\n"
 
-#: scd/app-openpgp.c:2453
+#: scd/app-openpgp.c:2451
 #, fuzzy, c-format
 #| msgid "%d Admin PIN attempts remaining before card is permanently locked\n"
 msgid "%d Admin PIN attempt remaining before card is permanently locked\n"
@@ -8422,26 +8447,20 @@ msgid_plural ""
 msgstr[0] "%d PIN-forsøg for administrator før kort permanent låses\n"
 msgstr[1] "%d PIN-forsøg for administrator før kort permanent låses\n"
 
-#. TRANSLATORS: Do not translate the "|A|" prefix but keep it at
-#. the start of the string.  Use %0A (single percent) for a linefeed.
-#: scd/app-openpgp.c:2463
-msgid "|A|Please enter the Admin PIN"
-msgstr "|A|Indtast venligst administrator-PIN'en"
-
-#: scd/app-openpgp.c:2484
+#: scd/app-openpgp.c:2482
 #, c-format
 msgid "access to admin commands is not configured\n"
 msgstr "adgang til administratorkommandoer er ikke konfigureret\n"
 
-#: scd/app-openpgp.c:2821
+#: scd/app-openpgp.c:2820
 msgid "||Please enter the PIN"
 msgstr "||Indtast venligst PIN'en"
 
-#: scd/app-openpgp.c:2870
+#: scd/app-openpgp.c:2869
 msgid "||Please enter the Reset Code for the card"
 msgstr "||Indtast venligst nulstillingskoden for kortet"
 
-#: scd/app-openpgp.c:2880 scd/app-openpgp.c:2941
+#: scd/app-openpgp.c:2879 scd/app-openpgp.c:2940
 #, c-format
 msgid "Reset Code is too short; minimum length is %d\n"
 msgstr "Nulstillingskode er for kort; minimumlængde er %d\n"
@@ -8449,88 +8468,88 @@ msgstr "Nulstillingskode er for kort; minimumlængde er %d\n"
 #. TRANSLATORS: Do not translate the "|*|" prefixes but
 #. keep it at the start of the string.  We need this elsewhere
 #. to get some infos on the string.
-#: scd/app-openpgp.c:2903
+#: scd/app-openpgp.c:2902
 msgid "|RN|New Reset Code"
 msgstr "|RN|Ny nulstillingskode"
 
-#: scd/app-openpgp.c:2904
+#: scd/app-openpgp.c:2903
 msgid "|AN|New Admin PIN"
 msgstr "|AN|Ny administrator-PIN"
 
-#: scd/app-openpgp.c:2904
+#: scd/app-openpgp.c:2903
 msgid "|N|New PIN"
 msgstr "|N|Ny PIN"
 
-#: scd/app-openpgp.c:2985
+#: scd/app-openpgp.c:2984
 msgid "||Please enter the Admin PIN and New Admin PIN"
 msgstr "||Indtast venligst administrator-PIN'en og ny administrator-PIN"
 
-#: scd/app-openpgp.c:2986
+#: scd/app-openpgp.c:2985
 msgid "||Please enter the PIN and New PIN"
 msgstr "||Indtast venligst PIN'en og ny PIN"
 
-#: scd/app-openpgp.c:3048 scd/app-openpgp.c:4344
+#: scd/app-openpgp.c:3047 scd/app-openpgp.c:4343
 #, c-format
 msgid "error reading application data\n"
 msgstr "fejl ved læsning af programdata\n"
 
-#: scd/app-openpgp.c:3054 scd/app-openpgp.c:4351
+#: scd/app-openpgp.c:3053 scd/app-openpgp.c:4350
 #, c-format
 msgid "error reading fingerprint DO\n"
 msgstr "fejl ved læsning af fingeraftryk DO\n"
 
-#: scd/app-openpgp.c:3064
+#: scd/app-openpgp.c:3063
 #, c-format
 msgid "key already exists\n"
 msgstr "nøgle findes allerede\n"
 
-#: scd/app-openpgp.c:3068
+#: scd/app-openpgp.c:3067
 #, c-format
 msgid "existing key will be replaced\n"
 msgstr "eksisterende nøgle vil blive erstattet\n"
 
-#: scd/app-openpgp.c:3070
+#: scd/app-openpgp.c:3069
 #, c-format
 msgid "generating new key\n"
 msgstr "opretter ny nøgle\n"
 
-#: scd/app-openpgp.c:3072
+#: scd/app-openpgp.c:3071
 #, c-format
 msgid "writing new key\n"
 msgstr "skriver ny nøgle\n"
 
-#: scd/app-openpgp.c:3645 scd/app-openpgp.c:3997
+#: scd/app-openpgp.c:3644 scd/app-openpgp.c:3996
 #, c-format
 msgid "creation timestamp missing\n"
 msgstr "oprettelsestidsstempel mangler\n"
 
-#: scd/app-openpgp.c:3686 scd/app-openpgp.c:3694
+#: scd/app-openpgp.c:3685 scd/app-openpgp.c:3693
 #, c-format
 msgid "RSA prime %s missing or not of size %d bits\n"
 msgstr "RSA-primtal %s mangler eller har ikke størrelsen %d bit\n"
 
-#: scd/app-openpgp.c:3827 scd/app-openpgp.c:4104
+#: scd/app-openpgp.c:3826 scd/app-openpgp.c:4103
 #, c-format
 msgid "failed to store the key: %s\n"
 msgstr "kunne ikke gemme nøglen: %s\n"
 
-#: scd/app-openpgp.c:3991
+#: scd/app-openpgp.c:3990
 #, fuzzy, c-format
 #| msgid "unsupported algorithm: %s"
 msgid "unsupported curve\n"
 msgstr "ikke understøttet algoritme: %s"
 
-#: scd/app-openpgp.c:4261
+#: scd/app-openpgp.c:4260
 #, c-format
 msgid "please wait while key is being generated ...\n"
 msgstr "vent venligst mens nøglen bliver oprettet ...\n"
 
-#: scd/app-openpgp.c:4269
+#: scd/app-openpgp.c:4268
 #, c-format
 msgid "generating key failed\n"
 msgstr "oprettelse af nøgle mislykkedes\n"
 
-#: scd/app-openpgp.c:4275
+#: scd/app-openpgp.c:4274
 #, fuzzy, c-format
 #| msgid "key generation completed (%d seconds)\n"
 msgid "key generation completed (%d second)\n"
@@ -8538,27 +8557,27 @@ msgid_plural "key generation completed (%d seconds)\n"
 msgstr[0] "nøgleoprettelse færdig (%d sekunder)\n"
 msgstr[1] "nøgleoprettelse færdig (%d sekunder)\n"
 
-#: scd/app-openpgp.c:4309
+#: scd/app-openpgp.c:4308
 #, c-format
 msgid "invalid structure of OpenPGP card (DO 0x93)\n"
 msgstr "ugyldig struktur for OpenPGP-kort (DO 0x93)\n"
 
-#: scd/app-openpgp.c:4359
+#: scd/app-openpgp.c:4358
 #, c-format
 msgid "fingerprint on card does not match requested one\n"
 msgstr "fingeraftryk på kort matcher ikke den anmodte\n"
 
-#: scd/app-openpgp.c:4558
+#: scd/app-openpgp.c:4557
 #, c-format
 msgid "card does not support digest algorithm %s\n"
 msgstr "kort understøtter ikke sammendragsalgoritme %s\n"
 
-#: scd/app-openpgp.c:4616
+#: scd/app-openpgp.c:4615
 #, c-format
 msgid "signatures created so far: %lu\n"
 msgstr "underskrifter oprettet indtil videre: %lu\n"
 
-#: scd/app-openpgp.c:5034
+#: scd/app-openpgp.c:5039
 #, c-format
 msgid ""
 "verification of Admin PIN is currently prohibited through this command\n"
@@ -8566,19 +8585,19 @@ msgstr ""
 "verifikation af administrator-PIN er i øjeblikket forbudt via denne "
 "kommando\n"
 
-#: scd/app-openpgp.c:5346 scd/app-openpgp.c:5357
+#: scd/app-openpgp.c:5351 scd/app-openpgp.c:5362
 #, c-format
 msgid "can't access %s - invalid OpenPGP card?\n"
 msgstr "kan ikke tilgå %s - ugyldig OpenPGP-kort?\n"
 
-#: scd/app-dinsig.c:299
+#: scd/app-dinsig.c:298
 msgid "||Please enter your PIN at the reader's pinpad"
 msgstr "||Indtast venligst din PIN på læserens numeriske tastatur"
 
 #. TRANSLATORS: Do not translate the "|*|" prefixes but
 #. keep it at the start of the string.  We need this elsewhere
 #. to get some infos on the string.
-#: scd/app-dinsig.c:528
+#: scd/app-dinsig.c:529
 msgid "|N|Initial New PIN"
 msgstr "|N|Oprindelig ny PIN"
 
@@ -8586,7 +8605,7 @@ msgstr "|N|Oprindelig ny PIN"
 msgid "run in multi server mode (foreground)"
 msgstr "kør i flerservertilstand (forgrund)"
 
-#: scd/scdaemon.c:129 sm/gpgsm.c:345 dirmngr/dirmngr.c:187
+#: scd/scdaemon.c:129 sm/gpgsm.c:348 dirmngr/dirmngr.c:188
 msgid "|LEVEL|set the debugging level to LEVEL"
 msgstr "|LEVEL|angiv fejlsøgningsniveau til NIVEAU"
 
@@ -8606,33 +8625,33 @@ msgstr "|NAME|brug NAVN som ct-API-driver"
 msgid "|NAME|use NAME as PC/SC driver"
 msgstr "|NAME|brug NAVN som PC/SC-driver"
 
-#: scd/scdaemon.c:145
+#: scd/scdaemon.c:146
 msgid "do not use the internal CCID driver"
 msgstr "brug ikke den interne CCID-driver"
 
-#: scd/scdaemon.c:151
+#: scd/scdaemon.c:152
 msgid "|N|disconnect the card after N seconds of inactivity"
 msgstr "|N|frakobl kortet efter N sekunder inaktivitet"
 
-#: scd/scdaemon.c:154
+#: scd/scdaemon.c:155
 msgid "do not use a reader's pinpad"
 msgstr "brug ikke en læsers numeriske tastatur"
 
-#: scd/scdaemon.c:159
+#: scd/scdaemon.c:160
 msgid "deny the use of admin card commands"
 msgstr "nægt brugen af kommandoer for administratorkort"
 
-#: scd/scdaemon.c:162
+#: scd/scdaemon.c:163
 msgid "use variable length input for pinpad"
 msgstr ""
 
-#: scd/scdaemon.c:311
+#: scd/scdaemon.c:312
 #, fuzzy
 #| msgid "Usage: gpgconf [options] (-h for help)"
 msgid "Usage: @SCDAEMON@ [options] (-h for help)"
 msgstr "Brug: gpgconf [tilvalg] (-h for hjælp)"
 
-#: scd/scdaemon.c:313
+#: scd/scdaemon.c:314
 #, fuzzy
 #| msgid ""
 #| "Syntax: scdaemon [options] [command [args]]\n"
@@ -8644,7 +8663,7 @@ msgstr ""
 "Syntaks: scdaemon [tilvalg] kommando [parametre]]\n"
 "Smartcard-dæmon for GnuPG\n"
 
-#: scd/scdaemon.c:806
+#: scd/scdaemon.c:808
 #, fuzzy, c-format
 #| msgid ""
 #| "please use the option `--daemon' to run the program in the background\n"
@@ -8652,12 +8671,12 @@ msgid "please use the option '--daemon' to run the program in the background\n"
 msgstr ""
 "brug venligst tilvalget »--daemon« til at køre programmet i baggrunden\n"
 
-#: scd/scdaemon.c:1183 dirmngr/dirmngr.c:2082
+#: scd/scdaemon.c:1185 dirmngr/dirmngr.c:2119
 #, c-format
 msgid "handler for fd %d started\n"
 msgstr "håndtering for fd %d startet\n"
 
-#: scd/scdaemon.c:1195 dirmngr/dirmngr.c:2090
+#: scd/scdaemon.c:1197 dirmngr/dirmngr.c:2127
 #, c-format
 msgid "handler for fd %d terminated\n"
 msgstr "håndtering for fd %d termineret\n"
@@ -8706,7 +8725,7 @@ msgstr "bemærk: ikkekritisk certifikatpolitik er ikke tilladt"
 msgid "certificate policy not allowed"
 msgstr "certifikatpolitik er ikke tilladt"
 
-#: sm/certchain.c:595 sm/keydb.c:1106 sm/keydb.c:1192
+#: sm/certchain.c:595 sm/keydb.c:1084 sm/keydb.c:1171
 #, c-format
 msgid "failed to get the fingerprint\n"
 msgstr "kunne ikke indhente fingeraftrykket\n"
@@ -8742,8 +8761,8 @@ msgstr "antallet af matchende certifikater: %d\n"
 msgid "dirmngr cache-only key lookup failed: %s\n"
 msgstr "dirmngr cache-only-nøgleopslag mislykkedes: %s\n"
 
-#: sm/certchain.c:1041 sm/certchain.c:1554 sm/certchain.c:2192 sm/decrypt.c:265
-#: sm/encrypt.c:344 sm/import.c:415 sm/keydb.c:1113 sm/keydb.c:1199
+#: sm/certchain.c:1041 sm/certchain.c:1554 sm/certchain.c:2192 sm/decrypt.c:728
+#: sm/encrypt.c:345 sm/import.c:415 sm/keydb.c:1091 sm/keydb.c:1178
 #: sm/sign.c:337 sm/verify.c:118
 #, c-format
 msgid "failed to allocate keyDB handle\n"
@@ -8938,13 +8957,13 @@ msgid "a %u bit hash is not valid for a %u bit %s key\n"
 msgstr "en %u-bit-hash er ikke gyldig for en %u-bit %s-nøgle\n"
 
 #: sm/certcheck.c:238 sm/certcheck.c:262 dirmngr/crlcache.c:1542
-#: dirmngr/crlcache.c:1566 dirmngr/dirmngr.c:1324 dirmngr/validate.c:903
+#: dirmngr/crlcache.c:1566 dirmngr/dirmngr.c:1361 dirmngr/validate.c:903
 #: dirmngr/validate.c:927
 #, c-format
 msgid "out of core\n"
 msgstr "uden for kerne\n"
 
-#: sm/certcheck.c:371 sm/verify.c:213
+#: sm/certcheck.c:370 sm/verify.c:213
 #, c-format
 msgid "(this is the MD2 algorithm)\n"
 msgstr "(dette er MD2-algoritmen)\n"
@@ -9253,23 +9272,35 @@ msgstr "Klar. Du skal nu sende denne forespørgsel til din CA.\n"
 msgid "resource problem: out of core\n"
 msgstr "ressourceproblem: ikke nok kerne\n"
 
-#: sm/decrypt.c:341
+#: sm/decrypt.c:536
+#, fuzzy, c-format
+#| msgid "%s encrypted data\n"
+msgid "%s.%s encrypted data\n"
+msgstr "%s krypterede data\n"
+
+#: sm/decrypt.c:803
 #, c-format
 msgid "(this is the RC2 algorithm)\n"
 msgstr "(dette er RC2-algoritmen)\n"
 
-#: sm/decrypt.c:343
+#: sm/decrypt.c:805
 #, c-format
 msgid "(this does not seem to be an encrypted message)\n"
 msgstr "(dette ser ikke ud til at være en krypteret besked)\n"
 
+#: sm/decrypt.c:958
+#, fuzzy, c-format
+#| msgid "encrypted with %s key, ID %s\n"
+msgid "encrypted to %s key %s\n"
+msgstr "krypteret med %s nøgle, id %s\n"
+
 #: sm/delete.c:51 sm/delete.c:112
 #, fuzzy, c-format
 #| msgid "certificate `%s' not found: %s\n"
 msgid "certificate '%s' not found: %s\n"
 msgstr "certifikat »%s« blev ikke fundet: %s\n"
 
-#: sm/delete.c:122 sm/keydb.c:1209 sm/keydb.c:1307
+#: sm/delete.c:122 sm/keydb.c:1189 sm/keydb.c:1288
 #, c-format
 msgid "error locking keybox: %s\n"
 msgstr "fejl ved låsning af nøgleboks: %s\n"
@@ -9291,130 +9322,130 @@ msgstr "certifikat »%s« slettet\n"
 msgid "deleting certificate \"%s\" failed: %s\n"
 msgstr "sletning af certifikat »%s« mislykkedes: %s\n"
 
-#: sm/encrypt.c:330
+#: sm/encrypt.c:331
 #, c-format
 msgid "no valid recipients given\n"
 msgstr "ingen gyldige modtagere angivet\n"
 
-#: sm/gpgsm.c:215
+#: sm/gpgsm.c:216
 msgid "list external keys"
 msgstr "vis eksterne nøgler"
 
-#: sm/gpgsm.c:217
+#: sm/gpgsm.c:218
 msgid "list certificate chain"
 msgstr "vis certifikatkæde"
 
-#: sm/gpgsm.c:225
+#: sm/gpgsm.c:226
 msgid "import certificates"
 msgstr "importer certifikater"
 
-#: sm/gpgsm.c:226
+#: sm/gpgsm.c:227
 msgid "export certificates"
 msgstr "eksporter certifikater"
 
-#: sm/gpgsm.c:234
+#: sm/gpgsm.c:235
 msgid "register a smartcard"
 msgstr "registrer et smartkort"
 
-#: sm/gpgsm.c:237
+#: sm/gpgsm.c:238
 msgid "pass a command to the dirmngr"
 msgstr "send en kommando til dirmngr'en"
 
-#: sm/gpgsm.c:239
+#: sm/gpgsm.c:240
 msgid "invoke gpg-protect-tool"
 msgstr "opstart gpg-protect-tool"
 
-#: sm/gpgsm.c:256
+#: sm/gpgsm.c:257
 msgid "create base-64 encoded output"
 msgstr "opret base-64-kodet resultat"
 
-#: sm/gpgsm.c:265
+#: sm/gpgsm.c:266
 msgid "assume input is in PEM format"
 msgstr "antag inddata er i PEM-format"
 
-#: sm/gpgsm.c:267
+#: sm/gpgsm.c:268
 msgid "assume input is in base-64 format"
 msgstr "antag inddata er i base-64-format"
 
-#: sm/gpgsm.c:269
+#: sm/gpgsm.c:270
 msgid "assume input is in binary format"
 msgstr "antag inddata er i binært format"
 
-#: sm/gpgsm.c:276
+#: sm/gpgsm.c:277
 msgid "never consult a CRL"
 msgstr "konsulter aldrig en CRL"
 
-#: sm/gpgsm.c:286
+#: sm/gpgsm.c:287
 msgid "check validity using OCSP"
 msgstr "kontroller validitet med OCSP"
 
-#: sm/gpgsm.c:291
+#: sm/gpgsm.c:292
 msgid "|N|number of certificates to include"
 msgstr "|N|antal certifikater der skal inkluderes"
 
-#: sm/gpgsm.c:294
+#: sm/gpgsm.c:295
 msgid "|FILE|take policy information from FILE"
 msgstr "|FILE|tag politikinformation fra FIL"
 
-#: sm/gpgsm.c:297
+#: sm/gpgsm.c:298
 msgid "do not check certificate policies"
 msgstr "kontroller ikke certifikatpolitikker"
 
-#: sm/gpgsm.c:301
+#: sm/gpgsm.c:302
 msgid "fetch missing issuer certificates"
 msgstr "hent manglende udstedercertifikater"
 
-#: sm/gpgsm.c:312
+#: sm/gpgsm.c:313
 msgid "don't use the terminal at all"
 msgstr "brug overhovedet ikke terminalen"
 
-#: sm/gpgsm.c:314
+#: sm/gpgsm.c:315
 msgid "|FILE|write a server mode log to FILE"
 msgstr "|FILE|skriv en servertilstandslog til FIL"
 
-#: sm/gpgsm.c:319
+#: sm/gpgsm.c:320
 msgid "|FILE|write an audit log to FILE"
 msgstr "|FILE|skriv en revisionslog til FIL"
 
-#: sm/gpgsm.c:322
+#: sm/gpgsm.c:323
 msgid "batch mode: never ask"
 msgstr "kørselstilstand: spørg aldrig"
 
-#: sm/gpgsm.c:323
+#: sm/gpgsm.c:324
 msgid "assume yes on most questions"
 msgstr "forvent ja til de fleste spørgsmål"
 
-#: sm/gpgsm.c:324
+#: sm/gpgsm.c:325
 msgid "assume no on most questions"
 msgstr "forvent nej til de fleste spørgsmål"
 
-#: sm/gpgsm.c:327
+#: sm/gpgsm.c:328
 msgid "|FILE|add keyring to the list of keyrings"
 msgstr "|FILE|tilføj nøglering til nøgleringslisten"
 
-#: sm/gpgsm.c:330
+#: sm/gpgsm.c:331
 msgid "|USER-ID|use USER-ID as default secret key"
 msgstr "|USER-ID|brug BRUGER-ID som hemmelig standardnøgle"
 
-#: sm/gpgsm.c:340 tools/gpgconf-comp.c:837
+#: sm/gpgsm.c:341 dirmngr/dirmngr.c:214 tools/gpgconf-comp.c:841
 msgid "|SPEC|use this keyserver to lookup keys"
 msgstr "|SPEC|brug denne nøgleserver til at slå nøgler op"
 
-#: sm/gpgsm.c:357
+#: sm/gpgsm.c:360
 msgid "|NAME|use cipher algorithm NAME"
 msgstr "|NAME|brug chifferalgoritme NAVN"
 
-#: sm/gpgsm.c:359
+#: sm/gpgsm.c:362
 msgid "|NAME|use message digest algorithm NAME"
 msgstr "|NAME|brug beskedsammendragsalgoritme NAVN"
 
-#: sm/gpgsm.c:570
+#: sm/gpgsm.c:573
 #, fuzzy
 #| msgid "Usage: gpg [options] [files] (-h for help)"
 msgid "Usage: @GPGSM@ [options] [files] (-h for help)"
 msgstr "Brug: gpg [flag] [filer] (-h for hjælp)"
 
-#: sm/gpgsm.c:573
+#: sm/gpgsm.c:576
 #, fuzzy
 #| msgid ""
 #| "Syntax: gpgsm [options] [files]\n"
@@ -9429,51 +9460,31 @@ msgstr ""
 "Sign, check, encrypt eller decrypt med S/MIME-protokollen\n"
 "standardhandling afhænger af inddata\n"
 
-#: sm/gpgsm.c:777
+#: sm/gpgsm.c:784
 #, fuzzy, c-format
 #| msgid "NOTE: won't be able to encrypt to `%s': %s\n"
 msgid "Note: won't be able to encrypt to '%s': %s\n"
 msgstr "BEMÆRK: kan ikke kryptere til »%s«: %s\n"
 
-#: sm/gpgsm.c:788
+#: sm/gpgsm.c:795
 #, fuzzy, c-format
 #| msgid "unknown validation model `%s'\n"
 msgid "unknown validation model '%s'\n"
 msgstr "ukendt valideringsmodel »%s«\n"
 
-#: sm/gpgsm.c:839 dirmngr/ldapserver.c:86
-#, c-format
-msgid "%s:%u: no hostname given\n"
-msgstr "%s:%u: intet værtsnavn angivet\n"
-
-#: sm/gpgsm.c:858 dirmngr/ldapserver.c:105
-#, c-format
-msgid "%s:%u: password given without user\n"
-msgstr "%s:%u: adgangskode angivet uden bruger\n"
-
-#: sm/gpgsm.c:879 dirmngr/ldapserver.c:126
-#, c-format
-msgid "%s:%u: skipping this line\n"
-msgstr "%s:%u: udelader denne linje\n"
-
-#: sm/gpgsm.c:1449
-#, c-format
-msgid "could not parse keyserver\n"
-msgstr "kunne ikke fortolke nøgleserver\n"
-
-#: sm/gpgsm.c:1712
+#: sm/gpgsm.c:1612
 #, fuzzy, c-format
 #| msgid "importing common certificates `%s'\n"
 msgid "importing common certificates '%s'\n"
 msgstr "importerer gængse certifikater »%s«\n"
 
-#: sm/gpgsm.c:1755
+#: sm/gpgsm.c:1655
 #, fuzzy, c-format
 #| msgid "can't sign using `%s': %s\n"
 msgid "can't sign using '%s': %s\n"
 msgstr "kan ikke underskrive med »%s«: %s\n"
 
-#: sm/gpgsm.c:2122
+#: sm/gpgsm.c:2028
 #, c-format
 msgid "invalid command (there is no implicit command)\n"
 msgstr "ugyldig kommando (der er ingen implict kommando)\n"
@@ -9493,7 +9504,7 @@ msgstr "fejl ved lagring af certifikat\n"
 msgid "basic certificate checks failed - not imported\n"
 msgstr "grundlæggende certifikatkontroller mislykkedes - ikke importeret\n"
 
-#: sm/import.c:472 sm/keydb.c:1229 sm/keydb.c:1319
+#: sm/import.c:472 sm/keydb.c:1209 sm/keydb.c:1300
 #, c-format
 msgid "error getting stored flags: %s\n"
 msgstr "fejl ved indhentelse af gemte flag: %s\n"
@@ -9508,27 +9519,27 @@ msgstr "fejl under import af certifikat: %s\n"
 msgid "error reading input: %s\n"
 msgstr "fejl ved læsning af inddata: %s\n"
 
-#: sm/keydb.c:1148
+#: sm/keydb.c:1127
 #, c-format
 msgid "problem looking for existing certificate: %s\n"
 msgstr "problem under udkig efter eksisterende certifikat: %s\n"
 
-#: sm/keydb.c:1160
+#: sm/keydb.c:1139
 #, c-format
 msgid "error finding writable keyDB: %s\n"
 msgstr "fejl under søgning efter skrivbar keyDB (nøgledatabase): %s\n"
 
-#: sm/keydb.c:1168
+#: sm/keydb.c:1147
 #, c-format
 msgid "error storing certificate: %s\n"
 msgstr "fejl ved lagring af certifikat: %s\n"
 
-#: sm/keydb.c:1220
+#: sm/keydb.c:1200
 #, c-format
 msgid "problem re-searching certificate: %s\n"
 msgstr "problem under gensøgning af certifikat: %s\n"
 
-#: sm/keydb.c:1241 sm/keydb.c:1330
+#: sm/keydb.c:1221 sm/keydb.c:1311
 #, c-format
 msgid "error storing flags: %s\n"
 msgstr "fejl ved lagring af flag: %s\n"
@@ -9571,7 +9582,7 @@ msgstr ""
 "\n"
 "%s%sEr du sikker på, at det er hvad du ønsker?"
 
-#: sm/qualified.c:215 sm/verify.c:678
+#: sm/qualified.c:215 sm/verify.c:679
 #, c-format
 msgid ""
 "Note, that this software is not officially approved to create or verify such "
@@ -9623,7 +9634,7 @@ msgstr "[dato ikke angivet]"
 msgid "algorithm:"
 msgstr "algoritme: %s"
 
-#: sm/verify.c:535
+#: sm/verify.c:536
 #, c-format
 msgid ""
 "invalid signature: message digest attribute does not match computed one\n"
@@ -9631,17 +9642,17 @@ msgstr ""
 "ugyldig underskrift: attribut for beskedsammendag matcher ikke den "
 "beregnede\n"
 
-#: sm/verify.c:656
+#: sm/verify.c:657
 #, c-format
 msgid "Good signature from"
 msgstr "God underskrift fra"
 
-#: sm/verify.c:657
+#: sm/verify.c:658
 #, c-format
 msgid "                aka"
 msgstr "     også kendt som"
 
-#: sm/verify.c:675
+#: sm/verify.c:676
 #, c-format
 msgid "This is a qualified signature\n"
 msgstr "Dette er en kvalificeret underskrift\n"
@@ -10336,7 +10347,7 @@ msgid "error retrieving '%s': %s\n"
 msgstr "fejl ved indhentelse af »%s« via %s: %s\n"
 
 #: dirmngr/crlfetch.c:218 dirmngr/ldap-wrapper-ce.c:492
-#: dirmngr/ldap-wrapper.c:884 dirmngr/misc.c:573
+#: dirmngr/ldap-wrapper.c:885 dirmngr/misc.c:573
 #, fuzzy, c-format
 #| msgid "%s: error writing dir record: %s\n"
 msgid "error initializing reader object: %s\n"
@@ -10518,126 +10529,126 @@ msgstr ""
 msgid "looking up '%s'\n"
 msgstr ""
 
-#: dirmngr/dirmngr.c:170
+#: dirmngr/dirmngr.c:171
 msgid "list the contents of the CRL cache"
 msgstr ""
 
-#: dirmngr/dirmngr.c:171
+#: dirmngr/dirmngr.c:172
 #, fuzzy
 #| msgid "|FILE|run commands from FILE on startup"
 msgid "|FILE|load CRL from FILE into cache"
 msgstr "|FILE|kør kommandoer fra FIL ved opstart"
 
-#: dirmngr/dirmngr.c:172
+#: dirmngr/dirmngr.c:173
 msgid "|URL|fetch a CRL from URL"
 msgstr ""
 
-#: dirmngr/dirmngr.c:173
+#: dirmngr/dirmngr.c:174
 #, fuzzy
 #| msgid "pass a command to the dirmngr"
 msgid "shutdown the dirmngr"
 msgstr "send en kommando til dirmngr'en"
 
-#: dirmngr/dirmngr.c:174
+#: dirmngr/dirmngr.c:175
 msgid "flush the cache"
 msgstr ""
 
-#: dirmngr/dirmngr.c:190 tools/gpgconf-comp.c:522 tools/gpgconf-comp.c:741
-#: tools/gpgconf-comp.c:854 tools/gpgconf-comp.c:950
+#: dirmngr/dirmngr.c:191 tools/gpgconf-comp.c:522 tools/gpgconf-comp.c:745
+#: tools/gpgconf-comp.c:858 tools/gpgconf-comp.c:954
 msgid "|FILE|write server mode logs to FILE"
 msgstr "|FILE|skriv servertilstandslogge til FIL"
 
-#: dirmngr/dirmngr.c:191
+#: dirmngr/dirmngr.c:192
 #, fuzzy
 #| msgid "Quit without saving? (y/N) "
 msgid "run without asking a user"
 msgstr "Afslut uden at gemme? (j/N) "
 
-#: dirmngr/dirmngr.c:192
+#: dirmngr/dirmngr.c:193
 msgid "force loading of outdated CRLs"
 msgstr ""
 
-#: dirmngr/dirmngr.c:193
+#: dirmngr/dirmngr.c:194
 #, fuzzy
 #| msgid "allow PKA lookups (DNS requests)"
 msgid "allow sending OCSP requests"
 msgstr "tillad PKA-opslag (DNS-forespørgsler)"
 
-#: dirmngr/dirmngr.c:195
+#: dirmngr/dirmngr.c:196
 msgid "allow online software version check"
 msgstr ""
 
-#: dirmngr/dirmngr.c:196
+#: dirmngr/dirmngr.c:197
 msgid "inhibit the use of HTTP"
 msgstr ""
 
-#: dirmngr/dirmngr.c:197
+#: dirmngr/dirmngr.c:198
 msgid "inhibit the use of LDAP"
 msgstr ""
 
-#: dirmngr/dirmngr.c:199
+#: dirmngr/dirmngr.c:200
 msgid "ignore HTTP CRL distribution points"
 msgstr ""
 
-#: dirmngr/dirmngr.c:201
+#: dirmngr/dirmngr.c:202
 msgid "ignore LDAP CRL distribution points"
 msgstr ""
 
-#: dirmngr/dirmngr.c:203
+#: dirmngr/dirmngr.c:204
 msgid "ignore certificate contained OCSP service URLs"
 msgstr ""
 
-#: dirmngr/dirmngr.c:206
+#: dirmngr/dirmngr.c:207
 msgid "|URL|redirect all HTTP requests to URL"
 msgstr ""
 
-#: dirmngr/dirmngr.c:208
+#: dirmngr/dirmngr.c:209
 msgid "|HOST|use HOST for LDAP queries"
 msgstr ""
 
-#: dirmngr/dirmngr.c:210
+#: dirmngr/dirmngr.c:211
 msgid "do not use fallback hosts with --ldap-proxy"
 msgstr ""
 
-#: dirmngr/dirmngr.c:213
+#: dirmngr/dirmngr.c:216
 #, fuzzy
 #| msgid "|FILE|read options from FILE"
 msgid "|FILE|read LDAP server list from FILE"
 msgstr "|FIL|læs tilvalg fra FIL"
 
-#: dirmngr/dirmngr.c:215
+#: dirmngr/dirmngr.c:218
 msgid "add new servers discovered in CRL distribution points to serverlist"
 msgstr ""
 
-#: dirmngr/dirmngr.c:218 dirmngr/dirmngr_ldap.c:137
+#: dirmngr/dirmngr.c:221
 #, fuzzy
 #| msgid "|N|set maximum PIN cache lifetime to N seconds"
 msgid "|N|set LDAP timeout to N seconds"
 msgstr "|N|angive maksimal livsforløb for PIN-mellemlager til N sekunder"
 
-#: dirmngr/dirmngr.c:221
+#: dirmngr/dirmngr.c:224
 #, fuzzy
 #| msgid "|URL|use keyserver at URL"
 msgid "|URL|use OCSP responder at URL"
 msgstr "|URL|brug nøgleserver på adressen"
 
-#: dirmngr/dirmngr.c:223
+#: dirmngr/dirmngr.c:226
 msgid "|FPR|OCSP response signed by FPR"
 msgstr ""
 
-#: dirmngr/dirmngr.c:229
+#: dirmngr/dirmngr.c:232
 msgid "|N|do not return more than N items in one query"
 msgstr ""
 
-#: dirmngr/dirmngr.c:234
+#: dirmngr/dirmngr.c:237
 msgid "|FILE|use the CA certificates in FILE for HKP over TLS"
 msgstr ""
 
-#: dirmngr/dirmngr.c:236
+#: dirmngr/dirmngr.c:239
 msgid "route all network traffic via Tor"
 msgstr ""
 
-#: dirmngr/dirmngr.c:265
+#: dirmngr/dirmngr.c:268
 #, fuzzy
 #| msgid ""
 #| "@\n"
@@ -10650,13 +10661,13 @@ msgstr ""
 "@\n"
 "(Se manualsiden for en fuldstændig liste over alle kommandoer og tilvalg)\n"
 
-#: dirmngr/dirmngr.c:407
+#: dirmngr/dirmngr.c:415
 #, fuzzy
 #| msgid "Usage: gpgconf [options] (-h for help)"
 msgid "Usage: @DIRMNGR@ [options] (-h for help)"
 msgstr "Brug: gpgconf [tilvalg] (-h for hjælp)"
 
-#: dirmngr/dirmngr.c:409
+#: dirmngr/dirmngr.c:417
 #, fuzzy
 #| msgid ""
 #| "Syntax: gpg-agent [options] [command [args]]\n"
@@ -10668,299 +10679,114 @@ msgstr ""
 "Syntaks: gpg-agent [tilvalg] [kommando [parametre]]\n"
 "Hemmelig nøglehåndtering for GnuPG\n"
 
-#: dirmngr/dirmngr.c:489
+#: dirmngr/dirmngr.c:497
 #, fuzzy, c-format
 #| msgid "invalid debug-level `%s' given\n"
 msgid "valid debug levels are: %s\n"
 msgstr "ugyldigt fejlsøgningsniveau »%s« angivet\n"
 
-#: dirmngr/dirmngr.c:575 tools/gpgconf.c:647 tools/gpgconf.c:682
+#: dirmngr/dirmngr.c:583 tools/gpgconf.c:647 tools/gpgconf.c:682
 #: tools/gpgconf.c:780
 #, fuzzy, c-format
 #| msgid "usage: gpgsm [options] "
 msgid "usage: %s [options] "
 msgstr "brug: gpgsm [tilvalg] "
 
-#: dirmngr/dirmngr.c:1212
+#: dirmngr/dirmngr.c:1249
 #, fuzzy, c-format
 #| msgid "%s not allowed with %s!\n"
 msgid "colons are not allowed in the socket name\n"
 msgstr "%s ikke tilladt med %s!\n"
 
-#: dirmngr/dirmngr.c:1444 dirmngr/server.c:1824
+#: dirmngr/dirmngr.c:1481 dirmngr/server.c:1878
 #, fuzzy, c-format
 #| msgid "renaming `%s' to `%s' failed: %s\n"
 msgid "fetching CRL from '%s' failed: %s\n"
 msgstr "omdøbelse af »%s« til »%s« mislykkedes: %s\n"
 
-#: dirmngr/dirmngr.c:1450 dirmngr/server.c:1830
+#: dirmngr/dirmngr.c:1487 dirmngr/server.c:1884
 #, fuzzy, c-format
 #| msgid "conversion from `%s' to `%s' failed: %s\n"
 msgid "processing CRL from '%s' failed: %s\n"
 msgstr "konvertering fra »%s« til »%s« mislykkedes: %s\n"
 
-#: dirmngr/dirmngr.c:1645
+#: dirmngr/dirmngr.c:1682
 #, fuzzy, c-format
 #| msgid "line too long - skipped\n"
 msgid "%s:%u: line too long - skipped\n"
 msgstr "linje er for lang - udeladt\n"
 
-#: dirmngr/dirmngr.c:1700 dirmngr/dirmngr.c:1784
+#: dirmngr/dirmngr.c:1737 dirmngr/dirmngr.c:1821
 #, fuzzy, c-format
 #| msgid "invalid fingerprint"
 msgid "%s:%u: invalid fingerprint detected\n"
 msgstr "ugyldig fingeraftryk"
 
-#: dirmngr/dirmngr.c:1736 dirmngr/dirmngr.c:1762 tools/gpgconf-comp.c:4191
+#: dirmngr/dirmngr.c:1773 dirmngr/dirmngr.c:1799 tools/gpgconf-comp.c:4199
 #, fuzzy, c-format
 #| msgid "read error in `%s': %s\n"
 msgid "%s:%u: read error: %s\n"
 msgstr "læsefejl i »%s«: %s\n"
 
-#: dirmngr/dirmngr.c:1791
+#: dirmngr/dirmngr.c:1828
 #, c-format
 msgid "%s:%u: garbage at end of line ignored\n"
 msgstr ""
 
-#: dirmngr/dirmngr.c:1860
+#: dirmngr/dirmngr.c:1897
 #, c-format
 msgid "SIGHUP received - re-reading configuration and flushing caches\n"
 msgstr ""
 
-#: dirmngr/dirmngr.c:1900
+#: dirmngr/dirmngr.c:1937
 #, c-format
 msgid "SIGUSR2 received - no action defined\n"
 msgstr ""
 
-#: dirmngr/dirmngr.c:1905
+#: dirmngr/dirmngr.c:1942
 #, c-format
 msgid "SIGTERM received - shutting down ...\n"
 msgstr ""
 
-#: dirmngr/dirmngr.c:1907
+#: dirmngr/dirmngr.c:1944
 #, c-format
 msgid "SIGTERM received - still %d active connections\n"
 msgstr ""
 
-#: dirmngr/dirmngr.c:1912
+#: dirmngr/dirmngr.c:1949
 #, fuzzy, c-format
 #| msgid "not forced"
 msgid "shutdown forced\n"
 msgstr "ikke tvunget"
 
-#: dirmngr/dirmngr.c:1920
+#: dirmngr/dirmngr.c:1957
 #, c-format
 msgid "SIGINT received - immediate shutdown\n"
 msgstr ""
 
-#: dirmngr/dirmngr.c:1927
+#: dirmngr/dirmngr.c:1964
 #, c-format
 msgid "signal %d received - no action defined\n"
 msgstr ""
 
-#: dirmngr/dirmngr_ldap.c:138
-msgid "return all values in a record oriented format"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:141
-msgid "|NAME|ignore host part and connect through NAME"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:142
-#, fuzzy
-#| msgid "|NAME|connect to Assuan socket NAME"
-msgid "|NAME|connect to host NAME"
-msgstr "|NAME|forbind til Assuansokkel NAVN"
-
-#: dirmngr/dirmngr_ldap.c:143
-#, fuzzy
-#| msgid "|N|connect to reader at port N"
-msgid "|N|connect to port N"
-msgstr "|N|forbind til læser på port N"
-
-#: dirmngr/dirmngr_ldap.c:144
-msgid "|NAME|use user NAME for authentication"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:145
-msgid "|PASS|use password PASS for authentication"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:147
-msgid "take password from $DIRMNGR_LDAP_PASS"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:148
-msgid "|STRING|query DN STRING"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:149
-msgid "|STRING|use STRING as filter expression"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:150
-msgid "|STRING|return the attribute STRING"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:211
-#, fuzzy
-#| msgid "Usage: gpg [options] [files] (-h for help)"
-msgid "Usage: dirmngr_ldap [options] [URL] (-h for help)\n"
-msgstr "Brug: gpg [flag] [filer] (-h for hjælp)"
-
-#: dirmngr/dirmngr_ldap.c:214
-msgid ""
-"Syntax: dirmngr_ldap [options] [URL]\n"
-"Internal LDAP helper for Dirmngr\n"
-"Interface and options may change without notice\n"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:340
-#, fuzzy, c-format
-#| msgid "invalid import options\n"
-msgid "invalid port number %d\n"
-msgstr "ugyldige importindstillinger\n"
-
-#: dirmngr/dirmngr_ldap.c:456
-#, c-format
-msgid "scanning result for attribute '%s'\n"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:463 dirmngr/dirmngr_ldap.c:546
-#: dirmngr/dirmngr_ldap.c:570 dirmngr/dirmngr_ldap.c:582
-#: dirmngr/dirmngr_ldap.c:720
-#, fuzzy, c-format
-#| msgid "error writing to %s: %s\n"
-msgid "error writing to stdout: %s\n"
-msgstr "fejl ved skrivning til »%s«: %s\n"
-
-#: dirmngr/dirmngr_ldap.c:480
-#, c-format
-msgid "          available attribute '%s'\n"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:518
-#, fuzzy, c-format
-#| msgid "certificate `%s' not found: %s\n"
-msgid "attribute '%s' not found\n"
-msgstr "certifikat »%s« blev ikke fundet: %s\n"
-
-#: dirmngr/dirmngr_ldap.c:525
-#, c-format
-msgid "found attribute '%s'\n"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:634
-#, fuzzy, c-format
-#| msgid "reading from `%s'\n"
-msgid "processing url '%s'\n"
-msgstr "læser fra »%s«\n"
-
-#: dirmngr/dirmngr_ldap.c:636
-#, fuzzy, c-format
-#| msgid "          w/o user IDs: %lu\n"
-msgid "          user '%s'\n"
-msgstr "      w/o bruger-id'er: %lu\n"
-
-#: dirmngr/dirmngr_ldap.c:638
-#, fuzzy, c-format
-#| msgid "                aka \"%s\""
-msgid "          pass '%s'\n"
-msgstr "       også kendt som »%s«"
-
-#: dirmngr/dirmngr_ldap.c:640
-#, fuzzy, c-format
-#| msgid "          w/o user IDs: %lu\n"
-msgid "          host '%s'\n"
-msgstr "      w/o bruger-id'er: %lu\n"
-
-#: dirmngr/dirmngr_ldap.c:641
-#, fuzzy, c-format
-#| msgid "          not imported: %lu\n"
-msgid "          port %d\n"
-msgstr "      ikke importerede: %lu\n"
-
-#: dirmngr/dirmngr_ldap.c:643
-#, fuzzy, c-format
-#| msgid "                aka \"%s\""
-msgid "            DN '%s'\n"
-msgstr "       også kendt som »%s«"
-
-#: dirmngr/dirmngr_ldap.c:645
-#, c-format
-msgid "        filter '%s'\n"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:650 dirmngr/dirmngr_ldap.c:653
-#, fuzzy, c-format
-#| msgid "                aka \"%s\""
-msgid "          attr '%s'\n"
-msgstr "       også kendt som »%s«"
-
-#: dirmngr/dirmngr_ldap.c:659
-#, fuzzy, c-format
-#| msgid "%s:%u: no hostname given\n"
-msgid "no host name in '%s'\n"
-msgstr "%s:%u: intet værtsnavn angivet\n"
-
-#: dirmngr/dirmngr_ldap.c:664
-#, c-format
-msgid "no attribute given for query '%s'\n"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:670
-#, fuzzy, c-format
-#| msgid "WARNING: Using untrusted key!\n"
-msgid "WARNING: using first attribute only\n"
-msgstr "ADVARSEL: Bruger nøgle uden troværdighed!\n"
-
-#: dirmngr/dirmngr_ldap.c:679
-#, fuzzy, c-format
-#| msgid "renaming `%s' to `%s' failed: %s\n"
-msgid "LDAP init to '%s:%d' failed: %s\n"
-msgstr "omdøbelse af »%s« til »%s« mislykkedes: %s\n"
-
-#: dirmngr/dirmngr_ldap.c:702
-#, fuzzy, c-format
-#| msgid "renaming `%s' to `%s' failed: %s\n"
-msgid "binding to '%s:%d' failed: %s\n"
-msgstr "omdøbelse af »%s« til »%s« mislykkedes: %s\n"
-
-#: dirmngr/dirmngr_ldap.c:729
-#, fuzzy, c-format
-#| msgid "dearmoring failed: %s\n"
-msgid "searching '%s' failed: %s\n"
-msgstr "fjernelse af panser mislykkedes: %s\n"
-
-#: dirmngr/dirmngr_ldap.c:761
-#, fuzzy, c-format
-#| msgid "`%s' is not a JPEG file\n"
-msgid "'%s' is not an LDAP URL\n"
-msgstr "»%s« er ikke en JPEG-fil\n"
-
-#: dirmngr/dirmngr_ldap.c:767
-#, c-format
-msgid "'%s' is an invalid LDAP URL\n"
-msgstr ""
-
-#: dirmngr/http.c:1987 dirmngr/ocsp.c:255
+#: dirmngr/http.c:1993 dirmngr/ocsp.c:255
 #, fuzzy, c-format
 #| msgid "error running `%s': exit status %d\n"
 msgid "error accessing '%s': http status %u\n"
 msgstr "fejl ved kørsel af »%s«: afslutningsstatus %d\n"
 
-#: dirmngr/http.c:3629 dirmngr/ocsp.c:229
+#: dirmngr/http.c:3644 dirmngr/ocsp.c:229
 #, c-format
 msgid "URL '%s' redirected to '%s' (%u)\n"
 msgstr ""
 
-#: dirmngr/http.c:3635 dirmngr/ocsp.c:246
+#: dirmngr/http.c:3650 dirmngr/ocsp.c:246
 #, fuzzy, c-format
 #| msgid "too many cipher preferences\n"
 msgid "too many redirections\n"
 msgstr "for mange chifferpræferencer\n"
 
-#: dirmngr/http.c:3747
+#: dirmngr/http.c:3762
 #, fuzzy, c-format
 #| msgid "writing to `%s'\n"
 msgid "redirection changed to '%s'\n"
@@ -11004,33 +10830,54 @@ msgstr "ventning på at proces %d skulle terminere mislykkedes: %s\n"
 msgid "ldap wrapper %d stalled - killing\n"
 msgstr ""
 
-#: dirmngr/ldap.c:91
+#: dirmngr/ldap.c:92
 #, c-format
 msgid "invalid char 0x%02x in host name - not added\n"
 msgstr ""
 
-#: dirmngr/ldap.c:95
+#: dirmngr/ldap.c:96
 #, fuzzy, c-format
 #| msgid "sending key %s to %s server %s\n"
 msgid "adding '%s:%d' to the ldap server list\n"
 msgstr "sender nøgle %s til %s server %s\n"
 
-#: dirmngr/ldap.c:98 dirmngr/misc.c:512
+#: dirmngr/ldap.c:99 dirmngr/misc.c:512
 #, fuzzy, c-format
 #| msgid "select failed: %s\n"
 msgid "malloc failed: %s\n"
 msgstr "select mislykkedes: %s\n"
 
-#: dirmngr/ldap.c:627
+#: dirmngr/ldap.c:221
+#, fuzzy, c-format
+#| msgid "`%s' is not a JPEG file\n"
+msgid "'%s' is not an LDAP URL\n"
+msgstr "»%s« er ikke en JPEG-fil\n"
+
+#: dirmngr/ldap.c:227 dirmngr/ldap.c:233
 #, c-format
-msgid "start_cert_fetch: invalid pattern '%s'\n"
+msgid "'%s' is an invalid LDAP URL\n"
 msgstr ""
 
-#: dirmngr/ldap.c:839
+#: dirmngr/ldap.c:969
 #, c-format
 msgid "ldap_search hit the size limit of the server\n"
 msgstr ""
 
+#: dirmngr/ldapserver.c:117
+#, c-format
+msgid "%s:%u: password given without user\n"
+msgstr "%s:%u: adgangskode angivet uden bruger\n"
+
+#: dirmngr/ldapserver.c:181
+#, c-format
+msgid "%s:%u: ignoring unknown flag '%s'\n"
+msgstr ""
+
+#: dirmngr/ldapserver.c:203
+#, c-format
+msgid "%s:%u: skipping this line\n"
+msgstr "%s:%u: udelader denne linje\n"
+
 #: dirmngr/misc.c:172
 #, fuzzy, c-format
 #| msgid "%s: invalid file version %d\n"
@@ -11235,80 +11082,76 @@ msgstr ""
 msgid "assuan_inquire(%s) failed: %s\n"
 msgstr "afsendelse af linje mislykkedes: %s\n"
 
-#: dirmngr/server.c:1158
-msgid "ldapserver missing"
-msgstr ""
-
-#: dirmngr/server.c:1224
+#: dirmngr/server.c:1277
 msgid "serialno missing in cert ID"
 msgstr ""
 
-#: dirmngr/server.c:1387 dirmngr/server.c:1473 dirmngr/server.c:1909
-#: dirmngr/server.c:1980 dirmngr/server.c:2552 dirmngr/server.c:2567
+#: dirmngr/server.c:1440 dirmngr/server.c:1526 dirmngr/server.c:1963
+#: dirmngr/server.c:2034 dirmngr/server.c:2662 dirmngr/server.c:2677
 #, fuzzy, c-format
 #| msgid "sending line failed: %s\n"
 msgid "assuan_inquire failed: %s\n"
 msgstr "afsendelse af linje mislykkedes: %s\n"
 
-#: dirmngr/server.c:1516
+#: dirmngr/server.c:1569
 #, fuzzy, c-format
 #| msgid "select failed: %s\n"
 msgid "fetch_cert_by_url failed: %s\n"
 msgstr "select mislykkedes: %s\n"
 
-#: dirmngr/server.c:1528 dirmngr/server.c:1559 dirmngr/server.c:1718
+#: dirmngr/server.c:1581 dirmngr/server.c:1612 dirmngr/server.c:1772
 #, fuzzy, c-format
 #| msgid "error sending %s command: %s\n"
 msgid "error sending data: %s\n"
 msgstr "fejl under afsendelse af %s-kommando: %s\n"
 
-#: dirmngr/server.c:1666
+#: dirmngr/server.c:1720
 #, fuzzy, c-format
 #| msgid "select failed: %s\n"
 msgid "start_cert_fetch failed: %s\n"
 msgstr "select mislykkedes: %s\n"
 
-#: dirmngr/server.c:1699
+#: dirmngr/server.c:1753
 #, fuzzy, c-format
 #| msgid "select failed: %s\n"
 msgid "fetch_next_cert failed: %s\n"
 msgstr "select mislykkedes: %s\n"
 
-#: dirmngr/server.c:1726
+#: dirmngr/server.c:1780
 #, c-format
 msgid "max_replies %d exceeded\n"
 msgstr ""
 
-#: dirmngr/server.c:2856
+#: dirmngr/server.c:2966
 #, fuzzy, c-format
 #| msgid "cannot allocate outfile string: %s\n"
 msgid "can't allocate control structure: %s\n"
 msgstr "kan ikke allokere outfile-streng: %s\n"
 
-#: dirmngr/server.c:2867
+#: dirmngr/server.c:2977
 #, fuzzy, c-format
 #| msgid "failed to create stream from socket: %s\n"
 msgid "failed to allocate assuan context: %s\n"
 msgstr "kunne ikke oprette strøm fra sokkel: %s\n"
 
-#: dirmngr/server.c:2888
+#: dirmngr/server.c:2998
 #, fuzzy, c-format
 #| msgid "failed to initialize the TrustDB: %s\n"
 msgid "failed to initialize the server: %s\n"
 msgstr "kunne ikke initialisere TrustDB: %s\n"
 
-#: dirmngr/server.c:2896
+#: dirmngr/server.c:3006
 #, fuzzy, c-format
 #| msgid "failed to store the creation date: %s\n"
 msgid "failed to the register commands with Assuan: %s\n"
 msgstr "kunne ikke gemme oprettelsesdatoen: %s\n"
 
-#: dirmngr/server.c:2929
+#: dirmngr/server.c:3039
 #, c-format
 msgid "Assuan accept problem: %s\n"
 msgstr ""
 
-#: dirmngr/server.c:2948
+#: dirmngr/server.c:3058
 #, fuzzy, c-format
 #| msgid "signing failed: %s\n"
 msgid "Assuan processing failed: %s\n"
@@ -11465,21 +11308,21 @@ msgid "error sending standard options: %s\n"
 msgstr "fejl under afsendelse af standardtilvalg: %s\n"
 
 #: tools/gpgconf-comp.c:481 tools/gpgconf-comp.c:617 tools/gpgconf-comp.c:692
-#: tools/gpgconf-comp.c:804 tools/gpgconf-comp.c:906
+#: tools/gpgconf-comp.c:808 tools/gpgconf-comp.c:910
 msgid "Options controlling the diagnostic output"
 msgstr "Tilvalg der kontrollerer det diagnostiske resultat"
 
 #: tools/gpgconf-comp.c:494 tools/gpgconf-comp.c:630 tools/gpgconf-comp.c:705
-#: tools/gpgconf-comp.c:817 tools/gpgconf-comp.c:929
+#: tools/gpgconf-comp.c:821 tools/gpgconf-comp.c:933
 msgid "Options controlling the configuration"
 msgstr "Tilvalg der kontrollerer konfigurationen"
 
-#: tools/gpgconf-comp.c:517 tools/gpgconf-comp.c:659 tools/gpgconf-comp.c:736
-#: tools/gpgconf-comp.c:849 tools/gpgconf-comp.c:942
+#: tools/gpgconf-comp.c:517 tools/gpgconf-comp.c:659 tools/gpgconf-comp.c:740
+#: tools/gpgconf-comp.c:853 tools/gpgconf-comp.c:946
 msgid "Options useful for debugging"
 msgstr "Tilvalg nyttige for fejlsøgning"
 
-#: tools/gpgconf-comp.c:530 tools/gpgconf-comp.c:669 tools/gpgconf-comp.c:862
+#: tools/gpgconf-comp.c:530 tools/gpgconf-comp.c:669 tools/gpgconf-comp.c:866
 msgid "Options controlling the security"
 msgstr "Tilvalg der kontrollerer sikkerheden"
 
@@ -11529,11 +11372,11 @@ msgstr "tillad ikke genbrug af gamle adgangsfraser"
 msgid "|N|set the Pinentry timeout to N seconds"
 msgstr "|N|angive maksimal livsforløb for PIN-mellemlager til N sekunder"
 
-#: tools/gpgconf-comp.c:707 tools/gpgconf-comp.c:819
+#: tools/gpgconf-comp.c:707 tools/gpgconf-comp.c:823
 msgid "|NAME|use NAME as default secret key"
 msgstr "|NAME|brug NAVN som hemmelig standardnøgle"
 
-#: tools/gpgconf-comp.c:710 tools/gpgconf-comp.c:822
+#: tools/gpgconf-comp.c:710 tools/gpgconf-comp.c:826
 msgid "|NAME|encrypt to user ID NAME as well"
 msgstr "|NAME|krypter også til bruger-id-NAVN"
 
@@ -11541,140 +11384,140 @@ msgstr "|NAME|krypter også til bruger-id-NAVN"
 msgid "|SPEC|set up email aliases"
 msgstr "|SPEC|opsæt e-post-aliasser"
 
-#: tools/gpgconf-comp.c:749 tools/gpgconf-comp.c:981
+#: tools/gpgconf-comp.c:753 tools/gpgconf-comp.c:985
 msgid "Configuration for Keyservers"
 msgstr "Konfiguration for nøgleservere"
 
-#: tools/gpgconf-comp.c:751 tools/gpgconf-comp.c:983
+#: tools/gpgconf-comp.c:755 tools/gpgconf-comp.c:987
 msgid "|URL|use keyserver at URL"
 msgstr "|URL|brug nøgleserver på adressen"
 
-#: tools/gpgconf-comp.c:754
+#: tools/gpgconf-comp.c:758
 msgid "allow PKA lookups (DNS requests)"
 msgstr "tillad PKA-opslag (DNS-forespørgsler)"
 
-#: tools/gpgconf-comp.c:757
+#: tools/gpgconf-comp.c:761
 msgid "|MECHANISMS|use MECHANISMS to locate keys by mail address"
 msgstr "|MECHANISMS|brug MEKANISMER til at finde nøgler efter postadresser"
 
-#: tools/gpgconf-comp.c:760
+#: tools/gpgconf-comp.c:764
 #, fuzzy
 #| msgid "import keys from a keyserver"
 msgid "import missing key from a signature"
 msgstr "importer nøgler fra en nøgleserver"
 
-#: tools/gpgconf-comp.c:763
+#: tools/gpgconf-comp.c:767
 #, fuzzy
 #| msgid "list and check key signatures"
 msgid "include the public key in signatures"
 msgstr "vis og kontroller nøgleunderskrifter"
 
-#: tools/gpgconf-comp.c:770 tools/gpgconf-comp.c:831
+#: tools/gpgconf-comp.c:774 tools/gpgconf-comp.c:835
 msgid "disable all access to the dirmngr"
 msgstr "deaktiver al adgang til dirmngr"
 
-#: tools/gpgconf-comp.c:834
+#: tools/gpgconf-comp.c:838
 msgid "|NAME|use encoding NAME for PKCS#12 passphrases"
 msgstr "|NAME|brug kodnings-NAVN for PKCS#12-adgangsfraser"
 
-#: tools/gpgconf-comp.c:870
+#: tools/gpgconf-comp.c:874
 msgid "do not check CRLs for root certificates"
 msgstr "kontroller ikke CRL'er for rodcertifikater"
 
-#: tools/gpgconf-comp.c:919
+#: tools/gpgconf-comp.c:923
 msgid "Options controlling the format of the output"
 msgstr "Tilvalg der kontrollerer formatet for resultatet"
 
-#: tools/gpgconf-comp.c:961
+#: tools/gpgconf-comp.c:965
 msgid "Options controlling the interactivity and enforcement"
 msgstr "Tilvalg der kontrollerer interaktiviteten og tvang"
 
-#: tools/gpgconf-comp.c:974
+#: tools/gpgconf-comp.c:978
 #, fuzzy
 #| msgid "Options controlling the security"
 msgid "Options controlling the use of Tor"
 msgstr "Tilvalg der kontrollerer sikkerheden"
 
-#: tools/gpgconf-comp.c:988
+#: tools/gpgconf-comp.c:992
 msgid "Configuration for HTTP servers"
 msgstr "Konfiguration for HTTP-servere"
 
-#: tools/gpgconf-comp.c:999
+#: tools/gpgconf-comp.c:1003
 msgid "use system's HTTP proxy setting"
 msgstr "brug systemets HTTP-proxyopsætning"
 
-#: tools/gpgconf-comp.c:1004
+#: tools/gpgconf-comp.c:1008
 msgid "Configuration of LDAP servers to use"
 msgstr "Konfiguraiton af LDAP-servere der skal bruges"
 
-#: tools/gpgconf-comp.c:1033
+#: tools/gpgconf-comp.c:1037
 msgid "LDAP server list"
 msgstr "LDAP-serverliste"
 
-#: tools/gpgconf-comp.c:1041
+#: tools/gpgconf-comp.c:1045
 msgid "Configuration for OCSP"
 msgstr "Konfiguration for OCSP"
 
-#: tools/gpgconf-comp.c:1094
+#: tools/gpgconf-comp.c:1098
 msgid "OpenPGP"
 msgstr ""
 
-#: tools/gpgconf-comp.c:1095
+#: tools/gpgconf-comp.c:1099
 msgid "Private Keys"
 msgstr ""
 
-#: tools/gpgconf-comp.c:1096
+#: tools/gpgconf-comp.c:1100
 msgid "Smartcards"
 msgstr ""
 
-#: tools/gpgconf-comp.c:1097
+#: tools/gpgconf-comp.c:1101
 msgid "S/MIME"
 msgstr ""
 
-#: tools/gpgconf-comp.c:1098
+#: tools/gpgconf-comp.c:1102
 msgid "Network"
 msgstr ""
 
-#: tools/gpgconf-comp.c:1099
+#: tools/gpgconf-comp.c:1103
 #, fuzzy
 #| msgid "Bad Passphrase"
 msgid "Passphrase Entry"
 msgstr "Ugyldig adgangsfrase"
 
-#: tools/gpgconf-comp.c:1278
+#: tools/gpgconf-comp.c:1282
 #, fuzzy
 #| msgid "Component not found"
 msgid "Component not suitable for launching"
 msgstr "Komponent blev ikke fundet"
 
-#: tools/gpgconf-comp.c:1284
+#: tools/gpgconf-comp.c:1288
 #, fuzzy, c-format
 #| msgid "External verification of component %s failed"
 msgid "Configuration file of component %s is broken\n"
 msgstr "Ekstern verifikation af komponent %s mislykkedes"
 
-#: tools/gpgconf-comp.c:1287
+#: tools/gpgconf-comp.c:1291
 #, fuzzy, c-format
 #| msgid "Please use the command \"toggle\" first.\n"
 msgid "Note: Use the command \"%s%s\" to get details.\n"
 msgstr "Brug venligst kommandoen »toggle« først.\n"
 
-#: tools/gpgconf-comp.c:3446
+#: tools/gpgconf-comp.c:3454
 #, c-format
 msgid "External verification of component %s failed"
 msgstr "Ekstern verifikation af komponent %s mislykkedes"
 
-#: tools/gpgconf-comp.c:3597
+#: tools/gpgconf-comp.c:3605
 msgid "Note that group specifications are ignored\n"
 msgstr "Bemærk at gruppespecifikationer ignoreres\n"
 
-#: tools/gpgconf-comp.c:4195
+#: tools/gpgconf-comp.c:4203
 #, fuzzy, c-format
 #| msgid "error closing %s: %s\n"
 msgid "error closing '%s'\n"
 msgstr "fejl ved lukning af %s: %s\n"
 
-#: tools/gpgconf-comp.c:4197
+#: tools/gpgconf-comp.c:4205
 #, fuzzy, c-format
 #| msgid "error in `%s': %s\n"
 msgid "error parsing '%s'\n"
@@ -11798,6 +11641,105 @@ msgstr ""
 "Syntaks: gpg-check-pattern [tilvalg] mønsterfil\n"
 "Kontroller en adgangsfrase angivet på stdin mod mønsterfilen\n"
 
+#~ msgid "requesting key %s from %s server %s\n"
+#~ msgstr "anmoder om nøgle %s fra %s server %s\n"
+
+#~ msgid "%s:%u: no hostname given\n"
+#~ msgstr "%s:%u: intet værtsnavn angivet\n"
+
+#~ msgid "could not parse keyserver\n"
+#~ msgstr "kunne ikke fortolke nøgleserver\n"
+
+#, fuzzy
+#~| msgid "|NAME|connect to Assuan socket NAME"
+#~ msgid "|NAME|connect to host NAME"
+#~ msgstr "|NAME|forbind til Assuansokkel NAVN"
+
+#, fuzzy
+#~| msgid "|N|connect to reader at port N"
+#~ msgid "|N|connect to port N"
+#~ msgstr "|N|forbind til læser på port N"
+
+#, fuzzy
+#~| msgid "Usage: gpg [options] [files] (-h for help)"
+#~ msgid "Usage: dirmngr_ldap [options] [URL] (-h for help)\n"
+#~ msgstr "Brug: gpg [flag] [filer] (-h for hjælp)"
+
+#, fuzzy
+#~| msgid "invalid import options\n"
+#~ msgid "invalid port number %d\n"
+#~ msgstr "ugyldige importindstillinger\n"
+
+#, fuzzy
+#~| msgid "error writing to %s: %s\n"
+#~ msgid "error writing to stdout: %s\n"
+#~ msgstr "fejl ved skrivning til »%s«: %s\n"
+
+#, fuzzy
+#~| msgid "certificate `%s' not found: %s\n"
+#~ msgid "attribute '%s' not found\n"
+#~ msgstr "certifikat »%s« blev ikke fundet: %s\n"
+
+#, fuzzy
+#~| msgid "reading from `%s'\n"
+#~ msgid "processing url '%s'\n"
+#~ msgstr "læser fra »%s«\n"
+
+#, fuzzy
+#~| msgid "          w/o user IDs: %lu\n"
+#~ msgid "          user '%s'\n"
+#~ msgstr "      w/o bruger-id'er: %lu\n"
+
+#, fuzzy
+#~| msgid "                aka \"%s\""
+#~ msgid "          pass '%s'\n"
+#~ msgstr "       også kendt som »%s«"
+
+#, fuzzy
+#~| msgid "          w/o user IDs: %lu\n"
+#~ msgid "          host '%s'\n"
+#~ msgstr "      w/o bruger-id'er: %lu\n"
+
+#, fuzzy
+#~| msgid "          not imported: %lu\n"
+#~ msgid "          port %d\n"
+#~ msgstr "      ikke importerede: %lu\n"
+
+#, fuzzy
+#~| msgid "                aka \"%s\""
+#~ msgid "            DN '%s'\n"
+#~ msgstr "       også kendt som »%s«"
+
+#, fuzzy
+#~| msgid "                aka \"%s\""
+#~ msgid "          attr '%s'\n"
+#~ msgstr "       også kendt som »%s«"
+
+#, fuzzy
+#~| msgid "%s:%u: no hostname given\n"
+#~ msgid "no host name in '%s'\n"
+#~ msgstr "%s:%u: intet værtsnavn angivet\n"
+
+#, fuzzy
+#~| msgid "WARNING: Using untrusted key!\n"
+#~ msgid "WARNING: using first attribute only\n"
+#~ msgstr "ADVARSEL: Bruger nøgle uden troværdighed!\n"
+
+#, fuzzy
+#~| msgid "renaming `%s' to `%s' failed: %s\n"
+#~ msgid "LDAP init to '%s:%d' failed: %s\n"
+#~ msgstr "omdøbelse af »%s« til »%s« mislykkedes: %s\n"
+
+#, fuzzy
+#~| msgid "renaming `%s' to `%s' failed: %s\n"
+#~ msgid "binding to '%s:%d' failed: %s\n"
+#~ msgstr "omdøbelse af »%s« til »%s« mislykkedes: %s\n"
+
+#, fuzzy
+#~| msgid "dearmoring failed: %s\n"
+#~ msgid "searching '%s' failed: %s\n"
+#~ msgstr "fjernelse af panser mislykkedes: %s\n"
+
 #, fuzzy
 #~| msgid "NOTE: old default options file `%s' ignored\n"
 #~ msgid "Note: old default options file '%s' ignored\n"
index dcb1965..d39879b 100644 (file)
Binary files a/po/de.gmo and b/po/de.gmo differ
index 3b55fdd..11c8d3f 100644 (file)
--- a/po/de.po
+++ b/po/de.po
@@ -9,8 +9,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: gnupg-2.1.0\n"
 "Report-Msgid-Bugs-To: translations@gnupg.org\n"
-"POT-Creation-Date: 2021-01-11 18:47+0100\n"
-"PO-Revision-Date: 2020-12-21 15:31+0100\n"
+"POT-Creation-Date: 2021-06-10 18:59+0200\n"
+"PO-Revision-Date: 2021-06-08 11:05+0200\n"
 "Last-Translator: Werner Koch <wk@gnupg.org>\n"
 "Language-Team: German <de@li.org>\n"
 "Language: de\n"
@@ -57,16 +57,16 @@ msgstr "Im Passwordmanager _speichern"
 #: agent/call-pinentry.c:535
 msgid "Do you really want to make your passphrase visible on the screen?"
 msgstr ""
-"Möchten Sie die eingegebene Passphrase wirklich auf dem Bildschirm sichtbar "
+"Möchten Sie das eingegebene Passwort wirklich auf dem Bildschirm sichtbar "
 "machen?"
 
 #: agent/call-pinentry.c:537
 msgid "|pinentry-tt|Make passphrase visible"
-msgstr "Die Passphrase sichtbar machen"
+msgstr "Das Passwort sichtbar machen"
 
 #: agent/call-pinentry.c:538
 msgid "|pinentry-tt|Hide passphrase"
-msgstr "Passphrase unsichtbar machen"
+msgstr "Das Passwort unsichtbar machen"
 
 #. TRANSLATORS: This string is displayed by Pinentry as the label
 #. for the quality bar.
@@ -83,7 +83,7 @@ msgstr "Qualität:"
 #: agent/call-pinentry.c:891
 msgid "pinentry.qualitybar.tooltip"
 msgstr ""
-"Die Qualität der Passphrase, die Sie oben eingegeben haben.\n"
+"Die Qualität des Passwortes, welches Sie oben eingegeben haben.\n"
 "Bitte fragen sie Ihren Systembeauftragten nach den\n"
 "Kriterien für die Messung der Qualität."
 
@@ -100,7 +100,7 @@ msgid ""
 "Please enter your passphrase, so that the secret key can be unlocked for "
 "this session"
 msgstr ""
-"Bitte geben Sie Ihre Passphrase ein, so daß der geheime Schlüssel benutzt "
+"Bitte geben Sie Ihr Passwort ein, so daß der geheime Schlüssel benutzt "
 "werden kann."
 
 #: agent/call-pinentry.c:1080 agent/call-pinentry.c:1285
@@ -110,10 +110,10 @@ msgstr "PIN:"
 #: agent/call-pinentry.c:1080 agent/call-pinentry.c:1285
 #: agent/protect-tool.c:724
 msgid "Passphrase:"
-msgstr "Passphrase:"
+msgstr "Passwort:"
 
 #: agent/call-pinentry.c:1107 agent/call-pinentry.c:1359
-#: agent/command-ssh.c:3130 agent/genkey.c:416
+#: agent/command-ssh.c:3140 agent/genkey.c:416
 msgid "does not match - try again"
 msgstr "Keine Übereinstimmung - bitte nochmal versuchen."
 
@@ -140,7 +140,7 @@ msgstr "Die PIN ist zu lang"
 
 #: agent/call-pinentry.c:1152 agent/call-pinentry.c:1402
 msgid "Passphrase too long"
-msgstr "Das Mantra (Passphrase) ist zu lang!"
+msgstr "Das Passwort ist zu lang!"
 
 #: agent/call-pinentry.c:1160 agent/call-pinentry.c:1410
 msgid "Invalid characters in PIN"
@@ -156,39 +156,39 @@ msgstr "Falsche PIN!"
 
 #: agent/call-pinentry.c:1184 agent/call-pinentry.c:1433
 msgid "Bad Passphrase"
-msgstr "Falsche Passphrase!"
+msgstr "Falsches Passwort!"
 
 #: agent/command-ssh.c:665 agent/command-ssh.c:754
 #, c-format
 msgid "ssh keys greater than %d bits are not supported\n"
 msgstr "SSH Schlüssel von mehr als %d Bits werden nicht unterstützt\n"
 
-#: agent/command-ssh.c:862 common/dotlock.c:852 g10/card-util.c:932
-#: g10/exec.c:546 g10/export.c:1320 g10/gpg.c:1352 g10/keygen.c:4998
-#: g10/keyring.c:1322 g10/keyring.c:1637 g10/openfile.c:291 g10/sign.c:1009
-#: g10/sign.c:1323 g10/tdbio.c:753
+#: agent/command-ssh.c:862 common/dotlock.c:852 g10/card-util.c:933
+#: g10/exec.c:554 g10/export.c:1320 g10/gpg.c:1360 g10/keygen.c:4998
+#: g10/keyring.c:1322 g10/keyring.c:1637 g10/openfile.c:291 g10/sign.c:1008
+#: g10/sign.c:1322 g10/tdbio.c:753
 #, c-format
 msgid "can't create '%s': %s\n"
 msgstr "'%s' kann nicht erzeugt werden: %s\n"
 
-#: agent/command-ssh.c:874 common/helpfile.c:57 g10/card-util.c:889
+#: agent/command-ssh.c:874 common/helpfile.c:57 g10/card-util.c:890
 #: g10/dearmor.c:59 g10/dearmor.c:106 g10/decrypt.c:65 g10/decrypt.c:136
-#: g10/decrypt.c:153 g10/encrypt.c:180 g10/encrypt.c:543 g10/gpg.c:1353
-#: g10/import.c:352 g10/import.c:536 g10/import.c:764 g10/keygen.c:4036
+#: g10/decrypt.c:153 g10/encrypt.c:180 g10/encrypt.c:543 g10/gpg.c:1361
+#: g10/import.c:364 g10/import.c:548 g10/import.c:776 g10/keygen.c:4036
 #: g10/keyring.c:1663 g10/openfile.c:195 g10/openfile.c:209 g10/plaintext.c:128
-#: g10/plaintext.c:649 g10/sign.c:991 g10/sign.c:1202 g10/sign.c:1307
-#: g10/sign.c:1452 g10/tdbdump.c:143 g10/tdbdump.c:151 g10/tdbio.c:758
-#: g10/tdbio.c:829 g10/verify.c:96 g10/verify.c:160 sm/gpgsm.c:2219
-#: sm/gpgsm.c:2249 sm/gpgsm.c:2287 sm/qualified.c:66 dirmngr/certcache.c:396
+#: g10/plaintext.c:649 g10/sign.c:990 g10/sign.c:1201 g10/sign.c:1306
+#: g10/sign.c:1451 g10/tdbdump.c:143 g10/tdbdump.c:151 g10/tdbio.c:758
+#: g10/tdbio.c:829 g10/verify.c:96 g10/verify.c:160 sm/gpgsm.c:2125
+#: sm/gpgsm.c:2155 sm/gpgsm.c:2193 sm/qualified.c:66 dirmngr/certcache.c:396
 #: dirmngr/certcache.c:476 dirmngr/certcache.c:478 dirmngr/crlcache.c:2588
-#: dirmngr/dirmngr.c:1722
+#: dirmngr/dirmngr.c:1759
 #, c-format
 msgid "can't open '%s': %s\n"
 msgstr "'%s' kann nicht geöffnet werden: %s\n"
 
 #: agent/command-ssh.c:2385 agent/command-ssh.c:2431 agent/command-ssh.c:2449
-#: agent/command-ssh.c:2601 g10/card-util.c:687 g10/card-util.c:708
-#: g10/skclist.c:430
+#: agent/command-ssh.c:2601 g10/card-util.c:688 g10/card-util.c:709
+#: g10/skclist.c:435
 #, c-format
 msgid "error getting serial number of card: %s\n"
 msgstr "Fehler beim Holen der Karten-Seriennummer: %s\n"
@@ -213,7 +213,7 @@ msgstr "keine passender Kartenschlüssel gefunden: %s\n"
 msgid "error getting list of cards: %s\n"
 msgstr "Fehler beim Holen der Liste der Karten: %s\n"
 
-#: agent/command-ssh.c:2765
+#: agent/command-ssh.c:2775
 #, c-format
 msgid ""
 "An ssh process requested the use of key%%0A  %s%%0A  (%s)%%0ADo you want to "
@@ -222,36 +222,35 @@ msgstr ""
 "Ein SSH Processs möchte folgenden Schlüssel verwenden:%%0A  %s%%0A  "
 "(%s)%%0AErlauben Sie dies?"
 
-#: agent/command-ssh.c:2772
+#: agent/command-ssh.c:2782
 msgid "Allow"
 msgstr "Erlauben"
 
-#: agent/command-ssh.c:2772
+#: agent/command-ssh.c:2782
 msgid "Deny"
 msgstr "Verweigern"
 
-#: agent/command-ssh.c:2781
+#: agent/command-ssh.c:2791
 #, c-format
 msgid "Please enter the passphrase for the ssh key%%0A  %F%%0A  (%c)"
 msgstr ""
-"Bitte geben Sie die Passphrase für den SSH-Schlüssel%%0A  %F%%0A  "
-"(%c)%%0Aein."
+"Bitte geben Sie das Passwort für den SSH-Schlüssel%%0A  %F%%0A  (%c)%%0Aein."
 
-#: agent/command-ssh.c:3058 agent/genkey.c:351
+#: agent/command-ssh.c:3068 agent/genkey.c:351
 msgid "Please re-enter this passphrase"
-msgstr "Bitte geben Sie die Passphrase noch einmal ein:"
+msgstr "Bitte geben Sie das Passwort noch einmal ein:"
 
-#: agent/command-ssh.c:3085
+#: agent/command-ssh.c:3095
 #, c-format
 msgid ""
 "Please enter a passphrase to protect the received secret key%%0A   %s%%0A   "
 "%s%%0Awithin gpg-agent's key storage"
 msgstr ""
-"Bitte geben Sie eine Passphrase ein, um den empfangenen geheimen\n"
+"Bitte geben Sie ein Passwort ein, um den empfangenen geheimen\n"
 "Schlüssel%%0A   %s%%0A  %s%%0Aim Schlüsselspeicher des Gpg-Agenten zu "
 "schützen."
 
-#: agent/command-ssh.c:3667
+#: agent/command-ssh.c:3677
 #, c-format
 msgid "failed to create stream from socket: %s\n"
 msgstr "Das Erzeugen eines Datenstroms aus dem Socket schlug fehl: %s\n"
@@ -329,7 +328,7 @@ msgstr "Fehler beim Schreiben auf eine temporäre Datei: %s\n"
 
 #: agent/genkey.c:158 agent/genkey.c:164
 msgid "Enter new passphrase"
-msgstr "Neue Passphrase eingeben"
+msgstr "Neues Passwort eingeben"
 
 #: agent/genkey.c:172
 msgid "Take this one anyway"
@@ -340,8 +339,7 @@ msgstr "Diese trotzdem benutzen"
 msgid ""
 "You have not entered a passphrase!%0AAn empty passphrase is not allowed."
 msgstr ""
-"Sie haben keine Passphrase eingegeben!%0AEine leere Passphrase ist nicht "
-"erlaubt."
+"Sie haben kein Passwort eingegeben!%0AEine leeres Passwort ist nicht erlaubt."
 
 #: agent/genkey.c:204
 #, c-format
@@ -349,9 +347,9 @@ msgid ""
 "You have not entered a passphrase - this is in general a bad idea!%0APlease "
 "confirm that you do not want to have any protection on your key."
 msgstr ""
-"Sie möchten keine Passphrase - Dies ist *nicht* zu empfehlen!%0ABitte\n"
-"bestätigen Sie, daß sie auf jeden Schutz Ihres privaten Schlüssels\n"
-"verzichten."
+"Sie möchten kein Passwort - Dies ist nicht unbedingt zu empfehlen!%0A\n"
+"Bitte bestätigen Sie, daß sie auf den lokalen Schutz Ihres privaten\n"
+"Schlüssels verzichten."
 
 #: agent/genkey.c:216
 msgid "Yes, protection is not needed"
@@ -361,8 +359,8 @@ msgstr "Ja, ein Schutz ist nicht notwendig"
 #, c-format
 msgid "A passphrase should be at least %u character long."
 msgid_plural "A passphrase should be at least %u characters long."
-msgstr[0] "Eine Passphrase sollte mindestens %u Zeichen lang sein."
-msgstr[1] "Eine Passphrase sollte mindestens %u Zeichen lang sein."
+msgstr[0] "Ein Passwort sollte mindestens %u Zeichen lang sein."
+msgstr[1] "Ein Passwort sollte mindestens %u Zeichen lang sein."
 
 #: agent/genkey.c:252
 #, c-format
@@ -370,31 +368,31 @@ msgid "A passphrase should contain at least %u digit or%%0Aspecial character."
 msgid_plural ""
 "A passphrase should contain at least %u digits or%%0Aspecial characters."
 msgstr[0] ""
-"Eine Passphrase sollte mindestens %u Sonderzeichen oder%%0Aeine Ziffer "
+"Ein Passwort sollte mindestens %u Sonderzeichen oder%%0Aeine Ziffer "
 "enthalten."
 msgstr[1] ""
-"Eine Passphrase sollte mindestens %u Sonderzeichen oder%%0AZiffern enthalten."
+"Ein Passwort sollte mindestens %u Sonderzeichen oder%%0AZiffern enthalten."
 
 #: agent/genkey.c:278
 #, c-format
 msgid "A passphrase may not be a known term or match%%0Acertain pattern."
 msgstr ""
-"Eine Passphrase sollte kein bekanntes Wort sein oder%%0Anach bekannten "
-"Regeln aufgebaut sein."
+"Ein Passwort sollte kein bekanntes Wort sein oder%%0Anach bekannten Regeln "
+"aufgebaut sein."
 
 #: agent/genkey.c:293
 msgid "Warning: You have entered an insecure passphrase."
 msgstr ""
-"WARNUNG:  Sie haben eine offensichtlich unsichere%0APassphrase eingegeben."
+"WARNUNG:  Sie haben ein offensichtlich unsicheres%0APasswort eingegeben."
 
 #: agent/genkey.c:482
 #, c-format
 msgid "Please enter the passphrase to%0Aprotect your new key"
-msgstr "Bitte geben Sie die Passphrase ein,%0Aum Ihren Schlüssel zu schützen."
+msgstr "Bitte geben Sie das Passwort ein,%0Aum Ihren Schlüssel zu schützen."
 
 #: agent/genkey.c:608
 msgid "Please enter the new passphrase"
-msgstr "Bitte geben Sie die Passphrase ein:"
+msgstr "Bitte geben Sie das Passwort ein:"
 
 #: agent/gpg-agent.c:163 agent/preset-passphrase.c:75 scd/scdaemon.c:115
 #: tools/gpg-check-pattern.c:70
@@ -405,45 +403,43 @@ msgstr ""
 "@Optionen:\n"
 " "
 
-#: agent/gpg-agent.c:165 scd/scdaemon.c:120 dirmngr/dirmngr.c:166
+#: agent/gpg-agent.c:165 scd/scdaemon.c:120 dirmngr/dirmngr.c:167
 msgid "run in daemon mode (background)"
 msgstr "Im Daemon Modus ausführen"
 
-#: agent/gpg-agent.c:166 scd/scdaemon.c:117 dirmngr/dirmngr.c:165
+#: agent/gpg-agent.c:166 scd/scdaemon.c:117 dirmngr/dirmngr.c:166
 msgid "run in server mode (foreground)"
 msgstr "Im Server Modus ausführen"
 
-#: agent/gpg-agent.c:168 dirmngr/dirmngr.c:168
+#: agent/gpg-agent.c:168 dirmngr/dirmngr.c:169
 msgid "run in supervised mode"
 msgstr "Im \"Supervised\" Modus ausführen"
 
-#: agent/gpg-agent.c:170 g10/gpg.c:608 g10/gpgv.c:78 kbx/kbxutil.c:88
-#: scd/scdaemon.c:121 sm/gpgsm.c:310 dirmngr/dirmngr-client.c:70
-#: dirmngr/dirmngr.c:181 dirmngr/dirmngr_ldap.c:135
-#: tools/gpg-connect-agent.c:78 tools/gpgconf.c:108
+#: agent/gpg-agent.c:170 g10/gpg.c:605 g10/gpgv.c:78 kbx/kbxutil.c:88
+#: scd/scdaemon.c:121 sm/gpgsm.c:311 dirmngr/dirmngr-client.c:70
+#: dirmngr/dirmngr.c:182 tools/gpg-connect-agent.c:78 tools/gpgconf.c:108
 msgid "verbose"
 msgstr "Detaillierte Informationen"
 
 #: agent/gpg-agent.c:171 g10/gpgv.c:79 kbx/kbxutil.c:89 scd/scdaemon.c:122
-#: sm/gpgsm.c:311 dirmngr/dirmngr-client.c:71 dirmngr/dirmngr.c:182
-#: dirmngr/dirmngr_ldap.c:136
+#: sm/gpgsm.c:312 dirmngr/dirmngr-client.c:71 dirmngr/dirmngr.c:183
 msgid "be somewhat more quiet"
 msgstr "Reduzierte Informationen"
 
-#: agent/gpg-agent.c:172 scd/scdaemon.c:123 dirmngr/dirmngr.c:183
+#: agent/gpg-agent.c:172 scd/scdaemon.c:123 dirmngr/dirmngr.c:184
 msgid "sh-style command output"
 msgstr "Ausgabe für /bin/sh"
 
-#: agent/gpg-agent.c:173 scd/scdaemon.c:124 dirmngr/dirmngr.c:184
+#: agent/gpg-agent.c:173 scd/scdaemon.c:124 dirmngr/dirmngr.c:185
 msgid "csh-style command output"
 msgstr "Ausgabe für /bin/csh"
 
-#: agent/gpg-agent.c:174 scd/scdaemon.c:125 sm/gpgsm.c:341
-#: dirmngr/dirmngr.c:185
+#: agent/gpg-agent.c:174 scd/scdaemon.c:125 sm/gpgsm.c:344
+#: dirmngr/dirmngr.c:186
 msgid "|FILE|read options from FILE"
 msgstr "|DATEI|Konfigurationsoptionen aus DATEI lesen"
 
-#: agent/gpg-agent.c:183 scd/scdaemon.c:135 dirmngr/dirmngr.c:188
+#: agent/gpg-agent.c:183 scd/scdaemon.c:135 dirmngr/dirmngr.c:189
 msgid "do not detach from the console"
 msgstr "Im Vordergrund laufen lassen"
 
@@ -493,7 +489,7 @@ msgstr "Verbiete Aufrufern Schlüssel als \"vertrauenswürdig\" zu markieren"
 
 #: agent/gpg-agent.c:243
 msgid "allow presetting passphrase"
-msgstr "Erlaube ein \"preset\" von Passphrases"
+msgstr "Erlaube ein \"preset\" der Passwörter"
 
 #: agent/gpg-agent.c:245
 msgid "disallow caller to override the pinentry"
@@ -501,7 +497,7 @@ msgstr "Aufrufer darf das Pinentry nicht ersetzen"
 
 #: agent/gpg-agent.c:248
 msgid "allow passphrase to be prompted through Emacs"
-msgstr "Erlaube die Eingabe einer Passphrase über Emacs"
+msgstr "Erlaube die Eingabe eines Passwortes über Emacs"
 
 #: agent/gpg-agent.c:250
 msgid "enable ssh support"
@@ -519,9 +515,9 @@ msgstr "PuTTY Unterstützung einschalten"
 #. reporting address.  This is so that we can change the
 #. reporting address without breaking the translations.
 #: agent/gpg-agent.c:531 agent/preset-passphrase.c:100 agent/protect-tool.c:155
-#: g10/gpg.c:1070 g10/gpgv.c:149 kbx/kbxutil.c:113 scd/scdaemon.c:298
-#: sm/gpgsm.c:567 dirmngr/dirmngr-client.c:168 dirmngr/dirmngr.c:404
-#: dirmngr/dirmngr_ldap.c:207 tools/gpg-connect-agent.c:205 tools/gpgconf.c:146
+#: g10/gpg.c:1074 g10/gpgv.c:149 kbx/kbxutil.c:113 scd/scdaemon.c:299
+#: sm/gpgsm.c:570 dirmngr/dirmngr-client.c:168 dirmngr/dirmngr.c:412
+#: tools/gpg-connect-agent.c:205 tools/gpgconf.c:146
 #: tools/gpg-check-pattern.c:143
 msgid "Please report bugs to <@EMAIL@>.\n"
 msgstr ""
@@ -540,37 +536,37 @@ msgstr ""
 "Syntax: @GPG_AGENT@ [Optionen] [Befehl [Argumente]]\n"
 "Verwaltung von geheimen Schlüsseln für @GNUPG@\n"
 
-#: agent/gpg-agent.c:587 g10/gpg.c:1262 scd/scdaemon.c:370 sm/gpgsm.c:715
-#: dirmngr/dirmngr.c:488
+#: agent/gpg-agent.c:587 g10/gpg.c:1270 scd/scdaemon.c:371 sm/gpgsm.c:718
+#: dirmngr/dirmngr.c:496
 #, c-format
 msgid "invalid debug-level '%s' given\n"
 msgstr "ungültige Debugebene `%s' angegeben\n"
 
-#: agent/gpg-agent.c:945 g10/gpg.c:3753 g10/gpg.c:3777 sm/gpgsm.c:1631
-#: sm/gpgsm.c:1637
+#: agent/gpg-agent.c:945 g10/gpg.c:3773 g10/gpg.c:3797 sm/gpgsm.c:1531
+#: sm/gpgsm.c:1537
 #, c-format
 msgid "selected digest algorithm is invalid\n"
 msgstr "Das ausgewählte Hashverfahren ist ungültig\n"
 
 #: agent/gpg-agent.c:1168 agent/gpg-agent.c:2023 common/argparse.c:1755
-#: common/argparse.c:1847 g10/gpg.c:2482 scd/scdaemon.c:532 sm/gpgsm.c:1063
-#: dirmngr/dirmngr.c:956 dirmngr/dirmngr.c:1841
+#: common/argparse.c:1847 g10/gpg.c:2495 scd/scdaemon.c:533 sm/gpgsm.c:977
+#: dirmngr/dirmngr.c:994 dirmngr/dirmngr.c:1878
 #, c-format
 msgid "reading options from '%s'\n"
 msgstr "Optionen werden aus '%s' gelesen\n"
 
-#: agent/gpg-agent.c:1300 g10/gpg.c:3704 scd/scdaemon.c:655 sm/gpgsm.c:1571
-#: dirmngr/dirmngr.c:1067 tools/gpg-connect-agent.c:1244 tools/gpgconf.c:624
+#: agent/gpg-agent.c:1300 g10/gpg.c:3724 scd/scdaemon.c:657 sm/gpgsm.c:1471
+#: dirmngr/dirmngr.c:1102 tools/gpg-connect-agent.c:1244 tools/gpgconf.c:624
 #, c-format
 msgid "Note: '%s' is not considered an option\n"
 msgstr "Hinweis: `%s' wird nicht als Option betrachtet\n"
 
-#: agent/gpg-agent.c:2159 scd/scdaemon.c:1096 dirmngr/dirmngr.c:1219
+#: agent/gpg-agent.c:2159 scd/scdaemon.c:1098 dirmngr/dirmngr.c:1256
 #, c-format
 msgid "can't create socket: %s\n"
 msgstr "Socket kann nicht erzeugt werden: %s\n"
 
-#: agent/gpg-agent.c:2176 scd/scdaemon.c:1109 dirmngr/dirmngr.c:1232
+#: agent/gpg-agent.c:2176 scd/scdaemon.c:1111 dirmngr/dirmngr.c:1269
 #, c-format
 msgid "socket name '%s' is too long\n"
 msgstr "Der Name des Sockets `%s' ist zu lang\n"
@@ -580,29 +576,29 @@ msgstr "Der Name des Sockets `%s' ist zu lang\n"
 msgid "a gpg-agent is already running - not starting a new one\n"
 msgstr "Ein gpg-agent läuft bereits - ein weiterer wird nicht gestartet\n"
 
-#: agent/gpg-agent.c:2226 scd/scdaemon.c:1133 dirmngr/dirmngr.c:1264
+#: agent/gpg-agent.c:2226 scd/scdaemon.c:1135 dirmngr/dirmngr.c:1301
 #, c-format
 msgid "error getting nonce for the socket\n"
 msgstr "Fehler beim Ermitteln der \"Nonce\" dieses Sockets\n"
 
-#: agent/gpg-agent.c:2231 scd/scdaemon.c:1136 dirmngr/dirmngr.c:1267
+#: agent/gpg-agent.c:2231 scd/scdaemon.c:1138 dirmngr/dirmngr.c:1304
 #, c-format
 msgid "error binding socket to '%s': %s\n"
 msgstr "Der Socket kann nicht an `%s' gebunden werden: %s\n"
 
 #: agent/gpg-agent.c:2242 agent/gpg-agent.c:2282 agent/gpg-agent.c:2291
-#: scd/scdaemon.c:1144 dirmngr/dirmngr.c:1276
+#: scd/scdaemon.c:1146 dirmngr/dirmngr.c:1313
 #, c-format
 msgid "can't set permissions of '%s': %s\n"
 msgstr "Zugriffsrechte für '%s' können nicht gesetzt werden: %s\n"
 
-#: agent/gpg-agent.c:2256 scd/scdaemon.c:1156 dirmngr/dirmngr.c:1288
+#: agent/gpg-agent.c:2256 scd/scdaemon.c:1158 dirmngr/dirmngr.c:1325
 #, c-format
 msgid "listening on socket '%s'\n"
 msgstr "Es wird auf Socket `%s' gehört\n"
 
 #: agent/gpg-agent.c:2276 agent/gpg-agent.c:2329 common/homedir.c:517
-#: g10/exec.c:261 g10/openfile.c:397
+#: g10/exec.c:269 g10/openfile.c:397
 #, c-format
 msgid "can't create directory '%s': %s\n"
 msgstr "Verzeichnis `%s' kann nicht erzeugt werden: %s\n"
@@ -623,7 +619,7 @@ msgstr "stat()-Aufruf für `%s' fehlgeschlagen: %s\n"
 msgid "can't use '%s' as home directory\n"
 msgstr "Die Datei `%s' kann nicht als Home-Verzeichnis benutzt werden\n"
 
-#: agent/gpg-agent.c:2502 scd/scdaemon.c:1172 dirmngr/dirmngr.c:2047
+#: agent/gpg-agent.c:2502 scd/scdaemon.c:1174 dirmngr/dirmngr.c:2084
 #, c-format
 msgid "error reading nonce on fd %d: %s\n"
 msgstr "Fehler beim Lesen der \"Nonce\" von FD %d: %s\n"
@@ -648,12 +644,12 @@ msgstr "SSH-Handhabungsroutine 0x%lx für fd %d gestartet\n"
 msgid "ssh handler 0x%lx for fd %d terminated\n"
 msgstr "SSH-Handhabungsroutine 0x%lx für fd %d beendet\n"
 
-#: agent/gpg-agent.c:3016 scd/scdaemon.c:1362 dirmngr/dirmngr.c:2261
+#: agent/gpg-agent.c:3016 scd/scdaemon.c:1366 dirmngr/dirmngr.c:2298
 #, c-format
 msgid "npth_pselect failed: %s - waiting 1s\n"
 msgstr "npth_select()-Aufruf fehlgeschlagen: %s - warte 1s\n"
 
-#: agent/gpg-agent.c:3104 scd/scdaemon.c:1427
+#: agent/gpg-agent.c:3104 scd/scdaemon.c:1431
 #, c-format
 msgid "%s %s stopped\n"
 msgstr "%s %s angehalten\n"
@@ -674,10 +670,10 @@ msgid ""
 "Password cache maintenance\n"
 msgstr ""
 "Syntax: gpg-preset-passphrase [Optionen] KEYGRIP\n"
-"Kennwortpuffer-Pflege\n"
+"Pflege des Passwortpuffers\n"
 
-#: agent/protect-tool.c:108 g10/gpg.c:440 kbx/kbxutil.c:71 sm/gpgsm.c:204
-#: dirmngr/dirmngr.c:163 tools/gpgconf.c:78
+#: agent/protect-tool.c:108 g10/gpg.c:437 kbx/kbxutil.c:71 sm/gpgsm.c:205
+#: dirmngr/dirmngr.c:164 tools/gpgconf.c:78
 msgid ""
 "@Commands:\n"
 " "
@@ -685,8 +681,8 @@ msgstr ""
 "@Befehle:\n"
 " "
 
-#: agent/protect-tool.c:117 g10/gpg.c:553 g10/gpgv.c:76 kbx/kbxutil.c:81
-#: sm/gpgsm.c:252 dirmngr/dirmngr.c:179 tools/gpg-connect-agent.c:76
+#: agent/protect-tool.c:117 g10/gpg.c:550 g10/gpgv.c:76 kbx/kbxutil.c:81
+#: sm/gpgsm.c:253 dirmngr/dirmngr.c:180 tools/gpg-connect-agent.c:76
 #: tools/gpgconf.c:105
 msgid ""
 "@\n"
@@ -709,29 +705,29 @@ msgstr ""
 "Syntax: gpg-protect-tool [Optionen] [Argumente]\n"
 "Werkzeug zum Bearbeiten von geheimen Schlüsseln\n"
 
-#: agent/protect-tool.c:703
+#: agent/protect-tool.c:703 sm/import.c:774
 msgid "Please enter the passphrase to unprotect the PKCS#12 object."
-msgstr "Bitte geben Sie die Passphrase zum Entsperren des PKCS#12 Objekts ein."
+msgstr "Bitte geben Sie das Passwort zum Entsperren des PKCS#12 Objekts ein."
 
-#: agent/protect-tool.c:708
+#: agent/protect-tool.c:708 sm/export.c:710
 msgid "Please enter the passphrase to protect the new PKCS#12 object."
 msgstr ""
-"Bitte geben Sie die Passphrase zum Schützen des neuen PKCS#12 Objekts ein."
+"Bitte geben Sie das Passwort zum Schützen des neuen PKCS#12 Objekts ein."
 
 #: agent/protect-tool.c:714
 msgid ""
 "Please enter the passphrase to protect the imported object within the GnuPG "
 "system."
 msgstr ""
-"Bitte geben Sie die Passphrase ein, um das importierte Objekt im GnuPG "
-"System zu schützen."
+"Bitte geben Sie das Passwort ein, um das importierte Objekt im GnuPG System "
+"zu schützen."
 
 #: agent/protect-tool.c:719
 msgid ""
 "Please enter the passphrase or the PIN\n"
 "needed to complete this operation."
 msgstr ""
-"Die Eingabe der Passphrase bzw. der PIN\n"
+"Die Eingabe des Passwortes bzw. der PIN\n"
 "wird benötigt, um diese Aktion auszuführen."
 
 #: agent/protect-tool.c:730
@@ -742,9 +738,9 @@ msgstr "Vom Benutzer abgebrochen\n"
 #: agent/protect-tool.c:732
 #, c-format
 msgid "error while asking for the passphrase: %s\n"
-msgstr "Fehler bei der Abfrage der Passphrase: %s\n"
+msgstr "Fehler bei der Abfrage des Passwortes: %s\n"
 
-#: agent/trustlist.c:154 agent/trustlist.c:364 dirmngr/dirmngr.c:1629
+#: agent/trustlist.c:154 agent/trustlist.c:364 dirmngr/dirmngr.c:1666
 #: tools/gpgconf.c:418
 #, c-format
 msgid "error opening '%s': %s\n"
@@ -847,7 +843,7 @@ msgstr "Falsch"
 #, c-format
 msgid "Note: This passphrase has never been changed.%0APlease change it now."
 msgstr ""
-"Hinweis: Diese Passphrase wurde noch nie geändert/%0ABitte ändern Sie sie "
+"Hinweis: Dieses Passwort wurde noch nie geändert/%0ABitte ändern Sie sie "
 "jetzt."
 
 #: agent/findkey.c:317
@@ -856,12 +852,12 @@ msgid ""
 "This passphrase has not been changed%%0Asince %.4s-%.2s-%.2s.  Please change "
 "it now."
 msgstr ""
-"Diese Passphrase wurde seit dem %.4s-%.2s-%.2s nicht%%0A\n"
+"Dieses Passwort wurde seit dem %.4s-%.2s-%.2s nicht%%0A\n"
 "mehr geändert.  Bitte ändern Sie sie jetzt."
 
 #: agent/findkey.c:331 agent/findkey.c:338
 msgid "Change passphrase"
-msgstr "Die Passphrase ändern"
+msgstr "Das Passwort ändern"
 
 #: agent/findkey.c:339
 msgid "I'll change it later"
@@ -915,7 +911,7 @@ msgstr "Prüfung der erstellten Signatur ist fehlgeschlagen: %s\n"
 msgid "secret key parts are not available\n"
 msgstr "Teile des geheimen Schlüssels sind nicht vorhanden\n"
 
-#: agent/cvt-openpgp.c:344 g10/card-util.c:1540
+#: agent/cvt-openpgp.c:344 g10/card-util.c:1541
 #, c-format
 msgid "public key algorithm %d (%s) is not supported\n"
 msgstr "Public-Key-Verfahren %d (%s) wird nicht unterstützt\n"
@@ -930,21 +926,21 @@ msgstr "Schutzverfahren %d (%s) wird nicht unterstützt\n"
 msgid "protection hash algorithm %d (%s) is not supported\n"
 msgstr "Schutzverfahrenshash %d (%s) wird nicht unterstützt\n"
 
-#: common/exechelp-posix.c:359 common/exechelp-w32.c:449
-#: common/exechelp-w32.c:473 common/exechelp-w32.c:503
+#: common/exechelp-posix.c:359 common/exechelp-w32.c:451
+#: common/exechelp-w32.c:475 common/exechelp-w32.c:505
 #, c-format
 msgid "error creating a pipe: %s\n"
 msgstr "Fehler beim Erzeugen einer \"Pipe\": %s\n"
 
 #: common/exechelp-posix.c:372 common/exechelp-w32.c:355
-#: common/exechelp-w32.c:459 common/exechelp-w32.c:483
-#: common/exechelp-w32.c:513
+#: common/exechelp-w32.c:461 common/exechelp-w32.c:485
+#: common/exechelp-w32.c:515
 #, c-format
 msgid "error creating a stream for a pipe: %s\n"
 msgstr "Fehler beim Erzeugen eines \"streams\" zu einer \"pipe\": %s\n"
 
 #: common/exechelp-posix.c:495 common/exechelp-posix.c:570
-#: common/exechelp-posix.c:851 dirmngr/dirmngr.c:1306
+#: common/exechelp-posix.c:856 dirmngr/dirmngr.c:1343
 #, c-format
 msgid "error forking process: %s\n"
 msgstr "Fehler beim \"Forken\" des Prozess: %s\n"
@@ -954,28 +950,28 @@ msgstr "Fehler beim \"Forken\" des Prozess: %s\n"
 msgid "waiting for process %d to terminate failed: %s\n"
 msgstr "Das Warten auf die Beendigung des Prozesses %d schlug fehl: %s\n"
 
-#: common/exechelp-posix.c:678 common/exechelp-posix.c:794
+#: common/exechelp-posix.c:678 common/exechelp-posix.c:799
 #, c-format
 msgid "error running '%s': probably not installed\n"
 msgstr "Fehler bei Ausführung von `%s': wahrscheinlich nicht installiert\n"
 
-#: common/exechelp-posix.c:684 common/exechelp-posix.c:801
-#: common/exechelp-w32.c:796 common/exechelp-w32ce.c:781
+#: common/exechelp-posix.c:684 common/exechelp-posix.c:806
+#: common/exechelp-w32.c:829 common/exechelp-w32ce.c:781
 #, c-format
 msgid "error running '%s': exit status %d\n"
 msgstr "Fehler bei Ausführung von `%s': Endestatus %d\n"
 
-#: common/exechelp-posix.c:692 common/exechelp-posix.c:809
+#: common/exechelp-posix.c:692 common/exechelp-posix.c:814
 #, c-format
 msgid "error running '%s': terminated\n"
 msgstr "Fehler bei Ausführung von `%s': beendet\n"
 
-#: common/exechelp-posix.c:750 common/exechelp-w32.c:777
+#: common/exechelp-posix.c:755 common/exechelp-w32.c:810
 #, c-format
 msgid "waiting for processes to terminate failed: %s\n"
 msgstr "Das Warten auf die Beendigung von Prozessen schlug fehl: %s\n"
 
-#: common/exechelp-w32.c:789 common/exechelp-w32ce.c:775
+#: common/exechelp-w32.c:822 common/exechelp-w32ce.c:775
 #, c-format
 msgid "error getting exit code of process %d: %s\n"
 msgstr "Fehler beim Holen des Exitwerte des Prozesses %d: %s\n"
@@ -1071,7 +1067,7 @@ msgstr ""
 msgid "out of core while allocating %lu bytes"
 msgstr "Kein Speicher mehr vorhanden, als %lu Byte zugewiesen werden sollten"
 
-#: common/miscellaneous.c:115 g10/card-util.c:896 tools/no-libgcrypt.c:30
+#: common/miscellaneous.c:115 g10/card-util.c:897 tools/no-libgcrypt.c:30
 #, c-format
 msgid "error allocating enough memory: %s\n"
 msgstr "Fehler beim Zuteilen genügenden Speichers: %s\n"
@@ -1184,7 +1180,7 @@ msgid "algorithm: %s"
 msgstr "Verfahren: %s"
 
 #: common/audit.c:774 common/audit.c:776 common/audit.c:921 common/audit.c:923
-#: scd/app-openpgp.c:3555
+#: scd/app-openpgp.c:3554
 #, c-format
 msgid "unsupported algorithm: %s"
 msgstr "Nicht unterstütztes Verfahren: %s"
@@ -1309,6 +1305,28 @@ msgstr "[keine]"
 msgid "invalid radix64 character %02x skipped\n"
 msgstr "Ungültiges Basis-64 Zeichen %02X wurde übersprungen\n"
 
+#: common/ttyio.c:433
+#, c-format
+msgid "Sorry, we are in batchmode - can't get input\n"
+msgstr ""
+"Sorry, --batch wurde angegeben - Lesen von der Eingabe ist nicht möglich\n"
+
+#: common/ttyio.c:439
+#, c-format
+msgid "Sorry, no terminal at all requested - can't get input\n"
+msgstr ""
+"Sorry, --no-tty wurde angegeben - Lesen von der Eingabe ist nicht möglich\n"
+
+#: common/ttyio.c:474 common/ttyio.c:484
+#, c-format
+msgid "too many errors; giving up\n"
+msgstr "Zu viele Fehler; hat keinen Zweck mehr\n"
+
+#: common/ttyio.c:536
+#, c-format
+msgid "Control-D detected\n"
+msgstr "Control-D (Strg-D) erkannt\n"
+
 #: common/argparse.c:520
 msgid "argument not expected"
 msgstr "Argument nicht erwartet"
@@ -1366,7 +1384,7 @@ msgstr "Ungültige Option"
 msgid "missing argument for option \"%.50s\"\n"
 msgstr "Fehlendes Argument für Option \"%.50s\"\n"
 
-#: common/argparse.c:558 g10/gpg.c:3490
+#: common/argparse.c:558 g10/gpg.c:3510
 #, c-format
 msgid "invalid argument for option \"%.50s\"\n"
 msgstr "Ungültiges Argument für Option \"%.50s\"\n"
@@ -1437,31 +1455,31 @@ msgstr "Die temporäre Datei `%s' kann nicht erstellt werden: %s\n"
 msgid "error writing to '%s': %s\n"
 msgstr "Fehler beim Schreiben von %s: %s\n"
 
-#: common/dotlock.c:1129
+#: common/dotlock.c:1137
 #, c-format
 msgid "removing stale lockfile (created by %d)\n"
 msgstr "eine übriggebliebene Sperrdatei wird entfernt (erzeugt von %d)\n"
 
-#: common/dotlock.c:1165
+#: common/dotlock.c:1173
 #, c-format
 msgid "waiting for lock (held by %d%s) %s...\n"
 msgstr "warte auf die Freigabe der Sperre (gehalten von %d%s) %s...\n"
 
-#: common/dotlock.c:1166
+#: common/dotlock.c:1174
 msgid "(deadlock?) "
 msgstr "(Deadlock?) "
 
-#: common/dotlock.c:1205
+#: common/dotlock.c:1213
 #, c-format
 msgid "lock '%s' not made: %s\n"
 msgstr "Dateisperre %s konnte nicht eingerichtet werden: %s\n"
 
-#: common/dotlock.c:1232
+#: common/dotlock.c:1240
 #, c-format
 msgid "waiting for lock %s...\n"
 msgstr "Warten auf die Freigabe der Dateisperre `%s' ...\n"
 
-#: common/init.c:185 sm/gpgsm.c:949 dirmngr/dirmngr.c:862 dirmngr/dirmngr.c:871
+#: common/init.c:191 sm/gpgsm.c:863 dirmngr/dirmngr.c:900 dirmngr/dirmngr.c:909
 #, c-format
 msgid "%s is too old (need %s, have %s)\n"
 msgstr "Die Bibliothek %s ist nicht aktuell (benötige %s, habe %s)\n"
@@ -1612,7 +1630,7 @@ msgstr "Die %s \"inquiry\" konnte nicht an den Client weitergeleitet werden\n"
 
 #: g10/call-agent.c:170
 msgid "Enter passphrase: "
-msgstr "Geben Sie die Passphrase ein: "
+msgstr "Geben Sie das Passwort ein: "
 
 #: g10/call-agent.c:199 g10/call-dirmngr.c:153 sm/call-agent.c:98
 #: sm/call-dirmngr.c:165
@@ -1646,12 +1664,12 @@ msgid "Note: Use the command \"%s\" to restart them.\n"
 msgstr "Hinweis: Der Befehl \"%s\" startet diese Server neu.\n"
 
 #: g10/call-agent.c:318 g10/encrypt.c:154 g10/encrypt.c:620 g10/sign.c:412
-#: sm/call-agent.c:205 sm/encrypt.c:425 sm/sign.c:345
+#: sm/call-agent.c:205 sm/encrypt.c:426 sm/sign.c:345
 #, c-format
 msgid "%s is not compliant with %s mode\n"
 msgstr "%s is nicht konform mit dem %s Modus\n"
 
-#: g10/call-dirmngr.c:209 sm/call-dirmngr.c:268 tools/gpg-connect-agent.c:2253
+#: g10/call-dirmngr.c:209 sm/call-dirmngr.c:269 tools/gpg-connect-agent.c:2253
 #, c-format
 msgid "no dirmngr running in this session\n"
 msgstr "Der Dirmngr läuft nicht für diese Session\n"
@@ -1689,22 +1707,22 @@ msgstr "HTTP Weiterleitung wurde gesäubert"
 msgid "server uses an invalid certificate"
 msgstr "Der Server benutzt eine ungültiges Zertifikat"
 
-#: g10/call-dirmngr.c:437 g10/gpg.c:4400
+#: g10/call-dirmngr.c:437 g10/gpg.c:4421
 #, c-format
 msgid "Note: %s\n"
 msgstr "Hinweis: %s\n"
 
-#: g10/card-util.c:86 g10/card-util.c:366 g10/card-util.c:1902
+#: g10/card-util.c:86 g10/card-util.c:366 g10/card-util.c:1903
 #, c-format
 msgid "OpenPGP card not available: %s\n"
 msgstr "OpenPGP Karte ist nicht vorhanden: %s\n"
 
-#: g10/card-util.c:91 g10/card-util.c:1908
+#: g10/card-util.c:91 g10/card-util.c:1909
 #, c-format
 msgid "OpenPGP card no. %s detected\n"
 msgstr "OpenPGP Karte Nr. %s erkannt\n"
 
-#: g10/card-util.c:97 g10/card-util.c:2237 g10/delkey.c:160 g10/keyedit.c:1422
+#: g10/card-util.c:97 g10/card-util.c:2238 g10/delkey.c:160 g10/keyedit.c:1423
 #: g10/keygen.c:4466 g10/revoke.c:214 g10/revoke.c:636
 #, c-format
 msgid "can't do this in batch mode\n"
@@ -1715,13 +1733,13 @@ msgstr "Dies kann im Batchmodus nicht durchgeführt werden.\n"
 msgid "This command is only available for version 2 cards\n"
 msgstr "Dieser Befehl ist nur für Karten ab Version 2 möglich.\n"
 
-#: g10/card-util.c:107 scd/app-openpgp.c:2864
+#: g10/card-util.c:107 scd/app-openpgp.c:2863
 #, c-format
 msgid "Reset Code not or not anymore available\n"
 msgstr "Der Rückstellcode ist nicht vorhanden\n"
 
-#: g10/card-util.c:140 g10/card-util.c:1426 g10/card-util.c:1688
-#: g10/card-util.c:1780 g10/keyedit.c:394 g10/keyedit.c:415 g10/keyedit.c:429
+#: g10/card-util.c:140 g10/card-util.c:1427 g10/card-util.c:1689
+#: g10/card-util.c:1781 g10/keyedit.c:394 g10/keyedit.c:415 g10/keyedit.c:429
 #: g10/keygen.c:1808 g10/keygen.c:1980 g10/keygen.c:2186 g10/keygen.c:2477
 #: sm/certreqgen-ui.c:165 sm/certreqgen-ui.c:291 sm/certreqgen-ui.c:325
 msgid "Your selection? "
@@ -1747,105 +1765,105 @@ msgstr "nicht zwingend"
 msgid "forced"
 msgstr "zwingend"
 
-#: g10/card-util.c:749
+#: g10/card-util.c:750
 msgid "Error: Only plain ASCII is currently allowed.\n"
 msgstr "Fehler: Nur reines ASCII ist derzeit erlaubt.\n"
 
-#: g10/card-util.c:751
+#: g10/card-util.c:752
 msgid "Error: The \"<\" character may not be used.\n"
 msgstr "Fehler: Das Zeichen \"<\" kann nicht benutzt werden.\n"
 
-#: g10/card-util.c:753
+#: g10/card-util.c:754
 msgid "Error: Double spaces are not allowed.\n"
 msgstr "Fehler: Doppelte Leerzeichen sind nicht erlaubt.\n"
 
-#: g10/card-util.c:770
+#: g10/card-util.c:771
 msgid "Cardholder's surname: "
 msgstr "Familienname des Kartenbesitzers:"
 
-#: g10/card-util.c:772
+#: g10/card-util.c:773
 msgid "Cardholder's given name: "
 msgstr "Vorname des Kartenbesitzers:"
 
-#: g10/card-util.c:790
+#: g10/card-util.c:791
 #, c-format
 msgid "Error: Combined name too long (limit is %d characters).\n"
 msgstr ""
 "Fehler: Der zusammengesetzte Name ist zu lang (Grenze beträgt %d Zeichen).\n"
 
-#: g10/card-util.c:811
+#: g10/card-util.c:812
 msgid "URL to retrieve public key: "
 msgstr "URL um den öffentlichen Schlüssel zu holen: "
 
-#: g10/card-util.c:905 g10/decrypt-data.c:490 g10/import.c:387 g10/import.c:734
-#: g10/import.c:786 dirmngr/crlcache.c:655 dirmngr/crlcache.c:660
-#: dirmngr/crlcache.c:914 dirmngr/crlcache.c:920 dirmngr/dirmngr.c:1668
+#: g10/card-util.c:906 g10/decrypt-data.c:490 g10/import.c:399 g10/import.c:746
+#: g10/import.c:798 dirmngr/crlcache.c:655 dirmngr/crlcache.c:660
+#: dirmngr/crlcache.c:914 dirmngr/crlcache.c:920 dirmngr/dirmngr.c:1705
 #: tools/gpgconf.c:431 tools/gpgconf.c:477
 #, c-format
 msgid "error reading '%s': %s\n"
 msgstr "Fehler beim Lesen von `%s': %s\n"
 
-#: g10/card-util.c:938 g10/decrypt-data.c:493 g10/export.c:2467
+#: g10/card-util.c:939 g10/decrypt-data.c:493 g10/export.c:2467
 #: dirmngr/crlcache.c:925
 #, c-format
 msgid "error writing '%s': %s\n"
 msgstr "Fehler beim Schreiben von %s: %s\n"
 
-#: g10/card-util.c:965
+#: g10/card-util.c:966
 msgid "Login data (account name): "
 msgstr "Logindaten (Kontenname): "
 
-#: g10/card-util.c:1003
+#: g10/card-util.c:1004
 msgid "Private DO data: "
 msgstr "Geheime DO-Daten: "
 
-#: g10/card-util.c:1088
+#: g10/card-util.c:1089
 msgid "Language preferences: "
 msgstr "Spracheinstellungen"
 
-#: g10/card-util.c:1096
+#: g10/card-util.c:1097
 msgid "Error: invalid length of preference string.\n"
 msgstr "Fehler: Ungültige Länge der Einstellungs-Zeichenfolge.\n"
 
-#: g10/card-util.c:1105
+#: g10/card-util.c:1106
 msgid "Error: invalid characters in preference string.\n"
 msgstr "Fehler: Ungültige Zeichen in der Einstellungs-Zeichenfolge\n"
 
-#: g10/card-util.c:1127
+#: g10/card-util.c:1128
 msgid "Salutation (M = Mr., F = Ms., or space): "
 msgstr "Anrede (M=Hr., F=Fr. oder Leerzeichen): "
 
-#: g10/card-util.c:1141
+#: g10/card-util.c:1142
 msgid "Error: invalid response.\n"
 msgstr "Fehler: ungültige Antwort.\n"
 
-#: g10/card-util.c:1163
+#: g10/card-util.c:1164
 msgid "CA fingerprint: "
 msgstr "CA-Fingerabdruck: "
 
-#: g10/card-util.c:1186
+#: g10/card-util.c:1187
 msgid "Error: invalid formatted fingerprint.\n"
 msgstr "Fehler: ungültig geformter Fingerabdruck.\n"
 
-#: g10/card-util.c:1236
+#: g10/card-util.c:1237
 #, c-format
 msgid "key operation not possible: %s\n"
 msgstr "Schlüsseloperation nicht möglich: %s\n"
 
-#: g10/card-util.c:1237
+#: g10/card-util.c:1238
 msgid "not an OpenPGP card"
 msgstr "Keine gültige OpenPGP-Karte"
 
-#: g10/card-util.c:1250 g10/keygen.c:4486 g10/keygen.c:5565
+#: g10/card-util.c:1251 g10/keygen.c:4486 g10/keygen.c:5565
 #, c-format
 msgid "error getting current key info: %s\n"
 msgstr "Fehler beim Holen der aktuellen Schlüsselinfo: %s\n"
 
-#: g10/card-util.c:1335
+#: g10/card-util.c:1336
 msgid "Replace existing key? (y/N) "
 msgstr "Vorhandenen Schlüssel ersetzen? (j/N) "
 
-#: g10/card-util.c:1352
+#: g10/card-util.c:1353
 msgid ""
 "Note: There is no guarantee that the card supports the requested size.\n"
 "      If the key generation does not succeed, please check the\n"
@@ -1857,100 +1875,100 @@ msgstr ""
 "         fehlschlagen, so ziehen Sie bitte die Dokumentation Ihrer Karte\n"
 "         zu Rate.\n"
 
-#: g10/card-util.c:1374 g10/keygen.c:2363 sm/certreqgen-ui.c:179
+#: g10/card-util.c:1375 g10/keygen.c:2363 sm/certreqgen-ui.c:179
 #, c-format
 msgid "What keysize do you want? (%u) "
 msgstr "Welche Schlüssellänge wünschen Sie? (%u) "
 
-#: g10/card-util.c:1384 g10/keygen.c:2286 g10/keygen.c:2318
+#: g10/card-util.c:1385 g10/keygen.c:2286 g10/keygen.c:2318
 #: sm/certreqgen-ui.c:194
 #, c-format
 msgid "rounded up to %u bits\n"
 msgstr "aufgerundet auf %u Bit\n"
 
-#: g10/card-util.c:1392 g10/keygen.c:2371 sm/certreqgen-ui.c:184
+#: g10/card-util.c:1393 g10/keygen.c:2371 sm/certreqgen-ui.c:184
 #, c-format
 msgid "%s keysizes must be in the range %u-%u\n"
 msgstr "%s-Schlüssellängen müssen im Bereich %u-%u sein\n"
 
-#: g10/card-util.c:1411
+#: g10/card-util.c:1412
 msgid "Changing card key attribute for: "
 msgstr "Ändern des Schlüsselattributs für den: "
 
-#: g10/card-util.c:1413
+#: g10/card-util.c:1414
 msgid "Signature key\n"
 msgstr "Signatur-Schlüssel\n"
 
-#: g10/card-util.c:1415
+#: g10/card-util.c:1416
 msgid "Encryption key\n"
 msgstr "Verschlüsselungs-Schlüssel\n"
 
-#: g10/card-util.c:1417
+#: g10/card-util.c:1418
 msgid "Authentication key\n"
 msgstr "Authentisierungs-Schlüssel\n"
 
-#: g10/card-util.c:1419 g10/keygen.c:1926 sm/certreqgen-ui.c:157
+#: g10/card-util.c:1420 g10/keygen.c:1926 sm/certreqgen-ui.c:157
 msgid "Please select what kind of key you want:\n"
 msgstr "Bitte wählen Sie, welche Art von Schlüssel Sie möchten:\n"
 
-#: g10/card-util.c:1420 sm/certreqgen-ui.c:158
+#: g10/card-util.c:1421 sm/certreqgen-ui.c:158
 #, c-format
 msgid "   (%d) RSA\n"
 msgstr "   (%d) RSA\n"
 
-#: g10/card-util.c:1421
+#: g10/card-util.c:1422
 #, c-format
 msgid "   (%d) ECC\n"
 msgstr "   (%d) ECC\n"
 
-#: g10/card-util.c:1433 g10/card-util.c:1700 g10/card-util.c:1800
-#: g10/keyedit.c:899 g10/keygen.c:1834 g10/keygen.c:1862 g10/keygen.c:1987
+#: g10/card-util.c:1434 g10/card-util.c:1701 g10/card-util.c:1801
+#: g10/keyedit.c:900 g10/keygen.c:1834 g10/keygen.c:1862 g10/keygen.c:1987
 #: g10/keygen.c:2222 g10/keygen.c:2505 g10/revoke.c:838
 msgid "Invalid selection.\n"
 msgstr "Ungültige Auswahl.\n"
 
-#: g10/card-util.c:1506
+#: g10/card-util.c:1507
 #, c-format
 msgid "The card will now be re-configured to generate a key of %u bits\n"
 msgstr ""
 "Die Karte wird nun rekonfiguriert, um einen Schlüssel von %u Bit zu "
 "erzeugen\n"
 
-#: g10/card-util.c:1511
+#: g10/card-util.c:1512
 #, c-format
 msgid "The card will now be re-configured to generate a key of type: %s\n"
 msgstr "Die Karte wird nun rekonfiguriert für einen Schlüssel des Typs: %s\n"
 
-#: g10/card-util.c:1547
+#: g10/card-util.c:1548
 #, c-format
 msgid "error changing key attribute for key %d: %s\n"
 msgstr "Fehler beim Ändern der Attributs des Schlüssels %d: %s\n"
 
-#: g10/card-util.c:1563 g10/card-util.c:2090
+#: g10/card-util.c:1564 g10/card-util.c:2091
 #, c-format
 msgid "error getting card info: %s\n"
 msgstr "Fehler beim Holen der aktuellen Schlüsselinfo: %s\n"
 
-#: g10/card-util.c:1569 g10/card-util.c:1914 g10/card-util.c:2096
+#: g10/card-util.c:1570 g10/card-util.c:1915 g10/card-util.c:2097
 #, c-format
 msgid "This command is not supported by this card\n"
 msgstr "Dieser Befehl wird von dieser Karte nicht unterstützt.\n"
 
-#: g10/card-util.c:1615
+#: g10/card-util.c:1616
 msgid "Make off-card backup of encryption key? (Y/n) "
 msgstr ""
 "Sicherung des Verschlüsselungsschlüssel außerhalb der Karte erstellen? (J/n) "
 
-#: g10/card-util.c:1629
+#: g10/card-util.c:1630
 #, c-format
 msgid "Note: keys are already stored on the card!\n"
 msgstr "Hinweis: Auf der Karte sind bereits Schlüssel gespeichert!\n"
 
-#: g10/card-util.c:1632
+#: g10/card-util.c:1633
 msgid "Replace existing keys? (y/N) "
 msgstr "Vorhandene Schlüssel ersetzen? (j/N) "
 
-#: g10/card-util.c:1644
+#: g10/card-util.c:1645
 #, c-format
 msgid ""
 "Please note that the factory settings of the PINs are\n"
@@ -1961,144 +1979,144 @@ msgstr ""
 "   PIN = '%s'     Admin-PIN = '%s'\n"
 "Sie sollten sie mittels des Befehls --change-pin ändern\n"
 
-#: g10/card-util.c:1679
+#: g10/card-util.c:1680
 msgid "Please select the type of key to generate:\n"
 msgstr "Bitte wählen Sie die Art des Schlüssel, der erzeugt werden soll:\n"
 
-#: g10/card-util.c:1681 g10/card-util.c:1771
+#: g10/card-util.c:1682 g10/card-util.c:1772
 msgid "   (1) Signature key\n"
 msgstr "   (1) Signatur-Schlüssel\n"
 
-#: g10/card-util.c:1682 g10/card-util.c:1773
+#: g10/card-util.c:1683 g10/card-util.c:1774
 msgid "   (2) Encryption key\n"
 msgstr "   (2) Verschlüsselungs-Schlüssel\n"
 
-#: g10/card-util.c:1683 g10/card-util.c:1775
+#: g10/card-util.c:1684 g10/card-util.c:1776
 msgid "   (3) Authentication key\n"
 msgstr "   (3) Authentisierungs-Schlüssel\n"
 
-#: g10/card-util.c:1768
+#: g10/card-util.c:1769
 msgid "Please select where to store the key:\n"
 msgstr "Wählen Sie den Speicherort für den Schlüssel:\n"
 
-#: g10/card-util.c:1814
+#: g10/card-util.c:1815
 #, c-format
 msgid "KEYTOCARD failed: %s\n"
 msgstr "Das KEYTOCARD Kommando schlug fehl: %s\n"
 
-#: g10/card-util.c:1919
+#: g10/card-util.c:1920
 #, c-format
 msgid "Note: This command destroys all keys stored on the card!\n"
 msgstr ""
 "Hinweis: Dieses Kommando zerstörrt alle auf der Karte gespeicherten "
 "Schlüssel!\n"
 
-#: g10/card-util.c:1922
+#: g10/card-util.c:1923
 msgid "Continue? (y/N) "
 msgstr "Fortsetzen? (j/N) "
 
-#: g10/card-util.c:1927
+#: g10/card-util.c:1928
 msgid "Really do a factory reset? (enter \"yes\") "
 msgstr "Möchten Sie die Karte wirklich komplett löschen? (\"yes\" eingeben) "
 
-#: g10/card-util.c:2113
+#: g10/card-util.c:2114
 #, c-format
 msgid "error for setup KDF: %s\n"
 msgstr "Fehler beim Einstellen der KDF: %s\n"
 
-#: g10/card-util.c:2142 g10/keyedit.c:1259
+#: g10/card-util.c:2143 g10/keyedit.c:1260
 msgid "quit this menu"
 msgstr "Menü verlassen"
 
-#: g10/card-util.c:2144
+#: g10/card-util.c:2145
 msgid "show admin commands"
 msgstr "Zeige Admin-Befehle"
 
-#: g10/card-util.c:2145 g10/keyedit.c:1262
+#: g10/card-util.c:2146 g10/keyedit.c:1263
 msgid "show this help"
 msgstr "Diese Hilfe zeigen"
 
-#: g10/card-util.c:2147
+#: g10/card-util.c:2148
 msgid "list all available data"
 msgstr "Alle vorhandenen Daten auflisten"
 
-#: g10/card-util.c:2150
+#: g10/card-util.c:2151
 msgid "change card holder's name"
 msgstr "Kartenbesitzernamen ändern"
 
-#: g10/card-util.c:2151
+#: g10/card-util.c:2152
 msgid "change URL to retrieve key"
 msgstr "Schlüssel-holen-URL ändern"
 
-#: g10/card-util.c:2152
+#: g10/card-util.c:2153
 msgid "fetch the key specified in the card URL"
 msgstr "Holen des Schlüssels mittels der URL auf der Karte"
 
-#: g10/card-util.c:2153
+#: g10/card-util.c:2154
 msgid "change the login name"
 msgstr "Ändern der Logindaten"
 
-#: g10/card-util.c:2154
+#: g10/card-util.c:2155
 msgid "change the language preferences"
 msgstr "Ändern der Spracheinstellungen"
 
-#: g10/card-util.c:2155
+#: g10/card-util.c:2156
 msgid "change card holder's salutation"
 msgstr "Ändern der Anrede des Kartenbesitzers"
 
-#: g10/card-util.c:2157
+#: g10/card-util.c:2158
 msgid "change a CA fingerprint"
 msgstr "Ändern des CA-Fingerabdrucks"
 
-#: g10/card-util.c:2158
+#: g10/card-util.c:2159
 msgid "toggle the signature force PIN flag"
 msgstr "Umschalten des \"Signature-force-PIN\"-Schalters"
 
-#: g10/card-util.c:2159
+#: g10/card-util.c:2160
 msgid "generate new keys"
 msgstr "neue Schlüssel erzeugen"
 
-#: g10/card-util.c:2160
+#: g10/card-util.c:2161
 msgid "menu to change or unblock the PIN"
 msgstr "Menü für Ändern oder Entsperren der PIN"
 
-#: g10/card-util.c:2161
+#: g10/card-util.c:2162
 msgid "verify the PIN and list all data"
 msgstr "überprüfe die PIN und liste alle Daten auf"
 
-#: g10/card-util.c:2162
+#: g10/card-util.c:2163
 msgid "unblock the PIN using a Reset Code"
 msgstr "die PIN mit dem Rückstellcode wieder freigeben"
 
-#: g10/card-util.c:2163
+#: g10/card-util.c:2164
 msgid "destroy all keys and data"
 msgstr "alle Schlüssel und Daten löschen"
 
-#: g10/card-util.c:2164
+#: g10/card-util.c:2165
 msgid "setup KDF for PIN authentication"
 msgstr "Einrichten der KDF zur Authentifizierung"
 
-#: g10/card-util.c:2165
+#: g10/card-util.c:2166
 msgid "change the key attribute"
 msgstr "Das Schlüsselattribut ändern"
 
-#: g10/card-util.c:2289
+#: g10/card-util.c:2290
 msgid "gpg/card> "
 msgstr "gpg/card> "
 
-#: g10/card-util.c:2330
+#: g10/card-util.c:2331
 msgid "Admin-only command\n"
 msgstr "nur-Admin Befehl\n"
 
-#: g10/card-util.c:2361
+#: g10/card-util.c:2362
 msgid "Admin commands are allowed\n"
 msgstr "Admin-Befehle sind erlaubt\n"
 
-#: g10/card-util.c:2363
+#: g10/card-util.c:2364
 msgid "Admin commands are not allowed\n"
 msgstr "Admin-Befehle sind nicht erlaubt\n"
 
-#: g10/card-util.c:2466 g10/keyedit.c:2228
+#: g10/card-util.c:2467 g10/keyedit.c:2229
 msgid "Invalid command  (try \"help\")\n"
 msgstr "Ungültiger Befehl (versuchen Sie's mal mit \"help\")\n"
 
@@ -2107,21 +2125,21 @@ msgstr "Ungültiger Befehl (versuchen Sie's mal mit \"help\")\n"
 msgid "--output doesn't work for this command\n"
 msgstr "--output funktioniert nicht bei diesem Befehl\n"
 
-#: g10/decrypt.c:247 g10/gpg.c:5083 g10/keyring.c:399 g10/keyring.c:750
+#: g10/decrypt.c:247 g10/gpg.c:5104 g10/keyring.c:399 g10/keyring.c:750
 #, c-format
 msgid "can't open '%s'\n"
 msgstr "'%s' kann nicht geöffnet werden\n"
 
 #: g10/delkey.c:83 g10/export.c:1947 g10/export.c:2230 g10/export.c:2351
-#: g10/getkey.c:1964 g10/gpg.c:5028 g10/keyedit.c:1444 g10/keyedit.c:2334
-#: g10/keyedit.c:2580 g10/keyedit.c:4543 g10/keylist.c:689 g10/keyserver.c:1259
+#: g10/getkey.c:2108 g10/gpg.c:5049 g10/keyedit.c:1445 g10/keyedit.c:2335
+#: g10/keyedit.c:2581 g10/keyedit.c:4544 g10/keylist.c:689 g10/keyserver.c:1092
 #: g10/revoke.c:230 g10/tofu.c:2165
 #, c-format
 msgid "key \"%s\" not found: %s\n"
 msgstr "Schlüssel \"%s\" nicht gefunden: %s\n"
 
-#: g10/delkey.c:92 g10/export.c:2015 g10/getkey.c:1972 g10/getkey.c:4346
-#: g10/gpg.c:5037 g10/keyedit.c:2307 g10/keyserver.c:1277 g10/revoke.c:236
+#: g10/delkey.c:92 g10/export.c:2015 g10/getkey.c:2116 g10/getkey.c:4517
+#: g10/gpg.c:5058 g10/keyedit.c:2308 g10/keyserver.c:1110 g10/revoke.c:236
 #: g10/revoke.c:663 g10/tofu.c:2173
 #, c-format
 msgid "error reading keyblock: %s\n"
@@ -2185,9 +2203,9 @@ msgstr "Schlüssel"
 msgid "subkey"
 msgstr "Unterschlüssel"
 
-#: g10/delkey.c:299 g10/keyedit.c:2200 g10/keyedit.c:2210 g10/keyedit.c:2387
-#: g10/keyedit.c:2461 g10/keyedit.c:2532 g10/keyedit.c:2757 g10/keyedit.c:2987
-#: g10/keyedit.c:3056 g10/keyedit.c:3207
+#: g10/delkey.c:299 g10/keyedit.c:2201 g10/keyedit.c:2211 g10/keyedit.c:2388
+#: g10/keyedit.c:2462 g10/keyedit.c:2533 g10/keyedit.c:2758 g10/keyedit.c:2988
+#: g10/keyedit.c:3057 g10/keyedit.c:3208
 #, c-format
 msgid "update failed: %s\n"
 msgstr "Änderung fehlgeschlagen: %s\n"
@@ -2215,10 +2233,10 @@ msgstr ""
 "Verwenden Sie zunächst den Befehl \"--delete-secret-key\", um ihn zu "
 "entfernen.\n"
 
-#: g10/encrypt.c:202 g10/sign.c:1471
+#: g10/encrypt.c:202 g10/sign.c:1470
 #, c-format
 msgid "error creating passphrase: %s\n"
-msgstr "Fehler beim Erzeugen der Passphrase: %s\n"
+msgstr "Fehler beim Erzeugen des Passwortes: %s\n"
 
 #: g10/encrypt.c:209
 #, c-format
@@ -2242,15 +2260,15 @@ msgstr "`%s' ist bereits komprimiert\n"
 msgid "WARNING: '%s' is an empty file\n"
 msgstr "WARNUNG: '%s' ist eine leere Datei.\n"
 
-#: g10/encrypt.c:387 g10/encrypt.c:610 g10/decrypt-data.c:260 g10/gpg.c:3901
-#: g10/gpg.c:3941 sm/decrypt.c:364 sm/encrypt.c:415 sm/gpgsm.c:1655
+#: g10/encrypt.c:387 g10/encrypt.c:610 g10/decrypt-data.c:260 g10/gpg.c:3922
+#: g10/gpg.c:3962 sm/decrypt.c:826 sm/encrypt.c:416 sm/gpgsm.c:1555
 #, c-format
 msgid "cipher algorithm '%s' may not be used in %s mode\n"
 msgstr ""
 "Das Verschlüsselungsverfahren %s darf im %s Modus nicht verwendet werden.\n"
 
-#: g10/encrypt.c:396 g10/gpg.c:3907 g10/gpg.c:3953 g10/sig-check.c:146
-#: g10/sign.c:391 sm/gpgsm.c:1665 sm/gpgsm.c:1675 sm/sign.c:478 sm/verify.c:506
+#: g10/encrypt.c:396 g10/gpg.c:3928 g10/gpg.c:3974 g10/sig-check.c:146
+#: g10/sign.c:391 sm/gpgsm.c:1565 sm/gpgsm.c:1575 sm/sign.c:478 sm/verify.c:506
 #, c-format
 msgid "digest algorithm '%s' may not be used in %s mode\n"
 msgstr "Die Benutzung der Hashmethode %s ist im %s Modus nicht erlaubt.\n"
@@ -2268,13 +2286,13 @@ msgstr ""
 "WARNUNG: Erzwungene Verwendung des symmetrischen Verschlüsselungsverfahren "
 "%s (%d) verletzt die Empfängervoreinstellungen\n"
 
-#: g10/encrypt.c:640 sm/encrypt.c:490
+#: g10/encrypt.c:640 sm/encrypt.c:491
 #, c-format
 msgid "WARNING: key %s is not suitable for encryption in %s mode\n"
 msgstr ""
 "WARNUNG: Schlüssel %s ist zur Verschlüsselung im %s Modus nicht geeignet.\n"
 
-#: g10/encrypt.c:751 g10/sign.c:1163
+#: g10/encrypt.c:751 g10/sign.c:1162
 #, c-format
 msgid ""
 "WARNING: forcing compression algorithm %s (%d) violates recipient "
@@ -2305,12 +2323,12 @@ msgstr "Die Benutzung der Option \"%s\" ist im %s-Modus nicht erlaubt.\n"
 msgid "%s encrypted data\n"
 msgstr "%s verschlüsselte Daten\n"
 
-#: g10/decrypt-data.c:243 g10/mainproc.c:396
+#: g10/decrypt-data.c:243 g10/mainproc.c:397
 #, c-format
 msgid "encrypted with unknown algorithm %d\n"
 msgstr "Mit unbekanntem Verfahren verschlüsselt %d\n"
 
-#: g10/decrypt-data.c:357 g10/decrypt-data.c:410 sm/decrypt.c:130
+#: g10/decrypt-data.c:357 g10/decrypt-data.c:410 sm/decrypt.c:550
 #, c-format
 msgid ""
 "WARNING: message was encrypted with a weak key in the symmetric cipher.\n"
@@ -2327,7 +2345,7 @@ msgstr "Problem beim Bearbeiten des verschlüsselten Pakets\n"
 msgid "no remote program execution supported\n"
 msgstr "Ausführen von externen Programmen wird nicht unterstützt\n"
 
-#: g10/exec.c:381
+#: g10/exec.c:389
 #, c-format
 msgid ""
 "external program calls are disabled due to unsafe options file permissions\n"
@@ -2335,50 +2353,50 @@ msgstr ""
 "Ausführen von externen Programmen ist ausgeschaltet, da die Dateirechte "
 "nicht sicher sind\n"
 
-#: g10/exec.c:411
+#: g10/exec.c:419
 #, c-format
 msgid "this platform requires temporary files when calling external programs\n"
 msgstr ""
 "Diese Plattform benötigt temporäre Dateien zur Ausführung von externen\n"
 "Programmen\n"
 
-#: g10/exec.c:489
+#: g10/exec.c:497
 #, c-format
 msgid "unable to execute program '%s': %s\n"
 msgstr "Ausführen des Programms `%s' nicht möglich: %s\n"
 
-#: g10/exec.c:492
+#: g10/exec.c:500
 #, c-format
 msgid "unable to execute shell '%s': %s\n"
 msgstr "Ausführen der Shell `%s' nicht möglich: %s\n"
 
-#: g10/exec.c:583
+#: g10/exec.c:591
 #, c-format
 msgid "system error while calling external program: %s\n"
 msgstr "Fehler beim Aufruf eines externen Programms: %s\n"
 
-#: g10/exec.c:594 g10/exec.c:661
+#: g10/exec.c:602 g10/exec.c:669
 #, c-format
 msgid "unnatural exit of external program\n"
 msgstr "ungewöhnliches Ende eines externen Programms\n"
 
-#: g10/exec.c:609
+#: g10/exec.c:617
 #, c-format
 msgid "unable to execute external program\n"
 msgstr "Externes Programm konnte nicht aufgerufen werden\n"
 
-#: g10/exec.c:626
+#: g10/exec.c:634
 #, c-format
 msgid "unable to read external program response: %s\n"
 msgstr "Die Ausgabe des externen Programms konnte nicht gelesen werden: %s\n"
 
-#: g10/exec.c:672 g10/exec.c:679
+#: g10/exec.c:680 g10/exec.c:687
 #, c-format
 msgid "WARNING: unable to remove tempfile (%s) '%s': %s\n"
 msgstr ""
 "WARNUNG: die temporäre Datei (%s) `%s' konnte nicht entfernt werden: %s\n"
 
-#: g10/exec.c:684
+#: g10/exec.c:692
 #, c-format
 msgid "WARNING: unable to remove temp directory '%s': %s\n"
 msgstr "WARNUNG: Temporäres Verzeichnis `%s' kann nicht entfernt werden: %s\n"
@@ -2411,8 +2429,8 @@ msgstr "Das GnuPG Datensicherungsformat für Schlüssel benutzen"
 msgid " - skipped"
 msgstr " - übersprungen"
 
-#: g10/export.c:1324 g10/import.c:2073 g10/openfile.c:200 g10/openfile.c:294
-#: g10/sign.c:1013 g10/sign.c:1327
+#: g10/export.c:1324 g10/import.c:2085 g10/openfile.c:200 g10/openfile.c:294
+#: g10/sign.c:1012 g10/sign.c:1326
 #, c-format
 msgid "writing to '%s'\n"
 msgstr "Schreiben nach '%s'\n"
@@ -2447,270 +2465,270 @@ msgstr "Fehler beim Erstellen von `%s': %s\n"
 msgid "[User ID not found]"
 msgstr "[User-ID nicht gefunden]"
 
-#: g10/getkey.c:1297
+#: g10/getkey.c:1441
 #, c-format
 msgid "automatically retrieved '%s' via %s\n"
 msgstr "`%s' automatisch via %s geholt\n"
 
-#: g10/getkey.c:1303
+#: g10/getkey.c:1447
 #, c-format
 msgid "error retrieving '%s' via %s: %s\n"
 msgstr "Fehler beim automatischen holen von `%s' über `%s': %s\n"
 
-#: g10/getkey.c:1305
+#: g10/getkey.c:1449
 msgid "No fingerprint"
 msgstr "Kein Fingerabdruck vorhanden"
 
-#: g10/getkey.c:1526
+#: g10/getkey.c:1670
 #, c-format
 msgid "checking for a fresh copy of an expired key via %s\n"
 msgstr ""
 "Prüfe auf eine aktuellere Kopie eines abgelaufenen Schlüssels über %s\n"
 
-#: g10/getkey.c:1941 g10/revoke.c:655 g10/revoke.c:720
+#: g10/getkey.c:2085 g10/revoke.c:655 g10/revoke.c:720
 #, c-format
 msgid "secret key \"%s\" not found: %s\n"
 msgstr "Geheimer Schlüssel \"%s\" nicht gefunden: %s\n"
 
-#: g10/getkey.c:1944 g10/pkclist.c:988
+#: g10/getkey.c:2088 g10/pkclist.c:988
 #, c-format
 msgid "(check argument of option '%s')\n"
 msgstr "(Prüfe das Argument der Option '%s')\n"
 
-#: g10/getkey.c:2020
+#: g10/getkey.c:2164
 #, c-format
 msgid "Warning: not using '%s' as default key: %s\n"
 msgstr ""
 "WARNUNG: \"%s\" wird nicht als voreingestellter geheimer Schlüssel benutzt: "
 "%s\n"
 
-#: g10/getkey.c:2028
+#: g10/getkey.c:2172
 #, c-format
 msgid "using \"%s\" as default secret key for signing\n"
 msgstr "\"%s\" wird als voreingestellter geheimer Signaturschlüssel benutzt\n"
 
-#: g10/getkey.c:2035
+#: g10/getkey.c:2179
 #, c-format
 msgid "all values passed to '%s' ignored\n"
 msgstr "Alle für '%s' angegebenen Werte wurden ignoriert\n"
 
-#: g10/getkey.c:2880
+#: g10/getkey.c:3024
 #, c-format
 msgid "Invalid key %s made valid by --allow-non-selfsigned-uid\n"
 msgstr ""
 "Ungültiger Schlüssel %s, gültig gemacht per --allow-non-selfsigned-uid\n"
 
-#: g10/getkey.c:3730
+#: g10/getkey.c:3874
 #, c-format
 msgid "using subkey %s instead of primary key %s\n"
 msgstr "der Unterschlüssel %s wird anstelle des Hauptschlüssels %s verwendet\n"
 
-#: g10/getkey.c:4275 g10/gpg.c:2107
+#: g10/getkey.c:4446 g10/gpg.c:2120
 #, c-format
 msgid "valid values for option '%s':\n"
 msgstr "Gültige Argumente für Option '%s':\n"
 
-#: g10/gpg.c:442 sm/gpgsm.c:206
+#: g10/gpg.c:439 sm/gpgsm.c:207
 msgid "make a signature"
 msgstr "Eine Signatur erzeugen"
 
-#: g10/gpg.c:443
+#: g10/gpg.c:440
 msgid "make a clear text signature"
 msgstr "Eine Klartextsignatur erzeugen"
 
-#: g10/gpg.c:445 sm/gpgsm.c:208
+#: g10/gpg.c:442 sm/gpgsm.c:209
 msgid "make a detached signature"
 msgstr "Eine abgetrennte Signatur erzeugen"
 
-#: g10/gpg.c:446 sm/gpgsm.c:209
+#: g10/gpg.c:443 sm/gpgsm.c:210
 msgid "encrypt data"
 msgstr "Daten verschlüsseln"
 
-#: g10/gpg.c:448
+#: g10/gpg.c:445
 msgid "encryption only with symmetric cipher"
 msgstr "Daten symmetrisch verschlüsseln"
 
-#: g10/gpg.c:450 sm/gpgsm.c:211
+#: g10/gpg.c:447 sm/gpgsm.c:212
 msgid "decrypt data (default)"
 msgstr "Daten entschlüsseln (Voreinstellung)"
 
-#: g10/gpg.c:452 sm/gpgsm.c:212
+#: g10/gpg.c:449 sm/gpgsm.c:213
 msgid "verify a signature"
 msgstr "Signatur prüfen"
 
-#: g10/gpg.c:454 sm/gpgsm.c:213
+#: g10/gpg.c:451 sm/gpgsm.c:214
 msgid "list keys"
 msgstr "Liste der Schlüssel"
 
-#: g10/gpg.c:456
+#: g10/gpg.c:453
 msgid "list keys and signatures"
 msgstr "Liste der Schlüssel und ihrer Signaturen"
 
-#: g10/gpg.c:459
+#: g10/gpg.c:456
 msgid "list and check key signatures"
 msgstr "Signaturen der Schlüssel auflisten und prüfen"
 
-#: g10/gpg.c:461 sm/gpgsm.c:218
+#: g10/gpg.c:458 sm/gpgsm.c:219
 msgid "list keys and fingerprints"
 msgstr "Liste der Schlüssel und ihrer \"Fingerabdrücke\""
 
-#: g10/gpg.c:462 sm/gpgsm.c:216
+#: g10/gpg.c:459 sm/gpgsm.c:217
 msgid "list secret keys"
 msgstr "Liste der geheimen Schlüssel"
 
-#: g10/gpg.c:464 sm/gpgsm.c:219
+#: g10/gpg.c:461 sm/gpgsm.c:220
 msgid "generate a new key pair"
 msgstr "Ein neues Schlüsselpaar erzeugen"
 
-#: g10/gpg.c:467
+#: g10/gpg.c:464
 msgid "quickly generate a new key pair"
 msgstr "Schnell ein neues Schlüsselpaar erzeugen"
 
-#: g10/gpg.c:470
+#: g10/gpg.c:467
 msgid "quickly add a new user-id"
 msgstr "Schnell eine neue User-ID anfügen"
 
-#: g10/gpg.c:475
+#: g10/gpg.c:472
 msgid "quickly revoke a user-id"
 msgstr "Schnell eine User-ID widerrufen"
 
-#: g10/gpg.c:478
+#: g10/gpg.c:475
 msgid "quickly set a new expiration date"
 msgstr "Schnell ein neues Ablaufdatum setzen"
 
-#: g10/gpg.c:481
+#: g10/gpg.c:478
 msgid "full featured key pair generation"
 msgstr "Ein neues Schlüsselpaar erzeugen (alle Optionen)"
 
-#: g10/gpg.c:484
+#: g10/gpg.c:481
 msgid "generate a revocation certificate"
 msgstr "Ein Schlüsselwiderruf-Zertifikat erzeugen"
 
-#: g10/gpg.c:487 sm/gpgsm.c:222
+#: g10/gpg.c:484 sm/gpgsm.c:223
 msgid "remove keys from the public keyring"
 msgstr "Schlüssel aus dem öff. Schlüsselbund entfernen"
 
-#: g10/gpg.c:489
+#: g10/gpg.c:486
 msgid "remove keys from the secret keyring"
 msgstr "Schlüssel aus dem geh. Schlüsselbund entfernen"
 
-#: g10/gpg.c:491
+#: g10/gpg.c:488
 msgid "quickly sign a key"
 msgstr "Schlüssel schnell signieren"
 
-#: g10/gpg.c:493
+#: g10/gpg.c:490
 msgid "quickly sign a key locally"
 msgstr "Schlüssel schnell nur für diesen Rechner signieren"
 
-#: g10/gpg.c:495
+#: g10/gpg.c:492
 msgid "quickly revoke a key signature"
 msgstr "Schnell eine Schlüsselsignatur widerrufen"
 
-#: g10/gpg.c:496
+#: g10/gpg.c:493
 msgid "sign a key"
 msgstr "Schlüssel signieren"
 
-#: g10/gpg.c:497
+#: g10/gpg.c:494
 msgid "sign a key locally"
 msgstr "Schlüssel nur für diesen Rechner signieren"
 
-#: g10/gpg.c:498
+#: g10/gpg.c:495
 msgid "sign or edit a key"
 msgstr "Signieren oder bearbeiten eines Schlüssels"
 
-#: g10/gpg.c:500 sm/gpgsm.c:240
+#: g10/gpg.c:497 sm/gpgsm.c:241
 msgid "change a passphrase"
-msgstr "Die Passphrase ändern"
+msgstr "Das Passwort ändern"
 
-#: g10/gpg.c:504
+#: g10/gpg.c:501
 msgid "export keys"
 msgstr "Schlüssel exportieren"
 
-#: g10/gpg.c:505
+#: g10/gpg.c:502
 msgid "export keys to a keyserver"
 msgstr "Schlüssel zu einem Schlü.server exportieren"
 
-#: g10/gpg.c:506
+#: g10/gpg.c:503
 msgid "import keys from a keyserver"
 msgstr "Schlüssel von einem Schlü.server importieren"
 
-#: g10/gpg.c:509
+#: g10/gpg.c:506
 msgid "search for keys on a keyserver"
 msgstr "Schlüssel auf einem Schlü.server suchen"
 
-#: g10/gpg.c:511
+#: g10/gpg.c:508
 msgid "update all keys from a keyserver"
 msgstr "alle Schlüssel per Schlü.server aktualisieren"
 
-#: g10/gpg.c:519
+#: g10/gpg.c:516
 msgid "import/merge keys"
 msgstr "Schlüssel importieren/kombinieren"
 
-#: g10/gpg.c:522
+#: g10/gpg.c:519
 msgid "print the card status"
 msgstr "den Karten-Status ausgeben"
 
-#: g10/gpg.c:523
+#: g10/gpg.c:520
 msgid "change data on a card"
 msgstr "Daten auf einer Karte ändern"
 
-#: g10/gpg.c:525
+#: g10/gpg.c:522
 msgid "change a card's PIN"
 msgstr "PIN einer Karte ändern"
 
-#: g10/gpg.c:537
+#: g10/gpg.c:534
 msgid "update the trust database"
 msgstr "Ändern der \"Trust\"-Datenbank"
 
-#: g10/gpg.c:546
+#: g10/gpg.c:543
 msgid "print message digests"
 msgstr "Hashwerte für die Dateien ausgeben"
 
-#: g10/gpg.c:549 sm/gpgsm.c:235
+#: g10/gpg.c:546 sm/gpgsm.c:236
 msgid "run in server mode"
 msgstr "Im Server Modus ausführen"
 
-#: g10/gpg.c:551
+#: g10/gpg.c:548
 msgid "|VALUE|set the TOFU policy for a key"
 msgstr "|WERT|Setze die TOFU-Politik für einen Schlüssel"
 
-#: g10/gpg.c:555 sm/gpgsm.c:254
+#: g10/gpg.c:552 sm/gpgsm.c:255
 msgid "create ascii armored output"
 msgstr "Ausgabe mit ASCII-Hülle versehen"
 
-#: g10/gpg.c:558 sm/gpgsm.c:271
+#: g10/gpg.c:555 sm/gpgsm.c:272
 msgid "|USER-ID|encrypt for USER-ID"
 msgstr "|USER-ID|Verschlüsseln für USER-ID"
 
-#: g10/gpg.c:574 sm/gpgsm.c:307
+#: g10/gpg.c:571 sm/gpgsm.c:308
 msgid "|USER-ID|use USER-ID to sign or decrypt"
 msgstr "|USER-ID|Mit USER-ID signieren bzw. entschlüsseln"
 
-#: g10/gpg.c:580
+#: g10/gpg.c:577
 msgid "|N|set compress level to N (0 disables)"
 msgstr "|N|Kompressionsstufe auf N setzen (0=keine)"
 
-#: g10/gpg.c:587
+#: g10/gpg.c:584
 msgid "use canonical text mode"
 msgstr "Textmodus benutzen"
 
-#: g10/gpg.c:604 g10/gpgv.c:82 sm/gpgsm.c:309
+#: g10/gpg.c:601 g10/gpgv.c:82 sm/gpgsm.c:310
 msgid "|FILE|write output to FILE"
 msgstr "|DATEI|Ausgabe auf DATEI schreiben"
 
-#: g10/gpg.c:614 kbx/kbxutil.c:90 sm/gpgsm.c:321 tools/gpgconf.c:110
+#: g10/gpg.c:611 kbx/kbxutil.c:90 sm/gpgsm.c:322 tools/gpgconf.c:110
 msgid "do not make any changes"
 msgstr "Keine wirklichen Änderungen durchführen"
 
-#: g10/gpg.c:615
+#: g10/gpg.c:612
 msgid "prompt before overwriting"
 msgstr "vor Überschreiben nachfragen"
 
-#: g10/gpg.c:665
+#: g10/gpg.c:662
 msgid "use strict OpenPGP behavior"
 msgstr "OpenPGP-Verhalten strikt beachten"
 
-#: g10/gpg.c:692 sm/gpgsm.c:364
+#: g10/gpg.c:689 sm/gpgsm.c:367
 msgid ""
 "@\n"
 "(See the man page for a complete listing of all commands and options)\n"
@@ -2719,7 +2737,7 @@ msgstr ""
 "(Auf der \"man\"-Seite ist eine vollständige Liste aller Befehle und "
 "Optionen)\n"
 
-#: g10/gpg.c:695
+#: g10/gpg.c:692
 msgid ""
 "@\n"
 "Examples:\n"
@@ -2739,11 +2757,11 @@ msgstr ""
 " --list-keys [Namen]        Schlüssel anzeigen\n"
 " --fingerprint [Namen]      \"Fingerabdrücke\" anzeigen\n"
 
-#: g10/gpg.c:1092
+#: g10/gpg.c:1096
 msgid "Usage: @GPG@ [options] [files] (-h for help)"
 msgstr "Aufruf: @GPG@ [Optionen] [Dateien] (-h für Hilfe)"
 
-#: g10/gpg.c:1095
+#: g10/gpg.c:1099
 msgid ""
 "Syntax: @GPG@ [options] [files]\n"
 "Sign, check, encrypt or decrypt\n"
@@ -2753,7 +2771,7 @@ msgstr ""
 "Signieren, prüfen, verschlüsseln, entschlüsseln.\n"
 "Die voreingestellte Operation ist abhängig von den Eingabedaten\n"
 
-#: g10/gpg.c:1106 sm/gpgsm.c:591
+#: g10/gpg.c:1110 sm/gpgsm.c:594
 msgid ""
 "\n"
 "Supported algorithms:\n"
@@ -2761,75 +2779,75 @@ msgstr ""
 "\n"
 "Unterstützte Verfahren:\n"
 
-#: g10/gpg.c:1109
+#: g10/gpg.c:1113
 msgid "Pubkey: "
 msgstr "Öff. Schlüssel: "
 
-#: g10/gpg.c:1116 g10/keyedit.c:3281
+#: g10/gpg.c:1120 g10/keyedit.c:3282
 msgid "Cipher: "
 msgstr "Verschlü.: "
 
-#: g10/gpg.c:1123
+#: g10/gpg.c:1127
 msgid "Hash: "
 msgstr "Hash: "
 
-#: g10/gpg.c:1130 g10/keyedit.c:3347
+#: g10/gpg.c:1134 g10/keyedit.c:3348
 msgid "Compression: "
 msgstr "Komprimierung: "
 
-#: g10/gpg.c:1199 sm/gpgsm.c:665
+#: g10/gpg.c:1207 sm/gpgsm.c:668
 #, c-format
 msgid "usage: %s [options] %s\n"
 msgstr "Aufruf: %s [Optionen] %s\n"
 
-#: g10/gpg.c:1388 sm/gpgsm.c:754
+#: g10/gpg.c:1396 sm/gpgsm.c:761
 #, c-format
 msgid "conflicting commands\n"
 msgstr "Widersprüchliche Befehle\n"
 
-#: g10/gpg.c:1406
+#: g10/gpg.c:1414
 #, c-format
 msgid "no = sign found in group definition '%s'\n"
 msgstr "Kein '='-Zeichen in der Gruppendefinition gefunden `%s'\n"
 
-#: g10/gpg.c:1604
+#: g10/gpg.c:1612
 #, c-format
 msgid "WARNING: unsafe ownership on homedir '%s'\n"
 msgstr "WARNUNG: Unsicheres Besitzverhältnis des Home-Verzeichnis `%s'\n"
 
-#: g10/gpg.c:1607
+#: g10/gpg.c:1615
 #, c-format
 msgid "WARNING: unsafe ownership on configuration file '%s'\n"
 msgstr "WARNUNG: Unsicheres Besitzverhältnis der Konfigurationsdatei `%s'\n"
 
-#: g10/gpg.c:1610
+#: g10/gpg.c:1618
 #, c-format
 msgid "WARNING: unsafe ownership on extension '%s'\n"
 msgstr "WARNUNG: Unsicheres Besitzverhältnis auf die Erweiterung `%s'\n"
 
-#: g10/gpg.c:1616
+#: g10/gpg.c:1624
 #, c-format
 msgid "WARNING: unsafe permissions on homedir '%s'\n"
 msgstr "WARNUNG: Unsichere Zugriffsrechte des Home-Verzeichnis `%s'\n"
 
-#: g10/gpg.c:1619
+#: g10/gpg.c:1627
 #, c-format
 msgid "WARNING: unsafe permissions on configuration file '%s'\n"
 msgstr "WARNUNG: Unsichere Zugriffsrechte der Konfigurationsdatei `%s'\n"
 
-#: g10/gpg.c:1622
+#: g10/gpg.c:1630
 #, c-format
 msgid "WARNING: unsafe permissions on extension '%s'\n"
 msgstr "WARNUNG: Unsichere Zugriffsrechte auf die Erweiterung `%s'\n"
 
-#: g10/gpg.c:1628
+#: g10/gpg.c:1636
 #, c-format
 msgid "WARNING: unsafe enclosing directory ownership on homedir '%s'\n"
 msgstr ""
 "WARNUNG: Unsicheres Besitzverhältnis des umgebenden Verzeichnisses für Home-"
 "Verzeichnis `%s'\n"
 
-#: g10/gpg.c:1631
+#: g10/gpg.c:1639
 #, c-format
 msgid ""
 "WARNING: unsafe enclosing directory ownership on configuration file '%s'\n"
@@ -2837,20 +2855,20 @@ msgstr ""
 "WARNUNG: Unsicheres Besitzverhältnis des umgebenden Verzeichnisses der "
 "Konfigurationsdatei '%s'\n"
 
-#: g10/gpg.c:1634
+#: g10/gpg.c:1642
 #, c-format
 msgid "WARNING: unsafe enclosing directory ownership on extension '%s'\n"
 msgstr ""
 "WARNUNG: Unsicheres Besitzverhältnis des umgebenden Verzeichnisses `%s'\n"
 
-#: g10/gpg.c:1640
+#: g10/gpg.c:1648
 #, c-format
 msgid "WARNING: unsafe enclosing directory permissions on homedir '%s'\n"
 msgstr ""
 "WARNUNG: Unsichere Zugriffsrechte des umgebenden Verzeichnisses des Home-"
 "Verzeichnisses `%s'\n"
 
-#: g10/gpg.c:1643
+#: g10/gpg.c:1651
 #, c-format
 msgid ""
 "WARNING: unsafe enclosing directory permissions on configuration file '%s'\n"
@@ -2858,457 +2876,457 @@ msgstr ""
 "WARNUNG: Unsichere Zugriffsrechte des umgebenden Verzeichnisses der "
 "Konfigurationsdatei '%s'\n"
 
-#: g10/gpg.c:1646
+#: g10/gpg.c:1654
 #, c-format
 msgid "WARNING: unsafe enclosing directory permissions on extension '%s'\n"
 msgstr ""
 "WARNUNG: Unsichere Zugriffsrechte des umgebenden Verzeichnisses auf "
 "Erweiterung `%s'\n"
 
-#: g10/gpg.c:1862
+#: g10/gpg.c:1870
 #, c-format
 msgid "unknown configuration item '%s'\n"
 msgstr "Unbekanntes Konfigurationselement `%s'\n"
 
-#: g10/gpg.c:1979
+#: g10/gpg.c:1992
 msgid "display photo IDs during key listings"
 msgstr "Anzeigen der Foto-ID in den Schlüssellisten"
 
-#: g10/gpg.c:1981
+#: g10/gpg.c:1994
 msgid "show key usage information during key listings"
 msgstr "Schlüsselverwendungszwecke mit den Schlüsseln anlisten"
 
-#: g10/gpg.c:1983
+#: g10/gpg.c:1996
 msgid "show policy URLs during signature listings"
 msgstr "Richtlinien-URL mit den Signaturen anlisten"
 
-#: g10/gpg.c:1985
+#: g10/gpg.c:1998
 msgid "show all notations during signature listings"
 msgstr "Alle Notationen mit den Signaturen anlisten"
 
-#: g10/gpg.c:1987
+#: g10/gpg.c:2000
 msgid "show IETF standard notations during signature listings"
 msgstr "Standard Notationen mit den Signaturen anlisten"
 
-#: g10/gpg.c:1991
+#: g10/gpg.c:2004
 msgid "show user-supplied notations during signature listings"
 msgstr "Benutzer-Notationen mit den Signaturen anlisten"
 
-#: g10/gpg.c:1993
+#: g10/gpg.c:2006
 msgid "show preferred keyserver URLs during signature listings"
 msgstr "Bevorzugten Schlüsselserver mit den Signaturen anlisten"
 
-#: g10/gpg.c:1995
+#: g10/gpg.c:2008
 msgid "show user ID validity during key listings"
 msgstr "Zeige Gültigkeit der User-ID in den Schlüssellisten"
 
-#: g10/gpg.c:1997
+#: g10/gpg.c:2010
 msgid "show revoked and expired user IDs in key listings"
 msgstr "Zeige widerrufene und verfallene User-ID in den Schlüssellisten"
 
-#: g10/gpg.c:1999
+#: g10/gpg.c:2012
 msgid "show revoked and expired subkeys in key listings"
 msgstr "Zeige widerrufene und verfallene Unterschlüssel in den Schlüssellisten"
 
-#: g10/gpg.c:2001
+#: g10/gpg.c:2014
 msgid "show the keyring name in key listings"
 msgstr "Anzeigen des Schlüsselbundes, in dem ein Schlüssel drin ist"
 
-#: g10/gpg.c:2003
+#: g10/gpg.c:2016
 msgid "show expiration dates during signature listings"
 msgstr "Das Ablaufdatum mit den Signaturen anlisten"
 
-#: g10/gpg.c:2118
+#: g10/gpg.c:2131
 #, c-format
 msgid "unknown TOFU policy '%s'\n"
 msgstr "Unbekannte TOFU Regel '%s'\n"
 
-#: g10/gpg.c:2120
+#: g10/gpg.c:2133
 #, c-format
 msgid "(use \"help\" to list choices)\n"
 msgstr "(\"help\" um mögliche Werte anzuzeigen)\n"
 
-#: g10/gpg.c:2840 g10/gpg.c:3671 g10/gpg.c:3683
+#: g10/gpg.c:2856 g10/gpg.c:3691 g10/gpg.c:3703
 #, c-format
 msgid "Note: %s is not for normal use!\n"
 msgstr "Hinweis: %s ist nicht für den üblichen Gebrauch gedacht!\n"
 
-#: g10/gpg.c:3017 g10/gpg.c:3029
+#: g10/gpg.c:3033 g10/gpg.c:3045
 #, c-format
 msgid "'%s' is not a valid signature expiration\n"
 msgstr "`%s' ist kein gültiges Signaturablaufdatum\n"
 
-#: g10/gpg.c:3051
+#: g10/gpg.c:3067
 #, c-format
 msgid "\"%s\" is not a proper mail address\n"
 msgstr "\"%s\" ist keine gültige E-Mailadresse\n"
 
-#: g10/gpg.c:3083 sm/gpgsm.c:1177
+#: g10/gpg.c:3099 sm/gpgsm.c:1091
 #, c-format
 msgid "invalid pinentry mode '%s'\n"
 msgstr "Ungültiger Subjekt-Name '%s'\n"
 
-#: g10/gpg.c:3089 sm/gpgsm.c:1183
+#: g10/gpg.c:3105 sm/gpgsm.c:1097
 #, c-format
 msgid "invalid request origin '%s'\n"
 msgstr "Ungültiges \"Herkunft\"-Argument '%s'\n"
 
-#: g10/gpg.c:3143
+#: g10/gpg.c:3159
 #, c-format
 msgid "'%s' is not a valid character set\n"
 msgstr "`%s' ist kein gültiger Zeichensatz\n"
 
-#: g10/gpg.c:3165 g10/gpg.c:3375 g10/keyedit.c:5281
+#: g10/gpg.c:3181 g10/gpg.c:3395 g10/keyedit.c:5282
 #, c-format
 msgid "could not parse keyserver URL\n"
 msgstr "Schlüsselserver-URL konnte nicht analysiert werden\n"
 
-#: g10/gpg.c:3183
+#: g10/gpg.c:3199
 #, c-format
 msgid "%s:%d: invalid keyserver options\n"
 msgstr "%s:%d: ungültige Schlüsselserver-Option\n"
 
-#: g10/gpg.c:3186
+#: g10/gpg.c:3202
 #, c-format
 msgid "invalid keyserver options\n"
 msgstr "Ungültige Schlüsselserver-Option\n"
 
-#: g10/gpg.c:3193
+#: g10/gpg.c:3209
 #, c-format
 msgid "%s:%d: invalid import options\n"
 msgstr "%s:%d: ungültige Import-Option\n"
 
-#: g10/gpg.c:3196
+#: g10/gpg.c:3212
 #, c-format
 msgid "invalid import options\n"
 msgstr "Ungültige Import-Option\n"
 
-#: g10/gpg.c:3202 g10/gpg.c:3217
+#: g10/gpg.c:3218 g10/gpg.c:3233
 #, c-format
 msgid "invalid filter option: %s\n"
 msgstr "Ungültige Filter-Option: %s\n"
 
-#: g10/gpg.c:3208
+#: g10/gpg.c:3224
 #, c-format
 msgid "%s:%d: invalid export options\n"
 msgstr "%s:%d: ungültige Export-Option.\n"
 
-#: g10/gpg.c:3211
+#: g10/gpg.c:3227
 #, c-format
 msgid "invalid export options\n"
 msgstr "Ungültige Export-Option\n"
 
-#: g10/gpg.c:3223
+#: g10/gpg.c:3239
 #, c-format
 msgid "%s:%d: invalid list options\n"
 msgstr "%s:%d: ungültige Listen-Option.\n"
 
-#: g10/gpg.c:3226
+#: g10/gpg.c:3242
 #, c-format
 msgid "invalid list options\n"
 msgstr "Ungültige Listen-Option\n"
 
-#: g10/gpg.c:3234
+#: g10/gpg.c:3250
 msgid "display photo IDs during signature verification"
 msgstr "Foto-ID während der Signaturprüfung anzeigen"
 
-#: g10/gpg.c:3236
+#: g10/gpg.c:3252
 msgid "show policy URLs during signature verification"
 msgstr "Richtlinien-URLs während der Signaturprüfung anzeigen"
 
-#: g10/gpg.c:3238
+#: g10/gpg.c:3254
 msgid "show all notations during signature verification"
 msgstr "Alle Notationen während der Signaturprüfung anzeigen"
 
-#: g10/gpg.c:3240
+#: g10/gpg.c:3256
 msgid "show IETF standard notations during signature verification"
 msgstr "Standard-Notationen während der Signaturprüfung anzeigen"
 
-#: g10/gpg.c:3244
+#: g10/gpg.c:3260
 msgid "show user-supplied notations during signature verification"
 msgstr "Benutzer-Notationen während der Signaturprüfung anzeigen"
 
-#: g10/gpg.c:3246
+#: g10/gpg.c:3262
 msgid "show preferred keyserver URLs during signature verification"
 msgstr ""
 "Die URL für den bevorzugten Schlüsselserver während der Signaturprüfung "
 "anzeigen"
 
-#: g10/gpg.c:3248
+#: g10/gpg.c:3264
 msgid "show user ID validity during signature verification"
 msgstr "Die Gültigkeit der User-ID während der Signaturprüfung anzeigen"
 
-#: g10/gpg.c:3250
+#: g10/gpg.c:3266
 msgid "show revoked and expired user IDs in signature verification"
 msgstr "Zeige widerrufene und verfallene User-IDs während der Signaturprüfung"
 
-#: g10/gpg.c:3252
+#: g10/gpg.c:3268
 msgid "show only the primary user ID in signature verification"
 msgstr "Zeige nur die Haupt-User-ID während der Signaturprüfung"
 
-#: g10/gpg.c:3254
+#: g10/gpg.c:3270
 msgid "validate signatures with PKA data"
 msgstr "Prüfe Signaturgültigkeit mittels PKA-Daten"
 
-#: g10/gpg.c:3256
+#: g10/gpg.c:3272
 msgid "elevate the trust of signatures with valid PKA data"
 msgstr "Werte das Vertrauen zu Signaturen durch gültige PKA-Daten auf"
 
-#: g10/gpg.c:3263
+#: g10/gpg.c:3279
 #, c-format
 msgid "%s:%d: invalid verify options\n"
 msgstr "%s:%d: ungültige Überprüfungs-Option.\n"
 
-#: g10/gpg.c:3266
+#: g10/gpg.c:3282
 #, c-format
 msgid "invalid verify options\n"
 msgstr "Ungültige Überprüfungs-Option\n"
 
-#: g10/gpg.c:3273
+#: g10/gpg.c:3289
 #, c-format
 msgid "unable to set exec-path to %s\n"
 msgstr "Der Ausführungspfad konnte nicht auf %s gesetzt werden.\n"
 
-#: g10/gpg.c:3478
+#: g10/gpg.c:3498
 #, c-format
 msgid "%s:%d: invalid auto-key-locate list\n"
 msgstr "%s:%d: ungültige \"auto-key-locate\"-Liste\n"
 
-#: g10/gpg.c:3481
+#: g10/gpg.c:3501
 #, c-format
 msgid "invalid auto-key-locate list\n"
 msgstr "ungültige \"auto-key-locate\"-Liste\n"
 
-#: g10/gpg.c:3653 sm/gpgsm.c:1541
+#: g10/gpg.c:3673 sm/gpgsm.c:1441
 #, c-format
 msgid "WARNING: program may create a core file!\n"
 msgstr "WARNUNG: Programm könnte eine core-dump-Datei schreiben!\n"
 
-#: g10/gpg.c:3664
+#: g10/gpg.c:3684
 #, c-format
 msgid "WARNING: %s overrides %s\n"
 msgstr "WARNUNG: %s ersetzt %s\n"
 
-#: g10/gpg.c:3673
+#: g10/gpg.c:3693
 #, c-format
 msgid "%s not allowed with %s!\n"
 msgstr "%s zusammen mit %s ist nicht erlaubt!\n"
 
-#: g10/gpg.c:3676
+#: g10/gpg.c:3696
 #, c-format
 msgid "%s makes no sense with %s!\n"
 msgstr "%s zusammen mit %s ist nicht sinnvoll!\n"
 
-#: g10/gpg.c:3691 sm/gpgsm.c:1558 dirmngr/dirmngr.c:1082
+#: g10/gpg.c:3711 sm/gpgsm.c:1458 dirmngr/dirmngr.c:1117
 #, c-format
 msgid "WARNING: running with faked system time: "
 msgstr "WARNUNG: Ausführung mit gefälschter Systemzeit: "
 
-#: g10/gpg.c:3712
+#: g10/gpg.c:3732
 #, c-format
 msgid "will not run with insecure memory due to %s\n"
 msgstr "Startet nicht mit unsicherem Speicher, wegen Option %s\n"
 
-#: g10/gpg.c:3747 g10/gpg.c:3771 sm/gpgsm.c:1625
+#: g10/gpg.c:3767 g10/gpg.c:3791 sm/gpgsm.c:1525
 #, c-format
 msgid "selected cipher algorithm is invalid\n"
 msgstr "Das ausgewählte Verschlüsselungsverfahren ist ungültig\n"
 
-#: g10/gpg.c:3759
+#: g10/gpg.c:3779
 #, c-format
 msgid "selected compression algorithm is invalid\n"
 msgstr "Das ausgewählte Komprimierungsverfahren ist ungültig\n"
 
-#: g10/gpg.c:3765
+#: g10/gpg.c:3785
 #, c-format
 msgid "selected certification digest algorithm is invalid\n"
 msgstr "Das ausgewählte Hashverfahren ist ungültig\n"
 
-#: g10/gpg.c:3780
+#: g10/gpg.c:3800
 #, c-format
 msgid "completes-needed must be greater than 0\n"
 msgstr "completes-needed müssen größer als 0 sein\n"
 
-#: g10/gpg.c:3782
+#: g10/gpg.c:3802
 #, c-format
 msgid "marginals-needed must be greater than 1\n"
 msgstr "marginals-needed müssen größer als 1 sein\n"
 
-#: g10/gpg.c:3784
+#: g10/gpg.c:3804
 #, c-format
 msgid "max-cert-depth must be in the range from 1 to 255\n"
 msgstr "max-cert-depth muß im Bereich 1 bis 255 liegen\n"
 
-#: g10/gpg.c:3786
+#: g10/gpg.c:3806
 #, c-format
 msgid "invalid default-cert-level; must be 0, 1, 2, or 3\n"
 msgstr "ungültiger \"default-cert-level\"; Wert muß 0, 1, 2 oder 3 sein\n"
 
-#: g10/gpg.c:3788
+#: g10/gpg.c:3808
 #, c-format
 msgid "invalid min-cert-level; must be 1, 2, or 3\n"
 msgstr "ungültiger \"min-cert-level\"; Wert muß 0, 1, 2 oder 3 sein\n"
 
-#: g10/gpg.c:3791
+#: g10/gpg.c:3812
 #, c-format
 msgid "Note: simple S2K mode (0) is strongly discouraged\n"
 msgstr "Hinweis: Vom \"simple S2K\"-Modus (0) ist strikt abzuraten\n"
 
-#: g10/gpg.c:3795
+#: g10/gpg.c:3816
 #, c-format
 msgid "invalid S2K mode; must be 0, 1 or 3\n"
 msgstr "ungültiger \"simple S2K\"-Modus; Wert muß 0, 1 oder 3 sein\n"
 
-#: g10/gpg.c:3802
+#: g10/gpg.c:3823
 #, c-format
 msgid "invalid default preferences\n"
 msgstr "ungültige Standard-Voreinstellungen\n"
 
-#: g10/gpg.c:3806
+#: g10/gpg.c:3827
 #, c-format
 msgid "invalid personal cipher preferences\n"
 msgstr "ungültige private Verschlüsselungsvoreinstellungen\n"
 
-#: g10/gpg.c:3810
+#: g10/gpg.c:3831
 #, c-format
 msgid "invalid personal digest preferences\n"
 msgstr "ungültige private Hashvoreinstellungen\n"
 
-#: g10/gpg.c:3814
+#: g10/gpg.c:3835
 #, c-format
 msgid "invalid personal compress preferences\n"
 msgstr "ungültige private Komprimierungsvoreinstellungen\n"
 
-#: g10/gpg.c:3850
+#: g10/gpg.c:3871
 #, c-format
 msgid "%s does not yet work with %s\n"
 msgstr "%s arbeitet noch nicht mit %s zusammen\n"
 
-#: g10/gpg.c:3913
+#: g10/gpg.c:3934
 #, c-format
 msgid "compression algorithm '%s' may not be used in %s mode\n"
 msgstr ""
 "Die Benutzung des Komprimierverfahren %s ist im %s Modus nicht erlaubt.\n"
 
-#: g10/gpg.c:4057
+#: g10/gpg.c:4078
 #, c-format
 msgid "failed to initialize the TrustDB: %s\n"
 msgstr "Die Trust-DB kann nicht initialisiert werden: %s\n"
 
-#: g10/gpg.c:4069
+#: g10/gpg.c:4090
 #, c-format
 msgid "WARNING: recipients (-r) given without using public key encryption\n"
 msgstr ""
 "WARNUNG: Empfänger (-r) angegeben ohne Verwendung von Public-Key-Verfahren\n"
 
-#: g10/gpg.c:4141
+#: g10/gpg.c:4162
 #, c-format
 msgid "symmetric encryption of '%s' failed: %s\n"
 msgstr "Symmetrische Entschlüsselung von `%s' fehlgeschlagen: %s\n"
 
-#: g10/gpg.c:4170
+#: g10/gpg.c:4191
 #, c-format
 msgid "you cannot use --symmetric --encrypt with --s2k-mode 0\n"
 msgstr ""
 "--symmetric --encrypt kann nicht zusammen mit --s2k-mode 0 verwendet werden\n"
 
-#: g10/gpg.c:4173
+#: g10/gpg.c:4194
 #, c-format
 msgid "you cannot use --symmetric --encrypt in %s mode\n"
 msgstr "Im %s Modus kann --symmetric --encrypt nicht verwendet werden.\n"
 
-#: g10/gpg.c:4231
+#: g10/gpg.c:4252
 #, c-format
 msgid "you cannot use --symmetric --sign --encrypt with --s2k-mode 0\n"
 msgstr ""
 "--symmetric --sign --encrypt kann nicht zusammen mit --s2k-mode 0 verwendet "
 "werden\n"
 
-#: g10/gpg.c:4234
+#: g10/gpg.c:4255
 #, c-format
 msgid "you cannot use --symmetric --sign --encrypt in %s mode\n"
 msgstr ""
 "Im %s Modus kann --symmetric --sign --encrypt nicht verwendet werden.\n"
 
-#: g10/gpg.c:4622 g10/keyserver.c:1881
+#: g10/gpg.c:4643 g10/keyserver.c:1648
 #, c-format
 msgid "keyserver send failed: %s\n"
 msgstr "Senden an Schlüsselserver fehlgeschlagen: %s\n"
 
-#: g10/gpg.c:4627
+#: g10/gpg.c:4648
 #, c-format
 msgid "keyserver receive failed: %s\n"
 msgstr "Empfangen vom Schlüsselserver fehlgeschlagen: %s\n"
 
-#: g10/gpg.c:4633
+#: g10/gpg.c:4654
 #, c-format
 msgid "key export failed: %s\n"
 msgstr "Schlüsselexport fehlgeschlagen: %s\n"
 
-#: g10/gpg.c:4646
+#: g10/gpg.c:4667
 #, c-format
 msgid "export as ssh key failed: %s\n"
 msgstr "Schlüsselexport im SSH Format fehlgeschlagen: %s\n"
 
-#: g10/gpg.c:4658
+#: g10/gpg.c:4679
 #, c-format
 msgid "keyserver search failed: %s\n"
 msgstr "Suche auf dem Schlüsselserver fehlgeschlagen: %s\n"
 
-#: g10/gpg.c:4671
+#: g10/gpg.c:4692
 #, c-format
 msgid "keyserver refresh failed: %s\n"
 msgstr "Refresh vom Schlüsselserver fehlgeschlagen: %s\n"
 
-#: g10/gpg.c:4738
+#: g10/gpg.c:4759
 #, c-format
 msgid "dearmoring failed: %s\n"
 msgstr "Entfernen der ASCII-Hülle ist fehlgeschlagen: %s\n"
 
-#: g10/gpg.c:4749
+#: g10/gpg.c:4770
 #, c-format
 msgid "enarmoring failed: %s\n"
 msgstr "Anbringen der ASCII-Hülle ist fehlgeschlagen: %s\n"
 
-#: g10/gpg.c:4841
+#: g10/gpg.c:4862
 #, c-format
 msgid "invalid hash algorithm '%s'\n"
 msgstr "Ungültiges Hashverfahren '%s'\n"
 
-#: g10/gpg.c:4993 g10/tofu.c:2153
+#: g10/gpg.c:5014 g10/tofu.c:2153
 #, c-format
 msgid "error parsing key specification '%s': %s\n"
 msgstr "Fehler in der Schlüsselangabe '%s': %s\n"
 
-#: g10/gpg.c:5006
+#: g10/gpg.c:5027
 #, c-format
 msgid "'%s' does not appear to be a valid key ID, fingerprint or keygrip\n"
 msgstr ""
 "'%s\" sieht nicht nach einer gültigen Schlüssel-ID, einem Fingerabdruck oder "
 "einem \"Keygrip\" aus\n"
 
-#: g10/gpg.c:5062
+#: g10/gpg.c:5083
 #, c-format
 msgid "WARNING: no command supplied.  Trying to guess what you mean ...\n"
 msgstr ""
 "WARNING:  Kein Kommando angegeben.  Versuche zu raten was gemeint ist ...\n"
 
-#: g10/gpg.c:5073
+#: g10/gpg.c:5094
 #, c-format
 msgid "Go ahead and type your message ...\n"
 msgstr "Auf geht's - Botschaft eintippen ...\n"
 
-#: g10/gpg.c:5418
+#: g10/gpg.c:5439
 #, c-format
 msgid "the given certification policy URL is invalid\n"
 msgstr "Die angegebene Zertifikat-Richtlinien-URL ist ungültig\n"
 
-#: g10/gpg.c:5420
+#: g10/gpg.c:5441
 #, c-format
 msgid "the given signature policy URL is invalid\n"
 msgstr "Die angegebene Signatur-Richtlinien-URL ist ungültig\n"
 
-#: g10/gpg.c:5453
+#: g10/gpg.c:5474
 #, c-format
 msgid "the given preferred keyserver URL is invalid\n"
 msgstr "Die angegebene URL des bevorzugten Schlüsselserver ist ungültig\n"
@@ -3321,7 +3339,7 @@ msgstr "|DATEI|Schlüssel aus der Schlüsselbund DATEI nehmen"
 msgid "make timestamp conflicts only a warning"
 msgstr "differierende Zeitangaben sind kein Fehler"
 
-#: g10/gpgv.c:86 sm/gpgsm.c:354 tools/gpgconf.c:112
+#: g10/gpgv.c:86 sm/gpgsm.c:357 tools/gpgconf.c:112
 msgid "|FD|write status info to this FD"
 msgstr "|FD|Statusinfo auf FD (Dateihandle) ausgeben"
 
@@ -3398,97 +3416,97 @@ msgstr "Eingabedaten sind im GnuPG Datensicherungsformat für Schlüssel"
 msgid "repair keys on import"
 msgstr "Schlüssel beim Import reparieren"
 
-#: g10/import.c:380 g10/import.c:699
+#: g10/import.c:392 g10/import.c:711
 #, c-format
 msgid "skipping block of type %d\n"
 msgstr "überspringe den Block vom Typ %d\n"
 
-#: g10/import.c:716
+#: g10/import.c:728
 #, c-format
 msgid "%lu keys processed so far\n"
 msgstr "%lu Schlüssel bislang bearbeitet\n"
 
-#: g10/import.c:802
+#: g10/import.c:814
 #, c-format
 msgid "Total number processed: %lu\n"
 msgstr "Anzahl insgesamt bearbeiteter Schlüssel: %lu\n"
 
-#: g10/import.c:805
+#: g10/import.c:817
 #, c-format
 msgid "    skipped PGP-2 keys: %lu\n"
 msgstr "             ignorierte PGP-2 Schlüssel: %lu\n"
 
-#: g10/import.c:807
+#: g10/import.c:819
 #, c-format
 msgid "      skipped new keys: %lu\n"
 msgstr "              ignorierte neue Schlüssel: %lu\n"
 
-#: g10/import.c:810
+#: g10/import.c:822
 #, c-format
 msgid "          w/o user IDs: %lu\n"
 msgstr "                           ohne User-ID: %lu\n"
 
-#: g10/import.c:813 sm/import.c:130
+#: g10/import.c:825 sm/import.c:130
 #, c-format
 msgid "              imported: %lu"
 msgstr "                             importiert: %lu"
 
-#: g10/import.c:817 sm/import.c:134
+#: g10/import.c:829 sm/import.c:134
 #, c-format
 msgid "             unchanged: %lu\n"
 msgstr "                            unverändert: %lu\n"
 
-#: g10/import.c:819
+#: g10/import.c:831
 #, c-format
 msgid "          new user IDs: %lu\n"
 msgstr "                          neue User-IDs: %lu\n"
 
-#: g10/import.c:821
+#: g10/import.c:833
 #, c-format
 msgid "           new subkeys: %lu\n"
 msgstr "                    neue Unterschlüssel: %lu\n"
 
-#: g10/import.c:823
+#: g10/import.c:835
 #, c-format
 msgid "        new signatures: %lu\n"
 msgstr "                        neue Signaturen: %lu\n"
 
-#: g10/import.c:825
+#: g10/import.c:837
 #, c-format
 msgid "   new key revocations: %lu\n"
 msgstr "                neue Schlüsselwiderrufe: %lu\n"
 
-#: g10/import.c:827 sm/import.c:136
+#: g10/import.c:839 sm/import.c:136
 #, c-format
 msgid "      secret keys read: %lu\n"
 msgstr "             gelesene geheime Schlüssel: %lu\n"
 
-#: g10/import.c:829 sm/import.c:138
+#: g10/import.c:841 sm/import.c:138
 #, c-format
 msgid "  secret keys imported: %lu\n"
 msgstr "           geheime Schlüssel importiert: %lu\n"
 
-#: g10/import.c:831 sm/import.c:140
+#: g10/import.c:843 sm/import.c:140
 #, c-format
 msgid " secret keys unchanged: %lu\n"
 msgstr "                unveränderte geh. Schl.: %lu\n"
 
-#: g10/import.c:833 sm/import.c:142
+#: g10/import.c:845 sm/import.c:142
 #, c-format
 msgid "          not imported: %lu\n"
 msgstr "                       nicht importiert: %lu\n"
 
-#: g10/import.c:835
+#: g10/import.c:847
 #, c-format
 msgid "    signatures cleaned: %lu\n"
 msgstr "    Signaturen bereinigt: %lu\n"
 
-#: g10/import.c:837
+#: g10/import.c:849
 #, c-format
 msgid "      user IDs cleaned: %lu\n"
 msgstr "      User-IDs bereinigt: %lu\n"
 
-#: g10/import.c:1264
+#: g10/import.c:1276
 #, c-format
 msgid ""
 "WARNING: key %s contains preferences for unavailable\n"
@@ -3497,170 +3515,170 @@ msgstr ""
 "WARNUNG: Schlüssel %s hat Einstellungen zu nicht verfügbaren\n"
 "Verfahren für folgende User-ID:\n"
 
-#: g10/import.c:1306
+#: g10/import.c:1318
 #, c-format
 msgid "         \"%s\": preference for cipher algorithm %s\n"
 msgstr "         \"%s\": Einstellungen des Verschlüsselungsverfahren %s\n"
 
-#: g10/import.c:1321
+#: g10/import.c:1333
 #, c-format
 msgid "         \"%s\": preference for digest algorithm %s\n"
 msgstr "         \"%s\": Einstellungen der Hashmethode %s\n"
 
-#: g10/import.c:1333
+#: g10/import.c:1345
 #, c-format
 msgid "         \"%s\": preference for compression algorithm %s\n"
 msgstr "         \"%s\": Einstellungen der Komprimierungsverfahren %s\n"
 
-#: g10/import.c:1346
+#: g10/import.c:1358
 #, c-format
 msgid "it is strongly suggested that you update your preferences and\n"
 msgstr "es ist extrem empfehlenswert Ihre Einstellungen zu ändern und\n"
 
-#: g10/import.c:1348
+#: g10/import.c:1360
 #, c-format
 msgid "re-distribute this key to avoid potential algorithm mismatch problems\n"
 msgstr ""
 "diesen Schlüssel wieder zu verteilen, um mögliche Probleme durch unpassende "
 "Verfahrenskombinationen zu vermeiden\n"
 
-#: g10/import.c:1373
+#: g10/import.c:1385
 #, c-format
 msgid "you can update your preferences with: gpg --edit-key %s updpref save\n"
 msgstr ""
 "Sie können Ihren Einstellungen mittels \"gpg --edit-key %s updpref save\" "
 "ändern\n"
 
-#: g10/import.c:1887 g10/import.c:3001
+#: g10/import.c:1899 g10/import.c:3013
 #, c-format
 msgid "key %s: no user ID\n"
 msgstr "Schlüssel %s: Keine User-ID\n"
 
-#: g10/import.c:1893
+#: g10/import.c:1905
 #, c-format
 msgid "key %s: %s\n"
 msgstr "Schlüssel %s: %s\n"
 
-#: g10/import.c:1894 g10/import.c:2973
+#: g10/import.c:1906 g10/import.c:2985
 msgid "rejected by import screener"
 msgstr "vom Import-Aufpasser zurückgewiesen"
 
-#: g10/import.c:1938
+#: g10/import.c:1950
 #, c-format
 msgid "key %s: PKS subkey corruption repaired\n"
 msgstr "Schlüssel %s: PKS Unterschlüsseldefekt repariert\n"
 
-#: g10/import.c:1959
+#: g10/import.c:1971
 #, c-format
 msgid "key %s: accepted non self-signed user ID \"%s\"\n"
 msgstr "Schlüssel %s: Nicht eigenbeglaubigte User-ID `%s' übernommen\n"
 
-#: g10/import.c:1969 g10/import.c:2000
+#: g10/import.c:1981 g10/import.c:2012
 #, c-format
 msgid "key %s: no valid user IDs\n"
 msgstr "Schlüssel %s: Keine gültigen User-IDs\n"
 
-#: g10/import.c:1971
+#: g10/import.c:1983
 #, c-format
 msgid "this may be caused by a missing self-signature\n"
 msgstr "dies könnte durch fehlende Eigenbeglaubigung verursacht worden sein\n"
 
-#: g10/import.c:2050 g10/import.c:3387
+#: g10/import.c:2062 g10/import.c:3399
 #, c-format
 msgid "key %s: public key not found: %s\n"
 msgstr "Schlüssel %s: Öffentlicher Schlüssel nicht gefunden: %s\n"
 
-#: g10/import.c:2056
+#: g10/import.c:2068
 #, c-format
 msgid "key %s: new key - skipped\n"
 msgstr "Schlüssel %s: neuer Schlüssel - übersprungen\n"
 
-#: g10/import.c:2068
+#: g10/import.c:2080
 #, c-format
 msgid "no writable keyring found: %s\n"
 msgstr "kein schreibbarer Schlüsselbund gefunden: %s\n"
 
-#: g10/import.c:2100 g10/import.c:2202 g10/import.c:3464
+#: g10/import.c:2112 g10/import.c:2214 g10/import.c:3476
 #, c-format
 msgid "error writing keyring '%s': %s\n"
 msgstr "Fehler beim Schreiben des Schlüsselbundes `%s': %s\n"
 
-#: g10/import.c:2123
+#: g10/import.c:2135
 #, c-format
 msgid "key %s: public key \"%s\" imported\n"
 msgstr "Schlüssel %s: Öffentlicher Schlüssel \"%s\" importiert\n"
 
-#: g10/import.c:2150
+#: g10/import.c:2162
 #, c-format
 msgid "key %s: doesn't match our copy\n"
 msgstr "Schlüssel %s: Stimmt nicht mit unserer Kopie überein\n"
 
-#: g10/import.c:2218
+#: g10/import.c:2230
 #, c-format
 msgid "key %s: \"%s\" 1 new user ID\n"
 msgstr "Schlüssel %s: \"%s\" 1 neue User-ID\n"
 
-#: g10/import.c:2221
+#: g10/import.c:2233
 #, c-format
 msgid "key %s: \"%s\" %d new user IDs\n"
 msgstr "Schlüssel %s: \"%s\" %d neue User-IDs\n"
 
-#: g10/import.c:2224
+#: g10/import.c:2236
 #, c-format
 msgid "key %s: \"%s\" 1 new signature\n"
 msgstr "Schlüssel %s: \"%s\" 1 neue Signatur\n"
 
-#: g10/import.c:2227
+#: g10/import.c:2239
 #, c-format
 msgid "key %s: \"%s\" %d new signatures\n"
 msgstr "Schlüssel %s: \"%s\" %d neue Signaturen\n"
 
-#: g10/import.c:2230
+#: g10/import.c:2242
 #, c-format
 msgid "key %s: \"%s\" 1 new subkey\n"
 msgstr "Schlüssel %s: \"%s\" 1 neuer Unterschlüssel\n"
 
-#: g10/import.c:2233
+#: g10/import.c:2245
 #, c-format
 msgid "key %s: \"%s\" %d new subkeys\n"
 msgstr "Schlüssel %s: \"%s\" %d neue Unterschlüssel\n"
 
-#: g10/import.c:2236
+#: g10/import.c:2248
 #, c-format
 msgid "key %s: \"%s\" %d signature cleaned\n"
 msgstr "Schlüssel %s: \"%s\" %d Signaturen bereinigt\n"
 
-#: g10/import.c:2239
+#: g10/import.c:2251
 #, c-format
 msgid "key %s: \"%s\" %d signatures cleaned\n"
 msgstr "Schlüssel %s: \"%s\" %d Signaturen bereinigt\n"
 
-#: g10/import.c:2242
+#: g10/import.c:2254
 #, c-format
 msgid "key %s: \"%s\" %d user ID cleaned\n"
 msgstr "Schlüssel %s: \"%s\" %d User-ID bereinigt\n"
 
-#: g10/import.c:2245
+#: g10/import.c:2257
 #, c-format
 msgid "key %s: \"%s\" %d user IDs cleaned\n"
 msgstr "Schlüssel %s: \"%s\" %d User-IDs bereinigt\n"
 
-#: g10/import.c:2281
+#: g10/import.c:2293
 #, c-format
 msgid "key %s: \"%s\" not changed\n"
 msgstr "Schlüssel %s: \"%s\" nicht geändert\n"
 
-#: g10/import.c:2640 g10/import.c:2835
+#: g10/import.c:2652 g10/import.c:2847
 #, c-format
 msgid "key %s: secret key imported\n"
 msgstr "Schlüssel %s: geheimer Schlüssel importiert\n"
 
-#: g10/import.c:2648
+#: g10/import.c:2660
 #, c-format
 msgid "key %s: secret key already exists\n"
 msgstr "Schlüssel %s: geheimer Schlüssel bereits vorhanden\n"
 
-#: g10/import.c:2656
+#: g10/import.c:2668
 #, c-format
 msgid "key %s: error sending to agent: %s\n"
 msgstr "Schlüssel %s: Fehler beim Senden zum gpg-agent: %s\n"
@@ -3673,203 +3691,203 @@ msgstr "Schlüssel %s: Fehler beim Senden zum gpg-agent: %s\n"
 #. * Instead, user should be suggested to run 'gpg --card-status',
 #. * then, references to a card will be automatically created
 #. * again.
-#: g10/import.c:2825
+#: g10/import.c:2837
 #, c-format
 msgid "To migrate '%s', with each smartcard, run: %s\n"
 msgstr ""
 "Um '%s' zu migrieren sollte für jede Smartcard \"%s\" aufgerufen werden.\n"
 
-#: g10/import.c:2972
+#: g10/import.c:2984
 #, c-format
 msgid "secret key %s: %s\n"
 msgstr "Geheimer Schlüssel %s: %s\n"
 
-#: g10/import.c:2993 g10/import.c:3032
+#: g10/import.c:3005 g10/import.c:3044
 #, c-format
 msgid "importing secret keys not allowed\n"
 msgstr "Importieren geheimer Schlüssel ist nicht erlaubt\n"
 
-#: g10/import.c:3020
+#: g10/import.c:3032
 #, c-format
 msgid "key %s: secret key with invalid cipher %d - skipped\n"
 msgstr ""
 "Schlüssel %s: geheimer Schlüssel mit ungültiger Verschlüsselung %d - "
 "übersprungen\n"
 
-#: g10/import.c:3182 g10/pkclist.c:72 g10/revoke.c:776
+#: g10/import.c:3194 g10/pkclist.c:72 g10/revoke.c:776
 msgid "No reason specified"
 msgstr "Kein Grund angegeben"
 
-#: g10/import.c:3183 g10/pkclist.c:74 g10/revoke.c:778
+#: g10/import.c:3195 g10/pkclist.c:74 g10/revoke.c:778
 msgid "Key is superseded"
 msgstr "Schlüssel ist überholt"
 
-#: g10/import.c:3184 g10/pkclist.c:76 g10/revoke.c:777
+#: g10/import.c:3196 g10/pkclist.c:76 g10/revoke.c:777
 msgid "Key has been compromised"
 msgstr "Hinweis: Dieser Schlüssel ist nicht mehr sicher"
 
-#: g10/import.c:3185 g10/pkclist.c:78 g10/revoke.c:779
+#: g10/import.c:3197 g10/pkclist.c:78 g10/revoke.c:779
 msgid "Key is no longer used"
 msgstr "Schlüssel wird nicht mehr benutzt"
 
-#: g10/import.c:3186 g10/pkclist.c:80 g10/revoke.c:780
+#: g10/import.c:3198 g10/pkclist.c:80 g10/revoke.c:780
 msgid "User ID is no longer valid"
 msgstr "User-ID ist nicht mehr gültig"
 
-#: g10/import.c:3311 g10/keylist.c:1254 g10/pkclist.c:84
+#: g10/import.c:3323 g10/keylist.c:1254 g10/pkclist.c:84
 #, c-format
 msgid "reason for revocation: "
 msgstr "Grund für Widerruf: "
 
-#: g10/import.c:3330 g10/keylist.c:1273 g10/pkclist.c:100
+#: g10/import.c:3342 g10/keylist.c:1273 g10/pkclist.c:100
 #, c-format
 msgid "revocation comment: "
 msgstr "Widerruf-Bemerkung: "
 
-#: g10/import.c:3380
+#: g10/import.c:3392
 #, c-format
 msgid "key %s: no public key - can't apply revocation certificate\n"
 msgstr ""
 "Schlüssel %s: Kein öffentlicher Schlüssel - der Schlüsselwiderruf kann nicht "
 "angebracht werden\n"
 
-#: g10/import.c:3411
+#: g10/import.c:3423
 #, c-format
 msgid "key %s: can't locate original keyblock: %s\n"
 msgstr "Schlüssel %s: der originale Schlüsselblock wurde nicht gefunden: %s\n"
 
-#: g10/import.c:3418
+#: g10/import.c:3430
 #, c-format
 msgid "key %s: can't read original keyblock: %s\n"
 msgstr "Schlüssel %s: Lesefehler im originalen Schlüsselblock: %s\n"
 
-#: g10/import.c:3438
+#: g10/import.c:3450
 #, c-format
 msgid "key %s: invalid revocation certificate: %s - rejected\n"
 msgstr "Schlüssel %s: Ungültiges Widerrufzertifikat: %s - zurückgewiesen\n"
 
-#: g10/import.c:3473
+#: g10/import.c:3485
 #, c-format
 msgid "key %s: \"%s\" revocation certificate imported\n"
 msgstr "Schlüssel %s: \"%s\" Widerrufzertifikat importiert\n"
 
-#: g10/import.c:3559
+#: g10/import.c:3571
 #, c-format
 msgid "key %s: no user ID for signature\n"
 msgstr "Schlüssel %s: Keine User-ID für Signatur\n"
 
-#: g10/import.c:3576
+#: g10/import.c:3588
 #, c-format
 msgid "key %s: unsupported public key algorithm on user ID \"%s\"\n"
 msgstr ""
 "Schlüssel %s: Nicht unterstütztes Public-Key-Verfahren für User-ID \"%s\"\n"
 
-#: g10/import.c:3578
+#: g10/import.c:3590
 #, c-format
 msgid "key %s: invalid self-signature on user ID \"%s\"\n"
 msgstr "Schlüssel %s: Ungültige Eigenbeglaubigung für User-ID \"%s\"\n"
 
-#: g10/import.c:3595 g10/import.c:3623 g10/import.c:3679
+#: g10/import.c:3607 g10/import.c:3635 g10/import.c:3691
 #, c-format
 msgid "key %s: unsupported public key algorithm\n"
 msgstr "Schlüssel %s: Nicht unterstütztes Public-Key-Verfahren\n"
 
-#: g10/import.c:3596
+#: g10/import.c:3608
 #, c-format
 msgid "key %s: invalid direct key signature\n"
 msgstr "Schlüssel %s: Ungültige \"direct-key\"-Signatur\n"
 
-#: g10/import.c:3610
+#: g10/import.c:3622
 #, c-format
 msgid "key %s: no subkey for key binding\n"
 msgstr "Schlüssel %s: Kein Unterschlüssel für die Unterschlüsselanbindung\n"
 
-#: g10/import.c:3625
+#: g10/import.c:3637
 #, c-format
 msgid "key %s: invalid subkey binding\n"
 msgstr "Schlüssel %s: Ungültige Unterschlüssel-Anbindung\n"
 
-#: g10/import.c:3644
+#: g10/import.c:3656
 #, c-format
 msgid "key %s: removed multiple subkey binding\n"
 msgstr "Schlüssel %s: Mehrfache Unterschlüssel-Anbindung entfernt\n"
 
-#: g10/import.c:3668
+#: g10/import.c:3680
 #, c-format
 msgid "key %s: no subkey for key revocation\n"
 msgstr "Schlüssel %s: Kein Unterschlüssel für Schlüsselwiderruf\n"
 
-#: g10/import.c:3681
+#: g10/import.c:3693
 #, c-format
 msgid "key %s: invalid subkey revocation\n"
 msgstr "Schlüssel %s: Ungültiger Unterschlüsselwiderruf\n"
 
-#: g10/import.c:3696
+#: g10/import.c:3708
 #, c-format
 msgid "key %s: removed multiple subkey revocation\n"
 msgstr "Schlüssel %s: Mehrfacher Unterschlüsselwiderruf entfernt\n"
 
-#: g10/import.c:3740
+#: g10/import.c:3752
 #, c-format
 msgid "key %s: skipped user ID \"%s\"\n"
 msgstr "Schlüssel %s: User-ID übersprungen \"%s\"\n"
 
-#: g10/import.c:3767
+#: g10/import.c:3779
 #, c-format
 msgid "key %s: skipped subkey\n"
 msgstr "Schlüssel %s: Unterschlüssel übersprungen\n"
 
-#: g10/import.c:3798
+#: g10/import.c:3810
 #, c-format
 msgid "key %s: non exportable signature (class 0x%02X) - skipped\n"
 msgstr ""
 "Schlüssel %s: Nicht exportfähige Signatur (Klasse %02x) - übersprungen\n"
 
-#: g10/import.c:3809
+#: g10/import.c:3821
 #, c-format
 msgid "key %s: revocation certificate at wrong place - skipped\n"
 msgstr "Schlüssel %s: Widerrufzertifikat an falschem Platz - übersprungen\n"
 
-#: g10/import.c:3827
+#: g10/import.c:3839
 #, c-format
 msgid "key %s: invalid revocation certificate: %s - skipped\n"
 msgstr "Schlüssel %s: Ungültiges Widerrufzertifikat: %s - übersprungen\n"
 
-#: g10/import.c:3841
+#: g10/import.c:3853
 #, c-format
 msgid "key %s: subkey signature in wrong place - skipped\n"
 msgstr ""
 "Schlüssel %s: Unterschlüssel-Widerrufzertifikat an falschem Platz - "
 "übersprungen\n"
 
-#: g10/import.c:3849
+#: g10/import.c:3861
 #, c-format
 msgid "key %s: unexpected signature class (0x%02X) - skipped\n"
 msgstr "Schlüssel %s: unerwartete Signaturklasse (0x%02x) - übersprungen\n"
 
-#: g10/import.c:4022
+#: g10/import.c:4034
 #, c-format
 msgid "key %s: duplicated user ID detected - merged\n"
 msgstr "Schlüssel %s: Doppelte User-ID entdeckt - zusammengeführt\n"
 
-#: g10/import.c:4087
+#: g10/import.c:4099
 #, c-format
 msgid "WARNING: key %s may be revoked: fetching revocation key %s\n"
 msgstr "WARNUNG: Schlüssel %s ist u.U. widerrufen: hole Widerrufschlüssel %s\n"
 
-#: g10/import.c:4103
+#: g10/import.c:4115
 #, c-format
 msgid "WARNING: key %s may be revoked: revocation key %s not present.\n"
 msgstr ""
 "WARNUNG: Schlüssel %s ist u.U. widerrufen: Widerrufschlüssel %s ist nicht "
 "vorhanden\n"
 
-#: g10/import.c:4169
+#: g10/import.c:4181
 #, c-format
 msgid "key %s: \"%s\" revocation certificate added\n"
 msgstr "Schlüssel %s: \"%s\" Widerrufzertifikat hinzugefügt\n"
 
-#: g10/import.c:4207
+#: g10/import.c:4219
 #, c-format
 msgid "key %s: direct key signature added\n"
 msgstr "Schlüssel %s: \"direct-key\"-Signaturen hinzugefügt\n"
@@ -3941,7 +3959,7 @@ msgstr ""
 "WARNUNG: Es wurden Fehler gefunden aber nur Eigenbeglaubigungen geprüft; um "
 "alle Beglaubigungen zu prüfen das Kommando '%s' verwenden.\n"
 
-#: g10/keydb.c:431 g10/keydb.c:458 sm/keydb.c:191 sm/keydb.c:204
+#: g10/keydb.c:431 g10/keydb.c:458 sm/keydb.c:190 sm/keydb.c:203
 #, c-format
 msgid "error creating keybox '%s': %s\n"
 msgstr "Die \"Keybox\" `%s' konnte nicht erstellt werden: %s\n"
@@ -3951,7 +3969,7 @@ msgstr "Die \"Keybox\" `%s' konnte nicht erstellt werden: %s\n"
 msgid "error creating keyring '%s': %s\n"
 msgstr "Fehler beim Erzeugen des Schlüsselbundes `%s': %s\n"
 
-#: g10/keydb.c:470 sm/keydb.c:210
+#: g10/keydb.c:470 sm/keydb.c:209
 #, c-format
 msgid "keybox '%s' created\n"
 msgstr "Die \"Keybox\" `%s' wurde erstellt\n"
@@ -4033,13 +4051,13 @@ msgstr "Überspringe User-ID \"%s\" da es keine textbasierte ID ist.\n"
 msgid "User ID \"%s\" is revoked."
 msgstr "User-ID \"%s\" ist widerrufen."
 
-#: g10/keyedit.c:569 g10/keyedit.c:597 g10/keyedit.c:624 g10/keyedit.c:808
-#: g10/keyedit.c:1655
+#: g10/keyedit.c:569 g10/keyedit.c:597 g10/keyedit.c:624 g10/keyedit.c:809
+#: g10/keyedit.c:1656
 msgid "Are you sure you still want to sign it? (y/N) "
 msgstr "Wollen Sie ihn immer noch beglaubigen? (j/N) "
 
-#: g10/keyedit.c:583 g10/keyedit.c:611 g10/keyedit.c:638 g10/keyedit.c:814
-#: g10/keyedit.c:1660 g10/keyedit.c:2667
+#: g10/keyedit.c:583 g10/keyedit.c:611 g10/keyedit.c:638 g10/keyedit.c:815
+#: g10/keyedit.c:1661 g10/keyedit.c:2668
 msgid "  Unable to sign.\n"
 msgstr "  Beglaubigen ist nicht möglich.\n"
 
@@ -4114,29 +4132,29 @@ msgstr "\"%s\" wurde bereits durch Schlüssel %s lokal beglaubigt\n"
 msgid "\"%s\" was already signed by key %s\n"
 msgstr "\"%s\" wurde bereits durch Schlüssel %s beglaubigt\n"
 
-#: g10/keyedit.c:756
+#: g10/keyedit.c:757
 msgid "Do you want to sign it again anyway? (y/N) "
 msgstr "Wollen Sie ihn immer noch wieder beglaubigen? (j/N) "
 
-#: g10/keyedit.c:778
+#: g10/keyedit.c:779
 #, c-format
 msgid "Nothing to sign with key %s\n"
 msgstr "Nichts zu beglaubigen für Schlüssel %s\n"
 
-#: g10/keyedit.c:802
+#: g10/keyedit.c:803
 msgid "This key has expired!"
 msgstr "Dieser Schlüssel ist verfallen!"
 
-#: g10/keyedit.c:820
+#: g10/keyedit.c:821
 #, c-format
 msgid "This key is due to expire on %s.\n"
 msgstr "Dieser Schlüssel wird %s verfallen.\n"
 
-#: g10/keyedit.c:826
+#: g10/keyedit.c:827
 msgid "Do you want your signature to expire at the same time? (Y/n) "
 msgstr "Soll Ihre Beglaubigung zur selben Zeit verfallen? (J/n) "
 
-#: g10/keyedit.c:867
+#: g10/keyedit.c:868
 msgid ""
 "How carefully have you verified the key you are about to sign actually "
 "belongs\n"
@@ -4146,32 +4164,32 @@ msgstr ""
 "wollen, wirklich der o.g. Person gehört?\n"
 "Wenn Sie darauf keine Antwort wissen, geben Sie \"0\" ein.\n"
 
-#: g10/keyedit.c:872
+#: g10/keyedit.c:873
 #, c-format
 msgid "   (0) I will not answer.%s\n"
 msgstr "   (0) Ich antworte nicht.%s\n"
 
-#: g10/keyedit.c:874
+#: g10/keyedit.c:875
 #, c-format
 msgid "   (1) I have not checked at all.%s\n"
 msgstr "   (1) Ich habe es überhaupt nicht überprüft.%s\n"
 
-#: g10/keyedit.c:876
+#: g10/keyedit.c:877
 #, c-format
 msgid "   (2) I have done casual checking.%s\n"
 msgstr "   (2) Ich habe es flüchtig überprüft.%s\n"
 
-#: g10/keyedit.c:879
+#: g10/keyedit.c:880
 #, c-format
 msgid "   (3) I have done very careful checking.%s\n"
 msgstr "   (3) Ich habe es sehr sorgfältig überprüft.%s\n"
 
 # translated by wk
-#: g10/keyedit.c:886
+#: g10/keyedit.c:887
 msgid "Your selection? (enter '?' for more information): "
 msgstr "Ihre Auswahl? ('?' für weitere Informationen): "
 
-#: g10/keyedit.c:913
+#: g10/keyedit.c:914
 #, c-format
 msgid ""
 "Are you sure that you want to sign this key with your\n"
@@ -4180,231 +4198,231 @@ msgstr ""
 "Sind Sie wirklich sicher, daß Sie vorstehenden Schlüssel mit Ihrem\n"
 "Schlüssel \"%s\" (%s) beglaubigen wollen\n"
 
-#: g10/keyedit.c:921
+#: g10/keyedit.c:922
 msgid "This will be a self-signature.\n"
 msgstr "Dies wird eine Eigenbeglaubigung sein.\n"
 
-#: g10/keyedit.c:926
+#: g10/keyedit.c:927
 msgid "WARNING: the signature will not be marked as non-exportable.\n"
 msgstr ""
 "WARNUNG: Die Signatur wird nicht als nicht-exportierbar markiert werden.\n"
 
-#: g10/keyedit.c:933
+#: g10/keyedit.c:934
 msgid "WARNING: the signature will not be marked as non-revocable.\n"
 msgstr "WARNUNG: Die Signatur wird nicht als unwiderrufbar markiert werden.\n"
 
-#: g10/keyedit.c:943
+#: g10/keyedit.c:944
 msgid "The signature will be marked as non-exportable.\n"
 msgstr "Die Signatur wird als nicht-exportfähig markiert werden.\n"
 
-#: g10/keyedit.c:950
+#: g10/keyedit.c:951
 msgid "The signature will be marked as non-revocable.\n"
 msgstr "Die Signatur wird als unwiderrufbar markiert werden.\n"
 
-#: g10/keyedit.c:957
+#: g10/keyedit.c:958
 msgid "I have not checked this key at all.\n"
 msgstr "Ich habe diesen Schlüssel überhaupt nicht überprüft.\n"
 
-#: g10/keyedit.c:962
+#: g10/keyedit.c:963
 msgid "I have checked this key casually.\n"
 msgstr "Ich habe diesen Schlüssel flüchtig überprüft.\n"
 
-#: g10/keyedit.c:967
+#: g10/keyedit.c:968
 msgid "I have checked this key very carefully.\n"
 msgstr "Ich habe diesen Schlüssel sehr sorgfältig überprüft.\n"
 
-#: g10/keyedit.c:979
+#: g10/keyedit.c:980
 msgid "Really sign? (y/N) "
 msgstr "Wirklich signieren? (j/N) "
 
-#: g10/keyedit.c:1030 g10/keyedit.c:6154 g10/keyedit.c:6237 g10/keyedit.c:6366
-#: g10/keyedit.c:6428 g10/sign.c:466
+#: g10/keyedit.c:1031 g10/keyedit.c:6155 g10/keyedit.c:6238 g10/keyedit.c:6367
+#: g10/keyedit.c:6429 g10/sign.c:466
 #, c-format
 msgid "signing failed: %s\n"
 msgstr "Beglaubigung fehlgeschlagen: %s\n"
 
-#: g10/keyedit.c:1117
+#: g10/keyedit.c:1118
 msgid "Key has only stub or on-card key items - no passphrase to change.\n"
 msgstr ""
-"Der Schlüssel enthält nur \"stub\"- oder \"on-card\"-Schlüsselelemente- "
-"keine Passphrase ist zu ändern.\n"
+"Der Schlüssel enthält nur \"stub\"- oder \"on-card\"-Schlüsselelemente- kein "
+"Passwort ist zu ändern.\n"
 
-#: g10/keyedit.c:1149
+#: g10/keyedit.c:1150
 #, c-format
 msgid "key %s: error changing passphrase: %s\n"
-msgstr "Schlüssel %s: Fehler beim Ändern der Passphrase: %s\n"
+msgstr "Schlüssel %s: Fehler beim Ändern des Passwortes: %s\n"
 
-#: g10/keyedit.c:1261
+#: g10/keyedit.c:1262
 msgid "save and quit"
 msgstr "speichern und Menü verlassen"
 
-#: g10/keyedit.c:1264
+#: g10/keyedit.c:1265
 msgid "show key fingerprint"
 msgstr "Fingerabdruck des Schlüssels anzeigen"
 
-#: g10/keyedit.c:1265
+#: g10/keyedit.c:1266
 msgid "show the keygrip"
 msgstr "\"Keygrip\" des Schlüssels anzeigen"
 
-#: g10/keyedit.c:1266
+#: g10/keyedit.c:1267
 msgid "list key and user IDs"
 msgstr "Schlüssel und User-IDs auflisten"
 
-#: g10/keyedit.c:1268
+#: g10/keyedit.c:1269
 msgid "select user ID N"
 msgstr "User-ID N auswählen"
 
-#: g10/keyedit.c:1269
+#: g10/keyedit.c:1270
 msgid "select subkey N"
 msgstr "Unterschlüssel N auswählen"
 
-#: g10/keyedit.c:1270
+#: g10/keyedit.c:1271
 msgid "check signatures"
 msgstr "Signaturen prüfen"
 
-#: g10/keyedit.c:1276
+#: g10/keyedit.c:1277
 msgid "sign selected user IDs [* see below for related commands]"
 msgstr "die ausgewählten User-IDs beglaubigen [* für verwandte Befehle s.u.]"
 
-#: g10/keyedit.c:1281
+#: g10/keyedit.c:1282
 msgid "sign selected user IDs locally"
 msgstr "Die ausgewählte User-ID nur für diesen Rechner beglaubigen"
 
-#: g10/keyedit.c:1282
+#: g10/keyedit.c:1283
 msgid "sign selected user IDs with a trust signature"
 msgstr "Die ausgewählte User-ID mit einer \"Trust\"-Signatur beglaubigen"
 
-#: g10/keyedit.c:1284
+#: g10/keyedit.c:1285
 msgid "sign selected user IDs with a non-revocable signature"
 msgstr "die ausgewählten User-IDs unwiderrufbar beglaubigen"
 
-#: g10/keyedit.c:1286
+#: g10/keyedit.c:1287
 msgid "add a user ID"
 msgstr "Eine User-ID hinzufügen"
 
-#: g10/keyedit.c:1288
+#: g10/keyedit.c:1289
 msgid "add a photo ID"
 msgstr "Eine Foto-ID hinzufügen"
 
-#: g10/keyedit.c:1289
+#: g10/keyedit.c:1290
 msgid "delete selected user IDs"
 msgstr "ausgewählte User-IDs entfernen"
 
-#: g10/keyedit.c:1292
+#: g10/keyedit.c:1293
 msgid "add a subkey"
 msgstr "einen Unterschlüssel hinzufügen"
 
-#: g10/keyedit.c:1295
+#: g10/keyedit.c:1296
 msgid "add a key to a smartcard"
 msgstr "der Smartcard einen Schlüssel hinzufügen"
 
-#: g10/keyedit.c:1297
+#: g10/keyedit.c:1298
 msgid "move a key to a smartcard"
 msgstr "einen Schlüssel auf die Smartcard schieben"
 
-#: g10/keyedit.c:1299
+#: g10/keyedit.c:1300
 msgid "move a backup key to a smartcard"
 msgstr "eine Sicherungskopie des Schlüssels auf die Smartcard schieben"
 
-#: g10/keyedit.c:1301
+#: g10/keyedit.c:1302
 msgid "delete selected subkeys"
 msgstr "ausgewählte Unterschlüssel entfernen"
 
-#: g10/keyedit.c:1303
+#: g10/keyedit.c:1304
 msgid "add a revocation key"
 msgstr "Einen Widerrufschlüssel hinzufügen"
 
-#: g10/keyedit.c:1305
+#: g10/keyedit.c:1306
 msgid "delete signatures from the selected user IDs"
 msgstr "Beglaubigungen der ausgewählten User-IDs entfernen"
 
-#: g10/keyedit.c:1307
+#: g10/keyedit.c:1308
 msgid "change the expiration date for the key or selected subkeys"
 msgstr ""
 "das Verfallsdatum des Schlüssel oder ausgewählter Unterschlüssels ändern"
 
-#: g10/keyedit.c:1309
+#: g10/keyedit.c:1310
 msgid "flag the selected user ID as primary"
 msgstr "User-ID als Haupt-User-ID kennzeichnen"
 
-#: g10/keyedit.c:1312
+#: g10/keyedit.c:1313
 msgid "list preferences (expert)"
 msgstr "Liste der Voreinstellungen (für Experten)"
 
-#: g10/keyedit.c:1313
+#: g10/keyedit.c:1314
 msgid "list preferences (verbose)"
 msgstr "Liste der Voreinstellungen (ausführlich)"
 
-#: g10/keyedit.c:1315
+#: g10/keyedit.c:1316
 msgid "set preference list for the selected user IDs"
 msgstr "ändern der Voreinstellungsliste der ausgewählten User-IDs"
 
-#: g10/keyedit.c:1318
+#: g10/keyedit.c:1319
 msgid "set the preferred keyserver URL for the selected user IDs"
 msgstr ""
 "Setze die URL des bevorzugten Schlüsselservers für die ausgewählten User-IDs"
 
-#: g10/keyedit.c:1320
+#: g10/keyedit.c:1321
 msgid "set a notation for the selected user IDs"
 msgstr "Eine Notation für die ausgewählten User-IDs setzen"
 
-#: g10/keyedit.c:1322
+#: g10/keyedit.c:1323
 msgid "change the passphrase"
-msgstr "Die Passphrase ändern"
+msgstr "Das Passwort ändern"
 
-#: g10/keyedit.c:1325
+#: g10/keyedit.c:1326
 msgid "change the ownertrust"
 msgstr "Den \"Ownertrust\" ändern"
 
-#: g10/keyedit.c:1328
+#: g10/keyedit.c:1329
 msgid "revoke signatures on the selected user IDs"
 msgstr "Beglaubigungen der ausgewählten User-IDs widerrufen"
 
-#: g10/keyedit.c:1330
+#: g10/keyedit.c:1331
 msgid "revoke selected user IDs"
 msgstr "Ausgewählte User-ID widerrufen"
 
-#: g10/keyedit.c:1333
+#: g10/keyedit.c:1334
 msgid "revoke key or selected subkeys"
 msgstr "Schlüssel oder ausgewählten Unterschlüssel widerrufen"
 
-#: g10/keyedit.c:1335
+#: g10/keyedit.c:1336
 msgid "enable key"
 msgstr "Schlüssel anschalten"
 
-#: g10/keyedit.c:1336
+#: g10/keyedit.c:1337
 msgid "disable key"
 msgstr "Schlüssel abschalten"
 
-#: g10/keyedit.c:1338
+#: g10/keyedit.c:1339
 msgid "show selected photo IDs"
 msgstr "ausgewählte Foto-IDs anzeigen"
 
-#: g10/keyedit.c:1340
+#: g10/keyedit.c:1341
 msgid "compact unusable user IDs and remove unusable signatures from key"
 msgstr ""
 "unbrauchbare User-IDs verkleinern und unbrauchbare Signaturen aus dem "
 "Schlüssel entfernen"
 
-#: g10/keyedit.c:1342
+#: g10/keyedit.c:1343
 msgid "compact unusable user IDs and remove all signatures from key"
 msgstr ""
 "unbrauchbare User-IDs verkleinern und alle Signaturen aus dem Schlüssel "
 "entfernen"
 
-#: g10/keyedit.c:1463
+#: g10/keyedit.c:1464
 msgid "Secret key is available.\n"
 msgstr "Geheimer Schlüssel ist vorhanden.\n"
 
-#: g10/keyedit.c:1465
+#: g10/keyedit.c:1466
 msgid "Secret subkeys are available.\n"
 msgstr "Geheimer Unterschlüssel ist vorhanden.\n"
 
-#: g10/keyedit.c:1567
+#: g10/keyedit.c:1568
 msgid "Need the secret key to do this.\n"
 msgstr "Hierzu wird der geheime Schlüssel benötigt.\n"
 
-#: g10/keyedit.c:1590
+#: g10/keyedit.c:1591
 msgid ""
 "* The 'sign' command may be prefixed with an 'l' for local signatures "
 "(lsign),\n"
@@ -4417,293 +4435,293 @@ msgstr ""
 "Signaturen\n"
 " (\"nrsign\"), oder jede Kombination davon (\"ltsign\", \"tnrsign\", etc.).\n"
 
-#: g10/keyedit.c:1648 g10/keyedit.c:2667 g10/keyedit.c:3040 g10/keyedit.c:3108
+#: g10/keyedit.c:1649 g10/keyedit.c:2668 g10/keyedit.c:3041 g10/keyedit.c:3109
 msgid "Key is revoked."
 msgstr "Schlüssel wurde widerrufen."
 
-#: g10/keyedit.c:1671
+#: g10/keyedit.c:1672
 msgid "Really sign all text user IDs? (y/N) "
 msgstr "Wirklich alle textbasierten User-IDs beglaubigen? (j/N) "
 
-#: g10/keyedit.c:1675
+#: g10/keyedit.c:1676
 msgid "Really sign all user IDs? (y/N) "
 msgstr "Wirklich alle User-IDs beglaubigen? (j/N) "
 
-#: g10/keyedit.c:1683
+#: g10/keyedit.c:1684
 msgid "Hint: Select the user IDs to sign\n"
 msgstr "Tip: Wählen Sie die User-IDs, die beglaubigt werden sollen\n"
 
-#: g10/keyedit.c:1694
+#: g10/keyedit.c:1695
 #, c-format
 msgid "Unknown signature type '%s'\n"
 msgstr "Unbekannter Signaturtyp `%s'\n"
 
-#: g10/keyedit.c:1718
+#: g10/keyedit.c:1719
 #, c-format
 msgid "This command is not allowed while in %s mode.\n"
 msgstr "Dieser Befehl ist im %s-Modus nicht erlaubt.\n"
 
-#: g10/keyedit.c:1740 g10/keyedit.c:1764 g10/keyedit.c:1961
+#: g10/keyedit.c:1741 g10/keyedit.c:1765 g10/keyedit.c:1962
 msgid "You must select at least one user ID.\n"
 msgstr "Zumindestens eine User-ID muß ausgewählt werden.\n"
 
-#: g10/keyedit.c:1742 g10/keyedit.c:1766 g10/keyedit.c:1923 g10/keyedit.c:1963
+#: g10/keyedit.c:1743 g10/keyedit.c:1767 g10/keyedit.c:1924 g10/keyedit.c:1964
 #, c-format
 msgid "(Use the '%s' command.)\n"
 msgstr "(Benutze den '%s' Befehl.)\n"
 
-#: g10/keyedit.c:1745
+#: g10/keyedit.c:1746
 msgid "You can't delete the last user ID!\n"
 msgstr "Die letzte User-ID kann nicht gelöscht werden!\n"
 
-#: g10/keyedit.c:1748
+#: g10/keyedit.c:1749
 msgid "Really remove all selected user IDs? (y/N) "
 msgstr "Möchten Sie alle ausgewählten User-IDs wirklich entfernen? (j/N) "
 
-#: g10/keyedit.c:1749
+#: g10/keyedit.c:1750
 msgid "Really remove this user ID? (y/N) "
 msgstr "Diese User-ID wirklich entfernen? (j/N) "
 
 #. TRANSLATORS: Please take care: This is about
 #. moving the key and not about removing it.
-#: g10/keyedit.c:1806
+#: g10/keyedit.c:1807
 msgid "Really move the primary key? (y/N) "
 msgstr "Den Hauptschlüssel wirklich verschieben? (j/N) "
 
-#: g10/keyedit.c:1818 g10/keyedit.c:4803
+#: g10/keyedit.c:1819 g10/keyedit.c:4804
 msgid "You must select exactly one key.\n"
 msgstr "Sie müssen genau einen Schlüssel auswählen.\n"
 
-#: g10/keyedit.c:1846
+#: g10/keyedit.c:1847
 msgid "Command expects a filename argument\n"
 msgstr "Befehl benötigt einen Dateinamen als Argument\n"
 
-#: g10/keyedit.c:1867
+#: g10/keyedit.c:1868
 #, c-format
 msgid "Can't open '%s': %s\n"
 msgstr "'%s' kann nicht geöffnet werden: %s\n"
 
-#: g10/keyedit.c:1886
+#: g10/keyedit.c:1887
 #, c-format
 msgid "Error reading backup key from '%s': %s\n"
 msgstr "Fehler beim Lesen der Sicherungskopie des Schlüssels von `%s': %s\n"
 
-#: g10/keyedit.c:1921
+#: g10/keyedit.c:1922
 msgid "You must select at least one key.\n"
 msgstr "Zumindestens ein Schlüssel muß ausgewählt werden.\n"
 
-#: g10/keyedit.c:1927
+#: g10/keyedit.c:1928
 msgid "Do you really want to delete the selected keys? (y/N) "
 msgstr "Möchten Sie die ausgewählten Schlüssel wirklich entfernen? (j/N) "
 
-#: g10/keyedit.c:1929
+#: g10/keyedit.c:1930
 msgid "Do you really want to delete this key? (y/N) "
 msgstr "Möchten Sie diesen Schlüssel wirklich entfernen? (j/N) "
 
-#: g10/keyedit.c:1967
+#: g10/keyedit.c:1968
 msgid "Really revoke all selected user IDs? (y/N) "
 msgstr "Möchten Sie wirklich alle ausgewählten User-IDs widerrufen? (j/N) "
 
-#: g10/keyedit.c:1968
+#: g10/keyedit.c:1969
 msgid "Really revoke this user ID? (y/N) "
 msgstr "Diese User-ID wirklich widerrufen? (j/N) "
 
-#: g10/keyedit.c:1986
+#: g10/keyedit.c:1987
 msgid "Do you really want to revoke the entire key? (y/N) "
 msgstr "Möchten Sie diesen Schlüssel wirklich vollständig widerrufen? (j/N) "
 
-#: g10/keyedit.c:1997
+#: g10/keyedit.c:1998
 msgid "Do you really want to revoke the selected subkeys? (y/N) "
 msgstr ""
 "Möchten Sie die ausgewählten Unterschlüssel wirklich widerrufen? (j/N) "
 
-#: g10/keyedit.c:1999
+#: g10/keyedit.c:2000
 msgid "Do you really want to revoke this subkey? (y/N) "
 msgstr "Möchten Sie diesen Schlüssel wirklich widerrufen? (j/N) "
 
-#: g10/keyedit.c:2057
+#: g10/keyedit.c:2058
 msgid "Owner trust may not be set while using a user provided trust database\n"
 msgstr ""
 "\"Owner trust\" kann nicht gesetzt werden, wenn eine anwendereigene 'Trust'-"
 "Datenbank benutzt wird\n"
 
-#: g10/keyedit.c:2102
+#: g10/keyedit.c:2103
 msgid "Set preference list to:\n"
 msgstr "Setze die Liste der Voreinstellungen auf:\n"
 
-#: g10/keyedit.c:2109
+#: g10/keyedit.c:2110
 msgid "Really update the preferences for the selected user IDs? (y/N) "
 msgstr ""
 "Möchten Sie die Voreinstellungen der ausgewählten User-IDs wirklich ändern? "
 "(j/N) "
 
-#: g10/keyedit.c:2111
+#: g10/keyedit.c:2112
 msgid "Really update the preferences? (y/N) "
 msgstr "Die Voreinstellungen wirklich ändern? (j/N) "
 
-#: g10/keyedit.c:2185
+#: g10/keyedit.c:2186
 msgid "Save changes? (y/N) "
 msgstr "Änderungen speichern? (j/N) "
 
-#: g10/keyedit.c:2189
+#: g10/keyedit.c:2190
 msgid "Quit without saving? (y/N) "
 msgstr "Beenden ohne zu speichern? (j/N) "
 
-#: g10/keyedit.c:2216 g10/keyedit.c:2762 g10/keyedit.c:3061 g10/keyedit.c:3214
+#: g10/keyedit.c:2217 g10/keyedit.c:2763 g10/keyedit.c:3062 g10/keyedit.c:3215
 #, c-format
 msgid "Key not changed so no update needed.\n"
 msgstr "Schlüssel ist nicht geändert worden, also ist kein Speichern nötig.\n"
 
-#: g10/keyedit.c:2448
+#: g10/keyedit.c:2449
 #, c-format
 msgid "cannot revoke the last valid user ID.\n"
 msgstr "Die letzte User-ID kann nicht widerrufen werden!\n"
 
-#: g10/keyedit.c:2475
+#: g10/keyedit.c:2476
 #, c-format
 msgid "revoking the user ID failed: %s\n"
 msgstr "Fehler beim Widerrufen der User-ID: %s\n"
 
-#: g10/keyedit.c:2541
+#: g10/keyedit.c:2542
 #, c-format
 msgid "setting the primary user ID failed: %s\n"
 msgstr "Fehler beim Setzen der Haupt-User-ID: %s\n"
 
-#: g10/keyedit.c:2572
+#: g10/keyedit.c:2573
 #, c-format
 msgid "\"%s\" is not a fingerprint\n"
 msgstr "\"%s\" ist kein Fingerabdruck\n"
 
-#: g10/keyedit.c:2602
+#: g10/keyedit.c:2603
 #, c-format
 msgid "\"%s\" is not the primary fingerprint\n"
 msgstr "\"%s\" ist nicht der Fingerabdruck des Hauptschlüssels\n"
 
-#: g10/keyedit.c:2738 g10/keyedit.c:2741
+#: g10/keyedit.c:2739 g10/keyedit.c:2742
 #, c-format
 msgid "Invalid user ID '%s': %s\n"
 msgstr "Ungültige User-ID '%s': %s\n"
 
-#: g10/keyedit.c:2744
+#: g10/keyedit.c:2745
 msgid "No matching user IDs."
 msgstr "Keine passende User-ID"
 
-#: g10/keyedit.c:2744
+#: g10/keyedit.c:2745
 msgid "Nothing to sign.\n"
 msgstr "Nichts zu beglaubigen\n"
 
-#: g10/keyedit.c:2937 g10/keyedit.c:6019
+#: g10/keyedit.c:2938 g10/keyedit.c:6020
 #, c-format
 msgid "Not signed by you.\n"
 msgstr "Nicht von Ihnen signiert.\n"
 
-#: g10/keyedit.c:2995
+#: g10/keyedit.c:2996
 #, c-format
 msgid "revoking the key signature failed: %s\n"
 msgstr "Fehler beim Widerruf der Schlüsselsignatur: %s\n"
 
-#: g10/keyedit.c:3116
+#: g10/keyedit.c:3117
 #, c-format
 msgid "'%s' is not a valid expiration time\n"
 msgstr "'%s' ist kein gültiges Ablaufdatum\n"
 
-#: g10/keyedit.c:3159
+#: g10/keyedit.c:3160
 #, c-format
 msgid "\"%s\" is not a proper fingerprint\n"
 msgstr "\"%s\" ist kein gültiger Fingerabdruck\n"
 
-#: g10/keyedit.c:3183
+#: g10/keyedit.c:3184
 #, c-format
 msgid "subkey \"%s\" not found\n"
 msgstr "Unterschlüssel \"%s\" nicht gefunden\n"
 
-#: g10/keyedit.c:3306
+#: g10/keyedit.c:3307
 msgid "AEAD: "
 msgstr "AEAD: "
 
-#: g10/keyedit.c:3323
+#: g10/keyedit.c:3324
 msgid "Digest: "
 msgstr "Digest: "
 
-#: g10/keyedit.c:3380
+#: g10/keyedit.c:3381
 msgid "Features: "
 msgstr "Eigenschaften: "
 
-#: g10/keyedit.c:3397
+#: g10/keyedit.c:3398
 msgid "Keyserver no-modify"
 msgstr "Keyserver no-modify"
 
-#: g10/keyedit.c:3412 g10/keylist.c:376
+#: g10/keyedit.c:3413 g10/keylist.c:376
 msgid "Preferred keyserver: "
 msgstr "Bevorzugter Schlüsselserver:"
 
-#: g10/keyedit.c:3420 g10/keyedit.c:3421
+#: g10/keyedit.c:3421 g10/keyedit.c:3422
 msgid "Notations: "
 msgstr "\"Notationen\": "
 
-#: g10/keyedit.c:3669
+#: g10/keyedit.c:3670
 msgid "There are no preferences on a PGP 2.x-style user ID.\n"
 msgstr "PGP 2.x-artige Schlüssel haben keine Voreinstellungen.\n"
 
-#: g10/keyedit.c:3741
+#: g10/keyedit.c:3742
 #, c-format
 msgid "The following key was revoked on %s by %s key %s\n"
 msgstr "Der folgende Schlüssel wurde am %s von %s Schlüssel %s widerrufen\n"
 
-#: g10/keyedit.c:3765
+#: g10/keyedit.c:3766
 #, c-format
 msgid "This key may be revoked by %s key %s"
 msgstr "Dieser Schlüssel kann von %s-Schlüssel %s widerrufen werden"
 
-#: g10/keyedit.c:3771
+#: g10/keyedit.c:3772
 msgid "(sensitive)"
 msgstr "(empfindlich)"
 
-#: g10/keyedit.c:3813 g10/keyedit.c:3960 g10/keylist.c:264 g10/keyserver.c:538
+#: g10/keyedit.c:3814 g10/keyedit.c:3961 g10/keylist.c:264 g10/keyserver.c:361
 #, c-format
 msgid "created: %s"
 msgstr "erzeugt: %s"
 
-#: g10/keyedit.c:3816 g10/keylist.c:2149
+#: g10/keyedit.c:3817 g10/keylist.c:2149
 #, c-format
 msgid "revoked: %s"
 msgstr "widerrufen: %s"
 
-#: g10/keyedit.c:3818 g10/keylist.c:2155
+#: g10/keyedit.c:3819 g10/keylist.c:2155
 #, c-format
 msgid "expired: %s"
 msgstr "verfallen: %s"
 
-#: g10/keyedit.c:3820 g10/keyedit.c:3962 g10/keylist.c:266 g10/keylist.c:2161
-#: g10/keyserver.c:544
+#: g10/keyedit.c:3821 g10/keyedit.c:3963 g10/keylist.c:266 g10/keylist.c:2161
+#: g10/keyserver.c:367
 #, c-format
 msgid "expires: %s"
 msgstr "verfällt: %s"
 
-#: g10/keyedit.c:3822
+#: g10/keyedit.c:3823
 #, c-format
 msgid "usage: %s"
 msgstr "Nutzung: %s"
 
-#: g10/keyedit.c:3830 g10/keyedit.c:3850 g10/keylist.c:269
+#: g10/keyedit.c:3831 g10/keyedit.c:3851 g10/keylist.c:269
 msgid "card-no: "
 msgstr "Kartennummer:"
 
-#: g10/keyedit.c:3889
+#: g10/keyedit.c:3890
 #, c-format
 msgid "trust: %s"
 msgstr "Vertrauen: %s"
 
-#: g10/keyedit.c:3893
+#: g10/keyedit.c:3894
 #, c-format
 msgid "validity: %s"
 msgstr "Gültigkeit: %s"
 
-#: g10/keyedit.c:3900
+#: g10/keyedit.c:3901
 msgid "This key has been disabled"
 msgstr "Hinweis: Dieser Schlüssel ist abgeschaltet"
 
-#: g10/keyedit.c:3918
+#: g10/keyedit.c:3919
 msgid ""
 "Please note that the shown key validity is not necessarily correct\n"
 "unless you restart the program.\n"
@@ -4711,18 +4729,18 @@ msgstr ""
 "Bitte beachten Sie, daß ohne einen Programmneustart die angezeigte\n"
 "Schlüsselgültigkeit nicht notwendigerweise korrekt ist.\n"
 
-#: g10/keyedit.c:3979 g10/keyedit.c:4410 g10/keyserver.c:548
-#: g10/mainproc.c:2371 g10/tofu.c:1787 g10/trust.c:437 dirmngr/ocsp.c:791
+#: g10/keyedit.c:3980 g10/keyedit.c:4411 g10/keyserver.c:371
+#: g10/mainproc.c:2380 g10/tofu.c:1787 g10/trust.c:437 dirmngr/ocsp.c:791
 msgid "revoked"
 msgstr "widerrufen"
 
-#: g10/keyedit.c:3981 g10/keyedit.c:4412 g10/keyserver.c:552
-#: g10/mainproc.c:2373 g10/tofu.c:1792 g10/trust.c:124
+#: g10/keyedit.c:3982 g10/keyedit.c:4413 g10/keyserver.c:375
+#: g10/mainproc.c:2382 g10/tofu.c:1792 g10/trust.c:124
 msgid "expired"
 msgstr "verfallen"
 
 # translated by wk
-#: g10/keyedit.c:4098
+#: g10/keyedit.c:4099
 #, c-format
 msgid ""
 "WARNING: no user ID has been marked as primary.  This command may\n"
@@ -4731,17 +4749,17 @@ msgstr ""
 "WARNUNG: Keine User-ID ist als primär markiert.  Dieser Befehl kann\n"
 "dazu führen, daß eine andere User-ID als primär angesehen wird.\n"
 
-#: g10/keyedit.c:4150
+#: g10/keyedit.c:4151
 #, c-format
 msgid "WARNING: Your encryption subkey expires soon.\n"
 msgstr "WARNUNG: Ihr Unterschlüssel zum Verschlüsseln wird bald verfallen.\n"
 
-#: g10/keyedit.c:4151
+#: g10/keyedit.c:4152
 #, c-format
 msgid "You may want to change its expiration date too.\n"
 msgstr "Bitte erwägen Sie, dessen Verfallsdatum auch zu ändern.\n"
 
-#: g10/keyedit.c:4210
+#: g10/keyedit.c:4211
 msgid ""
 "WARNING: This is a PGP2-style key.  Adding a photo ID may cause some "
 "versions\n"
@@ -4751,72 +4769,72 @@ msgstr ""
 "könnte\n"
 "         bei einigen PGP-Versionen zur Zurückweisung des Schlüssels führen.\n"
 
-#: g10/keyedit.c:4215 g10/keyedit.c:4505
+#: g10/keyedit.c:4216 g10/keyedit.c:4506
 msgid "Are you sure you still want to add it? (y/N) "
 msgstr "Wollen Sie ihn immer noch hinzufügen? (j/N) "
 
-#: g10/keyedit.c:4221
+#: g10/keyedit.c:4222
 msgid "You may not add a photo ID to a PGP2-style key.\n"
 msgstr "Sie können einem PGP2-artigen Schlüssel keine Foto-ID hinzufügen.\n"
 
-#: g10/keyedit.c:4236 g10/keygen.c:2899
+#: g10/keyedit.c:4237 g10/keygen.c:2899
 msgid "Such a user ID already exists on this key!\n"
 msgstr "Solch eine User-ID ist bereits für den Schlüssel vorhanden!\n"
 
-#: g10/keyedit.c:4338
+#: g10/keyedit.c:4339
 msgid "Delete this good signature? (y/N/q)"
 msgstr "Diese korrekte Beglaubigung entfernen? (j/N/q)"
 
-#: g10/keyedit.c:4348
+#: g10/keyedit.c:4349
 msgid "Delete this invalid signature? (y/N/q)"
 msgstr "Diese ungültige Beglaubigung entfernen= (j/N/q)"
 
-#: g10/keyedit.c:4352
+#: g10/keyedit.c:4353
 msgid "Delete this unknown signature? (y/N/q)"
 msgstr "Diese unbekannte Beglaubigung entfernen? (j/N/q)"
 
-#: g10/keyedit.c:4359
+#: g10/keyedit.c:4360
 msgid "Really delete this self-signature? (y/N)"
 msgstr "Eigenbeglaubigung wirklich entfernen? (j/N)"
 
-#: g10/keyedit.c:4375
+#: g10/keyedit.c:4376
 #, c-format
 msgid "Deleted %d signature.\n"
 msgid_plural "Deleted %d signatures.\n"
 msgstr[0] "%d Beglaubigung entfernt.\n"
 msgstr[1] "%d Beglaubigungen entfernt.\n"
 
-#: g10/keyedit.c:4379
+#: g10/keyedit.c:4380
 msgid "Nothing deleted.\n"
 msgstr "Nichts entfernt.\n"
 
-#: g10/keyedit.c:4414
+#: g10/keyedit.c:4415
 msgid "invalid"
 msgstr "ungültig"
 
-#: g10/keyedit.c:4416
+#: g10/keyedit.c:4417
 #, c-format
 msgid "User ID \"%s\" compacted: %s\n"
 msgstr "User-ID \"%s\" bereits verkleinert: %s\n"
 
-#: g10/keyedit.c:4422
+#: g10/keyedit.c:4423
 #, c-format
 msgid "User ID \"%s\": %d signature removed\n"
 msgid_plural "User ID \"%s\": %d signatures removed\n"
 msgstr[0] "User-ID \"%s\": %d Signatur entfernt\n"
 msgstr[1] "User-ID \"%s\": %d Signaturen entfernt\n"
 
-#: g10/keyedit.c:4430
+#: g10/keyedit.c:4431
 #, c-format
 msgid "User ID \"%s\": already minimized\n"
 msgstr "User-ID \"%s\": bereits minimiert\n"
 
-#: g10/keyedit.c:4431
+#: g10/keyedit.c:4432
 #, c-format
 msgid "User ID \"%s\": already clean\n"
 msgstr "User-ID \"%s\": bereits sauber\n"
 
-#: g10/keyedit.c:4500
+#: g10/keyedit.c:4501
 msgid ""
 "WARNING: This is a PGP 2.x-style key.  Adding a designated revoker may "
 "cause\n"
@@ -4826,221 +4844,221 @@ msgstr ""
 "         Widerrufers könnte bei einigen PGP-Versionen zur Zurückweisung\n"
 "         des Schlüssels führen.\n"
 
-#: g10/keyedit.c:4511
+#: g10/keyedit.c:4512
 msgid "You may not add a designated revoker to a PGP 2.x-style key.\n"
 msgstr ""
 "Sie können einem PGP2-artigen Schlüssel keine vorgesehenen Widerrufer "
 "hinzufügen.\n"
 
-#: g10/keyedit.c:4528
+#: g10/keyedit.c:4529
 msgid "Enter the user ID of the designated revoker: "
 msgstr "Geben sie die User-ID des designierten Widerrufers ein: "
 
-#: g10/keyedit.c:4554
+#: g10/keyedit.c:4555
 #, c-format
 msgid "cannot appoint a PGP 2.x style key as a designated revoker\n"
 msgstr ""
 "Ein PGP 2.x-artiger Schlüssel kann nicht als vorgesehener Widerrufer "
 "eingetragen werden\n"
 
-#: g10/keyedit.c:4569
+#: g10/keyedit.c:4570
 #, c-format
 msgid "you cannot appoint a key as its own designated revoker\n"
 msgstr "Ein Schlüssel kann nicht sein eigener vorgesehener Widerrufer werden\n"
 
-#: g10/keyedit.c:4591
+#: g10/keyedit.c:4592
 #, c-format
 msgid "this key has already been designated as a revoker\n"
 msgstr "Dieser Schlüssel wurde bereits als ein Widerrufer vorgesehen\n"
 
-#: g10/keyedit.c:4609
+#: g10/keyedit.c:4610
 msgid "WARNING: appointing a key as a designated revoker cannot be undone!\n"
 msgstr ""
 "WARNUNG: Einen Schlüssel als vorgesehenen Widerrufer zu deklarieren, kann "
 "nicht rückgangig gemacht werden!\n"
 
-#: g10/keyedit.c:4615
+#: g10/keyedit.c:4616
 msgid ""
 "Are you sure you want to appoint this key as a designated revoker? (y/N) "
 msgstr ""
 "Möchten Sie diesen Schlüssel wirklich als vorgesehenen Widerrufer festlegen? "
 "(j/N): "
 
-#: g10/keyedit.c:4683
+#: g10/keyedit.c:4684
 msgid ""
 "Are you sure you want to change the expiration time for multiple subkeys? (y/"
 "N) "
 msgstr ""
 "Möchten Sie wirklich die Verfallsdaten aller Unterschlüssel ändern? (j/N): "
 
-#: g10/keyedit.c:4688
+#: g10/keyedit.c:4689
 msgid "Changing expiration time for a subkey.\n"
 msgstr "Ändern des Verfallsdatums des Unterschlüssels.\n"
 
-#: g10/keyedit.c:4691
+#: g10/keyedit.c:4692
 msgid "Changing expiration time for the primary key.\n"
 msgstr "Ändern des Verfallsdatums des Hauptschlüssels.\n"
 
-#: g10/keyedit.c:4747
+#: g10/keyedit.c:4748
 #, c-format
 msgid "You can't change the expiration date of a v3 key\n"
 msgstr "Sie können das Verfallsdatum eines v3-Schlüssels nicht ändern\n"
 
-#: g10/keyedit.c:4807
+#: g10/keyedit.c:4808
 msgid "Changing usage of a subkey.\n"
 msgstr "Ändern des Schlüsselverwendungszweckes des Unterschlüssels.\n"
 
-#: g10/keyedit.c:4810
+#: g10/keyedit.c:4811
 msgid "Changing usage of the primary key.\n"
 msgstr "Ändern des Schlüsselverwendungszweckes des Hauptschlüssels.\n"
 
-#: g10/keyedit.c:4928
+#: g10/keyedit.c:4929
 #, c-format
 msgid "signing subkey %s is already cross-certified\n"
 msgstr "Signaturunterschlüssel %s ist bereits rücksigniert\n"
 
-#: g10/keyedit.c:4934
+#: g10/keyedit.c:4935
 #, c-format
 msgid "subkey %s does not sign and so does not need to be cross-certified\n"
 msgstr ""
 "Unterschlüssel %s ist des Signieren nicht mächtig und braucht deshalb keine "
 "Rücksignatur\n"
 
-#: g10/keyedit.c:5051
+#: g10/keyedit.c:5052
 msgid "Please select exactly one user ID.\n"
 msgstr "Bitte genau eine User-ID auswählen.\n"
 
-#: g10/keyedit.c:5092 g10/keyedit.c:5206 g10/keyedit.c:5319 g10/keyedit.c:5457
+#: g10/keyedit.c:5093 g10/keyedit.c:5207 g10/keyedit.c:5320 g10/keyedit.c:5458
 #, c-format
 msgid "skipping v3 self-signature on user ID \"%s\"\n"
 msgstr "Überspringen der v3 Eigenbeglaubigung von User-ID \"%s\"\n"
 
-#: g10/keyedit.c:5263
+#: g10/keyedit.c:5264
 msgid "Enter your preferred keyserver URL: "
 msgstr "Geben Sie die URL Ihres bevorzugten Schlüsselservers ein: "
 
-#: g10/keyedit.c:5342
+#: g10/keyedit.c:5343
 msgid "Are you sure you want to replace it? (y/N) "
 msgstr "Wollen Sie ihn wirklich ersetzen? (j/N) "
 
-#: g10/keyedit.c:5343
+#: g10/keyedit.c:5344
 msgid "Are you sure you want to delete it? (y/N) "
 msgstr "Wollen Sie ihn wirklich löschen? (j/N) "
 
-#: g10/keyedit.c:5403
+#: g10/keyedit.c:5404
 msgid "Enter the notation: "
 msgstr "Geben Sie die \"Notation\" ein: "
 
-#: g10/keyedit.c:5550
+#: g10/keyedit.c:5551
 msgid "Proceed? (y/N) "
 msgstr "Fortfahren (j/N)? "
 
-#: g10/keyedit.c:5620
+#: g10/keyedit.c:5621
 #, c-format
 msgid "No user ID with index %d\n"
 msgstr "Keine User-ID mit Index %d\n"
 
-#: g10/keyedit.c:5682
+#: g10/keyedit.c:5683
 #, c-format
 msgid "No user ID with hash %s\n"
 msgstr "Keine User-ID mit Hash %s\n"
 
-#: g10/keyedit.c:5783
+#: g10/keyedit.c:5784
 #, c-format
 msgid "No subkey with key ID '%s'.\n"
 msgstr "Kein Unterschlüssel mit Schlüssel-ID '%s'.\n"
 
-#: g10/keyedit.c:5805
+#: g10/keyedit.c:5806
 #, c-format
 msgid "No subkey with index %d\n"
 msgstr "Kein Unterschlüssel mit Index %d\n"
 
-#: g10/keyedit.c:5946
+#: g10/keyedit.c:5947
 #, c-format
 msgid "user ID: \"%s\"\n"
 msgstr "User-ID: \"%s\"\n"
 
-#: g10/keyedit.c:5949 g10/keyedit.c:6051 g10/keyedit.c:6099
+#: g10/keyedit.c:5950 g10/keyedit.c:6052 g10/keyedit.c:6100
 #, c-format
 msgid "signed by your key %s on %s%s%s\n"
 msgstr "   beglaubigt durch Ihren Schlüssel %s am %s%s%s\n"
 
-#: g10/keyedit.c:5951 g10/keyedit.c:6053 g10/keyedit.c:6101
+#: g10/keyedit.c:5952 g10/keyedit.c:6054 g10/keyedit.c:6102
 msgid " (non-exportable)"
 msgstr " (nicht-exportierbar)"
 
-#: g10/keyedit.c:5955
+#: g10/keyedit.c:5956
 #, c-format
 msgid "This signature expired on %s.\n"
 msgstr "Diese Signatur ist seit %s verfallen.\n"
 
-#: g10/keyedit.c:5960
+#: g10/keyedit.c:5961
 msgid "Are you sure you still want to revoke it? (y/N) "
 msgstr "Wollen Sie ihn immer noch widerrufen? (j/N) "
 
-#: g10/keyedit.c:5965
+#: g10/keyedit.c:5966
 msgid "Create a revocation certificate for this signature? (y/N) "
 msgstr "Ein Widerrufszertifikat für diese Signatur erzeugen (j/N)"
 
-#: g10/keyedit.c:6025
+#: g10/keyedit.c:6026
 #, c-format
 msgid "You have signed these user IDs on key %s:\n"
 msgstr "Sie haben folgende User-IDs des Schlüssels %s beglaubigt:\n"
 
-#: g10/keyedit.c:6054
+#: g10/keyedit.c:6055
 msgid " (non-revocable)"
 msgstr " (unwiderrufbar)"
 
-#: g10/keyedit.c:6061
+#: g10/keyedit.c:6062
 #, c-format
 msgid "revoked by your key %s on %s\n"
 msgstr "widerrufen durch Ihren Schlüssel %s um %s\n"
 
-#: g10/keyedit.c:6086
+#: g10/keyedit.c:6087
 msgid "You are about to revoke these signatures:\n"
 msgstr "Es werden nun folgende Beglaubigungen entfernt:\n"
 
-#: g10/keyedit.c:6109
+#: g10/keyedit.c:6110
 msgid "Really create the revocation certificates? (y/N) "
 msgstr "Wirklich ein Signatur-Widerrufszertifikat erzeugen? (j/N) "
 
-#: g10/keyedit.c:6142
+#: g10/keyedit.c:6143
 #, c-format
 msgid "no secret key\n"
 msgstr "Kein geheimer Schlüssel\n"
 
-#: g10/keyedit.c:6190
+#: g10/keyedit.c:6191
 #, c-format
 msgid "tried to revoke a non-user ID: %s\n"
 msgstr "Versuch eine nicht-User-ID zu widerrufen: %s\n"
 
-#: g10/keyedit.c:6200
+#: g10/keyedit.c:6201
 #, c-format
 msgid "user ID \"%s\" is already revoked\n"
 msgstr "User-ID \"%s\" ist bereits widerrufen\n"
 
-#: g10/keyedit.c:6217
+#: g10/keyedit.c:6218
 #, c-format
 msgid "WARNING: a user ID signature is dated %d seconds in the future\n"
 msgstr ""
 "WARNUNG: Eine User-ID-Signatur datiert mit %d Sekunden aus der Zukunft\n"
 
-#: g10/keyedit.c:6313
+#: g10/keyedit.c:6314
 #, c-format
 msgid "Cannot revoke the last valid user ID.\n"
 msgstr "Die letzte User-ID kann nicht widerrufen werden!\n"
 
-#: g10/keyedit.c:6351
+#: g10/keyedit.c:6352
 #, c-format
 msgid "Key %s is already revoked.\n"
 msgstr "Schlüssel %s ist bereits widerrufen\n"
 
-#: g10/keyedit.c:6413
+#: g10/keyedit.c:6414
 #, c-format
 msgid "Subkey %s is already revoked.\n"
 msgstr "Unterschlüssel %s ist bereits widerrufen\n"
 
-#: g10/keyedit.c:6510
+#: g10/keyedit.c:6511
 #, c-format
 msgid "Displaying %s photo ID of size %ld for key %s (uid %d)\n"
 msgstr "Anzeigen einer %s Foto-ID (Größe %ld) für Schlüssel %s (User-ID %d)\n"
@@ -5750,77 +5768,72 @@ msgstr ""
 msgid "honor the PKA record set on a key when retrieving keys"
 msgstr "Die im Schlüssel enthaltenen PKA-Daten beim Schlüsselholen beachten"
 
-#: g10/keyserver.c:550
+#: g10/keyserver.c:373
 msgid "disabled"
 msgstr "abgeschaltet"
 
-#: g10/keyserver.c:754
+#: g10/keyserver.c:577
 msgid "Enter number(s), N)ext, or Q)uit > "
 msgstr "Eingabe von Nummern, Nächste (N) oder Abbrechen (Q) > "
 
-#: g10/keyserver.c:860
+#: g10/keyserver.c:683
 #, c-format
 msgid "invalid keyserver protocol (us %d!=handler %d)\n"
 msgstr "Ungültiges Schlüsselserverprotokoll (wir %d!=Handhabungsroutine %d)\n"
 
-#: g10/keyserver.c:1001 g10/keyserver.c:1116
+#: g10/keyserver.c:824 g10/keyserver.c:939
 #, c-format
 msgid "\"%s\" not a key ID: skipping\n"
 msgstr "\"%s\" ist keine Schlüssel-ID: überspringe\n"
 
-#: g10/keyserver.c:1438 g10/keyserver.c:1471
+#: g10/keyserver.c:1237 g10/keyserver.c:1270
 #, c-format
 msgid "refreshing %d key from %s\n"
 msgid_plural "refreshing %d keys from %s\n"
 msgstr[0] "%d Schlüssel wird per %s aktualisiert\n"
 msgstr[1] "%d Schlüssel werden per %s aktualisiert\n"
 
-#: g10/keyserver.c:1445
+#: g10/keyserver.c:1244
 #, c-format
 msgid "WARNING: unable to refresh key %s via %s: %s\n"
 msgstr "WARNUNG: Schlüssel %s kann per %s nicht aktualisiert werden: %s\n"
 
-#: g10/keyserver.c:1549
+#: g10/keyserver.c:1336
 #, c-format
 msgid "key \"%s\" not found on keyserver\n"
 msgstr "Schlüssel \"%s\" wurde auf dem Schlüsselserver nicht gefunden\n"
 
-#: g10/keyserver.c:1552
+#: g10/keyserver.c:1339
 #, c-format
 msgid "key not found on keyserver\n"
 msgstr "Schlüssel wurde auf dem Schlüsselserver nicht gefunden\n"
 
-#: g10/keyserver.c:1743
-#, c-format
-msgid "requesting key %s from %s server %s\n"
-msgstr "fordere Schlüssel %s von %s-Server %s an\n"
-
-#: g10/keyserver.c:1747
+#: g10/keyserver.c:1504
 #, c-format
 msgid "requesting key %s from %s\n"
 msgstr "fordere Schlüssel %s von %s an\n"
 
-#: g10/keyserver.c:1852 g10/keyserver.c:2031
+#: g10/keyserver.c:1619 g10/keyserver.c:1798
 #, c-format
 msgid "no keyserver known\n"
 msgstr "Kein Schlüsselserver bekannt\n"
 
-#: g10/keyserver.c:1867 g10/skclist.c:214 g10/skclist.c:242
+#: g10/keyserver.c:1634 g10/skclist.c:215 g10/skclist.c:243
 #, c-format
 msgid "skipped \"%s\": %s\n"
 msgstr "übersprungen \"%s\": %s\n"
 
-#: g10/keyserver.c:1871
+#: g10/keyserver.c:1638
 #, c-format
 msgid "sending key %s to %s\n"
 msgstr "sende Schlüssel %s auf %s\n"
 
-#: g10/keyserver.c:1912
+#: g10/keyserver.c:1679
 #, c-format
 msgid "requesting key from '%s'\n"
 msgstr "fordere Schlüssel von %s an\n"
 
-#: g10/keyserver.c:1928
+#: g10/keyserver.c:1695
 #, c-format
 msgid "WARNING: unable to fetch URI %s: %s\n"
 msgstr "WARNUNG: die URI %s kann nicht geholt werden: %s\n"
@@ -5835,75 +5848,75 @@ msgstr "Seltsame Länge für einen verschlüsselten Sitzungsschlüssel (%d)\n"
 msgid "%s encrypted session key\n"
 msgstr "%s verschlüsselter Sitzungsschlüssel\n"
 
-#: g10/mainproc.c:400
+#: g10/mainproc.c:403
 #, c-format
 msgid "passphrase generated with unknown digest algorithm %d\n"
-msgstr "Passphrase wurde mit unbekanntem Hashverfahren %d erstellt\n"
+msgstr "Das Passwort wurde mit unbekanntem Hashverfahren %d erstellt\n"
 
-#: g10/mainproc.c:481
+#: g10/mainproc.c:485
 #, c-format
 msgid "public key is %s\n"
 msgstr "Öffentlicher Schlüssel ist %s\n"
 
-#: g10/mainproc.c:557
+#: g10/mainproc.c:561
 #, c-format
 msgid "public key encrypted data: good DEK\n"
 msgstr "Mit öffentlichem Schlüssel verschlüsselte Daten: Korrekte DEK\n"
 
-#: g10/mainproc.c:590
+#: g10/mainproc.c:594
 #, c-format
 msgid "encrypted with %u-bit %s key, ID %s, created %s\n"
 msgstr "verschlüsselt mit %u-Bit %s Schlüssel, ID %s, erzeugt %s\n"
 
-#: g10/mainproc.c:594 g10/pkclist.c:228
+#: g10/mainproc.c:598 g10/pkclist.c:228
 #, c-format
 msgid "      \"%s\"\n"
 msgstr "      \"%s\"\n"
 
 # Scripte scannen lt. dl1bke auf "ID (0-9A-F)+" deswegen muß "ID" rein :-(
 # [kw]
-#: g10/mainproc.c:598
+#: g10/mainproc.c:602
 #, c-format
 msgid "encrypted with %s key, ID %s\n"
 msgstr "verschlüsselt mit %s Schlüssel, ID %s\n"
 
-#: g10/mainproc.c:619
+#: g10/mainproc.c:623
 #, c-format
 msgid "public key decryption failed: %s\n"
 msgstr "Entschlüsselung mit Public-Key-Verfahren fehlgeschlagen: %s\n"
 
-#: g10/mainproc.c:641 g10/mainproc.c:970
+#: g10/mainproc.c:645 g10/mainproc.c:976
 #, c-format
 msgid "WARNING: multiple plaintexts seen\n"
 msgstr "WARNUNG: Mehr als ein Klartext erkannt\n"
 
-#: g10/mainproc.c:649
+#: g10/mainproc.c:653
 #, c-format
 msgid "encrypted with %lu passphrases\n"
-msgstr "Verschlüsselt mit %lu Passphrases\n"
+msgstr "Verschlüsselt mit %lu Passwörtern\n"
 
-#: g10/mainproc.c:651
+#: g10/mainproc.c:655
 #, c-format
 msgid "encrypted with 1 passphrase\n"
-msgstr "Verschlüsselt mit einer Passphrase\n"
+msgstr "Verschlüsselt mit einem Passwort\n"
 
-#: g10/mainproc.c:685 g10/mainproc.c:706
+#: g10/mainproc.c:689 g10/mainproc.c:710
 #, c-format
 msgid "assuming %s encrypted data\n"
 msgstr "vermutlich %s-verschlüsselte Daten\n"
 
-#: g10/mainproc.c:692
+#: g10/mainproc.c:696
 #, c-format
 msgid "IDEA cipher unavailable, optimistically attempting to use %s instead\n"
 msgstr "IDEA-Verschlüsselung nicht verfügbar; versucht wird stattdessen %s\n"
 
-#: g10/mainproc.c:779 g10/mainproc.c:817
+#: g10/mainproc.c:785 g10/mainproc.c:823
 #, c-format
 msgid "WARNING: message was not integrity protected\n"
 msgstr ""
 "WARNUNG: Botschaft wurde nicht integritätsgeschützt (integrity protected)\n"
 
-#: g10/mainproc.c:790
+#: g10/mainproc.c:796
 msgid ""
 "Hint: If this message was created before the year 2003 it is\n"
 "likely that this message is legitimate.  This is because back\n"
@@ -5913,184 +5926,184 @@ msgstr ""
 "vermutlich eine legitime Botschaft sein.  Die kann vermutet werden, da\n"
 "vor diesem Zeitpunkt ein Integritätsschutz nur selten verwendet wurde.\n"
 
-#: g10/mainproc.c:793
+#: g10/mainproc.c:799
 #, c-format
 msgid "Use the option '%s' to decrypt anyway.\n"
 msgstr "Mit der Option '%s' kann trotzdem entschlüsselt werden.\n"
 
-#: g10/mainproc.c:798
+#: g10/mainproc.c:804
 #, c-format
 msgid "decryption forced to fail!\n"
 msgstr "Entschlüsselungs-Fehler erzwungen!\n"
 
-#: g10/mainproc.c:810
+#: g10/mainproc.c:816
 #, c-format
 msgid "decryption okay\n"
 msgstr "Entschlüsselung erfolgreich\n"
 
-#: g10/mainproc.c:823
+#: g10/mainproc.c:829
 #, c-format
 msgid "WARNING: encrypted message has been manipulated!\n"
 msgstr "WARNUNG: Verschlüsselte Botschaft ist manipuliert worden!\n"
 
-#: g10/mainproc.c:841
+#: g10/mainproc.c:847
 #, c-format
 msgid "decryption failed: %s\n"
 msgstr "Entschlüsselung fehlgeschlagen: %s\n"
 
-#: g10/mainproc.c:886
+#: g10/mainproc.c:892
 #, c-format
 msgid "Note: sender requested \"for-your-eyes-only\"\n"
 msgstr ""
 "Hinweis: Der Absender verlangte Vertraulichkeit(\"for-your-eyes-only\")\n"
 
-#: g10/mainproc.c:893
+#: g10/mainproc.c:899
 #, c-format
 msgid "original file name='%.*s'\n"
 msgstr "Ursprünglicher Dateiname='%.*s'\n"
 
-#: g10/mainproc.c:1148
+#: g10/mainproc.c:1154
 #, c-format
 msgid "standalone revocation - use \"gpg --import\" to apply\n"
 msgstr ""
 "Einzelner Widerruf - verwenden Sie \"gpg --import\", um ihn anzuwenden\n"
 
-#: g10/mainproc.c:1452 g10/mainproc.c:1495
+#: g10/mainproc.c:1458 g10/mainproc.c:1501
 #, c-format
 msgid "no signature found\n"
 msgstr "Keine Signatur gefunden\n"
 
-#: g10/mainproc.c:1852
+#: g10/mainproc.c:1858
 #, c-format
 msgid "BAD signature from \"%s\""
 msgstr "FALSCHE Signatur von \"%s\""
 
-#: g10/mainproc.c:1854
+#: g10/mainproc.c:1860
 #, c-format
 msgid "Expired signature from \"%s\""
 msgstr "Verfallene Signatur von \"%s\""
 
-#: g10/mainproc.c:1856
+#: g10/mainproc.c:1862
 #, c-format
 msgid "Good signature from \"%s\""
 msgstr "Korrekte Signatur von \"%s\""
 
-#: g10/mainproc.c:1876
+#: g10/mainproc.c:1882
 #, c-format
 msgid "signature verification suppressed\n"
 msgstr "Signaturüberprüfung unterdrückt\n"
 
-#: g10/mainproc.c:1985
+#: g10/mainproc.c:1991
 #, c-format
 msgid "can't handle this ambiguous signature data\n"
 msgstr "diese mehrdeutige Signaturdaten können nicht bearbeitet werden\n"
 
-#: g10/mainproc.c:2001 g10/mainproc.c:2008
+#: g10/mainproc.c:2007 g10/mainproc.c:2014
 #, c-format
 msgid "Signature made %s\n"
 msgstr "Signatur vom %s\n"
 
-#: g10/mainproc.c:2002 g10/mainproc.c:2009 sm/verify.c:476
+#: g10/mainproc.c:2008 g10/mainproc.c:2015 sm/verify.c:476
 #, c-format
 msgid "               using %s key %s\n"
 msgstr "               mittels %s-Schlüssel %s\n"
 
 # Scripte scannen lt. dl1bke auf "ID (0-9A-F)+" deswegen muß "ID" rein :-(
-#: g10/mainproc.c:2013
+#: g10/mainproc.c:2019
 #, c-format
 msgid "Signature made %s using %s key ID %s\n"
 msgstr "Signatur vom %s mittels %s-Schlüssel ID %s\n"
 
-#: g10/mainproc.c:2019
+#: g10/mainproc.c:2025
 #, c-format
 msgid "               issuer \"%s\"\n"
 msgstr "               Aussteller \"%s\"\n"
 
-#: g10/mainproc.c:2070
+#: g10/mainproc.c:2076
 #, c-format
 msgid "Key available at: "
 msgstr "Schlüssel erhältlich bei: "
 
-#: g10/mainproc.c:2111
+#: g10/mainproc.c:2118
 #, c-format
 msgid "Note: Use '%s' to make use of this info\n"
 msgstr "Hinweis: Benutze '%s' um diese Information zu verwenden\n"
 
-#: g10/mainproc.c:2325
+#: g10/mainproc.c:2334
 msgid "[uncertain]"
 msgstr "[ungewiß]  "
 
-#: g10/mainproc.c:2363
+#: g10/mainproc.c:2372
 #, c-format
 msgid "                aka \"%s\""
 msgstr "                    alias \"%s\""
 
-#: g10/mainproc.c:2438
+#: g10/mainproc.c:2447
 #, c-format
 msgid "WARNING: This key is not suitable for signing in %s mode\n"
 msgstr ""
 "WARNUNG: Dieser Schlüssel ist zum Signieren im %s Modus nicht geeignet.\n"
 
-#: g10/mainproc.c:2456
+#: g10/mainproc.c:2465
 #, c-format
 msgid "Signature expired %s\n"
 msgstr "Diese Signatur ist seit %s verfallen.\n"
 
-#: g10/mainproc.c:2460
+#: g10/mainproc.c:2469
 #, c-format
 msgid "Signature expires %s\n"
 msgstr "Diese Signatur verfällt am %s.\n"
 
-#: g10/mainproc.c:2471
+#: g10/mainproc.c:2480
 #, c-format
 msgid "%s signature, digest algorithm %s%s%s\n"
 msgstr "%s Signatur, Hashmethode %s%s%s\n"
 
-#: g10/mainproc.c:2472
+#: g10/mainproc.c:2481
 msgid "binary"
 msgstr "Binäre"
 
-#: g10/mainproc.c:2473
+#: g10/mainproc.c:2482
 msgid "textmode"
 msgstr "Textmodus"
 
-#: g10/mainproc.c:2473 g10/trust.c:123 dirmngr/ocsp.c:792
+#: g10/mainproc.c:2482 g10/trust.c:123 dirmngr/ocsp.c:792
 msgid "unknown"
 msgstr "unbekannt"
 
-#: g10/mainproc.c:2475
+#: g10/mainproc.c:2484
 msgid ", key algorithm "
 msgstr ", Schlüsselverfahren "
 
-#: g10/mainproc.c:2510
+#: g10/mainproc.c:2519
 #, c-format
 msgid "WARNING: not a detached signature; file '%s' was NOT verified!\n"
 msgstr ""
 "WARNUNG: Keine abgetrennte Signatur; die Datei '%s' wurde NICHT überprüft!\n"
 
-#: g10/mainproc.c:2548
+#: g10/mainproc.c:2558
 #, c-format
 msgid "Can't check signature: %s\n"
 msgstr "Signatur kann nicht geprüft werden: %s\n"
 
-#: g10/mainproc.c:2644 g10/mainproc.c:2663 g10/mainproc.c:2787
+#: g10/mainproc.c:2654 g10/mainproc.c:2673 g10/mainproc.c:2797
 #, c-format
 msgid "not a detached signature\n"
 msgstr "keine abgetrennte Signatur\n"
 
-#: g10/mainproc.c:2697
+#: g10/mainproc.c:2707
 #, c-format
 msgid ""
 "WARNING: multiple signatures detected.  Only the first will be checked.\n"
 msgstr ""
 "WARNUNG: Mehrfache Signaturen erkannt.  Es wird nur die erste geprüft.\n"
 
-#: g10/mainproc.c:2706
+#: g10/mainproc.c:2716
 #, c-format
 msgid "standalone signature of class 0x%02x\n"
 msgstr "Einzelne Signatur der Klasse 0x%02x\n"
 
-#: g10/mainproc.c:2791
+#: g10/mainproc.c:2801
 #, c-format
 msgid "old style (PGP 2.x) signature\n"
 msgstr "Signatur nach alter (PGP 2.x) Art\n"
@@ -6280,62 +6293,63 @@ msgstr "Unbekannte Entscheidende Beglaubigungs-\"Notation\": "
 msgid "subpacket of type %d has critical bit set\n"
 msgstr "Im Unterpaket des Typs %d ist das \"critical bit\" gesetzt\n"
 
-#: g10/passphrase.c:73 g10/passphrase.c:275 g10/passphrase.c:308
+#: g10/passphrase.c:73 g10/passphrase.c:283 g10/passphrase.c:316
 #, c-format
 msgid "problem with the agent: %s\n"
 msgstr "Problem mit dem Agenten: %s\n"
 
-#: g10/passphrase.c:258
+#: g10/passphrase.c:251 sm/decrypt.c:341
+msgid "Please enter the passphrase for decryption."
+msgstr "Bitte geben Sie zur Entschlüsselung das Passwort ein"
+
+#: g10/passphrase.c:253
 msgid "Enter passphrase\n"
-msgstr "Geben Sie die Passphrase ein\n"
+msgstr "Geben Sie das Passwort ein\n"
 
-#: g10/passphrase.c:269
+#: g10/passphrase.c:277
 #, c-format
 msgid "cancelled by user\n"
 msgstr "Abbruch durch Benutzer\n"
 
-#: g10/passphrase.c:510
+#: g10/passphrase.c:523
 #, c-format
 msgid " (main key ID %s)"
 msgstr " (Hauptschlüssel-ID %s)"
 
-#: g10/passphrase.c:517
+#: g10/passphrase.c:530
 msgid "Please enter the passphrase to unlock the OpenPGP secret key:"
 msgstr ""
-"Sie benötigen eine Passphrase, um den geheimen OpenPGP Schlüssel zu "
-"entsperren:"
+"Sie benötigen ein Passwort, um den geheimen OpenPGP Schlüssel zu entsperren:"
 
-#: g10/passphrase.c:521
+#: g10/passphrase.c:534
 msgid "Please enter the passphrase to import the OpenPGP secret key:"
 msgstr ""
-"Sie benötigen eine Passphrase, um den geheimen OpenPGP Schlüssel zu "
-"importieren:"
+"Sie benötigen ein Passwort, um den geheimen OpenPGP Schlüssel zu importieren:"
 
-#: g10/passphrase.c:526
+#: g10/passphrase.c:539
 msgid "Please enter the passphrase to export the OpenPGP secret subkey:"
 msgstr ""
-"Sie benötigen eine Passphrase, um den geheimen OpenPGP Unterschlüssel zu "
+"Sie benötigen ein Passwort, um den geheimen OpenPGP Unterschlüssel zu "
 "exportieren:"
 
-#: g10/passphrase.c:529
+#: g10/passphrase.c:542
 msgid "Please enter the passphrase to export the OpenPGP secret key:"
 msgstr ""
-"Sie benötigen eine Passphrase, um den geheimen OpenPGP Schlüssel zu "
-"exportieren:"
+"Sie benötigen ein Passwort, um den geheimen OpenPGP Schlüssel zu exportieren:"
 
-#: g10/passphrase.c:534
+#: g10/passphrase.c:547
 msgid "Do you really want to permanently delete the OpenPGP secret subkey key:"
 msgstr ""
 "Möchten Sie den ausgewählten geheimen OpenPGP Unterschlüssel wirklich "
 "dauerhaft entfernen? (j/N) "
 
-#: g10/passphrase.c:537
+#: g10/passphrase.c:550
 msgid "Do you really want to permanently delete the OpenPGP secret key:"
 msgstr ""
 "Möchten Sie den ausgewählten geheimen OpenPGP Schlüssel wirklich dauerhaft "
 "entfernen? (j/N) "
 
-#: g10/passphrase.c:546
+#: g10/passphrase.c:559
 #, c-format
 msgid ""
 "%s\n"
@@ -6393,7 +6407,7 @@ msgstr "`%s' ist keine JPEG-Datei\n"
 msgid "Is this photo correct (y/N/q)? "
 msgstr "Ist dieses Bild richtig? (j/N) "
 
-#: g10/photoid.c:395
+#: g10/photoid.c:399
 #, c-format
 msgid "unable to display photo ID!\n"
 msgstr "Die Foto-ID kann nicht angezeigt werden!\n"
@@ -6752,7 +6766,7 @@ msgstr "kann signierte Datei '%s' nicht öffnen.\n"
 msgid "can't open signed data fd=%d: %s\n"
 msgstr "kann signierte Daten auf fd=%d nicht öffnen: %s\n"
 
-#: g10/pubkey-enc.c:98 g10/pubkey-enc.c:139 sm/decrypt.c:493
+#: g10/pubkey-enc.c:98 g10/pubkey-enc.c:139 sm/decrypt.c:969
 #, c-format
 msgid "key %s is not suitable for decryption in %s mode\n"
 msgstr "Schlüssel \"%s\" ist zum Entschlüsseln im %s Modus nicht geeignet.\n"
@@ -6767,29 +6781,29 @@ msgstr "Ungenannter Empfänger; Versuch mit geheimen Schlüssel %s ...\n"
 msgid "okay, we are the anonymous recipient.\n"
 msgstr "Alles klar, wir sind der ungenannte Empfänger.\n"
 
-#: g10/pubkey-enc.c:321
+#: g10/pubkey-enc.c:311
 #, c-format
 msgid "old encoding of the DEK is not supported\n"
 msgstr "alte Kodierung des DEK wird nicht unterstützt\n"
 
-#: g10/pubkey-enc.c:349
+#: g10/pubkey-enc.c:339
 #, c-format
 msgid "cipher algorithm %d%s is unknown or disabled\n"
 msgstr "Verschlüsselungsverfahren %d%s ist unbekannt oder abgeschaltet\n"
 
-#: g10/pubkey-enc.c:393
+#: g10/pubkey-enc.c:383
 #, c-format
 msgid "WARNING: cipher algorithm %s not found in recipient preferences\n"
 msgstr ""
 "WARNUNG: Das Verschlüsselungsverfahren %s wurde nicht in den "
 "Empfängereinstellungen gefunden\n"
 
-#: g10/pubkey-enc.c:426
+#: g10/pubkey-enc.c:416
 #, c-format
 msgid "Note: secret key %s expired at %s\n"
 msgstr "Hinweis: geheimer Schlüssel %s verfällt am %s\n"
 
-#: g10/pubkey-enc.c:433
+#: g10/pubkey-enc.c:423
 #, c-format
 msgid "Note: key has been revoked"
 msgstr "Hinweis: Schlüssel wurde widerrufen"
@@ -7119,7 +7133,7 @@ msgstr ""
 msgid "%s/%s signature from: \"%s\"\n"
 msgstr "%s/%s Signatur von: \"%s\"\n"
 
-#: g10/sign.c:1046
+#: g10/sign.c:1045
 #, c-format
 msgid ""
 "WARNING: forcing digest algorithm %s (%d) violates recipient preferences\n"
@@ -7127,34 +7141,34 @@ msgstr ""
 "WARNUNG: Erzwingen des Hashverfahrens %s (%d) verstößt gegen die "
 "Empfängervoreinstellungen\n"
 
-#: g10/sign.c:1188
+#: g10/sign.c:1187
 #, c-format
 msgid "signing:"
 msgstr "signiere:"
 
-#: g10/sign.c:1465
+#: g10/sign.c:1464
 #, c-format
 msgid "%s encryption will be used\n"
 msgstr "%s Verschlüsselung wird verwendet\n"
 
-#: g10/skclist.c:173 g10/skclist.c:254
+#: g10/skclist.c:174 g10/skclist.c:255
 #, c-format
 msgid "key is not flagged as insecure - can't use it with the faked RNG!\n"
 msgstr ""
 "Schlüssel ist nicht als unsicher gekennzeichnet - er ist nur mit einem\n"
 "echten Zufallsgenerator verwendbar\n"
 
-#: g10/skclist.c:205
+#: g10/skclist.c:206
 #, c-format
 msgid "skipped \"%s\": duplicated\n"
 msgstr "übersprungen \"%s\": doppelt\n"
 
-#: g10/skclist.c:224
+#: g10/skclist.c:225
 #, c-format
 msgid "skipped: secret key already present\n"
 msgstr "übersprungen: geheimer Schlüssel bereits vorhanden\n"
 
-#: g10/skclist.c:243
+#: g10/skclist.c:244
 msgid "this is a PGP generated Elgamal key which is not secure for signatures!"
 msgstr ""
 "Dies ist ein durch PGP erzeugter Elgamal-Schlüssel. Das ist für Signaturen "
@@ -7210,7 +7224,7 @@ msgstr "Lesefehler in `%s': %s\n"
 msgid "trustdb: sync failed: %s\n"
 msgstr "\"Trust-DB\": sync fehlgeschlagen: %s\n"
 
-#: g10/tdbio.c:144 sm/keydb.c:336
+#: g10/tdbio.c:144 sm/keydb.c:335
 #, c-format
 msgid "can't create lock for '%s'\n"
 msgstr "Datei `%s' konnte nicht gesperrt werden\n"
@@ -7982,41 +7996,52 @@ msgstr ""
 #. TRANSLATORS: Put a \x1f right before a colon.  This can be
 #. * used by pinentry to nicely align the names and values.  Keep
 #. * the %s at the start and end of the string.
-#: scd/app-p15.c:3369 scd/app-openpgp.c:2153
+#: scd/app-p15.c:4955 scd/app-openpgp.c:2151
 #, c-format
 msgid "%sNumber\1f: %s%%0AHolder\1f: %s%s"
 msgstr "%sNummer\1f: %s%%0ABesitzer\1f: %s%s"
 
 #. TRANSLATORS: This is the number of remaining attempts to
 #. * enter a PIN.  Use %%0A (double-percent,0A) for a linefeed.
-#: scd/app-p15.c:3388 scd/app-openpgp.c:2169
+#: scd/app-p15.c:4974 scd/app-openpgp.c:2167
 #, c-format
 msgid "Remaining attempts: %d"
 msgstr "Verbliebene Versuche: %d"
 
-#: scd/app-p15.c:3459 scd/app-nks.c:1110
+#: scd/app-p15.c:5053 scd/app-nks.c:1113
 msgid "||Please enter the PIN for the key to create qualified signatures."
 msgstr ""
 "||Bitte geben Sie die PIN für den Schlüssel zur Erstellung qualifizierter "
 "Signaturen ein."
 
-#: scd/app-p15.c:3462 scd/app-nks.c:1092
+#. TRANSLATORS: Do not translate the "|A|" prefix but keep it at
+#. the start of the string.  Use %0A (single percent) for a linefeed.
+#: scd/app-p15.c:5056 scd/app-openpgp.c:2461
+msgid "|A|Please enter the Admin PIN"
+msgstr "|A|Bitte die Admin-PIN eingeben."
+
+#: scd/app-p15.c:5058 scd/app-nks.c:1103
+msgid "|P|Please enter the PIN Unblocking Code (PUK) for the standard keys."
+msgstr ""
+"|P|Bitte geben Sie den PIN Entsperrcode (PUK) für den Standard-Schlüssel ein."
+
+#: scd/app-p15.c:5061 scd/app-nks.c:1095
 msgid "||Please enter the PIN for the standard keys."
 msgstr "||Bitte die PIN für den Standard-Schlüssel eingeben."
 
-#: scd/app-nks.c:709 scd/app-openpgp.c:3664
+#: scd/app-nks.c:709 scd/app-openpgp.c:3663
 #, c-format
 msgid "RSA modulus missing or not of size %d bits\n"
 msgstr "Der RSA Modulus fehlt oder ist nicht %d Bits lang\n"
 
-#: scd/app-nks.c:717 scd/app-openpgp.c:3676
+#: scd/app-nks.c:717 scd/app-openpgp.c:3675
 #, c-format
 msgid "RSA public exponent missing or larger than %d bits\n"
 msgstr "Der öffentliche Exponent fehlt oder ist zu groß (mehr als %d Bit)\n"
 
-#: scd/app-nks.c:797 scd/app-openpgp.c:2326 scd/app-openpgp.c:2345
-#: scd/app-openpgp.c:2512 scd/app-openpgp.c:2530 scd/app-openpgp.c:2827
-#: scd/app-openpgp.c:2874 scd/app-openpgp.c:2989 scd/app-dinsig.c:303
+#: scd/app-nks.c:797 scd/app-openpgp.c:2324 scd/app-openpgp.c:2343
+#: scd/app-openpgp.c:2510 scd/app-openpgp.c:2528 scd/app-openpgp.c:2826
+#: scd/app-openpgp.c:2873 scd/app-openpgp.c:2988 scd/app-dinsig.c:302
 #, c-format
 msgid "PIN callback returned error: %s\n"
 msgstr "PIN-Callback meldete Fehler: %s\n"
@@ -8026,28 +8051,23 @@ msgstr "PIN-Callback meldete Fehler: %s\n"
 msgid "the NullPIN has not yet been changed\n"
 msgstr "Die Nullpin wurde noch nicht geändert\n"
 
-#: scd/app-nks.c:1091
+#: scd/app-nks.c:1094
 msgid "|N|Please enter a new PIN for the standard keys."
 msgstr "|N|Bitte eine neue PIN für den Standard-Schlüssel eingeben."
 
-#: scd/app-nks.c:1098
+#: scd/app-nks.c:1101
 msgid "|NP|Please enter a new PIN Unblocking Code (PUK) for the standard keys."
 msgstr ""
 "|NP|Bitte geben Sie einen neuen PIN Entsperrcode (PUK) für den Standard-"
 "Schlüssel ein."
 
-#: scd/app-nks.c:1100
-msgid "|P|Please enter the PIN Unblocking Code (PUK) for the standard keys."
-msgstr ""
-"|P|Bitte geben Sie den PIN Entsperrcode (PUK) für den Standard-Schlüssel ein."
-
-#: scd/app-nks.c:1108
+#: scd/app-nks.c:1111
 msgid "|N|Please enter a new PIN for the key to create qualified signatures."
 msgstr ""
 "|N|Bitte geben Sie eine neue PIN für den Schlüssel zur Erstellung "
 "qualifizierter Signaturen ein."
 
-#: scd/app-nks.c:1118
+#: scd/app-nks.c:1121
 msgid ""
 "|NP|Please enter a new PIN Unblocking Code (PUK) for the key to create "
 "qualified signatures."
@@ -8055,7 +8075,7 @@ msgstr ""
 "|NP|Bitte geben Sie einen neuen PIN Entsperrcode (PUK) für den Schlüssel zur "
 "Erstellung qualifizierter Signaturen ein."
 
-#: scd/app-nks.c:1120
+#: scd/app-nks.c:1123
 msgid ""
 "|P|Please enter the PIN Unblocking Code (PUK) for the key to create "
 "qualified signatures."
@@ -8063,47 +8083,47 @@ msgstr ""
 "|N|Bitte geben Sie den PIN Entsperrcode (PUK) für den Schlüssel zur "
 "Erstellung qualifizierter Signaturen ein."
 
-#: scd/app-nks.c:1227 scd/app-openpgp.c:2908 scd/app-dinsig.c:531
+#: scd/app-nks.c:1230 scd/app-openpgp.c:2907 scd/app-dinsig.c:532
 #, c-format
 msgid "error getting new PIN: %s\n"
 msgstr "Fehler beim Abfragen einer neuen PIN: %s\n"
 
-#: scd/app-openpgp.c:860
+#: scd/app-openpgp.c:859
 #, c-format
 msgid "failed to store the fingerprint: %s\n"
 msgstr "Der Fingerabdruck kann nicht gespeichert werden: %s\n"
 
-#: scd/app-openpgp.c:873
+#: scd/app-openpgp.c:872
 #, c-format
 msgid "failed to store the creation date: %s\n"
 msgstr "Das Erzeugungsdatum konnte nicht gespeichert werden: %s\n"
 
-#: scd/app-openpgp.c:1272 scd/app-openpgp.c:2855 scd/app-openpgp.c:5020
+#: scd/app-openpgp.c:1268 scd/app-openpgp.c:2854 scd/app-openpgp.c:5025
 #, c-format
 msgid "error retrieving CHV status from card\n"
 msgstr "Fehler beim Holen des CHV-Status' von der Karte\n"
 
-#: scd/app-openpgp.c:1430
+#: scd/app-openpgp.c:1426
 #, c-format
 msgid "response does not contain the RSA modulus\n"
 msgstr "Die Antwort enthält das RSA-Modulus nicht\n"
 
-#: scd/app-openpgp.c:1437
+#: scd/app-openpgp.c:1433
 #, c-format
 msgid "response does not contain the RSA public exponent\n"
 msgstr "Antwort enthält den öffentlichen RSA-Exponenten nicht\n"
 
-#: scd/app-openpgp.c:1547
+#: scd/app-openpgp.c:1543
 #, c-format
 msgid "response does not contain the EC public key\n"
 msgstr "Der EC Schlüssel fehlt in der Antwort\n"
 
-#: scd/app-openpgp.c:1665 scd/app-openpgp.c:4284
+#: scd/app-openpgp.c:1661 scd/app-openpgp.c:4283
 #, c-format
 msgid "response does not contain the public key data\n"
 msgstr "Die Antwort enthält keine öffentliche Schlüssel-Daten\n"
 
-#: scd/app-openpgp.c:1772
+#: scd/app-openpgp.c:1768
 #, c-format
 msgid "reading public key failed: %s\n"
 msgstr "Lesen des öffentlichen Schlüssels fehlgeschlagen: %s\n"
@@ -8111,44 +8131,44 @@ msgstr "Lesen des öffentlichen Schlüssels fehlgeschlagen: %s\n"
 #. TRANSLATORS: Put a \x1f right before a colon.  This can be
 #. * used by pinentry to nicely align the names and values.  Keep
 #. * the %s at the start and end of the string.
-#: scd/app-openpgp.c:2140
+#: scd/app-openpgp.c:2138
 #, c-format
 msgid "%sNumber\1f: %s%%0AHolder\1f: %s%%0ACounter\1f: %lu%s"
 msgstr "%sNummer\1f: %s%%0ABesitzer\1f: %s%%0AAnzahl\1f: %lu%s"
 
-#: scd/app-openpgp.c:2280
+#: scd/app-openpgp.c:2278
 #, c-format
 msgid "using default PIN as %s\n"
 msgstr "Die Standard PIN wird für %s benutzt\n"
 
-#: scd/app-openpgp.c:2287
+#: scd/app-openpgp.c:2285
 #, c-format
 msgid "failed to use default PIN as %s: %s - disabling further default use\n"
 msgstr ""
 "Die Standard PIN für %s konnte nicht benutzt werden: %s - Die Standard PIN "
 "wird nicht weiter benutzt\n"
 
-#: scd/app-openpgp.c:2300
+#: scd/app-openpgp.c:2298
 msgid "||Please unlock the card"
 msgstr "||Bitte entsperren Sie die Karte"
 
-#: scd/app-openpgp.c:2352 scd/app-openpgp.c:2537 scd/app-openpgp.c:2834
+#: scd/app-openpgp.c:2350 scd/app-openpgp.c:2535 scd/app-openpgp.c:2833
 #, c-format
 msgid "PIN for CHV%d is too short; minimum length is %d\n"
 msgstr "PIN für CHV%d ist zu kurz; die Mindestlänge beträgt %d\n"
 
-#: scd/app-openpgp.c:2366 scd/app-openpgp.c:2413 scd/app-openpgp.c:2551
-#: scd/app-openpgp.c:4642
+#: scd/app-openpgp.c:2364 scd/app-openpgp.c:2411 scd/app-openpgp.c:2549
+#: scd/app-openpgp.c:4641
 #, c-format
 msgid "verify CHV%d failed: %s\n"
 msgstr "Prüfung des CHV%d fehlgeschlagen: %s\n"
 
-#: scd/app-openpgp.c:2449 scd/app-openpgp.c:5029
+#: scd/app-openpgp.c:2447 scd/app-openpgp.c:5034
 #, c-format
 msgid "card is permanently locked!\n"
 msgstr "Karte ist dauerhaft gesperrt!\n"
 
-#: scd/app-openpgp.c:2453
+#: scd/app-openpgp.c:2451
 #, c-format
 msgid "%d Admin PIN attempt remaining before card is permanently locked\n"
 msgid_plural ""
@@ -8156,26 +8176,20 @@ msgid_plural ""
 msgstr[0] "Noch %d Admin-PIN-Versuch, bis die Karte dauerhaft gesperrt ist\n"
 msgstr[1] "Noch %d Admin-PIN-Versuche, bis die Karte dauerhaft gesperrt ist\n"
 
-#. TRANSLATORS: Do not translate the "|A|" prefix but keep it at
-#. the start of the string.  Use %0A (single percent) for a linefeed.
-#: scd/app-openpgp.c:2463
-msgid "|A|Please enter the Admin PIN"
-msgstr "|A|Bitte die Admin-PIN eingeben."
-
-#: scd/app-openpgp.c:2484
+#: scd/app-openpgp.c:2482
 #, c-format
 msgid "access to admin commands is not configured\n"
 msgstr "Zugriff auf Admin-Befehle ist nicht eingerichtet\n"
 
-#: scd/app-openpgp.c:2821
+#: scd/app-openpgp.c:2820
 msgid "||Please enter the PIN"
 msgstr "||Bitte die PIN eingeben"
 
-#: scd/app-openpgp.c:2870
+#: scd/app-openpgp.c:2869
 msgid "||Please enter the Reset Code for the card"
 msgstr "Bitte geben Sie den Rückstellcode für diese Karte ein"
 
-#: scd/app-openpgp.c:2880 scd/app-openpgp.c:2941
+#: scd/app-openpgp.c:2879 scd/app-openpgp.c:2940
 #, c-format
 msgid "Reset Code is too short; minimum length is %d\n"
 msgstr "Der Rückstellcode ist zu kurz; die Mindestlänge beträgt %d\n"
@@ -8183,114 +8197,114 @@ msgstr "Der Rückstellcode ist zu kurz; die Mindestlänge beträgt %d\n"
 #. TRANSLATORS: Do not translate the "|*|" prefixes but
 #. keep it at the start of the string.  We need this elsewhere
 #. to get some infos on the string.
-#: scd/app-openpgp.c:2903
+#: scd/app-openpgp.c:2902
 msgid "|RN|New Reset Code"
 msgstr "|RN|Neuer Rückstellcode"
 
-#: scd/app-openpgp.c:2904
+#: scd/app-openpgp.c:2903
 msgid "|AN|New Admin PIN"
 msgstr "|AN|Neue Admin-PIN"
 
-#: scd/app-openpgp.c:2904
+#: scd/app-openpgp.c:2903
 msgid "|N|New PIN"
 msgstr "|N|Neue PIN"
 
-#: scd/app-openpgp.c:2985
+#: scd/app-openpgp.c:2984
 msgid "||Please enter the Admin PIN and New Admin PIN"
 msgstr "|A|Bitte die Admin-PIN sowie die neue Admin-PIN eingeben."
 
-#: scd/app-openpgp.c:2986
+#: scd/app-openpgp.c:2985
 msgid "||Please enter the PIN and New PIN"
 msgstr "||Bitte die PIN sowie die neue PIN eingeben"
 
-#: scd/app-openpgp.c:3048 scd/app-openpgp.c:4344
+#: scd/app-openpgp.c:3047 scd/app-openpgp.c:4343
 #, c-format
 msgid "error reading application data\n"
 msgstr "Fehler beim Lesen der Anwendungsdaten\n"
 
-#: scd/app-openpgp.c:3054 scd/app-openpgp.c:4351
+#: scd/app-openpgp.c:3053 scd/app-openpgp.c:4350
 #, c-format
 msgid "error reading fingerprint DO\n"
 msgstr "Fehler beim Lesen des Fingerabdrucks DO\n"
 
-#: scd/app-openpgp.c:3064
+#: scd/app-openpgp.c:3063
 #, c-format
 msgid "key already exists\n"
 msgstr "Schlüssel existiert bereits\n"
 
-#: scd/app-openpgp.c:3068
+#: scd/app-openpgp.c:3067
 #, c-format
 msgid "existing key will be replaced\n"
 msgstr "Existierender Schlüssel wird ersetzt werden\n"
 
-#: scd/app-openpgp.c:3070
+#: scd/app-openpgp.c:3069
 #, c-format
 msgid "generating new key\n"
 msgstr "neue Schlüssel werden erzeugt\n"
 
-#: scd/app-openpgp.c:3072
+#: scd/app-openpgp.c:3071
 #, c-format
 msgid "writing new key\n"
 msgstr "der neue Schlüssel wird geschrieben\n"
 
-#: scd/app-openpgp.c:3645 scd/app-openpgp.c:3997
+#: scd/app-openpgp.c:3644 scd/app-openpgp.c:3996
 #, c-format
 msgid "creation timestamp missing\n"
 msgstr "Erzeugungsdatum fehlt\n"
 
-#: scd/app-openpgp.c:3686 scd/app-openpgp.c:3694
+#: scd/app-openpgp.c:3685 scd/app-openpgp.c:3693
 #, c-format
 msgid "RSA prime %s missing or not of size %d bits\n"
 msgstr "Die RSA Primzahl %s fehlt oder ist nicht %d Bits lang\n"
 
-#: scd/app-openpgp.c:3827 scd/app-openpgp.c:4104
+#: scd/app-openpgp.c:3826 scd/app-openpgp.c:4103
 #, c-format
 msgid "failed to store the key: %s\n"
 msgstr "Speichern des Schlüssels fehlgeschlagen: %s\n"
 
-#: scd/app-openpgp.c:3991
+#: scd/app-openpgp.c:3990
 #, c-format
 msgid "unsupported curve\n"
 msgstr "Nicht unterstützte Kurve\n"
 
-#: scd/app-openpgp.c:4261
+#: scd/app-openpgp.c:4260
 #, c-format
 msgid "please wait while key is being generated ...\n"
 msgstr "Bitte warten, der Schlüssel wird erzeugt ...\n"
 
-#: scd/app-openpgp.c:4269
+#: scd/app-openpgp.c:4268
 #, c-format
 msgid "generating key failed\n"
 msgstr "Schlüsselerzeugung fehlgeschlagen\n"
 
-#: scd/app-openpgp.c:4275
+#: scd/app-openpgp.c:4274
 #, c-format
 msgid "key generation completed (%d second)\n"
 msgid_plural "key generation completed (%d seconds)\n"
 msgstr[0] "Schlüsselerzeugung abgeschlossen (%d Sekunde)\n"
 msgstr[1] "Schlüsselerzeugung abgeschlossen (%d Sekunden)\n"
 
-#: scd/app-openpgp.c:4309
+#: scd/app-openpgp.c:4308
 #, c-format
 msgid "invalid structure of OpenPGP card (DO 0x93)\n"
 msgstr "Ungültige Struktur der OpenPGP-Karte (DO 0x93)\n"
 
-#: scd/app-openpgp.c:4359
+#: scd/app-openpgp.c:4358
 #, c-format
 msgid "fingerprint on card does not match requested one\n"
 msgstr "Der Fingerabdruck auf der Karte entspricht nicht dem angeforderten.\n"
 
-#: scd/app-openpgp.c:4558
+#: scd/app-openpgp.c:4557
 #, c-format
 msgid "card does not support digest algorithm %s\n"
 msgstr "Die Hashmethode %s wird von der Karte nicht unterstützt\n"
 
-#: scd/app-openpgp.c:4616
+#: scd/app-openpgp.c:4615
 #, c-format
 msgid "signatures created so far: %lu\n"
 msgstr "Anzahl bereits erzeugter Signaturen: %lu\n"
 
-#: scd/app-openpgp.c:5034
+#: scd/app-openpgp.c:5039
 #, c-format
 msgid ""
 "verification of Admin PIN is currently prohibited through this command\n"
@@ -8298,19 +8312,19 @@ msgstr ""
 "Die Überprüfung der Admin PIN ist momentan durch einen Befehl verboten "
 "worden\n"
 
-#: scd/app-openpgp.c:5346 scd/app-openpgp.c:5357
+#: scd/app-openpgp.c:5351 scd/app-openpgp.c:5362
 #, c-format
 msgid "can't access %s - invalid OpenPGP card?\n"
 msgstr "Kann auf %s nicht zugreifen - ungültige OpenPGP-Karte?\n"
 
-#: scd/app-dinsig.c:299
+#: scd/app-dinsig.c:298
 msgid "||Please enter your PIN at the reader's pinpad"
 msgstr "||Bitte die PIN auf der Tastatur des Kartenlesers eingeben"
 
 #. TRANSLATORS: Do not translate the "|*|" prefixes but
 #. keep it at the start of the string.  We need this elsewhere
 #. to get some infos on the string.
-#: scd/app-dinsig.c:528
+#: scd/app-dinsig.c:529
 msgid "|N|Initial New PIN"
 msgstr "|N|Erstmalige neue PIN"
 
@@ -8318,7 +8332,7 @@ msgstr "|N|Erstmalige neue PIN"
 msgid "run in multi server mode (foreground)"
 msgstr "Im Multiserver Modus ausführen"
 
-#: scd/scdaemon.c:129 sm/gpgsm.c:345 dirmngr/dirmngr.c:187
+#: scd/scdaemon.c:129 sm/gpgsm.c:348 dirmngr/dirmngr.c:188
 msgid "|LEVEL|set the debugging level to LEVEL"
 msgstr "|NAME|Die Debugstufe auf NAME setzen"
 
@@ -8338,31 +8352,31 @@ msgstr "|NAME|Benutze NAME als CT-API Treiber"
 msgid "|NAME|use NAME as PC/SC driver"
 msgstr "|NAME|Benutze NAME als PC/SC Treiber"
 
-#: scd/scdaemon.c:145
+#: scd/scdaemon.c:146
 msgid "do not use the internal CCID driver"
 msgstr "Den internen CCID Treiber nicht benutzen"
 
-#: scd/scdaemon.c:151
+#: scd/scdaemon.c:152
 msgid "|N|disconnect the card after N seconds of inactivity"
 msgstr "|N|Schalte die Karte nach N Sekunden Inaktivität ab"
 
-#: scd/scdaemon.c:154
+#: scd/scdaemon.c:155
 msgid "do not use a reader's pinpad"
 msgstr "Die Tastatur des Kartenlesers nicht benutzen"
 
-#: scd/scdaemon.c:159
+#: scd/scdaemon.c:160
 msgid "deny the use of admin card commands"
 msgstr "Verweigere die Benutzung von \"Admin\"-Befehlen"
 
-#: scd/scdaemon.c:162
+#: scd/scdaemon.c:163
 msgid "use variable length input for pinpad"
 msgstr "Variable Längeneingabe für die Kartenlesertastatur benutzen"
 
-#: scd/scdaemon.c:311
+#: scd/scdaemon.c:312
 msgid "Usage: @SCDAEMON@ [options] (-h for help)"
 msgstr "Gebrauch: @SCDAEMON@ [Optionen] (-h für Hilfe)"
 
-#: scd/scdaemon.c:313
+#: scd/scdaemon.c:314
 msgid ""
 "Syntax: scdaemon [options] [command [args]]\n"
 "Smartcard daemon for @GNUPG@\n"
@@ -8370,19 +8384,19 @@ msgstr ""
 "Syntax: @SCDAEMON@ [Optionen] [Befehl [Argumente]]\n"
 "Smartcard Daemon für @GNUPG@\n"
 
-#: scd/scdaemon.c:806
+#: scd/scdaemon.c:808
 #, c-format
 msgid "please use the option '--daemon' to run the program in the background\n"
 msgstr ""
 "Bitte die Option `--daemon' nutzen, um das Programm im Hintergund "
 "auszuführen\n"
 
-#: scd/scdaemon.c:1183 dirmngr/dirmngr.c:2082
+#: scd/scdaemon.c:1185 dirmngr/dirmngr.c:2119
 #, c-format
 msgid "handler for fd %d started\n"
 msgstr "Handhabungsroutine für fd %d gestartet\n"
 
-#: scd/scdaemon.c:1195 dirmngr/dirmngr.c:2090
+#: scd/scdaemon.c:1197 dirmngr/dirmngr.c:2127
 #, c-format
 msgid "handler for fd %d terminated\n"
 msgstr "Handhabungsroutine für den fd %d beendet\n"
@@ -8429,7 +8443,7 @@ msgstr "Hinweis: Die unkritische Zertifikatsrichtlinie ist nicht erlaubt"
 msgid "certificate policy not allowed"
 msgstr "Die Zertifikatsrichtlinie ist nicht erlaubt"
 
-#: sm/certchain.c:595 sm/keydb.c:1106 sm/keydb.c:1192
+#: sm/certchain.c:595 sm/keydb.c:1084 sm/keydb.c:1171
 #, c-format
 msgid "failed to get the fingerprint\n"
 msgstr "Kann den Fingerprint nicht ermitteln\n"
@@ -8464,8 +8478,8 @@ msgstr "Anzahl der übereinstimmenden Zertifikate: %d\n"
 msgid "dirmngr cache-only key lookup failed: %s\n"
 msgstr "Schlüsselsuche im Cache des Dirmngr schlug fehl: %s\n"
 
-#: sm/certchain.c:1041 sm/certchain.c:1554 sm/certchain.c:2192 sm/decrypt.c:265
-#: sm/encrypt.c:344 sm/import.c:415 sm/keydb.c:1113 sm/keydb.c:1199
+#: sm/certchain.c:1041 sm/certchain.c:1554 sm/certchain.c:2192 sm/decrypt.c:728
+#: sm/encrypt.c:345 sm/import.c:415 sm/keydb.c:1091 sm/keydb.c:1178
 #: sm/sign.c:337 sm/verify.c:118
 #, c-format
 msgid "failed to allocate keyDB handle\n"
@@ -8669,13 +8683,13 @@ msgstr ""
 "Ein %u-Bit Hashverfahren ist für einen %u-Bit %s Schlüssel nicht möglich\n"
 
 #: sm/certcheck.c:238 sm/certcheck.c:262 dirmngr/crlcache.c:1542
-#: dirmngr/crlcache.c:1566 dirmngr/dirmngr.c:1324 dirmngr/validate.c:903
+#: dirmngr/crlcache.c:1566 dirmngr/dirmngr.c:1361 dirmngr/validate.c:903
 #: dirmngr/validate.c:927
 #, c-format
 msgid "out of core\n"
 msgstr "Nicht genügend Speicher\n"
 
-#: sm/certcheck.c:371 sm/verify.c:213
+#: sm/certcheck.c:370 sm/verify.c:213
 #, c-format
 msgid "(this is the MD2 algorithm)\n"
 msgstr "(Dies ist der MD2 Algorithmus)\n"
@@ -8709,7 +8723,7 @@ msgid ""
 "S/N %s, ID 0x%08lX,\n"
 "created %s, expires %s.\n"
 msgstr ""
-"Bitte geben Sie die Passphrase an, um den geheimen Schlüssel des X.509 "
+"Bitte geben Sie das Passwort an, um den geheimen Schlüssel des X.509 "
 "Zertifikats:\n"
 "\"%s\"\n"
 "S/N %s, ID 0x%08lX,\n"
@@ -8856,7 +8870,7 @@ msgid ""
 "you just created once more.\n"
 msgstr ""
 "Um die Zertifikatsanforderung fertigzustellen, geben Sie nun bitte\n"
-"noch einmal die Passphrase des soeben erzeugten Schlüssels ein.\n"
+"noch einmal das Passwort des soeben erzeugten Schlüssels ein.\n"
 
 #: sm/certreqgen-ui.c:159
 #, c-format
@@ -8968,22 +8982,34 @@ msgstr "Fertig.  Sie sollten nun diese Anforderung an die CA senden.\n"
 msgid "resource problem: out of core\n"
 msgstr "Resourcenproblem: Nicht genügend Hauptspeicher\n"
 
-#: sm/decrypt.c:341
+#: sm/decrypt.c:536
+#, c-format
+msgid "%s.%s encrypted data\n"
+msgstr "%s.%s verschlüsselte Daten\n"
+
+#: sm/decrypt.c:803
 #, c-format
 msgid "(this is the RC2 algorithm)\n"
 msgstr "(Dies ist der RC-2 Algorithmus)\n"
 
-#: sm/decrypt.c:343
+#: sm/decrypt.c:805
 #, c-format
 msgid "(this does not seem to be an encrypted message)\n"
 msgstr "(dies ist wahrscheinlich keine verschlüsselte Nachricht)\n"
 
+# Scripte scannen lt. dl1bke auf "ID (0-9A-F)+" deswegen muß "ID" rein :-(
+# [kw]
+#: sm/decrypt.c:958
+#, c-format
+msgid "encrypted to %s key %s\n"
+msgstr "verschlüsselt an %s Schlüssel, ID %s\n"
+
 #: sm/delete.c:51 sm/delete.c:112
 #, c-format
 msgid "certificate '%s' not found: %s\n"
 msgstr "Zertifikat `%s' nicht gefunden: %s\n"
 
-#: sm/delete.c:122 sm/keydb.c:1209 sm/keydb.c:1307
+#: sm/delete.c:122 sm/keydb.c:1189 sm/keydb.c:1288
 #, c-format
 msgid "error locking keybox: %s\n"
 msgstr "Fehler beim Sperren der Keybox: %s\n"
@@ -9003,128 +9029,128 @@ msgstr "Zertifikat `%s' gelöscht\n"
 msgid "deleting certificate \"%s\" failed: %s\n"
 msgstr "Fehler beim Löschen des Zertifikats \"%s\": %s\n"
 
-#: sm/encrypt.c:330
+#: sm/encrypt.c:331
 #, c-format
 msgid "no valid recipients given\n"
 msgstr "Keine gültigen Empfänger angegeben\n"
 
-#: sm/gpgsm.c:215
+#: sm/gpgsm.c:216
 msgid "list external keys"
 msgstr "Externe Schlüssel anzeigen"
 
-#: sm/gpgsm.c:217
+#: sm/gpgsm.c:218
 msgid "list certificate chain"
 msgstr "Schlüssel mit Zertifikatekette anzeigen"
 
-#: sm/gpgsm.c:225
+#: sm/gpgsm.c:226
 msgid "import certificates"
 msgstr "Zertifikate importieren"
 
-#: sm/gpgsm.c:226
+#: sm/gpgsm.c:227
 msgid "export certificates"
 msgstr "Zertifikate exportieren"
 
-#: sm/gpgsm.c:234
+#: sm/gpgsm.c:235
 msgid "register a smartcard"
 msgstr "Smartcard registrieren"
 
-#: sm/gpgsm.c:237
+#: sm/gpgsm.c:238
 msgid "pass a command to the dirmngr"
 msgstr "Das Kommando an den Dirmngr durchreichen"
 
-#: sm/gpgsm.c:239
+#: sm/gpgsm.c:240
 msgid "invoke gpg-protect-tool"
 msgstr "Rufe das gpg-protect-tool auf"
 
-#: sm/gpgsm.c:256
+#: sm/gpgsm.c:257
 msgid "create base-64 encoded output"
 msgstr "Ausgabe im Basis-64 Format erzeugen"
 
-#: sm/gpgsm.c:265
+#: sm/gpgsm.c:266
 msgid "assume input is in PEM format"
 msgstr "Eingabedaten sind im PEM Format"
 
-#: sm/gpgsm.c:267
+#: sm/gpgsm.c:268
 msgid "assume input is in base-64 format"
 msgstr "Eingabedaten sind im Basis-64 Format"
 
-#: sm/gpgsm.c:269
+#: sm/gpgsm.c:270
 msgid "assume input is in binary format"
 msgstr "Eingabedaten sind im Binärformat"
 
-#: sm/gpgsm.c:276
+#: sm/gpgsm.c:277
 msgid "never consult a CRL"
 msgstr "Niemals eine CRL konsultieren"
 
-#: sm/gpgsm.c:286
+#: sm/gpgsm.c:287
 msgid "check validity using OCSP"
 msgstr "Die Gültigkeit mittels OCSP prüfen"
 
-#: sm/gpgsm.c:291
+#: sm/gpgsm.c:292
 msgid "|N|number of certificates to include"
 msgstr "|N|Sende N Zertifikate mit"
 
-#: sm/gpgsm.c:294
+#: sm/gpgsm.c:295
 msgid "|FILE|take policy information from FILE"
 msgstr "|DATEI|Richtlinieninformationen DATEI entnehmen"
 
-#: sm/gpgsm.c:297
+#: sm/gpgsm.c:298
 msgid "do not check certificate policies"
 msgstr "Zertifikatsrichtlinien nicht überprüfen"
 
-#: sm/gpgsm.c:301
+#: sm/gpgsm.c:302
 msgid "fetch missing issuer certificates"
 msgstr "Fehlende Zertifikate automatisch holen"
 
-#: sm/gpgsm.c:312
+#: sm/gpgsm.c:313
 msgid "don't use the terminal at all"
 msgstr "das Terminal gar nicht benutzen"
 
-#: sm/gpgsm.c:314
+#: sm/gpgsm.c:315
 msgid "|FILE|write a server mode log to FILE"
 msgstr "|DATEI|Schreibe im Servermodus Logs auf DATEI"
 
-#: sm/gpgsm.c:319
+#: sm/gpgsm.c:320
 msgid "|FILE|write an audit log to FILE"
 msgstr "|DATEI|Schreibe ein Audit-Log auf DATEI"
 
-#: sm/gpgsm.c:322
+#: sm/gpgsm.c:323
 msgid "batch mode: never ask"
 msgstr "Stapelmodus: Keine Abfragen"
 
-#: sm/gpgsm.c:323
+#: sm/gpgsm.c:324
 msgid "assume yes on most questions"
 msgstr "\"Ja\" als Standardantwort annehmen"
 
-#: sm/gpgsm.c:324
+#: sm/gpgsm.c:325
 msgid "assume no on most questions"
 msgstr "\"Nein\" als Standardantwort annehmen"
 
-#: sm/gpgsm.c:327
+#: sm/gpgsm.c:328
 msgid "|FILE|add keyring to the list of keyrings"
 msgstr "|DATEI|DATEI als öffentlichen Schlüsselbund mitbenutzen"
 
-#: sm/gpgsm.c:330
+#: sm/gpgsm.c:331
 msgid "|USER-ID|use USER-ID as default secret key"
 msgstr "|USER-ID|USER-ID als voreingestellten Schlüssel benutzen"
 
-#: sm/gpgsm.c:340 tools/gpgconf-comp.c:837
+#: sm/gpgsm.c:341 dirmngr/dirmngr.c:214 tools/gpgconf-comp.c:841
 msgid "|SPEC|use this keyserver to lookup keys"
 msgstr "|SPEC|Schlüssel bei diesem Server nachschlagen"
 
-#: sm/gpgsm.c:357
+#: sm/gpgsm.c:360
 msgid "|NAME|use cipher algorithm NAME"
 msgstr "|NAME|Verschlüsselungsverfahren NAME benutzen"
 
-#: sm/gpgsm.c:359
+#: sm/gpgsm.c:362
 msgid "|NAME|use message digest algorithm NAME"
 msgstr "|NAME|Hashverfahren NAME benutzen"
 
-#: sm/gpgsm.c:570
+#: sm/gpgsm.c:573
 msgid "Usage: @GPGSM@ [options] [files] (-h for help)"
 msgstr "Aufruf: @GPGSM@ [Optionen] [Dateien] (-h für Hilfe)"
 
-#: sm/gpgsm.c:573
+#: sm/gpgsm.c:576
 msgid ""
 "Syntax: @GPGSM@ [options] [files]\n"
 "Sign, check, encrypt or decrypt using the S/MIME protocol\n"
@@ -9133,47 +9159,27 @@ msgstr ""
 "Syntax: @GPGSM@ [Optionen] [Dateien]\n"
 "Signieren, prüfen, ver- und entschlüsseln mittels S/MIME Protokoll\n"
 
-#: sm/gpgsm.c:777
+#: sm/gpgsm.c:784
 #, c-format
 msgid "Note: won't be able to encrypt to '%s': %s\n"
 msgstr "Hinweis: Verschlüsselung für `%s' wird nicht möglich sein: %s\n"
 
-#: sm/gpgsm.c:788
+#: sm/gpgsm.c:795
 #, c-format
 msgid "unknown validation model '%s'\n"
 msgstr "Unbekanntes Gültigkeitsmodell '%s'\n"
 
-#: sm/gpgsm.c:839 dirmngr/ldapserver.c:86
-#, c-format
-msgid "%s:%u: no hostname given\n"
-msgstr "%s:%u: Kein Server-Name angegeben\n"
-
-#: sm/gpgsm.c:858 dirmngr/ldapserver.c:105
-#, c-format
-msgid "%s:%u: password given without user\n"
-msgstr "%s:%u: Passwort ohne Benutzer\n"
-
-#: sm/gpgsm.c:879 dirmngr/ldapserver.c:126
-#, c-format
-msgid "%s:%u: skipping this line\n"
-msgstr "%s:%u: Zeile wird übersprungen\n"
-
-#: sm/gpgsm.c:1449
-#, c-format
-msgid "could not parse keyserver\n"
-msgstr "Schlüsselserver-URL konnte nicht analysiert werden\n"
-
-#: sm/gpgsm.c:1712
+#: sm/gpgsm.c:1612
 #, c-format
 msgid "importing common certificates '%s'\n"
 msgstr "Importiere allgemeine Zertifikate: %s\n"
 
-#: sm/gpgsm.c:1755
+#: sm/gpgsm.c:1655
 #, c-format
 msgid "can't sign using '%s': %s\n"
 msgstr "Signieren mit `%s' nicht möglich: %s\n"
 
-#: sm/gpgsm.c:2122
+#: sm/gpgsm.c:2028
 #, c-format
 msgid "invalid command (there is no implicit command)\n"
 msgstr "Ungültiger Befehl (Es gibt keinen implizierten Befehl)\n"
@@ -9193,7 +9199,7 @@ msgstr "Fehler beim Speichern des Zertifikats\n"
 msgid "basic certificate checks failed - not imported\n"
 msgstr "Grundlegende Zertifikatprüfungen fehlgeschlagen - nicht importiert\n"
 
-#: sm/import.c:472 sm/keydb.c:1229 sm/keydb.c:1319
+#: sm/import.c:472 sm/keydb.c:1209 sm/keydb.c:1300
 #, c-format
 msgid "error getting stored flags: %s\n"
 msgstr "Fehler beim Holen der gespeicherten Flags: %s\n"
@@ -9208,27 +9214,27 @@ msgstr "Fehler beim Importieren des Zertifikats: %s\n"
 msgid "error reading input: %s\n"
 msgstr "Fehler beim Lesen der Eingabe: %s\n"
 
-#: sm/keydb.c:1148
+#: sm/keydb.c:1127
 #, c-format
 msgid "problem looking for existing certificate: %s\n"
 msgstr "Problem bei der Suche nach vorhandenem Zertifikat: %s\n"
 
-#: sm/keydb.c:1160
+#: sm/keydb.c:1139
 #, c-format
 msgid "error finding writable keyDB: %s\n"
 msgstr "Fehler bei der Suche nach einer schreibbaren KeyDB: %s\n"
 
-#: sm/keydb.c:1168
+#: sm/keydb.c:1147
 #, c-format
 msgid "error storing certificate: %s\n"
 msgstr "Fehler beim Speichern des Zertifikats: %s\n"
 
-#: sm/keydb.c:1220
+#: sm/keydb.c:1200
 #, c-format
 msgid "problem re-searching certificate: %s\n"
 msgstr "Problem bei Wiederfinden des Zertifikats: %s\n"
 
-#: sm/keydb.c:1241 sm/keydb.c:1330
+#: sm/keydb.c:1221 sm/keydb.c:1311
 #, c-format
 msgid "error storing flags: %s\n"
 msgstr "Fehler beim Speichern der Flags: %s\n"
@@ -9271,7 +9277,7 @@ msgstr ""
 "\n"
 "%s%sSind Sie wirklich sicher, daß Sie dies möchten?"
 
-#: sm/qualified.c:215 sm/verify.c:678
+#: sm/qualified.c:215 sm/verify.c:679
 #, c-format
 msgid ""
 "Note, that this software is not officially approved to create or verify such "
@@ -9324,7 +9330,7 @@ msgstr "[Datum nicht vorhanden]"
 msgid "algorithm:"
 msgstr "Verfahren:"
 
-#: sm/verify.c:535
+#: sm/verify.c:536
 #, c-format
 msgid ""
 "invalid signature: message digest attribute does not match computed one\n"
@@ -9332,17 +9338,17 @@ msgstr ""
 "Ungültige Signatur: Nachricht entspricht nicht dem Prüfwert in der "
 "Nachricht.\n"
 
-#: sm/verify.c:656
+#: sm/verify.c:657
 #, c-format
 msgid "Good signature from"
 msgstr "Korrekte Signatur von"
 
-#: sm/verify.c:657
+#: sm/verify.c:658
 #, c-format
 msgid "                aka"
 msgstr "                alias"
 
-#: sm/verify.c:675
+#: sm/verify.c:676
 #, c-format
 msgid "This is a qualified signature\n"
 msgstr "Dies ist eine qualifizierte Signatur.\n"
@@ -9995,7 +10001,7 @@ msgid "error retrieving '%s': %s\n"
 msgstr "Fehler beim Holen von `%s': %s\n"
 
 #: dirmngr/crlfetch.c:218 dirmngr/ldap-wrapper-ce.c:492
-#: dirmngr/ldap-wrapper.c:884 dirmngr/misc.c:573
+#: dirmngr/ldap-wrapper.c:885 dirmngr/misc.c:573
 #, c-format
 msgid "error initializing reader object: %s\n"
 msgstr "Fehler beim Initialisieren des \"reader\" Objekts: %s\n"
@@ -10153,112 +10159,112 @@ msgstr "Absoluter Dateiname erwartet\n"
 msgid "looking up '%s'\n"
 msgstr "Auffinden von `%s'\n"
 
-#: dirmngr/dirmngr.c:170
+#: dirmngr/dirmngr.c:171
 msgid "list the contents of the CRL cache"
 msgstr "Den Inhalt des CRL Zwischenspeichers anzeigen"
 
-#: dirmngr/dirmngr.c:171
+#: dirmngr/dirmngr.c:172
 msgid "|FILE|load CRL from FILE into cache"
 msgstr "|DATEI|Lade die CRL aus der DATEI in den Zwischenspeicher"
 
-#: dirmngr/dirmngr.c:172
+#: dirmngr/dirmngr.c:173
 msgid "|URL|fetch a CRL from URL"
 msgstr "|URL|Hole eine CRL von dieser URL"
 
-#: dirmngr/dirmngr.c:173
+#: dirmngr/dirmngr.c:174
 msgid "shutdown the dirmngr"
 msgstr "Den Dirmngr herunterfahren"
 
-#: dirmngr/dirmngr.c:174
+#: dirmngr/dirmngr.c:175
 msgid "flush the cache"
 msgstr "Den Zwischenspeicher löschen"
 
-#: dirmngr/dirmngr.c:190 tools/gpgconf-comp.c:522 tools/gpgconf-comp.c:741
-#: tools/gpgconf-comp.c:854 tools/gpgconf-comp.c:950
+#: dirmngr/dirmngr.c:191 tools/gpgconf-comp.c:522 tools/gpgconf-comp.c:745
+#: tools/gpgconf-comp.c:858 tools/gpgconf-comp.c:954
 msgid "|FILE|write server mode logs to FILE"
 msgstr "|DATEI|Schreibe im Servermodus Logs auf DATEI"
 
-#: dirmngr/dirmngr.c:191
+#: dirmngr/dirmngr.c:192
 msgid "run without asking a user"
 msgstr "Ausführung ohne Benutzernachfrage"
 
-#: dirmngr/dirmngr.c:192
+#: dirmngr/dirmngr.c:193
 msgid "force loading of outdated CRLs"
 msgstr "Laden von abgelaufenen CRLs erzwingen"
 
-#: dirmngr/dirmngr.c:193
+#: dirmngr/dirmngr.c:194
 msgid "allow sending OCSP requests"
 msgstr "OCSP Anfragen erlauben"
 
-#: dirmngr/dirmngr.c:195
+#: dirmngr/dirmngr.c:196
 msgid "allow online software version check"
 msgstr "Online Softwareversionstest erlauben"
 
-#: dirmngr/dirmngr.c:196
+#: dirmngr/dirmngr.c:197
 msgid "inhibit the use of HTTP"
 msgstr "Sperre die Benutzung von HTTP"
 
-#: dirmngr/dirmngr.c:197
+#: dirmngr/dirmngr.c:198
 msgid "inhibit the use of LDAP"
 msgstr "Sperre die Benutzung von LDAP"
 
-#: dirmngr/dirmngr.c:199
+#: dirmngr/dirmngr.c:200
 msgid "ignore HTTP CRL distribution points"
 msgstr "Übergehe HTTP CRL Distribution Points"
 
-#: dirmngr/dirmngr.c:201
+#: dirmngr/dirmngr.c:202
 msgid "ignore LDAP CRL distribution points"
 msgstr "Übergehe LDAP CRL Distribution Points"
 
-#: dirmngr/dirmngr.c:203
+#: dirmngr/dirmngr.c:204
 msgid "ignore certificate contained OCSP service URLs"
 msgstr "Übergehe im Zertifikat enthaltene OCSP Service URLs"
 
-#: dirmngr/dirmngr.c:206
+#: dirmngr/dirmngr.c:207
 msgid "|URL|redirect all HTTP requests to URL"
 msgstr "|URL|Leite alle HTTP Anfragen über URL"
 
-#: dirmngr/dirmngr.c:208
+#: dirmngr/dirmngr.c:209
 msgid "|HOST|use HOST for LDAP queries"
 msgstr "|HOST|Benutze HOST für LDAP Anfragen"
 
-#: dirmngr/dirmngr.c:210
+#: dirmngr/dirmngr.c:211
 msgid "do not use fallback hosts with --ldap-proxy"
 msgstr "Keine Benutzung der Rückgriffshosts mit --ldap-proxy"
 
-#: dirmngr/dirmngr.c:213
+#: dirmngr/dirmngr.c:216
 msgid "|FILE|read LDAP server list from FILE"
 msgstr "|DATEI|Lese die LDAP Serverliste aus DATEI"
 
-#: dirmngr/dirmngr.c:215
+#: dirmngr/dirmngr.c:218
 msgid "add new servers discovered in CRL distribution points to serverlist"
 msgstr "Füge neue Server aus den CRL Distribution Points der Serverliste hinzu"
 
-#: dirmngr/dirmngr.c:218 dirmngr/dirmngr_ldap.c:137
+#: dirmngr/dirmngr.c:221
 msgid "|N|set LDAP timeout to N seconds"
 msgstr "|N|Setze die LDAP Zeitüberschreitung auf N Sekunden"
 
-#: dirmngr/dirmngr.c:221
+#: dirmngr/dirmngr.c:224
 msgid "|URL|use OCSP responder at URL"
 msgstr "|URL|Benutze den OCSP Responder mit dieser URL"
 
-#: dirmngr/dirmngr.c:223
+#: dirmngr/dirmngr.c:226
 msgid "|FPR|OCSP response signed by FPR"
 msgstr "|FPR|OCSP Antwort ist durch FPR signiert"
 
-#: dirmngr/dirmngr.c:229
+#: dirmngr/dirmngr.c:232
 msgid "|N|do not return more than N items in one query"
 msgstr "|N|Nicht mehr als N Angaben in einer Anfrage zurückgeben"
 
-#: dirmngr/dirmngr.c:234
+#: dirmngr/dirmngr.c:237
 msgid "|FILE|use the CA certificates in FILE for HKP over TLS"
 msgstr "|DATEI|Benutze die CA Zertifikate in DATEI für HKP über TLS"
 
-#: dirmngr/dirmngr.c:236
+#: dirmngr/dirmngr.c:239
 msgid "route all network traffic via Tor"
 msgstr "Netzzugriff nur über Tor"
 
-#: dirmngr/dirmngr.c:265
+#: dirmngr/dirmngr.c:268
 msgid ""
 "@\n"
 "(See the \"info\" manual for a complete listing of all commands and "
@@ -10268,11 +10274,11 @@ msgstr ""
 "(Im \"info\"-Handbuch findet sich eine vollständige Liste aller Kommandos "
 "und Optionen)\n"
 
-#: dirmngr/dirmngr.c:407
+#: dirmngr/dirmngr.c:415
 msgid "Usage: @DIRMNGR@ [options] (-h for help)"
 msgstr "Gebrauch: @DIRMNGR@ [Optionen]"
 
-#: dirmngr/dirmngr.c:409
+#: dirmngr/dirmngr.c:417
 msgid ""
 "Syntax: @DIRMNGR@ [options] [command [args]]\n"
 "Keyserver, CRL, and OCSP access for @GNUPG@\n"
@@ -10280,271 +10286,105 @@ msgstr ""
 "Syntax: @DIRMNGR@ [Optionen] [Kommando [Argumente]]\n"
 "Keyserver, CRL und OCSP Zugriff für @GNUPG@\n"
 
-#: dirmngr/dirmngr.c:489
+#: dirmngr/dirmngr.c:497
 #, c-format
 msgid "valid debug levels are: %s\n"
 msgstr "Gültige Debugebenen sind: %s\n"
 
-#: dirmngr/dirmngr.c:575 tools/gpgconf.c:647 tools/gpgconf.c:682
+#: dirmngr/dirmngr.c:583 tools/gpgconf.c:647 tools/gpgconf.c:682
 #: tools/gpgconf.c:780
 #, c-format
 msgid "usage: %s [options] "
 msgstr "Aufruf: %s [Optionen] "
 
-#: dirmngr/dirmngr.c:1212
+#: dirmngr/dirmngr.c:1249
 #, c-format
 msgid "colons are not allowed in the socket name\n"
 msgstr "Doppelpunkte sind im Namen des Sockets nicht erlaubt\n"
 
-#: dirmngr/dirmngr.c:1444 dirmngr/server.c:1824
+#: dirmngr/dirmngr.c:1481 dirmngr/server.c:1878
 #, c-format
 msgid "fetching CRL from '%s' failed: %s\n"
 msgstr "Holen der CRL von `%s' fehlgeschlagen: %s\n"
 
-#: dirmngr/dirmngr.c:1450 dirmngr/server.c:1830
+#: dirmngr/dirmngr.c:1487 dirmngr/server.c:1884
 #, c-format
 msgid "processing CRL from '%s' failed: %s\n"
 msgstr "Verarbeitung der CRL von `%s' fehlgeschlagen: %s\n"
 
-#: dirmngr/dirmngr.c:1645
+#: dirmngr/dirmngr.c:1682
 #, c-format
 msgid "%s:%u: line too long - skipped\n"
 msgstr "%s:%u: Zeile ist zu lang - übergangen\n"
 
-#: dirmngr/dirmngr.c:1700 dirmngr/dirmngr.c:1784
+#: dirmngr/dirmngr.c:1737 dirmngr/dirmngr.c:1821
 #, c-format
 msgid "%s:%u: invalid fingerprint detected\n"
 msgstr "%s:%u: ungültiger Fingerabdruck erkannt\n"
 
-#: dirmngr/dirmngr.c:1736 dirmngr/dirmngr.c:1762 tools/gpgconf-comp.c:4191
+#: dirmngr/dirmngr.c:1773 dirmngr/dirmngr.c:1799 tools/gpgconf-comp.c:4199
 #, c-format
 msgid "%s:%u: read error: %s\n"
 msgstr "%s:%u: Lesefehler: %s\n"
 
-#: dirmngr/dirmngr.c:1791
+#: dirmngr/dirmngr.c:1828
 #, c-format
 msgid "%s:%u: garbage at end of line ignored\n"
 msgstr "%s:%u: Müll am Ende der Zeile wird ignoriert\n"
 
-#: dirmngr/dirmngr.c:1860
+#: dirmngr/dirmngr.c:1897
 #, c-format
 msgid "SIGHUP received - re-reading configuration and flushing caches\n"
 msgstr ""
 "SIGHUP empfangen - lese die Konfiguration erneut und lösche die "
 "Zwischenspeicher\n"
 
-#: dirmngr/dirmngr.c:1900
+#: dirmngr/dirmngr.c:1937
 #, c-format
 msgid "SIGUSR2 received - no action defined\n"
 msgstr "SIGUSR2 empfangen - keine Aktion definiert\n"
 
-#: dirmngr/dirmngr.c:1905
+#: dirmngr/dirmngr.c:1942
 #, c-format
 msgid "SIGTERM received - shutting down ...\n"
 msgstr "SIGTERM empfangen - wird heruntergefahren ...\n"
 
-#: dirmngr/dirmngr.c:1907
+#: dirmngr/dirmngr.c:1944
 #, c-format
 msgid "SIGTERM received - still %d active connections\n"
 msgstr "SIGTERM empfangen - immer noch %d Verbindungen aktiv\n"
 
-#: dirmngr/dirmngr.c:1912
+#: dirmngr/dirmngr.c:1949
 #, c-format
 msgid "shutdown forced\n"
 msgstr "Herunterfahren wurde erzwungen\n"
 
-#: dirmngr/dirmngr.c:1920
+#: dirmngr/dirmngr.c:1957
 #, c-format
 msgid "SIGINT received - immediate shutdown\n"
 msgstr "SIGINT empfangen - wird sofort heruntergefahren\n"
 
-#: dirmngr/dirmngr.c:1927
+#: dirmngr/dirmngr.c:1964
 #, c-format
 msgid "signal %d received - no action defined\n"
 msgstr "Signal %d empfangen - keine Aktion definiert\n"
 
-#: dirmngr/dirmngr_ldap.c:138
-msgid "return all values in a record oriented format"
-msgstr "Alle Werte in einem Record Format zurückgeben"
-
-#: dirmngr/dirmngr_ldap.c:141
-msgid "|NAME|ignore host part and connect through NAME"
-msgstr "|NAME|Host Teil ignorieren und über NAME verbinden"
-
-#: dirmngr/dirmngr_ldap.c:142
-msgid "|NAME|connect to host NAME"
-msgstr "|NAME|Verbinde mit dem Host NAME"
-
-#: dirmngr/dirmngr_ldap.c:143
-msgid "|N|connect to port N"
-msgstr "|N|Verbinde mit dem Port N"
-
-#: dirmngr/dirmngr_ldap.c:144
-msgid "|NAME|use user NAME for authentication"
-msgstr "|NAME|Benutze NAME zur Authentifizierung"
-
-#: dirmngr/dirmngr_ldap.c:145
-msgid "|PASS|use password PASS for authentication"
-msgstr "Benutze Passwort PASS zur Authentifizierung"
-
-#: dirmngr/dirmngr_ldap.c:147
-msgid "take password from $DIRMNGR_LDAP_PASS"
-msgstr "Nimm das Passwort von $DIRMNGR_LDAP_PASS"
-
-#: dirmngr/dirmngr_ldap.c:148
-msgid "|STRING|query DN STRING"
-msgstr "|STRING|Frage den DN STRING ab"
-
-#: dirmngr/dirmngr_ldap.c:149
-msgid "|STRING|use STRING as filter expression"
-msgstr "|STRING|Benutze STRING als Filterausdruck"
-
-#: dirmngr/dirmngr_ldap.c:150
-msgid "|STRING|return the attribute STRING"
-msgstr "|STRING|Gib das Attribut STRING zurück"
-
-#: dirmngr/dirmngr_ldap.c:211
-msgid "Usage: dirmngr_ldap [options] [URL] (-h for help)\n"
-msgstr "Gebrauch: dirmngr_ldap [Optionen] [URL] (-h für Hilfe)\n"
-
-#: dirmngr/dirmngr_ldap.c:214
-msgid ""
-"Syntax: dirmngr_ldap [options] [URL]\n"
-"Internal LDAP helper for Dirmngr\n"
-"Interface and options may change without notice\n"
-msgstr ""
-"Gebrauch: dirmngr_ldap [Optionen] [URL] (-h für Hilfe)\n"
-"Internes LDAP-Hilfsprogramm für Dirmngr.\n"
-"Interface und Optionen können sich mit jedem Release ändern.\n"
-
-#: dirmngr/dirmngr_ldap.c:340
-#, c-format
-msgid "invalid port number %d\n"
-msgstr "Ungültige Portnummer %d\n"
-
-#: dirmngr/dirmngr_ldap.c:456
-#, c-format
-msgid "scanning result for attribute '%s'\n"
-msgstr "Absuchen des Ergebnisses nach Attribut `%s'\n"
-
-#: dirmngr/dirmngr_ldap.c:463 dirmngr/dirmngr_ldap.c:546
-#: dirmngr/dirmngr_ldap.c:570 dirmngr/dirmngr_ldap.c:582
-#: dirmngr/dirmngr_ldap.c:720
-#, c-format
-msgid "error writing to stdout: %s\n"
-msgstr "Fehler beim Schreiben auf Standardausgabe: %s\n"
-
-#: dirmngr/dirmngr_ldap.c:480
-#, c-format
-msgid "          available attribute '%s'\n"
-msgstr "        verfügbare Attribute `%s'\n"
-
-#: dirmngr/dirmngr_ldap.c:518
-#, c-format
-msgid "attribute '%s' not found\n"
-msgstr "Attribut `%s' nicht gefunden\n"
-
-#: dirmngr/dirmngr_ldap.c:525
-#, c-format
-msgid "found attribute '%s'\n"
-msgstr "Attribut `%s' gefunden\n"
-
-#: dirmngr/dirmngr_ldap.c:634
-#, c-format
-msgid "processing url '%s'\n"
-msgstr "Verarbeiten der URL `%s'\n"
-
-#: dirmngr/dirmngr_ldap.c:636
-#, c-format
-msgid "          user '%s'\n"
-msgstr "           Benutzer `%s'\n"
-
-#: dirmngr/dirmngr_ldap.c:638
-#, c-format
-msgid "          pass '%s'\n"
-msgstr "           Passwort `%s'\n"
-
-#: dirmngr/dirmngr_ldap.c:640
-#, c-format
-msgid "          host '%s'\n"
-msgstr "               Host `%s'\n"
-
-#: dirmngr/dirmngr_ldap.c:641
-#, c-format
-msgid "          port %d\n"
-msgstr "               Port %d\n"
-
-#: dirmngr/dirmngr_ldap.c:643
-#, c-format
-msgid "            DN '%s'\n"
-msgstr "                 DN `%s'\n"
-
-#: dirmngr/dirmngr_ldap.c:645
-#, c-format
-msgid "        filter '%s'\n"
-msgstr "             Filter `%s'\n"
-
-#: dirmngr/dirmngr_ldap.c:650 dirmngr/dirmngr_ldap.c:653
-#, c-format
-msgid "          attr '%s'\n"
-msgstr "           Attribut `%s'\n"
-
-#: dirmngr/dirmngr_ldap.c:659
-#, c-format
-msgid "no host name in '%s'\n"
-msgstr "Kein Hostname in `%s'\n"
-
-#: dirmngr/dirmngr_ldap.c:664
-#, c-format
-msgid "no attribute given for query '%s'\n"
-msgstr "Kein Attribut für Abfrage `%s' angegeben\n"
-
-#: dirmngr/dirmngr_ldap.c:670
-#, c-format
-msgid "WARNING: using first attribute only\n"
-msgstr "WARNUNG: Es wird nur das erste Attribut benutzt\n"
-
-#: dirmngr/dirmngr_ldap.c:679
-#, c-format
-msgid "LDAP init to '%s:%d' failed: %s\n"
-msgstr "LDAP Initialisierung von `%s:%d' fehlgeschlagen: %s\n"
-
-#: dirmngr/dirmngr_ldap.c:702
-#, c-format
-msgid "binding to '%s:%d' failed: %s\n"
-msgstr "Anbindung an `%s:%d' fehlgeschlagen: %s\n"
-
-#: dirmngr/dirmngr_ldap.c:729
-#, c-format
-msgid "searching '%s' failed: %s\n"
-msgstr "Suche mit `%s' fehlgeschlagen: %s\n"
-
-#: dirmngr/dirmngr_ldap.c:761
-#, c-format
-msgid "'%s' is not an LDAP URL\n"
-msgstr "`%s' ist kein LDAP URL\n"
-
-#: dirmngr/dirmngr_ldap.c:767
-#, c-format
-msgid "'%s' is an invalid LDAP URL\n"
-msgstr "`%s' ist ein ungültiger LDAP URL\n"
-
-#: dirmngr/http.c:1987 dirmngr/ocsp.c:255
+#: dirmngr/http.c:1993 dirmngr/ocsp.c:255
 #, c-format
 msgid "error accessing '%s': http status %u\n"
 msgstr "Fehler beim Zugreifen auf `%s': HTTP Status %u\n"
 
-#: dirmngr/http.c:3629 dirmngr/ocsp.c:229
+#: dirmngr/http.c:3644 dirmngr/ocsp.c:229
 #, c-format
 msgid "URL '%s' redirected to '%s' (%u)\n"
 msgstr "URL `%s' nach `%s' umgeleitet (%u)\n"
 
-#: dirmngr/http.c:3635 dirmngr/ocsp.c:246
+#: dirmngr/http.c:3650 dirmngr/ocsp.c:246
 #, c-format
 msgid "too many redirections\n"
 msgstr "zu viele verschachtelte Umleitungen\n"
 
-#: dirmngr/http.c:3747
+#: dirmngr/http.c:3762
 #, c-format
 msgid "redirection changed to '%s'\n"
 msgstr "\"Redirection\" geändert auf '%s'\n"
@@ -10584,31 +10424,51 @@ msgstr "Warten auf den LDAP Wrapper %d fehlgeschlagen: %s\n"
 msgid "ldap wrapper %d stalled - killing\n"
 msgstr "LDAP Wrapper %d versackt - abgeschossen\n"
 
-#: dirmngr/ldap.c:91
+#: dirmngr/ldap.c:92
 #, c-format
 msgid "invalid char 0x%02x in host name - not added\n"
 msgstr "Ungültiges Zeichen 0x%02X im Hostnamen - nicht hinzugefügt\n"
 
-#: dirmngr/ldap.c:95
+#: dirmngr/ldap.c:96
 #, c-format
 msgid "adding '%s:%d' to the ldap server list\n"
 msgstr "`%s:%d' wird der LDAP Serverliste hinzugefügt\n"
 
-#: dirmngr/ldap.c:98 dirmngr/misc.c:512
+#: dirmngr/ldap.c:99 dirmngr/misc.c:512
 #, c-format
 msgid "malloc failed: %s\n"
 msgstr "malloc() fehlgeschlagen: %s\n"
 
-#: dirmngr/ldap.c:627
+#: dirmngr/ldap.c:221
 #, c-format
-msgid "start_cert_fetch: invalid pattern '%s'\n"
-msgstr "start_cert_fetch: Ungültiges Muster `%s'\n"
+msgid "'%s' is not an LDAP URL\n"
+msgstr "`%s' ist kein LDAP URL\n"
+
+#: dirmngr/ldap.c:227 dirmngr/ldap.c:233
+#, c-format
+msgid "'%s' is an invalid LDAP URL\n"
+msgstr "`%s' ist ein ungültiger LDAP URL\n"
 
-#: dirmngr/ldap.c:839
+#: dirmngr/ldap.c:969
 #, c-format
 msgid "ldap_search hit the size limit of the server\n"
 msgstr "ldap_search erreichte die Größengrenze des Servers\n"
 
+#: dirmngr/ldapserver.c:117
+#, c-format
+msgid "%s:%u: password given without user\n"
+msgstr "%s:%u: Passwort ohne Benutzer\n"
+
+#: dirmngr/ldapserver.c:181
+#, c-format
+msgid "%s:%u: ignoring unknown flag '%s'\n"
+msgstr "%s:%u: Unbekanntes Flag '%s' wird ignoriert\n"
+
+#: dirmngr/ldapserver.c:203
+#, c-format
+msgid "%s:%u: skipping this line\n"
+msgstr "%s:%u: Zeile wird übersprungen\n"
+
 #: dirmngr/misc.c:172
 #, c-format
 msgid "invalid canonical S-expression found\n"
@@ -10789,71 +10649,67 @@ msgstr "OCSP Responder gab einen zu alten Status zurück\n"
 msgid "assuan_inquire(%s) failed: %s\n"
 msgstr "assuan_inquire(%s) fehlgeschlagen: %s\n"
 
-#: dirmngr/server.c:1158
-msgid "ldapserver missing"
-msgstr "LDAP Server fehlt"
-
-#: dirmngr/server.c:1224
+#: dirmngr/server.c:1277
 msgid "serialno missing in cert ID"
 msgstr "Seriennummer fehlt in der Cert-ID"
 
-#: dirmngr/server.c:1387 dirmngr/server.c:1473 dirmngr/server.c:1909
-#: dirmngr/server.c:1980 dirmngr/server.c:2552 dirmngr/server.c:2567
+#: dirmngr/server.c:1440 dirmngr/server.c:1526 dirmngr/server.c:1963
+#: dirmngr/server.c:2034 dirmngr/server.c:2662 dirmngr/server.c:2677
 #, c-format
 msgid "assuan_inquire failed: %s\n"
 msgstr "assuan_inquire fehlgeschlagen: %s\n"
 
-#: dirmngr/server.c:1516
+#: dirmngr/server.c:1569
 #, c-format
 msgid "fetch_cert_by_url failed: %s\n"
 msgstr "fetch_cert_by_url() fehlgeschlagen: %s\n"
 
-#: dirmngr/server.c:1528 dirmngr/server.c:1559 dirmngr/server.c:1718
+#: dirmngr/server.c:1581 dirmngr/server.c:1612 dirmngr/server.c:1772
 #, c-format
 msgid "error sending data: %s\n"
 msgstr "Fehler beim Senden der Daten: %s\n"
 
-#: dirmngr/server.c:1666
+#: dirmngr/server.c:1720
 #, c-format
 msgid "start_cert_fetch failed: %s\n"
 msgstr "start_cert_fetch fehlgeschlagen: %s\n"
 
-#: dirmngr/server.c:1699
+#: dirmngr/server.c:1753
 #, c-format
 msgid "fetch_next_cert failed: %s\n"
 msgstr "fetch_next_cert fehlgeschlagen: %s\n"
 
-#: dirmngr/server.c:1726
+#: dirmngr/server.c:1780
 #, c-format
 msgid "max_replies %d exceeded\n"
 msgstr "max_replies %d überschritten\n"
 
-#: dirmngr/server.c:2856
+#: dirmngr/server.c:2966
 #, c-format
 msgid "can't allocate control structure: %s\n"
 msgstr "Fehler beim Erzeugen der Kontrollstruktur: %s\n"
 
-#: dirmngr/server.c:2867
+#: dirmngr/server.c:2977
 #, c-format
 msgid "failed to allocate assuan context: %s\n"
 msgstr "Fehler beim Bereitstellen eines Assuan Kontext: %s\n"
 
-#: dirmngr/server.c:2888
+#: dirmngr/server.c:2998
 #, c-format
 msgid "failed to initialize the server: %s\n"
 msgstr "Fehler beim Initialisieren des Servers: %s\n"
 
-#: dirmngr/server.c:2896
+#: dirmngr/server.c:3006
 #, c-format
 msgid "failed to the register commands with Assuan: %s\n"
 msgstr "Fehler beim Registrieren der Kommandos gegen Assuan: %s\n"
 
-#: dirmngr/server.c:2929
+#: dirmngr/server.c:3039
 #, c-format
 msgid "Assuan accept problem: %s\n"
 msgstr "Assuan accept Problem: %s\n"
 
-#: dirmngr/server.c:2948
+#: dirmngr/server.c:3058
 #, c-format
 msgid "Assuan processing failed: %s\n"
 msgstr "Assuan Verarbeitung fehlgeschlagen: %s\n"
@@ -10993,21 +10849,21 @@ msgid "error sending standard options: %s\n"
 msgstr "Fehler beim Senden der Standardoptionen: %s\n"
 
 #: tools/gpgconf-comp.c:481 tools/gpgconf-comp.c:617 tools/gpgconf-comp.c:692
-#: tools/gpgconf-comp.c:804 tools/gpgconf-comp.c:906
+#: tools/gpgconf-comp.c:808 tools/gpgconf-comp.c:910
 msgid "Options controlling the diagnostic output"
 msgstr "Optionen zur Einstellung der Diagnoseausgaben"
 
 #: tools/gpgconf-comp.c:494 tools/gpgconf-comp.c:630 tools/gpgconf-comp.c:705
-#: tools/gpgconf-comp.c:817 tools/gpgconf-comp.c:929
+#: tools/gpgconf-comp.c:821 tools/gpgconf-comp.c:933
 msgid "Options controlling the configuration"
 msgstr "Optionen zur Einstellung der Konfiguration"
 
-#: tools/gpgconf-comp.c:517 tools/gpgconf-comp.c:659 tools/gpgconf-comp.c:736
-#: tools/gpgconf-comp.c:849 tools/gpgconf-comp.c:942
+#: tools/gpgconf-comp.c:517 tools/gpgconf-comp.c:659 tools/gpgconf-comp.c:740
+#: tools/gpgconf-comp.c:853 tools/gpgconf-comp.c:946
 msgid "Options useful for debugging"
 msgstr "Nützliche Optionen zur Fehlersuche"
 
-#: tools/gpgconf-comp.c:530 tools/gpgconf-comp.c:669 tools/gpgconf-comp.c:862
+#: tools/gpgconf-comp.c:530 tools/gpgconf-comp.c:669 tools/gpgconf-comp.c:866
 msgid "Options controlling the security"
 msgstr "Optionen zur Einstellung der Sicherheit"
 
@@ -11025,41 +10881,41 @@ msgstr "|N|setze die maximale Lebenszeit von SSH Schlüsseln auf N Sekunden"
 
 #: tools/gpgconf-comp.c:569
 msgid "Options enforcing a passphrase policy"
-msgstr "Optionen für eine Passphrase-Policy"
+msgstr "Optionen für Passwort Regeln"
 
 #: tools/gpgconf-comp.c:572
 msgid "do not allow bypassing the passphrase policy"
-msgstr "Einhaltung der Passphrase-Policy erzwingen"
+msgstr "Einhaltung der Passwort Regeln erzwingen"
 
 #: tools/gpgconf-comp.c:576
 msgid "|N|set minimal required length for new passphrases to N"
-msgstr "|N|setze die kleinste erlaubte Länge von Passphrasen auf N"
+msgstr "|N|setze die kleinste erlaubte Länge von Passwörtern auf N"
 
 #: tools/gpgconf-comp.c:580
 msgid "|N|require at least N non-alpha characters for a new passphrase"
-msgstr "|N|Verlange mindestens N Nicht-Buchstaben für eine neue Passphrase"
+msgstr "|N|Verlange mindestens N Nicht-Buchstaben für ein neues Passwort"
 
 #: tools/gpgconf-comp.c:584
 msgid "|FILE|check new passphrases against pattern in FILE"
-msgstr "|DATEI|Prüfe neue Passphrases gegen die Regelen in DATEI"
+msgstr "|DATEI|Prüfe neue Passwörter gegen die Regeln in DATEI"
 
 #: tools/gpgconf-comp.c:588
 msgid "|N|expire the passphrase after N days"
-msgstr "|N|Lasse die Passphrase nach N Tagen verfallen"
+msgstr "|N|Lasse das Passwort nach N Tagen verfallen"
 
 #: tools/gpgconf-comp.c:592
 msgid "do not allow the reuse of old passphrases"
-msgstr "Verbiete die Wiedernutzung alter Passphrases."
+msgstr "Verbiete die Wiedernutzung alter Passwörter."
 
 #: tools/gpgconf-comp.c:596
 msgid "|N|set the Pinentry timeout to N seconds"
 msgstr "|N|Setze die Pinentry Zeitüberschreitung auf N Sekunden"
 
-#: tools/gpgconf-comp.c:707 tools/gpgconf-comp.c:819
+#: tools/gpgconf-comp.c:707 tools/gpgconf-comp.c:823
 msgid "|NAME|use NAME as default secret key"
 msgstr "|NAME|NAME als voreingestellten Schlüssel benutzen"
 
-#: tools/gpgconf-comp.c:710 tools/gpgconf-comp.c:822
+#: tools/gpgconf-comp.c:710 tools/gpgconf-comp.c:826
 msgid "|NAME|encrypt to user ID NAME as well"
 msgstr "|NAME|Auch an NAME verschlüsseln"
 
@@ -11067,129 +10923,129 @@ msgstr "|NAME|Auch an NAME verschlüsseln"
 msgid "|SPEC|set up email aliases"
 msgstr "|SPEC|Email Alias festlegen"
 
-#: tools/gpgconf-comp.c:749 tools/gpgconf-comp.c:981
+#: tools/gpgconf-comp.c:753 tools/gpgconf-comp.c:985
 msgid "Configuration for Keyservers"
 msgstr "Konfiguration der Schlüsselserver"
 
-#: tools/gpgconf-comp.c:751 tools/gpgconf-comp.c:983
+#: tools/gpgconf-comp.c:755 tools/gpgconf-comp.c:987
 msgid "|URL|use keyserver at URL"
 msgstr "Benutze Schlüsselserver unter der URL"
 
-#: tools/gpgconf-comp.c:754
+#: tools/gpgconf-comp.c:758
 msgid "allow PKA lookups (DNS requests)"
 msgstr "Erlaube PKA Zugriffe (DNS Anfragen)"
 
-#: tools/gpgconf-comp.c:757
+#: tools/gpgconf-comp.c:761
 msgid "|MECHANISMS|use MECHANISMS to locate keys by mail address"
 msgstr ""
 "|MECHANISMEN|Benutze MECHANISMEN um Schlüssel über die Mailadresse "
 "aufzufinden."
 
-#: tools/gpgconf-comp.c:760
+#: tools/gpgconf-comp.c:764
 msgid "import missing key from a signature"
 msgstr "Schlüssel aus der Signatur importieren"
 
-#: tools/gpgconf-comp.c:763
+#: tools/gpgconf-comp.c:767
 msgid "include the public key in signatures"
 msgstr "Schlüssel mit in die Signatur packen"
 
-#: tools/gpgconf-comp.c:770 tools/gpgconf-comp.c:831
+#: tools/gpgconf-comp.c:774 tools/gpgconf-comp.c:835
 msgid "disable all access to the dirmngr"
 msgstr "Jeglichen Zugriff auf den Dirmngr verhindern"
 
-#: tools/gpgconf-comp.c:834
+#: tools/gpgconf-comp.c:838
 msgid "|NAME|use encoding NAME for PKCS#12 passphrases"
-msgstr "|NAME|Benutze die Kodierung NAME für PKCS#12 Passphrasen"
+msgstr "|NAME|Benutze die Kodierung NAME für PKCS#12 Passwörter"
 
-#: tools/gpgconf-comp.c:870
+#: tools/gpgconf-comp.c:874
 msgid "do not check CRLs for root certificates"
 msgstr "CRL bei Wurzelzertifikaten nicht überprüfen"
 
-#: tools/gpgconf-comp.c:919
+#: tools/gpgconf-comp.c:923
 msgid "Options controlling the format of the output"
 msgstr "Optionen zum Einstellen der Ausgabeformate"
 
-#: tools/gpgconf-comp.c:961
+#: tools/gpgconf-comp.c:965
 msgid "Options controlling the interactivity and enforcement"
 msgstr "Optionen zur Einstellung der Interaktivität und Geltendmachung"
 
-#: tools/gpgconf-comp.c:974
+#: tools/gpgconf-comp.c:978
 msgid "Options controlling the use of Tor"
 msgstr "Optionen zur Benutzung von Tor"
 
-#: tools/gpgconf-comp.c:988
+#: tools/gpgconf-comp.c:992
 msgid "Configuration for HTTP servers"
 msgstr "Konfiguration für HTTP Server"
 
-#: tools/gpgconf-comp.c:999
+#: tools/gpgconf-comp.c:1003
 msgid "use system's HTTP proxy setting"
 msgstr "Benutze die HTTP Proxy Einstellung des Systems"
 
-#: tools/gpgconf-comp.c:1004
+#: tools/gpgconf-comp.c:1008
 msgid "Configuration of LDAP servers to use"
 msgstr "Konfiguration der zu nutzenden LDAP-Server"
 
-#: tools/gpgconf-comp.c:1033
+#: tools/gpgconf-comp.c:1037
 msgid "LDAP server list"
 msgstr "Liste der LDAP Server"
 
-#: tools/gpgconf-comp.c:1041
+#: tools/gpgconf-comp.c:1045
 msgid "Configuration for OCSP"
 msgstr "Konfiguration zu OCSP"
 
-#: tools/gpgconf-comp.c:1094
+#: tools/gpgconf-comp.c:1098
 msgid "OpenPGP"
 msgstr "OpenPGP"
 
-#: tools/gpgconf-comp.c:1095
+#: tools/gpgconf-comp.c:1099
 msgid "Private Keys"
 msgstr "Geheime Schlüssel"
 
-#: tools/gpgconf-comp.c:1096
+#: tools/gpgconf-comp.c:1100
 msgid "Smartcards"
 msgstr "Smartcard"
 
-#: tools/gpgconf-comp.c:1097
+#: tools/gpgconf-comp.c:1101
 msgid "S/MIME"
 msgstr "S/MIME"
 
-#: tools/gpgconf-comp.c:1098
+#: tools/gpgconf-comp.c:1102
 msgid "Network"
 msgstr "Netz"
 
-#: tools/gpgconf-comp.c:1099
+#: tools/gpgconf-comp.c:1103
 msgid "Passphrase Entry"
-msgstr "Passphrase Eingabe"
+msgstr "Passwort Eingabe"
 
-#: tools/gpgconf-comp.c:1278
+#: tools/gpgconf-comp.c:1282
 msgid "Component not suitable for launching"
 msgstr "Komponente unterstützt kein direktes starten"
 
-#: tools/gpgconf-comp.c:1284
+#: tools/gpgconf-comp.c:1288
 #, c-format
 msgid "Configuration file of component %s is broken\n"
 msgstr "Die Konfigurationsdatei der Komponente %s ist defekt\n"
 
-#: tools/gpgconf-comp.c:1287
+#: tools/gpgconf-comp.c:1291
 #, c-format
 msgid "Note: Use the command \"%s%s\" to get details.\n"
 msgstr "Hinweis: Für Details bitte das Kommando \"%s%s\" verwenden.\n"
 
-#: tools/gpgconf-comp.c:3446
+#: tools/gpgconf-comp.c:3454
 #, c-format
 msgid "External verification of component %s failed"
 msgstr "Die externe Überprüfung der Komponente %s war nicht erfolgreich"
 
-#: tools/gpgconf-comp.c:3597
+#: tools/gpgconf-comp.c:3605
 msgid "Note that group specifications are ignored\n"
 msgstr "Beachten Sie, daß Gruppenspezifiaktionen ignoriert werden\n"
 
-#: tools/gpgconf-comp.c:4195
+#: tools/gpgconf-comp.c:4203
 #, c-format
 msgid "error closing '%s'\n"
 msgstr "Fehler beim Schließen von '%s'\n"
 
-#: tools/gpgconf-comp.c:4197
+#: tools/gpgconf-comp.c:4205
 #, c-format
 msgid "error parsing '%s'\n"
 msgstr "Fehler beim Hashen von '%s'\n"
@@ -11292,7 +11148,124 @@ msgid ""
 "Check a passphrase given on stdin against the patternfile\n"
 msgstr ""
 "Syntax: gpg-check-pattern [optionen] Musterdatei\n"
-"Die von stdin gelesene Passphrase gegen die Musterdatei prüfen\n"
+"Das von stdin gelesene Passwort gegen die Musterdatei prüfen\n"
+
+#~ msgid "requesting key %s from %s server %s\n"
+#~ msgstr "fordere Schlüssel %s von %s-Server %s an\n"
+
+#~ msgid "%s:%u: no hostname given\n"
+#~ msgstr "%s:%u: Kein Server-Name angegeben\n"
+
+#~ msgid "could not parse keyserver\n"
+#~ msgstr "Schlüsselserver-URL konnte nicht analysiert werden\n"
+
+#~ msgid "return all values in a record oriented format"
+#~ msgstr "Alle Werte in einem Record Format zurückgeben"
+
+#~ msgid "|NAME|ignore host part and connect through NAME"
+#~ msgstr "|NAME|Host Teil ignorieren und über NAME verbinden"
+
+#~ msgid "|NAME|connect to host NAME"
+#~ msgstr "|NAME|Verbinde mit dem Host NAME"
+
+#~ msgid "|N|connect to port N"
+#~ msgstr "|N|Verbinde mit dem Port N"
+
+#~ msgid "|NAME|use user NAME for authentication"
+#~ msgstr "|NAME|Benutze NAME zur Authentifizierung"
+
+#~ msgid "|PASS|use password PASS for authentication"
+#~ msgstr "Benutze Passwort PASS zur Authentifizierung"
+
+#~ msgid "take password from $DIRMNGR_LDAP_PASS"
+#~ msgstr "Nimm das Passwort von $DIRMNGR_LDAP_PASS"
+
+#~ msgid "|STRING|query DN STRING"
+#~ msgstr "|STRING|Frage den DN STRING ab"
+
+#~ msgid "|STRING|use STRING as filter expression"
+#~ msgstr "|STRING|Benutze STRING als Filterausdruck"
+
+#~ msgid "|STRING|return the attribute STRING"
+#~ msgstr "|STRING|Gib das Attribut STRING zurück"
+
+#~ msgid "Usage: dirmngr_ldap [options] [URL] (-h for help)\n"
+#~ msgstr "Gebrauch: dirmngr_ldap [Optionen] [URL] (-h für Hilfe)\n"
+
+#~ msgid ""
+#~ "Syntax: dirmngr_ldap [options] [URL]\n"
+#~ "Internal LDAP helper for Dirmngr\n"
+#~ "Interface and options may change without notice\n"
+#~ msgstr ""
+#~ "Gebrauch: dirmngr_ldap [Optionen] [URL] (-h für Hilfe)\n"
+#~ "Internes LDAP-Hilfsprogramm für Dirmngr.\n"
+#~ "Interface und Optionen können sich mit jedem Release ändern.\n"
+
+#~ msgid "invalid port number %d\n"
+#~ msgstr "Ungültige Portnummer %d\n"
+
+#~ msgid "scanning result for attribute '%s'\n"
+#~ msgstr "Absuchen des Ergebnisses nach Attribut `%s'\n"
+
+#~ msgid "error writing to stdout: %s\n"
+#~ msgstr "Fehler beim Schreiben auf Standardausgabe: %s\n"
+
+#~ msgid "          available attribute '%s'\n"
+#~ msgstr "        verfügbare Attribute `%s'\n"
+
+#~ msgid "attribute '%s' not found\n"
+#~ msgstr "Attribut `%s' nicht gefunden\n"
+
+#~ msgid "found attribute '%s'\n"
+#~ msgstr "Attribut `%s' gefunden\n"
+
+#~ msgid "processing url '%s'\n"
+#~ msgstr "Verarbeiten der URL `%s'\n"
+
+#~ msgid "          user '%s'\n"
+#~ msgstr "           Benutzer `%s'\n"
+
+#~ msgid "          pass '%s'\n"
+#~ msgstr "           Passwort `%s'\n"
+
+#~ msgid "          host '%s'\n"
+#~ msgstr "               Host `%s'\n"
+
+#~ msgid "          port %d\n"
+#~ msgstr "               Port %d\n"
+
+#~ msgid "            DN '%s'\n"
+#~ msgstr "                 DN `%s'\n"
+
+#~ msgid "        filter '%s'\n"
+#~ msgstr "             Filter `%s'\n"
+
+#~ msgid "          attr '%s'\n"
+#~ msgstr "           Attribut `%s'\n"
+
+#~ msgid "no host name in '%s'\n"
+#~ msgstr "Kein Hostname in `%s'\n"
+
+#~ msgid "no attribute given for query '%s'\n"
+#~ msgstr "Kein Attribut für Abfrage `%s' angegeben\n"
+
+#~ msgid "WARNING: using first attribute only\n"
+#~ msgstr "WARNUNG: Es wird nur das erste Attribut benutzt\n"
+
+#~ msgid "LDAP init to '%s:%d' failed: %s\n"
+#~ msgstr "LDAP Initialisierung von `%s:%d' fehlgeschlagen: %s\n"
+
+#~ msgid "binding to '%s:%d' failed: %s\n"
+#~ msgstr "Anbindung an `%s:%d' fehlgeschlagen: %s\n"
+
+#~ msgid "searching '%s' failed: %s\n"
+#~ msgstr "Suche mit `%s' fehlgeschlagen: %s\n"
+
+#~ msgid "start_cert_fetch: invalid pattern '%s'\n"
+#~ msgstr "start_cert_fetch: Ungültiges Muster `%s'\n"
+
+#~ msgid "ldapserver missing"
+#~ msgstr "LDAP Server fehlt"
 
 #~ msgid "Note: old default options file '%s' ignored\n"
 #~ msgstr "Hinweis: Alte voreingestellte Optionendatei '%s' wurde ignoriert\n"
@@ -11730,7 +11703,7 @@ msgstr ""
 #~ "%u-bit %s key, ID %s,\n"
 #~ "created %s%s.\n"
 #~ msgstr ""
-#~ "Sie benötigen eine Passphrase, um den geheimen OpenPGP Schlüssel zu "
+#~ "Sie benötigen ein Passwort, um den geheimen OpenPGP Schlüssel zu "
 #~ "entsperren.\n"
 #~ "Benutzer: \"%.*s\"\n"
 #~ "%u-bit %s Schlüssel, ID %s, erzeugt %s%s\n"
index 0951846..975f578 100644 (file)
--- a/po/el.po
+++ b/po/el.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: gnupg-1.1.92\n"
 "Report-Msgid-Bugs-To: translations@gnupg.org\n"
-"POT-Creation-Date: 2021-01-11 18:47+0100\n"
+"POT-Creation-Date: 2021-06-10 18:59+0200\n"
 "PO-Revision-Date: 2017-09-14 21:14+0300\n"
 "Last-Translator: Dimitris Maroulidis <dmaroulidis@dimitrismaroulidis.com>\n"
 "Language-Team: team@gnome.gr\n"
@@ -108,7 +108,7 @@ msgid "Passphrase:"
 msgstr "κακή φράση κλειδί"
 
 #: agent/call-pinentry.c:1107 agent/call-pinentry.c:1359
-#: agent/command-ssh.c:3130 agent/genkey.c:416
+#: agent/command-ssh.c:3140 agent/genkey.c:416
 msgid "does not match - try again"
 msgstr ""
 
@@ -163,34 +163,34 @@ msgstr "κακή φράση κλειδί"
 msgid "ssh keys greater than %d bits are not supported\n"
 msgstr "δεν υποστηρίζεται ο αλγόριθμος προστασίας %d%s\n"
 
-#: agent/command-ssh.c:862 common/dotlock.c:852 g10/card-util.c:932
-#: g10/exec.c:546 g10/export.c:1320 g10/gpg.c:1352 g10/keygen.c:4998
-#: g10/keyring.c:1322 g10/keyring.c:1637 g10/openfile.c:291 g10/sign.c:1009
-#: g10/sign.c:1323 g10/tdbio.c:753
+#: agent/command-ssh.c:862 common/dotlock.c:852 g10/card-util.c:933
+#: g10/exec.c:554 g10/export.c:1320 g10/gpg.c:1360 g10/keygen.c:4998
+#: g10/keyring.c:1322 g10/keyring.c:1637 g10/openfile.c:291 g10/sign.c:1008
+#: g10/sign.c:1322 g10/tdbio.c:753
 #, fuzzy, c-format
 #| msgid "can't create `%s': %s\n"
 msgid "can't create '%s': %s\n"
 msgstr "αδυναμία δημιουργίας του `%s': %s\n"
 
-#: agent/command-ssh.c:874 common/helpfile.c:57 g10/card-util.c:889
+#: agent/command-ssh.c:874 common/helpfile.c:57 g10/card-util.c:890
 #: g10/dearmor.c:59 g10/dearmor.c:106 g10/decrypt.c:65 g10/decrypt.c:136
-#: g10/decrypt.c:153 g10/encrypt.c:180 g10/encrypt.c:543 g10/gpg.c:1353
-#: g10/import.c:352 g10/import.c:536 g10/import.c:764 g10/keygen.c:4036
+#: g10/decrypt.c:153 g10/encrypt.c:180 g10/encrypt.c:543 g10/gpg.c:1361
+#: g10/import.c:364 g10/import.c:548 g10/import.c:776 g10/keygen.c:4036
 #: g10/keyring.c:1663 g10/openfile.c:195 g10/openfile.c:209 g10/plaintext.c:128
-#: g10/plaintext.c:649 g10/sign.c:991 g10/sign.c:1202 g10/sign.c:1307
-#: g10/sign.c:1452 g10/tdbdump.c:143 g10/tdbdump.c:151 g10/tdbio.c:758
-#: g10/tdbio.c:829 g10/verify.c:96 g10/verify.c:160 sm/gpgsm.c:2219
-#: sm/gpgsm.c:2249 sm/gpgsm.c:2287 sm/qualified.c:66 dirmngr/certcache.c:396
+#: g10/plaintext.c:649 g10/sign.c:990 g10/sign.c:1201 g10/sign.c:1306
+#: g10/sign.c:1451 g10/tdbdump.c:143 g10/tdbdump.c:151 g10/tdbio.c:758
+#: g10/tdbio.c:829 g10/verify.c:96 g10/verify.c:160 sm/gpgsm.c:2125
+#: sm/gpgsm.c:2155 sm/gpgsm.c:2193 sm/qualified.c:66 dirmngr/certcache.c:396
 #: dirmngr/certcache.c:476 dirmngr/certcache.c:478 dirmngr/crlcache.c:2588
-#: dirmngr/dirmngr.c:1722
+#: dirmngr/dirmngr.c:1759
 #, fuzzy, c-format
 #| msgid "can't open `%s': %s\n"
 msgid "can't open '%s': %s\n"
 msgstr "αδυναμία πρόσβασης στο `%s': %s\n"
 
 #: agent/command-ssh.c:2385 agent/command-ssh.c:2431 agent/command-ssh.c:2449
-#: agent/command-ssh.c:2601 g10/card-util.c:687 g10/card-util.c:708
-#: g10/skclist.c:430
+#: agent/command-ssh.c:2601 g10/card-util.c:688 g10/card-util.c:709
+#: g10/skclist.c:435
 #, fuzzy, c-format
 msgid "error getting serial number of card: %s\n"
 msgstr "σφάλμα στη δημιουργία της φράσης κλειδί: %s\n"
@@ -215,39 +215,39 @@ msgstr "δε βρέθηκε εγγράψιμη μυστική κλειδοθήκ
 msgid "error getting list of cards: %s\n"
 msgstr "σφάλμα στη δημιουργία της φράσης κλειδί: %s\n"
 
-#: agent/command-ssh.c:2765
+#: agent/command-ssh.c:2775
 #, c-format
 msgid ""
 "An ssh process requested the use of key%%0A  %s%%0A  (%s)%%0ADo you want to "
 "allow this?"
 msgstr ""
 
-#: agent/command-ssh.c:2772
+#: agent/command-ssh.c:2782
 msgid "Allow"
 msgstr ""
 
-#: agent/command-ssh.c:2772
+#: agent/command-ssh.c:2782
 msgid "Deny"
 msgstr ""
 
-#: agent/command-ssh.c:2781
+#: agent/command-ssh.c:2791
 #, fuzzy, c-format
 msgid "Please enter the passphrase for the ssh key%%0A  %F%%0A  (%c)"
 msgstr "Πληκτρολογήστε τη φράση κλειδί· αυτή είναι μια μυστική πρόταση \n"
 
-#: agent/command-ssh.c:3058 agent/genkey.c:351
+#: agent/command-ssh.c:3068 agent/genkey.c:351
 #, fuzzy
 msgid "Please re-enter this passphrase"
 msgstr "αλλαγή της φράσης κλειδί"
 
-#: agent/command-ssh.c:3085
+#: agent/command-ssh.c:3095
 #, fuzzy, c-format
 msgid ""
 "Please enter a passphrase to protect the received secret key%%0A   %s%%0A   "
 "%s%%0Awithin gpg-agent's key storage"
 msgstr "Πληκτρολογήστε τη φράση κλειδί· αυτή είναι μια μυστική πρόταση \n"
 
-#: agent/command-ssh.c:3667
+#: agent/command-ssh.c:3677
 #, fuzzy, c-format
 msgid "failed to create stream from socket: %s\n"
 msgstr "%s: αδυναμία δημιουργίας hashtable: %s\n"
@@ -402,48 +402,46 @@ msgstr ""
 "Επιλογές:\n"
 " "
 
-#: agent/gpg-agent.c:165 scd/scdaemon.c:120 dirmngr/dirmngr.c:166
+#: agent/gpg-agent.c:165 scd/scdaemon.c:120 dirmngr/dirmngr.c:167
 msgid "run in daemon mode (background)"
 msgstr ""
 
-#: agent/gpg-agent.c:166 scd/scdaemon.c:117 dirmngr/dirmngr.c:165
+#: agent/gpg-agent.c:166 scd/scdaemon.c:117 dirmngr/dirmngr.c:166
 msgid "run in server mode (foreground)"
 msgstr ""
 
-#: agent/gpg-agent.c:168 dirmngr/dirmngr.c:168
+#: agent/gpg-agent.c:168 dirmngr/dirmngr.c:169
 #, fuzzy
 #| msgid "Key is superseded"
 msgid "run in supervised mode"
 msgstr "Το κλειδί έχει παρακαμθεί"
 
-#: agent/gpg-agent.c:170 g10/gpg.c:608 g10/gpgv.c:78 kbx/kbxutil.c:88
-#: scd/scdaemon.c:121 sm/gpgsm.c:310 dirmngr/dirmngr-client.c:70
-#: dirmngr/dirmngr.c:181 dirmngr/dirmngr_ldap.c:135
-#: tools/gpg-connect-agent.c:78 tools/gpgconf.c:108
+#: agent/gpg-agent.c:170 g10/gpg.c:605 g10/gpgv.c:78 kbx/kbxutil.c:88
+#: scd/scdaemon.c:121 sm/gpgsm.c:311 dirmngr/dirmngr-client.c:70
+#: dirmngr/dirmngr.c:182 tools/gpg-connect-agent.c:78 tools/gpgconf.c:108
 msgid "verbose"
 msgstr "αναλυτικά"
 
 #: agent/gpg-agent.c:171 g10/gpgv.c:79 kbx/kbxutil.c:89 scd/scdaemon.c:122
-#: sm/gpgsm.c:311 dirmngr/dirmngr-client.c:71 dirmngr/dirmngr.c:182
-#: dirmngr/dirmngr_ldap.c:136
+#: sm/gpgsm.c:312 dirmngr/dirmngr-client.c:71 dirmngr/dirmngr.c:183
 msgid "be somewhat more quiet"
 msgstr "ήσυχη έξοδος"
 
-#: agent/gpg-agent.c:172 scd/scdaemon.c:123 dirmngr/dirmngr.c:183
+#: agent/gpg-agent.c:172 scd/scdaemon.c:123 dirmngr/dirmngr.c:184
 msgid "sh-style command output"
 msgstr ""
 
-#: agent/gpg-agent.c:173 scd/scdaemon.c:124 dirmngr/dirmngr.c:184
+#: agent/gpg-agent.c:173 scd/scdaemon.c:124 dirmngr/dirmngr.c:185
 msgid "csh-style command output"
 msgstr ""
 
-#: agent/gpg-agent.c:174 scd/scdaemon.c:125 sm/gpgsm.c:341
-#: dirmngr/dirmngr.c:185
+#: agent/gpg-agent.c:174 scd/scdaemon.c:125 sm/gpgsm.c:344
+#: dirmngr/dirmngr.c:186
 #, fuzzy
 msgid "|FILE|read options from FILE"
 msgstr "|ΑΡΧΕΙΟ|φόρτωμα του αρθρώματος επέκτασης ΑΡΧΕΙΟ"
 
-#: agent/gpg-agent.c:183 scd/scdaemon.c:135 dirmngr/dirmngr.c:188
+#: agent/gpg-agent.c:183 scd/scdaemon.c:135 dirmngr/dirmngr.c:189
 msgid "do not detach from the console"
 msgstr ""
 
@@ -529,9 +527,9 @@ msgstr "δεν υποστηρίζεται"
 #. reporting address.  This is so that we can change the
 #. reporting address without breaking the translations.
 #: agent/gpg-agent.c:531 agent/preset-passphrase.c:100 agent/protect-tool.c:155
-#: g10/gpg.c:1070 g10/gpgv.c:149 kbx/kbxutil.c:113 scd/scdaemon.c:298
-#: sm/gpgsm.c:567 dirmngr/dirmngr-client.c:168 dirmngr/dirmngr.c:404
-#: dirmngr/dirmngr_ldap.c:207 tools/gpg-connect-agent.c:205 tools/gpgconf.c:146
+#: g10/gpg.c:1074 g10/gpgv.c:149 kbx/kbxutil.c:113 scd/scdaemon.c:299
+#: sm/gpgsm.c:570 dirmngr/dirmngr-client.c:168 dirmngr/dirmngr.c:412
+#: tools/gpg-connect-agent.c:205 tools/gpgconf.c:146
 #: tools/gpg-check-pattern.c:143
 #, fuzzy
 msgid "Please report bugs to <@EMAIL@>.\n"
@@ -548,39 +546,39 @@ msgid ""
 "Secret key management for @GNUPG@\n"
 msgstr ""
 
-#: agent/gpg-agent.c:587 g10/gpg.c:1262 scd/scdaemon.c:370 sm/gpgsm.c:715
-#: dirmngr/dirmngr.c:488
+#: agent/gpg-agent.c:587 g10/gpg.c:1270 scd/scdaemon.c:371 sm/gpgsm.c:718
+#: dirmngr/dirmngr.c:496
 #, c-format
 msgid "invalid debug-level '%s' given\n"
 msgstr ""
 
-#: agent/gpg-agent.c:945 g10/gpg.c:3753 g10/gpg.c:3777 sm/gpgsm.c:1631
-#: sm/gpgsm.c:1637
+#: agent/gpg-agent.c:945 g10/gpg.c:3773 g10/gpg.c:3797 sm/gpgsm.c:1531
+#: sm/gpgsm.c:1537
 #, c-format
 msgid "selected digest algorithm is invalid\n"
 msgstr "ο επιλεγμένος αλγόριθμος περίληψης δεν είναι έγκυρος\n"
 
 #: agent/gpg-agent.c:1168 agent/gpg-agent.c:2023 common/argparse.c:1755
-#: common/argparse.c:1847 g10/gpg.c:2482 scd/scdaemon.c:532 sm/gpgsm.c:1063
-#: dirmngr/dirmngr.c:956 dirmngr/dirmngr.c:1841
+#: common/argparse.c:1847 g10/gpg.c:2495 scd/scdaemon.c:533 sm/gpgsm.c:977
+#: dirmngr/dirmngr.c:994 dirmngr/dirmngr.c:1878
 #, fuzzy, c-format
 #| msgid "reading options from `%s'\n"
 msgid "reading options from '%s'\n"
 msgstr "ανάγνωση επιλογών από `%s'\n"
 
-#: agent/gpg-agent.c:1300 g10/gpg.c:3704 scd/scdaemon.c:655 sm/gpgsm.c:1571
-#: dirmngr/dirmngr.c:1067 tools/gpg-connect-agent.c:1244 tools/gpgconf.c:624
+#: agent/gpg-agent.c:1300 g10/gpg.c:3724 scd/scdaemon.c:657 sm/gpgsm.c:1471
+#: dirmngr/dirmngr.c:1102 tools/gpg-connect-agent.c:1244 tools/gpgconf.c:624
 #, fuzzy, c-format
 #| msgid "WARNING: \"%s\" is a deprecated option\n"
 msgid "Note: '%s' is not considered an option\n"
 msgstr "ΠΡΟΕΙΔΟΠΟΙΗΣΗ: \"%s\" είναι μια μη συνειστώμενη επιλογή\n"
 
-#: agent/gpg-agent.c:2159 scd/scdaemon.c:1096 dirmngr/dirmngr.c:1219
+#: agent/gpg-agent.c:2159 scd/scdaemon.c:1098 dirmngr/dirmngr.c:1256
 #, fuzzy, c-format
 msgid "can't create socket: %s\n"
 msgstr "αδυναμία δημιουργίας του %s: %s\n"
 
-#: agent/gpg-agent.c:2176 scd/scdaemon.c:1109 dirmngr/dirmngr.c:1232
+#: agent/gpg-agent.c:2176 scd/scdaemon.c:1111 dirmngr/dirmngr.c:1269
 #, c-format
 msgid "socket name '%s' is too long\n"
 msgstr ""
@@ -590,29 +588,29 @@ msgstr ""
 msgid "a gpg-agent is already running - not starting a new one\n"
 msgstr "ο gpg-agent δεν είναι διαθέσιμος σε αυτή τη συνεδρία\n"
 
-#: agent/gpg-agent.c:2226 scd/scdaemon.c:1133 dirmngr/dirmngr.c:1264
+#: agent/gpg-agent.c:2226 scd/scdaemon.c:1135 dirmngr/dirmngr.c:1301
 #, fuzzy, c-format
 msgid "error getting nonce for the socket\n"
 msgstr "σφάλμα στη δημιουργία της φράσης κλειδί: %s\n"
 
-#: agent/gpg-agent.c:2231 scd/scdaemon.c:1136 dirmngr/dirmngr.c:1267
+#: agent/gpg-agent.c:2231 scd/scdaemon.c:1138 dirmngr/dirmngr.c:1304
 #, fuzzy, c-format
 msgid "error binding socket to '%s': %s\n"
 msgstr "σφάλμα στη αποστολή προς το `%s': %s\n"
 
 #: agent/gpg-agent.c:2242 agent/gpg-agent.c:2282 agent/gpg-agent.c:2291
-#: scd/scdaemon.c:1144 dirmngr/dirmngr.c:1276
+#: scd/scdaemon.c:1146 dirmngr/dirmngr.c:1313
 #, fuzzy, c-format
 msgid "can't set permissions of '%s': %s\n"
 msgstr "ΠΡΟΕΙΔΟΠΟΙΗΣΗ: μη ασφαλείς άδειες στο %s \"%s\"\n"
 
-#: agent/gpg-agent.c:2256 scd/scdaemon.c:1156 dirmngr/dirmngr.c:1288
+#: agent/gpg-agent.c:2256 scd/scdaemon.c:1158 dirmngr/dirmngr.c:1325
 #, fuzzy, c-format
 msgid "listening on socket '%s'\n"
 msgstr "εγγραφή του μυστικού κλειδιού στο `%s'\n"
 
 #: agent/gpg-agent.c:2276 agent/gpg-agent.c:2329 common/homedir.c:517
-#: g10/exec.c:261 g10/openfile.c:397
+#: g10/exec.c:269 g10/openfile.c:397
 #, fuzzy, c-format
 #| msgid "can't create directory `%s': %s\n"
 msgid "can't create directory '%s': %s\n"
@@ -634,7 +632,7 @@ msgstr "trustdb: read απέτυχε (n=%d): %s\n"
 msgid "can't use '%s' as home directory\n"
 msgstr "%s: αδυναμία δημιουργίας καταλόγου: %s\n"
 
-#: agent/gpg-agent.c:2502 scd/scdaemon.c:1172 dirmngr/dirmngr.c:2047
+#: agent/gpg-agent.c:2502 scd/scdaemon.c:1174 dirmngr/dirmngr.c:2084
 #, fuzzy, c-format
 msgid "error reading nonce on fd %d: %s\n"
 msgstr "σφάλμα κατά την ανάγνωση του `%s': %s\n"
@@ -659,12 +657,12 @@ msgstr ""
 msgid "ssh handler 0x%lx for fd %d terminated\n"
 msgstr ""
 
-#: agent/gpg-agent.c:3016 scd/scdaemon.c:1362 dirmngr/dirmngr.c:2261
+#: agent/gpg-agent.c:3016 scd/scdaemon.c:1366 dirmngr/dirmngr.c:2298
 #, fuzzy, c-format
 msgid "npth_pselect failed: %s - waiting 1s\n"
 msgstr "η ενημέρωση μυστικού απέτυχε: %s\n"
 
-#: agent/gpg-agent.c:3104 scd/scdaemon.c:1427
+#: agent/gpg-agent.c:3104 scd/scdaemon.c:1431
 #, fuzzy, c-format
 msgid "%s %s stopped\n"
 msgstr "%s: παραλείφθηκε: %s\n"
@@ -686,8 +684,8 @@ msgid ""
 "Password cache maintenance\n"
 msgstr ""
 
-#: agent/protect-tool.c:108 g10/gpg.c:440 kbx/kbxutil.c:71 sm/gpgsm.c:204
-#: dirmngr/dirmngr.c:163 tools/gpgconf.c:78
+#: agent/protect-tool.c:108 g10/gpg.c:437 kbx/kbxutil.c:71 sm/gpgsm.c:205
+#: dirmngr/dirmngr.c:164 tools/gpgconf.c:78
 msgid ""
 "@Commands:\n"
 " "
@@ -695,8 +693,8 @@ msgstr ""
 "@Εντολές:\n"
 " "
 
-#: agent/protect-tool.c:117 g10/gpg.c:553 g10/gpgv.c:76 kbx/kbxutil.c:81
-#: sm/gpgsm.c:252 dirmngr/dirmngr.c:179 tools/gpg-connect-agent.c:76
+#: agent/protect-tool.c:117 g10/gpg.c:550 g10/gpgv.c:76 kbx/kbxutil.c:81
+#: sm/gpgsm.c:253 dirmngr/dirmngr.c:180 tools/gpg-connect-agent.c:76
 #: tools/gpgconf.c:105
 msgid ""
 "@\n"
@@ -718,12 +716,12 @@ msgid ""
 "Secret key maintenance tool\n"
 msgstr ""
 
-#: agent/protect-tool.c:703
+#: agent/protect-tool.c:703 sm/import.c:774
 #, fuzzy
 msgid "Please enter the passphrase to unprotect the PKCS#12 object."
 msgstr "Πληκτρολογήστε τη φράση κλειδί· αυτή είναι μια μυστική πρόταση \n"
 
-#: agent/protect-tool.c:708
+#: agent/protect-tool.c:708 sm/export.c:710
 #, fuzzy
 msgid "Please enter the passphrase to protect the new PKCS#12 object."
 msgstr "Πληκτρολογήστε τη φράση κλειδί· αυτή είναι μια μυστική πρόταση \n"
@@ -751,7 +749,7 @@ msgstr "Ακύρωση"
 msgid "error while asking for the passphrase: %s\n"
 msgstr "σφάλμα στη δημιουργία της φράσης κλειδί: %s\n"
 
-#: agent/trustlist.c:154 agent/trustlist.c:364 dirmngr/dirmngr.c:1629
+#: agent/trustlist.c:154 agent/trustlist.c:364 dirmngr/dirmngr.c:1666
 #: tools/gpgconf.c:418
 #, fuzzy, c-format
 msgid "error opening '%s': %s\n"
@@ -907,7 +905,7 @@ msgstr "απέτυχε ο έλεγχος της υπογραφής που δημ
 msgid "secret key parts are not available\n"
 msgstr "τμήματα του μυστικού κλειδιού δεν είναι διαθέσιμα\n"
 
-#: agent/cvt-openpgp.c:344 g10/card-util.c:1540
+#: agent/cvt-openpgp.c:344 g10/card-util.c:1541
 #, fuzzy, c-format
 #| msgid "protection algorithm %d%s is not supported\n"
 msgid "public key algorithm %d (%s) is not supported\n"
@@ -925,21 +923,21 @@ msgstr "δεν υποστηρίζεται ο αλγόριθμος προστασ
 msgid "protection hash algorithm %d (%s) is not supported\n"
 msgstr "δεν υποστηρίζεται ο αλγόριθμος προστασίας %d%s\n"
 
-#: common/exechelp-posix.c:359 common/exechelp-w32.c:449
-#: common/exechelp-w32.c:473 common/exechelp-w32.c:503
+#: common/exechelp-posix.c:359 common/exechelp-w32.c:451
+#: common/exechelp-w32.c:475 common/exechelp-w32.c:505
 #, fuzzy, c-format
 msgid "error creating a pipe: %s\n"
 msgstr "σφάλμα στη δημιουργία της φράσης κλειδί: %s\n"
 
 #: common/exechelp-posix.c:372 common/exechelp-w32.c:355
-#: common/exechelp-w32.c:459 common/exechelp-w32.c:483
-#: common/exechelp-w32.c:513
+#: common/exechelp-w32.c:461 common/exechelp-w32.c:485
+#: common/exechelp-w32.c:515
 #, fuzzy, c-format
 msgid "error creating a stream for a pipe: %s\n"
 msgstr "σφάλμα στη δημιουργία της φράσης κλειδί: %s\n"
 
 #: common/exechelp-posix.c:495 common/exechelp-posix.c:570
-#: common/exechelp-posix.c:851 dirmngr/dirmngr.c:1306
+#: common/exechelp-posix.c:856 dirmngr/dirmngr.c:1343
 #, fuzzy, c-format
 msgid "error forking process: %s\n"
 msgstr "σφάλμα κατά την ανάγνωση του `%s': %s\n"
@@ -949,28 +947,28 @@ msgstr "σφάλμα κατά την ανάγνωση του `%s': %s\n"
 msgid "waiting for process %d to terminate failed: %s\n"
 msgstr ""
 
-#: common/exechelp-posix.c:678 common/exechelp-posix.c:794
+#: common/exechelp-posix.c:678 common/exechelp-posix.c:799
 #, fuzzy, c-format
 msgid "error running '%s': probably not installed\n"
 msgstr "σφάλμα κατά την ανάγνωση του `%s': %s\n"
 
-#: common/exechelp-posix.c:684 common/exechelp-posix.c:801
-#: common/exechelp-w32.c:796 common/exechelp-w32ce.c:781
+#: common/exechelp-posix.c:684 common/exechelp-posix.c:806
+#: common/exechelp-w32.c:829 common/exechelp-w32ce.c:781
 #, fuzzy, c-format
 msgid "error running '%s': exit status %d\n"
 msgstr "σφάλμα κατά την ανάγνωση του `%s': %s\n"
 
-#: common/exechelp-posix.c:692 common/exechelp-posix.c:809
+#: common/exechelp-posix.c:692 common/exechelp-posix.c:814
 #, fuzzy, c-format
 msgid "error running '%s': terminated\n"
 msgstr "σφάλμα κατά την ανάγνωση του `%s': %s\n"
 
-#: common/exechelp-posix.c:750 common/exechelp-w32.c:777
+#: common/exechelp-posix.c:755 common/exechelp-w32.c:810
 #, fuzzy, c-format
 msgid "waiting for processes to terminate failed: %s\n"
 msgstr "η ενημέρωση απέτυχε: %s\n"
 
-#: common/exechelp-w32.c:789 common/exechelp-w32ce.c:775
+#: common/exechelp-w32.c:822 common/exechelp-w32ce.c:775
 #, fuzzy, c-format
 msgid "error getting exit code of process %d: %s\n"
 msgstr "αδυναμία εγγραφής μυστικής κλειδοθήκης `%s': %s\n"
@@ -1067,7 +1065,7 @@ msgstr ""
 msgid "out of core while allocating %lu bytes"
 msgstr ""
 
-#: common/miscellaneous.c:115 g10/card-util.c:896 tools/no-libgcrypt.c:30
+#: common/miscellaneous.c:115 g10/card-util.c:897 tools/no-libgcrypt.c:30
 #, fuzzy, c-format
 msgid "error allocating enough memory: %s\n"
 msgstr "αδυναμία δημιουργίας της κλειδοθήκης `%s': %s\n"
@@ -1190,7 +1188,7 @@ msgid "algorithm: %s"
 msgstr "θωράκιση: %s\n"
 
 #: common/audit.c:774 common/audit.c:776 common/audit.c:921 common/audit.c:923
-#: scd/app-openpgp.c:3555
+#: scd/app-openpgp.c:3554
 #, fuzzy, c-format
 msgid "unsupported algorithm: %s"
 msgstr ""
@@ -1331,6 +1329,26 @@ msgstr "άγνωστο"
 msgid "invalid radix64 character %02x skipped\n"
 msgstr "μη έγκυρος radix64 χαρακτήρας %02x παράβλεψη\n"
 
+#: common/ttyio.c:433
+#, c-format
+msgid "Sorry, we are in batchmode - can't get input\n"
+msgstr ""
+
+#: common/ttyio.c:439
+#, c-format
+msgid "Sorry, no terminal at all requested - can't get input\n"
+msgstr ""
+
+#: common/ttyio.c:474 common/ttyio.c:484
+#, c-format
+msgid "too many errors; giving up\n"
+msgstr ""
+
+#: common/ttyio.c:536
+#, c-format
+msgid "Control-D detected\n"
+msgstr ""
+
 #: common/argparse.c:520
 #, fuzzy
 msgid "argument not expected"
@@ -1402,7 +1420,7 @@ msgstr "μη έγκυρες επιλογές ειγαγωγής\n"
 msgid "missing argument for option \"%.50s\"\n"
 msgstr ""
 
-#: common/argparse.c:558 g10/gpg.c:3490
+#: common/argparse.c:558 g10/gpg.c:3510
 #, fuzzy, c-format
 msgid "invalid argument for option \"%.50s\"\n"
 msgstr "μη έγκυρες επιλογές ειγαγωγής\n"
@@ -1474,31 +1492,31 @@ msgstr "αδυναμία δημιουργίας καταλόγου `%s': %s\n"
 msgid "error writing to '%s': %s\n"
 msgstr "αδυναμία εγγραφής της κλειδοθήκης `%s': %s\n"
 
-#: common/dotlock.c:1129
+#: common/dotlock.c:1137
 #, c-format
 msgid "removing stale lockfile (created by %d)\n"
 msgstr ""
 
-#: common/dotlock.c:1165
+#: common/dotlock.c:1173
 #, fuzzy, c-format
 msgid "waiting for lock (held by %d%s) %s...\n"
 msgstr "εγγραφή του μυστικού κλειδιού στο `%s'\n"
 
-#: common/dotlock.c:1166
+#: common/dotlock.c:1174
 msgid "(deadlock?) "
 msgstr ""
 
-#: common/dotlock.c:1205
+#: common/dotlock.c:1213
 #, fuzzy, c-format
 msgid "lock '%s' not made: %s\n"
 msgstr "το δημόσιο κλειδί %08lX δεν βρέθηκε: %s\n"
 
-#: common/dotlock.c:1232
+#: common/dotlock.c:1240
 #, fuzzy, c-format
 msgid "waiting for lock %s...\n"
 msgstr "εγγραφή του μυστικού κλειδιού στο `%s'\n"
 
-#: common/init.c:185 sm/gpgsm.c:949 dirmngr/dirmngr.c:862 dirmngr/dirmngr.c:871
+#: common/init.c:191 sm/gpgsm.c:863 dirmngr/dirmngr.c:900 dirmngr/dirmngr.c:909
 #, c-format
 msgid "%s is too old (need %s, have %s)\n"
 msgstr ""
@@ -1689,13 +1707,13 @@ msgid "Note: Use the command \"%s\" to restart them.\n"
 msgstr "Παρακαλώ χρησιμοποιείστε την εντολή \"toggle\" πρώτα.\n"
 
 #: g10/call-agent.c:318 g10/encrypt.c:154 g10/encrypt.c:620 g10/sign.c:412
-#: sm/call-agent.c:205 sm/encrypt.c:425 sm/sign.c:345
+#: sm/call-agent.c:205 sm/encrypt.c:426 sm/sign.c:345
 #, fuzzy, c-format
 #| msgid "%s does not yet work with %s\n"
 msgid "%s is not compliant with %s mode\n"
 msgstr "το %s ακόμα δε λειτουργεί μαζί με το %s\n"
 
-#: g10/call-dirmngr.c:209 sm/call-dirmngr.c:268 tools/gpg-connect-agent.c:2253
+#: g10/call-dirmngr.c:209 sm/call-dirmngr.c:269 tools/gpg-connect-agent.c:2253
 #, fuzzy, c-format
 msgid "no dirmngr running in this session\n"
 msgstr "ο gpg-agent δεν είναι διαθέσιμος σε αυτή τη συνεδρία\n"
@@ -1738,23 +1756,23 @@ msgstr ""
 msgid "server uses an invalid certificate"
 msgstr "δημιουργία ενός πιστοποιητικού ανάκλησης"
 
-#: g10/call-dirmngr.c:437 g10/gpg.c:4400
+#: g10/call-dirmngr.c:437 g10/gpg.c:4421
 #, fuzzy, c-format
 #| msgid "armor: %s\n"
 msgid "Note: %s\n"
 msgstr "θωράκιση: %s\n"
 
-#: g10/card-util.c:86 g10/card-util.c:366 g10/card-util.c:1902
+#: g10/card-util.c:86 g10/card-util.c:366 g10/card-util.c:1903
 #, fuzzy, c-format
 msgid "OpenPGP card not available: %s\n"
 msgstr "το μυστικό κλειδί δεν είναι διαθέσιμο"
 
-#: g10/card-util.c:91 g10/card-util.c:1908
+#: g10/card-util.c:91 g10/card-util.c:1909
 #, c-format
 msgid "OpenPGP card no. %s detected\n"
 msgstr ""
 
-#: g10/card-util.c:97 g10/card-util.c:2237 g10/delkey.c:160 g10/keyedit.c:1422
+#: g10/card-util.c:97 g10/card-util.c:2238 g10/delkey.c:160 g10/keyedit.c:1423
 #: g10/keygen.c:4466 g10/revoke.c:214 g10/revoke.c:636
 #, fuzzy, c-format
 msgid "can't do this in batch mode\n"
@@ -1765,13 +1783,13 @@ msgstr "δεν μπορεί να γίνει αυτό σε κατάσταση δ
 msgid "This command is only available for version 2 cards\n"
 msgstr "Αυτή η εντολή απαγορεύετε σε αυτή την κατάσταση %s.\n"
 
-#: g10/card-util.c:107 scd/app-openpgp.c:2864
+#: g10/card-util.c:107 scd/app-openpgp.c:2863
 #, fuzzy, c-format
 msgid "Reset Code not or not anymore available\n"
 msgstr "τμήματα του μυστικού κλειδιού δεν είναι διαθέσιμα\n"
 
-#: g10/card-util.c:140 g10/card-util.c:1426 g10/card-util.c:1688
-#: g10/card-util.c:1780 g10/keyedit.c:394 g10/keyedit.c:415 g10/keyedit.c:429
+#: g10/card-util.c:140 g10/card-util.c:1427 g10/card-util.c:1689
+#: g10/card-util.c:1781 g10/keyedit.c:394 g10/keyedit.c:415 g10/keyedit.c:429
 #: g10/keygen.c:1808 g10/keygen.c:1980 g10/keygen.c:2186 g10/keygen.c:2477
 #: sm/certreqgen-ui.c:165 sm/certreqgen-ui.c:291 sm/certreqgen-ui.c:325
 msgid "Your selection? "
@@ -1798,213 +1816,213 @@ msgstr "μη επεξεργασμένο"
 msgid "forced"
 msgstr ""
 
-#: g10/card-util.c:749
+#: g10/card-util.c:750
 msgid "Error: Only plain ASCII is currently allowed.\n"
 msgstr ""
 
-#: g10/card-util.c:751
+#: g10/card-util.c:752
 msgid "Error: The \"<\" character may not be used.\n"
 msgstr ""
 
-#: g10/card-util.c:753
+#: g10/card-util.c:754
 msgid "Error: Double spaces are not allowed.\n"
 msgstr ""
 
-#: g10/card-util.c:770
+#: g10/card-util.c:771
 msgid "Cardholder's surname: "
 msgstr ""
 
-#: g10/card-util.c:772
+#: g10/card-util.c:773
 msgid "Cardholder's given name: "
 msgstr ""
 
-#: g10/card-util.c:790
+#: g10/card-util.c:791
 #, c-format
 msgid "Error: Combined name too long (limit is %d characters).\n"
 msgstr ""
 
-#: g10/card-util.c:811
+#: g10/card-util.c:812
 #, fuzzy
 msgid "URL to retrieve public key: "
 msgstr "κανένα αντίστιχο δημόσιο κλειδί: %s\n"
 
-#: g10/card-util.c:905 g10/decrypt-data.c:490 g10/import.c:387 g10/import.c:734
-#: g10/import.c:786 dirmngr/crlcache.c:655 dirmngr/crlcache.c:660
-#: dirmngr/crlcache.c:914 dirmngr/crlcache.c:920 dirmngr/dirmngr.c:1668
+#: g10/card-util.c:906 g10/decrypt-data.c:490 g10/import.c:399 g10/import.c:746
+#: g10/import.c:798 dirmngr/crlcache.c:655 dirmngr/crlcache.c:660
+#: dirmngr/crlcache.c:914 dirmngr/crlcache.c:920 dirmngr/dirmngr.c:1705
 #: tools/gpgconf.c:431 tools/gpgconf.c:477
 #, fuzzy, c-format
 #| msgid "error reading `%s': %s\n"
 msgid "error reading '%s': %s\n"
 msgstr "σφάλμα κατά την ανάγνωση του `%s': %s\n"
 
-#: g10/card-util.c:938 g10/decrypt-data.c:493 g10/export.c:2467
+#: g10/card-util.c:939 g10/decrypt-data.c:493 g10/export.c:2467
 #: dirmngr/crlcache.c:925
 #, fuzzy, c-format
 msgid "error writing '%s': %s\n"
 msgstr "αδυναμία εγγραφής της κλειδοθήκης `%s': %s\n"
 
-#: g10/card-util.c:965
+#: g10/card-util.c:966
 msgid "Login data (account name): "
 msgstr ""
 
-#: g10/card-util.c:1003
+#: g10/card-util.c:1004
 msgid "Private DO data: "
 msgstr ""
 
-#: g10/card-util.c:1088
+#: g10/card-util.c:1089
 #, fuzzy
 msgid "Language preferences: "
 msgstr "αναωεωμένες επιλογές"
 
-#: g10/card-util.c:1096
+#: g10/card-util.c:1097
 #, fuzzy
 msgid "Error: invalid length of preference string.\n"
 msgstr "μη έγκυρος χαρακτήρας στο \"κορδόνι\" της επιλογής\n"
 
-#: g10/card-util.c:1105
+#: g10/card-util.c:1106
 #, fuzzy
 msgid "Error: invalid characters in preference string.\n"
 msgstr "μη έγκυρος χαρακτήρας στο \"κορδόνι\" της επιλογής\n"
 
-#: g10/card-util.c:1127
+#: g10/card-util.c:1128
 msgid "Salutation (M = Mr., F = Ms., or space): "
 msgstr ""
 
-#: g10/card-util.c:1141
+#: g10/card-util.c:1142
 #, fuzzy
 msgid "Error: invalid response.\n"
 msgstr "σφάλμα: μη έγκυρο αποτύπωμα\n"
 
-#: g10/card-util.c:1163
+#: g10/card-util.c:1164
 #, fuzzy
 msgid "CA fingerprint: "
 msgstr "απεικόνιση του fingerprint"
 
-#: g10/card-util.c:1186
+#: g10/card-util.c:1187
 #, fuzzy
 msgid "Error: invalid formatted fingerprint.\n"
 msgstr "σφάλμα: μη έγκυρο αποτύπωμα\n"
 
-#: g10/card-util.c:1236
+#: g10/card-util.c:1237
 #, fuzzy, c-format
 msgid "key operation not possible: %s\n"
 msgstr "Η δημιουργία κλειδιού απέτυχε: %s\n"
 
-#: g10/card-util.c:1237
+#: g10/card-util.c:1238
 #, fuzzy
 msgid "not an OpenPGP card"
 msgstr "δε βρέθηκαν έγκυρα OpenPGP δεδομένα.\n"
 
-#: g10/card-util.c:1250 g10/keygen.c:4486 g10/keygen.c:5565
+#: g10/card-util.c:1251 g10/keygen.c:4486 g10/keygen.c:5565
 #, fuzzy, c-format
 msgid "error getting current key info: %s\n"
 msgstr "αδυναμία εγγραφής μυστικής κλειδοθήκης `%s': %s\n"
 
-#: g10/card-util.c:1335
+#: g10/card-util.c:1336
 msgid "Replace existing key? (y/N) "
 msgstr ""
 
-#: g10/card-util.c:1352
+#: g10/card-util.c:1353
 msgid ""
 "Note: There is no guarantee that the card supports the requested size.\n"
 "      If the key generation does not succeed, please check the\n"
 "      documentation of your card to see what sizes are allowed.\n"
 msgstr ""
 
-#: g10/card-util.c:1374 g10/keygen.c:2363 sm/certreqgen-ui.c:179
+#: g10/card-util.c:1375 g10/keygen.c:2363 sm/certreqgen-ui.c:179
 #, fuzzy, c-format
 msgid "What keysize do you want? (%u) "
 msgstr "Τι μέγεθος κλειδιού θα θέλατε; (1024) "
 
-#: g10/card-util.c:1384 g10/keygen.c:2286 g10/keygen.c:2318
+#: g10/card-util.c:1385 g10/keygen.c:2286 g10/keygen.c:2318
 #: sm/certreqgen-ui.c:194
 #, c-format
 msgid "rounded up to %u bits\n"
 msgstr "στρογγυλοποιήθηκε έως τα %u bits\n"
 
-#: g10/card-util.c:1392 g10/keygen.c:2371 sm/certreqgen-ui.c:184
+#: g10/card-util.c:1393 g10/keygen.c:2371 sm/certreqgen-ui.c:184
 #, c-format
 msgid "%s keysizes must be in the range %u-%u\n"
 msgstr ""
 
-#: g10/card-util.c:1411
+#: g10/card-util.c:1412
 msgid "Changing card key attribute for: "
 msgstr ""
 
-#: g10/card-util.c:1413
+#: g10/card-util.c:1414
 #, fuzzy
 msgid "Signature key\n"
 msgstr "Υπογραφή έληξε στις %s.\n"
 
-#: g10/card-util.c:1415
+#: g10/card-util.c:1416
 #, fuzzy
 msgid "Encryption key\n"
 msgstr "   (%d) RSA (για κρυπτογράφηση μόνο)\n"
 
-#: g10/card-util.c:1417
+#: g10/card-util.c:1418
 msgid "Authentication key\n"
 msgstr ""
 
-#: g10/card-util.c:1419 g10/keygen.c:1926 sm/certreqgen-ui.c:157
+#: g10/card-util.c:1420 g10/keygen.c:1926 sm/certreqgen-ui.c:157
 msgid "Please select what kind of key you want:\n"
 msgstr "Παρακαλώ επιλέξτε τον τύπο του κλειδιού που θέλετε:\n"
 
-#: g10/card-util.c:1420 sm/certreqgen-ui.c:158
+#: g10/card-util.c:1421 sm/certreqgen-ui.c:158
 #, fuzzy, c-format
 msgid "   (%d) RSA\n"
 msgstr "   (%d) RSA (για υπογραφή μόνο)\n"
 
-#: g10/card-util.c:1421
+#: g10/card-util.c:1422
 #, fuzzy, c-format
 msgid "   (%d) ECC\n"
 msgstr "   (%d) DSA και ElGamal (προκαθορισμένο)\n"
 
-#: g10/card-util.c:1433 g10/card-util.c:1700 g10/card-util.c:1800
-#: g10/keyedit.c:899 g10/keygen.c:1834 g10/keygen.c:1862 g10/keygen.c:1987
+#: g10/card-util.c:1434 g10/card-util.c:1701 g10/card-util.c:1801
+#: g10/keyedit.c:900 g10/keygen.c:1834 g10/keygen.c:1862 g10/keygen.c:1987
 #: g10/keygen.c:2222 g10/keygen.c:2505 g10/revoke.c:838
 msgid "Invalid selection.\n"
 msgstr "Μη έγκυρη επιλογή.\n"
 
-#: g10/card-util.c:1506
+#: g10/card-util.c:1507
 #, c-format
 msgid "The card will now be re-configured to generate a key of %u bits\n"
 msgstr ""
 
-#: g10/card-util.c:1511
+#: g10/card-util.c:1512
 #, c-format
 msgid "The card will now be re-configured to generate a key of type: %s\n"
 msgstr ""
 
-#: g10/card-util.c:1547
+#: g10/card-util.c:1548
 #, fuzzy, c-format
 msgid "error changing key attribute for key %d: %s\n"
 msgstr "σφάλμα στη αποστολή προς το `%s': %s\n"
 
-#: g10/card-util.c:1563 g10/card-util.c:2090
+#: g10/card-util.c:1564 g10/card-util.c:2091
 #, fuzzy, c-format
 msgid "error getting card info: %s\n"
 msgstr "αδυναμία εγγραφής μυστικής κλειδοθήκης `%s': %s\n"
 
-#: g10/card-util.c:1569 g10/card-util.c:1914 g10/card-util.c:2096
+#: g10/card-util.c:1570 g10/card-util.c:1915 g10/card-util.c:2097
 #, fuzzy, c-format
 #| msgid "This command is not allowed while in %s mode.\n"
 msgid "This command is not supported by this card\n"
 msgstr "Αυτή η εντολή απαγορεύετε σε αυτή την κατάσταση %s.\n"
 
-#: g10/card-util.c:1615
+#: g10/card-util.c:1616
 msgid "Make off-card backup of encryption key? (Y/n) "
 msgstr ""
 
-#: g10/card-util.c:1629
+#: g10/card-util.c:1630
 #, fuzzy, c-format
 msgid "Note: keys are already stored on the card!\n"
 msgstr "παραλείφθηκε: μυστικό κλειδί ήδη παρών\n"
 
-#: g10/card-util.c:1632
+#: g10/card-util.c:1633
 msgid "Replace existing keys? (y/N) "
 msgstr ""
 
-#: g10/card-util.c:1644
+#: g10/card-util.c:1645
 #, c-format
 msgid ""
 "Please note that the factory settings of the PINs are\n"
@@ -2012,160 +2030,160 @@ msgid ""
 "You should change them using the command --change-pin\n"
 msgstr ""
 
-#: g10/card-util.c:1679
+#: g10/card-util.c:1680
 #, fuzzy
 msgid "Please select the type of key to generate:\n"
 msgstr "Παρακαλώ επιλέξτε τον τύπο του κλειδιού που θέλετε:\n"
 
-#: g10/card-util.c:1681 g10/card-util.c:1771
+#: g10/card-util.c:1682 g10/card-util.c:1772
 #, fuzzy
 msgid "   (1) Signature key\n"
 msgstr "Υπογραφή έληξε στις %s.\n"
 
-#: g10/card-util.c:1682 g10/card-util.c:1773
+#: g10/card-util.c:1683 g10/card-util.c:1774
 #, fuzzy
 msgid "   (2) Encryption key\n"
 msgstr "   (%d) RSA (για κρυπτογράφηση μόνο)\n"
 
-#: g10/card-util.c:1683 g10/card-util.c:1775
+#: g10/card-util.c:1684 g10/card-util.c:1776
 msgid "   (3) Authentication key\n"
 msgstr ""
 
-#: g10/card-util.c:1768
+#: g10/card-util.c:1769
 #, fuzzy
 msgid "Please select where to store the key:\n"
 msgstr "Παρακαλώ επιλέξτε την αιτία για την ανάκληση:\n"
 
-#: g10/card-util.c:1814
+#: g10/card-util.c:1815
 #, fuzzy, c-format
 msgid "KEYTOCARD failed: %s\n"
 msgstr "η ενημέρωση απέτυχε: %s\n"
 
-#: g10/card-util.c:1919
+#: g10/card-util.c:1920
 #, fuzzy, c-format
 msgid "Note: This command destroys all keys stored on the card!\n"
 msgstr "παραλείφθηκε: μυστικό κλειδί ήδη παρών\n"
 
-#: g10/card-util.c:1922
+#: g10/card-util.c:1923
 #, fuzzy
 msgid "Continue? (y/N) "
 msgstr "Σίγουρα να υπογραφεί; "
 
-#: g10/card-util.c:1927
+#: g10/card-util.c:1928
 msgid "Really do a factory reset? (enter \"yes\") "
 msgstr ""
 
-#: g10/card-util.c:2113
+#: g10/card-util.c:2114
 #, fuzzy, c-format
 msgid "error for setup KDF: %s\n"
 msgstr "σφάλμα κατά την ανάγνωση του `%s': %s\n"
 
-#: g10/card-util.c:2142 g10/keyedit.c:1259
+#: g10/card-util.c:2143 g10/keyedit.c:1260
 msgid "quit this menu"
 msgstr "τερματισμός αυτού του μενού"
 
-#: g10/card-util.c:2144
+#: g10/card-util.c:2145
 #, fuzzy
 msgid "show admin commands"
 msgstr "συγκρουόμενες εντολές\n"
 
-#: g10/card-util.c:2145 g10/keyedit.c:1262
+#: g10/card-util.c:2146 g10/keyedit.c:1263
 msgid "show this help"
 msgstr "απεικόνιση αυτής της βοήθειας"
 
-#: g10/card-util.c:2147
+#: g10/card-util.c:2148
 #, fuzzy
 msgid "list all available data"
 msgstr "Κλειδί διαθέσιμο στο: "
 
-#: g10/card-util.c:2150
+#: g10/card-util.c:2151
 msgid "change card holder's name"
 msgstr ""
 
-#: g10/card-util.c:2151
+#: g10/card-util.c:2152
 msgid "change URL to retrieve key"
 msgstr ""
 
-#: g10/card-util.c:2152
+#: g10/card-util.c:2153
 msgid "fetch the key specified in the card URL"
 msgstr ""
 
-#: g10/card-util.c:2153
+#: g10/card-util.c:2154
 #, fuzzy
 msgid "change the login name"
 msgstr "αλλαγή της ημερομηνίας λήξης"
 
-#: g10/card-util.c:2154
+#: g10/card-util.c:2155
 #, fuzzy
 msgid "change the language preferences"
 msgstr "αλλαγή της εμπιστοσύνης ιδιοκτήτη"
 
-#: g10/card-util.c:2155
+#: g10/card-util.c:2156
 msgid "change card holder's salutation"
 msgstr ""
 
-#: g10/card-util.c:2157
+#: g10/card-util.c:2158
 #, fuzzy
 msgid "change a CA fingerprint"
 msgstr "απεικόνιση του fingerprint"
 
-#: g10/card-util.c:2158
+#: g10/card-util.c:2159
 msgid "toggle the signature force PIN flag"
 msgstr ""
 
-#: g10/card-util.c:2159
+#: g10/card-util.c:2160
 #, fuzzy
 msgid "generate new keys"
 msgstr "δημιουργία ενός νέου ζεύγους κλειδιών"
 
-#: g10/card-util.c:2160
+#: g10/card-util.c:2161
 msgid "menu to change or unblock the PIN"
 msgstr ""
 
-#: g10/card-util.c:2161
+#: g10/card-util.c:2162
 msgid "verify the PIN and list all data"
 msgstr ""
 
-#: g10/card-util.c:2162
+#: g10/card-util.c:2163
 msgid "unblock the PIN using a Reset Code"
 msgstr ""
 
-#: g10/card-util.c:2163
+#: g10/card-util.c:2164
 msgid "destroy all keys and data"
 msgstr ""
 
-#: g10/card-util.c:2164
+#: g10/card-util.c:2165
 #, fuzzy
 #| msgid "|NAME|use NAME as default recipient"
 msgid "setup KDF for PIN authentication"
 msgstr "|ΟΝΟΜΑ|χρήση του ΟΝΟΜΑτος ως προκαθορισμένου παραλήπτη"
 
-#: g10/card-util.c:2165
+#: g10/card-util.c:2166
 #, fuzzy
 #| msgid "change the ownertrust"
 msgid "change the key attribute"
 msgstr "αλλαγή της εμπιστοσύνης ιδιοκτήτη"
 
-#: g10/card-util.c:2289
+#: g10/card-util.c:2290
 msgid "gpg/card> "
 msgstr ""
 
-#: g10/card-util.c:2330
+#: g10/card-util.c:2331
 #, fuzzy
 msgid "Admin-only command\n"
 msgstr "συγκρουόμενες εντολές\n"
 
-#: g10/card-util.c:2361
+#: g10/card-util.c:2362
 #, fuzzy
 msgid "Admin commands are allowed\n"
 msgstr "συγκρουόμενες εντολές\n"
 
-#: g10/card-util.c:2363
+#: g10/card-util.c:2364
 #, fuzzy
 msgid "Admin commands are not allowed\n"
 msgstr "εγγραφή του μυστικού κλειδιού στο `%s'\n"
 
-#: g10/card-util.c:2466 g10/keyedit.c:2228
+#: g10/card-util.c:2467 g10/keyedit.c:2229
 msgid "Invalid command  (try \"help\")\n"
 msgstr "Μη έγκυρη εντολή  (δοκιμάστε \"help\")\n"
 
@@ -2174,22 +2192,22 @@ msgstr "Μη έγκυρη εντολή  (δοκιμάστε \"help\")\n"
 msgid "--output doesn't work for this command\n"
 msgstr "--output δεν λειτουργεί για αυτή την εντολή\n"
 
-#: g10/decrypt.c:247 g10/gpg.c:5083 g10/keyring.c:399 g10/keyring.c:750
+#: g10/decrypt.c:247 g10/gpg.c:5104 g10/keyring.c:399 g10/keyring.c:750
 #, fuzzy, c-format
 #| msgid "can't open `%s'\n"
 msgid "can't open '%s'\n"
 msgstr "αδυναμία πρόσβασης του `%s'\n"
 
 #: g10/delkey.c:83 g10/export.c:1947 g10/export.c:2230 g10/export.c:2351
-#: g10/getkey.c:1964 g10/gpg.c:5028 g10/keyedit.c:1444 g10/keyedit.c:2334
-#: g10/keyedit.c:2580 g10/keyedit.c:4543 g10/keylist.c:689 g10/keyserver.c:1259
+#: g10/getkey.c:2108 g10/gpg.c:5049 g10/keyedit.c:1445 g10/keyedit.c:2335
+#: g10/keyedit.c:2581 g10/keyedit.c:4544 g10/keylist.c:689 g10/keyserver.c:1092
 #: g10/revoke.c:230 g10/tofu.c:2165
 #, fuzzy, c-format
 msgid "key \"%s\" not found: %s\n"
 msgstr "το κλειδί '%s' δε βρέθηκε: %s\n"
 
-#: g10/delkey.c:92 g10/export.c:2015 g10/getkey.c:1972 g10/getkey.c:4346
-#: g10/gpg.c:5037 g10/keyedit.c:2307 g10/keyserver.c:1277 g10/revoke.c:236
+#: g10/delkey.c:92 g10/export.c:2015 g10/getkey.c:2116 g10/getkey.c:4517
+#: g10/gpg.c:5058 g10/keyedit.c:2308 g10/keyserver.c:1110 g10/revoke.c:236
 #: g10/revoke.c:663 g10/tofu.c:2173
 #, c-format
 msgid "error reading keyblock: %s\n"
@@ -2251,9 +2269,9 @@ msgstr "key"
 msgid "subkey"
 msgstr "ΔημοσΚλειδί:"
 
-#: g10/delkey.c:299 g10/keyedit.c:2200 g10/keyedit.c:2210 g10/keyedit.c:2387
-#: g10/keyedit.c:2461 g10/keyedit.c:2532 g10/keyedit.c:2757 g10/keyedit.c:2987
-#: g10/keyedit.c:3056 g10/keyedit.c:3207
+#: g10/delkey.c:299 g10/keyedit.c:2201 g10/keyedit.c:2211 g10/keyedit.c:2388
+#: g10/keyedit.c:2462 g10/keyedit.c:2533 g10/keyedit.c:2758 g10/keyedit.c:2988
+#: g10/keyedit.c:3057 g10/keyedit.c:3208
 #, c-format
 msgid "update failed: %s\n"
 msgstr "η ενημέρωση απέτυχε: %s\n"
@@ -2279,7 +2297,7 @@ msgid "use option \"--delete-secret-keys\" to delete it first.\n"
 msgstr ""
 "χρησιμοποιείστε πρώτα την επιλογή \"--delete-secret-key\" για διαγραφή του.\n"
 
-#: g10/encrypt.c:202 g10/sign.c:1471
+#: g10/encrypt.c:202 g10/sign.c:1470
 #, c-format
 msgid "error creating passphrase: %s\n"
 msgstr "σφάλμα στη δημιουργία της φράσης κλειδί: %s\n"
@@ -2306,14 +2324,14 @@ msgstr "`%s' ήδη συμπιέστηκε\n"
 msgid "WARNING: '%s' is an empty file\n"
 msgstr "ΠΡΟΕΙΔΟΠΟΙΗΣΗ: `%s' είναι ένα άδειο αρχείο\n"
 
-#: g10/encrypt.c:387 g10/encrypt.c:610 g10/decrypt-data.c:260 g10/gpg.c:3901
-#: g10/gpg.c:3941 sm/decrypt.c:364 sm/encrypt.c:415 sm/gpgsm.c:1655
+#: g10/encrypt.c:387 g10/encrypt.c:610 g10/decrypt-data.c:260 g10/gpg.c:3922
+#: g10/gpg.c:3962 sm/decrypt.c:826 sm/encrypt.c:416 sm/gpgsm.c:1555
 #, fuzzy, c-format
 msgid "cipher algorithm '%s' may not be used in %s mode\n"
 msgstr "απαγορεύετε η χρήση του κρυπταλγόριθμου \"%s\" στην κατάσταση %s\n"
 
-#: g10/encrypt.c:396 g10/gpg.c:3907 g10/gpg.c:3953 g10/sig-check.c:146
-#: g10/sign.c:391 sm/gpgsm.c:1665 sm/gpgsm.c:1675 sm/sign.c:478 sm/verify.c:506
+#: g10/encrypt.c:396 g10/gpg.c:3928 g10/gpg.c:3974 g10/sig-check.c:146
+#: g10/sign.c:391 sm/gpgsm.c:1565 sm/gpgsm.c:1575 sm/sign.c:478 sm/verify.c:506
 #, fuzzy, c-format
 msgid "digest algorithm '%s' may not be used in %s mode\n"
 msgstr ""
@@ -2333,12 +2351,12 @@ msgstr ""
 "ο εξαναγκασμός συμμετρικού αλγόριθμου %s (%d) παραβιάζει τις\n"
 "επιλογές του παραλήπτη\n"
 
-#: g10/encrypt.c:640 sm/encrypt.c:490
+#: g10/encrypt.c:640 sm/encrypt.c:491
 #, fuzzy, c-format
 msgid "WARNING: key %s is not suitable for encryption in %s mode\n"
 msgstr "ΠΡΟΕΙΔΟΠΟΙΗΣΗ: \"%s\" είναι μια μη συνειστώμενη επιλογή\n"
 
-#: g10/encrypt.c:751 g10/sign.c:1163
+#: g10/encrypt.c:751 g10/sign.c:1162
 #, fuzzy, c-format
 msgid ""
 "WARNING: forcing compression algorithm %s (%d) violates recipient "
@@ -2370,12 +2388,12 @@ msgstr "απαγορεύετε η χρήση του %s στην κατάστασ
 msgid "%s encrypted data\n"
 msgstr "%s κρυπτογραφημένα δεδομένα\n"
 
-#: g10/decrypt-data.c:243 g10/mainproc.c:396
+#: g10/decrypt-data.c:243 g10/mainproc.c:397
 #, c-format
 msgid "encrypted with unknown algorithm %d\n"
 msgstr "κρυπτογραφημένο με άγνωστο αλγόριθμο %d\n"
 
-#: g10/decrypt-data.c:357 g10/decrypt-data.c:410 sm/decrypt.c:130
+#: g10/decrypt-data.c:357 g10/decrypt-data.c:410 sm/decrypt.c:550
 #, c-format
 msgid ""
 "WARNING: message was encrypted with a weak key in the symmetric cipher.\n"
@@ -2393,7 +2411,7 @@ msgstr "πρόβλημα στο χειρισμό κρυπτογραφημένο
 msgid "no remote program execution supported\n"
 msgstr "δεν υποστηρίζετε η απομακρυσμένη εκτέλεση προγράμματος\n"
 
-#: g10/exec.c:381
+#: g10/exec.c:389
 #, c-format
 msgid ""
 "external program calls are disabled due to unsafe options file permissions\n"
@@ -2401,49 +2419,49 @@ msgstr ""
 "οι κλήσεις εξωτερικών προγραμμάτων απενεργοποιήθηκαν λόγω ανασφαλών αδειών\n"
 "αρχείου\n"
 
-#: g10/exec.c:411
+#: g10/exec.c:419
 #, fuzzy, c-format
 msgid "this platform requires temporary files when calling external programs\n"
 msgstr ""
 "αυτή η πλατφόρμα απαιτεί προσωρ. αρχεία στην κλήση εξωτερικών προγραμμάτων\n"
 
-#: g10/exec.c:489
+#: g10/exec.c:497
 #, fuzzy, c-format
 msgid "unable to execute program '%s': %s\n"
 msgstr "αδυναμία εκτέλεσης του %s \"%s\": %s\n"
 
-#: g10/exec.c:492
+#: g10/exec.c:500
 #, fuzzy, c-format
 msgid "unable to execute shell '%s': %s\n"
 msgstr "αδυναμία εκτέλεσης του %s \"%s\": %s\n"
 
-#: g10/exec.c:583
+#: g10/exec.c:591
 #, c-format
 msgid "system error while calling external program: %s\n"
 msgstr "σφάλμα συστήματος κατά την κλήση εξωτερικού προγράμματος: %s\n"
 
-#: g10/exec.c:594 g10/exec.c:661
+#: g10/exec.c:602 g10/exec.c:669
 #, c-format
 msgid "unnatural exit of external program\n"
 msgstr "αφύσικη έξοδος του εξωτερικού προγράμματος\n"
 
-#: g10/exec.c:609
+#: g10/exec.c:617
 #, c-format
 msgid "unable to execute external program\n"
 msgstr "αδυναμία εκτέλεσης του εξωτερικού προγράμματος\n"
 
-#: g10/exec.c:626
+#: g10/exec.c:634
 #, c-format
 msgid "unable to read external program response: %s\n"
 msgstr "αδυναμία ανάγνωσης της απάντησης του εξωτερικού προγράμματος: %s\n"
 
-#: g10/exec.c:672 g10/exec.c:679
+#: g10/exec.c:680 g10/exec.c:687
 #, fuzzy, c-format
 #| msgid "WARNING: unable to remove tempfile (%s) `%s': %s\n"
 msgid "WARNING: unable to remove tempfile (%s) '%s': %s\n"
 msgstr "ΠΡΟΕΙΔΟΠΟΙΗΣΗ: αδυναμία διαγραφής tempfile (%s) `%s': %s\n"
 
-#: g10/exec.c:684
+#: g10/exec.c:692
 #, fuzzy, c-format
 #| msgid "WARNING: unable to remove temp directory `%s': %s\n"
 msgid "WARNING: unable to remove temp directory '%s': %s\n"
@@ -2485,8 +2503,8 @@ msgstr ""
 msgid " - skipped"
 msgstr "%s: παραλείφθηκε: %s\n"
 
-#: g10/export.c:1324 g10/import.c:2073 g10/openfile.c:200 g10/openfile.c:294
-#: g10/sign.c:1013 g10/sign.c:1327
+#: g10/export.c:1324 g10/import.c:2085 g10/openfile.c:200 g10/openfile.c:294
+#: g10/sign.c:1012 g10/sign.c:1326
 #, fuzzy, c-format
 #| msgid "writing to `%s'\n"
 msgid "writing to '%s'\n"
@@ -2525,293 +2543,293 @@ msgstr "σφάλμα κατά τη δημιουργία του `%s': %s\n"
 msgid "[User ID not found]"
 msgstr "[User id δεν βρέθηκε]"
 
-#: g10/getkey.c:1297
+#: g10/getkey.c:1441
 #, fuzzy, c-format
 msgid "automatically retrieved '%s' via %s\n"
 msgstr "σφάλμα κατά τη δημιουργία του `%s': %s\n"
 
-#: g10/getkey.c:1303
+#: g10/getkey.c:1447
 #, fuzzy, c-format
 msgid "error retrieving '%s' via %s: %s\n"
 msgstr "σφάλμα κατά τη δημιουργία του `%s': %s\n"
 
-#: g10/getkey.c:1305
+#: g10/getkey.c:1449
 #, fuzzy
 msgid "No fingerprint"
 msgstr "απεικόνιση του fingerprint"
 
-#: g10/getkey.c:1526
+#: g10/getkey.c:1670
 #, c-format
 msgid "checking for a fresh copy of an expired key via %s\n"
 msgstr ""
 
-#: g10/getkey.c:1941 g10/revoke.c:655 g10/revoke.c:720
+#: g10/getkey.c:2085 g10/revoke.c:655 g10/revoke.c:720
 #, fuzzy, c-format
 msgid "secret key \"%s\" not found: %s\n"
 msgstr "το μυστικό κλειδί `%s' δε βρέθηκε: %s\n"
 
-#: g10/getkey.c:1944 g10/pkclist.c:988
+#: g10/getkey.c:2088 g10/pkclist.c:988
 #, fuzzy, c-format
 msgid "(check argument of option '%s')\n"
 msgstr "μη έγκυρες επιλογές ειγαγωγής\n"
 
-#: g10/getkey.c:2020
+#: g10/getkey.c:2164
 #, fuzzy, c-format
 #| msgid "|NAME|use NAME as default secret key"
 msgid "Warning: not using '%s' as default key: %s\n"
 msgstr "|ΟΝΟΜΑ|χρήση ΟΝΟΜΑτος σαν προκαθορισμένο μυστικό κλειδί"
 
-#: g10/getkey.c:2028
+#: g10/getkey.c:2172
 #, fuzzy, c-format
 #| msgid "|NAME|use NAME as default secret key"
 msgid "using \"%s\" as default secret key for signing\n"
 msgstr "|ΟΝΟΜΑ|χρήση ΟΝΟΜΑτος σαν προκαθορισμένο μυστικό κλειδί"
 
-#: g10/getkey.c:2035
+#: g10/getkey.c:2179
 #, c-format
 msgid "all values passed to '%s' ignored\n"
 msgstr ""
 
-#: g10/getkey.c:2880
+#: g10/getkey.c:3024
 #, fuzzy, c-format
 msgid "Invalid key %s made valid by --allow-non-selfsigned-uid\n"
 msgstr ""
 "Μη έγκυρο κλειδί %08lX έγινε έγκυρο από το --allow-non-selfsigned-uid\n"
 
-#: g10/getkey.c:3730
+#: g10/getkey.c:3874
 #, fuzzy, c-format
 msgid "using subkey %s instead of primary key %s\n"
 msgstr "χρήση του δευτερεύοντος κλειδιού %08lX αντί του πρωτεύοντος %08lX\n"
 
-#: g10/getkey.c:4275 g10/gpg.c:2107
+#: g10/getkey.c:4446 g10/gpg.c:2120
 #, fuzzy, c-format
 msgid "valid values for option '%s':\n"
 msgstr "μη έγκυρες επιλογές ειγαγωγής\n"
 
-#: g10/gpg.c:442 sm/gpgsm.c:206
+#: g10/gpg.c:439 sm/gpgsm.c:207
 #, fuzzy
 msgid "make a signature"
 msgstr "δημιουργία μιας μη προσαρτημένης υπογραφής"
 
-#: g10/gpg.c:443
+#: g10/gpg.c:440
 #, fuzzy
 msgid "make a clear text signature"
 msgstr "|[αρχείο]|δημιουργία μιας μη κρυπτογραφημένης υπογραφής"
 
-#: g10/gpg.c:445 sm/gpgsm.c:208
+#: g10/gpg.c:442 sm/gpgsm.c:209
 msgid "make a detached signature"
 msgstr "δημιουργία μιας μη προσαρτημένης υπογραφής"
 
-#: g10/gpg.c:446 sm/gpgsm.c:209
+#: g10/gpg.c:443 sm/gpgsm.c:210
 msgid "encrypt data"
 msgstr "κρυπτογράφηση δεδομένων"
 
-#: g10/gpg.c:448
+#: g10/gpg.c:445
 msgid "encryption only with symmetric cipher"
 msgstr "κρυπτογράφηση με χρήση μόνο συμμετρικών αλγορίθμων"
 
-#: g10/gpg.c:450 sm/gpgsm.c:211
+#: g10/gpg.c:447 sm/gpgsm.c:212
 msgid "decrypt data (default)"
 msgstr "αποκρυπτογράφηση δεδομένων (προκαθορισμένο)"
 
-#: g10/gpg.c:452 sm/gpgsm.c:212
+#: g10/gpg.c:449 sm/gpgsm.c:213
 msgid "verify a signature"
 msgstr "επαλήθευση μιας υπογραφής"
 
-#: g10/gpg.c:454 sm/gpgsm.c:213
+#: g10/gpg.c:451 sm/gpgsm.c:214
 msgid "list keys"
 msgstr "απεικόνιση της λίστας κλειδιών"
 
-#: g10/gpg.c:456
+#: g10/gpg.c:453
 msgid "list keys and signatures"
 msgstr "απεικόνιση της λίστας κλειδιών και υπογραφών"
 
-#: g10/gpg.c:459
+#: g10/gpg.c:456
 #, fuzzy
 msgid "list and check key signatures"
 msgstr "έλεγχος υπογραφής κλειδιού"
 
-#: g10/gpg.c:461 sm/gpgsm.c:218
+#: g10/gpg.c:458 sm/gpgsm.c:219
 msgid "list keys and fingerprints"
 msgstr "απεικόνιση της λίστας κλειδιών και αποτυπωμάτων (fingerprints)"
 
-#: g10/gpg.c:462 sm/gpgsm.c:216
+#: g10/gpg.c:459 sm/gpgsm.c:217
 msgid "list secret keys"
 msgstr "απεικόνιση της λίστας μυστικών κλειδιών"
 
-#: g10/gpg.c:464 sm/gpgsm.c:219
+#: g10/gpg.c:461 sm/gpgsm.c:220
 msgid "generate a new key pair"
 msgstr "δημιουργία ενός νέου ζεύγους κλειδιών"
 
-#: g10/gpg.c:467
+#: g10/gpg.c:464
 #, fuzzy
 #| msgid "generate a new key pair"
 msgid "quickly generate a new key pair"
 msgstr "δημιουργία ενός νέου ζεύγους κλειδιών"
 
-#: g10/gpg.c:470
+#: g10/gpg.c:467
 #, fuzzy
 #| msgid "generate a new key pair"
 msgid "quickly add a new user-id"
 msgstr "δημιουργία ενός νέου ζεύγους κλειδιών"
 
-#: g10/gpg.c:475
+#: g10/gpg.c:472
 #, fuzzy
 #| msgid "generate a new key pair"
 msgid "quickly revoke a user-id"
 msgstr "δημιουργία ενός νέου ζεύγους κλειδιών"
 
-#: g10/gpg.c:478
+#: g10/gpg.c:475
 #, fuzzy
 #| msgid "generate a new key pair"
 msgid "quickly set a new expiration date"
 msgstr "δημιουργία ενός νέου ζεύγους κλειδιών"
 
-#: g10/gpg.c:481
+#: g10/gpg.c:478
 msgid "full featured key pair generation"
 msgstr ""
 
-#: g10/gpg.c:484
+#: g10/gpg.c:481
 msgid "generate a revocation certificate"
 msgstr "δημιουργία ενός πιστοποιητικού ανάκλησης"
 
-#: g10/gpg.c:487 sm/gpgsm.c:222
+#: g10/gpg.c:484 sm/gpgsm.c:223
 msgid "remove keys from the public keyring"
 msgstr "αφαίρεση των κλειδιών από τη δημόσια κλειδοθήκη"
 
-#: g10/gpg.c:489
+#: g10/gpg.c:486
 msgid "remove keys from the secret keyring"
 msgstr "αφαίρεση των κλειδιών από τη μυστική κλειδοθήκη"
 
-#: g10/gpg.c:491
+#: g10/gpg.c:488
 #, fuzzy
 #| msgid "sign a key"
 msgid "quickly sign a key"
 msgstr "υπογραφή ενός κλειδιού"
 
-#: g10/gpg.c:493
+#: g10/gpg.c:490
 #, fuzzy
 #| msgid "sign a key locally"
 msgid "quickly sign a key locally"
 msgstr "υπογραφή ενός κλειδιού τοπικά"
 
-#: g10/gpg.c:495
+#: g10/gpg.c:492
 #, fuzzy
 #| msgid "generate a new key pair"
 msgid "quickly revoke a key signature"
 msgstr "δημιουργία ενός νέου ζεύγους κλειδιών"
 
-#: g10/gpg.c:496
+#: g10/gpg.c:493
 msgid "sign a key"
 msgstr "υπογραφή ενός κλειδιού"
 
-#: g10/gpg.c:497
+#: g10/gpg.c:494
 msgid "sign a key locally"
 msgstr "υπογραφή ενός κλειδιού τοπικά"
 
-#: g10/gpg.c:498
+#: g10/gpg.c:495
 msgid "sign or edit a key"
 msgstr "υπογραφή ή επεξεργασία ενός κλειδιού"
 
-#: g10/gpg.c:500 sm/gpgsm.c:240
+#: g10/gpg.c:497 sm/gpgsm.c:241
 #, fuzzy
 msgid "change a passphrase"
 msgstr "αλλαγή της φράσης κλειδί"
 
-#: g10/gpg.c:504
+#: g10/gpg.c:501
 msgid "export keys"
 msgstr "εξαγωγή κλειδιών"
 
-#: g10/gpg.c:505
+#: g10/gpg.c:502
 msgid "export keys to a keyserver"
 msgstr "εξαγωγή κλειδιών σε ένα διακομιστή κλειδιών"
 
-#: g10/gpg.c:506
+#: g10/gpg.c:503
 msgid "import keys from a keyserver"
 msgstr "εισαγωγή κλειδιών από ένα διακομιστή κλειδιών"
 
-#: g10/gpg.c:509
+#: g10/gpg.c:506
 msgid "search for keys on a keyserver"
 msgstr "αναζήτηση κλειδιών σε ένα διακομιστή κλειδιών"
 
-#: g10/gpg.c:511
+#: g10/gpg.c:508
 msgid "update all keys from a keyserver"
 msgstr "ανανέωση όλων των κλειδιών από ένα διακομιστή κλειδιών"
 
-#: g10/gpg.c:519
+#: g10/gpg.c:516
 msgid "import/merge keys"
 msgstr "εισαγωγή/συγχώνευση κλειδιών"
 
-#: g10/gpg.c:522
+#: g10/gpg.c:519
 msgid "print the card status"
 msgstr ""
 
-#: g10/gpg.c:523
+#: g10/gpg.c:520
 msgid "change data on a card"
 msgstr ""
 
-#: g10/gpg.c:525
+#: g10/gpg.c:522
 msgid "change a card's PIN"
 msgstr ""
 
-#: g10/gpg.c:537
+#: g10/gpg.c:534
 msgid "update the trust database"
 msgstr "ανανέωση της βάσης δεδομένων εμπιστοσύνης"
 
-#: g10/gpg.c:546
+#: g10/gpg.c:543
 #, fuzzy
 msgid "print message digests"
 msgstr "|αλγόρ [αρχεία]| απεικόνιση περιλήψεων των μηνυμάτων"
 
-#: g10/gpg.c:549 sm/gpgsm.c:235
+#: g10/gpg.c:546 sm/gpgsm.c:236
 msgid "run in server mode"
 msgstr ""
 
-#: g10/gpg.c:551
+#: g10/gpg.c:548
 msgid "|VALUE|set the TOFU policy for a key"
 msgstr ""
 
-#: g10/gpg.c:555 sm/gpgsm.c:254
+#: g10/gpg.c:552 sm/gpgsm.c:255
 msgid "create ascii armored output"
 msgstr "δημιουργία ascii θωρακισμένης εξόδου"
 
-#: g10/gpg.c:558 sm/gpgsm.c:271
+#: g10/gpg.c:555 sm/gpgsm.c:272
 #, fuzzy
 msgid "|USER-ID|encrypt for USER-ID"
 msgstr "|ΟΝΟΜΑ|κρυπτογράφηση για ΟΝΟΜΑ"
 
-#: g10/gpg.c:574 sm/gpgsm.c:307
+#: g10/gpg.c:571 sm/gpgsm.c:308
 #, fuzzy
 msgid "|USER-ID|use USER-ID to sign or decrypt"
 msgstr "χρήση αυτής της ταυτότητας (user id) για υπογραφή ή αποκρυπτογράφηση"
 
-#: g10/gpg.c:580
+#: g10/gpg.c:577
 #, fuzzy
 msgid "|N|set compress level to N (0 disables)"
 msgstr "|N|καθορισμός επιπέδου συμπίεσης N (0 απενεργοποιεί)"
 
-#: g10/gpg.c:587
+#: g10/gpg.c:584
 msgid "use canonical text mode"
 msgstr "χρήση κανονικής κατάστασης κειμένου"
 
-#: g10/gpg.c:604 g10/gpgv.c:82 sm/gpgsm.c:309
+#: g10/gpg.c:601 g10/gpgv.c:82 sm/gpgsm.c:310
 #, fuzzy
 msgid "|FILE|write output to FILE"
 msgstr "|ΑΡΧΕΙΟ|φόρτωμα του αρθρώματος επέκτασης ΑΡΧΕΙΟ"
 
-#: g10/gpg.c:614 kbx/kbxutil.c:90 sm/gpgsm.c:321 tools/gpgconf.c:110
+#: g10/gpg.c:611 kbx/kbxutil.c:90 sm/gpgsm.c:322 tools/gpgconf.c:110
 msgid "do not make any changes"
 msgstr "να μη γίνει καμμία αλλαγή"
 
-#: g10/gpg.c:615
+#: g10/gpg.c:612
 msgid "prompt before overwriting"
 msgstr "ερώτηση πριν την επικάλυψη"
 
-#: g10/gpg.c:665
+#: g10/gpg.c:662
 msgid "use strict OpenPGP behavior"
 msgstr ""
 
-#: g10/gpg.c:692 sm/gpgsm.c:364
+#: g10/gpg.c:689 sm/gpgsm.c:367
 msgid ""
 "@\n"
 "(See the man page for a complete listing of all commands and options)\n"
@@ -2819,7 +2837,7 @@ msgstr ""
 "@\n"
 "(δείτε τη σελίδα man για μια πλήρη λίστα εντολών και επιλογών)\n"
 
-#: g10/gpg.c:695
+#: g10/gpg.c:692
 #, fuzzy
 #| msgid ""
 #| "@\n"
@@ -2849,13 +2867,13 @@ msgstr ""
 " --list-keys [ονόματα]        απεικόνιση κλειδιών\n"
 " --fingerprint [ονόματα]      απεικόνιση αποτυπωμάτων (fingerprints)\n"
 
-#: g10/gpg.c:1092
+#: g10/gpg.c:1096
 #, fuzzy
 #| msgid "Usage: gpg [options] [files] (-h for help)"
 msgid "Usage: @GPG@ [options] [files] (-h for help)"
 msgstr "Χρήση: gpg [επιλογές] [αρχεία] (-h για βοήθεια)"
 
-#: g10/gpg.c:1095
+#: g10/gpg.c:1099
 #, fuzzy
 #| msgid ""
 #| "Syntax: gpg [options] [files]\n"
@@ -2870,7 +2888,7 @@ msgstr ""
 "υπογραφή, έλεγχος, κρυπτογράφηση ή αποκρυπτογράφηση\n"
 "η προκαθορισμένη λειτουργία εξαρτάται από τα δεδομένα εισόδου\n"
 
-#: g10/gpg.c:1106 sm/gpgsm.c:591
+#: g10/gpg.c:1110 sm/gpgsm.c:594
 msgid ""
 "\n"
 "Supported algorithms:\n"
@@ -2878,553 +2896,553 @@ msgstr ""
 "\n"
 "Υποστηριζόμενοι αλγόριθμοι:\n"
 
-#: g10/gpg.c:1109
+#: g10/gpg.c:1113
 msgid "Pubkey: "
 msgstr "ΔημοσΚλειδί:"
 
-#: g10/gpg.c:1116 g10/keyedit.c:3281
+#: g10/gpg.c:1120 g10/keyedit.c:3282
 msgid "Cipher: "
 msgstr "Κρυπταλγόριθμος: "
 
-#: g10/gpg.c:1123
+#: g10/gpg.c:1127
 msgid "Hash: "
 msgstr "Hash: "
 
-#: g10/gpg.c:1130 g10/keyedit.c:3347
+#: g10/gpg.c:1134 g10/keyedit.c:3348
 msgid "Compression: "
 msgstr "Συμπίεση: "
 
-#: g10/gpg.c:1199 sm/gpgsm.c:665
+#: g10/gpg.c:1207 sm/gpgsm.c:668
 #, fuzzy, c-format
 msgid "usage: %s [options] %s\n"
 msgstr "χρήση: gpg [επιλογές] "
 
-#: g10/gpg.c:1388 sm/gpgsm.c:754
+#: g10/gpg.c:1396 sm/gpgsm.c:761
 #, c-format
 msgid "conflicting commands\n"
 msgstr "συγκρουόμενες εντολές\n"
 
-#: g10/gpg.c:1406
+#: g10/gpg.c:1414
 #, fuzzy, c-format
 msgid "no = sign found in group definition '%s'\n"
 msgstr "δεν βρέθηκε το σύμβολο = στον ορισμό της ομάδας \"%s\"\n"
 
-#: g10/gpg.c:1604
+#: g10/gpg.c:1612
 #, fuzzy, c-format
 msgid "WARNING: unsafe ownership on homedir '%s'\n"
 msgstr "ΠΡΟΕΙΔΟΠΟΙΗΣΗ: μη ασφαλής ιδιοκτησία στο %s \"%s\"\n"
 
-#: g10/gpg.c:1607
+#: g10/gpg.c:1615
 #, fuzzy, c-format
 msgid "WARNING: unsafe ownership on configuration file '%s'\n"
 msgstr "ΠΡΟΕΙΔΟΠΟΙΗΣΗ: μη ασφαλής ιδιοκτησία στο %s \"%s\"\n"
 
-#: g10/gpg.c:1610
+#: g10/gpg.c:1618
 #, fuzzy, c-format
 msgid "WARNING: unsafe ownership on extension '%s'\n"
 msgstr "ΠΡΟΕΙΔΟΠΟΙΗΣΗ: μη ασφαλής ιδιοκτησία στο %s \"%s\"\n"
 
-#: g10/gpg.c:1616
+#: g10/gpg.c:1624
 #, fuzzy, c-format
 msgid "WARNING: unsafe permissions on homedir '%s'\n"
 msgstr "ΠΡΟΕΙΔΟΠΟΙΗΣΗ: μη ασφαλείς άδειες στο %s \"%s\"\n"
 
-#: g10/gpg.c:1619
+#: g10/gpg.c:1627
 #, fuzzy, c-format
 msgid "WARNING: unsafe permissions on configuration file '%s'\n"
 msgstr "ΠΡΟΕΙΔΟΠΟΙΗΣΗ: μη ασφαλείς άδειες στο %s \"%s\"\n"
 
-#: g10/gpg.c:1622
+#: g10/gpg.c:1630
 #, fuzzy, c-format
 msgid "WARNING: unsafe permissions on extension '%s'\n"
 msgstr "ΠΡΟΕΙΔΟΠΟΙΗΣΗ: μη ασφαλείς άδειες στο %s \"%s\"\n"
 
-#: g10/gpg.c:1628
+#: g10/gpg.c:1636
 #, fuzzy, c-format
 msgid "WARNING: unsafe enclosing directory ownership on homedir '%s'\n"
 msgstr ""
 "ΠΡΟΕΙΔΟΠΟΙΗΣΗ: μη ασφαλής ιδιοκτησίαεσώκλειστου φακέλου στο %s \"%s\"\n"
 
-#: g10/gpg.c:1631
+#: g10/gpg.c:1639
 #, fuzzy, c-format
 msgid ""
 "WARNING: unsafe enclosing directory ownership on configuration file '%s'\n"
 msgstr ""
 "ΠΡΟΕΙΔΟΠΟΙΗΣΗ: μη ασφαλής ιδιοκτησίαεσώκλειστου φακέλου στο %s \"%s\"\n"
 
-#: g10/gpg.c:1634
+#: g10/gpg.c:1642
 #, fuzzy, c-format
 msgid "WARNING: unsafe enclosing directory ownership on extension '%s'\n"
 msgstr ""
 "ΠΡΟΕΙΔΟΠΟΙΗΣΗ: μη ασφαλής ιδιοκτησίαεσώκλειστου φακέλου στο %s \"%s\"\n"
 
-#: g10/gpg.c:1640
+#: g10/gpg.c:1648
 #, fuzzy, c-format
 msgid "WARNING: unsafe enclosing directory permissions on homedir '%s'\n"
 msgstr "ΠΡΟΕΙΔΟΠΟΙΗΣΗ: μη ασφαλείς άδειες εσώκλειστου φακέλου στο %s \"%s\"\n"
 
-#: g10/gpg.c:1643
+#: g10/gpg.c:1651
 #, fuzzy, c-format
 msgid ""
 "WARNING: unsafe enclosing directory permissions on configuration file '%s'\n"
 msgstr "ΠΡΟΕΙΔΟΠΟΙΗΣΗ: μη ασφαλείς άδειες εσώκλειστου φακέλου στο %s \"%s\"\n"
 
-#: g10/gpg.c:1646
+#: g10/gpg.c:1654
 #, fuzzy, c-format
 msgid "WARNING: unsafe enclosing directory permissions on extension '%s'\n"
 msgstr "ΠΡΟΕΙΔΟΠΟΙΗΣΗ: μη ασφαλείς άδειες εσώκλειστου φακέλου στο %s \"%s\"\n"
 
-#: g10/gpg.c:1862
+#: g10/gpg.c:1870
 #, fuzzy, c-format
 msgid "unknown configuration item '%s'\n"
 msgstr "άγνωστο αντικείμενο ρυθμίσεως \"%s\"\n"
 
-#: g10/gpg.c:1979
+#: g10/gpg.c:1992
 msgid "display photo IDs during key listings"
 msgstr ""
 
-#: g10/gpg.c:1981
+#: g10/gpg.c:1994
 #, fuzzy
 msgid "show key usage information during key listings"
 msgstr "Δεν βρέθηκε αντίστοιχη υπογραφή στη μυστική κλειδοθήκη\n"
 
-#: g10/gpg.c:1983
+#: g10/gpg.c:1996
 msgid "show policy URLs during signature listings"
 msgstr ""
 
-#: g10/gpg.c:1985
+#: g10/gpg.c:1998
 #, fuzzy
 msgid "show all notations during signature listings"
 msgstr "Δεν βρέθηκε αντίστοιχη υπογραφή στη μυστική κλειδοθήκη\n"
 
-#: g10/gpg.c:1987
+#: g10/gpg.c:2000
 msgid "show IETF standard notations during signature listings"
 msgstr ""
 
-#: g10/gpg.c:1991
+#: g10/gpg.c:2004
 msgid "show user-supplied notations during signature listings"
 msgstr ""
 
-#: g10/gpg.c:1993
+#: g10/gpg.c:2006
 #, fuzzy
 msgid "show preferred keyserver URLs during signature listings"
 msgstr "το URL πολιτικής υπογραφής που δόθηκε δεν είναι έγκυρο\n"
 
-#: g10/gpg.c:1995
+#: g10/gpg.c:2008
 msgid "show user ID validity during key listings"
 msgstr ""
 
-#: g10/gpg.c:1997
+#: g10/gpg.c:2010
 msgid "show revoked and expired user IDs in key listings"
 msgstr ""
 
-#: g10/gpg.c:1999
+#: g10/gpg.c:2012
 msgid "show revoked and expired subkeys in key listings"
 msgstr ""
 
-#: g10/gpg.c:2001
+#: g10/gpg.c:2014
 #, fuzzy
 msgid "show the keyring name in key listings"
 msgstr "απεικόνιση της κλειδοθήκης στην οποία αναφέρετε το κλειδί"
 
-#: g10/gpg.c:2003
+#: g10/gpg.c:2016
 #, fuzzy
 msgid "show expiration dates during signature listings"
 msgstr "Δεν βρέθηκε αντίστοιχη υπογραφή στη μυστική κλειδοθήκη\n"
 
-#: g10/gpg.c:2118
+#: g10/gpg.c:2131
 #, fuzzy, c-format
 msgid "unknown TOFU policy '%s'\n"
 msgstr "άγνωστος προκαθορισμένος παραλήπτης `%s'\n"
 
-#: g10/gpg.c:2120
+#: g10/gpg.c:2133
 #, c-format
 msgid "(use \"help\" to list choices)\n"
 msgstr ""
 
-#: g10/gpg.c:2840 g10/gpg.c:3671 g10/gpg.c:3683
+#: g10/gpg.c:2856 g10/gpg.c:3691 g10/gpg.c:3703
 #, fuzzy, c-format
 #| msgid "NOTE: %s is not for normal use!\n"
 msgid "Note: %s is not for normal use!\n"
 msgstr "ΣΗΜΕΙΩΣΗ: το %s δεν είναι για κανονική χρήση!\n"
 
-#: g10/gpg.c:3017 g10/gpg.c:3029
+#: g10/gpg.c:3033 g10/gpg.c:3045
 #, fuzzy, c-format
 msgid "'%s' is not a valid signature expiration\n"
 msgstr "το %s δεν είναι έγκυρο σετ χαρακτήρων\n"
 
-#: g10/gpg.c:3051
+#: g10/gpg.c:3067
 #, fuzzy, c-format
 msgid "\"%s\" is not a proper mail address\n"
 msgstr "Μη έγκυρη διεύθυνση Email\n"
 
-#: g10/gpg.c:3083 sm/gpgsm.c:1177
+#: g10/gpg.c:3099 sm/gpgsm.c:1091
 #, fuzzy, c-format
 msgid "invalid pinentry mode '%s'\n"
 msgstr "μη έγκυρος αλγόριθμος  hash `%s'\n"
 
-#: g10/gpg.c:3089 sm/gpgsm.c:1183
+#: g10/gpg.c:3105 sm/gpgsm.c:1097
 #, fuzzy, c-format
 msgid "invalid request origin '%s'\n"
 msgstr "μη έγκυρες επιλογές ειγαγωγής\n"
 
-#: g10/gpg.c:3143
+#: g10/gpg.c:3159
 #, fuzzy, c-format
 msgid "'%s' is not a valid character set\n"
 msgstr "το %s δεν είναι έγκυρο σετ χαρακτήρων\n"
 
-#: g10/gpg.c:3165 g10/gpg.c:3375 g10/keyedit.c:5281
+#: g10/gpg.c:3181 g10/gpg.c:3395 g10/keyedit.c:5282
 #, fuzzy, c-format
 msgid "could not parse keyserver URL\n"
 msgstr "αδυναμία επεξεργασίας του URI του διακομιση κλειδιών\n"
 
-#: g10/gpg.c:3183
+#: g10/gpg.c:3199
 #, fuzzy, c-format
 msgid "%s:%d: invalid keyserver options\n"
 msgstr "%s:%d: μη έγκυρες επιλογές εξαγωγής\n"
 
-#: g10/gpg.c:3186
+#: g10/gpg.c:3202
 #, fuzzy, c-format
 msgid "invalid keyserver options\n"
 msgstr "μη έγκυρες επιλογές εξαγωγής\n"
 
-#: g10/gpg.c:3193
+#: g10/gpg.c:3209
 #, c-format
 msgid "%s:%d: invalid import options\n"
 msgstr "%s:%d: μη έγκυρες επιλογές ειγαγωγής\n"
 
-#: g10/gpg.c:3196
+#: g10/gpg.c:3212
 #, c-format
 msgid "invalid import options\n"
 msgstr "μη έγκυρες επιλογές ειγαγωγής\n"
 
-#: g10/gpg.c:3202 g10/gpg.c:3217
+#: g10/gpg.c:3218 g10/gpg.c:3233
 #, fuzzy, c-format
 msgid "invalid filter option: %s\n"
 msgstr "μη έγκυρες επιλογές ειγαγωγής\n"
 
-#: g10/gpg.c:3208
+#: g10/gpg.c:3224
 #, c-format
 msgid "%s:%d: invalid export options\n"
 msgstr "%s:%d: μη έγκυρες επιλογές εξαγωγής\n"
 
-#: g10/gpg.c:3211
+#: g10/gpg.c:3227
 #, c-format
 msgid "invalid export options\n"
 msgstr "μη έγκυρες επιλογές εξαγωγής\n"
 
-#: g10/gpg.c:3223
+#: g10/gpg.c:3239
 #, fuzzy, c-format
 msgid "%s:%d: invalid list options\n"
 msgstr "%s:%d: μη έγκυρες επιλογές ειγαγωγής\n"
 
-#: g10/gpg.c:3226
+#: g10/gpg.c:3242
 #, fuzzy, c-format
 msgid "invalid list options\n"
 msgstr "μη έγκυρες επιλογές ειγαγωγής\n"
 
-#: g10/gpg.c:3234
+#: g10/gpg.c:3250
 msgid "display photo IDs during signature verification"
 msgstr ""
 
-#: g10/gpg.c:3236
+#: g10/gpg.c:3252
 msgid "show policy URLs during signature verification"
 msgstr ""
 
-#: g10/gpg.c:3238
+#: g10/gpg.c:3254
 #, fuzzy
 msgid "show all notations during signature verification"
 msgstr "το %s δεν είναι έγκυρο σετ χαρακτήρων\n"
 
-#: g10/gpg.c:3240
+#: g10/gpg.c:3256
 msgid "show IETF standard notations during signature verification"
 msgstr ""
 
-#: g10/gpg.c:3244
+#: g10/gpg.c:3260
 msgid "show user-supplied notations during signature verification"
 msgstr ""
 
-#: g10/gpg.c:3246
+#: g10/gpg.c:3262
 #, fuzzy
 msgid "show preferred keyserver URLs during signature verification"
 msgstr "το URL πολιτικής υπογραφής που δόθηκε δεν είναι έγκυρο\n"
 
-#: g10/gpg.c:3248
+#: g10/gpg.c:3264
 #, fuzzy
 msgid "show user ID validity during signature verification"
 msgstr "το %s δεν είναι έγκυρο σετ χαρακτήρων\n"
 
-#: g10/gpg.c:3250
+#: g10/gpg.c:3266
 msgid "show revoked and expired user IDs in signature verification"
 msgstr ""
 
-#: g10/gpg.c:3252
+#: g10/gpg.c:3268
 #, fuzzy
 msgid "show only the primary user ID in signature verification"
 msgstr "το %s δεν είναι έγκυρο σετ χαρακτήρων\n"
 
-#: g10/gpg.c:3254
+#: g10/gpg.c:3270
 msgid "validate signatures with PKA data"
 msgstr ""
 
-#: g10/gpg.c:3256
+#: g10/gpg.c:3272
 msgid "elevate the trust of signatures with valid PKA data"
 msgstr ""
 
-#: g10/gpg.c:3263
+#: g10/gpg.c:3279
 #, fuzzy, c-format
 msgid "%s:%d: invalid verify options\n"
 msgstr "%s:%d: μη έγκυρες επιλογές εξαγωγής\n"
 
-#: g10/gpg.c:3266
+#: g10/gpg.c:3282
 #, fuzzy, c-format
 msgid "invalid verify options\n"
 msgstr "μη έγκυρες επιλογές εξαγωγής\n"
 
-#: g10/gpg.c:3273
+#: g10/gpg.c:3289
 #, c-format
 msgid "unable to set exec-path to %s\n"
 msgstr "αδυναμία ορισμού του exec-path σε %s\n"
 
-#: g10/gpg.c:3478
+#: g10/gpg.c:3498
 #, fuzzy, c-format
 msgid "%s:%d: invalid auto-key-locate list\n"
 msgstr "%s:%d: μη έγκυρες επιλογές εξαγωγής\n"
 
-#: g10/gpg.c:3481
+#: g10/gpg.c:3501
 #, c-format
 msgid "invalid auto-key-locate list\n"
 msgstr ""
 
-#: g10/gpg.c:3653 sm/gpgsm.c:1541
+#: g10/gpg.c:3673 sm/gpgsm.c:1441
 #, c-format
 msgid "WARNING: program may create a core file!\n"
 msgstr "ΠΡΟΕΙΔΟΠΟΙΗΣΗ: το πρόγραμμα ίσως δημιουργήσει αρχείο core!\n"
 
-#: g10/gpg.c:3664
+#: g10/gpg.c:3684
 #, c-format
 msgid "WARNING: %s overrides %s\n"
 msgstr "ΠΡΟΕΙΔΟΠΟΙΗΣΗ: το %s παρακάμπτει το %s\n"
 
-#: g10/gpg.c:3673
+#: g10/gpg.c:3693
 #, c-format
 msgid "%s not allowed with %s!\n"
 msgstr "το %s δεν επιτρέπεται με το %s!\n"
 
-#: g10/gpg.c:3676
+#: g10/gpg.c:3696
 #, c-format
 msgid "%s makes no sense with %s!\n"
 msgstr "το %s δεν έχει καμμία έννοια μαζί με το %s!\n"
 
-#: g10/gpg.c:3691 sm/gpgsm.c:1558 dirmngr/dirmngr.c:1082
+#: g10/gpg.c:3711 sm/gpgsm.c:1458 dirmngr/dirmngr.c:1117
 #, c-format
 msgid "WARNING: running with faked system time: "
 msgstr ""
 
-#: g10/gpg.c:3712
+#: g10/gpg.c:3732
 #, fuzzy, c-format
 msgid "will not run with insecure memory due to %s\n"
 msgstr "εγγραφή του μυστικού κλειδιού στο `%s'\n"
 
-#: g10/gpg.c:3747 g10/gpg.c:3771 sm/gpgsm.c:1625
+#: g10/gpg.c:3767 g10/gpg.c:3791 sm/gpgsm.c:1525
 #, c-format
 msgid "selected cipher algorithm is invalid\n"
 msgstr "ο επιλεγμένος αλγόριθμος κρυπτογράφησης δεν είναι έγκυρος\n"
 
-#: g10/gpg.c:3759
+#: g10/gpg.c:3779
 #, fuzzy, c-format
 msgid "selected compression algorithm is invalid\n"
 msgstr "ο επιλεγμένος αλγόριθμος κρυπτογράφησης δεν είναι έγκυρος\n"
 
-#: g10/gpg.c:3765
+#: g10/gpg.c:3785
 #, c-format
 msgid "selected certification digest algorithm is invalid\n"
 msgstr ""
 "ο επιλεγμένος αλγόριθμος περίληψης για πιστοποίηση\n"
 "δεν είναι έγκυρος\n"
 
-#: g10/gpg.c:3780
+#: g10/gpg.c:3800
 #, c-format
 msgid "completes-needed must be greater than 0\n"
 msgstr "completes-needed πρέπει να είναι μεγαλύτερα από 0\n"
 
-#: g10/gpg.c:3782
+#: g10/gpg.c:3802
 #, c-format
 msgid "marginals-needed must be greater than 1\n"
 msgstr "marginals-needed πρέπει να είναι μεγαλύτερα από 1\n"
 
-#: g10/gpg.c:3784
+#: g10/gpg.c:3804
 #, fuzzy, c-format
 msgid "max-cert-depth must be in the range from 1 to 255\n"
 msgstr "max-cert-depth πρέπει να είναι μεταξύ 1 και 255\n"
 
-#: g10/gpg.c:3786
+#: g10/gpg.c:3806
 #, c-format
 msgid "invalid default-cert-level; must be 0, 1, 2, or 3\n"
 msgstr "μη έγκυρο default-cert-level· πρέπει να είναι 0, 1, 2, ή 3\n"
 
-#: g10/gpg.c:3788
+#: g10/gpg.c:3808
 #, c-format
 msgid "invalid min-cert-level; must be 1, 2, or 3\n"
 msgstr "μη έγκυρο min-cert-level· πρέπει να είναι 0, 1, 2, ή 3\n"
 
-#: g10/gpg.c:3791
+#: g10/gpg.c:3812
 #, fuzzy, c-format
 #| msgid "NOTE: simple S2K mode (0) is strongly discouraged\n"
 msgid "Note: simple S2K mode (0) is strongly discouraged\n"
 msgstr "ΣΗΜΕΙΩΣΗ: η απλή S2K κατάσταση (0) πρέπει να αποφεύγεται\n"
 
-#: g10/gpg.c:3795
+#: g10/gpg.c:3816
 #, c-format
 msgid "invalid S2K mode; must be 0, 1 or 3\n"
 msgstr "μη έγκυρη κατάσταση S2K; πρέπει να είναι 0, 1 ή 3\n"
 
-#: g10/gpg.c:3802
+#: g10/gpg.c:3823
 #, c-format
 msgid "invalid default preferences\n"
 msgstr "μη έγκυρες προεπιλογές\n"
 
-#: g10/gpg.c:3806
+#: g10/gpg.c:3827
 #, c-format
 msgid "invalid personal cipher preferences\n"
 msgstr "μη έγκυρες προεπιλογές προσωπικού κρυπταλγόριθμου\n"
 
-#: g10/gpg.c:3810
+#: g10/gpg.c:3831
 #, c-format
 msgid "invalid personal digest preferences\n"
 msgstr "μη έγκυρες προεπιλογές προσωπικού αλγόριθμου περίληψης\n"
 
-#: g10/gpg.c:3814
+#: g10/gpg.c:3835
 #, c-format
 msgid "invalid personal compress preferences\n"
 msgstr "μη έγκυρες προεπιλογές προσωπικού αλγόριθμου συμπίεσης\n"
 
-#: g10/gpg.c:3850
+#: g10/gpg.c:3871
 #, c-format
 msgid "%s does not yet work with %s\n"
 msgstr "το %s ακόμα δε λειτουργεί μαζί με το %s\n"
 
-#: g10/gpg.c:3913
+#: g10/gpg.c:3934
 #, fuzzy, c-format
 msgid "compression algorithm '%s' may not be used in %s mode\n"
 msgstr ""
 "απαγορεύετε η χρήση του αλγόριθμου συμπίεσης \"%s\" στην κατάσταση %s\n"
 
-#: g10/gpg.c:4057
+#: g10/gpg.c:4078
 #, c-format
 msgid "failed to initialize the TrustDB: %s\n"
 msgstr "αποτυχία αρχικοποίησης της TrustDB: %s\n"
 
-#: g10/gpg.c:4069
+#: g10/gpg.c:4090
 #, c-format
 msgid "WARNING: recipients (-r) given without using public key encryption\n"
 msgstr ""
 "ΠΡΟΕΙΔΟΠΟΙΗΣΗ: δώθηκαν παραλήπτες (-r) χώρις χρήση κρυπτογράφησης\n"
 "δημοσίου κλειδιού\n"
 
-#: g10/gpg.c:4141
+#: g10/gpg.c:4162
 #, fuzzy, c-format
 msgid "symmetric encryption of '%s' failed: %s\n"
 msgstr "αποκρυπτογράφηση απέτυχε: %s\n"
 
-#: g10/gpg.c:4170
+#: g10/gpg.c:4191
 #, c-format
 msgid "you cannot use --symmetric --encrypt with --s2k-mode 0\n"
 msgstr ""
 
-#: g10/gpg.c:4173
+#: g10/gpg.c:4194
 #, fuzzy, c-format
 msgid "you cannot use --symmetric --encrypt in %s mode\n"
 msgstr "απαγορεύετε η χρήση του %s στην κατάσταση %s.\n"
 
-#: g10/gpg.c:4231
+#: g10/gpg.c:4252
 #, c-format
 msgid "you cannot use --symmetric --sign --encrypt with --s2k-mode 0\n"
 msgstr ""
 
-#: g10/gpg.c:4234
+#: g10/gpg.c:4255
 #, fuzzy, c-format
 msgid "you cannot use --symmetric --sign --encrypt in %s mode\n"
 msgstr "απαγορεύετε η χρήση του %s στην κατάσταση %s.\n"
 
-#: g10/gpg.c:4622 g10/keyserver.c:1881
+#: g10/gpg.c:4643 g10/keyserver.c:1648
 #, c-format
 msgid "keyserver send failed: %s\n"
 msgstr "keyserver αποστολή απέτυχε: %s\n"
 
-#: g10/gpg.c:4627
+#: g10/gpg.c:4648
 #, c-format
 msgid "keyserver receive failed: %s\n"
 msgstr "keyserver λήψη απέτυχε: %s\n"
 
-#: g10/gpg.c:4633
+#: g10/gpg.c:4654
 #, c-format
 msgid "key export failed: %s\n"
 msgstr "εξαγωγή κλειδιού απέτυχε: %s\n"
 
-#: g10/gpg.c:4646
+#: g10/gpg.c:4667
 #, fuzzy, c-format
 #| msgid "key export failed: %s\n"
 msgid "export as ssh key failed: %s\n"
 msgstr "εξαγωγή κλειδιού απέτυχε: %s\n"
 
-#: g10/gpg.c:4658
+#: g10/gpg.c:4679
 #, c-format
 msgid "keyserver search failed: %s\n"
 msgstr "keyserver αναζήτηση απέτυχε: %s\n"
 
-#: g10/gpg.c:4671
+#: g10/gpg.c:4692
 #, c-format
 msgid "keyserver refresh failed: %s\n"
 msgstr "keyserver ανανέωση απέτυχε: %s\n"
 
-#: g10/gpg.c:4738
+#: g10/gpg.c:4759
 #, c-format
 msgid "dearmoring failed: %s\n"
 msgstr "αποθωράκιση απέτυχε: %s\n"
 
-#: g10/gpg.c:4749
+#: g10/gpg.c:4770
 #, c-format
 msgid "enarmoring failed: %s\n"
 msgstr "θωράκιση απέτυχε: %s\n"
 
-#: g10/gpg.c:4841
+#: g10/gpg.c:4862
 #, fuzzy, c-format
 #| msgid "invalid hash algorithm `%s'\n"
 msgid "invalid hash algorithm '%s'\n"
 msgstr "μη έγκυρος αλγόριθμος  hash `%s'\n"
 
-#: g10/gpg.c:4993 g10/tofu.c:2153
+#: g10/gpg.c:5014 g10/tofu.c:2153
 #, fuzzy, c-format
 msgid "error parsing key specification '%s': %s\n"
 msgstr "σφάλμα στη δημιουργία της φράσης κλειδί: %s\n"
 
-#: g10/gpg.c:5006
+#: g10/gpg.c:5027
 #, c-format
 msgid "'%s' does not appear to be a valid key ID, fingerprint or keygrip\n"
 msgstr ""
 
-#: g10/gpg.c:5062
+#: g10/gpg.c:5083
 #, c-format
 msgid "WARNING: no command supplied.  Trying to guess what you mean ...\n"
 msgstr ""
 
-#: g10/gpg.c:5073
+#: g10/gpg.c:5094
 #, c-format
 msgid "Go ahead and type your message ...\n"
 msgstr "Μπορείτε τώρα να εισαγάγετε το μήνυμα σας ...\n"
 
-#: g10/gpg.c:5418
+#: g10/gpg.c:5439
 #, c-format
 msgid "the given certification policy URL is invalid\n"
 msgstr "το URL πολιτικής πιστοποιητικού που δόθηκε δεν είναι έγκυρο\n"
 
-#: g10/gpg.c:5420
+#: g10/gpg.c:5441
 #, c-format
 msgid "the given signature policy URL is invalid\n"
 msgstr "το URL πολιτικής υπογραφής που δόθηκε δεν είναι έγκυρο\n"
 
-#: g10/gpg.c:5453
+#: g10/gpg.c:5474
 #, fuzzy, c-format
 msgid "the given preferred keyserver URL is invalid\n"
 msgstr "το URL πολιτικής υπογραφής που δόθηκε δεν είναι έγκυρο\n"
@@ -3438,7 +3456,7 @@ msgstr "εξαγωγή των κλειδιών από αυτή τη κλειδο
 msgid "make timestamp conflicts only a warning"
 msgstr "ορισμός των συγκρούσεων ώρας (timestamp) μόνο σαν προειδοποίηση"
 
-#: g10/gpgv.c:86 sm/gpgsm.c:354 tools/gpgconf.c:112
+#: g10/gpgv.c:86 sm/gpgsm.c:357 tools/gpgconf.c:112
 msgid "|FD|write status info to this FD"
 msgstr "|FD|εγγραφή των πληροφοριών κατάστασης στο FD"
 
@@ -3522,266 +3540,266 @@ msgstr ""
 msgid "repair keys on import"
 msgstr "απεικόνιση του fingerprint"
 
-#: g10/import.c:380 g10/import.c:699
+#: g10/import.c:392 g10/import.c:711
 #, c-format
 msgid "skipping block of type %d\n"
 msgstr "παράλειψη τμήματος του τύπου %d\n"
 
-#: g10/import.c:716
+#: g10/import.c:728
 #, fuzzy, c-format
 msgid "%lu keys processed so far\n"
 msgstr "%lu κλειδιά έχουν μέχρι τώρα επεξεργαστεί\n"
 
-#: g10/import.c:802
+#: g10/import.c:814
 #, c-format
 msgid "Total number processed: %lu\n"
 msgstr "Συνολικός αριθμός που επεξεργάστηκαν: %lu\n"
 
-#: g10/import.c:805
+#: g10/import.c:817
 #, fuzzy, c-format
 #| msgid "      skipped new keys: %lu\n"
 msgid "    skipped PGP-2 keys: %lu\n"
 msgstr "      νέα κλειδιά που παραλείφθηκαν: %lu\n"
 
-#: g10/import.c:807
+#: g10/import.c:819
 #, c-format
 msgid "      skipped new keys: %lu\n"
 msgstr "      νέα κλειδιά που παραλείφθηκαν: %lu\n"
 
-#: g10/import.c:810
+#: g10/import.c:822
 #, c-format
 msgid "          w/o user IDs: %lu\n"
 msgstr "          χωρίς user ID: %lu\n"
 
-#: g10/import.c:813 sm/import.c:130
+#: g10/import.c:825 sm/import.c:130
 #, c-format
 msgid "              imported: %lu"
 msgstr "              εισαχθέντα: %lu"
 
-#: g10/import.c:817 sm/import.c:134
+#: g10/import.c:829 sm/import.c:134
 #, c-format
 msgid "             unchanged: %lu\n"
 msgstr "             αμετάβλητα: %lu\n"
 
-#: g10/import.c:819
+#: g10/import.c:831
 #, c-format
 msgid "          new user IDs: %lu\n"
 msgstr "          νέα user ID: %lu\n"
 
-#: g10/import.c:821
+#: g10/import.c:833
 #, c-format
 msgid "           new subkeys: %lu\n"
 msgstr "           νέα υποκλειδιά: %lu\n"
 
-#: g10/import.c:823
+#: g10/import.c:835
 #, c-format
 msgid "        new signatures: %lu\n"
 msgstr "        νέες υπογραφές: %lu\n"
 
-#: g10/import.c:825
+#: g10/import.c:837
 #, c-format
 msgid "   new key revocations: %lu\n"
 msgstr "   νέες ανακλήσεις κλειδιών: %lu\n"
 
-#: g10/import.c:827 sm/import.c:136
+#: g10/import.c:839 sm/import.c:136
 #, c-format
 msgid "      secret keys read: %lu\n"
 msgstr "      αναγνωσμένα μυστικά κλειδιά: %lu\n"
 
-#: g10/import.c:829 sm/import.c:138
+#: g10/import.c:841 sm/import.c:138
 #, c-format
 msgid "  secret keys imported: %lu\n"
 msgstr "  εισαχθέντα μυστικά κλειδιά: %lu\n"
 
-#: g10/import.c:831 sm/import.c:140
+#: g10/import.c:843 sm/import.c:140
 #, c-format
 msgid " secret keys unchanged: %lu\n"
 msgstr " αμετάβλητα μυστικά κλειδιά: %lu\n"
 
-#: g10/import.c:833 sm/import.c:142
+#: g10/import.c:845 sm/import.c:142
 #, c-format
 msgid "          not imported: %lu\n"
 msgstr "          μη  εισαχθέντα: %lu\n"
 
-#: g10/import.c:835
+#: g10/import.c:847
 #, fuzzy, c-format
 msgid "    signatures cleaned: %lu\n"
 msgstr "        νέες υπογραφές: %lu\n"
 
-#: g10/import.c:837
+#: g10/import.c:849
 #, fuzzy, c-format
 msgid "      user IDs cleaned: %lu\n"
 msgstr "      αναγνωσμένα μυστικά κλειδιά: %lu\n"
 
-#: g10/import.c:1264
+#: g10/import.c:1276
 #, c-format
 msgid ""
 "WARNING: key %s contains preferences for unavailable\n"
 "algorithms on these user IDs:\n"
 msgstr ""
 
-#: g10/import.c:1306
+#: g10/import.c:1318
 #, c-format
 msgid "         \"%s\": preference for cipher algorithm %s\n"
 msgstr ""
 
-#: g10/import.c:1321
+#: g10/import.c:1333
 #, fuzzy, c-format
 msgid "         \"%s\": preference for digest algorithm %s\n"
 msgstr "%s υπογραφή, αλγόριθμος περίληψης %s\n"
 
-#: g10/import.c:1333
+#: g10/import.c:1345
 #, c-format
 msgid "         \"%s\": preference for compression algorithm %s\n"
 msgstr ""
 
-#: g10/import.c:1346
+#: g10/import.c:1358
 #, c-format
 msgid "it is strongly suggested that you update your preferences and\n"
 msgstr ""
 
-#: g10/import.c:1348
+#: g10/import.c:1360
 #, c-format
 msgid "re-distribute this key to avoid potential algorithm mismatch problems\n"
 msgstr ""
 
-#: g10/import.c:1373
+#: g10/import.c:1385
 #, c-format
 msgid "you can update your preferences with: gpg --edit-key %s updpref save\n"
 msgstr ""
 
-#: g10/import.c:1887 g10/import.c:3001
+#: g10/import.c:1899 g10/import.c:3013
 #, fuzzy, c-format
 msgid "key %s: no user ID\n"
 msgstr "κλειδί %08lX: δεν υπάρχει αυτό το user ID\n"
 
-#: g10/import.c:1893
+#: g10/import.c:1905
 #, fuzzy, c-format
 msgid "key %s: %s\n"
 msgstr "παραλείφθηκε `%s': %s\n"
 
-#: g10/import.c:1894 g10/import.c:2973
+#: g10/import.c:1906 g10/import.c:2985
 msgid "rejected by import screener"
 msgstr ""
 
-#: g10/import.c:1938
+#: g10/import.c:1950
 #, fuzzy, c-format
 msgid "key %s: PKS subkey corruption repaired\n"
 msgstr "κλειδί %08lX: επιδιόρθωση φθαρμένου υποκλειδιού HKP\n"
 
-#: g10/import.c:1959
+#: g10/import.c:1971
 #, fuzzy, c-format
 msgid "key %s: accepted non self-signed user ID \"%s\"\n"
 msgstr "κλειδί %08lX: δεκτό μη ιδιο-υπογεγραμμένο user ID '%s'\n"
 
-#: g10/import.c:1969 g10/import.c:2000
+#: g10/import.c:1981 g10/import.c:2012
 #, fuzzy, c-format
 msgid "key %s: no valid user IDs\n"
 msgstr "κλειδί %08lX: δεν έχει έγκυρα user ID\n"
 
-#: g10/import.c:1971
+#: g10/import.c:1983
 #, c-format
 msgid "this may be caused by a missing self-signature\n"
 msgstr "αυτό μπορεί να συνέβει από μια απούσα ιδιοϋπογραφή\n"
 
-#: g10/import.c:2050 g10/import.c:3387
+#: g10/import.c:2062 g10/import.c:3399
 #, fuzzy, c-format
 msgid "key %s: public key not found: %s\n"
 msgstr "κλειδί %08lX: μυστικό κλειδί που δε βρέθηκε: %s\n"
 
-#: g10/import.c:2056
+#: g10/import.c:2068
 #, fuzzy, c-format
 msgid "key %s: new key - skipped\n"
 msgstr "κλειδί %08lX:  νέο κλειδί - παραλείφθηκε\n"
 
-#: g10/import.c:2068
+#: g10/import.c:2080
 #, c-format
 msgid "no writable keyring found: %s\n"
 msgstr "δεν βρεθηκε εγγράψιμη κλειδοθήκη: %s\n"
 
-#: g10/import.c:2100 g10/import.c:2202 g10/import.c:3464
+#: g10/import.c:2112 g10/import.c:2214 g10/import.c:3476
 #, fuzzy, c-format
 #| msgid "error writing keyring `%s': %s\n"
 msgid "error writing keyring '%s': %s\n"
 msgstr "αδυναμία εγγραφής της κλειδοθήκης `%s': %s\n"
 
-#: g10/import.c:2123
+#: g10/import.c:2135
 #, fuzzy, c-format
 msgid "key %s: public key \"%s\" imported\n"
 msgstr "κλειδί %08lX: το δημόσιο κλειδί \"%s\" έχει εισαχθεί\n"
 
-#: g10/import.c:2150
+#: g10/import.c:2162
 #, fuzzy, c-format
 msgid "key %s: doesn't match our copy\n"
 msgstr "κλειδί %08lX: δεν ταιριάζει με το αντίγραφο μας\n"
 
-#: g10/import.c:2218
+#: g10/import.c:2230
 #, fuzzy, c-format
 msgid "key %s: \"%s\" 1 new user ID\n"
 msgstr "κλειδί %08lX: \"%s\" 1 νέο user ID\n"
 
-#: g10/import.c:2221
+#: g10/import.c:2233
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d new user IDs\n"
 msgstr "κλειδί %08lX: \"%s\" %d νέα user ID\n"
 
-#: g10/import.c:2224
+#: g10/import.c:2236
 #, fuzzy, c-format
 msgid "key %s: \"%s\" 1 new signature\n"
 msgstr "κλειδί %08lX: \"%s\" 1 νέα υπογραφή\n"
 
-#: g10/import.c:2227
+#: g10/import.c:2239
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d new signatures\n"
 msgstr "κλειδί %08lX: \"%s\" %d νέες υπογραφές\n"
 
-#: g10/import.c:2230
+#: g10/import.c:2242
 #, fuzzy, c-format
 msgid "key %s: \"%s\" 1 new subkey\n"
 msgstr "κλειδί %08lX: \"%s\" 1 νέο υποκλειδί\n"
 
-#: g10/import.c:2233
+#: g10/import.c:2245
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d new subkeys\n"
 msgstr "κλειδί %08lX: \"%s\" %d νέα υποκλειδιά\n"
 
-#: g10/import.c:2236
+#: g10/import.c:2248
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d signature cleaned\n"
 msgstr "κλειδί %08lX: \"%s\" %d νέες υπογραφές\n"
 
-#: g10/import.c:2239
+#: g10/import.c:2251
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d signatures cleaned\n"
 msgstr "κλειδί %08lX: \"%s\" %d νέες υπογραφές\n"
 
-#: g10/import.c:2242
+#: g10/import.c:2254
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d user ID cleaned\n"
 msgstr "κλειδί %08lX: \"%s\" %d νέα user ID\n"
 
-#: g10/import.c:2245
+#: g10/import.c:2257
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d user IDs cleaned\n"
 msgstr "κλειδί %08lX: \"%s\" %d νέα user ID\n"
 
-#: g10/import.c:2281
+#: g10/import.c:2293
 #, fuzzy, c-format
 msgid "key %s: \"%s\" not changed\n"
 msgstr "κλειδί %08lX: \"%s\" αμετάβλητο\n"
 
-#: g10/import.c:2640 g10/import.c:2835
+#: g10/import.c:2652 g10/import.c:2847
 #, fuzzy, c-format
 msgid "key %s: secret key imported\n"
 msgstr "κλειδί %08lX: μυστικό κλειδί εισήχθηκε\n"
 
-#: g10/import.c:2648
+#: g10/import.c:2660
 #, fuzzy, c-format
 #| msgid "skipped: secret key already present\n"
 msgid "key %s: secret key already exists\n"
 msgstr "παραλείφθηκε: μυστικό κλειδί ήδη παρών\n"
 
-#: g10/import.c:2656
+#: g10/import.c:2668
 #, fuzzy, c-format
 msgid "key %s: error sending to agent: %s\n"
 msgstr "σφάλμα στη αποστολή προς το `%s': %s\n"
@@ -3794,202 +3812,202 @@ msgstr "σφάλμα στη αποστολή προς το `%s': %s\n"
 #. * Instead, user should be suggested to run 'gpg --card-status',
 #. * then, references to a card will be automatically created
 #. * again.
-#: g10/import.c:2825
+#: g10/import.c:2837
 #, c-format
 msgid "To migrate '%s', with each smartcard, run: %s\n"
 msgstr ""
 
-#: g10/import.c:2972
+#: g10/import.c:2984
 #, fuzzy, c-format
 msgid "secret key %s: %s\n"
 msgstr "το μυστικό κλειδί `%s' δε βρέθηκε: %s\n"
 
-#: g10/import.c:2993 g10/import.c:3032
+#: g10/import.c:3005 g10/import.c:3044
 #, fuzzy, c-format
 msgid "importing secret keys not allowed\n"
 msgstr "εγγραφή του μυστικού κλειδιού στο `%s'\n"
 
-#: g10/import.c:3020
+#: g10/import.c:3032
 #, fuzzy, c-format
 msgid "key %s: secret key with invalid cipher %d - skipped\n"
 msgstr "κλειδί %08lX: μυστικό κλειδί με άκυρο κρυπταλγ. %d - παραλείφθηκε\n"
 
-#: g10/import.c:3182 g10/pkclist.c:72 g10/revoke.c:776
+#: g10/import.c:3194 g10/pkclist.c:72 g10/revoke.c:776
 msgid "No reason specified"
 msgstr "Δεν έχει οριστεί αιτία"
 
-#: g10/import.c:3183 g10/pkclist.c:74 g10/revoke.c:778
+#: g10/import.c:3195 g10/pkclist.c:74 g10/revoke.c:778
 msgid "Key is superseded"
 msgstr "Το κλειδί έχει παρακαμθεί"
 
-#: g10/import.c:3184 g10/pkclist.c:76 g10/revoke.c:777
+#: g10/import.c:3196 g10/pkclist.c:76 g10/revoke.c:777
 msgid "Key has been compromised"
 msgstr "Το κλειδί έχει εκτεθεί"
 
-#: g10/import.c:3185 g10/pkclist.c:78 g10/revoke.c:779
+#: g10/import.c:3197 g10/pkclist.c:78 g10/revoke.c:779
 msgid "Key is no longer used"
 msgstr "Το κλειδί δε χρησιμοποιείται πλέον"
 
-#: g10/import.c:3186 g10/pkclist.c:80 g10/revoke.c:780
+#: g10/import.c:3198 g10/pkclist.c:80 g10/revoke.c:780
 msgid "User ID is no longer valid"
 msgstr "Το User ID δεν είναι πλέον έγκυρο"
 
-#: g10/import.c:3311 g10/keylist.c:1254 g10/pkclist.c:84
+#: g10/import.c:3323 g10/keylist.c:1254 g10/pkclist.c:84
 #, c-format
 msgid "reason for revocation: "
 msgstr "αιτία για ανάκληση:"
 
-#: g10/import.c:3330 g10/keylist.c:1273 g10/pkclist.c:100
+#: g10/import.c:3342 g10/keylist.c:1273 g10/pkclist.c:100
 #, c-format
 msgid "revocation comment: "
 msgstr "σχόλιο ανάκλησης:"
 
-#: g10/import.c:3380
+#: g10/import.c:3392
 #, fuzzy, c-format
 msgid "key %s: no public key - can't apply revocation certificate\n"
 msgstr ""
 "κλειδί %08lX: όχι δημόσιο κλειδί - αδυναμία εφαρμογής πιστοποιητικού "
 "ανάκλησης\n"
 
-#: g10/import.c:3411
+#: g10/import.c:3423
 #, fuzzy, c-format
 msgid "key %s: can't locate original keyblock: %s\n"
 msgstr "κλειδί %08lX: αδυναμία εντοπισμού του αρχικού τμήματος κλειδιού: %s\n"
 
-#: g10/import.c:3418
+#: g10/import.c:3430
 #, fuzzy, c-format
 msgid "key %s: can't read original keyblock: %s\n"
 msgstr "κλειδί %08lX: αδυναμία ανάγνωσης του αρχικού τμήματος κλειδιού: %s\n"
 
-#: g10/import.c:3438
+#: g10/import.c:3450
 #, fuzzy, c-format
 msgid "key %s: invalid revocation certificate: %s - rejected\n"
 msgstr "κλειδί %08lX: μη έγκυρο πιστοποιητικό ανάκλησης: %s - απόρριψη\n"
 
-#: g10/import.c:3473
+#: g10/import.c:3485
 #, fuzzy, c-format
 msgid "key %s: \"%s\" revocation certificate imported\n"
 msgstr "κλειδί %08lX: \"%s\" πιστοποιητικό ανάκλησης εισήχθηκε\n"
 
-#: g10/import.c:3559
+#: g10/import.c:3571
 #, fuzzy, c-format
 msgid "key %s: no user ID for signature\n"
 msgstr "κλειδί %08lX: δεν υπάρχει user ID για την υπογραφή\n"
 
-#: g10/import.c:3576
+#: g10/import.c:3588
 #, fuzzy, c-format
 msgid "key %s: unsupported public key algorithm on user ID \"%s\"\n"
 msgstr ""
 "κλειδί %08lX: μη υποστηριζόμενος αλγόριθμος δημοσίου κλειδιού στο user id "
 "\"%s\"\n"
 
-#: g10/import.c:3578
+#: g10/import.c:3590
 #, fuzzy, c-format
 msgid "key %s: invalid self-signature on user ID \"%s\"\n"
 msgstr "κλειδί %08lX: μη έγκυρη ιδιο-υπογραφή στο user id \"%s\"\n"
 
-#: g10/import.c:3595 g10/import.c:3623 g10/import.c:3679
+#: g10/import.c:3607 g10/import.c:3635 g10/import.c:3691
 #, fuzzy, c-format
 msgid "key %s: unsupported public key algorithm\n"
 msgstr "κλειδί %08lX: μη υποστηριζόμενος αλγόριθμος δημοσίου κλειδιού\n"
 
-#: g10/import.c:3596
+#: g10/import.c:3608
 #, fuzzy, c-format
 msgid "key %s: invalid direct key signature\n"
 msgstr "κλειδί %08lX: άμεση υπογραφή κλειδιού προστέθηκε\n"
 
-#: g10/import.c:3610
+#: g10/import.c:3622
 #, fuzzy, c-format
 msgid "key %s: no subkey for key binding\n"
 msgstr "κλειδί %08lX: δεν υπάρχει υποκλειδί για τη δέσμευση κλειδιού\n"
 
-#: g10/import.c:3625
+#: g10/import.c:3637
 #, fuzzy, c-format
 msgid "key %s: invalid subkey binding\n"
 msgstr "κλειδί %08lX: μη έγκυρη δέσμευση υποκλειδιού\n"
 
-#: g10/import.c:3644
+#: g10/import.c:3656
 #, fuzzy, c-format
 msgid "key %s: removed multiple subkey binding\n"
 msgstr "κλειδί %08lX: αφαιρέθηκε η δέσμευση πολλαπλού υποκλειδιού\n"
 
-#: g10/import.c:3668
+#: g10/import.c:3680
 #, fuzzy, c-format
 msgid "key %s: no subkey for key revocation\n"
 msgstr "κλειδί %08lX: δεν υπάρχει υποκλειδί για την ανάκληση κλειδιού\n"
 
-#: g10/import.c:3681
+#: g10/import.c:3693
 #, fuzzy, c-format
 msgid "key %s: invalid subkey revocation\n"
 msgstr "κλειδί %08lX: μη έγκυρη ανάκληση υποκλειδιού\n"
 
-#: g10/import.c:3696
+#: g10/import.c:3708
 #, fuzzy, c-format
 msgid "key %s: removed multiple subkey revocation\n"
 msgstr "κλειδί %08lX: αφαιρέθηκε η ανάκληση πολλαπλού υποκλειδιού\n"
 
-#: g10/import.c:3740
+#: g10/import.c:3752
 #, fuzzy, c-format
 msgid "key %s: skipped user ID \"%s\"\n"
 msgstr "κλειδί %08lX: παραλείφθηκε user ID '"
 
-#: g10/import.c:3767
+#: g10/import.c:3779
 #, fuzzy, c-format
 msgid "key %s: skipped subkey\n"
 msgstr "κλειδί %08lX: παραλείφθηκε υποκλειδί\n"
 
-#: g10/import.c:3798
+#: g10/import.c:3810
 #, fuzzy, c-format
 msgid "key %s: non exportable signature (class 0x%02X) - skipped\n"
 msgstr "κλειδί %08lX: μη εξαγόμενη υπογραφή (κλάση %02x) - παραλείφθηκε\n"
 
-#: g10/import.c:3809
+#: g10/import.c:3821
 #, fuzzy, c-format
 msgid "key %s: revocation certificate at wrong place - skipped\n"
 msgstr ""
 "κλειδί %08lX: το πιστοποιητικό ανάκλησης σε λάθος σημείο - παραλείφθηκε\n"
 
-#: g10/import.c:3827
+#: g10/import.c:3839
 #, fuzzy, c-format
 msgid "key %s: invalid revocation certificate: %s - skipped\n"
 msgstr "κλειδί %08lX: μη έγκυρο πιστοποιητικό ανάκλησης: %s - παραλείφθηκε\n"
 
-#: g10/import.c:3841
+#: g10/import.c:3853
 #, fuzzy, c-format
 msgid "key %s: subkey signature in wrong place - skipped\n"
 msgstr ""
 "κλειδί %08lX: η υπογραφή του υποκλειδιού σε λάθος σημείο - παραλείφθηκε\n"
 
-#: g10/import.c:3849
+#: g10/import.c:3861
 #, fuzzy, c-format
 msgid "key %s: unexpected signature class (0x%02X) - skipped\n"
 msgstr "κλειδί %08lX: μη αναμενώμενη κλάση υπογραφής (0x%02x) - παραλείφθηκε\n"
 
-#: g10/import.c:4022
+#: g10/import.c:4034
 #, fuzzy, c-format
 msgid "key %s: duplicated user ID detected - merged\n"
 msgstr "κλειδί %08lX: εντοπίστηκε διπλό user ID - ενώθηκαν\n"
 
-#: g10/import.c:4087
+#: g10/import.c:4099
 #, fuzzy, c-format
 msgid "WARNING: key %s may be revoked: fetching revocation key %s\n"
 msgstr ""
 "ΠΡΟΕΙΔΟΠΟΙΗΣΗ: κλειδί %08lX μπορεί να ανακληθεί: λήψη κλειδιού ανάκλησης "
 "%08lX\n"
 
-#: g10/import.c:4103
+#: g10/import.c:4115
 #, fuzzy, c-format
 msgid "WARNING: key %s may be revoked: revocation key %s not present.\n"
 msgstr ""
 "ΠΡΟΕΙΔΟΠΟΙΗΣΗ: κλειδί %08lX μπορεί να ανακληθεί: το κλειδί ανάκλησης %08lX\n"
 "δεν είναι παρών.\n"
 
-#: g10/import.c:4169
+#: g10/import.c:4181
 #, fuzzy, c-format
 msgid "key %s: \"%s\" revocation certificate added\n"
 msgstr "κλειδί %08lX: \"%s\" πιστοποιητικό ανάκλησης προστέθηκε\n"
 
-#: g10/import.c:4207
+#: g10/import.c:4219
 #, fuzzy, c-format
 msgid "key %s: direct key signature added\n"
 msgstr "κλειδί %08lX: άμεση υπογραφή κλειδιού προστέθηκε\n"
@@ -4058,7 +4076,7 @@ msgid ""
 "all signatures.\n"
 msgstr ""
 
-#: g10/keydb.c:431 g10/keydb.c:458 sm/keydb.c:191 sm/keydb.c:204
+#: g10/keydb.c:431 g10/keydb.c:458 sm/keydb.c:190 sm/keydb.c:203
 #, fuzzy, c-format
 msgid "error creating keybox '%s': %s\n"
 msgstr "αδυναμία δημιουργίας της κλειδοθήκης `%s': %s\n"
@@ -4069,7 +4087,7 @@ msgstr "αδυναμία δημιουργίας της κλειδοθήκης `%
 msgid "error creating keyring '%s': %s\n"
 msgstr "αδυναμία δημιουργίας της κλειδοθήκης `%s': %s\n"
 
-#: g10/keydb.c:470 sm/keydb.c:210
+#: g10/keydb.c:470 sm/keydb.c:209
 #, fuzzy, c-format
 msgid "keybox '%s' created\n"
 msgstr "κλειδοθήκη `%s' δημιουργήθηκε\n"
@@ -4147,13 +4165,13 @@ msgstr ""
 msgid "User ID \"%s\" is revoked."
 msgstr "Το user ID \"%s\" ανακαλείτε."
 
-#: g10/keyedit.c:569 g10/keyedit.c:597 g10/keyedit.c:624 g10/keyedit.c:808
-#: g10/keyedit.c:1655
+#: g10/keyedit.c:569 g10/keyedit.c:597 g10/keyedit.c:624 g10/keyedit.c:809
+#: g10/keyedit.c:1656
 msgid "Are you sure you still want to sign it? (y/N) "
 msgstr "Σίγουρα θέλετε ακόμα να το υπογράψετε; (y/N) "
 
-#: g10/keyedit.c:583 g10/keyedit.c:611 g10/keyedit.c:638 g10/keyedit.c:814
-#: g10/keyedit.c:1660 g10/keyedit.c:2667
+#: g10/keyedit.c:583 g10/keyedit.c:611 g10/keyedit.c:638 g10/keyedit.c:815
+#: g10/keyedit.c:1661 g10/keyedit.c:2668
 msgid "  Unable to sign.\n"
 msgstr "  Αδυναμία υπογραφής.\n"
 
@@ -4227,29 +4245,29 @@ msgstr "\"%s\" ήδη υπογράφθηκε από το κλειδί %08lX\n"
 msgid "\"%s\" was already signed by key %s\n"
 msgstr "\"%s\" ήδη υπογράφθηκε από το κλειδί %08lX\n"
 
-#: g10/keyedit.c:756
+#: g10/keyedit.c:757
 msgid "Do you want to sign it again anyway? (y/N) "
 msgstr "Σίγουρα θέλετε ακόμα να το ξαναυπογράψετε; (y/N) "
 
-#: g10/keyedit.c:778
+#: g10/keyedit.c:779
 #, fuzzy, c-format
 msgid "Nothing to sign with key %s\n"
 msgstr "Τίποτα για να υπογραφεί με το κλειδί  %08lX\n"
 
-#: g10/keyedit.c:802
+#: g10/keyedit.c:803
 msgid "This key has expired!"
 msgstr "Αυτό το κλειδί έχει λήξει!"
 
-#: g10/keyedit.c:820
+#: g10/keyedit.c:821
 #, c-format
 msgid "This key is due to expire on %s.\n"
 msgstr "Αυτό το κλειδί πρόκειτε να λήξει στις %s.\n"
 
-#: g10/keyedit.c:826
+#: g10/keyedit.c:827
 msgid "Do you want your signature to expire at the same time? (Y/n) "
 msgstr "Θέλετε η υπογαφήσας να λήξει ταυτόχρονα;  (Y/n) "
 
-#: g10/keyedit.c:867
+#: g10/keyedit.c:868
 msgid ""
 "How carefully have you verified the key you are about to sign actually "
 "belongs\n"
@@ -4259,32 +4277,32 @@ msgstr ""
 "ανήκει πράγματι στο προανφερθέν άτομο; Εάν δεν ξέρετε τι να απαντήσετε "
 "πατήστε\"0\".\n"
 
-#: g10/keyedit.c:872
+#: g10/keyedit.c:873
 #, c-format
 msgid "   (0) I will not answer.%s\n"
 msgstr "   (0) Δεν απαντώ.%s\n"
 
-#: g10/keyedit.c:874
+#: g10/keyedit.c:875
 #, c-format
 msgid "   (1) I have not checked at all.%s\n"
 msgstr "   (1) Δεν έχω ελέγξει καθόλου.%s\n"
 
-#: g10/keyedit.c:876
+#: g10/keyedit.c:877
 #, c-format
 msgid "   (2) I have done casual checking.%s\n"
 msgstr "   (2) Έχω κάνει τον συνήθη έλεγχο.%s\n"
 
-#: g10/keyedit.c:879
+#: g10/keyedit.c:880
 #, c-format
 msgid "   (3) I have done very careful checking.%s\n"
 msgstr "   (3) Έχω κάνει εκτεταμένο έλεγχο.%s\n"
 
-#: g10/keyedit.c:886
+#: g10/keyedit.c:887
 #, fuzzy
 msgid "Your selection? (enter '?' for more information): "
 msgstr "Η επιλογή σας; (πληκτρολογήστε ? για πληροφορίες): "
 
-#: g10/keyedit.c:913
+#: g10/keyedit.c:914
 #, fuzzy, c-format
 msgid ""
 "Are you sure that you want to sign this key with your\n"
@@ -4293,21 +4311,21 @@ msgstr ""
 "Σίγουρα θέλετε να υπογράψετε αυτό το κλειδί\n"
 "με το κλειδί σας: \""
 
-#: g10/keyedit.c:921
+#: g10/keyedit.c:922
 #, fuzzy
 msgid "This will be a self-signature.\n"
 msgstr ""
 "\n"
 "Αυτή θα είναι μια ιδιο-υπογραφή.\n"
 
-#: g10/keyedit.c:926
+#: g10/keyedit.c:927
 #, fuzzy
 msgid "WARNING: the signature will not be marked as non-exportable.\n"
 msgstr ""
 "\n"
 "ΠΡΟΕΙΔΟΠΟΙΗΣΗ: η υπογραφή δε θα σημειωθεί σαν μη-εξαγώγιμη.\n"
 
-#: g10/keyedit.c:933
+#: g10/keyedit.c:934
 #, fuzzy
 msgid "WARNING: the signature will not be marked as non-revocable.\n"
 msgstr ""
@@ -4315,14 +4333,14 @@ msgstr ""
 "ΠΡΟΕΙΔΟΠΟΙΗΣΗ: Η υπογραφή δε θα σημειωθεί σαν μη-ανακαλέσιμη.\n"
 "\n"
 
-#: g10/keyedit.c:943
+#: g10/keyedit.c:944
 #, fuzzy
 msgid "The signature will be marked as non-exportable.\n"
 msgstr ""
 "\n"
 "Η υπογραφή θα σημειωθεί σαν μη-εξαγώγιμη.\n"
 
-#: g10/keyedit.c:950
+#: g10/keyedit.c:951
 #, fuzzy
 msgid "The signature will be marked as non-revocable.\n"
 msgstr ""
@@ -4330,239 +4348,239 @@ msgstr ""
 "Η υπογραφή θα σημειωθεί σαν μη-ανακαλέσιμη.\n"
 "\n"
 
-#: g10/keyedit.c:957
+#: g10/keyedit.c:958
 #, fuzzy
 msgid "I have not checked this key at all.\n"
 msgstr ""
 "\n"
 "Δεν έχω ελέγξει καθόλου αυτό το κλειδί.\n"
 
-#: g10/keyedit.c:962
+#: g10/keyedit.c:963
 #, fuzzy
 msgid "I have checked this key casually.\n"
 msgstr ""
 "\n"
 "Έχω κάνει συνηθισμένο έλεγχο σε αυτό το κλειδί.\n"
 
-#: g10/keyedit.c:967
+#: g10/keyedit.c:968
 #, fuzzy
 msgid "I have checked this key very carefully.\n"
 msgstr ""
 "\n"
 "Έχω ελέγξει πολύ προσεκτικά αυτό το κλειδί.\n"
 
-#: g10/keyedit.c:979
+#: g10/keyedit.c:980
 #, fuzzy
 msgid "Really sign? (y/N) "
 msgstr "Σίγουρα να υπογραφεί; "
 
-#: g10/keyedit.c:1030 g10/keyedit.c:6154 g10/keyedit.c:6237 g10/keyedit.c:6366
-#: g10/keyedit.c:6428 g10/sign.c:466
+#: g10/keyedit.c:1031 g10/keyedit.c:6155 g10/keyedit.c:6238 g10/keyedit.c:6367
+#: g10/keyedit.c:6429 g10/sign.c:466
 #, c-format
 msgid "signing failed: %s\n"
 msgstr "η υπογραφή απέτυχε: %s\n"
 
-#: g10/keyedit.c:1117
+#: g10/keyedit.c:1118
 msgid "Key has only stub or on-card key items - no passphrase to change.\n"
 msgstr ""
 
-#: g10/keyedit.c:1149
+#: g10/keyedit.c:1150
 #, fuzzy, c-format
 #| msgid "error creating passphrase: %s\n"
 msgid "key %s: error changing passphrase: %s\n"
 msgstr "σφάλμα στη δημιουργία της φράσης κλειδί: %s\n"
 
-#: g10/keyedit.c:1261
+#: g10/keyedit.c:1262
 msgid "save and quit"
 msgstr "αποθήκευση και έξοδος"
 
-#: g10/keyedit.c:1264
+#: g10/keyedit.c:1265
 #, fuzzy
 msgid "show key fingerprint"
 msgstr "απεικόνιση του fingerprint"
 
-#: g10/keyedit.c:1265
+#: g10/keyedit.c:1266
 #, fuzzy
 msgid "show the keygrip"
 msgstr "Σημείωση υπογραφής: "
 
-#: g10/keyedit.c:1266
+#: g10/keyedit.c:1267
 msgid "list key and user IDs"
 msgstr "απεικόνιση των κλειδιών και των user ID"
 
-#: g10/keyedit.c:1268
+#: g10/keyedit.c:1269
 msgid "select user ID N"
 msgstr "επιλογή user ID N"
 
-#: g10/keyedit.c:1269
+#: g10/keyedit.c:1270
 #, fuzzy
 msgid "select subkey N"
 msgstr "επιλογή user ID N"
 
-#: g10/keyedit.c:1270
+#: g10/keyedit.c:1271
 #, fuzzy
 msgid "check signatures"
 msgstr "ανάκληση υπογραφών"
 
-#: g10/keyedit.c:1276
+#: g10/keyedit.c:1277
 msgid "sign selected user IDs [* see below for related commands]"
 msgstr ""
 
-#: g10/keyedit.c:1281
+#: g10/keyedit.c:1282
 #, fuzzy
 msgid "sign selected user IDs locally"
 msgstr "υπογραφή του κλειδιού τοπικά"
 
-#: g10/keyedit.c:1282
+#: g10/keyedit.c:1283
 #, fuzzy
 msgid "sign selected user IDs with a trust signature"
 msgstr "Συμβουλή: Επιλέξτε το user ID για υπογραφή\n"
 
-#: g10/keyedit.c:1284
+#: g10/keyedit.c:1285
 msgid "sign selected user IDs with a non-revocable signature"
 msgstr ""
 
-#: g10/keyedit.c:1286
+#: g10/keyedit.c:1287
 msgid "add a user ID"
 msgstr "προσθήκη ενός user ID"
 
-#: g10/keyedit.c:1288
+#: g10/keyedit.c:1289
 msgid "add a photo ID"
 msgstr "προσθήκη ενός photo ID"
 
-#: g10/keyedit.c:1289
+#: g10/keyedit.c:1290
 #, fuzzy
 msgid "delete selected user IDs"
 msgstr "διαγραφή ενός user ID"
 
-#: g10/keyedit.c:1292
+#: g10/keyedit.c:1293
 #, fuzzy
 msgid "add a subkey"
 msgstr "addkey"
 
-#: g10/keyedit.c:1295
+#: g10/keyedit.c:1296
 msgid "add a key to a smartcard"
 msgstr ""
 
-#: g10/keyedit.c:1297
+#: g10/keyedit.c:1298
 msgid "move a key to a smartcard"
 msgstr ""
 
-#: g10/keyedit.c:1299
+#: g10/keyedit.c:1300
 msgid "move a backup key to a smartcard"
 msgstr ""
 
-#: g10/keyedit.c:1301
+#: g10/keyedit.c:1302
 #, fuzzy
 msgid "delete selected subkeys"
 msgstr "διαγραφή ενός δευτερεύοντος κλειδιού"
 
-#: g10/keyedit.c:1303
+#: g10/keyedit.c:1304
 msgid "add a revocation key"
 msgstr "προσθήκη ενός κλειδιού ανάκλησης"
 
-#: g10/keyedit.c:1305
+#: g10/keyedit.c:1306
 #, fuzzy
 msgid "delete signatures from the selected user IDs"
 msgstr ""
 "Σίγουρα θέλετε να ανανεωθούν οι προεπιλογές για το επιλεγμένο user ID; "
 
-#: g10/keyedit.c:1307
+#: g10/keyedit.c:1308
 #, fuzzy
 msgid "change the expiration date for the key or selected subkeys"
 msgstr "Δεν μπορείτε να αλλάξετε την ημερομηνία λήξης σε ένα v3 κλειδί\n"
 
-#: g10/keyedit.c:1309
+#: g10/keyedit.c:1310
 #, fuzzy
 msgid "flag the selected user ID as primary"
 msgstr "σημείωση του user ID σαν πρωτεύων"
 
-#: g10/keyedit.c:1312
+#: g10/keyedit.c:1313
 msgid "list preferences (expert)"
 msgstr "απεικόνιση προεπιλογών (ειδικές)"
 
-#: g10/keyedit.c:1313
+#: g10/keyedit.c:1314
 msgid "list preferences (verbose)"
 msgstr "απεικόνιση επιλογών (αναλυτικά)"
 
-#: g10/keyedit.c:1315
+#: g10/keyedit.c:1316
 #, fuzzy
 msgid "set preference list for the selected user IDs"
 msgstr ""
 "Σίγουρα θέλετε να ανανεωθούν οι προεπιλογές για το επιλεγμένο user ID; "
 
-#: g10/keyedit.c:1318
+#: g10/keyedit.c:1319
 #, fuzzy
 msgid "set the preferred keyserver URL for the selected user IDs"
 msgstr "αδυναμία επεξεργασίας του URI του διακομιση κλειδιών\n"
 
-#: g10/keyedit.c:1320
+#: g10/keyedit.c:1321
 #, fuzzy
 msgid "set a notation for the selected user IDs"
 msgstr ""
 "Σίγουρα θέλετε να ανανεωθούν οι προεπιλογές για το επιλεγμένο user ID; "
 
-#: g10/keyedit.c:1322
+#: g10/keyedit.c:1323
 msgid "change the passphrase"
 msgstr "αλλαγή της φράσης κλειδί"
 
-#: g10/keyedit.c:1325
+#: g10/keyedit.c:1326
 msgid "change the ownertrust"
 msgstr "αλλαγή της εμπιστοσύνης ιδιοκτήτη"
 
-#: g10/keyedit.c:1328
+#: g10/keyedit.c:1329
 #, fuzzy
 msgid "revoke signatures on the selected user IDs"
 msgstr "Σίγουρα θέλετε να ανακληθούν όλα τα επιλεγμένα user ID; "
 
-#: g10/keyedit.c:1330
+#: g10/keyedit.c:1331
 #, fuzzy
 msgid "revoke selected user IDs"
 msgstr "ανάκληση ενός user ID"
 
-#: g10/keyedit.c:1333
+#: g10/keyedit.c:1334
 #, fuzzy
 msgid "revoke key or selected subkeys"
 msgstr "ανάκληση ενός δευτερεύοντος κλειδιού"
 
-#: g10/keyedit.c:1335
+#: g10/keyedit.c:1336
 #, fuzzy
 msgid "enable key"
 msgstr "ενεργοποιεί ένα κλειδί"
 
-#: g10/keyedit.c:1336
+#: g10/keyedit.c:1337
 #, fuzzy
 msgid "disable key"
 msgstr "απενεργοποιεί ένα κλειδί"
 
-#: g10/keyedit.c:1338
+#: g10/keyedit.c:1339
 #, fuzzy
 msgid "show selected photo IDs"
 msgstr "απεικόνιση photo ID"
 
-#: g10/keyedit.c:1340
+#: g10/keyedit.c:1341
 msgid "compact unusable user IDs and remove unusable signatures from key"
 msgstr ""
 
-#: g10/keyedit.c:1342
+#: g10/keyedit.c:1343
 msgid "compact unusable user IDs and remove all signatures from key"
 msgstr ""
 
-#: g10/keyedit.c:1463
+#: g10/keyedit.c:1464
 msgid "Secret key is available.\n"
 msgstr "Το μυστικό κλειδί είναι διαθέσιμο.\n"
 
-#: g10/keyedit.c:1465
+#: g10/keyedit.c:1466
 #, fuzzy
 #| msgid "Secret key is available.\n"
 msgid "Secret subkeys are available.\n"
 msgstr "Το μυστικό κλειδί είναι διαθέσιμο.\n"
 
-#: g10/keyedit.c:1567
+#: g10/keyedit.c:1568
 msgid "Need the secret key to do this.\n"
 msgstr "Απαιτείται το μυστικό κλειδί για να γίνει αυτό.\n"
 
-#: g10/keyedit.c:1590
+#: g10/keyedit.c:1591
 msgid ""
 "* The 'sign' command may be prefixed with an 'l' for local signatures "
 "(lsign),\n"
@@ -4570,315 +4588,315 @@ msgid ""
 "  (nrsign), or any combination thereof (ltsign, tnrsign, etc.).\n"
 msgstr ""
 
-#: g10/keyedit.c:1648 g10/keyedit.c:2667 g10/keyedit.c:3040 g10/keyedit.c:3108
+#: g10/keyedit.c:1649 g10/keyedit.c:2668 g10/keyedit.c:3041 g10/keyedit.c:3109
 msgid "Key is revoked."
 msgstr "Το κλειδί ανακλήθηκε."
 
-#: g10/keyedit.c:1671
+#: g10/keyedit.c:1672
 #, fuzzy
 msgid "Really sign all text user IDs? (y/N) "
 msgstr "Σίγουρα να υπογραφούν όλα τα user ID; "
 
-#: g10/keyedit.c:1675
+#: g10/keyedit.c:1676
 #, fuzzy
 msgid "Really sign all user IDs? (y/N) "
 msgstr "Σίγουρα να υπογραφούν όλα τα user ID; "
 
-#: g10/keyedit.c:1683
+#: g10/keyedit.c:1684
 msgid "Hint: Select the user IDs to sign\n"
 msgstr "Συμβουλή: Επιλέξτε το user ID για υπογραφή\n"
 
-#: g10/keyedit.c:1694
+#: g10/keyedit.c:1695
 #, fuzzy, c-format
 msgid "Unknown signature type '%s'\n"
 msgstr "άγνωστη κλάση υπογραφής"
 
-#: g10/keyedit.c:1718
+#: g10/keyedit.c:1719
 #, c-format
 msgid "This command is not allowed while in %s mode.\n"
 msgstr "Αυτή η εντολή απαγορεύετε σε αυτή την κατάσταση %s.\n"
 
-#: g10/keyedit.c:1740 g10/keyedit.c:1764 g10/keyedit.c:1961
+#: g10/keyedit.c:1741 g10/keyedit.c:1765 g10/keyedit.c:1962
 msgid "You must select at least one user ID.\n"
 msgstr "Πρέπει να επιλέξετε το λιγότερο ένα user ID.\n"
 
-#: g10/keyedit.c:1742 g10/keyedit.c:1766 g10/keyedit.c:1923 g10/keyedit.c:1963
+#: g10/keyedit.c:1743 g10/keyedit.c:1767 g10/keyedit.c:1924 g10/keyedit.c:1964
 #, c-format
 msgid "(Use the '%s' command.)\n"
 msgstr ""
 
-#: g10/keyedit.c:1745
+#: g10/keyedit.c:1746
 msgid "You can't delete the last user ID!\n"
 msgstr "Δεν μπορείτε να διαγράψετε το τελευταίο user ID!\n"
 
-#: g10/keyedit.c:1748
+#: g10/keyedit.c:1749
 #, fuzzy
 msgid "Really remove all selected user IDs? (y/N) "
 msgstr "Σίγουρα θέλετε να διαγραφούν όλα τα επιλεγμένα user ID; "
 
-#: g10/keyedit.c:1749
+#: g10/keyedit.c:1750
 #, fuzzy
 msgid "Really remove this user ID? (y/N) "
 msgstr "Σίγουρα θέλετε να διαγραφεί αυτό το user ID; "
 
 #. TRANSLATORS: Please take care: This is about
 #. moving the key and not about removing it.
-#: g10/keyedit.c:1806
+#: g10/keyedit.c:1807
 #, fuzzy
 msgid "Really move the primary key? (y/N) "
 msgstr "Σίγουρα θέλετε να διαγραφεί αυτό το user ID; "
 
-#: g10/keyedit.c:1818 g10/keyedit.c:4803
+#: g10/keyedit.c:1819 g10/keyedit.c:4804
 #, fuzzy
 msgid "You must select exactly one key.\n"
 msgstr "Πρέπει να επιλέξετε τουλάχιστον ένα κλειδί.\n"
 
-#: g10/keyedit.c:1846
+#: g10/keyedit.c:1847
 msgid "Command expects a filename argument\n"
 msgstr ""
 
-#: g10/keyedit.c:1867
+#: g10/keyedit.c:1868
 #, fuzzy, c-format
 msgid "Can't open '%s': %s\n"
 msgstr "αδυναμία πρόσβασης στο `%s': %s\n"
 
-#: g10/keyedit.c:1886
+#: g10/keyedit.c:1887
 #, fuzzy, c-format
 msgid "Error reading backup key from '%s': %s\n"
 msgstr "αδυναμία δημιουργίας της κλειδοθήκης `%s': %s\n"
 
-#: g10/keyedit.c:1921
+#: g10/keyedit.c:1922
 msgid "You must select at least one key.\n"
 msgstr "Πρέπει να επιλέξετε τουλάχιστον ένα κλειδί.\n"
 
-#: g10/keyedit.c:1927
+#: g10/keyedit.c:1928
 #, fuzzy
 msgid "Do you really want to delete the selected keys? (y/N) "
 msgstr "Σίγουρα θέλετε να διαγραφούν τα επιλεγμένα κλειδιά; "
 
-#: g10/keyedit.c:1929
+#: g10/keyedit.c:1930
 #, fuzzy
 msgid "Do you really want to delete this key? (y/N) "
 msgstr "Σίγουρα θέλετε να διαγραφεί αυτό το κλειδί; "
 
-#: g10/keyedit.c:1967
+#: g10/keyedit.c:1968
 #, fuzzy
 msgid "Really revoke all selected user IDs? (y/N) "
 msgstr "Σίγουρα θέλετε να ανακληθούν όλα τα επιλεγμένα user ID; "
 
-#: g10/keyedit.c:1968
+#: g10/keyedit.c:1969
 #, fuzzy
 msgid "Really revoke this user ID? (y/N) "
 msgstr "Σίγουρα θέλετε να ανακληθεί αυτό το user ID; "
 
-#: g10/keyedit.c:1986
+#: g10/keyedit.c:1987
 #, fuzzy
 msgid "Do you really want to revoke the entire key? (y/N) "
 msgstr "Σίγουρα θέλετε να ανακληθεί αυτό το κλειδί; "
 
-#: g10/keyedit.c:1997
+#: g10/keyedit.c:1998
 #, fuzzy
 msgid "Do you really want to revoke the selected subkeys? (y/N) "
 msgstr "Σίγουρα θέλετε να ανακληθούν τα επιλεγμένα κλειδιά; "
 
-#: g10/keyedit.c:1999
+#: g10/keyedit.c:2000
 #, fuzzy
 msgid "Do you really want to revoke this subkey? (y/N) "
 msgstr "Σίγουρα θέλετε να ανακληθεί αυτό το κλειδί; "
 
-#: g10/keyedit.c:2057
+#: g10/keyedit.c:2058
 msgid "Owner trust may not be set while using a user provided trust database\n"
 msgstr ""
 
-#: g10/keyedit.c:2102
+#: g10/keyedit.c:2103
 #, fuzzy
 msgid "Set preference list to:\n"
 msgstr "ορισμός απεικόνισης επιλογών"
 
-#: g10/keyedit.c:2109
+#: g10/keyedit.c:2110
 #, fuzzy
 msgid "Really update the preferences for the selected user IDs? (y/N) "
 msgstr ""
 "Σίγουρα θέλετε να ανανεωθούν οι προεπιλογές για το επιλεγμένο user ID; "
 
-#: g10/keyedit.c:2111
+#: g10/keyedit.c:2112
 #, fuzzy
 msgid "Really update the preferences? (y/N) "
 msgstr "Σίγουρα να ανανεωθούν οι προεπιλογές;"
 
-#: g10/keyedit.c:2185
+#: g10/keyedit.c:2186
 #, fuzzy
 msgid "Save changes? (y/N) "
 msgstr "Αποθήκευση των αλλαγών; "
 
-#: g10/keyedit.c:2189
+#: g10/keyedit.c:2190
 #, fuzzy
 msgid "Quit without saving? (y/N) "
 msgstr "Τερματισμός χωρίς αποθήκευση; "
 
-#: g10/keyedit.c:2216 g10/keyedit.c:2762 g10/keyedit.c:3061 g10/keyedit.c:3214
+#: g10/keyedit.c:2217 g10/keyedit.c:2763 g10/keyedit.c:3062 g10/keyedit.c:3215
 #, c-format
 msgid "Key not changed so no update needed.\n"
 msgstr "Το κλειδί δεν άλλαξε οπότε δεν χρειάζεται ενημέρωση.\n"
 
-#: g10/keyedit.c:2448
+#: g10/keyedit.c:2449
 #, fuzzy, c-format
 #| msgid "You can't delete the last user ID!\n"
 msgid "cannot revoke the last valid user ID.\n"
 msgstr "Δεν μπορείτε να διαγράψετε το τελευταίο user ID!\n"
 
-#: g10/keyedit.c:2475
+#: g10/keyedit.c:2476
 #, fuzzy, c-format
 msgid "revoking the user ID failed: %s\n"
 msgstr "απέτυχε ο έλεγχος της υπογραφής που δημιουργήθηκε: %s\n"
 
-#: g10/keyedit.c:2541
+#: g10/keyedit.c:2542
 #, fuzzy, c-format
 msgid "setting the primary user ID failed: %s\n"
 msgstr "απέτυχε ο έλεγχος της υπογραφής που δημιουργήθηκε: %s\n"
 
-#: g10/keyedit.c:2572
+#: g10/keyedit.c:2573
 #, fuzzy, c-format
 msgid "\"%s\" is not a fingerprint\n"
 msgstr "σφάλμα: μη έγκυρο αποτύπωμα\n"
 
-#: g10/keyedit.c:2602
+#: g10/keyedit.c:2603
 #, fuzzy, c-format
 msgid "\"%s\" is not the primary fingerprint\n"
 msgstr "αποτυχία αρχικοποίησης της TrustDB: %s\n"
 
-#: g10/keyedit.c:2738 g10/keyedit.c:2741
+#: g10/keyedit.c:2739 g10/keyedit.c:2742
 #, fuzzy, c-format
 #| msgid "invalid value\n"
 msgid "Invalid user ID '%s': %s\n"
 msgstr "μη έγκυρη τιμή\n"
 
-#: g10/keyedit.c:2744
+#: g10/keyedit.c:2745
 #, fuzzy
 #| msgid "No such user ID.\n"
 msgid "No matching user IDs."
 msgstr "Δεν υπάρχει αυτό το user ID.\n"
 
-#: g10/keyedit.c:2744
+#: g10/keyedit.c:2745
 #, fuzzy
 msgid "Nothing to sign.\n"
 msgstr "Τίποτα για να υπογραφεί με το κλειδί  %08lX\n"
 
-#: g10/keyedit.c:2937 g10/keyedit.c:6019
+#: g10/keyedit.c:2938 g10/keyedit.c:6020
 #, fuzzy, c-format
 msgid "Not signed by you.\n"
 msgstr "   υπογράφθηκε από %08lX στις %s%s\n"
 
-#: g10/keyedit.c:2995
+#: g10/keyedit.c:2996
 #, fuzzy, c-format
 #| msgid "checking created signature failed: %s\n"
 msgid "revoking the key signature failed: %s\n"
 msgstr "απέτυχε ο έλεγχος της υπογραφής που δημιουργήθηκε: %s\n"
 
-#: g10/keyedit.c:3116
+#: g10/keyedit.c:3117
 #, fuzzy, c-format
 msgid "'%s' is not a valid expiration time\n"
 msgstr "το %s δεν είναι έγκυρο σετ χαρακτήρων\n"
 
-#: g10/keyedit.c:3159
+#: g10/keyedit.c:3160
 #, fuzzy, c-format
 msgid "\"%s\" is not a proper fingerprint\n"
 msgstr "σφάλμα: μη έγκυρο αποτύπωμα\n"
 
-#: g10/keyedit.c:3183
+#: g10/keyedit.c:3184
 #, fuzzy, c-format
 msgid "subkey \"%s\" not found\n"
 msgstr "το κλειδί '%s' δε βρέθηκε: %s\n"
 
-#: g10/keyedit.c:3306
+#: g10/keyedit.c:3307
 msgid "AEAD: "
 msgstr ""
 
-#: g10/keyedit.c:3323
+#: g10/keyedit.c:3324
 msgid "Digest: "
 msgstr "Περίληψη: "
 
-#: g10/keyedit.c:3380
+#: g10/keyedit.c:3381
 msgid "Features: "
 msgstr "Δυνατότητε: "
 
-#: g10/keyedit.c:3397
+#: g10/keyedit.c:3398
 msgid "Keyserver no-modify"
 msgstr ""
 
-#: g10/keyedit.c:3412 g10/keylist.c:376
+#: g10/keyedit.c:3413 g10/keylist.c:376
 msgid "Preferred keyserver: "
 msgstr ""
 
-#: g10/keyedit.c:3420 g10/keyedit.c:3421
+#: g10/keyedit.c:3421 g10/keyedit.c:3422
 #, fuzzy
 msgid "Notations: "
 msgstr "Σημείωση: "
 
-#: g10/keyedit.c:3669
+#: g10/keyedit.c:3670
 msgid "There are no preferences on a PGP 2.x-style user ID.\n"
 msgstr "Δεν υπάρχουν προεπιλογές σε ένα user ID τύπου PGP 2.x.\n"
 
-#: g10/keyedit.c:3741
+#: g10/keyedit.c:3742
 #, fuzzy, c-format
 msgid "The following key was revoked on %s by %s key %s\n"
 msgstr "Αυτό το κλειδί μπορεί να ανακληθεί από %s κλειδί "
 
-#: g10/keyedit.c:3765
+#: g10/keyedit.c:3766
 #, fuzzy, c-format
 msgid "This key may be revoked by %s key %s"
 msgstr "Αυτό το κλειδί μπορεί να ανακληθεί από %s κλειδί "
 
-#: g10/keyedit.c:3771
+#: g10/keyedit.c:3772
 #, fuzzy
 msgid "(sensitive)"
 msgstr " (ευαίσθητο)"
 
-#: g10/keyedit.c:3813 g10/keyedit.c:3960 g10/keylist.c:264 g10/keyserver.c:538
+#: g10/keyedit.c:3814 g10/keyedit.c:3961 g10/keylist.c:264 g10/keyserver.c:361
 #, fuzzy, c-format
 msgid "created: %s"
 msgstr "αδυναμία δημιουργίας του %s: %s\n"
 
-#: g10/keyedit.c:3816 g10/keylist.c:2149
+#: g10/keyedit.c:3817 g10/keylist.c:2149
 #, fuzzy, c-format
 msgid "revoked: %s"
 msgstr "[ανακλημένο]"
 
-#: g10/keyedit.c:3818 g10/keylist.c:2155
+#: g10/keyedit.c:3819 g10/keylist.c:2155
 #, fuzzy, c-format
 msgid "expired: %s"
 msgstr " [λήγει: %s]"
 
-#: g10/keyedit.c:3820 g10/keyedit.c:3962 g10/keylist.c:266 g10/keylist.c:2161
-#: g10/keyserver.c:544
+#: g10/keyedit.c:3821 g10/keyedit.c:3963 g10/keylist.c:266 g10/keylist.c:2161
+#: g10/keyserver.c:367
 #, fuzzy, c-format
 msgid "expires: %s"
 msgstr " [λήγει: %s]"
 
-#: g10/keyedit.c:3822
+#: g10/keyedit.c:3823
 #, fuzzy, c-format
 msgid "usage: %s"
 msgstr " εμπιστοσύνη: %c/%c"
 
-#: g10/keyedit.c:3830 g10/keyedit.c:3850 g10/keylist.c:269
+#: g10/keyedit.c:3831 g10/keyedit.c:3851 g10/keylist.c:269
 msgid "card-no: "
 msgstr ""
 
-#: g10/keyedit.c:3889
+#: g10/keyedit.c:3890
 #, fuzzy, c-format
 msgid "trust: %s"
 msgstr " εμπιστοσύνη: %c/%c"
 
-#: g10/keyedit.c:3893
+#: g10/keyedit.c:3894
 #, c-format
 msgid "validity: %s"
 msgstr ""
 
-#: g10/keyedit.c:3900
+#: g10/keyedit.c:3901
 msgid "This key has been disabled"
 msgstr "Αυτό το κλειδί έχει απενεργοποιηθεί"
 
-#: g10/keyedit.c:3918
+#: g10/keyedit.c:3919
 msgid ""
 "Please note that the shown key validity is not necessarily correct\n"
 "unless you restart the program.\n"
@@ -4886,19 +4904,19 @@ msgstr ""
 "Η εγγυρότητα του απεικονιζόμενου κλειδιού δεν είναι απαραίτητα σωστή\n"
 "εκτός και εάν επανακκινήσετε το πρόγραμμα.\n"
 
-#: g10/keyedit.c:3979 g10/keyedit.c:4410 g10/keyserver.c:548
-#: g10/mainproc.c:2371 g10/tofu.c:1787 g10/trust.c:437 dirmngr/ocsp.c:791
+#: g10/keyedit.c:3980 g10/keyedit.c:4411 g10/keyserver.c:371
+#: g10/mainproc.c:2380 g10/tofu.c:1787 g10/trust.c:437 dirmngr/ocsp.c:791
 #, fuzzy
 msgid "revoked"
 msgstr "[ανακλημένο]"
 
-#: g10/keyedit.c:3981 g10/keyedit.c:4412 g10/keyserver.c:552
-#: g10/mainproc.c:2373 g10/tofu.c:1792 g10/trust.c:124
+#: g10/keyedit.c:3982 g10/keyedit.c:4413 g10/keyserver.c:375
+#: g10/mainproc.c:2382 g10/tofu.c:1792 g10/trust.c:124
 #, fuzzy
 msgid "expired"
 msgstr "expire"
 
-#: g10/keyedit.c:4098
+#: g10/keyedit.c:4099
 #, c-format
 msgid ""
 "WARNING: no user ID has been marked as primary.  This command may\n"
@@ -4907,18 +4925,18 @@ msgstr ""
 "ΠΡΟΕΙΔΟΠΟΙΗΣΗ: δεν έχει σημειωθεί ID χρήστη σαν πρωτεύων.  Αυτή η εντολή\n"
 "              μπορεί να κάνει ένα άλλο ID χρήστη να γίνει το πρωτεύων.\n"
 
-#: g10/keyedit.c:4150
+#: g10/keyedit.c:4151
 #, c-format
 msgid "WARNING: Your encryption subkey expires soon.\n"
 msgstr ""
 
-#: g10/keyedit.c:4151
+#: g10/keyedit.c:4152
 #, fuzzy, c-format
 #| msgid "You can't change the expiration date of a v3 key\n"
 msgid "You may want to change its expiration date too.\n"
 msgstr "Δεν μπορείτε να αλλάξετε την ημερομηνία λήξης σε ένα v3 κλειδί\n"
 
-#: g10/keyedit.c:4210
+#: g10/keyedit.c:4211
 msgid ""
 "WARNING: This is a PGP2-style key.  Adding a photo ID may cause some "
 "versions\n"
@@ -4927,35 +4945,35 @@ msgstr ""
 "ΠΡΟΕΙΔΟΠΟΙΗΣΗ: Αυτό έιναι ένα κλειδί τύπου PGP2. Η προσθήκη ενός photo ID\n"
 "               μπορεί να κάνει μερικές εκδόσεις PGP να το απορρίψουν.\n"
 
-#: g10/keyedit.c:4215 g10/keyedit.c:4505
+#: g10/keyedit.c:4216 g10/keyedit.c:4506
 msgid "Are you sure you still want to add it? (y/N) "
 msgstr "Σίγουρα ακόμα θέλετε να το προσθέσετε; (y/N) "
 
-#: g10/keyedit.c:4221
+#: g10/keyedit.c:4222
 msgid "You may not add a photo ID to a PGP2-style key.\n"
 msgstr "Δεν μπορείτε να προσθέσετε μια photo ID σε ένα κλειδί τύπου PGP2.\n"
 
-#: g10/keyedit.c:4236 g10/keygen.c:2899
+#: g10/keyedit.c:4237 g10/keygen.c:2899
 msgid "Such a user ID already exists on this key!\n"
 msgstr ""
 
-#: g10/keyedit.c:4338
+#: g10/keyedit.c:4339
 msgid "Delete this good signature? (y/N/q)"
 msgstr "Διαγραφή αυτής της καλής υπογραφής; (y/N/q)"
 
-#: g10/keyedit.c:4348
+#: g10/keyedit.c:4349
 msgid "Delete this invalid signature? (y/N/q)"
 msgstr "Διαγραφή αυτής της μη έγκυρης υπογραφής; (y/N/q)"
 
-#: g10/keyedit.c:4352
+#: g10/keyedit.c:4353
 msgid "Delete this unknown signature? (y/N/q)"
 msgstr "Διαγραφή αυτής της άγνωστης υπογραφής; (y/N/q)"
 
-#: g10/keyedit.c:4359
+#: g10/keyedit.c:4360
 msgid "Really delete this self-signature? (y/N)"
 msgstr "Σίγουρα να διαγραφεί αυτή η ιδιο-υπογραφή; (y/N)"
 
-#: g10/keyedit.c:4375
+#: g10/keyedit.c:4376
 #, fuzzy, c-format
 #| msgid "Deleted %d signature.\n"
 msgid "Deleted %d signature.\n"
@@ -4963,38 +4981,38 @@ msgid_plural "Deleted %d signatures.\n"
 msgstr[0] "Διαγράφτηκε %d υπογραφή.\n"
 msgstr[1] "Διαγράφτηκε %d υπογραφή.\n"
 
-#: g10/keyedit.c:4379
+#: g10/keyedit.c:4380
 msgid "Nothing deleted.\n"
 msgstr "Τίποτα δεν διαγράφτηκε.\n"
 
-#: g10/keyedit.c:4414
+#: g10/keyedit.c:4415
 #, fuzzy
 msgid "invalid"
 msgstr "μη έγκυρη θωράκιση"
 
-#: g10/keyedit.c:4416
+#: g10/keyedit.c:4417
 #, fuzzy, c-format
 msgid "User ID \"%s\" compacted: %s\n"
 msgstr "Το user ID \"%s\" ανακαλείτε."
 
-#: g10/keyedit.c:4422
+#: g10/keyedit.c:4423
 #, fuzzy, c-format
 msgid "User ID \"%s\": %d signature removed\n"
 msgid_plural "User ID \"%s\": %d signatures removed\n"
 msgstr[0] "Το user ID \"%s\" ανακαλείτε."
 msgstr[1] "Το user ID \"%s\" ανακαλείτε."
 
-#: g10/keyedit.c:4430
+#: g10/keyedit.c:4431
 #, fuzzy, c-format
 msgid "User ID \"%s\": already minimized\n"
 msgstr "το user ID \"%s\" έχει ήδη ανακληθεί\n"
 
-#: g10/keyedit.c:4431
+#: g10/keyedit.c:4432
 #, fuzzy, c-format
 msgid "User ID \"%s\": already clean\n"
 msgstr "το user ID \"%s\" έχει ήδη ανακληθεί\n"
 
-#: g10/keyedit.c:4500
+#: g10/keyedit.c:4501
 msgid ""
 "WARNING: This is a PGP 2.x-style key.  Adding a designated revoker may "
 "cause\n"
@@ -5004,40 +5022,40 @@ msgstr ""
 "               καθορισμένου ανακλητή μπορεί να κάνει μερικές εκδόσεις PGP\n"
 "               να το απορρίψουν.\n"
 
-#: g10/keyedit.c:4511
+#: g10/keyedit.c:4512
 msgid "You may not add a designated revoker to a PGP 2.x-style key.\n"
 msgstr ""
 "Δεν μπορείτε να προσθέσετε ένα καθορισμένο ανακλητή σε κλειδί τύπου PGP2.x.\n"
 
-#: g10/keyedit.c:4528
+#: g10/keyedit.c:4529
 msgid "Enter the user ID of the designated revoker: "
 msgstr "Πληκτρολογήστε το user ID του διορισμένου ανακλητή: "
 
-#: g10/keyedit.c:4554
+#: g10/keyedit.c:4555
 #, c-format
 msgid "cannot appoint a PGP 2.x style key as a designated revoker\n"
 msgstr ""
 "αδυναμία ορισμού ενός κλειδιού τύπου PGP 2.x, σαν διορισμένου ανακλητή\n"
 
-#: g10/keyedit.c:4569
+#: g10/keyedit.c:4570
 #, c-format
 msgid "you cannot appoint a key as its own designated revoker\n"
 msgstr ""
 "δε μπορείτε να ορίσετε ένα κλειδί σαν το διορισμένο ανακλητή του εαυτού του\n"
 
-#: g10/keyedit.c:4591
+#: g10/keyedit.c:4592
 #, fuzzy, c-format
 msgid "this key has already been designated as a revoker\n"
 msgstr ""
 "ΠΡΟΕΙΔΟΠΟΙΗΣΗ: Αυτό το κλειδί έχει ανακληθεί από τον ορισμένο ανακλητή!\n"
 
-#: g10/keyedit.c:4609
+#: g10/keyedit.c:4610
 msgid "WARNING: appointing a key as a designated revoker cannot be undone!\n"
 msgstr ""
 "ΠΡΟΕΙΔΟΠΟΙΗΣΗ: εάν ορίσετε ένα κλειδί σαν διορισμένο ανακλητή δεν μπορεί να "
 "επανέλθει!\n"
 
-#: g10/keyedit.c:4615
+#: g10/keyedit.c:4616
 #, fuzzy
 msgid ""
 "Are you sure you want to appoint this key as a designated revoker? (y/N) "
@@ -5045,7 +5063,7 @@ msgstr ""
 "Είστε σίγουροι ότι θέλετε να ορίσετε ένα κλειδί σαν διορισμένο ανακλητή; (y/"
 "N): "
 
-#: g10/keyedit.c:4683
+#: g10/keyedit.c:4684
 #, fuzzy
 msgid ""
 "Are you sure you want to change the expiration time for multiple subkeys? (y/"
@@ -5054,184 +5072,184 @@ msgstr ""
 "Είστε σίγουροι ότι θέλετε να ορίσετε ένα κλειδί σαν διορισμένο ανακλητή; (y/"
 "N): "
 
-#: g10/keyedit.c:4688
+#: g10/keyedit.c:4689
 #, fuzzy
 msgid "Changing expiration time for a subkey.\n"
 msgstr "Αλλαγή ημερομηνίας λήξης για ένα δευτερεύον κλειδί.\n"
 
-#: g10/keyedit.c:4691
+#: g10/keyedit.c:4692
 msgid "Changing expiration time for the primary key.\n"
 msgstr "Αλλαγή ημερομηνίας λήξης για ένα πρωτεύον κλειδί.\n"
 
-#: g10/keyedit.c:4747
+#: g10/keyedit.c:4748
 #, c-format
 msgid "You can't change the expiration date of a v3 key\n"
 msgstr "Δεν μπορείτε να αλλάξετε την ημερομηνία λήξης σε ένα v3 κλειδί\n"
 
-#: g10/keyedit.c:4807
+#: g10/keyedit.c:4808
 #, fuzzy
 msgid "Changing usage of a subkey.\n"
 msgstr "Αλλαγή ημερομηνίας λήξης για ένα δευτερεύον κλειδί.\n"
 
-#: g10/keyedit.c:4810
+#: g10/keyedit.c:4811
 #, fuzzy
 #| msgid "Changing expiration time for the primary key.\n"
 msgid "Changing usage of the primary key.\n"
 msgstr "Αλλαγή ημερομηνίας λήξης για ένα πρωτεύον κλειδί.\n"
 
-#: g10/keyedit.c:4928
+#: g10/keyedit.c:4929
 #, fuzzy, c-format
 msgid "signing subkey %s is already cross-certified\n"
 msgstr ""
 "ΠΡΟΕΙΔΟΠΟΙΗΣΗ: το υπογράφων υποκλειδί %08lX δεν έχει κατ' αντιπαράσταση "
 "πιστοποιηθεί\n"
 
-#: g10/keyedit.c:4934
+#: g10/keyedit.c:4935
 #, c-format
 msgid "subkey %s does not sign and so does not need to be cross-certified\n"
 msgstr ""
 
-#: g10/keyedit.c:5051
+#: g10/keyedit.c:5052
 msgid "Please select exactly one user ID.\n"
 msgstr "Πρέπει να επιλέξετε ακριβώς ένα user ID.\n"
 
-#: g10/keyedit.c:5092 g10/keyedit.c:5206 g10/keyedit.c:5319 g10/keyedit.c:5457
+#: g10/keyedit.c:5093 g10/keyedit.c:5207 g10/keyedit.c:5320 g10/keyedit.c:5458
 #, fuzzy, c-format
 msgid "skipping v3 self-signature on user ID \"%s\"\n"
 msgstr "παραλείφθηκε η v3 ιδιο-υπογραφή στο user id \"%s\"\n"
 
-#: g10/keyedit.c:5263
+#: g10/keyedit.c:5264
 msgid "Enter your preferred keyserver URL: "
 msgstr ""
 
-#: g10/keyedit.c:5342
+#: g10/keyedit.c:5343
 #, fuzzy
 msgid "Are you sure you want to replace it? (y/N) "
 msgstr "Σίγουρα θέλετε ακόμα να το χρησιμοποιήσετε; (y/N) "
 
-#: g10/keyedit.c:5343
+#: g10/keyedit.c:5344
 #, fuzzy
 msgid "Are you sure you want to delete it? (y/N) "
 msgstr "Σίγουρα θέλετε ακόμα να το χρησιμοποιήσετε; (y/N) "
 
-#: g10/keyedit.c:5403
+#: g10/keyedit.c:5404
 #, fuzzy
 msgid "Enter the notation: "
 msgstr "Σημείωση υπογραφής: "
 
-#: g10/keyedit.c:5550
+#: g10/keyedit.c:5551
 #, fuzzy
 msgid "Proceed? (y/N) "
 msgstr "Επικάλυψη (y/N); "
 
-#: g10/keyedit.c:5620
+#: g10/keyedit.c:5621
 #, c-format
 msgid "No user ID with index %d\n"
 msgstr "Δεν υπάρχει user ID με δείκτη %d\n"
 
-#: g10/keyedit.c:5682
+#: g10/keyedit.c:5683
 #, fuzzy, c-format
 msgid "No user ID with hash %s\n"
 msgstr "Δεν υπάρχει user ID με δείκτη %d\n"
 
-#: g10/keyedit.c:5783
+#: g10/keyedit.c:5784
 #, fuzzy, c-format
 msgid "No subkey with key ID '%s'.\n"
 msgstr "Δεν υπάρχει user ID με δείκτη %d\n"
 
-#: g10/keyedit.c:5805
+#: g10/keyedit.c:5806
 #, fuzzy, c-format
 msgid "No subkey with index %d\n"
 msgstr "Δεν υπάρχει user ID με δείκτη %d\n"
 
-#: g10/keyedit.c:5946
+#: g10/keyedit.c:5947
 #, fuzzy, c-format
 msgid "user ID: \"%s\"\n"
 msgstr "user ID: \""
 
-#: g10/keyedit.c:5949 g10/keyedit.c:6051 g10/keyedit.c:6099
+#: g10/keyedit.c:5950 g10/keyedit.c:6052 g10/keyedit.c:6100
 #, fuzzy, c-format
 msgid "signed by your key %s on %s%s%s\n"
 msgstr "   υπογράφθηκε από %08lX στις %s%s%s\n"
 
-#: g10/keyedit.c:5951 g10/keyedit.c:6053 g10/keyedit.c:6101
+#: g10/keyedit.c:5952 g10/keyedit.c:6054 g10/keyedit.c:6102
 msgid " (non-exportable)"
 msgstr " (μη-εξαγώγιμο)"
 
-#: g10/keyedit.c:5955
+#: g10/keyedit.c:5956
 #, c-format
 msgid "This signature expired on %s.\n"
 msgstr "Αυτή η υπογραφή έληξε στις %s.\n"
 
-#: g10/keyedit.c:5960
+#: g10/keyedit.c:5961
 msgid "Are you sure you still want to revoke it? (y/N) "
 msgstr "Σίγουρα θέλετε να ανακληθεί αυτό το κλειδί; "
 
-#: g10/keyedit.c:5965
+#: g10/keyedit.c:5966
 msgid "Create a revocation certificate for this signature? (y/N) "
 msgstr "Δημιουργία ενός πιστοποιητικού ανάκλησης για αυτή την υπογραφή; (y/N)"
 
-#: g10/keyedit.c:6025
+#: g10/keyedit.c:6026
 #, fuzzy, c-format
 msgid "You have signed these user IDs on key %s:\n"
 msgstr "Έχετε υπογράψει αυτά τα user ID:\n"
 
-#: g10/keyedit.c:6054
+#: g10/keyedit.c:6055
 #, fuzzy
 msgid " (non-revocable)"
 msgstr " (μη-εξαγώγιμο)"
 
-#: g10/keyedit.c:6061
+#: g10/keyedit.c:6062
 #, fuzzy, c-format
 msgid "revoked by your key %s on %s\n"
 msgstr "   ανακλήθηκε από %08lX στις %s\n"
 
-#: g10/keyedit.c:6086
+#: g10/keyedit.c:6087
 msgid "You are about to revoke these signatures:\n"
 msgstr "Σκοπεύετε να ανακαλέσετε αυτές τις υπογραφές:\n"
 
-#: g10/keyedit.c:6109
+#: g10/keyedit.c:6110
 msgid "Really create the revocation certificates? (y/N) "
 msgstr "Σίγουρα να δημιουργηθούν τα πιστοποιητικά ανάκλησης; (y/N)"
 
-#: g10/keyedit.c:6142
+#: g10/keyedit.c:6143
 #, c-format
 msgid "no secret key\n"
 msgstr "κανένα μυστικό κλειδί\n"
 
-#: g10/keyedit.c:6190
+#: g10/keyedit.c:6191
 #, c-format
 msgid "tried to revoke a non-user ID: %s\n"
 msgstr ""
 
-#: g10/keyedit.c:6200
+#: g10/keyedit.c:6201
 #, c-format
 msgid "user ID \"%s\" is already revoked\n"
 msgstr "το user ID \"%s\" έχει ήδη ανακληθεί\n"
 
-#: g10/keyedit.c:6217
+#: g10/keyedit.c:6218
 #, c-format
 msgid "WARNING: a user ID signature is dated %d seconds in the future\n"
 msgstr ""
 "ΠΡΟΕΙΔΟΠΟΙΗΣΗ: μια υπογραφή user ID έχει ημερομηνία %d δεύτερα στο μέλλον\n"
 
-#: g10/keyedit.c:6313
+#: g10/keyedit.c:6314
 #, fuzzy, c-format
 #| msgid "You can't delete the last user ID!\n"
 msgid "Cannot revoke the last valid user ID.\n"
 msgstr "Δεν μπορείτε να διαγράψετε το τελευταίο user ID!\n"
 
-#: g10/keyedit.c:6351
+#: g10/keyedit.c:6352
 #, fuzzy, c-format
 msgid "Key %s is already revoked.\n"
 msgstr "το user ID \"%s\" έχει ήδη ανακληθεί\n"
 
-#: g10/keyedit.c:6413
+#: g10/keyedit.c:6414
 #, fuzzy, c-format
 msgid "Subkey %s is already revoked.\n"
 msgstr "το user ID \"%s\" έχει ήδη ανακληθεί\n"
 
-#: g10/keyedit.c:6510
+#: g10/keyedit.c:6511
 #, fuzzy, c-format
 msgid "Displaying %s photo ID of size %ld for key %s (uid %d)\n"
 msgstr "Απεικόνιση %s photo ID μεγέθους %ld για το κλειδί 0x%08lX (uid %d)\n"
@@ -5966,80 +5984,75 @@ msgstr "το URL πολιτικής υπογραφής που δόθηκε δε
 msgid "honor the PKA record set on a key when retrieving keys"
 msgstr ""
 
-#: g10/keyserver.c:550
+#: g10/keyserver.c:373
 #, fuzzy
 msgid "disabled"
 msgstr "disable"
 
-#: g10/keyserver.c:754
+#: g10/keyserver.c:577
 msgid "Enter number(s), N)ext, or Q)uit > "
 msgstr ""
 
-#: g10/keyserver.c:860
+#: g10/keyserver.c:683
 #, fuzzy, c-format
 msgid "invalid keyserver protocol (us %d!=handler %d)\n"
 msgstr "μη έγκυρες επιλογές εξαγωγής\n"
 
-#: g10/keyserver.c:1001 g10/keyserver.c:1116
+#: g10/keyserver.c:824 g10/keyserver.c:939
 #, c-format
 msgid "\"%s\" not a key ID: skipping\n"
 msgstr ""
 
-#: g10/keyserver.c:1438 g10/keyserver.c:1471
+#: g10/keyserver.c:1237 g10/keyserver.c:1270
 #, fuzzy, c-format
 msgid "refreshing %d key from %s\n"
 msgid_plural "refreshing %d keys from %s\n"
 msgstr[0] "αίτηση κλειδιού %08lX από το %s\n"
 msgstr[1] "αίτηση κλειδιού %08lX από το %s\n"
 
-#: g10/keyserver.c:1445
+#: g10/keyserver.c:1244
 #, fuzzy, c-format
 msgid "WARNING: unable to refresh key %s via %s: %s\n"
 msgstr "ΠΡΟΕΙΔΟΠΟΙΗΣΗ: αδυναμία διαγραφής tempfile (%s) `%s': %s\n"
 
-#: g10/keyserver.c:1549
+#: g10/keyserver.c:1336
 #, fuzzy, c-format
 msgid "key \"%s\" not found on keyserver\n"
 msgstr "το κλειδί '%s' δε βρέθηκε: %s\n"
 
-#: g10/keyserver.c:1552
+#: g10/keyserver.c:1339
 #, fuzzy, c-format
 msgid "key not found on keyserver\n"
 msgstr "το κλειδί '%s' δε βρέθηκε: %s\n"
 
-#: g10/keyserver.c:1743
-#, fuzzy, c-format
-msgid "requesting key %s from %s server %s\n"
-msgstr "αίτηση κλειδιού %08lX από το %s\n"
-
-#: g10/keyserver.c:1747
+#: g10/keyserver.c:1504
 #, fuzzy, c-format
 msgid "requesting key %s from %s\n"
 msgstr "αίτηση κλειδιού %08lX από το %s\n"
 
-#: g10/keyserver.c:1852 g10/keyserver.c:2031
+#: g10/keyserver.c:1619 g10/keyserver.c:1798
 #, fuzzy, c-format
 msgid "no keyserver known\n"
 msgstr "μη έγκυρες επιλογές εξαγωγής\n"
 
-#: g10/keyserver.c:1867 g10/skclist.c:214 g10/skclist.c:242
+#: g10/keyserver.c:1634 g10/skclist.c:215 g10/skclist.c:243
 #, fuzzy, c-format
 msgid "skipped \"%s\": %s\n"
 msgstr "παραλείφθηκε `%s': %s\n"
 
-#: g10/keyserver.c:1871
+#: g10/keyserver.c:1638
 #, fuzzy, c-format
 msgid "sending key %s to %s\n"
 msgstr ""
 "\"\n"
 "υπογράφθηκε με το κλειδί σας %08lX στις %s\n"
 
-#: g10/keyserver.c:1912
+#: g10/keyserver.c:1679
 #, fuzzy, c-format
 msgid "requesting key from '%s'\n"
 msgstr "αίτηση κλειδιού %08lX από το %s\n"
 
-#: g10/keyserver.c:1928
+#: g10/keyserver.c:1695
 #, fuzzy, c-format
 msgid "WARNING: unable to fetch URI %s: %s\n"
 msgstr "ΠΡΟΕΙΔΟΠΟΙΗΣΗ: αδυναμία διαγραφής tempfile (%s) `%s': %s\n"
@@ -6054,192 +6067,192 @@ msgstr "παράξενο μέγεθος για ένα κλειδί κρυπτο
 msgid "%s encrypted session key\n"
 msgstr "%s κλειδί κρυπτογραφημένης συνεδρία\n"
 
-#: g10/mainproc.c:400
+#: g10/mainproc.c:403
 #, fuzzy, c-format
 msgid "passphrase generated with unknown digest algorithm %d\n"
 msgstr "κρυπτογραφημένο με άγνωστο αλγόριθμο %d\n"
 
-#: g10/mainproc.c:481
+#: g10/mainproc.c:485
 #, fuzzy, c-format
 msgid "public key is %s\n"
 msgstr "δημόσιο κλειδί είναι %08lX\n"
 
-#: g10/mainproc.c:557
+#: g10/mainproc.c:561
 #, c-format
 msgid "public key encrypted data: good DEK\n"
 msgstr "κρυπτογραφημένα δεδομένα με δημόσιο κλειδί: καλό DEK\n"
 
-#: g10/mainproc.c:590
+#: g10/mainproc.c:594
 #, fuzzy, c-format
 msgid "encrypted with %u-bit %s key, ID %s, created %s\n"
 msgstr "κρυπτογραφημένο με %u-bit %s κλειδί, ID %08lX, δημιουργήθηκε %s\n"
 
-#: g10/mainproc.c:594 g10/pkclist.c:228
+#: g10/mainproc.c:598 g10/pkclist.c:228
 #, fuzzy, c-format
 msgid "      \"%s\"\n"
 msgstr "                γνωστό σαν \""
 
-#: g10/mainproc.c:598
+#: g10/mainproc.c:602
 #, fuzzy, c-format
 msgid "encrypted with %s key, ID %s\n"
 msgstr "κρυπτογραφημένο με %s key, ID %08lX\n"
 
-#: g10/mainproc.c:619
+#: g10/mainproc.c:623
 #, c-format
 msgid "public key decryption failed: %s\n"
 msgstr "κρυπτογράφηση με δημόσιο κλειδί απέτυχε: %s\n"
 
-#: g10/mainproc.c:641 g10/mainproc.c:970
+#: g10/mainproc.c:645 g10/mainproc.c:976
 #, c-format
 msgid "WARNING: multiple plaintexts seen\n"
 msgstr ""
 
-#: g10/mainproc.c:649
+#: g10/mainproc.c:653
 #, c-format
 msgid "encrypted with %lu passphrases\n"
 msgstr "κρυπτογραφημένο με %lu φράσεις κλειδιά\n"
 
-#: g10/mainproc.c:651
+#: g10/mainproc.c:655
 #, c-format
 msgid "encrypted with 1 passphrase\n"
 msgstr "κρυπτογραφημένο με 1 φράση κλειδί\n"
 
-#: g10/mainproc.c:685 g10/mainproc.c:706
+#: g10/mainproc.c:689 g10/mainproc.c:710
 #, c-format
 msgid "assuming %s encrypted data\n"
 msgstr "υπόθεση %s κρυπτογραφημένων δεδομένων\n"
 
-#: g10/mainproc.c:692
+#: g10/mainproc.c:696
 #, c-format
 msgid "IDEA cipher unavailable, optimistically attempting to use %s instead\n"
 msgstr ""
 "Κρυπταλγόριθμος IDEA μη διαθέσιμος, αισιόδοξη προσπάθεια χρήσης του\n"
 "%s αντίθετα\n"
 
-#: g10/mainproc.c:779 g10/mainproc.c:817
+#: g10/mainproc.c:785 g10/mainproc.c:823
 #, c-format
 msgid "WARNING: message was not integrity protected\n"
 msgstr "ΠΡΟΕΙΔΟΠΟΙΗΣΗ: δεν προστατεύτηκε η ακεραιότητα του μηύματος\n"
 
-#: g10/mainproc.c:790
+#: g10/mainproc.c:796
 msgid ""
 "Hint: If this message was created before the year 2003 it is\n"
 "likely that this message is legitimate.  This is because back\n"
 "then integrity protection was not widely used.\n"
 msgstr ""
 
-#: g10/mainproc.c:793
+#: g10/mainproc.c:799
 #, c-format
 msgid "Use the option '%s' to decrypt anyway.\n"
 msgstr ""
 
-#: g10/mainproc.c:798
+#: g10/mainproc.c:804
 #, fuzzy, c-format
 #| msgid "decryption failed: %s\n"
 msgid "decryption forced to fail!\n"
 msgstr "αποκρυπτογράφηση απέτυχε: %s\n"
 
-#: g10/mainproc.c:810
+#: g10/mainproc.c:816
 #, c-format
 msgid "decryption okay\n"
 msgstr "αποκρυπτογράφηση OK\n"
 
-#: g10/mainproc.c:823
+#: g10/mainproc.c:829
 #, c-format
 msgid "WARNING: encrypted message has been manipulated!\n"
 msgstr "ΠΡΟΕΙΔΟΠΟΙΗΣΗ: το κρυπτογραφημένο μήνυμα έχει πειραχθεί!\n"
 
-#: g10/mainproc.c:841
+#: g10/mainproc.c:847
 #, c-format
 msgid "decryption failed: %s\n"
 msgstr "αποκρυπτογράφηση απέτυχε: %s\n"
 
-#: g10/mainproc.c:886
+#: g10/mainproc.c:892
 #, fuzzy, c-format
 #| msgid "NOTE: sender requested \"for-your-eyes-only\"\n"
 msgid "Note: sender requested \"for-your-eyes-only\"\n"
 msgstr "ΣΗΜΕΙΩΣΗ: ο αποστολέας ζήτησε \"για-τα-μάτια-σας-μόνο\"\n"
 
-#: g10/mainproc.c:893
+#: g10/mainproc.c:899
 #, c-format
 msgid "original file name='%.*s'\n"
 msgstr "αρχικό όνομα αρχείου='%.*s'\n"
 
-#: g10/mainproc.c:1148
+#: g10/mainproc.c:1154
 #, c-format
 msgid "standalone revocation - use \"gpg --import\" to apply\n"
 msgstr "ανεξάρτητη ανάκληση - χρησιμοποιείστε \"gpg --import\" για εφαρμογή\n"
 
-#: g10/mainproc.c:1452 g10/mainproc.c:1495
+#: g10/mainproc.c:1458 g10/mainproc.c:1501
 #, fuzzy, c-format
 msgid "no signature found\n"
 msgstr "Καλή υπογραφή από \""
 
-#: g10/mainproc.c:1852
+#: g10/mainproc.c:1858
 #, fuzzy, c-format
 msgid "BAD signature from \"%s\""
 msgstr "ΚΑΚΗ υπογραφή από \""
 
-#: g10/mainproc.c:1854
+#: g10/mainproc.c:1860
 #, fuzzy, c-format
 msgid "Expired signature from \"%s\""
 msgstr "Ληγμένη υπογραφή από \""
 
-#: g10/mainproc.c:1856
+#: g10/mainproc.c:1862
 #, fuzzy, c-format
 msgid "Good signature from \"%s\""
 msgstr "Καλή υπογραφή από \""
 
-#: g10/mainproc.c:1876
+#: g10/mainproc.c:1882
 #, c-format
 msgid "signature verification suppressed\n"
 msgstr "καταστολή ανάκλησης υπογραφής\n"
 
-#: g10/mainproc.c:1985
+#: g10/mainproc.c:1991
 #, fuzzy, c-format
 msgid "can't handle this ambiguous signature data\n"
 msgstr "αδυναμία χειρισμού αυτών των πολλαπλών υπογραφών\n"
 
-#: g10/mainproc.c:2001 g10/mainproc.c:2008
+#: g10/mainproc.c:2007 g10/mainproc.c:2014
 #, fuzzy, c-format
 msgid "Signature made %s\n"
 msgstr "Υπογραφή έληξε στις %s.\n"
 
-#: g10/mainproc.c:2002 g10/mainproc.c:2009 sm/verify.c:476
+#: g10/mainproc.c:2008 g10/mainproc.c:2015 sm/verify.c:476
 #, fuzzy, c-format
 msgid "               using %s key %s\n"
 msgstr "                γνωστό σαν \""
 
-#: g10/mainproc.c:2013
+#: g10/mainproc.c:2019
 #, fuzzy, c-format
 msgid "Signature made %s using %s key ID %s\n"
 msgstr "Υπογραφή έγινε στο %.*s με χρήση του κλειδιού%s ID %08lX\n"
 
-#: g10/mainproc.c:2019
+#: g10/mainproc.c:2025
 #, fuzzy, c-format
 msgid "               issuer \"%s\"\n"
 msgstr "                γνωστό σαν \""
 
-#: g10/mainproc.c:2070
+#: g10/mainproc.c:2076
 #, c-format
 msgid "Key available at: "
 msgstr "Κλειδί διαθέσιμο στο: "
 
-#: g10/mainproc.c:2111
+#: g10/mainproc.c:2118
 #, c-format
 msgid "Note: Use '%s' to make use of this info\n"
 msgstr ""
 
-#: g10/mainproc.c:2325
+#: g10/mainproc.c:2334
 msgid "[uncertain]"
 msgstr "[αβέβαιο]"
 
-#: g10/mainproc.c:2363
+#: g10/mainproc.c:2372
 #, fuzzy, c-format
 msgid "                aka \"%s\""
 msgstr "                γνωστό σαν \""
 
-#: g10/mainproc.c:2438
+#: g10/mainproc.c:2447
 #, fuzzy, c-format
 #| msgid "WARNING: This key is not certified with a trusted signature!\n"
 msgid "WARNING: This key is not suitable for signing in %s mode\n"
@@ -6247,68 +6260,68 @@ msgstr ""
 "ΠΡΟΕΙΔΟΠΟΙΗΣΗ: Αυτό το κλειδί δεν έχει πιστοποιηθεί με εμπιστεύσιμη "
 "υπογραφή!\n"
 
-#: g10/mainproc.c:2456
+#: g10/mainproc.c:2465
 #, c-format
 msgid "Signature expired %s\n"
 msgstr "Υπογραφή έληξε στις %s.\n"
 
-#: g10/mainproc.c:2460
+#: g10/mainproc.c:2469
 #, c-format
 msgid "Signature expires %s\n"
 msgstr "Υπογραφή λήγει στις %s.\n"
 
-#: g10/mainproc.c:2471
+#: g10/mainproc.c:2480
 #, fuzzy, c-format
 #| msgid "%s signature, digest algorithm %s\n"
 msgid "%s signature, digest algorithm %s%s%s\n"
 msgstr "%s υπογραφή, αλγόριθμος περίληψης %s\n"
 
-#: g10/mainproc.c:2472
+#: g10/mainproc.c:2481
 msgid "binary"
 msgstr "δυαδικό"
 
-#: g10/mainproc.c:2473
+#: g10/mainproc.c:2482
 msgid "textmode"
 msgstr "κατάσταση-κειμένου"
 
-#: g10/mainproc.c:2473 g10/trust.c:123 dirmngr/ocsp.c:792
+#: g10/mainproc.c:2482 g10/trust.c:123 dirmngr/ocsp.c:792
 msgid "unknown"
 msgstr "άγνωστο"
 
-#: g10/mainproc.c:2475
+#: g10/mainproc.c:2484
 #, fuzzy
 #| msgid "unknown pubkey algorithm"
 msgid ", key algorithm "
 msgstr "άγνωστος αλγόριθμος δημοσίου κλειδιού"
 
-#: g10/mainproc.c:2510
+#: g10/mainproc.c:2519
 #, c-format
 msgid "WARNING: not a detached signature; file '%s' was NOT verified!\n"
 msgstr ""
 
-#: g10/mainproc.c:2548
+#: g10/mainproc.c:2558
 #, c-format
 msgid "Can't check signature: %s\n"
 msgstr "Αδυναμία ελέγχου της υπογραφής: %s\n"
 
-#: g10/mainproc.c:2644 g10/mainproc.c:2663 g10/mainproc.c:2787
+#: g10/mainproc.c:2654 g10/mainproc.c:2673 g10/mainproc.c:2797
 #, c-format
 msgid "not a detached signature\n"
 msgstr "δεν είναι αποκομμένη υπογραφή\n"
 
-#: g10/mainproc.c:2697
+#: g10/mainproc.c:2707
 #, c-format
 msgid ""
 "WARNING: multiple signatures detected.  Only the first will be checked.\n"
 msgstr ""
 "ΠΡΟΕΙΔΟΠΟΙΗΣΗ: εντοπισμός πολλαπλών υπογραφών. Μόνο η πρώτη θα ελεγχθεί.\n"
 
-#: g10/mainproc.c:2706
+#: g10/mainproc.c:2716
 #, c-format
 msgid "standalone signature of class 0x%02x\n"
 msgstr "ανεξάρτητη υπογραφή κλάσης 0x%02x\n"
 
-#: g10/mainproc.c:2791
+#: g10/mainproc.c:2801
 #, c-format
 msgid "old style (PGP 2.x) signature\n"
 msgstr "υπογραφή παλιού στυλ (PGP 2.x)\n"
@@ -6497,56 +6510,61 @@ msgstr "Σημείωση κρίσιμης υπογραφής: "
 msgid "subpacket of type %d has critical bit set\n"
 msgstr "υποπακέτο τύπου %d έχει ορισμένο το κριτικό bit\n"
 
-#: g10/passphrase.c:73 g10/passphrase.c:275 g10/passphrase.c:308
+#: g10/passphrase.c:73 g10/passphrase.c:283 g10/passphrase.c:316
 #, fuzzy, c-format
 msgid "problem with the agent: %s\n"
 msgstr "πρόβλημα με τον agent: agent επιστρέφει 0x%lx\n"
 
-#: g10/passphrase.c:258
+#: g10/passphrase.c:251 sm/decrypt.c:341
+#, fuzzy
+msgid "Please enter the passphrase for decryption."
+msgstr "αλλαγή της φράσης κλειδί"
+
+#: g10/passphrase.c:253
 msgid "Enter passphrase\n"
 msgstr "Πληκτρολογήστε τη φράση κλειδί\n"
 
-#: g10/passphrase.c:269
+#: g10/passphrase.c:277
 #, c-format
 msgid "cancelled by user\n"
 msgstr "ακυρώθηκε από το χρήστη\n"
 
-#: g10/passphrase.c:510
+#: g10/passphrase.c:523
 #, fuzzy, c-format
 msgid " (main key ID %s)"
 msgstr " (κύριο κλειδί, ID %08lX)"
 
-#: g10/passphrase.c:517
+#: g10/passphrase.c:530
 #, fuzzy
 msgid "Please enter the passphrase to unlock the OpenPGP secret key:"
 msgstr "Πληκτρολογήστε τη φράση κλειδί· αυτή είναι μια μυστική πρόταση \n"
 
-#: g10/passphrase.c:521
+#: g10/passphrase.c:534
 #, fuzzy
 msgid "Please enter the passphrase to import the OpenPGP secret key:"
 msgstr "Πληκτρολογήστε τη φράση κλειδί· αυτή είναι μια μυστική πρόταση \n"
 
-#: g10/passphrase.c:526
+#: g10/passphrase.c:539
 #, fuzzy
 msgid "Please enter the passphrase to export the OpenPGP secret subkey:"
 msgstr "Πληκτρολογήστε τη φράση κλειδί· αυτή είναι μια μυστική πρόταση \n"
 
-#: g10/passphrase.c:529
+#: g10/passphrase.c:542
 #, fuzzy
 msgid "Please enter the passphrase to export the OpenPGP secret key:"
 msgstr "Πληκτρολογήστε τη φράση κλειδί· αυτή είναι μια μυστική πρόταση \n"
 
-#: g10/passphrase.c:534
+#: g10/passphrase.c:547
 #, fuzzy
 msgid "Do you really want to permanently delete the OpenPGP secret subkey key:"
 msgstr "Σίγουρα θέλετε να διαγραφούν τα επιλεγμένα κλειδιά; "
 
-#: g10/passphrase.c:537
+#: g10/passphrase.c:550
 #, fuzzy
 msgid "Do you really want to permanently delete the OpenPGP secret key:"
 msgstr "Σίγουρα θέλετε να διαγραφούν τα επιλεγμένα κλειδιά; "
 
-#: g10/passphrase.c:546
+#: g10/passphrase.c:559
 #, fuzzy, c-format
 msgid ""
 "%s\n"
@@ -6598,7 +6616,7 @@ msgstr "\"%s\" δεν είναι JPEG αρχείο\n"
 msgid "Is this photo correct (y/N/q)? "
 msgstr "Είναι αυτή η φωτογραφία σωστή (y/N/q); "
 
-#: g10/photoid.c:395
+#: g10/photoid.c:399
 #, c-format
 msgid "unable to display photo ID!\n"
 msgstr "αδυναμία απεικόνισης του photo ID!\n"
@@ -6961,7 +6979,7 @@ msgstr "αδυναμία πρόσβασης υπογεγραμμένων δεδ
 msgid "can't open signed data fd=%d: %s\n"
 msgstr "αδυναμία πρόσβασης υπογεγραμμένων δεδομένων `%s'\n"
 
-#: g10/pubkey-enc.c:98 g10/pubkey-enc.c:139 sm/decrypt.c:493
+#: g10/pubkey-enc.c:98 g10/pubkey-enc.c:139 sm/decrypt.c:969
 #, fuzzy, c-format
 msgid "key %s is not suitable for decryption in %s mode\n"
 msgstr "κλειδί %08lX: δεν υπάρχει αυτό το user ID\n"
@@ -6976,27 +6994,27 @@ msgstr "ανώνυμος παραλήπτης· δοκιμή μυστικού κ
 msgid "okay, we are the anonymous recipient.\n"
 msgstr "εντάξει, είμαστε ο ανώνυμος παραλήπτης.\n"
 
-#: g10/pubkey-enc.c:321
+#: g10/pubkey-enc.c:311
 #, c-format
 msgid "old encoding of the DEK is not supported\n"
 msgstr "παλαιά κωδικοποίηση του DEK δεν υποστηρίζεται\n"
 
-#: g10/pubkey-enc.c:349
+#: g10/pubkey-enc.c:339
 #, c-format
 msgid "cipher algorithm %d%s is unknown or disabled\n"
 msgstr "ο αλγόριθμος κρυπτογράφησης %d%s είναι άγνωστος ή απενεργοποιημένος\n"
 
-#: g10/pubkey-enc.c:393
+#: g10/pubkey-enc.c:383
 #, fuzzy, c-format
 msgid "WARNING: cipher algorithm %s not found in recipient preferences\n"
 msgstr "ΣΗΜΕΙΩΣΗ: ο αλγόριθμος κρυπτογράφησης %d δεν είναι στις επιλογές\n"
 
-#: g10/pubkey-enc.c:426
+#: g10/pubkey-enc.c:416
 #, fuzzy, c-format
 msgid "Note: secret key %s expired at %s\n"
 msgstr "ΣΗΜΕΙΩΣΗ: το μυστικό κλειδί %08lX έληξε στις %s\n"
 
-#: g10/pubkey-enc.c:433
+#: g10/pubkey-enc.c:423
 #, fuzzy, c-format
 #| msgid "NOTE: key has been revoked"
 msgid "Note: key has been revoked"
@@ -7319,7 +7337,7 @@ msgstr ""
 msgid "%s/%s signature from: \"%s\"\n"
 msgstr "%s υπογραφή από: \"%s\"\n"
 
-#: g10/sign.c:1046
+#: g10/sign.c:1045
 #, fuzzy, c-format
 msgid ""
 "WARNING: forcing digest algorithm %s (%d) violates recipient preferences\n"
@@ -7327,34 +7345,34 @@ msgstr ""
 "ο εξαναγκασμός του αλγόριθμου περίληψης %s (%d) παραβιάζει τις\n"
 "προεπιλογές του παραλήπτη\n"
 
-#: g10/sign.c:1188
+#: g10/sign.c:1187
 #, c-format
 msgid "signing:"
 msgstr "υπογραφή:"
 
-#: g10/sign.c:1465
+#: g10/sign.c:1464
 #, c-format
 msgid "%s encryption will be used\n"
 msgstr "%s κρυπτογράφηση θα χρησιμοποιηθεί\n"
 
-#: g10/skclist.c:173 g10/skclist.c:254
+#: g10/skclist.c:174 g10/skclist.c:255
 #, c-format
 msgid "key is not flagged as insecure - can't use it with the faked RNG!\n"
 msgstr ""
 "το κλειδί δεν έχει σημειωθεί σαν ανασφαλές - δεν μπορεί να χρησιμοποιηθεί με "
 "ψεύτικη RNG!\n"
 
-#: g10/skclist.c:205
+#: g10/skclist.c:206
 #, fuzzy, c-format
 msgid "skipped \"%s\": duplicated\n"
 msgstr "παραλείφθηκε `%s': αντιγράφτηκε\n"
 
-#: g10/skclist.c:224
+#: g10/skclist.c:225
 #, c-format
 msgid "skipped: secret key already present\n"
 msgstr "παραλείφθηκε: μυστικό κλειδί ήδη παρών\n"
 
-#: g10/skclist.c:243
+#: g10/skclist.c:244
 #, fuzzy
 msgid "this is a PGP generated Elgamal key which is not secure for signatures!"
 msgstr ""
@@ -7414,7 +7432,7 @@ msgstr "σφάλμα ανάγνωσης: %s\n"
 msgid "trustdb: sync failed: %s\n"
 msgstr "trustdb: sync απέτυχε: %s\n"
 
-#: g10/tdbio.c:144 sm/keydb.c:336
+#: g10/tdbio.c:144 sm/keydb.c:335
 #, fuzzy, c-format
 msgid "can't create lock for '%s'\n"
 msgstr "αδυναμία δημιουργίας του `%s': %s\n"
@@ -8155,40 +8173,52 @@ msgstr "Χρήση: gpg [επιλογές] [αρχεία] (-h για βοήθε
 #. TRANSLATORS: Put a \x1f right before a colon.  This can be
 #. * used by pinentry to nicely align the names and values.  Keep
 #. * the %s at the start and end of the string.
-#: scd/app-p15.c:3369 scd/app-openpgp.c:2153
+#: scd/app-p15.c:4955 scd/app-openpgp.c:2151
 #, c-format
 msgid "%sNumber\1f: %s%%0AHolder\1f: %s%s"
 msgstr ""
 
 #. TRANSLATORS: This is the number of remaining attempts to
 #. * enter a PIN.  Use %%0A (double-percent,0A) for a linefeed.
-#: scd/app-p15.c:3388 scd/app-openpgp.c:2169
+#: scd/app-p15.c:4974 scd/app-openpgp.c:2167
 #, c-format
 msgid "Remaining attempts: %d"
 msgstr ""
 
-#: scd/app-p15.c:3459 scd/app-nks.c:1110
+#: scd/app-p15.c:5053 scd/app-nks.c:1113
 msgid "||Please enter the PIN for the key to create qualified signatures."
 msgstr ""
 
-#: scd/app-p15.c:3462 scd/app-nks.c:1092
+#. TRANSLATORS: Do not translate the "|A|" prefix but keep it at
+#. the start of the string.  Use %0A (single percent) for a linefeed.
+#: scd/app-p15.c:5056 scd/app-openpgp.c:2461
+#, fuzzy
+msgid "|A|Please enter the Admin PIN"
+msgstr "αλλαγή της φράσης κλειδί"
+
+#: scd/app-p15.c:5058 scd/app-nks.c:1103
+#, fuzzy
+msgid "|P|Please enter the PIN Unblocking Code (PUK) for the standard keys."
+msgstr "Παρακαλώ επιλέξτε την αιτία για την ανάκληση:\n"
+
+#: scd/app-p15.c:5061 scd/app-nks.c:1095
 #, fuzzy
 msgid "||Please enter the PIN for the standard keys."
 msgstr "αλλαγή της φράσης κλειδί"
 
-#: scd/app-nks.c:709 scd/app-openpgp.c:3664
+#: scd/app-nks.c:709 scd/app-openpgp.c:3663
 #, c-format
 msgid "RSA modulus missing or not of size %d bits\n"
 msgstr ""
 
-#: scd/app-nks.c:717 scd/app-openpgp.c:3676
+#: scd/app-nks.c:717 scd/app-openpgp.c:3675
 #, c-format
 msgid "RSA public exponent missing or larger than %d bits\n"
 msgstr ""
 
-#: scd/app-nks.c:797 scd/app-openpgp.c:2326 scd/app-openpgp.c:2345
-#: scd/app-openpgp.c:2512 scd/app-openpgp.c:2530 scd/app-openpgp.c:2827
-#: scd/app-openpgp.c:2874 scd/app-openpgp.c:2989 scd/app-dinsig.c:303
+#: scd/app-nks.c:797 scd/app-openpgp.c:2324 scd/app-openpgp.c:2343
+#: scd/app-openpgp.c:2510 scd/app-openpgp.c:2528 scd/app-openpgp.c:2826
+#: scd/app-openpgp.c:2873 scd/app-openpgp.c:2988 scd/app-dinsig.c:302
 #, c-format
 msgid "PIN callback returned error: %s\n"
 msgstr ""
@@ -8198,79 +8228,74 @@ msgstr ""
 msgid "the NullPIN has not yet been changed\n"
 msgstr ""
 
-#: scd/app-nks.c:1091
+#: scd/app-nks.c:1094
 #, fuzzy
 msgid "|N|Please enter a new PIN for the standard keys."
 msgstr "αλλαγή της φράσης κλειδί"
 
-#: scd/app-nks.c:1098
+#: scd/app-nks.c:1101
 #, fuzzy
 msgid "|NP|Please enter a new PIN Unblocking Code (PUK) for the standard keys."
 msgstr "Παρακαλώ επιλέξτε την αιτία για την ανάκληση:\n"
 
-#: scd/app-nks.c:1100
-#, fuzzy
-msgid "|P|Please enter the PIN Unblocking Code (PUK) for the standard keys."
-msgstr "Παρακαλώ επιλέξτε την αιτία για την ανάκληση:\n"
-
-#: scd/app-nks.c:1108
+#: scd/app-nks.c:1111
 msgid "|N|Please enter a new PIN for the key to create qualified signatures."
 msgstr ""
 
-#: scd/app-nks.c:1118
+#: scd/app-nks.c:1121
 msgid ""
 "|NP|Please enter a new PIN Unblocking Code (PUK) for the key to create "
 "qualified signatures."
 msgstr ""
 
-#: scd/app-nks.c:1120
+#: scd/app-nks.c:1123
 msgid ""
 "|P|Please enter the PIN Unblocking Code (PUK) for the key to create "
 "qualified signatures."
 msgstr ""
 
-#: scd/app-nks.c:1227 scd/app-openpgp.c:2908 scd/app-dinsig.c:531
+#: scd/app-nks.c:1230 scd/app-openpgp.c:2907 scd/app-dinsig.c:532
 #, fuzzy, c-format
 msgid "error getting new PIN: %s\n"
 msgstr "σφάλμα στη δημιουργία της φράσης κλειδί: %s\n"
 
-#: scd/app-openpgp.c:860
+#: scd/app-openpgp.c:859
 #, fuzzy, c-format
 msgid "failed to store the fingerprint: %s\n"
 msgstr "αποτυχία αρχικοποίησης της TrustDB: %s\n"
 
-#: scd/app-openpgp.c:873
+#: scd/app-openpgp.c:872
 #, fuzzy, c-format
 msgid "failed to store the creation date: %s\n"
 msgstr "αποτυχία επαναδόμησης της cache κλειδοθήκης: %s\n"
 
-#: scd/app-openpgp.c:1272 scd/app-openpgp.c:2855 scd/app-openpgp.c:5020
+#: scd/app-openpgp.c:1268 scd/app-openpgp.c:2854 scd/app-openpgp.c:5025
 #, c-format
 msgid "error retrieving CHV status from card\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1430
+#: scd/app-openpgp.c:1426
 #, c-format
 msgid "response does not contain the RSA modulus\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1437
+#: scd/app-openpgp.c:1433
 #, c-format
 msgid "response does not contain the RSA public exponent\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1547
+#: scd/app-openpgp.c:1543
 #, fuzzy, c-format
 #| msgid "remove keys from the public keyring"
 msgid "response does not contain the EC public key\n"
 msgstr "αφαίρεση των κλειδιών από τη δημόσια κλειδοθήκη"
 
-#: scd/app-openpgp.c:1665 scd/app-openpgp.c:4284
+#: scd/app-openpgp.c:1661 scd/app-openpgp.c:4283
 #, c-format
 msgid "response does not contain the public key data\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1772
+#: scd/app-openpgp.c:1768
 #, fuzzy, c-format
 msgid "reading public key failed: %s\n"
 msgstr "διαγραφή block κλειδιών απέτυχε: %s\n"
@@ -8278,43 +8303,43 @@ msgstr "διαγραφή block κλειδιών απέτυχε: %s\n"
 #. TRANSLATORS: Put a \x1f right before a colon.  This can be
 #. * used by pinentry to nicely align the names and values.  Keep
 #. * the %s at the start and end of the string.
-#: scd/app-openpgp.c:2140
+#: scd/app-openpgp.c:2138
 #, c-format
 msgid "%sNumber\1f: %s%%0AHolder\1f: %s%%0ACounter\1f: %lu%s"
 msgstr ""
 
-#: scd/app-openpgp.c:2280
+#: scd/app-openpgp.c:2278
 #, c-format
 msgid "using default PIN as %s\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2287
+#: scd/app-openpgp.c:2285
 #, c-format
 msgid "failed to use default PIN as %s: %s - disabling further default use\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2300
+#: scd/app-openpgp.c:2298
 #, fuzzy
 msgid "||Please unlock the card"
 msgstr "αλλαγή της φράσης κλειδί"
 
-#: scd/app-openpgp.c:2352 scd/app-openpgp.c:2537 scd/app-openpgp.c:2834
+#: scd/app-openpgp.c:2350 scd/app-openpgp.c:2535 scd/app-openpgp.c:2833
 #, c-format
 msgid "PIN for CHV%d is too short; minimum length is %d\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2366 scd/app-openpgp.c:2413 scd/app-openpgp.c:2551
-#: scd/app-openpgp.c:4642
+#: scd/app-openpgp.c:2364 scd/app-openpgp.c:2411 scd/app-openpgp.c:2549
+#: scd/app-openpgp.c:4641
 #, fuzzy, c-format
 msgid "verify CHV%d failed: %s\n"
 msgstr "keyserver αποστολή απέτυχε: %s\n"
 
-#: scd/app-openpgp.c:2449 scd/app-openpgp.c:5029
+#: scd/app-openpgp.c:2447 scd/app-openpgp.c:5034
 #, c-format
 msgid "card is permanently locked!\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2453
+#: scd/app-openpgp.c:2451
 #, c-format
 msgid "%d Admin PIN attempt remaining before card is permanently locked\n"
 msgid_plural ""
@@ -8322,29 +8347,22 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-#. TRANSLATORS: Do not translate the "|A|" prefix but keep it at
-#. the start of the string.  Use %0A (single percent) for a linefeed.
-#: scd/app-openpgp.c:2463
-#, fuzzy
-msgid "|A|Please enter the Admin PIN"
-msgstr "αλλαγή της φράσης κλειδί"
-
-#: scd/app-openpgp.c:2484
+#: scd/app-openpgp.c:2482
 #, c-format
 msgid "access to admin commands is not configured\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2821
+#: scd/app-openpgp.c:2820
 #, fuzzy
 msgid "||Please enter the PIN"
 msgstr "αλλαγή της φράσης κλειδί"
 
-#: scd/app-openpgp.c:2870
+#: scd/app-openpgp.c:2869
 #, fuzzy
 msgid "||Please enter the Reset Code for the card"
 msgstr "Παρακαλώ επιλέξτε την αιτία για την ανάκληση:\n"
 
-#: scd/app-openpgp.c:2880 scd/app-openpgp.c:2941
+#: scd/app-openpgp.c:2879 scd/app-openpgp.c:2940
 #, c-format
 msgid "Reset Code is too short; minimum length is %d\n"
 msgstr ""
@@ -8352,128 +8370,128 @@ msgstr ""
 #. TRANSLATORS: Do not translate the "|*|" prefixes but
 #. keep it at the start of the string.  We need this elsewhere
 #. to get some infos on the string.
-#: scd/app-openpgp.c:2903
+#: scd/app-openpgp.c:2902
 msgid "|RN|New Reset Code"
 msgstr ""
 
-#: scd/app-openpgp.c:2904
+#: scd/app-openpgp.c:2903
 msgid "|AN|New Admin PIN"
 msgstr ""
 
-#: scd/app-openpgp.c:2904
+#: scd/app-openpgp.c:2903
 msgid "|N|New PIN"
 msgstr ""
 
-#: scd/app-openpgp.c:2985
+#: scd/app-openpgp.c:2984
 #, fuzzy
 msgid "||Please enter the Admin PIN and New Admin PIN"
 msgstr "αλλαγή της φράσης κλειδί"
 
-#: scd/app-openpgp.c:2986
+#: scd/app-openpgp.c:2985
 #, fuzzy
 msgid "||Please enter the PIN and New PIN"
 msgstr "αλλαγή της φράσης κλειδί"
 
-#: scd/app-openpgp.c:3048 scd/app-openpgp.c:4344
+#: scd/app-openpgp.c:3047 scd/app-openpgp.c:4343
 #, fuzzy, c-format
 msgid "error reading application data\n"
 msgstr "σφάλμα κατά την ανάγνωση του μπλοκ κλειδιών: %s\n"
 
-#: scd/app-openpgp.c:3054 scd/app-openpgp.c:4351
+#: scd/app-openpgp.c:3053 scd/app-openpgp.c:4350
 #, fuzzy, c-format
 msgid "error reading fingerprint DO\n"
 msgstr "%s: σφάλμα στην ανάγνωση της εγγραφής free : %s\n"
 
-#: scd/app-openpgp.c:3064
+#: scd/app-openpgp.c:3063
 #, fuzzy, c-format
 msgid "key already exists\n"
 msgstr "`%s' ήδη συμπιέστηκε\n"
 
-#: scd/app-openpgp.c:3068
+#: scd/app-openpgp.c:3067
 #, c-format
 msgid "existing key will be replaced\n"
 msgstr ""
 
-#: scd/app-openpgp.c:3070
+#: scd/app-openpgp.c:3069
 #, fuzzy, c-format
 msgid "generating new key\n"
 msgstr "δημιουργία ενός νέου ζεύγους κλειδιών"
 
-#: scd/app-openpgp.c:3072
+#: scd/app-openpgp.c:3071
 #, fuzzy, c-format
 msgid "writing new key\n"
 msgstr "δημιουργία ενός νέου ζεύγους κλειδιών"
 
-#: scd/app-openpgp.c:3645 scd/app-openpgp.c:3997
+#: scd/app-openpgp.c:3644 scd/app-openpgp.c:3996
 #, c-format
 msgid "creation timestamp missing\n"
 msgstr ""
 
-#: scd/app-openpgp.c:3686 scd/app-openpgp.c:3694
+#: scd/app-openpgp.c:3685 scd/app-openpgp.c:3693
 #, c-format
 msgid "RSA prime %s missing or not of size %d bits\n"
 msgstr ""
 
-#: scd/app-openpgp.c:3827 scd/app-openpgp.c:4104
+#: scd/app-openpgp.c:3826 scd/app-openpgp.c:4103
 #, fuzzy, c-format
 msgid "failed to store the key: %s\n"
 msgstr "αποτυχία αρχικοποίησης της TrustDB: %s\n"
 
-#: scd/app-openpgp.c:3991
+#: scd/app-openpgp.c:3990
 #, fuzzy, c-format
 #| msgid "unsupported URI"
 msgid "unsupported curve\n"
 msgstr "μη υποστηριζόμενο URI"
 
-#: scd/app-openpgp.c:4261
+#: scd/app-openpgp.c:4260
 #, c-format
 msgid "please wait while key is being generated ...\n"
 msgstr ""
 
-#: scd/app-openpgp.c:4269
+#: scd/app-openpgp.c:4268
 #, fuzzy, c-format
 msgid "generating key failed\n"
 msgstr "διαγραφή block κλειδιών απέτυχε: %s\n"
 
-#: scd/app-openpgp.c:4275
+#: scd/app-openpgp.c:4274
 #, fuzzy, c-format
 msgid "key generation completed (%d second)\n"
 msgid_plural "key generation completed (%d seconds)\n"
 msgstr[0] "Η δημιουργία κλειδιού απέτυχε: %s\n"
 msgstr[1] "Η δημιουργία κλειδιού απέτυχε: %s\n"
 
-#: scd/app-openpgp.c:4309
+#: scd/app-openpgp.c:4308
 #, c-format
 msgid "invalid structure of OpenPGP card (DO 0x93)\n"
 msgstr ""
 
-#: scd/app-openpgp.c:4359
+#: scd/app-openpgp.c:4358
 #, c-format
 msgid "fingerprint on card does not match requested one\n"
 msgstr ""
 
-#: scd/app-openpgp.c:4558
+#: scd/app-openpgp.c:4557
 #, fuzzy, c-format
 msgid "card does not support digest algorithm %s\n"
 msgstr "%s υπογραφή, αλγόριθμος περίληψης %s\n"
 
-#: scd/app-openpgp.c:4616
+#: scd/app-openpgp.c:4615
 #, c-format
 msgid "signatures created so far: %lu\n"
 msgstr ""
 
-#: scd/app-openpgp.c:5034
+#: scd/app-openpgp.c:5039
 #, c-format
 msgid ""
 "verification of Admin PIN is currently prohibited through this command\n"
 msgstr ""
 
-#: scd/app-openpgp.c:5346 scd/app-openpgp.c:5357
+#: scd/app-openpgp.c:5351 scd/app-openpgp.c:5362
 #, fuzzy, c-format
 msgid "can't access %s - invalid OpenPGP card?\n"
 msgstr "δε βρέθηκαν έγκυρα OpenPGP δεδομένα.\n"
 
-#: scd/app-dinsig.c:299
+#: scd/app-dinsig.c:298
 #, fuzzy
 msgid "||Please enter your PIN at the reader's pinpad"
 msgstr "αλλαγή της φράσης κλειδί"
@@ -8481,7 +8499,7 @@ msgstr "αλλαγή της φράσης κλειδί"
 #. TRANSLATORS: Do not translate the "|*|" prefixes but
 #. keep it at the start of the string.  We need this elsewhere
 #. to get some infos on the string.
-#: scd/app-dinsig.c:528
+#: scd/app-dinsig.c:529
 msgid "|N|Initial New PIN"
 msgstr ""
 
@@ -8489,7 +8507,7 @@ msgstr ""
 msgid "run in multi server mode (foreground)"
 msgstr ""
 
-#: scd/scdaemon.c:129 sm/gpgsm.c:345 dirmngr/dirmngr.c:187
+#: scd/scdaemon.c:129 sm/gpgsm.c:348 dirmngr/dirmngr.c:188
 msgid "|LEVEL|set the debugging level to LEVEL"
 msgstr ""
 
@@ -8512,50 +8530,50 @@ msgstr "|ΟΝΟΜΑ|χρήση του ΟΝΟΜΑτος ως προκαθορισ
 msgid "|NAME|use NAME as PC/SC driver"
 msgstr "|ΟΝΟΜΑ|χρήση του ΟΝΟΜΑτος ως προκαθορισμένου παραλήπτη"
 
-#: scd/scdaemon.c:145
+#: scd/scdaemon.c:146
 #, fuzzy
 msgid "do not use the internal CCID driver"
 msgstr "μη χρήση τερματικού"
 
-#: scd/scdaemon.c:151
+#: scd/scdaemon.c:152
 msgid "|N|disconnect the card after N seconds of inactivity"
 msgstr ""
 
-#: scd/scdaemon.c:154
+#: scd/scdaemon.c:155
 msgid "do not use a reader's pinpad"
 msgstr ""
 
-#: scd/scdaemon.c:159
+#: scd/scdaemon.c:160
 #, fuzzy
 msgid "deny the use of admin card commands"
 msgstr "συγκρουόμενες εντολές\n"
 
-#: scd/scdaemon.c:162
+#: scd/scdaemon.c:163
 msgid "use variable length input for pinpad"
 msgstr ""
 
-#: scd/scdaemon.c:311
+#: scd/scdaemon.c:312
 #, fuzzy
 msgid "Usage: @SCDAEMON@ [options] (-h for help)"
 msgstr "Χρήση: gpg [επιλογές] [αρχεία] (-h για βοήθεια)"
 
-#: scd/scdaemon.c:313
+#: scd/scdaemon.c:314
 msgid ""
 "Syntax: scdaemon [options] [command [args]]\n"
 "Smartcard daemon for @GNUPG@\n"
 msgstr ""
 
-#: scd/scdaemon.c:806
+#: scd/scdaemon.c:808
 #, c-format
 msgid "please use the option '--daemon' to run the program in the background\n"
 msgstr ""
 
-#: scd/scdaemon.c:1183 dirmngr/dirmngr.c:2082
+#: scd/scdaemon.c:1185 dirmngr/dirmngr.c:2119
 #, c-format
 msgid "handler for fd %d started\n"
 msgstr ""
 
-#: scd/scdaemon.c:1195 dirmngr/dirmngr.c:2090
+#: scd/scdaemon.c:1197 dirmngr/dirmngr.c:2127
 #, c-format
 msgid "handler for fd %d terminated\n"
 msgstr ""
@@ -8603,7 +8621,7 @@ msgstr "εγγραφή του μυστικού κλειδιού στο `%s'\n"
 msgid "certificate policy not allowed"
 msgstr "εγγραφή του μυστικού κλειδιού στο `%s'\n"
 
-#: sm/certchain.c:595 sm/keydb.c:1106 sm/keydb.c:1192
+#: sm/certchain.c:595 sm/keydb.c:1084 sm/keydb.c:1171
 #, fuzzy, c-format
 msgid "failed to get the fingerprint\n"
 msgstr "αποτυχία αρχικοποίησης της TrustDB: %s\n"
@@ -8639,8 +8657,8 @@ msgstr "σφάλμα στη δημιουργία της φράσης κλειδ
 msgid "dirmngr cache-only key lookup failed: %s\n"
 msgstr "διαγραφή block κλειδιών απέτυχε: %s\n"
 
-#: sm/certchain.c:1041 sm/certchain.c:1554 sm/certchain.c:2192 sm/decrypt.c:265
-#: sm/encrypt.c:344 sm/import.c:415 sm/keydb.c:1113 sm/keydb.c:1199
+#: sm/certchain.c:1041 sm/certchain.c:1554 sm/certchain.c:2192 sm/decrypt.c:728
+#: sm/encrypt.c:345 sm/import.c:415 sm/keydb.c:1091 sm/keydb.c:1178
 #: sm/sign.c:337 sm/verify.c:118
 #, fuzzy, c-format
 msgid "failed to allocate keyDB handle\n"
@@ -8838,13 +8856,13 @@ msgid "a %u bit hash is not valid for a %u bit %s key\n"
 msgstr ""
 
 #: sm/certcheck.c:238 sm/certcheck.c:262 dirmngr/crlcache.c:1542
-#: dirmngr/crlcache.c:1566 dirmngr/dirmngr.c:1324 dirmngr/validate.c:903
+#: dirmngr/crlcache.c:1566 dirmngr/dirmngr.c:1361 dirmngr/validate.c:903
 #: dirmngr/validate.c:927
 #, fuzzy, c-format
 msgid "out of core\n"
 msgstr "μη επεξεργασμένο"
 
-#: sm/certcheck.c:371 sm/verify.c:213
+#: sm/certcheck.c:370 sm/verify.c:213
 #, c-format
 msgid "(this is the MD2 algorithm)\n"
 msgstr ""
@@ -9142,22 +9160,33 @@ msgstr ""
 msgid "resource problem: out of core\n"
 msgstr ""
 
-#: sm/decrypt.c:341
+#: sm/decrypt.c:536
+#, fuzzy, c-format
+#| msgid "%s encrypted data\n"
+msgid "%s.%s encrypted data\n"
+msgstr "%s κρυπτογραφημένα δεδομένα\n"
+
+#: sm/decrypt.c:803
 #, c-format
 msgid "(this is the RC2 algorithm)\n"
 msgstr ""
 
-#: sm/decrypt.c:343
+#: sm/decrypt.c:805
 #, c-format
 msgid "(this does not seem to be an encrypted message)\n"
 msgstr ""
 
+#: sm/decrypt.c:958
+#, fuzzy, c-format
+msgid "encrypted to %s key %s\n"
+msgstr "κρυπτογραφημένο με %s key, ID %08lX\n"
+
 #: sm/delete.c:51 sm/delete.c:112
 #, fuzzy, c-format
 msgid "certificate '%s' not found: %s\n"
 msgstr "το κλειδί '%s' δε βρέθηκε: %s\n"
 
-#: sm/delete.c:122 sm/keydb.c:1209 sm/keydb.c:1307
+#: sm/delete.c:122 sm/keydb.c:1189 sm/keydb.c:1288
 #, fuzzy, c-format
 msgid "error locking keybox: %s\n"
 msgstr "σφάλμα κατά την ανάγνωση του μπλοκ κλειδιών: %s\n"
@@ -9177,139 +9206,139 @@ msgstr "η προεπιλογή %c%lu αντιγράφτηκε\n"
 msgid "deleting certificate \"%s\" failed: %s\n"
 msgstr "διαγραφή block κλειδιών απέτυχε: %s\n"
 
-#: sm/encrypt.c:330
+#: sm/encrypt.c:331
 #, fuzzy, c-format
 msgid "no valid recipients given\n"
 msgstr "(Δεν δώθηκε περιγραφή)\n"
 
-#: sm/gpgsm.c:215
+#: sm/gpgsm.c:216
 #, fuzzy
 msgid "list external keys"
 msgstr "απεικόνιση της λίστας μυστικών κλειδιών"
 
-#: sm/gpgsm.c:217
+#: sm/gpgsm.c:218
 #, fuzzy
 msgid "list certificate chain"
 msgstr "κακό πιστοποιητικό"
 
-#: sm/gpgsm.c:225
+#: sm/gpgsm.c:226
 #, fuzzy
 msgid "import certificates"
 msgstr "κακό πιστοποιητικό"
 
-#: sm/gpgsm.c:226
+#: sm/gpgsm.c:227
 #, fuzzy
 msgid "export certificates"
 msgstr "κακό πιστοποιητικό"
 
-#: sm/gpgsm.c:234
+#: sm/gpgsm.c:235
 msgid "register a smartcard"
 msgstr ""
 
-#: sm/gpgsm.c:237
+#: sm/gpgsm.c:238
 msgid "pass a command to the dirmngr"
 msgstr ""
 
-#: sm/gpgsm.c:239
+#: sm/gpgsm.c:240
 msgid "invoke gpg-protect-tool"
 msgstr ""
 
-#: sm/gpgsm.c:256
+#: sm/gpgsm.c:257
 #, fuzzy
 msgid "create base-64 encoded output"
 msgstr "δημιουργία ascii θωρακισμένης εξόδου"
 
-#: sm/gpgsm.c:265
+#: sm/gpgsm.c:266
 msgid "assume input is in PEM format"
 msgstr ""
 
-#: sm/gpgsm.c:267
+#: sm/gpgsm.c:268
 msgid "assume input is in base-64 format"
 msgstr ""
 
-#: sm/gpgsm.c:269
+#: sm/gpgsm.c:270
 msgid "assume input is in binary format"
 msgstr ""
 
-#: sm/gpgsm.c:276
+#: sm/gpgsm.c:277
 msgid "never consult a CRL"
 msgstr ""
 
-#: sm/gpgsm.c:286
+#: sm/gpgsm.c:287
 msgid "check validity using OCSP"
 msgstr ""
 
-#: sm/gpgsm.c:291
+#: sm/gpgsm.c:292
 msgid "|N|number of certificates to include"
 msgstr ""
 
-#: sm/gpgsm.c:294
+#: sm/gpgsm.c:295
 msgid "|FILE|take policy information from FILE"
 msgstr ""
 
-#: sm/gpgsm.c:297
+#: sm/gpgsm.c:298
 msgid "do not check certificate policies"
 msgstr ""
 
-#: sm/gpgsm.c:301
+#: sm/gpgsm.c:302
 msgid "fetch missing issuer certificates"
 msgstr ""
 
-#: sm/gpgsm.c:312
+#: sm/gpgsm.c:313
 msgid "don't use the terminal at all"
 msgstr "μη χρήση τερματικού"
 
-#: sm/gpgsm.c:314
+#: sm/gpgsm.c:315
 msgid "|FILE|write a server mode log to FILE"
 msgstr ""
 
-#: sm/gpgsm.c:319
+#: sm/gpgsm.c:320
 #, fuzzy
 msgid "|FILE|write an audit log to FILE"
 msgstr "|ΑΡΧΕΙΟ|φόρτωμα του αρθρώματος επέκτασης ΑΡΧΕΙΟ"
 
-#: sm/gpgsm.c:322
+#: sm/gpgsm.c:323
 msgid "batch mode: never ask"
 msgstr "κατάσταση batch: να μη γίνονται ερωτήσεις"
 
-#: sm/gpgsm.c:323
+#: sm/gpgsm.c:324
 msgid "assume yes on most questions"
 msgstr "απάντηση ναι στις περισσότερες ερωτήσεις"
 
-#: sm/gpgsm.c:324
+#: sm/gpgsm.c:325
 msgid "assume no on most questions"
 msgstr "απάντηση όχι στις περισσότερες ερωτήσεις"
 
-#: sm/gpgsm.c:327
+#: sm/gpgsm.c:328
 #, fuzzy
 msgid "|FILE|add keyring to the list of keyrings"
 msgstr "προσθήκη αυτού του κλειδιού στη λίστα των κλειδοθηκών"
 
-#: sm/gpgsm.c:330
+#: sm/gpgsm.c:331
 #, fuzzy
 msgid "|USER-ID|use USER-ID as default secret key"
 msgstr "|ΟΝΟΜΑ|χρήση ΟΝΟΜΑτος σαν προκαθορισμένο μυστικό κλειδί"
 
-#: sm/gpgsm.c:340 tools/gpgconf-comp.c:837
+#: sm/gpgsm.c:341 dirmngr/dirmngr.c:214 tools/gpgconf-comp.c:841
 #, fuzzy
 msgid "|SPEC|use this keyserver to lookup keys"
 msgstr "|ΔΙΑΚΟΜΙΣΤΗΣ|χρήση αυτού του διακομιστή κλειδιών για αναζήτηση"
 
-#: sm/gpgsm.c:357
+#: sm/gpgsm.c:360
 msgid "|NAME|use cipher algorithm NAME"
 msgstr "|ΟΝΟΜΑ|χρήση αλγόριθμου κρυπτογράφησης ΟΝΟΜΑ"
 
-#: sm/gpgsm.c:359
+#: sm/gpgsm.c:362
 msgid "|NAME|use message digest algorithm NAME"
 msgstr "|ΟΝΟΜΑ|χρήση αλγόριθμου περίληψης μηνύματος ΟΝΟΜΑ "
 
-#: sm/gpgsm.c:570
+#: sm/gpgsm.c:573
 #, fuzzy
 #| msgid "Usage: gpg [options] [files] (-h for help)"
 msgid "Usage: @GPGSM@ [options] [files] (-h for help)"
 msgstr "Χρήση: gpg [επιλογές] [αρχεία] (-h για βοήθεια)"
 
-#: sm/gpgsm.c:573
+#: sm/gpgsm.c:576
 #, fuzzy
 msgid ""
 "Syntax: @GPGSM@ [options] [files]\n"
@@ -9320,47 +9349,27 @@ msgstr ""
 "υπογραφή, έλεγχος, κρυπτογράφηση ή αποκρυπτογράφηση\n"
 "η προκαθορισμένη λειτουργία εξαρτάται από τα δεδομένα εισόδου\n"
 
-#: sm/gpgsm.c:777
+#: sm/gpgsm.c:784
 #, fuzzy, c-format
 msgid "Note: won't be able to encrypt to '%s': %s\n"
 msgstr "αδυναμία σύνδεσης στο `%s': %s\n"
 
-#: sm/gpgsm.c:788
+#: sm/gpgsm.c:795
 #, fuzzy, c-format
 msgid "unknown validation model '%s'\n"
 msgstr "άγνωστος προκαθορισμένος παραλήπτης `%s'\n"
 
-#: sm/gpgsm.c:839 dirmngr/ldapserver.c:86
-#, fuzzy, c-format
-msgid "%s:%u: no hostname given\n"
-msgstr "(Δεν δώθηκε περιγραφή)\n"
-
-#: sm/gpgsm.c:858 dirmngr/ldapserver.c:105
-#, c-format
-msgid "%s:%u: password given without user\n"
-msgstr ""
-
-#: sm/gpgsm.c:879 dirmngr/ldapserver.c:126
-#, fuzzy, c-format
-msgid "%s:%u: skipping this line\n"
-msgstr " s = παράλειψη αυτού του κλειδιού\n"
-
-#: sm/gpgsm.c:1449
-#, fuzzy, c-format
-msgid "could not parse keyserver\n"
-msgstr "αδυναμία επεξεργασίας του URI του διακομιση κλειδιών\n"
-
-#: sm/gpgsm.c:1712
+#: sm/gpgsm.c:1612
 #, fuzzy, c-format
 msgid "importing common certificates '%s'\n"
 msgstr "εγγραφή στο  `%s'\n"
 
-#: sm/gpgsm.c:1755
+#: sm/gpgsm.c:1655
 #, fuzzy, c-format
 msgid "can't sign using '%s': %s\n"
 msgstr "αδυναμία κλεισίματος του `%s': %s\n"
 
-#: sm/gpgsm.c:2122
+#: sm/gpgsm.c:2028
 #, c-format
 msgid "invalid command (there is no implicit command)\n"
 msgstr ""
@@ -9380,7 +9389,7 @@ msgstr "δημιουργία ενός πιστοποιητικού ανάκλη
 msgid "basic certificate checks failed - not imported\n"
 msgstr ""
 
-#: sm/import.c:472 sm/keydb.c:1229 sm/keydb.c:1319
+#: sm/import.c:472 sm/keydb.c:1209 sm/keydb.c:1300
 #, fuzzy, c-format
 msgid "error getting stored flags: %s\n"
 msgstr "σφάλμα στη δημιουργία της φράσης κλειδί: %s\n"
@@ -9395,27 +9404,27 @@ msgstr "σφάλμα στη δημιουργία της φράσης κλειδ
 msgid "error reading input: %s\n"
 msgstr "σφάλμα κατά την ανάγνωση του `%s': %s\n"
 
-#: sm/keydb.c:1148
+#: sm/keydb.c:1127
 #, c-format
 msgid "problem looking for existing certificate: %s\n"
 msgstr ""
 
-#: sm/keydb.c:1160
+#: sm/keydb.c:1139
 #, fuzzy, c-format
 msgid "error finding writable keyDB: %s\n"
 msgstr "σφάλμα στη δημιουργία της φράσης κλειδί: %s\n"
 
-#: sm/keydb.c:1168
+#: sm/keydb.c:1147
 #, fuzzy, c-format
 msgid "error storing certificate: %s\n"
 msgstr "σφάλμα στη δημιουργία της φράσης κλειδί: %s\n"
 
-#: sm/keydb.c:1220
+#: sm/keydb.c:1200
 #, fuzzy, c-format
 msgid "problem re-searching certificate: %s\n"
 msgstr "rev? πρόβλημα στον έλεγχο ανάκλησης: %s\n"
 
-#: sm/keydb.c:1241 sm/keydb.c:1330
+#: sm/keydb.c:1221 sm/keydb.c:1311
 #, fuzzy, c-format
 msgid "error storing flags: %s\n"
 msgstr "σφάλμα κατά την ανάγνωση του `%s': %s\n"
@@ -9450,7 +9459,7 @@ msgid ""
 "%s%sAre you really sure that you want to do this?"
 msgstr ""
 
-#: sm/qualified.c:215 sm/verify.c:678
+#: sm/qualified.c:215 sm/verify.c:679
 #, c-format
 msgid ""
 "Note, that this software is not officially approved to create or verify such "
@@ -9495,23 +9504,23 @@ msgstr ""
 msgid "algorithm:"
 msgstr "θωράκιση: %s\n"
 
-#: sm/verify.c:535
+#: sm/verify.c:536
 #, c-format
 msgid ""
 "invalid signature: message digest attribute does not match computed one\n"
 msgstr ""
 
-#: sm/verify.c:656
+#: sm/verify.c:657
 #, fuzzy, c-format
 msgid "Good signature from"
 msgstr "Καλή υπογραφή από \""
 
-#: sm/verify.c:657
+#: sm/verify.c:658
 #, fuzzy, c-format
 msgid "                aka"
 msgstr "                γνωστό σαν \""
 
-#: sm/verify.c:675
+#: sm/verify.c:676
 #, fuzzy, c-format
 msgid "This is a qualified signature\n"
 msgstr ""
@@ -10145,7 +10154,7 @@ msgid "error retrieving '%s': %s\n"
 msgstr "σφάλμα κατά τη δημιουργία του `%s': %s\n"
 
 #: dirmngr/crlfetch.c:218 dirmngr/ldap-wrapper-ce.c:492
-#: dirmngr/ldap-wrapper.c:884 dirmngr/misc.c:573
+#: dirmngr/ldap-wrapper.c:885 dirmngr/misc.c:573
 #, fuzzy, c-format
 #| msgid "%s: error writing dir record: %s\n"
 msgid "error initializing reader object: %s\n"
@@ -10313,116 +10322,116 @@ msgstr ""
 msgid "looking up '%s'\n"
 msgstr ""
 
-#: dirmngr/dirmngr.c:170
+#: dirmngr/dirmngr.c:171
 msgid "list the contents of the CRL cache"
 msgstr ""
 
-#: dirmngr/dirmngr.c:171
+#: dirmngr/dirmngr.c:172
 #, fuzzy
 msgid "|FILE|load CRL from FILE into cache"
 msgstr "|ΑΡΧΕΙΟ|φόρτωμα του αρθρώματος επέκτασης ΑΡΧΕΙΟ"
 
-#: dirmngr/dirmngr.c:172
+#: dirmngr/dirmngr.c:173
 msgid "|URL|fetch a CRL from URL"
 msgstr ""
 
-#: dirmngr/dirmngr.c:173
+#: dirmngr/dirmngr.c:174
 msgid "shutdown the dirmngr"
 msgstr ""
 
-#: dirmngr/dirmngr.c:174
+#: dirmngr/dirmngr.c:175
 msgid "flush the cache"
 msgstr ""
 
-#: dirmngr/dirmngr.c:190 tools/gpgconf-comp.c:522 tools/gpgconf-comp.c:741
-#: tools/gpgconf-comp.c:854 tools/gpgconf-comp.c:950
+#: dirmngr/dirmngr.c:191 tools/gpgconf-comp.c:522 tools/gpgconf-comp.c:745
+#: tools/gpgconf-comp.c:858 tools/gpgconf-comp.c:954
 msgid "|FILE|write server mode logs to FILE"
 msgstr ""
 
-#: dirmngr/dirmngr.c:191
+#: dirmngr/dirmngr.c:192
 #, fuzzy
 msgid "run without asking a user"
 msgstr "Τερματισμός χωρίς αποθήκευση; "
 
-#: dirmngr/dirmngr.c:192
+#: dirmngr/dirmngr.c:193
 msgid "force loading of outdated CRLs"
 msgstr ""
 
-#: dirmngr/dirmngr.c:193
+#: dirmngr/dirmngr.c:194
 msgid "allow sending OCSP requests"
 msgstr ""
 
-#: dirmngr/dirmngr.c:195
+#: dirmngr/dirmngr.c:196
 msgid "allow online software version check"
 msgstr ""
 
-#: dirmngr/dirmngr.c:196
+#: dirmngr/dirmngr.c:197
 msgid "inhibit the use of HTTP"
 msgstr ""
 
-#: dirmngr/dirmngr.c:197
+#: dirmngr/dirmngr.c:198
 msgid "inhibit the use of LDAP"
 msgstr ""
 
-#: dirmngr/dirmngr.c:199
+#: dirmngr/dirmngr.c:200
 msgid "ignore HTTP CRL distribution points"
 msgstr ""
 
-#: dirmngr/dirmngr.c:201
+#: dirmngr/dirmngr.c:202
 msgid "ignore LDAP CRL distribution points"
 msgstr ""
 
-#: dirmngr/dirmngr.c:203
+#: dirmngr/dirmngr.c:204
 msgid "ignore certificate contained OCSP service URLs"
 msgstr ""
 
-#: dirmngr/dirmngr.c:206
+#: dirmngr/dirmngr.c:207
 msgid "|URL|redirect all HTTP requests to URL"
 msgstr ""
 
-#: dirmngr/dirmngr.c:208
+#: dirmngr/dirmngr.c:209
 msgid "|HOST|use HOST for LDAP queries"
 msgstr ""
 
-#: dirmngr/dirmngr.c:210
+#: dirmngr/dirmngr.c:211
 msgid "do not use fallback hosts with --ldap-proxy"
 msgstr ""
 
-#: dirmngr/dirmngr.c:213
+#: dirmngr/dirmngr.c:216
 #, fuzzy
 msgid "|FILE|read LDAP server list from FILE"
 msgstr "|ΑΡΧΕΙΟ|φόρτωμα του αρθρώματος επέκτασης ΑΡΧΕΙΟ"
 
-#: dirmngr/dirmngr.c:215
+#: dirmngr/dirmngr.c:218
 msgid "add new servers discovered in CRL distribution points to serverlist"
 msgstr ""
 
-#: dirmngr/dirmngr.c:218 dirmngr/dirmngr_ldap.c:137
+#: dirmngr/dirmngr.c:221
 msgid "|N|set LDAP timeout to N seconds"
 msgstr ""
 
-#: dirmngr/dirmngr.c:221
+#: dirmngr/dirmngr.c:224
 #, fuzzy
 msgid "|URL|use OCSP responder at URL"
 msgstr "αδυναμία επεξεργασίας του URI του διακομιση κλειδιών\n"
 
-#: dirmngr/dirmngr.c:223
+#: dirmngr/dirmngr.c:226
 msgid "|FPR|OCSP response signed by FPR"
 msgstr ""
 
-#: dirmngr/dirmngr.c:229
+#: dirmngr/dirmngr.c:232
 msgid "|N|do not return more than N items in one query"
 msgstr ""
 
-#: dirmngr/dirmngr.c:234
+#: dirmngr/dirmngr.c:237
 msgid "|FILE|use the CA certificates in FILE for HKP over TLS"
 msgstr ""
 
-#: dirmngr/dirmngr.c:236
+#: dirmngr/dirmngr.c:239
 msgid "route all network traffic via Tor"
 msgstr ""
 
-#: dirmngr/dirmngr.c:265
+#: dirmngr/dirmngr.c:268
 #, fuzzy
 #| msgid ""
 #| "@\n"
@@ -10435,290 +10444,115 @@ msgstr ""
 "@\n"
 "(δείτε τη σελίδα man για μια πλήρη λίστα εντολών και επιλογών)\n"
 
-#: dirmngr/dirmngr.c:407
+#: dirmngr/dirmngr.c:415
 #, fuzzy
 msgid "Usage: @DIRMNGR@ [options] (-h for help)"
 msgstr "Χρήση: gpg [επιλογές] [αρχεία] (-h για βοήθεια)"
 
-#: dirmngr/dirmngr.c:409
+#: dirmngr/dirmngr.c:417
 msgid ""
 "Syntax: @DIRMNGR@ [options] [command [args]]\n"
 "Keyserver, CRL, and OCSP access for @GNUPG@\n"
 msgstr ""
 
-#: dirmngr/dirmngr.c:489
+#: dirmngr/dirmngr.c:497
 #, c-format
 msgid "valid debug levels are: %s\n"
 msgstr ""
 
-#: dirmngr/dirmngr.c:575 tools/gpgconf.c:647 tools/gpgconf.c:682
+#: dirmngr/dirmngr.c:583 tools/gpgconf.c:647 tools/gpgconf.c:682
 #: tools/gpgconf.c:780
 #, fuzzy, c-format
 msgid "usage: %s [options] "
 msgstr "χρήση: gpg [επιλογές] "
 
-#: dirmngr/dirmngr.c:1212
+#: dirmngr/dirmngr.c:1249
 #, fuzzy, c-format
 #| msgid "%s not allowed with %s!\n"
 msgid "colons are not allowed in the socket name\n"
 msgstr "το %s δεν επιτρέπεται με το %s!\n"
 
-#: dirmngr/dirmngr.c:1444 dirmngr/server.c:1824
+#: dirmngr/dirmngr.c:1481 dirmngr/server.c:1878
 #, fuzzy, c-format
 msgid "fetching CRL from '%s' failed: %s\n"
 msgstr "θωράκιση απέτυχε: %s\n"
 
-#: dirmngr/dirmngr.c:1450 dirmngr/server.c:1830
+#: dirmngr/dirmngr.c:1487 dirmngr/server.c:1884
 #, fuzzy, c-format
 msgid "processing CRL from '%s' failed: %s\n"
 msgstr "θωράκιση απέτυχε: %s\n"
 
-#: dirmngr/dirmngr.c:1645
+#: dirmngr/dirmngr.c:1682
 #, fuzzy, c-format
 msgid "%s:%u: line too long - skipped\n"
 msgstr "η γραμμή είναι πολύ μεγάλη\n"
 
-#: dirmngr/dirmngr.c:1700 dirmngr/dirmngr.c:1784
+#: dirmngr/dirmngr.c:1737 dirmngr/dirmngr.c:1821
 #, fuzzy, c-format
 msgid "%s:%u: invalid fingerprint detected\n"
 msgstr "σφάλμα: μη έγκυρο αποτύπωμα\n"
 
-#: dirmngr/dirmngr.c:1736 dirmngr/dirmngr.c:1762 tools/gpgconf-comp.c:4191
+#: dirmngr/dirmngr.c:1773 dirmngr/dirmngr.c:1799 tools/gpgconf-comp.c:4199
 #, fuzzy, c-format
 msgid "%s:%u: read error: %s\n"
 msgstr "σφάλμα ανάγνωσης: %s\n"
 
-#: dirmngr/dirmngr.c:1791
+#: dirmngr/dirmngr.c:1828
 #, c-format
 msgid "%s:%u: garbage at end of line ignored\n"
 msgstr ""
 
-#: dirmngr/dirmngr.c:1860
+#: dirmngr/dirmngr.c:1897
 #, c-format
 msgid "SIGHUP received - re-reading configuration and flushing caches\n"
 msgstr ""
 
-#: dirmngr/dirmngr.c:1900
+#: dirmngr/dirmngr.c:1937
 #, c-format
 msgid "SIGUSR2 received - no action defined\n"
 msgstr ""
 
-#: dirmngr/dirmngr.c:1905
+#: dirmngr/dirmngr.c:1942
 #, c-format
 msgid "SIGTERM received - shutting down ...\n"
 msgstr ""
 
-#: dirmngr/dirmngr.c:1907
+#: dirmngr/dirmngr.c:1944
 #, c-format
 msgid "SIGTERM received - still %d active connections\n"
 msgstr ""
 
-#: dirmngr/dirmngr.c:1912
+#: dirmngr/dirmngr.c:1949
 #, fuzzy, c-format
 msgid "shutdown forced\n"
 msgstr "μη επεξεργασμένο"
 
-#: dirmngr/dirmngr.c:1920
+#: dirmngr/dirmngr.c:1957
 #, c-format
 msgid "SIGINT received - immediate shutdown\n"
 msgstr ""
 
-#: dirmngr/dirmngr.c:1927
+#: dirmngr/dirmngr.c:1964
 #, c-format
 msgid "signal %d received - no action defined\n"
 msgstr ""
 
-#: dirmngr/dirmngr_ldap.c:138
-msgid "return all values in a record oriented format"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:141
-msgid "|NAME|ignore host part and connect through NAME"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:142
-#, fuzzy
-#| msgid "|NAME|set terminal charset to NAME"
-msgid "|NAME|connect to host NAME"
-msgstr "|ΟΝΟΜΑ|καθορισμός του σετ χαρακτήρων τερματικού σε ΟΝΟΜΑ"
-
-#: dirmngr/dirmngr_ldap.c:143
-msgid "|N|connect to port N"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:144
-#, fuzzy
-#| msgid "|NAME|use NAME as default recipient"
-msgid "|NAME|use user NAME for authentication"
-msgstr "|ΟΝΟΜΑ|χρήση του ΟΝΟΜΑτος ως προκαθορισμένου παραλήπτη"
-
-#: dirmngr/dirmngr_ldap.c:145
-msgid "|PASS|use password PASS for authentication"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:147
-msgid "take password from $DIRMNGR_LDAP_PASS"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:148
-msgid "|STRING|query DN STRING"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:149
-msgid "|STRING|use STRING as filter expression"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:150
-msgid "|STRING|return the attribute STRING"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:211
-#, fuzzy
-#| msgid "Usage: gpg [options] [files] (-h for help)"
-msgid "Usage: dirmngr_ldap [options] [URL] (-h for help)\n"
-msgstr "Χρήση: gpg [επιλογές] [αρχεία] (-h για βοήθεια)"
-
-#: dirmngr/dirmngr_ldap.c:214
-msgid ""
-"Syntax: dirmngr_ldap [options] [URL]\n"
-"Internal LDAP helper for Dirmngr\n"
-"Interface and options may change without notice\n"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:340
-#, fuzzy, c-format
-#| msgid "invalid import options\n"
-msgid "invalid port number %d\n"
-msgstr "μη έγκυρες επιλογές ειγαγωγής\n"
-
-#: dirmngr/dirmngr_ldap.c:456
-#, c-format
-msgid "scanning result for attribute '%s'\n"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:463 dirmngr/dirmngr_ldap.c:546
-#: dirmngr/dirmngr_ldap.c:570 dirmngr/dirmngr_ldap.c:582
-#: dirmngr/dirmngr_ldap.c:720
-#, fuzzy, c-format
-msgid "error writing to stdout: %s\n"
-msgstr "αδυναμία εγγραφής της κλειδοθήκης `%s': %s\n"
-
-#: dirmngr/dirmngr_ldap.c:480
-#, c-format
-msgid "          available attribute '%s'\n"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:518
-#, fuzzy, c-format
-msgid "attribute '%s' not found\n"
-msgstr "το κλειδί '%s' δε βρέθηκε: %s\n"
-
-#: dirmngr/dirmngr_ldap.c:525
-#, c-format
-msgid "found attribute '%s'\n"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:634
-#, fuzzy, c-format
-#| msgid "reading from `%s'\n"
-msgid "processing url '%s'\n"
-msgstr "ανάγνωση από `%s'\n"
-
-#: dirmngr/dirmngr_ldap.c:636
-#, fuzzy, c-format
-#| msgid "          w/o user IDs: %lu\n"
-msgid "          user '%s'\n"
-msgstr "          χωρίς user ID: %lu\n"
-
-#: dirmngr/dirmngr_ldap.c:638
-#, fuzzy, c-format
-msgid "          pass '%s'\n"
-msgstr "                γνωστό σαν \""
-
-#: dirmngr/dirmngr_ldap.c:640
-#, fuzzy, c-format
-msgid "          host '%s'\n"
-msgstr "                γνωστό σαν \""
-
-#: dirmngr/dirmngr_ldap.c:641
-#, fuzzy, c-format
-#| msgid "          not imported: %lu\n"
-msgid "          port %d\n"
-msgstr "          μη  εισαχθέντα: %lu\n"
-
-#: dirmngr/dirmngr_ldap.c:643
-#, fuzzy, c-format
-msgid "            DN '%s'\n"
-msgstr "                γνωστό σαν \""
-
-#: dirmngr/dirmngr_ldap.c:645
-#, c-format
-msgid "        filter '%s'\n"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:650 dirmngr/dirmngr_ldap.c:653
-#, fuzzy, c-format
-msgid "          attr '%s'\n"
-msgstr "                γνωστό σαν \""
-
-#: dirmngr/dirmngr_ldap.c:659
-#, fuzzy, c-format
-msgid "no host name in '%s'\n"
-msgstr "(Δεν δώθηκε περιγραφή)\n"
-
-#: dirmngr/dirmngr_ldap.c:664
-#, c-format
-msgid "no attribute given for query '%s'\n"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:670
-#, fuzzy, c-format
-#| msgid "WARNING: using insecure memory!\n"
-msgid "WARNING: using first attribute only\n"
-msgstr "ΠΡΟΕΙΔΟΠΟΙΗΣΗ: χρήση μη ασφαλούς μνήμης!\n"
-
-#: dirmngr/dirmngr_ldap.c:679
-#, fuzzy, c-format
-msgid "LDAP init to '%s:%d' failed: %s\n"
-msgstr "θωράκιση απέτυχε: %s\n"
-
-#: dirmngr/dirmngr_ldap.c:702
-#, fuzzy, c-format
-msgid "binding to '%s:%d' failed: %s\n"
-msgstr "θωράκιση απέτυχε: %s\n"
-
-#: dirmngr/dirmngr_ldap.c:729
-#, fuzzy, c-format
-#| msgid "dearmoring failed: %s\n"
-msgid "searching '%s' failed: %s\n"
-msgstr "αποθωράκιση απέτυχε: %s\n"
-
-#: dirmngr/dirmngr_ldap.c:761
-#, fuzzy, c-format
-msgid "'%s' is not an LDAP URL\n"
-msgstr "\"%s\" δεν είναι JPEG αρχείο\n"
-
-#: dirmngr/dirmngr_ldap.c:767
-#, c-format
-msgid "'%s' is an invalid LDAP URL\n"
-msgstr ""
-
-#: dirmngr/http.c:1987 dirmngr/ocsp.c:255
+#: dirmngr/http.c:1993 dirmngr/ocsp.c:255
 #, fuzzy, c-format
 msgid "error accessing '%s': http status %u\n"
 msgstr "σφάλμα κατά την ανάγνωση του `%s': %s\n"
 
-#: dirmngr/http.c:3629 dirmngr/ocsp.c:229
+#: dirmngr/http.c:3644 dirmngr/ocsp.c:229
 #, c-format
 msgid "URL '%s' redirected to '%s' (%u)\n"
 msgstr ""
 
-#: dirmngr/http.c:3635 dirmngr/ocsp.c:246
+#: dirmngr/http.c:3650 dirmngr/ocsp.c:246
 #, fuzzy, c-format
 msgid "too many redirections\n"
 msgstr "πάρα πολλές `%c' προεπιλογές\n"
 
-#: dirmngr/http.c:3747
+#: dirmngr/http.c:3762
 #, fuzzy, c-format
 #| msgid "writing to `%s'\n"
 msgid "redirection changed to '%s'\n"
@@ -10759,31 +10593,51 @@ msgstr "η ενημέρωση απέτυχε: %s\n"
 msgid "ldap wrapper %d stalled - killing\n"
 msgstr ""
 
-#: dirmngr/ldap.c:91
+#: dirmngr/ldap.c:92
 #, c-format
 msgid "invalid char 0x%02x in host name - not added\n"
 msgstr ""
 
-#: dirmngr/ldap.c:95
+#: dirmngr/ldap.c:96
 #, fuzzy, c-format
 msgid "adding '%s:%d' to the ldap server list\n"
 msgstr "αναζήτηση του \"%s\" από το HKP διακομιστή %s\n"
 
-#: dirmngr/ldap.c:98 dirmngr/misc.c:512
+#: dirmngr/ldap.c:99 dirmngr/misc.c:512
 #, fuzzy, c-format
 msgid "malloc failed: %s\n"
 msgstr "διαγραφή block κλειδιών απέτυχε: %s\n"
 
-#: dirmngr/ldap.c:627
+#: dirmngr/ldap.c:221
+#, fuzzy, c-format
+msgid "'%s' is not an LDAP URL\n"
+msgstr "\"%s\" δεν είναι JPEG αρχείο\n"
+
+#: dirmngr/ldap.c:227 dirmngr/ldap.c:233
 #, c-format
-msgid "start_cert_fetch: invalid pattern '%s'\n"
+msgid "'%s' is an invalid LDAP URL\n"
 msgstr ""
 
-#: dirmngr/ldap.c:839
+#: dirmngr/ldap.c:969
 #, c-format
 msgid "ldap_search hit the size limit of the server\n"
 msgstr ""
 
+#: dirmngr/ldapserver.c:117
+#, c-format
+msgid "%s:%u: password given without user\n"
+msgstr ""
+
+#: dirmngr/ldapserver.c:181
+#, c-format
+msgid "%s:%u: ignoring unknown flag '%s'\n"
+msgstr ""
+
+#: dirmngr/ldapserver.c:203
+#, fuzzy, c-format
+msgid "%s:%u: skipping this line\n"
+msgstr " s = παράλειψη αυτού του κλειδιού\n"
+
 #: dirmngr/misc.c:172
 #, fuzzy, c-format
 #| msgid "%s: invalid file version %d\n"
@@ -10967,72 +10821,68 @@ msgstr ""
 msgid "assuan_inquire(%s) failed: %s\n"
 msgstr "η υπογραφή απέτυχε: %s\n"
 
-#: dirmngr/server.c:1158
-msgid "ldapserver missing"
-msgstr ""
-
-#: dirmngr/server.c:1224
+#: dirmngr/server.c:1277
 msgid "serialno missing in cert ID"
 msgstr ""
 
-#: dirmngr/server.c:1387 dirmngr/server.c:1473 dirmngr/server.c:1909
-#: dirmngr/server.c:1980 dirmngr/server.c:2552 dirmngr/server.c:2567
+#: dirmngr/server.c:1440 dirmngr/server.c:1526 dirmngr/server.c:1963
+#: dirmngr/server.c:2034 dirmngr/server.c:2662 dirmngr/server.c:2677
 #, fuzzy, c-format
 msgid "assuan_inquire failed: %s\n"
 msgstr "η υπογραφή απέτυχε: %s\n"
 
-#: dirmngr/server.c:1516
+#: dirmngr/server.c:1569
 #, fuzzy, c-format
 msgid "fetch_cert_by_url failed: %s\n"
 msgstr "διαγραφή block κλειδιών απέτυχε: %s\n"
 
-#: dirmngr/server.c:1528 dirmngr/server.c:1559 dirmngr/server.c:1718
+#: dirmngr/server.c:1581 dirmngr/server.c:1612 dirmngr/server.c:1772
 #, fuzzy, c-format
 msgid "error sending data: %s\n"
 msgstr "σφάλμα στη αποστολή προς το `%s': %s\n"
 
-#: dirmngr/server.c:1666
+#: dirmngr/server.c:1720
 #, fuzzy, c-format
 msgid "start_cert_fetch failed: %s\n"
 msgstr "διαγραφή block κλειδιών απέτυχε: %s\n"
 
-#: dirmngr/server.c:1699
+#: dirmngr/server.c:1753
 #, fuzzy, c-format
 msgid "fetch_next_cert failed: %s\n"
 msgstr "διαγραφή block κλειδιών απέτυχε: %s\n"
 
-#: dirmngr/server.c:1726
+#: dirmngr/server.c:1780
 #, c-format
 msgid "max_replies %d exceeded\n"
 msgstr ""
 
-#: dirmngr/server.c:2856
+#: dirmngr/server.c:2966
 #, fuzzy, c-format
 msgid "can't allocate control structure: %s\n"
 msgstr "αδυναμία δημιουργίας του `%s': %s\n"
 
-#: dirmngr/server.c:2867
+#: dirmngr/server.c:2977
 #, fuzzy, c-format
 msgid "failed to allocate assuan context: %s\n"
 msgstr "%s: αδυναμία δημιουργίας hashtable: %s\n"
 
-#: dirmngr/server.c:2888
+#: dirmngr/server.c:2998
 #, fuzzy, c-format
 #| msgid "failed to initialize the TrustDB: %s\n"
 msgid "failed to initialize the server: %s\n"
 msgstr "αποτυχία αρχικοποίησης της TrustDB: %s\n"
 
-#: dirmngr/server.c:2896
+#: dirmngr/server.c:3006
 #, fuzzy, c-format
 msgid "failed to the register commands with Assuan: %s\n"
 msgstr "αποτυχία επαναδόμησης της cache κλειδοθήκης: %s\n"
 
-#: dirmngr/server.c:2929
+#: dirmngr/server.c:3039
 #, c-format
 msgid "Assuan accept problem: %s\n"
 msgstr ""
 
-#: dirmngr/server.c:2948
+#: dirmngr/server.c:3058
 #, fuzzy, c-format
 #| msgid "signing failed: %s\n"
 msgid "Assuan processing failed: %s\n"
@@ -11173,21 +11023,21 @@ msgid "error sending standard options: %s\n"
 msgstr "σφάλμα στη αποστολή προς το `%s': %s\n"
 
 #: tools/gpgconf-comp.c:481 tools/gpgconf-comp.c:617 tools/gpgconf-comp.c:692
-#: tools/gpgconf-comp.c:804 tools/gpgconf-comp.c:906
+#: tools/gpgconf-comp.c:808 tools/gpgconf-comp.c:910
 msgid "Options controlling the diagnostic output"
 msgstr ""
 
 #: tools/gpgconf-comp.c:494 tools/gpgconf-comp.c:630 tools/gpgconf-comp.c:705
-#: tools/gpgconf-comp.c:817 tools/gpgconf-comp.c:929
+#: tools/gpgconf-comp.c:821 tools/gpgconf-comp.c:933
 msgid "Options controlling the configuration"
 msgstr ""
 
-#: tools/gpgconf-comp.c:517 tools/gpgconf-comp.c:659 tools/gpgconf-comp.c:736
-#: tools/gpgconf-comp.c:849 tools/gpgconf-comp.c:942
+#: tools/gpgconf-comp.c:517 tools/gpgconf-comp.c:659 tools/gpgconf-comp.c:740
+#: tools/gpgconf-comp.c:853 tools/gpgconf-comp.c:946
 msgid "Options useful for debugging"
 msgstr ""
 
-#: tools/gpgconf-comp.c:530 tools/gpgconf-comp.c:669 tools/gpgconf-comp.c:862
+#: tools/gpgconf-comp.c:530 tools/gpgconf-comp.c:669 tools/gpgconf-comp.c:866
 msgid "Options controlling the security"
 msgstr ""
 
@@ -11237,11 +11087,11 @@ msgstr "σφάλμα στη δημιουργία της φράσης κλειδ
 msgid "|N|set the Pinentry timeout to N seconds"
 msgstr ""
 
-#: tools/gpgconf-comp.c:707 tools/gpgconf-comp.c:819
+#: tools/gpgconf-comp.c:707 tools/gpgconf-comp.c:823
 msgid "|NAME|use NAME as default secret key"
 msgstr "|ΟΝΟΜΑ|χρήση ΟΝΟΜΑτος σαν προκαθορισμένο μυστικό κλειδί"
 
-#: tools/gpgconf-comp.c:710 tools/gpgconf-comp.c:822
+#: tools/gpgconf-comp.c:710 tools/gpgconf-comp.c:826
 #, fuzzy
 msgid "|NAME|encrypt to user ID NAME as well"
 msgstr "|ΟΝΟΜΑ|κρυπτογράφηση για ΟΝΟΜΑ"
@@ -11250,137 +11100,137 @@ msgstr "|ΟΝΟΜΑ|κρυπτογράφηση για ΟΝΟΜΑ"
 msgid "|SPEC|set up email aliases"
 msgstr ""
 
-#: tools/gpgconf-comp.c:749 tools/gpgconf-comp.c:981
+#: tools/gpgconf-comp.c:753 tools/gpgconf-comp.c:985
 msgid "Configuration for Keyservers"
 msgstr ""
 
-#: tools/gpgconf-comp.c:751 tools/gpgconf-comp.c:983
+#: tools/gpgconf-comp.c:755 tools/gpgconf-comp.c:987
 #, fuzzy
 msgid "|URL|use keyserver at URL"
 msgstr "αδυναμία επεξεργασίας του URI του διακομιση κλειδιών\n"
 
-#: tools/gpgconf-comp.c:754
+#: tools/gpgconf-comp.c:758
 msgid "allow PKA lookups (DNS requests)"
 msgstr ""
 
-#: tools/gpgconf-comp.c:757
+#: tools/gpgconf-comp.c:761
 msgid "|MECHANISMS|use MECHANISMS to locate keys by mail address"
 msgstr ""
 
-#: tools/gpgconf-comp.c:760
+#: tools/gpgconf-comp.c:764
 #, fuzzy
 #| msgid "import keys from a keyserver"
 msgid "import missing key from a signature"
 msgstr "εισαγωγή κλειδιών από ένα διακομιστή κλειδιών"
 
-#: tools/gpgconf-comp.c:763
+#: tools/gpgconf-comp.c:767
 #, fuzzy
 msgid "include the public key in signatures"
 msgstr "έλεγχος υπογραφής κλειδιού"
 
-#: tools/gpgconf-comp.c:770 tools/gpgconf-comp.c:831
+#: tools/gpgconf-comp.c:774 tools/gpgconf-comp.c:835
 msgid "disable all access to the dirmngr"
 msgstr ""
 
-#: tools/gpgconf-comp.c:834
+#: tools/gpgconf-comp.c:838
 #, fuzzy
 msgid "|NAME|use encoding NAME for PKCS#12 passphrases"
 msgstr "|ΟΝΟΜΑ|χρήση αλγόριθμου κρυπτογράφησης ΟΝΟΜΑ για φράσεις κλειδιά"
 
-#: tools/gpgconf-comp.c:870
+#: tools/gpgconf-comp.c:874
 msgid "do not check CRLs for root certificates"
 msgstr ""
 
-#: tools/gpgconf-comp.c:919
+#: tools/gpgconf-comp.c:923
 msgid "Options controlling the format of the output"
 msgstr ""
 
-#: tools/gpgconf-comp.c:961
+#: tools/gpgconf-comp.c:965
 msgid "Options controlling the interactivity and enforcement"
 msgstr ""
 
-#: tools/gpgconf-comp.c:974
+#: tools/gpgconf-comp.c:978
 msgid "Options controlling the use of Tor"
 msgstr ""
 
-#: tools/gpgconf-comp.c:988
+#: tools/gpgconf-comp.c:992
 msgid "Configuration for HTTP servers"
 msgstr ""
 
-#: tools/gpgconf-comp.c:999
+#: tools/gpgconf-comp.c:1003
 msgid "use system's HTTP proxy setting"
 msgstr ""
 
-#: tools/gpgconf-comp.c:1004
+#: tools/gpgconf-comp.c:1008
 msgid "Configuration of LDAP servers to use"
 msgstr ""
 
-#: tools/gpgconf-comp.c:1033
+#: tools/gpgconf-comp.c:1037
 msgid "LDAP server list"
 msgstr ""
 
-#: tools/gpgconf-comp.c:1041
+#: tools/gpgconf-comp.c:1045
 msgid "Configuration for OCSP"
 msgstr ""
 
-#: tools/gpgconf-comp.c:1094
+#: tools/gpgconf-comp.c:1098
 msgid "OpenPGP"
 msgstr ""
 
-#: tools/gpgconf-comp.c:1095
+#: tools/gpgconf-comp.c:1099
 msgid "Private Keys"
 msgstr ""
 
-#: tools/gpgconf-comp.c:1096
+#: tools/gpgconf-comp.c:1100
 msgid "Smartcards"
 msgstr ""
 
-#: tools/gpgconf-comp.c:1097
+#: tools/gpgconf-comp.c:1101
 msgid "S/MIME"
 msgstr ""
 
-#: tools/gpgconf-comp.c:1098
+#: tools/gpgconf-comp.c:1102
 #, fuzzy
 #| msgid "network error"
 msgid "Network"
 msgstr "σφάλμα δικτύου"
 
-#: tools/gpgconf-comp.c:1099
+#: tools/gpgconf-comp.c:1103
 #, fuzzy
 msgid "Passphrase Entry"
 msgstr "κακή φράση κλειδί"
 
-#: tools/gpgconf-comp.c:1278
+#: tools/gpgconf-comp.c:1282
 #, fuzzy
 msgid "Component not suitable for launching"
 msgstr "δεν βρέθηκε το δημόσιο κλειδί"
 
-#: tools/gpgconf-comp.c:1284
+#: tools/gpgconf-comp.c:1288
 #, c-format
 msgid "Configuration file of component %s is broken\n"
 msgstr ""
 
-#: tools/gpgconf-comp.c:1287
+#: tools/gpgconf-comp.c:1291
 #, fuzzy, c-format
 #| msgid "Please use the command \"toggle\" first.\n"
 msgid "Note: Use the command \"%s%s\" to get details.\n"
 msgstr "Παρακαλώ χρησιμοποιείστε την εντολή \"toggle\" πρώτα.\n"
 
-#: tools/gpgconf-comp.c:3446
+#: tools/gpgconf-comp.c:3454
 #, c-format
 msgid "External verification of component %s failed"
 msgstr ""
 
-#: tools/gpgconf-comp.c:3597
+#: tools/gpgconf-comp.c:3605
 msgid "Note that group specifications are ignored\n"
 msgstr ""
 
-#: tools/gpgconf-comp.c:4195
+#: tools/gpgconf-comp.c:4203
 #, fuzzy, c-format
 msgid "error closing '%s'\n"
 msgstr "σφάλμα κατά την ανάγνωση του `%s': %s\n"
 
-#: tools/gpgconf-comp.c:4197
+#: tools/gpgconf-comp.c:4205
 #, fuzzy, c-format
 msgid "error parsing '%s'\n"
 msgstr "σφάλμα κατά την ανάγνωση του `%s': %s\n"
@@ -11490,6 +11340,99 @@ msgid ""
 msgstr ""
 
 #, fuzzy
+#~ msgid "requesting key %s from %s server %s\n"
+#~ msgstr "αίτηση κλειδιού %08lX από το %s\n"
+
+#, fuzzy
+#~ msgid "%s:%u: no hostname given\n"
+#~ msgstr "(Δεν δώθηκε περιγραφή)\n"
+
+#, fuzzy
+#~ msgid "could not parse keyserver\n"
+#~ msgstr "αδυναμία επεξεργασίας του URI του διακομιση κλειδιών\n"
+
+#, fuzzy
+#~| msgid "|NAME|set terminal charset to NAME"
+#~ msgid "|NAME|connect to host NAME"
+#~ msgstr "|ΟΝΟΜΑ|καθορισμός του σετ χαρακτήρων τερματικού σε ΟΝΟΜΑ"
+
+#, fuzzy
+#~| msgid "|NAME|use NAME as default recipient"
+#~ msgid "|NAME|use user NAME for authentication"
+#~ msgstr "|ΟΝΟΜΑ|χρήση του ΟΝΟΜΑτος ως προκαθορισμένου παραλήπτη"
+
+#, fuzzy
+#~| msgid "Usage: gpg [options] [files] (-h for help)"
+#~ msgid "Usage: dirmngr_ldap [options] [URL] (-h for help)\n"
+#~ msgstr "Χρήση: gpg [επιλογές] [αρχεία] (-h για βοήθεια)"
+
+#, fuzzy
+#~| msgid "invalid import options\n"
+#~ msgid "invalid port number %d\n"
+#~ msgstr "μη έγκυρες επιλογές ειγαγωγής\n"
+
+#, fuzzy
+#~ msgid "error writing to stdout: %s\n"
+#~ msgstr "αδυναμία εγγραφής της κλειδοθήκης `%s': %s\n"
+
+#, fuzzy
+#~ msgid "attribute '%s' not found\n"
+#~ msgstr "το κλειδί '%s' δε βρέθηκε: %s\n"
+
+#, fuzzy
+#~| msgid "reading from `%s'\n"
+#~ msgid "processing url '%s'\n"
+#~ msgstr "ανάγνωση από `%s'\n"
+
+#, fuzzy
+#~| msgid "          w/o user IDs: %lu\n"
+#~ msgid "          user '%s'\n"
+#~ msgstr "          χωρίς user ID: %lu\n"
+
+#, fuzzy
+#~ msgid "          pass '%s'\n"
+#~ msgstr "                γνωστό σαν \""
+
+#, fuzzy
+#~ msgid "          host '%s'\n"
+#~ msgstr "                γνωστό σαν \""
+
+#, fuzzy
+#~| msgid "          not imported: %lu\n"
+#~ msgid "          port %d\n"
+#~ msgstr "          μη  εισαχθέντα: %lu\n"
+
+#, fuzzy
+#~ msgid "            DN '%s'\n"
+#~ msgstr "                γνωστό σαν \""
+
+#, fuzzy
+#~ msgid "          attr '%s'\n"
+#~ msgstr "                γνωστό σαν \""
+
+#, fuzzy
+#~ msgid "no host name in '%s'\n"
+#~ msgstr "(Δεν δώθηκε περιγραφή)\n"
+
+#, fuzzy
+#~| msgid "WARNING: using insecure memory!\n"
+#~ msgid "WARNING: using first attribute only\n"
+#~ msgstr "ΠΡΟΕΙΔΟΠΟΙΗΣΗ: χρήση μη ασφαλούς μνήμης!\n"
+
+#, fuzzy
+#~ msgid "LDAP init to '%s:%d' failed: %s\n"
+#~ msgstr "θωράκιση απέτυχε: %s\n"
+
+#, fuzzy
+#~ msgid "binding to '%s:%d' failed: %s\n"
+#~ msgstr "θωράκιση απέτυχε: %s\n"
+
+#, fuzzy
+#~| msgid "dearmoring failed: %s\n"
+#~ msgid "searching '%s' failed: %s\n"
+#~ msgstr "αποθωράκιση απέτυχε: %s\n"
+
+#, fuzzy
 #~| msgid "NOTE: old default options file `%s' ignored\n"
 #~ msgid "Note: old default options file '%s' ignored\n"
 #~ msgstr "ΣΗΜΕΙΩΣΗ: αγνοήθηκε το παλιό αρχείο προκαθορισμένων επιλογών `%s'\n"
index 265e5ac..a87745f 100644 (file)
Binary files a/po/en@boldquot.gmo and b/po/en@boldquot.gmo differ
index 44ee88b..bed49f6 100644 (file)
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: GNU gnupg 2.2.27\n"
+"Project-Id-Version: GNU gnupg 2.2.28\n"
 "Report-Msgid-Bugs-To: translations@gnupg.org\n"
-"POT-Creation-Date: 2021-01-11 18:47+0100\n"
-"PO-Revision-Date: 2021-01-11 18:47+0100\n"
+"POT-Creation-Date: 2021-06-10 18:59+0200\n"
+"PO-Revision-Date: 2021-06-10 18:59+0200\n"
 "Last-Translator: Automatically generated\n"
 "Language-Team: none\n"
 "Language: en\n"
@@ -131,7 +131,7 @@ msgid "Passphrase:"
 msgstr "Passphrase:"
 
 #: agent/call-pinentry.c:1107 agent/call-pinentry.c:1359
-#: agent/command-ssh.c:3130 agent/genkey.c:416
+#: agent/command-ssh.c:3140 agent/genkey.c:416
 msgid "does not match - try again"
 msgstr "does not match - try again"
 
@@ -181,32 +181,32 @@ msgstr "Bad Passphrase"
 msgid "ssh keys greater than %d bits are not supported\n"
 msgstr "ssh keys greater than %d bits are not supported\n"
 
-#: agent/command-ssh.c:862 common/dotlock.c:852 g10/card-util.c:932
-#: g10/exec.c:546 g10/export.c:1320 g10/gpg.c:1352 g10/keygen.c:4998
-#: g10/keyring.c:1322 g10/keyring.c:1637 g10/openfile.c:291 g10/sign.c:1009
-#: g10/sign.c:1323 g10/tdbio.c:753
+#: agent/command-ssh.c:862 common/dotlock.c:852 g10/card-util.c:933
+#: g10/exec.c:554 g10/export.c:1320 g10/gpg.c:1360 g10/keygen.c:4998
+#: g10/keyring.c:1322 g10/keyring.c:1637 g10/openfile.c:291 g10/sign.c:1008
+#: g10/sign.c:1322 g10/tdbio.c:753
 #, c-format
 msgid "can't create '%s': %s\n"
 msgstr "can't create '%s': %s\n"
 
-#: agent/command-ssh.c:874 common/helpfile.c:57 g10/card-util.c:889
+#: agent/command-ssh.c:874 common/helpfile.c:57 g10/card-util.c:890
 #: g10/dearmor.c:59 g10/dearmor.c:106 g10/decrypt.c:65 g10/decrypt.c:136
-#: g10/decrypt.c:153 g10/encrypt.c:180 g10/encrypt.c:543 g10/gpg.c:1353
-#: g10/import.c:352 g10/import.c:536 g10/import.c:764 g10/keygen.c:4036
+#: g10/decrypt.c:153 g10/encrypt.c:180 g10/encrypt.c:543 g10/gpg.c:1361
+#: g10/import.c:364 g10/import.c:548 g10/import.c:776 g10/keygen.c:4036
 #: g10/keyring.c:1663 g10/openfile.c:195 g10/openfile.c:209 g10/plaintext.c:128
-#: g10/plaintext.c:649 g10/sign.c:991 g10/sign.c:1202 g10/sign.c:1307
-#: g10/sign.c:1452 g10/tdbdump.c:143 g10/tdbdump.c:151 g10/tdbio.c:758
-#: g10/tdbio.c:829 g10/verify.c:96 g10/verify.c:160 sm/gpgsm.c:2219
-#: sm/gpgsm.c:2249 sm/gpgsm.c:2287 sm/qualified.c:66 dirmngr/certcache.c:396
+#: g10/plaintext.c:649 g10/sign.c:990 g10/sign.c:1201 g10/sign.c:1306
+#: g10/sign.c:1451 g10/tdbdump.c:143 g10/tdbdump.c:151 g10/tdbio.c:758
+#: g10/tdbio.c:829 g10/verify.c:96 g10/verify.c:160 sm/gpgsm.c:2125
+#: sm/gpgsm.c:2155 sm/gpgsm.c:2193 sm/qualified.c:66 dirmngr/certcache.c:396
 #: dirmngr/certcache.c:476 dirmngr/certcache.c:478 dirmngr/crlcache.c:2588
-#: dirmngr/dirmngr.c:1722
+#: dirmngr/dirmngr.c:1759
 #, c-format
 msgid "can't open '%s': %s\n"
 msgstr "can't open '%s': %s\n"
 
 #: agent/command-ssh.c:2385 agent/command-ssh.c:2431 agent/command-ssh.c:2449
-#: agent/command-ssh.c:2601 g10/card-util.c:687 g10/card-util.c:708
-#: g10/skclist.c:430
+#: agent/command-ssh.c:2601 g10/card-util.c:688 g10/card-util.c:709
+#: g10/skclist.c:435
 #, c-format
 msgid "error getting serial number of card: %s\n"
 msgstr "error getting serial number of card: %s\n"
@@ -231,7 +231,7 @@ msgstr "no suitable card key found: %s\n"
 msgid "error getting list of cards: %s\n"
 msgstr "error getting list of cards: %s\n"
 
-#: agent/command-ssh.c:2765
+#: agent/command-ssh.c:2775
 #, c-format
 msgid ""
 "An ssh process requested the use of key%%0A  %s%%0A  (%s)%%0ADo you want to "
@@ -240,24 +240,24 @@ msgstr ""
 "An ssh process requested the use of key%%0A  %s%%0A  (%s)%%0ADo you want to "
 "allow this?"
 
-#: agent/command-ssh.c:2772
+#: agent/command-ssh.c:2782
 msgid "Allow"
 msgstr "Allow"
 
-#: agent/command-ssh.c:2772
+#: agent/command-ssh.c:2782
 msgid "Deny"
 msgstr "Deny"
 
-#: agent/command-ssh.c:2781
+#: agent/command-ssh.c:2791
 #, c-format
 msgid "Please enter the passphrase for the ssh key%%0A  %F%%0A  (%c)"
 msgstr "Please enter the passphrase for the ssh key%%0A  %F%%0A  (%c)"
 
-#: agent/command-ssh.c:3058 agent/genkey.c:351
+#: agent/command-ssh.c:3068 agent/genkey.c:351
 msgid "Please re-enter this passphrase"
 msgstr "Please re-enter this passphrase"
 
-#: agent/command-ssh.c:3085
+#: agent/command-ssh.c:3095
 #, c-format
 msgid ""
 "Please enter a passphrase to protect the received secret key%%0A   %s%%0A   "
@@ -266,7 +266,7 @@ msgstr ""
 "Please enter a passphrase to protect the received secret key%%0A   %s%%0A   "
 "%s%%0Awithin gpg-agent's key storage"
 
-#: agent/command-ssh.c:3667
+#: agent/command-ssh.c:3677
 #, c-format
 msgid "failed to create stream from socket: %s\n"
 msgstr "failed to create stream from socket: %s\n"
@@ -412,45 +412,43 @@ msgstr ""
 "@Options:\n"
 " "
 
-#: agent/gpg-agent.c:165 scd/scdaemon.c:120 dirmngr/dirmngr.c:166
+#: agent/gpg-agent.c:165 scd/scdaemon.c:120 dirmngr/dirmngr.c:167
 msgid "run in daemon mode (background)"
 msgstr "run in daemon mode (background)"
 
-#: agent/gpg-agent.c:166 scd/scdaemon.c:117 dirmngr/dirmngr.c:165
+#: agent/gpg-agent.c:166 scd/scdaemon.c:117 dirmngr/dirmngr.c:166
 msgid "run in server mode (foreground)"
 msgstr "run in server mode (foreground)"
 
-#: agent/gpg-agent.c:168 dirmngr/dirmngr.c:168
+#: agent/gpg-agent.c:168 dirmngr/dirmngr.c:169
 msgid "run in supervised mode"
 msgstr "run in supervised mode"
 
-#: agent/gpg-agent.c:170 g10/gpg.c:608 g10/gpgv.c:78 kbx/kbxutil.c:88
-#: scd/scdaemon.c:121 sm/gpgsm.c:310 dirmngr/dirmngr-client.c:70
-#: dirmngr/dirmngr.c:181 dirmngr/dirmngr_ldap.c:135
-#: tools/gpg-connect-agent.c:78 tools/gpgconf.c:108
+#: agent/gpg-agent.c:170 g10/gpg.c:605 g10/gpgv.c:78 kbx/kbxutil.c:88
+#: scd/scdaemon.c:121 sm/gpgsm.c:311 dirmngr/dirmngr-client.c:70
+#: dirmngr/dirmngr.c:182 tools/gpg-connect-agent.c:78 tools/gpgconf.c:108
 msgid "verbose"
 msgstr "verbose"
 
 #: agent/gpg-agent.c:171 g10/gpgv.c:79 kbx/kbxutil.c:89 scd/scdaemon.c:122
-#: sm/gpgsm.c:311 dirmngr/dirmngr-client.c:71 dirmngr/dirmngr.c:182
-#: dirmngr/dirmngr_ldap.c:136
+#: sm/gpgsm.c:312 dirmngr/dirmngr-client.c:71 dirmngr/dirmngr.c:183
 msgid "be somewhat more quiet"
 msgstr "be somewhat more quiet"
 
-#: agent/gpg-agent.c:172 scd/scdaemon.c:123 dirmngr/dirmngr.c:183
+#: agent/gpg-agent.c:172 scd/scdaemon.c:123 dirmngr/dirmngr.c:184
 msgid "sh-style command output"
 msgstr "sh-style command output"
 
-#: agent/gpg-agent.c:173 scd/scdaemon.c:124 dirmngr/dirmngr.c:184
+#: agent/gpg-agent.c:173 scd/scdaemon.c:124 dirmngr/dirmngr.c:185
 msgid "csh-style command output"
 msgstr "csh-style command output"
 
-#: agent/gpg-agent.c:174 scd/scdaemon.c:125 sm/gpgsm.c:341
-#: dirmngr/dirmngr.c:185
+#: agent/gpg-agent.c:174 scd/scdaemon.c:125 sm/gpgsm.c:344
+#: dirmngr/dirmngr.c:186
 msgid "|FILE|read options from FILE"
 msgstr "|FILE|read options from FILE"
 
-#: agent/gpg-agent.c:183 scd/scdaemon.c:135 dirmngr/dirmngr.c:188
+#: agent/gpg-agent.c:183 scd/scdaemon.c:135 dirmngr/dirmngr.c:189
 msgid "do not detach from the console"
 msgstr "do not detach from the console"
 
@@ -526,9 +524,9 @@ msgstr "enable putty support"
 #. reporting address.  This is so that we can change the
 #. reporting address without breaking the translations.
 #: agent/gpg-agent.c:531 agent/preset-passphrase.c:100 agent/protect-tool.c:155
-#: g10/gpg.c:1070 g10/gpgv.c:149 kbx/kbxutil.c:113 scd/scdaemon.c:298
-#: sm/gpgsm.c:567 dirmngr/dirmngr-client.c:168 dirmngr/dirmngr.c:404
-#: dirmngr/dirmngr_ldap.c:207 tools/gpg-connect-agent.c:205 tools/gpgconf.c:146
+#: g10/gpg.c:1074 g10/gpgv.c:149 kbx/kbxutil.c:113 scd/scdaemon.c:299
+#: sm/gpgsm.c:570 dirmngr/dirmngr-client.c:168 dirmngr/dirmngr.c:412
+#: tools/gpg-connect-agent.c:205 tools/gpgconf.c:146
 #: tools/gpg-check-pattern.c:143
 msgid "Please report bugs to <@EMAIL@>.\n"
 msgstr "Please report bugs to <@EMAIL@>.\n"
@@ -545,37 +543,37 @@ msgstr ""
 "Syntax: @GPG_AGENT@ [options] [command [args]]\n"
 "Secret key management for @GNUPG@\n"
 
-#: agent/gpg-agent.c:587 g10/gpg.c:1262 scd/scdaemon.c:370 sm/gpgsm.c:715
-#: dirmngr/dirmngr.c:488
+#: agent/gpg-agent.c:587 g10/gpg.c:1270 scd/scdaemon.c:371 sm/gpgsm.c:718
+#: dirmngr/dirmngr.c:496
 #, c-format
 msgid "invalid debug-level '%s' given\n"
 msgstr "invalid debug-level ‘\e[1m%s\e[0m’ given\n"
 
-#: agent/gpg-agent.c:945 g10/gpg.c:3753 g10/gpg.c:3777 sm/gpgsm.c:1631
-#: sm/gpgsm.c:1637
+#: agent/gpg-agent.c:945 g10/gpg.c:3773 g10/gpg.c:3797 sm/gpgsm.c:1531
+#: sm/gpgsm.c:1537
 #, c-format
 msgid "selected digest algorithm is invalid\n"
 msgstr "selected digest algorithm is invalid\n"
 
 #: agent/gpg-agent.c:1168 agent/gpg-agent.c:2023 common/argparse.c:1755
-#: common/argparse.c:1847 g10/gpg.c:2482 scd/scdaemon.c:532 sm/gpgsm.c:1063
-#: dirmngr/dirmngr.c:956 dirmngr/dirmngr.c:1841
+#: common/argparse.c:1847 g10/gpg.c:2495 scd/scdaemon.c:533 sm/gpgsm.c:977
+#: dirmngr/dirmngr.c:994 dirmngr/dirmngr.c:1878
 #, c-format
 msgid "reading options from '%s'\n"
 msgstr "reading options from ‘\e[1m%s\e[0m’\n"
 
-#: agent/gpg-agent.c:1300 g10/gpg.c:3704 scd/scdaemon.c:655 sm/gpgsm.c:1571
-#: dirmngr/dirmngr.c:1067 tools/gpg-connect-agent.c:1244 tools/gpgconf.c:624
+#: agent/gpg-agent.c:1300 g10/gpg.c:3724 scd/scdaemon.c:657 sm/gpgsm.c:1471
+#: dirmngr/dirmngr.c:1102 tools/gpg-connect-agent.c:1244 tools/gpgconf.c:624
 #, c-format
 msgid "Note: '%s' is not considered an option\n"
 msgstr "Note: ‘\e[1m%s\e[0m’ is not considered an option\n"
 
-#: agent/gpg-agent.c:2159 scd/scdaemon.c:1096 dirmngr/dirmngr.c:1219
+#: agent/gpg-agent.c:2159 scd/scdaemon.c:1098 dirmngr/dirmngr.c:1256
 #, c-format
 msgid "can't create socket: %s\n"
 msgstr "can't create socket: %s\n"
 
-#: agent/gpg-agent.c:2176 scd/scdaemon.c:1109 dirmngr/dirmngr.c:1232
+#: agent/gpg-agent.c:2176 scd/scdaemon.c:1111 dirmngr/dirmngr.c:1269
 #, c-format
 msgid "socket name '%s' is too long\n"
 msgstr "socket name ‘\e[1m%s\e[0m’ is too long\n"
@@ -585,29 +583,29 @@ msgstr "socket name ‘\e[1m%s\e[0m’ is too long\n"
 msgid "a gpg-agent is already running - not starting a new one\n"
 msgstr "a gpg-agent is already running - not starting a new one\n"
 
-#: agent/gpg-agent.c:2226 scd/scdaemon.c:1133 dirmngr/dirmngr.c:1264
+#: agent/gpg-agent.c:2226 scd/scdaemon.c:1135 dirmngr/dirmngr.c:1301
 #, c-format
 msgid "error getting nonce for the socket\n"
 msgstr "error getting nonce for the socket\n"
 
-#: agent/gpg-agent.c:2231 scd/scdaemon.c:1136 dirmngr/dirmngr.c:1267
+#: agent/gpg-agent.c:2231 scd/scdaemon.c:1138 dirmngr/dirmngr.c:1304
 #, c-format
 msgid "error binding socket to '%s': %s\n"
 msgstr "error binding socket to '%s': %s\n"
 
 #: agent/gpg-agent.c:2242 agent/gpg-agent.c:2282 agent/gpg-agent.c:2291
-#: scd/scdaemon.c:1144 dirmngr/dirmngr.c:1276
+#: scd/scdaemon.c:1146 dirmngr/dirmngr.c:1313
 #, c-format
 msgid "can't set permissions of '%s': %s\n"
 msgstr "can't set permissions of '%s': %s\n"
 
-#: agent/gpg-agent.c:2256 scd/scdaemon.c:1156 dirmngr/dirmngr.c:1288
+#: agent/gpg-agent.c:2256 scd/scdaemon.c:1158 dirmngr/dirmngr.c:1325
 #, c-format
 msgid "listening on socket '%s'\n"
 msgstr "listening on socket ‘\e[1m%s\e[0m’\n"
 
 #: agent/gpg-agent.c:2276 agent/gpg-agent.c:2329 common/homedir.c:517
-#: g10/exec.c:261 g10/openfile.c:397
+#: g10/exec.c:269 g10/openfile.c:397
 #, c-format
 msgid "can't create directory '%s': %s\n"
 msgstr "can't create directory '%s': %s\n"
@@ -628,7 +626,7 @@ msgstr "stat() failed for '%s': %s\n"
 msgid "can't use '%s' as home directory\n"
 msgstr "can't use ‘\e[1m%s\e[0m’ as home directory\n"
 
-#: agent/gpg-agent.c:2502 scd/scdaemon.c:1172 dirmngr/dirmngr.c:2047
+#: agent/gpg-agent.c:2502 scd/scdaemon.c:1174 dirmngr/dirmngr.c:2084
 #, c-format
 msgid "error reading nonce on fd %d: %s\n"
 msgstr "error reading nonce on fd %d: %s\n"
@@ -653,12 +651,12 @@ msgstr "ssh handler 0x%lx for fd %d started\n"
 msgid "ssh handler 0x%lx for fd %d terminated\n"
 msgstr "ssh handler 0x%lx for fd %d terminated\n"
 
-#: agent/gpg-agent.c:3016 scd/scdaemon.c:1362 dirmngr/dirmngr.c:2261
+#: agent/gpg-agent.c:3016 scd/scdaemon.c:1366 dirmngr/dirmngr.c:2298
 #, c-format
 msgid "npth_pselect failed: %s - waiting 1s\n"
 msgstr "npth_pselect failed: %s - waiting 1s\n"
 
-#: agent/gpg-agent.c:3104 scd/scdaemon.c:1427
+#: agent/gpg-agent.c:3104 scd/scdaemon.c:1431
 #, c-format
 msgid "%s %s stopped\n"
 msgstr "%s %s stopped\n"
@@ -681,8 +679,8 @@ msgstr ""
 "Syntax: gpg-preset-passphrase [options] KEYGRIP\n"
 "Password cache maintenance\n"
 
-#: agent/protect-tool.c:108 g10/gpg.c:440 kbx/kbxutil.c:71 sm/gpgsm.c:204
-#: dirmngr/dirmngr.c:163 tools/gpgconf.c:78
+#: agent/protect-tool.c:108 g10/gpg.c:437 kbx/kbxutil.c:71 sm/gpgsm.c:205
+#: dirmngr/dirmngr.c:164 tools/gpgconf.c:78
 msgid ""
 "@Commands:\n"
 " "
@@ -690,8 +688,8 @@ msgstr ""
 "@Commands:\n"
 " "
 
-#: agent/protect-tool.c:117 g10/gpg.c:553 g10/gpgv.c:76 kbx/kbxutil.c:81
-#: sm/gpgsm.c:252 dirmngr/dirmngr.c:179 tools/gpg-connect-agent.c:76
+#: agent/protect-tool.c:117 g10/gpg.c:550 g10/gpgv.c:76 kbx/kbxutil.c:81
+#: sm/gpgsm.c:253 dirmngr/dirmngr.c:180 tools/gpg-connect-agent.c:76
 #: tools/gpgconf.c:105
 msgid ""
 "@\n"
@@ -714,11 +712,11 @@ msgstr ""
 "Syntax: gpg-protect-tool [options] [args]\n"
 "Secret key maintenance tool\n"
 
-#: agent/protect-tool.c:703
+#: agent/protect-tool.c:703 sm/import.c:774
 msgid "Please enter the passphrase to unprotect the PKCS#12 object."
 msgstr "Please enter the passphrase to unprotect the PKCS#12 object."
 
-#: agent/protect-tool.c:708
+#: agent/protect-tool.c:708 sm/export.c:710
 msgid "Please enter the passphrase to protect the new PKCS#12 object."
 msgstr "Please enter the passphrase to protect the new PKCS#12 object."
 
@@ -748,7 +746,7 @@ msgstr "cancelled\n"
 msgid "error while asking for the passphrase: %s\n"
 msgstr "error while asking for the passphrase: %s\n"
 
-#: agent/trustlist.c:154 agent/trustlist.c:364 dirmngr/dirmngr.c:1629
+#: agent/trustlist.c:154 agent/trustlist.c:364 dirmngr/dirmngr.c:1666
 #: tools/gpgconf.c:418
 #, c-format
 msgid "error opening '%s': %s\n"
@@ -911,7 +909,7 @@ msgstr "checking created signature failed: %s\n"
 msgid "secret key parts are not available\n"
 msgstr "secret key parts are not available\n"
 
-#: agent/cvt-openpgp.c:344 g10/card-util.c:1540
+#: agent/cvt-openpgp.c:344 g10/card-util.c:1541
 #, c-format
 msgid "public key algorithm %d (%s) is not supported\n"
 msgstr "public key algorithm %d (%s) is not supported\n"
@@ -926,21 +924,21 @@ msgstr "protection algorithm %d (%s) is not supported\n"
 msgid "protection hash algorithm %d (%s) is not supported\n"
 msgstr "protection hash algorithm %d (%s) is not supported\n"
 
-#: common/exechelp-posix.c:359 common/exechelp-w32.c:449
-#: common/exechelp-w32.c:473 common/exechelp-w32.c:503
+#: common/exechelp-posix.c:359 common/exechelp-w32.c:451
+#: common/exechelp-w32.c:475 common/exechelp-w32.c:505
 #, c-format
 msgid "error creating a pipe: %s\n"
 msgstr "error creating a pipe: %s\n"
 
 #: common/exechelp-posix.c:372 common/exechelp-w32.c:355
-#: common/exechelp-w32.c:459 common/exechelp-w32.c:483
-#: common/exechelp-w32.c:513
+#: common/exechelp-w32.c:461 common/exechelp-w32.c:485
+#: common/exechelp-w32.c:515
 #, c-format
 msgid "error creating a stream for a pipe: %s\n"
 msgstr "error creating a stream for a pipe: %s\n"
 
 #: common/exechelp-posix.c:495 common/exechelp-posix.c:570
-#: common/exechelp-posix.c:851 dirmngr/dirmngr.c:1306
+#: common/exechelp-posix.c:856 dirmngr/dirmngr.c:1343
 #, c-format
 msgid "error forking process: %s\n"
 msgstr "error forking process: %s\n"
@@ -950,28 +948,28 @@ msgstr "error forking process: %s\n"
 msgid "waiting for process %d to terminate failed: %s\n"
 msgstr "waiting for process %d to terminate failed: %s\n"
 
-#: common/exechelp-posix.c:678 common/exechelp-posix.c:794
+#: common/exechelp-posix.c:678 common/exechelp-posix.c:799
 #, c-format
 msgid "error running '%s': probably not installed\n"
 msgstr "error running '%s': probably not installed\n"
 
-#: common/exechelp-posix.c:684 common/exechelp-posix.c:801
-#: common/exechelp-w32.c:796 common/exechelp-w32ce.c:781
+#: common/exechelp-posix.c:684 common/exechelp-posix.c:806
+#: common/exechelp-w32.c:829 common/exechelp-w32ce.c:781
 #, c-format
 msgid "error running '%s': exit status %d\n"
 msgstr "error running '%s': exit status %d\n"
 
-#: common/exechelp-posix.c:692 common/exechelp-posix.c:809
+#: common/exechelp-posix.c:692 common/exechelp-posix.c:814
 #, c-format
 msgid "error running '%s': terminated\n"
 msgstr "error running '%s': terminated\n"
 
-#: common/exechelp-posix.c:750 common/exechelp-w32.c:777
+#: common/exechelp-posix.c:755 common/exechelp-w32.c:810
 #, c-format
 msgid "waiting for processes to terminate failed: %s\n"
 msgstr "waiting for processes to terminate failed: %s\n"
 
-#: common/exechelp-w32.c:789 common/exechelp-w32ce.c:775
+#: common/exechelp-w32.c:822 common/exechelp-w32ce.c:775
 #, c-format
 msgid "error getting exit code of process %d: %s\n"
 msgstr "error getting exit code of process %d: %s\n"
@@ -1066,7 +1064,7 @@ msgstr "out of core in secure memory while allocating %lu bytes"
 msgid "out of core while allocating %lu bytes"
 msgstr "out of core while allocating %lu bytes"
 
-#: common/miscellaneous.c:115 g10/card-util.c:896 tools/no-libgcrypt.c:30
+#: common/miscellaneous.c:115 g10/card-util.c:897 tools/no-libgcrypt.c:30
 #, c-format
 msgid "error allocating enough memory: %s\n"
 msgstr "error allocating enough memory: %s\n"
@@ -1179,7 +1177,7 @@ msgid "algorithm: %s"
 msgstr "algorithm: %s"
 
 #: common/audit.c:774 common/audit.c:776 common/audit.c:921 common/audit.c:923
-#: scd/app-openpgp.c:3555
+#: scd/app-openpgp.c:3554
 #, c-format
 msgid "unsupported algorithm: %s"
 msgstr "unsupported algorithm: %s"
@@ -1304,6 +1302,26 @@ msgstr "[none]"
 msgid "invalid radix64 character %02x skipped\n"
 msgstr "invalid radix64 character %02x skipped\n"
 
+#: common/ttyio.c:433
+#, c-format
+msgid "Sorry, we are in batchmode - can't get input\n"
+msgstr "Sorry, we are in batchmode - can't get input\n"
+
+#: common/ttyio.c:439
+#, c-format
+msgid "Sorry, no terminal at all requested - can't get input\n"
+msgstr "Sorry, no terminal at all requested - can't get input\n"
+
+#: common/ttyio.c:474 common/ttyio.c:484
+#, c-format
+msgid "too many errors; giving up\n"
+msgstr "too many errors; giving up\n"
+
+#: common/ttyio.c:536
+#, c-format
+msgid "Control-D detected\n"
+msgstr "Control-D detected\n"
+
 #: common/argparse.c:520
 msgid "argument not expected"
 msgstr "argument not expected"
@@ -1361,7 +1379,7 @@ msgstr "invalid option"
 msgid "missing argument for option \"%.50s\"\n"
 msgstr "missing argument for option “\e[1m%.50s\e[0m”\n"
 
-#: common/argparse.c:558 g10/gpg.c:3490
+#: common/argparse.c:558 g10/gpg.c:3510
 #, c-format
 msgid "invalid argument for option \"%.50s\"\n"
 msgstr "invalid argument for option “\e[1m%.50s\e[0m”\n"
@@ -1431,31 +1449,31 @@ msgstr "failed to create temporary file '%s': %s\n"
 msgid "error writing to '%s': %s\n"
 msgstr "error writing to '%s': %s\n"
 
-#: common/dotlock.c:1129
+#: common/dotlock.c:1137
 #, c-format
 msgid "removing stale lockfile (created by %d)\n"
 msgstr "removing stale lockfile (created by %d)\n"
 
-#: common/dotlock.c:1165
+#: common/dotlock.c:1173
 #, c-format
 msgid "waiting for lock (held by %d%s) %s...\n"
 msgstr "waiting for lock (held by %d%s) %s...\n"
 
-#: common/dotlock.c:1166
+#: common/dotlock.c:1174
 msgid "(deadlock?) "
 msgstr "(deadlock?) "
 
-#: common/dotlock.c:1205
+#: common/dotlock.c:1213
 #, c-format
 msgid "lock '%s' not made: %s\n"
 msgstr "lock ‘\e[1m%s\e[0m’ not made: %s\n"
 
-#: common/dotlock.c:1232
+#: common/dotlock.c:1240
 #, c-format
 msgid "waiting for lock %s...\n"
 msgstr "waiting for lock %s...\n"
 
-#: common/init.c:185 sm/gpgsm.c:949 dirmngr/dirmngr.c:862 dirmngr/dirmngr.c:871
+#: common/init.c:191 sm/gpgsm.c:863 dirmngr/dirmngr.c:900 dirmngr/dirmngr.c:909
 #, c-format
 msgid "%s is too old (need %s, have %s)\n"
 msgstr "%s is too old (need %s, have %s)\n"
@@ -1636,12 +1654,12 @@ msgid "Note: Use the command \"%s\" to restart them.\n"
 msgstr "Note: Use the command “\e[1m%s\e[0m” to restart them.\n"
 
 #: g10/call-agent.c:318 g10/encrypt.c:154 g10/encrypt.c:620 g10/sign.c:412
-#: sm/call-agent.c:205 sm/encrypt.c:425 sm/sign.c:345
+#: sm/call-agent.c:205 sm/encrypt.c:426 sm/sign.c:345
 #, c-format
 msgid "%s is not compliant with %s mode\n"
 msgstr "%s is not compliant with %s mode\n"
 
-#: g10/call-dirmngr.c:209 sm/call-dirmngr.c:268 tools/gpg-connect-agent.c:2253
+#: g10/call-dirmngr.c:209 sm/call-dirmngr.c:269 tools/gpg-connect-agent.c:2253
 #, c-format
 msgid "no dirmngr running in this session\n"
 msgstr "no dirmngr running in this session\n"
@@ -1679,22 +1697,22 @@ msgstr "unacceptable HTTP redirect from server was cleaned up"
 msgid "server uses an invalid certificate"
 msgstr "server uses an invalid certificate"
 
-#: g10/call-dirmngr.c:437 g10/gpg.c:4400
+#: g10/call-dirmngr.c:437 g10/gpg.c:4421
 #, c-format
 msgid "Note: %s\n"
 msgstr "Note: %s\n"
 
-#: g10/card-util.c:86 g10/card-util.c:366 g10/card-util.c:1902
+#: g10/card-util.c:86 g10/card-util.c:366 g10/card-util.c:1903
 #, c-format
 msgid "OpenPGP card not available: %s\n"
 msgstr "OpenPGP card not available: %s\n"
 
-#: g10/card-util.c:91 g10/card-util.c:1908
+#: g10/card-util.c:91 g10/card-util.c:1909
 #, c-format
 msgid "OpenPGP card no. %s detected\n"
 msgstr "OpenPGP card no. %s detected\n"
 
-#: g10/card-util.c:97 g10/card-util.c:2237 g10/delkey.c:160 g10/keyedit.c:1422
+#: g10/card-util.c:97 g10/card-util.c:2238 g10/delkey.c:160 g10/keyedit.c:1423
 #: g10/keygen.c:4466 g10/revoke.c:214 g10/revoke.c:636
 #, c-format
 msgid "can't do this in batch mode\n"
@@ -1705,13 +1723,13 @@ msgstr "can't do this in batch mode\n"
 msgid "This command is only available for version 2 cards\n"
 msgstr "This command is only available for version 2 cards\n"
 
-#: g10/card-util.c:107 scd/app-openpgp.c:2864
+#: g10/card-util.c:107 scd/app-openpgp.c:2863
 #, c-format
 msgid "Reset Code not or not anymore available\n"
 msgstr "Reset Code not or not anymore available\n"
 
-#: g10/card-util.c:140 g10/card-util.c:1426 g10/card-util.c:1688
-#: g10/card-util.c:1780 g10/keyedit.c:394 g10/keyedit.c:415 g10/keyedit.c:429
+#: g10/card-util.c:140 g10/card-util.c:1427 g10/card-util.c:1689
+#: g10/card-util.c:1781 g10/keyedit.c:394 g10/keyedit.c:415 g10/keyedit.c:429
 #: g10/keygen.c:1808 g10/keygen.c:1980 g10/keygen.c:2186 g10/keygen.c:2477
 #: sm/certreqgen-ui.c:165 sm/certreqgen-ui.c:291 sm/certreqgen-ui.c:325
 msgid "Your selection? "
@@ -1737,104 +1755,104 @@ msgstr "not forced"
 msgid "forced"
 msgstr "forced"
 
-#: g10/card-util.c:749
+#: g10/card-util.c:750
 msgid "Error: Only plain ASCII is currently allowed.\n"
 msgstr "Error: Only plain ASCII is currently allowed.\n"
 
-#: g10/card-util.c:751
+#: g10/card-util.c:752
 msgid "Error: The \"<\" character may not be used.\n"
 msgstr "Error: The “\e[1m<\e[0m” character may not be used.\n"
 
-#: g10/card-util.c:753
+#: g10/card-util.c:754
 msgid "Error: Double spaces are not allowed.\n"
 msgstr "Error: Double spaces are not allowed.\n"
 
-#: g10/card-util.c:770
+#: g10/card-util.c:771
 msgid "Cardholder's surname: "
 msgstr "Cardholder's surname: "
 
-#: g10/card-util.c:772
+#: g10/card-util.c:773
 msgid "Cardholder's given name: "
 msgstr "Cardholder's given name: "
 
-#: g10/card-util.c:790
+#: g10/card-util.c:791
 #, c-format
 msgid "Error: Combined name too long (limit is %d characters).\n"
 msgstr "Error: Combined name too long (limit is %d characters).\n"
 
-#: g10/card-util.c:811
+#: g10/card-util.c:812
 msgid "URL to retrieve public key: "
 msgstr "URL to retrieve public key: "
 
-#: g10/card-util.c:905 g10/decrypt-data.c:490 g10/import.c:387 g10/import.c:734
-#: g10/import.c:786 dirmngr/crlcache.c:655 dirmngr/crlcache.c:660
-#: dirmngr/crlcache.c:914 dirmngr/crlcache.c:920 dirmngr/dirmngr.c:1668
+#: g10/card-util.c:906 g10/decrypt-data.c:490 g10/import.c:399 g10/import.c:746
+#: g10/import.c:798 dirmngr/crlcache.c:655 dirmngr/crlcache.c:660
+#: dirmngr/crlcache.c:914 dirmngr/crlcache.c:920 dirmngr/dirmngr.c:1705
 #: tools/gpgconf.c:431 tools/gpgconf.c:477
 #, c-format
 msgid "error reading '%s': %s\n"
 msgstr "error reading '%s': %s\n"
 
-#: g10/card-util.c:938 g10/decrypt-data.c:493 g10/export.c:2467
+#: g10/card-util.c:939 g10/decrypt-data.c:493 g10/export.c:2467
 #: dirmngr/crlcache.c:925
 #, c-format
 msgid "error writing '%s': %s\n"
 msgstr "error writing '%s': %s\n"
 
-#: g10/card-util.c:965
+#: g10/card-util.c:966
 msgid "Login data (account name): "
 msgstr "Login data (account name): "
 
-#: g10/card-util.c:1003
+#: g10/card-util.c:1004
 msgid "Private DO data: "
 msgstr "Private DO data: "
 
-#: g10/card-util.c:1088
+#: g10/card-util.c:1089
 msgid "Language preferences: "
 msgstr "Language preferences: "
 
-#: g10/card-util.c:1096
+#: g10/card-util.c:1097
 msgid "Error: invalid length of preference string.\n"
 msgstr "Error: invalid length of preference string.\n"
 
-#: g10/card-util.c:1105
+#: g10/card-util.c:1106
 msgid "Error: invalid characters in preference string.\n"
 msgstr "Error: invalid characters in preference string.\n"
 
-#: g10/card-util.c:1127
+#: g10/card-util.c:1128
 msgid "Salutation (M = Mr., F = Ms., or space): "
 msgstr "Salutation (M = Mr., F = Ms., or space): "
 
-#: g10/card-util.c:1141
+#: g10/card-util.c:1142
 msgid "Error: invalid response.\n"
 msgstr "Error: invalid response.\n"
 
-#: g10/card-util.c:1163
+#: g10/card-util.c:1164
 msgid "CA fingerprint: "
 msgstr "CA fingerprint: "
 
-#: g10/card-util.c:1186
+#: g10/card-util.c:1187
 msgid "Error: invalid formatted fingerprint.\n"
 msgstr "Error: invalid formatted fingerprint.\n"
 
-#: g10/card-util.c:1236
+#: g10/card-util.c:1237
 #, c-format
 msgid "key operation not possible: %s\n"
 msgstr "key operation not possible: %s\n"
 
-#: g10/card-util.c:1237
+#: g10/card-util.c:1238
 msgid "not an OpenPGP card"
 msgstr "not an OpenPGP card"
 
-#: g10/card-util.c:1250 g10/keygen.c:4486 g10/keygen.c:5565
+#: g10/card-util.c:1251 g10/keygen.c:4486 g10/keygen.c:5565
 #, c-format
 msgid "error getting current key info: %s\n"
 msgstr "error getting current key info: %s\n"
 
-#: g10/card-util.c:1335
+#: g10/card-util.c:1336
 msgid "Replace existing key? (y/N) "
 msgstr "Replace existing key? (y/N) "
 
-#: g10/card-util.c:1352
+#: g10/card-util.c:1353
 msgid ""
 "Note: There is no guarantee that the card supports the requested size.\n"
 "      If the key generation does not succeed, please check the\n"
@@ -1844,97 +1862,97 @@ msgstr ""
 "      If the key generation does not succeed, please check the\n"
 "      documentation of your card to see what sizes are allowed.\n"
 
-#: g10/card-util.c:1374 g10/keygen.c:2363 sm/certreqgen-ui.c:179
+#: g10/card-util.c:1375 g10/keygen.c:2363 sm/certreqgen-ui.c:179
 #, c-format
 msgid "What keysize do you want? (%u) "
 msgstr "What keysize do you want? (%u) "
 
-#: g10/card-util.c:1384 g10/keygen.c:2286 g10/keygen.c:2318
+#: g10/card-util.c:1385 g10/keygen.c:2286 g10/keygen.c:2318
 #: sm/certreqgen-ui.c:194
 #, c-format
 msgid "rounded up to %u bits\n"
 msgstr "rounded up to %u bits\n"
 
-#: g10/card-util.c:1392 g10/keygen.c:2371 sm/certreqgen-ui.c:184
+#: g10/card-util.c:1393 g10/keygen.c:2371 sm/certreqgen-ui.c:184
 #, c-format
 msgid "%s keysizes must be in the range %u-%u\n"
 msgstr "%s keysizes must be in the range %u-%u\n"
 
-#: g10/card-util.c:1411
+#: g10/card-util.c:1412
 msgid "Changing card key attribute for: "
 msgstr "Changing card key attribute for: "
 
-#: g10/card-util.c:1413
+#: g10/card-util.c:1414
 msgid "Signature key\n"
 msgstr "Signature key\n"
 
-#: g10/card-util.c:1415
+#: g10/card-util.c:1416
 msgid "Encryption key\n"
 msgstr "Encryption key\n"
 
-#: g10/card-util.c:1417
+#: g10/card-util.c:1418
 msgid "Authentication key\n"
 msgstr "Authentication key\n"
 
-#: g10/card-util.c:1419 g10/keygen.c:1926 sm/certreqgen-ui.c:157
+#: g10/card-util.c:1420 g10/keygen.c:1926 sm/certreqgen-ui.c:157
 msgid "Please select what kind of key you want:\n"
 msgstr "Please select what kind of key you want:\n"
 
-#: g10/card-util.c:1420 sm/certreqgen-ui.c:158
+#: g10/card-util.c:1421 sm/certreqgen-ui.c:158
 #, c-format
 msgid "   (%d) RSA\n"
 msgstr "   (%d) RSA\n"
 
-#: g10/card-util.c:1421
+#: g10/card-util.c:1422
 #, c-format
 msgid "   (%d) ECC\n"
 msgstr "   (%d) ECC\n"
 
-#: g10/card-util.c:1433 g10/card-util.c:1700 g10/card-util.c:1800
-#: g10/keyedit.c:899 g10/keygen.c:1834 g10/keygen.c:1862 g10/keygen.c:1987
+#: g10/card-util.c:1434 g10/card-util.c:1701 g10/card-util.c:1801
+#: g10/keyedit.c:900 g10/keygen.c:1834 g10/keygen.c:1862 g10/keygen.c:1987
 #: g10/keygen.c:2222 g10/keygen.c:2505 g10/revoke.c:838
 msgid "Invalid selection.\n"
 msgstr "Invalid selection.\n"
 
-#: g10/card-util.c:1506
+#: g10/card-util.c:1507
 #, c-format
 msgid "The card will now be re-configured to generate a key of %u bits\n"
 msgstr "The card will now be re-configured to generate a key of %u bits\n"
 
-#: g10/card-util.c:1511
+#: g10/card-util.c:1512
 #, c-format
 msgid "The card will now be re-configured to generate a key of type: %s\n"
 msgstr "The card will now be re-configured to generate a key of type: %s\n"
 
-#: g10/card-util.c:1547
+#: g10/card-util.c:1548
 #, c-format
 msgid "error changing key attribute for key %d: %s\n"
 msgstr "error changing key attribute for key %d: %s\n"
 
-#: g10/card-util.c:1563 g10/card-util.c:2090
+#: g10/card-util.c:1564 g10/card-util.c:2091
 #, c-format
 msgid "error getting card info: %s\n"
 msgstr "error getting card info: %s\n"
 
-#: g10/card-util.c:1569 g10/card-util.c:1914 g10/card-util.c:2096
+#: g10/card-util.c:1570 g10/card-util.c:1915 g10/card-util.c:2097
 #, c-format
 msgid "This command is not supported by this card\n"
 msgstr "This command is not supported by this card\n"
 
-#: g10/card-util.c:1615
+#: g10/card-util.c:1616
 msgid "Make off-card backup of encryption key? (Y/n) "
 msgstr "Make off-card backup of encryption key? (Y/n) "
 
-#: g10/card-util.c:1629
+#: g10/card-util.c:1630
 #, c-format
 msgid "Note: keys are already stored on the card!\n"
 msgstr "Note: keys are already stored on the card!\n"
 
-#: g10/card-util.c:1632
+#: g10/card-util.c:1633
 msgid "Replace existing keys? (y/N) "
 msgstr "Replace existing keys? (y/N) "
 
-#: g10/card-util.c:1644
+#: g10/card-util.c:1645
 #, c-format
 msgid ""
 "Please note that the factory settings of the PINs are\n"
@@ -1945,142 +1963,142 @@ msgstr ""
 "   PIN = ‘\e[1m%s\e[0m’     Admin PIN = ‘\e[1m%s\e[0m’\n"
 "You should change them using the command --change-pin\n"
 
-#: g10/card-util.c:1679
+#: g10/card-util.c:1680
 msgid "Please select the type of key to generate:\n"
 msgstr "Please select the type of key to generate:\n"
 
-#: g10/card-util.c:1681 g10/card-util.c:1771
+#: g10/card-util.c:1682 g10/card-util.c:1772
 msgid "   (1) Signature key\n"
 msgstr "   (1) Signature key\n"
 
-#: g10/card-util.c:1682 g10/card-util.c:1773
+#: g10/card-util.c:1683 g10/card-util.c:1774
 msgid "   (2) Encryption key\n"
 msgstr "   (2) Encryption key\n"
 
-#: g10/card-util.c:1683 g10/card-util.c:1775
+#: g10/card-util.c:1684 g10/card-util.c:1776
 msgid "   (3) Authentication key\n"
 msgstr "   (3) Authentication key\n"
 
-#: g10/card-util.c:1768
+#: g10/card-util.c:1769
 msgid "Please select where to store the key:\n"
 msgstr "Please select where to store the key:\n"
 
-#: g10/card-util.c:1814
+#: g10/card-util.c:1815
 #, c-format
 msgid "KEYTOCARD failed: %s\n"
 msgstr "KEYTOCARD failed: %s\n"
 
-#: g10/card-util.c:1919
+#: g10/card-util.c:1920
 #, c-format
 msgid "Note: This command destroys all keys stored on the card!\n"
 msgstr "Note: This command destroys all keys stored on the card!\n"
 
-#: g10/card-util.c:1922
+#: g10/card-util.c:1923
 msgid "Continue? (y/N) "
 msgstr "Continue? (y/N) "
 
-#: g10/card-util.c:1927
+#: g10/card-util.c:1928
 msgid "Really do a factory reset? (enter \"yes\") "
 msgstr "Really do a factory reset? (enter “\e[1myes\e[0m”) "
 
-#: g10/card-util.c:2113
+#: g10/card-util.c:2114
 #, c-format
 msgid "error for setup KDF: %s\n"
 msgstr "error for setup KDF: %s\n"
 
-#: g10/card-util.c:2142 g10/keyedit.c:1259
+#: g10/card-util.c:2143 g10/keyedit.c:1260
 msgid "quit this menu"
 msgstr "quit this menu"
 
-#: g10/card-util.c:2144
+#: g10/card-util.c:2145
 msgid "show admin commands"
 msgstr "show admin commands"
 
-#: g10/card-util.c:2145 g10/keyedit.c:1262
+#: g10/card-util.c:2146 g10/keyedit.c:1263
 msgid "show this help"
 msgstr "show this help"
 
-#: g10/card-util.c:2147
+#: g10/card-util.c:2148
 msgid "list all available data"
 msgstr "list all available data"
 
-#: g10/card-util.c:2150
+#: g10/card-util.c:2151
 msgid "change card holder's name"
 msgstr "change card holder's name"
 
-#: g10/card-util.c:2151
+#: g10/card-util.c:2152
 msgid "change URL to retrieve key"
 msgstr "change URL to retrieve key"
 
-#: g10/card-util.c:2152
+#: g10/card-util.c:2153
 msgid "fetch the key specified in the card URL"
 msgstr "fetch the key specified in the card URL"
 
-#: g10/card-util.c:2153
+#: g10/card-util.c:2154
 msgid "change the login name"
 msgstr "change the login name"
 
-#: g10/card-util.c:2154
+#: g10/card-util.c:2155
 msgid "change the language preferences"
 msgstr "change the language preferences"
 
-#: g10/card-util.c:2155
+#: g10/card-util.c:2156
 msgid "change card holder's salutation"
 msgstr "change card holder's salutation"
 
-#: g10/card-util.c:2157
+#: g10/card-util.c:2158
 msgid "change a CA fingerprint"
 msgstr "change a CA fingerprint"
 
-#: g10/card-util.c:2158
+#: g10/card-util.c:2159
 msgid "toggle the signature force PIN flag"
 msgstr "toggle the signature force PIN flag"
 
-#: g10/card-util.c:2159
+#: g10/card-util.c:2160
 msgid "generate new keys"
 msgstr "generate new keys"
 
-#: g10/card-util.c:2160
+#: g10/card-util.c:2161
 msgid "menu to change or unblock the PIN"
 msgstr "menu to change or unblock the PIN"
 
-#: g10/card-util.c:2161
+#: g10/card-util.c:2162
 msgid "verify the PIN and list all data"
 msgstr "verify the PIN and list all data"
 
-#: g10/card-util.c:2162
+#: g10/card-util.c:2163
 msgid "unblock the PIN using a Reset Code"
 msgstr "unblock the PIN using a Reset Code"
 
-#: g10/card-util.c:2163
+#: g10/card-util.c:2164
 msgid "destroy all keys and data"
 msgstr "destroy all keys and data"
 
-#: g10/card-util.c:2164
+#: g10/card-util.c:2165
 msgid "setup KDF for PIN authentication"
 msgstr "setup KDF for PIN authentication"
 
-#: g10/card-util.c:2165
+#: g10/card-util.c:2166
 msgid "change the key attribute"
 msgstr "change the key attribute"
 
-#: g10/card-util.c:2289
+#: g10/card-util.c:2290
 msgid "gpg/card> "
 msgstr "gpg/card> "
 
-#: g10/card-util.c:2330
+#: g10/card-util.c:2331
 msgid "Admin-only command\n"
 msgstr "Admin-only command\n"
 
-#: g10/card-util.c:2361
+#: g10/card-util.c:2362
 msgid "Admin commands are allowed\n"
 msgstr "Admin commands are allowed\n"
 
-#: g10/card-util.c:2363
+#: g10/card-util.c:2364
 msgid "Admin commands are not allowed\n"
 msgstr "Admin commands are not allowed\n"
 
-#: g10/card-util.c:2466 g10/keyedit.c:2228
+#: g10/card-util.c:2467 g10/keyedit.c:2229
 msgid "Invalid command  (try \"help\")\n"
 msgstr "Invalid command  (try “\e[1mhelp\e[0m”)\n"
 
@@ -2089,21 +2107,21 @@ msgstr "Invalid command  (try “\e[1mhelp\e[0m”)\n"
 msgid "--output doesn't work for this command\n"
 msgstr "--output doesn't work for this command\n"
 
-#: g10/decrypt.c:247 g10/gpg.c:5083 g10/keyring.c:399 g10/keyring.c:750
+#: g10/decrypt.c:247 g10/gpg.c:5104 g10/keyring.c:399 g10/keyring.c:750
 #, c-format
 msgid "can't open '%s'\n"
 msgstr "can't open ‘\e[1m%s\e[0m’\n"
 
 #: g10/delkey.c:83 g10/export.c:1947 g10/export.c:2230 g10/export.c:2351
-#: g10/getkey.c:1964 g10/gpg.c:5028 g10/keyedit.c:1444 g10/keyedit.c:2334
-#: g10/keyedit.c:2580 g10/keyedit.c:4543 g10/keylist.c:689 g10/keyserver.c:1259
+#: g10/getkey.c:2108 g10/gpg.c:5049 g10/keyedit.c:1445 g10/keyedit.c:2335
+#: g10/keyedit.c:2581 g10/keyedit.c:4544 g10/keylist.c:689 g10/keyserver.c:1092
 #: g10/revoke.c:230 g10/tofu.c:2165
 #, c-format
 msgid "key \"%s\" not found: %s\n"
 msgstr "key “\e[1m%s\e[0m” not found: %s\n"
 
-#: g10/delkey.c:92 g10/export.c:2015 g10/getkey.c:1972 g10/getkey.c:4346
-#: g10/gpg.c:5037 g10/keyedit.c:2307 g10/keyserver.c:1277 g10/revoke.c:236
+#: g10/delkey.c:92 g10/export.c:2015 g10/getkey.c:2116 g10/getkey.c:4517
+#: g10/gpg.c:5058 g10/keyedit.c:2308 g10/keyserver.c:1110 g10/revoke.c:236
 #: g10/revoke.c:663 g10/tofu.c:2173
 #, c-format
 msgid "error reading keyblock: %s\n"
@@ -2161,9 +2179,9 @@ msgstr "key"
 msgid "subkey"
 msgstr "subkey"
 
-#: g10/delkey.c:299 g10/keyedit.c:2200 g10/keyedit.c:2210 g10/keyedit.c:2387
-#: g10/keyedit.c:2461 g10/keyedit.c:2532 g10/keyedit.c:2757 g10/keyedit.c:2987
-#: g10/keyedit.c:3056 g10/keyedit.c:3207
+#: g10/delkey.c:299 g10/keyedit.c:2201 g10/keyedit.c:2211 g10/keyedit.c:2388
+#: g10/keyedit.c:2462 g10/keyedit.c:2533 g10/keyedit.c:2758 g10/keyedit.c:2988
+#: g10/keyedit.c:3057 g10/keyedit.c:3208
 #, c-format
 msgid "update failed: %s\n"
 msgstr "update failed: %s\n"
@@ -2188,7 +2206,7 @@ msgstr "there is a secret key for public key “\e[1m%s\e[0m”!\n"
 msgid "use option \"--delete-secret-keys\" to delete it first.\n"
 msgstr "use option “\e[1m--delete-secret-keys\e[0m” to delete it first.\n"
 
-#: g10/encrypt.c:202 g10/sign.c:1471
+#: g10/encrypt.c:202 g10/sign.c:1470
 #, c-format
 msgid "error creating passphrase: %s\n"
 msgstr "error creating passphrase: %s\n"
@@ -2213,14 +2231,14 @@ msgstr "‘\e[1m%s\e[0m’ already compressed\n"
 msgid "WARNING: '%s' is an empty file\n"
 msgstr "WARNING: ‘\e[1m%s\e[0m’ is an empty file\n"
 
-#: g10/encrypt.c:387 g10/encrypt.c:610 g10/decrypt-data.c:260 g10/gpg.c:3901
-#: g10/gpg.c:3941 sm/decrypt.c:364 sm/encrypt.c:415 sm/gpgsm.c:1655
+#: g10/encrypt.c:387 g10/encrypt.c:610 g10/decrypt-data.c:260 g10/gpg.c:3922
+#: g10/gpg.c:3962 sm/decrypt.c:826 sm/encrypt.c:416 sm/gpgsm.c:1555
 #, c-format
 msgid "cipher algorithm '%s' may not be used in %s mode\n"
 msgstr "cipher algorithm ‘\e[1m%s\e[0m’ may not be used in %s mode\n"
 
-#: g10/encrypt.c:396 g10/gpg.c:3907 g10/gpg.c:3953 g10/sig-check.c:146
-#: g10/sign.c:391 sm/gpgsm.c:1665 sm/gpgsm.c:1675 sm/sign.c:478 sm/verify.c:506
+#: g10/encrypt.c:396 g10/gpg.c:3928 g10/gpg.c:3974 g10/sig-check.c:146
+#: g10/sign.c:391 sm/gpgsm.c:1565 sm/gpgsm.c:1575 sm/sign.c:478 sm/verify.c:506
 #, c-format
 msgid "digest algorithm '%s' may not be used in %s mode\n"
 msgstr "digest algorithm ‘\e[1m%s\e[0m’ may not be used in %s mode\n"
@@ -2237,12 +2255,12 @@ msgid ""
 msgstr ""
 "WARNING: forcing symmetric cipher %s (%d) violates recipient preferences\n"
 
-#: g10/encrypt.c:640 sm/encrypt.c:490
+#: g10/encrypt.c:640 sm/encrypt.c:491
 #, c-format
 msgid "WARNING: key %s is not suitable for encryption in %s mode\n"
 msgstr "WARNING: key %s is not suitable for encryption in %s mode\n"
 
-#: g10/encrypt.c:751 g10/sign.c:1163
+#: g10/encrypt.c:751 g10/sign.c:1162
 #, c-format
 msgid ""
 "WARNING: forcing compression algorithm %s (%d) violates recipient "
@@ -2271,12 +2289,12 @@ msgstr "option ‘\e[1m%s\e[0m’ may not be used in %s mode\n"
 msgid "%s encrypted data\n"
 msgstr "%s encrypted data\n"
 
-#: g10/decrypt-data.c:243 g10/mainproc.c:396
+#: g10/decrypt-data.c:243 g10/mainproc.c:397
 #, c-format
 msgid "encrypted with unknown algorithm %d\n"
 msgstr "encrypted with unknown algorithm %d\n"
 
-#: g10/decrypt-data.c:357 g10/decrypt-data.c:410 sm/decrypt.c:130
+#: g10/decrypt-data.c:357 g10/decrypt-data.c:410 sm/decrypt.c:550
 #, c-format
 msgid ""
 "WARNING: message was encrypted with a weak key in the symmetric cipher.\n"
@@ -2293,55 +2311,55 @@ msgstr "problem handling encrypted packet\n"
 msgid "no remote program execution supported\n"
 msgstr "no remote program execution supported\n"
 
-#: g10/exec.c:381
+#: g10/exec.c:389
 #, c-format
 msgid ""
 "external program calls are disabled due to unsafe options file permissions\n"
 msgstr ""
 "external program calls are disabled due to unsafe options file permissions\n"
 
-#: g10/exec.c:411
+#: g10/exec.c:419
 #, c-format
 msgid "this platform requires temporary files when calling external programs\n"
 msgstr ""
 "this platform requires temporary files when calling external programs\n"
 
-#: g10/exec.c:489
+#: g10/exec.c:497
 #, c-format
 msgid "unable to execute program '%s': %s\n"
 msgstr "unable to execute program '%s': %s\n"
 
-#: g10/exec.c:492
+#: g10/exec.c:500
 #, c-format
 msgid "unable to execute shell '%s': %s\n"
 msgstr "unable to execute shell '%s': %s\n"
 
-#: g10/exec.c:583
+#: g10/exec.c:591
 #, c-format
 msgid "system error while calling external program: %s\n"
 msgstr "system error while calling external program: %s\n"
 
-#: g10/exec.c:594 g10/exec.c:661
+#: g10/exec.c:602 g10/exec.c:669
 #, c-format
 msgid "unnatural exit of external program\n"
 msgstr "unnatural exit of external program\n"
 
-#: g10/exec.c:609
+#: g10/exec.c:617
 #, c-format
 msgid "unable to execute external program\n"
 msgstr "unable to execute external program\n"
 
-#: g10/exec.c:626
+#: g10/exec.c:634
 #, c-format
 msgid "unable to read external program response: %s\n"
 msgstr "unable to read external program response: %s\n"
 
-#: g10/exec.c:672 g10/exec.c:679
+#: g10/exec.c:680 g10/exec.c:687
 #, c-format
 msgid "WARNING: unable to remove tempfile (%s) '%s': %s\n"
 msgstr "WARNING: unable to remove tempfile (%s) '%s': %s\n"
 
-#: g10/exec.c:684
+#: g10/exec.c:692
 #, c-format
 msgid "WARNING: unable to remove temp directory '%s': %s\n"
 msgstr "WARNING: unable to remove temp directory '%s': %s\n"
@@ -2374,8 +2392,8 @@ msgstr "use the GnuPG key backup format"
 msgid " - skipped"
 msgstr " - skipped"
 
-#: g10/export.c:1324 g10/import.c:2073 g10/openfile.c:200 g10/openfile.c:294
-#: g10/sign.c:1013 g10/sign.c:1327
+#: g10/export.c:1324 g10/import.c:2085 g10/openfile.c:200 g10/openfile.c:294
+#: g10/sign.c:1012 g10/sign.c:1326
 #, c-format
 msgid "writing to '%s'\n"
 msgstr "writing to ‘\e[1m%s\e[0m’\n"
@@ -2410,266 +2428,266 @@ msgstr "error creating '%s': %s\n"
 msgid "[User ID not found]"
 msgstr "[User ID not found]"
 
-#: g10/getkey.c:1297
+#: g10/getkey.c:1441
 #, c-format
 msgid "automatically retrieved '%s' via %s\n"
 msgstr "automatically retrieved ‘\e[1m%s\e[0m’ via %s\n"
 
-#: g10/getkey.c:1303
+#: g10/getkey.c:1447
 #, c-format
 msgid "error retrieving '%s' via %s: %s\n"
 msgstr "error retrieving ‘\e[1m%s\e[0m’ via %s: %s\n"
 
-#: g10/getkey.c:1305
+#: g10/getkey.c:1449
 msgid "No fingerprint"
 msgstr "No fingerprint"
 
-#: g10/getkey.c:1526
+#: g10/getkey.c:1670
 #, c-format
 msgid "checking for a fresh copy of an expired key via %s\n"
 msgstr "checking for a fresh copy of an expired key via %s\n"
 
-#: g10/getkey.c:1941 g10/revoke.c:655 g10/revoke.c:720
+#: g10/getkey.c:2085 g10/revoke.c:655 g10/revoke.c:720
 #, c-format
 msgid "secret key \"%s\" not found: %s\n"
 msgstr "secret key “\e[1m%s\e[0m” not found: %s\n"
 
-#: g10/getkey.c:1944 g10/pkclist.c:988
+#: g10/getkey.c:2088 g10/pkclist.c:988
 #, c-format
 msgid "(check argument of option '%s')\n"
 msgstr "(check argument of option '%s')\n"
 
-#: g10/getkey.c:2020
+#: g10/getkey.c:2164
 #, c-format
 msgid "Warning: not using '%s' as default key: %s\n"
 msgstr "Warning: not using ‘\e[1m%s\e[0m’ as default key: %s\n"
 
-#: g10/getkey.c:2028
+#: g10/getkey.c:2172
 #, c-format
 msgid "using \"%s\" as default secret key for signing\n"
 msgstr "using “\e[1m%s\e[0m” as default secret key for signing\n"
 
-#: g10/getkey.c:2035
+#: g10/getkey.c:2179
 #, c-format
 msgid "all values passed to '%s' ignored\n"
 msgstr "all values passed to ‘\e[1m%s\e[0m’ ignored\n"
 
-#: g10/getkey.c:2880
+#: g10/getkey.c:3024
 #, c-format
 msgid "Invalid key %s made valid by --allow-non-selfsigned-uid\n"
 msgstr "Invalid key %s made valid by --allow-non-selfsigned-uid\n"
 
-#: g10/getkey.c:3730
+#: g10/getkey.c:3874
 #, c-format
 msgid "using subkey %s instead of primary key %s\n"
 msgstr "using subkey %s instead of primary key %s\n"
 
-#: g10/getkey.c:4275 g10/gpg.c:2107
+#: g10/getkey.c:4446 g10/gpg.c:2120
 #, c-format
 msgid "valid values for option '%s':\n"
 msgstr "valid values for option '%s':\n"
 
-#: g10/gpg.c:442 sm/gpgsm.c:206
+#: g10/gpg.c:439 sm/gpgsm.c:207
 msgid "make a signature"
 msgstr "make a signature"
 
-#: g10/gpg.c:443
+#: g10/gpg.c:440
 msgid "make a clear text signature"
 msgstr "make a clear text signature"
 
-#: g10/gpg.c:445 sm/gpgsm.c:208
+#: g10/gpg.c:442 sm/gpgsm.c:209
 msgid "make a detached signature"
 msgstr "make a detached signature"
 
-#: g10/gpg.c:446 sm/gpgsm.c:209
+#: g10/gpg.c:443 sm/gpgsm.c:210
 msgid "encrypt data"
 msgstr "encrypt data"
 
-#: g10/gpg.c:448
+#: g10/gpg.c:445
 msgid "encryption only with symmetric cipher"
 msgstr "encryption only with symmetric cipher"
 
-#: g10/gpg.c:450 sm/gpgsm.c:211
+#: g10/gpg.c:447 sm/gpgsm.c:212
 msgid "decrypt data (default)"
 msgstr "decrypt data (default)"
 
-#: g10/gpg.c:452 sm/gpgsm.c:212
+#: g10/gpg.c:449 sm/gpgsm.c:213
 msgid "verify a signature"
 msgstr "verify a signature"
 
-#: g10/gpg.c:454 sm/gpgsm.c:213
+#: g10/gpg.c:451 sm/gpgsm.c:214
 msgid "list keys"
 msgstr "list keys"
 
-#: g10/gpg.c:456
+#: g10/gpg.c:453
 msgid "list keys and signatures"
 msgstr "list keys and signatures"
 
-#: g10/gpg.c:459
+#: g10/gpg.c:456
 msgid "list and check key signatures"
 msgstr "list and check key signatures"
 
-#: g10/gpg.c:461 sm/gpgsm.c:218
+#: g10/gpg.c:458 sm/gpgsm.c:219
 msgid "list keys and fingerprints"
 msgstr "list keys and fingerprints"
 
-#: g10/gpg.c:462 sm/gpgsm.c:216
+#: g10/gpg.c:459 sm/gpgsm.c:217
 msgid "list secret keys"
 msgstr "list secret keys"
 
-#: g10/gpg.c:464 sm/gpgsm.c:219
+#: g10/gpg.c:461 sm/gpgsm.c:220
 msgid "generate a new key pair"
 msgstr "generate a new key pair"
 
-#: g10/gpg.c:467
+#: g10/gpg.c:464
 msgid "quickly generate a new key pair"
 msgstr "quickly generate a new key pair"
 
-#: g10/gpg.c:470
+#: g10/gpg.c:467
 msgid "quickly add a new user-id"
 msgstr "quickly add a new user-id"
 
-#: g10/gpg.c:475
+#: g10/gpg.c:472
 msgid "quickly revoke a user-id"
 msgstr "quickly revoke a user-id"
 
-#: g10/gpg.c:478
+#: g10/gpg.c:475
 msgid "quickly set a new expiration date"
 msgstr "quickly set a new expiration date"
 
-#: g10/gpg.c:481
+#: g10/gpg.c:478
 msgid "full featured key pair generation"
 msgstr "full featured key pair generation"
 
-#: g10/gpg.c:484
+#: g10/gpg.c:481
 msgid "generate a revocation certificate"
 msgstr "generate a revocation certificate"
 
-#: g10/gpg.c:487 sm/gpgsm.c:222
+#: g10/gpg.c:484 sm/gpgsm.c:223
 msgid "remove keys from the public keyring"
 msgstr "remove keys from the public keyring"
 
-#: g10/gpg.c:489
+#: g10/gpg.c:486
 msgid "remove keys from the secret keyring"
 msgstr "remove keys from the secret keyring"
 
-#: g10/gpg.c:491
+#: g10/gpg.c:488
 msgid "quickly sign a key"
 msgstr "quickly sign a key"
 
-#: g10/gpg.c:493
+#: g10/gpg.c:490
 msgid "quickly sign a key locally"
 msgstr "quickly sign a key locally"
 
-#: g10/gpg.c:495
+#: g10/gpg.c:492
 msgid "quickly revoke a key signature"
 msgstr "quickly revoke a key signature"
 
-#: g10/gpg.c:496
+#: g10/gpg.c:493
 msgid "sign a key"
 msgstr "sign a key"
 
-#: g10/gpg.c:497
+#: g10/gpg.c:494
 msgid "sign a key locally"
 msgstr "sign a key locally"
 
-#: g10/gpg.c:498
+#: g10/gpg.c:495
 msgid "sign or edit a key"
 msgstr "sign or edit a key"
 
-#: g10/gpg.c:500 sm/gpgsm.c:240
+#: g10/gpg.c:497 sm/gpgsm.c:241
 msgid "change a passphrase"
 msgstr "change a passphrase"
 
-#: g10/gpg.c:504
+#: g10/gpg.c:501
 msgid "export keys"
 msgstr "export keys"
 
-#: g10/gpg.c:505
+#: g10/gpg.c:502
 msgid "export keys to a keyserver"
 msgstr "export keys to a keyserver"
 
-#: g10/gpg.c:506
+#: g10/gpg.c:503
 msgid "import keys from a keyserver"
 msgstr "import keys from a keyserver"
 
-#: g10/gpg.c:509
+#: g10/gpg.c:506
 msgid "search for keys on a keyserver"
 msgstr "search for keys on a keyserver"
 
-#: g10/gpg.c:511
+#: g10/gpg.c:508
 msgid "update all keys from a keyserver"
 msgstr "update all keys from a keyserver"
 
-#: g10/gpg.c:519
+#: g10/gpg.c:516
 msgid "import/merge keys"
 msgstr "import/merge keys"
 
-#: g10/gpg.c:522
+#: g10/gpg.c:519
 msgid "print the card status"
 msgstr "print the card status"
 
-#: g10/gpg.c:523
+#: g10/gpg.c:520
 msgid "change data on a card"
 msgstr "change data on a card"
 
-#: g10/gpg.c:525
+#: g10/gpg.c:522
 msgid "change a card's PIN"
 msgstr "change a card's PIN"
 
-#: g10/gpg.c:537
+#: g10/gpg.c:534
 msgid "update the trust database"
 msgstr "update the trust database"
 
-#: g10/gpg.c:546
+#: g10/gpg.c:543
 msgid "print message digests"
 msgstr "print message digests"
 
-#: g10/gpg.c:549 sm/gpgsm.c:235
+#: g10/gpg.c:546 sm/gpgsm.c:236
 msgid "run in server mode"
 msgstr "run in server mode"
 
-#: g10/gpg.c:551
+#: g10/gpg.c:548
 msgid "|VALUE|set the TOFU policy for a key"
 msgstr "|VALUE|set the TOFU policy for a key"
 
-#: g10/gpg.c:555 sm/gpgsm.c:254
+#: g10/gpg.c:552 sm/gpgsm.c:255
 msgid "create ascii armored output"
 msgstr "create ascii armored output"
 
-#: g10/gpg.c:558 sm/gpgsm.c:271
+#: g10/gpg.c:555 sm/gpgsm.c:272
 msgid "|USER-ID|encrypt for USER-ID"
 msgstr "|USER-ID|encrypt for USER-ID"
 
-#: g10/gpg.c:574 sm/gpgsm.c:307
+#: g10/gpg.c:571 sm/gpgsm.c:308
 msgid "|USER-ID|use USER-ID to sign or decrypt"
 msgstr "|USER-ID|use USER-ID to sign or decrypt"
 
-#: g10/gpg.c:580
+#: g10/gpg.c:577
 msgid "|N|set compress level to N (0 disables)"
 msgstr "|N|set compress level to N (0 disables)"
 
-#: g10/gpg.c:587
+#: g10/gpg.c:584
 msgid "use canonical text mode"
 msgstr "use canonical text mode"
 
-#: g10/gpg.c:604 g10/gpgv.c:82 sm/gpgsm.c:309
+#: g10/gpg.c:601 g10/gpgv.c:82 sm/gpgsm.c:310
 msgid "|FILE|write output to FILE"
 msgstr "|FILE|write output to FILE"
 
-#: g10/gpg.c:614 kbx/kbxutil.c:90 sm/gpgsm.c:321 tools/gpgconf.c:110
+#: g10/gpg.c:611 kbx/kbxutil.c:90 sm/gpgsm.c:322 tools/gpgconf.c:110
 msgid "do not make any changes"
 msgstr "do not make any changes"
 
-#: g10/gpg.c:615
+#: g10/gpg.c:612
 msgid "prompt before overwriting"
 msgstr "prompt before overwriting"
 
-#: g10/gpg.c:665
+#: g10/gpg.c:662
 msgid "use strict OpenPGP behavior"
 msgstr "use strict OpenPGP behavior"
 
-#: g10/gpg.c:692 sm/gpgsm.c:364
+#: g10/gpg.c:689 sm/gpgsm.c:367
 msgid ""
 "@\n"
 "(See the man page for a complete listing of all commands and options)\n"
@@ -2677,7 +2695,7 @@ msgstr ""
 "@\n"
 "(See the man page for a complete listing of all commands and options)\n"
 
-#: g10/gpg.c:695
+#: g10/gpg.c:692
 msgid ""
 "@\n"
 "Examples:\n"
@@ -2697,11 +2715,11 @@ msgstr ""
 " --list-keys [names]        show keys\n"
 " --fingerprint [names]      show fingerprints\n"
 
-#: g10/gpg.c:1092
+#: g10/gpg.c:1096
 msgid "Usage: @GPG@ [options] [files] (-h for help)"
 msgstr "Usage: @GPG@ [options] [files] (-h for help)"
 
-#: g10/gpg.c:1095
+#: g10/gpg.c:1099
 msgid ""
 "Syntax: @GPG@ [options] [files]\n"
 "Sign, check, encrypt or decrypt\n"
@@ -2711,7 +2729,7 @@ msgstr ""
 "Sign, check, encrypt or decrypt\n"
 "Default operation depends on the input data\n"
 
-#: g10/gpg.c:1106 sm/gpgsm.c:591
+#: g10/gpg.c:1110 sm/gpgsm.c:594
 msgid ""
 "\n"
 "Supported algorithms:\n"
@@ -2719,73 +2737,73 @@ msgstr ""
 "\n"
 "Supported algorithms:\n"
 
-#: g10/gpg.c:1109
+#: g10/gpg.c:1113
 msgid "Pubkey: "
 msgstr "Pubkey: "
 
-#: g10/gpg.c:1116 g10/keyedit.c:3281
+#: g10/gpg.c:1120 g10/keyedit.c:3282
 msgid "Cipher: "
 msgstr "Cipher: "
 
-#: g10/gpg.c:1123
+#: g10/gpg.c:1127
 msgid "Hash: "
 msgstr "Hash: "
 
-#: g10/gpg.c:1130 g10/keyedit.c:3347
+#: g10/gpg.c:1134 g10/keyedit.c:3348
 msgid "Compression: "
 msgstr "Compression: "
 
-#: g10/gpg.c:1199 sm/gpgsm.c:665
+#: g10/gpg.c:1207 sm/gpgsm.c:668
 #, c-format
 msgid "usage: %s [options] %s\n"
 msgstr "usage: %s [options] %s\n"
 
-#: g10/gpg.c:1388 sm/gpgsm.c:754
+#: g10/gpg.c:1396 sm/gpgsm.c:761
 #, c-format
 msgid "conflicting commands\n"
 msgstr "conflicting commands\n"
 
-#: g10/gpg.c:1406
+#: g10/gpg.c:1414
 #, c-format
 msgid "no = sign found in group definition '%s'\n"
 msgstr "no = sign found in group definition ‘\e[1m%s\e[0m’\n"
 
-#: g10/gpg.c:1604
+#: g10/gpg.c:1612
 #, c-format
 msgid "WARNING: unsafe ownership on homedir '%s'\n"
 msgstr "WARNING: unsafe ownership on homedir ‘\e[1m%s\e[0m’\n"
 
-#: g10/gpg.c:1607
+#: g10/gpg.c:1615
 #, c-format
 msgid "WARNING: unsafe ownership on configuration file '%s'\n"
 msgstr "WARNING: unsafe ownership on configuration file ‘\e[1m%s\e[0m’\n"
 
-#: g10/gpg.c:1610
+#: g10/gpg.c:1618
 #, c-format
 msgid "WARNING: unsafe ownership on extension '%s'\n"
 msgstr "WARNING: unsafe ownership on extension ‘\e[1m%s\e[0m’\n"
 
-#: g10/gpg.c:1616
+#: g10/gpg.c:1624
 #, c-format
 msgid "WARNING: unsafe permissions on homedir '%s'\n"
 msgstr "WARNING: unsafe permissions on homedir ‘\e[1m%s\e[0m’\n"
 
-#: g10/gpg.c:1619
+#: g10/gpg.c:1627
 #, c-format
 msgid "WARNING: unsafe permissions on configuration file '%s'\n"
 msgstr "WARNING: unsafe permissions on configuration file ‘\e[1m%s\e[0m’\n"
 
-#: g10/gpg.c:1622
+#: g10/gpg.c:1630
 #, c-format
 msgid "WARNING: unsafe permissions on extension '%s'\n"
 msgstr "WARNING: unsafe permissions on extension ‘\e[1m%s\e[0m’\n"
 
-#: g10/gpg.c:1628
+#: g10/gpg.c:1636
 #, c-format
 msgid "WARNING: unsafe enclosing directory ownership on homedir '%s'\n"
 msgstr "WARNING: unsafe enclosing directory ownership on homedir ‘\e[1m%s\e[0m’\n"
 
-#: g10/gpg.c:1631
+#: g10/gpg.c:1639
 #, c-format
 msgid ""
 "WARNING: unsafe enclosing directory ownership on configuration file '%s'\n"
@@ -2793,19 +2811,19 @@ msgstr ""
 "WARNING: unsafe enclosing directory ownership on configuration file ‘\e[1m"
 "%s\e[0m’\n"
 
-#: g10/gpg.c:1634
+#: g10/gpg.c:1642
 #, c-format
 msgid "WARNING: unsafe enclosing directory ownership on extension '%s'\n"
 msgstr ""
 "WARNING: unsafe enclosing directory ownership on extension ‘\e[1m%s\e[0m’\n"
 
-#: g10/gpg.c:1640
+#: g10/gpg.c:1648
 #, c-format
 msgid "WARNING: unsafe enclosing directory permissions on homedir '%s'\n"
 msgstr ""
 "WARNING: unsafe enclosing directory permissions on homedir ‘\e[1m%s\e[0m’\n"
 
-#: g10/gpg.c:1643
+#: g10/gpg.c:1651
 #, c-format
 msgid ""
 "WARNING: unsafe enclosing directory permissions on configuration file '%s'\n"
@@ -2813,446 +2831,446 @@ msgstr ""
 "WARNING: unsafe enclosing directory permissions on configuration file ‘\e[1m"
 "%s\e[0m’\n"
 
-#: g10/gpg.c:1646
+#: g10/gpg.c:1654
 #, c-format
 msgid "WARNING: unsafe enclosing directory permissions on extension '%s'\n"
 msgstr ""
 "WARNING: unsafe enclosing directory permissions on extension ‘\e[1m%s\e[0m’\n"
 
-#: g10/gpg.c:1862
+#: g10/gpg.c:1870
 #, c-format
 msgid "unknown configuration item '%s'\n"
 msgstr "unknown configuration item ‘\e[1m%s\e[0m’\n"
 
-#: g10/gpg.c:1979
+#: g10/gpg.c:1992
 msgid "display photo IDs during key listings"
 msgstr "display photo IDs during key listings"
 
-#: g10/gpg.c:1981
+#: g10/gpg.c:1994
 msgid "show key usage information during key listings"
 msgstr "show key usage information during key listings"
 
-#: g10/gpg.c:1983
+#: g10/gpg.c:1996
 msgid "show policy URLs during signature listings"
 msgstr "show policy URLs during signature listings"
 
-#: g10/gpg.c:1985
+#: g10/gpg.c:1998
 msgid "show all notations during signature listings"
 msgstr "show all notations during signature listings"
 
-#: g10/gpg.c:1987
+#: g10/gpg.c:2000
 msgid "show IETF standard notations during signature listings"
 msgstr "show IETF standard notations during signature listings"
 
-#: g10/gpg.c:1991
+#: g10/gpg.c:2004
 msgid "show user-supplied notations during signature listings"
 msgstr "show user-supplied notations during signature listings"
 
-#: g10/gpg.c:1993
+#: g10/gpg.c:2006
 msgid "show preferred keyserver URLs during signature listings"
 msgstr "show preferred keyserver URLs during signature listings"
 
-#: g10/gpg.c:1995
+#: g10/gpg.c:2008
 msgid "show user ID validity during key listings"
 msgstr "show user ID validity during key listings"
 
-#: g10/gpg.c:1997
+#: g10/gpg.c:2010
 msgid "show revoked and expired user IDs in key listings"
 msgstr "show revoked and expired user IDs in key listings"
 
-#: g10/gpg.c:1999
+#: g10/gpg.c:2012
 msgid "show revoked and expired subkeys in key listings"
 msgstr "show revoked and expired subkeys in key listings"
 
-#: g10/gpg.c:2001
+#: g10/gpg.c:2014
 msgid "show the keyring name in key listings"
 msgstr "show the keyring name in key listings"
 
-#: g10/gpg.c:2003
+#: g10/gpg.c:2016
 msgid "show expiration dates during signature listings"
 msgstr "show expiration dates during signature listings"
 
-#: g10/gpg.c:2118
+#: g10/gpg.c:2131
 #, c-format
 msgid "unknown TOFU policy '%s'\n"
 msgstr "unknown TOFU policy ‘\e[1m%s\e[0m’\n"
 
-#: g10/gpg.c:2120
+#: g10/gpg.c:2133
 #, c-format
 msgid "(use \"help\" to list choices)\n"
 msgstr "(use “\e[1mhelp\e[0m” to list choices)\n"
 
-#: g10/gpg.c:2840 g10/gpg.c:3671 g10/gpg.c:3683
+#: g10/gpg.c:2856 g10/gpg.c:3691 g10/gpg.c:3703
 #, c-format
 msgid "Note: %s is not for normal use!\n"
 msgstr "Note: %s is not for normal use!\n"
 
-#: g10/gpg.c:3017 g10/gpg.c:3029
+#: g10/gpg.c:3033 g10/gpg.c:3045
 #, c-format
 msgid "'%s' is not a valid signature expiration\n"
 msgstr "‘\e[1m%s\e[0m’ is not a valid signature expiration\n"
 
-#: g10/gpg.c:3051
+#: g10/gpg.c:3067
 #, c-format
 msgid "\"%s\" is not a proper mail address\n"
 msgstr "“\e[1m%s\e[0m” is not a proper mail address\n"
 
-#: g10/gpg.c:3083 sm/gpgsm.c:1177
+#: g10/gpg.c:3099 sm/gpgsm.c:1091
 #, c-format
 msgid "invalid pinentry mode '%s'\n"
 msgstr "invalid pinentry mode ‘\e[1m%s\e[0m’\n"
 
-#: g10/gpg.c:3089 sm/gpgsm.c:1183
+#: g10/gpg.c:3105 sm/gpgsm.c:1097
 #, c-format
 msgid "invalid request origin '%s'\n"
 msgstr "invalid request origin ‘\e[1m%s\e[0m’\n"
 
-#: g10/gpg.c:3143
+#: g10/gpg.c:3159
 #, c-format
 msgid "'%s' is not a valid character set\n"
 msgstr "‘\e[1m%s\e[0m’ is not a valid character set\n"
 
-#: g10/gpg.c:3165 g10/gpg.c:3375 g10/keyedit.c:5281
+#: g10/gpg.c:3181 g10/gpg.c:3395 g10/keyedit.c:5282
 #, c-format
 msgid "could not parse keyserver URL\n"
 msgstr "could not parse keyserver URL\n"
 
-#: g10/gpg.c:3183
+#: g10/gpg.c:3199
 #, c-format
 msgid "%s:%d: invalid keyserver options\n"
 msgstr "%s:%d: invalid keyserver options\n"
 
-#: g10/gpg.c:3186
+#: g10/gpg.c:3202
 #, c-format
 msgid "invalid keyserver options\n"
 msgstr "invalid keyserver options\n"
 
-#: g10/gpg.c:3193
+#: g10/gpg.c:3209
 #, c-format
 msgid "%s:%d: invalid import options\n"
 msgstr "%s:%d: invalid import options\n"
 
-#: g10/gpg.c:3196
+#: g10/gpg.c:3212
 #, c-format
 msgid "invalid import options\n"
 msgstr "invalid import options\n"
 
-#: g10/gpg.c:3202 g10/gpg.c:3217
+#: g10/gpg.c:3218 g10/gpg.c:3233
 #, c-format
 msgid "invalid filter option: %s\n"
 msgstr "invalid filter option: %s\n"
 
-#: g10/gpg.c:3208
+#: g10/gpg.c:3224
 #, c-format
 msgid "%s:%d: invalid export options\n"
 msgstr "%s:%d: invalid export options\n"
 
-#: g10/gpg.c:3211
+#: g10/gpg.c:3227
 #, c-format
 msgid "invalid export options\n"
 msgstr "invalid export options\n"
 
-#: g10/gpg.c:3223
+#: g10/gpg.c:3239
 #, c-format
 msgid "%s:%d: invalid list options\n"
 msgstr "%s:%d: invalid list options\n"
 
-#: g10/gpg.c:3226
+#: g10/gpg.c:3242
 #, c-format
 msgid "invalid list options\n"
 msgstr "invalid list options\n"
 
-#: g10/gpg.c:3234
+#: g10/gpg.c:3250
 msgid "display photo IDs during signature verification"
 msgstr "display photo IDs during signature verification"
 
-#: g10/gpg.c:3236
+#: g10/gpg.c:3252
 msgid "show policy URLs during signature verification"
 msgstr "show policy URLs during signature verification"
 
-#: g10/gpg.c:3238
+#: g10/gpg.c:3254
 msgid "show all notations during signature verification"
 msgstr "show all notations during signature verification"
 
-#: g10/gpg.c:3240
+#: g10/gpg.c:3256
 msgid "show IETF standard notations during signature verification"
 msgstr "show IETF standard notations during signature verification"
 
-#: g10/gpg.c:3244
+#: g10/gpg.c:3260
 msgid "show user-supplied notations during signature verification"
 msgstr "show user-supplied notations during signature verification"
 
-#: g10/gpg.c:3246
+#: g10/gpg.c:3262
 msgid "show preferred keyserver URLs during signature verification"
 msgstr "show preferred keyserver URLs during signature verification"
 
-#: g10/gpg.c:3248
+#: g10/gpg.c:3264
 msgid "show user ID validity during signature verification"
 msgstr "show user ID validity during signature verification"
 
-#: g10/gpg.c:3250
+#: g10/gpg.c:3266
 msgid "show revoked and expired user IDs in signature verification"
 msgstr "show revoked and expired user IDs in signature verification"
 
-#: g10/gpg.c:3252
+#: g10/gpg.c:3268
 msgid "show only the primary user ID in signature verification"
 msgstr "show only the primary user ID in signature verification"
 
-#: g10/gpg.c:3254
+#: g10/gpg.c:3270
 msgid "validate signatures with PKA data"
 msgstr "validate signatures with PKA data"
 
-#: g10/gpg.c:3256
+#: g10/gpg.c:3272
 msgid "elevate the trust of signatures with valid PKA data"
 msgstr "elevate the trust of signatures with valid PKA data"
 
-#: g10/gpg.c:3263
+#: g10/gpg.c:3279
 #, c-format
 msgid "%s:%d: invalid verify options\n"
 msgstr "%s:%d: invalid verify options\n"
 
-#: g10/gpg.c:3266
+#: g10/gpg.c:3282
 #, c-format
 msgid "invalid verify options\n"
 msgstr "invalid verify options\n"
 
-#: g10/gpg.c:3273
+#: g10/gpg.c:3289
 #, c-format
 msgid "unable to set exec-path to %s\n"
 msgstr "unable to set exec-path to %s\n"
 
-#: g10/gpg.c:3478
+#: g10/gpg.c:3498
 #, c-format
 msgid "%s:%d: invalid auto-key-locate list\n"
 msgstr "%s:%d: invalid auto-key-locate list\n"
 
-#: g10/gpg.c:3481
+#: g10/gpg.c:3501
 #, c-format
 msgid "invalid auto-key-locate list\n"
 msgstr "invalid auto-key-locate list\n"
 
-#: g10/gpg.c:3653 sm/gpgsm.c:1541
+#: g10/gpg.c:3673 sm/gpgsm.c:1441
 #, c-format
 msgid "WARNING: program may create a core file!\n"
 msgstr "WARNING: program may create a core file!\n"
 
-#: g10/gpg.c:3664
+#: g10/gpg.c:3684
 #, c-format
 msgid "WARNING: %s overrides %s\n"
 msgstr "WARNING: %s overrides %s\n"
 
-#: g10/gpg.c:3673
+#: g10/gpg.c:3693
 #, c-format
 msgid "%s not allowed with %s!\n"
 msgstr "%s not allowed with %s!\n"
 
-#: g10/gpg.c:3676
+#: g10/gpg.c:3696
 #, c-format
 msgid "%s makes no sense with %s!\n"
 msgstr "%s makes no sense with %s!\n"
 
-#: g10/gpg.c:3691 sm/gpgsm.c:1558 dirmngr/dirmngr.c:1082
+#: g10/gpg.c:3711 sm/gpgsm.c:1458 dirmngr/dirmngr.c:1117
 #, c-format
 msgid "WARNING: running with faked system time: "
 msgstr "WARNING: running with faked system time: "
 
-#: g10/gpg.c:3712
+#: g10/gpg.c:3732
 #, c-format
 msgid "will not run with insecure memory due to %s\n"
 msgstr "will not run with insecure memory due to %s\n"
 
-#: g10/gpg.c:3747 g10/gpg.c:3771 sm/gpgsm.c:1625
+#: g10/gpg.c:3767 g10/gpg.c:3791 sm/gpgsm.c:1525
 #, c-format
 msgid "selected cipher algorithm is invalid\n"
 msgstr "selected cipher algorithm is invalid\n"
 
-#: g10/gpg.c:3759
+#: g10/gpg.c:3779
 #, c-format
 msgid "selected compression algorithm is invalid\n"
 msgstr "selected compression algorithm is invalid\n"
 
-#: g10/gpg.c:3765
+#: g10/gpg.c:3785
 #, c-format
 msgid "selected certification digest algorithm is invalid\n"
 msgstr "selected certification digest algorithm is invalid\n"
 
-#: g10/gpg.c:3780
+#: g10/gpg.c:3800
 #, c-format
 msgid "completes-needed must be greater than 0\n"
 msgstr "completes-needed must be greater than 0\n"
 
-#: g10/gpg.c:3782
+#: g10/gpg.c:3802
 #, c-format
 msgid "marginals-needed must be greater than 1\n"
 msgstr "marginals-needed must be greater than 1\n"
 
-#: g10/gpg.c:3784
+#: g10/gpg.c:3804
 #, c-format
 msgid "max-cert-depth must be in the range from 1 to 255\n"
 msgstr "max-cert-depth must be in the range from 1 to 255\n"
 
-#: g10/gpg.c:3786
+#: g10/gpg.c:3806
 #, c-format
 msgid "invalid default-cert-level; must be 0, 1, 2, or 3\n"
 msgstr "invalid default-cert-level; must be 0, 1, 2, or 3\n"
 
-#: g10/gpg.c:3788
+#: g10/gpg.c:3808
 #, c-format
 msgid "invalid min-cert-level; must be 1, 2, or 3\n"
 msgstr "invalid min-cert-level; must be 1, 2, or 3\n"
 
-#: g10/gpg.c:3791
+#: g10/gpg.c:3812
 #, c-format
 msgid "Note: simple S2K mode (0) is strongly discouraged\n"
 msgstr "Note: simple S2K mode (0) is strongly discouraged\n"
 
-#: g10/gpg.c:3795
+#: g10/gpg.c:3816
 #, c-format
 msgid "invalid S2K mode; must be 0, 1 or 3\n"
 msgstr "invalid S2K mode; must be 0, 1 or 3\n"
 
-#: g10/gpg.c:3802
+#: g10/gpg.c:3823
 #, c-format
 msgid "invalid default preferences\n"
 msgstr "invalid default preferences\n"
 
-#: g10/gpg.c:3806
+#: g10/gpg.c:3827
 #, c-format
 msgid "invalid personal cipher preferences\n"
 msgstr "invalid personal cipher preferences\n"
 
-#: g10/gpg.c:3810
+#: g10/gpg.c:3831
 #, c-format
 msgid "invalid personal digest preferences\n"
 msgstr "invalid personal digest preferences\n"
 
-#: g10/gpg.c:3814
+#: g10/gpg.c:3835
 #, c-format
 msgid "invalid personal compress preferences\n"
 msgstr "invalid personal compress preferences\n"
 
-#: g10/gpg.c:3850
+#: g10/gpg.c:3871
 #, c-format
 msgid "%s does not yet work with %s\n"
 msgstr "%s does not yet work with %s\n"
 
-#: g10/gpg.c:3913
+#: g10/gpg.c:3934
 #, c-format
 msgid "compression algorithm '%s' may not be used in %s mode\n"
 msgstr "compression algorithm ‘\e[1m%s\e[0m’ may not be used in %s mode\n"
 
-#: g10/gpg.c:4057
+#: g10/gpg.c:4078
 #, c-format
 msgid "failed to initialize the TrustDB: %s\n"
 msgstr "failed to initialize the TrustDB: %s\n"
 
-#: g10/gpg.c:4069
+#: g10/gpg.c:4090
 #, c-format
 msgid "WARNING: recipients (-r) given without using public key encryption\n"
 msgstr "WARNING: recipients (-r) given without using public key encryption\n"
 
-#: g10/gpg.c:4141
+#: g10/gpg.c:4162
 #, c-format
 msgid "symmetric encryption of '%s' failed: %s\n"
 msgstr "symmetric encryption of ‘\e[1m%s\e[0m’ failed: %s\n"
 
-#: g10/gpg.c:4170
+#: g10/gpg.c:4191
 #, c-format
 msgid "you cannot use --symmetric --encrypt with --s2k-mode 0\n"
 msgstr "you cannot use --symmetric --encrypt with --s2k-mode 0\n"
 
-#: g10/gpg.c:4173
+#: g10/gpg.c:4194
 #, c-format
 msgid "you cannot use --symmetric --encrypt in %s mode\n"
 msgstr "you cannot use --symmetric --encrypt in %s mode\n"
 
-#: g10/gpg.c:4231
+#: g10/gpg.c:4252
 #, c-format
 msgid "you cannot use --symmetric --sign --encrypt with --s2k-mode 0\n"
 msgstr "you cannot use --symmetric --sign --encrypt with --s2k-mode 0\n"
 
-#: g10/gpg.c:4234
+#: g10/gpg.c:4255
 #, c-format
 msgid "you cannot use --symmetric --sign --encrypt in %s mode\n"
 msgstr "you cannot use --symmetric --sign --encrypt in %s mode\n"
 
-#: g10/gpg.c:4622 g10/keyserver.c:1881
+#: g10/gpg.c:4643 g10/keyserver.c:1648
 #, c-format
 msgid "keyserver send failed: %s\n"
 msgstr "keyserver send failed: %s\n"
 
-#: g10/gpg.c:4627
+#: g10/gpg.c:4648
 #, c-format
 msgid "keyserver receive failed: %s\n"
 msgstr "keyserver receive failed: %s\n"
 
-#: g10/gpg.c:4633
+#: g10/gpg.c:4654
 #, c-format
 msgid "key export failed: %s\n"
 msgstr "key export failed: %s\n"
 
-#: g10/gpg.c:4646
+#: g10/gpg.c:4667
 #, c-format
 msgid "export as ssh key failed: %s\n"
 msgstr "export as ssh key failed: %s\n"
 
-#: g10/gpg.c:4658
+#: g10/gpg.c:4679
 #, c-format
 msgid "keyserver search failed: %s\n"
 msgstr "keyserver search failed: %s\n"
 
-#: g10/gpg.c:4671
+#: g10/gpg.c:4692
 #, c-format
 msgid "keyserver refresh failed: %s\n"
 msgstr "keyserver refresh failed: %s\n"
 
-#: g10/gpg.c:4738
+#: g10/gpg.c:4759
 #, c-format
 msgid "dearmoring failed: %s\n"
 msgstr "dearmoring failed: %s\n"
 
-#: g10/gpg.c:4749
+#: g10/gpg.c:4770
 #, c-format
 msgid "enarmoring failed: %s\n"
 msgstr "enarmoring failed: %s\n"
 
-#: g10/gpg.c:4841
+#: g10/gpg.c:4862
 #, c-format
 msgid "invalid hash algorithm '%s'\n"
 msgstr "invalid hash algorithm ‘\e[1m%s\e[0m’\n"
 
-#: g10/gpg.c:4993 g10/tofu.c:2153
+#: g10/gpg.c:5014 g10/tofu.c:2153
 #, c-format
 msgid "error parsing key specification '%s': %s\n"
 msgstr "error parsing key specification '%s': %s\n"
 
-#: g10/gpg.c:5006
+#: g10/gpg.c:5027
 #, c-format
 msgid "'%s' does not appear to be a valid key ID, fingerprint or keygrip\n"
 msgstr ""
 "‘\e[1m%s\e[0m’ does not appear to be a valid key ID, fingerprint or keygrip\n"
 
-#: g10/gpg.c:5062
+#: g10/gpg.c:5083
 #, c-format
 msgid "WARNING: no command supplied.  Trying to guess what you mean ...\n"
 msgstr "WARNING: no command supplied.  Trying to guess what you mean ...\n"
 
-#: g10/gpg.c:5073
+#: g10/gpg.c:5094
 #, c-format
 msgid "Go ahead and type your message ...\n"
 msgstr "Go ahead and type your message ...\n"
 
-#: g10/gpg.c:5418
+#: g10/gpg.c:5439
 #, c-format
 msgid "the given certification policy URL is invalid\n"
 msgstr "the given certification policy URL is invalid\n"
 
-#: g10/gpg.c:5420
+#: g10/gpg.c:5441
 #, c-format
 msgid "the given signature policy URL is invalid\n"
 msgstr "the given signature policy URL is invalid\n"
 
-#: g10/gpg.c:5453
+#: g10/gpg.c:5474
 #, c-format
 msgid "the given preferred keyserver URL is invalid\n"
 msgstr "the given preferred keyserver URL is invalid\n"
@@ -3265,7 +3283,7 @@ msgstr "|FILE|take the keys from the keyring FILE"
 msgid "make timestamp conflicts only a warning"
 msgstr "make timestamp conflicts only a warning"
 
-#: g10/gpgv.c:86 sm/gpgsm.c:354 tools/gpgconf.c:112
+#: g10/gpgv.c:86 sm/gpgsm.c:357 tools/gpgconf.c:112
 msgid "|FD|write status info to this FD"
 msgstr "|FD|write status info to this FD"
 
@@ -3342,97 +3360,97 @@ msgstr "assume the GnuPG key backup format"
 msgid "repair keys on import"
 msgstr "repair keys on import"
 
-#: g10/import.c:380 g10/import.c:699
+#: g10/import.c:392 g10/import.c:711
 #, c-format
 msgid "skipping block of type %d\n"
 msgstr "skipping block of type %d\n"
 
-#: g10/import.c:716
+#: g10/import.c:728
 #, c-format
 msgid "%lu keys processed so far\n"
 msgstr "%lu keys processed so far\n"
 
-#: g10/import.c:802
+#: g10/import.c:814
 #, c-format
 msgid "Total number processed: %lu\n"
 msgstr "Total number processed: %lu\n"
 
-#: g10/import.c:805
+#: g10/import.c:817
 #, c-format
 msgid "    skipped PGP-2 keys: %lu\n"
 msgstr "    skipped PGP-2 keys: %lu\n"
 
-#: g10/import.c:807
+#: g10/import.c:819
 #, c-format
 msgid "      skipped new keys: %lu\n"
 msgstr "      skipped new keys: %lu\n"
 
-#: g10/import.c:810
+#: g10/import.c:822
 #, c-format
 msgid "          w/o user IDs: %lu\n"
 msgstr "          w/o user IDs: %lu\n"
 
-#: g10/import.c:813 sm/import.c:130
+#: g10/import.c:825 sm/import.c:130
 #, c-format
 msgid "              imported: %lu"
 msgstr "              imported: %lu"
 
-#: g10/import.c:817 sm/import.c:134
+#: g10/import.c:829 sm/import.c:134
 #, c-format
 msgid "             unchanged: %lu\n"
 msgstr "             unchanged: %lu\n"
 
-#: g10/import.c:819
+#: g10/import.c:831
 #, c-format
 msgid "          new user IDs: %lu\n"
 msgstr "          new user IDs: %lu\n"
 
-#: g10/import.c:821
+#: g10/import.c:833
 #, c-format
 msgid "           new subkeys: %lu\n"
 msgstr "           new subkeys: %lu\n"
 
-#: g10/import.c:823
+#: g10/import.c:835
 #, c-format
 msgid "        new signatures: %lu\n"
 msgstr "        new signatures: %lu\n"
 
-#: g10/import.c:825
+#: g10/import.c:837
 #, c-format
 msgid "   new key revocations: %lu\n"
 msgstr "   new key revocations: %lu\n"
 
-#: g10/import.c:827 sm/import.c:136
+#: g10/import.c:839 sm/import.c:136
 #, c-format
 msgid "      secret keys read: %lu\n"
 msgstr "      secret keys read: %lu\n"
 
-#: g10/import.c:829 sm/import.c:138
+#: g10/import.c:841 sm/import.c:138
 #, c-format
 msgid "  secret keys imported: %lu\n"
 msgstr "  secret keys imported: %lu\n"
 
-#: g10/import.c:831 sm/import.c:140
+#: g10/import.c:843 sm/import.c:140
 #, c-format
 msgid " secret keys unchanged: %lu\n"
 msgstr " secret keys unchanged: %lu\n"
 
-#: g10/import.c:833 sm/import.c:142
+#: g10/import.c:845 sm/import.c:142
 #, c-format
 msgid "          not imported: %lu\n"
 msgstr "          not imported: %lu\n"
 
-#: g10/import.c:835
+#: g10/import.c:847
 #, c-format
 msgid "    signatures cleaned: %lu\n"
 msgstr "    signatures cleaned: %lu\n"
 
-#: g10/import.c:837
+#: g10/import.c:849
 #, c-format
 msgid "      user IDs cleaned: %lu\n"
 msgstr "      user IDs cleaned: %lu\n"
 
-#: g10/import.c:1264
+#: g10/import.c:1276
 #, c-format
 msgid ""
 "WARNING: key %s contains preferences for unavailable\n"
@@ -3441,167 +3459,167 @@ msgstr ""
 "WARNING: key %s contains preferences for unavailable\n"
 "algorithms on these user IDs:\n"
 
-#: g10/import.c:1306
+#: g10/import.c:1318
 #, c-format
 msgid "         \"%s\": preference for cipher algorithm %s\n"
 msgstr "         “\e[1m%s\e[0m”: preference for cipher algorithm %s\n"
 
-#: g10/import.c:1321
+#: g10/import.c:1333
 #, c-format
 msgid "         \"%s\": preference for digest algorithm %s\n"
 msgstr "         “\e[1m%s\e[0m”: preference for digest algorithm %s\n"
 
-#: g10/import.c:1333
+#: g10/import.c:1345
 #, c-format
 msgid "         \"%s\": preference for compression algorithm %s\n"
 msgstr "         “\e[1m%s\e[0m”: preference for compression algorithm %s\n"
 
-#: g10/import.c:1346
+#: g10/import.c:1358
 #, c-format
 msgid "it is strongly suggested that you update your preferences and\n"
 msgstr "it is strongly suggested that you update your preferences and\n"
 
-#: g10/import.c:1348
+#: g10/import.c:1360
 #, c-format
 msgid "re-distribute this key to avoid potential algorithm mismatch problems\n"
 msgstr ""
 "re-distribute this key to avoid potential algorithm mismatch problems\n"
 
-#: g10/import.c:1373
+#: g10/import.c:1385
 #, c-format
 msgid "you can update your preferences with: gpg --edit-key %s updpref save\n"
 msgstr "you can update your preferences with: gpg --edit-key %s updpref save\n"
 
-#: g10/import.c:1887 g10/import.c:3001
+#: g10/import.c:1899 g10/import.c:3013
 #, c-format
 msgid "key %s: no user ID\n"
 msgstr "key %s: no user ID\n"
 
-#: g10/import.c:1893
+#: g10/import.c:1905
 #, c-format
 msgid "key %s: %s\n"
 msgstr "key %s: %s\n"
 
-#: g10/import.c:1894 g10/import.c:2973
+#: g10/import.c:1906 g10/import.c:2985
 msgid "rejected by import screener"
 msgstr "rejected by import screener"
 
-#: g10/import.c:1938
+#: g10/import.c:1950
 #, c-format
 msgid "key %s: PKS subkey corruption repaired\n"
 msgstr "key %s: PKS subkey corruption repaired\n"
 
-#: g10/import.c:1959
+#: g10/import.c:1971
 #, c-format
 msgid "key %s: accepted non self-signed user ID \"%s\"\n"
 msgstr "key %s: accepted non self-signed user ID “\e[1m%s\e[0m”\n"
 
-#: g10/import.c:1969 g10/import.c:2000
+#: g10/import.c:1981 g10/import.c:2012
 #, c-format
 msgid "key %s: no valid user IDs\n"
 msgstr "key %s: no valid user IDs\n"
 
-#: g10/import.c:1971
+#: g10/import.c:1983
 #, c-format
 msgid "this may be caused by a missing self-signature\n"
 msgstr "this may be caused by a missing self-signature\n"
 
-#: g10/import.c:2050 g10/import.c:3387
+#: g10/import.c:2062 g10/import.c:3399
 #, c-format
 msgid "key %s: public key not found: %s\n"
 msgstr "key %s: public key not found: %s\n"
 
-#: g10/import.c:2056
+#: g10/import.c:2068
 #, c-format
 msgid "key %s: new key - skipped\n"
 msgstr "key %s: new key - skipped\n"
 
-#: g10/import.c:2068
+#: g10/import.c:2080
 #, c-format
 msgid "no writable keyring found: %s\n"
 msgstr "no writable keyring found: %s\n"
 
-#: g10/import.c:2100 g10/import.c:2202 g10/import.c:3464
+#: g10/import.c:2112 g10/import.c:2214 g10/import.c:3476
 #, c-format
 msgid "error writing keyring '%s': %s\n"
 msgstr "error writing keyring '%s': %s\n"
 
-#: g10/import.c:2123
+#: g10/import.c:2135
 #, c-format
 msgid "key %s: public key \"%s\" imported\n"
 msgstr "key %s: public key “\e[1m%s\e[0m” imported\n"
 
-#: g10/import.c:2150
+#: g10/import.c:2162
 #, c-format
 msgid "key %s: doesn't match our copy\n"
 msgstr "key %s: doesn't match our copy\n"
 
-#: g10/import.c:2218
+#: g10/import.c:2230
 #, c-format
 msgid "key %s: \"%s\" 1 new user ID\n"
 msgstr "key %s: “\e[1m%s\e[0m” 1 new user ID\n"
 
-#: g10/import.c:2221
+#: g10/import.c:2233
 #, c-format
 msgid "key %s: \"%s\" %d new user IDs\n"
 msgstr "key %s: “\e[1m%s\e[0m” %d new user IDs\n"
 
-#: g10/import.c:2224
+#: g10/import.c:2236
 #, c-format
 msgid "key %s: \"%s\" 1 new signature\n"
 msgstr "key %s: “\e[1m%s\e[0m” 1 new signature\n"
 
-#: g10/import.c:2227
+#: g10/import.c:2239
 #, c-format
 msgid "key %s: \"%s\" %d new signatures\n"
 msgstr "key %s: “\e[1m%s\e[0m” %d new signatures\n"
 
-#: g10/import.c:2230
+#: g10/import.c:2242
 #, c-format
 msgid "key %s: \"%s\" 1 new subkey\n"
 msgstr "key %s: “\e[1m%s\e[0m” 1 new subkey\n"
 
-#: g10/import.c:2233
+#: g10/import.c:2245
 #, c-format
 msgid "key %s: \"%s\" %d new subkeys\n"
 msgstr "key %s: “\e[1m%s\e[0m” %d new subkeys\n"
 
-#: g10/import.c:2236
+#: g10/import.c:2248
 #, c-format
 msgid "key %s: \"%s\" %d signature cleaned\n"
 msgstr "key %s: “\e[1m%s\e[0m” %d signature cleaned\n"
 
-#: g10/import.c:2239
+#: g10/import.c:2251
 #, c-format
 msgid "key %s: \"%s\" %d signatures cleaned\n"
 msgstr "key %s: “\e[1m%s\e[0m” %d signatures cleaned\n"
 
-#: g10/import.c:2242
+#: g10/import.c:2254
 #, c-format
 msgid "key %s: \"%s\" %d user ID cleaned\n"
 msgstr "key %s: “\e[1m%s\e[0m” %d user ID cleaned\n"
 
-#: g10/import.c:2245
+#: g10/import.c:2257
 #, c-format
 msgid "key %s: \"%s\" %d user IDs cleaned\n"
 msgstr "key %s: “\e[1m%s\e[0m” %d user IDs cleaned\n"
 
-#: g10/import.c:2281
+#: g10/import.c:2293
 #, c-format
 msgid "key %s: \"%s\" not changed\n"
 msgstr "key %s: “\e[1m%s\e[0m” not changed\n"
 
-#: g10/import.c:2640 g10/import.c:2835
+#: g10/import.c:2652 g10/import.c:2847
 #, c-format
 msgid "key %s: secret key imported\n"
 msgstr "key %s: secret key imported\n"
 
-#: g10/import.c:2648
+#: g10/import.c:2660
 #, c-format
 msgid "key %s: secret key already exists\n"
 msgstr "key %s: secret key already exists\n"
 
-#: g10/import.c:2656
+#: g10/import.c:2668
 #, c-format
 msgid "key %s: error sending to agent: %s\n"
 msgstr "key %s: error sending to agent: %s\n"
@@ -3614,192 +3632,192 @@ msgstr "key %s: error sending to agent: %s\n"
 #. * Instead, user should be suggested to run 'gpg --card-status',
 #. * then, references to a card will be automatically created
 #. * again.
-#: g10/import.c:2825
+#: g10/import.c:2837
 #, c-format
 msgid "To migrate '%s', with each smartcard, run: %s\n"
 msgstr "To migrate '%s', with each smartcard, run: %s\n"
 
-#: g10/import.c:2972
+#: g10/import.c:2984
 #, c-format
 msgid "secret key %s: %s\n"
 msgstr "secret key %s: %s\n"
 
-#: g10/import.c:2993 g10/import.c:3032
+#: g10/import.c:3005 g10/import.c:3044
 #, c-format
 msgid "importing secret keys not allowed\n"
 msgstr "importing secret keys not allowed\n"
 
-#: g10/import.c:3020
+#: g10/import.c:3032
 #, c-format
 msgid "key %s: secret key with invalid cipher %d - skipped\n"
 msgstr "key %s: secret key with invalid cipher %d - skipped\n"
 
-#: g10/import.c:3182 g10/pkclist.c:72 g10/revoke.c:776
+#: g10/import.c:3194 g10/pkclist.c:72 g10/revoke.c:776
 msgid "No reason specified"
 msgstr "No reason specified"
 
-#: g10/import.c:3183 g10/pkclist.c:74 g10/revoke.c:778
+#: g10/import.c:3195 g10/pkclist.c:74 g10/revoke.c:778
 msgid "Key is superseded"
 msgstr "Key is superseded"
 
-#: g10/import.c:3184 g10/pkclist.c:76 g10/revoke.c:777
+#: g10/import.c:3196 g10/pkclist.c:76 g10/revoke.c:777
 msgid "Key has been compromised"
 msgstr "Key has been compromised"
 
-#: g10/import.c:3185 g10/pkclist.c:78 g10/revoke.c:779
+#: g10/import.c:3197 g10/pkclist.c:78 g10/revoke.c:779
 msgid "Key is no longer used"
 msgstr "Key is no longer used"
 
-#: g10/import.c:3186 g10/pkclist.c:80 g10/revoke.c:780
+#: g10/import.c:3198 g10/pkclist.c:80 g10/revoke.c:780
 msgid "User ID is no longer valid"
 msgstr "User ID is no longer valid"
 
-#: g10/import.c:3311 g10/keylist.c:1254 g10/pkclist.c:84
+#: g10/import.c:3323 g10/keylist.c:1254 g10/pkclist.c:84
 #, c-format
 msgid "reason for revocation: "
 msgstr "reason for revocation: "
 
-#: g10/import.c:3330 g10/keylist.c:1273 g10/pkclist.c:100
+#: g10/import.c:3342 g10/keylist.c:1273 g10/pkclist.c:100
 #, c-format
 msgid "revocation comment: "
 msgstr "revocation comment: "
 
-#: g10/import.c:3380
+#: g10/import.c:3392
 #, c-format
 msgid "key %s: no public key - can't apply revocation certificate\n"
 msgstr "key %s: no public key - can't apply revocation certificate\n"
 
-#: g10/import.c:3411
+#: g10/import.c:3423
 #, c-format
 msgid "key %s: can't locate original keyblock: %s\n"
 msgstr "key %s: can't locate original keyblock: %s\n"
 
-#: g10/import.c:3418
+#: g10/import.c:3430
 #, c-format
 msgid "key %s: can't read original keyblock: %s\n"
 msgstr "key %s: can't read original keyblock: %s\n"
 
-#: g10/import.c:3438
+#: g10/import.c:3450
 #, c-format
 msgid "key %s: invalid revocation certificate: %s - rejected\n"
 msgstr "key %s: invalid revocation certificate: %s - rejected\n"
 
-#: g10/import.c:3473
+#: g10/import.c:3485
 #, c-format
 msgid "key %s: \"%s\" revocation certificate imported\n"
 msgstr "key %s: “\e[1m%s\e[0m” revocation certificate imported\n"
 
-#: g10/import.c:3559
+#: g10/import.c:3571
 #, c-format
 msgid "key %s: no user ID for signature\n"
 msgstr "key %s: no user ID for signature\n"
 
-#: g10/import.c:3576
+#: g10/import.c:3588
 #, c-format
 msgid "key %s: unsupported public key algorithm on user ID \"%s\"\n"
 msgstr "key %s: unsupported public key algorithm on user ID “\e[1m%s\e[0m”\n"
 
-#: g10/import.c:3578
+#: g10/import.c:3590
 #, c-format
 msgid "key %s: invalid self-signature on user ID \"%s\"\n"
 msgstr "key %s: invalid self-signature on user ID “\e[1m%s\e[0m”\n"
 
-#: g10/import.c:3595 g10/import.c:3623 g10/import.c:3679
+#: g10/import.c:3607 g10/import.c:3635 g10/import.c:3691
 #, c-format
 msgid "key %s: unsupported public key algorithm\n"
 msgstr "key %s: unsupported public key algorithm\n"
 
-#: g10/import.c:3596
+#: g10/import.c:3608
 #, c-format
 msgid "key %s: invalid direct key signature\n"
 msgstr "key %s: invalid direct key signature\n"
 
-#: g10/import.c:3610
+#: g10/import.c:3622
 #, c-format
 msgid "key %s: no subkey for key binding\n"
 msgstr "key %s: no subkey for key binding\n"
 
-#: g10/import.c:3625
+#: g10/import.c:3637
 #, c-format
 msgid "key %s: invalid subkey binding\n"
 msgstr "key %s: invalid subkey binding\n"
 
-#: g10/import.c:3644
+#: g10/import.c:3656
 #, c-format
 msgid "key %s: removed multiple subkey binding\n"
 msgstr "key %s: removed multiple subkey binding\n"
 
-#: g10/import.c:3668
+#: g10/import.c:3680
 #, c-format
 msgid "key %s: no subkey for key revocation\n"
 msgstr "key %s: no subkey for key revocation\n"
 
-#: g10/import.c:3681
+#: g10/import.c:3693
 #, c-format
 msgid "key %s: invalid subkey revocation\n"
 msgstr "key %s: invalid subkey revocation\n"
 
-#: g10/import.c:3696
+#: g10/import.c:3708
 #, c-format
 msgid "key %s: removed multiple subkey revocation\n"
 msgstr "key %s: removed multiple subkey revocation\n"
 
-#: g10/import.c:3740
+#: g10/import.c:3752
 #, c-format
 msgid "key %s: skipped user ID \"%s\"\n"
 msgstr "key %s: skipped user ID “\e[1m%s\e[0m”\n"
 
-#: g10/import.c:3767
+#: g10/import.c:3779
 #, c-format
 msgid "key %s: skipped subkey\n"
 msgstr "key %s: skipped subkey\n"
 
-#: g10/import.c:3798
+#: g10/import.c:3810
 #, c-format
 msgid "key %s: non exportable signature (class 0x%02X) - skipped\n"
 msgstr "key %s: non exportable signature (class 0x%02X) - skipped\n"
 
-#: g10/import.c:3809
+#: g10/import.c:3821
 #, c-format
 msgid "key %s: revocation certificate at wrong place - skipped\n"
 msgstr "key %s: revocation certificate at wrong place - skipped\n"
 
-#: g10/import.c:3827
+#: g10/import.c:3839
 #, c-format
 msgid "key %s: invalid revocation certificate: %s - skipped\n"
 msgstr "key %s: invalid revocation certificate: %s - skipped\n"
 
-#: g10/import.c:3841
+#: g10/import.c:3853
 #, c-format
 msgid "key %s: subkey signature in wrong place - skipped\n"
 msgstr "key %s: subkey signature in wrong place - skipped\n"
 
-#: g10/import.c:3849
+#: g10/import.c:3861
 #, c-format
 msgid "key %s: unexpected signature class (0x%02X) - skipped\n"
 msgstr "key %s: unexpected signature class (0x%02X) - skipped\n"
 
-#: g10/import.c:4022
+#: g10/import.c:4034
 #, c-format
 msgid "key %s: duplicated user ID detected - merged\n"
 msgstr "key %s: duplicated user ID detected - merged\n"
 
-#: g10/import.c:4087
+#: g10/import.c:4099
 #, c-format
 msgid "WARNING: key %s may be revoked: fetching revocation key %s\n"
 msgstr "WARNING: key %s may be revoked: fetching revocation key %s\n"
 
-#: g10/import.c:4103
+#: g10/import.c:4115
 #, c-format
 msgid "WARNING: key %s may be revoked: revocation key %s not present.\n"
 msgstr "WARNING: key %s may be revoked: revocation key %s not present.\n"
 
-#: g10/import.c:4169
+#: g10/import.c:4181
 #, c-format
 msgid "key %s: \"%s\" revocation certificate added\n"
 msgstr "key %s: “\e[1m%s\e[0m” revocation certificate added\n"
 
-#: g10/import.c:4207
+#: g10/import.c:4219
 #, c-format
 msgid "key %s: direct key signature added\n"
 msgstr "key %s: direct key signature added\n"
@@ -3869,7 +3887,7 @@ msgstr ""
 "Warning: errors found and only checked self-signatures, run ‘\e[1m%s\e[0m’ to "
 "check all signatures.\n"
 
-#: g10/keydb.c:431 g10/keydb.c:458 sm/keydb.c:191 sm/keydb.c:204
+#: g10/keydb.c:431 g10/keydb.c:458 sm/keydb.c:190 sm/keydb.c:203
 #, c-format
 msgid "error creating keybox '%s': %s\n"
 msgstr "error creating keybox '%s': %s\n"
@@ -3879,7 +3897,7 @@ msgstr "error creating keybox '%s': %s\n"
 msgid "error creating keyring '%s': %s\n"
 msgstr "error creating keyring '%s': %s\n"
 
-#: g10/keydb.c:470 sm/keydb.c:210
+#: g10/keydb.c:470 sm/keydb.c:209
 #, c-format
 msgid "keybox '%s' created\n"
 msgstr "keybox ‘\e[1m%s\e[0m’ created\n"
@@ -3958,13 +3976,13 @@ msgstr "Skipping user ID “\e[1m%s\e[0m”, which is not a text ID.\n"
 msgid "User ID \"%s\" is revoked."
 msgstr "User ID “\e[1m%s\e[0m” is revoked."
 
-#: g10/keyedit.c:569 g10/keyedit.c:597 g10/keyedit.c:624 g10/keyedit.c:808
-#: g10/keyedit.c:1655
+#: g10/keyedit.c:569 g10/keyedit.c:597 g10/keyedit.c:624 g10/keyedit.c:809
+#: g10/keyedit.c:1656
 msgid "Are you sure you still want to sign it? (y/N) "
 msgstr "Are you sure you still want to sign it? (y/N) "
 
-#: g10/keyedit.c:583 g10/keyedit.c:611 g10/keyedit.c:638 g10/keyedit.c:814
-#: g10/keyedit.c:1660 g10/keyedit.c:2667
+#: g10/keyedit.c:583 g10/keyedit.c:611 g10/keyedit.c:638 g10/keyedit.c:815
+#: g10/keyedit.c:1661 g10/keyedit.c:2668
 msgid "  Unable to sign.\n"
 msgstr "  Unable to sign.\n"
 
@@ -4037,29 +4055,29 @@ msgstr "“\e[1m%s\e[0m” was already locally signed by key %s\n"
 msgid "\"%s\" was already signed by key %s\n"
 msgstr "“\e[1m%s\e[0m” was already signed by key %s\n"
 
-#: g10/keyedit.c:756
+#: g10/keyedit.c:757
 msgid "Do you want to sign it again anyway? (y/N) "
 msgstr "Do you want to sign it again anyway? (y/N) "
 
-#: g10/keyedit.c:778
+#: g10/keyedit.c:779
 #, c-format
 msgid "Nothing to sign with key %s\n"
 msgstr "Nothing to sign with key %s\n"
 
-#: g10/keyedit.c:802
+#: g10/keyedit.c:803
 msgid "This key has expired!"
 msgstr "This key has expired!"
 
-#: g10/keyedit.c:820
+#: g10/keyedit.c:821
 #, c-format
 msgid "This key is due to expire on %s.\n"
 msgstr "This key is due to expire on %s.\n"
 
-#: g10/keyedit.c:826
+#: g10/keyedit.c:827
 msgid "Do you want your signature to expire at the same time? (Y/n) "
 msgstr "Do you want your signature to expire at the same time? (Y/n) "
 
-#: g10/keyedit.c:867
+#: g10/keyedit.c:868
 msgid ""
 "How carefully have you verified the key you are about to sign actually "
 "belongs\n"
@@ -4070,31 +4088,31 @@ msgstr ""
 "to the person named above?  If you don't know what to answer, enter "
 "“\e[1m0\e[0m”.\n"
 
-#: g10/keyedit.c:872
+#: g10/keyedit.c:873
 #, c-format
 msgid "   (0) I will not answer.%s\n"
 msgstr "   (0) I will not answer.%s\n"
 
-#: g10/keyedit.c:874
+#: g10/keyedit.c:875
 #, c-format
 msgid "   (1) I have not checked at all.%s\n"
 msgstr "   (1) I have not checked at all.%s\n"
 
-#: g10/keyedit.c:876
+#: g10/keyedit.c:877
 #, c-format
 msgid "   (2) I have done casual checking.%s\n"
 msgstr "   (2) I have done casual checking.%s\n"
 
-#: g10/keyedit.c:879
+#: g10/keyedit.c:880
 #, c-format
 msgid "   (3) I have done very careful checking.%s\n"
 msgstr "   (3) I have done very careful checking.%s\n"
 
-#: g10/keyedit.c:886
+#: g10/keyedit.c:887
 msgid "Your selection? (enter '?' for more information): "
 msgstr "Your selection? (enter ‘\e[1m?\e[0m’ for more information): "
 
-#: g10/keyedit.c:913
+#: g10/keyedit.c:914
 #, c-format
 msgid ""
 "Are you sure that you want to sign this key with your\n"
@@ -4103,222 +4121,222 @@ msgstr ""
 "Are you sure that you want to sign this key with your\n"
 "key “\e[1m%s\e[0m” (%s)\n"
 
-#: g10/keyedit.c:921
+#: g10/keyedit.c:922
 msgid "This will be a self-signature.\n"
 msgstr "This will be a self-signature.\n"
 
-#: g10/keyedit.c:926
+#: g10/keyedit.c:927
 msgid "WARNING: the signature will not be marked as non-exportable.\n"
 msgstr "WARNING: the signature will not be marked as non-exportable.\n"
 
-#: g10/keyedit.c:933
+#: g10/keyedit.c:934
 msgid "WARNING: the signature will not be marked as non-revocable.\n"
 msgstr "WARNING: the signature will not be marked as non-revocable.\n"
 
-#: g10/keyedit.c:943
+#: g10/keyedit.c:944
 msgid "The signature will be marked as non-exportable.\n"
 msgstr "The signature will be marked as non-exportable.\n"
 
-#: g10/keyedit.c:950
+#: g10/keyedit.c:951
 msgid "The signature will be marked as non-revocable.\n"
 msgstr "The signature will be marked as non-revocable.\n"
 
-#: g10/keyedit.c:957
+#: g10/keyedit.c:958
 msgid "I have not checked this key at all.\n"
 msgstr "I have not checked this key at all.\n"
 
-#: g10/keyedit.c:962
+#: g10/keyedit.c:963
 msgid "I have checked this key casually.\n"
 msgstr "I have checked this key casually.\n"
 
-#: g10/keyedit.c:967
+#: g10/keyedit.c:968
 msgid "I have checked this key very carefully.\n"
 msgstr "I have checked this key very carefully.\n"
 
-#: g10/keyedit.c:979
+#: g10/keyedit.c:980
 msgid "Really sign? (y/N) "
 msgstr "Really sign? (y/N) "
 
-#: g10/keyedit.c:1030 g10/keyedit.c:6154 g10/keyedit.c:6237 g10/keyedit.c:6366
-#: g10/keyedit.c:6428 g10/sign.c:466
+#: g10/keyedit.c:1031 g10/keyedit.c:6155 g10/keyedit.c:6238 g10/keyedit.c:6367
+#: g10/keyedit.c:6429 g10/sign.c:466
 #, c-format
 msgid "signing failed: %s\n"
 msgstr "signing failed: %s\n"
 
-#: g10/keyedit.c:1117
+#: g10/keyedit.c:1118
 msgid "Key has only stub or on-card key items - no passphrase to change.\n"
 msgstr "Key has only stub or on-card key items - no passphrase to change.\n"
 
-#: g10/keyedit.c:1149
+#: g10/keyedit.c:1150
 #, c-format
 msgid "key %s: error changing passphrase: %s\n"
 msgstr "key %s: error changing passphrase: %s\n"
 
-#: g10/keyedit.c:1261
+#: g10/keyedit.c:1262
 msgid "save and quit"
 msgstr "save and quit"
 
-#: g10/keyedit.c:1264
+#: g10/keyedit.c:1265
 msgid "show key fingerprint"
 msgstr "show key fingerprint"
 
-#: g10/keyedit.c:1265
+#: g10/keyedit.c:1266
 msgid "show the keygrip"
 msgstr "show the keygrip"
 
-#: g10/keyedit.c:1266
+#: g10/keyedit.c:1267
 msgid "list key and user IDs"
 msgstr "list key and user IDs"
 
-#: g10/keyedit.c:1268
+#: g10/keyedit.c:1269
 msgid "select user ID N"
 msgstr "select user ID N"
 
-#: g10/keyedit.c:1269
+#: g10/keyedit.c:1270
 msgid "select subkey N"
 msgstr "select subkey N"
 
-#: g10/keyedit.c:1270
+#: g10/keyedit.c:1271
 msgid "check signatures"
 msgstr "check signatures"
 
-#: g10/keyedit.c:1276
+#: g10/keyedit.c:1277
 msgid "sign selected user IDs [* see below for related commands]"
 msgstr "sign selected user IDs [* see below for related commands]"
 
-#: g10/keyedit.c:1281
+#: g10/keyedit.c:1282
 msgid "sign selected user IDs locally"
 msgstr "sign selected user IDs locally"
 
-#: g10/keyedit.c:1282
+#: g10/keyedit.c:1283
 msgid "sign selected user IDs with a trust signature"
 msgstr "sign selected user IDs with a trust signature"
 
-#: g10/keyedit.c:1284
+#: g10/keyedit.c:1285
 msgid "sign selected user IDs with a non-revocable signature"
 msgstr "sign selected user IDs with a non-revocable signature"
 
-#: g10/keyedit.c:1286
+#: g10/keyedit.c:1287
 msgid "add a user ID"
 msgstr "add a user ID"
 
-#: g10/keyedit.c:1288
+#: g10/keyedit.c:1289
 msgid "add a photo ID"
 msgstr "add a photo ID"
 
-#: g10/keyedit.c:1289
+#: g10/keyedit.c:1290
 msgid "delete selected user IDs"
 msgstr "delete selected user IDs"
 
-#: g10/keyedit.c:1292
+#: g10/keyedit.c:1293
 msgid "add a subkey"
 msgstr "add a subkey"
 
-#: g10/keyedit.c:1295
+#: g10/keyedit.c:1296
 msgid "add a key to a smartcard"
 msgstr "add a key to a smartcard"
 
-#: g10/keyedit.c:1297
+#: g10/keyedit.c:1298
 msgid "move a key to a smartcard"
 msgstr "move a key to a smartcard"
 
-#: g10/keyedit.c:1299
+#: g10/keyedit.c:1300
 msgid "move a backup key to a smartcard"
 msgstr "move a backup key to a smartcard"
 
-#: g10/keyedit.c:1301
+#: g10/keyedit.c:1302
 msgid "delete selected subkeys"
 msgstr "delete selected subkeys"
 
-#: g10/keyedit.c:1303
+#: g10/keyedit.c:1304
 msgid "add a revocation key"
 msgstr "add a revocation key"
 
-#: g10/keyedit.c:1305
+#: g10/keyedit.c:1306
 msgid "delete signatures from the selected user IDs"
 msgstr "delete signatures from the selected user IDs"
 
-#: g10/keyedit.c:1307
+#: g10/keyedit.c:1308
 msgid "change the expiration date for the key or selected subkeys"
 msgstr "change the expiration date for the key or selected subkeys"
 
-#: g10/keyedit.c:1309
+#: g10/keyedit.c:1310
 msgid "flag the selected user ID as primary"
 msgstr "flag the selected user ID as primary"
 
-#: g10/keyedit.c:1312
+#: g10/keyedit.c:1313
 msgid "list preferences (expert)"
 msgstr "list preferences (expert)"
 
-#: g10/keyedit.c:1313
+#: g10/keyedit.c:1314
 msgid "list preferences (verbose)"
 msgstr "list preferences (verbose)"
 
-#: g10/keyedit.c:1315
+#: g10/keyedit.c:1316
 msgid "set preference list for the selected user IDs"
 msgstr "set preference list for the selected user IDs"
 
-#: g10/keyedit.c:1318
+#: g10/keyedit.c:1319
 msgid "set the preferred keyserver URL for the selected user IDs"
 msgstr "set the preferred keyserver URL for the selected user IDs"
 
-#: g10/keyedit.c:1320
+#: g10/keyedit.c:1321
 msgid "set a notation for the selected user IDs"
 msgstr "set a notation for the selected user IDs"
 
-#: g10/keyedit.c:1322
+#: g10/keyedit.c:1323
 msgid "change the passphrase"
 msgstr "change the passphrase"
 
-#: g10/keyedit.c:1325
+#: g10/keyedit.c:1326
 msgid "change the ownertrust"
 msgstr "change the ownertrust"
 
-#: g10/keyedit.c:1328
+#: g10/keyedit.c:1329
 msgid "revoke signatures on the selected user IDs"
 msgstr "revoke signatures on the selected user IDs"
 
-#: g10/keyedit.c:1330
+#: g10/keyedit.c:1331
 msgid "revoke selected user IDs"
 msgstr "revoke selected user IDs"
 
-#: g10/keyedit.c:1333
+#: g10/keyedit.c:1334
 msgid "revoke key or selected subkeys"
 msgstr "revoke key or selected subkeys"
 
-#: g10/keyedit.c:1335
+#: g10/keyedit.c:1336
 msgid "enable key"
 msgstr "enable key"
 
-#: g10/keyedit.c:1336
+#: g10/keyedit.c:1337
 msgid "disable key"
 msgstr "disable key"
 
-#: g10/keyedit.c:1338
+#: g10/keyedit.c:1339
 msgid "show selected photo IDs"
 msgstr "show selected photo IDs"
 
-#: g10/keyedit.c:1340
+#: g10/keyedit.c:1341
 msgid "compact unusable user IDs and remove unusable signatures from key"
 msgstr "compact unusable user IDs and remove unusable signatures from key"
 
-#: g10/keyedit.c:1342
+#: g10/keyedit.c:1343
 msgid "compact unusable user IDs and remove all signatures from key"
 msgstr "compact unusable user IDs and remove all signatures from key"
 
-#: g10/keyedit.c:1463
+#: g10/keyedit.c:1464
 msgid "Secret key is available.\n"
 msgstr "Secret key is available.\n"
 
-#: g10/keyedit.c:1465
+#: g10/keyedit.c:1466
 msgid "Secret subkeys are available.\n"
 msgstr "Secret subkeys are available.\n"
 
-#: g10/keyedit.c:1567
+#: g10/keyedit.c:1568
 msgid "Need the secret key to do this.\n"
 msgstr "Need the secret key to do this.\n"
 
-#: g10/keyedit.c:1590
+#: g10/keyedit.c:1591
 msgid ""
 "* The 'sign' command may be prefixed with an 'l' for local signatures "
 "(lsign),\n"
@@ -4331,289 +4349,289 @@ msgstr ""
 "signatures\n"
 "  (nrsign), or any combination thereof (ltsign, tnrsign, etc.).\n"
 
-#: g10/keyedit.c:1648 g10/keyedit.c:2667 g10/keyedit.c:3040 g10/keyedit.c:3108
+#: g10/keyedit.c:1649 g10/keyedit.c:2668 g10/keyedit.c:3041 g10/keyedit.c:3109
 msgid "Key is revoked."
 msgstr "Key is revoked."
 
-#: g10/keyedit.c:1671
+#: g10/keyedit.c:1672
 msgid "Really sign all text user IDs? (y/N) "
 msgstr "Really sign all text user IDs? (y/N) "
 
-#: g10/keyedit.c:1675
+#: g10/keyedit.c:1676
 msgid "Really sign all user IDs? (y/N) "
 msgstr "Really sign all user IDs? (y/N) "
 
-#: g10/keyedit.c:1683
+#: g10/keyedit.c:1684
 msgid "Hint: Select the user IDs to sign\n"
 msgstr "Hint: Select the user IDs to sign\n"
 
-#: g10/keyedit.c:1694
+#: g10/keyedit.c:1695
 #, c-format
 msgid "Unknown signature type '%s'\n"
 msgstr "Unknown signature type ‘\e[1m%s\e[0m’\n"
 
-#: g10/keyedit.c:1718
+#: g10/keyedit.c:1719
 #, c-format
 msgid "This command is not allowed while in %s mode.\n"
 msgstr "This command is not allowed while in %s mode.\n"
 
-#: g10/keyedit.c:1740 g10/keyedit.c:1764 g10/keyedit.c:1961
+#: g10/keyedit.c:1741 g10/keyedit.c:1765 g10/keyedit.c:1962
 msgid "You must select at least one user ID.\n"
 msgstr "You must select at least one user ID.\n"
 
-#: g10/keyedit.c:1742 g10/keyedit.c:1766 g10/keyedit.c:1923 g10/keyedit.c:1963
+#: g10/keyedit.c:1743 g10/keyedit.c:1767 g10/keyedit.c:1924 g10/keyedit.c:1964
 #, c-format
 msgid "(Use the '%s' command.)\n"
 msgstr "(Use the ‘\e[1m%s\e[0m’ command.)\n"
 
-#: g10/keyedit.c:1745
+#: g10/keyedit.c:1746
 msgid "You can't delete the last user ID!\n"
 msgstr "You can't delete the last user ID!\n"
 
-#: g10/keyedit.c:1748
+#: g10/keyedit.c:1749
 msgid "Really remove all selected user IDs? (y/N) "
 msgstr "Really remove all selected user IDs? (y/N) "
 
-#: g10/keyedit.c:1749
+#: g10/keyedit.c:1750
 msgid "Really remove this user ID? (y/N) "
 msgstr "Really remove this user ID? (y/N) "
 
 #. TRANSLATORS: Please take care: This is about
 #. moving the key and not about removing it.
-#: g10/keyedit.c:1806
+#: g10/keyedit.c:1807
 msgid "Really move the primary key? (y/N) "
 msgstr "Really move the primary key? (y/N) "
 
-#: g10/keyedit.c:1818 g10/keyedit.c:4803
+#: g10/keyedit.c:1819 g10/keyedit.c:4804
 msgid "You must select exactly one key.\n"
 msgstr "You must select exactly one key.\n"
 
-#: g10/keyedit.c:1846
+#: g10/keyedit.c:1847
 msgid "Command expects a filename argument\n"
 msgstr "Command expects a filename argument\n"
 
-#: g10/keyedit.c:1867
+#: g10/keyedit.c:1868
 #, c-format
 msgid "Can't open '%s': %s\n"
 msgstr "Can't open '%s': %s\n"
 
-#: g10/keyedit.c:1886
+#: g10/keyedit.c:1887
 #, c-format
 msgid "Error reading backup key from '%s': %s\n"
 msgstr "Error reading backup key from '%s': %s\n"
 
-#: g10/keyedit.c:1921
+#: g10/keyedit.c:1922
 msgid "You must select at least one key.\n"
 msgstr "You must select at least one key.\n"
 
-#: g10/keyedit.c:1927
+#: g10/keyedit.c:1928
 msgid "Do you really want to delete the selected keys? (y/N) "
 msgstr "Do you really want to delete the selected keys? (y/N) "
 
-#: g10/keyedit.c:1929
+#: g10/keyedit.c:1930
 msgid "Do you really want to delete this key? (y/N) "
 msgstr "Do you really want to delete this key? (y/N) "
 
-#: g10/keyedit.c:1967
+#: g10/keyedit.c:1968
 msgid "Really revoke all selected user IDs? (y/N) "
 msgstr "Really revoke all selected user IDs? (y/N) "
 
-#: g10/keyedit.c:1968
+#: g10/keyedit.c:1969
 msgid "Really revoke this user ID? (y/N) "
 msgstr "Really revoke this user ID? (y/N) "
 
-#: g10/keyedit.c:1986
+#: g10/keyedit.c:1987
 msgid "Do you really want to revoke the entire key? (y/N) "
 msgstr "Do you really want to revoke the entire key? (y/N) "
 
-#: g10/keyedit.c:1997
+#: g10/keyedit.c:1998
 msgid "Do you really want to revoke the selected subkeys? (y/N) "
 msgstr "Do you really want to revoke the selected subkeys? (y/N) "
 
-#: g10/keyedit.c:1999
+#: g10/keyedit.c:2000
 msgid "Do you really want to revoke this subkey? (y/N) "
 msgstr "Do you really want to revoke this subkey? (y/N) "
 
-#: g10/keyedit.c:2057
+#: g10/keyedit.c:2058
 msgid "Owner trust may not be set while using a user provided trust database\n"
 msgstr ""
 "Owner trust may not be set while using a user provided trust database\n"
 
-#: g10/keyedit.c:2102
+#: g10/keyedit.c:2103
 msgid "Set preference list to:\n"
 msgstr "Set preference list to:\n"
 
-#: g10/keyedit.c:2109
+#: g10/keyedit.c:2110
 msgid "Really update the preferences for the selected user IDs? (y/N) "
 msgstr "Really update the preferences for the selected user IDs? (y/N) "
 
-#: g10/keyedit.c:2111
+#: g10/keyedit.c:2112
 msgid "Really update the preferences? (y/N) "
 msgstr "Really update the preferences? (y/N) "
 
-#: g10/keyedit.c:2185
+#: g10/keyedit.c:2186
 msgid "Save changes? (y/N) "
 msgstr "Save changes? (y/N) "
 
-#: g10/keyedit.c:2189
+#: g10/keyedit.c:2190
 msgid "Quit without saving? (y/N) "
 msgstr "Quit without saving? (y/N) "
 
-#: g10/keyedit.c:2216 g10/keyedit.c:2762 g10/keyedit.c:3061 g10/keyedit.c:3214
+#: g10/keyedit.c:2217 g10/keyedit.c:2763 g10/keyedit.c:3062 g10/keyedit.c:3215
 #, c-format
 msgid "Key not changed so no update needed.\n"
 msgstr "Key not changed so no update needed.\n"
 
-#: g10/keyedit.c:2448
+#: g10/keyedit.c:2449
 #, c-format
 msgid "cannot revoke the last valid user ID.\n"
 msgstr "cannot revoke the last valid user ID.\n"
 
-#: g10/keyedit.c:2475
+#: g10/keyedit.c:2476
 #, c-format
 msgid "revoking the user ID failed: %s\n"
 msgstr "revoking the user ID failed: %s\n"
 
-#: g10/keyedit.c:2541
+#: g10/keyedit.c:2542
 #, c-format
 msgid "setting the primary user ID failed: %s\n"
 msgstr "setting the primary user ID failed: %s\n"
 
-#: g10/keyedit.c:2572
+#: g10/keyedit.c:2573
 #, c-format
 msgid "\"%s\" is not a fingerprint\n"
 msgstr "“\e[1m%s\e[0m” is not a fingerprint\n"
 
-#: g10/keyedit.c:2602
+#: g10/keyedit.c:2603
 #, c-format
 msgid "\"%s\" is not the primary fingerprint\n"
 msgstr "“\e[1m%s\e[0m” is not the primary fingerprint\n"
 
-#: g10/keyedit.c:2738 g10/keyedit.c:2741
+#: g10/keyedit.c:2739 g10/keyedit.c:2742
 #, c-format
 msgid "Invalid user ID '%s': %s\n"
 msgstr "Invalid user ID '%s': %s\n"
 
-#: g10/keyedit.c:2744
+#: g10/keyedit.c:2745
 msgid "No matching user IDs."
 msgstr "No matching user IDs."
 
-#: g10/keyedit.c:2744
+#: g10/keyedit.c:2745
 msgid "Nothing to sign.\n"
 msgstr "Nothing to sign.\n"
 
-#: g10/keyedit.c:2937 g10/keyedit.c:6019
+#: g10/keyedit.c:2938 g10/keyedit.c:6020
 #, c-format
 msgid "Not signed by you.\n"
 msgstr "Not signed by you.\n"
 
-#: g10/keyedit.c:2995
+#: g10/keyedit.c:2996
 #, c-format
 msgid "revoking the key signature failed: %s\n"
 msgstr "revoking the key signature failed: %s\n"
 
-#: g10/keyedit.c:3116
+#: g10/keyedit.c:3117
 #, c-format
 msgid "'%s' is not a valid expiration time\n"
 msgstr "‘\e[1m%s\e[0m’ is not a valid expiration time\n"
 
-#: g10/keyedit.c:3159
+#: g10/keyedit.c:3160
 #, c-format
 msgid "\"%s\" is not a proper fingerprint\n"
 msgstr "“\e[1m%s\e[0m” is not a proper fingerprint\n"
 
-#: g10/keyedit.c:3183
+#: g10/keyedit.c:3184
 #, c-format
 msgid "subkey \"%s\" not found\n"
 msgstr "subkey “\e[1m%s\e[0m” not found\n"
 
-#: g10/keyedit.c:3306
+#: g10/keyedit.c:3307
 msgid "AEAD: "
 msgstr "AEAD: "
 
-#: g10/keyedit.c:3323
+#: g10/keyedit.c:3324
 msgid "Digest: "
 msgstr "Digest: "
 
-#: g10/keyedit.c:3380
+#: g10/keyedit.c:3381
 msgid "Features: "
 msgstr "Features: "
 
-#: g10/keyedit.c:3397
+#: g10/keyedit.c:3398
 msgid "Keyserver no-modify"
 msgstr "Keyserver no-modify"
 
-#: g10/keyedit.c:3412 g10/keylist.c:376
+#: g10/keyedit.c:3413 g10/keylist.c:376
 msgid "Preferred keyserver: "
 msgstr "Preferred keyserver: "
 
-#: g10/keyedit.c:3420 g10/keyedit.c:3421
+#: g10/keyedit.c:3421 g10/keyedit.c:3422
 msgid "Notations: "
 msgstr "Notations: "
 
-#: g10/keyedit.c:3669
+#: g10/keyedit.c:3670
 msgid "There are no preferences on a PGP 2.x-style user ID.\n"
 msgstr "There are no preferences on a PGP 2.x-style user ID.\n"
 
-#: g10/keyedit.c:3741
+#: g10/keyedit.c:3742
 #, c-format
 msgid "The following key was revoked on %s by %s key %s\n"
 msgstr "The following key was revoked on %s by %s key %s\n"
 
-#: g10/keyedit.c:3765
+#: g10/keyedit.c:3766
 #, c-format
 msgid "This key may be revoked by %s key %s"
 msgstr "This key may be revoked by %s key %s"
 
-#: g10/keyedit.c:3771
+#: g10/keyedit.c:3772
 msgid "(sensitive)"
 msgstr "(sensitive)"
 
-#: g10/keyedit.c:3813 g10/keyedit.c:3960 g10/keylist.c:264 g10/keyserver.c:538
+#: g10/keyedit.c:3814 g10/keyedit.c:3961 g10/keylist.c:264 g10/keyserver.c:361
 #, c-format
 msgid "created: %s"
 msgstr "created: %s"
 
-#: g10/keyedit.c:3816 g10/keylist.c:2149
+#: g10/keyedit.c:3817 g10/keylist.c:2149
 #, c-format
 msgid "revoked: %s"
 msgstr "revoked: %s"
 
-#: g10/keyedit.c:3818 g10/keylist.c:2155
+#: g10/keyedit.c:3819 g10/keylist.c:2155
 #, c-format
 msgid "expired: %s"
 msgstr "expired: %s"
 
-#: g10/keyedit.c:3820 g10/keyedit.c:3962 g10/keylist.c:266 g10/keylist.c:2161
-#: g10/keyserver.c:544
+#: g10/keyedit.c:3821 g10/keyedit.c:3963 g10/keylist.c:266 g10/keylist.c:2161
+#: g10/keyserver.c:367
 #, c-format
 msgid "expires: %s"
 msgstr "expires: %s"
 
-#: g10/keyedit.c:3822
+#: g10/keyedit.c:3823
 #, c-format
 msgid "usage: %s"
 msgstr "usage: %s"
 
-#: g10/keyedit.c:3830 g10/keyedit.c:3850 g10/keylist.c:269
+#: g10/keyedit.c:3831 g10/keyedit.c:3851 g10/keylist.c:269
 msgid "card-no: "
 msgstr "card-no: "
 
-#: g10/keyedit.c:3889
+#: g10/keyedit.c:3890
 #, c-format
 msgid "trust: %s"
 msgstr "trust: %s"
 
-#: g10/keyedit.c:3893
+#: g10/keyedit.c:3894
 #, c-format
 msgid "validity: %s"
 msgstr "validity: %s"
 
-#: g10/keyedit.c:3900
+#: g10/keyedit.c:3901
 msgid "This key has been disabled"
 msgstr "This key has been disabled"
 
-#: g10/keyedit.c:3918
+#: g10/keyedit.c:3919
 msgid ""
 "Please note that the shown key validity is not necessarily correct\n"
 "unless you restart the program.\n"
@@ -4621,17 +4639,17 @@ msgstr ""
 "Please note that the shown key validity is not necessarily correct\n"
 "unless you restart the program.\n"
 
-#: g10/keyedit.c:3979 g10/keyedit.c:4410 g10/keyserver.c:548
-#: g10/mainproc.c:2371 g10/tofu.c:1787 g10/trust.c:437 dirmngr/ocsp.c:791
+#: g10/keyedit.c:3980 g10/keyedit.c:4411 g10/keyserver.c:371
+#: g10/mainproc.c:2380 g10/tofu.c:1787 g10/trust.c:437 dirmngr/ocsp.c:791
 msgid "revoked"
 msgstr "revoked"
 
-#: g10/keyedit.c:3981 g10/keyedit.c:4412 g10/keyserver.c:552
-#: g10/mainproc.c:2373 g10/tofu.c:1792 g10/trust.c:124
+#: g10/keyedit.c:3982 g10/keyedit.c:4413 g10/keyserver.c:375
+#: g10/mainproc.c:2382 g10/tofu.c:1792 g10/trust.c:124
 msgid "expired"
 msgstr "expired"
 
-#: g10/keyedit.c:4098
+#: g10/keyedit.c:4099
 #, c-format
 msgid ""
 "WARNING: no user ID has been marked as primary.  This command may\n"
@@ -4640,17 +4658,17 @@ msgstr ""
 "WARNING: no user ID has been marked as primary.  This command may\n"
 "              cause a different user ID to become the assumed primary.\n"
 
-#: g10/keyedit.c:4150
+#: g10/keyedit.c:4151
 #, c-format
 msgid "WARNING: Your encryption subkey expires soon.\n"
 msgstr "WARNING: Your encryption subkey expires soon.\n"
 
-#: g10/keyedit.c:4151
+#: g10/keyedit.c:4152
 #, c-format
 msgid "You may want to change its expiration date too.\n"
 msgstr "You may want to change its expiration date too.\n"
 
-#: g10/keyedit.c:4210
+#: g10/keyedit.c:4211
 msgid ""
 "WARNING: This is a PGP2-style key.  Adding a photo ID may cause some "
 "versions\n"
@@ -4660,72 +4678,72 @@ msgstr ""
 "versions\n"
 "         of PGP to reject this key.\n"
 
-#: g10/keyedit.c:4215 g10/keyedit.c:4505
+#: g10/keyedit.c:4216 g10/keyedit.c:4506
 msgid "Are you sure you still want to add it? (y/N) "
 msgstr "Are you sure you still want to add it? (y/N) "
 
-#: g10/keyedit.c:4221
+#: g10/keyedit.c:4222
 msgid "You may not add a photo ID to a PGP2-style key.\n"
 msgstr "You may not add a photo ID to a PGP2-style key.\n"
 
-#: g10/keyedit.c:4236 g10/keygen.c:2899
+#: g10/keyedit.c:4237 g10/keygen.c:2899
 msgid "Such a user ID already exists on this key!\n"
 msgstr "Such a user ID already exists on this key!\n"
 
-#: g10/keyedit.c:4338
+#: g10/keyedit.c:4339
 msgid "Delete this good signature? (y/N/q)"
 msgstr "Delete this good signature? (y/N/q)"
 
-#: g10/keyedit.c:4348
+#: g10/keyedit.c:4349
 msgid "Delete this invalid signature? (y/N/q)"
 msgstr "Delete this invalid signature? (y/N/q)"
 
-#: g10/keyedit.c:4352
+#: g10/keyedit.c:4353
 msgid "Delete this unknown signature? (y/N/q)"
 msgstr "Delete this unknown signature? (y/N/q)"
 
-#: g10/keyedit.c:4359
+#: g10/keyedit.c:4360
 msgid "Really delete this self-signature? (y/N)"
 msgstr "Really delete this self-signature? (y/N)"
 
-#: g10/keyedit.c:4375
+#: g10/keyedit.c:4376
 #, c-format
 msgid "Deleted %d signature.\n"
 msgid_plural "Deleted %d signatures.\n"
 msgstr[0] "Deleted %d signature.\n"
 msgstr[1] "Deleted %d signatures.\n"
 
-#: g10/keyedit.c:4379
+#: g10/keyedit.c:4380
 msgid "Nothing deleted.\n"
 msgstr "Nothing deleted.\n"
 
-#: g10/keyedit.c:4414
+#: g10/keyedit.c:4415
 msgid "invalid"
 msgstr "invalid"
 
-#: g10/keyedit.c:4416
+#: g10/keyedit.c:4417
 #, c-format
 msgid "User ID \"%s\" compacted: %s\n"
 msgstr "User ID “\e[1m%s\e[0m” compacted: %s\n"
 
-#: g10/keyedit.c:4422
+#: g10/keyedit.c:4423
 #, c-format
 msgid "User ID \"%s\": %d signature removed\n"
 msgid_plural "User ID \"%s\": %d signatures removed\n"
 msgstr[0] "User ID “\e[1m%s\e[0m”: %d signature removed\n"
 msgstr[1] "User ID “\e[1m%s\e[0m”: %d signatures removed\n"
 
-#: g10/keyedit.c:4430
+#: g10/keyedit.c:4431
 #, c-format
 msgid "User ID \"%s\": already minimized\n"
 msgstr "User ID “\e[1m%s\e[0m”: already minimized\n"
 
-#: g10/keyedit.c:4431
+#: g10/keyedit.c:4432
 #, c-format
 msgid "User ID \"%s\": already clean\n"
 msgstr "User ID “\e[1m%s\e[0m”: already clean\n"
 
-#: g10/keyedit.c:4500
+#: g10/keyedit.c:4501
 msgid ""
 "WARNING: This is a PGP 2.x-style key.  Adding a designated revoker may "
 "cause\n"
@@ -4735,40 +4753,40 @@ msgstr ""
 "cause\n"
 "         some versions of PGP to reject this key.\n"
 
-#: g10/keyedit.c:4511
+#: g10/keyedit.c:4512
 msgid "You may not add a designated revoker to a PGP 2.x-style key.\n"
 msgstr "You may not add a designated revoker to a PGP 2.x-style key.\n"
 
-#: g10/keyedit.c:4528
+#: g10/keyedit.c:4529
 msgid "Enter the user ID of the designated revoker: "
 msgstr "Enter the user ID of the designated revoker: "
 
-#: g10/keyedit.c:4554
+#: g10/keyedit.c:4555
 #, c-format
 msgid "cannot appoint a PGP 2.x style key as a designated revoker\n"
 msgstr "cannot appoint a PGP 2.x style key as a designated revoker\n"
 
-#: g10/keyedit.c:4569
+#: g10/keyedit.c:4570
 #, c-format
 msgid "you cannot appoint a key as its own designated revoker\n"
 msgstr "you cannot appoint a key as its own designated revoker\n"
 
-#: g10/keyedit.c:4591
+#: g10/keyedit.c:4592
 #, c-format
 msgid "this key has already been designated as a revoker\n"
 msgstr "this key has already been designated as a revoker\n"
 
-#: g10/keyedit.c:4609
+#: g10/keyedit.c:4610
 msgid "WARNING: appointing a key as a designated revoker cannot be undone!\n"
 msgstr "WARNING: appointing a key as a designated revoker cannot be undone!\n"
 
-#: g10/keyedit.c:4615
+#: g10/keyedit.c:4616
 msgid ""
 "Are you sure you want to appoint this key as a designated revoker? (y/N) "
 msgstr ""
 "Are you sure you want to appoint this key as a designated revoker? (y/N) "
 
-#: g10/keyedit.c:4683
+#: g10/keyedit.c:4684
 msgid ""
 "Are you sure you want to change the expiration time for multiple subkeys? (y/"
 "N) "
@@ -4776,171 +4794,171 @@ msgstr ""
 "Are you sure you want to change the expiration time for multiple subkeys? (y/"
 "N) "
 
-#: g10/keyedit.c:4688
+#: g10/keyedit.c:4689
 msgid "Changing expiration time for a subkey.\n"
 msgstr "Changing expiration time for a subkey.\n"
 
-#: g10/keyedit.c:4691
+#: g10/keyedit.c:4692
 msgid "Changing expiration time for the primary key.\n"
 msgstr "Changing expiration time for the primary key.\n"
 
-#: g10/keyedit.c:4747
+#: g10/keyedit.c:4748
 #, c-format
 msgid "You can't change the expiration date of a v3 key\n"
 msgstr "You can't change the expiration date of a v3 key\n"
 
-#: g10/keyedit.c:4807
+#: g10/keyedit.c:4808
 msgid "Changing usage of a subkey.\n"
 msgstr "Changing usage of a subkey.\n"
 
-#: g10/keyedit.c:4810
+#: g10/keyedit.c:4811
 msgid "Changing usage of the primary key.\n"
 msgstr "Changing usage of the primary key.\n"
 
-#: g10/keyedit.c:4928
+#: g10/keyedit.c:4929
 #, c-format
 msgid "signing subkey %s is already cross-certified\n"
 msgstr "signing subkey %s is already cross-certified\n"
 
-#: g10/keyedit.c:4934
+#: g10/keyedit.c:4935
 #, c-format
 msgid "subkey %s does not sign and so does not need to be cross-certified\n"
 msgstr "subkey %s does not sign and so does not need to be cross-certified\n"
 
-#: g10/keyedit.c:5051
+#: g10/keyedit.c:5052
 msgid "Please select exactly one user ID.\n"
 msgstr "Please select exactly one user ID.\n"
 
-#: g10/keyedit.c:5092 g10/keyedit.c:5206 g10/keyedit.c:5319 g10/keyedit.c:5457
+#: g10/keyedit.c:5093 g10/keyedit.c:5207 g10/keyedit.c:5320 g10/keyedit.c:5458
 #, c-format
 msgid "skipping v3 self-signature on user ID \"%s\"\n"
 msgstr "skipping v3 self-signature on user ID “\e[1m%s\e[0m”\n"
 
-#: g10/keyedit.c:5263
+#: g10/keyedit.c:5264
 msgid "Enter your preferred keyserver URL: "
 msgstr "Enter your preferred keyserver URL: "
 
-#: g10/keyedit.c:5342
+#: g10/keyedit.c:5343
 msgid "Are you sure you want to replace it? (y/N) "
 msgstr "Are you sure you want to replace it? (y/N) "
 
-#: g10/keyedit.c:5343
+#: g10/keyedit.c:5344
 msgid "Are you sure you want to delete it? (y/N) "
 msgstr "Are you sure you want to delete it? (y/N) "
 
-#: g10/keyedit.c:5403
+#: g10/keyedit.c:5404
 msgid "Enter the notation: "
 msgstr "Enter the notation: "
 
-#: g10/keyedit.c:5550
+#: g10/keyedit.c:5551
 msgid "Proceed? (y/N) "
 msgstr "Proceed? (y/N) "
 
-#: g10/keyedit.c:5620
+#: g10/keyedit.c:5621
 #, c-format
 msgid "No user ID with index %d\n"
 msgstr "No user ID with index %d\n"
 
-#: g10/keyedit.c:5682
+#: g10/keyedit.c:5683
 #, c-format
 msgid "No user ID with hash %s\n"
 msgstr "No user ID with hash %s\n"
 
-#: g10/keyedit.c:5783
+#: g10/keyedit.c:5784
 #, c-format
 msgid "No subkey with key ID '%s'.\n"
 msgstr "No subkey with key ID '%s'.\n"
 
-#: g10/keyedit.c:5805
+#: g10/keyedit.c:5806
 #, c-format
 msgid "No subkey with index %d\n"
 msgstr "No subkey with index %d\n"
 
-#: g10/keyedit.c:5946
+#: g10/keyedit.c:5947
 #, c-format
 msgid "user ID: \"%s\"\n"
 msgstr "user ID: “\e[1m%s\e[0m”\n"
 
-#: g10/keyedit.c:5949 g10/keyedit.c:6051 g10/keyedit.c:6099
+#: g10/keyedit.c:5950 g10/keyedit.c:6052 g10/keyedit.c:6100
 #, c-format
 msgid "signed by your key %s on %s%s%s\n"
 msgstr "signed by your key %s on %s%s%s\n"
 
-#: g10/keyedit.c:5951 g10/keyedit.c:6053 g10/keyedit.c:6101
+#: g10/keyedit.c:5952 g10/keyedit.c:6054 g10/keyedit.c:6102
 msgid " (non-exportable)"
 msgstr " (non-exportable)"
 
-#: g10/keyedit.c:5955
+#: g10/keyedit.c:5956
 #, c-format
 msgid "This signature expired on %s.\n"
 msgstr "This signature expired on %s.\n"
 
-#: g10/keyedit.c:5960
+#: g10/keyedit.c:5961
 msgid "Are you sure you still want to revoke it? (y/N) "
 msgstr "Are you sure you still want to revoke it? (y/N) "
 
-#: g10/keyedit.c:5965
+#: g10/keyedit.c:5966
 msgid "Create a revocation certificate for this signature? (y/N) "
 msgstr "Create a revocation certificate for this signature? (y/N) "
 
-#: g10/keyedit.c:6025
+#: g10/keyedit.c:6026
 #, c-format
 msgid "You have signed these user IDs on key %s:\n"
 msgstr "You have signed these user IDs on key %s:\n"
 
-#: g10/keyedit.c:6054
+#: g10/keyedit.c:6055
 msgid " (non-revocable)"
 msgstr " (non-revocable)"
 
-#: g10/keyedit.c:6061
+#: g10/keyedit.c:6062
 #, c-format
 msgid "revoked by your key %s on %s\n"
 msgstr "revoked by your key %s on %s\n"
 
-#: g10/keyedit.c:6086
+#: g10/keyedit.c:6087
 msgid "You are about to revoke these signatures:\n"
 msgstr "You are about to revoke these signatures:\n"
 
-#: g10/keyedit.c:6109
+#: g10/keyedit.c:6110
 msgid "Really create the revocation certificates? (y/N) "
 msgstr "Really create the revocation certificates? (y/N) "
 
-#: g10/keyedit.c:6142
+#: g10/keyedit.c:6143
 #, c-format
 msgid "no secret key\n"
 msgstr "no secret key\n"
 
-#: g10/keyedit.c:6190
+#: g10/keyedit.c:6191
 #, c-format
 msgid "tried to revoke a non-user ID: %s\n"
 msgstr "tried to revoke a non-user ID: %s\n"
 
-#: g10/keyedit.c:6200
+#: g10/keyedit.c:6201
 #, c-format
 msgid "user ID \"%s\" is already revoked\n"
 msgstr "user ID “\e[1m%s\e[0m” is already revoked\n"
 
-#: g10/keyedit.c:6217
+#: g10/keyedit.c:6218
 #, c-format
 msgid "WARNING: a user ID signature is dated %d seconds in the future\n"
 msgstr "WARNING: a user ID signature is dated %d seconds in the future\n"
 
-#: g10/keyedit.c:6313
+#: g10/keyedit.c:6314
 #, c-format
 msgid "Cannot revoke the last valid user ID.\n"
 msgstr "Cannot revoke the last valid user ID.\n"
 
-#: g10/keyedit.c:6351
+#: g10/keyedit.c:6352
 #, c-format
 msgid "Key %s is already revoked.\n"
 msgstr "Key %s is already revoked.\n"
 
-#: g10/keyedit.c:6413
+#: g10/keyedit.c:6414
 #, c-format
 msgid "Subkey %s is already revoked.\n"
 msgstr "Subkey %s is already revoked.\n"
 
-#: g10/keyedit.c:6510
+#: g10/keyedit.c:6511
 #, c-format
 msgid "Displaying %s photo ID of size %ld for key %s (uid %d)\n"
 msgstr "Displaying %s photo ID of size %ld for key %s (uid %d)\n"
@@ -5646,77 +5664,72 @@ msgstr "honor the preferred keyserver URL set on the key"
 msgid "honor the PKA record set on a key when retrieving keys"
 msgstr "honor the PKA record set on a key when retrieving keys"
 
-#: g10/keyserver.c:550
+#: g10/keyserver.c:373
 msgid "disabled"
 msgstr "disabled"
 
-#: g10/keyserver.c:754
+#: g10/keyserver.c:577
 msgid "Enter number(s), N)ext, or Q)uit > "
 msgstr "Enter number(s), N)ext, or Q)uit > "
 
-#: g10/keyserver.c:860
+#: g10/keyserver.c:683
 #, c-format
 msgid "invalid keyserver protocol (us %d!=handler %d)\n"
 msgstr "invalid keyserver protocol (us %d!=handler %d)\n"
 
-#: g10/keyserver.c:1001 g10/keyserver.c:1116
+#: g10/keyserver.c:824 g10/keyserver.c:939
 #, c-format
 msgid "\"%s\" not a key ID: skipping\n"
 msgstr "“\e[1m%s\e[0m” not a key ID: skipping\n"
 
-#: g10/keyserver.c:1438 g10/keyserver.c:1471
+#: g10/keyserver.c:1237 g10/keyserver.c:1270
 #, c-format
 msgid "refreshing %d key from %s\n"
 msgid_plural "refreshing %d keys from %s\n"
 msgstr[0] "refreshing %d key from %s\n"
 msgstr[1] "refreshing %d keys from %s\n"
 
-#: g10/keyserver.c:1445
+#: g10/keyserver.c:1244
 #, c-format
 msgid "WARNING: unable to refresh key %s via %s: %s\n"
 msgstr "WARNING: unable to refresh key %s via %s: %s\n"
 
-#: g10/keyserver.c:1549
+#: g10/keyserver.c:1336
 #, c-format
 msgid "key \"%s\" not found on keyserver\n"
 msgstr "key “\e[1m%s\e[0m” not found on keyserver\n"
 
-#: g10/keyserver.c:1552
+#: g10/keyserver.c:1339
 #, c-format
 msgid "key not found on keyserver\n"
 msgstr "key not found on keyserver\n"
 
-#: g10/keyserver.c:1743
-#, c-format
-msgid "requesting key %s from %s server %s\n"
-msgstr "requesting key %s from %s server %s\n"
-
-#: g10/keyserver.c:1747
+#: g10/keyserver.c:1504
 #, c-format
 msgid "requesting key %s from %s\n"
 msgstr "requesting key %s from %s\n"
 
-#: g10/keyserver.c:1852 g10/keyserver.c:2031
+#: g10/keyserver.c:1619 g10/keyserver.c:1798
 #, c-format
 msgid "no keyserver known\n"
 msgstr "no keyserver known\n"
 
-#: g10/keyserver.c:1867 g10/skclist.c:214 g10/skclist.c:242
+#: g10/keyserver.c:1634 g10/skclist.c:215 g10/skclist.c:243
 #, c-format
 msgid "skipped \"%s\": %s\n"
 msgstr "skipped “\e[1m%s\e[0m”: %s\n"
 
-#: g10/keyserver.c:1871
+#: g10/keyserver.c:1638
 #, c-format
 msgid "sending key %s to %s\n"
 msgstr "sending key %s to %s\n"
 
-#: g10/keyserver.c:1912
+#: g10/keyserver.c:1679
 #, c-format
 msgid "requesting key from '%s'\n"
 msgstr "requesting key from ‘\e[1m%s\e[0m’\n"
 
-#: g10/keyserver.c:1928
+#: g10/keyserver.c:1695
 #, c-format
 msgid "WARNING: unable to fetch URI %s: %s\n"
 msgstr "WARNING: unable to fetch URI %s: %s\n"
@@ -5731,72 +5744,72 @@ msgstr "weird size for an encrypted session key (%d)\n"
 msgid "%s encrypted session key\n"
 msgstr "%s encrypted session key\n"
 
-#: g10/mainproc.c:400
+#: g10/mainproc.c:403
 #, c-format
 msgid "passphrase generated with unknown digest algorithm %d\n"
 msgstr "passphrase generated with unknown digest algorithm %d\n"
 
-#: g10/mainproc.c:481
+#: g10/mainproc.c:485
 #, c-format
 msgid "public key is %s\n"
 msgstr "public key is %s\n"
 
-#: g10/mainproc.c:557
+#: g10/mainproc.c:561
 #, c-format
 msgid "public key encrypted data: good DEK\n"
 msgstr "public key encrypted data: good DEK\n"
 
-#: g10/mainproc.c:590
+#: g10/mainproc.c:594
 #, c-format
 msgid "encrypted with %u-bit %s key, ID %s, created %s\n"
 msgstr "encrypted with %u-bit %s key, ID %s, created %s\n"
 
-#: g10/mainproc.c:594 g10/pkclist.c:228
+#: g10/mainproc.c:598 g10/pkclist.c:228
 #, c-format
 msgid "      \"%s\"\n"
 msgstr "      “\e[1m%s\e[0m”\n"
 
-#: g10/mainproc.c:598
+#: g10/mainproc.c:602
 #, c-format
 msgid "encrypted with %s key, ID %s\n"
 msgstr "encrypted with %s key, ID %s\n"
 
-#: g10/mainproc.c:619
+#: g10/mainproc.c:623
 #, c-format
 msgid "public key decryption failed: %s\n"
 msgstr "public key decryption failed: %s\n"
 
-#: g10/mainproc.c:641 g10/mainproc.c:970
+#: g10/mainproc.c:645 g10/mainproc.c:976
 #, c-format
 msgid "WARNING: multiple plaintexts seen\n"
 msgstr "WARNING: multiple plaintexts seen\n"
 
-#: g10/mainproc.c:649
+#: g10/mainproc.c:653
 #, c-format
 msgid "encrypted with %lu passphrases\n"
 msgstr "encrypted with %lu passphrases\n"
 
-#: g10/mainproc.c:651
+#: g10/mainproc.c:655
 #, c-format
 msgid "encrypted with 1 passphrase\n"
 msgstr "encrypted with 1 passphrase\n"
 
-#: g10/mainproc.c:685 g10/mainproc.c:706
+#: g10/mainproc.c:689 g10/mainproc.c:710
 #, c-format
 msgid "assuming %s encrypted data\n"
 msgstr "assuming %s encrypted data\n"
 
-#: g10/mainproc.c:692
+#: g10/mainproc.c:696
 #, c-format
 msgid "IDEA cipher unavailable, optimistically attempting to use %s instead\n"
 msgstr "IDEA cipher unavailable, optimistically attempting to use %s instead\n"
 
-#: g10/mainproc.c:779 g10/mainproc.c:817
+#: g10/mainproc.c:785 g10/mainproc.c:823
 #, c-format
 msgid "WARNING: message was not integrity protected\n"
 msgstr "WARNING: message was not integrity protected\n"
 
-#: g10/mainproc.c:790
+#: g10/mainproc.c:796
 msgid ""
 "Hint: If this message was created before the year 2003 it is\n"
 "likely that this message is legitimate.  This is because back\n"
@@ -5806,179 +5819,179 @@ msgstr ""
 "likely that this message is legitimate.  This is because back\n"
 "then integrity protection was not widely used.\n"
 
-#: g10/mainproc.c:793
+#: g10/mainproc.c:799
 #, c-format
 msgid "Use the option '%s' to decrypt anyway.\n"
 msgstr "Use the option ‘\e[1m%s\e[0m’ to decrypt anyway.\n"
 
-#: g10/mainproc.c:798
+#: g10/mainproc.c:804
 #, c-format
 msgid "decryption forced to fail!\n"
 msgstr "decryption forced to fail!\n"
 
-#: g10/mainproc.c:810
+#: g10/mainproc.c:816
 #, c-format
 msgid "decryption okay\n"
 msgstr "decryption okay\n"
 
-#: g10/mainproc.c:823
+#: g10/mainproc.c:829
 #, c-format
 msgid "WARNING: encrypted message has been manipulated!\n"
 msgstr "WARNING: encrypted message has been manipulated!\n"
 
-#: g10/mainproc.c:841
+#: g10/mainproc.c:847
 #, c-format
 msgid "decryption failed: %s\n"
 msgstr "decryption failed: %s\n"
 
-#: g10/mainproc.c:886
+#: g10/mainproc.c:892
 #, c-format
 msgid "Note: sender requested \"for-your-eyes-only\"\n"
 msgstr "Note: sender requested “\e[1mfor-your-eyes-only\e[0m”\n"
 
-#: g10/mainproc.c:893
+#: g10/mainproc.c:899
 #, c-format
 msgid "original file name='%.*s'\n"
 msgstr "original file name='%.*s'\n"
 
-#: g10/mainproc.c:1148
+#: g10/mainproc.c:1154
 #, c-format
 msgid "standalone revocation - use \"gpg --import\" to apply\n"
 msgstr "standalone revocation - use “\e[1mgpg --import\e[0m” to apply\n"
 
-#: g10/mainproc.c:1452 g10/mainproc.c:1495
+#: g10/mainproc.c:1458 g10/mainproc.c:1501
 #, c-format
 msgid "no signature found\n"
 msgstr "no signature found\n"
 
-#: g10/mainproc.c:1852
+#: g10/mainproc.c:1858
 #, c-format
 msgid "BAD signature from \"%s\""
 msgstr "BAD signature from “\e[1m%s\e[0m”"
 
-#: g10/mainproc.c:1854
+#: g10/mainproc.c:1860
 #, c-format
 msgid "Expired signature from \"%s\""
 msgstr "Expired signature from “\e[1m%s\e[0m”"
 
-#: g10/mainproc.c:1856
+#: g10/mainproc.c:1862
 #, c-format
 msgid "Good signature from \"%s\""
 msgstr "Good signature from “\e[1m%s\e[0m”"
 
-#: g10/mainproc.c:1876
+#: g10/mainproc.c:1882
 #, c-format
 msgid "signature verification suppressed\n"
 msgstr "signature verification suppressed\n"
 
-#: g10/mainproc.c:1985
+#: g10/mainproc.c:1991
 #, c-format
 msgid "can't handle this ambiguous signature data\n"
 msgstr "can't handle this ambiguous signature data\n"
 
-#: g10/mainproc.c:2001 g10/mainproc.c:2008
+#: g10/mainproc.c:2007 g10/mainproc.c:2014
 #, c-format
 msgid "Signature made %s\n"
 msgstr "Signature made %s\n"
 
-#: g10/mainproc.c:2002 g10/mainproc.c:2009 sm/verify.c:476
+#: g10/mainproc.c:2008 g10/mainproc.c:2015 sm/verify.c:476
 #, c-format
 msgid "               using %s key %s\n"
 msgstr "               using %s key %s\n"
 
-#: g10/mainproc.c:2013
+#: g10/mainproc.c:2019
 #, c-format
 msgid "Signature made %s using %s key ID %s\n"
 msgstr "Signature made %s using %s key ID %s\n"
 
-#: g10/mainproc.c:2019
+#: g10/mainproc.c:2025
 #, c-format
 msgid "               issuer \"%s\"\n"
 msgstr "               issuer “\e[1m%s\e[0m”\n"
 
-#: g10/mainproc.c:2070
+#: g10/mainproc.c:2076
 #, c-format
 msgid "Key available at: "
 msgstr "Key available at: "
 
-#: g10/mainproc.c:2111
+#: g10/mainproc.c:2118
 #, c-format
 msgid "Note: Use '%s' to make use of this info\n"
 msgstr "Note: Use ‘\e[1m%s\e[0m’ to make use of this info\n"
 
-#: g10/mainproc.c:2325
+#: g10/mainproc.c:2334
 msgid "[uncertain]"
 msgstr "[uncertain]"
 
-#: g10/mainproc.c:2363
+#: g10/mainproc.c:2372
 #, c-format
 msgid "                aka \"%s\""
 msgstr "                aka “\e[1m%s\e[0m”"
 
-#: g10/mainproc.c:2438
+#: g10/mainproc.c:2447
 #, c-format
 msgid "WARNING: This key is not suitable for signing in %s mode\n"
 msgstr "WARNING: This key is not suitable for signing in %s mode\n"
 
-#: g10/mainproc.c:2456
+#: g10/mainproc.c:2465
 #, c-format
 msgid "Signature expired %s\n"
 msgstr "Signature expired %s\n"
 
-#: g10/mainproc.c:2460
+#: g10/mainproc.c:2469
 #, c-format
 msgid "Signature expires %s\n"
 msgstr "Signature expires %s\n"
 
-#: g10/mainproc.c:2471
+#: g10/mainproc.c:2480
 #, c-format
 msgid "%s signature, digest algorithm %s%s%s\n"
 msgstr "%s signature, digest algorithm %s%s%s\n"
 
-#: g10/mainproc.c:2472
+#: g10/mainproc.c:2481
 msgid "binary"
 msgstr "binary"
 
-#: g10/mainproc.c:2473
+#: g10/mainproc.c:2482
 msgid "textmode"
 msgstr "textmode"
 
-#: g10/mainproc.c:2473 g10/trust.c:123 dirmngr/ocsp.c:792
+#: g10/mainproc.c:2482 g10/trust.c:123 dirmngr/ocsp.c:792
 msgid "unknown"
 msgstr "unknown"
 
-#: g10/mainproc.c:2475
+#: g10/mainproc.c:2484
 msgid ", key algorithm "
 msgstr ", key algorithm "
 
-#: g10/mainproc.c:2510
+#: g10/mainproc.c:2519
 #, c-format
 msgid "WARNING: not a detached signature; file '%s' was NOT verified!\n"
 msgstr "WARNING: not a detached signature; file ‘\e[1m%s\e[0m’ was NOT verified!\n"
 
-#: g10/mainproc.c:2548
+#: g10/mainproc.c:2558
 #, c-format
 msgid "Can't check signature: %s\n"
 msgstr "Can't check signature: %s\n"
 
-#: g10/mainproc.c:2644 g10/mainproc.c:2663 g10/mainproc.c:2787
+#: g10/mainproc.c:2654 g10/mainproc.c:2673 g10/mainproc.c:2797
 #, c-format
 msgid "not a detached signature\n"
 msgstr "not a detached signature\n"
 
-#: g10/mainproc.c:2697
+#: g10/mainproc.c:2707
 #, c-format
 msgid ""
 "WARNING: multiple signatures detected.  Only the first will be checked.\n"
 msgstr ""
 "WARNING: multiple signatures detected.  Only the first will be checked.\n"
 
-#: g10/mainproc.c:2706
+#: g10/mainproc.c:2716
 #, c-format
 msgid "standalone signature of class 0x%02x\n"
 msgstr "standalone signature of class 0x%02x\n"
 
-#: g10/mainproc.c:2791
+#: g10/mainproc.c:2801
 #, c-format
 msgid "old style (PGP 2.x) signature\n"
 msgstr "old style (PGP 2.x) signature\n"
@@ -6159,51 +6172,55 @@ msgstr "Unknown critical signature notation: "
 msgid "subpacket of type %d has critical bit set\n"
 msgstr "subpacket of type %d has critical bit set\n"
 
-#: g10/passphrase.c:73 g10/passphrase.c:275 g10/passphrase.c:308
+#: g10/passphrase.c:73 g10/passphrase.c:283 g10/passphrase.c:316
 #, c-format
 msgid "problem with the agent: %s\n"
 msgstr "problem with the agent: %s\n"
 
-#: g10/passphrase.c:258
+#: g10/passphrase.c:251 sm/decrypt.c:341
+msgid "Please enter the passphrase for decryption."
+msgstr "Please enter the passphrase for decryption."
+
+#: g10/passphrase.c:253
 msgid "Enter passphrase\n"
 msgstr "Enter passphrase\n"
 
-#: g10/passphrase.c:269
+#: g10/passphrase.c:277
 #, c-format
 msgid "cancelled by user\n"
 msgstr "cancelled by user\n"
 
-#: g10/passphrase.c:510
+#: g10/passphrase.c:523
 #, c-format
 msgid " (main key ID %s)"
 msgstr " (main key ID %s)"
 
-#: g10/passphrase.c:517
+#: g10/passphrase.c:530
 msgid "Please enter the passphrase to unlock the OpenPGP secret key:"
 msgstr "Please enter the passphrase to unlock the OpenPGP secret key:"
 
-#: g10/passphrase.c:521
+#: g10/passphrase.c:534
 msgid "Please enter the passphrase to import the OpenPGP secret key:"
 msgstr "Please enter the passphrase to import the OpenPGP secret key:"
 
-#: g10/passphrase.c:526
+#: g10/passphrase.c:539
 msgid "Please enter the passphrase to export the OpenPGP secret subkey:"
 msgstr "Please enter the passphrase to export the OpenPGP secret subkey:"
 
-#: g10/passphrase.c:529
+#: g10/passphrase.c:542
 msgid "Please enter the passphrase to export the OpenPGP secret key:"
 msgstr "Please enter the passphrase to export the OpenPGP secret key:"
 
-#: g10/passphrase.c:534
+#: g10/passphrase.c:547
 msgid "Do you really want to permanently delete the OpenPGP secret subkey key:"
 msgstr ""
 "Do you really want to permanently delete the OpenPGP secret subkey key:"
 
-#: g10/passphrase.c:537
+#: g10/passphrase.c:550
 msgid "Do you really want to permanently delete the OpenPGP secret key:"
 msgstr "Do you really want to permanently delete the OpenPGP secret key:"
 
-#: g10/passphrase.c:546
+#: g10/passphrase.c:559
 #, c-format
 msgid ""
 "%s\n"
@@ -6259,7 +6276,7 @@ msgstr "‘\e[1m%s\e[0m’ is not a JPEG file\n"
 msgid "Is this photo correct (y/N/q)? "
 msgstr "Is this photo correct (y/N/q)? "
 
-#: g10/photoid.c:395
+#: g10/photoid.c:399
 #, c-format
 msgid "unable to display photo ID!\n"
 msgstr "unable to display photo ID!\n"
@@ -6601,7 +6618,7 @@ msgstr "can't open signed data ‘\e[1m%s\e[0m’\n"
 msgid "can't open signed data fd=%d: %s\n"
 msgstr "can't open signed data fd=%d: %s\n"
 
-#: g10/pubkey-enc.c:98 g10/pubkey-enc.c:139 sm/decrypt.c:493
+#: g10/pubkey-enc.c:98 g10/pubkey-enc.c:139 sm/decrypt.c:969
 #, c-format
 msgid "key %s is not suitable for decryption in %s mode\n"
 msgstr "key %s is not suitable for decryption in %s mode\n"
@@ -6616,27 +6633,27 @@ msgstr "anonymous recipient; trying secret key %s ...\n"
 msgid "okay, we are the anonymous recipient.\n"
 msgstr "okay, we are the anonymous recipient.\n"
 
-#: g10/pubkey-enc.c:321
+#: g10/pubkey-enc.c:311
 #, c-format
 msgid "old encoding of the DEK is not supported\n"
 msgstr "old encoding of the DEK is not supported\n"
 
-#: g10/pubkey-enc.c:349
+#: g10/pubkey-enc.c:339
 #, c-format
 msgid "cipher algorithm %d%s is unknown or disabled\n"
 msgstr "cipher algorithm %d%s is unknown or disabled\n"
 
-#: g10/pubkey-enc.c:393
+#: g10/pubkey-enc.c:383
 #, c-format
 msgid "WARNING: cipher algorithm %s not found in recipient preferences\n"
 msgstr "WARNING: cipher algorithm %s not found in recipient preferences\n"
 
-#: g10/pubkey-enc.c:426
+#: g10/pubkey-enc.c:416
 #, c-format
 msgid "Note: secret key %s expired at %s\n"
 msgstr "Note: secret key %s expired at %s\n"
 
-#: g10/pubkey-enc.c:433
+#: g10/pubkey-enc.c:423
 #, c-format
 msgid "Note: key has been revoked"
 msgstr "Note: key has been revoked"
@@ -6941,39 +6958,39 @@ msgstr ""
 msgid "%s/%s signature from: \"%s\"\n"
 msgstr "%s/%s signature from: “\e[1m%s\e[0m”\n"
 
-#: g10/sign.c:1046
+#: g10/sign.c:1045
 #, c-format
 msgid ""
 "WARNING: forcing digest algorithm %s (%d) violates recipient preferences\n"
 msgstr ""
 "WARNING: forcing digest algorithm %s (%d) violates recipient preferences\n"
 
-#: g10/sign.c:1188
+#: g10/sign.c:1187
 #, c-format
 msgid "signing:"
 msgstr "signing:"
 
-#: g10/sign.c:1465
+#: g10/sign.c:1464
 #, c-format
 msgid "%s encryption will be used\n"
 msgstr "%s encryption will be used\n"
 
-#: g10/skclist.c:173 g10/skclist.c:254
+#: g10/skclist.c:174 g10/skclist.c:255
 #, c-format
 msgid "key is not flagged as insecure - can't use it with the faked RNG!\n"
 msgstr "key is not flagged as insecure - can't use it with the faked RNG!\n"
 
-#: g10/skclist.c:205
+#: g10/skclist.c:206
 #, c-format
 msgid "skipped \"%s\": duplicated\n"
 msgstr "skipped “\e[1m%s\e[0m”: duplicated\n"
 
-#: g10/skclist.c:224
+#: g10/skclist.c:225
 #, c-format
 msgid "skipped: secret key already present\n"
 msgstr "skipped: secret key already present\n"
 
-#: g10/skclist.c:243
+#: g10/skclist.c:244
 msgid "this is a PGP generated Elgamal key which is not secure for signatures!"
 msgstr ""
 "this is a PGP generated Elgamal key which is not secure for signatures!"
@@ -7028,7 +7045,7 @@ msgstr "read error in '%s': %s\n"
 msgid "trustdb: sync failed: %s\n"
 msgstr "trustdb: sync failed: %s\n"
 
-#: g10/tdbio.c:144 sm/keydb.c:336
+#: g10/tdbio.c:144 sm/keydb.c:335
 #, c-format
 msgid "can't create lock for '%s'\n"
 msgstr "can't create lock for ‘\e[1m%s\e[0m’\n"
@@ -7762,39 +7779,49 @@ msgstr ""
 #. TRANSLATORS: Put a \x1f right before a colon.  This can be
 #. * used by pinentry to nicely align the names and values.  Keep
 #. * the %s at the start and end of the string.
-#: scd/app-p15.c:3369 scd/app-openpgp.c:2153
+#: scd/app-p15.c:4955 scd/app-openpgp.c:2151
 #, c-format
 msgid "%sNumber\1f: %s%%0AHolder\1f: %s%s"
 msgstr "%sNumber\1f: %s%%0AHolder\1f: %s%s"
 
 #. TRANSLATORS: This is the number of remaining attempts to
 #. * enter a PIN.  Use %%0A (double-percent,0A) for a linefeed.
-#: scd/app-p15.c:3388 scd/app-openpgp.c:2169
+#: scd/app-p15.c:4974 scd/app-openpgp.c:2167
 #, c-format
 msgid "Remaining attempts: %d"
 msgstr "Remaining attempts: %d"
 
-#: scd/app-p15.c:3459 scd/app-nks.c:1110
+#: scd/app-p15.c:5053 scd/app-nks.c:1113
 msgid "||Please enter the PIN for the key to create qualified signatures."
 msgstr "||Please enter the PIN for the key to create qualified signatures."
 
-#: scd/app-p15.c:3462 scd/app-nks.c:1092
+#. TRANSLATORS: Do not translate the "|A|" prefix but keep it at
+#. the start of the string.  Use %0A (single percent) for a linefeed.
+#: scd/app-p15.c:5056 scd/app-openpgp.c:2461
+msgid "|A|Please enter the Admin PIN"
+msgstr "|A|Please enter the Admin PIN"
+
+#: scd/app-p15.c:5058 scd/app-nks.c:1103
+msgid "|P|Please enter the PIN Unblocking Code (PUK) for the standard keys."
+msgstr "|P|Please enter the PIN Unblocking Code (PUK) for the standard keys."
+
+#: scd/app-p15.c:5061 scd/app-nks.c:1095
 msgid "||Please enter the PIN for the standard keys."
 msgstr "||Please enter the PIN for the standard keys."
 
-#: scd/app-nks.c:709 scd/app-openpgp.c:3664
+#: scd/app-nks.c:709 scd/app-openpgp.c:3663
 #, c-format
 msgid "RSA modulus missing or not of size %d bits\n"
 msgstr "RSA modulus missing or not of size %d bits\n"
 
-#: scd/app-nks.c:717 scd/app-openpgp.c:3676
+#: scd/app-nks.c:717 scd/app-openpgp.c:3675
 #, c-format
 msgid "RSA public exponent missing or larger than %d bits\n"
 msgstr "RSA public exponent missing or larger than %d bits\n"
 
-#: scd/app-nks.c:797 scd/app-openpgp.c:2326 scd/app-openpgp.c:2345
-#: scd/app-openpgp.c:2512 scd/app-openpgp.c:2530 scd/app-openpgp.c:2827
-#: scd/app-openpgp.c:2874 scd/app-openpgp.c:2989 scd/app-dinsig.c:303
+#: scd/app-nks.c:797 scd/app-openpgp.c:2324 scd/app-openpgp.c:2343
+#: scd/app-openpgp.c:2510 scd/app-openpgp.c:2528 scd/app-openpgp.c:2826
+#: scd/app-openpgp.c:2873 scd/app-openpgp.c:2988 scd/app-dinsig.c:302
 #, c-format
 msgid "PIN callback returned error: %s\n"
 msgstr "PIN callback returned error: %s\n"
@@ -7804,24 +7831,20 @@ msgstr "PIN callback returned error: %s\n"
 msgid "the NullPIN has not yet been changed\n"
 msgstr "the NullPIN has not yet been changed\n"
 
-#: scd/app-nks.c:1091
+#: scd/app-nks.c:1094
 msgid "|N|Please enter a new PIN for the standard keys."
 msgstr "|N|Please enter a new PIN for the standard keys."
 
-#: scd/app-nks.c:1098
+#: scd/app-nks.c:1101
 msgid "|NP|Please enter a new PIN Unblocking Code (PUK) for the standard keys."
 msgstr ""
 "|NP|Please enter a new PIN Unblocking Code (PUK) for the standard keys."
 
-#: scd/app-nks.c:1100
-msgid "|P|Please enter the PIN Unblocking Code (PUK) for the standard keys."
-msgstr "|P|Please enter the PIN Unblocking Code (PUK) for the standard keys."
-
-#: scd/app-nks.c:1108
+#: scd/app-nks.c:1111
 msgid "|N|Please enter a new PIN for the key to create qualified signatures."
 msgstr "|N|Please enter a new PIN for the key to create qualified signatures."
 
-#: scd/app-nks.c:1118
+#: scd/app-nks.c:1121
 msgid ""
 "|NP|Please enter a new PIN Unblocking Code (PUK) for the key to create "
 "qualified signatures."
@@ -7829,7 +7852,7 @@ msgstr ""
 "|NP|Please enter a new PIN Unblocking Code (PUK) for the key to create "
 "qualified signatures."
 
-#: scd/app-nks.c:1120
+#: scd/app-nks.c:1123
 msgid ""
 "|P|Please enter the PIN Unblocking Code (PUK) for the key to create "
 "qualified signatures."
@@ -7837,47 +7860,47 @@ msgstr ""
 "|P|Please enter the PIN Unblocking Code (PUK) for the key to create "
 "qualified signatures."
 
-#: scd/app-nks.c:1227 scd/app-openpgp.c:2908 scd/app-dinsig.c:531
+#: scd/app-nks.c:1230 scd/app-openpgp.c:2907 scd/app-dinsig.c:532
 #, c-format
 msgid "error getting new PIN: %s\n"
 msgstr "error getting new PIN: %s\n"
 
-#: scd/app-openpgp.c:860
+#: scd/app-openpgp.c:859
 #, c-format
 msgid "failed to store the fingerprint: %s\n"
 msgstr "failed to store the fingerprint: %s\n"
 
-#: scd/app-openpgp.c:873
+#: scd/app-openpgp.c:872
 #, c-format
 msgid "failed to store the creation date: %s\n"
 msgstr "failed to store the creation date: %s\n"
 
-#: scd/app-openpgp.c:1272 scd/app-openpgp.c:2855 scd/app-openpgp.c:5020
+#: scd/app-openpgp.c:1268 scd/app-openpgp.c:2854 scd/app-openpgp.c:5025
 #, c-format
 msgid "error retrieving CHV status from card\n"
 msgstr "error retrieving CHV status from card\n"
 
-#: scd/app-openpgp.c:1430
+#: scd/app-openpgp.c:1426
 #, c-format
 msgid "response does not contain the RSA modulus\n"
 msgstr "response does not contain the RSA modulus\n"
 
-#: scd/app-openpgp.c:1437
+#: scd/app-openpgp.c:1433
 #, c-format
 msgid "response does not contain the RSA public exponent\n"
 msgstr "response does not contain the RSA public exponent\n"
 
-#: scd/app-openpgp.c:1547
+#: scd/app-openpgp.c:1543
 #, c-format
 msgid "response does not contain the EC public key\n"
 msgstr "response does not contain the EC public key\n"
 
-#: scd/app-openpgp.c:1665 scd/app-openpgp.c:4284
+#: scd/app-openpgp.c:1661 scd/app-openpgp.c:4283
 #, c-format
 msgid "response does not contain the public key data\n"
 msgstr "response does not contain the public key data\n"
 
-#: scd/app-openpgp.c:1772
+#: scd/app-openpgp.c:1768
 #, c-format
 msgid "reading public key failed: %s\n"
 msgstr "reading public key failed: %s\n"
@@ -7885,42 +7908,42 @@ msgstr "reading public key failed: %s\n"
 #. TRANSLATORS: Put a \x1f right before a colon.  This can be
 #. * used by pinentry to nicely align the names and values.  Keep
 #. * the %s at the start and end of the string.
-#: scd/app-openpgp.c:2140
+#: scd/app-openpgp.c:2138
 #, c-format
 msgid "%sNumber\1f: %s%%0AHolder\1f: %s%%0ACounter\1f: %lu%s"
 msgstr "%sNumber\1f: %s%%0AHolder\1f: %s%%0ACounter\1f: %lu%s"
 
-#: scd/app-openpgp.c:2280
+#: scd/app-openpgp.c:2278
 #, c-format
 msgid "using default PIN as %s\n"
 msgstr "using default PIN as %s\n"
 
-#: scd/app-openpgp.c:2287
+#: scd/app-openpgp.c:2285
 #, c-format
 msgid "failed to use default PIN as %s: %s - disabling further default use\n"
 msgstr "failed to use default PIN as %s: %s - disabling further default use\n"
 
-#: scd/app-openpgp.c:2300
+#: scd/app-openpgp.c:2298
 msgid "||Please unlock the card"
 msgstr "||Please unlock the card"
 
-#: scd/app-openpgp.c:2352 scd/app-openpgp.c:2537 scd/app-openpgp.c:2834
+#: scd/app-openpgp.c:2350 scd/app-openpgp.c:2535 scd/app-openpgp.c:2833
 #, c-format
 msgid "PIN for CHV%d is too short; minimum length is %d\n"
 msgstr "PIN for CHV%d is too short; minimum length is %d\n"
 
-#: scd/app-openpgp.c:2366 scd/app-openpgp.c:2413 scd/app-openpgp.c:2551
-#: scd/app-openpgp.c:4642
+#: scd/app-openpgp.c:2364 scd/app-openpgp.c:2411 scd/app-openpgp.c:2549
+#: scd/app-openpgp.c:4641
 #, c-format
 msgid "verify CHV%d failed: %s\n"
 msgstr "verify CHV%d failed: %s\n"
 
-#: scd/app-openpgp.c:2449 scd/app-openpgp.c:5029
+#: scd/app-openpgp.c:2447 scd/app-openpgp.c:5034
 #, c-format
 msgid "card is permanently locked!\n"
 msgstr "card is permanently locked!\n"
 
-#: scd/app-openpgp.c:2453
+#: scd/app-openpgp.c:2451
 #, c-format
 msgid "%d Admin PIN attempt remaining before card is permanently locked\n"
 msgid_plural ""
@@ -7928,26 +7951,20 @@ msgid_plural ""
 msgstr[0] "%d Admin PIN attempt remaining before card is permanently locked\n"
 msgstr[1] "%d Admin PIN attempts remaining before card is permanently locked\n"
 
-#. TRANSLATORS: Do not translate the "|A|" prefix but keep it at
-#. the start of the string.  Use %0A (single percent) for a linefeed.
-#: scd/app-openpgp.c:2463
-msgid "|A|Please enter the Admin PIN"
-msgstr "|A|Please enter the Admin PIN"
-
-#: scd/app-openpgp.c:2484
+#: scd/app-openpgp.c:2482
 #, c-format
 msgid "access to admin commands is not configured\n"
 msgstr "access to admin commands is not configured\n"
 
-#: scd/app-openpgp.c:2821
+#: scd/app-openpgp.c:2820
 msgid "||Please enter the PIN"
 msgstr "||Please enter the PIN"
 
-#: scd/app-openpgp.c:2870
+#: scd/app-openpgp.c:2869
 msgid "||Please enter the Reset Code for the card"
 msgstr "||Please enter the Reset Code for the card"
 
-#: scd/app-openpgp.c:2880 scd/app-openpgp.c:2941
+#: scd/app-openpgp.c:2879 scd/app-openpgp.c:2940
 #, c-format
 msgid "Reset Code is too short; minimum length is %d\n"
 msgstr "Reset Code is too short; minimum length is %d\n"
@@ -7955,133 +7972,133 @@ msgstr "Reset Code is too short; minimum length is %d\n"
 #. TRANSLATORS: Do not translate the "|*|" prefixes but
 #. keep it at the start of the string.  We need this elsewhere
 #. to get some infos on the string.
-#: scd/app-openpgp.c:2903
+#: scd/app-openpgp.c:2902
 msgid "|RN|New Reset Code"
 msgstr "|RN|New Reset Code"
 
-#: scd/app-openpgp.c:2904
+#: scd/app-openpgp.c:2903
 msgid "|AN|New Admin PIN"
 msgstr "|AN|New Admin PIN"
 
-#: scd/app-openpgp.c:2904
+#: scd/app-openpgp.c:2903
 msgid "|N|New PIN"
 msgstr "|N|New PIN"
 
-#: scd/app-openpgp.c:2985
+#: scd/app-openpgp.c:2984
 msgid "||Please enter the Admin PIN and New Admin PIN"
 msgstr "||Please enter the Admin PIN and New Admin PIN"
 
-#: scd/app-openpgp.c:2986
+#: scd/app-openpgp.c:2985
 msgid "||Please enter the PIN and New PIN"
 msgstr "||Please enter the PIN and New PIN"
 
-#: scd/app-openpgp.c:3048 scd/app-openpgp.c:4344
+#: scd/app-openpgp.c:3047 scd/app-openpgp.c:4343
 #, c-format
 msgid "error reading application data\n"
 msgstr "error reading application data\n"
 
-#: scd/app-openpgp.c:3054 scd/app-openpgp.c:4351
+#: scd/app-openpgp.c:3053 scd/app-openpgp.c:4350
 #, c-format
 msgid "error reading fingerprint DO\n"
 msgstr "error reading fingerprint DO\n"
 
-#: scd/app-openpgp.c:3064
+#: scd/app-openpgp.c:3063
 #, c-format
 msgid "key already exists\n"
 msgstr "key already exists\n"
 
-#: scd/app-openpgp.c:3068
+#: scd/app-openpgp.c:3067
 #, c-format
 msgid "existing key will be replaced\n"
 msgstr "existing key will be replaced\n"
 
-#: scd/app-openpgp.c:3070
+#: scd/app-openpgp.c:3069
 #, c-format
 msgid "generating new key\n"
 msgstr "generating new key\n"
 
-#: scd/app-openpgp.c:3072
+#: scd/app-openpgp.c:3071
 #, c-format
 msgid "writing new key\n"
 msgstr "writing new key\n"
 
-#: scd/app-openpgp.c:3645 scd/app-openpgp.c:3997
+#: scd/app-openpgp.c:3644 scd/app-openpgp.c:3996
 #, c-format
 msgid "creation timestamp missing\n"
 msgstr "creation timestamp missing\n"
 
-#: scd/app-openpgp.c:3686 scd/app-openpgp.c:3694
+#: scd/app-openpgp.c:3685 scd/app-openpgp.c:3693
 #, c-format
 msgid "RSA prime %s missing or not of size %d bits\n"
 msgstr "RSA prime %s missing or not of size %d bits\n"
 
-#: scd/app-openpgp.c:3827 scd/app-openpgp.c:4104
+#: scd/app-openpgp.c:3826 scd/app-openpgp.c:4103
 #, c-format
 msgid "failed to store the key: %s\n"
 msgstr "failed to store the key: %s\n"
 
-#: scd/app-openpgp.c:3991
+#: scd/app-openpgp.c:3990
 #, c-format
 msgid "unsupported curve\n"
 msgstr "unsupported curve\n"
 
-#: scd/app-openpgp.c:4261
+#: scd/app-openpgp.c:4260
 #, c-format
 msgid "please wait while key is being generated ...\n"
 msgstr "please wait while key is being generated ...\n"
 
-#: scd/app-openpgp.c:4269
+#: scd/app-openpgp.c:4268
 #, c-format
 msgid "generating key failed\n"
 msgstr "generating key failed\n"
 
-#: scd/app-openpgp.c:4275
+#: scd/app-openpgp.c:4274
 #, c-format
 msgid "key generation completed (%d second)\n"
 msgid_plural "key generation completed (%d seconds)\n"
 msgstr[0] "key generation completed (%d second)\n"
 msgstr[1] "key generation completed (%d seconds)\n"
 
-#: scd/app-openpgp.c:4309
+#: scd/app-openpgp.c:4308
 #, c-format
 msgid "invalid structure of OpenPGP card (DO 0x93)\n"
 msgstr "invalid structure of OpenPGP card (DO 0x93)\n"
 
-#: scd/app-openpgp.c:4359
+#: scd/app-openpgp.c:4358
 #, c-format
 msgid "fingerprint on card does not match requested one\n"
 msgstr "fingerprint on card does not match requested one\n"
 
-#: scd/app-openpgp.c:4558
+#: scd/app-openpgp.c:4557
 #, c-format
 msgid "card does not support digest algorithm %s\n"
 msgstr "card does not support digest algorithm %s\n"
 
-#: scd/app-openpgp.c:4616
+#: scd/app-openpgp.c:4615
 #, c-format
 msgid "signatures created so far: %lu\n"
 msgstr "signatures created so far: %lu\n"
 
-#: scd/app-openpgp.c:5034
+#: scd/app-openpgp.c:5039
 #, c-format
 msgid ""
 "verification of Admin PIN is currently prohibited through this command\n"
 msgstr ""
 "verification of Admin PIN is currently prohibited through this command\n"
 
-#: scd/app-openpgp.c:5346 scd/app-openpgp.c:5357
+#: scd/app-openpgp.c:5351 scd/app-openpgp.c:5362
 #, c-format
 msgid "can't access %s - invalid OpenPGP card?\n"
 msgstr "can't access %s - invalid OpenPGP card?\n"
 
-#: scd/app-dinsig.c:299
+#: scd/app-dinsig.c:298
 msgid "||Please enter your PIN at the reader's pinpad"
 msgstr "||Please enter your PIN at the reader's pinpad"
 
 #. TRANSLATORS: Do not translate the "|*|" prefixes but
 #. keep it at the start of the string.  We need this elsewhere
 #. to get some infos on the string.
-#: scd/app-dinsig.c:528
+#: scd/app-dinsig.c:529
 msgid "|N|Initial New PIN"
 msgstr "|N|Initial New PIN"
 
@@ -8089,7 +8106,7 @@ msgstr "|N|Initial New PIN"
 msgid "run in multi server mode (foreground)"
 msgstr "run in multi server mode (foreground)"
 
-#: scd/scdaemon.c:129 sm/gpgsm.c:345 dirmngr/dirmngr.c:187
+#: scd/scdaemon.c:129 sm/gpgsm.c:348 dirmngr/dirmngr.c:188
 msgid "|LEVEL|set the debugging level to LEVEL"
 msgstr "|LEVEL|set the debugging level to LEVEL"
 
@@ -8109,31 +8126,31 @@ msgstr "|NAME|use NAME as ct-API driver"
 msgid "|NAME|use NAME as PC/SC driver"
 msgstr "|NAME|use NAME as PC/SC driver"
 
-#: scd/scdaemon.c:145
+#: scd/scdaemon.c:146
 msgid "do not use the internal CCID driver"
 msgstr "do not use the internal CCID driver"
 
-#: scd/scdaemon.c:151
+#: scd/scdaemon.c:152
 msgid "|N|disconnect the card after N seconds of inactivity"
 msgstr "|N|disconnect the card after N seconds of inactivity"
 
-#: scd/scdaemon.c:154
+#: scd/scdaemon.c:155
 msgid "do not use a reader's pinpad"
 msgstr "do not use a reader's pinpad"
 
-#: scd/scdaemon.c:159
+#: scd/scdaemon.c:160
 msgid "deny the use of admin card commands"
 msgstr "deny the use of admin card commands"
 
-#: scd/scdaemon.c:162
+#: scd/scdaemon.c:163
 msgid "use variable length input for pinpad"
 msgstr "use variable length input for pinpad"
 
-#: scd/scdaemon.c:311
+#: scd/scdaemon.c:312
 msgid "Usage: @SCDAEMON@ [options] (-h for help)"
 msgstr "Usage: @SCDAEMON@ [options] (-h for help)"
 
-#: scd/scdaemon.c:313
+#: scd/scdaemon.c:314
 msgid ""
 "Syntax: scdaemon [options] [command [args]]\n"
 "Smartcard daemon for @GNUPG@\n"
@@ -8141,18 +8158,18 @@ msgstr ""
 "Syntax: scdaemon [options] [command [args]]\n"
 "Smartcard daemon for @GNUPG@\n"
 
-#: scd/scdaemon.c:806
+#: scd/scdaemon.c:808
 #, c-format
 msgid "please use the option '--daemon' to run the program in the background\n"
 msgstr ""
 "please use the option ‘\e[1m--daemon\e[0m’ to run the program in the background\n"
 
-#: scd/scdaemon.c:1183 dirmngr/dirmngr.c:2082
+#: scd/scdaemon.c:1185 dirmngr/dirmngr.c:2119
 #, c-format
 msgid "handler for fd %d started\n"
 msgstr "handler for fd %d started\n"
 
-#: scd/scdaemon.c:1195 dirmngr/dirmngr.c:2090
+#: scd/scdaemon.c:1197 dirmngr/dirmngr.c:2127
 #, c-format
 msgid "handler for fd %d terminated\n"
 msgstr "handler for fd %d terminated\n"
@@ -8199,7 +8216,7 @@ msgstr "Note: non-critical certificate policy not allowed"
 msgid "certificate policy not allowed"
 msgstr "certificate policy not allowed"
 
-#: sm/certchain.c:595 sm/keydb.c:1106 sm/keydb.c:1192
+#: sm/certchain.c:595 sm/keydb.c:1084 sm/keydb.c:1171
 #, c-format
 msgid "failed to get the fingerprint\n"
 msgstr "failed to get the fingerprint\n"
@@ -8234,8 +8251,8 @@ msgstr "number of matching certificates: %d\n"
 msgid "dirmngr cache-only key lookup failed: %s\n"
 msgstr "dirmngr cache-only key lookup failed: %s\n"
 
-#: sm/certchain.c:1041 sm/certchain.c:1554 sm/certchain.c:2192 sm/decrypt.c:265
-#: sm/encrypt.c:344 sm/import.c:415 sm/keydb.c:1113 sm/keydb.c:1199
+#: sm/certchain.c:1041 sm/certchain.c:1554 sm/certchain.c:2192 sm/decrypt.c:728
+#: sm/encrypt.c:345 sm/import.c:415 sm/keydb.c:1091 sm/keydb.c:1178
 #: sm/sign.c:337 sm/verify.c:118
 #, c-format
 msgid "failed to allocate keyDB handle\n"
@@ -8427,13 +8444,13 @@ msgid "a %u bit hash is not valid for a %u bit %s key\n"
 msgstr "a %u bit hash is not valid for a %u bit %s key\n"
 
 #: sm/certcheck.c:238 sm/certcheck.c:262 dirmngr/crlcache.c:1542
-#: dirmngr/crlcache.c:1566 dirmngr/dirmngr.c:1324 dirmngr/validate.c:903
+#: dirmngr/crlcache.c:1566 dirmngr/dirmngr.c:1361 dirmngr/validate.c:903
 #: dirmngr/validate.c:927
 #, c-format
 msgid "out of core\n"
 msgstr "out of core\n"
 
-#: sm/certcheck.c:371 sm/verify.c:213
+#: sm/certcheck.c:370 sm/verify.c:213
 #, c-format
 msgid "(this is the MD2 algorithm)\n"
 msgstr "(this is the MD2 algorithm)\n"
@@ -8721,22 +8738,32 @@ msgstr "Ready.  You should now send this request to your CA.\n"
 msgid "resource problem: out of core\n"
 msgstr "resource problem: out of core\n"
 
-#: sm/decrypt.c:341
+#: sm/decrypt.c:536
+#, c-format
+msgid "%s.%s encrypted data\n"
+msgstr "%s.%s encrypted data\n"
+
+#: sm/decrypt.c:803
 #, c-format
 msgid "(this is the RC2 algorithm)\n"
 msgstr "(this is the RC2 algorithm)\n"
 
-#: sm/decrypt.c:343
+#: sm/decrypt.c:805
 #, c-format
 msgid "(this does not seem to be an encrypted message)\n"
 msgstr "(this does not seem to be an encrypted message)\n"
 
+#: sm/decrypt.c:958
+#, c-format
+msgid "encrypted to %s key %s\n"
+msgstr "encrypted to %s key %s\n"
+
 #: sm/delete.c:51 sm/delete.c:112
 #, c-format
 msgid "certificate '%s' not found: %s\n"
 msgstr "certificate ‘\e[1m%s\e[0m’ not found: %s\n"
 
-#: sm/delete.c:122 sm/keydb.c:1209 sm/keydb.c:1307
+#: sm/delete.c:122 sm/keydb.c:1189 sm/keydb.c:1288
 #, c-format
 msgid "error locking keybox: %s\n"
 msgstr "error locking keybox: %s\n"
@@ -8756,128 +8783,128 @@ msgstr "certificate ‘\e[1m%s\e[0m’ deleted\n"
 msgid "deleting certificate \"%s\" failed: %s\n"
 msgstr "deleting certificate “\e[1m%s\e[0m” failed: %s\n"
 
-#: sm/encrypt.c:330
+#: sm/encrypt.c:331
 #, c-format
 msgid "no valid recipients given\n"
 msgstr "no valid recipients given\n"
 
-#: sm/gpgsm.c:215
+#: sm/gpgsm.c:216
 msgid "list external keys"
 msgstr "list external keys"
 
-#: sm/gpgsm.c:217
+#: sm/gpgsm.c:218
 msgid "list certificate chain"
 msgstr "list certificate chain"
 
-#: sm/gpgsm.c:225
+#: sm/gpgsm.c:226
 msgid "import certificates"
 msgstr "import certificates"
 
-#: sm/gpgsm.c:226
+#: sm/gpgsm.c:227
 msgid "export certificates"
 msgstr "export certificates"
 
-#: sm/gpgsm.c:234
+#: sm/gpgsm.c:235
 msgid "register a smartcard"
 msgstr "register a smartcard"
 
-#: sm/gpgsm.c:237
+#: sm/gpgsm.c:238
 msgid "pass a command to the dirmngr"
 msgstr "pass a command to the dirmngr"
 
-#: sm/gpgsm.c:239
+#: sm/gpgsm.c:240
 msgid "invoke gpg-protect-tool"
 msgstr "invoke gpg-protect-tool"
 
-#: sm/gpgsm.c:256
+#: sm/gpgsm.c:257
 msgid "create base-64 encoded output"
 msgstr "create base-64 encoded output"
 
-#: sm/gpgsm.c:265
+#: sm/gpgsm.c:266
 msgid "assume input is in PEM format"
 msgstr "assume input is in PEM format"
 
-#: sm/gpgsm.c:267
+#: sm/gpgsm.c:268
 msgid "assume input is in base-64 format"
 msgstr "assume input is in base-64 format"
 
-#: sm/gpgsm.c:269
+#: sm/gpgsm.c:270
 msgid "assume input is in binary format"
 msgstr "assume input is in binary format"
 
-#: sm/gpgsm.c:276
+#: sm/gpgsm.c:277
 msgid "never consult a CRL"
 msgstr "never consult a CRL"
 
-#: sm/gpgsm.c:286
+#: sm/gpgsm.c:287
 msgid "check validity using OCSP"
 msgstr "check validity using OCSP"
 
-#: sm/gpgsm.c:291
+#: sm/gpgsm.c:292
 msgid "|N|number of certificates to include"
 msgstr "|N|number of certificates to include"
 
-#: sm/gpgsm.c:294
+#: sm/gpgsm.c:295
 msgid "|FILE|take policy information from FILE"
 msgstr "|FILE|take policy information from FILE"
 
-#: sm/gpgsm.c:297
+#: sm/gpgsm.c:298
 msgid "do not check certificate policies"
 msgstr "do not check certificate policies"
 
-#: sm/gpgsm.c:301
+#: sm/gpgsm.c:302
 msgid "fetch missing issuer certificates"
 msgstr "fetch missing issuer certificates"
 
-#: sm/gpgsm.c:312
+#: sm/gpgsm.c:313
 msgid "don't use the terminal at all"
 msgstr "don't use the terminal at all"
 
-#: sm/gpgsm.c:314
+#: sm/gpgsm.c:315
 msgid "|FILE|write a server mode log to FILE"
 msgstr "|FILE|write a server mode log to FILE"
 
-#: sm/gpgsm.c:319
+#: sm/gpgsm.c:320
 msgid "|FILE|write an audit log to FILE"
 msgstr "|FILE|write an audit log to FILE"
 
-#: sm/gpgsm.c:322
+#: sm/gpgsm.c:323
 msgid "batch mode: never ask"
 msgstr "batch mode: never ask"
 
-#: sm/gpgsm.c:323
+#: sm/gpgsm.c:324
 msgid "assume yes on most questions"
 msgstr "assume yes on most questions"
 
-#: sm/gpgsm.c:324
+#: sm/gpgsm.c:325
 msgid "assume no on most questions"
 msgstr "assume no on most questions"
 
-#: sm/gpgsm.c:327
+#: sm/gpgsm.c:328
 msgid "|FILE|add keyring to the list of keyrings"
 msgstr "|FILE|add keyring to the list of keyrings"
 
-#: sm/gpgsm.c:330
+#: sm/gpgsm.c:331
 msgid "|USER-ID|use USER-ID as default secret key"
 msgstr "|USER-ID|use USER-ID as default secret key"
 
-#: sm/gpgsm.c:340 tools/gpgconf-comp.c:837
+#: sm/gpgsm.c:341 dirmngr/dirmngr.c:214 tools/gpgconf-comp.c:841
 msgid "|SPEC|use this keyserver to lookup keys"
 msgstr "|SPEC|use this keyserver to lookup keys"
 
-#: sm/gpgsm.c:357
+#: sm/gpgsm.c:360
 msgid "|NAME|use cipher algorithm NAME"
 msgstr "|NAME|use cipher algorithm NAME"
 
-#: sm/gpgsm.c:359
+#: sm/gpgsm.c:362
 msgid "|NAME|use message digest algorithm NAME"
 msgstr "|NAME|use message digest algorithm NAME"
 
-#: sm/gpgsm.c:570
+#: sm/gpgsm.c:573
 msgid "Usage: @GPGSM@ [options] [files] (-h for help)"
 msgstr "Usage: @GPGSM@ [options] [files] (-h for help)"
 
-#: sm/gpgsm.c:573
+#: sm/gpgsm.c:576
 msgid ""
 "Syntax: @GPGSM@ [options] [files]\n"
 "Sign, check, encrypt or decrypt using the S/MIME protocol\n"
@@ -8887,47 +8914,27 @@ msgstr ""
 "Sign, check, encrypt or decrypt using the S/MIME protocol\n"
 "Default operation depends on the input data\n"
 
-#: sm/gpgsm.c:777
+#: sm/gpgsm.c:784
 #, c-format
 msgid "Note: won't be able to encrypt to '%s': %s\n"
 msgstr "Note: won't be able to encrypt to '%s': %s\n"
 
-#: sm/gpgsm.c:788
+#: sm/gpgsm.c:795
 #, c-format
 msgid "unknown validation model '%s'\n"
 msgstr "unknown validation model ‘\e[1m%s\e[0m’\n"
 
-#: sm/gpgsm.c:839 dirmngr/ldapserver.c:86
-#, c-format
-msgid "%s:%u: no hostname given\n"
-msgstr "%s:%u: no hostname given\n"
-
-#: sm/gpgsm.c:858 dirmngr/ldapserver.c:105
-#, c-format
-msgid "%s:%u: password given without user\n"
-msgstr "%s:%u: password given without user\n"
-
-#: sm/gpgsm.c:879 dirmngr/ldapserver.c:126
-#, c-format
-msgid "%s:%u: skipping this line\n"
-msgstr "%s:%u: skipping this line\n"
-
-#: sm/gpgsm.c:1449
-#, c-format
-msgid "could not parse keyserver\n"
-msgstr "could not parse keyserver\n"
-
-#: sm/gpgsm.c:1712
+#: sm/gpgsm.c:1612
 #, c-format
 msgid "importing common certificates '%s'\n"
 msgstr "importing common certificates ‘\e[1m%s\e[0m’\n"
 
-#: sm/gpgsm.c:1755
+#: sm/gpgsm.c:1655
 #, c-format
 msgid "can't sign using '%s': %s\n"
 msgstr "can't sign using '%s': %s\n"
 
-#: sm/gpgsm.c:2122
+#: sm/gpgsm.c:2028
 #, c-format
 msgid "invalid command (there is no implicit command)\n"
 msgstr "invalid command (there is no implicit command)\n"
@@ -8947,7 +8954,7 @@ msgstr "error storing certificate\n"
 msgid "basic certificate checks failed - not imported\n"
 msgstr "basic certificate checks failed - not imported\n"
 
-#: sm/import.c:472 sm/keydb.c:1229 sm/keydb.c:1319
+#: sm/import.c:472 sm/keydb.c:1209 sm/keydb.c:1300
 #, c-format
 msgid "error getting stored flags: %s\n"
 msgstr "error getting stored flags: %s\n"
@@ -8962,27 +8969,27 @@ msgstr "error importing certificate: %s\n"
 msgid "error reading input: %s\n"
 msgstr "error reading input: %s\n"
 
-#: sm/keydb.c:1148
+#: sm/keydb.c:1127
 #, c-format
 msgid "problem looking for existing certificate: %s\n"
 msgstr "problem looking for existing certificate: %s\n"
 
-#: sm/keydb.c:1160
+#: sm/keydb.c:1139
 #, c-format
 msgid "error finding writable keyDB: %s\n"
 msgstr "error finding writable keyDB: %s\n"
 
-#: sm/keydb.c:1168
+#: sm/keydb.c:1147
 #, c-format
 msgid "error storing certificate: %s\n"
 msgstr "error storing certificate: %s\n"
 
-#: sm/keydb.c:1220
+#: sm/keydb.c:1200
 #, c-format
 msgid "problem re-searching certificate: %s\n"
 msgstr "problem re-searching certificate: %s\n"
 
-#: sm/keydb.c:1241 sm/keydb.c:1330
+#: sm/keydb.c:1221 sm/keydb.c:1311
 #, c-format
 msgid "error storing flags: %s\n"
 msgstr "error storing flags: %s\n"
@@ -9023,7 +9030,7 @@ msgstr ""
 "\n"
 "%s%sAre you really sure that you want to do this?"
 
-#: sm/qualified.c:215 sm/verify.c:678
+#: sm/qualified.c:215 sm/verify.c:679
 #, c-format
 msgid ""
 "Note, that this software is not officially approved to create or verify such "
@@ -9073,24 +9080,24 @@ msgstr "[date not given]"
 msgid "algorithm:"
 msgstr "algorithm:"
 
-#: sm/verify.c:535
+#: sm/verify.c:536
 #, c-format
 msgid ""
 "invalid signature: message digest attribute does not match computed one\n"
 msgstr ""
 "invalid signature: message digest attribute does not match computed one\n"
 
-#: sm/verify.c:656
+#: sm/verify.c:657
 #, c-format
 msgid "Good signature from"
 msgstr "Good signature from"
 
-#: sm/verify.c:657
+#: sm/verify.c:658
 #, c-format
 msgid "                aka"
 msgstr "                aka"
 
-#: sm/verify.c:675
+#: sm/verify.c:676
 #, c-format
 msgid "This is a qualified signature\n"
 msgstr "This is a qualified signature\n"
@@ -9711,7 +9718,7 @@ msgid "error retrieving '%s': %s\n"
 msgstr "error retrieving '%s': %s\n"
 
 #: dirmngr/crlfetch.c:218 dirmngr/ldap-wrapper-ce.c:492
-#: dirmngr/ldap-wrapper.c:884 dirmngr/misc.c:573
+#: dirmngr/ldap-wrapper.c:885 dirmngr/misc.c:573
 #, c-format
 msgid "error initializing reader object: %s\n"
 msgstr "error initializing reader object: %s\n"
@@ -9867,112 +9874,112 @@ msgstr "absolute file name expected\n"
 msgid "looking up '%s'\n"
 msgstr "looking up ‘\e[1m%s\e[0m’\n"
 
-#: dirmngr/dirmngr.c:170
+#: dirmngr/dirmngr.c:171
 msgid "list the contents of the CRL cache"
 msgstr "list the contents of the CRL cache"
 
-#: dirmngr/dirmngr.c:171
+#: dirmngr/dirmngr.c:172
 msgid "|FILE|load CRL from FILE into cache"
 msgstr "|FILE|load CRL from FILE into cache"
 
-#: dirmngr/dirmngr.c:172
+#: dirmngr/dirmngr.c:173
 msgid "|URL|fetch a CRL from URL"
 msgstr "|URL|fetch a CRL from URL"
 
-#: dirmngr/dirmngr.c:173
+#: dirmngr/dirmngr.c:174
 msgid "shutdown the dirmngr"
 msgstr "shutdown the dirmngr"
 
-#: dirmngr/dirmngr.c:174
+#: dirmngr/dirmngr.c:175
 msgid "flush the cache"
 msgstr "flush the cache"
 
-#: dirmngr/dirmngr.c:190 tools/gpgconf-comp.c:522 tools/gpgconf-comp.c:741
-#: tools/gpgconf-comp.c:854 tools/gpgconf-comp.c:950
+#: dirmngr/dirmngr.c:191 tools/gpgconf-comp.c:522 tools/gpgconf-comp.c:745
+#: tools/gpgconf-comp.c:858 tools/gpgconf-comp.c:954
 msgid "|FILE|write server mode logs to FILE"
 msgstr "|FILE|write server mode logs to FILE"
 
-#: dirmngr/dirmngr.c:191
+#: dirmngr/dirmngr.c:192
 msgid "run without asking a user"
 msgstr "run without asking a user"
 
-#: dirmngr/dirmngr.c:192
+#: dirmngr/dirmngr.c:193
 msgid "force loading of outdated CRLs"
 msgstr "force loading of outdated CRLs"
 
-#: dirmngr/dirmngr.c:193
+#: dirmngr/dirmngr.c:194
 msgid "allow sending OCSP requests"
 msgstr "allow sending OCSP requests"
 
-#: dirmngr/dirmngr.c:195
+#: dirmngr/dirmngr.c:196
 msgid "allow online software version check"
 msgstr "allow online software version check"
 
-#: dirmngr/dirmngr.c:196
+#: dirmngr/dirmngr.c:197
 msgid "inhibit the use of HTTP"
 msgstr "inhibit the use of HTTP"
 
-#: dirmngr/dirmngr.c:197
+#: dirmngr/dirmngr.c:198
 msgid "inhibit the use of LDAP"
 msgstr "inhibit the use of LDAP"
 
-#: dirmngr/dirmngr.c:199
+#: dirmngr/dirmngr.c:200
 msgid "ignore HTTP CRL distribution points"
 msgstr "ignore HTTP CRL distribution points"
 
-#: dirmngr/dirmngr.c:201
+#: dirmngr/dirmngr.c:202
 msgid "ignore LDAP CRL distribution points"
 msgstr "ignore LDAP CRL distribution points"
 
-#: dirmngr/dirmngr.c:203
+#: dirmngr/dirmngr.c:204
 msgid "ignore certificate contained OCSP service URLs"
 msgstr "ignore certificate contained OCSP service URLs"
 
-#: dirmngr/dirmngr.c:206
+#: dirmngr/dirmngr.c:207
 msgid "|URL|redirect all HTTP requests to URL"
 msgstr "|URL|redirect all HTTP requests to URL"
 
-#: dirmngr/dirmngr.c:208
+#: dirmngr/dirmngr.c:209
 msgid "|HOST|use HOST for LDAP queries"
 msgstr "|HOST|use HOST for LDAP queries"
 
-#: dirmngr/dirmngr.c:210
+#: dirmngr/dirmngr.c:211
 msgid "do not use fallback hosts with --ldap-proxy"
 msgstr "do not use fallback hosts with --ldap-proxy"
 
-#: dirmngr/dirmngr.c:213
+#: dirmngr/dirmngr.c:216
 msgid "|FILE|read LDAP server list from FILE"
 msgstr "|FILE|read LDAP server list from FILE"
 
-#: dirmngr/dirmngr.c:215
+#: dirmngr/dirmngr.c:218
 msgid "add new servers discovered in CRL distribution points to serverlist"
 msgstr "add new servers discovered in CRL distribution points to serverlist"
 
-#: dirmngr/dirmngr.c:218 dirmngr/dirmngr_ldap.c:137
+#: dirmngr/dirmngr.c:221
 msgid "|N|set LDAP timeout to N seconds"
 msgstr "|N|set LDAP timeout to N seconds"
 
-#: dirmngr/dirmngr.c:221
+#: dirmngr/dirmngr.c:224
 msgid "|URL|use OCSP responder at URL"
 msgstr "|URL|use OCSP responder at URL"
 
-#: dirmngr/dirmngr.c:223
+#: dirmngr/dirmngr.c:226
 msgid "|FPR|OCSP response signed by FPR"
 msgstr "|FPR|OCSP response signed by FPR"
 
-#: dirmngr/dirmngr.c:229
+#: dirmngr/dirmngr.c:232
 msgid "|N|do not return more than N items in one query"
 msgstr "|N|do not return more than N items in one query"
 
-#: dirmngr/dirmngr.c:234
+#: dirmngr/dirmngr.c:237
 msgid "|FILE|use the CA certificates in FILE for HKP over TLS"
 msgstr "|FILE|use the CA certificates in FILE for HKP over TLS"
 
-#: dirmngr/dirmngr.c:236
+#: dirmngr/dirmngr.c:239
 msgid "route all network traffic via Tor"
 msgstr "route all network traffic via Tor"
 
-#: dirmngr/dirmngr.c:265
+#: dirmngr/dirmngr.c:268
 msgid ""
 "@\n"
 "(See the \"info\" manual for a complete listing of all commands and "
@@ -9982,11 +9989,11 @@ msgstr ""
 "(See the “\e[1minfo\e[0m” manual for a complete listing of all commands and "
 "options)\n"
 
-#: dirmngr/dirmngr.c:407
+#: dirmngr/dirmngr.c:415
 msgid "Usage: @DIRMNGR@ [options] (-h for help)"
 msgstr "Usage: @DIRMNGR@ [options] (-h for help)"
 
-#: dirmngr/dirmngr.c:409
+#: dirmngr/dirmngr.c:417
 msgid ""
 "Syntax: @DIRMNGR@ [options] [command [args]]\n"
 "Keyserver, CRL, and OCSP access for @GNUPG@\n"
@@ -9994,269 +10001,103 @@ msgstr ""
 "Syntax: @DIRMNGR@ [options] [command [args]]\n"
 "Keyserver, CRL, and OCSP access for @GNUPG@\n"
 
-#: dirmngr/dirmngr.c:489
+#: dirmngr/dirmngr.c:497
 #, c-format
 msgid "valid debug levels are: %s\n"
 msgstr "valid debug levels are: %s\n"
 
-#: dirmngr/dirmngr.c:575 tools/gpgconf.c:647 tools/gpgconf.c:682
+#: dirmngr/dirmngr.c:583 tools/gpgconf.c:647 tools/gpgconf.c:682
 #: tools/gpgconf.c:780
 #, c-format
 msgid "usage: %s [options] "
 msgstr "usage: %s [options] "
 
-#: dirmngr/dirmngr.c:1212
+#: dirmngr/dirmngr.c:1249
 #, c-format
 msgid "colons are not allowed in the socket name\n"
 msgstr "colons are not allowed in the socket name\n"
 
-#: dirmngr/dirmngr.c:1444 dirmngr/server.c:1824
+#: dirmngr/dirmngr.c:1481 dirmngr/server.c:1878
 #, c-format
 msgid "fetching CRL from '%s' failed: %s\n"
 msgstr "fetching CRL from ‘\e[1m%s\e[0m’ failed: %s\n"
 
-#: dirmngr/dirmngr.c:1450 dirmngr/server.c:1830
+#: dirmngr/dirmngr.c:1487 dirmngr/server.c:1884
 #, c-format
 msgid "processing CRL from '%s' failed: %s\n"
 msgstr "processing CRL from ‘\e[1m%s\e[0m’ failed: %s\n"
 
-#: dirmngr/dirmngr.c:1645
+#: dirmngr/dirmngr.c:1682
 #, c-format
 msgid "%s:%u: line too long - skipped\n"
 msgstr "%s:%u: line too long - skipped\n"
 
-#: dirmngr/dirmngr.c:1700 dirmngr/dirmngr.c:1784
+#: dirmngr/dirmngr.c:1737 dirmngr/dirmngr.c:1821
 #, c-format
 msgid "%s:%u: invalid fingerprint detected\n"
 msgstr "%s:%u: invalid fingerprint detected\n"
 
-#: dirmngr/dirmngr.c:1736 dirmngr/dirmngr.c:1762 tools/gpgconf-comp.c:4191
+#: dirmngr/dirmngr.c:1773 dirmngr/dirmngr.c:1799 tools/gpgconf-comp.c:4199
 #, c-format
 msgid "%s:%u: read error: %s\n"
 msgstr "%s:%u: read error: %s\n"
 
-#: dirmngr/dirmngr.c:1791
+#: dirmngr/dirmngr.c:1828
 #, c-format
 msgid "%s:%u: garbage at end of line ignored\n"
 msgstr "%s:%u: garbage at end of line ignored\n"
 
-#: dirmngr/dirmngr.c:1860
+#: dirmngr/dirmngr.c:1897
 #, c-format
 msgid "SIGHUP received - re-reading configuration and flushing caches\n"
 msgstr "SIGHUP received - re-reading configuration and flushing caches\n"
 
-#: dirmngr/dirmngr.c:1900
+#: dirmngr/dirmngr.c:1937
 #, c-format
 msgid "SIGUSR2 received - no action defined\n"
 msgstr "SIGUSR2 received - no action defined\n"
 
-#: dirmngr/dirmngr.c:1905
+#: dirmngr/dirmngr.c:1942
 #, c-format
 msgid "SIGTERM received - shutting down ...\n"
 msgstr "SIGTERM received - shutting down ...\n"
 
-#: dirmngr/dirmngr.c:1907
+#: dirmngr/dirmngr.c:1944
 #, c-format
 msgid "SIGTERM received - still %d active connections\n"
 msgstr "SIGTERM received - still %d active connections\n"
 
-#: dirmngr/dirmngr.c:1912
+#: dirmngr/dirmngr.c:1949
 #, c-format
 msgid "shutdown forced\n"
 msgstr "shutdown forced\n"
 
-#: dirmngr/dirmngr.c:1920
+#: dirmngr/dirmngr.c:1957
 #, c-format
 msgid "SIGINT received - immediate shutdown\n"
 msgstr "SIGINT received - immediate shutdown\n"
 
-#: dirmngr/dirmngr.c:1927
+#: dirmngr/dirmngr.c:1964
 #, c-format
 msgid "signal %d received - no action defined\n"
 msgstr "signal %d received - no action defined\n"
 
-#: dirmngr/dirmngr_ldap.c:138
-msgid "return all values in a record oriented format"
-msgstr "return all values in a record oriented format"
-
-#: dirmngr/dirmngr_ldap.c:141
-msgid "|NAME|ignore host part and connect through NAME"
-msgstr "|NAME|ignore host part and connect through NAME"
-
-#: dirmngr/dirmngr_ldap.c:142
-msgid "|NAME|connect to host NAME"
-msgstr "|NAME|connect to host NAME"
-
-#: dirmngr/dirmngr_ldap.c:143
-msgid "|N|connect to port N"
-msgstr "|N|connect to port N"
-
-#: dirmngr/dirmngr_ldap.c:144
-msgid "|NAME|use user NAME for authentication"
-msgstr "|NAME|use user NAME for authentication"
-
-#: dirmngr/dirmngr_ldap.c:145
-msgid "|PASS|use password PASS for authentication"
-msgstr "|PASS|use password PASS for authentication"
-
-#: dirmngr/dirmngr_ldap.c:147
-msgid "take password from $DIRMNGR_LDAP_PASS"
-msgstr "take password from $DIRMNGR_LDAP_PASS"
-
-#: dirmngr/dirmngr_ldap.c:148
-msgid "|STRING|query DN STRING"
-msgstr "|STRING|query DN STRING"
-
-#: dirmngr/dirmngr_ldap.c:149
-msgid "|STRING|use STRING as filter expression"
-msgstr "|STRING|use STRING as filter expression"
-
-#: dirmngr/dirmngr_ldap.c:150
-msgid "|STRING|return the attribute STRING"
-msgstr "|STRING|return the attribute STRING"
-
-#: dirmngr/dirmngr_ldap.c:211
-msgid "Usage: dirmngr_ldap [options] [URL] (-h for help)\n"
-msgstr "Usage: dirmngr_ldap [options] [URL] (-h for help)\n"
-
-#: dirmngr/dirmngr_ldap.c:214
-msgid ""
-"Syntax: dirmngr_ldap [options] [URL]\n"
-"Internal LDAP helper for Dirmngr\n"
-"Interface and options may change without notice\n"
-msgstr ""
-"Syntax: dirmngr_ldap [options] [URL]\n"
-"Internal LDAP helper for Dirmngr\n"
-"Interface and options may change without notice\n"
-
-#: dirmngr/dirmngr_ldap.c:340
-#, c-format
-msgid "invalid port number %d\n"
-msgstr "invalid port number %d\n"
-
-#: dirmngr/dirmngr_ldap.c:456
-#, c-format
-msgid "scanning result for attribute '%s'\n"
-msgstr "scanning result for attribute ‘\e[1m%s\e[0m’\n"
-
-#: dirmngr/dirmngr_ldap.c:463 dirmngr/dirmngr_ldap.c:546
-#: dirmngr/dirmngr_ldap.c:570 dirmngr/dirmngr_ldap.c:582
-#: dirmngr/dirmngr_ldap.c:720
-#, c-format
-msgid "error writing to stdout: %s\n"
-msgstr "error writing to stdout: %s\n"
-
-#: dirmngr/dirmngr_ldap.c:480
-#, c-format
-msgid "          available attribute '%s'\n"
-msgstr "          available attribute ‘\e[1m%s\e[0m’\n"
-
-#: dirmngr/dirmngr_ldap.c:518
-#, c-format
-msgid "attribute '%s' not found\n"
-msgstr "attribute ‘\e[1m%s\e[0m’ not found\n"
-
-#: dirmngr/dirmngr_ldap.c:525
-#, c-format
-msgid "found attribute '%s'\n"
-msgstr "found attribute ‘\e[1m%s\e[0m’\n"
-
-#: dirmngr/dirmngr_ldap.c:634
-#, c-format
-msgid "processing url '%s'\n"
-msgstr "processing url ‘\e[1m%s\e[0m’\n"
-
-#: dirmngr/dirmngr_ldap.c:636
-#, c-format
-msgid "          user '%s'\n"
-msgstr "          user ‘\e[1m%s\e[0m’\n"
-
-#: dirmngr/dirmngr_ldap.c:638
-#, c-format
-msgid "          pass '%s'\n"
-msgstr "          pass ‘\e[1m%s\e[0m’\n"
-
-#: dirmngr/dirmngr_ldap.c:640
-#, c-format
-msgid "          host '%s'\n"
-msgstr "          host ‘\e[1m%s\e[0m’\n"
-
-#: dirmngr/dirmngr_ldap.c:641
-#, c-format
-msgid "          port %d\n"
-msgstr "          port %d\n"
-
-#: dirmngr/dirmngr_ldap.c:643
-#, c-format
-msgid "            DN '%s'\n"
-msgstr "            DN ‘\e[1m%s\e[0m’\n"
-
-#: dirmngr/dirmngr_ldap.c:645
-#, c-format
-msgid "        filter '%s'\n"
-msgstr "        filter ‘\e[1m%s\e[0m’\n"
-
-#: dirmngr/dirmngr_ldap.c:650 dirmngr/dirmngr_ldap.c:653
-#, c-format
-msgid "          attr '%s'\n"
-msgstr "          attr ‘\e[1m%s\e[0m’\n"
-
-#: dirmngr/dirmngr_ldap.c:659
-#, c-format
-msgid "no host name in '%s'\n"
-msgstr "no host name in ‘\e[1m%s\e[0m’\n"
-
-#: dirmngr/dirmngr_ldap.c:664
-#, c-format
-msgid "no attribute given for query '%s'\n"
-msgstr "no attribute given for query ‘\e[1m%s\e[0m’\n"
-
-#: dirmngr/dirmngr_ldap.c:670
-#, c-format
-msgid "WARNING: using first attribute only\n"
-msgstr "WARNING: using first attribute only\n"
-
-#: dirmngr/dirmngr_ldap.c:679
-#, c-format
-msgid "LDAP init to '%s:%d' failed: %s\n"
-msgstr "LDAP init to ‘\e[1m%s:%d\e[0m’ failed: %s\n"
-
-#: dirmngr/dirmngr_ldap.c:702
-#, c-format
-msgid "binding to '%s:%d' failed: %s\n"
-msgstr "binding to ‘\e[1m%s:%d\e[0m’ failed: %s\n"
-
-#: dirmngr/dirmngr_ldap.c:729
-#, c-format
-msgid "searching '%s' failed: %s\n"
-msgstr "searching ‘\e[1m%s\e[0m’ failed: %s\n"
-
-#: dirmngr/dirmngr_ldap.c:761
-#, c-format
-msgid "'%s' is not an LDAP URL\n"
-msgstr "‘\e[1m%s\e[0m’ is not an LDAP URL\n"
-
-#: dirmngr/dirmngr_ldap.c:767
-#, c-format
-msgid "'%s' is an invalid LDAP URL\n"
-msgstr "‘\e[1m%s\e[0m’ is an invalid LDAP URL\n"
-
-#: dirmngr/http.c:1987 dirmngr/ocsp.c:255
+#: dirmngr/http.c:1993 dirmngr/ocsp.c:255
 #, c-format
 msgid "error accessing '%s': http status %u\n"
 msgstr "error accessing '%s': http status %u\n"
 
-#: dirmngr/http.c:3629 dirmngr/ocsp.c:229
+#: dirmngr/http.c:3644 dirmngr/ocsp.c:229
 #, c-format
 msgid "URL '%s' redirected to '%s' (%u)\n"
 msgstr "URL ‘\e[1m%s\e[0m’ redirected to ‘\e[1m%s\e[0m’ (%u)\n"
 
-#: dirmngr/http.c:3635 dirmngr/ocsp.c:246
+#: dirmngr/http.c:3650 dirmngr/ocsp.c:246
 #, c-format
 msgid "too many redirections\n"
 msgstr "too many redirections\n"
 
-#: dirmngr/http.c:3747
+#: dirmngr/http.c:3762
 #, c-format
 msgid "redirection changed to '%s'\n"
 msgstr "redirection changed to ‘\e[1m%s\e[0m’\n"
@@ -10296,31 +10137,51 @@ msgstr "waiting for ldap wrapper %d failed: %s\n"
 msgid "ldap wrapper %d stalled - killing\n"
 msgstr "ldap wrapper %d stalled - killing\n"
 
-#: dirmngr/ldap.c:91
+#: dirmngr/ldap.c:92
 #, c-format
 msgid "invalid char 0x%02x in host name - not added\n"
 msgstr "invalid char 0x%02x in host name - not added\n"
 
-#: dirmngr/ldap.c:95
+#: dirmngr/ldap.c:96
 #, c-format
 msgid "adding '%s:%d' to the ldap server list\n"
 msgstr "adding ‘\e[1m%s:%d\e[0m’ to the ldap server list\n"
 
-#: dirmngr/ldap.c:98 dirmngr/misc.c:512
+#: dirmngr/ldap.c:99 dirmngr/misc.c:512
 #, c-format
 msgid "malloc failed: %s\n"
 msgstr "malloc failed: %s\n"
 
-#: dirmngr/ldap.c:627
+#: dirmngr/ldap.c:221
+#, c-format
+msgid "'%s' is not an LDAP URL\n"
+msgstr "‘\e[1m%s\e[0m’ is not an LDAP URL\n"
+
+#: dirmngr/ldap.c:227 dirmngr/ldap.c:233
 #, c-format
-msgid "start_cert_fetch: invalid pattern '%s'\n"
-msgstr "start_cert_fetch: invalid pattern ‘\e[1m%s\e[0m’\n"
+msgid "'%s' is an invalid LDAP URL\n"
+msgstr "\e[1m%s\e[0m’ is an invalid LDAP URL\n"
 
-#: dirmngr/ldap.c:839
+#: dirmngr/ldap.c:969
 #, c-format
 msgid "ldap_search hit the size limit of the server\n"
 msgstr "ldap_search hit the size limit of the server\n"
 
+#: dirmngr/ldapserver.c:117
+#, c-format
+msgid "%s:%u: password given without user\n"
+msgstr "%s:%u: password given without user\n"
+
+#: dirmngr/ldapserver.c:181
+#, c-format
+msgid "%s:%u: ignoring unknown flag '%s'\n"
+msgstr "%s:%u: ignoring unknown flag ‘\e[1m%s\e[0m’\n"
+
+#: dirmngr/ldapserver.c:203
+#, c-format
+msgid "%s:%u: skipping this line\n"
+msgstr "%s:%u: skipping this line\n"
+
 #: dirmngr/misc.c:172
 #, c-format
 msgid "invalid canonical S-expression found\n"
@@ -10500,71 +10361,67 @@ msgstr "OCSP responder returned an too old status\n"
 msgid "assuan_inquire(%s) failed: %s\n"
 msgstr "assuan_inquire(%s) failed: %s\n"
 
-#: dirmngr/server.c:1158
-msgid "ldapserver missing"
-msgstr "ldapserver missing"
-
-#: dirmngr/server.c:1224
+#: dirmngr/server.c:1277
 msgid "serialno missing in cert ID"
 msgstr "serialno missing in cert ID"
 
-#: dirmngr/server.c:1387 dirmngr/server.c:1473 dirmngr/server.c:1909
-#: dirmngr/server.c:1980 dirmngr/server.c:2552 dirmngr/server.c:2567
+#: dirmngr/server.c:1440 dirmngr/server.c:1526 dirmngr/server.c:1963
+#: dirmngr/server.c:2034 dirmngr/server.c:2662 dirmngr/server.c:2677
 #, c-format
 msgid "assuan_inquire failed: %s\n"
 msgstr "assuan_inquire failed: %s\n"
 
-#: dirmngr/server.c:1516
+#: dirmngr/server.c:1569
 #, c-format
 msgid "fetch_cert_by_url failed: %s\n"
 msgstr "fetch_cert_by_url failed: %s\n"
 
-#: dirmngr/server.c:1528 dirmngr/server.c:1559 dirmngr/server.c:1718
+#: dirmngr/server.c:1581 dirmngr/server.c:1612 dirmngr/server.c:1772
 #, c-format
 msgid "error sending data: %s\n"
 msgstr "error sending data: %s\n"
 
-#: dirmngr/server.c:1666
+#: dirmngr/server.c:1720
 #, c-format
 msgid "start_cert_fetch failed: %s\n"
 msgstr "start_cert_fetch failed: %s\n"
 
-#: dirmngr/server.c:1699
+#: dirmngr/server.c:1753
 #, c-format
 msgid "fetch_next_cert failed: %s\n"
 msgstr "fetch_next_cert failed: %s\n"
 
-#: dirmngr/server.c:1726
+#: dirmngr/server.c:1780
 #, c-format
 msgid "max_replies %d exceeded\n"
 msgstr "max_replies %d exceeded\n"
 
-#: dirmngr/server.c:2856
+#: dirmngr/server.c:2966
 #, c-format
 msgid "can't allocate control structure: %s\n"
 msgstr "can't allocate control structure: %s\n"
 
-#: dirmngr/server.c:2867
+#: dirmngr/server.c:2977
 #, c-format
 msgid "failed to allocate assuan context: %s\n"
 msgstr "failed to allocate assuan context: %s\n"
 
-#: dirmngr/server.c:2888
+#: dirmngr/server.c:2998
 #, c-format
 msgid "failed to initialize the server: %s\n"
 msgstr "failed to initialize the server: %s\n"
 
-#: dirmngr/server.c:2896
+#: dirmngr/server.c:3006
 #, c-format
 msgid "failed to the register commands with Assuan: %s\n"
 msgstr "failed to the register commands with Assuan: %s\n"
 
-#: dirmngr/server.c:2929
+#: dirmngr/server.c:3039
 #, c-format
 msgid "Assuan accept problem: %s\n"
 msgstr "Assuan accept problem: %s\n"
 
-#: dirmngr/server.c:2948
+#: dirmngr/server.c:3058
 #, c-format
 msgid "Assuan processing failed: %s\n"
 msgstr "Assuan processing failed: %s\n"
@@ -10701,21 +10558,21 @@ msgid "error sending standard options: %s\n"
 msgstr "error sending standard options: %s\n"
 
 #: tools/gpgconf-comp.c:481 tools/gpgconf-comp.c:617 tools/gpgconf-comp.c:692
-#: tools/gpgconf-comp.c:804 tools/gpgconf-comp.c:906
+#: tools/gpgconf-comp.c:808 tools/gpgconf-comp.c:910
 msgid "Options controlling the diagnostic output"
 msgstr "Options controlling the diagnostic output"
 
 #: tools/gpgconf-comp.c:494 tools/gpgconf-comp.c:630 tools/gpgconf-comp.c:705
-#: tools/gpgconf-comp.c:817 tools/gpgconf-comp.c:929
+#: tools/gpgconf-comp.c:821 tools/gpgconf-comp.c:933
 msgid "Options controlling the configuration"
 msgstr "Options controlling the configuration"
 
-#: tools/gpgconf-comp.c:517 tools/gpgconf-comp.c:659 tools/gpgconf-comp.c:736
-#: tools/gpgconf-comp.c:849 tools/gpgconf-comp.c:942
+#: tools/gpgconf-comp.c:517 tools/gpgconf-comp.c:659 tools/gpgconf-comp.c:740
+#: tools/gpgconf-comp.c:853 tools/gpgconf-comp.c:946
 msgid "Options useful for debugging"
 msgstr "Options useful for debugging"
 
-#: tools/gpgconf-comp.c:530 tools/gpgconf-comp.c:669 tools/gpgconf-comp.c:862
+#: tools/gpgconf-comp.c:530 tools/gpgconf-comp.c:669 tools/gpgconf-comp.c:866
 msgid "Options controlling the security"
 msgstr "Options controlling the security"
 
@@ -10763,11 +10620,11 @@ msgstr "do not allow the reuse of old passphrases"
 msgid "|N|set the Pinentry timeout to N seconds"
 msgstr "|N|set the Pinentry timeout to N seconds"
 
-#: tools/gpgconf-comp.c:707 tools/gpgconf-comp.c:819
+#: tools/gpgconf-comp.c:707 tools/gpgconf-comp.c:823
 msgid "|NAME|use NAME as default secret key"
 msgstr "|NAME|use NAME as default secret key"
 
-#: tools/gpgconf-comp.c:710 tools/gpgconf-comp.c:822
+#: tools/gpgconf-comp.c:710 tools/gpgconf-comp.c:826
 msgid "|NAME|encrypt to user ID NAME as well"
 msgstr "|NAME|encrypt to user ID NAME as well"
 
@@ -10775,127 +10632,127 @@ msgstr "|NAME|encrypt to user ID NAME as well"
 msgid "|SPEC|set up email aliases"
 msgstr "|SPEC|set up email aliases"
 
-#: tools/gpgconf-comp.c:749 tools/gpgconf-comp.c:981
+#: tools/gpgconf-comp.c:753 tools/gpgconf-comp.c:985
 msgid "Configuration for Keyservers"
 msgstr "Configuration for Keyservers"
 
-#: tools/gpgconf-comp.c:751 tools/gpgconf-comp.c:983
+#: tools/gpgconf-comp.c:755 tools/gpgconf-comp.c:987
 msgid "|URL|use keyserver at URL"
 msgstr "|URL|use keyserver at URL"
 
-#: tools/gpgconf-comp.c:754
+#: tools/gpgconf-comp.c:758
 msgid "allow PKA lookups (DNS requests)"
 msgstr "allow PKA lookups (DNS requests)"
 
-#: tools/gpgconf-comp.c:757
+#: tools/gpgconf-comp.c:761
 msgid "|MECHANISMS|use MECHANISMS to locate keys by mail address"
 msgstr "|MECHANISMS|use MECHANISMS to locate keys by mail address"
 
-#: tools/gpgconf-comp.c:760
+#: tools/gpgconf-comp.c:764
 msgid "import missing key from a signature"
 msgstr "import missing key from a signature"
 
-#: tools/gpgconf-comp.c:763
+#: tools/gpgconf-comp.c:767
 msgid "include the public key in signatures"
 msgstr "include the public key in signatures"
 
-#: tools/gpgconf-comp.c:770 tools/gpgconf-comp.c:831
+#: tools/gpgconf-comp.c:774 tools/gpgconf-comp.c:835
 msgid "disable all access to the dirmngr"
 msgstr "disable all access to the dirmngr"
 
-#: tools/gpgconf-comp.c:834
+#: tools/gpgconf-comp.c:838
 msgid "|NAME|use encoding NAME for PKCS#12 passphrases"
 msgstr "|NAME|use encoding NAME for PKCS#12 passphrases"
 
-#: tools/gpgconf-comp.c:870
+#: tools/gpgconf-comp.c:874
 msgid "do not check CRLs for root certificates"
 msgstr "do not check CRLs for root certificates"
 
-#: tools/gpgconf-comp.c:919
+#: tools/gpgconf-comp.c:923
 msgid "Options controlling the format of the output"
 msgstr "Options controlling the format of the output"
 
-#: tools/gpgconf-comp.c:961
+#: tools/gpgconf-comp.c:965
 msgid "Options controlling the interactivity and enforcement"
 msgstr "Options controlling the interactivity and enforcement"
 
-#: tools/gpgconf-comp.c:974
+#: tools/gpgconf-comp.c:978
 msgid "Options controlling the use of Tor"
 msgstr "Options controlling the use of Tor"
 
-#: tools/gpgconf-comp.c:988
+#: tools/gpgconf-comp.c:992
 msgid "Configuration for HTTP servers"
 msgstr "Configuration for HTTP servers"
 
-#: tools/gpgconf-comp.c:999
+#: tools/gpgconf-comp.c:1003
 msgid "use system's HTTP proxy setting"
 msgstr "use system's HTTP proxy setting"
 
-#: tools/gpgconf-comp.c:1004
+#: tools/gpgconf-comp.c:1008
 msgid "Configuration of LDAP servers to use"
 msgstr "Configuration of LDAP servers to use"
 
-#: tools/gpgconf-comp.c:1033
+#: tools/gpgconf-comp.c:1037
 msgid "LDAP server list"
 msgstr "LDAP server list"
 
-#: tools/gpgconf-comp.c:1041
+#: tools/gpgconf-comp.c:1045
 msgid "Configuration for OCSP"
 msgstr "Configuration for OCSP"
 
-#: tools/gpgconf-comp.c:1094
+#: tools/gpgconf-comp.c:1098
 msgid "OpenPGP"
 msgstr "OpenPGP"
 
-#: tools/gpgconf-comp.c:1095
+#: tools/gpgconf-comp.c:1099
 msgid "Private Keys"
 msgstr "Private Keys"
 
-#: tools/gpgconf-comp.c:1096
+#: tools/gpgconf-comp.c:1100
 msgid "Smartcards"
 msgstr "Smartcards"
 
-#: tools/gpgconf-comp.c:1097
+#: tools/gpgconf-comp.c:1101
 msgid "S/MIME"
 msgstr "S/MIME"
 
-#: tools/gpgconf-comp.c:1098
+#: tools/gpgconf-comp.c:1102
 msgid "Network"
 msgstr "Network"
 
-#: tools/gpgconf-comp.c:1099
+#: tools/gpgconf-comp.c:1103
 msgid "Passphrase Entry"
 msgstr "Passphrase Entry"
 
-#: tools/gpgconf-comp.c:1278
+#: tools/gpgconf-comp.c:1282
 msgid "Component not suitable for launching"
 msgstr "Component not suitable for launching"
 
-#: tools/gpgconf-comp.c:1284
+#: tools/gpgconf-comp.c:1288
 #, c-format
 msgid "Configuration file of component %s is broken\n"
 msgstr "Configuration file of component %s is broken\n"
 
-#: tools/gpgconf-comp.c:1287
+#: tools/gpgconf-comp.c:1291
 #, c-format
 msgid "Note: Use the command \"%s%s\" to get details.\n"
 msgstr "Note: Use the command “\e[1m%s%s\e[0m” to get details.\n"
 
-#: tools/gpgconf-comp.c:3446
+#: tools/gpgconf-comp.c:3454
 #, c-format
 msgid "External verification of component %s failed"
 msgstr "External verification of component %s failed"
 
-#: tools/gpgconf-comp.c:3597
+#: tools/gpgconf-comp.c:3605
 msgid "Note that group specifications are ignored\n"
 msgstr "Note that group specifications are ignored\n"
 
-#: tools/gpgconf-comp.c:4195
+#: tools/gpgconf-comp.c:4203
 #, c-format
 msgid "error closing '%s'\n"
 msgstr "error closing ‘\e[1m%s\e[0m’\n"
 
-#: tools/gpgconf-comp.c:4197
+#: tools/gpgconf-comp.c:4205
 #, c-format
 msgid "error parsing '%s'\n"
 msgstr "error parsing ‘\e[1m%s\e[0m’\n"
index 080904c..47ae937 100644 (file)
Binary files a/po/en@quot.gmo and b/po/en@quot.gmo differ
index 23290d9..c36df0c 100644 (file)
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: GNU gnupg 2.2.27\n"
+"Project-Id-Version: GNU gnupg 2.2.28\n"
 "Report-Msgid-Bugs-To: translations@gnupg.org\n"
-"POT-Creation-Date: 2021-01-11 18:47+0100\n"
-"PO-Revision-Date: 2021-01-11 18:47+0100\n"
+"POT-Creation-Date: 2021-06-10 18:59+0200\n"
+"PO-Revision-Date: 2021-06-10 18:59+0200\n"
 "Last-Translator: Automatically generated\n"
 "Language-Team: none\n"
 "Language: en\n"
@@ -128,7 +128,7 @@ msgid "Passphrase:"
 msgstr "Passphrase:"
 
 #: agent/call-pinentry.c:1107 agent/call-pinentry.c:1359
-#: agent/command-ssh.c:3130 agent/genkey.c:416
+#: agent/command-ssh.c:3140 agent/genkey.c:416
 msgid "does not match - try again"
 msgstr "does not match - try again"
 
@@ -178,32 +178,32 @@ msgstr "Bad Passphrase"
 msgid "ssh keys greater than %d bits are not supported\n"
 msgstr "ssh keys greater than %d bits are not supported\n"
 
-#: agent/command-ssh.c:862 common/dotlock.c:852 g10/card-util.c:932
-#: g10/exec.c:546 g10/export.c:1320 g10/gpg.c:1352 g10/keygen.c:4998
-#: g10/keyring.c:1322 g10/keyring.c:1637 g10/openfile.c:291 g10/sign.c:1009
-#: g10/sign.c:1323 g10/tdbio.c:753
+#: agent/command-ssh.c:862 common/dotlock.c:852 g10/card-util.c:933
+#: g10/exec.c:554 g10/export.c:1320 g10/gpg.c:1360 g10/keygen.c:4998
+#: g10/keyring.c:1322 g10/keyring.c:1637 g10/openfile.c:291 g10/sign.c:1008
+#: g10/sign.c:1322 g10/tdbio.c:753
 #, c-format
 msgid "can't create '%s': %s\n"
 msgstr "can't create '%s': %s\n"
 
-#: agent/command-ssh.c:874 common/helpfile.c:57 g10/card-util.c:889
+#: agent/command-ssh.c:874 common/helpfile.c:57 g10/card-util.c:890
 #: g10/dearmor.c:59 g10/dearmor.c:106 g10/decrypt.c:65 g10/decrypt.c:136
-#: g10/decrypt.c:153 g10/encrypt.c:180 g10/encrypt.c:543 g10/gpg.c:1353
-#: g10/import.c:352 g10/import.c:536 g10/import.c:764 g10/keygen.c:4036
+#: g10/decrypt.c:153 g10/encrypt.c:180 g10/encrypt.c:543 g10/gpg.c:1361
+#: g10/import.c:364 g10/import.c:548 g10/import.c:776 g10/keygen.c:4036
 #: g10/keyring.c:1663 g10/openfile.c:195 g10/openfile.c:209 g10/plaintext.c:128
-#: g10/plaintext.c:649 g10/sign.c:991 g10/sign.c:1202 g10/sign.c:1307
-#: g10/sign.c:1452 g10/tdbdump.c:143 g10/tdbdump.c:151 g10/tdbio.c:758
-#: g10/tdbio.c:829 g10/verify.c:96 g10/verify.c:160 sm/gpgsm.c:2219
-#: sm/gpgsm.c:2249 sm/gpgsm.c:2287 sm/qualified.c:66 dirmngr/certcache.c:396
+#: g10/plaintext.c:649 g10/sign.c:990 g10/sign.c:1201 g10/sign.c:1306
+#: g10/sign.c:1451 g10/tdbdump.c:143 g10/tdbdump.c:151 g10/tdbio.c:758
+#: g10/tdbio.c:829 g10/verify.c:96 g10/verify.c:160 sm/gpgsm.c:2125
+#: sm/gpgsm.c:2155 sm/gpgsm.c:2193 sm/qualified.c:66 dirmngr/certcache.c:396
 #: dirmngr/certcache.c:476 dirmngr/certcache.c:478 dirmngr/crlcache.c:2588
-#: dirmngr/dirmngr.c:1722
+#: dirmngr/dirmngr.c:1759
 #, c-format
 msgid "can't open '%s': %s\n"
 msgstr "can't open '%s': %s\n"
 
 #: agent/command-ssh.c:2385 agent/command-ssh.c:2431 agent/command-ssh.c:2449
-#: agent/command-ssh.c:2601 g10/card-util.c:687 g10/card-util.c:708
-#: g10/skclist.c:430
+#: agent/command-ssh.c:2601 g10/card-util.c:688 g10/card-util.c:709
+#: g10/skclist.c:435
 #, c-format
 msgid "error getting serial number of card: %s\n"
 msgstr "error getting serial number of card: %s\n"
@@ -228,7 +228,7 @@ msgstr "no suitable card key found: %s\n"
 msgid "error getting list of cards: %s\n"
 msgstr "error getting list of cards: %s\n"
 
-#: agent/command-ssh.c:2765
+#: agent/command-ssh.c:2775
 #, c-format
 msgid ""
 "An ssh process requested the use of key%%0A  %s%%0A  (%s)%%0ADo you want to "
@@ -237,24 +237,24 @@ msgstr ""
 "An ssh process requested the use of key%%0A  %s%%0A  (%s)%%0ADo you want to "
 "allow this?"
 
-#: agent/command-ssh.c:2772
+#: agent/command-ssh.c:2782
 msgid "Allow"
 msgstr "Allow"
 
-#: agent/command-ssh.c:2772
+#: agent/command-ssh.c:2782
 msgid "Deny"
 msgstr "Deny"
 
-#: agent/command-ssh.c:2781
+#: agent/command-ssh.c:2791
 #, c-format
 msgid "Please enter the passphrase for the ssh key%%0A  %F%%0A  (%c)"
 msgstr "Please enter the passphrase for the ssh key%%0A  %F%%0A  (%c)"
 
-#: agent/command-ssh.c:3058 agent/genkey.c:351
+#: agent/command-ssh.c:3068 agent/genkey.c:351
 msgid "Please re-enter this passphrase"
 msgstr "Please re-enter this passphrase"
 
-#: agent/command-ssh.c:3085
+#: agent/command-ssh.c:3095
 #, c-format
 msgid ""
 "Please enter a passphrase to protect the received secret key%%0A   %s%%0A   "
@@ -263,7 +263,7 @@ msgstr ""
 "Please enter a passphrase to protect the received secret key%%0A   %s%%0A   "
 "%s%%0Awithin gpg-agent's key storage"
 
-#: agent/command-ssh.c:3667
+#: agent/command-ssh.c:3677
 #, c-format
 msgid "failed to create stream from socket: %s\n"
 msgstr "failed to create stream from socket: %s\n"
@@ -409,45 +409,43 @@ msgstr ""
 "@Options:\n"
 " "
 
-#: agent/gpg-agent.c:165 scd/scdaemon.c:120 dirmngr/dirmngr.c:166
+#: agent/gpg-agent.c:165 scd/scdaemon.c:120 dirmngr/dirmngr.c:167
 msgid "run in daemon mode (background)"
 msgstr "run in daemon mode (background)"
 
-#: agent/gpg-agent.c:166 scd/scdaemon.c:117 dirmngr/dirmngr.c:165
+#: agent/gpg-agent.c:166 scd/scdaemon.c:117 dirmngr/dirmngr.c:166
 msgid "run in server mode (foreground)"
 msgstr "run in server mode (foreground)"
 
-#: agent/gpg-agent.c:168 dirmngr/dirmngr.c:168
+#: agent/gpg-agent.c:168 dirmngr/dirmngr.c:169
 msgid "run in supervised mode"
 msgstr "run in supervised mode"
 
-#: agent/gpg-agent.c:170 g10/gpg.c:608 g10/gpgv.c:78 kbx/kbxutil.c:88
-#: scd/scdaemon.c:121 sm/gpgsm.c:310 dirmngr/dirmngr-client.c:70
-#: dirmngr/dirmngr.c:181 dirmngr/dirmngr_ldap.c:135
-#: tools/gpg-connect-agent.c:78 tools/gpgconf.c:108
+#: agent/gpg-agent.c:170 g10/gpg.c:605 g10/gpgv.c:78 kbx/kbxutil.c:88
+#: scd/scdaemon.c:121 sm/gpgsm.c:311 dirmngr/dirmngr-client.c:70
+#: dirmngr/dirmngr.c:182 tools/gpg-connect-agent.c:78 tools/gpgconf.c:108
 msgid "verbose"
 msgstr "verbose"
 
 #: agent/gpg-agent.c:171 g10/gpgv.c:79 kbx/kbxutil.c:89 scd/scdaemon.c:122
-#: sm/gpgsm.c:311 dirmngr/dirmngr-client.c:71 dirmngr/dirmngr.c:182
-#: dirmngr/dirmngr_ldap.c:136
+#: sm/gpgsm.c:312 dirmngr/dirmngr-client.c:71 dirmngr/dirmngr.c:183
 msgid "be somewhat more quiet"
 msgstr "be somewhat more quiet"
 
-#: agent/gpg-agent.c:172 scd/scdaemon.c:123 dirmngr/dirmngr.c:183
+#: agent/gpg-agent.c:172 scd/scdaemon.c:123 dirmngr/dirmngr.c:184
 msgid "sh-style command output"
 msgstr "sh-style command output"
 
-#: agent/gpg-agent.c:173 scd/scdaemon.c:124 dirmngr/dirmngr.c:184
+#: agent/gpg-agent.c:173 scd/scdaemon.c:124 dirmngr/dirmngr.c:185
 msgid "csh-style command output"
 msgstr "csh-style command output"
 
-#: agent/gpg-agent.c:174 scd/scdaemon.c:125 sm/gpgsm.c:341
-#: dirmngr/dirmngr.c:185
+#: agent/gpg-agent.c:174 scd/scdaemon.c:125 sm/gpgsm.c:344
+#: dirmngr/dirmngr.c:186
 msgid "|FILE|read options from FILE"
 msgstr "|FILE|read options from FILE"
 
-#: agent/gpg-agent.c:183 scd/scdaemon.c:135 dirmngr/dirmngr.c:188
+#: agent/gpg-agent.c:183 scd/scdaemon.c:135 dirmngr/dirmngr.c:189
 msgid "do not detach from the console"
 msgstr "do not detach from the console"
 
@@ -523,9 +521,9 @@ msgstr "enable putty support"
 #. reporting address.  This is so that we can change the
 #. reporting address without breaking the translations.
 #: agent/gpg-agent.c:531 agent/preset-passphrase.c:100 agent/protect-tool.c:155
-#: g10/gpg.c:1070 g10/gpgv.c:149 kbx/kbxutil.c:113 scd/scdaemon.c:298
-#: sm/gpgsm.c:567 dirmngr/dirmngr-client.c:168 dirmngr/dirmngr.c:404
-#: dirmngr/dirmngr_ldap.c:207 tools/gpg-connect-agent.c:205 tools/gpgconf.c:146
+#: g10/gpg.c:1074 g10/gpgv.c:149 kbx/kbxutil.c:113 scd/scdaemon.c:299
+#: sm/gpgsm.c:570 dirmngr/dirmngr-client.c:168 dirmngr/dirmngr.c:412
+#: tools/gpg-connect-agent.c:205 tools/gpgconf.c:146
 #: tools/gpg-check-pattern.c:143
 msgid "Please report bugs to <@EMAIL@>.\n"
 msgstr "Please report bugs to <@EMAIL@>.\n"
@@ -542,37 +540,37 @@ msgstr ""
 "Syntax: @GPG_AGENT@ [options] [command [args]]\n"
 "Secret key management for @GNUPG@\n"
 
-#: agent/gpg-agent.c:587 g10/gpg.c:1262 scd/scdaemon.c:370 sm/gpgsm.c:715
-#: dirmngr/dirmngr.c:488
+#: agent/gpg-agent.c:587 g10/gpg.c:1270 scd/scdaemon.c:371 sm/gpgsm.c:718
+#: dirmngr/dirmngr.c:496
 #, c-format
 msgid "invalid debug-level '%s' given\n"
 msgstr "invalid debug-level ‘%s’ given\n"
 
-#: agent/gpg-agent.c:945 g10/gpg.c:3753 g10/gpg.c:3777 sm/gpgsm.c:1631
-#: sm/gpgsm.c:1637
+#: agent/gpg-agent.c:945 g10/gpg.c:3773 g10/gpg.c:3797 sm/gpgsm.c:1531
+#: sm/gpgsm.c:1537
 #, c-format
 msgid "selected digest algorithm is invalid\n"
 msgstr "selected digest algorithm is invalid\n"
 
 #: agent/gpg-agent.c:1168 agent/gpg-agent.c:2023 common/argparse.c:1755
-#: common/argparse.c:1847 g10/gpg.c:2482 scd/scdaemon.c:532 sm/gpgsm.c:1063
-#: dirmngr/dirmngr.c:956 dirmngr/dirmngr.c:1841
+#: common/argparse.c:1847 g10/gpg.c:2495 scd/scdaemon.c:533 sm/gpgsm.c:977
+#: dirmngr/dirmngr.c:994 dirmngr/dirmngr.c:1878
 #, c-format
 msgid "reading options from '%s'\n"
 msgstr "reading options from ‘%s’\n"
 
-#: agent/gpg-agent.c:1300 g10/gpg.c:3704 scd/scdaemon.c:655 sm/gpgsm.c:1571
-#: dirmngr/dirmngr.c:1067 tools/gpg-connect-agent.c:1244 tools/gpgconf.c:624
+#: agent/gpg-agent.c:1300 g10/gpg.c:3724 scd/scdaemon.c:657 sm/gpgsm.c:1471
+#: dirmngr/dirmngr.c:1102 tools/gpg-connect-agent.c:1244 tools/gpgconf.c:624
 #, c-format
 msgid "Note: '%s' is not considered an option\n"
 msgstr "Note: ‘%s’ is not considered an option\n"
 
-#: agent/gpg-agent.c:2159 scd/scdaemon.c:1096 dirmngr/dirmngr.c:1219
+#: agent/gpg-agent.c:2159 scd/scdaemon.c:1098 dirmngr/dirmngr.c:1256
 #, c-format
 msgid "can't create socket: %s\n"
 msgstr "can't create socket: %s\n"
 
-#: agent/gpg-agent.c:2176 scd/scdaemon.c:1109 dirmngr/dirmngr.c:1232
+#: agent/gpg-agent.c:2176 scd/scdaemon.c:1111 dirmngr/dirmngr.c:1269
 #, c-format
 msgid "socket name '%s' is too long\n"
 msgstr "socket name ‘%s’ is too long\n"
@@ -582,29 +580,29 @@ msgstr "socket name ‘%s’ is too long\n"
 msgid "a gpg-agent is already running - not starting a new one\n"
 msgstr "a gpg-agent is already running - not starting a new one\n"
 
-#: agent/gpg-agent.c:2226 scd/scdaemon.c:1133 dirmngr/dirmngr.c:1264
+#: agent/gpg-agent.c:2226 scd/scdaemon.c:1135 dirmngr/dirmngr.c:1301
 #, c-format
 msgid "error getting nonce for the socket\n"
 msgstr "error getting nonce for the socket\n"
 
-#: agent/gpg-agent.c:2231 scd/scdaemon.c:1136 dirmngr/dirmngr.c:1267
+#: agent/gpg-agent.c:2231 scd/scdaemon.c:1138 dirmngr/dirmngr.c:1304
 #, c-format
 msgid "error binding socket to '%s': %s\n"
 msgstr "error binding socket to '%s': %s\n"
 
 #: agent/gpg-agent.c:2242 agent/gpg-agent.c:2282 agent/gpg-agent.c:2291
-#: scd/scdaemon.c:1144 dirmngr/dirmngr.c:1276
+#: scd/scdaemon.c:1146 dirmngr/dirmngr.c:1313
 #, c-format
 msgid "can't set permissions of '%s': %s\n"
 msgstr "can't set permissions of '%s': %s\n"
 
-#: agent/gpg-agent.c:2256 scd/scdaemon.c:1156 dirmngr/dirmngr.c:1288
+#: agent/gpg-agent.c:2256 scd/scdaemon.c:1158 dirmngr/dirmngr.c:1325
 #, c-format
 msgid "listening on socket '%s'\n"
 msgstr "listening on socket ‘%s’\n"
 
 #: agent/gpg-agent.c:2276 agent/gpg-agent.c:2329 common/homedir.c:517
-#: g10/exec.c:261 g10/openfile.c:397
+#: g10/exec.c:269 g10/openfile.c:397
 #, c-format
 msgid "can't create directory '%s': %s\n"
 msgstr "can't create directory '%s': %s\n"
@@ -625,7 +623,7 @@ msgstr "stat() failed for '%s': %s\n"
 msgid "can't use '%s' as home directory\n"
 msgstr "can't use ‘%s’ as home directory\n"
 
-#: agent/gpg-agent.c:2502 scd/scdaemon.c:1172 dirmngr/dirmngr.c:2047
+#: agent/gpg-agent.c:2502 scd/scdaemon.c:1174 dirmngr/dirmngr.c:2084
 #, c-format
 msgid "error reading nonce on fd %d: %s\n"
 msgstr "error reading nonce on fd %d: %s\n"
@@ -650,12 +648,12 @@ msgstr "ssh handler 0x%lx for fd %d started\n"
 msgid "ssh handler 0x%lx for fd %d terminated\n"
 msgstr "ssh handler 0x%lx for fd %d terminated\n"
 
-#: agent/gpg-agent.c:3016 scd/scdaemon.c:1362 dirmngr/dirmngr.c:2261
+#: agent/gpg-agent.c:3016 scd/scdaemon.c:1366 dirmngr/dirmngr.c:2298
 #, c-format
 msgid "npth_pselect failed: %s - waiting 1s\n"
 msgstr "npth_pselect failed: %s - waiting 1s\n"
 
-#: agent/gpg-agent.c:3104 scd/scdaemon.c:1427
+#: agent/gpg-agent.c:3104 scd/scdaemon.c:1431
 #, c-format
 msgid "%s %s stopped\n"
 msgstr "%s %s stopped\n"
@@ -678,8 +676,8 @@ msgstr ""
 "Syntax: gpg-preset-passphrase [options] KEYGRIP\n"
 "Password cache maintenance\n"
 
-#: agent/protect-tool.c:108 g10/gpg.c:440 kbx/kbxutil.c:71 sm/gpgsm.c:204
-#: dirmngr/dirmngr.c:163 tools/gpgconf.c:78
+#: agent/protect-tool.c:108 g10/gpg.c:437 kbx/kbxutil.c:71 sm/gpgsm.c:205
+#: dirmngr/dirmngr.c:164 tools/gpgconf.c:78
 msgid ""
 "@Commands:\n"
 " "
@@ -687,8 +685,8 @@ msgstr ""
 "@Commands:\n"
 " "
 
-#: agent/protect-tool.c:117 g10/gpg.c:553 g10/gpgv.c:76 kbx/kbxutil.c:81
-#: sm/gpgsm.c:252 dirmngr/dirmngr.c:179 tools/gpg-connect-agent.c:76
+#: agent/protect-tool.c:117 g10/gpg.c:550 g10/gpgv.c:76 kbx/kbxutil.c:81
+#: sm/gpgsm.c:253 dirmngr/dirmngr.c:180 tools/gpg-connect-agent.c:76
 #: tools/gpgconf.c:105
 msgid ""
 "@\n"
@@ -711,11 +709,11 @@ msgstr ""
 "Syntax: gpg-protect-tool [options] [args]\n"
 "Secret key maintenance tool\n"
 
-#: agent/protect-tool.c:703
+#: agent/protect-tool.c:703 sm/import.c:774
 msgid "Please enter the passphrase to unprotect the PKCS#12 object."
 msgstr "Please enter the passphrase to unprotect the PKCS#12 object."
 
-#: agent/protect-tool.c:708
+#: agent/protect-tool.c:708 sm/export.c:710
 msgid "Please enter the passphrase to protect the new PKCS#12 object."
 msgstr "Please enter the passphrase to protect the new PKCS#12 object."
 
@@ -745,7 +743,7 @@ msgstr "cancelled\n"
 msgid "error while asking for the passphrase: %s\n"
 msgstr "error while asking for the passphrase: %s\n"
 
-#: agent/trustlist.c:154 agent/trustlist.c:364 dirmngr/dirmngr.c:1629
+#: agent/trustlist.c:154 agent/trustlist.c:364 dirmngr/dirmngr.c:1666
 #: tools/gpgconf.c:418
 #, c-format
 msgid "error opening '%s': %s\n"
@@ -907,7 +905,7 @@ msgstr "checking created signature failed: %s\n"
 msgid "secret key parts are not available\n"
 msgstr "secret key parts are not available\n"
 
-#: agent/cvt-openpgp.c:344 g10/card-util.c:1540
+#: agent/cvt-openpgp.c:344 g10/card-util.c:1541
 #, c-format
 msgid "public key algorithm %d (%s) is not supported\n"
 msgstr "public key algorithm %d (%s) is not supported\n"
@@ -922,21 +920,21 @@ msgstr "protection algorithm %d (%s) is not supported\n"
 msgid "protection hash algorithm %d (%s) is not supported\n"
 msgstr "protection hash algorithm %d (%s) is not supported\n"
 
-#: common/exechelp-posix.c:359 common/exechelp-w32.c:449
-#: common/exechelp-w32.c:473 common/exechelp-w32.c:503
+#: common/exechelp-posix.c:359 common/exechelp-w32.c:451
+#: common/exechelp-w32.c:475 common/exechelp-w32.c:505
 #, c-format
 msgid "error creating a pipe: %s\n"
 msgstr "error creating a pipe: %s\n"
 
 #: common/exechelp-posix.c:372 common/exechelp-w32.c:355
-#: common/exechelp-w32.c:459 common/exechelp-w32.c:483
-#: common/exechelp-w32.c:513
+#: common/exechelp-w32.c:461 common/exechelp-w32.c:485
+#: common/exechelp-w32.c:515
 #, c-format
 msgid "error creating a stream for a pipe: %s\n"
 msgstr "error creating a stream for a pipe: %s\n"
 
 #: common/exechelp-posix.c:495 common/exechelp-posix.c:570
-#: common/exechelp-posix.c:851 dirmngr/dirmngr.c:1306
+#: common/exechelp-posix.c:856 dirmngr/dirmngr.c:1343
 #, c-format
 msgid "error forking process: %s\n"
 msgstr "error forking process: %s\n"
@@ -946,28 +944,28 @@ msgstr "error forking process: %s\n"
 msgid "waiting for process %d to terminate failed: %s\n"
 msgstr "waiting for process %d to terminate failed: %s\n"
 
-#: common/exechelp-posix.c:678 common/exechelp-posix.c:794
+#: common/exechelp-posix.c:678 common/exechelp-posix.c:799
 #, c-format
 msgid "error running '%s': probably not installed\n"
 msgstr "error running '%s': probably not installed\n"
 
-#: common/exechelp-posix.c:684 common/exechelp-posix.c:801
-#: common/exechelp-w32.c:796 common/exechelp-w32ce.c:781
+#: common/exechelp-posix.c:684 common/exechelp-posix.c:806
+#: common/exechelp-w32.c:829 common/exechelp-w32ce.c:781
 #, c-format
 msgid "error running '%s': exit status %d\n"
 msgstr "error running '%s': exit status %d\n"
 
-#: common/exechelp-posix.c:692 common/exechelp-posix.c:809
+#: common/exechelp-posix.c:692 common/exechelp-posix.c:814
 #, c-format
 msgid "error running '%s': terminated\n"
 msgstr "error running '%s': terminated\n"
 
-#: common/exechelp-posix.c:750 common/exechelp-w32.c:777
+#: common/exechelp-posix.c:755 common/exechelp-w32.c:810
 #, c-format
 msgid "waiting for processes to terminate failed: %s\n"
 msgstr "waiting for processes to terminate failed: %s\n"
 
-#: common/exechelp-w32.c:789 common/exechelp-w32ce.c:775
+#: common/exechelp-w32.c:822 common/exechelp-w32ce.c:775
 #, c-format
 msgid "error getting exit code of process %d: %s\n"
 msgstr "error getting exit code of process %d: %s\n"
@@ -1062,7 +1060,7 @@ msgstr "out of core in secure memory while allocating %lu bytes"
 msgid "out of core while allocating %lu bytes"
 msgstr "out of core while allocating %lu bytes"
 
-#: common/miscellaneous.c:115 g10/card-util.c:896 tools/no-libgcrypt.c:30
+#: common/miscellaneous.c:115 g10/card-util.c:897 tools/no-libgcrypt.c:30
 #, c-format
 msgid "error allocating enough memory: %s\n"
 msgstr "error allocating enough memory: %s\n"
@@ -1175,7 +1173,7 @@ msgid "algorithm: %s"
 msgstr "algorithm: %s"
 
 #: common/audit.c:774 common/audit.c:776 common/audit.c:921 common/audit.c:923
-#: scd/app-openpgp.c:3555
+#: scd/app-openpgp.c:3554
 #, c-format
 msgid "unsupported algorithm: %s"
 msgstr "unsupported algorithm: %s"
@@ -1300,6 +1298,26 @@ msgstr "[none]"
 msgid "invalid radix64 character %02x skipped\n"
 msgstr "invalid radix64 character %02x skipped\n"
 
+#: common/ttyio.c:433
+#, c-format
+msgid "Sorry, we are in batchmode - can't get input\n"
+msgstr "Sorry, we are in batchmode - can't get input\n"
+
+#: common/ttyio.c:439
+#, c-format
+msgid "Sorry, no terminal at all requested - can't get input\n"
+msgstr "Sorry, no terminal at all requested - can't get input\n"
+
+#: common/ttyio.c:474 common/ttyio.c:484
+#, c-format
+msgid "too many errors; giving up\n"
+msgstr "too many errors; giving up\n"
+
+#: common/ttyio.c:536
+#, c-format
+msgid "Control-D detected\n"
+msgstr "Control-D detected\n"
+
 #: common/argparse.c:520
 msgid "argument not expected"
 msgstr "argument not expected"
@@ -1357,7 +1375,7 @@ msgstr "invalid option"
 msgid "missing argument for option \"%.50s\"\n"
 msgstr "missing argument for option “%.50s”\n"
 
-#: common/argparse.c:558 g10/gpg.c:3490
+#: common/argparse.c:558 g10/gpg.c:3510
 #, c-format
 msgid "invalid argument for option \"%.50s\"\n"
 msgstr "invalid argument for option “%.50s”\n"
@@ -1427,31 +1445,31 @@ msgstr "failed to create temporary file '%s': %s\n"
 msgid "error writing to '%s': %s\n"
 msgstr "error writing to '%s': %s\n"
 
-#: common/dotlock.c:1129
+#: common/dotlock.c:1137
 #, c-format
 msgid "removing stale lockfile (created by %d)\n"
 msgstr "removing stale lockfile (created by %d)\n"
 
-#: common/dotlock.c:1165
+#: common/dotlock.c:1173
 #, c-format
 msgid "waiting for lock (held by %d%s) %s...\n"
 msgstr "waiting for lock (held by %d%s) %s...\n"
 
-#: common/dotlock.c:1166
+#: common/dotlock.c:1174
 msgid "(deadlock?) "
 msgstr "(deadlock?) "
 
-#: common/dotlock.c:1205
+#: common/dotlock.c:1213
 #, c-format
 msgid "lock '%s' not made: %s\n"
 msgstr "lock ‘%s’ not made: %s\n"
 
-#: common/dotlock.c:1232
+#: common/dotlock.c:1240
 #, c-format
 msgid "waiting for lock %s...\n"
 msgstr "waiting for lock %s...\n"
 
-#: common/init.c:185 sm/gpgsm.c:949 dirmngr/dirmngr.c:862 dirmngr/dirmngr.c:871
+#: common/init.c:191 sm/gpgsm.c:863 dirmngr/dirmngr.c:900 dirmngr/dirmngr.c:909
 #, c-format
 msgid "%s is too old (need %s, have %s)\n"
 msgstr "%s is too old (need %s, have %s)\n"
@@ -1632,12 +1650,12 @@ msgid "Note: Use the command \"%s\" to restart them.\n"
 msgstr "Note: Use the command “%s” to restart them.\n"
 
 #: g10/call-agent.c:318 g10/encrypt.c:154 g10/encrypt.c:620 g10/sign.c:412
-#: sm/call-agent.c:205 sm/encrypt.c:425 sm/sign.c:345
+#: sm/call-agent.c:205 sm/encrypt.c:426 sm/sign.c:345
 #, c-format
 msgid "%s is not compliant with %s mode\n"
 msgstr "%s is not compliant with %s mode\n"
 
-#: g10/call-dirmngr.c:209 sm/call-dirmngr.c:268 tools/gpg-connect-agent.c:2253
+#: g10/call-dirmngr.c:209 sm/call-dirmngr.c:269 tools/gpg-connect-agent.c:2253
 #, c-format
 msgid "no dirmngr running in this session\n"
 msgstr "no dirmngr running in this session\n"
@@ -1675,22 +1693,22 @@ msgstr "unacceptable HTTP redirect from server was cleaned up"
 msgid "server uses an invalid certificate"
 msgstr "server uses an invalid certificate"
 
-#: g10/call-dirmngr.c:437 g10/gpg.c:4400
+#: g10/call-dirmngr.c:437 g10/gpg.c:4421
 #, c-format
 msgid "Note: %s\n"
 msgstr "Note: %s\n"
 
-#: g10/card-util.c:86 g10/card-util.c:366 g10/card-util.c:1902
+#: g10/card-util.c:86 g10/card-util.c:366 g10/card-util.c:1903
 #, c-format
 msgid "OpenPGP card not available: %s\n"
 msgstr "OpenPGP card not available: %s\n"
 
-#: g10/card-util.c:91 g10/card-util.c:1908
+#: g10/card-util.c:91 g10/card-util.c:1909
 #, c-format
 msgid "OpenPGP card no. %s detected\n"
 msgstr "OpenPGP card no. %s detected\n"
 
-#: g10/card-util.c:97 g10/card-util.c:2237 g10/delkey.c:160 g10/keyedit.c:1422
+#: g10/card-util.c:97 g10/card-util.c:2238 g10/delkey.c:160 g10/keyedit.c:1423
 #: g10/keygen.c:4466 g10/revoke.c:214 g10/revoke.c:636
 #, c-format
 msgid "can't do this in batch mode\n"
@@ -1701,13 +1719,13 @@ msgstr "can't do this in batch mode\n"
 msgid "This command is only available for version 2 cards\n"
 msgstr "This command is only available for version 2 cards\n"
 
-#: g10/card-util.c:107 scd/app-openpgp.c:2864
+#: g10/card-util.c:107 scd/app-openpgp.c:2863
 #, c-format
 msgid "Reset Code not or not anymore available\n"
 msgstr "Reset Code not or not anymore available\n"
 
-#: g10/card-util.c:140 g10/card-util.c:1426 g10/card-util.c:1688
-#: g10/card-util.c:1780 g10/keyedit.c:394 g10/keyedit.c:415 g10/keyedit.c:429
+#: g10/card-util.c:140 g10/card-util.c:1427 g10/card-util.c:1689
+#: g10/card-util.c:1781 g10/keyedit.c:394 g10/keyedit.c:415 g10/keyedit.c:429
 #: g10/keygen.c:1808 g10/keygen.c:1980 g10/keygen.c:2186 g10/keygen.c:2477
 #: sm/certreqgen-ui.c:165 sm/certreqgen-ui.c:291 sm/certreqgen-ui.c:325
 msgid "Your selection? "
@@ -1733,104 +1751,104 @@ msgstr "not forced"
 msgid "forced"
 msgstr "forced"
 
-#: g10/card-util.c:749
+#: g10/card-util.c:750
 msgid "Error: Only plain ASCII is currently allowed.\n"
 msgstr "Error: Only plain ASCII is currently allowed.\n"
 
-#: g10/card-util.c:751
+#: g10/card-util.c:752
 msgid "Error: The \"<\" character may not be used.\n"
 msgstr "Error: The “<” character may not be used.\n"
 
-#: g10/card-util.c:753
+#: g10/card-util.c:754
 msgid "Error: Double spaces are not allowed.\n"
 msgstr "Error: Double spaces are not allowed.\n"
 
-#: g10/card-util.c:770
+#: g10/card-util.c:771
 msgid "Cardholder's surname: "
 msgstr "Cardholder's surname: "
 
-#: g10/card-util.c:772
+#: g10/card-util.c:773
 msgid "Cardholder's given name: "
 msgstr "Cardholder's given name: "
 
-#: g10/card-util.c:790
+#: g10/card-util.c:791
 #, c-format
 msgid "Error: Combined name too long (limit is %d characters).\n"
 msgstr "Error: Combined name too long (limit is %d characters).\n"
 
-#: g10/card-util.c:811
+#: g10/card-util.c:812
 msgid "URL to retrieve public key: "
 msgstr "URL to retrieve public key: "
 
-#: g10/card-util.c:905 g10/decrypt-data.c:490 g10/import.c:387 g10/import.c:734
-#: g10/import.c:786 dirmngr/crlcache.c:655 dirmngr/crlcache.c:660
-#: dirmngr/crlcache.c:914 dirmngr/crlcache.c:920 dirmngr/dirmngr.c:1668
+#: g10/card-util.c:906 g10/decrypt-data.c:490 g10/import.c:399 g10/import.c:746
+#: g10/import.c:798 dirmngr/crlcache.c:655 dirmngr/crlcache.c:660
+#: dirmngr/crlcache.c:914 dirmngr/crlcache.c:920 dirmngr/dirmngr.c:1705
 #: tools/gpgconf.c:431 tools/gpgconf.c:477
 #, c-format
 msgid "error reading '%s': %s\n"
 msgstr "error reading '%s': %s\n"
 
-#: g10/card-util.c:938 g10/decrypt-data.c:493 g10/export.c:2467
+#: g10/card-util.c:939 g10/decrypt-data.c:493 g10/export.c:2467
 #: dirmngr/crlcache.c:925
 #, c-format
 msgid "error writing '%s': %s\n"
 msgstr "error writing '%s': %s\n"
 
-#: g10/card-util.c:965
+#: g10/card-util.c:966
 msgid "Login data (account name): "
 msgstr "Login data (account name): "
 
-#: g10/card-util.c:1003
+#: g10/card-util.c:1004
 msgid "Private DO data: "
 msgstr "Private DO data: "
 
-#: g10/card-util.c:1088
+#: g10/card-util.c:1089
 msgid "Language preferences: "
 msgstr "Language preferences: "
 
-#: g10/card-util.c:1096
+#: g10/card-util.c:1097
 msgid "Error: invalid length of preference string.\n"
 msgstr "Error: invalid length of preference string.\n"
 
-#: g10/card-util.c:1105
+#: g10/card-util.c:1106
 msgid "Error: invalid characters in preference string.\n"
 msgstr "Error: invalid characters in preference string.\n"
 
-#: g10/card-util.c:1127
+#: g10/card-util.c:1128
 msgid "Salutation (M = Mr., F = Ms., or space): "
 msgstr "Salutation (M = Mr., F = Ms., or space): "
 
-#: g10/card-util.c:1141
+#: g10/card-util.c:1142
 msgid "Error: invalid response.\n"
 msgstr "Error: invalid response.\n"
 
-#: g10/card-util.c:1163
+#: g10/card-util.c:1164
 msgid "CA fingerprint: "
 msgstr "CA fingerprint: "
 
-#: g10/card-util.c:1186
+#: g10/card-util.c:1187
 msgid "Error: invalid formatted fingerprint.\n"
 msgstr "Error: invalid formatted fingerprint.\n"
 
-#: g10/card-util.c:1236
+#: g10/card-util.c:1237
 #, c-format
 msgid "key operation not possible: %s\n"
 msgstr "key operation not possible: %s\n"
 
-#: g10/card-util.c:1237
+#: g10/card-util.c:1238
 msgid "not an OpenPGP card"
 msgstr "not an OpenPGP card"
 
-#: g10/card-util.c:1250 g10/keygen.c:4486 g10/keygen.c:5565
+#: g10/card-util.c:1251 g10/keygen.c:4486 g10/keygen.c:5565
 #, c-format
 msgid "error getting current key info: %s\n"
 msgstr "error getting current key info: %s\n"
 
-#: g10/card-util.c:1335
+#: g10/card-util.c:1336
 msgid "Replace existing key? (y/N) "
 msgstr "Replace existing key? (y/N) "
 
-#: g10/card-util.c:1352
+#: g10/card-util.c:1353
 msgid ""
 "Note: There is no guarantee that the card supports the requested size.\n"
 "      If the key generation does not succeed, please check the\n"
@@ -1840,97 +1858,97 @@ msgstr ""
 "      If the key generation does not succeed, please check the\n"
 "      documentation of your card to see what sizes are allowed.\n"
 
-#: g10/card-util.c:1374 g10/keygen.c:2363 sm/certreqgen-ui.c:179
+#: g10/card-util.c:1375 g10/keygen.c:2363 sm/certreqgen-ui.c:179
 #, c-format
 msgid "What keysize do you want? (%u) "
 msgstr "What keysize do you want? (%u) "
 
-#: g10/card-util.c:1384 g10/keygen.c:2286 g10/keygen.c:2318
+#: g10/card-util.c:1385 g10/keygen.c:2286 g10/keygen.c:2318
 #: sm/certreqgen-ui.c:194
 #, c-format
 msgid "rounded up to %u bits\n"
 msgstr "rounded up to %u bits\n"
 
-#: g10/card-util.c:1392 g10/keygen.c:2371 sm/certreqgen-ui.c:184
+#: g10/card-util.c:1393 g10/keygen.c:2371 sm/certreqgen-ui.c:184
 #, c-format
 msgid "%s keysizes must be in the range %u-%u\n"
 msgstr "%s keysizes must be in the range %u-%u\n"
 
-#: g10/card-util.c:1411
+#: g10/card-util.c:1412
 msgid "Changing card key attribute for: "
 msgstr "Changing card key attribute for: "
 
-#: g10/card-util.c:1413
+#: g10/card-util.c:1414
 msgid "Signature key\n"
 msgstr "Signature key\n"
 
-#: g10/card-util.c:1415
+#: g10/card-util.c:1416
 msgid "Encryption key\n"
 msgstr "Encryption key\n"
 
-#: g10/card-util.c:1417
+#: g10/card-util.c:1418
 msgid "Authentication key\n"
 msgstr "Authentication key\n"
 
-#: g10/card-util.c:1419 g10/keygen.c:1926 sm/certreqgen-ui.c:157
+#: g10/card-util.c:1420 g10/keygen.c:1926 sm/certreqgen-ui.c:157
 msgid "Please select what kind of key you want:\n"
 msgstr "Please select what kind of key you want:\n"
 
-#: g10/card-util.c:1420 sm/certreqgen-ui.c:158
+#: g10/card-util.c:1421 sm/certreqgen-ui.c:158
 #, c-format
 msgid "   (%d) RSA\n"
 msgstr "   (%d) RSA\n"
 
-#: g10/card-util.c:1421
+#: g10/card-util.c:1422
 #, c-format
 msgid "   (%d) ECC\n"
 msgstr "   (%d) ECC\n"
 
-#: g10/card-util.c:1433 g10/card-util.c:1700 g10/card-util.c:1800
-#: g10/keyedit.c:899 g10/keygen.c:1834 g10/keygen.c:1862 g10/keygen.c:1987
+#: g10/card-util.c:1434 g10/card-util.c:1701 g10/card-util.c:1801
+#: g10/keyedit.c:900 g10/keygen.c:1834 g10/keygen.c:1862 g10/keygen.c:1987
 #: g10/keygen.c:2222 g10/keygen.c:2505 g10/revoke.c:838
 msgid "Invalid selection.\n"
 msgstr "Invalid selection.\n"
 
-#: g10/card-util.c:1506
+#: g10/card-util.c:1507
 #, c-format
 msgid "The card will now be re-configured to generate a key of %u bits\n"
 msgstr "The card will now be re-configured to generate a key of %u bits\n"
 
-#: g10/card-util.c:1511
+#: g10/card-util.c:1512
 #, c-format
 msgid "The card will now be re-configured to generate a key of type: %s\n"
 msgstr "The card will now be re-configured to generate a key of type: %s\n"
 
-#: g10/card-util.c:1547
+#: g10/card-util.c:1548
 #, c-format
 msgid "error changing key attribute for key %d: %s\n"
 msgstr "error changing key attribute for key %d: %s\n"
 
-#: g10/card-util.c:1563 g10/card-util.c:2090
+#: g10/card-util.c:1564 g10/card-util.c:2091
 #, c-format
 msgid "error getting card info: %s\n"
 msgstr "error getting card info: %s\n"
 
-#: g10/card-util.c:1569 g10/card-util.c:1914 g10/card-util.c:2096
+#: g10/card-util.c:1570 g10/card-util.c:1915 g10/card-util.c:2097
 #, c-format
 msgid "This command is not supported by this card\n"
 msgstr "This command is not supported by this card\n"
 
-#: g10/card-util.c:1615
+#: g10/card-util.c:1616
 msgid "Make off-card backup of encryption key? (Y/n) "
 msgstr "Make off-card backup of encryption key? (Y/n) "
 
-#: g10/card-util.c:1629
+#: g10/card-util.c:1630
 #, c-format
 msgid "Note: keys are already stored on the card!\n"
 msgstr "Note: keys are already stored on the card!\n"
 
-#: g10/card-util.c:1632
+#: g10/card-util.c:1633
 msgid "Replace existing keys? (y/N) "
 msgstr "Replace existing keys? (y/N) "
 
-#: g10/card-util.c:1644
+#: g10/card-util.c:1645
 #, c-format
 msgid ""
 "Please note that the factory settings of the PINs are\n"
@@ -1941,142 +1959,142 @@ msgstr ""
 "   PIN = ‘%s’     Admin PIN = ‘%s’\n"
 "You should change them using the command --change-pin\n"
 
-#: g10/card-util.c:1679
+#: g10/card-util.c:1680
 msgid "Please select the type of key to generate:\n"
 msgstr "Please select the type of key to generate:\n"
 
-#: g10/card-util.c:1681 g10/card-util.c:1771
+#: g10/card-util.c:1682 g10/card-util.c:1772
 msgid "   (1) Signature key\n"
 msgstr "   (1) Signature key\n"
 
-#: g10/card-util.c:1682 g10/card-util.c:1773
+#: g10/card-util.c:1683 g10/card-util.c:1774
 msgid "   (2) Encryption key\n"
 msgstr "   (2) Encryption key\n"
 
-#: g10/card-util.c:1683 g10/card-util.c:1775
+#: g10/card-util.c:1684 g10/card-util.c:1776
 msgid "   (3) Authentication key\n"
 msgstr "   (3) Authentication key\n"
 
-#: g10/card-util.c:1768
+#: g10/card-util.c:1769
 msgid "Please select where to store the key:\n"
 msgstr "Please select where to store the key:\n"
 
-#: g10/card-util.c:1814
+#: g10/card-util.c:1815
 #, c-format
 msgid "KEYTOCARD failed: %s\n"
 msgstr "KEYTOCARD failed: %s\n"
 
-#: g10/card-util.c:1919
+#: g10/card-util.c:1920
 #, c-format
 msgid "Note: This command destroys all keys stored on the card!\n"
 msgstr "Note: This command destroys all keys stored on the card!\n"
 
-#: g10/card-util.c:1922
+#: g10/card-util.c:1923
 msgid "Continue? (y/N) "
 msgstr "Continue? (y/N) "
 
-#: g10/card-util.c:1927
+#: g10/card-util.c:1928
 msgid "Really do a factory reset? (enter \"yes\") "
 msgstr "Really do a factory reset? (enter “yes”) "
 
-#: g10/card-util.c:2113
+#: g10/card-util.c:2114
 #, c-format
 msgid "error for setup KDF: %s\n"
 msgstr "error for setup KDF: %s\n"
 
-#: g10/card-util.c:2142 g10/keyedit.c:1259
+#: g10/card-util.c:2143 g10/keyedit.c:1260
 msgid "quit this menu"
 msgstr "quit this menu"
 
-#: g10/card-util.c:2144
+#: g10/card-util.c:2145
 msgid "show admin commands"
 msgstr "show admin commands"
 
-#: g10/card-util.c:2145 g10/keyedit.c:1262
+#: g10/card-util.c:2146 g10/keyedit.c:1263
 msgid "show this help"
 msgstr "show this help"
 
-#: g10/card-util.c:2147
+#: g10/card-util.c:2148
 msgid "list all available data"
 msgstr "list all available data"
 
-#: g10/card-util.c:2150
+#: g10/card-util.c:2151
 msgid "change card holder's name"
 msgstr "change card holder's name"
 
-#: g10/card-util.c:2151
+#: g10/card-util.c:2152
 msgid "change URL to retrieve key"
 msgstr "change URL to retrieve key"
 
-#: g10/card-util.c:2152
+#: g10/card-util.c:2153
 msgid "fetch the key specified in the card URL"
 msgstr "fetch the key specified in the card URL"
 
-#: g10/card-util.c:2153
+#: g10/card-util.c:2154
 msgid "change the login name"
 msgstr "change the login name"
 
-#: g10/card-util.c:2154
+#: g10/card-util.c:2155
 msgid "change the language preferences"
 msgstr "change the language preferences"
 
-#: g10/card-util.c:2155
+#: g10/card-util.c:2156
 msgid "change card holder's salutation"
 msgstr "change card holder's salutation"
 
-#: g10/card-util.c:2157
+#: g10/card-util.c:2158
 msgid "change a CA fingerprint"
 msgstr "change a CA fingerprint"
 
-#: g10/card-util.c:2158
+#: g10/card-util.c:2159
 msgid "toggle the signature force PIN flag"
 msgstr "toggle the signature force PIN flag"
 
-#: g10/card-util.c:2159
+#: g10/card-util.c:2160
 msgid "generate new keys"
 msgstr "generate new keys"
 
-#: g10/card-util.c:2160
+#: g10/card-util.c:2161
 msgid "menu to change or unblock the PIN"
 msgstr "menu to change or unblock the PIN"
 
-#: g10/card-util.c:2161
+#: g10/card-util.c:2162
 msgid "verify the PIN and list all data"
 msgstr "verify the PIN and list all data"
 
-#: g10/card-util.c:2162
+#: g10/card-util.c:2163
 msgid "unblock the PIN using a Reset Code"
 msgstr "unblock the PIN using a Reset Code"
 
-#: g10/card-util.c:2163
+#: g10/card-util.c:2164
 msgid "destroy all keys and data"
 msgstr "destroy all keys and data"
 
-#: g10/card-util.c:2164
+#: g10/card-util.c:2165
 msgid "setup KDF for PIN authentication"
 msgstr "setup KDF for PIN authentication"
 
-#: g10/card-util.c:2165
+#: g10/card-util.c:2166
 msgid "change the key attribute"
 msgstr "change the key attribute"
 
-#: g10/card-util.c:2289
+#: g10/card-util.c:2290
 msgid "gpg/card> "
 msgstr "gpg/card> "
 
-#: g10/card-util.c:2330
+#: g10/card-util.c:2331
 msgid "Admin-only command\n"
 msgstr "Admin-only command\n"
 
-#: g10/card-util.c:2361
+#: g10/card-util.c:2362
 msgid "Admin commands are allowed\n"
 msgstr "Admin commands are allowed\n"
 
-#: g10/card-util.c:2363
+#: g10/card-util.c:2364
 msgid "Admin commands are not allowed\n"
 msgstr "Admin commands are not allowed\n"
 
-#: g10/card-util.c:2466 g10/keyedit.c:2228
+#: g10/card-util.c:2467 g10/keyedit.c:2229
 msgid "Invalid command  (try \"help\")\n"
 msgstr "Invalid command  (try “help”)\n"
 
@@ -2085,21 +2103,21 @@ msgstr "Invalid command  (try “help”)\n"
 msgid "--output doesn't work for this command\n"
 msgstr "--output doesn't work for this command\n"
 
-#: g10/decrypt.c:247 g10/gpg.c:5083 g10/keyring.c:399 g10/keyring.c:750
+#: g10/decrypt.c:247 g10/gpg.c:5104 g10/keyring.c:399 g10/keyring.c:750
 #, c-format
 msgid "can't open '%s'\n"
 msgstr "can't open ‘%s’\n"
 
 #: g10/delkey.c:83 g10/export.c:1947 g10/export.c:2230 g10/export.c:2351
-#: g10/getkey.c:1964 g10/gpg.c:5028 g10/keyedit.c:1444 g10/keyedit.c:2334
-#: g10/keyedit.c:2580 g10/keyedit.c:4543 g10/keylist.c:689 g10/keyserver.c:1259
+#: g10/getkey.c:2108 g10/gpg.c:5049 g10/keyedit.c:1445 g10/keyedit.c:2335
+#: g10/keyedit.c:2581 g10/keyedit.c:4544 g10/keylist.c:689 g10/keyserver.c:1092
 #: g10/revoke.c:230 g10/tofu.c:2165
 #, c-format
 msgid "key \"%s\" not found: %s\n"
 msgstr "key “%s” not found: %s\n"
 
-#: g10/delkey.c:92 g10/export.c:2015 g10/getkey.c:1972 g10/getkey.c:4346
-#: g10/gpg.c:5037 g10/keyedit.c:2307 g10/keyserver.c:1277 g10/revoke.c:236
+#: g10/delkey.c:92 g10/export.c:2015 g10/getkey.c:2116 g10/getkey.c:4517
+#: g10/gpg.c:5058 g10/keyedit.c:2308 g10/keyserver.c:1110 g10/revoke.c:236
 #: g10/revoke.c:663 g10/tofu.c:2173
 #, c-format
 msgid "error reading keyblock: %s\n"
@@ -2157,9 +2175,9 @@ msgstr "key"
 msgid "subkey"
 msgstr "subkey"
 
-#: g10/delkey.c:299 g10/keyedit.c:2200 g10/keyedit.c:2210 g10/keyedit.c:2387
-#: g10/keyedit.c:2461 g10/keyedit.c:2532 g10/keyedit.c:2757 g10/keyedit.c:2987
-#: g10/keyedit.c:3056 g10/keyedit.c:3207
+#: g10/delkey.c:299 g10/keyedit.c:2201 g10/keyedit.c:2211 g10/keyedit.c:2388
+#: g10/keyedit.c:2462 g10/keyedit.c:2533 g10/keyedit.c:2758 g10/keyedit.c:2988
+#: g10/keyedit.c:3057 g10/keyedit.c:3208
 #, c-format
 msgid "update failed: %s\n"
 msgstr "update failed: %s\n"
@@ -2184,7 +2202,7 @@ msgstr "there is a secret key for public key “%s”!\n"
 msgid "use option \"--delete-secret-keys\" to delete it first.\n"
 msgstr "use option “--delete-secret-keys” to delete it first.\n"
 
-#: g10/encrypt.c:202 g10/sign.c:1471
+#: g10/encrypt.c:202 g10/sign.c:1470
 #, c-format
 msgid "error creating passphrase: %s\n"
 msgstr "error creating passphrase: %s\n"
@@ -2209,14 +2227,14 @@ msgstr "‘%s’ already compressed\n"
 msgid "WARNING: '%s' is an empty file\n"
 msgstr "WARNING: ‘%s’ is an empty file\n"
 
-#: g10/encrypt.c:387 g10/encrypt.c:610 g10/decrypt-data.c:260 g10/gpg.c:3901
-#: g10/gpg.c:3941 sm/decrypt.c:364 sm/encrypt.c:415 sm/gpgsm.c:1655
+#: g10/encrypt.c:387 g10/encrypt.c:610 g10/decrypt-data.c:260 g10/gpg.c:3922
+#: g10/gpg.c:3962 sm/decrypt.c:826 sm/encrypt.c:416 sm/gpgsm.c:1555
 #, c-format
 msgid "cipher algorithm '%s' may not be used in %s mode\n"
 msgstr "cipher algorithm ‘%s’ may not be used in %s mode\n"
 
-#: g10/encrypt.c:396 g10/gpg.c:3907 g10/gpg.c:3953 g10/sig-check.c:146
-#: g10/sign.c:391 sm/gpgsm.c:1665 sm/gpgsm.c:1675 sm/sign.c:478 sm/verify.c:506
+#: g10/encrypt.c:396 g10/gpg.c:3928 g10/gpg.c:3974 g10/sig-check.c:146
+#: g10/sign.c:391 sm/gpgsm.c:1565 sm/gpgsm.c:1575 sm/sign.c:478 sm/verify.c:506
 #, c-format
 msgid "digest algorithm '%s' may not be used in %s mode\n"
 msgstr "digest algorithm ‘%s’ may not be used in %s mode\n"
@@ -2233,12 +2251,12 @@ msgid ""
 msgstr ""
 "WARNING: forcing symmetric cipher %s (%d) violates recipient preferences\n"
 
-#: g10/encrypt.c:640 sm/encrypt.c:490
+#: g10/encrypt.c:640 sm/encrypt.c:491
 #, c-format
 msgid "WARNING: key %s is not suitable for encryption in %s mode\n"
 msgstr "WARNING: key %s is not suitable for encryption in %s mode\n"
 
-#: g10/encrypt.c:751 g10/sign.c:1163
+#: g10/encrypt.c:751 g10/sign.c:1162
 #, c-format
 msgid ""
 "WARNING: forcing compression algorithm %s (%d) violates recipient "
@@ -2267,12 +2285,12 @@ msgstr "option ‘%s’ may not be used in %s mode\n"
 msgid "%s encrypted data\n"
 msgstr "%s encrypted data\n"
 
-#: g10/decrypt-data.c:243 g10/mainproc.c:396
+#: g10/decrypt-data.c:243 g10/mainproc.c:397
 #, c-format
 msgid "encrypted with unknown algorithm %d\n"
 msgstr "encrypted with unknown algorithm %d\n"
 
-#: g10/decrypt-data.c:357 g10/decrypt-data.c:410 sm/decrypt.c:130
+#: g10/decrypt-data.c:357 g10/decrypt-data.c:410 sm/decrypt.c:550
 #, c-format
 msgid ""
 "WARNING: message was encrypted with a weak key in the symmetric cipher.\n"
@@ -2289,55 +2307,55 @@ msgstr "problem handling encrypted packet\n"
 msgid "no remote program execution supported\n"
 msgstr "no remote program execution supported\n"
 
-#: g10/exec.c:381
+#: g10/exec.c:389
 #, c-format
 msgid ""
 "external program calls are disabled due to unsafe options file permissions\n"
 msgstr ""
 "external program calls are disabled due to unsafe options file permissions\n"
 
-#: g10/exec.c:411
+#: g10/exec.c:419
 #, c-format
 msgid "this platform requires temporary files when calling external programs\n"
 msgstr ""
 "this platform requires temporary files when calling external programs\n"
 
-#: g10/exec.c:489
+#: g10/exec.c:497
 #, c-format
 msgid "unable to execute program '%s': %s\n"
 msgstr "unable to execute program '%s': %s\n"
 
-#: g10/exec.c:492
+#: g10/exec.c:500
 #, c-format
 msgid "unable to execute shell '%s': %s\n"
 msgstr "unable to execute shell '%s': %s\n"
 
-#: g10/exec.c:583
+#: g10/exec.c:591
 #, c-format
 msgid "system error while calling external program: %s\n"
 msgstr "system error while calling external program: %s\n"
 
-#: g10/exec.c:594 g10/exec.c:661
+#: g10/exec.c:602 g10/exec.c:669
 #, c-format
 msgid "unnatural exit of external program\n"
 msgstr "unnatural exit of external program\n"
 
-#: g10/exec.c:609
+#: g10/exec.c:617
 #, c-format
 msgid "unable to execute external program\n"
 msgstr "unable to execute external program\n"
 
-#: g10/exec.c:626
+#: g10/exec.c:634
 #, c-format
 msgid "unable to read external program response: %s\n"
 msgstr "unable to read external program response: %s\n"
 
-#: g10/exec.c:672 g10/exec.c:679
+#: g10/exec.c:680 g10/exec.c:687
 #, c-format
 msgid "WARNING: unable to remove tempfile (%s) '%s': %s\n"
 msgstr "WARNING: unable to remove tempfile (%s) '%s': %s\n"
 
-#: g10/exec.c:684
+#: g10/exec.c:692
 #, c-format
 msgid "WARNING: unable to remove temp directory '%s': %s\n"
 msgstr "WARNING: unable to remove temp directory '%s': %s\n"
@@ -2370,8 +2388,8 @@ msgstr "use the GnuPG key backup format"
 msgid " - skipped"
 msgstr " - skipped"
 
-#: g10/export.c:1324 g10/import.c:2073 g10/openfile.c:200 g10/openfile.c:294
-#: g10/sign.c:1013 g10/sign.c:1327
+#: g10/export.c:1324 g10/import.c:2085 g10/openfile.c:200 g10/openfile.c:294
+#: g10/sign.c:1012 g10/sign.c:1326
 #, c-format
 msgid "writing to '%s'\n"
 msgstr "writing to ‘%s’\n"
@@ -2406,266 +2424,266 @@ msgstr "error creating '%s': %s\n"
 msgid "[User ID not found]"
 msgstr "[User ID not found]"
 
-#: g10/getkey.c:1297
+#: g10/getkey.c:1441
 #, c-format
 msgid "automatically retrieved '%s' via %s\n"
 msgstr "automatically retrieved ‘%s’ via %s\n"
 
-#: g10/getkey.c:1303
+#: g10/getkey.c:1447
 #, c-format
 msgid "error retrieving '%s' via %s: %s\n"
 msgstr "error retrieving ‘%s’ via %s: %s\n"
 
-#: g10/getkey.c:1305
+#: g10/getkey.c:1449
 msgid "No fingerprint"
 msgstr "No fingerprint"
 
-#: g10/getkey.c:1526
+#: g10/getkey.c:1670
 #, c-format
 msgid "checking for a fresh copy of an expired key via %s\n"
 msgstr "checking for a fresh copy of an expired key via %s\n"
 
-#: g10/getkey.c:1941 g10/revoke.c:655 g10/revoke.c:720
+#: g10/getkey.c:2085 g10/revoke.c:655 g10/revoke.c:720
 #, c-format
 msgid "secret key \"%s\" not found: %s\n"
 msgstr "secret key “%s” not found: %s\n"
 
-#: g10/getkey.c:1944 g10/pkclist.c:988
+#: g10/getkey.c:2088 g10/pkclist.c:988
 #, c-format
 msgid "(check argument of option '%s')\n"
 msgstr "(check argument of option '%s')\n"
 
-#: g10/getkey.c:2020
+#: g10/getkey.c:2164
 #, c-format
 msgid "Warning: not using '%s' as default key: %s\n"
 msgstr "Warning: not using ‘%s’ as default key: %s\n"
 
-#: g10/getkey.c:2028
+#: g10/getkey.c:2172
 #, c-format
 msgid "using \"%s\" as default secret key for signing\n"
 msgstr "using “%s” as default secret key for signing\n"
 
-#: g10/getkey.c:2035
+#: g10/getkey.c:2179
 #, c-format
 msgid "all values passed to '%s' ignored\n"
 msgstr "all values passed to ‘%s’ ignored\n"
 
-#: g10/getkey.c:2880
+#: g10/getkey.c:3024
 #, c-format
 msgid "Invalid key %s made valid by --allow-non-selfsigned-uid\n"
 msgstr "Invalid key %s made valid by --allow-non-selfsigned-uid\n"
 
-#: g10/getkey.c:3730
+#: g10/getkey.c:3874
 #, c-format
 msgid "using subkey %s instead of primary key %s\n"
 msgstr "using subkey %s instead of primary key %s\n"
 
-#: g10/getkey.c:4275 g10/gpg.c:2107
+#: g10/getkey.c:4446 g10/gpg.c:2120
 #, c-format
 msgid "valid values for option '%s':\n"
 msgstr "valid values for option '%s':\n"
 
-#: g10/gpg.c:442 sm/gpgsm.c:206
+#: g10/gpg.c:439 sm/gpgsm.c:207
 msgid "make a signature"
 msgstr "make a signature"
 
-#: g10/gpg.c:443
+#: g10/gpg.c:440
 msgid "make a clear text signature"
 msgstr "make a clear text signature"
 
-#: g10/gpg.c:445 sm/gpgsm.c:208
+#: g10/gpg.c:442 sm/gpgsm.c:209
 msgid "make a detached signature"
 msgstr "make a detached signature"
 
-#: g10/gpg.c:446 sm/gpgsm.c:209
+#: g10/gpg.c:443 sm/gpgsm.c:210
 msgid "encrypt data"
 msgstr "encrypt data"
 
-#: g10/gpg.c:448
+#: g10/gpg.c:445
 msgid "encryption only with symmetric cipher"
 msgstr "encryption only with symmetric cipher"
 
-#: g10/gpg.c:450 sm/gpgsm.c:211
+#: g10/gpg.c:447 sm/gpgsm.c:212
 msgid "decrypt data (default)"
 msgstr "decrypt data (default)"
 
-#: g10/gpg.c:452 sm/gpgsm.c:212
+#: g10/gpg.c:449 sm/gpgsm.c:213
 msgid "verify a signature"
 msgstr "verify a signature"
 
-#: g10/gpg.c:454 sm/gpgsm.c:213
+#: g10/gpg.c:451 sm/gpgsm.c:214
 msgid "list keys"
 msgstr "list keys"
 
-#: g10/gpg.c:456
+#: g10/gpg.c:453
 msgid "list keys and signatures"
 msgstr "list keys and signatures"
 
-#: g10/gpg.c:459
+#: g10/gpg.c:456
 msgid "list and check key signatures"
 msgstr "list and check key signatures"
 
-#: g10/gpg.c:461 sm/gpgsm.c:218
+#: g10/gpg.c:458 sm/gpgsm.c:219
 msgid "list keys and fingerprints"
 msgstr "list keys and fingerprints"
 
-#: g10/gpg.c:462 sm/gpgsm.c:216
+#: g10/gpg.c:459 sm/gpgsm.c:217
 msgid "list secret keys"
 msgstr "list secret keys"
 
-#: g10/gpg.c:464 sm/gpgsm.c:219
+#: g10/gpg.c:461 sm/gpgsm.c:220
 msgid "generate a new key pair"
 msgstr "generate a new key pair"
 
-#: g10/gpg.c:467
+#: g10/gpg.c:464
 msgid "quickly generate a new key pair"
 msgstr "quickly generate a new key pair"
 
-#: g10/gpg.c:470
+#: g10/gpg.c:467
 msgid "quickly add a new user-id"
 msgstr "quickly add a new user-id"
 
-#: g10/gpg.c:475
+#: g10/gpg.c:472
 msgid "quickly revoke a user-id"
 msgstr "quickly revoke a user-id"
 
-#: g10/gpg.c:478
+#: g10/gpg.c:475
 msgid "quickly set a new expiration date"
 msgstr "quickly set a new expiration date"
 
-#: g10/gpg.c:481
+#: g10/gpg.c:478
 msgid "full featured key pair generation"
 msgstr "full featured key pair generation"
 
-#: g10/gpg.c:484
+#: g10/gpg.c:481
 msgid "generate a revocation certificate"
 msgstr "generate a revocation certificate"
 
-#: g10/gpg.c:487 sm/gpgsm.c:222
+#: g10/gpg.c:484 sm/gpgsm.c:223
 msgid "remove keys from the public keyring"
 msgstr "remove keys from the public keyring"
 
-#: g10/gpg.c:489
+#: g10/gpg.c:486
 msgid "remove keys from the secret keyring"
 msgstr "remove keys from the secret keyring"
 
-#: g10/gpg.c:491
+#: g10/gpg.c:488
 msgid "quickly sign a key"
 msgstr "quickly sign a key"
 
-#: g10/gpg.c:493
+#: g10/gpg.c:490
 msgid "quickly sign a key locally"
 msgstr "quickly sign a key locally"
 
-#: g10/gpg.c:495
+#: g10/gpg.c:492
 msgid "quickly revoke a key signature"
 msgstr "quickly revoke a key signature"
 
-#: g10/gpg.c:496
+#: g10/gpg.c:493
 msgid "sign a key"
 msgstr "sign a key"
 
-#: g10/gpg.c:497
+#: g10/gpg.c:494
 msgid "sign a key locally"
 msgstr "sign a key locally"
 
-#: g10/gpg.c:498
+#: g10/gpg.c:495
 msgid "sign or edit a key"
 msgstr "sign or edit a key"
 
-#: g10/gpg.c:500 sm/gpgsm.c:240
+#: g10/gpg.c:497 sm/gpgsm.c:241
 msgid "change a passphrase"
 msgstr "change a passphrase"
 
-#: g10/gpg.c:504
+#: g10/gpg.c:501
 msgid "export keys"
 msgstr "export keys"
 
-#: g10/gpg.c:505
+#: g10/gpg.c:502
 msgid "export keys to a keyserver"
 msgstr "export keys to a keyserver"
 
-#: g10/gpg.c:506
+#: g10/gpg.c:503
 msgid "import keys from a keyserver"
 msgstr "import keys from a keyserver"
 
-#: g10/gpg.c:509
+#: g10/gpg.c:506
 msgid "search for keys on a keyserver"
 msgstr "search for keys on a keyserver"
 
-#: g10/gpg.c:511
+#: g10/gpg.c:508
 msgid "update all keys from a keyserver"
 msgstr "update all keys from a keyserver"
 
-#: g10/gpg.c:519
+#: g10/gpg.c:516
 msgid "import/merge keys"
 msgstr "import/merge keys"
 
-#: g10/gpg.c:522
+#: g10/gpg.c:519
 msgid "print the card status"
 msgstr "print the card status"
 
-#: g10/gpg.c:523
+#: g10/gpg.c:520
 msgid "change data on a card"
 msgstr "change data on a card"
 
-#: g10/gpg.c:525
+#: g10/gpg.c:522
 msgid "change a card's PIN"
 msgstr "change a card's PIN"
 
-#: g10/gpg.c:537
+#: g10/gpg.c:534
 msgid "update the trust database"
 msgstr "update the trust database"
 
-#: g10/gpg.c:546
+#: g10/gpg.c:543
 msgid "print message digests"
 msgstr "print message digests"
 
-#: g10/gpg.c:549 sm/gpgsm.c:235
+#: g10/gpg.c:546 sm/gpgsm.c:236
 msgid "run in server mode"
 msgstr "run in server mode"
 
-#: g10/gpg.c:551
+#: g10/gpg.c:548
 msgid "|VALUE|set the TOFU policy for a key"
 msgstr "|VALUE|set the TOFU policy for a key"
 
-#: g10/gpg.c:555 sm/gpgsm.c:254
+#: g10/gpg.c:552 sm/gpgsm.c:255
 msgid "create ascii armored output"
 msgstr "create ascii armored output"
 
-#: g10/gpg.c:558 sm/gpgsm.c:271
+#: g10/gpg.c:555 sm/gpgsm.c:272
 msgid "|USER-ID|encrypt for USER-ID"
 msgstr "|USER-ID|encrypt for USER-ID"
 
-#: g10/gpg.c:574 sm/gpgsm.c:307
+#: g10/gpg.c:571 sm/gpgsm.c:308
 msgid "|USER-ID|use USER-ID to sign or decrypt"
 msgstr "|USER-ID|use USER-ID to sign or decrypt"
 
-#: g10/gpg.c:580
+#: g10/gpg.c:577
 msgid "|N|set compress level to N (0 disables)"
 msgstr "|N|set compress level to N (0 disables)"
 
-#: g10/gpg.c:587
+#: g10/gpg.c:584
 msgid "use canonical text mode"
 msgstr "use canonical text mode"
 
-#: g10/gpg.c:604 g10/gpgv.c:82 sm/gpgsm.c:309
+#: g10/gpg.c:601 g10/gpgv.c:82 sm/gpgsm.c:310
 msgid "|FILE|write output to FILE"
 msgstr "|FILE|write output to FILE"
 
-#: g10/gpg.c:614 kbx/kbxutil.c:90 sm/gpgsm.c:321 tools/gpgconf.c:110
+#: g10/gpg.c:611 kbx/kbxutil.c:90 sm/gpgsm.c:322 tools/gpgconf.c:110
 msgid "do not make any changes"
 msgstr "do not make any changes"
 
-#: g10/gpg.c:615
+#: g10/gpg.c:612
 msgid "prompt before overwriting"
 msgstr "prompt before overwriting"
 
-#: g10/gpg.c:665
+#: g10/gpg.c:662
 msgid "use strict OpenPGP behavior"
 msgstr "use strict OpenPGP behavior"
 
-#: g10/gpg.c:692 sm/gpgsm.c:364
+#: g10/gpg.c:689 sm/gpgsm.c:367
 msgid ""
 "@\n"
 "(See the man page for a complete listing of all commands and options)\n"
@@ -2673,7 +2691,7 @@ msgstr ""
 "@\n"
 "(See the man page for a complete listing of all commands and options)\n"
 
-#: g10/gpg.c:695
+#: g10/gpg.c:692
 msgid ""
 "@\n"
 "Examples:\n"
@@ -2693,11 +2711,11 @@ msgstr ""
 " --list-keys [names]        show keys\n"
 " --fingerprint [names]      show fingerprints\n"
 
-#: g10/gpg.c:1092
+#: g10/gpg.c:1096
 msgid "Usage: @GPG@ [options] [files] (-h for help)"
 msgstr "Usage: @GPG@ [options] [files] (-h for help)"
 
-#: g10/gpg.c:1095
+#: g10/gpg.c:1099
 msgid ""
 "Syntax: @GPG@ [options] [files]\n"
 "Sign, check, encrypt or decrypt\n"
@@ -2707,7 +2725,7 @@ msgstr ""
 "Sign, check, encrypt or decrypt\n"
 "Default operation depends on the input data\n"
 
-#: g10/gpg.c:1106 sm/gpgsm.c:591
+#: g10/gpg.c:1110 sm/gpgsm.c:594
 msgid ""
 "\n"
 "Supported algorithms:\n"
@@ -2715,534 +2733,534 @@ msgstr ""
 "\n"
 "Supported algorithms:\n"
 
-#: g10/gpg.c:1109
+#: g10/gpg.c:1113
 msgid "Pubkey: "
 msgstr "Pubkey: "
 
-#: g10/gpg.c:1116 g10/keyedit.c:3281
+#: g10/gpg.c:1120 g10/keyedit.c:3282
 msgid "Cipher: "
 msgstr "Cipher: "
 
-#: g10/gpg.c:1123
+#: g10/gpg.c:1127
 msgid "Hash: "
 msgstr "Hash: "
 
-#: g10/gpg.c:1130 g10/keyedit.c:3347
+#: g10/gpg.c:1134 g10/keyedit.c:3348
 msgid "Compression: "
 msgstr "Compression: "
 
-#: g10/gpg.c:1199 sm/gpgsm.c:665
+#: g10/gpg.c:1207 sm/gpgsm.c:668
 #, c-format
 msgid "usage: %s [options] %s\n"
 msgstr "usage: %s [options] %s\n"
 
-#: g10/gpg.c:1388 sm/gpgsm.c:754
+#: g10/gpg.c:1396 sm/gpgsm.c:761
 #, c-format
 msgid "conflicting commands\n"
 msgstr "conflicting commands\n"
 
-#: g10/gpg.c:1406
+#: g10/gpg.c:1414
 #, c-format
 msgid "no = sign found in group definition '%s'\n"
 msgstr "no = sign found in group definition ‘%s’\n"
 
-#: g10/gpg.c:1604
+#: g10/gpg.c:1612
 #, c-format
 msgid "WARNING: unsafe ownership on homedir '%s'\n"
 msgstr "WARNING: unsafe ownership on homedir ‘%s’\n"
 
-#: g10/gpg.c:1607
+#: g10/gpg.c:1615
 #, c-format
 msgid "WARNING: unsafe ownership on configuration file '%s'\n"
 msgstr "WARNING: unsafe ownership on configuration file ‘%s’\n"
 
-#: g10/gpg.c:1610
+#: g10/gpg.c:1618
 #, c-format
 msgid "WARNING: unsafe ownership on extension '%s'\n"
 msgstr "WARNING: unsafe ownership on extension ‘%s’\n"
 
-#: g10/gpg.c:1616
+#: g10/gpg.c:1624
 #, c-format
 msgid "WARNING: unsafe permissions on homedir '%s'\n"
 msgstr "WARNING: unsafe permissions on homedir ‘%s’\n"
 
-#: g10/gpg.c:1619
+#: g10/gpg.c:1627
 #, c-format
 msgid "WARNING: unsafe permissions on configuration file '%s'\n"
 msgstr "WARNING: unsafe permissions on configuration file ‘%s’\n"
 
-#: g10/gpg.c:1622
+#: g10/gpg.c:1630
 #, c-format
 msgid "WARNING: unsafe permissions on extension '%s'\n"
 msgstr "WARNING: unsafe permissions on extension ‘%s’\n"
 
-#: g10/gpg.c:1628
+#: g10/gpg.c:1636
 #, c-format
 msgid "WARNING: unsafe enclosing directory ownership on homedir '%s'\n"
 msgstr "WARNING: unsafe enclosing directory ownership on homedir ‘%s’\n"
 
-#: g10/gpg.c:1631
+#: g10/gpg.c:1639
 #, c-format
 msgid ""
 "WARNING: unsafe enclosing directory ownership on configuration file '%s'\n"
 msgstr ""
 "WARNING: unsafe enclosing directory ownership on configuration file ‘%s’\n"
 
-#: g10/gpg.c:1634
+#: g10/gpg.c:1642
 #, c-format
 msgid "WARNING: unsafe enclosing directory ownership on extension '%s'\n"
 msgstr "WARNING: unsafe enclosing directory ownership on extension ‘%s’\n"
 
-#: g10/gpg.c:1640
+#: g10/gpg.c:1648
 #, c-format
 msgid "WARNING: unsafe enclosing directory permissions on homedir '%s'\n"
 msgstr "WARNING: unsafe enclosing directory permissions on homedir ‘%s’\n"
 
-#: g10/gpg.c:1643
+#: g10/gpg.c:1651
 #, c-format
 msgid ""
 "WARNING: unsafe enclosing directory permissions on configuration file '%s'\n"
 msgstr ""
 "WARNING: unsafe enclosing directory permissions on configuration file ‘%s’\n"
 
-#: g10/gpg.c:1646
+#: g10/gpg.c:1654
 #, c-format
 msgid "WARNING: unsafe enclosing directory permissions on extension '%s'\n"
 msgstr "WARNING: unsafe enclosing directory permissions on extension ‘%s’\n"
 
-#: g10/gpg.c:1862
+#: g10/gpg.c:1870
 #, c-format
 msgid "unknown configuration item '%s'\n"
 msgstr "unknown configuration item ‘%s’\n"
 
-#: g10/gpg.c:1979
+#: g10/gpg.c:1992
 msgid "display photo IDs during key listings"
 msgstr "display photo IDs during key listings"
 
-#: g10/gpg.c:1981
+#: g10/gpg.c:1994
 msgid "show key usage information during key listings"
 msgstr "show key usage information during key listings"
 
-#: g10/gpg.c:1983
+#: g10/gpg.c:1996
 msgid "show policy URLs during signature listings"
 msgstr "show policy URLs during signature listings"
 
-#: g10/gpg.c:1985
+#: g10/gpg.c:1998
 msgid "show all notations during signature listings"
 msgstr "show all notations during signature listings"
 
-#: g10/gpg.c:1987
+#: g10/gpg.c:2000
 msgid "show IETF standard notations during signature listings"
 msgstr "show IETF standard notations during signature listings"
 
-#: g10/gpg.c:1991
+#: g10/gpg.c:2004
 msgid "show user-supplied notations during signature listings"
 msgstr "show user-supplied notations during signature listings"
 
-#: g10/gpg.c:1993
+#: g10/gpg.c:2006
 msgid "show preferred keyserver URLs during signature listings"
 msgstr "show preferred keyserver URLs during signature listings"
 
-#: g10/gpg.c:1995
+#: g10/gpg.c:2008
 msgid "show user ID validity during key listings"
 msgstr "show user ID validity during key listings"
 
-#: g10/gpg.c:1997
+#: g10/gpg.c:2010
 msgid "show revoked and expired user IDs in key listings"
 msgstr "show revoked and expired user IDs in key listings"
 
-#: g10/gpg.c:1999
+#: g10/gpg.c:2012
 msgid "show revoked and expired subkeys in key listings"
 msgstr "show revoked and expired subkeys in key listings"
 
-#: g10/gpg.c:2001
+#: g10/gpg.c:2014
 msgid "show the keyring name in key listings"
 msgstr "show the keyring name in key listings"
 
-#: g10/gpg.c:2003
+#: g10/gpg.c:2016
 msgid "show expiration dates during signature listings"
 msgstr "show expiration dates during signature listings"
 
-#: g10/gpg.c:2118
+#: g10/gpg.c:2131
 #, c-format
 msgid "unknown TOFU policy '%s'\n"
 msgstr "unknown TOFU policy ‘%s’\n"
 
-#: g10/gpg.c:2120
+#: g10/gpg.c:2133
 #, c-format
 msgid "(use \"help\" to list choices)\n"
 msgstr "(use “help” to list choices)\n"
 
-#: g10/gpg.c:2840 g10/gpg.c:3671 g10/gpg.c:3683
+#: g10/gpg.c:2856 g10/gpg.c:3691 g10/gpg.c:3703
 #, c-format
 msgid "Note: %s is not for normal use!\n"
 msgstr "Note: %s is not for normal use!\n"
 
-#: g10/gpg.c:3017 g10/gpg.c:3029
+#: g10/gpg.c:3033 g10/gpg.c:3045
 #, c-format
 msgid "'%s' is not a valid signature expiration\n"
 msgstr "‘%s’ is not a valid signature expiration\n"
 
-#: g10/gpg.c:3051
+#: g10/gpg.c:3067
 #, c-format
 msgid "\"%s\" is not a proper mail address\n"
 msgstr "“%s” is not a proper mail address\n"
 
-#: g10/gpg.c:3083 sm/gpgsm.c:1177
+#: g10/gpg.c:3099 sm/gpgsm.c:1091
 #, c-format
 msgid "invalid pinentry mode '%s'\n"
 msgstr "invalid pinentry mode ‘%s’\n"
 
-#: g10/gpg.c:3089 sm/gpgsm.c:1183
+#: g10/gpg.c:3105 sm/gpgsm.c:1097
 #, c-format
 msgid "invalid request origin '%s'\n"
 msgstr "invalid request origin ‘%s’\n"
 
-#: g10/gpg.c:3143
+#: g10/gpg.c:3159
 #, c-format
 msgid "'%s' is not a valid character set\n"
 msgstr "‘%s’ is not a valid character set\n"
 
-#: g10/gpg.c:3165 g10/gpg.c:3375 g10/keyedit.c:5281
+#: g10/gpg.c:3181 g10/gpg.c:3395 g10/keyedit.c:5282
 #, c-format
 msgid "could not parse keyserver URL\n"
 msgstr "could not parse keyserver URL\n"
 
-#: g10/gpg.c:3183
+#: g10/gpg.c:3199
 #, c-format
 msgid "%s:%d: invalid keyserver options\n"
 msgstr "%s:%d: invalid keyserver options\n"
 
-#: g10/gpg.c:3186
+#: g10/gpg.c:3202
 #, c-format
 msgid "invalid keyserver options\n"
 msgstr "invalid keyserver options\n"
 
-#: g10/gpg.c:3193
+#: g10/gpg.c:3209
 #, c-format
 msgid "%s:%d: invalid import options\n"
 msgstr "%s:%d: invalid import options\n"
 
-#: g10/gpg.c:3196
+#: g10/gpg.c:3212
 #, c-format
 msgid "invalid import options\n"
 msgstr "invalid import options\n"
 
-#: g10/gpg.c:3202 g10/gpg.c:3217
+#: g10/gpg.c:3218 g10/gpg.c:3233
 #, c-format
 msgid "invalid filter option: %s\n"
 msgstr "invalid filter option: %s\n"
 
-#: g10/gpg.c:3208
+#: g10/gpg.c:3224
 #, c-format
 msgid "%s:%d: invalid export options\n"
 msgstr "%s:%d: invalid export options\n"
 
-#: g10/gpg.c:3211
+#: g10/gpg.c:3227
 #, c-format
 msgid "invalid export options\n"
 msgstr "invalid export options\n"
 
-#: g10/gpg.c:3223
+#: g10/gpg.c:3239
 #, c-format
 msgid "%s:%d: invalid list options\n"
 msgstr "%s:%d: invalid list options\n"
 
-#: g10/gpg.c:3226
+#: g10/gpg.c:3242
 #, c-format
 msgid "invalid list options\n"
 msgstr "invalid list options\n"
 
-#: g10/gpg.c:3234
+#: g10/gpg.c:3250
 msgid "display photo IDs during signature verification"
 msgstr "display photo IDs during signature verification"
 
-#: g10/gpg.c:3236
+#: g10/gpg.c:3252
 msgid "show policy URLs during signature verification"
 msgstr "show policy URLs during signature verification"
 
-#: g10/gpg.c:3238
+#: g10/gpg.c:3254
 msgid "show all notations during signature verification"
 msgstr "show all notations during signature verification"
 
-#: g10/gpg.c:3240
+#: g10/gpg.c:3256
 msgid "show IETF standard notations during signature verification"
 msgstr "show IETF standard notations during signature verification"
 
-#: g10/gpg.c:3244
+#: g10/gpg.c:3260
 msgid "show user-supplied notations during signature verification"
 msgstr "show user-supplied notations during signature verification"
 
-#: g10/gpg.c:3246
+#: g10/gpg.c:3262
 msgid "show preferred keyserver URLs during signature verification"
 msgstr "show preferred keyserver URLs during signature verification"
 
-#: g10/gpg.c:3248
+#: g10/gpg.c:3264
 msgid "show user ID validity during signature verification"
 msgstr "show user ID validity during signature verification"
 
-#: g10/gpg.c:3250
+#: g10/gpg.c:3266
 msgid "show revoked and expired user IDs in signature verification"
 msgstr "show revoked and expired user IDs in signature verification"
 
-#: g10/gpg.c:3252
+#: g10/gpg.c:3268
 msgid "show only the primary user ID in signature verification"
 msgstr "show only the primary user ID in signature verification"
 
-#: g10/gpg.c:3254
+#: g10/gpg.c:3270
 msgid "validate signatures with PKA data"
 msgstr "validate signatures with PKA data"
 
-#: g10/gpg.c:3256
+#: g10/gpg.c:3272
 msgid "elevate the trust of signatures with valid PKA data"
 msgstr "elevate the trust of signatures with valid PKA data"
 
-#: g10/gpg.c:3263
+#: g10/gpg.c:3279
 #, c-format
 msgid "%s:%d: invalid verify options\n"
 msgstr "%s:%d: invalid verify options\n"
 
-#: g10/gpg.c:3266
+#: g10/gpg.c:3282
 #, c-format
 msgid "invalid verify options\n"
 msgstr "invalid verify options\n"
 
-#: g10/gpg.c:3273
+#: g10/gpg.c:3289
 #, c-format
 msgid "unable to set exec-path to %s\n"
 msgstr "unable to set exec-path to %s\n"
 
-#: g10/gpg.c:3478
+#: g10/gpg.c:3498
 #, c-format
 msgid "%s:%d: invalid auto-key-locate list\n"
 msgstr "%s:%d: invalid auto-key-locate list\n"
 
-#: g10/gpg.c:3481
+#: g10/gpg.c:3501
 #, c-format
 msgid "invalid auto-key-locate list\n"
 msgstr "invalid auto-key-locate list\n"
 
-#: g10/gpg.c:3653 sm/gpgsm.c:1541
+#: g10/gpg.c:3673 sm/gpgsm.c:1441
 #, c-format
 msgid "WARNING: program may create a core file!\n"
 msgstr "WARNING: program may create a core file!\n"
 
-#: g10/gpg.c:3664
+#: g10/gpg.c:3684
 #, c-format
 msgid "WARNING: %s overrides %s\n"
 msgstr "WARNING: %s overrides %s\n"
 
-#: g10/gpg.c:3673
+#: g10/gpg.c:3693
 #, c-format
 msgid "%s not allowed with %s!\n"
 msgstr "%s not allowed with %s!\n"
 
-#: g10/gpg.c:3676
+#: g10/gpg.c:3696
 #, c-format
 msgid "%s makes no sense with %s!\n"
 msgstr "%s makes no sense with %s!\n"
 
-#: g10/gpg.c:3691 sm/gpgsm.c:1558 dirmngr/dirmngr.c:1082
+#: g10/gpg.c:3711 sm/gpgsm.c:1458 dirmngr/dirmngr.c:1117
 #, c-format
 msgid "WARNING: running with faked system time: "
 msgstr "WARNING: running with faked system time: "
 
-#: g10/gpg.c:3712
+#: g10/gpg.c:3732
 #, c-format
 msgid "will not run with insecure memory due to %s\n"
 msgstr "will not run with insecure memory due to %s\n"
 
-#: g10/gpg.c:3747 g10/gpg.c:3771 sm/gpgsm.c:1625
+#: g10/gpg.c:3767 g10/gpg.c:3791 sm/gpgsm.c:1525
 #, c-format
 msgid "selected cipher algorithm is invalid\n"
 msgstr "selected cipher algorithm is invalid\n"
 
-#: g10/gpg.c:3759
+#: g10/gpg.c:3779
 #, c-format
 msgid "selected compression algorithm is invalid\n"
 msgstr "selected compression algorithm is invalid\n"
 
-#: g10/gpg.c:3765
+#: g10/gpg.c:3785
 #, c-format
 msgid "selected certification digest algorithm is invalid\n"
 msgstr "selected certification digest algorithm is invalid\n"
 
-#: g10/gpg.c:3780
+#: g10/gpg.c:3800
 #, c-format
 msgid "completes-needed must be greater than 0\n"
 msgstr "completes-needed must be greater than 0\n"
 
-#: g10/gpg.c:3782
+#: g10/gpg.c:3802
 #, c-format
 msgid "marginals-needed must be greater than 1\n"
 msgstr "marginals-needed must be greater than 1\n"
 
-#: g10/gpg.c:3784
+#: g10/gpg.c:3804
 #, c-format
 msgid "max-cert-depth must be in the range from 1 to 255\n"
 msgstr "max-cert-depth must be in the range from 1 to 255\n"
 
-#: g10/gpg.c:3786
+#: g10/gpg.c:3806
 #, c-format
 msgid "invalid default-cert-level; must be 0, 1, 2, or 3\n"
 msgstr "invalid default-cert-level; must be 0, 1, 2, or 3\n"
 
-#: g10/gpg.c:3788
+#: g10/gpg.c:3808
 #, c-format
 msgid "invalid min-cert-level; must be 1, 2, or 3\n"
 msgstr "invalid min-cert-level; must be 1, 2, or 3\n"
 
-#: g10/gpg.c:3791
+#: g10/gpg.c:3812
 #, c-format
 msgid "Note: simple S2K mode (0) is strongly discouraged\n"
 msgstr "Note: simple S2K mode (0) is strongly discouraged\n"
 
-#: g10/gpg.c:3795
+#: g10/gpg.c:3816
 #, c-format
 msgid "invalid S2K mode; must be 0, 1 or 3\n"
 msgstr "invalid S2K mode; must be 0, 1 or 3\n"
 
-#: g10/gpg.c:3802
+#: g10/gpg.c:3823
 #, c-format
 msgid "invalid default preferences\n"
 msgstr "invalid default preferences\n"
 
-#: g10/gpg.c:3806
+#: g10/gpg.c:3827
 #, c-format
 msgid "invalid personal cipher preferences\n"
 msgstr "invalid personal cipher preferences\n"
 
-#: g10/gpg.c:3810
+#: g10/gpg.c:3831
 #, c-format
 msgid "invalid personal digest preferences\n"
 msgstr "invalid personal digest preferences\n"
 
-#: g10/gpg.c:3814
+#: g10/gpg.c:3835
 #, c-format
 msgid "invalid personal compress preferences\n"
 msgstr "invalid personal compress preferences\n"
 
-#: g10/gpg.c:3850
+#: g10/gpg.c:3871
 #, c-format
 msgid "%s does not yet work with %s\n"
 msgstr "%s does not yet work with %s\n"
 
-#: g10/gpg.c:3913
+#: g10/gpg.c:3934
 #, c-format
 msgid "compression algorithm '%s' may not be used in %s mode\n"
 msgstr "compression algorithm ‘%s’ may not be used in %s mode\n"
 
-#: g10/gpg.c:4057
+#: g10/gpg.c:4078
 #, c-format
 msgid "failed to initialize the TrustDB: %s\n"
 msgstr "failed to initialize the TrustDB: %s\n"
 
-#: g10/gpg.c:4069
+#: g10/gpg.c:4090
 #, c-format
 msgid "WARNING: recipients (-r) given without using public key encryption\n"
 msgstr "WARNING: recipients (-r) given without using public key encryption\n"
 
-#: g10/gpg.c:4141
+#: g10/gpg.c:4162
 #, c-format
 msgid "symmetric encryption of '%s' failed: %s\n"
 msgstr "symmetric encryption of ‘%s’ failed: %s\n"
 
-#: g10/gpg.c:4170
+#: g10/gpg.c:4191
 #, c-format
 msgid "you cannot use --symmetric --encrypt with --s2k-mode 0\n"
 msgstr "you cannot use --symmetric --encrypt with --s2k-mode 0\n"
 
-#: g10/gpg.c:4173
+#: g10/gpg.c:4194
 #, c-format
 msgid "you cannot use --symmetric --encrypt in %s mode\n"
 msgstr "you cannot use --symmetric --encrypt in %s mode\n"
 
-#: g10/gpg.c:4231
+#: g10/gpg.c:4252
 #, c-format
 msgid "you cannot use --symmetric --sign --encrypt with --s2k-mode 0\n"
 msgstr "you cannot use --symmetric --sign --encrypt with --s2k-mode 0\n"
 
-#: g10/gpg.c:4234
+#: g10/gpg.c:4255
 #, c-format
 msgid "you cannot use --symmetric --sign --encrypt in %s mode\n"
 msgstr "you cannot use --symmetric --sign --encrypt in %s mode\n"
 
-#: g10/gpg.c:4622 g10/keyserver.c:1881
+#: g10/gpg.c:4643 g10/keyserver.c:1648
 #, c-format
 msgid "keyserver send failed: %s\n"
 msgstr "keyserver send failed: %s\n"
 
-#: g10/gpg.c:4627
+#: g10/gpg.c:4648
 #, c-format
 msgid "keyserver receive failed: %s\n"
 msgstr "keyserver receive failed: %s\n"
 
-#: g10/gpg.c:4633
+#: g10/gpg.c:4654
 #, c-format
 msgid "key export failed: %s\n"
 msgstr "key export failed: %s\n"
 
-#: g10/gpg.c:4646
+#: g10/gpg.c:4667
 #, c-format
 msgid "export as ssh key failed: %s\n"
 msgstr "export as ssh key failed: %s\n"
 
-#: g10/gpg.c:4658
+#: g10/gpg.c:4679
 #, c-format
 msgid "keyserver search failed: %s\n"
 msgstr "keyserver search failed: %s\n"
 
-#: g10/gpg.c:4671
+#: g10/gpg.c:4692
 #, c-format
 msgid "keyserver refresh failed: %s\n"
 msgstr "keyserver refresh failed: %s\n"
 
-#: g10/gpg.c:4738
+#: g10/gpg.c:4759
 #, c-format
 msgid "dearmoring failed: %s\n"
 msgstr "dearmoring failed: %s\n"
 
-#: g10/gpg.c:4749
+#: g10/gpg.c:4770
 #, c-format
 msgid "enarmoring failed: %s\n"
 msgstr "enarmoring failed: %s\n"
 
-#: g10/gpg.c:4841
+#: g10/gpg.c:4862
 #, c-format
 msgid "invalid hash algorithm '%s'\n"
 msgstr "invalid hash algorithm ‘%s’\n"
 
-#: g10/gpg.c:4993 g10/tofu.c:2153
+#: g10/gpg.c:5014 g10/tofu.c:2153
 #, c-format
 msgid "error parsing key specification '%s': %s\n"
 msgstr "error parsing key specification '%s': %s\n"
 
-#: g10/gpg.c:5006
+#: g10/gpg.c:5027
 #, c-format
 msgid "'%s' does not appear to be a valid key ID, fingerprint or keygrip\n"
 msgstr "‘%s’ does not appear to be a valid key ID, fingerprint or keygrip\n"
 
-#: g10/gpg.c:5062
+#: g10/gpg.c:5083
 #, c-format
 msgid "WARNING: no command supplied.  Trying to guess what you mean ...\n"
 msgstr "WARNING: no command supplied.  Trying to guess what you mean ...\n"
 
-#: g10/gpg.c:5073
+#: g10/gpg.c:5094
 #, c-format
 msgid "Go ahead and type your message ...\n"
 msgstr "Go ahead and type your message ...\n"
 
-#: g10/gpg.c:5418
+#: g10/gpg.c:5439
 #, c-format
 msgid "the given certification policy URL is invalid\n"
 msgstr "the given certification policy URL is invalid\n"
 
-#: g10/gpg.c:5420
+#: g10/gpg.c:5441
 #, c-format
 msgid "the given signature policy URL is invalid\n"
 msgstr "the given signature policy URL is invalid\n"
 
-#: g10/gpg.c:5453
+#: g10/gpg.c:5474
 #, c-format
 msgid "the given preferred keyserver URL is invalid\n"
 msgstr "the given preferred keyserver URL is invalid\n"
@@ -3255,7 +3273,7 @@ msgstr "|FILE|take the keys from the keyring FILE"
 msgid "make timestamp conflicts only a warning"
 msgstr "make timestamp conflicts only a warning"
 
-#: g10/gpgv.c:86 sm/gpgsm.c:354 tools/gpgconf.c:112
+#: g10/gpgv.c:86 sm/gpgsm.c:357 tools/gpgconf.c:112
 msgid "|FD|write status info to this FD"
 msgstr "|FD|write status info to this FD"
 
@@ -3332,97 +3350,97 @@ msgstr "assume the GnuPG key backup format"
 msgid "repair keys on import"
 msgstr "repair keys on import"
 
-#: g10/import.c:380 g10/import.c:699
+#: g10/import.c:392 g10/import.c:711
 #, c-format
 msgid "skipping block of type %d\n"
 msgstr "skipping block of type %d\n"
 
-#: g10/import.c:716
+#: g10/import.c:728
 #, c-format
 msgid "%lu keys processed so far\n"
 msgstr "%lu keys processed so far\n"
 
-#: g10/import.c:802
+#: g10/import.c:814
 #, c-format
 msgid "Total number processed: %lu\n"
 msgstr "Total number processed: %lu\n"
 
-#: g10/import.c:805
+#: g10/import.c:817
 #, c-format
 msgid "    skipped PGP-2 keys: %lu\n"
 msgstr "    skipped PGP-2 keys: %lu\n"
 
-#: g10/import.c:807
+#: g10/import.c:819
 #, c-format
 msgid "      skipped new keys: %lu\n"
 msgstr "      skipped new keys: %lu\n"
 
-#: g10/import.c:810
+#: g10/import.c:822
 #, c-format
 msgid "          w/o user IDs: %lu\n"
 msgstr "          w/o user IDs: %lu\n"
 
-#: g10/import.c:813 sm/import.c:130
+#: g10/import.c:825 sm/import.c:130
 #, c-format
 msgid "              imported: %lu"
 msgstr "              imported: %lu"
 
-#: g10/import.c:817 sm/import.c:134
+#: g10/import.c:829 sm/import.c:134
 #, c-format
 msgid "             unchanged: %lu\n"
 msgstr "             unchanged: %lu\n"
 
-#: g10/import.c:819
+#: g10/import.c:831
 #, c-format
 msgid "          new user IDs: %lu\n"
 msgstr "          new user IDs: %lu\n"
 
-#: g10/import.c:821
+#: g10/import.c:833
 #, c-format
 msgid "           new subkeys: %lu\n"
 msgstr "           new subkeys: %lu\n"
 
-#: g10/import.c:823
+#: g10/import.c:835
 #, c-format
 msgid "        new signatures: %lu\n"
 msgstr "        new signatures: %lu\n"
 
-#: g10/import.c:825
+#: g10/import.c:837
 #, c-format
 msgid "   new key revocations: %lu\n"
 msgstr "   new key revocations: %lu\n"
 
-#: g10/import.c:827 sm/import.c:136
+#: g10/import.c:839 sm/import.c:136
 #, c-format
 msgid "      secret keys read: %lu\n"
 msgstr "      secret keys read: %lu\n"
 
-#: g10/import.c:829 sm/import.c:138
+#: g10/import.c:841 sm/import.c:138
 #, c-format
 msgid "  secret keys imported: %lu\n"
 msgstr "  secret keys imported: %lu\n"
 
-#: g10/import.c:831 sm/import.c:140
+#: g10/import.c:843 sm/import.c:140
 #, c-format
 msgid " secret keys unchanged: %lu\n"
 msgstr " secret keys unchanged: %lu\n"
 
-#: g10/import.c:833 sm/import.c:142
+#: g10/import.c:845 sm/import.c:142
 #, c-format
 msgid "          not imported: %lu\n"
 msgstr "          not imported: %lu\n"
 
-#: g10/import.c:835
+#: g10/import.c:847
 #, c-format
 msgid "    signatures cleaned: %lu\n"
 msgstr "    signatures cleaned: %lu\n"
 
-#: g10/import.c:837
+#: g10/import.c:849
 #, c-format
 msgid "      user IDs cleaned: %lu\n"
 msgstr "      user IDs cleaned: %lu\n"
 
-#: g10/import.c:1264
+#: g10/import.c:1276
 #, c-format
 msgid ""
 "WARNING: key %s contains preferences for unavailable\n"
@@ -3431,167 +3449,167 @@ msgstr ""
 "WARNING: key %s contains preferences for unavailable\n"
 "algorithms on these user IDs:\n"
 
-#: g10/import.c:1306
+#: g10/import.c:1318
 #, c-format
 msgid "         \"%s\": preference for cipher algorithm %s\n"
 msgstr "         “%s”: preference for cipher algorithm %s\n"
 
-#: g10/import.c:1321
+#: g10/import.c:1333
 #, c-format
 msgid "         \"%s\": preference for digest algorithm %s\n"
 msgstr "         “%s”: preference for digest algorithm %s\n"
 
-#: g10/import.c:1333
+#: g10/import.c:1345
 #, c-format
 msgid "         \"%s\": preference for compression algorithm %s\n"
 msgstr "         “%s”: preference for compression algorithm %s\n"
 
-#: g10/import.c:1346
+#: g10/import.c:1358
 #, c-format
 msgid "it is strongly suggested that you update your preferences and\n"
 msgstr "it is strongly suggested that you update your preferences and\n"
 
-#: g10/import.c:1348
+#: g10/import.c:1360
 #, c-format
 msgid "re-distribute this key to avoid potential algorithm mismatch problems\n"
 msgstr ""
 "re-distribute this key to avoid potential algorithm mismatch problems\n"
 
-#: g10/import.c:1373
+#: g10/import.c:1385
 #, c-format
 msgid "you can update your preferences with: gpg --edit-key %s updpref save\n"
 msgstr "you can update your preferences with: gpg --edit-key %s updpref save\n"
 
-#: g10/import.c:1887 g10/import.c:3001
+#: g10/import.c:1899 g10/import.c:3013
 #, c-format
 msgid "key %s: no user ID\n"
 msgstr "key %s: no user ID\n"
 
-#: g10/import.c:1893
+#: g10/import.c:1905
 #, c-format
 msgid "key %s: %s\n"
 msgstr "key %s: %s\n"
 
-#: g10/import.c:1894 g10/import.c:2973
+#: g10/import.c:1906 g10/import.c:2985
 msgid "rejected by import screener"
 msgstr "rejected by import screener"
 
-#: g10/import.c:1938
+#: g10/import.c:1950
 #, c-format
 msgid "key %s: PKS subkey corruption repaired\n"
 msgstr "key %s: PKS subkey corruption repaired\n"
 
-#: g10/import.c:1959
+#: g10/import.c:1971
 #, c-format
 msgid "key %s: accepted non self-signed user ID \"%s\"\n"
 msgstr "key %s: accepted non self-signed user ID “%s”\n"
 
-#: g10/import.c:1969 g10/import.c:2000
+#: g10/import.c:1981 g10/import.c:2012
 #, c-format
 msgid "key %s: no valid user IDs\n"
 msgstr "key %s: no valid user IDs\n"
 
-#: g10/import.c:1971
+#: g10/import.c:1983
 #, c-format
 msgid "this may be caused by a missing self-signature\n"
 msgstr "this may be caused by a missing self-signature\n"
 
-#: g10/import.c:2050 g10/import.c:3387
+#: g10/import.c:2062 g10/import.c:3399
 #, c-format
 msgid "key %s: public key not found: %s\n"
 msgstr "key %s: public key not found: %s\n"
 
-#: g10/import.c:2056
+#: g10/import.c:2068
 #, c-format
 msgid "key %s: new key - skipped\n"
 msgstr "key %s: new key - skipped\n"
 
-#: g10/import.c:2068
+#: g10/import.c:2080
 #, c-format
 msgid "no writable keyring found: %s\n"
 msgstr "no writable keyring found: %s\n"
 
-#: g10/import.c:2100 g10/import.c:2202 g10/import.c:3464
+#: g10/import.c:2112 g10/import.c:2214 g10/import.c:3476
 #, c-format
 msgid "error writing keyring '%s': %s\n"
 msgstr "error writing keyring '%s': %s\n"
 
-#: g10/import.c:2123
+#: g10/import.c:2135
 #, c-format
 msgid "key %s: public key \"%s\" imported\n"
 msgstr "key %s: public key “%s” imported\n"
 
-#: g10/import.c:2150
+#: g10/import.c:2162
 #, c-format
 msgid "key %s: doesn't match our copy\n"
 msgstr "key %s: doesn't match our copy\n"
 
-#: g10/import.c:2218
+#: g10/import.c:2230
 #, c-format
 msgid "key %s: \"%s\" 1 new user ID\n"
 msgstr "key %s: “%s” 1 new user ID\n"
 
-#: g10/import.c:2221
+#: g10/import.c:2233
 #, c-format
 msgid "key %s: \"%s\" %d new user IDs\n"
 msgstr "key %s: “%s” %d new user IDs\n"
 
-#: g10/import.c:2224
+#: g10/import.c:2236
 #, c-format
 msgid "key %s: \"%s\" 1 new signature\n"
 msgstr "key %s: “%s” 1 new signature\n"
 
-#: g10/import.c:2227
+#: g10/import.c:2239
 #, c-format
 msgid "key %s: \"%s\" %d new signatures\n"
 msgstr "key %s: “%s” %d new signatures\n"
 
-#: g10/import.c:2230
+#: g10/import.c:2242
 #, c-format
 msgid "key %s: \"%s\" 1 new subkey\n"
 msgstr "key %s: “%s” 1 new subkey\n"
 
-#: g10/import.c:2233
+#: g10/import.c:2245
 #, c-format
 msgid "key %s: \"%s\" %d new subkeys\n"
 msgstr "key %s: “%s” %d new subkeys\n"
 
-#: g10/import.c:2236
+#: g10/import.c:2248
 #, c-format
 msgid "key %s: \"%s\" %d signature cleaned\n"
 msgstr "key %s: “%s” %d signature cleaned\n"
 
-#: g10/import.c:2239
+#: g10/import.c:2251
 #, c-format
 msgid "key %s: \"%s\" %d signatures cleaned\n"
 msgstr "key %s: “%s” %d signatures cleaned\n"
 
-#: g10/import.c:2242
+#: g10/import.c:2254
 #, c-format
 msgid "key %s: \"%s\" %d user ID cleaned\n"
 msgstr "key %s: “%s” %d user ID cleaned\n"
 
-#: g10/import.c:2245
+#: g10/import.c:2257
 #, c-format
 msgid "key %s: \"%s\" %d user IDs cleaned\n"
 msgstr "key %s: “%s” %d user IDs cleaned\n"
 
-#: g10/import.c:2281
+#: g10/import.c:2293
 #, c-format
 msgid "key %s: \"%s\" not changed\n"
 msgstr "key %s: “%s” not changed\n"
 
-#: g10/import.c:2640 g10/import.c:2835
+#: g10/import.c:2652 g10/import.c:2847
 #, c-format
 msgid "key %s: secret key imported\n"
 msgstr "key %s: secret key imported\n"
 
-#: g10/import.c:2648
+#: g10/import.c:2660
 #, c-format
 msgid "key %s: secret key already exists\n"
 msgstr "key %s: secret key already exists\n"
 
-#: g10/import.c:2656
+#: g10/import.c:2668
 #, c-format
 msgid "key %s: error sending to agent: %s\n"
 msgstr "key %s: error sending to agent: %s\n"
@@ -3604,192 +3622,192 @@ msgstr "key %s: error sending to agent: %s\n"
 #. * Instead, user should be suggested to run 'gpg --card-status',
 #. * then, references to a card will be automatically created
 #. * again.
-#: g10/import.c:2825
+#: g10/import.c:2837
 #, c-format
 msgid "To migrate '%s', with each smartcard, run: %s\n"
 msgstr "To migrate '%s', with each smartcard, run: %s\n"
 
-#: g10/import.c:2972
+#: g10/import.c:2984
 #, c-format
 msgid "secret key %s: %s\n"
 msgstr "secret key %s: %s\n"
 
-#: g10/import.c:2993 g10/import.c:3032
+#: g10/import.c:3005 g10/import.c:3044
 #, c-format
 msgid "importing secret keys not allowed\n"
 msgstr "importing secret keys not allowed\n"
 
-#: g10/import.c:3020
+#: g10/import.c:3032
 #, c-format
 msgid "key %s: secret key with invalid cipher %d - skipped\n"
 msgstr "key %s: secret key with invalid cipher %d - skipped\n"
 
-#: g10/import.c:3182 g10/pkclist.c:72 g10/revoke.c:776
+#: g10/import.c:3194 g10/pkclist.c:72 g10/revoke.c:776
 msgid "No reason specified"
 msgstr "No reason specified"
 
-#: g10/import.c:3183 g10/pkclist.c:74 g10/revoke.c:778
+#: g10/import.c:3195 g10/pkclist.c:74 g10/revoke.c:778
 msgid "Key is superseded"
 msgstr "Key is superseded"
 
-#: g10/import.c:3184 g10/pkclist.c:76 g10/revoke.c:777
+#: g10/import.c:3196 g10/pkclist.c:76 g10/revoke.c:777
 msgid "Key has been compromised"
 msgstr "Key has been compromised"
 
-#: g10/import.c:3185 g10/pkclist.c:78 g10/revoke.c:779
+#: g10/import.c:3197 g10/pkclist.c:78 g10/revoke.c:779
 msgid "Key is no longer used"
 msgstr "Key is no longer used"
 
-#: g10/import.c:3186 g10/pkclist.c:80 g10/revoke.c:780
+#: g10/import.c:3198 g10/pkclist.c:80 g10/revoke.c:780
 msgid "User ID is no longer valid"
 msgstr "User ID is no longer valid"
 
-#: g10/import.c:3311 g10/keylist.c:1254 g10/pkclist.c:84
+#: g10/import.c:3323 g10/keylist.c:1254 g10/pkclist.c:84
 #, c-format
 msgid "reason for revocation: "
 msgstr "reason for revocation: "
 
-#: g10/import.c:3330 g10/keylist.c:1273 g10/pkclist.c:100
+#: g10/import.c:3342 g10/keylist.c:1273 g10/pkclist.c:100
 #, c-format
 msgid "revocation comment: "
 msgstr "revocation comment: "
 
-#: g10/import.c:3380
+#: g10/import.c:3392
 #, c-format
 msgid "key %s: no public key - can't apply revocation certificate\n"
 msgstr "key %s: no public key - can't apply revocation certificate\n"
 
-#: g10/import.c:3411
+#: g10/import.c:3423
 #, c-format
 msgid "key %s: can't locate original keyblock: %s\n"
 msgstr "key %s: can't locate original keyblock: %s\n"
 
-#: g10/import.c:3418
+#: g10/import.c:3430
 #, c-format
 msgid "key %s: can't read original keyblock: %s\n"
 msgstr "key %s: can't read original keyblock: %s\n"
 
-#: g10/import.c:3438
+#: g10/import.c:3450
 #, c-format
 msgid "key %s: invalid revocation certificate: %s - rejected\n"
 msgstr "key %s: invalid revocation certificate: %s - rejected\n"
 
-#: g10/import.c:3473
+#: g10/import.c:3485
 #, c-format
 msgid "key %s: \"%s\" revocation certificate imported\n"
 msgstr "key %s: “%s” revocation certificate imported\n"
 
-#: g10/import.c:3559
+#: g10/import.c:3571
 #, c-format
 msgid "key %s: no user ID for signature\n"
 msgstr "key %s: no user ID for signature\n"
 
-#: g10/import.c:3576
+#: g10/import.c:3588
 #, c-format
 msgid "key %s: unsupported public key algorithm on user ID \"%s\"\n"
 msgstr "key %s: unsupported public key algorithm on user ID “%s”\n"
 
-#: g10/import.c:3578
+#: g10/import.c:3590
 #, c-format
 msgid "key %s: invalid self-signature on user ID \"%s\"\n"
 msgstr "key %s: invalid self-signature on user ID “%s”\n"
 
-#: g10/import.c:3595 g10/import.c:3623 g10/import.c:3679
+#: g10/import.c:3607 g10/import.c:3635 g10/import.c:3691
 #, c-format
 msgid "key %s: unsupported public key algorithm\n"
 msgstr "key %s: unsupported public key algorithm\n"
 
-#: g10/import.c:3596
+#: g10/import.c:3608
 #, c-format
 msgid "key %s: invalid direct key signature\n"
 msgstr "key %s: invalid direct key signature\n"
 
-#: g10/import.c:3610
+#: g10/import.c:3622
 #, c-format
 msgid "key %s: no subkey for key binding\n"
 msgstr "key %s: no subkey for key binding\n"
 
-#: g10/import.c:3625
+#: g10/import.c:3637
 #, c-format
 msgid "key %s: invalid subkey binding\n"
 msgstr "key %s: invalid subkey binding\n"
 
-#: g10/import.c:3644
+#: g10/import.c:3656
 #, c-format
 msgid "key %s: removed multiple subkey binding\n"
 msgstr "key %s: removed multiple subkey binding\n"
 
-#: g10/import.c:3668
+#: g10/import.c:3680
 #, c-format
 msgid "key %s: no subkey for key revocation\n"
 msgstr "key %s: no subkey for key revocation\n"
 
-#: g10/import.c:3681
+#: g10/import.c:3693
 #, c-format
 msgid "key %s: invalid subkey revocation\n"
 msgstr "key %s: invalid subkey revocation\n"
 
-#: g10/import.c:3696
+#: g10/import.c:3708
 #, c-format
 msgid "key %s: removed multiple subkey revocation\n"
 msgstr "key %s: removed multiple subkey revocation\n"
 
-#: g10/import.c:3740
+#: g10/import.c:3752
 #, c-format
 msgid "key %s: skipped user ID \"%s\"\n"
 msgstr "key %s: skipped user ID “%s”\n"
 
-#: g10/import.c:3767
+#: g10/import.c:3779
 #, c-format
 msgid "key %s: skipped subkey\n"
 msgstr "key %s: skipped subkey\n"
 
-#: g10/import.c:3798
+#: g10/import.c:3810
 #, c-format
 msgid "key %s: non exportable signature (class 0x%02X) - skipped\n"
 msgstr "key %s: non exportable signature (class 0x%02X) - skipped\n"
 
-#: g10/import.c:3809
+#: g10/import.c:3821
 #, c-format
 msgid "key %s: revocation certificate at wrong place - skipped\n"
 msgstr "key %s: revocation certificate at wrong place - skipped\n"
 
-#: g10/import.c:3827
+#: g10/import.c:3839
 #, c-format
 msgid "key %s: invalid revocation certificate: %s - skipped\n"
 msgstr "key %s: invalid revocation certificate: %s - skipped\n"
 
-#: g10/import.c:3841
+#: g10/import.c:3853
 #, c-format
 msgid "key %s: subkey signature in wrong place - skipped\n"
 msgstr "key %s: subkey signature in wrong place - skipped\n"
 
-#: g10/import.c:3849
+#: g10/import.c:3861
 #, c-format
 msgid "key %s: unexpected signature class (0x%02X) - skipped\n"
 msgstr "key %s: unexpected signature class (0x%02X) - skipped\n"
 
-#: g10/import.c:4022
+#: g10/import.c:4034
 #, c-format
 msgid "key %s: duplicated user ID detected - merged\n"
 msgstr "key %s: duplicated user ID detected - merged\n"
 
-#: g10/import.c:4087
+#: g10/import.c:4099
 #, c-format
 msgid "WARNING: key %s may be revoked: fetching revocation key %s\n"
 msgstr "WARNING: key %s may be revoked: fetching revocation key %s\n"
 
-#: g10/import.c:4103
+#: g10/import.c:4115
 #, c-format
 msgid "WARNING: key %s may be revoked: revocation key %s not present.\n"
 msgstr "WARNING: key %s may be revoked: revocation key %s not present.\n"
 
-#: g10/import.c:4169
+#: g10/import.c:4181
 #, c-format
 msgid "key %s: \"%s\" revocation certificate added\n"
 msgstr "key %s: “%s” revocation certificate added\n"
 
-#: g10/import.c:4207
+#: g10/import.c:4219
 #, c-format
 msgid "key %s: direct key signature added\n"
 msgstr "key %s: direct key signature added\n"
@@ -3859,7 +3877,7 @@ msgstr ""
 "Warning: errors found and only checked self-signatures, run ‘%s’ to check "
 "all signatures.\n"
 
-#: g10/keydb.c:431 g10/keydb.c:458 sm/keydb.c:191 sm/keydb.c:204
+#: g10/keydb.c:431 g10/keydb.c:458 sm/keydb.c:190 sm/keydb.c:203
 #, c-format
 msgid "error creating keybox '%s': %s\n"
 msgstr "error creating keybox '%s': %s\n"
@@ -3869,7 +3887,7 @@ msgstr "error creating keybox '%s': %s\n"
 msgid "error creating keyring '%s': %s\n"
 msgstr "error creating keyring '%s': %s\n"
 
-#: g10/keydb.c:470 sm/keydb.c:210
+#: g10/keydb.c:470 sm/keydb.c:209
 #, c-format
 msgid "keybox '%s' created\n"
 msgstr "keybox ‘%s’ created\n"
@@ -3948,13 +3966,13 @@ msgstr "Skipping user ID “%s”, which is not a text ID.\n"
 msgid "User ID \"%s\" is revoked."
 msgstr "User ID “%s” is revoked."
 
-#: g10/keyedit.c:569 g10/keyedit.c:597 g10/keyedit.c:624 g10/keyedit.c:808
-#: g10/keyedit.c:1655
+#: g10/keyedit.c:569 g10/keyedit.c:597 g10/keyedit.c:624 g10/keyedit.c:809
+#: g10/keyedit.c:1656
 msgid "Are you sure you still want to sign it? (y/N) "
 msgstr "Are you sure you still want to sign it? (y/N) "
 
-#: g10/keyedit.c:583 g10/keyedit.c:611 g10/keyedit.c:638 g10/keyedit.c:814
-#: g10/keyedit.c:1660 g10/keyedit.c:2667
+#: g10/keyedit.c:583 g10/keyedit.c:611 g10/keyedit.c:638 g10/keyedit.c:815
+#: g10/keyedit.c:1661 g10/keyedit.c:2668
 msgid "  Unable to sign.\n"
 msgstr "  Unable to sign.\n"
 
@@ -4027,29 +4045,29 @@ msgstr "“%s” was already locally signed by key %s\n"
 msgid "\"%s\" was already signed by key %s\n"
 msgstr "“%s” was already signed by key %s\n"
 
-#: g10/keyedit.c:756
+#: g10/keyedit.c:757
 msgid "Do you want to sign it again anyway? (y/N) "
 msgstr "Do you want to sign it again anyway? (y/N) "
 
-#: g10/keyedit.c:778
+#: g10/keyedit.c:779
 #, c-format
 msgid "Nothing to sign with key %s\n"
 msgstr "Nothing to sign with key %s\n"
 
-#: g10/keyedit.c:802
+#: g10/keyedit.c:803
 msgid "This key has expired!"
 msgstr "This key has expired!"
 
-#: g10/keyedit.c:820
+#: g10/keyedit.c:821
 #, c-format
 msgid "This key is due to expire on %s.\n"
 msgstr "This key is due to expire on %s.\n"
 
-#: g10/keyedit.c:826
+#: g10/keyedit.c:827
 msgid "Do you want your signature to expire at the same time? (Y/n) "
 msgstr "Do you want your signature to expire at the same time? (Y/n) "
 
-#: g10/keyedit.c:867
+#: g10/keyedit.c:868
 msgid ""
 "How carefully have you verified the key you are about to sign actually "
 "belongs\n"
@@ -4059,31 +4077,31 @@ msgstr ""
 "belongs\n"
 "to the person named above?  If you don't know what to answer, enter “0”.\n"
 
-#: g10/keyedit.c:872
+#: g10/keyedit.c:873
 #, c-format
 msgid "   (0) I will not answer.%s\n"
 msgstr "   (0) I will not answer.%s\n"
 
-#: g10/keyedit.c:874
+#: g10/keyedit.c:875
 #, c-format
 msgid "   (1) I have not checked at all.%s\n"
 msgstr "   (1) I have not checked at all.%s\n"
 
-#: g10/keyedit.c:876
+#: g10/keyedit.c:877
 #, c-format
 msgid "   (2) I have done casual checking.%s\n"
 msgstr "   (2) I have done casual checking.%s\n"
 
-#: g10/keyedit.c:879
+#: g10/keyedit.c:880
 #, c-format
 msgid "   (3) I have done very careful checking.%s\n"
 msgstr "   (3) I have done very careful checking.%s\n"
 
-#: g10/keyedit.c:886
+#: g10/keyedit.c:887
 msgid "Your selection? (enter '?' for more information): "
 msgstr "Your selection? (enter ‘?’ for more information): "
 
-#: g10/keyedit.c:913
+#: g10/keyedit.c:914
 #, c-format
 msgid ""
 "Are you sure that you want to sign this key with your\n"
@@ -4092,222 +4110,222 @@ msgstr ""
 "Are you sure that you want to sign this key with your\n"
 "key “%s” (%s)\n"
 
-#: g10/keyedit.c:921
+#: g10/keyedit.c:922
 msgid "This will be a self-signature.\n"
 msgstr "This will be a self-signature.\n"
 
-#: g10/keyedit.c:926
+#: g10/keyedit.c:927
 msgid "WARNING: the signature will not be marked as non-exportable.\n"
 msgstr "WARNING: the signature will not be marked as non-exportable.\n"
 
-#: g10/keyedit.c:933
+#: g10/keyedit.c:934
 msgid "WARNING: the signature will not be marked as non-revocable.\n"
 msgstr "WARNING: the signature will not be marked as non-revocable.\n"
 
-#: g10/keyedit.c:943
+#: g10/keyedit.c:944
 msgid "The signature will be marked as non-exportable.\n"
 msgstr "The signature will be marked as non-exportable.\n"
 
-#: g10/keyedit.c:950
+#: g10/keyedit.c:951
 msgid "The signature will be marked as non-revocable.\n"
 msgstr "The signature will be marked as non-revocable.\n"
 
-#: g10/keyedit.c:957
+#: g10/keyedit.c:958
 msgid "I have not checked this key at all.\n"
 msgstr "I have not checked this key at all.\n"
 
-#: g10/keyedit.c:962
+#: g10/keyedit.c:963
 msgid "I have checked this key casually.\n"
 msgstr "I have checked this key casually.\n"
 
-#: g10/keyedit.c:967
+#: g10/keyedit.c:968
 msgid "I have checked this key very carefully.\n"
 msgstr "I have checked this key very carefully.\n"
 
-#: g10/keyedit.c:979
+#: g10/keyedit.c:980
 msgid "Really sign? (y/N) "
 msgstr "Really sign? (y/N) "
 
-#: g10/keyedit.c:1030 g10/keyedit.c:6154 g10/keyedit.c:6237 g10/keyedit.c:6366
-#: g10/keyedit.c:6428 g10/sign.c:466
+#: g10/keyedit.c:1031 g10/keyedit.c:6155 g10/keyedit.c:6238 g10/keyedit.c:6367
+#: g10/keyedit.c:6429 g10/sign.c:466
 #, c-format
 msgid "signing failed: %s\n"
 msgstr "signing failed: %s\n"
 
-#: g10/keyedit.c:1117
+#: g10/keyedit.c:1118
 msgid "Key has only stub or on-card key items - no passphrase to change.\n"
 msgstr "Key has only stub or on-card key items - no passphrase to change.\n"
 
-#: g10/keyedit.c:1149
+#: g10/keyedit.c:1150
 #, c-format
 msgid "key %s: error changing passphrase: %s\n"
 msgstr "key %s: error changing passphrase: %s\n"
 
-#: g10/keyedit.c:1261
+#: g10/keyedit.c:1262
 msgid "save and quit"
 msgstr "save and quit"
 
-#: g10/keyedit.c:1264
+#: g10/keyedit.c:1265
 msgid "show key fingerprint"
 msgstr "show key fingerprint"
 
-#: g10/keyedit.c:1265
+#: g10/keyedit.c:1266
 msgid "show the keygrip"
 msgstr "show the keygrip"
 
-#: g10/keyedit.c:1266
+#: g10/keyedit.c:1267
 msgid "list key and user IDs"
 msgstr "list key and user IDs"
 
-#: g10/keyedit.c:1268
+#: g10/keyedit.c:1269
 msgid "select user ID N"
 msgstr "select user ID N"
 
-#: g10/keyedit.c:1269
+#: g10/keyedit.c:1270
 msgid "select subkey N"
 msgstr "select subkey N"
 
-#: g10/keyedit.c:1270
+#: g10/keyedit.c:1271
 msgid "check signatures"
 msgstr "check signatures"
 
-#: g10/keyedit.c:1276
+#: g10/keyedit.c:1277
 msgid "sign selected user IDs [* see below for related commands]"
 msgstr "sign selected user IDs [* see below for related commands]"
 
-#: g10/keyedit.c:1281
+#: g10/keyedit.c:1282
 msgid "sign selected user IDs locally"
 msgstr "sign selected user IDs locally"
 
-#: g10/keyedit.c:1282
+#: g10/keyedit.c:1283
 msgid "sign selected user IDs with a trust signature"
 msgstr "sign selected user IDs with a trust signature"
 
-#: g10/keyedit.c:1284
+#: g10/keyedit.c:1285
 msgid "sign selected user IDs with a non-revocable signature"
 msgstr "sign selected user IDs with a non-revocable signature"
 
-#: g10/keyedit.c:1286
+#: g10/keyedit.c:1287
 msgid "add a user ID"
 msgstr "add a user ID"
 
-#: g10/keyedit.c:1288
+#: g10/keyedit.c:1289
 msgid "add a photo ID"
 msgstr "add a photo ID"
 
-#: g10/keyedit.c:1289
+#: g10/keyedit.c:1290
 msgid "delete selected user IDs"
 msgstr "delete selected user IDs"
 
-#: g10/keyedit.c:1292
+#: g10/keyedit.c:1293
 msgid "add a subkey"
 msgstr "add a subkey"
 
-#: g10/keyedit.c:1295
+#: g10/keyedit.c:1296
 msgid "add a key to a smartcard"
 msgstr "add a key to a smartcard"
 
-#: g10/keyedit.c:1297
+#: g10/keyedit.c:1298
 msgid "move a key to a smartcard"
 msgstr "move a key to a smartcard"
 
-#: g10/keyedit.c:1299
+#: g10/keyedit.c:1300
 msgid "move a backup key to a smartcard"
 msgstr "move a backup key to a smartcard"
 
-#: g10/keyedit.c:1301
+#: g10/keyedit.c:1302
 msgid "delete selected subkeys"
 msgstr "delete selected subkeys"
 
-#: g10/keyedit.c:1303
+#: g10/keyedit.c:1304
 msgid "add a revocation key"
 msgstr "add a revocation key"
 
-#: g10/keyedit.c:1305
+#: g10/keyedit.c:1306
 msgid "delete signatures from the selected user IDs"
 msgstr "delete signatures from the selected user IDs"
 
-#: g10/keyedit.c:1307
+#: g10/keyedit.c:1308
 msgid "change the expiration date for the key or selected subkeys"
 msgstr "change the expiration date for the key or selected subkeys"
 
-#: g10/keyedit.c:1309
+#: g10/keyedit.c:1310
 msgid "flag the selected user ID as primary"
 msgstr "flag the selected user ID as primary"
 
-#: g10/keyedit.c:1312
+#: g10/keyedit.c:1313
 msgid "list preferences (expert)"
 msgstr "list preferences (expert)"
 
-#: g10/keyedit.c:1313
+#: g10/keyedit.c:1314
 msgid "list preferences (verbose)"
 msgstr "list preferences (verbose)"
 
-#: g10/keyedit.c:1315
+#: g10/keyedit.c:1316
 msgid "set preference list for the selected user IDs"
 msgstr "set preference list for the selected user IDs"
 
-#: g10/keyedit.c:1318
+#: g10/keyedit.c:1319
 msgid "set the preferred keyserver URL for the selected user IDs"
 msgstr "set the preferred keyserver URL for the selected user IDs"
 
-#: g10/keyedit.c:1320
+#: g10/keyedit.c:1321
 msgid "set a notation for the selected user IDs"
 msgstr "set a notation for the selected user IDs"
 
-#: g10/keyedit.c:1322
+#: g10/keyedit.c:1323
 msgid "change the passphrase"
 msgstr "change the passphrase"
 
-#: g10/keyedit.c:1325
+#: g10/keyedit.c:1326
 msgid "change the ownertrust"
 msgstr "change the ownertrust"
 
-#: g10/keyedit.c:1328
+#: g10/keyedit.c:1329
 msgid "revoke signatures on the selected user IDs"
 msgstr "revoke signatures on the selected user IDs"
 
-#: g10/keyedit.c:1330
+#: g10/keyedit.c:1331
 msgid "revoke selected user IDs"
 msgstr "revoke selected user IDs"
 
-#: g10/keyedit.c:1333
+#: g10/keyedit.c:1334
 msgid "revoke key or selected subkeys"
 msgstr "revoke key or selected subkeys"
 
-#: g10/keyedit.c:1335
+#: g10/keyedit.c:1336
 msgid "enable key"
 msgstr "enable key"
 
-#: g10/keyedit.c:1336
+#: g10/keyedit.c:1337
 msgid "disable key"
 msgstr "disable key"
 
-#: g10/keyedit.c:1338
+#: g10/keyedit.c:1339
 msgid "show selected photo IDs"
 msgstr "show selected photo IDs"
 
-#: g10/keyedit.c:1340
+#: g10/keyedit.c:1341
 msgid "compact unusable user IDs and remove unusable signatures from key"
 msgstr "compact unusable user IDs and remove unusable signatures from key"
 
-#: g10/keyedit.c:1342
+#: g10/keyedit.c:1343
 msgid "compact unusable user IDs and remove all signatures from key"
 msgstr "compact unusable user IDs and remove all signatures from key"
 
-#: g10/keyedit.c:1463
+#: g10/keyedit.c:1464
 msgid "Secret key is available.\n"
 msgstr "Secret key is available.\n"
 
-#: g10/keyedit.c:1465
+#: g10/keyedit.c:1466
 msgid "Secret subkeys are available.\n"
 msgstr "Secret subkeys are available.\n"
 
-#: g10/keyedit.c:1567
+#: g10/keyedit.c:1568
 msgid "Need the secret key to do this.\n"
 msgstr "Need the secret key to do this.\n"
 
-#: g10/keyedit.c:1590
+#: g10/keyedit.c:1591
 msgid ""
 "* The 'sign' command may be prefixed with an 'l' for local signatures "
 "(lsign),\n"
@@ -4319,289 +4337,289 @@ msgstr ""
 "  a ‘t’ for trust signatures (tsign), an ‘nr’ for non-revocable signatures\n"
 "  (nrsign), or any combination thereof (ltsign, tnrsign, etc.).\n"
 
-#: g10/keyedit.c:1648 g10/keyedit.c:2667 g10/keyedit.c:3040 g10/keyedit.c:3108
+#: g10/keyedit.c:1649 g10/keyedit.c:2668 g10/keyedit.c:3041 g10/keyedit.c:3109
 msgid "Key is revoked."
 msgstr "Key is revoked."
 
-#: g10/keyedit.c:1671
+#: g10/keyedit.c:1672
 msgid "Really sign all text user IDs? (y/N) "
 msgstr "Really sign all text user IDs? (y/N) "
 
-#: g10/keyedit.c:1675
+#: g10/keyedit.c:1676
 msgid "Really sign all user IDs? (y/N) "
 msgstr "Really sign all user IDs? (y/N) "
 
-#: g10/keyedit.c:1683
+#: g10/keyedit.c:1684
 msgid "Hint: Select the user IDs to sign\n"
 msgstr "Hint: Select the user IDs to sign\n"
 
-#: g10/keyedit.c:1694
+#: g10/keyedit.c:1695
 #, c-format
 msgid "Unknown signature type '%s'\n"
 msgstr "Unknown signature type ‘%s’\n"
 
-#: g10/keyedit.c:1718
+#: g10/keyedit.c:1719
 #, c-format
 msgid "This command is not allowed while in %s mode.\n"
 msgstr "This command is not allowed while in %s mode.\n"
 
-#: g10/keyedit.c:1740 g10/keyedit.c:1764 g10/keyedit.c:1961
+#: g10/keyedit.c:1741 g10/keyedit.c:1765 g10/keyedit.c:1962
 msgid "You must select at least one user ID.\n"
 msgstr "You must select at least one user ID.\n"
 
-#: g10/keyedit.c:1742 g10/keyedit.c:1766 g10/keyedit.c:1923 g10/keyedit.c:1963
+#: g10/keyedit.c:1743 g10/keyedit.c:1767 g10/keyedit.c:1924 g10/keyedit.c:1964
 #, c-format
 msgid "(Use the '%s' command.)\n"
 msgstr "(Use the ‘%s’ command.)\n"
 
-#: g10/keyedit.c:1745
+#: g10/keyedit.c:1746
 msgid "You can't delete the last user ID!\n"
 msgstr "You can't delete the last user ID!\n"
 
-#: g10/keyedit.c:1748
+#: g10/keyedit.c:1749
 msgid "Really remove all selected user IDs? (y/N) "
 msgstr "Really remove all selected user IDs? (y/N) "
 
-#: g10/keyedit.c:1749
+#: g10/keyedit.c:1750
 msgid "Really remove this user ID? (y/N) "
 msgstr "Really remove this user ID? (y/N) "
 
 #. TRANSLATORS: Please take care: This is about
 #. moving the key and not about removing it.
-#: g10/keyedit.c:1806
+#: g10/keyedit.c:1807
 msgid "Really move the primary key? (y/N) "
 msgstr "Really move the primary key? (y/N) "
 
-#: g10/keyedit.c:1818 g10/keyedit.c:4803
+#: g10/keyedit.c:1819 g10/keyedit.c:4804
 msgid "You must select exactly one key.\n"
 msgstr "You must select exactly one key.\n"
 
-#: g10/keyedit.c:1846
+#: g10/keyedit.c:1847
 msgid "Command expects a filename argument\n"
 msgstr "Command expects a filename argument\n"
 
-#: g10/keyedit.c:1867
+#: g10/keyedit.c:1868
 #, c-format
 msgid "Can't open '%s': %s\n"
 msgstr "Can't open '%s': %s\n"
 
-#: g10/keyedit.c:1886
+#: g10/keyedit.c:1887
 #, c-format
 msgid "Error reading backup key from '%s': %s\n"
 msgstr "Error reading backup key from '%s': %s\n"
 
-#: g10/keyedit.c:1921
+#: g10/keyedit.c:1922
 msgid "You must select at least one key.\n"
 msgstr "You must select at least one key.\n"
 
-#: g10/keyedit.c:1927
+#: g10/keyedit.c:1928
 msgid "Do you really want to delete the selected keys? (y/N) "
 msgstr "Do you really want to delete the selected keys? (y/N) "
 
-#: g10/keyedit.c:1929
+#: g10/keyedit.c:1930
 msgid "Do you really want to delete this key? (y/N) "
 msgstr "Do you really want to delete this key? (y/N) "
 
-#: g10/keyedit.c:1967
+#: g10/keyedit.c:1968
 msgid "Really revoke all selected user IDs? (y/N) "
 msgstr "Really revoke all selected user IDs? (y/N) "
 
-#: g10/keyedit.c:1968
+#: g10/keyedit.c:1969
 msgid "Really revoke this user ID? (y/N) "
 msgstr "Really revoke this user ID? (y/N) "
 
-#: g10/keyedit.c:1986
+#: g10/keyedit.c:1987
 msgid "Do you really want to revoke the entire key? (y/N) "
 msgstr "Do you really want to revoke the entire key? (y/N) "
 
-#: g10/keyedit.c:1997
+#: g10/keyedit.c:1998
 msgid "Do you really want to revoke the selected subkeys? (y/N) "
 msgstr "Do you really want to revoke the selected subkeys? (y/N) "
 
-#: g10/keyedit.c:1999
+#: g10/keyedit.c:2000
 msgid "Do you really want to revoke this subkey? (y/N) "
 msgstr "Do you really want to revoke this subkey? (y/N) "
 
-#: g10/keyedit.c:2057
+#: g10/keyedit.c:2058
 msgid "Owner trust may not be set while using a user provided trust database\n"
 msgstr ""
 "Owner trust may not be set while using a user provided trust database\n"
 
-#: g10/keyedit.c:2102
+#: g10/keyedit.c:2103
 msgid "Set preference list to:\n"
 msgstr "Set preference list to:\n"
 
-#: g10/keyedit.c:2109
+#: g10/keyedit.c:2110
 msgid "Really update the preferences for the selected user IDs? (y/N) "
 msgstr "Really update the preferences for the selected user IDs? (y/N) "
 
-#: g10/keyedit.c:2111
+#: g10/keyedit.c:2112
 msgid "Really update the preferences? (y/N) "
 msgstr "Really update the preferences? (y/N) "
 
-#: g10/keyedit.c:2185
+#: g10/keyedit.c:2186
 msgid "Save changes? (y/N) "
 msgstr "Save changes? (y/N) "
 
-#: g10/keyedit.c:2189
+#: g10/keyedit.c:2190
 msgid "Quit without saving? (y/N) "
 msgstr "Quit without saving? (y/N) "
 
-#: g10/keyedit.c:2216 g10/keyedit.c:2762 g10/keyedit.c:3061 g10/keyedit.c:3214
+#: g10/keyedit.c:2217 g10/keyedit.c:2763 g10/keyedit.c:3062 g10/keyedit.c:3215
 #, c-format
 msgid "Key not changed so no update needed.\n"
 msgstr "Key not changed so no update needed.\n"
 
-#: g10/keyedit.c:2448
+#: g10/keyedit.c:2449
 #, c-format
 msgid "cannot revoke the last valid user ID.\n"
 msgstr "cannot revoke the last valid user ID.\n"
 
-#: g10/keyedit.c:2475
+#: g10/keyedit.c:2476
 #, c-format
 msgid "revoking the user ID failed: %s\n"
 msgstr "revoking the user ID failed: %s\n"
 
-#: g10/keyedit.c:2541
+#: g10/keyedit.c:2542
 #, c-format
 msgid "setting the primary user ID failed: %s\n"
 msgstr "setting the primary user ID failed: %s\n"
 
-#: g10/keyedit.c:2572
+#: g10/keyedit.c:2573
 #, c-format
 msgid "\"%s\" is not a fingerprint\n"
 msgstr "“%s” is not a fingerprint\n"
 
-#: g10/keyedit.c:2602
+#: g10/keyedit.c:2603
 #, c-format
 msgid "\"%s\" is not the primary fingerprint\n"
 msgstr "“%s” is not the primary fingerprint\n"
 
-#: g10/keyedit.c:2738 g10/keyedit.c:2741
+#: g10/keyedit.c:2739 g10/keyedit.c:2742
 #, c-format
 msgid "Invalid user ID '%s': %s\n"
 msgstr "Invalid user ID '%s': %s\n"
 
-#: g10/keyedit.c:2744
+#: g10/keyedit.c:2745
 msgid "No matching user IDs."
 msgstr "No matching user IDs."
 
-#: g10/keyedit.c:2744
+#: g10/keyedit.c:2745
 msgid "Nothing to sign.\n"
 msgstr "Nothing to sign.\n"
 
-#: g10/keyedit.c:2937 g10/keyedit.c:6019
+#: g10/keyedit.c:2938 g10/keyedit.c:6020
 #, c-format
 msgid "Not signed by you.\n"
 msgstr "Not signed by you.\n"
 
-#: g10/keyedit.c:2995
+#: g10/keyedit.c:2996
 #, c-format
 msgid "revoking the key signature failed: %s\n"
 msgstr "revoking the key signature failed: %s\n"
 
-#: g10/keyedit.c:3116
+#: g10/keyedit.c:3117
 #, c-format
 msgid "'%s' is not a valid expiration time\n"
 msgstr "‘%s’ is not a valid expiration time\n"
 
-#: g10/keyedit.c:3159
+#: g10/keyedit.c:3160
 #, c-format
 msgid "\"%s\" is not a proper fingerprint\n"
 msgstr "“%s” is not a proper fingerprint\n"
 
-#: g10/keyedit.c:3183
+#: g10/keyedit.c:3184
 #, c-format
 msgid "subkey \"%s\" not found\n"
 msgstr "subkey “%s” not found\n"
 
-#: g10/keyedit.c:3306
+#: g10/keyedit.c:3307
 msgid "AEAD: "
 msgstr "AEAD: "
 
-#: g10/keyedit.c:3323
+#: g10/keyedit.c:3324
 msgid "Digest: "
 msgstr "Digest: "
 
-#: g10/keyedit.c:3380
+#: g10/keyedit.c:3381
 msgid "Features: "
 msgstr "Features: "
 
-#: g10/keyedit.c:3397
+#: g10/keyedit.c:3398
 msgid "Keyserver no-modify"
 msgstr "Keyserver no-modify"
 
-#: g10/keyedit.c:3412 g10/keylist.c:376
+#: g10/keyedit.c:3413 g10/keylist.c:376
 msgid "Preferred keyserver: "
 msgstr "Preferred keyserver: "
 
-#: g10/keyedit.c:3420 g10/keyedit.c:3421
+#: g10/keyedit.c:3421 g10/keyedit.c:3422
 msgid "Notations: "
 msgstr "Notations: "
 
-#: g10/keyedit.c:3669
+#: g10/keyedit.c:3670
 msgid "There are no preferences on a PGP 2.x-style user ID.\n"
 msgstr "There are no preferences on a PGP 2.x-style user ID.\n"
 
-#: g10/keyedit.c:3741
+#: g10/keyedit.c:3742
 #, c-format
 msgid "The following key was revoked on %s by %s key %s\n"
 msgstr "The following key was revoked on %s by %s key %s\n"
 
-#: g10/keyedit.c:3765
+#: g10/keyedit.c:3766
 #, c-format
 msgid "This key may be revoked by %s key %s"
 msgstr "This key may be revoked by %s key %s"
 
-#: g10/keyedit.c:3771
+#: g10/keyedit.c:3772
 msgid "(sensitive)"
 msgstr "(sensitive)"
 
-#: g10/keyedit.c:3813 g10/keyedit.c:3960 g10/keylist.c:264 g10/keyserver.c:538
+#: g10/keyedit.c:3814 g10/keyedit.c:3961 g10/keylist.c:264 g10/keyserver.c:361
 #, c-format
 msgid "created: %s"
 msgstr "created: %s"
 
-#: g10/keyedit.c:3816 g10/keylist.c:2149
+#: g10/keyedit.c:3817 g10/keylist.c:2149
 #, c-format
 msgid "revoked: %s"
 msgstr "revoked: %s"
 
-#: g10/keyedit.c:3818 g10/keylist.c:2155
+#: g10/keyedit.c:3819 g10/keylist.c:2155
 #, c-format
 msgid "expired: %s"
 msgstr "expired: %s"
 
-#: g10/keyedit.c:3820 g10/keyedit.c:3962 g10/keylist.c:266 g10/keylist.c:2161
-#: g10/keyserver.c:544
+#: g10/keyedit.c:3821 g10/keyedit.c:3963 g10/keylist.c:266 g10/keylist.c:2161
+#: g10/keyserver.c:367
 #, c-format
 msgid "expires: %s"
 msgstr "expires: %s"
 
-#: g10/keyedit.c:3822
+#: g10/keyedit.c:3823
 #, c-format
 msgid "usage: %s"
 msgstr "usage: %s"
 
-#: g10/keyedit.c:3830 g10/keyedit.c:3850 g10/keylist.c:269
+#: g10/keyedit.c:3831 g10/keyedit.c:3851 g10/keylist.c:269
 msgid "card-no: "
 msgstr "card-no: "
 
-#: g10/keyedit.c:3889
+#: g10/keyedit.c:3890
 #, c-format
 msgid "trust: %s"
 msgstr "trust: %s"
 
-#: g10/keyedit.c:3893
+#: g10/keyedit.c:3894
 #, c-format
 msgid "validity: %s"
 msgstr "validity: %s"
 
-#: g10/keyedit.c:3900
+#: g10/keyedit.c:3901
 msgid "This key has been disabled"
 msgstr "This key has been disabled"
 
-#: g10/keyedit.c:3918
+#: g10/keyedit.c:3919
 msgid ""
 "Please note that the shown key validity is not necessarily correct\n"
 "unless you restart the program.\n"
@@ -4609,17 +4627,17 @@ msgstr ""
 "Please note that the shown key validity is not necessarily correct\n"
 "unless you restart the program.\n"
 
-#: g10/keyedit.c:3979 g10/keyedit.c:4410 g10/keyserver.c:548
-#: g10/mainproc.c:2371 g10/tofu.c:1787 g10/trust.c:437 dirmngr/ocsp.c:791
+#: g10/keyedit.c:3980 g10/keyedit.c:4411 g10/keyserver.c:371
+#: g10/mainproc.c:2380 g10/tofu.c:1787 g10/trust.c:437 dirmngr/ocsp.c:791
 msgid "revoked"
 msgstr "revoked"
 
-#: g10/keyedit.c:3981 g10/keyedit.c:4412 g10/keyserver.c:552
-#: g10/mainproc.c:2373 g10/tofu.c:1792 g10/trust.c:124
+#: g10/keyedit.c:3982 g10/keyedit.c:4413 g10/keyserver.c:375
+#: g10/mainproc.c:2382 g10/tofu.c:1792 g10/trust.c:124
 msgid "expired"
 msgstr "expired"
 
-#: g10/keyedit.c:4098
+#: g10/keyedit.c:4099
 #, c-format
 msgid ""
 "WARNING: no user ID has been marked as primary.  This command may\n"
@@ -4628,17 +4646,17 @@ msgstr ""
 "WARNING: no user ID has been marked as primary.  This command may\n"
 "              cause a different user ID to become the assumed primary.\n"
 
-#: g10/keyedit.c:4150
+#: g10/keyedit.c:4151
 #, c-format
 msgid "WARNING: Your encryption subkey expires soon.\n"
 msgstr "WARNING: Your encryption subkey expires soon.\n"
 
-#: g10/keyedit.c:4151
+#: g10/keyedit.c:4152
 #, c-format
 msgid "You may want to change its expiration date too.\n"
 msgstr "You may want to change its expiration date too.\n"
 
-#: g10/keyedit.c:4210
+#: g10/keyedit.c:4211
 msgid ""
 "WARNING: This is a PGP2-style key.  Adding a photo ID may cause some "
 "versions\n"
@@ -4648,72 +4666,72 @@ msgstr ""
 "versions\n"
 "         of PGP to reject this key.\n"
 
-#: g10/keyedit.c:4215 g10/keyedit.c:4505
+#: g10/keyedit.c:4216 g10/keyedit.c:4506
 msgid "Are you sure you still want to add it? (y/N) "
 msgstr "Are you sure you still want to add it? (y/N) "
 
-#: g10/keyedit.c:4221
+#: g10/keyedit.c:4222
 msgid "You may not add a photo ID to a PGP2-style key.\n"
 msgstr "You may not add a photo ID to a PGP2-style key.\n"
 
-#: g10/keyedit.c:4236 g10/keygen.c:2899
+#: g10/keyedit.c:4237 g10/keygen.c:2899
 msgid "Such a user ID already exists on this key!\n"
 msgstr "Such a user ID already exists on this key!\n"
 
-#: g10/keyedit.c:4338
+#: g10/keyedit.c:4339
 msgid "Delete this good signature? (y/N/q)"
 msgstr "Delete this good signature? (y/N/q)"
 
-#: g10/keyedit.c:4348
+#: g10/keyedit.c:4349
 msgid "Delete this invalid signature? (y/N/q)"
 msgstr "Delete this invalid signature? (y/N/q)"
 
-#: g10/keyedit.c:4352
+#: g10/keyedit.c:4353
 msgid "Delete this unknown signature? (y/N/q)"
 msgstr "Delete this unknown signature? (y/N/q)"
 
-#: g10/keyedit.c:4359
+#: g10/keyedit.c:4360
 msgid "Really delete this self-signature? (y/N)"
 msgstr "Really delete this self-signature? (y/N)"
 
-#: g10/keyedit.c:4375
+#: g10/keyedit.c:4376
 #, c-format
 msgid "Deleted %d signature.\n"
 msgid_plural "Deleted %d signatures.\n"
 msgstr[0] "Deleted %d signature.\n"
 msgstr[1] "Deleted %d signatures.\n"
 
-#: g10/keyedit.c:4379
+#: g10/keyedit.c:4380
 msgid "Nothing deleted.\n"
 msgstr "Nothing deleted.\n"
 
-#: g10/keyedit.c:4414
+#: g10/keyedit.c:4415
 msgid "invalid"
 msgstr "invalid"
 
-#: g10/keyedit.c:4416
+#: g10/keyedit.c:4417
 #, c-format
 msgid "User ID \"%s\" compacted: %s\n"
 msgstr "User ID “%s” compacted: %s\n"
 
-#: g10/keyedit.c:4422
+#: g10/keyedit.c:4423
 #, c-format
 msgid "User ID \"%s\": %d signature removed\n"
 msgid_plural "User ID \"%s\": %d signatures removed\n"
 msgstr[0] "User ID “%s”: %d signature removed\n"
 msgstr[1] "User ID “%s”: %d signatures removed\n"
 
-#: g10/keyedit.c:4430
+#: g10/keyedit.c:4431
 #, c-format
 msgid "User ID \"%s\": already minimized\n"
 msgstr "User ID “%s”: already minimized\n"
 
-#: g10/keyedit.c:4431
+#: g10/keyedit.c:4432
 #, c-format
 msgid "User ID \"%s\": already clean\n"
 msgstr "User ID “%s”: already clean\n"
 
-#: g10/keyedit.c:4500
+#: g10/keyedit.c:4501
 msgid ""
 "WARNING: This is a PGP 2.x-style key.  Adding a designated revoker may "
 "cause\n"
@@ -4723,40 +4741,40 @@ msgstr ""
 "cause\n"
 "         some versions of PGP to reject this key.\n"
 
-#: g10/keyedit.c:4511
+#: g10/keyedit.c:4512
 msgid "You may not add a designated revoker to a PGP 2.x-style key.\n"
 msgstr "You may not add a designated revoker to a PGP 2.x-style key.\n"
 
-#: g10/keyedit.c:4528
+#: g10/keyedit.c:4529
 msgid "Enter the user ID of the designated revoker: "
 msgstr "Enter the user ID of the designated revoker: "
 
-#: g10/keyedit.c:4554
+#: g10/keyedit.c:4555
 #, c-format
 msgid "cannot appoint a PGP 2.x style key as a designated revoker\n"
 msgstr "cannot appoint a PGP 2.x style key as a designated revoker\n"
 
-#: g10/keyedit.c:4569
+#: g10/keyedit.c:4570
 #, c-format
 msgid "you cannot appoint a key as its own designated revoker\n"
 msgstr "you cannot appoint a key as its own designated revoker\n"
 
-#: g10/keyedit.c:4591
+#: g10/keyedit.c:4592
 #, c-format
 msgid "this key has already been designated as a revoker\n"
 msgstr "this key has already been designated as a revoker\n"
 
-#: g10/keyedit.c:4609
+#: g10/keyedit.c:4610
 msgid "WARNING: appointing a key as a designated revoker cannot be undone!\n"
 msgstr "WARNING: appointing a key as a designated revoker cannot be undone!\n"
 
-#: g10/keyedit.c:4615
+#: g10/keyedit.c:4616
 msgid ""
 "Are you sure you want to appoint this key as a designated revoker? (y/N) "
 msgstr ""
 "Are you sure you want to appoint this key as a designated revoker? (y/N) "
 
-#: g10/keyedit.c:4683
+#: g10/keyedit.c:4684
 msgid ""
 "Are you sure you want to change the expiration time for multiple subkeys? (y/"
 "N) "
@@ -4764,171 +4782,171 @@ msgstr ""
 "Are you sure you want to change the expiration time for multiple subkeys? (y/"
 "N) "
 
-#: g10/keyedit.c:4688
+#: g10/keyedit.c:4689
 msgid "Changing expiration time for a subkey.\n"
 msgstr "Changing expiration time for a subkey.\n"
 
-#: g10/keyedit.c:4691
+#: g10/keyedit.c:4692
 msgid "Changing expiration time for the primary key.\n"
 msgstr "Changing expiration time for the primary key.\n"
 
-#: g10/keyedit.c:4747
+#: g10/keyedit.c:4748
 #, c-format
 msgid "You can't change the expiration date of a v3 key\n"
 msgstr "You can't change the expiration date of a v3 key\n"
 
-#: g10/keyedit.c:4807
+#: g10/keyedit.c:4808
 msgid "Changing usage of a subkey.\n"
 msgstr "Changing usage of a subkey.\n"
 
-#: g10/keyedit.c:4810
+#: g10/keyedit.c:4811
 msgid "Changing usage of the primary key.\n"
 msgstr "Changing usage of the primary key.\n"
 
-#: g10/keyedit.c:4928
+#: g10/keyedit.c:4929
 #, c-format
 msgid "signing subkey %s is already cross-certified\n"
 msgstr "signing subkey %s is already cross-certified\n"
 
-#: g10/keyedit.c:4934
+#: g10/keyedit.c:4935
 #, c-format
 msgid "subkey %s does not sign and so does not need to be cross-certified\n"
 msgstr "subkey %s does not sign and so does not need to be cross-certified\n"
 
-#: g10/keyedit.c:5051
+#: g10/keyedit.c:5052
 msgid "Please select exactly one user ID.\n"
 msgstr "Please select exactly one user ID.\n"
 
-#: g10/keyedit.c:5092 g10/keyedit.c:5206 g10/keyedit.c:5319 g10/keyedit.c:5457
+#: g10/keyedit.c:5093 g10/keyedit.c:5207 g10/keyedit.c:5320 g10/keyedit.c:5458
 #, c-format
 msgid "skipping v3 self-signature on user ID \"%s\"\n"
 msgstr "skipping v3 self-signature on user ID “%s”\n"
 
-#: g10/keyedit.c:5263
+#: g10/keyedit.c:5264
 msgid "Enter your preferred keyserver URL: "
 msgstr "Enter your preferred keyserver URL: "
 
-#: g10/keyedit.c:5342
+#: g10/keyedit.c:5343
 msgid "Are you sure you want to replace it? (y/N) "
 msgstr "Are you sure you want to replace it? (y/N) "
 
-#: g10/keyedit.c:5343
+#: g10/keyedit.c:5344
 msgid "Are you sure you want to delete it? (y/N) "
 msgstr "Are you sure you want to delete it? (y/N) "
 
-#: g10/keyedit.c:5403
+#: g10/keyedit.c:5404
 msgid "Enter the notation: "
 msgstr "Enter the notation: "
 
-#: g10/keyedit.c:5550
+#: g10/keyedit.c:5551
 msgid "Proceed? (y/N) "
 msgstr "Proceed? (y/N) "
 
-#: g10/keyedit.c:5620
+#: g10/keyedit.c:5621
 #, c-format
 msgid "No user ID with index %d\n"
 msgstr "No user ID with index %d\n"
 
-#: g10/keyedit.c:5682
+#: g10/keyedit.c:5683
 #, c-format
 msgid "No user ID with hash %s\n"
 msgstr "No user ID with hash %s\n"
 
-#: g10/keyedit.c:5783
+#: g10/keyedit.c:5784
 #, c-format
 msgid "No subkey with key ID '%s'.\n"
 msgstr "No subkey with key ID '%s'.\n"
 
-#: g10/keyedit.c:5805
+#: g10/keyedit.c:5806
 #, c-format
 msgid "No subkey with index %d\n"
 msgstr "No subkey with index %d\n"
 
-#: g10/keyedit.c:5946
+#: g10/keyedit.c:5947
 #, c-format
 msgid "user ID: \"%s\"\n"
 msgstr "user ID: “%s”\n"
 
-#: g10/keyedit.c:5949 g10/keyedit.c:6051 g10/keyedit.c:6099
+#: g10/keyedit.c:5950 g10/keyedit.c:6052 g10/keyedit.c:6100
 #, c-format
 msgid "signed by your key %s on %s%s%s\n"
 msgstr "signed by your key %s on %s%s%s\n"
 
-#: g10/keyedit.c:5951 g10/keyedit.c:6053 g10/keyedit.c:6101
+#: g10/keyedit.c:5952 g10/keyedit.c:6054 g10/keyedit.c:6102
 msgid " (non-exportable)"
 msgstr " (non-exportable)"
 
-#: g10/keyedit.c:5955
+#: g10/keyedit.c:5956
 #, c-format
 msgid "This signature expired on %s.\n"
 msgstr "This signature expired on %s.\n"
 
-#: g10/keyedit.c:5960
+#: g10/keyedit.c:5961
 msgid "Are you sure you still want to revoke it? (y/N) "
 msgstr "Are you sure you still want to revoke it? (y/N) "
 
-#: g10/keyedit.c:5965
+#: g10/keyedit.c:5966
 msgid "Create a revocation certificate for this signature? (y/N) "
 msgstr "Create a revocation certificate for this signature? (y/N) "
 
-#: g10/keyedit.c:6025
+#: g10/keyedit.c:6026
 #, c-format
 msgid "You have signed these user IDs on key %s:\n"
 msgstr "You have signed these user IDs on key %s:\n"
 
-#: g10/keyedit.c:6054
+#: g10/keyedit.c:6055
 msgid " (non-revocable)"
 msgstr " (non-revocable)"
 
-#: g10/keyedit.c:6061
+#: g10/keyedit.c:6062
 #, c-format
 msgid "revoked by your key %s on %s\n"
 msgstr "revoked by your key %s on %s\n"
 
-#: g10/keyedit.c:6086
+#: g10/keyedit.c:6087
 msgid "You are about to revoke these signatures:\n"
 msgstr "You are about to revoke these signatures:\n"
 
-#: g10/keyedit.c:6109
+#: g10/keyedit.c:6110
 msgid "Really create the revocation certificates? (y/N) "
 msgstr "Really create the revocation certificates? (y/N) "
 
-#: g10/keyedit.c:6142
+#: g10/keyedit.c:6143
 #, c-format
 msgid "no secret key\n"
 msgstr "no secret key\n"
 
-#: g10/keyedit.c:6190
+#: g10/keyedit.c:6191
 #, c-format
 msgid "tried to revoke a non-user ID: %s\n"
 msgstr "tried to revoke a non-user ID: %s\n"
 
-#: g10/keyedit.c:6200
+#: g10/keyedit.c:6201
 #, c-format
 msgid "user ID \"%s\" is already revoked\n"
 msgstr "user ID “%s” is already revoked\n"
 
-#: g10/keyedit.c:6217
+#: g10/keyedit.c:6218
 #, c-format
 msgid "WARNING: a user ID signature is dated %d seconds in the future\n"
 msgstr "WARNING: a user ID signature is dated %d seconds in the future\n"
 
-#: g10/keyedit.c:6313
+#: g10/keyedit.c:6314
 #, c-format
 msgid "Cannot revoke the last valid user ID.\n"
 msgstr "Cannot revoke the last valid user ID.\n"
 
-#: g10/keyedit.c:6351
+#: g10/keyedit.c:6352
 #, c-format
 msgid "Key %s is already revoked.\n"
 msgstr "Key %s is already revoked.\n"
 
-#: g10/keyedit.c:6413
+#: g10/keyedit.c:6414
 #, c-format
 msgid "Subkey %s is already revoked.\n"
 msgstr "Subkey %s is already revoked.\n"
 
-#: g10/keyedit.c:6510
+#: g10/keyedit.c:6511
 #, c-format
 msgid "Displaying %s photo ID of size %ld for key %s (uid %d)\n"
 msgstr "Displaying %s photo ID of size %ld for key %s (uid %d)\n"
@@ -5634,77 +5652,72 @@ msgstr "honor the preferred keyserver URL set on the key"
 msgid "honor the PKA record set on a key when retrieving keys"
 msgstr "honor the PKA record set on a key when retrieving keys"
 
-#: g10/keyserver.c:550
+#: g10/keyserver.c:373
 msgid "disabled"
 msgstr "disabled"
 
-#: g10/keyserver.c:754
+#: g10/keyserver.c:577
 msgid "Enter number(s), N)ext, or Q)uit > "
 msgstr "Enter number(s), N)ext, or Q)uit > "
 
-#: g10/keyserver.c:860
+#: g10/keyserver.c:683
 #, c-format
 msgid "invalid keyserver protocol (us %d!=handler %d)\n"
 msgstr "invalid keyserver protocol (us %d!=handler %d)\n"
 
-#: g10/keyserver.c:1001 g10/keyserver.c:1116
+#: g10/keyserver.c:824 g10/keyserver.c:939
 #, c-format
 msgid "\"%s\" not a key ID: skipping\n"
 msgstr "“%s” not a key ID: skipping\n"
 
-#: g10/keyserver.c:1438 g10/keyserver.c:1471
+#: g10/keyserver.c:1237 g10/keyserver.c:1270
 #, c-format
 msgid "refreshing %d key from %s\n"
 msgid_plural "refreshing %d keys from %s\n"
 msgstr[0] "refreshing %d key from %s\n"
 msgstr[1] "refreshing %d keys from %s\n"
 
-#: g10/keyserver.c:1445
+#: g10/keyserver.c:1244
 #, c-format
 msgid "WARNING: unable to refresh key %s via %s: %s\n"
 msgstr "WARNING: unable to refresh key %s via %s: %s\n"
 
-#: g10/keyserver.c:1549
+#: g10/keyserver.c:1336
 #, c-format
 msgid "key \"%s\" not found on keyserver\n"
 msgstr "key “%s” not found on keyserver\n"
 
-#: g10/keyserver.c:1552
+#: g10/keyserver.c:1339
 #, c-format
 msgid "key not found on keyserver\n"
 msgstr "key not found on keyserver\n"
 
-#: g10/keyserver.c:1743
-#, c-format
-msgid "requesting key %s from %s server %s\n"
-msgstr "requesting key %s from %s server %s\n"
-
-#: g10/keyserver.c:1747
+#: g10/keyserver.c:1504
 #, c-format
 msgid "requesting key %s from %s\n"
 msgstr "requesting key %s from %s\n"
 
-#: g10/keyserver.c:1852 g10/keyserver.c:2031
+#: g10/keyserver.c:1619 g10/keyserver.c:1798
 #, c-format
 msgid "no keyserver known\n"
 msgstr "no keyserver known\n"
 
-#: g10/keyserver.c:1867 g10/skclist.c:214 g10/skclist.c:242
+#: g10/keyserver.c:1634 g10/skclist.c:215 g10/skclist.c:243
 #, c-format
 msgid "skipped \"%s\": %s\n"
 msgstr "skipped “%s”: %s\n"
 
-#: g10/keyserver.c:1871
+#: g10/keyserver.c:1638
 #, c-format
 msgid "sending key %s to %s\n"
 msgstr "sending key %s to %s\n"
 
-#: g10/keyserver.c:1912
+#: g10/keyserver.c:1679
 #, c-format
 msgid "requesting key from '%s'\n"
 msgstr "requesting key from ‘%s’\n"
 
-#: g10/keyserver.c:1928
+#: g10/keyserver.c:1695
 #, c-format
 msgid "WARNING: unable to fetch URI %s: %s\n"
 msgstr "WARNING: unable to fetch URI %s: %s\n"
@@ -5719,72 +5732,72 @@ msgstr "weird size for an encrypted session key (%d)\n"
 msgid "%s encrypted session key\n"
 msgstr "%s encrypted session key\n"
 
-#: g10/mainproc.c:400
+#: g10/mainproc.c:403
 #, c-format
 msgid "passphrase generated with unknown digest algorithm %d\n"
 msgstr "passphrase generated with unknown digest algorithm %d\n"
 
-#: g10/mainproc.c:481
+#: g10/mainproc.c:485
 #, c-format
 msgid "public key is %s\n"
 msgstr "public key is %s\n"
 
-#: g10/mainproc.c:557
+#: g10/mainproc.c:561
 #, c-format
 msgid "public key encrypted data: good DEK\n"
 msgstr "public key encrypted data: good DEK\n"
 
-#: g10/mainproc.c:590
+#: g10/mainproc.c:594
 #, c-format
 msgid "encrypted with %u-bit %s key, ID %s, created %s\n"
 msgstr "encrypted with %u-bit %s key, ID %s, created %s\n"
 
-#: g10/mainproc.c:594 g10/pkclist.c:228
+#: g10/mainproc.c:598 g10/pkclist.c:228
 #, c-format
 msgid "      \"%s\"\n"
 msgstr "      “%s”\n"
 
-#: g10/mainproc.c:598
+#: g10/mainproc.c:602
 #, c-format
 msgid "encrypted with %s key, ID %s\n"
 msgstr "encrypted with %s key, ID %s\n"
 
-#: g10/mainproc.c:619
+#: g10/mainproc.c:623
 #, c-format
 msgid "public key decryption failed: %s\n"
 msgstr "public key decryption failed: %s\n"
 
-#: g10/mainproc.c:641 g10/mainproc.c:970
+#: g10/mainproc.c:645 g10/mainproc.c:976
 #, c-format
 msgid "WARNING: multiple plaintexts seen\n"
 msgstr "WARNING: multiple plaintexts seen\n"
 
-#: g10/mainproc.c:649
+#: g10/mainproc.c:653
 #, c-format
 msgid "encrypted with %lu passphrases\n"
 msgstr "encrypted with %lu passphrases\n"
 
-#: g10/mainproc.c:651
+#: g10/mainproc.c:655
 #, c-format
 msgid "encrypted with 1 passphrase\n"
 msgstr "encrypted with 1 passphrase\n"
 
-#: g10/mainproc.c:685 g10/mainproc.c:706
+#: g10/mainproc.c:689 g10/mainproc.c:710
 #, c-format
 msgid "assuming %s encrypted data\n"
 msgstr "assuming %s encrypted data\n"
 
-#: g10/mainproc.c:692
+#: g10/mainproc.c:696
 #, c-format
 msgid "IDEA cipher unavailable, optimistically attempting to use %s instead\n"
 msgstr "IDEA cipher unavailable, optimistically attempting to use %s instead\n"
 
-#: g10/mainproc.c:779 g10/mainproc.c:817
+#: g10/mainproc.c:785 g10/mainproc.c:823
 #, c-format
 msgid "WARNING: message was not integrity protected\n"
 msgstr "WARNING: message was not integrity protected\n"
 
-#: g10/mainproc.c:790
+#: g10/mainproc.c:796
 msgid ""
 "Hint: If this message was created before the year 2003 it is\n"
 "likely that this message is legitimate.  This is because back\n"
@@ -5794,179 +5807,179 @@ msgstr ""
 "likely that this message is legitimate.  This is because back\n"
 "then integrity protection was not widely used.\n"
 
-#: g10/mainproc.c:793
+#: g10/mainproc.c:799
 #, c-format
 msgid "Use the option '%s' to decrypt anyway.\n"
 msgstr "Use the option ‘%s’ to decrypt anyway.\n"
 
-#: g10/mainproc.c:798
+#: g10/mainproc.c:804
 #, c-format
 msgid "decryption forced to fail!\n"
 msgstr "decryption forced to fail!\n"
 
-#: g10/mainproc.c:810
+#: g10/mainproc.c:816
 #, c-format
 msgid "decryption okay\n"
 msgstr "decryption okay\n"
 
-#: g10/mainproc.c:823
+#: g10/mainproc.c:829
 #, c-format
 msgid "WARNING: encrypted message has been manipulated!\n"
 msgstr "WARNING: encrypted message has been manipulated!\n"
 
-#: g10/mainproc.c:841
+#: g10/mainproc.c:847
 #, c-format
 msgid "decryption failed: %s\n"
 msgstr "decryption failed: %s\n"
 
-#: g10/mainproc.c:886
+#: g10/mainproc.c:892
 #, c-format
 msgid "Note: sender requested \"for-your-eyes-only\"\n"
 msgstr "Note: sender requested “for-your-eyes-only”\n"
 
-#: g10/mainproc.c:893
+#: g10/mainproc.c:899
 #, c-format
 msgid "original file name='%.*s'\n"
 msgstr "original file name='%.*s'\n"
 
-#: g10/mainproc.c:1148
+#: g10/mainproc.c:1154
 #, c-format
 msgid "standalone revocation - use \"gpg --import\" to apply\n"
 msgstr "standalone revocation - use “gpg --import” to apply\n"
 
-#: g10/mainproc.c:1452 g10/mainproc.c:1495
+#: g10/mainproc.c:1458 g10/mainproc.c:1501
 #, c-format
 msgid "no signature found\n"
 msgstr "no signature found\n"
 
-#: g10/mainproc.c:1852
+#: g10/mainproc.c:1858
 #, c-format
 msgid "BAD signature from \"%s\""
 msgstr "BAD signature from “%s”"
 
-#: g10/mainproc.c:1854
+#: g10/mainproc.c:1860
 #, c-format
 msgid "Expired signature from \"%s\""
 msgstr "Expired signature from “%s”"
 
-#: g10/mainproc.c:1856
+#: g10/mainproc.c:1862
 #, c-format
 msgid "Good signature from \"%s\""
 msgstr "Good signature from “%s”"
 
-#: g10/mainproc.c:1876
+#: g10/mainproc.c:1882
 #, c-format
 msgid "signature verification suppressed\n"
 msgstr "signature verification suppressed\n"
 
-#: g10/mainproc.c:1985
+#: g10/mainproc.c:1991
 #, c-format
 msgid "can't handle this ambiguous signature data\n"
 msgstr "can't handle this ambiguous signature data\n"
 
-#: g10/mainproc.c:2001 g10/mainproc.c:2008
+#: g10/mainproc.c:2007 g10/mainproc.c:2014
 #, c-format
 msgid "Signature made %s\n"
 msgstr "Signature made %s\n"
 
-#: g10/mainproc.c:2002 g10/mainproc.c:2009 sm/verify.c:476
+#: g10/mainproc.c:2008 g10/mainproc.c:2015 sm/verify.c:476
 #, c-format
 msgid "               using %s key %s\n"
 msgstr "               using %s key %s\n"
 
-#: g10/mainproc.c:2013
+#: g10/mainproc.c:2019
 #, c-format
 msgid "Signature made %s using %s key ID %s\n"
 msgstr "Signature made %s using %s key ID %s\n"
 
-#: g10/mainproc.c:2019
+#: g10/mainproc.c:2025
 #, c-format
 msgid "               issuer \"%s\"\n"
 msgstr "               issuer “%s”\n"
 
-#: g10/mainproc.c:2070
+#: g10/mainproc.c:2076
 #, c-format
 msgid "Key available at: "
 msgstr "Key available at: "
 
-#: g10/mainproc.c:2111
+#: g10/mainproc.c:2118
 #, c-format
 msgid "Note: Use '%s' to make use of this info\n"
 msgstr "Note: Use ‘%s’ to make use of this info\n"
 
-#: g10/mainproc.c:2325
+#: g10/mainproc.c:2334
 msgid "[uncertain]"
 msgstr "[uncertain]"
 
-#: g10/mainproc.c:2363
+#: g10/mainproc.c:2372
 #, c-format
 msgid "                aka \"%s\""
 msgstr "                aka “%s”"
 
-#: g10/mainproc.c:2438
+#: g10/mainproc.c:2447
 #, c-format
 msgid "WARNING: This key is not suitable for signing in %s mode\n"
 msgstr "WARNING: This key is not suitable for signing in %s mode\n"
 
-#: g10/mainproc.c:2456
+#: g10/mainproc.c:2465
 #, c-format
 msgid "Signature expired %s\n"
 msgstr "Signature expired %s\n"
 
-#: g10/mainproc.c:2460
+#: g10/mainproc.c:2469
 #, c-format
 msgid "Signature expires %s\n"
 msgstr "Signature expires %s\n"
 
-#: g10/mainproc.c:2471
+#: g10/mainproc.c:2480
 #, c-format
 msgid "%s signature, digest algorithm %s%s%s\n"
 msgstr "%s signature, digest algorithm %s%s%s\n"
 
-#: g10/mainproc.c:2472
+#: g10/mainproc.c:2481
 msgid "binary"
 msgstr "binary"
 
-#: g10/mainproc.c:2473
+#: g10/mainproc.c:2482
 msgid "textmode"
 msgstr "textmode"
 
-#: g10/mainproc.c:2473 g10/trust.c:123 dirmngr/ocsp.c:792
+#: g10/mainproc.c:2482 g10/trust.c:123 dirmngr/ocsp.c:792
 msgid "unknown"
 msgstr "unknown"
 
-#: g10/mainproc.c:2475
+#: g10/mainproc.c:2484
 msgid ", key algorithm "
 msgstr ", key algorithm "
 
-#: g10/mainproc.c:2510
+#: g10/mainproc.c:2519
 #, c-format
 msgid "WARNING: not a detached signature; file '%s' was NOT verified!\n"
 msgstr "WARNING: not a detached signature; file ‘%s’ was NOT verified!\n"
 
-#: g10/mainproc.c:2548
+#: g10/mainproc.c:2558
 #, c-format
 msgid "Can't check signature: %s\n"
 msgstr "Can't check signature: %s\n"
 
-#: g10/mainproc.c:2644 g10/mainproc.c:2663 g10/mainproc.c:2787
+#: g10/mainproc.c:2654 g10/mainproc.c:2673 g10/mainproc.c:2797
 #, c-format
 msgid "not a detached signature\n"
 msgstr "not a detached signature\n"
 
-#: g10/mainproc.c:2697
+#: g10/mainproc.c:2707
 #, c-format
 msgid ""
 "WARNING: multiple signatures detected.  Only the first will be checked.\n"
 msgstr ""
 "WARNING: multiple signatures detected.  Only the first will be checked.\n"
 
-#: g10/mainproc.c:2706
+#: g10/mainproc.c:2716
 #, c-format
 msgid "standalone signature of class 0x%02x\n"
 msgstr "standalone signature of class 0x%02x\n"
 
-#: g10/mainproc.c:2791
+#: g10/mainproc.c:2801
 #, c-format
 msgid "old style (PGP 2.x) signature\n"
 msgstr "old style (PGP 2.x) signature\n"
@@ -6146,51 +6159,55 @@ msgstr "Unknown critical signature notation: "
 msgid "subpacket of type %d has critical bit set\n"
 msgstr "subpacket of type %d has critical bit set\n"
 
-#: g10/passphrase.c:73 g10/passphrase.c:275 g10/passphrase.c:308
+#: g10/passphrase.c:73 g10/passphrase.c:283 g10/passphrase.c:316
 #, c-format
 msgid "problem with the agent: %s\n"
 msgstr "problem with the agent: %s\n"
 
-#: g10/passphrase.c:258
+#: g10/passphrase.c:251 sm/decrypt.c:341
+msgid "Please enter the passphrase for decryption."
+msgstr "Please enter the passphrase for decryption."
+
+#: g10/passphrase.c:253
 msgid "Enter passphrase\n"
 msgstr "Enter passphrase\n"
 
-#: g10/passphrase.c:269
+#: g10/passphrase.c:277
 #, c-format
 msgid "cancelled by user\n"
 msgstr "cancelled by user\n"
 
-#: g10/passphrase.c:510
+#: g10/passphrase.c:523
 #, c-format
 msgid " (main key ID %s)"
 msgstr " (main key ID %s)"
 
-#: g10/passphrase.c:517
+#: g10/passphrase.c:530
 msgid "Please enter the passphrase to unlock the OpenPGP secret key:"
 msgstr "Please enter the passphrase to unlock the OpenPGP secret key:"
 
-#: g10/passphrase.c:521
+#: g10/passphrase.c:534
 msgid "Please enter the passphrase to import the OpenPGP secret key:"
 msgstr "Please enter the passphrase to import the OpenPGP secret key:"
 
-#: g10/passphrase.c:526
+#: g10/passphrase.c:539
 msgid "Please enter the passphrase to export the OpenPGP secret subkey:"
 msgstr "Please enter the passphrase to export the OpenPGP secret subkey:"
 
-#: g10/passphrase.c:529
+#: g10/passphrase.c:542
 msgid "Please enter the passphrase to export the OpenPGP secret key:"
 msgstr "Please enter the passphrase to export the OpenPGP secret key:"
 
-#: g10/passphrase.c:534
+#: g10/passphrase.c:547
 msgid "Do you really want to permanently delete the OpenPGP secret subkey key:"
 msgstr ""
 "Do you really want to permanently delete the OpenPGP secret subkey key:"
 
-#: g10/passphrase.c:537
+#: g10/passphrase.c:550
 msgid "Do you really want to permanently delete the OpenPGP secret key:"
 msgstr "Do you really want to permanently delete the OpenPGP secret key:"
 
-#: g10/passphrase.c:546
+#: g10/passphrase.c:559
 #, c-format
 msgid ""
 "%s\n"
@@ -6246,7 +6263,7 @@ msgstr "‘%s’ is not a JPEG file\n"
 msgid "Is this photo correct (y/N/q)? "
 msgstr "Is this photo correct (y/N/q)? "
 
-#: g10/photoid.c:395
+#: g10/photoid.c:399
 #, c-format
 msgid "unable to display photo ID!\n"
 msgstr "unable to display photo ID!\n"
@@ -6588,7 +6605,7 @@ msgstr "can't open signed data ‘%s’\n"
 msgid "can't open signed data fd=%d: %s\n"
 msgstr "can't open signed data fd=%d: %s\n"
 
-#: g10/pubkey-enc.c:98 g10/pubkey-enc.c:139 sm/decrypt.c:493
+#: g10/pubkey-enc.c:98 g10/pubkey-enc.c:139 sm/decrypt.c:969
 #, c-format
 msgid "key %s is not suitable for decryption in %s mode\n"
 msgstr "key %s is not suitable for decryption in %s mode\n"
@@ -6603,27 +6620,27 @@ msgstr "anonymous recipient; trying secret key %s ...\n"
 msgid "okay, we are the anonymous recipient.\n"
 msgstr "okay, we are the anonymous recipient.\n"
 
-#: g10/pubkey-enc.c:321
+#: g10/pubkey-enc.c:311
 #, c-format
 msgid "old encoding of the DEK is not supported\n"
 msgstr "old encoding of the DEK is not supported\n"
 
-#: g10/pubkey-enc.c:349
+#: g10/pubkey-enc.c:339
 #, c-format
 msgid "cipher algorithm %d%s is unknown or disabled\n"
 msgstr "cipher algorithm %d%s is unknown or disabled\n"
 
-#: g10/pubkey-enc.c:393
+#: g10/pubkey-enc.c:383
 #, c-format
 msgid "WARNING: cipher algorithm %s not found in recipient preferences\n"
 msgstr "WARNING: cipher algorithm %s not found in recipient preferences\n"
 
-#: g10/pubkey-enc.c:426
+#: g10/pubkey-enc.c:416
 #, c-format
 msgid "Note: secret key %s expired at %s\n"
 msgstr "Note: secret key %s expired at %s\n"
 
-#: g10/pubkey-enc.c:433
+#: g10/pubkey-enc.c:423
 #, c-format
 msgid "Note: key has been revoked"
 msgstr "Note: key has been revoked"
@@ -6928,39 +6945,39 @@ msgstr ""
 msgid "%s/%s signature from: \"%s\"\n"
 msgstr "%s/%s signature from: “%s”\n"
 
-#: g10/sign.c:1046
+#: g10/sign.c:1045
 #, c-format
 msgid ""
 "WARNING: forcing digest algorithm %s (%d) violates recipient preferences\n"
 msgstr ""
 "WARNING: forcing digest algorithm %s (%d) violates recipient preferences\n"
 
-#: g10/sign.c:1188
+#: g10/sign.c:1187
 #, c-format
 msgid "signing:"
 msgstr "signing:"
 
-#: g10/sign.c:1465
+#: g10/sign.c:1464
 #, c-format
 msgid "%s encryption will be used\n"
 msgstr "%s encryption will be used\n"
 
-#: g10/skclist.c:173 g10/skclist.c:254
+#: g10/skclist.c:174 g10/skclist.c:255
 #, c-format
 msgid "key is not flagged as insecure - can't use it with the faked RNG!\n"
 msgstr "key is not flagged as insecure - can't use it with the faked RNG!\n"
 
-#: g10/skclist.c:205
+#: g10/skclist.c:206
 #, c-format
 msgid "skipped \"%s\": duplicated\n"
 msgstr "skipped “%s”: duplicated\n"
 
-#: g10/skclist.c:224
+#: g10/skclist.c:225
 #, c-format
 msgid "skipped: secret key already present\n"
 msgstr "skipped: secret key already present\n"
 
-#: g10/skclist.c:243
+#: g10/skclist.c:244
 msgid "this is a PGP generated Elgamal key which is not secure for signatures!"
 msgstr ""
 "this is a PGP generated Elgamal key which is not secure for signatures!"
@@ -7015,7 +7032,7 @@ msgstr "read error in '%s': %s\n"
 msgid "trustdb: sync failed: %s\n"
 msgstr "trustdb: sync failed: %s\n"
 
-#: g10/tdbio.c:144 sm/keydb.c:336
+#: g10/tdbio.c:144 sm/keydb.c:335
 #, c-format
 msgid "can't create lock for '%s'\n"
 msgstr "can't create lock for ‘%s’\n"
@@ -7748,39 +7765,49 @@ msgstr ""
 #. TRANSLATORS: Put a \x1f right before a colon.  This can be
 #. * used by pinentry to nicely align the names and values.  Keep
 #. * the %s at the start and end of the string.
-#: scd/app-p15.c:3369 scd/app-openpgp.c:2153
+#: scd/app-p15.c:4955 scd/app-openpgp.c:2151
 #, c-format
 msgid "%sNumber\1f: %s%%0AHolder\1f: %s%s"
 msgstr "%sNumber\1f: %s%%0AHolder\1f: %s%s"
 
 #. TRANSLATORS: This is the number of remaining attempts to
 #. * enter a PIN.  Use %%0A (double-percent,0A) for a linefeed.
-#: scd/app-p15.c:3388 scd/app-openpgp.c:2169
+#: scd/app-p15.c:4974 scd/app-openpgp.c:2167
 #, c-format
 msgid "Remaining attempts: %d"
 msgstr "Remaining attempts: %d"
 
-#: scd/app-p15.c:3459 scd/app-nks.c:1110
+#: scd/app-p15.c:5053 scd/app-nks.c:1113
 msgid "||Please enter the PIN for the key to create qualified signatures."
 msgstr "||Please enter the PIN for the key to create qualified signatures."
 
-#: scd/app-p15.c:3462 scd/app-nks.c:1092
+#. TRANSLATORS: Do not translate the "|A|" prefix but keep it at
+#. the start of the string.  Use %0A (single percent) for a linefeed.
+#: scd/app-p15.c:5056 scd/app-openpgp.c:2461
+msgid "|A|Please enter the Admin PIN"
+msgstr "|A|Please enter the Admin PIN"
+
+#: scd/app-p15.c:5058 scd/app-nks.c:1103
+msgid "|P|Please enter the PIN Unblocking Code (PUK) for the standard keys."
+msgstr "|P|Please enter the PIN Unblocking Code (PUK) for the standard keys."
+
+#: scd/app-p15.c:5061 scd/app-nks.c:1095
 msgid "||Please enter the PIN for the standard keys."
 msgstr "||Please enter the PIN for the standard keys."
 
-#: scd/app-nks.c:709 scd/app-openpgp.c:3664
+#: scd/app-nks.c:709 scd/app-openpgp.c:3663
 #, c-format
 msgid "RSA modulus missing or not of size %d bits\n"
 msgstr "RSA modulus missing or not of size %d bits\n"
 
-#: scd/app-nks.c:717 scd/app-openpgp.c:3676
+#: scd/app-nks.c:717 scd/app-openpgp.c:3675
 #, c-format
 msgid "RSA public exponent missing or larger than %d bits\n"
 msgstr "RSA public exponent missing or larger than %d bits\n"
 
-#: scd/app-nks.c:797 scd/app-openpgp.c:2326 scd/app-openpgp.c:2345
-#: scd/app-openpgp.c:2512 scd/app-openpgp.c:2530 scd/app-openpgp.c:2827
-#: scd/app-openpgp.c:2874 scd/app-openpgp.c:2989 scd/app-dinsig.c:303
+#: scd/app-nks.c:797 scd/app-openpgp.c:2324 scd/app-openpgp.c:2343
+#: scd/app-openpgp.c:2510 scd/app-openpgp.c:2528 scd/app-openpgp.c:2826
+#: scd/app-openpgp.c:2873 scd/app-openpgp.c:2988 scd/app-dinsig.c:302
 #, c-format
 msgid "PIN callback returned error: %s\n"
 msgstr "PIN callback returned error: %s\n"
@@ -7790,24 +7817,20 @@ msgstr "PIN callback returned error: %s\n"
 msgid "the NullPIN has not yet been changed\n"
 msgstr "the NullPIN has not yet been changed\n"
 
-#: scd/app-nks.c:1091
+#: scd/app-nks.c:1094
 msgid "|N|Please enter a new PIN for the standard keys."
 msgstr "|N|Please enter a new PIN for the standard keys."
 
-#: scd/app-nks.c:1098
+#: scd/app-nks.c:1101
 msgid "|NP|Please enter a new PIN Unblocking Code (PUK) for the standard keys."
 msgstr ""
 "|NP|Please enter a new PIN Unblocking Code (PUK) for the standard keys."
 
-#: scd/app-nks.c:1100
-msgid "|P|Please enter the PIN Unblocking Code (PUK) for the standard keys."
-msgstr "|P|Please enter the PIN Unblocking Code (PUK) for the standard keys."
-
-#: scd/app-nks.c:1108
+#: scd/app-nks.c:1111
 msgid "|N|Please enter a new PIN for the key to create qualified signatures."
 msgstr "|N|Please enter a new PIN for the key to create qualified signatures."
 
-#: scd/app-nks.c:1118
+#: scd/app-nks.c:1121
 msgid ""
 "|NP|Please enter a new PIN Unblocking Code (PUK) for the key to create "
 "qualified signatures."
@@ -7815,7 +7838,7 @@ msgstr ""
 "|NP|Please enter a new PIN Unblocking Code (PUK) for the key to create "
 "qualified signatures."
 
-#: scd/app-nks.c:1120
+#: scd/app-nks.c:1123
 msgid ""
 "|P|Please enter the PIN Unblocking Code (PUK) for the key to create "
 "qualified signatures."
@@ -7823,47 +7846,47 @@ msgstr ""
 "|P|Please enter the PIN Unblocking Code (PUK) for the key to create "
 "qualified signatures."
 
-#: scd/app-nks.c:1227 scd/app-openpgp.c:2908 scd/app-dinsig.c:531
+#: scd/app-nks.c:1230 scd/app-openpgp.c:2907 scd/app-dinsig.c:532
 #, c-format
 msgid "error getting new PIN: %s\n"
 msgstr "error getting new PIN: %s\n"
 
-#: scd/app-openpgp.c:860
+#: scd/app-openpgp.c:859
 #, c-format
 msgid "failed to store the fingerprint: %s\n"
 msgstr "failed to store the fingerprint: %s\n"
 
-#: scd/app-openpgp.c:873
+#: scd/app-openpgp.c:872
 #, c-format
 msgid "failed to store the creation date: %s\n"
 msgstr "failed to store the creation date: %s\n"
 
-#: scd/app-openpgp.c:1272 scd/app-openpgp.c:2855 scd/app-openpgp.c:5020
+#: scd/app-openpgp.c:1268 scd/app-openpgp.c:2854 scd/app-openpgp.c:5025
 #, c-format
 msgid "error retrieving CHV status from card\n"
 msgstr "error retrieving CHV status from card\n"
 
-#: scd/app-openpgp.c:1430
+#: scd/app-openpgp.c:1426
 #, c-format
 msgid "response does not contain the RSA modulus\n"
 msgstr "response does not contain the RSA modulus\n"
 
-#: scd/app-openpgp.c:1437
+#: scd/app-openpgp.c:1433
 #, c-format
 msgid "response does not contain the RSA public exponent\n"
 msgstr "response does not contain the RSA public exponent\n"
 
-#: scd/app-openpgp.c:1547
+#: scd/app-openpgp.c:1543
 #, c-format
 msgid "response does not contain the EC public key\n"
 msgstr "response does not contain the EC public key\n"
 
-#: scd/app-openpgp.c:1665 scd/app-openpgp.c:4284
+#: scd/app-openpgp.c:1661 scd/app-openpgp.c:4283
 #, c-format
 msgid "response does not contain the public key data\n"
 msgstr "response does not contain the public key data\n"
 
-#: scd/app-openpgp.c:1772
+#: scd/app-openpgp.c:1768
 #, c-format
 msgid "reading public key failed: %s\n"
 msgstr "reading public key failed: %s\n"
@@ -7871,42 +7894,42 @@ msgstr "reading public key failed: %s\n"
 #. TRANSLATORS: Put a \x1f right before a colon.  This can be
 #. * used by pinentry to nicely align the names and values.  Keep
 #. * the %s at the start and end of the string.
-#: scd/app-openpgp.c:2140
+#: scd/app-openpgp.c:2138
 #, c-format
 msgid "%sNumber\1f: %s%%0AHolder\1f: %s%%0ACounter\1f: %lu%s"
 msgstr "%sNumber\1f: %s%%0AHolder\1f: %s%%0ACounter\1f: %lu%s"
 
-#: scd/app-openpgp.c:2280
+#: scd/app-openpgp.c:2278
 #, c-format
 msgid "using default PIN as %s\n"
 msgstr "using default PIN as %s\n"
 
-#: scd/app-openpgp.c:2287
+#: scd/app-openpgp.c:2285
 #, c-format
 msgid "failed to use default PIN as %s: %s - disabling further default use\n"
 msgstr "failed to use default PIN as %s: %s - disabling further default use\n"
 
-#: scd/app-openpgp.c:2300
+#: scd/app-openpgp.c:2298
 msgid "||Please unlock the card"
 msgstr "||Please unlock the card"
 
-#: scd/app-openpgp.c:2352 scd/app-openpgp.c:2537 scd/app-openpgp.c:2834
+#: scd/app-openpgp.c:2350 scd/app-openpgp.c:2535 scd/app-openpgp.c:2833
 #, c-format
 msgid "PIN for CHV%d is too short; minimum length is %d\n"
 msgstr "PIN for CHV%d is too short; minimum length is %d\n"
 
-#: scd/app-openpgp.c:2366 scd/app-openpgp.c:2413 scd/app-openpgp.c:2551
-#: scd/app-openpgp.c:4642
+#: scd/app-openpgp.c:2364 scd/app-openpgp.c:2411 scd/app-openpgp.c:2549
+#: scd/app-openpgp.c:4641
 #, c-format
 msgid "verify CHV%d failed: %s\n"
 msgstr "verify CHV%d failed: %s\n"
 
-#: scd/app-openpgp.c:2449 scd/app-openpgp.c:5029
+#: scd/app-openpgp.c:2447 scd/app-openpgp.c:5034
 #, c-format
 msgid "card is permanently locked!\n"
 msgstr "card is permanently locked!\n"
 
-#: scd/app-openpgp.c:2453
+#: scd/app-openpgp.c:2451
 #, c-format
 msgid "%d Admin PIN attempt remaining before card is permanently locked\n"
 msgid_plural ""
@@ -7914,26 +7937,20 @@ msgid_plural ""
 msgstr[0] "%d Admin PIN attempt remaining before card is permanently locked\n"
 msgstr[1] "%d Admin PIN attempts remaining before card is permanently locked\n"
 
-#. TRANSLATORS: Do not translate the "|A|" prefix but keep it at
-#. the start of the string.  Use %0A (single percent) for a linefeed.
-#: scd/app-openpgp.c:2463
-msgid "|A|Please enter the Admin PIN"
-msgstr "|A|Please enter the Admin PIN"
-
-#: scd/app-openpgp.c:2484
+#: scd/app-openpgp.c:2482
 #, c-format
 msgid "access to admin commands is not configured\n"
 msgstr "access to admin commands is not configured\n"
 
-#: scd/app-openpgp.c:2821
+#: scd/app-openpgp.c:2820
 msgid "||Please enter the PIN"
 msgstr "||Please enter the PIN"
 
-#: scd/app-openpgp.c:2870
+#: scd/app-openpgp.c:2869
 msgid "||Please enter the Reset Code for the card"
 msgstr "||Please enter the Reset Code for the card"
 
-#: scd/app-openpgp.c:2880 scd/app-openpgp.c:2941
+#: scd/app-openpgp.c:2879 scd/app-openpgp.c:2940
 #, c-format
 msgid "Reset Code is too short; minimum length is %d\n"
 msgstr "Reset Code is too short; minimum length is %d\n"
@@ -7941,133 +7958,133 @@ msgstr "Reset Code is too short; minimum length is %d\n"
 #. TRANSLATORS: Do not translate the "|*|" prefixes but
 #. keep it at the start of the string.  We need this elsewhere
 #. to get some infos on the string.
-#: scd/app-openpgp.c:2903
+#: scd/app-openpgp.c:2902
 msgid "|RN|New Reset Code"
 msgstr "|RN|New Reset Code"
 
-#: scd/app-openpgp.c:2904
+#: scd/app-openpgp.c:2903
 msgid "|AN|New Admin PIN"
 msgstr "|AN|New Admin PIN"
 
-#: scd/app-openpgp.c:2904
+#: scd/app-openpgp.c:2903
 msgid "|N|New PIN"
 msgstr "|N|New PIN"
 
-#: scd/app-openpgp.c:2985
+#: scd/app-openpgp.c:2984
 msgid "||Please enter the Admin PIN and New Admin PIN"
 msgstr "||Please enter the Admin PIN and New Admin PIN"
 
-#: scd/app-openpgp.c:2986
+#: scd/app-openpgp.c:2985
 msgid "||Please enter the PIN and New PIN"
 msgstr "||Please enter the PIN and New PIN"
 
-#: scd/app-openpgp.c:3048 scd/app-openpgp.c:4344
+#: scd/app-openpgp.c:3047 scd/app-openpgp.c:4343
 #, c-format
 msgid "error reading application data\n"
 msgstr "error reading application data\n"
 
-#: scd/app-openpgp.c:3054 scd/app-openpgp.c:4351
+#: scd/app-openpgp.c:3053 scd/app-openpgp.c:4350
 #, c-format
 msgid "error reading fingerprint DO\n"
 msgstr "error reading fingerprint DO\n"
 
-#: scd/app-openpgp.c:3064
+#: scd/app-openpgp.c:3063
 #, c-format
 msgid "key already exists\n"
 msgstr "key already exists\n"
 
-#: scd/app-openpgp.c:3068
+#: scd/app-openpgp.c:3067
 #, c-format
 msgid "existing key will be replaced\n"
 msgstr "existing key will be replaced\n"
 
-#: scd/app-openpgp.c:3070
+#: scd/app-openpgp.c:3069
 #, c-format
 msgid "generating new key\n"
 msgstr "generating new key\n"
 
-#: scd/app-openpgp.c:3072
+#: scd/app-openpgp.c:3071
 #, c-format
 msgid "writing new key\n"
 msgstr "writing new key\n"
 
-#: scd/app-openpgp.c:3645 scd/app-openpgp.c:3997
+#: scd/app-openpgp.c:3644 scd/app-openpgp.c:3996
 #, c-format
 msgid "creation timestamp missing\n"
 msgstr "creation timestamp missing\n"
 
-#: scd/app-openpgp.c:3686 scd/app-openpgp.c:3694
+#: scd/app-openpgp.c:3685 scd/app-openpgp.c:3693
 #, c-format
 msgid "RSA prime %s missing or not of size %d bits\n"
 msgstr "RSA prime %s missing or not of size %d bits\n"
 
-#: scd/app-openpgp.c:3827 scd/app-openpgp.c:4104
+#: scd/app-openpgp.c:3826 scd/app-openpgp.c:4103
 #, c-format
 msgid "failed to store the key: %s\n"
 msgstr "failed to store the key: %s\n"
 
-#: scd/app-openpgp.c:3991
+#: scd/app-openpgp.c:3990
 #, c-format
 msgid "unsupported curve\n"
 msgstr "unsupported curve\n"
 
-#: scd/app-openpgp.c:4261
+#: scd/app-openpgp.c:4260
 #, c-format
 msgid "please wait while key is being generated ...\n"
 msgstr "please wait while key is being generated ...\n"
 
-#: scd/app-openpgp.c:4269
+#: scd/app-openpgp.c:4268
 #, c-format
 msgid "generating key failed\n"
 msgstr "generating key failed\n"
 
-#: scd/app-openpgp.c:4275
+#: scd/app-openpgp.c:4274
 #, c-format
 msgid "key generation completed (%d second)\n"
 msgid_plural "key generation completed (%d seconds)\n"
 msgstr[0] "key generation completed (%d second)\n"
 msgstr[1] "key generation completed (%d seconds)\n"
 
-#: scd/app-openpgp.c:4309
+#: scd/app-openpgp.c:4308
 #, c-format
 msgid "invalid structure of OpenPGP card (DO 0x93)\n"
 msgstr "invalid structure of OpenPGP card (DO 0x93)\n"
 
-#: scd/app-openpgp.c:4359
+#: scd/app-openpgp.c:4358
 #, c-format
 msgid "fingerprint on card does not match requested one\n"
 msgstr "fingerprint on card does not match requested one\n"
 
-#: scd/app-openpgp.c:4558
+#: scd/app-openpgp.c:4557
 #, c-format
 msgid "card does not support digest algorithm %s\n"
 msgstr "card does not support digest algorithm %s\n"
 
-#: scd/app-openpgp.c:4616
+#: scd/app-openpgp.c:4615
 #, c-format
 msgid "signatures created so far: %lu\n"
 msgstr "signatures created so far: %lu\n"
 
-#: scd/app-openpgp.c:5034
+#: scd/app-openpgp.c:5039
 #, c-format
 msgid ""
 "verification of Admin PIN is currently prohibited through this command\n"
 msgstr ""
 "verification of Admin PIN is currently prohibited through this command\n"
 
-#: scd/app-openpgp.c:5346 scd/app-openpgp.c:5357
+#: scd/app-openpgp.c:5351 scd/app-openpgp.c:5362
 #, c-format
 msgid "can't access %s - invalid OpenPGP card?\n"
 msgstr "can't access %s - invalid OpenPGP card?\n"
 
-#: scd/app-dinsig.c:299
+#: scd/app-dinsig.c:298
 msgid "||Please enter your PIN at the reader's pinpad"
 msgstr "||Please enter your PIN at the reader's pinpad"
 
 #. TRANSLATORS: Do not translate the "|*|" prefixes but
 #. keep it at the start of the string.  We need this elsewhere
 #. to get some infos on the string.
-#: scd/app-dinsig.c:528
+#: scd/app-dinsig.c:529
 msgid "|N|Initial New PIN"
 msgstr "|N|Initial New PIN"
 
@@ -8075,7 +8092,7 @@ msgstr "|N|Initial New PIN"
 msgid "run in multi server mode (foreground)"
 msgstr "run in multi server mode (foreground)"
 
-#: scd/scdaemon.c:129 sm/gpgsm.c:345 dirmngr/dirmngr.c:187
+#: scd/scdaemon.c:129 sm/gpgsm.c:348 dirmngr/dirmngr.c:188
 msgid "|LEVEL|set the debugging level to LEVEL"
 msgstr "|LEVEL|set the debugging level to LEVEL"
 
@@ -8095,31 +8112,31 @@ msgstr "|NAME|use NAME as ct-API driver"
 msgid "|NAME|use NAME as PC/SC driver"
 msgstr "|NAME|use NAME as PC/SC driver"
 
-#: scd/scdaemon.c:145
+#: scd/scdaemon.c:146
 msgid "do not use the internal CCID driver"
 msgstr "do not use the internal CCID driver"
 
-#: scd/scdaemon.c:151
+#: scd/scdaemon.c:152
 msgid "|N|disconnect the card after N seconds of inactivity"
 msgstr "|N|disconnect the card after N seconds of inactivity"
 
-#: scd/scdaemon.c:154
+#: scd/scdaemon.c:155
 msgid "do not use a reader's pinpad"
 msgstr "do not use a reader's pinpad"
 
-#: scd/scdaemon.c:159
+#: scd/scdaemon.c:160
 msgid "deny the use of admin card commands"
 msgstr "deny the use of admin card commands"
 
-#: scd/scdaemon.c:162
+#: scd/scdaemon.c:163
 msgid "use variable length input for pinpad"
 msgstr "use variable length input for pinpad"
 
-#: scd/scdaemon.c:311
+#: scd/scdaemon.c:312
 msgid "Usage: @SCDAEMON@ [options] (-h for help)"
 msgstr "Usage: @SCDAEMON@ [options] (-h for help)"
 
-#: scd/scdaemon.c:313
+#: scd/scdaemon.c:314
 msgid ""
 "Syntax: scdaemon [options] [command [args]]\n"
 "Smartcard daemon for @GNUPG@\n"
@@ -8127,18 +8144,18 @@ msgstr ""
 "Syntax: scdaemon [options] [command [args]]\n"
 "Smartcard daemon for @GNUPG@\n"
 
-#: scd/scdaemon.c:806
+#: scd/scdaemon.c:808
 #, c-format
 msgid "please use the option '--daemon' to run the program in the background\n"
 msgstr ""
 "please use the option ‘--daemon’ to run the program in the background\n"
 
-#: scd/scdaemon.c:1183 dirmngr/dirmngr.c:2082
+#: scd/scdaemon.c:1185 dirmngr/dirmngr.c:2119
 #, c-format
 msgid "handler for fd %d started\n"
 msgstr "handler for fd %d started\n"
 
-#: scd/scdaemon.c:1195 dirmngr/dirmngr.c:2090
+#: scd/scdaemon.c:1197 dirmngr/dirmngr.c:2127
 #, c-format
 msgid "handler for fd %d terminated\n"
 msgstr "handler for fd %d terminated\n"
@@ -8185,7 +8202,7 @@ msgstr "Note: non-critical certificate policy not allowed"
 msgid "certificate policy not allowed"
 msgstr "certificate policy not allowed"
 
-#: sm/certchain.c:595 sm/keydb.c:1106 sm/keydb.c:1192
+#: sm/certchain.c:595 sm/keydb.c:1084 sm/keydb.c:1171
 #, c-format
 msgid "failed to get the fingerprint\n"
 msgstr "failed to get the fingerprint\n"
@@ -8220,8 +8237,8 @@ msgstr "number of matching certificates: %d\n"
 msgid "dirmngr cache-only key lookup failed: %s\n"
 msgstr "dirmngr cache-only key lookup failed: %s\n"
 
-#: sm/certchain.c:1041 sm/certchain.c:1554 sm/certchain.c:2192 sm/decrypt.c:265
-#: sm/encrypt.c:344 sm/import.c:415 sm/keydb.c:1113 sm/keydb.c:1199
+#: sm/certchain.c:1041 sm/certchain.c:1554 sm/certchain.c:2192 sm/decrypt.c:728
+#: sm/encrypt.c:345 sm/import.c:415 sm/keydb.c:1091 sm/keydb.c:1178
 #: sm/sign.c:337 sm/verify.c:118
 #, c-format
 msgid "failed to allocate keyDB handle\n"
@@ -8413,13 +8430,13 @@ msgid "a %u bit hash is not valid for a %u bit %s key\n"
 msgstr "a %u bit hash is not valid for a %u bit %s key\n"
 
 #: sm/certcheck.c:238 sm/certcheck.c:262 dirmngr/crlcache.c:1542
-#: dirmngr/crlcache.c:1566 dirmngr/dirmngr.c:1324 dirmngr/validate.c:903
+#: dirmngr/crlcache.c:1566 dirmngr/dirmngr.c:1361 dirmngr/validate.c:903
 #: dirmngr/validate.c:927
 #, c-format
 msgid "out of core\n"
 msgstr "out of core\n"
 
-#: sm/certcheck.c:371 sm/verify.c:213
+#: sm/certcheck.c:370 sm/verify.c:213
 #, c-format
 msgid "(this is the MD2 algorithm)\n"
 msgstr "(this is the MD2 algorithm)\n"
@@ -8707,22 +8724,32 @@ msgstr "Ready.  You should now send this request to your CA.\n"
 msgid "resource problem: out of core\n"
 msgstr "resource problem: out of core\n"
 
-#: sm/decrypt.c:341
+#: sm/decrypt.c:536
+#, c-format
+msgid "%s.%s encrypted data\n"
+msgstr "%s.%s encrypted data\n"
+
+#: sm/decrypt.c:803
 #, c-format
 msgid "(this is the RC2 algorithm)\n"
 msgstr "(this is the RC2 algorithm)\n"
 
-#: sm/decrypt.c:343
+#: sm/decrypt.c:805
 #, c-format
 msgid "(this does not seem to be an encrypted message)\n"
 msgstr "(this does not seem to be an encrypted message)\n"
 
+#: sm/decrypt.c:958
+#, c-format
+msgid "encrypted to %s key %s\n"
+msgstr "encrypted to %s key %s\n"
+
 #: sm/delete.c:51 sm/delete.c:112
 #, c-format
 msgid "certificate '%s' not found: %s\n"
 msgstr "certificate ‘%s’ not found: %s\n"
 
-#: sm/delete.c:122 sm/keydb.c:1209 sm/keydb.c:1307
+#: sm/delete.c:122 sm/keydb.c:1189 sm/keydb.c:1288
 #, c-format
 msgid "error locking keybox: %s\n"
 msgstr "error locking keybox: %s\n"
@@ -8742,128 +8769,128 @@ msgstr "certificate ‘%s’ deleted\n"
 msgid "deleting certificate \"%s\" failed: %s\n"
 msgstr "deleting certificate “%s” failed: %s\n"
 
-#: sm/encrypt.c:330
+#: sm/encrypt.c:331
 #, c-format
 msgid "no valid recipients given\n"
 msgstr "no valid recipients given\n"
 
-#: sm/gpgsm.c:215
+#: sm/gpgsm.c:216
 msgid "list external keys"
 msgstr "list external keys"
 
-#: sm/gpgsm.c:217
+#: sm/gpgsm.c:218
 msgid "list certificate chain"
 msgstr "list certificate chain"
 
-#: sm/gpgsm.c:225
+#: sm/gpgsm.c:226
 msgid "import certificates"
 msgstr "import certificates"
 
-#: sm/gpgsm.c:226
+#: sm/gpgsm.c:227
 msgid "export certificates"
 msgstr "export certificates"
 
-#: sm/gpgsm.c:234
+#: sm/gpgsm.c:235
 msgid "register a smartcard"
 msgstr "register a smartcard"
 
-#: sm/gpgsm.c:237
+#: sm/gpgsm.c:238
 msgid "pass a command to the dirmngr"
 msgstr "pass a command to the dirmngr"
 
-#: sm/gpgsm.c:239
+#: sm/gpgsm.c:240
 msgid "invoke gpg-protect-tool"
 msgstr "invoke gpg-protect-tool"
 
-#: sm/gpgsm.c:256
+#: sm/gpgsm.c:257
 msgid "create base-64 encoded output"
 msgstr "create base-64 encoded output"
 
-#: sm/gpgsm.c:265
+#: sm/gpgsm.c:266
 msgid "assume input is in PEM format"
 msgstr "assume input is in PEM format"
 
-#: sm/gpgsm.c:267
+#: sm/gpgsm.c:268
 msgid "assume input is in base-64 format"
 msgstr "assume input is in base-64 format"
 
-#: sm/gpgsm.c:269
+#: sm/gpgsm.c:270
 msgid "assume input is in binary format"
 msgstr "assume input is in binary format"
 
-#: sm/gpgsm.c:276
+#: sm/gpgsm.c:277
 msgid "never consult a CRL"
 msgstr "never consult a CRL"
 
-#: sm/gpgsm.c:286
+#: sm/gpgsm.c:287
 msgid "check validity using OCSP"
 msgstr "check validity using OCSP"
 
-#: sm/gpgsm.c:291
+#: sm/gpgsm.c:292
 msgid "|N|number of certificates to include"
 msgstr "|N|number of certificates to include"
 
-#: sm/gpgsm.c:294
+#: sm/gpgsm.c:295
 msgid "|FILE|take policy information from FILE"
 msgstr "|FILE|take policy information from FILE"
 
-#: sm/gpgsm.c:297
+#: sm/gpgsm.c:298
 msgid "do not check certificate policies"
 msgstr "do not check certificate policies"
 
-#: sm/gpgsm.c:301
+#: sm/gpgsm.c:302
 msgid "fetch missing issuer certificates"
 msgstr "fetch missing issuer certificates"
 
-#: sm/gpgsm.c:312
+#: sm/gpgsm.c:313
 msgid "don't use the terminal at all"
 msgstr "don't use the terminal at all"
 
-#: sm/gpgsm.c:314
+#: sm/gpgsm.c:315
 msgid "|FILE|write a server mode log to FILE"
 msgstr "|FILE|write a server mode log to FILE"
 
-#: sm/gpgsm.c:319
+#: sm/gpgsm.c:320
 msgid "|FILE|write an audit log to FILE"
 msgstr "|FILE|write an audit log to FILE"
 
-#: sm/gpgsm.c:322
+#: sm/gpgsm.c:323
 msgid "batch mode: never ask"
 msgstr "batch mode: never ask"
 
-#: sm/gpgsm.c:323
+#: sm/gpgsm.c:324
 msgid "assume yes on most questions"
 msgstr "assume yes on most questions"
 
-#: sm/gpgsm.c:324
+#: sm/gpgsm.c:325
 msgid "assume no on most questions"
 msgstr "assume no on most questions"
 
-#: sm/gpgsm.c:327
+#: sm/gpgsm.c:328
 msgid "|FILE|add keyring to the list of keyrings"
 msgstr "|FILE|add keyring to the list of keyrings"
 
-#: sm/gpgsm.c:330
+#: sm/gpgsm.c:331
 msgid "|USER-ID|use USER-ID as default secret key"
 msgstr "|USER-ID|use USER-ID as default secret key"
 
-#: sm/gpgsm.c:340 tools/gpgconf-comp.c:837
+#: sm/gpgsm.c:341 dirmngr/dirmngr.c:214 tools/gpgconf-comp.c:841
 msgid "|SPEC|use this keyserver to lookup keys"
 msgstr "|SPEC|use this keyserver to lookup keys"
 
-#: sm/gpgsm.c:357
+#: sm/gpgsm.c:360
 msgid "|NAME|use cipher algorithm NAME"
 msgstr "|NAME|use cipher algorithm NAME"
 
-#: sm/gpgsm.c:359
+#: sm/gpgsm.c:362
 msgid "|NAME|use message digest algorithm NAME"
 msgstr "|NAME|use message digest algorithm NAME"
 
-#: sm/gpgsm.c:570
+#: sm/gpgsm.c:573
 msgid "Usage: @GPGSM@ [options] [files] (-h for help)"
 msgstr "Usage: @GPGSM@ [options] [files] (-h for help)"
 
-#: sm/gpgsm.c:573
+#: sm/gpgsm.c:576
 msgid ""
 "Syntax: @GPGSM@ [options] [files]\n"
 "Sign, check, encrypt or decrypt using the S/MIME protocol\n"
@@ -8873,47 +8900,27 @@ msgstr ""
 "Sign, check, encrypt or decrypt using the S/MIME protocol\n"
 "Default operation depends on the input data\n"
 
-#: sm/gpgsm.c:777
+#: sm/gpgsm.c:784
 #, c-format
 msgid "Note: won't be able to encrypt to '%s': %s\n"
 msgstr "Note: won't be able to encrypt to '%s': %s\n"
 
-#: sm/gpgsm.c:788
+#: sm/gpgsm.c:795
 #, c-format
 msgid "unknown validation model '%s'\n"
 msgstr "unknown validation model ‘%s’\n"
 
-#: sm/gpgsm.c:839 dirmngr/ldapserver.c:86
-#, c-format
-msgid "%s:%u: no hostname given\n"
-msgstr "%s:%u: no hostname given\n"
-
-#: sm/gpgsm.c:858 dirmngr/ldapserver.c:105
-#, c-format
-msgid "%s:%u: password given without user\n"
-msgstr "%s:%u: password given without user\n"
-
-#: sm/gpgsm.c:879 dirmngr/ldapserver.c:126
-#, c-format
-msgid "%s:%u: skipping this line\n"
-msgstr "%s:%u: skipping this line\n"
-
-#: sm/gpgsm.c:1449
-#, c-format
-msgid "could not parse keyserver\n"
-msgstr "could not parse keyserver\n"
-
-#: sm/gpgsm.c:1712
+#: sm/gpgsm.c:1612
 #, c-format
 msgid "importing common certificates '%s'\n"
 msgstr "importing common certificates ‘%s’\n"
 
-#: sm/gpgsm.c:1755
+#: sm/gpgsm.c:1655
 #, c-format
 msgid "can't sign using '%s': %s\n"
 msgstr "can't sign using '%s': %s\n"
 
-#: sm/gpgsm.c:2122
+#: sm/gpgsm.c:2028
 #, c-format
 msgid "invalid command (there is no implicit command)\n"
 msgstr "invalid command (there is no implicit command)\n"
@@ -8933,7 +8940,7 @@ msgstr "error storing certificate\n"
 msgid "basic certificate checks failed - not imported\n"
 msgstr "basic certificate checks failed - not imported\n"
 
-#: sm/import.c:472 sm/keydb.c:1229 sm/keydb.c:1319
+#: sm/import.c:472 sm/keydb.c:1209 sm/keydb.c:1300
 #, c-format
 msgid "error getting stored flags: %s\n"
 msgstr "error getting stored flags: %s\n"
@@ -8948,27 +8955,27 @@ msgstr "error importing certificate: %s\n"
 msgid "error reading input: %s\n"
 msgstr "error reading input: %s\n"
 
-#: sm/keydb.c:1148
+#: sm/keydb.c:1127
 #, c-format
 msgid "problem looking for existing certificate: %s\n"
 msgstr "problem looking for existing certificate: %s\n"
 
-#: sm/keydb.c:1160
+#: sm/keydb.c:1139
 #, c-format
 msgid "error finding writable keyDB: %s\n"
 msgstr "error finding writable keyDB: %s\n"
 
-#: sm/keydb.c:1168
+#: sm/keydb.c:1147
 #, c-format
 msgid "error storing certificate: %s\n"
 msgstr "error storing certificate: %s\n"
 
-#: sm/keydb.c:1220
+#: sm/keydb.c:1200
 #, c-format
 msgid "problem re-searching certificate: %s\n"
 msgstr "problem re-searching certificate: %s\n"
 
-#: sm/keydb.c:1241 sm/keydb.c:1330
+#: sm/keydb.c:1221 sm/keydb.c:1311
 #, c-format
 msgid "error storing flags: %s\n"
 msgstr "error storing flags: %s\n"
@@ -9009,7 +9016,7 @@ msgstr ""
 "\n"
 "%s%sAre you really sure that you want to do this?"
 
-#: sm/qualified.c:215 sm/verify.c:678
+#: sm/qualified.c:215 sm/verify.c:679
 #, c-format
 msgid ""
 "Note, that this software is not officially approved to create or verify such "
@@ -9059,24 +9066,24 @@ msgstr "[date not given]"
 msgid "algorithm:"
 msgstr "algorithm:"
 
-#: sm/verify.c:535
+#: sm/verify.c:536
 #, c-format
 msgid ""
 "invalid signature: message digest attribute does not match computed one\n"
 msgstr ""
 "invalid signature: message digest attribute does not match computed one\n"
 
-#: sm/verify.c:656
+#: sm/verify.c:657
 #, c-format
 msgid "Good signature from"
 msgstr "Good signature from"
 
-#: sm/verify.c:657
+#: sm/verify.c:658
 #, c-format
 msgid "                aka"
 msgstr "                aka"
 
-#: sm/verify.c:675
+#: sm/verify.c:676
 #, c-format
 msgid "This is a qualified signature\n"
 msgstr "This is a qualified signature\n"
@@ -9697,7 +9704,7 @@ msgid "error retrieving '%s': %s\n"
 msgstr "error retrieving '%s': %s\n"
 
 #: dirmngr/crlfetch.c:218 dirmngr/ldap-wrapper-ce.c:492
-#: dirmngr/ldap-wrapper.c:884 dirmngr/misc.c:573
+#: dirmngr/ldap-wrapper.c:885 dirmngr/misc.c:573
 #, c-format
 msgid "error initializing reader object: %s\n"
 msgstr "error initializing reader object: %s\n"
@@ -9853,112 +9860,112 @@ msgstr "absolute file name expected\n"
 msgid "looking up '%s'\n"
 msgstr "looking up ‘%s’\n"
 
-#: dirmngr/dirmngr.c:170
+#: dirmngr/dirmngr.c:171
 msgid "list the contents of the CRL cache"
 msgstr "list the contents of the CRL cache"
 
-#: dirmngr/dirmngr.c:171
+#: dirmngr/dirmngr.c:172
 msgid "|FILE|load CRL from FILE into cache"
 msgstr "|FILE|load CRL from FILE into cache"
 
-#: dirmngr/dirmngr.c:172
+#: dirmngr/dirmngr.c:173
 msgid "|URL|fetch a CRL from URL"
 msgstr "|URL|fetch a CRL from URL"
 
-#: dirmngr/dirmngr.c:173
+#: dirmngr/dirmngr.c:174
 msgid "shutdown the dirmngr"
 msgstr "shutdown the dirmngr"
 
-#: dirmngr/dirmngr.c:174
+#: dirmngr/dirmngr.c:175
 msgid "flush the cache"
 msgstr "flush the cache"
 
-#: dirmngr/dirmngr.c:190 tools/gpgconf-comp.c:522 tools/gpgconf-comp.c:741
-#: tools/gpgconf-comp.c:854 tools/gpgconf-comp.c:950
+#: dirmngr/dirmngr.c:191 tools/gpgconf-comp.c:522 tools/gpgconf-comp.c:745
+#: tools/gpgconf-comp.c:858 tools/gpgconf-comp.c:954
 msgid "|FILE|write server mode logs to FILE"
 msgstr "|FILE|write server mode logs to FILE"
 
-#: dirmngr/dirmngr.c:191
+#: dirmngr/dirmngr.c:192
 msgid "run without asking a user"
 msgstr "run without asking a user"
 
-#: dirmngr/dirmngr.c:192
+#: dirmngr/dirmngr.c:193
 msgid "force loading of outdated CRLs"
 msgstr "force loading of outdated CRLs"
 
-#: dirmngr/dirmngr.c:193
+#: dirmngr/dirmngr.c:194
 msgid "allow sending OCSP requests"
 msgstr "allow sending OCSP requests"
 
-#: dirmngr/dirmngr.c:195
+#: dirmngr/dirmngr.c:196
 msgid "allow online software version check"
 msgstr "allow online software version check"
 
-#: dirmngr/dirmngr.c:196
+#: dirmngr/dirmngr.c:197
 msgid "inhibit the use of HTTP"
 msgstr "inhibit the use of HTTP"
 
-#: dirmngr/dirmngr.c:197
+#: dirmngr/dirmngr.c:198
 msgid "inhibit the use of LDAP"
 msgstr "inhibit the use of LDAP"
 
-#: dirmngr/dirmngr.c:199
+#: dirmngr/dirmngr.c:200
 msgid "ignore HTTP CRL distribution points"
 msgstr "ignore HTTP CRL distribution points"
 
-#: dirmngr/dirmngr.c:201
+#: dirmngr/dirmngr.c:202
 msgid "ignore LDAP CRL distribution points"
 msgstr "ignore LDAP CRL distribution points"
 
-#: dirmngr/dirmngr.c:203
+#: dirmngr/dirmngr.c:204
 msgid "ignore certificate contained OCSP service URLs"
 msgstr "ignore certificate contained OCSP service URLs"
 
-#: dirmngr/dirmngr.c:206
+#: dirmngr/dirmngr.c:207
 msgid "|URL|redirect all HTTP requests to URL"
 msgstr "|URL|redirect all HTTP requests to URL"
 
-#: dirmngr/dirmngr.c:208
+#: dirmngr/dirmngr.c:209
 msgid "|HOST|use HOST for LDAP queries"
 msgstr "|HOST|use HOST for LDAP queries"
 
-#: dirmngr/dirmngr.c:210
+#: dirmngr/dirmngr.c:211
 msgid "do not use fallback hosts with --ldap-proxy"
 msgstr "do not use fallback hosts with --ldap-proxy"
 
-#: dirmngr/dirmngr.c:213
+#: dirmngr/dirmngr.c:216
 msgid "|FILE|read LDAP server list from FILE"
 msgstr "|FILE|read LDAP server list from FILE"
 
-#: dirmngr/dirmngr.c:215
+#: dirmngr/dirmngr.c:218
 msgid "add new servers discovered in CRL distribution points to serverlist"
 msgstr "add new servers discovered in CRL distribution points to serverlist"
 
-#: dirmngr/dirmngr.c:218 dirmngr/dirmngr_ldap.c:137
+#: dirmngr/dirmngr.c:221
 msgid "|N|set LDAP timeout to N seconds"
 msgstr "|N|set LDAP timeout to N seconds"
 
-#: dirmngr/dirmngr.c:221
+#: dirmngr/dirmngr.c:224
 msgid "|URL|use OCSP responder at URL"
 msgstr "|URL|use OCSP responder at URL"
 
-#: dirmngr/dirmngr.c:223
+#: dirmngr/dirmngr.c:226
 msgid "|FPR|OCSP response signed by FPR"
 msgstr "|FPR|OCSP response signed by FPR"
 
-#: dirmngr/dirmngr.c:229
+#: dirmngr/dirmngr.c:232
 msgid "|N|do not return more than N items in one query"
 msgstr "|N|do not return more than N items in one query"
 
-#: dirmngr/dirmngr.c:234
+#: dirmngr/dirmngr.c:237
 msgid "|FILE|use the CA certificates in FILE for HKP over TLS"
 msgstr "|FILE|use the CA certificates in FILE for HKP over TLS"
 
-#: dirmngr/dirmngr.c:236
+#: dirmngr/dirmngr.c:239
 msgid "route all network traffic via Tor"
 msgstr "route all network traffic via Tor"
 
-#: dirmngr/dirmngr.c:265
+#: dirmngr/dirmngr.c:268
 msgid ""
 "@\n"
 "(See the \"info\" manual for a complete listing of all commands and "
@@ -9967,11 +9974,11 @@ msgstr ""
 "@\n"
 "(See the “info” manual for a complete listing of all commands and options)\n"
 
-#: dirmngr/dirmngr.c:407
+#: dirmngr/dirmngr.c:415
 msgid "Usage: @DIRMNGR@ [options] (-h for help)"
 msgstr "Usage: @DIRMNGR@ [options] (-h for help)"
 
-#: dirmngr/dirmngr.c:409
+#: dirmngr/dirmngr.c:417
 msgid ""
 "Syntax: @DIRMNGR@ [options] [command [args]]\n"
 "Keyserver, CRL, and OCSP access for @GNUPG@\n"
@@ -9979,269 +9986,103 @@ msgstr ""
 "Syntax: @DIRMNGR@ [options] [command [args]]\n"
 "Keyserver, CRL, and OCSP access for @GNUPG@\n"
 
-#: dirmngr/dirmngr.c:489
+#: dirmngr/dirmngr.c:497
 #, c-format
 msgid "valid debug levels are: %s\n"
 msgstr "valid debug levels are: %s\n"
 
-#: dirmngr/dirmngr.c:575 tools/gpgconf.c:647 tools/gpgconf.c:682
+#: dirmngr/dirmngr.c:583 tools/gpgconf.c:647 tools/gpgconf.c:682
 #: tools/gpgconf.c:780
 #, c-format
 msgid "usage: %s [options] "
 msgstr "usage: %s [options] "
 
-#: dirmngr/dirmngr.c:1212
+#: dirmngr/dirmngr.c:1249
 #, c-format
 msgid "colons are not allowed in the socket name\n"
 msgstr "colons are not allowed in the socket name\n"
 
-#: dirmngr/dirmngr.c:1444 dirmngr/server.c:1824
+#: dirmngr/dirmngr.c:1481 dirmngr/server.c:1878
 #, c-format
 msgid "fetching CRL from '%s' failed: %s\n"
 msgstr "fetching CRL from ‘%s’ failed: %s\n"
 
-#: dirmngr/dirmngr.c:1450 dirmngr/server.c:1830
+#: dirmngr/dirmngr.c:1487 dirmngr/server.c:1884
 #, c-format
 msgid "processing CRL from '%s' failed: %s\n"
 msgstr "processing CRL from ‘%s’ failed: %s\n"
 
-#: dirmngr/dirmngr.c:1645
+#: dirmngr/dirmngr.c:1682
 #, c-format
 msgid "%s:%u: line too long - skipped\n"
 msgstr "%s:%u: line too long - skipped\n"
 
-#: dirmngr/dirmngr.c:1700 dirmngr/dirmngr.c:1784
+#: dirmngr/dirmngr.c:1737 dirmngr/dirmngr.c:1821
 #, c-format
 msgid "%s:%u: invalid fingerprint detected\n"
 msgstr "%s:%u: invalid fingerprint detected\n"
 
-#: dirmngr/dirmngr.c:1736 dirmngr/dirmngr.c:1762 tools/gpgconf-comp.c:4191
+#: dirmngr/dirmngr.c:1773 dirmngr/dirmngr.c:1799 tools/gpgconf-comp.c:4199
 #, c-format
 msgid "%s:%u: read error: %s\n"
 msgstr "%s:%u: read error: %s\n"
 
-#: dirmngr/dirmngr.c:1791
+#: dirmngr/dirmngr.c:1828
 #, c-format
 msgid "%s:%u: garbage at end of line ignored\n"
 msgstr "%s:%u: garbage at end of line ignored\n"
 
-#: dirmngr/dirmngr.c:1860
+#: dirmngr/dirmngr.c:1897
 #, c-format
 msgid "SIGHUP received - re-reading configuration and flushing caches\n"
 msgstr "SIGHUP received - re-reading configuration and flushing caches\n"
 
-#: dirmngr/dirmngr.c:1900
+#: dirmngr/dirmngr.c:1937
 #, c-format
 msgid "SIGUSR2 received - no action defined\n"
 msgstr "SIGUSR2 received - no action defined\n"
 
-#: dirmngr/dirmngr.c:1905
+#: dirmngr/dirmngr.c:1942
 #, c-format
 msgid "SIGTERM received - shutting down ...\n"
 msgstr "SIGTERM received - shutting down ...\n"
 
-#: dirmngr/dirmngr.c:1907
+#: dirmngr/dirmngr.c:1944
 #, c-format
 msgid "SIGTERM received - still %d active connections\n"
 msgstr "SIGTERM received - still %d active connections\n"
 
-#: dirmngr/dirmngr.c:1912
+#: dirmngr/dirmngr.c:1949
 #, c-format
 msgid "shutdown forced\n"
 msgstr "shutdown forced\n"
 
-#: dirmngr/dirmngr.c:1920
+#: dirmngr/dirmngr.c:1957
 #, c-format
 msgid "SIGINT received - immediate shutdown\n"
 msgstr "SIGINT received - immediate shutdown\n"
 
-#: dirmngr/dirmngr.c:1927
+#: dirmngr/dirmngr.c:1964
 #, c-format
 msgid "signal %d received - no action defined\n"
 msgstr "signal %d received - no action defined\n"
 
-#: dirmngr/dirmngr_ldap.c:138
-msgid "return all values in a record oriented format"
-msgstr "return all values in a record oriented format"
-
-#: dirmngr/dirmngr_ldap.c:141
-msgid "|NAME|ignore host part and connect through NAME"
-msgstr "|NAME|ignore host part and connect through NAME"
-
-#: dirmngr/dirmngr_ldap.c:142
-msgid "|NAME|connect to host NAME"
-msgstr "|NAME|connect to host NAME"
-
-#: dirmngr/dirmngr_ldap.c:143
-msgid "|N|connect to port N"
-msgstr "|N|connect to port N"
-
-#: dirmngr/dirmngr_ldap.c:144
-msgid "|NAME|use user NAME for authentication"
-msgstr "|NAME|use user NAME for authentication"
-
-#: dirmngr/dirmngr_ldap.c:145
-msgid "|PASS|use password PASS for authentication"
-msgstr "|PASS|use password PASS for authentication"
-
-#: dirmngr/dirmngr_ldap.c:147
-msgid "take password from $DIRMNGR_LDAP_PASS"
-msgstr "take password from $DIRMNGR_LDAP_PASS"
-
-#: dirmngr/dirmngr_ldap.c:148
-msgid "|STRING|query DN STRING"
-msgstr "|STRING|query DN STRING"
-
-#: dirmngr/dirmngr_ldap.c:149
-msgid "|STRING|use STRING as filter expression"
-msgstr "|STRING|use STRING as filter expression"
-
-#: dirmngr/dirmngr_ldap.c:150
-msgid "|STRING|return the attribute STRING"
-msgstr "|STRING|return the attribute STRING"
-
-#: dirmngr/dirmngr_ldap.c:211
-msgid "Usage: dirmngr_ldap [options] [URL] (-h for help)\n"
-msgstr "Usage: dirmngr_ldap [options] [URL] (-h for help)\n"
-
-#: dirmngr/dirmngr_ldap.c:214
-msgid ""
-"Syntax: dirmngr_ldap [options] [URL]\n"
-"Internal LDAP helper for Dirmngr\n"
-"Interface and options may change without notice\n"
-msgstr ""
-"Syntax: dirmngr_ldap [options] [URL]\n"
-"Internal LDAP helper for Dirmngr\n"
-"Interface and options may change without notice\n"
-
-#: dirmngr/dirmngr_ldap.c:340
-#, c-format
-msgid "invalid port number %d\n"
-msgstr "invalid port number %d\n"
-
-#: dirmngr/dirmngr_ldap.c:456
-#, c-format
-msgid "scanning result for attribute '%s'\n"
-msgstr "scanning result for attribute ‘%s’\n"
-
-#: dirmngr/dirmngr_ldap.c:463 dirmngr/dirmngr_ldap.c:546
-#: dirmngr/dirmngr_ldap.c:570 dirmngr/dirmngr_ldap.c:582
-#: dirmngr/dirmngr_ldap.c:720
-#, c-format
-msgid "error writing to stdout: %s\n"
-msgstr "error writing to stdout: %s\n"
-
-#: dirmngr/dirmngr_ldap.c:480
-#, c-format
-msgid "          available attribute '%s'\n"
-msgstr "          available attribute ‘%s’\n"
-
-#: dirmngr/dirmngr_ldap.c:518
-#, c-format
-msgid "attribute '%s' not found\n"
-msgstr "attribute ‘%s’ not found\n"
-
-#: dirmngr/dirmngr_ldap.c:525
-#, c-format
-msgid "found attribute '%s'\n"
-msgstr "found attribute ‘%s’\n"
-
-#: dirmngr/dirmngr_ldap.c:634
-#, c-format
-msgid "processing url '%s'\n"
-msgstr "processing url ‘%s’\n"
-
-#: dirmngr/dirmngr_ldap.c:636
-#, c-format
-msgid "          user '%s'\n"
-msgstr "          user ‘%s’\n"
-
-#: dirmngr/dirmngr_ldap.c:638
-#, c-format
-msgid "          pass '%s'\n"
-msgstr "          pass ‘%s’\n"
-
-#: dirmngr/dirmngr_ldap.c:640
-#, c-format
-msgid "          host '%s'\n"
-msgstr "          host ‘%s’\n"
-
-#: dirmngr/dirmngr_ldap.c:641
-#, c-format
-msgid "          port %d\n"
-msgstr "          port %d\n"
-
-#: dirmngr/dirmngr_ldap.c:643
-#, c-format
-msgid "            DN '%s'\n"
-msgstr "            DN ‘%s’\n"
-
-#: dirmngr/dirmngr_ldap.c:645
-#, c-format
-msgid "        filter '%s'\n"
-msgstr "        filter ‘%s’\n"
-
-#: dirmngr/dirmngr_ldap.c:650 dirmngr/dirmngr_ldap.c:653
-#, c-format
-msgid "          attr '%s'\n"
-msgstr "          attr ‘%s’\n"
-
-#: dirmngr/dirmngr_ldap.c:659
-#, c-format
-msgid "no host name in '%s'\n"
-msgstr "no host name in ‘%s’\n"
-
-#: dirmngr/dirmngr_ldap.c:664
-#, c-format
-msgid "no attribute given for query '%s'\n"
-msgstr "no attribute given for query ‘%s’\n"
-
-#: dirmngr/dirmngr_ldap.c:670
-#, c-format
-msgid "WARNING: using first attribute only\n"
-msgstr "WARNING: using first attribute only\n"
-
-#: dirmngr/dirmngr_ldap.c:679
-#, c-format
-msgid "LDAP init to '%s:%d' failed: %s\n"
-msgstr "LDAP init to ‘%s:%d’ failed: %s\n"
-
-#: dirmngr/dirmngr_ldap.c:702
-#, c-format
-msgid "binding to '%s:%d' failed: %s\n"
-msgstr "binding to ‘%s:%d’ failed: %s\n"
-
-#: dirmngr/dirmngr_ldap.c:729
-#, c-format
-msgid "searching '%s' failed: %s\n"
-msgstr "searching ‘%s’ failed: %s\n"
-
-#: dirmngr/dirmngr_ldap.c:761
-#, c-format
-msgid "'%s' is not an LDAP URL\n"
-msgstr "‘%s’ is not an LDAP URL\n"
-
-#: dirmngr/dirmngr_ldap.c:767
-#, c-format
-msgid "'%s' is an invalid LDAP URL\n"
-msgstr "‘%s’ is an invalid LDAP URL\n"
-
-#: dirmngr/http.c:1987 dirmngr/ocsp.c:255
+#: dirmngr/http.c:1993 dirmngr/ocsp.c:255
 #, c-format
 msgid "error accessing '%s': http status %u\n"
 msgstr "error accessing '%s': http status %u\n"
 
-#: dirmngr/http.c:3629 dirmngr/ocsp.c:229
+#: dirmngr/http.c:3644 dirmngr/ocsp.c:229
 #, c-format
 msgid "URL '%s' redirected to '%s' (%u)\n"
 msgstr "URL ‘%s’ redirected to ‘%s’ (%u)\n"
 
-#: dirmngr/http.c:3635 dirmngr/ocsp.c:246
+#: dirmngr/http.c:3650 dirmngr/ocsp.c:246
 #, c-format
 msgid "too many redirections\n"
 msgstr "too many redirections\n"
 
-#: dirmngr/http.c:3747
+#: dirmngr/http.c:3762
 #, c-format
 msgid "redirection changed to '%s'\n"
 msgstr "redirection changed to ‘%s’\n"
@@ -10281,31 +10122,51 @@ msgstr "waiting for ldap wrapper %d failed: %s\n"
 msgid "ldap wrapper %d stalled - killing\n"
 msgstr "ldap wrapper %d stalled - killing\n"
 
-#: dirmngr/ldap.c:91
+#: dirmngr/ldap.c:92
 #, c-format
 msgid "invalid char 0x%02x in host name - not added\n"
 msgstr "invalid char 0x%02x in host name - not added\n"
 
-#: dirmngr/ldap.c:95
+#: dirmngr/ldap.c:96
 #, c-format
 msgid "adding '%s:%d' to the ldap server list\n"
 msgstr "adding ‘%s:%d’ to the ldap server list\n"
 
-#: dirmngr/ldap.c:98 dirmngr/misc.c:512
+#: dirmngr/ldap.c:99 dirmngr/misc.c:512
 #, c-format
 msgid "malloc failed: %s\n"
 msgstr "malloc failed: %s\n"
 
-#: dirmngr/ldap.c:627
+#: dirmngr/ldap.c:221
+#, c-format
+msgid "'%s' is not an LDAP URL\n"
+msgstr "‘%s’ is not an LDAP URL\n"
+
+#: dirmngr/ldap.c:227 dirmngr/ldap.c:233
 #, c-format
-msgid "start_cert_fetch: invalid pattern '%s'\n"
-msgstr "start_cert_fetch: invalid pattern ‘%s’\n"
+msgid "'%s' is an invalid LDAP URL\n"
+msgstr "‘%s’ is an invalid LDAP URL\n"
 
-#: dirmngr/ldap.c:839
+#: dirmngr/ldap.c:969
 #, c-format
 msgid "ldap_search hit the size limit of the server\n"
 msgstr "ldap_search hit the size limit of the server\n"
 
+#: dirmngr/ldapserver.c:117
+#, c-format
+msgid "%s:%u: password given without user\n"
+msgstr "%s:%u: password given without user\n"
+
+#: dirmngr/ldapserver.c:181
+#, c-format
+msgid "%s:%u: ignoring unknown flag '%s'\n"
+msgstr "%s:%u: ignoring unknown flag ‘%s’\n"
+
+#: dirmngr/ldapserver.c:203
+#, c-format
+msgid "%s:%u: skipping this line\n"
+msgstr "%s:%u: skipping this line\n"
+
 #: dirmngr/misc.c:172
 #, c-format
 msgid "invalid canonical S-expression found\n"
@@ -10485,71 +10346,67 @@ msgstr "OCSP responder returned an too old status\n"
 msgid "assuan_inquire(%s) failed: %s\n"
 msgstr "assuan_inquire(%s) failed: %s\n"
 
-#: dirmngr/server.c:1158
-msgid "ldapserver missing"
-msgstr "ldapserver missing"
-
-#: dirmngr/server.c:1224
+#: dirmngr/server.c:1277
 msgid "serialno missing in cert ID"
 msgstr "serialno missing in cert ID"
 
-#: dirmngr/server.c:1387 dirmngr/server.c:1473 dirmngr/server.c:1909
-#: dirmngr/server.c:1980 dirmngr/server.c:2552 dirmngr/server.c:2567
+#: dirmngr/server.c:1440 dirmngr/server.c:1526 dirmngr/server.c:1963
+#: dirmngr/server.c:2034 dirmngr/server.c:2662 dirmngr/server.c:2677
 #, c-format
 msgid "assuan_inquire failed: %s\n"
 msgstr "assuan_inquire failed: %s\n"
 
-#: dirmngr/server.c:1516
+#: dirmngr/server.c:1569
 #, c-format
 msgid "fetch_cert_by_url failed: %s\n"
 msgstr "fetch_cert_by_url failed: %s\n"
 
-#: dirmngr/server.c:1528 dirmngr/server.c:1559 dirmngr/server.c:1718
+#: dirmngr/server.c:1581 dirmngr/server.c:1612 dirmngr/server.c:1772
 #, c-format
 msgid "error sending data: %s\n"
 msgstr "error sending data: %s\n"
 
-#: dirmngr/server.c:1666
+#: dirmngr/server.c:1720
 #, c-format
 msgid "start_cert_fetch failed: %s\n"
 msgstr "start_cert_fetch failed: %s\n"
 
-#: dirmngr/server.c:1699
+#: dirmngr/server.c:1753
 #, c-format
 msgid "fetch_next_cert failed: %s\n"
 msgstr "fetch_next_cert failed: %s\n"
 
-#: dirmngr/server.c:1726
+#: dirmngr/server.c:1780
 #, c-format
 msgid "max_replies %d exceeded\n"
 msgstr "max_replies %d exceeded\n"
 
-#: dirmngr/server.c:2856
+#: dirmngr/server.c:2966
 #, c-format
 msgid "can't allocate control structure: %s\n"
 msgstr "can't allocate control structure: %s\n"
 
-#: dirmngr/server.c:2867
+#: dirmngr/server.c:2977
 #, c-format
 msgid "failed to allocate assuan context: %s\n"
 msgstr "failed to allocate assuan context: %s\n"
 
-#: dirmngr/server.c:2888
+#: dirmngr/server.c:2998
 #, c-format
 msgid "failed to initialize the server: %s\n"
 msgstr "failed to initialize the server: %s\n"
 
-#: dirmngr/server.c:2896
+#: dirmngr/server.c:3006
 #, c-format
 msgid "failed to the register commands with Assuan: %s\n"
 msgstr "failed to the register commands with Assuan: %s\n"
 
-#: dirmngr/server.c:2929
+#: dirmngr/server.c:3039
 #, c-format
 msgid "Assuan accept problem: %s\n"
 msgstr "Assuan accept problem: %s\n"
 
-#: dirmngr/server.c:2948
+#: dirmngr/server.c:3058
 #, c-format
 msgid "Assuan processing failed: %s\n"
 msgstr "Assuan processing failed: %s\n"
@@ -10686,21 +10543,21 @@ msgid "error sending standard options: %s\n"
 msgstr "error sending standard options: %s\n"
 
 #: tools/gpgconf-comp.c:481 tools/gpgconf-comp.c:617 tools/gpgconf-comp.c:692
-#: tools/gpgconf-comp.c:804 tools/gpgconf-comp.c:906
+#: tools/gpgconf-comp.c:808 tools/gpgconf-comp.c:910
 msgid "Options controlling the diagnostic output"
 msgstr "Options controlling the diagnostic output"
 
 #: tools/gpgconf-comp.c:494 tools/gpgconf-comp.c:630 tools/gpgconf-comp.c:705
-#: tools/gpgconf-comp.c:817 tools/gpgconf-comp.c:929
+#: tools/gpgconf-comp.c:821 tools/gpgconf-comp.c:933
 msgid "Options controlling the configuration"
 msgstr "Options controlling the configuration"
 
-#: tools/gpgconf-comp.c:517 tools/gpgconf-comp.c:659 tools/gpgconf-comp.c:736
-#: tools/gpgconf-comp.c:849 tools/gpgconf-comp.c:942
+#: tools/gpgconf-comp.c:517 tools/gpgconf-comp.c:659 tools/gpgconf-comp.c:740
+#: tools/gpgconf-comp.c:853 tools/gpgconf-comp.c:946
 msgid "Options useful for debugging"
 msgstr "Options useful for debugging"
 
-#: tools/gpgconf-comp.c:530 tools/gpgconf-comp.c:669 tools/gpgconf-comp.c:862
+#: tools/gpgconf-comp.c:530 tools/gpgconf-comp.c:669 tools/gpgconf-comp.c:866
 msgid "Options controlling the security"
 msgstr "Options controlling the security"
 
@@ -10748,11 +10605,11 @@ msgstr "do not allow the reuse of old passphrases"
 msgid "|N|set the Pinentry timeout to N seconds"
 msgstr "|N|set the Pinentry timeout to N seconds"
 
-#: tools/gpgconf-comp.c:707 tools/gpgconf-comp.c:819
+#: tools/gpgconf-comp.c:707 tools/gpgconf-comp.c:823
 msgid "|NAME|use NAME as default secret key"
 msgstr "|NAME|use NAME as default secret key"
 
-#: tools/gpgconf-comp.c:710 tools/gpgconf-comp.c:822
+#: tools/gpgconf-comp.c:710 tools/gpgconf-comp.c:826
 msgid "|NAME|encrypt to user ID NAME as well"
 msgstr "|NAME|encrypt to user ID NAME as well"
 
@@ -10760,127 +10617,127 @@ msgstr "|NAME|encrypt to user ID NAME as well"
 msgid "|SPEC|set up email aliases"
 msgstr "|SPEC|set up email aliases"
 
-#: tools/gpgconf-comp.c:749 tools/gpgconf-comp.c:981
+#: tools/gpgconf-comp.c:753 tools/gpgconf-comp.c:985
 msgid "Configuration for Keyservers"
 msgstr "Configuration for Keyservers"
 
-#: tools/gpgconf-comp.c:751 tools/gpgconf-comp.c:983
+#: tools/gpgconf-comp.c:755 tools/gpgconf-comp.c:987
 msgid "|URL|use keyserver at URL"
 msgstr "|URL|use keyserver at URL"
 
-#: tools/gpgconf-comp.c:754
+#: tools/gpgconf-comp.c:758
 msgid "allow PKA lookups (DNS requests)"
 msgstr "allow PKA lookups (DNS requests)"
 
-#: tools/gpgconf-comp.c:757
+#: tools/gpgconf-comp.c:761
 msgid "|MECHANISMS|use MECHANISMS to locate keys by mail address"
 msgstr "|MECHANISMS|use MECHANISMS to locate keys by mail address"
 
-#: tools/gpgconf-comp.c:760
+#: tools/gpgconf-comp.c:764
 msgid "import missing key from a signature"
 msgstr "import missing key from a signature"
 
-#: tools/gpgconf-comp.c:763
+#: tools/gpgconf-comp.c:767
 msgid "include the public key in signatures"
 msgstr "include the public key in signatures"
 
-#: tools/gpgconf-comp.c:770 tools/gpgconf-comp.c:831
+#: tools/gpgconf-comp.c:774 tools/gpgconf-comp.c:835
 msgid "disable all access to the dirmngr"
 msgstr "disable all access to the dirmngr"
 
-#: tools/gpgconf-comp.c:834
+#: tools/gpgconf-comp.c:838
 msgid "|NAME|use encoding NAME for PKCS#12 passphrases"
 msgstr "|NAME|use encoding NAME for PKCS#12 passphrases"
 
-#: tools/gpgconf-comp.c:870
+#: tools/gpgconf-comp.c:874
 msgid "do not check CRLs for root certificates"
 msgstr "do not check CRLs for root certificates"
 
-#: tools/gpgconf-comp.c:919
+#: tools/gpgconf-comp.c:923
 msgid "Options controlling the format of the output"
 msgstr "Options controlling the format of the output"
 
-#: tools/gpgconf-comp.c:961
+#: tools/gpgconf-comp.c:965
 msgid "Options controlling the interactivity and enforcement"
 msgstr "Options controlling the interactivity and enforcement"
 
-#: tools/gpgconf-comp.c:974
+#: tools/gpgconf-comp.c:978
 msgid "Options controlling the use of Tor"
 msgstr "Options controlling the use of Tor"
 
-#: tools/gpgconf-comp.c:988
+#: tools/gpgconf-comp.c:992
 msgid "Configuration for HTTP servers"
 msgstr "Configuration for HTTP servers"
 
-#: tools/gpgconf-comp.c:999
+#: tools/gpgconf-comp.c:1003
 msgid "use system's HTTP proxy setting"
 msgstr "use system's HTTP proxy setting"
 
-#: tools/gpgconf-comp.c:1004
+#: tools/gpgconf-comp.c:1008
 msgid "Configuration of LDAP servers to use"
 msgstr "Configuration of LDAP servers to use"
 
-#: tools/gpgconf-comp.c:1033
+#: tools/gpgconf-comp.c:1037
 msgid "LDAP server list"
 msgstr "LDAP server list"
 
-#: tools/gpgconf-comp.c:1041
+#: tools/gpgconf-comp.c:1045
 msgid "Configuration for OCSP"
 msgstr "Configuration for OCSP"
 
-#: tools/gpgconf-comp.c:1094
+#: tools/gpgconf-comp.c:1098
 msgid "OpenPGP"
 msgstr "OpenPGP"
 
-#: tools/gpgconf-comp.c:1095
+#: tools/gpgconf-comp.c:1099
 msgid "Private Keys"
 msgstr "Private Keys"
 
-#: tools/gpgconf-comp.c:1096
+#: tools/gpgconf-comp.c:1100
 msgid "Smartcards"
 msgstr "Smartcards"
 
-#: tools/gpgconf-comp.c:1097
+#: tools/gpgconf-comp.c:1101
 msgid "S/MIME"
 msgstr "S/MIME"
 
-#: tools/gpgconf-comp.c:1098
+#: tools/gpgconf-comp.c:1102
 msgid "Network"
 msgstr "Network"
 
-#: tools/gpgconf-comp.c:1099
+#: tools/gpgconf-comp.c:1103
 msgid "Passphrase Entry"
 msgstr "Passphrase Entry"
 
-#: tools/gpgconf-comp.c:1278
+#: tools/gpgconf-comp.c:1282
 msgid "Component not suitable for launching"
 msgstr "Component not suitable for launching"
 
-#: tools/gpgconf-comp.c:1284
+#: tools/gpgconf-comp.c:1288
 #, c-format
 msgid "Configuration file of component %s is broken\n"
 msgstr "Configuration file of component %s is broken\n"
 
-#: tools/gpgconf-comp.c:1287
+#: tools/gpgconf-comp.c:1291
 #, c-format
 msgid "Note: Use the command \"%s%s\" to get details.\n"
 msgstr "Note: Use the command “%s%s” to get details.\n"
 
-#: tools/gpgconf-comp.c:3446
+#: tools/gpgconf-comp.c:3454
 #, c-format
 msgid "External verification of component %s failed"
 msgstr "External verification of component %s failed"
 
-#: tools/gpgconf-comp.c:3597
+#: tools/gpgconf-comp.c:3605
 msgid "Note that group specifications are ignored\n"
 msgstr "Note that group specifications are ignored\n"
 
-#: tools/gpgconf-comp.c:4195
+#: tools/gpgconf-comp.c:4203
 #, c-format
 msgid "error closing '%s'\n"
 msgstr "error closing ‘%s’\n"
 
-#: tools/gpgconf-comp.c:4197
+#: tools/gpgconf-comp.c:4205
 #, c-format
 msgid "error parsing '%s'\n"
 msgstr "error parsing ‘%s’\n"
index 90f8468..ebaf16d 100644 (file)
--- a/po/eo.po
+++ b/po/eo.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: gnupg 1.0.6d\n"
 "Report-Msgid-Bugs-To: translations@gnupg.org\n"
-"POT-Creation-Date: 2021-01-11 18:47+0100\n"
+"POT-Creation-Date: 2021-06-10 18:59+0200\n"
 "PO-Revision-Date: 2002-04-14 14:33+0100\n"
 "Last-Translator: Edmund GRIMLEY EVANS <edmundo@rano.org>\n"
 "Language-Team: Esperanto <translation-team-eo@lists.sourceforge.net>\n"
@@ -108,7 +108,7 @@ msgid "Passphrase:"
 msgstr "malbona pasfrazo"
 
 #: agent/call-pinentry.c:1107 agent/call-pinentry.c:1359
-#: agent/command-ssh.c:3130 agent/genkey.c:416
+#: agent/command-ssh.c:3140 agent/genkey.c:416
 msgid "does not match - try again"
 msgstr ""
 
@@ -163,34 +163,34 @@ msgstr "malbona pasfrazo"
 msgid "ssh keys greater than %d bits are not supported\n"
 msgstr "protekto-metodo %d%s ne estas realigita\n"
 
-#: agent/command-ssh.c:862 common/dotlock.c:852 g10/card-util.c:932
-#: g10/exec.c:546 g10/export.c:1320 g10/gpg.c:1352 g10/keygen.c:4998
-#: g10/keyring.c:1322 g10/keyring.c:1637 g10/openfile.c:291 g10/sign.c:1009
-#: g10/sign.c:1323 g10/tdbio.c:753
+#: agent/command-ssh.c:862 common/dotlock.c:852 g10/card-util.c:933
+#: g10/exec.c:554 g10/export.c:1320 g10/gpg.c:1360 g10/keygen.c:4998
+#: g10/keyring.c:1322 g10/keyring.c:1637 g10/openfile.c:291 g10/sign.c:1008
+#: g10/sign.c:1322 g10/tdbio.c:753
 #, fuzzy, c-format
 #| msgid "can't create `%s': %s\n"
 msgid "can't create '%s': %s\n"
 msgstr "ne povas krei '%s': %s\n"
 
-#: agent/command-ssh.c:874 common/helpfile.c:57 g10/card-util.c:889
+#: agent/command-ssh.c:874 common/helpfile.c:57 g10/card-util.c:890
 #: g10/dearmor.c:59 g10/dearmor.c:106 g10/decrypt.c:65 g10/decrypt.c:136
-#: g10/decrypt.c:153 g10/encrypt.c:180 g10/encrypt.c:543 g10/gpg.c:1353
-#: g10/import.c:352 g10/import.c:536 g10/import.c:764 g10/keygen.c:4036
+#: g10/decrypt.c:153 g10/encrypt.c:180 g10/encrypt.c:543 g10/gpg.c:1361
+#: g10/import.c:364 g10/import.c:548 g10/import.c:776 g10/keygen.c:4036
 #: g10/keyring.c:1663 g10/openfile.c:195 g10/openfile.c:209 g10/plaintext.c:128
-#: g10/plaintext.c:649 g10/sign.c:991 g10/sign.c:1202 g10/sign.c:1307
-#: g10/sign.c:1452 g10/tdbdump.c:143 g10/tdbdump.c:151 g10/tdbio.c:758
-#: g10/tdbio.c:829 g10/verify.c:96 g10/verify.c:160 sm/gpgsm.c:2219
-#: sm/gpgsm.c:2249 sm/gpgsm.c:2287 sm/qualified.c:66 dirmngr/certcache.c:396
+#: g10/plaintext.c:649 g10/sign.c:990 g10/sign.c:1201 g10/sign.c:1306
+#: g10/sign.c:1451 g10/tdbdump.c:143 g10/tdbdump.c:151 g10/tdbio.c:758
+#: g10/tdbio.c:829 g10/verify.c:96 g10/verify.c:160 sm/gpgsm.c:2125
+#: sm/gpgsm.c:2155 sm/gpgsm.c:2193 sm/qualified.c:66 dirmngr/certcache.c:396
 #: dirmngr/certcache.c:476 dirmngr/certcache.c:478 dirmngr/crlcache.c:2588
-#: dirmngr/dirmngr.c:1722
+#: dirmngr/dirmngr.c:1759
 #, fuzzy, c-format
 #| msgid "can't open `%s': %s\n"
 msgid "can't open '%s': %s\n"
 msgstr "ne povas malfermi '%s': %s\n"
 
 #: agent/command-ssh.c:2385 agent/command-ssh.c:2431 agent/command-ssh.c:2449
-#: agent/command-ssh.c:2601 g10/card-util.c:687 g10/card-util.c:708
-#: g10/skclist.c:430
+#: agent/command-ssh.c:2601 g10/card-util.c:688 g10/card-util.c:709
+#: g10/skclist.c:435
 #, fuzzy, c-format
 msgid "error getting serial number of card: %s\n"
 msgstr "eraro dum kreado de pasfrazo: %s\n"
@@ -215,39 +215,39 @@ msgstr "neniu skribebla sekreta ŝlosilaro trovita: %s\n"
 msgid "error getting list of cards: %s\n"
 msgstr "eraro dum kreado de pasfrazo: %s\n"
 
-#: agent/command-ssh.c:2765
+#: agent/command-ssh.c:2775
 #, c-format
 msgid ""
 "An ssh process requested the use of key%%0A  %s%%0A  (%s)%%0ADo you want to "
 "allow this?"
 msgstr ""
 
-#: agent/command-ssh.c:2772
+#: agent/command-ssh.c:2782
 msgid "Allow"
 msgstr ""
 
-#: agent/command-ssh.c:2772
+#: agent/command-ssh.c:2782
 msgid "Deny"
 msgstr ""
 
-#: agent/command-ssh.c:2781
+#: agent/command-ssh.c:2791
 #, fuzzy, c-format
 msgid "Please enter the passphrase for the ssh key%%0A  %F%%0A  (%c)"
 msgstr "Bonvolu doni la pasfrazon; tio estas sekreta frazo \n"
 
-#: agent/command-ssh.c:3058 agent/genkey.c:351
+#: agent/command-ssh.c:3068 agent/genkey.c:351
 #, fuzzy
 msgid "Please re-enter this passphrase"
 msgstr "ŝanĝi la pasfrazon"
 
-#: agent/command-ssh.c:3085
+#: agent/command-ssh.c:3095
 #, fuzzy, c-format
 msgid ""
 "Please enter a passphrase to protect the received secret key%%0A   %s%%0A   "
 "%s%%0Awithin gpg-agent's key storage"
 msgstr "Bonvolu doni la pasfrazon; tio estas sekreta frazo \n"
 
-#: agent/command-ssh.c:3667
+#: agent/command-ssh.c:3677
 #, fuzzy, c-format
 msgid "failed to create stream from socket: %s\n"
 msgstr "%s: malsukcesis krei haktabelon: %s\n"
@@ -403,48 +403,46 @@ msgstr ""
 "Opcioj:\n"
 " "
 
-#: agent/gpg-agent.c:165 scd/scdaemon.c:120 dirmngr/dirmngr.c:166
+#: agent/gpg-agent.c:165 scd/scdaemon.c:120 dirmngr/dirmngr.c:167
 msgid "run in daemon mode (background)"
 msgstr ""
 
-#: agent/gpg-agent.c:166 scd/scdaemon.c:117 dirmngr/dirmngr.c:165
+#: agent/gpg-agent.c:166 scd/scdaemon.c:117 dirmngr/dirmngr.c:166
 msgid "run in server mode (foreground)"
 msgstr ""
 
-#: agent/gpg-agent.c:168 dirmngr/dirmngr.c:168
+#: agent/gpg-agent.c:168 dirmngr/dirmngr.c:169
 #, fuzzy
 #| msgid "Key is superseded"
 msgid "run in supervised mode"
 msgstr "Ŝlosilo estas anstataŭigita."
 
-#: agent/gpg-agent.c:170 g10/gpg.c:608 g10/gpgv.c:78 kbx/kbxutil.c:88
-#: scd/scdaemon.c:121 sm/gpgsm.c:310 dirmngr/dirmngr-client.c:70
-#: dirmngr/dirmngr.c:181 dirmngr/dirmngr_ldap.c:135
-#: tools/gpg-connect-agent.c:78 tools/gpgconf.c:108
+#: agent/gpg-agent.c:170 g10/gpg.c:605 g10/gpgv.c:78 kbx/kbxutil.c:88
+#: scd/scdaemon.c:121 sm/gpgsm.c:311 dirmngr/dirmngr-client.c:70
+#: dirmngr/dirmngr.c:182 tools/gpg-connect-agent.c:78 tools/gpgconf.c:108
 msgid "verbose"
 msgstr "detala eligo"
 
 #: agent/gpg-agent.c:171 g10/gpgv.c:79 kbx/kbxutil.c:89 scd/scdaemon.c:122
-#: sm/gpgsm.c:311 dirmngr/dirmngr-client.c:71 dirmngr/dirmngr.c:182
-#: dirmngr/dirmngr_ldap.c:136
+#: sm/gpgsm.c:312 dirmngr/dirmngr-client.c:71 dirmngr/dirmngr.c:183
 msgid "be somewhat more quiet"
 msgstr "iom malpli da informoj"
 
-#: agent/gpg-agent.c:172 scd/scdaemon.c:123 dirmngr/dirmngr.c:183
+#: agent/gpg-agent.c:172 scd/scdaemon.c:123 dirmngr/dirmngr.c:184
 msgid "sh-style command output"
 msgstr ""
 
-#: agent/gpg-agent.c:173 scd/scdaemon.c:124 dirmngr/dirmngr.c:184
+#: agent/gpg-agent.c:173 scd/scdaemon.c:124 dirmngr/dirmngr.c:185
 msgid "csh-style command output"
 msgstr ""
 
-#: agent/gpg-agent.c:174 scd/scdaemon.c:125 sm/gpgsm.c:341
-#: dirmngr/dirmngr.c:185
+#: agent/gpg-agent.c:174 scd/scdaemon.c:125 sm/gpgsm.c:344
+#: dirmngr/dirmngr.c:186
 #, fuzzy
 msgid "|FILE|read options from FILE"
 msgstr "|DOSIERO|legi aldonan bibliotekon DOSIERO"
 
-#: agent/gpg-agent.c:183 scd/scdaemon.c:135 dirmngr/dirmngr.c:188
+#: agent/gpg-agent.c:183 scd/scdaemon.c:135 dirmngr/dirmngr.c:189
 msgid "do not detach from the console"
 msgstr ""
 
@@ -530,9 +528,9 @@ msgstr "ne realigita"
 #. reporting address.  This is so that we can change the
 #. reporting address without breaking the translations.
 #: agent/gpg-agent.c:531 agent/preset-passphrase.c:100 agent/protect-tool.c:155
-#: g10/gpg.c:1070 g10/gpgv.c:149 kbx/kbxutil.c:113 scd/scdaemon.c:298
-#: sm/gpgsm.c:567 dirmngr/dirmngr-client.c:168 dirmngr/dirmngr.c:404
-#: dirmngr/dirmngr_ldap.c:207 tools/gpg-connect-agent.c:205 tools/gpgconf.c:146
+#: g10/gpg.c:1074 g10/gpgv.c:149 kbx/kbxutil.c:113 scd/scdaemon.c:299
+#: sm/gpgsm.c:570 dirmngr/dirmngr-client.c:168 dirmngr/dirmngr.c:412
+#: tools/gpg-connect-agent.c:205 tools/gpgconf.c:146
 #: tools/gpg-check-pattern.c:143
 #, fuzzy
 msgid "Please report bugs to <@EMAIL@>.\n"
@@ -549,38 +547,38 @@ msgid ""
 "Secret key management for @GNUPG@\n"
 msgstr ""
 
-#: agent/gpg-agent.c:587 g10/gpg.c:1262 scd/scdaemon.c:370 sm/gpgsm.c:715
-#: dirmngr/dirmngr.c:488
+#: agent/gpg-agent.c:587 g10/gpg.c:1270 scd/scdaemon.c:371 sm/gpgsm.c:718
+#: dirmngr/dirmngr.c:496
 #, c-format
 msgid "invalid debug-level '%s' given\n"
 msgstr ""
 
-#: agent/gpg-agent.c:945 g10/gpg.c:3753 g10/gpg.c:3777 sm/gpgsm.c:1631
-#: sm/gpgsm.c:1637
+#: agent/gpg-agent.c:945 g10/gpg.c:3773 g10/gpg.c:3797 sm/gpgsm.c:1531
+#: sm/gpgsm.c:1537
 #, c-format
 msgid "selected digest algorithm is invalid\n"
 msgstr "elektita kompendi-metodo ne validas\n"
 
 #: agent/gpg-agent.c:1168 agent/gpg-agent.c:2023 common/argparse.c:1755
-#: common/argparse.c:1847 g10/gpg.c:2482 scd/scdaemon.c:532 sm/gpgsm.c:1063
-#: dirmngr/dirmngr.c:956 dirmngr/dirmngr.c:1841
+#: common/argparse.c:1847 g10/gpg.c:2495 scd/scdaemon.c:533 sm/gpgsm.c:977
+#: dirmngr/dirmngr.c:994 dirmngr/dirmngr.c:1878
 #, fuzzy, c-format
 #| msgid "reading options from `%s'\n"
 msgid "reading options from '%s'\n"
 msgstr "legas opciojn el '%s'\n"
 
-#: agent/gpg-agent.c:1300 g10/gpg.c:3704 scd/scdaemon.c:655 sm/gpgsm.c:1571
-#: dirmngr/dirmngr.c:1067 tools/gpg-connect-agent.c:1244 tools/gpgconf.c:624
+#: agent/gpg-agent.c:1300 g10/gpg.c:3724 scd/scdaemon.c:657 sm/gpgsm.c:1471
+#: dirmngr/dirmngr.c:1102 tools/gpg-connect-agent.c:1244 tools/gpgconf.c:624
 #, fuzzy, c-format
 msgid "Note: '%s' is not considered an option\n"
 msgstr "AVERTO: '%s' estas malplena dosiero\n"
 
-#: agent/gpg-agent.c:2159 scd/scdaemon.c:1096 dirmngr/dirmngr.c:1219
+#: agent/gpg-agent.c:2159 scd/scdaemon.c:1098 dirmngr/dirmngr.c:1256
 #, fuzzy, c-format
 msgid "can't create socket: %s\n"
 msgstr "ne povas krei %s: %s\n"
 
-#: agent/gpg-agent.c:2176 scd/scdaemon.c:1109 dirmngr/dirmngr.c:1232
+#: agent/gpg-agent.c:2176 scd/scdaemon.c:1111 dirmngr/dirmngr.c:1269
 #, fuzzy, c-format
 msgid "socket name '%s' is too long\n"
 msgstr "Valida atestilrevoko"
@@ -590,29 +588,29 @@ msgstr "Valida atestilrevoko"
 msgid "a gpg-agent is already running - not starting a new one\n"
 msgstr "gpg-agent ne estas disponata en ĉi tiu sesio\n"
 
-#: agent/gpg-agent.c:2226 scd/scdaemon.c:1133 dirmngr/dirmngr.c:1264
+#: agent/gpg-agent.c:2226 scd/scdaemon.c:1135 dirmngr/dirmngr.c:1301
 #, fuzzy, c-format
 msgid "error getting nonce for the socket\n"
 msgstr "eraro dum kreado de pasfrazo: %s\n"
 
-#: agent/gpg-agent.c:2231 scd/scdaemon.c:1136 dirmngr/dirmngr.c:1267
+#: agent/gpg-agent.c:2231 scd/scdaemon.c:1138 dirmngr/dirmngr.c:1304
 #, fuzzy, c-format
 msgid "error binding socket to '%s': %s\n"
 msgstr "eraro dum sendo al '%s': %s\n"
 
 #: agent/gpg-agent.c:2242 agent/gpg-agent.c:2282 agent/gpg-agent.c:2291
-#: scd/scdaemon.c:1144 dirmngr/dirmngr.c:1276
+#: scd/scdaemon.c:1146 dirmngr/dirmngr.c:1313
 #, fuzzy, c-format
 msgid "can't set permissions of '%s': %s\n"
 msgstr "Averto: malsekuraj permesoj sur %s \"%s\"\n"
 
-#: agent/gpg-agent.c:2256 scd/scdaemon.c:1156 dirmngr/dirmngr.c:1288
+#: agent/gpg-agent.c:2256 scd/scdaemon.c:1158 dirmngr/dirmngr.c:1325
 #, fuzzy, c-format
 msgid "listening on socket '%s'\n"
 msgstr "skribas sekretan ŝlosilon al '%s'\n"
 
 #: agent/gpg-agent.c:2276 agent/gpg-agent.c:2329 common/homedir.c:517
-#: g10/exec.c:261 g10/openfile.c:397
+#: g10/exec.c:269 g10/openfile.c:397
 #, fuzzy, c-format
 msgid "can't create directory '%s': %s\n"
 msgstr "%s: ne povas krei dosierujon: %s\n"
@@ -633,7 +631,7 @@ msgstr "fido-datenaro: lego malsukcesis (n=%d): %s\n"
 msgid "can't use '%s' as home directory\n"
 msgstr "%s: ne povas krei dosierujon: %s\n"
 
-#: agent/gpg-agent.c:2502 scd/scdaemon.c:1172 dirmngr/dirmngr.c:2047
+#: agent/gpg-agent.c:2502 scd/scdaemon.c:1174 dirmngr/dirmngr.c:2084
 #, fuzzy, c-format
 msgid "error reading nonce on fd %d: %s\n"
 msgstr "eraro dum legado de '%s': %s\n"
@@ -658,12 +656,12 @@ msgstr ""
 msgid "ssh handler 0x%lx for fd %d terminated\n"
 msgstr ""
 
-#: agent/gpg-agent.c:3016 scd/scdaemon.c:1362 dirmngr/dirmngr.c:2261
+#: agent/gpg-agent.c:3016 scd/scdaemon.c:1366 dirmngr/dirmngr.c:2298
 #, fuzzy, c-format
 msgid "npth_pselect failed: %s - waiting 1s\n"
 msgstr "aktualigo de sekreto malsukcesis: %s\n"
 
-#: agent/gpg-agent.c:3104 scd/scdaemon.c:1427
+#: agent/gpg-agent.c:3104 scd/scdaemon.c:1431
 #, fuzzy, c-format
 msgid "%s %s stopped\n"
 msgstr "\t%lu ŝlosiloj ignoritaj\n"
@@ -685,8 +683,8 @@ msgid ""
 "Password cache maintenance\n"
 msgstr ""
 
-#: agent/protect-tool.c:108 g10/gpg.c:440 kbx/kbxutil.c:71 sm/gpgsm.c:204
-#: dirmngr/dirmngr.c:163 tools/gpgconf.c:78
+#: agent/protect-tool.c:108 g10/gpg.c:437 kbx/kbxutil.c:71 sm/gpgsm.c:205
+#: dirmngr/dirmngr.c:164 tools/gpgconf.c:78
 msgid ""
 "@Commands:\n"
 " "
@@ -694,8 +692,8 @@ msgstr ""
 "@Komandoj:\n"
 " "
 
-#: agent/protect-tool.c:117 g10/gpg.c:553 g10/gpgv.c:76 kbx/kbxutil.c:81
-#: sm/gpgsm.c:252 dirmngr/dirmngr.c:179 tools/gpg-connect-agent.c:76
+#: agent/protect-tool.c:117 g10/gpg.c:550 g10/gpgv.c:76 kbx/kbxutil.c:81
+#: sm/gpgsm.c:253 dirmngr/dirmngr.c:180 tools/gpg-connect-agent.c:76
 #: tools/gpgconf.c:105
 msgid ""
 "@\n"
@@ -717,12 +715,12 @@ msgid ""
 "Secret key maintenance tool\n"
 msgstr ""
 
-#: agent/protect-tool.c:703
+#: agent/protect-tool.c:703 sm/import.c:774
 #, fuzzy
 msgid "Please enter the passphrase to unprotect the PKCS#12 object."
 msgstr "Bonvolu doni la pasfrazon; tio estas sekreta frazo \n"
 
-#: agent/protect-tool.c:708
+#: agent/protect-tool.c:708 sm/export.c:710
 #, fuzzy
 msgid "Please enter the passphrase to protect the new PKCS#12 object."
 msgstr "Bonvolu doni la pasfrazon; tio estas sekreta frazo \n"
@@ -750,7 +748,7 @@ msgstr "nuligita de uzanto\n"
 msgid "error while asking for the passphrase: %s\n"
 msgstr "eraro dum kreado de pasfrazo: %s\n"
 
-#: agent/trustlist.c:154 agent/trustlist.c:364 dirmngr/dirmngr.c:1629
+#: agent/trustlist.c:154 agent/trustlist.c:364 dirmngr/dirmngr.c:1666
 #: tools/gpgconf.c:418
 #, fuzzy, c-format
 msgid "error opening '%s': %s\n"
@@ -906,7 +904,7 @@ msgstr "kontrolo de kreita subskribo malsukcesis: %s\n"
 msgid "secret key parts are not available\n"
 msgstr "sekretaj ŝlosilpartoj ne estas disponataj\n"
 
-#: agent/cvt-openpgp.c:344 g10/card-util.c:1540
+#: agent/cvt-openpgp.c:344 g10/card-util.c:1541
 #, fuzzy, c-format
 #| msgid "protection algorithm %d%s is not supported\n"
 msgid "public key algorithm %d (%s) is not supported\n"
@@ -924,21 +922,21 @@ msgstr "protekto-metodo %d%s ne estas realigita\n"
 msgid "protection hash algorithm %d (%s) is not supported\n"
 msgstr "protekto-metodo %d%s ne estas realigita\n"
 
-#: common/exechelp-posix.c:359 common/exechelp-w32.c:449
-#: common/exechelp-w32.c:473 common/exechelp-w32.c:503
+#: common/exechelp-posix.c:359 common/exechelp-w32.c:451
+#: common/exechelp-w32.c:475 common/exechelp-w32.c:505
 #, fuzzy, c-format
 msgid "error creating a pipe: %s\n"
 msgstr "eraro dum kreado de pasfrazo: %s\n"
 
 #: common/exechelp-posix.c:372 common/exechelp-w32.c:355
-#: common/exechelp-w32.c:459 common/exechelp-w32.c:483
-#: common/exechelp-w32.c:513
+#: common/exechelp-w32.c:461 common/exechelp-w32.c:485
+#: common/exechelp-w32.c:515
 #, fuzzy, c-format
 msgid "error creating a stream for a pipe: %s\n"
 msgstr "eraro dum kreado de pasfrazo: %s\n"
 
 #: common/exechelp-posix.c:495 common/exechelp-posix.c:570
-#: common/exechelp-posix.c:851 dirmngr/dirmngr.c:1306
+#: common/exechelp-posix.c:856 dirmngr/dirmngr.c:1343
 #, fuzzy, c-format
 msgid "error forking process: %s\n"
 msgstr "eraro dum legado de '%s': %s\n"
@@ -948,28 +946,28 @@ msgstr "eraro dum legado de '%s': %s\n"
 msgid "waiting for process %d to terminate failed: %s\n"
 msgstr ""
 
-#: common/exechelp-posix.c:678 common/exechelp-posix.c:794
+#: common/exechelp-posix.c:678 common/exechelp-posix.c:799
 #, fuzzy, c-format
 msgid "error running '%s': probably not installed\n"
 msgstr "eraro dum legado de '%s': %s\n"
 
-#: common/exechelp-posix.c:684 common/exechelp-posix.c:801
-#: common/exechelp-w32.c:796 common/exechelp-w32ce.c:781
+#: common/exechelp-posix.c:684 common/exechelp-posix.c:806
+#: common/exechelp-w32.c:829 common/exechelp-w32ce.c:781
 #, fuzzy, c-format
 msgid "error running '%s': exit status %d\n"
 msgstr "eraro dum legado de '%s': %s\n"
 
-#: common/exechelp-posix.c:692 common/exechelp-posix.c:809
+#: common/exechelp-posix.c:692 common/exechelp-posix.c:814
 #, fuzzy, c-format
 msgid "error running '%s': terminated\n"
 msgstr "eraro dum legado de '%s': %s\n"
 
-#: common/exechelp-posix.c:750 common/exechelp-w32.c:777
+#: common/exechelp-posix.c:755 common/exechelp-w32.c:810
 #, fuzzy, c-format
 msgid "waiting for processes to terminate failed: %s\n"
 msgstr "aktualigo malsukcesis: %s\n"
 
-#: common/exechelp-w32.c:789 common/exechelp-w32ce.c:775
+#: common/exechelp-w32.c:822 common/exechelp-w32ce.c:775
 #, fuzzy, c-format
 msgid "error getting exit code of process %d: %s\n"
 msgstr "eraro dum skribado de sekreta ŝlosilaro '%s': %s\n"
@@ -1067,7 +1065,7 @@ msgstr ""
 msgid "out of core while allocating %lu bytes"
 msgstr ""
 
-#: common/miscellaneous.c:115 g10/card-util.c:896 tools/no-libgcrypt.c:30
+#: common/miscellaneous.c:115 g10/card-util.c:897 tools/no-libgcrypt.c:30
 #, fuzzy, c-format
 msgid "error allocating enough memory: %s\n"
 msgstr "eraro dum kreado de ŝlosilaro '%s': %s\n"
@@ -1192,7 +1190,7 @@ msgid "algorithm: %s"
 msgstr "kiraso: %s\n"
 
 #: common/audit.c:774 common/audit.c:776 common/audit.c:921 common/audit.c:923
-#: scd/app-openpgp.c:3555
+#: scd/app-openpgp.c:3554
 #, fuzzy, c-format
 msgid "unsupported algorithm: %s"
 msgstr ""
@@ -1335,6 +1333,26 @@ msgstr "nekonata versio"
 msgid "invalid radix64 character %02x skipped\n"
 msgstr "nevalida signo %02x en bazo 64 ignorita\n"
 
+#: common/ttyio.c:433
+#, c-format
+msgid "Sorry, we are in batchmode - can't get input\n"
+msgstr ""
+
+#: common/ttyio.c:439
+#, c-format
+msgid "Sorry, no terminal at all requested - can't get input\n"
+msgstr ""
+
+#: common/ttyio.c:474 common/ttyio.c:484
+#, c-format
+msgid "too many errors; giving up\n"
+msgstr ""
+
+#: common/ttyio.c:536
+#, c-format
+msgid "Control-D detected\n"
+msgstr ""
+
 #: common/argparse.c:520
 #, fuzzy
 msgid "argument not expected"
@@ -1406,7 +1424,7 @@ msgstr "nevalida kiraso"
 msgid "missing argument for option \"%.50s\"\n"
 msgstr ""
 
-#: common/argparse.c:558 g10/gpg.c:3490
+#: common/argparse.c:558 g10/gpg.c:3510
 #, fuzzy, c-format
 msgid "invalid argument for option \"%.50s\"\n"
 msgstr "nevalida kiraso"
@@ -1478,31 +1496,31 @@ msgstr "%s: ne povas krei dosierujon: %s\n"
 msgid "error writing to '%s': %s\n"
 msgstr "eraro dum skribado de ŝlosilaro '%s': %s\n"
 
-#: common/dotlock.c:1129
+#: common/dotlock.c:1137
 #, c-format
 msgid "removing stale lockfile (created by %d)\n"
 msgstr ""
 
-#: common/dotlock.c:1165
+#: common/dotlock.c:1173
 #, fuzzy, c-format
 msgid "waiting for lock (held by %d%s) %s...\n"
 msgstr "skribas sekretan ŝlosilon al '%s'\n"
 
-#: common/dotlock.c:1166
+#: common/dotlock.c:1174
 msgid "(deadlock?) "
 msgstr ""
 
-#: common/dotlock.c:1205
+#: common/dotlock.c:1213
 #, fuzzy, c-format
 msgid "lock '%s' not made: %s\n"
 msgstr "publika ŝlosilo %08lX ne trovita: %s\n"
 
-#: common/dotlock.c:1232
+#: common/dotlock.c:1240
 #, fuzzy, c-format
 msgid "waiting for lock %s...\n"
 msgstr "skribas sekretan ŝlosilon al '%s'\n"
 
-#: common/init.c:185 sm/gpgsm.c:949 dirmngr/dirmngr.c:862 dirmngr/dirmngr.c:871
+#: common/init.c:191 sm/gpgsm.c:863 dirmngr/dirmngr.c:900 dirmngr/dirmngr.c:909
 #, c-format
 msgid "%s is too old (need %s, have %s)\n"
 msgstr ""
@@ -1690,12 +1708,12 @@ msgid "Note: Use the command \"%s\" to restart them.\n"
 msgstr "Bonvolu uzi la komandon \"toggle\" unue.\n"
 
 #: g10/call-agent.c:318 g10/encrypt.c:154 g10/encrypt.c:620 g10/sign.c:412
-#: sm/call-agent.c:205 sm/encrypt.c:425 sm/sign.c:345
+#: sm/call-agent.c:205 sm/encrypt.c:426 sm/sign.c:345
 #, fuzzy, c-format
 msgid "%s is not compliant with %s mode\n"
 msgstr "%s ne havas sencon kun %s!\n"
 
-#: g10/call-dirmngr.c:209 sm/call-dirmngr.c:268 tools/gpg-connect-agent.c:2253
+#: g10/call-dirmngr.c:209 sm/call-dirmngr.c:269 tools/gpg-connect-agent.c:2253
 #, fuzzy, c-format
 msgid "no dirmngr running in this session\n"
 msgstr "gpg-agent ne estas disponata en ĉi tiu sesio\n"
@@ -1737,23 +1755,23 @@ msgstr ""
 msgid "server uses an invalid certificate"
 msgstr "krei revokatestilon"
 
-#: g10/call-dirmngr.c:437 g10/gpg.c:4400
+#: g10/call-dirmngr.c:437 g10/gpg.c:4421
 #, fuzzy, c-format
 #| msgid "armor: %s\n"
 msgid "Note: %s\n"
 msgstr "kiraso: %s\n"
 
-#: g10/card-util.c:86 g10/card-util.c:366 g10/card-util.c:1902
+#: g10/card-util.c:86 g10/card-util.c:366 g10/card-util.c:1903
 #, fuzzy, c-format
 msgid "OpenPGP card not available: %s\n"
 msgstr "sekreta ŝlosilo ne havebla"
 
-#: g10/card-util.c:91 g10/card-util.c:1908
+#: g10/card-util.c:91 g10/card-util.c:1909
 #, c-format
 msgid "OpenPGP card no. %s detected\n"
 msgstr ""
 
-#: g10/card-util.c:97 g10/card-util.c:2237 g10/delkey.c:160 g10/keyedit.c:1422
+#: g10/card-util.c:97 g10/card-util.c:2238 g10/delkey.c:160 g10/keyedit.c:1423
 #: g10/keygen.c:4466 g10/revoke.c:214 g10/revoke.c:636
 #, fuzzy, c-format
 msgid "can't do this in batch mode\n"
@@ -1764,13 +1782,13 @@ msgstr "ne povas fari tion en neinteraga reĝimo\n"
 msgid "This command is only available for version 2 cards\n"
 msgstr "Tiu komando ne eblas en la reĝimo %s.\n"
 
-#: g10/card-util.c:107 scd/app-openpgp.c:2864
+#: g10/card-util.c:107 scd/app-openpgp.c:2863
 #, fuzzy, c-format
 msgid "Reset Code not or not anymore available\n"
 msgstr "sekretaj ŝlosilpartoj ne estas disponataj\n"
 
-#: g10/card-util.c:140 g10/card-util.c:1426 g10/card-util.c:1688
-#: g10/card-util.c:1780 g10/keyedit.c:394 g10/keyedit.c:415 g10/keyedit.c:429
+#: g10/card-util.c:140 g10/card-util.c:1427 g10/card-util.c:1689
+#: g10/card-util.c:1781 g10/keyedit.c:394 g10/keyedit.c:415 g10/keyedit.c:429
 #: g10/keygen.c:1808 g10/keygen.c:1980 g10/keygen.c:2186 g10/keygen.c:2477
 #: sm/certreqgen-ui.c:165 sm/certreqgen-ui.c:291 sm/certreqgen-ui.c:325
 msgid "Your selection? "
@@ -1797,213 +1815,213 @@ msgstr "ne traktita"
 msgid "forced"
 msgstr ""
 
-#: g10/card-util.c:749
+#: g10/card-util.c:750
 msgid "Error: Only plain ASCII is currently allowed.\n"
 msgstr ""
 
-#: g10/card-util.c:751
+#: g10/card-util.c:752
 msgid "Error: The \"<\" character may not be used.\n"
 msgstr ""
 
-#: g10/card-util.c:753
+#: g10/card-util.c:754
 msgid "Error: Double spaces are not allowed.\n"
 msgstr ""
 
-#: g10/card-util.c:770
+#: g10/card-util.c:771
 msgid "Cardholder's surname: "
 msgstr ""
 
-#: g10/card-util.c:772
+#: g10/card-util.c:773
 msgid "Cardholder's given name: "
 msgstr ""
 
-#: g10/card-util.c:790
+#: g10/card-util.c:791
 #, c-format
 msgid "Error: Combined name too long (limit is %d characters).\n"
 msgstr ""
 
-#: g10/card-util.c:811
+#: g10/card-util.c:812
 #, fuzzy
 msgid "URL to retrieve public key: "
 msgstr "skribas publikan ŝlosilon al '%s'\n"
 
-#: g10/card-util.c:905 g10/decrypt-data.c:490 g10/import.c:387 g10/import.c:734
-#: g10/import.c:786 dirmngr/crlcache.c:655 dirmngr/crlcache.c:660
-#: dirmngr/crlcache.c:914 dirmngr/crlcache.c:920 dirmngr/dirmngr.c:1668
+#: g10/card-util.c:906 g10/decrypt-data.c:490 g10/import.c:399 g10/import.c:746
+#: g10/import.c:798 dirmngr/crlcache.c:655 dirmngr/crlcache.c:660
+#: dirmngr/crlcache.c:914 dirmngr/crlcache.c:920 dirmngr/dirmngr.c:1705
 #: tools/gpgconf.c:431 tools/gpgconf.c:477
 #, fuzzy, c-format
 #| msgid "error reading `%s': %s\n"
 msgid "error reading '%s': %s\n"
 msgstr "eraro dum legado de '%s': %s\n"
 
-#: g10/card-util.c:938 g10/decrypt-data.c:493 g10/export.c:2467
+#: g10/card-util.c:939 g10/decrypt-data.c:493 g10/export.c:2467
 #: dirmngr/crlcache.c:925
 #, fuzzy, c-format
 msgid "error writing '%s': %s\n"
 msgstr "eraro dum skribado de ŝlosilaro '%s': %s\n"
 
-#: g10/card-util.c:965
+#: g10/card-util.c:966
 msgid "Login data (account name): "
 msgstr ""
 
-#: g10/card-util.c:1003
+#: g10/card-util.c:1004
 msgid "Private DO data: "
 msgstr ""
 
-#: g10/card-util.c:1088
+#: g10/card-util.c:1089
 #, fuzzy
 msgid "Language preferences: "
 msgstr "aktualigitaj preferoj"
 
-#: g10/card-util.c:1096
+#: g10/card-util.c:1097
 #, fuzzy
 msgid "Error: invalid length of preference string.\n"
 msgstr "nevalida signo en signoĉeno\n"
 
-#: g10/card-util.c:1105
+#: g10/card-util.c:1106
 #, fuzzy
 msgid "Error: invalid characters in preference string.\n"
 msgstr "nevalida signo en signoĉeno\n"
 
-#: g10/card-util.c:1127
+#: g10/card-util.c:1128
 msgid "Salutation (M = Mr., F = Ms., or space): "
 msgstr ""
 
-#: g10/card-util.c:1141
+#: g10/card-util.c:1142
 #, fuzzy
 msgid "Error: invalid response.\n"
 msgstr "%s: nevalida dosiero-versio %d\n"
 
-#: g10/card-util.c:1163
+#: g10/card-util.c:1164
 #, fuzzy
 msgid "CA fingerprint: "
 msgstr "Fingrospuro:"
 
-#: g10/card-util.c:1186
+#: g10/card-util.c:1187
 #, fuzzy
 msgid "Error: invalid formatted fingerprint.\n"
 msgstr "%s: nevalida dosiero-versio %d\n"
 
-#: g10/card-util.c:1236
+#: g10/card-util.c:1237
 #, fuzzy, c-format
 msgid "key operation not possible: %s\n"
 msgstr "Kreado de ŝlosiloj malsukcesis: %s\n"
 
-#: g10/card-util.c:1237
+#: g10/card-util.c:1238
 #, fuzzy
 msgid "not an OpenPGP card"
 msgstr "validaj OpenPGP-datenoj ne trovitaj.\n"
 
-#: g10/card-util.c:1250 g10/keygen.c:4486 g10/keygen.c:5565
+#: g10/card-util.c:1251 g10/keygen.c:4486 g10/keygen.c:5565
 #, fuzzy, c-format
 msgid "error getting current key info: %s\n"
 msgstr "eraro dum skribado de sekreta ŝlosilaro '%s': %s\n"
 
-#: g10/card-util.c:1335
+#: g10/card-util.c:1336
 msgid "Replace existing key? (y/N) "
 msgstr ""
 
-#: g10/card-util.c:1352
+#: g10/card-util.c:1353
 msgid ""
 "Note: There is no guarantee that the card supports the requested size.\n"
 "      If the key generation does not succeed, please check the\n"
 "      documentation of your card to see what sizes are allowed.\n"
 msgstr ""
 
-#: g10/card-util.c:1374 g10/keygen.c:2363 sm/certreqgen-ui.c:179
+#: g10/card-util.c:1375 g10/keygen.c:2363 sm/certreqgen-ui.c:179
 #, fuzzy, c-format
 msgid "What keysize do you want? (%u) "
 msgstr "Kiun ŝlosilgrandon vi deziras? (1024) "
 
-#: g10/card-util.c:1384 g10/keygen.c:2286 g10/keygen.c:2318
+#: g10/card-util.c:1385 g10/keygen.c:2286 g10/keygen.c:2318
 #: sm/certreqgen-ui.c:194
 #, c-format
 msgid "rounded up to %u bits\n"
 msgstr "rondigita ĝis %u bitoj\n"
 
-#: g10/card-util.c:1392 g10/keygen.c:2371 sm/certreqgen-ui.c:184
+#: g10/card-util.c:1393 g10/keygen.c:2371 sm/certreqgen-ui.c:184
 #, c-format
 msgid "%s keysizes must be in the range %u-%u\n"
 msgstr ""
 
-#: g10/card-util.c:1411
+#: g10/card-util.c:1412
 msgid "Changing card key attribute for: "
 msgstr ""
 
-#: g10/card-util.c:1413
+#: g10/card-util.c:1414
 #, fuzzy
 msgid "Signature key\n"
 msgstr "Ĉi tiu ŝlosilo eksvalidiĝos je %s.\n"
 
-#: g10/card-util.c:1415
+#: g10/card-util.c:1416
 #, fuzzy
 msgid "Encryption key\n"
 msgstr "   (%d) RSA (nur ĉifri)\n"
 
-#: g10/card-util.c:1417
+#: g10/card-util.c:1418
 msgid "Authentication key\n"
 msgstr ""
 
-#: g10/card-util.c:1419 g10/keygen.c:1926 sm/certreqgen-ui.c:157
+#: g10/card-util.c:1420 g10/keygen.c:1926 sm/certreqgen-ui.c:157
 msgid "Please select what kind of key you want:\n"
 msgstr "Bonvolu elekti, kian ŝlosilon vi deziras:\n"
 
-#: g10/card-util.c:1420 sm/certreqgen-ui.c:158
+#: g10/card-util.c:1421 sm/certreqgen-ui.c:158
 #, fuzzy, c-format
 msgid "   (%d) RSA\n"
 msgstr "   (%d) RSA (nur subskribi)\n"
 
-#: g10/card-util.c:1421
+#: g10/card-util.c:1422
 #, fuzzy, c-format
 msgid "   (%d) ECC\n"
 msgstr "   (%d) DSA kaj ElGamal (implicita elekto)\n"
 
-#: g10/card-util.c:1433 g10/card-util.c:1700 g10/card-util.c:1800
-#: g10/keyedit.c:899 g10/keygen.c:1834 g10/keygen.c:1862 g10/keygen.c:1987
+#: g10/card-util.c:1434 g10/card-util.c:1701 g10/card-util.c:1801
+#: g10/keyedit.c:900 g10/keygen.c:1834 g10/keygen.c:1862 g10/keygen.c:1987
 #: g10/keygen.c:2222 g10/keygen.c:2505 g10/revoke.c:838
 msgid "Invalid selection.\n"
 msgstr "Nevalida elekto.\n"
 
-#: g10/card-util.c:1506
+#: g10/card-util.c:1507
 #, c-format
 msgid "The card will now be re-configured to generate a key of %u bits\n"
 msgstr ""
 
-#: g10/card-util.c:1511
+#: g10/card-util.c:1512
 #, c-format
 msgid "The card will now be re-configured to generate a key of type: %s\n"
 msgstr ""
 
-#: g10/card-util.c:1547
+#: g10/card-util.c:1548
 #, fuzzy, c-format
 msgid "error changing key attribute for key %d: %s\n"
 msgstr "eraro dum sendo al '%s': %s\n"
 
-#: g10/card-util.c:1563 g10/card-util.c:2090
+#: g10/card-util.c:1564 g10/card-util.c:2091
 #, fuzzy, c-format
 msgid "error getting card info: %s\n"
 msgstr "eraro dum skribado de sekreta ŝlosilaro '%s': %s\n"
 
-#: g10/card-util.c:1569 g10/card-util.c:1914 g10/card-util.c:2096
+#: g10/card-util.c:1570 g10/card-util.c:1915 g10/card-util.c:2097
 #, fuzzy, c-format
 #| msgid "This command is not allowed while in %s mode.\n"
 msgid "This command is not supported by this card\n"
 msgstr "Tiu komando ne eblas en la reĝimo %s.\n"
 
-#: g10/card-util.c:1615
+#: g10/card-util.c:1616
 msgid "Make off-card backup of encryption key? (Y/n) "
 msgstr ""
 
-#: g10/card-util.c:1629
+#: g10/card-util.c:1630
 #, fuzzy, c-format
 msgid "Note: keys are already stored on the card!\n"
 msgstr "ignorita: sekreta ŝlosilo jam ĉeestas\n"
 
-#: g10/card-util.c:1632
+#: g10/card-util.c:1633
 msgid "Replace existing keys? (y/N) "
 msgstr ""
 
-#: g10/card-util.c:1644
+#: g10/card-util.c:1645
 #, c-format
 msgid ""
 "Please note that the factory settings of the PINs are\n"
@@ -2011,160 +2029,160 @@ msgid ""
 "You should change them using the command --change-pin\n"
 msgstr ""
 
-#: g10/card-util.c:1679
+#: g10/card-util.c:1680
 #, fuzzy
 msgid "Please select the type of key to generate:\n"
 msgstr "Bonvolu elekti, kian ŝlosilon vi deziras:\n"
 
-#: g10/card-util.c:1681 g10/card-util.c:1771
+#: g10/card-util.c:1682 g10/card-util.c:1772
 #, fuzzy
 msgid "   (1) Signature key\n"
 msgstr "Ĉi tiu ŝlosilo eksvalidiĝos je %s.\n"
 
-#: g10/card-util.c:1682 g10/card-util.c:1773
+#: g10/card-util.c:1683 g10/card-util.c:1774
 #, fuzzy
 msgid "   (2) Encryption key\n"
 msgstr "   (%d) RSA (nur ĉifri)\n"
 
-#: g10/card-util.c:1683 g10/card-util.c:1775
+#: g10/card-util.c:1684 g10/card-util.c:1776
 msgid "   (3) Authentication key\n"
 msgstr ""
 
-#: g10/card-util.c:1768
+#: g10/card-util.c:1769
 #, fuzzy
 msgid "Please select where to store the key:\n"
 msgstr "Kialo por revoko: "
 
-#: g10/card-util.c:1814
+#: g10/card-util.c:1815
 #, fuzzy, c-format
 msgid "KEYTOCARD failed: %s\n"
 msgstr "aktualigo malsukcesis: %s\n"
 
-#: g10/card-util.c:1919
+#: g10/card-util.c:1920
 #, fuzzy, c-format
 msgid "Note: This command destroys all keys stored on the card!\n"
 msgstr "ignorita: sekreta ŝlosilo jam ĉeestas\n"
 
-#: g10/card-util.c:1922
+#: g10/card-util.c:1923
 #, fuzzy
 msgid "Continue? (y/N) "
 msgstr "Ĉu vere subskribi? "
 
-#: g10/card-util.c:1927
+#: g10/card-util.c:1928
 msgid "Really do a factory reset? (enter \"yes\") "
 msgstr ""
 
-#: g10/card-util.c:2113
+#: g10/card-util.c:2114
 #, fuzzy, c-format
 msgid "error for setup KDF: %s\n"
 msgstr "eraro dum legado de '%s': %s\n"
 
-#: g10/card-util.c:2142 g10/keyedit.c:1259
+#: g10/card-util.c:2143 g10/keyedit.c:1260
 msgid "quit this menu"
 msgstr "forlasi ĉi tiun menuon"
 
-#: g10/card-util.c:2144
+#: g10/card-util.c:2145
 #, fuzzy
 msgid "show admin commands"
 msgstr "malkongruaj komandoj\n"
 
-#: g10/card-util.c:2145 g10/keyedit.c:1262
+#: g10/card-util.c:2146 g10/keyedit.c:1263
 msgid "show this help"
 msgstr "montri ĉi tiun helpon"
 
-#: g10/card-util.c:2147
+#: g10/card-util.c:2148
 #, fuzzy
 msgid "list all available data"
 msgstr "Nenia helpo disponata"
 
-#: g10/card-util.c:2150
+#: g10/card-util.c:2151
 msgid "change card holder's name"
 msgstr ""
 
-#: g10/card-util.c:2151
+#: g10/card-util.c:2152
 msgid "change URL to retrieve key"
 msgstr ""
 
-#: g10/card-util.c:2152
+#: g10/card-util.c:2153
 msgid "fetch the key specified in the card URL"
 msgstr ""
 
-#: g10/card-util.c:2153
+#: g10/card-util.c:2154
 #, fuzzy
 msgid "change the login name"
 msgstr "ŝanĝi la daton de eksvalidiĝo"
 
-#: g10/card-util.c:2154
+#: g10/card-util.c:2155
 #, fuzzy
 msgid "change the language preferences"
 msgstr "ŝanĝi la posedantofidon"
 
-#: g10/card-util.c:2155
+#: g10/card-util.c:2156
 msgid "change card holder's salutation"
 msgstr ""
 
-#: g10/card-util.c:2157
+#: g10/card-util.c:2158
 #, fuzzy
 msgid "change a CA fingerprint"
 msgstr "montri fingrospuron"
 
-#: g10/card-util.c:2158
+#: g10/card-util.c:2159
 msgid "toggle the signature force PIN flag"
 msgstr ""
 
-#: g10/card-util.c:2159
+#: g10/card-util.c:2160
 #, fuzzy
 msgid "generate new keys"
 msgstr "krei novan ŝlosilparon"
 
-#: g10/card-util.c:2160
+#: g10/card-util.c:2161
 msgid "menu to change or unblock the PIN"
 msgstr ""
 
-#: g10/card-util.c:2161
+#: g10/card-util.c:2162
 msgid "verify the PIN and list all data"
 msgstr ""
 
-#: g10/card-util.c:2162
+#: g10/card-util.c:2163
 msgid "unblock the PIN using a Reset Code"
 msgstr ""
 
-#: g10/card-util.c:2163
+#: g10/card-util.c:2164
 msgid "destroy all keys and data"
 msgstr ""
 
-#: g10/card-util.c:2164
+#: g10/card-util.c:2165
 #, fuzzy
 #| msgid "|NAME|use NAME as default recipient"
 msgid "setup KDF for PIN authentication"
 msgstr "|NOMO|uzi NOMOn kiel implicitan ricevonton"
 
-#: g10/card-util.c:2165
+#: g10/card-util.c:2166
 #, fuzzy
 #| msgid "change the ownertrust"
 msgid "change the key attribute"
 msgstr "ŝanĝi la posedantofidon"
 
-#: g10/card-util.c:2289
+#: g10/card-util.c:2290
 msgid "gpg/card> "
 msgstr ""
 
-#: g10/card-util.c:2330
+#: g10/card-util.c:2331
 #, fuzzy
 msgid "Admin-only command\n"
 msgstr "malkongruaj komandoj\n"
 
-#: g10/card-util.c:2361
+#: g10/card-util.c:2362
 #, fuzzy
 msgid "Admin commands are allowed\n"
 msgstr "malkongruaj komandoj\n"
 
-#: g10/card-util.c:2363
+#: g10/card-util.c:2364
 #, fuzzy
 msgid "Admin commands are not allowed\n"
 msgstr "skribas sekretan ŝlosilon al '%s'\n"
 
-#: g10/card-util.c:2466 g10/keyedit.c:2228
+#: g10/card-util.c:2467 g10/keyedit.c:2229
 msgid "Invalid command  (try \"help\")\n"
 msgstr "Nevalida komando (provu per \"helpo\")\n"
 
@@ -2173,22 +2191,22 @@ msgstr "Nevalida komando (provu per \"helpo\")\n"
 msgid "--output doesn't work for this command\n"
 msgstr "--output ne funkcias por ĉi tiu komando\n"
 
-#: g10/decrypt.c:247 g10/gpg.c:5083 g10/keyring.c:399 g10/keyring.c:750
+#: g10/decrypt.c:247 g10/gpg.c:5104 g10/keyring.c:399 g10/keyring.c:750
 #, fuzzy, c-format
 #| msgid "can't open `%s'\n"
 msgid "can't open '%s'\n"
 msgstr "ne povas malfermi '%s'\n"
 
 #: g10/delkey.c:83 g10/export.c:1947 g10/export.c:2230 g10/export.c:2351
-#: g10/getkey.c:1964 g10/gpg.c:5028 g10/keyedit.c:1444 g10/keyedit.c:2334
-#: g10/keyedit.c:2580 g10/keyedit.c:4543 g10/keylist.c:689 g10/keyserver.c:1259
+#: g10/getkey.c:2108 g10/gpg.c:5049 g10/keyedit.c:1445 g10/keyedit.c:2335
+#: g10/keyedit.c:2581 g10/keyedit.c:4544 g10/keylist.c:689 g10/keyserver.c:1092
 #: g10/revoke.c:230 g10/tofu.c:2165
 #, fuzzy, c-format
 msgid "key \"%s\" not found: %s\n"
 msgstr "ŝlosilo '%s' ne trovita: %s\n"
 
-#: g10/delkey.c:92 g10/export.c:2015 g10/getkey.c:1972 g10/getkey.c:4346
-#: g10/gpg.c:5037 g10/keyedit.c:2307 g10/keyserver.c:1277 g10/revoke.c:236
+#: g10/delkey.c:92 g10/export.c:2015 g10/getkey.c:2116 g10/getkey.c:4517
+#: g10/gpg.c:5058 g10/keyedit.c:2308 g10/keyserver.c:1110 g10/revoke.c:236
 #: g10/revoke.c:663 g10/tofu.c:2173
 #, c-format
 msgid "error reading keyblock: %s\n"
@@ -2249,9 +2267,9 @@ msgstr "ŝlosilo"
 msgid "subkey"
 msgstr "al"
 
-#: g10/delkey.c:299 g10/keyedit.c:2200 g10/keyedit.c:2210 g10/keyedit.c:2387
-#: g10/keyedit.c:2461 g10/keyedit.c:2532 g10/keyedit.c:2757 g10/keyedit.c:2987
-#: g10/keyedit.c:3056 g10/keyedit.c:3207
+#: g10/delkey.c:299 g10/keyedit.c:2201 g10/keyedit.c:2211 g10/keyedit.c:2388
+#: g10/keyedit.c:2462 g10/keyedit.c:2533 g10/keyedit.c:2758 g10/keyedit.c:2988
+#: g10/keyedit.c:3057 g10/keyedit.c:3208
 #, c-format
 msgid "update failed: %s\n"
 msgstr "aktualigo malsukcesis: %s\n"
@@ -2276,7 +2294,7 @@ msgstr "estas sekreta ŝlosilo por la publika ŝlosilo \"%s\"!\n"
 msgid "use option \"--delete-secret-keys\" to delete it first.\n"
 msgstr "uzu la opcion \"--delete-secret-key\" por forviŝi ĝin unue.\n"
 
-#: g10/encrypt.c:202 g10/sign.c:1471
+#: g10/encrypt.c:202 g10/sign.c:1470
 #, c-format
 msgid "error creating passphrase: %s\n"
 msgstr "eraro dum kreado de pasfrazo: %s\n"
@@ -2303,14 +2321,14 @@ msgstr "'%s' jam densigita\n"
 msgid "WARNING: '%s' is an empty file\n"
 msgstr "AVERTO: '%s' estas malplena dosiero\n"
 
-#: g10/encrypt.c:387 g10/encrypt.c:610 g10/decrypt-data.c:260 g10/gpg.c:3901
-#: g10/gpg.c:3941 sm/decrypt.c:364 sm/encrypt.c:415 sm/gpgsm.c:1655
+#: g10/encrypt.c:387 g10/encrypt.c:610 g10/decrypt-data.c:260 g10/gpg.c:3922
+#: g10/gpg.c:3962 sm/decrypt.c:826 sm/encrypt.c:416 sm/gpgsm.c:1555
 #, fuzzy, c-format
 msgid "cipher algorithm '%s' may not be used in %s mode\n"
 msgstr "Tiu komando ne eblas en la reĝimo %s.\n"
 
-#: g10/encrypt.c:396 g10/gpg.c:3907 g10/gpg.c:3953 g10/sig-check.c:146
-#: g10/sign.c:391 sm/gpgsm.c:1665 sm/gpgsm.c:1675 sm/sign.c:478 sm/verify.c:506
+#: g10/encrypt.c:396 g10/gpg.c:3928 g10/gpg.c:3974 g10/sig-check.c:146
+#: g10/sign.c:391 sm/gpgsm.c:1565 sm/gpgsm.c:1575 sm/sign.c:478 sm/verify.c:506
 #, fuzzy, c-format
 msgid "digest algorithm '%s' may not be used in %s mode\n"
 msgstr "Tiu komando ne eblas en la reĝimo %s.\n"
@@ -2327,12 +2345,12 @@ msgid ""
 "WARNING: forcing symmetric cipher %s (%d) violates recipient preferences\n"
 msgstr "NOTO: ĉifrad-metodo %d ne trovita en preferoj\n"
 
-#: g10/encrypt.c:640 sm/encrypt.c:490
+#: g10/encrypt.c:640 sm/encrypt.c:491
 #, fuzzy, c-format
 msgid "WARNING: key %s is not suitable for encryption in %s mode\n"
 msgstr "AVERTO: '%s' estas malplena dosiero\n"
 
-#: g10/encrypt.c:751 g10/sign.c:1163
+#: g10/encrypt.c:751 g10/sign.c:1162
 #, fuzzy, c-format
 msgid ""
 "WARNING: forcing compression algorithm %s (%d) violates recipient "
@@ -2359,12 +2377,12 @@ msgstr "Tiu komando ne eblas en la reĝimo %s.\n"
 msgid "%s encrypted data\n"
 msgstr "%s-ĉifritaj datenoj\n"
 
-#: g10/decrypt-data.c:243 g10/mainproc.c:396
+#: g10/decrypt-data.c:243 g10/mainproc.c:397
 #, c-format
 msgid "encrypted with unknown algorithm %d\n"
 msgstr "ĉifrita per nekonata metodo %d\n"
 
-#: g10/decrypt-data.c:357 g10/decrypt-data.c:410 sm/decrypt.c:130
+#: g10/decrypt-data.c:357 g10/decrypt-data.c:410 sm/decrypt.c:550
 #, c-format
 msgid ""
 "WARNING: message was encrypted with a weak key in the symmetric cipher.\n"
@@ -2381,53 +2399,53 @@ msgstr "problemo ĉe traktado de ĉifrita paketo\n"
 msgid "no remote program execution supported\n"
 msgstr ""
 
-#: g10/exec.c:381
+#: g10/exec.c:389
 #, c-format
 msgid ""
 "external program calls are disabled due to unsafe options file permissions\n"
 msgstr ""
 
-#: g10/exec.c:411
+#: g10/exec.c:419
 #, fuzzy, c-format
 msgid "this platform requires temporary files when calling external programs\n"
 msgstr "%s: eraro dum legado de versiregistro: %s\n"
 
-#: g10/exec.c:489
+#: g10/exec.c:497
 #, fuzzy, c-format
 msgid "unable to execute program '%s': %s\n"
 msgstr "Averto: malsekura posedeco sur %s \"%s\"\n"
 
-#: g10/exec.c:492
+#: g10/exec.c:500
 #, fuzzy, c-format
 msgid "unable to execute shell '%s': %s\n"
 msgstr "ne povas malfermi %s: %s\n"
 
-#: g10/exec.c:583
+#: g10/exec.c:591
 #, fuzzy, c-format
 msgid "system error while calling external program: %s\n"
 msgstr "%s: eraro dum legado de versiregistro: %s\n"
 
-#: g10/exec.c:594 g10/exec.c:661
+#: g10/exec.c:602 g10/exec.c:669
 #, c-format
 msgid "unnatural exit of external program\n"
 msgstr ""
 
-#: g10/exec.c:609
+#: g10/exec.c:617
 #, c-format
 msgid "unable to execute external program\n"
 msgstr ""
 
-#: g10/exec.c:626
+#: g10/exec.c:634
 #, c-format
 msgid "unable to read external program response: %s\n"
 msgstr ""
 
-#: g10/exec.c:672 g10/exec.c:679
+#: g10/exec.c:680 g10/exec.c:687
 #, fuzzy, c-format
 msgid "WARNING: unable to remove tempfile (%s) '%s': %s\n"
 msgstr "Averto: malsekura posedeco sur %s \"%s\"\n"
 
-#: g10/exec.c:684
+#: g10/exec.c:692
 #, fuzzy, c-format
 msgid "WARNING: unable to remove temp directory '%s': %s\n"
 msgstr "Averto: malsekura posedeco sur %s \"%s\"\n"
@@ -2466,8 +2484,8 @@ msgstr ""
 msgid " - skipped"
 msgstr "%s: ignorita: %s\n"
 
-#: g10/export.c:1324 g10/import.c:2073 g10/openfile.c:200 g10/openfile.c:294
-#: g10/sign.c:1013 g10/sign.c:1327
+#: g10/export.c:1324 g10/import.c:2085 g10/openfile.c:200 g10/openfile.c:294
+#: g10/sign.c:1012 g10/sign.c:1326
 #, fuzzy, c-format
 #| msgid "writing to `%s'\n"
 msgid "writing to '%s'\n"
@@ -2505,292 +2523,292 @@ msgstr "eraro dum kreado de '%s': %s\n"
 msgid "[User ID not found]"
 msgstr "[Uzantidentigilo ne trovita]"
 
-#: g10/getkey.c:1297
+#: g10/getkey.c:1441
 #, fuzzy, c-format
 msgid "automatically retrieved '%s' via %s\n"
 msgstr "eraro dum kreado de '%s': %s\n"
 
-#: g10/getkey.c:1303
+#: g10/getkey.c:1447
 #, fuzzy, c-format
 msgid "error retrieving '%s' via %s: %s\n"
 msgstr "eraro dum kreado de '%s': %s\n"
 
-#: g10/getkey.c:1305
+#: g10/getkey.c:1449
 #, fuzzy
 msgid "No fingerprint"
 msgstr "Fingrospuro:"
 
-#: g10/getkey.c:1526
+#: g10/getkey.c:1670
 #, c-format
 msgid "checking for a fresh copy of an expired key via %s\n"
 msgstr ""
 
-#: g10/getkey.c:1941 g10/revoke.c:655 g10/revoke.c:720
+#: g10/getkey.c:2085 g10/revoke.c:655 g10/revoke.c:720
 #, fuzzy, c-format
 msgid "secret key \"%s\" not found: %s\n"
 msgstr "ŝlosilo '%s' ne trovita: %s\n"
 
-#: g10/getkey.c:1944 g10/pkclist.c:988
+#: g10/getkey.c:2088 g10/pkclist.c:988
 #, fuzzy, c-format
 msgid "(check argument of option '%s')\n"
 msgstr "nevalida kiraso"
 
-#: g10/getkey.c:2020
+#: g10/getkey.c:2164
 #, fuzzy, c-format
 #| msgid "|NAME|use NAME as default secret key"
 msgid "Warning: not using '%s' as default key: %s\n"
 msgstr "|NOMO|uzi NOMOn kiel la implicitan sekretan ŝlosilon"
 
-#: g10/getkey.c:2028
+#: g10/getkey.c:2172
 #, fuzzy, c-format
 #| msgid "|NAME|use NAME as default secret key"
 msgid "using \"%s\" as default secret key for signing\n"
 msgstr "|NOMO|uzi NOMOn kiel la implicitan sekretan ŝlosilon"
 
-#: g10/getkey.c:2035
+#: g10/getkey.c:2179
 #, c-format
 msgid "all values passed to '%s' ignored\n"
 msgstr ""
 
-#: g10/getkey.c:2880
+#: g10/getkey.c:3024
 #, fuzzy, c-format
 msgid "Invalid key %s made valid by --allow-non-selfsigned-uid\n"
 msgstr "Nevalida ŝlosilo %08lX validigita per --always-trust\n"
 
-#: g10/getkey.c:3730
+#: g10/getkey.c:3874
 #, fuzzy, c-format
 msgid "using subkey %s instead of primary key %s\n"
 msgstr "uzas flankan ŝlosilon %08lX anstataŭ la ĉefa ŝlosilo %08lX\n"
 
-#: g10/getkey.c:4275 g10/gpg.c:2107
+#: g10/getkey.c:4446 g10/gpg.c:2120
 #, fuzzy, c-format
 msgid "valid values for option '%s':\n"
 msgstr "nevalida kiraso"
 
-#: g10/gpg.c:442 sm/gpgsm.c:206
+#: g10/gpg.c:439 sm/gpgsm.c:207
 #, fuzzy
 msgid "make a signature"
 msgstr "fari apartan subskribon"
 
-#: g10/gpg.c:443
+#: g10/gpg.c:440
 #, fuzzy
 msgid "make a clear text signature"
 msgstr "|[dosiero]|fari klartekstan subskribon"
 
-#: g10/gpg.c:445 sm/gpgsm.c:208
+#: g10/gpg.c:442 sm/gpgsm.c:209
 msgid "make a detached signature"
 msgstr "fari apartan subskribon"
 
-#: g10/gpg.c:446 sm/gpgsm.c:209
+#: g10/gpg.c:443 sm/gpgsm.c:210
 msgid "encrypt data"
 msgstr "ĉifri datenojn"
 
-#: g10/gpg.c:448
+#: g10/gpg.c:445
 msgid "encryption only with symmetric cipher"
 msgstr "ĉifri nur kun simetria ĉifro"
 
-#: g10/gpg.c:450 sm/gpgsm.c:211
+#: g10/gpg.c:447 sm/gpgsm.c:212
 msgid "decrypt data (default)"
 msgstr "malĉifri datenojn (implicita elekto)"
 
-#: g10/gpg.c:452 sm/gpgsm.c:212
+#: g10/gpg.c:449 sm/gpgsm.c:213
 msgid "verify a signature"
 msgstr "kontroli subskribon"
 
-#: g10/gpg.c:454 sm/gpgsm.c:213
+#: g10/gpg.c:451 sm/gpgsm.c:214
 msgid "list keys"
 msgstr "listigi ŝlosilojn"
 
-#: g10/gpg.c:456
+#: g10/gpg.c:453
 msgid "list keys and signatures"
 msgstr "listigi ŝlosilojn kaj subskribojn"
 
-#: g10/gpg.c:459
+#: g10/gpg.c:456
 #, fuzzy
 msgid "list and check key signatures"
 msgstr "kontroli ŝlosilsubskribojn"
 
-#: g10/gpg.c:461 sm/gpgsm.c:218
+#: g10/gpg.c:458 sm/gpgsm.c:219
 msgid "list keys and fingerprints"
 msgstr "listigi ŝlosilojn kaj fingroŝpurojn"
 
-#: g10/gpg.c:462 sm/gpgsm.c:216
+#: g10/gpg.c:459 sm/gpgsm.c:217
 msgid "list secret keys"
 msgstr "listigi sekretajn ŝlosilojn"
 
-#: g10/gpg.c:464 sm/gpgsm.c:219
+#: g10/gpg.c:461 sm/gpgsm.c:220
 msgid "generate a new key pair"
 msgstr "krei novan ŝlosilparon"
 
-#: g10/gpg.c:467
+#: g10/gpg.c:464
 #, fuzzy
 #| msgid "generate a new key pair"
 msgid "quickly generate a new key pair"
 msgstr "krei novan ŝlosilparon"
 
-#: g10/gpg.c:470
+#: g10/gpg.c:467
 #, fuzzy
 #| msgid "generate a new key pair"
 msgid "quickly add a new user-id"
 msgstr "krei novan ŝlosilparon"
 
-#: g10/gpg.c:475
+#: g10/gpg.c:472
 #, fuzzy
 #| msgid "generate a new key pair"
 msgid "quickly revoke a user-id"
 msgstr "krei novan ŝlosilparon"
 
-#: g10/gpg.c:478
+#: g10/gpg.c:475
 #, fuzzy
 #| msgid "generate a new key pair"
 msgid "quickly set a new expiration date"
 msgstr "krei novan ŝlosilparon"
 
-#: g10/gpg.c:481
+#: g10/gpg.c:478
 msgid "full featured key pair generation"
 msgstr ""
 
-#: g10/gpg.c:484
+#: g10/gpg.c:481
 msgid "generate a revocation certificate"
 msgstr "krei revokatestilon"
 
-#: g10/gpg.c:487 sm/gpgsm.c:222
+#: g10/gpg.c:484 sm/gpgsm.c:223
 msgid "remove keys from the public keyring"
 msgstr "forigi ŝlosilojn de la publika ŝlosilaro"
 
-#: g10/gpg.c:489
+#: g10/gpg.c:486
 msgid "remove keys from the secret keyring"
 msgstr "forigi ŝlosilojn de la sekreta ŝlosilaro"
 
-#: g10/gpg.c:491
+#: g10/gpg.c:488
 #, fuzzy
 #| msgid "sign a key"
 msgid "quickly sign a key"
 msgstr "subskribi ŝlosilon"
 
-#: g10/gpg.c:493
+#: g10/gpg.c:490
 #, fuzzy
 #| msgid "sign a key locally"
 msgid "quickly sign a key locally"
 msgstr "subskribi ŝlosilon loke"
 
-#: g10/gpg.c:495
+#: g10/gpg.c:492
 #, fuzzy
 #| msgid "generate a new key pair"
 msgid "quickly revoke a key signature"
 msgstr "krei novan ŝlosilparon"
 
-#: g10/gpg.c:496
+#: g10/gpg.c:493
 msgid "sign a key"
 msgstr "subskribi ŝlosilon"
 
-#: g10/gpg.c:497
+#: g10/gpg.c:494
 msgid "sign a key locally"
 msgstr "subskribi ŝlosilon loke"
 
-#: g10/gpg.c:498
+#: g10/gpg.c:495
 msgid "sign or edit a key"
 msgstr "subskribi aŭ redakti ŝlosilon"
 
-#: g10/gpg.c:500 sm/gpgsm.c:240
+#: g10/gpg.c:497 sm/gpgsm.c:241
 #, fuzzy
 msgid "change a passphrase"
 msgstr "ŝanĝi la pasfrazon"
 
-#: g10/gpg.c:504
+#: g10/gpg.c:501
 msgid "export keys"
 msgstr "eksporti ŝlosilojn"
 
-#: g10/gpg.c:505
+#: g10/gpg.c:502
 msgid "export keys to a keyserver"
 msgstr "eksporti ŝlosilojn al ŝlosilservilo"
 
-#: g10/gpg.c:506
+#: g10/gpg.c:503
 msgid "import keys from a keyserver"
 msgstr "importi ŝlosilojn de ŝlosilservilo"
 
-#: g10/gpg.c:509
+#: g10/gpg.c:506
 msgid "search for keys on a keyserver"
 msgstr "serĉi ŝlosilojn ĉe ŝlosilservilo"
 
-#: g10/gpg.c:511
+#: g10/gpg.c:508
 msgid "update all keys from a keyserver"
 msgstr "aktualigi ĉiujn ŝlosilojn de ŝlosilservilo"
 
-#: g10/gpg.c:519
+#: g10/gpg.c:516
 msgid "import/merge keys"
 msgstr "importi/kunfandi ŝlosilojn"
 
-#: g10/gpg.c:522
+#: g10/gpg.c:519
 msgid "print the card status"
 msgstr ""
 
-#: g10/gpg.c:523
+#: g10/gpg.c:520
 msgid "change data on a card"
 msgstr ""
 
-#: g10/gpg.c:525
+#: g10/gpg.c:522
 msgid "change a card's PIN"
 msgstr ""
 
-#: g10/gpg.c:537
+#: g10/gpg.c:534
 msgid "update the trust database"
 msgstr "aktualigi la fido-datenaron"
 
-#: g10/gpg.c:546
+#: g10/gpg.c:543
 #, fuzzy
 msgid "print message digests"
 msgstr "|metodo [dosieroj]|presi mesaĝo-kompendiojn"
 
-#: g10/gpg.c:549 sm/gpgsm.c:235
+#: g10/gpg.c:546 sm/gpgsm.c:236
 msgid "run in server mode"
 msgstr ""
 
-#: g10/gpg.c:551
+#: g10/gpg.c:548
 msgid "|VALUE|set the TOFU policy for a key"
 msgstr ""
 
-#: g10/gpg.c:555 sm/gpgsm.c:254
+#: g10/gpg.c:552 sm/gpgsm.c:255
 msgid "create ascii armored output"
 msgstr "krei eligon en askia kiraso"
 
-#: g10/gpg.c:558 sm/gpgsm.c:271
+#: g10/gpg.c:555 sm/gpgsm.c:272
 #, fuzzy
 msgid "|USER-ID|encrypt for USER-ID"
 msgstr "|NOMO|ĉifri por NOMO"
 
-#: g10/gpg.c:574 sm/gpgsm.c:307
+#: g10/gpg.c:571 sm/gpgsm.c:308
 #, fuzzy
 msgid "|USER-ID|use USER-ID to sign or decrypt"
 msgstr "uzi ĉi tiun uzantidentigilon por subskribi aŭ malĉifri"
 
-#: g10/gpg.c:580
+#: g10/gpg.c:577
 #, fuzzy
 msgid "|N|set compress level to N (0 disables)"
 msgstr "|N|difini densig-nivelon N (0=nenia)"
 
-#: g10/gpg.c:587
+#: g10/gpg.c:584
 msgid "use canonical text mode"
 msgstr "uzi tekstan reĝimon"
 
-#: g10/gpg.c:604 g10/gpgv.c:82 sm/gpgsm.c:309
+#: g10/gpg.c:601 g10/gpgv.c:82 sm/gpgsm.c:310
 #, fuzzy
 msgid "|FILE|write output to FILE"
 msgstr "|DOSIERO|legi aldonan bibliotekon DOSIERO"
 
-#: g10/gpg.c:614 kbx/kbxutil.c:90 sm/gpgsm.c:321 tools/gpgconf.c:110
+#: g10/gpg.c:611 kbx/kbxutil.c:90 sm/gpgsm.c:322 tools/gpgconf.c:110
 msgid "do not make any changes"
 msgstr "fari neniajn ŝanĝojn"
 
-#: g10/gpg.c:615
+#: g10/gpg.c:612
 msgid "prompt before overwriting"
 msgstr ""
 
-#: g10/gpg.c:665
+#: g10/gpg.c:662
 msgid "use strict OpenPGP behavior"
 msgstr ""
 
-#: g10/gpg.c:692 sm/gpgsm.c:364
+#: g10/gpg.c:689 sm/gpgsm.c:367
 msgid ""
 "@\n"
 "(See the man page for a complete listing of all commands and options)\n"
@@ -2798,7 +2816,7 @@ msgstr ""
 "@\n"
 "(Vidu la manpaĝon por kompleta listo de ĉiuj komandoj kaj opcioj)\n"
 
-#: g10/gpg.c:695
+#: g10/gpg.c:692
 #, fuzzy
 #| msgid ""
 #| "@\n"
@@ -2828,13 +2846,13 @@ msgstr ""
 " --list-keys [nomoj]        montri ŝlosilojn\n"
 " --fingerprint [nomoj]      montri fingroŝpurojn\n"
 
-#: g10/gpg.c:1092
+#: g10/gpg.c:1096
 #, fuzzy
 #| msgid "Usage: gpg [options] [files] (-h for help)"
 msgid "Usage: @GPG@ [options] [files] (-h for help)"
 msgstr "Uzado: gpg [opcioj] [dosieroj] (-h por helpo)"
 
-#: g10/gpg.c:1095
+#: g10/gpg.c:1099
 #, fuzzy
 #| msgid ""
 #| "Syntax: gpg [options] [files]\n"
@@ -2849,7 +2867,7 @@ msgstr ""
 "subskribi, kontroli, ĉifri aŭ malĉifri\n"
 "implicita operacio dependas de la enigataj datenoj\n"
 
-#: g10/gpg.c:1106 sm/gpgsm.c:591
+#: g10/gpg.c:1110 sm/gpgsm.c:594
 msgid ""
 "\n"
 "Supported algorithms:\n"
@@ -2857,545 +2875,545 @@ msgstr ""
 "\n"
 "Realigitaj metodoj:\n"
 
-#: g10/gpg.c:1109
+#: g10/gpg.c:1113
 msgid "Pubkey: "
 msgstr ""
 
-#: g10/gpg.c:1116 g10/keyedit.c:3281
+#: g10/gpg.c:1120 g10/keyedit.c:3282
 msgid "Cipher: "
 msgstr ""
 
-#: g10/gpg.c:1123
+#: g10/gpg.c:1127
 msgid "Hash: "
 msgstr ""
 
-#: g10/gpg.c:1130 g10/keyedit.c:3347
+#: g10/gpg.c:1134 g10/keyedit.c:3348
 #, fuzzy
 msgid "Compression: "
 msgstr "Komento: "
 
-#: g10/gpg.c:1199 sm/gpgsm.c:665
+#: g10/gpg.c:1207 sm/gpgsm.c:668
 #, fuzzy, c-format
 msgid "usage: %s [options] %s\n"
 msgstr "uzado: gpg [opcioj] "
 
-#: g10/gpg.c:1388 sm/gpgsm.c:754
+#: g10/gpg.c:1396 sm/gpgsm.c:761
 #, c-format
 msgid "conflicting commands\n"
 msgstr "malkongruaj komandoj\n"
 
-#: g10/gpg.c:1406
+#: g10/gpg.c:1414
 #, c-format
 msgid "no = sign found in group definition '%s'\n"
 msgstr ""
 
-#: g10/gpg.c:1604
+#: g10/gpg.c:1612
 #, fuzzy, c-format
 msgid "WARNING: unsafe ownership on homedir '%s'\n"
 msgstr "Averto: malsekura posedeco sur %s \"%s\"\n"
 
-#: g10/gpg.c:1607
+#: g10/gpg.c:1615
 #, fuzzy, c-format
 msgid "WARNING: unsafe ownership on configuration file '%s'\n"
 msgstr "Averto: malsekura posedeco sur %s \"%s\"\n"
 
-#: g10/gpg.c:1610
+#: g10/gpg.c:1618
 #, fuzzy, c-format
 msgid "WARNING: unsafe ownership on extension '%s'\n"
 msgstr "Averto: malsekura posedeco sur %s \"%s\"\n"
 
-#: g10/gpg.c:1616
+#: g10/gpg.c:1624
 #, fuzzy, c-format
 msgid "WARNING: unsafe permissions on homedir '%s'\n"
 msgstr "Averto: malsekuraj permesoj sur %s \"%s\"\n"
 
-#: g10/gpg.c:1619
+#: g10/gpg.c:1627
 #, fuzzy, c-format
 msgid "WARNING: unsafe permissions on configuration file '%s'\n"
 msgstr "Averto: malsekuraj permesoj sur %s \"%s\"\n"
 
-#: g10/gpg.c:1622
+#: g10/gpg.c:1630
 #, fuzzy, c-format
 msgid "WARNING: unsafe permissions on extension '%s'\n"
 msgstr "Averto: malsekuraj permesoj sur %s \"%s\"\n"
 
-#: g10/gpg.c:1628
+#: g10/gpg.c:1636
 #, fuzzy, c-format
 msgid "WARNING: unsafe enclosing directory ownership on homedir '%s'\n"
 msgstr "Averto: malsekura posedeco sur %s \"%s\"\n"
 
-#: g10/gpg.c:1631
+#: g10/gpg.c:1639
 #, fuzzy, c-format
 msgid ""
 "WARNING: unsafe enclosing directory ownership on configuration file '%s'\n"
 msgstr "Averto: malsekura posedeco sur %s \"%s\"\n"
 
-#: g10/gpg.c:1634
+#: g10/gpg.c:1642
 #, fuzzy, c-format
 msgid "WARNING: unsafe enclosing directory ownership on extension '%s'\n"
 msgstr "Averto: malsekura posedeco sur %s \"%s\"\n"
 
-#: g10/gpg.c:1640
+#: g10/gpg.c:1648
 #, fuzzy, c-format
 msgid "WARNING: unsafe enclosing directory permissions on homedir '%s'\n"
 msgstr "Averto: malsekuraj permesoj sur %s \"%s\"\n"
 
-#: g10/gpg.c:1643
+#: g10/gpg.c:1651
 #, fuzzy, c-format
 msgid ""
 "WARNING: unsafe enclosing directory permissions on configuration file '%s'\n"
 msgstr "Averto: malsekuraj permesoj sur %s \"%s\"\n"
 
-#: g10/gpg.c:1646
+#: g10/gpg.c:1654
 #, fuzzy, c-format
 msgid "WARNING: unsafe enclosing directory permissions on extension '%s'\n"
 msgstr "Averto: malsekuraj permesoj sur %s \"%s\"\n"
 
-#: g10/gpg.c:1862
+#: g10/gpg.c:1870
 #, fuzzy, c-format
 msgid "unknown configuration item '%s'\n"
 msgstr "%s: nova opcio-dosiero kreita\n"
 
-#: g10/gpg.c:1979
+#: g10/gpg.c:1992
 msgid "display photo IDs during key listings"
 msgstr ""
 
-#: g10/gpg.c:1981
+#: g10/gpg.c:1994
 #, fuzzy
 msgid "show key usage information during key listings"
 msgstr "Mankas responda subskribo en sekreta ŝlosilaro\n"
 
-#: g10/gpg.c:1983
+#: g10/gpg.c:1996
 msgid "show policy URLs during signature listings"
 msgstr ""
 
-#: g10/gpg.c:1985
+#: g10/gpg.c:1998
 #, fuzzy
 msgid "show all notations during signature listings"
 msgstr "Mankas responda subskribo en sekreta ŝlosilaro\n"
 
-#: g10/gpg.c:1987
+#: g10/gpg.c:2000
 msgid "show IETF standard notations during signature listings"
 msgstr ""
 
-#: g10/gpg.c:1991
+#: g10/gpg.c:2004
 msgid "show user-supplied notations during signature listings"
 msgstr ""
 
-#: g10/gpg.c:1993
+#: g10/gpg.c:2006
 #, fuzzy
 msgid "show preferred keyserver URLs during signature listings"
 msgstr "la donita gvidlinia URL por subskriboj ne validas\n"
 
-#: g10/gpg.c:1995
+#: g10/gpg.c:2008
 msgid "show user ID validity during key listings"
 msgstr ""
 
-#: g10/gpg.c:1997
+#: g10/gpg.c:2010
 msgid "show revoked and expired user IDs in key listings"
 msgstr ""
 
-#: g10/gpg.c:1999
+#: g10/gpg.c:2012
 msgid "show revoked and expired subkeys in key listings"
 msgstr ""
 
-#: g10/gpg.c:2001
+#: g10/gpg.c:2014
 #, fuzzy
 msgid "show the keyring name in key listings"
 msgstr "montri, en kiu ŝlosilaro estas listigita ŝlosilo"
 
-#: g10/gpg.c:2003
+#: g10/gpg.c:2016
 #, fuzzy
 msgid "show expiration dates during signature listings"
 msgstr "Mankas responda subskribo en sekreta ŝlosilaro\n"
 
-#: g10/gpg.c:2118
+#: g10/gpg.c:2131
 #, fuzzy, c-format
 msgid "unknown TOFU policy '%s'\n"
 msgstr "nekonata implicita ricevonto '%s'\n"
 
-#: g10/gpg.c:2120
+#: g10/gpg.c:2133
 #, c-format
 msgid "(use \"help\" to list choices)\n"
 msgstr ""
 
-#: g10/gpg.c:2840 g10/gpg.c:3671 g10/gpg.c:3683
+#: g10/gpg.c:2856 g10/gpg.c:3691 g10/gpg.c:3703
 #, fuzzy, c-format
 #| msgid "NOTE: %s is not for normal use!\n"
 msgid "Note: %s is not for normal use!\n"
 msgstr "NOTO: %s ne estas por normala uzado!\n"
 
-#: g10/gpg.c:3017 g10/gpg.c:3029
+#: g10/gpg.c:3033 g10/gpg.c:3045
 #, fuzzy, c-format
 msgid "'%s' is not a valid signature expiration\n"
 msgstr "%s ne estas valida signaro\n"
 
-#: g10/gpg.c:3051
+#: g10/gpg.c:3067
 #, fuzzy, c-format
 msgid "\"%s\" is not a proper mail address\n"
 msgstr "Nevalida retadreso\n"
 
-#: g10/gpg.c:3083 sm/gpgsm.c:1177
+#: g10/gpg.c:3099 sm/gpgsm.c:1091
 #, fuzzy, c-format
 msgid "invalid pinentry mode '%s'\n"
 msgstr "nevalida kompendi-metodo '%s'\n"
 
-#: g10/gpg.c:3089 sm/gpgsm.c:1183
+#: g10/gpg.c:3105 sm/gpgsm.c:1097
 #, fuzzy, c-format
 msgid "invalid request origin '%s'\n"
 msgstr "nevalida kiraso"
 
-#: g10/gpg.c:3143
+#: g10/gpg.c:3159
 #, fuzzy, c-format
 msgid "'%s' is not a valid character set\n"
 msgstr "%s ne estas valida signaro\n"
 
-#: g10/gpg.c:3165 g10/gpg.c:3375 g10/keyedit.c:5281
+#: g10/gpg.c:3181 g10/gpg.c:3395 g10/keyedit.c:5282
 #, fuzzy, c-format
 msgid "could not parse keyserver URL\n"
 msgstr "ne povis analizi URI de ŝlosilservilo\n"
 
-#: g10/gpg.c:3183
+#: g10/gpg.c:3199
 #, fuzzy, c-format
 msgid "%s:%d: invalid keyserver options\n"
 msgstr "AVERTO: '%s' estas malplena dosiero\n"
 
-#: g10/gpg.c:3186
+#: g10/gpg.c:3202
 #, fuzzy, c-format
 msgid "invalid keyserver options\n"
 msgstr "nevalida ŝlosilaro"
 
-#: g10/gpg.c:3193
+#: g10/gpg.c:3209
 #, fuzzy, c-format
 msgid "%s:%d: invalid import options\n"
 msgstr "AVERTO: '%s' estas malplena dosiero\n"
 
-#: g10/gpg.c:3196
+#: g10/gpg.c:3212
 #, fuzzy, c-format
 msgid "invalid import options\n"
 msgstr "nevalida kiraso"
 
-#: g10/gpg.c:3202 g10/gpg.c:3217
+#: g10/gpg.c:3218 g10/gpg.c:3233
 #, fuzzy, c-format
 msgid "invalid filter option: %s\n"
 msgstr "nevalida kiraso"
 
-#: g10/gpg.c:3208
+#: g10/gpg.c:3224
 #, fuzzy, c-format
 msgid "%s:%d: invalid export options\n"
 msgstr "AVERTO: '%s' estas malplena dosiero\n"
 
-#: g10/gpg.c:3211
+#: g10/gpg.c:3227
 #, fuzzy, c-format
 msgid "invalid export options\n"
 msgstr "nevalida ŝlosilaro"
 
-#: g10/gpg.c:3223
+#: g10/gpg.c:3239
 #, fuzzy, c-format
 msgid "%s:%d: invalid list options\n"
 msgstr "AVERTO: '%s' estas malplena dosiero\n"
 
-#: g10/gpg.c:3226
+#: g10/gpg.c:3242
 #, fuzzy, c-format
 msgid "invalid list options\n"
 msgstr "nevalida kiraso"
 
-#: g10/gpg.c:3234
+#: g10/gpg.c:3250
 msgid "display photo IDs during signature verification"
 msgstr ""
 
-#: g10/gpg.c:3236
+#: g10/gpg.c:3252
 msgid "show policy URLs during signature verification"
 msgstr ""
 
-#: g10/gpg.c:3238
+#: g10/gpg.c:3254
 #, fuzzy
 msgid "show all notations during signature verification"
 msgstr "%s ne estas valida signaro\n"
 
-#: g10/gpg.c:3240
+#: g10/gpg.c:3256
 msgid "show IETF standard notations during signature verification"
 msgstr ""
 
-#: g10/gpg.c:3244
+#: g10/gpg.c:3260
 msgid "show user-supplied notations during signature verification"
 msgstr ""
 
-#: g10/gpg.c:3246
+#: g10/gpg.c:3262
 #, fuzzy
 msgid "show preferred keyserver URLs during signature verification"
 msgstr "la donita gvidlinia URL por subskriboj ne validas\n"
 
-#: g10/gpg.c:3248
+#: g10/gpg.c:3264
 #, fuzzy
 msgid "show user ID validity during signature verification"
 msgstr "%s ne estas valida signaro\n"
 
-#: g10/gpg.c:3250
+#: g10/gpg.c:3266
 msgid "show revoked and expired user IDs in signature verification"
 msgstr ""
 
-#: g10/gpg.c:3252
+#: g10/gpg.c:3268
 #, fuzzy
 msgid "show only the primary user ID in signature verification"
 msgstr "%s ne estas valida signaro\n"
 
-#: g10/gpg.c:3254
+#: g10/gpg.c:3270
 msgid "validate signatures with PKA data"
 msgstr ""
 
-#: g10/gpg.c:3256
+#: g10/gpg.c:3272
 msgid "elevate the trust of signatures with valid PKA data"
 msgstr ""
 
-#: g10/gpg.c:3263
+#: g10/gpg.c:3279
 #, fuzzy, c-format
 msgid "%s:%d: invalid verify options\n"
 msgstr "AVERTO: '%s' estas malplena dosiero\n"
 
-#: g10/gpg.c:3266
+#: g10/gpg.c:3282
 #, fuzzy, c-format
 msgid "invalid verify options\n"
 msgstr "nevalida ŝlosilaro"
 
-#: g10/gpg.c:3273
+#: g10/gpg.c:3289
 #, c-format
 msgid "unable to set exec-path to %s\n"
 msgstr ""
 
-#: g10/gpg.c:3478
+#: g10/gpg.c:3498
 #, fuzzy, c-format
 msgid "%s:%d: invalid auto-key-locate list\n"
 msgstr "AVERTO: '%s' estas malplena dosiero\n"
 
-#: g10/gpg.c:3481
+#: g10/gpg.c:3501
 #, c-format
 msgid "invalid auto-key-locate list\n"
 msgstr ""
 
-#: g10/gpg.c:3653 sm/gpgsm.c:1541
+#: g10/gpg.c:3673 sm/gpgsm.c:1441
 #, c-format
 msgid "WARNING: program may create a core file!\n"
 msgstr "AVERTO: programo povas krei core-dosieron!\n"
 
-#: g10/gpg.c:3664
+#: g10/gpg.c:3684
 #, c-format
 msgid "WARNING: %s overrides %s\n"
 msgstr "AVERTO: %s nuligas %s\n"
 
-#: g10/gpg.c:3673
+#: g10/gpg.c:3693
 #, c-format
 msgid "%s not allowed with %s!\n"
 msgstr "%s ne eblas kun %s!\n"
 
-#: g10/gpg.c:3676
+#: g10/gpg.c:3696
 #, c-format
 msgid "%s makes no sense with %s!\n"
 msgstr "%s ne havas sencon kun %s!\n"
 
-#: g10/gpg.c:3691 sm/gpgsm.c:1558 dirmngr/dirmngr.c:1082
+#: g10/gpg.c:3711 sm/gpgsm.c:1458 dirmngr/dirmngr.c:1117
 #, c-format
 msgid "WARNING: running with faked system time: "
 msgstr ""
 
-#: g10/gpg.c:3712
+#: g10/gpg.c:3732
 #, fuzzy, c-format
 msgid "will not run with insecure memory due to %s\n"
 msgstr "skribas sekretan ŝlosilon al '%s'\n"
 
-#: g10/gpg.c:3747 g10/gpg.c:3771 sm/gpgsm.c:1625
+#: g10/gpg.c:3767 g10/gpg.c:3791 sm/gpgsm.c:1525
 #, c-format
 msgid "selected cipher algorithm is invalid\n"
 msgstr "elektita ĉifrad-metodo ne validas\n"
 
-#: g10/gpg.c:3759
+#: g10/gpg.c:3779
 #, fuzzy, c-format
 msgid "selected compression algorithm is invalid\n"
 msgstr "elektita ĉifrad-metodo ne validas\n"
 
-#: g10/gpg.c:3765
+#: g10/gpg.c:3785
 #, fuzzy, c-format
 msgid "selected certification digest algorithm is invalid\n"
 msgstr "elektita kompendi-metodo ne validas\n"
 
-#: g10/gpg.c:3780
+#: g10/gpg.c:3800
 #, c-format
 msgid "completes-needed must be greater than 0\n"
 msgstr "completes-needed devas esti pli granda ol 0\n"
 
-#: g10/gpg.c:3782
+#: g10/gpg.c:3802
 #, c-format
 msgid "marginals-needed must be greater than 1\n"
 msgstr "marginals-needed devas esti pli granda ol 1\n"
 
-#: g10/gpg.c:3784
+#: g10/gpg.c:3804
 #, fuzzy, c-format
 msgid "max-cert-depth must be in the range from 1 to 255\n"
 msgstr "max-cert-depth devas esti inter 1 kaj 255\n"
 
-#: g10/gpg.c:3786
+#: g10/gpg.c:3806
 #, fuzzy, c-format
 msgid "invalid default-cert-level; must be 0, 1, 2, or 3\n"
 msgstr "nevalida default-check-level; devas esti 0, 1, 2 aŭ 3\n"
 
-#: g10/gpg.c:3788
+#: g10/gpg.c:3808
 #, fuzzy, c-format
 msgid "invalid min-cert-level; must be 1, 2, or 3\n"
 msgstr "nevalida default-check-level; devas esti 0, 1, 2 aŭ 3\n"
 
-#: g10/gpg.c:3791
+#: g10/gpg.c:3812
 #, fuzzy, c-format
 #| msgid "NOTE: simple S2K mode (0) is strongly discouraged\n"
 msgid "Note: simple S2K mode (0) is strongly discouraged\n"
 msgstr "NOTO: simpla S2K-reĝimo (0) estas forte malrekomendata\n"
 
-#: g10/gpg.c:3795
+#: g10/gpg.c:3816
 #, c-format
 msgid "invalid S2K mode; must be 0, 1 or 3\n"
 msgstr "nevalida S2K-reĝimo; devas esti 0, 1 aŭ 3\n"
 
-#: g10/gpg.c:3802
+#: g10/gpg.c:3823
 #, fuzzy, c-format
 msgid "invalid default preferences\n"
 msgstr "nevalidaj preferoj\n"
 
-#: g10/gpg.c:3806
+#: g10/gpg.c:3827
 #, fuzzy, c-format
 msgid "invalid personal cipher preferences\n"
 msgstr "nevalidaj preferoj\n"
 
-#: g10/gpg.c:3810
+#: g10/gpg.c:3831
 #, fuzzy, c-format
 msgid "invalid personal digest preferences\n"
 msgstr "nevalidaj preferoj\n"
 
-#: g10/gpg.c:3814
+#: g10/gpg.c:3835
 #, fuzzy, c-format
 msgid "invalid personal compress preferences\n"
 msgstr "nevalidaj preferoj\n"
 
-#: g10/gpg.c:3850
+#: g10/gpg.c:3871
 #, fuzzy, c-format
 msgid "%s does not yet work with %s\n"
 msgstr "%s ne havas sencon kun %s!\n"
 
-#: g10/gpg.c:3913
+#: g10/gpg.c:3934
 #, fuzzy, c-format
 msgid "compression algorithm '%s' may not be used in %s mode\n"
 msgstr "Tiu komando ne eblas en la reĝimo %s.\n"
 
-#: g10/gpg.c:4057
+#: g10/gpg.c:4078
 #, c-format
 msgid "failed to initialize the TrustDB: %s\n"
 msgstr "malsukcesis doni komencajn valorojn al fido-datenaro: %s\n"
 
-#: g10/gpg.c:4069
+#: g10/gpg.c:4090
 #, c-format
 msgid "WARNING: recipients (-r) given without using public key encryption\n"
 msgstr ""
 
-#: g10/gpg.c:4141
+#: g10/gpg.c:4162
 #, fuzzy, c-format
 msgid "symmetric encryption of '%s' failed: %s\n"
 msgstr "malĉifrado malsukcesis: %s\n"
 
-#: g10/gpg.c:4170
+#: g10/gpg.c:4191
 #, c-format
 msgid "you cannot use --symmetric --encrypt with --s2k-mode 0\n"
 msgstr ""
 
-#: g10/gpg.c:4173
+#: g10/gpg.c:4194
 #, fuzzy, c-format
 msgid "you cannot use --symmetric --encrypt in %s mode\n"
 msgstr "Tiu komando ne eblas en la reĝimo %s.\n"
 
-#: g10/gpg.c:4231
+#: g10/gpg.c:4252
 #, c-format
 msgid "you cannot use --symmetric --sign --encrypt with --s2k-mode 0\n"
 msgstr ""
 
-#: g10/gpg.c:4234
+#: g10/gpg.c:4255
 #, fuzzy, c-format
 msgid "you cannot use --symmetric --sign --encrypt in %s mode\n"
 msgstr "Tiu komando ne eblas en la reĝimo %s.\n"
 
-#: g10/gpg.c:4622 g10/keyserver.c:1881
+#: g10/gpg.c:4643 g10/keyserver.c:1648
 #, fuzzy, c-format
 msgid "keyserver send failed: %s\n"
 msgstr "Kreado de ŝlosiloj malsukcesis: %s\n"
 
-#: g10/gpg.c:4627
+#: g10/gpg.c:4648
 #, fuzzy, c-format
 msgid "keyserver receive failed: %s\n"
 msgstr "listigo de sekretaj ŝlosiloj malsukcesis: %s\n"
 
-#: g10/gpg.c:4633
+#: g10/gpg.c:4654
 #, fuzzy, c-format
 msgid "key export failed: %s\n"
 msgstr "Kreado de ŝlosiloj malsukcesis: %s\n"
 
-#: g10/gpg.c:4646
+#: g10/gpg.c:4667
 #, fuzzy, c-format
 msgid "export as ssh key failed: %s\n"
 msgstr "Kreado de ŝlosiloj malsukcesis: %s\n"
 
-#: g10/gpg.c:4658
+#: g10/gpg.c:4679
 #, fuzzy, c-format
 msgid "keyserver search failed: %s\n"
 msgstr "get_dir_record: search_record malsukcesis: %s\n"
 
-#: g10/gpg.c:4671
+#: g10/gpg.c:4692
 #, fuzzy, c-format
 msgid "keyserver refresh failed: %s\n"
 msgstr "listigo de sekretaj ŝlosiloj malsukcesis: %s\n"
 
-#: g10/gpg.c:4738
+#: g10/gpg.c:4759
 #, c-format
 msgid "dearmoring failed: %s\n"
 msgstr "elkirasigo malsukcesis: %s\n"
 
-#: g10/gpg.c:4749
+#: g10/gpg.c:4770
 #, c-format
 msgid "enarmoring failed: %s\n"
 msgstr "enkirasigo malsukcesis: %s\n"
 
-#: g10/gpg.c:4841
+#: g10/gpg.c:4862
 #, fuzzy, c-format
 #| msgid "invalid hash algorithm `%s'\n"
 msgid "invalid hash algorithm '%s'\n"
 msgstr "nevalida kompendi-metodo '%s'\n"
 
-#: g10/gpg.c:4993 g10/tofu.c:2153
+#: g10/gpg.c:5014 g10/tofu.c:2153
 #, fuzzy, c-format
 msgid "error parsing key specification '%s': %s\n"
 msgstr "eraro dum kreado de pasfrazo: %s\n"
 
-#: g10/gpg.c:5006
+#: g10/gpg.c:5027
 #, c-format
 msgid "'%s' does not appear to be a valid key ID, fingerprint or keygrip\n"
 msgstr ""
 
-#: g10/gpg.c:5062
+#: g10/gpg.c:5083
 #, c-format
 msgid "WARNING: no command supplied.  Trying to guess what you mean ...\n"
 msgstr ""
 
-#: g10/gpg.c:5073
+#: g10/gpg.c:5094
 #, c-format
 msgid "Go ahead and type your message ...\n"
 msgstr "Ektajpu vian mesaĝon ...\n"
 
-#: g10/gpg.c:5418
+#: g10/gpg.c:5439
 #, c-format
 msgid "the given certification policy URL is invalid\n"
 msgstr "la donita gvidlinia URL por atestado ne validas\n"
 
-#: g10/gpg.c:5420
+#: g10/gpg.c:5441
 #, c-format
 msgid "the given signature policy URL is invalid\n"
 msgstr "la donita gvidlinia URL por subskriboj ne validas\n"
 
-#: g10/gpg.c:5453
+#: g10/gpg.c:5474
 #, fuzzy, c-format
 msgid "the given preferred keyserver URL is invalid\n"
 msgstr "la donita gvidlinia URL por subskriboj ne validas\n"
@@ -3410,7 +3428,7 @@ msgstr "Ĉu forviŝi ĉi tiun ŝlosilon de la ŝlosilaro? "
 msgid "make timestamp conflicts only a warning"
 msgstr "malkongruo de tempostampoj"
 
-#: g10/gpgv.c:86 sm/gpgsm.c:354 tools/gpgconf.c:112
+#: g10/gpgv.c:86 sm/gpgsm.c:357 tools/gpgconf.c:112
 msgid "|FD|write status info to this FD"
 msgstr "|FD|skribi statusinformojn al FD (dosierpriskribilo)"
 
@@ -3492,266 +3510,266 @@ msgstr ""
 msgid "repair keys on import"
 msgstr "montri fingrospuron"
 
-#: g10/import.c:380 g10/import.c:699
+#: g10/import.c:392 g10/import.c:711
 #, c-format
 msgid "skipping block of type %d\n"
 msgstr "ignoras blokon de speco %d\n"
 
-#: g10/import.c:716
+#: g10/import.c:728
 #, fuzzy, c-format
 msgid "%lu keys processed so far\n"
 msgstr "%lu ŝlosiloj jam traktitaj\n"
 
-#: g10/import.c:802
+#: g10/import.c:814
 #, c-format
 msgid "Total number processed: %lu\n"
 msgstr "      Nombro traktita entute: %lu\n"
 
-#: g10/import.c:805
+#: g10/import.c:817
 #, fuzzy, c-format
 #| msgid "      skipped new keys: %lu\n"
 msgid "    skipped PGP-2 keys: %lu\n"
 msgstr "    ignoritaj novaj ŝlosiloj: %lu\n"
 
-#: g10/import.c:807
+#: g10/import.c:819
 #, c-format
 msgid "      skipped new keys: %lu\n"
 msgstr "    ignoritaj novaj ŝlosiloj: %lu\n"
 
-#: g10/import.c:810
+#: g10/import.c:822
 #, c-format
 msgid "          w/o user IDs: %lu\n"
 msgstr "         sen uzantidentigilo: %lu\n"
 
-#: g10/import.c:813 sm/import.c:130
+#: g10/import.c:825 sm/import.c:130
 #, c-format
 msgid "              imported: %lu"
 msgstr "                  importitaj: %lu"
 
-#: g10/import.c:817 sm/import.c:134
+#: g10/import.c:829 sm/import.c:134
 #, c-format
 msgid "             unchanged: %lu\n"
 msgstr "                  neŝanĝitaj: %lu\n"
 
-#: g10/import.c:819
+#: g10/import.c:831
 #, c-format
 msgid "          new user IDs: %lu\n"
 msgstr "      novaj uzantidentigiloj: %lu\n"
 
-#: g10/import.c:821
+#: g10/import.c:833
 #, c-format
 msgid "           new subkeys: %lu\n"
 msgstr "           novaj subŝlosiloj: %lu\n"
 
-#: g10/import.c:823
+#: g10/import.c:835
 #, c-format
 msgid "        new signatures: %lu\n"
 msgstr "            novaj subskriboj: %lu\n"
 
-#: g10/import.c:825
+#: g10/import.c:837
 #, c-format
 msgid "   new key revocations: %lu\n"
 msgstr "         novaj ŝlosilrevokoj: %lu\n"
 
-#: g10/import.c:827 sm/import.c:136
+#: g10/import.c:839 sm/import.c:136
 #, c-format
 msgid "      secret keys read: %lu\n"
 msgstr "   sekretaj ŝlosiloj legitaj: %lu\n"
 
-#: g10/import.c:829 sm/import.c:138
+#: g10/import.c:841 sm/import.c:138
 #, c-format
 msgid "  secret keys imported: %lu\n"
 msgstr "sekretaj ŝlosiloj importitaj: %lu\n"
 
-#: g10/import.c:831 sm/import.c:140
+#: g10/import.c:843 sm/import.c:140
 #, c-format
 msgid " secret keys unchanged: %lu\n"
 msgstr "sekretaj ŝlosiloj neŝanĝitaj: %lu\n"
 
-#: g10/import.c:833 sm/import.c:142
+#: g10/import.c:845 sm/import.c:142
 #, fuzzy, c-format
 msgid "          not imported: %lu\n"
 msgstr "                  importitaj: %lu"
 
-#: g10/import.c:835
+#: g10/import.c:847
 #, fuzzy, c-format
 msgid "    signatures cleaned: %lu\n"
 msgstr "            novaj subskriboj: %lu\n"
 
-#: g10/import.c:837
+#: g10/import.c:849
 #, fuzzy, c-format
 msgid "      user IDs cleaned: %lu\n"
 msgstr "   sekretaj ŝlosiloj legitaj: %lu\n"
 
-#: g10/import.c:1264
+#: g10/import.c:1276
 #, c-format
 msgid ""
 "WARNING: key %s contains preferences for unavailable\n"
 "algorithms on these user IDs:\n"
 msgstr ""
 
-#: g10/import.c:1306
+#: g10/import.c:1318
 #, c-format
 msgid "         \"%s\": preference for cipher algorithm %s\n"
 msgstr ""
 
-#: g10/import.c:1321
+#: g10/import.c:1333
 #, fuzzy, c-format
 msgid "         \"%s\": preference for digest algorithm %s\n"
 msgstr "%s-subskribo de: %s\n"
 
-#: g10/import.c:1333
+#: g10/import.c:1345
 #, c-format
 msgid "         \"%s\": preference for compression algorithm %s\n"
 msgstr ""
 
-#: g10/import.c:1346
+#: g10/import.c:1358
 #, c-format
 msgid "it is strongly suggested that you update your preferences and\n"
 msgstr ""
 
-#: g10/import.c:1348
+#: g10/import.c:1360
 #, c-format
 msgid "re-distribute this key to avoid potential algorithm mismatch problems\n"
 msgstr ""
 
-#: g10/import.c:1373
+#: g10/import.c:1385
 #, c-format
 msgid "you can update your preferences with: gpg --edit-key %s updpref save\n"
 msgstr ""
 
-#: g10/import.c:1887 g10/import.c:3001
+#: g10/import.c:1899 g10/import.c:3013
 #, fuzzy, c-format
 msgid "key %s: no user ID\n"
 msgstr "ŝlosilo %08lX: mankas uzantidentigilo\n"
 
-#: g10/import.c:1893
+#: g10/import.c:1905
 #, fuzzy, c-format
 msgid "key %s: %s\n"
 msgstr "ignoris '%s': %s\n"
 
-#: g10/import.c:1894 g10/import.c:2973
+#: g10/import.c:1906 g10/import.c:2985
 msgid "rejected by import screener"
 msgstr ""
 
-#: g10/import.c:1938
+#: g10/import.c:1950
 #, fuzzy, c-format
 msgid "key %s: PKS subkey corruption repaired\n"
 msgstr "ŝlosilo %08lX: mankas subŝlosilo por ŝlosilbindado\n"
 
-#: g10/import.c:1959
+#: g10/import.c:1971
 #, fuzzy, c-format
 msgid "key %s: accepted non self-signed user ID \"%s\"\n"
 msgstr "ŝlosilo %08lX: akceptis ne-mem-subskribitan uzantidentigilon '"
 
-#: g10/import.c:1969 g10/import.c:2000
+#: g10/import.c:1981 g10/import.c:2012
 #, fuzzy, c-format
 msgid "key %s: no valid user IDs\n"
 msgstr "ŝlosilo %08lX: mankas valida uzantidentigilo\n"
 
-#: g10/import.c:1971
+#: g10/import.c:1983
 #, c-format
 msgid "this may be caused by a missing self-signature\n"
 msgstr "tio povas esti kaŭzata de mankanta mem-subskribo\n"
 
-#: g10/import.c:2050 g10/import.c:3387
+#: g10/import.c:2062 g10/import.c:3399
 #, fuzzy, c-format
 msgid "key %s: public key not found: %s\n"
 msgstr "ŝlosilo %08lX: publika ŝlosilo ne trovita: %s\n"
 
-#: g10/import.c:2056
+#: g10/import.c:2068
 #, fuzzy, c-format
 msgid "key %s: new key - skipped\n"
 msgstr "ŝlosilo %08lX: nova ŝlosilo - ignorita\n"
 
-#: g10/import.c:2068
+#: g10/import.c:2080
 #, c-format
 msgid "no writable keyring found: %s\n"
 msgstr "neniu skribebla ŝlosilaro trovita: %s\n"
 
-#: g10/import.c:2100 g10/import.c:2202 g10/import.c:3464
+#: g10/import.c:2112 g10/import.c:2214 g10/import.c:3476
 #, fuzzy, c-format
 #| msgid "error writing keyring `%s': %s\n"
 msgid "error writing keyring '%s': %s\n"
 msgstr "eraro dum skribado de ŝlosilaro '%s': %s\n"
 
-#: g10/import.c:2123
+#: g10/import.c:2135
 #, fuzzy, c-format
 msgid "key %s: public key \"%s\" imported\n"
 msgstr "ŝlosilo %08lX: publika ŝlosilo importita\n"
 
-#: g10/import.c:2150
+#: g10/import.c:2162
 #, fuzzy, c-format
 msgid "key %s: doesn't match our copy\n"
 msgstr "ŝlosilo %08lX: diferencas de nia kopio\n"
 
-#: g10/import.c:2218
+#: g10/import.c:2230
 #, fuzzy, c-format
 msgid "key %s: \"%s\" 1 new user ID\n"
 msgstr "ŝlosilo %08lX: 1 nova uzantidentigilo\n"
 
-#: g10/import.c:2221
+#: g10/import.c:2233
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d new user IDs\n"
 msgstr "ŝlosilo %08lX: %d novaj uzantidentigiloj\n"
 
-#: g10/import.c:2224
+#: g10/import.c:2236
 #, fuzzy, c-format
 msgid "key %s: \"%s\" 1 new signature\n"
 msgstr "ŝlosilo %08lX: 1 nova subskribo\n"
 
-#: g10/import.c:2227
+#: g10/import.c:2239
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d new signatures\n"
 msgstr "ŝlosilo %08lX: %d novaj subskriboj\n"
 
-#: g10/import.c:2230
+#: g10/import.c:2242
 #, fuzzy, c-format
 msgid "key %s: \"%s\" 1 new subkey\n"
 msgstr "ŝlosilo %08lX: 1 nova subŝlosilo\n"
 
-#: g10/import.c:2233
+#: g10/import.c:2245
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d new subkeys\n"
 msgstr "ŝlosilo %08lX: %d novaj subŝlosiloj\n"
 
-#: g10/import.c:2236
+#: g10/import.c:2248
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d signature cleaned\n"
 msgstr "ŝlosilo %08lX: %d novaj subskriboj\n"
 
-#: g10/import.c:2239
+#: g10/import.c:2251
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d signatures cleaned\n"
 msgstr "ŝlosilo %08lX: %d novaj subskriboj\n"
 
-#: g10/import.c:2242
+#: g10/import.c:2254
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d user ID cleaned\n"
 msgstr "ŝlosilo %08lX: %d novaj uzantidentigiloj\n"
 
-#: g10/import.c:2245
+#: g10/import.c:2257
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d user IDs cleaned\n"
 msgstr "ŝlosilo %08lX: %d novaj uzantidentigiloj\n"
 
-#: g10/import.c:2281
+#: g10/import.c:2293
 #, fuzzy, c-format
 msgid "key %s: \"%s\" not changed\n"
 msgstr "ŝlosilo %08lX: ne ŝanĝita\n"
 
-#: g10/import.c:2640 g10/import.c:2835
+#: g10/import.c:2652 g10/import.c:2847
 #, fuzzy, c-format
 msgid "key %s: secret key imported\n"
 msgstr "ŝlosilo %08lX: sekreta ŝlosilo importita\n"
 
-#: g10/import.c:2648
+#: g10/import.c:2660
 #, fuzzy, c-format
 #| msgid "skipped: secret key already present\n"
 msgid "key %s: secret key already exists\n"
 msgstr "ignorita: sekreta ŝlosilo jam ĉeestas\n"
 
-#: g10/import.c:2656
+#: g10/import.c:2668
 #, fuzzy, c-format
 msgid "key %s: error sending to agent: %s\n"
 msgstr "eraro dum sendo al '%s': %s\n"
@@ -3764,193 +3782,193 @@ msgstr "eraro dum sendo al '%s': %s\n"
 #. * Instead, user should be suggested to run 'gpg --card-status',
 #. * then, references to a card will be automatically created
 #. * again.
-#: g10/import.c:2825
+#: g10/import.c:2837
 #, c-format
 msgid "To migrate '%s', with each smartcard, run: %s\n"
 msgstr ""
 
-#: g10/import.c:2972
+#: g10/import.c:2984
 #, fuzzy, c-format
 msgid "secret key %s: %s\n"
 msgstr "ŝlosilo '%s' ne trovita: %s\n"
 
-#: g10/import.c:2993 g10/import.c:3032
+#: g10/import.c:3005 g10/import.c:3044
 #, fuzzy, c-format
 msgid "importing secret keys not allowed\n"
 msgstr "skribas sekretan ŝlosilon al '%s'\n"
 
-#: g10/import.c:3020
+#: g10/import.c:3032
 #, fuzzy, c-format
 msgid "key %s: secret key with invalid cipher %d - skipped\n"
 msgstr "ŝlosilo %08lX: sekreta ŝlosilo sen publika ŝlosilo - ignorita\n"
 
-#: g10/import.c:3182 g10/pkclist.c:72 g10/revoke.c:776
+#: g10/import.c:3194 g10/pkclist.c:72 g10/revoke.c:776
 msgid "No reason specified"
 msgstr "Nenia kialo specifita"
 
-#: g10/import.c:3183 g10/pkclist.c:74 g10/revoke.c:778
+#: g10/import.c:3195 g10/pkclist.c:74 g10/revoke.c:778
 msgid "Key is superseded"
 msgstr "Ŝlosilo estas anstataŭigita."
 
-#: g10/import.c:3184 g10/pkclist.c:76 g10/revoke.c:777
+#: g10/import.c:3196 g10/pkclist.c:76 g10/revoke.c:777
 msgid "Key has been compromised"
 msgstr "Ŝlosilo estas kompromitita"
 
-#: g10/import.c:3185 g10/pkclist.c:78 g10/revoke.c:779
+#: g10/import.c:3197 g10/pkclist.c:78 g10/revoke.c:779
 msgid "Key is no longer used"
 msgstr "Ŝlosilo estas ne plu uzata"
 
-#: g10/import.c:3186 g10/pkclist.c:80 g10/revoke.c:780
+#: g10/import.c:3198 g10/pkclist.c:80 g10/revoke.c:780
 msgid "User ID is no longer valid"
 msgstr "Uzantidentigilo ne plu validas"
 
-#: g10/import.c:3311 g10/keylist.c:1254 g10/pkclist.c:84
+#: g10/import.c:3323 g10/keylist.c:1254 g10/pkclist.c:84
 #, fuzzy, c-format
 msgid "reason for revocation: "
 msgstr "Kialo por revoko: "
 
-#: g10/import.c:3330 g10/keylist.c:1273 g10/pkclist.c:100
+#: g10/import.c:3342 g10/keylist.c:1273 g10/pkclist.c:100
 #, fuzzy, c-format
 msgid "revocation comment: "
 msgstr "Komento pri revoko: "
 
-#: g10/import.c:3380
+#: g10/import.c:3392
 #, fuzzy, c-format
 msgid "key %s: no public key - can't apply revocation certificate\n"
 msgstr ""
 "ŝlosilo %08lX: publika ŝlosilo mankas - ne povas apliki revokatestilon\n"
 
-#: g10/import.c:3411
+#: g10/import.c:3423
 #, fuzzy, c-format
 msgid "key %s: can't locate original keyblock: %s\n"
 msgstr "ŝlosilo %08lX: ne povas trovi originalan ŝlosilblokon: %s\n"
 
-#: g10/import.c:3418
+#: g10/import.c:3430
 #, fuzzy, c-format
 msgid "key %s: can't read original keyblock: %s\n"
 msgstr "ŝlosilo %08lX: ne povas legi originalan ŝlosilblokon: %s\n"
 
-#: g10/import.c:3438
+#: g10/import.c:3450
 #, fuzzy, c-format
 msgid "key %s: invalid revocation certificate: %s - rejected\n"
 msgstr "ŝlosilo %08lX: nevalida revokatestilo: %s - malakceptita\n"
 
-#: g10/import.c:3473
+#: g10/import.c:3485
 #, fuzzy, c-format
 msgid "key %s: \"%s\" revocation certificate imported\n"
 msgstr "ŝlosilo %08lX: revokatestilo importita\n"
 
-#: g10/import.c:3559
+#: g10/import.c:3571
 #, fuzzy, c-format
 msgid "key %s: no user ID for signature\n"
 msgstr "ŝlosilo %08lX: mankas uzantidentigilo por subskribo\n"
 
-#: g10/import.c:3576
+#: g10/import.c:3588
 #, fuzzy, c-format
 msgid "key %s: unsupported public key algorithm on user ID \"%s\"\n"
 msgstr "ŝlosilo %08lX: nerealigita publikŝlosila metodo\n"
 
-#: g10/import.c:3578
+#: g10/import.c:3590
 #, fuzzy, c-format
 msgid "key %s: invalid self-signature on user ID \"%s\"\n"
 msgstr "ŝlosilo %08lX: nevalida mem-subskribo\n"
 
-#: g10/import.c:3595 g10/import.c:3623 g10/import.c:3679
+#: g10/import.c:3607 g10/import.c:3635 g10/import.c:3691
 #, fuzzy, c-format
 msgid "key %s: unsupported public key algorithm\n"
 msgstr "ŝlosilo %08lX: nerealigita publikŝlosila metodo\n"
 
-#: g10/import.c:3596
+#: g10/import.c:3608
 #, fuzzy, c-format
 msgid "key %s: invalid direct key signature\n"
 msgstr "ŝlosilo %08lX: rekta ŝlosilsubskribo aldonita\n"
 
-#: g10/import.c:3610
+#: g10/import.c:3622
 #, fuzzy, c-format
 msgid "key %s: no subkey for key binding\n"
 msgstr "ŝlosilo %08lX: mankas subŝlosilo por ŝlosilbindado\n"
 
-#: g10/import.c:3625
+#: g10/import.c:3637
 #, fuzzy, c-format
 msgid "key %s: invalid subkey binding\n"
 msgstr "ŝlosilo %08lX: nevalida subŝlosila bindado\n"
 
-#: g10/import.c:3644
+#: g10/import.c:3656
 #, fuzzy, c-format
 msgid "key %s: removed multiple subkey binding\n"
 msgstr "ŝlosilo %08lX: nevalida subŝlosila bindado\n"
 
-#: g10/import.c:3668
+#: g10/import.c:3680
 #, fuzzy, c-format
 msgid "key %s: no subkey for key revocation\n"
 msgstr "ŝlosilo %08lX: mankas subŝlosilo por ŝlosilbindado\n"
 
-#: g10/import.c:3681
+#: g10/import.c:3693
 #, fuzzy, c-format
 msgid "key %s: invalid subkey revocation\n"
 msgstr "ŝlosilo %08lX.%lu: Valida subŝlosilrevoko\n"
 
-#: g10/import.c:3696
+#: g10/import.c:3708
 #, fuzzy, c-format
 msgid "key %s: removed multiple subkey revocation\n"
 msgstr "ŝlosilo %08lX: nevalida subŝlosila bindado\n"
 
-#: g10/import.c:3740
+#: g10/import.c:3752
 #, fuzzy, c-format
 msgid "key %s: skipped user ID \"%s\"\n"
 msgstr "ŝlosilo %08lX: ignoris uzantidentigilon '"
 
-#: g10/import.c:3767
+#: g10/import.c:3779
 #, fuzzy, c-format
 msgid "key %s: skipped subkey\n"
 msgstr "ŝlosilo %08lX: ignoris subŝlosilon\n"
 
-#: g10/import.c:3798
+#: g10/import.c:3810
 #, fuzzy, c-format
 msgid "key %s: non exportable signature (class 0x%02X) - skipped\n"
 msgstr "ŝlosilo %08lX: neeksportebla subskribo (klaso %02x) - ignorita\n"
 
-#: g10/import.c:3809
+#: g10/import.c:3821
 #, fuzzy, c-format
 msgid "key %s: revocation certificate at wrong place - skipped\n"
 msgstr "ŝlosilo %08lX: revokatestilo en malĝusta loko - ignorita\n"
 
-#: g10/import.c:3827
+#: g10/import.c:3839
 #, fuzzy, c-format
 msgid "key %s: invalid revocation certificate: %s - skipped\n"
 msgstr "ŝlosilo %08lX: nevalida revokatestilo: %s - ignorita\n"
 
-#: g10/import.c:3841
+#: g10/import.c:3853
 #, fuzzy, c-format
 msgid "key %s: subkey signature in wrong place - skipped\n"
 msgstr "ŝlosilo %08lX: revokatestilo en malĝusta loko - ignorita\n"
 
-#: g10/import.c:3849
+#: g10/import.c:3861
 #, fuzzy, c-format
 msgid "key %s: unexpected signature class (0x%02X) - skipped\n"
 msgstr "ŝlosilo %08lX: neeksportebla subskribo (klaso %02x) - ignorita\n"
 
-#: g10/import.c:4022
+#: g10/import.c:4034
 #, fuzzy, c-format
 msgid "key %s: duplicated user ID detected - merged\n"
 msgstr "ŝlosilo %08lX: trovis ripetitan uzantidentigilon - kunfandita\n"
 
-#: g10/import.c:4087
+#: g10/import.c:4099
 #, fuzzy, c-format
 msgid "WARNING: key %s may be revoked: fetching revocation key %s\n"
 msgstr "AVERTO: Ĉi tiu ŝlosilo estas revokita de sia posedanto!\n"
 
-#: g10/import.c:4103
+#: g10/import.c:4115
 #, fuzzy, c-format
 msgid "WARNING: key %s may be revoked: revocation key %s not present.\n"
 msgstr "AVERTO: Ĉi tiu ŝlosilo estas revokita de sia posedanto!\n"
 
-#: g10/import.c:4169
+#: g10/import.c:4181
 #, fuzzy, c-format
 msgid "key %s: \"%s\" revocation certificate added\n"
 msgstr "ŝlosilo %08lX: revokatestilo aldonita\n"
 
-#: g10/import.c:4207
+#: g10/import.c:4219
 #, fuzzy, c-format
 msgid "key %s: direct key signature added\n"
 msgstr "ŝlosilo %08lX: rekta ŝlosilsubskribo aldonita\n"
@@ -4019,7 +4037,7 @@ msgid ""
 "all signatures.\n"
 msgstr ""
 
-#: g10/keydb.c:431 g10/keydb.c:458 sm/keydb.c:191 sm/keydb.c:204
+#: g10/keydb.c:431 g10/keydb.c:458 sm/keydb.c:190 sm/keydb.c:203
 #, fuzzy, c-format
 msgid "error creating keybox '%s': %s\n"
 msgstr "eraro dum kreado de ŝlosilaro '%s': %s\n"
@@ -4030,7 +4048,7 @@ msgstr "eraro dum kreado de ŝlosilaro '%s': %s\n"
 msgid "error creating keyring '%s': %s\n"
 msgstr "eraro dum kreado de ŝlosilaro '%s': %s\n"
 
-#: g10/keydb.c:470 sm/keydb.c:210
+#: g10/keydb.c:470 sm/keydb.c:209
 #, fuzzy, c-format
 msgid "keybox '%s' created\n"
 msgstr "ŝlosilaro '%s' kreita\n"
@@ -4108,14 +4126,14 @@ msgstr ""
 msgid "User ID \"%s\" is revoked."
 msgstr "Uzantidentigilo \"%s\" estas revokita.\n"
 
-#: g10/keyedit.c:569 g10/keyedit.c:597 g10/keyedit.c:624 g10/keyedit.c:808
-#: g10/keyedit.c:1655
+#: g10/keyedit.c:569 g10/keyedit.c:597 g10/keyedit.c:624 g10/keyedit.c:809
+#: g10/keyedit.c:1656
 #, fuzzy
 msgid "Are you sure you still want to sign it? (y/N) "
 msgstr "Ĉu vi estas certa, ke vi ankoraŭ volas subskribi ĝin?\n"
 
-#: g10/keyedit.c:583 g10/keyedit.c:611 g10/keyedit.c:638 g10/keyedit.c:814
-#: g10/keyedit.c:1660 g10/keyedit.c:2667
+#: g10/keyedit.c:583 g10/keyedit.c:611 g10/keyedit.c:638 g10/keyedit.c:815
+#: g10/keyedit.c:1661 g10/keyedit.c:2668
 msgid "  Unable to sign.\n"
 msgstr ""
 
@@ -4205,31 +4223,31 @@ msgstr "\"%s\" jam estis %ssubskribita per ŝlosilo %08lX\n"
 msgid "\"%s\" was already signed by key %s\n"
 msgstr "\"%s\" jam estis %ssubskribita per ŝlosilo %08lX\n"
 
-#: g10/keyedit.c:756
+#: g10/keyedit.c:757
 #, fuzzy
 msgid "Do you want to sign it again anyway? (y/N) "
 msgstr "Ĉu vi estas certa, ke vi ankoraŭ volas subskribi ĝin?\n"
 
-#: g10/keyedit.c:778
+#: g10/keyedit.c:779
 #, fuzzy, c-format
 msgid "Nothing to sign with key %s\n"
 msgstr "Nenio por subskribi per ŝlosilo %08lX\n"
 
-#: g10/keyedit.c:802
+#: g10/keyedit.c:803
 msgid "This key has expired!"
 msgstr "Ĉi tiu ŝlosilo eksvalidiĝis!"
 
-#: g10/keyedit.c:820
+#: g10/keyedit.c:821
 #, c-format
 msgid "This key is due to expire on %s.\n"
 msgstr "Ĉi tiu ŝlosilo eksvalidiĝos je %s.\n"
 
-#: g10/keyedit.c:826
+#: g10/keyedit.c:827
 #, fuzzy
 msgid "Do you want your signature to expire at the same time? (Y/n) "
 msgstr "Ĉu vi volas, ke via subskribo eksvalidiĝu je la sama tempo? (j/n) "
 
-#: g10/keyedit.c:867
+#: g10/keyedit.c:868
 msgid ""
 "How carefully have you verified the key you are about to sign actually "
 "belongs\n"
@@ -4238,32 +4256,32 @@ msgstr ""
 "Kiom zorge vi kontrolis, ke la ŝlosilo, kiun vi subskribos, vere apartenas\n"
 "al la supre nomita persono? Se vi ne scias la respondon, donu \"0\".\n"
 
-#: g10/keyedit.c:872
+#: g10/keyedit.c:873
 #, c-format
 msgid "   (0) I will not answer.%s\n"
 msgstr "   (0) Mi ne respondas.%s\n"
 
-#: g10/keyedit.c:874
+#: g10/keyedit.c:875
 #, c-format
 msgid "   (1) I have not checked at all.%s\n"
 msgstr "   (1) Mi tute ne kontrolis.%s\n"
 
-#: g10/keyedit.c:876
+#: g10/keyedit.c:877
 #, c-format
 msgid "   (2) I have done casual checking.%s\n"
 msgstr "   (2) Mi malzorge kontrolis.%s\n"
 
-#: g10/keyedit.c:879
+#: g10/keyedit.c:880
 #, c-format
 msgid "   (3) I have done very careful checking.%s\n"
 msgstr "   (3) Mi tre zorge kontrolis.%s\n"
 
-#: g10/keyedit.c:886
+#: g10/keyedit.c:887
 #, fuzzy
 msgid "Your selection? (enter '?' for more information): "
 msgstr " i = bonvolu montri pli da informoj\n"
 
-#: g10/keyedit.c:913
+#: g10/keyedit.c:914
 #, fuzzy, c-format
 msgid ""
 "Are you sure that you want to sign this key with your\n"
@@ -4272,270 +4290,270 @@ msgstr ""
 "Ĉu vi estas tute certa, ke vi volas subskribi ĉi tiun ŝlosilon\n"
 "per via ŝlosilo: \""
 
-#: g10/keyedit.c:921
+#: g10/keyedit.c:922
 #, fuzzy
 msgid "This will be a self-signature.\n"
 msgstr "tio povas esti kaŭzata de mankanta mem-subskribo\n"
 
-#: g10/keyedit.c:926
+#: g10/keyedit.c:927
 #, fuzzy
 msgid "WARNING: the signature will not be marked as non-exportable.\n"
 msgstr ""
 "\n"
 "La subskribo estos markita kiel neeksportebla.\n"
 
-#: g10/keyedit.c:933
+#: g10/keyedit.c:934
 #, fuzzy
 msgid "WARNING: the signature will not be marked as non-revocable.\n"
 msgstr ""
 "\n"
 "La subskribo estos markita kiel nerevokebla.\n"
 
-#: g10/keyedit.c:943
+#: g10/keyedit.c:944
 #, fuzzy
 msgid "The signature will be marked as non-exportable.\n"
 msgstr ""
 "\n"
 "La subskribo estos markita kiel neeksportebla.\n"
 
-#: g10/keyedit.c:950
+#: g10/keyedit.c:951
 #, fuzzy
 msgid "The signature will be marked as non-revocable.\n"
 msgstr ""
 "\n"
 "La subskribo estos markita kiel nerevokebla.\n"
 
-#: g10/keyedit.c:957
+#: g10/keyedit.c:958
 #, fuzzy
 msgid "I have not checked this key at all.\n"
 msgstr ""
 "\n"
 "Mi tute ne kontrolis ĉi tiun ŝlosilon.\n"
 
-#: g10/keyedit.c:962
+#: g10/keyedit.c:963
 #, fuzzy
 msgid "I have checked this key casually.\n"
 msgstr ""
 "\n"
 "Mi malzorge kontrolis ĉi tiun ŝlosilon.\n"
 
-#: g10/keyedit.c:967
+#: g10/keyedit.c:968
 #, fuzzy
 msgid "I have checked this key very carefully.\n"
 msgstr ""
 "\n"
 "Mi tre zorge kontrolis ĉi tiun ŝlosilon.\n"
 
-#: g10/keyedit.c:979
+#: g10/keyedit.c:980
 #, fuzzy
 msgid "Really sign? (y/N) "
 msgstr "Ĉu vere subskribi? "
 
-#: g10/keyedit.c:1030 g10/keyedit.c:6154 g10/keyedit.c:6237 g10/keyedit.c:6366
-#: g10/keyedit.c:6428 g10/sign.c:466
+#: g10/keyedit.c:1031 g10/keyedit.c:6155 g10/keyedit.c:6238 g10/keyedit.c:6367
+#: g10/keyedit.c:6429 g10/sign.c:466
 #, c-format
 msgid "signing failed: %s\n"
 msgstr "subskribado malsukcesis: %s\n"
 
-#: g10/keyedit.c:1117
+#: g10/keyedit.c:1118
 msgid "Key has only stub or on-card key items - no passphrase to change.\n"
 msgstr ""
 
-#: g10/keyedit.c:1149
+#: g10/keyedit.c:1150
 #, fuzzy, c-format
 #| msgid "error creating passphrase: %s\n"
 msgid "key %s: error changing passphrase: %s\n"
 msgstr "eraro dum kreado de pasfrazo: %s\n"
 
-#: g10/keyedit.c:1261
+#: g10/keyedit.c:1262
 msgid "save and quit"
 msgstr "skribi kaj fini"
 
-#: g10/keyedit.c:1264
+#: g10/keyedit.c:1265
 #, fuzzy
 msgid "show key fingerprint"
 msgstr "montri fingrospuron"
 
-#: g10/keyedit.c:1265
+#: g10/keyedit.c:1266
 #, fuzzy
 msgid "show the keygrip"
 msgstr "Subskribo-notacio: "
 
-#: g10/keyedit.c:1266
+#: g10/keyedit.c:1267
 msgid "list key and user IDs"
 msgstr "listigi ŝlosilojn kaj uzantidentigilojn"
 
-#: g10/keyedit.c:1268
+#: g10/keyedit.c:1269
 msgid "select user ID N"
 msgstr "elekti uzantidentigilon N"
 
-#: g10/keyedit.c:1269
+#: g10/keyedit.c:1270
 #, fuzzy
 msgid "select subkey N"
 msgstr "elekti uzantidentigilon N"
 
-#: g10/keyedit.c:1270
+#: g10/keyedit.c:1271
 #, fuzzy
 msgid "check signatures"
 msgstr "revoki subskribojn"
 
-#: g10/keyedit.c:1276
+#: g10/keyedit.c:1277
 msgid "sign selected user IDs [* see below for related commands]"
 msgstr ""
 
-#: g10/keyedit.c:1281
+#: g10/keyedit.c:1282
 #, fuzzy
 msgid "sign selected user IDs locally"
 msgstr "subskribi la ŝlosilon loke"
 
-#: g10/keyedit.c:1282
+#: g10/keyedit.c:1283
 #, fuzzy
 msgid "sign selected user IDs with a trust signature"
 msgstr "Sugesto: Elekti la uzantidentigilojn por subskribi\n"
 
-#: g10/keyedit.c:1284
+#: g10/keyedit.c:1285
 msgid "sign selected user IDs with a non-revocable signature"
 msgstr ""
 
-#: g10/keyedit.c:1286
+#: g10/keyedit.c:1287
 msgid "add a user ID"
 msgstr "aldoni uzantidentigilon"
 
-#: g10/keyedit.c:1288
+#: g10/keyedit.c:1289
 msgid "add a photo ID"
 msgstr "aldoni foto-identigilon"
 
-#: g10/keyedit.c:1289
+#: g10/keyedit.c:1290
 #, fuzzy
 msgid "delete selected user IDs"
 msgstr "forviŝi uzantidentigilon"
 
-#: g10/keyedit.c:1292
+#: g10/keyedit.c:1293
 #, fuzzy
 msgid "add a subkey"
 msgstr "al"
 
-#: g10/keyedit.c:1295
+#: g10/keyedit.c:1296
 msgid "add a key to a smartcard"
 msgstr ""
 
-#: g10/keyedit.c:1297
+#: g10/keyedit.c:1298
 msgid "move a key to a smartcard"
 msgstr ""
 
-#: g10/keyedit.c:1299
+#: g10/keyedit.c:1300
 msgid "move a backup key to a smartcard"
 msgstr ""
 
-#: g10/keyedit.c:1301
+#: g10/keyedit.c:1302
 #, fuzzy
 msgid "delete selected subkeys"
 msgstr "forviŝi flankan ŝlosilon"
 
-#: g10/keyedit.c:1303
+#: g10/keyedit.c:1304
 #, fuzzy
 msgid "add a revocation key"
 msgstr "aldoni flankan ŝlosilon"
 
-#: g10/keyedit.c:1305
+#: g10/keyedit.c:1306
 #, fuzzy
 msgid "delete signatures from the selected user IDs"
 msgstr "Ĉu vere aktualigi la preferojn por la elektitaj uzantidentigiloj? "
 
-#: g10/keyedit.c:1307
+#: g10/keyedit.c:1308
 #, fuzzy
 msgid "change the expiration date for the key or selected subkeys"
 msgstr "Vi ne povas ŝanĝi la daton de eksvalidiĝo de v3-ŝlosilo\n"
 
-#: g10/keyedit.c:1309
+#: g10/keyedit.c:1310
 #, fuzzy
 msgid "flag the selected user ID as primary"
 msgstr "marku uzantidentigilon kiel ĉefan"
 
-#: g10/keyedit.c:1312
+#: g10/keyedit.c:1313
 msgid "list preferences (expert)"
 msgstr "listigi preferojn (spertula)"
 
-#: g10/keyedit.c:1313
+#: g10/keyedit.c:1314
 msgid "list preferences (verbose)"
 msgstr "listigi preferojn (detale)"
 
-#: g10/keyedit.c:1315
+#: g10/keyedit.c:1316
 #, fuzzy
 msgid "set preference list for the selected user IDs"
 msgstr "Ĉu vere aktualigi la preferojn por la elektitaj uzantidentigiloj? "
 
-#: g10/keyedit.c:1318
+#: g10/keyedit.c:1319
 #, fuzzy
 msgid "set the preferred keyserver URL for the selected user IDs"
 msgstr "ne povis analizi URI de ŝlosilservilo\n"
 
-#: g10/keyedit.c:1320
+#: g10/keyedit.c:1321
 #, fuzzy
 msgid "set a notation for the selected user IDs"
 msgstr "Ĉu vere aktualigi la preferojn por la elektitaj uzantidentigiloj? "
 
-#: g10/keyedit.c:1322
+#: g10/keyedit.c:1323
 msgid "change the passphrase"
 msgstr "ŝanĝi la pasfrazon"
 
-#: g10/keyedit.c:1325
+#: g10/keyedit.c:1326
 msgid "change the ownertrust"
 msgstr "ŝanĝi la posedantofidon"
 
-#: g10/keyedit.c:1328
+#: g10/keyedit.c:1329
 #, fuzzy
 msgid "revoke signatures on the selected user IDs"
 msgstr "Ĉu vere forigi ĉiujn elektitajn uzantidentigilojn? "
 
-#: g10/keyedit.c:1330
+#: g10/keyedit.c:1331
 #, fuzzy
 msgid "revoke selected user IDs"
 msgstr "aldoni uzantidentigilon"
 
-#: g10/keyedit.c:1333
+#: g10/keyedit.c:1334
 #, fuzzy
 msgid "revoke key or selected subkeys"
 msgstr "revoki flankan ŝlosilon"
 
-#: g10/keyedit.c:1335
+#: g10/keyedit.c:1336
 #, fuzzy
 msgid "enable key"
 msgstr "ŝalti ŝlosilon"
 
-#: g10/keyedit.c:1336
+#: g10/keyedit.c:1337
 #, fuzzy
 msgid "disable key"
 msgstr "malŝalti ŝlosilon"
 
-#: g10/keyedit.c:1338
+#: g10/keyedit.c:1339
 #, fuzzy
 msgid "show selected photo IDs"
 msgstr "montri foto-identigilon"
 
-#: g10/keyedit.c:1340
+#: g10/keyedit.c:1341
 msgid "compact unusable user IDs and remove unusable signatures from key"
 msgstr ""
 
-#: g10/keyedit.c:1342
+#: g10/keyedit.c:1343
 msgid "compact unusable user IDs and remove all signatures from key"
 msgstr ""
 
-#: g10/keyedit.c:1463
+#: g10/keyedit.c:1464
 msgid "Secret key is available.\n"
 msgstr "Sekreta ŝlosilo estas havebla.\n"
 
-#: g10/keyedit.c:1465
+#: g10/keyedit.c:1466
 #, fuzzy
 #| msgid "Secret key is available.\n"
 msgid "Secret subkeys are available.\n"
 msgstr "Sekreta ŝlosilo estas havebla.\n"
 
-#: g10/keyedit.c:1567
+#: g10/keyedit.c:1568
 msgid "Need the secret key to do this.\n"
 msgstr "Bezonas la sekretan ŝlosilon por fari tion.\n"
 
-#: g10/keyedit.c:1590
+#: g10/keyedit.c:1591
 msgid ""
 "* The 'sign' command may be prefixed with an 'l' for local signatures "
 "(lsign),\n"
@@ -4543,351 +4561,351 @@ msgid ""
 "  (nrsign), or any combination thereof (ltsign, tnrsign, etc.).\n"
 msgstr ""
 
-#: g10/keyedit.c:1648 g10/keyedit.c:2667 g10/keyedit.c:3040 g10/keyedit.c:3108
+#: g10/keyedit.c:1649 g10/keyedit.c:2668 g10/keyedit.c:3041 g10/keyedit.c:3109
 #, fuzzy
 msgid "Key is revoked."
 msgstr "Ŝlosilo estas revokita.\n"
 
-#: g10/keyedit.c:1671
+#: g10/keyedit.c:1672
 #, fuzzy
 msgid "Really sign all text user IDs? (y/N) "
 msgstr "Ĉu vere subskribi ĉiujn uzantidentigilojn? "
 
-#: g10/keyedit.c:1675
+#: g10/keyedit.c:1676
 #, fuzzy
 msgid "Really sign all user IDs? (y/N) "
 msgstr "Ĉu vere subskribi ĉiujn uzantidentigilojn? "
 
-#: g10/keyedit.c:1683
+#: g10/keyedit.c:1684
 msgid "Hint: Select the user IDs to sign\n"
 msgstr "Sugesto: Elekti la uzantidentigilojn por subskribi\n"
 
-#: g10/keyedit.c:1694
+#: g10/keyedit.c:1695
 #, fuzzy, c-format
 msgid "Unknown signature type '%s'\n"
 msgstr "nekonata klaso de subskribo"
 
-#: g10/keyedit.c:1718
+#: g10/keyedit.c:1719
 #, c-format
 msgid "This command is not allowed while in %s mode.\n"
 msgstr "Tiu komando ne eblas en la reĝimo %s.\n"
 
-#: g10/keyedit.c:1740 g10/keyedit.c:1764 g10/keyedit.c:1961
+#: g10/keyedit.c:1741 g10/keyedit.c:1765 g10/keyedit.c:1962
 msgid "You must select at least one user ID.\n"
 msgstr "Vi devas elekti almenaŭ unu uzantidentigilon.\n"
 
-#: g10/keyedit.c:1742 g10/keyedit.c:1766 g10/keyedit.c:1923 g10/keyedit.c:1963
+#: g10/keyedit.c:1743 g10/keyedit.c:1767 g10/keyedit.c:1924 g10/keyedit.c:1964
 #, c-format
 msgid "(Use the '%s' command.)\n"
 msgstr ""
 
-#: g10/keyedit.c:1745
+#: g10/keyedit.c:1746
 msgid "You can't delete the last user ID!\n"
 msgstr "Vi ne povas forviŝi la lastan uzantidentigilon!\n"
 
-#: g10/keyedit.c:1748
+#: g10/keyedit.c:1749
 #, fuzzy
 msgid "Really remove all selected user IDs? (y/N) "
 msgstr "Ĉu vere forigi ĉiujn elektitajn uzantidentigilojn? "
 
-#: g10/keyedit.c:1749
+#: g10/keyedit.c:1750
 #, fuzzy
 msgid "Really remove this user ID? (y/N) "
 msgstr "Ĉu vere forigi ĉi tiun uzantidentigilon? "
 
 #. TRANSLATORS: Please take care: This is about
 #. moving the key and not about removing it.
-#: g10/keyedit.c:1806
+#: g10/keyedit.c:1807
 #, fuzzy
 msgid "Really move the primary key? (y/N) "
 msgstr "Ĉu vere forigi ĉi tiun uzantidentigilon? "
 
-#: g10/keyedit.c:1818 g10/keyedit.c:4803
+#: g10/keyedit.c:1819 g10/keyedit.c:4804
 #, fuzzy
 msgid "You must select exactly one key.\n"
 msgstr "Vi devas elekti almenaŭ unu ŝlosilon.\n"
 
-#: g10/keyedit.c:1846
+#: g10/keyedit.c:1847
 msgid "Command expects a filename argument\n"
 msgstr ""
 
-#: g10/keyedit.c:1867
+#: g10/keyedit.c:1868
 #, fuzzy, c-format
 msgid "Can't open '%s': %s\n"
 msgstr "ne povas malfermi '%s': %s\n"
 
-#: g10/keyedit.c:1886
+#: g10/keyedit.c:1887
 #, fuzzy, c-format
 msgid "Error reading backup key from '%s': %s\n"
 msgstr "eraro dum kreado de ŝlosilaro '%s': %s\n"
 
-#: g10/keyedit.c:1921
+#: g10/keyedit.c:1922
 msgid "You must select at least one key.\n"
 msgstr "Vi devas elekti almenaŭ unu ŝlosilon.\n"
 
-#: g10/keyedit.c:1927
+#: g10/keyedit.c:1928
 #, fuzzy
 msgid "Do you really want to delete the selected keys? (y/N) "
 msgstr "Ĉu vi vere volas forviŝi la elektitajn ŝlosilojn? "
 
-#: g10/keyedit.c:1929
+#: g10/keyedit.c:1930
 #, fuzzy
 msgid "Do you really want to delete this key? (y/N) "
 msgstr "Ĉu vi vere volas forviŝi ĉi tiun ŝlosilon? "
 
-#: g10/keyedit.c:1967
+#: g10/keyedit.c:1968
 #, fuzzy
 msgid "Really revoke all selected user IDs? (y/N) "
 msgstr "Ĉu vere forigi ĉiujn elektitajn uzantidentigilojn? "
 
-#: g10/keyedit.c:1968
+#: g10/keyedit.c:1969
 #, fuzzy
 msgid "Really revoke this user ID? (y/N) "
 msgstr "Ĉu vere forigi ĉi tiun uzantidentigilon? "
 
-#: g10/keyedit.c:1986
+#: g10/keyedit.c:1987
 #, fuzzy
 msgid "Do you really want to revoke the entire key? (y/N) "
 msgstr "Ĉu vi vere volas revoki ĉi tiun ŝlosilon? "
 
-#: g10/keyedit.c:1997
+#: g10/keyedit.c:1998
 #, fuzzy
 msgid "Do you really want to revoke the selected subkeys? (y/N) "
 msgstr "Ĉu vi vere volas revoki la elektitajn ŝlosilojn? "
 
-#: g10/keyedit.c:1999
+#: g10/keyedit.c:2000
 #, fuzzy
 msgid "Do you really want to revoke this subkey? (y/N) "
 msgstr "Ĉu vi vere volas revoki ĉi tiun ŝlosilon? "
 
-#: g10/keyedit.c:2057
+#: g10/keyedit.c:2058
 msgid "Owner trust may not be set while using a user provided trust database\n"
 msgstr ""
 
-#: g10/keyedit.c:2102
+#: g10/keyedit.c:2103
 #, fuzzy
 msgid "Set preference list to:\n"
 msgstr "agordi liston de preferoj"
 
-#: g10/keyedit.c:2109
+#: g10/keyedit.c:2110
 #, fuzzy
 msgid "Really update the preferences for the selected user IDs? (y/N) "
 msgstr "Ĉu vere aktualigi la preferojn por la elektitaj uzantidentigiloj? "
 
-#: g10/keyedit.c:2111
+#: g10/keyedit.c:2112
 #, fuzzy
 msgid "Really update the preferences? (y/N) "
 msgstr "Ĉu vere aktualigi la preferojn? "
 
-#: g10/keyedit.c:2185
+#: g10/keyedit.c:2186
 #, fuzzy
 msgid "Save changes? (y/N) "
 msgstr "Ĉu skribi ŝanĝojn? "
 
-#: g10/keyedit.c:2189
+#: g10/keyedit.c:2190
 #, fuzzy
 msgid "Quit without saving? (y/N) "
 msgstr "Ĉu fini sen skribi ŝanĝojn? "
 
-#: g10/keyedit.c:2216 g10/keyedit.c:2762 g10/keyedit.c:3061 g10/keyedit.c:3214
+#: g10/keyedit.c:2217 g10/keyedit.c:2763 g10/keyedit.c:3062 g10/keyedit.c:3215
 #, c-format
 msgid "Key not changed so no update needed.\n"
 msgstr "Ŝlosilo ne ŝanĝita, do aktualigo ne necesas.\n"
 
-#: g10/keyedit.c:2448
+#: g10/keyedit.c:2449
 #, fuzzy, c-format
 #| msgid "You can't delete the last user ID!\n"
 msgid "cannot revoke the last valid user ID.\n"
 msgstr "Vi ne povas forviŝi la lastan uzantidentigilon!\n"
 
-#: g10/keyedit.c:2475
+#: g10/keyedit.c:2476
 #, fuzzy, c-format
 msgid "revoking the user ID failed: %s\n"
 msgstr "kontrolo de kreita subskribo malsukcesis: %s\n"
 
-#: g10/keyedit.c:2541
+#: g10/keyedit.c:2542
 #, fuzzy, c-format
 msgid "setting the primary user ID failed: %s\n"
 msgstr "kontrolo de kreita subskribo malsukcesis: %s\n"
 
-#: g10/keyedit.c:2572
+#: g10/keyedit.c:2573
 #, fuzzy, c-format
 msgid "\"%s\" is not a fingerprint\n"
 msgstr "%s: nevalida dosiero-versio %d\n"
 
-#: g10/keyedit.c:2602
+#: g10/keyedit.c:2603
 #, fuzzy, c-format
 msgid "\"%s\" is not the primary fingerprint\n"
 msgstr "malsukcesis doni komencajn valorojn al fido-datenaro: %s\n"
 
-#: g10/keyedit.c:2738 g10/keyedit.c:2741
+#: g10/keyedit.c:2739 g10/keyedit.c:2742
 #, fuzzy, c-format
 #| msgid "invalid value\n"
 msgid "Invalid user ID '%s': %s\n"
 msgstr "nevalida valoro\n"
 
-#: g10/keyedit.c:2744
+#: g10/keyedit.c:2745
 #, fuzzy
 #| msgid "No such user ID.\n"
 msgid "No matching user IDs."
 msgstr "Uzantidentigilo ne ekzistas.\n"
 
-#: g10/keyedit.c:2744
+#: g10/keyedit.c:2745
 #, fuzzy
 msgid "Nothing to sign.\n"
 msgstr "Nenio por subskribi per ŝlosilo %08lX\n"
 
-#: g10/keyedit.c:2937 g10/keyedit.c:6019
+#: g10/keyedit.c:2938 g10/keyedit.c:6020
 #, fuzzy, c-format
 msgid "Not signed by you.\n"
 msgstr "   subskribita per %08lX je %s%s\n"
 
-#: g10/keyedit.c:2995
+#: g10/keyedit.c:2996
 #, fuzzy, c-format
 #| msgid "checking created signature failed: %s\n"
 msgid "revoking the key signature failed: %s\n"
 msgstr "kontrolo de kreita subskribo malsukcesis: %s\n"
 
-#: g10/keyedit.c:3116
+#: g10/keyedit.c:3117
 #, fuzzy, c-format
 msgid "'%s' is not a valid expiration time\n"
 msgstr "%s ne estas valida signaro\n"
 
-#: g10/keyedit.c:3159
+#: g10/keyedit.c:3160
 #, fuzzy, c-format
 msgid "\"%s\" is not a proper fingerprint\n"
 msgstr "%s: nevalida dosiero-versio %d\n"
 
-#: g10/keyedit.c:3183
+#: g10/keyedit.c:3184
 #, fuzzy, c-format
 msgid "subkey \"%s\" not found\n"
 msgstr "ŝlosilo '%s' ne trovita: %s\n"
 
-#: g10/keyedit.c:3306
+#: g10/keyedit.c:3307
 msgid "AEAD: "
 msgstr ""
 
-#: g10/keyedit.c:3323
+#: g10/keyedit.c:3324
 msgid "Digest: "
 msgstr ""
 
-#: g10/keyedit.c:3380
+#: g10/keyedit.c:3381
 msgid "Features: "
 msgstr ""
 
-#: g10/keyedit.c:3397
+#: g10/keyedit.c:3398
 msgid "Keyserver no-modify"
 msgstr ""
 
-#: g10/keyedit.c:3412 g10/keylist.c:376
+#: g10/keyedit.c:3413 g10/keylist.c:376
 msgid "Preferred keyserver: "
 msgstr ""
 
-#: g10/keyedit.c:3420 g10/keyedit.c:3421
+#: g10/keyedit.c:3421 g10/keyedit.c:3422
 #, fuzzy
 msgid "Notations: "
 msgstr "Notacio: "
 
-#: g10/keyedit.c:3669
+#: g10/keyedit.c:3670
 msgid "There are no preferences on a PGP 2.x-style user ID.\n"
 msgstr ""
 
-#: g10/keyedit.c:3741
+#: g10/keyedit.c:3742
 #, fuzzy, c-format
 msgid "The following key was revoked on %s by %s key %s\n"
 msgstr "Ĉi tiu ŝlosilo estas revokebla per %s ŝlosilo %s%s\n"
 
-#: g10/keyedit.c:3765
+#: g10/keyedit.c:3766
 #, fuzzy, c-format
 msgid "This key may be revoked by %s key %s"
 msgstr "Ĉi tiu ŝlosilo estas revokebla per %s ŝlosilo %s%s\n"
 
-#: g10/keyedit.c:3771
+#: g10/keyedit.c:3772
 #, fuzzy
 msgid "(sensitive)"
 msgstr " (sentema)"
 
-#: g10/keyedit.c:3813 g10/keyedit.c:3960 g10/keylist.c:264 g10/keyserver.c:538
+#: g10/keyedit.c:3814 g10/keyedit.c:3961 g10/keylist.c:264 g10/keyserver.c:361
 #, fuzzy, c-format
 msgid "created: %s"
 msgstr "ne povas krei %s: %s\n"
 
-#: g10/keyedit.c:3816 g10/keylist.c:2149
+#: g10/keyedit.c:3817 g10/keylist.c:2149
 #, fuzzy, c-format
 msgid "revoked: %s"
 msgstr "rev"
 
-#: g10/keyedit.c:3818 g10/keylist.c:2155
+#: g10/keyedit.c:3819 g10/keylist.c:2155
 #, fuzzy, c-format
 msgid "expired: %s"
 msgstr " [eksvalidiĝos: %s]"
 
-#: g10/keyedit.c:3820 g10/keyedit.c:3962 g10/keylist.c:266 g10/keylist.c:2161
-#: g10/keyserver.c:544
+#: g10/keyedit.c:3821 g10/keyedit.c:3963 g10/keylist.c:266 g10/keylist.c:2161
+#: g10/keyserver.c:367
 #, fuzzy, c-format
 msgid "expires: %s"
 msgstr " [eksvalidiĝos: %s]"
 
-#: g10/keyedit.c:3822
+#: g10/keyedit.c:3823
 #, fuzzy, c-format
 msgid "usage: %s"
 msgstr " fido: %c/%c"
 
-#: g10/keyedit.c:3830 g10/keyedit.c:3850 g10/keylist.c:269
+#: g10/keyedit.c:3831 g10/keyedit.c:3851 g10/keylist.c:269
 msgid "card-no: "
 msgstr ""
 
-#: g10/keyedit.c:3889
+#: g10/keyedit.c:3890
 #, fuzzy, c-format
 msgid "trust: %s"
 msgstr " fido: %c/%c"
 
-#: g10/keyedit.c:3893
+#: g10/keyedit.c:3894
 #, c-format
 msgid "validity: %s"
 msgstr ""
 
-#: g10/keyedit.c:3900
+#: g10/keyedit.c:3901
 msgid "This key has been disabled"
 msgstr "Ĉi tiu ŝlosilo estas malŝaltita"
 
-#: g10/keyedit.c:3918
+#: g10/keyedit.c:3919
 msgid ""
 "Please note that the shown key validity is not necessarily correct\n"
 "unless you restart the program.\n"
 msgstr ""
 
-#: g10/keyedit.c:3979 g10/keyedit.c:4410 g10/keyserver.c:548
-#: g10/mainproc.c:2371 g10/tofu.c:1787 g10/trust.c:437 dirmngr/ocsp.c:791
+#: g10/keyedit.c:3980 g10/keyedit.c:4411 g10/keyserver.c:371
+#: g10/mainproc.c:2380 g10/tofu.c:1787 g10/trust.c:437 dirmngr/ocsp.c:791
 #, fuzzy
 msgid "revoked"
 msgstr "rev"
 
-#: g10/keyedit.c:3981 g10/keyedit.c:4412 g10/keyserver.c:552
-#: g10/mainproc.c:2373 g10/tofu.c:1792 g10/trust.c:124
+#: g10/keyedit.c:3982 g10/keyedit.c:4413 g10/keyserver.c:375
+#: g10/mainproc.c:2382 g10/tofu.c:1792 g10/trust.c:124
 #, fuzzy
 msgid "expired"
 msgstr "eksval"
 
-#: g10/keyedit.c:4098
+#: g10/keyedit.c:4099
 #, c-format
 msgid ""
 "WARNING: no user ID has been marked as primary.  This command may\n"
 "              cause a different user ID to become the assumed primary.\n"
 msgstr ""
 
-#: g10/keyedit.c:4150
+#: g10/keyedit.c:4151
 #, c-format
 msgid "WARNING: Your encryption subkey expires soon.\n"
 msgstr ""
 
-#: g10/keyedit.c:4151
+#: g10/keyedit.c:4152
 #, fuzzy, c-format
 #| msgid "You can't change the expiration date of a v3 key\n"
 msgid "You may want to change its expiration date too.\n"
 msgstr "Vi ne povas ŝanĝi la daton de eksvalidiĝo de v3-ŝlosilo\n"
 
-#: g10/keyedit.c:4210
+#: g10/keyedit.c:4211
 msgid ""
 "WARNING: This is a PGP2-style key.  Adding a photo ID may cause some "
 "versions\n"
@@ -4896,36 +4914,36 @@ msgstr ""
 "AVERTO: Ĉi tiu estas PGP2-stila ŝlosilo. Aldono de foto-identigilo eble\n"
 "        kaŭzos, ke iuj versioj de PGP malakceptos la ŝlosilon.\n"
 
-#: g10/keyedit.c:4215 g10/keyedit.c:4505
+#: g10/keyedit.c:4216 g10/keyedit.c:4506
 #, fuzzy
 msgid "Are you sure you still want to add it? (y/N) "
 msgstr "Ĉu vi estas certa, ke vi ankoraŭ volas aldoni ĝin? (j/n) "
 
-#: g10/keyedit.c:4221
+#: g10/keyedit.c:4222
 msgid "You may not add a photo ID to a PGP2-style key.\n"
 msgstr "Ne eblas aldoni foto-identigilon al PGP2-stila ŝlosilo.\n"
 
-#: g10/keyedit.c:4236 g10/keygen.c:2899
+#: g10/keyedit.c:4237 g10/keygen.c:2899
 msgid "Such a user ID already exists on this key!\n"
 msgstr ""
 
-#: g10/keyedit.c:4338
+#: g10/keyedit.c:4339
 msgid "Delete this good signature? (y/N/q)"
 msgstr "Ĉu forviŝi ĉi tiun bonan subskribon? (j/N/f)"
 
-#: g10/keyedit.c:4348
+#: g10/keyedit.c:4349
 msgid "Delete this invalid signature? (y/N/q)"
 msgstr "Ĉu forviŝi ĉi tiun nevalidan subskribon? (j/N/f)"
 
-#: g10/keyedit.c:4352
+#: g10/keyedit.c:4353
 msgid "Delete this unknown signature? (y/N/q)"
 msgstr "Ĉu forviŝi ĉi tiun nekonatan subskribon? (j/N/f)"
 
-#: g10/keyedit.c:4359
+#: g10/keyedit.c:4360
 msgid "Really delete this self-signature? (y/N)"
 msgstr "Ĉu vere forviŝi ĉi tiun mem-subskribon? (j/N)"
 
-#: g10/keyedit.c:4375
+#: g10/keyedit.c:4376
 #, fuzzy, c-format
 #| msgid "Deleted %d signature.\n"
 msgid "Deleted %d signature.\n"
@@ -4933,37 +4951,37 @@ msgid_plural "Deleted %d signatures.\n"
 msgstr[0] "Forviŝis %d subskribon.\n"
 msgstr[1] "Forviŝis %d subskribon.\n"
 
-#: g10/keyedit.c:4379
+#: g10/keyedit.c:4380
 msgid "Nothing deleted.\n"
 msgstr "Nenio estis forviŝita.\n"
 
-#: g10/keyedit.c:4414
+#: g10/keyedit.c:4415
 msgid "invalid"
 msgstr "nevalida"
 
-#: g10/keyedit.c:4416
+#: g10/keyedit.c:4417
 #, fuzzy, c-format
 msgid "User ID \"%s\" compacted: %s\n"
 msgstr "Uzantidentigilo \"%s\" estas revokita.\n"
 
-#: g10/keyedit.c:4422
+#: g10/keyedit.c:4423
 #, fuzzy, c-format
 msgid "User ID \"%s\": %d signature removed\n"
 msgid_plural "User ID \"%s\": %d signatures removed\n"
 msgstr[0] "Uzantidentigilo \"%s\" estas revokita.\n"
 msgstr[1] "Uzantidentigilo \"%s\" estas revokita.\n"
 
-#: g10/keyedit.c:4430
+#: g10/keyedit.c:4431
 #, fuzzy, c-format
 msgid "User ID \"%s\": already minimized\n"
 msgstr "Uzantidentigilo \"%s\" estas revokita.\n"
 
-#: g10/keyedit.c:4431
+#: g10/keyedit.c:4432
 #, fuzzy, c-format
 msgid "User ID \"%s\": already clean\n"
 msgstr "Uzantidentigilo \"%s\" estas revokita.\n"
 
-#: g10/keyedit.c:4500
+#: g10/keyedit.c:4501
 #, fuzzy
 msgid ""
 "WARNING: This is a PGP 2.x-style key.  Adding a designated revoker may "
@@ -4973,226 +4991,226 @@ msgstr ""
 "AVERTO: Ĉi tiu estas PGP2-stila ŝlosilo. Aldono de foto-identigilo eble\n"
 "        kaŭzos, ke iuj versioj de PGP malakceptos la ŝlosilon.\n"
 
-#: g10/keyedit.c:4511
+#: g10/keyedit.c:4512
 #, fuzzy
 msgid "You may not add a designated revoker to a PGP 2.x-style key.\n"
 msgstr "Ne eblas aldoni foto-identigilon al PGP2-stila ŝlosilo.\n"
 
-#: g10/keyedit.c:4528
+#: g10/keyedit.c:4529
 #, fuzzy
 msgid "Enter the user ID of the designated revoker: "
 msgstr "Donu la ŝlosilgrandon"
 
-#: g10/keyedit.c:4554
+#: g10/keyedit.c:4555
 #, c-format
 msgid "cannot appoint a PGP 2.x style key as a designated revoker\n"
 msgstr ""
 
-#: g10/keyedit.c:4569
+#: g10/keyedit.c:4570
 #, c-format
 msgid "you cannot appoint a key as its own designated revoker\n"
 msgstr ""
 
-#: g10/keyedit.c:4591
+#: g10/keyedit.c:4592
 #, fuzzy, c-format
 msgid "this key has already been designated as a revoker\n"
 msgstr "AVERTO: Ĉi tiu ŝlosilo estas revokita de sia posedanto!\n"
 
-#: g10/keyedit.c:4609
+#: g10/keyedit.c:4610
 msgid "WARNING: appointing a key as a designated revoker cannot be undone!\n"
 msgstr ""
 
-#: g10/keyedit.c:4615
+#: g10/keyedit.c:4616
 #, fuzzy
 msgid ""
 "Are you sure you want to appoint this key as a designated revoker? (y/N) "
 msgstr "Ĉu vi estas certa, ke vi ankoraŭ volas subskribi ĝin?\n"
 
-#: g10/keyedit.c:4683
+#: g10/keyedit.c:4684
 #, fuzzy
 msgid ""
 "Are you sure you want to change the expiration time for multiple subkeys? (y/"
 "N) "
 msgstr "Ĉu vi estas certa, ke vi ankoraŭ volas subskribi ĝin?\n"
 
-#: g10/keyedit.c:4688
+#: g10/keyedit.c:4689
 #, fuzzy
 msgid "Changing expiration time for a subkey.\n"
 msgstr "Ŝanĝas la daton de eksvalidiĝo de flanka ŝlosilo.\n"
 
-#: g10/keyedit.c:4691
+#: g10/keyedit.c:4692
 msgid "Changing expiration time for the primary key.\n"
 msgstr "Ŝanĝas la daton de eksvalidiĝo de la ĉefa ŝlosilo.\n"
 
-#: g10/keyedit.c:4747
+#: g10/keyedit.c:4748
 #, c-format
 msgid "You can't change the expiration date of a v3 key\n"
 msgstr "Vi ne povas ŝanĝi la daton de eksvalidiĝo de v3-ŝlosilo\n"
 
-#: g10/keyedit.c:4807
+#: g10/keyedit.c:4808
 #, fuzzy
 msgid "Changing usage of a subkey.\n"
 msgstr "Ŝanĝas la daton de eksvalidiĝo de flanka ŝlosilo.\n"
 
-#: g10/keyedit.c:4810
+#: g10/keyedit.c:4811
 #, fuzzy
 #| msgid "Changing expiration time for the primary key.\n"
 msgid "Changing usage of the primary key.\n"
 msgstr "Ŝanĝas la daton de eksvalidiĝo de la ĉefa ŝlosilo.\n"
 
-#: g10/keyedit.c:4928
+#: g10/keyedit.c:4929
 #, fuzzy, c-format
 msgid "signing subkey %s is already cross-certified\n"
 msgstr "Uzantidentigilo \"%s\" estas revokita.\n"
 
-#: g10/keyedit.c:4934
+#: g10/keyedit.c:4935
 #, c-format
 msgid "subkey %s does not sign and so does not need to be cross-certified\n"
 msgstr ""
 
-#: g10/keyedit.c:5051
+#: g10/keyedit.c:5052
 msgid "Please select exactly one user ID.\n"
 msgstr "Bonvolu elekti precize unu uzantidentigilon.\n"
 
-#: g10/keyedit.c:5092 g10/keyedit.c:5206 g10/keyedit.c:5319 g10/keyedit.c:5457
+#: g10/keyedit.c:5093 g10/keyedit.c:5207 g10/keyedit.c:5320 g10/keyedit.c:5458
 #, fuzzy, c-format
 msgid "skipping v3 self-signature on user ID \"%s\"\n"
 msgstr "ŝlosilo %08lX: nevalida mem-subskribo\n"
 
-#: g10/keyedit.c:5263
+#: g10/keyedit.c:5264
 msgid "Enter your preferred keyserver URL: "
 msgstr ""
 
-#: g10/keyedit.c:5342
+#: g10/keyedit.c:5343
 #, fuzzy
 msgid "Are you sure you want to replace it? (y/N) "
 msgstr "Ĉu vi estas certa, ke vi ankoraŭ volas subskribi ĝin?\n"
 
-#: g10/keyedit.c:5343
+#: g10/keyedit.c:5344
 #, fuzzy
 msgid "Are you sure you want to delete it? (y/N) "
 msgstr "Ĉu vi estas certa, ke vi ankoraŭ volas subskribi ĝin?\n"
 
-#: g10/keyedit.c:5403
+#: g10/keyedit.c:5404
 #, fuzzy
 msgid "Enter the notation: "
 msgstr "Subskribo-notacio: "
 
-#: g10/keyedit.c:5550
+#: g10/keyedit.c:5551
 #, fuzzy
 msgid "Proceed? (y/N) "
 msgstr "Ĉu surskribi (j/N)? "
 
-#: g10/keyedit.c:5620
+#: g10/keyedit.c:5621
 #, c-format
 msgid "No user ID with index %d\n"
 msgstr "Mankas uzantidentigilo kun indekso %d\n"
 
-#: g10/keyedit.c:5682
+#: g10/keyedit.c:5683
 #, fuzzy, c-format
 msgid "No user ID with hash %s\n"
 msgstr "Mankas uzantidentigilo kun indekso %d\n"
 
-#: g10/keyedit.c:5783
+#: g10/keyedit.c:5784
 #, fuzzy, c-format
 msgid "No subkey with key ID '%s'.\n"
 msgstr "Mankas uzantidentigilo kun indekso %d\n"
 
-#: g10/keyedit.c:5805
+#: g10/keyedit.c:5806
 #, fuzzy, c-format
 msgid "No subkey with index %d\n"
 msgstr "Mankas uzantidentigilo kun indekso %d\n"
 
-#: g10/keyedit.c:5946
+#: g10/keyedit.c:5947
 #, fuzzy, c-format
 msgid "user ID: \"%s\"\n"
 msgstr "uzantidentigilo: \""
 
-#: g10/keyedit.c:5949 g10/keyedit.c:6051 g10/keyedit.c:6099
+#: g10/keyedit.c:5950 g10/keyedit.c:6052 g10/keyedit.c:6100
 #, fuzzy, c-format
 msgid "signed by your key %s on %s%s%s\n"
 msgstr "   subskribita per %08lX je %s%s\n"
 
-#: g10/keyedit.c:5951 g10/keyedit.c:6053 g10/keyedit.c:6101
+#: g10/keyedit.c:5952 g10/keyedit.c:6054 g10/keyedit.c:6102
 msgid " (non-exportable)"
 msgstr ""
 
-#: g10/keyedit.c:5955
+#: g10/keyedit.c:5956
 #, fuzzy, c-format
 msgid "This signature expired on %s.\n"
 msgstr "Ĉi tiu ŝlosilo eksvalidiĝos je %s.\n"
 
-#: g10/keyedit.c:5960
+#: g10/keyedit.c:5961
 #, fuzzy
 msgid "Are you sure you still want to revoke it? (y/N) "
 msgstr "Ĉu vi estas certa, ke vi ankoraŭ volas aldoni ĝin? (j/n) "
 
-#: g10/keyedit.c:5965
+#: g10/keyedit.c:5966
 #, fuzzy
 msgid "Create a revocation certificate for this signature? (y/N) "
 msgstr "Ĉu krei revokatestilon por ĉi tiu subskribo? (j/N)"
 
-#: g10/keyedit.c:6025
+#: g10/keyedit.c:6026
 #, fuzzy, c-format
 msgid "You have signed these user IDs on key %s:\n"
 msgstr "Vi subskribis la sekvajn uzantidentigilojn:\n"
 
-#: g10/keyedit.c:6054
+#: g10/keyedit.c:6055
 #, fuzzy
 msgid " (non-revocable)"
 msgstr "subskribi ŝlosilon nerevokeble"
 
-#: g10/keyedit.c:6061
+#: g10/keyedit.c:6062
 #, fuzzy, c-format
 msgid "revoked by your key %s on %s\n"
 msgstr "   revokita de %08lX je %s\n"
 
-#: g10/keyedit.c:6086
+#: g10/keyedit.c:6087
 msgid "You are about to revoke these signatures:\n"
 msgstr "Vi revokos la sekvajn subskribojn:\n"
 
-#: g10/keyedit.c:6109
+#: g10/keyedit.c:6110
 #, fuzzy
 msgid "Really create the revocation certificates? (y/N) "
 msgstr "Ĉu vere krei la revokatestilojn? (j/N)"
 
-#: g10/keyedit.c:6142
+#: g10/keyedit.c:6143
 #, c-format
 msgid "no secret key\n"
 msgstr "mankas sekreta ŝlosilo\n"
 
-#: g10/keyedit.c:6190
+#: g10/keyedit.c:6191
 #, c-format
 msgid "tried to revoke a non-user ID: %s\n"
 msgstr ""
 
-#: g10/keyedit.c:6200
+#: g10/keyedit.c:6201
 #, fuzzy, c-format
 msgid "user ID \"%s\" is already revoked\n"
 msgstr "Uzantidentigilo \"%s\" estas revokita.\n"
 
-#: g10/keyedit.c:6217
+#: g10/keyedit.c:6218
 #, c-format
 msgid "WARNING: a user ID signature is dated %d seconds in the future\n"
 msgstr ""
 
-#: g10/keyedit.c:6313
+#: g10/keyedit.c:6314
 #, fuzzy, c-format
 #| msgid "You can't delete the last user ID!\n"
 msgid "Cannot revoke the last valid user ID.\n"
 msgstr "Vi ne povas forviŝi la lastan uzantidentigilon!\n"
 
-#: g10/keyedit.c:6351
+#: g10/keyedit.c:6352
 #, fuzzy, c-format
 msgid "Key %s is already revoked.\n"
 msgstr "Uzantidentigilo \"%s\" estas revokita.\n"
 
-#: g10/keyedit.c:6413
+#: g10/keyedit.c:6414
 #, fuzzy, c-format
 msgid "Subkey %s is already revoked.\n"
 msgstr "Uzantidentigilo \"%s\" estas revokita.\n"
 
-#: g10/keyedit.c:6510
+#: g10/keyedit.c:6511
 #, c-format
 msgid "Displaying %s photo ID of size %ld for key %s (uid %d)\n"
 msgstr ""
@@ -5929,80 +5947,75 @@ msgstr "la donita gvidlinia URL por subskriboj ne validas\n"
 msgid "honor the PKA record set on a key when retrieving keys"
 msgstr ""
 
-#: g10/keyserver.c:550
+#: g10/keyserver.c:373
 #, fuzzy
 msgid "disabled"
 msgstr "el"
 
-#: g10/keyserver.c:754
+#: g10/keyserver.c:577
 msgid "Enter number(s), N)ext, or Q)uit > "
 msgstr ""
 
-#: g10/keyserver.c:860
+#: g10/keyserver.c:683
 #, fuzzy, c-format
 msgid "invalid keyserver protocol (us %d!=handler %d)\n"
 msgstr "nevalida ŝlosilaro"
 
-#: g10/keyserver.c:1001 g10/keyserver.c:1116
+#: g10/keyserver.c:824 g10/keyserver.c:939
 #, fuzzy, c-format
 msgid "\"%s\" not a key ID: skipping\n"
 msgstr "%s: ne valida ŝlosilidentigilo\n"
 
-#: g10/keyserver.c:1438 g10/keyserver.c:1471
+#: g10/keyserver.c:1237 g10/keyserver.c:1270
 #, fuzzy, c-format
 msgid "refreshing %d key from %s\n"
 msgid_plural "refreshing %d keys from %s\n"
 msgstr[0] "petas la ŝlosilon %08lX de HKP-ŝlosilservilo %s ...\n"
 msgstr[1] "petas la ŝlosilon %08lX de HKP-ŝlosilservilo %s ...\n"
 
-#: g10/keyserver.c:1445
+#: g10/keyserver.c:1244
 #, fuzzy, c-format
 msgid "WARNING: unable to refresh key %s via %s: %s\n"
 msgstr "Averto: malsekura posedeco sur %s \"%s\"\n"
 
-#: g10/keyserver.c:1549
+#: g10/keyserver.c:1336
 #, fuzzy, c-format
 msgid "key \"%s\" not found on keyserver\n"
 msgstr "ŝlosilo '%s' ne trovita: %s\n"
 
-#: g10/keyserver.c:1552
+#: g10/keyserver.c:1339
 #, fuzzy, c-format
 msgid "key not found on keyserver\n"
 msgstr "ŝlosilo '%s' ne trovita: %s\n"
 
-#: g10/keyserver.c:1743
-#, fuzzy, c-format
-msgid "requesting key %s from %s server %s\n"
-msgstr "petas la ŝlosilon %08lX de HKP-ŝlosilservilo %s ...\n"
-
-#: g10/keyserver.c:1747
+#: g10/keyserver.c:1504
 #, fuzzy, c-format
 msgid "requesting key %s from %s\n"
 msgstr "petas la ŝlosilon %08lX de HKP-ŝlosilservilo %s ...\n"
 
-#: g10/keyserver.c:1852 g10/keyserver.c:2031
+#: g10/keyserver.c:1619 g10/keyserver.c:1798
 #, fuzzy, c-format
 msgid "no keyserver known\n"
 msgstr "nevalida ŝlosilaro"
 
-#: g10/keyserver.c:1867 g10/skclist.c:214 g10/skclist.c:242
+#: g10/keyserver.c:1634 g10/skclist.c:215 g10/skclist.c:243
 #, fuzzy, c-format
 msgid "skipped \"%s\": %s\n"
 msgstr "ignoris '%s': %s\n"
 
-#: g10/keyserver.c:1871
+#: g10/keyserver.c:1638
 #, fuzzy, c-format
 msgid "sending key %s to %s\n"
 msgstr ""
 "\"\n"
 "subskribita per via ŝlosilo %08lX je %s\n"
 
-#: g10/keyserver.c:1912
+#: g10/keyserver.c:1679
 #, fuzzy, c-format
 msgid "requesting key from '%s'\n"
 msgstr "petas la ŝlosilon %08lX de HKP-ŝlosilservilo %s ...\n"
 
-#: g10/keyserver.c:1928
+#: g10/keyserver.c:1695
 #, fuzzy, c-format
 msgid "WARNING: unable to fetch URI %s: %s\n"
 msgstr "Averto: malsekura posedeco sur %s \"%s\"\n"
@@ -6017,257 +6030,257 @@ msgstr ""
 msgid "%s encrypted session key\n"
 msgstr "%s-ĉifritaj datenoj\n"
 
-#: g10/mainproc.c:400
+#: g10/mainproc.c:403
 #, fuzzy, c-format
 msgid "passphrase generated with unknown digest algorithm %d\n"
 msgstr "ĉifrita per nekonata metodo %d\n"
 
-#: g10/mainproc.c:481
+#: g10/mainproc.c:485
 #, fuzzy, c-format
 msgid "public key is %s\n"
 msgstr "publika ŝlosilo estas %08lX\n"
 
-#: g10/mainproc.c:557
+#: g10/mainproc.c:561
 #, c-format
 msgid "public key encrypted data: good DEK\n"
 msgstr "publikŝlosile ĉifritaj datenoj: bona DEK\n"
 
-#: g10/mainproc.c:590
+#: g10/mainproc.c:594
 #, fuzzy, c-format
 msgid "encrypted with %u-bit %s key, ID %s, created %s\n"
 msgstr "ĉifrita per %u-bita %s-ŝlosilo, %08lX, kreita je %s\n"
 
-#: g10/mainproc.c:594 g10/pkclist.c:228
+#: g10/mainproc.c:598 g10/pkclist.c:228
 #, fuzzy, c-format
 msgid "      \"%s\"\n"
 msgstr "            alinome \""
 
-#: g10/mainproc.c:598
+#: g10/mainproc.c:602
 #, fuzzy, c-format
 msgid "encrypted with %s key, ID %s\n"
 msgstr "ĉifrita per %s-ŝlosilo, %08lX\n"
 
-#: g10/mainproc.c:619
+#: g10/mainproc.c:623
 #, c-format
 msgid "public key decryption failed: %s\n"
 msgstr "publikŝlosila malĉifrado malsukcesis: %s\n"
 
-#: g10/mainproc.c:641 g10/mainproc.c:970
+#: g10/mainproc.c:645 g10/mainproc.c:976
 #, c-format
 msgid "WARNING: multiple plaintexts seen\n"
 msgstr ""
 
-#: g10/mainproc.c:649
+#: g10/mainproc.c:653
 #, fuzzy, c-format
 msgid "encrypted with %lu passphrases\n"
 msgstr "Ripetu pasfrazon\n"
 
-#: g10/mainproc.c:651
+#: g10/mainproc.c:655
 #, fuzzy, c-format
 msgid "encrypted with 1 passphrase\n"
 msgstr "Ripetu pasfrazon\n"
 
-#: g10/mainproc.c:685 g10/mainproc.c:706
+#: g10/mainproc.c:689 g10/mainproc.c:710
 #, c-format
 msgid "assuming %s encrypted data\n"
 msgstr "supozas %s ĉifritajn datenojn\n"
 
-#: g10/mainproc.c:692
+#: g10/mainproc.c:696
 #, c-format
 msgid "IDEA cipher unavailable, optimistically attempting to use %s instead\n"
 msgstr "Ĉifro IDEA ne disponata, optimisme provas uzi %s anstataŭe\n"
 
-#: g10/mainproc.c:779 g10/mainproc.c:817
+#: g10/mainproc.c:785 g10/mainproc.c:823
 #, fuzzy, c-format
 msgid "WARNING: message was not integrity protected\n"
 msgstr "AVERTO: nenio estis eksportita\n"
 
-#: g10/mainproc.c:790
+#: g10/mainproc.c:796
 msgid ""
 "Hint: If this message was created before the year 2003 it is\n"
 "likely that this message is legitimate.  This is because back\n"
 "then integrity protection was not widely used.\n"
 msgstr ""
 
-#: g10/mainproc.c:793
+#: g10/mainproc.c:799
 #, c-format
 msgid "Use the option '%s' to decrypt anyway.\n"
 msgstr ""
 
-#: g10/mainproc.c:798
+#: g10/mainproc.c:804
 #, fuzzy, c-format
 #| msgid "decryption failed: %s\n"
 msgid "decryption forced to fail!\n"
 msgstr "malĉifrado malsukcesis: %s\n"
 
-#: g10/mainproc.c:810
+#: g10/mainproc.c:816
 #, c-format
 msgid "decryption okay\n"
 msgstr "malĉifrado sukcesis\n"
 
-#: g10/mainproc.c:823
+#: g10/mainproc.c:829
 #, c-format
 msgid "WARNING: encrypted message has been manipulated!\n"
 msgstr "AVERTO: ĉifrita mesaĝo estis manipulita!\n"
 
-#: g10/mainproc.c:841
+#: g10/mainproc.c:847
 #, c-format
 msgid "decryption failed: %s\n"
 msgstr "malĉifrado malsukcesis: %s\n"
 
-#: g10/mainproc.c:886
+#: g10/mainproc.c:892
 #, fuzzy, c-format
 #| msgid "NOTE: sender requested \"for-your-eyes-only\"\n"
 msgid "Note: sender requested \"for-your-eyes-only\"\n"
 msgstr "NOTO: sendinto petis konfidencon (\"for-your-eyes-only\")\n"
 
-#: g10/mainproc.c:893
+#: g10/mainproc.c:899
 #, c-format
 msgid "original file name='%.*s'\n"
 msgstr "originala dosiernomo='%.*s'\n"
 
-#: g10/mainproc.c:1148
+#: g10/mainproc.c:1154
 #, c-format
 msgid "standalone revocation - use \"gpg --import\" to apply\n"
 msgstr "memstara revoko - uzu \"gpg --import\" por apliki ĝin\n"
 
-#: g10/mainproc.c:1452 g10/mainproc.c:1495
+#: g10/mainproc.c:1458 g10/mainproc.c:1501
 #, fuzzy, c-format
 msgid "no signature found\n"
 msgstr "Bona subskribo de \""
 
-#: g10/mainproc.c:1852
+#: g10/mainproc.c:1858
 #, fuzzy, c-format
 msgid "BAD signature from \"%s\""
 msgstr "MALBONA subskribo de \""
 
-#: g10/mainproc.c:1854
+#: g10/mainproc.c:1860
 #, fuzzy, c-format
 msgid "Expired signature from \"%s\""
 msgstr "Eksvalidiĝinta subskribo de \""
 
-#: g10/mainproc.c:1856
+#: g10/mainproc.c:1862
 #, fuzzy, c-format
 msgid "Good signature from \"%s\""
 msgstr "Bona subskribo de \""
 
-#: g10/mainproc.c:1876
+#: g10/mainproc.c:1882
 #, c-format
 msgid "signature verification suppressed\n"
 msgstr "kontrolo de subskribo estas malŝaltita\n"
 
-#: g10/mainproc.c:1985
+#: g10/mainproc.c:1991
 #, fuzzy, c-format
 msgid "can't handle this ambiguous signature data\n"
 msgstr "ne povas trakti ĉi tiujn pluroblajn subskribojn\n"
 
-#: g10/mainproc.c:2001 g10/mainproc.c:2008
+#: g10/mainproc.c:2007 g10/mainproc.c:2014
 #, fuzzy, c-format
 msgid "Signature made %s\n"
 msgstr "Ĉi tiu ŝlosilo eksvalidiĝos je %s.\n"
 
-#: g10/mainproc.c:2002 g10/mainproc.c:2009 sm/verify.c:476
+#: g10/mainproc.c:2008 g10/mainproc.c:2015 sm/verify.c:476
 #, fuzzy, c-format
 msgid "               using %s key %s\n"
 msgstr "            alinome \""
 
-#: g10/mainproc.c:2013
+#: g10/mainproc.c:2019
 #, fuzzy, c-format
 msgid "Signature made %s using %s key ID %s\n"
 msgstr "Subskribo farita je %.*s per %s, ŝlosilo %08lX\n"
 
-#: g10/mainproc.c:2019
+#: g10/mainproc.c:2025
 #, fuzzy, c-format
 msgid "               issuer \"%s\"\n"
 msgstr "            alinome \""
 
-#: g10/mainproc.c:2070
+#: g10/mainproc.c:2076
 #, fuzzy, c-format
 msgid "Key available at: "
 msgstr "Nenia helpo disponata"
 
-#: g10/mainproc.c:2111
+#: g10/mainproc.c:2118
 #, c-format
 msgid "Note: Use '%s' to make use of this info\n"
 msgstr ""
 
-#: g10/mainproc.c:2325
+#: g10/mainproc.c:2334
 msgid "[uncertain]"
 msgstr "[malcerta]"
 
-#: g10/mainproc.c:2363
+#: g10/mainproc.c:2372
 #, fuzzy, c-format
 msgid "                aka \"%s\""
 msgstr "            alinome \""
 
-#: g10/mainproc.c:2438
+#: g10/mainproc.c:2447
 #, fuzzy, c-format
 #| msgid "WARNING: This key is not certified with a trusted signature!\n"
 msgid "WARNING: This key is not suitable for signing in %s mode\n"
 msgstr "AVERTO: Ĉi tiu ŝlosilo ne estas atestita kun fidata subskribo!\n"
 
-#: g10/mainproc.c:2456
+#: g10/mainproc.c:2465
 #, fuzzy, c-format
 msgid "Signature expired %s\n"
 msgstr "Ĉi tiu ŝlosilo eksvalidiĝos je %s.\n"
 
-#: g10/mainproc.c:2460
+#: g10/mainproc.c:2469
 #, fuzzy, c-format
 msgid "Signature expires %s\n"
 msgstr "Ĉi tiu ŝlosilo eksvalidiĝos je %s.\n"
 
-#: g10/mainproc.c:2471
+#: g10/mainproc.c:2480
 #, fuzzy, c-format
 msgid "%s signature, digest algorithm %s%s%s\n"
 msgstr "%s-subskribo de: %s\n"
 
-#: g10/mainproc.c:2472
+#: g10/mainproc.c:2481
 #, fuzzy
 msgid "binary"
 msgstr "ĉefa"
 
-#: g10/mainproc.c:2473
+#: g10/mainproc.c:2482
 msgid "textmode"
 msgstr ""
 
-#: g10/mainproc.c:2473 g10/trust.c:123 dirmngr/ocsp.c:792
+#: g10/mainproc.c:2482 g10/trust.c:123 dirmngr/ocsp.c:792
 #, fuzzy
 msgid "unknown"
 msgstr "nekonata versio"
 
-#: g10/mainproc.c:2475
+#: g10/mainproc.c:2484
 #, fuzzy
 #| msgid "unknown pubkey algorithm"
 msgid ", key algorithm "
 msgstr "nekonata publikŝlosila metodo"
 
-#: g10/mainproc.c:2510
+#: g10/mainproc.c:2519
 #, c-format
 msgid "WARNING: not a detached signature; file '%s' was NOT verified!\n"
 msgstr ""
 
-#: g10/mainproc.c:2548
+#: g10/mainproc.c:2558
 #, c-format
 msgid "Can't check signature: %s\n"
 msgstr "Ne povas kontroli subskribon: %s\n"
 
-#: g10/mainproc.c:2644 g10/mainproc.c:2663 g10/mainproc.c:2787
+#: g10/mainproc.c:2654 g10/mainproc.c:2673 g10/mainproc.c:2797
 #, c-format
 msgid "not a detached signature\n"
 msgstr "ne aparta subskribo\n"
 
-#: g10/mainproc.c:2697
+#: g10/mainproc.c:2707
 #, c-format
 msgid ""
 "WARNING: multiple signatures detected.  Only the first will be checked.\n"
 msgstr ""
 
-#: g10/mainproc.c:2706
+#: g10/mainproc.c:2716
 #, c-format
 msgid "standalone signature of class 0x%02x\n"
 msgstr "memstara subskribo de klaso 0x%02x\n"
 
-#: g10/mainproc.c:2791
+#: g10/mainproc.c:2801
 #, c-format
 msgid "old style (PGP 2.x) signature\n"
 msgstr "malnovstila subskribo (PGP 2.x)\n"
@@ -6450,56 +6463,61 @@ msgstr "Subskribo-notacio: "
 msgid "subpacket of type %d has critical bit set\n"
 msgstr "subpaketo de speco %d havas ŝaltitan \"critical bit\"\n"
 
-#: g10/passphrase.c:73 g10/passphrase.c:275 g10/passphrase.c:308
+#: g10/passphrase.c:73 g10/passphrase.c:283 g10/passphrase.c:316
 #, fuzzy, c-format
 msgid "problem with the agent: %s\n"
 msgstr "problemo kun agento: agento redonas 0x%lx\n"
 
-#: g10/passphrase.c:258
+#: g10/passphrase.c:251 sm/decrypt.c:341
+#, fuzzy
+msgid "Please enter the passphrase for decryption."
+msgstr "ŝanĝi la pasfrazon"
+
+#: g10/passphrase.c:253
 msgid "Enter passphrase\n"
 msgstr "Donu pasfrazon\n"
 
-#: g10/passphrase.c:269
+#: g10/passphrase.c:277
 #, c-format
 msgid "cancelled by user\n"
 msgstr "nuligita de uzanto\n"
 
-#: g10/passphrase.c:510
+#: g10/passphrase.c:523
 #, fuzzy, c-format
 msgid " (main key ID %s)"
 msgstr " (ĉefŝlosilo %08lX)"
 
-#: g10/passphrase.c:517
+#: g10/passphrase.c:530
 #, fuzzy
 msgid "Please enter the passphrase to unlock the OpenPGP secret key:"
 msgstr "Bonvolu doni la pasfrazon; tio estas sekreta frazo \n"
 
-#: g10/passphrase.c:521
+#: g10/passphrase.c:534
 #, fuzzy
 msgid "Please enter the passphrase to import the OpenPGP secret key:"
 msgstr "Bonvolu doni la pasfrazon; tio estas sekreta frazo \n"
 
-#: g10/passphrase.c:526
+#: g10/passphrase.c:539
 #, fuzzy
 msgid "Please enter the passphrase to export the OpenPGP secret subkey:"
 msgstr "Bonvolu doni la pasfrazon; tio estas sekreta frazo \n"
 
-#: g10/passphrase.c:529
+#: g10/passphrase.c:542
 #, fuzzy
 msgid "Please enter the passphrase to export the OpenPGP secret key:"
 msgstr "Bonvolu doni la pasfrazon; tio estas sekreta frazo \n"
 
-#: g10/passphrase.c:534
+#: g10/passphrase.c:547
 #, fuzzy
 msgid "Do you really want to permanently delete the OpenPGP secret subkey key:"
 msgstr "Ĉu vi vere volas forviŝi la elektitajn ŝlosilojn? "
 
-#: g10/passphrase.c:537
+#: g10/passphrase.c:550
 #, fuzzy
 msgid "Do you really want to permanently delete the OpenPGP secret key:"
 msgstr "Ĉu vi vere volas forviŝi la elektitajn ŝlosilojn? "
 
-#: g10/passphrase.c:546
+#: g10/passphrase.c:559
 #, fuzzy, c-format
 msgid ""
 "%s\n"
@@ -6547,7 +6565,7 @@ msgstr "%s: ne estas fido-datenaro\n"
 msgid "Is this photo correct (y/N/q)? "
 msgstr "Ĉu tio estas ĝusta (j/n)? "
 
-#: g10/photoid.c:395
+#: g10/photoid.c:399
 #, fuzzy, c-format
 msgid "unable to display photo ID!\n"
 msgstr "ne povas malfermi %s: %s\n"
@@ -6905,7 +6923,7 @@ msgstr "ne povas malfermi subskribitan dosieron '%s'\n"
 msgid "can't open signed data fd=%d: %s\n"
 msgstr "ne povas malfermi subskribitan dosieron '%s'\n"
 
-#: g10/pubkey-enc.c:98 g10/pubkey-enc.c:139 sm/decrypt.c:493
+#: g10/pubkey-enc.c:98 g10/pubkey-enc.c:139 sm/decrypt.c:969
 #, fuzzy, c-format
 msgid "key %s is not suitable for decryption in %s mode\n"
 msgstr "ŝlosilo %08lX: mankas uzantidentigilo\n"
@@ -6920,27 +6938,27 @@ msgstr "nenomita ricevonto; provas per sekreta ŝlosilo %08lX ...\n"
 msgid "okay, we are the anonymous recipient.\n"
 msgstr "bone; ni estas la nenomita ricevonto.\n"
 
-#: g10/pubkey-enc.c:321
+#: g10/pubkey-enc.c:311
 #, c-format
 msgid "old encoding of the DEK is not supported\n"
 msgstr "malnova kodado de DEK ne estas realigita\n"
 
-#: g10/pubkey-enc.c:349
+#: g10/pubkey-enc.c:339
 #, c-format
 msgid "cipher algorithm %d%s is unknown or disabled\n"
 msgstr "ĉifrad-metodo %d%s estas nekonata aŭ malŝaltita\n"
 
-#: g10/pubkey-enc.c:393
+#: g10/pubkey-enc.c:383
 #, fuzzy, c-format
 msgid "WARNING: cipher algorithm %s not found in recipient preferences\n"
 msgstr "NOTO: ĉifrad-metodo %d ne trovita en preferoj\n"
 
-#: g10/pubkey-enc.c:426
+#: g10/pubkey-enc.c:416
 #, fuzzy, c-format
 msgid "Note: secret key %s expired at %s\n"
 msgstr "NOTO: sekreta ŝlosilo %08lX eksvalidiĝis je %s\n"
 
-#: g10/pubkey-enc.c:433
+#: g10/pubkey-enc.c:423
 #, fuzzy, c-format
 msgid "Note: key has been revoked"
 msgstr "ŝlosilo %08lX: ŝlosilo estas revokita!\n"
@@ -7248,40 +7266,40 @@ msgstr ""
 msgid "%s/%s signature from: \"%s\"\n"
 msgstr "%s-subskribo de: %s\n"
 
-#: g10/sign.c:1046
+#: g10/sign.c:1045
 #, fuzzy, c-format
 msgid ""
 "WARNING: forcing digest algorithm %s (%d) violates recipient preferences\n"
 msgstr "NOTO: ĉifrad-metodo %d ne trovita en preferoj\n"
 
-#: g10/sign.c:1188
+#: g10/sign.c:1187
 #, c-format
 msgid "signing:"
 msgstr "subskribas:"
 
-#: g10/sign.c:1465
+#: g10/sign.c:1464
 #, c-format
 msgid "%s encryption will be used\n"
 msgstr "%s ĉifrado estos aplikata\n"
 
-#: g10/skclist.c:173 g10/skclist.c:254
+#: g10/skclist.c:174 g10/skclist.c:255
 #, c-format
 msgid "key is not flagged as insecure - can't use it with the faked RNG!\n"
 msgstr ""
 "ŝlosilo ne estas markita kiel malsekura - ne povas uzi ĝin kun falsa "
 "stokastilo!\n"
 
-#: g10/skclist.c:205
+#: g10/skclist.c:206
 #, fuzzy, c-format
 msgid "skipped \"%s\": duplicated\n"
 msgstr "ignoris '%s': ripetita\n"
 
-#: g10/skclist.c:224
+#: g10/skclist.c:225
 #, c-format
 msgid "skipped: secret key already present\n"
 msgstr "ignorita: sekreta ŝlosilo jam ĉeestas\n"
 
-#: g10/skclist.c:243
+#: g10/skclist.c:244
 #, fuzzy
 msgid "this is a PGP generated Elgamal key which is not secure for signatures!"
 msgstr ""
@@ -7339,7 +7357,7 @@ msgstr "kiraso: %s\n"
 msgid "trustdb: sync failed: %s\n"
 msgstr "fido-datenaro: sync malsukcesis: %s\n"
 
-#: g10/tdbio.c:144 sm/keydb.c:336
+#: g10/tdbio.c:144 sm/keydb.c:335
 #, fuzzy, c-format
 msgid "can't create lock for '%s'\n"
 msgstr "ne povas krei '%s': %s\n"
@@ -8071,40 +8089,52 @@ msgstr "Uzado: gpg [opcioj] [dosieroj] (-h por helpo)"
 #. TRANSLATORS: Put a \x1f right before a colon.  This can be
 #. * used by pinentry to nicely align the names and values.  Keep
 #. * the %s at the start and end of the string.
-#: scd/app-p15.c:3369 scd/app-openpgp.c:2153
+#: scd/app-p15.c:4955 scd/app-openpgp.c:2151
 #, c-format
 msgid "%sNumber\1f: %s%%0AHolder\1f: %s%s"
 msgstr ""
 
 #. TRANSLATORS: This is the number of remaining attempts to
 #. * enter a PIN.  Use %%0A (double-percent,0A) for a linefeed.
-#: scd/app-p15.c:3388 scd/app-openpgp.c:2169
+#: scd/app-p15.c:4974 scd/app-openpgp.c:2167
 #, c-format
 msgid "Remaining attempts: %d"
 msgstr ""
 
-#: scd/app-p15.c:3459 scd/app-nks.c:1110
+#: scd/app-p15.c:5053 scd/app-nks.c:1113
 msgid "||Please enter the PIN for the key to create qualified signatures."
 msgstr ""
 
-#: scd/app-p15.c:3462 scd/app-nks.c:1092
+#. TRANSLATORS: Do not translate the "|A|" prefix but keep it at
+#. the start of the string.  Use %0A (single percent) for a linefeed.
+#: scd/app-p15.c:5056 scd/app-openpgp.c:2461
+#, fuzzy
+msgid "|A|Please enter the Admin PIN"
+msgstr "ŝanĝi la pasfrazon"
+
+#: scd/app-p15.c:5058 scd/app-nks.c:1103
+#, fuzzy
+msgid "|P|Please enter the PIN Unblocking Code (PUK) for the standard keys."
+msgstr "Kialo por revoko: "
+
+#: scd/app-p15.c:5061 scd/app-nks.c:1095
 #, fuzzy
 msgid "||Please enter the PIN for the standard keys."
 msgstr "ŝanĝi la pasfrazon"
 
-#: scd/app-nks.c:709 scd/app-openpgp.c:3664
+#: scd/app-nks.c:709 scd/app-openpgp.c:3663
 #, c-format
 msgid "RSA modulus missing or not of size %d bits\n"
 msgstr ""
 
-#: scd/app-nks.c:717 scd/app-openpgp.c:3676
+#: scd/app-nks.c:717 scd/app-openpgp.c:3675
 #, c-format
 msgid "RSA public exponent missing or larger than %d bits\n"
 msgstr ""
 
-#: scd/app-nks.c:797 scd/app-openpgp.c:2326 scd/app-openpgp.c:2345
-#: scd/app-openpgp.c:2512 scd/app-openpgp.c:2530 scd/app-openpgp.c:2827
-#: scd/app-openpgp.c:2874 scd/app-openpgp.c:2989 scd/app-dinsig.c:303
+#: scd/app-nks.c:797 scd/app-openpgp.c:2324 scd/app-openpgp.c:2343
+#: scd/app-openpgp.c:2510 scd/app-openpgp.c:2528 scd/app-openpgp.c:2826
+#: scd/app-openpgp.c:2873 scd/app-openpgp.c:2988 scd/app-dinsig.c:302
 #, c-format
 msgid "PIN callback returned error: %s\n"
 msgstr ""
@@ -8114,79 +8144,74 @@ msgstr ""
 msgid "the NullPIN has not yet been changed\n"
 msgstr ""
 
-#: scd/app-nks.c:1091
+#: scd/app-nks.c:1094
 #, fuzzy
 msgid "|N|Please enter a new PIN for the standard keys."
 msgstr "ŝanĝi la pasfrazon"
 
-#: scd/app-nks.c:1098
+#: scd/app-nks.c:1101
 #, fuzzy
 msgid "|NP|Please enter a new PIN Unblocking Code (PUK) for the standard keys."
 msgstr "Kialo por revoko: "
 
-#: scd/app-nks.c:1100
-#, fuzzy
-msgid "|P|Please enter the PIN Unblocking Code (PUK) for the standard keys."
-msgstr "Kialo por revoko: "
-
-#: scd/app-nks.c:1108
+#: scd/app-nks.c:1111
 msgid "|N|Please enter a new PIN for the key to create qualified signatures."
 msgstr ""
 
-#: scd/app-nks.c:1118
+#: scd/app-nks.c:1121
 msgid ""
 "|NP|Please enter a new PIN Unblocking Code (PUK) for the key to create "
 "qualified signatures."
 msgstr ""
 
-#: scd/app-nks.c:1120
+#: scd/app-nks.c:1123
 msgid ""
 "|P|Please enter the PIN Unblocking Code (PUK) for the key to create "
 "qualified signatures."
 msgstr ""
 
-#: scd/app-nks.c:1227 scd/app-openpgp.c:2908 scd/app-dinsig.c:531
+#: scd/app-nks.c:1230 scd/app-openpgp.c:2907 scd/app-dinsig.c:532
 #, fuzzy, c-format
 msgid "error getting new PIN: %s\n"
 msgstr "eraro dum kreado de pasfrazo: %s\n"
 
-#: scd/app-openpgp.c:860
+#: scd/app-openpgp.c:859
 #, fuzzy, c-format
 msgid "failed to store the fingerprint: %s\n"
 msgstr "malsukcesis doni komencajn valorojn al fido-datenaro: %s\n"
 
-#: scd/app-openpgp.c:873
+#: scd/app-openpgp.c:872
 #, fuzzy, c-format
 msgid "failed to store the creation date: %s\n"
 msgstr "malsukcesis rekonstrui ŝlosilaran staplon: %s\n"
 
-#: scd/app-openpgp.c:1272 scd/app-openpgp.c:2855 scd/app-openpgp.c:5020
+#: scd/app-openpgp.c:1268 scd/app-openpgp.c:2854 scd/app-openpgp.c:5025
 #, c-format
 msgid "error retrieving CHV status from card\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1430
+#: scd/app-openpgp.c:1426
 #, c-format
 msgid "response does not contain the RSA modulus\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1437
+#: scd/app-openpgp.c:1433
 #, c-format
 msgid "response does not contain the RSA public exponent\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1547
+#: scd/app-openpgp.c:1543
 #, fuzzy, c-format
 #| msgid "remove keys from the public keyring"
 msgid "response does not contain the EC public key\n"
 msgstr "forigi ŝlosilojn de la publika ŝlosilaro"
 
-#: scd/app-openpgp.c:1665 scd/app-openpgp.c:4284
+#: scd/app-openpgp.c:1661 scd/app-openpgp.c:4283
 #, c-format
 msgid "response does not contain the public key data\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1772
+#: scd/app-openpgp.c:1768
 #, fuzzy, c-format
 msgid "reading public key failed: %s\n"
 msgstr "forviŝo de ŝlosilbloko malsukcesis: %s\n"
@@ -8194,43 +8219,43 @@ msgstr "forviŝo de ŝlosilbloko malsukcesis: %s\n"
 #. TRANSLATORS: Put a \x1f right before a colon.  This can be
 #. * used by pinentry to nicely align the names and values.  Keep
 #. * the %s at the start and end of the string.
-#: scd/app-openpgp.c:2140
+#: scd/app-openpgp.c:2138
 #, c-format
 msgid "%sNumber\1f: %s%%0AHolder\1f: %s%%0ACounter\1f: %lu%s"
 msgstr ""
 
-#: scd/app-openpgp.c:2280
+#: scd/app-openpgp.c:2278
 #, c-format
 msgid "using default PIN as %s\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2287
+#: scd/app-openpgp.c:2285
 #, c-format
 msgid "failed to use default PIN as %s: %s - disabling further default use\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2300
+#: scd/app-openpgp.c:2298
 #, fuzzy
 msgid "||Please unlock the card"
 msgstr "ŝanĝi la pasfrazon"
 
-#: scd/app-openpgp.c:2352 scd/app-openpgp.c:2537 scd/app-openpgp.c:2834
+#: scd/app-openpgp.c:2350 scd/app-openpgp.c:2535 scd/app-openpgp.c:2833
 #, c-format
 msgid "PIN for CHV%d is too short; minimum length is %d\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2366 scd/app-openpgp.c:2413 scd/app-openpgp.c:2551
-#: scd/app-openpgp.c:4642
+#: scd/app-openpgp.c:2364 scd/app-openpgp.c:2411 scd/app-openpgp.c:2549
+#: scd/app-openpgp.c:4641
 #, fuzzy, c-format
 msgid "verify CHV%d failed: %s\n"
 msgstr "Kreado de ŝlosiloj malsukcesis: %s\n"
 
-#: scd/app-openpgp.c:2449 scd/app-openpgp.c:5029
+#: scd/app-openpgp.c:2447 scd/app-openpgp.c:5034
 #, c-format
 msgid "card is permanently locked!\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2453
+#: scd/app-openpgp.c:2451
 #, c-format
 msgid "%d Admin PIN attempt remaining before card is permanently locked\n"
 msgid_plural ""
@@ -8238,29 +8263,22 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-#. TRANSLATORS: Do not translate the "|A|" prefix but keep it at
-#. the start of the string.  Use %0A (single percent) for a linefeed.
-#: scd/app-openpgp.c:2463
-#, fuzzy
-msgid "|A|Please enter the Admin PIN"
-msgstr "ŝanĝi la pasfrazon"
-
-#: scd/app-openpgp.c:2484
+#: scd/app-openpgp.c:2482
 #, c-format
 msgid "access to admin commands is not configured\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2821
+#: scd/app-openpgp.c:2820
 #, fuzzy
 msgid "||Please enter the PIN"
 msgstr "ŝanĝi la pasfrazon"
 
-#: scd/app-openpgp.c:2870
+#: scd/app-openpgp.c:2869
 #, fuzzy
 msgid "||Please enter the Reset Code for the card"
 msgstr "Kialo por revoko: "
 
-#: scd/app-openpgp.c:2880 scd/app-openpgp.c:2941
+#: scd/app-openpgp.c:2879 scd/app-openpgp.c:2940
 #, c-format
 msgid "Reset Code is too short; minimum length is %d\n"
 msgstr ""
@@ -8268,128 +8286,128 @@ msgstr ""
 #. TRANSLATORS: Do not translate the "|*|" prefixes but
 #. keep it at the start of the string.  We need this elsewhere
 #. to get some infos on the string.
-#: scd/app-openpgp.c:2903
+#: scd/app-openpgp.c:2902
 msgid "|RN|New Reset Code"
 msgstr ""
 
-#: scd/app-openpgp.c:2904
+#: scd/app-openpgp.c:2903
 msgid "|AN|New Admin PIN"
 msgstr ""
 
-#: scd/app-openpgp.c:2904
+#: scd/app-openpgp.c:2903
 msgid "|N|New PIN"
 msgstr ""
 
-#: scd/app-openpgp.c:2985
+#: scd/app-openpgp.c:2984
 #, fuzzy
 msgid "||Please enter the Admin PIN and New Admin PIN"
 msgstr "ŝanĝi la pasfrazon"
 
-#: scd/app-openpgp.c:2986
+#: scd/app-openpgp.c:2985
 #, fuzzy
 msgid "||Please enter the PIN and New PIN"
 msgstr "ŝanĝi la pasfrazon"
 
-#: scd/app-openpgp.c:3048 scd/app-openpgp.c:4344
+#: scd/app-openpgp.c:3047 scd/app-openpgp.c:4343
 #, fuzzy, c-format
 msgid "error reading application data\n"
 msgstr "eraro dum legado de ŝlosilbloko: %s\n"
 
-#: scd/app-openpgp.c:3054 scd/app-openpgp.c:4351
+#: scd/app-openpgp.c:3053 scd/app-openpgp.c:4350
 #, fuzzy, c-format
 msgid "error reading fingerprint DO\n"
 msgstr "%s: eraro dum legado de libera registro: %s\n"
 
-#: scd/app-openpgp.c:3064
+#: scd/app-openpgp.c:3063
 #, fuzzy, c-format
 msgid "key already exists\n"
 msgstr "'%s' jam densigita\n"
 
-#: scd/app-openpgp.c:3068
+#: scd/app-openpgp.c:3067
 #, c-format
 msgid "existing key will be replaced\n"
 msgstr ""
 
-#: scd/app-openpgp.c:3070
+#: scd/app-openpgp.c:3069
 #, fuzzy, c-format
 msgid "generating new key\n"
 msgstr "krei novan ŝlosilparon"
 
-#: scd/app-openpgp.c:3072
+#: scd/app-openpgp.c:3071
 #, fuzzy, c-format
 msgid "writing new key\n"
 msgstr "krei novan ŝlosilparon"
 
-#: scd/app-openpgp.c:3645 scd/app-openpgp.c:3997
+#: scd/app-openpgp.c:3644 scd/app-openpgp.c:3996
 #, c-format
 msgid "creation timestamp missing\n"
 msgstr ""
 
-#: scd/app-openpgp.c:3686 scd/app-openpgp.c:3694
+#: scd/app-openpgp.c:3685 scd/app-openpgp.c:3693
 #, c-format
 msgid "RSA prime %s missing or not of size %d bits\n"
 msgstr ""
 
-#: scd/app-openpgp.c:3827 scd/app-openpgp.c:4104
+#: scd/app-openpgp.c:3826 scd/app-openpgp.c:4103
 #, fuzzy, c-format
 msgid "failed to store the key: %s\n"
 msgstr "malsukcesis doni komencajn valorojn al fido-datenaro: %s\n"
 
-#: scd/app-openpgp.c:3991
+#: scd/app-openpgp.c:3990
 #, fuzzy, c-format
 #| msgid "unsupported URI"
 msgid "unsupported curve\n"
 msgstr "nerealigita URI"
 
-#: scd/app-openpgp.c:4261
+#: scd/app-openpgp.c:4260
 #, c-format
 msgid "please wait while key is being generated ...\n"
 msgstr ""
 
-#: scd/app-openpgp.c:4269
+#: scd/app-openpgp.c:4268
 #, fuzzy, c-format
 msgid "generating key failed\n"
 msgstr "forviŝo de ŝlosilbloko malsukcesis: %s\n"
 
-#: scd/app-openpgp.c:4275
+#: scd/app-openpgp.c:4274
 #, fuzzy, c-format
 msgid "key generation completed (%d second)\n"
 msgid_plural "key generation completed (%d seconds)\n"
 msgstr[0] "Kreado de ŝlosiloj malsukcesis: %s\n"
 msgstr[1] "Kreado de ŝlosiloj malsukcesis: %s\n"
 
-#: scd/app-openpgp.c:4309
+#: scd/app-openpgp.c:4308
 #, c-format
 msgid "invalid structure of OpenPGP card (DO 0x93)\n"
 msgstr ""
 
-#: scd/app-openpgp.c:4359
+#: scd/app-openpgp.c:4358
 #, c-format
 msgid "fingerprint on card does not match requested one\n"
 msgstr ""
 
-#: scd/app-openpgp.c:4558
+#: scd/app-openpgp.c:4557
 #, fuzzy, c-format
 msgid "card does not support digest algorithm %s\n"
 msgstr "%s-subskribo de: %s\n"
 
-#: scd/app-openpgp.c:4616
+#: scd/app-openpgp.c:4615
 #, c-format
 msgid "signatures created so far: %lu\n"
 msgstr ""
 
-#: scd/app-openpgp.c:5034
+#: scd/app-openpgp.c:5039
 #, c-format
 msgid ""
 "verification of Admin PIN is currently prohibited through this command\n"
 msgstr ""
 
-#: scd/app-openpgp.c:5346 scd/app-openpgp.c:5357
+#: scd/app-openpgp.c:5351 scd/app-openpgp.c:5362
 #, fuzzy, c-format
 msgid "can't access %s - invalid OpenPGP card?\n"
 msgstr "validaj OpenPGP-datenoj ne trovitaj.\n"
 
-#: scd/app-dinsig.c:299
+#: scd/app-dinsig.c:298
 #, fuzzy
 msgid "||Please enter your PIN at the reader's pinpad"
 msgstr "ŝanĝi la pasfrazon"
@@ -8397,7 +8415,7 @@ msgstr "ŝanĝi la pasfrazon"
 #. TRANSLATORS: Do not translate the "|*|" prefixes but
 #. keep it at the start of the string.  We need this elsewhere
 #. to get some infos on the string.
-#: scd/app-dinsig.c:528
+#: scd/app-dinsig.c:529
 #, fuzzy
 msgid "|N|Initial New PIN"
 msgstr "Donu la uzantidentigilon: "
@@ -8406,7 +8424,7 @@ msgstr "Donu la uzantidentigilon: "
 msgid "run in multi server mode (foreground)"
 msgstr ""
 
-#: scd/scdaemon.c:129 sm/gpgsm.c:345 dirmngr/dirmngr.c:187
+#: scd/scdaemon.c:129 sm/gpgsm.c:348 dirmngr/dirmngr.c:188
 msgid "|LEVEL|set the debugging level to LEVEL"
 msgstr ""
 
@@ -8429,50 +8447,50 @@ msgstr "|NOMO|uzi NOMOn kiel implicitan ricevonton"
 msgid "|NAME|use NAME as PC/SC driver"
 msgstr "|NOMO|uzi NOMOn kiel implicitan ricevonton"
 
-#: scd/scdaemon.c:145
+#: scd/scdaemon.c:146
 #, fuzzy
 msgid "do not use the internal CCID driver"
 msgstr "tute ne uzi la terminalon"
 
-#: scd/scdaemon.c:151
+#: scd/scdaemon.c:152
 msgid "|N|disconnect the card after N seconds of inactivity"
 msgstr ""
 
-#: scd/scdaemon.c:154
+#: scd/scdaemon.c:155
 msgid "do not use a reader's pinpad"
 msgstr ""
 
-#: scd/scdaemon.c:159
+#: scd/scdaemon.c:160
 #, fuzzy
 msgid "deny the use of admin card commands"
 msgstr "malkongruaj komandoj\n"
 
-#: scd/scdaemon.c:162
+#: scd/scdaemon.c:163
 msgid "use variable length input for pinpad"
 msgstr ""
 
-#: scd/scdaemon.c:311
+#: scd/scdaemon.c:312
 #, fuzzy
 msgid "Usage: @SCDAEMON@ [options] (-h for help)"
 msgstr "Uzado: gpg [opcioj] [dosieroj] (-h por helpo)"
 
-#: scd/scdaemon.c:313
+#: scd/scdaemon.c:314
 msgid ""
 "Syntax: scdaemon [options] [command [args]]\n"
 "Smartcard daemon for @GNUPG@\n"
 msgstr ""
 
-#: scd/scdaemon.c:806
+#: scd/scdaemon.c:808
 #, c-format
 msgid "please use the option '--daemon' to run the program in the background\n"
 msgstr ""
 
-#: scd/scdaemon.c:1183 dirmngr/dirmngr.c:2082
+#: scd/scdaemon.c:1185 dirmngr/dirmngr.c:2119
 #, c-format
 msgid "handler for fd %d started\n"
 msgstr ""
 
-#: scd/scdaemon.c:1195 dirmngr/dirmngr.c:2090
+#: scd/scdaemon.c:1197 dirmngr/dirmngr.c:2127
 #, c-format
 msgid "handler for fd %d terminated\n"
 msgstr ""
@@ -8520,7 +8538,7 @@ msgstr "skribas sekretan ŝlosilon al '%s'\n"
 msgid "certificate policy not allowed"
 msgstr "skribas sekretan ŝlosilon al '%s'\n"
 
-#: sm/certchain.c:595 sm/keydb.c:1106 sm/keydb.c:1192
+#: sm/certchain.c:595 sm/keydb.c:1084 sm/keydb.c:1171
 #, fuzzy, c-format
 msgid "failed to get the fingerprint\n"
 msgstr "malsukcesis doni komencajn valorojn al fido-datenaro: %s\n"
@@ -8556,8 +8574,8 @@ msgstr "eraro dum kreado de pasfrazo: %s\n"
 msgid "dirmngr cache-only key lookup failed: %s\n"
 msgstr "forviŝo de ŝlosilbloko malsukcesis: %s\n"
 
-#: sm/certchain.c:1041 sm/certchain.c:1554 sm/certchain.c:2192 sm/decrypt.c:265
-#: sm/encrypt.c:344 sm/import.c:415 sm/keydb.c:1113 sm/keydb.c:1199
+#: sm/certchain.c:1041 sm/certchain.c:1554 sm/certchain.c:2192 sm/decrypt.c:728
+#: sm/encrypt.c:345 sm/import.c:415 sm/keydb.c:1091 sm/keydb.c:1178
 #: sm/sign.c:337 sm/verify.c:118
 #, fuzzy, c-format
 msgid "failed to allocate keyDB handle\n"
@@ -8762,13 +8780,13 @@ msgid "a %u bit hash is not valid for a %u bit %s key\n"
 msgstr ""
 
 #: sm/certcheck.c:238 sm/certcheck.c:262 dirmngr/crlcache.c:1542
-#: dirmngr/crlcache.c:1566 dirmngr/dirmngr.c:1324 dirmngr/validate.c:903
+#: dirmngr/crlcache.c:1566 dirmngr/dirmngr.c:1361 dirmngr/validate.c:903
 #: dirmngr/validate.c:927
 #, fuzzy, c-format
 msgid "out of core\n"
 msgstr "ne traktita"
 
-#: sm/certcheck.c:371 sm/verify.c:213
+#: sm/certcheck.c:370 sm/verify.c:213
 #, c-format
 msgid "(this is the MD2 algorithm)\n"
 msgstr ""
@@ -9066,22 +9084,33 @@ msgstr ""
 msgid "resource problem: out of core\n"
 msgstr ""
 
-#: sm/decrypt.c:341
+#: sm/decrypt.c:536
+#, fuzzy, c-format
+#| msgid "%s encrypted data\n"
+msgid "%s.%s encrypted data\n"
+msgstr "%s-ĉifritaj datenoj\n"
+
+#: sm/decrypt.c:803
 #, c-format
 msgid "(this is the RC2 algorithm)\n"
 msgstr ""
 
-#: sm/decrypt.c:343
+#: sm/decrypt.c:805
 #, c-format
 msgid "(this does not seem to be an encrypted message)\n"
 msgstr ""
 
+#: sm/decrypt.c:958
+#, fuzzy, c-format
+msgid "encrypted to %s key %s\n"
+msgstr "ĉifrita per %s-ŝlosilo, %08lX\n"
+
 #: sm/delete.c:51 sm/delete.c:112
 #, fuzzy, c-format
 msgid "certificate '%s' not found: %s\n"
 msgstr "ŝlosilo '%s' ne trovita: %s\n"
 
-#: sm/delete.c:122 sm/keydb.c:1209 sm/keydb.c:1307
+#: sm/delete.c:122 sm/keydb.c:1189 sm/keydb.c:1288
 #, fuzzy, c-format
 msgid "error locking keybox: %s\n"
 msgstr "eraro dum legado de ŝlosilbloko: %s\n"
@@ -9101,139 +9130,139 @@ msgstr "ripetita atestilo - forviŝita"
 msgid "deleting certificate \"%s\" failed: %s\n"
 msgstr "forviŝo de ŝlosilbloko malsukcesis: %s\n"
 
-#: sm/encrypt.c:330
+#: sm/encrypt.c:331
 #, fuzzy, c-format
 msgid "no valid recipients given\n"
 msgstr "nevalida respondo de agento\n"
 
-#: sm/gpgsm.c:215
+#: sm/gpgsm.c:216
 #, fuzzy
 msgid "list external keys"
 msgstr "listigi sekretajn ŝlosilojn"
 
-#: sm/gpgsm.c:217
+#: sm/gpgsm.c:218
 #, fuzzy
 msgid "list certificate chain"
 msgstr "Valida atestilrevoko"
 
-#: sm/gpgsm.c:225
+#: sm/gpgsm.c:226
 #, fuzzy
 msgid "import certificates"
 msgstr "Bona atestilo"
 
-#: sm/gpgsm.c:226
+#: sm/gpgsm.c:227
 #, fuzzy
 msgid "export certificates"
 msgstr "Bona atestilo"
 
-#: sm/gpgsm.c:234
+#: sm/gpgsm.c:235
 msgid "register a smartcard"
 msgstr ""
 
-#: sm/gpgsm.c:237
+#: sm/gpgsm.c:238
 msgid "pass a command to the dirmngr"
 msgstr ""
 
-#: sm/gpgsm.c:239
+#: sm/gpgsm.c:240
 msgid "invoke gpg-protect-tool"
 msgstr ""
 
-#: sm/gpgsm.c:256
+#: sm/gpgsm.c:257
 #, fuzzy
 msgid "create base-64 encoded output"
 msgstr "krei eligon en askia kiraso"
 
-#: sm/gpgsm.c:265
+#: sm/gpgsm.c:266
 msgid "assume input is in PEM format"
 msgstr ""
 
-#: sm/gpgsm.c:267
+#: sm/gpgsm.c:268
 msgid "assume input is in base-64 format"
 msgstr ""
 
-#: sm/gpgsm.c:269
+#: sm/gpgsm.c:270
 msgid "assume input is in binary format"
 msgstr ""
 
-#: sm/gpgsm.c:276
+#: sm/gpgsm.c:277
 msgid "never consult a CRL"
 msgstr ""
 
-#: sm/gpgsm.c:286
+#: sm/gpgsm.c:287
 msgid "check validity using OCSP"
 msgstr ""
 
-#: sm/gpgsm.c:291
+#: sm/gpgsm.c:292
 msgid "|N|number of certificates to include"
 msgstr ""
 
-#: sm/gpgsm.c:294
+#: sm/gpgsm.c:295
 msgid "|FILE|take policy information from FILE"
 msgstr ""
 
-#: sm/gpgsm.c:297
+#: sm/gpgsm.c:298
 msgid "do not check certificate policies"
 msgstr ""
 
-#: sm/gpgsm.c:301
+#: sm/gpgsm.c:302
 msgid "fetch missing issuer certificates"
 msgstr ""
 
-#: sm/gpgsm.c:312
+#: sm/gpgsm.c:313
 msgid "don't use the terminal at all"
 msgstr "tute ne uzi la terminalon"
 
-#: sm/gpgsm.c:314
+#: sm/gpgsm.c:315
 msgid "|FILE|write a server mode log to FILE"
 msgstr ""
 
-#: sm/gpgsm.c:319
+#: sm/gpgsm.c:320
 #, fuzzy
 msgid "|FILE|write an audit log to FILE"
 msgstr "|DOSIERO|legi aldonan bibliotekon DOSIERO"
 
-#: sm/gpgsm.c:322
+#: sm/gpgsm.c:323
 msgid "batch mode: never ask"
 msgstr "neinteraga reĝimo: neniam demandi"
 
-#: sm/gpgsm.c:323
+#: sm/gpgsm.c:324
 msgid "assume yes on most questions"
 msgstr "supozi \"jes\" ĉe la plej multaj demandoj"
 
-#: sm/gpgsm.c:324
+#: sm/gpgsm.c:325
 msgid "assume no on most questions"
 msgstr "supozi \"ne\" ĉe la plej multaj demandoj"
 
-#: sm/gpgsm.c:327
+#: sm/gpgsm.c:328
 #, fuzzy
 msgid "|FILE|add keyring to the list of keyrings"
 msgstr "aldoni ĉi tiun ŝlosilaron al la listo de ŝlosilaroj"
 
-#: sm/gpgsm.c:330
+#: sm/gpgsm.c:331
 #, fuzzy
 msgid "|USER-ID|use USER-ID as default secret key"
 msgstr "|NOMO|uzi NOMOn kiel la implicitan sekretan ŝlosilon"
 
-#: sm/gpgsm.c:340 tools/gpgconf-comp.c:837
+#: sm/gpgsm.c:341 dirmngr/dirmngr.c:214 tools/gpgconf-comp.c:841
 #, fuzzy
 msgid "|SPEC|use this keyserver to lookup keys"
 msgstr "|SERVILO|uzi ĉi tiun ŝlosilservilon por serĉi ŝlosilojn"
 
-#: sm/gpgsm.c:357
+#: sm/gpgsm.c:360
 msgid "|NAME|use cipher algorithm NAME"
 msgstr "|NOMO|uzi ĉifrad-metodon NOMO"
 
-#: sm/gpgsm.c:359
+#: sm/gpgsm.c:362
 msgid "|NAME|use message digest algorithm NAME"
 msgstr "|NOMO|uzi kompendi-metodon NOMO"
 
-#: sm/gpgsm.c:570
+#: sm/gpgsm.c:573
 #, fuzzy
 #| msgid "Usage: gpg [options] [files] (-h for help)"
 msgid "Usage: @GPGSM@ [options] [files] (-h for help)"
 msgstr "Uzado: gpg [opcioj] [dosieroj] (-h por helpo)"
 
-#: sm/gpgsm.c:573
+#: sm/gpgsm.c:576
 #, fuzzy
 msgid ""
 "Syntax: @GPGSM@ [options] [files]\n"
@@ -9244,47 +9273,27 @@ msgstr ""
 "subskribi, kontroli, ĉifri aŭ malĉifri\n"
 "implicita operacio dependas de la enigataj datenoj\n"
 
-#: sm/gpgsm.c:777
+#: sm/gpgsm.c:784
 #, fuzzy, c-format
 msgid "Note: won't be able to encrypt to '%s': %s\n"
 msgstr "ne povas konektiĝi al '%s': %s\n"
 
-#: sm/gpgsm.c:788
+#: sm/gpgsm.c:795
 #, fuzzy, c-format
 msgid "unknown validation model '%s'\n"
 msgstr "nekonata implicita ricevonto '%s'\n"
 
-#: sm/gpgsm.c:839 dirmngr/ldapserver.c:86
-#, c-format
-msgid "%s:%u: no hostname given\n"
-msgstr ""
-
-#: sm/gpgsm.c:858 dirmngr/ldapserver.c:105
-#, c-format
-msgid "%s:%u: password given without user\n"
-msgstr ""
-
-#: sm/gpgsm.c:879 dirmngr/ldapserver.c:126
-#, fuzzy, c-format
-msgid "%s:%u: skipping this line\n"
-msgstr " s = supersalti ĉi tiun ŝlosilon\n"
-
-#: sm/gpgsm.c:1449
-#, fuzzy, c-format
-msgid "could not parse keyserver\n"
-msgstr "ne povis analizi URI de ŝlosilservilo\n"
-
-#: sm/gpgsm.c:1712
+#: sm/gpgsm.c:1612
 #, fuzzy, c-format
 msgid "importing common certificates '%s'\n"
 msgstr "skribas al '%s'\n"
 
-#: sm/gpgsm.c:1755
+#: sm/gpgsm.c:1655
 #, fuzzy, c-format
 msgid "can't sign using '%s': %s\n"
 msgstr "ne povas fermi '%s': %s\n"
 
-#: sm/gpgsm.c:2122
+#: sm/gpgsm.c:2028
 #, c-format
 msgid "invalid command (there is no implicit command)\n"
 msgstr ""
@@ -9304,7 +9313,7 @@ msgstr "Bona atestilo"
 msgid "basic certificate checks failed - not imported\n"
 msgstr ""
 
-#: sm/import.c:472 sm/keydb.c:1229 sm/keydb.c:1319
+#: sm/import.c:472 sm/keydb.c:1209 sm/keydb.c:1300
 #, fuzzy, c-format
 msgid "error getting stored flags: %s\n"
 msgstr "eraro dum kreado de pasfrazo: %s\n"
@@ -9319,27 +9328,27 @@ msgstr "eraro dum kreado de pasfrazo: %s\n"
 msgid "error reading input: %s\n"
 msgstr "eraro dum legado de '%s': %s\n"
 
-#: sm/keydb.c:1148
+#: sm/keydb.c:1127
 #, c-format
 msgid "problem looking for existing certificate: %s\n"
 msgstr ""
 
-#: sm/keydb.c:1160
+#: sm/keydb.c:1139
 #, fuzzy, c-format
 msgid "error finding writable keyDB: %s\n"
 msgstr "eraro dum kreado de pasfrazo: %s\n"
 
-#: sm/keydb.c:1168
+#: sm/keydb.c:1147
 #, fuzzy, c-format
 msgid "error storing certificate: %s\n"
 msgstr "eraro dum kreado de pasfrazo: %s\n"
 
-#: sm/keydb.c:1220
+#: sm/keydb.c:1200
 #, fuzzy, c-format
 msgid "problem re-searching certificate: %s\n"
 msgstr "rev? problemo en kontrolo de revoko: %s\n"
 
-#: sm/keydb.c:1241 sm/keydb.c:1330
+#: sm/keydb.c:1221 sm/keydb.c:1311
 #, fuzzy, c-format
 msgid "error storing flags: %s\n"
 msgstr "eraro dum legado de '%s': %s\n"
@@ -9374,7 +9383,7 @@ msgid ""
 "%s%sAre you really sure that you want to do this?"
 msgstr ""
 
-#: sm/qualified.c:215 sm/verify.c:678
+#: sm/qualified.c:215 sm/verify.c:679
 #, c-format
 msgid ""
 "Note, that this software is not officially approved to create or verify such "
@@ -9419,23 +9428,23 @@ msgstr ""
 msgid "algorithm:"
 msgstr "kiraso: %s\n"
 
-#: sm/verify.c:535
+#: sm/verify.c:536
 #, c-format
 msgid ""
 "invalid signature: message digest attribute does not match computed one\n"
 msgstr ""
 
-#: sm/verify.c:656
+#: sm/verify.c:657
 #, fuzzy, c-format
 msgid "Good signature from"
 msgstr "Bona subskribo de \""
 
-#: sm/verify.c:657
+#: sm/verify.c:658
 #, fuzzy, c-format
 msgid "                aka"
 msgstr "            alinome \""
 
-#: sm/verify.c:675
+#: sm/verify.c:676
 #, fuzzy, c-format
 msgid "This is a qualified signature\n"
 msgstr "tio povas esti kaŭzata de mankanta mem-subskribo\n"
@@ -10061,7 +10070,7 @@ msgid "error retrieving '%s': %s\n"
 msgstr "eraro dum kreado de '%s': %s\n"
 
 #: dirmngr/crlfetch.c:218 dirmngr/ldap-wrapper-ce.c:492
-#: dirmngr/ldap-wrapper.c:884 dirmngr/misc.c:573
+#: dirmngr/ldap-wrapper.c:885 dirmngr/misc.c:573
 #, fuzzy, c-format
 #| msgid "%s: error writing dir record: %s\n"
 msgid "error initializing reader object: %s\n"
@@ -10230,116 +10239,116 @@ msgstr ""
 msgid "looking up '%s'\n"
 msgstr ""
 
-#: dirmngr/dirmngr.c:170
+#: dirmngr/dirmngr.c:171
 msgid "list the contents of the CRL cache"
 msgstr ""
 
-#: dirmngr/dirmngr.c:171
+#: dirmngr/dirmngr.c:172
 #, fuzzy
 msgid "|FILE|load CRL from FILE into cache"
 msgstr "|DOSIERO|legi aldonan bibliotekon DOSIERO"
 
-#: dirmngr/dirmngr.c:172
+#: dirmngr/dirmngr.c:173
 msgid "|URL|fetch a CRL from URL"
 msgstr ""
 
-#: dirmngr/dirmngr.c:173
+#: dirmngr/dirmngr.c:174
 msgid "shutdown the dirmngr"
 msgstr ""
 
-#: dirmngr/dirmngr.c:174
+#: dirmngr/dirmngr.c:175
 msgid "flush the cache"
 msgstr ""
 
-#: dirmngr/dirmngr.c:190 tools/gpgconf-comp.c:522 tools/gpgconf-comp.c:741
-#: tools/gpgconf-comp.c:854 tools/gpgconf-comp.c:950
+#: dirmngr/dirmngr.c:191 tools/gpgconf-comp.c:522 tools/gpgconf-comp.c:745
+#: tools/gpgconf-comp.c:858 tools/gpgconf-comp.c:954
 msgid "|FILE|write server mode logs to FILE"
 msgstr ""
 
-#: dirmngr/dirmngr.c:191
+#: dirmngr/dirmngr.c:192
 #, fuzzy
 msgid "run without asking a user"
 msgstr "Ĉu fini sen skribi ŝanĝojn? "
 
-#: dirmngr/dirmngr.c:192
+#: dirmngr/dirmngr.c:193
 msgid "force loading of outdated CRLs"
 msgstr ""
 
-#: dirmngr/dirmngr.c:193
+#: dirmngr/dirmngr.c:194
 msgid "allow sending OCSP requests"
 msgstr ""
 
-#: dirmngr/dirmngr.c:195
+#: dirmngr/dirmngr.c:196
 msgid "allow online software version check"
 msgstr ""
 
-#: dirmngr/dirmngr.c:196
+#: dirmngr/dirmngr.c:197
 msgid "inhibit the use of HTTP"
 msgstr ""
 
-#: dirmngr/dirmngr.c:197
+#: dirmngr/dirmngr.c:198
 msgid "inhibit the use of LDAP"
 msgstr ""
 
-#: dirmngr/dirmngr.c:199
+#: dirmngr/dirmngr.c:200
 msgid "ignore HTTP CRL distribution points"
 msgstr ""
 
-#: dirmngr/dirmngr.c:201
+#: dirmngr/dirmngr.c:202
 msgid "ignore LDAP CRL distribution points"
 msgstr ""
 
-#: dirmngr/dirmngr.c:203
+#: dirmngr/dirmngr.c:204
 msgid "ignore certificate contained OCSP service URLs"
 msgstr ""
 
-#: dirmngr/dirmngr.c:206
+#: dirmngr/dirmngr.c:207
 msgid "|URL|redirect all HTTP requests to URL"
 msgstr ""
 
-#: dirmngr/dirmngr.c:208
+#: dirmngr/dirmngr.c:209
 msgid "|HOST|use HOST for LDAP queries"
 msgstr ""
 
-#: dirmngr/dirmngr.c:210
+#: dirmngr/dirmngr.c:211
 msgid "do not use fallback hosts with --ldap-proxy"
 msgstr ""
 
-#: dirmngr/dirmngr.c:213
+#: dirmngr/dirmngr.c:216
 #, fuzzy
 msgid "|FILE|read LDAP server list from FILE"
 msgstr "|DOSIERO|legi aldonan bibliotekon DOSIERO"
 
-#: dirmngr/dirmngr.c:215
+#: dirmngr/dirmngr.c:218
 msgid "add new servers discovered in CRL distribution points to serverlist"
 msgstr ""
 
-#: dirmngr/dirmngr.c:218 dirmngr/dirmngr_ldap.c:137
+#: dirmngr/dirmngr.c:221
 msgid "|N|set LDAP timeout to N seconds"
 msgstr ""
 
-#: dirmngr/dirmngr.c:221
+#: dirmngr/dirmngr.c:224
 #, fuzzy
 msgid "|URL|use OCSP responder at URL"
 msgstr "ne povis analizi URI de ŝlosilservilo\n"
 
-#: dirmngr/dirmngr.c:223
+#: dirmngr/dirmngr.c:226
 msgid "|FPR|OCSP response signed by FPR"
 msgstr ""
 
-#: dirmngr/dirmngr.c:229
+#: dirmngr/dirmngr.c:232
 msgid "|N|do not return more than N items in one query"
 msgstr ""
 
-#: dirmngr/dirmngr.c:234
+#: dirmngr/dirmngr.c:237
 msgid "|FILE|use the CA certificates in FILE for HKP over TLS"
 msgstr ""
 
-#: dirmngr/dirmngr.c:236
+#: dirmngr/dirmngr.c:239
 msgid "route all network traffic via Tor"
 msgstr ""
 
-#: dirmngr/dirmngr.c:265
+#: dirmngr/dirmngr.c:268
 #, fuzzy
 #| msgid ""
 #| "@\n"
@@ -10352,288 +10361,115 @@ msgstr ""
 "@\n"
 "(Vidu la manpaĝon por kompleta listo de ĉiuj komandoj kaj opcioj)\n"
 
-#: dirmngr/dirmngr.c:407
+#: dirmngr/dirmngr.c:415
 #, fuzzy
 msgid "Usage: @DIRMNGR@ [options] (-h for help)"
 msgstr "Uzado: gpg [opcioj] [dosieroj] (-h por helpo)"
 
-#: dirmngr/dirmngr.c:409
+#: dirmngr/dirmngr.c:417
 msgid ""
 "Syntax: @DIRMNGR@ [options] [command [args]]\n"
 "Keyserver, CRL, and OCSP access for @GNUPG@\n"
 msgstr ""
 
-#: dirmngr/dirmngr.c:489
+#: dirmngr/dirmngr.c:497
 #, c-format
 msgid "valid debug levels are: %s\n"
 msgstr ""
 
-#: dirmngr/dirmngr.c:575 tools/gpgconf.c:647 tools/gpgconf.c:682
+#: dirmngr/dirmngr.c:583 tools/gpgconf.c:647 tools/gpgconf.c:682
 #: tools/gpgconf.c:780
 #, fuzzy, c-format
 msgid "usage: %s [options] "
 msgstr "uzado: gpg [opcioj] "
 
-#: dirmngr/dirmngr.c:1212
+#: dirmngr/dirmngr.c:1249
 #, fuzzy, c-format
 #| msgid "%s not allowed with %s!\n"
 msgid "colons are not allowed in the socket name\n"
 msgstr "%s ne eblas kun %s!\n"
 
-#: dirmngr/dirmngr.c:1444 dirmngr/server.c:1824
+#: dirmngr/dirmngr.c:1481 dirmngr/server.c:1878
 #, fuzzy, c-format
 msgid "fetching CRL from '%s' failed: %s\n"
 msgstr "enkirasigo malsukcesis: %s\n"
 
-#: dirmngr/dirmngr.c:1450 dirmngr/server.c:1830
+#: dirmngr/dirmngr.c:1487 dirmngr/server.c:1884
 #, fuzzy, c-format
 msgid "processing CRL from '%s' failed: %s\n"
 msgstr "enkirasigo malsukcesis: %s\n"
 
-#: dirmngr/dirmngr.c:1645
+#: dirmngr/dirmngr.c:1682
 #, fuzzy, c-format
 msgid "%s:%u: line too long - skipped\n"
 msgstr "pasfrazo estas tro longa\n"
 
-#: dirmngr/dirmngr.c:1700 dirmngr/dirmngr.c:1784
+#: dirmngr/dirmngr.c:1737 dirmngr/dirmngr.c:1821
 #, fuzzy, c-format
 msgid "%s:%u: invalid fingerprint detected\n"
 msgstr "%s: nevalida dosiero-versio %d\n"
 
-#: dirmngr/dirmngr.c:1736 dirmngr/dirmngr.c:1762 tools/gpgconf-comp.c:4191
+#: dirmngr/dirmngr.c:1773 dirmngr/dirmngr.c:1799 tools/gpgconf-comp.c:4199
 #, fuzzy, c-format
 msgid "%s:%u: read error: %s\n"
 msgstr "kiraso: %s\n"
 
-#: dirmngr/dirmngr.c:1791
+#: dirmngr/dirmngr.c:1828
 #, c-format
 msgid "%s:%u: garbage at end of line ignored\n"
 msgstr ""
 
-#: dirmngr/dirmngr.c:1860
+#: dirmngr/dirmngr.c:1897
 #, c-format
 msgid "SIGHUP received - re-reading configuration and flushing caches\n"
 msgstr ""
 
-#: dirmngr/dirmngr.c:1900
+#: dirmngr/dirmngr.c:1937
 #, c-format
 msgid "SIGUSR2 received - no action defined\n"
 msgstr ""
 
-#: dirmngr/dirmngr.c:1905
+#: dirmngr/dirmngr.c:1942
 #, c-format
 msgid "SIGTERM received - shutting down ...\n"
 msgstr ""
 
-#: dirmngr/dirmngr.c:1907
+#: dirmngr/dirmngr.c:1944
 #, c-format
 msgid "SIGTERM received - still %d active connections\n"
 msgstr ""
 
-#: dirmngr/dirmngr.c:1912
+#: dirmngr/dirmngr.c:1949
 #, fuzzy, c-format
 msgid "shutdown forced\n"
 msgstr "ne traktita"
 
-#: dirmngr/dirmngr.c:1920
+#: dirmngr/dirmngr.c:1957
 #, c-format
 msgid "SIGINT received - immediate shutdown\n"
 msgstr ""
 
-#: dirmngr/dirmngr.c:1927
+#: dirmngr/dirmngr.c:1964
 #, c-format
 msgid "signal %d received - no action defined\n"
 msgstr ""
 
-#: dirmngr/dirmngr_ldap.c:138
-msgid "return all values in a record oriented format"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:141
-msgid "|NAME|ignore host part and connect through NAME"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:142
-#, fuzzy
-#| msgid "|NAME|set terminal charset to NAME"
-msgid "|NAME|connect to host NAME"
-msgstr "|NOMO|difini NOMOn kiel la signaron de la terminalo"
-
-#: dirmngr/dirmngr_ldap.c:143
-msgid "|N|connect to port N"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:144
-#, fuzzy
-#| msgid "|NAME|use NAME as default recipient"
-msgid "|NAME|use user NAME for authentication"
-msgstr "|NOMO|uzi NOMOn kiel implicitan ricevonton"
-
-#: dirmngr/dirmngr_ldap.c:145
-msgid "|PASS|use password PASS for authentication"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:147
-msgid "take password from $DIRMNGR_LDAP_PASS"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:148
-msgid "|STRING|query DN STRING"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:149
-msgid "|STRING|use STRING as filter expression"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:150
-msgid "|STRING|return the attribute STRING"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:211
-#, fuzzy
-#| msgid "Usage: gpg [options] [files] (-h for help)"
-msgid "Usage: dirmngr_ldap [options] [URL] (-h for help)\n"
-msgstr "Uzado: gpg [opcioj] [dosieroj] (-h por helpo)"
-
-#: dirmngr/dirmngr_ldap.c:214
-msgid ""
-"Syntax: dirmngr_ldap [options] [URL]\n"
-"Internal LDAP helper for Dirmngr\n"
-"Interface and options may change without notice\n"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:340
-#, fuzzy, c-format
-msgid "invalid port number %d\n"
-msgstr "nevalida kiraso"
-
-#: dirmngr/dirmngr_ldap.c:456
-#, c-format
-msgid "scanning result for attribute '%s'\n"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:463 dirmngr/dirmngr_ldap.c:546
-#: dirmngr/dirmngr_ldap.c:570 dirmngr/dirmngr_ldap.c:582
-#: dirmngr/dirmngr_ldap.c:720
-#, fuzzy, c-format
-msgid "error writing to stdout: %s\n"
-msgstr "eraro dum skribado de ŝlosilaro '%s': %s\n"
-
-#: dirmngr/dirmngr_ldap.c:480
-#, c-format
-msgid "          available attribute '%s'\n"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:518
-#, fuzzy, c-format
-#| msgid "user '%s' not found: %s\n"
-msgid "attribute '%s' not found\n"
-msgstr "uzanto '%s' ne trovita: %s\n"
-
-#: dirmngr/dirmngr_ldap.c:525
-#, c-format
-msgid "found attribute '%s'\n"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:634
-#, fuzzy, c-format
-#| msgid "reading from `%s'\n"
-msgid "processing url '%s'\n"
-msgstr "legas el '%s'\n"
-
-#: dirmngr/dirmngr_ldap.c:636
-#, fuzzy, c-format
-#| msgid "          w/o user IDs: %lu\n"
-msgid "          user '%s'\n"
-msgstr "         sen uzantidentigilo: %lu\n"
-
-#: dirmngr/dirmngr_ldap.c:638
-#, fuzzy, c-format
-msgid "          pass '%s'\n"
-msgstr "            alinome \""
-
-#: dirmngr/dirmngr_ldap.c:640
-#, fuzzy, c-format
-msgid "          host '%s'\n"
-msgstr "            alinome \""
-
-#: dirmngr/dirmngr_ldap.c:641
-#, fuzzy, c-format
-msgid "          port %d\n"
-msgstr "                  importitaj: %lu"
-
-#: dirmngr/dirmngr_ldap.c:643
-#, fuzzy, c-format
-msgid "            DN '%s'\n"
-msgstr "            alinome \""
-
-#: dirmngr/dirmngr_ldap.c:645
-#, c-format
-msgid "        filter '%s'\n"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:650 dirmngr/dirmngr_ldap.c:653
-#, fuzzy, c-format
-msgid "          attr '%s'\n"
-msgstr "            alinome \""
-
-#: dirmngr/dirmngr_ldap.c:659
-#, c-format
-msgid "no host name in '%s'\n"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:664
-#, c-format
-msgid "no attribute given for query '%s'\n"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:670
-#, fuzzy, c-format
-msgid "WARNING: using first attribute only\n"
-msgstr "Averto: uzas malsekuran memoron!\n"
-
-#: dirmngr/dirmngr_ldap.c:679
-#, fuzzy, c-format
-msgid "LDAP init to '%s:%d' failed: %s\n"
-msgstr "enkirasigo malsukcesis: %s\n"
-
-#: dirmngr/dirmngr_ldap.c:702
-#, fuzzy, c-format
-msgid "binding to '%s:%d' failed: %s\n"
-msgstr "enkirasigo malsukcesis: %s\n"
-
-#: dirmngr/dirmngr_ldap.c:729
-#, fuzzy, c-format
-#| msgid "dearmoring failed: %s\n"
-msgid "searching '%s' failed: %s\n"
-msgstr "elkirasigo malsukcesis: %s\n"
-
-#: dirmngr/dirmngr_ldap.c:761
-#, fuzzy, c-format
-msgid "'%s' is not an LDAP URL\n"
-msgstr "%s: ne estas fido-datenaro\n"
-
-#: dirmngr/dirmngr_ldap.c:767
-#, c-format
-msgid "'%s' is an invalid LDAP URL\n"
-msgstr ""
-
-#: dirmngr/http.c:1987 dirmngr/ocsp.c:255
+#: dirmngr/http.c:1993 dirmngr/ocsp.c:255
 #, fuzzy, c-format
 msgid "error accessing '%s': http status %u\n"
 msgstr "eraro dum legado de '%s': %s\n"
 
-#: dirmngr/http.c:3629 dirmngr/ocsp.c:229
+#: dirmngr/http.c:3644 dirmngr/ocsp.c:229
 #, c-format
 msgid "URL '%s' redirected to '%s' (%u)\n"
 msgstr ""
 
-#: dirmngr/http.c:3635 dirmngr/ocsp.c:246
+#: dirmngr/http.c:3650 dirmngr/ocsp.c:246
 #, fuzzy, c-format
 msgid "too many redirections\n"
 msgstr "tro da '%c'-preferoj\n"
 
-#: dirmngr/http.c:3747
+#: dirmngr/http.c:3762
 #, fuzzy, c-format
 #| msgid "writing to `%s'\n"
 msgid "redirection changed to '%s'\n"
@@ -10674,31 +10510,51 @@ msgstr "aktualigo malsukcesis: %s\n"
 msgid "ldap wrapper %d stalled - killing\n"
 msgstr ""
 
-#: dirmngr/ldap.c:91
+#: dirmngr/ldap.c:92
 #, c-format
 msgid "invalid char 0x%02x in host name - not added\n"
 msgstr ""
 
-#: dirmngr/ldap.c:95
+#: dirmngr/ldap.c:96
 #, fuzzy, c-format
 msgid "adding '%s:%d' to the ldap server list\n"
 msgstr "serĉas pri \"%s\" ĉe HKP-servilo %s\n"
 
-#: dirmngr/ldap.c:98 dirmngr/misc.c:512
+#: dirmngr/ldap.c:99 dirmngr/misc.c:512
 #, fuzzy, c-format
 msgid "malloc failed: %s\n"
 msgstr "forviŝo de ŝlosilbloko malsukcesis: %s\n"
 
-#: dirmngr/ldap.c:627
+#: dirmngr/ldap.c:221
+#, fuzzy, c-format
+msgid "'%s' is not an LDAP URL\n"
+msgstr "%s: ne estas fido-datenaro\n"
+
+#: dirmngr/ldap.c:227 dirmngr/ldap.c:233
 #, c-format
-msgid "start_cert_fetch: invalid pattern '%s'\n"
+msgid "'%s' is an invalid LDAP URL\n"
 msgstr ""
 
-#: dirmngr/ldap.c:839
+#: dirmngr/ldap.c:969
 #, c-format
 msgid "ldap_search hit the size limit of the server\n"
 msgstr ""
 
+#: dirmngr/ldapserver.c:117
+#, c-format
+msgid "%s:%u: password given without user\n"
+msgstr ""
+
+#: dirmngr/ldapserver.c:181
+#, c-format
+msgid "%s:%u: ignoring unknown flag '%s'\n"
+msgstr ""
+
+#: dirmngr/ldapserver.c:203
+#, fuzzy, c-format
+msgid "%s:%u: skipping this line\n"
+msgstr " s = supersalti ĉi tiun ŝlosilon\n"
+
 #: dirmngr/misc.c:172
 #, fuzzy, c-format
 #| msgid "%s: invalid file version %d\n"
@@ -10882,72 +10738,68 @@ msgstr ""
 msgid "assuan_inquire(%s) failed: %s\n"
 msgstr "subskribado malsukcesis: %s\n"
 
-#: dirmngr/server.c:1158
-msgid "ldapserver missing"
-msgstr ""
-
-#: dirmngr/server.c:1224
+#: dirmngr/server.c:1277
 msgid "serialno missing in cert ID"
 msgstr ""
 
-#: dirmngr/server.c:1387 dirmngr/server.c:1473 dirmngr/server.c:1909
-#: dirmngr/server.c:1980 dirmngr/server.c:2552 dirmngr/server.c:2567
+#: dirmngr/server.c:1440 dirmngr/server.c:1526 dirmngr/server.c:1963
+#: dirmngr/server.c:2034 dirmngr/server.c:2662 dirmngr/server.c:2677
 #, fuzzy, c-format
 msgid "assuan_inquire failed: %s\n"
 msgstr "subskribado malsukcesis: %s\n"
 
-#: dirmngr/server.c:1516
+#: dirmngr/server.c:1569
 #, fuzzy, c-format
 msgid "fetch_cert_by_url failed: %s\n"
 msgstr "forviŝo de ŝlosilbloko malsukcesis: %s\n"
 
-#: dirmngr/server.c:1528 dirmngr/server.c:1559 dirmngr/server.c:1718
+#: dirmngr/server.c:1581 dirmngr/server.c:1612 dirmngr/server.c:1772
 #, fuzzy, c-format
 msgid "error sending data: %s\n"
 msgstr "eraro dum sendo al '%s': %s\n"
 
-#: dirmngr/server.c:1666
+#: dirmngr/server.c:1720
 #, fuzzy, c-format
 msgid "start_cert_fetch failed: %s\n"
 msgstr "forviŝo de ŝlosilbloko malsukcesis: %s\n"
 
-#: dirmngr/server.c:1699
+#: dirmngr/server.c:1753
 #, fuzzy, c-format
 msgid "fetch_next_cert failed: %s\n"
 msgstr "forviŝo de ŝlosilbloko malsukcesis: %s\n"
 
-#: dirmngr/server.c:1726
+#: dirmngr/server.c:1780
 #, c-format
 msgid "max_replies %d exceeded\n"
 msgstr ""
 
-#: dirmngr/server.c:2856
+#: dirmngr/server.c:2966
 #, fuzzy, c-format
 msgid "can't allocate control structure: %s\n"
 msgstr "ne povas krei '%s': %s\n"
 
-#: dirmngr/server.c:2867
+#: dirmngr/server.c:2977
 #, fuzzy, c-format
 msgid "failed to allocate assuan context: %s\n"
 msgstr "%s: malsukcesis krei haktabelon: %s\n"
 
-#: dirmngr/server.c:2888
+#: dirmngr/server.c:2998
 #, fuzzy, c-format
 #| msgid "failed to initialize the TrustDB: %s\n"
 msgid "failed to initialize the server: %s\n"
 msgstr "malsukcesis doni komencajn valorojn al fido-datenaro: %s\n"
 
-#: dirmngr/server.c:2896
+#: dirmngr/server.c:3006
 #, fuzzy, c-format
 msgid "failed to the register commands with Assuan: %s\n"
 msgstr "malsukcesis rekonstrui ŝlosilaran staplon: %s\n"
 
-#: dirmngr/server.c:2929
+#: dirmngr/server.c:3039
 #, c-format
 msgid "Assuan accept problem: %s\n"
 msgstr ""
 
-#: dirmngr/server.c:2948
+#: dirmngr/server.c:3058
 #, fuzzy, c-format
 #| msgid "signing failed: %s\n"
 msgid "Assuan processing failed: %s\n"
@@ -11088,21 +10940,21 @@ msgid "error sending standard options: %s\n"
 msgstr "eraro dum sendo al '%s': %s\n"
 
 #: tools/gpgconf-comp.c:481 tools/gpgconf-comp.c:617 tools/gpgconf-comp.c:692
-#: tools/gpgconf-comp.c:804 tools/gpgconf-comp.c:906
+#: tools/gpgconf-comp.c:808 tools/gpgconf-comp.c:910
 msgid "Options controlling the diagnostic output"
 msgstr ""
 
 #: tools/gpgconf-comp.c:494 tools/gpgconf-comp.c:630 tools/gpgconf-comp.c:705
-#: tools/gpgconf-comp.c:817 tools/gpgconf-comp.c:929
+#: tools/gpgconf-comp.c:821 tools/gpgconf-comp.c:933
 msgid "Options controlling the configuration"
 msgstr ""
 
-#: tools/gpgconf-comp.c:517 tools/gpgconf-comp.c:659 tools/gpgconf-comp.c:736
-#: tools/gpgconf-comp.c:849 tools/gpgconf-comp.c:942
+#: tools/gpgconf-comp.c:517 tools/gpgconf-comp.c:659 tools/gpgconf-comp.c:740
+#: tools/gpgconf-comp.c:853 tools/gpgconf-comp.c:946
 msgid "Options useful for debugging"
 msgstr ""
 
-#: tools/gpgconf-comp.c:530 tools/gpgconf-comp.c:669 tools/gpgconf-comp.c:862
+#: tools/gpgconf-comp.c:530 tools/gpgconf-comp.c:669 tools/gpgconf-comp.c:866
 msgid "Options controlling the security"
 msgstr ""
 
@@ -11152,11 +11004,11 @@ msgstr "eraro dum kreado de pasfrazo: %s\n"
 msgid "|N|set the Pinentry timeout to N seconds"
 msgstr ""
 
-#: tools/gpgconf-comp.c:707 tools/gpgconf-comp.c:819
+#: tools/gpgconf-comp.c:707 tools/gpgconf-comp.c:823
 msgid "|NAME|use NAME as default secret key"
 msgstr "|NOMO|uzi NOMOn kiel la implicitan sekretan ŝlosilon"
 
-#: tools/gpgconf-comp.c:710 tools/gpgconf-comp.c:822
+#: tools/gpgconf-comp.c:710 tools/gpgconf-comp.c:826
 #, fuzzy
 msgid "|NAME|encrypt to user ID NAME as well"
 msgstr "|NOMO|ĉifri por NOMO"
@@ -11165,137 +11017,137 @@ msgstr "|NOMO|ĉifri por NOMO"
 msgid "|SPEC|set up email aliases"
 msgstr ""
 
-#: tools/gpgconf-comp.c:749 tools/gpgconf-comp.c:981
+#: tools/gpgconf-comp.c:753 tools/gpgconf-comp.c:985
 msgid "Configuration for Keyservers"
 msgstr ""
 
-#: tools/gpgconf-comp.c:751 tools/gpgconf-comp.c:983
+#: tools/gpgconf-comp.c:755 tools/gpgconf-comp.c:987
 #, fuzzy
 msgid "|URL|use keyserver at URL"
 msgstr "ne povis analizi URI de ŝlosilservilo\n"
 
-#: tools/gpgconf-comp.c:754
+#: tools/gpgconf-comp.c:758
 msgid "allow PKA lookups (DNS requests)"
 msgstr ""
 
-#: tools/gpgconf-comp.c:757
+#: tools/gpgconf-comp.c:761
 msgid "|MECHANISMS|use MECHANISMS to locate keys by mail address"
 msgstr ""
 
-#: tools/gpgconf-comp.c:760
+#: tools/gpgconf-comp.c:764
 #, fuzzy
 #| msgid "import keys from a keyserver"
 msgid "import missing key from a signature"
 msgstr "importi ŝlosilojn de ŝlosilservilo"
 
-#: tools/gpgconf-comp.c:763
+#: tools/gpgconf-comp.c:767
 #, fuzzy
 msgid "include the public key in signatures"
 msgstr "kontroli ŝlosilsubskribojn"
 
-#: tools/gpgconf-comp.c:770 tools/gpgconf-comp.c:831
+#: tools/gpgconf-comp.c:774 tools/gpgconf-comp.c:835
 msgid "disable all access to the dirmngr"
 msgstr ""
 
-#: tools/gpgconf-comp.c:834
+#: tools/gpgconf-comp.c:838
 #, fuzzy
 msgid "|NAME|use encoding NAME for PKCS#12 passphrases"
 msgstr "|NOMO|uzi ĉifrad-metodon NOMO por pasfrazoj"
 
-#: tools/gpgconf-comp.c:870
+#: tools/gpgconf-comp.c:874
 msgid "do not check CRLs for root certificates"
 msgstr ""
 
-#: tools/gpgconf-comp.c:919
+#: tools/gpgconf-comp.c:923
 msgid "Options controlling the format of the output"
 msgstr ""
 
-#: tools/gpgconf-comp.c:961
+#: tools/gpgconf-comp.c:965
 msgid "Options controlling the interactivity and enforcement"
 msgstr ""
 
-#: tools/gpgconf-comp.c:974
+#: tools/gpgconf-comp.c:978
 msgid "Options controlling the use of Tor"
 msgstr ""
 
-#: tools/gpgconf-comp.c:988
+#: tools/gpgconf-comp.c:992
 msgid "Configuration for HTTP servers"
 msgstr ""
 
-#: tools/gpgconf-comp.c:999
+#: tools/gpgconf-comp.c:1003
 msgid "use system's HTTP proxy setting"
 msgstr ""
 
-#: tools/gpgconf-comp.c:1004
+#: tools/gpgconf-comp.c:1008
 msgid "Configuration of LDAP servers to use"
 msgstr ""
 
-#: tools/gpgconf-comp.c:1033
+#: tools/gpgconf-comp.c:1037
 msgid "LDAP server list"
 msgstr ""
 
-#: tools/gpgconf-comp.c:1041
+#: tools/gpgconf-comp.c:1045
 msgid "Configuration for OCSP"
 msgstr ""
 
-#: tools/gpgconf-comp.c:1094
+#: tools/gpgconf-comp.c:1098
 msgid "OpenPGP"
 msgstr ""
 
-#: tools/gpgconf-comp.c:1095
+#: tools/gpgconf-comp.c:1099
 msgid "Private Keys"
 msgstr ""
 
-#: tools/gpgconf-comp.c:1096
+#: tools/gpgconf-comp.c:1100
 msgid "Smartcards"
 msgstr ""
 
-#: tools/gpgconf-comp.c:1097
+#: tools/gpgconf-comp.c:1101
 msgid "S/MIME"
 msgstr ""
 
-#: tools/gpgconf-comp.c:1098
+#: tools/gpgconf-comp.c:1102
 #, fuzzy
 #| msgid "network error"
 msgid "Network"
 msgstr "reteraro"
 
-#: tools/gpgconf-comp.c:1099
+#: tools/gpgconf-comp.c:1103
 #, fuzzy
 msgid "Passphrase Entry"
 msgstr "malbona pasfrazo"
 
-#: tools/gpgconf-comp.c:1278
+#: tools/gpgconf-comp.c:1282
 #, fuzzy
 msgid "Component not suitable for launching"
 msgstr "publika ŝlosilo ne trovita"
 
-#: tools/gpgconf-comp.c:1284
+#: tools/gpgconf-comp.c:1288
 #, c-format
 msgid "Configuration file of component %s is broken\n"
 msgstr ""
 
-#: tools/gpgconf-comp.c:1287
+#: tools/gpgconf-comp.c:1291
 #, fuzzy, c-format
 #| msgid "Please use the command \"toggle\" first.\n"
 msgid "Note: Use the command \"%s%s\" to get details.\n"
 msgstr "Bonvolu uzi la komandon \"toggle\" unue.\n"
 
-#: tools/gpgconf-comp.c:3446
+#: tools/gpgconf-comp.c:3454
 #, c-format
 msgid "External verification of component %s failed"
 msgstr ""
 
-#: tools/gpgconf-comp.c:3597
+#: tools/gpgconf-comp.c:3605
 msgid "Note that group specifications are ignored\n"
 msgstr ""
 
-#: tools/gpgconf-comp.c:4195
+#: tools/gpgconf-comp.c:4203
 #, fuzzy, c-format
 msgid "error closing '%s'\n"
 msgstr "eraro dum legado de '%s': %s\n"
 
-#: tools/gpgconf-comp.c:4197
+#: tools/gpgconf-comp.c:4205
 #, fuzzy, c-format
 msgid "error parsing '%s'\n"
 msgstr "eraro dum legado de '%s': %s\n"
@@ -11405,6 +11257,89 @@ msgid ""
 msgstr ""
 
 #, fuzzy
+#~ msgid "requesting key %s from %s server %s\n"
+#~ msgstr "petas la ŝlosilon %08lX de HKP-ŝlosilservilo %s ...\n"
+
+#, fuzzy
+#~ msgid "could not parse keyserver\n"
+#~ msgstr "ne povis analizi URI de ŝlosilservilo\n"
+
+#, fuzzy
+#~| msgid "|NAME|set terminal charset to NAME"
+#~ msgid "|NAME|connect to host NAME"
+#~ msgstr "|NOMO|difini NOMOn kiel la signaron de la terminalo"
+
+#, fuzzy
+#~| msgid "|NAME|use NAME as default recipient"
+#~ msgid "|NAME|use user NAME for authentication"
+#~ msgstr "|NOMO|uzi NOMOn kiel implicitan ricevonton"
+
+#, fuzzy
+#~| msgid "Usage: gpg [options] [files] (-h for help)"
+#~ msgid "Usage: dirmngr_ldap [options] [URL] (-h for help)\n"
+#~ msgstr "Uzado: gpg [opcioj] [dosieroj] (-h por helpo)"
+
+#, fuzzy
+#~ msgid "invalid port number %d\n"
+#~ msgstr "nevalida kiraso"
+
+#, fuzzy
+#~ msgid "error writing to stdout: %s\n"
+#~ msgstr "eraro dum skribado de ŝlosilaro '%s': %s\n"
+
+#, fuzzy
+#~| msgid "user '%s' not found: %s\n"
+#~ msgid "attribute '%s' not found\n"
+#~ msgstr "uzanto '%s' ne trovita: %s\n"
+
+#, fuzzy
+#~| msgid "reading from `%s'\n"
+#~ msgid "processing url '%s'\n"
+#~ msgstr "legas el '%s'\n"
+
+#, fuzzy
+#~| msgid "          w/o user IDs: %lu\n"
+#~ msgid "          user '%s'\n"
+#~ msgstr "         sen uzantidentigilo: %lu\n"
+
+#, fuzzy
+#~ msgid "          pass '%s'\n"
+#~ msgstr "            alinome \""
+
+#, fuzzy
+#~ msgid "          host '%s'\n"
+#~ msgstr "            alinome \""
+
+#, fuzzy
+#~ msgid "          port %d\n"
+#~ msgstr "                  importitaj: %lu"
+
+#, fuzzy
+#~ msgid "            DN '%s'\n"
+#~ msgstr "            alinome \""
+
+#, fuzzy
+#~ msgid "          attr '%s'\n"
+#~ msgstr "            alinome \""
+
+#, fuzzy
+#~ msgid "WARNING: using first attribute only\n"
+#~ msgstr "Averto: uzas malsekuran memoron!\n"
+
+#, fuzzy
+#~ msgid "LDAP init to '%s:%d' failed: %s\n"
+#~ msgstr "enkirasigo malsukcesis: %s\n"
+
+#, fuzzy
+#~ msgid "binding to '%s:%d' failed: %s\n"
+#~ msgstr "enkirasigo malsukcesis: %s\n"
+
+#, fuzzy
+#~| msgid "dearmoring failed: %s\n"
+#~ msgid "searching '%s' failed: %s\n"
+#~ msgstr "elkirasigo malsukcesis: %s\n"
+
+#, fuzzy
 #~ msgid "Note: old default options file '%s' ignored\n"
 #~ msgstr "NOTO: mankas implicita opcio-dosiero '%s'\n"
 
index f4b5c12..0cab7c3 100644 (file)
Binary files a/po/es.gmo and b/po/es.gmo differ
index 8f7d45e..66889b9 100644 (file)
--- a/po/es.po
+++ b/po/es.po
@@ -9,7 +9,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: gnupg 2.0.9\n"
 "Report-Msgid-Bugs-To: translations@gnupg.org\n"
-"POT-Creation-Date: 2021-01-11 18:47+0100\n"
+"POT-Creation-Date: 2021-06-10 18:59+0200\n"
 "PO-Revision-Date: 2018-05-25 15:44+0000\n"
 "Last-Translator: emma peel <emma.peel@riseup.net>\n"
 "Language-Team: Spanish <es@li.org>\n"
@@ -118,7 +118,7 @@ msgid "Passphrase:"
 msgstr "Frase contraseña:"
 
 #: agent/call-pinentry.c:1107 agent/call-pinentry.c:1359
-#: agent/command-ssh.c:3130 agent/genkey.c:416
+#: agent/command-ssh.c:3140 agent/genkey.c:416
 msgid "does not match - try again"
 msgstr "no coincide - reinténtelo"
 
@@ -177,32 +177,32 @@ msgstr "Frase contraseña errónea"
 msgid "ssh keys greater than %d bits are not supported\n"
 msgstr "no pueden usarse claves ssh de más de %d bits\n"
 
-#: agent/command-ssh.c:862 common/dotlock.c:852 g10/card-util.c:932
-#: g10/exec.c:546 g10/export.c:1320 g10/gpg.c:1352 g10/keygen.c:4998
-#: g10/keyring.c:1322 g10/keyring.c:1637 g10/openfile.c:291 g10/sign.c:1009
-#: g10/sign.c:1323 g10/tdbio.c:753
+#: agent/command-ssh.c:862 common/dotlock.c:852 g10/card-util.c:933
+#: g10/exec.c:554 g10/export.c:1320 g10/gpg.c:1360 g10/keygen.c:4998
+#: g10/keyring.c:1322 g10/keyring.c:1637 g10/openfile.c:291 g10/sign.c:1008
+#: g10/sign.c:1322 g10/tdbio.c:753
 #, c-format
 msgid "can't create '%s': %s\n"
 msgstr "no se puede crear '%s': %s\n"
 
-#: agent/command-ssh.c:874 common/helpfile.c:57 g10/card-util.c:889
+#: agent/command-ssh.c:874 common/helpfile.c:57 g10/card-util.c:890
 #: g10/dearmor.c:59 g10/dearmor.c:106 g10/decrypt.c:65 g10/decrypt.c:136
-#: g10/decrypt.c:153 g10/encrypt.c:180 g10/encrypt.c:543 g10/gpg.c:1353
-#: g10/import.c:352 g10/import.c:536 g10/import.c:764 g10/keygen.c:4036
+#: g10/decrypt.c:153 g10/encrypt.c:180 g10/encrypt.c:543 g10/gpg.c:1361
+#: g10/import.c:364 g10/import.c:548 g10/import.c:776 g10/keygen.c:4036
 #: g10/keyring.c:1663 g10/openfile.c:195 g10/openfile.c:209 g10/plaintext.c:128
-#: g10/plaintext.c:649 g10/sign.c:991 g10/sign.c:1202 g10/sign.c:1307
-#: g10/sign.c:1452 g10/tdbdump.c:143 g10/tdbdump.c:151 g10/tdbio.c:758
-#: g10/tdbio.c:829 g10/verify.c:96 g10/verify.c:160 sm/gpgsm.c:2219
-#: sm/gpgsm.c:2249 sm/gpgsm.c:2287 sm/qualified.c:66 dirmngr/certcache.c:396
+#: g10/plaintext.c:649 g10/sign.c:990 g10/sign.c:1201 g10/sign.c:1306
+#: g10/sign.c:1451 g10/tdbdump.c:143 g10/tdbdump.c:151 g10/tdbio.c:758
+#: g10/tdbio.c:829 g10/verify.c:96 g10/verify.c:160 sm/gpgsm.c:2125
+#: sm/gpgsm.c:2155 sm/gpgsm.c:2193 sm/qualified.c:66 dirmngr/certcache.c:396
 #: dirmngr/certcache.c:476 dirmngr/certcache.c:478 dirmngr/crlcache.c:2588
-#: dirmngr/dirmngr.c:1722
+#: dirmngr/dirmngr.c:1759
 #, c-format
 msgid "can't open '%s': %s\n"
 msgstr "no se puede abrir '%s': %s\n"
 
 #: agent/command-ssh.c:2385 agent/command-ssh.c:2431 agent/command-ssh.c:2449
-#: agent/command-ssh.c:2601 g10/card-util.c:687 g10/card-util.c:708
-#: g10/skclist.c:430
+#: agent/command-ssh.c:2601 g10/card-util.c:688 g10/card-util.c:709
+#: g10/skclist.c:435
 #, c-format
 msgid "error getting serial number of card: %s\n"
 msgstr "error obteniendo el número de serie de la tarjeta: %s\n"
@@ -227,7 +227,7 @@ msgstr "no se encuentra una clave de tarjeta adecuada: %s\n"
 msgid "error getting list of cards: %s\n"
 msgstr "error intentando obtener lista de tarjetas: %s\n"
 
-#: agent/command-ssh.c:2765
+#: agent/command-ssh.c:2775
 #, c-format
 msgid ""
 "An ssh process requested the use of key%%0A  %s%%0A  (%s)%%0ADo you want to "
@@ -236,25 +236,25 @@ msgstr ""
 "Un proceso ssh requirió el uso de la clave%%0A  %s%%0A  (%s)%%0A¿Quiere "
 "permitirlo?"
 
-#: agent/command-ssh.c:2772
+#: agent/command-ssh.c:2782
 msgid "Allow"
 msgstr "Permitir"
 
-#: agent/command-ssh.c:2772
+#: agent/command-ssh.c:2782
 msgid "Deny"
 msgstr "Denegar"
 
-#: agent/command-ssh.c:2781
+#: agent/command-ssh.c:2791
 #, c-format
 msgid "Please enter the passphrase for the ssh key%%0A  %F%%0A  (%c)"
 msgstr ""
 "Por favor introduzca la frase contraseña para la clave ssh %%0A %F%%0A  (%c)"
 
-#: agent/command-ssh.c:3058 agent/genkey.c:351
+#: agent/command-ssh.c:3068 agent/genkey.c:351
 msgid "Please re-enter this passphrase"
 msgstr "Por favor vuelva a introducir frase contraseña"
 
-#: agent/command-ssh.c:3085
+#: agent/command-ssh.c:3095
 #, c-format
 msgid ""
 "Please enter a passphrase to protect the received secret key%%0A   %s%%0A   "
@@ -263,7 +263,7 @@ msgstr ""
 "Por favor introduzca una frase contraseña para proteger la clave secreta "
 "recibida %%0A  %s%%0A  %s%%0A  en el almacén de claves del agente gpg"
 
-#: agent/command-ssh.c:3667
+#: agent/command-ssh.c:3677
 #, c-format
 msgid "failed to create stream from socket: %s\n"
 msgstr "fallo al crear un flujo desde el socket: %s\n"
@@ -416,45 +416,43 @@ msgstr ""
 "@Opciones:\n"
 " "
 
-#: agent/gpg-agent.c:165 scd/scdaemon.c:120 dirmngr/dirmngr.c:166
+#: agent/gpg-agent.c:165 scd/scdaemon.c:120 dirmngr/dirmngr.c:167
 msgid "run in daemon mode (background)"
 msgstr "ejecutar en modo demonio (segundo plano)"
 
-#: agent/gpg-agent.c:166 scd/scdaemon.c:117 dirmngr/dirmngr.c:165
+#: agent/gpg-agent.c:166 scd/scdaemon.c:117 dirmngr/dirmngr.c:166
 msgid "run in server mode (foreground)"
 msgstr "ejecutar en modo servidor (primer plano)"
 
-#: agent/gpg-agent.c:168 dirmngr/dirmngr.c:168
+#: agent/gpg-agent.c:168 dirmngr/dirmngr.c:169
 msgid "run in supervised mode"
 msgstr "ejecutar en modo supervisado"
 
-#: agent/gpg-agent.c:170 g10/gpg.c:608 g10/gpgv.c:78 kbx/kbxutil.c:88
-#: scd/scdaemon.c:121 sm/gpgsm.c:310 dirmngr/dirmngr-client.c:70
-#: dirmngr/dirmngr.c:181 dirmngr/dirmngr_ldap.c:135
-#: tools/gpg-connect-agent.c:78 tools/gpgconf.c:108
+#: agent/gpg-agent.c:170 g10/gpg.c:605 g10/gpgv.c:78 kbx/kbxutil.c:88
+#: scd/scdaemon.c:121 sm/gpgsm.c:311 dirmngr/dirmngr-client.c:70
+#: dirmngr/dirmngr.c:182 tools/gpg-connect-agent.c:78 tools/gpgconf.c:108
 msgid "verbose"
 msgstr "prolijo"
 
 #: agent/gpg-agent.c:171 g10/gpgv.c:79 kbx/kbxutil.c:89 scd/scdaemon.c:122
-#: sm/gpgsm.c:311 dirmngr/dirmngr-client.c:71 dirmngr/dirmngr.c:182
-#: dirmngr/dirmngr_ldap.c:136
+#: sm/gpgsm.c:312 dirmngr/dirmngr-client.c:71 dirmngr/dirmngr.c:183
 msgid "be somewhat more quiet"
 msgstr "algo más discreto"
 
-#: agent/gpg-agent.c:172 scd/scdaemon.c:123 dirmngr/dirmngr.c:183
+#: agent/gpg-agent.c:172 scd/scdaemon.c:123 dirmngr/dirmngr.c:184
 msgid "sh-style command output"
 msgstr "salida de datos estilo sh"
 
-#: agent/gpg-agent.c:173 scd/scdaemon.c:124 dirmngr/dirmngr.c:184
+#: agent/gpg-agent.c:173 scd/scdaemon.c:124 dirmngr/dirmngr.c:185
 msgid "csh-style command output"
 msgstr "salida de datos estilo csh"
 
-#: agent/gpg-agent.c:174 scd/scdaemon.c:125 sm/gpgsm.c:341
-#: dirmngr/dirmngr.c:185
+#: agent/gpg-agent.c:174 scd/scdaemon.c:125 sm/gpgsm.c:344
+#: dirmngr/dirmngr.c:186
 msgid "|FILE|read options from FILE"
 msgstr "|FILE|lee opciones desde FICHERO"
 
-#: agent/gpg-agent.c:183 scd/scdaemon.c:135 dirmngr/dirmngr.c:188
+#: agent/gpg-agent.c:183 scd/scdaemon.c:135 dirmngr/dirmngr.c:189
 msgid "do not detach from the console"
 msgstr "no independizarse de la consola"
 
@@ -530,9 +528,9 @@ msgstr "habilitar soporte de putty"
 #. reporting address.  This is so that we can change the
 #. reporting address without breaking the translations.
 #: agent/gpg-agent.c:531 agent/preset-passphrase.c:100 agent/protect-tool.c:155
-#: g10/gpg.c:1070 g10/gpgv.c:149 kbx/kbxutil.c:113 scd/scdaemon.c:298
-#: sm/gpgsm.c:567 dirmngr/dirmngr-client.c:168 dirmngr/dirmngr.c:404
-#: dirmngr/dirmngr_ldap.c:207 tools/gpg-connect-agent.c:205 tools/gpgconf.c:146
+#: g10/gpg.c:1074 g10/gpgv.c:149 kbx/kbxutil.c:113 scd/scdaemon.c:299
+#: sm/gpgsm.c:570 dirmngr/dirmngr-client.c:168 dirmngr/dirmngr.c:412
+#: tools/gpg-connect-agent.c:205 tools/gpgconf.c:146
 #: tools/gpg-check-pattern.c:143
 msgid "Please report bugs to <@EMAIL@>.\n"
 msgstr "Por favor, informe de posibles \"bugs\" a <@EMAIL@>.\n"
@@ -549,37 +547,37 @@ msgstr ""
 "Sintaxis: @GPG_AGENT@ [opciones] [orden [argumentos]]\n"
 "Manejo de claves privadas por @GNUPG@\n"
 
-#: agent/gpg-agent.c:587 g10/gpg.c:1262 scd/scdaemon.c:370 sm/gpgsm.c:715
-#: dirmngr/dirmngr.c:488
+#: agent/gpg-agent.c:587 g10/gpg.c:1270 scd/scdaemon.c:371 sm/gpgsm.c:718
+#: dirmngr/dirmngr.c:496
 #, c-format
 msgid "invalid debug-level '%s' given\n"
 msgstr "el nivel de depuración '%s' no es válido\n"
 
-#: agent/gpg-agent.c:945 g10/gpg.c:3753 g10/gpg.c:3777 sm/gpgsm.c:1631
-#: sm/gpgsm.c:1637
+#: agent/gpg-agent.c:945 g10/gpg.c:3773 g10/gpg.c:3797 sm/gpgsm.c:1531
+#: sm/gpgsm.c:1537
 #, c-format
 msgid "selected digest algorithm is invalid\n"
 msgstr "el algoritmo de resumen seleccionado no inválido\n"
 
 #: agent/gpg-agent.c:1168 agent/gpg-agent.c:2023 common/argparse.c:1755
-#: common/argparse.c:1847 g10/gpg.c:2482 scd/scdaemon.c:532 sm/gpgsm.c:1063
-#: dirmngr/dirmngr.c:956 dirmngr/dirmngr.c:1841
+#: common/argparse.c:1847 g10/gpg.c:2495 scd/scdaemon.c:533 sm/gpgsm.c:977
+#: dirmngr/dirmngr.c:994 dirmngr/dirmngr.c:1878
 #, c-format
 msgid "reading options from '%s'\n"
 msgstr "leyendo opciones de '%s'\n"
 
-#: agent/gpg-agent.c:1300 g10/gpg.c:3704 scd/scdaemon.c:655 sm/gpgsm.c:1571
-#: dirmngr/dirmngr.c:1067 tools/gpg-connect-agent.c:1244 tools/gpgconf.c:624
+#: agent/gpg-agent.c:1300 g10/gpg.c:3724 scd/scdaemon.c:657 sm/gpgsm.c:1471
+#: dirmngr/dirmngr.c:1102 tools/gpg-connect-agent.c:1244 tools/gpgconf.c:624
 #, c-format
 msgid "Note: '%s' is not considered an option\n"
 msgstr "Atención: \"%s\" no se considera una opción\n"
 
-#: agent/gpg-agent.c:2159 scd/scdaemon.c:1096 dirmngr/dirmngr.c:1219
+#: agent/gpg-agent.c:2159 scd/scdaemon.c:1098 dirmngr/dirmngr.c:1256
 #, c-format
 msgid "can't create socket: %s\n"
 msgstr "no se puede crear el socket: %s\n"
 
-#: agent/gpg-agent.c:2176 scd/scdaemon.c:1109 dirmngr/dirmngr.c:1232
+#: agent/gpg-agent.c:2176 scd/scdaemon.c:1111 dirmngr/dirmngr.c:1269
 #, c-format
 msgid "socket name '%s' is too long\n"
 msgstr "el nombre de socket '%s' es demasiado largo\n"
@@ -589,29 +587,29 @@ msgstr "el nombre de socket '%s' es demasiado largo\n"
 msgid "a gpg-agent is already running - not starting a new one\n"
 msgstr "ya hay un agente gpg ejecutándose - no se inicia otro\n"
 
-#: agent/gpg-agent.c:2226 scd/scdaemon.c:1133 dirmngr/dirmngr.c:1264
+#: agent/gpg-agent.c:2226 scd/scdaemon.c:1135 dirmngr/dirmngr.c:1301
 #, c-format
 msgid "error getting nonce for the socket\n"
 msgstr "error obteniendo valor único para el socket\n"
 
-#: agent/gpg-agent.c:2231 scd/scdaemon.c:1136 dirmngr/dirmngr.c:1267
+#: agent/gpg-agent.c:2231 scd/scdaemon.c:1138 dirmngr/dirmngr.c:1304
 #, c-format
 msgid "error binding socket to '%s': %s\n"
 msgstr "error enlazando el socket con '%s': %s\n"
 
 #: agent/gpg-agent.c:2242 agent/gpg-agent.c:2282 agent/gpg-agent.c:2291
-#: scd/scdaemon.c:1144 dirmngr/dirmngr.c:1276
+#: scd/scdaemon.c:1146 dirmngr/dirmngr.c:1313
 #, c-format
 msgid "can't set permissions of '%s': %s\n"
 msgstr "no puedo cambiar los permisos de '%s': %s\n"
 
-#: agent/gpg-agent.c:2256 scd/scdaemon.c:1156 dirmngr/dirmngr.c:1288
+#: agent/gpg-agent.c:2256 scd/scdaemon.c:1158 dirmngr/dirmngr.c:1325
 #, c-format
 msgid "listening on socket '%s'\n"
 msgstr "escuchando en el socket '%s'\n"
 
 #: agent/gpg-agent.c:2276 agent/gpg-agent.c:2329 common/homedir.c:517
-#: g10/exec.c:261 g10/openfile.c:397
+#: g10/exec.c:269 g10/openfile.c:397
 #, c-format
 msgid "can't create directory '%s': %s\n"
 msgstr "no se puede crear el directorio '%s': %s\n"
@@ -632,7 +630,7 @@ msgstr "stat() falló para '%s': %s\n"
 msgid "can't use '%s' as home directory\n"
 msgstr "no puede usar '%s' como directorio personal\n"
 
-#: agent/gpg-agent.c:2502 scd/scdaemon.c:1172 dirmngr/dirmngr.c:2047
+#: agent/gpg-agent.c:2502 scd/scdaemon.c:1174 dirmngr/dirmngr.c:2084
 #, c-format
 msgid "error reading nonce on fd %d: %s\n"
 msgstr "error al leer valor único en el descriptor %d: %s\n"
@@ -657,13 +655,13 @@ msgstr "manejador ssh 0x%lx para el descriptor %d iniciado\n"
 msgid "ssh handler 0x%lx for fd %d terminated\n"
 msgstr "manejador ssh 0x%lx para el descriptor %d finalizado\n"
 
-#: agent/gpg-agent.c:3016 scd/scdaemon.c:1362 dirmngr/dirmngr.c:2261
+#: agent/gpg-agent.c:3016 scd/scdaemon.c:1366 dirmngr/dirmngr.c:2298
 #, c-format
 msgid "npth_pselect failed: %s - waiting 1s\n"
 msgstr "npth_pselect falló: %s - espero 1s\n"
 
 # msgstr "clave %08lX: %d nuevas subclaves\n"
-#: agent/gpg-agent.c:3104 scd/scdaemon.c:1427
+#: agent/gpg-agent.c:3104 scd/scdaemon.c:1431
 #, c-format
 msgid "%s %s stopped\n"
 msgstr "%s %s detenido\n"
@@ -690,8 +688,8 @@ msgstr ""
 # Sí, este no he podido ser yo :-) Por cierto, ¿por qué la O no se
 # puede acentuar? ¿demasiado alta?
 # ¿Quién dice que no se puede? :-)
-#: agent/protect-tool.c:108 g10/gpg.c:440 kbx/kbxutil.c:71 sm/gpgsm.c:204
-#: dirmngr/dirmngr.c:163 tools/gpgconf.c:78
+#: agent/protect-tool.c:108 g10/gpg.c:437 kbx/kbxutil.c:71 sm/gpgsm.c:205
+#: dirmngr/dirmngr.c:164 tools/gpgconf.c:78
 msgid ""
 "@Commands:\n"
 " "
@@ -699,8 +697,8 @@ msgstr ""
 "@Órdenes:\n"
 " "
 
-#: agent/protect-tool.c:117 g10/gpg.c:553 g10/gpgv.c:76 kbx/kbxutil.c:81
-#: sm/gpgsm.c:252 dirmngr/dirmngr.c:179 tools/gpg-connect-agent.c:76
+#: agent/protect-tool.c:117 g10/gpg.c:550 g10/gpgv.c:76 kbx/kbxutil.c:81
+#: sm/gpgsm.c:253 dirmngr/dirmngr.c:180 tools/gpg-connect-agent.c:76
 #: tools/gpgconf.c:105
 msgid ""
 "@\n"
@@ -723,11 +721,11 @@ msgstr ""
 "Sintaxis: gpg-protect-tool [opciones] [args]\n"
 "Herramienta para el mantenimiento de claves secretas\n"
 
-#: agent/protect-tool.c:703
+#: agent/protect-tool.c:703 sm/import.c:774
 msgid "Please enter the passphrase to unprotect the PKCS#12 object."
 msgstr "Introduzca frase contraseña para desproteger el objeto PKCS#12."
 
-#: agent/protect-tool.c:708
+#: agent/protect-tool.c:708 sm/export.c:710
 msgid "Please enter the passphrase to protect the new PKCS#12 object."
 msgstr "Introduzca frase contraseña para proteger el nuevo objeto PKCS#12."
 
@@ -756,7 +754,7 @@ msgstr "cancelado\n"
 msgid "error while asking for the passphrase: %s\n"
 msgstr "error pidiendo la frase contraseña: %s\n"
 
-#: agent/trustlist.c:154 agent/trustlist.c:364 dirmngr/dirmngr.c:1629
+#: agent/trustlist.c:154 agent/trustlist.c:364 dirmngr/dirmngr.c:1666
 #: tools/gpgconf.c:418
 #, c-format
 msgid "error opening '%s': %s\n"
@@ -920,7 +918,7 @@ msgstr "la comprobación de la firma creada falló: %s\n"
 msgid "secret key parts are not available\n"
 msgstr "las partes de la clave privada no están disponibles\n"
 
-#: agent/cvt-openpgp.c:344 g10/card-util.c:1540
+#: agent/cvt-openpgp.c:344 g10/card-util.c:1541
 #, c-format
 msgid "public key algorithm %d (%s) is not supported\n"
 msgstr "el algoritmo de llave pública %d (%s) no se puede usar\n"
@@ -935,21 +933,21 @@ msgstr "el algoritmo de protección %d (%s) no se puede usar\n"
 msgid "protection hash algorithm %d (%s) is not supported\n"
 msgstr "el algoritmo de protección de hash %d (%s) no se puede usar\n"
 
-#: common/exechelp-posix.c:359 common/exechelp-w32.c:449
-#: common/exechelp-w32.c:473 common/exechelp-w32.c:503
+#: common/exechelp-posix.c:359 common/exechelp-w32.c:451
+#: common/exechelp-w32.c:475 common/exechelp-w32.c:505
 #, c-format
 msgid "error creating a pipe: %s\n"
 msgstr "error al crear tubería: %s\n"
 
 #: common/exechelp-posix.c:372 common/exechelp-w32.c:355
-#: common/exechelp-w32.c:459 common/exechelp-w32.c:483
-#: common/exechelp-w32.c:513
+#: common/exechelp-w32.c:461 common/exechelp-w32.c:485
+#: common/exechelp-w32.c:515
 #, c-format
 msgid "error creating a stream for a pipe: %s\n"
 msgstr "error al crear stream para una tubería: %s\n"
 
 #: common/exechelp-posix.c:495 common/exechelp-posix.c:570
-#: common/exechelp-posix.c:851 dirmngr/dirmngr.c:1306
+#: common/exechelp-posix.c:856 dirmngr/dirmngr.c:1343
 #, c-format
 msgid "error forking process: %s\n"
 msgstr "error bifurcando procesos: %s\n"
@@ -959,28 +957,28 @@ msgstr "error bifurcando procesos: %s\n"
 msgid "waiting for process %d to terminate failed: %s\n"
 msgstr "fallo esperando que el proceso %d terminara: %s\n"
 
-#: common/exechelp-posix.c:678 common/exechelp-posix.c:794
+#: common/exechelp-posix.c:678 common/exechelp-posix.c:799
 #, c-format
 msgid "error running '%s': probably not installed\n"
 msgstr "error al ejecutar '%s': probablemente no está instalado\n"
 
-#: common/exechelp-posix.c:684 common/exechelp-posix.c:801
-#: common/exechelp-w32.c:796 common/exechelp-w32ce.c:781
+#: common/exechelp-posix.c:684 common/exechelp-posix.c:806
+#: common/exechelp-w32.c:829 common/exechelp-w32ce.c:781
 #, c-format
 msgid "error running '%s': exit status %d\n"
 msgstr "error ejecutando '%s': código de salida %d\n"
 
-#: common/exechelp-posix.c:692 common/exechelp-posix.c:809
+#: common/exechelp-posix.c:692 common/exechelp-posix.c:814
 #, c-format
 msgid "error running '%s': terminated\n"
 msgstr "error al ejecutar '%s': terminado\n"
 
-#: common/exechelp-posix.c:750 common/exechelp-w32.c:777
+#: common/exechelp-posix.c:755 common/exechelp-w32.c:810
 #, c-format
 msgid "waiting for processes to terminate failed: %s\n"
 msgstr "fallo esperando que el proceso termine: %s\n"
 
-#: common/exechelp-w32.c:789 common/exechelp-w32ce.c:775
+#: common/exechelp-w32.c:822 common/exechelp-w32ce.c:775
 #, c-format
 msgid "error getting exit code of process %d: %s\n"
 msgstr "error obteniendo código de finalización del proceso: %d %s\n"
@@ -1075,7 +1073,7 @@ msgstr "agotado núcleo de memoria segura reservando %lu bytes"
 msgid "out of core while allocating %lu bytes"
 msgstr "error de memoria al reservar %lu bytes"
 
-#: common/miscellaneous.c:115 g10/card-util.c:896 tools/no-libgcrypt.c:30
+#: common/miscellaneous.c:115 g10/card-util.c:897 tools/no-libgcrypt.c:30
 #, c-format
 msgid "error allocating enough memory: %s\n"
 msgstr "error reservando memoria: %s\n"
@@ -1190,7 +1188,7 @@ msgid "algorithm: %s"
 msgstr "algoritmo: %s"
 
 #: common/audit.c:774 common/audit.c:776 common/audit.c:921 common/audit.c:923
-#: scd/app-openpgp.c:3555
+#: scd/app-openpgp.c:3554
 #, c-format
 msgid "unsupported algorithm: %s"
 msgstr "algoritmo no disponible: %s"
@@ -1315,6 +1313,26 @@ msgstr "[ninguno]"
 msgid "invalid radix64 character %02x skipped\n"
 msgstr "caracter inválido radix64 %02x omitido\n"
 
+#: common/ttyio.c:433
+#, c-format
+msgid "Sorry, we are in batchmode - can't get input\n"
+msgstr ""
+
+#: common/ttyio.c:439
+#, c-format
+msgid "Sorry, no terminal at all requested - can't get input\n"
+msgstr ""
+
+#: common/ttyio.c:474 common/ttyio.c:484
+#, c-format
+msgid "too many errors; giving up\n"
+msgstr ""
+
+#: common/ttyio.c:536
+#, c-format
+msgid "Control-D detected\n"
+msgstr ""
+
 #: common/argparse.c:520
 msgid "argument not expected"
 msgstr "parámetro inesperado"
@@ -1378,7 +1396,7 @@ msgstr "opción inválida"
 msgid "missing argument for option \"%.50s\"\n"
 msgstr "falta parámetro para la opción \"%.50s\"\n"
 
-#: common/argparse.c:558 g10/gpg.c:3490
+#: common/argparse.c:558 g10/gpg.c:3510
 #, c-format
 msgid "invalid argument for option \"%.50s\"\n"
 msgstr "parámetro incorrecto para la opción \"%.50s\"\n"
@@ -1448,31 +1466,31 @@ msgstr "no se pudo crear el fichero temporal '%s': %s\n"
 msgid "error writing to '%s': %s\n"
 msgstr "error escribiendo a '%s': %s\n"
 
-#: common/dotlock.c:1129
+#: common/dotlock.c:1137
 #, c-format
 msgid "removing stale lockfile (created by %d)\n"
 msgstr "borrando fichero de bloqueo residual (creado por %d)\n"
 
-#: common/dotlock.c:1165
+#: common/dotlock.c:1173
 #, c-format
 msgid "waiting for lock (held by %d%s) %s...\n"
 msgstr "esperando al bloqueo (que mantiene %d%s) %s...\n"
 
-#: common/dotlock.c:1166
+#: common/dotlock.c:1174
 msgid "(deadlock?) "
 msgstr "(¿bloqueo mutuo?) "
 
-#: common/dotlock.c:1205
+#: common/dotlock.c:1213
 #, c-format
 msgid "lock '%s' not made: %s\n"
 msgstr "bloqueo '%s' no hecho: %s\n"
 
-#: common/dotlock.c:1232
+#: common/dotlock.c:1240
 #, c-format
 msgid "waiting for lock %s...\n"
 msgstr "esperando al bloqueo %s...\n"
 
-#: common/init.c:185 sm/gpgsm.c:949 dirmngr/dirmngr.c:862 dirmngr/dirmngr.c:871
+#: common/init.c:191 sm/gpgsm.c:863 dirmngr/dirmngr.c:900 dirmngr/dirmngr.c:909
 #, c-format
 msgid "%s is too old (need %s, have %s)\n"
 msgstr "%s es demasiado antiguo (necesita %s, tiene %s)\n"
@@ -1657,12 +1675,12 @@ msgid "Note: Use the command \"%s\" to restart them.\n"
 msgstr "Atención: Usa el comando \"%s\" para reiniciarlos.\n"
 
 #: g10/call-agent.c:318 g10/encrypt.c:154 g10/encrypt.c:620 g10/sign.c:412
-#: sm/call-agent.c:205 sm/encrypt.c:425 sm/sign.c:345
+#: sm/call-agent.c:205 sm/encrypt.c:426 sm/sign.c:345
 #, c-format
 msgid "%s is not compliant with %s mode\n"
 msgstr "%s no funciona con el modo %s\n"
 
-#: g10/call-dirmngr.c:209 sm/call-dirmngr.c:268 tools/gpg-connect-agent.c:2253
+#: g10/call-dirmngr.c:209 sm/call-dirmngr.c:269 tools/gpg-connect-agent.c:2253
 #, c-format
 msgid "no dirmngr running in this session\n"
 msgstr "no hay agente dirmngr activo en esta sesión\n"
@@ -1707,23 +1725,23 @@ msgstr ""
 msgid "server uses an invalid certificate"
 msgstr "genera un certificado de revocación"
 
-#: g10/call-dirmngr.c:437 g10/gpg.c:4400
+#: g10/call-dirmngr.c:437 g10/gpg.c:4421
 #, fuzzy, c-format
 #| msgid "armor: %s\n"
 msgid "Note: %s\n"
 msgstr "armadura: %s\n"
 
-#: g10/card-util.c:86 g10/card-util.c:366 g10/card-util.c:1902
+#: g10/card-util.c:86 g10/card-util.c:366 g10/card-util.c:1903
 #, c-format
 msgid "OpenPGP card not available: %s\n"
 msgstr "tarjeta OpenPGP no disponible: %s\n"
 
-#: g10/card-util.c:91 g10/card-util.c:1908
+#: g10/card-util.c:91 g10/card-util.c:1909
 #, c-format
 msgid "OpenPGP card no. %s detected\n"
 msgstr "tarjeta OpenPGP num. %s detectada\n"
 
-#: g10/card-util.c:97 g10/card-util.c:2237 g10/delkey.c:160 g10/keyedit.c:1422
+#: g10/card-util.c:97 g10/card-util.c:2238 g10/delkey.c:160 g10/keyedit.c:1423
 #: g10/keygen.c:4466 g10/revoke.c:214 g10/revoke.c:636
 #, c-format
 msgid "can't do this in batch mode\n"
@@ -1734,13 +1752,13 @@ msgstr "imposible hacer esto en modo de proceso por lotes\n"
 msgid "This command is only available for version 2 cards\n"
 msgstr "Esta orden solo está disponible en tarjetas versión 2\n"
 
-#: g10/card-util.c:107 scd/app-openpgp.c:2864
+#: g10/card-util.c:107 scd/app-openpgp.c:2863
 #, c-format
 msgid "Reset Code not or not anymore available\n"
 msgstr "No hay Código de Reinicio o ya no está disponible\n"
 
-#: g10/card-util.c:140 g10/card-util.c:1426 g10/card-util.c:1688
-#: g10/card-util.c:1780 g10/keyedit.c:394 g10/keyedit.c:415 g10/keyedit.c:429
+#: g10/card-util.c:140 g10/card-util.c:1427 g10/card-util.c:1689
+#: g10/card-util.c:1781 g10/keyedit.c:394 g10/keyedit.c:415 g10/keyedit.c:429
 #: g10/keygen.c:1808 g10/keygen.c:1980 g10/keygen.c:2186 g10/keygen.c:2477
 #: sm/certreqgen-ui.c:165 sm/certreqgen-ui.c:291 sm/certreqgen-ui.c:325
 msgid "Your selection? "
@@ -1766,104 +1784,104 @@ msgstr "no forzado"
 msgid "forced"
 msgstr "forzado"
 
-#: g10/card-util.c:749
+#: g10/card-util.c:750
 msgid "Error: Only plain ASCII is currently allowed.\n"
 msgstr "Error: sólo se permite ASCII sin formato actualmente.\n"
 
-#: g10/card-util.c:751
+#: g10/card-util.c:752
 msgid "Error: The \"<\" character may not be used.\n"
 msgstr "Error: El caracter \"<\" no puede usarse.\n"
 
-#: g10/card-util.c:753
+#: g10/card-util.c:754
 msgid "Error: Double spaces are not allowed.\n"
 msgstr "Error: no se permiten dobles espacios.\n"
 
-#: g10/card-util.c:770
+#: g10/card-util.c:771
 msgid "Cardholder's surname: "
 msgstr "Apellido del titular de la tarjeta: "
 
-#: g10/card-util.c:772
+#: g10/card-util.c:773
 msgid "Cardholder's given name: "
 msgstr "Nombre del titular de la tarjeta: "
 
-#: g10/card-util.c:790
+#: g10/card-util.c:791
 #, c-format
 msgid "Error: Combined name too long (limit is %d characters).\n"
 msgstr "Error: nombre combinado demasiado largo (máximo %d caracteres).\n"
 
-#: g10/card-util.c:811
+#: g10/card-util.c:812
 msgid "URL to retrieve public key: "
 msgstr "URL de donde recuperar la clave pública: "
 
-#: g10/card-util.c:905 g10/decrypt-data.c:490 g10/import.c:387 g10/import.c:734
-#: g10/import.c:786 dirmngr/crlcache.c:655 dirmngr/crlcache.c:660
-#: dirmngr/crlcache.c:914 dirmngr/crlcache.c:920 dirmngr/dirmngr.c:1668
+#: g10/card-util.c:906 g10/decrypt-data.c:490 g10/import.c:399 g10/import.c:746
+#: g10/import.c:798 dirmngr/crlcache.c:655 dirmngr/crlcache.c:660
+#: dirmngr/crlcache.c:914 dirmngr/crlcache.c:920 dirmngr/dirmngr.c:1705
 #: tools/gpgconf.c:431 tools/gpgconf.c:477
 #, c-format
 msgid "error reading '%s': %s\n"
 msgstr "error al leer '%s': %s\n"
 
-#: g10/card-util.c:938 g10/decrypt-data.c:493 g10/export.c:2467
+#: g10/card-util.c:939 g10/decrypt-data.c:493 g10/export.c:2467
 #: dirmngr/crlcache.c:925
 #, c-format
 msgid "error writing '%s': %s\n"
 msgstr "error al escribir '%s': %s\n"
 
-#: g10/card-util.c:965
+#: g10/card-util.c:966
 msgid "Login data (account name): "
 msgstr "Datos de login (nombre de la cuenta): "
 
-#: g10/card-util.c:1003
+#: g10/card-util.c:1004
 msgid "Private DO data: "
 msgstr "Datos privados: "
 
-#: g10/card-util.c:1088
+#: g10/card-util.c:1089
 msgid "Language preferences: "
 msgstr "Preferencias de idioma: "
 
-#: g10/card-util.c:1096
+#: g10/card-util.c:1097
 msgid "Error: invalid length of preference string.\n"
 msgstr "Error: longitud de la cadena de preferencias inválida.\n"
 
-#: g10/card-util.c:1105
+#: g10/card-util.c:1106
 msgid "Error: invalid characters in preference string.\n"
 msgstr "Error: caracteres inválidos en cadena de preferencias.\n"
 
-#: g10/card-util.c:1127
+#: g10/card-util.c:1128
 msgid "Salutation (M = Mr., F = Ms., or space): "
 msgstr ""
 
-#: g10/card-util.c:1141
+#: g10/card-util.c:1142
 msgid "Error: invalid response.\n"
 msgstr "Error: respuesta no válida.\n"
 
-#: g10/card-util.c:1163
+#: g10/card-util.c:1164
 msgid "CA fingerprint: "
 msgstr "Huella digital CA: "
 
-#: g10/card-util.c:1186
+#: g10/card-util.c:1187
 msgid "Error: invalid formatted fingerprint.\n"
 msgstr "Error: formato inválido de huella digital.\n"
 
-#: g10/card-util.c:1236
+#: g10/card-util.c:1237
 #, c-format
 msgid "key operation not possible: %s\n"
 msgstr "la operación con la clave no es posible: %s\n"
 
-#: g10/card-util.c:1237
+#: g10/card-util.c:1238
 msgid "not an OpenPGP card"
 msgstr "no es una tarjeta OpenPGP"
 
-#: g10/card-util.c:1250 g10/keygen.c:4486 g10/keygen.c:5565
+#: g10/card-util.c:1251 g10/keygen.c:4486 g10/keygen.c:5565
 #, c-format
 msgid "error getting current key info: %s\n"
 msgstr "error obteniendo la información actual de la clave: %s\n"
 
-#: g10/card-util.c:1335
+#: g10/card-util.c:1336
 msgid "Replace existing key? (y/N) "
 msgstr "¿Reemplazar la clave existente? (s/N) "
 
-#: g10/card-util.c:1352
+#: g10/card-util.c:1353
 msgid ""
 "Note: There is no guarantee that the card supports the requested size.\n"
 "      If the key generation does not succeed, please check the\n"
@@ -1873,98 +1891,98 @@ msgstr ""
 "      requerido. Si la generación de clave fracasa, por favor compruebe\n"
 "      la documentación de su tarjeta para ver los tamaños posibles.\n"
 
-#: g10/card-util.c:1374 g10/keygen.c:2363 sm/certreqgen-ui.c:179
+#: g10/card-util.c:1375 g10/keygen.c:2363 sm/certreqgen-ui.c:179
 #, c-format
 msgid "What keysize do you want? (%u) "
 msgstr "¿De qué tamaño quiere la clave? (%u) "
 
-#: g10/card-util.c:1384 g10/keygen.c:2286 g10/keygen.c:2318
+#: g10/card-util.c:1385 g10/keygen.c:2286 g10/keygen.c:2318
 #: sm/certreqgen-ui.c:194
 #, c-format
 msgid "rounded up to %u bits\n"
 msgstr "redondeados a %u bits\n"
 
-#: g10/card-util.c:1392 g10/keygen.c:2371 sm/certreqgen-ui.c:184
+#: g10/card-util.c:1393 g10/keygen.c:2371 sm/certreqgen-ui.c:184
 #, c-format
 msgid "%s keysizes must be in the range %u-%u\n"
 msgstr "los tamaños de claves %s deben estar en el rango %u-%u\n"
 
-#: g10/card-util.c:1411
+#: g10/card-util.c:1412
 msgid "Changing card key attribute for: "
 msgstr "Cambiando el atributo de la clave de tarjeta por: "
 
-#: g10/card-util.c:1413
+#: g10/card-util.c:1414
 msgid "Signature key\n"
 msgstr "Clave de firmado\n"
 
-#: g10/card-util.c:1415
+#: g10/card-util.c:1416
 msgid "Encryption key\n"
 msgstr "Clave de cifrado\n"
 
-#: g10/card-util.c:1417
+#: g10/card-util.c:1418
 msgid "Authentication key\n"
 msgstr "Clave de autentificación\n"
 
-#: g10/card-util.c:1419 g10/keygen.c:1926 sm/certreqgen-ui.c:157
+#: g10/card-util.c:1420 g10/keygen.c:1926 sm/certreqgen-ui.c:157
 msgid "Please select what kind of key you want:\n"
 msgstr "Por favor seleccione tipo de clave deseado:\n"
 
-#: g10/card-util.c:1420 sm/certreqgen-ui.c:158
+#: g10/card-util.c:1421 sm/certreqgen-ui.c:158
 #, c-format
 msgid "   (%d) RSA\n"
 msgstr "   (%d) RSA\n"
 
-#: g10/card-util.c:1421
+#: g10/card-util.c:1422
 #, c-format
 msgid "   (%d) ECC\n"
 msgstr "   (%d) ECC\n"
 
-#: g10/card-util.c:1433 g10/card-util.c:1700 g10/card-util.c:1800
-#: g10/keyedit.c:899 g10/keygen.c:1834 g10/keygen.c:1862 g10/keygen.c:1987
+#: g10/card-util.c:1434 g10/card-util.c:1701 g10/card-util.c:1801
+#: g10/keyedit.c:900 g10/keygen.c:1834 g10/keygen.c:1862 g10/keygen.c:1987
 #: g10/keygen.c:2222 g10/keygen.c:2505 g10/revoke.c:838
 msgid "Invalid selection.\n"
 msgstr "Elección inválida.\n"
 
-#: g10/card-util.c:1506
+#: g10/card-util.c:1507
 #, c-format
 msgid "The card will now be re-configured to generate a key of %u bits\n"
 msgstr "Ahora la tarjeta se reconfigurará para generar una clave de %u bits\n"
 
-#: g10/card-util.c:1511
+#: g10/card-util.c:1512
 #, c-format
 msgid "The card will now be re-configured to generate a key of type: %s\n"
 msgstr "Ahora la tarjeta se reconfigurará para generar una clave de tipo: %s\n"
 
-#: g10/card-util.c:1547
+#: g10/card-util.c:1548
 #, c-format
 msgid "error changing key attribute for key %d: %s\n"
 msgstr "error cambiando el atributo de clave de la clave %d: %s\n"
 
-#: g10/card-util.c:1563 g10/card-util.c:2090
+#: g10/card-util.c:1564 g10/card-util.c:2091
 #, c-format
 msgid "error getting card info: %s\n"
 msgstr "error al obtener información de la clave: %s\n"
 
-#: g10/card-util.c:1569 g10/card-util.c:1914 g10/card-util.c:2096
+#: g10/card-util.c:1570 g10/card-util.c:1915 g10/card-util.c:2097
 #, c-format
 msgid "This command is not supported by this card\n"
 msgstr "Esta orden no se puede usar con esta tarjeta\n"
 
-#: g10/card-util.c:1615
+#: g10/card-util.c:1616
 msgid "Make off-card backup of encryption key? (Y/n) "
 msgstr ""
 "¿Hacer copia de seguridad externa a la tarjeta de clave de cifrado? (S/n) "
 
-#: g10/card-util.c:1629
+#: g10/card-util.c:1630
 #, c-format
 msgid "Note: keys are already stored on the card!\n"
 msgstr "NOTA: ¡ya hay claves almacenadas en la tarjeta!\n"
 
-#: g10/card-util.c:1632
+#: g10/card-util.c:1633
 msgid "Replace existing keys? (y/N) "
 msgstr "¿Reemplazar las claves existentes? (s/N) "
 
-#: g10/card-util.c:1644
+#: g10/card-util.c:1645
 #, c-format
 msgid ""
 "Please note that the factory settings of the PINs are\n"
@@ -1975,145 +1993,145 @@ msgstr ""
 "   PIN = '%s'     PIN Administrador = '%s'\n"
 "Debería cambiarlos usando la orden --change-pin\n"
 
-#: g10/card-util.c:1679
+#: g10/card-util.c:1680
 msgid "Please select the type of key to generate:\n"
 msgstr "Por favor seleccione tipo de clave que generar:\n"
 
-#: g10/card-util.c:1681 g10/card-util.c:1771
+#: g10/card-util.c:1682 g10/card-util.c:1772
 msgid "   (1) Signature key\n"
 msgstr "   (1) Clave de firmado\n"
 
-#: g10/card-util.c:1682 g10/card-util.c:1773
+#: g10/card-util.c:1683 g10/card-util.c:1774
 msgid "   (2) Encryption key\n"
 msgstr "   (2) Clave de cifrado\n"
 
-#: g10/card-util.c:1683 g10/card-util.c:1775
+#: g10/card-util.c:1684 g10/card-util.c:1776
 msgid "   (3) Authentication key\n"
 msgstr "   (3) Clave de autentificación\n"
 
-#: g10/card-util.c:1768
+#: g10/card-util.c:1769
 msgid "Please select where to store the key:\n"
 msgstr "Por favor elija donde guardar la clave:\n"
 
-#: g10/card-util.c:1814
+#: g10/card-util.c:1815
 #, c-format
 msgid "KEYTOCARD failed: %s\n"
 msgstr "KEYTOCARD fallido: %s\n"
 
-#: g10/card-util.c:1919
+#: g10/card-util.c:1920
 #, c-format
 msgid "Note: This command destroys all keys stored on the card!\n"
 msgstr ""
 "NOTA: ¡Esta orden destruye todas las claves almacenadas en la tarjeta!\n"
 
-#: g10/card-util.c:1922
+#: g10/card-util.c:1923
 msgid "Continue? (y/N) "
 msgstr "¿Continuar? (s/N) "
 
-#: g10/card-util.c:1927
+#: g10/card-util.c:1928
 msgid "Really do a factory reset? (enter \"yes\") "
 msgstr "¿Realmente quiere volver a los valores de fábrica? (escriba \"sí\") "
 
-#: g10/card-util.c:2113
+#: g10/card-util.c:2114
 #, c-format
 msgid "error for setup KDF: %s\n"
 msgstr "error de la configuración KDF: %s\n"
 
-#: g10/card-util.c:2142 g10/keyedit.c:1259
+#: g10/card-util.c:2143 g10/keyedit.c:1260
 msgid "quit this menu"
 msgstr "salir de este menú"
 
-#: g10/card-util.c:2144
+#: g10/card-util.c:2145
 msgid "show admin commands"
 msgstr "ver órdenes de administrador"
 
-#: g10/card-util.c:2145 g10/keyedit.c:1262
+#: g10/card-util.c:2146 g10/keyedit.c:1263
 msgid "show this help"
 msgstr "muestra esta ayuda"
 
-#: g10/card-util.c:2147
+#: g10/card-util.c:2148
 msgid "list all available data"
 msgstr "listar todos los datos disponibles"
 
-#: g10/card-util.c:2150
+#: g10/card-util.c:2151
 msgid "change card holder's name"
 msgstr "cambiar el nombre del titular de la tarjeta"
 
-#: g10/card-util.c:2151
+#: g10/card-util.c:2152
 msgid "change URL to retrieve key"
 msgstr "cambiar URL de donde obtener la clave"
 
-#: g10/card-util.c:2152
+#: g10/card-util.c:2153
 msgid "fetch the key specified in the card URL"
 msgstr "recuperar la clave especificada en la URL de la tarjeta"
 
-#: g10/card-util.c:2153
+#: g10/card-util.c:2154
 msgid "change the login name"
 msgstr "cambiar nombre de usuario"
 
-#: g10/card-util.c:2154
+#: g10/card-util.c:2155
 msgid "change the language preferences"
 msgstr "cambiar preferencias de idioma"
 
-#: g10/card-util.c:2155
+#: g10/card-util.c:2156
 #, fuzzy
 #| msgid "change card holder's sex"
 msgid "change card holder's salutation"
 msgstr "cambiar sexo del titular de la tarjeta"
 
-#: g10/card-util.c:2157
+#: g10/card-util.c:2158
 msgid "change a CA fingerprint"
 msgstr "cambiar huella digital de una CA"
 
-#: g10/card-util.c:2158
+#: g10/card-util.c:2159
 msgid "toggle the signature force PIN flag"
 msgstr "cambiar estado de la opción forzar firma del PIN"
 
-#: g10/card-util.c:2159
+#: g10/card-util.c:2160
 msgid "generate new keys"
 msgstr "generar nuevas claves"
 
-#: g10/card-util.c:2160
+#: g10/card-util.c:2161
 msgid "menu to change or unblock the PIN"
 msgstr "menú para cambiar o desbloquear el PIN"
 
-#: g10/card-util.c:2161
+#: g10/card-util.c:2162
 msgid "verify the PIN and list all data"
 msgstr "verificar PIN y listar todos los datos"
 
-#: g10/card-util.c:2162
+#: g10/card-util.c:2163
 msgid "unblock the PIN using a Reset Code"
 msgstr "desbloquear PIN usando Código de Reinicio"
 
-#: g10/card-util.c:2163
+#: g10/card-util.c:2164
 msgid "destroy all keys and data"
 msgstr "destruir todas las claves y datos"
 
-#: g10/card-util.c:2164
+#: g10/card-util.c:2165
 msgid "setup KDF for PIN authentication"
 msgstr "configurar KDF para autentificación de PIN"
 
-#: g10/card-util.c:2165
+#: g10/card-util.c:2166
 msgid "change the key attribute"
 msgstr "cambia valores de la clave"
 
-#: g10/card-util.c:2289
+#: g10/card-util.c:2290
 msgid "gpg/card> "
 msgstr "gpg/tarjeta> "
 
-#: g10/card-util.c:2330
+#: g10/card-util.c:2331
 msgid "Admin-only command\n"
 msgstr "Órdenes sólo de administrador\n"
 
-#: g10/card-util.c:2361
+#: g10/card-util.c:2362
 msgid "Admin commands are allowed\n"
 msgstr "Se permiten órdenes de administrador\n"
 
-#: g10/card-util.c:2363
+#: g10/card-util.c:2364
 msgid "Admin commands are not allowed\n"
 msgstr "No se permiten órdenes de administrador\n"
 
-#: g10/card-util.c:2466 g10/keyedit.c:2228
+#: g10/card-util.c:2467 g10/keyedit.c:2229
 msgid "Invalid command  (try \"help\")\n"
 msgstr "Orden inválida (pruebe \"help\")\n"
 
@@ -2122,21 +2140,21 @@ msgstr "Orden inválida (pruebe \"help\")\n"
 msgid "--output doesn't work for this command\n"
 msgstr "--output no funciona con esta orden\n"
 
-#: g10/decrypt.c:247 g10/gpg.c:5083 g10/keyring.c:399 g10/keyring.c:750
+#: g10/decrypt.c:247 g10/gpg.c:5104 g10/keyring.c:399 g10/keyring.c:750
 #, c-format
 msgid "can't open '%s'\n"
 msgstr "no se puede abrir '%s'\n"
 
 #: g10/delkey.c:83 g10/export.c:1947 g10/export.c:2230 g10/export.c:2351
-#: g10/getkey.c:1964 g10/gpg.c:5028 g10/keyedit.c:1444 g10/keyedit.c:2334
-#: g10/keyedit.c:2580 g10/keyedit.c:4543 g10/keylist.c:689 g10/keyserver.c:1259
+#: g10/getkey.c:2108 g10/gpg.c:5049 g10/keyedit.c:1445 g10/keyedit.c:2335
+#: g10/keyedit.c:2581 g10/keyedit.c:4544 g10/keylist.c:689 g10/keyserver.c:1092
 #: g10/revoke.c:230 g10/tofu.c:2165
 #, c-format
 msgid "key \"%s\" not found: %s\n"
 msgstr "clave \"%s\" no encontrada: %s\n"
 
-#: g10/delkey.c:92 g10/export.c:2015 g10/getkey.c:1972 g10/getkey.c:4346
-#: g10/gpg.c:5037 g10/keyedit.c:2307 g10/keyserver.c:1277 g10/revoke.c:236
+#: g10/delkey.c:92 g10/export.c:2015 g10/getkey.c:2116 g10/getkey.c:4517
+#: g10/gpg.c:5058 g10/keyedit.c:2308 g10/keyserver.c:1110 g10/revoke.c:236
 #: g10/revoke.c:663 g10/tofu.c:2173
 #, c-format
 msgid "error reading keyblock: %s\n"
@@ -2194,9 +2212,9 @@ msgstr "clave"
 msgid "subkey"
 msgstr "subclave"
 
-#: g10/delkey.c:299 g10/keyedit.c:2200 g10/keyedit.c:2210 g10/keyedit.c:2387
-#: g10/keyedit.c:2461 g10/keyedit.c:2532 g10/keyedit.c:2757 g10/keyedit.c:2987
-#: g10/keyedit.c:3056 g10/keyedit.c:3207
+#: g10/delkey.c:299 g10/keyedit.c:2201 g10/keyedit.c:2211 g10/keyedit.c:2388
+#: g10/keyedit.c:2462 g10/keyedit.c:2533 g10/keyedit.c:2758 g10/keyedit.c:2988
+#: g10/keyedit.c:3057 g10/keyedit.c:3208
 #, c-format
 msgid "update failed: %s\n"
 msgstr "actualización fallida: %s\n"
@@ -2221,7 +2239,7 @@ msgstr "¡hay una clave secreta para esta clave pública! \"%s\"!\n"
 msgid "use option \"--delete-secret-keys\" to delete it first.\n"
 msgstr "use antes la opción \"--delete-secret-key\" para borrarla.\n"
 
-#: g10/encrypt.c:202 g10/sign.c:1471
+#: g10/encrypt.c:202 g10/sign.c:1470
 #, c-format
 msgid "error creating passphrase: %s\n"
 msgstr "error al crear frase contraseña: %s\n"
@@ -2246,14 +2264,14 @@ msgstr "'%s' ya está comprimido\n"
 msgid "WARNING: '%s' is an empty file\n"
 msgstr "ATENCIÓN '%s' es un fichero vacío\n"
 
-#: g10/encrypt.c:387 g10/encrypt.c:610 g10/decrypt-data.c:260 g10/gpg.c:3901
-#: g10/gpg.c:3941 sm/decrypt.c:364 sm/encrypt.c:415 sm/gpgsm.c:1655
+#: g10/encrypt.c:387 g10/encrypt.c:610 g10/decrypt-data.c:260 g10/gpg.c:3922
+#: g10/gpg.c:3962 sm/decrypt.c:826 sm/encrypt.c:416 sm/gpgsm.c:1555
 #, c-format
 msgid "cipher algorithm '%s' may not be used in %s mode\n"
 msgstr "no se puede usar el cifrado '%s' en modo %s\n"
 
-#: g10/encrypt.c:396 g10/gpg.c:3907 g10/gpg.c:3953 g10/sig-check.c:146
-#: g10/sign.c:391 sm/gpgsm.c:1665 sm/gpgsm.c:1675 sm/sign.c:478 sm/verify.c:506
+#: g10/encrypt.c:396 g10/gpg.c:3928 g10/gpg.c:3974 g10/sig-check.c:146
+#: g10/sign.c:391 sm/gpgsm.c:1565 sm/gpgsm.c:1575 sm/sign.c:478 sm/verify.c:506
 #, c-format
 msgid "digest algorithm '%s' may not be used in %s mode\n"
 msgstr "no puede usar el resumen '%s' en modo %s\n"
@@ -2271,14 +2289,14 @@ msgstr ""
 "AVISO: forzar el cifrado simétrico %s (%d) viola las preferencias\n"
 "del destinatario\n"
 
-#: g10/encrypt.c:640 sm/encrypt.c:490
+#: g10/encrypt.c:640 sm/encrypt.c:491
 #, c-format
 msgid "WARNING: key %s is not suitable for encryption in %s mode\n"
 msgstr ""
 "ATENCIÓN: la clave %s no es adecuada para la encriptación en modo %s\n"
 "\n"
 
-#: g10/encrypt.c:751 g10/sign.c:1163
+#: g10/encrypt.c:751 g10/sign.c:1162
 #, c-format
 msgid ""
 "WARNING: forcing compression algorithm %s (%d) violates recipient "
@@ -2309,12 +2327,12 @@ msgstr "no se puede usar la opción '%s' en modo %s\n"
 msgid "%s encrypted data\n"
 msgstr "datos cifrados %s\n"
 
-#: g10/decrypt-data.c:243 g10/mainproc.c:396
+#: g10/decrypt-data.c:243 g10/mainproc.c:397
 #, c-format
 msgid "encrypted with unknown algorithm %d\n"
 msgstr "cifrado con algoritmo desconocido %d\n"
 
-#: g10/decrypt-data.c:357 g10/decrypt-data.c:410 sm/decrypt.c:130
+#: g10/decrypt-data.c:357 g10/decrypt-data.c:410 sm/decrypt.c:550
 #, c-format
 msgid ""
 "WARNING: message was encrypted with a weak key in the symmetric cipher.\n"
@@ -2331,7 +2349,7 @@ msgstr "problema trabajando con un paquete cifrado\n"
 msgid "no remote program execution supported\n"
 msgstr "no es posible ejecutar programas remotos\n"
 
-#: g10/exec.c:381
+#: g10/exec.c:389
 #, c-format
 msgid ""
 "external program calls are disabled due to unsafe options file permissions\n"
@@ -2339,49 +2357,49 @@ msgstr ""
 "llamadas a programas externos inhabilitadas por permisos inseguros de "
 "ficheros.\n"
 
-#: g10/exec.c:411
+#: g10/exec.c:419
 #, c-format
 msgid "this platform requires temporary files when calling external programs\n"
 msgstr ""
 "esta plataforma necesita ficheros temporales para llamar a programas "
 "externos\n"
 
-#: g10/exec.c:489
+#: g10/exec.c:497
 #, c-format
 msgid "unable to execute program '%s': %s\n"
 msgstr "no se puede ejecutar el programa '%s': %s\n"
 
-#: g10/exec.c:492
+#: g10/exec.c:500
 #, c-format
 msgid "unable to execute shell '%s': %s\n"
 msgstr "no se puede ejecutar el intérprete de órdenes '%s': %s\n"
 
-#: g10/exec.c:583
+#: g10/exec.c:591
 #, c-format
 msgid "system error while calling external program: %s\n"
 msgstr "error del sistema llamando al programa externo: %s\n"
 
-#: g10/exec.c:594 g10/exec.c:661
+#: g10/exec.c:602 g10/exec.c:669
 #, c-format
 msgid "unnatural exit of external program\n"
 msgstr "el programa externo finalizó anormalmente\n"
 
-#: g10/exec.c:609
+#: g10/exec.c:617
 #, c-format
 msgid "unable to execute external program\n"
 msgstr "no se puede ejecutar el programa externo\n"
 
-#: g10/exec.c:626
+#: g10/exec.c:634
 #, c-format
 msgid "unable to read external program response: %s\n"
 msgstr "no se puede leer la respuesta del programa externo: %s\n"
 
-#: g10/exec.c:672 g10/exec.c:679
+#: g10/exec.c:680 g10/exec.c:687
 #, c-format
 msgid "WARNING: unable to remove tempfile (%s) '%s': %s\n"
 msgstr "AVISO: no se puede borrar fichero temporal (%s) '%s': %s\n"
 
-#: g10/exec.c:684
+#: g10/exec.c:692
 #, c-format
 msgid "WARNING: unable to remove temp directory '%s': %s\n"
 msgstr "AVISO: no se puede borrar el directorio temporal '%s': %s\n"
@@ -2414,8 +2432,8 @@ msgstr "usar el formato de backup de claves GnuPG"
 msgid " - skipped"
 msgstr " - omitido"
 
-#: g10/export.c:1324 g10/import.c:2073 g10/openfile.c:200 g10/openfile.c:294
-#: g10/sign.c:1013 g10/sign.c:1327
+#: g10/export.c:1324 g10/import.c:2085 g10/openfile.c:200 g10/openfile.c:294
+#: g10/sign.c:1012 g10/sign.c:1326
 #, c-format
 msgid "writing to '%s'\n"
 msgstr "escribiendo en '%s'\n"
@@ -2450,264 +2468,264 @@ msgstr "error al crear '%s': %s\n"
 msgid "[User ID not found]"
 msgstr "[ID de usuario no encontrado]"
 
-#: g10/getkey.c:1297
+#: g10/getkey.c:1441
 #, c-format
 msgid "automatically retrieved '%s' via %s\n"
 msgstr "'%s' recuperado automáticamente vía %s\n"
 
-#: g10/getkey.c:1303
+#: g10/getkey.c:1447
 #, c-format
 msgid "error retrieving '%s' via %s: %s\n"
 msgstr "error recuperando '%s' vía %s: %s\n"
 
-#: g10/getkey.c:1305
+#: g10/getkey.c:1449
 msgid "No fingerprint"
 msgstr "No hay huella digital"
 
-#: g10/getkey.c:1526
+#: g10/getkey.c:1670
 #, c-format
 msgid "checking for a fresh copy of an expired key via %s\n"
 msgstr ""
 
-#: g10/getkey.c:1941 g10/revoke.c:655 g10/revoke.c:720
+#: g10/getkey.c:2085 g10/revoke.c:655 g10/revoke.c:720
 #, c-format
 msgid "secret key \"%s\" not found: %s\n"
 msgstr "clave secreta \"%s\" no encontrada: %s\n"
 
-#: g10/getkey.c:1944 g10/pkclist.c:988
+#: g10/getkey.c:2088 g10/pkclist.c:988
 #, c-format
 msgid "(check argument of option '%s')\n"
 msgstr "(revisar el parámetro de la opción '%s')\n"
 
-#: g10/getkey.c:2020
+#: g10/getkey.c:2164
 #, c-format
 msgid "Warning: not using '%s' as default key: %s\n"
 msgstr "Advertencia: no estamos usando '%s' como clave predeterminada: %s\n"
 
-#: g10/getkey.c:2028
+#: g10/getkey.c:2172
 #, c-format
 msgid "using \"%s\" as default secret key for signing\n"
 msgstr "usando \"%s\" como clave secreta predeterminada para firmar\n"
 
-#: g10/getkey.c:2035
+#: g10/getkey.c:2179
 #, c-format
 msgid "all values passed to '%s' ignored\n"
 msgstr "todos los valores pasados a '%s' ignorados\n"
 
-#: g10/getkey.c:2880
+#: g10/getkey.c:3024
 #, c-format
 msgid "Invalid key %s made valid by --allow-non-selfsigned-uid\n"
 msgstr "Clave %s inválida hecha válida mediante --allow-non-selfsigned-uid\n"
 
-#: g10/getkey.c:3730
+#: g10/getkey.c:3874
 #, c-format
 msgid "using subkey %s instead of primary key %s\n"
 msgstr "usando subclave %s en vez de clave primaria %s\n"
 
-#: g10/getkey.c:4275 g10/gpg.c:2107
+#: g10/getkey.c:4446 g10/gpg.c:2120
 #, c-format
 msgid "valid values for option '%s':\n"
 msgstr "parámetros válidos para la opción '%s':\n"
 
-#: g10/gpg.c:442 sm/gpgsm.c:206
+#: g10/gpg.c:439 sm/gpgsm.c:207
 msgid "make a signature"
 msgstr "crea una firma"
 
-#: g10/gpg.c:443
+#: g10/gpg.c:440
 msgid "make a clear text signature"
 msgstr "crea una firma en texto claro"
 
-#: g10/gpg.c:445 sm/gpgsm.c:208
+#: g10/gpg.c:442 sm/gpgsm.c:209
 msgid "make a detached signature"
 msgstr "crea una firma separada"
 
-#: g10/gpg.c:446 sm/gpgsm.c:209
+#: g10/gpg.c:443 sm/gpgsm.c:210
 msgid "encrypt data"
 msgstr "cifra datos"
 
-#: g10/gpg.c:448
+#: g10/gpg.c:445
 msgid "encryption only with symmetric cipher"
 msgstr "cifra sólo con un cifrado simétrico"
 
-#: g10/gpg.c:450 sm/gpgsm.c:211
+#: g10/gpg.c:447 sm/gpgsm.c:212
 msgid "decrypt data (default)"
 msgstr "descifra datos (predefinido)"
 
-#: g10/gpg.c:452 sm/gpgsm.c:212
+#: g10/gpg.c:449 sm/gpgsm.c:213
 msgid "verify a signature"
 msgstr "verifica una firma"
 
-#: g10/gpg.c:454 sm/gpgsm.c:213
+#: g10/gpg.c:451 sm/gpgsm.c:214
 msgid "list keys"
 msgstr "lista claves"
 
-#: g10/gpg.c:456
+#: g10/gpg.c:453
 msgid "list keys and signatures"
 msgstr "lista claves y firmas"
 
-#: g10/gpg.c:459
+#: g10/gpg.c:456
 msgid "list and check key signatures"
 msgstr "lista y comprueba firmas de las claves"
 
-#: g10/gpg.c:461 sm/gpgsm.c:218
+#: g10/gpg.c:458 sm/gpgsm.c:219
 msgid "list keys and fingerprints"
 msgstr "lista claves y huellas dactilares"
 
-#: g10/gpg.c:462 sm/gpgsm.c:216
+#: g10/gpg.c:459 sm/gpgsm.c:217
 msgid "list secret keys"
 msgstr "lista claves secretas"
 
-#: g10/gpg.c:464 sm/gpgsm.c:219
+#: g10/gpg.c:461 sm/gpgsm.c:220
 msgid "generate a new key pair"
 msgstr "genera un nuevo par de claves"
 
-#: g10/gpg.c:467
+#: g10/gpg.c:464
 msgid "quickly generate a new key pair"
 msgstr "genera un nuevo par de claves en modo rápido"
 
-#: g10/gpg.c:470
+#: g10/gpg.c:467
 msgid "quickly add a new user-id"
 msgstr "añade una nueva id de usuario en modo rápido"
 
-#: g10/gpg.c:475
+#: g10/gpg.c:472
 msgid "quickly revoke a user-id"
 msgstr "revoca una id de usuario en modo rápido"
 
-#: g10/gpg.c:478
+#: g10/gpg.c:475
 msgid "quickly set a new expiration date"
 msgstr "cambia la fecha de caducidad de modo rápido"
 
-#: g10/gpg.c:481
+#: g10/gpg.c:478
 msgid "full featured key pair generation"
 msgstr "generación de claves con todas las funcionalidades"
 
-#: g10/gpg.c:484
+#: g10/gpg.c:481
 msgid "generate a revocation certificate"
 msgstr "genera un certificado de revocación"
 
-#: g10/gpg.c:487 sm/gpgsm.c:222
+#: g10/gpg.c:484 sm/gpgsm.c:223
 msgid "remove keys from the public keyring"
 msgstr "elimina claves del anillo público"
 
-#: g10/gpg.c:489
+#: g10/gpg.c:486
 msgid "remove keys from the secret keyring"
 msgstr "elimina claves del anillo privado"
 
-#: g10/gpg.c:491
+#: g10/gpg.c:488
 msgid "quickly sign a key"
 msgstr "firma una clave en modo rápido"
 
-#: g10/gpg.c:493
+#: g10/gpg.c:490
 msgid "quickly sign a key locally"
 msgstr "firma una clave localmente en modo rápido"
 
-#: g10/gpg.c:495
+#: g10/gpg.c:492
 #, fuzzy
 #| msgid "quickly revoke a user-id"
 msgid "quickly revoke a key signature"
 msgstr "revoca una id de usuario en modo rápido"
 
-#: g10/gpg.c:496
+#: g10/gpg.c:493
 msgid "sign a key"
 msgstr "firma la clave"
 
-#: g10/gpg.c:497
+#: g10/gpg.c:494
 msgid "sign a key locally"
 msgstr "firma la clave localmente"
 
-#: g10/gpg.c:498
+#: g10/gpg.c:495
 msgid "sign or edit a key"
 msgstr "firma o modifica una clave"
 
-#: g10/gpg.c:500 sm/gpgsm.c:240
+#: g10/gpg.c:497 sm/gpgsm.c:241
 msgid "change a passphrase"
 msgstr "cambia una frase contraseña"
 
-#: g10/gpg.c:504
+#: g10/gpg.c:501
 msgid "export keys"
 msgstr "exporta claves"
 
-#: g10/gpg.c:505
+#: g10/gpg.c:502
 msgid "export keys to a keyserver"
 msgstr "exporta claves a un servidor de claves"
 
-#: g10/gpg.c:506
+#: g10/gpg.c:503
 msgid "import keys from a keyserver"
 msgstr "importa claves desde un servidor de claves"
 
-#: g10/gpg.c:509
+#: g10/gpg.c:506
 msgid "search for keys on a keyserver"
 msgstr "busca claves en un servidor de claves"
 
-#: g10/gpg.c:511
+#: g10/gpg.c:508
 msgid "update all keys from a keyserver"
 msgstr "actualiza todas las claves desde un servidor de claves"
 
-#: g10/gpg.c:519
+#: g10/gpg.c:516
 msgid "import/merge keys"
 msgstr "importa/fusiona claves"
 
-#: g10/gpg.c:522
+#: g10/gpg.c:519
 msgid "print the card status"
 msgstr "escribir estado de la tarjeta"
 
-#: g10/gpg.c:523
+#: g10/gpg.c:520
 msgid "change data on a card"
 msgstr "cambiar datos en la tarjeta"
 
-#: g10/gpg.c:525
+#: g10/gpg.c:522
 msgid "change a card's PIN"
 msgstr "cambiar el PIN de la tarjeta"
 
-#: g10/gpg.c:537
+#: g10/gpg.c:534
 msgid "update the trust database"
 msgstr "actualiza la base de datos de confianza"
 
-#: g10/gpg.c:546
+#: g10/gpg.c:543
 msgid "print message digests"
 msgstr "imprime resúmenes de mensaje"
 
-#: g10/gpg.c:549 sm/gpgsm.c:235
+#: g10/gpg.c:546 sm/gpgsm.c:236
 msgid "run in server mode"
 msgstr "ejecutar en modo servidor"
 
-#: g10/gpg.c:551
+#: g10/gpg.c:548
 msgid "|VALUE|set the TOFU policy for a key"
 msgstr "|VALUE|decide la política TOFU de una clave"
 
-#: g10/gpg.c:555 sm/gpgsm.c:254
+#: g10/gpg.c:552 sm/gpgsm.c:255
 msgid "create ascii armored output"
 msgstr "crea una salida ascii con armadura"
 
-#: g10/gpg.c:558 sm/gpgsm.c:271
+#: g10/gpg.c:555 sm/gpgsm.c:272
 msgid "|USER-ID|encrypt for USER-ID"
 msgstr "|USER-ID|cifra para ID-USUARIO"
 
-#: g10/gpg.c:574 sm/gpgsm.c:307
+#: g10/gpg.c:571 sm/gpgsm.c:308
 msgid "|USER-ID|use USER-ID to sign or decrypt"
 msgstr "|USER-ID|usa este identificador para firmar o descifrar"
 
-#: g10/gpg.c:580
+#: g10/gpg.c:577
 msgid "|N|set compress level to N (0 disables)"
 msgstr "|N|nivel de compresión N (0 desactiva)"
 
-#: g10/gpg.c:587
+#: g10/gpg.c:584
 msgid "use canonical text mode"
 msgstr "usa modo de texto canónico"
 
-#: g10/gpg.c:604 g10/gpgv.c:82 sm/gpgsm.c:309
+#: g10/gpg.c:601 g10/gpgv.c:82 sm/gpgsm.c:310
 msgid "|FILE|write output to FILE"
 msgstr "|FILE|volcar salida en FICHERO"
 
-#: g10/gpg.c:614 kbx/kbxutil.c:90 sm/gpgsm.c:321 tools/gpgconf.c:110
+#: g10/gpg.c:611 kbx/kbxutil.c:90 sm/gpgsm.c:322 tools/gpgconf.c:110
 msgid "do not make any changes"
 msgstr "no hace ningún cambio"
 
-#: g10/gpg.c:615
+#: g10/gpg.c:612
 msgid "prompt before overwriting"
 msgstr "preguntar antes de sobreescribir"
 
-#: g10/gpg.c:665
+#: g10/gpg.c:662
 msgid "use strict OpenPGP behavior"
 msgstr "usar estilo OpenPGP estricto"
 
@@ -2715,7 +2733,7 @@ msgstr "usar estilo OpenPGP estricto"
 # página man -> página de manual
 # Vale. ¿del manual mejor?
 # Hmm, no sé, en man-db se usa "de". La verdad es que no lo he pensado.
-#: g10/gpg.c:692 sm/gpgsm.c:364
+#: g10/gpg.c:689 sm/gpgsm.c:367
 msgid ""
 "@\n"
 "(See the man page for a complete listing of all commands and options)\n"
@@ -2723,7 +2741,7 @@ msgstr ""
 "@\n"
 "(Véase en la página del manual la lista completo de órdenes y opciones)\n"
 
-#: g10/gpg.c:695
+#: g10/gpg.c:692
 msgid ""
 "@\n"
 "Examples:\n"
@@ -2743,11 +2761,11 @@ msgstr ""
 " --list-keys [nombres]      muestra las claves\n"
 " --fingerprint [nombres]    muestra las huellas dactilares\n"
 
-#: g10/gpg.c:1092
+#: g10/gpg.c:1096
 msgid "Usage: @GPG@ [options] [files] (-h for help)"
 msgstr "Uso: @GPG@ [opciones] [ficheros] (-h para ayuda)"
 
-#: g10/gpg.c:1095
+#: g10/gpg.c:1099
 msgid ""
 "Syntax: @GPG@ [options] [files]\n"
 "Sign, check, encrypt or decrypt\n"
@@ -2757,7 +2775,7 @@ msgstr ""
 "firma, comprueba, cifra o descifra\n"
 "la operación por defecto depende de los datos de entrada\n"
 
-#: g10/gpg.c:1106 sm/gpgsm.c:591
+#: g10/gpg.c:1110 sm/gpgsm.c:594
 msgid ""
 "\n"
 "Supported algorithms:\n"
@@ -2765,73 +2783,73 @@ msgstr ""
 "\n"
 "Algoritmos disponibles:\n"
 
-#: g10/gpg.c:1109
+#: g10/gpg.c:1113
 msgid "Pubkey: "
 msgstr "Clave pública: "
 
-#: g10/gpg.c:1116 g10/keyedit.c:3281
+#: g10/gpg.c:1120 g10/keyedit.c:3282
 msgid "Cipher: "
 msgstr "Cifrado: "
 
-#: g10/gpg.c:1123
+#: g10/gpg.c:1127
 msgid "Hash: "
 msgstr "Resumen: "
 
-#: g10/gpg.c:1130 g10/keyedit.c:3347
+#: g10/gpg.c:1134 g10/keyedit.c:3348
 msgid "Compression: "
 msgstr "Compresión: "
 
-#: g10/gpg.c:1199 sm/gpgsm.c:665
+#: g10/gpg.c:1207 sm/gpgsm.c:668
 #, c-format
 msgid "usage: %s [options] %s\n"
 msgstr "uso: %s [opciones] %s\n"
 
-#: g10/gpg.c:1388 sm/gpgsm.c:754
+#: g10/gpg.c:1396 sm/gpgsm.c:761
 #, c-format
 msgid "conflicting commands\n"
 msgstr "órdenes incompatibles\n"
 
-#: g10/gpg.c:1406
+#: g10/gpg.c:1414
 #, c-format
 msgid "no = sign found in group definition '%s'\n"
 msgstr "no se encontró el signo = en la definición de grupo '%s'\n"
 
-#: g10/gpg.c:1604
+#: g10/gpg.c:1612
 #, c-format
 msgid "WARNING: unsafe ownership on homedir '%s'\n"
 msgstr "AVISO: propiedad insegura del directorio personal '%s'\n"
 
-#: g10/gpg.c:1607
+#: g10/gpg.c:1615
 #, c-format
 msgid "WARNING: unsafe ownership on configuration file '%s'\n"
 msgstr "AVISO: propiedad insegura del fichero de configuración '%s'\n"
 
-#: g10/gpg.c:1610
+#: g10/gpg.c:1618
 #, c-format
 msgid "WARNING: unsafe ownership on extension '%s'\n"
 msgstr "AVISO: propiedad insegura de la extensión '%s'\n"
 
-#: g10/gpg.c:1616
+#: g10/gpg.c:1624
 #, c-format
 msgid "WARNING: unsafe permissions on homedir '%s'\n"
 msgstr "AVISO: permisos inseguros del directorio personal '%s'\n"
 
-#: g10/gpg.c:1619
+#: g10/gpg.c:1627
 #, c-format
 msgid "WARNING: unsafe permissions on configuration file '%s'\n"
 msgstr "AVISO: permisos inseguros del fichero de configuración '%s'\n"
 
-#: g10/gpg.c:1622
+#: g10/gpg.c:1630
 #, c-format
 msgid "WARNING: unsafe permissions on extension '%s'\n"
 msgstr "AVISO: permisos inseguros de la extensión '%s'\n"
 
-#: g10/gpg.c:1628
+#: g10/gpg.c:1636
 #, c-format
 msgid "WARNING: unsafe enclosing directory ownership on homedir '%s'\n"
 msgstr "AVISO: propiedad insegura del directorio contenedor de '%s'\n"
 
-#: g10/gpg.c:1631
+#: g10/gpg.c:1639
 #, c-format
 msgid ""
 "WARNING: unsafe enclosing directory ownership on configuration file '%s'\n"
@@ -2839,18 +2857,18 @@ msgstr ""
 "AVISO: propiedad insegura del directorio contenedor del fichero de\n"
 "configuración '%s'\n"
 
-#: g10/gpg.c:1634
+#: g10/gpg.c:1642
 #, c-format
 msgid "WARNING: unsafe enclosing directory ownership on extension '%s'\n"
 msgstr ""
 "AVISO: propiedad insegura del directorio contenedor de la extensión '%s'\n"
 
-#: g10/gpg.c:1640
+#: g10/gpg.c:1648
 #, c-format
 msgid "WARNING: unsafe enclosing directory permissions on homedir '%s'\n"
 msgstr "AVISO: permisos inseguros del directorio contenedor de '%s'\n"
 
-#: g10/gpg.c:1643
+#: g10/gpg.c:1651
 #, c-format
 msgid ""
 "WARNING: unsafe enclosing directory permissions on configuration file '%s'\n"
@@ -2858,425 +2876,425 @@ msgstr ""
 "AVISO: permisos inseguros del directorio contenedor del fichero de\n"
 "configuración '%s'\n"
 
-#: g10/gpg.c:1646
+#: g10/gpg.c:1654
 #, c-format
 msgid "WARNING: unsafe enclosing directory permissions on extension '%s'\n"
 msgstr ""
 "AVISO: permisos inseguros del directorio contenedor de la extensión '%s'\n"
 
-#: g10/gpg.c:1862
+#: g10/gpg.c:1870
 #, c-format
 msgid "unknown configuration item '%s'\n"
 msgstr "artículo de configuración desconocido '%s'\n"
 
-#: g10/gpg.c:1979
+#: g10/gpg.c:1992
 msgid "display photo IDs during key listings"
 msgstr "mostrar foto IDs al listar claves"
 
-#: g10/gpg.c:1981
+#: g10/gpg.c:1994
 msgid "show key usage information during key listings"
 msgstr "mostrar información de uso de las claves al listarlas"
 
-#: g10/gpg.c:1983
+#: g10/gpg.c:1996
 msgid "show policy URLs during signature listings"
 msgstr "mostrar URLS de política al listar firmas"
 
-#: g10/gpg.c:1985
+#: g10/gpg.c:1998
 msgid "show all notations during signature listings"
 msgstr "mostrar todas las notaciones al listar firmas"
 
-#: g10/gpg.c:1987
+#: g10/gpg.c:2000
 msgid "show IETF standard notations during signature listings"
 msgstr "mostrar notaciones estándar IETF al listar firmas"
 
-#: g10/gpg.c:1991
+#: g10/gpg.c:2004
 msgid "show user-supplied notations during signature listings"
 msgstr "mostrar notaciones personalizadas al listar firmas"
 
-#: g10/gpg.c:1993
+#: g10/gpg.c:2006
 msgid "show preferred keyserver URLs during signature listings"
 msgstr "mostrar URL del servidor de claves preferido al listar firmas"
 
-#: g10/gpg.c:1995
+#: g10/gpg.c:2008
 msgid "show user ID validity during key listings"
 msgstr "mostrar validez de la ID de usuario al listar claves"
 
-#: g10/gpg.c:1997
+#: g10/gpg.c:2010
 msgid "show revoked and expired user IDs in key listings"
 msgstr "mostar IDs de usuario revocados y caducados al listar firmas"
 
-#: g10/gpg.c:1999
+#: g10/gpg.c:2012
 msgid "show revoked and expired subkeys in key listings"
 msgstr "mostrar subclaves revocadas y expiradas al listar claves"
 
-#: g10/gpg.c:2001
+#: g10/gpg.c:2014
 msgid "show the keyring name in key listings"
 msgstr "mostrar nombre de los anillos de claves al listar claves"
 
-#: g10/gpg.c:2003
+#: g10/gpg.c:2016
 msgid "show expiration dates during signature listings"
 msgstr "mostrar fechas de caducidad al listar firmas"
 
-#: g10/gpg.c:2118
+#: g10/gpg.c:2131
 #, c-format
 msgid "unknown TOFU policy '%s'\n"
 msgstr "política TOFU desconocida '%s'\n"
 
-#: g10/gpg.c:2120
+#: g10/gpg.c:2133
 #, c-format
 msgid "(use \"help\" to list choices)\n"
 msgstr "(usa \"ayuda\" para listar las opciones)\n"
 
-#: g10/gpg.c:2840 g10/gpg.c:3671 g10/gpg.c:3683
+#: g10/gpg.c:2856 g10/gpg.c:3691 g10/gpg.c:3703
 #, c-format
 msgid "Note: %s is not for normal use!\n"
 msgstr "NOTA: ¡%s no es para uso normal!\n"
 
-#: g10/gpg.c:3017 g10/gpg.c:3029
+#: g10/gpg.c:3033 g10/gpg.c:3045
 #, c-format
 msgid "'%s' is not a valid signature expiration\n"
 msgstr "'%s' no es una fecha de caducidad de firma válida\n"
 
-#: g10/gpg.c:3051
+#: g10/gpg.c:3067
 #, c-format
 msgid "\"%s\" is not a proper mail address\n"
 msgstr "\"%s\" no es una dirección de email válida\n"
 
-#: g10/gpg.c:3083 sm/gpgsm.c:1177
+#: g10/gpg.c:3099 sm/gpgsm.c:1091
 #, c-format
 msgid "invalid pinentry mode '%s'\n"
 msgstr "modo de entrada de pin inválido '%s'\n"
 
-#: g10/gpg.c:3089 sm/gpgsm.c:1183
+#: g10/gpg.c:3105 sm/gpgsm.c:1097
 #, c-format
 msgid "invalid request origin '%s'\n"
 msgstr "origen incorrecto de la consulta '%s'\n"
 
-#: g10/gpg.c:3143
+#: g10/gpg.c:3159
 #, c-format
 msgid "'%s' is not a valid character set\n"
 msgstr "'%s' no es un juego de caracteres válido\n"
 
-#: g10/gpg.c:3165 g10/gpg.c:3375 g10/keyedit.c:5281
+#: g10/gpg.c:3181 g10/gpg.c:3395 g10/keyedit.c:5282
 #, c-format
 msgid "could not parse keyserver URL\n"
 msgstr "no se puede interpretar la URL del servidor de claves\n"
 
-#: g10/gpg.c:3183
+#: g10/gpg.c:3199
 #, c-format
 msgid "%s:%d: invalid keyserver options\n"
 msgstr "%s:%d: opciones del servidor de claves inválidas\n"
 
-#: g10/gpg.c:3186
+#: g10/gpg.c:3202
 #, c-format
 msgid "invalid keyserver options\n"
 msgstr "opciones del servidor de claves inválidas\n"
 
-#: g10/gpg.c:3193
+#: g10/gpg.c:3209
 #, c-format
 msgid "%s:%d: invalid import options\n"
 msgstr "%s:%d: opciones de importación inválidas\n"
 
-#: g10/gpg.c:3196
+#: g10/gpg.c:3212
 #, c-format
 msgid "invalid import options\n"
 msgstr "opciones de importación inválidas\n"
 
-#: g10/gpg.c:3202 g10/gpg.c:3217
+#: g10/gpg.c:3218 g10/gpg.c:3233
 #, c-format
 msgid "invalid filter option: %s\n"
 msgstr "opción de filtro inválida: %s\n"
 
-#: g10/gpg.c:3208
+#: g10/gpg.c:3224
 #, c-format
 msgid "%s:%d: invalid export options\n"
 msgstr "%s:%d: opciones de exportación inválidas\n"
 
-#: g10/gpg.c:3211
+#: g10/gpg.c:3227
 #, c-format
 msgid "invalid export options\n"
 msgstr "opciones de exportación inválidas\n"
 
-#: g10/gpg.c:3223
+#: g10/gpg.c:3239
 #, c-format
 msgid "%s:%d: invalid list options\n"
 msgstr "%s:%d: lista de opciones inválida\n"
 
-#: g10/gpg.c:3226
+#: g10/gpg.c:3242
 #, c-format
 msgid "invalid list options\n"
 msgstr "lista de opciones inválida\n"
 
-#: g10/gpg.c:3234
+#: g10/gpg.c:3250
 msgid "display photo IDs during signature verification"
 msgstr "mostrar foto IDs al verificar firmas"
 
-#: g10/gpg.c:3236
+#: g10/gpg.c:3252
 msgid "show policy URLs during signature verification"
 msgstr "mostrar URLs de política al verificar firmas"
 
-#: g10/gpg.c:3238
+#: g10/gpg.c:3254
 msgid "show all notations during signature verification"
 msgstr "mostrar todas las notaciones al verificar firmas"
 
-#: g10/gpg.c:3240
+#: g10/gpg.c:3256
 msgid "show IETF standard notations during signature verification"
 msgstr "mostrar notaciones estándar IETF al verificar firmas"
 
-#: g10/gpg.c:3244
+#: g10/gpg.c:3260
 msgid "show user-supplied notations during signature verification"
 msgstr "mostrar notaciones personalizadas al verificar firmas"
 
-#: g10/gpg.c:3246
+#: g10/gpg.c:3262
 msgid "show preferred keyserver URLs during signature verification"
 msgstr "mostrar URLs del servidor de claves preferido al verificar firmas"
 
-#: g10/gpg.c:3248
+#: g10/gpg.c:3264
 msgid "show user ID validity during signature verification"
 msgstr "mostrar validez del ID de usuario al verificar firmas"
 
-#: g10/gpg.c:3250
+#: g10/gpg.c:3266
 msgid "show revoked and expired user IDs in signature verification"
 msgstr "mostrar IDs de usuario revocados y caducados al verificar firmas"
 
-#: g10/gpg.c:3252
+#: g10/gpg.c:3268
 msgid "show only the primary user ID in signature verification"
 msgstr "mostrar solo ID primario de usuario al verificar firmas"
 
-#: g10/gpg.c:3254
+#: g10/gpg.c:3270
 msgid "validate signatures with PKA data"
 msgstr "validar firmas con datos PKA"
 
-#: g10/gpg.c:3256
+#: g10/gpg.c:3272
 msgid "elevate the trust of signatures with valid PKA data"
 msgstr "aumentar confianza en las firmas con datos válidos PKA"
 
-#: g10/gpg.c:3263
+#: g10/gpg.c:3279
 #, c-format
 msgid "%s:%d: invalid verify options\n"
 msgstr "%s:%d: opciones de verificación inválidas\n"
 
-#: g10/gpg.c:3266
+#: g10/gpg.c:3282
 #, c-format
 msgid "invalid verify options\n"
 msgstr "opciones de verificación inválidas\n"
 
-#: g10/gpg.c:3273
+#: g10/gpg.c:3289
 #, c-format
 msgid "unable to set exec-path to %s\n"
 msgstr "imposible establecer camino de ejecutables %s\n"
 
-#: g10/gpg.c:3478
+#: g10/gpg.c:3498
 #, c-format
 msgid "%s:%d: invalid auto-key-locate list\n"
 msgstr "%s:%d: lista de auto-localización de claves inválida\n"
 
-#: g10/gpg.c:3481
+#: g10/gpg.c:3501
 #, c-format
 msgid "invalid auto-key-locate list\n"
 msgstr "lista de auto-localización de claves inválida\n"
 
-#: g10/gpg.c:3653 sm/gpgsm.c:1541
+#: g10/gpg.c:3673 sm/gpgsm.c:1441
 #, c-format
 msgid "WARNING: program may create a core file!\n"
 msgstr "ATENCIÓN: ¡el programa podría volcar un fichero core!\n"
 
-#: g10/gpg.c:3664
+#: g10/gpg.c:3684
 #, c-format
 msgid "WARNING: %s overrides %s\n"
 msgstr "AVISO: %s sustituye a %s\n"
 
-#: g10/gpg.c:3673
+#: g10/gpg.c:3693
 #, c-format
 msgid "%s not allowed with %s!\n"
 msgstr "¡%s no permitido con %s!\n"
 
-#: g10/gpg.c:3676
+#: g10/gpg.c:3696
 #, c-format
 msgid "%s makes no sense with %s!\n"
 msgstr "¡%s no tiene sentido con %s!\n"
 
-#: g10/gpg.c:3691 sm/gpgsm.c:1558 dirmngr/dirmngr.c:1082
+#: g10/gpg.c:3711 sm/gpgsm.c:1458 dirmngr/dirmngr.c:1117
 #, c-format
 msgid "WARNING: running with faked system time: "
 msgstr "AVISO: ejecutándose con hora del sistema falsificada "
 
-#: g10/gpg.c:3712
+#: g10/gpg.c:3732
 #, c-format
 msgid "will not run with insecure memory due to %s\n"
 msgstr "no se ejecutará en memoria insegura por %s\n"
 
-#: g10/gpg.c:3747 g10/gpg.c:3771 sm/gpgsm.c:1625
+#: g10/gpg.c:3767 g10/gpg.c:3791 sm/gpgsm.c:1525
 #, c-format
 msgid "selected cipher algorithm is invalid\n"
 msgstr "el algoritmo de cifrado seleccionado es inválido\n"
 
-#: g10/gpg.c:3759
+#: g10/gpg.c:3779
 #, c-format
 msgid "selected compression algorithm is invalid\n"
 msgstr "el algoritmo de compresión seleccionado es inválido\n"
 
-#: g10/gpg.c:3765
+#: g10/gpg.c:3785
 #, c-format
 msgid "selected certification digest algorithm is invalid\n"
 msgstr "el algoritmo de certificación por resumen elegido es inválido\n"
 
-#: g10/gpg.c:3780
+#: g10/gpg.c:3800
 #, c-format
 msgid "completes-needed must be greater than 0\n"
 msgstr "completes-needed debe ser mayor que 0\n"
 
-#: g10/gpg.c:3782
+#: g10/gpg.c:3802
 #, c-format
 msgid "marginals-needed must be greater than 1\n"
 msgstr "marginals-needed debe ser mayor que 1\n"
 
-#: g10/gpg.c:3784
+#: g10/gpg.c:3804
 #, c-format
 msgid "max-cert-depth must be in the range from 1 to 255\n"
 msgstr "max-cert-depth debe estar en el rango de 1 a 255\n"
 
-#: g10/gpg.c:3786
+#: g10/gpg.c:3806
 #, c-format
 msgid "invalid default-cert-level; must be 0, 1, 2, or 3\n"
 msgstr "default-cert-level inválido; debe ser 0, 1, 2, ó 3\n"
 
-#: g10/gpg.c:3788
+#: g10/gpg.c:3808
 #, c-format
 msgid "invalid min-cert-level; must be 1, 2, or 3\n"
 msgstr "min-cert-level inválido; debe ser 0, 1, 2, ó 3\n"
 
-#: g10/gpg.c:3791
+#: g10/gpg.c:3812
 #, c-format
 msgid "Note: simple S2K mode (0) is strongly discouraged\n"
 msgstr "NOTA: el modo S2K simple (0) no es nada recomendable\n"
 
-#: g10/gpg.c:3795
+#: g10/gpg.c:3816
 #, c-format
 msgid "invalid S2K mode; must be 0, 1 or 3\n"
 msgstr "modo S2K incorrecto; debe ser 0, 1 o 3\n"
 
-#: g10/gpg.c:3802
+#: g10/gpg.c:3823
 #, c-format
 msgid "invalid default preferences\n"
 msgstr "preferencias por defecto inválidas\n"
 
-#: g10/gpg.c:3806
+#: g10/gpg.c:3827
 #, c-format
 msgid "invalid personal cipher preferences\n"
 msgstr "preferencias personales de cifrado inválidas\n"
 
-#: g10/gpg.c:3810
+#: g10/gpg.c:3831
 #, c-format
 msgid "invalid personal digest preferences\n"
 msgstr "preferencias personales de algoritmo de resumen inválidas\n"
 
-#: g10/gpg.c:3814
+#: g10/gpg.c:3835
 #, c-format
 msgid "invalid personal compress preferences\n"
 msgstr "preferencias personales de compresión inválidas\n"
 
-#: g10/gpg.c:3850
+#: g10/gpg.c:3871
 #, c-format
 msgid "%s does not yet work with %s\n"
 msgstr "%s aún no funciona con %s\n"
 
-#: g10/gpg.c:3913
+#: g10/gpg.c:3934
 #, c-format
 msgid "compression algorithm '%s' may not be used in %s mode\n"
 msgstr "no puede usar la compresión '%s' en modo %s\n"
 
-#: g10/gpg.c:4057
+#: g10/gpg.c:4078
 #, c-format
 msgid "failed to initialize the TrustDB: %s\n"
 msgstr "inicialización de la base de datos de confianza fallida: %s\n"
 
-#: g10/gpg.c:4069
+#: g10/gpg.c:4090
 #, c-format
 msgid "WARNING: recipients (-r) given without using public key encryption\n"
 msgstr "AVISO: se indicaron receptores (-r) sin clave pública de cifrado\n"
 
-#: g10/gpg.c:4141
+#: g10/gpg.c:4162
 #, c-format
 msgid "symmetric encryption of '%s' failed: %s\n"
 msgstr "el cifrado simétrico de '%s' falló: %s\n"
 
-#: g10/gpg.c:4170
+#: g10/gpg.c:4191
 #, c-format
 msgid "you cannot use --symmetric --encrypt with --s2k-mode 0\n"
 msgstr "no puede usar --symetric --encrypt con --s2k-mode 0\n"
 
-#: g10/gpg.c:4173
+#: g10/gpg.c:4194
 #, c-format
 msgid "you cannot use --symmetric --encrypt in %s mode\n"
 msgstr "no puede usar --symmetric --encrypt en modo %s\n"
 
-#: g10/gpg.c:4231
+#: g10/gpg.c:4252
 #, c-format
 msgid "you cannot use --symmetric --sign --encrypt with --s2k-mode 0\n"
 msgstr "no puede usar --symetric --sign --encrypt con --s2k-mode 0\n"
 
-#: g10/gpg.c:4234
+#: g10/gpg.c:4255
 #, c-format
 msgid "you cannot use --symmetric --sign --encrypt in %s mode\n"
 msgstr "no puede usar --symmetric --sign --encrypt en modo %s\n"
 
-#: g10/gpg.c:4622 g10/keyserver.c:1881
+#: g10/gpg.c:4643 g10/keyserver.c:1648
 #, c-format
 msgid "keyserver send failed: %s\n"
 msgstr "envío al servidor de claves fallido: %s\n"
 
-#: g10/gpg.c:4627
+#: g10/gpg.c:4648
 #, c-format
 msgid "keyserver receive failed: %s\n"
 msgstr "recepción del servidor de claves fallida: %s\n"
 
-#: g10/gpg.c:4633
+#: g10/gpg.c:4654
 #, c-format
 msgid "key export failed: %s\n"
 msgstr "exportación de clave fallida: %s\n"
 
-#: g10/gpg.c:4646
+#: g10/gpg.c:4667
 #, c-format
 msgid "export as ssh key failed: %s\n"
 msgstr "exportación como clave ssh fallida: %s\n"
 
-#: g10/gpg.c:4658
+#: g10/gpg.c:4679
 #, c-format
 msgid "keyserver search failed: %s\n"
 msgstr "búsqueda del servidor de claves fallida: %s\n"
 
-#: g10/gpg.c:4671
+#: g10/gpg.c:4692
 #, c-format
 msgid "keyserver refresh failed: %s\n"
 msgstr "renovación al servidor de claves fallida: %s\n"
 
-#: g10/gpg.c:4738
+#: g10/gpg.c:4759
 #, c-format
 msgid "dearmoring failed: %s\n"
 msgstr "eliminación de armadura fallida: %s\n"
 
-#: g10/gpg.c:4749
+#: g10/gpg.c:4770
 #, c-format
 msgid "enarmoring failed: %s\n"
 msgstr "creación de armadura fallida: %s\n"
 
-#: g10/gpg.c:4841
+#: g10/gpg.c:4862
 #, c-format
 msgid "invalid hash algorithm '%s'\n"
 msgstr "algoritmo de distribución inválido '%s'\n"
 
-#: g10/gpg.c:4993 g10/tofu.c:2153
+#: g10/gpg.c:5014 g10/tofu.c:2153
 #, c-format
 msgid "error parsing key specification '%s': %s\n"
 msgstr "error al leer la especificación de clave '%s': %s\n"
 
-#: g10/gpg.c:5006
+#: g10/gpg.c:5027
 #, c-format
 msgid "'%s' does not appear to be a valid key ID, fingerprint or keygrip\n"
 msgstr "'%s' no parece ser una ID de clave, huella digital o keygrip válido\n"
 
-#: g10/gpg.c:5062
+#: g10/gpg.c:5083
 #, c-format
 msgid "WARNING: no command supplied.  Trying to guess what you mean ...\n"
 msgstr ""
@@ -3287,22 +3305,22 @@ msgstr ""
 # En español no se deja espacio antes de los puntos suspensivos
 # (Real Academia dixit) :)
 # Tomo nota :-). Este comentario déjalo siempre.
-#: g10/gpg.c:5073
+#: g10/gpg.c:5094
 #, c-format
 msgid "Go ahead and type your message ...\n"
 msgstr "Adelante, teclee su mensaje...\n"
 
-#: g10/gpg.c:5418
+#: g10/gpg.c:5439
 #, c-format
 msgid "the given certification policy URL is invalid\n"
 msgstr "URL de política de certificado inválida\n"
 
-#: g10/gpg.c:5420
+#: g10/gpg.c:5441
 #, c-format
 msgid "the given signature policy URL is invalid\n"
 msgstr "URL de política inválida\n"
 
-#: g10/gpg.c:5453
+#: g10/gpg.c:5474
 #, c-format
 msgid "the given preferred keyserver URL is invalid\n"
 msgstr "la URL del servidor de claves preferido no es válida\n"
@@ -3315,7 +3333,7 @@ msgstr "|FILE|tomar las claves del anillo FILE"
 msgid "make timestamp conflicts only a warning"
 msgstr "hacer que los conflictos de fecha-hora sean sólo un aviso"
 
-#: g10/gpgv.c:86 sm/gpgsm.c:354 tools/gpgconf.c:112
+#: g10/gpgv.c:86 sm/gpgsm.c:357 tools/gpgconf.c:112
 msgid "|FD|write status info to this FD"
 msgstr "|FD|escribe información de estado en este descriptor de fichero"
 
@@ -3392,97 +3410,97 @@ msgstr "asumir entrada en formato de backup de clave GnuPG"
 msgid "repair keys on import"
 msgstr "reparar claves al importar"
 
-#: g10/import.c:380 g10/import.c:699
+#: g10/import.c:392 g10/import.c:711
 #, c-format
 msgid "skipping block of type %d\n"
 msgstr "omitiendo bloque de tipo %d\n"
 
-#: g10/import.c:716
+#: g10/import.c:728
 #, c-format
 msgid "%lu keys processed so far\n"
 msgstr "%lu claves procesadas hasta ahora\n"
 
-#: g10/import.c:802
+#: g10/import.c:814
 #, c-format
 msgid "Total number processed: %lu\n"
 msgstr "Cantidad total procesada: %lu\n"
 
-#: g10/import.c:805
+#: g10/import.c:817
 #, c-format
 msgid "    skipped PGP-2 keys: %lu\n"
 msgstr "      omitidas las claves PGP-2: %lu\n"
 
-#: g10/import.c:807
+#: g10/import.c:819
 #, c-format
 msgid "      skipped new keys: %lu\n"
 msgstr "      omitidas nuevas claves: %lu\n"
 
-#: g10/import.c:810
+#: g10/import.c:822
 #, c-format
 msgid "          w/o user IDs: %lu\n"
 msgstr "          sin identificador: %lu\n"
 
-#: g10/import.c:813 sm/import.c:130
+#: g10/import.c:825 sm/import.c:130
 #, c-format
 msgid "              imported: %lu"
 msgstr "              importadas: %lu"
 
-#: g10/import.c:817 sm/import.c:134
+#: g10/import.c:829 sm/import.c:134
 #, c-format
 msgid "             unchanged: %lu\n"
 msgstr "             sin cambios: %lu\n"
 
-#: g10/import.c:819
+#: g10/import.c:831
 #, c-format
 msgid "          new user IDs: %lu\n"
 msgstr "          nuevos identificativos: %lu\n"
 
-#: g10/import.c:821
+#: g10/import.c:833
 #, c-format
 msgid "           new subkeys: %lu\n"
 msgstr "           nuevas subclaves: %lu\n"
 
-#: g10/import.c:823
+#: g10/import.c:835
 #, c-format
 msgid "        new signatures: %lu\n"
 msgstr "        nuevas firmas: %lu\n"
 
-#: g10/import.c:825
+#: g10/import.c:837
 #, c-format
 msgid "   new key revocations: %lu\n"
 msgstr "   nuevas revocaciones de claves: %lu\n"
 
-#: g10/import.c:827 sm/import.c:136
+#: g10/import.c:839 sm/import.c:136
 #, c-format
 msgid "      secret keys read: %lu\n"
 msgstr "      claves secretas leídas: %lu\n"
 
-#: g10/import.c:829 sm/import.c:138
+#: g10/import.c:841 sm/import.c:138
 #, c-format
 msgid "  secret keys imported: %lu\n"
 msgstr "  claves secretas importadas: %lu\n"
 
-#: g10/import.c:831 sm/import.c:140
+#: g10/import.c:843 sm/import.c:140
 #, c-format
 msgid " secret keys unchanged: %lu\n"
 msgstr " claves secretas sin cambios: %lu\n"
 
-#: g10/import.c:833 sm/import.c:142
+#: g10/import.c:845 sm/import.c:142
 #, c-format
 msgid "          not imported: %lu\n"
 msgstr "          no importadas: %lu\n"
 
-#: g10/import.c:835
+#: g10/import.c:847
 #, c-format
 msgid "    signatures cleaned: %lu\n"
 msgstr "    firmas limpiadas: %lu\n"
 
-#: g10/import.c:837
+#: g10/import.c:849
 #, c-format
 msgid "      user IDs cleaned: %lu\n"
 msgstr "      IDs de usuario limpiados: %lu\n"
 
-#: g10/import.c:1264
+#: g10/import.c:1276
 #, c-format
 msgid ""
 "WARNING: key %s contains preferences for unavailable\n"
@@ -3491,169 +3509,169 @@ msgstr ""
 "AVISO: la clave %s contiene preferencias para algoritmos\n"
 "no disponibles en estos IDs de usuario:\n"
 
-#: g10/import.c:1306
+#: g10/import.c:1318
 #, c-format
 msgid "         \"%s\": preference for cipher algorithm %s\n"
 msgstr "         \"%s\": algoritmo de cifrado preferido %s\n"
 
-#: g10/import.c:1321
+#: g10/import.c:1333
 #, c-format
 msgid "         \"%s\": preference for digest algorithm %s\n"
 msgstr "         \"%s\": algoritmo de resumen preferido %s\n"
 
-#: g10/import.c:1333
+#: g10/import.c:1345
 #, c-format
 msgid "         \"%s\": preference for compression algorithm %s\n"
 msgstr "         \"%s\": algoritmo de compresión preferido %s\n"
 
-#: g10/import.c:1346
+#: g10/import.c:1358
 #, c-format
 msgid "it is strongly suggested that you update your preferences and\n"
 msgstr "se recomienda encarecidamente que actualice sus preferencias y\n"
 
-#: g10/import.c:1348
+#: g10/import.c:1360
 #, c-format
 msgid "re-distribute this key to avoid potential algorithm mismatch problems\n"
 msgstr ""
 "redistribuya esta clave para evitar potenciales problemas de\n"
 "diferencias en los algoritmos.\n"
 
-#: g10/import.c:1373
+#: g10/import.c:1385
 #, c-format
 msgid "you can update your preferences with: gpg --edit-key %s updpref save\n"
 msgstr ""
 "puede actualizar sus preferencias con: gpg --edit-key %s updpref save\n"
 
-#: g10/import.c:1887 g10/import.c:3001
+#: g10/import.c:1899 g10/import.c:3013
 #, c-format
 msgid "key %s: no user ID\n"
 msgstr "clave %s: sin identificador de usuario\n"
 
-#: g10/import.c:1893
+#: g10/import.c:1905
 #, c-format
 msgid "key %s: %s\n"
 msgstr "clave %s: %s\n"
 
-#: g10/import.c:1894 g10/import.c:2973
+#: g10/import.c:1906 g10/import.c:2985
 msgid "rejected by import screener"
 msgstr "rechazado por el filtro de importación"
 
-#: g10/import.c:1938
+#: g10/import.c:1950
 #, c-format
 msgid "key %s: PKS subkey corruption repaired\n"
 msgstr "clave %s: reparada la subclave PKS corrompida\n"
 
-#: g10/import.c:1959
+#: g10/import.c:1971
 #, c-format
 msgid "key %s: accepted non self-signed user ID \"%s\"\n"
 msgstr "clave %s: aceptado ID de usuario sin autofirma \"%s\"\n"
 
-#: g10/import.c:1969 g10/import.c:2000
+#: g10/import.c:1981 g10/import.c:2012
 #, c-format
 msgid "key %s: no valid user IDs\n"
 msgstr "clave %s: sin identificadores de usuario válidos\n"
 
-#: g10/import.c:1971
+#: g10/import.c:1983
 #, c-format
 msgid "this may be caused by a missing self-signature\n"
 msgstr "esto puede ser debido a la ausencia de autofirma\n"
 
-#: g10/import.c:2050 g10/import.c:3387
+#: g10/import.c:2062 g10/import.c:3399
 #, c-format
 msgid "key %s: public key not found: %s\n"
 msgstr "clave %s: clave pública no encontrada: %s\n"
 
-#: g10/import.c:2056
+#: g10/import.c:2068
 #, c-format
 msgid "key %s: new key - skipped\n"
 msgstr "clave %s: clave nueva - omitida\n"
 
-#: g10/import.c:2068
+#: g10/import.c:2080
 #, c-format
 msgid "no writable keyring found: %s\n"
 msgstr "anillo de claves no escribible encontrado: %s\n"
 
-#: g10/import.c:2100 g10/import.c:2202 g10/import.c:3464
+#: g10/import.c:2112 g10/import.c:2214 g10/import.c:3476
 #, c-format
 msgid "error writing keyring '%s': %s\n"
 msgstr "error escribiendo anillo '%s': %s\n"
 
-#: g10/import.c:2123
+#: g10/import.c:2135
 #, c-format
 msgid "key %s: public key \"%s\" imported\n"
 msgstr "clave %s: clave pública \"%s\" importada\n"
 
-#: g10/import.c:2150
+#: g10/import.c:2162
 #, c-format
 msgid "key %s: doesn't match our copy\n"
 msgstr "clave %s: no coincide con nuestra copia\n"
 
-#: g10/import.c:2218
+#: g10/import.c:2230
 #, c-format
 msgid "key %s: \"%s\" 1 new user ID\n"
 msgstr "clave %s: \"%s\" 1 ID de usuario nuevo\n"
 
-#: g10/import.c:2221
+#: g10/import.c:2233
 #, c-format
 msgid "key %s: \"%s\" %d new user IDs\n"
 msgstr "clave %s: \"%s\" %d nuevos identificadores de usuario\n"
 
-#: g10/import.c:2224
+#: g10/import.c:2236
 #, c-format
 msgid "key %s: \"%s\" 1 new signature\n"
 msgstr "clave %s: \"%s\" 1 firma nueva\n"
 
-#: g10/import.c:2227
+#: g10/import.c:2239
 #, c-format
 msgid "key %s: \"%s\" %d new signatures\n"
 msgstr "clave %s: \"%s\" %d firmas nuevas\n"
 
-#: g10/import.c:2230
+#: g10/import.c:2242
 #, c-format
 msgid "key %s: \"%s\" 1 new subkey\n"
 msgstr "clave %s: \"%s\" 1 subclave nueva\n"
 
-#: g10/import.c:2233
+#: g10/import.c:2245
 #, c-format
 msgid "key %s: \"%s\" %d new subkeys\n"
 msgstr "clave %s: \"%s\" %d subclaves nuevas\n"
 
-#: g10/import.c:2236
+#: g10/import.c:2248
 #, c-format
 msgid "key %s: \"%s\" %d signature cleaned\n"
 msgstr "clave %s: \"%s\" %d firmas limpiadas\n"
 
-#: g10/import.c:2239
+#: g10/import.c:2251
 #, c-format
 msgid "key %s: \"%s\" %d signatures cleaned\n"
 msgstr "clave %s: \"%s\" %d firmas limpiadas\n"
 
-#: g10/import.c:2242
+#: g10/import.c:2254
 #, c-format
 msgid "key %s: \"%s\" %d user ID cleaned\n"
 msgstr "clave %s: \"%s\" %d identificador de usuario limpiado\n"
 
-#: g10/import.c:2245
+#: g10/import.c:2257
 #, c-format
 msgid "key %s: \"%s\" %d user IDs cleaned\n"
 msgstr "clave %s: \"%s\" %d identificadores de usuario limpiados\n"
 
-#: g10/import.c:2281
+#: g10/import.c:2293
 #, c-format
 msgid "key %s: \"%s\" not changed\n"
 msgstr "clave %s: \"%s\" sin cambios\n"
 
-#: g10/import.c:2640 g10/import.c:2835
+#: g10/import.c:2652 g10/import.c:2847
 #, c-format
 msgid "key %s: secret key imported\n"
 msgstr "clave %s: clave secreta importada\n"
 
-#: g10/import.c:2648
+#: g10/import.c:2660
 #, c-format
 msgid "key %s: secret key already exists\n"
 msgstr "clave %s: clave secreta ya existe\n"
 
-#: g10/import.c:2656
+#: g10/import.c:2668
 #, c-format
 msgid "key %s: error sending to agent: %s\n"
 msgstr "clave %s: error enviando al agente: %s\n"
@@ -3666,196 +3684,196 @@ msgstr "clave %s: error enviando al agente: %s\n"
 #. * Instead, user should be suggested to run 'gpg --card-status',
 #. * then, references to a card will be automatically created
 #. * again.
-#: g10/import.c:2825
+#: g10/import.c:2837
 #, c-format
 msgid "To migrate '%s', with each smartcard, run: %s\n"
 msgstr "Para migrar '%s', para cada smartcard ejecuta: %s\n"
 
-#: g10/import.c:2972
+#: g10/import.c:2984
 #, c-format
 msgid "secret key %s: %s\n"
 msgstr "clave secreta %s: %s\n"
 
-#: g10/import.c:2993 g10/import.c:3032
+#: g10/import.c:3005 g10/import.c:3044
 #, c-format
 msgid "importing secret keys not allowed\n"
 msgstr "no se permite importar claves secretas\n"
 
-#: g10/import.c:3020
+#: g10/import.c:3032
 #, c-format
 msgid "key %s: secret key with invalid cipher %d - skipped\n"
 msgstr "clave %s: clave secreta con cifrado incorrecto %d - omitida\n"
 
-#: g10/import.c:3182 g10/pkclist.c:72 g10/revoke.c:776
+#: g10/import.c:3194 g10/pkclist.c:72 g10/revoke.c:776
 msgid "No reason specified"
 msgstr "No se dio ninguna razón"
 
-#: g10/import.c:3183 g10/pkclist.c:74 g10/revoke.c:778
+#: g10/import.c:3195 g10/pkclist.c:74 g10/revoke.c:778
 msgid "Key is superseded"
 msgstr "La clave ha sido reemplazada"
 
-#: g10/import.c:3184 g10/pkclist.c:76 g10/revoke.c:777
+#: g10/import.c:3196 g10/pkclist.c:76 g10/revoke.c:777
 msgid "Key has been compromised"
 msgstr "La clave ha sido comprometida"
 
-#: g10/import.c:3185 g10/pkclist.c:78 g10/revoke.c:779
+#: g10/import.c:3197 g10/pkclist.c:78 g10/revoke.c:779
 msgid "Key is no longer used"
 msgstr "La clave ya no está en uso"
 
-#: g10/import.c:3186 g10/pkclist.c:80 g10/revoke.c:780
+#: g10/import.c:3198 g10/pkclist.c:80 g10/revoke.c:780
 msgid "User ID is no longer valid"
 msgstr "El identificador de usuario ya no es válido"
 
-#: g10/import.c:3311 g10/keylist.c:1254 g10/pkclist.c:84
+#: g10/import.c:3323 g10/keylist.c:1254 g10/pkclist.c:84
 #, c-format
 msgid "reason for revocation: "
 msgstr "razón para la revocación: "
 
-#: g10/import.c:3330 g10/keylist.c:1273 g10/pkclist.c:100
+#: g10/import.c:3342 g10/keylist.c:1273 g10/pkclist.c:100
 #, c-format
 msgid "revocation comment: "
 msgstr "comentario a la revocación: "
 
-#: g10/import.c:3380
+#: g10/import.c:3392
 #, c-format
 msgid "key %s: no public key - can't apply revocation certificate\n"
 msgstr ""
 "clave %s: falta la clave pública - imposible emplear el\n"
 "certificado de revocación\n"
 
-#: g10/import.c:3411
+#: g10/import.c:3423
 #, c-format
 msgid "key %s: can't locate original keyblock: %s\n"
 msgstr "clave %s: no puede localizarse el bloque de claves original: %s\n"
 
-#: g10/import.c:3418
+#: g10/import.c:3430
 #, c-format
 msgid "key %s: can't read original keyblock: %s\n"
 msgstr "clave %s: no puede leerse el bloque de claves original: %s\n"
 
-#: g10/import.c:3438
+#: g10/import.c:3450
 #, c-format
 msgid "key %s: invalid revocation certificate: %s - rejected\n"
 msgstr "clave %s: certificado de revocación inválido: %s - rechazado\n"
 
-#: g10/import.c:3473
+#: g10/import.c:3485
 #, c-format
 msgid "key %s: \"%s\" revocation certificate imported\n"
 msgstr "clave %s: \"%s\" certificado de revocación importado\n"
 
-#: g10/import.c:3559
+#: g10/import.c:3571
 #, c-format
 msgid "key %s: no user ID for signature\n"
 msgstr "clave %s: no hay identificador de usuario para la firma\n"
 
-#: g10/import.c:3576
+#: g10/import.c:3588
 #, c-format
 msgid "key %s: unsupported public key algorithm on user ID \"%s\"\n"
 msgstr "clave %s: algoritmo de clave pública no disponible para ID \"%s\"\n"
 
-#: g10/import.c:3578
+#: g10/import.c:3590
 #, c-format
 msgid "key %s: invalid self-signature on user ID \"%s\"\n"
 msgstr "clave %s: autofirma inválida para el id \"%s\"\n"
 
-#: g10/import.c:3595 g10/import.c:3623 g10/import.c:3679
+#: g10/import.c:3607 g10/import.c:3635 g10/import.c:3691
 #, c-format
 msgid "key %s: unsupported public key algorithm\n"
 msgstr "clave %s: algoritmo de clave pública no disponible\n"
 
-#: g10/import.c:3596
+#: g10/import.c:3608
 #, c-format
 msgid "key %s: invalid direct key signature\n"
 msgstr "clave %s: firma directa de clave inválida\n"
 
-#: g10/import.c:3610
+#: g10/import.c:3622
 #, c-format
 msgid "key %s: no subkey for key binding\n"
 msgstr "clave %s: no hay subclave que unir a la clave\n"
 
-#: g10/import.c:3625
+#: g10/import.c:3637
 #, c-format
 msgid "key %s: invalid subkey binding\n"
 msgstr "clave %s: unión de subclave inválida\n"
 
-#: g10/import.c:3644
+#: g10/import.c:3656
 #, c-format
 msgid "key %s: removed multiple subkey binding\n"
 msgstr "clave %s: borrado enlace de subclaves múltiples\n"
 
-#: g10/import.c:3668
+#: g10/import.c:3680
 #, c-format
 msgid "key %s: no subkey for key revocation\n"
 msgstr "clave %s: no hay subclave para la revocación de clave\n"
 
-#: g10/import.c:3681
+#: g10/import.c:3693
 #, c-format
 msgid "key %s: invalid subkey revocation\n"
 msgstr "clave %s: revocación de subclave inválida\n"
 
-#: g10/import.c:3696
+#: g10/import.c:3708
 #, c-format
 msgid "key %s: removed multiple subkey revocation\n"
 msgstr "clave %s: borrada revocación de subclave múltiple\n"
 
-#: g10/import.c:3740
+#: g10/import.c:3752
 #, c-format
 msgid "key %s: skipped user ID \"%s\"\n"
 msgstr "clave %s: omitido ID de usuario \"%s\"\n"
 
-#: g10/import.c:3767
+#: g10/import.c:3779
 #, c-format
 msgid "key %s: skipped subkey\n"
 msgstr "clave %s: subclave omitida\n"
 
-#: g10/import.c:3798
+#: g10/import.c:3810
 #, c-format
 msgid "key %s: non exportable signature (class 0x%02X) - skipped\n"
 msgstr "clave %s: firma no exportable (clase 0x%02X) - omitida\n"
 
-#: g10/import.c:3809
+#: g10/import.c:3821
 #, c-format
 msgid "key %s: revocation certificate at wrong place - skipped\n"
 msgstr "clave %s: certificado de revocación en lugar equivocado - omitido\n"
 
-#: g10/import.c:3827
+#: g10/import.c:3839
 #, c-format
 msgid "key %s: invalid revocation certificate: %s - skipped\n"
 msgstr "clave %s: certificado de revocación no valido: %s - omitido\n"
 
-#: g10/import.c:3841
+#: g10/import.c:3853
 #, c-format
 msgid "key %s: subkey signature in wrong place - skipped\n"
 msgstr "clave %s: firma de subclave en lugar equivocado - omitida\n"
 
-#: g10/import.c:3849
+#: g10/import.c:3861
 #, c-format
 msgid "key %s: unexpected signature class (0x%02X) - skipped\n"
 msgstr "clave %s: firma de clase (0x%02X) inesperada - omitida\n"
 
-#: g10/import.c:4022
+#: g10/import.c:4034
 #, c-format
 msgid "key %s: duplicated user ID detected - merged\n"
 msgstr "clave %s: detectado usuario duplicado - fusionada\n"
 
-#: g10/import.c:4087
+#: g10/import.c:4099
 #, c-format
 msgid "WARNING: key %s may be revoked: fetching revocation key %s\n"
 msgstr ""
 "AVISO: la clave %s puede estar revocada: recuperando clave de revocación %s\n"
 
-#: g10/import.c:4103
+#: g10/import.c:4115
 #, c-format
 msgid "WARNING: key %s may be revoked: revocation key %s not present.\n"
 msgstr ""
 "AVISO: la clave %s puede estar revocada: falta clave de revocación %s.\n"
 
-#: g10/import.c:4169
+#: g10/import.c:4181
 #, c-format
 msgid "key %s: \"%s\" revocation certificate added\n"
 msgstr "clave %s: \"%s\" certificado de revocación añadido\n"
 
-#: g10/import.c:4207
+#: g10/import.c:4219
 #, c-format
 msgid "key %s: direct key signature added\n"
 msgstr "clave %s: firma directa de clave añadida\n"
@@ -3928,7 +3946,7 @@ msgid ""
 "all signatures.\n"
 msgstr ""
 
-#: g10/keydb.c:431 g10/keydb.c:458 sm/keydb.c:191 sm/keydb.c:204
+#: g10/keydb.c:431 g10/keydb.c:458 sm/keydb.c:190 sm/keydb.c:203
 #, c-format
 msgid "error creating keybox '%s': %s\n"
 msgstr "error al crear caja de claves '%s': %s\n"
@@ -3938,7 +3956,7 @@ msgstr "error al crear caja de claves '%s': %s\n"
 msgid "error creating keyring '%s': %s\n"
 msgstr "error al crear anillo '%s': %s\n"
 
-#: g10/keydb.c:470 sm/keydb.c:210
+#: g10/keydb.c:470 sm/keydb.c:209
 #, c-format
 msgid "keybox '%s' created\n"
 msgstr "caja de claves '%s' creada\n"
@@ -4017,13 +4035,13 @@ msgstr "Salteando el ID de usuario \"%s\", que no es un ID de texto.\n"
 msgid "User ID \"%s\" is revoked."
 msgstr "ID de usuario \"%s\" revocado."
 
-#: g10/keyedit.c:569 g10/keyedit.c:597 g10/keyedit.c:624 g10/keyedit.c:808
-#: g10/keyedit.c:1655
+#: g10/keyedit.c:569 g10/keyedit.c:597 g10/keyedit.c:624 g10/keyedit.c:809
+#: g10/keyedit.c:1656
 msgid "Are you sure you still want to sign it? (y/N) "
 msgstr "¿Seguro que todavía quiere firmarlo? (s/N) "
 
-#: g10/keyedit.c:583 g10/keyedit.c:611 g10/keyedit.c:638 g10/keyedit.c:814
-#: g10/keyedit.c:1660 g10/keyedit.c:2667
+#: g10/keyedit.c:583 g10/keyedit.c:611 g10/keyedit.c:638 g10/keyedit.c:815
+#: g10/keyedit.c:1661 g10/keyedit.c:2668
 msgid "  Unable to sign.\n"
 msgstr "  Imposible firmar.\n"
 
@@ -4095,29 +4113,29 @@ msgstr "\"%s\" ya estaba firmada localmente por la clave %s\n"
 msgid "\"%s\" was already signed by key %s\n"
 msgstr "\"%s\" ya estaba firmada por la clave %s\n"
 
-#: g10/keyedit.c:756
+#: g10/keyedit.c:757
 msgid "Do you want to sign it again anyway? (y/N) "
 msgstr "¿Quiere firmarlo aún así? (s/N) "
 
-#: g10/keyedit.c:778
+#: g10/keyedit.c:779
 #, c-format
 msgid "Nothing to sign with key %s\n"
 msgstr "Nada que firmar con la clave %s\n"
 
-#: g10/keyedit.c:802
+#: g10/keyedit.c:803
 msgid "This key has expired!"
 msgstr "¡Esta clave ha caducado!"
 
-#: g10/keyedit.c:820
+#: g10/keyedit.c:821
 #, c-format
 msgid "This key is due to expire on %s.\n"
 msgstr "Esta clave expirará el %s.\n"
 
-#: g10/keyedit.c:826
+#: g10/keyedit.c:827
 msgid "Do you want your signature to expire at the same time? (Y/n) "
 msgstr "¿Quiere que su firma caduque al mismo tiempo? (S/n) "
 
-#: g10/keyedit.c:867
+#: g10/keyedit.c:868
 msgid ""
 "How carefully have you verified the key you are about to sign actually "
 "belongs\n"
@@ -4127,31 +4145,31 @@ msgstr ""
 "firmar pertenece realmente a la persona arriba nombrada? Si no sabe que\n"
 "contestar, introduzca \"0\".\n"
 
-#: g10/keyedit.c:872
+#: g10/keyedit.c:873
 #, c-format
 msgid "   (0) I will not answer.%s\n"
 msgstr "   (0) No contesto.%s\n"
 
-#: g10/keyedit.c:874
+#: g10/keyedit.c:875
 #, c-format
 msgid "   (1) I have not checked at all.%s\n"
 msgstr "   (1) No lo he comprobado en absoluto.%s\n"
 
-#: g10/keyedit.c:876
+#: g10/keyedit.c:877
 #, c-format
 msgid "   (2) I have done casual checking.%s\n"
 msgstr "   (2) He hecho una comprobación informal.%s\n"
 
-#: g10/keyedit.c:879
+#: g10/keyedit.c:880
 #, c-format
 msgid "   (3) I have done very careful checking.%s\n"
 msgstr "   (3) Lo he comprobado meticulosamente.%s\n"
 
-#: g10/keyedit.c:886
+#: g10/keyedit.c:887
 msgid "Your selection? (enter '?' for more information): "
 msgstr "¿Su elección? (escriba '?' para más información): "
 
-#: g10/keyedit.c:913
+#: g10/keyedit.c:914
 #, c-format
 msgid ""
 "Are you sure that you want to sign this key with your\n"
@@ -4160,224 +4178,224 @@ msgstr ""
 "¿Está realmente seguro de querer firmar esta clave\n"
 "con su clave: \"%s\" (%s)?\n"
 
-#: g10/keyedit.c:921
+#: g10/keyedit.c:922
 msgid "This will be a self-signature.\n"
 msgstr "Esto será una autofirma.\n"
 
-#: g10/keyedit.c:926
+#: g10/keyedit.c:927
 msgid "WARNING: the signature will not be marked as non-exportable.\n"
 msgstr "ATENCION: la firma no se marcará como no exportable.\n"
 
-#: g10/keyedit.c:933
+#: g10/keyedit.c:934
 msgid "WARNING: the signature will not be marked as non-revocable.\n"
 msgstr "AVISO: la firma no se marcará como no revocable.\n"
 
-#: g10/keyedit.c:943
+#: g10/keyedit.c:944
 msgid "The signature will be marked as non-exportable.\n"
 msgstr "La firma se marcará como no exportable.\n"
 
-#: g10/keyedit.c:950
+#: g10/keyedit.c:951
 msgid "The signature will be marked as non-revocable.\n"
 msgstr "La firma se marcará como no revocable.\n"
 
-#: g10/keyedit.c:957
+#: g10/keyedit.c:958
 msgid "I have not checked this key at all.\n"
 msgstr "No he comprobado esta clave en absoluto.\n"
 
-#: g10/keyedit.c:962
+#: g10/keyedit.c:963
 msgid "I have checked this key casually.\n"
 msgstr "He comprobado esta clave informalmente.\n"
 
-#: g10/keyedit.c:967
+#: g10/keyedit.c:968
 msgid "I have checked this key very carefully.\n"
 msgstr "He comprobado esta clave meticulosamente.\n"
 
-#: g10/keyedit.c:979
+#: g10/keyedit.c:980
 msgid "Really sign? (y/N) "
 msgstr "¿Firmar de verdad? (s/N) "
 
-#: g10/keyedit.c:1030 g10/keyedit.c:6154 g10/keyedit.c:6237 g10/keyedit.c:6366
-#: g10/keyedit.c:6428 g10/sign.c:466
+#: g10/keyedit.c:1031 g10/keyedit.c:6155 g10/keyedit.c:6238 g10/keyedit.c:6367
+#: g10/keyedit.c:6429 g10/sign.c:466
 #, c-format
 msgid "signing failed: %s\n"
 msgstr "firma fallida: %s\n"
 
-#: g10/keyedit.c:1117
+#: g10/keyedit.c:1118
 msgid "Key has only stub or on-card key items - no passphrase to change.\n"
 msgstr ""
 "La clave tiene sólo un apuntador u objetos de clave en la propia tarjeta\n"
 "- no hay frase contraseña que cambiar.\n"
 
-#: g10/keyedit.c:1149
+#: g10/keyedit.c:1150
 #, c-format
 msgid "key %s: error changing passphrase: %s\n"
 msgstr "clave %s: error al cambiar frase contraseña: %s\n"
 
-#: g10/keyedit.c:1261
+#: g10/keyedit.c:1262
 msgid "save and quit"
 msgstr "graba y sale"
 
-#: g10/keyedit.c:1264
+#: g10/keyedit.c:1265
 msgid "show key fingerprint"
 msgstr "muestra huella digital de la clave"
 
-#: g10/keyedit.c:1265
+#: g10/keyedit.c:1266
 msgid "show the keygrip"
 msgstr "mostrar el keygrip"
 
-#: g10/keyedit.c:1266
+#: g10/keyedit.c:1267
 msgid "list key and user IDs"
 msgstr "lista clave e identificadores de usuario"
 
-#: g10/keyedit.c:1268
+#: g10/keyedit.c:1269
 msgid "select user ID N"
 msgstr "selecciona identificador de usuario N"
 
-#: g10/keyedit.c:1269
+#: g10/keyedit.c:1270
 msgid "select subkey N"
 msgstr "selecciona subclave N"
 
-#: g10/keyedit.c:1270
+#: g10/keyedit.c:1271
 msgid "check signatures"
 msgstr "comprueba firmas"
 
-#: g10/keyedit.c:1276
+#: g10/keyedit.c:1277
 msgid "sign selected user IDs [* see below for related commands]"
 msgstr "firmar IDs seleccionadas [* ver debajo órdenes relacionadas]"
 
-#: g10/keyedit.c:1281
+#: g10/keyedit.c:1282
 msgid "sign selected user IDs locally"
 msgstr "firma localmente los IDs de usuarios elegidos"
 
-#: g10/keyedit.c:1282
+#: g10/keyedit.c:1283
 msgid "sign selected user IDs with a trust signature"
 msgstr "firmar IDs seleccionados con firma de confianza"
 
-#: g10/keyedit.c:1284
+#: g10/keyedit.c:1285
 msgid "sign selected user IDs with a non-revocable signature"
 msgstr "firmar IDs seleccionados con firma no revocable"
 
-#: g10/keyedit.c:1286
+#: g10/keyedit.c:1287
 msgid "add a user ID"
 msgstr "añadir un identificador de usuario"
 
-#: g10/keyedit.c:1288
+#: g10/keyedit.c:1289
 msgid "add a photo ID"
 msgstr "añadir un ID fotográfico"
 
-#: g10/keyedit.c:1289
+#: g10/keyedit.c:1290
 msgid "delete selected user IDs"
 msgstr "borrar identificadores de usuario seleccionados"
 
-#: g10/keyedit.c:1292
+#: g10/keyedit.c:1293
 msgid "add a subkey"
 msgstr "añadir una subclave"
 
-#: g10/keyedit.c:1295
+#: g10/keyedit.c:1296
 msgid "add a key to a smartcard"
 msgstr "añadir clave a tarjeta"
 
-#: g10/keyedit.c:1297
+#: g10/keyedit.c:1298
 msgid "move a key to a smartcard"
 msgstr "mover una clave a la tarjeta"
 
-#: g10/keyedit.c:1299
+#: g10/keyedit.c:1300
 msgid "move a backup key to a smartcard"
 msgstr "mover una clave de respaldo a la tarjeta"
 
-#: g10/keyedit.c:1301
+#: g10/keyedit.c:1302
 msgid "delete selected subkeys"
 msgstr "borrar clave secundaria"
 
-#: g10/keyedit.c:1303
+#: g10/keyedit.c:1304
 msgid "add a revocation key"
 msgstr "añadir una clave de revocación"
 
-#: g10/keyedit.c:1305
+#: g10/keyedit.c:1306
 msgid "delete signatures from the selected user IDs"
 msgstr "borrar firmas de los ID seleccionados"
 
-#: g10/keyedit.c:1307
+#: g10/keyedit.c:1308
 msgid "change the expiration date for the key or selected subkeys"
 msgstr "cambiar la fecha de caducidad para la clave o subclaves seleccionadas"
 
-#: g10/keyedit.c:1309
+#: g10/keyedit.c:1310
 msgid "flag the selected user ID as primary"
 msgstr "marcar ID de usuario seleccionado como primario"
 
-#: g10/keyedit.c:1312
+#: g10/keyedit.c:1313
 msgid "list preferences (expert)"
 msgstr "mostrar preferencias (experto)"
 
-#: g10/keyedit.c:1313
+#: g10/keyedit.c:1314
 msgid "list preferences (verbose)"
 msgstr "mostrar preferencias (prolijo)"
 
-#: g10/keyedit.c:1315
+#: g10/keyedit.c:1316
 msgid "set preference list for the selected user IDs"
 msgstr "establecer preferencias para todos los ID seleccionados"
 
-#: g10/keyedit.c:1318
+#: g10/keyedit.c:1319
 msgid "set the preferred keyserver URL for the selected user IDs"
 msgstr "establecer URL del servidor de claves preferido por los IDs elegidos"
 
-#: g10/keyedit.c:1320
+#: g10/keyedit.c:1321
 msgid "set a notation for the selected user IDs"
 msgstr "establecer notación para los IDs de usuario seleccionados"
 
-#: g10/keyedit.c:1322
+#: g10/keyedit.c:1323
 msgid "change the passphrase"
 msgstr "cambia la frase contraseña"
 
-#: g10/keyedit.c:1325
+#: g10/keyedit.c:1326
 msgid "change the ownertrust"
 msgstr "cambia valores de confianza"
 
-#: g10/keyedit.c:1328
+#: g10/keyedit.c:1329
 msgid "revoke signatures on the selected user IDs"
 msgstr "revocar firmas de los identificadores seleccionados"
 
-#: g10/keyedit.c:1330
+#: g10/keyedit.c:1331
 msgid "revoke selected user IDs"
 msgstr "revocar los identificadores seleccionados"
 
-#: g10/keyedit.c:1333
+#: g10/keyedit.c:1334
 msgid "revoke key or selected subkeys"
 msgstr "revoca clave o subclaves seleccionadas"
 
-#: g10/keyedit.c:1335
+#: g10/keyedit.c:1336
 msgid "enable key"
 msgstr "habilita clave"
 
-#: g10/keyedit.c:1336
+#: g10/keyedit.c:1337
 msgid "disable key"
 msgstr "deshabilita clave"
 
-#: g10/keyedit.c:1338
+#: g10/keyedit.c:1339
 msgid "show selected photo IDs"
 msgstr "mostrar fotos de los ID seleccionados"
 
-#: g10/keyedit.c:1340
+#: g10/keyedit.c:1341
 msgid "compact unusable user IDs and remove unusable signatures from key"
 msgstr "compactar IDs inutilizables y borrar firmas inutilizables de la clave"
 
-#: g10/keyedit.c:1342
+#: g10/keyedit.c:1343
 msgid "compact unusable user IDs and remove all signatures from key"
 msgstr "compactar IDs inutilizables y borrar todas las firmas de la clave"
 
-#: g10/keyedit.c:1463
+#: g10/keyedit.c:1464
 msgid "Secret key is available.\n"
 msgstr "Clave secreta disponible.\n"
 
-#: g10/keyedit.c:1465
+#: g10/keyedit.c:1466
 msgid "Secret subkeys are available.\n"
 msgstr "Subclaves secretas disponibles.\n"
 
-#: g10/keyedit.c:1567
+#: g10/keyedit.c:1568
 msgid "Need the secret key to do this.\n"
 msgstr "Se necesita la clave secreta para hacer esto.\n"
 
-#: g10/keyedit.c:1590
+#: g10/keyedit.c:1591
 msgid ""
 "* The 'sign' command may be prefixed with an 'l' for local signatures "
 "(lsign),\n"
@@ -4388,296 +4406,296 @@ msgstr ""
 "locales (lsign), una 't' para firmas fiables (tsign), 'nr' para firmas no\n"
 "revocables (nrsign) o cualquier combinación de ellas (ltsign, tnrsign, etc)\n"
 
-#: g10/keyedit.c:1648 g10/keyedit.c:2667 g10/keyedit.c:3040 g10/keyedit.c:3108
+#: g10/keyedit.c:1649 g10/keyedit.c:2668 g10/keyedit.c:3041 g10/keyedit.c:3109
 msgid "Key is revoked."
 msgstr "La clave está revocada."
 
-#: g10/keyedit.c:1671
+#: g10/keyedit.c:1672
 msgid "Really sign all text user IDs? (y/N) "
 msgstr ""
 "¿Firmar realmente todos los identificadores de usuario que son sólo texto? "
 "(s/N) "
 
-#: g10/keyedit.c:1675
+#: g10/keyedit.c:1676
 msgid "Really sign all user IDs? (y/N) "
 msgstr "¿Firmar realmente todos los IDs de usuario? (s/N) "
 
-#: g10/keyedit.c:1683
+#: g10/keyedit.c:1684
 msgid "Hint: Select the user IDs to sign\n"
 msgstr "Sugerencia: seleccione los identificadores de usuario que firmar\n"
 
-#: g10/keyedit.c:1694
+#: g10/keyedit.c:1695
 #, c-format
 msgid "Unknown signature type '%s'\n"
 msgstr "Clase de firma desconocida '%s'\n"
 
-#: g10/keyedit.c:1718
+#: g10/keyedit.c:1719
 #, c-format
 msgid "This command is not allowed while in %s mode.\n"
 msgstr "Esta orden no se permite en modo %s.\n"
 
-#: g10/keyedit.c:1740 g10/keyedit.c:1764 g10/keyedit.c:1961
+#: g10/keyedit.c:1741 g10/keyedit.c:1765 g10/keyedit.c:1962
 msgid "You must select at least one user ID.\n"
 msgstr "Debe seleccionar por lo menos un identificador de usuario.\n"
 
-#: g10/keyedit.c:1742 g10/keyedit.c:1766 g10/keyedit.c:1923 g10/keyedit.c:1963
+#: g10/keyedit.c:1743 g10/keyedit.c:1767 g10/keyedit.c:1924 g10/keyedit.c:1964
 #, c-format
 msgid "(Use the '%s' command.)\n"
 msgstr "(Use la orden '%s')\n"
 
-#: g10/keyedit.c:1745
+#: g10/keyedit.c:1746
 msgid "You can't delete the last user ID!\n"
 msgstr "¡No puede borrar el último identificador de usuario!\n"
 
-#: g10/keyedit.c:1748
+#: g10/keyedit.c:1749
 msgid "Really remove all selected user IDs? (y/N) "
 msgstr "¿Borrar realmente todos los identificadores seleccionados? (s/N) "
 
-#: g10/keyedit.c:1749
+#: g10/keyedit.c:1750
 msgid "Really remove this user ID? (y/N) "
 msgstr "¿Borrar realmente este identificador de usuario? (s/N) "
 
 #. TRANSLATORS: Please take care: This is about
 #. moving the key and not about removing it.
-#: g10/keyedit.c:1806
+#: g10/keyedit.c:1807
 msgid "Really move the primary key? (y/N) "
 msgstr "¿Realmente cambiar de sitio la clave primaria? (s/N) "
 
-#: g10/keyedit.c:1818 g10/keyedit.c:4803
+#: g10/keyedit.c:1819 g10/keyedit.c:4804
 msgid "You must select exactly one key.\n"
 msgstr "Debe seleccionar exactamente una clave.\n"
 
-#: g10/keyedit.c:1846
+#: g10/keyedit.c:1847
 msgid "Command expects a filename argument\n"
 msgstr "La orden espera un nombre de fichero como argumento\n"
 
-#: g10/keyedit.c:1867
+#: g10/keyedit.c:1868
 #, c-format
 msgid "Can't open '%s': %s\n"
 msgstr "No se puede abrir '%s': %s\n"
 
-#: g10/keyedit.c:1886
+#: g10/keyedit.c:1887
 #, c-format
 msgid "Error reading backup key from '%s': %s\n"
 msgstr "Error al leer clave de respaldo desde '%s': %s\n"
 
-#: g10/keyedit.c:1921
+#: g10/keyedit.c:1922
 msgid "You must select at least one key.\n"
 msgstr "Debe seleccionar por lo menos una clave.\n"
 
-#: g10/keyedit.c:1927
+#: g10/keyedit.c:1928
 msgid "Do you really want to delete the selected keys? (y/N) "
 msgstr "¿De verdad quiere borrar las claves seleccionadas? (s/N) "
 
-#: g10/keyedit.c:1929
+#: g10/keyedit.c:1930
 msgid "Do you really want to delete this key? (y/N) "
 msgstr "¿De verdad quiere borrar esta clave? (s/N) "
 
-#: g10/keyedit.c:1967
+#: g10/keyedit.c:1968
 msgid "Really revoke all selected user IDs? (y/N) "
 msgstr "¿Revocar realmente todos los identificadores seleccionados? (s/N) "
 
-#: g10/keyedit.c:1968
+#: g10/keyedit.c:1969
 msgid "Really revoke this user ID? (y/N) "
 msgstr "¿Revocar realmente este identificador de usuario? (s/N) "
 
-#: g10/keyedit.c:1986
+#: g10/keyedit.c:1987
 msgid "Do you really want to revoke the entire key? (y/N) "
 msgstr "¿De verdad quiere revocar la clave completa? (s/N) "
 
-#: g10/keyedit.c:1997
+#: g10/keyedit.c:1998
 msgid "Do you really want to revoke the selected subkeys? (y/N) "
 msgstr "¿De verdad quiere revocar las subclaves seleccionadas? (s/N) "
 
-#: g10/keyedit.c:1999
+#: g10/keyedit.c:2000
 msgid "Do you really want to revoke this subkey? (y/N) "
 msgstr "¿De verdad quiere revocar esta subclave? (s/N) "
 
-#: g10/keyedit.c:2057
+#: g10/keyedit.c:2058
 msgid "Owner trust may not be set while using a user provided trust database\n"
 msgstr ""
 "La confianza del propietario no puede establecerse si se está usando\n"
 "una base de datos de confianza propocionada por el usuario\n"
 
-#: g10/keyedit.c:2102
+#: g10/keyedit.c:2103
 msgid "Set preference list to:\n"
 msgstr "Establecer lista de preferencias a:\n"
 
-#: g10/keyedit.c:2109
+#: g10/keyedit.c:2110
 msgid "Really update the preferences for the selected user IDs? (y/N) "
 msgstr ""
 "¿Actualizar realmente las preferencias para los ID seleccionados? (s/N) "
 
-#: g10/keyedit.c:2111
+#: g10/keyedit.c:2112
 msgid "Really update the preferences? (y/N) "
 msgstr "¿Actualizar realmente las preferencias? (s/N) "
 
-#: g10/keyedit.c:2185
+#: g10/keyedit.c:2186
 msgid "Save changes? (y/N) "
 msgstr "¿Grabar cambios? (s/N) "
 
-#: g10/keyedit.c:2189
+#: g10/keyedit.c:2190
 msgid "Quit without saving? (y/N) "
 msgstr "¿Salir sin grabar? (s/N) "
 
-#: g10/keyedit.c:2216 g10/keyedit.c:2762 g10/keyedit.c:3061 g10/keyedit.c:3214
+#: g10/keyedit.c:2217 g10/keyedit.c:2763 g10/keyedit.c:3062 g10/keyedit.c:3215
 #, c-format
 msgid "Key not changed so no update needed.\n"
 msgstr "Clave sin cambios, no se necesita actualización.\n"
 
-#: g10/keyedit.c:2448
+#: g10/keyedit.c:2449
 #, c-format
 msgid "cannot revoke the last valid user ID.\n"
 msgstr "no se puede revocar el último identificador de usuario válido\n"
 
-#: g10/keyedit.c:2475
+#: g10/keyedit.c:2476
 #, c-format
 msgid "revoking the user ID failed: %s\n"
 msgstr "la revocación del identificador de usuario ha fallado: %s\n"
 
-#: g10/keyedit.c:2541
+#: g10/keyedit.c:2542
 #, c-format
 msgid "setting the primary user ID failed: %s\n"
 msgstr "la configuración del ID de usuario primario ha fallado: %s\n"
 
-#: g10/keyedit.c:2572
+#: g10/keyedit.c:2573
 #, c-format
 msgid "\"%s\" is not a fingerprint\n"
 msgstr "\"%s\" no es una huella digital\n"
 
-#: g10/keyedit.c:2602
+#: g10/keyedit.c:2603
 #, c-format
 msgid "\"%s\" is not the primary fingerprint\n"
 msgstr ""
 "\"%s\" no es la huella digital primaria\n"
 "\n"
 
-#: g10/keyedit.c:2738 g10/keyedit.c:2741
+#: g10/keyedit.c:2739 g10/keyedit.c:2742
 #, c-format
 msgid "Invalid user ID '%s': %s\n"
 msgstr "Identificador de usuario '%s' no válido : %s\n"
 
-#: g10/keyedit.c:2744
+#: g10/keyedit.c:2745
 msgid "No matching user IDs."
 msgstr "No coincide con ningún identificador de usuario."
 
-#: g10/keyedit.c:2744
+#: g10/keyedit.c:2745
 msgid "Nothing to sign.\n"
 msgstr "Nada que firmar.\n"
 
-#: g10/keyedit.c:2937 g10/keyedit.c:6019
+#: g10/keyedit.c:2938 g10/keyedit.c:6020
 #, c-format
 msgid "Not signed by you.\n"
 msgstr "No está firmado por usted.\n"
 
-#: g10/keyedit.c:2995
+#: g10/keyedit.c:2996
 #, fuzzy, c-format
 #| msgid "checking created signature failed: %s\n"
 msgid "revoking the key signature failed: %s\n"
 msgstr "la comprobación de la firma creada falló: %s\n"
 
-#: g10/keyedit.c:3116
+#: g10/keyedit.c:3117
 #, c-format
 msgid "'%s' is not a valid expiration time\n"
 msgstr "'%s' no es una fecha de caducidad válida\n"
 
-#: g10/keyedit.c:3159
+#: g10/keyedit.c:3160
 #, c-format
 msgid "\"%s\" is not a proper fingerprint\n"
 msgstr "\"%s\" no es una huella digital válida\n"
 
-#: g10/keyedit.c:3183
+#: g10/keyedit.c:3184
 #, c-format
 msgid "subkey \"%s\" not found\n"
 msgstr "subclave \"%s\" no encontrada\n"
 
-#: g10/keyedit.c:3306
+#: g10/keyedit.c:3307
 msgid "AEAD: "
 msgstr ""
 
-#: g10/keyedit.c:3323
+#: g10/keyedit.c:3324
 msgid "Digest: "
 msgstr "Resumen: "
 
-#: g10/keyedit.c:3380
+#: g10/keyedit.c:3381
 msgid "Features: "
 msgstr "Características: "
 
-#: g10/keyedit.c:3397
+#: g10/keyedit.c:3398
 msgid "Keyserver no-modify"
 msgstr "Sevidor de claves no-modificar"
 
-#: g10/keyedit.c:3412 g10/keylist.c:376
+#: g10/keyedit.c:3413 g10/keylist.c:376
 msgid "Preferred keyserver: "
 msgstr "Servidor de claves preferido: "
 
-#: g10/keyedit.c:3420 g10/keyedit.c:3421
+#: g10/keyedit.c:3421 g10/keyedit.c:3422
 msgid "Notations: "
 msgstr "Notaciones: "
 
-#: g10/keyedit.c:3669
+#: g10/keyedit.c:3670
 msgid "There are no preferences on a PGP 2.x-style user ID.\n"
 msgstr "No hay preferencias en un identificador de usuario estilo PGP 2.x\n"
 
-#: g10/keyedit.c:3741
+#: g10/keyedit.c:3742
 #, c-format
 msgid "The following key was revoked on %s by %s key %s\n"
 msgstr "La siguiente clave fue revocada en %s por %s clave %s\n"
 
-#: g10/keyedit.c:3765
+#: g10/keyedit.c:3766
 #, c-format
 msgid "This key may be revoked by %s key %s"
 msgstr "Esta clave puede ser revocada por %s clave %s"
 
-#: g10/keyedit.c:3771
+#: g10/keyedit.c:3772
 msgid "(sensitive)"
 msgstr "(confidencial)"
 
-#: g10/keyedit.c:3813 g10/keyedit.c:3960 g10/keylist.c:264 g10/keyserver.c:538
+#: g10/keyedit.c:3814 g10/keyedit.c:3961 g10/keylist.c:264 g10/keyserver.c:361
 #, c-format
 msgid "created: %s"
 msgstr "creado: %s"
 
-#: g10/keyedit.c:3816 g10/keylist.c:2149
+#: g10/keyedit.c:3817 g10/keylist.c:2149
 #, c-format
 msgid "revoked: %s"
 msgstr "revocada: %s"
 
-#: g10/keyedit.c:3818 g10/keylist.c:2155
+#: g10/keyedit.c:3819 g10/keylist.c:2155
 #, c-format
 msgid "expired: %s"
 msgstr "caducó: %s"
 
-#: g10/keyedit.c:3820 g10/keyedit.c:3962 g10/keylist.c:266 g10/keylist.c:2161
-#: g10/keyserver.c:544
+#: g10/keyedit.c:3821 g10/keyedit.c:3963 g10/keylist.c:266 g10/keylist.c:2161
+#: g10/keyserver.c:367
 #, c-format
 msgid "expires: %s"
 msgstr "caduca: %s"
 
-#: g10/keyedit.c:3822
+#: g10/keyedit.c:3823
 #, c-format
 msgid "usage: %s"
 msgstr "uso: %s"
 
-#: g10/keyedit.c:3830 g10/keyedit.c:3850 g10/keylist.c:269
+#: g10/keyedit.c:3831 g10/keyedit.c:3851 g10/keylist.c:269
 msgid "card-no: "
 msgstr "num. tarjeta: "
 
-#: g10/keyedit.c:3889
+#: g10/keyedit.c:3890
 #, c-format
 msgid "trust: %s"
 msgstr "confianza: %s"
 
-#: g10/keyedit.c:3893
+#: g10/keyedit.c:3894
 #, c-format
 msgid "validity: %s"
 msgstr "validez: %s"
 
-#: g10/keyedit.c:3900
+#: g10/keyedit.c:3901
 msgid "This key has been disabled"
 msgstr "Esta clave está deshabilitada"
 
-#: g10/keyedit.c:3918
+#: g10/keyedit.c:3919
 msgid ""
 "Please note that the shown key validity is not necessarily correct\n"
 "unless you restart the program.\n"
@@ -4685,17 +4703,17 @@ msgstr ""
 "Ten en cuenta que la validez de clave mostrada no es necesariamente\n"
 "correcta a menos de que reinicies el programa.\n"
 
-#: g10/keyedit.c:3979 g10/keyedit.c:4410 g10/keyserver.c:548
-#: g10/mainproc.c:2371 g10/tofu.c:1787 g10/trust.c:437 dirmngr/ocsp.c:791
+#: g10/keyedit.c:3980 g10/keyedit.c:4411 g10/keyserver.c:371
+#: g10/mainproc.c:2380 g10/tofu.c:1787 g10/trust.c:437 dirmngr/ocsp.c:791
 msgid "revoked"
 msgstr "revocada"
 
-#: g10/keyedit.c:3981 g10/keyedit.c:4412 g10/keyserver.c:552
-#: g10/mainproc.c:2373 g10/tofu.c:1792 g10/trust.c:124
+#: g10/keyedit.c:3982 g10/keyedit.c:4413 g10/keyserver.c:375
+#: g10/mainproc.c:2382 g10/tofu.c:1792 g10/trust.c:124
 msgid "expired"
 msgstr "caducada"
 
-#: g10/keyedit.c:4098
+#: g10/keyedit.c:4099
 #, c-format
 msgid ""
 "WARNING: no user ID has been marked as primary.  This command may\n"
@@ -4704,17 +4722,17 @@ msgstr ""
 "AVISO: ningún ID de usuario está marcado como principal. Esta orden puede\n"
 "       causar que se tome como principal por defecto otro ID de usuario.\n"
 
-#: g10/keyedit.c:4150
+#: g10/keyedit.c:4151
 #, c-format
 msgid "WARNING: Your encryption subkey expires soon.\n"
 msgstr "AVISO: Tu subclave de cifrado caduca pronto.\n"
 
-#: g10/keyedit.c:4151
+#: g10/keyedit.c:4152
 #, c-format
 msgid "You may want to change its expiration date too.\n"
 msgstr "Puede que también quieras cambiar su fecha de caducidad.\n"
 
-#: g10/keyedit.c:4210
+#: g10/keyedit.c:4211
 msgid ""
 "WARNING: This is a PGP2-style key.  Adding a photo ID may cause some "
 "versions\n"
@@ -4723,72 +4741,72 @@ msgstr ""
 "AVISO: esta es una clave de tipo PGP2. Añadir un ID fotográfico puede\n"
 "hacer que algunas versiones de PGP rechacen esta clave.\n"
 
-#: g10/keyedit.c:4215 g10/keyedit.c:4505
+#: g10/keyedit.c:4216 g10/keyedit.c:4506
 msgid "Are you sure you still want to add it? (y/N) "
 msgstr "¿Está seguro de querer añadirla? (s/N) "
 
-#: g10/keyedit.c:4221
+#: g10/keyedit.c:4222
 msgid "You may not add a photo ID to a PGP2-style key.\n"
 msgstr "No puede añadir un ID fotográfico a una clave tipo PGP2.\n"
 
-#: g10/keyedit.c:4236 g10/keygen.c:2899
+#: g10/keyedit.c:4237 g10/keygen.c:2899
 msgid "Such a user ID already exists on this key!\n"
 msgstr "¡Ese ID de usuario ya existe en esta clave!\n"
 
-#: g10/keyedit.c:4338
+#: g10/keyedit.c:4339
 msgid "Delete this good signature? (y/N/q)"
 msgstr "¿Borrar esta firma correcta? (s/N/q)"
 
-#: g10/keyedit.c:4348
+#: g10/keyedit.c:4349
 msgid "Delete this invalid signature? (y/N/q)"
 msgstr "¿Borrar esta firma inválida? (s/N/q)"
 
-#: g10/keyedit.c:4352
+#: g10/keyedit.c:4353
 msgid "Delete this unknown signature? (y/N/q)"
 msgstr "¿Borrar esta firma desconocida? (s/N/q)"
 
-#: g10/keyedit.c:4359
+#: g10/keyedit.c:4360
 msgid "Really delete this self-signature? (y/N)"
 msgstr "¿Borrar realmente esta autofirma? (s/N)"
 
-#: g10/keyedit.c:4375
+#: g10/keyedit.c:4376
 #, c-format
 msgid "Deleted %d signature.\n"
 msgid_plural "Deleted %d signatures.\n"
 msgstr[0] "%d firma borrada.\n"
 msgstr[1] "%d firmas borradas.\n"
 
-#: g10/keyedit.c:4379
+#: g10/keyedit.c:4380
 msgid "Nothing deleted.\n"
 msgstr "No se borró nada\n"
 
-#: g10/keyedit.c:4414
+#: g10/keyedit.c:4415
 msgid "invalid"
 msgstr "inválida"
 
-#: g10/keyedit.c:4416
+#: g10/keyedit.c:4417
 #, c-format
 msgid "User ID \"%s\" compacted: %s\n"
 msgstr "ID de usuario \"%s\" compactado: %s\n"
 
-#: g10/keyedit.c:4422
+#: g10/keyedit.c:4423
 #, c-format
 msgid "User ID \"%s\": %d signature removed\n"
 msgid_plural "User ID \"%s\": %d signatures removed\n"
 msgstr[0] "ID de usuario \"%s\": %d firma borrada\n"
 msgstr[1] "ID de usuario \"%s\": %d firmas borradas\n"
 
-#: g10/keyedit.c:4430
+#: g10/keyedit.c:4431
 #, c-format
 msgid "User ID \"%s\": already minimized\n"
 msgstr "ID de usuario \"%s\": ya minimizado\n"
 
-#: g10/keyedit.c:4431
+#: g10/keyedit.c:4432
 #, c-format
 msgid "User ID \"%s\": already clean\n"
 msgstr "ID de usuario \"%s\" ya limpiado\n"
 
-#: g10/keyedit.c:4500
+#: g10/keyedit.c:4501
 msgid ""
 "WARNING: This is a PGP 2.x-style key.  Adding a designated revoker may "
 "cause\n"
@@ -4797,41 +4815,41 @@ msgstr ""
 "AVISO: esta es una clave tipo PGP2. Añadir un revocador designado puede\n"
 "       hacer que algunas versiones de PGP rechacen esta clave.\n"
 
-#: g10/keyedit.c:4511
+#: g10/keyedit.c:4512
 msgid "You may not add a designated revoker to a PGP 2.x-style key.\n"
 msgstr "No puede añadir un revocador designado a una clave tipo PGP2.\n"
 
-#: g10/keyedit.c:4528
+#: g10/keyedit.c:4529
 msgid "Enter the user ID of the designated revoker: "
 msgstr "Introduzca el ID de usuario del revocador designado: "
 
-#: g10/keyedit.c:4554
+#: g10/keyedit.c:4555
 #, c-format
 msgid "cannot appoint a PGP 2.x style key as a designated revoker\n"
 msgstr "no se puede elegir una clave tipo PGP 2.x como revocador designado\n"
 
-#: g10/keyedit.c:4569
+#: g10/keyedit.c:4570
 #, c-format
 msgid "you cannot appoint a key as its own designated revoker\n"
 msgstr "no puede elegir una clave como su propio revocador designado\n"
 
-#: g10/keyedit.c:4591
+#: g10/keyedit.c:4592
 #, c-format
 msgid "this key has already been designated as a revoker\n"
 msgstr "esta clave ya ha sido designada como revocadora\n"
 
-#: g10/keyedit.c:4609
+#: g10/keyedit.c:4610
 msgid "WARNING: appointing a key as a designated revoker cannot be undone!\n"
 msgstr ""
 "¡AVISO: no podrá deshacer la elección de clave como revocador designado!\n"
 
-#: g10/keyedit.c:4615
+#: g10/keyedit.c:4616
 msgid ""
 "Are you sure you want to appoint this key as a designated revoker? (y/N) "
 msgstr ""
 "¿Está seguro de querer elegir esta clave como revocador designado? (s/N) "
 
-#: g10/keyedit.c:4683
+#: g10/keyedit.c:4684
 msgid ""
 "Are you sure you want to change the expiration time for multiple subkeys? (y/"
 "N) "
@@ -4839,171 +4857,171 @@ msgstr ""
 "¿Está seguro de querer cambiar la fecha de caducidad para multiples "
 "subclaves? (s/N) "
 
-#: g10/keyedit.c:4688
+#: g10/keyedit.c:4689
 msgid "Changing expiration time for a subkey.\n"
 msgstr "Cambiando fecha de caducidad de subclave.\n"
 
-#: g10/keyedit.c:4691
+#: g10/keyedit.c:4692
 msgid "Changing expiration time for the primary key.\n"
 msgstr "Cambiando caducidad de clave primaria.\n"
 
-#: g10/keyedit.c:4747
+#: g10/keyedit.c:4748
 #, c-format
 msgid "You can't change the expiration date of a v3 key\n"
 msgstr "No puede cambiar la fecha de caducidad de una clave v3\n"
 
-#: g10/keyedit.c:4807
+#: g10/keyedit.c:4808
 msgid "Changing usage of a subkey.\n"
 msgstr "Cambiando el uso de una subclave.\n"
 
-#: g10/keyedit.c:4810
+#: g10/keyedit.c:4811
 msgid "Changing usage of the primary key.\n"
 msgstr "Cambiando uso de clave primaria.\n"
 
-#: g10/keyedit.c:4928
+#: g10/keyedit.c:4929
 #, c-format
 msgid "signing subkey %s is already cross-certified\n"
 msgstr "la subclave de firmado %s ya está certificada en cruz\n"
 
-#: g10/keyedit.c:4934
+#: g10/keyedit.c:4935
 #, c-format
 msgid "subkey %s does not sign and so does not need to be cross-certified\n"
 msgstr "la subclave %s no firma y así no necesita ser certificada en cruz\n"
 
-#: g10/keyedit.c:5051
+#: g10/keyedit.c:5052
 msgid "Please select exactly one user ID.\n"
 msgstr "Por favor seleccione exactamente un identificador de usuario.\n"
 
-#: g10/keyedit.c:5092 g10/keyedit.c:5206 g10/keyedit.c:5319 g10/keyedit.c:5457
+#: g10/keyedit.c:5093 g10/keyedit.c:5207 g10/keyedit.c:5320 g10/keyedit.c:5458
 #, c-format
 msgid "skipping v3 self-signature on user ID \"%s\"\n"
 msgstr "omitiendo autofirma V3 para el id \"%s\"\n"
 
-#: g10/keyedit.c:5263
+#: g10/keyedit.c:5264
 msgid "Enter your preferred keyserver URL: "
 msgstr "Introduzca la URL de su servidor de claves preferido: "
 
-#: g10/keyedit.c:5342
+#: g10/keyedit.c:5343
 msgid "Are you sure you want to replace it? (y/N) "
 msgstr "¿Seguro que quiere reemplazarlo? (s/N) "
 
-#: g10/keyedit.c:5343
+#: g10/keyedit.c:5344
 msgid "Are you sure you want to delete it? (y/N) "
 msgstr "¿Seguro que quiere borrarlo? (s/N) "
 
-#: g10/keyedit.c:5403
+#: g10/keyedit.c:5404
 msgid "Enter the notation: "
 msgstr "Introduzca la notación: "
 
-#: g10/keyedit.c:5550
+#: g10/keyedit.c:5551
 msgid "Proceed? (y/N) "
 msgstr "¿Continuar? (s/N) "
 
-#: g10/keyedit.c:5620
+#: g10/keyedit.c:5621
 #, c-format
 msgid "No user ID with index %d\n"
 msgstr "No hay ningún identificador de usuario con el índice %d\n"
 
-#: g10/keyedit.c:5682
+#: g10/keyedit.c:5683
 #, c-format
 msgid "No user ID with hash %s\n"
 msgstr "No hay ID de usuario con hash %s\n"
 
-#: g10/keyedit.c:5783
+#: g10/keyedit.c:5784
 #, c-format
 msgid "No subkey with key ID '%s'.\n"
 msgstr "No existe una subclave con ID de usuario '%s'.\n"
 
-#: g10/keyedit.c:5805
+#: g10/keyedit.c:5806
 #, c-format
 msgid "No subkey with index %d\n"
 msgstr "No existe una subclave con índice %d\n"
 
-#: g10/keyedit.c:5946
+#: g10/keyedit.c:5947
 #, c-format
 msgid "user ID: \"%s\"\n"
 msgstr "ID de usuario: \"%s\"\n"
 
-#: g10/keyedit.c:5949 g10/keyedit.c:6051 g10/keyedit.c:6099
+#: g10/keyedit.c:5950 g10/keyedit.c:6052 g10/keyedit.c:6100
 #, c-format
 msgid "signed by your key %s on %s%s%s\n"
 msgstr "firmada con su clave %s el %s%s%s\n"
 
-#: g10/keyedit.c:5951 g10/keyedit.c:6053 g10/keyedit.c:6101
+#: g10/keyedit.c:5952 g10/keyedit.c:6054 g10/keyedit.c:6102
 msgid " (non-exportable)"
 msgstr " (no exportable)"
 
-#: g10/keyedit.c:5955
+#: g10/keyedit.c:5956
 #, c-format
 msgid "This signature expired on %s.\n"
 msgstr "Esta firma caducó el %s.\n"
 
-#: g10/keyedit.c:5960
+#: g10/keyedit.c:5961
 msgid "Are you sure you still want to revoke it? (y/N) "
 msgstr "¿De verdad quiere revocarla? (s/N) "
 
-#: g10/keyedit.c:5965
+#: g10/keyedit.c:5966
 msgid "Create a revocation certificate for this signature? (y/N) "
 msgstr "¿Crear un certificado de revocación para esta clave? (s/N) "
 
-#: g10/keyedit.c:6025
+#: g10/keyedit.c:6026
 #, c-format
 msgid "You have signed these user IDs on key %s:\n"
 msgstr "Ha firmado estos IDs de usuario con la clave %s:\n"
 
-#: g10/keyedit.c:6054
+#: g10/keyedit.c:6055
 msgid " (non-revocable)"
 msgstr " (no revocable)"
 
-#: g10/keyedit.c:6061
+#: g10/keyedit.c:6062
 #, c-format
 msgid "revoked by your key %s on %s\n"
 msgstr "revocada por la clave %s el %s\n"
 
-#: g10/keyedit.c:6086
+#: g10/keyedit.c:6087
 msgid "You are about to revoke these signatures:\n"
 msgstr "Va a revocar las siguientes firmas:\n"
 
-#: g10/keyedit.c:6109
+#: g10/keyedit.c:6110
 msgid "Really create the revocation certificates? (y/N) "
 msgstr "¿Crear los certificados de revocación realmente? (s/N) "
 
-#: g10/keyedit.c:6142
+#: g10/keyedit.c:6143
 #, c-format
 msgid "no secret key\n"
 msgstr "no hay clave secreta\n"
 
-#: g10/keyedit.c:6190
+#: g10/keyedit.c:6191
 #, c-format
 msgid "tried to revoke a non-user ID: %s\n"
 msgstr "ha intentado revocar una ID no de usuario: %s\n"
 
-#: g10/keyedit.c:6200
+#: g10/keyedit.c:6201
 #, c-format
 msgid "user ID \"%s\" is already revoked\n"
 msgstr "ID de usuario \"%s\" ya ha sido revocado\n"
 
-#: g10/keyedit.c:6217
+#: g10/keyedit.c:6218
 #, c-format
 msgid "WARNING: a user ID signature is dated %d seconds in the future\n"
 msgstr "AVISO: un ID de usuario tiene fecha %d segundos en el futuro\n"
 
-#: g10/keyedit.c:6313
+#: g10/keyedit.c:6314
 #, c-format
 msgid "Cannot revoke the last valid user ID.\n"
 msgstr "No se puede revocar el último identificador de usuario válido\n"
 
-#: g10/keyedit.c:6351
+#: g10/keyedit.c:6352
 #, c-format
 msgid "Key %s is already revoked.\n"
 msgstr "La clave %s ya ha sido revocada.\n"
 
-#: g10/keyedit.c:6413
+#: g10/keyedit.c:6414
 #, c-format
 msgid "Subkey %s is already revoked.\n"
 msgstr "La subclave %s ya ha sido revocada.\n"
 
-#: g10/keyedit.c:6510
+#: g10/keyedit.c:6511
 #, c-format
 msgid "Displaying %s photo ID of size %ld for key %s (uid %d)\n"
 msgstr "Mostrando ID fotográfico %s de tamaño %ld para la clave %s (uid %d)\n"
@@ -5717,77 +5735,72 @@ msgstr "usar la URL de servidor de claves preferido presente en la clave"
 msgid "honor the PKA record set on a key when retrieving keys"
 msgstr "usar el registro PKA presente en una clave al recuperar claves"
 
-#: g10/keyserver.c:550
+#: g10/keyserver.c:373
 msgid "disabled"
 msgstr "deshabilitado"
 
-#: g10/keyserver.c:754
+#: g10/keyserver.c:577
 msgid "Enter number(s), N)ext, or Q)uit > "
 msgstr "Introduzca número(s), O)tro, o F)in > "
 
-#: g10/keyserver.c:860
+#: g10/keyserver.c:683
 #, c-format
 msgid "invalid keyserver protocol (us %d!=handler %d)\n"
 msgstr "protocolo del servidor de claves inválido (us %d!=handler %d)\n"
 
-#: g10/keyserver.c:1001 g10/keyserver.c:1116
+#: g10/keyserver.c:824 g10/keyserver.c:939
 #, c-format
 msgid "\"%s\" not a key ID: skipping\n"
 msgstr "\"%s\" no es un identificador de clave válido: omitido\n"
 
-#: g10/keyserver.c:1438 g10/keyserver.c:1471
+#: g10/keyserver.c:1237 g10/keyserver.c:1270
 #, c-format
 msgid "refreshing %d key from %s\n"
 msgid_plural "refreshing %d keys from %s\n"
 msgstr[0] "renovando %d clave desde %s\n"
 msgstr[1] "renovando %d claves desde %s\n"
 
-#: g10/keyserver.c:1445
+#: g10/keyserver.c:1244
 #, c-format
 msgid "WARNING: unable to refresh key %s via %s: %s\n"
 msgstr "AVISO: no se puede renovar la clave %s a traves de %s: %s\n"
 
-#: g10/keyserver.c:1549
+#: g10/keyserver.c:1336
 #, c-format
 msgid "key \"%s\" not found on keyserver\n"
 msgstr "clave \"%s\" no encontrada en el servidor\n"
 
-#: g10/keyserver.c:1552
+#: g10/keyserver.c:1339
 #, c-format
 msgid "key not found on keyserver\n"
 msgstr "clave no encontrada en el servidor\n"
 
-#: g10/keyserver.c:1743
-#, c-format
-msgid "requesting key %s from %s server %s\n"
-msgstr "solicitando clave %s de %s servidor %s\n"
-
-#: g10/keyserver.c:1747
+#: g10/keyserver.c:1504
 #, c-format
 msgid "requesting key %s from %s\n"
 msgstr "solicitando clave %s de %s\n"
 
-#: g10/keyserver.c:1852 g10/keyserver.c:2031
+#: g10/keyserver.c:1619 g10/keyserver.c:1798
 #, c-format
 msgid "no keyserver known\n"
 msgstr "ningún servidor de claves conocido\n"
 
-#: g10/keyserver.c:1867 g10/skclist.c:214 g10/skclist.c:242
+#: g10/keyserver.c:1634 g10/skclist.c:215 g10/skclist.c:243
 #, c-format
 msgid "skipped \"%s\": %s\n"
 msgstr "omitido \"%s\": %s\n"
 
-#: g10/keyserver.c:1871
+#: g10/keyserver.c:1638
 #, c-format
 msgid "sending key %s to %s\n"
 msgstr "enviando clave %s a %s\n"
 
-#: g10/keyserver.c:1912
+#: g10/keyserver.c:1679
 #, c-format
 msgid "requesting key from '%s'\n"
 msgstr "solicitando clave de %s\n"
 
-#: g10/keyserver.c:1928
+#: g10/keyserver.c:1695
 #, c-format
 msgid "WARNING: unable to fetch URI %s: %s\n"
 msgstr "AVISO: imposible recuperar URI %s: %s\n"
@@ -5802,255 +5815,255 @@ msgstr "tamaño anormal para una clave de sesión cifrada (%d)\n"
 msgid "%s encrypted session key\n"
 msgstr "%s clave de sesión cifrada\n"
 
-#: g10/mainproc.c:400
+#: g10/mainproc.c:403
 #, c-format
 msgid "passphrase generated with unknown digest algorithm %d\n"
 msgstr "frase contraseña generada con algoritmo de resumen desconocido %d\n"
 
-#: g10/mainproc.c:481
+#: g10/mainproc.c:485
 #, c-format
 msgid "public key is %s\n"
 msgstr "la clave pública es %s\n"
 
-#: g10/mainproc.c:557
+#: g10/mainproc.c:561
 #, c-format
 msgid "public key encrypted data: good DEK\n"
 msgstr "datos cifrados con la clave pública: DEK correcta\n"
 
-#: g10/mainproc.c:590
+#: g10/mainproc.c:594
 #, c-format
 msgid "encrypted with %u-bit %s key, ID %s, created %s\n"
 msgstr "cifrado con clave de %u bits %s, ID %s, creada el %s\n"
 
-#: g10/mainproc.c:594 g10/pkclist.c:228
+#: g10/mainproc.c:598 g10/pkclist.c:228
 #, c-format
 msgid "      \"%s\"\n"
 msgstr "      \"%s\"\n"
 
-#: g10/mainproc.c:598
+#: g10/mainproc.c:602
 #, c-format
 msgid "encrypted with %s key, ID %s\n"
 msgstr "cifrado con clave %s, ID %s\n"
 
-#: g10/mainproc.c:619
+#: g10/mainproc.c:623
 #, c-format
 msgid "public key decryption failed: %s\n"
 msgstr "descifrado de la clave pública fallido: %s\n"
 
-#: g10/mainproc.c:641 g10/mainproc.c:970
+#: g10/mainproc.c:645 g10/mainproc.c:976
 #, c-format
 msgid "WARNING: multiple plaintexts seen\n"
 msgstr "AVISO: se observan varios textos en claro\n"
 
-#: g10/mainproc.c:649
+#: g10/mainproc.c:653
 #, c-format
 msgid "encrypted with %lu passphrases\n"
 msgstr "cifrado con %lu frases contraseña\n"
 
-#: g10/mainproc.c:651
+#: g10/mainproc.c:655
 #, c-format
 msgid "encrypted with 1 passphrase\n"
 msgstr "cifrado con 1 frase contraseña\n"
 
-#: g10/mainproc.c:685 g10/mainproc.c:706
+#: g10/mainproc.c:689 g10/mainproc.c:710
 #, c-format
 msgid "assuming %s encrypted data\n"
 msgstr "suponiendo %s datos cifrados\n"
 
-#: g10/mainproc.c:692
+#: g10/mainproc.c:696
 #, c-format
 msgid "IDEA cipher unavailable, optimistically attempting to use %s instead\n"
 msgstr ""
 "cifrado IDEA no disponible, confiadamente intentamos usar %s en su lugar\n"
 
-#: g10/mainproc.c:779 g10/mainproc.c:817
+#: g10/mainproc.c:785 g10/mainproc.c:823
 #, c-format
 msgid "WARNING: message was not integrity protected\n"
 msgstr "ATENCIÓN: la intgridad del mensaje no está protegida\n"
 
-#: g10/mainproc.c:790
+#: g10/mainproc.c:796
 msgid ""
 "Hint: If this message was created before the year 2003 it is\n"
 "likely that this message is legitimate.  This is because back\n"
 "then integrity protection was not widely used.\n"
 msgstr ""
 
-#: g10/mainproc.c:793
+#: g10/mainproc.c:799
 #, c-format
 msgid "Use the option '%s' to decrypt anyway.\n"
 msgstr ""
 
-#: g10/mainproc.c:798
+#: g10/mainproc.c:804
 #, fuzzy, c-format
 #| msgid "decryption failed: %s\n"
 msgid "decryption forced to fail!\n"
 msgstr "descifrado fallido: %s\n"
 
-#: g10/mainproc.c:810
+#: g10/mainproc.c:816
 #, c-format
 msgid "decryption okay\n"
 msgstr "descifrado correcto\n"
 
-#: g10/mainproc.c:823
+#: g10/mainproc.c:829
 #, c-format
 msgid "WARNING: encrypted message has been manipulated!\n"
 msgstr "ATENCIÓN: ¡el mensaje cifrado ha sido manipulado!\n"
 
-#: g10/mainproc.c:841
+#: g10/mainproc.c:847
 #, c-format
 msgid "decryption failed: %s\n"
 msgstr "descifrado fallido: %s\n"
 
-#: g10/mainproc.c:886
+#: g10/mainproc.c:892
 #, c-format
 msgid "Note: sender requested \"for-your-eyes-only\"\n"
 msgstr "Atención: el remitente solicitó \"sólo-para-tus-ojos\"\n"
 
-#: g10/mainproc.c:893
+#: g10/mainproc.c:899
 #, c-format
 msgid "original file name='%.*s'\n"
 msgstr "nombre fichero original='%.*s'\n"
 
-#: g10/mainproc.c:1148
+#: g10/mainproc.c:1154
 #, c-format
 msgid "standalone revocation - use \"gpg --import\" to apply\n"
 msgstr "revocación independiente - use \"gpg --import\" para aplicarla\n"
 
-#: g10/mainproc.c:1452 g10/mainproc.c:1495
+#: g10/mainproc.c:1458 g10/mainproc.c:1501
 #, c-format
 msgid "no signature found\n"
 msgstr "no se encontró firma\n"
 
-#: g10/mainproc.c:1852
+#: g10/mainproc.c:1858
 #, c-format
 msgid "BAD signature from \"%s\""
 msgstr "Firma INCORRECTA de \"%s\""
 
-#: g10/mainproc.c:1854
+#: g10/mainproc.c:1860
 #, c-format
 msgid "Expired signature from \"%s\""
 msgstr "Firma caducada de \"%s\""
 
-#: g10/mainproc.c:1856
+#: g10/mainproc.c:1862
 #, c-format
 msgid "Good signature from \"%s\""
 msgstr "Firma correcta de \"%s\""
 
-#: g10/mainproc.c:1876
+#: g10/mainproc.c:1882
 #, c-format
 msgid "signature verification suppressed\n"
 msgstr "suprimida la verificación de la firma\n"
 
-#: g10/mainproc.c:1985
+#: g10/mainproc.c:1991
 #, c-format
 msgid "can't handle this ambiguous signature data\n"
 msgstr "no puedo manejar estos datos ambiguos en la firma\n"
 
-#: g10/mainproc.c:2001 g10/mainproc.c:2008
+#: g10/mainproc.c:2007 g10/mainproc.c:2014
 #, c-format
 msgid "Signature made %s\n"
 msgstr "Firmado el %s\n"
 
-#: g10/mainproc.c:2002 g10/mainproc.c:2009 sm/verify.c:476
+#: g10/mainproc.c:2008 g10/mainproc.c:2015 sm/verify.c:476
 #, c-format
 msgid "               using %s key %s\n"
 msgstr "               usando %s clave %s\n"
 
-#: g10/mainproc.c:2013
+#: g10/mainproc.c:2019
 #, c-format
 msgid "Signature made %s using %s key ID %s\n"
 msgstr "Firmado el %s usando clave %s ID %s\n"
 
-#: g10/mainproc.c:2019
+#: g10/mainproc.c:2025
 #, c-format
 msgid "               issuer \"%s\"\n"
 msgstr "               emisor \"%s\"\n"
 
-#: g10/mainproc.c:2070
+#: g10/mainproc.c:2076
 #, c-format
 msgid "Key available at: "
 msgstr "Clave disponible en: "
 
-#: g10/mainproc.c:2111
+#: g10/mainproc.c:2118
 #, c-format
 msgid "Note: Use '%s' to make use of this info\n"
 msgstr ""
 
-#: g10/mainproc.c:2325
+#: g10/mainproc.c:2334
 msgid "[uncertain]"
 msgstr "[incierto]"
 
-#: g10/mainproc.c:2363
+#: g10/mainproc.c:2372
 #, c-format
 msgid "                aka \"%s\""
 msgstr "                alias \"%s\""
 
-#: g10/mainproc.c:2438
+#: g10/mainproc.c:2447
 #, c-format
 msgid "WARNING: This key is not suitable for signing in %s mode\n"
 msgstr "ATENCIÓN: ¡Esta clave no se puede usar para firmar en modo %s!\n"
 
-#: g10/mainproc.c:2456
+#: g10/mainproc.c:2465
 #, c-format
 msgid "Signature expired %s\n"
 msgstr "Firma caducada en %s\n"
 
-#: g10/mainproc.c:2460
+#: g10/mainproc.c:2469
 #, c-format
 msgid "Signature expires %s\n"
 msgstr "La firma caduca el %s\n"
 
-#: g10/mainproc.c:2471
+#: g10/mainproc.c:2480
 #, c-format
 msgid "%s signature, digest algorithm %s%s%s\n"
 msgstr ""
 "firma %s, algoritmo de resumen %s%s%s\n"
 "\n"
 
-#: g10/mainproc.c:2472
+#: g10/mainproc.c:2481
 msgid "binary"
 msgstr "binaria"
 
-#: g10/mainproc.c:2473
+#: g10/mainproc.c:2482
 msgid "textmode"
 msgstr "modotexto"
 
-#: g10/mainproc.c:2473 g10/trust.c:123 dirmngr/ocsp.c:792
+#: g10/mainproc.c:2482 g10/trust.c:123 dirmngr/ocsp.c:792
 msgid "unknown"
 msgstr "desconocido"
 
-#: g10/mainproc.c:2475
+#: g10/mainproc.c:2484
 msgid ", key algorithm "
 msgstr ", algoritmo de clave pública "
 
-#: g10/mainproc.c:2510
+#: g10/mainproc.c:2519
 #, c-format
 msgid "WARNING: not a detached signature; file '%s' was NOT verified!\n"
 msgstr ""
 "ADVERTENCIA: firma no separada; ¡el archivo %s NO ha sido verificado!\n"
 
-#: g10/mainproc.c:2548
+#: g10/mainproc.c:2558
 #, c-format
 msgid "Can't check signature: %s\n"
 msgstr "Imposible comprobar la firma: %s\n"
 
-#: g10/mainproc.c:2644 g10/mainproc.c:2663 g10/mainproc.c:2787
+#: g10/mainproc.c:2654 g10/mainproc.c:2673 g10/mainproc.c:2797
 #, c-format
 msgid "not a detached signature\n"
 msgstr "no es una firma separada\n"
 
-#: g10/mainproc.c:2697
+#: g10/mainproc.c:2707
 #, c-format
 msgid ""
 "WARNING: multiple signatures detected.  Only the first will be checked.\n"
 msgstr "AVISO: detectadas múltiples firmas. Sólo la primera se comprueba.\n"
 
-#: g10/mainproc.c:2706
+#: g10/mainproc.c:2716
 #, c-format
 msgid "standalone signature of class 0x%02x\n"
 msgstr "firma independiente de clase 0x%02x\n"
 
-#: g10/mainproc.c:2791
+#: g10/mainproc.c:2801
 #, c-format
 msgid "old style (PGP 2.x) signature\n"
 msgstr "firma al viejo estilo (PGP 2.x)\n"
@@ -6234,51 +6247,57 @@ msgstr "Notación de firmas críticas: "
 msgid "subpacket of type %d has critical bit set\n"
 msgstr "el subpaquete de tipo %d tiene el bit crítico activado\n"
 
-#: g10/passphrase.c:73 g10/passphrase.c:275 g10/passphrase.c:308
+#: g10/passphrase.c:73 g10/passphrase.c:283 g10/passphrase.c:316
 #, c-format
 msgid "problem with the agent: %s\n"
 msgstr "problema con el agente: %s\n"
 
-#: g10/passphrase.c:258
+#: g10/passphrase.c:251 sm/decrypt.c:341
+#, fuzzy
+#| msgid "Please enter the new passphrase"
+msgid "Please enter the passphrase for decryption."
+msgstr "Por favor escriba la nueva frase contraseña"
+
+#: g10/passphrase.c:253
 msgid "Enter passphrase\n"
 msgstr "Introduzca frase contraseña\n"
 
-#: g10/passphrase.c:269
+#: g10/passphrase.c:277
 #, c-format
 msgid "cancelled by user\n"
 msgstr "cancelado por el usuario\n"
 
-#: g10/passphrase.c:510
+#: g10/passphrase.c:523
 #, c-format
 msgid " (main key ID %s)"
 msgstr " (ID de clave primaria %s)"
 
-#: g10/passphrase.c:517
+#: g10/passphrase.c:530
 msgid "Please enter the passphrase to unlock the OpenPGP secret key:"
 msgstr "Introduzca frase contraseña para desbloquear la clave secreta OpenPGP:"
 
-#: g10/passphrase.c:521
+#: g10/passphrase.c:534
 msgid "Please enter the passphrase to import the OpenPGP secret key:"
 msgstr "Introduzca frase contraseña para importar la clave secreta OpenPGP:"
 
-#: g10/passphrase.c:526
+#: g10/passphrase.c:539
 msgid "Please enter the passphrase to export the OpenPGP secret subkey:"
 msgstr "Introduzca frase contraseña para exportar la subclave secreta OpenPGP:"
 
-#: g10/passphrase.c:529
+#: g10/passphrase.c:542
 msgid "Please enter the passphrase to export the OpenPGP secret key:"
 msgstr "Introduzca frase contraseña para exportar la clave secreta OpenPGP:"
 
-#: g10/passphrase.c:534
+#: g10/passphrase.c:547
 msgid "Do you really want to permanently delete the OpenPGP secret subkey key:"
 msgstr ""
 "De verdad quiere borrar para siempre la subclave secreta de la clave OpenPGP:"
 
-#: g10/passphrase.c:537
+#: g10/passphrase.c:550
 msgid "Do you really want to permanently delete the OpenPGP secret key:"
 msgstr "De verdad quiere borrar para siempre la clave secreta OpenPGP:"
 
-#: g10/passphrase.c:546
+#: g10/passphrase.c:559
 #, c-format
 msgid ""
 "%s\n"
@@ -6334,7 +6353,7 @@ msgstr "'%s' no es un fichero JPEG\n"
 msgid "Is this photo correct (y/N/q)? "
 msgstr "¿Es correcta la foto? (s/n) "
 
-#: g10/photoid.c:395
+#: g10/photoid.c:399
 #, c-format
 msgid "unable to display photo ID!\n"
 msgstr "¡no puedo mostrar ID fotográfico!\n"
@@ -6690,7 +6709,7 @@ msgstr "imposible abrir datos firmados '%s'\n"
 msgid "can't open signed data fd=%d: %s\n"
 msgstr "imposible abrir datos firmados fd=%d: %s\n"
 
-#: g10/pubkey-enc.c:98 g10/pubkey-enc.c:139 sm/decrypt.c:493
+#: g10/pubkey-enc.c:98 g10/pubkey-enc.c:139 sm/decrypt.c:969
 #, c-format
 msgid "key %s is not suitable for decryption in %s mode\n"
 msgstr "la clave %s no se puede usar para cifrar en modo %s\n"
@@ -6705,27 +6724,27 @@ msgstr "destinatario anónimo; probando clave secreta %s ...\n"
 msgid "okay, we are the anonymous recipient.\n"
 msgstr "de acuerdo, somos el destinatario anónimo.\n"
 
-#: g10/pubkey-enc.c:321
+#: g10/pubkey-enc.c:311
 #, c-format
 msgid "old encoding of the DEK is not supported\n"
 msgstr "la antigua codificación de la DEK no puede usarse\n"
 
-#: g10/pubkey-enc.c:349
+#: g10/pubkey-enc.c:339
 #, c-format
 msgid "cipher algorithm %d%s is unknown or disabled\n"
 msgstr "algoritmo de cifrado %d%s desconocido o desactivado\n"
 
-#: g10/pubkey-enc.c:393
+#: g10/pubkey-enc.c:383
 #, c-format
 msgid "WARNING: cipher algorithm %s not found in recipient preferences\n"
 msgstr "NOTA: el cifrado %s no aparece en las preferencias del receptor\n"
 
-#: g10/pubkey-enc.c:426
+#: g10/pubkey-enc.c:416
 #, c-format
 msgid "Note: secret key %s expired at %s\n"
 msgstr "NOTA: clave secreta %s caducó el %s\n"
 
-#: g10/pubkey-enc.c:433
+#: g10/pubkey-enc.c:423
 #, c-format
 msgid "Note: key has been revoked"
 msgstr "NOTA: la clave ha sido revocada"
@@ -7048,7 +7067,7 @@ msgstr ""
 msgid "%s/%s signature from: \"%s\"\n"
 msgstr "%s/%s firma de: \"%s\"\n"
 
-#: g10/sign.c:1046
+#: g10/sign.c:1045
 #, c-format
 msgid ""
 "WARNING: forcing digest algorithm %s (%d) violates recipient preferences\n"
@@ -7056,32 +7075,32 @@ msgstr ""
 "AVISO: forzar el algoritmo de resumen %s (%d) va en contra de las\n"
 "preferencias del destinatario\n"
 
-#: g10/sign.c:1188
+#: g10/sign.c:1187
 #, c-format
 msgid "signing:"
 msgstr "firmando:"
 
-#: g10/sign.c:1465
+#: g10/sign.c:1464
 #, c-format
 msgid "%s encryption will be used\n"
 msgstr "se usará un cifrado %s\n"
 
-#: g10/skclist.c:173 g10/skclist.c:254
+#: g10/skclist.c:174 g10/skclist.c:255
 #, c-format
 msgid "key is not flagged as insecure - can't use it with the faked RNG!\n"
 msgstr "clave no marcada como insegura - no puede usarse con el pseudo RNG\n"
 
-#: g10/skclist.c:205
+#: g10/skclist.c:206
 #, c-format
 msgid "skipped \"%s\": duplicated\n"
 msgstr "\"%s\" omitido: duplicado\n"
 
-#: g10/skclist.c:224
+#: g10/skclist.c:225
 #, c-format
 msgid "skipped: secret key already present\n"
 msgstr "omitido: clave secreta ya presente\n"
 
-#: g10/skclist.c:243
+#: g10/skclist.c:244
 msgid "this is a PGP generated Elgamal key which is not secure for signatures!"
 msgstr ""
 "¡esta es una clave ElGamal generada por PGP que NO es segura para firmar!"
@@ -7136,7 +7155,7 @@ msgstr "error de lectura '%s': %s\n"
 msgid "trustdb: sync failed: %s\n"
 msgstr "base de datos de confianza: fallo sincronización: %s\n"
 
-#: g10/tdbio.c:144 sm/keydb.c:336
+#: g10/tdbio.c:144 sm/keydb.c:335
 #, c-format
 msgid "can't create lock for '%s'\n"
 msgstr "no se puede crear el bloqueo para '%s'\n"
@@ -7893,39 +7912,50 @@ msgstr ""
 #. TRANSLATORS: Put a \x1f right before a colon.  This can be
 #. * used by pinentry to nicely align the names and values.  Keep
 #. * the %s at the start and end of the string.
-#: scd/app-p15.c:3369 scd/app-openpgp.c:2153
+#: scd/app-p15.c:4955 scd/app-openpgp.c:2151
 #, c-format
 msgid "%sNumber\1f: %s%%0AHolder\1f: %s%s"
 msgstr "%sNúmero\1f: %s%%0ATitular\1f: %s%s"
 
 #. TRANSLATORS: This is the number of remaining attempts to
 #. * enter a PIN.  Use %%0A (double-percent,0A) for a linefeed.
-#: scd/app-p15.c:3388 scd/app-openpgp.c:2169
+#: scd/app-p15.c:4974 scd/app-openpgp.c:2167
 #, c-format
 msgid "Remaining attempts: %d"
 msgstr "Intentos disponibles: %d"
 
-#: scd/app-p15.c:3459 scd/app-nks.c:1110
+#: scd/app-p15.c:5053 scd/app-nks.c:1113
 msgid "||Please enter the PIN for the key to create qualified signatures."
 msgstr "||Introduzca un PIN para la clave que crea firmas cualificadas."
 
-#: scd/app-p15.c:3462 scd/app-nks.c:1092
+#. TRANSLATORS: Do not translate the "|A|" prefix but keep it at
+#. the start of the string.  Use %0A (single percent) for a linefeed.
+#: scd/app-p15.c:5056 scd/app-openpgp.c:2461
+msgid "|A|Please enter the Admin PIN"
+msgstr "|A|Por favor introduzca PIN de Administrador"
+
+#: scd/app-p15.c:5058 scd/app-nks.c:1103
+msgid "|P|Please enter the PIN Unblocking Code (PUK) for the standard keys."
+msgstr ""
+"|P|Por favor introduzca PIN Unblocking Code (PUK) para claves estándar."
+
+#: scd/app-p15.c:5061 scd/app-nks.c:1095
 msgid "||Please enter the PIN for the standard keys."
 msgstr "||Por favor, introduzca PIN para claves estándar."
 
-#: scd/app-nks.c:709 scd/app-openpgp.c:3664
+#: scd/app-nks.c:709 scd/app-openpgp.c:3663
 #, c-format
 msgid "RSA modulus missing or not of size %d bits\n"
 msgstr "falta el módulo RSA o no es de %d bits\n"
 
-#: scd/app-nks.c:717 scd/app-openpgp.c:3676
+#: scd/app-nks.c:717 scd/app-openpgp.c:3675
 #, c-format
 msgid "RSA public exponent missing or larger than %d bits\n"
 msgstr "falta el exponente público RSA o es mayor de %d bits\n"
 
-#: scd/app-nks.c:797 scd/app-openpgp.c:2326 scd/app-openpgp.c:2345
-#: scd/app-openpgp.c:2512 scd/app-openpgp.c:2530 scd/app-openpgp.c:2827
-#: scd/app-openpgp.c:2874 scd/app-openpgp.c:2989 scd/app-dinsig.c:303
+#: scd/app-nks.c:797 scd/app-openpgp.c:2324 scd/app-openpgp.c:2343
+#: scd/app-openpgp.c:2510 scd/app-openpgp.c:2528 scd/app-openpgp.c:2826
+#: scd/app-openpgp.c:2873 scd/app-openpgp.c:2988 scd/app-dinsig.c:302
 #, c-format
 msgid "PIN callback returned error: %s\n"
 msgstr "la función de manejo del PIN devolvió un error: %s\n"
@@ -7935,24 +7965,19 @@ msgstr "la función de manejo del PIN devolvió un error: %s\n"
 msgid "the NullPIN has not yet been changed\n"
 msgstr "el PIN-Nulo no ha sido cambiado\n"
 
-#: scd/app-nks.c:1091
+#: scd/app-nks.c:1094
 msgid "|N|Please enter a new PIN for the standard keys."
 msgstr "|N|Por favor introduzca un nuevo PIN para las claves estándar."
 
-#: scd/app-nks.c:1098
+#: scd/app-nks.c:1101
 msgid "|NP|Please enter a new PIN Unblocking Code (PUK) for the standard keys."
 msgstr "|NP|Introduzca nuevo PIN Unblocking Code (PUK) para claves estándar."
 
-#: scd/app-nks.c:1100
-msgid "|P|Please enter the PIN Unblocking Code (PUK) for the standard keys."
-msgstr ""
-"|P|Por favor introduzca PIN Unblocking Code (PUK) para claves estándar."
-
-#: scd/app-nks.c:1108
+#: scd/app-nks.c:1111
 msgid "|N|Please enter a new PIN for the key to create qualified signatures."
 msgstr "|N|Entre un nuevo PIN para la clave que crea firmas cualificadas."
 
-#: scd/app-nks.c:1118
+#: scd/app-nks.c:1121
 msgid ""
 "|NP|Please enter a new PIN Unblocking Code (PUK) for the key to create "
 "qualified signatures."
@@ -7960,7 +7985,7 @@ msgstr ""
 "|NP|Por favor introduzca un nuevo PIN Unblocking Code (PUK) para la clave "
 "que crea firmas cualificadas."
 
-#: scd/app-nks.c:1120
+#: scd/app-nks.c:1123
 msgid ""
 "|P|Please enter the PIN Unblocking Code (PUK) for the key to create "
 "qualified signatures."
@@ -7968,47 +7993,47 @@ msgstr ""
 "|P|Introduzca el PIN Unblocking Code (PUK) para que la clave pueda crear "
 "firmas cualificadas."
 
-#: scd/app-nks.c:1227 scd/app-openpgp.c:2908 scd/app-dinsig.c:531
+#: scd/app-nks.c:1230 scd/app-openpgp.c:2907 scd/app-dinsig.c:532
 #, c-format
 msgid "error getting new PIN: %s\n"
 msgstr "error obteniendo nuevo PIN: %s\n"
 
-#: scd/app-openpgp.c:860
+#: scd/app-openpgp.c:859
 #, c-format
 msgid "failed to store the fingerprint: %s\n"
 msgstr "fallo al almacenar la huella digital: %s\n"
 
-#: scd/app-openpgp.c:873
+#: scd/app-openpgp.c:872
 #, c-format
 msgid "failed to store the creation date: %s\n"
 msgstr "fallo guardando la fecha de creación: %s\n"
 
-#: scd/app-openpgp.c:1272 scd/app-openpgp.c:2855 scd/app-openpgp.c:5020
+#: scd/app-openpgp.c:1268 scd/app-openpgp.c:2854 scd/app-openpgp.c:5025
 #, c-format
 msgid "error retrieving CHV status from card\n"
 msgstr "error recuperando el estatus CHV de la tarjeta\n"
 
-#: scd/app-openpgp.c:1430
+#: scd/app-openpgp.c:1426
 #, c-format
 msgid "response does not contain the RSA modulus\n"
 msgstr "la respuesta no incluye el módulo RSA\n"
 
-#: scd/app-openpgp.c:1437
+#: scd/app-openpgp.c:1433
 #, c-format
 msgid "response does not contain the RSA public exponent\n"
 msgstr "la respuesta no incluye el exponente público RSA\n"
 
-#: scd/app-openpgp.c:1547
+#: scd/app-openpgp.c:1543
 #, c-format
 msgid "response does not contain the EC public key\n"
 msgstr "la respuesta no incluye la clave pública EC\n"
 
-#: scd/app-openpgp.c:1665 scd/app-openpgp.c:4284
+#: scd/app-openpgp.c:1661 scd/app-openpgp.c:4283
 #, c-format
 msgid "response does not contain the public key data\n"
 msgstr "la respuesta no incluye la clave pública\n"
 
-#: scd/app-openpgp.c:1772
+#: scd/app-openpgp.c:1768
 #, c-format
 msgid "reading public key failed: %s\n"
 msgstr "fallo al leer clave pública: %s\n"
@@ -8016,42 +8041,42 @@ msgstr "fallo al leer clave pública: %s\n"
 #. TRANSLATORS: Put a \x1f right before a colon.  This can be
 #. * used by pinentry to nicely align the names and values.  Keep
 #. * the %s at the start and end of the string.
-#: scd/app-openpgp.c:2140
+#: scd/app-openpgp.c:2138
 #, c-format
 msgid "%sNumber\1f: %s%%0AHolder\1f: %s%%0ACounter\1f: %lu%s"
 msgstr "%sNumber\1f: %s%%0AHolder\1f: %s%%0ACounter\1f: %lu%s"
 
-#: scd/app-openpgp.c:2280
+#: scd/app-openpgp.c:2278
 #, c-format
 msgid "using default PIN as %s\n"
 msgstr "usando PIN por defecto %s\n"
 
-#: scd/app-openpgp.c:2287
+#: scd/app-openpgp.c:2285
 #, c-format
 msgid "failed to use default PIN as %s: %s - disabling further default use\n"
 msgstr "fallo al usar el PIN por defecto %s: %s - en adelante deshabilitado\n"
 
-#: scd/app-openpgp.c:2300
+#: scd/app-openpgp.c:2298
 msgid "||Please unlock the card"
 msgstr "||Por favor desbloquee la tarjeta"
 
-#: scd/app-openpgp.c:2352 scd/app-openpgp.c:2537 scd/app-openpgp.c:2834
+#: scd/app-openpgp.c:2350 scd/app-openpgp.c:2535 scd/app-openpgp.c:2833
 #, c-format
 msgid "PIN for CHV%d is too short; minimum length is %d\n"
 msgstr "El PIN para CHV%d es demasiado corto; longitud mínima %d\n"
 
-#: scd/app-openpgp.c:2366 scd/app-openpgp.c:2413 scd/app-openpgp.c:2551
-#: scd/app-openpgp.c:4642
+#: scd/app-openpgp.c:2364 scd/app-openpgp.c:2411 scd/app-openpgp.c:2549
+#: scd/app-openpgp.c:4641
 #, c-format
 msgid "verify CHV%d failed: %s\n"
 msgstr "la verificación CHV%d falló: %s\n"
 
-#: scd/app-openpgp.c:2449 scd/app-openpgp.c:5029
+#: scd/app-openpgp.c:2447 scd/app-openpgp.c:5034
 #, c-format
 msgid "card is permanently locked!\n"
 msgstr "¡la tarjeta está bloqueada permanentemente!\n"
 
-#: scd/app-openpgp.c:2453
+#: scd/app-openpgp.c:2451
 #, c-format
 msgid "%d Admin PIN attempt remaining before card is permanently locked\n"
 msgid_plural ""
@@ -8063,26 +8088,20 @@ msgstr[1] ""
 "%d intentos quedan para PIN de administrador antes de "
 "bloquearpermanentemente la clave\n"
 
-#. TRANSLATORS: Do not translate the "|A|" prefix but keep it at
-#. the start of the string.  Use %0A (single percent) for a linefeed.
-#: scd/app-openpgp.c:2463
-msgid "|A|Please enter the Admin PIN"
-msgstr "|A|Por favor introduzca PIN de Administrador"
-
-#: scd/app-openpgp.c:2484
+#: scd/app-openpgp.c:2482
 #, c-format
 msgid "access to admin commands is not configured\n"
 msgstr "el acceso a órdenes de administrador no está configurado\n"
 
-#: scd/app-openpgp.c:2821
+#: scd/app-openpgp.c:2820
 msgid "||Please enter the PIN"
 msgstr "||Por favor introduzca PIN"
 
-#: scd/app-openpgp.c:2870
+#: scd/app-openpgp.c:2869
 msgid "||Please enter the Reset Code for the card"
 msgstr "||Por favor introduzca Código de Reinicio de la tarjeta"
 
-#: scd/app-openpgp.c:2880 scd/app-openpgp.c:2941
+#: scd/app-openpgp.c:2879 scd/app-openpgp.c:2940
 #, c-format
 msgid "Reset Code is too short; minimum length is %d\n"
 msgstr "Código de Reinicio demasiado corto; longitud mínima %d\n"
@@ -8090,133 +8109,133 @@ msgstr "Código de Reinicio demasiado corto; longitud mínima %d\n"
 #. TRANSLATORS: Do not translate the "|*|" prefixes but
 #. keep it at the start of the string.  We need this elsewhere
 #. to get some infos on the string.
-#: scd/app-openpgp.c:2903
+#: scd/app-openpgp.c:2902
 msgid "|RN|New Reset Code"
 msgstr "|RN|Nuevo Código de Reinicio"
 
-#: scd/app-openpgp.c:2904
+#: scd/app-openpgp.c:2903
 msgid "|AN|New Admin PIN"
 msgstr "|AN|Nuevo PIN Administrador"
 
-#: scd/app-openpgp.c:2904
+#: scd/app-openpgp.c:2903
 msgid "|N|New PIN"
 msgstr "|N|Nuevo PIN"
 
-#: scd/app-openpgp.c:2985
+#: scd/app-openpgp.c:2984
 msgid "||Please enter the Admin PIN and New Admin PIN"
 msgstr "||Introduzca el PIN de Administrador y el Nuevo PIN de Administrador"
 
-#: scd/app-openpgp.c:2986
+#: scd/app-openpgp.c:2985
 msgid "||Please enter the PIN and New PIN"
 msgstr "||Por favor introduzca el PIN y el Nuevo PIN"
 
-#: scd/app-openpgp.c:3048 scd/app-openpgp.c:4344
+#: scd/app-openpgp.c:3047 scd/app-openpgp.c:4343
 #, c-format
 msgid "error reading application data\n"
 msgstr "error al leer datos de la aplicación\n"
 
-#: scd/app-openpgp.c:3054 scd/app-openpgp.c:4351
+#: scd/app-openpgp.c:3053 scd/app-openpgp.c:4350
 #, c-format
 msgid "error reading fingerprint DO\n"
 msgstr "error al leer huella digital DO\n"
 
-#: scd/app-openpgp.c:3064
+#: scd/app-openpgp.c:3063
 #, c-format
 msgid "key already exists\n"
 msgstr "la clave ya existe\n"
 
-#: scd/app-openpgp.c:3068
+#: scd/app-openpgp.c:3067
 #, c-format
 msgid "existing key will be replaced\n"
 msgstr "la clave existente será reemplazada\n"
 
-#: scd/app-openpgp.c:3070
+#: scd/app-openpgp.c:3069
 #, c-format
 msgid "generating new key\n"
 msgstr "generando nueva clave\n"
 
-#: scd/app-openpgp.c:3072
+#: scd/app-openpgp.c:3071
 #, c-format
 msgid "writing new key\n"
 msgstr "escribiendo clave nueva\n"
 
-#: scd/app-openpgp.c:3645 scd/app-openpgp.c:3997
+#: scd/app-openpgp.c:3644 scd/app-openpgp.c:3996
 #, c-format
 msgid "creation timestamp missing\n"
 msgstr "falta fecha de creación\n"
 
-#: scd/app-openpgp.c:3686 scd/app-openpgp.c:3694
+#: scd/app-openpgp.c:3685 scd/app-openpgp.c:3693
 #, c-format
 msgid "RSA prime %s missing or not of size %d bits\n"
 msgstr "el primo RSA %s falta o no es de %d bits\n"
 
-#: scd/app-openpgp.c:3827 scd/app-openpgp.c:4104
+#: scd/app-openpgp.c:3826 scd/app-openpgp.c:4103
 #, c-format
 msgid "failed to store the key: %s\n"
 msgstr "fallo al almacenar la clave: %s\n"
 
-#: scd/app-openpgp.c:3991
+#: scd/app-openpgp.c:3990
 #, c-format
 msgid "unsupported curve\n"
 msgstr "curva no soportada\n"
 
-#: scd/app-openpgp.c:4261
+#: scd/app-openpgp.c:4260
 #, c-format
 msgid "please wait while key is being generated ...\n"
 msgstr "por favor, espere mientras se genera la clave ...\n"
 
-#: scd/app-openpgp.c:4269
+#: scd/app-openpgp.c:4268
 #, c-format
 msgid "generating key failed\n"
 msgstr "la generación de la clave falló\n"
 
-#: scd/app-openpgp.c:4275
+#: scd/app-openpgp.c:4274
 #, c-format
 msgid "key generation completed (%d second)\n"
 msgid_plural "key generation completed (%d seconds)\n"
 msgstr[0] "generación de clave completada (%d segundo)\n"
 msgstr[1] "generación de clave completada (%d segundos)\n"
 
-#: scd/app-openpgp.c:4309
+#: scd/app-openpgp.c:4308
 #, c-format
 msgid "invalid structure of OpenPGP card (DO 0x93)\n"
 msgstr "estructura de la tarjeta OpenPGP inválida (DO 0x93)\n"
 
-#: scd/app-openpgp.c:4359
+#: scd/app-openpgp.c:4358
 #, c-format
 msgid "fingerprint on card does not match requested one\n"
 msgstr "la huella digital en la tarjeta no coincide con la solicitada\n"
 
-#: scd/app-openpgp.c:4558
+#: scd/app-openpgp.c:4557
 #, c-format
 msgid "card does not support digest algorithm %s\n"
 msgstr "la tarjeta no permite usar el algoritmo de resumen %s\n"
 
-#: scd/app-openpgp.c:4616
+#: scd/app-openpgp.c:4615
 #, c-format
 msgid "signatures created so far: %lu\n"
 msgstr "firmas creadas hasta ahora: %lu\n"
 
-#: scd/app-openpgp.c:5034
+#: scd/app-openpgp.c:5039
 #, c-format
 msgid ""
 "verification of Admin PIN is currently prohibited through this command\n"
 msgstr ""
 "actualmente se prohibe verificar el PIN del Administrador con esta orden\n"
 
-#: scd/app-openpgp.c:5346 scd/app-openpgp.c:5357
+#: scd/app-openpgp.c:5351 scd/app-openpgp.c:5362
 #, c-format
 msgid "can't access %s - invalid OpenPGP card?\n"
 msgstr "no se puede acceder a %s - ¿tarjeta OpenPGP inválida?\n"
 
-#: scd/app-dinsig.c:299
+#: scd/app-dinsig.c:298
 msgid "||Please enter your PIN at the reader's pinpad"
 msgstr "||Por favor introduzca su PIN en el teclado del lector"
 
 #. TRANSLATORS: Do not translate the "|*|" prefixes but
 #. keep it at the start of the string.  We need this elsewhere
 #. to get some infos on the string.
-#: scd/app-dinsig.c:528
+#: scd/app-dinsig.c:529
 msgid "|N|Initial New PIN"
 msgstr "|N|Nuevo PIN Inicial"
 
@@ -8224,7 +8243,7 @@ msgstr "|N|Nuevo PIN Inicial"
 msgid "run in multi server mode (foreground)"
 msgstr "ejecutar en modo multi servidor (primer plano)"
 
-#: scd/scdaemon.c:129 sm/gpgsm.c:345 dirmngr/dirmngr.c:187
+#: scd/scdaemon.c:129 sm/gpgsm.c:348 dirmngr/dirmngr.c:188
 msgid "|LEVEL|set the debugging level to LEVEL"
 msgstr "|LEVEL|poner el nivel de depurado a NIVEL"
 
@@ -8244,31 +8263,31 @@ msgstr "|NAME|usa NOMBRE como driver ct-API"
 msgid "|NAME|use NAME as PC/SC driver"
 msgstr "|NAME|usa NOMBRE como driver PC/SC"
 
-#: scd/scdaemon.c:145
+#: scd/scdaemon.c:146
 msgid "do not use the internal CCID driver"
 msgstr "no usa el driverd del CCID interno"
 
-#: scd/scdaemon.c:151
+#: scd/scdaemon.c:152
 msgid "|N|disconnect the card after N seconds of inactivity"
 msgstr "|N|desconectar la tarjeta después de N segundos de inactividad"
 
-#: scd/scdaemon.c:154
+#: scd/scdaemon.c:155
 msgid "do not use a reader's pinpad"
 msgstr "no usar el teclado del lector"
 
-#: scd/scdaemon.c:159
+#: scd/scdaemon.c:160
 msgid "deny the use of admin card commands"
 msgstr "denegar órdenes de administración de la tarjeta"
 
-#: scd/scdaemon.c:162
+#: scd/scdaemon.c:163
 msgid "use variable length input for pinpad"
 msgstr "usar input the largo variable para el pinpad"
 
-#: scd/scdaemon.c:311
+#: scd/scdaemon.c:312
 msgid "Usage: @SCDAEMON@ [options] (-h for help)"
 msgstr "Uso: @SCDAEMON@ [opciones] (-h para ayuda)"
 
-#: scd/scdaemon.c:313
+#: scd/scdaemon.c:314
 msgid ""
 "Syntax: scdaemon [options] [command [args]]\n"
 "Smartcard daemon for @GNUPG@\n"
@@ -8276,17 +8295,17 @@ msgstr ""
 "Sintaxis: scdaemon [opciones] [orden [args]]\n"
 "Demonio de la tarjeta inteligente para @GNUPG@\n"
 
-#: scd/scdaemon.c:806
+#: scd/scdaemon.c:808
 #, c-format
 msgid "please use the option '--daemon' to run the program in the background\n"
 msgstr "use la opción '--daemon' para ejecutar el programa en segundo plano\n"
 
-#: scd/scdaemon.c:1183 dirmngr/dirmngr.c:2082
+#: scd/scdaemon.c:1185 dirmngr/dirmngr.c:2119
 #, c-format
 msgid "handler for fd %d started\n"
 msgstr "manejador del descriptor %d iniciado\n"
 
-#: scd/scdaemon.c:1195 dirmngr/dirmngr.c:2090
+#: scd/scdaemon.c:1197 dirmngr/dirmngr.c:2127
 #, c-format
 msgid "handler for fd %d terminated\n"
 msgstr "manejador del descriptor %d terminado\n"
@@ -8333,7 +8352,7 @@ msgstr "Nota: no se permiten políticas no críticas de certificados"
 msgid "certificate policy not allowed"
 msgstr "no se permite política de certificado"
 
-#: sm/certchain.c:595 sm/keydb.c:1106 sm/keydb.c:1192
+#: sm/certchain.c:595 sm/keydb.c:1084 sm/keydb.c:1171
 #, c-format
 msgid "failed to get the fingerprint\n"
 msgstr "fallo obteniendo huella digital\n"
@@ -8368,8 +8387,8 @@ msgstr "número de certificados coincidentes: %d\n"
 msgid "dirmngr cache-only key lookup failed: %s\n"
 msgstr "fallo buscando la clave sólo caché de dirmngr: %s\n"
 
-#: sm/certchain.c:1041 sm/certchain.c:1554 sm/certchain.c:2192 sm/decrypt.c:265
-#: sm/encrypt.c:344 sm/import.c:415 sm/keydb.c:1113 sm/keydb.c:1199
+#: sm/certchain.c:1041 sm/certchain.c:1554 sm/certchain.c:2192 sm/decrypt.c:728
+#: sm/encrypt.c:345 sm/import.c:415 sm/keydb.c:1091 sm/keydb.c:1178
 #: sm/sign.c:337 sm/verify.c:118
 #, c-format
 msgid "failed to allocate keyDB handle\n"
@@ -8562,13 +8581,13 @@ msgid "a %u bit hash is not valid for a %u bit %s key\n"
 msgstr "un hash de %u bits no vale para %u bits de la clave %s\n"
 
 #: sm/certcheck.c:238 sm/certcheck.c:262 dirmngr/crlcache.c:1542
-#: dirmngr/crlcache.c:1566 dirmngr/dirmngr.c:1324 dirmngr/validate.c:903
+#: dirmngr/crlcache.c:1566 dirmngr/dirmngr.c:1361 dirmngr/validate.c:903
 #: dirmngr/validate.c:927
 #, c-format
 msgid "out of core\n"
 msgstr "memoria desbordada\n"
 
-#: sm/certcheck.c:371 sm/verify.c:213
+#: sm/certcheck.c:370 sm/verify.c:213
 #, c-format
 msgid "(this is the MD2 algorithm)\n"
 msgstr "(es el algoritmo MD2)\n"
@@ -8858,22 +8877,34 @@ msgstr "Acabado. Debería mandar esta petición a su CA.\n"
 msgid "resource problem: out of core\n"
 msgstr "problema de recursos: memoria desbordada\n"
 
-#: sm/decrypt.c:341
+#: sm/decrypt.c:536
+#, fuzzy, c-format
+#| msgid "%s encrypted data\n"
+msgid "%s.%s encrypted data\n"
+msgstr "datos cifrados %s\n"
+
+#: sm/decrypt.c:803
 #, c-format
 msgid "(this is the RC2 algorithm)\n"
 msgstr "(el algoritmo RC2)\n"
 
-#: sm/decrypt.c:343
+#: sm/decrypt.c:805
 #, c-format
 msgid "(this does not seem to be an encrypted message)\n"
 msgstr "(no parece un mensaje cifrado)\n"
 
+#: sm/decrypt.c:958
+#, fuzzy, c-format
+#| msgid "encrypted with %s key, ID %s\n"
+msgid "encrypted to %s key %s\n"
+msgstr "cifrado con clave %s, ID %s\n"
+
 #: sm/delete.c:51 sm/delete.c:112
 #, c-format
 msgid "certificate '%s' not found: %s\n"
 msgstr "certificado '%s' no encontrado: %s\n"
 
-#: sm/delete.c:122 sm/keydb.c:1209 sm/keydb.c:1307
+#: sm/delete.c:122 sm/keydb.c:1189 sm/keydb.c:1288
 #, c-format
 msgid "error locking keybox: %s\n"
 msgstr "error bloqueando keybox: %s\n"
@@ -8893,92 +8924,92 @@ msgstr "certificado '%s' borrado\n"
 msgid "deleting certificate \"%s\" failed: %s\n"
 msgstr "borrado del certificado \"%s\" fallido: %s\n"
 
-#: sm/encrypt.c:330
+#: sm/encrypt.c:331
 #, c-format
 msgid "no valid recipients given\n"
 msgstr "no se dieron receptores válidos\n"
 
-#: sm/gpgsm.c:215
+#: sm/gpgsm.c:216
 msgid "list external keys"
 msgstr "lista claves externas"
 
-#: sm/gpgsm.c:217
+#: sm/gpgsm.c:218
 msgid "list certificate chain"
 msgstr "lista de cadenas de certificados"
 
-#: sm/gpgsm.c:225
+#: sm/gpgsm.c:226
 msgid "import certificates"
 msgstr "importa certificado"
 
-#: sm/gpgsm.c:226
+#: sm/gpgsm.c:227
 msgid "export certificates"
 msgstr "exporta certificado"
 
-#: sm/gpgsm.c:234
+#: sm/gpgsm.c:235
 msgid "register a smartcard"
 msgstr "registrar tarjeta inteligente"
 
-#: sm/gpgsm.c:237
+#: sm/gpgsm.c:238
 msgid "pass a command to the dirmngr"
 msgstr "pasar una orden a dirmngr"
 
-#: sm/gpgsm.c:239
+#: sm/gpgsm.c:240
 msgid "invoke gpg-protect-tool"
 msgstr "invocar gpg-protect-tool"
 
-#: sm/gpgsm.c:256
+#: sm/gpgsm.c:257
 msgid "create base-64 encoded output"
 msgstr "crea una salida en base-64"
 
-#: sm/gpgsm.c:265
+#: sm/gpgsm.c:266
 msgid "assume input is in PEM format"
 msgstr "asumir entrada en formato PEM"
 
-#: sm/gpgsm.c:267
+#: sm/gpgsm.c:268
 msgid "assume input is in base-64 format"
 msgstr "asumir entrada en formato base-64"
 
-#: sm/gpgsm.c:269
+#: sm/gpgsm.c:270
 msgid "assume input is in binary format"
 msgstr "asumir entrada en formato binario"
 
-#: sm/gpgsm.c:276
+#: sm/gpgsm.c:277
 msgid "never consult a CRL"
 msgstr "nunca consultar una CRL"
 
-#: sm/gpgsm.c:286
+#: sm/gpgsm.c:287
 msgid "check validity using OCSP"
 msgstr "comprabar validez usando OCSP"
 
-#: sm/gpgsm.c:291
+#: sm/gpgsm.c:292
 msgid "|N|number of certificates to include"
 msgstr "|N|número de certificados que incluir"
 
-#: sm/gpgsm.c:294
+#: sm/gpgsm.c:295
 msgid "|FILE|take policy information from FILE"
 msgstr "|FILE|tomar política de información de FICHERO"
 
-#: sm/gpgsm.c:297
+#: sm/gpgsm.c:298
 msgid "do not check certificate policies"
 msgstr "no comprobar políticas de certificados"
 
-#: sm/gpgsm.c:301
+#: sm/gpgsm.c:302
 msgid "fetch missing issuer certificates"
 msgstr "recuperar certificados de emisor perdidos"
 
-#: sm/gpgsm.c:312
+#: sm/gpgsm.c:313
 msgid "don't use the terminal at all"
 msgstr "no usa la terminal en absoluto"
 
-#: sm/gpgsm.c:314
+#: sm/gpgsm.c:315
 msgid "|FILE|write a server mode log to FILE"
 msgstr "|FILE|escribir un log en modo servidor en FICHERO"
 
-#: sm/gpgsm.c:319
+#: sm/gpgsm.c:320
 msgid "|FILE|write an audit log to FILE"
 msgstr "|FILE|escribir inform de auditoría a FICHERO"
 
-#: sm/gpgsm.c:322
+#: sm/gpgsm.c:323
 msgid "batch mode: never ask"
 msgstr "proceso por lotes: nunca preguntar"
 
@@ -8988,39 +9019,39 @@ msgstr "proceso por lotes: nunca preguntar"
 # Además una de las acepciones de asumir es "aceptar algo" y suponer
 # viene a ser asumir una idea como propia. Suponer "sí" en casi todas las
 # preguntas no me acaba de gustar.
-#: sm/gpgsm.c:323
+#: sm/gpgsm.c:324
 msgid "assume yes on most questions"
 msgstr "asume \"sí\" en casi todas las preguntas"
 
-#: sm/gpgsm.c:324
+#: sm/gpgsm.c:325
 msgid "assume no on most questions"
 msgstr "asume \"no\" en casi todas las preguntas"
 
-#: sm/gpgsm.c:327
+#: sm/gpgsm.c:328
 msgid "|FILE|add keyring to the list of keyrings"
 msgstr "|FILE|añade este anillo a la lista de anillos"
 
-#: sm/gpgsm.c:330
+#: sm/gpgsm.c:331
 msgid "|USER-ID|use USER-ID as default secret key"
 msgstr "|USER-ID|usa ID-USUARIO como clave secreta por defecto"
 
-#: sm/gpgsm.c:340 tools/gpgconf-comp.c:837
+#: sm/gpgsm.c:341 dirmngr/dirmngr.c:214 tools/gpgconf-comp.c:841
 msgid "|SPEC|use this keyserver to lookup keys"
 msgstr "|SPEC|usa este servidor para buscar claves"
 
-#: sm/gpgsm.c:357
+#: sm/gpgsm.c:360
 msgid "|NAME|use cipher algorithm NAME"
 msgstr "|NAME|usa el algoritmo de cifrado NOMBRE"
 
-#: sm/gpgsm.c:359
+#: sm/gpgsm.c:362
 msgid "|NAME|use message digest algorithm NAME"
 msgstr "|NAME|usa algoritmo de resumen de mensaje NOMBRE"
 
-#: sm/gpgsm.c:570
+#: sm/gpgsm.c:573
 msgid "Usage: @GPGSM@ [options] [files] (-h for help)"
 msgstr "Uso: @GPGSM@ [opciones] [ficheros] (-h para ayuda)"
 
-#: sm/gpgsm.c:573
+#: sm/gpgsm.c:576
 msgid ""
 "Syntax: @GPGSM@ [options] [files]\n"
 "Sign, check, encrypt or decrypt using the S/MIME protocol\n"
@@ -9030,47 +9061,27 @@ msgstr ""
 "firma, comprueba, cifra o descifra usando el protocolo S/MIME\n"
 "La operación predeterminada depende de los datos de entrada\n"
 
-#: sm/gpgsm.c:777
+#: sm/gpgsm.c:784
 #, c-format
 msgid "Note: won't be able to encrypt to '%s': %s\n"
 msgstr "Nota: no se podrá cifrar a '%s': %s\n"
 
-#: sm/gpgsm.c:788
+#: sm/gpgsm.c:795
 #, c-format
 msgid "unknown validation model '%s'\n"
 msgstr "modelo de validación desconocido '%s'\n"
 
-#: sm/gpgsm.c:839 dirmngr/ldapserver.c:86
-#, c-format
-msgid "%s:%u: no hostname given\n"
-msgstr "%s:%u: falta el nombre del host\n"
-
-#: sm/gpgsm.c:858 dirmngr/ldapserver.c:105
-#, c-format
-msgid "%s:%u: password given without user\n"
-msgstr "%s:%u: se dio contraseña sin usuario\n"
-
-#: sm/gpgsm.c:879 dirmngr/ldapserver.c:126
-#, c-format
-msgid "%s:%u: skipping this line\n"
-msgstr "%s:%u: omitir esta línea\n"
-
-#: sm/gpgsm.c:1449
-#, c-format
-msgid "could not parse keyserver\n"
-msgstr "no se puede interpretar el servidor de claves\n"
-
-#: sm/gpgsm.c:1712
+#: sm/gpgsm.c:1612
 #, c-format
 msgid "importing common certificates '%s'\n"
 msgstr "importando certificados comunes '%s'\n"
 
-#: sm/gpgsm.c:1755
+#: sm/gpgsm.c:1655
 #, c-format
 msgid "can't sign using '%s': %s\n"
 msgstr "no puedo firmar usando '%s': %s\n"
 
-#: sm/gpgsm.c:2122
+#: sm/gpgsm.c:2028
 #, c-format
 msgid "invalid command (there is no implicit command)\n"
 msgstr "orden inválida (no hay orden implícita)\n"
@@ -9090,7 +9101,7 @@ msgstr "error almacenando certificado\n"
 msgid "basic certificate checks failed - not imported\n"
 msgstr "fallaron comprobaciones básicas sobre el certificado - no importado\n"
 
-#: sm/import.c:472 sm/keydb.c:1229 sm/keydb.c:1319
+#: sm/import.c:472 sm/keydb.c:1209 sm/keydb.c:1300
 #, c-format
 msgid "error getting stored flags: %s\n"
 msgstr "error obteniendo parámetros almacenados: %s\n"
@@ -9105,27 +9116,27 @@ msgstr "error importando el certificado: %s\n"
 msgid "error reading input: %s\n"
 msgstr "error al leer la entrada: %s\n"
 
-#: sm/keydb.c:1148
+#: sm/keydb.c:1127
 #, c-format
 msgid "problem looking for existing certificate: %s\n"
 msgstr "problema buscando el certificado existente: %s\n"
 
-#: sm/keydb.c:1160
+#: sm/keydb.c:1139
 #, c-format
 msgid "error finding writable keyDB: %s\n"
 msgstr "error obteniendo keyDB para escribir: %s\n"
 
-#: sm/keydb.c:1168
+#: sm/keydb.c:1147
 #, c-format
 msgid "error storing certificate: %s\n"
 msgstr "error almacenando certificado: %s\n"
 
-#: sm/keydb.c:1220
+#: sm/keydb.c:1200
 #, c-format
 msgid "problem re-searching certificate: %s\n"
 msgstr "problema re-buscando el certificado: %s\n"
 
-#: sm/keydb.c:1241 sm/keydb.c:1330
+#: sm/keydb.c:1221 sm/keydb.c:1311
 #, c-format
 msgid "error storing flags: %s\n"
 msgstr "error almacenando parámetros: %s\n"
@@ -9165,7 +9176,7 @@ msgstr ""
 "\n"
 "%s%sEstá realmente seguro de querer hacer esto?"
 
-#: sm/qualified.c:215 sm/verify.c:678
+#: sm/qualified.c:215 sm/verify.c:679
 #, c-format
 msgid ""
 "Note, that this software is not officially approved to create or verify such "
@@ -9216,23 +9227,23 @@ msgstr "[no hay fecha]"
 msgid "algorithm:"
 msgstr "algoritmo: %s"
 
-#: sm/verify.c:535
+#: sm/verify.c:536
 #, c-format
 msgid ""
 "invalid signature: message digest attribute does not match computed one\n"
 msgstr "firma inválida: el resumen del mensaje no coincide con el calculado\n"
 
-#: sm/verify.c:656
+#: sm/verify.c:657
 #, c-format
 msgid "Good signature from"
 msgstr "Firma correcta de"
 
-#: sm/verify.c:657
+#: sm/verify.c:658
 #, c-format
 msgid "                aka"
 msgstr "                alias"
 
-#: sm/verify.c:675
+#: sm/verify.c:676
 #, c-format
 msgid "This is a qualified signature\n"
 msgstr "Es una firma cualificada\n"
@@ -9867,7 +9878,7 @@ msgid "error retrieving '%s': %s\n"
 msgstr "error recuperando '%s': %s\n"
 
 #: dirmngr/crlfetch.c:218 dirmngr/ldap-wrapper-ce.c:492
-#: dirmngr/ldap-wrapper.c:884 dirmngr/misc.c:573
+#: dirmngr/ldap-wrapper.c:885 dirmngr/misc.c:573
 #, c-format
 msgid "error initializing reader object: %s\n"
 msgstr "error al inicializar objeto lector: %s\n"
@@ -10025,110 +10036,110 @@ msgstr "espero la ruta absoluta del archivo\n"
 msgid "looking up '%s'\n"
 msgstr "buscando '%s'\n"
 
-#: dirmngr/dirmngr.c:170
+#: dirmngr/dirmngr.c:171
 msgid "list the contents of the CRL cache"
 msgstr "listar los contenidos del cache CRL"
 
-#: dirmngr/dirmngr.c:171
+#: dirmngr/dirmngr.c:172
 msgid "|FILE|load CRL from FILE into cache"
 msgstr "|FILE|carga CRL de FILE en la cache"
 
-#: dirmngr/dirmngr.c:172
+#: dirmngr/dirmngr.c:173
 msgid "|URL|fetch a CRL from URL"
 msgstr "|URL|carga un CRL de una URL"
 
-#: dirmngr/dirmngr.c:173
+#: dirmngr/dirmngr.c:174
 msgid "shutdown the dirmngr"
 msgstr "apaga el dirmngr"
 
-#: dirmngr/dirmngr.c:174
+#: dirmngr/dirmngr.c:175
 msgid "flush the cache"
 msgstr "descargar la memoria cache"
 
-#: dirmngr/dirmngr.c:190 tools/gpgconf-comp.c:522 tools/gpgconf-comp.c:741
-#: tools/gpgconf-comp.c:854 tools/gpgconf-comp.c:950
+#: dirmngr/dirmngr.c:191 tools/gpgconf-comp.c:522 tools/gpgconf-comp.c:745
+#: tools/gpgconf-comp.c:858 tools/gpgconf-comp.c:954
 msgid "|FILE|write server mode logs to FILE"
 msgstr "|FILE|escribir logs en modo servidor en FICHERO"
 
-#: dirmngr/dirmngr.c:191
+#: dirmngr/dirmngr.c:192
 msgid "run without asking a user"
 msgstr "arrancar sin preguntar a un usuario"
 
-#: dirmngr/dirmngr.c:192
+#: dirmngr/dirmngr.c:193
 msgid "force loading of outdated CRLs"
 msgstr "forzar la carga de CRLs caducados"
 
-#: dirmngr/dirmngr.c:193
+#: dirmngr/dirmngr.c:194
 msgid "allow sending OCSP requests"
 msgstr "permitir el envío de búsquedas OSCP"
 
-#: dirmngr/dirmngr.c:195
+#: dirmngr/dirmngr.c:196
 msgid "allow online software version check"
 msgstr "permitir el chequeo online de versiones de software"
 
-#: dirmngr/dirmngr.c:196
+#: dirmngr/dirmngr.c:197
 msgid "inhibit the use of HTTP"
 msgstr "inhibir el uso de HTTP"
 
-#: dirmngr/dirmngr.c:197
+#: dirmngr/dirmngr.c:198
 msgid "inhibit the use of LDAP"
 msgstr "inhibir el uso de LDAP"
 
-#: dirmngr/dirmngr.c:199
+#: dirmngr/dirmngr.c:200
 msgid "ignore HTTP CRL distribution points"
 msgstr "ignorar puntos de distribución CRL HTTP"
 
-#: dirmngr/dirmngr.c:201
+#: dirmngr/dirmngr.c:202
 msgid "ignore LDAP CRL distribution points"
 msgstr "ignorar puntos de distribución CRL LDAP"
 
-#: dirmngr/dirmngr.c:203
+#: dirmngr/dirmngr.c:204
 msgid "ignore certificate contained OCSP service URLs"
 msgstr "ignorar URLs de servicio contenidas en los certificados OSCP"
 
-#: dirmngr/dirmngr.c:206
+#: dirmngr/dirmngr.c:207
 msgid "|URL|redirect all HTTP requests to URL"
 msgstr "|URL|redirigir todos los pedidos HTTP a URL"
 
-#: dirmngr/dirmngr.c:208
+#: dirmngr/dirmngr.c:209
 msgid "|HOST|use HOST for LDAP queries"
 msgstr "|HOST|usar HOST para las consultas LDAP"
 
-#: dirmngr/dirmngr.c:210
+#: dirmngr/dirmngr.c:211
 msgid "do not use fallback hosts with --ldap-proxy"
 msgstr "no usar hosts de reserva con --ldap-proxy"
 
-#: dirmngr/dirmngr.c:213
+#: dirmngr/dirmngr.c:216
 msgid "|FILE|read LDAP server list from FILE"
 msgstr "|FILE|lee lista de servidores LDAP de FILE"
 
-#: dirmngr/dirmngr.c:215
+#: dirmngr/dirmngr.c:218
 msgid "add new servers discovered in CRL distribution points to serverlist"
 msgstr ""
 "añadir nuevos servidores descubiertos en los puntos de distribución CRL a la "
 "lista de servidores"
 
-#: dirmngr/dirmngr.c:218 dirmngr/dirmngr_ldap.c:137
+#: dirmngr/dirmngr.c:221
 msgid "|N|set LDAP timeout to N seconds"
 msgstr "|N|establecer vida máxima de LDAP en N segundos"
 
-#: dirmngr/dirmngr.c:221
+#: dirmngr/dirmngr.c:224
 msgid "|URL|use OCSP responder at URL"
 msgstr "|URL|usar contestador OSCP en la URL"
 
-#: dirmngr/dirmngr.c:223
+#: dirmngr/dirmngr.c:226
 msgid "|FPR|OCSP response signed by FPR"
 msgstr "|FPR|respuesta OCSP firmada por FPR"
 
-#: dirmngr/dirmngr.c:229
+#: dirmngr/dirmngr.c:232
 msgid "|N|do not return more than N items in one query"
 msgstr "|N|no devolver más de N items en una consulta"
 
-#: dirmngr/dirmngr.c:234
+#: dirmngr/dirmngr.c:237
 msgid "|FILE|use the CA certificates in FILE for HKP over TLS"
 msgstr "|FILE|usar los certificados CA en FILE para HKP a través de TLS"
 
-#: dirmngr/dirmngr.c:236
+#: dirmngr/dirmngr.c:239
 msgid "route all network traffic via Tor"
 msgstr "enrutar todo el tráfico a través de Tor"
 
@@ -10136,7 +10147,7 @@ msgstr "enrutar todo el tráfico a través de Tor"
 # página man -> página de manual
 # Vale. ¿del manual mejor?
 # Hmm, no sé, en man-db se usa "de". La verdad es que no lo he pensado.
-#: dirmngr/dirmngr.c:265
+#: dirmngr/dirmngr.c:268
 msgid ""
 "@\n"
 "(See the \"info\" manual for a complete listing of all commands and "
@@ -10145,11 +10156,11 @@ msgstr ""
 "@\n"
 "(Véase en la página del manual la lista completa de órdenes y opciones)\n"
 
-#: dirmngr/dirmngr.c:407
+#: dirmngr/dirmngr.c:415
 msgid "Usage: @DIRMNGR@ [options] (-h for help)"
 msgstr "Uso: @DIRMNGR@ [opciones] (-h para ayuda)"
 
-#: dirmngr/dirmngr.c:409
+#: dirmngr/dirmngr.c:417
 msgid ""
 "Syntax: @DIRMNGR@ [options] [command [args]]\n"
 "Keyserver, CRL, and OCSP access for @GNUPG@\n"
@@ -10157,269 +10168,103 @@ msgstr ""
 "Sintaxis: @DIRMNGR@ [opciones] [orden [argumentos]]\n"
 "Acceso al servidor de claves, CRL y OCSP para @GNUPG@\n"
 
-#: dirmngr/dirmngr.c:489
+#: dirmngr/dirmngr.c:497
 #, c-format
 msgid "valid debug levels are: %s\n"
 msgstr "los niveles de debug válidos son: %s\n"
 
-#: dirmngr/dirmngr.c:575 tools/gpgconf.c:647 tools/gpgconf.c:682
+#: dirmngr/dirmngr.c:583 tools/gpgconf.c:647 tools/gpgconf.c:682
 #: tools/gpgconf.c:780
 #, c-format
 msgid "usage: %s [options] "
 msgstr "uso: %s [opciones] "
 
-#: dirmngr/dirmngr.c:1212
+#: dirmngr/dirmngr.c:1249
 #, c-format
 msgid "colons are not allowed in the socket name\n"
 msgstr "los dos puntos(:) no están permitidos en el nombre del socket\n"
 
-#: dirmngr/dirmngr.c:1444 dirmngr/server.c:1824
+#: dirmngr/dirmngr.c:1481 dirmngr/server.c:1878
 #, c-format
 msgid "fetching CRL from '%s' failed: %s\n"
 msgstr "fallo al intentar descargar CRL desde '%s': %s\n"
 
-#: dirmngr/dirmngr.c:1450 dirmngr/server.c:1830
+#: dirmngr/dirmngr.c:1487 dirmngr/server.c:1884
 #, c-format
 msgid "processing CRL from '%s' failed: %s\n"
 msgstr "falló el procesamiento CRL desde '%s': %s\n"
 
-#: dirmngr/dirmngr.c:1645
+#: dirmngr/dirmngr.c:1682
 #, c-format
 msgid "%s:%u: line too long - skipped\n"
 msgstr "%s:%u: línea demasiado larga - omitida\n"
 
-#: dirmngr/dirmngr.c:1700 dirmngr/dirmngr.c:1784
+#: dirmngr/dirmngr.c:1737 dirmngr/dirmngr.c:1821
 #, c-format
 msgid "%s:%u: invalid fingerprint detected\n"
 msgstr "%s:%u: se detectó huella digital no válida\n"
 
-#: dirmngr/dirmngr.c:1736 dirmngr/dirmngr.c:1762 tools/gpgconf-comp.c:4191
+#: dirmngr/dirmngr.c:1773 dirmngr/dirmngr.c:1799 tools/gpgconf-comp.c:4199
 #, c-format
 msgid "%s:%u: read error: %s\n"
 msgstr "%s:%u: error de lectura: %s\n"
 
-#: dirmngr/dirmngr.c:1791
+#: dirmngr/dirmngr.c:1828
 #, c-format
 msgid "%s:%u: garbage at end of line ignored\n"
 msgstr "%s:%u: ignorada la basura al final de la línea\n"
 
-#: dirmngr/dirmngr.c:1860
+#: dirmngr/dirmngr.c:1897
 #, c-format
 msgid "SIGHUP received - re-reading configuration and flushing caches\n"
 msgstr "SIGHUP recibido - releyendo y haciendo correr las caches\n"
 
-#: dirmngr/dirmngr.c:1900
+#: dirmngr/dirmngr.c:1937
 #, c-format
 msgid "SIGUSR2 received - no action defined\n"
 msgstr "SIGUSR2 recibido - ninguna acción definida\n"
 
-#: dirmngr/dirmngr.c:1905
+#: dirmngr/dirmngr.c:1942
 #, c-format
 msgid "SIGTERM received - shutting down ...\n"
 msgstr "SIGTERM recibido - apagando ...\n"
 
-#: dirmngr/dirmngr.c:1907
+#: dirmngr/dirmngr.c:1944
 #, c-format
 msgid "SIGTERM received - still %d active connections\n"
 msgstr "SIGTERM recibido - todavía %d conexiones activas\n"
 
-#: dirmngr/dirmngr.c:1912
+#: dirmngr/dirmngr.c:1949
 #, c-format
 msgid "shutdown forced\n"
 msgstr "apagado forzado\n"
 
-#: dirmngr/dirmngr.c:1920
+#: dirmngr/dirmngr.c:1957
 #, c-format
 msgid "SIGINT received - immediate shutdown\n"
 msgstr "SIGINT recibido - apagado inmediato\n"
 
-#: dirmngr/dirmngr.c:1927
+#: dirmngr/dirmngr.c:1964
 #, c-format
 msgid "signal %d received - no action defined\n"
 msgstr "señal %d recibida - ninguna acción definida\n"
 
-#: dirmngr/dirmngr_ldap.c:138
-msgid "return all values in a record oriented format"
-msgstr "devuelve todos los valores en un formato orientado a record"
-
-#: dirmngr/dirmngr_ldap.c:141
-msgid "|NAME|ignore host part and connect through NAME"
-msgstr "|NAME|ignorar la parte del host y conectar con el NAME"
-
-#: dirmngr/dirmngr_ldap.c:142
-msgid "|NAME|connect to host NAME"
-msgstr "|NAME|conectar al host NAME"
-
-#: dirmngr/dirmngr_ldap.c:143
-msgid "|N|connect to port N"
-msgstr "|N|conectar al puerto N"
-
-#: dirmngr/dirmngr_ldap.c:144
-msgid "|NAME|use user NAME for authentication"
-msgstr "|NAME|usa NOMBRE como destinatario por defecto"
-
-#: dirmngr/dirmngr_ldap.c:145
-msgid "|PASS|use password PASS for authentication"
-msgstr "|PASS|usar la contraseña PASS para autentificación"
-
-#: dirmngr/dirmngr_ldap.c:147
-msgid "take password from $DIRMNGR_LDAP_PASS"
-msgstr "tomar el password de $DIRMNGR_LDAP_PASS"
-
-#: dirmngr/dirmngr_ldap.c:148
-msgid "|STRING|query DN STRING"
-msgstr "|STRING|preguntar DN STRING"
-
-#: dirmngr/dirmngr_ldap.c:149
-msgid "|STRING|use STRING as filter expression"
-msgstr "|STRING|usar FRASE como expresión de filtro"
-
-#: dirmngr/dirmngr_ldap.c:150
-msgid "|STRING|return the attribute STRING"
-msgstr "|STRING|devuelve el atributo STRING"
-
-#: dirmngr/dirmngr_ldap.c:211
-msgid "Usage: dirmngr_ldap [options] [URL] (-h for help)\n"
-msgstr "Uso: dirmngr_ldap [opciones] [URL] (-h para ayuda)\n"
-
-#: dirmngr/dirmngr_ldap.c:214
-msgid ""
-"Syntax: dirmngr_ldap [options] [URL]\n"
-"Internal LDAP helper for Dirmngr\n"
-"Interface and options may change without notice\n"
-msgstr ""
-"Syntaxis: dirmngr_ldap [opciones] [URL]\n"
-"Ayudante interno de LDAP para Dirmngr\n"
-"La interfaz y las opciones pueden cambiar sin previo aviso\n"
-
-#: dirmngr/dirmngr_ldap.c:340
-#, c-format
-msgid "invalid port number %d\n"
-msgstr "número de puerto inválido %d\n"
-
-#: dirmngr/dirmngr_ldap.c:456
-#, c-format
-msgid "scanning result for attribute '%s'\n"
-msgstr "resultado del scanning para el atributo '%s'\n"
-
-#: dirmngr/dirmngr_ldap.c:463 dirmngr/dirmngr_ldap.c:546
-#: dirmngr/dirmngr_ldap.c:570 dirmngr/dirmngr_ldap.c:582
-#: dirmngr/dirmngr_ldap.c:720
-#, c-format
-msgid "error writing to stdout: %s\n"
-msgstr "error al escribir a stdout: %s\n"
-
-#: dirmngr/dirmngr_ldap.c:480
-#, c-format
-msgid "          available attribute '%s'\n"
-msgstr "          atributo disponible '%s'\n"
-
-#: dirmngr/dirmngr_ldap.c:518
-#, c-format
-msgid "attribute '%s' not found\n"
-msgstr "atributo \"%s\" no encontrado\n"
-
-#: dirmngr/dirmngr_ldap.c:525
-#, c-format
-msgid "found attribute '%s'\n"
-msgstr "atributo \"%s\" encontrado\n"
-
-#: dirmngr/dirmngr_ldap.c:634
-#, c-format
-msgid "processing url '%s'\n"
-msgstr "procesando url '%s'\n"
-
-#: dirmngr/dirmngr_ldap.c:636
-#, c-format
-msgid "          user '%s'\n"
-msgstr "       usuario '%s'\n"
-
-#: dirmngr/dirmngr_ldap.c:638
-#, c-format
-msgid "          pass '%s'\n"
-msgstr "         pasar '%s'\n"
-
-#: dirmngr/dirmngr_ldap.c:640
-#, c-format
-msgid "          host '%s'\n"
-msgstr "          host '%s'\n"
-
-#: dirmngr/dirmngr_ldap.c:641
-#, c-format
-msgid "          port %d\n"
-msgstr "        puerto %d\n"
-
-#: dirmngr/dirmngr_ldap.c:643
-#, c-format
-msgid "            DN '%s'\n"
-msgstr "            DN '%s'\n"
-
-#: dirmngr/dirmngr_ldap.c:645
-#, c-format
-msgid "        filter '%s'\n"
-msgstr "        filtro '%s'\n"
-
-#: dirmngr/dirmngr_ldap.c:650 dirmngr/dirmngr_ldap.c:653
-#, c-format
-msgid "          attr '%s'\n"
-msgstr "           atr '%s'\n"
-
-#: dirmngr/dirmngr_ldap.c:659
-#, c-format
-msgid "no host name in '%s'\n"
-msgstr "no hay hostname en '%s'\n"
-
-#: dirmngr/dirmngr_ldap.c:664
-#, c-format
-msgid "no attribute given for query '%s'\n"
-msgstr "no se ha dado ningún atributo para la consulta '%s'\n"
-
-#: dirmngr/dirmngr_ldap.c:670
-#, c-format
-msgid "WARNING: using first attribute only\n"
-msgstr "ATENCIÓN: ¡se está usando sólo el primer atributo!\n"
-
-#: dirmngr/dirmngr_ldap.c:679
-#, c-format
-msgid "LDAP init to '%s:%d' failed: %s\n"
-msgstr "Inicialización LDAP a '%s:%d' ha fallado: %s\n"
-
-#: dirmngr/dirmngr_ldap.c:702
-#, c-format
-msgid "binding to '%s:%d' failed: %s\n"
-msgstr "ha fallado el binding con '%s:%d': %s\n"
-
-#: dirmngr/dirmngr_ldap.c:729
-#, c-format
-msgid "searching '%s' failed: %s\n"
-msgstr "ha fallado la búsqueda '%s': %s\n"
-
-#: dirmngr/dirmngr_ldap.c:761
-#, c-format
-msgid "'%s' is not an LDAP URL\n"
-msgstr "'%s' no es una URL LDAP\n"
-
-#: dirmngr/dirmngr_ldap.c:767
-#, c-format
-msgid "'%s' is an invalid LDAP URL\n"
-msgstr "'%s' no es una URL LDAP válida\n"
-
-#: dirmngr/http.c:1987 dirmngr/ocsp.c:255
+#: dirmngr/http.c:1993 dirmngr/ocsp.c:255
 #, c-format
 msgid "error accessing '%s': http status %u\n"
 msgstr "error mientras se accedía '%s': http status %u\n"
 
-#: dirmngr/http.c:3629 dirmngr/ocsp.c:229
+#: dirmngr/http.c:3644 dirmngr/ocsp.c:229
 #, c-format
 msgid "URL '%s' redirected to '%s' (%u)\n"
 msgstr "URL '%s' redirigida a '%s' (%u)\n"
 
-#: dirmngr/http.c:3635 dirmngr/ocsp.c:246
+#: dirmngr/http.c:3650 dirmngr/ocsp.c:246
 #, c-format
 msgid "too many redirections\n"
 msgstr "demasiadas redirecciones\n"
 
-#: dirmngr/http.c:3747
+#: dirmngr/http.c:3762
 #, fuzzy, c-format
 #| msgid "writing to '%s'\n"
 msgid "redirection changed to '%s'\n"
@@ -10460,31 +10305,51 @@ msgstr "error al esperar el wrapper %d de ldap: %s\n"
 msgid "ldap wrapper %d stalled - killing\n"
 msgstr "el wrapper %d de ldap está parado - matándolo\n"
 
-#: dirmngr/ldap.c:91
+#: dirmngr/ldap.c:92
 #, c-format
 msgid "invalid char 0x%02x in host name - not added\n"
 msgstr "caracter incorrecto 0x%02x en el nombre de host - no añadido\n"
 
-#: dirmngr/ldap.c:95
+#: dirmngr/ldap.c:96
 #, c-format
 msgid "adding '%s:%d' to the ldap server list\n"
 msgstr "añadiendo '%s:%d' a la lista de servidores ldap\n"
 
-#: dirmngr/ldap.c:98 dirmngr/misc.c:512
+#: dirmngr/ldap.c:99 dirmngr/misc.c:512
 #, c-format
 msgid "malloc failed: %s\n"
 msgstr "ha fallado malloc: %s\n"
 
-#: dirmngr/ldap.c:627
+#: dirmngr/ldap.c:221
 #, c-format
-msgid "start_cert_fetch: invalid pattern '%s'\n"
-msgstr "start_cert_fetch: patrón '%s' incorrecto\n"
+msgid "'%s' is not an LDAP URL\n"
+msgstr "'%s' no es una URL LDAP\n"
+
+#: dirmngr/ldap.c:227 dirmngr/ldap.c:233
+#, c-format
+msgid "'%s' is an invalid LDAP URL\n"
+msgstr "'%s' no es una URL LDAP válida\n"
 
-#: dirmngr/ldap.c:839
+#: dirmngr/ldap.c:969
 #, c-format
 msgid "ldap_search hit the size limit of the server\n"
 msgstr "ldap_search ha llegado al límite de tamaño del servidor\n"
 
+#: dirmngr/ldapserver.c:117
+#, c-format
+msgid "%s:%u: password given without user\n"
+msgstr "%s:%u: se dio contraseña sin usuario\n"
+
+#: dirmngr/ldapserver.c:181
+#, c-format
+msgid "%s:%u: ignoring unknown flag '%s'\n"
+msgstr ""
+
+#: dirmngr/ldapserver.c:203
+#, c-format
+msgid "%s:%u: skipping this line\n"
+msgstr "%s:%u: omitir esta línea\n"
+
 #: dirmngr/misc.c:172
 #, c-format
 msgid "invalid canonical S-expression found\n"
@@ -10667,71 +10532,67 @@ msgstr "el OCSP respondor ha devuelto un estado demasiado antiguo\n"
 msgid "assuan_inquire(%s) failed: %s\n"
 msgstr "ha fallado assuan_inquire(%s): %s\n"
 
-#: dirmngr/server.c:1158
-msgid "ldapserver missing"
-msgstr "falta el ldapserver"
-
-#: dirmngr/server.c:1224
+#: dirmngr/server.c:1277
 msgid "serialno missing in cert ID"
 msgstr "falta el número de serie en el ID del certificado"
 
-#: dirmngr/server.c:1387 dirmngr/server.c:1473 dirmngr/server.c:1909
-#: dirmngr/server.c:1980 dirmngr/server.c:2552 dirmngr/server.c:2567
+#: dirmngr/server.c:1440 dirmngr/server.c:1526 dirmngr/server.c:1963
+#: dirmngr/server.c:2034 dirmngr/server.c:2662 dirmngr/server.c:2677
 #, c-format
 msgid "assuan_inquire failed: %s\n"
 msgstr "ha fallado assuan_inquire: %s\n"
 
-#: dirmngr/server.c:1516
+#: dirmngr/server.c:1569
 #, c-format
 msgid "fetch_cert_by_url failed: %s\n"
 msgstr "ha fallado fetch_cert_by_url: %s\n"
 
-#: dirmngr/server.c:1528 dirmngr/server.c:1559 dirmngr/server.c:1718
+#: dirmngr/server.c:1581 dirmngr/server.c:1612 dirmngr/server.c:1772
 #, c-format
 msgid "error sending data: %s\n"
 msgstr "error al enviar datos: %s\n"
 
-#: dirmngr/server.c:1666
+#: dirmngr/server.c:1720
 #, c-format
 msgid "start_cert_fetch failed: %s\n"
 msgstr "ha fallado start_cert_fetch: %s\n"
 
-#: dirmngr/server.c:1699
+#: dirmngr/server.c:1753
 #, c-format
 msgid "fetch_next_cert failed: %s\n"
 msgstr "ha fallado fetch_next_cert: %s\n"
 
-#: dirmngr/server.c:1726
+#: dirmngr/server.c:1780
 #, c-format
 msgid "max_replies %d exceeded\n"
 msgstr "se ha excedido el número de respuestas(max_replies) %d\n"
 
-#: dirmngr/server.c:2856
+#: dirmngr/server.c:2966
 #, c-format
 msgid "can't allocate control structure: %s\n"
 msgstr "no puedo colocar la estructura de control: %s\n"
 
-#: dirmngr/server.c:2867
+#: dirmngr/server.c:2977
 #, c-format
 msgid "failed to allocate assuan context: %s\n"
 msgstr "fallo al reservar el contexto assuan: %s\n"
 
-#: dirmngr/server.c:2888
+#: dirmngr/server.c:2998
 #, c-format
 msgid "failed to initialize the server: %s\n"
 msgstr "ha fallado la inicialización del servidor: %s\n"
 
-#: dirmngr/server.c:2896
+#: dirmngr/server.c:3006
 #, c-format
 msgid "failed to the register commands with Assuan: %s\n"
 msgstr "fallo en las órdenes de registro con Assuan: %s\n"
 
-#: dirmngr/server.c:2929
+#: dirmngr/server.c:3039
 #, c-format
 msgid "Assuan accept problem: %s\n"
 msgstr "problema de aceptación Assuan: %s\n"
 
-#: dirmngr/server.c:2948
+#: dirmngr/server.c:3058
 #, c-format
 msgid "Assuan processing failed: %s\n"
 msgstr "ha fallado el procesado Assuan: %s\n"
@@ -10868,21 +10729,21 @@ msgid "error sending standard options: %s\n"
 msgstr "error enviando opciones estándar: %s\n"
 
 #: tools/gpgconf-comp.c:481 tools/gpgconf-comp.c:617 tools/gpgconf-comp.c:692
-#: tools/gpgconf-comp.c:804 tools/gpgconf-comp.c:906
+#: tools/gpgconf-comp.c:808 tools/gpgconf-comp.c:910
 msgid "Options controlling the diagnostic output"
 msgstr "Opciones que controlan la salida de diagnósticos"
 
 #: tools/gpgconf-comp.c:494 tools/gpgconf-comp.c:630 tools/gpgconf-comp.c:705
-#: tools/gpgconf-comp.c:817 tools/gpgconf-comp.c:929
+#: tools/gpgconf-comp.c:821 tools/gpgconf-comp.c:933
 msgid "Options controlling the configuration"
 msgstr "Opciones que controlan la configuración"
 
-#: tools/gpgconf-comp.c:517 tools/gpgconf-comp.c:659 tools/gpgconf-comp.c:736
-#: tools/gpgconf-comp.c:849 tools/gpgconf-comp.c:942
+#: tools/gpgconf-comp.c:517 tools/gpgconf-comp.c:659 tools/gpgconf-comp.c:740
+#: tools/gpgconf-comp.c:853 tools/gpgconf-comp.c:946
 msgid "Options useful for debugging"
 msgstr "Opciones útiles para el depurado"
 
-#: tools/gpgconf-comp.c:530 tools/gpgconf-comp.c:669 tools/gpgconf-comp.c:862
+#: tools/gpgconf-comp.c:530 tools/gpgconf-comp.c:669 tools/gpgconf-comp.c:866
 msgid "Options controlling the security"
 msgstr "Opciones que controlan la seguridad"
 
@@ -10930,11 +10791,11 @@ msgstr "no permite reusar antiguas frases contraseña"
 msgid "|N|set the Pinentry timeout to N seconds"
 msgstr "|N|establecer vida máxima de Pinentry en N segundos"
 
-#: tools/gpgconf-comp.c:707 tools/gpgconf-comp.c:819
+#: tools/gpgconf-comp.c:707 tools/gpgconf-comp.c:823
 msgid "|NAME|use NAME as default secret key"
 msgstr "|NAME|usa NOMBRE como clave secreta por defecto"
 
-#: tools/gpgconf-comp.c:710 tools/gpgconf-comp.c:822
+#: tools/gpgconf-comp.c:710 tools/gpgconf-comp.c:826
 msgid "|NAME|encrypt to user ID NAME as well"
 msgstr "|NAME|cifra para el ususario NOMBRE también"
 
@@ -10942,95 +10803,95 @@ msgstr "|NAME|cifra para el ususario NOMBRE también"
 msgid "|SPEC|set up email aliases"
 msgstr "|SPEC|establecer alias de email"
 
-#: tools/gpgconf-comp.c:749 tools/gpgconf-comp.c:981
+#: tools/gpgconf-comp.c:753 tools/gpgconf-comp.c:985
 msgid "Configuration for Keyservers"
 msgstr "Configuración para servidores de claves"
 
-#: tools/gpgconf-comp.c:751 tools/gpgconf-comp.c:983
+#: tools/gpgconf-comp.c:755 tools/gpgconf-comp.c:987
 msgid "|URL|use keyserver at URL"
 msgstr "|URL|usar servidor de claves en URL"
 
-#: tools/gpgconf-comp.c:754
+#: tools/gpgconf-comp.c:758
 msgid "allow PKA lookups (DNS requests)"
 msgstr "permitir búsquedas PKA (peticiones DNS)"
 
-#: tools/gpgconf-comp.c:757
+#: tools/gpgconf-comp.c:761
 msgid "|MECHANISMS|use MECHANISMS to locate keys by mail address"
 msgstr "|MECHANISMS|usa MECANISMOS para encontrar claves por emails"
 
-#: tools/gpgconf-comp.c:760
+#: tools/gpgconf-comp.c:764
 #, fuzzy
 #| msgid "import keys from a keyserver"
 msgid "import missing key from a signature"
 msgstr "importa claves desde un servidor de claves"
 
-#: tools/gpgconf-comp.c:763
+#: tools/gpgconf-comp.c:767
 #, fuzzy
 #| msgid "list and check key signatures"
 msgid "include the public key in signatures"
 msgstr "lista y comprueba firmas de las claves"
 
-#: tools/gpgconf-comp.c:770 tools/gpgconf-comp.c:831
+#: tools/gpgconf-comp.c:774 tools/gpgconf-comp.c:835
 msgid "disable all access to the dirmngr"
 msgstr "prohibir todo acceso al dirmngr"
 
-#: tools/gpgconf-comp.c:834
+#: tools/gpgconf-comp.c:838
 msgid "|NAME|use encoding NAME for PKCS#12 passphrases"
 msgstr "|NAME|usa la codificación NOMBRE para frases contraseña PKCS#12"
 
-#: tools/gpgconf-comp.c:870
+#: tools/gpgconf-comp.c:874
 msgid "do not check CRLs for root certificates"
 msgstr "no comprobar CRLs para certificados raíz"
 
-#: tools/gpgconf-comp.c:919
+#: tools/gpgconf-comp.c:923
 msgid "Options controlling the format of the output"
 msgstr "Opciones que controlan el formato de la salida"
 
-#: tools/gpgconf-comp.c:961
+#: tools/gpgconf-comp.c:965
 msgid "Options controlling the interactivity and enforcement"
 msgstr "Opciones que controlan la interactividad y obligación"
 
-#: tools/gpgconf-comp.c:974
+#: tools/gpgconf-comp.c:978
 msgid "Options controlling the use of Tor"
 msgstr "Opciones que controlan el uso de Tor"
 
-#: tools/gpgconf-comp.c:988
+#: tools/gpgconf-comp.c:992
 msgid "Configuration for HTTP servers"
 msgstr "Configuración de servidores HTTP"
 
-#: tools/gpgconf-comp.c:999
+#: tools/gpgconf-comp.c:1003
 msgid "use system's HTTP proxy setting"
 msgstr "usar configuración del proxy HTTP del sistema"
 
-#: tools/gpgconf-comp.c:1004
+#: tools/gpgconf-comp.c:1008
 msgid "Configuration of LDAP servers to use"
 msgstr "Configuración de servidores LDAP que se usará"
 
-#: tools/gpgconf-comp.c:1033
+#: tools/gpgconf-comp.c:1037
 msgid "LDAP server list"
 msgstr "lista de servidores LDAP"
 
-#: tools/gpgconf-comp.c:1041
+#: tools/gpgconf-comp.c:1045
 msgid "Configuration for OCSP"
 msgstr "Configuración de OCSP"
 
-#: tools/gpgconf-comp.c:1094
+#: tools/gpgconf-comp.c:1098
 msgid "OpenPGP"
 msgstr "OpenPGP"
 
-#: tools/gpgconf-comp.c:1095
+#: tools/gpgconf-comp.c:1099
 msgid "Private Keys"
 msgstr "Claves privados"
 
-#: tools/gpgconf-comp.c:1096
+#: tools/gpgconf-comp.c:1100
 msgid "Smartcards"
 msgstr "Smartcards"
 
-#: tools/gpgconf-comp.c:1097
+#: tools/gpgconf-comp.c:1101
 msgid "S/MIME"
 msgstr "S/MIME"
 
-#: tools/gpgconf-comp.c:1098
+#: tools/gpgconf-comp.c:1102
 msgid "Network"
 msgstr "Red"
 
@@ -11043,41 +10904,41 @@ msgstr "Red"
 # ¿Por qué los ingleses entonces sí que saben lo que es un "passphrase"?
 # ¿Es que son más listos? :-)
 #
-#: tools/gpgconf-comp.c:1099
+#: tools/gpgconf-comp.c:1103
 msgid "Passphrase Entry"
 msgstr "Frase contraseña"
 
-#: tools/gpgconf-comp.c:1278
+#: tools/gpgconf-comp.c:1282
 msgid "Component not suitable for launching"
 msgstr "Componente no adecuando para lanzamiento"
 
-#: tools/gpgconf-comp.c:1284
+#: tools/gpgconf-comp.c:1288
 #, fuzzy, c-format
 #| msgid "External verification of component %s failed"
 msgid "Configuration file of component %s is broken\n"
 msgstr "Verificación externa del componente %s fallida"
 
-#: tools/gpgconf-comp.c:1287
+#: tools/gpgconf-comp.c:1291
 #, fuzzy, c-format
 #| msgid "Note: Use the command \"%s\" to restart them.\n"
 msgid "Note: Use the command \"%s%s\" to get details.\n"
 msgstr "Atención: Usa el comando \"%s\" para reiniciarlos.\n"
 
-#: tools/gpgconf-comp.c:3446
+#: tools/gpgconf-comp.c:3454
 #, c-format
 msgid "External verification of component %s failed"
 msgstr "Verificación externa del componente %s fallida"
 
-#: tools/gpgconf-comp.c:3597
+#: tools/gpgconf-comp.c:3605
 msgid "Note that group specifications are ignored\n"
 msgstr "Note que las especificación de grupo se ignoran\n"
 
-#: tools/gpgconf-comp.c:4195
+#: tools/gpgconf-comp.c:4203
 #, c-format
 msgid "error closing '%s'\n"
 msgstr "error al cerrar '%s'\n"
 
-#: tools/gpgconf-comp.c:4197
+#: tools/gpgconf-comp.c:4205
 #, c-format
 msgid "error parsing '%s'\n"
 msgstr "error al leer '%s'\n"
@@ -11184,6 +11045,123 @@ msgstr ""
 "Compara frase contraseña dada en entrada estándar con un fichero de "
 "patrones\n"
 
+#~ msgid "requesting key %s from %s server %s\n"
+#~ msgstr "solicitando clave %s de %s servidor %s\n"
+
+#~ msgid "%s:%u: no hostname given\n"
+#~ msgstr "%s:%u: falta el nombre del host\n"
+
+#~ msgid "could not parse keyserver\n"
+#~ msgstr "no se puede interpretar el servidor de claves\n"
+
+#~ msgid "return all values in a record oriented format"
+#~ msgstr "devuelve todos los valores en un formato orientado a record"
+
+#~ msgid "|NAME|ignore host part and connect through NAME"
+#~ msgstr "|NAME|ignorar la parte del host y conectar con el NAME"
+
+#~ msgid "|NAME|connect to host NAME"
+#~ msgstr "|NAME|conectar al host NAME"
+
+#~ msgid "|N|connect to port N"
+#~ msgstr "|N|conectar al puerto N"
+
+#~ msgid "|NAME|use user NAME for authentication"
+#~ msgstr "|NAME|usa NOMBRE como destinatario por defecto"
+
+#~ msgid "|PASS|use password PASS for authentication"
+#~ msgstr "|PASS|usar la contraseña PASS para autentificación"
+
+#~ msgid "take password from $DIRMNGR_LDAP_PASS"
+#~ msgstr "tomar el password de $DIRMNGR_LDAP_PASS"
+
+#~ msgid "|STRING|query DN STRING"
+#~ msgstr "|STRING|preguntar DN STRING"
+
+#~ msgid "|STRING|use STRING as filter expression"
+#~ msgstr "|STRING|usar FRASE como expresión de filtro"
+
+#~ msgid "|STRING|return the attribute STRING"
+#~ msgstr "|STRING|devuelve el atributo STRING"
+
+#~ msgid "Usage: dirmngr_ldap [options] [URL] (-h for help)\n"
+#~ msgstr "Uso: dirmngr_ldap [opciones] [URL] (-h para ayuda)\n"
+
+#~ msgid ""
+#~ "Syntax: dirmngr_ldap [options] [URL]\n"
+#~ "Internal LDAP helper for Dirmngr\n"
+#~ "Interface and options may change without notice\n"
+#~ msgstr ""
+#~ "Syntaxis: dirmngr_ldap [opciones] [URL]\n"
+#~ "Ayudante interno de LDAP para Dirmngr\n"
+#~ "La interfaz y las opciones pueden cambiar sin previo aviso\n"
+
+#~ msgid "invalid port number %d\n"
+#~ msgstr "número de puerto inválido %d\n"
+
+#~ msgid "scanning result for attribute '%s'\n"
+#~ msgstr "resultado del scanning para el atributo '%s'\n"
+
+#~ msgid "error writing to stdout: %s\n"
+#~ msgstr "error al escribir a stdout: %s\n"
+
+#~ msgid "          available attribute '%s'\n"
+#~ msgstr "          atributo disponible '%s'\n"
+
+#~ msgid "attribute '%s' not found\n"
+#~ msgstr "atributo \"%s\" no encontrado\n"
+
+#~ msgid "found attribute '%s'\n"
+#~ msgstr "atributo \"%s\" encontrado\n"
+
+#~ msgid "processing url '%s'\n"
+#~ msgstr "procesando url '%s'\n"
+
+#~ msgid "          user '%s'\n"
+#~ msgstr "       usuario '%s'\n"
+
+#~ msgid "          pass '%s'\n"
+#~ msgstr "         pasar '%s'\n"
+
+#~ msgid "          host '%s'\n"
+#~ msgstr "          host '%s'\n"
+
+#~ msgid "          port %d\n"
+#~ msgstr "        puerto %d\n"
+
+#~ msgid "            DN '%s'\n"
+#~ msgstr "            DN '%s'\n"
+
+#~ msgid "        filter '%s'\n"
+#~ msgstr "        filtro '%s'\n"
+
+#~ msgid "          attr '%s'\n"
+#~ msgstr "           atr '%s'\n"
+
+#~ msgid "no host name in '%s'\n"
+#~ msgstr "no hay hostname en '%s'\n"
+
+#~ msgid "no attribute given for query '%s'\n"
+#~ msgstr "no se ha dado ningún atributo para la consulta '%s'\n"
+
+#~ msgid "WARNING: using first attribute only\n"
+#~ msgstr "ATENCIÓN: ¡se está usando sólo el primer atributo!\n"
+
+#~ msgid "LDAP init to '%s:%d' failed: %s\n"
+#~ msgstr "Inicialización LDAP a '%s:%d' ha fallado: %s\n"
+
+#~ msgid "binding to '%s:%d' failed: %s\n"
+#~ msgstr "ha fallado el binding con '%s:%d': %s\n"
+
+#~ msgid "searching '%s' failed: %s\n"
+#~ msgstr "ha fallado la búsqueda '%s': %s\n"
+
+#~ msgid "start_cert_fetch: invalid pattern '%s'\n"
+#~ msgstr "start_cert_fetch: patrón '%s' incorrecto\n"
+
+#~ msgid "ldapserver missing"
+#~ msgstr "falta el ldapserver"
+
 #~ msgid "Note: old default options file '%s' ignored\n"
 #~ msgstr "NOTA: se ignora el antiguo fichero de opciones predefinidas '%s'\n"
 
index bb82db3..6032918 100644 (file)
--- a/po/et.po
+++ b/po/et.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: gnupg 1.2.2\n"
 "Report-Msgid-Bugs-To: translations@gnupg.org\n"
-"POT-Creation-Date: 2021-01-11 18:47+0100\n"
+"POT-Creation-Date: 2021-06-10 18:59+0200\n"
 "PO-Revision-Date: 2004-06-17 11:04+0300\n"
 "Last-Translator: Toomas Soome <Toomas.Soome@microlink.ee>\n"
 "Language-Team: Estonian <et@li.org>\n"
@@ -105,7 +105,7 @@ msgid "Passphrase:"
 msgstr "halb parool"
 
 #: agent/call-pinentry.c:1107 agent/call-pinentry.c:1359
-#: agent/command-ssh.c:3130 agent/genkey.c:416
+#: agent/command-ssh.c:3140 agent/genkey.c:416
 msgid "does not match - try again"
 msgstr ""
 
@@ -160,34 +160,34 @@ msgstr "halb parool"
 msgid "ssh keys greater than %d bits are not supported\n"
 msgstr "kaitse algoritm %d%s ei ole toetatud\n"
 
-#: agent/command-ssh.c:862 common/dotlock.c:852 g10/card-util.c:932
-#: g10/exec.c:546 g10/export.c:1320 g10/gpg.c:1352 g10/keygen.c:4998
-#: g10/keyring.c:1322 g10/keyring.c:1637 g10/openfile.c:291 g10/sign.c:1009
-#: g10/sign.c:1323 g10/tdbio.c:753
+#: agent/command-ssh.c:862 common/dotlock.c:852 g10/card-util.c:933
+#: g10/exec.c:554 g10/export.c:1320 g10/gpg.c:1360 g10/keygen.c:4998
+#: g10/keyring.c:1322 g10/keyring.c:1637 g10/openfile.c:291 g10/sign.c:1008
+#: g10/sign.c:1322 g10/tdbio.c:753
 #, fuzzy, c-format
 #| msgid "can't create `%s': %s\n"
 msgid "can't create '%s': %s\n"
 msgstr "`%s' ei õnnestu luua: %s\n"
 
-#: agent/command-ssh.c:874 common/helpfile.c:57 g10/card-util.c:889
+#: agent/command-ssh.c:874 common/helpfile.c:57 g10/card-util.c:890
 #: g10/dearmor.c:59 g10/dearmor.c:106 g10/decrypt.c:65 g10/decrypt.c:136
-#: g10/decrypt.c:153 g10/encrypt.c:180 g10/encrypt.c:543 g10/gpg.c:1353
-#: g10/import.c:352 g10/import.c:536 g10/import.c:764 g10/keygen.c:4036
+#: g10/decrypt.c:153 g10/encrypt.c:180 g10/encrypt.c:543 g10/gpg.c:1361
+#: g10/import.c:364 g10/import.c:548 g10/import.c:776 g10/keygen.c:4036
 #: g10/keyring.c:1663 g10/openfile.c:195 g10/openfile.c:209 g10/plaintext.c:128
-#: g10/plaintext.c:649 g10/sign.c:991 g10/sign.c:1202 g10/sign.c:1307
-#: g10/sign.c:1452 g10/tdbdump.c:143 g10/tdbdump.c:151 g10/tdbio.c:758
-#: g10/tdbio.c:829 g10/verify.c:96 g10/verify.c:160 sm/gpgsm.c:2219
-#: sm/gpgsm.c:2249 sm/gpgsm.c:2287 sm/qualified.c:66 dirmngr/certcache.c:396
+#: g10/plaintext.c:649 g10/sign.c:990 g10/sign.c:1201 g10/sign.c:1306
+#: g10/sign.c:1451 g10/tdbdump.c:143 g10/tdbdump.c:151 g10/tdbio.c:758
+#: g10/tdbio.c:829 g10/verify.c:96 g10/verify.c:160 sm/gpgsm.c:2125
+#: sm/gpgsm.c:2155 sm/gpgsm.c:2193 sm/qualified.c:66 dirmngr/certcache.c:396
 #: dirmngr/certcache.c:476 dirmngr/certcache.c:478 dirmngr/crlcache.c:2588
-#: dirmngr/dirmngr.c:1722
+#: dirmngr/dirmngr.c:1759
 #, fuzzy, c-format
 #| msgid "can't open `%s': %s\n"
 msgid "can't open '%s': %s\n"
 msgstr "`%s' ei õnnestu avada: %s\n"
 
 #: agent/command-ssh.c:2385 agent/command-ssh.c:2431 agent/command-ssh.c:2449
-#: agent/command-ssh.c:2601 g10/card-util.c:687 g10/card-util.c:708
-#: g10/skclist.c:430
+#: agent/command-ssh.c:2601 g10/card-util.c:688 g10/card-util.c:709
+#: g10/skclist.c:435
 #, fuzzy, c-format
 msgid "error getting serial number of card: %s\n"
 msgstr "viga parooli loomisel: %s\n"
@@ -212,39 +212,39 @@ msgstr "kirjutatavat salajaste võtmete hoidlat pole: %s\n"
 msgid "error getting list of cards: %s\n"
 msgstr "viga parooli loomisel: %s\n"
 
-#: agent/command-ssh.c:2765
+#: agent/command-ssh.c:2775
 #, c-format
 msgid ""
 "An ssh process requested the use of key%%0A  %s%%0A  (%s)%%0ADo you want to "
 "allow this?"
 msgstr ""
 
-#: agent/command-ssh.c:2772
+#: agent/command-ssh.c:2782
 msgid "Allow"
 msgstr ""
 
-#: agent/command-ssh.c:2772
+#: agent/command-ssh.c:2782
 msgid "Deny"
 msgstr ""
 
-#: agent/command-ssh.c:2781
+#: agent/command-ssh.c:2791
 #, fuzzy, c-format
 msgid "Please enter the passphrase for the ssh key%%0A  %F%%0A  (%c)"
 msgstr "Palun sisestage parool; see on salajane tekst \n"
 
-#: agent/command-ssh.c:3058 agent/genkey.c:351
+#: agent/command-ssh.c:3068 agent/genkey.c:351
 #, fuzzy
 msgid "Please re-enter this passphrase"
 msgstr "muuda parooli"
 
-#: agent/command-ssh.c:3085
+#: agent/command-ssh.c:3095
 #, fuzzy, c-format
 msgid ""
 "Please enter a passphrase to protect the received secret key%%0A   %s%%0A   "
 "%s%%0Awithin gpg-agent's key storage"
 msgstr "Palun sisestage parool; see on salajane tekst \n"
 
-#: agent/command-ssh.c:3667
+#: agent/command-ssh.c:3677
 #, fuzzy, c-format
 msgid "failed to create stream from socket: %s\n"
 msgstr "%s: paisktabeli loomine ebaõnnestus: %s\n"
@@ -399,48 +399,46 @@ msgstr ""
 "Võtmed:\n"
 " "
 
-#: agent/gpg-agent.c:165 scd/scdaemon.c:120 dirmngr/dirmngr.c:166
+#: agent/gpg-agent.c:165 scd/scdaemon.c:120 dirmngr/dirmngr.c:167
 msgid "run in daemon mode (background)"
 msgstr ""
 
-#: agent/gpg-agent.c:166 scd/scdaemon.c:117 dirmngr/dirmngr.c:165
+#: agent/gpg-agent.c:166 scd/scdaemon.c:117 dirmngr/dirmngr.c:166
 msgid "run in server mode (foreground)"
 msgstr ""
 
-#: agent/gpg-agent.c:168 dirmngr/dirmngr.c:168
+#: agent/gpg-agent.c:168 dirmngr/dirmngr.c:169
 #, fuzzy
 #| msgid "Key is superseded"
 msgid "run in supervised mode"
 msgstr "Võti on asendatud"
 
-#: agent/gpg-agent.c:170 g10/gpg.c:608 g10/gpgv.c:78 kbx/kbxutil.c:88
-#: scd/scdaemon.c:121 sm/gpgsm.c:310 dirmngr/dirmngr-client.c:70
-#: dirmngr/dirmngr.c:181 dirmngr/dirmngr_ldap.c:135
-#: tools/gpg-connect-agent.c:78 tools/gpgconf.c:108
+#: agent/gpg-agent.c:170 g10/gpg.c:605 g10/gpgv.c:78 kbx/kbxutil.c:88
+#: scd/scdaemon.c:121 sm/gpgsm.c:311 dirmngr/dirmngr-client.c:70
+#: dirmngr/dirmngr.c:182 tools/gpg-connect-agent.c:78 tools/gpgconf.c:108
 msgid "verbose"
 msgstr "ole jutukas"
 
 #: agent/gpg-agent.c:171 g10/gpgv.c:79 kbx/kbxutil.c:89 scd/scdaemon.c:122
-#: sm/gpgsm.c:311 dirmngr/dirmngr-client.c:71 dirmngr/dirmngr.c:182
-#: dirmngr/dirmngr_ldap.c:136
+#: sm/gpgsm.c:312 dirmngr/dirmngr-client.c:71 dirmngr/dirmngr.c:183
 msgid "be somewhat more quiet"
 msgstr "ole mõnevõrra vaiksem"
 
-#: agent/gpg-agent.c:172 scd/scdaemon.c:123 dirmngr/dirmngr.c:183
+#: agent/gpg-agent.c:172 scd/scdaemon.c:123 dirmngr/dirmngr.c:184
 msgid "sh-style command output"
 msgstr ""
 
-#: agent/gpg-agent.c:173 scd/scdaemon.c:124 dirmngr/dirmngr.c:184
+#: agent/gpg-agent.c:173 scd/scdaemon.c:124 dirmngr/dirmngr.c:185
 msgid "csh-style command output"
 msgstr ""
 
-#: agent/gpg-agent.c:174 scd/scdaemon.c:125 sm/gpgsm.c:341
-#: dirmngr/dirmngr.c:185
+#: agent/gpg-agent.c:174 scd/scdaemon.c:125 sm/gpgsm.c:344
+#: dirmngr/dirmngr.c:186
 #, fuzzy
 msgid "|FILE|read options from FILE"
 msgstr "|FAIL|lae laiendusmoodul FAIL"
 
-#: agent/gpg-agent.c:183 scd/scdaemon.c:135 dirmngr/dirmngr.c:188
+#: agent/gpg-agent.c:183 scd/scdaemon.c:135 dirmngr/dirmngr.c:189
 msgid "do not detach from the console"
 msgstr ""
 
@@ -526,9 +524,9 @@ msgstr "ei ole toetatud"
 #. reporting address.  This is so that we can change the
 #. reporting address without breaking the translations.
 #: agent/gpg-agent.c:531 agent/preset-passphrase.c:100 agent/protect-tool.c:155
-#: g10/gpg.c:1070 g10/gpgv.c:149 kbx/kbxutil.c:113 scd/scdaemon.c:298
-#: sm/gpgsm.c:567 dirmngr/dirmngr-client.c:168 dirmngr/dirmngr.c:404
-#: dirmngr/dirmngr_ldap.c:207 tools/gpg-connect-agent.c:205 tools/gpgconf.c:146
+#: g10/gpg.c:1074 g10/gpgv.c:149 kbx/kbxutil.c:113 scd/scdaemon.c:299
+#: sm/gpgsm.c:570 dirmngr/dirmngr-client.c:168 dirmngr/dirmngr.c:412
+#: tools/gpg-connect-agent.c:205 tools/gpgconf.c:146
 #: tools/gpg-check-pattern.c:143
 #, fuzzy
 msgid "Please report bugs to <@EMAIL@>.\n"
@@ -545,39 +543,39 @@ msgid ""
 "Secret key management for @GNUPG@\n"
 msgstr ""
 
-#: agent/gpg-agent.c:587 g10/gpg.c:1262 scd/scdaemon.c:370 sm/gpgsm.c:715
-#: dirmngr/dirmngr.c:488
+#: agent/gpg-agent.c:587 g10/gpg.c:1270 scd/scdaemon.c:371 sm/gpgsm.c:718
+#: dirmngr/dirmngr.c:496
 #, c-format
 msgid "invalid debug-level '%s' given\n"
 msgstr ""
 
-#: agent/gpg-agent.c:945 g10/gpg.c:3753 g10/gpg.c:3777 sm/gpgsm.c:1631
-#: sm/gpgsm.c:1637
+#: agent/gpg-agent.c:945 g10/gpg.c:3773 g10/gpg.c:3797 sm/gpgsm.c:1531
+#: sm/gpgsm.c:1537
 #, c-format
 msgid "selected digest algorithm is invalid\n"
 msgstr "valitud lühendi algoritm ei ole lubatud\n"
 
 #: agent/gpg-agent.c:1168 agent/gpg-agent.c:2023 common/argparse.c:1755
-#: common/argparse.c:1847 g10/gpg.c:2482 scd/scdaemon.c:532 sm/gpgsm.c:1063
-#: dirmngr/dirmngr.c:956 dirmngr/dirmngr.c:1841
+#: common/argparse.c:1847 g10/gpg.c:2495 scd/scdaemon.c:533 sm/gpgsm.c:977
+#: dirmngr/dirmngr.c:994 dirmngr/dirmngr.c:1878
 #, fuzzy, c-format
 #| msgid "reading options from `%s'\n"
 msgid "reading options from '%s'\n"
 msgstr "loen võtmeid failist `%s'\n"
 
-#: agent/gpg-agent.c:1300 g10/gpg.c:3704 scd/scdaemon.c:655 sm/gpgsm.c:1571
-#: dirmngr/dirmngr.c:1067 tools/gpg-connect-agent.c:1244 tools/gpgconf.c:624
+#: agent/gpg-agent.c:1300 g10/gpg.c:3724 scd/scdaemon.c:657 sm/gpgsm.c:1471
+#: dirmngr/dirmngr.c:1102 tools/gpg-connect-agent.c:1244 tools/gpgconf.c:624
 #, fuzzy, c-format
 #| msgid "WARNING: \"%s\" is a deprecated option\n"
 msgid "Note: '%s' is not considered an option\n"
 msgstr "HOIATUS: võtit \"%s\" ei soovitata kasutada.\n"
 
-#: agent/gpg-agent.c:2159 scd/scdaemon.c:1096 dirmngr/dirmngr.c:1219
+#: agent/gpg-agent.c:2159 scd/scdaemon.c:1098 dirmngr/dirmngr.c:1256
 #, fuzzy, c-format
 msgid "can't create socket: %s\n"
 msgstr "%s ei õnnestu luua: %s\n"
 
-#: agent/gpg-agent.c:2176 scd/scdaemon.c:1109 dirmngr/dirmngr.c:1232
+#: agent/gpg-agent.c:2176 scd/scdaemon.c:1111 dirmngr/dirmngr.c:1269
 #, c-format
 msgid "socket name '%s' is too long\n"
 msgstr ""
@@ -587,29 +585,29 @@ msgstr ""
 msgid "a gpg-agent is already running - not starting a new one\n"
 msgstr "gpg-agent ei ole sesses sessioonis kasutatav\n"
 
-#: agent/gpg-agent.c:2226 scd/scdaemon.c:1133 dirmngr/dirmngr.c:1264
+#: agent/gpg-agent.c:2226 scd/scdaemon.c:1135 dirmngr/dirmngr.c:1301
 #, fuzzy, c-format
 msgid "error getting nonce for the socket\n"
 msgstr "viga parooli loomisel: %s\n"
 
-#: agent/gpg-agent.c:2231 scd/scdaemon.c:1136 dirmngr/dirmngr.c:1267
+#: agent/gpg-agent.c:2231 scd/scdaemon.c:1138 dirmngr/dirmngr.c:1304
 #, fuzzy, c-format
 msgid "error binding socket to '%s': %s\n"
 msgstr "viga teate saatmisel serverile `%s': %s\n"
 
 #: agent/gpg-agent.c:2242 agent/gpg-agent.c:2282 agent/gpg-agent.c:2291
-#: scd/scdaemon.c:1144 dirmngr/dirmngr.c:1276
+#: scd/scdaemon.c:1146 dirmngr/dirmngr.c:1313
 #, fuzzy, c-format
 msgid "can't set permissions of '%s': %s\n"
 msgstr "HOIATUS: ebaturvalised õigused %s \"%s\"\n"
 
-#: agent/gpg-agent.c:2256 scd/scdaemon.c:1156 dirmngr/dirmngr.c:1288
+#: agent/gpg-agent.c:2256 scd/scdaemon.c:1158 dirmngr/dirmngr.c:1325
 #, fuzzy, c-format
 msgid "listening on socket '%s'\n"
 msgstr "kirjutan salajase võtme faili `%s'\n"
 
 #: agent/gpg-agent.c:2276 agent/gpg-agent.c:2329 common/homedir.c:517
-#: g10/exec.c:261 g10/openfile.c:397
+#: g10/exec.c:269 g10/openfile.c:397
 #, fuzzy, c-format
 #| msgid "can't create directory `%s': %s\n"
 msgid "can't create directory '%s': %s\n"
@@ -631,7 +629,7 @@ msgstr "trustdb: lugemine ebaõnnestus (n=%d): %s\n"
 msgid "can't use '%s' as home directory\n"
 msgstr "%s: kataloogi ei õnnestu luua: %s\n"
 
-#: agent/gpg-agent.c:2502 scd/scdaemon.c:1172 dirmngr/dirmngr.c:2047
+#: agent/gpg-agent.c:2502 scd/scdaemon.c:1174 dirmngr/dirmngr.c:2084
 #, fuzzy, c-format
 msgid "error reading nonce on fd %d: %s\n"
 msgstr "viga `%s' lugemisel: %s\n"
@@ -656,12 +654,12 @@ msgstr ""
 msgid "ssh handler 0x%lx for fd %d terminated\n"
 msgstr ""
 
-#: agent/gpg-agent.c:3016 scd/scdaemon.c:1362 dirmngr/dirmngr.c:2261
+#: agent/gpg-agent.c:3016 scd/scdaemon.c:1366 dirmngr/dirmngr.c:2298
 #, fuzzy, c-format
 msgid "npth_pselect failed: %s - waiting 1s\n"
 msgstr "salajase võtme uuendamine ebaõnnestus: %s\n"
 
-#: agent/gpg-agent.c:3104 scd/scdaemon.c:1427
+#: agent/gpg-agent.c:3104 scd/scdaemon.c:1431
 #, fuzzy, c-format
 msgid "%s %s stopped\n"
 msgstr "%s: jätsin vahele: %s\n"
@@ -683,8 +681,8 @@ msgid ""
 "Password cache maintenance\n"
 msgstr ""
 
-#: agent/protect-tool.c:108 g10/gpg.c:440 kbx/kbxutil.c:71 sm/gpgsm.c:204
-#: dirmngr/dirmngr.c:163 tools/gpgconf.c:78
+#: agent/protect-tool.c:108 g10/gpg.c:437 kbx/kbxutil.c:71 sm/gpgsm.c:205
+#: dirmngr/dirmngr.c:164 tools/gpgconf.c:78
 msgid ""
 "@Commands:\n"
 " "
@@ -692,8 +690,8 @@ msgstr ""
 "@Käsud:\n"
 " "
 
-#: agent/protect-tool.c:117 g10/gpg.c:553 g10/gpgv.c:76 kbx/kbxutil.c:81
-#: sm/gpgsm.c:252 dirmngr/dirmngr.c:179 tools/gpg-connect-agent.c:76
+#: agent/protect-tool.c:117 g10/gpg.c:550 g10/gpgv.c:76 kbx/kbxutil.c:81
+#: sm/gpgsm.c:253 dirmngr/dirmngr.c:180 tools/gpg-connect-agent.c:76
 #: tools/gpgconf.c:105
 msgid ""
 "@\n"
@@ -715,12 +713,12 @@ msgid ""
 "Secret key maintenance tool\n"
 msgstr ""
 
-#: agent/protect-tool.c:703
+#: agent/protect-tool.c:703 sm/import.c:774
 #, fuzzy
 msgid "Please enter the passphrase to unprotect the PKCS#12 object."
 msgstr "Palun sisestage parool; see on salajane tekst \n"
 
-#: agent/protect-tool.c:708
+#: agent/protect-tool.c:708 sm/export.c:710
 #, fuzzy
 msgid "Please enter the passphrase to protect the new PKCS#12 object."
 msgstr "Palun sisestage parool; see on salajane tekst \n"
@@ -748,7 +746,7 @@ msgstr "Katkesta"
 msgid "error while asking for the passphrase: %s\n"
 msgstr "viga parooli loomisel: %s\n"
 
-#: agent/trustlist.c:154 agent/trustlist.c:364 dirmngr/dirmngr.c:1629
+#: agent/trustlist.c:154 agent/trustlist.c:364 dirmngr/dirmngr.c:1666
 #: tools/gpgconf.c:418
 #, fuzzy, c-format
 msgid "error opening '%s': %s\n"
@@ -904,7 +902,7 @@ msgstr "Loodud allkirja ei õnnestu kontrollida: %s\n"
 msgid "secret key parts are not available\n"
 msgstr "salajase võtme komponendid ei ole kättesaadavad\n"
 
-#: agent/cvt-openpgp.c:344 g10/card-util.c:1540
+#: agent/cvt-openpgp.c:344 g10/card-util.c:1541
 #, fuzzy, c-format
 #| msgid "protection algorithm %d%s is not supported\n"
 msgid "public key algorithm %d (%s) is not supported\n"
@@ -922,21 +920,21 @@ msgstr "kaitse algoritm %d%s ei ole toetatud\n"
 msgid "protection hash algorithm %d (%s) is not supported\n"
 msgstr "kaitse algoritm %d%s ei ole toetatud\n"
 
-#: common/exechelp-posix.c:359 common/exechelp-w32.c:449
-#: common/exechelp-w32.c:473 common/exechelp-w32.c:503
+#: common/exechelp-posix.c:359 common/exechelp-w32.c:451
+#: common/exechelp-w32.c:475 common/exechelp-w32.c:505
 #, fuzzy, c-format
 msgid "error creating a pipe: %s\n"
 msgstr "viga parooli loomisel: %s\n"
 
 #: common/exechelp-posix.c:372 common/exechelp-w32.c:355
-#: common/exechelp-w32.c:459 common/exechelp-w32.c:483
-#: common/exechelp-w32.c:513
+#: common/exechelp-w32.c:461 common/exechelp-w32.c:485
+#: common/exechelp-w32.c:515
 #, fuzzy, c-format
 msgid "error creating a stream for a pipe: %s\n"
 msgstr "viga parooli loomisel: %s\n"
 
 #: common/exechelp-posix.c:495 common/exechelp-posix.c:570
-#: common/exechelp-posix.c:851 dirmngr/dirmngr.c:1306
+#: common/exechelp-posix.c:856 dirmngr/dirmngr.c:1343
 #, fuzzy, c-format
 msgid "error forking process: %s\n"
 msgstr "viga `%s' lugemisel: %s\n"
@@ -946,28 +944,28 @@ msgstr "viga `%s' lugemisel: %s\n"
 msgid "waiting for process %d to terminate failed: %s\n"
 msgstr ""
 
-#: common/exechelp-posix.c:678 common/exechelp-posix.c:794
+#: common/exechelp-posix.c:678 common/exechelp-posix.c:799
 #, fuzzy, c-format
 msgid "error running '%s': probably not installed\n"
 msgstr "viga `%s' lugemisel: %s\n"
 
-#: common/exechelp-posix.c:684 common/exechelp-posix.c:801
-#: common/exechelp-w32.c:796 common/exechelp-w32ce.c:781
+#: common/exechelp-posix.c:684 common/exechelp-posix.c:806
+#: common/exechelp-w32.c:829 common/exechelp-w32ce.c:781
 #, fuzzy, c-format
 msgid "error running '%s': exit status %d\n"
 msgstr "viga `%s' lugemisel: %s\n"
 
-#: common/exechelp-posix.c:692 common/exechelp-posix.c:809
+#: common/exechelp-posix.c:692 common/exechelp-posix.c:814
 #, fuzzy, c-format
 msgid "error running '%s': terminated\n"
 msgstr "viga `%s' lugemisel: %s\n"
 
-#: common/exechelp-posix.c:750 common/exechelp-w32.c:777
+#: common/exechelp-posix.c:755 common/exechelp-w32.c:810
 #, fuzzy, c-format
 msgid "waiting for processes to terminate failed: %s\n"
 msgstr "uuendamine ebaõnnestus: %s\n"
 
-#: common/exechelp-w32.c:789 common/exechelp-w32ce.c:775
+#: common/exechelp-w32.c:822 common/exechelp-w32ce.c:775
 #, fuzzy, c-format
 msgid "error getting exit code of process %d: %s\n"
 msgstr "viga salajase võtme võtmehoidlasse `%s' kirjutamisel: %s\n"
@@ -1064,7 +1062,7 @@ msgstr ""
 msgid "out of core while allocating %lu bytes"
 msgstr ""
 
-#: common/miscellaneous.c:115 g10/card-util.c:896 tools/no-libgcrypt.c:30
+#: common/miscellaneous.c:115 g10/card-util.c:897 tools/no-libgcrypt.c:30
 #, fuzzy, c-format
 msgid "error allocating enough memory: %s\n"
 msgstr "viga võtmehoidla `%s' loomisel: %s\n"
@@ -1187,7 +1185,7 @@ msgid "algorithm: %s"
 msgstr "pakend: %s\n"
 
 #: common/audit.c:774 common/audit.c:776 common/audit.c:921 common/audit.c:923
-#: scd/app-openpgp.c:3555
+#: scd/app-openpgp.c:3554
 #, fuzzy, c-format
 msgid "unsupported algorithm: %s"
 msgstr ""
@@ -1328,6 +1326,26 @@ msgstr "tundmatu"
 msgid "invalid radix64 character %02x skipped\n"
 msgstr "vigane radix64 sümbol %02x vahele jäetud\n"
 
+#: common/ttyio.c:433
+#, c-format
+msgid "Sorry, we are in batchmode - can't get input\n"
+msgstr ""
+
+#: common/ttyio.c:439
+#, c-format
+msgid "Sorry, no terminal at all requested - can't get input\n"
+msgstr ""
+
+#: common/ttyio.c:474 common/ttyio.c:484
+#, c-format
+msgid "too many errors; giving up\n"
+msgstr ""
+
+#: common/ttyio.c:536
+#, c-format
+msgid "Control-D detected\n"
+msgstr ""
+
 #: common/argparse.c:520
 #, fuzzy
 msgid "argument not expected"
@@ -1399,7 +1417,7 @@ msgstr "vigased impordi võtmed\n"
 msgid "missing argument for option \"%.50s\"\n"
 msgstr ""
 
-#: common/argparse.c:558 g10/gpg.c:3490
+#: common/argparse.c:558 g10/gpg.c:3510
 #, fuzzy, c-format
 msgid "invalid argument for option \"%.50s\"\n"
 msgstr "vigased impordi võtmed\n"
@@ -1471,31 +1489,31 @@ msgstr "kataloogi `%s' ei õnnestu luua: %s\n"
 msgid "error writing to '%s': %s\n"
 msgstr "viga võtmehoidlasse `%s' kirjutamisel: %s\n"
 
-#: common/dotlock.c:1129
+#: common/dotlock.c:1137
 #, c-format
 msgid "removing stale lockfile (created by %d)\n"
 msgstr ""
 
-#: common/dotlock.c:1165
+#: common/dotlock.c:1173
 #, fuzzy, c-format
 msgid "waiting for lock (held by %d%s) %s...\n"
 msgstr "kirjutan salajase võtme faili `%s'\n"
 
-#: common/dotlock.c:1166
+#: common/dotlock.c:1174
 msgid "(deadlock?) "
 msgstr ""
 
-#: common/dotlock.c:1205
+#: common/dotlock.c:1213
 #, fuzzy, c-format
 msgid "lock '%s' not made: %s\n"
 msgstr "ei leia avalikku võtit %08lX: %s\n"
 
-#: common/dotlock.c:1232
+#: common/dotlock.c:1240
 #, fuzzy, c-format
 msgid "waiting for lock %s...\n"
 msgstr "kirjutan salajase võtme faili `%s'\n"
 
-#: common/init.c:185 sm/gpgsm.c:949 dirmngr/dirmngr.c:862 dirmngr/dirmngr.c:871
+#: common/init.c:191 sm/gpgsm.c:863 dirmngr/dirmngr.c:900 dirmngr/dirmngr.c:909
 #, c-format
 msgid "%s is too old (need %s, have %s)\n"
 msgstr ""
@@ -1685,13 +1703,13 @@ msgid "Note: Use the command \"%s\" to restart them.\n"
 msgstr "Palun kasutage kõigepealt käsku \"toggle\".\n"
 
 #: g10/call-agent.c:318 g10/encrypt.c:154 g10/encrypt.c:620 g10/sign.c:412
-#: sm/call-agent.c:205 sm/encrypt.c:425 sm/sign.c:345
+#: sm/call-agent.c:205 sm/encrypt.c:426 sm/sign.c:345
 #, fuzzy, c-format
 #| msgid "%s does not yet work with %s\n"
 msgid "%s is not compliant with %s mode\n"
 msgstr "%s ei tööta veel koos %s-ga\n"
 
-#: g10/call-dirmngr.c:209 sm/call-dirmngr.c:268 tools/gpg-connect-agent.c:2253
+#: g10/call-dirmngr.c:209 sm/call-dirmngr.c:269 tools/gpg-connect-agent.c:2253
 #, fuzzy, c-format
 msgid "no dirmngr running in this session\n"
 msgstr "gpg-agent ei ole sesses sessioonis kasutatav\n"
@@ -1734,23 +1752,23 @@ msgstr ""
 msgid "server uses an invalid certificate"
 msgstr "genereeri tühistamise sertifikaat"
 
-#: g10/call-dirmngr.c:437 g10/gpg.c:4400
+#: g10/call-dirmngr.c:437 g10/gpg.c:4421
 #, fuzzy, c-format
 #| msgid "armor: %s\n"
 msgid "Note: %s\n"
 msgstr "pakend: %s\n"
 
-#: g10/card-util.c:86 g10/card-util.c:366 g10/card-util.c:1902
+#: g10/card-util.c:86 g10/card-util.c:366 g10/card-util.c:1903
 #, fuzzy, c-format
 msgid "OpenPGP card not available: %s\n"
 msgstr "salajane võti ei ole kättesaadav"
 
-#: g10/card-util.c:91 g10/card-util.c:1908
+#: g10/card-util.c:91 g10/card-util.c:1909
 #, c-format
 msgid "OpenPGP card no. %s detected\n"
 msgstr ""
 
-#: g10/card-util.c:97 g10/card-util.c:2237 g10/delkey.c:160 g10/keyedit.c:1422
+#: g10/card-util.c:97 g10/card-util.c:2238 g10/delkey.c:160 g10/keyedit.c:1423
 #: g10/keygen.c:4466 g10/revoke.c:214 g10/revoke.c:636
 #, fuzzy, c-format
 msgid "can't do this in batch mode\n"
@@ -1761,13 +1779,13 @@ msgstr "seda ei saa teha pakettmoodis\n"
 msgid "This command is only available for version 2 cards\n"
 msgstr "See käsklus ei ole %s moodis lubatud.\n"
 
-#: g10/card-util.c:107 scd/app-openpgp.c:2864
+#: g10/card-util.c:107 scd/app-openpgp.c:2863
 #, fuzzy, c-format
 msgid "Reset Code not or not anymore available\n"
 msgstr "salajase võtme komponendid ei ole kättesaadavad\n"
 
-#: g10/card-util.c:140 g10/card-util.c:1426 g10/card-util.c:1688
-#: g10/card-util.c:1780 g10/keyedit.c:394 g10/keyedit.c:415 g10/keyedit.c:429
+#: g10/card-util.c:140 g10/card-util.c:1427 g10/card-util.c:1689
+#: g10/card-util.c:1781 g10/keyedit.c:394 g10/keyedit.c:415 g10/keyedit.c:429
 #: g10/keygen.c:1808 g10/keygen.c:1980 g10/keygen.c:2186 g10/keygen.c:2477
 #: sm/certreqgen-ui.c:165 sm/certreqgen-ui.c:291 sm/certreqgen-ui.c:325
 msgid "Your selection? "
@@ -1794,213 +1812,213 @@ msgstr "ei töödeldud"
 msgid "forced"
 msgstr ""
 
-#: g10/card-util.c:749
+#: g10/card-util.c:750
 msgid "Error: Only plain ASCII is currently allowed.\n"
 msgstr ""
 
-#: g10/card-util.c:751
+#: g10/card-util.c:752
 msgid "Error: The \"<\" character may not be used.\n"
 msgstr ""
 
-#: g10/card-util.c:753
+#: g10/card-util.c:754
 msgid "Error: Double spaces are not allowed.\n"
 msgstr ""
 
-#: g10/card-util.c:770
+#: g10/card-util.c:771
 msgid "Cardholder's surname: "
 msgstr ""
 
-#: g10/card-util.c:772
+#: g10/card-util.c:773
 msgid "Cardholder's given name: "
 msgstr ""
 
-#: g10/card-util.c:790
+#: g10/card-util.c:791
 #, c-format
 msgid "Error: Combined name too long (limit is %d characters).\n"
 msgstr ""
 
-#: g10/card-util.c:811
+#: g10/card-util.c:812
 #, fuzzy
 msgid "URL to retrieve public key: "
 msgstr "vastavat avalikku võtit pole: %s\n"
 
-#: g10/card-util.c:905 g10/decrypt-data.c:490 g10/import.c:387 g10/import.c:734
-#: g10/import.c:786 dirmngr/crlcache.c:655 dirmngr/crlcache.c:660
-#: dirmngr/crlcache.c:914 dirmngr/crlcache.c:920 dirmngr/dirmngr.c:1668
+#: g10/card-util.c:906 g10/decrypt-data.c:490 g10/import.c:399 g10/import.c:746
+#: g10/import.c:798 dirmngr/crlcache.c:655 dirmngr/crlcache.c:660
+#: dirmngr/crlcache.c:914 dirmngr/crlcache.c:920 dirmngr/dirmngr.c:1705
 #: tools/gpgconf.c:431 tools/gpgconf.c:477
 #, fuzzy, c-format
 #| msgid "error reading `%s': %s\n"
 msgid "error reading '%s': %s\n"
 msgstr "viga `%s' lugemisel: %s\n"
 
-#: g10/card-util.c:938 g10/decrypt-data.c:493 g10/export.c:2467
+#: g10/card-util.c:939 g10/decrypt-data.c:493 g10/export.c:2467
 #: dirmngr/crlcache.c:925
 #, fuzzy, c-format
 msgid "error writing '%s': %s\n"
 msgstr "viga võtmehoidlasse `%s' kirjutamisel: %s\n"
 
-#: g10/card-util.c:965
+#: g10/card-util.c:966
 msgid "Login data (account name): "
 msgstr ""
 
-#: g10/card-util.c:1003
+#: g10/card-util.c:1004
 msgid "Private DO data: "
 msgstr ""
 
-#: g10/card-util.c:1088
+#: g10/card-util.c:1089
 #, fuzzy
 msgid "Language preferences: "
 msgstr "uuendatud eelistused"
 
-#: g10/card-util.c:1096
+#: g10/card-util.c:1097
 #, fuzzy
 msgid "Error: invalid length of preference string.\n"
 msgstr "lubamatu sümbol eelistuste sõnes\n"
 
-#: g10/card-util.c:1105
+#: g10/card-util.c:1106
 #, fuzzy
 msgid "Error: invalid characters in preference string.\n"
 msgstr "lubamatu sümbol eelistuste sõnes\n"
 
-#: g10/card-util.c:1127
+#: g10/card-util.c:1128
 msgid "Salutation (M = Mr., F = Ms., or space): "
 msgstr ""
 
-#: g10/card-util.c:1141
+#: g10/card-util.c:1142
 #, fuzzy
 msgid "Error: invalid response.\n"
 msgstr "viga: vigane sõrmejälg\n"
 
-#: g10/card-util.c:1163
+#: g10/card-util.c:1164
 #, fuzzy
 msgid "CA fingerprint: "
 msgstr "näita sõrmejälge"
 
-#: g10/card-util.c:1186
+#: g10/card-util.c:1187
 #, fuzzy
 msgid "Error: invalid formatted fingerprint.\n"
 msgstr "viga: vigane sõrmejälg\n"
 
-#: g10/card-util.c:1236
+#: g10/card-util.c:1237
 #, fuzzy, c-format
 msgid "key operation not possible: %s\n"
 msgstr "Võtme genereerimine ebaõnnestus: %s\n"
 
-#: g10/card-util.c:1237
+#: g10/card-util.c:1238
 #, fuzzy
 msgid "not an OpenPGP card"
 msgstr "ei leia OpenPGP andmeid.\n"
 
-#: g10/card-util.c:1250 g10/keygen.c:4486 g10/keygen.c:5565
+#: g10/card-util.c:1251 g10/keygen.c:4486 g10/keygen.c:5565
 #, fuzzy, c-format
 msgid "error getting current key info: %s\n"
 msgstr "viga salajase võtme võtmehoidlasse `%s' kirjutamisel: %s\n"
 
-#: g10/card-util.c:1335
+#: g10/card-util.c:1336
 msgid "Replace existing key? (y/N) "
 msgstr ""
 
-#: g10/card-util.c:1352
+#: g10/card-util.c:1353
 msgid ""
 "Note: There is no guarantee that the card supports the requested size.\n"
 "      If the key generation does not succeed, please check the\n"
 "      documentation of your card to see what sizes are allowed.\n"
 msgstr ""
 
-#: g10/card-util.c:1374 g10/keygen.c:2363 sm/certreqgen-ui.c:179
+#: g10/card-util.c:1375 g10/keygen.c:2363 sm/certreqgen-ui.c:179
 #, fuzzy, c-format
 msgid "What keysize do you want? (%u) "
 msgstr "Millist võtmepikkust te soovite? (1024) "
 
-#: g10/card-util.c:1384 g10/keygen.c:2286 g10/keygen.c:2318
+#: g10/card-util.c:1385 g10/keygen.c:2286 g10/keygen.c:2318
 #: sm/certreqgen-ui.c:194
 #, c-format
 msgid "rounded up to %u bits\n"
 msgstr "ümardatud üles %u bitini\n"
 
-#: g10/card-util.c:1392 g10/keygen.c:2371 sm/certreqgen-ui.c:184
+#: g10/card-util.c:1393 g10/keygen.c:2371 sm/certreqgen-ui.c:184
 #, c-format
 msgid "%s keysizes must be in the range %u-%u\n"
 msgstr ""
 
-#: g10/card-util.c:1411
+#: g10/card-util.c:1412
 msgid "Changing card key attribute for: "
 msgstr ""
 
-#: g10/card-util.c:1413
+#: g10/card-util.c:1414
 #, fuzzy
 msgid "Signature key\n"
 msgstr "Allkiri aegus %s\n"
 
-#: g10/card-util.c:1415
+#: g10/card-util.c:1416
 #, fuzzy
 msgid "Encryption key\n"
 msgstr "   (%d) RSA (ainult krüpteerimiseks)\n"
 
-#: g10/card-util.c:1417
+#: g10/card-util.c:1418
 msgid "Authentication key\n"
 msgstr ""
 
-#: g10/card-util.c:1419 g10/keygen.c:1926 sm/certreqgen-ui.c:157
+#: g10/card-util.c:1420 g10/keygen.c:1926 sm/certreqgen-ui.c:157
 msgid "Please select what kind of key you want:\n"
 msgstr "Palun valige, millist võtmetüüpi te soovite:\n"
 
-#: g10/card-util.c:1420 sm/certreqgen-ui.c:158
+#: g10/card-util.c:1421 sm/certreqgen-ui.c:158
 #, fuzzy, c-format
 msgid "   (%d) RSA\n"
 msgstr "   (%d) RSA (ainult allkirjastamiseks)\n"
 
-#: g10/card-util.c:1421
+#: g10/card-util.c:1422
 #, fuzzy, c-format
 msgid "   (%d) ECC\n"
 msgstr "   (%d) DSA ja ElGamal (vaikimisi)\n"
 
-#: g10/card-util.c:1433 g10/card-util.c:1700 g10/card-util.c:1800
-#: g10/keyedit.c:899 g10/keygen.c:1834 g10/keygen.c:1862 g10/keygen.c:1987
+#: g10/card-util.c:1434 g10/card-util.c:1701 g10/card-util.c:1801
+#: g10/keyedit.c:900 g10/keygen.c:1834 g10/keygen.c:1862 g10/keygen.c:1987
 #: g10/keygen.c:2222 g10/keygen.c:2505 g10/revoke.c:838
 msgid "Invalid selection.\n"
 msgstr "Vigane valik.\n"
 
-#: g10/card-util.c:1506
+#: g10/card-util.c:1507
 #, c-format
 msgid "The card will now be re-configured to generate a key of %u bits\n"
 msgstr ""
 
-#: g10/card-util.c:1511
+#: g10/card-util.c:1512
 #, c-format
 msgid "The card will now be re-configured to generate a key of type: %s\n"
 msgstr ""
 
-#: g10/card-util.c:1547
+#: g10/card-util.c:1548
 #, fuzzy, c-format
 msgid "error changing key attribute for key %d: %s\n"
 msgstr "viga teate saatmisel serverile `%s': %s\n"
 
-#: g10/card-util.c:1563 g10/card-util.c:2090
+#: g10/card-util.c:1564 g10/card-util.c:2091
 #, fuzzy, c-format
 msgid "error getting card info: %s\n"
 msgstr "viga salajase võtme võtmehoidlasse `%s' kirjutamisel: %s\n"
 
-#: g10/card-util.c:1569 g10/card-util.c:1914 g10/card-util.c:2096
+#: g10/card-util.c:1570 g10/card-util.c:1915 g10/card-util.c:2097
 #, fuzzy, c-format
 #| msgid "This command is not allowed while in %s mode.\n"
 msgid "This command is not supported by this card\n"
 msgstr "See käsklus ei ole %s moodis lubatud.\n"
 
-#: g10/card-util.c:1615
+#: g10/card-util.c:1616
 msgid "Make off-card backup of encryption key? (Y/n) "
 msgstr ""
 
-#: g10/card-util.c:1629
+#: g10/card-util.c:1630
 #, fuzzy, c-format
 msgid "Note: keys are already stored on the card!\n"
 msgstr "jätsin vahele: avalik võti on juba olemas\n"
 
-#: g10/card-util.c:1632
+#: g10/card-util.c:1633
 msgid "Replace existing keys? (y/N) "
 msgstr ""
 
-#: g10/card-util.c:1644
+#: g10/card-util.c:1645
 #, c-format
 msgid ""
 "Please note that the factory settings of the PINs are\n"
@@ -2008,160 +2026,160 @@ msgid ""
 "You should change them using the command --change-pin\n"
 msgstr ""
 
-#: g10/card-util.c:1679
+#: g10/card-util.c:1680
 #, fuzzy
 msgid "Please select the type of key to generate:\n"
 msgstr "Palun valige, millist võtmetüüpi te soovite:\n"
 
-#: g10/card-util.c:1681 g10/card-util.c:1771
+#: g10/card-util.c:1682 g10/card-util.c:1772
 #, fuzzy
 msgid "   (1) Signature key\n"
 msgstr "Allkiri aegus %s\n"
 
-#: g10/card-util.c:1682 g10/card-util.c:1773
+#: g10/card-util.c:1683 g10/card-util.c:1774
 #, fuzzy
 msgid "   (2) Encryption key\n"
 msgstr "   (%d) RSA (ainult krüpteerimiseks)\n"
 
-#: g10/card-util.c:1683 g10/card-util.c:1775
+#: g10/card-util.c:1684 g10/card-util.c:1776
 msgid "   (3) Authentication key\n"
 msgstr ""
 
-#: g10/card-util.c:1768
+#: g10/card-util.c:1769
 #, fuzzy
 msgid "Please select where to store the key:\n"
 msgstr "Palun valige tühistamise põhjus:\n"
 
-#: g10/card-util.c:1814
+#: g10/card-util.c:1815
 #, fuzzy, c-format
 msgid "KEYTOCARD failed: %s\n"
 msgstr "uuendamine ebaõnnestus: %s\n"
 
-#: g10/card-util.c:1919
+#: g10/card-util.c:1920
 #, fuzzy, c-format
 msgid "Note: This command destroys all keys stored on the card!\n"
 msgstr "jätsin vahele: avalik võti on juba olemas\n"
 
-#: g10/card-util.c:1922
+#: g10/card-util.c:1923
 #, fuzzy
 msgid "Continue? (y/N) "
 msgstr "Allkirjastan tõesti? "
 
-#: g10/card-util.c:1927
+#: g10/card-util.c:1928
 msgid "Really do a factory reset? (enter \"yes\") "
 msgstr ""
 
-#: g10/card-util.c:2113
+#: g10/card-util.c:2114
 #, fuzzy, c-format
 msgid "error for setup KDF: %s\n"
 msgstr "viga `%s' lugemisel: %s\n"
 
-#: g10/card-util.c:2142 g10/keyedit.c:1259
+#: g10/card-util.c:2143 g10/keyedit.c:1260
 msgid "quit this menu"
 msgstr "välju sellest menüüst"
 
-#: g10/card-util.c:2144
+#: g10/card-util.c:2145
 #, fuzzy
 msgid "show admin commands"
 msgstr "vastuolulised käsud\n"
 
-#: g10/card-util.c:2145 g10/keyedit.c:1262
+#: g10/card-util.c:2146 g10/keyedit.c:1263
 msgid "show this help"
 msgstr "näita seda abiinfot"
 
-#: g10/card-util.c:2147
+#: g10/card-util.c:2148
 #, fuzzy
 msgid "list all available data"
 msgstr "Võtme leiate: "
 
-#: g10/card-util.c:2150
+#: g10/card-util.c:2151
 msgid "change card holder's name"
 msgstr ""
 
-#: g10/card-util.c:2151
+#: g10/card-util.c:2152
 msgid "change URL to retrieve key"
 msgstr ""
 
-#: g10/card-util.c:2152
+#: g10/card-util.c:2153
 msgid "fetch the key specified in the card URL"
 msgstr ""
 
-#: g10/card-util.c:2153
+#: g10/card-util.c:2154
 #, fuzzy
 msgid "change the login name"
 msgstr "muuda aegumise kuupäeva"
 
-#: g10/card-util.c:2154
+#: g10/card-util.c:2155
 #, fuzzy
 msgid "change the language preferences"
 msgstr "muuda omaniku usaldust"
 
-#: g10/card-util.c:2155
+#: g10/card-util.c:2156
 msgid "change card holder's salutation"
 msgstr ""
 
-#: g10/card-util.c:2157
+#: g10/card-util.c:2158
 #, fuzzy
 msgid "change a CA fingerprint"
 msgstr "näita sõrmejälge"
 
-#: g10/card-util.c:2158
+#: g10/card-util.c:2159
 msgid "toggle the signature force PIN flag"
 msgstr ""
 
-#: g10/card-util.c:2159
+#: g10/card-util.c:2160
 #, fuzzy
 msgid "generate new keys"
 msgstr "genereeri uus võtmepaar"
 
-#: g10/card-util.c:2160
+#: g10/card-util.c:2161
 msgid "menu to change or unblock the PIN"
 msgstr ""
 
-#: g10/card-util.c:2161
+#: g10/card-util.c:2162
 msgid "verify the PIN and list all data"
 msgstr ""
 
-#: g10/card-util.c:2162
+#: g10/card-util.c:2163
 msgid "unblock the PIN using a Reset Code"
 msgstr ""
 
-#: g10/card-util.c:2163
+#: g10/card-util.c:2164
 msgid "destroy all keys and data"
 msgstr ""
 
-#: g10/card-util.c:2164
+#: g10/card-util.c:2165
 #, fuzzy
 #| msgid "|NAME|use NAME as default recipient"
 msgid "setup KDF for PIN authentication"
 msgstr "|NIMI|kasuta NIME vaikimisi saajana"
 
-#: g10/card-util.c:2165
+#: g10/card-util.c:2166
 #, fuzzy
 #| msgid "change the ownertrust"
 msgid "change the key attribute"
 msgstr "muuda omaniku usaldust"
 
-#: g10/card-util.c:2289
+#: g10/card-util.c:2290
 msgid "gpg/card> "
 msgstr ""
 
-#: g10/card-util.c:2330
+#: g10/card-util.c:2331
 #, fuzzy
 msgid "Admin-only command\n"
 msgstr "vastuolulised käsud\n"
 
-#: g10/card-util.c:2361
+#: g10/card-util.c:2362
 #, fuzzy
 msgid "Admin commands are allowed\n"
 msgstr "vastuolulised käsud\n"
 
-#: g10/card-util.c:2363
+#: g10/card-util.c:2364
 #, fuzzy
 msgid "Admin commands are not allowed\n"
 msgstr "kirjutan salajase võtme faili `%s'\n"
 
-#: g10/card-util.c:2466 g10/keyedit.c:2228
+#: g10/card-util.c:2467 g10/keyedit.c:2229
 msgid "Invalid command  (try \"help\")\n"
 msgstr "Vigane käsklus (proovige \"help\")\n"
 
@@ -2170,22 +2188,22 @@ msgstr "Vigane käsklus (proovige \"help\")\n"
 msgid "--output doesn't work for this command\n"
 msgstr "võti --output ei tööta selle käsuga\n"
 
-#: g10/decrypt.c:247 g10/gpg.c:5083 g10/keyring.c:399 g10/keyring.c:750
+#: g10/decrypt.c:247 g10/gpg.c:5104 g10/keyring.c:399 g10/keyring.c:750
 #, fuzzy, c-format
 #| msgid "can't open `%s'\n"
 msgid "can't open '%s'\n"
 msgstr "`%s' ei õnnestu avada\n"
 
 #: g10/delkey.c:83 g10/export.c:1947 g10/export.c:2230 g10/export.c:2351
-#: g10/getkey.c:1964 g10/gpg.c:5028 g10/keyedit.c:1444 g10/keyedit.c:2334
-#: g10/keyedit.c:2580 g10/keyedit.c:4543 g10/keylist.c:689 g10/keyserver.c:1259
+#: g10/getkey.c:2108 g10/gpg.c:5049 g10/keyedit.c:1445 g10/keyedit.c:2335
+#: g10/keyedit.c:2581 g10/keyedit.c:4544 g10/keylist.c:689 g10/keyserver.c:1092
 #: g10/revoke.c:230 g10/tofu.c:2165
 #, fuzzy, c-format
 msgid "key \"%s\" not found: %s\n"
 msgstr "võtit '%s' ei leitud: %s\n"
 
-#: g10/delkey.c:92 g10/export.c:2015 g10/getkey.c:1972 g10/getkey.c:4346
-#: g10/gpg.c:5037 g10/keyedit.c:2307 g10/keyserver.c:1277 g10/revoke.c:236
+#: g10/delkey.c:92 g10/export.c:2015 g10/getkey.c:2116 g10/getkey.c:4517
+#: g10/gpg.c:5058 g10/keyedit.c:2308 g10/keyserver.c:1110 g10/revoke.c:236
 #: g10/revoke.c:663 g10/tofu.c:2173
 #, c-format
 msgid "error reading keyblock: %s\n"
@@ -2247,9 +2265,9 @@ msgstr "key"
 msgid "subkey"
 msgstr "Avalik võti: "
 
-#: g10/delkey.c:299 g10/keyedit.c:2200 g10/keyedit.c:2210 g10/keyedit.c:2387
-#: g10/keyedit.c:2461 g10/keyedit.c:2532 g10/keyedit.c:2757 g10/keyedit.c:2987
-#: g10/keyedit.c:3056 g10/keyedit.c:3207
+#: g10/delkey.c:299 g10/keyedit.c:2201 g10/keyedit.c:2211 g10/keyedit.c:2388
+#: g10/keyedit.c:2462 g10/keyedit.c:2533 g10/keyedit.c:2758 g10/keyedit.c:2988
+#: g10/keyedit.c:3057 g10/keyedit.c:3208
 #, c-format
 msgid "update failed: %s\n"
 msgstr "uuendamine ebaõnnestus: %s\n"
@@ -2274,7 +2292,7 @@ msgstr "avaliku võtme \"%s\" jaoks on salajane võti!\n"
 msgid "use option \"--delete-secret-keys\" to delete it first.\n"
 msgstr "selle kustutamiseks kasutage võtit \"--delete-secret-keys\".\n"
 
-#: g10/encrypt.c:202 g10/sign.c:1471
+#: g10/encrypt.c:202 g10/sign.c:1470
 #, c-format
 msgid "error creating passphrase: %s\n"
 msgstr "viga parooli loomisel: %s\n"
@@ -2301,14 +2319,14 @@ msgstr "`%s' on juba pakitud\n"
 msgid "WARNING: '%s' is an empty file\n"
 msgstr "HOIATUS: `%s' on tühi fail\n"
 
-#: g10/encrypt.c:387 g10/encrypt.c:610 g10/decrypt-data.c:260 g10/gpg.c:3901
-#: g10/gpg.c:3941 sm/decrypt.c:364 sm/encrypt.c:415 sm/gpgsm.c:1655
+#: g10/encrypt.c:387 g10/encrypt.c:610 g10/decrypt-data.c:260 g10/gpg.c:3922
+#: g10/gpg.c:3962 sm/decrypt.c:826 sm/encrypt.c:416 sm/gpgsm.c:1555
 #, fuzzy, c-format
 msgid "cipher algorithm '%s' may not be used in %s mode\n"
 msgstr "šifri algoritm \"%s\" ei ole moodis %s lubatud\n"
 
-#: g10/encrypt.c:396 g10/gpg.c:3907 g10/gpg.c:3953 g10/sig-check.c:146
-#: g10/sign.c:391 sm/gpgsm.c:1665 sm/gpgsm.c:1675 sm/sign.c:478 sm/verify.c:506
+#: g10/encrypt.c:396 g10/gpg.c:3928 g10/gpg.c:3974 g10/sig-check.c:146
+#: g10/sign.c:391 sm/gpgsm.c:1565 sm/gpgsm.c:1575 sm/sign.c:478 sm/verify.c:506
 #, fuzzy, c-format
 msgid "digest algorithm '%s' may not be used in %s mode\n"
 msgstr "sõnumilühendi algoritm \"%s\" ei ole moodis %s lubatud\n"
@@ -2326,12 +2344,12 @@ msgid ""
 msgstr ""
 "sümmetrilise šifri %s (%d) kasutamine on vastuolus saaja eelistustega\n"
 
-#: g10/encrypt.c:640 sm/encrypt.c:490
+#: g10/encrypt.c:640 sm/encrypt.c:491
 #, fuzzy, c-format
 msgid "WARNING: key %s is not suitable for encryption in %s mode\n"
 msgstr "HOIATUS: võtit \"%s\" ei soovitata kasutada.\n"
 
-#: g10/encrypt.c:751 g10/sign.c:1163
+#: g10/encrypt.c:751 g10/sign.c:1162
 #, fuzzy, c-format
 msgid ""
 "WARNING: forcing compression algorithm %s (%d) violates recipient "
@@ -2361,12 +2379,12 @@ msgstr "%s ei ole moodis %s lubatud.\n"
 msgid "%s encrypted data\n"
 msgstr "%s krüpteeritud andmed\n"
 
-#: g10/decrypt-data.c:243 g10/mainproc.c:396
+#: g10/decrypt-data.c:243 g10/mainproc.c:397
 #, c-format
 msgid "encrypted with unknown algorithm %d\n"
 msgstr "krüpteeritud tundmatu algoritmiga %d\n"
 
-#: g10/decrypt-data.c:357 g10/decrypt-data.c:410 sm/decrypt.c:130
+#: g10/decrypt-data.c:357 g10/decrypt-data.c:410 sm/decrypt.c:550
 #, c-format
 msgid ""
 "WARNING: message was encrypted with a weak key in the symmetric cipher.\n"
@@ -2382,7 +2400,7 @@ msgstr "probleem krüptitud paketi käsitlemisel\n"
 msgid "no remote program execution supported\n"
 msgstr "mittelokaalse programmi käivitamist ei toetata\n"
 
-#: g10/exec.c:381
+#: g10/exec.c:389
 #, c-format
 msgid ""
 "external program calls are disabled due to unsafe options file permissions\n"
@@ -2390,50 +2408,50 @@ msgstr ""
 "väliste programmide käivitamine on blokeeritud, kuna seadete failil on\n"
 "ebaturvalised õigused\n"
 
-#: g10/exec.c:411
+#: g10/exec.c:419
 #, fuzzy, c-format
 msgid "this platform requires temporary files when calling external programs\n"
 msgstr ""
 "see platvorm nõuab väliste programmide käivitamiseks ajutiste failide "
 "kasutamist\n"
 
-#: g10/exec.c:489
+#: g10/exec.c:497
 #, fuzzy, c-format
 msgid "unable to execute program '%s': %s\n"
 msgstr "ei Õnnestu käivitada %s \"%s\": %s\n"
 
-#: g10/exec.c:492
+#: g10/exec.c:500
 #, fuzzy, c-format
 msgid "unable to execute shell '%s': %s\n"
 msgstr "ei Õnnestu käivitada %s \"%s\": %s\n"
 
-#: g10/exec.c:583
+#: g10/exec.c:591
 #, c-format
 msgid "system error while calling external program: %s\n"
 msgstr "süsteemi viga välise programmi kasutamisel: %s\n"
 
-#: g10/exec.c:594 g10/exec.c:661
+#: g10/exec.c:602 g10/exec.c:669
 #, c-format
 msgid "unnatural exit of external program\n"
 msgstr "väline programm lõpetas erandlikult\n"
 
-#: g10/exec.c:609
+#: g10/exec.c:617
 #, c-format
 msgid "unable to execute external program\n"
 msgstr "välist programmi ei õnnestu käivitada\n"
 
-#: g10/exec.c:626
+#: g10/exec.c:634
 #, c-format
 msgid "unable to read external program response: %s\n"
 msgstr "ei õnnestu lugeda välise programmi vastust: %s\n"
 
-#: g10/exec.c:672 g10/exec.c:679
+#: g10/exec.c:680 g10/exec.c:687
 #, fuzzy, c-format
 #| msgid "WARNING: unable to remove tempfile (%s) `%s': %s\n"
 msgid "WARNING: unable to remove tempfile (%s) '%s': %s\n"
 msgstr "HOIATUS: ei saa kustutada ajutist faili (%s) `%s': %s\n"
 
-#: g10/exec.c:684
+#: g10/exec.c:692
 #, fuzzy, c-format
 #| msgid "WARNING: unable to remove temp directory `%s': %s\n"
 msgid "WARNING: unable to remove temp directory '%s': %s\n"
@@ -2476,8 +2494,8 @@ msgstr ""
 msgid " - skipped"
 msgstr "%s: jätsin vahele: %s\n"
 
-#: g10/export.c:1324 g10/import.c:2073 g10/openfile.c:200 g10/openfile.c:294
-#: g10/sign.c:1013 g10/sign.c:1327
+#: g10/export.c:1324 g10/import.c:2085 g10/openfile.c:200 g10/openfile.c:294
+#: g10/sign.c:1012 g10/sign.c:1326
 #, fuzzy, c-format
 #| msgid "writing to `%s'\n"
 msgid "writing to '%s'\n"
@@ -2515,294 +2533,294 @@ msgstr "viga `%s' loomisel: %s\n"
 msgid "[User ID not found]"
 msgstr "[Kasutaja id puudub]"
 
-#: g10/getkey.c:1297
+#: g10/getkey.c:1441
 #, fuzzy, c-format
 msgid "automatically retrieved '%s' via %s\n"
 msgstr "viga `%s' loomisel: %s\n"
 
-#: g10/getkey.c:1303
+#: g10/getkey.c:1447
 #, fuzzy, c-format
 msgid "error retrieving '%s' via %s: %s\n"
 msgstr "viga `%s' loomisel: %s\n"
 
-#: g10/getkey.c:1305
+#: g10/getkey.c:1449
 #, fuzzy
 msgid "No fingerprint"
 msgstr "näita sõrmejälge"
 
-#: g10/getkey.c:1526
+#: g10/getkey.c:1670
 #, c-format
 msgid "checking for a fresh copy of an expired key via %s\n"
 msgstr ""
 
-#: g10/getkey.c:1941 g10/revoke.c:655 g10/revoke.c:720
+#: g10/getkey.c:2085 g10/revoke.c:655 g10/revoke.c:720
 #, fuzzy, c-format
 msgid "secret key \"%s\" not found: %s\n"
 msgstr "salajast võtit `%s' ei leitud: %s\n"
 
-#: g10/getkey.c:1944 g10/pkclist.c:988
+#: g10/getkey.c:2088 g10/pkclist.c:988
 #, fuzzy, c-format
 msgid "(check argument of option '%s')\n"
 msgstr "vigased impordi võtmed\n"
 
-#: g10/getkey.c:2020
+#: g10/getkey.c:2164
 #, fuzzy, c-format
 #| msgid "|NAME|use NAME as default secret key"
 msgid "Warning: not using '%s' as default key: %s\n"
 msgstr "|NIMI|kasuta NIME vaikimisi salajase võtmena"
 
-#: g10/getkey.c:2028
+#: g10/getkey.c:2172
 #, fuzzy, c-format
 #| msgid "|NAME|use NAME as default secret key"
 msgid "using \"%s\" as default secret key for signing\n"
 msgstr "|NIMI|kasuta NIME vaikimisi salajase võtmena"
 
-#: g10/getkey.c:2035
+#: g10/getkey.c:2179
 #, c-format
 msgid "all values passed to '%s' ignored\n"
 msgstr ""
 
-#: g10/getkey.c:2880
+#: g10/getkey.c:3024
 #, fuzzy, c-format
 msgid "Invalid key %s made valid by --allow-non-selfsigned-uid\n"
 msgstr ""
 "Vigane võti %08lX muudeti kehtivaks võtme --allow-non-selfsigned-uid "
 "kasutamisega\n"
 
-#: g10/getkey.c:3730
+#: g10/getkey.c:3874
 #, fuzzy, c-format
 msgid "using subkey %s instead of primary key %s\n"
 msgstr "kasutan sekundaarset võtit %08lX primaarse võtme %08lX asemel\n"
 
-#: g10/getkey.c:4275 g10/gpg.c:2107
+#: g10/getkey.c:4446 g10/gpg.c:2120
 #, fuzzy, c-format
 msgid "valid values for option '%s':\n"
 msgstr "vigased impordi võtmed\n"
 
-#: g10/gpg.c:442 sm/gpgsm.c:206
+#: g10/gpg.c:439 sm/gpgsm.c:207
 #, fuzzy
 msgid "make a signature"
 msgstr "loo eraldiseisev allkiri"
 
-#: g10/gpg.c:443
+#: g10/gpg.c:440
 #, fuzzy
 msgid "make a clear text signature"
 msgstr "|[fail]|loo avateksti allkiri"
 
-#: g10/gpg.c:445 sm/gpgsm.c:208
+#: g10/gpg.c:442 sm/gpgsm.c:209
 msgid "make a detached signature"
 msgstr "loo eraldiseisev allkiri"
 
-#: g10/gpg.c:446 sm/gpgsm.c:209
+#: g10/gpg.c:443 sm/gpgsm.c:210
 msgid "encrypt data"
 msgstr "krüpteeri andmed"
 
-#: g10/gpg.c:448
+#: g10/gpg.c:445
 msgid "encryption only with symmetric cipher"
 msgstr "krüpteerimine kasutades ainult sümmeetrilist šifrit"
 
-#: g10/gpg.c:450 sm/gpgsm.c:211
+#: g10/gpg.c:447 sm/gpgsm.c:212
 msgid "decrypt data (default)"
 msgstr "dekrüpteeri andmed (vaikimisi)"
 
-#: g10/gpg.c:452 sm/gpgsm.c:212
+#: g10/gpg.c:449 sm/gpgsm.c:213
 msgid "verify a signature"
 msgstr "kontrolli allkirja"
 
-#: g10/gpg.c:454 sm/gpgsm.c:213
+#: g10/gpg.c:451 sm/gpgsm.c:214
 msgid "list keys"
 msgstr "näita võtmeid"
 
-#: g10/gpg.c:456
+#: g10/gpg.c:453
 msgid "list keys and signatures"
 msgstr "näita võtmeid ja allkirju"
 
-#: g10/gpg.c:459
+#: g10/gpg.c:456
 #, fuzzy
 msgid "list and check key signatures"
 msgstr "kontrolli võtmete allkirju"
 
-#: g10/gpg.c:461 sm/gpgsm.c:218
+#: g10/gpg.c:458 sm/gpgsm.c:219
 msgid "list keys and fingerprints"
 msgstr "näita võtmeid ja sõrmejälgi"
 
-#: g10/gpg.c:462 sm/gpgsm.c:216
+#: g10/gpg.c:459 sm/gpgsm.c:217
 msgid "list secret keys"
 msgstr "näita salajasi võtmeid"
 
-#: g10/gpg.c:464 sm/gpgsm.c:219
+#: g10/gpg.c:461 sm/gpgsm.c:220
 msgid "generate a new key pair"
 msgstr "genereeri uus võtmepaar"
 
-#: g10/gpg.c:467
+#: g10/gpg.c:464
 #, fuzzy
 #| msgid "generate a new key pair"
 msgid "quickly generate a new key pair"
 msgstr "genereeri uus võtmepaar"
 
-#: g10/gpg.c:470
+#: g10/gpg.c:467
 #, fuzzy
 #| msgid "generate a new key pair"
 msgid "quickly add a new user-id"
 msgstr "genereeri uus võtmepaar"
 
-#: g10/gpg.c:475
+#: g10/gpg.c:472
 #, fuzzy
 #| msgid "generate a new key pair"
 msgid "quickly revoke a user-id"
 msgstr "genereeri uus võtmepaar"
 
-#: g10/gpg.c:478
+#: g10/gpg.c:475
 #, fuzzy
 #| msgid "generate a new key pair"
 msgid "quickly set a new expiration date"
 msgstr "genereeri uus võtmepaar"
 
-#: g10/gpg.c:481
+#: g10/gpg.c:478
 msgid "full featured key pair generation"
 msgstr ""
 
-#: g10/gpg.c:484
+#: g10/gpg.c:481
 msgid "generate a revocation certificate"
 msgstr "genereeri tühistamise sertifikaat"
 
-#: g10/gpg.c:487 sm/gpgsm.c:222
+#: g10/gpg.c:484 sm/gpgsm.c:223
 msgid "remove keys from the public keyring"
 msgstr "eemalda võtmed avalike võtmete hoidlast"
 
-#: g10/gpg.c:489
+#: g10/gpg.c:486
 msgid "remove keys from the secret keyring"
 msgstr "eemalda võtmed salajaste võtmete hoidlast"
 
-#: g10/gpg.c:491
+#: g10/gpg.c:488
 #, fuzzy
 #| msgid "sign a key"
 msgid "quickly sign a key"
 msgstr "allkirjasta võti"
 
-#: g10/gpg.c:493
+#: g10/gpg.c:490
 #, fuzzy
 #| msgid "sign a key locally"
 msgid "quickly sign a key locally"
 msgstr "allkirjasta võti lokaalselt"
 
-#: g10/gpg.c:495
+#: g10/gpg.c:492
 #, fuzzy
 #| msgid "generate a new key pair"
 msgid "quickly revoke a key signature"
 msgstr "genereeri uus võtmepaar"
 
-#: g10/gpg.c:496
+#: g10/gpg.c:493
 msgid "sign a key"
 msgstr "allkirjasta võti"
 
-#: g10/gpg.c:497
+#: g10/gpg.c:494
 msgid "sign a key locally"
 msgstr "allkirjasta võti lokaalselt"
 
-#: g10/gpg.c:498
+#: g10/gpg.c:495
 msgid "sign or edit a key"
 msgstr "allkirjasta või toimeta võtit"
 
-#: g10/gpg.c:500 sm/gpgsm.c:240
+#: g10/gpg.c:497 sm/gpgsm.c:241
 #, fuzzy
 msgid "change a passphrase"
 msgstr "muuda parooli"
 
-#: g10/gpg.c:504
+#: g10/gpg.c:501
 msgid "export keys"
 msgstr "ekspordi võtmed"
 
-#: g10/gpg.c:505
+#: g10/gpg.c:502
 msgid "export keys to a keyserver"
 msgstr "ekspordi võtmed võtmeserverisse"
 
-#: g10/gpg.c:506
+#: g10/gpg.c:503
 msgid "import keys from a keyserver"
 msgstr "impordi võtmed võtmeserverist"
 
-#: g10/gpg.c:509
+#: g10/gpg.c:506
 msgid "search for keys on a keyserver"
 msgstr "otsi võtmeid võtmeserverist"
 
-#: g10/gpg.c:511
+#: g10/gpg.c:508
 msgid "update all keys from a keyserver"
 msgstr "uuenda võtmeid võtmeserverist"
 
-#: g10/gpg.c:519
+#: g10/gpg.c:516
 msgid "import/merge keys"
 msgstr "impordi/mesti võtmed"
 
-#: g10/gpg.c:522
+#: g10/gpg.c:519
 msgid "print the card status"
 msgstr ""
 
-#: g10/gpg.c:523
+#: g10/gpg.c:520
 msgid "change data on a card"
 msgstr ""
 
-#: g10/gpg.c:525
+#: g10/gpg.c:522
 msgid "change a card's PIN"
 msgstr ""
 
-#: g10/gpg.c:537
+#: g10/gpg.c:534
 msgid "update the trust database"
 msgstr "uuenda usalduse andmebaasi"
 
-#: g10/gpg.c:546
+#: g10/gpg.c:543
 #, fuzzy
 msgid "print message digests"
 msgstr "|algo [failid]|trüki teatelühendid"
 
-#: g10/gpg.c:549 sm/gpgsm.c:235
+#: g10/gpg.c:546 sm/gpgsm.c:236
 msgid "run in server mode"
 msgstr ""
 
-#: g10/gpg.c:551
+#: g10/gpg.c:548
 msgid "|VALUE|set the TOFU policy for a key"
 msgstr ""
 
-#: g10/gpg.c:555 sm/gpgsm.c:254
+#: g10/gpg.c:552 sm/gpgsm.c:255
 msgid "create ascii armored output"
 msgstr "loo ascii pakendis väljund"
 
-#: g10/gpg.c:558 sm/gpgsm.c:271
+#: g10/gpg.c:555 sm/gpgsm.c:272
 #, fuzzy
 msgid "|USER-ID|encrypt for USER-ID"
 msgstr "|NIMI|krüpti NIMEle"
 
-#: g10/gpg.c:574 sm/gpgsm.c:307
+#: g10/gpg.c:571 sm/gpgsm.c:308
 #, fuzzy
 msgid "|USER-ID|use USER-ID to sign or decrypt"
 msgstr "kasuta seda kasutaja IDd"
 
-#: g10/gpg.c:580
+#: g10/gpg.c:577
 #, fuzzy
 msgid "|N|set compress level to N (0 disables)"
 msgstr "|N|määra pakkimise tase N (0 blokeerib)"
 
-#: g10/gpg.c:587
+#: g10/gpg.c:584
 msgid "use canonical text mode"
 msgstr "kasuta kanoonilist tekstimoodi"
 
-#: g10/gpg.c:604 g10/gpgv.c:82 sm/gpgsm.c:309
+#: g10/gpg.c:601 g10/gpgv.c:82 sm/gpgsm.c:310
 #, fuzzy
 msgid "|FILE|write output to FILE"
 msgstr "|FAIL|lae laiendusmoodul FAIL"
 
-#: g10/gpg.c:614 kbx/kbxutil.c:90 sm/gpgsm.c:321 tools/gpgconf.c:110
+#: g10/gpg.c:611 kbx/kbxutil.c:90 sm/gpgsm.c:322 tools/gpgconf.c:110
 msgid "do not make any changes"
 msgstr "ära tee mingeid muutusi"
 
-#: g10/gpg.c:615
+#: g10/gpg.c:612
 msgid "prompt before overwriting"
 msgstr "küsi enne ülekirjutamist"
 
-#: g10/gpg.c:665
+#: g10/gpg.c:662
 msgid "use strict OpenPGP behavior"
 msgstr ""
 
-#: g10/gpg.c:692 sm/gpgsm.c:364
+#: g10/gpg.c:689 sm/gpgsm.c:367
 msgid ""
 "@\n"
 "(See the man page for a complete listing of all commands and options)\n"
@@ -2810,7 +2828,7 @@ msgstr ""
 "@\n"
 "(Kõikide käskude ja võtmete täieliku kirjelduse leiate manualist)\n"
 
-#: g10/gpg.c:695
+#: g10/gpg.c:692
 #, fuzzy
 #| msgid ""
 #| "@\n"
@@ -2840,13 +2858,13 @@ msgstr ""
 " --list-keys [nimed]        näita võtmeid\n"
 " --fingerprint [nimed]      näita sõrmejälgi\n"
 
-#: g10/gpg.c:1092
+#: g10/gpg.c:1096
 #, fuzzy
 #| msgid "Usage: gpg [options] [files] (-h for help)"
 msgid "Usage: @GPG@ [options] [files] (-h for help)"
 msgstr "Kasuta: gpg [võtmed] [failid] (-h näitab abiinfot)"
 
-#: g10/gpg.c:1095
+#: g10/gpg.c:1099
 #, fuzzy
 #| msgid ""
 #| "Syntax: gpg [options] [files]\n"
@@ -2861,7 +2879,7 @@ msgstr ""
 "allkirjasta, kontrolli, krüpti ja dekrüpti\n"
 "vaikimisi operatsioon sõltub sisendandmetest\n"
 
-#: g10/gpg.c:1106 sm/gpgsm.c:591
+#: g10/gpg.c:1110 sm/gpgsm.c:594
 msgid ""
 "\n"
 "Supported algorithms:\n"
@@ -2869,546 +2887,546 @@ msgstr ""
 "\n"
 "Toetatud algoritmid:\n"
 
-#: g10/gpg.c:1109
+#: g10/gpg.c:1113
 msgid "Pubkey: "
 msgstr "Avalik võti: "
 
-#: g10/gpg.c:1116 g10/keyedit.c:3281
+#: g10/gpg.c:1120 g10/keyedit.c:3282
 msgid "Cipher: "
 msgstr "Šiffer: "
 
-#: g10/gpg.c:1123
+#: g10/gpg.c:1127
 msgid "Hash: "
 msgstr "Räsi: "
 
-#: g10/gpg.c:1130 g10/keyedit.c:3347
+#: g10/gpg.c:1134 g10/keyedit.c:3348
 msgid "Compression: "
 msgstr "Pakkimine: "
 
-#: g10/gpg.c:1199 sm/gpgsm.c:665
+#: g10/gpg.c:1207 sm/gpgsm.c:668
 #, fuzzy, c-format
 msgid "usage: %s [options] %s\n"
 msgstr "kasuta: gpg [võtmed] "
 
-#: g10/gpg.c:1388 sm/gpgsm.c:754
+#: g10/gpg.c:1396 sm/gpgsm.c:761
 #, c-format
 msgid "conflicting commands\n"
 msgstr "vastuolulised käsud\n"
 
-#: g10/gpg.c:1406
+#: g10/gpg.c:1414
 #, fuzzy, c-format
 msgid "no = sign found in group definition '%s'\n"
 msgstr "grupi definitsioonis \"%s\" puudub sümbol =\n"
 
-#: g10/gpg.c:1604
+#: g10/gpg.c:1612
 #, fuzzy, c-format
 msgid "WARNING: unsafe ownership on homedir '%s'\n"
 msgstr "HOIATUS: ebaturvaline omanik %s \"%s\"\n"
 
-#: g10/gpg.c:1607
+#: g10/gpg.c:1615
 #, fuzzy, c-format
 msgid "WARNING: unsafe ownership on configuration file '%s'\n"
 msgstr "HOIATUS: ebaturvaline omanik %s \"%s\"\n"
 
-#: g10/gpg.c:1610
+#: g10/gpg.c:1618
 #, fuzzy, c-format
 msgid "WARNING: unsafe ownership on extension '%s'\n"
 msgstr "HOIATUS: ebaturvaline omanik %s \"%s\"\n"
 
-#: g10/gpg.c:1616
+#: g10/gpg.c:1624
 #, fuzzy, c-format
 msgid "WARNING: unsafe permissions on homedir '%s'\n"
 msgstr "HOIATUS: ebaturvalised õigused %s \"%s\"\n"
 
-#: g10/gpg.c:1619
+#: g10/gpg.c:1627
 #, fuzzy, c-format
 msgid "WARNING: unsafe permissions on configuration file '%s'\n"
 msgstr "HOIATUS: ebaturvalised õigused %s \"%s\"\n"
 
-#: g10/gpg.c:1622
+#: g10/gpg.c:1630
 #, fuzzy, c-format
 msgid "WARNING: unsafe permissions on extension '%s'\n"
 msgstr "HOIATUS: ebaturvalised õigused %s \"%s\"\n"
 
-#: g10/gpg.c:1628
+#: g10/gpg.c:1636
 #, fuzzy, c-format
 msgid "WARNING: unsafe enclosing directory ownership on homedir '%s'\n"
 msgstr "HOIATUS: ebaturvaline kataloogi omanik %s \"%s\"\n"
 
-#: g10/gpg.c:1631
+#: g10/gpg.c:1639
 #, fuzzy, c-format
 msgid ""
 "WARNING: unsafe enclosing directory ownership on configuration file '%s'\n"
 msgstr "HOIATUS: ebaturvaline kataloogi omanik %s \"%s\"\n"
 
-#: g10/gpg.c:1634
+#: g10/gpg.c:1642
 #, fuzzy, c-format
 msgid "WARNING: unsafe enclosing directory ownership on extension '%s'\n"
 msgstr "HOIATUS: ebaturvaline kataloogi omanik %s \"%s\"\n"
 
-#: g10/gpg.c:1640
+#: g10/gpg.c:1648
 #, fuzzy, c-format
 msgid "WARNING: unsafe enclosing directory permissions on homedir '%s'\n"
 msgstr "Hoiatus: ebaturvalised kataloogi õigused %s \"%s\"\n"
 
-#: g10/gpg.c:1643
+#: g10/gpg.c:1651
 #, fuzzy, c-format
 msgid ""
 "WARNING: unsafe enclosing directory permissions on configuration file '%s'\n"
 msgstr "Hoiatus: ebaturvalised kataloogi õigused %s \"%s\"\n"
 
-#: g10/gpg.c:1646
+#: g10/gpg.c:1654
 #, fuzzy, c-format
 msgid "WARNING: unsafe enclosing directory permissions on extension '%s'\n"
 msgstr "Hoiatus: ebaturvalised kataloogi õigused %s \"%s\"\n"
 
-#: g10/gpg.c:1862
+#: g10/gpg.c:1870
 #, fuzzy, c-format
 msgid "unknown configuration item '%s'\n"
 msgstr "tundmatu seade \"%s\"\n"
 
-#: g10/gpg.c:1979
+#: g10/gpg.c:1992
 msgid "display photo IDs during key listings"
 msgstr ""
 
-#: g10/gpg.c:1981
+#: g10/gpg.c:1994
 #, fuzzy
 msgid "show key usage information during key listings"
 msgstr "Vastavat allkirja salajaste võtmete hoidlas pole\n"
 
-#: g10/gpg.c:1983
+#: g10/gpg.c:1996
 msgid "show policy URLs during signature listings"
 msgstr ""
 
-#: g10/gpg.c:1985
+#: g10/gpg.c:1998
 #, fuzzy
 msgid "show all notations during signature listings"
 msgstr "Vastavat allkirja salajaste võtmete hoidlas pole\n"
 
-#: g10/gpg.c:1987
+#: g10/gpg.c:2000
 msgid "show IETF standard notations during signature listings"
 msgstr ""
 
-#: g10/gpg.c:1991
+#: g10/gpg.c:2004
 msgid "show user-supplied notations during signature listings"
 msgstr ""
 
-#: g10/gpg.c:1993
+#: g10/gpg.c:2006
 #, fuzzy
 msgid "show preferred keyserver URLs during signature listings"
 msgstr "antud allkirja poliisi URL on vigane\n"
 
-#: g10/gpg.c:1995
+#: g10/gpg.c:2008
 msgid "show user ID validity during key listings"
 msgstr ""
 
-#: g10/gpg.c:1997
+#: g10/gpg.c:2010
 msgid "show revoked and expired user IDs in key listings"
 msgstr ""
 
-#: g10/gpg.c:1999
+#: g10/gpg.c:2012
 msgid "show revoked and expired subkeys in key listings"
 msgstr ""
 
-#: g10/gpg.c:2001
+#: g10/gpg.c:2014
 #, fuzzy
 msgid "show the keyring name in key listings"
 msgstr "näita millisesse võtmehoidlasse näidatud võti kuulub"
 
-#: g10/gpg.c:2003
+#: g10/gpg.c:2016
 #, fuzzy
 msgid "show expiration dates during signature listings"
 msgstr "Vastavat allkirja salajaste võtmete hoidlas pole\n"
 
-#: g10/gpg.c:2118
+#: g10/gpg.c:2131
 #, fuzzy, c-format
 msgid "unknown TOFU policy '%s'\n"
 msgstr "tundmatu vaikimisi saaja `%s'\n"
 
-#: g10/gpg.c:2120
+#: g10/gpg.c:2133
 #, c-format
 msgid "(use \"help\" to list choices)\n"
 msgstr ""
 
-#: g10/gpg.c:2840 g10/gpg.c:3671 g10/gpg.c:3683
+#: g10/gpg.c:2856 g10/gpg.c:3691 g10/gpg.c:3703
 #, fuzzy, c-format
 #| msgid "NOTE: %s is not for normal use!\n"
 msgid "Note: %s is not for normal use!\n"
 msgstr "MÄRKUS: %s ei ole tavapäraseks kasutamiseks!\n"
 
-#: g10/gpg.c:3017 g10/gpg.c:3029
+#: g10/gpg.c:3033 g10/gpg.c:3045
 #, fuzzy, c-format
 msgid "'%s' is not a valid signature expiration\n"
 msgstr "%s ei ole lubatud kooditabel\n"
 
-#: g10/gpg.c:3051
+#: g10/gpg.c:3067
 #, fuzzy, c-format
 msgid "\"%s\" is not a proper mail address\n"
 msgstr "Selline e-posti aadress ei ole lubatud\n"
 
-#: g10/gpg.c:3083 sm/gpgsm.c:1177
+#: g10/gpg.c:3099 sm/gpgsm.c:1091
 #, fuzzy, c-format
 msgid "invalid pinentry mode '%s'\n"
 msgstr "vigane räsialgoritm `%s'\n"
 
-#: g10/gpg.c:3089 sm/gpgsm.c:1183
+#: g10/gpg.c:3105 sm/gpgsm.c:1097
 #, fuzzy, c-format
 msgid "invalid request origin '%s'\n"
 msgstr "vigased impordi võtmed\n"
 
-#: g10/gpg.c:3143
+#: g10/gpg.c:3159
 #, fuzzy, c-format
 msgid "'%s' is not a valid character set\n"
 msgstr "%s ei ole lubatud kooditabel\n"
 
-#: g10/gpg.c:3165 g10/gpg.c:3375 g10/keyedit.c:5281
+#: g10/gpg.c:3181 g10/gpg.c:3395 g10/keyedit.c:5282
 #, fuzzy, c-format
 msgid "could not parse keyserver URL\n"
 msgstr "ei saa parsida võtmeserveri URI\n"
 
-#: g10/gpg.c:3183
+#: g10/gpg.c:3199
 #, fuzzy, c-format
 msgid "%s:%d: invalid keyserver options\n"
 msgstr "%s:%d: vigased ekspordi võtmed\n"
 
-#: g10/gpg.c:3186
+#: g10/gpg.c:3202
 #, fuzzy, c-format
 msgid "invalid keyserver options\n"
 msgstr "vigased ekspordi võtmed\n"
 
-#: g10/gpg.c:3193
+#: g10/gpg.c:3209
 #, c-format
 msgid "%s:%d: invalid import options\n"
 msgstr "%s:%d: vigased impordi võtmed\n"
 
-#: g10/gpg.c:3196
+#: g10/gpg.c:3212
 #, c-format
 msgid "invalid import options\n"
 msgstr "vigased impordi võtmed\n"
 
-#: g10/gpg.c:3202 g10/gpg.c:3217
+#: g10/gpg.c:3218 g10/gpg.c:3233
 #, fuzzy, c-format
 msgid "invalid filter option: %s\n"
 msgstr "vigased impordi võtmed\n"
 
-#: g10/gpg.c:3208
+#: g10/gpg.c:3224
 #, c-format
 msgid "%s:%d: invalid export options\n"
 msgstr "%s:%d: vigased ekspordi võtmed\n"
 
-#: g10/gpg.c:3211
+#: g10/gpg.c:3227
 #, c-format
 msgid "invalid export options\n"
 msgstr "vigased ekspordi võtmed\n"
 
-#: g10/gpg.c:3223
+#: g10/gpg.c:3239
 #, fuzzy, c-format
 msgid "%s:%d: invalid list options\n"
 msgstr "%s:%d: vigased impordi võtmed\n"
 
-#: g10/gpg.c:3226
+#: g10/gpg.c:3242
 #, fuzzy, c-format
 msgid "invalid list options\n"
 msgstr "vigased impordi võtmed\n"
 
-#: g10/gpg.c:3234
+#: g10/gpg.c:3250
 msgid "display photo IDs during signature verification"
 msgstr ""
 
-#: g10/gpg.c:3236
+#: g10/gpg.c:3252
 msgid "show policy URLs during signature verification"
 msgstr ""
 
-#: g10/gpg.c:3238
+#: g10/gpg.c:3254
 #, fuzzy
 msgid "show all notations during signature verification"
 msgstr "%s ei ole lubatud kooditabel\n"
 
-#: g10/gpg.c:3240
+#: g10/gpg.c:3256
 msgid "show IETF standard notations during signature verification"
 msgstr ""
 
-#: g10/gpg.c:3244
+#: g10/gpg.c:3260
 msgid "show user-supplied notations during signature verification"
 msgstr ""
 
-#: g10/gpg.c:3246
+#: g10/gpg.c:3262
 #, fuzzy
 msgid "show preferred keyserver URLs during signature verification"
 msgstr "antud allkirja poliisi URL on vigane\n"
 
-#: g10/gpg.c:3248
+#: g10/gpg.c:3264
 #, fuzzy
 msgid "show user ID validity during signature verification"
 msgstr "%s ei ole lubatud kooditabel\n"
 
-#: g10/gpg.c:3250
+#: g10/gpg.c:3266
 msgid "show revoked and expired user IDs in signature verification"
 msgstr ""
 
-#: g10/gpg.c:3252
+#: g10/gpg.c:3268
 #, fuzzy
 msgid "show only the primary user ID in signature verification"
 msgstr "%s ei ole lubatud kooditabel\n"
 
-#: g10/gpg.c:3254
+#: g10/gpg.c:3270
 msgid "validate signatures with PKA data"
 msgstr ""
 
-#: g10/gpg.c:3256
+#: g10/gpg.c:3272
 msgid "elevate the trust of signatures with valid PKA data"
 msgstr ""
 
-#: g10/gpg.c:3263
+#: g10/gpg.c:3279
 #, fuzzy, c-format
 msgid "%s:%d: invalid verify options\n"
 msgstr "%s:%d: vigased ekspordi võtmed\n"
 
-#: g10/gpg.c:3266
+#: g10/gpg.c:3282
 #, fuzzy, c-format
 msgid "invalid verify options\n"
 msgstr "vigased ekspordi võtmed\n"
 
-#: g10/gpg.c:3273
+#: g10/gpg.c:3289
 #, c-format
 msgid "unable to set exec-path to %s\n"
 msgstr "exec-path väärtuseks ei õnnestu seada %s\n"
 
-#: g10/gpg.c:3478
+#: g10/gpg.c:3498
 #, fuzzy, c-format
 msgid "%s:%d: invalid auto-key-locate list\n"
 msgstr "%s:%d: vigased ekspordi võtmed\n"
 
-#: g10/gpg.c:3481
+#: g10/gpg.c:3501
 #, c-format
 msgid "invalid auto-key-locate list\n"
 msgstr ""
 
-#: g10/gpg.c:3653 sm/gpgsm.c:1541
+#: g10/gpg.c:3673 sm/gpgsm.c:1441
 #, c-format
 msgid "WARNING: program may create a core file!\n"
 msgstr "HOIATUS: programm võib salvestada oma mälupildi!\n"
 
-#: g10/gpg.c:3664
+#: g10/gpg.c:3684
 #, c-format
 msgid "WARNING: %s overrides %s\n"
 msgstr "HOIATUS: %s määrab üle %s\n"
 
-#: g10/gpg.c:3673
+#: g10/gpg.c:3693
 #, c-format
 msgid "%s not allowed with %s!\n"
 msgstr "%s ja %s ei ole koos lubatud!\n"
 
-#: g10/gpg.c:3676
+#: g10/gpg.c:3696
 #, c-format
 msgid "%s makes no sense with %s!\n"
 msgstr "%s ja %s ei oma koos mõtet!\n"
 
-#: g10/gpg.c:3691 sm/gpgsm.c:1558 dirmngr/dirmngr.c:1082
+#: g10/gpg.c:3711 sm/gpgsm.c:1458 dirmngr/dirmngr.c:1117
 #, c-format
 msgid "WARNING: running with faked system time: "
 msgstr ""
 
-#: g10/gpg.c:3712
+#: g10/gpg.c:3732
 #, fuzzy, c-format
 msgid "will not run with insecure memory due to %s\n"
 msgstr "kirjutan salajase võtme faili `%s'\n"
 
-#: g10/gpg.c:3747 g10/gpg.c:3771 sm/gpgsm.c:1625
+#: g10/gpg.c:3767 g10/gpg.c:3791 sm/gpgsm.c:1525
 #, c-format
 msgid "selected cipher algorithm is invalid\n"
 msgstr "valitud šifri algoritm ei ole lubatud\n"
 
-#: g10/gpg.c:3759
+#: g10/gpg.c:3779
 #, fuzzy, c-format
 msgid "selected compression algorithm is invalid\n"
 msgstr "valitud šifri algoritm ei ole lubatud\n"
 
-#: g10/gpg.c:3765
+#: g10/gpg.c:3785
 #, c-format
 msgid "selected certification digest algorithm is invalid\n"
 msgstr "valitud sertifikaadi lühendi algoritm ei ole lubatud\n"
 
-#: g10/gpg.c:3780
+#: g10/gpg.c:3800
 #, c-format
 msgid "completes-needed must be greater than 0\n"
 msgstr "completes-needed peab olema suurem, kui 0\n"
 
-#: g10/gpg.c:3782
+#: g10/gpg.c:3802
 #, c-format
 msgid "marginals-needed must be greater than 1\n"
 msgstr "marginals-needed peab olema suurem, kui 1\n"
 
-#: g10/gpg.c:3784
+#: g10/gpg.c:3804
 #, fuzzy, c-format
 msgid "max-cert-depth must be in the range from 1 to 255\n"
 msgstr "max-cert-depth peab olema vahemikus 1 kuni 255\n"
 
-#: g10/gpg.c:3786
+#: g10/gpg.c:3806
 #, c-format
 msgid "invalid default-cert-level; must be 0, 1, 2, or 3\n"
 msgstr "vigane vaikimisi-sert-tase; peab olema 0, 1, 2 või 3\n"
 
-#: g10/gpg.c:3788
+#: g10/gpg.c:3808
 #, c-format
 msgid "invalid min-cert-level; must be 1, 2, or 3\n"
 msgstr "vigane min-sert-tase; peab olema 1, 2 või 3\n"
 
-#: g10/gpg.c:3791
+#: g10/gpg.c:3812
 #, fuzzy, c-format
 #| msgid "NOTE: simple S2K mode (0) is strongly discouraged\n"
 msgid "Note: simple S2K mode (0) is strongly discouraged\n"
 msgstr "MÄRKUS: lihtne S2K mood (0) ei soovitata kasutada\n"
 
-#: g10/gpg.c:3795
+#: g10/gpg.c:3816
 #, c-format
 msgid "invalid S2K mode; must be 0, 1 or 3\n"
 msgstr "vigane S2K mood; peab olema 0, 1 või 3\n"
 
-#: g10/gpg.c:3802
+#: g10/gpg.c:3823
 #, c-format
 msgid "invalid default preferences\n"
 msgstr "vigased vaikimisi eelistused\n"
 
-#: g10/gpg.c:3806
+#: g10/gpg.c:3827
 #, c-format
 msgid "invalid personal cipher preferences\n"
 msgstr "vigased isikliku šifri eelistused\n"
 
-#: g10/gpg.c:3810
+#: g10/gpg.c:3831
 #, c-format
 msgid "invalid personal digest preferences\n"
 msgstr "vigased isikliku lühendi eelistused\n"
 
-#: g10/gpg.c:3814
+#: g10/gpg.c:3835
 #, c-format
 msgid "invalid personal compress preferences\n"
 msgstr "vigased isikliku pakkimise eelistused\n"
 
-#: g10/gpg.c:3850
+#: g10/gpg.c:3871
 #, c-format
 msgid "%s does not yet work with %s\n"
 msgstr "%s ei tööta veel koos %s-ga\n"
 
-#: g10/gpg.c:3913
+#: g10/gpg.c:3934
 #, fuzzy, c-format
 msgid "compression algorithm '%s' may not be used in %s mode\n"
 msgstr "pakkimise algoritm \"%s\" ei ole moodis %s lubatud\n"
 
-#: g10/gpg.c:4057
+#: g10/gpg.c:4078
 #, c-format
 msgid "failed to initialize the TrustDB: %s\n"
 msgstr "TrustDB initsialiseerimine ebaõnnestus: %s\n"
 
-#: g10/gpg.c:4069
+#: g10/gpg.c:4090
 #, c-format
 msgid "WARNING: recipients (-r) given without using public key encryption\n"
 msgstr ""
 "HOIATUS: määrati saajad (-r) aga ei kasutata avaliku võtme krüptograafiat\n"
 
-#: g10/gpg.c:4141
+#: g10/gpg.c:4162
 #, fuzzy, c-format
 msgid "symmetric encryption of '%s' failed: %s\n"
 msgstr "lahtikrüpteerimine ebaõnnestus: %s\n"
 
-#: g10/gpg.c:4170
+#: g10/gpg.c:4191
 #, c-format
 msgid "you cannot use --symmetric --encrypt with --s2k-mode 0\n"
 msgstr ""
 
-#: g10/gpg.c:4173
+#: g10/gpg.c:4194
 #, fuzzy, c-format
 msgid "you cannot use --symmetric --encrypt in %s mode\n"
 msgstr "%s ei ole moodis %s lubatud.\n"
 
-#: g10/gpg.c:4231
+#: g10/gpg.c:4252
 #, c-format
 msgid "you cannot use --symmetric --sign --encrypt with --s2k-mode 0\n"
 msgstr ""
 
-#: g10/gpg.c:4234
+#: g10/gpg.c:4255
 #, fuzzy, c-format
 msgid "you cannot use --symmetric --sign --encrypt in %s mode\n"
 msgstr "%s ei ole moodis %s lubatud.\n"
 
-#: g10/gpg.c:4622 g10/keyserver.c:1881
+#: g10/gpg.c:4643 g10/keyserver.c:1648
 #, c-format
 msgid "keyserver send failed: %s\n"
 msgstr "võtmeserverile saatmine ebaõnnestus: %s\n"
 
-#: g10/gpg.c:4627
+#: g10/gpg.c:4648
 #, c-format
 msgid "keyserver receive failed: %s\n"
 msgstr "võtmeserverilt lugemine ebaõnnestus: %s\n"
 
-#: g10/gpg.c:4633
+#: g10/gpg.c:4654
 #, c-format
 msgid "key export failed: %s\n"
 msgstr "võtme eksport ebaõnnestus: %s\n"
 
-#: g10/gpg.c:4646
+#: g10/gpg.c:4667
 #, fuzzy, c-format
 #| msgid "key export failed: %s\n"
 msgid "export as ssh key failed: %s\n"
 msgstr "võtme eksport ebaõnnestus: %s\n"
 
-#: g10/gpg.c:4658
+#: g10/gpg.c:4679
 #, c-format
 msgid "keyserver search failed: %s\n"
 msgstr "võtmeserveri otsing ebaõnnestus: %s\n"
 
-#: g10/gpg.c:4671
+#: g10/gpg.c:4692
 #, c-format
 msgid "keyserver refresh failed: %s\n"
 msgstr "võtmeserveri uuendamine ebaõnnestus: %s\n"
 
-#: g10/gpg.c:4738
+#: g10/gpg.c:4759
 #, c-format
 msgid "dearmoring failed: %s\n"
 msgstr "lahtipakendamine ebaõnnestus: %s\n"
 
-#: g10/gpg.c:4749
+#: g10/gpg.c:4770
 #, c-format
 msgid "enarmoring failed: %s\n"
 msgstr "pakendamine ebaõnnestus: %s\n"
 
-#: g10/gpg.c:4841
+#: g10/gpg.c:4862
 #, fuzzy, c-format
 #| msgid "invalid hash algorithm `%s'\n"
 msgid "invalid hash algorithm '%s'\n"
 msgstr "vigane räsialgoritm `%s'\n"
 
-#: g10/gpg.c:4993 g10/tofu.c:2153
+#: g10/gpg.c:5014 g10/tofu.c:2153
 #, fuzzy, c-format
 msgid "error parsing key specification '%s': %s\n"
 msgstr "viga parooli loomisel: %s\n"
 
-#: g10/gpg.c:5006
+#: g10/gpg.c:5027
 #, c-format
 msgid "'%s' does not appear to be a valid key ID, fingerprint or keygrip\n"
 msgstr ""
 
-#: g10/gpg.c:5062
+#: g10/gpg.c:5083
 #, c-format
 msgid "WARNING: no command supplied.  Trying to guess what you mean ...\n"
 msgstr ""
 
-#: g10/gpg.c:5073
+#: g10/gpg.c:5094
 #, c-format
 msgid "Go ahead and type your message ...\n"
 msgstr "Kirjutage nüüd oma teade ...\n"
 
-#: g10/gpg.c:5418
+#: g10/gpg.c:5439
 #, c-format
 msgid "the given certification policy URL is invalid\n"
 msgstr "antud sertifikaadi poliisi URL on vigane\n"
 
-#: g10/gpg.c:5420
+#: g10/gpg.c:5441
 #, c-format
 msgid "the given signature policy URL is invalid\n"
 msgstr "antud allkirja poliisi URL on vigane\n"
 
-#: g10/gpg.c:5453
+#: g10/gpg.c:5474
 #, fuzzy, c-format
 msgid "the given preferred keyserver URL is invalid\n"
 msgstr "antud allkirja poliisi URL on vigane\n"
@@ -3422,7 +3440,7 @@ msgstr "võta võtmed sellest võtmehoidlast"
 msgid "make timestamp conflicts only a warning"
 msgstr "teata ajatemplite konfliktist ainult hoiatusega"
 
-#: g10/gpgv.c:86 sm/gpgsm.c:354 tools/gpgconf.c:112
+#: g10/gpgv.c:86 sm/gpgsm.c:357 tools/gpgconf.c:112
 msgid "|FD|write status info to this FD"
 msgstr "|FP|kirjuta olekuinfo sellesse failipidemesse"
 
@@ -3506,267 +3524,267 @@ msgstr ""
 msgid "repair keys on import"
 msgstr "näita sõrmejälge"
 
-#: g10/import.c:380 g10/import.c:699
+#: g10/import.c:392 g10/import.c:711
 #, c-format
 msgid "skipping block of type %d\n"
 msgstr "jätan bloki tüübiga %d vahele\n"
 
-#: g10/import.c:716
+#: g10/import.c:728
 #, fuzzy, c-format
 msgid "%lu keys processed so far\n"
 msgstr "%lu võtit on seni töödeldud\n"
 
-#: g10/import.c:802
+#: g10/import.c:814
 #, c-format
 msgid "Total number processed: %lu\n"
 msgstr "Töödeldud kokku: %lu\n"
 
-#: g10/import.c:805
+#: g10/import.c:817
 #, fuzzy, c-format
 #| msgid "      skipped new keys: %lu\n"
 msgid "    skipped PGP-2 keys: %lu\n"
 msgstr " vahele jäetud uusi võtmeid: %lu\n"
 
-#: g10/import.c:807
+#: g10/import.c:819
 #, c-format
 msgid "      skipped new keys: %lu\n"
 msgstr " vahele jäetud uusi võtmeid: %lu\n"
 
-#: g10/import.c:810
+#: g10/import.c:822
 #, c-format
 msgid "          w/o user IDs: %lu\n"
 msgstr "    puudub kasutaja ID: %lu\n"
 
-#: g10/import.c:813 sm/import.c:130
+#: g10/import.c:825 sm/import.c:130
 #, c-format
 msgid "              imported: %lu"
 msgstr "            imporditud: %lu"
 
-#: g10/import.c:817 sm/import.c:134
+#: g10/import.c:829 sm/import.c:134
 #, c-format
 msgid "             unchanged: %lu\n"
 msgstr "              muutmata: %lu\n"
 
-#: g10/import.c:819
+#: g10/import.c:831
 #, c-format
 msgid "          new user IDs: %lu\n"
 msgstr "       uusi kasutajaid: %lu\n"
 
-#: g10/import.c:821
+#: g10/import.c:833
 #, c-format
 msgid "           new subkeys: %lu\n"
 msgstr "      uusi alamvõtmeid: %lu\n"
 
-#: g10/import.c:823
+#: g10/import.c:835
 #, c-format
 msgid "        new signatures: %lu\n"
 msgstr "         uusi allkirju: %lu\n"
 
-#: g10/import.c:825
+#: g10/import.c:837
 #, c-format
 msgid "   new key revocations: %lu\n"
 msgstr "      uusi tühistamisi: %lu\n"
 
-#: g10/import.c:827 sm/import.c:136
+#: g10/import.c:839 sm/import.c:136
 #, c-format
 msgid "      secret keys read: %lu\n"
 msgstr " loetud salajasi võtmeid: %lu\n"
 
-#: g10/import.c:829 sm/import.c:138
+#: g10/import.c:841 sm/import.c:138
 #, c-format
 msgid "  secret keys imported: %lu\n"
 msgstr " salajasi võtmeid imporditud: %lu\n"
 
-#: g10/import.c:831 sm/import.c:140
+#: g10/import.c:843 sm/import.c:140
 #, c-format
 msgid " secret keys unchanged: %lu\n"
 msgstr " muutmata salajasi võtmeid: %lu\n"
 
-#: g10/import.c:833 sm/import.c:142
+#: g10/import.c:845 sm/import.c:142
 #, c-format
 msgid "          not imported: %lu\n"
 msgstr "       pole imporditud: %lu\n"
 
-#: g10/import.c:835
+#: g10/import.c:847
 #, fuzzy, c-format
 msgid "    signatures cleaned: %lu\n"
 msgstr "         uusi allkirju: %lu\n"
 
-#: g10/import.c:837
+#: g10/import.c:849
 #, fuzzy, c-format
 msgid "      user IDs cleaned: %lu\n"
 msgstr " loetud salajasi võtmeid: %lu\n"
 
-#: g10/import.c:1264
+#: g10/import.c:1276
 #, c-format
 msgid ""
 "WARNING: key %s contains preferences for unavailable\n"
 "algorithms on these user IDs:\n"
 msgstr ""
 
-#: g10/import.c:1306
+#: g10/import.c:1318
 #, c-format
 msgid "         \"%s\": preference for cipher algorithm %s\n"
 msgstr ""
 
-#: g10/import.c:1321
+#: g10/import.c:1333
 #, fuzzy, c-format
 msgid "         \"%s\": preference for digest algorithm %s\n"
 msgstr "%s allkiri, sõnumilühendi algoritm %s\n"
 
-#: g10/import.c:1333
+#: g10/import.c:1345
 #, c-format
 msgid "         \"%s\": preference for compression algorithm %s\n"
 msgstr ""
 
-#: g10/import.c:1346
+#: g10/import.c:1358
 #, c-format
 msgid "it is strongly suggested that you update your preferences and\n"
 msgstr ""
 
-#: g10/import.c:1348
+#: g10/import.c:1360
 #, c-format
 msgid "re-distribute this key to avoid potential algorithm mismatch problems\n"
 msgstr ""
 
-#: g10/import.c:1373
+#: g10/import.c:1385
 #, c-format
 msgid "you can update your preferences with: gpg --edit-key %s updpref save\n"
 msgstr ""
 
-#: g10/import.c:1887 g10/import.c:3001
+#: g10/import.c:1899 g10/import.c:3013
 #, fuzzy, c-format
 msgid "key %s: no user ID\n"
 msgstr "võti %08lX: kasutaja ID puudub\n"
 
-#: g10/import.c:1893
+#: g10/import.c:1905
 #, fuzzy, c-format
 msgid "key %s: %s\n"
 msgstr "`%s' jätsin vahele: %s\n"
 
-#: g10/import.c:1894 g10/import.c:2973
+#: g10/import.c:1906 g10/import.c:2985
 msgid "rejected by import screener"
 msgstr ""
 
-#: g10/import.c:1938
+#: g10/import.c:1950
 #, fuzzy, c-format
 msgid "key %s: PKS subkey corruption repaired\n"
 msgstr "võti %08lX: HKP alamvõtme rike parandatud\n"
 
-#: g10/import.c:1959
+#: g10/import.c:1971
 #, fuzzy, c-format
 msgid "key %s: accepted non self-signed user ID \"%s\"\n"
 msgstr ""
 "võti %08lX: aktsepteerisin iseenda poolt allakirjutamata kasutaja ID '%s'\n"
 
-#: g10/import.c:1969 g10/import.c:2000
+#: g10/import.c:1981 g10/import.c:2012
 #, fuzzy, c-format
 msgid "key %s: no valid user IDs\n"
 msgstr "võti %08lX: puudub kehtiv kasutaja ID\n"
 
-#: g10/import.c:1971
+#: g10/import.c:1983
 #, c-format
 msgid "this may be caused by a missing self-signature\n"
 msgstr "see võib olla põhjustatud puuduvast iseenda allkirjast\n"
 
-#: g10/import.c:2050 g10/import.c:3387
+#: g10/import.c:2062 g10/import.c:3399
 #, fuzzy, c-format
 msgid "key %s: public key not found: %s\n"
 msgstr "võti %08lX: avalikku võtit ei leitud: %s\n"
 
-#: g10/import.c:2056
+#: g10/import.c:2068
 #, fuzzy, c-format
 msgid "key %s: new key - skipped\n"
 msgstr "võti %08lX: uus võti - jätsin vahele\n"
 
-#: g10/import.c:2068
+#: g10/import.c:2080
 #, c-format
 msgid "no writable keyring found: %s\n"
 msgstr "ei leia kirjutatavat võtmehoidlat: %s\n"
 
-#: g10/import.c:2100 g10/import.c:2202 g10/import.c:3464
+#: g10/import.c:2112 g10/import.c:2214 g10/import.c:3476
 #, fuzzy, c-format
 #| msgid "error writing keyring `%s': %s\n"
 msgid "error writing keyring '%s': %s\n"
 msgstr "viga võtmehoidlasse `%s' kirjutamisel: %s\n"
 
-#: g10/import.c:2123
+#: g10/import.c:2135
 #, fuzzy, c-format
 msgid "key %s: public key \"%s\" imported\n"
 msgstr "võti %08lX: avalik võti \"%s\" on imporditud\n"
 
-#: g10/import.c:2150
+#: g10/import.c:2162
 #, fuzzy, c-format
 msgid "key %s: doesn't match our copy\n"
 msgstr "võti %08lX: ei sobi meie koopiaga\n"
 
-#: g10/import.c:2218
+#: g10/import.c:2230
 #, fuzzy, c-format
 msgid "key %s: \"%s\" 1 new user ID\n"
 msgstr "võti %08lX: \"%s\" 1 uus kasutaja ID\n"
 
-#: g10/import.c:2221
+#: g10/import.c:2233
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d new user IDs\n"
 msgstr "võti %08lX: \"%s\" %d uut kasutaja IDd\n"
 
-#: g10/import.c:2224
+#: g10/import.c:2236
 #, fuzzy, c-format
 msgid "key %s: \"%s\" 1 new signature\n"
 msgstr "võti %08lX: \"%s\" 1 uus allkiri\n"
 
-#: g10/import.c:2227
+#: g10/import.c:2239
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d new signatures\n"
 msgstr "võti %08lX: \"%s\" %d uut allkirja\n"
 
-#: g10/import.c:2230
+#: g10/import.c:2242
 #, fuzzy, c-format
 msgid "key %s: \"%s\" 1 new subkey\n"
 msgstr "võti %08lX: \"%s\" 1 uus alamvõti\n"
 
-#: g10/import.c:2233
+#: g10/import.c:2245
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d new subkeys\n"
 msgstr "võti %08lX: \"%s\" %d uut alamvõtit\n"
 
-#: g10/import.c:2236
+#: g10/import.c:2248
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d signature cleaned\n"
 msgstr "võti %08lX: \"%s\" %d uut allkirja\n"
 
-#: g10/import.c:2239
+#: g10/import.c:2251
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d signatures cleaned\n"
 msgstr "võti %08lX: \"%s\" %d uut allkirja\n"
 
-#: g10/import.c:2242
+#: g10/import.c:2254
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d user ID cleaned\n"
 msgstr "võti %08lX: \"%s\" %d uut kasutaja IDd\n"
 
-#: g10/import.c:2245
+#: g10/import.c:2257
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d user IDs cleaned\n"
 msgstr "võti %08lX: \"%s\" %d uut kasutaja IDd\n"
 
-#: g10/import.c:2281
+#: g10/import.c:2293
 #, fuzzy, c-format
 msgid "key %s: \"%s\" not changed\n"
 msgstr "võti %08lX: \"%s\" ei muudetud\n"
 
-#: g10/import.c:2640 g10/import.c:2835
+#: g10/import.c:2652 g10/import.c:2847
 #, fuzzy, c-format
 msgid "key %s: secret key imported\n"
 msgstr "võti %08lX: salajane võti on imporditud\n"
 
-#: g10/import.c:2648
+#: g10/import.c:2660
 #, fuzzy, c-format
 #| msgid "skipped: secret key already present\n"
 msgid "key %s: secret key already exists\n"
 msgstr "jätsin vahele: avalik võti on juba olemas\n"
 
-#: g10/import.c:2656
+#: g10/import.c:2668
 #, fuzzy, c-format
 msgid "key %s: error sending to agent: %s\n"
 msgstr "viga teate saatmisel serverile `%s': %s\n"
@@ -3779,195 +3797,195 @@ msgstr "viga teate saatmisel serverile `%s': %s\n"
 #. * Instead, user should be suggested to run 'gpg --card-status',
 #. * then, references to a card will be automatically created
 #. * again.
-#: g10/import.c:2825
+#: g10/import.c:2837
 #, c-format
 msgid "To migrate '%s', with each smartcard, run: %s\n"
 msgstr ""
 
-#: g10/import.c:2972
+#: g10/import.c:2984
 #, fuzzy, c-format
 msgid "secret key %s: %s\n"
 msgstr "salajast võtit `%s' ei leitud: %s\n"
 
-#: g10/import.c:2993 g10/import.c:3032
+#: g10/import.c:3005 g10/import.c:3044
 #, fuzzy, c-format
 msgid "importing secret keys not allowed\n"
 msgstr "kirjutan salajase võtme faili `%s'\n"
 
-#: g10/import.c:3020
+#: g10/import.c:3032
 #, fuzzy, c-format
 msgid "key %s: secret key with invalid cipher %d - skipped\n"
 msgstr "võti %08lX: salajane võti vigase šifriga %d - jätsin vahele\n"
 
-#: g10/import.c:3182 g10/pkclist.c:72 g10/revoke.c:776
+#: g10/import.c:3194 g10/pkclist.c:72 g10/revoke.c:776
 msgid "No reason specified"
 msgstr "Põhjus puudub"
 
-#: g10/import.c:3183 g10/pkclist.c:74 g10/revoke.c:778
+#: g10/import.c:3195 g10/pkclist.c:74 g10/revoke.c:778
 msgid "Key is superseded"
 msgstr "Võti on asendatud"
 
-#: g10/import.c:3184 g10/pkclist.c:76 g10/revoke.c:777
+#: g10/import.c:3196 g10/pkclist.c:76 g10/revoke.c:777
 msgid "Key has been compromised"
 msgstr "Võti on kompromiteeritud"
 
-#: g10/import.c:3185 g10/pkclist.c:78 g10/revoke.c:779
+#: g10/import.c:3197 g10/pkclist.c:78 g10/revoke.c:779
 msgid "Key is no longer used"
 msgstr "Võti ei ole enam kasutusel"
 
-#: g10/import.c:3186 g10/pkclist.c:80 g10/revoke.c:780
+#: g10/import.c:3198 g10/pkclist.c:80 g10/revoke.c:780
 msgid "User ID is no longer valid"
 msgstr "Kasutaja ID ei ole enam kehtiv"
 
-#: g10/import.c:3311 g10/keylist.c:1254 g10/pkclist.c:84
+#: g10/import.c:3323 g10/keylist.c:1254 g10/pkclist.c:84
 #, c-format
 msgid "reason for revocation: "
 msgstr "tühistamise põhjus: "
 
-#: g10/import.c:3330 g10/keylist.c:1273 g10/pkclist.c:100
+#: g10/import.c:3342 g10/keylist.c:1273 g10/pkclist.c:100
 #, c-format
 msgid "revocation comment: "
 msgstr "tühistamise kommentaar: "
 
-#: g10/import.c:3380
+#: g10/import.c:3392
 #, fuzzy, c-format
 msgid "key %s: no public key - can't apply revocation certificate\n"
 msgstr ""
 "võti %08lX: avalik võti puudub - tühistamise sertifikaati ei saa rakendada\n"
 
-#: g10/import.c:3411
+#: g10/import.c:3423
 #, fuzzy, c-format
 msgid "key %s: can't locate original keyblock: %s\n"
 msgstr "võti %08lX: ei leia algset võtmeblokki: %s\n"
 
-#: g10/import.c:3418
+#: g10/import.c:3430
 #, fuzzy, c-format
 msgid "key %s: can't read original keyblock: %s\n"
 msgstr "võti %08lX: ei õnnestu lugeda algset võtmeblokki: %s\n"
 
-#: g10/import.c:3438
+#: g10/import.c:3450
 #, fuzzy, c-format
 msgid "key %s: invalid revocation certificate: %s - rejected\n"
 msgstr "võti %08lX: vigane tühistamise sertifikaat: %s - lükkasin tagasi\n"
 
-#: g10/import.c:3473
+#: g10/import.c:3485
 #, fuzzy, c-format
 msgid "key %s: \"%s\" revocation certificate imported\n"
 msgstr "võti %08lX: \"%s\" tühistamise sertifikaat imporditud\n"
 
-#: g10/import.c:3559
+#: g10/import.c:3571
 #, fuzzy, c-format
 msgid "key %s: no user ID for signature\n"
 msgstr "võti %08lX: allkirjal puudub kasutaja ID\n"
 
-#: g10/import.c:3576
+#: g10/import.c:3588
 #, fuzzy, c-format
 msgid "key %s: unsupported public key algorithm on user ID \"%s\"\n"
 msgstr "võti %08lX: mittetoetatud avaliku võtme algoritm kasutajaga \"%s\"\n"
 
-#: g10/import.c:3578
+#: g10/import.c:3590
 #, fuzzy, c-format
 msgid "key %s: invalid self-signature on user ID \"%s\"\n"
 msgstr "võti %08lX: kasutajal \"%s\" on vigane iseenda allkiri\n"
 
-#: g10/import.c:3595 g10/import.c:3623 g10/import.c:3679
+#: g10/import.c:3607 g10/import.c:3635 g10/import.c:3691
 #, fuzzy, c-format
 msgid "key %s: unsupported public key algorithm\n"
 msgstr "võti %08lX: mittetoetatud avaliku võtme algoritm\n"
 
-#: g10/import.c:3596
+#: g10/import.c:3608
 #, fuzzy, c-format
 msgid "key %s: invalid direct key signature\n"
 msgstr "võti %08lX: lisatud vahetu võtme allkiri\n"
 
-#: g10/import.c:3610
+#: g10/import.c:3622
 #, fuzzy, c-format
 msgid "key %s: no subkey for key binding\n"
 msgstr "võti %08lX: võtmeseosel puudub alamvõti\n"
 
-#: g10/import.c:3625
+#: g10/import.c:3637
 #, fuzzy, c-format
 msgid "key %s: invalid subkey binding\n"
 msgstr "võti %08lX: vigane alamvõtme seos\n"
 
-#: g10/import.c:3644
+#: g10/import.c:3656
 #, fuzzy, c-format
 msgid "key %s: removed multiple subkey binding\n"
 msgstr "võti %08lX: vigane mitme alamvõtme seos\n"
 
-#: g10/import.c:3668
+#: g10/import.c:3680
 #, fuzzy, c-format
 msgid "key %s: no subkey for key revocation\n"
 msgstr "võti %08lX: võtme tühistamiseks puudub alamvõti\n"
 
-#: g10/import.c:3681
+#: g10/import.c:3693
 #, fuzzy, c-format
 msgid "key %s: invalid subkey revocation\n"
 msgstr "võti %08lX: vigane alamvõtme tühistamine\n"
 
-#: g10/import.c:3696
+#: g10/import.c:3708
 #, fuzzy, c-format
 msgid "key %s: removed multiple subkey revocation\n"
 msgstr "võti %08lX: eemaldasin mitme alamvõtme tühistamise\n"
 
-#: g10/import.c:3740
+#: g10/import.c:3752
 #, fuzzy, c-format
 msgid "key %s: skipped user ID \"%s\"\n"
 msgstr "võti %08lX: jätsin vahele kasutaja ID '"
 
-#: g10/import.c:3767
+#: g10/import.c:3779
 #, fuzzy, c-format
 msgid "key %s: skipped subkey\n"
 msgstr "võti %08lX: jätsin alamvõtme vahele\n"
 
-#: g10/import.c:3798
+#: g10/import.c:3810
 #, fuzzy, c-format
 msgid "key %s: non exportable signature (class 0x%02X) - skipped\n"
 msgstr "võti %08lX: mitte eksporditav allkiri (klass %02x) - jätan vahele\n"
 
-#: g10/import.c:3809
+#: g10/import.c:3821
 #, fuzzy, c-format
 msgid "key %s: revocation certificate at wrong place - skipped\n"
 msgstr "võti %08lX: tühistamise sertifikaat on vales kohas - jätan vahele\n"
 
-#: g10/import.c:3827
+#: g10/import.c:3839
 #, fuzzy, c-format
 msgid "key %s: invalid revocation certificate: %s - skipped\n"
 msgstr "võti %08lX: vigane tühistamise sertifikaat: %s - jätan vahele\n"
 
-#: g10/import.c:3841
+#: g10/import.c:3853
 #, fuzzy, c-format
 msgid "key %s: subkey signature in wrong place - skipped\n"
 msgstr "võti %08lX: alamvõtme allkiri on vales kohas - jätan vahele\n"
 
-#: g10/import.c:3849
+#: g10/import.c:3861
 #, fuzzy, c-format
 msgid "key %s: unexpected signature class (0x%02X) - skipped\n"
 msgstr "võti %08lX: ootamatu allkirja klass (0x%02x) - jätan vahele\n"
 
-#: g10/import.c:4022
+#: g10/import.c:4034
 #, fuzzy, c-format
 msgid "key %s: duplicated user ID detected - merged\n"
 msgstr "võti %08lX: tuvastasin dubleeritud kasutaja ID - mestisin\n"
 
-#: g10/import.c:4087
+#: g10/import.c:4099
 #, fuzzy, c-format
 msgid "WARNING: key %s may be revoked: fetching revocation key %s\n"
 msgstr ""
 "HOIATUS: võti %08lX võib olla tühistatud: laen tühistamise võtit %08lX\n"
 
-#: g10/import.c:4103
+#: g10/import.c:4115
 #, fuzzy, c-format
 msgid "WARNING: key %s may be revoked: revocation key %s not present.\n"
 msgstr ""
 "HOIATUS: võti %08lX võib olla tühistatud: tühistamise võtit %08lX pole.\n"
 
-#: g10/import.c:4169
+#: g10/import.c:4181
 #, fuzzy, c-format
 msgid "key %s: \"%s\" revocation certificate added\n"
 msgstr "võti %08lX: \"%s\" tühistamise sertifikaat lisatud\n"
 
-#: g10/import.c:4207
+#: g10/import.c:4219
 #, fuzzy, c-format
 msgid "key %s: direct key signature added\n"
 msgstr "võti %08lX: lisatud vahetu võtme allkiri\n"
@@ -4036,7 +4054,7 @@ msgid ""
 "all signatures.\n"
 msgstr ""
 
-#: g10/keydb.c:431 g10/keydb.c:458 sm/keydb.c:191 sm/keydb.c:204
+#: g10/keydb.c:431 g10/keydb.c:458 sm/keydb.c:190 sm/keydb.c:203
 #, fuzzy, c-format
 msgid "error creating keybox '%s': %s\n"
 msgstr "viga võtmehoidla `%s' loomisel: %s\n"
@@ -4047,7 +4065,7 @@ msgstr "viga võtmehoidla `%s' loomisel: %s\n"
 msgid "error creating keyring '%s': %s\n"
 msgstr "viga võtmehoidla `%s' loomisel: %s\n"
 
-#: g10/keydb.c:470 sm/keydb.c:210
+#: g10/keydb.c:470 sm/keydb.c:209
 #, fuzzy, c-format
 msgid "keybox '%s' created\n"
 msgstr "võtmehoidla `%s' on loodud\n"
@@ -4125,13 +4143,13 @@ msgstr ""
 msgid "User ID \"%s\" is revoked."
 msgstr "Kasutaja ID \"%s\" on tühistatud."
 
-#: g10/keyedit.c:569 g10/keyedit.c:597 g10/keyedit.c:624 g10/keyedit.c:808
-#: g10/keyedit.c:1655
+#: g10/keyedit.c:569 g10/keyedit.c:597 g10/keyedit.c:624 g10/keyedit.c:809
+#: g10/keyedit.c:1656
 msgid "Are you sure you still want to sign it? (y/N) "
 msgstr "Olete kindel, et soovite seda ikka allkirjastada? (j/e) "
 
-#: g10/keyedit.c:583 g10/keyedit.c:611 g10/keyedit.c:638 g10/keyedit.c:814
-#: g10/keyedit.c:1660 g10/keyedit.c:2667
+#: g10/keyedit.c:583 g10/keyedit.c:611 g10/keyedit.c:638 g10/keyedit.c:815
+#: g10/keyedit.c:1661 g10/keyedit.c:2668
 msgid "  Unable to sign.\n"
 msgstr "  Ei saa allkirjastada.\n"
 
@@ -4205,29 +4223,29 @@ msgstr "\"%s\" on juba lokaalselt allkirjastatud võtmega %08lX\n"
 msgid "\"%s\" was already signed by key %s\n"
 msgstr "\"%s\" on juba allkirjastatud võtmega %08lX\n"
 
-#: g10/keyedit.c:756
+#: g10/keyedit.c:757
 msgid "Do you want to sign it again anyway? (y/N) "
 msgstr "Olete kindel, et soovite seda ikka allkirjastada? (j/E) "
 
-#: g10/keyedit.c:778
+#: g10/keyedit.c:779
 #, fuzzy, c-format
 msgid "Nothing to sign with key %s\n"
 msgstr "Võtmega %08lX pole midagi allkirjastada\n"
 
-#: g10/keyedit.c:802
+#: g10/keyedit.c:803
 msgid "This key has expired!"
 msgstr "See võti on aegunud!"
 
-#: g10/keyedit.c:820
+#: g10/keyedit.c:821
 #, c-format
 msgid "This key is due to expire on %s.\n"
 msgstr "See võti aegub %s.\n"
 
-#: g10/keyedit.c:826
+#: g10/keyedit.c:827
 msgid "Do you want your signature to expire at the same time? (Y/n) "
 msgstr "Soovite, et teie allkiri aeguks samal ajal? (J/e) "
 
-#: g10/keyedit.c:867
+#: g10/keyedit.c:868
 msgid ""
 "How carefully have you verified the key you are about to sign actually "
 "belongs\n"
@@ -4237,32 +4255,32 @@ msgstr ""
 "kuulub ka tegelikult ülal mainitud isikule? Kui te ei tea, mida vastata,\n"
 "sisestage \"0\".\n"
 
-#: g10/keyedit.c:872
+#: g10/keyedit.c:873
 #, c-format
 msgid "   (0) I will not answer.%s\n"
 msgstr "   (0) Ma ei vasta.%s\n"
 
-#: g10/keyedit.c:874
+#: g10/keyedit.c:875
 #, c-format
 msgid "   (1) I have not checked at all.%s\n"
 msgstr "   (1) Ma ei ole üldse kontrollinud.%s\n"
 
-#: g10/keyedit.c:876
+#: g10/keyedit.c:877
 #, c-format
 msgid "   (2) I have done casual checking.%s\n"
 msgstr "   (2) Ma olen teinud pealiskaudset kontrolli.%s\n"
 
-#: g10/keyedit.c:879
+#: g10/keyedit.c:880
 #, c-format
 msgid "   (3) I have done very careful checking.%s\n"
 msgstr "   (3) Ma olen kontrollinud väga hoolikalt.%s\n"
 
-#: g10/keyedit.c:886
+#: g10/keyedit.c:887
 #, fuzzy
 msgid "Your selection? (enter '?' for more information): "
 msgstr "Teie valik? (lisainfo saamiseks vajutage '?'): "
 
-#: g10/keyedit.c:913
+#: g10/keyedit.c:914
 #, fuzzy, c-format
 msgid ""
 "Are you sure that you want to sign this key with your\n"
@@ -4271,271 +4289,271 @@ msgstr ""
 "Olete tõesti kindel, et soovite seda võtit oma\n"
 "võtmega allkirjastada: \""
 
-#: g10/keyedit.c:921
+#: g10/keyedit.c:922
 #, fuzzy
 msgid "This will be a self-signature.\n"
 msgstr ""
 "\n"
 "See saab olema iseenda allkiri.\n"
 
-#: g10/keyedit.c:926
+#: g10/keyedit.c:927
 #, fuzzy
 msgid "WARNING: the signature will not be marked as non-exportable.\n"
 msgstr ""
 "\n"
 "HOIATUS: allkirja ei märgita mitte-eksporditavaks.\n"
 
-#: g10/keyedit.c:933
+#: g10/keyedit.c:934
 #, fuzzy
 msgid "WARNING: the signature will not be marked as non-revocable.\n"
 msgstr ""
 "\n"
 "HOIATUS: allkirja ei märgita kehtetuks mitte-tunnistatavaks.\n"
 
-#: g10/keyedit.c:943
+#: g10/keyedit.c:944
 #, fuzzy
 msgid "The signature will be marked as non-exportable.\n"
 msgstr ""
 "\n"
 "Allkiri märgitakse mitte-eksporditavaks.\n"
 
-#: g10/keyedit.c:950
+#: g10/keyedit.c:951
 #, fuzzy
 msgid "The signature will be marked as non-revocable.\n"
 msgstr ""
 "\n"
 "Allkiri märgitakse kehtetuks mitte-tunnistatavaks.\n"
 
-#: g10/keyedit.c:957
+#: g10/keyedit.c:958
 #, fuzzy
 msgid "I have not checked this key at all.\n"
 msgstr ""
 "\n"
 "Ma ei ole seda võtit üldse kontrollinud.\n"
 
-#: g10/keyedit.c:962
+#: g10/keyedit.c:963
 #, fuzzy
 msgid "I have checked this key casually.\n"
 msgstr ""
 "\n"
 "Ma olen seda võtit kontrollinud ainult pealiskaudselt.\n"
 
-#: g10/keyedit.c:967
+#: g10/keyedit.c:968
 #, fuzzy
 msgid "I have checked this key very carefully.\n"
 msgstr ""
 "\n"
 "Ma olen kontrollinud seda võtit väga hoolikalt.\n"
 
-#: g10/keyedit.c:979
+#: g10/keyedit.c:980
 #, fuzzy
 msgid "Really sign? (y/N) "
 msgstr "Allkirjastan tõesti? "
 
-#: g10/keyedit.c:1030 g10/keyedit.c:6154 g10/keyedit.c:6237 g10/keyedit.c:6366
-#: g10/keyedit.c:6428 g10/sign.c:466
+#: g10/keyedit.c:1031 g10/keyedit.c:6155 g10/keyedit.c:6238 g10/keyedit.c:6367
+#: g10/keyedit.c:6429 g10/sign.c:466
 #, c-format
 msgid "signing failed: %s\n"
 msgstr "allkirjastamine ebaõnnestus: %s\n"
 
-#: g10/keyedit.c:1117
+#: g10/keyedit.c:1118
 msgid "Key has only stub or on-card key items - no passphrase to change.\n"
 msgstr ""
 
-#: g10/keyedit.c:1149
+#: g10/keyedit.c:1150
 #, fuzzy, c-format
 #| msgid "error creating passphrase: %s\n"
 msgid "key %s: error changing passphrase: %s\n"
 msgstr "viga parooli loomisel: %s\n"
 
-#: g10/keyedit.c:1261
+#: g10/keyedit.c:1262
 msgid "save and quit"
 msgstr "salvesta ja välju"
 
-#: g10/keyedit.c:1264
+#: g10/keyedit.c:1265
 #, fuzzy
 msgid "show key fingerprint"
 msgstr "näita sõrmejälge"
 
-#: g10/keyedit.c:1265
+#: g10/keyedit.c:1266
 #, fuzzy
 msgid "show the keygrip"
 msgstr "Allkirja noteerimine: "
 
-#: g10/keyedit.c:1266
+#: g10/keyedit.c:1267
 msgid "list key and user IDs"
 msgstr "näita võtit ja kasutaja IDd"
 
-#: g10/keyedit.c:1268
+#: g10/keyedit.c:1269
 msgid "select user ID N"
 msgstr "vali kasutaja ID N"
 
-#: g10/keyedit.c:1269
+#: g10/keyedit.c:1270
 #, fuzzy
 msgid "select subkey N"
 msgstr "vali kasutaja ID N"
 
-#: g10/keyedit.c:1270
+#: g10/keyedit.c:1271
 #, fuzzy
 msgid "check signatures"
 msgstr "tühista allkirjad"
 
-#: g10/keyedit.c:1276
+#: g10/keyedit.c:1277
 msgid "sign selected user IDs [* see below for related commands]"
 msgstr ""
 
-#: g10/keyedit.c:1281
+#: g10/keyedit.c:1282
 #, fuzzy
 msgid "sign selected user IDs locally"
 msgstr "allkirjasta võti lokaalselt"
 
-#: g10/keyedit.c:1282
+#: g10/keyedit.c:1283
 #, fuzzy
 msgid "sign selected user IDs with a trust signature"
 msgstr "Vihje: Valige allkirjastamiseks kasutaja\n"
 
-#: g10/keyedit.c:1284
+#: g10/keyedit.c:1285
 msgid "sign selected user IDs with a non-revocable signature"
 msgstr ""
 
-#: g10/keyedit.c:1286
+#: g10/keyedit.c:1287
 msgid "add a user ID"
 msgstr "lisa kasutaja ID"
 
-#: g10/keyedit.c:1288
+#: g10/keyedit.c:1289
 msgid "add a photo ID"
 msgstr "lisa foto ID"
 
-#: g10/keyedit.c:1289
+#: g10/keyedit.c:1290
 #, fuzzy
 msgid "delete selected user IDs"
 msgstr "kustuta kasutaja ID"
 
-#: g10/keyedit.c:1292
+#: g10/keyedit.c:1293
 #, fuzzy
 msgid "add a subkey"
 msgstr "addkey"
 
-#: g10/keyedit.c:1295
+#: g10/keyedit.c:1296
 msgid "add a key to a smartcard"
 msgstr ""
 
-#: g10/keyedit.c:1297
+#: g10/keyedit.c:1298
 msgid "move a key to a smartcard"
 msgstr ""
 
-#: g10/keyedit.c:1299
+#: g10/keyedit.c:1300
 msgid "move a backup key to a smartcard"
 msgstr ""
 
-#: g10/keyedit.c:1301
+#: g10/keyedit.c:1302
 #, fuzzy
 msgid "delete selected subkeys"
 msgstr "kustuta sekundaarne võti"
 
-#: g10/keyedit.c:1303
+#: g10/keyedit.c:1304
 msgid "add a revocation key"
 msgstr "lisa tühistamise võti"
 
-#: g10/keyedit.c:1305
+#: g10/keyedit.c:1306
 #, fuzzy
 msgid "delete signatures from the selected user IDs"
 msgstr "Kas uuendan tõesti kõik kasutaja ID-de seaded? "
 
-#: g10/keyedit.c:1307
+#: g10/keyedit.c:1308
 #, fuzzy
 msgid "change the expiration date for the key or selected subkeys"
 msgstr "v3 võtme aegumise aega ei saa muuta.\n"
 
-#: g10/keyedit.c:1309
+#: g10/keyedit.c:1310
 #, fuzzy
 msgid "flag the selected user ID as primary"
 msgstr "märgi kasutaja ID primaarseks"
 
-#: g10/keyedit.c:1312
+#: g10/keyedit.c:1313
 msgid "list preferences (expert)"
 msgstr "näita eelistusi (ekspert)"
 
-#: g10/keyedit.c:1313
+#: g10/keyedit.c:1314
 msgid "list preferences (verbose)"
 msgstr "näita eelistusi (detailsena)"
 
-#: g10/keyedit.c:1315
+#: g10/keyedit.c:1316
 #, fuzzy
 msgid "set preference list for the selected user IDs"
 msgstr "Kas uuendan tõesti kõik kasutaja ID-de seaded? "
 
-#: g10/keyedit.c:1318
+#: g10/keyedit.c:1319
 #, fuzzy
 msgid "set the preferred keyserver URL for the selected user IDs"
 msgstr "ei saa parsida võtmeserveri URI\n"
 
-#: g10/keyedit.c:1320
+#: g10/keyedit.c:1321
 #, fuzzy
 msgid "set a notation for the selected user IDs"
 msgstr "Kas uuendan tõesti kõik kasutaja ID-de seaded? "
 
-#: g10/keyedit.c:1322
+#: g10/keyedit.c:1323
 msgid "change the passphrase"
 msgstr "muuda parooli"
 
-#: g10/keyedit.c:1325
+#: g10/keyedit.c:1326
 msgid "change the ownertrust"
 msgstr "muuda omaniku usaldust"
 
-#: g10/keyedit.c:1328
+#: g10/keyedit.c:1329
 #, fuzzy
 msgid "revoke signatures on the selected user IDs"
 msgstr "Kas tühistan tõesti kõik valitud kasutaja IDd? "
 
-#: g10/keyedit.c:1330
+#: g10/keyedit.c:1331
 #, fuzzy
 msgid "revoke selected user IDs"
 msgstr "tühista kasutaja ID"
 
-#: g10/keyedit.c:1333
+#: g10/keyedit.c:1334
 #, fuzzy
 msgid "revoke key or selected subkeys"
 msgstr "tühista sekundaarne võti"
 
-#: g10/keyedit.c:1335
+#: g10/keyedit.c:1336
 #, fuzzy
 msgid "enable key"
 msgstr "luba võti"
 
-#: g10/keyedit.c:1336
+#: g10/keyedit.c:1337
 #, fuzzy
 msgid "disable key"
 msgstr "blokeeri võti"
 
-#: g10/keyedit.c:1338
+#: g10/keyedit.c:1339
 #, fuzzy
 msgid "show selected photo IDs"
 msgstr "näita foto ID"
 
-#: g10/keyedit.c:1340
+#: g10/keyedit.c:1341
 msgid "compact unusable user IDs and remove unusable signatures from key"
 msgstr ""
 
-#: g10/keyedit.c:1342
+#: g10/keyedit.c:1343
 msgid "compact unusable user IDs and remove all signatures from key"
 msgstr ""
 
-#: g10/keyedit.c:1463
+#: g10/keyedit.c:1464
 msgid "Secret key is available.\n"
 msgstr "Salajane võti on kasutatav.\n"
 
-#: g10/keyedit.c:1465
+#: g10/keyedit.c:1466
 #, fuzzy
 #| msgid "Secret key is available.\n"
 msgid "Secret subkeys are available.\n"
 msgstr "Salajane võti on kasutatav.\n"
 
-#: g10/keyedit.c:1567
+#: g10/keyedit.c:1568
 msgid "Need the secret key to do this.\n"
 msgstr "Selle tegamiseks on vaja salajast võtit.\n"
 
-#: g10/keyedit.c:1590
+#: g10/keyedit.c:1591
 msgid ""
 "* The 'sign' command may be prefixed with an 'l' for local signatures "
 "(lsign),\n"
@@ -4543,314 +4561,314 @@ msgid ""
 "  (nrsign), or any combination thereof (ltsign, tnrsign, etc.).\n"
 msgstr ""
 
-#: g10/keyedit.c:1648 g10/keyedit.c:2667 g10/keyedit.c:3040 g10/keyedit.c:3108
+#: g10/keyedit.c:1649 g10/keyedit.c:2668 g10/keyedit.c:3041 g10/keyedit.c:3109
 msgid "Key is revoked."
 msgstr "Võti on tühistatud."
 
-#: g10/keyedit.c:1671
+#: g10/keyedit.c:1672
 #, fuzzy
 msgid "Really sign all text user IDs? (y/N) "
 msgstr "Kas allkirjastan tõesti kõik kasutaja IDd? "
 
-#: g10/keyedit.c:1675
+#: g10/keyedit.c:1676
 #, fuzzy
 msgid "Really sign all user IDs? (y/N) "
 msgstr "Kas allkirjastan tõesti kõik kasutaja IDd? "
 
-#: g10/keyedit.c:1683
+#: g10/keyedit.c:1684
 msgid "Hint: Select the user IDs to sign\n"
 msgstr "Vihje: Valige allkirjastamiseks kasutaja\n"
 
-#: g10/keyedit.c:1694
+#: g10/keyedit.c:1695
 #, fuzzy, c-format
 msgid "Unknown signature type '%s'\n"
 msgstr "tundmatu allkirja klass"
 
-#: g10/keyedit.c:1718
+#: g10/keyedit.c:1719
 #, c-format
 msgid "This command is not allowed while in %s mode.\n"
 msgstr "See käsklus ei ole %s moodis lubatud.\n"
 
-#: g10/keyedit.c:1740 g10/keyedit.c:1764 g10/keyedit.c:1961
+#: g10/keyedit.c:1741 g10/keyedit.c:1765 g10/keyedit.c:1962
 msgid "You must select at least one user ID.\n"
 msgstr "Te peate valima vähemalt ühe kasutaja ID.\n"
 
-#: g10/keyedit.c:1742 g10/keyedit.c:1766 g10/keyedit.c:1923 g10/keyedit.c:1963
+#: g10/keyedit.c:1743 g10/keyedit.c:1767 g10/keyedit.c:1924 g10/keyedit.c:1964
 #, c-format
 msgid "(Use the '%s' command.)\n"
 msgstr ""
 
-#: g10/keyedit.c:1745
+#: g10/keyedit.c:1746
 msgid "You can't delete the last user ID!\n"
 msgstr "Viimast kasutaja ID ei saa kustutada!\n"
 
-#: g10/keyedit.c:1748
+#: g10/keyedit.c:1749
 #, fuzzy
 msgid "Really remove all selected user IDs? (y/N) "
 msgstr "Kas kustutan tõesti kõik kasutaja IDd? "
 
-#: g10/keyedit.c:1749
+#: g10/keyedit.c:1750
 #, fuzzy
 msgid "Really remove this user ID? (y/N) "
 msgstr "Kas eemaldan tõesti selle kasutaja ID? "
 
 #. TRANSLATORS: Please take care: This is about
 #. moving the key and not about removing it.
-#: g10/keyedit.c:1806
+#: g10/keyedit.c:1807
 #, fuzzy
 msgid "Really move the primary key? (y/N) "
 msgstr "Kas eemaldan tõesti selle kasutaja ID? "
 
-#: g10/keyedit.c:1818 g10/keyedit.c:4803
+#: g10/keyedit.c:1819 g10/keyedit.c:4804
 #, fuzzy
 msgid "You must select exactly one key.\n"
 msgstr "Te peata valima vähemalt ühe võtme.\n"
 
-#: g10/keyedit.c:1846
+#: g10/keyedit.c:1847
 msgid "Command expects a filename argument\n"
 msgstr ""
 
-#: g10/keyedit.c:1867
+#: g10/keyedit.c:1868
 #, fuzzy, c-format
 msgid "Can't open '%s': %s\n"
 msgstr "`%s' ei õnnestu avada: %s\n"
 
-#: g10/keyedit.c:1886
+#: g10/keyedit.c:1887
 #, fuzzy, c-format
 msgid "Error reading backup key from '%s': %s\n"
 msgstr "viga võtmehoidla `%s' loomisel: %s\n"
 
-#: g10/keyedit.c:1921
+#: g10/keyedit.c:1922
 msgid "You must select at least one key.\n"
 msgstr "Te peata valima vähemalt ühe võtme.\n"
 
-#: g10/keyedit.c:1927
+#: g10/keyedit.c:1928
 #, fuzzy
 msgid "Do you really want to delete the selected keys? (y/N) "
 msgstr "Kas te tõesti soovite valitud võtmeid kustutada? "
 
-#: g10/keyedit.c:1929
+#: g10/keyedit.c:1930
 #, fuzzy
 msgid "Do you really want to delete this key? (y/N) "
 msgstr "Kas te tõesti soovite seda võtit kustutada? "
 
-#: g10/keyedit.c:1967
+#: g10/keyedit.c:1968
 #, fuzzy
 msgid "Really revoke all selected user IDs? (y/N) "
 msgstr "Kas tühistan tõesti kõik valitud kasutaja IDd? "
 
-#: g10/keyedit.c:1968
+#: g10/keyedit.c:1969
 #, fuzzy
 msgid "Really revoke this user ID? (y/N) "
 msgstr "Kas tühistan tõesti selle kasutaja ID? "
 
-#: g10/keyedit.c:1986
+#: g10/keyedit.c:1987
 #, fuzzy
 msgid "Do you really want to revoke the entire key? (y/N) "
 msgstr "Kas te tõesti soovite seda võtit tühistada? "
 
-#: g10/keyedit.c:1997
+#: g10/keyedit.c:1998
 #, fuzzy
 msgid "Do you really want to revoke the selected subkeys? (y/N) "
 msgstr "Kas te tõesti soovite valitud võtmeid tühistada? "
 
-#: g10/keyedit.c:1999
+#: g10/keyedit.c:2000
 #, fuzzy
 msgid "Do you really want to revoke this subkey? (y/N) "
 msgstr "Kas te tõesti soovite seda võtit tühistada? "
 
-#: g10/keyedit.c:2057
+#: g10/keyedit.c:2058
 msgid "Owner trust may not be set while using a user provided trust database\n"
 msgstr ""
 
-#: g10/keyedit.c:2102
+#: g10/keyedit.c:2103
 #, fuzzy
 msgid "Set preference list to:\n"
 msgstr "sea eelistuste nimekiri"
 
-#: g10/keyedit.c:2109
+#: g10/keyedit.c:2110
 #, fuzzy
 msgid "Really update the preferences for the selected user IDs? (y/N) "
 msgstr "Kas uuendan tõesti kõik kasutaja ID-de seaded? "
 
-#: g10/keyedit.c:2111
+#: g10/keyedit.c:2112
 #, fuzzy
 msgid "Really update the preferences? (y/N) "
 msgstr "Kas tõesti uuendan seaded? "
 
-#: g10/keyedit.c:2185
+#: g10/keyedit.c:2186
 #, fuzzy
 msgid "Save changes? (y/N) "
 msgstr "Salvestan muutused? "
 
-#: g10/keyedit.c:2189
+#: g10/keyedit.c:2190
 #, fuzzy
 msgid "Quit without saving? (y/N) "
 msgstr "Väljun salvestamata? "
 
-#: g10/keyedit.c:2216 g10/keyedit.c:2762 g10/keyedit.c:3061 g10/keyedit.c:3214
+#: g10/keyedit.c:2217 g10/keyedit.c:2763 g10/keyedit.c:3062 g10/keyedit.c:3215
 #, c-format
 msgid "Key not changed so no update needed.\n"
 msgstr "Võtit ei muudetud, seega pole uuendamist vaja.\n"
 
-#: g10/keyedit.c:2448
+#: g10/keyedit.c:2449
 #, fuzzy, c-format
 #| msgid "You can't delete the last user ID!\n"
 msgid "cannot revoke the last valid user ID.\n"
 msgstr "Viimast kasutaja ID ei saa kustutada!\n"
 
-#: g10/keyedit.c:2475
+#: g10/keyedit.c:2476
 #, fuzzy, c-format
 msgid "revoking the user ID failed: %s\n"
 msgstr "Loodud allkirja ei õnnestu kontrollida: %s\n"
 
-#: g10/keyedit.c:2541
+#: g10/keyedit.c:2542
 #, fuzzy, c-format
 msgid "setting the primary user ID failed: %s\n"
 msgstr "Loodud allkirja ei õnnestu kontrollida: %s\n"
 
-#: g10/keyedit.c:2572
+#: g10/keyedit.c:2573
 #, fuzzy, c-format
 msgid "\"%s\" is not a fingerprint\n"
 msgstr "viga: vigane sõrmejälg\n"
 
-#: g10/keyedit.c:2602
+#: g10/keyedit.c:2603
 #, fuzzy, c-format
 msgid "\"%s\" is not the primary fingerprint\n"
 msgstr "TrustDB initsialiseerimine ebaõnnestus: %s\n"
 
-#: g10/keyedit.c:2738 g10/keyedit.c:2741
+#: g10/keyedit.c:2739 g10/keyedit.c:2742
 #, fuzzy, c-format
 #| msgid "invalid value\n"
 msgid "Invalid user ID '%s': %s\n"
 msgstr "vigane väärtus\n"
 
-#: g10/keyedit.c:2744
+#: g10/keyedit.c:2745
 #, fuzzy
 #| msgid "No such user ID.\n"
 msgid "No matching user IDs."
 msgstr "Tundmatu kasutaja ID.\n"
 
-#: g10/keyedit.c:2744
+#: g10/keyedit.c:2745
 #, fuzzy
 msgid "Nothing to sign.\n"
 msgstr "Võtmega %08lX pole midagi allkirjastada\n"
 
-#: g10/keyedit.c:2937 g10/keyedit.c:6019
+#: g10/keyedit.c:2938 g10/keyedit.c:6020
 #, fuzzy, c-format
 msgid "Not signed by you.\n"
 msgstr "   allkirjastanud %08lX %s%s\n"
 
-#: g10/keyedit.c:2995
+#: g10/keyedit.c:2996
 #, fuzzy, c-format
 #| msgid "checking created signature failed: %s\n"
 msgid "revoking the key signature failed: %s\n"
 msgstr "Loodud allkirja ei õnnestu kontrollida: %s\n"
 
-#: g10/keyedit.c:3116
+#: g10/keyedit.c:3117
 #, fuzzy, c-format
 msgid "'%s' is not a valid expiration time\n"
 msgstr "%s ei ole lubatud kooditabel\n"
 
-#: g10/keyedit.c:3159
+#: g10/keyedit.c:3160
 #, fuzzy, c-format
 msgid "\"%s\" is not a proper fingerprint\n"
 msgstr "viga: vigane sõrmejälg\n"
 
-#: g10/keyedit.c:3183
+#: g10/keyedit.c:3184
 #, fuzzy, c-format
 msgid "subkey \"%s\" not found\n"
 msgstr "võtit '%s' ei leitud: %s\n"
 
-#: g10/keyedit.c:3306
+#: g10/keyedit.c:3307
 msgid "AEAD: "
 msgstr ""
 
-#: g10/keyedit.c:3323
+#: g10/keyedit.c:3324
 msgid "Digest: "
 msgstr "Teatelühend: "
 
-#: g10/keyedit.c:3380
+#: g10/keyedit.c:3381
 msgid "Features: "
 msgstr "Omadused: "
 
-#: g10/keyedit.c:3397
+#: g10/keyedit.c:3398
 msgid "Keyserver no-modify"
 msgstr ""
 
-#: g10/keyedit.c:3412 g10/keylist.c:376
+#: g10/keyedit.c:3413 g10/keylist.c:376
 msgid "Preferred keyserver: "
 msgstr ""
 
-#: g10/keyedit.c:3420 g10/keyedit.c:3421
+#: g10/keyedit.c:3421 g10/keyedit.c:3422
 #, fuzzy
 msgid "Notations: "
 msgstr "Noteering: "
 
-#: g10/keyedit.c:3669
+#: g10/keyedit.c:3670
 msgid "There are no preferences on a PGP 2.x-style user ID.\n"
 msgstr "PGP 2.x stiilis kasutaja ID ei oma seadeid.\n"
 
-#: g10/keyedit.c:3741
+#: g10/keyedit.c:3742
 #, fuzzy, c-format
 msgid "The following key was revoked on %s by %s key %s\n"
 msgstr "Selle võtme võib olla tühistanud %s võti "
 
-#: g10/keyedit.c:3765
+#: g10/keyedit.c:3766
 #, fuzzy, c-format
 msgid "This key may be revoked by %s key %s"
 msgstr "Selle võtme võib olla tühistanud %s võti "
 
-#: g10/keyedit.c:3771
+#: g10/keyedit.c:3772
 #, fuzzy
 msgid "(sensitive)"
 msgstr " (tundlik)"
 
-#: g10/keyedit.c:3813 g10/keyedit.c:3960 g10/keylist.c:264 g10/keyserver.c:538
+#: g10/keyedit.c:3814 g10/keyedit.c:3961 g10/keylist.c:264 g10/keyserver.c:361
 #, fuzzy, c-format
 msgid "created: %s"
 msgstr "%s ei õnnestu luua: %s\n"
 
-#: g10/keyedit.c:3816 g10/keylist.c:2149
+#: g10/keyedit.c:3817 g10/keylist.c:2149
 #, fuzzy, c-format
 msgid "revoked: %s"
 msgstr "[tühistatud] "
 
-#: g10/keyedit.c:3818 g10/keylist.c:2155
+#: g10/keyedit.c:3819 g10/keylist.c:2155
 #, fuzzy, c-format
 msgid "expired: %s"
 msgstr " [aegub: %s]"
 
-#: g10/keyedit.c:3820 g10/keyedit.c:3962 g10/keylist.c:266 g10/keylist.c:2161
-#: g10/keyserver.c:544
+#: g10/keyedit.c:3821 g10/keyedit.c:3963 g10/keylist.c:266 g10/keylist.c:2161
+#: g10/keyserver.c:367
 #, fuzzy, c-format
 msgid "expires: %s"
 msgstr " [aegub: %s]"
 
-#: g10/keyedit.c:3822
+#: g10/keyedit.c:3823
 #, fuzzy, c-format
 msgid "usage: %s"
 msgstr " usaldus: %c/%c"
 
-#: g10/keyedit.c:3830 g10/keyedit.c:3850 g10/keylist.c:269
+#: g10/keyedit.c:3831 g10/keyedit.c:3851 g10/keylist.c:269
 msgid "card-no: "
 msgstr ""
 
-#: g10/keyedit.c:3889
+#: g10/keyedit.c:3890
 #, fuzzy, c-format
 msgid "trust: %s"
 msgstr " usaldus: %c/%c"
 
-#: g10/keyedit.c:3893
+#: g10/keyedit.c:3894
 #, c-format
 msgid "validity: %s"
 msgstr ""
 
-#: g10/keyedit.c:3900
+#: g10/keyedit.c:3901
 msgid "This key has been disabled"
 msgstr "See võti on blokeeritud"
 
-#: g10/keyedit.c:3918
+#: g10/keyedit.c:3919
 msgid ""
 "Please note that the shown key validity is not necessarily correct\n"
 "unless you restart the program.\n"
@@ -4858,19 +4876,19 @@ msgstr ""
 "Tuleb tähele panna et kuni te pole programmi uuesti käivitanud, ei pruugi\n"
 "näidatud võtme kehtivus olla tingimata korrektne.\n"
 
-#: g10/keyedit.c:3979 g10/keyedit.c:4410 g10/keyserver.c:548
-#: g10/mainproc.c:2371 g10/tofu.c:1787 g10/trust.c:437 dirmngr/ocsp.c:791
+#: g10/keyedit.c:3980 g10/keyedit.c:4411 g10/keyserver.c:371
+#: g10/mainproc.c:2380 g10/tofu.c:1787 g10/trust.c:437 dirmngr/ocsp.c:791
 #, fuzzy
 msgid "revoked"
 msgstr "[tühistatud] "
 
-#: g10/keyedit.c:3981 g10/keyedit.c:4412 g10/keyserver.c:552
-#: g10/mainproc.c:2373 g10/tofu.c:1792 g10/trust.c:124
+#: g10/keyedit.c:3982 g10/keyedit.c:4413 g10/keyserver.c:375
+#: g10/mainproc.c:2382 g10/tofu.c:1792 g10/trust.c:124
 #, fuzzy
 msgid "expired"
 msgstr "expire"
 
-#: g10/keyedit.c:4098
+#: g10/keyedit.c:4099
 #, c-format
 msgid ""
 "WARNING: no user ID has been marked as primary.  This command may\n"
@@ -4879,18 +4897,18 @@ msgstr ""
 "HOIATUS: ühtegi kasutaja ID pole märgitud primaarseks.  See käsklus võib\n"
 "              põhjustada muu kasutaja ID primaarseks määramist.\n"
 
-#: g10/keyedit.c:4150
+#: g10/keyedit.c:4151
 #, c-format
 msgid "WARNING: Your encryption subkey expires soon.\n"
 msgstr ""
 
-#: g10/keyedit.c:4151
+#: g10/keyedit.c:4152
 #, fuzzy, c-format
 #| msgid "You can't change the expiration date of a v3 key\n"
 msgid "You may want to change its expiration date too.\n"
 msgstr "v3 võtme aegumise aega ei saa muuta.\n"
 
-#: g10/keyedit.c:4210
+#: g10/keyedit.c:4211
 msgid ""
 "WARNING: This is a PGP2-style key.  Adding a photo ID may cause some "
 "versions\n"
@@ -4899,35 +4917,35 @@ msgstr ""
 "HOIATUS: See on PGP2-stiilis võti. Foto ID lisamine võib sundida mõningaid\n"
 "         PGP versioone seda võtit tagasi lükkama.\n"
 
-#: g10/keyedit.c:4215 g10/keyedit.c:4505
+#: g10/keyedit.c:4216 g10/keyedit.c:4506
 msgid "Are you sure you still want to add it? (y/N) "
 msgstr "Olete kindel, et soovite seda ikka lisada? (j/E) "
 
-#: g10/keyedit.c:4221
+#: g10/keyedit.c:4222
 msgid "You may not add a photo ID to a PGP2-style key.\n"
 msgstr "Foto IDd ei saa PGP2 võtmele lisada.\n"
 
-#: g10/keyedit.c:4236 g10/keygen.c:2899
+#: g10/keyedit.c:4237 g10/keygen.c:2899
 msgid "Such a user ID already exists on this key!\n"
 msgstr ""
 
-#: g10/keyedit.c:4338
+#: g10/keyedit.c:4339
 msgid "Delete this good signature? (y/N/q)"
 msgstr "Kustutan selle korrektse allkirja? (j/E/v)"
 
-#: g10/keyedit.c:4348
+#: g10/keyedit.c:4349
 msgid "Delete this invalid signature? (y/N/q)"
 msgstr "Kustutan selle vigase allkirja? (j/E/v)"
 
-#: g10/keyedit.c:4352
+#: g10/keyedit.c:4353
 msgid "Delete this unknown signature? (y/N/q)"
 msgstr "Kustutan selle tundmatu allkirja? (j/E/v)"
 
-#: g10/keyedit.c:4359
+#: g10/keyedit.c:4360
 msgid "Really delete this self-signature? (y/N)"
 msgstr "Kas tõesti kustutan selle iseenda allkirja? (j/E)"
 
-#: g10/keyedit.c:4375
+#: g10/keyedit.c:4376
 #, fuzzy, c-format
 #| msgid "Deleted %d signature.\n"
 msgid "Deleted %d signature.\n"
@@ -4935,38 +4953,38 @@ msgid_plural "Deleted %d signatures.\n"
 msgstr[0] "Kustutatud %d allkiri.\n"
 msgstr[1] "Kustutatud %d allkiri.\n"
 
-#: g10/keyedit.c:4379
+#: g10/keyedit.c:4380
 msgid "Nothing deleted.\n"
 msgstr "Midagi ei kustutatud.\n"
 
-#: g10/keyedit.c:4414
+#: g10/keyedit.c:4415
 #, fuzzy
 msgid "invalid"
 msgstr "vigane pakend"
 
-#: g10/keyedit.c:4416
+#: g10/keyedit.c:4417
 #, fuzzy, c-format
 msgid "User ID \"%s\" compacted: %s\n"
 msgstr "Kasutaja ID \"%s\" on tühistatud."
 
-#: g10/keyedit.c:4422
+#: g10/keyedit.c:4423
 #, fuzzy, c-format
 msgid "User ID \"%s\": %d signature removed\n"
 msgid_plural "User ID \"%s\": %d signatures removed\n"
 msgstr[0] "Kasutaja ID \"%s\" on tühistatud."
 msgstr[1] "Kasutaja ID \"%s\" on tühistatud."
 
-#: g10/keyedit.c:4430
+#: g10/keyedit.c:4431
 #, fuzzy, c-format
 msgid "User ID \"%s\": already minimized\n"
 msgstr "kasutaja ID \"%s\" on juba tühistatud\n"
 
-#: g10/keyedit.c:4431
+#: g10/keyedit.c:4432
 #, fuzzy, c-format
 msgid "User ID \"%s\": already clean\n"
 msgstr "kasutaja ID \"%s\" on juba tühistatud\n"
 
-#: g10/keyedit.c:4500
+#: g10/keyedit.c:4501
 msgid ""
 "WARNING: This is a PGP 2.x-style key.  Adding a designated revoker may "
 "cause\n"
@@ -4975,41 +4993,41 @@ msgstr ""
 "HOIATUS: See on PGP2-stiilis võti. Määratud tühistaja lisamine võib\n"
 "         põhjustada mõningaid PGP versioone seda võtit tagasi lükkama.\n"
 
-#: g10/keyedit.c:4511
+#: g10/keyedit.c:4512
 msgid "You may not add a designated revoker to a PGP 2.x-style key.\n"
 msgstr "PGP 2.x-stiili võtmele ei saa määratud tühistajat lisada.\n"
 
-#: g10/keyedit.c:4528
+#: g10/keyedit.c:4529
 msgid "Enter the user ID of the designated revoker: "
 msgstr "Sisestage määratud tühistaja kasutaja ID: "
 
-#: g10/keyedit.c:4554
+#: g10/keyedit.c:4555
 #, c-format
 msgid "cannot appoint a PGP 2.x style key as a designated revoker\n"
 msgstr "PGP 2.x stiilis võtit ei saa nimetada määratud tühistajaks\n"
 
-#: g10/keyedit.c:4569
+#: g10/keyedit.c:4570
 #, c-format
 msgid "you cannot appoint a key as its own designated revoker\n"
 msgstr "te ei saa nimetada võtit iseenda määratud tühistajaks\n"
 
-#: g10/keyedit.c:4591
+#: g10/keyedit.c:4592
 #, fuzzy, c-format
 msgid "this key has already been designated as a revoker\n"
 msgstr "HOIATUS: See võti on määratud tühistaja poolt tühistatud!\n"
 
-#: g10/keyedit.c:4609
+#: g10/keyedit.c:4610
 msgid "WARNING: appointing a key as a designated revoker cannot be undone!\n"
 msgstr "HOIATUS: võtme seadmist määratud tühistajaks ei saa tagasi võtta!\n"
 
-#: g10/keyedit.c:4615
+#: g10/keyedit.c:4616
 #, fuzzy
 msgid ""
 "Are you sure you want to appoint this key as a designated revoker? (y/N) "
 msgstr ""
 "Olete kindel, et soovite seda võtit seada määratud tühistajaks? (j/E): "
 
-#: g10/keyedit.c:4683
+#: g10/keyedit.c:4684
 #, fuzzy
 msgid ""
 "Are you sure you want to change the expiration time for multiple subkeys? (y/"
@@ -5017,181 +5035,181 @@ msgid ""
 msgstr ""
 "Olete kindel, et soovite seda võtit seada määratud tühistajaks? (j/E): "
 
-#: g10/keyedit.c:4688
+#: g10/keyedit.c:4689
 #, fuzzy
 msgid "Changing expiration time for a subkey.\n"
 msgstr "Muudan sekundaarse võtme aegumise aega.\n"
 
-#: g10/keyedit.c:4691
+#: g10/keyedit.c:4692
 msgid "Changing expiration time for the primary key.\n"
 msgstr "Muudan primaarse võtme aegumise aega.\n"
 
-#: g10/keyedit.c:4747
+#: g10/keyedit.c:4748
 #, c-format
 msgid "You can't change the expiration date of a v3 key\n"
 msgstr "v3 võtme aegumise aega ei saa muuta.\n"
 
-#: g10/keyedit.c:4807
+#: g10/keyedit.c:4808
 #, fuzzy
 msgid "Changing usage of a subkey.\n"
 msgstr "Muudan sekundaarse võtme aegumise aega.\n"
 
-#: g10/keyedit.c:4810
+#: g10/keyedit.c:4811
 #, fuzzy
 #| msgid "Changing expiration time for the primary key.\n"
 msgid "Changing usage of the primary key.\n"
 msgstr "Muudan primaarse võtme aegumise aega.\n"
 
-#: g10/keyedit.c:4928
+#: g10/keyedit.c:4929
 #, fuzzy, c-format
 msgid "signing subkey %s is already cross-certified\n"
 msgstr "HOIATUS: allkirjastamise alamvõti %08lX ei ole rist-sertifitseeritud\n"
 
-#: g10/keyedit.c:4934
+#: g10/keyedit.c:4935
 #, c-format
 msgid "subkey %s does not sign and so does not need to be cross-certified\n"
 msgstr ""
 
-#: g10/keyedit.c:5051
+#: g10/keyedit.c:5052
 msgid "Please select exactly one user ID.\n"
 msgstr "Palun valige täpselt üks kasutaja ID.\n"
 
-#: g10/keyedit.c:5092 g10/keyedit.c:5206 g10/keyedit.c:5319 g10/keyedit.c:5457
+#: g10/keyedit.c:5093 g10/keyedit.c:5207 g10/keyedit.c:5320 g10/keyedit.c:5458
 #, fuzzy, c-format
 msgid "skipping v3 self-signature on user ID \"%s\"\n"
 msgstr "jätan kasutaja \"%s\" v3 iseenda allkirja vahele\n"
 
-#: g10/keyedit.c:5263
+#: g10/keyedit.c:5264
 msgid "Enter your preferred keyserver URL: "
 msgstr ""
 
-#: g10/keyedit.c:5342
+#: g10/keyedit.c:5343
 #, fuzzy
 msgid "Are you sure you want to replace it? (y/N) "
 msgstr "Olete kindel, et soovite seda kasutada (j/E)? "
 
-#: g10/keyedit.c:5343
+#: g10/keyedit.c:5344
 #, fuzzy
 msgid "Are you sure you want to delete it? (y/N) "
 msgstr "Olete kindel, et soovite seda kasutada (j/E)? "
 
-#: g10/keyedit.c:5403
+#: g10/keyedit.c:5404
 #, fuzzy
 msgid "Enter the notation: "
 msgstr "Allkirja noteerimine: "
 
-#: g10/keyedit.c:5550
+#: g10/keyedit.c:5551
 #, fuzzy
 msgid "Proceed? (y/N) "
 msgstr "Kirjutan üle (j/E)? "
 
-#: g10/keyedit.c:5620
+#: g10/keyedit.c:5621
 #, c-format
 msgid "No user ID with index %d\n"
 msgstr "Kasutaja ID numbriga %d puudub\n"
 
-#: g10/keyedit.c:5682
+#: g10/keyedit.c:5683
 #, fuzzy, c-format
 msgid "No user ID with hash %s\n"
 msgstr "Kasutaja ID numbriga %d puudub\n"
 
-#: g10/keyedit.c:5783
+#: g10/keyedit.c:5784
 #, fuzzy, c-format
 msgid "No subkey with key ID '%s'.\n"
 msgstr "Kasutaja ID numbriga %d puudub\n"
 
-#: g10/keyedit.c:5805
+#: g10/keyedit.c:5806
 #, fuzzy, c-format
 msgid "No subkey with index %d\n"
 msgstr "Kasutaja ID numbriga %d puudub\n"
 
-#: g10/keyedit.c:5946
+#: g10/keyedit.c:5947
 #, fuzzy, c-format
 msgid "user ID: \"%s\"\n"
 msgstr "kasutaja ID: \""
 
-#: g10/keyedit.c:5949 g10/keyedit.c:6051 g10/keyedit.c:6099
+#: g10/keyedit.c:5950 g10/keyedit.c:6052 g10/keyedit.c:6100
 #, fuzzy, c-format
 msgid "signed by your key %s on %s%s%s\n"
 msgstr "   allkirjastanud %08lX %s%s%s\n"
 
-#: g10/keyedit.c:5951 g10/keyedit.c:6053 g10/keyedit.c:6101
+#: g10/keyedit.c:5952 g10/keyedit.c:6054 g10/keyedit.c:6102
 msgid " (non-exportable)"
 msgstr " (mitte-eksporditav)"
 
-#: g10/keyedit.c:5955
+#: g10/keyedit.c:5956
 #, c-format
 msgid "This signature expired on %s.\n"
 msgstr "See allkiri aegub %s.\n"
 
-#: g10/keyedit.c:5960
+#: g10/keyedit.c:5961
 msgid "Are you sure you still want to revoke it? (y/N) "
 msgstr "Olete kindel, et soovite seda ikka tühistada? (j/E) "
 
-#: g10/keyedit.c:5965
+#: g10/keyedit.c:5966
 msgid "Create a revocation certificate for this signature? (y/N) "
 msgstr "Loon sellele allkirjale tühistamise sertifikaadi? (j/E) "
 
-#: g10/keyedit.c:6025
+#: g10/keyedit.c:6026
 #, fuzzy, c-format
 msgid "You have signed these user IDs on key %s:\n"
 msgstr "Te olete allkirjastanud järgnevad kasutaja IDd:\n"
 
-#: g10/keyedit.c:6054
+#: g10/keyedit.c:6055
 #, fuzzy
 msgid " (non-revocable)"
 msgstr " (mitte-eksporditav)"
 
-#: g10/keyedit.c:6061
+#: g10/keyedit.c:6062
 #, fuzzy, c-format
 msgid "revoked by your key %s on %s\n"
 msgstr "   tühistanud %08lX %s\n"
 
-#: g10/keyedit.c:6086
+#: g10/keyedit.c:6087
 msgid "You are about to revoke these signatures:\n"
 msgstr "Te asute tühistama järgmisi allkirju:\n"
 
-#: g10/keyedit.c:6109
+#: g10/keyedit.c:6110
 msgid "Really create the revocation certificates? (y/N) "
 msgstr "Kas tõesti loon tühistamise sertifikaadid? (j/E) "
 
-#: g10/keyedit.c:6142
+#: g10/keyedit.c:6143
 #, c-format
 msgid "no secret key\n"
 msgstr "salajast võtit pole\n"
 
-#: g10/keyedit.c:6190
+#: g10/keyedit.c:6191
 #, c-format
 msgid "tried to revoke a non-user ID: %s\n"
 msgstr ""
 
-#: g10/keyedit.c:6200
+#: g10/keyedit.c:6201
 #, c-format
 msgid "user ID \"%s\" is already revoked\n"
 msgstr "kasutaja ID \"%s\" on juba tühistatud\n"
 
-#: g10/keyedit.c:6217
+#: g10/keyedit.c:6218
 #, c-format
 msgid "WARNING: a user ID signature is dated %d seconds in the future\n"
 msgstr "HOIATUS: kasutaja ID allkirja ajatempel on %d sekundit tulevikus\n"
 
-#: g10/keyedit.c:6313
+#: g10/keyedit.c:6314
 #, fuzzy, c-format
 #| msgid "You can't delete the last user ID!\n"
 msgid "Cannot revoke the last valid user ID.\n"
 msgstr "Viimast kasutaja ID ei saa kustutada!\n"
 
-#: g10/keyedit.c:6351
+#: g10/keyedit.c:6352
 #, fuzzy, c-format
 msgid "Key %s is already revoked.\n"
 msgstr "kasutaja ID \"%s\" on juba tühistatud\n"
 
-#: g10/keyedit.c:6413
+#: g10/keyedit.c:6414
 #, fuzzy, c-format
 msgid "Subkey %s is already revoked.\n"
 msgstr "kasutaja ID \"%s\" on juba tühistatud\n"
 
-#: g10/keyedit.c:6510
+#: g10/keyedit.c:6511
 #, fuzzy, c-format
 msgid "Displaying %s photo ID of size %ld for key %s (uid %d)\n"
 msgstr "Näitan %s foto IDd suurusega %ld, võti 0x%08lX (uid %d)\n"
@@ -5918,80 +5936,75 @@ msgstr "antud allkirja poliisi URL on vigane\n"
 msgid "honor the PKA record set on a key when retrieving keys"
 msgstr ""
 
-#: g10/keyserver.c:550
+#: g10/keyserver.c:373
 #, fuzzy
 msgid "disabled"
 msgstr "disable"
 
-#: g10/keyserver.c:754
+#: g10/keyserver.c:577
 msgid "Enter number(s), N)ext, or Q)uit > "
 msgstr ""
 
-#: g10/keyserver.c:860
+#: g10/keyserver.c:683
 #, fuzzy, c-format
 msgid "invalid keyserver protocol (us %d!=handler %d)\n"
 msgstr "vigased ekspordi võtmed\n"
 
-#: g10/keyserver.c:1001 g10/keyserver.c:1116
+#: g10/keyserver.c:824 g10/keyserver.c:939
 #, c-format
 msgid "\"%s\" not a key ID: skipping\n"
 msgstr ""
 
-#: g10/keyserver.c:1438 g10/keyserver.c:1471
+#: g10/keyserver.c:1237 g10/keyserver.c:1270
 #, fuzzy, c-format
 msgid "refreshing %d key from %s\n"
 msgid_plural "refreshing %d keys from %s\n"
 msgstr[0] "küsin võtit %08lX võtmeserverist %s\n"
 msgstr[1] "küsin võtit %08lX võtmeserverist %s\n"
 
-#: g10/keyserver.c:1445
+#: g10/keyserver.c:1244
 #, fuzzy, c-format
 msgid "WARNING: unable to refresh key %s via %s: %s\n"
 msgstr "HOIATUS: ei saa kustutada ajutist faili (%s) `%s': %s\n"
 
-#: g10/keyserver.c:1549
+#: g10/keyserver.c:1336
 #, fuzzy, c-format
 msgid "key \"%s\" not found on keyserver\n"
 msgstr "võtit '%s' ei leitud: %s\n"
 
-#: g10/keyserver.c:1552
+#: g10/keyserver.c:1339
 #, fuzzy, c-format
 msgid "key not found on keyserver\n"
 msgstr "võtit '%s' ei leitud: %s\n"
 
-#: g10/keyserver.c:1743
-#, fuzzy, c-format
-msgid "requesting key %s from %s server %s\n"
-msgstr "küsin võtit %08lX võtmeserverist %s\n"
-
-#: g10/keyserver.c:1747
+#: g10/keyserver.c:1504
 #, fuzzy, c-format
 msgid "requesting key %s from %s\n"
 msgstr "küsin võtit %08lX võtmeserverist %s\n"
 
-#: g10/keyserver.c:1852 g10/keyserver.c:2031
+#: g10/keyserver.c:1619 g10/keyserver.c:1798
 #, fuzzy, c-format
 msgid "no keyserver known\n"
 msgstr "vigased ekspordi võtmed\n"
 
-#: g10/keyserver.c:1867 g10/skclist.c:214 g10/skclist.c:242
+#: g10/keyserver.c:1634 g10/skclist.c:215 g10/skclist.c:243
 #, fuzzy, c-format
 msgid "skipped \"%s\": %s\n"
 msgstr "`%s' jätsin vahele: %s\n"
 
-#: g10/keyserver.c:1871
+#: g10/keyserver.c:1638
 #, fuzzy, c-format
 msgid "sending key %s to %s\n"
 msgstr ""
 "\"\n"
 "allkirjastatud teie võtmega %08lX %s\n"
 
-#: g10/keyserver.c:1912
+#: g10/keyserver.c:1679
 #, fuzzy, c-format
 msgid "requesting key from '%s'\n"
 msgstr "küsin võtit %08lX võtmeserverist %s\n"
 
-#: g10/keyserver.c:1928
+#: g10/keyserver.c:1695
 #, fuzzy, c-format
 msgid "WARNING: unable to fetch URI %s: %s\n"
 msgstr "HOIATUS: ei saa kustutada ajutist faili (%s) `%s': %s\n"
@@ -6006,256 +6019,256 @@ msgstr "veider suurus krüptitud sessiooni võtme jaoks (%d)\n"
 msgid "%s encrypted session key\n"
 msgstr "%s krüpteeritud sessiooni võti\n"
 
-#: g10/mainproc.c:400
+#: g10/mainproc.c:403
 #, fuzzy, c-format
 msgid "passphrase generated with unknown digest algorithm %d\n"
 msgstr "krüpteeritud tundmatu algoritmiga %d\n"
 
-#: g10/mainproc.c:481
+#: g10/mainproc.c:485
 #, fuzzy, c-format
 msgid "public key is %s\n"
 msgstr "avalik võti on %08lX\n"
 
-#: g10/mainproc.c:557
+#: g10/mainproc.c:561
 #, c-format
 msgid "public key encrypted data: good DEK\n"
 msgstr "avaliku võtmega krüpteeritud andmed: hea DEK\n"
 
-#: g10/mainproc.c:590
+#: g10/mainproc.c:594
 #, fuzzy, c-format
 msgid "encrypted with %u-bit %s key, ID %s, created %s\n"
 msgstr "krüpteeritud %u-bitise %s võtmega, ID %08lX, loodud %s\n"
 
-#: g10/mainproc.c:594 g10/pkclist.c:228
+#: g10/mainproc.c:598 g10/pkclist.c:228
 #, fuzzy, c-format
 msgid "      \"%s\"\n"
 msgstr "                 ka \""
 
-#: g10/mainproc.c:598
+#: g10/mainproc.c:602
 #, fuzzy, c-format
 msgid "encrypted with %s key, ID %s\n"
 msgstr "krüpteeritud %s võtmega, ID %08lX\n"
 
-#: g10/mainproc.c:619
+#: g10/mainproc.c:623
 #, c-format
 msgid "public key decryption failed: %s\n"
 msgstr "avaliku võtmega lahtikrüpteerimine ebaõnnestus: %s\n"
 
-#: g10/mainproc.c:641 g10/mainproc.c:970
+#: g10/mainproc.c:645 g10/mainproc.c:976
 #, c-format
 msgid "WARNING: multiple plaintexts seen\n"
 msgstr ""
 
-#: g10/mainproc.c:649
+#: g10/mainproc.c:653
 #, c-format
 msgid "encrypted with %lu passphrases\n"
 msgstr "krüpteeritud kasutades %lu parooli\n"
 
-#: g10/mainproc.c:651
+#: g10/mainproc.c:655
 #, c-format
 msgid "encrypted with 1 passphrase\n"
 msgstr "krüpteeritud ühe parooliga\n"
 
-#: g10/mainproc.c:685 g10/mainproc.c:706
+#: g10/mainproc.c:689 g10/mainproc.c:710
 #, c-format
 msgid "assuming %s encrypted data\n"
 msgstr "eeldan %s krüpteeritud andmeid\n"
 
-#: g10/mainproc.c:692
+#: g10/mainproc.c:696
 #, c-format
 msgid "IDEA cipher unavailable, optimistically attempting to use %s instead\n"
 msgstr "IDEA šiffer pole saadaval, loodan kasutada selle asemel %s\n"
 
-#: g10/mainproc.c:779 g10/mainproc.c:817
+#: g10/mainproc.c:785 g10/mainproc.c:823
 #, c-format
 msgid "WARNING: message was not integrity protected\n"
 msgstr "HOIATUS: teate kooskõlalisus ei ole tagatud\n"
 
-#: g10/mainproc.c:790
+#: g10/mainproc.c:796
 msgid ""
 "Hint: If this message was created before the year 2003 it is\n"
 "likely that this message is legitimate.  This is because back\n"
 "then integrity protection was not widely used.\n"
 msgstr ""
 
-#: g10/mainproc.c:793
+#: g10/mainproc.c:799
 #, c-format
 msgid "Use the option '%s' to decrypt anyway.\n"
 msgstr ""
 
-#: g10/mainproc.c:798
+#: g10/mainproc.c:804
 #, fuzzy, c-format
 #| msgid "decryption failed: %s\n"
 msgid "decryption forced to fail!\n"
 msgstr "lahtikrüpteerimine ebaõnnestus: %s\n"
 
-#: g10/mainproc.c:810
+#: g10/mainproc.c:816
 #, c-format
 msgid "decryption okay\n"
 msgstr "lahtikrüpteerimine õnnestus\n"
 
-#: g10/mainproc.c:823
+#: g10/mainproc.c:829
 #, c-format
 msgid "WARNING: encrypted message has been manipulated!\n"
 msgstr "HOIATUS: krüpteeritud teadet on muudetud!\n"
 
-#: g10/mainproc.c:841
+#: g10/mainproc.c:847
 #, c-format
 msgid "decryption failed: %s\n"
 msgstr "lahtikrüpteerimine ebaõnnestus: %s\n"
 
-#: g10/mainproc.c:886
+#: g10/mainproc.c:892
 #, fuzzy, c-format
 #| msgid "NOTE: sender requested \"for-your-eyes-only\"\n"
 msgid "Note: sender requested \"for-your-eyes-only\"\n"
 msgstr "MÄRKUS: saatja nõudis \"ainult-teie-silmadele\"\n"
 
-#: g10/mainproc.c:893
+#: g10/mainproc.c:899
 #, c-format
 msgid "original file name='%.*s'\n"
 msgstr "algne failinimi on='%.*s'\n"
 
-#: g10/mainproc.c:1148
+#: g10/mainproc.c:1154
 #, c-format
 msgid "standalone revocation - use \"gpg --import\" to apply\n"
 msgstr "eraldiseisev tühistus - realiseerimiseks kasutage \"gpg --import\"\n"
 
-#: g10/mainproc.c:1452 g10/mainproc.c:1495
+#: g10/mainproc.c:1458 g10/mainproc.c:1501
 #, fuzzy, c-format
 msgid "no signature found\n"
 msgstr "Korrektne allkiri kasutajalt \""
 
-#: g10/mainproc.c:1852
+#: g10/mainproc.c:1858
 #, fuzzy, c-format
 msgid "BAD signature from \"%s\""
 msgstr "HALB allkiri kasutajalt \""
 
-#: g10/mainproc.c:1854
+#: g10/mainproc.c:1860
 #, fuzzy, c-format
 msgid "Expired signature from \"%s\""
 msgstr "Aegunud allkiri kasutajalt \""
 
-#: g10/mainproc.c:1856
+#: g10/mainproc.c:1862
 #, fuzzy, c-format
 msgid "Good signature from \"%s\""
 msgstr "Korrektne allkiri kasutajalt \""
 
-#: g10/mainproc.c:1876
+#: g10/mainproc.c:1882
 #, c-format
 msgid "signature verification suppressed\n"
 msgstr "allkirja kontroll jäeti ära\n"
 
-#: g10/mainproc.c:1985
+#: g10/mainproc.c:1991
 #, fuzzy, c-format
 msgid "can't handle this ambiguous signature data\n"
 msgstr "neid allkirju ei õnnestu töödelda\n"
 
-#: g10/mainproc.c:2001 g10/mainproc.c:2008
+#: g10/mainproc.c:2007 g10/mainproc.c:2014
 #, fuzzy, c-format
 msgid "Signature made %s\n"
 msgstr "Allkiri aegus %s\n"
 
-#: g10/mainproc.c:2002 g10/mainproc.c:2009 sm/verify.c:476
+#: g10/mainproc.c:2008 g10/mainproc.c:2015 sm/verify.c:476
 #, fuzzy, c-format
 msgid "               using %s key %s\n"
 msgstr "                 ka \""
 
-#: g10/mainproc.c:2013
+#: g10/mainproc.c:2019
 #, fuzzy, c-format
 msgid "Signature made %s using %s key ID %s\n"
 msgstr "Allkirja lõi %.*s kasutades %s võtit ID %08lX\n"
 
-#: g10/mainproc.c:2019
+#: g10/mainproc.c:2025
 #, fuzzy, c-format
 msgid "               issuer \"%s\"\n"
 msgstr "                 ka \""
 
-#: g10/mainproc.c:2070
+#: g10/mainproc.c:2076
 #, c-format
 msgid "Key available at: "
 msgstr "Võtme leiate: "
 
-#: g10/mainproc.c:2111
+#: g10/mainproc.c:2118
 #, c-format
 msgid "Note: Use '%s' to make use of this info\n"
 msgstr ""
 
-#: g10/mainproc.c:2325
+#: g10/mainproc.c:2334
 msgid "[uncertain]"
 msgstr "[ebakindel]"
 
-#: g10/mainproc.c:2363
+#: g10/mainproc.c:2372
 #, fuzzy, c-format
 msgid "                aka \"%s\""
 msgstr "                 ka \""
 
-#: g10/mainproc.c:2438
+#: g10/mainproc.c:2447
 #, fuzzy, c-format
 #| msgid "WARNING: This key is not certified with a trusted signature!\n"
 msgid "WARNING: This key is not suitable for signing in %s mode\n"
 msgstr "HOIATUS: Seda võtit ei ole sertifitseeritud usaldatava allkirjaga!\n"
 
-#: g10/mainproc.c:2456
+#: g10/mainproc.c:2465
 #, c-format
 msgid "Signature expired %s\n"
 msgstr "Allkiri aegus %s\n"
 
-#: g10/mainproc.c:2460
+#: g10/mainproc.c:2469
 #, c-format
 msgid "Signature expires %s\n"
 msgstr "Allkiri aegub %s\n"
 
-#: g10/mainproc.c:2471
+#: g10/mainproc.c:2480
 #, fuzzy, c-format
 #| msgid "%s signature, digest algorithm %s\n"
 msgid "%s signature, digest algorithm %s%s%s\n"
 msgstr "%s allkiri, sõnumilühendi algoritm %s\n"
 
-#: g10/mainproc.c:2472
+#: g10/mainproc.c:2481
 msgid "binary"
 msgstr "binaarne"
 
-#: g10/mainproc.c:2473
+#: g10/mainproc.c:2482
 msgid "textmode"
 msgstr "tekstimood"
 
-#: g10/mainproc.c:2473 g10/trust.c:123 dirmngr/ocsp.c:792
+#: g10/mainproc.c:2482 g10/trust.c:123 dirmngr/ocsp.c:792
 msgid "unknown"
 msgstr "tundmatu"
 
-#: g10/mainproc.c:2475
+#: g10/mainproc.c:2484
 #, fuzzy
 #| msgid "unknown pubkey algorithm"
 msgid ", key algorithm "
 msgstr "tundmatu avaliku võtme algoritm"
 
-#: g10/mainproc.c:2510
+#: g10/mainproc.c:2519
 #, c-format
 msgid "WARNING: not a detached signature; file '%s' was NOT verified!\n"
 msgstr ""
 
-#: g10/mainproc.c:2548
+#: g10/mainproc.c:2558
 #, c-format
 msgid "Can't check signature: %s\n"
 msgstr "Allkirja ei saa kontrollida: %s\n"
 
-#: g10/mainproc.c:2644 g10/mainproc.c:2663 g10/mainproc.c:2787
+#: g10/mainproc.c:2654 g10/mainproc.c:2673 g10/mainproc.c:2797
 #, c-format
 msgid "not a detached signature\n"
 msgstr "ei ole eraldiseisev allkiri\n"
 
-#: g10/mainproc.c:2697
+#: g10/mainproc.c:2707
 #, c-format
 msgid ""
 "WARNING: multiple signatures detected.  Only the first will be checked.\n"
 msgstr "HOIATUS: leidsin mitu allkirja. Kontrollitakse ainult esimest.\n"
 
-#: g10/mainproc.c:2706
+#: g10/mainproc.c:2716
 #, c-format
 msgid "standalone signature of class 0x%02x\n"
 msgstr "eraldiseisev allkiri klassiga 0x%02x\n"
 
-#: g10/mainproc.c:2791
+#: g10/mainproc.c:2801
 #, c-format
 msgid "old style (PGP 2.x) signature\n"
 msgstr "vana stiili (PGP 2.x) allkiri\n"
@@ -6444,56 +6457,61 @@ msgstr "Kriitiline allkirja noteerimine: "
 msgid "subpacket of type %d has critical bit set\n"
 msgstr "alampaketil tüübiga %d on kriitiline bitt seatud\n"
 
-#: g10/passphrase.c:73 g10/passphrase.c:275 g10/passphrase.c:308
+#: g10/passphrase.c:73 g10/passphrase.c:283 g10/passphrase.c:316
 #, fuzzy, c-format
 msgid "problem with the agent: %s\n"
 msgstr "probleem agendiga: agent tagastas 0x%lx\n"
 
-#: g10/passphrase.c:258
+#: g10/passphrase.c:251 sm/decrypt.c:341
+#, fuzzy
+msgid "Please enter the passphrase for decryption."
+msgstr "muuda parooli"
+
+#: g10/passphrase.c:253
 msgid "Enter passphrase\n"
 msgstr "Sisestage parool\n"
 
-#: g10/passphrase.c:269
+#: g10/passphrase.c:277
 #, c-format
 msgid "cancelled by user\n"
 msgstr "katkestatud kasutaja poolt\n"
 
-#: g10/passphrase.c:510
+#: g10/passphrase.c:523
 #, fuzzy, c-format
 msgid " (main key ID %s)"
 msgstr " (peamise võtme ID %08lX)"
 
-#: g10/passphrase.c:517
+#: g10/passphrase.c:530
 #, fuzzy
 msgid "Please enter the passphrase to unlock the OpenPGP secret key:"
 msgstr "Palun sisestage parool; see on salajane tekst \n"
 
-#: g10/passphrase.c:521
+#: g10/passphrase.c:534
 #, fuzzy
 msgid "Please enter the passphrase to import the OpenPGP secret key:"
 msgstr "Palun sisestage parool; see on salajane tekst \n"
 
-#: g10/passphrase.c:526
+#: g10/passphrase.c:539
 #, fuzzy
 msgid "Please enter the passphrase to export the OpenPGP secret subkey:"
 msgstr "Palun sisestage parool; see on salajane tekst \n"
 
-#: g10/passphrase.c:529
+#: g10/passphrase.c:542
 #, fuzzy
 msgid "Please enter the passphrase to export the OpenPGP secret key:"
 msgstr "Palun sisestage parool; see on salajane tekst \n"
 
-#: g10/passphrase.c:534
+#: g10/passphrase.c:547
 #, fuzzy
 msgid "Do you really want to permanently delete the OpenPGP secret subkey key:"
 msgstr "Kas te tõesti soovite valitud võtmeid kustutada? "
 
-#: g10/passphrase.c:537
+#: g10/passphrase.c:550
 #, fuzzy
 msgid "Do you really want to permanently delete the OpenPGP secret key:"
 msgstr "Kas te tõesti soovite valitud võtmeid kustutada? "
 
-#: g10/passphrase.c:546
+#: g10/passphrase.c:559
 #, fuzzy, c-format
 msgid ""
 "%s\n"
@@ -6545,7 +6563,7 @@ msgstr "\"%s\": ei ole JPEG fail\n"
 msgid "Is this photo correct (y/N/q)? "
 msgstr "On see foto õige (j/E/v)? "
 
-#: g10/photoid.c:395
+#: g10/photoid.c:399
 #, c-format
 msgid "unable to display photo ID!\n"
 msgstr "foto ID ei saa näidata!\n"
@@ -6899,7 +6917,7 @@ msgstr "allkirjastatud andmete avamine ebaõnnestus `%s'\n"
 msgid "can't open signed data fd=%d: %s\n"
 msgstr "allkirjastatud andmete avamine ebaõnnestus `%s'\n"
 
-#: g10/pubkey-enc.c:98 g10/pubkey-enc.c:139 sm/decrypt.c:493
+#: g10/pubkey-enc.c:98 g10/pubkey-enc.c:139 sm/decrypt.c:969
 #, fuzzy, c-format
 msgid "key %s is not suitable for decryption in %s mode\n"
 msgstr "võti %08lX: kasutaja ID puudub\n"
@@ -6914,27 +6932,27 @@ msgstr "anonüümne saaja; proovin salajast võtit %08lX ...\n"
 msgid "okay, we are the anonymous recipient.\n"
 msgstr "ok, me oleme anonüümne teate saaja.\n"
 
-#: g10/pubkey-enc.c:321
+#: g10/pubkey-enc.c:311
 #, c-format
 msgid "old encoding of the DEK is not supported\n"
 msgstr "vana DEK kodeerimine ei ole toetatud\n"
 
-#: g10/pubkey-enc.c:349
+#: g10/pubkey-enc.c:339
 #, c-format
 msgid "cipher algorithm %d%s is unknown or disabled\n"
 msgstr "šifri algoritm %d%s on tundmatu või blokeeritud\n"
 
-#: g10/pubkey-enc.c:393
+#: g10/pubkey-enc.c:383
 #, fuzzy, c-format
 msgid "WARNING: cipher algorithm %s not found in recipient preferences\n"
 msgstr "MÄRKUS: šifri algoritm %d puudub eelistustes\n"
 
-#: g10/pubkey-enc.c:426
+#: g10/pubkey-enc.c:416
 #, fuzzy, c-format
 msgid "Note: secret key %s expired at %s\n"
 msgstr "MÄRKUS: salajane võti %08lX aegus %s\n"
 
-#: g10/pubkey-enc.c:433
+#: g10/pubkey-enc.c:423
 #, fuzzy, c-format
 #| msgid "NOTE: key has been revoked"
 msgid "Note: key has been revoked"
@@ -7245,40 +7263,40 @@ msgstr ""
 msgid "%s/%s signature from: \"%s\"\n"
 msgstr "%s allkiri kasutajalt: \"%s\"\n"
 
-#: g10/sign.c:1046
+#: g10/sign.c:1045
 #, fuzzy, c-format
 msgid ""
 "WARNING: forcing digest algorithm %s (%d) violates recipient preferences\n"
 msgstr ""
 "sõnumilühendi algoritmi %s (%d) kasutamine on vastuolus saaja eelistustega\n"
 
-#: g10/sign.c:1188
+#: g10/sign.c:1187
 #, c-format
 msgid "signing:"
 msgstr "allkirjastan:"
 
-#: g10/sign.c:1465
+#: g10/sign.c:1464
 #, c-format
 msgid "%s encryption will be used\n"
 msgstr "kasutatakse %s krüpteerimist\n"
 
-#: g10/skclist.c:173 g10/skclist.c:254
+#: g10/skclist.c:174 g10/skclist.c:255
 #, c-format
 msgid "key is not flagged as insecure - can't use it with the faked RNG!\n"
 msgstr ""
 "võti ei ole märgitud ebaturvaliseks - sellega ei saa võlts RNGd kasutada!\n"
 
-#: g10/skclist.c:205
+#: g10/skclist.c:206
 #, fuzzy, c-format
 msgid "skipped \"%s\": duplicated\n"
 msgstr "`%s' jätsin vahele: duplikaat\n"
 
-#: g10/skclist.c:224
+#: g10/skclist.c:225
 #, c-format
 msgid "skipped: secret key already present\n"
 msgstr "jätsin vahele: avalik võti on juba olemas\n"
 
-#: g10/skclist.c:243
+#: g10/skclist.c:244
 #, fuzzy
 msgid "this is a PGP generated Elgamal key which is not secure for signatures!"
 msgstr ""
@@ -7338,7 +7356,7 @@ msgstr "viga lugemisel: %s\n"
 msgid "trustdb: sync failed: %s\n"
 msgstr "trustdb: sync ebaõnnestus: %s\n"
 
-#: g10/tdbio.c:144 sm/keydb.c:336
+#: g10/tdbio.c:144 sm/keydb.c:335
 #, fuzzy, c-format
 msgid "can't create lock for '%s'\n"
 msgstr "`%s' ei õnnestu luua: %s\n"
@@ -8076,40 +8094,52 @@ msgstr "Kasuta: gpg [võtmed] [failid] (-h näitab abiinfot)"
 #. TRANSLATORS: Put a \x1f right before a colon.  This can be
 #. * used by pinentry to nicely align the names and values.  Keep
 #. * the %s at the start and end of the string.
-#: scd/app-p15.c:3369 scd/app-openpgp.c:2153
+#: scd/app-p15.c:4955 scd/app-openpgp.c:2151
 #, c-format
 msgid "%sNumber\1f: %s%%0AHolder\1f: %s%s"
 msgstr ""
 
 #. TRANSLATORS: This is the number of remaining attempts to
 #. * enter a PIN.  Use %%0A (double-percent,0A) for a linefeed.
-#: scd/app-p15.c:3388 scd/app-openpgp.c:2169
+#: scd/app-p15.c:4974 scd/app-openpgp.c:2167
 #, c-format
 msgid "Remaining attempts: %d"
 msgstr ""
 
-#: scd/app-p15.c:3459 scd/app-nks.c:1110
+#: scd/app-p15.c:5053 scd/app-nks.c:1113
 msgid "||Please enter the PIN for the key to create qualified signatures."
 msgstr ""
 
-#: scd/app-p15.c:3462 scd/app-nks.c:1092
+#. TRANSLATORS: Do not translate the "|A|" prefix but keep it at
+#. the start of the string.  Use %0A (single percent) for a linefeed.
+#: scd/app-p15.c:5056 scd/app-openpgp.c:2461
+#, fuzzy
+msgid "|A|Please enter the Admin PIN"
+msgstr "muuda parooli"
+
+#: scd/app-p15.c:5058 scd/app-nks.c:1103
+#, fuzzy
+msgid "|P|Please enter the PIN Unblocking Code (PUK) for the standard keys."
+msgstr "Palun valige tühistamise põhjus:\n"
+
+#: scd/app-p15.c:5061 scd/app-nks.c:1095
 #, fuzzy
 msgid "||Please enter the PIN for the standard keys."
 msgstr "muuda parooli"
 
-#: scd/app-nks.c:709 scd/app-openpgp.c:3664
+#: scd/app-nks.c:709 scd/app-openpgp.c:3663
 #, c-format
 msgid "RSA modulus missing or not of size %d bits\n"
 msgstr ""
 
-#: scd/app-nks.c:717 scd/app-openpgp.c:3676
+#: scd/app-nks.c:717 scd/app-openpgp.c:3675
 #, c-format
 msgid "RSA public exponent missing or larger than %d bits\n"
 msgstr ""
 
-#: scd/app-nks.c:797 scd/app-openpgp.c:2326 scd/app-openpgp.c:2345
-#: scd/app-openpgp.c:2512 scd/app-openpgp.c:2530 scd/app-openpgp.c:2827
-#: scd/app-openpgp.c:2874 scd/app-openpgp.c:2989 scd/app-dinsig.c:303
+#: scd/app-nks.c:797 scd/app-openpgp.c:2324 scd/app-openpgp.c:2343
+#: scd/app-openpgp.c:2510 scd/app-openpgp.c:2528 scd/app-openpgp.c:2826
+#: scd/app-openpgp.c:2873 scd/app-openpgp.c:2988 scd/app-dinsig.c:302
 #, c-format
 msgid "PIN callback returned error: %s\n"
 msgstr ""
@@ -8119,79 +8149,74 @@ msgstr ""
 msgid "the NullPIN has not yet been changed\n"
 msgstr ""
 
-#: scd/app-nks.c:1091
+#: scd/app-nks.c:1094
 #, fuzzy
 msgid "|N|Please enter a new PIN for the standard keys."
 msgstr "muuda parooli"
 
-#: scd/app-nks.c:1098
+#: scd/app-nks.c:1101
 #, fuzzy
 msgid "|NP|Please enter a new PIN Unblocking Code (PUK) for the standard keys."
 msgstr "Palun valige tühistamise põhjus:\n"
 
-#: scd/app-nks.c:1100
-#, fuzzy
-msgid "|P|Please enter the PIN Unblocking Code (PUK) for the standard keys."
-msgstr "Palun valige tühistamise põhjus:\n"
-
-#: scd/app-nks.c:1108
+#: scd/app-nks.c:1111
 msgid "|N|Please enter a new PIN for the key to create qualified signatures."
 msgstr ""
 
-#: scd/app-nks.c:1118
+#: scd/app-nks.c:1121
 msgid ""
 "|NP|Please enter a new PIN Unblocking Code (PUK) for the key to create "
 "qualified signatures."
 msgstr ""
 
-#: scd/app-nks.c:1120
+#: scd/app-nks.c:1123
 msgid ""
 "|P|Please enter the PIN Unblocking Code (PUK) for the key to create "
 "qualified signatures."
 msgstr ""
 
-#: scd/app-nks.c:1227 scd/app-openpgp.c:2908 scd/app-dinsig.c:531
+#: scd/app-nks.c:1230 scd/app-openpgp.c:2907 scd/app-dinsig.c:532
 #, fuzzy, c-format
 msgid "error getting new PIN: %s\n"
 msgstr "viga parooli loomisel: %s\n"
 
-#: scd/app-openpgp.c:860
+#: scd/app-openpgp.c:859
 #, fuzzy, c-format
 msgid "failed to store the fingerprint: %s\n"
 msgstr "TrustDB initsialiseerimine ebaõnnestus: %s\n"
 
-#: scd/app-openpgp.c:873
+#: scd/app-openpgp.c:872
 #, fuzzy, c-format
 msgid "failed to store the creation date: %s\n"
 msgstr "võtmehoidla vahemälu uuesti loomine ebaõnnestus: %s\n"
 
-#: scd/app-openpgp.c:1272 scd/app-openpgp.c:2855 scd/app-openpgp.c:5020
+#: scd/app-openpgp.c:1268 scd/app-openpgp.c:2854 scd/app-openpgp.c:5025
 #, c-format
 msgid "error retrieving CHV status from card\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1430
+#: scd/app-openpgp.c:1426
 #, c-format
 msgid "response does not contain the RSA modulus\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1437
+#: scd/app-openpgp.c:1433
 #, c-format
 msgid "response does not contain the RSA public exponent\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1547
+#: scd/app-openpgp.c:1543
 #, fuzzy, c-format
 #| msgid "remove keys from the public keyring"
 msgid "response does not contain the EC public key\n"
 msgstr "eemalda võtmed avalike võtmete hoidlast"
 
-#: scd/app-openpgp.c:1665 scd/app-openpgp.c:4284
+#: scd/app-openpgp.c:1661 scd/app-openpgp.c:4283
 #, c-format
 msgid "response does not contain the public key data\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1772
+#: scd/app-openpgp.c:1768
 #, fuzzy, c-format
 msgid "reading public key failed: %s\n"
 msgstr "võtmebloki kustutamine ebaõnnestus: %s\n"
@@ -8199,43 +8224,43 @@ msgstr "võtmebloki kustutamine ebaõnnestus: %s\n"
 #. TRANSLATORS: Put a \x1f right before a colon.  This can be
 #. * used by pinentry to nicely align the names and values.  Keep
 #. * the %s at the start and end of the string.
-#: scd/app-openpgp.c:2140
+#: scd/app-openpgp.c:2138
 #, c-format
 msgid "%sNumber\1f: %s%%0AHolder\1f: %s%%0ACounter\1f: %lu%s"
 msgstr ""
 
-#: scd/app-openpgp.c:2280
+#: scd/app-openpgp.c:2278
 #, c-format
 msgid "using default PIN as %s\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2287
+#: scd/app-openpgp.c:2285
 #, c-format
 msgid "failed to use default PIN as %s: %s - disabling further default use\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2300
+#: scd/app-openpgp.c:2298
 #, fuzzy
 msgid "||Please unlock the card"
 msgstr "muuda parooli"
 
-#: scd/app-openpgp.c:2352 scd/app-openpgp.c:2537 scd/app-openpgp.c:2834
+#: scd/app-openpgp.c:2350 scd/app-openpgp.c:2535 scd/app-openpgp.c:2833
 #, c-format
 msgid "PIN for CHV%d is too short; minimum length is %d\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2366 scd/app-openpgp.c:2413 scd/app-openpgp.c:2551
-#: scd/app-openpgp.c:4642
+#: scd/app-openpgp.c:2364 scd/app-openpgp.c:2411 scd/app-openpgp.c:2549
+#: scd/app-openpgp.c:4641
 #, fuzzy, c-format
 msgid "verify CHV%d failed: %s\n"
 msgstr "võtmeserverile saatmine ebaõnnestus: %s\n"
 
-#: scd/app-openpgp.c:2449 scd/app-openpgp.c:5029
+#: scd/app-openpgp.c:2447 scd/app-openpgp.c:5034
 #, c-format
 msgid "card is permanently locked!\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2453
+#: scd/app-openpgp.c:2451
 #, c-format
 msgid "%d Admin PIN attempt remaining before card is permanently locked\n"
 msgid_plural ""
@@ -8243,29 +8268,22 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-#. TRANSLATORS: Do not translate the "|A|" prefix but keep it at
-#. the start of the string.  Use %0A (single percent) for a linefeed.
-#: scd/app-openpgp.c:2463
-#, fuzzy
-msgid "|A|Please enter the Admin PIN"
-msgstr "muuda parooli"
-
-#: scd/app-openpgp.c:2484
+#: scd/app-openpgp.c:2482
 #, c-format
 msgid "access to admin commands is not configured\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2821
+#: scd/app-openpgp.c:2820
 #, fuzzy
 msgid "||Please enter the PIN"
 msgstr "muuda parooli"
 
-#: scd/app-openpgp.c:2870
+#: scd/app-openpgp.c:2869
 #, fuzzy
 msgid "||Please enter the Reset Code for the card"
 msgstr "Palun valige tühistamise põhjus:\n"
 
-#: scd/app-openpgp.c:2880 scd/app-openpgp.c:2941
+#: scd/app-openpgp.c:2879 scd/app-openpgp.c:2940
 #, c-format
 msgid "Reset Code is too short; minimum length is %d\n"
 msgstr ""
@@ -8273,128 +8291,128 @@ msgstr ""
 #. TRANSLATORS: Do not translate the "|*|" prefixes but
 #. keep it at the start of the string.  We need this elsewhere
 #. to get some infos on the string.
-#: scd/app-openpgp.c:2903
+#: scd/app-openpgp.c:2902
 msgid "|RN|New Reset Code"
 msgstr ""
 
-#: scd/app-openpgp.c:2904
+#: scd/app-openpgp.c:2903
 msgid "|AN|New Admin PIN"
 msgstr ""
 
-#: scd/app-openpgp.c:2904
+#: scd/app-openpgp.c:2903
 msgid "|N|New PIN"
 msgstr ""
 
-#: scd/app-openpgp.c:2985
+#: scd/app-openpgp.c:2984
 #, fuzzy
 msgid "||Please enter the Admin PIN and New Admin PIN"
 msgstr "muuda parooli"
 
-#: scd/app-openpgp.c:2986
+#: scd/app-openpgp.c:2985
 #, fuzzy
 msgid "||Please enter the PIN and New PIN"
 msgstr "muuda parooli"
 
-#: scd/app-openpgp.c:3048 scd/app-openpgp.c:4344
+#: scd/app-openpgp.c:3047 scd/app-openpgp.c:4343
 #, fuzzy, c-format
 msgid "error reading application data\n"
 msgstr "viga võtmebloki lugemisel: %s\n"
 
-#: scd/app-openpgp.c:3054 scd/app-openpgp.c:4351
+#: scd/app-openpgp.c:3053 scd/app-openpgp.c:4350
 #, fuzzy, c-format
 msgid "error reading fingerprint DO\n"
 msgstr "%s: viga vaba kirje lugemisel: %s\n"
 
-#: scd/app-openpgp.c:3064
+#: scd/app-openpgp.c:3063
 #, fuzzy, c-format
 msgid "key already exists\n"
 msgstr "`%s' on juba pakitud\n"
 
-#: scd/app-openpgp.c:3068
+#: scd/app-openpgp.c:3067
 #, c-format
 msgid "existing key will be replaced\n"
 msgstr ""
 
-#: scd/app-openpgp.c:3070
+#: scd/app-openpgp.c:3069
 #, fuzzy, c-format
 msgid "generating new key\n"
 msgstr "genereeri uus võtmepaar"
 
-#: scd/app-openpgp.c:3072
+#: scd/app-openpgp.c:3071
 #, fuzzy, c-format
 msgid "writing new key\n"
 msgstr "genereeri uus võtmepaar"
 
-#: scd/app-openpgp.c:3645 scd/app-openpgp.c:3997
+#: scd/app-openpgp.c:3644 scd/app-openpgp.c:3996
 #, c-format
 msgid "creation timestamp missing\n"
 msgstr ""
 
-#: scd/app-openpgp.c:3686 scd/app-openpgp.c:3694
+#: scd/app-openpgp.c:3685 scd/app-openpgp.c:3693
 #, c-format
 msgid "RSA prime %s missing or not of size %d bits\n"
 msgstr ""
 
-#: scd/app-openpgp.c:3827 scd/app-openpgp.c:4104
+#: scd/app-openpgp.c:3826 scd/app-openpgp.c:4103
 #, fuzzy, c-format
 msgid "failed to store the key: %s\n"
 msgstr "TrustDB initsialiseerimine ebaõnnestus: %s\n"
 
-#: scd/app-openpgp.c:3991
+#: scd/app-openpgp.c:3990
 #, fuzzy, c-format
 #| msgid "unsupported URI"
 msgid "unsupported curve\n"
 msgstr "mittetoetatud URI"
 
-#: scd/app-openpgp.c:4261
+#: scd/app-openpgp.c:4260
 #, c-format
 msgid "please wait while key is being generated ...\n"
 msgstr ""
 
-#: scd/app-openpgp.c:4269
+#: scd/app-openpgp.c:4268
 #, fuzzy, c-format
 msgid "generating key failed\n"
 msgstr "võtmebloki kustutamine ebaõnnestus: %s\n"
 
-#: scd/app-openpgp.c:4275
+#: scd/app-openpgp.c:4274
 #, fuzzy, c-format
 msgid "key generation completed (%d second)\n"
 msgid_plural "key generation completed (%d seconds)\n"
 msgstr[0] "Võtme genereerimine ebaõnnestus: %s\n"
 msgstr[1] "Võtme genereerimine ebaõnnestus: %s\n"
 
-#: scd/app-openpgp.c:4309
+#: scd/app-openpgp.c:4308
 #, c-format
 msgid "invalid structure of OpenPGP card (DO 0x93)\n"
 msgstr ""
 
-#: scd/app-openpgp.c:4359
+#: scd/app-openpgp.c:4358
 #, c-format
 msgid "fingerprint on card does not match requested one\n"
 msgstr ""
 
-#: scd/app-openpgp.c:4558
+#: scd/app-openpgp.c:4557
 #, fuzzy, c-format
 msgid "card does not support digest algorithm %s\n"
 msgstr "%s allkiri, sõnumilühendi algoritm %s\n"
 
-#: scd/app-openpgp.c:4616
+#: scd/app-openpgp.c:4615
 #, c-format
 msgid "signatures created so far: %lu\n"
 msgstr ""
 
-#: scd/app-openpgp.c:5034
+#: scd/app-openpgp.c:5039
 #, c-format
 msgid ""
 "verification of Admin PIN is currently prohibited through this command\n"
 msgstr ""
 
-#: scd/app-openpgp.c:5346 scd/app-openpgp.c:5357
+#: scd/app-openpgp.c:5351 scd/app-openpgp.c:5362
 #, fuzzy, c-format
 msgid "can't access %s - invalid OpenPGP card?\n"
 msgstr "ei leia OpenPGP andmeid.\n"
 
-#: scd/app-dinsig.c:299
+#: scd/app-dinsig.c:298
 #, fuzzy
 msgid "||Please enter your PIN at the reader's pinpad"
 msgstr "muuda parooli"
@@ -8402,7 +8420,7 @@ msgstr "muuda parooli"
 #. TRANSLATORS: Do not translate the "|*|" prefixes but
 #. keep it at the start of the string.  We need this elsewhere
 #. to get some infos on the string.
-#: scd/app-dinsig.c:528
+#: scd/app-dinsig.c:529
 msgid "|N|Initial New PIN"
 msgstr ""
 
@@ -8410,7 +8428,7 @@ msgstr ""
 msgid "run in multi server mode (foreground)"
 msgstr ""
 
-#: scd/scdaemon.c:129 sm/gpgsm.c:345 dirmngr/dirmngr.c:187
+#: scd/scdaemon.c:129 sm/gpgsm.c:348 dirmngr/dirmngr.c:188
 msgid "|LEVEL|set the debugging level to LEVEL"
 msgstr ""
 
@@ -8433,50 +8451,50 @@ msgstr "|NIMI|kasuta NIME vaikimisi saajana"
 msgid "|NAME|use NAME as PC/SC driver"
 msgstr "|NIMI|kasuta NIME vaikimisi saajana"
 
-#: scd/scdaemon.c:145
+#: scd/scdaemon.c:146
 #, fuzzy
 msgid "do not use the internal CCID driver"
 msgstr "ära kasuta terminali"
 
-#: scd/scdaemon.c:151
+#: scd/scdaemon.c:152
 msgid "|N|disconnect the card after N seconds of inactivity"
 msgstr ""
 
-#: scd/scdaemon.c:154
+#: scd/scdaemon.c:155
 msgid "do not use a reader's pinpad"
 msgstr ""
 
-#: scd/scdaemon.c:159
+#: scd/scdaemon.c:160
 #, fuzzy
 msgid "deny the use of admin card commands"
 msgstr "vastuolulised käsud\n"
 
-#: scd/scdaemon.c:162
+#: scd/scdaemon.c:163
 msgid "use variable length input for pinpad"
 msgstr ""
 
-#: scd/scdaemon.c:311
+#: scd/scdaemon.c:312
 #, fuzzy
 msgid "Usage: @SCDAEMON@ [options] (-h for help)"
 msgstr "Kasuta: gpg [võtmed] [failid] (-h näitab abiinfot)"
 
-#: scd/scdaemon.c:313
+#: scd/scdaemon.c:314
 msgid ""
 "Syntax: scdaemon [options] [command [args]]\n"
 "Smartcard daemon for @GNUPG@\n"
 msgstr ""
 
-#: scd/scdaemon.c:806
+#: scd/scdaemon.c:808
 #, c-format
 msgid "please use the option '--daemon' to run the program in the background\n"
 msgstr ""
 
-#: scd/scdaemon.c:1183 dirmngr/dirmngr.c:2082
+#: scd/scdaemon.c:1185 dirmngr/dirmngr.c:2119
 #, c-format
 msgid "handler for fd %d started\n"
 msgstr ""
 
-#: scd/scdaemon.c:1195 dirmngr/dirmngr.c:2090
+#: scd/scdaemon.c:1197 dirmngr/dirmngr.c:2127
 #, c-format
 msgid "handler for fd %d terminated\n"
 msgstr ""
@@ -8524,7 +8542,7 @@ msgstr "kirjutan salajase võtme faili `%s'\n"
 msgid "certificate policy not allowed"
 msgstr "kirjutan salajase võtme faili `%s'\n"
 
-#: sm/certchain.c:595 sm/keydb.c:1106 sm/keydb.c:1192
+#: sm/certchain.c:595 sm/keydb.c:1084 sm/keydb.c:1171
 #, fuzzy, c-format
 msgid "failed to get the fingerprint\n"
 msgstr "TrustDB initsialiseerimine ebaõnnestus: %s\n"
@@ -8560,8 +8578,8 @@ msgstr "viga parooli loomisel: %s\n"
 msgid "dirmngr cache-only key lookup failed: %s\n"
 msgstr "võtmebloki kustutamine ebaõnnestus: %s\n"
 
-#: sm/certchain.c:1041 sm/certchain.c:1554 sm/certchain.c:2192 sm/decrypt.c:265
-#: sm/encrypt.c:344 sm/import.c:415 sm/keydb.c:1113 sm/keydb.c:1199
+#: sm/certchain.c:1041 sm/certchain.c:1554 sm/certchain.c:2192 sm/decrypt.c:728
+#: sm/encrypt.c:345 sm/import.c:415 sm/keydb.c:1091 sm/keydb.c:1178
 #: sm/sign.c:337 sm/verify.c:118
 #, fuzzy, c-format
 msgid "failed to allocate keyDB handle\n"
@@ -8759,13 +8777,13 @@ msgid "a %u bit hash is not valid for a %u bit %s key\n"
 msgstr ""
 
 #: sm/certcheck.c:238 sm/certcheck.c:262 dirmngr/crlcache.c:1542
-#: dirmngr/crlcache.c:1566 dirmngr/dirmngr.c:1324 dirmngr/validate.c:903
+#: dirmngr/crlcache.c:1566 dirmngr/dirmngr.c:1361 dirmngr/validate.c:903
 #: dirmngr/validate.c:927
 #, fuzzy, c-format
 msgid "out of core\n"
 msgstr "ei töödeldud"
 
-#: sm/certcheck.c:371 sm/verify.c:213
+#: sm/certcheck.c:370 sm/verify.c:213
 #, c-format
 msgid "(this is the MD2 algorithm)\n"
 msgstr ""
@@ -9062,22 +9080,33 @@ msgstr ""
 msgid "resource problem: out of core\n"
 msgstr ""
 
-#: sm/decrypt.c:341
+#: sm/decrypt.c:536
+#, fuzzy, c-format
+#| msgid "%s encrypted data\n"
+msgid "%s.%s encrypted data\n"
+msgstr "%s krüpteeritud andmed\n"
+
+#: sm/decrypt.c:803
 #, c-format
 msgid "(this is the RC2 algorithm)\n"
 msgstr ""
 
-#: sm/decrypt.c:343
+#: sm/decrypt.c:805
 #, c-format
 msgid "(this does not seem to be an encrypted message)\n"
 msgstr ""
 
+#: sm/decrypt.c:958
+#, fuzzy, c-format
+msgid "encrypted to %s key %s\n"
+msgstr "krüpteeritud %s võtmega, ID %08lX\n"
+
 #: sm/delete.c:51 sm/delete.c:112
 #, fuzzy, c-format
 msgid "certificate '%s' not found: %s\n"
 msgstr "võtit '%s' ei leitud: %s\n"
 
-#: sm/delete.c:122 sm/keydb.c:1209 sm/keydb.c:1307
+#: sm/delete.c:122 sm/keydb.c:1189 sm/keydb.c:1288
 #, fuzzy, c-format
 msgid "error locking keybox: %s\n"
 msgstr "viga võtmebloki lugemisel: %s\n"
@@ -9097,139 +9126,139 @@ msgstr "eelistus %c%lu on duplikaat\n"
 msgid "deleting certificate \"%s\" failed: %s\n"
 msgstr "võtmebloki kustutamine ebaõnnestus: %s\n"
 
-#: sm/encrypt.c:330
+#: sm/encrypt.c:331
 #, fuzzy, c-format
 msgid "no valid recipients given\n"
 msgstr "(Kirjeldust ei antud)\n"
 
-#: sm/gpgsm.c:215
+#: sm/gpgsm.c:216
 #, fuzzy
 msgid "list external keys"
 msgstr "näita salajasi võtmeid"
 
-#: sm/gpgsm.c:217
+#: sm/gpgsm.c:218
 #, fuzzy
 msgid "list certificate chain"
 msgstr "halb sertifikaat"
 
-#: sm/gpgsm.c:225
+#: sm/gpgsm.c:226
 #, fuzzy
 msgid "import certificates"
 msgstr "halb sertifikaat"
 
-#: sm/gpgsm.c:226
+#: sm/gpgsm.c:227
 #, fuzzy
 msgid "export certificates"
 msgstr "halb sertifikaat"
 
-#: sm/gpgsm.c:234
+#: sm/gpgsm.c:235
 msgid "register a smartcard"
 msgstr ""
 
-#: sm/gpgsm.c:237
+#: sm/gpgsm.c:238
 msgid "pass a command to the dirmngr"
 msgstr ""
 
-#: sm/gpgsm.c:239
+#: sm/gpgsm.c:240
 msgid "invoke gpg-protect-tool"
 msgstr ""
 
-#: sm/gpgsm.c:256
+#: sm/gpgsm.c:257
 #, fuzzy
 msgid "create base-64 encoded output"
 msgstr "loo ascii pakendis väljund"
 
-#: sm/gpgsm.c:265
+#: sm/gpgsm.c:266
 msgid "assume input is in PEM format"
 msgstr ""
 
-#: sm/gpgsm.c:267
+#: sm/gpgsm.c:268
 msgid "assume input is in base-64 format"
 msgstr ""
 
-#: sm/gpgsm.c:269
+#: sm/gpgsm.c:270
 msgid "assume input is in binary format"
 msgstr ""
 
-#: sm/gpgsm.c:276
+#: sm/gpgsm.c:277
 msgid "never consult a CRL"
 msgstr ""
 
-#: sm/gpgsm.c:286
+#: sm/gpgsm.c:287
 msgid "check validity using OCSP"
 msgstr ""
 
-#: sm/gpgsm.c:291
+#: sm/gpgsm.c:292
 msgid "|N|number of certificates to include"
 msgstr ""
 
-#: sm/gpgsm.c:294
+#: sm/gpgsm.c:295
 msgid "|FILE|take policy information from FILE"
 msgstr ""
 
-#: sm/gpgsm.c:297
+#: sm/gpgsm.c:298
 msgid "do not check certificate policies"
 msgstr ""
 
-#: sm/gpgsm.c:301
+#: sm/gpgsm.c:302
 msgid "fetch missing issuer certificates"
 msgstr ""
 
-#: sm/gpgsm.c:312
+#: sm/gpgsm.c:313
 msgid "don't use the terminal at all"
 msgstr "ära kasuta terminali"
 
-#: sm/gpgsm.c:314
+#: sm/gpgsm.c:315
 msgid "|FILE|write a server mode log to FILE"
 msgstr ""
 
-#: sm/gpgsm.c:319
+#: sm/gpgsm.c:320
 #, fuzzy
 msgid "|FILE|write an audit log to FILE"
 msgstr "|FAIL|lae laiendusmoodul FAIL"
 
-#: sm/gpgsm.c:322
+#: sm/gpgsm.c:323
 msgid "batch mode: never ask"
 msgstr "pakettmood: ära küsi kunagi"
 
-#: sm/gpgsm.c:323
+#: sm/gpgsm.c:324
 msgid "assume yes on most questions"
 msgstr "eelda enamus küsimustele jah vastust"
 
-#: sm/gpgsm.c:324
+#: sm/gpgsm.c:325
 msgid "assume no on most questions"
 msgstr "eelda enamus küsimustele ei vastust"
 
-#: sm/gpgsm.c:327
+#: sm/gpgsm.c:328
 #, fuzzy
 msgid "|FILE|add keyring to the list of keyrings"
 msgstr "lisa see võtmehoidla võtmehoidlate nimekirja"
 
-#: sm/gpgsm.c:330
+#: sm/gpgsm.c:331
 #, fuzzy
 msgid "|USER-ID|use USER-ID as default secret key"
 msgstr "|NIMI|kasuta NIME vaikimisi salajase võtmena"
 
-#: sm/gpgsm.c:340 tools/gpgconf-comp.c:837
+#: sm/gpgsm.c:341 dirmngr/dirmngr.c:214 tools/gpgconf-comp.c:841
 #, fuzzy
 msgid "|SPEC|use this keyserver to lookup keys"
 msgstr "|HOST|kasuta seda võtmeserverit"
 
-#: sm/gpgsm.c:357
+#: sm/gpgsm.c:360
 msgid "|NAME|use cipher algorithm NAME"
 msgstr "|NIMI|kasuta šifri algoritmi NIMI"
 
-#: sm/gpgsm.c:359
+#: sm/gpgsm.c:362
 msgid "|NAME|use message digest algorithm NAME"
 msgstr "|NIMI|kasuta teatelühendi algoritmi NIMI"
 
-#: sm/gpgsm.c:570
+#: sm/gpgsm.c:573
 #, fuzzy
 #| msgid "Usage: gpg [options] [files] (-h for help)"
 msgid "Usage: @GPGSM@ [options] [files] (-h for help)"
 msgstr "Kasuta: gpg [võtmed] [failid] (-h näitab abiinfot)"
 
-#: sm/gpgsm.c:573
+#: sm/gpgsm.c:576
 #, fuzzy
 msgid ""
 "Syntax: @GPGSM@ [options] [files]\n"
@@ -9240,47 +9269,27 @@ msgstr ""
 "allkirjasta, kontrolli, krüpti ja dekrüpti\n"
 "vaikimisi operatsioon sõltub sisendandmetest\n"
 
-#: sm/gpgsm.c:777
+#: sm/gpgsm.c:784
 #, fuzzy, c-format
 msgid "Note: won't be able to encrypt to '%s': %s\n"
 msgstr "ei õnnestu luua ühendust serveriga `%s': %s\n"
 
-#: sm/gpgsm.c:788
+#: sm/gpgsm.c:795
 #, fuzzy, c-format
 msgid "unknown validation model '%s'\n"
 msgstr "tundmatu vaikimisi saaja `%s'\n"
 
-#: sm/gpgsm.c:839 dirmngr/ldapserver.c:86
-#, fuzzy, c-format
-msgid "%s:%u: no hostname given\n"
-msgstr "(Kirjeldust ei antud)\n"
-
-#: sm/gpgsm.c:858 dirmngr/ldapserver.c:105
-#, c-format
-msgid "%s:%u: password given without user\n"
-msgstr ""
-
-#: sm/gpgsm.c:879 dirmngr/ldapserver.c:126
-#, fuzzy, c-format
-msgid "%s:%u: skipping this line\n"
-msgstr " j = jäta see võti vahele\n"
-
-#: sm/gpgsm.c:1449
-#, fuzzy, c-format
-msgid "could not parse keyserver\n"
-msgstr "ei saa parsida võtmeserveri URI\n"
-
-#: sm/gpgsm.c:1712
+#: sm/gpgsm.c:1612
 #, fuzzy, c-format
 msgid "importing common certificates '%s'\n"
 msgstr "kirjutan faili `%s'\n"
 
-#: sm/gpgsm.c:1755
+#: sm/gpgsm.c:1655
 #, fuzzy, c-format
 msgid "can't sign using '%s': %s\n"
 msgstr "`%s' ei õnnestu sulgeda: %s\n"
 
-#: sm/gpgsm.c:2122
+#: sm/gpgsm.c:2028
 #, c-format
 msgid "invalid command (there is no implicit command)\n"
 msgstr ""
@@ -9300,7 +9309,7 @@ msgstr "genereeri tühistamise sertifikaat"
 msgid "basic certificate checks failed - not imported\n"
 msgstr ""
 
-#: sm/import.c:472 sm/keydb.c:1229 sm/keydb.c:1319
+#: sm/import.c:472 sm/keydb.c:1209 sm/keydb.c:1300
 #, fuzzy, c-format
 msgid "error getting stored flags: %s\n"
 msgstr "viga parooli loomisel: %s\n"
@@ -9315,27 +9324,27 @@ msgstr "viga parooli loomisel: %s\n"
 msgid "error reading input: %s\n"
 msgstr "viga `%s' lugemisel: %s\n"
 
-#: sm/keydb.c:1148
+#: sm/keydb.c:1127
 #, c-format
 msgid "problem looking for existing certificate: %s\n"
 msgstr ""
 
-#: sm/keydb.c:1160
+#: sm/keydb.c:1139
 #, fuzzy, c-format
 msgid "error finding writable keyDB: %s\n"
 msgstr "viga parooli loomisel: %s\n"
 
-#: sm/keydb.c:1168
+#: sm/keydb.c:1147
 #, fuzzy, c-format
 msgid "error storing certificate: %s\n"
 msgstr "viga parooli loomisel: %s\n"
 
-#: sm/keydb.c:1220
+#: sm/keydb.c:1200
 #, fuzzy, c-format
 msgid "problem re-searching certificate: %s\n"
 msgstr "rev? probleem tühistamise kontrollimisel: %s\n"
 
-#: sm/keydb.c:1241 sm/keydb.c:1330
+#: sm/keydb.c:1221 sm/keydb.c:1311
 #, fuzzy, c-format
 msgid "error storing flags: %s\n"
 msgstr "viga `%s' lugemisel: %s\n"
@@ -9370,7 +9379,7 @@ msgid ""
 "%s%sAre you really sure that you want to do this?"
 msgstr ""
 
-#: sm/qualified.c:215 sm/verify.c:678
+#: sm/qualified.c:215 sm/verify.c:679
 #, c-format
 msgid ""
 "Note, that this software is not officially approved to create or verify such "
@@ -9415,23 +9424,23 @@ msgstr ""
 msgid "algorithm:"
 msgstr "pakend: %s\n"
 
-#: sm/verify.c:535
+#: sm/verify.c:536
 #, c-format
 msgid ""
 "invalid signature: message digest attribute does not match computed one\n"
 msgstr ""
 
-#: sm/verify.c:656
+#: sm/verify.c:657
 #, fuzzy, c-format
 msgid "Good signature from"
 msgstr "Korrektne allkiri kasutajalt \""
 
-#: sm/verify.c:657
+#: sm/verify.c:658
 #, fuzzy, c-format
 msgid "                aka"
 msgstr "                 ka \""
 
-#: sm/verify.c:675
+#: sm/verify.c:676
 #, fuzzy, c-format
 msgid "This is a qualified signature\n"
 msgstr ""
@@ -10061,7 +10070,7 @@ msgid "error retrieving '%s': %s\n"
 msgstr "viga `%s' loomisel: %s\n"
 
 #: dirmngr/crlfetch.c:218 dirmngr/ldap-wrapper-ce.c:492
-#: dirmngr/ldap-wrapper.c:884 dirmngr/misc.c:573
+#: dirmngr/ldap-wrapper.c:885 dirmngr/misc.c:573
 #, fuzzy, c-format
 #| msgid "%s: error writing dir record: %s\n"
 msgid "error initializing reader object: %s\n"
@@ -10229,116 +10238,116 @@ msgstr ""
 msgid "looking up '%s'\n"
 msgstr ""
 
-#: dirmngr/dirmngr.c:170
+#: dirmngr/dirmngr.c:171
 msgid "list the contents of the CRL cache"
 msgstr ""
 
-#: dirmngr/dirmngr.c:171
+#: dirmngr/dirmngr.c:172
 #, fuzzy
 msgid "|FILE|load CRL from FILE into cache"
 msgstr "|FAIL|lae laiendusmoodul FAIL"
 
-#: dirmngr/dirmngr.c:172
+#: dirmngr/dirmngr.c:173
 msgid "|URL|fetch a CRL from URL"
 msgstr ""
 
-#: dirmngr/dirmngr.c:173
+#: dirmngr/dirmngr.c:174
 msgid "shutdown the dirmngr"
 msgstr ""
 
-#: dirmngr/dirmngr.c:174
+#: dirmngr/dirmngr.c:175
 msgid "flush the cache"
 msgstr ""
 
-#: dirmngr/dirmngr.c:190 tools/gpgconf-comp.c:522 tools/gpgconf-comp.c:741
-#: tools/gpgconf-comp.c:854 tools/gpgconf-comp.c:950
+#: dirmngr/dirmngr.c:191 tools/gpgconf-comp.c:522 tools/gpgconf-comp.c:745
+#: tools/gpgconf-comp.c:858 tools/gpgconf-comp.c:954
 msgid "|FILE|write server mode logs to FILE"
 msgstr ""
 
-#: dirmngr/dirmngr.c:191
+#: dirmngr/dirmngr.c:192
 #, fuzzy
 msgid "run without asking a user"
 msgstr "Väljun salvestamata? "
 
-#: dirmngr/dirmngr.c:192
+#: dirmngr/dirmngr.c:193
 msgid "force loading of outdated CRLs"
 msgstr ""
 
-#: dirmngr/dirmngr.c:193
+#: dirmngr/dirmngr.c:194
 msgid "allow sending OCSP requests"
 msgstr ""
 
-#: dirmngr/dirmngr.c:195
+#: dirmngr/dirmngr.c:196
 msgid "allow online software version check"
 msgstr ""
 
-#: dirmngr/dirmngr.c:196
+#: dirmngr/dirmngr.c:197
 msgid "inhibit the use of HTTP"
 msgstr ""
 
-#: dirmngr/dirmngr.c:197
+#: dirmngr/dirmngr.c:198
 msgid "inhibit the use of LDAP"
 msgstr ""
 
-#: dirmngr/dirmngr.c:199
+#: dirmngr/dirmngr.c:200
 msgid "ignore HTTP CRL distribution points"
 msgstr ""
 
-#: dirmngr/dirmngr.c:201
+#: dirmngr/dirmngr.c:202
 msgid "ignore LDAP CRL distribution points"
 msgstr ""
 
-#: dirmngr/dirmngr.c:203
+#: dirmngr/dirmngr.c:204
 msgid "ignore certificate contained OCSP service URLs"
 msgstr ""
 
-#: dirmngr/dirmngr.c:206
+#: dirmngr/dirmngr.c:207
 msgid "|URL|redirect all HTTP requests to URL"
 msgstr ""
 
-#: dirmngr/dirmngr.c:208
+#: dirmngr/dirmngr.c:209
 msgid "|HOST|use HOST for LDAP queries"
 msgstr ""
 
-#: dirmngr/dirmngr.c:210
+#: dirmngr/dirmngr.c:211
 msgid "do not use fallback hosts with --ldap-proxy"
 msgstr ""
 
-#: dirmngr/dirmngr.c:213
+#: dirmngr/dirmngr.c:216
 #, fuzzy
 msgid "|FILE|read LDAP server list from FILE"
 msgstr "|FAIL|lae laiendusmoodul FAIL"
 
-#: dirmngr/dirmngr.c:215
+#: dirmngr/dirmngr.c:218
 msgid "add new servers discovered in CRL distribution points to serverlist"
 msgstr ""
 
-#: dirmngr/dirmngr.c:218 dirmngr/dirmngr_ldap.c:137
+#: dirmngr/dirmngr.c:221
 msgid "|N|set LDAP timeout to N seconds"
 msgstr ""
 
-#: dirmngr/dirmngr.c:221
+#: dirmngr/dirmngr.c:224
 #, fuzzy
 msgid "|URL|use OCSP responder at URL"
 msgstr "ei saa parsida võtmeserveri URI\n"
 
-#: dirmngr/dirmngr.c:223
+#: dirmngr/dirmngr.c:226
 msgid "|FPR|OCSP response signed by FPR"
 msgstr ""
 
-#: dirmngr/dirmngr.c:229
+#: dirmngr/dirmngr.c:232
 msgid "|N|do not return more than N items in one query"
 msgstr ""
 
-#: dirmngr/dirmngr.c:234
+#: dirmngr/dirmngr.c:237
 msgid "|FILE|use the CA certificates in FILE for HKP over TLS"
 msgstr ""
 
-#: dirmngr/dirmngr.c:236
+#: dirmngr/dirmngr.c:239
 msgid "route all network traffic via Tor"
 msgstr ""
 
-#: dirmngr/dirmngr.c:265
+#: dirmngr/dirmngr.c:268
 #, fuzzy
 #| msgid ""
 #| "@\n"
@@ -10351,290 +10360,115 @@ msgstr ""
 "@\n"
 "(Kõikide käskude ja võtmete täieliku kirjelduse leiate manualist)\n"
 
-#: dirmngr/dirmngr.c:407
+#: dirmngr/dirmngr.c:415
 #, fuzzy
 msgid "Usage: @DIRMNGR@ [options] (-h for help)"
 msgstr "Kasuta: gpg [võtmed] [failid] (-h näitab abiinfot)"
 
-#: dirmngr/dirmngr.c:409
+#: dirmngr/dirmngr.c:417
 msgid ""
 "Syntax: @DIRMNGR@ [options] [command [args]]\n"
 "Keyserver, CRL, and OCSP access for @GNUPG@\n"
 msgstr ""
 
-#: dirmngr/dirmngr.c:489
+#: dirmngr/dirmngr.c:497
 #, c-format
 msgid "valid debug levels are: %s\n"
 msgstr ""
 
-#: dirmngr/dirmngr.c:575 tools/gpgconf.c:647 tools/gpgconf.c:682
+#: dirmngr/dirmngr.c:583 tools/gpgconf.c:647 tools/gpgconf.c:682
 #: tools/gpgconf.c:780
 #, fuzzy, c-format
 msgid "usage: %s [options] "
 msgstr "kasuta: gpg [võtmed] "
 
-#: dirmngr/dirmngr.c:1212
+#: dirmngr/dirmngr.c:1249
 #, fuzzy, c-format
 #| msgid "%s not allowed with %s!\n"
 msgid "colons are not allowed in the socket name\n"
 msgstr "%s ja %s ei ole koos lubatud!\n"
 
-#: dirmngr/dirmngr.c:1444 dirmngr/server.c:1824
+#: dirmngr/dirmngr.c:1481 dirmngr/server.c:1878
 #, fuzzy, c-format
 msgid "fetching CRL from '%s' failed: %s\n"
 msgstr "pakendamine ebaõnnestus: %s\n"
 
-#: dirmngr/dirmngr.c:1450 dirmngr/server.c:1830
+#: dirmngr/dirmngr.c:1487 dirmngr/server.c:1884
 #, fuzzy, c-format
 msgid "processing CRL from '%s' failed: %s\n"
 msgstr "pakendamine ebaõnnestus: %s\n"
 
-#: dirmngr/dirmngr.c:1645
+#: dirmngr/dirmngr.c:1682
 #, fuzzy, c-format
 msgid "%s:%u: line too long - skipped\n"
 msgstr "rida on liiga pikk\n"
 
-#: dirmngr/dirmngr.c:1700 dirmngr/dirmngr.c:1784
+#: dirmngr/dirmngr.c:1737 dirmngr/dirmngr.c:1821
 #, fuzzy, c-format
 msgid "%s:%u: invalid fingerprint detected\n"
 msgstr "viga: vigane sõrmejälg\n"
 
-#: dirmngr/dirmngr.c:1736 dirmngr/dirmngr.c:1762 tools/gpgconf-comp.c:4191
+#: dirmngr/dirmngr.c:1773 dirmngr/dirmngr.c:1799 tools/gpgconf-comp.c:4199
 #, fuzzy, c-format
 msgid "%s:%u: read error: %s\n"
 msgstr "viga lugemisel: %s\n"
 
-#: dirmngr/dirmngr.c:1791
+#: dirmngr/dirmngr.c:1828
 #, c-format
 msgid "%s:%u: garbage at end of line ignored\n"
 msgstr ""
 
-#: dirmngr/dirmngr.c:1860
+#: dirmngr/dirmngr.c:1897
 #, c-format
 msgid "SIGHUP received - re-reading configuration and flushing caches\n"
 msgstr ""
 
-#: dirmngr/dirmngr.c:1900
+#: dirmngr/dirmngr.c:1937
 #, c-format
 msgid "SIGUSR2 received - no action defined\n"
 msgstr ""
 
-#: dirmngr/dirmngr.c:1905
+#: dirmngr/dirmngr.c:1942
 #, c-format
 msgid "SIGTERM received - shutting down ...\n"
 msgstr ""
 
-#: dirmngr/dirmngr.c:1907
+#: dirmngr/dirmngr.c:1944
 #, c-format
 msgid "SIGTERM received - still %d active connections\n"
 msgstr ""
 
-#: dirmngr/dirmngr.c:1912
+#: dirmngr/dirmngr.c:1949
 #, fuzzy, c-format
 msgid "shutdown forced\n"
 msgstr "ei töödeldud"
 
-#: dirmngr/dirmngr.c:1920
+#: dirmngr/dirmngr.c:1957
 #, c-format
 msgid "SIGINT received - immediate shutdown\n"
 msgstr ""
 
-#: dirmngr/dirmngr.c:1927
+#: dirmngr/dirmngr.c:1964
 #, c-format
 msgid "signal %d received - no action defined\n"
 msgstr ""
 
-#: dirmngr/dirmngr_ldap.c:138
-msgid "return all values in a record oriented format"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:141
-msgid "|NAME|ignore host part and connect through NAME"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:142
-#, fuzzy
-#| msgid "|NAME|set terminal charset to NAME"
-msgid "|NAME|connect to host NAME"
-msgstr "|NIMI|terminali kooditabel on NIMI"
-
-#: dirmngr/dirmngr_ldap.c:143
-msgid "|N|connect to port N"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:144
-#, fuzzy
-#| msgid "|NAME|use NAME as default recipient"
-msgid "|NAME|use user NAME for authentication"
-msgstr "|NIMI|kasuta NIME vaikimisi saajana"
-
-#: dirmngr/dirmngr_ldap.c:145
-msgid "|PASS|use password PASS for authentication"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:147
-msgid "take password from $DIRMNGR_LDAP_PASS"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:148
-msgid "|STRING|query DN STRING"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:149
-msgid "|STRING|use STRING as filter expression"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:150
-msgid "|STRING|return the attribute STRING"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:211
-#, fuzzy
-#| msgid "Usage: gpg [options] [files] (-h for help)"
-msgid "Usage: dirmngr_ldap [options] [URL] (-h for help)\n"
-msgstr "Kasuta: gpg [võtmed] [failid] (-h näitab abiinfot)"
-
-#: dirmngr/dirmngr_ldap.c:214
-msgid ""
-"Syntax: dirmngr_ldap [options] [URL]\n"
-"Internal LDAP helper for Dirmngr\n"
-"Interface and options may change without notice\n"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:340
-#, fuzzy, c-format
-#| msgid "invalid import options\n"
-msgid "invalid port number %d\n"
-msgstr "vigased impordi võtmed\n"
-
-#: dirmngr/dirmngr_ldap.c:456
-#, c-format
-msgid "scanning result for attribute '%s'\n"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:463 dirmngr/dirmngr_ldap.c:546
-#: dirmngr/dirmngr_ldap.c:570 dirmngr/dirmngr_ldap.c:582
-#: dirmngr/dirmngr_ldap.c:720
-#, fuzzy, c-format
-msgid "error writing to stdout: %s\n"
-msgstr "viga võtmehoidlasse `%s' kirjutamisel: %s\n"
-
-#: dirmngr/dirmngr_ldap.c:480
-#, c-format
-msgid "          available attribute '%s'\n"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:518
-#, fuzzy, c-format
-msgid "attribute '%s' not found\n"
-msgstr "võtit '%s' ei leitud: %s\n"
-
-#: dirmngr/dirmngr_ldap.c:525
-#, c-format
-msgid "found attribute '%s'\n"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:634
-#, fuzzy, c-format
-#| msgid "reading from `%s'\n"
-msgid "processing url '%s'\n"
-msgstr "loen failist `%s'\n"
-
-#: dirmngr/dirmngr_ldap.c:636
-#, fuzzy, c-format
-#| msgid "          w/o user IDs: %lu\n"
-msgid "          user '%s'\n"
-msgstr "    puudub kasutaja ID: %lu\n"
-
-#: dirmngr/dirmngr_ldap.c:638
-#, fuzzy, c-format
-msgid "          pass '%s'\n"
-msgstr "                 ka \""
-
-#: dirmngr/dirmngr_ldap.c:640
-#, fuzzy, c-format
-msgid "          host '%s'\n"
-msgstr "                 ka \""
-
-#: dirmngr/dirmngr_ldap.c:641
-#, fuzzy, c-format
-#| msgid "          not imported: %lu\n"
-msgid "          port %d\n"
-msgstr "       pole imporditud: %lu\n"
-
-#: dirmngr/dirmngr_ldap.c:643
-#, fuzzy, c-format
-msgid "            DN '%s'\n"
-msgstr "                 ka \""
-
-#: dirmngr/dirmngr_ldap.c:645
-#, c-format
-msgid "        filter '%s'\n"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:650 dirmngr/dirmngr_ldap.c:653
-#, fuzzy, c-format
-msgid "          attr '%s'\n"
-msgstr "                 ka \""
-
-#: dirmngr/dirmngr_ldap.c:659
-#, fuzzy, c-format
-msgid "no host name in '%s'\n"
-msgstr "(Kirjeldust ei antud)\n"
-
-#: dirmngr/dirmngr_ldap.c:664
-#, c-format
-msgid "no attribute given for query '%s'\n"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:670
-#, fuzzy, c-format
-#| msgid "WARNING: using insecure memory!\n"
-msgid "WARNING: using first attribute only\n"
-msgstr "HOIATUS: kasutan ebaturvalist mälu!\n"
-
-#: dirmngr/dirmngr_ldap.c:679
-#, fuzzy, c-format
-msgid "LDAP init to '%s:%d' failed: %s\n"
-msgstr "pakendamine ebaõnnestus: %s\n"
-
-#: dirmngr/dirmngr_ldap.c:702
-#, fuzzy, c-format
-msgid "binding to '%s:%d' failed: %s\n"
-msgstr "pakendamine ebaõnnestus: %s\n"
-
-#: dirmngr/dirmngr_ldap.c:729
-#, fuzzy, c-format
-#| msgid "dearmoring failed: %s\n"
-msgid "searching '%s' failed: %s\n"
-msgstr "lahtipakendamine ebaõnnestus: %s\n"
-
-#: dirmngr/dirmngr_ldap.c:761
-#, fuzzy, c-format
-msgid "'%s' is not an LDAP URL\n"
-msgstr "\"%s\": ei ole JPEG fail\n"
-
-#: dirmngr/dirmngr_ldap.c:767
-#, c-format
-msgid "'%s' is an invalid LDAP URL\n"
-msgstr ""
-
-#: dirmngr/http.c:1987 dirmngr/ocsp.c:255
+#: dirmngr/http.c:1993 dirmngr/ocsp.c:255
 #, fuzzy, c-format
 msgid "error accessing '%s': http status %u\n"
 msgstr "viga `%s' lugemisel: %s\n"
 
-#: dirmngr/http.c:3629 dirmngr/ocsp.c:229
+#: dirmngr/http.c:3644 dirmngr/ocsp.c:229
 #, c-format
 msgid "URL '%s' redirected to '%s' (%u)\n"
 msgstr ""
 
-#: dirmngr/http.c:3635 dirmngr/ocsp.c:246
+#: dirmngr/http.c:3650 dirmngr/ocsp.c:246
 #, fuzzy, c-format
 msgid "too many redirections\n"
 msgstr "liiga palju `%c' eelistusi\n"
 
-#: dirmngr/http.c:3747
+#: dirmngr/http.c:3762
 #, fuzzy, c-format
 #| msgid "writing to `%s'\n"
 msgid "redirection changed to '%s'\n"
@@ -10675,31 +10509,51 @@ msgstr "uuendamine ebaõnnestus: %s\n"
 msgid "ldap wrapper %d stalled - killing\n"
 msgstr ""
 
-#: dirmngr/ldap.c:91
+#: dirmngr/ldap.c:92
 #, c-format
 msgid "invalid char 0x%02x in host name - not added\n"
 msgstr ""
 
-#: dirmngr/ldap.c:95
+#: dirmngr/ldap.c:96
 #, fuzzy, c-format
 msgid "adding '%s:%d' to the ldap server list\n"
 msgstr "otsin \"%s\" HKP serverist %s\n"
 
-#: dirmngr/ldap.c:98 dirmngr/misc.c:512
+#: dirmngr/ldap.c:99 dirmngr/misc.c:512
 #, fuzzy, c-format
 msgid "malloc failed: %s\n"
 msgstr "võtmebloki kustutamine ebaõnnestus: %s\n"
 
-#: dirmngr/ldap.c:627
+#: dirmngr/ldap.c:221
+#, fuzzy, c-format
+msgid "'%s' is not an LDAP URL\n"
+msgstr "\"%s\": ei ole JPEG fail\n"
+
+#: dirmngr/ldap.c:227 dirmngr/ldap.c:233
 #, c-format
-msgid "start_cert_fetch: invalid pattern '%s'\n"
+msgid "'%s' is an invalid LDAP URL\n"
 msgstr ""
 
-#: dirmngr/ldap.c:839
+#: dirmngr/ldap.c:969
 #, c-format
 msgid "ldap_search hit the size limit of the server\n"
 msgstr ""
 
+#: dirmngr/ldapserver.c:117
+#, c-format
+msgid "%s:%u: password given without user\n"
+msgstr ""
+
+#: dirmngr/ldapserver.c:181
+#, c-format
+msgid "%s:%u: ignoring unknown flag '%s'\n"
+msgstr ""
+
+#: dirmngr/ldapserver.c:203
+#, fuzzy, c-format
+msgid "%s:%u: skipping this line\n"
+msgstr " j = jäta see võti vahele\n"
+
 #: dirmngr/misc.c:172
 #, fuzzy, c-format
 #| msgid "%s: invalid file version %d\n"
@@ -10883,72 +10737,68 @@ msgstr ""
 msgid "assuan_inquire(%s) failed: %s\n"
 msgstr "allkirjastamine ebaõnnestus: %s\n"
 
-#: dirmngr/server.c:1158
-msgid "ldapserver missing"
-msgstr ""
-
-#: dirmngr/server.c:1224
+#: dirmngr/server.c:1277
 msgid "serialno missing in cert ID"
 msgstr ""
 
-#: dirmngr/server.c:1387 dirmngr/server.c:1473 dirmngr/server.c:1909
-#: dirmngr/server.c:1980 dirmngr/server.c:2552 dirmngr/server.c:2567
+#: dirmngr/server.c:1440 dirmngr/server.c:1526 dirmngr/server.c:1963
+#: dirmngr/server.c:2034 dirmngr/server.c:2662 dirmngr/server.c:2677
 #, fuzzy, c-format
 msgid "assuan_inquire failed: %s\n"
 msgstr "allkirjastamine ebaõnnestus: %s\n"
 
-#: dirmngr/server.c:1516
+#: dirmngr/server.c:1569
 #, fuzzy, c-format
 msgid "fetch_cert_by_url failed: %s\n"
 msgstr "võtmebloki kustutamine ebaõnnestus: %s\n"
 
-#: dirmngr/server.c:1528 dirmngr/server.c:1559 dirmngr/server.c:1718
+#: dirmngr/server.c:1581 dirmngr/server.c:1612 dirmngr/server.c:1772
 #, fuzzy, c-format
 msgid "error sending data: %s\n"
 msgstr "viga teate saatmisel serverile `%s': %s\n"
 
-#: dirmngr/server.c:1666
+#: dirmngr/server.c:1720
 #, fuzzy, c-format
 msgid "start_cert_fetch failed: %s\n"
 msgstr "võtmebloki kustutamine ebaõnnestus: %s\n"
 
-#: dirmngr/server.c:1699
+#: dirmngr/server.c:1753
 #, fuzzy, c-format
 msgid "fetch_next_cert failed: %s\n"
 msgstr "võtmebloki kustutamine ebaõnnestus: %s\n"
 
-#: dirmngr/server.c:1726
+#: dirmngr/server.c:1780
 #, c-format
 msgid "max_replies %d exceeded\n"
 msgstr ""
 
-#: dirmngr/server.c:2856
+#: dirmngr/server.c:2966
 #, fuzzy, c-format
 msgid "can't allocate control structure: %s\n"
 msgstr "`%s' ei õnnestu luua: %s\n"
 
-#: dirmngr/server.c:2867
+#: dirmngr/server.c:2977
 #, fuzzy, c-format
 msgid "failed to allocate assuan context: %s\n"
 msgstr "%s: paisktabeli loomine ebaõnnestus: %s\n"
 
-#: dirmngr/server.c:2888
+#: dirmngr/server.c:2998
 #, fuzzy, c-format
 #| msgid "failed to initialize the TrustDB: %s\n"
 msgid "failed to initialize the server: %s\n"
 msgstr "TrustDB initsialiseerimine ebaõnnestus: %s\n"
 
-#: dirmngr/server.c:2896
+#: dirmngr/server.c:3006
 #, fuzzy, c-format
 msgid "failed to the register commands with Assuan: %s\n"
 msgstr "võtmehoidla vahemälu uuesti loomine ebaõnnestus: %s\n"
 
-#: dirmngr/server.c:2929
+#: dirmngr/server.c:3039
 #, c-format
 msgid "Assuan accept problem: %s\n"
 msgstr ""
 
-#: dirmngr/server.c:2948
+#: dirmngr/server.c:3058
 #, fuzzy, c-format
 #| msgid "signing failed: %s\n"
 msgid "Assuan processing failed: %s\n"
@@ -11089,21 +10939,21 @@ msgid "error sending standard options: %s\n"
 msgstr "viga teate saatmisel serverile `%s': %s\n"
 
 #: tools/gpgconf-comp.c:481 tools/gpgconf-comp.c:617 tools/gpgconf-comp.c:692
-#: tools/gpgconf-comp.c:804 tools/gpgconf-comp.c:906
+#: tools/gpgconf-comp.c:808 tools/gpgconf-comp.c:910
 msgid "Options controlling the diagnostic output"
 msgstr ""
 
 #: tools/gpgconf-comp.c:494 tools/gpgconf-comp.c:630 tools/gpgconf-comp.c:705
-#: tools/gpgconf-comp.c:817 tools/gpgconf-comp.c:929
+#: tools/gpgconf-comp.c:821 tools/gpgconf-comp.c:933
 msgid "Options controlling the configuration"
 msgstr ""
 
-#: tools/gpgconf-comp.c:517 tools/gpgconf-comp.c:659 tools/gpgconf-comp.c:736
-#: tools/gpgconf-comp.c:849 tools/gpgconf-comp.c:942
+#: tools/gpgconf-comp.c:517 tools/gpgconf-comp.c:659 tools/gpgconf-comp.c:740
+#: tools/gpgconf-comp.c:853 tools/gpgconf-comp.c:946
 msgid "Options useful for debugging"
 msgstr ""
 
-#: tools/gpgconf-comp.c:530 tools/gpgconf-comp.c:669 tools/gpgconf-comp.c:862
+#: tools/gpgconf-comp.c:530 tools/gpgconf-comp.c:669 tools/gpgconf-comp.c:866
 msgid "Options controlling the security"
 msgstr ""
 
@@ -11153,11 +11003,11 @@ msgstr "viga parooli loomisel: %s\n"
 msgid "|N|set the Pinentry timeout to N seconds"
 msgstr ""
 
-#: tools/gpgconf-comp.c:707 tools/gpgconf-comp.c:819
+#: tools/gpgconf-comp.c:707 tools/gpgconf-comp.c:823
 msgid "|NAME|use NAME as default secret key"
 msgstr "|NIMI|kasuta NIME vaikimisi salajase võtmena"
 
-#: tools/gpgconf-comp.c:710 tools/gpgconf-comp.c:822
+#: tools/gpgconf-comp.c:710 tools/gpgconf-comp.c:826
 #, fuzzy
 msgid "|NAME|encrypt to user ID NAME as well"
 msgstr "|NIMI|krüpti NIMEle"
@@ -11166,137 +11016,137 @@ msgstr "|NIMI|krüpti NIMEle"
 msgid "|SPEC|set up email aliases"
 msgstr ""
 
-#: tools/gpgconf-comp.c:749 tools/gpgconf-comp.c:981
+#: tools/gpgconf-comp.c:753 tools/gpgconf-comp.c:985
 msgid "Configuration for Keyservers"
 msgstr ""
 
-#: tools/gpgconf-comp.c:751 tools/gpgconf-comp.c:983
+#: tools/gpgconf-comp.c:755 tools/gpgconf-comp.c:987
 #, fuzzy
 msgid "|URL|use keyserver at URL"
 msgstr "ei saa parsida võtmeserveri URI\n"
 
-#: tools/gpgconf-comp.c:754
+#: tools/gpgconf-comp.c:758
 msgid "allow PKA lookups (DNS requests)"
 msgstr ""
 
-#: tools/gpgconf-comp.c:757
+#: tools/gpgconf-comp.c:761
 msgid "|MECHANISMS|use MECHANISMS to locate keys by mail address"
 msgstr ""
 
-#: tools/gpgconf-comp.c:760
+#: tools/gpgconf-comp.c:764
 #, fuzzy
 #| msgid "import keys from a keyserver"
 msgid "import missing key from a signature"
 msgstr "impordi võtmed võtmeserverist"
 
-#: tools/gpgconf-comp.c:763
+#: tools/gpgconf-comp.c:767
 #, fuzzy
 msgid "include the public key in signatures"
 msgstr "kontrolli võtmete allkirju"
 
-#: tools/gpgconf-comp.c:770 tools/gpgconf-comp.c:831
+#: tools/gpgconf-comp.c:774 tools/gpgconf-comp.c:835
 msgid "disable all access to the dirmngr"
 msgstr ""
 
-#: tools/gpgconf-comp.c:834
+#: tools/gpgconf-comp.c:838
 #, fuzzy
 msgid "|NAME|use encoding NAME for PKCS#12 passphrases"
 msgstr "|NIMI|kasuta paroolidega šifri algoritmi NIMI"
 
-#: tools/gpgconf-comp.c:870
+#: tools/gpgconf-comp.c:874
 msgid "do not check CRLs for root certificates"
 msgstr ""
 
-#: tools/gpgconf-comp.c:919
+#: tools/gpgconf-comp.c:923
 msgid "Options controlling the format of the output"
 msgstr ""
 
-#: tools/gpgconf-comp.c:961
+#: tools/gpgconf-comp.c:965
 msgid "Options controlling the interactivity and enforcement"
 msgstr ""
 
-#: tools/gpgconf-comp.c:974
+#: tools/gpgconf-comp.c:978
 msgid "Options controlling the use of Tor"
 msgstr ""
 
-#: tools/gpgconf-comp.c:988
+#: tools/gpgconf-comp.c:992
 msgid "Configuration for HTTP servers"
 msgstr ""
 
-#: tools/gpgconf-comp.c:999
+#: tools/gpgconf-comp.c:1003
 msgid "use system's HTTP proxy setting"
 msgstr ""
 
-#: tools/gpgconf-comp.c:1004
+#: tools/gpgconf-comp.c:1008
 msgid "Configuration of LDAP servers to use"
 msgstr ""
 
-#: tools/gpgconf-comp.c:1033
+#: tools/gpgconf-comp.c:1037
 msgid "LDAP server list"
 msgstr ""
 
-#: tools/gpgconf-comp.c:1041
+#: tools/gpgconf-comp.c:1045
 msgid "Configuration for OCSP"
 msgstr ""
 
-#: tools/gpgconf-comp.c:1094
+#: tools/gpgconf-comp.c:1098
 msgid "OpenPGP"
 msgstr ""
 
-#: tools/gpgconf-comp.c:1095
+#: tools/gpgconf-comp.c:1099
 msgid "Private Keys"
 msgstr ""
 
-#: tools/gpgconf-comp.c:1096
+#: tools/gpgconf-comp.c:1100
 msgid "Smartcards"
 msgstr ""
 
-#: tools/gpgconf-comp.c:1097
+#: tools/gpgconf-comp.c:1101
 msgid "S/MIME"
 msgstr ""
 
-#: tools/gpgconf-comp.c:1098
+#: tools/gpgconf-comp.c:1102
 #, fuzzy
 #| msgid "network error"
 msgid "Network"
 msgstr "võrgu viga"
 
-#: tools/gpgconf-comp.c:1099
+#: tools/gpgconf-comp.c:1103
 #, fuzzy
 msgid "Passphrase Entry"
 msgstr "halb parool"
 
-#: tools/gpgconf-comp.c:1278
+#: tools/gpgconf-comp.c:1282
 #, fuzzy
 msgid "Component not suitable for launching"
 msgstr "ei leia avalikku võtit"
 
-#: tools/gpgconf-comp.c:1284
+#: tools/gpgconf-comp.c:1288
 #, c-format
 msgid "Configuration file of component %s is broken\n"
 msgstr ""
 
-#: tools/gpgconf-comp.c:1287
+#: tools/gpgconf-comp.c:1291
 #, fuzzy, c-format
 #| msgid "Please use the command \"toggle\" first.\n"
 msgid "Note: Use the command \"%s%s\" to get details.\n"
 msgstr "Palun kasutage kõigepealt käsku \"toggle\".\n"
 
-#: tools/gpgconf-comp.c:3446
+#: tools/gpgconf-comp.c:3454
 #, c-format
 msgid "External verification of component %s failed"
 msgstr ""
 
-#: tools/gpgconf-comp.c:3597
+#: tools/gpgconf-comp.c:3605
 msgid "Note that group specifications are ignored\n"
 msgstr ""
 
-#: tools/gpgconf-comp.c:4195
+#: tools/gpgconf-comp.c:4203
 #, fuzzy, c-format
 msgid "error closing '%s'\n"
 msgstr "viga `%s' lugemisel: %s\n"
 
-#: tools/gpgconf-comp.c:4197
+#: tools/gpgconf-comp.c:4205
 #, fuzzy, c-format
 msgid "error parsing '%s'\n"
 msgstr "viga `%s' lugemisel: %s\n"
@@ -11406,6 +11256,99 @@ msgid ""
 msgstr ""
 
 #, fuzzy
+#~ msgid "requesting key %s from %s server %s\n"
+#~ msgstr "küsin võtit %08lX võtmeserverist %s\n"
+
+#, fuzzy
+#~ msgid "%s:%u: no hostname given\n"
+#~ msgstr "(Kirjeldust ei antud)\n"
+
+#, fuzzy
+#~ msgid "could not parse keyserver\n"
+#~ msgstr "ei saa parsida võtmeserveri URI\n"
+
+#, fuzzy
+#~| msgid "|NAME|set terminal charset to NAME"
+#~ msgid "|NAME|connect to host NAME"
+#~ msgstr "|NIMI|terminali kooditabel on NIMI"
+
+#, fuzzy
+#~| msgid "|NAME|use NAME as default recipient"
+#~ msgid "|NAME|use user NAME for authentication"
+#~ msgstr "|NIMI|kasuta NIME vaikimisi saajana"
+
+#, fuzzy
+#~| msgid "Usage: gpg [options] [files] (-h for help)"
+#~ msgid "Usage: dirmngr_ldap [options] [URL] (-h for help)\n"
+#~ msgstr "Kasuta: gpg [võtmed] [failid] (-h näitab abiinfot)"
+
+#, fuzzy
+#~| msgid "invalid import options\n"
+#~ msgid "invalid port number %d\n"
+#~ msgstr "vigased impordi võtmed\n"
+
+#, fuzzy
+#~ msgid "error writing to stdout: %s\n"
+#~ msgstr "viga võtmehoidlasse `%s' kirjutamisel: %s\n"
+
+#, fuzzy
+#~ msgid "attribute '%s' not found\n"
+#~ msgstr "võtit '%s' ei leitud: %s\n"
+
+#, fuzzy
+#~| msgid "reading from `%s'\n"
+#~ msgid "processing url '%s'\n"
+#~ msgstr "loen failist `%s'\n"
+
+#, fuzzy
+#~| msgid "          w/o user IDs: %lu\n"
+#~ msgid "          user '%s'\n"
+#~ msgstr "    puudub kasutaja ID: %lu\n"
+
+#, fuzzy
+#~ msgid "          pass '%s'\n"
+#~ msgstr "                 ka \""
+
+#, fuzzy
+#~ msgid "          host '%s'\n"
+#~ msgstr "                 ka \""
+
+#, fuzzy
+#~| msgid "          not imported: %lu\n"
+#~ msgid "          port %d\n"
+#~ msgstr "       pole imporditud: %lu\n"
+
+#, fuzzy
+#~ msgid "            DN '%s'\n"
+#~ msgstr "                 ka \""
+
+#, fuzzy
+#~ msgid "          attr '%s'\n"
+#~ msgstr "                 ka \""
+
+#, fuzzy
+#~ msgid "no host name in '%s'\n"
+#~ msgstr "(Kirjeldust ei antud)\n"
+
+#, fuzzy
+#~| msgid "WARNING: using insecure memory!\n"
+#~ msgid "WARNING: using first attribute only\n"
+#~ msgstr "HOIATUS: kasutan ebaturvalist mälu!\n"
+
+#, fuzzy
+#~ msgid "LDAP init to '%s:%d' failed: %s\n"
+#~ msgstr "pakendamine ebaõnnestus: %s\n"
+
+#, fuzzy
+#~ msgid "binding to '%s:%d' failed: %s\n"
+#~ msgstr "pakendamine ebaõnnestus: %s\n"
+
+#, fuzzy
+#~| msgid "dearmoring failed: %s\n"
+#~ msgid "searching '%s' failed: %s\n"
+#~ msgstr "lahtipakendamine ebaõnnestus: %s\n"
+
+#, fuzzy
 #~| msgid "NOTE: old default options file `%s' ignored\n"
 #~ msgid "Note: old default options file '%s' ignored\n"
 #~ msgstr "MÄRKUS: ignoreerin vana vaikimisi võtmete faili `%s'\n"
index 6493c13..e4a5606 100644 (file)
--- a/po/fi.po
+++ b/po/fi.po
@@ -22,7 +22,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: gnupg 1.2.2\n"
 "Report-Msgid-Bugs-To: translations@gnupg.org\n"
-"POT-Creation-Date: 2021-01-11 18:47+0100\n"
+"POT-Creation-Date: 2021-06-10 18:59+0200\n"
 "PO-Revision-Date: 2004-06-16 22:40+0300\n"
 "Last-Translator: Tommi Vainikainen <Tommi.Vainikainen@iki.fi>\n"
 "Language-Team: Finnish <translation-team-fi@lists.sourceforge.net>\n"
@@ -121,7 +121,7 @@ msgid "Passphrase:"
 msgstr "väärä salasana"
 
 #: agent/call-pinentry.c:1107 agent/call-pinentry.c:1359
-#: agent/command-ssh.c:3130 agent/genkey.c:416
+#: agent/command-ssh.c:3140 agent/genkey.c:416
 msgid "does not match - try again"
 msgstr ""
 
@@ -176,34 +176,34 @@ msgstr "väärä salasana"
 msgid "ssh keys greater than %d bits are not supported\n"
 msgstr "suojausalgoritmi %d%s ei ole käytettävissä\n"
 
-#: agent/command-ssh.c:862 common/dotlock.c:852 g10/card-util.c:932
-#: g10/exec.c:546 g10/export.c:1320 g10/gpg.c:1352 g10/keygen.c:4998
-#: g10/keyring.c:1322 g10/keyring.c:1637 g10/openfile.c:291 g10/sign.c:1009
-#: g10/sign.c:1323 g10/tdbio.c:753
+#: agent/command-ssh.c:862 common/dotlock.c:852 g10/card-util.c:933
+#: g10/exec.c:554 g10/export.c:1320 g10/gpg.c:1360 g10/keygen.c:4998
+#: g10/keyring.c:1322 g10/keyring.c:1637 g10/openfile.c:291 g10/sign.c:1008
+#: g10/sign.c:1322 g10/tdbio.c:753
 #, fuzzy, c-format
 #| msgid "can't create `%s': %s\n"
 msgid "can't create '%s': %s\n"
 msgstr "tiedostoa \"%s\" ei voi luoda: %s\n"
 
-#: agent/command-ssh.c:874 common/helpfile.c:57 g10/card-util.c:889
+#: agent/command-ssh.c:874 common/helpfile.c:57 g10/card-util.c:890
 #: g10/dearmor.c:59 g10/dearmor.c:106 g10/decrypt.c:65 g10/decrypt.c:136
-#: g10/decrypt.c:153 g10/encrypt.c:180 g10/encrypt.c:543 g10/gpg.c:1353
-#: g10/import.c:352 g10/import.c:536 g10/import.c:764 g10/keygen.c:4036
+#: g10/decrypt.c:153 g10/encrypt.c:180 g10/encrypt.c:543 g10/gpg.c:1361
+#: g10/import.c:364 g10/import.c:548 g10/import.c:776 g10/keygen.c:4036
 #: g10/keyring.c:1663 g10/openfile.c:195 g10/openfile.c:209 g10/plaintext.c:128
-#: g10/plaintext.c:649 g10/sign.c:991 g10/sign.c:1202 g10/sign.c:1307
-#: g10/sign.c:1452 g10/tdbdump.c:143 g10/tdbdump.c:151 g10/tdbio.c:758
-#: g10/tdbio.c:829 g10/verify.c:96 g10/verify.c:160 sm/gpgsm.c:2219
-#: sm/gpgsm.c:2249 sm/gpgsm.c:2287 sm/qualified.c:66 dirmngr/certcache.c:396
+#: g10/plaintext.c:649 g10/sign.c:990 g10/sign.c:1201 g10/sign.c:1306
+#: g10/sign.c:1451 g10/tdbdump.c:143 g10/tdbdump.c:151 g10/tdbio.c:758
+#: g10/tdbio.c:829 g10/verify.c:96 g10/verify.c:160 sm/gpgsm.c:2125
+#: sm/gpgsm.c:2155 sm/gpgsm.c:2193 sm/qualified.c:66 dirmngr/certcache.c:396
 #: dirmngr/certcache.c:476 dirmngr/certcache.c:478 dirmngr/crlcache.c:2588
-#: dirmngr/dirmngr.c:1722
+#: dirmngr/dirmngr.c:1759
 #, fuzzy, c-format
 #| msgid "can't open `%s': %s\n"
 msgid "can't open '%s': %s\n"
 msgstr "tiedostoa \"%s\" ei voi avata: %s\n"
 
 #: agent/command-ssh.c:2385 agent/command-ssh.c:2431 agent/command-ssh.c:2449
-#: agent/command-ssh.c:2601 g10/card-util.c:687 g10/card-util.c:708
-#: g10/skclist.c:430
+#: agent/command-ssh.c:2601 g10/card-util.c:688 g10/card-util.c:709
+#: g10/skclist.c:435
 #, fuzzy, c-format
 msgid "error getting serial number of card: %s\n"
 msgstr "virhe luotaessa salasanaa: %s\n"
@@ -228,39 +228,39 @@ msgstr "kirjoitettavissa olevaa salaista avainrengasta ei löydy: %s\n"
 msgid "error getting list of cards: %s\n"
 msgstr "virhe luotaessa salasanaa: %s\n"
 
-#: agent/command-ssh.c:2765
+#: agent/command-ssh.c:2775
 #, c-format
 msgid ""
 "An ssh process requested the use of key%%0A  %s%%0A  (%s)%%0ADo you want to "
 "allow this?"
 msgstr ""
 
-#: agent/command-ssh.c:2772
+#: agent/command-ssh.c:2782
 msgid "Allow"
 msgstr ""
 
-#: agent/command-ssh.c:2772
+#: agent/command-ssh.c:2782
 msgid "Deny"
 msgstr ""
 
-#: agent/command-ssh.c:2781
+#: agent/command-ssh.c:2791
 #, fuzzy, c-format
 msgid "Please enter the passphrase for the ssh key%%0A  %F%%0A  (%c)"
 msgstr "Ole hyvä ja syötä salasana, tämän on salainen lause \n"
 
-#: agent/command-ssh.c:3058 agent/genkey.c:351
+#: agent/command-ssh.c:3068 agent/genkey.c:351
 #, fuzzy
 msgid "Please re-enter this passphrase"
 msgstr "muuta salasanaa"
 
-#: agent/command-ssh.c:3085
+#: agent/command-ssh.c:3095
 #, fuzzy, c-format
 msgid ""
 "Please enter a passphrase to protect the received secret key%%0A   %s%%0A   "
 "%s%%0Awithin gpg-agent's key storage"
 msgstr "Ole hyvä ja syötä salasana, tämän on salainen lause \n"
 
-#: agent/command-ssh.c:3667
+#: agent/command-ssh.c:3677
 #, fuzzy, c-format
 msgid "failed to create stream from socket: %s\n"
 msgstr "%s: hajautustaulukon luonti ei onnistu: %s\n"
@@ -415,48 +415,46 @@ msgstr ""
 "Valitsimet:\n"
 " "
 
-#: agent/gpg-agent.c:165 scd/scdaemon.c:120 dirmngr/dirmngr.c:166
+#: agent/gpg-agent.c:165 scd/scdaemon.c:120 dirmngr/dirmngr.c:167
 msgid "run in daemon mode (background)"
 msgstr ""
 
-#: agent/gpg-agent.c:166 scd/scdaemon.c:117 dirmngr/dirmngr.c:165
+#: agent/gpg-agent.c:166 scd/scdaemon.c:117 dirmngr/dirmngr.c:166
 msgid "run in server mode (foreground)"
 msgstr ""
 
-#: agent/gpg-agent.c:168 dirmngr/dirmngr.c:168
+#: agent/gpg-agent.c:168 dirmngr/dirmngr.c:169
 #, fuzzy
 #| msgid "Key is superseded"
 msgid "run in supervised mode"
 msgstr "Avain on uusittu"
 
-#: agent/gpg-agent.c:170 g10/gpg.c:608 g10/gpgv.c:78 kbx/kbxutil.c:88
-#: scd/scdaemon.c:121 sm/gpgsm.c:310 dirmngr/dirmngr-client.c:70
-#: dirmngr/dirmngr.c:181 dirmngr/dirmngr_ldap.c:135
-#: tools/gpg-connect-agent.c:78 tools/gpgconf.c:108
+#: agent/gpg-agent.c:170 g10/gpg.c:605 g10/gpgv.c:78 kbx/kbxutil.c:88
+#: scd/scdaemon.c:121 sm/gpgsm.c:311 dirmngr/dirmngr-client.c:70
+#: dirmngr/dirmngr.c:182 tools/gpg-connect-agent.c:78 tools/gpgconf.c:108
 msgid "verbose"
 msgstr "monisanainen"
 
 #: agent/gpg-agent.c:171 g10/gpgv.c:79 kbx/kbxutil.c:89 scd/scdaemon.c:122
-#: sm/gpgsm.c:311 dirmngr/dirmngr-client.c:71 dirmngr/dirmngr.c:182
-#: dirmngr/dirmngr_ldap.c:136
+#: sm/gpgsm.c:312 dirmngr/dirmngr-client.c:71 dirmngr/dirmngr.c:183
 msgid "be somewhat more quiet"
 msgstr "ole jonkinverran hiljaisempi"
 
-#: agent/gpg-agent.c:172 scd/scdaemon.c:123 dirmngr/dirmngr.c:183
+#: agent/gpg-agent.c:172 scd/scdaemon.c:123 dirmngr/dirmngr.c:184
 msgid "sh-style command output"
 msgstr ""
 
-#: agent/gpg-agent.c:173 scd/scdaemon.c:124 dirmngr/dirmngr.c:184
+#: agent/gpg-agent.c:173 scd/scdaemon.c:124 dirmngr/dirmngr.c:185
 msgid "csh-style command output"
 msgstr ""
 
-#: agent/gpg-agent.c:174 scd/scdaemon.c:125 sm/gpgsm.c:341
-#: dirmngr/dirmngr.c:185
+#: agent/gpg-agent.c:174 scd/scdaemon.c:125 sm/gpgsm.c:344
+#: dirmngr/dirmngr.c:186
 #, fuzzy
 msgid "|FILE|read options from FILE"
 msgstr "|TIEDOSTO|lataa laajennusmoduuli TIEDOSTO"
 
-#: agent/gpg-agent.c:183 scd/scdaemon.c:135 dirmngr/dirmngr.c:188
+#: agent/gpg-agent.c:183 scd/scdaemon.c:135 dirmngr/dirmngr.c:189
 msgid "do not detach from the console"
 msgstr ""
 
@@ -542,9 +540,9 @@ msgstr "ei tuettu"
 #. reporting address.  This is so that we can change the
 #. reporting address without breaking the translations.
 #: agent/gpg-agent.c:531 agent/preset-passphrase.c:100 agent/protect-tool.c:155
-#: g10/gpg.c:1070 g10/gpgv.c:149 kbx/kbxutil.c:113 scd/scdaemon.c:298
-#: sm/gpgsm.c:567 dirmngr/dirmngr-client.c:168 dirmngr/dirmngr.c:404
-#: dirmngr/dirmngr_ldap.c:207 tools/gpg-connect-agent.c:205 tools/gpgconf.c:146
+#: g10/gpg.c:1074 g10/gpgv.c:149 kbx/kbxutil.c:113 scd/scdaemon.c:299
+#: sm/gpgsm.c:570 dirmngr/dirmngr-client.c:168 dirmngr/dirmngr.c:412
+#: tools/gpg-connect-agent.c:205 tools/gpgconf.c:146
 #: tools/gpg-check-pattern.c:143
 #, fuzzy
 msgid "Please report bugs to <@EMAIL@>.\n"
@@ -562,39 +560,39 @@ msgid ""
 "Secret key management for @GNUPG@\n"
 msgstr ""
 
-#: agent/gpg-agent.c:587 g10/gpg.c:1262 scd/scdaemon.c:370 sm/gpgsm.c:715
-#: dirmngr/dirmngr.c:488
+#: agent/gpg-agent.c:587 g10/gpg.c:1270 scd/scdaemon.c:371 sm/gpgsm.c:718
+#: dirmngr/dirmngr.c:496
 #, c-format
 msgid "invalid debug-level '%s' given\n"
 msgstr ""
 
-#: agent/gpg-agent.c:945 g10/gpg.c:3753 g10/gpg.c:3777 sm/gpgsm.c:1631
-#: sm/gpgsm.c:1637
+#: agent/gpg-agent.c:945 g10/gpg.c:3773 g10/gpg.c:3797 sm/gpgsm.c:1531
+#: sm/gpgsm.c:1537
 #, c-format
 msgid "selected digest algorithm is invalid\n"
 msgstr "valittu tiivistealgoritmi ei kelpaa\n"
 
 #: agent/gpg-agent.c:1168 agent/gpg-agent.c:2023 common/argparse.c:1755
-#: common/argparse.c:1847 g10/gpg.c:2482 scd/scdaemon.c:532 sm/gpgsm.c:1063
-#: dirmngr/dirmngr.c:956 dirmngr/dirmngr.c:1841
+#: common/argparse.c:1847 g10/gpg.c:2495 scd/scdaemon.c:533 sm/gpgsm.c:977
+#: dirmngr/dirmngr.c:994 dirmngr/dirmngr.c:1878
 #, fuzzy, c-format
 #| msgid "reading options from `%s'\n"
 msgid "reading options from '%s'\n"
 msgstr "luetaan asetukset tiedostosta \"%s\"\n"
 
-#: agent/gpg-agent.c:1300 g10/gpg.c:3704 scd/scdaemon.c:655 sm/gpgsm.c:1571
-#: dirmngr/dirmngr.c:1067 tools/gpg-connect-agent.c:1244 tools/gpgconf.c:624
+#: agent/gpg-agent.c:1300 g10/gpg.c:3724 scd/scdaemon.c:657 sm/gpgsm.c:1471
+#: dirmngr/dirmngr.c:1102 tools/gpg-connect-agent.c:1244 tools/gpgconf.c:624
 #, fuzzy, c-format
 #| msgid "WARNING: \"%s\" is a deprecated option\n"
 msgid "Note: '%s' is not considered an option\n"
 msgstr "VAROITUS: \"%s\" on paheksuttu valitsin\n"
 
-#: agent/gpg-agent.c:2159 scd/scdaemon.c:1096 dirmngr/dirmngr.c:1219
+#: agent/gpg-agent.c:2159 scd/scdaemon.c:1098 dirmngr/dirmngr.c:1256
 #, fuzzy, c-format
 msgid "can't create socket: %s\n"
 msgstr "ei voida luoda kohdetta %s: %s\n"
 
-#: agent/gpg-agent.c:2176 scd/scdaemon.c:1109 dirmngr/dirmngr.c:1232
+#: agent/gpg-agent.c:2176 scd/scdaemon.c:1111 dirmngr/dirmngr.c:1269
 #, c-format
 msgid "socket name '%s' is too long\n"
 msgstr ""
@@ -604,29 +602,29 @@ msgstr ""
 msgid "a gpg-agent is already running - not starting a new one\n"
 msgstr "gpg-agent ei ole käytettävissä tässä istunnossa\n"
 
-#: agent/gpg-agent.c:2226 scd/scdaemon.c:1133 dirmngr/dirmngr.c:1264
+#: agent/gpg-agent.c:2226 scd/scdaemon.c:1135 dirmngr/dirmngr.c:1301
 #, fuzzy, c-format
 msgid "error getting nonce for the socket\n"
 msgstr "virhe luotaessa salasanaa: %s\n"
 
-#: agent/gpg-agent.c:2231 scd/scdaemon.c:1136 dirmngr/dirmngr.c:1267
+#: agent/gpg-agent.c:2231 scd/scdaemon.c:1138 dirmngr/dirmngr.c:1304
 #, fuzzy, c-format
 msgid "error binding socket to '%s': %s\n"
 msgstr "virhe lähettäessä kohteeseen \"%s\": %s\n"
 
 #: agent/gpg-agent.c:2242 agent/gpg-agent.c:2282 agent/gpg-agent.c:2291
-#: scd/scdaemon.c:1144 dirmngr/dirmngr.c:1276
+#: scd/scdaemon.c:1146 dirmngr/dirmngr.c:1313
 #, fuzzy, c-format
 msgid "can't set permissions of '%s': %s\n"
 msgstr "VAROITUS: oikeudet kohteessa %s \"%s\" eivät ole turvallisia\"\n"
 
-#: agent/gpg-agent.c:2256 scd/scdaemon.c:1156 dirmngr/dirmngr.c:1288
+#: agent/gpg-agent.c:2256 scd/scdaemon.c:1158 dirmngr/dirmngr.c:1325
 #, fuzzy, c-format
 msgid "listening on socket '%s'\n"
 msgstr "kirjoitan salaisen avaimen kohteeseen \"%s\"\n"
 
 #: agent/gpg-agent.c:2276 agent/gpg-agent.c:2329 common/homedir.c:517
-#: g10/exec.c:261 g10/openfile.c:397
+#: g10/exec.c:269 g10/openfile.c:397
 #, fuzzy, c-format
 #| msgid "can't create directory `%s': %s\n"
 msgid "can't create directory '%s': %s\n"
@@ -648,7 +646,7 @@ msgstr "trustdb: luku epäonnistui (n=%d): %s\n"
 msgid "can't use '%s' as home directory\n"
 msgstr "%s: hakemistoa ei voi luoda: %s\n"
 
-#: agent/gpg-agent.c:2502 scd/scdaemon.c:1172 dirmngr/dirmngr.c:2047
+#: agent/gpg-agent.c:2502 scd/scdaemon.c:1174 dirmngr/dirmngr.c:2084
 #, fuzzy, c-format
 msgid "error reading nonce on fd %d: %s\n"
 msgstr "virhe luettaessa tiedostoa \"%s\": %s\n"
@@ -673,12 +671,12 @@ msgstr ""
 msgid "ssh handler 0x%lx for fd %d terminated\n"
 msgstr ""
 
-#: agent/gpg-agent.c:3016 scd/scdaemon.c:1362 dirmngr/dirmngr.c:2261
+#: agent/gpg-agent.c:3016 scd/scdaemon.c:1366 dirmngr/dirmngr.c:2298
 #, fuzzy, c-format
 msgid "npth_pselect failed: %s - waiting 1s\n"
 msgstr "salaisen päivitys epäonnistui: %s\n"
 
-#: agent/gpg-agent.c:3104 scd/scdaemon.c:1427
+#: agent/gpg-agent.c:3104 scd/scdaemon.c:1431
 #, fuzzy, c-format
 msgid "%s %s stopped\n"
 msgstr "%s: ohitettu: %s\n"
@@ -700,8 +698,8 @@ msgid ""
 "Password cache maintenance\n"
 msgstr ""
 
-#: agent/protect-tool.c:108 g10/gpg.c:440 kbx/kbxutil.c:71 sm/gpgsm.c:204
-#: dirmngr/dirmngr.c:163 tools/gpgconf.c:78
+#: agent/protect-tool.c:108 g10/gpg.c:437 kbx/kbxutil.c:71 sm/gpgsm.c:205
+#: dirmngr/dirmngr.c:164 tools/gpgconf.c:78
 msgid ""
 "@Commands:\n"
 " "
@@ -709,8 +707,8 @@ msgstr ""
 "@Komennot:\n"
 " "
 
-#: agent/protect-tool.c:117 g10/gpg.c:553 g10/gpgv.c:76 kbx/kbxutil.c:81
-#: sm/gpgsm.c:252 dirmngr/dirmngr.c:179 tools/gpg-connect-agent.c:76
+#: agent/protect-tool.c:117 g10/gpg.c:550 g10/gpgv.c:76 kbx/kbxutil.c:81
+#: sm/gpgsm.c:253 dirmngr/dirmngr.c:180 tools/gpg-connect-agent.c:76
 #: tools/gpgconf.c:105
 msgid ""
 "@\n"
@@ -732,12 +730,12 @@ msgid ""
 "Secret key maintenance tool\n"
 msgstr ""
 
-#: agent/protect-tool.c:703
+#: agent/protect-tool.c:703 sm/import.c:774
 #, fuzzy
 msgid "Please enter the passphrase to unprotect the PKCS#12 object."
 msgstr "Ole hyvä ja syötä salasana, tämän on salainen lause \n"
 
-#: agent/protect-tool.c:708
+#: agent/protect-tool.c:708 sm/export.c:710
 #, fuzzy
 msgid "Please enter the passphrase to protect the new PKCS#12 object."
 msgstr "Ole hyvä ja syötä salasana, tämän on salainen lause \n"
@@ -765,7 +763,7 @@ msgstr "Peru"
 msgid "error while asking for the passphrase: %s\n"
 msgstr "virhe luotaessa salasanaa: %s\n"
 
-#: agent/trustlist.c:154 agent/trustlist.c:364 dirmngr/dirmngr.c:1629
+#: agent/trustlist.c:154 agent/trustlist.c:364 dirmngr/dirmngr.c:1666
 #: tools/gpgconf.c:418
 #, fuzzy, c-format
 msgid "error opening '%s': %s\n"
@@ -921,7 +919,7 @@ msgstr "luodun allekirjoituksen tarkistus epäonnistui: %s\n"
 msgid "secret key parts are not available\n"
 msgstr "salaisen avaimen osat eivät ole käytettävissä\n"
 
-#: agent/cvt-openpgp.c:344 g10/card-util.c:1540
+#: agent/cvt-openpgp.c:344 g10/card-util.c:1541
 #, fuzzy, c-format
 #| msgid "protection algorithm %d%s is not supported\n"
 msgid "public key algorithm %d (%s) is not supported\n"
@@ -939,21 +937,21 @@ msgstr "suojausalgoritmi %d%s ei ole käytettävissä\n"
 msgid "protection hash algorithm %d (%s) is not supported\n"
 msgstr "suojausalgoritmi %d%s ei ole käytettävissä\n"
 
-#: common/exechelp-posix.c:359 common/exechelp-w32.c:449
-#: common/exechelp-w32.c:473 common/exechelp-w32.c:503
+#: common/exechelp-posix.c:359 common/exechelp-w32.c:451
+#: common/exechelp-w32.c:475 common/exechelp-w32.c:505
 #, fuzzy, c-format
 msgid "error creating a pipe: %s\n"
 msgstr "virhe luotaessa salasanaa: %s\n"
 
 #: common/exechelp-posix.c:372 common/exechelp-w32.c:355
-#: common/exechelp-w32.c:459 common/exechelp-w32.c:483
-#: common/exechelp-w32.c:513
+#: common/exechelp-w32.c:461 common/exechelp-w32.c:485
+#: common/exechelp-w32.c:515
 #, fuzzy, c-format
 msgid "error creating a stream for a pipe: %s\n"
 msgstr "virhe luotaessa salasanaa: %s\n"
 
 #: common/exechelp-posix.c:495 common/exechelp-posix.c:570
-#: common/exechelp-posix.c:851 dirmngr/dirmngr.c:1306
+#: common/exechelp-posix.c:856 dirmngr/dirmngr.c:1343
 #, fuzzy, c-format
 msgid "error forking process: %s\n"
 msgstr "virhe luettaessa tiedostoa \"%s\": %s\n"
@@ -963,28 +961,28 @@ msgstr "virhe luettaessa tiedostoa \"%s\": %s\n"
 msgid "waiting for process %d to terminate failed: %s\n"
 msgstr ""
 
-#: common/exechelp-posix.c:678 common/exechelp-posix.c:794
+#: common/exechelp-posix.c:678 common/exechelp-posix.c:799
 #, fuzzy, c-format
 msgid "error running '%s': probably not installed\n"
 msgstr "virhe luettaessa tiedostoa \"%s\": %s\n"
 
-#: common/exechelp-posix.c:684 common/exechelp-posix.c:801
-#: common/exechelp-w32.c:796 common/exechelp-w32ce.c:781
+#: common/exechelp-posix.c:684 common/exechelp-posix.c:806
+#: common/exechelp-w32.c:829 common/exechelp-w32ce.c:781
 #, fuzzy, c-format
 msgid "error running '%s': exit status %d\n"
 msgstr "virhe luettaessa tiedostoa \"%s\": %s\n"
 
-#: common/exechelp-posix.c:692 common/exechelp-posix.c:809
+#: common/exechelp-posix.c:692 common/exechelp-posix.c:814
 #, fuzzy, c-format
 msgid "error running '%s': terminated\n"
 msgstr "virhe luettaessa tiedostoa \"%s\": %s\n"
 
-#: common/exechelp-posix.c:750 common/exechelp-w32.c:777
+#: common/exechelp-posix.c:755 common/exechelp-w32.c:810
 #, fuzzy, c-format
 msgid "waiting for processes to terminate failed: %s\n"
 msgstr "päivitys epäonnistui: %s\n"
 
-#: common/exechelp-w32.c:789 common/exechelp-w32ce.c:775
+#: common/exechelp-w32.c:822 common/exechelp-w32ce.c:775
 #, fuzzy, c-format
 msgid "error getting exit code of process %d: %s\n"
 msgstr "virhe kirjoitettaessa salaiseen avainrenkaaseen \"%s\": %s\n"
@@ -1081,7 +1079,7 @@ msgstr ""
 msgid "out of core while allocating %lu bytes"
 msgstr ""
 
-#: common/miscellaneous.c:115 g10/card-util.c:896 tools/no-libgcrypt.c:30
+#: common/miscellaneous.c:115 g10/card-util.c:897 tools/no-libgcrypt.c:30
 #, fuzzy, c-format
 msgid "error allocating enough memory: %s\n"
 msgstr "virhe luotaessa avainrengasta \"%s\": %s\n"
@@ -1204,7 +1202,7 @@ msgid "algorithm: %s"
 msgstr "ascii-koodaus: %s\n"
 
 #: common/audit.c:774 common/audit.c:776 common/audit.c:921 common/audit.c:923
-#: scd/app-openpgp.c:3555
+#: scd/app-openpgp.c:3554
 #, fuzzy, c-format
 msgid "unsupported algorithm: %s"
 msgstr ""
@@ -1345,6 +1343,26 @@ msgstr "tuntematon "
 msgid "invalid radix64 character %02x skipped\n"
 msgstr "epäkelpo radix64-merkki %02x ohitettu\n"
 
+#: common/ttyio.c:433
+#, c-format
+msgid "Sorry, we are in batchmode - can't get input\n"
+msgstr ""
+
+#: common/ttyio.c:439
+#, c-format
+msgid "Sorry, no terminal at all requested - can't get input\n"
+msgstr ""
+
+#: common/ttyio.c:474 common/ttyio.c:484
+#, c-format
+msgid "too many errors; giving up\n"
+msgstr ""
+
+#: common/ttyio.c:536
+#, c-format
+msgid "Control-D detected\n"
+msgstr ""
+
 #: common/argparse.c:520
 #, fuzzy
 msgid "argument not expected"
@@ -1416,7 +1434,7 @@ msgstr "virheelliset tuontivalitsimet\n"
 msgid "missing argument for option \"%.50s\"\n"
 msgstr ""
 
-#: common/argparse.c:558 g10/gpg.c:3490
+#: common/argparse.c:558 g10/gpg.c:3510
 #, fuzzy, c-format
 msgid "invalid argument for option \"%.50s\"\n"
 msgstr "virheelliset tuontivalitsimet\n"
@@ -1488,31 +1506,31 @@ msgstr "hakemiston \"%s\" luominen ei onnistu: %s\n"
 msgid "error writing to '%s': %s\n"
 msgstr "virhe kirjoitettaessa avainrenkaaseen \"%s\": %s\n"
 
-#: common/dotlock.c:1129
+#: common/dotlock.c:1137
 #, c-format
 msgid "removing stale lockfile (created by %d)\n"
 msgstr ""
 
-#: common/dotlock.c:1165
+#: common/dotlock.c:1173
 #, fuzzy, c-format
 msgid "waiting for lock (held by %d%s) %s...\n"
 msgstr "kirjoitan salaisen avaimen kohteeseen \"%s\"\n"
 
-#: common/dotlock.c:1166
+#: common/dotlock.c:1174
 msgid "(deadlock?) "
 msgstr ""
 
-#: common/dotlock.c:1205
+#: common/dotlock.c:1213
 #, fuzzy, c-format
 msgid "lock '%s' not made: %s\n"
 msgstr "julkista avainta %08lX ei löydy: %s\n"
 
-#: common/dotlock.c:1232
+#: common/dotlock.c:1240
 #, fuzzy, c-format
 msgid "waiting for lock %s...\n"
 msgstr "kirjoitan salaisen avaimen kohteeseen \"%s\"\n"
 
-#: common/init.c:185 sm/gpgsm.c:949 dirmngr/dirmngr.c:862 dirmngr/dirmngr.c:871
+#: common/init.c:191 sm/gpgsm.c:863 dirmngr/dirmngr.c:900 dirmngr/dirmngr.c:909
 #, c-format
 msgid "%s is too old (need %s, have %s)\n"
 msgstr ""
@@ -1704,13 +1722,13 @@ msgid "Note: Use the command \"%s\" to restart them.\n"
 msgstr "Käytä ensin komentoa \"toggle\".\n"
 
 #: g10/call-agent.c:318 g10/encrypt.c:154 g10/encrypt.c:620 g10/sign.c:412
-#: sm/call-agent.c:205 sm/encrypt.c:425 sm/sign.c:345
+#: sm/call-agent.c:205 sm/encrypt.c:426 sm/sign.c:345
 #, fuzzy, c-format
 #| msgid "%s does not yet work with %s\n"
 msgid "%s is not compliant with %s mode\n"
 msgstr "%s ja %s eivät vielä toimi yhdessä\n"
 
-#: g10/call-dirmngr.c:209 sm/call-dirmngr.c:268 tools/gpg-connect-agent.c:2253
+#: g10/call-dirmngr.c:209 sm/call-dirmngr.c:269 tools/gpg-connect-agent.c:2253
 #, fuzzy, c-format
 msgid "no dirmngr running in this session\n"
 msgstr "gpg-agent ei ole käytettävissä tässä istunnossa\n"
@@ -1753,23 +1771,23 @@ msgstr ""
 msgid "server uses an invalid certificate"
 msgstr "luo mitätöintivarmenne"
 
-#: g10/call-dirmngr.c:437 g10/gpg.c:4400
+#: g10/call-dirmngr.c:437 g10/gpg.c:4421
 #, fuzzy, c-format
 #| msgid "armor: %s\n"
 msgid "Note: %s\n"
 msgstr "ascii-koodaus: %s\n"
 
-#: g10/card-util.c:86 g10/card-util.c:366 g10/card-util.c:1902
+#: g10/card-util.c:86 g10/card-util.c:366 g10/card-util.c:1903
 #, fuzzy, c-format
 msgid "OpenPGP card not available: %s\n"
 msgstr "salaista avainta ei löydy"
 
-#: g10/card-util.c:91 g10/card-util.c:1908
+#: g10/card-util.c:91 g10/card-util.c:1909
 #, c-format
 msgid "OpenPGP card no. %s detected\n"
 msgstr ""
 
-#: g10/card-util.c:97 g10/card-util.c:2237 g10/delkey.c:160 g10/keyedit.c:1422
+#: g10/card-util.c:97 g10/card-util.c:2238 g10/delkey.c:160 g10/keyedit.c:1423
 #: g10/keygen.c:4466 g10/revoke.c:214 g10/revoke.c:636
 #, fuzzy, c-format
 msgid "can't do this in batch mode\n"
@@ -1780,13 +1798,13 @@ msgstr "tätä ei voi tehdä eräajossa\n"
 msgid "This command is only available for version 2 cards\n"
 msgstr "Tätä komentoa ei sallita %s-tilassa.\n"
 
-#: g10/card-util.c:107 scd/app-openpgp.c:2864
+#: g10/card-util.c:107 scd/app-openpgp.c:2863
 #, fuzzy, c-format
 msgid "Reset Code not or not anymore available\n"
 msgstr "salaisen avaimen osat eivät ole käytettävissä\n"
 
-#: g10/card-util.c:140 g10/card-util.c:1426 g10/card-util.c:1688
-#: g10/card-util.c:1780 g10/keyedit.c:394 g10/keyedit.c:415 g10/keyedit.c:429
+#: g10/card-util.c:140 g10/card-util.c:1427 g10/card-util.c:1689
+#: g10/card-util.c:1781 g10/keyedit.c:394 g10/keyedit.c:415 g10/keyedit.c:429
 #: g10/keygen.c:1808 g10/keygen.c:1980 g10/keygen.c:2186 g10/keygen.c:2477
 #: sm/certreqgen-ui.c:165 sm/certreqgen-ui.c:291 sm/certreqgen-ui.c:325
 msgid "Your selection? "
@@ -1813,213 +1831,213 @@ msgstr "ei käsitelty"
 msgid "forced"
 msgstr ""
 
-#: g10/card-util.c:749
+#: g10/card-util.c:750
 msgid "Error: Only plain ASCII is currently allowed.\n"
 msgstr ""
 
-#: g10/card-util.c:751
+#: g10/card-util.c:752
 msgid "Error: The \"<\" character may not be used.\n"
 msgstr ""
 
-#: g10/card-util.c:753
+#: g10/card-util.c:754
 msgid "Error: Double spaces are not allowed.\n"
 msgstr ""
 
-#: g10/card-util.c:770
+#: g10/card-util.c:771
 msgid "Cardholder's surname: "
 msgstr ""
 
-#: g10/card-util.c:772
+#: g10/card-util.c:773
 msgid "Cardholder's given name: "
 msgstr ""
 
-#: g10/card-util.c:790
+#: g10/card-util.c:791
 #, c-format
 msgid "Error: Combined name too long (limit is %d characters).\n"
 msgstr ""
 
-#: g10/card-util.c:811
+#: g10/card-util.c:812
 #, fuzzy
 msgid "URL to retrieve public key: "
 msgstr "ei vastaavaa julkista avainta: %s\n"
 
-#: g10/card-util.c:905 g10/decrypt-data.c:490 g10/import.c:387 g10/import.c:734
-#: g10/import.c:786 dirmngr/crlcache.c:655 dirmngr/crlcache.c:660
-#: dirmngr/crlcache.c:914 dirmngr/crlcache.c:920 dirmngr/dirmngr.c:1668
+#: g10/card-util.c:906 g10/decrypt-data.c:490 g10/import.c:399 g10/import.c:746
+#: g10/import.c:798 dirmngr/crlcache.c:655 dirmngr/crlcache.c:660
+#: dirmngr/crlcache.c:914 dirmngr/crlcache.c:920 dirmngr/dirmngr.c:1705
 #: tools/gpgconf.c:431 tools/gpgconf.c:477
 #, fuzzy, c-format
 #| msgid "error reading `%s': %s\n"
 msgid "error reading '%s': %s\n"
 msgstr "virhe luettaessa tiedostoa \"%s\": %s\n"
 
-#: g10/card-util.c:938 g10/decrypt-data.c:493 g10/export.c:2467
+#: g10/card-util.c:939 g10/decrypt-data.c:493 g10/export.c:2467
 #: dirmngr/crlcache.c:925
 #, fuzzy, c-format
 msgid "error writing '%s': %s\n"
 msgstr "virhe kirjoitettaessa avainrenkaaseen \"%s\": %s\n"
 
-#: g10/card-util.c:965
+#: g10/card-util.c:966
 msgid "Login data (account name): "
 msgstr ""
 
-#: g10/card-util.c:1003
+#: g10/card-util.c:1004
 msgid "Private DO data: "
 msgstr ""
 
-#: g10/card-util.c:1088
+#: g10/card-util.c:1089
 #, fuzzy
 msgid "Language preferences: "
 msgstr "päivitä valinnat"
 
-#: g10/card-util.c:1096
+#: g10/card-util.c:1097
 #, fuzzy
 msgid "Error: invalid length of preference string.\n"
 msgstr "Valinnassa on luvaton merkki\n"
 
-#: g10/card-util.c:1105
+#: g10/card-util.c:1106
 #, fuzzy
 msgid "Error: invalid characters in preference string.\n"
 msgstr "Valinnassa on luvaton merkki\n"
 
-#: g10/card-util.c:1127
+#: g10/card-util.c:1128
 msgid "Salutation (M = Mr., F = Ms., or space): "
 msgstr ""
 
-#: g10/card-util.c:1141
+#: g10/card-util.c:1142
 #, fuzzy
 msgid "Error: invalid response.\n"
 msgstr "virhe: sormenjälki on väärä\n"
 
-#: g10/card-util.c:1163
+#: g10/card-util.c:1164
 #, fuzzy
 msgid "CA fingerprint: "
 msgstr "näytä sormenjälki"
 
-#: g10/card-util.c:1186
+#: g10/card-util.c:1187
 #, fuzzy
 msgid "Error: invalid formatted fingerprint.\n"
 msgstr "virhe: sormenjälki on väärä\n"
 
-#: g10/card-util.c:1236
+#: g10/card-util.c:1237
 #, fuzzy, c-format
 msgid "key operation not possible: %s\n"
 msgstr "Avaimen luonti epäonnistui: %s\n"
 
-#: g10/card-util.c:1237
+#: g10/card-util.c:1238
 #, fuzzy
 msgid "not an OpenPGP card"
 msgstr "kelvollista OpenPGP-dataa ei löytynyt.\n"
 
-#: g10/card-util.c:1250 g10/keygen.c:4486 g10/keygen.c:5565
+#: g10/card-util.c:1251 g10/keygen.c:4486 g10/keygen.c:5565
 #, fuzzy, c-format
 msgid "error getting current key info: %s\n"
 msgstr "virhe kirjoitettaessa salaiseen avainrenkaaseen \"%s\": %s\n"
 
-#: g10/card-util.c:1335
+#: g10/card-util.c:1336
 msgid "Replace existing key? (y/N) "
 msgstr ""
 
-#: g10/card-util.c:1352
+#: g10/card-util.c:1353
 msgid ""
 "Note: There is no guarantee that the card supports the requested size.\n"
 "      If the key generation does not succeed, please check the\n"
 "      documentation of your card to see what sizes are allowed.\n"
 msgstr ""
 
-#: g10/card-util.c:1374 g10/keygen.c:2363 sm/certreqgen-ui.c:179
+#: g10/card-util.c:1375 g10/keygen.c:2363 sm/certreqgen-ui.c:179
 #, fuzzy, c-format
 msgid "What keysize do you want? (%u) "
 msgstr "Minkä kokoisen avaimen haluat? (1024) "
 
-#: g10/card-util.c:1384 g10/keygen.c:2286 g10/keygen.c:2318
+#: g10/card-util.c:1385 g10/keygen.c:2286 g10/keygen.c:2318
 #: sm/certreqgen-ui.c:194
 #, c-format
 msgid "rounded up to %u bits\n"
 msgstr "pyöristetty %u bittiin\n"
 
-#: g10/card-util.c:1392 g10/keygen.c:2371 sm/certreqgen-ui.c:184
+#: g10/card-util.c:1393 g10/keygen.c:2371 sm/certreqgen-ui.c:184
 #, c-format
 msgid "%s keysizes must be in the range %u-%u\n"
 msgstr ""
 
-#: g10/card-util.c:1411
+#: g10/card-util.c:1412
 msgid "Changing card key attribute for: "
 msgstr ""
 
-#: g10/card-util.c:1413
+#: g10/card-util.c:1414
 #, fuzzy
 msgid "Signature key\n"
 msgstr "Allekirjoitus vanheni %s\n"
 
-#: g10/card-util.c:1415
+#: g10/card-util.c:1416
 #, fuzzy
 msgid "Encryption key\n"
 msgstr "   (%d) RSA (vain salaus)\n"
 
-#: g10/card-util.c:1417
+#: g10/card-util.c:1418
 msgid "Authentication key\n"
 msgstr ""
 
-#: g10/card-util.c:1419 g10/keygen.c:1926 sm/certreqgen-ui.c:157
+#: g10/card-util.c:1420 g10/keygen.c:1926 sm/certreqgen-ui.c:157
 msgid "Please select what kind of key you want:\n"
 msgstr "Valitse millaisen avaimen haluat:\n"
 
-#: g10/card-util.c:1420 sm/certreqgen-ui.c:158
+#: g10/card-util.c:1421 sm/certreqgen-ui.c:158
 #, fuzzy, c-format
 msgid "   (%d) RSA\n"
 msgstr "   (%d) RSA (vain allekirjoitus)\n"
 
-#: g10/card-util.c:1421
+#: g10/card-util.c:1422
 #, fuzzy, c-format
 msgid "   (%d) ECC\n"
 msgstr "   (%d) DSA ja ElGamal (oletus)\n"
 
-#: g10/card-util.c:1433 g10/card-util.c:1700 g10/card-util.c:1800
-#: g10/keyedit.c:899 g10/keygen.c:1834 g10/keygen.c:1862 g10/keygen.c:1987
+#: g10/card-util.c:1434 g10/card-util.c:1701 g10/card-util.c:1801
+#: g10/keyedit.c:900 g10/keygen.c:1834 g10/keygen.c:1862 g10/keygen.c:1987
 #: g10/keygen.c:2222 g10/keygen.c:2505 g10/revoke.c:838
 msgid "Invalid selection.\n"
 msgstr "Valinta ei kelpaa.\n"
 
-#: g10/card-util.c:1506
+#: g10/card-util.c:1507
 #, c-format
 msgid "The card will now be re-configured to generate a key of %u bits\n"
 msgstr ""
 
-#: g10/card-util.c:1511
+#: g10/card-util.c:1512
 #, c-format
 msgid "The card will now be re-configured to generate a key of type: %s\n"
 msgstr ""
 
-#: g10/card-util.c:1547
+#: g10/card-util.c:1548
 #, fuzzy, c-format
 msgid "error changing key attribute for key %d: %s\n"
 msgstr "virhe lähettäessä kohteeseen \"%s\": %s\n"
 
-#: g10/card-util.c:1563 g10/card-util.c:2090
+#: g10/card-util.c:1564 g10/card-util.c:2091
 #, fuzzy, c-format
 msgid "error getting card info: %s\n"
 msgstr "virhe kirjoitettaessa salaiseen avainrenkaaseen \"%s\": %s\n"
 
-#: g10/card-util.c:1569 g10/card-util.c:1914 g10/card-util.c:2096
+#: g10/card-util.c:1570 g10/card-util.c:1915 g10/card-util.c:2097
 #, fuzzy, c-format
 #| msgid "This command is not allowed while in %s mode.\n"
 msgid "This command is not supported by this card\n"
 msgstr "Tätä komentoa ei sallita %s-tilassa.\n"
 
-#: g10/card-util.c:1615
+#: g10/card-util.c:1616
 msgid "Make off-card backup of encryption key? (Y/n) "
 msgstr ""
 
-#: g10/card-util.c:1629
+#: g10/card-util.c:1630
 #, fuzzy, c-format
 msgid "Note: keys are already stored on the card!\n"
 msgstr "ohitetaan: salainen avain on jo paikalla\n"
 
-#: g10/card-util.c:1632
+#: g10/card-util.c:1633
 msgid "Replace existing keys? (y/N) "
 msgstr ""
 
-#: g10/card-util.c:1644
+#: g10/card-util.c:1645
 #, c-format
 msgid ""
 "Please note that the factory settings of the PINs are\n"
@@ -2027,160 +2045,160 @@ msgid ""
 "You should change them using the command --change-pin\n"
 msgstr ""
 
-#: g10/card-util.c:1679
+#: g10/card-util.c:1680
 #, fuzzy
 msgid "Please select the type of key to generate:\n"
 msgstr "Valitse millaisen avaimen haluat:\n"
 
-#: g10/card-util.c:1681 g10/card-util.c:1771
+#: g10/card-util.c:1682 g10/card-util.c:1772
 #, fuzzy
 msgid "   (1) Signature key\n"
 msgstr "Allekirjoitus vanheni %s\n"
 
-#: g10/card-util.c:1682 g10/card-util.c:1773
+#: g10/card-util.c:1683 g10/card-util.c:1774
 #, fuzzy
 msgid "   (2) Encryption key\n"
 msgstr "   (%d) RSA (vain salaus)\n"
 
-#: g10/card-util.c:1683 g10/card-util.c:1775
+#: g10/card-util.c:1684 g10/card-util.c:1776
 msgid "   (3) Authentication key\n"
 msgstr ""
 
-#: g10/card-util.c:1768
+#: g10/card-util.c:1769
 #, fuzzy
 msgid "Please select where to store the key:\n"
 msgstr "Valitse mitätöinnin syy:\n"
 
-#: g10/card-util.c:1814
+#: g10/card-util.c:1815
 #, fuzzy, c-format
 msgid "KEYTOCARD failed: %s\n"
 msgstr "päivitys epäonnistui: %s\n"
 
-#: g10/card-util.c:1919
+#: g10/card-util.c:1920
 #, fuzzy, c-format
 msgid "Note: This command destroys all keys stored on the card!\n"
 msgstr "ohitetaan: salainen avain on jo paikalla\n"
 
-#: g10/card-util.c:1922
+#: g10/card-util.c:1923
 #, fuzzy
 msgid "Continue? (y/N) "
 msgstr "Varmastiko allekirjoita? "
 
-#: g10/card-util.c:1927
+#: g10/card-util.c:1928
 msgid "Really do a factory reset? (enter \"yes\") "
 msgstr ""
 
-#: g10/card-util.c:2113
+#: g10/card-util.c:2114
 #, fuzzy, c-format
 msgid "error for setup KDF: %s\n"
 msgstr "virhe luettaessa tiedostoa \"%s\": %s\n"
 
-#: g10/card-util.c:2142 g10/keyedit.c:1259
+#: g10/card-util.c:2143 g10/keyedit.c:1260
 msgid "quit this menu"
 msgstr "ulos tästä valikosta"
 
-#: g10/card-util.c:2144
+#: g10/card-util.c:2145
 #, fuzzy
 msgid "show admin commands"
 msgstr "ristiriitainen komento\n"
 
-#: g10/card-util.c:2145 g10/keyedit.c:1262
+#: g10/card-util.c:2146 g10/keyedit.c:1263
 msgid "show this help"
 msgstr "näytä tämä ohje"
 
-#: g10/card-util.c:2147
+#: g10/card-util.c:2148
 #, fuzzy
 msgid "list all available data"
 msgstr "Avain saatavilla kohteessa: "
 
-#: g10/card-util.c:2150
+#: g10/card-util.c:2151
 msgid "change card holder's name"
 msgstr ""
 
-#: g10/card-util.c:2151
+#: g10/card-util.c:2152
 msgid "change URL to retrieve key"
 msgstr ""
 
-#: g10/card-util.c:2152
+#: g10/card-util.c:2153
 msgid "fetch the key specified in the card URL"
 msgstr ""
 
-#: g10/card-util.c:2153
+#: g10/card-util.c:2154
 #, fuzzy
 msgid "change the login name"
 msgstr "muuta voimassoloaikaa"
 
-#: g10/card-util.c:2154
+#: g10/card-util.c:2155
 #, fuzzy
 msgid "change the language preferences"
 msgstr "muuta luottamusastetta"
 
-#: g10/card-util.c:2155
+#: g10/card-util.c:2156
 msgid "change card holder's salutation"
 msgstr ""
 
-#: g10/card-util.c:2157
+#: g10/card-util.c:2158
 #, fuzzy
 msgid "change a CA fingerprint"
 msgstr "näytä sormenjälki"
 
-#: g10/card-util.c:2158
+#: g10/card-util.c:2159
 msgid "toggle the signature force PIN flag"
 msgstr ""
 
-#: g10/card-util.c:2159
+#: g10/card-util.c:2160
 #, fuzzy
 msgid "generate new keys"
 msgstr "luo uusi avainpari"
 
-#: g10/card-util.c:2160
+#: g10/card-util.c:2161
 msgid "menu to change or unblock the PIN"
 msgstr ""
 
-#: g10/card-util.c:2161
+#: g10/card-util.c:2162
 msgid "verify the PIN and list all data"
 msgstr ""
 
-#: g10/card-util.c:2162
+#: g10/card-util.c:2163
 msgid "unblock the PIN using a Reset Code"
 msgstr ""
 
-#: g10/card-util.c:2163
+#: g10/card-util.c:2164
 msgid "destroy all keys and data"
 msgstr ""
 
-#: g10/card-util.c:2164
+#: g10/card-util.c:2165
 #, fuzzy
 #| msgid "|NAME|use NAME as default recipient"
 msgid "setup KDF for PIN authentication"
 msgstr "|NIMI|käytä NIMI oletusvastaanottajana"
 
-#: g10/card-util.c:2165
+#: g10/card-util.c:2166
 #, fuzzy
 #| msgid "change the ownertrust"
 msgid "change the key attribute"
 msgstr "muuta luottamusastetta"
 
-#: g10/card-util.c:2289
+#: g10/card-util.c:2290
 msgid "gpg/card> "
 msgstr ""
 
-#: g10/card-util.c:2330
+#: g10/card-util.c:2331
 #, fuzzy
 msgid "Admin-only command\n"
 msgstr "ristiriitainen komento\n"
 
-#: g10/card-util.c:2361
+#: g10/card-util.c:2362
 #, fuzzy
 msgid "Admin commands are allowed\n"
 msgstr "ristiriitainen komento\n"
 
-#: g10/card-util.c:2363
+#: g10/card-util.c:2364
 #, fuzzy
 msgid "Admin commands are not allowed\n"
 msgstr "kirjoitan salaisen avaimen kohteeseen \"%s\"\n"
 
-#: g10/card-util.c:2466 g10/keyedit.c:2228
+#: g10/card-util.c:2467 g10/keyedit.c:2229
 msgid "Invalid command  (try \"help\")\n"
 msgstr "Komento ei kelpaa (kirjoita \"help\")\n"
 
@@ -2189,22 +2207,22 @@ msgstr "Komento ei kelpaa (kirjoita \"help\")\n"
 msgid "--output doesn't work for this command\n"
 msgstr "--output ei toimi yhdessä tämän komennon kanssa\n"
 
-#: g10/decrypt.c:247 g10/gpg.c:5083 g10/keyring.c:399 g10/keyring.c:750
+#: g10/decrypt.c:247 g10/gpg.c:5104 g10/keyring.c:399 g10/keyring.c:750
 #, fuzzy, c-format
 #| msgid "can't open `%s'\n"
 msgid "can't open '%s'\n"
 msgstr "tiedostoa \"%s\" ei voi avata\n"
 
 #: g10/delkey.c:83 g10/export.c:1947 g10/export.c:2230 g10/export.c:2351
-#: g10/getkey.c:1964 g10/gpg.c:5028 g10/keyedit.c:1444 g10/keyedit.c:2334
-#: g10/keyedit.c:2580 g10/keyedit.c:4543 g10/keylist.c:689 g10/keyserver.c:1259
+#: g10/getkey.c:2108 g10/gpg.c:5049 g10/keyedit.c:1445 g10/keyedit.c:2335
+#: g10/keyedit.c:2581 g10/keyedit.c:4544 g10/keylist.c:689 g10/keyserver.c:1092
 #: g10/revoke.c:230 g10/tofu.c:2165
 #, fuzzy, c-format
 msgid "key \"%s\" not found: %s\n"
 msgstr "avainta \"%s\" ei löydy: %s\n"
 
-#: g10/delkey.c:92 g10/export.c:2015 g10/getkey.c:1972 g10/getkey.c:4346
-#: g10/gpg.c:5037 g10/keyedit.c:2307 g10/keyserver.c:1277 g10/revoke.c:236
+#: g10/delkey.c:92 g10/export.c:2015 g10/getkey.c:2116 g10/getkey.c:4517
+#: g10/gpg.c:5058 g10/keyedit.c:2308 g10/keyserver.c:1110 g10/revoke.c:236
 #: g10/revoke.c:663 g10/tofu.c:2173
 #, c-format
 msgid "error reading keyblock: %s\n"
@@ -2266,9 +2284,9 @@ msgstr "key"
 msgid "subkey"
 msgstr "JulkAvain: "
 
-#: g10/delkey.c:299 g10/keyedit.c:2200 g10/keyedit.c:2210 g10/keyedit.c:2387
-#: g10/keyedit.c:2461 g10/keyedit.c:2532 g10/keyedit.c:2757 g10/keyedit.c:2987
-#: g10/keyedit.c:3056 g10/keyedit.c:3207
+#: g10/delkey.c:299 g10/keyedit.c:2201 g10/keyedit.c:2211 g10/keyedit.c:2388
+#: g10/keyedit.c:2462 g10/keyedit.c:2533 g10/keyedit.c:2758 g10/keyedit.c:2988
+#: g10/keyedit.c:3057 g10/keyedit.c:3208
 #, c-format
 msgid "update failed: %s\n"
 msgstr "päivitys epäonnistui: %s\n"
@@ -2293,7 +2311,7 @@ msgstr "julkiselle avaimelle \"%s\" löytyy vastaava salainen avain!\n"
 msgid "use option \"--delete-secret-keys\" to delete it first.\n"
 msgstr "käytä valitsinta \"--delete-secret-keys\" poistaaksesi se ensin.\n"
 
-#: g10/encrypt.c:202 g10/sign.c:1471
+#: g10/encrypt.c:202 g10/sign.c:1470
 #, c-format
 msgid "error creating passphrase: %s\n"
 msgstr "virhe luotaessa salasanaa: %s\n"
@@ -2320,14 +2338,14 @@ msgstr "\"%s\" on jo pakattu\n"
 msgid "WARNING: '%s' is an empty file\n"
 msgstr "VAROITUS: \"%s\" on tyhjä tiedosto\n"
 
-#: g10/encrypt.c:387 g10/encrypt.c:610 g10/decrypt-data.c:260 g10/gpg.c:3901
-#: g10/gpg.c:3941 sm/decrypt.c:364 sm/encrypt.c:415 sm/gpgsm.c:1655
+#: g10/encrypt.c:387 g10/encrypt.c:610 g10/decrypt-data.c:260 g10/gpg.c:3922
+#: g10/gpg.c:3962 sm/decrypt.c:826 sm/encrypt.c:416 sm/gpgsm.c:1555
 #, fuzzy, c-format
 msgid "cipher algorithm '%s' may not be used in %s mode\n"
 msgstr "salausalgoritmia \"%s\" ei voi käyttää %s-tilassa\n"
 
-#: g10/encrypt.c:396 g10/gpg.c:3907 g10/gpg.c:3953 g10/sig-check.c:146
-#: g10/sign.c:391 sm/gpgsm.c:1665 sm/gpgsm.c:1675 sm/sign.c:478 sm/verify.c:506
+#: g10/encrypt.c:396 g10/gpg.c:3928 g10/gpg.c:3974 g10/sig-check.c:146
+#: g10/sign.c:391 sm/gpgsm.c:1565 sm/gpgsm.c:1575 sm/sign.c:478 sm/verify.c:506
 #, fuzzy, c-format
 msgid "digest algorithm '%s' may not be used in %s mode\n"
 msgstr "tiivistealgoritmia \"%s\" ei voi käyttää %s-tilassa\n"
@@ -2344,12 +2362,12 @@ msgid ""
 "WARNING: forcing symmetric cipher %s (%d) violates recipient preferences\n"
 msgstr "valittu symmetrinen salain %s (%d) ei ole vastaanottajan suosima\n"
 
-#: g10/encrypt.c:640 sm/encrypt.c:490
+#: g10/encrypt.c:640 sm/encrypt.c:491
 #, fuzzy, c-format
 msgid "WARNING: key %s is not suitable for encryption in %s mode\n"
 msgstr "VAROITUS: \"%s\" on paheksuttu valitsin\n"
 
-#: g10/encrypt.c:751 g10/sign.c:1163
+#: g10/encrypt.c:751 g10/sign.c:1162
 #, fuzzy, c-format
 msgid ""
 "WARNING: forcing compression algorithm %s (%d) violates recipient "
@@ -2377,12 +2395,12 @@ msgstr "valitsinta %s ei voi käyttää %s-tilassa\n"
 msgid "%s encrypted data\n"
 msgstr "%s salattua dataa\n"
 
-#: g10/decrypt-data.c:243 g10/mainproc.c:396
+#: g10/decrypt-data.c:243 g10/mainproc.c:397
 #, c-format
 msgid "encrypted with unknown algorithm %d\n"
 msgstr "salattu tuntemattomalla algoritmilla %d\n"
 
-#: g10/decrypt-data.c:357 g10/decrypt-data.c:410 sm/decrypt.c:130
+#: g10/decrypt-data.c:357 g10/decrypt-data.c:410 sm/decrypt.c:550
 #, c-format
 msgid ""
 "WARNING: message was encrypted with a weak key in the symmetric cipher.\n"
@@ -2400,7 +2418,7 @@ msgstr "ongelma käsiteltäessä salattua pakettia\n"
 msgid "no remote program execution supported\n"
 msgstr "etäohjelman suorittamista ei tueta\n"
 
-#: g10/exec.c:381
+#: g10/exec.c:389
 #, c-format
 msgid ""
 "external program calls are disabled due to unsafe options file permissions\n"
@@ -2408,49 +2426,49 @@ msgstr ""
 "ulkoisen ohjelman kutsuminen poistettu käytöstä johtuen turvattomista \n"
 "asetustiedoston oikeuksista\n"
 
-#: g10/exec.c:411
+#: g10/exec.c:419
 #, fuzzy, c-format
 msgid "this platform requires temporary files when calling external programs\n"
 msgstr ""
 "tämä ympäristö vaatii väliaikaistiedoston kutsuttaessa ulkoisia ohjelmia\n"
 
-#: g10/exec.c:489
+#: g10/exec.c:497
 #, fuzzy, c-format
 msgid "unable to execute program '%s': %s\n"
 msgstr "komentoa %s \"%s\" ei voi suorittaa: %s\n"
 
-#: g10/exec.c:492
+#: g10/exec.c:500
 #, fuzzy, c-format
 msgid "unable to execute shell '%s': %s\n"
 msgstr "komentoa %s \"%s\" ei voi suorittaa: %s\n"
 
-#: g10/exec.c:583
+#: g10/exec.c:591
 #, c-format
 msgid "system error while calling external program: %s\n"
 msgstr "järjestelmävirhe kutsuttaessa ulkoista ohjelmaa: %s\n"
 
-#: g10/exec.c:594 g10/exec.c:661
+#: g10/exec.c:602 g10/exec.c:669
 #, c-format
 msgid "unnatural exit of external program\n"
 msgstr "ulkoisen ohjelman luonnoton päättyminen\n"
 
-#: g10/exec.c:609
+#: g10/exec.c:617
 #, c-format
 msgid "unable to execute external program\n"
 msgstr "ulkoista ohjelmaa ei voi suorittaa\n"
 
-#: g10/exec.c:626
+#: g10/exec.c:634
 #, c-format
 msgid "unable to read external program response: %s\n"
 msgstr "ulkoisen ohjelman vastausta ei voi lukea: %s\n"
 
-#: g10/exec.c:672 g10/exec.c:679
+#: g10/exec.c:680 g10/exec.c:687
 #, fuzzy, c-format
 #| msgid "WARNING: unable to remove tempfile (%s) `%s': %s\n"
 msgid "WARNING: unable to remove tempfile (%s) '%s': %s\n"
 msgstr "VAROITUS: tilapäistiedostoa (%s) \"%s\" ei voi poistaa: %s\n"
 
-#: g10/exec.c:684
+#: g10/exec.c:692
 #, fuzzy, c-format
 #| msgid "WARNING: unable to remove temp directory `%s': %s\n"
 msgid "WARNING: unable to remove temp directory '%s': %s\n"
@@ -2491,8 +2509,8 @@ msgstr ""
 msgid " - skipped"
 msgstr "%s: ohitettu: %s\n"
 
-#: g10/export.c:1324 g10/import.c:2073 g10/openfile.c:200 g10/openfile.c:294
-#: g10/sign.c:1013 g10/sign.c:1327
+#: g10/export.c:1324 g10/import.c:2085 g10/openfile.c:200 g10/openfile.c:294
+#: g10/sign.c:1012 g10/sign.c:1326
 #, fuzzy, c-format
 #| msgid "writing to `%s'\n"
 msgid "writing to '%s'\n"
@@ -2530,294 +2548,294 @@ msgstr "virhe luotaessa \"%s\": %s\n"
 msgid "[User ID not found]"
 msgstr "[Käyttäjätunnusta ei löytynyt]"
 
-#: g10/getkey.c:1297
+#: g10/getkey.c:1441
 #, fuzzy, c-format
 msgid "automatically retrieved '%s' via %s\n"
 msgstr "virhe luotaessa \"%s\": %s\n"
 
-#: g10/getkey.c:1303
+#: g10/getkey.c:1447
 #, fuzzy, c-format
 msgid "error retrieving '%s' via %s: %s\n"
 msgstr "virhe luotaessa \"%s\": %s\n"
 
-#: g10/getkey.c:1305
+#: g10/getkey.c:1449
 #, fuzzy
 msgid "No fingerprint"
 msgstr "näytä sormenjälki"
 
-#: g10/getkey.c:1526
+#: g10/getkey.c:1670
 #, c-format
 msgid "checking for a fresh copy of an expired key via %s\n"
 msgstr ""
 
-#: g10/getkey.c:1941 g10/revoke.c:655 g10/revoke.c:720
+#: g10/getkey.c:2085 g10/revoke.c:655 g10/revoke.c:720
 #, fuzzy, c-format
 msgid "secret key \"%s\" not found: %s\n"
 msgstr "salaista avainta \"%s\" ei löydy: %s\n"
 
-#: g10/getkey.c:1944 g10/pkclist.c:988
+#: g10/getkey.c:2088 g10/pkclist.c:988
 #, fuzzy, c-format
 msgid "(check argument of option '%s')\n"
 msgstr "virheelliset tuontivalitsimet\n"
 
-#: g10/getkey.c:2020
+#: g10/getkey.c:2164
 #, fuzzy, c-format
 #| msgid "|NAME|use NAME as default secret key"
 msgid "Warning: not using '%s' as default key: %s\n"
 msgstr "|NIMI|käytä oletusarvoisesti salaista avainta NIMI"
 
-#: g10/getkey.c:2028
+#: g10/getkey.c:2172
 #, fuzzy, c-format
 #| msgid "|NAME|use NAME as default secret key"
 msgid "using \"%s\" as default secret key for signing\n"
 msgstr "|NIMI|käytä oletusarvoisesti salaista avainta NIMI"
 
-#: g10/getkey.c:2035
+#: g10/getkey.c:2179
 #, c-format
 msgid "all values passed to '%s' ignored\n"
 msgstr ""
 
-#: g10/getkey.c:2880
+#: g10/getkey.c:3024
 #, fuzzy, c-format
 msgid "Invalid key %s made valid by --allow-non-selfsigned-uid\n"
 msgstr ""
 "Epäkelpo avain %08lX hyväksytty valitsimella --allow-non-selfsigned-uid\n"
 
-#: g10/getkey.c:3730
+#: g10/getkey.c:3874
 #, fuzzy, c-format
 msgid "using subkey %s instead of primary key %s\n"
 msgstr ""
 "käytetään toissijaista avainta %08lX ensisijaisen avaimen %08lX sijasta\n"
 
-#: g10/getkey.c:4275 g10/gpg.c:2107
+#: g10/getkey.c:4446 g10/gpg.c:2120
 #, fuzzy, c-format
 msgid "valid values for option '%s':\n"
 msgstr "virheelliset tuontivalitsimet\n"
 
-#: g10/gpg.c:442 sm/gpgsm.c:206
+#: g10/gpg.c:439 sm/gpgsm.c:207
 #, fuzzy
 msgid "make a signature"
 msgstr "tee erillinen allekirjoitus"
 
-#: g10/gpg.c:443
+#: g10/gpg.c:440
 #, fuzzy
 msgid "make a clear text signature"
 msgstr "|[tiedosto]|tee selkokielinen allekirjoitus"
 
-#: g10/gpg.c:445 sm/gpgsm.c:208
+#: g10/gpg.c:442 sm/gpgsm.c:209
 msgid "make a detached signature"
 msgstr "tee erillinen allekirjoitus"
 
-#: g10/gpg.c:446 sm/gpgsm.c:209
+#: g10/gpg.c:443 sm/gpgsm.c:210
 msgid "encrypt data"
 msgstr "salaa tiedot"
 
-#: g10/gpg.c:448
+#: g10/gpg.c:445
 msgid "encryption only with symmetric cipher"
 msgstr "salaa vain symmetrisellä salaimella"
 
-#: g10/gpg.c:450 sm/gpgsm.c:211
+#: g10/gpg.c:447 sm/gpgsm.c:212
 msgid "decrypt data (default)"
 msgstr "avaa tiedot (oletus)"
 
-#: g10/gpg.c:452 sm/gpgsm.c:212
+#: g10/gpg.c:449 sm/gpgsm.c:213
 msgid "verify a signature"
 msgstr "tarkista allekirjoitus"
 
-#: g10/gpg.c:454 sm/gpgsm.c:213
+#: g10/gpg.c:451 sm/gpgsm.c:214
 msgid "list keys"
 msgstr "näytä avaimet"
 
-#: g10/gpg.c:456
+#: g10/gpg.c:453
 msgid "list keys and signatures"
 msgstr "näytä avaimet allekirjoituksineen"
 
-#: g10/gpg.c:459
+#: g10/gpg.c:456
 #, fuzzy
 msgid "list and check key signatures"
 msgstr "tarkista avainten allekirjoitukset"
 
-#: g10/gpg.c:461 sm/gpgsm.c:218
+#: g10/gpg.c:458 sm/gpgsm.c:219
 msgid "list keys and fingerprints"
 msgstr "näytä avaimet sormenjälkineen"
 
-#: g10/gpg.c:462 sm/gpgsm.c:216
+#: g10/gpg.c:459 sm/gpgsm.c:217
 msgid "list secret keys"
 msgstr "näytä salaiset avaimet"
 
-#: g10/gpg.c:464 sm/gpgsm.c:219
+#: g10/gpg.c:461 sm/gpgsm.c:220
 msgid "generate a new key pair"
 msgstr "luo uusi avainpari"
 
-#: g10/gpg.c:467
+#: g10/gpg.c:464
 #, fuzzy
 #| msgid "generate a new key pair"
 msgid "quickly generate a new key pair"
 msgstr "luo uusi avainpari"
 
-#: g10/gpg.c:470
+#: g10/gpg.c:467
 #, fuzzy
 #| msgid "generate a new key pair"
 msgid "quickly add a new user-id"
 msgstr "luo uusi avainpari"
 
-#: g10/gpg.c:475
+#: g10/gpg.c:472
 #, fuzzy
 #| msgid "generate a new key pair"
 msgid "quickly revoke a user-id"
 msgstr "luo uusi avainpari"
 
-#: g10/gpg.c:478
+#: g10/gpg.c:475
 #, fuzzy
 #| msgid "generate a new key pair"
 msgid "quickly set a new expiration date"
 msgstr "luo uusi avainpari"
 
-#: g10/gpg.c:481
+#: g10/gpg.c:478
 msgid "full featured key pair generation"
 msgstr ""
 
-#: g10/gpg.c:484
+#: g10/gpg.c:481
 msgid "generate a revocation certificate"
 msgstr "luo mitätöintivarmenne"
 
-#: g10/gpg.c:487 sm/gpgsm.c:222
+#: g10/gpg.c:484 sm/gpgsm.c:223
 msgid "remove keys from the public keyring"
 msgstr "poista avaimet julkisten avainten renkaasta"
 
-#: g10/gpg.c:489
+#: g10/gpg.c:486
 msgid "remove keys from the secret keyring"
 msgstr "poista avaimet salaisten avainten renkaasta"
 
-#: g10/gpg.c:491
+#: g10/gpg.c:488
 #, fuzzy
 #| msgid "sign a key"
 msgid "quickly sign a key"
 msgstr "allekirjoita avain"
 
-#: g10/gpg.c:493
+#: g10/gpg.c:490
 #, fuzzy
 #| msgid "sign a key locally"
 msgid "quickly sign a key locally"
 msgstr "allekirjoita avain paikallisesti"
 
-#: g10/gpg.c:495
+#: g10/gpg.c:492
 #, fuzzy
 #| msgid "generate a new key pair"
 msgid "quickly revoke a key signature"
 msgstr "luo uusi avainpari"
 
-#: g10/gpg.c:496
+#: g10/gpg.c:493
 msgid "sign a key"
 msgstr "allekirjoita avain"
 
-#: g10/gpg.c:497
+#: g10/gpg.c:494
 msgid "sign a key locally"
 msgstr "allekirjoita avain paikallisesti"
 
-#: g10/gpg.c:498
+#: g10/gpg.c:495
 msgid "sign or edit a key"
 msgstr "allekirjoita tai muokkaa avainta"
 
-#: g10/gpg.c:500 sm/gpgsm.c:240
+#: g10/gpg.c:497 sm/gpgsm.c:241
 #, fuzzy
 msgid "change a passphrase"
 msgstr "muuta salasanaa"
 
-#: g10/gpg.c:504
+#: g10/gpg.c:501
 msgid "export keys"
 msgstr "vie avaimia"
 
-#: g10/gpg.c:505
+#: g10/gpg.c:502
 msgid "export keys to a keyserver"
 msgstr "vie avaimia palvelimelle"
 
-#: g10/gpg.c:506
+#: g10/gpg.c:503
 msgid "import keys from a keyserver"
 msgstr "nouda avaimia avainpalvelimelta"
 
-#: g10/gpg.c:509
+#: g10/gpg.c:506
 msgid "search for keys on a keyserver"
 msgstr "etsi avaimia avainpalvelimelta"
 
-#: g10/gpg.c:511
+#: g10/gpg.c:508
 msgid "update all keys from a keyserver"
 msgstr "päivitä kaikki avaimet avainpalvelimelta"
 
-#: g10/gpg.c:519
+#: g10/gpg.c:516
 msgid "import/merge keys"
 msgstr "nouda/liitä avaimia"
 
-#: g10/gpg.c:522
+#: g10/gpg.c:519
 msgid "print the card status"
 msgstr ""
 
-#: g10/gpg.c:523
+#: g10/gpg.c:520
 msgid "change data on a card"
 msgstr ""
 
-#: g10/gpg.c:525
+#: g10/gpg.c:522
 msgid "change a card's PIN"
 msgstr ""
 
-#: g10/gpg.c:537
+#: g10/gpg.c:534
 msgid "update the trust database"
 msgstr "päivitä luottamustietokanta"
 
-#: g10/gpg.c:546
+#: g10/gpg.c:543
 #, fuzzy
 msgid "print message digests"
 msgstr "|algo [tiedostot]|tulosta viestien tiivisteet"
 
-#: g10/gpg.c:549 sm/gpgsm.c:235
+#: g10/gpg.c:546 sm/gpgsm.c:236
 msgid "run in server mode"
 msgstr ""
 
-#: g10/gpg.c:551
+#: g10/gpg.c:548
 msgid "|VALUE|set the TOFU policy for a key"
 msgstr ""
 
-#: g10/gpg.c:555 sm/gpgsm.c:254
+#: g10/gpg.c:552 sm/gpgsm.c:255
 msgid "create ascii armored output"
 msgstr "tuota ascii-koodattu tuloste"
 
-#: g10/gpg.c:558 sm/gpgsm.c:271
+#: g10/gpg.c:555 sm/gpgsm.c:272
 #, fuzzy
 msgid "|USER-ID|encrypt for USER-ID"
 msgstr "|NIMI|salaa vastaanottajalle NIMI"
 
-#: g10/gpg.c:574 sm/gpgsm.c:307
+#: g10/gpg.c:571 sm/gpgsm.c:308
 #, fuzzy
 msgid "|USER-ID|use USER-ID to sign or decrypt"
 msgstr "käytä tätä käyttäjätunnusta allekirjoittamiseen ja avaamiseen"
 
-#: g10/gpg.c:580
+#: g10/gpg.c:577
 #, fuzzy
 msgid "|N|set compress level to N (0 disables)"
 msgstr "|N|aseta pakkausaste N (0 poistaa käytöstä)"
 
-#: g10/gpg.c:587
+#: g10/gpg.c:584
 msgid "use canonical text mode"
 msgstr "käytä tekstimuotoa"
 
-#: g10/gpg.c:604 g10/gpgv.c:82 sm/gpgsm.c:309
+#: g10/gpg.c:601 g10/gpgv.c:82 sm/gpgsm.c:310
 #, fuzzy
 msgid "|FILE|write output to FILE"
 msgstr "|TIEDOSTO|lataa laajennusmoduuli TIEDOSTO"
 
-#: g10/gpg.c:614 kbx/kbxutil.c:90 sm/gpgsm.c:321 tools/gpgconf.c:110
+#: g10/gpg.c:611 kbx/kbxutil.c:90 sm/gpgsm.c:322 tools/gpgconf.c:110
 msgid "do not make any changes"
 msgstr "älä tee muutoksia"
 
-#: g10/gpg.c:615
+#: g10/gpg.c:612
 msgid "prompt before overwriting"
 msgstr "kysy ennen ylikirjoittamista"
 
-#: g10/gpg.c:665
+#: g10/gpg.c:662
 msgid "use strict OpenPGP behavior"
 msgstr ""
 
-#: g10/gpg.c:692 sm/gpgsm.c:364
+#: g10/gpg.c:689 sm/gpgsm.c:367
 msgid ""
 "@\n"
 "(See the man page for a complete listing of all commands and options)\n"
@@ -2826,7 +2844,7 @@ msgstr ""
 "(Katso täydellinen luettelo kaikista komennoista ja valitsimista man-"
 "sivuilta)\n"
 
-#: g10/gpg.c:695
+#: g10/gpg.c:692
 #, fuzzy
 #| msgid ""
 #| "@\n"
@@ -2855,13 +2873,13 @@ msgstr ""
 " --list-keys [nimet]        näytä avaimet\n"
 " --fingerprint [nimet]      näytä sormenjäljet\n"
 
-#: g10/gpg.c:1092
+#: g10/gpg.c:1096
 #, fuzzy
 #| msgid "Usage: gpg [options] [files] (-h for help)"
 msgid "Usage: @GPG@ [options] [files] (-h for help)"
 msgstr "Käyttö: gpg [valitsimet] [tiedostot] (-h näyttää ohjeen)"
 
-#: g10/gpg.c:1095
+#: g10/gpg.c:1099
 #, fuzzy
 #| msgid ""
 #| "Syntax: gpg [options] [files]\n"
@@ -2876,7 +2894,7 @@ msgstr ""
 "allekirjoita, tarkista, salaa tai avaa\n"
 "oletustoiminto riippuu syötteestä\n"
 
-#: g10/gpg.c:1106 sm/gpgsm.c:591
+#: g10/gpg.c:1110 sm/gpgsm.c:594
 msgid ""
 "\n"
 "Supported algorithms:\n"
@@ -2884,547 +2902,547 @@ msgstr ""
 "\n"
 "Tuetut algoritmit:\n"
 
-#: g10/gpg.c:1109
+#: g10/gpg.c:1113
 msgid "Pubkey: "
 msgstr "JulkAvain: "
 
-#: g10/gpg.c:1116 g10/keyedit.c:3281
+#: g10/gpg.c:1120 g10/keyedit.c:3282
 msgid "Cipher: "
 msgstr "Salaus: "
 
-#: g10/gpg.c:1123
+#: g10/gpg.c:1127
 msgid "Hash: "
 msgstr "Tiiviste: "
 
-#: g10/gpg.c:1130 g10/keyedit.c:3347
+#: g10/gpg.c:1134 g10/keyedit.c:3348
 msgid "Compression: "
 msgstr "Pakkaus: "
 
-#: g10/gpg.c:1199 sm/gpgsm.c:665
+#: g10/gpg.c:1207 sm/gpgsm.c:668
 #, fuzzy, c-format
 msgid "usage: %s [options] %s\n"
 msgstr "käyttö: gpg [valitsimet] "
 
-#: g10/gpg.c:1388 sm/gpgsm.c:754
+#: g10/gpg.c:1396 sm/gpgsm.c:761
 #, c-format
 msgid "conflicting commands\n"
 msgstr "ristiriitainen komento\n"
 
-#: g10/gpg.c:1406
+#: g10/gpg.c:1414
 #, fuzzy, c-format
 msgid "no = sign found in group definition '%s'\n"
 msgstr "=-merkkiä ei löytynyt ryhmämäärityksessä \"%s\"\n"
 
-#: g10/gpg.c:1604
+#: g10/gpg.c:1612
 #, fuzzy, c-format
 msgid "WARNING: unsafe ownership on homedir '%s'\n"
 msgstr "VAROITUS: omistussuhde kohteessa %s \"%s\" ei ole turvallinen\"\n"
 
-#: g10/gpg.c:1607
+#: g10/gpg.c:1615
 #, fuzzy, c-format
 msgid "WARNING: unsafe ownership on configuration file '%s'\n"
 msgstr "VAROITUS: omistussuhde kohteessa %s \"%s\" ei ole turvallinen\"\n"
 
-#: g10/gpg.c:1610
+#: g10/gpg.c:1618
 #, fuzzy, c-format
 msgid "WARNING: unsafe ownership on extension '%s'\n"
 msgstr "VAROITUS: omistussuhde kohteessa %s \"%s\" ei ole turvallinen\"\n"
 
-#: g10/gpg.c:1616
+#: g10/gpg.c:1624
 #, fuzzy, c-format
 msgid "WARNING: unsafe permissions on homedir '%s'\n"
 msgstr "VAROITUS: oikeudet kohteessa %s \"%s\" eivät ole turvallisia\"\n"
 
-#: g10/gpg.c:1619
+#: g10/gpg.c:1627
 #, fuzzy, c-format
 msgid "WARNING: unsafe permissions on configuration file '%s'\n"
 msgstr "VAROITUS: oikeudet kohteessa %s \"%s\" eivät ole turvallisia\"\n"
 
-#: g10/gpg.c:1622
+#: g10/gpg.c:1630
 #, fuzzy, c-format
 msgid "WARNING: unsafe permissions on extension '%s'\n"
 msgstr "VAROITUS: oikeudet kohteessa %s \"%s\" eivät ole turvallisia\"\n"
 
-#: g10/gpg.c:1628
+#: g10/gpg.c:1636
 #, fuzzy, c-format
 msgid "WARNING: unsafe enclosing directory ownership on homedir '%s'\n"
 msgstr "VAROITUS: %s \"%s\" hakemiston oikeudet eivät ole turvallisia\"\n"
 
-#: g10/gpg.c:1631
+#: g10/gpg.c:1639
 #, fuzzy, c-format
 msgid ""
 "WARNING: unsafe enclosing directory ownership on configuration file '%s'\n"
 msgstr "VAROITUS: %s \"%s\" hakemiston oikeudet eivät ole turvallisia\"\n"
 
-#: g10/gpg.c:1634
+#: g10/gpg.c:1642
 #, fuzzy, c-format
 msgid "WARNING: unsafe enclosing directory ownership on extension '%s'\n"
 msgstr "VAROITUS: %s \"%s\" hakemiston oikeudet eivät ole turvallisia\"\n"
 
-#: g10/gpg.c:1640
+#: g10/gpg.c:1648
 #, fuzzy, c-format
 msgid "WARNING: unsafe enclosing directory permissions on homedir '%s'\n"
 msgstr "VAROITUS: Hakemiston %s \"%s\" oikeudet eivät ole turvallisia\"\n"
 
-#: g10/gpg.c:1643
+#: g10/gpg.c:1651
 #, fuzzy, c-format
 msgid ""
 "WARNING: unsafe enclosing directory permissions on configuration file '%s'\n"
 msgstr "VAROITUS: Hakemiston %s \"%s\" oikeudet eivät ole turvallisia\"\n"
 
-#: g10/gpg.c:1646
+#: g10/gpg.c:1654
 #, fuzzy, c-format
 msgid "WARNING: unsafe enclosing directory permissions on extension '%s'\n"
 msgstr "VAROITUS: Hakemiston %s \"%s\" oikeudet eivät ole turvallisia\"\n"
 
-#: g10/gpg.c:1862
+#: g10/gpg.c:1870
 #, fuzzy, c-format
 msgid "unknown configuration item '%s'\n"
 msgstr "tuntematon asetus \"%s\"\n"
 
-#: g10/gpg.c:1979
+#: g10/gpg.c:1992
 msgid "display photo IDs during key listings"
 msgstr ""
 
-#: g10/gpg.c:1981
+#: g10/gpg.c:1994
 #, fuzzy
 msgid "show key usage information during key listings"
 msgstr "Salaisesta avainrenkaasta ei löydy vastaavaa allekirjoitusta\n"
 
-#: g10/gpg.c:1983
+#: g10/gpg.c:1996
 msgid "show policy URLs during signature listings"
 msgstr ""
 
-#: g10/gpg.c:1985
+#: g10/gpg.c:1998
 #, fuzzy
 msgid "show all notations during signature listings"
 msgstr "Salaisesta avainrenkaasta ei löydy vastaavaa allekirjoitusta\n"
 
-#: g10/gpg.c:1987
+#: g10/gpg.c:2000
 msgid "show IETF standard notations during signature listings"
 msgstr ""
 
-#: g10/gpg.c:1991
+#: g10/gpg.c:2004
 msgid "show user-supplied notations during signature listings"
 msgstr ""
 
-#: g10/gpg.c:1993
+#: g10/gpg.c:2006
 #, fuzzy
 msgid "show preferred keyserver URLs during signature listings"
 msgstr "annettu allekirjoituskäytännön URL on virheellinen\n"
 
-#: g10/gpg.c:1995
+#: g10/gpg.c:2008
 msgid "show user ID validity during key listings"
 msgstr ""
 
-#: g10/gpg.c:1997
+#: g10/gpg.c:2010
 msgid "show revoked and expired user IDs in key listings"
 msgstr ""
 
-#: g10/gpg.c:1999
+#: g10/gpg.c:2012
 msgid "show revoked and expired subkeys in key listings"
 msgstr ""
 
-#: g10/gpg.c:2001
+#: g10/gpg.c:2014
 #, fuzzy
 msgid "show the keyring name in key listings"
 msgstr "näytä mihin avainrenkaaseen tulostettu avain kuuluu"
 
-#: g10/gpg.c:2003
+#: g10/gpg.c:2016
 #, fuzzy
 msgid "show expiration dates during signature listings"
 msgstr "Salaisesta avainrenkaasta ei löydy vastaavaa allekirjoitusta\n"
 
-#: g10/gpg.c:2118
+#: g10/gpg.c:2131
 #, fuzzy, c-format
 msgid "unknown TOFU policy '%s'\n"
 msgstr "tuntematon oletusvastaanottaja \"%s\"\n"
 
-#: g10/gpg.c:2120
+#: g10/gpg.c:2133
 #, c-format
 msgid "(use \"help\" to list choices)\n"
 msgstr ""
 
-#: g10/gpg.c:2840 g10/gpg.c:3671 g10/gpg.c:3683
+#: g10/gpg.c:2856 g10/gpg.c:3691 g10/gpg.c:3703
 #, fuzzy, c-format
 #| msgid "NOTE: %s is not for normal use!\n"
 msgid "Note: %s is not for normal use!\n"
 msgstr "HUOM: %s ei ole normaaliin käyttöön!\n"
 
-#: g10/gpg.c:3017 g10/gpg.c:3029
+#: g10/gpg.c:3033 g10/gpg.c:3045
 #, fuzzy, c-format
 msgid "'%s' is not a valid signature expiration\n"
 msgstr "%s ei kelpaa merkistöksi\n"
 
-#: g10/gpg.c:3051
+#: g10/gpg.c:3067
 #, fuzzy, c-format
 msgid "\"%s\" is not a proper mail address\n"
 msgstr "Sähköpostiosoite ei kelpaa\n"
 
-#: g10/gpg.c:3083 sm/gpgsm.c:1177
+#: g10/gpg.c:3099 sm/gpgsm.c:1091
 #, fuzzy, c-format
 msgid "invalid pinentry mode '%s'\n"
 msgstr "virheellinen tiivistealgoritmi \"%s\"\n"
 
-#: g10/gpg.c:3089 sm/gpgsm.c:1183
+#: g10/gpg.c:3105 sm/gpgsm.c:1097
 #, fuzzy, c-format
 msgid "invalid request origin '%s'\n"
 msgstr "virheelliset tuontivalitsimet\n"
 
-#: g10/gpg.c:3143
+#: g10/gpg.c:3159
 #, fuzzy, c-format
 msgid "'%s' is not a valid character set\n"
 msgstr "%s ei kelpaa merkistöksi\n"
 
-#: g10/gpg.c:3165 g10/gpg.c:3375 g10/keyedit.c:5281
+#: g10/gpg.c:3181 g10/gpg.c:3395 g10/keyedit.c:5282
 #, fuzzy, c-format
 msgid "could not parse keyserver URL\n"
 msgstr "avainpalvelimen URI:iä ei voi jäsentää\n"
 
-#: g10/gpg.c:3183
+#: g10/gpg.c:3199
 #, fuzzy, c-format
 msgid "%s:%d: invalid keyserver options\n"
 msgstr "%s:%d: virheelliset vientivalitsimet\n"
 
-#: g10/gpg.c:3186
+#: g10/gpg.c:3202
 #, fuzzy, c-format
 msgid "invalid keyserver options\n"
 msgstr "virheelliset vientivalitsimet\n"
 
-#: g10/gpg.c:3193
+#: g10/gpg.c:3209
 #, c-format
 msgid "%s:%d: invalid import options\n"
 msgstr "%s:%d: virheelliset tuontivalitsimet\n"
 
-#: g10/gpg.c:3196
+#: g10/gpg.c:3212
 #, c-format
 msgid "invalid import options\n"
 msgstr "virheelliset tuontivalitsimet\n"
 
-#: g10/gpg.c:3202 g10/gpg.c:3217
+#: g10/gpg.c:3218 g10/gpg.c:3233
 #, fuzzy, c-format
 msgid "invalid filter option: %s\n"
 msgstr "virheelliset tuontivalitsimet\n"
 
-#: g10/gpg.c:3208
+#: g10/gpg.c:3224
 #, c-format
 msgid "%s:%d: invalid export options\n"
 msgstr "%s:%d: virheelliset vientivalitsimet\n"
 
-#: g10/gpg.c:3211
+#: g10/gpg.c:3227
 #, c-format
 msgid "invalid export options\n"
 msgstr "virheelliset vientivalitsimet\n"
 
-#: g10/gpg.c:3223
+#: g10/gpg.c:3239
 #, fuzzy, c-format
 msgid "%s:%d: invalid list options\n"
 msgstr "%s:%d: virheelliset tuontivalitsimet\n"
 
-#: g10/gpg.c:3226
+#: g10/gpg.c:3242
 #, fuzzy, c-format
 msgid "invalid list options\n"
 msgstr "virheelliset tuontivalitsimet\n"
 
-#: g10/gpg.c:3234
+#: g10/gpg.c:3250
 msgid "display photo IDs during signature verification"
 msgstr ""
 
-#: g10/gpg.c:3236
+#: g10/gpg.c:3252
 msgid "show policy URLs during signature verification"
 msgstr ""
 
-#: g10/gpg.c:3238
+#: g10/gpg.c:3254
 #, fuzzy
 msgid "show all notations during signature verification"
 msgstr "%s ei kelpaa merkistöksi\n"
 
-#: g10/gpg.c:3240
+#: g10/gpg.c:3256
 msgid "show IETF standard notations during signature verification"
 msgstr ""
 
-#: g10/gpg.c:3244
+#: g10/gpg.c:3260
 msgid "show user-supplied notations during signature verification"
 msgstr ""
 
-#: g10/gpg.c:3246
+#: g10/gpg.c:3262
 #, fuzzy
 msgid "show preferred keyserver URLs during signature verification"
 msgstr "annettu allekirjoituskäytännön URL on virheellinen\n"
 
-#: g10/gpg.c:3248
+#: g10/gpg.c:3264
 #, fuzzy
 msgid "show user ID validity during signature verification"
 msgstr "%s ei kelpaa merkistöksi\n"
 
-#: g10/gpg.c:3250
+#: g10/gpg.c:3266
 msgid "show revoked and expired user IDs in signature verification"
 msgstr ""
 
-#: g10/gpg.c:3252
+#: g10/gpg.c:3268
 #, fuzzy
 msgid "show only the primary user ID in signature verification"
 msgstr "%s ei kelpaa merkistöksi\n"
 
-#: g10/gpg.c:3254
+#: g10/gpg.c:3270
 msgid "validate signatures with PKA data"
 msgstr ""
 
-#: g10/gpg.c:3256
+#: g10/gpg.c:3272
 msgid "elevate the trust of signatures with valid PKA data"
 msgstr ""
 
-#: g10/gpg.c:3263
+#: g10/gpg.c:3279
 #, fuzzy, c-format
 msgid "%s:%d: invalid verify options\n"
 msgstr "%s:%d: virheelliset vientivalitsimet\n"
 
-#: g10/gpg.c:3266
+#: g10/gpg.c:3282
 #, fuzzy, c-format
 msgid "invalid verify options\n"
 msgstr "virheelliset vientivalitsimet\n"
 
-#: g10/gpg.c:3273
+#: g10/gpg.c:3289
 #, c-format
 msgid "unable to set exec-path to %s\n"
 msgstr "exec-polkua kohteeseen %s ei voi asettaa\n"
 
-#: g10/gpg.c:3478
+#: g10/gpg.c:3498
 #, fuzzy, c-format
 msgid "%s:%d: invalid auto-key-locate list\n"
 msgstr "%s:%d: virheelliset vientivalitsimet\n"
 
-#: g10/gpg.c:3481
+#: g10/gpg.c:3501
 #, c-format
 msgid "invalid auto-key-locate list\n"
 msgstr ""
 
-#: g10/gpg.c:3653 sm/gpgsm.c:1541
+#: g10/gpg.c:3673 sm/gpgsm.c:1441
 #, c-format
 msgid "WARNING: program may create a core file!\n"
 msgstr "VAROITUS: ohjelma voi luoda core-tiedoston!\n"
 
-#: g10/gpg.c:3664
+#: g10/gpg.c:3684
 #, c-format
 msgid "WARNING: %s overrides %s\n"
 msgstr "VAROITUS: %s korvaa %s:n\n"
 
-#: g10/gpg.c:3673
+#: g10/gpg.c:3693
 #, c-format
 msgid "%s not allowed with %s!\n"
 msgstr "%s ja %s eivät ole sallittuja yhdessä!\n"
 
-#: g10/gpg.c:3676
+#: g10/gpg.c:3696
 #, c-format
 msgid "%s makes no sense with %s!\n"
 msgstr "%s ja %s yhdessä on järjetöntä!\n"
 
-#: g10/gpg.c:3691 sm/gpgsm.c:1558 dirmngr/dirmngr.c:1082
+#: g10/gpg.c:3711 sm/gpgsm.c:1458 dirmngr/dirmngr.c:1117
 #, c-format
 msgid "WARNING: running with faked system time: "
 msgstr ""
 
-#: g10/gpg.c:3712
+#: g10/gpg.c:3732
 #, fuzzy, c-format
 msgid "will not run with insecure memory due to %s\n"
 msgstr "kirjoitan salaisen avaimen kohteeseen \"%s\"\n"
 
-#: g10/gpg.c:3747 g10/gpg.c:3771 sm/gpgsm.c:1625
+#: g10/gpg.c:3767 g10/gpg.c:3791 sm/gpgsm.c:1525
 #, c-format
 msgid "selected cipher algorithm is invalid\n"
 msgstr "valittu salausalgoritmi ei kelpaa\n"
 
-#: g10/gpg.c:3759
+#: g10/gpg.c:3779
 #, fuzzy, c-format
 msgid "selected compression algorithm is invalid\n"
 msgstr "valittu salausalgoritmi ei kelpaa\n"
 
-#: g10/gpg.c:3765
+#: g10/gpg.c:3785
 #, c-format
 msgid "selected certification digest algorithm is invalid\n"
 msgstr "valittu varmenteen tiivistealgoritmi ei kelpaa\n"
 
-#: g10/gpg.c:3780
+#: g10/gpg.c:3800
 #, c-format
 msgid "completes-needed must be greater than 0\n"
 msgstr "completes-needed täytyy olla suurempi kuin 0\n"
 
-#: g10/gpg.c:3782
+#: g10/gpg.c:3802
 #, c-format
 msgid "marginals-needed must be greater than 1\n"
 msgstr "marginals-needed täytyy olla suurempi kuin 1\n"
 
-#: g10/gpg.c:3784
+#: g10/gpg.c:3804
 #, fuzzy, c-format
 msgid "max-cert-depth must be in the range from 1 to 255\n"
 msgstr "max-cert-depth tulee olla välillä 1-255\n"
 
-#: g10/gpg.c:3786
+#: g10/gpg.c:3806
 #, c-format
 msgid "invalid default-cert-level; must be 0, 1, 2, or 3\n"
 msgstr "default-cert-level ei kelpaa; täytyy olla 0, 1, 2 tai 3\n"
 
-#: g10/gpg.c:3788
+#: g10/gpg.c:3808
 #, c-format
 msgid "invalid min-cert-level; must be 1, 2, or 3\n"
 msgstr "min-cert-level ei kelpaa; täytyy olla 1, 2 tai 3\n"
 
-#: g10/gpg.c:3791
+#: g10/gpg.c:3812
 #, fuzzy, c-format
 #| msgid "NOTE: simple S2K mode (0) is strongly discouraged\n"
 msgid "Note: simple S2K mode (0) is strongly discouraged\n"
 msgstr ""
 "HUOM: yksinkertaista S2K-tilaa (0) ei todellakaan suositella käytettäväksi\n"
 
-#: g10/gpg.c:3795
+#: g10/gpg.c:3816
 #, c-format
 msgid "invalid S2K mode; must be 0, 1 or 3\n"
 msgstr "virheellinen S2K-tila; täytyy olla 0, 1 tai 3\n"
 
-#: g10/gpg.c:3802
+#: g10/gpg.c:3823
 #, c-format
 msgid "invalid default preferences\n"
 msgstr "virheelliset oletusarvoiset valinnat\n"
 
-#: g10/gpg.c:3806
+#: g10/gpg.c:3827
 #, c-format
 msgid "invalid personal cipher preferences\n"
 msgstr "virheelliset henkilökohtaisen salaimen valinnat\n"
 
-#: g10/gpg.c:3810
+#: g10/gpg.c:3831
 #, c-format
 msgid "invalid personal digest preferences\n"
 msgstr "virheelliset henkilökohtaiset tiivisteen valinnat\n"
 
-#: g10/gpg.c:3814
+#: g10/gpg.c:3835
 #, c-format
 msgid "invalid personal compress preferences\n"
 msgstr "virheelliset henkilökohtaiset pakkausvalinnat\n"
 
-#: g10/gpg.c:3850
+#: g10/gpg.c:3871
 #, c-format
 msgid "%s does not yet work with %s\n"
 msgstr "%s ja %s eivät vielä toimi yhdessä\n"
 
-#: g10/gpg.c:3913
+#: g10/gpg.c:3934
 #, fuzzy, c-format
 msgid "compression algorithm '%s' may not be used in %s mode\n"
 msgstr "pakkausalgoritmia \"%s\" ei voi käyttää %s-tilassa\n"
 
-#: g10/gpg.c:4057
+#: g10/gpg.c:4078
 #, c-format
 msgid "failed to initialize the TrustDB: %s\n"
 msgstr "TrustDB:n alustaminen ei onnistu: %s\n"
 
-#: g10/gpg.c:4069
+#: g10/gpg.c:4090
 #, c-format
 msgid "WARNING: recipients (-r) given without using public key encryption\n"
 msgstr ""
 "VAROITUS: vastaanottajia (-r) annettu käyttämättä julkisen avaimen salausta\n"
 
-#: g10/gpg.c:4141
+#: g10/gpg.c:4162
 #, fuzzy, c-format
 msgid "symmetric encryption of '%s' failed: %s\n"
 msgstr "avaus epäonnistui: %s\n"
 
-#: g10/gpg.c:4170
+#: g10/gpg.c:4191
 #, c-format
 msgid "you cannot use --symmetric --encrypt with --s2k-mode 0\n"
 msgstr ""
 
-#: g10/gpg.c:4173
+#: g10/gpg.c:4194
 #, fuzzy, c-format
 msgid "you cannot use --symmetric --encrypt in %s mode\n"
 msgstr "valitsinta %s ei voi käyttää %s-tilassa\n"
 
-#: g10/gpg.c:4231
+#: g10/gpg.c:4252
 #, c-format
 msgid "you cannot use --symmetric --sign --encrypt with --s2k-mode 0\n"
 msgstr ""
 
-#: g10/gpg.c:4234
+#: g10/gpg.c:4255
 #, fuzzy, c-format
 msgid "you cannot use --symmetric --sign --encrypt in %s mode\n"
 msgstr "valitsinta %s ei voi käyttää %s-tilassa\n"
 
-#: g10/gpg.c:4622 g10/keyserver.c:1881
+#: g10/gpg.c:4643 g10/keyserver.c:1648
 #, c-format
 msgid "keyserver send failed: %s\n"
 msgstr "avainpalvelimelle lähettäminen epäonnistui: %s\n"
 
-#: g10/gpg.c:4627
+#: g10/gpg.c:4648
 #, c-format
 msgid "keyserver receive failed: %s\n"
 msgstr "avainpalvelimelta vastaanotto epäonnistui: %s\n"
 
-#: g10/gpg.c:4633
+#: g10/gpg.c:4654
 #, c-format
 msgid "key export failed: %s\n"
 msgstr "avaimen vienti epäonnistui: %s\n"
 
-#: g10/gpg.c:4646
+#: g10/gpg.c:4667
 #, fuzzy, c-format
 #| msgid "key export failed: %s\n"
 msgid "export as ssh key failed: %s\n"
 msgstr "avaimen vienti epäonnistui: %s\n"
 
-#: g10/gpg.c:4658
+#: g10/gpg.c:4679
 #, c-format
 msgid "keyserver search failed: %s\n"
 msgstr "avainpalvelimelta etsiminen epäonnistui: %s\n"
 
-#: g10/gpg.c:4671
+#: g10/gpg.c:4692
 #, c-format
 msgid "keyserver refresh failed: %s\n"
 msgstr "avainpalvelimen päivitys epäonnistui: %s\n"
 
-#: g10/gpg.c:4738
+#: g10/gpg.c:4759
 #, c-format
 msgid "dearmoring failed: %s\n"
 msgstr "ascii-koodauksen purku epäonnistui: %s\n"
 
-#: g10/gpg.c:4749
+#: g10/gpg.c:4770
 #, c-format
 msgid "enarmoring failed: %s\n"
 msgstr "ascii-koodaaminen epäonnistui: %s\n"
 
-#: g10/gpg.c:4841
+#: g10/gpg.c:4862
 #, fuzzy, c-format
 #| msgid "invalid hash algorithm `%s'\n"
 msgid "invalid hash algorithm '%s'\n"
 msgstr "virheellinen tiivistealgoritmi \"%s\"\n"
 
-#: g10/gpg.c:4993 g10/tofu.c:2153
+#: g10/gpg.c:5014 g10/tofu.c:2153
 #, fuzzy, c-format
 msgid "error parsing key specification '%s': %s\n"
 msgstr "virhe luotaessa salasanaa: %s\n"
 
-#: g10/gpg.c:5006
+#: g10/gpg.c:5027
 #, c-format
 msgid "'%s' does not appear to be a valid key ID, fingerprint or keygrip\n"
 msgstr ""
 
-#: g10/gpg.c:5062
+#: g10/gpg.c:5083
 #, c-format
 msgid "WARNING: no command supplied.  Trying to guess what you mean ...\n"
 msgstr ""
 
-#: g10/gpg.c:5073
+#: g10/gpg.c:5094
 #, c-format
 msgid "Go ahead and type your message ...\n"
 msgstr "Kirjoita viestisi...\n"
 
-#: g10/gpg.c:5418
+#: g10/gpg.c:5439
 #, c-format
 msgid "the given certification policy URL is invalid\n"
 msgstr "annettu varmennekäytännön URL on virheellinen\n"
 
-#: g10/gpg.c:5420
+#: g10/gpg.c:5441
 #, c-format
 msgid "the given signature policy URL is invalid\n"
 msgstr "annettu allekirjoituskäytännön URL on virheellinen\n"
 
-#: g10/gpg.c:5453
+#: g10/gpg.c:5474
 #, fuzzy, c-format
 msgid "the given preferred keyserver URL is invalid\n"
 msgstr "annettu allekirjoituskäytännön URL on virheellinen\n"
@@ -3438,7 +3456,7 @@ msgstr "ota avaimet tästä avainrenkaasta"
 msgid "make timestamp conflicts only a warning"
 msgstr "käsittele aikaleimakonfliktit pelkkinä varoituksina"
 
-#: g10/gpgv.c:86 sm/gpgsm.c:354 tools/gpgconf.c:112
+#: g10/gpgv.c:86 sm/gpgsm.c:357 tools/gpgconf.c:112
 msgid "|FD|write status info to this FD"
 msgstr "|FD|tilatiedot kirjoitetaan FD:iin"
 
@@ -3522,268 +3540,268 @@ msgstr ""
 msgid "repair keys on import"
 msgstr "näytä sormenjälki"
 
-#: g10/import.c:380 g10/import.c:699
+#: g10/import.c:392 g10/import.c:711
 #, c-format
 msgid "skipping block of type %d\n"
 msgstr "ohitetaan tyypin %d lohko\n"
 
-#: g10/import.c:716
+#: g10/import.c:728
 #, fuzzy, c-format
 msgid "%lu keys processed so far\n"
 msgstr "tähän mennessä käsitelty %lu avainta\n"
 
-#: g10/import.c:802
+#: g10/import.c:814
 #, c-format
 msgid "Total number processed: %lu\n"
 msgstr "Kaikkiaan käsitelty: %lu\n"
 
-#: g10/import.c:805
+#: g10/import.c:817
 #, fuzzy, c-format
 #| msgid "      skipped new keys: %lu\n"
 msgid "    skipped PGP-2 keys: %lu\n"
 msgstr "      ohitetaan uudet avaimet: %lu\n"
 
-#: g10/import.c:807
+#: g10/import.c:819
 #, c-format
 msgid "      skipped new keys: %lu\n"
 msgstr "      ohitetaan uudet avaimet: %lu\n"
 
-#: g10/import.c:810
+#: g10/import.c:822
 #, c-format
 msgid "          w/o user IDs: %lu\n"
 msgstr "          ilman käyttäjätunnuksia: %lu\n"
 
-#: g10/import.c:813 sm/import.c:130
+#: g10/import.c:825 sm/import.c:130
 #, c-format
 msgid "              imported: %lu"
 msgstr "              tuotu: %lu"
 
-#: g10/import.c:817 sm/import.c:134
+#: g10/import.c:829 sm/import.c:134
 #, c-format
 msgid "             unchanged: %lu\n"
 msgstr "             muuttamatonta: %lu\n"
 
-#: g10/import.c:819
+#: g10/import.c:831
 #, c-format
 msgid "          new user IDs: %lu\n"
 msgstr "          uusia käyttäjätunnuksia: %lu\n"
 
-#: g10/import.c:821
+#: g10/import.c:833
 #, c-format
 msgid "           new subkeys: %lu\n"
 msgstr "           uusia aliavaimia: %lu\n"
 
-#: g10/import.c:823
+#: g10/import.c:835
 #, c-format
 msgid "        new signatures: %lu\n"
 msgstr "        uusia allekirjoituksia: %lu\n"
 
-#: g10/import.c:825
+#: g10/import.c:837
 #, c-format
 msgid "   new key revocations: %lu\n"
 msgstr "   uusia avainten mitätöintejä: %lu\n"
 
-#: g10/import.c:827 sm/import.c:136
+#: g10/import.c:839 sm/import.c:136
 #, c-format
 msgid "      secret keys read: %lu\n"
 msgstr "      luettuja salaisia avaimia: %lu\n"
 
-#: g10/import.c:829 sm/import.c:138
+#: g10/import.c:841 sm/import.c:138
 #, c-format
 msgid "  secret keys imported: %lu\n"
 msgstr "  tuotuja salaisia avaimia: %lu\n"
 
-#: g10/import.c:831 sm/import.c:140
+#: g10/import.c:843 sm/import.c:140
 #, c-format
 msgid " secret keys unchanged: %lu\n"
 msgstr " muuttamattomia salaisia avaimia: %lu\n"
 
-#: g10/import.c:833 sm/import.c:142
+#: g10/import.c:845 sm/import.c:142
 #, c-format
 msgid "          not imported: %lu\n"
 msgstr "          ei tuotu: %lu\n"
 
-#: g10/import.c:835
+#: g10/import.c:847
 #, fuzzy, c-format
 msgid "    signatures cleaned: %lu\n"
 msgstr "        uusia allekirjoituksia: %lu\n"
 
-#: g10/import.c:837
+#: g10/import.c:849
 #, fuzzy, c-format
 msgid "      user IDs cleaned: %lu\n"
 msgstr "      luettuja salaisia avaimia: %lu\n"
 
-#: g10/import.c:1264
+#: g10/import.c:1276
 #, c-format
 msgid ""
 "WARNING: key %s contains preferences for unavailable\n"
 "algorithms on these user IDs:\n"
 msgstr ""
 
-#: g10/import.c:1306
+#: g10/import.c:1318
 #, c-format
 msgid "         \"%s\": preference for cipher algorithm %s\n"
 msgstr ""
 
 # Ensimmäinen %s on binary, textmode tai unknown, ks. alla
-#: g10/import.c:1321
+#: g10/import.c:1333
 #, fuzzy, c-format
 msgid "         \"%s\": preference for digest algorithm %s\n"
 msgstr "%sallekirjoitus, tiivistealgoritmi %s\n"
 
-#: g10/import.c:1333
+#: g10/import.c:1345
 #, c-format
 msgid "         \"%s\": preference for compression algorithm %s\n"
 msgstr ""
 
-#: g10/import.c:1346
+#: g10/import.c:1358
 #, c-format
 msgid "it is strongly suggested that you update your preferences and\n"
 msgstr ""
 
-#: g10/import.c:1348
+#: g10/import.c:1360
 #, c-format
 msgid "re-distribute this key to avoid potential algorithm mismatch problems\n"
 msgstr ""
 
-#: g10/import.c:1373
+#: g10/import.c:1385
 #, c-format
 msgid "you can update your preferences with: gpg --edit-key %s updpref save\n"
 msgstr ""
 
-#: g10/import.c:1887 g10/import.c:3001
+#: g10/import.c:1899 g10/import.c:3013
 #, fuzzy, c-format
 msgid "key %s: no user ID\n"
 msgstr "avain %08lX: ei käyttäjätunnusta\n"
 
-#: g10/import.c:1893
+#: g10/import.c:1905
 #, fuzzy, c-format
 msgid "key %s: %s\n"
 msgstr "ohitetaan \"%s\": %s\n"
 
-#: g10/import.c:1894 g10/import.c:2973
+#: g10/import.c:1906 g10/import.c:2985
 msgid "rejected by import screener"
 msgstr ""
 
-#: g10/import.c:1938
+#: g10/import.c:1950
 #, fuzzy, c-format
 msgid "key %s: PKS subkey corruption repaired\n"
 msgstr "avain %08lX: HKP-aliavainvirhe korjattu\n"
 
-#: g10/import.c:1959
+#: g10/import.c:1971
 #, fuzzy, c-format
 msgid "key %s: accepted non self-signed user ID \"%s\"\n"
 msgstr ""
 "avain %08lX: käyttäjätunnus \"%s\" hyväksytty ilman omaa allekirjoitusta\n"
 
-#: g10/import.c:1969 g10/import.c:2000
+#: g10/import.c:1981 g10/import.c:2012
 #, fuzzy, c-format
 msgid "key %s: no valid user IDs\n"
 msgstr "avain %08lX: ei voimassaolevia käyttäjätunnuksia\n"
 
-#: g10/import.c:1971
+#: g10/import.c:1983
 #, c-format
 msgid "this may be caused by a missing self-signature\n"
 msgstr "tämän voi aiheuttaa puuttuva oma-allekirjoitus\n"
 
-#: g10/import.c:2050 g10/import.c:3387
+#: g10/import.c:2062 g10/import.c:3399
 #, fuzzy, c-format
 msgid "key %s: public key not found: %s\n"
 msgstr "avain %08lX: julkista avainta ei löydetty: %s\n"
 
-#: g10/import.c:2056
+#: g10/import.c:2068
 #, fuzzy, c-format
 msgid "key %s: new key - skipped\n"
 msgstr "avain %08lX: uusi avain - ohitetaan\n"
 
-#: g10/import.c:2068
+#: g10/import.c:2080
 #, c-format
 msgid "no writable keyring found: %s\n"
 msgstr "kirjoitettavissa olevaa avainrengasta ei löydy: %s\n"
 
-#: g10/import.c:2100 g10/import.c:2202 g10/import.c:3464
+#: g10/import.c:2112 g10/import.c:2214 g10/import.c:3476
 #, fuzzy, c-format
 #| msgid "error writing keyring `%s': %s\n"
 msgid "error writing keyring '%s': %s\n"
 msgstr "virhe kirjoitettaessa avainrenkaaseen \"%s\": %s\n"
 
-#: g10/import.c:2123
+#: g10/import.c:2135
 #, fuzzy, c-format
 msgid "key %s: public key \"%s\" imported\n"
 msgstr "avain %08lX: julkinen avain \"%s\" tuotu\n"
 
-#: g10/import.c:2150
+#: g10/import.c:2162
 #, fuzzy, c-format
 msgid "key %s: doesn't match our copy\n"
 msgstr "avain %08lX: ei vastaa omaa kopiotamme\n"
 
-#: g10/import.c:2218
+#: g10/import.c:2230
 #, fuzzy, c-format
 msgid "key %s: \"%s\" 1 new user ID\n"
 msgstr "avain %08lX: \"%s\" 1 uusi käyttäjätunnus\n"
 
-#: g10/import.c:2221
+#: g10/import.c:2233
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d new user IDs\n"
 msgstr "avain %08lX: \"%s\" %d uutta käyttäjätunnusta\n"
 
-#: g10/import.c:2224
+#: g10/import.c:2236
 #, fuzzy, c-format
 msgid "key %s: \"%s\" 1 new signature\n"
 msgstr "avain %08lX: \"%s\" 1 uusi allekirjoitus\n"
 
-#: g10/import.c:2227
+#: g10/import.c:2239
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d new signatures\n"
 msgstr "avain %08lX: \"%s\" %d uutta allekirjoitusta\n"
 
-#: g10/import.c:2230
+#: g10/import.c:2242
 #, fuzzy, c-format
 msgid "key %s: \"%s\" 1 new subkey\n"
 msgstr "avain %08lX: \"%s\" 1 uusi aliavain\n"
 
-#: g10/import.c:2233
+#: g10/import.c:2245
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d new subkeys\n"
 msgstr "avain %08lX: \"%s\" %d uutta aliavainta\n"
 
-#: g10/import.c:2236
+#: g10/import.c:2248
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d signature cleaned\n"
 msgstr "avain %08lX: \"%s\" %d uutta allekirjoitusta\n"
 
-#: g10/import.c:2239
+#: g10/import.c:2251
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d signatures cleaned\n"
 msgstr "avain %08lX: \"%s\" %d uutta allekirjoitusta\n"
 
-#: g10/import.c:2242
+#: g10/import.c:2254
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d user ID cleaned\n"
 msgstr "avain %08lX: \"%s\" %d uutta käyttäjätunnusta\n"
 
-#: g10/import.c:2245
+#: g10/import.c:2257
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d user IDs cleaned\n"
 msgstr "avain %08lX: \"%s\" %d uutta käyttäjätunnusta\n"
 
-#: g10/import.c:2281
+#: g10/import.c:2293
 #, fuzzy, c-format
 msgid "key %s: \"%s\" not changed\n"
 msgstr "avain %08lX: \"%s\" ei muutoksia\n"
 
-#: g10/import.c:2640 g10/import.c:2835
+#: g10/import.c:2652 g10/import.c:2847
 #, fuzzy, c-format
 msgid "key %s: secret key imported\n"
 msgstr "avain %08lX: salainen avain tuotu\n"
 
-#: g10/import.c:2648
+#: g10/import.c:2660
 #, fuzzy, c-format
 #| msgid "skipped: secret key already present\n"
 msgid "key %s: secret key already exists\n"
 msgstr "ohitetaan: salainen avain on jo paikalla\n"
 
-#: g10/import.c:2656
+#: g10/import.c:2668
 #, fuzzy, c-format
 msgid "key %s: error sending to agent: %s\n"
 msgstr "virhe lähettäessä kohteeseen \"%s\": %s\n"
@@ -3796,197 +3814,197 @@ msgstr "virhe lähettäessä kohteeseen \"%s\": %s\n"
 #. * Instead, user should be suggested to run 'gpg --card-status',
 #. * then, references to a card will be automatically created
 #. * again.
-#: g10/import.c:2825
+#: g10/import.c:2837
 #, c-format
 msgid "To migrate '%s', with each smartcard, run: %s\n"
 msgstr ""
 
-#: g10/import.c:2972
+#: g10/import.c:2984
 #, fuzzy, c-format
 msgid "secret key %s: %s\n"
 msgstr "salaista avainta \"%s\" ei löydy: %s\n"
 
-#: g10/import.c:2993 g10/import.c:3032
+#: g10/import.c:3005 g10/import.c:3044
 #, fuzzy, c-format
 msgid "importing secret keys not allowed\n"
 msgstr "kirjoitan salaisen avaimen kohteeseen \"%s\"\n"
 
-#: g10/import.c:3020
+#: g10/import.c:3032
 #, fuzzy, c-format
 msgid "key %s: secret key with invalid cipher %d - skipped\n"
 msgstr "avain %08lX: avaimella on epäkelpo salain %d - ohitetaan\n"
 
-#: g10/import.c:3182 g10/pkclist.c:72 g10/revoke.c:776
+#: g10/import.c:3194 g10/pkclist.c:72 g10/revoke.c:776
 msgid "No reason specified"
 msgstr "Ei eriteltyä syytä"
 
-#: g10/import.c:3183 g10/pkclist.c:74 g10/revoke.c:778
+#: g10/import.c:3195 g10/pkclist.c:74 g10/revoke.c:778
 msgid "Key is superseded"
 msgstr "Avain on uusittu"
 
-#: g10/import.c:3184 g10/pkclist.c:76 g10/revoke.c:777
+#: g10/import.c:3196 g10/pkclist.c:76 g10/revoke.c:777
 msgid "Key has been compromised"
 msgstr "Avain on murrettu"
 
-#: g10/import.c:3185 g10/pkclist.c:78 g10/revoke.c:779
+#: g10/import.c:3197 g10/pkclist.c:78 g10/revoke.c:779
 msgid "Key is no longer used"
 msgstr "Avain ei ole enää käytössä"
 
-#: g10/import.c:3186 g10/pkclist.c:80 g10/revoke.c:780
+#: g10/import.c:3198 g10/pkclist.c:80 g10/revoke.c:780
 msgid "User ID is no longer valid"
 msgstr "Käyttäjätunnus ei ole enää käytössä"
 
-#: g10/import.c:3311 g10/keylist.c:1254 g10/pkclist.c:84
+#: g10/import.c:3323 g10/keylist.c:1254 g10/pkclist.c:84
 #, c-format
 msgid "reason for revocation: "
 msgstr "mitätöinnin syy: "
 
-#: g10/import.c:3330 g10/keylist.c:1273 g10/pkclist.c:100
+#: g10/import.c:3342 g10/keylist.c:1273 g10/pkclist.c:100
 #, c-format
 msgid "revocation comment: "
 msgstr "mitätöintikommentti: "
 
-#: g10/import.c:3380
+#: g10/import.c:3392
 #, fuzzy, c-format
 msgid "key %s: no public key - can't apply revocation certificate\n"
 msgstr ""
 "avain %08lX: ei julkista avainta - mitätöintivarmennetta ei voida käyttää\n"
 
-#: g10/import.c:3411
+#: g10/import.c:3423
 #, fuzzy, c-format
 msgid "key %s: can't locate original keyblock: %s\n"
 msgstr "avain %08lX: alkuperäistä avainlohkoa ei löydy: %s\n"
 
-#: g10/import.c:3418
+#: g10/import.c:3430
 #, fuzzy, c-format
 msgid "key %s: can't read original keyblock: %s\n"
 msgstr "avain %08lX. alkuperäisen avainlohko lukeminen ei onnistu: %s\n"
 
-#: g10/import.c:3438
+#: g10/import.c:3450
 #, fuzzy, c-format
 msgid "key %s: invalid revocation certificate: %s - rejected\n"
 msgstr "avain %08lX: pätemätön mitätöintivarmenne: %s - hylätty\n"
 
-#: g10/import.c:3473
+#: g10/import.c:3485
 #, fuzzy, c-format
 msgid "key %s: \"%s\" revocation certificate imported\n"
 msgstr "avain %08lX: mitätöintivarmenne \"%s\" tuotu\n"
 
-#: g10/import.c:3559
+#: g10/import.c:3571
 #, fuzzy, c-format
 msgid "key %s: no user ID for signature\n"
 msgstr "avain %08lX: allekirjoitukselle ei ole käyttäjätunnusta\n"
 
-#: g10/import.c:3576
+#: g10/import.c:3588
 #, fuzzy, c-format
 msgid "key %s: unsupported public key algorithm on user ID \"%s\"\n"
 msgstr "avain %08lX: julkisen avaimen algoritmia \"%s\" ei tueta\n"
 
-#: g10/import.c:3578
+#: g10/import.c:3590
 #, fuzzy, c-format
 msgid "key %s: invalid self-signature on user ID \"%s\"\n"
 msgstr "avain %08lX: epäkelpo oma-allekirjoitus käyttäjätunnuksella \"%s\"\n"
 
-#: g10/import.c:3595 g10/import.c:3623 g10/import.c:3679
+#: g10/import.c:3607 g10/import.c:3635 g10/import.c:3691
 #, fuzzy, c-format
 msgid "key %s: unsupported public key algorithm\n"
 msgstr "avain %08lX: julkisen avaimen algoritmia ei tueta\n"
 
-#: g10/import.c:3596
+#: g10/import.c:3608
 #, fuzzy, c-format
 msgid "key %s: invalid direct key signature\n"
 msgstr "avain %08lX: lisättiin suora avainallekirjoitus\n"
 
-#: g10/import.c:3610
+#: g10/import.c:3622
 #, fuzzy, c-format
 msgid "key %s: no subkey for key binding\n"
 msgstr "avain %08lX: ei aliavainta avainten riippuvuuksiin\n"
 
-#: g10/import.c:3625
+#: g10/import.c:3637
 #, fuzzy, c-format
 msgid "key %s: invalid subkey binding\n"
 msgstr "avain %08lX: pätemätön aliavainriippuvuus\n"
 
-#: g10/import.c:3644
+#: g10/import.c:3656
 #, fuzzy, c-format
 msgid "key %s: removed multiple subkey binding\n"
 msgstr "avain %08lX: moninkertainen aliavainriippuvuus poistettu\n"
 
-#: g10/import.c:3668
+#: g10/import.c:3680
 #, fuzzy, c-format
 msgid "key %s: no subkey for key revocation\n"
 msgstr "avain %08lX: ei aliavainta avainten mitätöintiä varten\n"
 
-#: g10/import.c:3681
+#: g10/import.c:3693
 #, fuzzy, c-format
 msgid "key %s: invalid subkey revocation\n"
 msgstr "avain %08lX: epäkelpo aliavaimen mitätöinti\n"
 
-#: g10/import.c:3696
+#: g10/import.c:3708
 #, fuzzy, c-format
 msgid "key %s: removed multiple subkey revocation\n"
 msgstr "avain %08lX: useiden aliavainten mitätöinti poistettu\n"
 
-#: g10/import.c:3740
+#: g10/import.c:3752
 #, fuzzy, c-format
 msgid "key %s: skipped user ID \"%s\"\n"
 msgstr "avain %08lX: käyttäjätunnus ohitettu '"
 
-#: g10/import.c:3767
+#: g10/import.c:3779
 #, fuzzy, c-format
 msgid "key %s: skipped subkey\n"
 msgstr "avain %08lX: aliavain ohitettu\n"
 
-#: g10/import.c:3798
+#: g10/import.c:3810
 #, fuzzy, c-format
 msgid "key %s: non exportable signature (class 0x%02X) - skipped\n"
 msgstr ""
 "avain %08lX: allekirjoitusta ei voida viedä (luokka %02x) - ohitetaan\n"
 
-#: g10/import.c:3809
+#: g10/import.c:3821
 #, fuzzy, c-format
 msgid "key %s: revocation certificate at wrong place - skipped\n"
 msgstr "avain %08lX: mitätöintivarmenne väärässä paikassa - ohitetaan\n"
 
-#: g10/import.c:3827
+#: g10/import.c:3839
 #, fuzzy, c-format
 msgid "key %s: invalid revocation certificate: %s - skipped\n"
 msgstr "avain %08lX: epäkelpo mitätöintivarmenne: %s - ohitetaan\n"
 
-#: g10/import.c:3841
+#: g10/import.c:3853
 #, fuzzy, c-format
 msgid "key %s: subkey signature in wrong place - skipped\n"
 msgstr "avain %08lX: aliavaimen allekirjoitus väärässä paikassa - ohitetaan\n"
 
-#: g10/import.c:3849
+#: g10/import.c:3861
 #, fuzzy, c-format
 msgid "key %s: unexpected signature class (0x%02X) - skipped\n"
 msgstr "avain %08lX: odottamaton allekirjoitusluokka (0x%02X) - ohitetaan\n"
 
-#: g10/import.c:4022
+#: g10/import.c:4034
 #, fuzzy, c-format
 msgid "key %s: duplicated user ID detected - merged\n"
 msgstr "avain %08lX: käyttäjätunnuksen kaksoiskappale havaittu - liitetty\n"
 
-#: g10/import.c:4087
+#: g10/import.c:4099
 #, fuzzy, c-format
 msgid "WARNING: key %s may be revoked: fetching revocation key %s\n"
 msgstr ""
 "VAROITUS: avain %08lX saattaa olla mitätöity: haetaan mitätöintiavain %08lX\n"
 
-#: g10/import.c:4103
+#: g10/import.c:4115
 #, fuzzy, c-format
 msgid "WARNING: key %s may be revoked: revocation key %s not present.\n"
 msgstr ""
 "VAROITUS: avain %08lX saattaa olla mitätöity: mitätöintiavainta %08lX \n"
 "ei saatavilla.\n"
 
-#: g10/import.c:4169
+#: g10/import.c:4181
 #, fuzzy, c-format
 msgid "key %s: \"%s\" revocation certificate added\n"
 msgstr "avain %08lX: \"%s\"-mitätöintivarmenne lisätty\n"
 
-#: g10/import.c:4207
+#: g10/import.c:4219
 #, fuzzy, c-format
 msgid "key %s: direct key signature added\n"
 msgstr "avain %08lX: lisättiin suora avainallekirjoitus\n"
@@ -4056,7 +4074,7 @@ msgid ""
 "all signatures.\n"
 msgstr ""
 
-#: g10/keydb.c:431 g10/keydb.c:458 sm/keydb.c:191 sm/keydb.c:204
+#: g10/keydb.c:431 g10/keydb.c:458 sm/keydb.c:190 sm/keydb.c:203
 #, fuzzy, c-format
 msgid "error creating keybox '%s': %s\n"
 msgstr "virhe luotaessa avainrengasta \"%s\": %s\n"
@@ -4067,7 +4085,7 @@ msgstr "virhe luotaessa avainrengasta \"%s\": %s\n"
 msgid "error creating keyring '%s': %s\n"
 msgstr "virhe luotaessa avainrengasta \"%s\": %s\n"
 
-#: g10/keydb.c:470 sm/keydb.c:210
+#: g10/keydb.c:470 sm/keydb.c:209
 #, fuzzy, c-format
 msgid "keybox '%s' created\n"
 msgstr "avainrengas \"%s\" luotu\n"
@@ -4145,13 +4163,13 @@ msgstr ""
 msgid "User ID \"%s\" is revoked."
 msgstr "Käyttäjätunnus \"%s\" on mitätöity."
 
-#: g10/keyedit.c:569 g10/keyedit.c:597 g10/keyedit.c:624 g10/keyedit.c:808
-#: g10/keyedit.c:1655
+#: g10/keyedit.c:569 g10/keyedit.c:597 g10/keyedit.c:624 g10/keyedit.c:809
+#: g10/keyedit.c:1656
 msgid "Are you sure you still want to sign it? (y/N) "
 msgstr "Haluatko varmasti edelleen allekirjoittaa? (k/E) "
 
-#: g10/keyedit.c:583 g10/keyedit.c:611 g10/keyedit.c:638 g10/keyedit.c:814
-#: g10/keyedit.c:1660 g10/keyedit.c:2667
+#: g10/keyedit.c:583 g10/keyedit.c:611 g10/keyedit.c:638 g10/keyedit.c:815
+#: g10/keyedit.c:1661 g10/keyedit.c:2668
 msgid "  Unable to sign.\n"
 msgstr "  Allekirjoittaminen ei onnistu.\n"
 
@@ -4227,29 +4245,29 @@ msgstr "\"%s\" on jo allekirjoitettu paikallisesti avaimella %08lX\n"
 msgid "\"%s\" was already signed by key %s\n"
 msgstr "\"%s\" on jo allekirjoitettu avaimella %08lX\n"
 
-#: g10/keyedit.c:756
+#: g10/keyedit.c:757
 msgid "Do you want to sign it again anyway? (y/N) "
 msgstr "Haluatko allekirjoittaa uudelleen joka tapauksessa? (k/E) "
 
-#: g10/keyedit.c:778
+#: g10/keyedit.c:779
 #, fuzzy, c-format
 msgid "Nothing to sign with key %s\n"
 msgstr "Avaimelle %08lX ei löydy mitään mitä allekirjoittaa\n"
 
-#: g10/keyedit.c:802
+#: g10/keyedit.c:803
 msgid "This key has expired!"
 msgstr "Tämä avain on vanhentunut!"
 
-#: g10/keyedit.c:820
+#: g10/keyedit.c:821
 #, c-format
 msgid "This key is due to expire on %s.\n"
 msgstr "Avain vanhenee %s.\n"
 
-#: g10/keyedit.c:826
+#: g10/keyedit.c:827
 msgid "Do you want your signature to expire at the same time? (Y/n) "
 msgstr "Haluatko allekirjoituksesi vanhenevan samaan aikaan? (K/e) "
 
-#: g10/keyedit.c:867
+#: g10/keyedit.c:868
 msgid ""
 "How carefully have you verified the key you are about to sign actually "
 "belongs\n"
@@ -4258,32 +4276,32 @@ msgstr ""
 "Kuinka huolellisesti olet vahvistanut avaimen haltijan henkilöllisyyden?\n"
 "Jos et tiedä vastausta, syötä \"0\".\n"
 
-#: g10/keyedit.c:872
+#: g10/keyedit.c:873
 #, c-format
 msgid "   (0) I will not answer.%s\n"
 msgstr "   (0) En vastaa.%s\n"
 
-#: g10/keyedit.c:874
+#: g10/keyedit.c:875
 #, c-format
 msgid "   (1) I have not checked at all.%s\n"
 msgstr "   (1) En ole tarkistanut lainkaan.%s\n"
 
-#: g10/keyedit.c:876
+#: g10/keyedit.c:877
 #, c-format
 msgid "   (2) I have done casual checking.%s\n"
 msgstr "   (2) Olen suorittanut arkisen tarkistuksen.%s\n"
 
-#: g10/keyedit.c:879
+#: g10/keyedit.c:880
 #, c-format
 msgid "   (3) I have done very careful checking.%s\n"
 msgstr "   (3) Olen suorittanut huolellisen tarkistuksen.%s\n"
 
-#: g10/keyedit.c:886
+#: g10/keyedit.c:887
 #, fuzzy
 msgid "Your selection? (enter '?' for more information): "
 msgstr "Valintasi? (syöttämällä \"?\" saat lisätietoja): "
 
-#: g10/keyedit.c:913
+#: g10/keyedit.c:914
 #, fuzzy, c-format
 msgid ""
 "Are you sure that you want to sign this key with your\n"
@@ -4292,271 +4310,271 @@ msgstr ""
 "Haluatko varmasti allekirjoittaa tämän avaimen\n"
 "omalla avaimellasi: \""
 
-#: g10/keyedit.c:921
+#: g10/keyedit.c:922
 #, fuzzy
 msgid "This will be a self-signature.\n"
 msgstr ""
 "\n"
 "Tämä tulee olemaan oma-allekirjoitus.\n"
 
-#: g10/keyedit.c:926
+#: g10/keyedit.c:927
 #, fuzzy
 msgid "WARNING: the signature will not be marked as non-exportable.\n"
 msgstr ""
 "\n"
 "VAROITUS: Tätä allekirjoitusta ei määritellä vientikelvottomaksi.\n"
 
-#: g10/keyedit.c:933
+#: g10/keyedit.c:934
 #, fuzzy
 msgid "WARNING: the signature will not be marked as non-revocable.\n"
 msgstr ""
 "\n"
 "VAROITUS: Tätä allekirjoitusta ei määritellä mitätöimättömäksi.\n"
 
-#: g10/keyedit.c:943
+#: g10/keyedit.c:944
 #, fuzzy
 msgid "The signature will be marked as non-exportable.\n"
 msgstr ""
 "\n"
 "Tämä allekirjoitus määritellään vientikelvottomaksi.\n"
 
-#: g10/keyedit.c:950
+#: g10/keyedit.c:951
 #, fuzzy
 msgid "The signature will be marked as non-revocable.\n"
 msgstr ""
 "\n"
 "Tämä allekirjoitus määritellään mitätöimättömäksi.\n"
 
-#: g10/keyedit.c:957
+#: g10/keyedit.c:958
 #, fuzzy
 msgid "I have not checked this key at all.\n"
 msgstr ""
 "\n"
 "En ole tarkistanut tätä avainta lainkaan.\n"
 
-#: g10/keyedit.c:962
+#: g10/keyedit.c:963
 #, fuzzy
 msgid "I have checked this key casually.\n"
 msgstr ""
 "\n"
 "Olen tarkistanut avaimen arkisesti.\n"
 
-#: g10/keyedit.c:967
+#: g10/keyedit.c:968
 #, fuzzy
 msgid "I have checked this key very carefully.\n"
 msgstr ""
 "\n"
 "Olen tarkistanut avaimen erittäin huolellisesti.\n"
 
-#: g10/keyedit.c:979
+#: g10/keyedit.c:980
 #, fuzzy
 msgid "Really sign? (y/N) "
 msgstr "Varmastiko allekirjoita? "
 
-#: g10/keyedit.c:1030 g10/keyedit.c:6154 g10/keyedit.c:6237 g10/keyedit.c:6366
-#: g10/keyedit.c:6428 g10/sign.c:466
+#: g10/keyedit.c:1031 g10/keyedit.c:6155 g10/keyedit.c:6238 g10/keyedit.c:6367
+#: g10/keyedit.c:6429 g10/sign.c:466
 #, c-format
 msgid "signing failed: %s\n"
 msgstr "allekirjoitus epäonnistui: %s\n"
 
-#: g10/keyedit.c:1117
+#: g10/keyedit.c:1118
 msgid "Key has only stub or on-card key items - no passphrase to change.\n"
 msgstr ""
 
-#: g10/keyedit.c:1149
+#: g10/keyedit.c:1150
 #, fuzzy, c-format
 #| msgid "error creating passphrase: %s\n"
 msgid "key %s: error changing passphrase: %s\n"
 msgstr "virhe luotaessa salasanaa: %s\n"
 
-#: g10/keyedit.c:1261
+#: g10/keyedit.c:1262
 msgid "save and quit"
 msgstr "tallenna ja lopeta"
 
-#: g10/keyedit.c:1264
+#: g10/keyedit.c:1265
 #, fuzzy
 msgid "show key fingerprint"
 msgstr "näytä sormenjälki"
 
-#: g10/keyedit.c:1265
+#: g10/keyedit.c:1266
 #, fuzzy
 msgid "show the keygrip"
 msgstr "Allekirjoitusnotaatio: "
 
-#: g10/keyedit.c:1266
+#: g10/keyedit.c:1267
 msgid "list key and user IDs"
 msgstr "näytä avaimet ja käyttäjätunnukset"
 
-#: g10/keyedit.c:1268
+#: g10/keyedit.c:1269
 msgid "select user ID N"
 msgstr "valitse käyttäjätunnus N"
 
-#: g10/keyedit.c:1269
+#: g10/keyedit.c:1270
 #, fuzzy
 msgid "select subkey N"
 msgstr "valitse käyttäjätunnus N"
 
-#: g10/keyedit.c:1270
+#: g10/keyedit.c:1271
 #, fuzzy
 msgid "check signatures"
 msgstr "mitätöi allekirjoitus"
 
-#: g10/keyedit.c:1276
+#: g10/keyedit.c:1277
 msgid "sign selected user IDs [* see below for related commands]"
 msgstr ""
 
-#: g10/keyedit.c:1281
+#: g10/keyedit.c:1282
 #, fuzzy
 msgid "sign selected user IDs locally"
 msgstr "allekirjoita avain paikallisesti"
 
-#: g10/keyedit.c:1282
+#: g10/keyedit.c:1283
 #, fuzzy
 msgid "sign selected user IDs with a trust signature"
 msgstr "Vihje: Valitse allekirjoitettavat käyttäjätunnukset\n"
 
-#: g10/keyedit.c:1284
+#: g10/keyedit.c:1285
 msgid "sign selected user IDs with a non-revocable signature"
 msgstr ""
 
-#: g10/keyedit.c:1286
+#: g10/keyedit.c:1287
 msgid "add a user ID"
 msgstr "lisää käyttäjätunnus"
 
-#: g10/keyedit.c:1288
+#: g10/keyedit.c:1289
 msgid "add a photo ID"
 msgstr "lisää valokuva"
 
-#: g10/keyedit.c:1289
+#: g10/keyedit.c:1290
 #, fuzzy
 msgid "delete selected user IDs"
 msgstr "poista käyttäjätunnus"
 
-#: g10/keyedit.c:1292
+#: g10/keyedit.c:1293
 #, fuzzy
 msgid "add a subkey"
 msgstr "addkey"
 
-#: g10/keyedit.c:1295
+#: g10/keyedit.c:1296
 msgid "add a key to a smartcard"
 msgstr ""
 
-#: g10/keyedit.c:1297
+#: g10/keyedit.c:1298
 msgid "move a key to a smartcard"
 msgstr ""
 
-#: g10/keyedit.c:1299
+#: g10/keyedit.c:1300
 msgid "move a backup key to a smartcard"
 msgstr ""
 
-#: g10/keyedit.c:1301
+#: g10/keyedit.c:1302
 #, fuzzy
 msgid "delete selected subkeys"
 msgstr "poista toissijainen avain"
 
-#: g10/keyedit.c:1303
+#: g10/keyedit.c:1304
 msgid "add a revocation key"
 msgstr "lisää mitätöintiavain"
 
-#: g10/keyedit.c:1305
+#: g10/keyedit.c:1306
 #, fuzzy
 msgid "delete signatures from the selected user IDs"
 msgstr "Varmastiko päivitä valinnat näille käyttäjätunnuksille? "
 
-#: g10/keyedit.c:1307
+#: g10/keyedit.c:1308
 #, fuzzy
 msgid "change the expiration date for the key or selected subkeys"
 msgstr "Et voi muuttaa v3-avainten vanhentumispäivää\n"
 
-#: g10/keyedit.c:1309
+#: g10/keyedit.c:1310
 #, fuzzy
 msgid "flag the selected user ID as primary"
 msgstr "merkitse käyttäjätunnus ensisijaiseksi"
 
-#: g10/keyedit.c:1312
+#: g10/keyedit.c:1313
 msgid "list preferences (expert)"
 msgstr "näytä valinnat (asiantuntija)"
 
-#: g10/keyedit.c:1313
+#: g10/keyedit.c:1314
 msgid "list preferences (verbose)"
 msgstr "näytä valinnat (monisanaisesti)"
 
-#: g10/keyedit.c:1315
+#: g10/keyedit.c:1316
 #, fuzzy
 msgid "set preference list for the selected user IDs"
 msgstr "Varmastiko päivitä valinnat näille käyttäjätunnuksille? "
 
-#: g10/keyedit.c:1318
+#: g10/keyedit.c:1319
 #, fuzzy
 msgid "set the preferred keyserver URL for the selected user IDs"
 msgstr "avainpalvelimen URI:iä ei voi jäsentää\n"
 
-#: g10/keyedit.c:1320
+#: g10/keyedit.c:1321
 #, fuzzy
 msgid "set a notation for the selected user IDs"
 msgstr "Varmastiko päivitä valinnat näille käyttäjätunnuksille? "
 
-#: g10/keyedit.c:1322
+#: g10/keyedit.c:1323
 msgid "change the passphrase"
 msgstr "muuta salasanaa"
 
-#: g10/keyedit.c:1325
+#: g10/keyedit.c:1326
 msgid "change the ownertrust"
 msgstr "muuta luottamusastetta"
 
-#: g10/keyedit.c:1328
+#: g10/keyedit.c:1329
 #, fuzzy
 msgid "revoke signatures on the selected user IDs"
 msgstr "Varmastiko mitätöi kaikki valitut käyttäjätunnukset? "
 
-#: g10/keyedit.c:1330
+#: g10/keyedit.c:1331
 #, fuzzy
 msgid "revoke selected user IDs"
 msgstr "mitätöi käyttäjätunnus"
 
-#: g10/keyedit.c:1333
+#: g10/keyedit.c:1334
 #, fuzzy
 msgid "revoke key or selected subkeys"
 msgstr "mitätöi toissijainen avain"
 
-#: g10/keyedit.c:1335
+#: g10/keyedit.c:1336
 #, fuzzy
 msgid "enable key"
 msgstr "ota avain käyttöön"
 
-#: g10/keyedit.c:1336
+#: g10/keyedit.c:1337
 #, fuzzy
 msgid "disable key"
 msgstr "poista avain käytöstä"
 
-#: g10/keyedit.c:1338
+#: g10/keyedit.c:1339
 #, fuzzy
 msgid "show selected photo IDs"
 msgstr "näytä valokuvatunniste"
 
-#: g10/keyedit.c:1340
+#: g10/keyedit.c:1341
 msgid "compact unusable user IDs and remove unusable signatures from key"
 msgstr ""
 
-#: g10/keyedit.c:1342
+#: g10/keyedit.c:1343
 msgid "compact unusable user IDs and remove all signatures from key"
 msgstr ""
 
-#: g10/keyedit.c:1463
+#: g10/keyedit.c:1464
 msgid "Secret key is available.\n"
 msgstr "Salainen avain on saatavilla.\n"
 
-#: g10/keyedit.c:1465
+#: g10/keyedit.c:1466
 #, fuzzy
 #| msgid "Secret key is available.\n"
 msgid "Secret subkeys are available.\n"
 msgstr "Salainen avain on saatavilla.\n"
 
-#: g10/keyedit.c:1567
+#: g10/keyedit.c:1568
 msgid "Need the secret key to do this.\n"
 msgstr "Tähän tarvitaan salainen avain.\n"
 
-#: g10/keyedit.c:1590
+#: g10/keyedit.c:1591
 msgid ""
 "* The 'sign' command may be prefixed with an 'l' for local signatures "
 "(lsign),\n"
@@ -4564,314 +4582,314 @@ msgid ""
 "  (nrsign), or any combination thereof (ltsign, tnrsign, etc.).\n"
 msgstr ""
 
-#: g10/keyedit.c:1648 g10/keyedit.c:2667 g10/keyedit.c:3040 g10/keyedit.c:3108
+#: g10/keyedit.c:1649 g10/keyedit.c:2668 g10/keyedit.c:3041 g10/keyedit.c:3109
 msgid "Key is revoked."
 msgstr "Avain on mitätöity."
 
-#: g10/keyedit.c:1671
+#: g10/keyedit.c:1672
 #, fuzzy
 msgid "Really sign all text user IDs? (y/N) "
 msgstr "Varmastiko allekirjoita kaikki käyttäjätunnukset?"
 
-#: g10/keyedit.c:1675
+#: g10/keyedit.c:1676
 #, fuzzy
 msgid "Really sign all user IDs? (y/N) "
 msgstr "Varmastiko allekirjoita kaikki käyttäjätunnukset?"
 
-#: g10/keyedit.c:1683
+#: g10/keyedit.c:1684
 msgid "Hint: Select the user IDs to sign\n"
 msgstr "Vihje: Valitse allekirjoitettavat käyttäjätunnukset\n"
 
-#: g10/keyedit.c:1694
+#: g10/keyedit.c:1695
 #, fuzzy, c-format
 msgid "Unknown signature type '%s'\n"
 msgstr "tuntematon allekirjoitusluokka"
 
-#: g10/keyedit.c:1718
+#: g10/keyedit.c:1719
 #, c-format
 msgid "This command is not allowed while in %s mode.\n"
 msgstr "Tätä komentoa ei sallita %s-tilassa.\n"
 
-#: g10/keyedit.c:1740 g10/keyedit.c:1764 g10/keyedit.c:1961
+#: g10/keyedit.c:1741 g10/keyedit.c:1765 g10/keyedit.c:1962
 msgid "You must select at least one user ID.\n"
 msgstr "Sinun täytyy valita ainakin yksi käyttäjätunnus.\n"
 
-#: g10/keyedit.c:1742 g10/keyedit.c:1766 g10/keyedit.c:1923 g10/keyedit.c:1963
+#: g10/keyedit.c:1743 g10/keyedit.c:1767 g10/keyedit.c:1924 g10/keyedit.c:1964
 #, c-format
 msgid "(Use the '%s' command.)\n"
 msgstr ""
 
-#: g10/keyedit.c:1745
+#: g10/keyedit.c:1746
 msgid "You can't delete the last user ID!\n"
 msgstr "Et voi poistaa viimeistä käyttäjätunnusta!\n"
 
-#: g10/keyedit.c:1748
+#: g10/keyedit.c:1749
 #, fuzzy
 msgid "Really remove all selected user IDs? (y/N) "
 msgstr "Varmastiko poista kaikki valitut käyttäjätunnukset? "
 
-#: g10/keyedit.c:1749
+#: g10/keyedit.c:1750
 #, fuzzy
 msgid "Really remove this user ID? (y/N) "
 msgstr "Varmastiko poista tämä käyttäjätunnus? "
 
 #. TRANSLATORS: Please take care: This is about
 #. moving the key and not about removing it.
-#: g10/keyedit.c:1806
+#: g10/keyedit.c:1807
 #, fuzzy
 msgid "Really move the primary key? (y/N) "
 msgstr "Varmastiko poista tämä käyttäjätunnus? "
 
-#: g10/keyedit.c:1818 g10/keyedit.c:4803
+#: g10/keyedit.c:1819 g10/keyedit.c:4804
 #, fuzzy
 msgid "You must select exactly one key.\n"
 msgstr "Sinun täytyy valita ainakin yksi avain.\n"
 
-#: g10/keyedit.c:1846
+#: g10/keyedit.c:1847
 msgid "Command expects a filename argument\n"
 msgstr ""
 
-#: g10/keyedit.c:1867
+#: g10/keyedit.c:1868
 #, fuzzy, c-format
 msgid "Can't open '%s': %s\n"
 msgstr "tiedostoa \"%s\" ei voi avata: %s\n"
 
-#: g10/keyedit.c:1886
+#: g10/keyedit.c:1887
 #, fuzzy, c-format
 msgid "Error reading backup key from '%s': %s\n"
 msgstr "virhe luotaessa avainrengasta \"%s\": %s\n"
 
-#: g10/keyedit.c:1921
+#: g10/keyedit.c:1922
 msgid "You must select at least one key.\n"
 msgstr "Sinun täytyy valita ainakin yksi avain.\n"
 
-#: g10/keyedit.c:1927
+#: g10/keyedit.c:1928
 #, fuzzy
 msgid "Do you really want to delete the selected keys? (y/N) "
 msgstr "Haluatko varmasti poistaa valitut avaimet? "
 
-#: g10/keyedit.c:1929
+#: g10/keyedit.c:1930
 #, fuzzy
 msgid "Do you really want to delete this key? (y/N) "
 msgstr "Haluatko varmasti poistaa tämän avaimen? "
 
-#: g10/keyedit.c:1967
+#: g10/keyedit.c:1968
 #, fuzzy
 msgid "Really revoke all selected user IDs? (y/N) "
 msgstr "Varmastiko mitätöi kaikki valitut käyttäjätunnukset? "
 
-#: g10/keyedit.c:1968
+#: g10/keyedit.c:1969
 #, fuzzy
 msgid "Really revoke this user ID? (y/N) "
 msgstr "Varmastiko mitätöi tämä käyttäjätunnus? "
 
-#: g10/keyedit.c:1986
+#: g10/keyedit.c:1987
 #, fuzzy
 msgid "Do you really want to revoke the entire key? (y/N) "
 msgstr "Haluatko varmasti mitätöidä tämän avaimen? "
 
-#: g10/keyedit.c:1997
+#: g10/keyedit.c:1998
 #, fuzzy
 msgid "Do you really want to revoke the selected subkeys? (y/N) "
 msgstr "Haluatko varmasti mitätöidä valitut avaimet? "
 
-#: g10/keyedit.c:1999
+#: g10/keyedit.c:2000
 #, fuzzy
 msgid "Do you really want to revoke this subkey? (y/N) "
 msgstr "Haluatko varmasti mitätöidä tämän avaimen? "
 
-#: g10/keyedit.c:2057
+#: g10/keyedit.c:2058
 msgid "Owner trust may not be set while using a user provided trust database\n"
 msgstr ""
 
-#: g10/keyedit.c:2102
+#: g10/keyedit.c:2103
 #, fuzzy
 msgid "Set preference list to:\n"
 msgstr "näytä valinnat"
 
-#: g10/keyedit.c:2109
+#: g10/keyedit.c:2110
 #, fuzzy
 msgid "Really update the preferences for the selected user IDs? (y/N) "
 msgstr "Varmastiko päivitä valinnat näille käyttäjätunnuksille? "
 
-#: g10/keyedit.c:2111
+#: g10/keyedit.c:2112
 #, fuzzy
 msgid "Really update the preferences? (y/N) "
 msgstr "Varmastiko päivitä valinnat? "
 
-#: g10/keyedit.c:2185
+#: g10/keyedit.c:2186
 #, fuzzy
 msgid "Save changes? (y/N) "
 msgstr "Tallenna muutokset? "
 
-#: g10/keyedit.c:2189
+#: g10/keyedit.c:2190
 #, fuzzy
 msgid "Quit without saving? (y/N) "
 msgstr "Lopeta tallentamatta muutoksia?"
 
-#: g10/keyedit.c:2216 g10/keyedit.c:2762 g10/keyedit.c:3061 g10/keyedit.c:3214
+#: g10/keyedit.c:2217 g10/keyedit.c:2763 g10/keyedit.c:3062 g10/keyedit.c:3215
 #, c-format
 msgid "Key not changed so no update needed.\n"
 msgstr "Päivitystä ei tarvita, koska avain ei ole muuttunut.\n"
 
-#: g10/keyedit.c:2448
+#: g10/keyedit.c:2449
 #, fuzzy, c-format
 #| msgid "You can't delete the last user ID!\n"
 msgid "cannot revoke the last valid user ID.\n"
 msgstr "Et voi poistaa viimeistä käyttäjätunnusta!\n"
 
-#: g10/keyedit.c:2475
+#: g10/keyedit.c:2476
 #, fuzzy, c-format
 msgid "revoking the user ID failed: %s\n"
 msgstr "luodun allekirjoituksen tarkistus epäonnistui: %s\n"
 
-#: g10/keyedit.c:2541
+#: g10/keyedit.c:2542
 #, fuzzy, c-format
 msgid "setting the primary user ID failed: %s\n"
 msgstr "luodun allekirjoituksen tarkistus epäonnistui: %s\n"
 
-#: g10/keyedit.c:2572
+#: g10/keyedit.c:2573
 #, fuzzy, c-format
 msgid "\"%s\" is not a fingerprint\n"
 msgstr "virhe: sormenjälki on väärä\n"
 
-#: g10/keyedit.c:2602
+#: g10/keyedit.c:2603
 #, fuzzy, c-format
 msgid "\"%s\" is not the primary fingerprint\n"
 msgstr "TrustDB:n alustaminen ei onnistu: %s\n"
 
-#: g10/keyedit.c:2738 g10/keyedit.c:2741
+#: g10/keyedit.c:2739 g10/keyedit.c:2742
 #, fuzzy, c-format
 #| msgid "invalid value\n"
 msgid "Invalid user ID '%s': %s\n"
 msgstr "arvo ei kelpaa\n"
 
-#: g10/keyedit.c:2744
+#: g10/keyedit.c:2745
 #, fuzzy
 #| msgid "No such user ID.\n"
 msgid "No matching user IDs."
 msgstr "Käyttäjätunnusta ei löydy.\n"
 
-#: g10/keyedit.c:2744
+#: g10/keyedit.c:2745
 #, fuzzy
 msgid "Nothing to sign.\n"
 msgstr "Avaimelle %08lX ei löydy mitään mitä allekirjoittaa\n"
 
-#: g10/keyedit.c:2937 g10/keyedit.c:6019
+#: g10/keyedit.c:2938 g10/keyedit.c:6020
 #, fuzzy, c-format
 msgid "Not signed by you.\n"
 msgstr "   %08lX allekirjoitti tämän %s%s\n"
 
-#: g10/keyedit.c:2995
+#: g10/keyedit.c:2996
 #, fuzzy, c-format
 #| msgid "checking created signature failed: %s\n"
 msgid "revoking the key signature failed: %s\n"
 msgstr "luodun allekirjoituksen tarkistus epäonnistui: %s\n"
 
-#: g10/keyedit.c:3116
+#: g10/keyedit.c:3117
 #, fuzzy, c-format
 msgid "'%s' is not a valid expiration time\n"
 msgstr "%s ei kelpaa merkistöksi\n"
 
-#: g10/keyedit.c:3159
+#: g10/keyedit.c:3160
 #, fuzzy, c-format
 msgid "\"%s\" is not a proper fingerprint\n"
 msgstr "virhe: sormenjälki on väärä\n"
 
-#: g10/keyedit.c:3183
+#: g10/keyedit.c:3184
 #, fuzzy, c-format
 msgid "subkey \"%s\" not found\n"
 msgstr "avainta \"%s\" ei löydy: %s\n"
 
-#: g10/keyedit.c:3306
+#: g10/keyedit.c:3307
 msgid "AEAD: "
 msgstr ""
 
-#: g10/keyedit.c:3323
+#: g10/keyedit.c:3324
 msgid "Digest: "
 msgstr "Tiiviste: "
 
-#: g10/keyedit.c:3380
+#: g10/keyedit.c:3381
 msgid "Features: "
 msgstr "Ominaisuudet: "
 
-#: g10/keyedit.c:3397
+#: g10/keyedit.c:3398
 msgid "Keyserver no-modify"
 msgstr ""
 
-#: g10/keyedit.c:3412 g10/keylist.c:376
+#: g10/keyedit.c:3413 g10/keylist.c:376
 msgid "Preferred keyserver: "
 msgstr ""
 
-#: g10/keyedit.c:3420 g10/keyedit.c:3421
+#: g10/keyedit.c:3421 g10/keyedit.c:3422
 #, fuzzy
 msgid "Notations: "
 msgstr "Notaatio: "
 
-#: g10/keyedit.c:3669
+#: g10/keyedit.c:3670
 msgid "There are no preferences on a PGP 2.x-style user ID.\n"
 msgstr "PGP 2.x -muodon käyttäjätunnukselle ei ole valintoja.\n"
 
-#: g10/keyedit.c:3741
+#: g10/keyedit.c:3742
 #, fuzzy, c-format
 msgid "The following key was revoked on %s by %s key %s\n"
 msgstr "Tämä avain voidaan mitätöidä %s-avaimella "
 
-#: g10/keyedit.c:3765
+#: g10/keyedit.c:3766
 #, fuzzy, c-format
 msgid "This key may be revoked by %s key %s"
 msgstr "Tämä avain voidaan mitätöidä %s-avaimella "
 
-#: g10/keyedit.c:3771
+#: g10/keyedit.c:3772
 #, fuzzy
 msgid "(sensitive)"
 msgstr " (luottamuksellinen)"
 
-#: g10/keyedit.c:3813 g10/keyedit.c:3960 g10/keylist.c:264 g10/keyserver.c:538
+#: g10/keyedit.c:3814 g10/keyedit.c:3961 g10/keylist.c:264 g10/keyserver.c:361
 #, fuzzy, c-format
 msgid "created: %s"
 msgstr "ei voida luoda kohdetta %s: %s\n"
 
-#: g10/keyedit.c:3816 g10/keylist.c:2149
+#: g10/keyedit.c:3817 g10/keylist.c:2149
 #, fuzzy, c-format
 msgid "revoked: %s"
 msgstr "[mitätöity] "
 
-#: g10/keyedit.c:3818 g10/keylist.c:2155
+#: g10/keyedit.c:3819 g10/keylist.c:2155
 #, fuzzy, c-format
 msgid "expired: %s"
 msgstr " [vanhenee: %s]"
 
-#: g10/keyedit.c:3820 g10/keyedit.c:3962 g10/keylist.c:266 g10/keylist.c:2161
-#: g10/keyserver.c:544
+#: g10/keyedit.c:3821 g10/keyedit.c:3963 g10/keylist.c:266 g10/keylist.c:2161
+#: g10/keyserver.c:367
 #, fuzzy, c-format
 msgid "expires: %s"
 msgstr " [vanhenee: %s]"
 
-#: g10/keyedit.c:3822
+#: g10/keyedit.c:3823
 #, fuzzy, c-format
 msgid "usage: %s"
 msgstr " luottamus: %c/%c"
 
-#: g10/keyedit.c:3830 g10/keyedit.c:3850 g10/keylist.c:269
+#: g10/keyedit.c:3831 g10/keyedit.c:3851 g10/keylist.c:269
 msgid "card-no: "
 msgstr ""
 
-#: g10/keyedit.c:3889
+#: g10/keyedit.c:3890
 #, fuzzy, c-format
 msgid "trust: %s"
 msgstr " luottamus: %c/%c"
 
-#: g10/keyedit.c:3893
+#: g10/keyedit.c:3894
 #, c-format
 msgid "validity: %s"
 msgstr ""
 
-#: g10/keyedit.c:3900
+#: g10/keyedit.c:3901
 msgid "This key has been disabled"
 msgstr "Tämä avain on poistettu käytöstä"
 
-#: g10/keyedit.c:3918
+#: g10/keyedit.c:3919
 msgid ""
 "Please note that the shown key validity is not necessarily correct\n"
 "unless you restart the program.\n"
@@ -4879,19 +4897,19 @@ msgstr ""
 "Huomioi, että tässä näytetty voimassaolo ei ole välttämättä\n"
 "ajan tasalla jollet käynnistä ohjelmaa uudelleen\n"
 
-#: g10/keyedit.c:3979 g10/keyedit.c:4410 g10/keyserver.c:548
-#: g10/mainproc.c:2371 g10/tofu.c:1787 g10/trust.c:437 dirmngr/ocsp.c:791
+#: g10/keyedit.c:3980 g10/keyedit.c:4411 g10/keyserver.c:371
+#: g10/mainproc.c:2380 g10/tofu.c:1787 g10/trust.c:437 dirmngr/ocsp.c:791
 #, fuzzy
 msgid "revoked"
 msgstr "[mitätöity] "
 
-#: g10/keyedit.c:3981 g10/keyedit.c:4412 g10/keyserver.c:552
-#: g10/mainproc.c:2373 g10/tofu.c:1792 g10/trust.c:124
+#: g10/keyedit.c:3982 g10/keyedit.c:4413 g10/keyserver.c:375
+#: g10/mainproc.c:2382 g10/tofu.c:1792 g10/trust.c:124
 #, fuzzy
 msgid "expired"
 msgstr "expire"
 
-#: g10/keyedit.c:4098
+#: g10/keyedit.c:4099
 #, c-format
 msgid ""
 "WARNING: no user ID has been marked as primary.  This command may\n"
@@ -4900,18 +4918,18 @@ msgstr ""
 "VAROITUS: mitään käyttäjätunnusta ei ole merkitty ensisijaiseksi.  Tämän \n"
 "komennon johdosta eri käyttäjätunnus voi tulla oletetuksi ensisijaiseksi.\n"
 
-#: g10/keyedit.c:4150
+#: g10/keyedit.c:4151
 #, c-format
 msgid "WARNING: Your encryption subkey expires soon.\n"
 msgstr ""
 
-#: g10/keyedit.c:4151
+#: g10/keyedit.c:4152
 #, fuzzy, c-format
 #| msgid "You can't change the expiration date of a v3 key\n"
 msgid "You may want to change its expiration date too.\n"
 msgstr "Et voi muuttaa v3-avainten vanhentumispäivää\n"
 
-#: g10/keyedit.c:4210
+#: g10/keyedit.c:4211
 msgid ""
 "WARNING: This is a PGP2-style key.  Adding a photo ID may cause some "
 "versions\n"
@@ -4920,35 +4938,35 @@ msgstr ""
 "VAROITUS: Tämä on PGP2-muodon avain.  Valokuvan lisääminen voi\n"
 "          saada jotkin PGP:n versiot hylkäämään avaimen.\n"
 
-#: g10/keyedit.c:4215 g10/keyedit.c:4505
+#: g10/keyedit.c:4216 g10/keyedit.c:4506
 msgid "Are you sure you still want to add it? (y/N) "
 msgstr "Haluatko edelleen varmasti lisätä sen? (k/E) "
 
-#: g10/keyedit.c:4221
+#: g10/keyedit.c:4222
 msgid "You may not add a photo ID to a PGP2-style key.\n"
 msgstr "Et voi lisätä valokuvaa PGP2-muodon avaimeen.\n"
 
-#: g10/keyedit.c:4236 g10/keygen.c:2899
+#: g10/keyedit.c:4237 g10/keygen.c:2899
 msgid "Such a user ID already exists on this key!\n"
 msgstr ""
 
-#: g10/keyedit.c:4338
+#: g10/keyedit.c:4339
 msgid "Delete this good signature? (y/N/q)"
 msgstr "Poistetaanko tämä kelvollinen allekirjoitus? (k/E/l)"
 
-#: g10/keyedit.c:4348
+#: g10/keyedit.c:4349
 msgid "Delete this invalid signature? (y/N/q)"
 msgstr "Poistetaanko tämä epäkelpo allekirjoitus? (k/E/l)"
 
-#: g10/keyedit.c:4352
+#: g10/keyedit.c:4353
 msgid "Delete this unknown signature? (y/N/q)"
 msgstr "Poistetaanko tämä tuntematon allekirjoitus? (k/E/l)"
 
-#: g10/keyedit.c:4359
+#: g10/keyedit.c:4360
 msgid "Really delete this self-signature? (y/N)"
 msgstr "Varmastiko poista oma-allekirjoitus? (k/E)"
 
-#: g10/keyedit.c:4375
+#: g10/keyedit.c:4376
 #, fuzzy, c-format
 #| msgid "Deleted %d signature.\n"
 msgid "Deleted %d signature.\n"
@@ -4956,38 +4974,38 @@ msgid_plural "Deleted %d signatures.\n"
 msgstr[0] "%d allekirjoitus poistettu.\n"
 msgstr[1] "%d allekirjoitus poistettu.\n"
 
-#: g10/keyedit.c:4379
+#: g10/keyedit.c:4380
 msgid "Nothing deleted.\n"
 msgstr "Mitään ei poistettu.\n"
 
-#: g10/keyedit.c:4414
+#: g10/keyedit.c:4415
 #, fuzzy
 msgid "invalid"
 msgstr "virheellinen ascii-koodaus"
 
-#: g10/keyedit.c:4416
+#: g10/keyedit.c:4417
 #, fuzzy, c-format
 msgid "User ID \"%s\" compacted: %s\n"
 msgstr "Käyttäjätunnus \"%s\" on mitätöity."
 
-#: g10/keyedit.c:4422
+#: g10/keyedit.c:4423
 #, fuzzy, c-format
 msgid "User ID \"%s\": %d signature removed\n"
 msgid_plural "User ID \"%s\": %d signatures removed\n"
 msgstr[0] "Käyttäjätunnus \"%s\" on mitätöity."
 msgstr[1] "Käyttäjätunnus \"%s\" on mitätöity."
 
-#: g10/keyedit.c:4430
+#: g10/keyedit.c:4431
 #, fuzzy, c-format
 msgid "User ID \"%s\": already minimized\n"
 msgstr "käyttäjätunnus \"%s\" on jo mitätöity\n"
 
-#: g10/keyedit.c:4431
+#: g10/keyedit.c:4432
 #, fuzzy, c-format
 msgid "User ID \"%s\": already clean\n"
 msgstr "käyttäjätunnus \"%s\" on jo mitätöity\n"
 
-#: g10/keyedit.c:4500
+#: g10/keyedit.c:4501
 msgid ""
 "WARNING: This is a PGP 2.x-style key.  Adding a designated revoker may "
 "cause\n"
@@ -4997,41 +5015,41 @@ msgstr ""
 "voi\n"
 "          saada jotkin PGP:n versiot hylkäämään avaimen.\n"
 
-#: g10/keyedit.c:4511
+#: g10/keyedit.c:4512
 msgid "You may not add a designated revoker to a PGP 2.x-style key.\n"
 msgstr "Et voi lisätä määrättyä mitätöijää PGP 2.x -muodon avaimeen.\n"
 
-#: g10/keyedit.c:4528
+#: g10/keyedit.c:4529
 msgid "Enter the user ID of the designated revoker: "
 msgstr "Syötä määrätyn mitätöijän käyttäjätunnus: "
 
-#: g10/keyedit.c:4554
+#: g10/keyedit.c:4555
 #, c-format
 msgid "cannot appoint a PGP 2.x style key as a designated revoker\n"
 msgstr "PGP 2.x -avainta ei voi nimetä määrätyksi mitätöijäksi\n"
 
-#: g10/keyedit.c:4569
+#: g10/keyedit.c:4570
 #, c-format
 msgid "you cannot appoint a key as its own designated revoker\n"
 msgstr "et voi nimittää avainta sen omaksi määrätyksi mitätöijäksi\n"
 
-#: g10/keyedit.c:4591
+#: g10/keyedit.c:4592
 #, fuzzy, c-format
 msgid "this key has already been designated as a revoker\n"
 msgstr "VAROITUS: Tämän avaimen nimetty mitätöijä on mitätöinyt avaimen!\n"
 
-#: g10/keyedit.c:4609
+#: g10/keyedit.c:4610
 msgid "WARNING: appointing a key as a designated revoker cannot be undone!\n"
 msgstr "VAROITUS: avaimen nimittämistä määrätyksi mitätöijäksi ei voi perua!\n"
 
-#: g10/keyedit.c:4615
+#: g10/keyedit.c:4616
 #, fuzzy
 msgid ""
 "Are you sure you want to appoint this key as a designated revoker? (y/N) "
 msgstr ""
 "Haluatko varmasti nimittää tämän avaimen määrätyksi mitätöijäksi? (k/E): "
 
-#: g10/keyedit.c:4683
+#: g10/keyedit.c:4684
 #, fuzzy
 msgid ""
 "Are you sure you want to change the expiration time for multiple subkeys? (y/"
@@ -5039,183 +5057,183 @@ msgid ""
 msgstr ""
 "Haluatko varmasti nimittää tämän avaimen määrätyksi mitätöijäksi? (k/E): "
 
-#: g10/keyedit.c:4688
+#: g10/keyedit.c:4689
 #, fuzzy
 msgid "Changing expiration time for a subkey.\n"
 msgstr "Muutetaan toissijaisen avaimen vanhentumisaikaa.\n"
 
-#: g10/keyedit.c:4691
+#: g10/keyedit.c:4692
 msgid "Changing expiration time for the primary key.\n"
 msgstr "Muutetaan ensisijaisen avaimen vanhentumisaikaa.\n"
 
-#: g10/keyedit.c:4747
+#: g10/keyedit.c:4748
 #, c-format
 msgid "You can't change the expiration date of a v3 key\n"
 msgstr "Et voi muuttaa v3-avainten vanhentumispäivää\n"
 
-#: g10/keyedit.c:4807
+#: g10/keyedit.c:4808
 #, fuzzy
 msgid "Changing usage of a subkey.\n"
 msgstr "Muutetaan toissijaisen avaimen vanhentumisaikaa.\n"
 
-#: g10/keyedit.c:4810
+#: g10/keyedit.c:4811
 #, fuzzy
 #| msgid "Changing expiration time for the primary key.\n"
 msgid "Changing usage of the primary key.\n"
 msgstr "Muutetaan ensisijaisen avaimen vanhentumisaikaa.\n"
 
-#: g10/keyedit.c:4928
+#: g10/keyedit.c:4929
 #, fuzzy, c-format
 msgid "signing subkey %s is already cross-certified\n"
 msgstr "VAROITUS: allekirjoitusaliavain %08lX ei ole ristiinvarmennettu\n"
 
-#: g10/keyedit.c:4934
+#: g10/keyedit.c:4935
 #, c-format
 msgid "subkey %s does not sign and so does not need to be cross-certified\n"
 msgstr ""
 
-#: g10/keyedit.c:5051
+#: g10/keyedit.c:5052
 msgid "Please select exactly one user ID.\n"
 msgstr "Valitse tasan yksi käyttäjätunnus!\n"
 
-#: g10/keyedit.c:5092 g10/keyedit.c:5206 g10/keyedit.c:5319 g10/keyedit.c:5457
+#: g10/keyedit.c:5093 g10/keyedit.c:5207 g10/keyedit.c:5320 g10/keyedit.c:5458
 #, fuzzy, c-format
 msgid "skipping v3 self-signature on user ID \"%s\"\n"
 msgstr "ohitetaan v3-muodon oma-allekirjoitus käyttäjätunnukselle \"%s\"\n"
 
-#: g10/keyedit.c:5263
+#: g10/keyedit.c:5264
 msgid "Enter your preferred keyserver URL: "
 msgstr ""
 
-#: g10/keyedit.c:5342
+#: g10/keyedit.c:5343
 #, fuzzy
 msgid "Are you sure you want to replace it? (y/N) "
 msgstr "Haluatko varmasti käyttää sitä (k/E)? "
 
-#: g10/keyedit.c:5343
+#: g10/keyedit.c:5344
 #, fuzzy
 msgid "Are you sure you want to delete it? (y/N) "
 msgstr "Haluatko varmasti käyttää sitä (k/E)? "
 
-#: g10/keyedit.c:5403
+#: g10/keyedit.c:5404
 #, fuzzy
 msgid "Enter the notation: "
 msgstr "Allekirjoitusnotaatio: "
 
-#: g10/keyedit.c:5550
+#: g10/keyedit.c:5551
 #, fuzzy
 msgid "Proceed? (y/N) "
 msgstr "Ylikirjoita (k/E)? "
 
-#: g10/keyedit.c:5620
+#: g10/keyedit.c:5621
 #, c-format
 msgid "No user ID with index %d\n"
 msgstr "Indeksillä %d ei löydy käyttäjätunnusta\n"
 
-#: g10/keyedit.c:5682
+#: g10/keyedit.c:5683
 #, fuzzy, c-format
 msgid "No user ID with hash %s\n"
 msgstr "Indeksillä %d ei löydy käyttäjätunnusta\n"
 
-#: g10/keyedit.c:5783
+#: g10/keyedit.c:5784
 #, fuzzy, c-format
 msgid "No subkey with key ID '%s'.\n"
 msgstr "Indeksillä %d ei löydy käyttäjätunnusta\n"
 
-#: g10/keyedit.c:5805
+#: g10/keyedit.c:5806
 #, fuzzy, c-format
 msgid "No subkey with index %d\n"
 msgstr "Indeksillä %d ei löydy käyttäjätunnusta\n"
 
-#: g10/keyedit.c:5946
+#: g10/keyedit.c:5947
 #, fuzzy, c-format
 msgid "user ID: \"%s\"\n"
 msgstr "käyttäjätunnus: \""
 
-#: g10/keyedit.c:5949 g10/keyedit.c:6051 g10/keyedit.c:6099
+#: g10/keyedit.c:5950 g10/keyedit.c:6052 g10/keyedit.c:6100
 #, fuzzy, c-format
 msgid "signed by your key %s on %s%s%s\n"
 msgstr "   %08lX allekirjoitti tämän %s%s%s\n"
 
-#: g10/keyedit.c:5951 g10/keyedit.c:6053 g10/keyedit.c:6101
+#: g10/keyedit.c:5952 g10/keyedit.c:6054 g10/keyedit.c:6102
 msgid " (non-exportable)"
 msgstr " (vientiin kelpaamaton)"
 
-#: g10/keyedit.c:5955
+#: g10/keyedit.c:5956
 #, c-format
 msgid "This signature expired on %s.\n"
 msgstr "Tämä allekirjoitus vanheni %s.\n"
 
-#: g10/keyedit.c:5960
+#: g10/keyedit.c:5961
 msgid "Are you sure you still want to revoke it? (y/N) "
 msgstr "Haluatko varmasti mitätöidä sen? (k/E) "
 
-#: g10/keyedit.c:5965
+#: g10/keyedit.c:5966
 msgid "Create a revocation certificate for this signature? (y/N) "
 msgstr "Luodaanko tälle alekirjoitukselle mitätöintivarmenne? (k/E) "
 
-#: g10/keyedit.c:6025
+#: g10/keyedit.c:6026
 #, fuzzy, c-format
 msgid "You have signed these user IDs on key %s:\n"
 msgstr "Olet allekirjoittanut seuraavat käyttäjätunnukset:\n"
 
-#: g10/keyedit.c:6054
+#: g10/keyedit.c:6055
 #, fuzzy
 msgid " (non-revocable)"
 msgstr " (vientiin kelpaamaton)"
 
-#: g10/keyedit.c:6061
+#: g10/keyedit.c:6062
 #, fuzzy, c-format
 msgid "revoked by your key %s on %s\n"
 msgstr "   %08lX mitätöi tämän %s\n"
 
-#: g10/keyedit.c:6086
+#: g10/keyedit.c:6087
 msgid "You are about to revoke these signatures:\n"
 msgstr "Olet mitätöimässä seuraavat allekirjoitukset:\n"
 
-#: g10/keyedit.c:6109
+#: g10/keyedit.c:6110
 msgid "Really create the revocation certificates? (y/N) "
 msgstr "Varmastiko luo mitätöintivarmenteet? (k/E) "
 
-#: g10/keyedit.c:6142
+#: g10/keyedit.c:6143
 #, c-format
 msgid "no secret key\n"
 msgstr "salainen avain ei ole saatavilla\n"
 
-#: g10/keyedit.c:6190
+#: g10/keyedit.c:6191
 #, c-format
 msgid "tried to revoke a non-user ID: %s\n"
 msgstr ""
 
-#: g10/keyedit.c:6200
+#: g10/keyedit.c:6201
 #, c-format
 msgid "user ID \"%s\" is already revoked\n"
 msgstr "käyttäjätunnus \"%s\" on jo mitätöity\n"
 
-#: g10/keyedit.c:6217
+#: g10/keyedit.c:6218
 #, c-format
 msgid "WARNING: a user ID signature is dated %d seconds in the future\n"
 msgstr ""
 "VAROITUS: käyttäjätunnuksen allekirjoitus on päivätty %d sekuntin päähän "
 "tulevaisuuteen\n"
 
-#: g10/keyedit.c:6313
+#: g10/keyedit.c:6314
 #, fuzzy, c-format
 #| msgid "You can't delete the last user ID!\n"
 msgid "Cannot revoke the last valid user ID.\n"
 msgstr "Et voi poistaa viimeistä käyttäjätunnusta!\n"
 
-#: g10/keyedit.c:6351
+#: g10/keyedit.c:6352
 #, fuzzy, c-format
 msgid "Key %s is already revoked.\n"
 msgstr "käyttäjätunnus \"%s\" on jo mitätöity\n"
 
-#: g10/keyedit.c:6413
+#: g10/keyedit.c:6414
 #, fuzzy, c-format
 msgid "Subkey %s is already revoked.\n"
 msgstr "käyttäjätunnus \"%s\" on jo mitätöity\n"
 
-#: g10/keyedit.c:6510
+#: g10/keyedit.c:6511
 #, fuzzy, c-format
 msgid "Displaying %s photo ID of size %ld for key %s (uid %d)\n"
 msgstr ""
@@ -5949,80 +5967,75 @@ msgstr "annettu allekirjoituskäytännön URL on virheellinen\n"
 msgid "honor the PKA record set on a key when retrieving keys"
 msgstr ""
 
-#: g10/keyserver.c:550
+#: g10/keyserver.c:373
 #, fuzzy
 msgid "disabled"
 msgstr "disable"
 
-#: g10/keyserver.c:754
+#: g10/keyserver.c:577
 msgid "Enter number(s), N)ext, or Q)uit > "
 msgstr ""
 
-#: g10/keyserver.c:860
+#: g10/keyserver.c:683
 #, fuzzy, c-format
 msgid "invalid keyserver protocol (us %d!=handler %d)\n"
 msgstr "virheelliset vientivalitsimet\n"
 
-#: g10/keyserver.c:1001 g10/keyserver.c:1116
+#: g10/keyserver.c:824 g10/keyserver.c:939
 #, c-format
 msgid "\"%s\" not a key ID: skipping\n"
 msgstr ""
 
-#: g10/keyserver.c:1438 g10/keyserver.c:1471
+#: g10/keyserver.c:1237 g10/keyserver.c:1270
 #, fuzzy, c-format
 msgid "refreshing %d key from %s\n"
 msgid_plural "refreshing %d keys from %s\n"
 msgstr[0] "pyydetään avainta %08lX kohteesta %s\n"
 msgstr[1] "pyydetään avainta %08lX kohteesta %s\n"
 
-#: g10/keyserver.c:1445
+#: g10/keyserver.c:1244
 #, fuzzy, c-format
 msgid "WARNING: unable to refresh key %s via %s: %s\n"
 msgstr "VAROITUS: tilapäistiedostoa (%s) \"%s\" ei voi poistaa: %s\n"
 
-#: g10/keyserver.c:1549
+#: g10/keyserver.c:1336
 #, fuzzy, c-format
 msgid "key \"%s\" not found on keyserver\n"
 msgstr "avainta \"%s\" ei löydy: %s\n"
 
-#: g10/keyserver.c:1552
+#: g10/keyserver.c:1339
 #, fuzzy, c-format
 msgid "key not found on keyserver\n"
 msgstr "avainta \"%s\" ei löydy: %s\n"
 
-#: g10/keyserver.c:1743
-#, fuzzy, c-format
-msgid "requesting key %s from %s server %s\n"
-msgstr "pyydetään avainta %08lX kohteesta %s\n"
-
-#: g10/keyserver.c:1747
+#: g10/keyserver.c:1504
 #, fuzzy, c-format
 msgid "requesting key %s from %s\n"
 msgstr "pyydetään avainta %08lX kohteesta %s\n"
 
-#: g10/keyserver.c:1852 g10/keyserver.c:2031
+#: g10/keyserver.c:1619 g10/keyserver.c:1798
 #, fuzzy, c-format
 msgid "no keyserver known\n"
 msgstr "virheelliset vientivalitsimet\n"
 
-#: g10/keyserver.c:1867 g10/skclist.c:214 g10/skclist.c:242
+#: g10/keyserver.c:1634 g10/skclist.c:215 g10/skclist.c:243
 #, fuzzy, c-format
 msgid "skipped \"%s\": %s\n"
 msgstr "ohitetaan \"%s\": %s\n"
 
-#: g10/keyserver.c:1871
+#: g10/keyserver.c:1638
 #, fuzzy, c-format
 msgid "sending key %s to %s\n"
 msgstr ""
 "\"\n"
 "allekirjoitettu avaimellasi %08lX %s\n"
 
-#: g10/keyserver.c:1912
+#: g10/keyserver.c:1679
 #, fuzzy, c-format
 msgid "requesting key from '%s'\n"
 msgstr "pyydetään avainta %08lX kohteesta %s\n"
 
-#: g10/keyserver.c:1928
+#: g10/keyserver.c:1695
 #, fuzzy, c-format
 msgid "WARNING: unable to fetch URI %s: %s\n"
 msgstr "VAROITUS: tilapäistiedostoa (%s) \"%s\" ei voi poistaa: %s\n"
@@ -6037,250 +6050,250 @@ msgstr "outo koko salatulle istuntoavaimelle (%d)\n"
 msgid "%s encrypted session key\n"
 msgstr "%s-salattu istuntoavain\n"
 
-#: g10/mainproc.c:400
+#: g10/mainproc.c:403
 #, fuzzy, c-format
 msgid "passphrase generated with unknown digest algorithm %d\n"
 msgstr "salattu tuntemattomalla algoritmilla %d\n"
 
-#: g10/mainproc.c:481
+#: g10/mainproc.c:485
 #, fuzzy, c-format
 msgid "public key is %s\n"
 msgstr "julkinen avain on %08lX\n"
 
-#: g10/mainproc.c:557
+#: g10/mainproc.c:561
 #, c-format
 msgid "public key encrypted data: good DEK\n"
 msgstr "julkisella avaimella salattu data: DEK kelpaa\n"
 
-#: g10/mainproc.c:590
+#: g10/mainproc.c:594
 #, fuzzy, c-format
 msgid "encrypted with %u-bit %s key, ID %s, created %s\n"
 msgstr "salattu %u-bittisella %s-avaimella, tunnus %08lX, luotu %s\n"
 
-#: g10/mainproc.c:594 g10/pkclist.c:228
+#: g10/mainproc.c:598 g10/pkclist.c:228
 #, fuzzy, c-format
 msgid "      \"%s\"\n"
 msgstr "                aka \""
 
-#: g10/mainproc.c:598
+#: g10/mainproc.c:602
 #, fuzzy, c-format
 msgid "encrypted with %s key, ID %s\n"
 msgstr "salattu %s-avaimella, tunnus %08lX\n"
 
-#: g10/mainproc.c:619
+#: g10/mainproc.c:623
 #, c-format
 msgid "public key decryption failed: %s\n"
 msgstr "julkisen avaimen avaus epäonnistui: %s\n"
 
-#: g10/mainproc.c:641 g10/mainproc.c:970
+#: g10/mainproc.c:645 g10/mainproc.c:976
 #, c-format
 msgid "WARNING: multiple plaintexts seen\n"
 msgstr ""
 
-#: g10/mainproc.c:649
+#: g10/mainproc.c:653
 #, c-format
 msgid "encrypted with %lu passphrases\n"
 msgstr "salattu %lu salasanalla\n"
 
-#: g10/mainproc.c:651
+#: g10/mainproc.c:655
 #, c-format
 msgid "encrypted with 1 passphrase\n"
 msgstr "salattu yhdellä salasanalla\n"
 
-#: g10/mainproc.c:685 g10/mainproc.c:706
+#: g10/mainproc.c:689 g10/mainproc.c:710
 #, c-format
 msgid "assuming %s encrypted data\n"
 msgstr "oletettavasti %s-salattua dataa\n"
 
-#: g10/mainproc.c:692
+#: g10/mainproc.c:696
 #, c-format
 msgid "IDEA cipher unavailable, optimistically attempting to use %s instead\n"
 msgstr ""
 "IDEA-salain ei käytettävissä, yritetään optimistisesti \n"
 "käyttää sen sijaan salainta %s\n"
 
-#: g10/mainproc.c:779 g10/mainproc.c:817
+#: g10/mainproc.c:785 g10/mainproc.c:823
 #, c-format
 msgid "WARNING: message was not integrity protected\n"
 msgstr "VAROITUS: viestin eheyttä ei oltu suojattu\n"
 
-#: g10/mainproc.c:790
+#: g10/mainproc.c:796
 msgid ""
 "Hint: If this message was created before the year 2003 it is\n"
 "likely that this message is legitimate.  This is because back\n"
 "then integrity protection was not widely used.\n"
 msgstr ""
 
-#: g10/mainproc.c:793
+#: g10/mainproc.c:799
 #, c-format
 msgid "Use the option '%s' to decrypt anyway.\n"
 msgstr ""
 
-#: g10/mainproc.c:798
+#: g10/mainproc.c:804
 #, fuzzy, c-format
 #| msgid "decryption failed: %s\n"
 msgid "decryption forced to fail!\n"
 msgstr "avaus epäonnistui: %s\n"
 
-#: g10/mainproc.c:810
+#: g10/mainproc.c:816
 #, c-format
 msgid "decryption okay\n"
 msgstr "avaus onnistui\n"
 
-#: g10/mainproc.c:823
+#: g10/mainproc.c:829
 #, c-format
 msgid "WARNING: encrypted message has been manipulated!\n"
 msgstr "VAROITUS: salattua viestiä on muokattu!\n"
 
-#: g10/mainproc.c:841
+#: g10/mainproc.c:847
 #, c-format
 msgid "decryption failed: %s\n"
 msgstr "avaus epäonnistui: %s\n"
 
-#: g10/mainproc.c:886
+#: g10/mainproc.c:892
 #, fuzzy, c-format
 #| msgid "NOTE: sender requested \"for-your-eyes-only\"\n"
 msgid "Note: sender requested \"for-your-eyes-only\"\n"
 msgstr "HUOM: lähettäjä määrittää \"vain-sinun-silmillesi\"\n"
 
-#: g10/mainproc.c:893
+#: g10/mainproc.c:899
 #, c-format
 msgid "original file name='%.*s'\n"
 msgstr "alkuperäisen tiedoston nimi=\"%.*s\"\n"
 
-#: g10/mainproc.c:1148
+#: g10/mainproc.c:1154
 #, c-format
 msgid "standalone revocation - use \"gpg --import\" to apply\n"
 msgstr "itsenäinen mitätöinti - käytä \"gpg --import\" ottaaksesi käyttöön\n"
 
-#: g10/mainproc.c:1452 g10/mainproc.c:1495
+#: g10/mainproc.c:1458 g10/mainproc.c:1501
 #, fuzzy, c-format
 msgid "no signature found\n"
 msgstr "Allekirjoitus täsmää lähettäjään \""
 
-#: g10/mainproc.c:1852
+#: g10/mainproc.c:1858
 #, fuzzy, c-format
 msgid "BAD signature from \"%s\""
 msgstr "VÄÄRÄ allekirjoitus lähettäjältä \""
 
-#: g10/mainproc.c:1854
+#: g10/mainproc.c:1860
 #, fuzzy, c-format
 msgid "Expired signature from \"%s\""
 msgstr "Vanhentunut allekirjoitus lähettäjältä \""
 
-#: g10/mainproc.c:1856
+#: g10/mainproc.c:1862
 #, fuzzy, c-format
 msgid "Good signature from \"%s\""
 msgstr "Allekirjoitus täsmää lähettäjään \""
 
-#: g10/mainproc.c:1876
+#: g10/mainproc.c:1882
 #, c-format
 msgid "signature verification suppressed\n"
 msgstr "allekirjoituksen varmistus vaiennetaan\n"
 
-#: g10/mainproc.c:1985
+#: g10/mainproc.c:1991
 #, fuzzy, c-format
 msgid "can't handle this ambiguous signature data\n"
 msgstr "näitä allekirjoituksia ei voi käsitellä\n"
 
-#: g10/mainproc.c:2001 g10/mainproc.c:2008
+#: g10/mainproc.c:2007 g10/mainproc.c:2014
 #, fuzzy, c-format
 msgid "Signature made %s\n"
 msgstr "Allekirjoitus vanheni %s\n"
 
-#: g10/mainproc.c:2002 g10/mainproc.c:2009 sm/verify.c:476
+#: g10/mainproc.c:2008 g10/mainproc.c:2015 sm/verify.c:476
 #, fuzzy, c-format
 msgid "               using %s key %s\n"
 msgstr "                aka \""
 
-#: g10/mainproc.c:2013
+#: g10/mainproc.c:2019
 #, fuzzy, c-format
 msgid "Signature made %s using %s key ID %s\n"
 msgstr ""
 "Allekirjoitus tehty %.*s käyttämällä %s-algoritmia avaintunnuksella %08lX\n"
 
-#: g10/mainproc.c:2019
+#: g10/mainproc.c:2025
 #, fuzzy, c-format
 msgid "               issuer \"%s\"\n"
 msgstr "                aka \""
 
-#: g10/mainproc.c:2070
+#: g10/mainproc.c:2076
 #, c-format
 msgid "Key available at: "
 msgstr "Avain saatavilla kohteessa: "
 
-#: g10/mainproc.c:2111
+#: g10/mainproc.c:2118
 #, c-format
 msgid "Note: Use '%s' to make use of this info\n"
 msgstr ""
 
-#: g10/mainproc.c:2325
+#: g10/mainproc.c:2334
 msgid "[uncertain]"
 msgstr "[ei tiedossa]"
 
-#: g10/mainproc.c:2363
+#: g10/mainproc.c:2372
 #, fuzzy, c-format
 msgid "                aka \"%s\""
 msgstr "                aka \""
 
-#: g10/mainproc.c:2438
+#: g10/mainproc.c:2447
 #, fuzzy, c-format
 #| msgid "WARNING: This key is not certified with a trusted signature!\n"
 msgid "WARNING: This key is not suitable for signing in %s mode\n"
 msgstr ""
 "VAROITUS: Tätä avainta ei ole varmennettu luotettavalla allekirjoituksella!\n"
 
-#: g10/mainproc.c:2456
+#: g10/mainproc.c:2465
 #, c-format
 msgid "Signature expired %s\n"
 msgstr "Allekirjoitus vanheni %s\n"
 
-#: g10/mainproc.c:2460
+#: g10/mainproc.c:2469
 #, c-format
 msgid "Signature expires %s\n"
 msgstr "Allekirjoitus vanhenee %s\n"
 
 # Ensimmäinen %s on binary, textmode tai unknown, ks. alla
-#: g10/mainproc.c:2471
+#: g10/mainproc.c:2480
 #, fuzzy, c-format
 #| msgid "%s signature, digest algorithm %s\n"
 msgid "%s signature, digest algorithm %s%s%s\n"
 msgstr "%sallekirjoitus, tiivistealgoritmi %s\n"
 
-#: g10/mainproc.c:2472
+#: g10/mainproc.c:2481
 msgid "binary"
 msgstr "binääri"
 
-#: g10/mainproc.c:2473
+#: g10/mainproc.c:2482
 msgid "textmode"
 msgstr "teksti"
 
-#: g10/mainproc.c:2473 g10/trust.c:123 dirmngr/ocsp.c:792
+#: g10/mainproc.c:2482 g10/trust.c:123 dirmngr/ocsp.c:792
 msgid "unknown"
 msgstr "tuntematon "
 
-#: g10/mainproc.c:2475
+#: g10/mainproc.c:2484
 #, fuzzy
 #| msgid "unknown pubkey algorithm"
 msgid ", key algorithm "
 msgstr "tuntematon julkisen avaimen algoritmi"
 
-#: g10/mainproc.c:2510
+#: g10/mainproc.c:2519
 #, c-format
 msgid "WARNING: not a detached signature; file '%s' was NOT verified!\n"
 msgstr ""
 
-#: g10/mainproc.c:2548
+#: g10/mainproc.c:2558
 #, c-format
 msgid "Can't check signature: %s\n"
 msgstr "Allekirjoitusta ei voi tarkistaa: %s\n"
 
-#: g10/mainproc.c:2644 g10/mainproc.c:2663 g10/mainproc.c:2787
+#: g10/mainproc.c:2654 g10/mainproc.c:2673 g10/mainproc.c:2797
 #, c-format
 msgid "not a detached signature\n"
 msgstr "allekirjoitus ei ole erillinen\n"
 
-#: g10/mainproc.c:2697
+#: g10/mainproc.c:2707
 #, c-format
 msgid ""
 "WARNING: multiple signatures detected.  Only the first will be checked.\n"
@@ -6288,12 +6301,12 @@ msgstr ""
 "VAROITUS: useita allekirjoituksia havaittu.  Vain ensimmäisen voi "
 "tarkistaa.\n"
 
-#: g10/mainproc.c:2706
+#: g10/mainproc.c:2716
 #, c-format
 msgid "standalone signature of class 0x%02x\n"
 msgstr "itsenäinen allekirjoitus luokkaa 0x%02x\n"
 
-#: g10/mainproc.c:2791
+#: g10/mainproc.c:2801
 #, c-format
 msgid "old style (PGP 2.x) signature\n"
 msgstr "vanhan tyylin (PGP 2.x) allekirjoitus\n"
@@ -6483,56 +6496,61 @@ msgstr "Kriittinen allekirjoitusnotaatio: "
 msgid "subpacket of type %d has critical bit set\n"
 msgstr "tyypin %d alipaketilla on kriittinen bitti asetettuna\n"
 
-#: g10/passphrase.c:73 g10/passphrase.c:275 g10/passphrase.c:308
+#: g10/passphrase.c:73 g10/passphrase.c:283 g10/passphrase.c:316
 #, fuzzy, c-format
 msgid "problem with the agent: %s\n"
 msgstr "agentin käytössä on ongelmia: agentti vastaa 0x%lx\n"
 
-#: g10/passphrase.c:258
+#: g10/passphrase.c:251 sm/decrypt.c:341
+#, fuzzy
+msgid "Please enter the passphrase for decryption."
+msgstr "muuta salasanaa"
+
+#: g10/passphrase.c:253
 msgid "Enter passphrase\n"
 msgstr "Syötä salasana\n"
 
-#: g10/passphrase.c:269
+#: g10/passphrase.c:277
 #, c-format
 msgid "cancelled by user\n"
 msgstr "käyttäjän peruma\n"
 
-#: g10/passphrase.c:510
+#: g10/passphrase.c:523
 #, fuzzy, c-format
 msgid " (main key ID %s)"
 msgstr " (pääavaimen tunnus %08lX)"
 
-#: g10/passphrase.c:517
+#: g10/passphrase.c:530
 #, fuzzy
 msgid "Please enter the passphrase to unlock the OpenPGP secret key:"
 msgstr "Ole hyvä ja syötä salasana, tämän on salainen lause \n"
 
-#: g10/passphrase.c:521
+#: g10/passphrase.c:534
 #, fuzzy
 msgid "Please enter the passphrase to import the OpenPGP secret key:"
 msgstr "Ole hyvä ja syötä salasana, tämän on salainen lause \n"
 
-#: g10/passphrase.c:526
+#: g10/passphrase.c:539
 #, fuzzy
 msgid "Please enter the passphrase to export the OpenPGP secret subkey:"
 msgstr "Ole hyvä ja syötä salasana, tämän on salainen lause \n"
 
-#: g10/passphrase.c:529
+#: g10/passphrase.c:542
 #, fuzzy
 msgid "Please enter the passphrase to export the OpenPGP secret key:"
 msgstr "Ole hyvä ja syötä salasana, tämän on salainen lause \n"
 
-#: g10/passphrase.c:534
+#: g10/passphrase.c:547
 #, fuzzy
 msgid "Do you really want to permanently delete the OpenPGP secret subkey key:"
 msgstr "Haluatko varmasti poistaa valitut avaimet? "
 
-#: g10/passphrase.c:537
+#: g10/passphrase.c:550
 #, fuzzy
 msgid "Do you really want to permanently delete the OpenPGP secret key:"
 msgstr "Haluatko varmasti poistaa valitut avaimet? "
 
-#: g10/passphrase.c:546
+#: g10/passphrase.c:559
 #, fuzzy, c-format
 msgid ""
 "%s\n"
@@ -6585,7 +6603,7 @@ msgstr "\"%s\" ei ole JPEG-tiedosto\n"
 msgid "Is this photo correct (y/N/q)? "
 msgstr "Onko tämä oikein (k/E/l)? "
 
-#: g10/photoid.c:395
+#: g10/photoid.c:399
 #, c-format
 msgid "unable to display photo ID!\n"
 msgstr "valokuvatunnistetta ei voi näyttää!\n"
@@ -6949,7 +6967,7 @@ msgstr "allekirjoitetun datan \"%s\" avaaminen ei onnistu\n"
 msgid "can't open signed data fd=%d: %s\n"
 msgstr "allekirjoitetun datan \"%s\" avaaminen ei onnistu\n"
 
-#: g10/pubkey-enc.c:98 g10/pubkey-enc.c:139 sm/decrypt.c:493
+#: g10/pubkey-enc.c:98 g10/pubkey-enc.c:139 sm/decrypt.c:969
 #, fuzzy, c-format
 msgid "key %s is not suitable for decryption in %s mode\n"
 msgstr "avain %08lX: ei käyttäjätunnusta\n"
@@ -6964,27 +6982,27 @@ msgstr "nimetön vastaanottaja; yritän käyttää salaista avainta %08lX ...\n"
 msgid "okay, we are the anonymous recipient.\n"
 msgstr "ok, nimetön vastaanottaja olet sinä.\n"
 
-#: g10/pubkey-enc.c:321
+#: g10/pubkey-enc.c:311
 #, c-format
 msgid "old encoding of the DEK is not supported\n"
 msgstr "vanhaa DEK-koodaus ei tueta\n"
 
-#: g10/pubkey-enc.c:349
+#: g10/pubkey-enc.c:339
 #, c-format
 msgid "cipher algorithm %d%s is unknown or disabled\n"
 msgstr "salausalgoritmi %d%s on tuntematon tai poistettu käytöstä\n"
 
-#: g10/pubkey-enc.c:393
+#: g10/pubkey-enc.c:383
 #, fuzzy, c-format
 msgid "WARNING: cipher algorithm %s not found in recipient preferences\n"
 msgstr "HUOM: salausalgoritmia %d ei löydy valinnoista\n"
 
-#: g10/pubkey-enc.c:426
+#: g10/pubkey-enc.c:416
 #, fuzzy, c-format
 msgid "Note: secret key %s expired at %s\n"
 msgstr "HUOM: salainen avain %08lX vanheni %s\n"
 
-#: g10/pubkey-enc.c:433
+#: g10/pubkey-enc.c:423
 #, fuzzy, c-format
 #| msgid "NOTE: key has been revoked"
 msgid "Note: key has been revoked"
@@ -7303,41 +7321,41 @@ msgstr ""
 msgid "%s/%s signature from: \"%s\"\n"
 msgstr "%s-allekirjoitus lähettäjältä: \"%s\"\n"
 
-#: g10/sign.c:1046
+#: g10/sign.c:1045
 #, fuzzy, c-format
 msgid ""
 "WARNING: forcing digest algorithm %s (%d) violates recipient preferences\n"
 msgstr ""
 "valittua tiivistesalgoritmia %s (%d) ei löydy vastaanottajan valinnoista\n"
 
-#: g10/sign.c:1188
+#: g10/sign.c:1187
 #, c-format
 msgid "signing:"
 msgstr "allekirjoitetaan:"
 
-#: g10/sign.c:1465
+#: g10/sign.c:1464
 #, c-format
 msgid "%s encryption will be used\n"
 msgstr "käytetään %s-salausta\n"
 
-#: g10/skclist.c:173 g10/skclist.c:254
+#: g10/skclist.c:174 g10/skclist.c:255
 #, c-format
 msgid "key is not flagged as insecure - can't use it with the faked RNG!\n"
 msgstr ""
 "avainta ei ole merkitty turvattomaksi - sitä ei voida käyttää jäljitellyn\n"
 "satunnaislukugeneraattorin kanssa!\n"
 
-#: g10/skclist.c:205
+#: g10/skclist.c:206
 #, fuzzy, c-format
 msgid "skipped \"%s\": duplicated\n"
 msgstr "ohitetaan \"%s\": kopio\n"
 
-#: g10/skclist.c:224
+#: g10/skclist.c:225
 #, c-format
 msgid "skipped: secret key already present\n"
 msgstr "ohitetaan: salainen avain on jo paikalla\n"
 
-#: g10/skclist.c:243
+#: g10/skclist.c:244
 #, fuzzy
 msgid "this is a PGP generated Elgamal key which is not secure for signatures!"
 msgstr ""
@@ -7397,7 +7415,7 @@ msgstr "lukuvirhe: %s\n"
 msgid "trustdb: sync failed: %s\n"
 msgstr "trustdb: synkronointi epäonnistui: %s\n"
 
-#: g10/tdbio.c:144 sm/keydb.c:336
+#: g10/tdbio.c:144 sm/keydb.c:335
 #, fuzzy, c-format
 msgid "can't create lock for '%s'\n"
 msgstr "tiedostoa \"%s\" ei voi luoda: %s\n"
@@ -8136,40 +8154,52 @@ msgstr "Käyttö: gpg [valitsimet] [tiedostot] (-h näyttää ohjeen)"
 #. TRANSLATORS: Put a \x1f right before a colon.  This can be
 #. * used by pinentry to nicely align the names and values.  Keep
 #. * the %s at the start and end of the string.
-#: scd/app-p15.c:3369 scd/app-openpgp.c:2153
+#: scd/app-p15.c:4955 scd/app-openpgp.c:2151
 #, c-format
 msgid "%sNumber\1f: %s%%0AHolder\1f: %s%s"
 msgstr ""
 
 #. TRANSLATORS: This is the number of remaining attempts to
 #. * enter a PIN.  Use %%0A (double-percent,0A) for a linefeed.
-#: scd/app-p15.c:3388 scd/app-openpgp.c:2169
+#: scd/app-p15.c:4974 scd/app-openpgp.c:2167
 #, c-format
 msgid "Remaining attempts: %d"
 msgstr ""
 
-#: scd/app-p15.c:3459 scd/app-nks.c:1110
+#: scd/app-p15.c:5053 scd/app-nks.c:1113
 msgid "||Please enter the PIN for the key to create qualified signatures."
 msgstr ""
 
-#: scd/app-p15.c:3462 scd/app-nks.c:1092
+#. TRANSLATORS: Do not translate the "|A|" prefix but keep it at
+#. the start of the string.  Use %0A (single percent) for a linefeed.
+#: scd/app-p15.c:5056 scd/app-openpgp.c:2461
+#, fuzzy
+msgid "|A|Please enter the Admin PIN"
+msgstr "muuta salasanaa"
+
+#: scd/app-p15.c:5058 scd/app-nks.c:1103
+#, fuzzy
+msgid "|P|Please enter the PIN Unblocking Code (PUK) for the standard keys."
+msgstr "Valitse mitätöinnin syy:\n"
+
+#: scd/app-p15.c:5061 scd/app-nks.c:1095
 #, fuzzy
 msgid "||Please enter the PIN for the standard keys."
 msgstr "muuta salasanaa"
 
-#: scd/app-nks.c:709 scd/app-openpgp.c:3664
+#: scd/app-nks.c:709 scd/app-openpgp.c:3663
 #, c-format
 msgid "RSA modulus missing or not of size %d bits\n"
 msgstr ""
 
-#: scd/app-nks.c:717 scd/app-openpgp.c:3676
+#: scd/app-nks.c:717 scd/app-openpgp.c:3675
 #, c-format
 msgid "RSA public exponent missing or larger than %d bits\n"
 msgstr ""
 
-#: scd/app-nks.c:797 scd/app-openpgp.c:2326 scd/app-openpgp.c:2345
-#: scd/app-openpgp.c:2512 scd/app-openpgp.c:2530 scd/app-openpgp.c:2827
-#: scd/app-openpgp.c:2874 scd/app-openpgp.c:2989 scd/app-dinsig.c:303
+#: scd/app-nks.c:797 scd/app-openpgp.c:2324 scd/app-openpgp.c:2343
+#: scd/app-openpgp.c:2510 scd/app-openpgp.c:2528 scd/app-openpgp.c:2826
+#: scd/app-openpgp.c:2873 scd/app-openpgp.c:2988 scd/app-dinsig.c:302
 #, c-format
 msgid "PIN callback returned error: %s\n"
 msgstr ""
@@ -8179,79 +8209,74 @@ msgstr ""
 msgid "the NullPIN has not yet been changed\n"
 msgstr ""
 
-#: scd/app-nks.c:1091
+#: scd/app-nks.c:1094
 #, fuzzy
 msgid "|N|Please enter a new PIN for the standard keys."
 msgstr "muuta salasanaa"
 
-#: scd/app-nks.c:1098
+#: scd/app-nks.c:1101
 #, fuzzy
 msgid "|NP|Please enter a new PIN Unblocking Code (PUK) for the standard keys."
 msgstr "Valitse mitätöinnin syy:\n"
 
-#: scd/app-nks.c:1100
-#, fuzzy
-msgid "|P|Please enter the PIN Unblocking Code (PUK) for the standard keys."
-msgstr "Valitse mitätöinnin syy:\n"
-
-#: scd/app-nks.c:1108
+#: scd/app-nks.c:1111
 msgid "|N|Please enter a new PIN for the key to create qualified signatures."
 msgstr ""
 
-#: scd/app-nks.c:1118
+#: scd/app-nks.c:1121
 msgid ""
 "|NP|Please enter a new PIN Unblocking Code (PUK) for the key to create "
 "qualified signatures."
 msgstr ""
 
-#: scd/app-nks.c:1120
+#: scd/app-nks.c:1123
 msgid ""
 "|P|Please enter the PIN Unblocking Code (PUK) for the key to create "
 "qualified signatures."
 msgstr ""
 
-#: scd/app-nks.c:1227 scd/app-openpgp.c:2908 scd/app-dinsig.c:531
+#: scd/app-nks.c:1230 scd/app-openpgp.c:2907 scd/app-dinsig.c:532
 #, fuzzy, c-format
 msgid "error getting new PIN: %s\n"
 msgstr "virhe luotaessa salasanaa: %s\n"
 
-#: scd/app-openpgp.c:860
+#: scd/app-openpgp.c:859
 #, fuzzy, c-format
 msgid "failed to store the fingerprint: %s\n"
 msgstr "TrustDB:n alustaminen ei onnistu: %s\n"
 
-#: scd/app-openpgp.c:873
+#: scd/app-openpgp.c:872
 #, fuzzy, c-format
 msgid "failed to store the creation date: %s\n"
 msgstr "avainrenkaan välimuistin uudelleenluominen epäonnistui: %s\n"
 
-#: scd/app-openpgp.c:1272 scd/app-openpgp.c:2855 scd/app-openpgp.c:5020
+#: scd/app-openpgp.c:1268 scd/app-openpgp.c:2854 scd/app-openpgp.c:5025
 #, c-format
 msgid "error retrieving CHV status from card\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1430
+#: scd/app-openpgp.c:1426
 #, c-format
 msgid "response does not contain the RSA modulus\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1437
+#: scd/app-openpgp.c:1433
 #, c-format
 msgid "response does not contain the RSA public exponent\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1547
+#: scd/app-openpgp.c:1543
 #, fuzzy, c-format
 #| msgid "remove keys from the public keyring"
 msgid "response does not contain the EC public key\n"
 msgstr "poista avaimet julkisten avainten renkaasta"
 
-#: scd/app-openpgp.c:1665 scd/app-openpgp.c:4284
+#: scd/app-openpgp.c:1661 scd/app-openpgp.c:4283
 #, c-format
 msgid "response does not contain the public key data\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1772
+#: scd/app-openpgp.c:1768
 #, fuzzy, c-format
 msgid "reading public key failed: %s\n"
 msgstr "avainlohkojen poisto epäonnistui: %s\n"
@@ -8259,43 +8284,43 @@ msgstr "avainlohkojen poisto epäonnistui: %s\n"
 #. TRANSLATORS: Put a \x1f right before a colon.  This can be
 #. * used by pinentry to nicely align the names and values.  Keep
 #. * the %s at the start and end of the string.
-#: scd/app-openpgp.c:2140
+#: scd/app-openpgp.c:2138
 #, c-format
 msgid "%sNumber\1f: %s%%0AHolder\1f: %s%%0ACounter\1f: %lu%s"
 msgstr ""
 
-#: scd/app-openpgp.c:2280
+#: scd/app-openpgp.c:2278
 #, c-format
 msgid "using default PIN as %s\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2287
+#: scd/app-openpgp.c:2285
 #, c-format
 msgid "failed to use default PIN as %s: %s - disabling further default use\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2300
+#: scd/app-openpgp.c:2298
 #, fuzzy
 msgid "||Please unlock the card"
 msgstr "muuta salasanaa"
 
-#: scd/app-openpgp.c:2352 scd/app-openpgp.c:2537 scd/app-openpgp.c:2834
+#: scd/app-openpgp.c:2350 scd/app-openpgp.c:2535 scd/app-openpgp.c:2833
 #, c-format
 msgid "PIN for CHV%d is too short; minimum length is %d\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2366 scd/app-openpgp.c:2413 scd/app-openpgp.c:2551
-#: scd/app-openpgp.c:4642
+#: scd/app-openpgp.c:2364 scd/app-openpgp.c:2411 scd/app-openpgp.c:2549
+#: scd/app-openpgp.c:4641
 #, fuzzy, c-format
 msgid "verify CHV%d failed: %s\n"
 msgstr "avainpalvelimelle lähettäminen epäonnistui: %s\n"
 
-#: scd/app-openpgp.c:2449 scd/app-openpgp.c:5029
+#: scd/app-openpgp.c:2447 scd/app-openpgp.c:5034
 #, c-format
 msgid "card is permanently locked!\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2453
+#: scd/app-openpgp.c:2451
 #, c-format
 msgid "%d Admin PIN attempt remaining before card is permanently locked\n"
 msgid_plural ""
@@ -8303,29 +8328,22 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-#. TRANSLATORS: Do not translate the "|A|" prefix but keep it at
-#. the start of the string.  Use %0A (single percent) for a linefeed.
-#: scd/app-openpgp.c:2463
-#, fuzzy
-msgid "|A|Please enter the Admin PIN"
-msgstr "muuta salasanaa"
-
-#: scd/app-openpgp.c:2484
+#: scd/app-openpgp.c:2482
 #, c-format
 msgid "access to admin commands is not configured\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2821
+#: scd/app-openpgp.c:2820
 #, fuzzy
 msgid "||Please enter the PIN"
 msgstr "muuta salasanaa"
 
-#: scd/app-openpgp.c:2870
+#: scd/app-openpgp.c:2869
 #, fuzzy
 msgid "||Please enter the Reset Code for the card"
 msgstr "Valitse mitätöinnin syy:\n"
 
-#: scd/app-openpgp.c:2880 scd/app-openpgp.c:2941
+#: scd/app-openpgp.c:2879 scd/app-openpgp.c:2940
 #, c-format
 msgid "Reset Code is too short; minimum length is %d\n"
 msgstr ""
@@ -8333,129 +8351,129 @@ msgstr ""
 #. TRANSLATORS: Do not translate the "|*|" prefixes but
 #. keep it at the start of the string.  We need this elsewhere
 #. to get some infos on the string.
-#: scd/app-openpgp.c:2903
+#: scd/app-openpgp.c:2902
 msgid "|RN|New Reset Code"
 msgstr ""
 
-#: scd/app-openpgp.c:2904
+#: scd/app-openpgp.c:2903
 msgid "|AN|New Admin PIN"
 msgstr ""
 
-#: scd/app-openpgp.c:2904
+#: scd/app-openpgp.c:2903
 msgid "|N|New PIN"
 msgstr ""
 
-#: scd/app-openpgp.c:2985
+#: scd/app-openpgp.c:2984
 #, fuzzy
 msgid "||Please enter the Admin PIN and New Admin PIN"
 msgstr "muuta salasanaa"
 
-#: scd/app-openpgp.c:2986
+#: scd/app-openpgp.c:2985
 #, fuzzy
 msgid "||Please enter the PIN and New PIN"
 msgstr "muuta salasanaa"
 
-#: scd/app-openpgp.c:3048 scd/app-openpgp.c:4344
+#: scd/app-openpgp.c:3047 scd/app-openpgp.c:4343
 #, fuzzy, c-format
 msgid "error reading application data\n"
 msgstr "virhe luettaessa avainlohkoa: %s\n"
 
-#: scd/app-openpgp.c:3054 scd/app-openpgp.c:4351
+#: scd/app-openpgp.c:3053 scd/app-openpgp.c:4350
 #, fuzzy, c-format
 msgid "error reading fingerprint DO\n"
 msgstr "%s: virhe luettaessa vapaata tietuetta: %s\n"
 
-#: scd/app-openpgp.c:3064
+#: scd/app-openpgp.c:3063
 #, fuzzy, c-format
 msgid "key already exists\n"
 msgstr "\"%s\" on jo pakattu\n"
 
-#: scd/app-openpgp.c:3068
+#: scd/app-openpgp.c:3067
 #, c-format
 msgid "existing key will be replaced\n"
 msgstr ""
 
-#: scd/app-openpgp.c:3070
+#: scd/app-openpgp.c:3069
 #, fuzzy, c-format
 msgid "generating new key\n"
 msgstr "luo uusi avainpari"
 
-#: scd/app-openpgp.c:3072
+#: scd/app-openpgp.c:3071
 #, fuzzy, c-format
 msgid "writing new key\n"
 msgstr "luo uusi avainpari"
 
-#: scd/app-openpgp.c:3645 scd/app-openpgp.c:3997
+#: scd/app-openpgp.c:3644 scd/app-openpgp.c:3996
 #, c-format
 msgid "creation timestamp missing\n"
 msgstr ""
 
-#: scd/app-openpgp.c:3686 scd/app-openpgp.c:3694
+#: scd/app-openpgp.c:3685 scd/app-openpgp.c:3693
 #, c-format
 msgid "RSA prime %s missing or not of size %d bits\n"
 msgstr ""
 
-#: scd/app-openpgp.c:3827 scd/app-openpgp.c:4104
+#: scd/app-openpgp.c:3826 scd/app-openpgp.c:4103
 #, fuzzy, c-format
 msgid "failed to store the key: %s\n"
 msgstr "TrustDB:n alustaminen ei onnistu: %s\n"
 
-#: scd/app-openpgp.c:3991
+#: scd/app-openpgp.c:3990
 #, fuzzy, c-format
 #| msgid "unsupported URI"
 msgid "unsupported curve\n"
 msgstr "URI-muotoa ei tueta"
 
-#: scd/app-openpgp.c:4261
+#: scd/app-openpgp.c:4260
 #, c-format
 msgid "please wait while key is being generated ...\n"
 msgstr ""
 
-#: scd/app-openpgp.c:4269
+#: scd/app-openpgp.c:4268
 #, fuzzy, c-format
 msgid "generating key failed\n"
 msgstr "avainlohkojen poisto epäonnistui: %s\n"
 
-#: scd/app-openpgp.c:4275
+#: scd/app-openpgp.c:4274
 #, fuzzy, c-format
 msgid "key generation completed (%d second)\n"
 msgid_plural "key generation completed (%d seconds)\n"
 msgstr[0] "Avaimen luonti epäonnistui: %s\n"
 msgstr[1] "Avaimen luonti epäonnistui: %s\n"
 
-#: scd/app-openpgp.c:4309
+#: scd/app-openpgp.c:4308
 #, c-format
 msgid "invalid structure of OpenPGP card (DO 0x93)\n"
 msgstr ""
 
-#: scd/app-openpgp.c:4359
+#: scd/app-openpgp.c:4358
 #, c-format
 msgid "fingerprint on card does not match requested one\n"
 msgstr ""
 
 # Ensimmäinen %s on binary, textmode tai unknown, ks. alla
-#: scd/app-openpgp.c:4558
+#: scd/app-openpgp.c:4557
 #, fuzzy, c-format
 msgid "card does not support digest algorithm %s\n"
 msgstr "%sallekirjoitus, tiivistealgoritmi %s\n"
 
-#: scd/app-openpgp.c:4616
+#: scd/app-openpgp.c:4615
 #, c-format
 msgid "signatures created so far: %lu\n"
 msgstr ""
 
-#: scd/app-openpgp.c:5034
+#: scd/app-openpgp.c:5039
 #, c-format
 msgid ""
 "verification of Admin PIN is currently prohibited through this command\n"
 msgstr ""
 
-#: scd/app-openpgp.c:5346 scd/app-openpgp.c:5357
+#: scd/app-openpgp.c:5351 scd/app-openpgp.c:5362
 #, fuzzy, c-format
 msgid "can't access %s - invalid OpenPGP card?\n"
 msgstr "kelvollista OpenPGP-dataa ei löytynyt.\n"
 
-#: scd/app-dinsig.c:299
+#: scd/app-dinsig.c:298
 #, fuzzy
 msgid "||Please enter your PIN at the reader's pinpad"
 msgstr "muuta salasanaa"
@@ -8463,7 +8481,7 @@ msgstr "muuta salasanaa"
 #. TRANSLATORS: Do not translate the "|*|" prefixes but
 #. keep it at the start of the string.  We need this elsewhere
 #. to get some infos on the string.
-#: scd/app-dinsig.c:528
+#: scd/app-dinsig.c:529
 msgid "|N|Initial New PIN"
 msgstr ""
 
@@ -8471,7 +8489,7 @@ msgstr ""
 msgid "run in multi server mode (foreground)"
 msgstr ""
 
-#: scd/scdaemon.c:129 sm/gpgsm.c:345 dirmngr/dirmngr.c:187
+#: scd/scdaemon.c:129 sm/gpgsm.c:348 dirmngr/dirmngr.c:188
 msgid "|LEVEL|set the debugging level to LEVEL"
 msgstr ""
 
@@ -8494,50 +8512,50 @@ msgstr "|NIMI|käytä NIMI oletusvastaanottajana"
 msgid "|NAME|use NAME as PC/SC driver"
 msgstr "|NIMI|käytä NIMI oletusvastaanottajana"
 
-#: scd/scdaemon.c:145
+#: scd/scdaemon.c:146
 #, fuzzy
 msgid "do not use the internal CCID driver"
 msgstr "älä käytä lainkaan päätettä"
 
-#: scd/scdaemon.c:151
+#: scd/scdaemon.c:152
 msgid "|N|disconnect the card after N seconds of inactivity"
 msgstr ""
 
-#: scd/scdaemon.c:154
+#: scd/scdaemon.c:155
 msgid "do not use a reader's pinpad"
 msgstr ""
 
-#: scd/scdaemon.c:159
+#: scd/scdaemon.c:160
 #, fuzzy
 msgid "deny the use of admin card commands"
 msgstr "ristiriitainen komento\n"
 
-#: scd/scdaemon.c:162
+#: scd/scdaemon.c:163
 msgid "use variable length input for pinpad"
 msgstr ""
 
-#: scd/scdaemon.c:311
+#: scd/scdaemon.c:312
 #, fuzzy
 msgid "Usage: @SCDAEMON@ [options] (-h for help)"
 msgstr "Käyttö: gpg [valitsimet] [tiedostot] (-h näyttää ohjeen)"
 
-#: scd/scdaemon.c:313
+#: scd/scdaemon.c:314
 msgid ""
 "Syntax: scdaemon [options] [command [args]]\n"
 "Smartcard daemon for @GNUPG@\n"
 msgstr ""
 
-#: scd/scdaemon.c:806
+#: scd/scdaemon.c:808
 #, c-format
 msgid "please use the option '--daemon' to run the program in the background\n"
 msgstr ""
 
-#: scd/scdaemon.c:1183 dirmngr/dirmngr.c:2082
+#: scd/scdaemon.c:1185 dirmngr/dirmngr.c:2119
 #, c-format
 msgid "handler for fd %d started\n"
 msgstr ""
 
-#: scd/scdaemon.c:1195 dirmngr/dirmngr.c:2090
+#: scd/scdaemon.c:1197 dirmngr/dirmngr.c:2127
 #, c-format
 msgid "handler for fd %d terminated\n"
 msgstr ""
@@ -8585,7 +8603,7 @@ msgstr "kirjoitan salaisen avaimen kohteeseen \"%s\"\n"
 msgid "certificate policy not allowed"
 msgstr "kirjoitan salaisen avaimen kohteeseen \"%s\"\n"
 
-#: sm/certchain.c:595 sm/keydb.c:1106 sm/keydb.c:1192
+#: sm/certchain.c:595 sm/keydb.c:1084 sm/keydb.c:1171
 #, fuzzy, c-format
 msgid "failed to get the fingerprint\n"
 msgstr "TrustDB:n alustaminen ei onnistu: %s\n"
@@ -8621,8 +8639,8 @@ msgstr "virhe luotaessa salasanaa: %s\n"
 msgid "dirmngr cache-only key lookup failed: %s\n"
 msgstr "avainlohkojen poisto epäonnistui: %s\n"
 
-#: sm/certchain.c:1041 sm/certchain.c:1554 sm/certchain.c:2192 sm/decrypt.c:265
-#: sm/encrypt.c:344 sm/import.c:415 sm/keydb.c:1113 sm/keydb.c:1199
+#: sm/certchain.c:1041 sm/certchain.c:1554 sm/certchain.c:2192 sm/decrypt.c:728
+#: sm/encrypt.c:345 sm/import.c:415 sm/keydb.c:1091 sm/keydb.c:1178
 #: sm/sign.c:337 sm/verify.c:118
 #, fuzzy, c-format
 msgid "failed to allocate keyDB handle\n"
@@ -8820,13 +8838,13 @@ msgid "a %u bit hash is not valid for a %u bit %s key\n"
 msgstr ""
 
 #: sm/certcheck.c:238 sm/certcheck.c:262 dirmngr/crlcache.c:1542
-#: dirmngr/crlcache.c:1566 dirmngr/dirmngr.c:1324 dirmngr/validate.c:903
+#: dirmngr/crlcache.c:1566 dirmngr/dirmngr.c:1361 dirmngr/validate.c:903
 #: dirmngr/validate.c:927
 #, fuzzy, c-format
 msgid "out of core\n"
 msgstr "ei käsitelty"
 
-#: sm/certcheck.c:371 sm/verify.c:213
+#: sm/certcheck.c:370 sm/verify.c:213
 #, c-format
 msgid "(this is the MD2 algorithm)\n"
 msgstr ""
@@ -9123,22 +9141,33 @@ msgstr ""
 msgid "resource problem: out of core\n"
 msgstr ""
 
-#: sm/decrypt.c:341
+#: sm/decrypt.c:536
+#, fuzzy, c-format
+#| msgid "%s encrypted data\n"
+msgid "%s.%s encrypted data\n"
+msgstr "%s salattua dataa\n"
+
+#: sm/decrypt.c:803
 #, c-format
 msgid "(this is the RC2 algorithm)\n"
 msgstr ""
 
-#: sm/decrypt.c:343
+#: sm/decrypt.c:805
 #, c-format
 msgid "(this does not seem to be an encrypted message)\n"
 msgstr ""
 
+#: sm/decrypt.c:958
+#, fuzzy, c-format
+msgid "encrypted to %s key %s\n"
+msgstr "salattu %s-avaimella, tunnus %08lX\n"
+
 #: sm/delete.c:51 sm/delete.c:112
 #, fuzzy, c-format
 msgid "certificate '%s' not found: %s\n"
 msgstr "avainta \"%s\" ei löydy: %s\n"
 
-#: sm/delete.c:122 sm/keydb.c:1209 sm/keydb.c:1307
+#: sm/delete.c:122 sm/keydb.c:1189 sm/keydb.c:1288
 #, fuzzy, c-format
 msgid "error locking keybox: %s\n"
 msgstr "virhe luettaessa avainlohkoa: %s\n"
@@ -9158,139 +9187,139 @@ msgstr "valinta %c%lu on kopio\n"
 msgid "deleting certificate \"%s\" failed: %s\n"
 msgstr "avainlohkojen poisto epäonnistui: %s\n"
 
-#: sm/encrypt.c:330
+#: sm/encrypt.c:331
 #, fuzzy, c-format
 msgid "no valid recipients given\n"
 msgstr "(Kuvausta ei annettu)\n"
 
-#: sm/gpgsm.c:215
+#: sm/gpgsm.c:216
 #, fuzzy
 msgid "list external keys"
 msgstr "näytä salaiset avaimet"
 
-#: sm/gpgsm.c:217
+#: sm/gpgsm.c:218
 #, fuzzy
 msgid "list certificate chain"
 msgstr "virheellinen varmenne"
 
-#: sm/gpgsm.c:225
+#: sm/gpgsm.c:226
 #, fuzzy
 msgid "import certificates"
 msgstr "virheellinen varmenne"
 
-#: sm/gpgsm.c:226
+#: sm/gpgsm.c:227
 #, fuzzy
 msgid "export certificates"
 msgstr "virheellinen varmenne"
 
-#: sm/gpgsm.c:234
+#: sm/gpgsm.c:235
 msgid "register a smartcard"
 msgstr ""
 
-#: sm/gpgsm.c:237
+#: sm/gpgsm.c:238
 msgid "pass a command to the dirmngr"
 msgstr ""
 
-#: sm/gpgsm.c:239
+#: sm/gpgsm.c:240
 msgid "invoke gpg-protect-tool"
 msgstr ""
 
-#: sm/gpgsm.c:256
+#: sm/gpgsm.c:257
 #, fuzzy
 msgid "create base-64 encoded output"
 msgstr "tuota ascii-koodattu tuloste"
 
-#: sm/gpgsm.c:265
+#: sm/gpgsm.c:266
 msgid "assume input is in PEM format"
 msgstr ""
 
-#: sm/gpgsm.c:267
+#: sm/gpgsm.c:268
 msgid "assume input is in base-64 format"
 msgstr ""
 
-#: sm/gpgsm.c:269
+#: sm/gpgsm.c:270
 msgid "assume input is in binary format"
 msgstr ""
 
-#: sm/gpgsm.c:276
+#: sm/gpgsm.c:277
 msgid "never consult a CRL"
 msgstr ""
 
-#: sm/gpgsm.c:286
+#: sm/gpgsm.c:287
 msgid "check validity using OCSP"
 msgstr ""
 
-#: sm/gpgsm.c:291
+#: sm/gpgsm.c:292
 msgid "|N|number of certificates to include"
 msgstr ""
 
-#: sm/gpgsm.c:294
+#: sm/gpgsm.c:295
 msgid "|FILE|take policy information from FILE"
 msgstr ""
 
-#: sm/gpgsm.c:297
+#: sm/gpgsm.c:298
 msgid "do not check certificate policies"
 msgstr ""
 
-#: sm/gpgsm.c:301
+#: sm/gpgsm.c:302
 msgid "fetch missing issuer certificates"
 msgstr ""
 
-#: sm/gpgsm.c:312
+#: sm/gpgsm.c:313
 msgid "don't use the terminal at all"
 msgstr "älä käytä lainkaan päätettä"
 
-#: sm/gpgsm.c:314
+#: sm/gpgsm.c:315
 msgid "|FILE|write a server mode log to FILE"
 msgstr ""
 
-#: sm/gpgsm.c:319
+#: sm/gpgsm.c:320
 #, fuzzy
 msgid "|FILE|write an audit log to FILE"
 msgstr "|TIEDOSTO|lataa laajennusmoduuli TIEDOSTO"
 
-#: sm/gpgsm.c:322
+#: sm/gpgsm.c:323
 msgid "batch mode: never ask"
 msgstr "eräajo: älä kysy mitään"
 
-#: sm/gpgsm.c:323
+#: sm/gpgsm.c:324
 msgid "assume yes on most questions"
 msgstr "oleta myönteinen vastaust useimpiin kysymyksiin"
 
-#: sm/gpgsm.c:324
+#: sm/gpgsm.c:325
 msgid "assume no on most questions"
 msgstr "oleta kielteinen vastaust useimpiin kysymyksiin"
 
-#: sm/gpgsm.c:327
+#: sm/gpgsm.c:328
 #, fuzzy
 msgid "|FILE|add keyring to the list of keyrings"
 msgstr "lisää tämä avainrengas avainrenkaiden luetteloon"
 
-#: sm/gpgsm.c:330
+#: sm/gpgsm.c:331
 #, fuzzy
 msgid "|USER-ID|use USER-ID as default secret key"
 msgstr "|NIMI|käytä oletusarvoisesti salaista avainta NIMI"
 
-#: sm/gpgsm.c:340 tools/gpgconf-comp.c:837
+#: sm/gpgsm.c:341 dirmngr/dirmngr.c:214 tools/gpgconf-comp.c:841
 #, fuzzy
 msgid "|SPEC|use this keyserver to lookup keys"
 msgstr "|PALVELIN|käytä tätä palvelinta avainten etsimiseen"
 
-#: sm/gpgsm.c:357
+#: sm/gpgsm.c:360
 msgid "|NAME|use cipher algorithm NAME"
 msgstr "|NIMI|käytä salausalgoritmia NIMI"
 
-#: sm/gpgsm.c:359
+#: sm/gpgsm.c:362
 msgid "|NAME|use message digest algorithm NAME"
 msgstr "|NIMI|käytä viestintiivistealgoritmia NIMI"
 
-#: sm/gpgsm.c:570
+#: sm/gpgsm.c:573
 #, fuzzy
 #| msgid "Usage: gpg [options] [files] (-h for help)"
 msgid "Usage: @GPGSM@ [options] [files] (-h for help)"
 msgstr "Käyttö: gpg [valitsimet] [tiedostot] (-h näyttää ohjeen)"
 
-#: sm/gpgsm.c:573
+#: sm/gpgsm.c:576
 #, fuzzy
 msgid ""
 "Syntax: @GPGSM@ [options] [files]\n"
@@ -9301,47 +9330,27 @@ msgstr ""
 "allekirjoita, tarkista, salaa tai avaa\n"
 "oletustoiminto riippuu syötteestä\n"
 
-#: sm/gpgsm.c:777
+#: sm/gpgsm.c:784
 #, fuzzy, c-format
 msgid "Note: won't be able to encrypt to '%s': %s\n"
 msgstr "yhteys kohteeseen \"%s\" ei onnistu: %s\n"
 
-#: sm/gpgsm.c:788
+#: sm/gpgsm.c:795
 #, fuzzy, c-format
 msgid "unknown validation model '%s'\n"
 msgstr "tuntematon oletusvastaanottaja \"%s\"\n"
 
-#: sm/gpgsm.c:839 dirmngr/ldapserver.c:86
-#, fuzzy, c-format
-msgid "%s:%u: no hostname given\n"
-msgstr "(Kuvausta ei annettu)\n"
-
-#: sm/gpgsm.c:858 dirmngr/ldapserver.c:105
-#, c-format
-msgid "%s:%u: password given without user\n"
-msgstr ""
-
-#: sm/gpgsm.c:879 dirmngr/ldapserver.c:126
-#, fuzzy, c-format
-msgid "%s:%u: skipping this line\n"
-msgstr " o = ohita tämä avain\n"
-
-#: sm/gpgsm.c:1449
-#, fuzzy, c-format
-msgid "could not parse keyserver\n"
-msgstr "avainpalvelimen URI:iä ei voi jäsentää\n"
-
-#: sm/gpgsm.c:1712
+#: sm/gpgsm.c:1612
 #, fuzzy, c-format
 msgid "importing common certificates '%s'\n"
 msgstr "kirjoitetaan kohteeseen \"%s\"\n"
 
-#: sm/gpgsm.c:1755
+#: sm/gpgsm.c:1655
 #, fuzzy, c-format
 msgid "can't sign using '%s': %s\n"
 msgstr "tiedostoa \"%s\" ei voi sulkea: %s\n"
 
-#: sm/gpgsm.c:2122
+#: sm/gpgsm.c:2028
 #, c-format
 msgid "invalid command (there is no implicit command)\n"
 msgstr ""
@@ -9361,7 +9370,7 @@ msgstr "luo mitätöintivarmenne"
 msgid "basic certificate checks failed - not imported\n"
 msgstr ""
 
-#: sm/import.c:472 sm/keydb.c:1229 sm/keydb.c:1319
+#: sm/import.c:472 sm/keydb.c:1209 sm/keydb.c:1300
 #, fuzzy, c-format
 msgid "error getting stored flags: %s\n"
 msgstr "virhe luotaessa salasanaa: %s\n"
@@ -9376,27 +9385,27 @@ msgstr "virhe luotaessa salasanaa: %s\n"
 msgid "error reading input: %s\n"
 msgstr "virhe luettaessa tiedostoa \"%s\": %s\n"
 
-#: sm/keydb.c:1148
+#: sm/keydb.c:1127
 #, c-format
 msgid "problem looking for existing certificate: %s\n"
 msgstr ""
 
-#: sm/keydb.c:1160
+#: sm/keydb.c:1139
 #, fuzzy, c-format
 msgid "error finding writable keyDB: %s\n"
 msgstr "virhe luotaessa salasanaa: %s\n"
 
-#: sm/keydb.c:1168
+#: sm/keydb.c:1147
 #, fuzzy, c-format
 msgid "error storing certificate: %s\n"
 msgstr "virhe luotaessa salasanaa: %s\n"
 
-#: sm/keydb.c:1220
+#: sm/keydb.c:1200
 #, fuzzy, c-format
 msgid "problem re-searching certificate: %s\n"
 msgstr "rev? mitätöinnin tarkistuksessa ongelmia: %s\n"
 
-#: sm/keydb.c:1241 sm/keydb.c:1330
+#: sm/keydb.c:1221 sm/keydb.c:1311
 #, fuzzy, c-format
 msgid "error storing flags: %s\n"
 msgstr "virhe luettaessa tiedostoa \"%s\": %s\n"
@@ -9431,7 +9440,7 @@ msgid ""
 "%s%sAre you really sure that you want to do this?"
 msgstr ""
 
-#: sm/qualified.c:215 sm/verify.c:678
+#: sm/qualified.c:215 sm/verify.c:679
 #, c-format
 msgid ""
 "Note, that this software is not officially approved to create or verify such "
@@ -9476,23 +9485,23 @@ msgstr ""
 msgid "algorithm:"
 msgstr "ascii-koodaus: %s\n"
 
-#: sm/verify.c:535
+#: sm/verify.c:536
 #, c-format
 msgid ""
 "invalid signature: message digest attribute does not match computed one\n"
 msgstr ""
 
-#: sm/verify.c:656
+#: sm/verify.c:657
 #, fuzzy, c-format
 msgid "Good signature from"
 msgstr "Allekirjoitus täsmää lähettäjään \""
 
-#: sm/verify.c:657
+#: sm/verify.c:658
 #, fuzzy, c-format
 msgid "                aka"
 msgstr "                aka \""
 
-#: sm/verify.c:675
+#: sm/verify.c:676
 #, fuzzy, c-format
 msgid "This is a qualified signature\n"
 msgstr ""
@@ -10124,7 +10133,7 @@ msgid "error retrieving '%s': %s\n"
 msgstr "virhe luotaessa \"%s\": %s\n"
 
 #: dirmngr/crlfetch.c:218 dirmngr/ldap-wrapper-ce.c:492
-#: dirmngr/ldap-wrapper.c:884 dirmngr/misc.c:573
+#: dirmngr/ldap-wrapper.c:885 dirmngr/misc.c:573
 #, fuzzy, c-format
 #| msgid "%s: error writing dir record: %s\n"
 msgid "error initializing reader object: %s\n"
@@ -10292,116 +10301,116 @@ msgstr ""
 msgid "looking up '%s'\n"
 msgstr ""
 
-#: dirmngr/dirmngr.c:170
+#: dirmngr/dirmngr.c:171
 msgid "list the contents of the CRL cache"
 msgstr ""
 
-#: dirmngr/dirmngr.c:171
+#: dirmngr/dirmngr.c:172
 #, fuzzy
 msgid "|FILE|load CRL from FILE into cache"
 msgstr "|TIEDOSTO|lataa laajennusmoduuli TIEDOSTO"
 
-#: dirmngr/dirmngr.c:172
+#: dirmngr/dirmngr.c:173
 msgid "|URL|fetch a CRL from URL"
 msgstr ""
 
-#: dirmngr/dirmngr.c:173
+#: dirmngr/dirmngr.c:174
 msgid "shutdown the dirmngr"
 msgstr ""
 
-#: dirmngr/dirmngr.c:174
+#: dirmngr/dirmngr.c:175
 msgid "flush the cache"
 msgstr ""
 
-#: dirmngr/dirmngr.c:190 tools/gpgconf-comp.c:522 tools/gpgconf-comp.c:741
-#: tools/gpgconf-comp.c:854 tools/gpgconf-comp.c:950
+#: dirmngr/dirmngr.c:191 tools/gpgconf-comp.c:522 tools/gpgconf-comp.c:745
+#: tools/gpgconf-comp.c:858 tools/gpgconf-comp.c:954
 msgid "|FILE|write server mode logs to FILE"
 msgstr ""
 
-#: dirmngr/dirmngr.c:191
+#: dirmngr/dirmngr.c:192
 #, fuzzy
 msgid "run without asking a user"
 msgstr "Lopeta tallentamatta muutoksia?"
 
-#: dirmngr/dirmngr.c:192
+#: dirmngr/dirmngr.c:193
 msgid "force loading of outdated CRLs"
 msgstr ""
 
-#: dirmngr/dirmngr.c:193
+#: dirmngr/dirmngr.c:194
 msgid "allow sending OCSP requests"
 msgstr ""
 
-#: dirmngr/dirmngr.c:195
+#: dirmngr/dirmngr.c:196
 msgid "allow online software version check"
 msgstr ""
 
-#: dirmngr/dirmngr.c:196
+#: dirmngr/dirmngr.c:197
 msgid "inhibit the use of HTTP"
 msgstr ""
 
-#: dirmngr/dirmngr.c:197
+#: dirmngr/dirmngr.c:198
 msgid "inhibit the use of LDAP"
 msgstr ""
 
-#: dirmngr/dirmngr.c:199
+#: dirmngr/dirmngr.c:200
 msgid "ignore HTTP CRL distribution points"
 msgstr ""
 
-#: dirmngr/dirmngr.c:201
+#: dirmngr/dirmngr.c:202
 msgid "ignore LDAP CRL distribution points"
 msgstr ""
 
-#: dirmngr/dirmngr.c:203
+#: dirmngr/dirmngr.c:204
 msgid "ignore certificate contained OCSP service URLs"
 msgstr ""
 
-#: dirmngr/dirmngr.c:206
+#: dirmngr/dirmngr.c:207
 msgid "|URL|redirect all HTTP requests to URL"
 msgstr ""
 
-#: dirmngr/dirmngr.c:208
+#: dirmngr/dirmngr.c:209
 msgid "|HOST|use HOST for LDAP queries"
 msgstr ""
 
-#: dirmngr/dirmngr.c:210
+#: dirmngr/dirmngr.c:211
 msgid "do not use fallback hosts with --ldap-proxy"
 msgstr ""
 
-#: dirmngr/dirmngr.c:213
+#: dirmngr/dirmngr.c:216
 #, fuzzy
 msgid "|FILE|read LDAP server list from FILE"
 msgstr "|TIEDOSTO|lataa laajennusmoduuli TIEDOSTO"
 
-#: dirmngr/dirmngr.c:215
+#: dirmngr/dirmngr.c:218
 msgid "add new servers discovered in CRL distribution points to serverlist"
 msgstr ""
 
-#: dirmngr/dirmngr.c:218 dirmngr/dirmngr_ldap.c:137
+#: dirmngr/dirmngr.c:221
 msgid "|N|set LDAP timeout to N seconds"
 msgstr ""
 
-#: dirmngr/dirmngr.c:221
+#: dirmngr/dirmngr.c:224
 #, fuzzy
 msgid "|URL|use OCSP responder at URL"
 msgstr "avainpalvelimen URI:iä ei voi jäsentää\n"
 
-#: dirmngr/dirmngr.c:223
+#: dirmngr/dirmngr.c:226
 msgid "|FPR|OCSP response signed by FPR"
 msgstr ""
 
-#: dirmngr/dirmngr.c:229
+#: dirmngr/dirmngr.c:232
 msgid "|N|do not return more than N items in one query"
 msgstr ""
 
-#: dirmngr/dirmngr.c:234
+#: dirmngr/dirmngr.c:237
 msgid "|FILE|use the CA certificates in FILE for HKP over TLS"
 msgstr ""
 
-#: dirmngr/dirmngr.c:236
+#: dirmngr/dirmngr.c:239
 msgid "route all network traffic via Tor"
 msgstr ""
 
-#: dirmngr/dirmngr.c:265
+#: dirmngr/dirmngr.c:268
 #, fuzzy
 #| msgid ""
 #| "@\n"
@@ -10415,290 +10424,115 @@ msgstr ""
 "(Katso täydellinen luettelo kaikista komennoista ja valitsimista man-"
 "sivuilta)\n"
 
-#: dirmngr/dirmngr.c:407
+#: dirmngr/dirmngr.c:415
 #, fuzzy
 msgid "Usage: @DIRMNGR@ [options] (-h for help)"
 msgstr "Käyttö: gpg [valitsimet] [tiedostot] (-h näyttää ohjeen)"
 
-#: dirmngr/dirmngr.c:409
+#: dirmngr/dirmngr.c:417
 msgid ""
 "Syntax: @DIRMNGR@ [options] [command [args]]\n"
 "Keyserver, CRL, and OCSP access for @GNUPG@\n"
 msgstr ""
 
-#: dirmngr/dirmngr.c:489
+#: dirmngr/dirmngr.c:497
 #, c-format
 msgid "valid debug levels are: %s\n"
 msgstr ""
 
-#: dirmngr/dirmngr.c:575 tools/gpgconf.c:647 tools/gpgconf.c:682
+#: dirmngr/dirmngr.c:583 tools/gpgconf.c:647 tools/gpgconf.c:682
 #: tools/gpgconf.c:780
 #, fuzzy, c-format
 msgid "usage: %s [options] "
 msgstr "käyttö: gpg [valitsimet] "
 
-#: dirmngr/dirmngr.c:1212
+#: dirmngr/dirmngr.c:1249
 #, fuzzy, c-format
 #| msgid "%s not allowed with %s!\n"
 msgid "colons are not allowed in the socket name\n"
 msgstr "%s ja %s eivät ole sallittuja yhdessä!\n"
 
-#: dirmngr/dirmngr.c:1444 dirmngr/server.c:1824
+#: dirmngr/dirmngr.c:1481 dirmngr/server.c:1878
 #, fuzzy, c-format
 msgid "fetching CRL from '%s' failed: %s\n"
 msgstr "ascii-koodaaminen epäonnistui: %s\n"
 
-#: dirmngr/dirmngr.c:1450 dirmngr/server.c:1830
+#: dirmngr/dirmngr.c:1487 dirmngr/server.c:1884
 #, fuzzy, c-format
 msgid "processing CRL from '%s' failed: %s\n"
 msgstr "ascii-koodaaminen epäonnistui: %s\n"
 
-#: dirmngr/dirmngr.c:1645
+#: dirmngr/dirmngr.c:1682
 #, fuzzy, c-format
 msgid "%s:%u: line too long - skipped\n"
 msgstr "rivi on liian pitkä\n"
 
-#: dirmngr/dirmngr.c:1700 dirmngr/dirmngr.c:1784
+#: dirmngr/dirmngr.c:1737 dirmngr/dirmngr.c:1821
 #, fuzzy, c-format
 msgid "%s:%u: invalid fingerprint detected\n"
 msgstr "virhe: sormenjälki on väärä\n"
 
-#: dirmngr/dirmngr.c:1736 dirmngr/dirmngr.c:1762 tools/gpgconf-comp.c:4191
+#: dirmngr/dirmngr.c:1773 dirmngr/dirmngr.c:1799 tools/gpgconf-comp.c:4199
 #, fuzzy, c-format
 msgid "%s:%u: read error: %s\n"
 msgstr "lukuvirhe: %s\n"
 
-#: dirmngr/dirmngr.c:1791
+#: dirmngr/dirmngr.c:1828
 #, c-format
 msgid "%s:%u: garbage at end of line ignored\n"
 msgstr ""
 
-#: dirmngr/dirmngr.c:1860
+#: dirmngr/dirmngr.c:1897
 #, c-format
 msgid "SIGHUP received - re-reading configuration and flushing caches\n"
 msgstr ""
 
-#: dirmngr/dirmngr.c:1900
+#: dirmngr/dirmngr.c:1937
 #, c-format
 msgid "SIGUSR2 received - no action defined\n"
 msgstr ""
 
-#: dirmngr/dirmngr.c:1905
+#: dirmngr/dirmngr.c:1942
 #, c-format
 msgid "SIGTERM received - shutting down ...\n"
 msgstr ""
 
-#: dirmngr/dirmngr.c:1907
+#: dirmngr/dirmngr.c:1944
 #, c-format
 msgid "SIGTERM received - still %d active connections\n"
 msgstr ""
 
-#: dirmngr/dirmngr.c:1912
+#: dirmngr/dirmngr.c:1949
 #, fuzzy, c-format
 msgid "shutdown forced\n"
 msgstr "ei käsitelty"
 
-#: dirmngr/dirmngr.c:1920
+#: dirmngr/dirmngr.c:1957
 #, c-format
 msgid "SIGINT received - immediate shutdown\n"
 msgstr ""
 
-#: dirmngr/dirmngr.c:1927
+#: dirmngr/dirmngr.c:1964
 #, c-format
 msgid "signal %d received - no action defined\n"
 msgstr ""
 
-#: dirmngr/dirmngr_ldap.c:138
-msgid "return all values in a record oriented format"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:141
-msgid "|NAME|ignore host part and connect through NAME"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:142
-#, fuzzy
-#| msgid "|NAME|set terminal charset to NAME"
-msgid "|NAME|connect to host NAME"
-msgstr "|NIMI|aseta päätteen merkistöksi NIMI"
-
-#: dirmngr/dirmngr_ldap.c:143
-msgid "|N|connect to port N"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:144
-#, fuzzy
-#| msgid "|NAME|use NAME as default recipient"
-msgid "|NAME|use user NAME for authentication"
-msgstr "|NIMI|käytä NIMI oletusvastaanottajana"
-
-#: dirmngr/dirmngr_ldap.c:145
-msgid "|PASS|use password PASS for authentication"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:147
-msgid "take password from $DIRMNGR_LDAP_PASS"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:148
-msgid "|STRING|query DN STRING"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:149
-msgid "|STRING|use STRING as filter expression"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:150
-msgid "|STRING|return the attribute STRING"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:211
-#, fuzzy
-#| msgid "Usage: gpg [options] [files] (-h for help)"
-msgid "Usage: dirmngr_ldap [options] [URL] (-h for help)\n"
-msgstr "Käyttö: gpg [valitsimet] [tiedostot] (-h näyttää ohjeen)"
-
-#: dirmngr/dirmngr_ldap.c:214
-msgid ""
-"Syntax: dirmngr_ldap [options] [URL]\n"
-"Internal LDAP helper for Dirmngr\n"
-"Interface and options may change without notice\n"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:340
-#, fuzzy, c-format
-#| msgid "invalid import options\n"
-msgid "invalid port number %d\n"
-msgstr "virheelliset tuontivalitsimet\n"
-
-#: dirmngr/dirmngr_ldap.c:456
-#, c-format
-msgid "scanning result for attribute '%s'\n"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:463 dirmngr/dirmngr_ldap.c:546
-#: dirmngr/dirmngr_ldap.c:570 dirmngr/dirmngr_ldap.c:582
-#: dirmngr/dirmngr_ldap.c:720
-#, fuzzy, c-format
-msgid "error writing to stdout: %s\n"
-msgstr "virhe kirjoitettaessa avainrenkaaseen \"%s\": %s\n"
-
-#: dirmngr/dirmngr_ldap.c:480
-#, c-format
-msgid "          available attribute '%s'\n"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:518
-#, fuzzy, c-format
-msgid "attribute '%s' not found\n"
-msgstr "avainta \"%s\" ei löydy: %s\n"
-
-#: dirmngr/dirmngr_ldap.c:525
-#, c-format
-msgid "found attribute '%s'\n"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:634
-#, fuzzy, c-format
-#| msgid "reading from `%s'\n"
-msgid "processing url '%s'\n"
-msgstr "luetaan kohteesta \"%s\"\n"
-
-#: dirmngr/dirmngr_ldap.c:636
-#, fuzzy, c-format
-#| msgid "          w/o user IDs: %lu\n"
-msgid "          user '%s'\n"
-msgstr "          ilman käyttäjätunnuksia: %lu\n"
-
-#: dirmngr/dirmngr_ldap.c:638
-#, fuzzy, c-format
-msgid "          pass '%s'\n"
-msgstr "                aka \""
-
-#: dirmngr/dirmngr_ldap.c:640
-#, fuzzy, c-format
-msgid "          host '%s'\n"
-msgstr "                aka \""
-
-#: dirmngr/dirmngr_ldap.c:641
-#, fuzzy, c-format
-#| msgid "          not imported: %lu\n"
-msgid "          port %d\n"
-msgstr "          ei tuotu: %lu\n"
-
-#: dirmngr/dirmngr_ldap.c:643
-#, fuzzy, c-format
-msgid "            DN '%s'\n"
-msgstr "                aka \""
-
-#: dirmngr/dirmngr_ldap.c:645
-#, c-format
-msgid "        filter '%s'\n"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:650 dirmngr/dirmngr_ldap.c:653
-#, fuzzy, c-format
-msgid "          attr '%s'\n"
-msgstr "                aka \""
-
-#: dirmngr/dirmngr_ldap.c:659
-#, fuzzy, c-format
-msgid "no host name in '%s'\n"
-msgstr "(Kuvausta ei annettu)\n"
-
-#: dirmngr/dirmngr_ldap.c:664
-#, c-format
-msgid "no attribute given for query '%s'\n"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:670
-#, fuzzy, c-format
-#| msgid "WARNING: using insecure memory!\n"
-msgid "WARNING: using first attribute only\n"
-msgstr "VAROITUS: käytetään suojaamatonta muistia!\n"
-
-#: dirmngr/dirmngr_ldap.c:679
-#, fuzzy, c-format
-msgid "LDAP init to '%s:%d' failed: %s\n"
-msgstr "ascii-koodaaminen epäonnistui: %s\n"
-
-#: dirmngr/dirmngr_ldap.c:702
-#, fuzzy, c-format
-msgid "binding to '%s:%d' failed: %s\n"
-msgstr "ascii-koodaaminen epäonnistui: %s\n"
-
-#: dirmngr/dirmngr_ldap.c:729
-#, fuzzy, c-format
-#| msgid "dearmoring failed: %s\n"
-msgid "searching '%s' failed: %s\n"
-msgstr "ascii-koodauksen purku epäonnistui: %s\n"
-
-#: dirmngr/dirmngr_ldap.c:761
-#, fuzzy, c-format
-msgid "'%s' is not an LDAP URL\n"
-msgstr "\"%s\" ei ole JPEG-tiedosto\n"
-
-#: dirmngr/dirmngr_ldap.c:767
-#, c-format
-msgid "'%s' is an invalid LDAP URL\n"
-msgstr ""
-
-#: dirmngr/http.c:1987 dirmngr/ocsp.c:255
+#: dirmngr/http.c:1993 dirmngr/ocsp.c:255
 #, fuzzy, c-format
 msgid "error accessing '%s': http status %u\n"
 msgstr "virhe luettaessa tiedostoa \"%s\": %s\n"
 
-#: dirmngr/http.c:3629 dirmngr/ocsp.c:229
+#: dirmngr/http.c:3644 dirmngr/ocsp.c:229
 #, c-format
 msgid "URL '%s' redirected to '%s' (%u)\n"
 msgstr ""
 
-#: dirmngr/http.c:3635 dirmngr/ocsp.c:246
+#: dirmngr/http.c:3650 dirmngr/ocsp.c:246
 #, fuzzy, c-format
 msgid "too many redirections\n"
 msgstr "liian monta \"%c\" valintaa\n"
 
-#: dirmngr/http.c:3747
+#: dirmngr/http.c:3762
 #, fuzzy, c-format
 #| msgid "writing to `%s'\n"
 msgid "redirection changed to '%s'\n"
@@ -10739,31 +10573,51 @@ msgstr "päivitys epäonnistui: %s\n"
 msgid "ldap wrapper %d stalled - killing\n"
 msgstr ""
 
-#: dirmngr/ldap.c:91
+#: dirmngr/ldap.c:92
 #, c-format
 msgid "invalid char 0x%02x in host name - not added\n"
 msgstr ""
 
-#: dirmngr/ldap.c:95
+#: dirmngr/ldap.c:96
 #, fuzzy, c-format
 msgid "adding '%s:%d' to the ldap server list\n"
 msgstr "etsitään \"%s\" HKP-palvelimelta %s\n"
 
-#: dirmngr/ldap.c:98 dirmngr/misc.c:512
+#: dirmngr/ldap.c:99 dirmngr/misc.c:512
 #, fuzzy, c-format
 msgid "malloc failed: %s\n"
 msgstr "avainlohkojen poisto epäonnistui: %s\n"
 
-#: dirmngr/ldap.c:627
+#: dirmngr/ldap.c:221
+#, fuzzy, c-format
+msgid "'%s' is not an LDAP URL\n"
+msgstr "\"%s\" ei ole JPEG-tiedosto\n"
+
+#: dirmngr/ldap.c:227 dirmngr/ldap.c:233
 #, c-format
-msgid "start_cert_fetch: invalid pattern '%s'\n"
+msgid "'%s' is an invalid LDAP URL\n"
 msgstr ""
 
-#: dirmngr/ldap.c:839
+#: dirmngr/ldap.c:969
 #, c-format
 msgid "ldap_search hit the size limit of the server\n"
 msgstr ""
 
+#: dirmngr/ldapserver.c:117
+#, c-format
+msgid "%s:%u: password given without user\n"
+msgstr ""
+
+#: dirmngr/ldapserver.c:181
+#, c-format
+msgid "%s:%u: ignoring unknown flag '%s'\n"
+msgstr ""
+
+#: dirmngr/ldapserver.c:203
+#, fuzzy, c-format
+msgid "%s:%u: skipping this line\n"
+msgstr " o = ohita tämä avain\n"
+
 #: dirmngr/misc.c:172
 #, fuzzy, c-format
 #| msgid "%s: invalid file version %d\n"
@@ -10947,72 +10801,68 @@ msgstr ""
 msgid "assuan_inquire(%s) failed: %s\n"
 msgstr "allekirjoitus epäonnistui: %s\n"
 
-#: dirmngr/server.c:1158
-msgid "ldapserver missing"
-msgstr ""
-
-#: dirmngr/server.c:1224
+#: dirmngr/server.c:1277
 msgid "serialno missing in cert ID"
 msgstr ""
 
-#: dirmngr/server.c:1387 dirmngr/server.c:1473 dirmngr/server.c:1909
-#: dirmngr/server.c:1980 dirmngr/server.c:2552 dirmngr/server.c:2567
+#: dirmngr/server.c:1440 dirmngr/server.c:1526 dirmngr/server.c:1963
+#: dirmngr/server.c:2034 dirmngr/server.c:2662 dirmngr/server.c:2677
 #, fuzzy, c-format
 msgid "assuan_inquire failed: %s\n"
 msgstr "allekirjoitus epäonnistui: %s\n"
 
-#: dirmngr/server.c:1516
+#: dirmngr/server.c:1569
 #, fuzzy, c-format
 msgid "fetch_cert_by_url failed: %s\n"
 msgstr "avainlohkojen poisto epäonnistui: %s\n"
 
-#: dirmngr/server.c:1528 dirmngr/server.c:1559 dirmngr/server.c:1718
+#: dirmngr/server.c:1581 dirmngr/server.c:1612 dirmngr/server.c:1772
 #, fuzzy, c-format
 msgid "error sending data: %s\n"
 msgstr "virhe lähettäessä kohteeseen \"%s\": %s\n"
 
-#: dirmngr/server.c:1666
+#: dirmngr/server.c:1720
 #, fuzzy, c-format
 msgid "start_cert_fetch failed: %s\n"
 msgstr "avainlohkojen poisto epäonnistui: %s\n"
 
-#: dirmngr/server.c:1699
+#: dirmngr/server.c:1753
 #, fuzzy, c-format
 msgid "fetch_next_cert failed: %s\n"
 msgstr "avainlohkojen poisto epäonnistui: %s\n"
 
-#: dirmngr/server.c:1726
+#: dirmngr/server.c:1780
 #, c-format
 msgid "max_replies %d exceeded\n"
 msgstr ""
 
-#: dirmngr/server.c:2856
+#: dirmngr/server.c:2966
 #, fuzzy, c-format
 msgid "can't allocate control structure: %s\n"
 msgstr "tiedostoa \"%s\" ei voi luoda: %s\n"
 
-#: dirmngr/server.c:2867
+#: dirmngr/server.c:2977
 #, fuzzy, c-format
 msgid "failed to allocate assuan context: %s\n"
 msgstr "%s: hajautustaulukon luonti ei onnistu: %s\n"
 
-#: dirmngr/server.c:2888
+#: dirmngr/server.c:2998
 #, fuzzy, c-format
 #| msgid "failed to initialize the TrustDB: %s\n"
 msgid "failed to initialize the server: %s\n"
 msgstr "TrustDB:n alustaminen ei onnistu: %s\n"
 
-#: dirmngr/server.c:2896
+#: dirmngr/server.c:3006
 #, fuzzy, c-format
 msgid "failed to the register commands with Assuan: %s\n"
 msgstr "avainrenkaan välimuistin uudelleenluominen epäonnistui: %s\n"
 
-#: dirmngr/server.c:2929
+#: dirmngr/server.c:3039
 #, c-format
 msgid "Assuan accept problem: %s\n"
 msgstr ""
 
-#: dirmngr/server.c:2948
+#: dirmngr/server.c:3058
 #, fuzzy, c-format
 #| msgid "signing failed: %s\n"
 msgid "Assuan processing failed: %s\n"
@@ -11153,21 +11003,21 @@ msgid "error sending standard options: %s\n"
 msgstr "virhe lähettäessä kohteeseen \"%s\": %s\n"
 
 #: tools/gpgconf-comp.c:481 tools/gpgconf-comp.c:617 tools/gpgconf-comp.c:692
-#: tools/gpgconf-comp.c:804 tools/gpgconf-comp.c:906
+#: tools/gpgconf-comp.c:808 tools/gpgconf-comp.c:910
 msgid "Options controlling the diagnostic output"
 msgstr ""
 
 #: tools/gpgconf-comp.c:494 tools/gpgconf-comp.c:630 tools/gpgconf-comp.c:705
-#: tools/gpgconf-comp.c:817 tools/gpgconf-comp.c:929
+#: tools/gpgconf-comp.c:821 tools/gpgconf-comp.c:933
 msgid "Options controlling the configuration"
 msgstr ""
 
-#: tools/gpgconf-comp.c:517 tools/gpgconf-comp.c:659 tools/gpgconf-comp.c:736
-#: tools/gpgconf-comp.c:849 tools/gpgconf-comp.c:942
+#: tools/gpgconf-comp.c:517 tools/gpgconf-comp.c:659 tools/gpgconf-comp.c:740
+#: tools/gpgconf-comp.c:853 tools/gpgconf-comp.c:946
 msgid "Options useful for debugging"
 msgstr ""
 
-#: tools/gpgconf-comp.c:530 tools/gpgconf-comp.c:669 tools/gpgconf-comp.c:862
+#: tools/gpgconf-comp.c:530 tools/gpgconf-comp.c:669 tools/gpgconf-comp.c:866
 msgid "Options controlling the security"
 msgstr ""
 
@@ -11217,11 +11067,11 @@ msgstr "virhe luotaessa salasanaa: %s\n"
 msgid "|N|set the Pinentry timeout to N seconds"
 msgstr ""
 
-#: tools/gpgconf-comp.c:707 tools/gpgconf-comp.c:819
+#: tools/gpgconf-comp.c:707 tools/gpgconf-comp.c:823
 msgid "|NAME|use NAME as default secret key"
 msgstr "|NIMI|käytä oletusarvoisesti salaista avainta NIMI"
 
-#: tools/gpgconf-comp.c:710 tools/gpgconf-comp.c:822
+#: tools/gpgconf-comp.c:710 tools/gpgconf-comp.c:826
 #, fuzzy
 msgid "|NAME|encrypt to user ID NAME as well"
 msgstr "|NIMI|salaa vastaanottajalle NIMI"
@@ -11230,137 +11080,137 @@ msgstr "|NIMI|salaa vastaanottajalle NIMI"
 msgid "|SPEC|set up email aliases"
 msgstr ""
 
-#: tools/gpgconf-comp.c:749 tools/gpgconf-comp.c:981
+#: tools/gpgconf-comp.c:753 tools/gpgconf-comp.c:985
 msgid "Configuration for Keyservers"
 msgstr ""
 
-#: tools/gpgconf-comp.c:751 tools/gpgconf-comp.c:983
+#: tools/gpgconf-comp.c:755 tools/gpgconf-comp.c:987
 #, fuzzy
 msgid "|URL|use keyserver at URL"
 msgstr "avainpalvelimen URI:iä ei voi jäsentää\n"
 
-#: tools/gpgconf-comp.c:754
+#: tools/gpgconf-comp.c:758
 msgid "allow PKA lookups (DNS requests)"
 msgstr ""
 
-#: tools/gpgconf-comp.c:757
+#: tools/gpgconf-comp.c:761
 msgid "|MECHANISMS|use MECHANISMS to locate keys by mail address"
 msgstr ""
 
-#: tools/gpgconf-comp.c:760
+#: tools/gpgconf-comp.c:764
 #, fuzzy
 #| msgid "import keys from a keyserver"
 msgid "import missing key from a signature"
 msgstr "nouda avaimia avainpalvelimelta"
 
-#: tools/gpgconf-comp.c:763
+#: tools/gpgconf-comp.c:767
 #, fuzzy
 msgid "include the public key in signatures"
 msgstr "tarkista avainten allekirjoitukset"
 
-#: tools/gpgconf-comp.c:770 tools/gpgconf-comp.c:831
+#: tools/gpgconf-comp.c:774 tools/gpgconf-comp.c:835
 msgid "disable all access to the dirmngr"
 msgstr ""
 
-#: tools/gpgconf-comp.c:834
+#: tools/gpgconf-comp.c:838
 #, fuzzy
 msgid "|NAME|use encoding NAME for PKCS#12 passphrases"
 msgstr "|NIMI|käytä salasanoihin salausalgoritmia NIMI"
 
-#: tools/gpgconf-comp.c:870
+#: tools/gpgconf-comp.c:874
 msgid "do not check CRLs for root certificates"
 msgstr ""
 
-#: tools/gpgconf-comp.c:919
+#: tools/gpgconf-comp.c:923
 msgid "Options controlling the format of the output"
 msgstr ""
 
-#: tools/gpgconf-comp.c:961
+#: tools/gpgconf-comp.c:965
 msgid "Options controlling the interactivity and enforcement"
 msgstr ""
 
-#: tools/gpgconf-comp.c:974
+#: tools/gpgconf-comp.c:978
 msgid "Options controlling the use of Tor"
 msgstr ""
 
-#: tools/gpgconf-comp.c:988
+#: tools/gpgconf-comp.c:992
 msgid "Configuration for HTTP servers"
 msgstr ""
 
-#: tools/gpgconf-comp.c:999
+#: tools/gpgconf-comp.c:1003
 msgid "use system's HTTP proxy setting"
 msgstr ""
 
-#: tools/gpgconf-comp.c:1004
+#: tools/gpgconf-comp.c:1008
 msgid "Configuration of LDAP servers to use"
 msgstr ""
 
-#: tools/gpgconf-comp.c:1033
+#: tools/gpgconf-comp.c:1037
 msgid "LDAP server list"
 msgstr ""
 
-#: tools/gpgconf-comp.c:1041
+#: tools/gpgconf-comp.c:1045
 msgid "Configuration for OCSP"
 msgstr ""
 
-#: tools/gpgconf-comp.c:1094
+#: tools/gpgconf-comp.c:1098
 msgid "OpenPGP"
 msgstr ""
 
-#: tools/gpgconf-comp.c:1095
+#: tools/gpgconf-comp.c:1099
 msgid "Private Keys"
 msgstr ""
 
-#: tools/gpgconf-comp.c:1096
+#: tools/gpgconf-comp.c:1100
 msgid "Smartcards"
 msgstr ""
 
-#: tools/gpgconf-comp.c:1097
+#: tools/gpgconf-comp.c:1101
 msgid "S/MIME"
 msgstr ""
 
-#: tools/gpgconf-comp.c:1098
+#: tools/gpgconf-comp.c:1102
 #, fuzzy
 #| msgid "network error"
 msgid "Network"
 msgstr "verkkovirhe"
 
-#: tools/gpgconf-comp.c:1099
+#: tools/gpgconf-comp.c:1103
 #, fuzzy
 msgid "Passphrase Entry"
 msgstr "väärä salasana"
 
-#: tools/gpgconf-comp.c:1278
+#: tools/gpgconf-comp.c:1282
 #, fuzzy
 msgid "Component not suitable for launching"
 msgstr "julkista avainta ei löydy"
 
-#: tools/gpgconf-comp.c:1284
+#: tools/gpgconf-comp.c:1288
 #, c-format
 msgid "Configuration file of component %s is broken\n"
 msgstr ""
 
-#: tools/gpgconf-comp.c:1287
+#: tools/gpgconf-comp.c:1291
 #, fuzzy, c-format
 #| msgid "Please use the command \"toggle\" first.\n"
 msgid "Note: Use the command \"%s%s\" to get details.\n"
 msgstr "Käytä ensin komentoa \"toggle\".\n"
 
-#: tools/gpgconf-comp.c:3446
+#: tools/gpgconf-comp.c:3454
 #, c-format
 msgid "External verification of component %s failed"
 msgstr ""
 
-#: tools/gpgconf-comp.c:3597
+#: tools/gpgconf-comp.c:3605
 msgid "Note that group specifications are ignored\n"
 msgstr ""
 
-#: tools/gpgconf-comp.c:4195
+#: tools/gpgconf-comp.c:4203
 #, fuzzy, c-format
 msgid "error closing '%s'\n"
 msgstr "virhe luettaessa tiedostoa \"%s\": %s\n"
 
-#: tools/gpgconf-comp.c:4197
+#: tools/gpgconf-comp.c:4205
 #, fuzzy, c-format
 msgid "error parsing '%s'\n"
 msgstr "virhe luettaessa tiedostoa \"%s\": %s\n"
@@ -11470,6 +11320,99 @@ msgid ""
 msgstr ""
 
 #, fuzzy
+#~ msgid "requesting key %s from %s server %s\n"
+#~ msgstr "pyydetään avainta %08lX kohteesta %s\n"
+
+#, fuzzy
+#~ msgid "%s:%u: no hostname given\n"
+#~ msgstr "(Kuvausta ei annettu)\n"
+
+#, fuzzy
+#~ msgid "could not parse keyserver\n"
+#~ msgstr "avainpalvelimen URI:iä ei voi jäsentää\n"
+
+#, fuzzy
+#~| msgid "|NAME|set terminal charset to NAME"
+#~ msgid "|NAME|connect to host NAME"
+#~ msgstr "|NIMI|aseta päätteen merkistöksi NIMI"
+
+#, fuzzy
+#~| msgid "|NAME|use NAME as default recipient"
+#~ msgid "|NAME|use user NAME for authentication"
+#~ msgstr "|NIMI|käytä NIMI oletusvastaanottajana"
+
+#, fuzzy
+#~| msgid "Usage: gpg [options] [files] (-h for help)"
+#~ msgid "Usage: dirmngr_ldap [options] [URL] (-h for help)\n"
+#~ msgstr "Käyttö: gpg [valitsimet] [tiedostot] (-h näyttää ohjeen)"
+
+#, fuzzy
+#~| msgid "invalid import options\n"
+#~ msgid "invalid port number %d\n"
+#~ msgstr "virheelliset tuontivalitsimet\n"
+
+#, fuzzy
+#~ msgid "error writing to stdout: %s\n"
+#~ msgstr "virhe kirjoitettaessa avainrenkaaseen \"%s\": %s\n"
+
+#, fuzzy
+#~ msgid "attribute '%s' not found\n"
+#~ msgstr "avainta \"%s\" ei löydy: %s\n"
+
+#, fuzzy
+#~| msgid "reading from `%s'\n"
+#~ msgid "processing url '%s'\n"
+#~ msgstr "luetaan kohteesta \"%s\"\n"
+
+#, fuzzy
+#~| msgid "          w/o user IDs: %lu\n"
+#~ msgid "          user '%s'\n"
+#~ msgstr "          ilman käyttäjätunnuksia: %lu\n"
+
+#, fuzzy
+#~ msgid "          pass '%s'\n"
+#~ msgstr "                aka \""
+
+#, fuzzy
+#~ msgid "          host '%s'\n"
+#~ msgstr "                aka \""
+
+#, fuzzy
+#~| msgid "          not imported: %lu\n"
+#~ msgid "          port %d\n"
+#~ msgstr "          ei tuotu: %lu\n"
+
+#, fuzzy
+#~ msgid "            DN '%s'\n"
+#~ msgstr "                aka \""
+
+#, fuzzy
+#~ msgid "          attr '%s'\n"
+#~ msgstr "                aka \""
+
+#, fuzzy
+#~ msgid "no host name in '%s'\n"
+#~ msgstr "(Kuvausta ei annettu)\n"
+
+#, fuzzy
+#~| msgid "WARNING: using insecure memory!\n"
+#~ msgid "WARNING: using first attribute only\n"
+#~ msgstr "VAROITUS: käytetään suojaamatonta muistia!\n"
+
+#, fuzzy
+#~ msgid "LDAP init to '%s:%d' failed: %s\n"
+#~ msgstr "ascii-koodaaminen epäonnistui: %s\n"
+
+#, fuzzy
+#~ msgid "binding to '%s:%d' failed: %s\n"
+#~ msgstr "ascii-koodaaminen epäonnistui: %s\n"
+
+#, fuzzy
+#~| msgid "dearmoring failed: %s\n"
+#~ msgid "searching '%s' failed: %s\n"
+#~ msgstr "ascii-koodauksen purku epäonnistui: %s\n"
+
+#, fuzzy
 #~| msgid "NOTE: old default options file `%s' ignored\n"
 #~ msgid "Note: old default options file '%s' ignored\n"
 #~ msgstr "HUOM: Vanhat oletusarvoiset asetukset löytyvät tiedostosta \"%s\"\n"
index 4df68b5..2288f68 100644 (file)
Binary files a/po/fr.gmo and b/po/fr.gmo differ
index 6363e2b..1623265 100644 (file)
--- a/po/fr.po
+++ b/po/fr.po
@@ -7,8 +7,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: gnupg 2.1\n"
 "Report-Msgid-Bugs-To: translations@gnupg.org\n"
-"POT-Creation-Date: 2021-01-11 18:47+0100\n"
-"PO-Revision-Date: 2017-11-02 17:40+0100\n"
+"POT-Creation-Date: 2021-06-10 18:59+0200\n"
+"PO-Revision-Date: 2021-05-19 00:01+0200\n"
 "Last-Translator: David Prévot <david@tilapin.org>\n"
 "Language-Team: French <traduc@traduc.org>\n"
 "Language: fr\n"
@@ -120,7 +120,7 @@ msgid "Passphrase:"
 msgstr "Phrase secrète :"
 
 #: agent/call-pinentry.c:1107 agent/call-pinentry.c:1359
-#: agent/command-ssh.c:3130 agent/genkey.c:416
+#: agent/command-ssh.c:3140 agent/genkey.c:416
 msgid "does not match - try again"
 msgstr "ne correspond pas — veuillez réessayer"
 
@@ -170,32 +170,32 @@ msgstr "Mauvaise phrase secrète"
 msgid "ssh keys greater than %d bits are not supported\n"
 msgstr "les clefs SSH plus grandes que %d bits ne sont pas prises en charge\n"
 
-#: agent/command-ssh.c:862 common/dotlock.c:852 g10/card-util.c:932
-#: g10/exec.c:546 g10/export.c:1320 g10/gpg.c:1352 g10/keygen.c:4998
-#: g10/keyring.c:1322 g10/keyring.c:1637 g10/openfile.c:291 g10/sign.c:1009
-#: g10/sign.c:1323 g10/tdbio.c:753
+#: agent/command-ssh.c:862 common/dotlock.c:852 g10/card-util.c:933
+#: g10/exec.c:554 g10/export.c:1320 g10/gpg.c:1360 g10/keygen.c:4998
+#: g10/keyring.c:1322 g10/keyring.c:1637 g10/openfile.c:291 g10/sign.c:1008
+#: g10/sign.c:1322 g10/tdbio.c:753
 #, c-format
 msgid "can't create '%s': %s\n"
 msgstr "impossible de créer « %s » : %s\n"
 
-#: agent/command-ssh.c:874 common/helpfile.c:57 g10/card-util.c:889
+#: agent/command-ssh.c:874 common/helpfile.c:57 g10/card-util.c:890
 #: g10/dearmor.c:59 g10/dearmor.c:106 g10/decrypt.c:65 g10/decrypt.c:136
-#: g10/decrypt.c:153 g10/encrypt.c:180 g10/encrypt.c:543 g10/gpg.c:1353
-#: g10/import.c:352 g10/import.c:536 g10/import.c:764 g10/keygen.c:4036
+#: g10/decrypt.c:153 g10/encrypt.c:180 g10/encrypt.c:543 g10/gpg.c:1361
+#: g10/import.c:364 g10/import.c:548 g10/import.c:776 g10/keygen.c:4036
 #: g10/keyring.c:1663 g10/openfile.c:195 g10/openfile.c:209 g10/plaintext.c:128
-#: g10/plaintext.c:649 g10/sign.c:991 g10/sign.c:1202 g10/sign.c:1307
-#: g10/sign.c:1452 g10/tdbdump.c:143 g10/tdbdump.c:151 g10/tdbio.c:758
-#: g10/tdbio.c:829 g10/verify.c:96 g10/verify.c:160 sm/gpgsm.c:2219
-#: sm/gpgsm.c:2249 sm/gpgsm.c:2287 sm/qualified.c:66 dirmngr/certcache.c:396
+#: g10/plaintext.c:649 g10/sign.c:990 g10/sign.c:1201 g10/sign.c:1306
+#: g10/sign.c:1451 g10/tdbdump.c:143 g10/tdbdump.c:151 g10/tdbio.c:758
+#: g10/tdbio.c:829 g10/verify.c:96 g10/verify.c:160 sm/gpgsm.c:2125
+#: sm/gpgsm.c:2155 sm/gpgsm.c:2193 sm/qualified.c:66 dirmngr/certcache.c:396
 #: dirmngr/certcache.c:476 dirmngr/certcache.c:478 dirmngr/crlcache.c:2588
-#: dirmngr/dirmngr.c:1722
+#: dirmngr/dirmngr.c:1759
 #, c-format
 msgid "can't open '%s': %s\n"
 msgstr "impossible d'ouvrir « %s » : %s\n"
 
 #: agent/command-ssh.c:2385 agent/command-ssh.c:2431 agent/command-ssh.c:2449
-#: agent/command-ssh.c:2601 g10/card-util.c:687 g10/card-util.c:708
-#: g10/skclist.c:430
+#: agent/command-ssh.c:2601 g10/card-util.c:688 g10/card-util.c:709
+#: g10/skclist.c:435
 #, c-format
 msgid "error getting serial number of card: %s\n"
 msgstr "erreur de lecture du numéro de série de la carte : %s\n"
@@ -221,7 +221,7 @@ msgstr "aucune clef de carte convenable n'a été trouvée : %s\n"
 msgid "error getting list of cards: %s\n"
 msgstr "erreur de lecture des options stockées : %s\n"
 
-#: agent/command-ssh.c:2765
+#: agent/command-ssh.c:2775
 #, c-format
 msgid ""
 "An ssh process requested the use of key%%0A  %s%%0A  (%s)%%0ADo you want to "
@@ -230,24 +230,24 @@ msgstr ""
 "Un processus SSH demande à utiliser la clef%%0A  %s%%0A  (%s)%%0AVoulez-vous "
 "l'autoriser ?"
 
-#: agent/command-ssh.c:2772
+#: agent/command-ssh.c:2782
 msgid "Allow"
 msgstr "Autoriser"
 
-#: agent/command-ssh.c:2772
+#: agent/command-ssh.c:2782
 msgid "Deny"
 msgstr "Refuser"
 
-#: agent/command-ssh.c:2781
+#: agent/command-ssh.c:2791
 #, c-format
 msgid "Please enter the passphrase for the ssh key%%0A  %F%%0A  (%c)"
 msgstr "Veuillez entrer la phrase secrète pour la clef SSH%%0A  %F%%0A  (%c)"
 
-#: agent/command-ssh.c:3058 agent/genkey.c:351
+#: agent/command-ssh.c:3068 agent/genkey.c:351
 msgid "Please re-enter this passphrase"
 msgstr "Veuillez répéter cette phrase secrète"
 
-#: agent/command-ssh.c:3085
+#: agent/command-ssh.c:3095
 #, c-format
 msgid ""
 "Please enter a passphrase to protect the received secret key%%0A   %s%%0A   "
@@ -256,7 +256,7 @@ msgstr ""
 "Veuillez entrer une phrase secrète pour protéger la clef secrète%%0A   %s"
 "%%0A   %s%%0Areçue dans l'espace de stockage de clefs de gpg-agent"
 
-#: agent/command-ssh.c:3667
+#: agent/command-ssh.c:3677
 #, c-format
 msgid "failed to create stream from socket: %s\n"
 msgstr "échec de création du flux à partir de cette socket : %s\n"
@@ -412,47 +412,45 @@ msgstr ""
 "@Options :\n"
 " "
 
-#: agent/gpg-agent.c:165 scd/scdaemon.c:120 dirmngr/dirmngr.c:166
+#: agent/gpg-agent.c:165 scd/scdaemon.c:120 dirmngr/dirmngr.c:167
 msgid "run in daemon mode (background)"
 msgstr "exécuter en mode démon (arrière-plan)"
 
-#: agent/gpg-agent.c:166 scd/scdaemon.c:117 dirmngr/dirmngr.c:165
+#: agent/gpg-agent.c:166 scd/scdaemon.c:117 dirmngr/dirmngr.c:166
 msgid "run in server mode (foreground)"
 msgstr "exécuter en mode serveur (premier plan)"
 
-#: agent/gpg-agent.c:168 dirmngr/dirmngr.c:168
+#: agent/gpg-agent.c:168 dirmngr/dirmngr.c:169
 #, fuzzy
 #| msgid "run in server mode"
 msgid "run in supervised mode"
 msgstr "exécuter en mode serveur"
 
-#: agent/gpg-agent.c:170 g10/gpg.c:608 g10/gpgv.c:78 kbx/kbxutil.c:88
-#: scd/scdaemon.c:121 sm/gpgsm.c:310 dirmngr/dirmngr-client.c:70
-#: dirmngr/dirmngr.c:181 dirmngr/dirmngr_ldap.c:135
-#: tools/gpg-connect-agent.c:78 tools/gpgconf.c:108
+#: agent/gpg-agent.c:170 g10/gpg.c:605 g10/gpgv.c:78 kbx/kbxutil.c:88
+#: scd/scdaemon.c:121 sm/gpgsm.c:311 dirmngr/dirmngr-client.c:70
+#: dirmngr/dirmngr.c:182 tools/gpg-connect-agent.c:78 tools/gpgconf.c:108
 msgid "verbose"
 msgstr "bavard"
 
 #: agent/gpg-agent.c:171 g10/gpgv.c:79 kbx/kbxutil.c:89 scd/scdaemon.c:122
-#: sm/gpgsm.c:311 dirmngr/dirmngr-client.c:71 dirmngr/dirmngr.c:182
-#: dirmngr/dirmngr_ldap.c:136
+#: sm/gpgsm.c:312 dirmngr/dirmngr-client.c:71 dirmngr/dirmngr.c:183
 msgid "be somewhat more quiet"
 msgstr "devenir beaucoup plus silencieux"
 
-#: agent/gpg-agent.c:172 scd/scdaemon.c:123 dirmngr/dirmngr.c:183
+#: agent/gpg-agent.c:172 scd/scdaemon.c:123 dirmngr/dirmngr.c:184
 msgid "sh-style command output"
 msgstr "sortie de commandes à la sh"
 
-#: agent/gpg-agent.c:173 scd/scdaemon.c:124 dirmngr/dirmngr.c:184
+#: agent/gpg-agent.c:173 scd/scdaemon.c:124 dirmngr/dirmngr.c:185
 msgid "csh-style command output"
 msgstr "sortie de commandes à la csh"
 
-#: agent/gpg-agent.c:174 scd/scdaemon.c:125 sm/gpgsm.c:341
-#: dirmngr/dirmngr.c:185
+#: agent/gpg-agent.c:174 scd/scdaemon.c:125 sm/gpgsm.c:344
+#: dirmngr/dirmngr.c:186
 msgid "|FILE|read options from FILE"
 msgstr "|FICHIER|lire les options depuis le FICHIER"
 
-#: agent/gpg-agent.c:183 scd/scdaemon.c:135 dirmngr/dirmngr.c:188
+#: agent/gpg-agent.c:183 scd/scdaemon.c:135 dirmngr/dirmngr.c:189
 msgid "do not detach from the console"
 msgstr "ne pas détacher de la console"
 
@@ -533,9 +531,9 @@ msgstr "activer la prise en charge de putty"
 #. reporting address.  This is so that we can change the
 #. reporting address without breaking the translations.
 #: agent/gpg-agent.c:531 agent/preset-passphrase.c:100 agent/protect-tool.c:155
-#: g10/gpg.c:1070 g10/gpgv.c:149 kbx/kbxutil.c:113 scd/scdaemon.c:298
-#: sm/gpgsm.c:567 dirmngr/dirmngr-client.c:168 dirmngr/dirmngr.c:404
-#: dirmngr/dirmngr_ldap.c:207 tools/gpg-connect-agent.c:205 tools/gpgconf.c:146
+#: g10/gpg.c:1074 g10/gpgv.c:149 kbx/kbxutil.c:113 scd/scdaemon.c:299
+#: sm/gpgsm.c:570 dirmngr/dirmngr-client.c:168 dirmngr/dirmngr.c:412
+#: tools/gpg-connect-agent.c:205 tools/gpgconf.c:146
 #: tools/gpg-check-pattern.c:143
 msgid "Please report bugs to <@EMAIL@>.\n"
 msgstr ""
@@ -554,37 +552,37 @@ msgstr ""
 "Syntaxe : @GPG_AGENT@ [options] [commande [arguments]]\n"
 "Gestionnaire de clefs secrètes pour @GNUPG@\n"
 
-#: agent/gpg-agent.c:587 g10/gpg.c:1262 scd/scdaemon.c:370 sm/gpgsm.c:715
-#: dirmngr/dirmngr.c:488
+#: agent/gpg-agent.c:587 g10/gpg.c:1270 scd/scdaemon.c:371 sm/gpgsm.c:718
+#: dirmngr/dirmngr.c:496
 #, c-format
 msgid "invalid debug-level '%s' given\n"
 msgstr "niveau de débogage « %s » incorrect\n"
 
-#: agent/gpg-agent.c:945 g10/gpg.c:3753 g10/gpg.c:3777 sm/gpgsm.c:1631
-#: sm/gpgsm.c:1637
+#: agent/gpg-agent.c:945 g10/gpg.c:3773 g10/gpg.c:3797 sm/gpgsm.c:1531
+#: sm/gpgsm.c:1537
 #, c-format
 msgid "selected digest algorithm is invalid\n"
 msgstr "la fonction de hachage sélectionnée est incorrecte\n"
 
 #: agent/gpg-agent.c:1168 agent/gpg-agent.c:2023 common/argparse.c:1755
-#: common/argparse.c:1847 g10/gpg.c:2482 scd/scdaemon.c:532 sm/gpgsm.c:1063
-#: dirmngr/dirmngr.c:956 dirmngr/dirmngr.c:1841
+#: common/argparse.c:1847 g10/gpg.c:2495 scd/scdaemon.c:533 sm/gpgsm.c:977
+#: dirmngr/dirmngr.c:994 dirmngr/dirmngr.c:1878
 #, c-format
 msgid "reading options from '%s'\n"
 msgstr "lecture des options de « %s »\n"
 
-#: agent/gpg-agent.c:1300 g10/gpg.c:3704 scd/scdaemon.c:655 sm/gpgsm.c:1571
-#: dirmngr/dirmngr.c:1067 tools/gpg-connect-agent.c:1244 tools/gpgconf.c:624
+#: agent/gpg-agent.c:1300 g10/gpg.c:3724 scd/scdaemon.c:657 sm/gpgsm.c:1471
+#: dirmngr/dirmngr.c:1102 tools/gpg-connect-agent.c:1244 tools/gpgconf.c:624
 #, c-format
 msgid "Note: '%s' is not considered an option\n"
 msgstr "Remarque : « %s » n'est pas considéré comme une option\n"
 
-#: agent/gpg-agent.c:2159 scd/scdaemon.c:1096 dirmngr/dirmngr.c:1219
+#: agent/gpg-agent.c:2159 scd/scdaemon.c:1098 dirmngr/dirmngr.c:1256
 #, c-format
 msgid "can't create socket: %s\n"
 msgstr "impossible de créer la socket : %s\n"
 
-#: agent/gpg-agent.c:2176 scd/scdaemon.c:1109 dirmngr/dirmngr.c:1232
+#: agent/gpg-agent.c:2176 scd/scdaemon.c:1111 dirmngr/dirmngr.c:1269
 #, c-format
 msgid "socket name '%s' is too long\n"
 msgstr "le nom de la socket « %s » est trop long\n"
@@ -596,30 +594,30 @@ msgstr ""
 "une instance de gpg-agent fonctionne déjà —\n"
 "pas de démarrage d'une nouvelle instance\n"
 
-#: agent/gpg-agent.c:2226 scd/scdaemon.c:1133 dirmngr/dirmngr.c:1264
+#: agent/gpg-agent.c:2226 scd/scdaemon.c:1135 dirmngr/dirmngr.c:1301
 #, c-format
 msgid "error getting nonce for the socket\n"
 msgstr "erreur de lecture du « nonce » de la socket\n"
 
-#: agent/gpg-agent.c:2231 scd/scdaemon.c:1136 dirmngr/dirmngr.c:1267
+#: agent/gpg-agent.c:2231 scd/scdaemon.c:1138 dirmngr/dirmngr.c:1304
 #, c-format
 msgid "error binding socket to '%s': %s\n"
 msgstr "erreur de lien de la socket à « %s » : %s\n"
 
 #: agent/gpg-agent.c:2242 agent/gpg-agent.c:2282 agent/gpg-agent.c:2291
-#: scd/scdaemon.c:1144 dirmngr/dirmngr.c:1276
+#: scd/scdaemon.c:1146 dirmngr/dirmngr.c:1313
 #, fuzzy, c-format
 #| msgid "Warning: unsafe permissions on %s \"%s\"\n"
 msgid "can't set permissions of '%s': %s\n"
 msgstr "Avertissement : les droits de %s ne sont pas sûrs « %s »\n"
 
-#: agent/gpg-agent.c:2256 scd/scdaemon.c:1156 dirmngr/dirmngr.c:1288
+#: agent/gpg-agent.c:2256 scd/scdaemon.c:1158 dirmngr/dirmngr.c:1325
 #, c-format
 msgid "listening on socket '%s'\n"
 msgstr "écoute sur la socket « %s »\n"
 
 #: agent/gpg-agent.c:2276 agent/gpg-agent.c:2329 common/homedir.c:517
-#: g10/exec.c:261 g10/openfile.c:397
+#: g10/exec.c:269 g10/openfile.c:397
 #, c-format
 msgid "can't create directory '%s': %s\n"
 msgstr "impossible de créer le répertoire « %s » : %s\n"
@@ -640,7 +638,7 @@ msgstr "échec de stat() pour « %s » : %s\n"
 msgid "can't use '%s' as home directory\n"
 msgstr "impossible d'utiliser « %s » comme répertoire personnel\n"
 
-#: agent/gpg-agent.c:2502 scd/scdaemon.c:1172 dirmngr/dirmngr.c:2047
+#: agent/gpg-agent.c:2502 scd/scdaemon.c:1174 dirmngr/dirmngr.c:2084
 #, c-format
 msgid "error reading nonce on fd %d: %s\n"
 msgstr "erreur de lecture du « nonce » sur le descripteur %d : %s\n"
@@ -665,12 +663,12 @@ msgstr "gestionnaire SSH 0x%lx pour le descripteur %d démarré\n"
 msgid "ssh handler 0x%lx for fd %d terminated\n"
 msgstr "gestionnaire SSH 0x%lx pour le descripteur %d terminé\n"
 
-#: agent/gpg-agent.c:3016 scd/scdaemon.c:1362 dirmngr/dirmngr.c:2261
+#: agent/gpg-agent.c:3016 scd/scdaemon.c:1366 dirmngr/dirmngr.c:2298
 #, c-format
 msgid "npth_pselect failed: %s - waiting 1s\n"
 msgstr "échec de npth_pselect : %s — attente 1 s\n"
 
-#: agent/gpg-agent.c:3104 scd/scdaemon.c:1427
+#: agent/gpg-agent.c:3104 scd/scdaemon.c:1431
 #, c-format
 msgid "%s %s stopped\n"
 msgstr "%s %s arrêté\n"
@@ -695,8 +693,8 @@ msgstr ""
 "Syntaxe : gpg-preset-passphrase [options] KEYGRIP\n"
 "Maintenance du cache des mots de passe\n"
 
-#: agent/protect-tool.c:108 g10/gpg.c:440 kbx/kbxutil.c:71 sm/gpgsm.c:204
-#: dirmngr/dirmngr.c:163 tools/gpgconf.c:78
+#: agent/protect-tool.c:108 g10/gpg.c:437 kbx/kbxutil.c:71 sm/gpgsm.c:205
+#: dirmngr/dirmngr.c:164 tools/gpgconf.c:78
 msgid ""
 "@Commands:\n"
 " "
@@ -704,8 +702,8 @@ msgstr ""
 "@Commandes :\n"
 " "
 
-#: agent/protect-tool.c:117 g10/gpg.c:553 g10/gpgv.c:76 kbx/kbxutil.c:81
-#: sm/gpgsm.c:252 dirmngr/dirmngr.c:179 tools/gpg-connect-agent.c:76
+#: agent/protect-tool.c:117 g10/gpg.c:550 g10/gpgv.c:76 kbx/kbxutil.c:81
+#: sm/gpgsm.c:253 dirmngr/dirmngr.c:180 tools/gpg-connect-agent.c:76
 #: tools/gpgconf.c:105
 msgid ""
 "@\n"
@@ -728,11 +726,11 @@ msgstr ""
 "Syntaxe : gpg-protect-tool [options] [arguments]\n"
 "Outils de maintenance des clefs secrètes\n"
 
-#: agent/protect-tool.c:703
+#: agent/protect-tool.c:703 sm/import.c:774
 msgid "Please enter the passphrase to unprotect the PKCS#12 object."
 msgstr "Veuillez entrer la phrase secrète pour déprotéger l'objet PKCS#12."
 
-#: agent/protect-tool.c:708
+#: agent/protect-tool.c:708 sm/export.c:710
 msgid "Please enter the passphrase to protect the new PKCS#12 object."
 msgstr ""
 "Veuillez entrer la phrase secrète pour protéger le nouvel objet PKCS#12."
@@ -763,7 +761,7 @@ msgstr "annulé\n"
 msgid "error while asking for the passphrase: %s\n"
 msgstr "erreur de demande de la phrase secrète : %s\n"
 
-#: agent/trustlist.c:154 agent/trustlist.c:364 dirmngr/dirmngr.c:1629
+#: agent/trustlist.c:154 agent/trustlist.c:364 dirmngr/dirmngr.c:1666
 #: tools/gpgconf.c:418
 #, c-format
 msgid "error opening '%s': %s\n"
@@ -930,7 +928,7 @@ msgstr "échec de vérification de la signature créée : %s\n"
 msgid "secret key parts are not available\n"
 msgstr "des parties de la clef secrète ne sont pas disponibles\n"
 
-#: agent/cvt-openpgp.c:344 g10/card-util.c:1540
+#: agent/cvt-openpgp.c:344 g10/card-util.c:1541
 #, c-format
 msgid "public key algorithm %d (%s) is not supported\n"
 msgstr "l'algorithme de clef publique %d (%s) n'est pas pris en charge\n"
@@ -946,21 +944,21 @@ msgid "protection hash algorithm %d (%s) is not supported\n"
 msgstr ""
 "l'algorithme de protection de hachage %d (%s) n'est pas pris en charge\n"
 
-#: common/exechelp-posix.c:359 common/exechelp-w32.c:449
-#: common/exechelp-w32.c:473 common/exechelp-w32.c:503
+#: common/exechelp-posix.c:359 common/exechelp-w32.c:451
+#: common/exechelp-w32.c:475 common/exechelp-w32.c:505
 #, c-format
 msgid "error creating a pipe: %s\n"
 msgstr "erreur de création d'un tube : %s\n"
 
 #: common/exechelp-posix.c:372 common/exechelp-w32.c:355
-#: common/exechelp-w32.c:459 common/exechelp-w32.c:483
-#: common/exechelp-w32.c:513
+#: common/exechelp-w32.c:461 common/exechelp-w32.c:485
+#: common/exechelp-w32.c:515
 #, c-format
 msgid "error creating a stream for a pipe: %s\n"
 msgstr "erreur de création d'un flux pour un tube : %s\n"
 
 #: common/exechelp-posix.c:495 common/exechelp-posix.c:570
-#: common/exechelp-posix.c:851 dirmngr/dirmngr.c:1306
+#: common/exechelp-posix.c:856 dirmngr/dirmngr.c:1343
 #, c-format
 msgid "error forking process: %s\n"
 msgstr "erreur de création de processus fils : %s\n"
@@ -970,29 +968,29 @@ msgstr "erreur de création de processus fils : %s\n"
 msgid "waiting for process %d to terminate failed: %s\n"
 msgstr "échec d'attente de fin du processus %d : %s\n"
 
-#: common/exechelp-posix.c:678 common/exechelp-posix.c:794
+#: common/exechelp-posix.c:678 common/exechelp-posix.c:799
 #, c-format
 msgid "error running '%s': probably not installed\n"
 msgstr "erreur d'exécution de « %s » : il n'est sans doute pas installé\n"
 
-#: common/exechelp-posix.c:684 common/exechelp-posix.c:801
-#: common/exechelp-w32.c:796 common/exechelp-w32ce.c:781
+#: common/exechelp-posix.c:684 common/exechelp-posix.c:806
+#: common/exechelp-w32.c:829 common/exechelp-w32ce.c:781
 #, c-format
 msgid "error running '%s': exit status %d\n"
 msgstr "erreur d'exécution de « %s » : code de retour %d\n"
 
-#: common/exechelp-posix.c:692 common/exechelp-posix.c:809
+#: common/exechelp-posix.c:692 common/exechelp-posix.c:814
 #, c-format
 msgid "error running '%s': terminated\n"
 msgstr "erreur d'exécution de « %s » : terminé\n"
 
-#: common/exechelp-posix.c:750 common/exechelp-w32.c:777
+#: common/exechelp-posix.c:755 common/exechelp-w32.c:810
 #, fuzzy, c-format
 #| msgid "waiting for process %d to terminate failed: %s\n"
 msgid "waiting for processes to terminate failed: %s\n"
 msgstr "échec d'attente de fin du processus %d : %s\n"
 
-#: common/exechelp-w32.c:789 common/exechelp-w32ce.c:775
+#: common/exechelp-w32.c:822 common/exechelp-w32ce.c:775
 #, c-format
 msgid "error getting exit code of process %d: %s\n"
 msgstr "erreur de lecture du code de retour du processus %d : %s\n"
@@ -1088,7 +1086,7 @@ msgstr "hors limite de la mémoire sécurisée lors de l'allocation de %lu octe
 msgid "out of core while allocating %lu bytes"
 msgstr "hors limite lors de l'allocation de %lu octets"
 
-#: common/miscellaneous.c:115 g10/card-util.c:896 tools/no-libgcrypt.c:30
+#: common/miscellaneous.c:115 g10/card-util.c:897 tools/no-libgcrypt.c:30
 #, c-format
 msgid "error allocating enough memory: %s\n"
 msgstr "erreur d'allocation de suffisamment de mémoire : %s\n"
@@ -1205,7 +1203,7 @@ msgid "algorithm: %s"
 msgstr "algorithme : %s"
 
 #: common/audit.c:774 common/audit.c:776 common/audit.c:921 common/audit.c:923
-#: scd/app-openpgp.c:3555
+#: scd/app-openpgp.c:3554
 #, c-format
 msgid "unsupported algorithm: %s"
 msgstr "algorithme non pris en charge : %s"
@@ -1330,6 +1328,26 @@ msgstr "[aucun]"
 msgid "invalid radix64 character %02x skipped\n"
 msgstr "caractère %02x incorrect en radix64, ignoré\n"
 
+#: common/ttyio.c:433
+#, c-format
+msgid "Sorry, we are in batchmode - can't get input\n"
+msgstr ""
+
+#: common/ttyio.c:439
+#, c-format
+msgid "Sorry, no terminal at all requested - can't get input\n"
+msgstr ""
+
+#: common/ttyio.c:474 common/ttyio.c:484
+#, c-format
+msgid "too many errors; giving up\n"
+msgstr ""
+
+#: common/ttyio.c:536
+#, c-format
+msgid "Control-D detected\n"
+msgstr ""
+
 #: common/argparse.c:520
 msgid "argument not expected"
 msgstr "argument inattendu"
@@ -1393,7 +1411,7 @@ msgstr "option incorrecte"
 msgid "missing argument for option \"%.50s\"\n"
 msgstr "argument manquant pour l'option « %.50s »\n"
 
-#: common/argparse.c:558 g10/gpg.c:3490
+#: common/argparse.c:558 g10/gpg.c:3510
 #, c-format
 msgid "invalid argument for option \"%.50s\"\n"
 msgstr "argument incorrect pour l'option « %.50s »\n"
@@ -1463,31 +1481,31 @@ msgstr "impossible de créer le fichier temporaire « %s » : %s\n"
 msgid "error writing to '%s': %s\n"
 msgstr "erreur d'écriture sur « %s » : %s\n"
 
-#: common/dotlock.c:1129
+#: common/dotlock.c:1137
 #, c-format
 msgid "removing stale lockfile (created by %d)\n"
 msgstr "suppression du vieux fichier verrou (créé par %d)\n"
 
-#: common/dotlock.c:1165
+#: common/dotlock.c:1173
 #, c-format
 msgid "waiting for lock (held by %d%s) %s...\n"
 msgstr "attente du verrou (appartenant à %d%s) %s…\n"
 
-#: common/dotlock.c:1166
+#: common/dotlock.c:1174
 msgid "(deadlock?) "
 msgstr "(peut-être un verrou mort) "
 
-#: common/dotlock.c:1205
+#: common/dotlock.c:1213
 #, c-format
 msgid "lock '%s' not made: %s\n"
 msgstr "verrou « %s » non effectif : %s\n"
 
-#: common/dotlock.c:1232
+#: common/dotlock.c:1240
 #, c-format
 msgid "waiting for lock %s...\n"
 msgstr "attente du verrou %s…\n"
 
-#: common/init.c:185 sm/gpgsm.c:949 dirmngr/dirmngr.c:862 dirmngr/dirmngr.c:871
+#: common/init.c:191 sm/gpgsm.c:863 dirmngr/dirmngr.c:900 dirmngr/dirmngr.c:909
 #, c-format
 msgid "%s is too old (need %s, have %s)\n"
 msgstr "%s est trop ancien (nécessaire : %s, utilisé : %s)\n"
@@ -1679,13 +1697,13 @@ msgid "Note: Use the command \"%s\" to restart them.\n"
 msgstr "Veuillez d'abord utiliser la commande « toggle ».\n"
 
 #: g10/call-agent.c:318 g10/encrypt.c:154 g10/encrypt.c:620 g10/sign.c:412
-#: sm/call-agent.c:205 sm/encrypt.c:425 sm/sign.c:345
+#: sm/call-agent.c:205 sm/encrypt.c:426 sm/sign.c:345
 #, fuzzy, c-format
 #| msgid "%s does not yet work with %s\n"
 msgid "%s is not compliant with %s mode\n"
 msgstr "%s ne fonctionne pas encore avec %s\n"
 
-#: g10/call-dirmngr.c:209 sm/call-dirmngr.c:268 tools/gpg-connect-agent.c:2253
+#: g10/call-dirmngr.c:209 sm/call-dirmngr.c:269 tools/gpg-connect-agent.c:2253
 #, fuzzy, c-format
 #| msgid "no gpg-agent running in this session\n"
 msgid "no dirmngr running in this session\n"
@@ -1732,23 +1750,23 @@ msgstr ""
 msgid "server uses an invalid certificate"
 msgstr "générer un certificat de révocation"
 
-#: g10/call-dirmngr.c:437 g10/gpg.c:4400
+#: g10/call-dirmngr.c:437 g10/gpg.c:4421
 #, fuzzy, c-format
 #| msgid "armor: %s\n"
 msgid "Note: %s\n"
 msgstr "armure : %s\n"
 
-#: g10/card-util.c:86 g10/card-util.c:366 g10/card-util.c:1902
+#: g10/card-util.c:86 g10/card-util.c:366 g10/card-util.c:1903
 #, c-format
 msgid "OpenPGP card not available: %s\n"
 msgstr "la carte OpenPGP n'est pas disponible : %s\n"
 
-#: g10/card-util.c:91 g10/card-util.c:1908
+#: g10/card-util.c:91 g10/card-util.c:1909
 #, c-format
 msgid "OpenPGP card no. %s detected\n"
 msgstr "carte OpenPGP nº %s détectée\n"
 
-#: g10/card-util.c:97 g10/card-util.c:2237 g10/delkey.c:160 g10/keyedit.c:1422
+#: g10/card-util.c:97 g10/card-util.c:2238 g10/delkey.c:160 g10/keyedit.c:1423
 #: g10/keygen.c:4466 g10/revoke.c:214 g10/revoke.c:636
 #, c-format
 msgid "can't do this in batch mode\n"
@@ -1759,13 +1777,13 @@ msgstr "impossible de faire cela en mode automatique\n"
 msgid "This command is only available for version 2 cards\n"
 msgstr "Cette commande n'est disponible que pour les cartes en version 2\n"
 
-#: g10/card-util.c:107 scd/app-openpgp.c:2864
+#: g10/card-util.c:107 scd/app-openpgp.c:2863
 #, c-format
 msgid "Reset Code not or not anymore available\n"
 msgstr "le code de réinitialisation n'est plus disponible\n"
 
-#: g10/card-util.c:140 g10/card-util.c:1426 g10/card-util.c:1688
-#: g10/card-util.c:1780 g10/keyedit.c:394 g10/keyedit.c:415 g10/keyedit.c:429
+#: g10/card-util.c:140 g10/card-util.c:1427 g10/card-util.c:1689
+#: g10/card-util.c:1781 g10/keyedit.c:394 g10/keyedit.c:415 g10/keyedit.c:429
 #: g10/keygen.c:1808 g10/keygen.c:1980 g10/keygen.c:2186 g10/keygen.c:2477
 #: sm/certreqgen-ui.c:165 sm/certreqgen-ui.c:291 sm/certreqgen-ui.c:325
 msgid "Your selection? "
@@ -1791,106 +1809,106 @@ msgstr "non forcé"
 msgid "forced"
 msgstr "forcé"
 
-#: g10/card-util.c:749
+#: g10/card-util.c:750
 msgid "Error: Only plain ASCII is currently allowed.\n"
 msgstr "Erreur : seul l'ASCII standard est permis pour l'instant.\n"
 
-#: g10/card-util.c:751
+#: g10/card-util.c:752
 msgid "Error: The \"<\" character may not be used.\n"
 msgstr "Erreur : le caractère « < » ne peut pas être utilisé.\n"
 
-#: g10/card-util.c:753
+#: g10/card-util.c:754
 msgid "Error: Double spaces are not allowed.\n"
 msgstr "Erreur : les espaces doubles ne sont pas permises.\n"
 
-#: g10/card-util.c:770
+#: g10/card-util.c:771
 msgid "Cardholder's surname: "
 msgstr "Nom du détenteur de la carte : "
 
-#: g10/card-util.c:772
+#: g10/card-util.c:773
 msgid "Cardholder's given name: "
 msgstr "Prénom du détenteur de la carte : "
 
-#: g10/card-util.c:790
+#: g10/card-util.c:791
 #, c-format
 msgid "Error: Combined name too long (limit is %d characters).\n"
 msgstr "Erreur : nom combiné trop long (limité à %d caractères).\n"
 
-#: g10/card-util.c:811
+#: g10/card-util.c:812
 msgid "URL to retrieve public key: "
 msgstr "URL pour récupérer la clef publique : "
 
-#: g10/card-util.c:905 g10/decrypt-data.c:490 g10/import.c:387 g10/import.c:734
-#: g10/import.c:786 dirmngr/crlcache.c:655 dirmngr/crlcache.c:660
-#: dirmngr/crlcache.c:914 dirmngr/crlcache.c:920 dirmngr/dirmngr.c:1668
+#: g10/card-util.c:906 g10/decrypt-data.c:490 g10/import.c:399 g10/import.c:746
+#: g10/import.c:798 dirmngr/crlcache.c:655 dirmngr/crlcache.c:660
+#: dirmngr/crlcache.c:914 dirmngr/crlcache.c:920 dirmngr/dirmngr.c:1705
 #: tools/gpgconf.c:431 tools/gpgconf.c:477
 #, c-format
 msgid "error reading '%s': %s\n"
 msgstr "erreur de lecture de « %s » : %s\n"
 
-#: g10/card-util.c:938 g10/decrypt-data.c:493 g10/export.c:2467
+#: g10/card-util.c:939 g10/decrypt-data.c:493 g10/export.c:2467
 #: dirmngr/crlcache.c:925
 #, c-format
 msgid "error writing '%s': %s\n"
 msgstr "erreur d'écriture de « %s » : %s\n"
 
-#: g10/card-util.c:965
+#: g10/card-util.c:966
 msgid "Login data (account name): "
 msgstr "Données d'identification (nom du compte) : "
 
-#: g10/card-util.c:1003
+#: g10/card-util.c:1004
 msgid "Private DO data: "
 msgstr "Données DO privées : "
 
-#: g10/card-util.c:1088
+#: g10/card-util.c:1089
 msgid "Language preferences: "
 msgstr "Préférences de langue : "
 
-#: g10/card-util.c:1096
+#: g10/card-util.c:1097
 msgid "Error: invalid length of preference string.\n"
 msgstr "Erreur : taille incorrecte de la chaîne de préférences.\n"
 
-#: g10/card-util.c:1105
+#: g10/card-util.c:1106
 msgid "Error: invalid characters in preference string.\n"
 msgstr "Erreur : caractères incorrects dans la chaîne de préférences.\n"
 
-#: g10/card-util.c:1127
+#: g10/card-util.c:1128
 msgid "Salutation (M = Mr., F = Ms., or space): "
 msgstr ""
 
-#: g10/card-util.c:1141
+#: g10/card-util.c:1142
 msgid "Error: invalid response.\n"
 msgstr "Erreur : réponse incorrecte.\n"
 
-#: g10/card-util.c:1163
+#: g10/card-util.c:1164
 msgid "CA fingerprint: "
 msgstr "empreinte de l'autorité de certification : "
 
-#: g10/card-util.c:1186
+#: g10/card-util.c:1187
 msgid "Error: invalid formatted fingerprint.\n"
 msgstr "Erreur : formatage incorrect de l'empreinte.\n"
 
-#: g10/card-util.c:1236
+#: g10/card-util.c:1237
 #, c-format
 msgid "key operation not possible: %s\n"
 msgstr "opération sur la clef impossible : %s\n"
 
-#: g10/card-util.c:1237
+#: g10/card-util.c:1238
 msgid "not an OpenPGP card"
 msgstr "ce n'est pas une carte OpenPGP"
 
-#: g10/card-util.c:1250 g10/keygen.c:4486 g10/keygen.c:5565
+#: g10/card-util.c:1251 g10/keygen.c:4486 g10/keygen.c:5565
 #, c-format
 msgid "error getting current key info: %s\n"
 msgstr ""
 "erreur de lecture des renseignements actuellement contenus\n"
 "dans la clef : %s\n"
 
-#: g10/card-util.c:1335
+#: g10/card-util.c:1336
 msgid "Replace existing key? (y/N) "
 msgstr "Faut-il remplacer la clef existante ? (o/N) "
 
-#: g10/card-util.c:1352
+#: g10/card-util.c:1353
 msgid ""
 "Note: There is no guarantee that the card supports the requested size.\n"
 "      If the key generation does not succeed, please check the\n"
@@ -1900,84 +1918,84 @@ msgstr ""
 "           En cas d'échec de génération de la clef, veuillez vérifier les\n"
 "           tailles permises dans la documentation de la carte.\n"
 
-#: g10/card-util.c:1374 g10/keygen.c:2363 sm/certreqgen-ui.c:179
+#: g10/card-util.c:1375 g10/keygen.c:2363 sm/certreqgen-ui.c:179
 #, c-format
 msgid "What keysize do you want? (%u) "
 msgstr "Quelle taille de clef désirez-vous ? (%u) "
 
-#: g10/card-util.c:1384 g10/keygen.c:2286 g10/keygen.c:2318
+#: g10/card-util.c:1385 g10/keygen.c:2286 g10/keygen.c:2318
 #: sm/certreqgen-ui.c:194
 #, c-format
 msgid "rounded up to %u bits\n"
 msgstr "arrondie à %u bits\n"
 
-#: g10/card-util.c:1392 g10/keygen.c:2371 sm/certreqgen-ui.c:184
+#: g10/card-util.c:1393 g10/keygen.c:2371 sm/certreqgen-ui.c:184
 #, c-format
 msgid "%s keysizes must be in the range %u-%u\n"
 msgstr "les tailles de clefs %s doivent être dans l'intervalle %u-%u\n"
 
-#: g10/card-util.c:1411
+#: g10/card-util.c:1412
 msgid "Changing card key attribute for: "
 msgstr ""
 
-#: g10/card-util.c:1413
+#: g10/card-util.c:1414
 #, fuzzy
 #| msgid "   (1) Signature key\n"
 msgid "Signature key\n"
 msgstr "   (1) Clef de signature\n"
 
-#: g10/card-util.c:1415
+#: g10/card-util.c:1416
 #, fuzzy
 #| msgid "   (2) Encryption key\n"
 msgid "Encryption key\n"
 msgstr "   (2) Clef de chiffrement\n"
 
-#: g10/card-util.c:1417
+#: g10/card-util.c:1418
 #, fuzzy
 #| msgid "   (3) Authentication key\n"
 msgid "Authentication key\n"
 msgstr "   (3) Clef d'authentification\n"
 
-#: g10/card-util.c:1419 g10/keygen.c:1926 sm/certreqgen-ui.c:157
+#: g10/card-util.c:1420 g10/keygen.c:1926 sm/certreqgen-ui.c:157
 msgid "Please select what kind of key you want:\n"
 msgstr "Sélectionnez le type de clef désiré :\n"
 
-#: g10/card-util.c:1420 sm/certreqgen-ui.c:158
+#: g10/card-util.c:1421 sm/certreqgen-ui.c:158
 #, c-format
 msgid "   (%d) RSA\n"
 msgstr "   (%d) RSA\n"
 
-#: g10/card-util.c:1421
+#: g10/card-util.c:1422
 #, c-format
 msgid "   (%d) ECC\n"
 msgstr "   (%d) ECC\n"
 
-#: g10/card-util.c:1433 g10/card-util.c:1700 g10/card-util.c:1800
-#: g10/keyedit.c:899 g10/keygen.c:1834 g10/keygen.c:1862 g10/keygen.c:1987
+#: g10/card-util.c:1434 g10/card-util.c:1701 g10/card-util.c:1801
+#: g10/keyedit.c:900 g10/keygen.c:1834 g10/keygen.c:1862 g10/keygen.c:1987
 #: g10/keygen.c:2222 g10/keygen.c:2505 g10/revoke.c:838
 msgid "Invalid selection.\n"
 msgstr "Choix incorrect.\n"
 
-#: g10/card-util.c:1506
+#: g10/card-util.c:1507
 #, c-format
 msgid "The card will now be re-configured to generate a key of %u bits\n"
 msgstr ""
 "La carte sera maintenant reconfigurée pour générer une clef de %u bits\n"
 
-#: g10/card-util.c:1511
+#: g10/card-util.c:1512
 #, fuzzy, c-format
 #| msgid "The card will now be re-configured to generate a key of %u bits\n"
 msgid "The card will now be re-configured to generate a key of type: %s\n"
 msgstr ""
 "La carte sera maintenant reconfigurée pour générer une clef de %u bits\n"
 
-#: g10/card-util.c:1547
+#: g10/card-util.c:1548
 #, fuzzy, c-format
 #| msgid "error changing size of key %d to %u bits: %s\n"
 msgid "error changing key attribute for key %d: %s\n"
 msgstr "erreur de modification de taille de clef %d en %u bits : %s\n"
 
-#: g10/card-util.c:1563 g10/card-util.c:2090
+#: g10/card-util.c:1564 g10/card-util.c:2091
 #, fuzzy, c-format
 #| msgid "error getting current key info: %s\n"
 msgid "error getting card info: %s\n"
@@ -1985,27 +2003,27 @@ msgstr ""
 "erreur de lecture des renseignements actuellement contenus\n"
 "dans la clef : %s\n"
 
-#: g10/card-util.c:1569 g10/card-util.c:1914 g10/card-util.c:2096
+#: g10/card-util.c:1570 g10/card-util.c:1915 g10/card-util.c:2097
 #, fuzzy, c-format
 #| msgid "This command is not allowed while in %s mode.\n"
 msgid "This command is not supported by this card\n"
 msgstr "Cette commande n'est pas permise en mode %s.\n"
 
-#: g10/card-util.c:1615
+#: g10/card-util.c:1616
 msgid "Make off-card backup of encryption key? (Y/n) "
 msgstr ""
 "Faut-il faire une sauvegarde hors carte de la clef de chiffrement ? (O/n) "
 
-#: g10/card-util.c:1629
+#: g10/card-util.c:1630
 #, c-format
 msgid "Note: keys are already stored on the card!\n"
 msgstr "Remarque : les clefs sont déjà stockées sur la carte.\n"
 
-#: g10/card-util.c:1632
+#: g10/card-util.c:1633
 msgid "Replace existing keys? (y/N) "
 msgstr "Faut-il remplacer les clefs existantes ? (o/N) "
 
-#: g10/card-util.c:1644
+#: g10/card-util.c:1645
 #, c-format
 msgid ""
 "Please note that the factory settings of the PINs are\n"
@@ -2016,154 +2034,154 @@ msgstr ""
 "   code personnel = « %s »     code personnel d'admin. = « %s ».\n"
 "Vous devriez les modifier avec la commande --change-pin\n"
 
-#: g10/card-util.c:1679
+#: g10/card-util.c:1680
 msgid "Please select the type of key to generate:\n"
 msgstr "Veuillez sélectionner le type de clef à générer :\n"
 
-#: g10/card-util.c:1681 g10/card-util.c:1771
+#: g10/card-util.c:1682 g10/card-util.c:1772
 msgid "   (1) Signature key\n"
 msgstr "   (1) Clef de signature\n"
 
-#: g10/card-util.c:1682 g10/card-util.c:1773
+#: g10/card-util.c:1683 g10/card-util.c:1774
 msgid "   (2) Encryption key\n"
 msgstr "   (2) Clef de chiffrement\n"
 
-#: g10/card-util.c:1683 g10/card-util.c:1775
+#: g10/card-util.c:1684 g10/card-util.c:1776
 msgid "   (3) Authentication key\n"
 msgstr "   (3) Clef d'authentification\n"
 
-#: g10/card-util.c:1768
+#: g10/card-util.c:1769
 msgid "Please select where to store the key:\n"
 msgstr "Veuillez sélectionner l'endroit où stocker la clef :\n"
 
-#: g10/card-util.c:1814
+#: g10/card-util.c:1815
 #, c-format
 msgid "KEYTOCARD failed: %s\n"
 msgstr "échec de KEYTOCARD : %s\n"
 
-#: g10/card-util.c:1919
+#: g10/card-util.c:1920
 #, fuzzy, c-format
 #| msgid "Note: keys are already stored on the card!\n"
 msgid "Note: This command destroys all keys stored on the card!\n"
 msgstr "Remarque : les clefs sont déjà stockées sur la carte.\n"
 
-#: g10/card-util.c:1922
+#: g10/card-util.c:1923
 #, fuzzy
 #| msgid "Continue? (Y/n) "
 msgid "Continue? (y/N) "
 msgstr "Faut-il continuer ? (O/n) "
 
-#: g10/card-util.c:1927
+#: g10/card-util.c:1928
 msgid "Really do a factory reset? (enter \"yes\") "
 msgstr ""
 
-#: g10/card-util.c:2113
+#: g10/card-util.c:2114
 #, fuzzy, c-format
 #| msgid "error closing %s: %s\n"
 msgid "error for setup KDF: %s\n"
 msgstr "erreur de fermeture de %s : %s\n"
 
-#: g10/card-util.c:2142 g10/keyedit.c:1259
+#: g10/card-util.c:2143 g10/keyedit.c:1260
 msgid "quit this menu"
 msgstr "quitter ce menu"
 
-#: g10/card-util.c:2144
+#: g10/card-util.c:2145
 msgid "show admin commands"
 msgstr "afficher les commandes d'administration"
 
-#: g10/card-util.c:2145 g10/keyedit.c:1262
+#: g10/card-util.c:2146 g10/keyedit.c:1263
 msgid "show this help"
 msgstr "afficher cette aide"
 
-#: g10/card-util.c:2147
+#: g10/card-util.c:2148
 msgid "list all available data"
 msgstr "afficher toutes les données disponibles"
 
-#: g10/card-util.c:2150
+#: g10/card-util.c:2151
 msgid "change card holder's name"
 msgstr "modifier le nom du détenteur de la carte"
 
-#: g10/card-util.c:2151
+#: g10/card-util.c:2152
 msgid "change URL to retrieve key"
 msgstr "modifier l'URL pour récupérer la clef"
 
-#: g10/card-util.c:2152
+#: g10/card-util.c:2153
 msgid "fetch the key specified in the card URL"
 msgstr "récupérer la clef indiquée dans l'URL de la carte"
 
-#: g10/card-util.c:2153
+#: g10/card-util.c:2154
 msgid "change the login name"
 msgstr "modifier l'identifiant de connexion"
 
-#: g10/card-util.c:2154
+#: g10/card-util.c:2155
 msgid "change the language preferences"
 msgstr "modifier les préférences de langue"
 
-#: g10/card-util.c:2155
+#: g10/card-util.c:2156
 #, fuzzy
 #| msgid "change card holder's sex"
 msgid "change card holder's salutation"
 msgstr "modifier le sexe du détenteur de la carte"
 
-#: g10/card-util.c:2157
+#: g10/card-util.c:2158
 msgid "change a CA fingerprint"
 msgstr "modifier une empreinte d'autorité de certification"
 
-#: g10/card-util.c:2158
+#: g10/card-util.c:2159
 msgid "toggle the signature force PIN flag"
 msgstr ""
 "inverser le paramètre obligeant à entrer le code personnel pour les\n"
 "signatures"
 
-#: g10/card-util.c:2159
+#: g10/card-util.c:2160
 msgid "generate new keys"
 msgstr "générer de nouvelles clefs"
 
-#: g10/card-util.c:2160
+#: g10/card-util.c:2161
 msgid "menu to change or unblock the PIN"
 msgstr "menu pour modifier ou déverrouiller le code personnel"
 
-#: g10/card-util.c:2161
+#: g10/card-util.c:2162
 msgid "verify the PIN and list all data"
 msgstr "vérifier le code personnel et afficher toutes les données"
 
-#: g10/card-util.c:2162
+#: g10/card-util.c:2163
 msgid "unblock the PIN using a Reset Code"
 msgstr "débloquer le code personnel en utilisant un code de réinitialisation"
 
-#: g10/card-util.c:2163
+#: g10/card-util.c:2164
 msgid "destroy all keys and data"
 msgstr ""
 
-#: g10/card-util.c:2164
+#: g10/card-util.c:2165
 #, fuzzy
 #| msgid "|NAME|use user NAME for authentication"
 msgid "setup KDF for PIN authentication"
 msgstr "|NOM|utiliser le NOM d'utilisateur pour authentif."
 
-#: g10/card-util.c:2165
+#: g10/card-util.c:2166
 #, fuzzy
 #| msgid "change the ownertrust"
 msgid "change the key attribute"
 msgstr "modifier la confiance du propriétaire"
 
-#: g10/card-util.c:2289
+#: g10/card-util.c:2290
 msgid "gpg/card> "
 msgstr "gpg/carte> "
 
-#: g10/card-util.c:2330
+#: g10/card-util.c:2331
 msgid "Admin-only command\n"
 msgstr "La commande n'est utilisable qu'en mode administration\n"
 
-#: g10/card-util.c:2361
+#: g10/card-util.c:2362
 msgid "Admin commands are allowed\n"
 msgstr "Les commandes d'administration sont permises\n"
 
-#: g10/card-util.c:2363
+#: g10/card-util.c:2364
 msgid "Admin commands are not allowed\n"
 msgstr "Les commandes d'administration ne sont pas permises\n"
 
-#: g10/card-util.c:2466 g10/keyedit.c:2228
+#: g10/card-util.c:2467 g10/keyedit.c:2229
 msgid "Invalid command  (try \"help\")\n"
 msgstr "Commande incorrecte (essayez « help »)\n"
 
@@ -2172,21 +2190,21 @@ msgstr "Commande incorrecte (essayez « help »)\n"
 msgid "--output doesn't work for this command\n"
 msgstr "--output n'est pas compatible avec cette commande\n"
 
-#: g10/decrypt.c:247 g10/gpg.c:5083 g10/keyring.c:399 g10/keyring.c:750
+#: g10/decrypt.c:247 g10/gpg.c:5104 g10/keyring.c:399 g10/keyring.c:750
 #, c-format
 msgid "can't open '%s'\n"
 msgstr "impossible d'ouvrir « %s »\n"
 
 #: g10/delkey.c:83 g10/export.c:1947 g10/export.c:2230 g10/export.c:2351
-#: g10/getkey.c:1964 g10/gpg.c:5028 g10/keyedit.c:1444 g10/keyedit.c:2334
-#: g10/keyedit.c:2580 g10/keyedit.c:4543 g10/keylist.c:689 g10/keyserver.c:1259
+#: g10/getkey.c:2108 g10/gpg.c:5049 g10/keyedit.c:1445 g10/keyedit.c:2335
+#: g10/keyedit.c:2581 g10/keyedit.c:4544 g10/keylist.c:689 g10/keyserver.c:1092
 #: g10/revoke.c:230 g10/tofu.c:2165
 #, c-format
 msgid "key \"%s\" not found: %s\n"
 msgstr "clef « %s » introuvable : %s\n"
 
-#: g10/delkey.c:92 g10/export.c:2015 g10/getkey.c:1972 g10/getkey.c:4346
-#: g10/gpg.c:5037 g10/keyedit.c:2307 g10/keyserver.c:1277 g10/revoke.c:236
+#: g10/delkey.c:92 g10/export.c:2015 g10/getkey.c:2116 g10/getkey.c:4517
+#: g10/gpg.c:5058 g10/keyedit.c:2308 g10/keyserver.c:1110 g10/revoke.c:236
 #: g10/revoke.c:663 g10/tofu.c:2173
 #, c-format
 msgid "error reading keyblock: %s\n"
@@ -2245,9 +2263,9 @@ msgstr "clef"
 msgid "subkey"
 msgstr "sous-clef"
 
-#: g10/delkey.c:299 g10/keyedit.c:2200 g10/keyedit.c:2210 g10/keyedit.c:2387
-#: g10/keyedit.c:2461 g10/keyedit.c:2532 g10/keyedit.c:2757 g10/keyedit.c:2987
-#: g10/keyedit.c:3056 g10/keyedit.c:3207
+#: g10/delkey.c:299 g10/keyedit.c:2201 g10/keyedit.c:2211 g10/keyedit.c:2388
+#: g10/keyedit.c:2462 g10/keyedit.c:2533 g10/keyedit.c:2758 g10/keyedit.c:2988
+#: g10/keyedit.c:3057 g10/keyedit.c:3208
 #, c-format
 msgid "update failed: %s\n"
 msgstr "échec de la mise à jour : %s\n"
@@ -2273,7 +2291,7 @@ msgid "use option \"--delete-secret-keys\" to delete it first.\n"
 msgstr ""
 "utiliser d'abord l'option « --delete-secret-keys » pour la supprimer.\n"
 
-#: g10/encrypt.c:202 g10/sign.c:1471
+#: g10/encrypt.c:202 g10/sign.c:1470
 #, c-format
 msgid "error creating passphrase: %s\n"
 msgstr "erreur de création de la phrase secrète : %s\n"
@@ -2298,15 +2316,15 @@ msgstr "« %s » est déjà compressé\n"
 msgid "WARNING: '%s' is an empty file\n"
 msgstr "Attention : « %s » est un fichier vide\n"
 
-#: g10/encrypt.c:387 g10/encrypt.c:610 g10/decrypt-data.c:260 g10/gpg.c:3901
-#: g10/gpg.c:3941 sm/decrypt.c:364 sm/encrypt.c:415 sm/gpgsm.c:1655
+#: g10/encrypt.c:387 g10/encrypt.c:610 g10/decrypt-data.c:260 g10/gpg.c:3922
+#: g10/gpg.c:3962 sm/decrypt.c:826 sm/encrypt.c:416 sm/gpgsm.c:1555
 #, fuzzy, c-format
 #| msgid "you may not use cipher algorithm '%s' while in %s mode\n"
 msgid "cipher algorithm '%s' may not be used in %s mode\n"
 msgstr "impossible d'utiliser l'algorithme de chiffrement « %s » en mode %s.\n"
 
-#: g10/encrypt.c:396 g10/gpg.c:3907 g10/gpg.c:3953 g10/sig-check.c:146
-#: g10/sign.c:391 sm/gpgsm.c:1665 sm/gpgsm.c:1675 sm/sign.c:478 sm/verify.c:506
+#: g10/encrypt.c:396 g10/gpg.c:3928 g10/gpg.c:3974 g10/sig-check.c:146
+#: g10/sign.c:391 sm/gpgsm.c:1565 sm/gpgsm.c:1575 sm/sign.c:478 sm/verify.c:506
 #, fuzzy, c-format
 #| msgid "you may not use digest algorithm '%s' while in %s mode\n"
 msgid "digest algorithm '%s' may not be used in %s mode\n"
@@ -2325,13 +2343,13 @@ msgstr ""
 "Attention : forcer le chiffrement symétrique %s (%d) est en\n"
 "            désaccord avec les préférences du destinataire\n"
 
-#: g10/encrypt.c:640 sm/encrypt.c:490
+#: g10/encrypt.c:640 sm/encrypt.c:491
 #, fuzzy, c-format
 #| msgid "WARNING: \"%s%s\" is an obsolete option - it has no effect\n"
 msgid "WARNING: key %s is not suitable for encryption in %s mode\n"
 msgstr "Attention : « %s%s » est une option obsolète — non prise en compte\n"
 
-#: g10/encrypt.c:751 g10/sign.c:1163
+#: g10/encrypt.c:751 g10/sign.c:1162
 #, c-format
 msgid ""
 "WARNING: forcing compression algorithm %s (%d) violates recipient "
@@ -2363,12 +2381,12 @@ msgstr "impossible d'utiliser %s en mode %s.\n"
 msgid "%s encrypted data\n"
 msgstr "données chiffrées avec %s\n"
 
-#: g10/decrypt-data.c:243 g10/mainproc.c:396
+#: g10/decrypt-data.c:243 g10/mainproc.c:397
 #, c-format
 msgid "encrypted with unknown algorithm %d\n"
 msgstr "chiffré avec l'algorithme inconnu %d\n"
 
-#: g10/decrypt-data.c:357 g10/decrypt-data.c:410 sm/decrypt.c:130
+#: g10/decrypt-data.c:357 g10/decrypt-data.c:410 sm/decrypt.c:550
 #, c-format
 msgid ""
 "WARNING: message was encrypted with a weak key in the symmetric cipher.\n"
@@ -2386,7 +2404,7 @@ msgstr "problème de gestion des paquets chiffrés\n"
 msgid "no remote program execution supported\n"
 msgstr "aucun programme d'exécution à distance n'est pris en charge\n"
 
-#: g10/exec.c:381
+#: g10/exec.c:389
 #, c-format
 msgid ""
 "external program calls are disabled due to unsafe options file permissions\n"
@@ -2394,51 +2412,51 @@ msgstr ""
 "les appels aux programmes externes sont désactivés car les droits\n"
 "du fichier d'options ne sont pas sûrs\n"
 
-#: g10/exec.c:411
+#: g10/exec.c:419
 #, c-format
 msgid "this platform requires temporary files when calling external programs\n"
 msgstr ""
 "cette plateforme a besoin de fichiers temporaires pour appeler des\n"
 "programmes externes\n"
 
-#: g10/exec.c:489
+#: g10/exec.c:497
 #, c-format
 msgid "unable to execute program '%s': %s\n"
 msgstr "impossible d'exécuter le programme « %s » : %s\n"
 
-#: g10/exec.c:492
+#: g10/exec.c:500
 #, c-format
 msgid "unable to execute shell '%s': %s\n"
 msgstr "impossible d'exécuter l'interpréteur de commandes « %s » : %s\n"
 
-#: g10/exec.c:583
+#: g10/exec.c:591
 #, c-format
 msgid "system error while calling external program: %s\n"
 msgstr "erreur système pendant l'appel du programme externe : %s\n"
 
-#: g10/exec.c:594 g10/exec.c:661
+#: g10/exec.c:602 g10/exec.c:669
 #, c-format
 msgid "unnatural exit of external program\n"
 msgstr "sortie non naturelle du programme externe\n"
 
-#: g10/exec.c:609
+#: g10/exec.c:617
 #, c-format
 msgid "unable to execute external program\n"
 msgstr "impossible d'exécuter le programme externe\n"
 
-#: g10/exec.c:626
+#: g10/exec.c:634
 #, c-format
 msgid "unable to read external program response: %s\n"
 msgstr "impossible de lire la réponse du programme externe : %s\n"
 
-#: g10/exec.c:672 g10/exec.c:679
+#: g10/exec.c:680 g10/exec.c:687
 #, c-format
 msgid "WARNING: unable to remove tempfile (%s) '%s': %s\n"
 msgstr ""
 "Attention : impossible de supprimer le fichier temporaire\n"
 "            (%s) « %s » : %s\n"
 
-#: g10/exec.c:684
+#: g10/exec.c:692
 #, c-format
 msgid "WARNING: unable to remove temp directory '%s': %s\n"
 msgstr ""
@@ -2473,8 +2491,8 @@ msgstr ""
 msgid " - skipped"
 msgstr " — ignoré"
 
-#: g10/export.c:1324 g10/import.c:2073 g10/openfile.c:200 g10/openfile.c:294
-#: g10/sign.c:1013 g10/sign.c:1327
+#: g10/export.c:1324 g10/import.c:2085 g10/openfile.c:200 g10/openfile.c:294
+#: g10/sign.c:1012 g10/sign.c:1326
 #, c-format
 msgid "writing to '%s'\n"
 msgstr "écriture de « %s »\n"
@@ -2509,283 +2527,283 @@ msgstr "erreur de création de « %s » : %s\n"
 msgid "[User ID not found]"
 msgstr "[identité introuvable]"
 
-#: g10/getkey.c:1297
+#: g10/getkey.c:1441
 #, c-format
 msgid "automatically retrieved '%s' via %s\n"
 msgstr "« %s » automatiquement récupéré par %s\n"
 
-#: g10/getkey.c:1303
+#: g10/getkey.c:1447
 #, c-format
 msgid "error retrieving '%s' via %s: %s\n"
 msgstr "erreur de récupération de « %s » avec %s : %s\n"
 
-#: g10/getkey.c:1305
+#: g10/getkey.c:1449
 msgid "No fingerprint"
 msgstr "Aucune empreinte"
 
-#: g10/getkey.c:1526
+#: g10/getkey.c:1670
 #, c-format
 msgid "checking for a fresh copy of an expired key via %s\n"
 msgstr ""
 
-#: g10/getkey.c:1941 g10/revoke.c:655 g10/revoke.c:720
+#: g10/getkey.c:2085 g10/revoke.c:655 g10/revoke.c:720
 #, c-format
 msgid "secret key \"%s\" not found: %s\n"
 msgstr "clef secrète « %s » introuvable : %s\n"
 
-#: g10/getkey.c:1944 g10/pkclist.c:988
+#: g10/getkey.c:2088 g10/pkclist.c:988
 #, fuzzy, c-format
 #| msgid "missing argument for option \"%.50s\"\n"
 msgid "(check argument of option '%s')\n"
 msgstr "argument manquant pour l'option « %.50s »\n"
 
-#: g10/getkey.c:2020
+#: g10/getkey.c:2164
 #, fuzzy, c-format
 #| msgid "|NAME|use NAME as default secret key"
 msgid "Warning: not using '%s' as default key: %s\n"
 msgstr "|NOM|utiliser le NOM comme clef secrète par défaut"
 
-#: g10/getkey.c:2028
+#: g10/getkey.c:2172
 #, fuzzy, c-format
 #| msgid "|NAME|use NAME as default secret key"
 msgid "using \"%s\" as default secret key for signing\n"
 msgstr "|NOM|utiliser le NOM comme clef secrète par défaut"
 
-#: g10/getkey.c:2035
+#: g10/getkey.c:2179
 #, c-format
 msgid "all values passed to '%s' ignored\n"
 msgstr ""
 
-#: g10/getkey.c:2880
+#: g10/getkey.c:3024
 #, c-format
 msgid "Invalid key %s made valid by --allow-non-selfsigned-uid\n"
 msgstr ""
 "La clef incorrecte %s a été rendue valable par\n"
 "--allow-non-selfsigned-uid\n"
 
-#: g10/getkey.c:3730
+#: g10/getkey.c:3874
 #, c-format
 msgid "using subkey %s instead of primary key %s\n"
 msgstr ""
 "utilisation de la sous-clef %s à la place de la clef\n"
 "principale %s\n"
 
-#: g10/getkey.c:4275 g10/gpg.c:2107
+#: g10/getkey.c:4446 g10/gpg.c:2120
 #, fuzzy, c-format
 #| msgid "invalid argument for option \"%.50s\"\n"
 msgid "valid values for option '%s':\n"
 msgstr "argument incorrect pour l'option « %.50s »\n"
 
-#: g10/gpg.c:442 sm/gpgsm.c:206
+#: g10/gpg.c:439 sm/gpgsm.c:207
 msgid "make a signature"
 msgstr "faire une signature"
 
-#: g10/gpg.c:443
+#: g10/gpg.c:440
 msgid "make a clear text signature"
 msgstr "faire une signature en texte clair"
 
-#: g10/gpg.c:445 sm/gpgsm.c:208
+#: g10/gpg.c:442 sm/gpgsm.c:209
 msgid "make a detached signature"
 msgstr "faire une signature détachée"
 
-#: g10/gpg.c:446 sm/gpgsm.c:209
+#: g10/gpg.c:443 sm/gpgsm.c:210
 msgid "encrypt data"
 msgstr "chiffrer les données"
 
-#: g10/gpg.c:448
+#: g10/gpg.c:445
 msgid "encryption only with symmetric cipher"
 msgstr "chiffrement symétrique seulement"
 
-#: g10/gpg.c:450 sm/gpgsm.c:211
+#: g10/gpg.c:447 sm/gpgsm.c:212
 msgid "decrypt data (default)"
 msgstr "déchiffrer les données (défaut)"
 
-#: g10/gpg.c:452 sm/gpgsm.c:212
+#: g10/gpg.c:449 sm/gpgsm.c:213
 msgid "verify a signature"
 msgstr "vérifier une signature"
 
-#: g10/gpg.c:454 sm/gpgsm.c:213
+#: g10/gpg.c:451 sm/gpgsm.c:214
 msgid "list keys"
 msgstr "afficher les clefs"
 
-#: g10/gpg.c:456
+#: g10/gpg.c:453
 msgid "list keys and signatures"
 msgstr "afficher les clefs et les signatures"
 
-#: g10/gpg.c:459
+#: g10/gpg.c:456
 msgid "list and check key signatures"
 msgstr "afficher et vérifier les signatures de clefs"
 
-#: g10/gpg.c:461 sm/gpgsm.c:218
+#: g10/gpg.c:458 sm/gpgsm.c:219
 msgid "list keys and fingerprints"
 msgstr "afficher les clefs et les empreintes"
 
-#: g10/gpg.c:462 sm/gpgsm.c:216
+#: g10/gpg.c:459 sm/gpgsm.c:217
 msgid "list secret keys"
 msgstr "afficher les clefs secrètes"
 
-#: g10/gpg.c:464 sm/gpgsm.c:219
+#: g10/gpg.c:461 sm/gpgsm.c:220
 msgid "generate a new key pair"
 msgstr "générer une nouvelle paire de clefs"
 
-#: g10/gpg.c:467
+#: g10/gpg.c:464
 msgid "quickly generate a new key pair"
 msgstr "générer rapidement une nouvelle paire de clefs"
 
-#: g10/gpg.c:470
+#: g10/gpg.c:467
 #, fuzzy
 #| msgid "quickly generate a new key pair"
 msgid "quickly add a new user-id"
 msgstr "générer rapidement une nouvelle paire de clefs"
 
-#: g10/gpg.c:475
+#: g10/gpg.c:472
 #, fuzzy
 #| msgid "quickly generate a new key pair"
 msgid "quickly revoke a user-id"
 msgstr "générer rapidement une nouvelle paire de clefs"
 
-#: g10/gpg.c:478
+#: g10/gpg.c:475
 #, fuzzy
 #| msgid "quickly generate a new key pair"
 msgid "quickly set a new expiration date"
 msgstr "générer rapidement une nouvelle paire de clefs"
 
-#: g10/gpg.c:481
+#: g10/gpg.c:478
 msgid "full featured key pair generation"
 msgstr "générer une paire de clefs complètes"
 
-#: g10/gpg.c:484
+#: g10/gpg.c:481
 msgid "generate a revocation certificate"
 msgstr "générer un certificat de révocation"
 
-#: g10/gpg.c:487 sm/gpgsm.c:222
+#: g10/gpg.c:484 sm/gpgsm.c:223
 msgid "remove keys from the public keyring"
 msgstr "supprimer les clefs du porte-clefs public"
 
-#: g10/gpg.c:489
+#: g10/gpg.c:486
 msgid "remove keys from the secret keyring"
 msgstr "supprimer les clefs du porte-clefs secret"
 
-#: g10/gpg.c:491
+#: g10/gpg.c:488
 msgid "quickly sign a key"
 msgstr "signer rapidement une clef"
 
-#: g10/gpg.c:493
+#: g10/gpg.c:490
 msgid "quickly sign a key locally"
 msgstr "signer rapidement une clef localement"
 
-#: g10/gpg.c:495
+#: g10/gpg.c:492
 #, fuzzy
 #| msgid "quickly generate a new key pair"
 msgid "quickly revoke a key signature"
 msgstr "générer rapidement une nouvelle paire de clefs"
 
-#: g10/gpg.c:496
+#: g10/gpg.c:493
 msgid "sign a key"
 msgstr "signer une clef"
 
-#: g10/gpg.c:497
+#: g10/gpg.c:494
 msgid "sign a key locally"
 msgstr "signer une clef localement"
 
-#: g10/gpg.c:498
+#: g10/gpg.c:495
 msgid "sign or edit a key"
 msgstr "signer ou éditer une clef"
 
-#: g10/gpg.c:500 sm/gpgsm.c:240
+#: g10/gpg.c:497 sm/gpgsm.c:241
 msgid "change a passphrase"
 msgstr "modifier une phrase secrète"
 
-#: g10/gpg.c:504
+#: g10/gpg.c:501
 msgid "export keys"
 msgstr "exporter les clefs"
 
-#: g10/gpg.c:505
+#: g10/gpg.c:502
 msgid "export keys to a keyserver"
 msgstr "exporter les clefs vers un serveur de clefs"
 
-#: g10/gpg.c:506
+#: g10/gpg.c:503
 msgid "import keys from a keyserver"
 msgstr "importer les clefs d'un serveur de clefs"
 
-#: g10/gpg.c:509
+#: g10/gpg.c:506
 msgid "search for keys on a keyserver"
 msgstr "chercher les clefs avec un serveur de clefs"
 
-#: g10/gpg.c:511
+#: g10/gpg.c:508
 msgid "update all keys from a keyserver"
 msgstr "mettre à jour les clefs depuis un serveur"
 
-#: g10/gpg.c:519
+#: g10/gpg.c:516
 msgid "import/merge keys"
 msgstr "importer ou fusionner les clefs"
 
-#: g10/gpg.c:522
+#: g10/gpg.c:519
 msgid "print the card status"
 msgstr "afficher l'état de la carte"
 
-#: g10/gpg.c:523
+#: g10/gpg.c:520
 msgid "change data on a card"
 msgstr "modifier les données d'une carte"
 
-#: g10/gpg.c:525
+#: g10/gpg.c:522
 msgid "change a card's PIN"
 msgstr "modifier le code personnel d'une carte"
 
-#: g10/gpg.c:537
+#: g10/gpg.c:534
 msgid "update the trust database"
 msgstr "mettre la base de confiance à jour"
 
-#: g10/gpg.c:546
+#: g10/gpg.c:543
 msgid "print message digests"
 msgstr "indiquer les fonctions de hachage"
 
-#: g10/gpg.c:549 sm/gpgsm.c:235
+#: g10/gpg.c:546 sm/gpgsm.c:236
 msgid "run in server mode"
 msgstr "exécuter en mode serveur"
 
-#: g10/gpg.c:551
+#: g10/gpg.c:548
 msgid "|VALUE|set the TOFU policy for a key"
 msgstr ""
 
-#: g10/gpg.c:555 sm/gpgsm.c:254
+#: g10/gpg.c:552 sm/gpgsm.c:255
 msgid "create ascii armored output"
 msgstr "créer une sortie ASCII avec armure"
 
 # NOTE: Extra initial space to realign the output (maybe wchar issue)
-#: g10/gpg.c:558 sm/gpgsm.c:271
+#: g10/gpg.c:555 sm/gpgsm.c:272
 msgid "|USER-ID|encrypt for USER-ID"
 msgstr "|IDENTITÉ| chiffrer pour l'IDENTITÉ"
 
-#: g10/gpg.c:574 sm/gpgsm.c:307
+#: g10/gpg.c:571 sm/gpgsm.c:308
 msgid "|USER-ID|use USER-ID to sign or decrypt"
 msgstr "|IDENTITÉ| utiliser l'IDENTITÉ pour signer ou déchiffrer"
 
-#: g10/gpg.c:580
+#: g10/gpg.c:577
 msgid "|N|set compress level to N (0 disables)"
 msgstr "|N|niveau de compression N (0 désactive)"
 
-#: g10/gpg.c:587
+#: g10/gpg.c:584
 msgid "use canonical text mode"
 msgstr "utiliser le mode texte canonique"
 
-#: g10/gpg.c:604 g10/gpgv.c:82 sm/gpgsm.c:309
+#: g10/gpg.c:601 g10/gpgv.c:82 sm/gpgsm.c:310
 msgid "|FILE|write output to FILE"
 msgstr "|FICHIER|écrire la sortie dans le FICHIER"
 
-#: g10/gpg.c:614 kbx/kbxutil.c:90 sm/gpgsm.c:321 tools/gpgconf.c:110
+#: g10/gpg.c:611 kbx/kbxutil.c:90 sm/gpgsm.c:322 tools/gpgconf.c:110
 msgid "do not make any changes"
 msgstr "ne rien modifier"
 
-#: g10/gpg.c:615
+#: g10/gpg.c:612
 msgid "prompt before overwriting"
 msgstr "demander avant d'écraser un fichier"
 
-#: g10/gpg.c:665
+#: g10/gpg.c:662
 msgid "use strict OpenPGP behavior"
 msgstr "utiliser le comportement strict d'OpenPGP"
 
-#: g10/gpg.c:692 sm/gpgsm.c:364
+#: g10/gpg.c:689 sm/gpgsm.c:367
 msgid ""
 "@\n"
 "(See the man page for a complete listing of all commands and options)\n"
@@ -2794,7 +2812,7 @@ msgstr ""
 "(Consultez la page de manuel pour obtenir une liste complète des commandes\n"
 "et options)\n"
 
-#: g10/gpg.c:695
+#: g10/gpg.c:692
 #, fuzzy
 #| msgid ""
 #| "@\n"
@@ -2824,11 +2842,11 @@ msgstr ""
 " --list-keys [noms]         montrer les clefs\n"
 " --fingerprint [noms]       montrer les empreintes\n"
 
-#: g10/gpg.c:1092
+#: g10/gpg.c:1096
 msgid "Usage: @GPG@ [options] [files] (-h for help)"
 msgstr "Utilisation : @GPG@ [options] [fichiers] (-h pour l'aide)"
 
-#: g10/gpg.c:1095
+#: g10/gpg.c:1099
 msgid ""
 "Syntax: @GPG@ [options] [files]\n"
 "Sign, check, encrypt or decrypt\n"
@@ -2838,7 +2856,7 @@ msgstr ""
 "Signer, vérifier, chiffrer ou déchiffrer\n"
 "L'opération par défaut dépend des données entrées\n"
 
-#: g10/gpg.c:1106 sm/gpgsm.c:591
+#: g10/gpg.c:1110 sm/gpgsm.c:594
 msgid ""
 "\n"
 "Supported algorithms:\n"
@@ -2846,87 +2864,87 @@ msgstr ""
 "\n"
 "Algorithmes pris en charge :\n"
 
-#: g10/gpg.c:1109
+#: g10/gpg.c:1113
 msgid "Pubkey: "
 msgstr "Clef publique : "
 
-#: g10/gpg.c:1116 g10/keyedit.c:3281
+#: g10/gpg.c:1120 g10/keyedit.c:3282
 msgid "Cipher: "
 msgstr "Chiffrement : "
 
-#: g10/gpg.c:1123
+#: g10/gpg.c:1127
 msgid "Hash: "
 msgstr "Hachage : "
 
-#: g10/gpg.c:1130 g10/keyedit.c:3347
+#: g10/gpg.c:1134 g10/keyedit.c:3348
 msgid "Compression: "
 msgstr "Compression : "
 
-#: g10/gpg.c:1199 sm/gpgsm.c:665
+#: g10/gpg.c:1207 sm/gpgsm.c:668
 #, c-format
 msgid "usage: %s [options] %s\n"
 msgstr "utilisation : %s [options] %s\n"
 
-#: g10/gpg.c:1388 sm/gpgsm.c:754
+#: g10/gpg.c:1396 sm/gpgsm.c:761
 #, c-format
 msgid "conflicting commands\n"
 msgstr "commandes en conflit\n"
 
-#: g10/gpg.c:1406
+#: g10/gpg.c:1414
 #, c-format
 msgid "no = sign found in group definition '%s'\n"
 msgstr "aucun signe = trouvé dans la définition du groupe « %s »\n"
 
-#: g10/gpg.c:1604
+#: g10/gpg.c:1612
 #, c-format
 msgid "WARNING: unsafe ownership on homedir '%s'\n"
 msgstr ""
 "Attention : le propriétaire du répertoire personnel « %s »\n"
 "            n'est pas sûr\n"
 
-#: g10/gpg.c:1607
+#: g10/gpg.c:1615
 #, c-format
 msgid "WARNING: unsafe ownership on configuration file '%s'\n"
 msgstr ""
 "Attention : le propriétaire du fichier de configuration « %s »\n"
 "            n'est pas sûr\n"
 
-#: g10/gpg.c:1610
+#: g10/gpg.c:1618
 #, c-format
 msgid "WARNING: unsafe ownership on extension '%s'\n"
 msgstr ""
 "Attention : le propriétaire de l'extension « %s »\n"
 "            n'est pas sûr\n"
 
-#: g10/gpg.c:1616
+#: g10/gpg.c:1624
 #, c-format
 msgid "WARNING: unsafe permissions on homedir '%s'\n"
 msgstr ""
 "Attention : les droits du répertoire personnel « %s »\n"
 "            ne sont pas sûrs\n"
 
-#: g10/gpg.c:1619
+#: g10/gpg.c:1627
 #, c-format
 msgid "WARNING: unsafe permissions on configuration file '%s'\n"
 msgstr ""
 "Attention : les droits du fichier de configuration « %s »\n"
 "            ne sont pas sûrs\n"
 
-#: g10/gpg.c:1622
+#: g10/gpg.c:1630
 #, c-format
 msgid "WARNING: unsafe permissions on extension '%s'\n"
 msgstr ""
 "Attention : les droits de l'extension « %s »\n"
 "            ne sont pas sûrs\n"
 
-#: g10/gpg.c:1628
+#: g10/gpg.c:1636
 #, c-format
 msgid "WARNING: unsafe enclosing directory ownership on homedir '%s'\n"
 msgstr ""
 "Attention : le propriétaire du répertoire contenant le répertoire personnel\n"
 "            « %s » n'est pas sûr\n"
 
-#: g10/gpg.c:1631
+#: g10/gpg.c:1639
 #, c-format
 msgid ""
 "WARNING: unsafe enclosing directory ownership on configuration file '%s'\n"
@@ -2934,21 +2952,21 @@ msgstr ""
 "Attention : le propriétaire du répertoire contenant le fichier de\n"
 "            configuration « %s » n'est pas sûr\n"
 
-#: g10/gpg.c:1634
+#: g10/gpg.c:1642
 #, c-format
 msgid "WARNING: unsafe enclosing directory ownership on extension '%s'\n"
 msgstr ""
 "Attention : le propriétaire du répertoire contenant l'extension\n"
 "            « %s » n'est pas sûr\n"
 
-#: g10/gpg.c:1640
+#: g10/gpg.c:1648
 #, c-format
 msgid "WARNING: unsafe enclosing directory permissions on homedir '%s'\n"
 msgstr ""
 "Attention : les droits du répertoire contenant le répertoire personnel\n"
 "            « %s » ne sont pas sûrs\n"
 
-#: g10/gpg.c:1643
+#: g10/gpg.c:1651
 #, c-format
 msgid ""
 "WARNING: unsafe enclosing directory permissions on configuration file '%s'\n"
@@ -2956,462 +2974,462 @@ msgstr ""
 "Attention : les droits du répertoire contenant le fichier de configuration\n"
 "            « %s » ne sont pas sûrs\n"
 
-#: g10/gpg.c:1646
+#: g10/gpg.c:1654
 #, c-format
 msgid "WARNING: unsafe enclosing directory permissions on extension '%s'\n"
 msgstr ""
 "Attention : les droits du répertoire contenant l'extension\n"
 "            « %s » ne sont pas sûrs\n"
 
-#: g10/gpg.c:1862
+#: g10/gpg.c:1870
 #, c-format
 msgid "unknown configuration item '%s'\n"
 msgstr "élément de configuration « %s » inconnu\n"
 
-#: g10/gpg.c:1979
+#: g10/gpg.c:1992
 msgid "display photo IDs during key listings"
 msgstr "montrer les photos d'identité en affichant les clefs"
 
-#: g10/gpg.c:1981
+#: g10/gpg.c:1994
 msgid "show key usage information during key listings"
 msgstr "indiquer les informations sur l'utilisation en affichant les clefs"
 
-#: g10/gpg.c:1983
+#: g10/gpg.c:1996
 msgid "show policy URLs during signature listings"
 msgstr "montrer les URL de politique en affichant les signatures"
 
-#: g10/gpg.c:1985
+#: g10/gpg.c:1998
 msgid "show all notations during signature listings"
 msgstr "montrer toutes les notations en affichant les signatures"
 
-#: g10/gpg.c:1987
+#: g10/gpg.c:2000
 msgid "show IETF standard notations during signature listings"
 msgstr "utiliser les notations aux normes IETF en affichant les signatures"
 
-#: g10/gpg.c:1991
+#: g10/gpg.c:2004
 msgid "show user-supplied notations during signature listings"
 msgstr ""
 "utiliser les notations fournies par l'utilisateur en affichant les signatures"
 
-#: g10/gpg.c:1993
+#: g10/gpg.c:2006
 msgid "show preferred keyserver URLs during signature listings"
 msgstr ""
 "montrer les URL des serveurs de clefs favoris en affichant les signatures"
 
-#: g10/gpg.c:1995
+#: g10/gpg.c:2008
 msgid "show user ID validity during key listings"
 msgstr "indiquer la validité de l'identité en affichant les clefs"
 
-#: g10/gpg.c:1997
+#: g10/gpg.c:2010
 msgid "show revoked and expired user IDs in key listings"
 msgstr "montrer les identités révoquées et expirées en affichant les clefs"
 
-#: g10/gpg.c:1999
+#: g10/gpg.c:2012
 msgid "show revoked and expired subkeys in key listings"
 msgstr "indiquer les sous-clefs révoquées et expirées en affichant les clefs"
 
-#: g10/gpg.c:2001
+#: g10/gpg.c:2014
 msgid "show the keyring name in key listings"
 msgstr "montrer le nom du porte-clefs en affichant les clefs"
 
-#: g10/gpg.c:2003
+#: g10/gpg.c:2016
 msgid "show expiration dates during signature listings"
 msgstr "montrer les dates d'expiration en affichant les signatures"
 
-#: g10/gpg.c:2118
+#: g10/gpg.c:2131
 #, fuzzy, c-format
 #| msgid "unknown option '%s'\n"
 msgid "unknown TOFU policy '%s'\n"
 msgstr "option « %s » inconnue\n"
 
-#: g10/gpg.c:2120
+#: g10/gpg.c:2133
 #, c-format
 msgid "(use \"help\" to list choices)\n"
 msgstr ""
 
-#: g10/gpg.c:2840 g10/gpg.c:3671 g10/gpg.c:3683
+#: g10/gpg.c:2856 g10/gpg.c:3691 g10/gpg.c:3703
 #, c-format
 msgid "Note: %s is not for normal use!\n"
 msgstr "Remarque : %s n'est pas pour une utilisation normale.\n"
 
-#: g10/gpg.c:3017 g10/gpg.c:3029
+#: g10/gpg.c:3033 g10/gpg.c:3045
 #, c-format
 msgid "'%s' is not a valid signature expiration\n"
 msgstr "« %s » n'est pas une date d'expiration de signature valable\n"
 
-#: g10/gpg.c:3051
+#: g10/gpg.c:3067
 #, fuzzy, c-format
 #| msgid "line %d: not a valid email address\n"
 msgid "\"%s\" is not a proper mail address\n"
 msgstr "ligne %d : ce n'est pas une adresse électronique valable\n"
 
-#: g10/gpg.c:3083 sm/gpgsm.c:1177
+#: g10/gpg.c:3099 sm/gpgsm.c:1091
 #, c-format
 msgid "invalid pinentry mode '%s'\n"
 msgstr "mode pinentry « %s » incorrect\n"
 
-#: g10/gpg.c:3089 sm/gpgsm.c:1183
+#: g10/gpg.c:3105 sm/gpgsm.c:1097
 #, fuzzy, c-format
 #| msgid "invalid argument for option \"%.50s\"\n"
 msgid "invalid request origin '%s'\n"
 msgstr "argument incorrect pour l'option « %.50s »\n"
 
-#: g10/gpg.c:3143
+#: g10/gpg.c:3159
 #, c-format
 msgid "'%s' is not a valid character set\n"
 msgstr "« %s » n'est pas un jeu de caractères valable\n"
 
-#: g10/gpg.c:3165 g10/gpg.c:3375 g10/keyedit.c:5281
+#: g10/gpg.c:3181 g10/gpg.c:3395 g10/keyedit.c:5282
 #, c-format
 msgid "could not parse keyserver URL\n"
 msgstr "impossible d'analyser l'URL du serveur de clefs\n"
 
-#: g10/gpg.c:3183
+#: g10/gpg.c:3199
 #, c-format
 msgid "%s:%d: invalid keyserver options\n"
 msgstr "%s : %d : les options du serveur de clefs sont incorrectes\n"
 
-#: g10/gpg.c:3186
+#: g10/gpg.c:3202
 #, c-format
 msgid "invalid keyserver options\n"
 msgstr "les options du serveur de clefs sont incorrectes\n"
 
-#: g10/gpg.c:3193
+#: g10/gpg.c:3209
 #, c-format
 msgid "%s:%d: invalid import options\n"
 msgstr "%s : %d : options d'importation incorrectes\n"
 
-#: g10/gpg.c:3196
+#: g10/gpg.c:3212
 #, c-format
 msgid "invalid import options\n"
 msgstr "options d'importation incorrectes\n"
 
-#: g10/gpg.c:3202 g10/gpg.c:3217
+#: g10/gpg.c:3218 g10/gpg.c:3233
 #, fuzzy, c-format
 #| msgid "invalid list options\n"
 msgid "invalid filter option: %s\n"
 msgstr "options de liste incorrectes\n"
 
-#: g10/gpg.c:3208
+#: g10/gpg.c:3224
 #, c-format
 msgid "%s:%d: invalid export options\n"
 msgstr "%s : %d : options d'exportation incorrectes\n"
 
-#: g10/gpg.c:3211
+#: g10/gpg.c:3227
 #, c-format
 msgid "invalid export options\n"
 msgstr "options d'exportation incorrectes\n"
 
-#: g10/gpg.c:3223
+#: g10/gpg.c:3239
 #, c-format
 msgid "%s:%d: invalid list options\n"
 msgstr "%s : %d : options de liste incorrectes\n"
 
-#: g10/gpg.c:3226
+#: g10/gpg.c:3242
 #, c-format
 msgid "invalid list options\n"
 msgstr "options de liste incorrectes\n"
 
-#: g10/gpg.c:3234
+#: g10/gpg.c:3250
 msgid "display photo IDs during signature verification"
 msgstr "montrer les photos d'identité en vérifiant les signatures"
 
-#: g10/gpg.c:3236
+#: g10/gpg.c:3252
 msgid "show policy URLs during signature verification"
 msgstr "montrer les URL de politique en vérifiant les signatures"
 
-#: g10/gpg.c:3238
+#: g10/gpg.c:3254
 msgid "show all notations during signature verification"
 msgstr "montrer toutes les notations en vérifiant les signatures"
 
-#: g10/gpg.c:3240
+#: g10/gpg.c:3256
 msgid "show IETF standard notations during signature verification"
 msgstr "utiliser les notations aux normes IETF en vérifiant les signatures"
 
-#: g10/gpg.c:3244
+#: g10/gpg.c:3260
 msgid "show user-supplied notations during signature verification"
 msgstr ""
 "utiliser les notations fournies par l'utilisateur en vérifiant les signatures"
 
-#: g10/gpg.c:3246
+#: g10/gpg.c:3262
 msgid "show preferred keyserver URLs during signature verification"
 msgstr ""
 "montrer les URL des serveurs de clefs favoris en vérifiant les signatures"
 
-#: g10/gpg.c:3248
+#: g10/gpg.c:3264
 msgid "show user ID validity during signature verification"
 msgstr "indiquer la validité de l'identité en vérifiant les signatures"
 
-#: g10/gpg.c:3250
+#: g10/gpg.c:3266
 msgid "show revoked and expired user IDs in signature verification"
 msgstr ""
 "montrer les identités révoquées et expirées en vérifiant les signatures"
 
-#: g10/gpg.c:3252
+#: g10/gpg.c:3268
 msgid "show only the primary user ID in signature verification"
 msgstr "ne montrer que l'identité principale en vérifiant les signatures"
 
-#: g10/gpg.c:3254
+#: g10/gpg.c:3270
 msgid "validate signatures with PKA data"
 msgstr "valider les signatures avec les données PKA"
 
-#: g10/gpg.c:3256
+#: g10/gpg.c:3272
 msgid "elevate the trust of signatures with valid PKA data"
 msgstr "augmenter la confiance des signatures avec des données PKA valables"
 
-#: g10/gpg.c:3263
+#: g10/gpg.c:3279
 #, c-format
 msgid "%s:%d: invalid verify options\n"
 msgstr "%s : %d : options de vérification incorrectes\n"
 
-#: g10/gpg.c:3266
+#: g10/gpg.c:3282
 #, c-format
 msgid "invalid verify options\n"
 msgstr "options de vérification incorrectes\n"
 
-#: g10/gpg.c:3273
+#: g10/gpg.c:3289
 #, c-format
 msgid "unable to set exec-path to %s\n"
 msgstr "impossible de configurer le chemin d'exécution à %s\n"
 
-#: g10/gpg.c:3478
+#: g10/gpg.c:3498
 #, c-format
 msgid "%s:%d: invalid auto-key-locate list\n"
 msgstr "%s : %d : liste de recherche automatique de clef incorrecte\n"
 
-#: g10/gpg.c:3481
+#: g10/gpg.c:3501
 #, c-format
 msgid "invalid auto-key-locate list\n"
 msgstr "liste de recherche automatique de clef incorrecte\n"
 
-#: g10/gpg.c:3653 sm/gpgsm.c:1541
+#: g10/gpg.c:3673 sm/gpgsm.c:1441
 #, c-format
 msgid "WARNING: program may create a core file!\n"
 msgstr "Attention : le programme pourrait créer un fichier « core ».\n"
 
-#: g10/gpg.c:3664
+#: g10/gpg.c:3684
 #, c-format
 msgid "WARNING: %s overrides %s\n"
 msgstr "Attention : %s remplace %s\n"
 
-#: g10/gpg.c:3673
+#: g10/gpg.c:3693
 #, c-format
 msgid "%s not allowed with %s!\n"
 msgstr "%s n'est pas permis avec %s.\n"
 
-#: g10/gpg.c:3676
+#: g10/gpg.c:3696
 #, c-format
 msgid "%s makes no sense with %s!\n"
 msgstr "%s n'a aucun sens avec %s.\n"
 
-#: g10/gpg.c:3691 sm/gpgsm.c:1558 dirmngr/dirmngr.c:1082
+#: g10/gpg.c:3711 sm/gpgsm.c:1458 dirmngr/dirmngr.c:1117
 #, c-format
 msgid "WARNING: running with faked system time: "
 msgstr "Attention : exécution avec un système de temps contrefait : "
 
-#: g10/gpg.c:3712
+#: g10/gpg.c:3732
 #, c-format
 msgid "will not run with insecure memory due to %s\n"
 msgstr "ne sera pas exécuté avec une mémoire non sécurisée à cause de %s\n"
 
-#: g10/gpg.c:3747 g10/gpg.c:3771 sm/gpgsm.c:1625
+#: g10/gpg.c:3767 g10/gpg.c:3791 sm/gpgsm.c:1525
 #, c-format
 msgid "selected cipher algorithm is invalid\n"
 msgstr "l'algorithme de chiffrement sélectionné est incorrect\n"
 
-#: g10/gpg.c:3759
+#: g10/gpg.c:3779
 #, c-format
 msgid "selected compression algorithm is invalid\n"
 msgstr "l'algorithme de compression sélectionné est incorrect\n"
 
-#: g10/gpg.c:3765
+#: g10/gpg.c:3785
 #, c-format
 msgid "selected certification digest algorithm is invalid\n"
 msgstr "la fonction de hachage de certification sélectionnée est incorrecte\n"
 
-#: g10/gpg.c:3780
+#: g10/gpg.c:3800
 #, c-format
 msgid "completes-needed must be greater than 0\n"
 msgstr "« completes-needed » doit être supérieur à 0\n"
 
-#: g10/gpg.c:3782
+#: g10/gpg.c:3802
 #, c-format
 msgid "marginals-needed must be greater than 1\n"
 msgstr "« marginals-needed » doit être supérieur à 1\n"
 
-#: g10/gpg.c:3784
+#: g10/gpg.c:3804
 #, c-format
 msgid "max-cert-depth must be in the range from 1 to 255\n"
 msgstr "« max-cert-depth » doit être compris entre 1 et 255\n"
 
-#: g10/gpg.c:3786
+#: g10/gpg.c:3806
 #, c-format
 msgid "invalid default-cert-level; must be 0, 1, 2, or 3\n"
 msgstr "« default-cert-level » incorrect ; doit être 0, 1, 2 ou 3\n"
 
-#: g10/gpg.c:3788
+#: g10/gpg.c:3808
 #, c-format
 msgid "invalid min-cert-level; must be 1, 2, or 3\n"
 msgstr "« min-cert-level » incorrect ; doit être , 1, 2 ou 3\n"
 
-#: g10/gpg.c:3791
+#: g10/gpg.c:3812
 #, c-format
 msgid "Note: simple S2K mode (0) is strongly discouraged\n"
 msgstr "Remarque : le mode S2K simple (0) est fortement déconseillé\n"
 
-#: g10/gpg.c:3795
+#: g10/gpg.c:3816
 #, c-format
 msgid "invalid S2K mode; must be 0, 1 or 3\n"
 msgstr "mode S2K incorrect ; doit être 0, 1 ou 3\n"
 
-#: g10/gpg.c:3802
+#: g10/gpg.c:3823
 #, c-format
 msgid "invalid default preferences\n"
 msgstr "préférences par défaut incorrectes\n"
 
-#: g10/gpg.c:3806
+#: g10/gpg.c:3827
 #, c-format
 msgid "invalid personal cipher preferences\n"
 msgstr "préférences personnelles de chiffrement incorrectes\n"
 
-#: g10/gpg.c:3810
+#: g10/gpg.c:3831
 #, c-format
 msgid "invalid personal digest preferences\n"
 msgstr "préférences personnelles de hachage incorrectes\n"
 
-#: g10/gpg.c:3814
+#: g10/gpg.c:3835
 #, c-format
 msgid "invalid personal compress preferences\n"
 msgstr "préférences personnelles de compression incorrectes\n"
 
-#: g10/gpg.c:3850
+#: g10/gpg.c:3871
 #, c-format
 msgid "%s does not yet work with %s\n"
 msgstr "%s ne fonctionne pas encore avec %s\n"
 
-#: g10/gpg.c:3913
+#: g10/gpg.c:3934
 #, fuzzy, c-format
 #| msgid "you may not use compression algorithm '%s' while in %s mode\n"
 msgid "compression algorithm '%s' may not be used in %s mode\n"
 msgstr "impossible d'utiliser l'algorithme de compression « %s » en mode %s.\n"
 
-#: g10/gpg.c:4057
+#: g10/gpg.c:4078
 #, c-format
 msgid "failed to initialize the TrustDB: %s\n"
 msgstr "impossible d'initialiser la base de confiance : %s\n"
 
-#: g10/gpg.c:4069
+#: g10/gpg.c:4090
 #, c-format
 msgid "WARNING: recipients (-r) given without using public key encryption\n"
 msgstr ""
 "Attention : les destinataires (-r) indiqués n'utilisent pas\n"
 "            de clef publique pour le chiffrement\n"
 
-#: g10/gpg.c:4141
+#: g10/gpg.c:4162
 #, c-format
 msgid "symmetric encryption of '%s' failed: %s\n"
 msgstr "échec du chiffrement symétrique de « %s » : %s\n"
 
-#: g10/gpg.c:4170
+#: g10/gpg.c:4191
 #, c-format
 msgid "you cannot use --symmetric --encrypt with --s2k-mode 0\n"
 msgstr "impossible d'utiliser --symmetric --encrypt avec --s2k-mode 0\n"
 
-#: g10/gpg.c:4173
+#: g10/gpg.c:4194
 #, fuzzy, c-format
 #| msgid "you cannot use --symmetric --encrypt while in %s mode\n"
 msgid "you cannot use --symmetric --encrypt in %s mode\n"
 msgstr "impossible d'utiliser --symmetric --encrypt en mode %s\n"
 
-#: g10/gpg.c:4231
+#: g10/gpg.c:4252
 #, c-format
 msgid "you cannot use --symmetric --sign --encrypt with --s2k-mode 0\n"
 msgstr "impossible d'utiliser --symmetric --sign --encrypt avec --s2k-mode 0\n"
 
-#: g10/gpg.c:4234
+#: g10/gpg.c:4255
 #, fuzzy, c-format
 #| msgid "you cannot use --symmetric --sign --encrypt while in %s mode\n"
 msgid "you cannot use --symmetric --sign --encrypt in %s mode\n"
 msgstr "impossible d'utiliser --symmetric --sign --encrypt en mode %s\n"
 
-#: g10/gpg.c:4622 g10/keyserver.c:1881
+#: g10/gpg.c:4643 g10/keyserver.c:1648
 #, c-format
 msgid "keyserver send failed: %s\n"
 msgstr "échec d'envoi vers le serveur de clefs : %s\n"
 
-#: g10/gpg.c:4627
+#: g10/gpg.c:4648
 #, c-format
 msgid "keyserver receive failed: %s\n"
 msgstr "échec de réception depuis le serveur de clefs : %s\n"
 
-#: g10/gpg.c:4633
+#: g10/gpg.c:4654
 #, c-format
 msgid "key export failed: %s\n"
 msgstr "échec d'exportation de la clef : %s\n"
 
-#: g10/gpg.c:4646
+#: g10/gpg.c:4667
 #, fuzzy, c-format
 #| msgid "key export failed: %s\n"
 msgid "export as ssh key failed: %s\n"
 msgstr "échec d'exportation de la clef : %s\n"
 
-#: g10/gpg.c:4658
+#: g10/gpg.c:4679
 #, c-format
 msgid "keyserver search failed: %s\n"
 msgstr "échec de recherche au sein du serveur de clefs : %s\n"
 
-#: g10/gpg.c:4671
+#: g10/gpg.c:4692
 #, c-format
 msgid "keyserver refresh failed: %s\n"
 msgstr "échec de rafraîchissement par le serveur de clefs : %s\n"
 
-#: g10/gpg.c:4738
+#: g10/gpg.c:4759
 #, c-format
 msgid "dearmoring failed: %s\n"
 msgstr "échec de déconstruction d'une armure : %s\n"
 
-#: g10/gpg.c:4749
+#: g10/gpg.c:4770
 #, c-format
 msgid "enarmoring failed: %s\n"
 msgstr "échec de construction d'une armure : %s \n"
 
-#: g10/gpg.c:4841
+#: g10/gpg.c:4862
 #, c-format
 msgid "invalid hash algorithm '%s'\n"
 msgstr "algorithme de hachage « %s » incorrect\n"
 
-#: g10/gpg.c:4993 g10/tofu.c:2153
+#: g10/gpg.c:5014 g10/tofu.c:2153
 #, fuzzy, c-format
 #| msgid "error loading certificate '%s': %s\n"
 msgid "error parsing key specification '%s': %s\n"
 msgstr "erreur de chargement du certificat « %s » : %s\n"
 
-#: g10/gpg.c:5006
+#: g10/gpg.c:5027
 #, c-format
 msgid "'%s' does not appear to be a valid key ID, fingerprint or keygrip\n"
 msgstr ""
 
-#: g10/gpg.c:5062
+#: g10/gpg.c:5083
 #, c-format
 msgid "WARNING: no command supplied.  Trying to guess what you mean ...\n"
 msgstr ""
 
-#: g10/gpg.c:5073
+#: g10/gpg.c:5094
 #, c-format
 msgid "Go ahead and type your message ...\n"
 msgstr "Vous pouvez taper votre message…\n"
 
-#: g10/gpg.c:5418
+#: g10/gpg.c:5439
 #, c-format
 msgid "the given certification policy URL is invalid\n"
 msgstr "l'URL de politique de certification donnée est incorrecte\n"
 
-#: g10/gpg.c:5420
+#: g10/gpg.c:5441
 #, c-format
 msgid "the given signature policy URL is invalid\n"
 msgstr "l'URL de politique de signature donnée est incorrecte\n"
 
-#: g10/gpg.c:5453
+#: g10/gpg.c:5474
 #, c-format
 msgid "the given preferred keyserver URL is invalid\n"
 msgstr "l'URL du serveur de clefs favori qui a été donnée est incorrecte\n"
@@ -3424,7 +3442,7 @@ msgstr "|FICHIER|prendre les clefs dans le porte-clefs FICHIER"
 msgid "make timestamp conflicts only a warning"
 msgstr "convertir les conflits de date en avertissements"
 
-#: g10/gpgv.c:86 sm/gpgsm.c:354 tools/gpgconf.c:112
+#: g10/gpgv.c:86 sm/gpgsm.c:357 tools/gpgconf.c:112
 msgid "|FD|write status info to this FD"
 msgstr "|FD|écrire l'état sur ce descripteur"
 
@@ -3509,98 +3527,98 @@ msgstr "entrée supposée au format binaire"
 msgid "repair keys on import"
 msgstr "afficher l'empreinte de la clef"
 
-#: g10/import.c:380 g10/import.c:699
+#: g10/import.c:392 g10/import.c:711
 #, c-format
 msgid "skipping block of type %d\n"
 msgstr "un bloc de type %d a été ignoré\n"
 
-#: g10/import.c:716
+#: g10/import.c:728
 #, c-format
 msgid "%lu keys processed so far\n"
 msgstr "%lu clefs traitées jusqu'à présent\n"
 
-#: g10/import.c:802
+#: g10/import.c:814
 #, c-format
 msgid "Total number processed: %lu\n"
 msgstr "      Quantité totale traitée : %lu\n"
 
-#: g10/import.c:805
+#: g10/import.c:817
 #, fuzzy, c-format
 #| msgid "      skipped new keys: %lu\n"
 msgid "    skipped PGP-2 keys: %lu\n"
 msgstr "     nouvelles clefs ignorées : %lu\n"
 
-#: g10/import.c:807
+#: g10/import.c:819
 #, c-format
 msgid "      skipped new keys: %lu\n"
 msgstr "     nouvelles clefs ignorées : %lu\n"
 
-#: g10/import.c:810
+#: g10/import.c:822
 #, c-format
 msgid "          w/o user IDs: %lu\n"
 msgstr "                sans identité : %lu\n"
 
-#: g10/import.c:813 sm/import.c:130
+#: g10/import.c:825 sm/import.c:130
 #, c-format
 msgid "              imported: %lu"
 msgstr "                    importées : %lu"
 
-#: g10/import.c:817 sm/import.c:134
+#: g10/import.c:829 sm/import.c:134
 #, c-format
 msgid "             unchanged: %lu\n"
 msgstr "                non modifiées : %lu\n"
 
-#: g10/import.c:819
+#: g10/import.c:831
 #, c-format
 msgid "          new user IDs: %lu\n"
 msgstr "          nouvelles identités : %lu\n"
 
-#: g10/import.c:821
+#: g10/import.c:833
 #, c-format
 msgid "           new subkeys: %lu\n"
 msgstr "         nouvelles sous-clefs : %lu\n"
 
-#: g10/import.c:823
+#: g10/import.c:835
 #, c-format
 msgid "        new signatures: %lu\n"
 msgstr "         nouvelles signatures : %lu\n"
 
-#: g10/import.c:825
+#: g10/import.c:837
 #, c-format
 msgid "   new key revocations: %lu\n"
 msgstr "nouvelles révocations de clef : %lu\n"
 
-#: g10/import.c:827 sm/import.c:136
+#: g10/import.c:839 sm/import.c:136
 #, c-format
 msgid "      secret keys read: %lu\n"
 msgstr "          clefs secrètes lues : %lu\n"
 
-#: g10/import.c:829 sm/import.c:138
+#: g10/import.c:841 sm/import.c:138
 #, c-format
 msgid "  secret keys imported: %lu\n"
 msgstr "     clefs secrètes importées : %lu\n"
 
-#: g10/import.c:831 sm/import.c:140
+#: g10/import.c:843 sm/import.c:140
 #, c-format
 msgid " secret keys unchanged: %lu\n"
 msgstr " clefs secrètes non modifiées : %lu\n"
 
-#: g10/import.c:833 sm/import.c:142
+#: g10/import.c:845 sm/import.c:142
 #, c-format
 msgid "          not imported: %lu\n"
 msgstr "                non importées : %lu\n"
 
-#: g10/import.c:835
+#: g10/import.c:847
 #, c-format
 msgid "    signatures cleaned: %lu\n"
 msgstr "         signatures nettoyées : %lu\n"
 
-#: g10/import.c:837
+#: g10/import.c:849
 #, c-format
 msgid "      user IDs cleaned: %lu\n"
 msgstr "          identités nettoyées : %lu\n"
 
-#: g10/import.c:1264
+#: g10/import.c:1276
 #, c-format
 msgid ""
 "WARNING: key %s contains preferences for unavailable\n"
@@ -3609,168 +3627,168 @@ msgstr ""
 "Attention : la clef %s contient des préférences pour des\n"
 "            algorithmes indisponibles pour ces identités :\n"
 
-#: g10/import.c:1306
+#: g10/import.c:1318
 #, c-format
 msgid "         \"%s\": preference for cipher algorithm %s\n"
 msgstr "            « %s » : préférence pour l'algorithme de chiffrement %s\n"
 
-#: g10/import.c:1321
+#: g10/import.c:1333
 #, c-format
 msgid "         \"%s\": preference for digest algorithm %s\n"
 msgstr "            « %s » : préférence pour l'algorithme de hachage %s\n"
 
-#: g10/import.c:1333
+#: g10/import.c:1345
 #, c-format
 msgid "         \"%s\": preference for compression algorithm %s\n"
 msgstr "            « %s » : préférence pour l'algorithme de compression %s\n"
 
-#: g10/import.c:1346
+#: g10/import.c:1358
 #, c-format
 msgid "it is strongly suggested that you update your preferences and\n"
 msgstr "vous devriez mettre à jour vos préférences et redistribuer cette\n"
 
-#: g10/import.c:1348
+#: g10/import.c:1360
 #, c-format
 msgid "re-distribute this key to avoid potential algorithm mismatch problems\n"
 msgstr "clef pour éviter d'éventuels problèmes d'algorithmes non appropriés\n"
 
-#: g10/import.c:1373
+#: g10/import.c:1385
 #, c-format
 msgid "you can update your preferences with: gpg --edit-key %s updpref save\n"
 msgstr ""
 "vous pouvez mettre à jour vos préférences avec :\n"
 "gpg --edit-key %s updpref save\n"
 
-#: g10/import.c:1887 g10/import.c:3001
+#: g10/import.c:1899 g10/import.c:3013
 #, c-format
 msgid "key %s: no user ID\n"
 msgstr "clef %s : pas d'identité\n"
 
-#: g10/import.c:1893
+#: g10/import.c:1905
 #, c-format
 msgid "key %s: %s\n"
 msgstr "clef %s : %s\n"
 
-#: g10/import.c:1894 g10/import.c:2973
+#: g10/import.c:1906 g10/import.c:2985
 msgid "rejected by import screener"
 msgstr "rejetée par le filtre d’importation"
 
-#: g10/import.c:1938
+#: g10/import.c:1950
 #, c-format
 msgid "key %s: PKS subkey corruption repaired\n"
 msgstr "clef %s : corruption de sous-clef PKS réparée\n"
 
-#: g10/import.c:1959
+#: g10/import.c:1971
 #, c-format
 msgid "key %s: accepted non self-signed user ID \"%s\"\n"
 msgstr "clef %s : identité « %s » non autosignée acceptée\n"
 
-#: g10/import.c:1969 g10/import.c:2000
+#: g10/import.c:1981 g10/import.c:2012
 #, c-format
 msgid "key %s: no valid user IDs\n"
 msgstr "clef %s : pas d'identité valable\n"
 
-#: g10/import.c:1971
+#: g10/import.c:1983
 #, c-format
 msgid "this may be caused by a missing self-signature\n"
 msgstr "cela pourrait provenir d'une autosignature manquante\n"
 
-#: g10/import.c:2050 g10/import.c:3387
+#: g10/import.c:2062 g10/import.c:3399
 #, c-format
 msgid "key %s: public key not found: %s\n"
 msgstr "clef %s : clef publique introuvable : %s\n"
 
-#: g10/import.c:2056
+#: g10/import.c:2068
 #, c-format
 msgid "key %s: new key - skipped\n"
 msgstr "clef %s : nouvelle clef — ignorée\n"
 
-#: g10/import.c:2068
+#: g10/import.c:2080
 #, c-format
 msgid "no writable keyring found: %s\n"
 msgstr "aucun porte-clefs accessible en écriture n'a été trouvé : %s\n"
 
-#: g10/import.c:2100 g10/import.c:2202 g10/import.c:3464
+#: g10/import.c:2112 g10/import.c:2214 g10/import.c:3476
 #, c-format
 msgid "error writing keyring '%s': %s\n"
 msgstr "erreur d'écriture du porte-clefs « %s » : %s\n"
 
-#: g10/import.c:2123
+#: g10/import.c:2135
 #, c-format
 msgid "key %s: public key \"%s\" imported\n"
 msgstr "clef %s : clef publique « %s » importée\n"
 
-#: g10/import.c:2150
+#: g10/import.c:2162
 #, c-format
 msgid "key %s: doesn't match our copy\n"
 msgstr "clef %s : ne correspond pas à notre copie\n"
 
-#: g10/import.c:2218
+#: g10/import.c:2230
 #, c-format
 msgid "key %s: \"%s\" 1 new user ID\n"
 msgstr "clef %s : « %s » 1 nouvelle identité\n"
 
-#: g10/import.c:2221
+#: g10/import.c:2233
 #, c-format
 msgid "key %s: \"%s\" %d new user IDs\n"
 msgstr "clef %s : « %s » %d nouvelles identités\n"
 
-#: g10/import.c:2224
+#: g10/import.c:2236
 #, c-format
 msgid "key %s: \"%s\" 1 new signature\n"
 msgstr "clef %s : « %s » 1 nouvelle signature\n"
 
-#: g10/import.c:2227
+#: g10/import.c:2239
 #, c-format
 msgid "key %s: \"%s\" %d new signatures\n"
 msgstr "clef %s : « %s » %d nouvelles signatures\n"
 
-#: g10/import.c:2230
+#: g10/import.c:2242
 #, c-format
 msgid "key %s: \"%s\" 1 new subkey\n"
 msgstr "clef %s : « %s » 1 nouvelle sous-clef\n"
 
-#: g10/import.c:2233
+#: g10/import.c:2245
 #, c-format
 msgid "key %s: \"%s\" %d new subkeys\n"
 msgstr "clef %s : « %s » %d nouvelles sous-clefs\n"
 
-#: g10/import.c:2236
+#: g10/import.c:2248
 #, c-format
 msgid "key %s: \"%s\" %d signature cleaned\n"
 msgstr "clef %s : « %s » %d signature nettoyée\n"
 
-#: g10/import.c:2239
+#: g10/import.c:2251
 #, c-format
 msgid "key %s: \"%s\" %d signatures cleaned\n"
 msgstr "clef %s : « %s » %d signatures nettoyées\n"
 
-#: g10/import.c:2242
+#: g10/import.c:2254
 #, c-format
 msgid "key %s: \"%s\" %d user ID cleaned\n"
 msgstr "clef %s : « %s » %d identité nettoyée\n"
 
-#: g10/import.c:2245
+#: g10/import.c:2257
 #, c-format
 msgid "key %s: \"%s\" %d user IDs cleaned\n"
 msgstr "clef %s : « %s » %d identités nettoyées\n"
 
-#: g10/import.c:2281
+#: g10/import.c:2293
 #, c-format
 msgid "key %s: \"%s\" not changed\n"
 msgstr "clef %s : « %s » n'est pas modifiée\n"
 
-#: g10/import.c:2640 g10/import.c:2835
+#: g10/import.c:2652 g10/import.c:2847
 #, c-format
 msgid "key %s: secret key imported\n"
 msgstr "clef %s : clef secrète importée\n"
 
-#: g10/import.c:2648
+#: g10/import.c:2660
 #, c-format
 msgid "key %s: secret key already exists\n"
 msgstr "clef %s : la clef secrète clef existe déjà\n"
 
-#: g10/import.c:2656
+#: g10/import.c:2668
 #, c-format
 msgid "key %s: error sending to agent: %s\n"
 msgstr "clef %s : erreur d'envoi à l'agent : %s\n"
@@ -3783,198 +3801,198 @@ msgstr "clef %s : erreur d'envoi à l'agent : %s\n"
 #. * Instead, user should be suggested to run 'gpg --card-status',
 #. * then, references to a card will be automatically created
 #. * again.
-#: g10/import.c:2825
+#: g10/import.c:2837
 #, c-format
 msgid "To migrate '%s', with each smartcard, run: %s\n"
 msgstr ""
 
-#: g10/import.c:2972
+#: g10/import.c:2984
 #, c-format
 msgid "secret key %s: %s\n"
 msgstr "clef secrète %s : %s\n"
 
-#: g10/import.c:2993 g10/import.c:3032
+#: g10/import.c:3005 g10/import.c:3044
 #, c-format
 msgid "importing secret keys not allowed\n"
 msgstr "impossible d'importer des clefs secrètes\n"
 
-#: g10/import.c:3020
+#: g10/import.c:3032
 #, c-format
 msgid "key %s: secret key with invalid cipher %d - skipped\n"
 msgstr "clef %s : clef secrète avec chiffrement %d incorrect — ignorée\n"
 
-#: g10/import.c:3182 g10/pkclist.c:72 g10/revoke.c:776
+#: g10/import.c:3194 g10/pkclist.c:72 g10/revoke.c:776
 msgid "No reason specified"
 msgstr "Aucune cause indiquée"
 
-#: g10/import.c:3183 g10/pkclist.c:74 g10/revoke.c:778
+#: g10/import.c:3195 g10/pkclist.c:74 g10/revoke.c:778
 msgid "Key is superseded"
 msgstr "La clef a été remplacée"
 
-#: g10/import.c:3184 g10/pkclist.c:76 g10/revoke.c:777
+#: g10/import.c:3196 g10/pkclist.c:76 g10/revoke.c:777
 msgid "Key has been compromised"
 msgstr "La clef a été compromise"
 
-#: g10/import.c:3185 g10/pkclist.c:78 g10/revoke.c:779
+#: g10/import.c:3197 g10/pkclist.c:78 g10/revoke.c:779
 msgid "Key is no longer used"
 msgstr "La clef n'est plus utilisée"
 
-#: g10/import.c:3186 g10/pkclist.c:80 g10/revoke.c:780
+#: g10/import.c:3198 g10/pkclist.c:80 g10/revoke.c:780
 msgid "User ID is no longer valid"
 msgstr "L'identité n'est plus valable"
 
-#: g10/import.c:3311 g10/keylist.c:1254 g10/pkclist.c:84
+#: g10/import.c:3323 g10/keylist.c:1254 g10/pkclist.c:84
 #, c-format
 msgid "reason for revocation: "
 msgstr "cause de révocation : "
 
-#: g10/import.c:3330 g10/keylist.c:1273 g10/pkclist.c:100
+#: g10/import.c:3342 g10/keylist.c:1273 g10/pkclist.c:100
 #, c-format
 msgid "revocation comment: "
 msgstr "commentaire de révocation : "
 
-#: g10/import.c:3380
+#: g10/import.c:3392
 #, c-format
 msgid "key %s: no public key - can't apply revocation certificate\n"
 msgstr ""
 "clef %s : pas de clef publique — impossible d'appliquer le certificat\n"
 "          de révocation\n"
 
-#: g10/import.c:3411
+#: g10/import.c:3423
 #, c-format
 msgid "key %s: can't locate original keyblock: %s\n"
 msgstr "clef %s : impossible de trouver le bloc de clef d'origine : %s\n"
 
-#: g10/import.c:3418
+#: g10/import.c:3430
 #, c-format
 msgid "key %s: can't read original keyblock: %s\n"
 msgstr "clef %s : impossible de lire le bloc de clef d'origine : %s\n"
 
-#: g10/import.c:3438
+#: g10/import.c:3450
 #, c-format
 msgid "key %s: invalid revocation certificate: %s - rejected\n"
 msgstr "clef %s : certificat de révocation incorrect : %s — rejeté\n"
 
-#: g10/import.c:3473
+#: g10/import.c:3485
 #, c-format
 msgid "key %s: \"%s\" revocation certificate imported\n"
 msgstr "clef %s : « %s » certificat de révocation importé\n"
 
-#: g10/import.c:3559
+#: g10/import.c:3571
 #, c-format
 msgid "key %s: no user ID for signature\n"
 msgstr "clef %s : pas d'identité pour la signature\n"
 
-#: g10/import.c:3576
+#: g10/import.c:3588
 #, c-format
 msgid "key %s: unsupported public key algorithm on user ID \"%s\"\n"
 msgstr "clef %s : algorithme à clef publique non géré avec l'identité « %s »\n"
 
-#: g10/import.c:3578
+#: g10/import.c:3590
 #, c-format
 msgid "key %s: invalid self-signature on user ID \"%s\"\n"
 msgstr "clef %s : autosignature de l'identité « %s » incorrecte\n"
 
-#: g10/import.c:3595 g10/import.c:3623 g10/import.c:3679
+#: g10/import.c:3607 g10/import.c:3635 g10/import.c:3691
 #, c-format
 msgid "key %s: unsupported public key algorithm\n"
 msgstr "clef %s : algorithme à clef publique non pris en charge\n"
 
-#: g10/import.c:3596
+#: g10/import.c:3608
 #, c-format
 msgid "key %s: invalid direct key signature\n"
 msgstr "clef %s : signature directe de clef incorrecte\n"
 
-#: g10/import.c:3610
+#: g10/import.c:3622
 #, c-format
 msgid "key %s: no subkey for key binding\n"
 msgstr "clef %s : pas de sous-clef pour relier la clef\n"
 
-#: g10/import.c:3625
+#: g10/import.c:3637
 #, c-format
 msgid "key %s: invalid subkey binding\n"
 msgstr "clef %s : lien à la sous-clef incorrect\n"
 
-#: g10/import.c:3644
+#: g10/import.c:3656
 #, c-format
 msgid "key %s: removed multiple subkey binding\n"
 msgstr "clef %s : suppression de lien multiple aux sous-clefs\n"
 
-#: g10/import.c:3668
+#: g10/import.c:3680
 #, c-format
 msgid "key %s: no subkey for key revocation\n"
 msgstr "clef %s : pas de sous-clef pour révoquer la clef\n"
 
-#: g10/import.c:3681
+#: g10/import.c:3693
 #, c-format
 msgid "key %s: invalid subkey revocation\n"
 msgstr "clef %s : révocation de sous-clef incorrecte\n"
 
-#: g10/import.c:3696
+#: g10/import.c:3708
 #, c-format
 msgid "key %s: removed multiple subkey revocation\n"
 msgstr "clef %s : suppression de la révocation de sous-clefs multiples\n"
 
-#: g10/import.c:3740
+#: g10/import.c:3752
 #, c-format
 msgid "key %s: skipped user ID \"%s\"\n"
 msgstr "clef %s : identité « %s » ignorée\n"
 
-#: g10/import.c:3767
+#: g10/import.c:3779
 #, c-format
 msgid "key %s: skipped subkey\n"
 msgstr "clef %s : sous-clef ignorée\n"
 
-#: g10/import.c:3798
+#: g10/import.c:3810
 #, c-format
 msgid "key %s: non exportable signature (class 0x%02X) - skipped\n"
 msgstr "clef %s : signature non exportable (classe 0x%02X) — ignorée\n"
 
-#: g10/import.c:3809
+#: g10/import.c:3821
 #, c-format
 msgid "key %s: revocation certificate at wrong place - skipped\n"
 msgstr "clef %s : certificat de révocation au mauvais endroit — ignoré\n"
 
-#: g10/import.c:3827
+#: g10/import.c:3839
 #, c-format
 msgid "key %s: invalid revocation certificate: %s - skipped\n"
 msgstr "clef %s : certificat de révocation incorrect : %s — ignoré\n"
 
-#: g10/import.c:3841
+#: g10/import.c:3853
 #, c-format
 msgid "key %s: subkey signature in wrong place - skipped\n"
 msgstr "clef %s : signature de sous-clef au mauvais endroit — ignorée\n"
 
-#: g10/import.c:3849
+#: g10/import.c:3861
 #, c-format
 msgid "key %s: unexpected signature class (0x%02X) - skipped\n"
 msgstr "clef %s : classe de signature inattendue (0x%02X) — ignorée\n"
 
-#: g10/import.c:4022
+#: g10/import.c:4034
 #, c-format
 msgid "key %s: duplicated user ID detected - merged\n"
 msgstr "clef %s : identités en double détectées — fusionnées\n"
 
-#: g10/import.c:4087
+#: g10/import.c:4099
 #, c-format
 msgid "WARNING: key %s may be revoked: fetching revocation key %s\n"
 msgstr ""
 "Attention : la clef %s est peut-être révoquée :\n"
 "            récupération de la clef de révocation %s\n"
 
-#: g10/import.c:4103
+#: g10/import.c:4115
 #, c-format
 msgid "WARNING: key %s may be revoked: revocation key %s not present.\n"
 msgstr ""
 "Attention : la clef %s est peut-être révoquée :\n"
 "            la clef de révocation %s est absente.\n"
 
-#: g10/import.c:4169
+#: g10/import.c:4181
 #, c-format
 msgid "key %s: \"%s\" revocation certificate added\n"
 msgstr "clef %s : ajout du certificat de révocation « %s »\n"
 
-#: g10/import.c:4207
+#: g10/import.c:4219
 #, c-format
 msgid "key %s: direct key signature added\n"
 msgstr "clef %s : ajout de la signature directe de clef\n"
@@ -4049,7 +4067,7 @@ msgid ""
 "all signatures.\n"
 msgstr ""
 
-#: g10/keydb.c:431 g10/keydb.c:458 sm/keydb.c:191 sm/keydb.c:204
+#: g10/keydb.c:431 g10/keydb.c:458 sm/keydb.c:190 sm/keydb.c:203
 #, c-format
 msgid "error creating keybox '%s': %s\n"
 msgstr "erreur de création du trousseau local « %s » : %s\n"
@@ -4059,7 +4077,7 @@ msgstr "erreur de création du trousseau local « %s » : %s\n"
 msgid "error creating keyring '%s': %s\n"
 msgstr "erreur de création du porte-clefs « %s » : %s\n"
 
-#: g10/keydb.c:470 sm/keydb.c:210
+#: g10/keydb.c:470 sm/keydb.c:209
 #, c-format
 msgid "keybox '%s' created\n"
 msgstr "le trousseau local « %s » a été créé\n"
@@ -4140,13 +4158,13 @@ msgstr ""
 msgid "User ID \"%s\" is revoked."
 msgstr "L'identité « %s » est révoquée."
 
-#: g10/keyedit.c:569 g10/keyedit.c:597 g10/keyedit.c:624 g10/keyedit.c:808
-#: g10/keyedit.c:1655
+#: g10/keyedit.c:569 g10/keyedit.c:597 g10/keyedit.c:624 g10/keyedit.c:809
+#: g10/keyedit.c:1656
 msgid "Are you sure you still want to sign it? (y/N) "
 msgstr "Voulez-vous vraiment toujours la signer ? (o/N) "
 
-#: g10/keyedit.c:583 g10/keyedit.c:611 g10/keyedit.c:638 g10/keyedit.c:814
-#: g10/keyedit.c:1660 g10/keyedit.c:2667
+#: g10/keyedit.c:583 g10/keyedit.c:611 g10/keyedit.c:638 g10/keyedit.c:815
+#: g10/keyedit.c:1661 g10/keyedit.c:2668
 msgid "  Unable to sign.\n"
 msgstr " Impossible de signer.\n"
 
@@ -4220,29 +4238,29 @@ msgstr "« %s » a déjà été signée localement par la clef %s\n"
 msgid "\"%s\" was already signed by key %s\n"
 msgstr "« %s » a déjà été signée par la clef %s\n"
 
-#: g10/keyedit.c:756
+#: g10/keyedit.c:757
 msgid "Do you want to sign it again anyway? (y/N) "
 msgstr "Voulez-vous quand même encore la signer ? (o/N) "
 
-#: g10/keyedit.c:778
+#: g10/keyedit.c:779
 #, c-format
 msgid "Nothing to sign with key %s\n"
 msgstr "Rien à signer avec la clef %s\n"
 
-#: g10/keyedit.c:802
+#: g10/keyedit.c:803
 msgid "This key has expired!"
 msgstr "Cette clef a expiré."
 
-#: g10/keyedit.c:820
+#: g10/keyedit.c:821
 #, c-format
 msgid "This key is due to expire on %s.\n"
 msgstr "Cette clef va expirer le %s.\n"
 
-#: g10/keyedit.c:826
+#: g10/keyedit.c:827
 msgid "Do you want your signature to expire at the same time? (Y/n) "
 msgstr "Voulez-vous que votre signature expire en même temps ? (O/n) "
 
-#: g10/keyedit.c:867
+#: g10/keyedit.c:868
 msgid ""
 "How carefully have you verified the key you are about to sign actually "
 "belongs\n"
@@ -4251,31 +4269,31 @@ msgstr ""
 "Avec quel soin avez-vous vérifié que la clef à signer appartient bien à\n"
 "la personne sus-nommée ? Si vous ne savez quoi répondre, entrez « 0 ».\n"
 
-#: g10/keyedit.c:872
+#: g10/keyedit.c:873
 #, c-format
 msgid "   (0) I will not answer.%s\n"
 msgstr "   (0) Je ne répondrai pas.%s\n"
 
-#: g10/keyedit.c:874
+#: g10/keyedit.c:875
 #, c-format
 msgid "   (1) I have not checked at all.%s\n"
 msgstr "   (1) Je n'ai pas vérifié du tout.%s\n"
 
-#: g10/keyedit.c:876
+#: g10/keyedit.c:877
 #, c-format
 msgid "   (2) I have done casual checking.%s\n"
 msgstr "   (2) J'ai partiellement vérifié.%s\n"
 
-#: g10/keyedit.c:879
+#: g10/keyedit.c:880
 #, c-format
 msgid "   (3) I have done very careful checking.%s\n"
 msgstr "   (3) J'ai complètement vérifié.%s\n"
 
-#: g10/keyedit.c:886
+#: g10/keyedit.c:887
 msgid "Your selection? (enter '?' for more information): "
 msgstr "Quel est votre choix ? (Entrez « ? » pour plus de renseignements) : "
 
-#: g10/keyedit.c:913
+#: g10/keyedit.c:914
 #, c-format
 msgid ""
 "Are you sure that you want to sign this key with your\n"
@@ -4284,235 +4302,235 @@ msgstr ""
 "Voulez-vous vraiment signer cette clef avec votre\n"
 "clef « %s » (%s)\n"
 
-#: g10/keyedit.c:921
+#: g10/keyedit.c:922
 msgid "This will be a self-signature.\n"
 msgstr "Ce sera une autosignature.\n"
 
-#: g10/keyedit.c:926
+#: g10/keyedit.c:927
 msgid "WARNING: the signature will not be marked as non-exportable.\n"
 msgstr "Attention : la signature ne sera pas marquée comme non exportable.\n"
 
-#: g10/keyedit.c:933
+#: g10/keyedit.c:934
 msgid "WARNING: the signature will not be marked as non-revocable.\n"
 msgstr "Attention : La signature ne sera pas marquée comme non révocable.\n"
 
-#: g10/keyedit.c:943
+#: g10/keyedit.c:944
 msgid "The signature will be marked as non-exportable.\n"
 msgstr "La signature sera marquée comme non exportable.\n"
 
-#: g10/keyedit.c:950
+#: g10/keyedit.c:951
 msgid "The signature will be marked as non-revocable.\n"
 msgstr "La signature sera marquée comme non révocable.\n"
 
-#: g10/keyedit.c:957
+#: g10/keyedit.c:958
 msgid "I have not checked this key at all.\n"
 msgstr "Je n'ai pas du tout vérifié cette clef.\n"
 
-#: g10/keyedit.c:962
+#: g10/keyedit.c:963
 msgid "I have checked this key casually.\n"
 msgstr "J'ai partiellement vérifié cette clef.\n"
 
-#: g10/keyedit.c:967
+#: g10/keyedit.c:968
 msgid "I have checked this key very carefully.\n"
 msgstr "J'ai complètement vérifié cette clef.\n"
 
-#: g10/keyedit.c:979
+#: g10/keyedit.c:980
 msgid "Really sign? (y/N) "
 msgstr "Voulez-vous vraiment signer ? (o/N) "
 
-#: g10/keyedit.c:1030 g10/keyedit.c:6154 g10/keyedit.c:6237 g10/keyedit.c:6366
-#: g10/keyedit.c:6428 g10/sign.c:466
+#: g10/keyedit.c:1031 g10/keyedit.c:6155 g10/keyedit.c:6238 g10/keyedit.c:6367
+#: g10/keyedit.c:6429 g10/sign.c:466
 #, c-format
 msgid "signing failed: %s\n"
 msgstr "échec de la signature : %s\n"
 
-#: g10/keyedit.c:1117
+#: g10/keyedit.c:1118
 msgid "Key has only stub or on-card key items - no passphrase to change.\n"
 msgstr ""
 "La clef ne possède que des éléments partiels ou stockés sur carte\n"
 "— pas de phrase secrète à modifier.\n"
 
-#: g10/keyedit.c:1149
+#: g10/keyedit.c:1150
 #, c-format
 msgid "key %s: error changing passphrase: %s\n"
 msgstr "clef %s : erreur de modification de la phrase secrète : %s\n"
 
-#: g10/keyedit.c:1261
+#: g10/keyedit.c:1262
 msgid "save and quit"
 msgstr "enregistrer et quitter"
 
-#: g10/keyedit.c:1264
+#: g10/keyedit.c:1265
 msgid "show key fingerprint"
 msgstr "afficher l'empreinte de la clef"
 
-#: g10/keyedit.c:1265
+#: g10/keyedit.c:1266
 #, fuzzy
 #| msgid "Enter the keygrip: "
 msgid "show the keygrip"
 msgstr "Entrez le keygrip : "
 
-#: g10/keyedit.c:1266
+#: g10/keyedit.c:1267
 msgid "list key and user IDs"
 msgstr "afficher la clef et les identités"
 
-#: g10/keyedit.c:1268
+#: g10/keyedit.c:1269
 msgid "select user ID N"
 msgstr "sélectionner l'identité N"
 
-#: g10/keyedit.c:1269
+#: g10/keyedit.c:1270
 msgid "select subkey N"
 msgstr "sélectionner la sous-clef N"
 
-#: g10/keyedit.c:1270
+#: g10/keyedit.c:1271
 msgid "check signatures"
 msgstr "vérifier les signatures"
 
-#: g10/keyedit.c:1276
+#: g10/keyedit.c:1277
 msgid "sign selected user IDs [* see below for related commands]"
 msgstr ""
 "signer les identités sélectionnées [* voir ci-dessous les commandes "
 "similaires]"
 
-#: g10/keyedit.c:1281
+#: g10/keyedit.c:1282
 msgid "sign selected user IDs locally"
 msgstr "signer les identités sélectionnées localement"
 
-#: g10/keyedit.c:1282
+#: g10/keyedit.c:1283
 msgid "sign selected user IDs with a trust signature"
 msgstr "signer les identités sélectionnées avec une signature de confiance"
 
-#: g10/keyedit.c:1284
+#: g10/keyedit.c:1285
 msgid "sign selected user IDs with a non-revocable signature"
 msgstr "signer les identités sélectionnées avec une signature non révocable"
 
-#: g10/keyedit.c:1286
+#: g10/keyedit.c:1287
 msgid "add a user ID"
 msgstr "ajouter une identité"
 
-#: g10/keyedit.c:1288
+#: g10/keyedit.c:1289
 msgid "add a photo ID"
 msgstr "ajouter une photo d'identité"
 
-#: g10/keyedit.c:1289
+#: g10/keyedit.c:1290
 msgid "delete selected user IDs"
 msgstr "supprimer les identités sélectionnées"
 
-#: g10/keyedit.c:1292
+#: g10/keyedit.c:1293
 msgid "add a subkey"
 msgstr "ajouter une sous-clef"
 
-#: g10/keyedit.c:1295
+#: g10/keyedit.c:1296
 msgid "add a key to a smartcard"
 msgstr "ajouter une clef à une carte à puce"
 
-#: g10/keyedit.c:1297
+#: g10/keyedit.c:1298
 msgid "move a key to a smartcard"
 msgstr "déplacer une clef vers une carte à puce"
 
-#: g10/keyedit.c:1299
+#: g10/keyedit.c:1300
 msgid "move a backup key to a smartcard"
 msgstr "déplacer une clef de sauvegarde vers une carte à puce"
 
-#: g10/keyedit.c:1301
+#: g10/keyedit.c:1302
 msgid "delete selected subkeys"
 msgstr "supprimer les sous-clefs sélectionnées"
 
-#: g10/keyedit.c:1303
+#: g10/keyedit.c:1304
 msgid "add a revocation key"
 msgstr "ajouter une clef de révocation"
 
-#: g10/keyedit.c:1305
+#: g10/keyedit.c:1306
 msgid "delete signatures from the selected user IDs"
 msgstr "supprimer les signatures des identités sélectionnées"
 
-#: g10/keyedit.c:1307
+#: g10/keyedit.c:1308
 msgid "change the expiration date for the key or selected subkeys"
 msgstr ""
 "modifier la date d'expiration de la clef ou des sous-clefs sélectionnées"
 
-#: g10/keyedit.c:1309
+#: g10/keyedit.c:1310
 msgid "flag the selected user ID as primary"
 msgstr "marquer l'identité sélectionnée comme principale"
 
-#: g10/keyedit.c:1312
+#: g10/keyedit.c:1313
 msgid "list preferences (expert)"
 msgstr "afficher les préférences (expert)"
 
-#: g10/keyedit.c:1313
+#: g10/keyedit.c:1314
 msgid "list preferences (verbose)"
 msgstr "afficher les préférences (bavard)"
 
-#: g10/keyedit.c:1315
+#: g10/keyedit.c:1316
 msgid "set preference list for the selected user IDs"
 msgstr "définir la liste de préférences pour les identités sélectionnées"
 
-#: g10/keyedit.c:1318
+#: g10/keyedit.c:1319
 msgid "set the preferred keyserver URL for the selected user IDs"
 msgstr "définir le serveur de clefs favori pour les identités sélectionnées"
 
-#: g10/keyedit.c:1320
+#: g10/keyedit.c:1321
 msgid "set a notation for the selected user IDs"
 msgstr "définir une notation pour les identités sélectionnées"
 
-#: g10/keyedit.c:1322
+#: g10/keyedit.c:1323
 msgid "change the passphrase"
 msgstr "modifier la phrase secrète"
 
-#: g10/keyedit.c:1325
+#: g10/keyedit.c:1326
 msgid "change the ownertrust"
 msgstr "modifier la confiance du propriétaire"
 
-#: g10/keyedit.c:1328
+#: g10/keyedit.c:1329
 msgid "revoke signatures on the selected user IDs"
 msgstr "révoquer les signatures des identités sélectionnées"
 
-#: g10/keyedit.c:1330
+#: g10/keyedit.c:1331
 msgid "revoke selected user IDs"
 msgstr "révoquer les identités sélectionnées"
 
-#: g10/keyedit.c:1333
+#: g10/keyedit.c:1334
 msgid "revoke key or selected subkeys"
 msgstr "révoquer la clef ou des sous-clefs sélectionnées"
 
-#: g10/keyedit.c:1335
+#: g10/keyedit.c:1336
 msgid "enable key"
 msgstr "activer la clef"
 
-#: g10/keyedit.c:1336
+#: g10/keyedit.c:1337
 msgid "disable key"
 msgstr "désactiver la clef"
 
-#: g10/keyedit.c:1338
+#: g10/keyedit.c:1339
 msgid "show selected photo IDs"
 msgstr "montrer les photos d'identité sélectionnées"
 
-#: g10/keyedit.c:1340
+#: g10/keyedit.c:1341
 msgid "compact unusable user IDs and remove unusable signatures from key"
 msgstr ""
 "compacter les identités inutilisables et supprimer les\n"
 "            signatures inutilisables de la clef"
 
-#: g10/keyedit.c:1342
+#: g10/keyedit.c:1343
 msgid "compact unusable user IDs and remove all signatures from key"
 msgstr ""
 "compacter les identités inutilisables et supprimer toutes\n"
 "            les signatures de la clef"
 
-#: g10/keyedit.c:1463
+#: g10/keyedit.c:1464
 msgid "Secret key is available.\n"
 msgstr "La clef secrète est disponible.\n"
 
-#: g10/keyedit.c:1465
+#: g10/keyedit.c:1466
 #, fuzzy
 #| msgid "Secret key is available.\n"
 msgid "Secret subkeys are available.\n"
 msgstr "La clef secrète est disponible.\n"
 
-#: g10/keyedit.c:1567
+#: g10/keyedit.c:1568
 msgid "Need the secret key to do this.\n"
 msgstr "La clef secrète est nécessaire pour faire cela.\n"
 
-#: g10/keyedit.c:1590
+#: g10/keyedit.c:1591
 msgid ""
 "* The 'sign' command may be prefixed with an 'l' for local signatures "
 "(lsign),\n"
@@ -4524,303 +4542,303 @@ msgstr ""
 "  confiance (tsign), « nr » pour les signatures non révocables\n"
 "  (nrsign), ou toute combinaison possible (ltsign, tnrsign, etc.).\n"
 
-#: g10/keyedit.c:1648 g10/keyedit.c:2667 g10/keyedit.c:3040 g10/keyedit.c:3108
+#: g10/keyedit.c:1649 g10/keyedit.c:2668 g10/keyedit.c:3041 g10/keyedit.c:3109
 msgid "Key is revoked."
 msgstr "La clef est révoquée."
 
-#: g10/keyedit.c:1671
+#: g10/keyedit.c:1672
 #, fuzzy
 #| msgid "Really sign all user IDs? (y/N) "
 msgid "Really sign all text user IDs? (y/N) "
 msgstr "Voulez-vous vraiment signer toutes les identités ? (o/N) "
 
-#: g10/keyedit.c:1675
+#: g10/keyedit.c:1676
 msgid "Really sign all user IDs? (y/N) "
 msgstr "Voulez-vous vraiment signer toutes les identités ? (o/N) "
 
-#: g10/keyedit.c:1683
+#: g10/keyedit.c:1684
 msgid "Hint: Select the user IDs to sign\n"
 msgstr "Conseil : sélectionner les identités à signer\n"
 
-#: g10/keyedit.c:1694
+#: g10/keyedit.c:1695
 #, c-format
 msgid "Unknown signature type '%s'\n"
 msgstr "Type de signature « %s » inconnu\n"
 
-#: g10/keyedit.c:1718
+#: g10/keyedit.c:1719
 #, c-format
 msgid "This command is not allowed while in %s mode.\n"
 msgstr "Cette commande n'est pas permise en mode %s.\n"
 
-#: g10/keyedit.c:1740 g10/keyedit.c:1764 g10/keyedit.c:1961
+#: g10/keyedit.c:1741 g10/keyedit.c:1765 g10/keyedit.c:1962
 msgid "You must select at least one user ID.\n"
 msgstr "Vous devez sélectionner au moins une identité.\n"
 
-#: g10/keyedit.c:1742 g10/keyedit.c:1766 g10/keyedit.c:1923 g10/keyedit.c:1963
+#: g10/keyedit.c:1743 g10/keyedit.c:1767 g10/keyedit.c:1924 g10/keyedit.c:1964
 #, c-format
 msgid "(Use the '%s' command.)\n"
 msgstr ""
 
-#: g10/keyedit.c:1745
+#: g10/keyedit.c:1746
 msgid "You can't delete the last user ID!\n"
 msgstr "Vous ne pouvez pas supprimer la dernière identité.\n"
 
-#: g10/keyedit.c:1748
+#: g10/keyedit.c:1749
 msgid "Really remove all selected user IDs? (y/N) "
 msgstr "Faut-il vraiment supprimer toutes les identités sélectionnées ? (o/N) "
 
-#: g10/keyedit.c:1749
+#: g10/keyedit.c:1750
 msgid "Really remove this user ID? (y/N) "
 msgstr "Faut-il vraiment supprimer cette identité ? (o/N) "
 
 #. TRANSLATORS: Please take care: This is about
 #. moving the key and not about removing it.
-#: g10/keyedit.c:1806
+#: g10/keyedit.c:1807
 msgid "Really move the primary key? (y/N) "
 msgstr "Faut-il vraiment déplacer la clef principale ? (o/N) "
 
-#: g10/keyedit.c:1818 g10/keyedit.c:4803
+#: g10/keyedit.c:1819 g10/keyedit.c:4804
 msgid "You must select exactly one key.\n"
 msgstr "Vous devez sélectionner exactement une clef.\n"
 
-#: g10/keyedit.c:1846
+#: g10/keyedit.c:1847
 msgid "Command expects a filename argument\n"
 msgstr "La commande attend un nom de fichier comme argument\n"
 
-#: g10/keyedit.c:1867
+#: g10/keyedit.c:1868
 #, c-format
 msgid "Can't open '%s': %s\n"
 msgstr "Impossible d'ouvrir « %s » : %s\n"
 
-#: g10/keyedit.c:1886
+#: g10/keyedit.c:1887
 #, c-format
 msgid "Error reading backup key from '%s': %s\n"
 msgstr "Erreur de lecture de la clef de sauvegarde sur « %s » : %s\n"
 
-#: g10/keyedit.c:1921
+#: g10/keyedit.c:1922
 msgid "You must select at least one key.\n"
 msgstr "Vous devez sélectionner au moins une clef.\n"
 
-#: g10/keyedit.c:1927
+#: g10/keyedit.c:1928
 msgid "Do you really want to delete the selected keys? (y/N) "
 msgstr "Voulez-vous vraiment supprimer les clefs sélectionnées ? (o/N) "
 
-#: g10/keyedit.c:1929
+#: g10/keyedit.c:1930
 msgid "Do you really want to delete this key? (y/N) "
 msgstr "Voulez-vous vraiment supprimer cette clef ? (o/N) "
 
-#: g10/keyedit.c:1967
+#: g10/keyedit.c:1968
 msgid "Really revoke all selected user IDs? (y/N) "
 msgstr ""
 "Voulez-vous vraiment révoquer toutes les identités sélectionnées ? (o/N) "
 
-#: g10/keyedit.c:1968
+#: g10/keyedit.c:1969
 msgid "Really revoke this user ID? (y/N) "
 msgstr "Voulez-vous vraiment révoquer cette identité ? (o/N) "
 
-#: g10/keyedit.c:1986
+#: g10/keyedit.c:1987
 msgid "Do you really want to revoke the entire key? (y/N) "
 msgstr "Voulez-vous vraiment révoquer toute la clef ? (o/N) "
 
-#: g10/keyedit.c:1997
+#: g10/keyedit.c:1998
 msgid "Do you really want to revoke the selected subkeys? (y/N) "
 msgstr "Voulez-vous vraiment révoquer les sous-clefs sélectionnées ? (o/N) "
 
-#: g10/keyedit.c:1999
+#: g10/keyedit.c:2000
 msgid "Do you really want to revoke this subkey? (y/N) "
 msgstr "Voulez-vous vraiment révoquer cette sous-clef ? (o/N) "
 
-#: g10/keyedit.c:2057
+#: g10/keyedit.c:2058
 msgid "Owner trust may not be set while using a user provided trust database\n"
 msgstr ""
 "La confiance du propriétaire pourrait ne pas être définie à partir de\n"
 "la base de confiance d'un tiers\n"
 
-#: g10/keyedit.c:2102
+#: g10/keyedit.c:2103
 msgid "Set preference list to:\n"
 msgstr "Définir la liste de préférences en :\n"
 
-#: g10/keyedit.c:2109
+#: g10/keyedit.c:2110
 msgid "Really update the preferences for the selected user IDs? (y/N) "
 msgstr ""
 "Faut-il vraiment mettre à jour les préférences pour les\n"
 "identités sélectionnées ? (o/N) "
 
-#: g10/keyedit.c:2111
+#: g10/keyedit.c:2112
 msgid "Really update the preferences? (y/N) "
 msgstr "Faut-il vraiment mettre à jour les préférences ? (o/N) "
 
-#: g10/keyedit.c:2185
+#: g10/keyedit.c:2186
 msgid "Save changes? (y/N) "
 msgstr "Faut-il enregistrer les modifications ? (o/N) "
 
-#: g10/keyedit.c:2189
+#: g10/keyedit.c:2190
 msgid "Quit without saving? (y/N) "
 msgstr "Faut-il quitter sans enregistrer ? (o/N) "
 
-#: g10/keyedit.c:2216 g10/keyedit.c:2762 g10/keyedit.c:3061 g10/keyedit.c:3214
+#: g10/keyedit.c:2217 g10/keyedit.c:2763 g10/keyedit.c:3062 g10/keyedit.c:3215
 #, c-format
 msgid "Key not changed so no update needed.\n"
 msgstr "La clef n'a pas été modifiée donc la mise à jour est inutile.\n"
 
-#: g10/keyedit.c:2448
+#: g10/keyedit.c:2449
 #, fuzzy, c-format
 #| msgid "You can't delete the last user ID!\n"
 msgid "cannot revoke the last valid user ID.\n"
 msgstr "Vous ne pouvez pas supprimer la dernière identité.\n"
 
-#: g10/keyedit.c:2475
+#: g10/keyedit.c:2476
 #, fuzzy, c-format
 #| msgid "checking the trust list failed: %s\n"
 msgid "revoking the user ID failed: %s\n"
 msgstr "échec de vérification de la liste de confiance : %s\n"
 
-#: g10/keyedit.c:2541
+#: g10/keyedit.c:2542
 #, fuzzy, c-format
 #| msgid "checking the trust list failed: %s\n"
 msgid "setting the primary user ID failed: %s\n"
 msgstr "échec de vérification de la liste de confiance : %s\n"
 
-#: g10/keyedit.c:2572
+#: g10/keyedit.c:2573
 #, c-format
 msgid "\"%s\" is not a fingerprint\n"
 msgstr "« %s » n’est pas une empreinte\n"
 
-#: g10/keyedit.c:2602
+#: g10/keyedit.c:2603
 #, c-format
 msgid "\"%s\" is not the primary fingerprint\n"
 msgstr "« %s » n’est pas l’empreinte principale\n"
 
-#: g10/keyedit.c:2738 g10/keyedit.c:2741
+#: g10/keyedit.c:2739 g10/keyedit.c:2742
 #, fuzzy, c-format
 #| msgid "invalid value\n"
 msgid "Invalid user ID '%s': %s\n"
 msgstr "valeur incorrecte\n"
 
-#: g10/keyedit.c:2744
+#: g10/keyedit.c:2745
 msgid "No matching user IDs."
 msgstr "Pas d’identités correspondantes."
 
-#: g10/keyedit.c:2744
+#: g10/keyedit.c:2745
 msgid "Nothing to sign.\n"
 msgstr "Rien à signer.\n"
 
-#: g10/keyedit.c:2937 g10/keyedit.c:6019
+#: g10/keyedit.c:2938 g10/keyedit.c:6020
 #, c-format
 msgid "Not signed by you.\n"
 msgstr "Non signée par vous.\n"
 
-#: g10/keyedit.c:2995
+#: g10/keyedit.c:2996
 #, fuzzy, c-format
 #| msgid "checking created signature failed: %s\n"
 msgid "revoking the key signature failed: %s\n"
 msgstr "échec de vérification de la signature créée : %s\n"
 
-#: g10/keyedit.c:3116
+#: g10/keyedit.c:3117
 #, fuzzy, c-format
 #| msgid "'%s' is not a valid signature expiration\n"
 msgid "'%s' is not a valid expiration time\n"
 msgstr "« %s » n'est pas une date d'expiration de signature valable\n"
 
-#: g10/keyedit.c:3159
+#: g10/keyedit.c:3160
 #, fuzzy, c-format
 #| msgid "\"%s\" is not a fingerprint\n"
 msgid "\"%s\" is not a proper fingerprint\n"
 msgstr "« %s » n’est pas une empreinte\n"
 
-#: g10/keyedit.c:3183
+#: g10/keyedit.c:3184
 #, fuzzy, c-format
 #| msgid "key \"%s\" not found: %s\n"
 msgid "subkey \"%s\" not found\n"
 msgstr "clef « %s » introuvable : %s\n"
 
-#: g10/keyedit.c:3306
+#: g10/keyedit.c:3307
 msgid "AEAD: "
 msgstr ""
 
-#: g10/keyedit.c:3323
+#: g10/keyedit.c:3324
 msgid "Digest: "
 msgstr "Hachage : "
 
-#: g10/keyedit.c:3380
+#: g10/keyedit.c:3381
 msgid "Features: "
 msgstr "Fonctionnalités : "
 
-#: g10/keyedit.c:3397
+#: g10/keyedit.c:3398
 msgid "Keyserver no-modify"
 msgstr "Serveur de clefs sans modification"
 
-#: g10/keyedit.c:3412 g10/keylist.c:376
+#: g10/keyedit.c:3413 g10/keylist.c:376
 msgid "Preferred keyserver: "
 msgstr "Serveur de clefs favori : "
 
-#: g10/keyedit.c:3420 g10/keyedit.c:3421
+#: g10/keyedit.c:3421 g10/keyedit.c:3422
 msgid "Notations: "
 msgstr "Notations : "
 
-#: g10/keyedit.c:3669
+#: g10/keyedit.c:3670
 msgid "There are no preferences on a PGP 2.x-style user ID.\n"
 msgstr "Il n'y a pas de préférences dans une identité de type PGP 2.x.\n"
 
-#: g10/keyedit.c:3741
+#: g10/keyedit.c:3742
 #, c-format
 msgid "The following key was revoked on %s by %s key %s\n"
 msgstr "La clef suivante a été révoquée le %s par la clef %s %s\n"
 
-#: g10/keyedit.c:3765
+#: g10/keyedit.c:3766
 #, c-format
 msgid "This key may be revoked by %s key %s"
 msgstr "Cette clef peut être révoquée par la clef %s %s"
 
-#: g10/keyedit.c:3771
+#: g10/keyedit.c:3772
 msgid "(sensitive)"
 msgstr "(sensible)"
 
-#: g10/keyedit.c:3813 g10/keyedit.c:3960 g10/keylist.c:264 g10/keyserver.c:538
+#: g10/keyedit.c:3814 g10/keyedit.c:3961 g10/keylist.c:264 g10/keyserver.c:361
 #, c-format
 msgid "created: %s"
 msgstr "créé : %s"
 
-#: g10/keyedit.c:3816 g10/keylist.c:2149
+#: g10/keyedit.c:3817 g10/keylist.c:2149
 #, c-format
 msgid "revoked: %s"
 msgstr "révoquée : %s"
 
-#: g10/keyedit.c:3818 g10/keylist.c:2155
+#: g10/keyedit.c:3819 g10/keylist.c:2155
 #, c-format
 msgid "expired: %s"
 msgstr "expirée : %s"
 
-#: g10/keyedit.c:3820 g10/keyedit.c:3962 g10/keylist.c:266 g10/keylist.c:2161
-#: g10/keyserver.c:544
+#: g10/keyedit.c:3821 g10/keyedit.c:3963 g10/keylist.c:266 g10/keylist.c:2161
+#: g10/keyserver.c:367
 #, c-format
 msgid "expires: %s"
 msgstr "expire : %s"
 
-#: g10/keyedit.c:3822
+#: g10/keyedit.c:3823
 #, c-format
 msgid "usage: %s"
 msgstr "utilisation : %s"
 
-#: g10/keyedit.c:3830 g10/keyedit.c:3850 g10/keylist.c:269
+#: g10/keyedit.c:3831 g10/keyedit.c:3851 g10/keylist.c:269
 msgid "card-no: "
 msgstr "nº de carte : "
 
-#: g10/keyedit.c:3889
+#: g10/keyedit.c:3890
 #, c-format
 msgid "trust: %s"
 msgstr "confiance : %s"
 
-#: g10/keyedit.c:3893
+#: g10/keyedit.c:3894
 #, c-format
 msgid "validity: %s"
 msgstr "validité : %s"
 
-#: g10/keyedit.c:3900
+#: g10/keyedit.c:3901
 msgid "This key has been disabled"
 msgstr "Cette clef a été désactivée"
 
-#: g10/keyedit.c:3918
+#: g10/keyedit.c:3919
 msgid ""
 "Please note that the shown key validity is not necessarily correct\n"
 "unless you restart the program.\n"
@@ -4828,17 +4846,17 @@ msgstr ""
 "Veuillez remarquer que la validité affichée pour la clef n'est pas\n"
 "forcément correcte avant d'avoir relancé le programme.\n"
 
-#: g10/keyedit.c:3979 g10/keyedit.c:4410 g10/keyserver.c:548
-#: g10/mainproc.c:2371 g10/tofu.c:1787 g10/trust.c:437 dirmngr/ocsp.c:791
+#: g10/keyedit.c:3980 g10/keyedit.c:4411 g10/keyserver.c:371
+#: g10/mainproc.c:2380 g10/tofu.c:1787 g10/trust.c:437 dirmngr/ocsp.c:791
 msgid "revoked"
 msgstr "révoquée"
 
-#: g10/keyedit.c:3981 g10/keyedit.c:4412 g10/keyserver.c:552
-#: g10/mainproc.c:2373 g10/tofu.c:1792 g10/trust.c:124
+#: g10/keyedit.c:3982 g10/keyedit.c:4413 g10/keyserver.c:375
+#: g10/mainproc.c:2382 g10/tofu.c:1792 g10/trust.c:124
 msgid "expired"
 msgstr "expirée"
 
-#: g10/keyedit.c:4098
+#: g10/keyedit.c:4099
 #, c-format
 msgid ""
 "WARNING: no user ID has been marked as primary.  This command may\n"
@@ -4848,17 +4866,17 @@ msgstr ""
 "commande\n"
 "            risque de rendre une autre identité principale par défaut.\n"
 
-#: g10/keyedit.c:4150
+#: g10/keyedit.c:4151
 #, c-format
 msgid "WARNING: Your encryption subkey expires soon.\n"
 msgstr "Attention : votre sous-clef de chiffrement expire bientôt.\n"
 
-#: g10/keyedit.c:4151
+#: g10/keyedit.c:4152
 #, c-format
 msgid "You may want to change its expiration date too.\n"
 msgstr "Vous pourriez modifier aussi sa date d’expiration.\n"
 
-#: g10/keyedit.c:4210
+#: g10/keyedit.c:4211
 msgid ""
 "WARNING: This is a PGP2-style key.  Adding a photo ID may cause some "
 "versions\n"
@@ -4867,36 +4885,36 @@ msgstr ""
 "Attention : c'est une clef de type PGP 2. Ajouter une photo d'identité\n"
 "            peut forcer certaines versions de PGP à rejeter cette clef.\n"
 
-#: g10/keyedit.c:4215 g10/keyedit.c:4505
+#: g10/keyedit.c:4216 g10/keyedit.c:4506
 msgid "Are you sure you still want to add it? (y/N) "
 msgstr "Voulez-vous vraiment toujours l'ajouter ? (o/N) "
 
-#: g10/keyedit.c:4221
+#: g10/keyedit.c:4222
 msgid "You may not add a photo ID to a PGP2-style key.\n"
 msgstr ""
 "Vous ne devriez pas ajouter de photo d'identité à une clef de type PGP 2.\n"
 
-#: g10/keyedit.c:4236 g10/keygen.c:2899
+#: g10/keyedit.c:4237 g10/keygen.c:2899
 msgid "Such a user ID already exists on this key!\n"
 msgstr "Cette identité existe déjà pour cette clef.\n"
 
-#: g10/keyedit.c:4338
+#: g10/keyedit.c:4339
 msgid "Delete this good signature? (y/N/q)"
 msgstr "Supprimer cette bonne signature ? (o/N/q)"
 
-#: g10/keyedit.c:4348
+#: g10/keyedit.c:4349
 msgid "Delete this invalid signature? (y/N/q)"
 msgstr "Supprimer cette signature incorrecte ? (o/N/q)"
 
-#: g10/keyedit.c:4352
+#: g10/keyedit.c:4353
 msgid "Delete this unknown signature? (y/N/q)"
 msgstr "Supprimer cette signature inconnue ? (o/N/q)"
 
-#: g10/keyedit.c:4359
+#: g10/keyedit.c:4360
 msgid "Really delete this self-signature? (y/N)"
 msgstr "Faut-il vraiment supprimer cette autosignature ? (o/N)"
 
-#: g10/keyedit.c:4375
+#: g10/keyedit.c:4376
 #, fuzzy, c-format
 #| msgid "Deleted %d signature.\n"
 msgid "Deleted %d signature.\n"
@@ -4904,20 +4922,20 @@ msgid_plural "Deleted %d signatures.\n"
 msgstr[0] "%d signature supprimée.\n"
 msgstr[1] "%d signature supprimée.\n"
 
-#: g10/keyedit.c:4379
+#: g10/keyedit.c:4380
 msgid "Nothing deleted.\n"
 msgstr "Rien n'a été supprimé.\n"
 
-#: g10/keyedit.c:4414
+#: g10/keyedit.c:4415
 msgid "invalid"
 msgstr "incorrecte"
 
-#: g10/keyedit.c:4416
+#: g10/keyedit.c:4417
 #, c-format
 msgid "User ID \"%s\" compacted: %s\n"
 msgstr "Identité « %s » compactée : %s\n"
 
-#: g10/keyedit.c:4422
+#: g10/keyedit.c:4423
 #, fuzzy, c-format
 #| msgid "User ID \"%s\": %d signature removed\n"
 msgid "User ID \"%s\": %d signature removed\n"
@@ -4925,17 +4943,17 @@ msgid_plural "User ID \"%s\": %d signatures removed\n"
 msgstr[0] "Identité « %s » : %d signature supprimée\n"
 msgstr[1] "Identité « %s » : %d signature supprimée\n"
 
-#: g10/keyedit.c:4430
+#: g10/keyedit.c:4431
 #, c-format
 msgid "User ID \"%s\": already minimized\n"
 msgstr "Identité « %s » : déjà minimisée\n"
 
-#: g10/keyedit.c:4431
+#: g10/keyedit.c:4432
 #, c-format
 msgid "User ID \"%s\": already clean\n"
 msgstr "Identité « %s » : déjà nettoyée\n"
 
-#: g10/keyedit.c:4500
+#: g10/keyedit.c:4501
 msgid ""
 "WARNING: This is a PGP 2.x-style key.  Adding a designated revoker may "
 "cause\n"
@@ -4944,46 +4962,46 @@ msgstr ""
 "Attention : c'est une clef de type PGP 2.x. Ajouter un révocateur désigné\n"
 "            peut forcer certaines versions de PGP à rejeter cette clef.\n"
 
-#: g10/keyedit.c:4511
+#: g10/keyedit.c:4512
 msgid "You may not add a designated revoker to a PGP 2.x-style key.\n"
 msgstr ""
 "Vous ne pouvez pas ajouter de révocateur désigné à une clef de type PGP 2."
 "x.\n"
 
-#: g10/keyedit.c:4528
+#: g10/keyedit.c:4529
 msgid "Enter the user ID of the designated revoker: "
 msgstr "Entrez l'identité du révocateur désigné : "
 
-#: g10/keyedit.c:4554
+#: g10/keyedit.c:4555
 #, c-format
 msgid "cannot appoint a PGP 2.x style key as a designated revoker\n"
 msgstr ""
 "impossible d'utiliser une clef de type PGP 2.x comme révocateur désigné.\n"
 
-#: g10/keyedit.c:4569
+#: g10/keyedit.c:4570
 #, c-format
 msgid "you cannot appoint a key as its own designated revoker\n"
 msgstr ""
 "vous ne pouvez pas utiliser une clef comme son propre révocateur désigné\n"
 
-#: g10/keyedit.c:4591
+#: g10/keyedit.c:4592
 #, c-format
 msgid "this key has already been designated as a revoker\n"
 msgstr "cette clef à déjà été désignée comme un révocateur\n"
 
-#: g10/keyedit.c:4609
+#: g10/keyedit.c:4610
 msgid "WARNING: appointing a key as a designated revoker cannot be undone!\n"
 msgstr ""
 "Attention : l'établissement d'une clef comme révocateur désigné\n"
 "            est irréversible.\n"
 
-#: g10/keyedit.c:4615
+#: g10/keyedit.c:4616
 msgid ""
 "Are you sure you want to appoint this key as a designated revoker? (y/N) "
 msgstr ""
 "Voulez-vous vraiment rendre cette clef comme révocateur désigné ? (o/N) "
 
-#: g10/keyedit.c:4683
+#: g10/keyedit.c:4684
 #, fuzzy
 #| msgid ""
 #| "Are you sure you want to appoint this key as a designated revoker? (y/N) "
@@ -4993,181 +5011,181 @@ msgid ""
 msgstr ""
 "Voulez-vous vraiment rendre cette clef comme révocateur désigné ? (o/N) "
 
-#: g10/keyedit.c:4688
+#: g10/keyedit.c:4689
 msgid "Changing expiration time for a subkey.\n"
 msgstr "Modification de la date d'expiration d'une sous-clef.\n"
 
-#: g10/keyedit.c:4691
+#: g10/keyedit.c:4692
 msgid "Changing expiration time for the primary key.\n"
 msgstr "Modification de la date d'expiration de la clef principale.\n"
 
-#: g10/keyedit.c:4747
+#: g10/keyedit.c:4748
 #, c-format
 msgid "You can't change the expiration date of a v3 key\n"
 msgstr "Vous ne pouvez pas modifier la date d'expiration d'une clef v3\n"
 
-#: g10/keyedit.c:4807
+#: g10/keyedit.c:4808
 #, fuzzy
 #| msgid "Changing expiration time for a subkey.\n"
 msgid "Changing usage of a subkey.\n"
 msgstr "Modification de la date d'expiration d'une sous-clef.\n"
 
-#: g10/keyedit.c:4810
+#: g10/keyedit.c:4811
 #, fuzzy
 #| msgid "Changing expiration time for the primary key.\n"
 msgid "Changing usage of the primary key.\n"
 msgstr "Modification de la date d'expiration de la clef principale.\n"
 
-#: g10/keyedit.c:4928
+#: g10/keyedit.c:4929
 #, c-format
 msgid "signing subkey %s is already cross-certified\n"
 msgstr "la sous-clef de signature %s a déjà une certification croisée\n"
 
-#: g10/keyedit.c:4934
+#: g10/keyedit.c:4935
 #, c-format
 msgid "subkey %s does not sign and so does not need to be cross-certified\n"
 msgstr ""
 "la sous-clef %s ne signe pas et n'a donc pas besoin de certification "
 "croisée\n"
 
-#: g10/keyedit.c:5051
+#: g10/keyedit.c:5052
 msgid "Please select exactly one user ID.\n"
 msgstr "Veuillez sélectionner exactement une identité.\n"
 
-#: g10/keyedit.c:5092 g10/keyedit.c:5206 g10/keyedit.c:5319 g10/keyedit.c:5457
+#: g10/keyedit.c:5093 g10/keyedit.c:5207 g10/keyedit.c:5320 g10/keyedit.c:5458
 #, c-format
 msgid "skipping v3 self-signature on user ID \"%s\"\n"
 msgstr "l'autosignature v3 de l'identité « %s » a été ignorée\n"
 
-#: g10/keyedit.c:5263
+#: g10/keyedit.c:5264
 msgid "Enter your preferred keyserver URL: "
 msgstr "Entrez l'URL de votre serveur de clefs favori : "
 
-#: g10/keyedit.c:5342
+#: g10/keyedit.c:5343
 msgid "Are you sure you want to replace it? (y/N) "
 msgstr "Voulez-vous vraiment le remplacer ? (o/N) "
 
-#: g10/keyedit.c:5343
+#: g10/keyedit.c:5344
 msgid "Are you sure you want to delete it? (y/N) "
 msgstr "Voulez-vous vraiment le supprimer ? (o/N) "
 
-#: g10/keyedit.c:5403
+#: g10/keyedit.c:5404
 msgid "Enter the notation: "
 msgstr "Entrez la notation : "
 
-#: g10/keyedit.c:5550
+#: g10/keyedit.c:5551
 msgid "Proceed? (y/N) "
 msgstr "Faut-il continuer ? (o/N) "
 
-#: g10/keyedit.c:5620
+#: g10/keyedit.c:5621
 #, c-format
 msgid "No user ID with index %d\n"
 msgstr "Pas d'identité d'indice %d\n"
 
-#: g10/keyedit.c:5682
+#: g10/keyedit.c:5683
 #, c-format
 msgid "No user ID with hash %s\n"
 msgstr "Pas d'identité avec le hachage %s\n"
 
-#: g10/keyedit.c:5783
+#: g10/keyedit.c:5784
 #, fuzzy, c-format
 #| msgid "No subkey with index %d\n"
 msgid "No subkey with key ID '%s'.\n"
 msgstr "Pas de sous-clef d'indice %d\n"
 
-#: g10/keyedit.c:5805
+#: g10/keyedit.c:5806
 #, c-format
 msgid "No subkey with index %d\n"
 msgstr "Pas de sous-clef d'indice %d\n"
 
-#: g10/keyedit.c:5946
+#: g10/keyedit.c:5947
 #, c-format
 msgid "user ID: \"%s\"\n"
 msgstr "identité : « %s »\n"
 
-#: g10/keyedit.c:5949 g10/keyedit.c:6051 g10/keyedit.c:6099
+#: g10/keyedit.c:5950 g10/keyedit.c:6052 g10/keyedit.c:6100
 #, c-format
 msgid "signed by your key %s on %s%s%s\n"
 msgstr "signée par votre clef %s le %s%s%s\n"
 
-#: g10/keyedit.c:5951 g10/keyedit.c:6053 g10/keyedit.c:6101
+#: g10/keyedit.c:5952 g10/keyedit.c:6054 g10/keyedit.c:6102
 msgid " (non-exportable)"
 msgstr " (non exportable)"
 
-#: g10/keyedit.c:5955
+#: g10/keyedit.c:5956
 #, c-format
 msgid "This signature expired on %s.\n"
 msgstr "Cette signature a expiré le %s.\n"
 
-#: g10/keyedit.c:5960
+#: g10/keyedit.c:5961
 msgid "Are you sure you still want to revoke it? (y/N) "
 msgstr "Voulez-vous vraiment toujours la révoquer ? (o/N) "
 
-#: g10/keyedit.c:5965
+#: g10/keyedit.c:5966
 msgid "Create a revocation certificate for this signature? (y/N) "
 msgstr ""
 "Faut-il créer un certificat de révocation pour cette signature ? (o/N) "
 
-#: g10/keyedit.c:6025
+#: g10/keyedit.c:6026
 #, c-format
 msgid "You have signed these user IDs on key %s:\n"
 msgstr "Vous avez signé ces identités sur la clef %s :\n"
 
-#: g10/keyedit.c:6054
+#: g10/keyedit.c:6055
 msgid " (non-revocable)"
 msgstr " (non révocable)"
 
-#: g10/keyedit.c:6061
+#: g10/keyedit.c:6062
 #, c-format
 msgid "revoked by your key %s on %s\n"
 msgstr "révoquée par votre clef %s le %s\n"
 
-#: g10/keyedit.c:6086
+#: g10/keyedit.c:6087
 msgid "You are about to revoke these signatures:\n"
 msgstr "Vous êtes sur le point de révoquer ces signatures :\n"
 
-#: g10/keyedit.c:6109
+#: g10/keyedit.c:6110
 msgid "Really create the revocation certificates? (y/N) "
 msgstr "Faut-il vraiment créer les certificats de révocation ? (o/N) "
 
-#: g10/keyedit.c:6142
+#: g10/keyedit.c:6143
 #, c-format
 msgid "no secret key\n"
 msgstr "pas de clef secrète\n"
 
-#: g10/keyedit.c:6190
+#: g10/keyedit.c:6191
 #, c-format
 msgid "tried to revoke a non-user ID: %s\n"
 msgstr ""
 
-#: g10/keyedit.c:6200
+#: g10/keyedit.c:6201
 #, c-format
 msgid "user ID \"%s\" is already revoked\n"
 msgstr "l'identité « %s »\" est déjà révoquée.\n"
 
-#: g10/keyedit.c:6217
+#: g10/keyedit.c:6218
 #, c-format
 msgid "WARNING: a user ID signature is dated %d seconds in the future\n"
 msgstr ""
 "Attention : une signature d'identité date de %d secondes dans le futur\n"
 
-#: g10/keyedit.c:6313
+#: g10/keyedit.c:6314
 #, fuzzy, c-format
 #| msgid "You can't delete the last user ID!\n"
 msgid "Cannot revoke the last valid user ID.\n"
 msgstr "Vous ne pouvez pas supprimer la dernière identité.\n"
 
-#: g10/keyedit.c:6351
+#: g10/keyedit.c:6352
 #, c-format
 msgid "Key %s is already revoked.\n"
 msgstr "La clef %s est déjà révoqué.\n"
 
-#: g10/keyedit.c:6413
+#: g10/keyedit.c:6414
 #, c-format
 msgid "Subkey %s is already revoked.\n"
 msgstr "La sous-clef %s est déjà révoquée.\n"
 
-#: g10/keyedit.c:6510
+#: g10/keyedit.c:6511
 #, c-format
 msgid "Displaying %s photo ID of size %ld for key %s (uid %d)\n"
 msgstr ""
@@ -5903,25 +5921,25 @@ msgstr ""
 "respecter l'enregistrement PKA positionné sur une clef en récupérant les "
 "clefs"
 
-#: g10/keyserver.c:550
+#: g10/keyserver.c:373
 msgid "disabled"
 msgstr "désactivée"
 
-#: g10/keyserver.c:754
+#: g10/keyserver.c:577
 msgid "Enter number(s), N)ext, or Q)uit > "
 msgstr "Entrez le ou les nombres, (S)uivant, ou (Q)uitter > "
 
-#: g10/keyserver.c:860
+#: g10/keyserver.c:683
 #, c-format
 msgid "invalid keyserver protocol (us %d!=handler %d)\n"
 msgstr "protocole de serveur de clefs incorrect (nous %d!=gestionnaire %d)\n"
 
-#: g10/keyserver.c:1001 g10/keyserver.c:1116
+#: g10/keyserver.c:824 g10/keyserver.c:939
 #, c-format
 msgid "\"%s\" not a key ID: skipping\n"
 msgstr "« %s » n'est pas un identifiant de clef : ignoré\n"
 
-#: g10/keyserver.c:1438 g10/keyserver.c:1471
+#: g10/keyserver.c:1237 g10/keyserver.c:1270
 #, fuzzy, c-format
 #| msgid "refreshing %d keys from %s\n"
 msgid "refreshing %d key from %s\n"
@@ -5929,55 +5947,50 @@ msgid_plural "refreshing %d keys from %s\n"
 msgstr[0] "rafraîchissement de %d clefs à partir de %s\n"
 msgstr[1] "rafraîchissement de %d clefs à partir de %s\n"
 
-#: g10/keyserver.c:1445
+#: g10/keyserver.c:1244
 #, c-format
 msgid "WARNING: unable to refresh key %s via %s: %s\n"
 msgstr ""
 "Attention : impossible de rafraîchir la clef %s\n"
 "            avec %s : %s\n"
 
-#: g10/keyserver.c:1549
+#: g10/keyserver.c:1336
 #, c-format
 msgid "key \"%s\" not found on keyserver\n"
 msgstr "clef « %s » introuvable sur le serveur de clefs\n"
 
-#: g10/keyserver.c:1552
+#: g10/keyserver.c:1339
 #, c-format
 msgid "key not found on keyserver\n"
 msgstr "clef introuvable sur le serveur de clefs\n"
 
-#: g10/keyserver.c:1743
-#, c-format
-msgid "requesting key %s from %s server %s\n"
-msgstr "demande de la clef %s sur le serveur %s %s\n"
-
-#: g10/keyserver.c:1747
+#: g10/keyserver.c:1504
 #, c-format
 msgid "requesting key %s from %s\n"
 msgstr "requête de la clef %s sur %s\n"
 
-#: g10/keyserver.c:1852 g10/keyserver.c:2031
+#: g10/keyserver.c:1619 g10/keyserver.c:1798
 #, fuzzy, c-format
 #| msgid "no keyserver action!\n"
 msgid "no keyserver known\n"
 msgstr "pas d'action pour le serveur de clefs.\n"
 
-#: g10/keyserver.c:1867 g10/skclist.c:214 g10/skclist.c:242
+#: g10/keyserver.c:1634 g10/skclist.c:215 g10/skclist.c:243
 #, c-format
 msgid "skipped \"%s\": %s\n"
 msgstr "« %s » a été ignorée : %s\n"
 
-#: g10/keyserver.c:1871
+#: g10/keyserver.c:1638
 #, c-format
 msgid "sending key %s to %s\n"
 msgstr "envoi de la clef %s à %s\n"
 
-#: g10/keyserver.c:1912
+#: g10/keyserver.c:1679
 #, c-format
 msgid "requesting key from '%s'\n"
 msgstr "requête de la clef sur « %s »\n"
 
-#: g10/keyserver.c:1928
+#: g10/keyserver.c:1695
 #, c-format
 msgid "WARNING: unable to fetch URI %s: %s\n"
 msgstr "Attention : impossible de récupérer l'URI %s : %s\n"
@@ -5992,247 +6005,247 @@ msgstr "taille étonnante pour une clef de session chiffrée (%d)\n"
 msgid "%s encrypted session key\n"
 msgstr "clef de session chiffrée %s\n"
 
-#: g10/mainproc.c:400
+#: g10/mainproc.c:403
 #, c-format
 msgid "passphrase generated with unknown digest algorithm %d\n"
 msgstr "phrase secrète générée avec l'algorithme de hachage %d inconnu\n"
 
-#: g10/mainproc.c:481
+#: g10/mainproc.c:485
 #, c-format
 msgid "public key is %s\n"
 msgstr "la clef publique est %s\n"
 
-#: g10/mainproc.c:557
+#: g10/mainproc.c:561
 #, c-format
 msgid "public key encrypted data: good DEK\n"
 msgstr ""
 "données chiffrées par clef publique : bonne clef de chiffrement (DEK)\n"
 
-#: g10/mainproc.c:590
+#: g10/mainproc.c:594
 #, c-format
 msgid "encrypted with %u-bit %s key, ID %s, created %s\n"
 msgstr ""
 "chiffré avec une clef %2$s de %1$u bits, identifiant %3$s, créée le %4$s\n"
 
-#: g10/mainproc.c:594 g10/pkclist.c:228
+#: g10/mainproc.c:598 g10/pkclist.c:228
 #, c-format
 msgid "      \"%s\"\n"
 msgstr "      « %s »\n"
 
-#: g10/mainproc.c:598
+#: g10/mainproc.c:602
 #, c-format
 msgid "encrypted with %s key, ID %s\n"
 msgstr "chiffré avec une clef %s, identifiant %s\n"
 
-#: g10/mainproc.c:619
+#: g10/mainproc.c:623
 #, c-format
 msgid "public key decryption failed: %s\n"
 msgstr "échec du déchiffrement par clef publique : %s\n"
 
-#: g10/mainproc.c:641 g10/mainproc.c:970
+#: g10/mainproc.c:645 g10/mainproc.c:976
 #, c-format
 msgid "WARNING: multiple plaintexts seen\n"
 msgstr "Attention : plusieurs textes en clair ont été vus\n"
 
-#: g10/mainproc.c:649
+#: g10/mainproc.c:653
 #, c-format
 msgid "encrypted with %lu passphrases\n"
 msgstr "chiffré avec %lu phrases secrètes\n"
 
-#: g10/mainproc.c:651
+#: g10/mainproc.c:655
 #, c-format
 msgid "encrypted with 1 passphrase\n"
 msgstr "chiffré avec 1 phrase secrète\n"
 
-#: g10/mainproc.c:685 g10/mainproc.c:706
+#: g10/mainproc.c:689 g10/mainproc.c:710
 #, c-format
 msgid "assuming %s encrypted data\n"
 msgstr "les données sont supposées chiffrées avec %s\n"
 
-#: g10/mainproc.c:692
+#: g10/mainproc.c:696
 #, c-format
 msgid "IDEA cipher unavailable, optimistically attempting to use %s instead\n"
 msgstr ""
 "L'algorithme IDEA n'est pas disponible, essai avec %s\n"
 "qui fonctionnera peut-être avec un peu de chance\n"
 
-#: g10/mainproc.c:779 g10/mainproc.c:817
+#: g10/mainproc.c:785 g10/mainproc.c:823
 #, c-format
 msgid "WARNING: message was not integrity protected\n"
 msgstr "Attention : l'intégrité du message n'était pas protégée\n"
 
-#: g10/mainproc.c:790
+#: g10/mainproc.c:796
 msgid ""
 "Hint: If this message was created before the year 2003 it is\n"
 "likely that this message is legitimate.  This is because back\n"
 "then integrity protection was not widely used.\n"
 msgstr ""
 
-#: g10/mainproc.c:793
+#: g10/mainproc.c:799
 #, c-format
 msgid "Use the option '%s' to decrypt anyway.\n"
 msgstr ""
 
-#: g10/mainproc.c:798
+#: g10/mainproc.c:804
 #, fuzzy, c-format
 #| msgid "decryption failed: %s\n"
 msgid "decryption forced to fail!\n"
 msgstr "échec du déchiffrement : %s\n"
 
-#: g10/mainproc.c:810
+#: g10/mainproc.c:816
 #, c-format
 msgid "decryption okay\n"
 msgstr "le déchiffrement a réussi\n"
 
-#: g10/mainproc.c:823
+#: g10/mainproc.c:829
 #, c-format
 msgid "WARNING: encrypted message has been manipulated!\n"
 msgstr "Attention : le message chiffré a été manipulé.\n"
 
-#: g10/mainproc.c:841
+#: g10/mainproc.c:847
 #, c-format
 msgid "decryption failed: %s\n"
 msgstr "échec du déchiffrement : %s\n"
 
-#: g10/mainproc.c:886
+#: g10/mainproc.c:892
 #, c-format
 msgid "Note: sender requested \"for-your-eyes-only\"\n"
 msgstr "Remarque : l'expéditeur a demandé « à votre seule attention »\n"
 
-#: g10/mainproc.c:893
+#: g10/mainproc.c:899
 #, c-format
 msgid "original file name='%.*s'\n"
 msgstr "nom de fichier original : « %.*s »\n"
 
-#: g10/mainproc.c:1148
+#: g10/mainproc.c:1154
 #, c-format
 msgid "standalone revocation - use \"gpg --import\" to apply\n"
 msgstr "révocation autonome — utilisez « gpg --import » pour l'appliquer\n"
 
-#: g10/mainproc.c:1452 g10/mainproc.c:1495
+#: g10/mainproc.c:1458 g10/mainproc.c:1501
 #, c-format
 msgid "no signature found\n"
 msgstr "aucune signature trouvée\n"
 
-#: g10/mainproc.c:1852
+#: g10/mainproc.c:1858
 #, c-format
 msgid "BAD signature from \"%s\""
 msgstr "MAUVAISE signature de « %s »"
 
-#: g10/mainproc.c:1854
+#: g10/mainproc.c:1860
 #, c-format
 msgid "Expired signature from \"%s\""
 msgstr "Signature expirée de « %s »"
 
-#: g10/mainproc.c:1856
+#: g10/mainproc.c:1862
 #, c-format
 msgid "Good signature from \"%s\""
 msgstr "Bonne signature de « %s »"
 
-#: g10/mainproc.c:1876
+#: g10/mainproc.c:1882
 #, c-format
 msgid "signature verification suppressed\n"
 msgstr "vérification de signature supprimée\n"
 
-#: g10/mainproc.c:1985
+#: g10/mainproc.c:1991
 #, c-format
 msgid "can't handle this ambiguous signature data\n"
 msgstr "impossible de traiter ces données ambiguës de signature\n"
 
-#: g10/mainproc.c:2001 g10/mainproc.c:2008
+#: g10/mainproc.c:2007 g10/mainproc.c:2014
 #, c-format
 msgid "Signature made %s\n"
 msgstr "Signature faite le %s\n"
 
-#: g10/mainproc.c:2002 g10/mainproc.c:2009 sm/verify.c:476
+#: g10/mainproc.c:2008 g10/mainproc.c:2015 sm/verify.c:476
 #, c-format
 msgid "               using %s key %s\n"
 msgstr "               avec la clef %s %s\n"
 
-#: g10/mainproc.c:2013
+#: g10/mainproc.c:2019
 #, c-format
 msgid "Signature made %s using %s key ID %s\n"
 msgstr "Signature faite le %s avec la clef %s d'identifiant %s\n"
 
-#: g10/mainproc.c:2019
+#: g10/mainproc.c:2025
 #, fuzzy, c-format
 #| msgid "                aka \"%s\""
 msgid "               issuer \"%s\"\n"
 msgstr "                alias « %s »"
 
-#: g10/mainproc.c:2070
+#: g10/mainproc.c:2076
 #, c-format
 msgid "Key available at: "
 msgstr "Clef disponible sur : "
 
-#: g10/mainproc.c:2111
+#: g10/mainproc.c:2118
 #, c-format
 msgid "Note: Use '%s' to make use of this info\n"
 msgstr ""
 
-#: g10/mainproc.c:2325
+#: g10/mainproc.c:2334
 msgid "[uncertain]"
 msgstr "[doute]"
 
-#: g10/mainproc.c:2363
+#: g10/mainproc.c:2372
 #, c-format
 msgid "                aka \"%s\""
 msgstr "                alias « %s »"
 
-#: g10/mainproc.c:2438
+#: g10/mainproc.c:2447
 #, fuzzy, c-format
 #| msgid "WARNING: This key is not certified with a trusted signature!\n"
 msgid "WARNING: This key is not suitable for signing in %s mode\n"
 msgstr ""
 "Attention : cette clef n'est pas certifiée avec une signature de confiance.\n"
 
-#: g10/mainproc.c:2456
+#: g10/mainproc.c:2465
 #, c-format
 msgid "Signature expired %s\n"
 msgstr "La signature a expiré le %s\n"
 
-#: g10/mainproc.c:2460
+#: g10/mainproc.c:2469
 #, c-format
 msgid "Signature expires %s\n"
 msgstr "La signature expire le %s\n"
 
-#: g10/mainproc.c:2471
+#: g10/mainproc.c:2480
 #, c-format
 msgid "%s signature, digest algorithm %s%s%s\n"
 msgstr "signature %s, algorithme de hachage %s%s%s\n"
 
-#: g10/mainproc.c:2472
+#: g10/mainproc.c:2481
 msgid "binary"
 msgstr "binaire"
 
-#: g10/mainproc.c:2473
+#: g10/mainproc.c:2482
 msgid "textmode"
 msgstr "mode texte"
 
-#: g10/mainproc.c:2473 g10/trust.c:123 dirmngr/ocsp.c:792
+#: g10/mainproc.c:2482 g10/trust.c:123 dirmngr/ocsp.c:792
 msgid "unknown"
 msgstr "inconnu"
 
-#: g10/mainproc.c:2475
+#: g10/mainproc.c:2484
 msgid ", key algorithm "
 msgstr ", algorithme de clef "
 
-#: g10/mainproc.c:2510
+#: g10/mainproc.c:2519
 #, c-format
 msgid "WARNING: not a detached signature; file '%s' was NOT verified!\n"
 msgstr ""
 
-#: g10/mainproc.c:2548
+#: g10/mainproc.c:2558
 #, c-format
 msgid "Can't check signature: %s\n"
 msgstr "Impossible de vérifier la signature : %s\n"
 
-#: g10/mainproc.c:2644 g10/mainproc.c:2663 g10/mainproc.c:2787
+#: g10/mainproc.c:2654 g10/mainproc.c:2673 g10/mainproc.c:2797
 #, c-format
 msgid "not a detached signature\n"
 msgstr "la signature n'est pas détachée\n"
 
-#: g10/mainproc.c:2697
+#: g10/mainproc.c:2707
 #, c-format
 msgid ""
 "WARNING: multiple signatures detected.  Only the first will be checked.\n"
@@ -6240,12 +6253,12 @@ msgstr ""
 "Attention : plusieurs signatures ont été détectées.\n"
 "            Seule la première sera vérifiée.\n"
 
-#: g10/mainproc.c:2706
+#: g10/mainproc.c:2716
 #, c-format
 msgid "standalone signature of class 0x%02x\n"
 msgstr "signature autonome de classe 0x%02x\n"
 
-#: g10/mainproc.c:2791
+#: g10/mainproc.c:2801
 #, c-format
 msgid "old style (PGP 2.x) signature\n"
 msgstr "signature d'un ancien type (PGP 2.x)\n"
@@ -6440,60 +6453,66 @@ msgstr "Notation de signature critique : "
 msgid "subpacket of type %d has critical bit set\n"
 msgstr "un sous-paquet de type %d possède un bit critique\n"
 
-#: g10/passphrase.c:73 g10/passphrase.c:275 g10/passphrase.c:308
+#: g10/passphrase.c:73 g10/passphrase.c:283 g10/passphrase.c:316
 #, c-format
 msgid "problem with the agent: %s\n"
 msgstr "problème avec l'agent : %s\n"
 
-#: g10/passphrase.c:258
+#: g10/passphrase.c:251 sm/decrypt.c:341
+#, fuzzy
+#| msgid "Please enter the new passphrase"
+msgid "Please enter the passphrase for decryption."
+msgstr "Veuillez entrer la nouvelle phrase secrète"
+
+#: g10/passphrase.c:253
 msgid "Enter passphrase\n"
 msgstr "Entrez la phrase secrète\n"
 
-#: g10/passphrase.c:269
+#: g10/passphrase.c:277
 #, c-format
 msgid "cancelled by user\n"
 msgstr "annulé par l'utilisateur\n"
 
-#: g10/passphrase.c:510
+#: g10/passphrase.c:523
 #, c-format
 msgid " (main key ID %s)"
 msgstr " (identifiant de clef principale %s)"
 
-#: g10/passphrase.c:517
+#: g10/passphrase.c:530
 msgid "Please enter the passphrase to unlock the OpenPGP secret key:"
 msgstr ""
 "Veuillez entrer la phrase secrète pour déverrouiller la clef secrète "
 "OpenPGP :"
 
-#: g10/passphrase.c:521
+#: g10/passphrase.c:534
 msgid "Please enter the passphrase to import the OpenPGP secret key:"
 msgstr ""
 "Veuillez entrer la phrase secrète pour importer la clef secrète OpenPGP :"
 
-#: g10/passphrase.c:526
+#: g10/passphrase.c:539
 msgid "Please enter the passphrase to export the OpenPGP secret subkey:"
 msgstr ""
 "Veuillez entrer la phrase secrète pour exporter la sous-clef secrète "
 "OpenPGP :"
 
-#: g10/passphrase.c:529
+#: g10/passphrase.c:542
 msgid "Please enter the passphrase to export the OpenPGP secret key:"
 msgstr ""
 "Veuillez entrer la phrase secrète pour exporter la clef secrète OpenPGP :"
 
 # NOTE:  s/subkey key/subkey/
-#: g10/passphrase.c:534
+#: g10/passphrase.c:547
 msgid "Do you really want to permanently delete the OpenPGP secret subkey key:"
 msgstr ""
 "Voulez-vous vraiment supprimer de façon permanente la sous-clef secrète "
 "OpenPGP :"
 
-#: g10/passphrase.c:537
+#: g10/passphrase.c:550
 msgid "Do you really want to permanently delete the OpenPGP secret key:"
 msgstr ""
 "Voulez-vous vraiment supprimer de façon permanente la clef secrète OpenPGP :"
 
-#: g10/passphrase.c:546
+#: g10/passphrase.c:559
 #, c-format
 msgid ""
 "%s\n"
@@ -6549,7 +6568,7 @@ msgstr "« %s » n'est pas un fichier JPEG\n"
 msgid "Is this photo correct (y/N/q)? "
 msgstr "Cette photo est-elle correcte (o/N/q) ? "
 
-#: g10/photoid.c:395
+#: g10/photoid.c:399
 #, c-format
 msgid "unable to display photo ID!\n"
 msgstr "impossible d'afficher la photo d'identité.\n"
@@ -6917,7 +6936,7 @@ msgstr "impossible d'ouvrir les données signées « %s »\n"
 msgid "can't open signed data fd=%d: %s\n"
 msgstr "impossible d'ouvrir les données signées fd=%d : %s\n"
 
-#: g10/pubkey-enc.c:98 g10/pubkey-enc.c:139 sm/decrypt.c:493
+#: g10/pubkey-enc.c:98 g10/pubkey-enc.c:139 sm/decrypt.c:969
 #, fuzzy, c-format
 #| msgid "certificate is not usable for encryption\n"
 msgid "key %s is not suitable for decryption in %s mode\n"
@@ -6933,30 +6952,30 @@ msgstr "destinataire anonyme ; essai avec clef secrète %s…\n"
 msgid "okay, we are the anonymous recipient.\n"
 msgstr "d'accord, nous sommes le destinataire anonyme.\n"
 
-#: g10/pubkey-enc.c:321
+#: g10/pubkey-enc.c:311
 #, c-format
 msgid "old encoding of the DEK is not supported\n"
 msgstr ""
 "l'ancien encodage de la clef de chiffrement (DEK) n'est pas pris en charge\n"
 
-#: g10/pubkey-enc.c:349
+#: g10/pubkey-enc.c:339
 #, c-format
 msgid "cipher algorithm %d%s is unknown or disabled\n"
 msgstr "l'algorithme de chiffrement %d%s est inconnu ou désactivé\n"
 
-#: g10/pubkey-enc.c:393
+#: g10/pubkey-enc.c:383
 #, c-format
 msgid "WARNING: cipher algorithm %s not found in recipient preferences\n"
 msgstr ""
 "Attention : l'algorithme de chiffrement %s est introuvable\n"
 "            dans les préférences du destinataire\n"
 
-#: g10/pubkey-enc.c:426
+#: g10/pubkey-enc.c:416
 #, c-format
 msgid "Note: secret key %s expired at %s\n"
 msgstr "Remarque : la clef secrète %s a expiré le %s\n"
 
-#: g10/pubkey-enc.c:433
+#: g10/pubkey-enc.c:423
 #, c-format
 msgid "Note: key has been revoked"
 msgstr "Remarque : la clef a été révoquée"
@@ -7309,7 +7328,7 @@ msgstr ""
 msgid "%s/%s signature from: \"%s\"\n"
 msgstr "%s/%s signature de : « %s »\n"
 
-#: g10/sign.c:1046
+#: g10/sign.c:1045
 #, c-format
 msgid ""
 "WARNING: forcing digest algorithm %s (%d) violates recipient preferences\n"
@@ -7317,34 +7336,34 @@ msgstr ""
 "Attention : forcer l'algorithme de hachage %s (%d) est en\n"
 "            désaccord avec les préférences du destinataire\n"
 
-#: g10/sign.c:1188
+#: g10/sign.c:1187
 #, c-format
 msgid "signing:"
 msgstr "signature :"
 
-#: g10/sign.c:1465
+#: g10/sign.c:1464
 #, c-format
 msgid "%s encryption will be used\n"
 msgstr "le chiffrement %s sera utilisé\n"
 
-#: g10/skclist.c:173 g10/skclist.c:254
+#: g10/skclist.c:174 g10/skclist.c:255
 #, c-format
 msgid "key is not flagged as insecure - can't use it with the faked RNG!\n"
 msgstr ""
 "la clef n'est pas marquée comme non sécurisée — elle ne peut pas être\n"
 "utilisée avec le soi-disant générateur de nombres aléatoires.\n"
 
-#: g10/skclist.c:205
+#: g10/skclist.c:206
 #, c-format
 msgid "skipped \"%s\": duplicated\n"
 msgstr "« %s » a été ignorée : en double\n"
 
-#: g10/skclist.c:224
+#: g10/skclist.c:225
 #, c-format
 msgid "skipped: secret key already present\n"
 msgstr "ignoré : clef secrète déjà présente\n"
 
-#: g10/skclist.c:243
+#: g10/skclist.c:244
 msgid "this is a PGP generated Elgamal key which is not secure for signatures!"
 msgstr ""
 "c'est une clef Elgamal générée par PGP qui n'est pas sûre pour les "
@@ -7400,7 +7419,7 @@ msgstr "erreur de lecture dans « %s » : %s\n"
 msgid "trustdb: sync failed: %s\n"
 msgstr "base de confiance : échec de synchronisation : %s\n"
 
-#: g10/tdbio.c:144 sm/keydb.c:336
+#: g10/tdbio.c:144 sm/keydb.c:335
 #, c-format
 msgid "can't create lock for '%s'\n"
 msgstr "impossible de créer un verrou pour « %s »\n"
@@ -8160,41 +8179,53 @@ msgstr ""
 #. TRANSLATORS: Put a \x1f right before a colon.  This can be
 #. * used by pinentry to nicely align the names and values.  Keep
 #. * the %s at the start and end of the string.
-#: scd/app-p15.c:3369 scd/app-openpgp.c:2153
+#: scd/app-p15.c:4955 scd/app-openpgp.c:2151
 #, c-format
 msgid "%sNumber\1f: %s%%0AHolder\1f: %s%s"
 msgstr ""
 
 #. TRANSLATORS: This is the number of remaining attempts to
 #. * enter a PIN.  Use %%0A (double-percent,0A) for a linefeed.
-#: scd/app-p15.c:3388 scd/app-openpgp.c:2169
+#: scd/app-p15.c:4974 scd/app-openpgp.c:2167
 #, c-format
 msgid "Remaining attempts: %d"
 msgstr ""
 
-#: scd/app-p15.c:3459 scd/app-nks.c:1110
+#: scd/app-p15.c:5053 scd/app-nks.c:1113
 msgid "||Please enter the PIN for the key to create qualified signatures."
 msgstr ""
 "||Veuillez entrer le code personnel pour permettre à la clef de créer des "
 "signatures qualifiées."
 
-#: scd/app-p15.c:3462 scd/app-nks.c:1092
+#. TRANSLATORS: Do not translate the "|A|" prefix but keep it at
+#. the start of the string.  Use %0A (single percent) for a linefeed.
+#: scd/app-p15.c:5056 scd/app-openpgp.c:2461
+msgid "|A|Please enter the Admin PIN"
+msgstr "|A|Veuillez entrer le code personnel d'administration"
+
+#: scd/app-p15.c:5058 scd/app-nks.c:1103
+msgid "|P|Please enter the PIN Unblocking Code (PUK) for the standard keys."
+msgstr ""
+"|P|Veuillez entrer le code de déblocage personnel (CDP) pour les clefs "
+"standards."
+
+#: scd/app-p15.c:5061 scd/app-nks.c:1095
 msgid "||Please enter the PIN for the standard keys."
 msgstr "||Veuillez entrer le code personnel pour les clefs standards."
 
-#: scd/app-nks.c:709 scd/app-openpgp.c:3664
+#: scd/app-nks.c:709 scd/app-openpgp.c:3663
 #, c-format
 msgid "RSA modulus missing or not of size %d bits\n"
 msgstr "le module RSA est manquant ou sa taille n'est pas de %d bits\n"
 
-#: scd/app-nks.c:717 scd/app-openpgp.c:3676
+#: scd/app-nks.c:717 scd/app-openpgp.c:3675
 #, c-format
 msgid "RSA public exponent missing or larger than %d bits\n"
 msgstr "l'exposant public RSA est manquant ou plus grand que %d bits\n"
 
-#: scd/app-nks.c:797 scd/app-openpgp.c:2326 scd/app-openpgp.c:2345
-#: scd/app-openpgp.c:2512 scd/app-openpgp.c:2530 scd/app-openpgp.c:2827
-#: scd/app-openpgp.c:2874 scd/app-openpgp.c:2989 scd/app-dinsig.c:303
+#: scd/app-nks.c:797 scd/app-openpgp.c:2324 scd/app-openpgp.c:2343
+#: scd/app-openpgp.c:2510 scd/app-openpgp.c:2528 scd/app-openpgp.c:2826
+#: scd/app-openpgp.c:2873 scd/app-openpgp.c:2988 scd/app-dinsig.c:302
 #, c-format
 msgid "PIN callback returned error: %s\n"
 msgstr "le rappel du code personnel a renvoyé une erreur : %s\n"
@@ -8204,29 +8235,23 @@ msgstr "le rappel du code personnel a renvoyé une erreur : %s\n"
 msgid "the NullPIN has not yet been changed\n"
 msgstr "le code personnel nul n'a pas encore été modifié\n"
 
-#: scd/app-nks.c:1091
+#: scd/app-nks.c:1094
 msgid "|N|Please enter a new PIN for the standard keys."
 msgstr "|N|Veuillez entrer un nouveau code personnel pour les clefs standards."
 
-#: scd/app-nks.c:1098
+#: scd/app-nks.c:1101
 msgid "|NP|Please enter a new PIN Unblocking Code (PUK) for the standard keys."
 msgstr ""
 "|NP|Veuillez entrer un nouveau code de déblocage personnel (CDP) pour les "
 "clefs standards."
 
-#: scd/app-nks.c:1100
-msgid "|P|Please enter the PIN Unblocking Code (PUK) for the standard keys."
-msgstr ""
-"|P|Veuillez entrer le code de déblocage personnel (CDP) pour les clefs "
-"standards."
-
-#: scd/app-nks.c:1108
+#: scd/app-nks.c:1111
 msgid "|N|Please enter a new PIN for the key to create qualified signatures."
 msgstr ""
 "|N|Veuillez entrer un nouveau code personnel pour permettre à la clef de "
 "créer des signatures qualifiées."
 
-#: scd/app-nks.c:1118
+#: scd/app-nks.c:1121
 msgid ""
 "|NP|Please enter a new PIN Unblocking Code (PUK) for the key to create "
 "qualified signatures."
@@ -8234,7 +8259,7 @@ msgstr ""
 "|NP|Veuillez entrer un nouveau code de déblocage personnel (CDP) pour "
 "permettre à la clef de créer des signatures qualifiées."
 
-#: scd/app-nks.c:1120
+#: scd/app-nks.c:1123
 msgid ""
 "|P|Please enter the PIN Unblocking Code (PUK) for the key to create "
 "qualified signatures."
@@ -8242,48 +8267,48 @@ msgstr ""
 "|P|Veuillez entrer le code de déblocage personnel (CDP) pour permettre à la "
 "clef de créer des signatures qualifiées."
 
-#: scd/app-nks.c:1227 scd/app-openpgp.c:2908 scd/app-dinsig.c:531
+#: scd/app-nks.c:1230 scd/app-openpgp.c:2907 scd/app-dinsig.c:532
 #, c-format
 msgid "error getting new PIN: %s\n"
 msgstr "erreur de lecture du nouveau code personnel : %s\n"
 
-#: scd/app-openpgp.c:860
+#: scd/app-openpgp.c:859
 #, c-format
 msgid "failed to store the fingerprint: %s\n"
 msgstr "impossible de stocker l'empreinte : %s\n"
 
-#: scd/app-openpgp.c:873
+#: scd/app-openpgp.c:872
 #, c-format
 msgid "failed to store the creation date: %s\n"
 msgstr "impossible de stocker la date de création : %s\n"
 
-#: scd/app-openpgp.c:1272 scd/app-openpgp.c:2855 scd/app-openpgp.c:5020
+#: scd/app-openpgp.c:1268 scd/app-openpgp.c:2854 scd/app-openpgp.c:5025
 #, c-format
 msgid "error retrieving CHV status from card\n"
 msgstr "erreur de récupération de l'état CHV de la carte\n"
 
-#: scd/app-openpgp.c:1430
+#: scd/app-openpgp.c:1426
 #, c-format
 msgid "response does not contain the RSA modulus\n"
 msgstr "la réponse ne contient pas le module RSA\n"
 
-#: scd/app-openpgp.c:1437
+#: scd/app-openpgp.c:1433
 #, c-format
 msgid "response does not contain the RSA public exponent\n"
 msgstr "la réponse ne contient pas l'exposant public RSA\n"
 
-#: scd/app-openpgp.c:1547
+#: scd/app-openpgp.c:1543
 #, fuzzy, c-format
 #| msgid "response does not contain the EC public point\n"
 msgid "response does not contain the EC public key\n"
 msgstr "la réponse ne contient pas le point public EC\n"
 
-#: scd/app-openpgp.c:1665 scd/app-openpgp.c:4284
+#: scd/app-openpgp.c:1661 scd/app-openpgp.c:4283
 #, c-format
 msgid "response does not contain the public key data\n"
 msgstr "la réponse ne contient pas les données de clef publique\n"
 
-#: scd/app-openpgp.c:1772
+#: scd/app-openpgp.c:1768
 #, c-format
 msgid "reading public key failed: %s\n"
 msgstr "échec de lecture de clef publique : %s\n"
@@ -8291,48 +8316,48 @@ msgstr "échec de lecture de clef publique : %s\n"
 #. TRANSLATORS: Put a \x1f right before a colon.  This can be
 #. * used by pinentry to nicely align the names and values.  Keep
 #. * the %s at the start and end of the string.
-#: scd/app-openpgp.c:2140
+#: scd/app-openpgp.c:2138
 #, c-format
 msgid "%sNumber\1f: %s%%0AHolder\1f: %s%%0ACounter\1f: %lu%s"
 msgstr ""
 
-#: scd/app-openpgp.c:2280
+#: scd/app-openpgp.c:2278
 #, c-format
 msgid "using default PIN as %s\n"
 msgstr "utilisation du code personnel par défaut en tant que %s\n"
 
-#: scd/app-openpgp.c:2287
+#: scd/app-openpgp.c:2285
 #, c-format
 msgid "failed to use default PIN as %s: %s - disabling further default use\n"
 msgstr ""
 "impossible d'utiliser le code personnel par défaut en tant que %s :\n"
 "%s — désactivation de la prochaine utilisation par défaut\n"
 
-#: scd/app-openpgp.c:2300
+#: scd/app-openpgp.c:2298
 #, fuzzy
 #| msgid "||Please enter the PIN"
 msgid "||Please unlock the card"
 msgstr "||Veuillez entrer le code personnel"
 
-#: scd/app-openpgp.c:2352 scd/app-openpgp.c:2537 scd/app-openpgp.c:2834
+#: scd/app-openpgp.c:2350 scd/app-openpgp.c:2535 scd/app-openpgp.c:2833
 #, c-format
 msgid "PIN for CHV%d is too short; minimum length is %d\n"
 msgstr ""
 "le code personnel pour CHV%d est trop court ; la taille minimale\n"
 "est %d\n"
 
-#: scd/app-openpgp.c:2366 scd/app-openpgp.c:2413 scd/app-openpgp.c:2551
-#: scd/app-openpgp.c:4642
+#: scd/app-openpgp.c:2364 scd/app-openpgp.c:2411 scd/app-openpgp.c:2549
+#: scd/app-openpgp.c:4641
 #, c-format
 msgid "verify CHV%d failed: %s\n"
 msgstr "échec de vérification CHV%d : %s\n"
 
-#: scd/app-openpgp.c:2449 scd/app-openpgp.c:5029
+#: scd/app-openpgp.c:2447 scd/app-openpgp.c:5034
 #, c-format
 msgid "card is permanently locked!\n"
 msgstr "la carte est irrémédiablement bloquée.\n"
 
-#: scd/app-openpgp.c:2453
+#: scd/app-openpgp.c:2451
 #, fuzzy, c-format
 #| msgid "%d Admin PIN attempts remaining before card is permanently locked\n"
 msgid "%d Admin PIN attempt remaining before card is permanently locked\n"
@@ -8345,26 +8370,20 @@ msgstr[1] ""
 "il reste %d tentatives de code personnel d'administration\n"
 "avant que la carte ne soit irrémédiablement bloquée\n"
 
-#. TRANSLATORS: Do not translate the "|A|" prefix but keep it at
-#. the start of the string.  Use %0A (single percent) for a linefeed.
-#: scd/app-openpgp.c:2463
-msgid "|A|Please enter the Admin PIN"
-msgstr "|A|Veuillez entrer le code personnel d'administration"
-
-#: scd/app-openpgp.c:2484
+#: scd/app-openpgp.c:2482
 #, c-format
 msgid "access to admin commands is not configured\n"
 msgstr "l'accès aux commandes d'administration n'est pas configuré\n"
 
-#: scd/app-openpgp.c:2821
+#: scd/app-openpgp.c:2820
 msgid "||Please enter the PIN"
 msgstr "||Veuillez entrer le code personnel"
 
-#: scd/app-openpgp.c:2870
+#: scd/app-openpgp.c:2869
 msgid "||Please enter the Reset Code for the card"
 msgstr "||Veuillez entrer le code de réinitialisation pour la carte"
 
-#: scd/app-openpgp.c:2880 scd/app-openpgp.c:2941
+#: scd/app-openpgp.c:2879 scd/app-openpgp.c:2940
 #, c-format
 msgid "Reset Code is too short; minimum length is %d\n"
 msgstr ""
@@ -8374,92 +8393,92 @@ msgstr ""
 #. TRANSLATORS: Do not translate the "|*|" prefixes but
 #. keep it at the start of the string.  We need this elsewhere
 #. to get some infos on the string.
-#: scd/app-openpgp.c:2903
+#: scd/app-openpgp.c:2902
 msgid "|RN|New Reset Code"
 msgstr "|RN|Nouveau code de réinitialisation"
 
-#: scd/app-openpgp.c:2904
+#: scd/app-openpgp.c:2903
 msgid "|AN|New Admin PIN"
 msgstr "|AN|Nouveau code personnel d'administration"
 
-#: scd/app-openpgp.c:2904
+#: scd/app-openpgp.c:2903
 msgid "|N|New PIN"
 msgstr "|N|Nouveau code personnel"
 
-#: scd/app-openpgp.c:2985
+#: scd/app-openpgp.c:2984
 msgid "||Please enter the Admin PIN and New Admin PIN"
 msgstr ""
 "||Veuillez entrer le code personnel d'administration et le nouveau code "
 "personnel d'administration"
 
-#: scd/app-openpgp.c:2986
+#: scd/app-openpgp.c:2985
 msgid "||Please enter the PIN and New PIN"
 msgstr "||Veuillez entrer le code personnel et le nouveau code personnel"
 
-#: scd/app-openpgp.c:3048 scd/app-openpgp.c:4344
+#: scd/app-openpgp.c:3047 scd/app-openpgp.c:4343
 #, c-format
 msgid "error reading application data\n"
 msgstr "erreur de lecture des données d'application\n"
 
-#: scd/app-openpgp.c:3054 scd/app-openpgp.c:4351
+#: scd/app-openpgp.c:3053 scd/app-openpgp.c:4350
 #, c-format
 msgid "error reading fingerprint DO\n"
 msgstr "erreur de lecture de l'empreinte DO\n"
 
-#: scd/app-openpgp.c:3064
+#: scd/app-openpgp.c:3063
 #, c-format
 msgid "key already exists\n"
 msgstr "la clef existe déjà\n"
 
-#: scd/app-openpgp.c:3068
+#: scd/app-openpgp.c:3067
 #, c-format
 msgid "existing key will be replaced\n"
 msgstr "la clef existante sera remplacée\n"
 
-#: scd/app-openpgp.c:3070
+#: scd/app-openpgp.c:3069
 #, c-format
 msgid "generating new key\n"
 msgstr "génération d'une nouvelle clef\n"
 
-#: scd/app-openpgp.c:3072
+#: scd/app-openpgp.c:3071
 #, c-format
 msgid "writing new key\n"
 msgstr "écriture d'une nouvelle clef\n"
 
-#: scd/app-openpgp.c:3645 scd/app-openpgp.c:3997
+#: scd/app-openpgp.c:3644 scd/app-openpgp.c:3996
 #, c-format
 msgid "creation timestamp missing\n"
 msgstr "la date de création est manquant\n"
 
-#: scd/app-openpgp.c:3686 scd/app-openpgp.c:3694
+#: scd/app-openpgp.c:3685 scd/app-openpgp.c:3693
 #, c-format
 msgid "RSA prime %s missing or not of size %d bits\n"
 msgstr ""
 "le nombre premier RSA %s est manquant ou sa taille n'est pas de\n"
 "%d bits\n"
 
-#: scd/app-openpgp.c:3827 scd/app-openpgp.c:4104
+#: scd/app-openpgp.c:3826 scd/app-openpgp.c:4103
 #, c-format
 msgid "failed to store the key: %s\n"
 msgstr "impossible de stocker la clef : %s\n"
 
-#: scd/app-openpgp.c:3991
+#: scd/app-openpgp.c:3990
 #, fuzzy, c-format
 #| msgid "unsupported URI"
 msgid "unsupported curve\n"
 msgstr "URI non pris en charge"
 
-#: scd/app-openpgp.c:4261
+#: scd/app-openpgp.c:4260
 #, c-format
 msgid "please wait while key is being generated ...\n"
 msgstr "veuillez patienter pendant la génération de la clef…\n"
 
-#: scd/app-openpgp.c:4269
+#: scd/app-openpgp.c:4268
 #, c-format
 msgid "generating key failed\n"
 msgstr "échec de génération de la clef\n"
 
-#: scd/app-openpgp.c:4275
+#: scd/app-openpgp.c:4274
 #, fuzzy, c-format
 #| msgid "key generation completed (%d seconds)\n"
 msgid "key generation completed (%d second)\n"
@@ -8467,27 +8486,27 @@ msgid_plural "key generation completed (%d seconds)\n"
 msgstr[0] "la génération de clef est terminé (%d secondes)\n"
 msgstr[1] "la génération de clef est terminé (%d secondes)\n"
 
-#: scd/app-openpgp.c:4309
+#: scd/app-openpgp.c:4308
 #, c-format
 msgid "invalid structure of OpenPGP card (DO 0x93)\n"
 msgstr "structure de carte OpenPGP incorrecte (DO 0x93)\n"
 
-#: scd/app-openpgp.c:4359
+#: scd/app-openpgp.c:4358
 #, c-format
 msgid "fingerprint on card does not match requested one\n"
 msgstr "l'empreinte de la carte ne correspond pas à celle demandée\n"
 
-#: scd/app-openpgp.c:4558
+#: scd/app-openpgp.c:4557
 #, c-format
 msgid "card does not support digest algorithm %s\n"
 msgstr "la carte ne gère pas l'algorithme de hachage %s\n"
 
-#: scd/app-openpgp.c:4616
+#: scd/app-openpgp.c:4615
 #, c-format
 msgid "signatures created so far: %lu\n"
 msgstr "signatures créées jusqu'à présent : %lu\n"
 
-#: scd/app-openpgp.c:5034
+#: scd/app-openpgp.c:5039
 #, c-format
 msgid ""
 "verification of Admin PIN is currently prohibited through this command\n"
@@ -8495,13 +8514,13 @@ msgstr ""
 "la vérification du code personnel d'administration est actuellement\n"
 "interdite avec cette commande\n"
 
-#: scd/app-openpgp.c:5346 scd/app-openpgp.c:5357
+#: scd/app-openpgp.c:5351 scd/app-openpgp.c:5362
 #, c-format
 msgid "can't access %s - invalid OpenPGP card?\n"
 msgstr ""
 "impossible d'accéder à %s — la carte OpenPGP n'est peut-être pas valable\n"
 
-#: scd/app-dinsig.c:299
+#: scd/app-dinsig.c:298
 msgid "||Please enter your PIN at the reader's pinpad"
 msgstr ""
 "||Veuillez entrer votre code personnel sur le pavé numérique du lecteur"
@@ -8509,7 +8528,7 @@ msgstr ""
 #. TRANSLATORS: Do not translate the "|*|" prefixes but
 #. keep it at the start of the string.  We need this elsewhere
 #. to get some infos on the string.
-#: scd/app-dinsig.c:528
+#: scd/app-dinsig.c:529
 msgid "|N|Initial New PIN"
 msgstr "|N|Nouveau code personnel initial"
 
@@ -8517,7 +8536,7 @@ msgstr "|N|Nouveau code personnel initial"
 msgid "run in multi server mode (foreground)"
 msgstr "exécuter en mode multiserveur (premier plan)"
 
-#: scd/scdaemon.c:129 sm/gpgsm.c:345 dirmngr/dirmngr.c:187
+#: scd/scdaemon.c:129 sm/gpgsm.c:348 dirmngr/dirmngr.c:188
 msgid "|LEVEL|set the debugging level to LEVEL"
 msgstr "|NIVEAU|définir le niveau de débogage à NIVEAU"
 
@@ -8537,31 +8556,31 @@ msgstr "|NOM|utiliser NOM comme pilote ct-API"
 msgid "|NAME|use NAME as PC/SC driver"
 msgstr "|NOM|utiliser NOM comme pilote PC/SC"
 
-#: scd/scdaemon.c:145
+#: scd/scdaemon.c:146
 msgid "do not use the internal CCID driver"
 msgstr "ne pas utiliser le pilote CCID interne"
 
-#: scd/scdaemon.c:151
+#: scd/scdaemon.c:152
 msgid "|N|disconnect the card after N seconds of inactivity"
 msgstr "|N|déconnecter la carte après N secondes d'inactivité "
 
-#: scd/scdaemon.c:154
+#: scd/scdaemon.c:155
 msgid "do not use a reader's pinpad"
 msgstr "ne pas utiliser de pavé numérique du lecteur"
 
-#: scd/scdaemon.c:159
+#: scd/scdaemon.c:160
 msgid "deny the use of admin card commands"
 msgstr "refus d'utiliser les commandes d'administration de la carte"
 
-#: scd/scdaemon.c:162
+#: scd/scdaemon.c:163
 msgid "use variable length input for pinpad"
 msgstr "utiliser une entrée de taille variable pour le pavé numérique"
 
-#: scd/scdaemon.c:311
+#: scd/scdaemon.c:312
 msgid "Usage: @SCDAEMON@ [options] (-h for help)"
 msgstr "Utilisation : @SCDAEMON@ [options] (-h pour l'aide)"
 
-#: scd/scdaemon.c:313
+#: scd/scdaemon.c:314
 msgid ""
 "Syntax: scdaemon [options] [command [args]]\n"
 "Smartcard daemon for @GNUPG@\n"
@@ -8569,19 +8588,19 @@ msgstr ""
 "Syntaxe : scdaemon [options] [commande [arguments]]\n"
 "Démon de carte à puce pour @GNUPG@\n"
 
-#: scd/scdaemon.c:806
+#: scd/scdaemon.c:808
 #, c-format
 msgid "please use the option '--daemon' to run the program in the background\n"
 msgstr ""
 "veuillez utiliser l'option « --daemon » pour exécuter le programme\n"
 "en arrière-plan\n"
 
-#: scd/scdaemon.c:1183 dirmngr/dirmngr.c:2082
+#: scd/scdaemon.c:1185 dirmngr/dirmngr.c:2119
 #, c-format
 msgid "handler for fd %d started\n"
 msgstr "gestionnaire pour le descripteur %d démarré\n"
 
-#: scd/scdaemon.c:1195 dirmngr/dirmngr.c:2090
+#: scd/scdaemon.c:1197 dirmngr/dirmngr.c:2127
 #, c-format
 msgid "handler for fd %d terminated\n"
 msgstr "gestionnaire pour le descripteur %d terminé\n"
@@ -8629,7 +8648,7 @@ msgstr "Remarque : politique de certificat non critique non autorisée"
 msgid "certificate policy not allowed"
 msgstr "politique de certificat non autorisée"
 
-#: sm/certchain.c:595 sm/keydb.c:1106 sm/keydb.c:1192
+#: sm/certchain.c:595 sm/keydb.c:1084 sm/keydb.c:1171
 #, c-format
 msgid "failed to get the fingerprint\n"
 msgstr "impossible d'obtenir l'empreinte\n"
@@ -8664,8 +8683,8 @@ msgstr "nombre de certificats correspondants : %d\n"
 msgid "dirmngr cache-only key lookup failed: %s\n"
 msgstr "échec de recherche de clef seulement dans le cache du dirmngr : %s\n"
 
-#: sm/certchain.c:1041 sm/certchain.c:1554 sm/certchain.c:2192 sm/decrypt.c:265
-#: sm/encrypt.c:344 sm/import.c:415 sm/keydb.c:1113 sm/keydb.c:1199
+#: sm/certchain.c:1041 sm/certchain.c:1554 sm/certchain.c:2192 sm/decrypt.c:728
+#: sm/encrypt.c:345 sm/import.c:415 sm/keydb.c:1091 sm/keydb.c:1178
 #: sm/sign.c:337 sm/verify.c:118
 #, c-format
 msgid "failed to allocate keyDB handle\n"
@@ -8865,13 +8884,13 @@ msgstr ""
 "un hachage de %1$u bits n'est pas valable pour une clef %3$s de %2$u bits\n"
 
 #: sm/certcheck.c:238 sm/certcheck.c:262 dirmngr/crlcache.c:1542
-#: dirmngr/crlcache.c:1566 dirmngr/dirmngr.c:1324 dirmngr/validate.c:903
+#: dirmngr/crlcache.c:1566 dirmngr/dirmngr.c:1361 dirmngr/validate.c:903
 #: dirmngr/validate.c:927
 #, c-format
 msgid "out of core\n"
 msgstr "hors limite\n"
 
-#: sm/certcheck.c:371 sm/verify.c:213
+#: sm/certcheck.c:370 sm/verify.c:213
 #, c-format
 msgid "(this is the MD2 algorithm)\n"
 msgstr "(c'est l'algorithme MD2)\n"
@@ -9167,22 +9186,32 @@ msgstr ""
 msgid "resource problem: out of core\n"
 msgstr "problème de ressources : hors limite\n"
 
-#: sm/decrypt.c:341
+#: sm/decrypt.c:536
+#, c-format
+msgid "%s.%s encrypted data\n"
+msgstr "données chiffrées avec %s.%s\n"
+
+#: sm/decrypt.c:803
 #, c-format
 msgid "(this is the RC2 algorithm)\n"
 msgstr "(c'est l'algorithme RC2)\n"
 
-#: sm/decrypt.c:343
+#: sm/decrypt.c:805
 #, c-format
 msgid "(this does not seem to be an encrypted message)\n"
 msgstr "(ça ne ressemble pas à un message chiffré)\n"
 
+#: sm/decrypt.c:958
+#, c-format
+msgid "encrypted to %s key %s\n"
+msgstr "chiffré avec une clef %s, identifiant %s\n"
+
 #: sm/delete.c:51 sm/delete.c:112
 #, c-format
 msgid "certificate '%s' not found: %s\n"
 msgstr "certificat « %s » introuvable : %s\n"
 
-#: sm/delete.c:122 sm/keydb.c:1209 sm/keydb.c:1307
+#: sm/delete.c:122 sm/keydb.c:1189 sm/keydb.c:1288
 #, c-format
 msgid "error locking keybox: %s\n"
 msgstr "erreur de verrouillage du trousseau local : %s\n"
@@ -9202,128 +9231,128 @@ msgstr "certificat « %s » supprimé\n"
 msgid "deleting certificate \"%s\" failed: %s\n"
 msgstr "échec de suppression du certificat « %s » : %s\n"
 
-#: sm/encrypt.c:330
+#: sm/encrypt.c:331
 #, c-format
 msgid "no valid recipients given\n"
 msgstr "aucune destinataire valable donnée\n"
 
-#: sm/gpgsm.c:215
+#: sm/gpgsm.c:216
 msgid "list external keys"
 msgstr "afficher les clefs externes"
 
-#: sm/gpgsm.c:217
+#: sm/gpgsm.c:218
 msgid "list certificate chain"
 msgstr "afficher la chaîne de certificats"
 
-#: sm/gpgsm.c:225
+#: sm/gpgsm.c:226
 msgid "import certificates"
 msgstr "importer les certificats"
 
-#: sm/gpgsm.c:226
+#: sm/gpgsm.c:227
 msgid "export certificates"
 msgstr "exporter les certificats"
 
-#: sm/gpgsm.c:234
+#: sm/gpgsm.c:235
 msgid "register a smartcard"
 msgstr "enregistrer une carte à puce"
 
-#: sm/gpgsm.c:237
+#: sm/gpgsm.c:238
 msgid "pass a command to the dirmngr"
 msgstr "passer une commande au dirmngr"
 
-#: sm/gpgsm.c:239
+#: sm/gpgsm.c:240
 msgid "invoke gpg-protect-tool"
 msgstr "appeler gpg-protect-tool"
 
-#: sm/gpgsm.c:256
+#: sm/gpgsm.c:257
 msgid "create base-64 encoded output"
 msgstr "créer une sortie encodée en base-64"
 
-#: sm/gpgsm.c:265
+#: sm/gpgsm.c:266
 msgid "assume input is in PEM format"
 msgstr "entrée supposée au format PEM"
 
-#: sm/gpgsm.c:267
+#: sm/gpgsm.c:268
 msgid "assume input is in base-64 format"
 msgstr "entrée supposée au format base-64"
 
-#: sm/gpgsm.c:269
+#: sm/gpgsm.c:270
 msgid "assume input is in binary format"
 msgstr "entrée supposée au format binaire"
 
-#: sm/gpgsm.c:276
+#: sm/gpgsm.c:277
 msgid "never consult a CRL"
 msgstr "ne pas consulter liste de révocations de cert."
 
-#: sm/gpgsm.c:286
+#: sm/gpgsm.c:287
 msgid "check validity using OCSP"
 msgstr "vérifier la validité avec OCSP"
 
-#: sm/gpgsm.c:291
+#: sm/gpgsm.c:292
 msgid "|N|number of certificates to include"
 msgstr "|N|nombre de certificats à inclure"
 
-#: sm/gpgsm.c:294
+#: sm/gpgsm.c:295
 msgid "|FILE|take policy information from FILE"
 msgstr "|FICHIER|prendre renseignements de politique du FICHIER"
 
-#: sm/gpgsm.c:297
+#: sm/gpgsm.c:298
 msgid "do not check certificate policies"
 msgstr "ne pas vérifier les politiques de certificat"
 
-#: sm/gpgsm.c:301
+#: sm/gpgsm.c:302
 msgid "fetch missing issuer certificates"
 msgstr "récupérer certificats d'émetteur manquants"
 
-#: sm/gpgsm.c:312
+#: sm/gpgsm.c:313
 msgid "don't use the terminal at all"
 msgstr "ne pas utiliser du tout le terminal"
 
-#: sm/gpgsm.c:314
+#: sm/gpgsm.c:315
 msgid "|FILE|write a server mode log to FILE"
 msgstr "|FICHIER|écrire un journal serveur dans le FICHIER"
 
-#: sm/gpgsm.c:319
+#: sm/gpgsm.c:320
 msgid "|FILE|write an audit log to FILE"
 msgstr "|FICHIER|écrire un journal d'audit dans le FICHIER"
 
-#: sm/gpgsm.c:322
+#: sm/gpgsm.c:323
 msgid "batch mode: never ask"
 msgstr "mode automatique : aucune question"
 
-#: sm/gpgsm.c:323
+#: sm/gpgsm.c:324
 msgid "assume yes on most questions"
 msgstr "oui comme réponse à la plupart des questions"
 
-#: sm/gpgsm.c:324
+#: sm/gpgsm.c:325
 msgid "assume no on most questions"
 msgstr "non comme réponse à la plupart des questions"
 
-#: sm/gpgsm.c:327
+#: sm/gpgsm.c:328
 msgid "|FILE|add keyring to the list of keyrings"
 msgstr "|FICHIER|ajouter le trousseau à la liste de trousseaux"
 
-#: sm/gpgsm.c:330
+#: sm/gpgsm.c:331
 msgid "|USER-ID|use USER-ID as default secret key"
 msgstr "|IDENTITÉ| utiliser IDENTITÉ comme clef secr. par défaut"
 
-#: sm/gpgsm.c:340 tools/gpgconf-comp.c:837
+#: sm/gpgsm.c:341 dirmngr/dirmngr.c:214 tools/gpgconf-comp.c:841
 msgid "|SPEC|use this keyserver to lookup keys"
 msgstr "|SPEC|utiliser ce serveur pour rechercher les clefs"
 
-#: sm/gpgsm.c:357
+#: sm/gpgsm.c:360
 msgid "|NAME|use cipher algorithm NAME"
 msgstr "|NOM|utiliser l'algorithme de chiffrement NOM"
 
-#: sm/gpgsm.c:359
+#: sm/gpgsm.c:362
 msgid "|NAME|use message digest algorithm NAME"
 msgstr "|NOM|utiliser l'algorithme de hachage NOM"
 
-#: sm/gpgsm.c:570
+#: sm/gpgsm.c:573
 msgid "Usage: @GPGSM@ [options] [files] (-h for help)"
 msgstr "Utilisation : @GPGSM@ [options] [fichiers] (-h pour l'aide)"
 
-#: sm/gpgsm.c:573
+#: sm/gpgsm.c:576
 msgid ""
 "Syntax: @GPGSM@ [options] [files]\n"
 "Sign, check, encrypt or decrypt using the S/MIME protocol\n"
@@ -9333,47 +9362,27 @@ msgstr ""
 "Signer, vérifier, chiffrer ou déchiffrer en utilisant le protocole S/MIME\n"
 "L'opération par défaut dépend des données entrées\n"
 
-#: sm/gpgsm.c:777
+#: sm/gpgsm.c:784
 #, c-format
 msgid "Note: won't be able to encrypt to '%s': %s\n"
 msgstr "Remarque : ne sera pas capable de chiffrer à « %s » : %s\n"
 
-#: sm/gpgsm.c:788
+#: sm/gpgsm.c:795
 #, c-format
 msgid "unknown validation model '%s'\n"
 msgstr "modèle de validation « %s » inconnu\n"
 
-#: sm/gpgsm.c:839 dirmngr/ldapserver.c:86
-#, c-format
-msgid "%s:%u: no hostname given\n"
-msgstr "%s : %u : aucun nom d'hôte donné\n"
-
-#: sm/gpgsm.c:858 dirmngr/ldapserver.c:105
-#, c-format
-msgid "%s:%u: password given without user\n"
-msgstr "%s : %u : mot de passe donné sans utilisateur\n"
-
-#: sm/gpgsm.c:879 dirmngr/ldapserver.c:126
-#, c-format
-msgid "%s:%u: skipping this line\n"
-msgstr "%s : %u : ignorer cette ligne\n"
-
-#: sm/gpgsm.c:1449
-#, c-format
-msgid "could not parse keyserver\n"
-msgstr "impossible d'analyser le serveur de clefs\n"
-
-#: sm/gpgsm.c:1712
+#: sm/gpgsm.c:1612
 #, c-format
 msgid "importing common certificates '%s'\n"
 msgstr "importation des certificats commun « %s »\n"
 
-#: sm/gpgsm.c:1755
+#: sm/gpgsm.c:1655
 #, c-format
 msgid "can't sign using '%s': %s\n"
 msgstr "impossible de signer en utilisant « %s » : %s\n"
 
-#: sm/gpgsm.c:2122
+#: sm/gpgsm.c:2028
 #, c-format
 msgid "invalid command (there is no implicit command)\n"
 msgstr "commande incorrecte (il n'y a pas de commande implicite)\n"
@@ -9393,7 +9402,7 @@ msgstr "erreur de stockage du certificat\n"
 msgid "basic certificate checks failed - not imported\n"
 msgstr "échec des vérifications de base du certificat — non importé\n"
 
-#: sm/import.c:472 sm/keydb.c:1229 sm/keydb.c:1319
+#: sm/import.c:472 sm/keydb.c:1209 sm/keydb.c:1300
 #, c-format
 msgid "error getting stored flags: %s\n"
 msgstr "erreur de lecture des options stockées : %s\n"
@@ -9408,27 +9417,27 @@ msgstr "erreur d'importation du certificat : %s\n"
 msgid "error reading input: %s\n"
 msgstr "erreur de lecture de l'entrée : %s\n"
 
-#: sm/keydb.c:1148
+#: sm/keydb.c:1127
 #, c-format
 msgid "problem looking for existing certificate: %s\n"
 msgstr "problème de recherche de certificat existant : %s\n"
 
-#: sm/keydb.c:1160
+#: sm/keydb.c:1139
 #, c-format
 msgid "error finding writable keyDB: %s\n"
 msgstr "impossible de trouver une base de clefs inscriptible : %s\n"
 
-#: sm/keydb.c:1168
+#: sm/keydb.c:1147
 #, c-format
 msgid "error storing certificate: %s\n"
 msgstr "erreur de stockage du certificat : %s\n"
 
-#: sm/keydb.c:1220
+#: sm/keydb.c:1200
 #, c-format
 msgid "problem re-searching certificate: %s\n"
 msgstr "problème de nouvelle recherche de certificat : %s\n"
 
-#: sm/keydb.c:1241 sm/keydb.c:1330
+#: sm/keydb.c:1221 sm/keydb.c:1311
 #, c-format
 msgid "error storing flags: %s\n"
 msgstr "erreur de stockage des options : %s\n"
@@ -9472,7 +9481,7 @@ msgstr ""
 "\n"
 "%s%sVoulez-vous vraiment faire cela ?"
 
-#: sm/qualified.c:215 sm/verify.c:678
+#: sm/qualified.c:215 sm/verify.c:679
 #, c-format
 msgid ""
 "Note, that this software is not officially approved to create or verify such "
@@ -9526,7 +9535,7 @@ msgstr "[date non donnée]"
 msgid "algorithm:"
 msgstr "algorithme : %s"
 
-#: sm/verify.c:535
+#: sm/verify.c:536
 #, c-format
 msgid ""
 "invalid signature: message digest attribute does not match computed one\n"
@@ -9534,17 +9543,17 @@ msgstr ""
 "signature incorrecte : l'attribut de hachage du message ne correspond pas à "
 "celui calculé\n"
 
-#: sm/verify.c:656
+#: sm/verify.c:657
 #, c-format
 msgid "Good signature from"
 msgstr "Bonne signature de"
 
-#: sm/verify.c:657
+#: sm/verify.c:658
 #, c-format
 msgid "                aka"
 msgstr "                alias"
 
-#: sm/verify.c:675
+#: sm/verify.c:676
 #, c-format
 msgid "This is a qualified signature\n"
 msgstr "C'est une signature qualifiée\n"
@@ -10214,7 +10223,7 @@ msgid "error retrieving '%s': %s\n"
 msgstr "erreur de récupération de « %s » : %s\n"
 
 #: dirmngr/crlfetch.c:218 dirmngr/ldap-wrapper-ce.c:492
-#: dirmngr/ldap-wrapper.c:884 dirmngr/misc.c:573
+#: dirmngr/ldap-wrapper.c:885 dirmngr/misc.c:573
 #, c-format
 msgid "error initializing reader object: %s\n"
 msgstr "erreur d'initialisation de l'objet lecteur : %s\n"
@@ -10376,120 +10385,120 @@ msgstr "nom de fichier absolu attendu\n"
 msgid "looking up '%s'\n"
 msgstr "recherche de « %s »\n"
 
-#: dirmngr/dirmngr.c:170
+#: dirmngr/dirmngr.c:171
 msgid "list the contents of the CRL cache"
 msgstr "afficher le contenu du cache de la liste de révocations de certificat"
 
-#: dirmngr/dirmngr.c:171
+#: dirmngr/dirmngr.c:172
 msgid "|FILE|load CRL from FILE into cache"
 msgstr ""
 "|FICHIER|charger la liste de révocations de certificat du FICHIER dans le "
 "cache"
 
-#: dirmngr/dirmngr.c:172
+#: dirmngr/dirmngr.c:173
 msgid "|URL|fetch a CRL from URL"
 msgstr "|URL|récupérer une liste de révocations de certificat d'une URL"
 
-#: dirmngr/dirmngr.c:173
+#: dirmngr/dirmngr.c:174
 msgid "shutdown the dirmngr"
 msgstr "arrêter le dirmngr"
 
-#: dirmngr/dirmngr.c:174
+#: dirmngr/dirmngr.c:175
 msgid "flush the cache"
 msgstr "vider le cache"
 
-#: dirmngr/dirmngr.c:190 tools/gpgconf-comp.c:522 tools/gpgconf-comp.c:741
-#: tools/gpgconf-comp.c:854 tools/gpgconf-comp.c:950
+#: dirmngr/dirmngr.c:191 tools/gpgconf-comp.c:522 tools/gpgconf-comp.c:745
+#: tools/gpgconf-comp.c:858 tools/gpgconf-comp.c:954
 msgid "|FILE|write server mode logs to FILE"
 msgstr "|FICHIER|écrire les journaux serveur dans le FICHIER"
 
-#: dirmngr/dirmngr.c:191
+#: dirmngr/dirmngr.c:192
 msgid "run without asking a user"
 msgstr "exécuter sans demander à l'utilisateur"
 
-#: dirmngr/dirmngr.c:192
+#: dirmngr/dirmngr.c:193
 msgid "force loading of outdated CRLs"
 msgstr "forcer le chargement des listes de révocations de certificat obsolètes"
 
-#: dirmngr/dirmngr.c:193
+#: dirmngr/dirmngr.c:194
 msgid "allow sending OCSP requests"
 msgstr "permettre l'envoi de requêtes OCSP"
 
-#: dirmngr/dirmngr.c:195
+#: dirmngr/dirmngr.c:196
 msgid "allow online software version check"
 msgstr ""
 
-#: dirmngr/dirmngr.c:196
+#: dirmngr/dirmngr.c:197
 msgid "inhibit the use of HTTP"
 msgstr "interdire l'utilisation d'HTTP"
 
-#: dirmngr/dirmngr.c:197
+#: dirmngr/dirmngr.c:198
 msgid "inhibit the use of LDAP"
 msgstr "interdire l'utilisation de LDAP"
 
-#: dirmngr/dirmngr.c:199
+#: dirmngr/dirmngr.c:200
 msgid "ignore HTTP CRL distribution points"
 msgstr ""
 "ignorer les points de distribution de liste de révocations de certificat en "
 "HTTP"
 
-#: dirmngr/dirmngr.c:201
+#: dirmngr/dirmngr.c:202
 msgid "ignore LDAP CRL distribution points"
 msgstr ""
 "ignorer les points de distribution de liste de révocations de certificat en "
 "LDAP"
 
-#: dirmngr/dirmngr.c:203
+#: dirmngr/dirmngr.c:204
 msgid "ignore certificate contained OCSP service URLs"
 msgstr "ignorer les URL de service OCSP contenues dans le certificat"
 
-#: dirmngr/dirmngr.c:206
+#: dirmngr/dirmngr.c:207
 msgid "|URL|redirect all HTTP requests to URL"
 msgstr "|URL|rediriger toutes les requêtes HTTP vers l'URL"
 
-#: dirmngr/dirmngr.c:208
+#: dirmngr/dirmngr.c:209
 msgid "|HOST|use HOST for LDAP queries"
 msgstr "|HÔTE|utiliser l'HÔTE pour les requêtes LDAP"
 
-#: dirmngr/dirmngr.c:210
+#: dirmngr/dirmngr.c:211
 msgid "do not use fallback hosts with --ldap-proxy"
 msgstr "ne pas utiliser d'hôtes de repli avec --ldap-proxy"
 
-#: dirmngr/dirmngr.c:213
+#: dirmngr/dirmngr.c:216
 msgid "|FILE|read LDAP server list from FILE"
 msgstr "|FICHIER|lire la liste de serveurs LDAP depuis le FICHIER"
 
-#: dirmngr/dirmngr.c:215
+#: dirmngr/dirmngr.c:218
 msgid "add new servers discovered in CRL distribution points to serverlist"
 msgstr ""
 "ajouter les nouveaux serveurs découverts dans les points de distribution de "
 "liste de révocations de certificat à la liste de serveurs"
 
-#: dirmngr/dirmngr.c:218 dirmngr/dirmngr_ldap.c:137
+#: dirmngr/dirmngr.c:221
 msgid "|N|set LDAP timeout to N seconds"
 msgstr "|N|définir le temps d'expiration de LDAP à N secondes"
 
-#: dirmngr/dirmngr.c:221
+#: dirmngr/dirmngr.c:224
 msgid "|URL|use OCSP responder at URL"
 msgstr "|URL|utiliser le répondeur OCSP à l'URL"
 
-#: dirmngr/dirmngr.c:223
+#: dirmngr/dirmngr.c:226
 msgid "|FPR|OCSP response signed by FPR"
 msgstr "|EMPR|réponse OCSP signée par EMPR"
 
-#: dirmngr/dirmngr.c:229
+#: dirmngr/dirmngr.c:232
 msgid "|N|do not return more than N items in one query"
 msgstr "|N|ne pas renvoyer plus de N éléments dans une requête"
 
-#: dirmngr/dirmngr.c:234
+#: dirmngr/dirmngr.c:237
 msgid "|FILE|use the CA certificates in FILE for HKP over TLS"
 msgstr "|FICHIER|utiliser les certificats de CA dans FICHIER pour HKP par TLS"
 
-#: dirmngr/dirmngr.c:236
+#: dirmngr/dirmngr.c:239
 msgid "route all network traffic via Tor"
 msgstr ""
 
-#: dirmngr/dirmngr.c:265
+#: dirmngr/dirmngr.c:268
 msgid ""
 "@\n"
 "(See the \"info\" manual for a complete listing of all commands and "
@@ -10499,11 +10508,11 @@ msgstr ""
 "(Consultez le manuel « info » pour obtenir une liste complète des commandes\n"
 "et options)\n"
 
-#: dirmngr/dirmngr.c:407
+#: dirmngr/dirmngr.c:415
 msgid "Usage: @DIRMNGR@ [options] (-h for help)"
 msgstr "Utilisation : @DIRMNGR@ [options] (-h pour l'aide)"
 
-#: dirmngr/dirmngr.c:409
+#: dirmngr/dirmngr.c:417
 msgid ""
 "Syntax: @DIRMNGR@ [options] [command [args]]\n"
 "Keyserver, CRL, and OCSP access for @GNUPG@\n"
@@ -10512,271 +10521,105 @@ msgstr ""
 "Serveur de clefs, liste de révocations de certificat et accès OCSP pour "
 "@GNUPG@\n"
 
-#: dirmngr/dirmngr.c:489
+#: dirmngr/dirmngr.c:497
 #, c-format
 msgid "valid debug levels are: %s\n"
 msgstr "les niveaux de débogage possibles sont : %s\n"
 
-#: dirmngr/dirmngr.c:575 tools/gpgconf.c:647 tools/gpgconf.c:682
+#: dirmngr/dirmngr.c:583 tools/gpgconf.c:647 tools/gpgconf.c:682
 #: tools/gpgconf.c:780
 #, c-format
 msgid "usage: %s [options] "
 msgstr "utilisation : %s [options] "
 
-#: dirmngr/dirmngr.c:1212
+#: dirmngr/dirmngr.c:1249
 #, c-format
 msgid "colons are not allowed in the socket name\n"
 msgstr "les deux-points ne sont pas permis dans le nom de socket\n"
 
-#: dirmngr/dirmngr.c:1444 dirmngr/server.c:1824
+#: dirmngr/dirmngr.c:1481 dirmngr/server.c:1878
 #, c-format
 msgid "fetching CRL from '%s' failed: %s\n"
 msgstr ""
 "échec de récupération de liste de révocations de certificat sur « %s » : %s\n"
 
-#: dirmngr/dirmngr.c:1450 dirmngr/server.c:1830
+#: dirmngr/dirmngr.c:1487 dirmngr/server.c:1884
 #, c-format
 msgid "processing CRL from '%s' failed: %s\n"
 msgstr ""
 "échec du traitement de liste de révocations de certificat sur « %s » : %s\n"
 
-#: dirmngr/dirmngr.c:1645
+#: dirmngr/dirmngr.c:1682
 #, c-format
 msgid "%s:%u: line too long - skipped\n"
 msgstr "%s : %u : ligne trop longue — ignorée\n"
 
-#: dirmngr/dirmngr.c:1700 dirmngr/dirmngr.c:1784
+#: dirmngr/dirmngr.c:1737 dirmngr/dirmngr.c:1821
 #, c-format
 msgid "%s:%u: invalid fingerprint detected\n"
 msgstr "%s : %u : empreinte incorrecte détectée\n"
 
-#: dirmngr/dirmngr.c:1736 dirmngr/dirmngr.c:1762 tools/gpgconf-comp.c:4191
+#: dirmngr/dirmngr.c:1773 dirmngr/dirmngr.c:1799 tools/gpgconf-comp.c:4199
 #, c-format
 msgid "%s:%u: read error: %s\n"
 msgstr "%s : %u : erreur de lecture : %s\n"
 
-#: dirmngr/dirmngr.c:1791
+#: dirmngr/dirmngr.c:1828
 #, c-format
 msgid "%s:%u: garbage at end of line ignored\n"
 msgstr "%s : %u : fin de ligne inutile ignorée\n"
 
-#: dirmngr/dirmngr.c:1860
+#: dirmngr/dirmngr.c:1897
 #, c-format
 msgid "SIGHUP received - re-reading configuration and flushing caches\n"
 msgstr "SIGHUP reçu — relecture de la configuration et vidage des caches\n"
 
-#: dirmngr/dirmngr.c:1900
+#: dirmngr/dirmngr.c:1937
 #, c-format
 msgid "SIGUSR2 received - no action defined\n"
 msgstr "SIGUSR2 reçu — aucune action définie\n"
 
-#: dirmngr/dirmngr.c:1905
+#: dirmngr/dirmngr.c:1942
 #, c-format
 msgid "SIGTERM received - shutting down ...\n"
 msgstr "SIGTERM reçu — arrêt…\n"
 
-#: dirmngr/dirmngr.c:1907
+#: dirmngr/dirmngr.c:1944
 #, c-format
 msgid "SIGTERM received - still %d active connections\n"
 msgstr "SIGTERM reçu — encore %d connexions actives\n"
 
-#: dirmngr/dirmngr.c:1912
+#: dirmngr/dirmngr.c:1949
 #, c-format
 msgid "shutdown forced\n"
 msgstr "arrêt forcé\n"
 
-#: dirmngr/dirmngr.c:1920
+#: dirmngr/dirmngr.c:1957
 #, c-format
 msgid "SIGINT received - immediate shutdown\n"
 msgstr "SIGINT reçu — arrêt immédiat\n"
 
-#: dirmngr/dirmngr.c:1927
+#: dirmngr/dirmngr.c:1964
 #, c-format
 msgid "signal %d received - no action defined\n"
 msgstr "signal %d reçu — aucune action définie\n"
 
-#: dirmngr/dirmngr_ldap.c:138
-msgid "return all values in a record oriented format"
-msgstr "renvoyer toutes les valeurs au format enreg."
-
-#: dirmngr/dirmngr_ldap.c:141
-msgid "|NAME|ignore host part and connect through NAME"
-msgstr "|NOM|ignorer l'hôte et se connecter par NOM"
-
-#: dirmngr/dirmngr_ldap.c:142
-msgid "|NAME|connect to host NAME"
-msgstr "|NOM|se connecter à l'hôte NOM"
-
-#: dirmngr/dirmngr_ldap.c:143
-msgid "|N|connect to port N"
-msgstr "|N|se connecter au port N"
-
-#: dirmngr/dirmngr_ldap.c:144
-msgid "|NAME|use user NAME for authentication"
-msgstr "|NOM|utiliser le NOM d'utilisateur pour authentif."
-
-#: dirmngr/dirmngr_ldap.c:145
-msgid "|PASS|use password PASS for authentication"
-msgstr "|MDP|utiliser le mot de passe MDP pour authentif."
-
-#: dirmngr/dirmngr_ldap.c:147
-msgid "take password from $DIRMNGR_LDAP_PASS"
-msgstr "prendre le mot de passe de $DIRMNGR_LDAP_PASS"
-
-#: dirmngr/dirmngr_ldap.c:148
-msgid "|STRING|query DN STRING"
-msgstr "|CHAÎNE|demander la CHAÎNE DN"
-
-#: dirmngr/dirmngr_ldap.c:149
-msgid "|STRING|use STRING as filter expression"
-msgstr "|CHAÎNE|utiliser la CHAÎNE comme expression de filtre"
-
-#: dirmngr/dirmngr_ldap.c:150
-msgid "|STRING|return the attribute STRING"
-msgstr "|CHAÎNE|renvoyer l'attribut CHAÎNE"
-
-#: dirmngr/dirmngr_ldap.c:211
-msgid "Usage: dirmngr_ldap [options] [URL] (-h for help)\n"
-msgstr "Utilisation : dirmngr_ldap [options] [URL] (-h pour l'aide)\n"
-
-#: dirmngr/dirmngr_ldap.c:214
-msgid ""
-"Syntax: dirmngr_ldap [options] [URL]\n"
-"Internal LDAP helper for Dirmngr\n"
-"Interface and options may change without notice\n"
-msgstr ""
-"Syntaxe : dirmngr_ldap [options] [URL]\n"
-"Assistant LDAP interne pour Dirmngr\n"
-"L'interface et les options pourraient changer sans prévenir\n"
-
-#: dirmngr/dirmngr_ldap.c:340
-#, c-format
-msgid "invalid port number %d\n"
-msgstr "numéro de port %d incorrect\n"
-
-#: dirmngr/dirmngr_ldap.c:456
-#, c-format
-msgid "scanning result for attribute '%s'\n"
-msgstr "examen de résultat pour l'attribut « %s »\n"
-
-#: dirmngr/dirmngr_ldap.c:463 dirmngr/dirmngr_ldap.c:546
-#: dirmngr/dirmngr_ldap.c:570 dirmngr/dirmngr_ldap.c:582
-#: dirmngr/dirmngr_ldap.c:720
-#, c-format
-msgid "error writing to stdout: %s\n"
-msgstr "erreur d'écriture sur la sortie standard : %s\n"
-
-#: dirmngr/dirmngr_ldap.c:480
-#, c-format
-msgid "          available attribute '%s'\n"
-msgstr "          attribut « %s » disponible\n"
-
-#: dirmngr/dirmngr_ldap.c:518
-#, c-format
-msgid "attribute '%s' not found\n"
-msgstr "attribut « %s » introuvable\n"
-
-#: dirmngr/dirmngr_ldap.c:525
-#, c-format
-msgid "found attribute '%s'\n"
-msgstr "attribut « %s » trouvé\n"
-
-#: dirmngr/dirmngr_ldap.c:634
-#, c-format
-msgid "processing url '%s'\n"
-msgstr "traitement de l'URL « %s »\n"
-
-#: dirmngr/dirmngr_ldap.c:636
-#, c-format
-msgid "          user '%s'\n"
-msgstr "  utilisateur « %s »\n"
-
-#: dirmngr/dirmngr_ldap.c:638
-#, c-format
-msgid "          pass '%s'\n"
-msgstr " mot de passe « %s »\n"
-
-#: dirmngr/dirmngr_ldap.c:640
-#, c-format
-msgid "          host '%s'\n"
-msgstr "         hôte « %s »\n"
-
-#: dirmngr/dirmngr_ldap.c:641
-#, c-format
-msgid "          port %d\n"
-msgstr "         port %d\n"
-
-#: dirmngr/dirmngr_ldap.c:643
-#, c-format
-msgid "            DN '%s'\n"
-msgstr "           DN « %s »\n"
-
-#: dirmngr/dirmngr_ldap.c:645
-#, c-format
-msgid "        filter '%s'\n"
-msgstr "       filtre « %s »\n"
-
-#: dirmngr/dirmngr_ldap.c:650 dirmngr/dirmngr_ldap.c:653
-#, c-format
-msgid "          attr '%s'\n"
-msgstr "     attribut « %s »\n"
-
-#: dirmngr/dirmngr_ldap.c:659
-#, c-format
-msgid "no host name in '%s'\n"
-msgstr "aucun nom d'hôte donné dans « %s »\n"
-
-#: dirmngr/dirmngr_ldap.c:664
-#, c-format
-msgid "no attribute given for query '%s'\n"
-msgstr "pas d'attribut donné pour la requête « %s »\n"
-
-#: dirmngr/dirmngr_ldap.c:670
-#, c-format
-msgid "WARNING: using first attribute only\n"
-msgstr "Attention : utilisation du premier attribut seulement\n"
-
-#: dirmngr/dirmngr_ldap.c:679
-#, c-format
-msgid "LDAP init to '%s:%d' failed: %s\n"
-msgstr "échec d'initialisation de LDAP à « %s : %d » : %s\n"
-
-#: dirmngr/dirmngr_ldap.c:702
-#, c-format
-msgid "binding to '%s:%d' failed: %s\n"
-msgstr "échec du lien de « %s : %d » : %s\n"
-
-#: dirmngr/dirmngr_ldap.c:729
-#, c-format
-msgid "searching '%s' failed: %s\n"
-msgstr "échec de recherche de « %s » : %s\n"
-
-#: dirmngr/dirmngr_ldap.c:761
-#, c-format
-msgid "'%s' is not an LDAP URL\n"
-msgstr "« %s » n'est pas une URL LDAP\n"
-
-#: dirmngr/dirmngr_ldap.c:767
-#, c-format
-msgid "'%s' is an invalid LDAP URL\n"
-msgstr "« %s » est une URL LDAP incorrecte\n"
-
-#: dirmngr/http.c:1987 dirmngr/ocsp.c:255
+#: dirmngr/http.c:1993 dirmngr/ocsp.c:255
 #, c-format
 msgid "error accessing '%s': http status %u\n"
 msgstr "erreur d'accès à « %s » : état HTTP %u\n"
 
-#: dirmngr/http.c:3629 dirmngr/ocsp.c:229
+#: dirmngr/http.c:3644 dirmngr/ocsp.c:229
 #, c-format
 msgid "URL '%s' redirected to '%s' (%u)\n"
 msgstr "URL « %s » redirigée vers « %s » (%u)\n"
 
-#: dirmngr/http.c:3635 dirmngr/ocsp.c:246
+#: dirmngr/http.c:3650 dirmngr/ocsp.c:246
 #, c-format
 msgid "too many redirections\n"
 msgstr "trop de redirections\n"
 
-#: dirmngr/http.c:3747
+#: dirmngr/http.c:3762
 #, fuzzy, c-format
 #| msgid "writing to '%s'\n"
 msgid "redirection changed to '%s'\n"
@@ -10817,31 +10660,51 @@ msgstr "échec d'attente de l'enveloppe LDAP %d : %s\n"
 msgid "ldap wrapper %d stalled - killing\n"
 msgstr "enveloppe LDAP %d à l'arrêt — le processus va être tué\n"
 
-#: dirmngr/ldap.c:91
+#: dirmngr/ldap.c:92
 #, c-format
 msgid "invalid char 0x%02x in host name - not added\n"
 msgstr "caractère 0x%02x incorrect dans le nom d'hôte — non ajouté\n"
 
-#: dirmngr/ldap.c:95
+#: dirmngr/ldap.c:96
 #, c-format
 msgid "adding '%s:%d' to the ldap server list\n"
 msgstr "ajout de « %s : %d » à la liste de serveurs LDAP\n"
 
-#: dirmngr/ldap.c:98 dirmngr/misc.c:512
+#: dirmngr/ldap.c:99 dirmngr/misc.c:512
 #, c-format
 msgid "malloc failed: %s\n"
 msgstr "échec de malloc : %s\n"
 
-#: dirmngr/ldap.c:627
+#: dirmngr/ldap.c:221
 #, c-format
-msgid "start_cert_fetch: invalid pattern '%s'\n"
-msgstr "start_cert_fetch : motif « %s » incorrect\n"
+msgid "'%s' is not an LDAP URL\n"
+msgstr "« %s » n'est pas une URL LDAP\n"
+
+#: dirmngr/ldap.c:227 dirmngr/ldap.c:233
+#, c-format
+msgid "'%s' is an invalid LDAP URL\n"
+msgstr "« %s » est une URL LDAP incorrecte\n"
 
-#: dirmngr/ldap.c:839
+#: dirmngr/ldap.c:969
 #, c-format
 msgid "ldap_search hit the size limit of the server\n"
 msgstr "ldap_search a atteint la taille limite du serveur\n"
 
+#: dirmngr/ldapserver.c:117
+#, c-format
+msgid "%s:%u: password given without user\n"
+msgstr "%s : %u : mot de passe donné sans utilisateur\n"
+
+#: dirmngr/ldapserver.c:181
+#, c-format
+msgid "%s:%u: ignoring unknown flag '%s'\n"
+msgstr ""
+
+#: dirmngr/ldapserver.c:203
+#, c-format
+msgid "%s:%u: skipping this line\n"
+msgstr "%s : %u : ignorer cette ligne\n"
+
 #: dirmngr/misc.c:172
 #, c-format
 msgid "invalid canonical S-expression found\n"
@@ -11023,71 +10886,67 @@ msgstr "le répondeur OCSP a renvoyé un trop vieil état\n"
 msgid "assuan_inquire(%s) failed: %s\n"
 msgstr "échec d'assuan_inquire(%s) : %s\n"
 
-#: dirmngr/server.c:1158
-msgid "ldapserver missing"
-msgstr "ldapserver manquant"
-
-#: dirmngr/server.c:1224
+#: dirmngr/server.c:1277
 msgid "serialno missing in cert ID"
 msgstr "serialno manquant dans l'identifiant de certificat"
 
-#: dirmngr/server.c:1387 dirmngr/server.c:1473 dirmngr/server.c:1909
-#: dirmngr/server.c:1980 dirmngr/server.c:2552 dirmngr/server.c:2567
+#: dirmngr/server.c:1440 dirmngr/server.c:1526 dirmngr/server.c:1963
+#: dirmngr/server.c:2034 dirmngr/server.c:2662 dirmngr/server.c:2677
 #, c-format
 msgid "assuan_inquire failed: %s\n"
 msgstr "échec d'assuan_inquire : %s\n"
 
-#: dirmngr/server.c:1516
+#: dirmngr/server.c:1569
 #, c-format
 msgid "fetch_cert_by_url failed: %s\n"
 msgstr "échec de fetch_cert_by_url : %s\n"
 
-#: dirmngr/server.c:1528 dirmngr/server.c:1559 dirmngr/server.c:1718
+#: dirmngr/server.c:1581 dirmngr/server.c:1612 dirmngr/server.c:1772
 #, c-format
 msgid "error sending data: %s\n"
 msgstr "erreur d'envoi de données : %s\n"
 
-#: dirmngr/server.c:1666
+#: dirmngr/server.c:1720
 #, c-format
 msgid "start_cert_fetch failed: %s\n"
 msgstr "échec de start_cert_fetch : %s\n"
 
-#: dirmngr/server.c:1699
+#: dirmngr/server.c:1753
 #, c-format
 msgid "fetch_next_cert failed: %s\n"
 msgstr "échec de fetch_next_cert : %s\n"
 
-#: dirmngr/server.c:1726
+#: dirmngr/server.c:1780
 #, c-format
 msgid "max_replies %d exceeded\n"
 msgstr "max_replies %d dépassé\n"
 
-#: dirmngr/server.c:2856
+#: dirmngr/server.c:2966
 #, c-format
 msgid "can't allocate control structure: %s\n"
 msgstr "impossible d'allouer une structure de contrôle : %s\n"
 
-#: dirmngr/server.c:2867
+#: dirmngr/server.c:2977
 #, c-format
 msgid "failed to allocate assuan context: %s\n"
 msgstr "échec d'allocation du contexte Assuan : %s\n"
 
-#: dirmngr/server.c:2888
+#: dirmngr/server.c:2998
 #, c-format
 msgid "failed to initialize the server: %s\n"
 msgstr "impossible d'initialiser le serveur : %s\n"
 
-#: dirmngr/server.c:2896
+#: dirmngr/server.c:3006
 #, c-format
 msgid "failed to the register commands with Assuan: %s\n"
 msgstr "impossible d'enregistrer les commandes avec Assuan : %s\n"
 
-#: dirmngr/server.c:2929
+#: dirmngr/server.c:3039
 #, c-format
 msgid "Assuan accept problem: %s\n"
 msgstr "problème d'accept_assuan : %s\n"
 
-#: dirmngr/server.c:2948
+#: dirmngr/server.c:3058
 #, c-format
 msgid "Assuan processing failed: %s\n"
 msgstr "problème de traitement Assuan : %s\n"
@@ -11231,21 +11090,21 @@ msgid "error sending standard options: %s\n"
 msgstr "erreur d'envoi d'options standards : %s\n"
 
 #: tools/gpgconf-comp.c:481 tools/gpgconf-comp.c:617 tools/gpgconf-comp.c:692
-#: tools/gpgconf-comp.c:804 tools/gpgconf-comp.c:906
+#: tools/gpgconf-comp.c:808 tools/gpgconf-comp.c:910
 msgid "Options controlling the diagnostic output"
 msgstr "Options contrôlant la sortie de diagnostique"
 
 #: tools/gpgconf-comp.c:494 tools/gpgconf-comp.c:630 tools/gpgconf-comp.c:705
-#: tools/gpgconf-comp.c:817 tools/gpgconf-comp.c:929
+#: tools/gpgconf-comp.c:821 tools/gpgconf-comp.c:933
 msgid "Options controlling the configuration"
 msgstr "Options contrôlant la configuration"
 
-#: tools/gpgconf-comp.c:517 tools/gpgconf-comp.c:659 tools/gpgconf-comp.c:736
-#: tools/gpgconf-comp.c:849 tools/gpgconf-comp.c:942
+#: tools/gpgconf-comp.c:517 tools/gpgconf-comp.c:659 tools/gpgconf-comp.c:740
+#: tools/gpgconf-comp.c:853 tools/gpgconf-comp.c:946
 msgid "Options useful for debugging"
 msgstr "Options pratiques pour le débogage"
 
-#: tools/gpgconf-comp.c:530 tools/gpgconf-comp.c:669 tools/gpgconf-comp.c:862
+#: tools/gpgconf-comp.c:530 tools/gpgconf-comp.c:669 tools/gpgconf-comp.c:866
 msgid "Options controlling the security"
 msgstr "Options contrôlant la sécurité"
 
@@ -11299,11 +11158,11 @@ msgstr "ne pas autoriser la réutilisation d'anciennes phrases secrètes"
 msgid "|N|set the Pinentry timeout to N seconds"
 msgstr "|N|définir le temps d'expiration de LDAP à N secondes"
 
-#: tools/gpgconf-comp.c:707 tools/gpgconf-comp.c:819
+#: tools/gpgconf-comp.c:707 tools/gpgconf-comp.c:823
 msgid "|NAME|use NAME as default secret key"
 msgstr "|NOM|utiliser le NOM comme clef secrète par défaut"
 
-#: tools/gpgconf-comp.c:710 tools/gpgconf-comp.c:822
+#: tools/gpgconf-comp.c:710 tools/gpgconf-comp.c:826
 msgid "|NAME|encrypt to user ID NAME as well"
 msgstr "|NOM|chiffrer aussi pour l'identité NOM"
 
@@ -11311,146 +11170,146 @@ msgstr "|NOM|chiffrer aussi pour l'identité NOM"
 msgid "|SPEC|set up email aliases"
 msgstr "|SPEC|configurer les alias d'adresse"
 
-#: tools/gpgconf-comp.c:749 tools/gpgconf-comp.c:981
+#: tools/gpgconf-comp.c:753 tools/gpgconf-comp.c:985
 msgid "Configuration for Keyservers"
 msgstr "Configuration pour les serveurs de clefs"
 
-#: tools/gpgconf-comp.c:751 tools/gpgconf-comp.c:983
+#: tools/gpgconf-comp.c:755 tools/gpgconf-comp.c:987
 msgid "|URL|use keyserver at URL"
 msgstr "|URL|utiliser le serveur de clefs à l'URL"
 
-#: tools/gpgconf-comp.c:754
+#: tools/gpgconf-comp.c:758
 msgid "allow PKA lookups (DNS requests)"
 msgstr "permettre les recherches PKA (requêtes DNS)"
 
-#: tools/gpgconf-comp.c:757
+#: tools/gpgconf-comp.c:761
 msgid "|MECHANISMS|use MECHANISMS to locate keys by mail address"
 msgstr "|MÉCANISMES|utiliser les MÉCANISMES pour localiser les clefs"
 
-#: tools/gpgconf-comp.c:760
+#: tools/gpgconf-comp.c:764
 #, fuzzy
 #| msgid "import keys from a keyserver"
 msgid "import missing key from a signature"
 msgstr "importer les clefs d'un serveur de clefs"
 
-#: tools/gpgconf-comp.c:763
+#: tools/gpgconf-comp.c:767
 #, fuzzy
 #| msgid "list and check key signatures"
 msgid "include the public key in signatures"
 msgstr "afficher et vérifier les signatures de clefs"
 
-#: tools/gpgconf-comp.c:770 tools/gpgconf-comp.c:831
+#: tools/gpgconf-comp.c:774 tools/gpgconf-comp.c:835
 msgid "disable all access to the dirmngr"
 msgstr "désactiver tous les accès au dirmngr"
 
-#: tools/gpgconf-comp.c:834
+#: tools/gpgconf-comp.c:838
 msgid "|NAME|use encoding NAME for PKCS#12 passphrases"
 msgstr "|NOM|utiliser l’encodage NOM pour les phrases secrète PKCS#12"
 
-#: tools/gpgconf-comp.c:870
+#: tools/gpgconf-comp.c:874
 msgid "do not check CRLs for root certificates"
 msgstr "ne pas vérifier les listes de révocations de certificat racine"
 
-#: tools/gpgconf-comp.c:919
+#: tools/gpgconf-comp.c:923
 msgid "Options controlling the format of the output"
 msgstr "Options contrôlant le format de sortie"
 
-#: tools/gpgconf-comp.c:961
+#: tools/gpgconf-comp.c:965
 msgid "Options controlling the interactivity and enforcement"
 msgstr "Options contrôlant l'interactivité et la mise en application"
 
-#: tools/gpgconf-comp.c:974
+#: tools/gpgconf-comp.c:978
 #, fuzzy
 #| msgid "Options controlling the security"
 msgid "Options controlling the use of Tor"
 msgstr "Options contrôlant la sécurité"
 
-#: tools/gpgconf-comp.c:988
+#: tools/gpgconf-comp.c:992
 msgid "Configuration for HTTP servers"
 msgstr "Configuration pour les serveurs HTTP"
 
-#: tools/gpgconf-comp.c:999
+#: tools/gpgconf-comp.c:1003
 msgid "use system's HTTP proxy setting"
 msgstr "utiliser la configuration de serveur mandataire (proxy) du système"
 
-#: tools/gpgconf-comp.c:1004
+#: tools/gpgconf-comp.c:1008
 msgid "Configuration of LDAP servers to use"
 msgstr "Configuration des serveurs LDAP à utiliser"
 
-#: tools/gpgconf-comp.c:1033
+#: tools/gpgconf-comp.c:1037
 msgid "LDAP server list"
 msgstr "liste de serveurs LDAP"
 
-#: tools/gpgconf-comp.c:1041
+#: tools/gpgconf-comp.c:1045
 msgid "Configuration for OCSP"
 msgstr "Configuration pour OCSP"
 
-#: tools/gpgconf-comp.c:1094
+#: tools/gpgconf-comp.c:1098
 #, fuzzy
 #| msgid "GPG for OpenPGP"
 msgid "OpenPGP"
 msgstr "GPG pour OpenPGP"
 
-#: tools/gpgconf-comp.c:1095
+#: tools/gpgconf-comp.c:1099
 msgid "Private Keys"
 msgstr ""
 
-#: tools/gpgconf-comp.c:1096
+#: tools/gpgconf-comp.c:1100
 #, fuzzy
 #| msgid "Smartcard Daemon"
 msgid "Smartcards"
 msgstr "Démon de carte à puce"
 
-#: tools/gpgconf-comp.c:1097
+#: tools/gpgconf-comp.c:1101
 #, fuzzy
 #| msgid "GPG for S/MIME"
 msgid "S/MIME"
 msgstr "GPG pour S/MIME"
 
-#: tools/gpgconf-comp.c:1098
+#: tools/gpgconf-comp.c:1102
 #, fuzzy
 #| msgid "network error"
 msgid "Network"
 msgstr "erreur de réseau"
 
-#: tools/gpgconf-comp.c:1099
+#: tools/gpgconf-comp.c:1103
 #, fuzzy
 #| msgid "PIN and Passphrase Entry"
 msgid "Passphrase Entry"
 msgstr "Entrée de code personnel et de phrase secrète"
 
-#: tools/gpgconf-comp.c:1278
+#: tools/gpgconf-comp.c:1282
 msgid "Component not suitable for launching"
 msgstr "Composant non convenable pour le lancement"
 
-#: tools/gpgconf-comp.c:1284
+#: tools/gpgconf-comp.c:1288
 #, fuzzy, c-format
 #| msgid "External verification of component %s failed"
 msgid "Configuration file of component %s is broken\n"
 msgstr "Échec de vérification externe du composant %s"
 
-#: tools/gpgconf-comp.c:1287
+#: tools/gpgconf-comp.c:1291
 #, fuzzy, c-format
 #| msgid "Please use the command \"toggle\" first.\n"
 msgid "Note: Use the command \"%s%s\" to get details.\n"
 msgstr "Veuillez d'abord utiliser la commande « toggle ».\n"
 
-#: tools/gpgconf-comp.c:3446
+#: tools/gpgconf-comp.c:3454
 #, c-format
 msgid "External verification of component %s failed"
 msgstr "Échec de vérification externe du composant %s"
 
-#: tools/gpgconf-comp.c:3597
+#: tools/gpgconf-comp.c:3605
 msgid "Note that group specifications are ignored\n"
 msgstr "Remarquez que les spécifications de groupe sont ignorées\n"
 
-#: tools/gpgconf-comp.c:4195
+#: tools/gpgconf-comp.c:4203
 #, fuzzy, c-format
 #| msgid "error closing '%s': %s\n"
 msgid "error closing '%s'\n"
 msgstr "erreur de fermeture de « %s » : %s\n"
 
-#: tools/gpgconf-comp.c:4197
+#: tools/gpgconf-comp.c:4205
 #, fuzzy, c-format
 #| msgid "error hashing '%s': %s\n"
 msgid "error parsing '%s'\n"
@@ -11561,6 +11420,123 @@ msgstr ""
 "Vérifier une phrase secrète donnée sur l'entrée standard par rapport à "
 "ficmotif\n"
 
+#~ msgid "requesting key %s from %s server %s\n"
+#~ msgstr "demande de la clef %s sur le serveur %s %s\n"
+
+#~ msgid "%s:%u: no hostname given\n"
+#~ msgstr "%s : %u : aucun nom d'hôte donné\n"
+
+#~ msgid "could not parse keyserver\n"
+#~ msgstr "impossible d'analyser le serveur de clefs\n"
+
+#~ msgid "return all values in a record oriented format"
+#~ msgstr "renvoyer toutes les valeurs au format enreg."
+
+#~ msgid "|NAME|ignore host part and connect through NAME"
+#~ msgstr "|NOM|ignorer l'hôte et se connecter par NOM"
+
+#~ msgid "|NAME|connect to host NAME"
+#~ msgstr "|NOM|se connecter à l'hôte NOM"
+
+#~ msgid "|N|connect to port N"
+#~ msgstr "|N|se connecter au port N"
+
+#~ msgid "|NAME|use user NAME for authentication"
+#~ msgstr "|NOM|utiliser le NOM d'utilisateur pour authentif."
+
+#~ msgid "|PASS|use password PASS for authentication"
+#~ msgstr "|MDP|utiliser le mot de passe MDP pour authentif."
+
+#~ msgid "take password from $DIRMNGR_LDAP_PASS"
+#~ msgstr "prendre le mot de passe de $DIRMNGR_LDAP_PASS"
+
+#~ msgid "|STRING|query DN STRING"
+#~ msgstr "|CHAÎNE|demander la CHAÎNE DN"
+
+#~ msgid "|STRING|use STRING as filter expression"
+#~ msgstr "|CHAÎNE|utiliser la CHAÎNE comme expression de filtre"
+
+#~ msgid "|STRING|return the attribute STRING"
+#~ msgstr "|CHAÎNE|renvoyer l'attribut CHAÎNE"
+
+#~ msgid "Usage: dirmngr_ldap [options] [URL] (-h for help)\n"
+#~ msgstr "Utilisation : dirmngr_ldap [options] [URL] (-h pour l'aide)\n"
+
+#~ msgid ""
+#~ "Syntax: dirmngr_ldap [options] [URL]\n"
+#~ "Internal LDAP helper for Dirmngr\n"
+#~ "Interface and options may change without notice\n"
+#~ msgstr ""
+#~ "Syntaxe : dirmngr_ldap [options] [URL]\n"
+#~ "Assistant LDAP interne pour Dirmngr\n"
+#~ "L'interface et les options pourraient changer sans prévenir\n"
+
+#~ msgid "invalid port number %d\n"
+#~ msgstr "numéro de port %d incorrect\n"
+
+#~ msgid "scanning result for attribute '%s'\n"
+#~ msgstr "examen de résultat pour l'attribut « %s »\n"
+
+#~ msgid "error writing to stdout: %s\n"
+#~ msgstr "erreur d'écriture sur la sortie standard : %s\n"
+
+#~ msgid "          available attribute '%s'\n"
+#~ msgstr "          attribut « %s » disponible\n"
+
+#~ msgid "attribute '%s' not found\n"
+#~ msgstr "attribut « %s » introuvable\n"
+
+#~ msgid "found attribute '%s'\n"
+#~ msgstr "attribut « %s » trouvé\n"
+
+#~ msgid "processing url '%s'\n"
+#~ msgstr "traitement de l'URL « %s »\n"
+
+#~ msgid "          user '%s'\n"
+#~ msgstr "  utilisateur « %s »\n"
+
+#~ msgid "          pass '%s'\n"
+#~ msgstr " mot de passe « %s »\n"
+
+#~ msgid "          host '%s'\n"
+#~ msgstr "         hôte « %s »\n"
+
+#~ msgid "          port %d\n"
+#~ msgstr "         port %d\n"
+
+#~ msgid "            DN '%s'\n"
+#~ msgstr "           DN « %s »\n"
+
+#~ msgid "        filter '%s'\n"
+#~ msgstr "       filtre « %s »\n"
+
+#~ msgid "          attr '%s'\n"
+#~ msgstr "     attribut « %s »\n"
+
+#~ msgid "no host name in '%s'\n"
+#~ msgstr "aucun nom d'hôte donné dans « %s »\n"
+
+#~ msgid "no attribute given for query '%s'\n"
+#~ msgstr "pas d'attribut donné pour la requête « %s »\n"
+
+#~ msgid "WARNING: using first attribute only\n"
+#~ msgstr "Attention : utilisation du premier attribut seulement\n"
+
+#~ msgid "LDAP init to '%s:%d' failed: %s\n"
+#~ msgstr "échec d'initialisation de LDAP à « %s : %d » : %s\n"
+
+#~ msgid "binding to '%s:%d' failed: %s\n"
+#~ msgstr "échec du lien de « %s : %d » : %s\n"
+
+#~ msgid "searching '%s' failed: %s\n"
+#~ msgstr "échec de recherche de « %s » : %s\n"
+
+#~ msgid "start_cert_fetch: invalid pattern '%s'\n"
+#~ msgstr "start_cert_fetch : motif « %s » incorrect\n"
+
+#~ msgid "ldapserver missing"
+#~ msgstr "ldapserver manquant"
+
 #~ msgid "Note: old default options file '%s' ignored\n"
 #~ msgstr ""
 #~ "Remarque : l'ancien fichier d'options par défaut « %s » a été ignoré\n"
index 981dafd..bab01ef 100644 (file)
--- a/po/gl.po
+++ b/po/gl.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: gnupg 1.2.4\n"
 "Report-Msgid-Bugs-To: translations@gnupg.org\n"
-"POT-Creation-Date: 2021-01-11 18:47+0100\n"
+"POT-Creation-Date: 2021-06-10 18:59+0200\n"
 "PO-Revision-Date: 2003-12-04 11:39+0100\n"
 "Last-Translator: Jacobo Tarrio <jtarrio@trasno.net>\n"
 "Language-Team: Galician <gpul-traduccion@ceu.fi.udc.es>\n"
@@ -106,7 +106,7 @@ msgid "Passphrase:"
 msgstr "contrasinal erróneo"
 
 #: agent/call-pinentry.c:1107 agent/call-pinentry.c:1359
-#: agent/command-ssh.c:3130 agent/genkey.c:416
+#: agent/command-ssh.c:3140 agent/genkey.c:416
 msgid "does not match - try again"
 msgstr ""
 
@@ -161,34 +161,34 @@ msgstr "contrasinal erróneo"
 msgid "ssh keys greater than %d bits are not supported\n"
 msgstr "o algoritmo de protección %d%s non está soportado\n"
 
-#: agent/command-ssh.c:862 common/dotlock.c:852 g10/card-util.c:932
-#: g10/exec.c:546 g10/export.c:1320 g10/gpg.c:1352 g10/keygen.c:4998
-#: g10/keyring.c:1322 g10/keyring.c:1637 g10/openfile.c:291 g10/sign.c:1009
-#: g10/sign.c:1323 g10/tdbio.c:753
+#: agent/command-ssh.c:862 common/dotlock.c:852 g10/card-util.c:933
+#: g10/exec.c:554 g10/export.c:1320 g10/gpg.c:1360 g10/keygen.c:4998
+#: g10/keyring.c:1322 g10/keyring.c:1637 g10/openfile.c:291 g10/sign.c:1008
+#: g10/sign.c:1322 g10/tdbio.c:753
 #, fuzzy, c-format
 #| msgid "can't create `%s': %s\n"
 msgid "can't create '%s': %s\n"
 msgstr "non se pode crear `%s': %s\n"
 
-#: agent/command-ssh.c:874 common/helpfile.c:57 g10/card-util.c:889
+#: agent/command-ssh.c:874 common/helpfile.c:57 g10/card-util.c:890
 #: g10/dearmor.c:59 g10/dearmor.c:106 g10/decrypt.c:65 g10/decrypt.c:136
-#: g10/decrypt.c:153 g10/encrypt.c:180 g10/encrypt.c:543 g10/gpg.c:1353
-#: g10/import.c:352 g10/import.c:536 g10/import.c:764 g10/keygen.c:4036
+#: g10/decrypt.c:153 g10/encrypt.c:180 g10/encrypt.c:543 g10/gpg.c:1361
+#: g10/import.c:364 g10/import.c:548 g10/import.c:776 g10/keygen.c:4036
 #: g10/keyring.c:1663 g10/openfile.c:195 g10/openfile.c:209 g10/plaintext.c:128
-#: g10/plaintext.c:649 g10/sign.c:991 g10/sign.c:1202 g10/sign.c:1307
-#: g10/sign.c:1452 g10/tdbdump.c:143 g10/tdbdump.c:151 g10/tdbio.c:758
-#: g10/tdbio.c:829 g10/verify.c:96 g10/verify.c:160 sm/gpgsm.c:2219
-#: sm/gpgsm.c:2249 sm/gpgsm.c:2287 sm/qualified.c:66 dirmngr/certcache.c:396
+#: g10/plaintext.c:649 g10/sign.c:990 g10/sign.c:1201 g10/sign.c:1306
+#: g10/sign.c:1451 g10/tdbdump.c:143 g10/tdbdump.c:151 g10/tdbio.c:758
+#: g10/tdbio.c:829 g10/verify.c:96 g10/verify.c:160 sm/gpgsm.c:2125
+#: sm/gpgsm.c:2155 sm/gpgsm.c:2193 sm/qualified.c:66 dirmngr/certcache.c:396
 #: dirmngr/certcache.c:476 dirmngr/certcache.c:478 dirmngr/crlcache.c:2588
-#: dirmngr/dirmngr.c:1722
+#: dirmngr/dirmngr.c:1759
 #, fuzzy, c-format
 #| msgid "can't open `%s': %s\n"
 msgid "can't open '%s': %s\n"
 msgstr "non se puido abrir `%s': %s\n"
 
 #: agent/command-ssh.c:2385 agent/command-ssh.c:2431 agent/command-ssh.c:2449
-#: agent/command-ssh.c:2601 g10/card-util.c:687 g10/card-util.c:708
-#: g10/skclist.c:430
+#: agent/command-ssh.c:2601 g10/card-util.c:688 g10/card-util.c:709
+#: g10/skclist.c:435
 #, fuzzy, c-format
 msgid "error getting serial number of card: %s\n"
 msgstr "erro ao crea-lo contrasinal: %s\n"
@@ -213,39 +213,39 @@ msgstr "non se atopou un chaveiro privado no que se poida escribir: %s\n"
 msgid "error getting list of cards: %s\n"
 msgstr "erro ao crea-lo contrasinal: %s\n"
 
-#: agent/command-ssh.c:2765
+#: agent/command-ssh.c:2775
 #, c-format
 msgid ""
 "An ssh process requested the use of key%%0A  %s%%0A  (%s)%%0ADo you want to "
 "allow this?"
 msgstr ""
 
-#: agent/command-ssh.c:2772
+#: agent/command-ssh.c:2782
 msgid "Allow"
 msgstr ""
 
-#: agent/command-ssh.c:2772
+#: agent/command-ssh.c:2782
 msgid "Deny"
 msgstr ""
 
-#: agent/command-ssh.c:2781
+#: agent/command-ssh.c:2791
 #, fuzzy, c-format
 msgid "Please enter the passphrase for the ssh key%%0A  %F%%0A  (%c)"
 msgstr "Por favor, introduza o contrasinal; esta é unha frase secreta \n"
 
-#: agent/command-ssh.c:3058 agent/genkey.c:351
+#: agent/command-ssh.c:3068 agent/genkey.c:351
 #, fuzzy
 msgid "Please re-enter this passphrase"
 msgstr "cambia-lo contrasinal"
 
-#: agent/command-ssh.c:3085
+#: agent/command-ssh.c:3095
 #, fuzzy, c-format
 msgid ""
 "Please enter a passphrase to protect the received secret key%%0A   %s%%0A   "
 "%s%%0Awithin gpg-agent's key storage"
 msgstr "Por favor, introduza o contrasinal; esta é unha frase secreta \n"
 
-#: agent/command-ssh.c:3667
+#: agent/command-ssh.c:3677
 #, fuzzy, c-format
 msgid "failed to create stream from socket: %s\n"
 msgstr "%s: fallo ao crear unha táboa hash: %s\n"
@@ -401,48 +401,46 @@ msgstr ""
 "Opcións:\n"
 " "
 
-#: agent/gpg-agent.c:165 scd/scdaemon.c:120 dirmngr/dirmngr.c:166
+#: agent/gpg-agent.c:165 scd/scdaemon.c:120 dirmngr/dirmngr.c:167
 msgid "run in daemon mode (background)"
 msgstr ""
 
-#: agent/gpg-agent.c:166 scd/scdaemon.c:117 dirmngr/dirmngr.c:165
+#: agent/gpg-agent.c:166 scd/scdaemon.c:117 dirmngr/dirmngr.c:166
 msgid "run in server mode (foreground)"
 msgstr ""
 
-#: agent/gpg-agent.c:168 dirmngr/dirmngr.c:168
+#: agent/gpg-agent.c:168 dirmngr/dirmngr.c:169
 #, fuzzy
 #| msgid "Key is superseded"
 msgid "run in supervised mode"
 msgstr "A chave é obsoleta"
 
-#: agent/gpg-agent.c:170 g10/gpg.c:608 g10/gpgv.c:78 kbx/kbxutil.c:88
-#: scd/scdaemon.c:121 sm/gpgsm.c:310 dirmngr/dirmngr-client.c:70
-#: dirmngr/dirmngr.c:181 dirmngr/dirmngr_ldap.c:135
-#: tools/gpg-connect-agent.c:78 tools/gpgconf.c:108
+#: agent/gpg-agent.c:170 g10/gpg.c:605 g10/gpgv.c:78 kbx/kbxutil.c:88
+#: scd/scdaemon.c:121 sm/gpgsm.c:311 dirmngr/dirmngr-client.c:70
+#: dirmngr/dirmngr.c:182 tools/gpg-connect-agent.c:78 tools/gpgconf.c:108
 msgid "verbose"
 msgstr "lareto"
 
 #: agent/gpg-agent.c:171 g10/gpgv.c:79 kbx/kbxutil.c:89 scd/scdaemon.c:122
-#: sm/gpgsm.c:311 dirmngr/dirmngr-client.c:71 dirmngr/dirmngr.c:182
-#: dirmngr/dirmngr_ldap.c:136
+#: sm/gpgsm.c:312 dirmngr/dirmngr-client.c:71 dirmngr/dirmngr.c:183
 msgid "be somewhat more quiet"
 msgstr "ser un pouquiño máis calado"
 
-#: agent/gpg-agent.c:172 scd/scdaemon.c:123 dirmngr/dirmngr.c:183
+#: agent/gpg-agent.c:172 scd/scdaemon.c:123 dirmngr/dirmngr.c:184
 msgid "sh-style command output"
 msgstr ""
 
-#: agent/gpg-agent.c:173 scd/scdaemon.c:124 dirmngr/dirmngr.c:184
+#: agent/gpg-agent.c:173 scd/scdaemon.c:124 dirmngr/dirmngr.c:185
 msgid "csh-style command output"
 msgstr ""
 
-#: agent/gpg-agent.c:174 scd/scdaemon.c:125 sm/gpgsm.c:341
-#: dirmngr/dirmngr.c:185
+#: agent/gpg-agent.c:174 scd/scdaemon.c:125 sm/gpgsm.c:344
+#: dirmngr/dirmngr.c:186
 #, fuzzy
 msgid "|FILE|read options from FILE"
 msgstr "|FICHEIRO|carga-lo módulo de extensión FICHEIRO"
 
-#: agent/gpg-agent.c:183 scd/scdaemon.c:135 dirmngr/dirmngr.c:188
+#: agent/gpg-agent.c:183 scd/scdaemon.c:135 dirmngr/dirmngr.c:189
 msgid "do not detach from the console"
 msgstr ""
 
@@ -528,9 +526,9 @@ msgstr "non está soportado"
 #. reporting address.  This is so that we can change the
 #. reporting address without breaking the translations.
 #: agent/gpg-agent.c:531 agent/preset-passphrase.c:100 agent/protect-tool.c:155
-#: g10/gpg.c:1070 g10/gpgv.c:149 kbx/kbxutil.c:113 scd/scdaemon.c:298
-#: sm/gpgsm.c:567 dirmngr/dirmngr-client.c:168 dirmngr/dirmngr.c:404
-#: dirmngr/dirmngr_ldap.c:207 tools/gpg-connect-agent.c:205 tools/gpgconf.c:146
+#: g10/gpg.c:1074 g10/gpgv.c:149 kbx/kbxutil.c:113 scd/scdaemon.c:299
+#: sm/gpgsm.c:570 dirmngr/dirmngr-client.c:168 dirmngr/dirmngr.c:412
+#: tools/gpg-connect-agent.c:205 tools/gpgconf.c:146
 #: tools/gpg-check-pattern.c:143
 #, fuzzy
 msgid "Please report bugs to <@EMAIL@>.\n"
@@ -549,39 +547,39 @@ msgid ""
 "Secret key management for @GNUPG@\n"
 msgstr ""
 
-#: agent/gpg-agent.c:587 g10/gpg.c:1262 scd/scdaemon.c:370 sm/gpgsm.c:715
-#: dirmngr/dirmngr.c:488
+#: agent/gpg-agent.c:587 g10/gpg.c:1270 scd/scdaemon.c:371 sm/gpgsm.c:718
+#: dirmngr/dirmngr.c:496
 #, c-format
 msgid "invalid debug-level '%s' given\n"
 msgstr ""
 
-#: agent/gpg-agent.c:945 g10/gpg.c:3753 g10/gpg.c:3777 sm/gpgsm.c:1631
-#: sm/gpgsm.c:1637
+#: agent/gpg-agent.c:945 g10/gpg.c:3773 g10/gpg.c:3797 sm/gpgsm.c:1531
+#: sm/gpgsm.c:1537
 #, c-format
 msgid "selected digest algorithm is invalid\n"
 msgstr "o algoritmo de resumo seleccionado non é válido\n"
 
 #: agent/gpg-agent.c:1168 agent/gpg-agent.c:2023 common/argparse.c:1755
-#: common/argparse.c:1847 g10/gpg.c:2482 scd/scdaemon.c:532 sm/gpgsm.c:1063
-#: dirmngr/dirmngr.c:956 dirmngr/dirmngr.c:1841
+#: common/argparse.c:1847 g10/gpg.c:2495 scd/scdaemon.c:533 sm/gpgsm.c:977
+#: dirmngr/dirmngr.c:994 dirmngr/dirmngr.c:1878
 #, fuzzy, c-format
 #| msgid "reading options from `%s'\n"
 msgid "reading options from '%s'\n"
 msgstr "lendo as opcións de `%s'\n"
 
-#: agent/gpg-agent.c:1300 g10/gpg.c:3704 scd/scdaemon.c:655 sm/gpgsm.c:1571
-#: dirmngr/dirmngr.c:1067 tools/gpg-connect-agent.c:1244 tools/gpgconf.c:624
+#: agent/gpg-agent.c:1300 g10/gpg.c:3724 scd/scdaemon.c:657 sm/gpgsm.c:1471
+#: dirmngr/dirmngr.c:1102 tools/gpg-connect-agent.c:1244 tools/gpgconf.c:624
 #, fuzzy, c-format
 #| msgid "WARNING: \"%s\" is a deprecated option\n"
 msgid "Note: '%s' is not considered an option\n"
 msgstr "AVISO: \"%s\" é unha opción a extinguir\n"
 
-#: agent/gpg-agent.c:2159 scd/scdaemon.c:1096 dirmngr/dirmngr.c:1219
+#: agent/gpg-agent.c:2159 scd/scdaemon.c:1098 dirmngr/dirmngr.c:1256
 #, fuzzy, c-format
 msgid "can't create socket: %s\n"
 msgstr "non foi posible crear %s: %s\n"
 
-#: agent/gpg-agent.c:2176 scd/scdaemon.c:1109 dirmngr/dirmngr.c:1232
+#: agent/gpg-agent.c:2176 scd/scdaemon.c:1111 dirmngr/dirmngr.c:1269
 #, fuzzy, c-format
 msgid "socket name '%s' is too long\n"
 msgstr "Revocación de certificado válida"
@@ -591,29 +589,29 @@ msgstr "Revocación de certificado válida"
 msgid "a gpg-agent is already running - not starting a new one\n"
 msgstr "gpg-agent non está dispoñible nesta sesión\n"
 
-#: agent/gpg-agent.c:2226 scd/scdaemon.c:1133 dirmngr/dirmngr.c:1264
+#: agent/gpg-agent.c:2226 scd/scdaemon.c:1135 dirmngr/dirmngr.c:1301
 #, fuzzy, c-format
 msgid "error getting nonce for the socket\n"
 msgstr "erro ao crea-lo contrasinal: %s\n"
 
-#: agent/gpg-agent.c:2231 scd/scdaemon.c:1136 dirmngr/dirmngr.c:1267
+#: agent/gpg-agent.c:2231 scd/scdaemon.c:1138 dirmngr/dirmngr.c:1304
 #, fuzzy, c-format
 msgid "error binding socket to '%s': %s\n"
 msgstr "erro ao enviar a `%s': %s\n"
 
 #: agent/gpg-agent.c:2242 agent/gpg-agent.c:2282 agent/gpg-agent.c:2291
-#: scd/scdaemon.c:1144 dirmngr/dirmngr.c:1276
+#: scd/scdaemon.c:1146 dirmngr/dirmngr.c:1313
 #, fuzzy, c-format
 msgid "can't set permissions of '%s': %s\n"
 msgstr "AVISO: permisos inseguros en %s \"%s\"\n"
 
-#: agent/gpg-agent.c:2256 scd/scdaemon.c:1156 dirmngr/dirmngr.c:1288
+#: agent/gpg-agent.c:2256 scd/scdaemon.c:1158 dirmngr/dirmngr.c:1325
 #, fuzzy, c-format
 msgid "listening on socket '%s'\n"
 msgstr "gravando a chave secreta en `%s'\n"
 
 #: agent/gpg-agent.c:2276 agent/gpg-agent.c:2329 common/homedir.c:517
-#: g10/exec.c:261 g10/openfile.c:397
+#: g10/exec.c:269 g10/openfile.c:397
 #, fuzzy, c-format
 #| msgid "can't create directory `%s': %s\n"
 msgid "can't create directory '%s': %s\n"
@@ -635,7 +633,7 @@ msgstr "base de datos de confianza: fallou a lectura (n=%d): %s\n"
 msgid "can't use '%s' as home directory\n"
 msgstr "%s: non foi posible crear un directorio: %s\n"
 
-#: agent/gpg-agent.c:2502 scd/scdaemon.c:1172 dirmngr/dirmngr.c:2047
+#: agent/gpg-agent.c:2502 scd/scdaemon.c:1174 dirmngr/dirmngr.c:2084
 #, fuzzy, c-format
 msgid "error reading nonce on fd %d: %s\n"
 msgstr "erro lendo `%s': %s\n"
@@ -660,12 +658,12 @@ msgstr ""
 msgid "ssh handler 0x%lx for fd %d terminated\n"
 msgstr ""
 
-#: agent/gpg-agent.c:3016 scd/scdaemon.c:1362 dirmngr/dirmngr.c:2261
+#: agent/gpg-agent.c:3016 scd/scdaemon.c:1366 dirmngr/dirmngr.c:2298
 #, fuzzy, c-format
 msgid "npth_pselect failed: %s - waiting 1s\n"
 msgstr "o segredo da actualización fallou: %s\n"
 
-#: agent/gpg-agent.c:3104 scd/scdaemon.c:1427
+#: agent/gpg-agent.c:3104 scd/scdaemon.c:1431
 #, fuzzy, c-format
 msgid "%s %s stopped\n"
 msgstr "\t%lu chaves omitidas\n"
@@ -687,8 +685,8 @@ msgid ""
 "Password cache maintenance\n"
 msgstr ""
 
-#: agent/protect-tool.c:108 g10/gpg.c:440 kbx/kbxutil.c:71 sm/gpgsm.c:204
-#: dirmngr/dirmngr.c:163 tools/gpgconf.c:78
+#: agent/protect-tool.c:108 g10/gpg.c:437 kbx/kbxutil.c:71 sm/gpgsm.c:205
+#: dirmngr/dirmngr.c:164 tools/gpgconf.c:78
 msgid ""
 "@Commands:\n"
 " "
@@ -696,8 +694,8 @@ msgstr ""
 "@Comandos:\n"
 " "
 
-#: agent/protect-tool.c:117 g10/gpg.c:553 g10/gpgv.c:76 kbx/kbxutil.c:81
-#: sm/gpgsm.c:252 dirmngr/dirmngr.c:179 tools/gpg-connect-agent.c:76
+#: agent/protect-tool.c:117 g10/gpg.c:550 g10/gpgv.c:76 kbx/kbxutil.c:81
+#: sm/gpgsm.c:253 dirmngr/dirmngr.c:180 tools/gpg-connect-agent.c:76
 #: tools/gpgconf.c:105
 msgid ""
 "@\n"
@@ -719,12 +717,12 @@ msgid ""
 "Secret key maintenance tool\n"
 msgstr ""
 
-#: agent/protect-tool.c:703
+#: agent/protect-tool.c:703 sm/import.c:774
 #, fuzzy
 msgid "Please enter the passphrase to unprotect the PKCS#12 object."
 msgstr "Por favor, introduza o contrasinal; esta é unha frase secreta \n"
 
-#: agent/protect-tool.c:708
+#: agent/protect-tool.c:708 sm/export.c:710
 #, fuzzy
 msgid "Please enter the passphrase to protect the new PKCS#12 object."
 msgstr "Por favor, introduza o contrasinal; esta é unha frase secreta \n"
@@ -752,7 +750,7 @@ msgstr "Cancelar"
 msgid "error while asking for the passphrase: %s\n"
 msgstr "erro ao crea-lo contrasinal: %s\n"
 
-#: agent/trustlist.c:154 agent/trustlist.c:364 dirmngr/dirmngr.c:1629
+#: agent/trustlist.c:154 agent/trustlist.c:364 dirmngr/dirmngr.c:1666
 #: tools/gpgconf.c:418
 #, fuzzy, c-format
 msgid "error opening '%s': %s\n"
@@ -908,7 +906,7 @@ msgstr "fallou a comprobación da sinatura creada: %s\n"
 msgid "secret key parts are not available\n"
 msgstr "hai partes da chave secreta non dispoñibles\n"
 
-#: agent/cvt-openpgp.c:344 g10/card-util.c:1540
+#: agent/cvt-openpgp.c:344 g10/card-util.c:1541
 #, fuzzy, c-format
 #| msgid "protection algorithm %d%s is not supported\n"
 msgid "public key algorithm %d (%s) is not supported\n"
@@ -926,21 +924,21 @@ msgstr "o algoritmo de protección %d%s non está soportado\n"
 msgid "protection hash algorithm %d (%s) is not supported\n"
 msgstr "o algoritmo de protección %d%s non está soportado\n"
 
-#: common/exechelp-posix.c:359 common/exechelp-w32.c:449
-#: common/exechelp-w32.c:473 common/exechelp-w32.c:503
+#: common/exechelp-posix.c:359 common/exechelp-w32.c:451
+#: common/exechelp-w32.c:475 common/exechelp-w32.c:505
 #, fuzzy, c-format
 msgid "error creating a pipe: %s\n"
 msgstr "erro ao crea-lo contrasinal: %s\n"
 
 #: common/exechelp-posix.c:372 common/exechelp-w32.c:355
-#: common/exechelp-w32.c:459 common/exechelp-w32.c:483
-#: common/exechelp-w32.c:513
+#: common/exechelp-w32.c:461 common/exechelp-w32.c:485
+#: common/exechelp-w32.c:515
 #, fuzzy, c-format
 msgid "error creating a stream for a pipe: %s\n"
 msgstr "erro ao crea-lo contrasinal: %s\n"
 
 #: common/exechelp-posix.c:495 common/exechelp-posix.c:570
-#: common/exechelp-posix.c:851 dirmngr/dirmngr.c:1306
+#: common/exechelp-posix.c:856 dirmngr/dirmngr.c:1343
 #, fuzzy, c-format
 msgid "error forking process: %s\n"
 msgstr "erro lendo `%s': %s\n"
@@ -950,28 +948,28 @@ msgstr "erro lendo `%s': %s\n"
 msgid "waiting for process %d to terminate failed: %s\n"
 msgstr ""
 
-#: common/exechelp-posix.c:678 common/exechelp-posix.c:794
+#: common/exechelp-posix.c:678 common/exechelp-posix.c:799
 #, fuzzy, c-format
 msgid "error running '%s': probably not installed\n"
 msgstr "erro lendo `%s': %s\n"
 
-#: common/exechelp-posix.c:684 common/exechelp-posix.c:801
-#: common/exechelp-w32.c:796 common/exechelp-w32ce.c:781
+#: common/exechelp-posix.c:684 common/exechelp-posix.c:806
+#: common/exechelp-w32.c:829 common/exechelp-w32ce.c:781
 #, fuzzy, c-format
 msgid "error running '%s': exit status %d\n"
 msgstr "erro lendo `%s': %s\n"
 
-#: common/exechelp-posix.c:692 common/exechelp-posix.c:809
+#: common/exechelp-posix.c:692 common/exechelp-posix.c:814
 #, fuzzy, c-format
 msgid "error running '%s': terminated\n"
 msgstr "erro lendo `%s': %s\n"
 
-#: common/exechelp-posix.c:750 common/exechelp-w32.c:777
+#: common/exechelp-posix.c:755 common/exechelp-w32.c:810
 #, fuzzy, c-format
 msgid "waiting for processes to terminate failed: %s\n"
 msgstr "a actualización fallou: %s\n"
 
-#: common/exechelp-w32.c:789 common/exechelp-w32ce.c:775
+#: common/exechelp-w32.c:822 common/exechelp-w32ce.c:775
 #, fuzzy, c-format
 msgid "error getting exit code of process %d: %s\n"
 msgstr "erro escribindo no chaveiro secreto `%s': %s\n"
@@ -1068,7 +1066,7 @@ msgstr ""
 msgid "out of core while allocating %lu bytes"
 msgstr ""
 
-#: common/miscellaneous.c:115 g10/card-util.c:896 tools/no-libgcrypt.c:30
+#: common/miscellaneous.c:115 g10/card-util.c:897 tools/no-libgcrypt.c:30
 #, fuzzy, c-format
 msgid "error allocating enough memory: %s\n"
 msgstr "erro ao crea-lo chaveiro `%s': %s\n"
@@ -1193,7 +1191,7 @@ msgid "algorithm: %s"
 msgstr "armadura: %s\n"
 
 #: common/audit.c:774 common/audit.c:776 common/audit.c:921 common/audit.c:923
-#: scd/app-openpgp.c:3555
+#: scd/app-openpgp.c:3554
 #, fuzzy, c-format
 msgid "unsupported algorithm: %s"
 msgstr ""
@@ -1336,6 +1334,26 @@ msgstr "descoñecido"
 msgid "invalid radix64 character %02x skipped\n"
 msgstr "carácter radix64 non válido %02x omitido\n"
 
+#: common/ttyio.c:433
+#, c-format
+msgid "Sorry, we are in batchmode - can't get input\n"
+msgstr ""
+
+#: common/ttyio.c:439
+#, c-format
+msgid "Sorry, no terminal at all requested - can't get input\n"
+msgstr ""
+
+#: common/ttyio.c:474 common/ttyio.c:484
+#, c-format
+msgid "too many errors; giving up\n"
+msgstr ""
+
+#: common/ttyio.c:536
+#, c-format
+msgid "Control-D detected\n"
+msgstr ""
+
 #: common/argparse.c:520
 #, fuzzy
 msgid "argument not expected"
@@ -1407,7 +1425,7 @@ msgstr "opcións de importación non válidas\n"
 msgid "missing argument for option \"%.50s\"\n"
 msgstr ""
 
-#: common/argparse.c:558 g10/gpg.c:3490
+#: common/argparse.c:558 g10/gpg.c:3510
 #, fuzzy, c-format
 msgid "invalid argument for option \"%.50s\"\n"
 msgstr "opcións de importación non válidas\n"
@@ -1479,31 +1497,31 @@ msgstr "non se pode crea-lo directorio `%s': %s\n"
 msgid "error writing to '%s': %s\n"
 msgstr "erro escribindo no chaveiro `%s': %s\n"
 
-#: common/dotlock.c:1129
+#: common/dotlock.c:1137
 #, c-format
 msgid "removing stale lockfile (created by %d)\n"
 msgstr ""
 
-#: common/dotlock.c:1165
+#: common/dotlock.c:1173
 #, fuzzy, c-format
 msgid "waiting for lock (held by %d%s) %s...\n"
 msgstr "gravando a chave secreta en `%s'\n"
 
-#: common/dotlock.c:1166
+#: common/dotlock.c:1174
 msgid "(deadlock?) "
 msgstr ""
 
-#: common/dotlock.c:1205
+#: common/dotlock.c:1213
 #, fuzzy, c-format
 msgid "lock '%s' not made: %s\n"
 msgstr "non se atopou a chave pública %08lX: %s\n"
 
-#: common/dotlock.c:1232
+#: common/dotlock.c:1240
 #, fuzzy, c-format
 msgid "waiting for lock %s...\n"
 msgstr "gravando a chave secreta en `%s'\n"
 
-#: common/init.c:185 sm/gpgsm.c:949 dirmngr/dirmngr.c:862 dirmngr/dirmngr.c:871
+#: common/init.c:191 sm/gpgsm.c:863 dirmngr/dirmngr.c:900 dirmngr/dirmngr.c:909
 #, c-format
 msgid "%s is too old (need %s, have %s)\n"
 msgstr ""
@@ -1694,13 +1712,13 @@ msgid "Note: Use the command \"%s\" to restart them.\n"
 msgstr "Por favor, empregue o comando \"toggle\" antes.\n"
 
 #: g10/call-agent.c:318 g10/encrypt.c:154 g10/encrypt.c:620 g10/sign.c:412
-#: sm/call-agent.c:205 sm/encrypt.c:425 sm/sign.c:345
+#: sm/call-agent.c:205 sm/encrypt.c:426 sm/sign.c:345
 #, fuzzy, c-format
 #| msgid "%s does not yet work with %s\n"
 msgid "%s is not compliant with %s mode\n"
 msgstr "¡%s aínda non traballa con %s!\n"
 
-#: g10/call-dirmngr.c:209 sm/call-dirmngr.c:268 tools/gpg-connect-agent.c:2253
+#: g10/call-dirmngr.c:209 sm/call-dirmngr.c:269 tools/gpg-connect-agent.c:2253
 #, fuzzy, c-format
 msgid "no dirmngr running in this session\n"
 msgstr "gpg-agent non está dispoñible nesta sesión\n"
@@ -1743,23 +1761,23 @@ msgstr ""
 msgid "server uses an invalid certificate"
 msgstr "xerar un certificado de revocación"
 
-#: g10/call-dirmngr.c:437 g10/gpg.c:4400
+#: g10/call-dirmngr.c:437 g10/gpg.c:4421
 #, fuzzy, c-format
 #| msgid "armor: %s\n"
 msgid "Note: %s\n"
 msgstr "armadura: %s\n"
 
-#: g10/card-util.c:86 g10/card-util.c:366 g10/card-util.c:1902
+#: g10/card-util.c:86 g10/card-util.c:366 g10/card-util.c:1903
 #, fuzzy, c-format
 msgid "OpenPGP card not available: %s\n"
 msgstr "a chave secreta non está dispoñible"
 
-#: g10/card-util.c:91 g10/card-util.c:1908
+#: g10/card-util.c:91 g10/card-util.c:1909
 #, c-format
 msgid "OpenPGP card no. %s detected\n"
 msgstr ""
 
-#: g10/card-util.c:97 g10/card-util.c:2237 g10/delkey.c:160 g10/keyedit.c:1422
+#: g10/card-util.c:97 g10/card-util.c:2238 g10/delkey.c:160 g10/keyedit.c:1423
 #: g10/keygen.c:4466 g10/revoke.c:214 g10/revoke.c:636
 #, fuzzy, c-format
 msgid "can't do this in batch mode\n"
@@ -1770,13 +1788,13 @@ msgstr "non se pode facer iso no modo por lotes\n"
 msgid "This command is only available for version 2 cards\n"
 msgstr "Non se admite este comando no modo %s.\n"
 
-#: g10/card-util.c:107 scd/app-openpgp.c:2864
+#: g10/card-util.c:107 scd/app-openpgp.c:2863
 #, fuzzy, c-format
 msgid "Reset Code not or not anymore available\n"
 msgstr "hai partes da chave secreta non dispoñibles\n"
 
-#: g10/card-util.c:140 g10/card-util.c:1426 g10/card-util.c:1688
-#: g10/card-util.c:1780 g10/keyedit.c:394 g10/keyedit.c:415 g10/keyedit.c:429
+#: g10/card-util.c:140 g10/card-util.c:1427 g10/card-util.c:1689
+#: g10/card-util.c:1781 g10/keyedit.c:394 g10/keyedit.c:415 g10/keyedit.c:429
 #: g10/keygen.c:1808 g10/keygen.c:1980 g10/keygen.c:2186 g10/keygen.c:2477
 #: sm/certreqgen-ui.c:165 sm/certreqgen-ui.c:291 sm/certreqgen-ui.c:325
 msgid "Your selection? "
@@ -1803,213 +1821,213 @@ msgstr "non procesado"
 msgid "forced"
 msgstr ""
 
-#: g10/card-util.c:749
+#: g10/card-util.c:750
 msgid "Error: Only plain ASCII is currently allowed.\n"
 msgstr ""
 
-#: g10/card-util.c:751
+#: g10/card-util.c:752
 msgid "Error: The \"<\" character may not be used.\n"
 msgstr ""
 
-#: g10/card-util.c:753
+#: g10/card-util.c:754
 msgid "Error: Double spaces are not allowed.\n"
 msgstr ""
 
-#: g10/card-util.c:770
+#: g10/card-util.c:771
 msgid "Cardholder's surname: "
 msgstr ""
 
-#: g10/card-util.c:772
+#: g10/card-util.c:773
 msgid "Cardholder's given name: "
 msgstr ""
 
-#: g10/card-util.c:790
+#: g10/card-util.c:791
 #, c-format
 msgid "Error: Combined name too long (limit is %d characters).\n"
 msgstr ""
 
-#: g10/card-util.c:811
+#: g10/card-util.c:812
 #, fuzzy
 msgid "URL to retrieve public key: "
 msgstr "non hai unha chave pública correspondente: %s\n"
 
-#: g10/card-util.c:905 g10/decrypt-data.c:490 g10/import.c:387 g10/import.c:734
-#: g10/import.c:786 dirmngr/crlcache.c:655 dirmngr/crlcache.c:660
-#: dirmngr/crlcache.c:914 dirmngr/crlcache.c:920 dirmngr/dirmngr.c:1668
+#: g10/card-util.c:906 g10/decrypt-data.c:490 g10/import.c:399 g10/import.c:746
+#: g10/import.c:798 dirmngr/crlcache.c:655 dirmngr/crlcache.c:660
+#: dirmngr/crlcache.c:914 dirmngr/crlcache.c:920 dirmngr/dirmngr.c:1705
 #: tools/gpgconf.c:431 tools/gpgconf.c:477
 #, fuzzy, c-format
 #| msgid "error reading `%s': %s\n"
 msgid "error reading '%s': %s\n"
 msgstr "erro lendo `%s': %s\n"
 
-#: g10/card-util.c:938 g10/decrypt-data.c:493 g10/export.c:2467
+#: g10/card-util.c:939 g10/decrypt-data.c:493 g10/export.c:2467
 #: dirmngr/crlcache.c:925
 #, fuzzy, c-format
 msgid "error writing '%s': %s\n"
 msgstr "erro escribindo no chaveiro `%s': %s\n"
 
-#: g10/card-util.c:965
+#: g10/card-util.c:966
 msgid "Login data (account name): "
 msgstr ""
 
-#: g10/card-util.c:1003
+#: g10/card-util.c:1004
 msgid "Private DO data: "
 msgstr ""
 
-#: g10/card-util.c:1088
+#: g10/card-util.c:1089
 #, fuzzy
 msgid "Language preferences: "
 msgstr "preferencias actualizadas"
 
-#: g10/card-util.c:1096
+#: g10/card-util.c:1097
 #, fuzzy
 msgid "Error: invalid length of preference string.\n"
 msgstr "caracter non válido na cadea de preferencias\n"
 
-#: g10/card-util.c:1105
+#: g10/card-util.c:1106
 #, fuzzy
 msgid "Error: invalid characters in preference string.\n"
 msgstr "caracter non válido na cadea de preferencias\n"
 
-#: g10/card-util.c:1127
+#: g10/card-util.c:1128
 msgid "Salutation (M = Mr., F = Ms., or space): "
 msgstr ""
 
-#: g10/card-util.c:1141
+#: g10/card-util.c:1142
 #, fuzzy
 msgid "Error: invalid response.\n"
 msgstr "erro: pegada dactilar non válida\n"
 
-#: g10/card-util.c:1163
+#: g10/card-util.c:1164
 #, fuzzy
 msgid "CA fingerprint: "
 msgstr "Pegada dactilar:"
 
-#: g10/card-util.c:1186
+#: g10/card-util.c:1187
 #, fuzzy
 msgid "Error: invalid formatted fingerprint.\n"
 msgstr "erro: pegada dactilar non válida\n"
 
-#: g10/card-util.c:1236
+#: g10/card-util.c:1237
 #, fuzzy, c-format
 msgid "key operation not possible: %s\n"
 msgstr "A xeración da chave fallou: %s\n"
 
-#: g10/card-util.c:1237
+#: g10/card-util.c:1238
 #, fuzzy
 msgid "not an OpenPGP card"
 msgstr "non se atoparon datos OpenPGP válidos.\n"
 
-#: g10/card-util.c:1250 g10/keygen.c:4486 g10/keygen.c:5565
+#: g10/card-util.c:1251 g10/keygen.c:4486 g10/keygen.c:5565
 #, fuzzy, c-format
 msgid "error getting current key info: %s\n"
 msgstr "erro escribindo no chaveiro secreto `%s': %s\n"
 
-#: g10/card-util.c:1335
+#: g10/card-util.c:1336
 msgid "Replace existing key? (y/N) "
 msgstr ""
 
-#: g10/card-util.c:1352
+#: g10/card-util.c:1353
 msgid ""
 "Note: There is no guarantee that the card supports the requested size.\n"
 "      If the key generation does not succeed, please check the\n"
 "      documentation of your card to see what sizes are allowed.\n"
 msgstr ""
 
-#: g10/card-util.c:1374 g10/keygen.c:2363 sm/certreqgen-ui.c:179
+#: g10/card-util.c:1375 g10/keygen.c:2363 sm/certreqgen-ui.c:179
 #, fuzzy, c-format
 msgid "What keysize do you want? (%u) "
 msgstr "¿Qué tamaño de chave quere? (1024) "
 
-#: g10/card-util.c:1384 g10/keygen.c:2286 g10/keygen.c:2318
+#: g10/card-util.c:1385 g10/keygen.c:2286 g10/keygen.c:2318
 #: sm/certreqgen-ui.c:194
 #, c-format
 msgid "rounded up to %u bits\n"
 msgstr "redondeado a %u bits\n"
 
-#: g10/card-util.c:1392 g10/keygen.c:2371 sm/certreqgen-ui.c:184
+#: g10/card-util.c:1393 g10/keygen.c:2371 sm/certreqgen-ui.c:184
 #, c-format
 msgid "%s keysizes must be in the range %u-%u\n"
 msgstr ""
 
-#: g10/card-util.c:1411
+#: g10/card-util.c:1412
 msgid "Changing card key attribute for: "
 msgstr ""
 
-#: g10/card-util.c:1413
+#: g10/card-util.c:1414
 #, fuzzy
 msgid "Signature key\n"
 msgstr "A sinatura caducou o %s\n"
 
-#: g10/card-util.c:1415
+#: g10/card-util.c:1416
 #, fuzzy
 msgid "Encryption key\n"
 msgstr "   (%d) RSA (só cifrar)\n"
 
-#: g10/card-util.c:1417
+#: g10/card-util.c:1418
 msgid "Authentication key\n"
 msgstr ""
 
-#: g10/card-util.c:1419 g10/keygen.c:1926 sm/certreqgen-ui.c:157
+#: g10/card-util.c:1420 g10/keygen.c:1926 sm/certreqgen-ui.c:157
 msgid "Please select what kind of key you want:\n"
 msgstr "Por favor, seleccione o tipo de chave que quere:\n"
 
-#: g10/card-util.c:1420 sm/certreqgen-ui.c:158
+#: g10/card-util.c:1421 sm/certreqgen-ui.c:158
 #, fuzzy, c-format
 msgid "   (%d) RSA\n"
 msgstr "   (%d) RSA (só asinar)\n"
 
-#: g10/card-util.c:1421
+#: g10/card-util.c:1422
 #, fuzzy, c-format
 msgid "   (%d) ECC\n"
 msgstr "   (%d) DSA e ElGamal (por defecto)\n"
 
-#: g10/card-util.c:1433 g10/card-util.c:1700 g10/card-util.c:1800
-#: g10/keyedit.c:899 g10/keygen.c:1834 g10/keygen.c:1862 g10/keygen.c:1987
+#: g10/card-util.c:1434 g10/card-util.c:1701 g10/card-util.c:1801
+#: g10/keyedit.c:900 g10/keygen.c:1834 g10/keygen.c:1862 g10/keygen.c:1987
 #: g10/keygen.c:2222 g10/keygen.c:2505 g10/revoke.c:838
 msgid "Invalid selection.\n"
 msgstr "Selección non válida.\n"
 
-#: g10/card-util.c:1506
+#: g10/card-util.c:1507
 #, c-format
 msgid "The card will now be re-configured to generate a key of %u bits\n"
 msgstr ""
 
-#: g10/card-util.c:1511
+#: g10/card-util.c:1512
 #, c-format
 msgid "The card will now be re-configured to generate a key of type: %s\n"
 msgstr ""
 
-#: g10/card-util.c:1547
+#: g10/card-util.c:1548
 #, fuzzy, c-format
 msgid "error changing key attribute for key %d: %s\n"
 msgstr "erro ao enviar a `%s': %s\n"
 
-#: g10/card-util.c:1563 g10/card-util.c:2090
+#: g10/card-util.c:1564 g10/card-util.c:2091
 #, fuzzy, c-format
 msgid "error getting card info: %s\n"
 msgstr "erro escribindo no chaveiro secreto `%s': %s\n"
 
-#: g10/card-util.c:1569 g10/card-util.c:1914 g10/card-util.c:2096
+#: g10/card-util.c:1570 g10/card-util.c:1915 g10/card-util.c:2097
 #, fuzzy, c-format
 #| msgid "This command is not allowed while in %s mode.\n"
 msgid "This command is not supported by this card\n"
 msgstr "Non se admite este comando no modo %s.\n"
 
-#: g10/card-util.c:1615
+#: g10/card-util.c:1616
 msgid "Make off-card backup of encryption key? (Y/n) "
 msgstr ""
 
-#: g10/card-util.c:1629
+#: g10/card-util.c:1630
 #, fuzzy, c-format
 msgid "Note: keys are already stored on the card!\n"
 msgstr "omítese: a chave secreta xa está presente\n"
 
-#: g10/card-util.c:1632
+#: g10/card-util.c:1633
 msgid "Replace existing keys? (y/N) "
 msgstr ""
 
-#: g10/card-util.c:1644
+#: g10/card-util.c:1645
 #, c-format
 msgid ""
 "Please note that the factory settings of the PINs are\n"
@@ -2017,160 +2035,160 @@ msgid ""
 "You should change them using the command --change-pin\n"
 msgstr ""
 
-#: g10/card-util.c:1679
+#: g10/card-util.c:1680
 #, fuzzy
 msgid "Please select the type of key to generate:\n"
 msgstr "Por favor, seleccione o tipo de chave que quere:\n"
 
-#: g10/card-util.c:1681 g10/card-util.c:1771
+#: g10/card-util.c:1682 g10/card-util.c:1772
 #, fuzzy
 msgid "   (1) Signature key\n"
 msgstr "A sinatura caducou o %s\n"
 
-#: g10/card-util.c:1682 g10/card-util.c:1773
+#: g10/card-util.c:1683 g10/card-util.c:1774
 #, fuzzy
 msgid "   (2) Encryption key\n"
 msgstr "   (%d) RSA (só cifrar)\n"
 
-#: g10/card-util.c:1683 g10/card-util.c:1775
+#: g10/card-util.c:1684 g10/card-util.c:1776
 msgid "   (3) Authentication key\n"
 msgstr ""
 
-#: g10/card-util.c:1768
+#: g10/card-util.c:1769
 #, fuzzy
 msgid "Please select where to store the key:\n"
 msgstr "Por favor, escolla o motivo da revocación:\n"
 
-#: g10/card-util.c:1814
+#: g10/card-util.c:1815
 #, fuzzy, c-format
 msgid "KEYTOCARD failed: %s\n"
 msgstr "a actualización fallou: %s\n"
 
-#: g10/card-util.c:1919
+#: g10/card-util.c:1920
 #, fuzzy, c-format
 msgid "Note: This command destroys all keys stored on the card!\n"
 msgstr "omítese: a chave secreta xa está presente\n"
 
-#: g10/card-util.c:1922
+#: g10/card-util.c:1923
 #, fuzzy
 msgid "Continue? (y/N) "
 msgstr "¿Asinar de verdade? "
 
-#: g10/card-util.c:1927
+#: g10/card-util.c:1928
 msgid "Really do a factory reset? (enter \"yes\") "
 msgstr ""
 
-#: g10/card-util.c:2113
+#: g10/card-util.c:2114
 #, fuzzy, c-format
 msgid "error for setup KDF: %s\n"
 msgstr "erro lendo `%s': %s\n"
 
-#: g10/card-util.c:2142 g10/keyedit.c:1259
+#: g10/card-util.c:2143 g10/keyedit.c:1260
 msgid "quit this menu"
 msgstr "saír deste menú"
 
-#: g10/card-util.c:2144
+#: g10/card-util.c:2145
 #, fuzzy
 msgid "show admin commands"
 msgstr "comandos conflictivos\n"
 
-#: g10/card-util.c:2145 g10/keyedit.c:1262
+#: g10/card-util.c:2146 g10/keyedit.c:1263
 msgid "show this help"
 msgstr "amosar esta axuda"
 
-#: g10/card-util.c:2147
+#: g10/card-util.c:2148
 #, fuzzy
 msgid "list all available data"
 msgstr "Chave dispoñible en: "
 
-#: g10/card-util.c:2150
+#: g10/card-util.c:2151
 msgid "change card holder's name"
 msgstr ""
 
-#: g10/card-util.c:2151
+#: g10/card-util.c:2152
 msgid "change URL to retrieve key"
 msgstr ""
 
-#: g10/card-util.c:2152
+#: g10/card-util.c:2153
 msgid "fetch the key specified in the card URL"
 msgstr ""
 
-#: g10/card-util.c:2153
+#: g10/card-util.c:2154
 #, fuzzy
 msgid "change the login name"
 msgstr "cambia-la fecha de expiración"
 
-#: g10/card-util.c:2154
+#: g10/card-util.c:2155
 #, fuzzy
 msgid "change the language preferences"
 msgstr "cambia-la confianza sobre o dono"
 
-#: g10/card-util.c:2155
+#: g10/card-util.c:2156
 msgid "change card holder's salutation"
 msgstr ""
 
-#: g10/card-util.c:2157
+#: g10/card-util.c:2158
 #, fuzzy
 msgid "change a CA fingerprint"
 msgstr "amosar fingerprint"
 
-#: g10/card-util.c:2158
+#: g10/card-util.c:2159
 msgid "toggle the signature force PIN flag"
 msgstr ""
 
-#: g10/card-util.c:2159
+#: g10/card-util.c:2160
 #, fuzzy
 msgid "generate new keys"
 msgstr "xerar un novo par de chaves"
 
-#: g10/card-util.c:2160
+#: g10/card-util.c:2161
 msgid "menu to change or unblock the PIN"
 msgstr ""
 
-#: g10/card-util.c:2161
+#: g10/card-util.c:2162
 msgid "verify the PIN and list all data"
 msgstr ""
 
-#: g10/card-util.c:2162
+#: g10/card-util.c:2163
 msgid "unblock the PIN using a Reset Code"
 msgstr ""
 
-#: g10/card-util.c:2163
+#: g10/card-util.c:2164
 msgid "destroy all keys and data"
 msgstr ""
 
-#: g10/card-util.c:2164
+#: g10/card-util.c:2165
 #, fuzzy
 #| msgid "|NAME|use NAME as default recipient"
 msgid "setup KDF for PIN authentication"
 msgstr "|NOME|empregar NOME como valor por defecto do destinatario"
 
-#: g10/card-util.c:2165
+#: g10/card-util.c:2166
 #, fuzzy
 #| msgid "change the ownertrust"
 msgid "change the key attribute"
 msgstr "cambia-la confianza sobre o dono"
 
-#: g10/card-util.c:2289
+#: g10/card-util.c:2290
 msgid "gpg/card> "
 msgstr ""
 
-#: g10/card-util.c:2330
+#: g10/card-util.c:2331
 #, fuzzy
 msgid "Admin-only command\n"
 msgstr "comandos conflictivos\n"
 
-#: g10/card-util.c:2361
+#: g10/card-util.c:2362
 #, fuzzy
 msgid "Admin commands are allowed\n"
 msgstr "comandos conflictivos\n"
 
-#: g10/card-util.c:2363
+#: g10/card-util.c:2364
 #, fuzzy
 msgid "Admin commands are not allowed\n"
 msgstr "gravando a chave secreta en `%s'\n"
 
-#: g10/card-util.c:2466 g10/keyedit.c:2228
+#: g10/card-util.c:2467 g10/keyedit.c:2229
 msgid "Invalid command  (try \"help\")\n"
 msgstr "Comando incorrecto (tente \"help\")\n"
 
@@ -2179,22 +2197,22 @@ msgstr "Comando incorrecto (tente \"help\")\n"
 msgid "--output doesn't work for this command\n"
 msgstr "--output non traballa con este comando\n"
 
-#: g10/decrypt.c:247 g10/gpg.c:5083 g10/keyring.c:399 g10/keyring.c:750
+#: g10/decrypt.c:247 g10/gpg.c:5104 g10/keyring.c:399 g10/keyring.c:750
 #, fuzzy, c-format
 #| msgid "can't open `%s'\n"
 msgid "can't open '%s'\n"
 msgstr "non se puido abrir `%s'\n"
 
 #: g10/delkey.c:83 g10/export.c:1947 g10/export.c:2230 g10/export.c:2351
-#: g10/getkey.c:1964 g10/gpg.c:5028 g10/keyedit.c:1444 g10/keyedit.c:2334
-#: g10/keyedit.c:2580 g10/keyedit.c:4543 g10/keylist.c:689 g10/keyserver.c:1259
+#: g10/getkey.c:2108 g10/gpg.c:5049 g10/keyedit.c:1445 g10/keyedit.c:2335
+#: g10/keyedit.c:2581 g10/keyedit.c:4544 g10/keylist.c:689 g10/keyserver.c:1092
 #: g10/revoke.c:230 g10/tofu.c:2165
 #, fuzzy, c-format
 msgid "key \"%s\" not found: %s\n"
 msgstr "non se atopou a chave `%s': %s\n"
 
-#: g10/delkey.c:92 g10/export.c:2015 g10/getkey.c:1972 g10/getkey.c:4346
-#: g10/gpg.c:5037 g10/keyedit.c:2307 g10/keyserver.c:1277 g10/revoke.c:236
+#: g10/delkey.c:92 g10/export.c:2015 g10/getkey.c:2116 g10/getkey.c:4517
+#: g10/gpg.c:5058 g10/keyedit.c:2308 g10/keyserver.c:1110 g10/revoke.c:236
 #: g10/revoke.c:663 g10/tofu.c:2173
 #, c-format
 msgid "error reading keyblock: %s\n"
@@ -2257,9 +2275,9 @@ msgstr "chave"
 msgid "subkey"
 msgstr "Pública: "
 
-#: g10/delkey.c:299 g10/keyedit.c:2200 g10/keyedit.c:2210 g10/keyedit.c:2387
-#: g10/keyedit.c:2461 g10/keyedit.c:2532 g10/keyedit.c:2757 g10/keyedit.c:2987
-#: g10/keyedit.c:3056 g10/keyedit.c:3207
+#: g10/delkey.c:299 g10/keyedit.c:2201 g10/keyedit.c:2211 g10/keyedit.c:2388
+#: g10/keyedit.c:2462 g10/keyedit.c:2533 g10/keyedit.c:2758 g10/keyedit.c:2988
+#: g10/keyedit.c:3057 g10/keyedit.c:3208
 #, c-format
 msgid "update failed: %s\n"
 msgstr "a actualización fallou: %s\n"
@@ -2284,7 +2302,7 @@ msgstr "¡hai unha chave secreta para a chave pública \"%s\"!\n"
 msgid "use option \"--delete-secret-keys\" to delete it first.\n"
 msgstr "empregue a opción \"--delete-secret-keys\" para borrala primeiro.\n"
 
-#: g10/encrypt.c:202 g10/sign.c:1471
+#: g10/encrypt.c:202 g10/sign.c:1470
 #, c-format
 msgid "error creating passphrase: %s\n"
 msgstr "erro ao crea-lo contrasinal: %s\n"
@@ -2311,14 +2329,14 @@ msgstr "`%s' xa está comprimido\n"
 msgid "WARNING: '%s' is an empty file\n"
 msgstr "AVISO: `%s' é un ficheiro baleiro\n"
 
-#: g10/encrypt.c:387 g10/encrypt.c:610 g10/decrypt-data.c:260 g10/gpg.c:3901
-#: g10/gpg.c:3941 sm/decrypt.c:364 sm/encrypt.c:415 sm/gpgsm.c:1655
+#: g10/encrypt.c:387 g10/encrypt.c:610 g10/decrypt-data.c:260 g10/gpg.c:3922
+#: g10/gpg.c:3962 sm/decrypt.c:826 sm/encrypt.c:416 sm/gpgsm.c:1555
 #, fuzzy, c-format
 msgid "cipher algorithm '%s' may not be used in %s mode\n"
 msgstr "non se pode empregar o algoritmo de cifrado \"%s\" no modo %s\n"
 
-#: g10/encrypt.c:396 g10/gpg.c:3907 g10/gpg.c:3953 g10/sig-check.c:146
-#: g10/sign.c:391 sm/gpgsm.c:1665 sm/gpgsm.c:1675 sm/sign.c:478 sm/verify.c:506
+#: g10/encrypt.c:396 g10/gpg.c:3928 g10/gpg.c:3974 g10/sig-check.c:146
+#: g10/sign.c:391 sm/gpgsm.c:1565 sm/gpgsm.c:1575 sm/sign.c:478 sm/verify.c:506
 #, fuzzy, c-format
 msgid "digest algorithm '%s' may not be used in %s mode\n"
 msgstr "non se pode empregar o algoritmo de resumo \"%s\" no modo %s\n"
@@ -2336,12 +2354,12 @@ msgid ""
 msgstr ""
 "forza-la cifra simétrica %s (%d) viola as preferencias do destinatario\n"
 
-#: g10/encrypt.c:640 sm/encrypt.c:490
+#: g10/encrypt.c:640 sm/encrypt.c:491
 #, fuzzy, c-format
 msgid "WARNING: key %s is not suitable for encryption in %s mode\n"
 msgstr "AVISO: \"%s\" é unha opción a extinguir\n"
 
-#: g10/encrypt.c:751 g10/sign.c:1163
+#: g10/encrypt.c:751 g10/sign.c:1162
 #, fuzzy, c-format
 msgid ""
 "WARNING: forcing compression algorithm %s (%d) violates recipient "
@@ -2372,12 +2390,12 @@ msgstr "non se pode empregar %s no modo %s\n"
 msgid "%s encrypted data\n"
 msgstr "datos cifrados con %s\n"
 
-#: g10/decrypt-data.c:243 g10/mainproc.c:396
+#: g10/decrypt-data.c:243 g10/mainproc.c:397
 #, c-format
 msgid "encrypted with unknown algorithm %d\n"
 msgstr "cifrado cun algoritmo descoñecido %d\n"
 
-#: g10/decrypt-data.c:357 g10/decrypt-data.c:410 sm/decrypt.c:130
+#: g10/decrypt-data.c:357 g10/decrypt-data.c:410 sm/decrypt.c:550
 #, c-format
 msgid ""
 "WARNING: message was encrypted with a weak key in the symmetric cipher.\n"
@@ -2393,7 +2411,7 @@ msgstr "problema ao manexa-lo paquete cifrado\n"
 msgid "no remote program execution supported\n"
 msgstr "non se soporta a execución remota de programas\n"
 
-#: g10/exec.c:381
+#: g10/exec.c:389
 #, c-format
 msgid ""
 "external program calls are disabled due to unsafe options file permissions\n"
@@ -2401,50 +2419,50 @@ msgstr ""
 "as chamadas a programas externos están desactivadas debido a opcións de "
 "permisos de ficheiros non seguras\n"
 
-#: g10/exec.c:411
+#: g10/exec.c:419
 #, fuzzy, c-format
 msgid "this platform requires temporary files when calling external programs\n"
 msgstr ""
 "esta plataforma precisa de ficheiros temporais ao chamar a programas "
 "externos\n"
 
-#: g10/exec.c:489
+#: g10/exec.c:497
 #, fuzzy, c-format
 msgid "unable to execute program '%s': %s\n"
 msgstr "non se puido executar %s \"%s\": %s\n"
 
-#: g10/exec.c:492
+#: g10/exec.c:500
 #, fuzzy, c-format
 msgid "unable to execute shell '%s': %s\n"
 msgstr "non se puido executar %s \"%s\": %s\n"
 
-#: g10/exec.c:583
+#: g10/exec.c:591
 #, c-format
 msgid "system error while calling external program: %s\n"
 msgstr "erro do sistema ao chamar a un programa externo: %s\n"
 
-#: g10/exec.c:594 g10/exec.c:661
+#: g10/exec.c:602 g10/exec.c:669
 #, c-format
 msgid "unnatural exit of external program\n"
 msgstr "saída non natural do programa externo\n"
 
-#: g10/exec.c:609
+#: g10/exec.c:617
 #, c-format
 msgid "unable to execute external program\n"
 msgstr "non se puido executar un programa externo\n"
 
-#: g10/exec.c:626
+#: g10/exec.c:634
 #, c-format
 msgid "unable to read external program response: %s\n"
 msgstr "non se puido le-la resposta do programa externo: %s\n"
 
-#: g10/exec.c:672 g10/exec.c:679
+#: g10/exec.c:680 g10/exec.c:687
 #, fuzzy, c-format
 #| msgid "WARNING: unable to remove tempfile (%s) `%s': %s\n"
 msgid "WARNING: unable to remove tempfile (%s) '%s': %s\n"
 msgstr "AVISO: non se puido borra-lo ficheiro temporal (%s) `%s': %s\n"
 
-#: g10/exec.c:684
+#: g10/exec.c:692
 #, fuzzy, c-format
 #| msgid "WARNING: unable to remove temp directory `%s': %s\n"
 msgid "WARNING: unable to remove temp directory '%s': %s\n"
@@ -2485,8 +2503,8 @@ msgstr ""
 msgid " - skipped"
 msgstr "%s: omitido: %s\n"
 
-#: g10/export.c:1324 g10/import.c:2073 g10/openfile.c:200 g10/openfile.c:294
-#: g10/sign.c:1013 g10/sign.c:1327
+#: g10/export.c:1324 g10/import.c:2085 g10/openfile.c:200 g10/openfile.c:294
+#: g10/sign.c:1012 g10/sign.c:1326
 #, fuzzy, c-format
 #| msgid "writing to `%s'\n"
 msgid "writing to '%s'\n"
@@ -2524,293 +2542,293 @@ msgstr "erro ao crear `%s': %s\n"
 msgid "[User ID not found]"
 msgstr "[Non se atopou o id de usuario]"
 
-#: g10/getkey.c:1297
+#: g10/getkey.c:1441
 #, fuzzy, c-format
 msgid "automatically retrieved '%s' via %s\n"
 msgstr "erro ao crear `%s': %s\n"
 
-#: g10/getkey.c:1303
+#: g10/getkey.c:1447
 #, fuzzy, c-format
 msgid "error retrieving '%s' via %s: %s\n"
 msgstr "erro ao crear `%s': %s\n"
 
-#: g10/getkey.c:1305
+#: g10/getkey.c:1449
 #, fuzzy
 msgid "No fingerprint"
 msgstr "Pegada dactilar:"
 
-#: g10/getkey.c:1526
+#: g10/getkey.c:1670
 #, c-format
 msgid "checking for a fresh copy of an expired key via %s\n"
 msgstr ""
 
-#: g10/getkey.c:1941 g10/revoke.c:655 g10/revoke.c:720
+#: g10/getkey.c:2085 g10/revoke.c:655 g10/revoke.c:720
 #, fuzzy, c-format
 msgid "secret key \"%s\" not found: %s\n"
 msgstr "non se atopou a chave secreta `%s': %s\n"
 
-#: g10/getkey.c:1944 g10/pkclist.c:988
+#: g10/getkey.c:2088 g10/pkclist.c:988
 #, fuzzy, c-format
 msgid "(check argument of option '%s')\n"
 msgstr "opcións de importación non válidas\n"
 
-#: g10/getkey.c:2020
+#: g10/getkey.c:2164
 #, fuzzy, c-format
 #| msgid "|NAME|use NAME as default secret key"
 msgid "Warning: not using '%s' as default key: %s\n"
 msgstr "|NOME|empregar NOME coma chave secreta por defecto"
 
-#: g10/getkey.c:2028
+#: g10/getkey.c:2172
 #, fuzzy, c-format
 #| msgid "|NAME|use NAME as default secret key"
 msgid "using \"%s\" as default secret key for signing\n"
 msgstr "|NOME|empregar NOME coma chave secreta por defecto"
 
-#: g10/getkey.c:2035
+#: g10/getkey.c:2179
 #, c-format
 msgid "all values passed to '%s' ignored\n"
 msgstr ""
 
-#: g10/getkey.c:2880
+#: g10/getkey.c:3024
 #, fuzzy, c-format
 msgid "Invalid key %s made valid by --allow-non-selfsigned-uid\n"
 msgstr ""
 "Chave %08lX non válida convertida en válida por --allow-non-selfsigned-uid\n"
 
-#: g10/getkey.c:3730
+#: g10/getkey.c:3874
 #, fuzzy, c-format
 msgid "using subkey %s instead of primary key %s\n"
 msgstr "emprégase a chave secundaria %08lX no canto da primaria %08lX\n"
 
-#: g10/getkey.c:4275 g10/gpg.c:2107
+#: g10/getkey.c:4446 g10/gpg.c:2120
 #, fuzzy, c-format
 msgid "valid values for option '%s':\n"
 msgstr "opcións de importación non válidas\n"
 
-#: g10/gpg.c:442 sm/gpgsm.c:206
+#: g10/gpg.c:439 sm/gpgsm.c:207
 #, fuzzy
 msgid "make a signature"
 msgstr "facer unha sinatura separada"
 
-#: g10/gpg.c:443
+#: g10/gpg.c:440
 #, fuzzy
 msgid "make a clear text signature"
 msgstr "|[ficheiro]|facer unha sinatura en texto claro"
 
-#: g10/gpg.c:445 sm/gpgsm.c:208
+#: g10/gpg.c:442 sm/gpgsm.c:209
 msgid "make a detached signature"
 msgstr "facer unha sinatura separada"
 
-#: g10/gpg.c:446 sm/gpgsm.c:209
+#: g10/gpg.c:443 sm/gpgsm.c:210
 msgid "encrypt data"
 msgstr "cifrar datos"
 
-#: g10/gpg.c:448
+#: g10/gpg.c:445
 msgid "encryption only with symmetric cipher"
 msgstr "cifrar só con cifrado simétrico"
 
-#: g10/gpg.c:450 sm/gpgsm.c:211
+#: g10/gpg.c:447 sm/gpgsm.c:212
 msgid "decrypt data (default)"
 msgstr "descifrar datos (por defecto)"
 
-#: g10/gpg.c:452 sm/gpgsm.c:212
+#: g10/gpg.c:449 sm/gpgsm.c:213
 msgid "verify a signature"
 msgstr "verificar unha sinatura"
 
-#: g10/gpg.c:454 sm/gpgsm.c:213
+#: g10/gpg.c:451 sm/gpgsm.c:214
 msgid "list keys"
 msgstr "ve-la lista de chaves"
 
-#: g10/gpg.c:456
+#: g10/gpg.c:453
 msgid "list keys and signatures"
 msgstr "ve-la lista de chaves e sinaturas"
 
-#: g10/gpg.c:459
+#: g10/gpg.c:456
 #, fuzzy
 msgid "list and check key signatures"
 msgstr "verifica-las sinaturas das chaves"
 
-#: g10/gpg.c:461 sm/gpgsm.c:218
+#: g10/gpg.c:458 sm/gpgsm.c:219
 msgid "list keys and fingerprints"
 msgstr "ve-la lista de chaves e pegadas dactilares"
 
-#: g10/gpg.c:462 sm/gpgsm.c:216
+#: g10/gpg.c:459 sm/gpgsm.c:217
 msgid "list secret keys"
 msgstr "ve-la lista de chaves secretas"
 
-#: g10/gpg.c:464 sm/gpgsm.c:219
+#: g10/gpg.c:461 sm/gpgsm.c:220
 msgid "generate a new key pair"
 msgstr "xerar un novo par de chaves"
 
-#: g10/gpg.c:467
+#: g10/gpg.c:464
 #, fuzzy
 #| msgid "generate a new key pair"
 msgid "quickly generate a new key pair"
 msgstr "xerar un novo par de chaves"
 
-#: g10/gpg.c:470
+#: g10/gpg.c:467
 #, fuzzy
 #| msgid "generate a new key pair"
 msgid "quickly add a new user-id"
 msgstr "xerar un novo par de chaves"
 
-#: g10/gpg.c:475
+#: g10/gpg.c:472
 #, fuzzy
 #| msgid "generate a new key pair"
 msgid "quickly revoke a user-id"
 msgstr "xerar un novo par de chaves"
 
-#: g10/gpg.c:478
+#: g10/gpg.c:475
 #, fuzzy
 #| msgid "generate a new key pair"
 msgid "quickly set a new expiration date"
 msgstr "xerar un novo par de chaves"
 
-#: g10/gpg.c:481
+#: g10/gpg.c:478
 msgid "full featured key pair generation"
 msgstr ""
 
-#: g10/gpg.c:484
+#: g10/gpg.c:481
 msgid "generate a revocation certificate"
 msgstr "xerar un certificado de revocación"
 
-#: g10/gpg.c:487 sm/gpgsm.c:222
+#: g10/gpg.c:484 sm/gpgsm.c:223
 msgid "remove keys from the public keyring"
 msgstr "borrar chaves do chaveiro público"
 
-#: g10/gpg.c:489
+#: g10/gpg.c:486
 msgid "remove keys from the secret keyring"
 msgstr "borrar chaves do chaveiro secreto"
 
-#: g10/gpg.c:491
+#: g10/gpg.c:488
 #, fuzzy
 #| msgid "sign a key"
 msgid "quickly sign a key"
 msgstr "asinar unha chave"
 
-#: g10/gpg.c:493
+#: g10/gpg.c:490
 #, fuzzy
 #| msgid "sign a key locally"
 msgid "quickly sign a key locally"
 msgstr "asinar unha chave localmente"
 
-#: g10/gpg.c:495
+#: g10/gpg.c:492
 #, fuzzy
 #| msgid "generate a new key pair"
 msgid "quickly revoke a key signature"
 msgstr "xerar un novo par de chaves"
 
-#: g10/gpg.c:496
+#: g10/gpg.c:493
 msgid "sign a key"
 msgstr "asinar unha chave"
 
-#: g10/gpg.c:497
+#: g10/gpg.c:494
 msgid "sign a key locally"
 msgstr "asinar unha chave localmente"
 
-#: g10/gpg.c:498
+#: g10/gpg.c:495
 msgid "sign or edit a key"
 msgstr "asinar ou editar unha chave"
 
-#: g10/gpg.c:500 sm/gpgsm.c:240
+#: g10/gpg.c:497 sm/gpgsm.c:241
 #, fuzzy
 msgid "change a passphrase"
 msgstr "cambia-lo contrasinal"
 
-#: g10/gpg.c:504
+#: g10/gpg.c:501
 msgid "export keys"
 msgstr "exportar chaves"
 
-#: g10/gpg.c:505
+#: g10/gpg.c:502
 msgid "export keys to a keyserver"
 msgstr "exportar chaves a un servidor de chaves"
 
-#: g10/gpg.c:506
+#: g10/gpg.c:503
 msgid "import keys from a keyserver"
 msgstr "importar chaves dun servidor de chaves"
 
-#: g10/gpg.c:509
+#: g10/gpg.c:506
 msgid "search for keys on a keyserver"
 msgstr "buscar chaves nun servidor de chaves"
 
-#: g10/gpg.c:511
+#: g10/gpg.c:508
 msgid "update all keys from a keyserver"
 msgstr "actualizar tódalas chaves dun servidor de chaves"
 
-#: g10/gpg.c:519
+#: g10/gpg.c:516
 msgid "import/merge keys"
 msgstr "importar/mesturar chaves"
 
-#: g10/gpg.c:522
+#: g10/gpg.c:519
 msgid "print the card status"
 msgstr ""
 
-#: g10/gpg.c:523
+#: g10/gpg.c:520
 msgid "change data on a card"
 msgstr ""
 
-#: g10/gpg.c:525
+#: g10/gpg.c:522
 msgid "change a card's PIN"
 msgstr ""
 
-#: g10/gpg.c:537
+#: g10/gpg.c:534
 msgid "update the trust database"
 msgstr "actualiza-la base de datos de confianza"
 
-#: g10/gpg.c:546
+#: g10/gpg.c:543
 #, fuzzy
 msgid "print message digests"
 msgstr "|algo [ficheiros]|visualizar resumos de mensaxes"
 
-#: g10/gpg.c:549 sm/gpgsm.c:235
+#: g10/gpg.c:546 sm/gpgsm.c:236
 msgid "run in server mode"
 msgstr ""
 
-#: g10/gpg.c:551
+#: g10/gpg.c:548
 msgid "|VALUE|set the TOFU policy for a key"
 msgstr ""
 
-#: g10/gpg.c:555 sm/gpgsm.c:254
+#: g10/gpg.c:552 sm/gpgsm.c:255
 msgid "create ascii armored output"
 msgstr "crear saída con armadura en ascii"
 
-#: g10/gpg.c:558 sm/gpgsm.c:271
+#: g10/gpg.c:555 sm/gpgsm.c:272
 #, fuzzy
 msgid "|USER-ID|encrypt for USER-ID"
 msgstr "|NOME|cifrar para NOME"
 
-#: g10/gpg.c:574 sm/gpgsm.c:307
+#: g10/gpg.c:571 sm/gpgsm.c:308
 #, fuzzy
 msgid "|USER-ID|use USER-ID to sign or decrypt"
 msgstr "empregar este id de usuario para asinar ou descifrar"
 
-#: g10/gpg.c:580
+#: g10/gpg.c:577
 #, fuzzy
 msgid "|N|set compress level to N (0 disables)"
 msgstr "|N|axusta-lo nivel de compresión a N (0 desactiva)"
 
-#: g10/gpg.c:587
+#: g10/gpg.c:584
 msgid "use canonical text mode"
 msgstr "usar modo de texto canónico"
 
-#: g10/gpg.c:604 g10/gpgv.c:82 sm/gpgsm.c:309
+#: g10/gpg.c:601 g10/gpgv.c:82 sm/gpgsm.c:310
 #, fuzzy
 msgid "|FILE|write output to FILE"
 msgstr "|FICHEIRO|carga-lo módulo de extensión FICHEIRO"
 
-#: g10/gpg.c:614 kbx/kbxutil.c:90 sm/gpgsm.c:321 tools/gpgconf.c:110
+#: g10/gpg.c:611 kbx/kbxutil.c:90 sm/gpgsm.c:322 tools/gpgconf.c:110
 msgid "do not make any changes"
 msgstr "non facer ningún cambio"
 
-#: g10/gpg.c:615
+#: g10/gpg.c:612
 msgid "prompt before overwriting"
 msgstr "avisar antes de sobrescribir"
 
-#: g10/gpg.c:665
+#: g10/gpg.c:662
 msgid "use strict OpenPGP behavior"
 msgstr ""
 
-#: g10/gpg.c:692 sm/gpgsm.c:364
+#: g10/gpg.c:689 sm/gpgsm.c:367
 msgid ""
 "@\n"
 "(See the man page for a complete listing of all commands and options)\n"
@@ -2818,7 +2836,7 @@ msgstr ""
 "@\n"
 "(Vexa a páxina man para un listado completo de comandos e opcións)\n"
 
-#: g10/gpg.c:695
+#: g10/gpg.c:692
 #, fuzzy
 #| msgid ""
 #| "@\n"
@@ -2848,13 +2866,13 @@ msgstr ""
 " --list-keys [nomes]        amosa-las chaves\n"
 " --fingerprint [nomes]      amosa-las pegadas dactilares\n"
 
-#: g10/gpg.c:1092
+#: g10/gpg.c:1096
 #, fuzzy
 #| msgid "Usage: gpg [options] [files] (-h for help)"
 msgid "Usage: @GPG@ [options] [files] (-h for help)"
 msgstr "Uso: gpg [opcións] [ficheiros] (-h para ve-la axuda)"
 
-#: g10/gpg.c:1095
+#: g10/gpg.c:1099
 #, fuzzy
 #| msgid ""
 #| "Syntax: gpg [options] [files]\n"
@@ -2869,7 +2887,7 @@ msgstr ""
 "asinar, verificar, cifrar ou descifrar\n"
 "a operación por defecto depende dos datos de entrada\n"
 
-#: g10/gpg.c:1106 sm/gpgsm.c:591
+#: g10/gpg.c:1110 sm/gpgsm.c:594
 msgid ""
 "\n"
 "Supported algorithms:\n"
@@ -2877,546 +2895,546 @@ msgstr ""
 "\n"
 "Algoritmos soportados:\n"
 
-#: g10/gpg.c:1109
+#: g10/gpg.c:1113
 msgid "Pubkey: "
 msgstr "Pública: "
 
-#: g10/gpg.c:1116 g10/keyedit.c:3281
+#: g10/gpg.c:1120 g10/keyedit.c:3282
 msgid "Cipher: "
 msgstr "Cifra: "
 
-#: g10/gpg.c:1123
+#: g10/gpg.c:1127
 msgid "Hash: "
 msgstr "Hash: "
 
-#: g10/gpg.c:1130 g10/keyedit.c:3347
+#: g10/gpg.c:1134 g10/keyedit.c:3348
 msgid "Compression: "
 msgstr "Compresión: "
 
-#: g10/gpg.c:1199 sm/gpgsm.c:665
+#: g10/gpg.c:1207 sm/gpgsm.c:668
 #, fuzzy, c-format
 msgid "usage: %s [options] %s\n"
 msgstr "uso: gpg [opcións] "
 
-#: g10/gpg.c:1388 sm/gpgsm.c:754
+#: g10/gpg.c:1396 sm/gpgsm.c:761
 #, c-format
 msgid "conflicting commands\n"
 msgstr "comandos conflictivos\n"
 
-#: g10/gpg.c:1406
+#: g10/gpg.c:1414
 #, fuzzy, c-format
 msgid "no = sign found in group definition '%s'\n"
 msgstr "non se atopou un signo = na definición do grupo \"%s\"\n"
 
-#: g10/gpg.c:1604
+#: g10/gpg.c:1612
 #, fuzzy, c-format
 msgid "WARNING: unsafe ownership on homedir '%s'\n"
 msgstr "AVISO: propiedade insegura en %s \"%s\"\n"
 
-#: g10/gpg.c:1607
+#: g10/gpg.c:1615
 #, fuzzy, c-format
 msgid "WARNING: unsafe ownership on configuration file '%s'\n"
 msgstr "AVISO: propiedade insegura en %s \"%s\"\n"
 
-#: g10/gpg.c:1610
+#: g10/gpg.c:1618
 #, fuzzy, c-format
 msgid "WARNING: unsafe ownership on extension '%s'\n"
 msgstr "AVISO: propiedade insegura en %s \"%s\"\n"
 
-#: g10/gpg.c:1616
+#: g10/gpg.c:1624
 #, fuzzy, c-format
 msgid "WARNING: unsafe permissions on homedir '%s'\n"
 msgstr "AVISO: permisos inseguros en %s \"%s\"\n"
 
-#: g10/gpg.c:1619
+#: g10/gpg.c:1627
 #, fuzzy, c-format
 msgid "WARNING: unsafe permissions on configuration file '%s'\n"
 msgstr "AVISO: permisos inseguros en %s \"%s\"\n"
 
-#: g10/gpg.c:1622
+#: g10/gpg.c:1630
 #, fuzzy, c-format
 msgid "WARNING: unsafe permissions on extension '%s'\n"
 msgstr "AVISO: permisos inseguros en %s \"%s\"\n"
 
-#: g10/gpg.c:1628
+#: g10/gpg.c:1636
 #, fuzzy, c-format
 msgid "WARNING: unsafe enclosing directory ownership on homedir '%s'\n"
 msgstr "AVISO: propiedade do directorio contedor insegura en %s \"%s\"\n"
 
-#: g10/gpg.c:1631
+#: g10/gpg.c:1639
 #, fuzzy, c-format
 msgid ""
 "WARNING: unsafe enclosing directory ownership on configuration file '%s'\n"
 msgstr "AVISO: propiedade do directorio contedor insegura en %s \"%s\"\n"
 
-#: g10/gpg.c:1634
+#: g10/gpg.c:1642
 #, fuzzy, c-format
 msgid "WARNING: unsafe enclosing directory ownership on extension '%s'\n"
 msgstr "AVISO: propiedade do directorio contedor insegura en %s \"%s\"\n"
 
-#: g10/gpg.c:1640
+#: g10/gpg.c:1648
 #, fuzzy, c-format
 msgid "WARNING: unsafe enclosing directory permissions on homedir '%s'\n"
 msgstr "AVISO: permisos do directorio contedor inseguros en %s \"%s\"\n"
 
-#: g10/gpg.c:1643
+#: g10/gpg.c:1651
 #, fuzzy, c-format
 msgid ""
 "WARNING: unsafe enclosing directory permissions on configuration file '%s'\n"
 msgstr "AVISO: permisos do directorio contedor inseguros en %s \"%s\"\n"
 
-#: g10/gpg.c:1646
+#: g10/gpg.c:1654
 #, fuzzy, c-format
 msgid "WARNING: unsafe enclosing directory permissions on extension '%s'\n"
 msgstr "AVISO: permisos do directorio contedor inseguros en %s \"%s\"\n"
 
-#: g10/gpg.c:1862
+#: g10/gpg.c:1870
 #, fuzzy, c-format
 msgid "unknown configuration item '%s'\n"
 msgstr " creouse un novo ficheiro de configuración `%s'\n"
 
-#: g10/gpg.c:1979
+#: g10/gpg.c:1992
 msgid "display photo IDs during key listings"
 msgstr ""
 
-#: g10/gpg.c:1981
+#: g10/gpg.c:1994
 #, fuzzy
 msgid "show key usage information during key listings"
 msgstr "Non hai unha sinatura correspondiente no chaveiro secreto\n"
 
-#: g10/gpg.c:1983
+#: g10/gpg.c:1996
 msgid "show policy URLs during signature listings"
 msgstr ""
 
-#: g10/gpg.c:1985
+#: g10/gpg.c:1998
 #, fuzzy
 msgid "show all notations during signature listings"
 msgstr "Non hai unha sinatura correspondiente no chaveiro secreto\n"
 
-#: g10/gpg.c:1987
+#: g10/gpg.c:2000
 msgid "show IETF standard notations during signature listings"
 msgstr ""
 
-#: g10/gpg.c:1991
+#: g10/gpg.c:2004
 msgid "show user-supplied notations during signature listings"
 msgstr ""
 
-#: g10/gpg.c:1993
+#: g10/gpg.c:2006
 #, fuzzy
 msgid "show preferred keyserver URLs during signature listings"
 msgstr "o URL de normativa de sinaturas dado non é válido\n"
 
-#: g10/gpg.c:1995
+#: g10/gpg.c:2008
 msgid "show user ID validity during key listings"
 msgstr ""
 
-#: g10/gpg.c:1997
+#: g10/gpg.c:2010
 msgid "show revoked and expired user IDs in key listings"
 msgstr ""
 
-#: g10/gpg.c:1999
+#: g10/gpg.c:2012
 msgid "show revoked and expired subkeys in key listings"
 msgstr ""
 
-#: g10/gpg.c:2001
+#: g10/gpg.c:2014
 #, fuzzy
 msgid "show the keyring name in key listings"
 msgstr "amosar en que chaveiro está unha chave listada"
 
-#: g10/gpg.c:2003
+#: g10/gpg.c:2016
 #, fuzzy
 msgid "show expiration dates during signature listings"
 msgstr "Non hai unha sinatura correspondiente no chaveiro secreto\n"
 
-#: g10/gpg.c:2118
+#: g10/gpg.c:2131
 #, fuzzy, c-format
 msgid "unknown TOFU policy '%s'\n"
 msgstr "destinatario por defecto `%s' descoñecido\n"
 
-#: g10/gpg.c:2120
+#: g10/gpg.c:2133
 #, c-format
 msgid "(use \"help\" to list choices)\n"
 msgstr ""
 
-#: g10/gpg.c:2840 g10/gpg.c:3671 g10/gpg.c:3683
+#: g10/gpg.c:2856 g10/gpg.c:3691 g10/gpg.c:3703
 #, fuzzy, c-format
 #| msgid "NOTE: %s is not for normal use!\n"
 msgid "Note: %s is not for normal use!\n"
 msgstr "NOTA: ¡%s non é para uso normal!\n"
 
-#: g10/gpg.c:3017 g10/gpg.c:3029
+#: g10/gpg.c:3033 g10/gpg.c:3045
 #, fuzzy, c-format
 msgid "'%s' is not a valid signature expiration\n"
 msgstr "%s non é un xogo de caracteres válido\n"
 
-#: g10/gpg.c:3051
+#: g10/gpg.c:3067
 #, fuzzy, c-format
 msgid "\"%s\" is not a proper mail address\n"
 msgstr "Non é un enderezo de e-mail válido\n"
 
-#: g10/gpg.c:3083 sm/gpgsm.c:1177
+#: g10/gpg.c:3099 sm/gpgsm.c:1091
 #, fuzzy, c-format
 msgid "invalid pinentry mode '%s'\n"
 msgstr "algoritmo de hash non válido `%s'\n"
 
-#: g10/gpg.c:3089 sm/gpgsm.c:1183
+#: g10/gpg.c:3105 sm/gpgsm.c:1097
 #, fuzzy, c-format
 msgid "invalid request origin '%s'\n"
 msgstr "opcións de importación non válidas\n"
 
-#: g10/gpg.c:3143
+#: g10/gpg.c:3159
 #, fuzzy, c-format
 msgid "'%s' is not a valid character set\n"
 msgstr "%s non é un xogo de caracteres válido\n"
 
-#: g10/gpg.c:3165 g10/gpg.c:3375 g10/keyedit.c:5281
+#: g10/gpg.c:3181 g10/gpg.c:3395 g10/keyedit.c:5282
 #, fuzzy, c-format
 msgid "could not parse keyserver URL\n"
 msgstr "non se puido analisa-lo URI do servidor de chaves\n"
 
-#: g10/gpg.c:3183
+#: g10/gpg.c:3199
 #, fuzzy, c-format
 msgid "%s:%d: invalid keyserver options\n"
 msgstr "%s:%d: opcións de exportación non válidas\n"
 
-#: g10/gpg.c:3186
+#: g10/gpg.c:3202
 #, fuzzy, c-format
 msgid "invalid keyserver options\n"
 msgstr "opcións de exportación non válidas\n"
 
-#: g10/gpg.c:3193
+#: g10/gpg.c:3209
 #, c-format
 msgid "%s:%d: invalid import options\n"
 msgstr "%s:%d: opcións de importación non válidas\n"
 
-#: g10/gpg.c:3196
+#: g10/gpg.c:3212
 #, c-format
 msgid "invalid import options\n"
 msgstr "opcións de importación non válidas\n"
 
-#: g10/gpg.c:3202 g10/gpg.c:3217
+#: g10/gpg.c:3218 g10/gpg.c:3233
 #, fuzzy, c-format
 msgid "invalid filter option: %s\n"
 msgstr "opcións de importación non válidas\n"
 
-#: g10/gpg.c:3208
+#: g10/gpg.c:3224
 #, c-format
 msgid "%s:%d: invalid export options\n"
 msgstr "%s:%d: opcións de exportación non válidas\n"
 
-#: g10/gpg.c:3211
+#: g10/gpg.c:3227
 #, c-format
 msgid "invalid export options\n"
 msgstr "opcións de exportación non válidas\n"
 
-#: g10/gpg.c:3223
+#: g10/gpg.c:3239
 #, fuzzy, c-format
 msgid "%s:%d: invalid list options\n"
 msgstr "%s:%d: opcións de importación non válidas\n"
 
-#: g10/gpg.c:3226
+#: g10/gpg.c:3242
 #, fuzzy, c-format
 msgid "invalid list options\n"
 msgstr "opcións de importación non válidas\n"
 
-#: g10/gpg.c:3234
+#: g10/gpg.c:3250
 msgid "display photo IDs during signature verification"
 msgstr ""
 
-#: g10/gpg.c:3236
+#: g10/gpg.c:3252
 msgid "show policy URLs during signature verification"
 msgstr ""
 
-#: g10/gpg.c:3238
+#: g10/gpg.c:3254
 #, fuzzy
 msgid "show all notations during signature verification"
 msgstr "%s non é un xogo de caracteres válido\n"
 
-#: g10/gpg.c:3240
+#: g10/gpg.c:3256
 msgid "show IETF standard notations during signature verification"
 msgstr ""
 
-#: g10/gpg.c:3244
+#: g10/gpg.c:3260
 msgid "show user-supplied notations during signature verification"
 msgstr ""
 
-#: g10/gpg.c:3246
+#: g10/gpg.c:3262
 #, fuzzy
 msgid "show preferred keyserver URLs during signature verification"
 msgstr "o URL de normativa de sinaturas dado non é válido\n"
 
-#: g10/gpg.c:3248
+#: g10/gpg.c:3264
 #, fuzzy
 msgid "show user ID validity during signature verification"
 msgstr "%s non é un xogo de caracteres válido\n"
 
-#: g10/gpg.c:3250
+#: g10/gpg.c:3266
 msgid "show revoked and expired user IDs in signature verification"
 msgstr ""
 
-#: g10/gpg.c:3252
+#: g10/gpg.c:3268
 #, fuzzy
 msgid "show only the primary user ID in signature verification"
 msgstr "%s non é un xogo de caracteres válido\n"
 
-#: g10/gpg.c:3254
+#: g10/gpg.c:3270
 msgid "validate signatures with PKA data"
 msgstr ""
 
-#: g10/gpg.c:3256
+#: g10/gpg.c:3272
 msgid "elevate the trust of signatures with valid PKA data"
 msgstr ""
 
-#: g10/gpg.c:3263
+#: g10/gpg.c:3279
 #, fuzzy, c-format
 msgid "%s:%d: invalid verify options\n"
 msgstr "%s:%d: opcións de exportación non válidas\n"
 
-#: g10/gpg.c:3266
+#: g10/gpg.c:3282
 #, fuzzy, c-format
 msgid "invalid verify options\n"
 msgstr "opcións de exportación non válidas\n"
 
-#: g10/gpg.c:3273
+#: g10/gpg.c:3289
 #, c-format
 msgid "unable to set exec-path to %s\n"
 msgstr "non se puido estabrecer exec-path a %s\n"
 
-#: g10/gpg.c:3478
+#: g10/gpg.c:3498
 #, fuzzy, c-format
 msgid "%s:%d: invalid auto-key-locate list\n"
 msgstr "%s:%d: opcións de exportación non válidas\n"
 
-#: g10/gpg.c:3481
+#: g10/gpg.c:3501
 #, c-format
 msgid "invalid auto-key-locate list\n"
 msgstr ""
 
-#: g10/gpg.c:3653 sm/gpgsm.c:1541
+#: g10/gpg.c:3673 sm/gpgsm.c:1441
 #, c-format
 msgid "WARNING: program may create a core file!\n"
 msgstr "AVISO: ¡o programa pode crear un ficheiro 'core'!\n"
 
-#: g10/gpg.c:3664
+#: g10/gpg.c:3684
 #, c-format
 msgid "WARNING: %s overrides %s\n"
 msgstr "AVISO: %s fai que se ignore %s\n"
 
-#: g10/gpg.c:3673
+#: g10/gpg.c:3693
 #, c-format
 msgid "%s not allowed with %s!\n"
 msgstr "¡%s non se admite con %s!\n"
 
-#: g10/gpg.c:3676
+#: g10/gpg.c:3696
 #, c-format
 msgid "%s makes no sense with %s!\n"
 msgstr "¡%s non ten sentido empregándoo con %s!\n"
 
-#: g10/gpg.c:3691 sm/gpgsm.c:1558 dirmngr/dirmngr.c:1082
+#: g10/gpg.c:3711 sm/gpgsm.c:1458 dirmngr/dirmngr.c:1117
 #, c-format
 msgid "WARNING: running with faked system time: "
 msgstr ""
 
-#: g10/gpg.c:3712
+#: g10/gpg.c:3732
 #, fuzzy, c-format
 msgid "will not run with insecure memory due to %s\n"
 msgstr "gravando a chave secreta en `%s'\n"
 
-#: g10/gpg.c:3747 g10/gpg.c:3771 sm/gpgsm.c:1625
+#: g10/gpg.c:3767 g10/gpg.c:3791 sm/gpgsm.c:1525
 #, c-format
 msgid "selected cipher algorithm is invalid\n"
 msgstr "o algoritmo de cifrado seleccionado non é válido\n"
 
-#: g10/gpg.c:3759
+#: g10/gpg.c:3779
 #, fuzzy, c-format
 msgid "selected compression algorithm is invalid\n"
 msgstr "o algoritmo de cifrado seleccionado non é válido\n"
 
-#: g10/gpg.c:3765
+#: g10/gpg.c:3785
 #, c-format
 msgid "selected certification digest algorithm is invalid\n"
 msgstr "o algoritmo de resumo de certificación seleccionado non é válido\n"
 
-#: g10/gpg.c:3780
+#: g10/gpg.c:3800
 #, c-format
 msgid "completes-needed must be greater than 0\n"
 msgstr "completes-needed debe ser superior a 0\n"
 
-#: g10/gpg.c:3782
+#: g10/gpg.c:3802
 #, c-format
 msgid "marginals-needed must be greater than 1\n"
 msgstr "marginals-needed debe ser superior a 1\n"
 
-#: g10/gpg.c:3784
+#: g10/gpg.c:3804
 #, fuzzy, c-format
 msgid "max-cert-depth must be in the range from 1 to 255\n"
 msgstr "max-cert-depth debe valer entre 1 e 255\n"
 
-#: g10/gpg.c:3786
+#: g10/gpg.c:3806
 #, fuzzy, c-format
 msgid "invalid default-cert-level; must be 0, 1, 2, or 3\n"
 msgstr "nivel de comprobación por defecto non válido; debe ser 0, 1, 2 ou 3\n"
 
-#: g10/gpg.c:3788
+#: g10/gpg.c:3808
 #, fuzzy, c-format
 msgid "invalid min-cert-level; must be 1, 2, or 3\n"
 msgstr "nivel de comprobación por defecto non válido; debe ser 0, 1, 2 ou 3\n"
 
-#: g10/gpg.c:3791
+#: g10/gpg.c:3812
 #, fuzzy, c-format
 #| msgid "NOTE: simple S2K mode (0) is strongly discouraged\n"
 msgid "Note: simple S2K mode (0) is strongly discouraged\n"
 msgstr "NOTA: desaconséllase encarecidamente o modo S2K simple (0)\n"
 
-#: g10/gpg.c:3795
+#: g10/gpg.c:3816
 #, c-format
 msgid "invalid S2K mode; must be 0, 1 or 3\n"
 msgstr "modo S2K non válido; debe ser 0, 1 ou 3\n"
 
-#: g10/gpg.c:3802
+#: g10/gpg.c:3823
 #, c-format
 msgid "invalid default preferences\n"
 msgstr "preferencias por defecto non válidas\n"
 
-#: g10/gpg.c:3806
+#: g10/gpg.c:3827
 #, c-format
 msgid "invalid personal cipher preferences\n"
 msgstr "preferencias de cifrado personais non válidas\n"
 
-#: g10/gpg.c:3810
+#: g10/gpg.c:3831
 #, c-format
 msgid "invalid personal digest preferences\n"
 msgstr "preferencias de resumo personais non válidas\n"
 
-#: g10/gpg.c:3814
+#: g10/gpg.c:3835
 #, c-format
 msgid "invalid personal compress preferences\n"
 msgstr "preferencias de compresión personais non válidas\n"
 
-#: g10/gpg.c:3850
+#: g10/gpg.c:3871
 #, c-format
 msgid "%s does not yet work with %s\n"
 msgstr "¡%s aínda non traballa con %s!\n"
 
-#: g10/gpg.c:3913
+#: g10/gpg.c:3934
 #, fuzzy, c-format
 msgid "compression algorithm '%s' may not be used in %s mode\n"
 msgstr "non se pode empregar o algoritmo de compresión \"%s\" no modo %s\n"
 
-#: g10/gpg.c:4057
+#: g10/gpg.c:4078
 #, c-format
 msgid "failed to initialize the TrustDB: %s\n"
 msgstr "non se puido inicializa-la base de datos de confianzas: %s\n"
 
-#: g10/gpg.c:4069
+#: g10/gpg.c:4090
 #, c-format
 msgid "WARNING: recipients (-r) given without using public key encryption\n"
 msgstr ""
 "AVISO: deronse destinatarios (-r) sen empregar cifrado de chave pública\n"
 
-#: g10/gpg.c:4141
+#: g10/gpg.c:4162
 #, fuzzy, c-format
 msgid "symmetric encryption of '%s' failed: %s\n"
 msgstr "o descifrado fallou: %s\n"
 
-#: g10/gpg.c:4170
+#: g10/gpg.c:4191
 #, c-format
 msgid "you cannot use --symmetric --encrypt with --s2k-mode 0\n"
 msgstr ""
 
-#: g10/gpg.c:4173
+#: g10/gpg.c:4194
 #, fuzzy, c-format
 msgid "you cannot use --symmetric --encrypt in %s mode\n"
 msgstr "non se pode empregar %s no modo %s\n"
 
-#: g10/gpg.c:4231
+#: g10/gpg.c:4252
 #, c-format
 msgid "you cannot use --symmetric --sign --encrypt with --s2k-mode 0\n"
 msgstr ""
 
-#: g10/gpg.c:4234
+#: g10/gpg.c:4255
 #, fuzzy, c-format
 msgid "you cannot use --symmetric --sign --encrypt in %s mode\n"
 msgstr "non se pode empregar %s no modo %s\n"
 
-#: g10/gpg.c:4622 g10/keyserver.c:1881
+#: g10/gpg.c:4643 g10/keyserver.c:1648
 #, c-format
 msgid "keyserver send failed: %s\n"
 msgstr "o envío ao servidor de chaves fallou: %s\n"
 
-#: g10/gpg.c:4627
+#: g10/gpg.c:4648
 #, c-format
 msgid "keyserver receive failed: %s\n"
 msgstr "a recepción do servidor de chaves fallou: %s\n"
 
-#: g10/gpg.c:4633
+#: g10/gpg.c:4654
 #, c-format
 msgid "key export failed: %s\n"
 msgstr "a exportación da chave fallou: %s\n"
 
-#: g10/gpg.c:4646
+#: g10/gpg.c:4667
 #, fuzzy, c-format
 #| msgid "key export failed: %s\n"
 msgid "export as ssh key failed: %s\n"
 msgstr "a exportación da chave fallou: %s\n"
 
-#: g10/gpg.c:4658
+#: g10/gpg.c:4679
 #, c-format
 msgid "keyserver search failed: %s\n"
 msgstr "a busca no servidor de chaves fallou fallou: %s\n"
 
-#: g10/gpg.c:4671
+#: g10/gpg.c:4692
 #, c-format
 msgid "keyserver refresh failed: %s\n"
 msgstr "a actualización no servidor de chaves fallou: %s\n"
 
-#: g10/gpg.c:4738
+#: g10/gpg.c:4759
 #, c-format
 msgid "dearmoring failed: %s\n"
 msgstr "non se puido quita-la armadura: %s\n"
 
-#: g10/gpg.c:4749
+#: g10/gpg.c:4770
 #, c-format
 msgid "enarmoring failed: %s\n"
 msgstr "non se puido poñe-la armadura: %s\n"
 
-#: g10/gpg.c:4841
+#: g10/gpg.c:4862
 #, fuzzy, c-format
 #| msgid "invalid hash algorithm `%s'\n"
 msgid "invalid hash algorithm '%s'\n"
 msgstr "algoritmo de hash non válido `%s'\n"
 
-#: g10/gpg.c:4993 g10/tofu.c:2153
+#: g10/gpg.c:5014 g10/tofu.c:2153
 #, fuzzy, c-format
 msgid "error parsing key specification '%s': %s\n"
 msgstr "erro ao crea-lo contrasinal: %s\n"
 
-#: g10/gpg.c:5006
+#: g10/gpg.c:5027
 #, c-format
 msgid "'%s' does not appear to be a valid key ID, fingerprint or keygrip\n"
 msgstr ""
 
-#: g10/gpg.c:5062
+#: g10/gpg.c:5083
 #, c-format
 msgid "WARNING: no command supplied.  Trying to guess what you mean ...\n"
 msgstr ""
 
-#: g10/gpg.c:5073
+#: g10/gpg.c:5094
 #, c-format
 msgid "Go ahead and type your message ...\n"
 msgstr "Escriba a súa mensaxe ...\n"
 
-#: g10/gpg.c:5418
+#: g10/gpg.c:5439
 #, c-format
 msgid "the given certification policy URL is invalid\n"
 msgstr "o URL de normativa de certificación dado non é válido\n"
 
-#: g10/gpg.c:5420
+#: g10/gpg.c:5441
 #, c-format
 msgid "the given signature policy URL is invalid\n"
 msgstr "o URL de normativa de sinaturas dado non é válido\n"
 
-#: g10/gpg.c:5453
+#: g10/gpg.c:5474
 #, fuzzy, c-format
 msgid "the given preferred keyserver URL is invalid\n"
 msgstr "o URL de normativa de sinaturas dado non é válido\n"
@@ -3430,7 +3448,7 @@ msgstr "toma-las chaves deste chaveiro"
 msgid "make timestamp conflicts only a warning"
 msgstr "converte-los conflictos de selo de data nun aviso"
 
-#: g10/gpgv.c:86 sm/gpgsm.c:354 tools/gpgconf.c:112
+#: g10/gpgv.c:86 sm/gpgsm.c:357 tools/gpgconf.c:112
 msgid "|FD|write status info to this FD"
 msgstr "|DF|escribi-la información de estado a este DF"
 
@@ -3514,266 +3532,266 @@ msgstr ""
 msgid "repair keys on import"
 msgstr "amosar fingerprint"
 
-#: g10/import.c:380 g10/import.c:699
+#: g10/import.c:392 g10/import.c:711
 #, c-format
 msgid "skipping block of type %d\n"
 msgstr "pasando por alto un bloque de tipo %d\n"
 
-#: g10/import.c:716
+#: g10/import.c:728
 #, fuzzy, c-format
 msgid "%lu keys processed so far\n"
 msgstr "%lu chaves procesadas hasta polo momento\n"
 
-#: g10/import.c:802
+#: g10/import.c:814
 #, c-format
 msgid "Total number processed: %lu\n"
 msgstr "Número total procesado: %lu\n"
 
-#: g10/import.c:805
+#: g10/import.c:817
 #, fuzzy, c-format
 #| msgid "      skipped new keys: %lu\n"
 msgid "    skipped PGP-2 keys: %lu\n"
 msgstr "novas chaves omitidas: %lu\n"
 
-#: g10/import.c:807
+#: g10/import.c:819
 #, c-format
 msgid "      skipped new keys: %lu\n"
 msgstr "novas chaves omitidas: %lu\n"
 
-#: g10/import.c:810
+#: g10/import.c:822
 #, c-format
 msgid "          w/o user IDs: %lu\n"
 msgstr "   sin IDs de usuario: %lu\n"
 
-#: g10/import.c:813 sm/import.c:130
+#: g10/import.c:825 sm/import.c:130
 #, c-format
 msgid "              imported: %lu"
 msgstr "           importadas: %lu"
 
-#: g10/import.c:817 sm/import.c:134
+#: g10/import.c:829 sm/import.c:134
 #, c-format
 msgid "             unchanged: %lu\n"
 msgstr "          sin cambios: %lu\n"
 
-#: g10/import.c:819
+#: g10/import.c:831
 #, c-format
 msgid "          new user IDs: %lu\n"
 msgstr " novos IDs de usuario: %lu\n"
 
-#: g10/import.c:821
+#: g10/import.c:833
 #, c-format
 msgid "           new subkeys: %lu\n"
 msgstr "     novas sub-chaves: %lu\n"
 
-#: g10/import.c:823
+#: g10/import.c:835
 #, c-format
 msgid "        new signatures: %lu\n"
 msgstr "         novas sinaturas: %lu\n"
 
-#: g10/import.c:825
+#: g10/import.c:837
 #, c-format
 msgid "   new key revocations: %lu\n"
 msgstr " novas revocacións de chaves: %lu\n"
 
-#: g10/import.c:827 sm/import.c:136
+#: g10/import.c:839 sm/import.c:136
 #, c-format
 msgid "      secret keys read: %lu\n"
 msgstr "chaves secretas lidas: %lu\n"
 
-#: g10/import.c:829 sm/import.c:138
+#: g10/import.c:841 sm/import.c:138
 #, c-format
 msgid "  secret keys imported: %lu\n"
 msgstr "chaves secretas importadas: %lu\n"
 
-#: g10/import.c:831 sm/import.c:140
+#: g10/import.c:843 sm/import.c:140
 #, c-format
 msgid " secret keys unchanged: %lu\n"
 msgstr "chaves secretas sin cambios: %lu\n"
 
-#: g10/import.c:833 sm/import.c:142
+#: g10/import.c:845 sm/import.c:142
 #, c-format
 msgid "          not imported: %lu\n"
 msgstr "       non importadas: %lu\n"
 
-#: g10/import.c:835
+#: g10/import.c:847
 #, fuzzy, c-format
 msgid "    signatures cleaned: %lu\n"
 msgstr "         novas sinaturas: %lu\n"
 
-#: g10/import.c:837
+#: g10/import.c:849
 #, fuzzy, c-format
 msgid "      user IDs cleaned: %lu\n"
 msgstr "chaves secretas lidas: %lu\n"
 
-#: g10/import.c:1264
+#: g10/import.c:1276
 #, c-format
 msgid ""
 "WARNING: key %s contains preferences for unavailable\n"
 "algorithms on these user IDs:\n"
 msgstr ""
 
-#: g10/import.c:1306
+#: g10/import.c:1318
 #, c-format
 msgid "         \"%s\": preference for cipher algorithm %s\n"
 msgstr ""
 
-#: g10/import.c:1321
+#: g10/import.c:1333
 #, fuzzy, c-format
 msgid "         \"%s\": preference for digest algorithm %s\n"
 msgstr "Sinatura %s, algoritmo de resumo %s\n"
 
-#: g10/import.c:1333
+#: g10/import.c:1345
 #, c-format
 msgid "         \"%s\": preference for compression algorithm %s\n"
 msgstr ""
 
-#: g10/import.c:1346
+#: g10/import.c:1358
 #, c-format
 msgid "it is strongly suggested that you update your preferences and\n"
 msgstr ""
 
-#: g10/import.c:1348
+#: g10/import.c:1360
 #, c-format
 msgid "re-distribute this key to avoid potential algorithm mismatch problems\n"
 msgstr ""
 
-#: g10/import.c:1373
+#: g10/import.c:1385
 #, c-format
 msgid "you can update your preferences with: gpg --edit-key %s updpref save\n"
 msgstr ""
 
-#: g10/import.c:1887 g10/import.c:3001
+#: g10/import.c:1899 g10/import.c:3013
 #, fuzzy, c-format
 msgid "key %s: no user ID\n"
 msgstr "chave %08lX: non hai ID de usuario\n"
 
-#: g10/import.c:1893
+#: g10/import.c:1905
 #, fuzzy, c-format
 msgid "key %s: %s\n"
 msgstr "omítese `%s': %s\n"
 
-#: g10/import.c:1894 g10/import.c:2973
+#: g10/import.c:1906 g10/import.c:2985
 msgid "rejected by import screener"
 msgstr ""
 
-#: g10/import.c:1938
+#: g10/import.c:1950
 #, fuzzy, c-format
 msgid "key %s: PKS subkey corruption repaired\n"
 msgstr "chave %08lX: arranxouse a corrupción da sub-chave HKP\n"
 
-#: g10/import.c:1959
+#: g10/import.c:1971
 #, fuzzy, c-format
 msgid "key %s: accepted non self-signed user ID \"%s\"\n"
 msgstr "chave %08lX: aceptouse o ID de usuario '%s' sen auto-sinatura\n"
 
-#: g10/import.c:1969 g10/import.c:2000
+#: g10/import.c:1981 g10/import.c:2012
 #, fuzzy, c-format
 msgid "key %s: no valid user IDs\n"
 msgstr "chave %08lX: non hai IDs de usuario válidos\n"
 
-#: g10/import.c:1971
+#: g10/import.c:1983
 #, c-format
 msgid "this may be caused by a missing self-signature\n"
 msgstr "isto pode ser causado por unha auto-sinatura que falta\n"
 
-#: g10/import.c:2050 g10/import.c:3387
+#: g10/import.c:2062 g10/import.c:3399
 #, fuzzy, c-format
 msgid "key %s: public key not found: %s\n"
 msgstr "chave %08lX: chave pública non atopada: %s\n"
 
-#: g10/import.c:2056
+#: g10/import.c:2068
 #, fuzzy, c-format
 msgid "key %s: new key - skipped\n"
 msgstr "chave %08lX: nova chave - omitida\n"
 
-#: g10/import.c:2068
+#: g10/import.c:2080
 #, c-format
 msgid "no writable keyring found: %s\n"
 msgstr "non se atopou un chaveiro no que se poida escribir: %s\n"
 
-#: g10/import.c:2100 g10/import.c:2202 g10/import.c:3464
+#: g10/import.c:2112 g10/import.c:2214 g10/import.c:3476
 #, fuzzy, c-format
 #| msgid "error writing keyring `%s': %s\n"
 msgid "error writing keyring '%s': %s\n"
 msgstr "erro escribindo no chaveiro `%s': %s\n"
 
-#: g10/import.c:2123
+#: g10/import.c:2135
 #, fuzzy, c-format
 msgid "key %s: public key \"%s\" imported\n"
 msgstr "chave %08lX: chave pública \"%s\" importada\n"
 
-#: g10/import.c:2150
+#: g10/import.c:2162
 #, fuzzy, c-format
 msgid "key %s: doesn't match our copy\n"
 msgstr "chave %08lX: non coincide coa nosa copia\n"
 
-#: g10/import.c:2218
+#: g10/import.c:2230
 #, fuzzy, c-format
 msgid "key %s: \"%s\" 1 new user ID\n"
 msgstr "chave %08lX: \"%s\" 1 novo ID de usuario\n"
 
-#: g10/import.c:2221
+#: g10/import.c:2233
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d new user IDs\n"
 msgstr "chave %08lX: \"%s\" %d novos IDs de usuario\n"
 
-#: g10/import.c:2224
+#: g10/import.c:2236
 #, fuzzy, c-format
 msgid "key %s: \"%s\" 1 new signature\n"
 msgstr "chave %08lX: \"%s\" 1 nova sinatura\n"
 
-#: g10/import.c:2227
+#: g10/import.c:2239
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d new signatures\n"
 msgstr "chave %08lX: \"%s\" %d novas sinaturas\n"
 
-#: g10/import.c:2230
+#: g10/import.c:2242
 #, fuzzy, c-format
 msgid "key %s: \"%s\" 1 new subkey\n"
 msgstr "chave %08lX: \"%s\" 1 nova sub-chave\n"
 
-#: g10/import.c:2233
+#: g10/import.c:2245
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d new subkeys\n"
 msgstr "chave %08lX: \"%s\" %d novas sub-chaves\n"
 
-#: g10/import.c:2236
+#: g10/import.c:2248
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d signature cleaned\n"
 msgstr "chave %08lX: \"%s\" %d novas sinaturas\n"
 
-#: g10/import.c:2239
+#: g10/import.c:2251
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d signatures cleaned\n"
 msgstr "chave %08lX: \"%s\" %d novas sinaturas\n"
 
-#: g10/import.c:2242
+#: g10/import.c:2254
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d user ID cleaned\n"
 msgstr "chave %08lX: \"%s\" %d novos IDs de usuario\n"
 
-#: g10/import.c:2245
+#: g10/import.c:2257
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d user IDs cleaned\n"
 msgstr "chave %08lX: \"%s\" %d novos IDs de usuario\n"
 
-#: g10/import.c:2281
+#: g10/import.c:2293
 #, fuzzy, c-format
 msgid "key %s: \"%s\" not changed\n"
 msgstr "chave %08lX: \"%s\" sen cambios\n"
 
-#: g10/import.c:2640 g10/import.c:2835
+#: g10/import.c:2652 g10/import.c:2847
 #, fuzzy, c-format
 msgid "key %s: secret key imported\n"
 msgstr "chave %08lX: chave secreta importada\n"
 
-#: g10/import.c:2648
+#: g10/import.c:2660
 #, fuzzy, c-format
 #| msgid "skipped: secret key already present\n"
 msgid "key %s: secret key already exists\n"
 msgstr "omítese: a chave secreta xa está presente\n"
 
-#: g10/import.c:2656
+#: g10/import.c:2668
 #, fuzzy, c-format
 msgid "key %s: error sending to agent: %s\n"
 msgstr "erro ao enviar a `%s': %s\n"
@@ -3786,207 +3804,207 @@ msgstr "erro ao enviar a `%s': %s\n"
 #. * Instead, user should be suggested to run 'gpg --card-status',
 #. * then, references to a card will be automatically created
 #. * again.
-#: g10/import.c:2825
+#: g10/import.c:2837
 #, c-format
 msgid "To migrate '%s', with each smartcard, run: %s\n"
 msgstr ""
 
-#: g10/import.c:2972
+#: g10/import.c:2984
 #, fuzzy, c-format
 msgid "secret key %s: %s\n"
 msgstr "non se atopou a chave secreta `%s': %s\n"
 
-#: g10/import.c:2993 g10/import.c:3032
+#: g10/import.c:3005 g10/import.c:3044
 #, fuzzy, c-format
 msgid "importing secret keys not allowed\n"
 msgstr "gravando a chave secreta en `%s'\n"
 
-#: g10/import.c:3020
+#: g10/import.c:3032
 #, fuzzy, c-format
 msgid "key %s: secret key with invalid cipher %d - skipped\n"
 msgstr "chave %08lX: chave secreta cunha cifra %d non válida - omitida\n"
 
-#: g10/import.c:3182 g10/pkclist.c:72 g10/revoke.c:776
+#: g10/import.c:3194 g10/pkclist.c:72 g10/revoke.c:776
 msgid "No reason specified"
 msgstr "Non se especificou un motivo"
 
-#: g10/import.c:3183 g10/pkclist.c:74 g10/revoke.c:778
+#: g10/import.c:3195 g10/pkclist.c:74 g10/revoke.c:778
 msgid "Key is superseded"
 msgstr "A chave é obsoleta"
 
-#: g10/import.c:3184 g10/pkclist.c:76 g10/revoke.c:777
+#: g10/import.c:3196 g10/pkclist.c:76 g10/revoke.c:777
 msgid "Key has been compromised"
 msgstr "Esta chave quedou descoberta"
 
-#: g10/import.c:3185 g10/pkclist.c:78 g10/revoke.c:779
+#: g10/import.c:3197 g10/pkclist.c:78 g10/revoke.c:779
 msgid "Key is no longer used"
 msgstr "Xa non se emprega esta chave"
 
-#: g10/import.c:3186 g10/pkclist.c:80 g10/revoke.c:780
+#: g10/import.c:3198 g10/pkclist.c:80 g10/revoke.c:780
 msgid "User ID is no longer valid"
 msgstr "O ID de usuario xa non é válido"
 
-#: g10/import.c:3311 g10/keylist.c:1254 g10/pkclist.c:84
+#: g10/import.c:3323 g10/keylist.c:1254 g10/pkclist.c:84
 #, c-format
 msgid "reason for revocation: "
 msgstr "motivo para a revocación: "
 
-#: g10/import.c:3330 g10/keylist.c:1273 g10/pkclist.c:100
+#: g10/import.c:3342 g10/keylist.c:1273 g10/pkclist.c:100
 #, c-format
 msgid "revocation comment: "
 msgstr "comentario de revocación: "
 
-#: g10/import.c:3380
+#: g10/import.c:3392
 #, fuzzy, c-format
 msgid "key %s: no public key - can't apply revocation certificate\n"
 msgstr ""
 "chave %08lX: non hai chave pública - non se pode aplica-lo\n"
 "certificado de revocación\n"
 
-#: g10/import.c:3411
+#: g10/import.c:3423
 #, fuzzy, c-format
 msgid "key %s: can't locate original keyblock: %s\n"
 msgstr ""
 "chave %08lX: non foi posible localiza-lo bloque de chaves original:\n"
 "%s\n"
 
-#: g10/import.c:3418
+#: g10/import.c:3430
 #, fuzzy, c-format
 msgid "key %s: can't read original keyblock: %s\n"
 msgstr ""
 "chave %08lX: non foi posible le-lo bloque de chaves original:\n"
 "%s\n"
 
-#: g10/import.c:3438
+#: g10/import.c:3450
 #, fuzzy, c-format
 msgid "key %s: invalid revocation certificate: %s - rejected\n"
 msgstr ""
 "chave %08lX: certificado de revocación incorrecto:\n"
 "%s - rechazado\n"
 
-#: g10/import.c:3473
+#: g10/import.c:3485
 #, fuzzy, c-format
 msgid "key %s: \"%s\" revocation certificate imported\n"
 msgstr "chave %08lX: \"%s\" certificado de revocación importado\n"
 
-#: g10/import.c:3559
+#: g10/import.c:3571
 #, fuzzy, c-format
 msgid "key %s: no user ID for signature\n"
 msgstr "chave %08lX: non hai ID de usuario para a sinatura\n"
 
-#: g10/import.c:3576
+#: g10/import.c:3588
 #, fuzzy, c-format
 msgid "key %s: unsupported public key algorithm on user ID \"%s\"\n"
 msgstr ""
 "chave %08lX: algoritmo de chave pública non soportado no ID de usuario \"%s"
 "\"\n"
 
-#: g10/import.c:3578
+#: g10/import.c:3590
 #, fuzzy, c-format
 msgid "key %s: invalid self-signature on user ID \"%s\"\n"
 msgstr ""
 "chave %08lX: auto-sinatura non válida no identificadr de usuario \"%s\"\n"
 
-#: g10/import.c:3595 g10/import.c:3623 g10/import.c:3679
+#: g10/import.c:3607 g10/import.c:3635 g10/import.c:3691
 #, fuzzy, c-format
 msgid "key %s: unsupported public key algorithm\n"
 msgstr "chave %08lX: algoritmo de chave pública non soportado\n"
 
-#: g10/import.c:3596
+#: g10/import.c:3608
 #, fuzzy, c-format
 msgid "key %s: invalid direct key signature\n"
 msgstr "chave %08lX: engadiuse unha sinatura de chave directa\n"
 
-#: g10/import.c:3610
+#: g10/import.c:3622
 #, fuzzy, c-format
 msgid "key %s: no subkey for key binding\n"
 msgstr "chave %08lX: non hai sub-chave para a ligazón da chave\n"
 
-#: g10/import.c:3625
+#: g10/import.c:3637
 #, fuzzy, c-format
 msgid "key %s: invalid subkey binding\n"
 msgstr "chave %08lX: ligazón de sub-chave incorrecta\n"
 
-#: g10/import.c:3644
+#: g10/import.c:3656
 #, fuzzy, c-format
 msgid "key %s: removed multiple subkey binding\n"
 msgstr "chave %08lX: eliminouse unha ligazón de sub-chave múltiple\n"
 
-#: g10/import.c:3668
+#: g10/import.c:3680
 #, fuzzy, c-format
 msgid "key %s: no subkey for key revocation\n"
 msgstr "chave %08lX: non hai unha sub-chave para a revocación da chave\n"
 
-#: g10/import.c:3681
+#: g10/import.c:3693
 #, fuzzy, c-format
 msgid "key %s: invalid subkey revocation\n"
 msgstr "chave %08lX: revocación de sub-chave non válida\n"
 
-#: g10/import.c:3696
+#: g10/import.c:3708
 #, fuzzy, c-format
 msgid "key %s: removed multiple subkey revocation\n"
 msgstr "chave %08lX: eliminouse a revocación de sub-chaves múltiples\n"
 
-#: g10/import.c:3740
+#: g10/import.c:3752
 #, fuzzy, c-format
 msgid "key %s: skipped user ID \"%s\"\n"
 msgstr "chave %08lX: omitido o ID de usuario '"
 
-#: g10/import.c:3767
+#: g10/import.c:3779
 #, fuzzy, c-format
 msgid "key %s: skipped subkey\n"
 msgstr "chave %08lX: omitida a sub-chave\n"
 
-#: g10/import.c:3798
+#: g10/import.c:3810
 #, fuzzy, c-format
 msgid "key %s: non exportable signature (class 0x%02X) - skipped\n"
 msgstr "chave %08lX: sinatura non exportable (clase %02x) - omitida\n"
 
-#: g10/import.c:3809
+#: g10/import.c:3821
 #, fuzzy, c-format
 msgid "key %s: revocation certificate at wrong place - skipped\n"
 msgstr "chave %08lX: certificado de revocación no lugar erróneo - omitido\n"
 
-#: g10/import.c:3827
+#: g10/import.c:3839
 #, fuzzy, c-format
 msgid "key %s: invalid revocation certificate: %s - skipped\n"
 msgstr "chave %08lX: certificado de revocación incorrecto: %s - omitido\n"
 
-#: g10/import.c:3841
+#: g10/import.c:3853
 #, fuzzy, c-format
 msgid "key %s: subkey signature in wrong place - skipped\n"
 msgstr "chave %08lX: sinatura da sub-chave nun lugar incorrecto - omitida\n"
 
-#: g10/import.c:3849
+#: g10/import.c:3861
 #, fuzzy, c-format
 msgid "key %s: unexpected signature class (0x%02X) - skipped\n"
 msgstr "chave %08lX: clase de sinatura non esperada (0x%02X) - omitida\n"
 
-#: g10/import.c:4022
+#: g10/import.c:4034
 #, fuzzy, c-format
 msgid "key %s: duplicated user ID detected - merged\n"
 msgstr "chave %08lX: ID de usuario duplicado detectado - mesturado\n"
 
-#: g10/import.c:4087
+#: g10/import.c:4099
 #, fuzzy, c-format
 msgid "WARNING: key %s may be revoked: fetching revocation key %s\n"
 msgstr ""
 "AVISO: a chave %08lX pode estar revocada: obtendo a chave de revocación "
 "%08lX\n"
 
-#: g10/import.c:4103
+#: g10/import.c:4115
 #, fuzzy, c-format
 msgid "WARNING: key %s may be revoked: revocation key %s not present.\n"
 msgstr ""
 "AVISO: a chave %08lX pode estar revocada: chave de revocación %08lX "
 "ausente.\n"
 
-#: g10/import.c:4169
+#: g10/import.c:4181
 #, fuzzy, c-format
 msgid "key %s: \"%s\" revocation certificate added\n"
 msgstr "chave %08lX: \"%s\" certificado de revocación engadido\n"
 
-#: g10/import.c:4207
+#: g10/import.c:4219
 #, fuzzy, c-format
 msgid "key %s: direct key signature added\n"
 msgstr "chave %08lX: engadiuse unha sinatura de chave directa\n"
@@ -4055,7 +4073,7 @@ msgid ""
 "all signatures.\n"
 msgstr ""
 
-#: g10/keydb.c:431 g10/keydb.c:458 sm/keydb.c:191 sm/keydb.c:204
+#: g10/keydb.c:431 g10/keydb.c:458 sm/keydb.c:190 sm/keydb.c:203
 #, fuzzy, c-format
 msgid "error creating keybox '%s': %s\n"
 msgstr "erro ao crea-lo chaveiro `%s': %s\n"
@@ -4066,7 +4084,7 @@ msgstr "erro ao crea-lo chaveiro `%s': %s\n"
 msgid "error creating keyring '%s': %s\n"
 msgstr "erro ao crea-lo chaveiro `%s': %s\n"
 
-#: g10/keydb.c:470 sm/keydb.c:210
+#: g10/keydb.c:470 sm/keydb.c:209
 #, fuzzy, c-format
 msgid "keybox '%s' created\n"
 msgstr "chaveiro `%s' creado\n"
@@ -4143,13 +4161,13 @@ msgstr ""
 msgid "User ID \"%s\" is revoked."
 msgstr "O ID de usuario \"%s\" está revocado."
 
-#: g10/keyedit.c:569 g10/keyedit.c:597 g10/keyedit.c:624 g10/keyedit.c:808
-#: g10/keyedit.c:1655
+#: g10/keyedit.c:569 g10/keyedit.c:597 g10/keyedit.c:624 g10/keyedit.c:809
+#: g10/keyedit.c:1656
 msgid "Are you sure you still want to sign it? (y/N) "
 msgstr "¿Está seguro de que quere asinalo? (s/N) "
 
-#: g10/keyedit.c:583 g10/keyedit.c:611 g10/keyedit.c:638 g10/keyedit.c:814
-#: g10/keyedit.c:1660 g10/keyedit.c:2667
+#: g10/keyedit.c:583 g10/keyedit.c:611 g10/keyedit.c:638 g10/keyedit.c:815
+#: g10/keyedit.c:1661 g10/keyedit.c:2668
 msgid "  Unable to sign.\n"
 msgstr " Non se puido asinar.\n"
 
@@ -4222,29 +4240,29 @@ msgstr "\"%s\" xa estaba asinado localmente coa chave %08lX\n"
 msgid "\"%s\" was already signed by key %s\n"
 msgstr "\"%s\" xa estaba asinado coa chave %08lX\n"
 
-#: g10/keyedit.c:756
+#: g10/keyedit.c:757
 msgid "Do you want to sign it again anyway? (y/N) "
 msgstr "¿Quere asinalo outra vez de tódolos xeitos? (s/N) "
 
-#: g10/keyedit.c:778
+#: g10/keyedit.c:779
 #, fuzzy, c-format
 msgid "Nothing to sign with key %s\n"
 msgstr "Nada que asinar coa chave %08lX\n"
 
-#: g10/keyedit.c:802
+#: g10/keyedit.c:803
 msgid "This key has expired!"
 msgstr "¡Esta chave caducou!"
 
-#: g10/keyedit.c:820
+#: g10/keyedit.c:821
 #, c-format
 msgid "This key is due to expire on %s.\n"
 msgstr "Esta chave ha caducar o %s.\n"
 
-#: g10/keyedit.c:826
+#: g10/keyedit.c:827
 msgid "Do you want your signature to expire at the same time? (Y/n) "
 msgstr "¿Quere que a súa sinatura caduque ao mesmo tempo? (S/n) "
 
-#: g10/keyedit.c:867
+#: g10/keyedit.c:868
 msgid ""
 "How carefully have you verified the key you are about to sign actually "
 "belongs\n"
@@ -4253,32 +4271,32 @@ msgstr ""
 "¿Con canto tino comprobou que a chave que vai asinar realmente pertence á\n"
 "persoa de enriba? Se non sabe que respostar, introduza \"0\".\n"
 
-#: g10/keyedit.c:872
+#: g10/keyedit.c:873
 #, c-format
 msgid "   (0) I will not answer.%s\n"
 msgstr "   (0) Non hei respostar.%s\n"
 
-#: g10/keyedit.c:874
+#: g10/keyedit.c:875
 #, c-format
 msgid "   (1) I have not checked at all.%s\n"
 msgstr "   (1) Non o comprobei en absoluto.%s\n"
 
-#: g10/keyedit.c:876
+#: g10/keyedit.c:877
 #, c-format
 msgid "   (2) I have done casual checking.%s\n"
 msgstr "   (2) Fixen algunhas comprobacións.%s\n"
 
-#: g10/keyedit.c:879
+#: g10/keyedit.c:880
 #, c-format
 msgid "   (3) I have done very careful checking.%s\n"
 msgstr "   (3) Fixen comprobacións moi exhaustivas.%s\n"
 
-#: g10/keyedit.c:886
+#: g10/keyedit.c:887
 #, fuzzy
 msgid "Your selection? (enter '?' for more information): "
 msgstr "¿A súa elección? (introduza '?' para ter máis información): "
 
-#: g10/keyedit.c:913
+#: g10/keyedit.c:914
 #, fuzzy, c-format
 msgid ""
 "Are you sure that you want to sign this key with your\n"
@@ -4287,277 +4305,277 @@ msgstr ""
 "¿Esta seguro de que quere asinar esta chave\n"
 "coa súa chave: \""
 
-#: g10/keyedit.c:921
+#: g10/keyedit.c:922
 #, fuzzy
 msgid "This will be a self-signature.\n"
 msgstr ""
 "\n"
 "Esta ha ser unha auto-sinatura.\n"
 
-#: g10/keyedit.c:926
+#: g10/keyedit.c:927
 #, fuzzy
 msgid "WARNING: the signature will not be marked as non-exportable.\n"
 msgstr ""
 "\n"
 "AVISO: a sinatura non se ha marcar coma non exportable.\n"
 
-#: g10/keyedit.c:933
+#: g10/keyedit.c:934
 #, fuzzy
 msgid "WARNING: the signature will not be marked as non-revocable.\n"
 msgstr ""
 "\n"
 "AVISO: A sinatura non se ha marcar coma non revocable.\n"
 
-#: g10/keyedit.c:943
+#: g10/keyedit.c:944
 #, fuzzy
 msgid "The signature will be marked as non-exportable.\n"
 msgstr ""
 "\n"
 "A sinatura hase marcar coma non exportable.\n"
 
-#: g10/keyedit.c:950
+#: g10/keyedit.c:951
 #, fuzzy
 msgid "The signature will be marked as non-revocable.\n"
 msgstr ""
 "\n"
 "A sinatura hase marcar coma non revocable.\n"
 
-#: g10/keyedit.c:957
+#: g10/keyedit.c:958
 #, fuzzy
 msgid "I have not checked this key at all.\n"
 msgstr ""
 "\n"
 "Non se comprobou esta chave en absoluto.\n"
 
-#: g10/keyedit.c:962
+#: g10/keyedit.c:963
 #, fuzzy
 msgid "I have checked this key casually.\n"
 msgstr ""
 "\n"
 "Comprobouse esta chave de xeito informal.\n"
 
-#: g10/keyedit.c:967
+#: g10/keyedit.c:968
 #, fuzzy
 msgid "I have checked this key very carefully.\n"
 msgstr ""
 "\n"
 "Comprobouse esta chave con moito tino.\n"
 
-#: g10/keyedit.c:979
+#: g10/keyedit.c:980
 #, fuzzy
 msgid "Really sign? (y/N) "
 msgstr "¿Asinar de verdade? "
 
-#: g10/keyedit.c:1030 g10/keyedit.c:6154 g10/keyedit.c:6237 g10/keyedit.c:6366
-#: g10/keyedit.c:6428 g10/sign.c:466
+#: g10/keyedit.c:1031 g10/keyedit.c:6155 g10/keyedit.c:6238 g10/keyedit.c:6367
+#: g10/keyedit.c:6429 g10/sign.c:466
 #, c-format
 msgid "signing failed: %s\n"
 msgstr "fallou a sinatura: %s\n"
 
-#: g10/keyedit.c:1117
+#: g10/keyedit.c:1118
 msgid "Key has only stub or on-card key items - no passphrase to change.\n"
 msgstr ""
 
-#: g10/keyedit.c:1149
+#: g10/keyedit.c:1150
 #, fuzzy, c-format
 #| msgid "error creating passphrase: %s\n"
 msgid "key %s: error changing passphrase: %s\n"
 msgstr "erro ao crea-lo contrasinal: %s\n"
 
-#: g10/keyedit.c:1261
+#: g10/keyedit.c:1262
 msgid "save and quit"
 msgstr "gardar e saír"
 
-#: g10/keyedit.c:1264
+#: g10/keyedit.c:1265
 #, fuzzy
 msgid "show key fingerprint"
 msgstr "amosar fingerprint"
 
-#: g10/keyedit.c:1265
+#: g10/keyedit.c:1266
 #, fuzzy
 msgid "show the keygrip"
 msgstr "Notación de sinaturas: "
 
-#: g10/keyedit.c:1266
+#: g10/keyedit.c:1267
 msgid "list key and user IDs"
 msgstr "listar chave e IDs de usuario"
 
-#: g10/keyedit.c:1268
+#: g10/keyedit.c:1269
 msgid "select user ID N"
 msgstr "selecciona-lo ID de usuario N"
 
-#: g10/keyedit.c:1269
+#: g10/keyedit.c:1270
 #, fuzzy
 msgid "select subkey N"
 msgstr "selecciona-lo ID de usuario N"
 
-#: g10/keyedit.c:1270
+#: g10/keyedit.c:1271
 #, fuzzy
 msgid "check signatures"
 msgstr "revocar sinaturas"
 
-#: g10/keyedit.c:1276
+#: g10/keyedit.c:1277
 msgid "sign selected user IDs [* see below for related commands]"
 msgstr ""
 
-#: g10/keyedit.c:1281
+#: g10/keyedit.c:1282
 #, fuzzy
 msgid "sign selected user IDs locally"
 msgstr "asina-la chave localmente"
 
-#: g10/keyedit.c:1282
+#: g10/keyedit.c:1283
 #, fuzzy
 msgid "sign selected user IDs with a trust signature"
 msgstr "Pista: seleccione os IDs de usuario que desexa asinar\n"
 
-#: g10/keyedit.c:1284
+#: g10/keyedit.c:1285
 msgid "sign selected user IDs with a non-revocable signature"
 msgstr ""
 
-#: g10/keyedit.c:1286
+#: g10/keyedit.c:1287
 msgid "add a user ID"
 msgstr "engadir un ID de usuario"
 
-#: g10/keyedit.c:1288
+#: g10/keyedit.c:1289
 msgid "add a photo ID"
 msgstr "engadir unha identificación fotográfica"
 
-#: g10/keyedit.c:1289
+#: g10/keyedit.c:1290
 #, fuzzy
 msgid "delete selected user IDs"
 msgstr "borrar un ID de usuario"
 
-#: g10/keyedit.c:1292
+#: g10/keyedit.c:1293
 #, fuzzy
 msgid "add a subkey"
 msgstr "addkey"
 
-#: g10/keyedit.c:1295
+#: g10/keyedit.c:1296
 msgid "add a key to a smartcard"
 msgstr ""
 
-#: g10/keyedit.c:1297
+#: g10/keyedit.c:1298
 msgid "move a key to a smartcard"
 msgstr ""
 
-#: g10/keyedit.c:1299
+#: g10/keyedit.c:1300
 msgid "move a backup key to a smartcard"
 msgstr ""
 
-#: g10/keyedit.c:1301
+#: g10/keyedit.c:1302
 #, fuzzy
 msgid "delete selected subkeys"
 msgstr "borrar unha chave secundaria"
 
-#: g10/keyedit.c:1303
+#: g10/keyedit.c:1304
 msgid "add a revocation key"
 msgstr "engadir unha chave de revocación"
 
-#: g10/keyedit.c:1305
+#: g10/keyedit.c:1306
 #, fuzzy
 msgid "delete signatures from the selected user IDs"
 msgstr ""
 "¿Seguro que quere actualiza-las preferencias dos IDs de usuario "
 "seleccionados? "
 
-#: g10/keyedit.c:1307
+#: g10/keyedit.c:1308
 #, fuzzy
 msgid "change the expiration date for the key or selected subkeys"
 msgstr "Non pode cambia-la data de expiración dunha chave v3\n"
 
-#: g10/keyedit.c:1309
+#: g10/keyedit.c:1310
 #, fuzzy
 msgid "flag the selected user ID as primary"
 msgstr "marcar un ID de usuario coma primario"
 
-#: g10/keyedit.c:1312
+#: g10/keyedit.c:1313
 msgid "list preferences (expert)"
 msgstr "lista-las preferencias (expertos)"
 
-#: g10/keyedit.c:1313
+#: g10/keyedit.c:1314
 msgid "list preferences (verbose)"
 msgstr "lista-las preferencias (moitos datos)"
 
-#: g10/keyedit.c:1315
+#: g10/keyedit.c:1316
 #, fuzzy
 msgid "set preference list for the selected user IDs"
 msgstr ""
 "¿Seguro que quere actualiza-las preferencias dos IDs de usuario "
 "seleccionados? "
 
-#: g10/keyedit.c:1318
+#: g10/keyedit.c:1319
 #, fuzzy
 msgid "set the preferred keyserver URL for the selected user IDs"
 msgstr "non se puido analisa-lo URI do servidor de chaves\n"
 
-#: g10/keyedit.c:1320
+#: g10/keyedit.c:1321
 #, fuzzy
 msgid "set a notation for the selected user IDs"
 msgstr ""
 "¿Seguro que quere actualiza-las preferencias dos IDs de usuario "
 "seleccionados? "
 
-#: g10/keyedit.c:1322
+#: g10/keyedit.c:1323
 msgid "change the passphrase"
 msgstr "cambia-lo contrasinal"
 
-#: g10/keyedit.c:1325
+#: g10/keyedit.c:1326
 msgid "change the ownertrust"
 msgstr "cambia-la confianza sobre o dono"
 
-#: g10/keyedit.c:1328
+#: g10/keyedit.c:1329
 #, fuzzy
 msgid "revoke signatures on the selected user IDs"
 msgstr "¿Seguro de que quere revocar tódolos IDs de usuario seleccionados? "
 
-#: g10/keyedit.c:1330
+#: g10/keyedit.c:1331
 #, fuzzy
 msgid "revoke selected user IDs"
 msgstr "revocar un ID de usuario"
 
-#: g10/keyedit.c:1333
+#: g10/keyedit.c:1334
 #, fuzzy
 msgid "revoke key or selected subkeys"
 msgstr "revocar unha chave secundaria"
 
-#: g10/keyedit.c:1335
+#: g10/keyedit.c:1336
 #, fuzzy
 msgid "enable key"
 msgstr "habilitar unha chave"
 
-#: g10/keyedit.c:1336
+#: g10/keyedit.c:1337
 #, fuzzy
 msgid "disable key"
 msgstr "deshabilitar unha chave"
 
-#: g10/keyedit.c:1338
+#: g10/keyedit.c:1339
 #, fuzzy
 msgid "show selected photo IDs"
 msgstr "amosa-la identificación fotográfica"
 
-#: g10/keyedit.c:1340
+#: g10/keyedit.c:1341
 msgid "compact unusable user IDs and remove unusable signatures from key"
 msgstr ""
 
-#: g10/keyedit.c:1342
+#: g10/keyedit.c:1343
 msgid "compact unusable user IDs and remove all signatures from key"
 msgstr ""
 
-#: g10/keyedit.c:1463
+#: g10/keyedit.c:1464
 msgid "Secret key is available.\n"
 msgstr "A chave secreta está disponible.\n"
 
-#: g10/keyedit.c:1465
+#: g10/keyedit.c:1466
 #, fuzzy
 #| msgid "Secret key is available.\n"
 msgid "Secret subkeys are available.\n"
 msgstr "A chave secreta está disponible.\n"
 
-#: g10/keyedit.c:1567
+#: g10/keyedit.c:1568
 msgid "Need the secret key to do this.\n"
 msgstr "Cómpre a chave secreta para facer isto.\n"
 
-#: g10/keyedit.c:1590
+#: g10/keyedit.c:1591
 msgid ""
 "* The 'sign' command may be prefixed with an 'l' for local signatures "
 "(lsign),\n"
@@ -4565,316 +4583,316 @@ msgid ""
 "  (nrsign), or any combination thereof (ltsign, tnrsign, etc.).\n"
 msgstr ""
 
-#: g10/keyedit.c:1648 g10/keyedit.c:2667 g10/keyedit.c:3040 g10/keyedit.c:3108
+#: g10/keyedit.c:1649 g10/keyedit.c:2668 g10/keyedit.c:3041 g10/keyedit.c:3109
 msgid "Key is revoked."
 msgstr "A chave está revocada."
 
-#: g10/keyedit.c:1671
+#: g10/keyedit.c:1672
 #, fuzzy
 msgid "Really sign all text user IDs? (y/N) "
 msgstr "¿Seguro de que quere asinar tódolos IDs de usuario? "
 
-#: g10/keyedit.c:1675
+#: g10/keyedit.c:1676
 #, fuzzy
 msgid "Really sign all user IDs? (y/N) "
 msgstr "¿Seguro de que quere asinar tódolos IDs de usuario? "
 
-#: g10/keyedit.c:1683
+#: g10/keyedit.c:1684
 msgid "Hint: Select the user IDs to sign\n"
 msgstr "Pista: seleccione os IDs de usuario que desexa asinar\n"
 
-#: g10/keyedit.c:1694
+#: g10/keyedit.c:1695
 #, fuzzy, c-format
 msgid "Unknown signature type '%s'\n"
 msgstr "clase de sinatura descoñecida"
 
-#: g10/keyedit.c:1718
+#: g10/keyedit.c:1719
 #, c-format
 msgid "This command is not allowed while in %s mode.\n"
 msgstr "Non se admite este comando no modo %s.\n"
 
-#: g10/keyedit.c:1740 g10/keyedit.c:1764 g10/keyedit.c:1961
+#: g10/keyedit.c:1741 g10/keyedit.c:1765 g10/keyedit.c:1962
 msgid "You must select at least one user ID.\n"
 msgstr "Debe seleccionar alomenos un ID de usuario.\n"
 
-#: g10/keyedit.c:1742 g10/keyedit.c:1766 g10/keyedit.c:1923 g10/keyedit.c:1963
+#: g10/keyedit.c:1743 g10/keyedit.c:1767 g10/keyedit.c:1924 g10/keyedit.c:1964
 #, c-format
 msgid "(Use the '%s' command.)\n"
 msgstr ""
 
-#: g10/keyedit.c:1745
+#: g10/keyedit.c:1746
 msgid "You can't delete the last user ID!\n"
 msgstr "¡Non pode borra-lo último ID de usuario!\n"
 
-#: g10/keyedit.c:1748
+#: g10/keyedit.c:1749
 #, fuzzy
 msgid "Really remove all selected user IDs? (y/N) "
 msgstr "¿Seguro de que quere borrar tódolos IDs de usuario seleccionados? "
 
-#: g10/keyedit.c:1749
+#: g10/keyedit.c:1750
 #, fuzzy
 msgid "Really remove this user ID? (y/N) "
 msgstr "¿Seguro de que quere borrar este ID de usuario? "
 
 #. TRANSLATORS: Please take care: This is about
 #. moving the key and not about removing it.
-#: g10/keyedit.c:1806
+#: g10/keyedit.c:1807
 #, fuzzy
 msgid "Really move the primary key? (y/N) "
 msgstr "¿Seguro de que quere borrar este ID de usuario? "
 
-#: g10/keyedit.c:1818 g10/keyedit.c:4803
+#: g10/keyedit.c:1819 g10/keyedit.c:4804
 #, fuzzy
 msgid "You must select exactly one key.\n"
 msgstr "Debe seleccionar alomenos unha chave.\n"
 
-#: g10/keyedit.c:1846
+#: g10/keyedit.c:1847
 msgid "Command expects a filename argument\n"
 msgstr ""
 
-#: g10/keyedit.c:1867
+#: g10/keyedit.c:1868
 #, fuzzy, c-format
 msgid "Can't open '%s': %s\n"
 msgstr "non se puido abrir `%s': %s\n"
 
-#: g10/keyedit.c:1886
+#: g10/keyedit.c:1887
 #, fuzzy, c-format
 msgid "Error reading backup key from '%s': %s\n"
 msgstr "erro ao crea-lo chaveiro `%s': %s\n"
 
-#: g10/keyedit.c:1921
+#: g10/keyedit.c:1922
 msgid "You must select at least one key.\n"
 msgstr "Debe seleccionar alomenos unha chave.\n"
 
-#: g10/keyedit.c:1927
+#: g10/keyedit.c:1928
 #, fuzzy
 msgid "Do you really want to delete the selected keys? (y/N) "
 msgstr "¿Seguro de que quere borra-las chaves seleccionadas? "
 
-#: g10/keyedit.c:1929
+#: g10/keyedit.c:1930
 #, fuzzy
 msgid "Do you really want to delete this key? (y/N) "
 msgstr "¿Seguro de que quere borrar esta chave? "
 
-#: g10/keyedit.c:1967
+#: g10/keyedit.c:1968
 #, fuzzy
 msgid "Really revoke all selected user IDs? (y/N) "
 msgstr "¿Seguro de que quere revocar tódolos IDs de usuario seleccionados? "
 
-#: g10/keyedit.c:1968
+#: g10/keyedit.c:1969
 #, fuzzy
 msgid "Really revoke this user ID? (y/N) "
 msgstr "¿Seguro de que quere revocar este ID de usuario? "
 
-#: g10/keyedit.c:1986
+#: g10/keyedit.c:1987
 #, fuzzy
 msgid "Do you really want to revoke the entire key? (y/N) "
 msgstr "¿Realmente quere revocar esta chave? "
 
-#: g10/keyedit.c:1997
+#: g10/keyedit.c:1998
 #, fuzzy
 msgid "Do you really want to revoke the selected subkeys? (y/N) "
 msgstr "¿Realmente quere revoca-las chaves seleccionadas? "
 
-#: g10/keyedit.c:1999
+#: g10/keyedit.c:2000
 #, fuzzy
 msgid "Do you really want to revoke this subkey? (y/N) "
 msgstr "¿Realmente quere revocar esta chave? "
 
-#: g10/keyedit.c:2057
+#: g10/keyedit.c:2058
 msgid "Owner trust may not be set while using a user provided trust database\n"
 msgstr ""
 
-#: g10/keyedit.c:2102
+#: g10/keyedit.c:2103
 #, fuzzy
 msgid "Set preference list to:\n"
 msgstr "estabrece-la lista de preferencias"
 
-#: g10/keyedit.c:2109
+#: g10/keyedit.c:2110
 #, fuzzy
 msgid "Really update the preferences for the selected user IDs? (y/N) "
 msgstr ""
 "¿Seguro que quere actualiza-las preferencias dos IDs de usuario "
 "seleccionados? "
 
-#: g10/keyedit.c:2111
+#: g10/keyedit.c:2112
 #, fuzzy
 msgid "Really update the preferences? (y/N) "
 msgstr "¿Realmente desexa actualiza-las preferencias? "
 
-#: g10/keyedit.c:2185
+#: g10/keyedit.c:2186
 #, fuzzy
 msgid "Save changes? (y/N) "
 msgstr "¿Garda-los cambios? "
 
-#: g10/keyedit.c:2189
+#: g10/keyedit.c:2190
 #, fuzzy
 msgid "Quit without saving? (y/N) "
 msgstr "¿Saír sin gardar? "
 
-#: g10/keyedit.c:2216 g10/keyedit.c:2762 g10/keyedit.c:3061 g10/keyedit.c:3214
+#: g10/keyedit.c:2217 g10/keyedit.c:2763 g10/keyedit.c:3062 g10/keyedit.c:3215
 #, c-format
 msgid "Key not changed so no update needed.\n"
 msgstr "A chave non cambiou, polo que non fai falla actualizar.\n"
 
-#: g10/keyedit.c:2448
+#: g10/keyedit.c:2449
 #, fuzzy, c-format
 #| msgid "You can't delete the last user ID!\n"
 msgid "cannot revoke the last valid user ID.\n"
 msgstr "¡Non pode borra-lo último ID de usuario!\n"
 
-#: g10/keyedit.c:2475
+#: g10/keyedit.c:2476
 #, fuzzy, c-format
 msgid "revoking the user ID failed: %s\n"
 msgstr "fallou a comprobación da sinatura creada: %s\n"
 
-#: g10/keyedit.c:2541
+#: g10/keyedit.c:2542
 #, fuzzy, c-format
 msgid "setting the primary user ID failed: %s\n"
 msgstr "fallou a comprobación da sinatura creada: %s\n"
 
-#: g10/keyedit.c:2572
+#: g10/keyedit.c:2573
 #, fuzzy, c-format
 msgid "\"%s\" is not a fingerprint\n"
 msgstr "erro: pegada dactilar non válida\n"
 
-#: g10/keyedit.c:2602
+#: g10/keyedit.c:2603
 #, fuzzy, c-format
 msgid "\"%s\" is not the primary fingerprint\n"
 msgstr "non se puido inicializa-la base de datos de confianzas: %s\n"
 
-#: g10/keyedit.c:2738 g10/keyedit.c:2741
+#: g10/keyedit.c:2739 g10/keyedit.c:2742
 #, fuzzy, c-format
 #| msgid "invalid value\n"
 msgid "Invalid user ID '%s': %s\n"
 msgstr "valor non válido\n"
 
-#: g10/keyedit.c:2744
+#: g10/keyedit.c:2745
 #, fuzzy
 #| msgid "No such user ID.\n"
 msgid "No matching user IDs."
 msgstr "Non hai tal ID de usuario.\n"
 
-#: g10/keyedit.c:2744
+#: g10/keyedit.c:2745
 #, fuzzy
 msgid "Nothing to sign.\n"
 msgstr "Nada que asinar coa chave %08lX\n"
 
-#: g10/keyedit.c:2937 g10/keyedit.c:6019
+#: g10/keyedit.c:2938 g10/keyedit.c:6020
 #, fuzzy, c-format
 msgid "Not signed by you.\n"
 msgstr "   asinada por %08lX no %s%s\n"
 
-#: g10/keyedit.c:2995
+#: g10/keyedit.c:2996
 #, fuzzy, c-format
 #| msgid "checking created signature failed: %s\n"
 msgid "revoking the key signature failed: %s\n"
 msgstr "fallou a comprobación da sinatura creada: %s\n"
 
-#: g10/keyedit.c:3116
+#: g10/keyedit.c:3117
 #, fuzzy, c-format
 msgid "'%s' is not a valid expiration time\n"
 msgstr "%s non é un xogo de caracteres válido\n"
 
-#: g10/keyedit.c:3159
+#: g10/keyedit.c:3160
 #, fuzzy, c-format
 msgid "\"%s\" is not a proper fingerprint\n"
 msgstr "erro: pegada dactilar non válida\n"
 
-#: g10/keyedit.c:3183
+#: g10/keyedit.c:3184
 #, fuzzy, c-format
 msgid "subkey \"%s\" not found\n"
 msgstr "non se atopou a chave `%s': %s\n"
 
-#: g10/keyedit.c:3306
+#: g10/keyedit.c:3307
 msgid "AEAD: "
 msgstr ""
 
-#: g10/keyedit.c:3323
+#: g10/keyedit.c:3324
 msgid "Digest: "
 msgstr "Resumo: "
 
-#: g10/keyedit.c:3380
+#: g10/keyedit.c:3381
 msgid "Features: "
 msgstr "Características: "
 
-#: g10/keyedit.c:3397
+#: g10/keyedit.c:3398
 msgid "Keyserver no-modify"
 msgstr ""
 
-#: g10/keyedit.c:3412 g10/keylist.c:376
+#: g10/keyedit.c:3413 g10/keylist.c:376
 msgid "Preferred keyserver: "
 msgstr ""
 
-#: g10/keyedit.c:3420 g10/keyedit.c:3421
+#: g10/keyedit.c:3421 g10/keyedit.c:3422
 #, fuzzy
 msgid "Notations: "
 msgstr "Notación: "
 
-#: g10/keyedit.c:3669
+#: g10/keyedit.c:3670
 msgid "There are no preferences on a PGP 2.x-style user ID.\n"
 msgstr "Non hai preferencias nun ID de usuario estilo PGP 2.x.\n"
 
-#: g10/keyedit.c:3741
+#: g10/keyedit.c:3742
 #, fuzzy, c-format
 msgid "The following key was revoked on %s by %s key %s\n"
 msgstr "Esta chave pode estar revocada por %s chave "
 
-#: g10/keyedit.c:3765
+#: g10/keyedit.c:3766
 #, fuzzy, c-format
 msgid "This key may be revoked by %s key %s"
 msgstr "Esta chave pode estar revocada por %s chave "
 
-#: g10/keyedit.c:3771
+#: g10/keyedit.c:3772
 #, fuzzy
 msgid "(sensitive)"
 msgstr " (sensible)"
 
-#: g10/keyedit.c:3813 g10/keyedit.c:3960 g10/keylist.c:264 g10/keyserver.c:538
+#: g10/keyedit.c:3814 g10/keyedit.c:3961 g10/keylist.c:264 g10/keyserver.c:361
 #, fuzzy, c-format
 msgid "created: %s"
 msgstr "non foi posible crear %s: %s\n"
 
-#: g10/keyedit.c:3816 g10/keylist.c:2149
+#: g10/keyedit.c:3817 g10/keylist.c:2149
 #, fuzzy, c-format
 msgid "revoked: %s"
 msgstr "[revocada] "
 
-#: g10/keyedit.c:3818 g10/keylist.c:2155
+#: g10/keyedit.c:3819 g10/keylist.c:2155
 #, fuzzy, c-format
 msgid "expired: %s"
 msgstr " [caduca: %s]"
 
-#: g10/keyedit.c:3820 g10/keyedit.c:3962 g10/keylist.c:266 g10/keylist.c:2161
-#: g10/keyserver.c:544
+#: g10/keyedit.c:3821 g10/keyedit.c:3963 g10/keylist.c:266 g10/keylist.c:2161
+#: g10/keyserver.c:367
 #, fuzzy, c-format
 msgid "expires: %s"
 msgstr " [caduca: %s]"
 
-#: g10/keyedit.c:3822
+#: g10/keyedit.c:3823
 #, fuzzy, c-format
 msgid "usage: %s"
 msgstr " confianza: %c/%c"
 
-#: g10/keyedit.c:3830 g10/keyedit.c:3850 g10/keylist.c:269
+#: g10/keyedit.c:3831 g10/keyedit.c:3851 g10/keylist.c:269
 msgid "card-no: "
 msgstr ""
 
-#: g10/keyedit.c:3889
+#: g10/keyedit.c:3890
 #, fuzzy, c-format
 msgid "trust: %s"
 msgstr " confianza: %c/%c"
 
-#: g10/keyedit.c:3893
+#: g10/keyedit.c:3894
 #, c-format
 msgid "validity: %s"
 msgstr ""
 
-#: g10/keyedit.c:3900
+#: g10/keyedit.c:3901
 msgid "This key has been disabled"
 msgstr "Esta chave está desactivada"
 
-#: g10/keyedit.c:3918
+#: g10/keyedit.c:3919
 msgid ""
 "Please note that the shown key validity is not necessarily correct\n"
 "unless you restart the program.\n"
@@ -4882,19 +4900,19 @@ msgstr ""
 "Teña en conta que a validez da chave amosada non é necesariamente\n"
 "correcta a menos que reinicie o programa.\n"
 
-#: g10/keyedit.c:3979 g10/keyedit.c:4410 g10/keyserver.c:548
-#: g10/mainproc.c:2371 g10/tofu.c:1787 g10/trust.c:437 dirmngr/ocsp.c:791
+#: g10/keyedit.c:3980 g10/keyedit.c:4411 g10/keyserver.c:371
+#: g10/mainproc.c:2380 g10/tofu.c:1787 g10/trust.c:437 dirmngr/ocsp.c:791
 #, fuzzy
 msgid "revoked"
 msgstr "[revocada] "
 
-#: g10/keyedit.c:3981 g10/keyedit.c:4412 g10/keyserver.c:552
-#: g10/mainproc.c:2373 g10/tofu.c:1792 g10/trust.c:124
+#: g10/keyedit.c:3982 g10/keyedit.c:4413 g10/keyserver.c:375
+#: g10/mainproc.c:2382 g10/tofu.c:1792 g10/trust.c:124
 #, fuzzy
 msgid "expired"
 msgstr "expire"
 
-#: g10/keyedit.c:4098
+#: g10/keyedit.c:4099
 #, c-format
 msgid ""
 "WARNING: no user ID has been marked as primary.  This command may\n"
@@ -4903,18 +4921,18 @@ msgstr ""
 "AVISO: non se marcou ningún ID de usuario coma primario. Esta orde pode\n"
 "              facer que un ID de usuario diferente se converta no primario.\n"
 
-#: g10/keyedit.c:4150
+#: g10/keyedit.c:4151
 #, c-format
 msgid "WARNING: Your encryption subkey expires soon.\n"
 msgstr ""
 
-#: g10/keyedit.c:4151
+#: g10/keyedit.c:4152
 #, fuzzy, c-format
 #| msgid "You can't change the expiration date of a v3 key\n"
 msgid "You may want to change its expiration date too.\n"
 msgstr "Non pode cambia-la data de expiración dunha chave v3\n"
 
-#: g10/keyedit.c:4210
+#: g10/keyedit.c:4211
 msgid ""
 "WARNING: This is a PGP2-style key.  Adding a photo ID may cause some "
 "versions\n"
@@ -4923,37 +4941,37 @@ msgstr ""
 "AVISO: Esta é unha chave de estilo PGP2. Se engade unha identificación\n"
 "       fotográfica algunhas versións de PGP han rexeitar esta chave.\n"
 
-#: g10/keyedit.c:4215 g10/keyedit.c:4505
+#: g10/keyedit.c:4216 g10/keyedit.c:4506
 msgid "Are you sure you still want to add it? (y/N) "
 msgstr "¿Está seguro de que quere engadila? (s/N) "
 
-#: g10/keyedit.c:4221
+#: g10/keyedit.c:4222
 msgid "You may not add a photo ID to a PGP2-style key.\n"
 msgstr ""
 "Non pode engadir unha identificación fotográfica a unha chave de estilo "
 "PGP2.\n"
 
-#: g10/keyedit.c:4236 g10/keygen.c:2899
+#: g10/keyedit.c:4237 g10/keygen.c:2899
 msgid "Such a user ID already exists on this key!\n"
 msgstr ""
 
-#: g10/keyedit.c:4338
+#: g10/keyedit.c:4339
 msgid "Delete this good signature? (y/N/q)"
 msgstr "¿Borrar esta sinatura correcta? (s/N/q)"
 
-#: g10/keyedit.c:4348
+#: g10/keyedit.c:4349
 msgid "Delete this invalid signature? (y/N/q)"
 msgstr "¿Borrar esta sinatura incorrecta? (s/N/q)"
 
-#: g10/keyedit.c:4352
+#: g10/keyedit.c:4353
 msgid "Delete this unknown signature? (y/N/q)"
 msgstr "¿Borrar esta sinatura descoñecida? (s/N/q)"
 
-#: g10/keyedit.c:4359
+#: g10/keyedit.c:4360
 msgid "Really delete this self-signature? (y/N)"
 msgstr "¿Realmente quere borrar esta auto-sinatura? (s/N)"
 
-#: g10/keyedit.c:4375
+#: g10/keyedit.c:4376
 #, fuzzy, c-format
 #| msgid "Deleted %d signature.\n"
 msgid "Deleted %d signature.\n"
@@ -4961,38 +4979,38 @@ msgid_plural "Deleted %d signatures.\n"
 msgstr[0] "Borrada %d sinatura.\n"
 msgstr[1] "Borrada %d sinatura.\n"
 
-#: g10/keyedit.c:4379
+#: g10/keyedit.c:4380
 msgid "Nothing deleted.\n"
 msgstr "Non se borrou nada.\n"
 
-#: g10/keyedit.c:4414
+#: g10/keyedit.c:4415
 #, fuzzy
 msgid "invalid"
 msgstr "armadura non válida"
 
-#: g10/keyedit.c:4416
+#: g10/keyedit.c:4417
 #, fuzzy, c-format
 msgid "User ID \"%s\" compacted: %s\n"
 msgstr "O ID de usuario \"%s\" está revocado."
 
-#: g10/keyedit.c:4422
+#: g10/keyedit.c:4423
 #, fuzzy, c-format
 msgid "User ID \"%s\": %d signature removed\n"
 msgid_plural "User ID \"%s\": %d signatures removed\n"
 msgstr[0] "O ID de usuario \"%s\" está revocado."
 msgstr[1] "O ID de usuario \"%s\" está revocado."
 
-#: g10/keyedit.c:4430
+#: g10/keyedit.c:4431
 #, fuzzy, c-format
 msgid "User ID \"%s\": already minimized\n"
 msgstr "o ID de usuario \"%s\" xa está revocado\n"
 
-#: g10/keyedit.c:4431
+#: g10/keyedit.c:4432
 #, fuzzy, c-format
 msgid "User ID \"%s\": already clean\n"
 msgstr "o ID de usuario \"%s\" xa está revocado\n"
 
-#: g10/keyedit.c:4500
+#: g10/keyedit.c:4501
 msgid ""
 "WARNING: This is a PGP 2.x-style key.  Adding a designated revoker may "
 "cause\n"
@@ -5002,45 +5020,45 @@ msgstr ""
 "designado\n"
 "       pode facer que algunhas versións de PGP rexeiten esta chave.\n"
 
-#: g10/keyedit.c:4511
+#: g10/keyedit.c:4512
 msgid "You may not add a designated revoker to a PGP 2.x-style key.\n"
 msgstr ""
 "Non pode engadir un revocador designado a unha chave de estilo PGP 2.x.\n"
 
-#: g10/keyedit.c:4528
+#: g10/keyedit.c:4529
 msgid "Enter the user ID of the designated revoker: "
 msgstr "Introduza o ID de usuario do revocador designado: "
 
-#: g10/keyedit.c:4554
+#: g10/keyedit.c:4555
 #, c-format
 msgid "cannot appoint a PGP 2.x style key as a designated revoker\n"
 msgstr ""
 "non se pode nomear unha chave estilo PGP 2.x coma revocador designado\n"
 
-#: g10/keyedit.c:4569
+#: g10/keyedit.c:4570
 #, c-format
 msgid "you cannot appoint a key as its own designated revoker\n"
 msgstr "non se pode nomear unha chave coma o seu propio revocador designado\n"
 
-#: g10/keyedit.c:4591
+#: g10/keyedit.c:4592
 #, fuzzy, c-format
 msgid "this key has already been designated as a revoker\n"
 msgstr "AVISO: ¡Esta chave está revocada polo propietario!\n"
 
-#: g10/keyedit.c:4609
+#: g10/keyedit.c:4610
 msgid "WARNING: appointing a key as a designated revoker cannot be undone!\n"
 msgstr ""
 "AVISO: ¡o nomeamento dunha chave coma o seu propio revocador designado non "
 "se pode desfacer!\n"
 
-#: g10/keyedit.c:4615
+#: g10/keyedit.c:4616
 #, fuzzy
 msgid ""
 "Are you sure you want to appoint this key as a designated revoker? (y/N) "
 msgstr ""
 "¿Está seguro de que quere nomear esta chave coma revocador designado? (s/N): "
 
-#: g10/keyedit.c:4683
+#: g10/keyedit.c:4684
 #, fuzzy
 msgid ""
 "Are you sure you want to change the expiration time for multiple subkeys? (y/"
@@ -5048,184 +5066,184 @@ msgid ""
 msgstr ""
 "¿Está seguro de que quere nomear esta chave coma revocador designado? (s/N): "
 
-#: g10/keyedit.c:4688
+#: g10/keyedit.c:4689
 #, fuzzy
 msgid "Changing expiration time for a subkey.\n"
 msgstr "Cambiando a data de expiración para a chave secundaria.\n"
 
-#: g10/keyedit.c:4691
+#: g10/keyedit.c:4692
 msgid "Changing expiration time for the primary key.\n"
 msgstr "Cambiando a data de expiración da chave primaria.\n"
 
-#: g10/keyedit.c:4747
+#: g10/keyedit.c:4748
 #, c-format
 msgid "You can't change the expiration date of a v3 key\n"
 msgstr "Non pode cambia-la data de expiración dunha chave v3\n"
 
-#: g10/keyedit.c:4807
+#: g10/keyedit.c:4808
 #, fuzzy
 msgid "Changing usage of a subkey.\n"
 msgstr "Cambiando a data de expiración para a chave secundaria.\n"
 
-#: g10/keyedit.c:4810
+#: g10/keyedit.c:4811
 #, fuzzy
 #| msgid "Changing expiration time for the primary key.\n"
 msgid "Changing usage of the primary key.\n"
 msgstr "Cambiando a data de expiración da chave primaria.\n"
 
-#: g10/keyedit.c:4928
+#: g10/keyedit.c:4929
 #, fuzzy, c-format
 msgid "signing subkey %s is already cross-certified\n"
 msgstr ""
 "AVISO: ¡o nomeamento dunha chave coma o seu propio revocador designado non "
 "se pode desfacer!\n"
 
-#: g10/keyedit.c:4934
+#: g10/keyedit.c:4935
 #, c-format
 msgid "subkey %s does not sign and so does not need to be cross-certified\n"
 msgstr ""
 
-#: g10/keyedit.c:5051
+#: g10/keyedit.c:5052
 msgid "Please select exactly one user ID.\n"
 msgstr "Escolla exactamente un ID de usuario.\n"
 
-#: g10/keyedit.c:5092 g10/keyedit.c:5206 g10/keyedit.c:5319 g10/keyedit.c:5457
+#: g10/keyedit.c:5093 g10/keyedit.c:5207 g10/keyedit.c:5320 g10/keyedit.c:5458
 #, fuzzy, c-format
 msgid "skipping v3 self-signature on user ID \"%s\"\n"
 msgstr "omitindo a auto-sinatura v3 do id de usuario \"%s\"\n"
 
-#: g10/keyedit.c:5263
+#: g10/keyedit.c:5264
 msgid "Enter your preferred keyserver URL: "
 msgstr ""
 
-#: g10/keyedit.c:5342
+#: g10/keyedit.c:5343
 #, fuzzy
 msgid "Are you sure you want to replace it? (y/N) "
 msgstr "¿Está seguro de que quere empregala (s/N)? "
 
-#: g10/keyedit.c:5343
+#: g10/keyedit.c:5344
 #, fuzzy
 msgid "Are you sure you want to delete it? (y/N) "
 msgstr "¿Está seguro de que quere empregala (s/N)? "
 
-#: g10/keyedit.c:5403
+#: g10/keyedit.c:5404
 #, fuzzy
 msgid "Enter the notation: "
 msgstr "Notación de sinaturas: "
 
-#: g10/keyedit.c:5550
+#: g10/keyedit.c:5551
 #, fuzzy
 msgid "Proceed? (y/N) "
 msgstr "¿Sobrescribir? (s/N) "
 
-#: g10/keyedit.c:5620
+#: g10/keyedit.c:5621
 #, c-format
 msgid "No user ID with index %d\n"
 msgstr "Non hai ID de usuario con índice %d\n"
 
-#: g10/keyedit.c:5682
+#: g10/keyedit.c:5683
 #, fuzzy, c-format
 msgid "No user ID with hash %s\n"
 msgstr "Non hai ID de usuario con índice %d\n"
 
-#: g10/keyedit.c:5783
+#: g10/keyedit.c:5784
 #, fuzzy, c-format
 msgid "No subkey with key ID '%s'.\n"
 msgstr "Non hai ID de usuario con índice %d\n"
 
-#: g10/keyedit.c:5805
+#: g10/keyedit.c:5806
 #, fuzzy, c-format
 msgid "No subkey with index %d\n"
 msgstr "Non hai ID de usuario con índice %d\n"
 
-#: g10/keyedit.c:5946
+#: g10/keyedit.c:5947
 #, fuzzy, c-format
 msgid "user ID: \"%s\"\n"
 msgstr "ID de usuario: \""
 
-#: g10/keyedit.c:5949 g10/keyedit.c:6051 g10/keyedit.c:6099
+#: g10/keyedit.c:5950 g10/keyedit.c:6052 g10/keyedit.c:6100
 #, fuzzy, c-format
 msgid "signed by your key %s on %s%s%s\n"
 msgstr "   asinada por %08lX no %s%s%s\n"
 
-#: g10/keyedit.c:5951 g10/keyedit.c:6053 g10/keyedit.c:6101
+#: g10/keyedit.c:5952 g10/keyedit.c:6054 g10/keyedit.c:6102
 msgid " (non-exportable)"
 msgstr " (non exportable)"
 
-#: g10/keyedit.c:5955
+#: g10/keyedit.c:5956
 #, c-format
 msgid "This signature expired on %s.\n"
 msgstr "Esta sinatura caducou o %s.\n"
 
-#: g10/keyedit.c:5960
+#: g10/keyedit.c:5961
 msgid "Are you sure you still want to revoke it? (y/N) "
 msgstr "¿Está seguro de que quere revocala? (s/N) "
 
-#: g10/keyedit.c:5965
+#: g10/keyedit.c:5966
 msgid "Create a revocation certificate for this signature? (y/N) "
 msgstr "¿Crear un certificado de revocación para esta sinatura? (s/N) "
 
-#: g10/keyedit.c:6025
+#: g10/keyedit.c:6026
 #, fuzzy, c-format
 msgid "You have signed these user IDs on key %s:\n"
 msgstr "Asinou estes IDs de usuario: \n"
 
-#: g10/keyedit.c:6054
+#: g10/keyedit.c:6055
 #, fuzzy
 msgid " (non-revocable)"
 msgstr " (non exportable)"
 
-#: g10/keyedit.c:6061
+#: g10/keyedit.c:6062
 #, fuzzy, c-format
 msgid "revoked by your key %s on %s\n"
 msgstr "   revocada por %08lX no %s\n"
 
-#: g10/keyedit.c:6086
+#: g10/keyedit.c:6087
 msgid "You are about to revoke these signatures:\n"
 msgstr "Está a punto de revocar estas sinaturas:\n"
 
-#: g10/keyedit.c:6109
+#: g10/keyedit.c:6110
 msgid "Really create the revocation certificates? (y/N) "
 msgstr "¿Realmente desexa crea-los certificados de revocación? (s/N) "
 
-#: g10/keyedit.c:6142
+#: g10/keyedit.c:6143
 #, c-format
 msgid "no secret key\n"
 msgstr "non hai chave secreta\n"
 
-#: g10/keyedit.c:6190
+#: g10/keyedit.c:6191
 #, c-format
 msgid "tried to revoke a non-user ID: %s\n"
 msgstr ""
 
-#: g10/keyedit.c:6200
+#: g10/keyedit.c:6201
 #, c-format
 msgid "user ID \"%s\" is already revoked\n"
 msgstr "o ID de usuario \"%s\" xa está revocado\n"
 
-#: g10/keyedit.c:6217
+#: g10/keyedit.c:6218
 #, c-format
 msgid "WARNING: a user ID signature is dated %d seconds in the future\n"
 msgstr ""
 "AVISO: unha sinatura de ID de usuario ten unha data %d segundos no futuro\n"
 
-#: g10/keyedit.c:6313
+#: g10/keyedit.c:6314
 #, fuzzy, c-format
 #| msgid "You can't delete the last user ID!\n"
 msgid "Cannot revoke the last valid user ID.\n"
 msgstr "¡Non pode borra-lo último ID de usuario!\n"
 
-#: g10/keyedit.c:6351
+#: g10/keyedit.c:6352
 #, fuzzy, c-format
 msgid "Key %s is already revoked.\n"
 msgstr "o ID de usuario \"%s\" xa está revocado\n"
 
-#: g10/keyedit.c:6413
+#: g10/keyedit.c:6414
 #, fuzzy, c-format
 msgid "Subkey %s is already revoked.\n"
 msgstr "o ID de usuario \"%s\" xa está revocado\n"
 
-#: g10/keyedit.c:6510
+#: g10/keyedit.c:6511
 #, fuzzy, c-format
 msgid "Displaying %s photo ID of size %ld for key %s (uid %d)\n"
 msgstr ""
@@ -5962,80 +5980,75 @@ msgstr "o URL de normativa de sinaturas dado non é válido\n"
 msgid "honor the PKA record set on a key when retrieving keys"
 msgstr ""
 
-#: g10/keyserver.c:550
+#: g10/keyserver.c:373
 #, fuzzy
 msgid "disabled"
 msgstr "disable"
 
-#: g10/keyserver.c:754
+#: g10/keyserver.c:577
 msgid "Enter number(s), N)ext, or Q)uit > "
 msgstr ""
 
-#: g10/keyserver.c:860
+#: g10/keyserver.c:683
 #, fuzzy, c-format
 msgid "invalid keyserver protocol (us %d!=handler %d)\n"
 msgstr "opcións de exportación non válidas\n"
 
-#: g10/keyserver.c:1001 g10/keyserver.c:1116
+#: g10/keyserver.c:824 g10/keyserver.c:939
 #, fuzzy, c-format
 msgid "\"%s\" not a key ID: skipping\n"
 msgstr "%s: non é un ID de chave válido\n"
 
-#: g10/keyserver.c:1438 g10/keyserver.c:1471
+#: g10/keyserver.c:1237 g10/keyserver.c:1270
 #, fuzzy, c-format
 msgid "refreshing %d key from %s\n"
 msgid_plural "refreshing %d keys from %s\n"
 msgstr[0] "solicitando a chave %08lX de %s\n"
 msgstr[1] "solicitando a chave %08lX de %s\n"
 
-#: g10/keyserver.c:1445
+#: g10/keyserver.c:1244
 #, fuzzy, c-format
 msgid "WARNING: unable to refresh key %s via %s: %s\n"
 msgstr "AVISO: non se puido borra-lo ficheiro temporal (%s) `%s': %s\n"
 
-#: g10/keyserver.c:1549
+#: g10/keyserver.c:1336
 #, fuzzy, c-format
 msgid "key \"%s\" not found on keyserver\n"
 msgstr "non se atopou a chave `%s': %s\n"
 
-#: g10/keyserver.c:1552
+#: g10/keyserver.c:1339
 #, fuzzy, c-format
 msgid "key not found on keyserver\n"
 msgstr "non se atopou a chave `%s': %s\n"
 
-#: g10/keyserver.c:1743
-#, fuzzy, c-format
-msgid "requesting key %s from %s server %s\n"
-msgstr "solicitando a chave %08lX de %s\n"
-
-#: g10/keyserver.c:1747
+#: g10/keyserver.c:1504
 #, fuzzy, c-format
 msgid "requesting key %s from %s\n"
 msgstr "solicitando a chave %08lX de %s\n"
 
-#: g10/keyserver.c:1852 g10/keyserver.c:2031
+#: g10/keyserver.c:1619 g10/keyserver.c:1798
 #, fuzzy, c-format
 msgid "no keyserver known\n"
 msgstr "opcións de exportación non válidas\n"
 
-#: g10/keyserver.c:1867 g10/skclist.c:214 g10/skclist.c:242
+#: g10/keyserver.c:1634 g10/skclist.c:215 g10/skclist.c:243
 #, fuzzy, c-format
 msgid "skipped \"%s\": %s\n"
 msgstr "omítese `%s': %s\n"
 
-#: g10/keyserver.c:1871
+#: g10/keyserver.c:1638
 #, fuzzy, c-format
 msgid "sending key %s to %s\n"
 msgstr ""
 "\"\n"
 "asinado coa súa chave %08lX no %s\n"
 
-#: g10/keyserver.c:1912
+#: g10/keyserver.c:1679
 #, fuzzy, c-format
 msgid "requesting key from '%s'\n"
 msgstr "solicitando a chave %08lX de %s\n"
 
-#: g10/keyserver.c:1928
+#: g10/keyserver.c:1695
 #, fuzzy, c-format
 msgid "WARNING: unable to fetch URI %s: %s\n"
 msgstr "AVISO: non se puido borra-lo ficheiro temporal (%s) `%s': %s\n"
@@ -6050,257 +6063,257 @@ msgstr "tamaño moi estraño para unha chave de sesión cifrada (%d)\n"
 msgid "%s encrypted session key\n"
 msgstr "chave de sesión cifrada con %s\n"
 
-#: g10/mainproc.c:400
+#: g10/mainproc.c:403
 #, fuzzy, c-format
 msgid "passphrase generated with unknown digest algorithm %d\n"
 msgstr "cifrado cun algoritmo descoñecido %d\n"
 
-#: g10/mainproc.c:481
+#: g10/mainproc.c:485
 #, fuzzy, c-format
 msgid "public key is %s\n"
 msgstr "a chave pública é %08lX\n"
 
-#: g10/mainproc.c:557
+#: g10/mainproc.c:561
 #, c-format
 msgid "public key encrypted data: good DEK\n"
 msgstr "datos cifrados coa chave pública: DEK correcto\n"
 
-#: g10/mainproc.c:590
+#: g10/mainproc.c:594
 #, fuzzy, c-format
 msgid "encrypted with %u-bit %s key, ID %s, created %s\n"
 msgstr "cifrado cunha chave de %u bits, %s, ID %08lX, creado o %s\n"
 
-#: g10/mainproc.c:594 g10/pkclist.c:228
+#: g10/mainproc.c:598 g10/pkclist.c:228
 #, fuzzy, c-format
 msgid "      \"%s\"\n"
 msgstr "               alias \""
 
-#: g10/mainproc.c:598
+#: g10/mainproc.c:602
 #, fuzzy, c-format
 msgid "encrypted with %s key, ID %s\n"
 msgstr "cifrado cunha chave %s, ID %08lX\n"
 
-#: g10/mainproc.c:619
+#: g10/mainproc.c:623
 #, c-format
 msgid "public key decryption failed: %s\n"
 msgstr "fallou o descifrado de chave pública: %s\n"
 
-#: g10/mainproc.c:641 g10/mainproc.c:970
+#: g10/mainproc.c:645 g10/mainproc.c:976
 #, c-format
 msgid "WARNING: multiple plaintexts seen\n"
 msgstr ""
 
-#: g10/mainproc.c:649
+#: g10/mainproc.c:653
 #, c-format
 msgid "encrypted with %lu passphrases\n"
 msgstr "cifrado con %lu contrasinais\n"
 
-#: g10/mainproc.c:651
+#: g10/mainproc.c:655
 #, c-format
 msgid "encrypted with 1 passphrase\n"
 msgstr "cifrado con 1 contrasinal\n"
 
-#: g10/mainproc.c:685 g10/mainproc.c:706
+#: g10/mainproc.c:689 g10/mainproc.c:710
 #, c-format
 msgid "assuming %s encrypted data\n"
 msgstr "supoñendo datos cifrados con %s\n"
 
-#: g10/mainproc.c:692
+#: g10/mainproc.c:696
 #, c-format
 msgid "IDEA cipher unavailable, optimistically attempting to use %s instead\n"
 msgstr "A cifra IDEA non está dispoñible, téntase empregar %s no seu canto\n"
 
-#: g10/mainproc.c:779 g10/mainproc.c:817
+#: g10/mainproc.c:785 g10/mainproc.c:823
 #, c-format
 msgid "WARNING: message was not integrity protected\n"
 msgstr "AVISO: a mensaxe non tiña protección de integridade\n"
 
-#: g10/mainproc.c:790
+#: g10/mainproc.c:796
 msgid ""
 "Hint: If this message was created before the year 2003 it is\n"
 "likely that this message is legitimate.  This is because back\n"
 "then integrity protection was not widely used.\n"
 msgstr ""
 
-#: g10/mainproc.c:793
+#: g10/mainproc.c:799
 #, c-format
 msgid "Use the option '%s' to decrypt anyway.\n"
 msgstr ""
 
-#: g10/mainproc.c:798
+#: g10/mainproc.c:804
 #, fuzzy, c-format
 #| msgid "decryption failed: %s\n"
 msgid "decryption forced to fail!\n"
 msgstr "o descifrado fallou: %s\n"
 
-#: g10/mainproc.c:810
+#: g10/mainproc.c:816
 #, c-format
 msgid "decryption okay\n"
 msgstr "descifrado correcto\n"
 
-#: g10/mainproc.c:823
+#: g10/mainproc.c:829
 #, c-format
 msgid "WARNING: encrypted message has been manipulated!\n"
 msgstr "AVISO: ¡a mensaxe cifrada foi manipulada!\n"
 
-#: g10/mainproc.c:841
+#: g10/mainproc.c:847
 #, c-format
 msgid "decryption failed: %s\n"
 msgstr "o descifrado fallou: %s\n"
 
-#: g10/mainproc.c:886
+#: g10/mainproc.c:892
 #, fuzzy, c-format
 #| msgid "NOTE: sender requested \"for-your-eyes-only\"\n"
 msgid "Note: sender requested \"for-your-eyes-only\"\n"
 msgstr "NOTA: o remitente pediu \"confidencial\"\n"
 
-#: g10/mainproc.c:893
+#: g10/mainproc.c:899
 #, c-format
 msgid "original file name='%.*s'\n"
 msgstr "nome do ficheiro orixinal='%.*s'\n"
 
-#: g10/mainproc.c:1148
+#: g10/mainproc.c:1154
 #, c-format
 msgid "standalone revocation - use \"gpg --import\" to apply\n"
 msgstr "revocación independente - empregue \"gpg --import\" para aplicar\n"
 
-#: g10/mainproc.c:1452 g10/mainproc.c:1495
+#: g10/mainproc.c:1458 g10/mainproc.c:1501
 #, fuzzy, c-format
 msgid "no signature found\n"
 msgstr "Sinatura correcta de \""
 
-#: g10/mainproc.c:1852
+#: g10/mainproc.c:1858
 #, fuzzy, c-format
 msgid "BAD signature from \"%s\""
 msgstr "Sinatura INCORRECTA de\""
 
-#: g10/mainproc.c:1854
+#: g10/mainproc.c:1860
 #, fuzzy, c-format
 msgid "Expired signature from \"%s\""
 msgstr "Sinatura caducada de \""
 
-#: g10/mainproc.c:1856
+#: g10/mainproc.c:1862
 #, fuzzy, c-format
 msgid "Good signature from \"%s\""
 msgstr "Sinatura correcta de \""
 
-#: g10/mainproc.c:1876
+#: g10/mainproc.c:1882
 #, c-format
 msgid "signature verification suppressed\n"
 msgstr "verificación de sinatura suprimida\n"
 
-#: g10/mainproc.c:1985
+#: g10/mainproc.c:1991
 #, fuzzy, c-format
 msgid "can't handle this ambiguous signature data\n"
 msgstr "non se poden manexar estas sinaturas múltiples\n"
 
-#: g10/mainproc.c:2001 g10/mainproc.c:2008
+#: g10/mainproc.c:2007 g10/mainproc.c:2014
 #, fuzzy, c-format
 msgid "Signature made %s\n"
 msgstr "A sinatura caducou o %s\n"
 
-#: g10/mainproc.c:2002 g10/mainproc.c:2009 sm/verify.c:476
+#: g10/mainproc.c:2008 g10/mainproc.c:2015 sm/verify.c:476
 #, fuzzy, c-format
 msgid "               using %s key %s\n"
 msgstr "               alias \""
 
-#: g10/mainproc.c:2013
+#: g10/mainproc.c:2019
 #, fuzzy, c-format
 msgid "Signature made %s using %s key ID %s\n"
 msgstr "Sinatura feita o %.*s usando %s coa chave de ID %08lX\n"
 
-#: g10/mainproc.c:2019
+#: g10/mainproc.c:2025
 #, fuzzy, c-format
 msgid "               issuer \"%s\"\n"
 msgstr "               alias \""
 
-#: g10/mainproc.c:2070
+#: g10/mainproc.c:2076
 #, c-format
 msgid "Key available at: "
 msgstr "Chave dispoñible en: "
 
-#: g10/mainproc.c:2111
+#: g10/mainproc.c:2118
 #, c-format
 msgid "Note: Use '%s' to make use of this info\n"
 msgstr ""
 
-#: g10/mainproc.c:2325
+#: g10/mainproc.c:2334
 msgid "[uncertain]"
 msgstr "[incerto]"
 
-#: g10/mainproc.c:2363
+#: g10/mainproc.c:2372
 #, fuzzy, c-format
 msgid "                aka \"%s\""
 msgstr "               alias \""
 
-#: g10/mainproc.c:2438
+#: g10/mainproc.c:2447
 #, fuzzy, c-format
 #| msgid "WARNING: This key is not certified with a trusted signature!\n"
 msgid "WARNING: This key is not suitable for signing in %s mode\n"
 msgstr "AVISO: ¡Esta chave non está certificada cunha sinatura de confianza!\n"
 
-#: g10/mainproc.c:2456
+#: g10/mainproc.c:2465
 #, c-format
 msgid "Signature expired %s\n"
 msgstr "A sinatura caducou o %s\n"
 
-#: g10/mainproc.c:2460
+#: g10/mainproc.c:2469
 #, c-format
 msgid "Signature expires %s\n"
 msgstr "A sinatura caduca o %s\n"
 
-#: g10/mainproc.c:2471
+#: g10/mainproc.c:2480
 #, fuzzy, c-format
 #| msgid "%s signature, digest algorithm %s\n"
 msgid "%s signature, digest algorithm %s%s%s\n"
 msgstr "Sinatura %s, algoritmo de resumo %s\n"
 
-#: g10/mainproc.c:2472
+#: g10/mainproc.c:2481
 msgid "binary"
 msgstr "binario"
 
-#: g10/mainproc.c:2473
+#: g10/mainproc.c:2482
 msgid "textmode"
 msgstr "modo texto"
 
-#: g10/mainproc.c:2473 g10/trust.c:123 dirmngr/ocsp.c:792
+#: g10/mainproc.c:2482 g10/trust.c:123 dirmngr/ocsp.c:792
 msgid "unknown"
 msgstr "descoñecido"
 
-#: g10/mainproc.c:2475
+#: g10/mainproc.c:2484
 #, fuzzy
 #| msgid "unknown pubkey algorithm"
 msgid ", key algorithm "
 msgstr "algoritmo de chave pública descoñecido"
 
-#: g10/mainproc.c:2510
+#: g10/mainproc.c:2519
 #, c-format
 msgid "WARNING: not a detached signature; file '%s' was NOT verified!\n"
 msgstr ""
 
-#: g10/mainproc.c:2548
+#: g10/mainproc.c:2558
 #, c-format
 msgid "Can't check signature: %s\n"
 msgstr "Non foi posible verifica-la sinatura: %s\n"
 
-#: g10/mainproc.c:2644 g10/mainproc.c:2663 g10/mainproc.c:2787
+#: g10/mainproc.c:2654 g10/mainproc.c:2673 g10/mainproc.c:2797
 #, c-format
 msgid "not a detached signature\n"
 msgstr "non é unha sinatura separada\n"
 
-#: g10/mainproc.c:2697
+#: g10/mainproc.c:2707
 #, c-format
 msgid ""
 "WARNING: multiple signatures detected.  Only the first will be checked.\n"
 msgstr ""
 "AVISO: detectáronse sinaturas múltiples. Só se ha comproba-la primeira.\n"
 
-#: g10/mainproc.c:2706
+#: g10/mainproc.c:2716
 #, c-format
 msgid "standalone signature of class 0x%02x\n"
 msgstr "sinatura independiente de clase 0x%02x\n"
 
-#: g10/mainproc.c:2791
+#: g10/mainproc.c:2801
 #, c-format
 msgid "old style (PGP 2.x) signature\n"
 msgstr "Sinatura ó vello estilo (PGP 2.x)\n"
@@ -6490,56 +6503,61 @@ msgstr "Notación de sinaturas críticas: "
 msgid "subpacket of type %d has critical bit set\n"
 msgstr "un subpaquete de tipo %d ten o bit crítico posto\n"
 
-#: g10/passphrase.c:73 g10/passphrase.c:275 g10/passphrase.c:308
+#: g10/passphrase.c:73 g10/passphrase.c:283 g10/passphrase.c:316
 #, fuzzy, c-format
 msgid "problem with the agent: %s\n"
 msgstr "problema co axente: o axente voltou coa resposta 0x%lx\n"
 
-#: g10/passphrase.c:258
+#: g10/passphrase.c:251 sm/decrypt.c:341
+#, fuzzy
+msgid "Please enter the passphrase for decryption."
+msgstr "cambia-lo contrasinal"
+
+#: g10/passphrase.c:253
 msgid "Enter passphrase\n"
 msgstr "Introduza o contrasinal\n"
 
-#: g10/passphrase.c:269
+#: g10/passphrase.c:277
 #, c-format
 msgid "cancelled by user\n"
 msgstr "cancelado polo usuario\n"
 
-#: g10/passphrase.c:510
+#: g10/passphrase.c:523
 #, fuzzy, c-format
 msgid " (main key ID %s)"
 msgstr " (ID principal da chave %08lX)"
 
-#: g10/passphrase.c:517
+#: g10/passphrase.c:530
 #, fuzzy
 msgid "Please enter the passphrase to unlock the OpenPGP secret key:"
 msgstr "Por favor, introduza o contrasinal; esta é unha frase secreta \n"
 
-#: g10/passphrase.c:521
+#: g10/passphrase.c:534
 #, fuzzy
 msgid "Please enter the passphrase to import the OpenPGP secret key:"
 msgstr "Por favor, introduza o contrasinal; esta é unha frase secreta \n"
 
-#: g10/passphrase.c:526
+#: g10/passphrase.c:539
 #, fuzzy
 msgid "Please enter the passphrase to export the OpenPGP secret subkey:"
 msgstr "Por favor, introduza o contrasinal; esta é unha frase secreta \n"
 
-#: g10/passphrase.c:529
+#: g10/passphrase.c:542
 #, fuzzy
 msgid "Please enter the passphrase to export the OpenPGP secret key:"
 msgstr "Por favor, introduza o contrasinal; esta é unha frase secreta \n"
 
-#: g10/passphrase.c:534
+#: g10/passphrase.c:547
 #, fuzzy
 msgid "Do you really want to permanently delete the OpenPGP secret subkey key:"
 msgstr "¿Seguro de que quere borra-las chaves seleccionadas? "
 
-#: g10/passphrase.c:537
+#: g10/passphrase.c:550
 #, fuzzy
 msgid "Do you really want to permanently delete the OpenPGP secret key:"
 msgstr "¿Seguro de que quere borra-las chaves seleccionadas? "
 
-#: g10/passphrase.c:546
+#: g10/passphrase.c:559
 #, fuzzy, c-format
 msgid ""
 "%s\n"
@@ -6591,7 +6609,7 @@ msgstr "\"%s\" non é un ficheiro JPEG\n"
 msgid "Is this photo correct (y/N/q)? "
 msgstr "¿É esta foto correcta (s/N/q)? "
 
-#: g10/photoid.c:395
+#: g10/photoid.c:399
 #, c-format
 msgid "unable to display photo ID!\n"
 msgstr "¡non se pode amosa-la identificación fotográfica!\n"
@@ -6953,7 +6971,7 @@ msgstr "non foi posible abri-los datos asinados `%s'\n"
 msgid "can't open signed data fd=%d: %s\n"
 msgstr "non foi posible abri-los datos asinados `%s'\n"
 
-#: g10/pubkey-enc.c:98 g10/pubkey-enc.c:139 sm/decrypt.c:493
+#: g10/pubkey-enc.c:98 g10/pubkey-enc.c:139 sm/decrypt.c:969
 #, fuzzy, c-format
 msgid "key %s is not suitable for decryption in %s mode\n"
 msgstr "chave %08lX: non hai ID de usuario\n"
@@ -6968,27 +6986,27 @@ msgstr "destinatario anónimo; tentando a chave secreta %08lX ...\n"
 msgid "okay, we are the anonymous recipient.\n"
 msgstr "vale, nós somo-lo destinatario anónimo.\n"
 
-#: g10/pubkey-enc.c:321
+#: g10/pubkey-enc.c:311
 #, c-format
 msgid "old encoding of the DEK is not supported\n"
 msgstr "a codificación vella do DEK non está soportada\n"
 
-#: g10/pubkey-enc.c:349
+#: g10/pubkey-enc.c:339
 #, c-format
 msgid "cipher algorithm %d%s is unknown or disabled\n"
 msgstr "o algoritmo de cifrado %d%s é descoñecido ou está desactivado\n"
 
-#: g10/pubkey-enc.c:393
+#: g10/pubkey-enc.c:383
 #, fuzzy, c-format
 msgid "WARNING: cipher algorithm %s not found in recipient preferences\n"
 msgstr "NOTA: o algoritmo de cifrado %d non foi atopado nas preferencias\n"
 
-#: g10/pubkey-enc.c:426
+#: g10/pubkey-enc.c:416
 #, fuzzy, c-format
 msgid "Note: secret key %s expired at %s\n"
 msgstr "NOTA: a chave secreta %08lX caducou o %s\n"
 
-#: g10/pubkey-enc.c:433
+#: g10/pubkey-enc.c:423
 #, fuzzy, c-format
 #| msgid "NOTE: key has been revoked"
 msgid "Note: key has been revoked"
@@ -7304,41 +7322,41 @@ msgstr "AVISO: non se pode expandir-%% o url de normativa (grande de máis).\n"
 msgid "%s/%s signature from: \"%s\"\n"
 msgstr "Sinatura %s de: \"%s\"\n"
 
-#: g10/sign.c:1046
+#: g10/sign.c:1045
 #, fuzzy, c-format
 msgid ""
 "WARNING: forcing digest algorithm %s (%d) violates recipient preferences\n"
 msgstr ""
 "forza-lo algoritmo de resumo %s (%d) viola as preferencias do destinatario\n"
 
-#: g10/sign.c:1188
+#: g10/sign.c:1187
 #, c-format
 msgid "signing:"
 msgstr "asinando:"
 
-#: g10/sign.c:1465
+#: g10/sign.c:1464
 #, c-format
 msgid "%s encryption will be used\n"
 msgstr "hase empregar cifrado %s\n"
 
-#: g10/skclist.c:173 g10/skclist.c:254
+#: g10/skclist.c:174 g10/skclist.c:255
 #, c-format
 msgid "key is not flagged as insecure - can't use it with the faked RNG!\n"
 msgstr ""
 "a chave non está marcada coma insegura - non se pode empregar co xerador de "
 "números aleatorios falso\n"
 
-#: g10/skclist.c:205
+#: g10/skclist.c:206
 #, fuzzy, c-format
 msgid "skipped \"%s\": duplicated\n"
 msgstr "omítese `%s': duplicada\n"
 
-#: g10/skclist.c:224
+#: g10/skclist.c:225
 #, c-format
 msgid "skipped: secret key already present\n"
 msgstr "omítese: a chave secreta xa está presente\n"
 
-#: g10/skclist.c:243
+#: g10/skclist.c:244
 #, fuzzy
 msgid "this is a PGP generated Elgamal key which is not secure for signatures!"
 msgstr ""
@@ -7398,7 +7416,7 @@ msgstr "erro de lectura: %s\n"
 msgid "trustdb: sync failed: %s\n"
 msgstr "base de datos de confianza: fallou a sincronización: %s\n"
 
-#: g10/tdbio.c:144 sm/keydb.c:336
+#: g10/tdbio.c:144 sm/keydb.c:335
 #, fuzzy, c-format
 msgid "can't create lock for '%s'\n"
 msgstr "non se pode crear `%s': %s\n"
@@ -8139,40 +8157,52 @@ msgstr "Uso: gpg [opcións] [ficheiros] (-h para ve-la axuda)"
 #. TRANSLATORS: Put a \x1f right before a colon.  This can be
 #. * used by pinentry to nicely align the names and values.  Keep
 #. * the %s at the start and end of the string.
-#: scd/app-p15.c:3369 scd/app-openpgp.c:2153
+#: scd/app-p15.c:4955 scd/app-openpgp.c:2151
 #, c-format
 msgid "%sNumber\1f: %s%%0AHolder\1f: %s%s"
 msgstr ""
 
 #. TRANSLATORS: This is the number of remaining attempts to
 #. * enter a PIN.  Use %%0A (double-percent,0A) for a linefeed.
-#: scd/app-p15.c:3388 scd/app-openpgp.c:2169
+#: scd/app-p15.c:4974 scd/app-openpgp.c:2167
 #, c-format
 msgid "Remaining attempts: %d"
 msgstr ""
 
-#: scd/app-p15.c:3459 scd/app-nks.c:1110
+#: scd/app-p15.c:5053 scd/app-nks.c:1113
 msgid "||Please enter the PIN for the key to create qualified signatures."
 msgstr ""
 
-#: scd/app-p15.c:3462 scd/app-nks.c:1092
+#. TRANSLATORS: Do not translate the "|A|" prefix but keep it at
+#. the start of the string.  Use %0A (single percent) for a linefeed.
+#: scd/app-p15.c:5056 scd/app-openpgp.c:2461
+#, fuzzy
+msgid "|A|Please enter the Admin PIN"
+msgstr "cambia-lo contrasinal"
+
+#: scd/app-p15.c:5058 scd/app-nks.c:1103
+#, fuzzy
+msgid "|P|Please enter the PIN Unblocking Code (PUK) for the standard keys."
+msgstr "Por favor, escolla o motivo da revocación:\n"
+
+#: scd/app-p15.c:5061 scd/app-nks.c:1095
 #, fuzzy
 msgid "||Please enter the PIN for the standard keys."
 msgstr "cambia-lo contrasinal"
 
-#: scd/app-nks.c:709 scd/app-openpgp.c:3664
+#: scd/app-nks.c:709 scd/app-openpgp.c:3663
 #, c-format
 msgid "RSA modulus missing or not of size %d bits\n"
 msgstr ""
 
-#: scd/app-nks.c:717 scd/app-openpgp.c:3676
+#: scd/app-nks.c:717 scd/app-openpgp.c:3675
 #, c-format
 msgid "RSA public exponent missing or larger than %d bits\n"
 msgstr ""
 
-#: scd/app-nks.c:797 scd/app-openpgp.c:2326 scd/app-openpgp.c:2345
-#: scd/app-openpgp.c:2512 scd/app-openpgp.c:2530 scd/app-openpgp.c:2827
-#: scd/app-openpgp.c:2874 scd/app-openpgp.c:2989 scd/app-dinsig.c:303
+#: scd/app-nks.c:797 scd/app-openpgp.c:2324 scd/app-openpgp.c:2343
+#: scd/app-openpgp.c:2510 scd/app-openpgp.c:2528 scd/app-openpgp.c:2826
+#: scd/app-openpgp.c:2873 scd/app-openpgp.c:2988 scd/app-dinsig.c:302
 #, c-format
 msgid "PIN callback returned error: %s\n"
 msgstr ""
@@ -8182,79 +8212,74 @@ msgstr ""
 msgid "the NullPIN has not yet been changed\n"
 msgstr ""
 
-#: scd/app-nks.c:1091
+#: scd/app-nks.c:1094
 #, fuzzy
 msgid "|N|Please enter a new PIN for the standard keys."
 msgstr "cambia-lo contrasinal"
 
-#: scd/app-nks.c:1098
+#: scd/app-nks.c:1101
 #, fuzzy
 msgid "|NP|Please enter a new PIN Unblocking Code (PUK) for the standard keys."
 msgstr "Por favor, escolla o motivo da revocación:\n"
 
-#: scd/app-nks.c:1100
-#, fuzzy
-msgid "|P|Please enter the PIN Unblocking Code (PUK) for the standard keys."
-msgstr "Por favor, escolla o motivo da revocación:\n"
-
-#: scd/app-nks.c:1108
+#: scd/app-nks.c:1111
 msgid "|N|Please enter a new PIN for the key to create qualified signatures."
 msgstr ""
 
-#: scd/app-nks.c:1118
+#: scd/app-nks.c:1121
 msgid ""
 "|NP|Please enter a new PIN Unblocking Code (PUK) for the key to create "
 "qualified signatures."
 msgstr ""
 
-#: scd/app-nks.c:1120
+#: scd/app-nks.c:1123
 msgid ""
 "|P|Please enter the PIN Unblocking Code (PUK) for the key to create "
 "qualified signatures."
 msgstr ""
 
-#: scd/app-nks.c:1227 scd/app-openpgp.c:2908 scd/app-dinsig.c:531
+#: scd/app-nks.c:1230 scd/app-openpgp.c:2907 scd/app-dinsig.c:532
 #, fuzzy, c-format
 msgid "error getting new PIN: %s\n"
 msgstr "erro ao crea-lo contrasinal: %s\n"
 
-#: scd/app-openpgp.c:860
+#: scd/app-openpgp.c:859
 #, fuzzy, c-format
 msgid "failed to store the fingerprint: %s\n"
 msgstr "non se puido inicializa-la base de datos de confianzas: %s\n"
 
-#: scd/app-openpgp.c:873
+#: scd/app-openpgp.c:872
 #, fuzzy, c-format
 msgid "failed to store the creation date: %s\n"
 msgstr "fallo ao reconstruí-la caché de chaveiros: %s\n"
 
-#: scd/app-openpgp.c:1272 scd/app-openpgp.c:2855 scd/app-openpgp.c:5020
+#: scd/app-openpgp.c:1268 scd/app-openpgp.c:2854 scd/app-openpgp.c:5025
 #, c-format
 msgid "error retrieving CHV status from card\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1430
+#: scd/app-openpgp.c:1426
 #, c-format
 msgid "response does not contain the RSA modulus\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1437
+#: scd/app-openpgp.c:1433
 #, c-format
 msgid "response does not contain the RSA public exponent\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1547
+#: scd/app-openpgp.c:1543
 #, fuzzy, c-format
 #| msgid "remove keys from the public keyring"
 msgid "response does not contain the EC public key\n"
 msgstr "borrar chaves do chaveiro público"
 
-#: scd/app-openpgp.c:1665 scd/app-openpgp.c:4284
+#: scd/app-openpgp.c:1661 scd/app-openpgp.c:4283
 #, c-format
 msgid "response does not contain the public key data\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1772
+#: scd/app-openpgp.c:1768
 #, fuzzy, c-format
 msgid "reading public key failed: %s\n"
 msgstr "fallou o borrado do bloque de chaves: %s\n"
@@ -8262,43 +8287,43 @@ msgstr "fallou o borrado do bloque de chaves: %s\n"
 #. TRANSLATORS: Put a \x1f right before a colon.  This can be
 #. * used by pinentry to nicely align the names and values.  Keep
 #. * the %s at the start and end of the string.
-#: scd/app-openpgp.c:2140
+#: scd/app-openpgp.c:2138
 #, c-format
 msgid "%sNumber\1f: %s%%0AHolder\1f: %s%%0ACounter\1f: %lu%s"
 msgstr ""
 
-#: scd/app-openpgp.c:2280
+#: scd/app-openpgp.c:2278
 #, c-format
 msgid "using default PIN as %s\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2287
+#: scd/app-openpgp.c:2285
 #, c-format
 msgid "failed to use default PIN as %s: %s - disabling further default use\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2300
+#: scd/app-openpgp.c:2298
 #, fuzzy
 msgid "||Please unlock the card"
 msgstr "cambia-lo contrasinal"
 
-#: scd/app-openpgp.c:2352 scd/app-openpgp.c:2537 scd/app-openpgp.c:2834
+#: scd/app-openpgp.c:2350 scd/app-openpgp.c:2535 scd/app-openpgp.c:2833
 #, c-format
 msgid "PIN for CHV%d is too short; minimum length is %d\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2366 scd/app-openpgp.c:2413 scd/app-openpgp.c:2551
-#: scd/app-openpgp.c:4642
+#: scd/app-openpgp.c:2364 scd/app-openpgp.c:2411 scd/app-openpgp.c:2549
+#: scd/app-openpgp.c:4641
 #, fuzzy, c-format
 msgid "verify CHV%d failed: %s\n"
 msgstr "o envío ao servidor de chaves fallou: %s\n"
 
-#: scd/app-openpgp.c:2449 scd/app-openpgp.c:5029
+#: scd/app-openpgp.c:2447 scd/app-openpgp.c:5034
 #, c-format
 msgid "card is permanently locked!\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2453
+#: scd/app-openpgp.c:2451
 #, c-format
 msgid "%d Admin PIN attempt remaining before card is permanently locked\n"
 msgid_plural ""
@@ -8306,29 +8331,22 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-#. TRANSLATORS: Do not translate the "|A|" prefix but keep it at
-#. the start of the string.  Use %0A (single percent) for a linefeed.
-#: scd/app-openpgp.c:2463
-#, fuzzy
-msgid "|A|Please enter the Admin PIN"
-msgstr "cambia-lo contrasinal"
-
-#: scd/app-openpgp.c:2484
+#: scd/app-openpgp.c:2482
 #, c-format
 msgid "access to admin commands is not configured\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2821
+#: scd/app-openpgp.c:2820
 #, fuzzy
 msgid "||Please enter the PIN"
 msgstr "cambia-lo contrasinal"
 
-#: scd/app-openpgp.c:2870
+#: scd/app-openpgp.c:2869
 #, fuzzy
 msgid "||Please enter the Reset Code for the card"
 msgstr "Por favor, escolla o motivo da revocación:\n"
 
-#: scd/app-openpgp.c:2880 scd/app-openpgp.c:2941
+#: scd/app-openpgp.c:2879 scd/app-openpgp.c:2940
 #, c-format
 msgid "Reset Code is too short; minimum length is %d\n"
 msgstr ""
@@ -8336,128 +8354,128 @@ msgstr ""
 #. TRANSLATORS: Do not translate the "|*|" prefixes but
 #. keep it at the start of the string.  We need this elsewhere
 #. to get some infos on the string.
-#: scd/app-openpgp.c:2903
+#: scd/app-openpgp.c:2902
 msgid "|RN|New Reset Code"
 msgstr ""
 
-#: scd/app-openpgp.c:2904
+#: scd/app-openpgp.c:2903
 msgid "|AN|New Admin PIN"
 msgstr ""
 
-#: scd/app-openpgp.c:2904
+#: scd/app-openpgp.c:2903
 msgid "|N|New PIN"
 msgstr ""
 
-#: scd/app-openpgp.c:2985
+#: scd/app-openpgp.c:2984
 #, fuzzy
 msgid "||Please enter the Admin PIN and New Admin PIN"
 msgstr "cambia-lo contrasinal"
 
-#: scd/app-openpgp.c:2986
+#: scd/app-openpgp.c:2985
 #, fuzzy
 msgid "||Please enter the PIN and New PIN"
 msgstr "cambia-lo contrasinal"
 
-#: scd/app-openpgp.c:3048 scd/app-openpgp.c:4344
+#: scd/app-openpgp.c:3047 scd/app-openpgp.c:4343
 #, fuzzy, c-format
 msgid "error reading application data\n"
 msgstr "erro ao le-lo bloque de chaves: %s\n"
 
-#: scd/app-openpgp.c:3054 scd/app-openpgp.c:4351
+#: scd/app-openpgp.c:3053 scd/app-openpgp.c:4350
 #, fuzzy, c-format
 msgid "error reading fingerprint DO\n"
 msgstr "%s: erro ao ler un rexistro libre: %s\n"
 
-#: scd/app-openpgp.c:3064
+#: scd/app-openpgp.c:3063
 #, fuzzy, c-format
 msgid "key already exists\n"
 msgstr "`%s' xa está comprimido\n"
 
-#: scd/app-openpgp.c:3068
+#: scd/app-openpgp.c:3067
 #, c-format
 msgid "existing key will be replaced\n"
 msgstr ""
 
-#: scd/app-openpgp.c:3070
+#: scd/app-openpgp.c:3069
 #, fuzzy, c-format
 msgid "generating new key\n"
 msgstr "xerar un novo par de chaves"
 
-#: scd/app-openpgp.c:3072
+#: scd/app-openpgp.c:3071
 #, fuzzy, c-format
 msgid "writing new key\n"
 msgstr "xerar un novo par de chaves"
 
-#: scd/app-openpgp.c:3645 scd/app-openpgp.c:3997
+#: scd/app-openpgp.c:3644 scd/app-openpgp.c:3996
 #, c-format
 msgid "creation timestamp missing\n"
 msgstr ""
 
-#: scd/app-openpgp.c:3686 scd/app-openpgp.c:3694
+#: scd/app-openpgp.c:3685 scd/app-openpgp.c:3693
 #, c-format
 msgid "RSA prime %s missing or not of size %d bits\n"
 msgstr ""
 
-#: scd/app-openpgp.c:3827 scd/app-openpgp.c:4104
+#: scd/app-openpgp.c:3826 scd/app-openpgp.c:4103
 #, fuzzy, c-format
 msgid "failed to store the key: %s\n"
 msgstr "non se puido inicializa-la base de datos de confianzas: %s\n"
 
-#: scd/app-openpgp.c:3991
+#: scd/app-openpgp.c:3990
 #, fuzzy, c-format
 #| msgid "unsupported URI"
 msgid "unsupported curve\n"
 msgstr "URI non soportado"
 
-#: scd/app-openpgp.c:4261
+#: scd/app-openpgp.c:4260
 #, c-format
 msgid "please wait while key is being generated ...\n"
 msgstr ""
 
-#: scd/app-openpgp.c:4269
+#: scd/app-openpgp.c:4268
 #, fuzzy, c-format
 msgid "generating key failed\n"
 msgstr "fallou o borrado do bloque de chaves: %s\n"
 
-#: scd/app-openpgp.c:4275
+#: scd/app-openpgp.c:4274
 #, fuzzy, c-format
 msgid "key generation completed (%d second)\n"
 msgid_plural "key generation completed (%d seconds)\n"
 msgstr[0] "A xeración da chave fallou: %s\n"
 msgstr[1] "A xeración da chave fallou: %s\n"
 
-#: scd/app-openpgp.c:4309
+#: scd/app-openpgp.c:4308
 #, c-format
 msgid "invalid structure of OpenPGP card (DO 0x93)\n"
 msgstr ""
 
-#: scd/app-openpgp.c:4359
+#: scd/app-openpgp.c:4358
 #, c-format
 msgid "fingerprint on card does not match requested one\n"
 msgstr ""
 
-#: scd/app-openpgp.c:4558
+#: scd/app-openpgp.c:4557
 #, fuzzy, c-format
 msgid "card does not support digest algorithm %s\n"
 msgstr "Sinatura %s, algoritmo de resumo %s\n"
 
-#: scd/app-openpgp.c:4616
+#: scd/app-openpgp.c:4615
 #, c-format
 msgid "signatures created so far: %lu\n"
 msgstr ""
 
-#: scd/app-openpgp.c:5034
+#: scd/app-openpgp.c:5039
 #, c-format
 msgid ""
 "verification of Admin PIN is currently prohibited through this command\n"
 msgstr ""
 
-#: scd/app-openpgp.c:5346 scd/app-openpgp.c:5357
+#: scd/app-openpgp.c:5351 scd/app-openpgp.c:5362
 #, fuzzy, c-format
 msgid "can't access %s - invalid OpenPGP card?\n"
 msgstr "non se atoparon datos OpenPGP válidos.\n"
 
-#: scd/app-dinsig.c:299
+#: scd/app-dinsig.c:298
 #, fuzzy
 msgid "||Please enter your PIN at the reader's pinpad"
 msgstr "cambia-lo contrasinal"
@@ -8465,7 +8483,7 @@ msgstr "cambia-lo contrasinal"
 #. TRANSLATORS: Do not translate the "|*|" prefixes but
 #. keep it at the start of the string.  We need this elsewhere
 #. to get some infos on the string.
-#: scd/app-dinsig.c:528
+#: scd/app-dinsig.c:529
 #, fuzzy
 msgid "|N|Initial New PIN"
 msgstr "Introduza o ID de usuario: "
@@ -8474,7 +8492,7 @@ msgstr "Introduza o ID de usuario: "
 msgid "run in multi server mode (foreground)"
 msgstr ""
 
-#: scd/scdaemon.c:129 sm/gpgsm.c:345 dirmngr/dirmngr.c:187
+#: scd/scdaemon.c:129 sm/gpgsm.c:348 dirmngr/dirmngr.c:188
 msgid "|LEVEL|set the debugging level to LEVEL"
 msgstr ""
 
@@ -8497,50 +8515,50 @@ msgstr "|NOME|empregar NOME como valor por defecto do destinatario"
 msgid "|NAME|use NAME as PC/SC driver"
 msgstr "|NOME|empregar NOME como valor por defecto do destinatario"
 
-#: scd/scdaemon.c:145
+#: scd/scdaemon.c:146
 #, fuzzy
 msgid "do not use the internal CCID driver"
 msgstr "non usa-la terminal en absoluto"
 
-#: scd/scdaemon.c:151
+#: scd/scdaemon.c:152
 msgid "|N|disconnect the card after N seconds of inactivity"
 msgstr ""
 
-#: scd/scdaemon.c:154
+#: scd/scdaemon.c:155
 msgid "do not use a reader's pinpad"
 msgstr ""
 
-#: scd/scdaemon.c:159
+#: scd/scdaemon.c:160
 #, fuzzy
 msgid "deny the use of admin card commands"
 msgstr "comandos conflictivos\n"
 
-#: scd/scdaemon.c:162
+#: scd/scdaemon.c:163
 msgid "use variable length input for pinpad"
 msgstr ""
 
-#: scd/scdaemon.c:311
+#: scd/scdaemon.c:312
 #, fuzzy
 msgid "Usage: @SCDAEMON@ [options] (-h for help)"
 msgstr "Uso: gpg [opcións] [ficheiros] (-h para ve-la axuda)"
 
-#: scd/scdaemon.c:313
+#: scd/scdaemon.c:314
 msgid ""
 "Syntax: scdaemon [options] [command [args]]\n"
 "Smartcard daemon for @GNUPG@\n"
 msgstr ""
 
-#: scd/scdaemon.c:806
+#: scd/scdaemon.c:808
 #, c-format
 msgid "please use the option '--daemon' to run the program in the background\n"
 msgstr ""
 
-#: scd/scdaemon.c:1183 dirmngr/dirmngr.c:2082
+#: scd/scdaemon.c:1185 dirmngr/dirmngr.c:2119
 #, c-format
 msgid "handler for fd %d started\n"
 msgstr ""
 
-#: scd/scdaemon.c:1195 dirmngr/dirmngr.c:2090
+#: scd/scdaemon.c:1197 dirmngr/dirmngr.c:2127
 #, c-format
 msgid "handler for fd %d terminated\n"
 msgstr ""
@@ -8588,7 +8606,7 @@ msgstr "gravando a chave secreta en `%s'\n"
 msgid "certificate policy not allowed"
 msgstr "gravando a chave secreta en `%s'\n"
 
-#: sm/certchain.c:595 sm/keydb.c:1106 sm/keydb.c:1192
+#: sm/certchain.c:595 sm/keydb.c:1084 sm/keydb.c:1171
 #, fuzzy, c-format
 msgid "failed to get the fingerprint\n"
 msgstr "non se puido inicializa-la base de datos de confianzas: %s\n"
@@ -8624,8 +8642,8 @@ msgstr "erro ao crea-lo contrasinal: %s\n"
 msgid "dirmngr cache-only key lookup failed: %s\n"
 msgstr "fallou o borrado do bloque de chaves: %s\n"
 
-#: sm/certchain.c:1041 sm/certchain.c:1554 sm/certchain.c:2192 sm/decrypt.c:265
-#: sm/encrypt.c:344 sm/import.c:415 sm/keydb.c:1113 sm/keydb.c:1199
+#: sm/certchain.c:1041 sm/certchain.c:1554 sm/certchain.c:2192 sm/decrypt.c:728
+#: sm/encrypt.c:345 sm/import.c:415 sm/keydb.c:1091 sm/keydb.c:1178
 #: sm/sign.c:337 sm/verify.c:118
 #, fuzzy, c-format
 msgid "failed to allocate keyDB handle\n"
@@ -8830,13 +8848,13 @@ msgid "a %u bit hash is not valid for a %u bit %s key\n"
 msgstr ""
 
 #: sm/certcheck.c:238 sm/certcheck.c:262 dirmngr/crlcache.c:1542
-#: dirmngr/crlcache.c:1566 dirmngr/dirmngr.c:1324 dirmngr/validate.c:903
+#: dirmngr/crlcache.c:1566 dirmngr/dirmngr.c:1361 dirmngr/validate.c:903
 #: dirmngr/validate.c:927
 #, fuzzy, c-format
 msgid "out of core\n"
 msgstr "non procesado"
 
-#: sm/certcheck.c:371 sm/verify.c:213
+#: sm/certcheck.c:370 sm/verify.c:213
 #, c-format
 msgid "(this is the MD2 algorithm)\n"
 msgstr ""
@@ -9134,22 +9152,33 @@ msgstr ""
 msgid "resource problem: out of core\n"
 msgstr ""
 
-#: sm/decrypt.c:341
+#: sm/decrypt.c:536
+#, fuzzy, c-format
+#| msgid "%s encrypted data\n"
+msgid "%s.%s encrypted data\n"
+msgstr "datos cifrados con %s\n"
+
+#: sm/decrypt.c:803
 #, c-format
 msgid "(this is the RC2 algorithm)\n"
 msgstr ""
 
-#: sm/decrypt.c:343
+#: sm/decrypt.c:805
 #, c-format
 msgid "(this does not seem to be an encrypted message)\n"
 msgstr ""
 
+#: sm/decrypt.c:958
+#, fuzzy, c-format
+msgid "encrypted to %s key %s\n"
+msgstr "cifrado cunha chave %s, ID %08lX\n"
+
 #: sm/delete.c:51 sm/delete.c:112
 #, fuzzy, c-format
 msgid "certificate '%s' not found: %s\n"
 msgstr "non se atopou a chave `%s': %s\n"
 
-#: sm/delete.c:122 sm/keydb.c:1209 sm/keydb.c:1307
+#: sm/delete.c:122 sm/keydb.c:1189 sm/keydb.c:1288
 #, fuzzy, c-format
 msgid "error locking keybox: %s\n"
 msgstr "erro ao le-lo bloque de chaves: %s\n"
@@ -9169,139 +9198,139 @@ msgstr "certificado duplicado - borrado"
 msgid "deleting certificate \"%s\" failed: %s\n"
 msgstr "fallou o borrado do bloque de chaves: %s\n"
 
-#: sm/encrypt.c:330
+#: sm/encrypt.c:331
 #, fuzzy, c-format
 msgid "no valid recipients given\n"
 msgstr "(Non se deu unha descrición)\n"
 
-#: sm/gpgsm.c:215
+#: sm/gpgsm.c:216
 #, fuzzy
 msgid "list external keys"
 msgstr "ve-la lista de chaves secretas"
 
-#: sm/gpgsm.c:217
+#: sm/gpgsm.c:218
 #, fuzzy
 msgid "list certificate chain"
 msgstr "Revocación de certificado válida"
 
-#: sm/gpgsm.c:225
+#: sm/gpgsm.c:226
 #, fuzzy
 msgid "import certificates"
 msgstr "Certificado correcto"
 
-#: sm/gpgsm.c:226
+#: sm/gpgsm.c:227
 #, fuzzy
 msgid "export certificates"
 msgstr "Certificado correcto"
 
-#: sm/gpgsm.c:234
+#: sm/gpgsm.c:235
 msgid "register a smartcard"
 msgstr ""
 
-#: sm/gpgsm.c:237
+#: sm/gpgsm.c:238
 msgid "pass a command to the dirmngr"
 msgstr ""
 
-#: sm/gpgsm.c:239
+#: sm/gpgsm.c:240
 msgid "invoke gpg-protect-tool"
 msgstr ""
 
-#: sm/gpgsm.c:256
+#: sm/gpgsm.c:257
 #, fuzzy
 msgid "create base-64 encoded output"
 msgstr "crear saída con armadura en ascii"
 
-#: sm/gpgsm.c:265
+#: sm/gpgsm.c:266
 msgid "assume input is in PEM format"
 msgstr ""
 
-#: sm/gpgsm.c:267
+#: sm/gpgsm.c:268
 msgid "assume input is in base-64 format"
 msgstr ""
 
-#: sm/gpgsm.c:269
+#: sm/gpgsm.c:270
 msgid "assume input is in binary format"
 msgstr ""
 
-#: sm/gpgsm.c:276
+#: sm/gpgsm.c:277
 msgid "never consult a CRL"
 msgstr ""
 
-#: sm/gpgsm.c:286
+#: sm/gpgsm.c:287
 msgid "check validity using OCSP"
 msgstr ""
 
-#: sm/gpgsm.c:291
+#: sm/gpgsm.c:292
 msgid "|N|number of certificates to include"
 msgstr ""
 
-#: sm/gpgsm.c:294
+#: sm/gpgsm.c:295
 msgid "|FILE|take policy information from FILE"
 msgstr ""
 
-#: sm/gpgsm.c:297
+#: sm/gpgsm.c:298
 msgid "do not check certificate policies"
 msgstr ""
 
-#: sm/gpgsm.c:301
+#: sm/gpgsm.c:302
 msgid "fetch missing issuer certificates"
 msgstr ""
 
-#: sm/gpgsm.c:312
+#: sm/gpgsm.c:313
 msgid "don't use the terminal at all"
 msgstr "non usa-la terminal en absoluto"
 
-#: sm/gpgsm.c:314
+#: sm/gpgsm.c:315
 msgid "|FILE|write a server mode log to FILE"
 msgstr ""
 
-#: sm/gpgsm.c:319
+#: sm/gpgsm.c:320
 #, fuzzy
 msgid "|FILE|write an audit log to FILE"
 msgstr "|FICHEIRO|carga-lo módulo de extensión FICHEIRO"
 
-#: sm/gpgsm.c:322
+#: sm/gpgsm.c:323
 msgid "batch mode: never ask"
 msgstr "modo por lotes: non preguntar nunca"
 
-#: sm/gpgsm.c:323
+#: sm/gpgsm.c:324
 msgid "assume yes on most questions"
 msgstr "asumir `si' na maioría das preguntas"
 
-#: sm/gpgsm.c:324
+#: sm/gpgsm.c:325
 msgid "assume no on most questions"
 msgstr "asumir `non' na maioría das preguntas"
 
-#: sm/gpgsm.c:327
+#: sm/gpgsm.c:328
 #, fuzzy
 msgid "|FILE|add keyring to the list of keyrings"
 msgstr "engadir este chaveiro á lista de chaveiros"
 
-#: sm/gpgsm.c:330
+#: sm/gpgsm.c:331
 #, fuzzy
 msgid "|USER-ID|use USER-ID as default secret key"
 msgstr "|NOME|empregar NOME coma chave secreta por defecto"
 
-#: sm/gpgsm.c:340 tools/gpgconf-comp.c:837
+#: sm/gpgsm.c:341 dirmngr/dirmngr.c:214 tools/gpgconf-comp.c:841
 #, fuzzy
 msgid "|SPEC|use this keyserver to lookup keys"
 msgstr "|HOST|empregar este servidor de chaves para buscar chaves"
 
-#: sm/gpgsm.c:357
+#: sm/gpgsm.c:360
 msgid "|NAME|use cipher algorithm NAME"
 msgstr "|NOME|emprega-lo algoritmo de cifrado NOME"
 
-#: sm/gpgsm.c:359
+#: sm/gpgsm.c:362
 msgid "|NAME|use message digest algorithm NAME"
 msgstr "|NOME|emprega-lo algoritmo de resumos de mensaxes NOME"
 
-#: sm/gpgsm.c:570
+#: sm/gpgsm.c:573
 #, fuzzy
 #| msgid "Usage: gpg [options] [files] (-h for help)"
 msgid "Usage: @GPGSM@ [options] [files] (-h for help)"
 msgstr "Uso: gpg [opcións] [ficheiros] (-h para ve-la axuda)"
 
-#: sm/gpgsm.c:573
+#: sm/gpgsm.c:576
 #, fuzzy
 msgid ""
 "Syntax: @GPGSM@ [options] [files]\n"
@@ -9312,47 +9341,27 @@ msgstr ""
 "asinar, verificar, cifrar ou descifrar\n"
 "a operación por defecto depende dos datos de entrada\n"
 
-#: sm/gpgsm.c:777
+#: sm/gpgsm.c:784
 #, fuzzy, c-format
 msgid "Note: won't be able to encrypt to '%s': %s\n"
 msgstr "non se puido conectar a `%s': %s\n"
 
-#: sm/gpgsm.c:788
+#: sm/gpgsm.c:795
 #, fuzzy, c-format
 msgid "unknown validation model '%s'\n"
 msgstr "destinatario por defecto `%s' descoñecido\n"
 
-#: sm/gpgsm.c:839 dirmngr/ldapserver.c:86
-#, fuzzy, c-format
-msgid "%s:%u: no hostname given\n"
-msgstr "(Non se deu unha descrición)\n"
-
-#: sm/gpgsm.c:858 dirmngr/ldapserver.c:105
-#, c-format
-msgid "%s:%u: password given without user\n"
-msgstr ""
-
-#: sm/gpgsm.c:879 dirmngr/ldapserver.c:126
-#, fuzzy, c-format
-msgid "%s:%u: skipping this line\n"
-msgstr " o = omitir esta chave\n"
-
-#: sm/gpgsm.c:1449
-#, fuzzy, c-format
-msgid "could not parse keyserver\n"
-msgstr "non se puido analisa-lo URI do servidor de chaves\n"
-
-#: sm/gpgsm.c:1712
+#: sm/gpgsm.c:1612
 #, fuzzy, c-format
 msgid "importing common certificates '%s'\n"
 msgstr "escribindo a `%s'\n"
 
-#: sm/gpgsm.c:1755
+#: sm/gpgsm.c:1655
 #, fuzzy, c-format
 msgid "can't sign using '%s': %s\n"
 msgstr "non se pode pechar `%s': %s\n"
 
-#: sm/gpgsm.c:2122
+#: sm/gpgsm.c:2028
 #, c-format
 msgid "invalid command (there is no implicit command)\n"
 msgstr ""
@@ -9372,7 +9381,7 @@ msgstr "Certificado correcto"
 msgid "basic certificate checks failed - not imported\n"
 msgstr ""
 
-#: sm/import.c:472 sm/keydb.c:1229 sm/keydb.c:1319
+#: sm/import.c:472 sm/keydb.c:1209 sm/keydb.c:1300
 #, fuzzy, c-format
 msgid "error getting stored flags: %s\n"
 msgstr "erro ao crea-lo contrasinal: %s\n"
@@ -9387,27 +9396,27 @@ msgstr "erro ao crea-lo contrasinal: %s\n"
 msgid "error reading input: %s\n"
 msgstr "erro lendo `%s': %s\n"
 
-#: sm/keydb.c:1148
+#: sm/keydb.c:1127
 #, c-format
 msgid "problem looking for existing certificate: %s\n"
 msgstr ""
 
-#: sm/keydb.c:1160
+#: sm/keydb.c:1139
 #, fuzzy, c-format
 msgid "error finding writable keyDB: %s\n"
 msgstr "erro ao crea-lo contrasinal: %s\n"
 
-#: sm/keydb.c:1168
+#: sm/keydb.c:1147
 #, fuzzy, c-format
 msgid "error storing certificate: %s\n"
 msgstr "erro ao crea-lo contrasinal: %s\n"
 
-#: sm/keydb.c:1220
+#: sm/keydb.c:1200
 #, fuzzy, c-format
 msgid "problem re-searching certificate: %s\n"
 msgstr "rev? problema ao comproba-la revocación: %s\n"
 
-#: sm/keydb.c:1241 sm/keydb.c:1330
+#: sm/keydb.c:1221 sm/keydb.c:1311
 #, fuzzy, c-format
 msgid "error storing flags: %s\n"
 msgstr "erro lendo `%s': %s\n"
@@ -9442,7 +9451,7 @@ msgid ""
 "%s%sAre you really sure that you want to do this?"
 msgstr ""
 
-#: sm/qualified.c:215 sm/verify.c:678
+#: sm/qualified.c:215 sm/verify.c:679
 #, c-format
 msgid ""
 "Note, that this software is not officially approved to create or verify such "
@@ -9487,23 +9496,23 @@ msgstr ""
 msgid "algorithm:"
 msgstr "armadura: %s\n"
 
-#: sm/verify.c:535
+#: sm/verify.c:536
 #, c-format
 msgid ""
 "invalid signature: message digest attribute does not match computed one\n"
 msgstr ""
 
-#: sm/verify.c:656
+#: sm/verify.c:657
 #, fuzzy, c-format
 msgid "Good signature from"
 msgstr "Sinatura correcta de \""
 
-#: sm/verify.c:657
+#: sm/verify.c:658
 #, fuzzy, c-format
 msgid "                aka"
 msgstr "               alias \""
 
-#: sm/verify.c:675
+#: sm/verify.c:676
 #, fuzzy, c-format
 msgid "This is a qualified signature\n"
 msgstr ""
@@ -10137,7 +10146,7 @@ msgid "error retrieving '%s': %s\n"
 msgstr "erro ao crear `%s': %s\n"
 
 #: dirmngr/crlfetch.c:218 dirmngr/ldap-wrapper-ce.c:492
-#: dirmngr/ldap-wrapper.c:884 dirmngr/misc.c:573
+#: dirmngr/ldap-wrapper.c:885 dirmngr/misc.c:573
 #, fuzzy, c-format
 #| msgid "%s: error writing dir record: %s\n"
 msgid "error initializing reader object: %s\n"
@@ -10307,116 +10316,116 @@ msgstr ""
 msgid "looking up '%s'\n"
 msgstr ""
 
-#: dirmngr/dirmngr.c:170
+#: dirmngr/dirmngr.c:171
 msgid "list the contents of the CRL cache"
 msgstr ""
 
-#: dirmngr/dirmngr.c:171
+#: dirmngr/dirmngr.c:172
 #, fuzzy
 msgid "|FILE|load CRL from FILE into cache"
 msgstr "|FICHEIRO|carga-lo módulo de extensión FICHEIRO"
 
-#: dirmngr/dirmngr.c:172
+#: dirmngr/dirmngr.c:173
 msgid "|URL|fetch a CRL from URL"
 msgstr ""
 
-#: dirmngr/dirmngr.c:173
+#: dirmngr/dirmngr.c:174
 msgid "shutdown the dirmngr"
 msgstr ""
 
-#: dirmngr/dirmngr.c:174
+#: dirmngr/dirmngr.c:175
 msgid "flush the cache"
 msgstr ""
 
-#: dirmngr/dirmngr.c:190 tools/gpgconf-comp.c:522 tools/gpgconf-comp.c:741
-#: tools/gpgconf-comp.c:854 tools/gpgconf-comp.c:950
+#: dirmngr/dirmngr.c:191 tools/gpgconf-comp.c:522 tools/gpgconf-comp.c:745
+#: tools/gpgconf-comp.c:858 tools/gpgconf-comp.c:954
 msgid "|FILE|write server mode logs to FILE"
 msgstr ""
 
-#: dirmngr/dirmngr.c:191
+#: dirmngr/dirmngr.c:192
 #, fuzzy
 msgid "run without asking a user"
 msgstr "¿Saír sin gardar? "
 
-#: dirmngr/dirmngr.c:192
+#: dirmngr/dirmngr.c:193
 msgid "force loading of outdated CRLs"
 msgstr ""
 
-#: dirmngr/dirmngr.c:193
+#: dirmngr/dirmngr.c:194
 msgid "allow sending OCSP requests"
 msgstr ""
 
-#: dirmngr/dirmngr.c:195
+#: dirmngr/dirmngr.c:196
 msgid "allow online software version check"
 msgstr ""
 
-#: dirmngr/dirmngr.c:196
+#: dirmngr/dirmngr.c:197
 msgid "inhibit the use of HTTP"
 msgstr ""
 
-#: dirmngr/dirmngr.c:197
+#: dirmngr/dirmngr.c:198
 msgid "inhibit the use of LDAP"
 msgstr ""
 
-#: dirmngr/dirmngr.c:199
+#: dirmngr/dirmngr.c:200
 msgid "ignore HTTP CRL distribution points"
 msgstr ""
 
-#: dirmngr/dirmngr.c:201
+#: dirmngr/dirmngr.c:202
 msgid "ignore LDAP CRL distribution points"
 msgstr ""
 
-#: dirmngr/dirmngr.c:203
+#: dirmngr/dirmngr.c:204
 msgid "ignore certificate contained OCSP service URLs"
 msgstr ""
 
-#: dirmngr/dirmngr.c:206
+#: dirmngr/dirmngr.c:207
 msgid "|URL|redirect all HTTP requests to URL"
 msgstr ""
 
-#: dirmngr/dirmngr.c:208
+#: dirmngr/dirmngr.c:209
 msgid "|HOST|use HOST for LDAP queries"
 msgstr ""
 
-#: dirmngr/dirmngr.c:210
+#: dirmngr/dirmngr.c:211
 msgid "do not use fallback hosts with --ldap-proxy"
 msgstr ""
 
-#: dirmngr/dirmngr.c:213
+#: dirmngr/dirmngr.c:216
 #, fuzzy
 msgid "|FILE|read LDAP server list from FILE"
 msgstr "|FICHEIRO|carga-lo módulo de extensión FICHEIRO"
 
-#: dirmngr/dirmngr.c:215
+#: dirmngr/dirmngr.c:218
 msgid "add new servers discovered in CRL distribution points to serverlist"
 msgstr ""
 
-#: dirmngr/dirmngr.c:218 dirmngr/dirmngr_ldap.c:137
+#: dirmngr/dirmngr.c:221
 msgid "|N|set LDAP timeout to N seconds"
 msgstr ""
 
-#: dirmngr/dirmngr.c:221
+#: dirmngr/dirmngr.c:224
 #, fuzzy
 msgid "|URL|use OCSP responder at URL"
 msgstr "non se puido analisa-lo URI do servidor de chaves\n"
 
-#: dirmngr/dirmngr.c:223
+#: dirmngr/dirmngr.c:226
 msgid "|FPR|OCSP response signed by FPR"
 msgstr ""
 
-#: dirmngr/dirmngr.c:229
+#: dirmngr/dirmngr.c:232
 msgid "|N|do not return more than N items in one query"
 msgstr ""
 
-#: dirmngr/dirmngr.c:234
+#: dirmngr/dirmngr.c:237
 msgid "|FILE|use the CA certificates in FILE for HKP over TLS"
 msgstr ""
 
-#: dirmngr/dirmngr.c:236
+#: dirmngr/dirmngr.c:239
 msgid "route all network traffic via Tor"
 msgstr ""
 
-#: dirmngr/dirmngr.c:265
+#: dirmngr/dirmngr.c:268
 #, fuzzy
 #| msgid ""
 #| "@\n"
@@ -10429,290 +10438,115 @@ msgstr ""
 "@\n"
 "(Vexa a páxina man para un listado completo de comandos e opcións)\n"
 
-#: dirmngr/dirmngr.c:407
+#: dirmngr/dirmngr.c:415
 #, fuzzy
 msgid "Usage: @DIRMNGR@ [options] (-h for help)"
 msgstr "Uso: gpg [opcións] [ficheiros] (-h para ve-la axuda)"
 
-#: dirmngr/dirmngr.c:409
+#: dirmngr/dirmngr.c:417
 msgid ""
 "Syntax: @DIRMNGR@ [options] [command [args]]\n"
 "Keyserver, CRL, and OCSP access for @GNUPG@\n"
 msgstr ""
 
-#: dirmngr/dirmngr.c:489
+#: dirmngr/dirmngr.c:497
 #, c-format
 msgid "valid debug levels are: %s\n"
 msgstr ""
 
-#: dirmngr/dirmngr.c:575 tools/gpgconf.c:647 tools/gpgconf.c:682
+#: dirmngr/dirmngr.c:583 tools/gpgconf.c:647 tools/gpgconf.c:682
 #: tools/gpgconf.c:780
 #, fuzzy, c-format
 msgid "usage: %s [options] "
 msgstr "uso: gpg [opcións] "
 
-#: dirmngr/dirmngr.c:1212
+#: dirmngr/dirmngr.c:1249
 #, fuzzy, c-format
 #| msgid "%s not allowed with %s!\n"
 msgid "colons are not allowed in the socket name\n"
 msgstr "¡%s non se admite con %s!\n"
 
-#: dirmngr/dirmngr.c:1444 dirmngr/server.c:1824
+#: dirmngr/dirmngr.c:1481 dirmngr/server.c:1878
 #, fuzzy, c-format
 msgid "fetching CRL from '%s' failed: %s\n"
 msgstr "non se puido poñe-la armadura: %s\n"
 
-#: dirmngr/dirmngr.c:1450 dirmngr/server.c:1830
+#: dirmngr/dirmngr.c:1487 dirmngr/server.c:1884
 #, fuzzy, c-format
 msgid "processing CRL from '%s' failed: %s\n"
 msgstr "non se puido poñe-la armadura: %s\n"
 
-#: dirmngr/dirmngr.c:1645
+#: dirmngr/dirmngr.c:1682
 #, fuzzy, c-format
 msgid "%s:%u: line too long - skipped\n"
 msgstr "liña longa de máis\n"
 
-#: dirmngr/dirmngr.c:1700 dirmngr/dirmngr.c:1784
+#: dirmngr/dirmngr.c:1737 dirmngr/dirmngr.c:1821
 #, fuzzy, c-format
 msgid "%s:%u: invalid fingerprint detected\n"
 msgstr "erro: pegada dactilar non válida\n"
 
-#: dirmngr/dirmngr.c:1736 dirmngr/dirmngr.c:1762 tools/gpgconf-comp.c:4191
+#: dirmngr/dirmngr.c:1773 dirmngr/dirmngr.c:1799 tools/gpgconf-comp.c:4199
 #, fuzzy, c-format
 msgid "%s:%u: read error: %s\n"
 msgstr "erro de lectura: %s\n"
 
-#: dirmngr/dirmngr.c:1791
+#: dirmngr/dirmngr.c:1828
 #, c-format
 msgid "%s:%u: garbage at end of line ignored\n"
 msgstr ""
 
-#: dirmngr/dirmngr.c:1860
+#: dirmngr/dirmngr.c:1897
 #, c-format
 msgid "SIGHUP received - re-reading configuration and flushing caches\n"
 msgstr ""
 
-#: dirmngr/dirmngr.c:1900
+#: dirmngr/dirmngr.c:1937
 #, c-format
 msgid "SIGUSR2 received - no action defined\n"
 msgstr ""
 
-#: dirmngr/dirmngr.c:1905
+#: dirmngr/dirmngr.c:1942
 #, c-format
 msgid "SIGTERM received - shutting down ...\n"
 msgstr ""
 
-#: dirmngr/dirmngr.c:1907
+#: dirmngr/dirmngr.c:1944
 #, c-format
 msgid "SIGTERM received - still %d active connections\n"
 msgstr ""
 
-#: dirmngr/dirmngr.c:1912
+#: dirmngr/dirmngr.c:1949
 #, fuzzy, c-format
 msgid "shutdown forced\n"
 msgstr "non procesado"
 
-#: dirmngr/dirmngr.c:1920
+#: dirmngr/dirmngr.c:1957
 #, c-format
 msgid "SIGINT received - immediate shutdown\n"
 msgstr ""
 
-#: dirmngr/dirmngr.c:1927
+#: dirmngr/dirmngr.c:1964
 #, c-format
 msgid "signal %d received - no action defined\n"
 msgstr ""
 
-#: dirmngr/dirmngr_ldap.c:138
-msgid "return all values in a record oriented format"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:141
-msgid "|NAME|ignore host part and connect through NAME"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:142
-#, fuzzy
-#| msgid "|NAME|set terminal charset to NAME"
-msgid "|NAME|connect to host NAME"
-msgstr "|NAME|axusta-lo xogo de caracteres do terminal a NOME"
-
-#: dirmngr/dirmngr_ldap.c:143
-msgid "|N|connect to port N"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:144
-#, fuzzy
-#| msgid "|NAME|use NAME as default recipient"
-msgid "|NAME|use user NAME for authentication"
-msgstr "|NOME|empregar NOME como valor por defecto do destinatario"
-
-#: dirmngr/dirmngr_ldap.c:145
-msgid "|PASS|use password PASS for authentication"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:147
-msgid "take password from $DIRMNGR_LDAP_PASS"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:148
-msgid "|STRING|query DN STRING"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:149
-msgid "|STRING|use STRING as filter expression"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:150
-msgid "|STRING|return the attribute STRING"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:211
-#, fuzzy
-#| msgid "Usage: gpg [options] [files] (-h for help)"
-msgid "Usage: dirmngr_ldap [options] [URL] (-h for help)\n"
-msgstr "Uso: gpg [opcións] [ficheiros] (-h para ve-la axuda)"
-
-#: dirmngr/dirmngr_ldap.c:214
-msgid ""
-"Syntax: dirmngr_ldap [options] [URL]\n"
-"Internal LDAP helper for Dirmngr\n"
-"Interface and options may change without notice\n"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:340
-#, fuzzy, c-format
-#| msgid "invalid import options\n"
-msgid "invalid port number %d\n"
-msgstr "opcións de importación non válidas\n"
-
-#: dirmngr/dirmngr_ldap.c:456
-#, c-format
-msgid "scanning result for attribute '%s'\n"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:463 dirmngr/dirmngr_ldap.c:546
-#: dirmngr/dirmngr_ldap.c:570 dirmngr/dirmngr_ldap.c:582
-#: dirmngr/dirmngr_ldap.c:720
-#, fuzzy, c-format
-msgid "error writing to stdout: %s\n"
-msgstr "erro escribindo no chaveiro `%s': %s\n"
-
-#: dirmngr/dirmngr_ldap.c:480
-#, c-format
-msgid "          available attribute '%s'\n"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:518
-#, fuzzy, c-format
-msgid "attribute '%s' not found\n"
-msgstr "non se atopou a chave `%s': %s\n"
-
-#: dirmngr/dirmngr_ldap.c:525
-#, c-format
-msgid "found attribute '%s'\n"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:634
-#, fuzzy, c-format
-#| msgid "reading from `%s'\n"
-msgid "processing url '%s'\n"
-msgstr "lendo de `%s'\n"
-
-#: dirmngr/dirmngr_ldap.c:636
-#, fuzzy, c-format
-#| msgid "          w/o user IDs: %lu\n"
-msgid "          user '%s'\n"
-msgstr "   sin IDs de usuario: %lu\n"
-
-#: dirmngr/dirmngr_ldap.c:638
-#, fuzzy, c-format
-msgid "          pass '%s'\n"
-msgstr "               alias \""
-
-#: dirmngr/dirmngr_ldap.c:640
-#, fuzzy, c-format
-msgid "          host '%s'\n"
-msgstr "               alias \""
-
-#: dirmngr/dirmngr_ldap.c:641
-#, fuzzy, c-format
-#| msgid "          not imported: %lu\n"
-msgid "          port %d\n"
-msgstr "       non importadas: %lu\n"
-
-#: dirmngr/dirmngr_ldap.c:643
-#, fuzzy, c-format
-msgid "            DN '%s'\n"
-msgstr "               alias \""
-
-#: dirmngr/dirmngr_ldap.c:645
-#, c-format
-msgid "        filter '%s'\n"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:650 dirmngr/dirmngr_ldap.c:653
-#, fuzzy, c-format
-msgid "          attr '%s'\n"
-msgstr "               alias \""
-
-#: dirmngr/dirmngr_ldap.c:659
-#, fuzzy, c-format
-msgid "no host name in '%s'\n"
-msgstr "(Non se deu unha descrición)\n"
-
-#: dirmngr/dirmngr_ldap.c:664
-#, c-format
-msgid "no attribute given for query '%s'\n"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:670
-#, fuzzy, c-format
-#| msgid "WARNING: using insecure memory!\n"
-msgid "WARNING: using first attribute only\n"
-msgstr "AVISO: ¡úsase memoria insegura!\n"
-
-#: dirmngr/dirmngr_ldap.c:679
-#, fuzzy, c-format
-msgid "LDAP init to '%s:%d' failed: %s\n"
-msgstr "non se puido poñe-la armadura: %s\n"
-
-#: dirmngr/dirmngr_ldap.c:702
-#, fuzzy, c-format
-msgid "binding to '%s:%d' failed: %s\n"
-msgstr "non se puido poñe-la armadura: %s\n"
-
-#: dirmngr/dirmngr_ldap.c:729
-#, fuzzy, c-format
-#| msgid "dearmoring failed: %s\n"
-msgid "searching '%s' failed: %s\n"
-msgstr "non se puido quita-la armadura: %s\n"
-
-#: dirmngr/dirmngr_ldap.c:761
-#, fuzzy, c-format
-msgid "'%s' is not an LDAP URL\n"
-msgstr "\"%s\" non é un ficheiro JPEG\n"
-
-#: dirmngr/dirmngr_ldap.c:767
-#, c-format
-msgid "'%s' is an invalid LDAP URL\n"
-msgstr ""
-
-#: dirmngr/http.c:1987 dirmngr/ocsp.c:255
+#: dirmngr/http.c:1993 dirmngr/ocsp.c:255
 #, fuzzy, c-format
 msgid "error accessing '%s': http status %u\n"
 msgstr "erro lendo `%s': %s\n"
 
-#: dirmngr/http.c:3629 dirmngr/ocsp.c:229
+#: dirmngr/http.c:3644 dirmngr/ocsp.c:229
 #, c-format
 msgid "URL '%s' redirected to '%s' (%u)\n"
 msgstr ""
 
-#: dirmngr/http.c:3635 dirmngr/ocsp.c:246
+#: dirmngr/http.c:3650 dirmngr/ocsp.c:246
 #, fuzzy, c-format
 msgid "too many redirections\n"
 msgstr "demasiadas preferencias `%c'\n"
 
-#: dirmngr/http.c:3747
+#: dirmngr/http.c:3762
 #, fuzzy, c-format
 #| msgid "writing to `%s'\n"
 msgid "redirection changed to '%s'\n"
@@ -10753,31 +10587,51 @@ msgstr "a actualización fallou: %s\n"
 msgid "ldap wrapper %d stalled - killing\n"
 msgstr ""
 
-#: dirmngr/ldap.c:91
+#: dirmngr/ldap.c:92
 #, c-format
 msgid "invalid char 0x%02x in host name - not added\n"
 msgstr ""
 
-#: dirmngr/ldap.c:95
+#: dirmngr/ldap.c:96
 #, fuzzy, c-format
 msgid "adding '%s:%d' to the ldap server list\n"
 msgstr "buscando \"%s\" no servidor HKP %s\n"
 
-#: dirmngr/ldap.c:98 dirmngr/misc.c:512
+#: dirmngr/ldap.c:99 dirmngr/misc.c:512
 #, fuzzy, c-format
 msgid "malloc failed: %s\n"
 msgstr "fallou o borrado do bloque de chaves: %s\n"
 
-#: dirmngr/ldap.c:627
+#: dirmngr/ldap.c:221
+#, fuzzy, c-format
+msgid "'%s' is not an LDAP URL\n"
+msgstr "\"%s\" non é un ficheiro JPEG\n"
+
+#: dirmngr/ldap.c:227 dirmngr/ldap.c:233
 #, c-format
-msgid "start_cert_fetch: invalid pattern '%s'\n"
+msgid "'%s' is an invalid LDAP URL\n"
 msgstr ""
 
-#: dirmngr/ldap.c:839
+#: dirmngr/ldap.c:969
 #, c-format
 msgid "ldap_search hit the size limit of the server\n"
 msgstr ""
 
+#: dirmngr/ldapserver.c:117
+#, c-format
+msgid "%s:%u: password given without user\n"
+msgstr ""
+
+#: dirmngr/ldapserver.c:181
+#, c-format
+msgid "%s:%u: ignoring unknown flag '%s'\n"
+msgstr ""
+
+#: dirmngr/ldapserver.c:203
+#, fuzzy, c-format
+msgid "%s:%u: skipping this line\n"
+msgstr " o = omitir esta chave\n"
+
 #: dirmngr/misc.c:172
 #, fuzzy, c-format
 #| msgid "%s: invalid file version %d\n"
@@ -10961,72 +10815,68 @@ msgstr ""
 msgid "assuan_inquire(%s) failed: %s\n"
 msgstr "fallou a sinatura: %s\n"
 
-#: dirmngr/server.c:1158
-msgid "ldapserver missing"
-msgstr ""
-
-#: dirmngr/server.c:1224
+#: dirmngr/server.c:1277
 msgid "serialno missing in cert ID"
 msgstr ""
 
-#: dirmngr/server.c:1387 dirmngr/server.c:1473 dirmngr/server.c:1909
-#: dirmngr/server.c:1980 dirmngr/server.c:2552 dirmngr/server.c:2567
+#: dirmngr/server.c:1440 dirmngr/server.c:1526 dirmngr/server.c:1963
+#: dirmngr/server.c:2034 dirmngr/server.c:2662 dirmngr/server.c:2677
 #, fuzzy, c-format
 msgid "assuan_inquire failed: %s\n"
 msgstr "fallou a sinatura: %s\n"
 
-#: dirmngr/server.c:1516
+#: dirmngr/server.c:1569
 #, fuzzy, c-format
 msgid "fetch_cert_by_url failed: %s\n"
 msgstr "fallou o borrado do bloque de chaves: %s\n"
 
-#: dirmngr/server.c:1528 dirmngr/server.c:1559 dirmngr/server.c:1718
+#: dirmngr/server.c:1581 dirmngr/server.c:1612 dirmngr/server.c:1772
 #, fuzzy, c-format
 msgid "error sending data: %s\n"
 msgstr "erro ao enviar a `%s': %s\n"
 
-#: dirmngr/server.c:1666
+#: dirmngr/server.c:1720
 #, fuzzy, c-format
 msgid "start_cert_fetch failed: %s\n"
 msgstr "fallou o borrado do bloque de chaves: %s\n"
 
-#: dirmngr/server.c:1699
+#: dirmngr/server.c:1753
 #, fuzzy, c-format
 msgid "fetch_next_cert failed: %s\n"
 msgstr "fallou o borrado do bloque de chaves: %s\n"
 
-#: dirmngr/server.c:1726
+#: dirmngr/server.c:1780
 #, c-format
 msgid "max_replies %d exceeded\n"
 msgstr ""
 
-#: dirmngr/server.c:2856
+#: dirmngr/server.c:2966
 #, fuzzy, c-format
 msgid "can't allocate control structure: %s\n"
 msgstr "non se pode crear `%s': %s\n"
 
-#: dirmngr/server.c:2867
+#: dirmngr/server.c:2977
 #, fuzzy, c-format
 msgid "failed to allocate assuan context: %s\n"
 msgstr "%s: fallo ao crear unha táboa hash: %s\n"
 
-#: dirmngr/server.c:2888
+#: dirmngr/server.c:2998
 #, fuzzy, c-format
 #| msgid "failed to initialize the TrustDB: %s\n"
 msgid "failed to initialize the server: %s\n"
 msgstr "non se puido inicializa-la base de datos de confianzas: %s\n"
 
-#: dirmngr/server.c:2896
+#: dirmngr/server.c:3006
 #, fuzzy, c-format
 msgid "failed to the register commands with Assuan: %s\n"
 msgstr "fallo ao reconstruí-la caché de chaveiros: %s\n"
 
-#: dirmngr/server.c:2929
+#: dirmngr/server.c:3039
 #, c-format
 msgid "Assuan accept problem: %s\n"
 msgstr ""
 
-#: dirmngr/server.c:2948
+#: dirmngr/server.c:3058
 #, fuzzy, c-format
 #| msgid "signing failed: %s\n"
 msgid "Assuan processing failed: %s\n"
@@ -11167,22 +11017,22 @@ msgid "error sending standard options: %s\n"
 msgstr "erro ao enviar a `%s': %s\n"
 
 #: tools/gpgconf-comp.c:481 tools/gpgconf-comp.c:617 tools/gpgconf-comp.c:692
-#: tools/gpgconf-comp.c:804 tools/gpgconf-comp.c:906
+#: tools/gpgconf-comp.c:808 tools/gpgconf-comp.c:910
 msgid "Options controlling the diagnostic output"
 msgstr ""
 
 #: tools/gpgconf-comp.c:494 tools/gpgconf-comp.c:630 tools/gpgconf-comp.c:705
-#: tools/gpgconf-comp.c:817 tools/gpgconf-comp.c:929
+#: tools/gpgconf-comp.c:821 tools/gpgconf-comp.c:933
 msgid "Options controlling the configuration"
 msgstr ""
 
-#: tools/gpgconf-comp.c:517 tools/gpgconf-comp.c:659 tools/gpgconf-comp.c:736
-#: tools/gpgconf-comp.c:849 tools/gpgconf-comp.c:942
+#: tools/gpgconf-comp.c:517 tools/gpgconf-comp.c:659 tools/gpgconf-comp.c:740
+#: tools/gpgconf-comp.c:853 tools/gpgconf-comp.c:946
 #, fuzzy
 msgid "Options useful for debugging"
 msgstr "habilitar depuración total"
 
-#: tools/gpgconf-comp.c:530 tools/gpgconf-comp.c:669 tools/gpgconf-comp.c:862
+#: tools/gpgconf-comp.c:530 tools/gpgconf-comp.c:669 tools/gpgconf-comp.c:866
 msgid "Options controlling the security"
 msgstr ""
 
@@ -11232,11 +11082,11 @@ msgstr "erro ao crea-lo contrasinal: %s\n"
 msgid "|N|set the Pinentry timeout to N seconds"
 msgstr ""
 
-#: tools/gpgconf-comp.c:707 tools/gpgconf-comp.c:819
+#: tools/gpgconf-comp.c:707 tools/gpgconf-comp.c:823
 msgid "|NAME|use NAME as default secret key"
 msgstr "|NOME|empregar NOME coma chave secreta por defecto"
 
-#: tools/gpgconf-comp.c:710 tools/gpgconf-comp.c:822
+#: tools/gpgconf-comp.c:710 tools/gpgconf-comp.c:826
 #, fuzzy
 msgid "|NAME|encrypt to user ID NAME as well"
 msgstr "|NOME|cifrar para NOME"
@@ -11245,137 +11095,137 @@ msgstr "|NOME|cifrar para NOME"
 msgid "|SPEC|set up email aliases"
 msgstr ""
 
-#: tools/gpgconf-comp.c:749 tools/gpgconf-comp.c:981
+#: tools/gpgconf-comp.c:753 tools/gpgconf-comp.c:985
 msgid "Configuration for Keyservers"
 msgstr ""
 
-#: tools/gpgconf-comp.c:751 tools/gpgconf-comp.c:983
+#: tools/gpgconf-comp.c:755 tools/gpgconf-comp.c:987
 #, fuzzy
 msgid "|URL|use keyserver at URL"
 msgstr "non se puido analisa-lo URI do servidor de chaves\n"
 
-#: tools/gpgconf-comp.c:754
+#: tools/gpgconf-comp.c:758
 msgid "allow PKA lookups (DNS requests)"
 msgstr ""
 
-#: tools/gpgconf-comp.c:757
+#: tools/gpgconf-comp.c:761
 msgid "|MECHANISMS|use MECHANISMS to locate keys by mail address"
 msgstr ""
 
-#: tools/gpgconf-comp.c:760
+#: tools/gpgconf-comp.c:764
 #, fuzzy
 #| msgid "import keys from a keyserver"
 msgid "import missing key from a signature"
 msgstr "importar chaves dun servidor de chaves"
 
-#: tools/gpgconf-comp.c:763
+#: tools/gpgconf-comp.c:767
 #, fuzzy
 msgid "include the public key in signatures"
 msgstr "verifica-las sinaturas das chaves"
 
-#: tools/gpgconf-comp.c:770 tools/gpgconf-comp.c:831
+#: tools/gpgconf-comp.c:774 tools/gpgconf-comp.c:835
 msgid "disable all access to the dirmngr"
 msgstr ""
 
-#: tools/gpgconf-comp.c:834
+#: tools/gpgconf-comp.c:838
 #, fuzzy
 msgid "|NAME|use encoding NAME for PKCS#12 passphrases"
 msgstr "|NOME|emprega-lo algoritmo de cifrado NOME para os contrasinais"
 
-#: tools/gpgconf-comp.c:870
+#: tools/gpgconf-comp.c:874
 msgid "do not check CRLs for root certificates"
 msgstr ""
 
-#: tools/gpgconf-comp.c:919
+#: tools/gpgconf-comp.c:923
 msgid "Options controlling the format of the output"
 msgstr ""
 
-#: tools/gpgconf-comp.c:961
+#: tools/gpgconf-comp.c:965
 msgid "Options controlling the interactivity and enforcement"
 msgstr ""
 
-#: tools/gpgconf-comp.c:974
+#: tools/gpgconf-comp.c:978
 msgid "Options controlling the use of Tor"
 msgstr ""
 
-#: tools/gpgconf-comp.c:988
+#: tools/gpgconf-comp.c:992
 msgid "Configuration for HTTP servers"
 msgstr ""
 
-#: tools/gpgconf-comp.c:999
+#: tools/gpgconf-comp.c:1003
 msgid "use system's HTTP proxy setting"
 msgstr ""
 
-#: tools/gpgconf-comp.c:1004
+#: tools/gpgconf-comp.c:1008
 msgid "Configuration of LDAP servers to use"
 msgstr ""
 
-#: tools/gpgconf-comp.c:1033
+#: tools/gpgconf-comp.c:1037
 msgid "LDAP server list"
 msgstr ""
 
-#: tools/gpgconf-comp.c:1041
+#: tools/gpgconf-comp.c:1045
 msgid "Configuration for OCSP"
 msgstr ""
 
-#: tools/gpgconf-comp.c:1094
+#: tools/gpgconf-comp.c:1098
 msgid "OpenPGP"
 msgstr ""
 
-#: tools/gpgconf-comp.c:1095
+#: tools/gpgconf-comp.c:1099
 msgid "Private Keys"
 msgstr ""
 
-#: tools/gpgconf-comp.c:1096
+#: tools/gpgconf-comp.c:1100
 msgid "Smartcards"
 msgstr ""
 
-#: tools/gpgconf-comp.c:1097
+#: tools/gpgconf-comp.c:1101
 msgid "S/MIME"
 msgstr ""
 
-#: tools/gpgconf-comp.c:1098
+#: tools/gpgconf-comp.c:1102
 #, fuzzy
 #| msgid "network error"
 msgid "Network"
 msgstr "erro de rede"
 
-#: tools/gpgconf-comp.c:1099
+#: tools/gpgconf-comp.c:1103
 #, fuzzy
 msgid "Passphrase Entry"
 msgstr "contrasinal erróneo"
 
-#: tools/gpgconf-comp.c:1278
+#: tools/gpgconf-comp.c:1282
 #, fuzzy
 msgid "Component not suitable for launching"
 msgstr "non se atopou a chave pública"
 
-#: tools/gpgconf-comp.c:1284
+#: tools/gpgconf-comp.c:1288
 #, c-format
 msgid "Configuration file of component %s is broken\n"
 msgstr ""
 
-#: tools/gpgconf-comp.c:1287
+#: tools/gpgconf-comp.c:1291
 #, fuzzy, c-format
 #| msgid "Please use the command \"toggle\" first.\n"
 msgid "Note: Use the command \"%s%s\" to get details.\n"
 msgstr "Por favor, empregue o comando \"toggle\" antes.\n"
 
-#: tools/gpgconf-comp.c:3446
+#: tools/gpgconf-comp.c:3454
 #, c-format
 msgid "External verification of component %s failed"
 msgstr ""
 
-#: tools/gpgconf-comp.c:3597
+#: tools/gpgconf-comp.c:3605
 msgid "Note that group specifications are ignored\n"
 msgstr ""
 
-#: tools/gpgconf-comp.c:4195
+#: tools/gpgconf-comp.c:4203
 #, fuzzy, c-format
 msgid "error closing '%s'\n"
 msgstr "erro lendo `%s': %s\n"
 
-#: tools/gpgconf-comp.c:4197
+#: tools/gpgconf-comp.c:4205
 #, fuzzy, c-format
 msgid "error parsing '%s'\n"
 msgstr "erro lendo `%s': %s\n"
@@ -11485,6 +11335,99 @@ msgid ""
 msgstr ""
 
 #, fuzzy
+#~ msgid "requesting key %s from %s server %s\n"
+#~ msgstr "solicitando a chave %08lX de %s\n"
+
+#, fuzzy
+#~ msgid "%s:%u: no hostname given\n"
+#~ msgstr "(Non se deu unha descrición)\n"
+
+#, fuzzy
+#~ msgid "could not parse keyserver\n"
+#~ msgstr "non se puido analisa-lo URI do servidor de chaves\n"
+
+#, fuzzy
+#~| msgid "|NAME|set terminal charset to NAME"
+#~ msgid "|NAME|connect to host NAME"
+#~ msgstr "|NAME|axusta-lo xogo de caracteres do terminal a NOME"
+
+#, fuzzy
+#~| msgid "|NAME|use NAME as default recipient"
+#~ msgid "|NAME|use user NAME for authentication"
+#~ msgstr "|NOME|empregar NOME como valor por defecto do destinatario"
+
+#, fuzzy
+#~| msgid "Usage: gpg [options] [files] (-h for help)"
+#~ msgid "Usage: dirmngr_ldap [options] [URL] (-h for help)\n"
+#~ msgstr "Uso: gpg [opcións] [ficheiros] (-h para ve-la axuda)"
+
+#, fuzzy
+#~| msgid "invalid import options\n"
+#~ msgid "invalid port number %d\n"
+#~ msgstr "opcións de importación non válidas\n"
+
+#, fuzzy
+#~ msgid "error writing to stdout: %s\n"
+#~ msgstr "erro escribindo no chaveiro `%s': %s\n"
+
+#, fuzzy
+#~ msgid "attribute '%s' not found\n"
+#~ msgstr "non se atopou a chave `%s': %s\n"
+
+#, fuzzy
+#~| msgid "reading from `%s'\n"
+#~ msgid "processing url '%s'\n"
+#~ msgstr "lendo de `%s'\n"
+
+#, fuzzy
+#~| msgid "          w/o user IDs: %lu\n"
+#~ msgid "          user '%s'\n"
+#~ msgstr "   sin IDs de usuario: %lu\n"
+
+#, fuzzy
+#~ msgid "          pass '%s'\n"
+#~ msgstr "               alias \""
+
+#, fuzzy
+#~ msgid "          host '%s'\n"
+#~ msgstr "               alias \""
+
+#, fuzzy
+#~| msgid "          not imported: %lu\n"
+#~ msgid "          port %d\n"
+#~ msgstr "       non importadas: %lu\n"
+
+#, fuzzy
+#~ msgid "            DN '%s'\n"
+#~ msgstr "               alias \""
+
+#, fuzzy
+#~ msgid "          attr '%s'\n"
+#~ msgstr "               alias \""
+
+#, fuzzy
+#~ msgid "no host name in '%s'\n"
+#~ msgstr "(Non se deu unha descrición)\n"
+
+#, fuzzy
+#~| msgid "WARNING: using insecure memory!\n"
+#~ msgid "WARNING: using first attribute only\n"
+#~ msgstr "AVISO: ¡úsase memoria insegura!\n"
+
+#, fuzzy
+#~ msgid "LDAP init to '%s:%d' failed: %s\n"
+#~ msgstr "non se puido poñe-la armadura: %s\n"
+
+#, fuzzy
+#~ msgid "binding to '%s:%d' failed: %s\n"
+#~ msgstr "non se puido poñe-la armadura: %s\n"
+
+#, fuzzy
+#~| msgid "dearmoring failed: %s\n"
+#~ msgid "searching '%s' failed: %s\n"
+#~ msgstr "non se puido quita-la armadura: %s\n"
+
+#, fuzzy
 #~| msgid "NOTE: old default options file `%s' ignored\n"
 #~ msgid "Note: old default options file '%s' ignored\n"
 #~ msgstr "NOTA: ignórase o antigo ficheiro de opcións por defecto `%s'\n"
index 61be2d0..8457ca4 100644 (file)
@@ -6,9 +6,9 @@
 #, fuzzy
 msgid ""
 msgstr ""
-"Project-Id-Version: GNU gnupg 2.2.27\n"
+"Project-Id-Version: GNU gnupg 2.2.28\n"
 "Report-Msgid-Bugs-To: translations@gnupg.org\n"
-"POT-Creation-Date: 2021-01-11 18:47+0100\n"
+"POT-Creation-Date: 2021-06-10 18:59+0200\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -103,7 +103,7 @@ msgid "Passphrase:"
 msgstr ""
 
 #: agent/call-pinentry.c:1107 agent/call-pinentry.c:1359
-#: agent/command-ssh.c:3130 agent/genkey.c:416
+#: agent/command-ssh.c:3140 agent/genkey.c:416
 msgid "does not match - try again"
 msgstr ""
 
@@ -153,32 +153,32 @@ msgstr ""
 msgid "ssh keys greater than %d bits are not supported\n"
 msgstr ""
 
-#: agent/command-ssh.c:862 common/dotlock.c:852 g10/card-util.c:932
-#: g10/exec.c:546 g10/export.c:1320 g10/gpg.c:1352 g10/keygen.c:4998
-#: g10/keyring.c:1322 g10/keyring.c:1637 g10/openfile.c:291 g10/sign.c:1009
-#: g10/sign.c:1323 g10/tdbio.c:753
+#: agent/command-ssh.c:862 common/dotlock.c:852 g10/card-util.c:933
+#: g10/exec.c:554 g10/export.c:1320 g10/gpg.c:1360 g10/keygen.c:4998
+#: g10/keyring.c:1322 g10/keyring.c:1637 g10/openfile.c:291 g10/sign.c:1008
+#: g10/sign.c:1322 g10/tdbio.c:753
 #, c-format
 msgid "can't create '%s': %s\n"
 msgstr ""
 
-#: agent/command-ssh.c:874 common/helpfile.c:57 g10/card-util.c:889
+#: agent/command-ssh.c:874 common/helpfile.c:57 g10/card-util.c:890
 #: g10/dearmor.c:59 g10/dearmor.c:106 g10/decrypt.c:65 g10/decrypt.c:136
-#: g10/decrypt.c:153 g10/encrypt.c:180 g10/encrypt.c:543 g10/gpg.c:1353
-#: g10/import.c:352 g10/import.c:536 g10/import.c:764 g10/keygen.c:4036
+#: g10/decrypt.c:153 g10/encrypt.c:180 g10/encrypt.c:543 g10/gpg.c:1361
+#: g10/import.c:364 g10/import.c:548 g10/import.c:776 g10/keygen.c:4036
 #: g10/keyring.c:1663 g10/openfile.c:195 g10/openfile.c:209 g10/plaintext.c:128
-#: g10/plaintext.c:649 g10/sign.c:991 g10/sign.c:1202 g10/sign.c:1307
-#: g10/sign.c:1452 g10/tdbdump.c:143 g10/tdbdump.c:151 g10/tdbio.c:758
-#: g10/tdbio.c:829 g10/verify.c:96 g10/verify.c:160 sm/gpgsm.c:2219
-#: sm/gpgsm.c:2249 sm/gpgsm.c:2287 sm/qualified.c:66 dirmngr/certcache.c:396
+#: g10/plaintext.c:649 g10/sign.c:990 g10/sign.c:1201 g10/sign.c:1306
+#: g10/sign.c:1451 g10/tdbdump.c:143 g10/tdbdump.c:151 g10/tdbio.c:758
+#: g10/tdbio.c:829 g10/verify.c:96 g10/verify.c:160 sm/gpgsm.c:2125
+#: sm/gpgsm.c:2155 sm/gpgsm.c:2193 sm/qualified.c:66 dirmngr/certcache.c:396
 #: dirmngr/certcache.c:476 dirmngr/certcache.c:478 dirmngr/crlcache.c:2588
-#: dirmngr/dirmngr.c:1722
+#: dirmngr/dirmngr.c:1759
 #, c-format
 msgid "can't open '%s': %s\n"
 msgstr ""
 
 #: agent/command-ssh.c:2385 agent/command-ssh.c:2431 agent/command-ssh.c:2449
-#: agent/command-ssh.c:2601 g10/card-util.c:687 g10/card-util.c:708
-#: g10/skclist.c:430
+#: agent/command-ssh.c:2601 g10/card-util.c:688 g10/card-util.c:709
+#: g10/skclist.c:435
 #, c-format
 msgid "error getting serial number of card: %s\n"
 msgstr ""
@@ -203,38 +203,38 @@ msgstr ""
 msgid "error getting list of cards: %s\n"
 msgstr ""
 
-#: agent/command-ssh.c:2765
+#: agent/command-ssh.c:2775
 #, c-format
 msgid ""
 "An ssh process requested the use of key%%0A  %s%%0A  (%s)%%0ADo you want to "
 "allow this?"
 msgstr ""
 
-#: agent/command-ssh.c:2772
+#: agent/command-ssh.c:2782
 msgid "Allow"
 msgstr ""
 
-#: agent/command-ssh.c:2772
+#: agent/command-ssh.c:2782
 msgid "Deny"
 msgstr ""
 
-#: agent/command-ssh.c:2781
+#: agent/command-ssh.c:2791
 #, c-format
 msgid "Please enter the passphrase for the ssh key%%0A  %F%%0A  (%c)"
 msgstr ""
 
-#: agent/command-ssh.c:3058 agent/genkey.c:351
+#: agent/command-ssh.c:3068 agent/genkey.c:351
 msgid "Please re-enter this passphrase"
 msgstr ""
 
-#: agent/command-ssh.c:3085
+#: agent/command-ssh.c:3095
 #, c-format
 msgid ""
 "Please enter a passphrase to protect the received secret key%%0A   %s%%0A   "
 "%s%%0Awithin gpg-agent's key storage"
 msgstr ""
 
-#: agent/command-ssh.c:3667
+#: agent/command-ssh.c:3677
 #, c-format
 msgid "failed to create stream from socket: %s\n"
 msgstr ""
@@ -373,45 +373,43 @@ msgid ""
 " "
 msgstr ""
 
-#: agent/gpg-agent.c:165 scd/scdaemon.c:120 dirmngr/dirmngr.c:166
+#: agent/gpg-agent.c:165 scd/scdaemon.c:120 dirmngr/dirmngr.c:167
 msgid "run in daemon mode (background)"
 msgstr ""
 
-#: agent/gpg-agent.c:166 scd/scdaemon.c:117 dirmngr/dirmngr.c:165
+#: agent/gpg-agent.c:166 scd/scdaemon.c:117 dirmngr/dirmngr.c:166
 msgid "run in server mode (foreground)"
 msgstr ""
 
-#: agent/gpg-agent.c:168 dirmngr/dirmngr.c:168
+#: agent/gpg-agent.c:168 dirmngr/dirmngr.c:169
 msgid "run in supervised mode"
 msgstr ""
 
-#: agent/gpg-agent.c:170 g10/gpg.c:608 g10/gpgv.c:78 kbx/kbxutil.c:88
-#: scd/scdaemon.c:121 sm/gpgsm.c:310 dirmngr/dirmngr-client.c:70
-#: dirmngr/dirmngr.c:181 dirmngr/dirmngr_ldap.c:135
-#: tools/gpg-connect-agent.c:78 tools/gpgconf.c:108
+#: agent/gpg-agent.c:170 g10/gpg.c:605 g10/gpgv.c:78 kbx/kbxutil.c:88
+#: scd/scdaemon.c:121 sm/gpgsm.c:311 dirmngr/dirmngr-client.c:70
+#: dirmngr/dirmngr.c:182 tools/gpg-connect-agent.c:78 tools/gpgconf.c:108
 msgid "verbose"
 msgstr ""
 
 #: agent/gpg-agent.c:171 g10/gpgv.c:79 kbx/kbxutil.c:89 scd/scdaemon.c:122
-#: sm/gpgsm.c:311 dirmngr/dirmngr-client.c:71 dirmngr/dirmngr.c:182
-#: dirmngr/dirmngr_ldap.c:136
+#: sm/gpgsm.c:312 dirmngr/dirmngr-client.c:71 dirmngr/dirmngr.c:183
 msgid "be somewhat more quiet"
 msgstr ""
 
-#: agent/gpg-agent.c:172 scd/scdaemon.c:123 dirmngr/dirmngr.c:183
+#: agent/gpg-agent.c:172 scd/scdaemon.c:123 dirmngr/dirmngr.c:184
 msgid "sh-style command output"
 msgstr ""
 
-#: agent/gpg-agent.c:173 scd/scdaemon.c:124 dirmngr/dirmngr.c:184
+#: agent/gpg-agent.c:173 scd/scdaemon.c:124 dirmngr/dirmngr.c:185
 msgid "csh-style command output"
 msgstr ""
 
-#: agent/gpg-agent.c:174 scd/scdaemon.c:125 sm/gpgsm.c:341
-#: dirmngr/dirmngr.c:185
+#: agent/gpg-agent.c:174 scd/scdaemon.c:125 sm/gpgsm.c:344
+#: dirmngr/dirmngr.c:186
 msgid "|FILE|read options from FILE"
 msgstr ""
 
-#: agent/gpg-agent.c:183 scd/scdaemon.c:135 dirmngr/dirmngr.c:188
+#: agent/gpg-agent.c:183 scd/scdaemon.c:135 dirmngr/dirmngr.c:189
 msgid "do not detach from the console"
 msgstr ""
 
@@ -487,9 +485,9 @@ msgstr ""
 #. reporting address.  This is so that we can change the
 #. reporting address without breaking the translations.
 #: agent/gpg-agent.c:531 agent/preset-passphrase.c:100 agent/protect-tool.c:155
-#: g10/gpg.c:1070 g10/gpgv.c:149 kbx/kbxutil.c:113 scd/scdaemon.c:298
-#: sm/gpgsm.c:567 dirmngr/dirmngr-client.c:168 dirmngr/dirmngr.c:404
-#: dirmngr/dirmngr_ldap.c:207 tools/gpg-connect-agent.c:205 tools/gpgconf.c:146
+#: g10/gpg.c:1074 g10/gpgv.c:149 kbx/kbxutil.c:113 scd/scdaemon.c:299
+#: sm/gpgsm.c:570 dirmngr/dirmngr-client.c:168 dirmngr/dirmngr.c:412
+#: tools/gpg-connect-agent.c:205 tools/gpgconf.c:146
 #: tools/gpg-check-pattern.c:143
 msgid "Please report bugs to <@EMAIL@>.\n"
 msgstr ""
@@ -504,37 +502,37 @@ msgid ""
 "Secret key management for @GNUPG@\n"
 msgstr ""
 
-#: agent/gpg-agent.c:587 g10/gpg.c:1262 scd/scdaemon.c:370 sm/gpgsm.c:715
-#: dirmngr/dirmngr.c:488
+#: agent/gpg-agent.c:587 g10/gpg.c:1270 scd/scdaemon.c:371 sm/gpgsm.c:718
+#: dirmngr/dirmngr.c:496
 #, c-format
 msgid "invalid debug-level '%s' given\n"
 msgstr ""
 
-#: agent/gpg-agent.c:945 g10/gpg.c:3753 g10/gpg.c:3777 sm/gpgsm.c:1631
-#: sm/gpgsm.c:1637
+#: agent/gpg-agent.c:945 g10/gpg.c:3773 g10/gpg.c:3797 sm/gpgsm.c:1531
+#: sm/gpgsm.c:1537
 #, c-format
 msgid "selected digest algorithm is invalid\n"
 msgstr ""
 
 #: agent/gpg-agent.c:1168 agent/gpg-agent.c:2023 common/argparse.c:1755
-#: common/argparse.c:1847 g10/gpg.c:2482 scd/scdaemon.c:532 sm/gpgsm.c:1063
-#: dirmngr/dirmngr.c:956 dirmngr/dirmngr.c:1841
+#: common/argparse.c:1847 g10/gpg.c:2495 scd/scdaemon.c:533 sm/gpgsm.c:977
+#: dirmngr/dirmngr.c:994 dirmngr/dirmngr.c:1878
 #, c-format
 msgid "reading options from '%s'\n"
 msgstr ""
 
-#: agent/gpg-agent.c:1300 g10/gpg.c:3704 scd/scdaemon.c:655 sm/gpgsm.c:1571
-#: dirmngr/dirmngr.c:1067 tools/gpg-connect-agent.c:1244 tools/gpgconf.c:624
+#: agent/gpg-agent.c:1300 g10/gpg.c:3724 scd/scdaemon.c:657 sm/gpgsm.c:1471
+#: dirmngr/dirmngr.c:1102 tools/gpg-connect-agent.c:1244 tools/gpgconf.c:624
 #, c-format
 msgid "Note: '%s' is not considered an option\n"
 msgstr ""
 
-#: agent/gpg-agent.c:2159 scd/scdaemon.c:1096 dirmngr/dirmngr.c:1219
+#: agent/gpg-agent.c:2159 scd/scdaemon.c:1098 dirmngr/dirmngr.c:1256
 #, c-format
 msgid "can't create socket: %s\n"
 msgstr ""
 
-#: agent/gpg-agent.c:2176 scd/scdaemon.c:1109 dirmngr/dirmngr.c:1232
+#: agent/gpg-agent.c:2176 scd/scdaemon.c:1111 dirmngr/dirmngr.c:1269
 #, c-format
 msgid "socket name '%s' is too long\n"
 msgstr ""
@@ -544,29 +542,29 @@ msgstr ""
 msgid "a gpg-agent is already running - not starting a new one\n"
 msgstr ""
 
-#: agent/gpg-agent.c:2226 scd/scdaemon.c:1133 dirmngr/dirmngr.c:1264
+#: agent/gpg-agent.c:2226 scd/scdaemon.c:1135 dirmngr/dirmngr.c:1301
 #, c-format
 msgid "error getting nonce for the socket\n"
 msgstr ""
 
-#: agent/gpg-agent.c:2231 scd/scdaemon.c:1136 dirmngr/dirmngr.c:1267
+#: agent/gpg-agent.c:2231 scd/scdaemon.c:1138 dirmngr/dirmngr.c:1304
 #, c-format
 msgid "error binding socket to '%s': %s\n"
 msgstr ""
 
 #: agent/gpg-agent.c:2242 agent/gpg-agent.c:2282 agent/gpg-agent.c:2291
-#: scd/scdaemon.c:1144 dirmngr/dirmngr.c:1276
+#: scd/scdaemon.c:1146 dirmngr/dirmngr.c:1313
 #, c-format
 msgid "can't set permissions of '%s': %s\n"
 msgstr ""
 
-#: agent/gpg-agent.c:2256 scd/scdaemon.c:1156 dirmngr/dirmngr.c:1288
+#: agent/gpg-agent.c:2256 scd/scdaemon.c:1158 dirmngr/dirmngr.c:1325
 #, c-format
 msgid "listening on socket '%s'\n"
 msgstr ""
 
 #: agent/gpg-agent.c:2276 agent/gpg-agent.c:2329 common/homedir.c:517
-#: g10/exec.c:261 g10/openfile.c:397
+#: g10/exec.c:269 g10/openfile.c:397
 #, c-format
 msgid "can't create directory '%s': %s\n"
 msgstr ""
@@ -587,7 +585,7 @@ msgstr ""
 msgid "can't use '%s' as home directory\n"
 msgstr ""
 
-#: agent/gpg-agent.c:2502 scd/scdaemon.c:1172 dirmngr/dirmngr.c:2047
+#: agent/gpg-agent.c:2502 scd/scdaemon.c:1174 dirmngr/dirmngr.c:2084
 #, c-format
 msgid "error reading nonce on fd %d: %s\n"
 msgstr ""
@@ -612,12 +610,12 @@ msgstr ""
 msgid "ssh handler 0x%lx for fd %d terminated\n"
 msgstr ""
 
-#: agent/gpg-agent.c:3016 scd/scdaemon.c:1362 dirmngr/dirmngr.c:2261
+#: agent/gpg-agent.c:3016 scd/scdaemon.c:1366 dirmngr/dirmngr.c:2298
 #, c-format
 msgid "npth_pselect failed: %s - waiting 1s\n"
 msgstr ""
 
-#: agent/gpg-agent.c:3104 scd/scdaemon.c:1427
+#: agent/gpg-agent.c:3104 scd/scdaemon.c:1431
 #, c-format
 msgid "%s %s stopped\n"
 msgstr ""
@@ -638,15 +636,15 @@ msgid ""
 "Password cache maintenance\n"
 msgstr ""
 
-#: agent/protect-tool.c:108 g10/gpg.c:440 kbx/kbxutil.c:71 sm/gpgsm.c:204
-#: dirmngr/dirmngr.c:163 tools/gpgconf.c:78
+#: agent/protect-tool.c:108 g10/gpg.c:437 kbx/kbxutil.c:71 sm/gpgsm.c:205
+#: dirmngr/dirmngr.c:164 tools/gpgconf.c:78
 msgid ""
 "@Commands:\n"
 " "
 msgstr ""
 
-#: agent/protect-tool.c:117 g10/gpg.c:553 g10/gpgv.c:76 kbx/kbxutil.c:81
-#: sm/gpgsm.c:252 dirmngr/dirmngr.c:179 tools/gpg-connect-agent.c:76
+#: agent/protect-tool.c:117 g10/gpg.c:550 g10/gpgv.c:76 kbx/kbxutil.c:81
+#: sm/gpgsm.c:253 dirmngr/dirmngr.c:180 tools/gpg-connect-agent.c:76
 #: tools/gpgconf.c:105
 msgid ""
 "@\n"
@@ -664,11 +662,11 @@ msgid ""
 "Secret key maintenance tool\n"
 msgstr ""
 
-#: agent/protect-tool.c:703
+#: agent/protect-tool.c:703 sm/import.c:774
 msgid "Please enter the passphrase to unprotect the PKCS#12 object."
 msgstr ""
 
-#: agent/protect-tool.c:708
+#: agent/protect-tool.c:708 sm/export.c:710
 msgid "Please enter the passphrase to protect the new PKCS#12 object."
 msgstr ""
 
@@ -694,7 +692,7 @@ msgstr ""
 msgid "error while asking for the passphrase: %s\n"
 msgstr ""
 
-#: agent/trustlist.c:154 agent/trustlist.c:364 dirmngr/dirmngr.c:1629
+#: agent/trustlist.c:154 agent/trustlist.c:364 dirmngr/dirmngr.c:1666
 #: tools/gpgconf.c:418
 #, c-format
 msgid "error opening '%s': %s\n"
@@ -847,7 +845,7 @@ msgstr ""
 msgid "secret key parts are not available\n"
 msgstr ""
 
-#: agent/cvt-openpgp.c:344 g10/card-util.c:1540
+#: agent/cvt-openpgp.c:344 g10/card-util.c:1541
 #, c-format
 msgid "public key algorithm %d (%s) is not supported\n"
 msgstr ""
@@ -862,21 +860,21 @@ msgstr ""
 msgid "protection hash algorithm %d (%s) is not supported\n"
 msgstr ""
 
-#: common/exechelp-posix.c:359 common/exechelp-w32.c:449
-#: common/exechelp-w32.c:473 common/exechelp-w32.c:503
+#: common/exechelp-posix.c:359 common/exechelp-w32.c:451
+#: common/exechelp-w32.c:475 common/exechelp-w32.c:505
 #, c-format
 msgid "error creating a pipe: %s\n"
 msgstr ""
 
 #: common/exechelp-posix.c:372 common/exechelp-w32.c:355
-#: common/exechelp-w32.c:459 common/exechelp-w32.c:483
-#: common/exechelp-w32.c:513
+#: common/exechelp-w32.c:461 common/exechelp-w32.c:485
+#: common/exechelp-w32.c:515
 #, c-format
 msgid "error creating a stream for a pipe: %s\n"
 msgstr ""
 
 #: common/exechelp-posix.c:495 common/exechelp-posix.c:570
-#: common/exechelp-posix.c:851 dirmngr/dirmngr.c:1306
+#: common/exechelp-posix.c:856 dirmngr/dirmngr.c:1343
 #, c-format
 msgid "error forking process: %s\n"
 msgstr ""
@@ -886,28 +884,28 @@ msgstr ""
 msgid "waiting for process %d to terminate failed: %s\n"
 msgstr ""
 
-#: common/exechelp-posix.c:678 common/exechelp-posix.c:794
+#: common/exechelp-posix.c:678 common/exechelp-posix.c:799
 #, c-format
 msgid "error running '%s': probably not installed\n"
 msgstr ""
 
-#: common/exechelp-posix.c:684 common/exechelp-posix.c:801
-#: common/exechelp-w32.c:796 common/exechelp-w32ce.c:781
+#: common/exechelp-posix.c:684 common/exechelp-posix.c:806
+#: common/exechelp-w32.c:829 common/exechelp-w32ce.c:781
 #, c-format
 msgid "error running '%s': exit status %d\n"
 msgstr ""
 
-#: common/exechelp-posix.c:692 common/exechelp-posix.c:809
+#: common/exechelp-posix.c:692 common/exechelp-posix.c:814
 #, c-format
 msgid "error running '%s': terminated\n"
 msgstr ""
 
-#: common/exechelp-posix.c:750 common/exechelp-w32.c:777
+#: common/exechelp-posix.c:755 common/exechelp-w32.c:810
 #, c-format
 msgid "waiting for processes to terminate failed: %s\n"
 msgstr ""
 
-#: common/exechelp-w32.c:789 common/exechelp-w32ce.c:775
+#: common/exechelp-w32.c:822 common/exechelp-w32ce.c:775
 #, c-format
 msgid "error getting exit code of process %d: %s\n"
 msgstr ""
@@ -1002,7 +1000,7 @@ msgstr ""
 msgid "out of core while allocating %lu bytes"
 msgstr ""
 
-#: common/miscellaneous.c:115 g10/card-util.c:896 tools/no-libgcrypt.c:30
+#: common/miscellaneous.c:115 g10/card-util.c:897 tools/no-libgcrypt.c:30
 #, c-format
 msgid "error allocating enough memory: %s\n"
 msgstr ""
@@ -1115,7 +1113,7 @@ msgid "algorithm: %s"
 msgstr ""
 
 #: common/audit.c:774 common/audit.c:776 common/audit.c:921 common/audit.c:923
-#: scd/app-openpgp.c:3555
+#: scd/app-openpgp.c:3554
 #, c-format
 msgid "unsupported algorithm: %s"
 msgstr ""
@@ -1240,6 +1238,26 @@ msgstr ""
 msgid "invalid radix64 character %02x skipped\n"
 msgstr ""
 
+#: common/ttyio.c:433
+#, c-format
+msgid "Sorry, we are in batchmode - can't get input\n"
+msgstr ""
+
+#: common/ttyio.c:439
+#, c-format
+msgid "Sorry, no terminal at all requested - can't get input\n"
+msgstr ""
+
+#: common/ttyio.c:474 common/ttyio.c:484
+#, c-format
+msgid "too many errors; giving up\n"
+msgstr ""
+
+#: common/ttyio.c:536
+#, c-format
+msgid "Control-D detected\n"
+msgstr ""
+
 #: common/argparse.c:520
 msgid "argument not expected"
 msgstr ""
@@ -1297,7 +1315,7 @@ msgstr ""
 msgid "missing argument for option \"%.50s\"\n"
 msgstr ""
 
-#: common/argparse.c:558 g10/gpg.c:3490
+#: common/argparse.c:558 g10/gpg.c:3510
 #, c-format
 msgid "invalid argument for option \"%.50s\"\n"
 msgstr ""
@@ -1367,31 +1385,31 @@ msgstr ""
 msgid "error writing to '%s': %s\n"
 msgstr ""
 
-#: common/dotlock.c:1129
+#: common/dotlock.c:1137
 #, c-format
 msgid "removing stale lockfile (created by %d)\n"
 msgstr ""
 
-#: common/dotlock.c:1165
+#: common/dotlock.c:1173
 #, c-format
 msgid "waiting for lock (held by %d%s) %s...\n"
 msgstr ""
 
-#: common/dotlock.c:1166
+#: common/dotlock.c:1174
 msgid "(deadlock?) "
 msgstr ""
 
-#: common/dotlock.c:1205
+#: common/dotlock.c:1213
 #, c-format
 msgid "lock '%s' not made: %s\n"
 msgstr ""
 
-#: common/dotlock.c:1232
+#: common/dotlock.c:1240
 #, c-format
 msgid "waiting for lock %s...\n"
 msgstr ""
 
-#: common/init.c:185 sm/gpgsm.c:949 dirmngr/dirmngr.c:862 dirmngr/dirmngr.c:871
+#: common/init.c:191 sm/gpgsm.c:863 dirmngr/dirmngr.c:900 dirmngr/dirmngr.c:909
 #, c-format
 msgid "%s is too old (need %s, have %s)\n"
 msgstr ""
@@ -1569,12 +1587,12 @@ msgid "Note: Use the command \"%s\" to restart them.\n"
 msgstr ""
 
 #: g10/call-agent.c:318 g10/encrypt.c:154 g10/encrypt.c:620 g10/sign.c:412
-#: sm/call-agent.c:205 sm/encrypt.c:425 sm/sign.c:345
+#: sm/call-agent.c:205 sm/encrypt.c:426 sm/sign.c:345
 #, c-format
 msgid "%s is not compliant with %s mode\n"
 msgstr ""
 
-#: g10/call-dirmngr.c:209 sm/call-dirmngr.c:268 tools/gpg-connect-agent.c:2253
+#: g10/call-dirmngr.c:209 sm/call-dirmngr.c:269 tools/gpg-connect-agent.c:2253
 #, c-format
 msgid "no dirmngr running in this session\n"
 msgstr ""
@@ -1612,22 +1630,22 @@ msgstr ""
 msgid "server uses an invalid certificate"
 msgstr ""
 
-#: g10/call-dirmngr.c:437 g10/gpg.c:4400
+#: g10/call-dirmngr.c:437 g10/gpg.c:4421
 #, c-format
 msgid "Note: %s\n"
 msgstr ""
 
-#: g10/card-util.c:86 g10/card-util.c:366 g10/card-util.c:1902
+#: g10/card-util.c:86 g10/card-util.c:366 g10/card-util.c:1903
 #, c-format
 msgid "OpenPGP card not available: %s\n"
 msgstr ""
 
-#: g10/card-util.c:91 g10/card-util.c:1908
+#: g10/card-util.c:91 g10/card-util.c:1909
 #, c-format
 msgid "OpenPGP card no. %s detected\n"
 msgstr ""
 
-#: g10/card-util.c:97 g10/card-util.c:2237 g10/delkey.c:160 g10/keyedit.c:1422
+#: g10/card-util.c:97 g10/card-util.c:2238 g10/delkey.c:160 g10/keyedit.c:1423
 #: g10/keygen.c:4466 g10/revoke.c:214 g10/revoke.c:636
 #, c-format
 msgid "can't do this in batch mode\n"
@@ -1638,13 +1656,13 @@ msgstr ""
 msgid "This command is only available for version 2 cards\n"
 msgstr ""
 
-#: g10/card-util.c:107 scd/app-openpgp.c:2864
+#: g10/card-util.c:107 scd/app-openpgp.c:2863
 #, c-format
 msgid "Reset Code not or not anymore available\n"
 msgstr ""
 
-#: g10/card-util.c:140 g10/card-util.c:1426 g10/card-util.c:1688
-#: g10/card-util.c:1780 g10/keyedit.c:394 g10/keyedit.c:415 g10/keyedit.c:429
+#: g10/card-util.c:140 g10/card-util.c:1427 g10/card-util.c:1689
+#: g10/card-util.c:1781 g10/keyedit.c:394 g10/keyedit.c:415 g10/keyedit.c:429
 #: g10/keygen.c:1808 g10/keygen.c:1980 g10/keygen.c:2186 g10/keygen.c:2477
 #: sm/certreqgen-ui.c:165 sm/certreqgen-ui.c:291 sm/certreqgen-ui.c:325
 msgid "Your selection? "
@@ -1670,201 +1688,201 @@ msgstr ""
 msgid "forced"
 msgstr ""
 
-#: g10/card-util.c:749
+#: g10/card-util.c:750
 msgid "Error: Only plain ASCII is currently allowed.\n"
 msgstr ""
 
-#: g10/card-util.c:751
+#: g10/card-util.c:752
 msgid "Error: The \"<\" character may not be used.\n"
 msgstr ""
 
-#: g10/card-util.c:753
+#: g10/card-util.c:754
 msgid "Error: Double spaces are not allowed.\n"
 msgstr ""
 
-#: g10/card-util.c:770
+#: g10/card-util.c:771
 msgid "Cardholder's surname: "
 msgstr ""
 
-#: g10/card-util.c:772
+#: g10/card-util.c:773
 msgid "Cardholder's given name: "
 msgstr ""
 
-#: g10/card-util.c:790
+#: g10/card-util.c:791
 #, c-format
 msgid "Error: Combined name too long (limit is %d characters).\n"
 msgstr ""
 
-#: g10/card-util.c:811
+#: g10/card-util.c:812
 msgid "URL to retrieve public key: "
 msgstr ""
 
-#: g10/card-util.c:905 g10/decrypt-data.c:490 g10/import.c:387 g10/import.c:734
-#: g10/import.c:786 dirmngr/crlcache.c:655 dirmngr/crlcache.c:660
-#: dirmngr/crlcache.c:914 dirmngr/crlcache.c:920 dirmngr/dirmngr.c:1668
+#: g10/card-util.c:906 g10/decrypt-data.c:490 g10/import.c:399 g10/import.c:746
+#: g10/import.c:798 dirmngr/crlcache.c:655 dirmngr/crlcache.c:660
+#: dirmngr/crlcache.c:914 dirmngr/crlcache.c:920 dirmngr/dirmngr.c:1705
 #: tools/gpgconf.c:431 tools/gpgconf.c:477
 #, c-format
 msgid "error reading '%s': %s\n"
 msgstr ""
 
-#: g10/card-util.c:938 g10/decrypt-data.c:493 g10/export.c:2467
+#: g10/card-util.c:939 g10/decrypt-data.c:493 g10/export.c:2467
 #: dirmngr/crlcache.c:925
 #, c-format
 msgid "error writing '%s': %s\n"
 msgstr ""
 
-#: g10/card-util.c:965
+#: g10/card-util.c:966
 msgid "Login data (account name): "
 msgstr ""
 
-#: g10/card-util.c:1003
+#: g10/card-util.c:1004
 msgid "Private DO data: "
 msgstr ""
 
-#: g10/card-util.c:1088
+#: g10/card-util.c:1089
 msgid "Language preferences: "
 msgstr ""
 
-#: g10/card-util.c:1096
+#: g10/card-util.c:1097
 msgid "Error: invalid length of preference string.\n"
 msgstr ""
 
-#: g10/card-util.c:1105
+#: g10/card-util.c:1106
 msgid "Error: invalid characters in preference string.\n"
 msgstr ""
 
-#: g10/card-util.c:1127
+#: g10/card-util.c:1128
 msgid "Salutation (M = Mr., F = Ms., or space): "
 msgstr ""
 
-#: g10/card-util.c:1141
+#: g10/card-util.c:1142
 msgid "Error: invalid response.\n"
 msgstr ""
 
-#: g10/card-util.c:1163
+#: g10/card-util.c:1164
 msgid "CA fingerprint: "
 msgstr ""
 
-#: g10/card-util.c:1186
+#: g10/card-util.c:1187
 msgid "Error: invalid formatted fingerprint.\n"
 msgstr ""
 
-#: g10/card-util.c:1236
+#: g10/card-util.c:1237
 #, c-format
 msgid "key operation not possible: %s\n"
 msgstr ""
 
-#: g10/card-util.c:1237
+#: g10/card-util.c:1238
 msgid "not an OpenPGP card"
 msgstr ""
 
-#: g10/card-util.c:1250 g10/keygen.c:4486 g10/keygen.c:5565
+#: g10/card-util.c:1251 g10/keygen.c:4486 g10/keygen.c:5565
 #, c-format
 msgid "error getting current key info: %s\n"
 msgstr ""
 
-#: g10/card-util.c:1335
+#: g10/card-util.c:1336
 msgid "Replace existing key? (y/N) "
 msgstr ""
 
-#: g10/card-util.c:1352
+#: g10/card-util.c:1353
 msgid ""
 "Note: There is no guarantee that the card supports the requested size.\n"
 "      If the key generation does not succeed, please check the\n"
 "      documentation of your card to see what sizes are allowed.\n"
 msgstr ""
 
-#: g10/card-util.c:1374 g10/keygen.c:2363 sm/certreqgen-ui.c:179
+#: g10/card-util.c:1375 g10/keygen.c:2363 sm/certreqgen-ui.c:179
 #, c-format
 msgid "What keysize do you want? (%u) "
 msgstr ""
 
-#: g10/card-util.c:1384 g10/keygen.c:2286 g10/keygen.c:2318
+#: g10/card-util.c:1385 g10/keygen.c:2286 g10/keygen.c:2318
 #: sm/certreqgen-ui.c:194
 #, c-format
 msgid "rounded up to %u bits\n"
 msgstr ""
 
-#: g10/card-util.c:1392 g10/keygen.c:2371 sm/certreqgen-ui.c:184
+#: g10/card-util.c:1393 g10/keygen.c:2371 sm/certreqgen-ui.c:184
 #, c-format
 msgid "%s keysizes must be in the range %u-%u\n"
 msgstr ""
 
-#: g10/card-util.c:1411
+#: g10/card-util.c:1412
 msgid "Changing card key attribute for: "
 msgstr ""
 
-#: g10/card-util.c:1413
+#: g10/card-util.c:1414
 msgid "Signature key\n"
 msgstr ""
 
-#: g10/card-util.c:1415
+#: g10/card-util.c:1416
 msgid "Encryption key\n"
 msgstr ""
 
-#: g10/card-util.c:1417
+#: g10/card-util.c:1418
 msgid "Authentication key\n"
 msgstr ""
 
-#: g10/card-util.c:1419 g10/keygen.c:1926 sm/certreqgen-ui.c:157
+#: g10/card-util.c:1420 g10/keygen.c:1926 sm/certreqgen-ui.c:157
 msgid "Please select what kind of key you want:\n"
 msgstr ""
 
-#: g10/card-util.c:1420 sm/certreqgen-ui.c:158
+#: g10/card-util.c:1421 sm/certreqgen-ui.c:158
 #, c-format
 msgid "   (%d) RSA\n"
 msgstr ""
 
-#: g10/card-util.c:1421
+#: g10/card-util.c:1422
 #, c-format
 msgid "   (%d) ECC\n"
 msgstr ""
 
-#: g10/card-util.c:1433 g10/card-util.c:1700 g10/card-util.c:1800
-#: g10/keyedit.c:899 g10/keygen.c:1834 g10/keygen.c:1862 g10/keygen.c:1987
+#: g10/card-util.c:1434 g10/card-util.c:1701 g10/card-util.c:1801
+#: g10/keyedit.c:900 g10/keygen.c:1834 g10/keygen.c:1862 g10/keygen.c:1987
 #: g10/keygen.c:2222 g10/keygen.c:2505 g10/revoke.c:838
 msgid "Invalid selection.\n"
 msgstr ""
 
-#: g10/card-util.c:1506
+#: g10/card-util.c:1507
 #, c-format
 msgid "The card will now be re-configured to generate a key of %u bits\n"
 msgstr ""
 
-#: g10/card-util.c:1511
+#: g10/card-util.c:1512
 #, c-format
 msgid "The card will now be re-configured to generate a key of type: %s\n"
 msgstr ""
 
-#: g10/card-util.c:1547
+#: g10/card-util.c:1548
 #, c-format
 msgid "error changing key attribute for key %d: %s\n"
 msgstr ""
 
-#: g10/card-util.c:1563 g10/card-util.c:2090
+#: g10/card-util.c:1564 g10/card-util.c:2091
 #, c-format
 msgid "error getting card info: %s\n"
 msgstr ""
 
-#: g10/card-util.c:1569 g10/card-util.c:1914 g10/card-util.c:2096
+#: g10/card-util.c:1570 g10/card-util.c:1915 g10/card-util.c:2097
 #, c-format
 msgid "This command is not supported by this card\n"
 msgstr ""
 
-#: g10/card-util.c:1615
+#: g10/card-util.c:1616
 msgid "Make off-card backup of encryption key? (Y/n) "
 msgstr ""
 
-#: g10/card-util.c:1629
+#: g10/card-util.c:1630
 #, c-format
 msgid "Note: keys are already stored on the card!\n"
 msgstr ""
 
-#: g10/card-util.c:1632
+#: g10/card-util.c:1633
 msgid "Replace existing keys? (y/N) "
 msgstr ""
 
-#: g10/card-util.c:1644
+#: g10/card-util.c:1645
 #, c-format
 msgid ""
 "Please note that the factory settings of the PINs are\n"
@@ -1872,142 +1890,142 @@ msgid ""
 "You should change them using the command --change-pin\n"
 msgstr ""
 
-#: g10/card-util.c:1679
+#: g10/card-util.c:1680
 msgid "Please select the type of key to generate:\n"
 msgstr ""
 
-#: g10/card-util.c:1681 g10/card-util.c:1771
+#: g10/card-util.c:1682 g10/card-util.c:1772
 msgid "   (1) Signature key\n"
 msgstr ""
 
-#: g10/card-util.c:1682 g10/card-util.c:1773
+#: g10/card-util.c:1683 g10/card-util.c:1774
 msgid "   (2) Encryption key\n"
 msgstr ""
 
-#: g10/card-util.c:1683 g10/card-util.c:1775
+#: g10/card-util.c:1684 g10/card-util.c:1776
 msgid "   (3) Authentication key\n"
 msgstr ""
 
-#: g10/card-util.c:1768
+#: g10/card-util.c:1769
 msgid "Please select where to store the key:\n"
 msgstr ""
 
-#: g10/card-util.c:1814
+#: g10/card-util.c:1815
 #, c-format
 msgid "KEYTOCARD failed: %s\n"
 msgstr ""
 
-#: g10/card-util.c:1919
+#: g10/card-util.c:1920
 #, c-format
 msgid "Note: This command destroys all keys stored on the card!\n"
 msgstr ""
 
-#: g10/card-util.c:1922
+#: g10/card-util.c:1923
 msgid "Continue? (y/N) "
 msgstr ""
 
-#: g10/card-util.c:1927
+#: g10/card-util.c:1928
 msgid "Really do a factory reset? (enter \"yes\") "
 msgstr ""
 
-#: g10/card-util.c:2113
+#: g10/card-util.c:2114
 #, c-format
 msgid "error for setup KDF: %s\n"
 msgstr ""
 
-#: g10/card-util.c:2142 g10/keyedit.c:1259
+#: g10/card-util.c:2143 g10/keyedit.c:1260
 msgid "quit this menu"
 msgstr ""
 
-#: g10/card-util.c:2144
+#: g10/card-util.c:2145
 msgid "show admin commands"
 msgstr ""
 
-#: g10/card-util.c:2145 g10/keyedit.c:1262
+#: g10/card-util.c:2146 g10/keyedit.c:1263
 msgid "show this help"
 msgstr ""
 
-#: g10/card-util.c:2147
+#: g10/card-util.c:2148
 msgid "list all available data"
 msgstr ""
 
-#: g10/card-util.c:2150
+#: g10/card-util.c:2151
 msgid "change card holder's name"
 msgstr ""
 
-#: g10/card-util.c:2151
+#: g10/card-util.c:2152
 msgid "change URL to retrieve key"
 msgstr ""
 
-#: g10/card-util.c:2152
+#: g10/card-util.c:2153
 msgid "fetch the key specified in the card URL"
 msgstr ""
 
-#: g10/card-util.c:2153
+#: g10/card-util.c:2154
 msgid "change the login name"
 msgstr ""
 
-#: g10/card-util.c:2154
+#: g10/card-util.c:2155
 msgid "change the language preferences"
 msgstr ""
 
-#: g10/card-util.c:2155
+#: g10/card-util.c:2156
 msgid "change card holder's salutation"
 msgstr ""
 
-#: g10/card-util.c:2157
+#: g10/card-util.c:2158
 msgid "change a CA fingerprint"
 msgstr ""
 
-#: g10/card-util.c:2158
+#: g10/card-util.c:2159
 msgid "toggle the signature force PIN flag"
 msgstr ""
 
-#: g10/card-util.c:2159
+#: g10/card-util.c:2160
 msgid "generate new keys"
 msgstr ""
 
-#: g10/card-util.c:2160
+#: g10/card-util.c:2161
 msgid "menu to change or unblock the PIN"
 msgstr ""
 
-#: g10/card-util.c:2161
+#: g10/card-util.c:2162
 msgid "verify the PIN and list all data"
 msgstr ""
 
-#: g10/card-util.c:2162
+#: g10/card-util.c:2163
 msgid "unblock the PIN using a Reset Code"
 msgstr ""
 
-#: g10/card-util.c:2163
+#: g10/card-util.c:2164
 msgid "destroy all keys and data"
 msgstr ""
 
-#: g10/card-util.c:2164
+#: g10/card-util.c:2165
 msgid "setup KDF for PIN authentication"
 msgstr ""
 
-#: g10/card-util.c:2165
+#: g10/card-util.c:2166
 msgid "change the key attribute"
 msgstr ""
 
-#: g10/card-util.c:2289
+#: g10/card-util.c:2290
 msgid "gpg/card> "
 msgstr ""
 
-#: g10/card-util.c:2330
+#: g10/card-util.c:2331
 msgid "Admin-only command\n"
 msgstr ""
 
-#: g10/card-util.c:2361
+#: g10/card-util.c:2362
 msgid "Admin commands are allowed\n"
 msgstr ""
 
-#: g10/card-util.c:2363
+#: g10/card-util.c:2364
 msgid "Admin commands are not allowed\n"
 msgstr ""
 
-#: g10/card-util.c:2466 g10/keyedit.c:2228
+#: g10/card-util.c:2467 g10/keyedit.c:2229
 msgid "Invalid command  (try \"help\")\n"
 msgstr ""
 
@@ -2016,21 +2034,21 @@ msgstr ""
 msgid "--output doesn't work for this command\n"
 msgstr ""
 
-#: g10/decrypt.c:247 g10/gpg.c:5083 g10/keyring.c:399 g10/keyring.c:750
+#: g10/decrypt.c:247 g10/gpg.c:5104 g10/keyring.c:399 g10/keyring.c:750
 #, c-format
 msgid "can't open '%s'\n"
 msgstr ""
 
 #: g10/delkey.c:83 g10/export.c:1947 g10/export.c:2230 g10/export.c:2351
-#: g10/getkey.c:1964 g10/gpg.c:5028 g10/keyedit.c:1444 g10/keyedit.c:2334
-#: g10/keyedit.c:2580 g10/keyedit.c:4543 g10/keylist.c:689 g10/keyserver.c:1259
+#: g10/getkey.c:2108 g10/gpg.c:5049 g10/keyedit.c:1445 g10/keyedit.c:2335
+#: g10/keyedit.c:2581 g10/keyedit.c:4544 g10/keylist.c:689 g10/keyserver.c:1092
 #: g10/revoke.c:230 g10/tofu.c:2165
 #, c-format
 msgid "key \"%s\" not found: %s\n"
 msgstr ""
 
-#: g10/delkey.c:92 g10/export.c:2015 g10/getkey.c:1972 g10/getkey.c:4346
-#: g10/gpg.c:5037 g10/keyedit.c:2307 g10/keyserver.c:1277 g10/revoke.c:236
+#: g10/delkey.c:92 g10/export.c:2015 g10/getkey.c:2116 g10/getkey.c:4517
+#: g10/gpg.c:5058 g10/keyedit.c:2308 g10/keyserver.c:1110 g10/revoke.c:236
 #: g10/revoke.c:663 g10/tofu.c:2173
 #, c-format
 msgid "error reading keyblock: %s\n"
@@ -2088,9 +2106,9 @@ msgstr ""
 msgid "subkey"
 msgstr ""
 
-#: g10/delkey.c:299 g10/keyedit.c:2200 g10/keyedit.c:2210 g10/keyedit.c:2387
-#: g10/keyedit.c:2461 g10/keyedit.c:2532 g10/keyedit.c:2757 g10/keyedit.c:2987
-#: g10/keyedit.c:3056 g10/keyedit.c:3207
+#: g10/delkey.c:299 g10/keyedit.c:2201 g10/keyedit.c:2211 g10/keyedit.c:2388
+#: g10/keyedit.c:2462 g10/keyedit.c:2533 g10/keyedit.c:2758 g10/keyedit.c:2988
+#: g10/keyedit.c:3057 g10/keyedit.c:3208
 #, c-format
 msgid "update failed: %s\n"
 msgstr ""
@@ -2115,7 +2133,7 @@ msgstr ""
 msgid "use option \"--delete-secret-keys\" to delete it first.\n"
 msgstr ""
 
-#: g10/encrypt.c:202 g10/sign.c:1471
+#: g10/encrypt.c:202 g10/sign.c:1470
 #, c-format
 msgid "error creating passphrase: %s\n"
 msgstr ""
@@ -2140,14 +2158,14 @@ msgstr ""
 msgid "WARNING: '%s' is an empty file\n"
 msgstr ""
 
-#: g10/encrypt.c:387 g10/encrypt.c:610 g10/decrypt-data.c:260 g10/gpg.c:3901
-#: g10/gpg.c:3941 sm/decrypt.c:364 sm/encrypt.c:415 sm/gpgsm.c:1655
+#: g10/encrypt.c:387 g10/encrypt.c:610 g10/decrypt-data.c:260 g10/gpg.c:3922
+#: g10/gpg.c:3962 sm/decrypt.c:826 sm/encrypt.c:416 sm/gpgsm.c:1555
 #, c-format
 msgid "cipher algorithm '%s' may not be used in %s mode\n"
 msgstr ""
 
-#: g10/encrypt.c:396 g10/gpg.c:3907 g10/gpg.c:3953 g10/sig-check.c:146
-#: g10/sign.c:391 sm/gpgsm.c:1665 sm/gpgsm.c:1675 sm/sign.c:478 sm/verify.c:506
+#: g10/encrypt.c:396 g10/gpg.c:3928 g10/gpg.c:3974 g10/sig-check.c:146
+#: g10/sign.c:391 sm/gpgsm.c:1565 sm/gpgsm.c:1575 sm/sign.c:478 sm/verify.c:506
 #, c-format
 msgid "digest algorithm '%s' may not be used in %s mode\n"
 msgstr ""
@@ -2163,12 +2181,12 @@ msgid ""
 "WARNING: forcing symmetric cipher %s (%d) violates recipient preferences\n"
 msgstr ""
 
-#: g10/encrypt.c:640 sm/encrypt.c:490
+#: g10/encrypt.c:640 sm/encrypt.c:491
 #, c-format
 msgid "WARNING: key %s is not suitable for encryption in %s mode\n"
 msgstr ""
 
-#: g10/encrypt.c:751 g10/sign.c:1163
+#: g10/encrypt.c:751 g10/sign.c:1162
 #, c-format
 msgid ""
 "WARNING: forcing compression algorithm %s (%d) violates recipient "
@@ -2195,12 +2213,12 @@ msgstr ""
 msgid "%s encrypted data\n"
 msgstr ""
 
-#: g10/decrypt-data.c:243 g10/mainproc.c:396
+#: g10/decrypt-data.c:243 g10/mainproc.c:397
 #, c-format
 msgid "encrypted with unknown algorithm %d\n"
 msgstr ""
 
-#: g10/decrypt-data.c:357 g10/decrypt-data.c:410 sm/decrypt.c:130
+#: g10/decrypt-data.c:357 g10/decrypt-data.c:410 sm/decrypt.c:550
 #, c-format
 msgid ""
 "WARNING: message was encrypted with a weak key in the symmetric cipher.\n"
@@ -2216,53 +2234,53 @@ msgstr ""
 msgid "no remote program execution supported\n"
 msgstr ""
 
-#: g10/exec.c:381
+#: g10/exec.c:389
 #, c-format
 msgid ""
 "external program calls are disabled due to unsafe options file permissions\n"
 msgstr ""
 
-#: g10/exec.c:411
+#: g10/exec.c:419
 #, c-format
 msgid "this platform requires temporary files when calling external programs\n"
 msgstr ""
 
-#: g10/exec.c:489
+#: g10/exec.c:497
 #, c-format
 msgid "unable to execute program '%s': %s\n"
 msgstr ""
 
-#: g10/exec.c:492
+#: g10/exec.c:500
 #, c-format
 msgid "unable to execute shell '%s': %s\n"
 msgstr ""
 
-#: g10/exec.c:583
+#: g10/exec.c:591
 #, c-format
 msgid "system error while calling external program: %s\n"
 msgstr ""
 
-#: g10/exec.c:594 g10/exec.c:661
+#: g10/exec.c:602 g10/exec.c:669
 #, c-format
 msgid "unnatural exit of external program\n"
 msgstr ""
 
-#: g10/exec.c:609
+#: g10/exec.c:617
 #, c-format
 msgid "unable to execute external program\n"
 msgstr ""
 
-#: g10/exec.c:626
+#: g10/exec.c:634
 #, c-format
 msgid "unable to read external program response: %s\n"
 msgstr ""
 
-#: g10/exec.c:672 g10/exec.c:679
+#: g10/exec.c:680 g10/exec.c:687
 #, c-format
 msgid "WARNING: unable to remove tempfile (%s) '%s': %s\n"
 msgstr ""
 
-#: g10/exec.c:684
+#: g10/exec.c:692
 #, c-format
 msgid "WARNING: unable to remove temp directory '%s': %s\n"
 msgstr ""
@@ -2295,8 +2313,8 @@ msgstr ""
 msgid " - skipped"
 msgstr ""
 
-#: g10/export.c:1324 g10/import.c:2073 g10/openfile.c:200 g10/openfile.c:294
-#: g10/sign.c:1013 g10/sign.c:1327
+#: g10/export.c:1324 g10/import.c:2085 g10/openfile.c:200 g10/openfile.c:294
+#: g10/sign.c:1012 g10/sign.c:1326
 #, c-format
 msgid "writing to '%s'\n"
 msgstr ""
@@ -2331,272 +2349,272 @@ msgstr ""
 msgid "[User ID not found]"
 msgstr ""
 
-#: g10/getkey.c:1297
+#: g10/getkey.c:1441
 #, c-format
 msgid "automatically retrieved '%s' via %s\n"
 msgstr ""
 
-#: g10/getkey.c:1303
+#: g10/getkey.c:1447
 #, c-format
 msgid "error retrieving '%s' via %s: %s\n"
 msgstr ""
 
-#: g10/getkey.c:1305
+#: g10/getkey.c:1449
 msgid "No fingerprint"
 msgstr ""
 
-#: g10/getkey.c:1526
+#: g10/getkey.c:1670
 #, c-format
 msgid "checking for a fresh copy of an expired key via %s\n"
 msgstr ""
 
-#: g10/getkey.c:1941 g10/revoke.c:655 g10/revoke.c:720
+#: g10/getkey.c:2085 g10/revoke.c:655 g10/revoke.c:720
 #, c-format
 msgid "secret key \"%s\" not found: %s\n"
 msgstr ""
 
-#: g10/getkey.c:1944 g10/pkclist.c:988
+#: g10/getkey.c:2088 g10/pkclist.c:988
 #, c-format
 msgid "(check argument of option '%s')\n"
 msgstr ""
 
-#: g10/getkey.c:2020
+#: g10/getkey.c:2164
 #, c-format
 msgid "Warning: not using '%s' as default key: %s\n"
 msgstr ""
 
-#: g10/getkey.c:2028
+#: g10/getkey.c:2172
 #, c-format
 msgid "using \"%s\" as default secret key for signing\n"
 msgstr ""
 
-#: g10/getkey.c:2035
+#: g10/getkey.c:2179
 #, c-format
 msgid "all values passed to '%s' ignored\n"
 msgstr ""
 
-#: g10/getkey.c:2880
+#: g10/getkey.c:3024
 #, c-format
 msgid "Invalid key %s made valid by --allow-non-selfsigned-uid\n"
 msgstr ""
 
-#: g10/getkey.c:3730
+#: g10/getkey.c:3874
 #, c-format
 msgid "using subkey %s instead of primary key %s\n"
 msgstr ""
 
-#: g10/getkey.c:4275 g10/gpg.c:2107
+#: g10/getkey.c:4446 g10/gpg.c:2120
 #, c-format
 msgid "valid values for option '%s':\n"
 msgstr ""
 
-#: g10/gpg.c:442 sm/gpgsm.c:206
+#: g10/gpg.c:439 sm/gpgsm.c:207
 msgid "make a signature"
 msgstr ""
 
-#: g10/gpg.c:443
+#: g10/gpg.c:440
 msgid "make a clear text signature"
 msgstr ""
 
-#: g10/gpg.c:445 sm/gpgsm.c:208
+#: g10/gpg.c:442 sm/gpgsm.c:209
 msgid "make a detached signature"
 msgstr ""
 
-#: g10/gpg.c:446 sm/gpgsm.c:209
+#: g10/gpg.c:443 sm/gpgsm.c:210
 msgid "encrypt data"
 msgstr ""
 
-#: g10/gpg.c:448
+#: g10/gpg.c:445
 msgid "encryption only with symmetric cipher"
 msgstr ""
 
-#: g10/gpg.c:450 sm/gpgsm.c:211
+#: g10/gpg.c:447 sm/gpgsm.c:212
 msgid "decrypt data (default)"
 msgstr ""
 
-#: g10/gpg.c:452 sm/gpgsm.c:212
+#: g10/gpg.c:449 sm/gpgsm.c:213
 msgid "verify a signature"
 msgstr ""
 
-#: g10/gpg.c:454 sm/gpgsm.c:213
+#: g10/gpg.c:451 sm/gpgsm.c:214
 msgid "list keys"
 msgstr ""
 
-#: g10/gpg.c:456
+#: g10/gpg.c:453
 msgid "list keys and signatures"
 msgstr ""
 
-#: g10/gpg.c:459
+#: g10/gpg.c:456
 msgid "list and check key signatures"
 msgstr ""
 
-#: g10/gpg.c:461 sm/gpgsm.c:218
+#: g10/gpg.c:458 sm/gpgsm.c:219
 msgid "list keys and fingerprints"
 msgstr ""
 
-#: g10/gpg.c:462 sm/gpgsm.c:216
+#: g10/gpg.c:459 sm/gpgsm.c:217
 msgid "list secret keys"
 msgstr ""
 
-#: g10/gpg.c:464 sm/gpgsm.c:219
+#: g10/gpg.c:461 sm/gpgsm.c:220
 msgid "generate a new key pair"
 msgstr ""
 
-#: g10/gpg.c:467
+#: g10/gpg.c:464
 msgid "quickly generate a new key pair"
 msgstr ""
 
-#: g10/gpg.c:470
+#: g10/gpg.c:467
 msgid "quickly add a new user-id"
 msgstr ""
 
-#: g10/gpg.c:475
+#: g10/gpg.c:472
 msgid "quickly revoke a user-id"
 msgstr ""
 
-#: g10/gpg.c:478
+#: g10/gpg.c:475
 msgid "quickly set a new expiration date"
 msgstr ""
 
-#: g10/gpg.c:481
+#: g10/gpg.c:478
 msgid "full featured key pair generation"
 msgstr ""
 
-#: g10/gpg.c:484
+#: g10/gpg.c:481
 msgid "generate a revocation certificate"
 msgstr ""
 
-#: g10/gpg.c:487 sm/gpgsm.c:222
+#: g10/gpg.c:484 sm/gpgsm.c:223
 msgid "remove keys from the public keyring"
 msgstr ""
 
-#: g10/gpg.c:489
+#: g10/gpg.c:486
 msgid "remove keys from the secret keyring"
 msgstr ""
 
-#: g10/gpg.c:491
+#: g10/gpg.c:488
 msgid "quickly sign a key"
 msgstr ""
 
-#: g10/gpg.c:493
+#: g10/gpg.c:490
 msgid "quickly sign a key locally"
 msgstr ""
 
-#: g10/gpg.c:495
+#: g10/gpg.c:492
 msgid "quickly revoke a key signature"
 msgstr ""
 
-#: g10/gpg.c:496
+#: g10/gpg.c:493
 msgid "sign a key"
 msgstr ""
 
-#: g10/gpg.c:497
+#: g10/gpg.c:494
 msgid "sign a key locally"
 msgstr ""
 
-#: g10/gpg.c:498
+#: g10/gpg.c:495
 msgid "sign or edit a key"
 msgstr ""
 
-#: g10/gpg.c:500 sm/gpgsm.c:240
+#: g10/gpg.c:497 sm/gpgsm.c:241
 msgid "change a passphrase"
 msgstr ""
 
-#: g10/gpg.c:504
+#: g10/gpg.c:501
 msgid "export keys"
 msgstr ""
 
-#: g10/gpg.c:505
+#: g10/gpg.c:502
 msgid "export keys to a keyserver"
 msgstr ""
 
-#: g10/gpg.c:506
+#: g10/gpg.c:503
 msgid "import keys from a keyserver"
 msgstr ""
 
-#: g10/gpg.c:509
+#: g10/gpg.c:506
 msgid "search for keys on a keyserver"
 msgstr ""
 
-#: g10/gpg.c:511
+#: g10/gpg.c:508
 msgid "update all keys from a keyserver"
 msgstr ""
 
-#: g10/gpg.c:519
+#: g10/gpg.c:516
 msgid "import/merge keys"
 msgstr ""
 
-#: g10/gpg.c:522
+#: g10/gpg.c:519
 msgid "print the card status"
 msgstr ""
 
-#: g10/gpg.c:523
+#: g10/gpg.c:520
 msgid "change data on a card"
 msgstr ""
 
-#: g10/gpg.c:525
+#: g10/gpg.c:522
 msgid "change a card's PIN"
 msgstr ""
 
-#: g10/gpg.c:537
+#: g10/gpg.c:534
 msgid "update the trust database"
 msgstr ""
 
-#: g10/gpg.c:546
+#: g10/gpg.c:543
 msgid "print message digests"
 msgstr ""
 
-#: g10/gpg.c:549 sm/gpgsm.c:235
+#: g10/gpg.c:546 sm/gpgsm.c:236
 msgid "run in server mode"
 msgstr ""
 
-#: g10/gpg.c:551
+#: g10/gpg.c:548
 msgid "|VALUE|set the TOFU policy for a key"
 msgstr ""
 
-#: g10/gpg.c:555 sm/gpgsm.c:254
+#: g10/gpg.c:552 sm/gpgsm.c:255
 msgid "create ascii armored output"
 msgstr ""
 
-#: g10/gpg.c:558 sm/gpgsm.c:271
+#: g10/gpg.c:555 sm/gpgsm.c:272
 msgid "|USER-ID|encrypt for USER-ID"
 msgstr ""
 
-#: g10/gpg.c:574 sm/gpgsm.c:307
+#: g10/gpg.c:571 sm/gpgsm.c:308
 msgid "|USER-ID|use USER-ID to sign or decrypt"
 msgstr ""
 
-#: g10/gpg.c:580
+#: g10/gpg.c:577
 msgid "|N|set compress level to N (0 disables)"
 msgstr ""
 
-#: g10/gpg.c:587
+#: g10/gpg.c:584
 msgid "use canonical text mode"
 msgstr ""
 
-#: g10/gpg.c:604 g10/gpgv.c:82 sm/gpgsm.c:309
+#: g10/gpg.c:601 g10/gpgv.c:82 sm/gpgsm.c:310
 msgid "|FILE|write output to FILE"
 msgstr ""
 
-#: g10/gpg.c:614 kbx/kbxutil.c:90 sm/gpgsm.c:321 tools/gpgconf.c:110
+#: g10/gpg.c:611 kbx/kbxutil.c:90 sm/gpgsm.c:322 tools/gpgconf.c:110
 msgid "do not make any changes"
 msgstr ""
 
-#: g10/gpg.c:615
+#: g10/gpg.c:612
 msgid "prompt before overwriting"
 msgstr ""
 
-#: g10/gpg.c:665
+#: g10/gpg.c:662
 msgid "use strict OpenPGP behavior"
 msgstr ""
 
-#: g10/gpg.c:692 sm/gpgsm.c:364
+#: g10/gpg.c:689 sm/gpgsm.c:367
 msgid ""
 "@\n"
 "(See the man page for a complete listing of all commands and options)\n"
 msgstr ""
 
-#: g10/gpg.c:695
+#: g10/gpg.c:692
 msgid ""
 "@\n"
 "Examples:\n"
@@ -2608,549 +2626,549 @@ msgid ""
 " --fingerprint [names]      show fingerprints\n"
 msgstr ""
 
-#: g10/gpg.c:1092
+#: g10/gpg.c:1096
 msgid "Usage: @GPG@ [options] [files] (-h for help)"
 msgstr ""
 
-#: g10/gpg.c:1095
+#: g10/gpg.c:1099
 msgid ""
 "Syntax: @GPG@ [options] [files]\n"
 "Sign, check, encrypt or decrypt\n"
 "Default operation depends on the input data\n"
 msgstr ""
 
-#: g10/gpg.c:1106 sm/gpgsm.c:591
+#: g10/gpg.c:1110 sm/gpgsm.c:594
 msgid ""
 "\n"
 "Supported algorithms:\n"
 msgstr ""
 
-#: g10/gpg.c:1109
+#: g10/gpg.c:1113
 msgid "Pubkey: "
 msgstr ""
 
-#: g10/gpg.c:1116 g10/keyedit.c:3281
+#: g10/gpg.c:1120 g10/keyedit.c:3282
 msgid "Cipher: "
 msgstr ""
 
-#: g10/gpg.c:1123
+#: g10/gpg.c:1127
 msgid "Hash: "
 msgstr ""
 
-#: g10/gpg.c:1130 g10/keyedit.c:3347
+#: g10/gpg.c:1134 g10/keyedit.c:3348
 msgid "Compression: "
 msgstr ""
 
-#: g10/gpg.c:1199 sm/gpgsm.c:665
+#: g10/gpg.c:1207 sm/gpgsm.c:668
 #, c-format
 msgid "usage: %s [options] %s\n"
 msgstr ""
 
-#: g10/gpg.c:1388 sm/gpgsm.c:754
+#: g10/gpg.c:1396 sm/gpgsm.c:761
 #, c-format
 msgid "conflicting commands\n"
 msgstr ""
 
-#: g10/gpg.c:1406
+#: g10/gpg.c:1414
 #, c-format
 msgid "no = sign found in group definition '%s'\n"
 msgstr ""
 
-#: g10/gpg.c:1604
+#: g10/gpg.c:1612
 #, c-format
 msgid "WARNING: unsafe ownership on homedir '%s'\n"
 msgstr ""
 
-#: g10/gpg.c:1607
+#: g10/gpg.c:1615
 #, c-format
 msgid "WARNING: unsafe ownership on configuration file '%s'\n"
 msgstr ""
 
-#: g10/gpg.c:1610
+#: g10/gpg.c:1618
 #, c-format
 msgid "WARNING: unsafe ownership on extension '%s'\n"
 msgstr ""
 
-#: g10/gpg.c:1616
+#: g10/gpg.c:1624
 #, c-format
 msgid "WARNING: unsafe permissions on homedir '%s'\n"
 msgstr ""
 
-#: g10/gpg.c:1619
+#: g10/gpg.c:1627
 #, c-format
 msgid "WARNING: unsafe permissions on configuration file '%s'\n"
 msgstr ""
 
-#: g10/gpg.c:1622
+#: g10/gpg.c:1630
 #, c-format
 msgid "WARNING: unsafe permissions on extension '%s'\n"
 msgstr ""
 
-#: g10/gpg.c:1628
+#: g10/gpg.c:1636
 #, c-format
 msgid "WARNING: unsafe enclosing directory ownership on homedir '%s'\n"
 msgstr ""
 
-#: g10/gpg.c:1631
+#: g10/gpg.c:1639
 #, c-format
 msgid ""
 "WARNING: unsafe enclosing directory ownership on configuration file '%s'\n"
 msgstr ""
 
-#: g10/gpg.c:1634
+#: g10/gpg.c:1642
 #, c-format
 msgid "WARNING: unsafe enclosing directory ownership on extension '%s'\n"
 msgstr ""
 
-#: g10/gpg.c:1640
+#: g10/gpg.c:1648
 #, c-format
 msgid "WARNING: unsafe enclosing directory permissions on homedir '%s'\n"
 msgstr ""
 
-#: g10/gpg.c:1643
+#: g10/gpg.c:1651
 #, c-format
 msgid ""
 "WARNING: unsafe enclosing directory permissions on configuration file '%s'\n"
 msgstr ""
 
-#: g10/gpg.c:1646
+#: g10/gpg.c:1654
 #, c-format
 msgid "WARNING: unsafe enclosing directory permissions on extension '%s'\n"
 msgstr ""
 
-#: g10/gpg.c:1862
+#: g10/gpg.c:1870
 #, c-format
 msgid "unknown configuration item '%s'\n"
 msgstr ""
 
-#: g10/gpg.c:1979
+#: g10/gpg.c:1992
 msgid "display photo IDs during key listings"
 msgstr ""
 
-#: g10/gpg.c:1981
+#: g10/gpg.c:1994
 msgid "show key usage information during key listings"
 msgstr ""
 
-#: g10/gpg.c:1983
+#: g10/gpg.c:1996
 msgid "show policy URLs during signature listings"
 msgstr ""
 
-#: g10/gpg.c:1985
+#: g10/gpg.c:1998
 msgid "show all notations during signature listings"
 msgstr ""
 
-#: g10/gpg.c:1987
+#: g10/gpg.c:2000
 msgid "show IETF standard notations during signature listings"
 msgstr ""
 
-#: g10/gpg.c:1991
+#: g10/gpg.c:2004
 msgid "show user-supplied notations during signature listings"
 msgstr ""
 
-#: g10/gpg.c:1993
+#: g10/gpg.c:2006
 msgid "show preferred keyserver URLs during signature listings"
 msgstr ""
 
-#: g10/gpg.c:1995
+#: g10/gpg.c:2008
 msgid "show user ID validity during key listings"
 msgstr ""
 
-#: g10/gpg.c:1997
+#: g10/gpg.c:2010
 msgid "show revoked and expired user IDs in key listings"
 msgstr ""
 
-#: g10/gpg.c:1999
+#: g10/gpg.c:2012
 msgid "show revoked and expired subkeys in key listings"
 msgstr ""
 
-#: g10/gpg.c:2001
+#: g10/gpg.c:2014
 msgid "show the keyring name in key listings"
 msgstr ""
 
-#: g10/gpg.c:2003
+#: g10/gpg.c:2016
 msgid "show expiration dates during signature listings"
 msgstr ""
 
-#: g10/gpg.c:2118
+#: g10/gpg.c:2131
 #, c-format
 msgid "unknown TOFU policy '%s'\n"
 msgstr ""
 
-#: g10/gpg.c:2120
+#: g10/gpg.c:2133
 #, c-format
 msgid "(use \"help\" to list choices)\n"
 msgstr ""
 
-#: g10/gpg.c:2840 g10/gpg.c:3671 g10/gpg.c:3683
+#: g10/gpg.c:2856 g10/gpg.c:3691 g10/gpg.c:3703
 #, c-format
 msgid "Note: %s is not for normal use!\n"
 msgstr ""
 
-#: g10/gpg.c:3017 g10/gpg.c:3029
+#: g10/gpg.c:3033 g10/gpg.c:3045
 #, c-format
 msgid "'%s' is not a valid signature expiration\n"
 msgstr ""
 
-#: g10/gpg.c:3051
+#: g10/gpg.c:3067
 #, c-format
 msgid "\"%s\" is not a proper mail address\n"
 msgstr ""
 
-#: g10/gpg.c:3083 sm/gpgsm.c:1177
+#: g10/gpg.c:3099 sm/gpgsm.c:1091
 #, c-format
 msgid "invalid pinentry mode '%s'\n"
 msgstr ""
 
-#: g10/gpg.c:3089 sm/gpgsm.c:1183
+#: g10/gpg.c:3105 sm/gpgsm.c:1097
 #, c-format
 msgid "invalid request origin '%s'\n"
 msgstr ""
 
-#: g10/gpg.c:3143
+#: g10/gpg.c:3159
 #, c-format
 msgid "'%s' is not a valid character set\n"
 msgstr ""
 
-#: g10/gpg.c:3165 g10/gpg.c:3375 g10/keyedit.c:5281
+#: g10/gpg.c:3181 g10/gpg.c:3395 g10/keyedit.c:5282
 #, c-format
 msgid "could not parse keyserver URL\n"
 msgstr ""
 
-#: g10/gpg.c:3183
+#: g10/gpg.c:3199
 #, c-format
 msgid "%s:%d: invalid keyserver options\n"
 msgstr ""
 
-#: g10/gpg.c:3186
+#: g10/gpg.c:3202
 #, c-format
 msgid "invalid keyserver options\n"
 msgstr ""
 
-#: g10/gpg.c:3193
+#: g10/gpg.c:3209
 #, c-format
 msgid "%s:%d: invalid import options\n"
 msgstr ""
 
-#: g10/gpg.c:3196
+#: g10/gpg.c:3212
 #, c-format
 msgid "invalid import options\n"
 msgstr ""
 
-#: g10/gpg.c:3202 g10/gpg.c:3217
+#: g10/gpg.c:3218 g10/gpg.c:3233
 #, c-format
 msgid "invalid filter option: %s\n"
 msgstr ""
 
-#: g10/gpg.c:3208
+#: g10/gpg.c:3224
 #, c-format
 msgid "%s:%d: invalid export options\n"
 msgstr ""
 
-#: g10/gpg.c:3211
+#: g10/gpg.c:3227
 #, c-format
 msgid "invalid export options\n"
 msgstr ""
 
-#: g10/gpg.c:3223
+#: g10/gpg.c:3239
 #, c-format
 msgid "%s:%d: invalid list options\n"
 msgstr ""
 
-#: g10/gpg.c:3226
+#: g10/gpg.c:3242
 #, c-format
 msgid "invalid list options\n"
 msgstr ""
 
-#: g10/gpg.c:3234
+#: g10/gpg.c:3250
 msgid "display photo IDs during signature verification"
 msgstr ""
 
-#: g10/gpg.c:3236
+#: g10/gpg.c:3252
 msgid "show policy URLs during signature verification"
 msgstr ""
 
-#: g10/gpg.c:3238
+#: g10/gpg.c:3254
 msgid "show all notations during signature verification"
 msgstr ""
 
-#: g10/gpg.c:3240
+#: g10/gpg.c:3256
 msgid "show IETF standard notations during signature verification"
 msgstr ""
 
-#: g10/gpg.c:3244
+#: g10/gpg.c:3260
 msgid "show user-supplied notations during signature verification"
 msgstr ""
 
-#: g10/gpg.c:3246
+#: g10/gpg.c:3262
 msgid "show preferred keyserver URLs during signature verification"
 msgstr ""
 
-#: g10/gpg.c:3248
+#: g10/gpg.c:3264
 msgid "show user ID validity during signature verification"
 msgstr ""
 
-#: g10/gpg.c:3250
+#: g10/gpg.c:3266
 msgid "show revoked and expired user IDs in signature verification"
 msgstr ""
 
-#: g10/gpg.c:3252
+#: g10/gpg.c:3268
 msgid "show only the primary user ID in signature verification"
 msgstr ""
 
-#: g10/gpg.c:3254
+#: g10/gpg.c:3270
 msgid "validate signatures with PKA data"
 msgstr ""
 
-#: g10/gpg.c:3256
+#: g10/gpg.c:3272
 msgid "elevate the trust of signatures with valid PKA data"
 msgstr ""
 
-#: g10/gpg.c:3263
+#: g10/gpg.c:3279
 #, c-format
 msgid "%s:%d: invalid verify options\n"
 msgstr ""
 
-#: g10/gpg.c:3266
+#: g10/gpg.c:3282
 #, c-format
 msgid "invalid verify options\n"
 msgstr ""
 
-#: g10/gpg.c:3273
+#: g10/gpg.c:3289
 #, c-format
 msgid "unable to set exec-path to %s\n"
 msgstr ""
 
-#: g10/gpg.c:3478
+#: g10/gpg.c:3498
 #, c-format
 msgid "%s:%d: invalid auto-key-locate list\n"
 msgstr ""
 
-#: g10/gpg.c:3481
+#: g10/gpg.c:3501
 #, c-format
 msgid "invalid auto-key-locate list\n"
 msgstr ""
 
-#: g10/gpg.c:3653 sm/gpgsm.c:1541
+#: g10/gpg.c:3673 sm/gpgsm.c:1441
 #, c-format
 msgid "WARNING: program may create a core file!\n"
 msgstr ""
 
-#: g10/gpg.c:3664
+#: g10/gpg.c:3684
 #, c-format
 msgid "WARNING: %s overrides %s\n"
 msgstr ""
 
-#: g10/gpg.c:3673
+#: g10/gpg.c:3693
 #, c-format
 msgid "%s not allowed with %s!\n"
 msgstr ""
 
-#: g10/gpg.c:3676
+#: g10/gpg.c:3696
 #, c-format
 msgid "%s makes no sense with %s!\n"
 msgstr ""
 
-#: g10/gpg.c:3691 sm/gpgsm.c:1558 dirmngr/dirmngr.c:1082
+#: g10/gpg.c:3711 sm/gpgsm.c:1458 dirmngr/dirmngr.c:1117
 #, c-format
 msgid "WARNING: running with faked system time: "
 msgstr ""
 
-#: g10/gpg.c:3712
+#: g10/gpg.c:3732
 #, c-format
 msgid "will not run with insecure memory due to %s\n"
 msgstr ""
 
-#: g10/gpg.c:3747 g10/gpg.c:3771 sm/gpgsm.c:1625
+#: g10/gpg.c:3767 g10/gpg.c:3791 sm/gpgsm.c:1525
 #, c-format
 msgid "selected cipher algorithm is invalid\n"
 msgstr ""
 
-#: g10/gpg.c:3759
+#: g10/gpg.c:3779
 #, c-format
 msgid "selected compression algorithm is invalid\n"
 msgstr ""
 
-#: g10/gpg.c:3765
+#: g10/gpg.c:3785
 #, c-format
 msgid "selected certification digest algorithm is invalid\n"
 msgstr ""
 
-#: g10/gpg.c:3780
+#: g10/gpg.c:3800
 #, c-format
 msgid "completes-needed must be greater than 0\n"
 msgstr ""
 
-#: g10/gpg.c:3782
+#: g10/gpg.c:3802
 #, c-format
 msgid "marginals-needed must be greater than 1\n"
 msgstr ""
 
-#: g10/gpg.c:3784
+#: g10/gpg.c:3804
 #, c-format
 msgid "max-cert-depth must be in the range from 1 to 255\n"
 msgstr ""
 
-#: g10/gpg.c:3786
+#: g10/gpg.c:3806
 #, c-format
 msgid "invalid default-cert-level; must be 0, 1, 2, or 3\n"
 msgstr ""
 
-#: g10/gpg.c:3788
+#: g10/gpg.c:3808
 #, c-format
 msgid "invalid min-cert-level; must be 1, 2, or 3\n"
 msgstr ""
 
-#: g10/gpg.c:3791
+#: g10/gpg.c:3812
 #, c-format
 msgid "Note: simple S2K mode (0) is strongly discouraged\n"
 msgstr ""
 
-#: g10/gpg.c:3795
+#: g10/gpg.c:3816
 #, c-format
 msgid "invalid S2K mode; must be 0, 1 or 3\n"
 msgstr ""
 
-#: g10/gpg.c:3802
+#: g10/gpg.c:3823
 #, c-format
 msgid "invalid default preferences\n"
 msgstr ""
 
-#: g10/gpg.c:3806
+#: g10/gpg.c:3827
 #, c-format
 msgid "invalid personal cipher preferences\n"
 msgstr ""
 
-#: g10/gpg.c:3810
+#: g10/gpg.c:3831
 #, c-format
 msgid "invalid personal digest preferences\n"
 msgstr ""
 
-#: g10/gpg.c:3814
+#: g10/gpg.c:3835
 #, c-format
 msgid "invalid personal compress preferences\n"
 msgstr ""
 
-#: g10/gpg.c:3850
+#: g10/gpg.c:3871
 #, c-format
 msgid "%s does not yet work with %s\n"
 msgstr ""
 
-#: g10/gpg.c:3913
+#: g10/gpg.c:3934
 #, c-format
 msgid "compression algorithm '%s' may not be used in %s mode\n"
 msgstr ""
 
-#: g10/gpg.c:4057
+#: g10/gpg.c:4078
 #, c-format
 msgid "failed to initialize the TrustDB: %s\n"
 msgstr ""
 
-#: g10/gpg.c:4069
+#: g10/gpg.c:4090
 #, c-format
 msgid "WARNING: recipients (-r) given without using public key encryption\n"
 msgstr ""
 
-#: g10/gpg.c:4141
+#: g10/gpg.c:4162
 #, c-format
 msgid "symmetric encryption of '%s' failed: %s\n"
 msgstr ""
 
-#: g10/gpg.c:4170
+#: g10/gpg.c:4191
 #, c-format
 msgid "you cannot use --symmetric --encrypt with --s2k-mode 0\n"
 msgstr ""
 
-#: g10/gpg.c:4173
+#: g10/gpg.c:4194
 #, c-format
 msgid "you cannot use --symmetric --encrypt in %s mode\n"
 msgstr ""
 
-#: g10/gpg.c:4231
+#: g10/gpg.c:4252
 #, c-format
 msgid "you cannot use --symmetric --sign --encrypt with --s2k-mode 0\n"
 msgstr ""
 
-#: g10/gpg.c:4234
+#: g10/gpg.c:4255
 #, c-format
 msgid "you cannot use --symmetric --sign --encrypt in %s mode\n"
 msgstr ""
 
-#: g10/gpg.c:4622 g10/keyserver.c:1881
+#: g10/gpg.c:4643 g10/keyserver.c:1648
 #, c-format
 msgid "keyserver send failed: %s\n"
 msgstr ""
 
-#: g10/gpg.c:4627
+#: g10/gpg.c:4648
 #, c-format
 msgid "keyserver receive failed: %s\n"
 msgstr ""
 
-#: g10/gpg.c:4633
+#: g10/gpg.c:4654
 #, c-format
 msgid "key export failed: %s\n"
 msgstr ""
 
-#: g10/gpg.c:4646
+#: g10/gpg.c:4667
 #, c-format
 msgid "export as ssh key failed: %s\n"
 msgstr ""
 
-#: g10/gpg.c:4658
+#: g10/gpg.c:4679
 #, c-format
 msgid "keyserver search failed: %s\n"
 msgstr ""
 
-#: g10/gpg.c:4671
+#: g10/gpg.c:4692
 #, c-format
 msgid "keyserver refresh failed: %s\n"
 msgstr ""
 
-#: g10/gpg.c:4738
+#: g10/gpg.c:4759
 #, c-format
 msgid "dearmoring failed: %s\n"
 msgstr ""
 
-#: g10/gpg.c:4749
+#: g10/gpg.c:4770
 #, c-format
 msgid "enarmoring failed: %s\n"
 msgstr ""
 
-#: g10/gpg.c:4841
+#: g10/gpg.c:4862
 #, c-format
 msgid "invalid hash algorithm '%s'\n"
 msgstr ""
 
-#: g10/gpg.c:4993 g10/tofu.c:2153
+#: g10/gpg.c:5014 g10/tofu.c:2153
 #, c-format
 msgid "error parsing key specification '%s': %s\n"
 msgstr ""
 
-#: g10/gpg.c:5006
+#: g10/gpg.c:5027
 #, c-format
 msgid "'%s' does not appear to be a valid key ID, fingerprint or keygrip\n"
 msgstr ""
 
-#: g10/gpg.c:5062
+#: g10/gpg.c:5083
 #, c-format
 msgid "WARNING: no command supplied.  Trying to guess what you mean ...\n"
 msgstr ""
 
-#: g10/gpg.c:5073
+#: g10/gpg.c:5094
 #, c-format
 msgid "Go ahead and type your message ...\n"
 msgstr ""
 
-#: g10/gpg.c:5418
+#: g10/gpg.c:5439
 #, c-format
 msgid "the given certification policy URL is invalid\n"
 msgstr ""
 
-#: g10/gpg.c:5420
+#: g10/gpg.c:5441
 #, c-format
 msgid "the given signature policy URL is invalid\n"
 msgstr ""
 
-#: g10/gpg.c:5453
+#: g10/gpg.c:5474
 #, c-format
 msgid "the given preferred keyserver URL is invalid\n"
 msgstr ""
@@ -3163,7 +3181,7 @@ msgstr ""
 msgid "make timestamp conflicts only a warning"
 msgstr ""
 
-#: g10/gpgv.c:86 sm/gpgsm.c:354 tools/gpgconf.c:112
+#: g10/gpgv.c:86 sm/gpgsm.c:357 tools/gpgconf.c:112
 msgid "|FD|write status info to this FD"
 msgstr ""
 
@@ -3238,263 +3256,263 @@ msgstr ""
 msgid "repair keys on import"
 msgstr ""
 
-#: g10/import.c:380 g10/import.c:699
+#: g10/import.c:392 g10/import.c:711
 #, c-format
 msgid "skipping block of type %d\n"
 msgstr ""
 
-#: g10/import.c:716
+#: g10/import.c:728
 #, c-format
 msgid "%lu keys processed so far\n"
 msgstr ""
 
-#: g10/import.c:802
+#: g10/import.c:814
 #, c-format
 msgid "Total number processed: %lu\n"
 msgstr ""
 
-#: g10/import.c:805
+#: g10/import.c:817
 #, c-format
 msgid "    skipped PGP-2 keys: %lu\n"
 msgstr ""
 
-#: g10/import.c:807
+#: g10/import.c:819
 #, c-format
 msgid "      skipped new keys: %lu\n"
 msgstr ""
 
-#: g10/import.c:810
+#: g10/import.c:822
 #, c-format
 msgid "          w/o user IDs: %lu\n"
 msgstr ""
 
-#: g10/import.c:813 sm/import.c:130
+#: g10/import.c:825 sm/import.c:130
 #, c-format
 msgid "              imported: %lu"
 msgstr ""
 
-#: g10/import.c:817 sm/import.c:134
+#: g10/import.c:829 sm/import.c:134
 #, c-format
 msgid "             unchanged: %lu\n"
 msgstr ""
 
-#: g10/import.c:819
+#: g10/import.c:831
 #, c-format
 msgid "          new user IDs: %lu\n"
 msgstr ""
 
-#: g10/import.c:821
+#: g10/import.c:833
 #, c-format
 msgid "           new subkeys: %lu\n"
 msgstr ""
 
-#: g10/import.c:823
+#: g10/import.c:835
 #, c-format
 msgid "        new signatures: %lu\n"
 msgstr ""
 
-#: g10/import.c:825
+#: g10/import.c:837
 #, c-format
 msgid "   new key revocations: %lu\n"
 msgstr ""
 
-#: g10/import.c:827 sm/import.c:136
+#: g10/import.c:839 sm/import.c:136
 #, c-format
 msgid "      secret keys read: %lu\n"
 msgstr ""
 
-#: g10/import.c:829 sm/import.c:138
+#: g10/import.c:841 sm/import.c:138
 #, c-format
 msgid "  secret keys imported: %lu\n"
 msgstr ""
 
-#: g10/import.c:831 sm/import.c:140
+#: g10/import.c:843 sm/import.c:140
 #, c-format
 msgid " secret keys unchanged: %lu\n"
 msgstr ""
 
-#: g10/import.c:833 sm/import.c:142
+#: g10/import.c:845 sm/import.c:142
 #, c-format
 msgid "          not imported: %lu\n"
 msgstr ""
 
-#: g10/import.c:835
+#: g10/import.c:847
 #, c-format
 msgid "    signatures cleaned: %lu\n"
 msgstr ""
 
-#: g10/import.c:837
+#: g10/import.c:849
 #, c-format
 msgid "      user IDs cleaned: %lu\n"
 msgstr ""
 
-#: g10/import.c:1264
+#: g10/import.c:1276
 #, c-format
 msgid ""
 "WARNING: key %s contains preferences for unavailable\n"
 "algorithms on these user IDs:\n"
 msgstr ""
 
-#: g10/import.c:1306
+#: g10/import.c:1318
 #, c-format
 msgid "         \"%s\": preference for cipher algorithm %s\n"
 msgstr ""
 
-#: g10/import.c:1321
+#: g10/import.c:1333
 #, c-format
 msgid "         \"%s\": preference for digest algorithm %s\n"
 msgstr ""
 
-#: g10/import.c:1333
+#: g10/import.c:1345
 #, c-format
 msgid "         \"%s\": preference for compression algorithm %s\n"
 msgstr ""
 
-#: g10/import.c:1346
+#: g10/import.c:1358
 #, c-format
 msgid "it is strongly suggested that you update your preferences and\n"
 msgstr ""
 
-#: g10/import.c:1348
+#: g10/import.c:1360
 #, c-format
 msgid "re-distribute this key to avoid potential algorithm mismatch problems\n"
 msgstr ""
 
-#: g10/import.c:1373
+#: g10/import.c:1385
 #, c-format
 msgid "you can update your preferences with: gpg --edit-key %s updpref save\n"
 msgstr ""
 
-#: g10/import.c:1887 g10/import.c:3001
+#: g10/import.c:1899 g10/import.c:3013
 #, c-format
 msgid "key %s: no user ID\n"
 msgstr ""
 
-#: g10/import.c:1893
+#: g10/import.c:1905
 #, c-format
 msgid "key %s: %s\n"
 msgstr ""
 
-#: g10/import.c:1894 g10/import.c:2973
+#: g10/import.c:1906 g10/import.c:2985
 msgid "rejected by import screener"
 msgstr ""
 
-#: g10/import.c:1938
+#: g10/import.c:1950
 #, c-format
 msgid "key %s: PKS subkey corruption repaired\n"
 msgstr ""
 
-#: g10/import.c:1959
+#: g10/import.c:1971
 #, c-format
 msgid "key %s: accepted non self-signed user ID \"%s\"\n"
 msgstr ""
 
-#: g10/import.c:1969 g10/import.c:2000
+#: g10/import.c:1981 g10/import.c:2012
 #, c-format
 msgid "key %s: no valid user IDs\n"
 msgstr ""
 
-#: g10/import.c:1971
+#: g10/import.c:1983
 #, c-format
 msgid "this may be caused by a missing self-signature\n"
 msgstr ""
 
-#: g10/import.c:2050 g10/import.c:3387
+#: g10/import.c:2062 g10/import.c:3399
 #, c-format
 msgid "key %s: public key not found: %s\n"
 msgstr ""
 
-#: g10/import.c:2056
+#: g10/import.c:2068
 #, c-format
 msgid "key %s: new key - skipped\n"
 msgstr ""
 
-#: g10/import.c:2068
+#: g10/import.c:2080
 #, c-format
 msgid "no writable keyring found: %s\n"
 msgstr ""
 
-#: g10/import.c:2100 g10/import.c:2202 g10/import.c:3464
+#: g10/import.c:2112 g10/import.c:2214 g10/import.c:3476
 #, c-format
 msgid "error writing keyring '%s': %s\n"
 msgstr ""
 
-#: g10/import.c:2123
+#: g10/import.c:2135
 #, c-format
 msgid "key %s: public key \"%s\" imported\n"
 msgstr ""
 
-#: g10/import.c:2150
+#: g10/import.c:2162
 #, c-format
 msgid "key %s: doesn't match our copy\n"
 msgstr ""
 
-#: g10/import.c:2218
+#: g10/import.c:2230
 #, c-format
 msgid "key %s: \"%s\" 1 new user ID\n"
 msgstr ""
 
-#: g10/import.c:2221
+#: g10/import.c:2233
 #, c-format
 msgid "key %s: \"%s\" %d new user IDs\n"
 msgstr ""
 
-#: g10/import.c:2224
+#: g10/import.c:2236
 #, c-format
 msgid "key %s: \"%s\" 1 new signature\n"
 msgstr ""
 
-#: g10/import.c:2227
+#: g10/import.c:2239
 #, c-format
 msgid "key %s: \"%s\" %d new signatures\n"
 msgstr ""
 
-#: g10/import.c:2230
+#: g10/import.c:2242
 #, c-format
 msgid "key %s: \"%s\" 1 new subkey\n"
 msgstr ""
 
-#: g10/import.c:2233
+#: g10/import.c:2245
 #, c-format
 msgid "key %s: \"%s\" %d new subkeys\n"
 msgstr ""
 
-#: g10/import.c:2236
+#: g10/import.c:2248
 #, c-format
 msgid "key %s: \"%s\" %d signature cleaned\n"
 msgstr ""
 
-#: g10/import.c:2239
+#: g10/import.c:2251
 #, c-format
 msgid "key %s: \"%s\" %d signatures cleaned\n"
 msgstr ""
 
-#: g10/import.c:2242
+#: g10/import.c:2254
 #, c-format
 msgid "key %s: \"%s\" %d user ID cleaned\n"
 msgstr ""
 
-#: g10/import.c:2245
+#: g10/import.c:2257
 #, c-format
 msgid "key %s: \"%s\" %d user IDs cleaned\n"
 msgstr ""
 
-#: g10/import.c:2281
+#: g10/import.c:2293
 #, c-format
 msgid "key %s: \"%s\" not changed\n"
 msgstr ""
 
-#: g10/import.c:2640 g10/import.c:2835
+#: g10/import.c:2652 g10/import.c:2847
 #, c-format
 msgid "key %s: secret key imported\n"
 msgstr ""
 
-#: g10/import.c:2648
+#: g10/import.c:2660
 #, c-format
 msgid "key %s: secret key already exists\n"
 msgstr ""
 
-#: g10/import.c:2656
+#: g10/import.c:2668
 #, c-format
 msgid "key %s: error sending to agent: %s\n"
 msgstr ""
@@ -3507,192 +3525,192 @@ msgstr ""
 #. * Instead, user should be suggested to run 'gpg --card-status',
 #. * then, references to a card will be automatically created
 #. * again.
-#: g10/import.c:2825
+#: g10/import.c:2837
 #, c-format
 msgid "To migrate '%s', with each smartcard, run: %s\n"
 msgstr ""
 
-#: g10/import.c:2972
+#: g10/import.c:2984
 #, c-format
 msgid "secret key %s: %s\n"
 msgstr ""
 
-#: g10/import.c:2993 g10/import.c:3032
+#: g10/import.c:3005 g10/import.c:3044
 #, c-format
 msgid "importing secret keys not allowed\n"
 msgstr ""
 
-#: g10/import.c:3020
+#: g10/import.c:3032
 #, c-format
 msgid "key %s: secret key with invalid cipher %d - skipped\n"
 msgstr ""
 
-#: g10/import.c:3182 g10/pkclist.c:72 g10/revoke.c:776
+#: g10/import.c:3194 g10/pkclist.c:72 g10/revoke.c:776
 msgid "No reason specified"
 msgstr ""
 
-#: g10/import.c:3183 g10/pkclist.c:74 g10/revoke.c:778
+#: g10/import.c:3195 g10/pkclist.c:74 g10/revoke.c:778
 msgid "Key is superseded"
 msgstr ""
 
-#: g10/import.c:3184 g10/pkclist.c:76 g10/revoke.c:777
+#: g10/import.c:3196 g10/pkclist.c:76 g10/revoke.c:777
 msgid "Key has been compromised"
 msgstr ""
 
-#: g10/import.c:3185 g10/pkclist.c:78 g10/revoke.c:779
+#: g10/import.c:3197 g10/pkclist.c:78 g10/revoke.c:779
 msgid "Key is no longer used"
 msgstr ""
 
-#: g10/import.c:3186 g10/pkclist.c:80 g10/revoke.c:780
+#: g10/import.c:3198 g10/pkclist.c:80 g10/revoke.c:780
 msgid "User ID is no longer valid"
 msgstr ""
 
-#: g10/import.c:3311 g10/keylist.c:1254 g10/pkclist.c:84
+#: g10/import.c:3323 g10/keylist.c:1254 g10/pkclist.c:84
 #, c-format
 msgid "reason for revocation: "
 msgstr ""
 
-#: g10/import.c:3330 g10/keylist.c:1273 g10/pkclist.c:100
+#: g10/import.c:3342 g10/keylist.c:1273 g10/pkclist.c:100
 #, c-format
 msgid "revocation comment: "
 msgstr ""
 
-#: g10/import.c:3380
+#: g10/import.c:3392
 #, c-format
 msgid "key %s: no public key - can't apply revocation certificate\n"
 msgstr ""
 
-#: g10/import.c:3411
+#: g10/import.c:3423
 #, c-format
 msgid "key %s: can't locate original keyblock: %s\n"
 msgstr ""
 
-#: g10/import.c:3418
+#: g10/import.c:3430
 #, c-format
 msgid "key %s: can't read original keyblock: %s\n"
 msgstr ""
 
-#: g10/import.c:3438
+#: g10/import.c:3450
 #, c-format
 msgid "key %s: invalid revocation certificate: %s - rejected\n"
 msgstr ""
 
-#: g10/import.c:3473
+#: g10/import.c:3485
 #, c-format
 msgid "key %s: \"%s\" revocation certificate imported\n"
 msgstr ""
 
-#: g10/import.c:3559
+#: g10/import.c:3571
 #, c-format
 msgid "key %s: no user ID for signature\n"
 msgstr ""
 
-#: g10/import.c:3576
+#: g10/import.c:3588
 #, c-format
 msgid "key %s: unsupported public key algorithm on user ID \"%s\"\n"
 msgstr ""
 
-#: g10/import.c:3578
+#: g10/import.c:3590
 #, c-format
 msgid "key %s: invalid self-signature on user ID \"%s\"\n"
 msgstr ""
 
-#: g10/import.c:3595 g10/import.c:3623 g10/import.c:3679
+#: g10/import.c:3607 g10/import.c:3635 g10/import.c:3691
 #, c-format
 msgid "key %s: unsupported public key algorithm\n"
 msgstr ""
 
-#: g10/import.c:3596
+#: g10/import.c:3608
 #, c-format
 msgid "key %s: invalid direct key signature\n"
 msgstr ""
 
-#: g10/import.c:3610
+#: g10/import.c:3622
 #, c-format
 msgid "key %s: no subkey for key binding\n"
 msgstr ""
 
-#: g10/import.c:3625
+#: g10/import.c:3637
 #, c-format
 msgid "key %s: invalid subkey binding\n"
 msgstr ""
 
-#: g10/import.c:3644
+#: g10/import.c:3656
 #, c-format
 msgid "key %s: removed multiple subkey binding\n"
 msgstr ""
 
-#: g10/import.c:3668
+#: g10/import.c:3680
 #, c-format
 msgid "key %s: no subkey for key revocation\n"
 msgstr ""
 
-#: g10/import.c:3681
+#: g10/import.c:3693
 #, c-format
 msgid "key %s: invalid subkey revocation\n"
 msgstr ""
 
-#: g10/import.c:3696
+#: g10/import.c:3708
 #, c-format
 msgid "key %s: removed multiple subkey revocation\n"
 msgstr ""
 
-#: g10/import.c:3740
+#: g10/import.c:3752
 #, c-format
 msgid "key %s: skipped user ID \"%s\"\n"
 msgstr ""
 
-#: g10/import.c:3767
+#: g10/import.c:3779
 #, c-format
 msgid "key %s: skipped subkey\n"
 msgstr ""
 
-#: g10/import.c:3798
+#: g10/import.c:3810
 #, c-format
 msgid "key %s: non exportable signature (class 0x%02X) - skipped\n"
 msgstr ""
 
-#: g10/import.c:3809
+#: g10/import.c:3821
 #, c-format
 msgid "key %s: revocation certificate at wrong place - skipped\n"
 msgstr ""
 
-#: g10/import.c:3827
+#: g10/import.c:3839
 #, c-format
 msgid "key %s: invalid revocation certificate: %s - skipped\n"
 msgstr ""
 
-#: g10/import.c:3841
+#: g10/import.c:3853
 #, c-format
 msgid "key %s: subkey signature in wrong place - skipped\n"
 msgstr ""
 
-#: g10/import.c:3849
+#: g10/import.c:3861
 #, c-format
 msgid "key %s: unexpected signature class (0x%02X) - skipped\n"
 msgstr ""
 
-#: g10/import.c:4022
+#: g10/import.c:4034
 #, c-format
 msgid "key %s: duplicated user ID detected - merged\n"
 msgstr ""
 
-#: g10/import.c:4087
+#: g10/import.c:4099
 #, c-format
 msgid "WARNING: key %s may be revoked: fetching revocation key %s\n"
 msgstr ""
 
-#: g10/import.c:4103
+#: g10/import.c:4115
 #, c-format
 msgid "WARNING: key %s may be revoked: revocation key %s not present.\n"
 msgstr ""
 
-#: g10/import.c:4169
+#: g10/import.c:4181
 #, c-format
 msgid "key %s: \"%s\" revocation certificate added\n"
 msgstr ""
 
-#: g10/import.c:4207
+#: g10/import.c:4219
 #, c-format
 msgid "key %s: direct key signature added\n"
 msgstr ""
@@ -3758,7 +3776,7 @@ msgid ""
 "all signatures.\n"
 msgstr ""
 
-#: g10/keydb.c:431 g10/keydb.c:458 sm/keydb.c:191 sm/keydb.c:204
+#: g10/keydb.c:431 g10/keydb.c:458 sm/keydb.c:190 sm/keydb.c:203
 #, c-format
 msgid "error creating keybox '%s': %s\n"
 msgstr ""
@@ -3768,7 +3786,7 @@ msgstr ""
 msgid "error creating keyring '%s': %s\n"
 msgstr ""
 
-#: g10/keydb.c:470 sm/keydb.c:210
+#: g10/keydb.c:470 sm/keydb.c:209
 #, c-format
 msgid "keybox '%s' created\n"
 msgstr ""
@@ -3840,13 +3858,13 @@ msgstr ""
 msgid "User ID \"%s\" is revoked."
 msgstr ""
 
-#: g10/keyedit.c:569 g10/keyedit.c:597 g10/keyedit.c:624 g10/keyedit.c:808
-#: g10/keyedit.c:1655
+#: g10/keyedit.c:569 g10/keyedit.c:597 g10/keyedit.c:624 g10/keyedit.c:809
+#: g10/keyedit.c:1656
 msgid "Are you sure you still want to sign it? (y/N) "
 msgstr ""
 
-#: g10/keyedit.c:583 g10/keyedit.c:611 g10/keyedit.c:638 g10/keyedit.c:814
-#: g10/keyedit.c:1660 g10/keyedit.c:2667
+#: g10/keyedit.c:583 g10/keyedit.c:611 g10/keyedit.c:638 g10/keyedit.c:815
+#: g10/keyedit.c:1661 g10/keyedit.c:2668
 msgid "  Unable to sign.\n"
 msgstr ""
 
@@ -3912,282 +3930,282 @@ msgstr ""
 msgid "\"%s\" was already signed by key %s\n"
 msgstr ""
 
-#: g10/keyedit.c:756
+#: g10/keyedit.c:757
 msgid "Do you want to sign it again anyway? (y/N) "
 msgstr ""
 
-#: g10/keyedit.c:778
+#: g10/keyedit.c:779
 #, c-format
 msgid "Nothing to sign with key %s\n"
 msgstr ""
 
-#: g10/keyedit.c:802
+#: g10/keyedit.c:803
 msgid "This key has expired!"
 msgstr ""
 
-#: g10/keyedit.c:820
+#: g10/keyedit.c:821
 #, c-format
 msgid "This key is due to expire on %s.\n"
 msgstr ""
 
-#: g10/keyedit.c:826
+#: g10/keyedit.c:827
 msgid "Do you want your signature to expire at the same time? (Y/n) "
 msgstr ""
 
-#: g10/keyedit.c:867
+#: g10/keyedit.c:868
 msgid ""
 "How carefully have you verified the key you are about to sign actually "
 "belongs\n"
 "to the person named above?  If you don't know what to answer, enter \"0\".\n"
 msgstr ""
 
-#: g10/keyedit.c:872
+#: g10/keyedit.c:873
 #, c-format
 msgid "   (0) I will not answer.%s\n"
 msgstr ""
 
-#: g10/keyedit.c:874
+#: g10/keyedit.c:875
 #, c-format
 msgid "   (1) I have not checked at all.%s\n"
 msgstr ""
 
-#: g10/keyedit.c:876
+#: g10/keyedit.c:877
 #, c-format
 msgid "   (2) I have done casual checking.%s\n"
 msgstr ""
 
-#: g10/keyedit.c:879
+#: g10/keyedit.c:880
 #, c-format
 msgid "   (3) I have done very careful checking.%s\n"
 msgstr ""
 
-#: g10/keyedit.c:886
+#: g10/keyedit.c:887
 msgid "Your selection? (enter '?' for more information): "
 msgstr ""
 
-#: g10/keyedit.c:913
+#: g10/keyedit.c:914
 #, c-format
 msgid ""
 "Are you sure that you want to sign this key with your\n"
 "key \"%s\" (%s)\n"
 msgstr ""
 
-#: g10/keyedit.c:921
+#: g10/keyedit.c:922
 msgid "This will be a self-signature.\n"
 msgstr ""
 
-#: g10/keyedit.c:926
+#: g10/keyedit.c:927
 msgid "WARNING: the signature will not be marked as non-exportable.\n"
 msgstr ""
 
-#: g10/keyedit.c:933
+#: g10/keyedit.c:934
 msgid "WARNING: the signature will not be marked as non-revocable.\n"
 msgstr ""
 
-#: g10/keyedit.c:943
+#: g10/keyedit.c:944
 msgid "The signature will be marked as non-exportable.\n"
 msgstr ""
 
-#: g10/keyedit.c:950
+#: g10/keyedit.c:951
 msgid "The signature will be marked as non-revocable.\n"
 msgstr ""
 
-#: g10/keyedit.c:957
+#: g10/keyedit.c:958
 msgid "I have not checked this key at all.\n"
 msgstr ""
 
-#: g10/keyedit.c:962
+#: g10/keyedit.c:963
 msgid "I have checked this key casually.\n"
 msgstr ""
 
-#: g10/keyedit.c:967
+#: g10/keyedit.c:968
 msgid "I have checked this key very carefully.\n"
 msgstr ""
 
-#: g10/keyedit.c:979
+#: g10/keyedit.c:980
 msgid "Really sign? (y/N) "
 msgstr ""
 
-#: g10/keyedit.c:1030 g10/keyedit.c:6154 g10/keyedit.c:6237 g10/keyedit.c:6366
-#: g10/keyedit.c:6428 g10/sign.c:466
+#: g10/keyedit.c:1031 g10/keyedit.c:6155 g10/keyedit.c:6238 g10/keyedit.c:6367
+#: g10/keyedit.c:6429 g10/sign.c:466
 #, c-format
 msgid "signing failed: %s\n"
 msgstr ""
 
-#: g10/keyedit.c:1117
+#: g10/keyedit.c:1118
 msgid "Key has only stub or on-card key items - no passphrase to change.\n"
 msgstr ""
 
-#: g10/keyedit.c:1149
+#: g10/keyedit.c:1150
 #, c-format
 msgid "key %s: error changing passphrase: %s\n"
 msgstr ""
 
-#: g10/keyedit.c:1261
+#: g10/keyedit.c:1262
 msgid "save and quit"
 msgstr ""
 
-#: g10/keyedit.c:1264
+#: g10/keyedit.c:1265
 msgid "show key fingerprint"
 msgstr ""
 
-#: g10/keyedit.c:1265
+#: g10/keyedit.c:1266
 msgid "show the keygrip"
 msgstr ""
 
-#: g10/keyedit.c:1266
+#: g10/keyedit.c:1267
 msgid "list key and user IDs"
 msgstr ""
 
-#: g10/keyedit.c:1268
+#: g10/keyedit.c:1269
 msgid "select user ID N"
 msgstr ""
 
-#: g10/keyedit.c:1269
+#: g10/keyedit.c:1270
 msgid "select subkey N"
 msgstr ""
 
-#: g10/keyedit.c:1270
+#: g10/keyedit.c:1271
 msgid "check signatures"
 msgstr ""
 
-#: g10/keyedit.c:1276
+#: g10/keyedit.c:1277
 msgid "sign selected user IDs [* see below for related commands]"
 msgstr ""
 
-#: g10/keyedit.c:1281
+#: g10/keyedit.c:1282
 msgid "sign selected user IDs locally"
 msgstr ""
 
-#: g10/keyedit.c:1282
+#: g10/keyedit.c:1283
 msgid "sign selected user IDs with a trust signature"
 msgstr ""
 
-#: g10/keyedit.c:1284
+#: g10/keyedit.c:1285
 msgid "sign selected user IDs with a non-revocable signature"
 msgstr ""
 
-#: g10/keyedit.c:1286
+#: g10/keyedit.c:1287
 msgid "add a user ID"
 msgstr ""
 
-#: g10/keyedit.c:1288
+#: g10/keyedit.c:1289
 msgid "add a photo ID"
 msgstr ""
 
-#: g10/keyedit.c:1289
+#: g10/keyedit.c:1290
 msgid "delete selected user IDs"
 msgstr ""
 
-#: g10/keyedit.c:1292
+#: g10/keyedit.c:1293
 msgid "add a subkey"
 msgstr ""
 
-#: g10/keyedit.c:1295
+#: g10/keyedit.c:1296
 msgid "add a key to a smartcard"
 msgstr ""
 
-#: g10/keyedit.c:1297
+#: g10/keyedit.c:1298
 msgid "move a key to a smartcard"
 msgstr ""
 
-#: g10/keyedit.c:1299
+#: g10/keyedit.c:1300
 msgid "move a backup key to a smartcard"
 msgstr ""
 
-#: g10/keyedit.c:1301
+#: g10/keyedit.c:1302
 msgid "delete selected subkeys"
 msgstr ""
 
-#: g10/keyedit.c:1303
+#: g10/keyedit.c:1304
 msgid "add a revocation key"
 msgstr ""
 
-#: g10/keyedit.c:1305
+#: g10/keyedit.c:1306
 msgid "delete signatures from the selected user IDs"
 msgstr ""
 
-#: g10/keyedit.c:1307
+#: g10/keyedit.c:1308
 msgid "change the expiration date for the key or selected subkeys"
 msgstr ""
 
-#: g10/keyedit.c:1309
+#: g10/keyedit.c:1310
 msgid "flag the selected user ID as primary"
 msgstr ""
 
-#: g10/keyedit.c:1312
+#: g10/keyedit.c:1313
 msgid "list preferences (expert)"
 msgstr ""
 
-#: g10/keyedit.c:1313
+#: g10/keyedit.c:1314
 msgid "list preferences (verbose)"
 msgstr ""
 
-#: g10/keyedit.c:1315
+#: g10/keyedit.c:1316
 msgid "set preference list for the selected user IDs"
 msgstr ""
 
-#: g10/keyedit.c:1318
+#: g10/keyedit.c:1319
 msgid "set the preferred keyserver URL for the selected user IDs"
 msgstr ""
 
-#: g10/keyedit.c:1320
+#: g10/keyedit.c:1321
 msgid "set a notation for the selected user IDs"
 msgstr ""
 
-#: g10/keyedit.c:1322
+#: g10/keyedit.c:1323
 msgid "change the passphrase"
 msgstr ""
 
-#: g10/keyedit.c:1325
+#: g10/keyedit.c:1326
 msgid "change the ownertrust"
 msgstr ""
 
-#: g10/keyedit.c:1328
+#: g10/keyedit.c:1329
 msgid "revoke signatures on the selected user IDs"
 msgstr ""
 
-#: g10/keyedit.c:1330
+#: g10/keyedit.c:1331
 msgid "revoke selected user IDs"
 msgstr ""
 
-#: g10/keyedit.c:1333
+#: g10/keyedit.c:1334
 msgid "revoke key or selected subkeys"
 msgstr ""
 
-#: g10/keyedit.c:1335
+#: g10/keyedit.c:1336
 msgid "enable key"
 msgstr ""
 
-#: g10/keyedit.c:1336
+#: g10/keyedit.c:1337
 msgid "disable key"
 msgstr ""
 
-#: g10/keyedit.c:1338
+#: g10/keyedit.c:1339
 msgid "show selected photo IDs"
 msgstr ""
 
-#: g10/keyedit.c:1340
+#: g10/keyedit.c:1341
 msgid "compact unusable user IDs and remove unusable signatures from key"
 msgstr ""
 
-#: g10/keyedit.c:1342
+#: g10/keyedit.c:1343
 msgid "compact unusable user IDs and remove all signatures from key"
 msgstr ""
 
-#: g10/keyedit.c:1463
+#: g10/keyedit.c:1464
 msgid "Secret key is available.\n"
 msgstr ""
 
-#: g10/keyedit.c:1465
+#: g10/keyedit.c:1466
 msgid "Secret subkeys are available.\n"
 msgstr ""
 
-#: g10/keyedit.c:1567
+#: g10/keyedit.c:1568
 msgid "Need the secret key to do this.\n"
 msgstr ""
 
-#: g10/keyedit.c:1590
+#: g10/keyedit.c:1591
 msgid ""
 "* The 'sign' command may be prefixed with an 'l' for local signatures "
 "(lsign),\n"
@@ -4195,602 +4213,602 @@ msgid ""
 "  (nrsign), or any combination thereof (ltsign, tnrsign, etc.).\n"
 msgstr ""
 
-#: g10/keyedit.c:1648 g10/keyedit.c:2667 g10/keyedit.c:3040 g10/keyedit.c:3108
+#: g10/keyedit.c:1649 g10/keyedit.c:2668 g10/keyedit.c:3041 g10/keyedit.c:3109
 msgid "Key is revoked."
 msgstr ""
 
-#: g10/keyedit.c:1671
+#: g10/keyedit.c:1672
 msgid "Really sign all text user IDs? (y/N) "
 msgstr ""
 
-#: g10/keyedit.c:1675
+#: g10/keyedit.c:1676
 msgid "Really sign all user IDs? (y/N) "
 msgstr ""
 
-#: g10/keyedit.c:1683
+#: g10/keyedit.c:1684
 msgid "Hint: Select the user IDs to sign\n"
 msgstr ""
 
-#: g10/keyedit.c:1694
+#: g10/keyedit.c:1695
 #, c-format
 msgid "Unknown signature type '%s'\n"
 msgstr ""
 
-#: g10/keyedit.c:1718
+#: g10/keyedit.c:1719
 #, c-format
 msgid "This command is not allowed while in %s mode.\n"
 msgstr ""
 
-#: g10/keyedit.c:1740 g10/keyedit.c:1764 g10/keyedit.c:1961
+#: g10/keyedit.c:1741 g10/keyedit.c:1765 g10/keyedit.c:1962
 msgid "You must select at least one user ID.\n"
 msgstr ""
 
-#: g10/keyedit.c:1742 g10/keyedit.c:1766 g10/keyedit.c:1923 g10/keyedit.c:1963
+#: g10/keyedit.c:1743 g10/keyedit.c:1767 g10/keyedit.c:1924 g10/keyedit.c:1964
 #, c-format
 msgid "(Use the '%s' command.)\n"
 msgstr ""
 
-#: g10/keyedit.c:1745
+#: g10/keyedit.c:1746
 msgid "You can't delete the last user ID!\n"
 msgstr ""
 
-#: g10/keyedit.c:1748
+#: g10/keyedit.c:1749
 msgid "Really remove all selected user IDs? (y/N) "
 msgstr ""
 
-#: g10/keyedit.c:1749
+#: g10/keyedit.c:1750
 msgid "Really remove this user ID? (y/N) "
 msgstr ""
 
 #. TRANSLATORS: Please take care: This is about
 #. moving the key and not about removing it.
-#: g10/keyedit.c:1806
+#: g10/keyedit.c:1807
 msgid "Really move the primary key? (y/N) "
 msgstr ""
 
-#: g10/keyedit.c:1818 g10/keyedit.c:4803
+#: g10/keyedit.c:1819 g10/keyedit.c:4804
 msgid "You must select exactly one key.\n"
 msgstr ""
 
-#: g10/keyedit.c:1846
+#: g10/keyedit.c:1847
 msgid "Command expects a filename argument\n"
 msgstr ""
 
-#: g10/keyedit.c:1867
+#: g10/keyedit.c:1868
 #, c-format
 msgid "Can't open '%s': %s\n"
 msgstr ""
 
-#: g10/keyedit.c:1886
+#: g10/keyedit.c:1887
 #, c-format
 msgid "Error reading backup key from '%s': %s\n"
 msgstr ""
 
-#: g10/keyedit.c:1921
+#: g10/keyedit.c:1922
 msgid "You must select at least one key.\n"
 msgstr ""
 
-#: g10/keyedit.c:1927
+#: g10/keyedit.c:1928
 msgid "Do you really want to delete the selected keys? (y/N) "
 msgstr ""
 
-#: g10/keyedit.c:1929
+#: g10/keyedit.c:1930
 msgid "Do you really want to delete this key? (y/N) "
 msgstr ""
 
-#: g10/keyedit.c:1967
+#: g10/keyedit.c:1968
 msgid "Really revoke all selected user IDs? (y/N) "
 msgstr ""
 
-#: g10/keyedit.c:1968
+#: g10/keyedit.c:1969
 msgid "Really revoke this user ID? (y/N) "
 msgstr ""
 
-#: g10/keyedit.c:1986
+#: g10/keyedit.c:1987
 msgid "Do you really want to revoke the entire key? (y/N) "
 msgstr ""
 
-#: g10/keyedit.c:1997
+#: g10/keyedit.c:1998
 msgid "Do you really want to revoke the selected subkeys? (y/N) "
 msgstr ""
 
-#: g10/keyedit.c:1999
+#: g10/keyedit.c:2000
 msgid "Do you really want to revoke this subkey? (y/N) "
 msgstr ""
 
-#: g10/keyedit.c:2057
+#: g10/keyedit.c:2058
 msgid "Owner trust may not be set while using a user provided trust database\n"
 msgstr ""
 
-#: g10/keyedit.c:2102
+#: g10/keyedit.c:2103
 msgid "Set preference list to:\n"
 msgstr ""
 
-#: g10/keyedit.c:2109
+#: g10/keyedit.c:2110
 msgid "Really update the preferences for the selected user IDs? (y/N) "
 msgstr ""
 
-#: g10/keyedit.c:2111
+#: g10/keyedit.c:2112
 msgid "Really update the preferences? (y/N) "
 msgstr ""
 
-#: g10/keyedit.c:2185
+#: g10/keyedit.c:2186
 msgid "Save changes? (y/N) "
 msgstr ""
 
-#: g10/keyedit.c:2189
+#: g10/keyedit.c:2190
 msgid "Quit without saving? (y/N) "
 msgstr ""
 
-#: g10/keyedit.c:2216 g10/keyedit.c:2762 g10/keyedit.c:3061 g10/keyedit.c:3214
+#: g10/keyedit.c:2217 g10/keyedit.c:2763 g10/keyedit.c:3062 g10/keyedit.c:3215
 #, c-format
 msgid "Key not changed so no update needed.\n"
 msgstr ""
 
-#: g10/keyedit.c:2448
+#: g10/keyedit.c:2449
 #, c-format
 msgid "cannot revoke the last valid user ID.\n"
 msgstr ""
 
-#: g10/keyedit.c:2475
+#: g10/keyedit.c:2476
 #, c-format
 msgid "revoking the user ID failed: %s\n"
 msgstr ""
 
-#: g10/keyedit.c:2541
+#: g10/keyedit.c:2542
 #, c-format
 msgid "setting the primary user ID failed: %s\n"
 msgstr ""
 
-#: g10/keyedit.c:2572
+#: g10/keyedit.c:2573
 #, c-format
 msgid "\"%s\" is not a fingerprint\n"
 msgstr ""
 
-#: g10/keyedit.c:2602
+#: g10/keyedit.c:2603
 #, c-format
 msgid "\"%s\" is not the primary fingerprint\n"
 msgstr ""
 
-#: g10/keyedit.c:2738 g10/keyedit.c:2741
+#: g10/keyedit.c:2739 g10/keyedit.c:2742
 #, c-format
 msgid "Invalid user ID '%s': %s\n"
 msgstr ""
 
-#: g10/keyedit.c:2744
+#: g10/keyedit.c:2745
 msgid "No matching user IDs."
 msgstr ""
 
-#: g10/keyedit.c:2744
+#: g10/keyedit.c:2745
 msgid "Nothing to sign.\n"
 msgstr ""
 
-#: g10/keyedit.c:2937 g10/keyedit.c:6019
+#: g10/keyedit.c:2938 g10/keyedit.c:6020
 #, c-format
 msgid "Not signed by you.\n"
 msgstr ""
 
-#: g10/keyedit.c:2995
+#: g10/keyedit.c:2996
 #, c-format
 msgid "revoking the key signature failed: %s\n"
 msgstr ""
 
-#: g10/keyedit.c:3116
+#: g10/keyedit.c:3117
 #, c-format
 msgid "'%s' is not a valid expiration time\n"
 msgstr ""
 
-#: g10/keyedit.c:3159
+#: g10/keyedit.c:3160
 #, c-format
 msgid "\"%s\" is not a proper fingerprint\n"
 msgstr ""
 
-#: g10/keyedit.c:3183
+#: g10/keyedit.c:3184
 #, c-format
 msgid "subkey \"%s\" not found\n"
 msgstr ""
 
-#: g10/keyedit.c:3306
+#: g10/keyedit.c:3307
 msgid "AEAD: "
 msgstr ""
 
-#: g10/keyedit.c:3323
+#: g10/keyedit.c:3324
 msgid "Digest: "
 msgstr ""
 
-#: g10/keyedit.c:3380
+#: g10/keyedit.c:3381
 msgid "Features: "
 msgstr ""
 
-#: g10/keyedit.c:3397
+#: g10/keyedit.c:3398
 msgid "Keyserver no-modify"
 msgstr ""
 
-#: g10/keyedit.c:3412 g10/keylist.c:376
+#: g10/keyedit.c:3413 g10/keylist.c:376
 msgid "Preferred keyserver: "
 msgstr ""
 
-#: g10/keyedit.c:3420 g10/keyedit.c:3421
+#: g10/keyedit.c:3421 g10/keyedit.c:3422
 msgid "Notations: "
 msgstr ""
 
-#: g10/keyedit.c:3669
+#: g10/keyedit.c:3670
 msgid "There are no preferences on a PGP 2.x-style user ID.\n"
 msgstr ""
 
-#: g10/keyedit.c:3741
+#: g10/keyedit.c:3742
 #, c-format
 msgid "The following key was revoked on %s by %s key %s\n"
 msgstr ""
 
-#: g10/keyedit.c:3765
+#: g10/keyedit.c:3766
 #, c-format
 msgid "This key may be revoked by %s key %s"
 msgstr ""
 
-#: g10/keyedit.c:3771
+#: g10/keyedit.c:3772
 msgid "(sensitive)"
 msgstr ""
 
-#: g10/keyedit.c:3813 g10/keyedit.c:3960 g10/keylist.c:264 g10/keyserver.c:538
+#: g10/keyedit.c:3814 g10/keyedit.c:3961 g10/keylist.c:264 g10/keyserver.c:361
 #, c-format
 msgid "created: %s"
 msgstr ""
 
-#: g10/keyedit.c:3816 g10/keylist.c:2149
+#: g10/keyedit.c:3817 g10/keylist.c:2149
 #, c-format
 msgid "revoked: %s"
 msgstr ""
 
-#: g10/keyedit.c:3818 g10/keylist.c:2155
+#: g10/keyedit.c:3819 g10/keylist.c:2155
 #, c-format
 msgid "expired: %s"
 msgstr ""
 
-#: g10/keyedit.c:3820 g10/keyedit.c:3962 g10/keylist.c:266 g10/keylist.c:2161
-#: g10/keyserver.c:544
+#: g10/keyedit.c:3821 g10/keyedit.c:3963 g10/keylist.c:266 g10/keylist.c:2161
+#: g10/keyserver.c:367
 #, c-format
 msgid "expires: %s"
 msgstr ""
 
-#: g10/keyedit.c:3822
+#: g10/keyedit.c:3823
 #, c-format
 msgid "usage: %s"
 msgstr ""
 
-#: g10/keyedit.c:3830 g10/keyedit.c:3850 g10/keylist.c:269
+#: g10/keyedit.c:3831 g10/keyedit.c:3851 g10/keylist.c:269
 msgid "card-no: "
 msgstr ""
 
-#: g10/keyedit.c:3889
+#: g10/keyedit.c:3890
 #, c-format
 msgid "trust: %s"
 msgstr ""
 
-#: g10/keyedit.c:3893
+#: g10/keyedit.c:3894
 #, c-format
 msgid "validity: %s"
 msgstr ""
 
-#: g10/keyedit.c:3900
+#: g10/keyedit.c:3901
 msgid "This key has been disabled"
 msgstr ""
 
-#: g10/keyedit.c:3918
+#: g10/keyedit.c:3919
 msgid ""
 "Please note that the shown key validity is not necessarily correct\n"
 "unless you restart the program.\n"
 msgstr ""
 
-#: g10/keyedit.c:3979 g10/keyedit.c:4410 g10/keyserver.c:548
-#: g10/mainproc.c:2371 g10/tofu.c:1787 g10/trust.c:437 dirmngr/ocsp.c:791
+#: g10/keyedit.c:3980 g10/keyedit.c:4411 g10/keyserver.c:371
+#: g10/mainproc.c:2380 g10/tofu.c:1787 g10/trust.c:437 dirmngr/ocsp.c:791
 msgid "revoked"
 msgstr ""
 
-#: g10/keyedit.c:3981 g10/keyedit.c:4412 g10/keyserver.c:552
-#: g10/mainproc.c:2373 g10/tofu.c:1792 g10/trust.c:124
+#: g10/keyedit.c:3982 g10/keyedit.c:4413 g10/keyserver.c:375
+#: g10/mainproc.c:2382 g10/tofu.c:1792 g10/trust.c:124
 msgid "expired"
 msgstr ""
 
-#: g10/keyedit.c:4098
+#: g10/keyedit.c:4099
 #, c-format
 msgid ""
 "WARNING: no user ID has been marked as primary.  This command may\n"
 "              cause a different user ID to become the assumed primary.\n"
 msgstr ""
 
-#: g10/keyedit.c:4150
+#: g10/keyedit.c:4151
 #, c-format
 msgid "WARNING: Your encryption subkey expires soon.\n"
 msgstr ""
 
-#: g10/keyedit.c:4151
+#: g10/keyedit.c:4152
 #, c-format
 msgid "You may want to change its expiration date too.\n"
 msgstr ""
 
-#: g10/keyedit.c:4210
+#: g10/keyedit.c:4211
 msgid ""
 "WARNING: This is a PGP2-style key.  Adding a photo ID may cause some "
 "versions\n"
 "         of PGP to reject this key.\n"
 msgstr ""
 
-#: g10/keyedit.c:4215 g10/keyedit.c:4505
+#: g10/keyedit.c:4216 g10/keyedit.c:4506
 msgid "Are you sure you still want to add it? (y/N) "
 msgstr ""
 
-#: g10/keyedit.c:4221
+#: g10/keyedit.c:4222
 msgid "You may not add a photo ID to a PGP2-style key.\n"
 msgstr ""
 
-#: g10/keyedit.c:4236 g10/keygen.c:2899
+#: g10/keyedit.c:4237 g10/keygen.c:2899
 msgid "Such a user ID already exists on this key!\n"
 msgstr ""
 
-#: g10/keyedit.c:4338
+#: g10/keyedit.c:4339
 msgid "Delete this good signature? (y/N/q)"
 msgstr ""
 
-#: g10/keyedit.c:4348
+#: g10/keyedit.c:4349
 msgid "Delete this invalid signature? (y/N/q)"
 msgstr ""
 
-#: g10/keyedit.c:4352
+#: g10/keyedit.c:4353
 msgid "Delete this unknown signature? (y/N/q)"
 msgstr ""
 
-#: g10/keyedit.c:4359
+#: g10/keyedit.c:4360
 msgid "Really delete this self-signature? (y/N)"
 msgstr ""
 
-#: g10/keyedit.c:4375
+#: g10/keyedit.c:4376
 #, c-format
 msgid "Deleted %d signature.\n"
 msgid_plural "Deleted %d signatures.\n"
 msgstr[0] ""
 msgstr[1] ""
 
-#: g10/keyedit.c:4379
+#: g10/keyedit.c:4380
 msgid "Nothing deleted.\n"
 msgstr ""
 
-#: g10/keyedit.c:4414
+#: g10/keyedit.c:4415
 msgid "invalid"
 msgstr ""
 
-#: g10/keyedit.c:4416
+#: g10/keyedit.c:4417
 #, c-format
 msgid "User ID \"%s\" compacted: %s\n"
 msgstr ""
 
-#: g10/keyedit.c:4422
+#: g10/keyedit.c:4423
 #, c-format
 msgid "User ID \"%s\": %d signature removed\n"
 msgid_plural "User ID \"%s\": %d signatures removed\n"
 msgstr[0] ""
 msgstr[1] ""
 
-#: g10/keyedit.c:4430
+#: g10/keyedit.c:4431
 #, c-format
 msgid "User ID \"%s\": already minimized\n"
 msgstr ""
 
-#: g10/keyedit.c:4431
+#: g10/keyedit.c:4432
 #, c-format
 msgid "User ID \"%s\": already clean\n"
 msgstr ""
 
-#: g10/keyedit.c:4500
+#: g10/keyedit.c:4501
 msgid ""
 "WARNING: This is a PGP 2.x-style key.  Adding a designated revoker may "
 "cause\n"
 "         some versions of PGP to reject this key.\n"
 msgstr ""
 
-#: g10/keyedit.c:4511
+#: g10/keyedit.c:4512
 msgid "You may not add a designated revoker to a PGP 2.x-style key.\n"
 msgstr ""
 
-#: g10/keyedit.c:4528
+#: g10/keyedit.c:4529
 msgid "Enter the user ID of the designated revoker: "
 msgstr ""
 
-#: g10/keyedit.c:4554
+#: g10/keyedit.c:4555
 #, c-format
 msgid "cannot appoint a PGP 2.x style key as a designated revoker\n"
 msgstr ""
 
-#: g10/keyedit.c:4569
+#: g10/keyedit.c:4570
 #, c-format
 msgid "you cannot appoint a key as its own designated revoker\n"
 msgstr ""
 
-#: g10/keyedit.c:4591
+#: g10/keyedit.c:4592
 #, c-format
 msgid "this key has already been designated as a revoker\n"
 msgstr ""
 
-#: g10/keyedit.c:4609
+#: g10/keyedit.c:4610
 msgid "WARNING: appointing a key as a designated revoker cannot be undone!\n"
 msgstr ""
 
-#: g10/keyedit.c:4615
+#: g10/keyedit.c:4616
 msgid ""
 "Are you sure you want to appoint this key as a designated revoker? (y/N) "
 msgstr ""
 
-#: g10/keyedit.c:4683
+#: g10/keyedit.c:4684
 msgid ""
 "Are you sure you want to change the expiration time for multiple subkeys? (y/"
 "N) "
 msgstr ""
 
-#: g10/keyedit.c:4688
+#: g10/keyedit.c:4689
 msgid "Changing expiration time for a subkey.\n"
 msgstr ""
 
-#: g10/keyedit.c:4691
+#: g10/keyedit.c:4692
 msgid "Changing expiration time for the primary key.\n"
 msgstr ""
 
-#: g10/keyedit.c:4747
+#: g10/keyedit.c:4748
 #, c-format
 msgid "You can't change the expiration date of a v3 key\n"
 msgstr ""
 
-#: g10/keyedit.c:4807
+#: g10/keyedit.c:4808
 msgid "Changing usage of a subkey.\n"
 msgstr ""
 
-#: g10/keyedit.c:4810
+#: g10/keyedit.c:4811
 msgid "Changing usage of the primary key.\n"
 msgstr ""
 
-#: g10/keyedit.c:4928
+#: g10/keyedit.c:4929
 #, c-format
 msgid "signing subkey %s is already cross-certified\n"
 msgstr ""
 
-#: g10/keyedit.c:4934
+#: g10/keyedit.c:4935
 #, c-format
 msgid "subkey %s does not sign and so does not need to be cross-certified\n"
 msgstr ""
 
-#: g10/keyedit.c:5051
+#: g10/keyedit.c:5052
 msgid "Please select exactly one user ID.\n"
 msgstr ""
 
-#: g10/keyedit.c:5092 g10/keyedit.c:5206 g10/keyedit.c:5319 g10/keyedit.c:5457
+#: g10/keyedit.c:5093 g10/keyedit.c:5207 g10/keyedit.c:5320 g10/keyedit.c:5458
 #, c-format
 msgid "skipping v3 self-signature on user ID \"%s\"\n"
 msgstr ""
 
-#: g10/keyedit.c:5263
+#: g10/keyedit.c:5264
 msgid "Enter your preferred keyserver URL: "
 msgstr ""
 
-#: g10/keyedit.c:5342
+#: g10/keyedit.c:5343
 msgid "Are you sure you want to replace it? (y/N) "
 msgstr ""
 
-#: g10/keyedit.c:5343
+#: g10/keyedit.c:5344
 msgid "Are you sure you want to delete it? (y/N) "
 msgstr ""
 
-#: g10/keyedit.c:5403
+#: g10/keyedit.c:5404
 msgid "Enter the notation: "
 msgstr ""
 
-#: g10/keyedit.c:5550
+#: g10/keyedit.c:5551
 msgid "Proceed? (y/N) "
 msgstr ""
 
-#: g10/keyedit.c:5620
+#: g10/keyedit.c:5621
 #, c-format
 msgid "No user ID with index %d\n"
 msgstr ""
 
-#: g10/keyedit.c:5682
+#: g10/keyedit.c:5683
 #, c-format
 msgid "No user ID with hash %s\n"
 msgstr ""
 
-#: g10/keyedit.c:5783
+#: g10/keyedit.c:5784
 #, c-format
 msgid "No subkey with key ID '%s'.\n"
 msgstr ""
 
-#: g10/keyedit.c:5805
+#: g10/keyedit.c:5806
 #, c-format
 msgid "No subkey with index %d\n"
 msgstr ""
 
-#: g10/keyedit.c:5946
+#: g10/keyedit.c:5947
 #, c-format
 msgid "user ID: \"%s\"\n"
 msgstr ""
 
-#: g10/keyedit.c:5949 g10/keyedit.c:6051 g10/keyedit.c:6099
+#: g10/keyedit.c:5950 g10/keyedit.c:6052 g10/keyedit.c:6100
 #, c-format
 msgid "signed by your key %s on %s%s%s\n"
 msgstr ""
 
-#: g10/keyedit.c:5951 g10/keyedit.c:6053 g10/keyedit.c:6101
+#: g10/keyedit.c:5952 g10/keyedit.c:6054 g10/keyedit.c:6102
 msgid " (non-exportable)"
 msgstr ""
 
-#: g10/keyedit.c:5955
+#: g10/keyedit.c:5956
 #, c-format
 msgid "This signature expired on %s.\n"
 msgstr ""
 
-#: g10/keyedit.c:5960
+#: g10/keyedit.c:5961
 msgid "Are you sure you still want to revoke it? (y/N) "
 msgstr ""
 
-#: g10/keyedit.c:5965
+#: g10/keyedit.c:5966
 msgid "Create a revocation certificate for this signature? (y/N) "
 msgstr ""
 
-#: g10/keyedit.c:6025
+#: g10/keyedit.c:6026
 #, c-format
 msgid "You have signed these user IDs on key %s:\n"
 msgstr ""
 
-#: g10/keyedit.c:6054
+#: g10/keyedit.c:6055
 msgid " (non-revocable)"
 msgstr ""
 
-#: g10/keyedit.c:6061
+#: g10/keyedit.c:6062
 #, c-format
 msgid "revoked by your key %s on %s\n"
 msgstr ""
 
-#: g10/keyedit.c:6086
+#: g10/keyedit.c:6087
 msgid "You are about to revoke these signatures:\n"
 msgstr ""
 
-#: g10/keyedit.c:6109
+#: g10/keyedit.c:6110
 msgid "Really create the revocation certificates? (y/N) "
 msgstr ""
 
-#: g10/keyedit.c:6142
+#: g10/keyedit.c:6143
 #, c-format
 msgid "no secret key\n"
 msgstr ""
 
-#: g10/keyedit.c:6190
+#: g10/keyedit.c:6191
 #, c-format
 msgid "tried to revoke a non-user ID: %s\n"
 msgstr ""
 
-#: g10/keyedit.c:6200
+#: g10/keyedit.c:6201
 #, c-format
 msgid "user ID \"%s\" is already revoked\n"
 msgstr ""
 
-#: g10/keyedit.c:6217
+#: g10/keyedit.c:6218
 #, c-format
 msgid "WARNING: a user ID signature is dated %d seconds in the future\n"
 msgstr ""
 
-#: g10/keyedit.c:6313
+#: g10/keyedit.c:6314
 #, c-format
 msgid "Cannot revoke the last valid user ID.\n"
 msgstr ""
 
-#: g10/keyedit.c:6351
+#: g10/keyedit.c:6352
 #, c-format
 msgid "Key %s is already revoked.\n"
 msgstr ""
 
-#: g10/keyedit.c:6413
+#: g10/keyedit.c:6414
 #, c-format
 msgid "Subkey %s is already revoked.\n"
 msgstr ""
 
-#: g10/keyedit.c:6510
+#: g10/keyedit.c:6511
 #, c-format
 msgid "Displaying %s photo ID of size %ld for key %s (uid %d)\n"
 msgstr ""
@@ -5458,77 +5476,72 @@ msgstr ""
 msgid "honor the PKA record set on a key when retrieving keys"
 msgstr ""
 
-#: g10/keyserver.c:550
+#: g10/keyserver.c:373
 msgid "disabled"
 msgstr ""
 
-#: g10/keyserver.c:754
+#: g10/keyserver.c:577
 msgid "Enter number(s), N)ext, or Q)uit > "
 msgstr ""
 
-#: g10/keyserver.c:860
+#: g10/keyserver.c:683
 #, c-format
 msgid "invalid keyserver protocol (us %d!=handler %d)\n"
 msgstr ""
 
-#: g10/keyserver.c:1001 g10/keyserver.c:1116
+#: g10/keyserver.c:824 g10/keyserver.c:939
 #, c-format
 msgid "\"%s\" not a key ID: skipping\n"
 msgstr ""
 
-#: g10/keyserver.c:1438 g10/keyserver.c:1471
+#: g10/keyserver.c:1237 g10/keyserver.c:1270
 #, c-format
 msgid "refreshing %d key from %s\n"
 msgid_plural "refreshing %d keys from %s\n"
 msgstr[0] ""
 msgstr[1] ""
 
-#: g10/keyserver.c:1445
+#: g10/keyserver.c:1244
 #, c-format
 msgid "WARNING: unable to refresh key %s via %s: %s\n"
 msgstr ""
 
-#: g10/keyserver.c:1549
+#: g10/keyserver.c:1336
 #, c-format
 msgid "key \"%s\" not found on keyserver\n"
 msgstr ""
 
-#: g10/keyserver.c:1552
+#: g10/keyserver.c:1339
 #, c-format
 msgid "key not found on keyserver\n"
 msgstr ""
 
-#: g10/keyserver.c:1743
-#, c-format
-msgid "requesting key %s from %s server %s\n"
-msgstr ""
-
-#: g10/keyserver.c:1747
+#: g10/keyserver.c:1504
 #, c-format
 msgid "requesting key %s from %s\n"
 msgstr ""
 
-#: g10/keyserver.c:1852 g10/keyserver.c:2031
+#: g10/keyserver.c:1619 g10/keyserver.c:1798
 #, c-format
 msgid "no keyserver known\n"
 msgstr ""
 
-#: g10/keyserver.c:1867 g10/skclist.c:214 g10/skclist.c:242
+#: g10/keyserver.c:1634 g10/skclist.c:215 g10/skclist.c:243
 #, c-format
 msgid "skipped \"%s\": %s\n"
 msgstr ""
 
-#: g10/keyserver.c:1871
+#: g10/keyserver.c:1638
 #, c-format
 msgid "sending key %s to %s\n"
 msgstr ""
 
-#: g10/keyserver.c:1912
+#: g10/keyserver.c:1679
 #, c-format
 msgid "requesting key from '%s'\n"
 msgstr ""
 
-#: g10/keyserver.c:1928
+#: g10/keyserver.c:1695
 #, c-format
 msgid "WARNING: unable to fetch URI %s: %s\n"
 msgstr ""
@@ -5543,250 +5556,250 @@ msgstr ""
 msgid "%s encrypted session key\n"
 msgstr ""
 
-#: g10/mainproc.c:400
+#: g10/mainproc.c:403
 #, c-format
 msgid "passphrase generated with unknown digest algorithm %d\n"
 msgstr ""
 
-#: g10/mainproc.c:481
+#: g10/mainproc.c:485
 #, c-format
 msgid "public key is %s\n"
 msgstr ""
 
-#: g10/mainproc.c:557
+#: g10/mainproc.c:561
 #, c-format
 msgid "public key encrypted data: good DEK\n"
 msgstr ""
 
-#: g10/mainproc.c:590
+#: g10/mainproc.c:594
 #, c-format
 msgid "encrypted with %u-bit %s key, ID %s, created %s\n"
 msgstr ""
 
-#: g10/mainproc.c:594 g10/pkclist.c:228
+#: g10/mainproc.c:598 g10/pkclist.c:228
 #, c-format
 msgid "      \"%s\"\n"
 msgstr ""
 
-#: g10/mainproc.c:598
+#: g10/mainproc.c:602
 #, c-format
 msgid "encrypted with %s key, ID %s\n"
 msgstr ""
 
-#: g10/mainproc.c:619
+#: g10/mainproc.c:623
 #, c-format
 msgid "public key decryption failed: %s\n"
 msgstr ""
 
-#: g10/mainproc.c:641 g10/mainproc.c:970
+#: g10/mainproc.c:645 g10/mainproc.c:976
 #, c-format
 msgid "WARNING: multiple plaintexts seen\n"
 msgstr ""
 
-#: g10/mainproc.c:649
+#: g10/mainproc.c:653
 #, c-format
 msgid "encrypted with %lu passphrases\n"
 msgstr ""
 
-#: g10/mainproc.c:651
+#: g10/mainproc.c:655
 #, c-format
 msgid "encrypted with 1 passphrase\n"
 msgstr ""
 
-#: g10/mainproc.c:685 g10/mainproc.c:706
+#: g10/mainproc.c:689 g10/mainproc.c:710
 #, c-format
 msgid "assuming %s encrypted data\n"
 msgstr ""
 
-#: g10/mainproc.c:692
+#: g10/mainproc.c:696
 #, c-format
 msgid "IDEA cipher unavailable, optimistically attempting to use %s instead\n"
 msgstr ""
 
-#: g10/mainproc.c:779 g10/mainproc.c:817
+#: g10/mainproc.c:785 g10/mainproc.c:823
 #, c-format
 msgid "WARNING: message was not integrity protected\n"
 msgstr ""
 
-#: g10/mainproc.c:790
+#: g10/mainproc.c:796
 msgid ""
 "Hint: If this message was created before the year 2003 it is\n"
 "likely that this message is legitimate.  This is because back\n"
 "then integrity protection was not widely used.\n"
 msgstr ""
 
-#: g10/mainproc.c:793
+#: g10/mainproc.c:799
 #, c-format
 msgid "Use the option '%s' to decrypt anyway.\n"
 msgstr ""
 
-#: g10/mainproc.c:798
+#: g10/mainproc.c:804
 #, c-format
 msgid "decryption forced to fail!\n"
 msgstr ""
 
-#: g10/mainproc.c:810
+#: g10/mainproc.c:816
 #, c-format
 msgid "decryption okay\n"
 msgstr ""
 
-#: g10/mainproc.c:823
+#: g10/mainproc.c:829
 #, c-format
 msgid "WARNING: encrypted message has been manipulated!\n"
 msgstr ""
 
-#: g10/mainproc.c:841
+#: g10/mainproc.c:847
 #, c-format
 msgid "decryption failed: %s\n"
 msgstr ""
 
-#: g10/mainproc.c:886
+#: g10/mainproc.c:892
 #, c-format
 msgid "Note: sender requested \"for-your-eyes-only\"\n"
 msgstr ""
 
-#: g10/mainproc.c:893
+#: g10/mainproc.c:899
 #, c-format
 msgid "original file name='%.*s'\n"
 msgstr ""
 
-#: g10/mainproc.c:1148
+#: g10/mainproc.c:1154
 #, c-format
 msgid "standalone revocation - use \"gpg --import\" to apply\n"
 msgstr ""
 
-#: g10/mainproc.c:1452 g10/mainproc.c:1495
+#: g10/mainproc.c:1458 g10/mainproc.c:1501
 #, c-format
 msgid "no signature found\n"
 msgstr ""
 
-#: g10/mainproc.c:1852
+#: g10/mainproc.c:1858
 #, c-format
 msgid "BAD signature from \"%s\""
 msgstr ""
 
-#: g10/mainproc.c:1854
+#: g10/mainproc.c:1860
 #, c-format
 msgid "Expired signature from \"%s\""
 msgstr ""
 
-#: g10/mainproc.c:1856
+#: g10/mainproc.c:1862
 #, c-format
 msgid "Good signature from \"%s\""
 msgstr ""
 
-#: g10/mainproc.c:1876
+#: g10/mainproc.c:1882
 #, c-format
 msgid "signature verification suppressed\n"
 msgstr ""
 
-#: g10/mainproc.c:1985
+#: g10/mainproc.c:1991
 #, c-format
 msgid "can't handle this ambiguous signature data\n"
 msgstr ""
 
-#: g10/mainproc.c:2001 g10/mainproc.c:2008
+#: g10/mainproc.c:2007 g10/mainproc.c:2014
 #, c-format
 msgid "Signature made %s\n"
 msgstr ""
 
-#: g10/mainproc.c:2002 g10/mainproc.c:2009 sm/verify.c:476
+#: g10/mainproc.c:2008 g10/mainproc.c:2015 sm/verify.c:476
 #, c-format
 msgid "               using %s key %s\n"
 msgstr ""
 
-#: g10/mainproc.c:2013
+#: g10/mainproc.c:2019
 #, c-format
 msgid "Signature made %s using %s key ID %s\n"
 msgstr ""
 
-#: g10/mainproc.c:2019
+#: g10/mainproc.c:2025
 #, c-format
 msgid "               issuer \"%s\"\n"
 msgstr ""
 
-#: g10/mainproc.c:2070
+#: g10/mainproc.c:2076
 #, c-format
 msgid "Key available at: "
 msgstr ""
 
-#: g10/mainproc.c:2111
+#: g10/mainproc.c:2118
 #, c-format
 msgid "Note: Use '%s' to make use of this info\n"
 msgstr ""
 
-#: g10/mainproc.c:2325
+#: g10/mainproc.c:2334
 msgid "[uncertain]"
 msgstr ""
 
-#: g10/mainproc.c:2363
+#: g10/mainproc.c:2372
 #, c-format
 msgid "                aka \"%s\""
 msgstr ""
 
-#: g10/mainproc.c:2438
+#: g10/mainproc.c:2447
 #, c-format
 msgid "WARNING: This key is not suitable for signing in %s mode\n"
 msgstr ""
 
-#: g10/mainproc.c:2456
+#: g10/mainproc.c:2465
 #, c-format
 msgid "Signature expired %s\n"
 msgstr ""
 
-#: g10/mainproc.c:2460
+#: g10/mainproc.c:2469
 #, c-format
 msgid "Signature expires %s\n"
 msgstr ""
 
-#: g10/mainproc.c:2471
+#: g10/mainproc.c:2480
 #, c-format
 msgid "%s signature, digest algorithm %s%s%s\n"
 msgstr ""
 
-#: g10/mainproc.c:2472
+#: g10/mainproc.c:2481
 msgid "binary"
 msgstr ""
 
-#: g10/mainproc.c:2473
+#: g10/mainproc.c:2482
 msgid "textmode"
 msgstr ""
 
-#: g10/mainproc.c:2473 g10/trust.c:123 dirmngr/ocsp.c:792
+#: g10/mainproc.c:2482 g10/trust.c:123 dirmngr/ocsp.c:792
 msgid "unknown"
 msgstr ""
 
-#: g10/mainproc.c:2475
+#: g10/mainproc.c:2484
 msgid ", key algorithm "
 msgstr ""
 
-#: g10/mainproc.c:2510
+#: g10/mainproc.c:2519
 #, c-format
 msgid "WARNING: not a detached signature; file '%s' was NOT verified!\n"
 msgstr ""
 
-#: g10/mainproc.c:2548
+#: g10/mainproc.c:2558
 #, c-format
 msgid "Can't check signature: %s\n"
 msgstr ""
 
-#: g10/mainproc.c:2644 g10/mainproc.c:2663 g10/mainproc.c:2787
+#: g10/mainproc.c:2654 g10/mainproc.c:2673 g10/mainproc.c:2797
 #, c-format
 msgid "not a detached signature\n"
 msgstr ""
 
-#: g10/mainproc.c:2697
+#: g10/mainproc.c:2707
 #, c-format
 msgid ""
 "WARNING: multiple signatures detected.  Only the first will be checked.\n"
 msgstr ""
 
-#: g10/mainproc.c:2706
+#: g10/mainproc.c:2716
 #, c-format
 msgid "standalone signature of class 0x%02x\n"
 msgstr ""
 
-#: g10/mainproc.c:2791
+#: g10/mainproc.c:2801
 #, c-format
 msgid "old style (PGP 2.x) signature\n"
 msgstr ""
@@ -5964,50 +5977,54 @@ msgstr ""
 msgid "subpacket of type %d has critical bit set\n"
 msgstr ""
 
-#: g10/passphrase.c:73 g10/passphrase.c:275 g10/passphrase.c:308
+#: g10/passphrase.c:73 g10/passphrase.c:283 g10/passphrase.c:316
 #, c-format
 msgid "problem with the agent: %s\n"
 msgstr ""
 
-#: g10/passphrase.c:258
+#: g10/passphrase.c:251 sm/decrypt.c:341
+msgid "Please enter the passphrase for decryption."
+msgstr ""
+
+#: g10/passphrase.c:253
 msgid "Enter passphrase\n"
 msgstr ""
 
-#: g10/passphrase.c:269
+#: g10/passphrase.c:277
 #, c-format
 msgid "cancelled by user\n"
 msgstr ""
 
-#: g10/passphrase.c:510
+#: g10/passphrase.c:523
 #, c-format
 msgid " (main key ID %s)"
 msgstr ""
 
-#: g10/passphrase.c:517
+#: g10/passphrase.c:530
 msgid "Please enter the passphrase to unlock the OpenPGP secret key:"
 msgstr ""
 
-#: g10/passphrase.c:521
+#: g10/passphrase.c:534
 msgid "Please enter the passphrase to import the OpenPGP secret key:"
 msgstr ""
 
-#: g10/passphrase.c:526
+#: g10/passphrase.c:539
 msgid "Please enter the passphrase to export the OpenPGP secret subkey:"
 msgstr ""
 
-#: g10/passphrase.c:529
+#: g10/passphrase.c:542
 msgid "Please enter the passphrase to export the OpenPGP secret key:"
 msgstr ""
 
-#: g10/passphrase.c:534
+#: g10/passphrase.c:547
 msgid "Do you really want to permanently delete the OpenPGP secret subkey key:"
 msgstr ""
 
-#: g10/passphrase.c:537
+#: g10/passphrase.c:550
 msgid "Do you really want to permanently delete the OpenPGP secret key:"
 msgstr ""
 
-#: g10/passphrase.c:546
+#: g10/passphrase.c:559
 #, c-format
 msgid ""
 "%s\n"
@@ -6053,7 +6070,7 @@ msgstr ""
 msgid "Is this photo correct (y/N/q)? "
 msgstr ""
 
-#: g10/photoid.c:395
+#: g10/photoid.c:399
 #, c-format
 msgid "unable to display photo ID!\n"
 msgstr ""
@@ -6382,7 +6399,7 @@ msgstr ""
 msgid "can't open signed data fd=%d: %s\n"
 msgstr ""
 
-#: g10/pubkey-enc.c:98 g10/pubkey-enc.c:139 sm/decrypt.c:493
+#: g10/pubkey-enc.c:98 g10/pubkey-enc.c:139 sm/decrypt.c:969
 #, c-format
 msgid "key %s is not suitable for decryption in %s mode\n"
 msgstr ""
@@ -6397,27 +6414,27 @@ msgstr ""
 msgid "okay, we are the anonymous recipient.\n"
 msgstr ""
 
-#: g10/pubkey-enc.c:321
+#: g10/pubkey-enc.c:311
 #, c-format
 msgid "old encoding of the DEK is not supported\n"
 msgstr ""
 
-#: g10/pubkey-enc.c:349
+#: g10/pubkey-enc.c:339
 #, c-format
 msgid "cipher algorithm %d%s is unknown or disabled\n"
 msgstr ""
 
-#: g10/pubkey-enc.c:393
+#: g10/pubkey-enc.c:383
 #, c-format
 msgid "WARNING: cipher algorithm %s not found in recipient preferences\n"
 msgstr ""
 
-#: g10/pubkey-enc.c:426
+#: g10/pubkey-enc.c:416
 #, c-format
 msgid "Note: secret key %s expired at %s\n"
 msgstr ""
 
-#: g10/pubkey-enc.c:433
+#: g10/pubkey-enc.c:423
 #, c-format
 msgid "Note: key has been revoked"
 msgstr ""
@@ -6696,38 +6713,38 @@ msgstr ""
 msgid "%s/%s signature from: \"%s\"\n"
 msgstr ""
 
-#: g10/sign.c:1046
+#: g10/sign.c:1045
 #, c-format
 msgid ""
 "WARNING: forcing digest algorithm %s (%d) violates recipient preferences\n"
 msgstr ""
 
-#: g10/sign.c:1188
+#: g10/sign.c:1187
 #, c-format
 msgid "signing:"
 msgstr ""
 
-#: g10/sign.c:1465
+#: g10/sign.c:1464
 #, c-format
 msgid "%s encryption will be used\n"
 msgstr ""
 
-#: g10/skclist.c:173 g10/skclist.c:254
+#: g10/skclist.c:174 g10/skclist.c:255
 #, c-format
 msgid "key is not flagged as insecure - can't use it with the faked RNG!\n"
 msgstr ""
 
-#: g10/skclist.c:205
+#: g10/skclist.c:206
 #, c-format
 msgid "skipped \"%s\": duplicated\n"
 msgstr ""
 
-#: g10/skclist.c:224
+#: g10/skclist.c:225
 #, c-format
 msgid "skipped: secret key already present\n"
 msgstr ""
 
-#: g10/skclist.c:243
+#: g10/skclist.c:244
 msgid "this is a PGP generated Elgamal key which is not secure for signatures!"
 msgstr ""
 
@@ -6779,7 +6796,7 @@ msgstr ""
 msgid "trustdb: sync failed: %s\n"
 msgstr ""
 
-#: g10/tdbio.c:144 sm/keydb.c:336
+#: g10/tdbio.c:144 sm/keydb.c:335
 #, c-format
 msgid "can't create lock for '%s'\n"
 msgstr ""
@@ -7490,39 +7507,49 @@ msgstr ""
 #. TRANSLATORS: Put a \x1f right before a colon.  This can be
 #. * used by pinentry to nicely align the names and values.  Keep
 #. * the %s at the start and end of the string.
-#: scd/app-p15.c:3369 scd/app-openpgp.c:2153
+#: scd/app-p15.c:4955 scd/app-openpgp.c:2151
 #, c-format
 msgid "%sNumber\1f: %s%%0AHolder\1f: %s%s"
 msgstr ""
 
 #. TRANSLATORS: This is the number of remaining attempts to
 #. * enter a PIN.  Use %%0A (double-percent,0A) for a linefeed.
-#: scd/app-p15.c:3388 scd/app-openpgp.c:2169
+#: scd/app-p15.c:4974 scd/app-openpgp.c:2167
 #, c-format
 msgid "Remaining attempts: %d"
 msgstr ""
 
-#: scd/app-p15.c:3459 scd/app-nks.c:1110
+#: scd/app-p15.c:5053 scd/app-nks.c:1113
 msgid "||Please enter the PIN for the key to create qualified signatures."
 msgstr ""
 
-#: scd/app-p15.c:3462 scd/app-nks.c:1092
+#. TRANSLATORS: Do not translate the "|A|" prefix but keep it at
+#. the start of the string.  Use %0A (single percent) for a linefeed.
+#: scd/app-p15.c:5056 scd/app-openpgp.c:2461
+msgid "|A|Please enter the Admin PIN"
+msgstr ""
+
+#: scd/app-p15.c:5058 scd/app-nks.c:1103
+msgid "|P|Please enter the PIN Unblocking Code (PUK) for the standard keys."
+msgstr ""
+
+#: scd/app-p15.c:5061 scd/app-nks.c:1095
 msgid "||Please enter the PIN for the standard keys."
 msgstr ""
 
-#: scd/app-nks.c:709 scd/app-openpgp.c:3664
+#: scd/app-nks.c:709 scd/app-openpgp.c:3663
 #, c-format
 msgid "RSA modulus missing or not of size %d bits\n"
 msgstr ""
 
-#: scd/app-nks.c:717 scd/app-openpgp.c:3676
+#: scd/app-nks.c:717 scd/app-openpgp.c:3675
 #, c-format
 msgid "RSA public exponent missing or larger than %d bits\n"
 msgstr ""
 
-#: scd/app-nks.c:797 scd/app-openpgp.c:2326 scd/app-openpgp.c:2345
-#: scd/app-openpgp.c:2512 scd/app-openpgp.c:2530 scd/app-openpgp.c:2827
-#: scd/app-openpgp.c:2874 scd/app-openpgp.c:2989 scd/app-dinsig.c:303
+#: scd/app-nks.c:797 scd/app-openpgp.c:2324 scd/app-openpgp.c:2343
+#: scd/app-openpgp.c:2510 scd/app-openpgp.c:2528 scd/app-openpgp.c:2826
+#: scd/app-openpgp.c:2873 scd/app-openpgp.c:2988 scd/app-dinsig.c:302
 #, c-format
 msgid "PIN callback returned error: %s\n"
 msgstr ""
@@ -7532,75 +7559,71 @@ msgstr ""
 msgid "the NullPIN has not yet been changed\n"
 msgstr ""
 
-#: scd/app-nks.c:1091
+#: scd/app-nks.c:1094
 msgid "|N|Please enter a new PIN for the standard keys."
 msgstr ""
 
-#: scd/app-nks.c:1098
+#: scd/app-nks.c:1101
 msgid "|NP|Please enter a new PIN Unblocking Code (PUK) for the standard keys."
 msgstr ""
 
-#: scd/app-nks.c:1100
-msgid "|P|Please enter the PIN Unblocking Code (PUK) for the standard keys."
-msgstr ""
-
-#: scd/app-nks.c:1108
+#: scd/app-nks.c:1111
 msgid "|N|Please enter a new PIN for the key to create qualified signatures."
 msgstr ""
 
-#: scd/app-nks.c:1118
+#: scd/app-nks.c:1121
 msgid ""
 "|NP|Please enter a new PIN Unblocking Code (PUK) for the key to create "
 "qualified signatures."
 msgstr ""
 
-#: scd/app-nks.c:1120
+#: scd/app-nks.c:1123
 msgid ""
 "|P|Please enter the PIN Unblocking Code (PUK) for the key to create "
 "qualified signatures."
 msgstr ""
 
-#: scd/app-nks.c:1227 scd/app-openpgp.c:2908 scd/app-dinsig.c:531
+#: scd/app-nks.c:1230 scd/app-openpgp.c:2907 scd/app-dinsig.c:532
 #, c-format
 msgid "error getting new PIN: %s\n"
 msgstr ""
 
-#: scd/app-openpgp.c:860
+#: scd/app-openpgp.c:859
 #, c-format
 msgid "failed to store the fingerprint: %s\n"
 msgstr ""
 
-#: scd/app-openpgp.c:873
+#: scd/app-openpgp.c:872
 #, c-format
 msgid "failed to store the creation date: %s\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1272 scd/app-openpgp.c:2855 scd/app-openpgp.c:5020
+#: scd/app-openpgp.c:1268 scd/app-openpgp.c:2854 scd/app-openpgp.c:5025
 #, c-format
 msgid "error retrieving CHV status from card\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1430
+#: scd/app-openpgp.c:1426
 #, c-format
 msgid "response does not contain the RSA modulus\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1437
+#: scd/app-openpgp.c:1433
 #, c-format
 msgid "response does not contain the RSA public exponent\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1547
+#: scd/app-openpgp.c:1543
 #, c-format
 msgid "response does not contain the EC public key\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1665 scd/app-openpgp.c:4284
+#: scd/app-openpgp.c:1661 scd/app-openpgp.c:4283
 #, c-format
 msgid "response does not contain the public key data\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1772
+#: scd/app-openpgp.c:1768
 #, c-format
 msgid "reading public key failed: %s\n"
 msgstr ""
@@ -7608,42 +7631,42 @@ msgstr ""
 #. TRANSLATORS: Put a \x1f right before a colon.  This can be
 #. * used by pinentry to nicely align the names and values.  Keep
 #. * the %s at the start and end of the string.
-#: scd/app-openpgp.c:2140
+#: scd/app-openpgp.c:2138
 #, c-format
 msgid "%sNumber\1f: %s%%0AHolder\1f: %s%%0ACounter\1f: %lu%s"
 msgstr ""
 
-#: scd/app-openpgp.c:2280
+#: scd/app-openpgp.c:2278
 #, c-format
 msgid "using default PIN as %s\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2287
+#: scd/app-openpgp.c:2285
 #, c-format
 msgid "failed to use default PIN as %s: %s - disabling further default use\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2300
+#: scd/app-openpgp.c:2298
 msgid "||Please unlock the card"
 msgstr ""
 
-#: scd/app-openpgp.c:2352 scd/app-openpgp.c:2537 scd/app-openpgp.c:2834
+#: scd/app-openpgp.c:2350 scd/app-openpgp.c:2535 scd/app-openpgp.c:2833
 #, c-format
 msgid "PIN for CHV%d is too short; minimum length is %d\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2366 scd/app-openpgp.c:2413 scd/app-openpgp.c:2551
-#: scd/app-openpgp.c:4642
+#: scd/app-openpgp.c:2364 scd/app-openpgp.c:2411 scd/app-openpgp.c:2549
+#: scd/app-openpgp.c:4641
 #, c-format
 msgid "verify CHV%d failed: %s\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2449 scd/app-openpgp.c:5029
+#: scd/app-openpgp.c:2447 scd/app-openpgp.c:5034
 #, c-format
 msgid "card is permanently locked!\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2453
+#: scd/app-openpgp.c:2451
 #, c-format
 msgid "%d Admin PIN attempt remaining before card is permanently locked\n"
 msgid_plural ""
@@ -7651,26 +7674,20 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-#. TRANSLATORS: Do not translate the "|A|" prefix but keep it at
-#. the start of the string.  Use %0A (single percent) for a linefeed.
-#: scd/app-openpgp.c:2463
-msgid "|A|Please enter the Admin PIN"
-msgstr ""
-
-#: scd/app-openpgp.c:2484
+#: scd/app-openpgp.c:2482
 #, c-format
 msgid "access to admin commands is not configured\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2821
+#: scd/app-openpgp.c:2820
 msgid "||Please enter the PIN"
 msgstr ""
 
-#: scd/app-openpgp.c:2870
+#: scd/app-openpgp.c:2869
 msgid "||Please enter the Reset Code for the card"
 msgstr ""
 
-#: scd/app-openpgp.c:2880 scd/app-openpgp.c:2941
+#: scd/app-openpgp.c:2879 scd/app-openpgp.c:2940
 #, c-format
 msgid "Reset Code is too short; minimum length is %d\n"
 msgstr ""
@@ -7678,132 +7695,132 @@ msgstr ""
 #. TRANSLATORS: Do not translate the "|*|" prefixes but
 #. keep it at the start of the string.  We need this elsewhere
 #. to get some infos on the string.
-#: scd/app-openpgp.c:2903
+#: scd/app-openpgp.c:2902
 msgid "|RN|New Reset Code"
 msgstr ""
 
-#: scd/app-openpgp.c:2904
+#: scd/app-openpgp.c:2903
 msgid "|AN|New Admin PIN"
 msgstr ""
 
-#: scd/app-openpgp.c:2904
+#: scd/app-openpgp.c:2903
 msgid "|N|New PIN"
 msgstr ""
 
-#: scd/app-openpgp.c:2985
+#: scd/app-openpgp.c:2984
 msgid "||Please enter the Admin PIN and New Admin PIN"
 msgstr ""
 
-#: scd/app-openpgp.c:2986
+#: scd/app-openpgp.c:2985
 msgid "||Please enter the PIN and New PIN"
 msgstr ""
 
-#: scd/app-openpgp.c:3048 scd/app-openpgp.c:4344
+#: scd/app-openpgp.c:3047 scd/app-openpgp.c:4343
 #, c-format
 msgid "error reading application data\n"
 msgstr ""
 
-#: scd/app-openpgp.c:3054 scd/app-openpgp.c:4351
+#: scd/app-openpgp.c:3053 scd/app-openpgp.c:4350
 #, c-format
 msgid "error reading fingerprint DO\n"
 msgstr ""
 
-#: scd/app-openpgp.c:3064
+#: scd/app-openpgp.c:3063
 #, c-format
 msgid "key already exists\n"
 msgstr ""
 
-#: scd/app-openpgp.c:3068
+#: scd/app-openpgp.c:3067
 #, c-format
 msgid "existing key will be replaced\n"
 msgstr ""
 
-#: scd/app-openpgp.c:3070
+#: scd/app-openpgp.c:3069
 #, c-format
 msgid "generating new key\n"
 msgstr ""
 
-#: scd/app-openpgp.c:3072
+#: scd/app-openpgp.c:3071
 #, c-format
 msgid "writing new key\n"
 msgstr ""
 
-#: scd/app-openpgp.c:3645 scd/app-openpgp.c:3997
+#: scd/app-openpgp.c:3644 scd/app-openpgp.c:3996
 #, c-format
 msgid "creation timestamp missing\n"
 msgstr ""
 
-#: scd/app-openpgp.c:3686 scd/app-openpgp.c:3694
+#: scd/app-openpgp.c:3685 scd/app-openpgp.c:3693
 #, c-format
 msgid "RSA prime %s missing or not of size %d bits\n"
 msgstr ""
 
-#: scd/app-openpgp.c:3827 scd/app-openpgp.c:4104
+#: scd/app-openpgp.c:3826 scd/app-openpgp.c:4103
 #, c-format
 msgid "failed to store the key: %s\n"
 msgstr ""
 
-#: scd/app-openpgp.c:3991
+#: scd/app-openpgp.c:3990
 #, c-format
 msgid "unsupported curve\n"
 msgstr ""
 
-#: scd/app-openpgp.c:4261
+#: scd/app-openpgp.c:4260
 #, c-format
 msgid "please wait while key is being generated ...\n"
 msgstr ""
 
-#: scd/app-openpgp.c:4269
+#: scd/app-openpgp.c:4268
 #, c-format
 msgid "generating key failed\n"
 msgstr ""
 
-#: scd/app-openpgp.c:4275
+#: scd/app-openpgp.c:4274
 #, c-format
 msgid "key generation completed (%d second)\n"
 msgid_plural "key generation completed (%d seconds)\n"
 msgstr[0] ""
 msgstr[1] ""
 
-#: scd/app-openpgp.c:4309
+#: scd/app-openpgp.c:4308
 #, c-format
 msgid "invalid structure of OpenPGP card (DO 0x93)\n"
 msgstr ""
 
-#: scd/app-openpgp.c:4359
+#: scd/app-openpgp.c:4358
 #, c-format
 msgid "fingerprint on card does not match requested one\n"
 msgstr ""
 
-#: scd/app-openpgp.c:4558
+#: scd/app-openpgp.c:4557
 #, c-format
 msgid "card does not support digest algorithm %s\n"
 msgstr ""
 
-#: scd/app-openpgp.c:4616
+#: scd/app-openpgp.c:4615
 #, c-format
 msgid "signatures created so far: %lu\n"
 msgstr ""
 
-#: scd/app-openpgp.c:5034
+#: scd/app-openpgp.c:5039
 #, c-format
 msgid ""
 "verification of Admin PIN is currently prohibited through this command\n"
 msgstr ""
 
-#: scd/app-openpgp.c:5346 scd/app-openpgp.c:5357
+#: scd/app-openpgp.c:5351 scd/app-openpgp.c:5362
 #, c-format
 msgid "can't access %s - invalid OpenPGP card?\n"
 msgstr ""
 
-#: scd/app-dinsig.c:299
+#: scd/app-dinsig.c:298
 msgid "||Please enter your PIN at the reader's pinpad"
 msgstr ""
 
 #. TRANSLATORS: Do not translate the "|*|" prefixes but
 #. keep it at the start of the string.  We need this elsewhere
 #. to get some infos on the string.
-#: scd/app-dinsig.c:528
+#: scd/app-dinsig.c:529
 msgid "|N|Initial New PIN"
 msgstr ""
 
@@ -7811,7 +7828,7 @@ msgstr ""
 msgid "run in multi server mode (foreground)"
 msgstr ""
 
-#: scd/scdaemon.c:129 sm/gpgsm.c:345 dirmngr/dirmngr.c:187
+#: scd/scdaemon.c:129 sm/gpgsm.c:348 dirmngr/dirmngr.c:188
 msgid "|LEVEL|set the debugging level to LEVEL"
 msgstr ""
 
@@ -7831,47 +7848,47 @@ msgstr ""
 msgid "|NAME|use NAME as PC/SC driver"
 msgstr ""
 
-#: scd/scdaemon.c:145
+#: scd/scdaemon.c:146
 msgid "do not use the internal CCID driver"
 msgstr ""
 
-#: scd/scdaemon.c:151
+#: scd/scdaemon.c:152
 msgid "|N|disconnect the card after N seconds of inactivity"
 msgstr ""
 
-#: scd/scdaemon.c:154
+#: scd/scdaemon.c:155
 msgid "do not use a reader's pinpad"
 msgstr ""
 
-#: scd/scdaemon.c:159
+#: scd/scdaemon.c:160
 msgid "deny the use of admin card commands"
 msgstr ""
 
-#: scd/scdaemon.c:162
+#: scd/scdaemon.c:163
 msgid "use variable length input for pinpad"
 msgstr ""
 
-#: scd/scdaemon.c:311
+#: scd/scdaemon.c:312
 msgid "Usage: @SCDAEMON@ [options] (-h for help)"
 msgstr ""
 
-#: scd/scdaemon.c:313
+#: scd/scdaemon.c:314
 msgid ""
 "Syntax: scdaemon [options] [command [args]]\n"
 "Smartcard daemon for @GNUPG@\n"
 msgstr ""
 
-#: scd/scdaemon.c:806
+#: scd/scdaemon.c:808
 #, c-format
 msgid "please use the option '--daemon' to run the program in the background\n"
 msgstr ""
 
-#: scd/scdaemon.c:1183 dirmngr/dirmngr.c:2082
+#: scd/scdaemon.c:1185 dirmngr/dirmngr.c:2119
 #, c-format
 msgid "handler for fd %d started\n"
 msgstr ""
 
-#: scd/scdaemon.c:1195 dirmngr/dirmngr.c:2090
+#: scd/scdaemon.c:1197 dirmngr/dirmngr.c:2127
 #, c-format
 msgid "handler for fd %d terminated\n"
 msgstr ""
@@ -7918,7 +7935,7 @@ msgstr ""
 msgid "certificate policy not allowed"
 msgstr ""
 
-#: sm/certchain.c:595 sm/keydb.c:1106 sm/keydb.c:1192
+#: sm/certchain.c:595 sm/keydb.c:1084 sm/keydb.c:1171
 #, c-format
 msgid "failed to get the fingerprint\n"
 msgstr ""
@@ -7953,8 +7970,8 @@ msgstr ""
 msgid "dirmngr cache-only key lookup failed: %s\n"
 msgstr ""
 
-#: sm/certchain.c:1041 sm/certchain.c:1554 sm/certchain.c:2192 sm/decrypt.c:265
-#: sm/encrypt.c:344 sm/import.c:415 sm/keydb.c:1113 sm/keydb.c:1199
+#: sm/certchain.c:1041 sm/certchain.c:1554 sm/certchain.c:2192 sm/decrypt.c:728
+#: sm/encrypt.c:345 sm/import.c:415 sm/keydb.c:1091 sm/keydb.c:1178
 #: sm/sign.c:337 sm/verify.c:118
 #, c-format
 msgid "failed to allocate keyDB handle\n"
@@ -8146,13 +8163,13 @@ msgid "a %u bit hash is not valid for a %u bit %s key\n"
 msgstr ""
 
 #: sm/certcheck.c:238 sm/certcheck.c:262 dirmngr/crlcache.c:1542
-#: dirmngr/crlcache.c:1566 dirmngr/dirmngr.c:1324 dirmngr/validate.c:903
+#: dirmngr/crlcache.c:1566 dirmngr/dirmngr.c:1361 dirmngr/validate.c:903
 #: dirmngr/validate.c:927
 #, c-format
 msgid "out of core\n"
 msgstr ""
 
-#: sm/certcheck.c:371 sm/verify.c:213
+#: sm/certcheck.c:370 sm/verify.c:213
 #, c-format
 msgid "(this is the MD2 algorithm)\n"
 msgstr ""
@@ -8433,22 +8450,32 @@ msgstr ""
 msgid "resource problem: out of core\n"
 msgstr ""
 
-#: sm/decrypt.c:341
+#: sm/decrypt.c:536
+#, c-format
+msgid "%s.%s encrypted data\n"
+msgstr ""
+
+#: sm/decrypt.c:803
 #, c-format
 msgid "(this is the RC2 algorithm)\n"
 msgstr ""
 
-#: sm/decrypt.c:343
+#: sm/decrypt.c:805
 #, c-format
 msgid "(this does not seem to be an encrypted message)\n"
 msgstr ""
 
+#: sm/decrypt.c:958
+#, c-format
+msgid "encrypted to %s key %s\n"
+msgstr ""
+
 #: sm/delete.c:51 sm/delete.c:112
 #, c-format
 msgid "certificate '%s' not found: %s\n"
 msgstr ""
 
-#: sm/delete.c:122 sm/keydb.c:1209 sm/keydb.c:1307
+#: sm/delete.c:122 sm/keydb.c:1189 sm/keydb.c:1288
 #, c-format
 msgid "error locking keybox: %s\n"
 msgstr ""
@@ -8468,175 +8495,155 @@ msgstr ""
 msgid "deleting certificate \"%s\" failed: %s\n"
 msgstr ""
 
-#: sm/encrypt.c:330
+#: sm/encrypt.c:331
 #, c-format
 msgid "no valid recipients given\n"
 msgstr ""
 
-#: sm/gpgsm.c:215
+#: sm/gpgsm.c:216
 msgid "list external keys"
 msgstr ""
 
-#: sm/gpgsm.c:217
+#: sm/gpgsm.c:218
 msgid "list certificate chain"
 msgstr ""
 
-#: sm/gpgsm.c:225
+#: sm/gpgsm.c:226
 msgid "import certificates"
 msgstr ""
 
-#: sm/gpgsm.c:226
+#: sm/gpgsm.c:227
 msgid "export certificates"
 msgstr ""
 
-#: sm/gpgsm.c:234
+#: sm/gpgsm.c:235
 msgid "register a smartcard"
 msgstr ""
 
-#: sm/gpgsm.c:237
+#: sm/gpgsm.c:238
 msgid "pass a command to the dirmngr"
 msgstr ""
 
-#: sm/gpgsm.c:239
+#: sm/gpgsm.c:240
 msgid "invoke gpg-protect-tool"
 msgstr ""
 
-#: sm/gpgsm.c:256
+#: sm/gpgsm.c:257
 msgid "create base-64 encoded output"
 msgstr ""
 
-#: sm/gpgsm.c:265
+#: sm/gpgsm.c:266
 msgid "assume input is in PEM format"
 msgstr ""
 
-#: sm/gpgsm.c:267
+#: sm/gpgsm.c:268
 msgid "assume input is in base-64 format"
 msgstr ""
 
-#: sm/gpgsm.c:269
+#: sm/gpgsm.c:270
 msgid "assume input is in binary format"
 msgstr ""
 
-#: sm/gpgsm.c:276
+#: sm/gpgsm.c:277
 msgid "never consult a CRL"
 msgstr ""
 
-#: sm/gpgsm.c:286
+#: sm/gpgsm.c:287
 msgid "check validity using OCSP"
 msgstr ""
 
-#: sm/gpgsm.c:291
+#: sm/gpgsm.c:292
 msgid "|N|number of certificates to include"
 msgstr ""
 
-#: sm/gpgsm.c:294
+#: sm/gpgsm.c:295
 msgid "|FILE|take policy information from FILE"
 msgstr ""
 
-#: sm/gpgsm.c:297
+#: sm/gpgsm.c:298
 msgid "do not check certificate policies"
 msgstr ""
 
-#: sm/gpgsm.c:301
+#: sm/gpgsm.c:302
 msgid "fetch missing issuer certificates"
 msgstr ""
 
-#: sm/gpgsm.c:312
+#: sm/gpgsm.c:313
 msgid "don't use the terminal at all"
 msgstr ""
 
-#: sm/gpgsm.c:314
+#: sm/gpgsm.c:315
 msgid "|FILE|write a server mode log to FILE"
 msgstr ""
 
-#: sm/gpgsm.c:319
+#: sm/gpgsm.c:320
 msgid "|FILE|write an audit log to FILE"
 msgstr ""
 
-#: sm/gpgsm.c:322
+#: sm/gpgsm.c:323
 msgid "batch mode: never ask"
 msgstr ""
 
-#: sm/gpgsm.c:323
+#: sm/gpgsm.c:324
 msgid "assume yes on most questions"
 msgstr ""
 
-#: sm/gpgsm.c:324
+#: sm/gpgsm.c:325
 msgid "assume no on most questions"
 msgstr ""
 
-#: sm/gpgsm.c:327
+#: sm/gpgsm.c:328
 msgid "|FILE|add keyring to the list of keyrings"
 msgstr ""
 
-#: sm/gpgsm.c:330
+#: sm/gpgsm.c:331
 msgid "|USER-ID|use USER-ID as default secret key"
 msgstr ""
 
-#: sm/gpgsm.c:340 tools/gpgconf-comp.c:837
+#: sm/gpgsm.c:341 dirmngr/dirmngr.c:214 tools/gpgconf-comp.c:841
 msgid "|SPEC|use this keyserver to lookup keys"
 msgstr ""
 
-#: sm/gpgsm.c:357
+#: sm/gpgsm.c:360
 msgid "|NAME|use cipher algorithm NAME"
 msgstr ""
 
-#: sm/gpgsm.c:359
+#: sm/gpgsm.c:362
 msgid "|NAME|use message digest algorithm NAME"
 msgstr ""
 
-#: sm/gpgsm.c:570
+#: sm/gpgsm.c:573
 msgid "Usage: @GPGSM@ [options] [files] (-h for help)"
 msgstr ""
 
-#: sm/gpgsm.c:573
+#: sm/gpgsm.c:576
 msgid ""
 "Syntax: @GPGSM@ [options] [files]\n"
 "Sign, check, encrypt or decrypt using the S/MIME protocol\n"
 "Default operation depends on the input data\n"
 msgstr ""
 
-#: sm/gpgsm.c:777
+#: sm/gpgsm.c:784
 #, c-format
 msgid "Note: won't be able to encrypt to '%s': %s\n"
 msgstr ""
 
-#: sm/gpgsm.c:788
+#: sm/gpgsm.c:795
 #, c-format
 msgid "unknown validation model '%s'\n"
 msgstr ""
 
-#: sm/gpgsm.c:839 dirmngr/ldapserver.c:86
-#, c-format
-msgid "%s:%u: no hostname given\n"
-msgstr ""
-
-#: sm/gpgsm.c:858 dirmngr/ldapserver.c:105
-#, c-format
-msgid "%s:%u: password given without user\n"
-msgstr ""
-
-#: sm/gpgsm.c:879 dirmngr/ldapserver.c:126
-#, c-format
-msgid "%s:%u: skipping this line\n"
-msgstr ""
-
-#: sm/gpgsm.c:1449
-#, c-format
-msgid "could not parse keyserver\n"
-msgstr ""
-
-#: sm/gpgsm.c:1712
+#: sm/gpgsm.c:1612
 #, c-format
 msgid "importing common certificates '%s'\n"
 msgstr ""
 
-#: sm/gpgsm.c:1755
+#: sm/gpgsm.c:1655
 #, c-format
 msgid "can't sign using '%s': %s\n"
 msgstr ""
 
-#: sm/gpgsm.c:2122
+#: sm/gpgsm.c:2028
 #, c-format
 msgid "invalid command (there is no implicit command)\n"
 msgstr ""
@@ -8656,7 +8663,7 @@ msgstr ""
 msgid "basic certificate checks failed - not imported\n"
 msgstr ""
 
-#: sm/import.c:472 sm/keydb.c:1229 sm/keydb.c:1319
+#: sm/import.c:472 sm/keydb.c:1209 sm/keydb.c:1300
 #, c-format
 msgid "error getting stored flags: %s\n"
 msgstr ""
@@ -8671,27 +8678,27 @@ msgstr ""
 msgid "error reading input: %s\n"
 msgstr ""
 
-#: sm/keydb.c:1148
+#: sm/keydb.c:1127
 #, c-format
 msgid "problem looking for existing certificate: %s\n"
 msgstr ""
 
-#: sm/keydb.c:1160
+#: sm/keydb.c:1139
 #, c-format
 msgid "error finding writable keyDB: %s\n"
 msgstr ""
 
-#: sm/keydb.c:1168
+#: sm/keydb.c:1147
 #, c-format
 msgid "error storing certificate: %s\n"
 msgstr ""
 
-#: sm/keydb.c:1220
+#: sm/keydb.c:1200
 #, c-format
 msgid "problem re-searching certificate: %s\n"
 msgstr ""
 
-#: sm/keydb.c:1241 sm/keydb.c:1330
+#: sm/keydb.c:1221 sm/keydb.c:1311
 #, c-format
 msgid "error storing flags: %s\n"
 msgstr ""
@@ -8726,7 +8733,7 @@ msgid ""
 "%s%sAre you really sure that you want to do this?"
 msgstr ""
 
-#: sm/qualified.c:215 sm/verify.c:678
+#: sm/qualified.c:215 sm/verify.c:679
 #, c-format
 msgid ""
 "Note, that this software is not officially approved to create or verify such "
@@ -8771,23 +8778,23 @@ msgstr ""
 msgid "algorithm:"
 msgstr ""
 
-#: sm/verify.c:535
+#: sm/verify.c:536
 #, c-format
 msgid ""
 "invalid signature: message digest attribute does not match computed one\n"
 msgstr ""
 
-#: sm/verify.c:656
+#: sm/verify.c:657
 #, c-format
 msgid "Good signature from"
 msgstr ""
 
-#: sm/verify.c:657
+#: sm/verify.c:658
 #, c-format
 msgid "                aka"
 msgstr ""
 
-#: sm/verify.c:675
+#: sm/verify.c:676
 #, c-format
 msgid "This is a qualified signature\n"
 msgstr ""
@@ -9401,7 +9408,7 @@ msgid "error retrieving '%s': %s\n"
 msgstr ""
 
 #: dirmngr/crlfetch.c:218 dirmngr/ldap-wrapper-ce.c:492
-#: dirmngr/ldap-wrapper.c:884 dirmngr/misc.c:573
+#: dirmngr/ldap-wrapper.c:885 dirmngr/misc.c:573
 #, c-format
 msgid "error initializing reader object: %s\n"
 msgstr ""
@@ -9553,388 +9560,225 @@ msgstr ""
 msgid "looking up '%s'\n"
 msgstr ""
 
-#: dirmngr/dirmngr.c:170
+#: dirmngr/dirmngr.c:171
 msgid "list the contents of the CRL cache"
 msgstr ""
 
-#: dirmngr/dirmngr.c:171
+#: dirmngr/dirmngr.c:172
 msgid "|FILE|load CRL from FILE into cache"
 msgstr ""
 
-#: dirmngr/dirmngr.c:172
+#: dirmngr/dirmngr.c:173
 msgid "|URL|fetch a CRL from URL"
 msgstr ""
 
-#: dirmngr/dirmngr.c:173
+#: dirmngr/dirmngr.c:174
 msgid "shutdown the dirmngr"
 msgstr ""
 
-#: dirmngr/dirmngr.c:174
+#: dirmngr/dirmngr.c:175
 msgid "flush the cache"
 msgstr ""
 
-#: dirmngr/dirmngr.c:190 tools/gpgconf-comp.c:522 tools/gpgconf-comp.c:741
-#: tools/gpgconf-comp.c:854 tools/gpgconf-comp.c:950
+#: dirmngr/dirmngr.c:191 tools/gpgconf-comp.c:522 tools/gpgconf-comp.c:745
+#: tools/gpgconf-comp.c:858 tools/gpgconf-comp.c:954
 msgid "|FILE|write server mode logs to FILE"
 msgstr ""
 
-#: dirmngr/dirmngr.c:191
+#: dirmngr/dirmngr.c:192
 msgid "run without asking a user"
 msgstr ""
 
-#: dirmngr/dirmngr.c:192
+#: dirmngr/dirmngr.c:193
 msgid "force loading of outdated CRLs"
 msgstr ""
 
-#: dirmngr/dirmngr.c:193
+#: dirmngr/dirmngr.c:194
 msgid "allow sending OCSP requests"
 msgstr ""
 
-#: dirmngr/dirmngr.c:195
+#: dirmngr/dirmngr.c:196
 msgid "allow online software version check"
 msgstr ""
 
-#: dirmngr/dirmngr.c:196
+#: dirmngr/dirmngr.c:197
 msgid "inhibit the use of HTTP"
 msgstr ""
 
-#: dirmngr/dirmngr.c:197
+#: dirmngr/dirmngr.c:198
 msgid "inhibit the use of LDAP"
 msgstr ""
 
-#: dirmngr/dirmngr.c:199
+#: dirmngr/dirmngr.c:200
 msgid "ignore HTTP CRL distribution points"
 msgstr ""
 
-#: dirmngr/dirmngr.c:201
+#: dirmngr/dirmngr.c:202
 msgid "ignore LDAP CRL distribution points"
 msgstr ""
 
-#: dirmngr/dirmngr.c:203
+#: dirmngr/dirmngr.c:204
 msgid "ignore certificate contained OCSP service URLs"
 msgstr ""
 
-#: dirmngr/dirmngr.c:206
+#: dirmngr/dirmngr.c:207
 msgid "|URL|redirect all HTTP requests to URL"
 msgstr ""
 
-#: dirmngr/dirmngr.c:208
+#: dirmngr/dirmngr.c:209
 msgid "|HOST|use HOST for LDAP queries"
 msgstr ""
 
-#: dirmngr/dirmngr.c:210
+#: dirmngr/dirmngr.c:211
 msgid "do not use fallback hosts with --ldap-proxy"
 msgstr ""
 
-#: dirmngr/dirmngr.c:213
+#: dirmngr/dirmngr.c:216
 msgid "|FILE|read LDAP server list from FILE"
 msgstr ""
 
-#: dirmngr/dirmngr.c:215
+#: dirmngr/dirmngr.c:218
 msgid "add new servers discovered in CRL distribution points to serverlist"
 msgstr ""
 
-#: dirmngr/dirmngr.c:218 dirmngr/dirmngr_ldap.c:137
+#: dirmngr/dirmngr.c:221
 msgid "|N|set LDAP timeout to N seconds"
 msgstr ""
 
-#: dirmngr/dirmngr.c:221
+#: dirmngr/dirmngr.c:224
 msgid "|URL|use OCSP responder at URL"
 msgstr ""
 
-#: dirmngr/dirmngr.c:223
+#: dirmngr/dirmngr.c:226
 msgid "|FPR|OCSP response signed by FPR"
 msgstr ""
 
-#: dirmngr/dirmngr.c:229
+#: dirmngr/dirmngr.c:232
 msgid "|N|do not return more than N items in one query"
 msgstr ""
 
-#: dirmngr/dirmngr.c:234
+#: dirmngr/dirmngr.c:237
 msgid "|FILE|use the CA certificates in FILE for HKP over TLS"
 msgstr ""
 
-#: dirmngr/dirmngr.c:236
+#: dirmngr/dirmngr.c:239
 msgid "route all network traffic via Tor"
 msgstr ""
 
-#: dirmngr/dirmngr.c:265
+#: dirmngr/dirmngr.c:268
 msgid ""
 "@\n"
 "(See the \"info\" manual for a complete listing of all commands and "
 "options)\n"
 msgstr ""
 
-#: dirmngr/dirmngr.c:407
+#: dirmngr/dirmngr.c:415
 msgid "Usage: @DIRMNGR@ [options] (-h for help)"
 msgstr ""
 
-#: dirmngr/dirmngr.c:409
+#: dirmngr/dirmngr.c:417
 msgid ""
 "Syntax: @DIRMNGR@ [options] [command [args]]\n"
 "Keyserver, CRL, and OCSP access for @GNUPG@\n"
 msgstr ""
 
-#: dirmngr/dirmngr.c:489
+#: dirmngr/dirmngr.c:497
 #, c-format
 msgid "valid debug levels are: %s\n"
 msgstr ""
 
-#: dirmngr/dirmngr.c:575 tools/gpgconf.c:647 tools/gpgconf.c:682
+#: dirmngr/dirmngr.c:583 tools/gpgconf.c:647 tools/gpgconf.c:682
 #: tools/gpgconf.c:780
 #, c-format
 msgid "usage: %s [options] "
 msgstr ""
 
-#: dirmngr/dirmngr.c:1212
+#: dirmngr/dirmngr.c:1249
 #, c-format
 msgid "colons are not allowed in the socket name\n"
 msgstr ""
 
-#: dirmngr/dirmngr.c:1444 dirmngr/server.c:1824
+#: dirmngr/dirmngr.c:1481 dirmngr/server.c:1878
 #, c-format
 msgid "fetching CRL from '%s' failed: %s\n"
 msgstr ""
 
-#: dirmngr/dirmngr.c:1450 dirmngr/server.c:1830
+#: dirmngr/dirmngr.c:1487 dirmngr/server.c:1884
 #, c-format
 msgid "processing CRL from '%s' failed: %s\n"
 msgstr ""
 
-#: dirmngr/dirmngr.c:1645
+#: dirmngr/dirmngr.c:1682
 #, c-format
 msgid "%s:%u: line too long - skipped\n"
 msgstr ""
 
-#: dirmngr/dirmngr.c:1700 dirmngr/dirmngr.c:1784
+#: dirmngr/dirmngr.c:1737 dirmngr/dirmngr.c:1821
 #, c-format
 msgid "%s:%u: invalid fingerprint detected\n"
 msgstr ""
 
-#: dirmngr/dirmngr.c:1736 dirmngr/dirmngr.c:1762 tools/gpgconf-comp.c:4191
+#: dirmngr/dirmngr.c:1773 dirmngr/dirmngr.c:1799 tools/gpgconf-comp.c:4199
 #, c-format
 msgid "%s:%u: read error: %s\n"
 msgstr ""
 
-#: dirmngr/dirmngr.c:1791
+#: dirmngr/dirmngr.c:1828
 #, c-format
 msgid "%s:%u: garbage at end of line ignored\n"
 msgstr ""
 
-#: dirmngr/dirmngr.c:1860
+#: dirmngr/dirmngr.c:1897
 #, c-format
 msgid "SIGHUP received - re-reading configuration and flushing caches\n"
 msgstr ""
 
-#: dirmngr/dirmngr.c:1900
+#: dirmngr/dirmngr.c:1937
 #, c-format
 msgid "SIGUSR2 received - no action defined\n"
 msgstr ""
 
-#: dirmngr/dirmngr.c:1905
+#: dirmngr/dirmngr.c:1942
 #, c-format
 msgid "SIGTERM received - shutting down ...\n"
 msgstr ""
 
-#: dirmngr/dirmngr.c:1907
+#: dirmngr/dirmngr.c:1944
 #, c-format
 msgid "SIGTERM received - still %d active connections\n"
 msgstr ""
 
-#: dirmngr/dirmngr.c:1912
+#: dirmngr/dirmngr.c:1949
 #, c-format
 msgid "shutdown forced\n"
 msgstr ""
 
-#: dirmngr/dirmngr.c:1920
+#: dirmngr/dirmngr.c:1957
 #, c-format
 msgid "SIGINT received - immediate shutdown\n"
 msgstr ""
 
-#: dirmngr/dirmngr.c:1927
+#: dirmngr/dirmngr.c:1964
 #, c-format
 msgid "signal %d received - no action defined\n"
 msgstr ""
 
-#: dirmngr/dirmngr_ldap.c:138
-msgid "return all values in a record oriented format"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:141
-msgid "|NAME|ignore host part and connect through NAME"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:142
-msgid "|NAME|connect to host NAME"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:143
-msgid "|N|connect to port N"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:144
-msgid "|NAME|use user NAME for authentication"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:145
-msgid "|PASS|use password PASS for authentication"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:147
-msgid "take password from $DIRMNGR_LDAP_PASS"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:148
-msgid "|STRING|query DN STRING"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:149
-msgid "|STRING|use STRING as filter expression"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:150
-msgid "|STRING|return the attribute STRING"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:211
-msgid "Usage: dirmngr_ldap [options] [URL] (-h for help)\n"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:214
-msgid ""
-"Syntax: dirmngr_ldap [options] [URL]\n"
-"Internal LDAP helper for Dirmngr\n"
-"Interface and options may change without notice\n"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:340
-#, c-format
-msgid "invalid port number %d\n"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:456
-#, c-format
-msgid "scanning result for attribute '%s'\n"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:463 dirmngr/dirmngr_ldap.c:546
-#: dirmngr/dirmngr_ldap.c:570 dirmngr/dirmngr_ldap.c:582
-#: dirmngr/dirmngr_ldap.c:720
-#, c-format
-msgid "error writing to stdout: %s\n"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:480
-#, c-format
-msgid "          available attribute '%s'\n"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:518
-#, c-format
-msgid "attribute '%s' not found\n"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:525
-#, c-format
-msgid "found attribute '%s'\n"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:634
-#, c-format
-msgid "processing url '%s'\n"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:636
-#, c-format
-msgid "          user '%s'\n"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:638
-#, c-format
-msgid "          pass '%s'\n"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:640
-#, c-format
-msgid "          host '%s'\n"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:641
-#, c-format
-msgid "          port %d\n"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:643
-#, c-format
-msgid "            DN '%s'\n"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:645
-#, c-format
-msgid "        filter '%s'\n"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:650 dirmngr/dirmngr_ldap.c:653
-#, c-format
-msgid "          attr '%s'\n"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:659
-#, c-format
-msgid "no host name in '%s'\n"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:664
-#, c-format
-msgid "no attribute given for query '%s'\n"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:670
-#, c-format
-msgid "WARNING: using first attribute only\n"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:679
-#, c-format
-msgid "LDAP init to '%s:%d' failed: %s\n"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:702
-#, c-format
-msgid "binding to '%s:%d' failed: %s\n"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:729
-#, c-format
-msgid "searching '%s' failed: %s\n"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:761
-#, c-format
-msgid "'%s' is not an LDAP URL\n"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:767
-#, c-format
-msgid "'%s' is an invalid LDAP URL\n"
-msgstr ""
-
-#: dirmngr/http.c:1987 dirmngr/ocsp.c:255
+#: dirmngr/http.c:1993 dirmngr/ocsp.c:255
 #, c-format
 msgid "error accessing '%s': http status %u\n"
 msgstr ""
 
-#: dirmngr/http.c:3629 dirmngr/ocsp.c:229
+#: dirmngr/http.c:3644 dirmngr/ocsp.c:229
 #, c-format
 msgid "URL '%s' redirected to '%s' (%u)\n"
 msgstr ""
 
-#: dirmngr/http.c:3635 dirmngr/ocsp.c:246
+#: dirmngr/http.c:3650 dirmngr/ocsp.c:246
 #, c-format
 msgid "too many redirections\n"
 msgstr ""
 
-#: dirmngr/http.c:3747
+#: dirmngr/http.c:3762
 #, c-format
 msgid "redirection changed to '%s'\n"
 msgstr ""
@@ -9974,31 +9818,51 @@ msgstr ""
 msgid "ldap wrapper %d stalled - killing\n"
 msgstr ""
 
-#: dirmngr/ldap.c:91
+#: dirmngr/ldap.c:92
 #, c-format
 msgid "invalid char 0x%02x in host name - not added\n"
 msgstr ""
 
-#: dirmngr/ldap.c:95
+#: dirmngr/ldap.c:96
 #, c-format
 msgid "adding '%s:%d' to the ldap server list\n"
 msgstr ""
 
-#: dirmngr/ldap.c:98 dirmngr/misc.c:512
+#: dirmngr/ldap.c:99 dirmngr/misc.c:512
 #, c-format
 msgid "malloc failed: %s\n"
 msgstr ""
 
-#: dirmngr/ldap.c:627
+#: dirmngr/ldap.c:221
 #, c-format
-msgid "start_cert_fetch: invalid pattern '%s'\n"
+msgid "'%s' is not an LDAP URL\n"
 msgstr ""
 
-#: dirmngr/ldap.c:839
+#: dirmngr/ldap.c:227 dirmngr/ldap.c:233
+#, c-format
+msgid "'%s' is an invalid LDAP URL\n"
+msgstr ""
+
+#: dirmngr/ldap.c:969
 #, c-format
 msgid "ldap_search hit the size limit of the server\n"
 msgstr ""
 
+#: dirmngr/ldapserver.c:117
+#, c-format
+msgid "%s:%u: password given without user\n"
+msgstr ""
+
+#: dirmngr/ldapserver.c:181
+#, c-format
+msgid "%s:%u: ignoring unknown flag '%s'\n"
+msgstr ""
+
+#: dirmngr/ldapserver.c:203
+#, c-format
+msgid "%s:%u: skipping this line\n"
+msgstr ""
+
 #: dirmngr/misc.c:172
 #, c-format
 msgid "invalid canonical S-expression found\n"
@@ -10178,71 +10042,67 @@ msgstr ""
 msgid "assuan_inquire(%s) failed: %s\n"
 msgstr ""
 
-#: dirmngr/server.c:1158
-msgid "ldapserver missing"
-msgstr ""
-
-#: dirmngr/server.c:1224
+#: dirmngr/server.c:1277
 msgid "serialno missing in cert ID"
 msgstr ""
 
-#: dirmngr/server.c:1387 dirmngr/server.c:1473 dirmngr/server.c:1909
-#: dirmngr/server.c:1980 dirmngr/server.c:2552 dirmngr/server.c:2567
+#: dirmngr/server.c:1440 dirmngr/server.c:1526 dirmngr/server.c:1963
+#: dirmngr/server.c:2034 dirmngr/server.c:2662 dirmngr/server.c:2677
 #, c-format
 msgid "assuan_inquire failed: %s\n"
 msgstr ""
 
-#: dirmngr/server.c:1516
+#: dirmngr/server.c:1569
 #, c-format
 msgid "fetch_cert_by_url failed: %s\n"
 msgstr ""
 
-#: dirmngr/server.c:1528 dirmngr/server.c:1559 dirmngr/server.c:1718
+#: dirmngr/server.c:1581 dirmngr/server.c:1612 dirmngr/server.c:1772
 #, c-format
 msgid "error sending data: %s\n"
 msgstr ""
 
-#: dirmngr/server.c:1666
+#: dirmngr/server.c:1720
 #, c-format
 msgid "start_cert_fetch failed: %s\n"
 msgstr ""
 
-#: dirmngr/server.c:1699
+#: dirmngr/server.c:1753
 #, c-format
 msgid "fetch_next_cert failed: %s\n"
 msgstr ""
 
-#: dirmngr/server.c:1726
+#: dirmngr/server.c:1780
 #, c-format
 msgid "max_replies %d exceeded\n"
 msgstr ""
 
-#: dirmngr/server.c:2856
+#: dirmngr/server.c:2966
 #, c-format
 msgid "can't allocate control structure: %s\n"
 msgstr ""
 
-#: dirmngr/server.c:2867
+#: dirmngr/server.c:2977
 #, c-format
 msgid "failed to allocate assuan context: %s\n"
 msgstr ""
 
-#: dirmngr/server.c:2888
+#: dirmngr/server.c:2998
 #, c-format
 msgid "failed to initialize the server: %s\n"
 msgstr ""
 
-#: dirmngr/server.c:2896
+#: dirmngr/server.c:3006
 #, c-format
 msgid "failed to the register commands with Assuan: %s\n"
 msgstr ""
 
-#: dirmngr/server.c:2929
+#: dirmngr/server.c:3039
 #, c-format
 msgid "Assuan accept problem: %s\n"
 msgstr ""
 
-#: dirmngr/server.c:2948
+#: dirmngr/server.c:3058
 #, c-format
 msgid "Assuan processing failed: %s\n"
 msgstr ""
@@ -10377,21 +10237,21 @@ msgid "error sending standard options: %s\n"
 msgstr ""
 
 #: tools/gpgconf-comp.c:481 tools/gpgconf-comp.c:617 tools/gpgconf-comp.c:692
-#: tools/gpgconf-comp.c:804 tools/gpgconf-comp.c:906
+#: tools/gpgconf-comp.c:808 tools/gpgconf-comp.c:910
 msgid "Options controlling the diagnostic output"
 msgstr ""
 
 #: tools/gpgconf-comp.c:494 tools/gpgconf-comp.c:630 tools/gpgconf-comp.c:705
-#: tools/gpgconf-comp.c:817 tools/gpgconf-comp.c:929
+#: tools/gpgconf-comp.c:821 tools/gpgconf-comp.c:933
 msgid "Options controlling the configuration"
 msgstr ""
 
-#: tools/gpgconf-comp.c:517 tools/gpgconf-comp.c:659 tools/gpgconf-comp.c:736
-#: tools/gpgconf-comp.c:849 tools/gpgconf-comp.c:942
+#: tools/gpgconf-comp.c:517 tools/gpgconf-comp.c:659 tools/gpgconf-comp.c:740
+#: tools/gpgconf-comp.c:853 tools/gpgconf-comp.c:946
 msgid "Options useful for debugging"
 msgstr ""
 
-#: tools/gpgconf-comp.c:530 tools/gpgconf-comp.c:669 tools/gpgconf-comp.c:862
+#: tools/gpgconf-comp.c:530 tools/gpgconf-comp.c:669 tools/gpgconf-comp.c:866
 msgid "Options controlling the security"
 msgstr ""
 
@@ -10439,11 +10299,11 @@ msgstr ""
 msgid "|N|set the Pinentry timeout to N seconds"
 msgstr ""
 
-#: tools/gpgconf-comp.c:707 tools/gpgconf-comp.c:819
+#: tools/gpgconf-comp.c:707 tools/gpgconf-comp.c:823
 msgid "|NAME|use NAME as default secret key"
 msgstr ""
 
-#: tools/gpgconf-comp.c:710 tools/gpgconf-comp.c:822
+#: tools/gpgconf-comp.c:710 tools/gpgconf-comp.c:826
 msgid "|NAME|encrypt to user ID NAME as well"
 msgstr ""
 
@@ -10451,127 +10311,127 @@ msgstr ""
 msgid "|SPEC|set up email aliases"
 msgstr ""
 
-#: tools/gpgconf-comp.c:749 tools/gpgconf-comp.c:981
+#: tools/gpgconf-comp.c:753 tools/gpgconf-comp.c:985
 msgid "Configuration for Keyservers"
 msgstr ""
 
-#: tools/gpgconf-comp.c:751 tools/gpgconf-comp.c:983
+#: tools/gpgconf-comp.c:755 tools/gpgconf-comp.c:987
 msgid "|URL|use keyserver at URL"
 msgstr ""
 
-#: tools/gpgconf-comp.c:754
+#: tools/gpgconf-comp.c:758
 msgid "allow PKA lookups (DNS requests)"
 msgstr ""
 
-#: tools/gpgconf-comp.c:757
+#: tools/gpgconf-comp.c:761
 msgid "|MECHANISMS|use MECHANISMS to locate keys by mail address"
 msgstr ""
 
-#: tools/gpgconf-comp.c:760
+#: tools/gpgconf-comp.c:764
 msgid "import missing key from a signature"
 msgstr ""
 
-#: tools/gpgconf-comp.c:763
+#: tools/gpgconf-comp.c:767
 msgid "include the public key in signatures"
 msgstr ""
 
-#: tools/gpgconf-comp.c:770 tools/gpgconf-comp.c:831
+#: tools/gpgconf-comp.c:774 tools/gpgconf-comp.c:835
 msgid "disable all access to the dirmngr"
 msgstr ""
 
-#: tools/gpgconf-comp.c:834
+#: tools/gpgconf-comp.c:838
 msgid "|NAME|use encoding NAME for PKCS#12 passphrases"
 msgstr ""
 
-#: tools/gpgconf-comp.c:870
+#: tools/gpgconf-comp.c:874
 msgid "do not check CRLs for root certificates"
 msgstr ""
 
-#: tools/gpgconf-comp.c:919
+#: tools/gpgconf-comp.c:923
 msgid "Options controlling the format of the output"
 msgstr ""
 
-#: tools/gpgconf-comp.c:961
+#: tools/gpgconf-comp.c:965
 msgid "Options controlling the interactivity and enforcement"
 msgstr ""
 
-#: tools/gpgconf-comp.c:974
+#: tools/gpgconf-comp.c:978
 msgid "Options controlling the use of Tor"
 msgstr ""
 
-#: tools/gpgconf-comp.c:988
+#: tools/gpgconf-comp.c:992
 msgid "Configuration for HTTP servers"
 msgstr ""
 
-#: tools/gpgconf-comp.c:999
+#: tools/gpgconf-comp.c:1003
 msgid "use system's HTTP proxy setting"
 msgstr ""
 
-#: tools/gpgconf-comp.c:1004
+#: tools/gpgconf-comp.c:1008
 msgid "Configuration of LDAP servers to use"
 msgstr ""
 
-#: tools/gpgconf-comp.c:1033
+#: tools/gpgconf-comp.c:1037
 msgid "LDAP server list"
 msgstr ""
 
-#: tools/gpgconf-comp.c:1041
+#: tools/gpgconf-comp.c:1045
 msgid "Configuration for OCSP"
 msgstr ""
 
-#: tools/gpgconf-comp.c:1094
+#: tools/gpgconf-comp.c:1098
 msgid "OpenPGP"
 msgstr ""
 
-#: tools/gpgconf-comp.c:1095
+#: tools/gpgconf-comp.c:1099
 msgid "Private Keys"
 msgstr ""
 
-#: tools/gpgconf-comp.c:1096
+#: tools/gpgconf-comp.c:1100
 msgid "Smartcards"
 msgstr ""
 
-#: tools/gpgconf-comp.c:1097
+#: tools/gpgconf-comp.c:1101
 msgid "S/MIME"
 msgstr ""
 
-#: tools/gpgconf-comp.c:1098
+#: tools/gpgconf-comp.c:1102
 msgid "Network"
 msgstr ""
 
-#: tools/gpgconf-comp.c:1099
+#: tools/gpgconf-comp.c:1103
 msgid "Passphrase Entry"
 msgstr ""
 
-#: tools/gpgconf-comp.c:1278
+#: tools/gpgconf-comp.c:1282
 msgid "Component not suitable for launching"
 msgstr ""
 
-#: tools/gpgconf-comp.c:1284
+#: tools/gpgconf-comp.c:1288
 #, c-format
 msgid "Configuration file of component %s is broken\n"
 msgstr ""
 
-#: tools/gpgconf-comp.c:1287
+#: tools/gpgconf-comp.c:1291
 #, c-format
 msgid "Note: Use the command \"%s%s\" to get details.\n"
 msgstr ""
 
-#: tools/gpgconf-comp.c:3446
+#: tools/gpgconf-comp.c:3454
 #, c-format
 msgid "External verification of component %s failed"
 msgstr ""
 
-#: tools/gpgconf-comp.c:3597
+#: tools/gpgconf-comp.c:3605
 msgid "Note that group specifications are ignored\n"
 msgstr ""
 
-#: tools/gpgconf-comp.c:4195
+#: tools/gpgconf-comp.c:4203
 #, c-format
 msgid "error closing '%s'\n"
 msgstr ""
 
-#: tools/gpgconf-comp.c:4197
+#: tools/gpgconf-comp.c:4205
 #, c-format
 msgid "error parsing '%s'\n"
 msgstr ""
index cd1abca..596d270 100644 (file)
--- a/po/hu.po
+++ b/po/hu.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: gnupg 2.2.20\n"
 "Report-Msgid-Bugs-To: translations@gnupg.org\n"
-"POT-Creation-Date: 2021-01-11 18:47+0100\n"
+"POT-Creation-Date: 2021-06-10 18:59+0200\n"
 "PO-Revision-Date: 2020-06-09 23:10+0200\n"
 "Last-Translator: Nagy Ferenc László <nfl@nfllab.com>\n"
 "Language-Team: Hungarian <translation-team-hu@lists.sourceforge.net>\n"
@@ -105,7 +105,7 @@ msgid "Passphrase:"
 msgstr "rossz jelszó"
 
 #: agent/call-pinentry.c:1107 agent/call-pinentry.c:1359
-#: agent/command-ssh.c:3130 agent/genkey.c:416
+#: agent/command-ssh.c:3140 agent/genkey.c:416
 msgid "does not match - try again"
 msgstr ""
 
@@ -160,34 +160,34 @@ msgstr "rossz jelszó"
 msgid "ssh keys greater than %d bits are not supported\n"
 msgstr "%d%s védő algoritmus nem támogatott.\n"
 
-#: agent/command-ssh.c:862 common/dotlock.c:852 g10/card-util.c:932
-#: g10/exec.c:546 g10/export.c:1320 g10/gpg.c:1352 g10/keygen.c:4998
-#: g10/keyring.c:1322 g10/keyring.c:1637 g10/openfile.c:291 g10/sign.c:1009
-#: g10/sign.c:1323 g10/tdbio.c:753
+#: agent/command-ssh.c:862 common/dotlock.c:852 g10/card-util.c:933
+#: g10/exec.c:554 g10/export.c:1320 g10/gpg.c:1360 g10/keygen.c:4998
+#: g10/keyring.c:1322 g10/keyring.c:1637 g10/openfile.c:291 g10/sign.c:1008
+#: g10/sign.c:1322 g10/tdbio.c:753
 #, fuzzy, c-format
 #| msgid "can't create `%s': %s\n"
 msgid "can't create '%s': %s\n"
 msgstr "Nem tudom létrehozni a(z) \"%s\" állományt: %s.\n"
 
-#: agent/command-ssh.c:874 common/helpfile.c:57 g10/card-util.c:889
+#: agent/command-ssh.c:874 common/helpfile.c:57 g10/card-util.c:890
 #: g10/dearmor.c:59 g10/dearmor.c:106 g10/decrypt.c:65 g10/decrypt.c:136
-#: g10/decrypt.c:153 g10/encrypt.c:180 g10/encrypt.c:543 g10/gpg.c:1353
-#: g10/import.c:352 g10/import.c:536 g10/import.c:764 g10/keygen.c:4036
+#: g10/decrypt.c:153 g10/encrypt.c:180 g10/encrypt.c:543 g10/gpg.c:1361
+#: g10/import.c:364 g10/import.c:548 g10/import.c:776 g10/keygen.c:4036
 #: g10/keyring.c:1663 g10/openfile.c:195 g10/openfile.c:209 g10/plaintext.c:128
-#: g10/plaintext.c:649 g10/sign.c:991 g10/sign.c:1202 g10/sign.c:1307
-#: g10/sign.c:1452 g10/tdbdump.c:143 g10/tdbdump.c:151 g10/tdbio.c:758
-#: g10/tdbio.c:829 g10/verify.c:96 g10/verify.c:160 sm/gpgsm.c:2219
-#: sm/gpgsm.c:2249 sm/gpgsm.c:2287 sm/qualified.c:66 dirmngr/certcache.c:396
+#: g10/plaintext.c:649 g10/sign.c:990 g10/sign.c:1201 g10/sign.c:1306
+#: g10/sign.c:1451 g10/tdbdump.c:143 g10/tdbdump.c:151 g10/tdbio.c:758
+#: g10/tdbio.c:829 g10/verify.c:96 g10/verify.c:160 sm/gpgsm.c:2125
+#: sm/gpgsm.c:2155 sm/gpgsm.c:2193 sm/qualified.c:66 dirmngr/certcache.c:396
 #: dirmngr/certcache.c:476 dirmngr/certcache.c:478 dirmngr/crlcache.c:2588
-#: dirmngr/dirmngr.c:1722
+#: dirmngr/dirmngr.c:1759
 #, fuzzy, c-format
 #| msgid "can't open `%s': %s\n"
 msgid "can't open '%s': %s\n"
 msgstr "Nem tudom megnyitni a(z) \"%s\" állományt: %s.\n"
 
 #: agent/command-ssh.c:2385 agent/command-ssh.c:2431 agent/command-ssh.c:2449
-#: agent/command-ssh.c:2601 g10/card-util.c:687 g10/card-util.c:708
-#: g10/skclist.c:430
+#: agent/command-ssh.c:2601 g10/card-util.c:688 g10/card-util.c:709
+#: g10/skclist.c:435
 #, fuzzy, c-format
 msgid "error getting serial number of card: %s\n"
 msgstr "Hiba a jelszó létrehozásakor: %s.\n"
@@ -212,39 +212,39 @@ msgstr "Nem írható titkoskulcs-karikát találtam: %s\n"
 msgid "error getting list of cards: %s\n"
 msgstr "Hiba a jelszó létrehozásakor: %s.\n"
 
-#: agent/command-ssh.c:2765
+#: agent/command-ssh.c:2775
 #, c-format
 msgid ""
 "An ssh process requested the use of key%%0A  %s%%0A  (%s)%%0ADo you want to "
 "allow this?"
 msgstr ""
 
-#: agent/command-ssh.c:2772
+#: agent/command-ssh.c:2782
 msgid "Allow"
 msgstr ""
 
-#: agent/command-ssh.c:2772
+#: agent/command-ssh.c:2782
 msgid "Deny"
 msgstr ""
 
-#: agent/command-ssh.c:2781
+#: agent/command-ssh.c:2791
 #, fuzzy, c-format
 msgid "Please enter the passphrase for the ssh key%%0A  %F%%0A  (%c)"
 msgstr "Kérem, adja meg a jelszót! Ezt egy titkos mondat. \n"
 
-#: agent/command-ssh.c:3058 agent/genkey.c:351
+#: agent/command-ssh.c:3068 agent/genkey.c:351
 #, fuzzy
 msgid "Please re-enter this passphrase"
 msgstr "jelszóváltoztatás"
 
-#: agent/command-ssh.c:3085
+#: agent/command-ssh.c:3095
 #, fuzzy, c-format
 msgid ""
 "Please enter a passphrase to protect the received secret key%%0A   %s%%0A   "
 "%s%%0Awithin gpg-agent's key storage"
 msgstr "Kérem, adja meg a jelszót! Ezt egy titkos mondat. \n"
 
-#: agent/command-ssh.c:3667
+#: agent/command-ssh.c:3677
 #, fuzzy, c-format
 msgid "failed to create stream from socket: %s\n"
 msgstr "%s: Hashtábla létrehozása sikertelen: %s.\n"
@@ -399,48 +399,46 @@ msgstr ""
 "Opciók:\n"
 " "
 
-#: agent/gpg-agent.c:165 scd/scdaemon.c:120 dirmngr/dirmngr.c:166
+#: agent/gpg-agent.c:165 scd/scdaemon.c:120 dirmngr/dirmngr.c:167
 msgid "run in daemon mode (background)"
 msgstr ""
 
-#: agent/gpg-agent.c:166 scd/scdaemon.c:117 dirmngr/dirmngr.c:165
+#: agent/gpg-agent.c:166 scd/scdaemon.c:117 dirmngr/dirmngr.c:166
 msgid "run in server mode (foreground)"
 msgstr ""
 
-#: agent/gpg-agent.c:168 dirmngr/dirmngr.c:168
+#: agent/gpg-agent.c:168 dirmngr/dirmngr.c:169
 #, fuzzy
 #| msgid "Key is superseded"
 msgid "run in supervised mode"
 msgstr "A kulcsot lecserélték."
 
-#: agent/gpg-agent.c:170 g10/gpg.c:608 g10/gpgv.c:78 kbx/kbxutil.c:88
-#: scd/scdaemon.c:121 sm/gpgsm.c:310 dirmngr/dirmngr-client.c:70
-#: dirmngr/dirmngr.c:181 dirmngr/dirmngr_ldap.c:135
-#: tools/gpg-connect-agent.c:78 tools/gpgconf.c:108
+#: agent/gpg-agent.c:170 g10/gpg.c:605 g10/gpgv.c:78 kbx/kbxutil.c:88
+#: scd/scdaemon.c:121 sm/gpgsm.c:311 dirmngr/dirmngr-client.c:70
+#: dirmngr/dirmngr.c:182 tools/gpg-connect-agent.c:78 tools/gpgconf.c:108
 msgid "verbose"
 msgstr "bőbeszédű mód"
 
 #: agent/gpg-agent.c:171 g10/gpgv.c:79 kbx/kbxutil.c:89 scd/scdaemon.c:122
-#: sm/gpgsm.c:311 dirmngr/dirmngr-client.c:71 dirmngr/dirmngr.c:182
-#: dirmngr/dirmngr_ldap.c:136
+#: sm/gpgsm.c:312 dirmngr/dirmngr-client.c:71 dirmngr/dirmngr.c:183
 msgid "be somewhat more quiet"
 msgstr "még szűkszavúbb mód"
 
-#: agent/gpg-agent.c:172 scd/scdaemon.c:123 dirmngr/dirmngr.c:183
+#: agent/gpg-agent.c:172 scd/scdaemon.c:123 dirmngr/dirmngr.c:184
 msgid "sh-style command output"
 msgstr ""
 
-#: agent/gpg-agent.c:173 scd/scdaemon.c:124 dirmngr/dirmngr.c:184
+#: agent/gpg-agent.c:173 scd/scdaemon.c:124 dirmngr/dirmngr.c:185
 msgid "csh-style command output"
 msgstr ""
 
-#: agent/gpg-agent.c:174 scd/scdaemon.c:125 sm/gpgsm.c:341
-#: dirmngr/dirmngr.c:185
+#: agent/gpg-agent.c:174 scd/scdaemon.c:125 sm/gpgsm.c:344
+#: dirmngr/dirmngr.c:186
 #, fuzzy
 msgid "|FILE|read options from FILE"
 msgstr "|fájl|bővítő modul betöltése"
 
-#: agent/gpg-agent.c:183 scd/scdaemon.c:135 dirmngr/dirmngr.c:188
+#: agent/gpg-agent.c:183 scd/scdaemon.c:135 dirmngr/dirmngr.c:189
 msgid "do not detach from the console"
 msgstr ""
 
@@ -526,9 +524,9 @@ msgstr "nem támogatott"
 #. reporting address.  This is so that we can change the
 #. reporting address without breaking the translations.
 #: agent/gpg-agent.c:531 agent/preset-passphrase.c:100 agent/protect-tool.c:155
-#: g10/gpg.c:1070 g10/gpgv.c:149 kbx/kbxutil.c:113 scd/scdaemon.c:298
-#: sm/gpgsm.c:567 dirmngr/dirmngr-client.c:168 dirmngr/dirmngr.c:404
-#: dirmngr/dirmngr_ldap.c:207 tools/gpg-connect-agent.c:205 tools/gpgconf.c:146
+#: g10/gpg.c:1074 g10/gpgv.c:149 kbx/kbxutil.c:113 scd/scdaemon.c:299
+#: sm/gpgsm.c:570 dirmngr/dirmngr-client.c:168 dirmngr/dirmngr.c:412
+#: tools/gpg-connect-agent.c:205 tools/gpgconf.c:146
 #: tools/gpg-check-pattern.c:143
 #, fuzzy
 msgid "Please report bugs to <@EMAIL@>.\n"
@@ -545,39 +543,39 @@ msgid ""
 "Secret key management for @GNUPG@\n"
 msgstr ""
 
-#: agent/gpg-agent.c:587 g10/gpg.c:1262 scd/scdaemon.c:370 sm/gpgsm.c:715
-#: dirmngr/dirmngr.c:488
+#: agent/gpg-agent.c:587 g10/gpg.c:1270 scd/scdaemon.c:371 sm/gpgsm.c:718
+#: dirmngr/dirmngr.c:496
 #, c-format
 msgid "invalid debug-level '%s' given\n"
 msgstr ""
 
-#: agent/gpg-agent.c:945 g10/gpg.c:3753 g10/gpg.c:3777 sm/gpgsm.c:1631
-#: sm/gpgsm.c:1637
+#: agent/gpg-agent.c:945 g10/gpg.c:3773 g10/gpg.c:3797 sm/gpgsm.c:1531
+#: sm/gpgsm.c:1537
 #, c-format
 msgid "selected digest algorithm is invalid\n"
 msgstr "A kiválasztott kivonatoló algoritmus érvénytelen!\n"
 
 #: agent/gpg-agent.c:1168 agent/gpg-agent.c:2023 common/argparse.c:1755
-#: common/argparse.c:1847 g10/gpg.c:2482 scd/scdaemon.c:532 sm/gpgsm.c:1063
-#: dirmngr/dirmngr.c:956 dirmngr/dirmngr.c:1841
+#: common/argparse.c:1847 g10/gpg.c:2495 scd/scdaemon.c:533 sm/gpgsm.c:977
+#: dirmngr/dirmngr.c:994 dirmngr/dirmngr.c:1878
 #, fuzzy, c-format
 #| msgid "reading options from `%s'\n"
 msgid "reading options from '%s'\n"
 msgstr "Az opciókat a \"%s\" állományból olvasom.\n"
 
-#: agent/gpg-agent.c:1300 g10/gpg.c:3704 scd/scdaemon.c:655 sm/gpgsm.c:1571
-#: dirmngr/dirmngr.c:1067 tools/gpg-connect-agent.c:1244 tools/gpgconf.c:624
+#: agent/gpg-agent.c:1300 g10/gpg.c:3724 scd/scdaemon.c:657 sm/gpgsm.c:1471
+#: dirmngr/dirmngr.c:1102 tools/gpg-connect-agent.c:1244 tools/gpgconf.c:624
 #, fuzzy, c-format
 #| msgid "WARNING: \"%s\" is a deprecated option\n"
 msgid "Note: '%s' is not considered an option\n"
 msgstr "FIGYELEM: \"%s\" elavult opció!\n"
 
-#: agent/gpg-agent.c:2159 scd/scdaemon.c:1096 dirmngr/dirmngr.c:1219
+#: agent/gpg-agent.c:2159 scd/scdaemon.c:1098 dirmngr/dirmngr.c:1256
 #, fuzzy, c-format
 msgid "can't create socket: %s\n"
 msgstr "%s nem hozható létre: %s\n"
 
-#: agent/gpg-agent.c:2176 scd/scdaemon.c:1109 dirmngr/dirmngr.c:1232
+#: agent/gpg-agent.c:2176 scd/scdaemon.c:1111 dirmngr/dirmngr.c:1269
 #, c-format
 msgid "socket name '%s' is too long\n"
 msgstr ""
@@ -587,29 +585,29 @@ msgstr ""
 msgid "a gpg-agent is already running - not starting a new one\n"
 msgstr "GPG ügynök nem elérhető ebben a munkafolyamatban.\n"
 
-#: agent/gpg-agent.c:2226 scd/scdaemon.c:1133 dirmngr/dirmngr.c:1264
+#: agent/gpg-agent.c:2226 scd/scdaemon.c:1135 dirmngr/dirmngr.c:1301
 #, fuzzy, c-format
 msgid "error getting nonce for the socket\n"
 msgstr "Hiba a jelszó létrehozásakor: %s.\n"
 
-#: agent/gpg-agent.c:2231 scd/scdaemon.c:1136 dirmngr/dirmngr.c:1267
+#: agent/gpg-agent.c:2231 scd/scdaemon.c:1138 dirmngr/dirmngr.c:1304
 #, fuzzy, c-format
 msgid "error binding socket to '%s': %s\n"
 msgstr "Hiba %s-ra/-re küldéskor: %s\n"
 
 #: agent/gpg-agent.c:2242 agent/gpg-agent.c:2282 agent/gpg-agent.c:2291
-#: scd/scdaemon.c:1144 dirmngr/dirmngr.c:1276
+#: scd/scdaemon.c:1146 dirmngr/dirmngr.c:1313
 #, fuzzy, c-format
 msgid "can't set permissions of '%s': %s\n"
 msgstr "FIGYELEM: nem biztonságos engedélyek: %s \"%s\"\n"
 
-#: agent/gpg-agent.c:2256 scd/scdaemon.c:1156 dirmngr/dirmngr.c:1288
+#: agent/gpg-agent.c:2256 scd/scdaemon.c:1158 dirmngr/dirmngr.c:1325
 #, fuzzy, c-format
 msgid "listening on socket '%s'\n"
 msgstr "Írom a titkos kulcsot a %s állományba.\n"
 
 #: agent/gpg-agent.c:2276 agent/gpg-agent.c:2329 common/homedir.c:517
-#: g10/exec.c:261 g10/openfile.c:397
+#: g10/exec.c:269 g10/openfile.c:397
 #, fuzzy, c-format
 #| msgid "can't create directory `%s': %s\n"
 msgid "can't create directory '%s': %s\n"
@@ -631,7 +629,7 @@ msgstr "Bizalmi adatbázis: olvasás sikertelen (n=%d): %s.\n"
 msgid "can't use '%s' as home directory\n"
 msgstr "%s: Nem tudom a könyvtárat létrehozni: %s.\n"
 
-#: agent/gpg-agent.c:2502 scd/scdaemon.c:1172 dirmngr/dirmngr.c:2047
+#: agent/gpg-agent.c:2502 scd/scdaemon.c:1174 dirmngr/dirmngr.c:2084
 #, fuzzy, c-format
 msgid "error reading nonce on fd %d: %s\n"
 msgstr "Hiba \"%s\" olvasásakor: %s\n"
@@ -656,12 +654,12 @@ msgstr ""
 msgid "ssh handler 0x%lx for fd %d terminated\n"
 msgstr ""
 
-#: agent/gpg-agent.c:3016 scd/scdaemon.c:1362 dirmngr/dirmngr.c:2261
+#: agent/gpg-agent.c:3016 scd/scdaemon.c:1366 dirmngr/dirmngr.c:2298
 #, fuzzy, c-format
 msgid "npth_pselect failed: %s - waiting 1s\n"
 msgstr "Titkoskulcs-blokk frissítése sikertelen: %s\n"
 
-#: agent/gpg-agent.c:3104 scd/scdaemon.c:1427
+#: agent/gpg-agent.c:3104 scd/scdaemon.c:1431
 #, fuzzy, c-format
 msgid "%s %s stopped\n"
 msgstr "%s: kihagyva: %s\n"
@@ -683,8 +681,8 @@ msgid ""
 "Password cache maintenance\n"
 msgstr ""
 
-#: agent/protect-tool.c:108 g10/gpg.c:440 kbx/kbxutil.c:71 sm/gpgsm.c:204
-#: dirmngr/dirmngr.c:163 tools/gpgconf.c:78
+#: agent/protect-tool.c:108 g10/gpg.c:437 kbx/kbxutil.c:71 sm/gpgsm.c:205
+#: dirmngr/dirmngr.c:164 tools/gpgconf.c:78
 msgid ""
 "@Commands:\n"
 " "
@@ -692,8 +690,8 @@ msgstr ""
 "@Parancsok:\n"
 " "
 
-#: agent/protect-tool.c:117 g10/gpg.c:553 g10/gpgv.c:76 kbx/kbxutil.c:81
-#: sm/gpgsm.c:252 dirmngr/dirmngr.c:179 tools/gpg-connect-agent.c:76
+#: agent/protect-tool.c:117 g10/gpg.c:550 g10/gpgv.c:76 kbx/kbxutil.c:81
+#: sm/gpgsm.c:253 dirmngr/dirmngr.c:180 tools/gpg-connect-agent.c:76
 #: tools/gpgconf.c:105
 msgid ""
 "@\n"
@@ -715,12 +713,12 @@ msgid ""
 "Secret key maintenance tool\n"
 msgstr ""
 
-#: agent/protect-tool.c:703
+#: agent/protect-tool.c:703 sm/import.c:774
 #, fuzzy
 msgid "Please enter the passphrase to unprotect the PKCS#12 object."
 msgstr "Kérem, adja meg a jelszót! Ezt egy titkos mondat. \n"
 
-#: agent/protect-tool.c:708
+#: agent/protect-tool.c:708 sm/export.c:710
 #, fuzzy
 msgid "Please enter the passphrase to protect the new PKCS#12 object."
 msgstr "Kérem, adja meg a jelszót! Ezt egy titkos mondat. \n"
@@ -748,7 +746,7 @@ msgstr "Mégsem"
 msgid "error while asking for the passphrase: %s\n"
 msgstr "Hiba a jelszó létrehozásakor: %s.\n"
 
-#: agent/trustlist.c:154 agent/trustlist.c:364 dirmngr/dirmngr.c:1629
+#: agent/trustlist.c:154 agent/trustlist.c:364 dirmngr/dirmngr.c:1666
 #: tools/gpgconf.c:418
 #, fuzzy, c-format
 msgid "error opening '%s': %s\n"
@@ -904,7 +902,7 @@ msgstr "A létrehozott aláírás ellenőrzése sikertelen: %s.\n"
 msgid "secret key parts are not available\n"
 msgstr "Titkos kulcsrészek nem állnak rendelkezésre.\n"
 
-#: agent/cvt-openpgp.c:344 g10/card-util.c:1540
+#: agent/cvt-openpgp.c:344 g10/card-util.c:1541
 #, fuzzy, c-format
 #| msgid "protection algorithm %d%s is not supported\n"
 msgid "public key algorithm %d (%s) is not supported\n"
@@ -922,21 +920,21 @@ msgstr "%d%s védő algoritmus nem támogatott.\n"
 msgid "protection hash algorithm %d (%s) is not supported\n"
 msgstr "%d%s védő algoritmus nem támogatott.\n"
 
-#: common/exechelp-posix.c:359 common/exechelp-w32.c:449
-#: common/exechelp-w32.c:473 common/exechelp-w32.c:503
+#: common/exechelp-posix.c:359 common/exechelp-w32.c:451
+#: common/exechelp-w32.c:475 common/exechelp-w32.c:505
 #, fuzzy, c-format
 msgid "error creating a pipe: %s\n"
 msgstr "Hiba a jelszó létrehozásakor: %s.\n"
 
 #: common/exechelp-posix.c:372 common/exechelp-w32.c:355
-#: common/exechelp-w32.c:459 common/exechelp-w32.c:483
-#: common/exechelp-w32.c:513
+#: common/exechelp-w32.c:461 common/exechelp-w32.c:485
+#: common/exechelp-w32.c:515
 #, fuzzy, c-format
 msgid "error creating a stream for a pipe: %s\n"
 msgstr "Hiba a jelszó létrehozásakor: %s.\n"
 
 #: common/exechelp-posix.c:495 common/exechelp-posix.c:570
-#: common/exechelp-posix.c:851 dirmngr/dirmngr.c:1306
+#: common/exechelp-posix.c:856 dirmngr/dirmngr.c:1343
 #, fuzzy, c-format
 msgid "error forking process: %s\n"
 msgstr "Hiba \"%s\" olvasásakor: %s\n"
@@ -946,28 +944,28 @@ msgstr "Hiba \"%s\" olvasásakor: %s\n"
 msgid "waiting for process %d to terminate failed: %s\n"
 msgstr ""
 
-#: common/exechelp-posix.c:678 common/exechelp-posix.c:794
+#: common/exechelp-posix.c:678 common/exechelp-posix.c:799
 #, fuzzy, c-format
 msgid "error running '%s': probably not installed\n"
 msgstr "Hiba \"%s\" olvasásakor: %s\n"
 
-#: common/exechelp-posix.c:684 common/exechelp-posix.c:801
-#: common/exechelp-w32.c:796 common/exechelp-w32ce.c:781
+#: common/exechelp-posix.c:684 common/exechelp-posix.c:806
+#: common/exechelp-w32.c:829 common/exechelp-w32ce.c:781
 #, fuzzy, c-format
 msgid "error running '%s': exit status %d\n"
 msgstr "Hiba \"%s\" olvasásakor: %s\n"
 
-#: common/exechelp-posix.c:692 common/exechelp-posix.c:809
+#: common/exechelp-posix.c:692 common/exechelp-posix.c:814
 #, fuzzy, c-format
 msgid "error running '%s': terminated\n"
 msgstr "Hiba \"%s\" olvasásakor: %s\n"
 
-#: common/exechelp-posix.c:750 common/exechelp-w32.c:777
+#: common/exechelp-posix.c:755 common/exechelp-w32.c:810
 #, fuzzy, c-format
 msgid "waiting for processes to terminate failed: %s\n"
 msgstr "Frissítés sikertelen: %s.\n"
 
-#: common/exechelp-w32.c:789 common/exechelp-w32ce.c:775
+#: common/exechelp-w32.c:822 common/exechelp-w32ce.c:775
 #, fuzzy, c-format
 msgid "error getting exit code of process %d: %s\n"
 msgstr "Hiba a(z) \"%s\" titkoskulcs-karika írásakor: %s.\n"
@@ -1064,7 +1062,7 @@ msgstr ""
 msgid "out of core while allocating %lu bytes"
 msgstr ""
 
-#: common/miscellaneous.c:115 g10/card-util.c:896 tools/no-libgcrypt.c:30
+#: common/miscellaneous.c:115 g10/card-util.c:897 tools/no-libgcrypt.c:30
 #, fuzzy, c-format
 msgid "error allocating enough memory: %s\n"
 msgstr "Hiba a(z) \"%s\" kulcskarika létrehozásakor: %s\n"
@@ -1187,7 +1185,7 @@ msgid "algorithm: %s"
 msgstr "Páncél: %s\n"
 
 #: common/audit.c:774 common/audit.c:776 common/audit.c:921 common/audit.c:923
-#: scd/app-openpgp.c:3555
+#: scd/app-openpgp.c:3554
 #, fuzzy, c-format
 msgid "unsupported algorithm: %s"
 msgstr ""
@@ -1328,6 +1326,26 @@ msgstr "Ismeretlen módú"
 msgid "invalid radix64 character %02x skipped\n"
 msgstr "Kihagytam a %02x kódú érvénytelen radix64 karaktert.\n"
 
+#: common/ttyio.c:433
+#, c-format
+msgid "Sorry, we are in batchmode - can't get input\n"
+msgstr ""
+
+#: common/ttyio.c:439
+#, c-format
+msgid "Sorry, no terminal at all requested - can't get input\n"
+msgstr ""
+
+#: common/ttyio.c:474 common/ttyio.c:484
+#, c-format
+msgid "too many errors; giving up\n"
+msgstr ""
+
+#: common/ttyio.c:536
+#, c-format
+msgid "Control-D detected\n"
+msgstr ""
+
 #: common/argparse.c:520
 #, fuzzy
 msgid "argument not expected"
@@ -1399,7 +1417,7 @@ msgstr "Érvénytelen import opciók!\n"
 msgid "missing argument for option \"%.50s\"\n"
 msgstr ""
 
-#: common/argparse.c:558 g10/gpg.c:3490
+#: common/argparse.c:558 g10/gpg.c:3510
 #, fuzzy, c-format
 msgid "invalid argument for option \"%.50s\"\n"
 msgstr "Érvénytelen import opciók!\n"
@@ -1471,31 +1489,31 @@ msgstr "Nem tudom a \"%s\" könyvtárat létrehozni: %s.\n"
 msgid "error writing to '%s': %s\n"
 msgstr "Hiba a \"%s\" kulcskarika írásakor: %s\n"
 
-#: common/dotlock.c:1129
+#: common/dotlock.c:1137
 #, c-format
 msgid "removing stale lockfile (created by %d)\n"
 msgstr ""
 
-#: common/dotlock.c:1165
+#: common/dotlock.c:1173
 #, fuzzy, c-format
 msgid "waiting for lock (held by %d%s) %s...\n"
 msgstr "Írom a titkos kulcsot a %s állományba.\n"
 
-#: common/dotlock.c:1166
+#: common/dotlock.c:1174
 msgid "(deadlock?) "
 msgstr ""
 
-#: common/dotlock.c:1205
+#: common/dotlock.c:1213
 #, fuzzy, c-format
 msgid "lock '%s' not made: %s\n"
 msgstr "A(z) %08lX nyilvános kulcsot nem találom: %s.\n"
 
-#: common/dotlock.c:1232
+#: common/dotlock.c:1240
 #, fuzzy, c-format
 msgid "waiting for lock %s...\n"
 msgstr "Írom a titkos kulcsot a %s állományba.\n"
 
-#: common/init.c:185 sm/gpgsm.c:949 dirmngr/dirmngr.c:862 dirmngr/dirmngr.c:871
+#: common/init.c:191 sm/gpgsm.c:863 dirmngr/dirmngr.c:900 dirmngr/dirmngr.c:909
 #, c-format
 msgid "%s is too old (need %s, have %s)\n"
 msgstr ""
@@ -1685,13 +1703,13 @@ msgid "Note: Use the command \"%s\" to restart them.\n"
 msgstr "Kérem, használja előbb a \"toggle\" parancsot!\n"
 
 #: g10/call-agent.c:318 g10/encrypt.c:154 g10/encrypt.c:620 g10/sign.c:412
-#: sm/call-agent.c:205 sm/encrypt.c:425 sm/sign.c:345
+#: sm/call-agent.c:205 sm/encrypt.c:426 sm/sign.c:345
 #, fuzzy, c-format
 #| msgid "%s does not yet work with %s\n"
 msgid "%s is not compliant with %s mode\n"
 msgstr "%s és %s egyelőre nem használható együtt!\n"
 
-#: g10/call-dirmngr.c:209 sm/call-dirmngr.c:268 tools/gpg-connect-agent.c:2253
+#: g10/call-dirmngr.c:209 sm/call-dirmngr.c:269 tools/gpg-connect-agent.c:2253
 #, fuzzy, c-format
 msgid "no dirmngr running in this session\n"
 msgstr "GPG ügynök nem elérhető ebben a munkafolyamatban.\n"
@@ -1734,23 +1752,23 @@ msgstr ""
 msgid "server uses an invalid certificate"
 msgstr "visszavonási igazolás készítése"
 
-#: g10/call-dirmngr.c:437 g10/gpg.c:4400
+#: g10/call-dirmngr.c:437 g10/gpg.c:4421
 #, fuzzy, c-format
 #| msgid "armor: %s\n"
 msgid "Note: %s\n"
 msgstr "Páncél: %s\n"
 
-#: g10/card-util.c:86 g10/card-util.c:366 g10/card-util.c:1902
+#: g10/card-util.c:86 g10/card-util.c:366 g10/card-util.c:1903
 #, fuzzy, c-format
 msgid "OpenPGP card not available: %s\n"
 msgstr "titkos kulcs nem áll rendelkezésre"
 
-#: g10/card-util.c:91 g10/card-util.c:1908
+#: g10/card-util.c:91 g10/card-util.c:1909
 #, c-format
 msgid "OpenPGP card no. %s detected\n"
 msgstr ""
 
-#: g10/card-util.c:97 g10/card-util.c:2237 g10/delkey.c:160 g10/keyedit.c:1422
+#: g10/card-util.c:97 g10/card-util.c:2238 g10/delkey.c:160 g10/keyedit.c:1423
 #: g10/keygen.c:4466 g10/revoke.c:214 g10/revoke.c:636
 #, fuzzy, c-format
 msgid "can't do this in batch mode\n"
@@ -1761,13 +1779,13 @@ msgstr "Nem tudom ezt megcsinálni kötegelt módban!\n"
 msgid "This command is only available for version 2 cards\n"
 msgstr "Ez a parancs %s módban nem engedélyezett.\n"
 
-#: g10/card-util.c:107 scd/app-openpgp.c:2864
+#: g10/card-util.c:107 scd/app-openpgp.c:2863
 #, fuzzy, c-format
 msgid "Reset Code not or not anymore available\n"
 msgstr "Titkos kulcsrészek nem állnak rendelkezésre.\n"
 
-#: g10/card-util.c:140 g10/card-util.c:1426 g10/card-util.c:1688
-#: g10/card-util.c:1780 g10/keyedit.c:394 g10/keyedit.c:415 g10/keyedit.c:429
+#: g10/card-util.c:140 g10/card-util.c:1427 g10/card-util.c:1689
+#: g10/card-util.c:1781 g10/keyedit.c:394 g10/keyedit.c:415 g10/keyedit.c:429
 #: g10/keygen.c:1808 g10/keygen.c:1980 g10/keygen.c:2186 g10/keygen.c:2477
 #: sm/certreqgen-ui.c:165 sm/certreqgen-ui.c:291 sm/certreqgen-ui.c:325
 msgid "Your selection? "
@@ -1794,213 +1812,213 @@ msgstr "nem feldolgozott"
 msgid "forced"
 msgstr ""
 
-#: g10/card-util.c:749
+#: g10/card-util.c:750
 msgid "Error: Only plain ASCII is currently allowed.\n"
 msgstr ""
 
-#: g10/card-util.c:751
+#: g10/card-util.c:752
 msgid "Error: The \"<\" character may not be used.\n"
 msgstr ""
 
-#: g10/card-util.c:753
+#: g10/card-util.c:754
 msgid "Error: Double spaces are not allowed.\n"
 msgstr ""
 
-#: g10/card-util.c:770
+#: g10/card-util.c:771
 msgid "Cardholder's surname: "
 msgstr ""
 
-#: g10/card-util.c:772
+#: g10/card-util.c:773
 msgid "Cardholder's given name: "
 msgstr ""
 
-#: g10/card-util.c:790
+#: g10/card-util.c:791
 #, c-format
 msgid "Error: Combined name too long (limit is %d characters).\n"
 msgstr ""
 
-#: g10/card-util.c:811
+#: g10/card-util.c:812
 #, fuzzy
 msgid "URL to retrieve public key: "
 msgstr "Nincs hozzá tartozó nyilvános kulcs: %s\n"
 
-#: g10/card-util.c:905 g10/decrypt-data.c:490 g10/import.c:387 g10/import.c:734
-#: g10/import.c:786 dirmngr/crlcache.c:655 dirmngr/crlcache.c:660
-#: dirmngr/crlcache.c:914 dirmngr/crlcache.c:920 dirmngr/dirmngr.c:1668
+#: g10/card-util.c:906 g10/decrypt-data.c:490 g10/import.c:399 g10/import.c:746
+#: g10/import.c:798 dirmngr/crlcache.c:655 dirmngr/crlcache.c:660
+#: dirmngr/crlcache.c:914 dirmngr/crlcache.c:920 dirmngr/dirmngr.c:1705
 #: tools/gpgconf.c:431 tools/gpgconf.c:477
 #, fuzzy, c-format
 #| msgid "error reading `%s': %s\n"
 msgid "error reading '%s': %s\n"
 msgstr "Hiba \"%s\" olvasásakor: %s\n"
 
-#: g10/card-util.c:938 g10/decrypt-data.c:493 g10/export.c:2467
+#: g10/card-util.c:939 g10/decrypt-data.c:493 g10/export.c:2467
 #: dirmngr/crlcache.c:925
 #, fuzzy, c-format
 msgid "error writing '%s': %s\n"
 msgstr "Hiba a \"%s\" kulcskarika írásakor: %s\n"
 
-#: g10/card-util.c:965
+#: g10/card-util.c:966
 msgid "Login data (account name): "
 msgstr ""
 
-#: g10/card-util.c:1003
+#: g10/card-util.c:1004
 msgid "Private DO data: "
 msgstr ""
 
-#: g10/card-util.c:1088
+#: g10/card-util.c:1089
 #, fuzzy
 msgid "Language preferences: "
 msgstr "preferenciák frissítése"
 
-#: g10/card-util.c:1096
+#: g10/card-util.c:1097
 #, fuzzy
 msgid "Error: invalid length of preference string.\n"
 msgstr "Érvénytelen karakter a preferenciák között!\n"
 
-#: g10/card-util.c:1105
+#: g10/card-util.c:1106
 #, fuzzy
 msgid "Error: invalid characters in preference string.\n"
 msgstr "Érvénytelen karakter a preferenciák között!\n"
 
-#: g10/card-util.c:1127
+#: g10/card-util.c:1128
 msgid "Salutation (M = Mr., F = Ms., or space): "
 msgstr ""
 
-#: g10/card-util.c:1141
+#: g10/card-util.c:1142
 #, fuzzy
 msgid "Error: invalid response.\n"
 msgstr "Hiba: Érvénytelen ujjlenyomat.\n"
 
-#: g10/card-util.c:1163
+#: g10/card-util.c:1164
 #, fuzzy
 msgid "CA fingerprint: "
 msgstr "megmutatja az ujjlenyomatot"
 
-#: g10/card-util.c:1186
+#: g10/card-util.c:1187
 #, fuzzy
 msgid "Error: invalid formatted fingerprint.\n"
 msgstr "Hiba: Érvénytelen ujjlenyomat.\n"
 
-#: g10/card-util.c:1236
+#: g10/card-util.c:1237
 #, fuzzy, c-format
 msgid "key operation not possible: %s\n"
 msgstr "Kulcsgenerálás sikertelen: %s\n"
 
-#: g10/card-util.c:1237
+#: g10/card-util.c:1238
 #, fuzzy
 msgid "not an OpenPGP card"
 msgstr "Nem találtam érvényes OpenPGP adatot.\n"
 
-#: g10/card-util.c:1250 g10/keygen.c:4486 g10/keygen.c:5565
+#: g10/card-util.c:1251 g10/keygen.c:4486 g10/keygen.c:5565
 #, fuzzy, c-format
 msgid "error getting current key info: %s\n"
 msgstr "Hiba a(z) \"%s\" titkoskulcs-karika írásakor: %s.\n"
 
-#: g10/card-util.c:1335
+#: g10/card-util.c:1336
 msgid "Replace existing key? (y/N) "
 msgstr ""
 
-#: g10/card-util.c:1352
+#: g10/card-util.c:1353
 msgid ""
 "Note: There is no guarantee that the card supports the requested size.\n"
 "      If the key generation does not succeed, please check the\n"
 "      documentation of your card to see what sizes are allowed.\n"
 msgstr ""
 
-#: g10/card-util.c:1374 g10/keygen.c:2363 sm/certreqgen-ui.c:179
+#: g10/card-util.c:1375 g10/keygen.c:2363 sm/certreqgen-ui.c:179
 #, fuzzy, c-format
 msgid "What keysize do you want? (%u) "
 msgstr "Milyen kulcsméretet szeretne? (1024) "
 
-#: g10/card-util.c:1384 g10/keygen.c:2286 g10/keygen.c:2318
+#: g10/card-util.c:1385 g10/keygen.c:2286 g10/keygen.c:2318
 #: sm/certreqgen-ui.c:194
 #, c-format
 msgid "rounded up to %u bits\n"
 msgstr "Felkerekítve %u bitre.\n"
 
-#: g10/card-util.c:1392 g10/keygen.c:2371 sm/certreqgen-ui.c:184
+#: g10/card-util.c:1393 g10/keygen.c:2371 sm/certreqgen-ui.c:184
 #, c-format
 msgid "%s keysizes must be in the range %u-%u\n"
 msgstr ""
 
-#: g10/card-util.c:1411
+#: g10/card-util.c:1412
 msgid "Changing card key attribute for: "
 msgstr ""
 
-#: g10/card-util.c:1413
+#: g10/card-util.c:1414
 #, fuzzy
 msgid "Signature key\n"
 msgstr "Az aláírás lejárt: %s.\n"
 
-#: g10/card-util.c:1415
+#: g10/card-util.c:1416
 #, fuzzy
 msgid "Encryption key\n"
 msgstr "   (%d) RSA (csak titkosítás)\n"
 
-#: g10/card-util.c:1417
+#: g10/card-util.c:1418
 msgid "Authentication key\n"
 msgstr ""
 
-#: g10/card-util.c:1419 g10/keygen.c:1926 sm/certreqgen-ui.c:157
+#: g10/card-util.c:1420 g10/keygen.c:1926 sm/certreqgen-ui.c:157
 msgid "Please select what kind of key you want:\n"
 msgstr "Kérem, adja meg, milyen kulcsot kíván:\n"
 
-#: g10/card-util.c:1420 sm/certreqgen-ui.c:158
+#: g10/card-util.c:1421 sm/certreqgen-ui.c:158
 #, fuzzy, c-format
 msgid "   (%d) RSA\n"
 msgstr "   (%d) RSA (csak aláírás)\n"
 
-#: g10/card-util.c:1421
+#: g10/card-util.c:1422
 #, fuzzy, c-format
 msgid "   (%d) ECC\n"
 msgstr "   (%d) DSA és ElGamal (alapértelmezés)\n"
 
-#: g10/card-util.c:1433 g10/card-util.c:1700 g10/card-util.c:1800
-#: g10/keyedit.c:899 g10/keygen.c:1834 g10/keygen.c:1862 g10/keygen.c:1987
+#: g10/card-util.c:1434 g10/card-util.c:1701 g10/card-util.c:1801
+#: g10/keyedit.c:900 g10/keygen.c:1834 g10/keygen.c:1862 g10/keygen.c:1987
 #: g10/keygen.c:2222 g10/keygen.c:2505 g10/revoke.c:838
 msgid "Invalid selection.\n"
 msgstr "Érvénytelen választás.\n"
 
-#: g10/card-util.c:1506
+#: g10/card-util.c:1507
 #, c-format
 msgid "The card will now be re-configured to generate a key of %u bits\n"
 msgstr ""
 
-#: g10/card-util.c:1511
+#: g10/card-util.c:1512
 #, c-format
 msgid "The card will now be re-configured to generate a key of type: %s\n"
 msgstr ""
 
-#: g10/card-util.c:1547
+#: g10/card-util.c:1548
 #, fuzzy, c-format
 msgid "error changing key attribute for key %d: %s\n"
 msgstr "Hiba %s-ra/-re küldéskor: %s\n"
 
-#: g10/card-util.c:1563 g10/card-util.c:2090
+#: g10/card-util.c:1564 g10/card-util.c:2091
 #, fuzzy, c-format
 msgid "error getting card info: %s\n"
 msgstr "Hiba a(z) \"%s\" titkoskulcs-karika írásakor: %s.\n"
 
-#: g10/card-util.c:1569 g10/card-util.c:1914 g10/card-util.c:2096
+#: g10/card-util.c:1570 g10/card-util.c:1915 g10/card-util.c:2097
 #, fuzzy, c-format
 #| msgid "This command is not allowed while in %s mode.\n"
 msgid "This command is not supported by this card\n"
 msgstr "Ez a parancs %s módban nem engedélyezett.\n"
 
-#: g10/card-util.c:1615
+#: g10/card-util.c:1616
 msgid "Make off-card backup of encryption key? (Y/n) "
 msgstr ""
 
-#: g10/card-util.c:1629
+#: g10/card-util.c:1630
 #, fuzzy, c-format
 msgid "Note: keys are already stored on the card!\n"
 msgstr "Kihagytam: titkos kulcs már jelen van.\n"
 
-#: g10/card-util.c:1632
+#: g10/card-util.c:1633
 msgid "Replace existing keys? (y/N) "
 msgstr ""
 
-#: g10/card-util.c:1644
+#: g10/card-util.c:1645
 #, c-format
 msgid ""
 "Please note that the factory settings of the PINs are\n"
@@ -2008,160 +2026,160 @@ msgid ""
 "You should change them using the command --change-pin\n"
 msgstr ""
 
-#: g10/card-util.c:1679
+#: g10/card-util.c:1680
 #, fuzzy
 msgid "Please select the type of key to generate:\n"
 msgstr "Kérem, adja meg, milyen kulcsot kíván:\n"
 
-#: g10/card-util.c:1681 g10/card-util.c:1771
+#: g10/card-util.c:1682 g10/card-util.c:1772
 #, fuzzy
 msgid "   (1) Signature key\n"
 msgstr "Az aláírás lejárt: %s.\n"
 
-#: g10/card-util.c:1682 g10/card-util.c:1773
+#: g10/card-util.c:1683 g10/card-util.c:1774
 #, fuzzy
 msgid "   (2) Encryption key\n"
 msgstr "   (%d) RSA (csak titkosítás)\n"
 
-#: g10/card-util.c:1683 g10/card-util.c:1775
+#: g10/card-util.c:1684 g10/card-util.c:1776
 msgid "   (3) Authentication key\n"
 msgstr ""
 
-#: g10/card-util.c:1768
+#: g10/card-util.c:1769
 #, fuzzy
 msgid "Please select where to store the key:\n"
 msgstr "Kérem, válassza ki a visszavonás okát:\n"
 
-#: g10/card-util.c:1814
+#: g10/card-util.c:1815
 #, fuzzy, c-format
 msgid "KEYTOCARD failed: %s\n"
 msgstr "Frissítés sikertelen: %s.\n"
 
-#: g10/card-util.c:1919
+#: g10/card-util.c:1920
 #, fuzzy, c-format
 msgid "Note: This command destroys all keys stored on the card!\n"
 msgstr "Kihagytam: titkos kulcs már jelen van.\n"
 
-#: g10/card-util.c:1922
+#: g10/card-util.c:1923
 #, fuzzy
 msgid "Continue? (y/N) "
 msgstr "Valóban aláírja? "
 
-#: g10/card-util.c:1927
+#: g10/card-util.c:1928
 msgid "Really do a factory reset? (enter \"yes\") "
 msgstr ""
 
-#: g10/card-util.c:2113
+#: g10/card-util.c:2114
 #, fuzzy, c-format
 msgid "error for setup KDF: %s\n"
 msgstr "Hiba \"%s\" olvasásakor: %s\n"
 
-#: g10/card-util.c:2142 g10/keyedit.c:1259
+#: g10/card-util.c:2143 g10/keyedit.c:1260
 msgid "quit this menu"
 msgstr "kilépés ebből a menüből"
 
-#: g10/card-util.c:2144
+#: g10/card-util.c:2145
 #, fuzzy
 msgid "show admin commands"
 msgstr "Egymásnak ellentmondó parancsok!\n"
 
-#: g10/card-util.c:2145 g10/keyedit.c:1262
+#: g10/card-util.c:2146 g10/keyedit.c:1263
 msgid "show this help"
 msgstr "megmutatja ezt a súgót"
 
-#: g10/card-util.c:2147
+#: g10/card-util.c:2148
 #, fuzzy
 msgid "list all available data"
 msgstr "Kulcs található: "
 
-#: g10/card-util.c:2150
+#: g10/card-util.c:2151
 msgid "change card holder's name"
 msgstr ""
 
-#: g10/card-util.c:2151
+#: g10/card-util.c:2152
 msgid "change URL to retrieve key"
 msgstr ""
 
-#: g10/card-util.c:2152
+#: g10/card-util.c:2153
 msgid "fetch the key specified in the card URL"
 msgstr ""
 
-#: g10/card-util.c:2153
+#: g10/card-util.c:2154
 #, fuzzy
 msgid "change the login name"
 msgstr "lejárat megváltoztatása"
 
-#: g10/card-util.c:2154
+#: g10/card-util.c:2155
 #, fuzzy
 msgid "change the language preferences"
 msgstr "kulcstulajdonos megbízhatóságának beállítása"
 
-#: g10/card-util.c:2155
+#: g10/card-util.c:2156
 msgid "change card holder's salutation"
 msgstr ""
 
-#: g10/card-util.c:2157
+#: g10/card-util.c:2158
 #, fuzzy
 msgid "change a CA fingerprint"
 msgstr "megmutatja az ujjlenyomatot"
 
-#: g10/card-util.c:2158
+#: g10/card-util.c:2159
 msgid "toggle the signature force PIN flag"
 msgstr ""
 
-#: g10/card-util.c:2159
+#: g10/card-util.c:2160
 #, fuzzy
 msgid "generate new keys"
 msgstr "új kulcspár létrehozása"
 
-#: g10/card-util.c:2160
+#: g10/card-util.c:2161
 msgid "menu to change or unblock the PIN"
 msgstr ""
 
-#: g10/card-util.c:2161
+#: g10/card-util.c:2162
 msgid "verify the PIN and list all data"
 msgstr ""
 
-#: g10/card-util.c:2162
+#: g10/card-util.c:2163
 msgid "unblock the PIN using a Reset Code"
 msgstr ""
 
-#: g10/card-util.c:2163
+#: g10/card-util.c:2164
 msgid "destroy all keys and data"
 msgstr ""
 
-#: g10/card-util.c:2164
+#: g10/card-util.c:2165
 #, fuzzy
 #| msgid "|NAME|use NAME as default recipient"
 msgid "setup KDF for PIN authentication"
 msgstr "|NÉV|NÉV használata alapértelmezett címzettként"
 
-#: g10/card-util.c:2165
+#: g10/card-util.c:2166
 #, fuzzy
 #| msgid "change the ownertrust"
 msgid "change the key attribute"
 msgstr "kulcstulajdonos megbízhatóságának beállítása"
 
-#: g10/card-util.c:2289
+#: g10/card-util.c:2290
 msgid "gpg/card> "
 msgstr ""
 
-#: g10/card-util.c:2330
+#: g10/card-util.c:2331
 #, fuzzy
 msgid "Admin-only command\n"
 msgstr "Egymásnak ellentmondó parancsok!\n"
 
-#: g10/card-util.c:2361
+#: g10/card-util.c:2362
 #, fuzzy
 msgid "Admin commands are allowed\n"
 msgstr "Egymásnak ellentmondó parancsok!\n"
 
-#: g10/card-util.c:2363
+#: g10/card-util.c:2364
 #, fuzzy
 msgid "Admin commands are not allowed\n"
 msgstr "Írom a titkos kulcsot a %s állományba.\n"
 
-#: g10/card-util.c:2466 g10/keyedit.c:2228
+#: g10/card-util.c:2467 g10/keyedit.c:2229
 msgid "Invalid command  (try \"help\")\n"
 msgstr "Érvénytelen parancs! (Próbálja a súgót: \"help\".)\n"
 
@@ -2170,22 +2188,22 @@ msgstr "Érvénytelen parancs! (Próbálja a súgót: \"help\".)\n"
 msgid "--output doesn't work for this command\n"
 msgstr "Az --output opció nem működik ehhez a parancshoz.\n"
 
-#: g10/decrypt.c:247 g10/gpg.c:5083 g10/keyring.c:399 g10/keyring.c:750
+#: g10/decrypt.c:247 g10/gpg.c:5104 g10/keyring.c:399 g10/keyring.c:750
 #, fuzzy, c-format
 #| msgid "can't open `%s'\n"
 msgid "can't open '%s'\n"
 msgstr "Nem tudom megnyitni %s-t!\n"
 
 #: g10/delkey.c:83 g10/export.c:1947 g10/export.c:2230 g10/export.c:2351
-#: g10/getkey.c:1964 g10/gpg.c:5028 g10/keyedit.c:1444 g10/keyedit.c:2334
-#: g10/keyedit.c:2580 g10/keyedit.c:4543 g10/keylist.c:689 g10/keyserver.c:1259
+#: g10/getkey.c:2108 g10/gpg.c:5049 g10/keyedit.c:1445 g10/keyedit.c:2335
+#: g10/keyedit.c:2581 g10/keyedit.c:4544 g10/keylist.c:689 g10/keyserver.c:1092
 #: g10/revoke.c:230 g10/tofu.c:2165
 #, fuzzy, c-format
 msgid "key \"%s\" not found: %s\n"
 msgstr "\"%s\" kulcs nem található: %s\n"
 
-#: g10/delkey.c:92 g10/export.c:2015 g10/getkey.c:1972 g10/getkey.c:4346
-#: g10/gpg.c:5037 g10/keyedit.c:2307 g10/keyserver.c:1277 g10/revoke.c:236
+#: g10/delkey.c:92 g10/export.c:2015 g10/getkey.c:2116 g10/getkey.c:4517
+#: g10/gpg.c:5058 g10/keyedit.c:2308 g10/keyserver.c:1110 g10/revoke.c:236
 #: g10/revoke.c:663 g10/tofu.c:2173
 #, c-format
 msgid "error reading keyblock: %s\n"
@@ -2247,9 +2265,9 @@ msgstr "key"
 msgid "subkey"
 msgstr "Nyilvános kulcsú (pubkey): "
 
-#: g10/delkey.c:299 g10/keyedit.c:2200 g10/keyedit.c:2210 g10/keyedit.c:2387
-#: g10/keyedit.c:2461 g10/keyedit.c:2532 g10/keyedit.c:2757 g10/keyedit.c:2987
-#: g10/keyedit.c:3056 g10/keyedit.c:3207
+#: g10/delkey.c:299 g10/keyedit.c:2201 g10/keyedit.c:2211 g10/keyedit.c:2388
+#: g10/keyedit.c:2462 g10/keyedit.c:2533 g10/keyedit.c:2758 g10/keyedit.c:2988
+#: g10/keyedit.c:3057 g10/keyedit.c:3208
 #, c-format
 msgid "update failed: %s\n"
 msgstr "Frissítés sikertelen: %s.\n"
@@ -2274,7 +2292,7 @@ msgstr "Van egy titkos kulcs a \"%s\" nyilvános kulcshoz!\n"
 msgid "use option \"--delete-secret-keys\" to delete it first.\n"
 msgstr "Először azt törölje a \"--delete-secret-keys\" opcióval!\n"
 
-#: g10/encrypt.c:202 g10/sign.c:1471
+#: g10/encrypt.c:202 g10/sign.c:1470
 #, c-format
 msgid "error creating passphrase: %s\n"
 msgstr "Hiba a jelszó létrehozásakor: %s.\n"
@@ -2301,15 +2319,15 @@ msgstr "\"%s\" már tömörített.\n"
 msgid "WARNING: '%s' is an empty file\n"
 msgstr "FIGYELEM: A(z) \"%s\" állomány üres.\n"
 
-#: g10/encrypt.c:387 g10/encrypt.c:610 g10/decrypt-data.c:260 g10/gpg.c:3901
-#: g10/gpg.c:3941 sm/decrypt.c:364 sm/encrypt.c:415 sm/gpgsm.c:1655
+#: g10/encrypt.c:387 g10/encrypt.c:610 g10/decrypt-data.c:260 g10/gpg.c:3922
+#: g10/gpg.c:3962 sm/decrypt.c:826 sm/encrypt.c:416 sm/gpgsm.c:1555
 #, fuzzy, c-format
 msgid "cipher algorithm '%s' may not be used in %s mode\n"
 msgstr ""
 "Lehet, hogy nem használhatja \"%s\" rejtjelező algoritmust %s módban!\n"
 
-#: g10/encrypt.c:396 g10/gpg.c:3907 g10/gpg.c:3953 g10/sig-check.c:146
-#: g10/sign.c:391 sm/gpgsm.c:1665 sm/gpgsm.c:1675 sm/sign.c:478 sm/verify.c:506
+#: g10/encrypt.c:396 g10/gpg.c:3928 g10/gpg.c:3974 g10/sig-check.c:146
+#: g10/sign.c:391 sm/gpgsm.c:1565 sm/gpgsm.c:1575 sm/sign.c:478 sm/verify.c:506
 #, fuzzy, c-format
 msgid "digest algorithm '%s' may not be used in %s mode\n"
 msgstr ""
@@ -2327,12 +2345,12 @@ msgid ""
 "WARNING: forcing symmetric cipher %s (%d) violates recipient preferences\n"
 msgstr "A %s (%d) rejtjelező használata sérti a címzett preferenciáit!\n"
 
-#: g10/encrypt.c:640 sm/encrypt.c:490
+#: g10/encrypt.c:640 sm/encrypt.c:491
 #, fuzzy, c-format
 msgid "WARNING: key %s is not suitable for encryption in %s mode\n"
 msgstr "FIGYELEM: \"%s\" elavult opció!\n"
 
-#: g10/encrypt.c:751 g10/sign.c:1163
+#: g10/encrypt.c:751 g10/sign.c:1162
 #, fuzzy, c-format
 msgid ""
 "WARNING: forcing compression algorithm %s (%d) violates recipient "
@@ -2360,12 +2378,12 @@ msgstr "Lehet, hogy nem használhatja %s-t %s módban!\n"
 msgid "%s encrypted data\n"
 msgstr "%s titkosított adat.\n"
 
-#: g10/decrypt-data.c:243 g10/mainproc.c:396
+#: g10/decrypt-data.c:243 g10/mainproc.c:397
 #, c-format
 msgid "encrypted with unknown algorithm %d\n"
 msgstr "Ismeretlen algoritmussal (%d) titkosítva.\n"
 
-#: g10/decrypt-data.c:357 g10/decrypt-data.c:410 sm/decrypt.c:130
+#: g10/decrypt-data.c:357 g10/decrypt-data.c:410 sm/decrypt.c:550
 #, c-format
 msgid ""
 "WARNING: message was encrypted with a weak key in the symmetric cipher.\n"
@@ -2382,7 +2400,7 @@ msgstr "Probléma a titkosított csomag kezelésekor!\n"
 msgid "no remote program execution supported\n"
 msgstr "Külső program meghívása nem támogatott.\n"
 
-#: g10/exec.c:381
+#: g10/exec.c:389
 #, c-format
 msgid ""
 "external program calls are disabled due to unsafe options file permissions\n"
@@ -2390,50 +2408,50 @@ msgstr ""
 "A külső programok hívása tiltott, mert az \"options\" állomány engedélyei\n"
 "nem biztonságosak.\n"
 
-#: g10/exec.c:411
+#: g10/exec.c:419
 #, fuzzy, c-format
 msgid "this platform requires temporary files when calling external programs\n"
 msgstr ""
 "Ez a platform átmeneti állományokat igényel külső programok hívásához.\n"
 
-#: g10/exec.c:489
+#: g10/exec.c:497
 #, fuzzy, c-format
 msgid "unable to execute program '%s': %s\n"
 msgstr "Nem tudom végrehajtani a következő \"%s\"-t: \"%s\": %s.\n"
 
-#: g10/exec.c:492
+#: g10/exec.c:500
 #, fuzzy, c-format
 msgid "unable to execute shell '%s': %s\n"
 msgstr "Nem tudom végrehajtani a következő \"%s\"-t: \"%s\": %s.\n"
 
-#: g10/exec.c:583
+#: g10/exec.c:591
 #, c-format
 msgid "system error while calling external program: %s\n"
 msgstr "Rendszerhiba külső program hívásakor: %s.\n"
 
-#: g10/exec.c:594 g10/exec.c:661
+#: g10/exec.c:602 g10/exec.c:669
 #, c-format
 msgid "unnatural exit of external program\n"
 msgstr "A külső program nem természetes módon ért véget.\n"
 
-#: g10/exec.c:609
+#: g10/exec.c:617
 #, c-format
 msgid "unable to execute external program\n"
 msgstr "Nem tudom a végrehajtani a külső programot.\n"
 
-#: g10/exec.c:626
+#: g10/exec.c:634
 #, c-format
 msgid "unable to read external program response: %s\n"
 msgstr "Nem tudom beolvasni a külső program válaszát: %s\n"
 
-#: g10/exec.c:672 g10/exec.c:679
+#: g10/exec.c:680 g10/exec.c:687
 #, fuzzy, c-format
 #| msgid "WARNING: unable to remove tempfile (%s) `%s': %s\n"
 msgid "WARNING: unable to remove tempfile (%s) '%s': %s\n"
 msgstr ""
 "FIGYELEM: Nem tudom törölni az (\"%s\") átmeneti állományt: \"%s\": %s.\n"
 
-#: g10/exec.c:684
+#: g10/exec.c:692
 #, fuzzy, c-format
 #| msgid "WARNING: unable to remove temp directory `%s': %s\n"
 msgid "WARNING: unable to remove temp directory '%s': %s\n"
@@ -2474,8 +2492,8 @@ msgstr ""
 msgid " - skipped"
 msgstr "%s: kihagyva: %s\n"
 
-#: g10/export.c:1324 g10/import.c:2073 g10/openfile.c:200 g10/openfile.c:294
-#: g10/sign.c:1013 g10/sign.c:1327
+#: g10/export.c:1324 g10/import.c:2085 g10/openfile.c:200 g10/openfile.c:294
+#: g10/sign.c:1012 g10/sign.c:1326
 #, fuzzy, c-format
 #| msgid "writing to `%s'\n"
 msgid "writing to '%s'\n"
@@ -2513,294 +2531,294 @@ msgstr "Hiba \"%s\" létrehozásakor: %s\n"
 msgid "[User ID not found]"
 msgstr "[ismeretlen kulcs]"
 
-#: g10/getkey.c:1297
+#: g10/getkey.c:1441
 #, fuzzy, c-format
 msgid "automatically retrieved '%s' via %s\n"
 msgstr "Hiba \"%s\" létrehozásakor: %s\n"
 
-#: g10/getkey.c:1303
+#: g10/getkey.c:1447
 #, fuzzy, c-format
 msgid "error retrieving '%s' via %s: %s\n"
 msgstr "Hiba \"%s\" létrehozásakor: %s\n"
 
-#: g10/getkey.c:1305
+#: g10/getkey.c:1449
 #, fuzzy
 msgid "No fingerprint"
 msgstr "megmutatja az ujjlenyomatot"
 
-#: g10/getkey.c:1526
+#: g10/getkey.c:1670
 #, c-format
 msgid "checking for a fresh copy of an expired key via %s\n"
 msgstr ""
 
-#: g10/getkey.c:1941 g10/revoke.c:655 g10/revoke.c:720
+#: g10/getkey.c:2085 g10/revoke.c:655 g10/revoke.c:720
 #, fuzzy, c-format
 msgid "secret key \"%s\" not found: %s\n"
 msgstr "\"%s\" titkos kulcs nem található: %s\n"
 
-#: g10/getkey.c:1944 g10/pkclist.c:988
+#: g10/getkey.c:2088 g10/pkclist.c:988
 #, fuzzy, c-format
 msgid "(check argument of option '%s')\n"
 msgstr "Érvénytelen import opciók!\n"
 
-#: g10/getkey.c:2020
+#: g10/getkey.c:2164
 #, fuzzy, c-format
 #| msgid "|NAME|use NAME as default secret key"
 msgid "Warning: not using '%s' as default key: %s\n"
 msgstr "|NÉV|NÉV használata alapértelmezett titkos kulcsként"
 
-#: g10/getkey.c:2028
+#: g10/getkey.c:2172
 #, fuzzy, c-format
 #| msgid "|NAME|use NAME as default secret key"
 msgid "using \"%s\" as default secret key for signing\n"
 msgstr "|NÉV|NÉV használata alapértelmezett titkos kulcsként"
 
-#: g10/getkey.c:2035
+#: g10/getkey.c:2179
 #, c-format
 msgid "all values passed to '%s' ignored\n"
 msgstr ""
 
-#: g10/getkey.c:2880
+#: g10/getkey.c:3024
 #, fuzzy, c-format
 msgid "Invalid key %s made valid by --allow-non-selfsigned-uid\n"
 msgstr ""
 "%08lX érvénytelen kulcsot érvényesítettük az\n"
 "--allow-non-selfsigned-uid opcióval.\n"
 
-#: g10/getkey.c:3730
+#: g10/getkey.c:3874
 #, fuzzy, c-format
 msgid "using subkey %s instead of primary key %s\n"
 msgstr "A %08lX másodlagos kulcsot használjuk a %08lX elsődleges helyett.\n"
 
-#: g10/getkey.c:4275 g10/gpg.c:2107
+#: g10/getkey.c:4446 g10/gpg.c:2120
 #, fuzzy, c-format
 msgid "valid values for option '%s':\n"
 msgstr "Érvénytelen import opciók!\n"
 
-#: g10/gpg.c:442 sm/gpgsm.c:206
+#: g10/gpg.c:439 sm/gpgsm.c:207
 #, fuzzy
 msgid "make a signature"
 msgstr "különálló aláírás készítése"
 
-#: g10/gpg.c:443
+#: g10/gpg.c:440
 #, fuzzy
 msgid "make a clear text signature"
 msgstr "|[fájl]|olvasható szöveg aláírása"
 
-#: g10/gpg.c:445 sm/gpgsm.c:208
+#: g10/gpg.c:442 sm/gpgsm.c:209
 msgid "make a detached signature"
 msgstr "különálló aláírás készítése"
 
-#: g10/gpg.c:446 sm/gpgsm.c:209
+#: g10/gpg.c:443 sm/gpgsm.c:210
 msgid "encrypt data"
 msgstr "adat titkosítása"
 
-#: g10/gpg.c:448
+#: g10/gpg.c:445
 msgid "encryption only with symmetric cipher"
 msgstr "titkosítás csak szimmetrikus rejtjelezővel"
 
-#: g10/gpg.c:450 sm/gpgsm.c:211
+#: g10/gpg.c:447 sm/gpgsm.c:212
 msgid "decrypt data (default)"
 msgstr "adat visszafejtése (alapértelmezés)"
 
-#: g10/gpg.c:452 sm/gpgsm.c:212
+#: g10/gpg.c:449 sm/gpgsm.c:213
 msgid "verify a signature"
 msgstr "aláírás ellenőrzése"
 
-#: g10/gpg.c:454 sm/gpgsm.c:213
+#: g10/gpg.c:451 sm/gpgsm.c:214
 msgid "list keys"
 msgstr "kulcsok listázása"
 
-#: g10/gpg.c:456
+#: g10/gpg.c:453
 msgid "list keys and signatures"
 msgstr "kulcsok és aláírások listázása"
 
-#: g10/gpg.c:459
+#: g10/gpg.c:456
 #, fuzzy
 msgid "list and check key signatures"
 msgstr "kulcsaláírások ellenőrzése"
 
-#: g10/gpg.c:461 sm/gpgsm.c:218
+#: g10/gpg.c:458 sm/gpgsm.c:219
 msgid "list keys and fingerprints"
 msgstr "kulcsok és ujjlenyomatok listázása"
 
-#: g10/gpg.c:462 sm/gpgsm.c:216
+#: g10/gpg.c:459 sm/gpgsm.c:217
 msgid "list secret keys"
 msgstr "titkos kulcsok listázása"
 
-#: g10/gpg.c:464 sm/gpgsm.c:219
+#: g10/gpg.c:461 sm/gpgsm.c:220
 msgid "generate a new key pair"
 msgstr "új kulcspár létrehozása"
 
-#: g10/gpg.c:467
+#: g10/gpg.c:464
 #, fuzzy
 #| msgid "generate a new key pair"
 msgid "quickly generate a new key pair"
 msgstr "új kulcspár létrehozása"
 
-#: g10/gpg.c:470
+#: g10/gpg.c:467
 #, fuzzy
 #| msgid "generate a new key pair"
 msgid "quickly add a new user-id"
 msgstr "új kulcspár létrehozása"
 
-#: g10/gpg.c:475
+#: g10/gpg.c:472
 #, fuzzy
 #| msgid "generate a new key pair"
 msgid "quickly revoke a user-id"
 msgstr "új kulcspár létrehozása"
 
-#: g10/gpg.c:478
+#: g10/gpg.c:475
 #, fuzzy
 #| msgid "generate a new key pair"
 msgid "quickly set a new expiration date"
 msgstr "új kulcspár létrehozása"
 
-#: g10/gpg.c:481
+#: g10/gpg.c:478
 msgid "full featured key pair generation"
 msgstr ""
 
-#: g10/gpg.c:484
+#: g10/gpg.c:481
 msgid "generate a revocation certificate"
 msgstr "visszavonási igazolás készítése"
 
-#: g10/gpg.c:487 sm/gpgsm.c:222
+#: g10/gpg.c:484 sm/gpgsm.c:223
 msgid "remove keys from the public keyring"
 msgstr "kulcsok eltávolítása a nyilvánoskulcs-karikáról"
 
-#: g10/gpg.c:489
+#: g10/gpg.c:486
 msgid "remove keys from the secret keyring"
 msgstr "kulcsok eltávolítása a titkoskulcs-karikáról"
 
-#: g10/gpg.c:491
+#: g10/gpg.c:488
 #, fuzzy
 #| msgid "sign a key"
 msgid "quickly sign a key"
 msgstr "kulcs aláírása"
 
-#: g10/gpg.c:493
+#: g10/gpg.c:490
 #, fuzzy
 #| msgid "sign a key locally"
 msgid "quickly sign a key locally"
 msgstr "kulcs aláírása helyileg"
 
-#: g10/gpg.c:495
+#: g10/gpg.c:492
 #, fuzzy
 #| msgid "generate a new key pair"
 msgid "quickly revoke a key signature"
 msgstr "új kulcspár létrehozása"
 
-#: g10/gpg.c:496
+#: g10/gpg.c:493
 msgid "sign a key"
 msgstr "kulcs aláírása"
 
-#: g10/gpg.c:497
+#: g10/gpg.c:494
 msgid "sign a key locally"
 msgstr "kulcs aláírása helyileg"
 
-#: g10/gpg.c:498
+#: g10/gpg.c:495
 msgid "sign or edit a key"
 msgstr "kulcs aláírása vagy szerkesztése"
 
-#: g10/gpg.c:500 sm/gpgsm.c:240
+#: g10/gpg.c:497 sm/gpgsm.c:241
 #, fuzzy
 msgid "change a passphrase"
 msgstr "jelszóváltoztatás"
 
-#: g10/gpg.c:504
+#: g10/gpg.c:501
 msgid "export keys"
 msgstr "kulcsok exportálása"
 
-#: g10/gpg.c:505
+#: g10/gpg.c:502
 msgid "export keys to a keyserver"
 msgstr "kulcsok exportálása kulcsszerverre"
 
-#: g10/gpg.c:506
+#: g10/gpg.c:503
 msgid "import keys from a keyserver"
 msgstr "kulcsok importálása kulcsszerverről"
 
-#: g10/gpg.c:509
+#: g10/gpg.c:506
 msgid "search for keys on a keyserver"
 msgstr "kulcsok keresése kulcsszerveren"
 
-#: g10/gpg.c:511
+#: g10/gpg.c:508
 msgid "update all keys from a keyserver"
 msgstr "minden kulcs frissítése kulcsszerverről"
 
-#: g10/gpg.c:519
+#: g10/gpg.c:516
 msgid "import/merge keys"
 msgstr "kulcsok importálása/összefűzése"
 
-#: g10/gpg.c:522
+#: g10/gpg.c:519
 msgid "print the card status"
 msgstr ""
 
-#: g10/gpg.c:523
+#: g10/gpg.c:520
 msgid "change data on a card"
 msgstr ""
 
-#: g10/gpg.c:525
+#: g10/gpg.c:522
 msgid "change a card's PIN"
 msgstr ""
 
-#: g10/gpg.c:537
+#: g10/gpg.c:534
 msgid "update the trust database"
 msgstr "bizalmi adatbázis frissítése"
 
-#: g10/gpg.c:546
+#: g10/gpg.c:543
 #, fuzzy
 msgid "print message digests"
 msgstr "|algo [fájlok]|üzenet kivonatának kiírása"
 
-#: g10/gpg.c:549 sm/gpgsm.c:235
+#: g10/gpg.c:546 sm/gpgsm.c:236
 msgid "run in server mode"
 msgstr ""
 
-#: g10/gpg.c:551
+#: g10/gpg.c:548
 msgid "|VALUE|set the TOFU policy for a key"
 msgstr ""
 
-#: g10/gpg.c:555 sm/gpgsm.c:254
+#: g10/gpg.c:552 sm/gpgsm.c:255
 msgid "create ascii armored output"
 msgstr "ascii páncélozott kimenet létrehozása"
 
-#: g10/gpg.c:558 sm/gpgsm.c:271
+#: g10/gpg.c:555 sm/gpgsm.c:272
 #, fuzzy
 msgid "|USER-ID|encrypt for USER-ID"
 msgstr "|NÉV|titkosítás NÉV részére"
 
-#: g10/gpg.c:574 sm/gpgsm.c:307
+#: g10/gpg.c:571 sm/gpgsm.c:308
 #, fuzzy
 msgid "|USER-ID|use USER-ID to sign or decrypt"
 msgstr "felh. azonosító aláíráshoz és visszafejtéshez"
 
-#: g10/gpg.c:580
+#: g10/gpg.c:577
 #, fuzzy
 msgid "|N|set compress level to N (0 disables)"
 msgstr "|N|tömörítési szint beállítása N-re (0: tiltás)"
 
-#: g10/gpg.c:587
+#: g10/gpg.c:584
 msgid "use canonical text mode"
 msgstr "kanonikus szöveges mód használata"
 
-#: g10/gpg.c:604 g10/gpgv.c:82 sm/gpgsm.c:309
+#: g10/gpg.c:601 g10/gpgv.c:82 sm/gpgsm.c:310
 #, fuzzy
 msgid "|FILE|write output to FILE"
 msgstr "|fájl|bővítő modul betöltése"
 
-#: g10/gpg.c:614 kbx/kbxutil.c:90 sm/gpgsm.c:321 tools/gpgconf.c:110
+#: g10/gpg.c:611 kbx/kbxutil.c:90 sm/gpgsm.c:322 tools/gpgconf.c:110
 msgid "do not make any changes"
 msgstr "ne csináljon semmi változtatást"
 
-#: g10/gpg.c:615
+#: g10/gpg.c:612
 msgid "prompt before overwriting"
 msgstr "felülírás előtt rákérdezés"
 
-#: g10/gpg.c:665
+#: g10/gpg.c:662
 msgid "use strict OpenPGP behavior"
 msgstr ""
 
-#: g10/gpg.c:692 sm/gpgsm.c:364
+#: g10/gpg.c:689 sm/gpgsm.c:367
 msgid ""
 "@\n"
 "(See the man page for a complete listing of all commands and options)\n"
@@ -2808,7 +2826,7 @@ msgstr ""
 "@\n"
 "(A parancsok és opciók teljes listáját a man oldalon tekintheti meg.)\n"
 
-#: g10/gpg.c:695
+#: g10/gpg.c:692
 #, fuzzy
 #| msgid ""
 #| "@\n"
@@ -2838,13 +2856,13 @@ msgstr ""
 " --list-keys [nevek]        kulcsok kiíratása\n"
 " --fingerprint [nevek]      ujjlenyomatok kiíratása\n"
 
-#: g10/gpg.c:1092
+#: g10/gpg.c:1096
 #, fuzzy
 #| msgid "Usage: gpg [options] [files] (-h for help)"
 msgid "Usage: @GPG@ [options] [files] (-h for help)"
 msgstr "Használat: gpg [opciók] [fájlok] (-h a súgóhoz)"
 
-#: g10/gpg.c:1095
+#: g10/gpg.c:1099
 #, fuzzy
 #| msgid ""
 #| "Syntax: gpg [options] [files]\n"
@@ -2859,7 +2877,7 @@ msgstr ""
 "Aláírás, ellenőrzés, titkosítás vagy visszafejtés.\n"
 "Az alapértelmezett művelet a bemeneti adattól függ.\n"
 
-#: g10/gpg.c:1106 sm/gpgsm.c:591
+#: g10/gpg.c:1110 sm/gpgsm.c:594
 msgid ""
 "\n"
 "Supported algorithms:\n"
@@ -2867,546 +2885,546 @@ msgstr ""
 "\n"
 "Támogatott algoritmusok:\n"
 
-#: g10/gpg.c:1109
+#: g10/gpg.c:1113
 msgid "Pubkey: "
 msgstr "Nyilvános kulcsú (pubkey): "
 
-#: g10/gpg.c:1116 g10/keyedit.c:3281
+#: g10/gpg.c:1120 g10/keyedit.c:3282
 msgid "Cipher: "
 msgstr "Rejtjelező (cipher): "
 
-#: g10/gpg.c:1123
+#: g10/gpg.c:1127
 msgid "Hash: "
 msgstr "Kivonatoló (hash): "
 
-#: g10/gpg.c:1130 g10/keyedit.c:3347
+#: g10/gpg.c:1134 g10/keyedit.c:3348
 msgid "Compression: "
 msgstr "Tömörítő (compression): "
 
-#: g10/gpg.c:1199 sm/gpgsm.c:665
+#: g10/gpg.c:1207 sm/gpgsm.c:668
 #, fuzzy, c-format
 msgid "usage: %s [options] %s\n"
 msgstr "Használat: gpg [opciók] "
 
-#: g10/gpg.c:1388 sm/gpgsm.c:754
+#: g10/gpg.c:1396 sm/gpgsm.c:761
 #, c-format
 msgid "conflicting commands\n"
 msgstr "Egymásnak ellentmondó parancsok!\n"
 
-#: g10/gpg.c:1406
+#: g10/gpg.c:1414
 #, fuzzy, c-format
 msgid "no = sign found in group definition '%s'\n"
 msgstr "Nem találtam = jelet a \"%s\" csoportdefinícióban!\n"
 
-#: g10/gpg.c:1604
+#: g10/gpg.c:1612
 #, fuzzy, c-format
 msgid "WARNING: unsafe ownership on homedir '%s'\n"
 msgstr "FIGYELEM: Nem biztonságos tulajdonos: %s \"%s\"\n"
 
-#: g10/gpg.c:1607
+#: g10/gpg.c:1615
 #, fuzzy, c-format
 msgid "WARNING: unsafe ownership on configuration file '%s'\n"
 msgstr "FIGYELEM: Nem biztonságos tulajdonos: %s \"%s\"\n"
 
-#: g10/gpg.c:1610
+#: g10/gpg.c:1618
 #, fuzzy, c-format
 msgid "WARNING: unsafe ownership on extension '%s'\n"
 msgstr "FIGYELEM: Nem biztonságos tulajdonos: %s \"%s\"\n"
 
-#: g10/gpg.c:1616
+#: g10/gpg.c:1624
 #, fuzzy, c-format
 msgid "WARNING: unsafe permissions on homedir '%s'\n"
 msgstr "FIGYELEM: nem biztonságos engedélyek: %s \"%s\"\n"
 
-#: g10/gpg.c:1619
+#: g10/gpg.c:1627
 #, fuzzy, c-format
 msgid "WARNING: unsafe permissions on configuration file '%s'\n"
 msgstr "FIGYELEM: nem biztonságos engedélyek: %s \"%s\"\n"
 
-#: g10/gpg.c:1622
+#: g10/gpg.c:1630
 #, fuzzy, c-format
 msgid "WARNING: unsafe permissions on extension '%s'\n"
 msgstr "FIGYELEM: nem biztonságos engedélyek: %s \"%s\"\n"
 
-#: g10/gpg.c:1628
+#: g10/gpg.c:1636
 #, fuzzy, c-format
 msgid "WARNING: unsafe enclosing directory ownership on homedir '%s'\n"
 msgstr "FIGYELEM: nem biztonságos könyvtártulajdonos: %s \"%s\"\n"
 
-#: g10/gpg.c:1631
+#: g10/gpg.c:1639
 #, fuzzy, c-format
 msgid ""
 "WARNING: unsafe enclosing directory ownership on configuration file '%s'\n"
 msgstr "FIGYELEM: nem biztonságos könyvtártulajdonos: %s \"%s\"\n"
 
-#: g10/gpg.c:1634
+#: g10/gpg.c:1642
 #, fuzzy, c-format
 msgid "WARNING: unsafe enclosing directory ownership on extension '%s'\n"
 msgstr "FIGYELEM: nem biztonságos könyvtártulajdonos: %s \"%s\"\n"
 
-#: g10/gpg.c:1640
+#: g10/gpg.c:1648
 #, fuzzy, c-format
 msgid "WARNING: unsafe enclosing directory permissions on homedir '%s'\n"
 msgstr "FIGYELEM: nem biztonságos könyvtárengedélyek: %s \"%s\"\n"
 
-#: g10/gpg.c:1643
+#: g10/gpg.c:1651
 #, fuzzy, c-format
 msgid ""
 "WARNING: unsafe enclosing directory permissions on configuration file '%s'\n"
 msgstr "FIGYELEM: nem biztonságos könyvtárengedélyek: %s \"%s\"\n"
 
-#: g10/gpg.c:1646
+#: g10/gpg.c:1654
 #, fuzzy, c-format
 msgid "WARNING: unsafe enclosing directory permissions on extension '%s'\n"
 msgstr "FIGYELEM: nem biztonságos könyvtárengedélyek: %s \"%s\"\n"
 
-#: g10/gpg.c:1862
+#: g10/gpg.c:1870
 #, fuzzy, c-format
 msgid "unknown configuration item '%s'\n"
 msgstr "\"%s\": ismeretlen konfigurációs elem.\n"
 
-#: g10/gpg.c:1979
+#: g10/gpg.c:1992
 msgid "display photo IDs during key listings"
 msgstr ""
 
-#: g10/gpg.c:1981
+#: g10/gpg.c:1994
 #, fuzzy
 msgid "show key usage information during key listings"
 msgstr "Nincs megfelelő aláírás a titkoskulcs-karikán.\n"
 
-#: g10/gpg.c:1983
+#: g10/gpg.c:1996
 msgid "show policy URLs during signature listings"
 msgstr ""
 
-#: g10/gpg.c:1985
+#: g10/gpg.c:1998
 #, fuzzy
 msgid "show all notations during signature listings"
 msgstr "Nincs megfelelő aláírás a titkoskulcs-karikán.\n"
 
-#: g10/gpg.c:1987
+#: g10/gpg.c:2000
 msgid "show IETF standard notations during signature listings"
 msgstr ""
 
-#: g10/gpg.c:1991
+#: g10/gpg.c:2004
 msgid "show user-supplied notations during signature listings"
 msgstr ""
 
-#: g10/gpg.c:1993
+#: g10/gpg.c:2006
 #, fuzzy
 msgid "show preferred keyserver URLs during signature listings"
 msgstr "A megadott aláírási eljárásmód URL-je érvénytelen!\n"
 
-#: g10/gpg.c:1995
+#: g10/gpg.c:2008
 msgid "show user ID validity during key listings"
 msgstr ""
 
-#: g10/gpg.c:1997
+#: g10/gpg.c:2010
 msgid "show revoked and expired user IDs in key listings"
 msgstr ""
 
-#: g10/gpg.c:1999
+#: g10/gpg.c:2012
 msgid "show revoked and expired subkeys in key listings"
 msgstr ""
 
-#: g10/gpg.c:2001
+#: g10/gpg.c:2014
 #, fuzzy
 msgid "show the keyring name in key listings"
 msgstr "mutatja a kilistázott kulcs kulcskarikáját is"
 
-#: g10/gpg.c:2003
+#: g10/gpg.c:2016
 #, fuzzy
 msgid "show expiration dates during signature listings"
 msgstr "Nincs megfelelő aláírás a titkoskulcs-karikán.\n"
 
-#: g10/gpg.c:2118
+#: g10/gpg.c:2131
 #, fuzzy, c-format
 msgid "unknown TOFU policy '%s'\n"
 msgstr "Ismeretlen alapértelmezett címzett: \"%s\"\n"
 
-#: g10/gpg.c:2120
+#: g10/gpg.c:2133
 #, c-format
 msgid "(use \"help\" to list choices)\n"
 msgstr ""
 
-#: g10/gpg.c:2840 g10/gpg.c:3671 g10/gpg.c:3683
+#: g10/gpg.c:2856 g10/gpg.c:3691 g10/gpg.c:3703
 #, fuzzy, c-format
 #| msgid "NOTE: %s is not for normal use!\n"
 msgid "Note: %s is not for normal use!\n"
 msgstr "MEGJEGYZÉS: %s nem normál használatra van!\n"
 
-#: g10/gpg.c:3017 g10/gpg.c:3029
+#: g10/gpg.c:3033 g10/gpg.c:3045
 #, fuzzy, c-format
 msgid "'%s' is not a valid signature expiration\n"
 msgstr "%s nem érvényes karakterkiosztás!\n"
 
-#: g10/gpg.c:3051
+#: g10/gpg.c:3067
 #, fuzzy, c-format
 msgid "\"%s\" is not a proper mail address\n"
 msgstr "Ez nem érvényes e-mail cím.\n"
 
-#: g10/gpg.c:3083 sm/gpgsm.c:1177
+#: g10/gpg.c:3099 sm/gpgsm.c:1091
 #, fuzzy, c-format
 msgid "invalid pinentry mode '%s'\n"
 msgstr "Érvénytelen kivonatoló algoritmus: %s\n"
 
-#: g10/gpg.c:3089 sm/gpgsm.c:1183
+#: g10/gpg.c:3105 sm/gpgsm.c:1097
 #, fuzzy, c-format
 msgid "invalid request origin '%s'\n"
 msgstr "Érvénytelen import opciók!\n"
 
-#: g10/gpg.c:3143
+#: g10/gpg.c:3159
 #, fuzzy, c-format
 msgid "'%s' is not a valid character set\n"
 msgstr "%s nem érvényes karakterkiosztás!\n"
 
-#: g10/gpg.c:3165 g10/gpg.c:3375 g10/keyedit.c:5281
+#: g10/gpg.c:3181 g10/gpg.c:3395 g10/keyedit.c:5282
 #, fuzzy, c-format
 msgid "could not parse keyserver URL\n"
 msgstr "Értelmezhetetlen a kulcsszerver URI-ja!\n"
 
-#: g10/gpg.c:3183
+#: g10/gpg.c:3199
 #, fuzzy, c-format
 msgid "%s:%d: invalid keyserver options\n"
 msgstr "%s:%d: Érvénytelen export opciók!\n"
 
-#: g10/gpg.c:3186
+#: g10/gpg.c:3202
 #, fuzzy, c-format
 msgid "invalid keyserver options\n"
 msgstr "Érvénytelen export opciók!\n"
 
-#: g10/gpg.c:3193
+#: g10/gpg.c:3209
 #, c-format
 msgid "%s:%d: invalid import options\n"
 msgstr "%s:%d: Érvénytelen import opciók!\n"
 
-#: g10/gpg.c:3196
+#: g10/gpg.c:3212
 #, c-format
 msgid "invalid import options\n"
 msgstr "Érvénytelen import opciók!\n"
 
-#: g10/gpg.c:3202 g10/gpg.c:3217
+#: g10/gpg.c:3218 g10/gpg.c:3233
 #, fuzzy, c-format
 msgid "invalid filter option: %s\n"
 msgstr "Érvénytelen import opciók!\n"
 
-#: g10/gpg.c:3208
+#: g10/gpg.c:3224
 #, c-format
 msgid "%s:%d: invalid export options\n"
 msgstr "%s:%d: Érvénytelen export opciók!\n"
 
-#: g10/gpg.c:3211
+#: g10/gpg.c:3227
 #, c-format
 msgid "invalid export options\n"
 msgstr "Érvénytelen export opciók!\n"
 
-#: g10/gpg.c:3223
+#: g10/gpg.c:3239
 #, fuzzy, c-format
 msgid "%s:%d: invalid list options\n"
 msgstr "%s:%d: Érvénytelen import opciók!\n"
 
-#: g10/gpg.c:3226
+#: g10/gpg.c:3242
 #, fuzzy, c-format
 msgid "invalid list options\n"
 msgstr "Érvénytelen import opciók!\n"
 
-#: g10/gpg.c:3234
+#: g10/gpg.c:3250
 msgid "display photo IDs during signature verification"
 msgstr ""
 
-#: g10/gpg.c:3236
+#: g10/gpg.c:3252
 msgid "show policy URLs during signature verification"
 msgstr ""
 
-#: g10/gpg.c:3238
+#: g10/gpg.c:3254
 #, fuzzy
 msgid "show all notations during signature verification"
 msgstr "%s nem érvényes karakterkiosztás!\n"
 
-#: g10/gpg.c:3240
+#: g10/gpg.c:3256
 msgid "show IETF standard notations during signature verification"
 msgstr ""
 
-#: g10/gpg.c:3244
+#: g10/gpg.c:3260
 msgid "show user-supplied notations during signature verification"
 msgstr ""
 
-#: g10/gpg.c:3246
+#: g10/gpg.c:3262
 #, fuzzy
 msgid "show preferred keyserver URLs during signature verification"
 msgstr "A megadott aláírási eljárásmód URL-je érvénytelen!\n"
 
-#: g10/gpg.c:3248
+#: g10/gpg.c:3264
 #, fuzzy
 msgid "show user ID validity during signature verification"
 msgstr "%s nem érvényes karakterkiosztás!\n"
 
-#: g10/gpg.c:3250
+#: g10/gpg.c:3266
 msgid "show revoked and expired user IDs in signature verification"
 msgstr ""
 
-#: g10/gpg.c:3252
+#: g10/gpg.c:3268
 #, fuzzy
 msgid "show only the primary user ID in signature verification"
 msgstr "%s nem érvényes karakterkiosztás!\n"
 
-#: g10/gpg.c:3254
+#: g10/gpg.c:3270
 msgid "validate signatures with PKA data"
 msgstr ""
 
-#: g10/gpg.c:3256
+#: g10/gpg.c:3272
 msgid "elevate the trust of signatures with valid PKA data"
 msgstr ""
 
-#: g10/gpg.c:3263
+#: g10/gpg.c:3279
 #, fuzzy, c-format
 msgid "%s:%d: invalid verify options\n"
 msgstr "%s:%d: Érvénytelen export opciók!\n"
 
-#: g10/gpg.c:3266
+#: g10/gpg.c:3282
 #, fuzzy, c-format
 msgid "invalid verify options\n"
 msgstr "Érvénytelen export opciók!\n"
 
-#: g10/gpg.c:3273
+#: g10/gpg.c:3289
 #, c-format
 msgid "unable to set exec-path to %s\n"
 msgstr "Nem tudom a végrehajtási elérési utat %s értékre állítani!\n"
 
-#: g10/gpg.c:3478
+#: g10/gpg.c:3498
 #, fuzzy, c-format
 msgid "%s:%d: invalid auto-key-locate list\n"
 msgstr "%s:%d: Érvénytelen export opciók!\n"
 
-#: g10/gpg.c:3481
+#: g10/gpg.c:3501
 #, c-format
 msgid "invalid auto-key-locate list\n"
 msgstr ""
 
-#: g10/gpg.c:3653 sm/gpgsm.c:1541
+#: g10/gpg.c:3673 sm/gpgsm.c:1441
 #, c-format
 msgid "WARNING: program may create a core file!\n"
 msgstr "FIGYELEM: A program core állományt hozhat létre!\n"
 
-#: g10/gpg.c:3664
+#: g10/gpg.c:3684
 #, c-format
 msgid "WARNING: %s overrides %s\n"
 msgstr "FIGYELEM: %s hatástalanítja %s-t!\n"
 
-#: g10/gpg.c:3673
+#: g10/gpg.c:3693
 #, c-format
 msgid "%s not allowed with %s!\n"
 msgstr "%s és %s nem használható együtt!\n"
 
-#: g10/gpg.c:3676
+#: g10/gpg.c:3696
 #, c-format
 msgid "%s makes no sense with %s!\n"
 msgstr "%s értelmetlen %s mellett!\n"
 
-#: g10/gpg.c:3691 sm/gpgsm.c:1558 dirmngr/dirmngr.c:1082
+#: g10/gpg.c:3711 sm/gpgsm.c:1458 dirmngr/dirmngr.c:1117
 #, c-format
 msgid "WARNING: running with faked system time: "
 msgstr ""
 
-#: g10/gpg.c:3712
+#: g10/gpg.c:3732
 #, fuzzy, c-format
 msgid "will not run with insecure memory due to %s\n"
 msgstr "Írom a titkos kulcsot a %s állományba.\n"
 
-#: g10/gpg.c:3747 g10/gpg.c:3771 sm/gpgsm.c:1625
+#: g10/gpg.c:3767 g10/gpg.c:3791 sm/gpgsm.c:1525
 #, c-format
 msgid "selected cipher algorithm is invalid\n"
 msgstr "A kiválasztott rejtjelező algoritmus érvénytelen!\n"
 
-#: g10/gpg.c:3759
+#: g10/gpg.c:3779
 #, fuzzy, c-format
 msgid "selected compression algorithm is invalid\n"
 msgstr "A kiválasztott rejtjelező algoritmus érvénytelen!\n"
 
-#: g10/gpg.c:3765
+#: g10/gpg.c:3785
 #, c-format
 msgid "selected certification digest algorithm is invalid\n"
 msgstr "Az igazoláshoz kiválasztott kivonatoló algoritmus érvénytelen!\n"
 
-#: g10/gpg.c:3780
+#: g10/gpg.c:3800
 #, c-format
 msgid "completes-needed must be greater than 0\n"
 msgstr "completes-needed nagyobb kell legyen 0-nál!\n"
 
-#: g10/gpg.c:3782
+#: g10/gpg.c:3802
 #, c-format
 msgid "marginals-needed must be greater than 1\n"
 msgstr "marginals-needed nagyobb kell legyen 1-nél!\n"
 
-#: g10/gpg.c:3784
+#: g10/gpg.c:3804
 #, fuzzy, c-format
 msgid "max-cert-depth must be in the range from 1 to 255\n"
 msgstr "max-cert-depth 1 és 255 közé kell essen!\n"
 
-#: g10/gpg.c:3786
+#: g10/gpg.c:3806
 #, c-format
 msgid "invalid default-cert-level; must be 0, 1, 2, or 3\n"
 msgstr "Érvénytelen default-cert-level; 0, 1, 2 vagy 3 lehet.\n"
 
-#: g10/gpg.c:3788
+#: g10/gpg.c:3808
 #, c-format
 msgid "invalid min-cert-level; must be 1, 2, or 3\n"
 msgstr "Érvénytelen min-cert-level; 0, 1, 2 vagy 3 lehet.\n"
 
-#: g10/gpg.c:3791
+#: g10/gpg.c:3812
 #, fuzzy, c-format
 #| msgid "NOTE: simple S2K mode (0) is strongly discouraged\n"
 msgid "Note: simple S2K mode (0) is strongly discouraged\n"
 msgstr "MEGJEGYZÉS: Egyszerű S2K mód (0) erősen ellenjavallt!\n"
 
-#: g10/gpg.c:3795
+#: g10/gpg.c:3816
 #, c-format
 msgid "invalid S2K mode; must be 0, 1 or 3\n"
 msgstr "Érvénytelen S2K mód; 0, 1 vagy 3 lehet.\n"
 
-#: g10/gpg.c:3802
+#: g10/gpg.c:3823
 #, c-format
 msgid "invalid default preferences\n"
 msgstr "Érvénytelen alapértelmezett preferenciák!\n"
 
-#: g10/gpg.c:3806
+#: g10/gpg.c:3827
 #, c-format
 msgid "invalid personal cipher preferences\n"
 msgstr "Érvénytelen személyes rejtjelező-preferenciák!\n"
 
-#: g10/gpg.c:3810
+#: g10/gpg.c:3831
 #, c-format
 msgid "invalid personal digest preferences\n"
 msgstr "Érvénytelen személyes kivonatolópreferenciák!\n"
 
-#: g10/gpg.c:3814
+#: g10/gpg.c:3835
 #, c-format
 msgid "invalid personal compress preferences\n"
 msgstr "Érvénytelen személyes tömörítőpreferenciák!\n"
 
-#: g10/gpg.c:3850
+#: g10/gpg.c:3871
 #, c-format
 msgid "%s does not yet work with %s\n"
 msgstr "%s és %s egyelőre nem használható együtt!\n"
 
-#: g10/gpg.c:3913
+#: g10/gpg.c:3934
 #, fuzzy, c-format
 msgid "compression algorithm '%s' may not be used in %s mode\n"
 msgstr "Lehet, hogy nem használhatja \"%s\" tömörítő algoritmust %s módban!\n"
 
-#: g10/gpg.c:4057
+#: g10/gpg.c:4078
 #, c-format
 msgid "failed to initialize the TrustDB: %s\n"
 msgstr "Bizalmi adatbázis (%s) inicializálása sikertelen!\n"
 
-#: g10/gpg.c:4069
+#: g10/gpg.c:4090
 #, c-format
 msgid "WARNING: recipients (-r) given without using public key encryption\n"
 msgstr ""
 "FIGYELEM: Címzett megadva (-r), de nincs nyilvános kulcsú titkosítás!\n"
 
-#: g10/gpg.c:4141
+#: g10/gpg.c:4162
 #, fuzzy, c-format
 msgid "symmetric encryption of '%s' failed: %s\n"
 msgstr "Visszafejtés sikertelen: %s.\n"
 
-#: g10/gpg.c:4170
+#: g10/gpg.c:4191
 #, c-format
 msgid "you cannot use --symmetric --encrypt with --s2k-mode 0\n"
 msgstr ""
 
-#: g10/gpg.c:4173
+#: g10/gpg.c:4194
 #, fuzzy, c-format
 msgid "you cannot use --symmetric --encrypt in %s mode\n"
 msgstr "Lehet, hogy nem használhatja %s-t %s módban!\n"
 
-#: g10/gpg.c:4231
+#: g10/gpg.c:4252
 #, c-format
 msgid "you cannot use --symmetric --sign --encrypt with --s2k-mode 0\n"
 msgstr ""
 
-#: g10/gpg.c:4234
+#: g10/gpg.c:4255
 #, fuzzy, c-format
 msgid "you cannot use --symmetric --sign --encrypt in %s mode\n"
 msgstr "Lehet, hogy nem használhatja %s-t %s módban!\n"
 
-#: g10/gpg.c:4622 g10/keyserver.c:1881
+#: g10/gpg.c:4643 g10/keyserver.c:1648
 #, c-format
 msgid "keyserver send failed: %s\n"
 msgstr "Küldés a kulcsszerverre sikertelen: %s\n"
 
-#: g10/gpg.c:4627
+#: g10/gpg.c:4648
 #, c-format
 msgid "keyserver receive failed: %s\n"
 msgstr "Vétel a kulcsszerverről sikertelen: %s\n"
 
-#: g10/gpg.c:4633
+#: g10/gpg.c:4654
 #, c-format
 msgid "key export failed: %s\n"
 msgstr "Kulcsexportálás sikertelen: %s\n"
 
-#: g10/gpg.c:4646
+#: g10/gpg.c:4667
 #, fuzzy, c-format
 #| msgid "key export failed: %s\n"
 msgid "export as ssh key failed: %s\n"
 msgstr "Kulcsexportálás sikertelen: %s\n"
 
-#: g10/gpg.c:4658
+#: g10/gpg.c:4679
 #, c-format
 msgid "keyserver search failed: %s\n"
 msgstr "Keresés a kulcsszerveren sikertelen: %s\n"
 
-#: g10/gpg.c:4671
+#: g10/gpg.c:4692
 #, c-format
 msgid "keyserver refresh failed: %s\n"
 msgstr "Frissítés a kulcsszerverről sikertelen: %s\n"
 
-#: g10/gpg.c:4738
+#: g10/gpg.c:4759
 #, c-format
 msgid "dearmoring failed: %s\n"
 msgstr "Páncél eltávolítása nem sikerült: %s\n"
 
-#: g10/gpg.c:4749
+#: g10/gpg.c:4770
 #, c-format
 msgid "enarmoring failed: %s\n"
 msgstr "Páncélozás nem sikerült: %s\n"
 
-#: g10/gpg.c:4841
+#: g10/gpg.c:4862
 #, fuzzy, c-format
 #| msgid "invalid hash algorithm `%s'\n"
 msgid "invalid hash algorithm '%s'\n"
 msgstr "Érvénytelen kivonatoló algoritmus: %s\n"
 
-#: g10/gpg.c:4993 g10/tofu.c:2153
+#: g10/gpg.c:5014 g10/tofu.c:2153
 #, fuzzy, c-format
 msgid "error parsing key specification '%s': %s\n"
 msgstr "Hiba a jelszó létrehozásakor: %s.\n"
 
-#: g10/gpg.c:5006
+#: g10/gpg.c:5027
 #, c-format
 msgid "'%s' does not appear to be a valid key ID, fingerprint or keygrip\n"
 msgstr ""
 
-#: g10/gpg.c:5062
+#: g10/gpg.c:5083
 #, c-format
 msgid "WARNING: no command supplied.  Trying to guess what you mean ...\n"
 msgstr ""
 
-#: g10/gpg.c:5073
+#: g10/gpg.c:5094
 #, c-format
 msgid "Go ahead and type your message ...\n"
 msgstr "Kezdheti gépelni az üzenetet...\n"
 
-#: g10/gpg.c:5418
+#: g10/gpg.c:5439
 #, c-format
 msgid "the given certification policy URL is invalid\n"
 msgstr "A megadott igazolási eljárásmód URL-je érvénytelen!\n"
 
-#: g10/gpg.c:5420
+#: g10/gpg.c:5441
 #, c-format
 msgid "the given signature policy URL is invalid\n"
 msgstr "A megadott aláírási eljárásmód URL-je érvénytelen!\n"
 
-#: g10/gpg.c:5453
+#: g10/gpg.c:5474
 #, fuzzy, c-format
 msgid "the given preferred keyserver URL is invalid\n"
 msgstr "A megadott aláírási eljárásmód URL-je érvénytelen!\n"
@@ -3420,7 +3438,7 @@ msgstr "a megadott kulcskarikáról vegye a kulcsokat"
 msgid "make timestamp conflicts only a warning"
 msgstr "időbélyeg-konfliktus esetén csak figyelmeztessen"
 
-#: g10/gpgv.c:86 sm/gpgsm.c:354 tools/gpgconf.c:112
+#: g10/gpgv.c:86 sm/gpgsm.c:357 tools/gpgconf.c:112
 msgid "|FD|write status info to this FD"
 msgstr "|ÁL|állapotinformációk írása ÁL állományleíróra"
 
@@ -3504,266 +3522,266 @@ msgstr ""
 msgid "repair keys on import"
 msgstr "megmutatja az ujjlenyomatot"
 
-#: g10/import.c:380 g10/import.c:699
+#: g10/import.c:392 g10/import.c:711
 #, c-format
 msgid "skipping block of type %d\n"
 msgstr "%d típusú blokkot kihagyom.\n"
 
-#: g10/import.c:716
+#: g10/import.c:728
 #, fuzzy, c-format
 msgid "%lu keys processed so far\n"
 msgstr "Eddig %lu kulcsot dolgoztam fel.\n"
 
-#: g10/import.c:802
+#: g10/import.c:814
 #, c-format
 msgid "Total number processed: %lu\n"
 msgstr "     Összesen feldolgoztam: %lu\n"
 
-#: g10/import.c:805
+#: g10/import.c:817
 #, fuzzy, c-format
 #| msgid "      skipped new keys: %lu\n"
 msgid "    skipped PGP-2 keys: %lu\n"
 msgstr "       új kulcsok kihagyva: %lu\n"
 
-#: g10/import.c:807
+#: g10/import.c:819
 #, c-format
 msgid "      skipped new keys: %lu\n"
 msgstr "       új kulcsok kihagyva: %lu\n"
 
-#: g10/import.c:810
+#: g10/import.c:822
 #, c-format
 msgid "          w/o user IDs: %lu\n"
 msgstr "    felh. azonosító nélkül: %lu\n"
 
-#: g10/import.c:813 sm/import.c:130
+#: g10/import.c:825 sm/import.c:130
 #, c-format
 msgid "              imported: %lu"
 msgstr "                importálva: %lu"
 
-#: g10/import.c:817 sm/import.c:134
+#: g10/import.c:829 sm/import.c:134
 #, c-format
 msgid "             unchanged: %lu\n"
 msgstr "               változatlan: %lu\n"
 
-#: g10/import.c:819
+#: g10/import.c:831
 #, c-format
 msgid "          new user IDs: %lu\n"
 msgstr "       új felh. azonosítók: %lu\n"
 
-#: g10/import.c:821
+#: g10/import.c:833
 #, c-format
 msgid "           new subkeys: %lu\n"
 msgstr "              új alkulcsok: %lu\n"
 
-#: g10/import.c:823
+#: g10/import.c:835
 #, c-format
 msgid "        new signatures: %lu\n"
 msgstr "              új aláírások: %lu\n"
 
-#: g10/import.c:825
+#: g10/import.c:837
 #, c-format
 msgid "   new key revocations: %lu\n"
 msgstr "     új kulcsvisszavonások: %lu\n"
 
-#: g10/import.c:827 sm/import.c:136
+#: g10/import.c:839 sm/import.c:136
 #, c-format
 msgid "      secret keys read: %lu\n"
 msgstr "   olvasott titkos kulcsok: %lu\n"
 
-#: g10/import.c:829 sm/import.c:138
+#: g10/import.c:841 sm/import.c:138
 #, c-format
 msgid "  secret keys imported: %lu\n"
 msgstr "  importált titkos kulcsok: %lu\n"
 
-#: g10/import.c:831 sm/import.c:140
+#: g10/import.c:843 sm/import.c:140
 #, c-format
 msgid " secret keys unchanged: %lu\n"
 msgstr "változatlan titkos kulcsok: %lu\n"
 
-#: g10/import.c:833 sm/import.c:142
+#: g10/import.c:845 sm/import.c:142
 #, c-format
 msgid "          not imported: %lu\n"
 msgstr "             nem importált: %lu\n"
 
-#: g10/import.c:835
+#: g10/import.c:847
 #, fuzzy, c-format
 msgid "    signatures cleaned: %lu\n"
 msgstr "              új aláírások: %lu\n"
 
-#: g10/import.c:837
+#: g10/import.c:849
 #, fuzzy, c-format
 msgid "      user IDs cleaned: %lu\n"
 msgstr "   olvasott titkos kulcsok: %lu\n"
 
-#: g10/import.c:1264
+#: g10/import.c:1276
 #, c-format
 msgid ""
 "WARNING: key %s contains preferences for unavailable\n"
 "algorithms on these user IDs:\n"
 msgstr ""
 
-#: g10/import.c:1306
+#: g10/import.c:1318
 #, c-format
 msgid "         \"%s\": preference for cipher algorithm %s\n"
 msgstr ""
 
-#: g10/import.c:1321
+#: g10/import.c:1333
 #, fuzzy, c-format
 msgid "         \"%s\": preference for digest algorithm %s\n"
 msgstr "%s aláírás, %s kivonatoló algoritmus.\n"
 
-#: g10/import.c:1333
+#: g10/import.c:1345
 #, c-format
 msgid "         \"%s\": preference for compression algorithm %s\n"
 msgstr ""
 
-#: g10/import.c:1346
+#: g10/import.c:1358
 #, c-format
 msgid "it is strongly suggested that you update your preferences and\n"
 msgstr ""
 
-#: g10/import.c:1348
+#: g10/import.c:1360
 #, c-format
 msgid "re-distribute this key to avoid potential algorithm mismatch problems\n"
 msgstr ""
 
-#: g10/import.c:1373
+#: g10/import.c:1385
 #, c-format
 msgid "you can update your preferences with: gpg --edit-key %s updpref save\n"
 msgstr ""
 
-#: g10/import.c:1887 g10/import.c:3001
+#: g10/import.c:1899 g10/import.c:3013
 #, fuzzy, c-format
 msgid "key %s: no user ID\n"
 msgstr "%08lX kulcs: Nincs felhasználói azonosító.\n"
 
-#: g10/import.c:1893
+#: g10/import.c:1905
 #, fuzzy, c-format
 msgid "key %s: %s\n"
 msgstr "Kihagytam \"%s\"-t: %s.\n"
 
-#: g10/import.c:1894 g10/import.c:2973
+#: g10/import.c:1906 g10/import.c:2985
 msgid "rejected by import screener"
 msgstr ""
 
-#: g10/import.c:1938
+#: g10/import.c:1950
 #, fuzzy, c-format
 msgid "key %s: PKS subkey corruption repaired\n"
 msgstr "%08lX kulcs: HKP alkulcssérülés kijavítva.\n"
 
-#: g10/import.c:1959
+#: g10/import.c:1971
 #, fuzzy, c-format
 msgid "key %s: accepted non self-signed user ID \"%s\"\n"
 msgstr "%08lX kulcs: Nem önaláírt felh. azonosító (\"%s\") elfogadva.\n"
 
-#: g10/import.c:1969 g10/import.c:2000
+#: g10/import.c:1981 g10/import.c:2012
 #, fuzzy, c-format
 msgid "key %s: no valid user IDs\n"
 msgstr "%08lX kulcs: Nincs érvényes felhasználói azonosító.\n"
 
-#: g10/import.c:1971
+#: g10/import.c:1983
 #, c-format
 msgid "this may be caused by a missing self-signature\n"
 msgstr "Ezt okozhatja egy hiányzó önaláírás.\n"
 
-#: g10/import.c:2050 g10/import.c:3387
+#: g10/import.c:2062 g10/import.c:3399
 #, fuzzy, c-format
 msgid "key %s: public key not found: %s\n"
 msgstr "%08lX kulcs: Nyilvános kulcs nem található: %s\n"
 
-#: g10/import.c:2056
+#: g10/import.c:2068
 #, fuzzy, c-format
 msgid "key %s: new key - skipped\n"
 msgstr "%08lX kulcs: új kulcs - kihagytam.\n"
 
-#: g10/import.c:2068
+#: g10/import.c:2080
 #, c-format
 msgid "no writable keyring found: %s\n"
 msgstr "Nem írható kulcskarikát találtam: %s\n"
 
-#: g10/import.c:2100 g10/import.c:2202 g10/import.c:3464
+#: g10/import.c:2112 g10/import.c:2214 g10/import.c:3476
 #, fuzzy, c-format
 #| msgid "error writing keyring `%s': %s\n"
 msgid "error writing keyring '%s': %s\n"
 msgstr "Hiba a \"%s\" kulcskarika írásakor: %s\n"
 
-#: g10/import.c:2123
+#: g10/import.c:2135
 #, fuzzy, c-format
 msgid "key %s: public key \"%s\" imported\n"
 msgstr "%08lX kulcs: \"%s\" nyilvános kulcs importálva.\n"
 
-#: g10/import.c:2150
+#: g10/import.c:2162
 #, fuzzy, c-format
 msgid "key %s: doesn't match our copy\n"
 msgstr "%08lX kulcs: Nem egyezik a mi másolatunkkal!\n"
 
-#: g10/import.c:2218
+#: g10/import.c:2230
 #, fuzzy, c-format
 msgid "key %s: \"%s\" 1 new user ID\n"
 msgstr "%08lX kulcs: \"%s\" 1 új felhasználói azonosító.\n"
 
-#: g10/import.c:2221
+#: g10/import.c:2233
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d new user IDs\n"
 msgstr "%08lX kulcs: \"%s\" %d új felhasználói azonosító.\n"
 
-#: g10/import.c:2224
+#: g10/import.c:2236
 #, fuzzy, c-format
 msgid "key %s: \"%s\" 1 new signature\n"
 msgstr "%08lX kulcs: \"%s\" 1 új aláírás.\n"
 
-#: g10/import.c:2227
+#: g10/import.c:2239
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d new signatures\n"
 msgstr "%08lX kulcs: \"%s\" %d új aláírás.\n"
 
-#: g10/import.c:2230
+#: g10/import.c:2242
 #, fuzzy, c-format
 msgid "key %s: \"%s\" 1 new subkey\n"
 msgstr "%08lX kulcs: \"%s\" 1 új alkulcs.\n"
 
-#: g10/import.c:2233
+#: g10/import.c:2245
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d new subkeys\n"
 msgstr "%08lX kulcs: \"%s\" %d új alkulcs.\n"
 
-#: g10/import.c:2236
+#: g10/import.c:2248
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d signature cleaned\n"
 msgstr "%08lX kulcs: \"%s\" %d új aláírás.\n"
 
-#: g10/import.c:2239
+#: g10/import.c:2251
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d signatures cleaned\n"
 msgstr "%08lX kulcs: \"%s\" %d új aláírás.\n"
 
-#: g10/import.c:2242
+#: g10/import.c:2254
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d user ID cleaned\n"
 msgstr "%08lX kulcs: \"%s\" %d új felhasználói azonosító.\n"
 
-#: g10/import.c:2245
+#: g10/import.c:2257
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d user IDs cleaned\n"
 msgstr "%08lX kulcs: \"%s\" %d új felhasználói azonosító.\n"
 
-#: g10/import.c:2281
+#: g10/import.c:2293
 #, fuzzy, c-format
 msgid "key %s: \"%s\" not changed\n"
 msgstr "%08lX kulcs: \"%s\" nem változott.\n"
 
-#: g10/import.c:2640 g10/import.c:2835
+#: g10/import.c:2652 g10/import.c:2847
 #, fuzzy, c-format
 msgid "key %s: secret key imported\n"
 msgstr "%08lX kulcs: Titkos kulcs importálva.\n"
 
-#: g10/import.c:2648
+#: g10/import.c:2660
 #, fuzzy, c-format
 #| msgid "skipped: secret key already present\n"
 msgid "key %s: secret key already exists\n"
 msgstr "Kihagytam: titkos kulcs már jelen van.\n"
 
-#: g10/import.c:2656
+#: g10/import.c:2668
 #, fuzzy, c-format
 msgid "key %s: error sending to agent: %s\n"
 msgstr "Hiba %s-ra/-re küldéskor: %s\n"
@@ -3776,199 +3794,199 @@ msgstr "Hiba %s-ra/-re küldéskor: %s\n"
 #. * Instead, user should be suggested to run 'gpg --card-status',
 #. * then, references to a card will be automatically created
 #. * again.
-#: g10/import.c:2825
+#: g10/import.c:2837
 #, c-format
 msgid "To migrate '%s', with each smartcard, run: %s\n"
 msgstr ""
 
-#: g10/import.c:2972
+#: g10/import.c:2984
 #, fuzzy, c-format
 msgid "secret key %s: %s\n"
 msgstr "\"%s\" titkos kulcs nem található: %s\n"
 
-#: g10/import.c:2993 g10/import.c:3032
+#: g10/import.c:3005 g10/import.c:3044
 #, fuzzy, c-format
 msgid "importing secret keys not allowed\n"
 msgstr "Írom a titkos kulcsot a %s állományba.\n"
 
-#: g10/import.c:3020
+#: g10/import.c:3032
 #, fuzzy, c-format
 msgid "key %s: secret key with invalid cipher %d - skipped\n"
 msgstr ""
 "%08lX kulcs: Titkos kulcs érvénytelen (%d) rejtjelezővel - kihagytam.\n"
 
-#: g10/import.c:3182 g10/pkclist.c:72 g10/revoke.c:776
+#: g10/import.c:3194 g10/pkclist.c:72 g10/revoke.c:776
 msgid "No reason specified"
 msgstr "Nincs megadva ok."
 
-#: g10/import.c:3183 g10/pkclist.c:74 g10/revoke.c:778
+#: g10/import.c:3195 g10/pkclist.c:74 g10/revoke.c:778
 msgid "Key is superseded"
 msgstr "A kulcsot lecserélték."
 
-#: g10/import.c:3184 g10/pkclist.c:76 g10/revoke.c:777
+#: g10/import.c:3196 g10/pkclist.c:76 g10/revoke.c:777
 msgid "Key has been compromised"
 msgstr "A kulcs kompromittálódott."
 
-#: g10/import.c:3185 g10/pkclist.c:78 g10/revoke.c:779
+#: g10/import.c:3197 g10/pkclist.c:78 g10/revoke.c:779
 msgid "Key is no longer used"
 msgstr "A kulcs már nem használatos."
 
-#: g10/import.c:3186 g10/pkclist.c:80 g10/revoke.c:780
+#: g10/import.c:3198 g10/pkclist.c:80 g10/revoke.c:780
 msgid "User ID is no longer valid"
 msgstr "A felhasználói azonosító már nem érvényes."
 
-#: g10/import.c:3311 g10/keylist.c:1254 g10/pkclist.c:84
+#: g10/import.c:3323 g10/keylist.c:1254 g10/pkclist.c:84
 #, c-format
 msgid "reason for revocation: "
 msgstr "Visszavonás oka: "
 
-#: g10/import.c:3330 g10/keylist.c:1273 g10/pkclist.c:100
+#: g10/import.c:3342 g10/keylist.c:1273 g10/pkclist.c:100
 #, c-format
 msgid "revocation comment: "
 msgstr "Megjegyzés a visszavonáshoz: "
 
-#: g10/import.c:3380
+#: g10/import.c:3392
 #, fuzzy, c-format
 msgid "key %s: no public key - can't apply revocation certificate\n"
 msgstr "%08lX kulcs: Nincs nyilvános kulcs - nem tudok visszavonni.\n"
 
-#: g10/import.c:3411
+#: g10/import.c:3423
 #, fuzzy, c-format
 msgid "key %s: can't locate original keyblock: %s\n"
 msgstr "%08lX kulcs: Nem találom az eredeti kulcsblokkot: %s\n"
 
-#: g10/import.c:3418
+#: g10/import.c:3430
 #, fuzzy, c-format
 msgid "key %s: can't read original keyblock: %s\n"
 msgstr "%08lX kulcs: Nem tudom beolvasni az eredeti kulcsblokkot: %s\n"
 
-#: g10/import.c:3438
+#: g10/import.c:3450
 #, fuzzy, c-format
 msgid "key %s: invalid revocation certificate: %s - rejected\n"
 msgstr "%08lX kulcs: Érvénytelen visszavonó igazolás: %s - visszautasítva.\n"
 
-#: g10/import.c:3473
+#: g10/import.c:3485
 #, fuzzy, c-format
 msgid "key %s: \"%s\" revocation certificate imported\n"
 msgstr "%08lX kulcs: \"%s\" visszavonó igazolást importáltam.\n"
 
-#: g10/import.c:3559
+#: g10/import.c:3571
 #, fuzzy, c-format
 msgid "key %s: no user ID for signature\n"
 msgstr "%08lX kulcs: Nincs felhasználói azonosító ehhez az aláíráshoz!\n"
 
-#: g10/import.c:3576
+#: g10/import.c:3588
 #, fuzzy, c-format
 msgid "key %s: unsupported public key algorithm on user ID \"%s\"\n"
 msgstr ""
 "%08lX kulcs: Nem támogatott nyilvános kulcsú alg. a \"%s\" felh. "
 "azonosítón!\n"
 
-#: g10/import.c:3578
+#: g10/import.c:3590
 #, fuzzy, c-format
 msgid "key %s: invalid self-signature on user ID \"%s\"\n"
 msgstr "%08lX kulcs: Érvénytelen önaláírás a \"%s\" felh. azonosítón!\n"
 
-#: g10/import.c:3595 g10/import.c:3623 g10/import.c:3679
+#: g10/import.c:3607 g10/import.c:3635 g10/import.c:3691
 #, fuzzy, c-format
 msgid "key %s: unsupported public key algorithm\n"
 msgstr "%08lX kulcs: Nem támogatott nyilvános kulcsú algoritmus!\n"
 
-#: g10/import.c:3596
+#: g10/import.c:3608
 #, fuzzy, c-format
 msgid "key %s: invalid direct key signature\n"
 msgstr "%08lX kulcs: Kulcsaláírást hozzáadtam.\n"
 
-#: g10/import.c:3610
+#: g10/import.c:3622
 #, fuzzy, c-format
 msgid "key %s: no subkey for key binding\n"
 msgstr "%08lX kulcs: Nincs alkulcs a kulcskötéshez!\n"
 
-#: g10/import.c:3625
+#: g10/import.c:3637
 #, fuzzy, c-format
 msgid "key %s: invalid subkey binding\n"
 msgstr "%08lX kulcs: Érvénytelen alkulcskötés!\n"
 
-#: g10/import.c:3644
+#: g10/import.c:3656
 #, fuzzy, c-format
 msgid "key %s: removed multiple subkey binding\n"
 msgstr "%08lX kulcs: Eltávolítottam a többszörös alkulcskötést.\n"
 
-#: g10/import.c:3668
+#: g10/import.c:3680
 #, fuzzy, c-format
 msgid "key %s: no subkey for key revocation\n"
 msgstr "%08lX kulcs: Nincs alkulcs a kulcsvisszavonáshoz.\n"
 
-#: g10/import.c:3681
+#: g10/import.c:3693
 #, fuzzy, c-format
 msgid "key %s: invalid subkey revocation\n"
 msgstr "%08lX kulcs: Érvénytelen alkulcsvisszavonás.\n"
 
-#: g10/import.c:3696
+#: g10/import.c:3708
 #, fuzzy, c-format
 msgid "key %s: removed multiple subkey revocation\n"
 msgstr "%08lX kulcs: Eltávolítottam a többszörös alkulcsvisszavonást.\n"
 
-#: g10/import.c:3740
+#: g10/import.c:3752
 #, fuzzy, c-format
 msgid "key %s: skipped user ID \"%s\"\n"
 msgstr "%08lX kulcs: Kihagytam a felh. azonosítót: '"
 
-#: g10/import.c:3767
+#: g10/import.c:3779
 #, fuzzy, c-format
 msgid "key %s: skipped subkey\n"
 msgstr "%08lX kulcs: Alkulcsot kihagytam.\n"
 
-#: g10/import.c:3798
+#: g10/import.c:3810
 #, fuzzy, c-format
 msgid "key %s: non exportable signature (class 0x%02X) - skipped\n"
 msgstr "%08lX kulcs: Nem exportálható aláírás (%02x. osztály) - kihagytam.\n"
 
-#: g10/import.c:3809
+#: g10/import.c:3821
 #, fuzzy, c-format
 msgid "key %s: revocation certificate at wrong place - skipped\n"
 msgstr "%08lX kulcs: Visszavonó igazolás rossz helyen - kihagytam.\n"
 
-#: g10/import.c:3827
+#: g10/import.c:3839
 #, fuzzy, c-format
 msgid "key %s: invalid revocation certificate: %s - skipped\n"
 msgstr "%08lX kulcs: Érvénytelen visszavonó igazolás: %s - kihagytam.\n"
 
-#: g10/import.c:3841
+#: g10/import.c:3853
 #, fuzzy, c-format
 msgid "key %s: subkey signature in wrong place - skipped\n"
 msgstr "%08lX kulcs: Alkulcsaláírás rossz helyen - kihagytam.\n"
 
-#: g10/import.c:3849
+#: g10/import.c:3861
 #, fuzzy, c-format
 msgid "key %s: unexpected signature class (0x%02X) - skipped\n"
 msgstr "%08lX kulcs: Váratlan aláírásosztály (0x%02X) - kihagytam.\n"
 
-#: g10/import.c:4022
+#: g10/import.c:4034
 #, fuzzy, c-format
 msgid "key %s: duplicated user ID detected - merged\n"
 msgstr "%08lX kulcs: Duplázott felh. azonosítót találtam - összefűztem.\n"
 
-#: g10/import.c:4087
+#: g10/import.c:4099
 #, fuzzy, c-format
 msgid "WARNING: key %s may be revoked: fetching revocation key %s\n"
 msgstr ""
 "FIGYELEM: %08lX kulcsot visszavonhatták:\n"
 "lehívom a %08lX visszavonó kulcsot.\n"
 
-#: g10/import.c:4103
+#: g10/import.c:4115
 #, fuzzy, c-format
 msgid "WARNING: key %s may be revoked: revocation key %s not present.\n"
 msgstr ""
 "FIGYELEM: %08lX kulcsot visszavonhatták:\n"
 "visszavonó kulcs (%08lX) nincs jelen.\n"
 
-#: g10/import.c:4169
+#: g10/import.c:4181
 #, fuzzy, c-format
 msgid "key %s: \"%s\" revocation certificate added\n"
 msgstr "%08lX kulcs: \"%s\" visszavonó igazolást hozzáadtam.\n"
 
-#: g10/import.c:4207
+#: g10/import.c:4219
 #, fuzzy, c-format
 msgid "key %s: direct key signature added\n"
 msgstr "%08lX kulcs: Kulcsaláírást hozzáadtam.\n"
@@ -4037,7 +4055,7 @@ msgid ""
 "all signatures.\n"
 msgstr ""
 
-#: g10/keydb.c:431 g10/keydb.c:458 sm/keydb.c:191 sm/keydb.c:204
+#: g10/keydb.c:431 g10/keydb.c:458 sm/keydb.c:190 sm/keydb.c:203
 #, fuzzy, c-format
 msgid "error creating keybox '%s': %s\n"
 msgstr "Hiba a(z) \"%s\" kulcskarika létrehozásakor: %s\n"
@@ -4048,7 +4066,7 @@ msgstr "Hiba a(z) \"%s\" kulcskarika létrehozásakor: %s\n"
 msgid "error creating keyring '%s': %s\n"
 msgstr "Hiba a(z) \"%s\" kulcskarika létrehozásakor: %s\n"
 
-#: g10/keydb.c:470 sm/keydb.c:210
+#: g10/keydb.c:470 sm/keydb.c:209
 #, fuzzy, c-format
 msgid "keybox '%s' created\n"
 msgstr "\"%s\" kulcskarikát létrehoztam.\n"
@@ -4126,13 +4144,13 @@ msgstr ""
 msgid "User ID \"%s\" is revoked."
 msgstr "\"%s\" felhasználói azonosítót visszavonták."
 
-#: g10/keyedit.c:569 g10/keyedit.c:597 g10/keyedit.c:624 g10/keyedit.c:808
-#: g10/keyedit.c:1655
+#: g10/keyedit.c:569 g10/keyedit.c:597 g10/keyedit.c:624 g10/keyedit.c:809
+#: g10/keyedit.c:1656
 msgid "Are you sure you still want to sign it? (y/N) "
 msgstr "Biztos abban, hogy továbbra is alá akarja írni? (i/N) "
 
-#: g10/keyedit.c:583 g10/keyedit.c:611 g10/keyedit.c:638 g10/keyedit.c:814
-#: g10/keyedit.c:1660 g10/keyedit.c:2667
+#: g10/keyedit.c:583 g10/keyedit.c:611 g10/keyedit.c:638 g10/keyedit.c:815
+#: g10/keyedit.c:1661 g10/keyedit.c:2668
 msgid "  Unable to sign.\n"
 msgstr "  Nem tudom aláírni.\n"
 
@@ -4205,29 +4223,29 @@ msgstr "\"%s\" már alá lett írva helyileg a %08lX kulccsal!\n"
 msgid "\"%s\" was already signed by key %s\n"
 msgstr "\"%s\" már alá lett írva a %08lX kulccsal!\n"
 
-#: g10/keyedit.c:756
+#: g10/keyedit.c:757
 msgid "Do you want to sign it again anyway? (y/N) "
 msgstr "Még egyszer alá akarja írni? (i/N) "
 
-#: g10/keyedit.c:778
+#: g10/keyedit.c:779
 #, fuzzy, c-format
 msgid "Nothing to sign with key %s\n"
 msgstr "Nincs mit aláírni a %08lX kulccsal!\n"
 
-#: g10/keyedit.c:802
+#: g10/keyedit.c:803
 msgid "This key has expired!"
 msgstr "Ez a kulcs lejárt!"
 
-#: g10/keyedit.c:820
+#: g10/keyedit.c:821
 #, c-format
 msgid "This key is due to expire on %s.\n"
 msgstr "Ez a kulcs lejár: %s.\n"
 
-#: g10/keyedit.c:826
+#: g10/keyedit.c:827
 msgid "Do you want your signature to expire at the same time? (Y/n) "
 msgstr "Szeretné, ha az aláírása ugyanekkor járna le? (I/n) "
 
-#: g10/keyedit.c:867
+#: g10/keyedit.c:868
 msgid ""
 "How carefully have you verified the key you are about to sign actually "
 "belongs\n"
@@ -4236,32 +4254,32 @@ msgstr ""
 "Mennyire gondosan ellenőrizte, hogy a kulcs, melyet aláírni készül, valóban\n"
 "a fent nevezett személyhez tartozik? Ha nem tudja a választ, írjon \"0\"-t!\n"
 
-#: g10/keyedit.c:872
+#: g10/keyedit.c:873
 #, c-format
 msgid "   (0) I will not answer.%s\n"
 msgstr "   (0) Nem válaszolok.%s\n"
 
-#: g10/keyedit.c:874
+#: g10/keyedit.c:875
 #, c-format
 msgid "   (1) I have not checked at all.%s\n"
 msgstr "   (1) Egyáltalán nem ellenőriztem.%s\n"
 
-#: g10/keyedit.c:876
+#: g10/keyedit.c:877
 #, c-format
 msgid "   (2) I have done casual checking.%s\n"
 msgstr "   (2) A szokásos ellenőrzéseket végeztem.%s\n"
 
-#: g10/keyedit.c:879
+#: g10/keyedit.c:880
 #, c-format
 msgid "   (3) I have done very careful checking.%s\n"
 msgstr "   (3) Nagyon alaposan ellenőriztem.%s\n"
 
-#: g10/keyedit.c:886
+#: g10/keyedit.c:887
 #, fuzzy
 msgid "Your selection? (enter '?' for more information): "
 msgstr "Mi a válasza? (Adjon meg \"?\"-et magyarázathoz!): "
 
-#: g10/keyedit.c:913
+#: g10/keyedit.c:914
 #, fuzzy, c-format
 msgid ""
 "Are you sure that you want to sign this key with your\n"
@@ -4270,271 +4288,271 @@ msgstr ""
 "Teljesen biztos abban, hogy alá akarja írni ezt a kulcsot\n"
 "az Ön kulcsával: \""
 
-#: g10/keyedit.c:921
+#: g10/keyedit.c:922
 #, fuzzy
 msgid "This will be a self-signature.\n"
 msgstr ""
 "\n"
 "Ez egy önaláírás lesz.\n"
 
-#: g10/keyedit.c:926
+#: g10/keyedit.c:927
 #, fuzzy
 msgid "WARNING: the signature will not be marked as non-exportable.\n"
 msgstr ""
 "\n"
 "FIGYELEM: Az aláírás nem lesz \"nem exportálhatóként\" megjelölve.\n"
 
-#: g10/keyedit.c:933
+#: g10/keyedit.c:934
 #, fuzzy
 msgid "WARNING: the signature will not be marked as non-revocable.\n"
 msgstr ""
 "\n"
 "FIGYELEM: Az aláírás nem lesz \"nem visszavonhatóként\" megjelölve.\n"
 
-#: g10/keyedit.c:943
+#: g10/keyedit.c:944
 #, fuzzy
 msgid "The signature will be marked as non-exportable.\n"
 msgstr ""
 "\n"
 "Az aláírást \"nem exportálhatónak\" jelöljük.\n"
 
-#: g10/keyedit.c:950
+#: g10/keyedit.c:951
 #, fuzzy
 msgid "The signature will be marked as non-revocable.\n"
 msgstr ""
 "\n"
 "Az aláírást \"nem visszavonhatónak\" jelöljük.\n"
 
-#: g10/keyedit.c:957
+#: g10/keyedit.c:958
 #, fuzzy
 msgid "I have not checked this key at all.\n"
 msgstr ""
 "\n"
 "Egyáltalán nem ellenőriztem ezt a kulcsot.\n"
 
-#: g10/keyedit.c:962
+#: g10/keyedit.c:963
 #, fuzzy
 msgid "I have checked this key casually.\n"
 msgstr ""
 "\n"
 "A szokásos módon ellenőriztem ezt a kulcsot.\n"
 
-#: g10/keyedit.c:967
+#: g10/keyedit.c:968
 #, fuzzy
 msgid "I have checked this key very carefully.\n"
 msgstr ""
 "\n"
 "Nagyon gondosan ellenőriztem ezt a kulcsot.\n"
 
-#: g10/keyedit.c:979
+#: g10/keyedit.c:980
 #, fuzzy
 msgid "Really sign? (y/N) "
 msgstr "Valóban aláírja? "
 
-#: g10/keyedit.c:1030 g10/keyedit.c:6154 g10/keyedit.c:6237 g10/keyedit.c:6366
-#: g10/keyedit.c:6428 g10/sign.c:466
+#: g10/keyedit.c:1031 g10/keyedit.c:6155 g10/keyedit.c:6238 g10/keyedit.c:6367
+#: g10/keyedit.c:6429 g10/sign.c:466
 #, c-format
 msgid "signing failed: %s\n"
 msgstr "Aláírás sikertelen: %s\n"
 
-#: g10/keyedit.c:1117
+#: g10/keyedit.c:1118
 msgid "Key has only stub or on-card key items - no passphrase to change.\n"
 msgstr ""
 
-#: g10/keyedit.c:1149
+#: g10/keyedit.c:1150
 #, fuzzy, c-format
 #| msgid "error creating passphrase: %s\n"
 msgid "key %s: error changing passphrase: %s\n"
 msgstr "Hiba a jelszó létrehozásakor: %s.\n"
 
-#: g10/keyedit.c:1261
+#: g10/keyedit.c:1262
 msgid "save and quit"
 msgstr "mentés és kilépés"
 
-#: g10/keyedit.c:1264
+#: g10/keyedit.c:1265
 #, fuzzy
 msgid "show key fingerprint"
 msgstr "megmutatja az ujjlenyomatot"
 
-#: g10/keyedit.c:1265
+#: g10/keyedit.c:1266
 #, fuzzy
 msgid "show the keygrip"
 msgstr "Aláírás-jelölés: "
 
-#: g10/keyedit.c:1266
+#: g10/keyedit.c:1267
 msgid "list key and user IDs"
 msgstr "kilistázza a kulcs- és felhasználóazonosítókat"
 
-#: g10/keyedit.c:1268
+#: g10/keyedit.c:1269
 msgid "select user ID N"
 msgstr "N. felhasználói azonosító kiválasztása"
 
-#: g10/keyedit.c:1269
+#: g10/keyedit.c:1270
 #, fuzzy
 msgid "select subkey N"
 msgstr "N. felhasználói azonosító kiválasztása"
 
-#: g10/keyedit.c:1270
+#: g10/keyedit.c:1271
 #, fuzzy
 msgid "check signatures"
 msgstr "aláírások visszavonása"
 
-#: g10/keyedit.c:1276
+#: g10/keyedit.c:1277
 msgid "sign selected user IDs [* see below for related commands]"
 msgstr ""
 
-#: g10/keyedit.c:1281
+#: g10/keyedit.c:1282
 #, fuzzy
 msgid "sign selected user IDs locally"
 msgstr "kulcs helyi aláírása"
 
-#: g10/keyedit.c:1282
+#: g10/keyedit.c:1283
 #, fuzzy
 msgid "sign selected user IDs with a trust signature"
 msgstr "Javaslat: Válassza ki az aláírni kívánt felhasználóazonosítókat!\n"
 
-#: g10/keyedit.c:1284
+#: g10/keyedit.c:1285
 msgid "sign selected user IDs with a non-revocable signature"
 msgstr ""
 
-#: g10/keyedit.c:1286
+#: g10/keyedit.c:1287
 msgid "add a user ID"
 msgstr "felhasználói azonosító hozzáadása"
 
-#: g10/keyedit.c:1288
+#: g10/keyedit.c:1289
 msgid "add a photo ID"
 msgstr "fotóazonosító hozzáadása"
 
-#: g10/keyedit.c:1289
+#: g10/keyedit.c:1290
 #, fuzzy
 msgid "delete selected user IDs"
 msgstr "felhasználói azonosító törlése"
 
-#: g10/keyedit.c:1292
+#: g10/keyedit.c:1293
 #, fuzzy
 msgid "add a subkey"
 msgstr "addkey"
 
-#: g10/keyedit.c:1295
+#: g10/keyedit.c:1296
 msgid "add a key to a smartcard"
 msgstr ""
 
-#: g10/keyedit.c:1297
+#: g10/keyedit.c:1298
 msgid "move a key to a smartcard"
 msgstr ""
 
-#: g10/keyedit.c:1299
+#: g10/keyedit.c:1300
 msgid "move a backup key to a smartcard"
 msgstr ""
 
-#: g10/keyedit.c:1301
+#: g10/keyedit.c:1302
 #, fuzzy
 msgid "delete selected subkeys"
 msgstr "másodlagos kulcs törlése"
 
-#: g10/keyedit.c:1303
+#: g10/keyedit.c:1304
 msgid "add a revocation key"
 msgstr "visszavonó kulcs hozzáadása"
 
-#: g10/keyedit.c:1305
+#: g10/keyedit.c:1306
 #, fuzzy
 msgid "delete signatures from the selected user IDs"
 msgstr "Valóban frissíti a kijelölt felhasználóazonosítók preferenciáit? "
 
-#: g10/keyedit.c:1307
+#: g10/keyedit.c:1308
 #, fuzzy
 msgid "change the expiration date for the key or selected subkeys"
 msgstr "Nem változtathatja meg egy v3 kulcs lejárati dátumát!\n"
 
-#: g10/keyedit.c:1309
+#: g10/keyedit.c:1310
 #, fuzzy
 msgid "flag the selected user ID as primary"
 msgstr "felhasználóazonosító megjelölése elsődlegesként"
 
-#: g10/keyedit.c:1312
+#: g10/keyedit.c:1313
 msgid "list preferences (expert)"
 msgstr "preferenciák listázása (szakértő)"
 
-#: g10/keyedit.c:1313
+#: g10/keyedit.c:1314
 msgid "list preferences (verbose)"
 msgstr "preferenciák listázása (részletes)"
 
-#: g10/keyedit.c:1315
+#: g10/keyedit.c:1316
 #, fuzzy
 msgid "set preference list for the selected user IDs"
 msgstr "Valóban frissíti a kijelölt felhasználóazonosítók preferenciáit? "
 
-#: g10/keyedit.c:1318
+#: g10/keyedit.c:1319
 #, fuzzy
 msgid "set the preferred keyserver URL for the selected user IDs"
 msgstr "Értelmezhetetlen a kulcsszerver URI-ja!\n"
 
-#: g10/keyedit.c:1320
+#: g10/keyedit.c:1321
 #, fuzzy
 msgid "set a notation for the selected user IDs"
 msgstr "Valóban frissíti a kijelölt felhasználóazonosítók preferenciáit? "
 
-#: g10/keyedit.c:1322
+#: g10/keyedit.c:1323
 msgid "change the passphrase"
 msgstr "jelszóváltoztatás"
 
-#: g10/keyedit.c:1325
+#: g10/keyedit.c:1326
 msgid "change the ownertrust"
 msgstr "kulcstulajdonos megbízhatóságának beállítása"
 
-#: g10/keyedit.c:1328
+#: g10/keyedit.c:1329
 #, fuzzy
 msgid "revoke signatures on the selected user IDs"
 msgstr "Valóban visszavonja az összes kijelölt felhasználóazonosítót? "
 
-#: g10/keyedit.c:1330
+#: g10/keyedit.c:1331
 #, fuzzy
 msgid "revoke selected user IDs"
 msgstr "felhasználói azonosító visszavonása"
 
-#: g10/keyedit.c:1333
+#: g10/keyedit.c:1334
 #, fuzzy
 msgid "revoke key or selected subkeys"
 msgstr "másodlagos kulcs visszavonása"
 
-#: g10/keyedit.c:1335
+#: g10/keyedit.c:1336
 #, fuzzy
 msgid "enable key"
 msgstr "kulcs engedélyezése"
 
-#: g10/keyedit.c:1336
+#: g10/keyedit.c:1337
 #, fuzzy
 msgid "disable key"
 msgstr "kulcs tiltása"
 
-#: g10/keyedit.c:1338
+#: g10/keyedit.c:1339
 #, fuzzy
 msgid "show selected photo IDs"
 msgstr "fotóazonosító megmutatása"
 
-#: g10/keyedit.c:1340
+#: g10/keyedit.c:1341
 msgid "compact unusable user IDs and remove unusable signatures from key"
 msgstr ""
 
-#: g10/keyedit.c:1342
+#: g10/keyedit.c:1343
 msgid "compact unusable user IDs and remove all signatures from key"
 msgstr ""
 
-#: g10/keyedit.c:1463
+#: g10/keyedit.c:1464
 msgid "Secret key is available.\n"
 msgstr "Titkos kulcs rendelkezésre áll.\n"
 
-#: g10/keyedit.c:1465
+#: g10/keyedit.c:1466
 #, fuzzy
 #| msgid "Secret key is available.\n"
 msgid "Secret subkeys are available.\n"
 msgstr "Titkos kulcs rendelkezésre áll.\n"
 
-#: g10/keyedit.c:1567
+#: g10/keyedit.c:1568
 msgid "Need the secret key to do this.\n"
 msgstr "Ehhez szükség van a titkos kulcsra.\n"
 
-#: g10/keyedit.c:1590
+#: g10/keyedit.c:1591
 msgid ""
 "* The 'sign' command may be prefixed with an 'l' for local signatures "
 "(lsign),\n"
@@ -4542,314 +4560,314 @@ msgid ""
 "  (nrsign), or any combination thereof (ltsign, tnrsign, etc.).\n"
 msgstr ""
 
-#: g10/keyedit.c:1648 g10/keyedit.c:2667 g10/keyedit.c:3040 g10/keyedit.c:3108
+#: g10/keyedit.c:1649 g10/keyedit.c:2668 g10/keyedit.c:3041 g10/keyedit.c:3109
 msgid "Key is revoked."
 msgstr "A kulcsot visszavonták."
 
-#: g10/keyedit.c:1671
+#: g10/keyedit.c:1672
 #, fuzzy
 msgid "Really sign all text user IDs? (y/N) "
 msgstr "Valóban aláírja az összes felhasználóazonosítót? "
 
-#: g10/keyedit.c:1675
+#: g10/keyedit.c:1676
 #, fuzzy
 msgid "Really sign all user IDs? (y/N) "
 msgstr "Valóban aláírja az összes felhasználóazonosítót? "
 
-#: g10/keyedit.c:1683
+#: g10/keyedit.c:1684
 msgid "Hint: Select the user IDs to sign\n"
 msgstr "Javaslat: Válassza ki az aláírni kívánt felhasználóazonosítókat!\n"
 
-#: g10/keyedit.c:1694
+#: g10/keyedit.c:1695
 #, fuzzy, c-format
 msgid "Unknown signature type '%s'\n"
 msgstr "ismeretlen aláírásosztály"
 
-#: g10/keyedit.c:1718
+#: g10/keyedit.c:1719
 #, c-format
 msgid "This command is not allowed while in %s mode.\n"
 msgstr "Ez a parancs %s módban nem engedélyezett.\n"
 
-#: g10/keyedit.c:1740 g10/keyedit.c:1764 g10/keyedit.c:1961
+#: g10/keyedit.c:1741 g10/keyedit.c:1765 g10/keyedit.c:1962
 msgid "You must select at least one user ID.\n"
 msgstr "Legalább egy felhasználóazonosítót ki kell választania!\n"
 
-#: g10/keyedit.c:1742 g10/keyedit.c:1766 g10/keyedit.c:1923 g10/keyedit.c:1963
+#: g10/keyedit.c:1743 g10/keyedit.c:1767 g10/keyedit.c:1924 g10/keyedit.c:1964
 #, c-format
 msgid "(Use the '%s' command.)\n"
 msgstr ""
 
-#: g10/keyedit.c:1745
+#: g10/keyedit.c:1746
 msgid "You can't delete the last user ID!\n"
 msgstr "Nem törölheti az utolsó felhasználóazonosítót!\n"
 
-#: g10/keyedit.c:1748
+#: g10/keyedit.c:1749
 #, fuzzy
 msgid "Really remove all selected user IDs? (y/N) "
 msgstr "Valóban eltávolítja az összes kijelölt felhasználóazonosítót? "
 
-#: g10/keyedit.c:1749
+#: g10/keyedit.c:1750
 #, fuzzy
 msgid "Really remove this user ID? (y/N) "
 msgstr "Valóban eltávolítja ezt a felhasználóazonosítót? "
 
 #. TRANSLATORS: Please take care: This is about
 #. moving the key and not about removing it.
-#: g10/keyedit.c:1806
+#: g10/keyedit.c:1807
 #, fuzzy
 msgid "Really move the primary key? (y/N) "
 msgstr "Valóban eltávolítja ezt a felhasználóazonosítót? "
 
-#: g10/keyedit.c:1818 g10/keyedit.c:4803
+#: g10/keyedit.c:1819 g10/keyedit.c:4804
 #, fuzzy
 msgid "You must select exactly one key.\n"
 msgstr "Legalább egy kulcsot ki kell választania!\n"
 
-#: g10/keyedit.c:1846
+#: g10/keyedit.c:1847
 msgid "Command expects a filename argument\n"
 msgstr ""
 
-#: g10/keyedit.c:1867
+#: g10/keyedit.c:1868
 #, fuzzy, c-format
 msgid "Can't open '%s': %s\n"
 msgstr "Nem tudom megnyitni a(z) \"%s\" állományt: %s.\n"
 
-#: g10/keyedit.c:1886
+#: g10/keyedit.c:1887
 #, fuzzy, c-format
 msgid "Error reading backup key from '%s': %s\n"
 msgstr "Hiba a(z) \"%s\" kulcskarika létrehozásakor: %s\n"
 
-#: g10/keyedit.c:1921
+#: g10/keyedit.c:1922
 msgid "You must select at least one key.\n"
 msgstr "Legalább egy kulcsot ki kell választania!\n"
 
-#: g10/keyedit.c:1927
+#: g10/keyedit.c:1928
 #, fuzzy
 msgid "Do you really want to delete the selected keys? (y/N) "
 msgstr "Valóban törli a kiválasztott kulcsokat? "
 
-#: g10/keyedit.c:1929
+#: g10/keyedit.c:1930
 #, fuzzy
 msgid "Do you really want to delete this key? (y/N) "
 msgstr "Valóban törli ezt a kulcsot? "
 
-#: g10/keyedit.c:1967
+#: g10/keyedit.c:1968
 #, fuzzy
 msgid "Really revoke all selected user IDs? (y/N) "
 msgstr "Valóban visszavonja az összes kijelölt felhasználóazonosítót? "
 
-#: g10/keyedit.c:1968
+#: g10/keyedit.c:1969
 #, fuzzy
 msgid "Really revoke this user ID? (y/N) "
 msgstr "Valóban visszavonja ezt a felhasználóazonosítót? "
 
-#: g10/keyedit.c:1986
+#: g10/keyedit.c:1987
 #, fuzzy
 msgid "Do you really want to revoke the entire key? (y/N) "
 msgstr "Valóban visszavonja ezt a kulcsot? "
 
-#: g10/keyedit.c:1997
+#: g10/keyedit.c:1998
 #, fuzzy
 msgid "Do you really want to revoke the selected subkeys? (y/N) "
 msgstr "Valóban visszavonja a kijelölt kulcsokat? "
 
-#: g10/keyedit.c:1999
+#: g10/keyedit.c:2000
 #, fuzzy
 msgid "Do you really want to revoke this subkey? (y/N) "
 msgstr "Valóban visszavonja ezt a kulcsot? "
 
-#: g10/keyedit.c:2057
+#: g10/keyedit.c:2058
 msgid "Owner trust may not be set while using a user provided trust database\n"
 msgstr ""
 
-#: g10/keyedit.c:2102
+#: g10/keyedit.c:2103
 #, fuzzy
 msgid "Set preference list to:\n"
 msgstr "preferencialista beállítása"
 
-#: g10/keyedit.c:2109
+#: g10/keyedit.c:2110
 #, fuzzy
 msgid "Really update the preferences for the selected user IDs? (y/N) "
 msgstr "Valóban frissíti a kijelölt felhasználóazonosítók preferenciáit? "
 
-#: g10/keyedit.c:2111
+#: g10/keyedit.c:2112
 #, fuzzy
 msgid "Really update the preferences? (y/N) "
 msgstr "Valóban frissítsem a preferenciákat? "
 
-#: g10/keyedit.c:2185
+#: g10/keyedit.c:2186
 #, fuzzy
 msgid "Save changes? (y/N) "
 msgstr "Mentsem a változtatásokat? "
 
-#: g10/keyedit.c:2189
+#: g10/keyedit.c:2190
 #, fuzzy
 msgid "Quit without saving? (y/N) "
 msgstr "Kilépjek mentés nélkül? "
 
-#: g10/keyedit.c:2216 g10/keyedit.c:2762 g10/keyedit.c:3061 g10/keyedit.c:3214
+#: g10/keyedit.c:2217 g10/keyedit.c:2763 g10/keyedit.c:3062 g10/keyedit.c:3215
 #, c-format
 msgid "Key not changed so no update needed.\n"
 msgstr "A kulcs nem változott, nincs szükség frissítésre.\n"
 
-#: g10/keyedit.c:2448
+#: g10/keyedit.c:2449
 #, fuzzy, c-format
 #| msgid "You can't delete the last user ID!\n"
 msgid "cannot revoke the last valid user ID.\n"
 msgstr "Nem törölheti az utolsó felhasználóazonosítót!\n"
 
-#: g10/keyedit.c:2475
+#: g10/keyedit.c:2476
 #, fuzzy, c-format
 msgid "revoking the user ID failed: %s\n"
 msgstr "A létrehozott aláírás ellenőrzése sikertelen: %s.\n"
 
-#: g10/keyedit.c:2541
+#: g10/keyedit.c:2542
 #, fuzzy, c-format
 msgid "setting the primary user ID failed: %s\n"
 msgstr "A létrehozott aláírás ellenőrzése sikertelen: %s.\n"
 
-#: g10/keyedit.c:2572
+#: g10/keyedit.c:2573
 #, fuzzy, c-format
 msgid "\"%s\" is not a fingerprint\n"
 msgstr "Hiba: Érvénytelen ujjlenyomat.\n"
 
-#: g10/keyedit.c:2602
+#: g10/keyedit.c:2603
 #, fuzzy, c-format
 msgid "\"%s\" is not the primary fingerprint\n"
 msgstr "Bizalmi adatbázis (%s) inicializálása sikertelen!\n"
 
-#: g10/keyedit.c:2738 g10/keyedit.c:2741
+#: g10/keyedit.c:2739 g10/keyedit.c:2742
 #, fuzzy, c-format
 #| msgid "invalid value\n"
 msgid "Invalid user ID '%s': %s\n"
 msgstr "Érvénytelen érték!\n"
 
-#: g10/keyedit.c:2744
+#: g10/keyedit.c:2745
 #, fuzzy
 #| msgid "No such user ID.\n"
 msgid "No matching user IDs."
 msgstr "Nincs ilyen felhasználói azonosító.\n"
 
-#: g10/keyedit.c:2744
+#: g10/keyedit.c:2745
 #, fuzzy
 msgid "Nothing to sign.\n"
 msgstr "Nincs mit aláírni a %08lX kulccsal!\n"
 
-#: g10/keyedit.c:2937 g10/keyedit.c:6019
+#: g10/keyedit.c:2938 g10/keyedit.c:6020
 #, fuzzy, c-format
 msgid "Not signed by you.\n"
 msgstr "   aláírva %08lX által %s%s időpontban.\n"
 
-#: g10/keyedit.c:2995
+#: g10/keyedit.c:2996
 #, fuzzy, c-format
 #| msgid "checking created signature failed: %s\n"
 msgid "revoking the key signature failed: %s\n"
 msgstr "A létrehozott aláírás ellenőrzése sikertelen: %s.\n"
 
-#: g10/keyedit.c:3116
+#: g10/keyedit.c:3117
 #, fuzzy, c-format
 msgid "'%s' is not a valid expiration time\n"
 msgstr "%s nem érvényes karakterkiosztás!\n"
 
-#: g10/keyedit.c:3159
+#: g10/keyedit.c:3160
 #, fuzzy, c-format
 msgid "\"%s\" is not a proper fingerprint\n"
 msgstr "Hiba: Érvénytelen ujjlenyomat.\n"
 
-#: g10/keyedit.c:3183
+#: g10/keyedit.c:3184
 #, fuzzy, c-format
 msgid "subkey \"%s\" not found\n"
 msgstr "\"%s\" kulcs nem található: %s\n"
 
-#: g10/keyedit.c:3306
+#: g10/keyedit.c:3307
 msgid "AEAD: "
 msgstr ""
 
-#: g10/keyedit.c:3323
+#: g10/keyedit.c:3324
 msgid "Digest: "
 msgstr "Kivonat: "
 
-#: g10/keyedit.c:3380
+#: g10/keyedit.c:3381
 msgid "Features: "
 msgstr "Jellemzők: "
 
-#: g10/keyedit.c:3397
+#: g10/keyedit.c:3398
 msgid "Keyserver no-modify"
 msgstr ""
 
-#: g10/keyedit.c:3412 g10/keylist.c:376
+#: g10/keyedit.c:3413 g10/keylist.c:376
 msgid "Preferred keyserver: "
 msgstr ""
 
-#: g10/keyedit.c:3420 g10/keyedit.c:3421
+#: g10/keyedit.c:3421 g10/keyedit.c:3422
 #, fuzzy
 msgid "Notations: "
 msgstr "Jelölés: "
 
-#: g10/keyedit.c:3669
+#: g10/keyedit.c:3670
 msgid "There are no preferences on a PGP 2.x-style user ID.\n"
 msgstr "Nincsenek preferenciák egy PGP 2.x felhasználóazonosítón!\n"
 
-#: g10/keyedit.c:3741
+#: g10/keyedit.c:3742
 #, fuzzy, c-format
 msgid "The following key was revoked on %s by %s key %s\n"
 msgstr "Ezt a kulcsot a következő %s kulcs visszavonhatja: "
 
-#: g10/keyedit.c:3765
+#: g10/keyedit.c:3766
 #, fuzzy, c-format
 msgid "This key may be revoked by %s key %s"
 msgstr "Ezt a kulcsot a következő %s kulcs visszavonhatja: "
 
-#: g10/keyedit.c:3771
+#: g10/keyedit.c:3772
 #, fuzzy
 msgid "(sensitive)"
 msgstr " (érzékeny)"
 
-#: g10/keyedit.c:3813 g10/keyedit.c:3960 g10/keylist.c:264 g10/keyserver.c:538
+#: g10/keyedit.c:3814 g10/keyedit.c:3961 g10/keylist.c:264 g10/keyserver.c:361
 #, fuzzy, c-format
 msgid "created: %s"
 msgstr "%s nem hozható létre: %s\n"
 
-#: g10/keyedit.c:3816 g10/keylist.c:2149
+#: g10/keyedit.c:3817 g10/keylist.c:2149
 #, fuzzy, c-format
 msgid "revoked: %s"
 msgstr "[visszavont] "
 
-#: g10/keyedit.c:3818 g10/keylist.c:2155
+#: g10/keyedit.c:3819 g10/keylist.c:2155
 #, fuzzy, c-format
 msgid "expired: %s"
 msgstr " [lejár: %s]"
 
-#: g10/keyedit.c:3820 g10/keyedit.c:3962 g10/keylist.c:266 g10/keylist.c:2161
-#: g10/keyserver.c:544
+#: g10/keyedit.c:3821 g10/keyedit.c:3963 g10/keylist.c:266 g10/keylist.c:2161
+#: g10/keyserver.c:367
 #, fuzzy, c-format
 msgid "expires: %s"
 msgstr " [lejár: %s]"
 
-#: g10/keyedit.c:3822
+#: g10/keyedit.c:3823
 #, fuzzy, c-format
 msgid "usage: %s"
 msgstr " bizalom: %c/%c"
 
-#: g10/keyedit.c:3830 g10/keyedit.c:3850 g10/keylist.c:269
+#: g10/keyedit.c:3831 g10/keyedit.c:3851 g10/keylist.c:269
 msgid "card-no: "
 msgstr ""
 
-#: g10/keyedit.c:3889
+#: g10/keyedit.c:3890
 #, fuzzy, c-format
 msgid "trust: %s"
 msgstr " bizalom: %c/%c"
 
-#: g10/keyedit.c:3893
+#: g10/keyedit.c:3894
 #, c-format
 msgid "validity: %s"
 msgstr ""
 
-#: g10/keyedit.c:3900
+#: g10/keyedit.c:3901
 msgid "This key has been disabled"
 msgstr "Ez a kulcs tiltott."
 
-#: g10/keyedit.c:3918
+#: g10/keyedit.c:3919
 msgid ""
 "Please note that the shown key validity is not necessarily correct\n"
 "unless you restart the program.\n"
@@ -4857,19 +4875,19 @@ msgstr ""
 "Kérem, vegye figyelembe, hogy az itt látható kulcs érvényessége nem\n"
 "feltétlenül helyes, amíg újra nem indítja a programot!\n"
 
-#: g10/keyedit.c:3979 g10/keyedit.c:4410 g10/keyserver.c:548
-#: g10/mainproc.c:2371 g10/tofu.c:1787 g10/trust.c:437 dirmngr/ocsp.c:791
+#: g10/keyedit.c:3980 g10/keyedit.c:4411 g10/keyserver.c:371
+#: g10/mainproc.c:2380 g10/tofu.c:1787 g10/trust.c:437 dirmngr/ocsp.c:791
 #, fuzzy
 msgid "revoked"
 msgstr "[visszavont] "
 
-#: g10/keyedit.c:3981 g10/keyedit.c:4412 g10/keyserver.c:552
-#: g10/mainproc.c:2373 g10/tofu.c:1792 g10/trust.c:124
+#: g10/keyedit.c:3982 g10/keyedit.c:4413 g10/keyserver.c:375
+#: g10/mainproc.c:2382 g10/tofu.c:1792 g10/trust.c:124
 #, fuzzy
 msgid "expired"
 msgstr "expire"
 
-#: g10/keyedit.c:4098
+#: g10/keyedit.c:4099
 #, c-format
 msgid ""
 "WARNING: no user ID has been marked as primary.  This command may\n"
@@ -4878,18 +4896,18 @@ msgstr ""
 "FIGYELEM: Nincs kijelölt elsődleges felhasználóazonosító. Ez a parancs\n"
 " azt okozhatja, hogy egy másik azonosító lesz elsődlegesként használva.\n"
 
-#: g10/keyedit.c:4150
+#: g10/keyedit.c:4151
 #, c-format
 msgid "WARNING: Your encryption subkey expires soon.\n"
 msgstr ""
 
-#: g10/keyedit.c:4151
+#: g10/keyedit.c:4152
 #, fuzzy, c-format
 #| msgid "You can't change the expiration date of a v3 key\n"
 msgid "You may want to change its expiration date too.\n"
 msgstr "Nem változtathatja meg egy v3 kulcs lejárati dátumát!\n"
 
-#: g10/keyedit.c:4210
+#: g10/keyedit.c:4211
 msgid ""
 "WARNING: This is a PGP2-style key.  Adding a photo ID may cause some "
 "versions\n"
@@ -4899,35 +4917,35 @@ msgstr ""
 "okozhatja,\n"
 "          hogy a PGP egyes verziói visszautasítják ezt a kulcsot.\n"
 
-#: g10/keyedit.c:4215 g10/keyedit.c:4505
+#: g10/keyedit.c:4216 g10/keyedit.c:4506
 msgid "Are you sure you still want to add it? (y/N) "
 msgstr "Továbbra is hozzá akarja adni? (i/N) "
 
-#: g10/keyedit.c:4221
+#: g10/keyedit.c:4222
 msgid "You may not add a photo ID to a PGP2-style key.\n"
 msgstr "Lehet, hogy nem adhat fotóazonosítót egy PGP2 stílusú kulcshoz!\n"
 
-#: g10/keyedit.c:4236 g10/keygen.c:2899
+#: g10/keyedit.c:4237 g10/keygen.c:2899
 msgid "Such a user ID already exists on this key!\n"
 msgstr ""
 
-#: g10/keyedit.c:4338
+#: g10/keyedit.c:4339
 msgid "Delete this good signature? (y/N/q)"
 msgstr "Törli ezt a jó aláírást? (i/N/k)"
 
-#: g10/keyedit.c:4348
+#: g10/keyedit.c:4349
 msgid "Delete this invalid signature? (y/N/q)"
 msgstr "Törli ezt az érvénytelen aláírást? (i/N/k)"
 
-#: g10/keyedit.c:4352
+#: g10/keyedit.c:4353
 msgid "Delete this unknown signature? (y/N/q)"
 msgstr "Törli ezt az ismeretlen aláírást? (i/N/k)"
 
-#: g10/keyedit.c:4359
+#: g10/keyedit.c:4360
 msgid "Really delete this self-signature? (y/N)"
 msgstr "Valóban törli ezt az önaláírást? (i/N)"
 
-#: g10/keyedit.c:4375
+#: g10/keyedit.c:4376
 #, fuzzy, c-format
 #| msgid "Deleted %d signature.\n"
 msgid "Deleted %d signature.\n"
@@ -4935,38 +4953,38 @@ msgid_plural "Deleted %d signatures.\n"
 msgstr[0] "Töröltem %d aláírást.\n"
 msgstr[1] "Töröltem %d aláírást.\n"
 
-#: g10/keyedit.c:4379
+#: g10/keyedit.c:4380
 msgid "Nothing deleted.\n"
 msgstr "Nem töröltem semmit.\n"
 
-#: g10/keyedit.c:4414
+#: g10/keyedit.c:4415
 #, fuzzy
 msgid "invalid"
 msgstr "érvénytelen páncél"
 
-#: g10/keyedit.c:4416
+#: g10/keyedit.c:4417
 #, fuzzy, c-format
 msgid "User ID \"%s\" compacted: %s\n"
 msgstr "\"%s\" felhasználói azonosítót visszavonták."
 
-#: g10/keyedit.c:4422
+#: g10/keyedit.c:4423
 #, fuzzy, c-format
 msgid "User ID \"%s\": %d signature removed\n"
 msgid_plural "User ID \"%s\": %d signatures removed\n"
 msgstr[0] "\"%s\" felhasználói azonosítót visszavonták."
 msgstr[1] "\"%s\" felhasználói azonosítót visszavonták."
 
-#: g10/keyedit.c:4430
+#: g10/keyedit.c:4431
 #, fuzzy, c-format
 msgid "User ID \"%s\": already minimized\n"
 msgstr "\"%s\" felhasználói azonosítót már visszavonták.\n"
 
-#: g10/keyedit.c:4431
+#: g10/keyedit.c:4432
 #, fuzzy, c-format
 msgid "User ID \"%s\": already clean\n"
 msgstr "\"%s\" felhasználói azonosítót már visszavonták.\n"
 
-#: g10/keyedit.c:4500
+#: g10/keyedit.c:4501
 msgid ""
 "WARNING: This is a PGP 2.x-style key.  Adding a designated revoker may "
 "cause\n"
@@ -4976,224 +4994,224 @@ msgstr ""
 "          azt okozhatja, hogy egyes PGP verziók visszautasítják ezt a "
 "kulcsot!\n"
 
-#: g10/keyedit.c:4511
+#: g10/keyedit.c:4512
 msgid "You may not add a designated revoker to a PGP 2.x-style key.\n"
 msgstr ""
 "Lehet, hogy nem adhat kijelölt visszavonót egy PGP 2.x-stílusú kulcshoz.\n"
 
-#: g10/keyedit.c:4528
+#: g10/keyedit.c:4529
 msgid "Enter the user ID of the designated revoker: "
 msgstr "Írja be a kijelölt visszavonó felhasználóazonosítóját: "
 
-#: g10/keyedit.c:4554
+#: g10/keyedit.c:4555
 #, c-format
 msgid "cannot appoint a PGP 2.x style key as a designated revoker\n"
 msgstr "Nem adhat meg PGP 2.x stílusú kulcsot kijelölt visszavonónak!\n"
 
-#: g10/keyedit.c:4569
+#: g10/keyedit.c:4570
 #, c-format
 msgid "you cannot appoint a key as its own designated revoker\n"
 msgstr "Nem adhat meg egy kulcsot saját kijelölt visszavonójának!\n"
 
-#: g10/keyedit.c:4591
+#: g10/keyedit.c:4592
 #, fuzzy, c-format
 msgid "this key has already been designated as a revoker\n"
 msgstr "FIGYELEM: Ezt a kulcsot a kijelölt visszavonó visszavonta!\n"
 
-#: g10/keyedit.c:4609
+#: g10/keyedit.c:4610
 msgid "WARNING: appointing a key as a designated revoker cannot be undone!\n"
 msgstr ""
 "FIGYELEM: A kijelölt visszavonó kulcs megadása nem csinálható vissza!\n"
 
-#: g10/keyedit.c:4615
+#: g10/keyedit.c:4616
 #, fuzzy
 msgid ""
 "Are you sure you want to appoint this key as a designated revoker? (y/N) "
 msgstr "Biztosan ez a kulcs legyen a kijelölt visszavonó? (i/N): "
 
-#: g10/keyedit.c:4683
+#: g10/keyedit.c:4684
 #, fuzzy
 msgid ""
 "Are you sure you want to change the expiration time for multiple subkeys? (y/"
 "N) "
 msgstr "Biztosan ez a kulcs legyen a kijelölt visszavonó? (i/N): "
 
-#: g10/keyedit.c:4688
+#: g10/keyedit.c:4689
 #, fuzzy
 msgid "Changing expiration time for a subkey.\n"
 msgstr "Másodlagos kulcs lejárati idejének változtatása.\n"
 
-#: g10/keyedit.c:4691
+#: g10/keyedit.c:4692
 msgid "Changing expiration time for the primary key.\n"
 msgstr "Elsődleges kulcs lejárati idejének változtatása.\n"
 
-#: g10/keyedit.c:4747
+#: g10/keyedit.c:4748
 #, c-format
 msgid "You can't change the expiration date of a v3 key\n"
 msgstr "Nem változtathatja meg egy v3 kulcs lejárati dátumát!\n"
 
-#: g10/keyedit.c:4807
+#: g10/keyedit.c:4808
 #, fuzzy
 msgid "Changing usage of a subkey.\n"
 msgstr "Másodlagos kulcs lejárati idejének változtatása.\n"
 
-#: g10/keyedit.c:4810
+#: g10/keyedit.c:4811
 #, fuzzy
 #| msgid "Changing expiration time for the primary key.\n"
 msgid "Changing usage of the primary key.\n"
 msgstr "Elsődleges kulcs lejárati idejének változtatása.\n"
 
-#: g10/keyedit.c:4928
+#: g10/keyedit.c:4929
 #, fuzzy, c-format
 msgid "signing subkey %s is already cross-certified\n"
 msgstr "FIGYELEM: %08lX aláíró alkulcs nem kereszthitelesített.\n"
 
-#: g10/keyedit.c:4934
+#: g10/keyedit.c:4935
 #, c-format
 msgid "subkey %s does not sign and so does not need to be cross-certified\n"
 msgstr ""
 
-#: g10/keyedit.c:5051
+#: g10/keyedit.c:5052
 msgid "Please select exactly one user ID.\n"
 msgstr "Kérem, válasszon ki pontosan egy felhasználóazonosítót!\n"
 
-#: g10/keyedit.c:5092 g10/keyedit.c:5206 g10/keyedit.c:5319 g10/keyedit.c:5457
+#: g10/keyedit.c:5093 g10/keyedit.c:5207 g10/keyedit.c:5320 g10/keyedit.c:5458
 #, fuzzy, c-format
 msgid "skipping v3 self-signature on user ID \"%s\"\n"
 msgstr "Kihagyom a v3 önaláírást a \"%s\" felhasználóazonosítón.\n"
 
-#: g10/keyedit.c:5263
+#: g10/keyedit.c:5264
 msgid "Enter your preferred keyserver URL: "
 msgstr ""
 
-#: g10/keyedit.c:5342
+#: g10/keyedit.c:5343
 #, fuzzy
 msgid "Are you sure you want to replace it? (y/N) "
 msgstr "Biztos abban, hogy használni akarja (i/N)? "
 
-#: g10/keyedit.c:5343
+#: g10/keyedit.c:5344
 #, fuzzy
 msgid "Are you sure you want to delete it? (y/N) "
 msgstr "Biztos abban, hogy használni akarja (i/N)? "
 
-#: g10/keyedit.c:5403
+#: g10/keyedit.c:5404
 #, fuzzy
 msgid "Enter the notation: "
 msgstr "Aláírás-jelölés: "
 
-#: g10/keyedit.c:5550
+#: g10/keyedit.c:5551
 #, fuzzy
 msgid "Proceed? (y/N) "
 msgstr "Felülírjam (i/N)? "
 
-#: g10/keyedit.c:5620
+#: g10/keyedit.c:5621
 #, c-format
 msgid "No user ID with index %d\n"
 msgstr "Nincs %d indexű felhasználóazonosító!\n"
 
-#: g10/keyedit.c:5682
+#: g10/keyedit.c:5683
 #, fuzzy, c-format
 msgid "No user ID with hash %s\n"
 msgstr "Nincs %d indexű felhasználóazonosító!\n"
 
-#: g10/keyedit.c:5783
+#: g10/keyedit.c:5784
 #, fuzzy, c-format
 msgid "No subkey with key ID '%s'.\n"
 msgstr "Nincs %d indexű felhasználóazonosító!\n"
 
-#: g10/keyedit.c:5805
+#: g10/keyedit.c:5806
 #, fuzzy, c-format
 msgid "No subkey with index %d\n"
 msgstr "Nincs %d indexű felhasználóazonosító!\n"
 
-#: g10/keyedit.c:5946
+#: g10/keyedit.c:5947
 #, fuzzy, c-format
 msgid "user ID: \"%s\"\n"
 msgstr "Felhasználóazonosító: \""
 
-#: g10/keyedit.c:5949 g10/keyedit.c:6051 g10/keyedit.c:6099
+#: g10/keyedit.c:5950 g10/keyedit.c:6052 g10/keyedit.c:6100
 #, fuzzy, c-format
 msgid "signed by your key %s on %s%s%s\n"
 msgstr "   aláírva %08lX által %s%s%s időpontban.\n"
 
-#: g10/keyedit.c:5951 g10/keyedit.c:6053 g10/keyedit.c:6101
+#: g10/keyedit.c:5952 g10/keyedit.c:6054 g10/keyedit.c:6102
 msgid " (non-exportable)"
 msgstr " (nem exportálható)"
 
-#: g10/keyedit.c:5955
+#: g10/keyedit.c:5956
 #, c-format
 msgid "This signature expired on %s.\n"
 msgstr "Ez az aláírás lejárt %s időpontban.\n"
 
-#: g10/keyedit.c:5960
+#: g10/keyedit.c:5961
 msgid "Are you sure you still want to revoke it? (y/N) "
 msgstr "Biztos benne, hogy mégis visszavonja? (i/N) "
 
-#: g10/keyedit.c:5965
+#: g10/keyedit.c:5966
 msgid "Create a revocation certificate for this signature? (y/N) "
 msgstr "Csináljunk egy visszavonó igazolást ehhez az aláíráshoz? (i/N) "
 
-#: g10/keyedit.c:6025
+#: g10/keyedit.c:6026
 #, fuzzy, c-format
 msgid "You have signed these user IDs on key %s:\n"
 msgstr "Ön aláírta a következő felhasználóazonosítókat:\n"
 
-#: g10/keyedit.c:6054
+#: g10/keyedit.c:6055
 #, fuzzy
 msgid " (non-revocable)"
 msgstr " (nem exportálható)"
 
-#: g10/keyedit.c:6061
+#: g10/keyedit.c:6062
 #, fuzzy, c-format
 msgid "revoked by your key %s on %s\n"
 msgstr "   visszavonva %08lX által %s időpontban.\n"
 
-#: g10/keyedit.c:6086
+#: g10/keyedit.c:6087
 msgid "You are about to revoke these signatures:\n"
 msgstr "A következő aláírásokat fogja visszavonni:\n"
 
-#: g10/keyedit.c:6109
+#: g10/keyedit.c:6110
 msgid "Really create the revocation certificates? (y/N) "
 msgstr "Valóban létrehozzam a visszavonó igazolást? (i/N) "
 
-#: g10/keyedit.c:6142
+#: g10/keyedit.c:6143
 #, c-format
 msgid "no secret key\n"
 msgstr "Nincs titkos kulcs.\n"
 
-#: g10/keyedit.c:6190
+#: g10/keyedit.c:6191
 #, c-format
 msgid "tried to revoke a non-user ID: %s\n"
 msgstr ""
 
-#: g10/keyedit.c:6200
+#: g10/keyedit.c:6201
 #, c-format
 msgid "user ID \"%s\" is already revoked\n"
 msgstr "\"%s\" felhasználói azonosítót már visszavonták.\n"
 
-#: g10/keyedit.c:6217
+#: g10/keyedit.c:6218
 #, c-format
 msgid "WARNING: a user ID signature is dated %d seconds in the future\n"
 msgstr ""
 "FIGYELEM: A felhasználóazonosítót %d másodperccel a jövőben írták alá.\n"
 
-#: g10/keyedit.c:6313
+#: g10/keyedit.c:6314
 #, fuzzy, c-format
 #| msgid "You can't delete the last user ID!\n"
 msgid "Cannot revoke the last valid user ID.\n"
 msgstr "Nem törölheti az utolsó felhasználóazonosítót!\n"
 
-#: g10/keyedit.c:6351
+#: g10/keyedit.c:6352
 #, fuzzy, c-format
 msgid "Key %s is already revoked.\n"
 msgstr "\"%s\" felhasználói azonosítót már visszavonták.\n"
 
-#: g10/keyedit.c:6413
+#: g10/keyedit.c:6414
 #, fuzzy, c-format
 msgid "Subkey %s is already revoked.\n"
 msgstr "\"%s\" felhasználói azonosítót már visszavonták.\n"
 
-#: g10/keyedit.c:6510
+#: g10/keyedit.c:6511
 #, fuzzy, c-format
 msgid "Displaying %s photo ID of size %ld for key %s (uid %d)\n"
 msgstr "%s fotóazonosító (méret: %ld, kulcs: 0x%08lX, felh: %d) mutatása.\n"
@@ -5923,81 +5941,76 @@ msgstr "A megadott aláírási eljárásmód URL-je érvénytelen!\n"
 msgid "honor the PKA record set on a key when retrieving keys"
 msgstr ""
 
-#: g10/keyserver.c:550
+#: g10/keyserver.c:373
 #, fuzzy
 msgid "disabled"
 msgstr "disable"
 
-#: g10/keyserver.c:754
+#: g10/keyserver.c:577
 msgid "Enter number(s), N)ext, or Q)uit > "
 msgstr ""
 
-#: g10/keyserver.c:860
+#: g10/keyserver.c:683
 #, fuzzy, c-format
 msgid "invalid keyserver protocol (us %d!=handler %d)\n"
 msgstr "Érvénytelen export opciók!\n"
 
-#: g10/keyserver.c:1001 g10/keyserver.c:1116
+#: g10/keyserver.c:824 g10/keyserver.c:939
 #, c-format
 msgid "\"%s\" not a key ID: skipping\n"
 msgstr ""
 
-#: g10/keyserver.c:1438 g10/keyserver.c:1471
+#: g10/keyserver.c:1237 g10/keyserver.c:1270
 #, fuzzy, c-format
 msgid "refreshing %d key from %s\n"
 msgid_plural "refreshing %d keys from %s\n"
 msgstr[0] "Lekérem a %08lX kulcsot a %s kulcsszerverről.\n"
 msgstr[1] "Lekérem a %08lX kulcsot a %s kulcsszerverről.\n"
 
-#: g10/keyserver.c:1445
+#: g10/keyserver.c:1244
 #, fuzzy, c-format
 msgid "WARNING: unable to refresh key %s via %s: %s\n"
 msgstr ""
 "FIGYELEM: Nem tudom törölni az (\"%s\") átmeneti állományt: \"%s\": %s.\n"
 
-#: g10/keyserver.c:1549
+#: g10/keyserver.c:1336
 #, fuzzy, c-format
 msgid "key \"%s\" not found on keyserver\n"
 msgstr "\"%s\" kulcs nem található: %s\n"
 
-#: g10/keyserver.c:1552
+#: g10/keyserver.c:1339
 #, fuzzy, c-format
 msgid "key not found on keyserver\n"
 msgstr "\"%s\" kulcs nem található: %s\n"
 
-#: g10/keyserver.c:1743
-#, fuzzy, c-format
-msgid "requesting key %s from %s server %s\n"
-msgstr "Lekérem a %08lX kulcsot a %s kulcsszerverről.\n"
-
-#: g10/keyserver.c:1747
+#: g10/keyserver.c:1504
 #, fuzzy, c-format
 msgid "requesting key %s from %s\n"
 msgstr "Lekérem a %08lX kulcsot a %s kulcsszerverről.\n"
 
-#: g10/keyserver.c:1852 g10/keyserver.c:2031
+#: g10/keyserver.c:1619 g10/keyserver.c:1798
 #, fuzzy, c-format
 msgid "no keyserver known\n"
 msgstr "Érvénytelen export opciók!\n"
 
-#: g10/keyserver.c:1867 g10/skclist.c:214 g10/skclist.c:242
+#: g10/keyserver.c:1634 g10/skclist.c:215 g10/skclist.c:243
 #, fuzzy, c-format
 msgid "skipped \"%s\": %s\n"
 msgstr "Kihagytam \"%s\"-t: %s.\n"
 
-#: g10/keyserver.c:1871
+#: g10/keyserver.c:1638
 #, fuzzy, c-format
 msgid "sending key %s to %s\n"
 msgstr ""
 "\"\n"
 "Aláírva az Ön %08lX kulcsával %s időpontban.\n"
 
-#: g10/keyserver.c:1912
+#: g10/keyserver.c:1679
 #, fuzzy, c-format
 msgid "requesting key from '%s'\n"
 msgstr "Lekérem a %08lX kulcsot a %s kulcsszerverről.\n"
 
-#: g10/keyserver.c:1928
+#: g10/keyserver.c:1695
 #, fuzzy, c-format
 msgid "WARNING: unable to fetch URI %s: %s\n"
 msgstr ""
@@ -6013,259 +6026,259 @@ msgstr "Furcsa méretű (%d) titkosított munkafolyamatkulcs.\n"
 msgid "%s encrypted session key\n"
 msgstr "%s titkosított munkafolyamatkulcs\n"
 
-#: g10/mainproc.c:400
+#: g10/mainproc.c:403
 #, fuzzy, c-format
 msgid "passphrase generated with unknown digest algorithm %d\n"
 msgstr "Ismeretlen algoritmussal (%d) titkosítva.\n"
 
-#: g10/mainproc.c:481
+#: g10/mainproc.c:485
 #, fuzzy, c-format
 msgid "public key is %s\n"
 msgstr "Nyilvános kulcs: %08lX\n"
 
-#: g10/mainproc.c:557
+#: g10/mainproc.c:561
 #, c-format
 msgid "public key encrypted data: good DEK\n"
 msgstr "Nyilvános kulccsal titkosított adat: jó DEK.\n"
 
-#: g10/mainproc.c:590
+#: g10/mainproc.c:594
 #, fuzzy, c-format
 msgid "encrypted with %u-bit %s key, ID %s, created %s\n"
 msgstr "Titkosítva %u bites %s kulccsal, azonosító: %08lX, létrehozva: %s\n"
 
-#: g10/mainproc.c:594 g10/pkclist.c:228
+#: g10/mainproc.c:598 g10/pkclist.c:228
 #, fuzzy, c-format
 msgid "      \"%s\"\n"
 msgstr "               azaz \""
 
-#: g10/mainproc.c:598
+#: g10/mainproc.c:602
 #, fuzzy, c-format
 msgid "encrypted with %s key, ID %s\n"
 msgstr "Titkosítva %s kulccsal, azonosító: %08lX\n"
 
-#: g10/mainproc.c:619
+#: g10/mainproc.c:623
 #, c-format
 msgid "public key decryption failed: %s\n"
 msgstr "Nyilvános kulcsú visszafejtés sikertelen: %s\n"
 
-#: g10/mainproc.c:641 g10/mainproc.c:970
+#: g10/mainproc.c:645 g10/mainproc.c:976
 #, c-format
 msgid "WARNING: multiple plaintexts seen\n"
 msgstr ""
 
-#: g10/mainproc.c:649
+#: g10/mainproc.c:653
 #, c-format
 msgid "encrypted with %lu passphrases\n"
 msgstr "%lu jelszóval rejtjelezve\n"
 
-#: g10/mainproc.c:651
+#: g10/mainproc.c:655
 #, c-format
 msgid "encrypted with 1 passphrase\n"
 msgstr "1 jelszóval rejtjelezve\n"
 
-#: g10/mainproc.c:685 g10/mainproc.c:706
+#: g10/mainproc.c:689 g10/mainproc.c:710
 #, c-format
 msgid "assuming %s encrypted data\n"
 msgstr "%s titkosított adatot feltételezek.\n"
 
-#: g10/mainproc.c:692
+#: g10/mainproc.c:696
 #, c-format
 msgid "IDEA cipher unavailable, optimistically attempting to use %s instead\n"
 msgstr ""
 "IDEA rejtjelező nem áll rendelkezésre, optimista módon megpróbálok\n"
 "%s-t használni helyette.\n"
 
-#: g10/mainproc.c:779 g10/mainproc.c:817
+#: g10/mainproc.c:785 g10/mainproc.c:823
 #, c-format
 msgid "WARNING: message was not integrity protected\n"
 msgstr "FIGYELEM: Az üzenetet nem látták el integritásvédelemmel.\n"
 
-#: g10/mainproc.c:790
+#: g10/mainproc.c:796
 msgid ""
 "Hint: If this message was created before the year 2003 it is\n"
 "likely that this message is legitimate.  This is because back\n"
 "then integrity protection was not widely used.\n"
 msgstr ""
 
-#: g10/mainproc.c:793
+#: g10/mainproc.c:799
 #, c-format
 msgid "Use the option '%s' to decrypt anyway.\n"
 msgstr ""
 
-#: g10/mainproc.c:798
+#: g10/mainproc.c:804
 #, fuzzy, c-format
 #| msgid "decryption failed: %s\n"
 msgid "decryption forced to fail!\n"
 msgstr "Visszafejtés sikertelen: %s.\n"
 
-#: g10/mainproc.c:810
+#: g10/mainproc.c:816
 #, c-format
 msgid "decryption okay\n"
 msgstr "Visszafejtés rendben.\n"
 
-#: g10/mainproc.c:823
+#: g10/mainproc.c:829
 #, c-format
 msgid "WARNING: encrypted message has been manipulated!\n"
 msgstr "FIGYELEM: A titkosított üzenetet manipulálták!\n"
 
-#: g10/mainproc.c:841
+#: g10/mainproc.c:847
 #, c-format
 msgid "decryption failed: %s\n"
 msgstr "Visszafejtés sikertelen: %s.\n"
 
-#: g10/mainproc.c:886
+#: g10/mainproc.c:892
 #, fuzzy, c-format
 #| msgid "NOTE: sender requested \"for-your-eyes-only\"\n"
 msgid "Note: sender requested \"for-your-eyes-only\"\n"
 msgstr "MEGJEGYZÉS: A feladó kérése: \"csak az Ön szemeinek\".\n"
 
-#: g10/mainproc.c:893
+#: g10/mainproc.c:899
 #, c-format
 msgid "original file name='%.*s'\n"
 msgstr "Eredeti fájlnév: '%.*s'.\n"
 
-#: g10/mainproc.c:1148
+#: g10/mainproc.c:1154
 #, c-format
 msgid "standalone revocation - use \"gpg --import\" to apply\n"
 msgstr ""
 "Különálló visszavonás. Használja a \"gpg --import\"-ot az alkalmazásához!\n"
 
-#: g10/mainproc.c:1452 g10/mainproc.c:1495
+#: g10/mainproc.c:1458 g10/mainproc.c:1501
 #, fuzzy, c-format
 msgid "no signature found\n"
 msgstr "Jó aláírás a következőtől: \""
 
-#: g10/mainproc.c:1852
+#: g10/mainproc.c:1858
 #, fuzzy, c-format
 msgid "BAD signature from \"%s\""
 msgstr "ROSSZ aláírás a következőtől: \""
 
-#: g10/mainproc.c:1854
+#: g10/mainproc.c:1860
 #, fuzzy, c-format
 msgid "Expired signature from \"%s\""
 msgstr "Lejárt aláírás a következőtől: \""
 
-#: g10/mainproc.c:1856
+#: g10/mainproc.c:1862
 #, fuzzy, c-format
 msgid "Good signature from \"%s\""
 msgstr "Jó aláírás a következőtől: \""
 
-#: g10/mainproc.c:1876
+#: g10/mainproc.c:1882
 #, c-format
 msgid "signature verification suppressed\n"
 msgstr "Aláírás-ellenőrzés elnyomva.\n"
 
-#: g10/mainproc.c:1985
+#: g10/mainproc.c:1991
 #, fuzzy, c-format
 msgid "can't handle this ambiguous signature data\n"
 msgstr "Nem tudom kezelni ezeket a többszörös aláírásokat!\n"
 
-#: g10/mainproc.c:2001 g10/mainproc.c:2008
+#: g10/mainproc.c:2007 g10/mainproc.c:2014
 #, fuzzy, c-format
 msgid "Signature made %s\n"
 msgstr "Az aláírás lejárt: %s.\n"
 
-#: g10/mainproc.c:2002 g10/mainproc.c:2009 sm/verify.c:476
+#: g10/mainproc.c:2008 g10/mainproc.c:2015 sm/verify.c:476
 #, fuzzy, c-format
 msgid "               using %s key %s\n"
 msgstr "               azaz \""
 
-#: g10/mainproc.c:2013
+#: g10/mainproc.c:2019
 #, fuzzy, c-format
 msgid "Signature made %s using %s key ID %s\n"
 msgstr "Aláírva: %.*s; kulcs: %s, %08lX.\n"
 
-#: g10/mainproc.c:2019
+#: g10/mainproc.c:2025
 #, fuzzy, c-format
 msgid "               issuer \"%s\"\n"
 msgstr "               azaz \""
 
-#: g10/mainproc.c:2070
+#: g10/mainproc.c:2076
 #, c-format
 msgid "Key available at: "
 msgstr "Kulcs található: "
 
-#: g10/mainproc.c:2111
+#: g10/mainproc.c:2118
 #, c-format
 msgid "Note: Use '%s' to make use of this info\n"
 msgstr ""
 
-#: g10/mainproc.c:2325
+#: g10/mainproc.c:2334
 msgid "[uncertain]"
 msgstr "[bizonytalan]"
 
-#: g10/mainproc.c:2363
+#: g10/mainproc.c:2372
 #, fuzzy, c-format
 msgid "                aka \"%s\""
 msgstr "               azaz \""
 
-#: g10/mainproc.c:2438
+#: g10/mainproc.c:2447
 #, fuzzy, c-format
 #| msgid "WARNING: This key is not certified with a trusted signature!\n"
 msgid "WARNING: This key is not suitable for signing in %s mode\n"
 msgstr "FIGYELEM: Ez a kulcs nincs hitelesítve megbízható aláírással!\n"
 
-#: g10/mainproc.c:2456
+#: g10/mainproc.c:2465
 #, c-format
 msgid "Signature expired %s\n"
 msgstr "Az aláírás lejárt: %s.\n"
 
-#: g10/mainproc.c:2460
+#: g10/mainproc.c:2469
 #, c-format
 msgid "Signature expires %s\n"
 msgstr "Az aláírás lejár: %s.\n"
 
-#: g10/mainproc.c:2471
+#: g10/mainproc.c:2480
 #, fuzzy, c-format
 #| msgid "%s signature, digest algorithm %s\n"
 msgid "%s signature, digest algorithm %s%s%s\n"
 msgstr "%s aláírás, %s kivonatoló algoritmus.\n"
 
-#: g10/mainproc.c:2472
+#: g10/mainproc.c:2481
 msgid "binary"
 msgstr "Bináris"
 
-#: g10/mainproc.c:2473
+#: g10/mainproc.c:2482
 msgid "textmode"
 msgstr "Szövegmódú"
 
-#: g10/mainproc.c:2473 g10/trust.c:123 dirmngr/ocsp.c:792
+#: g10/mainproc.c:2482 g10/trust.c:123 dirmngr/ocsp.c:792
 msgid "unknown"
 msgstr "Ismeretlen módú"
 
-#: g10/mainproc.c:2475
+#: g10/mainproc.c:2484
 #, fuzzy
 #| msgid "unknown pubkey algorithm"
 msgid ", key algorithm "
 msgstr "ismeretlen nyilvános kulcsú algoritmus"
 
-#: g10/mainproc.c:2510
+#: g10/mainproc.c:2519
 #, c-format
 msgid "WARNING: not a detached signature; file '%s' was NOT verified!\n"
 msgstr ""
 
-#: g10/mainproc.c:2548
+#: g10/mainproc.c:2558
 #, c-format
 msgid "Can't check signature: %s\n"
 msgstr "Nem tudom ellenőrizni az aláírást: %s.\n"
 
-#: g10/mainproc.c:2644 g10/mainproc.c:2663 g10/mainproc.c:2787
+#: g10/mainproc.c:2654 g10/mainproc.c:2673 g10/mainproc.c:2797
 #, c-format
 msgid "not a detached signature\n"
 msgstr "Nem különálló aláírás.\n"
 
-#: g10/mainproc.c:2697
+#: g10/mainproc.c:2707
 #, c-format
 msgid ""
 "WARNING: multiple signatures detected.  Only the first will be checked.\n"
 msgstr "FIGYELEM: Többszörös aláírást érzékeltem. Csak az elsőt ellenőrzöm.\n"
 
-#: g10/mainproc.c:2706
+#: g10/mainproc.c:2716
 #, c-format
 msgid "standalone signature of class 0x%02x\n"
 msgstr "0x%02x osztályú különálló aláírás.\n"
 
-#: g10/mainproc.c:2791
+#: g10/mainproc.c:2801
 #, c-format
 msgid "old style (PGP 2.x) signature\n"
 msgstr "Régi stílusú (PGP 2.x) aláírás.\n"
@@ -6455,58 +6468,63 @@ msgstr "Kritikus aláírás-jelölés: "
 msgid "subpacket of type %d has critical bit set\n"
 msgstr "A %d típusú alcsomag kritikus bitje beállított.\n"
 
-#: g10/passphrase.c:73 g10/passphrase.c:275 g10/passphrase.c:308
+#: g10/passphrase.c:73 g10/passphrase.c:283 g10/passphrase.c:316
 #, fuzzy, c-format
 msgid "problem with the agent: %s\n"
 msgstr "Probléma az ügynökkel: ügynök válasza: 0x%lx\n"
 
-#: g10/passphrase.c:258
+#: g10/passphrase.c:251 sm/decrypt.c:341
+#, fuzzy
+msgid "Please enter the passphrase for decryption."
+msgstr "jelszóváltoztatás"
+
+#: g10/passphrase.c:253
 msgid "Enter passphrase\n"
 msgstr "Írja be a jelszót!\n"
 
-#: g10/passphrase.c:269
+#: g10/passphrase.c:277
 #, c-format
 msgid "cancelled by user\n"
 msgstr "A felhasználó megszakította a műveletet.\n"
 
-#: g10/passphrase.c:510
+#: g10/passphrase.c:523
 #, fuzzy, c-format
 msgid " (main key ID %s)"
 msgstr ""
 " \n"
 "  (fő kulcsazonosító: %08lX)"
 
-#: g10/passphrase.c:517
+#: g10/passphrase.c:530
 #, fuzzy
 msgid "Please enter the passphrase to unlock the OpenPGP secret key:"
 msgstr "Kérem, adja meg a jelszót! Ezt egy titkos mondat. \n"
 
-#: g10/passphrase.c:521
+#: g10/passphrase.c:534
 #, fuzzy
 msgid "Please enter the passphrase to import the OpenPGP secret key:"
 msgstr "Kérem, adja meg a jelszót! Ezt egy titkos mondat. \n"
 
-#: g10/passphrase.c:526
+#: g10/passphrase.c:539
 #, fuzzy
 msgid "Please enter the passphrase to export the OpenPGP secret subkey:"
 msgstr "Kérem, adja meg a jelszót! Ezt egy titkos mondat. \n"
 
-#: g10/passphrase.c:529
+#: g10/passphrase.c:542
 #, fuzzy
 msgid "Please enter the passphrase to export the OpenPGP secret key:"
 msgstr "Kérem, adja meg a jelszót! Ezt egy titkos mondat. \n"
 
-#: g10/passphrase.c:534
+#: g10/passphrase.c:547
 #, fuzzy
 msgid "Do you really want to permanently delete the OpenPGP secret subkey key:"
 msgstr "Valóban törli a kiválasztott kulcsokat? "
 
-#: g10/passphrase.c:537
+#: g10/passphrase.c:550
 #, fuzzy
 msgid "Do you really want to permanently delete the OpenPGP secret key:"
 msgstr "Valóban törli a kiválasztott kulcsokat? "
 
-#: g10/passphrase.c:546
+#: g10/passphrase.c:559
 #, fuzzy, c-format
 msgid ""
 "%s\n"
@@ -6558,7 +6576,7 @@ msgstr "\"%s\" nem JPEG állomány.\n"
 msgid "Is this photo correct (y/N/q)? "
 msgstr "Ez a fotó megfelelő (i/N/k)? "
 
-#: g10/photoid.c:395
+#: g10/photoid.c:399
 #, c-format
 msgid "unable to display photo ID!\n"
 msgstr "Nem tudom megjeleníteni a fotóazonosítót!\n"
@@ -6917,7 +6935,7 @@ msgstr "Nem tudom megnyitni a(z) \"%s\" aláírt adatot!\n"
 msgid "can't open signed data fd=%d: %s\n"
 msgstr "Nem tudom megnyitni a(z) \"%s\" aláírt adatot!\n"
 
-#: g10/pubkey-enc.c:98 g10/pubkey-enc.c:139 sm/decrypt.c:493
+#: g10/pubkey-enc.c:98 g10/pubkey-enc.c:139 sm/decrypt.c:969
 #, fuzzy, c-format
 msgid "key %s is not suitable for decryption in %s mode\n"
 msgstr "%08lX kulcs: Nincs felhasználói azonosító.\n"
@@ -6932,27 +6950,27 @@ msgstr "Anonim címzett. A %08lX titkos kulcsot próbálom...\n"
 msgid "okay, we are the anonymous recipient.\n"
 msgstr "Rendben, mi vagyunk az anonim címzett.\n"
 
-#: g10/pubkey-enc.c:321
+#: g10/pubkey-enc.c:311
 #, c-format
 msgid "old encoding of the DEK is not supported\n"
 msgstr "A DEK régi kódolása nem támogatott.\n"
 
-#: g10/pubkey-enc.c:349
+#: g10/pubkey-enc.c:339
 #, c-format
 msgid "cipher algorithm %d%s is unknown or disabled\n"
 msgstr "A %d%s rejtjelező algoritmus ismeretlen vagy tiltott.\n"
 
-#: g10/pubkey-enc.c:393
+#: g10/pubkey-enc.c:383
 #, fuzzy, c-format
 msgid "WARNING: cipher algorithm %s not found in recipient preferences\n"
 msgstr "MEGJEGYZÉS: %d rejtjelező algoritmus nincs a preferenciák között.\n"
 
-#: g10/pubkey-enc.c:426
+#: g10/pubkey-enc.c:416
 #, fuzzy, c-format
 msgid "Note: secret key %s expired at %s\n"
 msgstr "MEGJEGYZÉS: %08lX titkos kulcs %s-kor lejárt.\n"
 
-#: g10/pubkey-enc.c:433
+#: g10/pubkey-enc.c:423
 #, fuzzy, c-format
 #| msgid "NOTE: key has been revoked"
 msgid "Note: key has been revoked"
@@ -7266,7 +7284,7 @@ msgstr ""
 msgid "%s/%s signature from: \"%s\"\n"
 msgstr "%s aláírás a következőtől: \"%s\"\n"
 
-#: g10/sign.c:1046
+#: g10/sign.c:1045
 #, fuzzy, c-format
 msgid ""
 "WARNING: forcing digest algorithm %s (%d) violates recipient preferences\n"
@@ -7274,34 +7292,34 @@ msgstr ""
 "%s (%d) kivonatoló algoritmus használatának erőltetése ellentétes\n"
 "a címzett preferenciáival.\n"
 
-#: g10/sign.c:1188
+#: g10/sign.c:1187
 #, c-format
 msgid "signing:"
 msgstr "Aláírom:"
 
-#: g10/sign.c:1465
+#: g10/sign.c:1464
 #, c-format
 msgid "%s encryption will be used\n"
 msgstr "%s titkosítást fogok használni.\n"
 
-#: g10/skclist.c:173 g10/skclist.c:254
+#: g10/skclist.c:174 g10/skclist.c:255
 #, c-format
 msgid "key is not flagged as insecure - can't use it with the faked RNG!\n"
 msgstr ""
 "A kulcs nincs \"nem biztonságosnak\" jelölve,\n"
 "nem tudom a pótló véletlenszám-generátorral használni!\n"
 
-#: g10/skclist.c:205
+#: g10/skclist.c:206
 #, fuzzy, c-format
 msgid "skipped \"%s\": duplicated\n"
 msgstr "\"%s\"-t kihagytam: másodpéldány.\n"
 
-#: g10/skclist.c:224
+#: g10/skclist.c:225
 #, c-format
 msgid "skipped: secret key already present\n"
 msgstr "Kihagytam: titkos kulcs már jelen van.\n"
 
-#: g10/skclist.c:243
+#: g10/skclist.c:244
 #, fuzzy
 msgid "this is a PGP generated Elgamal key which is not secure for signatures!"
 msgstr ""
@@ -7361,7 +7379,7 @@ msgstr "Olvasási hiba: %s.\n"
 msgid "trustdb: sync failed: %s\n"
 msgstr "Bizalmi adatbázis: szinkronizáció sikertelen: %s.\n"
 
-#: g10/tdbio.c:144 sm/keydb.c:336
+#: g10/tdbio.c:144 sm/keydb.c:335
 #, fuzzy, c-format
 msgid "can't create lock for '%s'\n"
 msgstr "Nem tudom létrehozni a(z) \"%s\" állományt: %s.\n"
@@ -8100,40 +8118,52 @@ msgstr "Használat: gpg [opciók] [fájlok] (-h a súgóhoz)"
 #. TRANSLATORS: Put a \x1f right before a colon.  This can be
 #. * used by pinentry to nicely align the names and values.  Keep
 #. * the %s at the start and end of the string.
-#: scd/app-p15.c:3369 scd/app-openpgp.c:2153
+#: scd/app-p15.c:4955 scd/app-openpgp.c:2151
 #, c-format
 msgid "%sNumber\1f: %s%%0AHolder\1f: %s%s"
 msgstr ""
 
 #. TRANSLATORS: This is the number of remaining attempts to
 #. * enter a PIN.  Use %%0A (double-percent,0A) for a linefeed.
-#: scd/app-p15.c:3388 scd/app-openpgp.c:2169
+#: scd/app-p15.c:4974 scd/app-openpgp.c:2167
 #, c-format
 msgid "Remaining attempts: %d"
 msgstr ""
 
-#: scd/app-p15.c:3459 scd/app-nks.c:1110
+#: scd/app-p15.c:5053 scd/app-nks.c:1113
 msgid "||Please enter the PIN for the key to create qualified signatures."
 msgstr ""
 
-#: scd/app-p15.c:3462 scd/app-nks.c:1092
+#. TRANSLATORS: Do not translate the "|A|" prefix but keep it at
+#. the start of the string.  Use %0A (single percent) for a linefeed.
+#: scd/app-p15.c:5056 scd/app-openpgp.c:2461
+#, fuzzy
+msgid "|A|Please enter the Admin PIN"
+msgstr "jelszóváltoztatás"
+
+#: scd/app-p15.c:5058 scd/app-nks.c:1103
+#, fuzzy
+msgid "|P|Please enter the PIN Unblocking Code (PUK) for the standard keys."
+msgstr "Kérem, válassza ki a visszavonás okát:\n"
+
+#: scd/app-p15.c:5061 scd/app-nks.c:1095
 #, fuzzy
 msgid "||Please enter the PIN for the standard keys."
 msgstr "jelszóváltoztatás"
 
-#: scd/app-nks.c:709 scd/app-openpgp.c:3664
+#: scd/app-nks.c:709 scd/app-openpgp.c:3663
 #, c-format
 msgid "RSA modulus missing or not of size %d bits\n"
 msgstr ""
 
-#: scd/app-nks.c:717 scd/app-openpgp.c:3676
+#: scd/app-nks.c:717 scd/app-openpgp.c:3675
 #, c-format
 msgid "RSA public exponent missing or larger than %d bits\n"
 msgstr ""
 
-#: scd/app-nks.c:797 scd/app-openpgp.c:2326 scd/app-openpgp.c:2345
-#: scd/app-openpgp.c:2512 scd/app-openpgp.c:2530 scd/app-openpgp.c:2827
-#: scd/app-openpgp.c:2874 scd/app-openpgp.c:2989 scd/app-dinsig.c:303
+#: scd/app-nks.c:797 scd/app-openpgp.c:2324 scd/app-openpgp.c:2343
+#: scd/app-openpgp.c:2510 scd/app-openpgp.c:2528 scd/app-openpgp.c:2826
+#: scd/app-openpgp.c:2873 scd/app-openpgp.c:2988 scd/app-dinsig.c:302
 #, c-format
 msgid "PIN callback returned error: %s\n"
 msgstr ""
@@ -8143,79 +8173,74 @@ msgstr ""
 msgid "the NullPIN has not yet been changed\n"
 msgstr ""
 
-#: scd/app-nks.c:1091
+#: scd/app-nks.c:1094
 #, fuzzy
 msgid "|N|Please enter a new PIN for the standard keys."
 msgstr "jelszóváltoztatás"
 
-#: scd/app-nks.c:1098
+#: scd/app-nks.c:1101
 #, fuzzy
 msgid "|NP|Please enter a new PIN Unblocking Code (PUK) for the standard keys."
 msgstr "Kérem, válassza ki a visszavonás okát:\n"
 
-#: scd/app-nks.c:1100
-#, fuzzy
-msgid "|P|Please enter the PIN Unblocking Code (PUK) for the standard keys."
-msgstr "Kérem, válassza ki a visszavonás okát:\n"
-
-#: scd/app-nks.c:1108
+#: scd/app-nks.c:1111
 msgid "|N|Please enter a new PIN for the key to create qualified signatures."
 msgstr ""
 
-#: scd/app-nks.c:1118
+#: scd/app-nks.c:1121
 msgid ""
 "|NP|Please enter a new PIN Unblocking Code (PUK) for the key to create "
 "qualified signatures."
 msgstr ""
 
-#: scd/app-nks.c:1120
+#: scd/app-nks.c:1123
 msgid ""
 "|P|Please enter the PIN Unblocking Code (PUK) for the key to create "
 "qualified signatures."
 msgstr ""
 
-#: scd/app-nks.c:1227 scd/app-openpgp.c:2908 scd/app-dinsig.c:531
+#: scd/app-nks.c:1230 scd/app-openpgp.c:2907 scd/app-dinsig.c:532
 #, fuzzy, c-format
 msgid "error getting new PIN: %s\n"
 msgstr "Hiba a jelszó létrehozásakor: %s.\n"
 
-#: scd/app-openpgp.c:860
+#: scd/app-openpgp.c:859
 #, fuzzy, c-format
 msgid "failed to store the fingerprint: %s\n"
 msgstr "Bizalmi adatbázis (%s) inicializálása sikertelen!\n"
 
-#: scd/app-openpgp.c:873
+#: scd/app-openpgp.c:872
 #, fuzzy, c-format
 msgid "failed to store the creation date: %s\n"
 msgstr "Nem tudtam újraépíteni a kulcskarika cache-ét: %s\n"
 
-#: scd/app-openpgp.c:1272 scd/app-openpgp.c:2855 scd/app-openpgp.c:5020
+#: scd/app-openpgp.c:1268 scd/app-openpgp.c:2854 scd/app-openpgp.c:5025
 #, c-format
 msgid "error retrieving CHV status from card\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1430
+#: scd/app-openpgp.c:1426
 #, c-format
 msgid "response does not contain the RSA modulus\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1437
+#: scd/app-openpgp.c:1433
 #, c-format
 msgid "response does not contain the RSA public exponent\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1547
+#: scd/app-openpgp.c:1543
 #, fuzzy, c-format
 #| msgid "remove keys from the public keyring"
 msgid "response does not contain the EC public key\n"
 msgstr "kulcsok eltávolítása a nyilvánoskulcs-karikáról"
 
-#: scd/app-openpgp.c:1665 scd/app-openpgp.c:4284
+#: scd/app-openpgp.c:1661 scd/app-openpgp.c:4283
 #, c-format
 msgid "response does not contain the public key data\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1772
+#: scd/app-openpgp.c:1768
 #, fuzzy, c-format
 msgid "reading public key failed: %s\n"
 msgstr "A kulcsblokk törlése sikertelen: %s.\n"
@@ -8223,43 +8248,43 @@ msgstr "A kulcsblokk törlése sikertelen: %s.\n"
 #. TRANSLATORS: Put a \x1f right before a colon.  This can be
 #. * used by pinentry to nicely align the names and values.  Keep
 #. * the %s at the start and end of the string.
-#: scd/app-openpgp.c:2140
+#: scd/app-openpgp.c:2138
 #, c-format
 msgid "%sNumber\1f: %s%%0AHolder\1f: %s%%0ACounter\1f: %lu%s"
 msgstr ""
 
-#: scd/app-openpgp.c:2280
+#: scd/app-openpgp.c:2278
 #, c-format
 msgid "using default PIN as %s\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2287
+#: scd/app-openpgp.c:2285
 #, c-format
 msgid "failed to use default PIN as %s: %s - disabling further default use\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2300
+#: scd/app-openpgp.c:2298
 #, fuzzy
 msgid "||Please unlock the card"
 msgstr "jelszóváltoztatás"
 
-#: scd/app-openpgp.c:2352 scd/app-openpgp.c:2537 scd/app-openpgp.c:2834
+#: scd/app-openpgp.c:2350 scd/app-openpgp.c:2535 scd/app-openpgp.c:2833
 #, c-format
 msgid "PIN for CHV%d is too short; minimum length is %d\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2366 scd/app-openpgp.c:2413 scd/app-openpgp.c:2551
-#: scd/app-openpgp.c:4642
+#: scd/app-openpgp.c:2364 scd/app-openpgp.c:2411 scd/app-openpgp.c:2549
+#: scd/app-openpgp.c:4641
 #, fuzzy, c-format
 msgid "verify CHV%d failed: %s\n"
 msgstr "Küldés a kulcsszerverre sikertelen: %s\n"
 
-#: scd/app-openpgp.c:2449 scd/app-openpgp.c:5029
+#: scd/app-openpgp.c:2447 scd/app-openpgp.c:5034
 #, c-format
 msgid "card is permanently locked!\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2453
+#: scd/app-openpgp.c:2451
 #, c-format
 msgid "%d Admin PIN attempt remaining before card is permanently locked\n"
 msgid_plural ""
@@ -8267,29 +8292,22 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-#. TRANSLATORS: Do not translate the "|A|" prefix but keep it at
-#. the start of the string.  Use %0A (single percent) for a linefeed.
-#: scd/app-openpgp.c:2463
-#, fuzzy
-msgid "|A|Please enter the Admin PIN"
-msgstr "jelszóváltoztatás"
-
-#: scd/app-openpgp.c:2484
+#: scd/app-openpgp.c:2482
 #, c-format
 msgid "access to admin commands is not configured\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2821
+#: scd/app-openpgp.c:2820
 #, fuzzy
 msgid "||Please enter the PIN"
 msgstr "jelszóváltoztatás"
 
-#: scd/app-openpgp.c:2870
+#: scd/app-openpgp.c:2869
 #, fuzzy
 msgid "||Please enter the Reset Code for the card"
 msgstr "Kérem, válassza ki a visszavonás okát:\n"
 
-#: scd/app-openpgp.c:2880 scd/app-openpgp.c:2941
+#: scd/app-openpgp.c:2879 scd/app-openpgp.c:2940
 #, c-format
 msgid "Reset Code is too short; minimum length is %d\n"
 msgstr ""
@@ -8297,128 +8315,128 @@ msgstr ""
 #. TRANSLATORS: Do not translate the "|*|" prefixes but
 #. keep it at the start of the string.  We need this elsewhere
 #. to get some infos on the string.
-#: scd/app-openpgp.c:2903
+#: scd/app-openpgp.c:2902
 msgid "|RN|New Reset Code"
 msgstr ""
 
-#: scd/app-openpgp.c:2904
+#: scd/app-openpgp.c:2903
 msgid "|AN|New Admin PIN"
 msgstr ""
 
-#: scd/app-openpgp.c:2904
+#: scd/app-openpgp.c:2903
 msgid "|N|New PIN"
 msgstr ""
 
-#: scd/app-openpgp.c:2985
+#: scd/app-openpgp.c:2984
 #, fuzzy
 msgid "||Please enter the Admin PIN and New Admin PIN"
 msgstr "jelszóváltoztatás"
 
-#: scd/app-openpgp.c:2986
+#: scd/app-openpgp.c:2985
 #, fuzzy
 msgid "||Please enter the PIN and New PIN"
 msgstr "jelszóváltoztatás"
 
-#: scd/app-openpgp.c:3048 scd/app-openpgp.c:4344
+#: scd/app-openpgp.c:3047 scd/app-openpgp.c:4343
 #, fuzzy, c-format
 msgid "error reading application data\n"
 msgstr "Hiba a kulcsblokk olvasásakor: %s\n"
 
-#: scd/app-openpgp.c:3054 scd/app-openpgp.c:4351
+#: scd/app-openpgp.c:3053 scd/app-openpgp.c:4350
 #, fuzzy, c-format
 msgid "error reading fingerprint DO\n"
 msgstr "%s: Hiba szabad rekord olvasásakor: %s.\n"
 
-#: scd/app-openpgp.c:3064
+#: scd/app-openpgp.c:3063
 #, fuzzy, c-format
 msgid "key already exists\n"
 msgstr "\"%s\" már tömörített.\n"
 
-#: scd/app-openpgp.c:3068
+#: scd/app-openpgp.c:3067
 #, c-format
 msgid "existing key will be replaced\n"
 msgstr ""
 
-#: scd/app-openpgp.c:3070
+#: scd/app-openpgp.c:3069
 #, fuzzy, c-format
 msgid "generating new key\n"
 msgstr "új kulcspár létrehozása"
 
-#: scd/app-openpgp.c:3072
+#: scd/app-openpgp.c:3071
 #, fuzzy, c-format
 msgid "writing new key\n"
 msgstr "új kulcspár létrehozása"
 
-#: scd/app-openpgp.c:3645 scd/app-openpgp.c:3997
+#: scd/app-openpgp.c:3644 scd/app-openpgp.c:3996
 #, c-format
 msgid "creation timestamp missing\n"
 msgstr ""
 
-#: scd/app-openpgp.c:3686 scd/app-openpgp.c:3694
+#: scd/app-openpgp.c:3685 scd/app-openpgp.c:3693
 #, c-format
 msgid "RSA prime %s missing or not of size %d bits\n"
 msgstr ""
 
-#: scd/app-openpgp.c:3827 scd/app-openpgp.c:4104
+#: scd/app-openpgp.c:3826 scd/app-openpgp.c:4103
 #, fuzzy, c-format
 msgid "failed to store the key: %s\n"
 msgstr "Bizalmi adatbázis (%s) inicializálása sikertelen!\n"
 
-#: scd/app-openpgp.c:3991
+#: scd/app-openpgp.c:3990
 #, fuzzy, c-format
 #| msgid "unsupported URI"
 msgid "unsupported curve\n"
 msgstr "nem támogatott URI"
 
-#: scd/app-openpgp.c:4261
+#: scd/app-openpgp.c:4260
 #, c-format
 msgid "please wait while key is being generated ...\n"
 msgstr ""
 
-#: scd/app-openpgp.c:4269
+#: scd/app-openpgp.c:4268
 #, fuzzy, c-format
 msgid "generating key failed\n"
 msgstr "A kulcsblokk törlése sikertelen: %s.\n"
 
-#: scd/app-openpgp.c:4275
+#: scd/app-openpgp.c:4274
 #, fuzzy, c-format
 msgid "key generation completed (%d second)\n"
 msgid_plural "key generation completed (%d seconds)\n"
 msgstr[0] "Kulcsgenerálás sikertelen: %s\n"
 msgstr[1] "Kulcsgenerálás sikertelen: %s\n"
 
-#: scd/app-openpgp.c:4309
+#: scd/app-openpgp.c:4308
 #, c-format
 msgid "invalid structure of OpenPGP card (DO 0x93)\n"
 msgstr ""
 
-#: scd/app-openpgp.c:4359
+#: scd/app-openpgp.c:4358
 #, c-format
 msgid "fingerprint on card does not match requested one\n"
 msgstr ""
 
-#: scd/app-openpgp.c:4558
+#: scd/app-openpgp.c:4557
 #, fuzzy, c-format
 msgid "card does not support digest algorithm %s\n"
 msgstr "%s aláírás, %s kivonatoló algoritmus.\n"
 
-#: scd/app-openpgp.c:4616
+#: scd/app-openpgp.c:4615
 #, c-format
 msgid "signatures created so far: %lu\n"
 msgstr ""
 
-#: scd/app-openpgp.c:5034
+#: scd/app-openpgp.c:5039
 #, c-format
 msgid ""
 "verification of Admin PIN is currently prohibited through this command\n"
 msgstr ""
 
-#: scd/app-openpgp.c:5346 scd/app-openpgp.c:5357
+#: scd/app-openpgp.c:5351 scd/app-openpgp.c:5362
 #, fuzzy, c-format
 msgid "can't access %s - invalid OpenPGP card?\n"
 msgstr "Nem találtam érvényes OpenPGP adatot.\n"
 
-#: scd/app-dinsig.c:299
+#: scd/app-dinsig.c:298
 #, fuzzy
 msgid "||Please enter your PIN at the reader's pinpad"
 msgstr "jelszóváltoztatás"
@@ -8426,7 +8444,7 @@ msgstr "jelszóváltoztatás"
 #. TRANSLATORS: Do not translate the "|*|" prefixes but
 #. keep it at the start of the string.  We need this elsewhere
 #. to get some infos on the string.
-#: scd/app-dinsig.c:528
+#: scd/app-dinsig.c:529
 msgid "|N|Initial New PIN"
 msgstr ""
 
@@ -8434,7 +8452,7 @@ msgstr ""
 msgid "run in multi server mode (foreground)"
 msgstr ""
 
-#: scd/scdaemon.c:129 sm/gpgsm.c:345 dirmngr/dirmngr.c:187
+#: scd/scdaemon.c:129 sm/gpgsm.c:348 dirmngr/dirmngr.c:188
 msgid "|LEVEL|set the debugging level to LEVEL"
 msgstr ""
 
@@ -8457,50 +8475,50 @@ msgstr "|NÉV|NÉV használata alapértelmezett címzettként"
 msgid "|NAME|use NAME as PC/SC driver"
 msgstr "|NÉV|NÉV használata alapértelmezett címzettként"
 
-#: scd/scdaemon.c:145
+#: scd/scdaemon.c:146
 #, fuzzy
 msgid "do not use the internal CCID driver"
 msgstr "ne használja a terminált egyáltalán"
 
-#: scd/scdaemon.c:151
+#: scd/scdaemon.c:152
 msgid "|N|disconnect the card after N seconds of inactivity"
 msgstr ""
 
-#: scd/scdaemon.c:154
+#: scd/scdaemon.c:155
 msgid "do not use a reader's pinpad"
 msgstr ""
 
-#: scd/scdaemon.c:159
+#: scd/scdaemon.c:160
 #, fuzzy
 msgid "deny the use of admin card commands"
 msgstr "Egymásnak ellentmondó parancsok!\n"
 
-#: scd/scdaemon.c:162
+#: scd/scdaemon.c:163
 msgid "use variable length input for pinpad"
 msgstr ""
 
-#: scd/scdaemon.c:311
+#: scd/scdaemon.c:312
 #, fuzzy
 msgid "Usage: @SCDAEMON@ [options] (-h for help)"
 msgstr "Használat: gpg [opciók] [fájlok] (-h a súgóhoz)"
 
-#: scd/scdaemon.c:313
+#: scd/scdaemon.c:314
 msgid ""
 "Syntax: scdaemon [options] [command [args]]\n"
 "Smartcard daemon for @GNUPG@\n"
 msgstr ""
 
-#: scd/scdaemon.c:806
+#: scd/scdaemon.c:808
 #, c-format
 msgid "please use the option '--daemon' to run the program in the background\n"
 msgstr ""
 
-#: scd/scdaemon.c:1183 dirmngr/dirmngr.c:2082
+#: scd/scdaemon.c:1185 dirmngr/dirmngr.c:2119
 #, c-format
 msgid "handler for fd %d started\n"
 msgstr ""
 
-#: scd/scdaemon.c:1195 dirmngr/dirmngr.c:2090
+#: scd/scdaemon.c:1197 dirmngr/dirmngr.c:2127
 #, c-format
 msgid "handler for fd %d terminated\n"
 msgstr ""
@@ -8548,7 +8566,7 @@ msgstr "Írom a titkos kulcsot a %s állományba.\n"
 msgid "certificate policy not allowed"
 msgstr "Írom a titkos kulcsot a %s állományba.\n"
 
-#: sm/certchain.c:595 sm/keydb.c:1106 sm/keydb.c:1192
+#: sm/certchain.c:595 sm/keydb.c:1084 sm/keydb.c:1171
 #, fuzzy, c-format
 msgid "failed to get the fingerprint\n"
 msgstr "Bizalmi adatbázis (%s) inicializálása sikertelen!\n"
@@ -8584,8 +8602,8 @@ msgstr "Hiba a jelszó létrehozásakor: %s.\n"
 msgid "dirmngr cache-only key lookup failed: %s\n"
 msgstr "A kulcsblokk törlése sikertelen: %s.\n"
 
-#: sm/certchain.c:1041 sm/certchain.c:1554 sm/certchain.c:2192 sm/decrypt.c:265
-#: sm/encrypt.c:344 sm/import.c:415 sm/keydb.c:1113 sm/keydb.c:1199
+#: sm/certchain.c:1041 sm/certchain.c:1554 sm/certchain.c:2192 sm/decrypt.c:728
+#: sm/encrypt.c:345 sm/import.c:415 sm/keydb.c:1091 sm/keydb.c:1178
 #: sm/sign.c:337 sm/verify.c:118
 #, fuzzy, c-format
 msgid "failed to allocate keyDB handle\n"
@@ -8783,13 +8801,13 @@ msgid "a %u bit hash is not valid for a %u bit %s key\n"
 msgstr ""
 
 #: sm/certcheck.c:238 sm/certcheck.c:262 dirmngr/crlcache.c:1542
-#: dirmngr/crlcache.c:1566 dirmngr/dirmngr.c:1324 dirmngr/validate.c:903
+#: dirmngr/crlcache.c:1566 dirmngr/dirmngr.c:1361 dirmngr/validate.c:903
 #: dirmngr/validate.c:927
 #, fuzzy, c-format
 msgid "out of core\n"
 msgstr "nem feldolgozott"
 
-#: sm/certcheck.c:371 sm/verify.c:213
+#: sm/certcheck.c:370 sm/verify.c:213
 #, c-format
 msgid "(this is the MD2 algorithm)\n"
 msgstr ""
@@ -9087,22 +9105,33 @@ msgstr ""
 msgid "resource problem: out of core\n"
 msgstr ""
 
-#: sm/decrypt.c:341
+#: sm/decrypt.c:536
+#, fuzzy, c-format
+#| msgid "%s encrypted data\n"
+msgid "%s.%s encrypted data\n"
+msgstr "%s titkosított adat.\n"
+
+#: sm/decrypt.c:803
 #, c-format
 msgid "(this is the RC2 algorithm)\n"
 msgstr ""
 
-#: sm/decrypt.c:343
+#: sm/decrypt.c:805
 #, c-format
 msgid "(this does not seem to be an encrypted message)\n"
 msgstr ""
 
+#: sm/decrypt.c:958
+#, fuzzy, c-format
+msgid "encrypted to %s key %s\n"
+msgstr "Titkosítva %s kulccsal, azonosító: %08lX\n"
+
 #: sm/delete.c:51 sm/delete.c:112
 #, fuzzy, c-format
 msgid "certificate '%s' not found: %s\n"
 msgstr "\"%s\" kulcs nem található: %s\n"
 
-#: sm/delete.c:122 sm/keydb.c:1209 sm/keydb.c:1307
+#: sm/delete.c:122 sm/keydb.c:1189 sm/keydb.c:1288
 #, fuzzy, c-format
 msgid "error locking keybox: %s\n"
 msgstr "Hiba a kulcsblokk olvasásakor: %s\n"
@@ -9122,139 +9151,139 @@ msgstr "%c%lu preferencia kétszer szerepel!\n"
 msgid "deleting certificate \"%s\" failed: %s\n"
 msgstr "A kulcsblokk törlése sikertelen: %s.\n"
 
-#: sm/encrypt.c:330
+#: sm/encrypt.c:331
 #, fuzzy, c-format
 msgid "no valid recipients given\n"
 msgstr "(Nincs leírás.)\n"
 
-#: sm/gpgsm.c:215
+#: sm/gpgsm.c:216
 #, fuzzy
 msgid "list external keys"
 msgstr "titkos kulcsok listázása"
 
-#: sm/gpgsm.c:217
+#: sm/gpgsm.c:218
 #, fuzzy
 msgid "list certificate chain"
 msgstr "rossz igazolás"
 
-#: sm/gpgsm.c:225
+#: sm/gpgsm.c:226
 #, fuzzy
 msgid "import certificates"
 msgstr "rossz igazolás"
 
-#: sm/gpgsm.c:226
+#: sm/gpgsm.c:227
 #, fuzzy
 msgid "export certificates"
 msgstr "rossz igazolás"
 
-#: sm/gpgsm.c:234
+#: sm/gpgsm.c:235
 msgid "register a smartcard"
 msgstr ""
 
-#: sm/gpgsm.c:237
+#: sm/gpgsm.c:238
 msgid "pass a command to the dirmngr"
 msgstr ""
 
-#: sm/gpgsm.c:239
+#: sm/gpgsm.c:240
 msgid "invoke gpg-protect-tool"
 msgstr ""
 
-#: sm/gpgsm.c:256
+#: sm/gpgsm.c:257
 #, fuzzy
 msgid "create base-64 encoded output"
 msgstr "ascii páncélozott kimenet létrehozása"
 
-#: sm/gpgsm.c:265
+#: sm/gpgsm.c:266
 msgid "assume input is in PEM format"
 msgstr ""
 
-#: sm/gpgsm.c:267
+#: sm/gpgsm.c:268
 msgid "assume input is in base-64 format"
 msgstr ""
 
-#: sm/gpgsm.c:269
+#: sm/gpgsm.c:270
 msgid "assume input is in binary format"
 msgstr ""
 
-#: sm/gpgsm.c:276
+#: sm/gpgsm.c:277
 msgid "never consult a CRL"
 msgstr ""
 
-#: sm/gpgsm.c:286
+#: sm/gpgsm.c:287
 msgid "check validity using OCSP"
 msgstr ""
 
-#: sm/gpgsm.c:291
+#: sm/gpgsm.c:292
 msgid "|N|number of certificates to include"
 msgstr ""
 
-#: sm/gpgsm.c:294
+#: sm/gpgsm.c:295
 msgid "|FILE|take policy information from FILE"
 msgstr ""
 
-#: sm/gpgsm.c:297
+#: sm/gpgsm.c:298
 msgid "do not check certificate policies"
 msgstr ""
 
-#: sm/gpgsm.c:301
+#: sm/gpgsm.c:302
 msgid "fetch missing issuer certificates"
 msgstr ""
 
-#: sm/gpgsm.c:312
+#: sm/gpgsm.c:313
 msgid "don't use the terminal at all"
 msgstr "ne használja a terminált egyáltalán"
 
-#: sm/gpgsm.c:314
+#: sm/gpgsm.c:315
 msgid "|FILE|write a server mode log to FILE"
 msgstr ""
 
-#: sm/gpgsm.c:319
+#: sm/gpgsm.c:320
 #, fuzzy
 msgid "|FILE|write an audit log to FILE"
 msgstr "|fájl|bővítő modul betöltése"
 
-#: sm/gpgsm.c:322
+#: sm/gpgsm.c:323
 msgid "batch mode: never ask"
 msgstr "kötegelt mód: soha nem kérdez"
 
-#: sm/gpgsm.c:323
+#: sm/gpgsm.c:324
 msgid "assume yes on most questions"
 msgstr "igen válasz feltételezése a legtöbb kérdésre"
 
-#: sm/gpgsm.c:324
+#: sm/gpgsm.c:325
 msgid "assume no on most questions"
 msgstr "nem válasz feltételezése a legtöbb kérdésre"
 
-#: sm/gpgsm.c:327
+#: sm/gpgsm.c:328
 #, fuzzy
 msgid "|FILE|add keyring to the list of keyrings"
 msgstr "kulcskarika hozzáadása a kulcskarikalistához"
 
-#: sm/gpgsm.c:330
+#: sm/gpgsm.c:331
 #, fuzzy
 msgid "|USER-ID|use USER-ID as default secret key"
 msgstr "|NÉV|NÉV használata alapértelmezett titkos kulcsként"
 
-#: sm/gpgsm.c:340 tools/gpgconf-comp.c:837
+#: sm/gpgsm.c:341 dirmngr/dirmngr.c:214 tools/gpgconf-comp.c:841
 #, fuzzy
 msgid "|SPEC|use this keyserver to lookup keys"
 msgstr "|GÉPNÉV|kulcsszerver beállítása kulcsok kereséséhez"
 
-#: sm/gpgsm.c:357
+#: sm/gpgsm.c:360
 msgid "|NAME|use cipher algorithm NAME"
 msgstr "|NÉV|NÉV rejtjelező algoritmus használata"
 
-#: sm/gpgsm.c:359
+#: sm/gpgsm.c:362
 msgid "|NAME|use message digest algorithm NAME"
 msgstr "|NÉV|NÉV kivonatoló algoritmus használata"
 
-#: sm/gpgsm.c:570
+#: sm/gpgsm.c:573
 #, fuzzy
 #| msgid "Usage: gpg [options] [files] (-h for help)"
 msgid "Usage: @GPGSM@ [options] [files] (-h for help)"
 msgstr "Használat: gpg [opciók] [fájlok] (-h a súgóhoz)"
 
-#: sm/gpgsm.c:573
+#: sm/gpgsm.c:576
 #, fuzzy
 msgid ""
 "Syntax: @GPGSM@ [options] [files]\n"
@@ -9265,47 +9294,27 @@ msgstr ""
 "Aláírás, ellenőrzés, titkosítás vagy visszafejtés.\n"
 "Az alapértelmezett művelet a bemeneti adattól függ.\n"
 
-#: sm/gpgsm.c:777
+#: sm/gpgsm.c:784
 #, fuzzy, c-format
 msgid "Note: won't be able to encrypt to '%s': %s\n"
 msgstr "Nem tudok kapcsolódni \"%s\" objektumhoz: %s\n"
 
-#: sm/gpgsm.c:788
+#: sm/gpgsm.c:795
 #, fuzzy, c-format
 msgid "unknown validation model '%s'\n"
 msgstr "Ismeretlen alapértelmezett címzett: \"%s\"\n"
 
-#: sm/gpgsm.c:839 dirmngr/ldapserver.c:86
-#, fuzzy, c-format
-msgid "%s:%u: no hostname given\n"
-msgstr "(Nincs leírás.)\n"
-
-#: sm/gpgsm.c:858 dirmngr/ldapserver.c:105
-#, c-format
-msgid "%s:%u: password given without user\n"
-msgstr ""
-
-#: sm/gpgsm.c:879 dirmngr/ldapserver.c:126
-#, fuzzy, c-format
-msgid "%s:%u: skipping this line\n"
-msgstr " h = kulcs kihagyása\n"
-
-#: sm/gpgsm.c:1449
-#, fuzzy, c-format
-msgid "could not parse keyserver\n"
-msgstr "Értelmezhetetlen a kulcsszerver URI-ja!\n"
-
-#: sm/gpgsm.c:1712
+#: sm/gpgsm.c:1612
 #, fuzzy, c-format
 msgid "importing common certificates '%s'\n"
 msgstr "Írok a \"%s\" állományba.\n"
 
-#: sm/gpgsm.c:1755
+#: sm/gpgsm.c:1655
 #, fuzzy, c-format
 msgid "can't sign using '%s': %s\n"
 msgstr "Nem tudom bezárni a(z) \"%s\" állományt: %s.\n"
 
-#: sm/gpgsm.c:2122
+#: sm/gpgsm.c:2028
 #, c-format
 msgid "invalid command (there is no implicit command)\n"
 msgstr ""
@@ -9325,7 +9334,7 @@ msgstr "visszavonási igazolás készítése"
 msgid "basic certificate checks failed - not imported\n"
 msgstr ""
 
-#: sm/import.c:472 sm/keydb.c:1229 sm/keydb.c:1319
+#: sm/import.c:472 sm/keydb.c:1209 sm/keydb.c:1300
 #, fuzzy, c-format
 msgid "error getting stored flags: %s\n"
 msgstr "Hiba a jelszó létrehozásakor: %s.\n"
@@ -9340,27 +9349,27 @@ msgstr "Hiba a jelszó létrehozásakor: %s.\n"
 msgid "error reading input: %s\n"
 msgstr "Hiba \"%s\" olvasásakor: %s\n"
 
-#: sm/keydb.c:1148
+#: sm/keydb.c:1127
 #, c-format
 msgid "problem looking for existing certificate: %s\n"
 msgstr ""
 
-#: sm/keydb.c:1160
+#: sm/keydb.c:1139
 #, fuzzy, c-format
 msgid "error finding writable keyDB: %s\n"
 msgstr "Hiba a jelszó létrehozásakor: %s.\n"
 
-#: sm/keydb.c:1168
+#: sm/keydb.c:1147
 #, fuzzy, c-format
 msgid "error storing certificate: %s\n"
 msgstr "Hiba a jelszó létrehozásakor: %s.\n"
 
-#: sm/keydb.c:1220
+#: sm/keydb.c:1200
 #, fuzzy, c-format
 msgid "problem re-searching certificate: %s\n"
 msgstr "rev? Nem tudom ellenőrizni a visszavonást: %s.\n"
 
-#: sm/keydb.c:1241 sm/keydb.c:1330
+#: sm/keydb.c:1221 sm/keydb.c:1311
 #, fuzzy, c-format
 msgid "error storing flags: %s\n"
 msgstr "Hiba \"%s\" olvasásakor: %s\n"
@@ -9395,7 +9404,7 @@ msgid ""
 "%s%sAre you really sure that you want to do this?"
 msgstr ""
 
-#: sm/qualified.c:215 sm/verify.c:678
+#: sm/qualified.c:215 sm/verify.c:679
 #, c-format
 msgid ""
 "Note, that this software is not officially approved to create or verify such "
@@ -9440,23 +9449,23 @@ msgstr ""
 msgid "algorithm:"
 msgstr "Páncél: %s\n"
 
-#: sm/verify.c:535
+#: sm/verify.c:536
 #, c-format
 msgid ""
 "invalid signature: message digest attribute does not match computed one\n"
 msgstr ""
 
-#: sm/verify.c:656
+#: sm/verify.c:657
 #, fuzzy, c-format
 msgid "Good signature from"
 msgstr "Jó aláírás a következőtől: \""
 
-#: sm/verify.c:657
+#: sm/verify.c:658
 #, fuzzy, c-format
 msgid "                aka"
 msgstr "               azaz \""
 
-#: sm/verify.c:675
+#: sm/verify.c:676
 #, fuzzy, c-format
 msgid "This is a qualified signature\n"
 msgstr ""
@@ -10086,7 +10095,7 @@ msgid "error retrieving '%s': %s\n"
 msgstr "Hiba \"%s\" létrehozásakor: %s\n"
 
 #: dirmngr/crlfetch.c:218 dirmngr/ldap-wrapper-ce.c:492
-#: dirmngr/ldap-wrapper.c:884 dirmngr/misc.c:573
+#: dirmngr/ldap-wrapper.c:885 dirmngr/misc.c:573
 #, fuzzy, c-format
 #| msgid "%s: error writing dir record: %s\n"
 msgid "error initializing reader object: %s\n"
@@ -10254,116 +10263,116 @@ msgstr ""
 msgid "looking up '%s'\n"
 msgstr ""
 
-#: dirmngr/dirmngr.c:170
+#: dirmngr/dirmngr.c:171
 msgid "list the contents of the CRL cache"
 msgstr ""
 
-#: dirmngr/dirmngr.c:171
+#: dirmngr/dirmngr.c:172
 #, fuzzy
 msgid "|FILE|load CRL from FILE into cache"
 msgstr "|fájl|bővítő modul betöltése"
 
-#: dirmngr/dirmngr.c:172
+#: dirmngr/dirmngr.c:173
 msgid "|URL|fetch a CRL from URL"
 msgstr ""
 
-#: dirmngr/dirmngr.c:173
+#: dirmngr/dirmngr.c:174
 msgid "shutdown the dirmngr"
 msgstr ""
 
-#: dirmngr/dirmngr.c:174
+#: dirmngr/dirmngr.c:175
 msgid "flush the cache"
 msgstr ""
 
-#: dirmngr/dirmngr.c:190 tools/gpgconf-comp.c:522 tools/gpgconf-comp.c:741
-#: tools/gpgconf-comp.c:854 tools/gpgconf-comp.c:950
+#: dirmngr/dirmngr.c:191 tools/gpgconf-comp.c:522 tools/gpgconf-comp.c:745
+#: tools/gpgconf-comp.c:858 tools/gpgconf-comp.c:954
 msgid "|FILE|write server mode logs to FILE"
 msgstr ""
 
-#: dirmngr/dirmngr.c:191
+#: dirmngr/dirmngr.c:192
 #, fuzzy
 msgid "run without asking a user"
 msgstr "Kilépjek mentés nélkül? "
 
-#: dirmngr/dirmngr.c:192
+#: dirmngr/dirmngr.c:193
 msgid "force loading of outdated CRLs"
 msgstr ""
 
-#: dirmngr/dirmngr.c:193
+#: dirmngr/dirmngr.c:194
 msgid "allow sending OCSP requests"
 msgstr ""
 
-#: dirmngr/dirmngr.c:195
+#: dirmngr/dirmngr.c:196
 msgid "allow online software version check"
 msgstr ""
 
-#: dirmngr/dirmngr.c:196
+#: dirmngr/dirmngr.c:197
 msgid "inhibit the use of HTTP"
 msgstr ""
 
-#: dirmngr/dirmngr.c:197
+#: dirmngr/dirmngr.c:198
 msgid "inhibit the use of LDAP"
 msgstr ""
 
-#: dirmngr/dirmngr.c:199
+#: dirmngr/dirmngr.c:200
 msgid "ignore HTTP CRL distribution points"
 msgstr ""
 
-#: dirmngr/dirmngr.c:201
+#: dirmngr/dirmngr.c:202
 msgid "ignore LDAP CRL distribution points"
 msgstr ""
 
-#: dirmngr/dirmngr.c:203
+#: dirmngr/dirmngr.c:204
 msgid "ignore certificate contained OCSP service URLs"
 msgstr ""
 
-#: dirmngr/dirmngr.c:206
+#: dirmngr/dirmngr.c:207
 msgid "|URL|redirect all HTTP requests to URL"
 msgstr ""
 
-#: dirmngr/dirmngr.c:208
+#: dirmngr/dirmngr.c:209
 msgid "|HOST|use HOST for LDAP queries"
 msgstr ""
 
-#: dirmngr/dirmngr.c:210
+#: dirmngr/dirmngr.c:211
 msgid "do not use fallback hosts with --ldap-proxy"
 msgstr ""
 
-#: dirmngr/dirmngr.c:213
+#: dirmngr/dirmngr.c:216
 #, fuzzy
 msgid "|FILE|read LDAP server list from FILE"
 msgstr "|fájl|bővítő modul betöltése"
 
-#: dirmngr/dirmngr.c:215
+#: dirmngr/dirmngr.c:218
 msgid "add new servers discovered in CRL distribution points to serverlist"
 msgstr ""
 
-#: dirmngr/dirmngr.c:218 dirmngr/dirmngr_ldap.c:137
+#: dirmngr/dirmngr.c:221
 msgid "|N|set LDAP timeout to N seconds"
 msgstr ""
 
-#: dirmngr/dirmngr.c:221
+#: dirmngr/dirmngr.c:224
 #, fuzzy
 msgid "|URL|use OCSP responder at URL"
 msgstr "Értelmezhetetlen a kulcsszerver URI-ja!\n"
 
-#: dirmngr/dirmngr.c:223
+#: dirmngr/dirmngr.c:226
 msgid "|FPR|OCSP response signed by FPR"
 msgstr ""
 
-#: dirmngr/dirmngr.c:229
+#: dirmngr/dirmngr.c:232
 msgid "|N|do not return more than N items in one query"
 msgstr ""
 
-#: dirmngr/dirmngr.c:234
+#: dirmngr/dirmngr.c:237
 msgid "|FILE|use the CA certificates in FILE for HKP over TLS"
 msgstr ""
 
-#: dirmngr/dirmngr.c:236
+#: dirmngr/dirmngr.c:239
 msgid "route all network traffic via Tor"
 msgstr ""
 
-#: dirmngr/dirmngr.c:265
+#: dirmngr/dirmngr.c:268
 #, fuzzy
 #| msgid ""
 #| "@\n"
@@ -10376,290 +10385,115 @@ msgstr ""
 "@\n"
 "(A parancsok és opciók teljes listáját a man oldalon tekintheti meg.)\n"
 
-#: dirmngr/dirmngr.c:407
+#: dirmngr/dirmngr.c:415
 #, fuzzy
 msgid "Usage: @DIRMNGR@ [options] (-h for help)"
 msgstr "Használat: gpg [opciók] [fájlok] (-h a súgóhoz)"
 
-#: dirmngr/dirmngr.c:409
+#: dirmngr/dirmngr.c:417
 msgid ""
 "Syntax: @DIRMNGR@ [options] [command [args]]\n"
 "Keyserver, CRL, and OCSP access for @GNUPG@\n"
 msgstr ""
 
-#: dirmngr/dirmngr.c:489
+#: dirmngr/dirmngr.c:497
 #, c-format
 msgid "valid debug levels are: %s\n"
 msgstr ""
 
-#: dirmngr/dirmngr.c:575 tools/gpgconf.c:647 tools/gpgconf.c:682
+#: dirmngr/dirmngr.c:583 tools/gpgconf.c:647 tools/gpgconf.c:682
 #: tools/gpgconf.c:780
 #, fuzzy, c-format
 msgid "usage: %s [options] "
 msgstr "Használat: gpg [opciók] "
 
-#: dirmngr/dirmngr.c:1212
+#: dirmngr/dirmngr.c:1249
 #, fuzzy, c-format
 #| msgid "%s not allowed with %s!\n"
 msgid "colons are not allowed in the socket name\n"
 msgstr "%s és %s nem használható együtt!\n"
 
-#: dirmngr/dirmngr.c:1444 dirmngr/server.c:1824
+#: dirmngr/dirmngr.c:1481 dirmngr/server.c:1878
 #, fuzzy, c-format
 msgid "fetching CRL from '%s' failed: %s\n"
 msgstr "Páncélozás nem sikerült: %s\n"
 
-#: dirmngr/dirmngr.c:1450 dirmngr/server.c:1830
+#: dirmngr/dirmngr.c:1487 dirmngr/server.c:1884
 #, fuzzy, c-format
 msgid "processing CRL from '%s' failed: %s\n"
 msgstr "Páncélozás nem sikerült: %s\n"
 
-#: dirmngr/dirmngr.c:1645
+#: dirmngr/dirmngr.c:1682
 #, fuzzy, c-format
 msgid "%s:%u: line too long - skipped\n"
 msgstr "A sor túl hosszú!\n"
 
-#: dirmngr/dirmngr.c:1700 dirmngr/dirmngr.c:1784
+#: dirmngr/dirmngr.c:1737 dirmngr/dirmngr.c:1821
 #, fuzzy, c-format
 msgid "%s:%u: invalid fingerprint detected\n"
 msgstr "Hiba: Érvénytelen ujjlenyomat.\n"
 
-#: dirmngr/dirmngr.c:1736 dirmngr/dirmngr.c:1762 tools/gpgconf-comp.c:4191
+#: dirmngr/dirmngr.c:1773 dirmngr/dirmngr.c:1799 tools/gpgconf-comp.c:4199
 #, fuzzy, c-format
 msgid "%s:%u: read error: %s\n"
 msgstr "Olvasási hiba: %s.\n"
 
-#: dirmngr/dirmngr.c:1791
+#: dirmngr/dirmngr.c:1828
 #, c-format
 msgid "%s:%u: garbage at end of line ignored\n"
 msgstr ""
 
-#: dirmngr/dirmngr.c:1860
+#: dirmngr/dirmngr.c:1897
 #, c-format
 msgid "SIGHUP received - re-reading configuration and flushing caches\n"
 msgstr ""
 
-#: dirmngr/dirmngr.c:1900
+#: dirmngr/dirmngr.c:1937
 #, c-format
 msgid "SIGUSR2 received - no action defined\n"
 msgstr ""
 
-#: dirmngr/dirmngr.c:1905
+#: dirmngr/dirmngr.c:1942
 #, c-format
 msgid "SIGTERM received - shutting down ...\n"
 msgstr ""
 
-#: dirmngr/dirmngr.c:1907
+#: dirmngr/dirmngr.c:1944
 #, c-format
 msgid "SIGTERM received - still %d active connections\n"
 msgstr ""
 
-#: dirmngr/dirmngr.c:1912
+#: dirmngr/dirmngr.c:1949
 #, fuzzy, c-format
 msgid "shutdown forced\n"
 msgstr "nem feldolgozott"
 
-#: dirmngr/dirmngr.c:1920
+#: dirmngr/dirmngr.c:1957
 #, c-format
 msgid "SIGINT received - immediate shutdown\n"
 msgstr ""
 
-#: dirmngr/dirmngr.c:1927
+#: dirmngr/dirmngr.c:1964
 #, c-format
 msgid "signal %d received - no action defined\n"
 msgstr ""
 
-#: dirmngr/dirmngr_ldap.c:138
-msgid "return all values in a record oriented format"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:141
-msgid "|NAME|ignore host part and connect through NAME"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:142
-#, fuzzy
-#| msgid "|NAME|set terminal charset to NAME"
-msgid "|NAME|connect to host NAME"
-msgstr "|NÉV|terminál karakterkódolásának megadása"
-
-#: dirmngr/dirmngr_ldap.c:143
-msgid "|N|connect to port N"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:144
-#, fuzzy
-#| msgid "|NAME|use NAME as default recipient"
-msgid "|NAME|use user NAME for authentication"
-msgstr "|NÉV|NÉV használata alapértelmezett címzettként"
-
-#: dirmngr/dirmngr_ldap.c:145
-msgid "|PASS|use password PASS for authentication"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:147
-msgid "take password from $DIRMNGR_LDAP_PASS"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:148
-msgid "|STRING|query DN STRING"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:149
-msgid "|STRING|use STRING as filter expression"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:150
-msgid "|STRING|return the attribute STRING"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:211
-#, fuzzy
-#| msgid "Usage: gpg [options] [files] (-h for help)"
-msgid "Usage: dirmngr_ldap [options] [URL] (-h for help)\n"
-msgstr "Használat: gpg [opciók] [fájlok] (-h a súgóhoz)"
-
-#: dirmngr/dirmngr_ldap.c:214
-msgid ""
-"Syntax: dirmngr_ldap [options] [URL]\n"
-"Internal LDAP helper for Dirmngr\n"
-"Interface and options may change without notice\n"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:340
-#, fuzzy, c-format
-#| msgid "invalid import options\n"
-msgid "invalid port number %d\n"
-msgstr "Érvénytelen import opciók!\n"
-
-#: dirmngr/dirmngr_ldap.c:456
-#, c-format
-msgid "scanning result for attribute '%s'\n"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:463 dirmngr/dirmngr_ldap.c:546
-#: dirmngr/dirmngr_ldap.c:570 dirmngr/dirmngr_ldap.c:582
-#: dirmngr/dirmngr_ldap.c:720
-#, fuzzy, c-format
-msgid "error writing to stdout: %s\n"
-msgstr "Hiba a \"%s\" kulcskarika írásakor: %s\n"
-
-#: dirmngr/dirmngr_ldap.c:480
-#, c-format
-msgid "          available attribute '%s'\n"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:518
-#, fuzzy, c-format
-msgid "attribute '%s' not found\n"
-msgstr "\"%s\" kulcs nem található: %s\n"
-
-#: dirmngr/dirmngr_ldap.c:525
-#, c-format
-msgid "found attribute '%s'\n"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:634
-#, fuzzy, c-format
-#| msgid "reading from `%s'\n"
-msgid "processing url '%s'\n"
-msgstr "Olvasok a \"%s\" állományból.\n"
-
-#: dirmngr/dirmngr_ldap.c:636
-#, fuzzy, c-format
-#| msgid "          w/o user IDs: %lu\n"
-msgid "          user '%s'\n"
-msgstr "    felh. azonosító nélkül: %lu\n"
-
-#: dirmngr/dirmngr_ldap.c:638
-#, fuzzy, c-format
-msgid "          pass '%s'\n"
-msgstr "               azaz \""
-
-#: dirmngr/dirmngr_ldap.c:640
-#, fuzzy, c-format
-msgid "          host '%s'\n"
-msgstr "               azaz \""
-
-#: dirmngr/dirmngr_ldap.c:641
-#, fuzzy, c-format
-#| msgid "          not imported: %lu\n"
-msgid "          port %d\n"
-msgstr "             nem importált: %lu\n"
-
-#: dirmngr/dirmngr_ldap.c:643
-#, fuzzy, c-format
-msgid "            DN '%s'\n"
-msgstr "               azaz \""
-
-#: dirmngr/dirmngr_ldap.c:645
-#, c-format
-msgid "        filter '%s'\n"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:650 dirmngr/dirmngr_ldap.c:653
-#, fuzzy, c-format
-msgid "          attr '%s'\n"
-msgstr "               azaz \""
-
-#: dirmngr/dirmngr_ldap.c:659
-#, fuzzy, c-format
-msgid "no host name in '%s'\n"
-msgstr "(Nincs leírás.)\n"
-
-#: dirmngr/dirmngr_ldap.c:664
-#, c-format
-msgid "no attribute given for query '%s'\n"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:670
-#, fuzzy, c-format
-#| msgid "WARNING: using insecure memory!\n"
-msgid "WARNING: using first attribute only\n"
-msgstr "FIGYELEM: Nem biztonságos memóriát használunk!\n"
-
-#: dirmngr/dirmngr_ldap.c:679
-#, fuzzy, c-format
-msgid "LDAP init to '%s:%d' failed: %s\n"
-msgstr "Páncélozás nem sikerült: %s\n"
-
-#: dirmngr/dirmngr_ldap.c:702
-#, fuzzy, c-format
-msgid "binding to '%s:%d' failed: %s\n"
-msgstr "Páncélozás nem sikerült: %s\n"
-
-#: dirmngr/dirmngr_ldap.c:729
-#, fuzzy, c-format
-#| msgid "dearmoring failed: %s\n"
-msgid "searching '%s' failed: %s\n"
-msgstr "Páncél eltávolítása nem sikerült: %s\n"
-
-#: dirmngr/dirmngr_ldap.c:761
-#, fuzzy, c-format
-msgid "'%s' is not an LDAP URL\n"
-msgstr "\"%s\" nem JPEG állomány.\n"
-
-#: dirmngr/dirmngr_ldap.c:767
-#, c-format
-msgid "'%s' is an invalid LDAP URL\n"
-msgstr ""
-
-#: dirmngr/http.c:1987 dirmngr/ocsp.c:255
+#: dirmngr/http.c:1993 dirmngr/ocsp.c:255
 #, fuzzy, c-format
 msgid "error accessing '%s': http status %u\n"
 msgstr "Hiba \"%s\" olvasásakor: %s\n"
 
-#: dirmngr/http.c:3629 dirmngr/ocsp.c:229
+#: dirmngr/http.c:3644 dirmngr/ocsp.c:229
 #, c-format
 msgid "URL '%s' redirected to '%s' (%u)\n"
 msgstr ""
 
-#: dirmngr/http.c:3635 dirmngr/ocsp.c:246
+#: dirmngr/http.c:3650 dirmngr/ocsp.c:246
 #, fuzzy, c-format
 msgid "too many redirections\n"
 msgstr "Túl sok \"%c\" preferencia.\n"
 
-#: dirmngr/http.c:3747
+#: dirmngr/http.c:3762
 #, fuzzy, c-format
 #| msgid "writing to `%s'\n"
 msgid "redirection changed to '%s'\n"
@@ -10700,31 +10534,51 @@ msgstr "Frissítés sikertelen: %s.\n"
 msgid "ldap wrapper %d stalled - killing\n"
 msgstr ""
 
-#: dirmngr/ldap.c:91
+#: dirmngr/ldap.c:92
 #, c-format
 msgid "invalid char 0x%02x in host name - not added\n"
 msgstr ""
 
-#: dirmngr/ldap.c:95
+#: dirmngr/ldap.c:96
 #, fuzzy, c-format
 msgid "adding '%s:%d' to the ldap server list\n"
 msgstr "Keresem \"%s\"-t a %s HKP szerveren.\n"
 
-#: dirmngr/ldap.c:98 dirmngr/misc.c:512
+#: dirmngr/ldap.c:99 dirmngr/misc.c:512
 #, fuzzy, c-format
 msgid "malloc failed: %s\n"
 msgstr "A kulcsblokk törlése sikertelen: %s.\n"
 
-#: dirmngr/ldap.c:627
+#: dirmngr/ldap.c:221
+#, fuzzy, c-format
+msgid "'%s' is not an LDAP URL\n"
+msgstr "\"%s\" nem JPEG állomány.\n"
+
+#: dirmngr/ldap.c:227 dirmngr/ldap.c:233
 #, c-format
-msgid "start_cert_fetch: invalid pattern '%s'\n"
+msgid "'%s' is an invalid LDAP URL\n"
 msgstr ""
 
-#: dirmngr/ldap.c:839
+#: dirmngr/ldap.c:969
 #, c-format
 msgid "ldap_search hit the size limit of the server\n"
 msgstr ""
 
+#: dirmngr/ldapserver.c:117
+#, c-format
+msgid "%s:%u: password given without user\n"
+msgstr ""
+
+#: dirmngr/ldapserver.c:181
+#, c-format
+msgid "%s:%u: ignoring unknown flag '%s'\n"
+msgstr ""
+
+#: dirmngr/ldapserver.c:203
+#, fuzzy, c-format
+msgid "%s:%u: skipping this line\n"
+msgstr " h = kulcs kihagyása\n"
+
 #: dirmngr/misc.c:172
 #, fuzzy, c-format
 #| msgid "%s: invalid file version %d\n"
@@ -10908,72 +10762,68 @@ msgstr ""
 msgid "assuan_inquire(%s) failed: %s\n"
 msgstr "Aláírás sikertelen: %s\n"
 
-#: dirmngr/server.c:1158
-msgid "ldapserver missing"
-msgstr ""
-
-#: dirmngr/server.c:1224
+#: dirmngr/server.c:1277
 msgid "serialno missing in cert ID"
 msgstr ""
 
-#: dirmngr/server.c:1387 dirmngr/server.c:1473 dirmngr/server.c:1909
-#: dirmngr/server.c:1980 dirmngr/server.c:2552 dirmngr/server.c:2567
+#: dirmngr/server.c:1440 dirmngr/server.c:1526 dirmngr/server.c:1963
+#: dirmngr/server.c:2034 dirmngr/server.c:2662 dirmngr/server.c:2677
 #, fuzzy, c-format
 msgid "assuan_inquire failed: %s\n"
 msgstr "Aláírás sikertelen: %s\n"
 
-#: dirmngr/server.c:1516
+#: dirmngr/server.c:1569
 #, fuzzy, c-format
 msgid "fetch_cert_by_url failed: %s\n"
 msgstr "A kulcsblokk törlése sikertelen: %s.\n"
 
-#: dirmngr/server.c:1528 dirmngr/server.c:1559 dirmngr/server.c:1718
+#: dirmngr/server.c:1581 dirmngr/server.c:1612 dirmngr/server.c:1772
 #, fuzzy, c-format
 msgid "error sending data: %s\n"
 msgstr "Hiba %s-ra/-re küldéskor: %s\n"
 
-#: dirmngr/server.c:1666
+#: dirmngr/server.c:1720
 #, fuzzy, c-format
 msgid "start_cert_fetch failed: %s\n"
 msgstr "A kulcsblokk törlése sikertelen: %s.\n"
 
-#: dirmngr/server.c:1699
+#: dirmngr/server.c:1753
 #, fuzzy, c-format
 msgid "fetch_next_cert failed: %s\n"
 msgstr "A kulcsblokk törlése sikertelen: %s.\n"
 
-#: dirmngr/server.c:1726
+#: dirmngr/server.c:1780
 #, c-format
 msgid "max_replies %d exceeded\n"
 msgstr ""
 
-#: dirmngr/server.c:2856
+#: dirmngr/server.c:2966
 #, fuzzy, c-format
 msgid "can't allocate control structure: %s\n"
 msgstr "Nem tudom létrehozni a(z) \"%s\" állományt: %s.\n"
 
-#: dirmngr/server.c:2867
+#: dirmngr/server.c:2977
 #, fuzzy, c-format
 msgid "failed to allocate assuan context: %s\n"
 msgstr "%s: Hashtábla létrehozása sikertelen: %s.\n"
 
-#: dirmngr/server.c:2888
+#: dirmngr/server.c:2998
 #, fuzzy, c-format
 #| msgid "failed to initialize the TrustDB: %s\n"
 msgid "failed to initialize the server: %s\n"
 msgstr "Bizalmi adatbázis (%s) inicializálása sikertelen!\n"
 
-#: dirmngr/server.c:2896
+#: dirmngr/server.c:3006
 #, fuzzy, c-format
 msgid "failed to the register commands with Assuan: %s\n"
 msgstr "Nem tudtam újraépíteni a kulcskarika cache-ét: %s\n"
 
-#: dirmngr/server.c:2929
+#: dirmngr/server.c:3039
 #, c-format
 msgid "Assuan accept problem: %s\n"
 msgstr ""
 
-#: dirmngr/server.c:2948
+#: dirmngr/server.c:3058
 #, fuzzy, c-format
 #| msgid "signing failed: %s\n"
 msgid "Assuan processing failed: %s\n"
@@ -11114,21 +10964,21 @@ msgid "error sending standard options: %s\n"
 msgstr "Hiba %s-ra/-re küldéskor: %s\n"
 
 #: tools/gpgconf-comp.c:481 tools/gpgconf-comp.c:617 tools/gpgconf-comp.c:692
-#: tools/gpgconf-comp.c:804 tools/gpgconf-comp.c:906
+#: tools/gpgconf-comp.c:808 tools/gpgconf-comp.c:910
 msgid "Options controlling the diagnostic output"
 msgstr ""
 
 #: tools/gpgconf-comp.c:494 tools/gpgconf-comp.c:630 tools/gpgconf-comp.c:705
-#: tools/gpgconf-comp.c:817 tools/gpgconf-comp.c:929
+#: tools/gpgconf-comp.c:821 tools/gpgconf-comp.c:933
 msgid "Options controlling the configuration"
 msgstr ""
 
-#: tools/gpgconf-comp.c:517 tools/gpgconf-comp.c:659 tools/gpgconf-comp.c:736
-#: tools/gpgconf-comp.c:849 tools/gpgconf-comp.c:942
+#: tools/gpgconf-comp.c:517 tools/gpgconf-comp.c:659 tools/gpgconf-comp.c:740
+#: tools/gpgconf-comp.c:853 tools/gpgconf-comp.c:946
 msgid "Options useful for debugging"
 msgstr ""
 
-#: tools/gpgconf-comp.c:530 tools/gpgconf-comp.c:669 tools/gpgconf-comp.c:862
+#: tools/gpgconf-comp.c:530 tools/gpgconf-comp.c:669 tools/gpgconf-comp.c:866
 msgid "Options controlling the security"
 msgstr ""
 
@@ -11178,11 +11028,11 @@ msgstr "Hiba a jelszó létrehozásakor: %s.\n"
 msgid "|N|set the Pinentry timeout to N seconds"
 msgstr ""
 
-#: tools/gpgconf-comp.c:707 tools/gpgconf-comp.c:819
+#: tools/gpgconf-comp.c:707 tools/gpgconf-comp.c:823
 msgid "|NAME|use NAME as default secret key"
 msgstr "|NÉV|NÉV használata alapértelmezett titkos kulcsként"
 
-#: tools/gpgconf-comp.c:710 tools/gpgconf-comp.c:822
+#: tools/gpgconf-comp.c:710 tools/gpgconf-comp.c:826
 #, fuzzy
 msgid "|NAME|encrypt to user ID NAME as well"
 msgstr "|NÉV|titkosítás NÉV részére"
@@ -11191,137 +11041,137 @@ msgstr "|NÉV|titkosítás NÉV részére"
 msgid "|SPEC|set up email aliases"
 msgstr ""
 
-#: tools/gpgconf-comp.c:749 tools/gpgconf-comp.c:981
+#: tools/gpgconf-comp.c:753 tools/gpgconf-comp.c:985
 msgid "Configuration for Keyservers"
 msgstr ""
 
-#: tools/gpgconf-comp.c:751 tools/gpgconf-comp.c:983
+#: tools/gpgconf-comp.c:755 tools/gpgconf-comp.c:987
 #, fuzzy
 msgid "|URL|use keyserver at URL"
 msgstr "Értelmezhetetlen a kulcsszerver URI-ja!\n"
 
-#: tools/gpgconf-comp.c:754
+#: tools/gpgconf-comp.c:758
 msgid "allow PKA lookups (DNS requests)"
 msgstr ""
 
-#: tools/gpgconf-comp.c:757
+#: tools/gpgconf-comp.c:761
 msgid "|MECHANISMS|use MECHANISMS to locate keys by mail address"
 msgstr ""
 
-#: tools/gpgconf-comp.c:760
+#: tools/gpgconf-comp.c:764
 #, fuzzy
 #| msgid "import keys from a keyserver"
 msgid "import missing key from a signature"
 msgstr "kulcsok importálása kulcsszerverről"
 
-#: tools/gpgconf-comp.c:763
+#: tools/gpgconf-comp.c:767
 #, fuzzy
 msgid "include the public key in signatures"
 msgstr "kulcsaláírások ellenőrzése"
 
-#: tools/gpgconf-comp.c:770 tools/gpgconf-comp.c:831
+#: tools/gpgconf-comp.c:774 tools/gpgconf-comp.c:835
 msgid "disable all access to the dirmngr"
 msgstr ""
 
-#: tools/gpgconf-comp.c:834
+#: tools/gpgconf-comp.c:838
 #, fuzzy
 msgid "|NAME|use encoding NAME for PKCS#12 passphrases"
 msgstr "|NÉV|NÉV rejtjelező algoritmus haszn. jelszavakhoz"
 
-#: tools/gpgconf-comp.c:870
+#: tools/gpgconf-comp.c:874
 msgid "do not check CRLs for root certificates"
 msgstr ""
 
-#: tools/gpgconf-comp.c:919
+#: tools/gpgconf-comp.c:923
 msgid "Options controlling the format of the output"
 msgstr ""
 
-#: tools/gpgconf-comp.c:961
+#: tools/gpgconf-comp.c:965
 msgid "Options controlling the interactivity and enforcement"
 msgstr ""
 
-#: tools/gpgconf-comp.c:974
+#: tools/gpgconf-comp.c:978
 msgid "Options controlling the use of Tor"
 msgstr ""
 
-#: tools/gpgconf-comp.c:988
+#: tools/gpgconf-comp.c:992
 msgid "Configuration for HTTP servers"
 msgstr ""
 
-#: tools/gpgconf-comp.c:999
+#: tools/gpgconf-comp.c:1003
 msgid "use system's HTTP proxy setting"
 msgstr ""
 
-#: tools/gpgconf-comp.c:1004
+#: tools/gpgconf-comp.c:1008
 msgid "Configuration of LDAP servers to use"
 msgstr ""
 
-#: tools/gpgconf-comp.c:1033
+#: tools/gpgconf-comp.c:1037
 msgid "LDAP server list"
 msgstr ""
 
-#: tools/gpgconf-comp.c:1041
+#: tools/gpgconf-comp.c:1045
 msgid "Configuration for OCSP"
 msgstr ""
 
-#: tools/gpgconf-comp.c:1094
+#: tools/gpgconf-comp.c:1098
 msgid "OpenPGP"
 msgstr ""
 
-#: tools/gpgconf-comp.c:1095
+#: tools/gpgconf-comp.c:1099
 msgid "Private Keys"
 msgstr ""
 
-#: tools/gpgconf-comp.c:1096
+#: tools/gpgconf-comp.c:1100
 msgid "Smartcards"
 msgstr ""
 
-#: tools/gpgconf-comp.c:1097
+#: tools/gpgconf-comp.c:1101
 msgid "S/MIME"
 msgstr ""
 
-#: tools/gpgconf-comp.c:1098
+#: tools/gpgconf-comp.c:1102
 #, fuzzy
 #| msgid "network error"
 msgid "Network"
 msgstr "hálózati hiba"
 
-#: tools/gpgconf-comp.c:1099
+#: tools/gpgconf-comp.c:1103
 #, fuzzy
 msgid "Passphrase Entry"
 msgstr "rossz jelszó"
 
-#: tools/gpgconf-comp.c:1278
+#: tools/gpgconf-comp.c:1282
 #, fuzzy
 msgid "Component not suitable for launching"
 msgstr "nyilvános kulcs nem található"
 
-#: tools/gpgconf-comp.c:1284
+#: tools/gpgconf-comp.c:1288
 #, c-format
 msgid "Configuration file of component %s is broken\n"
 msgstr ""
 
-#: tools/gpgconf-comp.c:1287
+#: tools/gpgconf-comp.c:1291
 #, fuzzy, c-format
 #| msgid "Please use the command \"toggle\" first.\n"
 msgid "Note: Use the command \"%s%s\" to get details.\n"
 msgstr "Kérem, használja előbb a \"toggle\" parancsot!\n"
 
-#: tools/gpgconf-comp.c:3446
+#: tools/gpgconf-comp.c:3454
 #, c-format
 msgid "External verification of component %s failed"
 msgstr ""
 
-#: tools/gpgconf-comp.c:3597
+#: tools/gpgconf-comp.c:3605
 msgid "Note that group specifications are ignored\n"
 msgstr ""
 
-#: tools/gpgconf-comp.c:4195
+#: tools/gpgconf-comp.c:4203
 #, fuzzy, c-format
 msgid "error closing '%s'\n"
 msgstr "Hiba \"%s\" olvasásakor: %s\n"
 
-#: tools/gpgconf-comp.c:4197
+#: tools/gpgconf-comp.c:4205
 #, fuzzy, c-format
 msgid "error parsing '%s'\n"
 msgstr "Hiba \"%s\" olvasásakor: %s\n"
@@ -11431,6 +11281,99 @@ msgid ""
 msgstr ""
 
 #, fuzzy
+#~ msgid "requesting key %s from %s server %s\n"
+#~ msgstr "Lekérem a %08lX kulcsot a %s kulcsszerverről.\n"
+
+#, fuzzy
+#~ msgid "%s:%u: no hostname given\n"
+#~ msgstr "(Nincs leírás.)\n"
+
+#, fuzzy
+#~ msgid "could not parse keyserver\n"
+#~ msgstr "Értelmezhetetlen a kulcsszerver URI-ja!\n"
+
+#, fuzzy
+#~| msgid "|NAME|set terminal charset to NAME"
+#~ msgid "|NAME|connect to host NAME"
+#~ msgstr "|NÉV|terminál karakterkódolásának megadása"
+
+#, fuzzy
+#~| msgid "|NAME|use NAME as default recipient"
+#~ msgid "|NAME|use user NAME for authentication"
+#~ msgstr "|NÉV|NÉV használata alapértelmezett címzettként"
+
+#, fuzzy
+#~| msgid "Usage: gpg [options] [files] (-h for help)"
+#~ msgid "Usage: dirmngr_ldap [options] [URL] (-h for help)\n"
+#~ msgstr "Használat: gpg [opciók] [fájlok] (-h a súgóhoz)"
+
+#, fuzzy
+#~| msgid "invalid import options\n"
+#~ msgid "invalid port number %d\n"
+#~ msgstr "Érvénytelen import opciók!\n"
+
+#, fuzzy
+#~ msgid "error writing to stdout: %s\n"
+#~ msgstr "Hiba a \"%s\" kulcskarika írásakor: %s\n"
+
+#, fuzzy
+#~ msgid "attribute '%s' not found\n"
+#~ msgstr "\"%s\" kulcs nem található: %s\n"
+
+#, fuzzy
+#~| msgid "reading from `%s'\n"
+#~ msgid "processing url '%s'\n"
+#~ msgstr "Olvasok a \"%s\" állományból.\n"
+
+#, fuzzy
+#~| msgid "          w/o user IDs: %lu\n"
+#~ msgid "          user '%s'\n"
+#~ msgstr "    felh. azonosító nélkül: %lu\n"
+
+#, fuzzy
+#~ msgid "          pass '%s'\n"
+#~ msgstr "               azaz \""
+
+#, fuzzy
+#~ msgid "          host '%s'\n"
+#~ msgstr "               azaz \""
+
+#, fuzzy
+#~| msgid "          not imported: %lu\n"
+#~ msgid "          port %d\n"
+#~ msgstr "             nem importált: %lu\n"
+
+#, fuzzy
+#~ msgid "            DN '%s'\n"
+#~ msgstr "               azaz \""
+
+#, fuzzy
+#~ msgid "          attr '%s'\n"
+#~ msgstr "               azaz \""
+
+#, fuzzy
+#~ msgid "no host name in '%s'\n"
+#~ msgstr "(Nincs leírás.)\n"
+
+#, fuzzy
+#~| msgid "WARNING: using insecure memory!\n"
+#~ msgid "WARNING: using first attribute only\n"
+#~ msgstr "FIGYELEM: Nem biztonságos memóriát használunk!\n"
+
+#, fuzzy
+#~ msgid "LDAP init to '%s:%d' failed: %s\n"
+#~ msgstr "Páncélozás nem sikerült: %s\n"
+
+#, fuzzy
+#~ msgid "binding to '%s:%d' failed: %s\n"
+#~ msgstr "Páncélozás nem sikerült: %s\n"
+
+#, fuzzy
+#~| msgid "dearmoring failed: %s\n"
+#~ msgid "searching '%s' failed: %s\n"
+#~ msgstr "Páncél eltávolítása nem sikerült: %s\n"
+
+#, fuzzy
 #~| msgid "NOTE: old default options file `%s' ignored\n"
 #~ msgid "Note: old default options file '%s' ignored\n"
 #~ msgstr "MEGJEGYZÉS: Figyelmen kívül hagytam a régi opciókat (%s).\n"
index 149971e..7200ebb 100644 (file)
--- a/po/id.po
+++ b/po/id.po
@@ -10,7 +10,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: gnupg-id\n"
 "Report-Msgid-Bugs-To: translations@gnupg.org\n"
-"POT-Creation-Date: 2021-01-11 18:47+0100\n"
+"POT-Creation-Date: 2021-06-10 18:59+0200\n"
 "PO-Revision-Date: 2004-06-17 16:32+0700\n"
 "Last-Translator: Tedi Heriyanto <tedi_h@gmx.net>\n"
 "Language-Team: Indonesian <translation-team-id@lists.sourceforge.net>\n"
@@ -110,7 +110,7 @@ msgid "Passphrase:"
 msgstr "passphrase yang buruk"
 
 #: agent/call-pinentry.c:1107 agent/call-pinentry.c:1359
-#: agent/command-ssh.c:3130 agent/genkey.c:416
+#: agent/command-ssh.c:3140 agent/genkey.c:416
 msgid "does not match - try again"
 msgstr ""
 
@@ -165,34 +165,34 @@ msgstr "passphrase yang buruk"
 msgid "ssh keys greater than %d bits are not supported\n"
 msgstr "algoritma proteksi %d%s tidak didukung\n"
 
-#: agent/command-ssh.c:862 common/dotlock.c:852 g10/card-util.c:932
-#: g10/exec.c:546 g10/export.c:1320 g10/gpg.c:1352 g10/keygen.c:4998
-#: g10/keyring.c:1322 g10/keyring.c:1637 g10/openfile.c:291 g10/sign.c:1009
-#: g10/sign.c:1323 g10/tdbio.c:753
+#: agent/command-ssh.c:862 common/dotlock.c:852 g10/card-util.c:933
+#: g10/exec.c:554 g10/export.c:1320 g10/gpg.c:1360 g10/keygen.c:4998
+#: g10/keyring.c:1322 g10/keyring.c:1637 g10/openfile.c:291 g10/sign.c:1008
+#: g10/sign.c:1322 g10/tdbio.c:753
 #, fuzzy, c-format
 #| msgid "can't create `%s': %s\n"
 msgid "can't create '%s': %s\n"
 msgstr "tidak dapat membuat %s: %s\n"
 
-#: agent/command-ssh.c:874 common/helpfile.c:57 g10/card-util.c:889
+#: agent/command-ssh.c:874 common/helpfile.c:57 g10/card-util.c:890
 #: g10/dearmor.c:59 g10/dearmor.c:106 g10/decrypt.c:65 g10/decrypt.c:136
-#: g10/decrypt.c:153 g10/encrypt.c:180 g10/encrypt.c:543 g10/gpg.c:1353
-#: g10/import.c:352 g10/import.c:536 g10/import.c:764 g10/keygen.c:4036
+#: g10/decrypt.c:153 g10/encrypt.c:180 g10/encrypt.c:543 g10/gpg.c:1361
+#: g10/import.c:364 g10/import.c:548 g10/import.c:776 g10/keygen.c:4036
 #: g10/keyring.c:1663 g10/openfile.c:195 g10/openfile.c:209 g10/plaintext.c:128
-#: g10/plaintext.c:649 g10/sign.c:991 g10/sign.c:1202 g10/sign.c:1307
-#: g10/sign.c:1452 g10/tdbdump.c:143 g10/tdbdump.c:151 g10/tdbio.c:758
-#: g10/tdbio.c:829 g10/verify.c:96 g10/verify.c:160 sm/gpgsm.c:2219
-#: sm/gpgsm.c:2249 sm/gpgsm.c:2287 sm/qualified.c:66 dirmngr/certcache.c:396
+#: g10/plaintext.c:649 g10/sign.c:990 g10/sign.c:1201 g10/sign.c:1306
+#: g10/sign.c:1451 g10/tdbdump.c:143 g10/tdbdump.c:151 g10/tdbio.c:758
+#: g10/tdbio.c:829 g10/verify.c:96 g10/verify.c:160 sm/gpgsm.c:2125
+#: sm/gpgsm.c:2155 sm/gpgsm.c:2193 sm/qualified.c:66 dirmngr/certcache.c:396
 #: dirmngr/certcache.c:476 dirmngr/certcache.c:478 dirmngr/crlcache.c:2588
-#: dirmngr/dirmngr.c:1722
+#: dirmngr/dirmngr.c:1759
 #, fuzzy, c-format
 #| msgid "can't open `%s': %s\n"
 msgid "can't open '%s': %s\n"
 msgstr "tidak dapat membuka `%s': %s\n"
 
 #: agent/command-ssh.c:2385 agent/command-ssh.c:2431 agent/command-ssh.c:2449
-#: agent/command-ssh.c:2601 g10/card-util.c:687 g10/card-util.c:708
-#: g10/skclist.c:430
+#: agent/command-ssh.c:2601 g10/card-util.c:688 g10/card-util.c:709
+#: g10/skclist.c:435
 #, fuzzy, c-format
 msgid "error getting serial number of card: %s\n"
 msgstr "kesalahan penciptaan passphrase: %s\n"
@@ -217,39 +217,39 @@ msgstr "tidak ditemukan keyring rahasia yang dapat ditulisi: %s\n"
 msgid "error getting list of cards: %s\n"
 msgstr "kesalahan penciptaan passphrase: %s\n"
 
-#: agent/command-ssh.c:2765
+#: agent/command-ssh.c:2775
 #, c-format
 msgid ""
 "An ssh process requested the use of key%%0A  %s%%0A  (%s)%%0ADo you want to "
 "allow this?"
 msgstr ""
 
-#: agent/command-ssh.c:2772
+#: agent/command-ssh.c:2782
 msgid "Allow"
 msgstr ""
 
-#: agent/command-ssh.c:2772
+#: agent/command-ssh.c:2782
 msgid "Deny"
 msgstr ""
 
-#: agent/command-ssh.c:2781
+#: agent/command-ssh.c:2791
 #, fuzzy, c-format
 msgid "Please enter the passphrase for the ssh key%%0A  %F%%0A  (%c)"
 msgstr "Silakan masukkan passphrase; ini kalimat rahasia\n"
 
-#: agent/command-ssh.c:3058 agent/genkey.c:351
+#: agent/command-ssh.c:3068 agent/genkey.c:351
 #, fuzzy
 msgid "Please re-enter this passphrase"
 msgstr "ubah passphrase"
 
-#: agent/command-ssh.c:3085
+#: agent/command-ssh.c:3095
 #, fuzzy, c-format
 msgid ""
 "Please enter a passphrase to protect the received secret key%%0A   %s%%0A   "
 "%s%%0Awithin gpg-agent's key storage"
 msgstr "Silakan masukkan passphrase; ini kalimat rahasia\n"
 
-#: agent/command-ssh.c:3667
+#: agent/command-ssh.c:3677
 #, fuzzy, c-format
 msgid "failed to create stream from socket: %s\n"
 msgstr "%s: gagal membuat hashtable: %s\n"
@@ -404,48 +404,46 @@ msgstr ""
 "Pilihan:\n"
 "  "
 
-#: agent/gpg-agent.c:165 scd/scdaemon.c:120 dirmngr/dirmngr.c:166
+#: agent/gpg-agent.c:165 scd/scdaemon.c:120 dirmngr/dirmngr.c:167
 msgid "run in daemon mode (background)"
 msgstr ""
 
-#: agent/gpg-agent.c:166 scd/scdaemon.c:117 dirmngr/dirmngr.c:165
+#: agent/gpg-agent.c:166 scd/scdaemon.c:117 dirmngr/dirmngr.c:166
 msgid "run in server mode (foreground)"
 msgstr ""
 
-#: agent/gpg-agent.c:168 dirmngr/dirmngr.c:168
+#: agent/gpg-agent.c:168 dirmngr/dirmngr.c:169
 #, fuzzy
 #| msgid "Key is superseded"
 msgid "run in supervised mode"
 msgstr "Kunci dilampaui"
 
-#: agent/gpg-agent.c:170 g10/gpg.c:608 g10/gpgv.c:78 kbx/kbxutil.c:88
-#: scd/scdaemon.c:121 sm/gpgsm.c:310 dirmngr/dirmngr-client.c:70
-#: dirmngr/dirmngr.c:181 dirmngr/dirmngr_ldap.c:135
-#: tools/gpg-connect-agent.c:78 tools/gpgconf.c:108
+#: agent/gpg-agent.c:170 g10/gpg.c:605 g10/gpgv.c:78 kbx/kbxutil.c:88
+#: scd/scdaemon.c:121 sm/gpgsm.c:311 dirmngr/dirmngr-client.c:70
+#: dirmngr/dirmngr.c:182 tools/gpg-connect-agent.c:78 tools/gpgconf.c:108
 msgid "verbose"
 msgstr "detil"
 
 #: agent/gpg-agent.c:171 g10/gpgv.c:79 kbx/kbxutil.c:89 scd/scdaemon.c:122
-#: sm/gpgsm.c:311 dirmngr/dirmngr-client.c:71 dirmngr/dirmngr.c:182
-#: dirmngr/dirmngr_ldap.c:136
+#: sm/gpgsm.c:312 dirmngr/dirmngr-client.c:71 dirmngr/dirmngr.c:183
 msgid "be somewhat more quiet"
 msgstr "lebih diam"
 
-#: agent/gpg-agent.c:172 scd/scdaemon.c:123 dirmngr/dirmngr.c:183
+#: agent/gpg-agent.c:172 scd/scdaemon.c:123 dirmngr/dirmngr.c:184
 msgid "sh-style command output"
 msgstr ""
 
-#: agent/gpg-agent.c:173 scd/scdaemon.c:124 dirmngr/dirmngr.c:184
+#: agent/gpg-agent.c:173 scd/scdaemon.c:124 dirmngr/dirmngr.c:185
 msgid "csh-style command output"
 msgstr ""
 
-#: agent/gpg-agent.c:174 scd/scdaemon.c:125 sm/gpgsm.c:341
-#: dirmngr/dirmngr.c:185
+#: agent/gpg-agent.c:174 scd/scdaemon.c:125 sm/gpgsm.c:344
+#: dirmngr/dirmngr.c:186
 #, fuzzy
 msgid "|FILE|read options from FILE"
 msgstr "|FILE|muat modul ekstensi FILE"
 
-#: agent/gpg-agent.c:183 scd/scdaemon.c:135 dirmngr/dirmngr.c:188
+#: agent/gpg-agent.c:183 scd/scdaemon.c:135 dirmngr/dirmngr.c:189
 msgid "do not detach from the console"
 msgstr ""
 
@@ -531,9 +529,9 @@ msgstr "tidak didukung"
 #. reporting address.  This is so that we can change the
 #. reporting address without breaking the translations.
 #: agent/gpg-agent.c:531 agent/preset-passphrase.c:100 agent/protect-tool.c:155
-#: g10/gpg.c:1070 g10/gpgv.c:149 kbx/kbxutil.c:113 scd/scdaemon.c:298
-#: sm/gpgsm.c:567 dirmngr/dirmngr-client.c:168 dirmngr/dirmngr.c:404
-#: dirmngr/dirmngr_ldap.c:207 tools/gpg-connect-agent.c:205 tools/gpgconf.c:146
+#: g10/gpg.c:1074 g10/gpgv.c:149 kbx/kbxutil.c:113 scd/scdaemon.c:299
+#: sm/gpgsm.c:570 dirmngr/dirmngr-client.c:168 dirmngr/dirmngr.c:412
+#: tools/gpg-connect-agent.c:205 tools/gpgconf.c:146
 #: tools/gpg-check-pattern.c:143
 #, fuzzy
 msgid "Please report bugs to <@EMAIL@>.\n"
@@ -550,39 +548,39 @@ msgid ""
 "Secret key management for @GNUPG@\n"
 msgstr ""
 
-#: agent/gpg-agent.c:587 g10/gpg.c:1262 scd/scdaemon.c:370 sm/gpgsm.c:715
-#: dirmngr/dirmngr.c:488
+#: agent/gpg-agent.c:587 g10/gpg.c:1270 scd/scdaemon.c:371 sm/gpgsm.c:718
+#: dirmngr/dirmngr.c:496
 #, c-format
 msgid "invalid debug-level '%s' given\n"
 msgstr ""
 
-#: agent/gpg-agent.c:945 g10/gpg.c:3753 g10/gpg.c:3777 sm/gpgsm.c:1631
-#: sm/gpgsm.c:1637
+#: agent/gpg-agent.c:945 g10/gpg.c:3773 g10/gpg.c:3797 sm/gpgsm.c:1531
+#: sm/gpgsm.c:1537
 #, c-format
 msgid "selected digest algorithm is invalid\n"
 msgstr "algoritma digest yang dipilih tidak valid\n"
 
 #: agent/gpg-agent.c:1168 agent/gpg-agent.c:2023 common/argparse.c:1755
-#: common/argparse.c:1847 g10/gpg.c:2482 scd/scdaemon.c:532 sm/gpgsm.c:1063
-#: dirmngr/dirmngr.c:956 dirmngr/dirmngr.c:1841
+#: common/argparse.c:1847 g10/gpg.c:2495 scd/scdaemon.c:533 sm/gpgsm.c:977
+#: dirmngr/dirmngr.c:994 dirmngr/dirmngr.c:1878
 #, fuzzy, c-format
 #| msgid "reading options from `%s'\n"
 msgid "reading options from '%s'\n"
 msgstr "membaca pilihan dari `%s'\n"
 
-#: agent/gpg-agent.c:1300 g10/gpg.c:3704 scd/scdaemon.c:655 sm/gpgsm.c:1571
-#: dirmngr/dirmngr.c:1067 tools/gpg-connect-agent.c:1244 tools/gpgconf.c:624
+#: agent/gpg-agent.c:1300 g10/gpg.c:3724 scd/scdaemon.c:657 sm/gpgsm.c:1471
+#: dirmngr/dirmngr.c:1102 tools/gpg-connect-agent.c:1244 tools/gpgconf.c:624
 #, fuzzy, c-format
 #| msgid "WARNING: \"%s\" is a deprecated option\n"
 msgid "Note: '%s' is not considered an option\n"
 msgstr "WARNING: \"%s\" adalah opsi terdepresiasi\n"
 
-#: agent/gpg-agent.c:2159 scd/scdaemon.c:1096 dirmngr/dirmngr.c:1219
+#: agent/gpg-agent.c:2159 scd/scdaemon.c:1098 dirmngr/dirmngr.c:1256
 #, fuzzy, c-format
 msgid "can't create socket: %s\n"
 msgstr "tidak dapat membuat %s: %s\n"
 
-#: agent/gpg-agent.c:2176 scd/scdaemon.c:1109 dirmngr/dirmngr.c:1232
+#: agent/gpg-agent.c:2176 scd/scdaemon.c:1111 dirmngr/dirmngr.c:1269
 #, c-format
 msgid "socket name '%s' is too long\n"
 msgstr ""
@@ -592,29 +590,29 @@ msgstr ""
 msgid "a gpg-agent is already running - not starting a new one\n"
 msgstr "gpg-agent tidak tersedia untuk sesi ini\n"
 
-#: agent/gpg-agent.c:2226 scd/scdaemon.c:1133 dirmngr/dirmngr.c:1264
+#: agent/gpg-agent.c:2226 scd/scdaemon.c:1135 dirmngr/dirmngr.c:1301
 #, fuzzy, c-format
 msgid "error getting nonce for the socket\n"
 msgstr "kesalahan penciptaan passphrase: %s\n"
 
-#: agent/gpg-agent.c:2231 scd/scdaemon.c:1136 dirmngr/dirmngr.c:1267
+#: agent/gpg-agent.c:2231 scd/scdaemon.c:1138 dirmngr/dirmngr.c:1304
 #, fuzzy, c-format
 msgid "error binding socket to '%s': %s\n"
 msgstr "kesalahan mengirim ke `%s': %s\n"
 
 #: agent/gpg-agent.c:2242 agent/gpg-agent.c:2282 agent/gpg-agent.c:2291
-#: scd/scdaemon.c:1144 dirmngr/dirmngr.c:1276
+#: scd/scdaemon.c:1146 dirmngr/dirmngr.c:1313
 #, fuzzy, c-format
 msgid "can't set permissions of '%s': %s\n"
 msgstr "Peringatan: permisi tidak aman pada %s \"%s\"\n"
 
-#: agent/gpg-agent.c:2256 scd/scdaemon.c:1156 dirmngr/dirmngr.c:1288
+#: agent/gpg-agent.c:2256 scd/scdaemon.c:1158 dirmngr/dirmngr.c:1325
 #, fuzzy, c-format
 msgid "listening on socket '%s'\n"
 msgstr "menulis kunci rahasia ke `%s'\n"
 
 #: agent/gpg-agent.c:2276 agent/gpg-agent.c:2329 common/homedir.c:517
-#: g10/exec.c:261 g10/openfile.c:397
+#: g10/exec.c:269 g10/openfile.c:397
 #, fuzzy, c-format
 #| msgid "can't create directory `%s': %s\n"
 msgid "can't create directory '%s': %s\n"
@@ -636,7 +634,7 @@ msgstr "trustdb: read failed (n=%d): %s\n"
 msgid "can't use '%s' as home directory\n"
 msgstr "%s: tidak dapat membuat direktori: %s\n"
 
-#: agent/gpg-agent.c:2502 scd/scdaemon.c:1172 dirmngr/dirmngr.c:2047
+#: agent/gpg-agent.c:2502 scd/scdaemon.c:1174 dirmngr/dirmngr.c:2084
 #, fuzzy, c-format
 msgid "error reading nonce on fd %d: %s\n"
 msgstr "kesalahan membaca `%s': %s\n"
@@ -661,12 +659,12 @@ msgstr ""
 msgid "ssh handler 0x%lx for fd %d terminated\n"
 msgstr ""
 
-#: agent/gpg-agent.c:3016 scd/scdaemon.c:1362 dirmngr/dirmngr.c:2261
+#: agent/gpg-agent.c:3016 scd/scdaemon.c:1366 dirmngr/dirmngr.c:2298
 #, fuzzy, c-format
 msgid "npth_pselect failed: %s - waiting 1s\n"
 msgstr "gagal perbarui rahasia: %s\n"
 
-#: agent/gpg-agent.c:3104 scd/scdaemon.c:1427
+#: agent/gpg-agent.c:3104 scd/scdaemon.c:1431
 #, fuzzy, c-format
 msgid "%s %s stopped\n"
 msgstr "%s: dilewati: %s\n"
@@ -688,8 +686,8 @@ msgid ""
 "Password cache maintenance\n"
 msgstr ""
 
-#: agent/protect-tool.c:108 g10/gpg.c:440 kbx/kbxutil.c:71 sm/gpgsm.c:204
-#: dirmngr/dirmngr.c:163 tools/gpgconf.c:78
+#: agent/protect-tool.c:108 g10/gpg.c:437 kbx/kbxutil.c:71 sm/gpgsm.c:205
+#: dirmngr/dirmngr.c:164 tools/gpgconf.c:78
 msgid ""
 "@Commands:\n"
 " "
@@ -697,8 +695,8 @@ msgstr ""
 "@Perintah:\n"
 " "
 
-#: agent/protect-tool.c:117 g10/gpg.c:553 g10/gpgv.c:76 kbx/kbxutil.c:81
-#: sm/gpgsm.c:252 dirmngr/dirmngr.c:179 tools/gpg-connect-agent.c:76
+#: agent/protect-tool.c:117 g10/gpg.c:550 g10/gpgv.c:76 kbx/kbxutil.c:81
+#: sm/gpgsm.c:253 dirmngr/dirmngr.c:180 tools/gpg-connect-agent.c:76
 #: tools/gpgconf.c:105
 msgid ""
 "@\n"
@@ -720,12 +718,12 @@ msgid ""
 "Secret key maintenance tool\n"
 msgstr ""
 
-#: agent/protect-tool.c:703
+#: agent/protect-tool.c:703 sm/import.c:774
 #, fuzzy
 msgid "Please enter the passphrase to unprotect the PKCS#12 object."
 msgstr "Silakan masukkan passphrase; ini kalimat rahasia\n"
 
-#: agent/protect-tool.c:708
+#: agent/protect-tool.c:708 sm/export.c:710
 #, fuzzy
 msgid "Please enter the passphrase to protect the new PKCS#12 object."
 msgstr "Silakan masukkan passphrase; ini kalimat rahasia\n"
@@ -753,7 +751,7 @@ msgstr "Batal"
 msgid "error while asking for the passphrase: %s\n"
 msgstr "kesalahan penciptaan passphrase: %s\n"
 
-#: agent/trustlist.c:154 agent/trustlist.c:364 dirmngr/dirmngr.c:1629
+#: agent/trustlist.c:154 agent/trustlist.c:364 dirmngr/dirmngr.c:1666
 #: tools/gpgconf.c:418
 #, fuzzy, c-format
 msgid "error opening '%s': %s\n"
@@ -909,7 +907,7 @@ msgstr "Gagal memeriksa signature yang dibuat: %s\n"
 msgid "secret key parts are not available\n"
 msgstr "bagian kunci rahasia tidak tersedia\n"
 
-#: agent/cvt-openpgp.c:344 g10/card-util.c:1540
+#: agent/cvt-openpgp.c:344 g10/card-util.c:1541
 #, fuzzy, c-format
 #| msgid "protection algorithm %d%s is not supported\n"
 msgid "public key algorithm %d (%s) is not supported\n"
@@ -927,21 +925,21 @@ msgstr "algoritma proteksi %d%s tidak didukung\n"
 msgid "protection hash algorithm %d (%s) is not supported\n"
 msgstr "algoritma proteksi %d%s tidak didukung\n"
 
-#: common/exechelp-posix.c:359 common/exechelp-w32.c:449
-#: common/exechelp-w32.c:473 common/exechelp-w32.c:503
+#: common/exechelp-posix.c:359 common/exechelp-w32.c:451
+#: common/exechelp-w32.c:475 common/exechelp-w32.c:505
 #, fuzzy, c-format
 msgid "error creating a pipe: %s\n"
 msgstr "kesalahan penciptaan passphrase: %s\n"
 
 #: common/exechelp-posix.c:372 common/exechelp-w32.c:355
-#: common/exechelp-w32.c:459 common/exechelp-w32.c:483
-#: common/exechelp-w32.c:513
+#: common/exechelp-w32.c:461 common/exechelp-w32.c:485
+#: common/exechelp-w32.c:515
 #, fuzzy, c-format
 msgid "error creating a stream for a pipe: %s\n"
 msgstr "kesalahan penciptaan passphrase: %s\n"
 
 #: common/exechelp-posix.c:495 common/exechelp-posix.c:570
-#: common/exechelp-posix.c:851 dirmngr/dirmngr.c:1306
+#: common/exechelp-posix.c:856 dirmngr/dirmngr.c:1343
 #, fuzzy, c-format
 msgid "error forking process: %s\n"
 msgstr "kesalahan membaca `%s': %s\n"
@@ -951,28 +949,28 @@ msgstr "kesalahan membaca `%s': %s\n"
 msgid "waiting for process %d to terminate failed: %s\n"
 msgstr ""
 
-#: common/exechelp-posix.c:678 common/exechelp-posix.c:794
+#: common/exechelp-posix.c:678 common/exechelp-posix.c:799
 #, fuzzy, c-format
 msgid "error running '%s': probably not installed\n"
 msgstr "kesalahan membaca `%s': %s\n"
 
-#: common/exechelp-posix.c:684 common/exechelp-posix.c:801
-#: common/exechelp-w32.c:796 common/exechelp-w32ce.c:781
+#: common/exechelp-posix.c:684 common/exechelp-posix.c:806
+#: common/exechelp-w32.c:829 common/exechelp-w32ce.c:781
 #, fuzzy, c-format
 msgid "error running '%s': exit status %d\n"
 msgstr "kesalahan membaca `%s': %s\n"
 
-#: common/exechelp-posix.c:692 common/exechelp-posix.c:809
+#: common/exechelp-posix.c:692 common/exechelp-posix.c:814
 #, fuzzy, c-format
 msgid "error running '%s': terminated\n"
 msgstr "kesalahan membaca `%s': %s\n"
 
-#: common/exechelp-posix.c:750 common/exechelp-w32.c:777
+#: common/exechelp-posix.c:755 common/exechelp-w32.c:810
 #, fuzzy, c-format
 msgid "waiting for processes to terminate failed: %s\n"
 msgstr "gagal memperbarui: %s\n"
 
-#: common/exechelp-w32.c:789 common/exechelp-w32ce.c:775
+#: common/exechelp-w32.c:822 common/exechelp-w32ce.c:775
 #, fuzzy, c-format
 msgid "error getting exit code of process %d: %s\n"
 msgstr "kesalahan menulis keyring rahasia `%s': %s\n"
@@ -1069,7 +1067,7 @@ msgstr ""
 msgid "out of core while allocating %lu bytes"
 msgstr ""
 
-#: common/miscellaneous.c:115 g10/card-util.c:896 tools/no-libgcrypt.c:30
+#: common/miscellaneous.c:115 g10/card-util.c:897 tools/no-libgcrypt.c:30
 #, fuzzy, c-format
 msgid "error allocating enough memory: %s\n"
 msgstr "kesalahan menulis keyring `%s': %s\n"
@@ -1192,7 +1190,7 @@ msgid "algorithm: %s"
 msgstr "armor: %s\n"
 
 #: common/audit.c:774 common/audit.c:776 common/audit.c:921 common/audit.c:923
-#: scd/app-openpgp.c:3555
+#: scd/app-openpgp.c:3554
 #, fuzzy, c-format
 msgid "unsupported algorithm: %s"
 msgstr ""
@@ -1333,6 +1331,26 @@ msgstr "tidak dikenal"
 msgid "invalid radix64 character %02x skipped\n"
 msgstr "karakter radix64 tidak valid %02x dilewati\n"
 
+#: common/ttyio.c:433
+#, c-format
+msgid "Sorry, we are in batchmode - can't get input\n"
+msgstr ""
+
+#: common/ttyio.c:439
+#, c-format
+msgid "Sorry, no terminal at all requested - can't get input\n"
+msgstr ""
+
+#: common/ttyio.c:474 common/ttyio.c:484
+#, c-format
+msgid "too many errors; giving up\n"
+msgstr ""
+
+#: common/ttyio.c:536
+#, c-format
+msgid "Control-D detected\n"
+msgstr ""
+
 #: common/argparse.c:520
 #, fuzzy
 msgid "argument not expected"
@@ -1404,7 +1422,7 @@ msgstr "opsi impor tidak valid\n"
 msgid "missing argument for option \"%.50s\"\n"
 msgstr ""
 
-#: common/argparse.c:558 g10/gpg.c:3490
+#: common/argparse.c:558 g10/gpg.c:3510
 #, fuzzy, c-format
 msgid "invalid argument for option \"%.50s\"\n"
 msgstr "opsi impor tidak valid\n"
@@ -1476,31 +1494,31 @@ msgstr "tidak dapat membuat direktori `%s': %s\n"
 msgid "error writing to '%s': %s\n"
 msgstr "kesalahan menulis keyring `%s': %s\n"
 
-#: common/dotlock.c:1129
+#: common/dotlock.c:1137
 #, c-format
 msgid "removing stale lockfile (created by %d)\n"
 msgstr ""
 
-#: common/dotlock.c:1165
+#: common/dotlock.c:1173
 #, fuzzy, c-format
 msgid "waiting for lock (held by %d%s) %s...\n"
 msgstr "menulis kunci rahasia ke `%s'\n"
 
-#: common/dotlock.c:1166
+#: common/dotlock.c:1174
 msgid "(deadlock?) "
 msgstr ""
 
-#: common/dotlock.c:1205
+#: common/dotlock.c:1213
 #, fuzzy, c-format
 msgid "lock '%s' not made: %s\n"
 msgstr "kunci publik %08lX tidak ditemukan: %s\n"
 
-#: common/dotlock.c:1232
+#: common/dotlock.c:1240
 #, fuzzy, c-format
 msgid "waiting for lock %s...\n"
 msgstr "menulis kunci rahasia ke `%s'\n"
 
-#: common/init.c:185 sm/gpgsm.c:949 dirmngr/dirmngr.c:862 dirmngr/dirmngr.c:871
+#: common/init.c:191 sm/gpgsm.c:863 dirmngr/dirmngr.c:900 dirmngr/dirmngr.c:909
 #, c-format
 msgid "%s is too old (need %s, have %s)\n"
 msgstr ""
@@ -1691,13 +1709,13 @@ msgid "Note: Use the command \"%s\" to restart them.\n"
 msgstr "Silakan gunakan dulu perintah \"toogle\".\n"
 
 #: g10/call-agent.c:318 g10/encrypt.c:154 g10/encrypt.c:620 g10/sign.c:412
-#: sm/call-agent.c:205 sm/encrypt.c:425 sm/sign.c:345
+#: sm/call-agent.c:205 sm/encrypt.c:426 sm/sign.c:345
 #, fuzzy, c-format
 #| msgid "%s does not yet work with %s\n"
 msgid "%s is not compliant with %s mode\n"
 msgstr "%s belum dapat dipakai dengan %s\n"
 
-#: g10/call-dirmngr.c:209 sm/call-dirmngr.c:268 tools/gpg-connect-agent.c:2253
+#: g10/call-dirmngr.c:209 sm/call-dirmngr.c:269 tools/gpg-connect-agent.c:2253
 #, fuzzy, c-format
 msgid "no dirmngr running in this session\n"
 msgstr "gpg-agent tidak tersedia untuk sesi ini\n"
@@ -1740,23 +1758,23 @@ msgstr ""
 msgid "server uses an invalid certificate"
 msgstr "buat sertifikat revokasi"
 
-#: g10/call-dirmngr.c:437 g10/gpg.c:4400
+#: g10/call-dirmngr.c:437 g10/gpg.c:4421
 #, fuzzy, c-format
 #| msgid "armor: %s\n"
 msgid "Note: %s\n"
 msgstr "armor: %s\n"
 
-#: g10/card-util.c:86 g10/card-util.c:366 g10/card-util.c:1902
+#: g10/card-util.c:86 g10/card-util.c:366 g10/card-util.c:1903
 #, fuzzy, c-format
 msgid "OpenPGP card not available: %s\n"
 msgstr "kunci rahasia tidak tersedia"
 
-#: g10/card-util.c:91 g10/card-util.c:1908
+#: g10/card-util.c:91 g10/card-util.c:1909
 #, c-format
 msgid "OpenPGP card no. %s detected\n"
 msgstr ""
 
-#: g10/card-util.c:97 g10/card-util.c:2237 g10/delkey.c:160 g10/keyedit.c:1422
+#: g10/card-util.c:97 g10/card-util.c:2238 g10/delkey.c:160 g10/keyedit.c:1423
 #: g10/keygen.c:4466 g10/revoke.c:214 g10/revoke.c:636
 #, fuzzy, c-format
 msgid "can't do this in batch mode\n"
@@ -1767,13 +1785,13 @@ msgstr "tidak dapat melakukan hal itu dalam mode batch\n"
 msgid "This command is only available for version 2 cards\n"
 msgstr "Perintah ini tidak dibolehkan saat dalam mode %s.\n"
 
-#: g10/card-util.c:107 scd/app-openpgp.c:2864
+#: g10/card-util.c:107 scd/app-openpgp.c:2863
 #, fuzzy, c-format
 msgid "Reset Code not or not anymore available\n"
 msgstr "bagian kunci rahasia tidak tersedia\n"
 
-#: g10/card-util.c:140 g10/card-util.c:1426 g10/card-util.c:1688
-#: g10/card-util.c:1780 g10/keyedit.c:394 g10/keyedit.c:415 g10/keyedit.c:429
+#: g10/card-util.c:140 g10/card-util.c:1427 g10/card-util.c:1689
+#: g10/card-util.c:1781 g10/keyedit.c:394 g10/keyedit.c:415 g10/keyedit.c:429
 #: g10/keygen.c:1808 g10/keygen.c:1980 g10/keygen.c:2186 g10/keygen.c:2477
 #: sm/certreqgen-ui.c:165 sm/certreqgen-ui.c:291 sm/certreqgen-ui.c:325
 msgid "Your selection? "
@@ -1800,213 +1818,213 @@ msgstr "tidak diproses"
 msgid "forced"
 msgstr ""
 
-#: g10/card-util.c:749
+#: g10/card-util.c:750
 msgid "Error: Only plain ASCII is currently allowed.\n"
 msgstr ""
 
-#: g10/card-util.c:751
+#: g10/card-util.c:752
 msgid "Error: The \"<\" character may not be used.\n"
 msgstr ""
 
-#: g10/card-util.c:753
+#: g10/card-util.c:754
 msgid "Error: Double spaces are not allowed.\n"
 msgstr ""
 
-#: g10/card-util.c:770
+#: g10/card-util.c:771
 msgid "Cardholder's surname: "
 msgstr ""
 
-#: g10/card-util.c:772
+#: g10/card-util.c:773
 msgid "Cardholder's given name: "
 msgstr ""
 
-#: g10/card-util.c:790
+#: g10/card-util.c:791
 #, c-format
 msgid "Error: Combined name too long (limit is %d characters).\n"
 msgstr ""
 
-#: g10/card-util.c:811
+#: g10/card-util.c:812
 #, fuzzy
 msgid "URL to retrieve public key: "
 msgstr "tidak ada kunci publik yang sesuai: %s\n"
 
-#: g10/card-util.c:905 g10/decrypt-data.c:490 g10/import.c:387 g10/import.c:734
-#: g10/import.c:786 dirmngr/crlcache.c:655 dirmngr/crlcache.c:660
-#: dirmngr/crlcache.c:914 dirmngr/crlcache.c:920 dirmngr/dirmngr.c:1668
+#: g10/card-util.c:906 g10/decrypt-data.c:490 g10/import.c:399 g10/import.c:746
+#: g10/import.c:798 dirmngr/crlcache.c:655 dirmngr/crlcache.c:660
+#: dirmngr/crlcache.c:914 dirmngr/crlcache.c:920 dirmngr/dirmngr.c:1705
 #: tools/gpgconf.c:431 tools/gpgconf.c:477
 #, fuzzy, c-format
 #| msgid "error reading `%s': %s\n"
 msgid "error reading '%s': %s\n"
 msgstr "kesalahan membaca `%s': %s\n"
 
-#: g10/card-util.c:938 g10/decrypt-data.c:493 g10/export.c:2467
+#: g10/card-util.c:939 g10/decrypt-data.c:493 g10/export.c:2467
 #: dirmngr/crlcache.c:925
 #, fuzzy, c-format
 msgid "error writing '%s': %s\n"
 msgstr "kesalahan menulis keyring `%s': %s\n"
 
-#: g10/card-util.c:965
+#: g10/card-util.c:966
 msgid "Login data (account name): "
 msgstr ""
 
-#: g10/card-util.c:1003
+#: g10/card-util.c:1004
 msgid "Private DO data: "
 msgstr ""
 
-#: g10/card-util.c:1088
+#: g10/card-util.c:1089
 #, fuzzy
 msgid "Language preferences: "
 msgstr "perbarui preferensi"
 
-#: g10/card-util.c:1096
+#: g10/card-util.c:1097
 #, fuzzy
 msgid "Error: invalid length of preference string.\n"
 msgstr "Karakter tidak valid dalam string preferensi\n"
 
-#: g10/card-util.c:1105
+#: g10/card-util.c:1106
 #, fuzzy
 msgid "Error: invalid characters in preference string.\n"
 msgstr "Karakter tidak valid dalam string preferensi\n"
 
-#: g10/card-util.c:1127
+#: g10/card-util.c:1128
 msgid "Salutation (M = Mr., F = Ms., or space): "
 msgstr ""
 
-#: g10/card-util.c:1141
+#: g10/card-util.c:1142
 #, fuzzy
 msgid "Error: invalid response.\n"
 msgstr "kesalahan: fingerprint tidak valid\n"
 
-#: g10/card-util.c:1163
+#: g10/card-util.c:1164
 #, fuzzy
 msgid "CA fingerprint: "
 msgstr "tampilkan fingerprint"
 
-#: g10/card-util.c:1186
+#: g10/card-util.c:1187
 #, fuzzy
 msgid "Error: invalid formatted fingerprint.\n"
 msgstr "kesalahan: fingerprint tidak valid\n"
 
-#: g10/card-util.c:1236
+#: g10/card-util.c:1237
 #, fuzzy, c-format
 msgid "key operation not possible: %s\n"
 msgstr "Pembuatan kunci gagal: %s\n"
 
-#: g10/card-util.c:1237
+#: g10/card-util.c:1238
 #, fuzzy
 msgid "not an OpenPGP card"
 msgstr "tidak ditemukan data OpenPGP yang valid.\n"
 
-#: g10/card-util.c:1250 g10/keygen.c:4486 g10/keygen.c:5565
+#: g10/card-util.c:1251 g10/keygen.c:4486 g10/keygen.c:5565
 #, fuzzy, c-format
 msgid "error getting current key info: %s\n"
 msgstr "kesalahan menulis keyring rahasia `%s': %s\n"
 
-#: g10/card-util.c:1335
+#: g10/card-util.c:1336
 msgid "Replace existing key? (y/N) "
 msgstr ""
 
-#: g10/card-util.c:1352
+#: g10/card-util.c:1353
 msgid ""
 "Note: There is no guarantee that the card supports the requested size.\n"
 "      If the key generation does not succeed, please check the\n"
 "      documentation of your card to see what sizes are allowed.\n"
 msgstr ""
 
-#: g10/card-util.c:1374 g10/keygen.c:2363 sm/certreqgen-ui.c:179
+#: g10/card-util.c:1375 g10/keygen.c:2363 sm/certreqgen-ui.c:179
 #, fuzzy, c-format
 msgid "What keysize do you want? (%u) "
 msgstr "Keysize yang anda inginkan? (1024) "
 
-#: g10/card-util.c:1384 g10/keygen.c:2286 g10/keygen.c:2318
+#: g10/card-util.c:1385 g10/keygen.c:2286 g10/keygen.c:2318
 #: sm/certreqgen-ui.c:194
 #, c-format
 msgid "rounded up to %u bits\n"
 msgstr "dibulatkan hingga %u bit\n"
 
-#: g10/card-util.c:1392 g10/keygen.c:2371 sm/certreqgen-ui.c:184
+#: g10/card-util.c:1393 g10/keygen.c:2371 sm/certreqgen-ui.c:184
 #, c-format
 msgid "%s keysizes must be in the range %u-%u\n"
 msgstr ""
 
-#: g10/card-util.c:1411
+#: g10/card-util.c:1412
 msgid "Changing card key attribute for: "
 msgstr ""
 
-#: g10/card-util.c:1413
+#: g10/card-util.c:1414
 #, fuzzy
 msgid "Signature key\n"
 msgstr "Signature kadaluwarsa %s\n"
 
-#: g10/card-util.c:1415
+#: g10/card-util.c:1416
 #, fuzzy
 msgid "Encryption key\n"
 msgstr "  (%d) RSA (hanya enkripsi)\n"
 
-#: g10/card-util.c:1417
+#: g10/card-util.c:1418
 msgid "Authentication key\n"
 msgstr ""
 
-#: g10/card-util.c:1419 g10/keygen.c:1926 sm/certreqgen-ui.c:157
+#: g10/card-util.c:1420 g10/keygen.c:1926 sm/certreqgen-ui.c:157
 msgid "Please select what kind of key you want:\n"
 msgstr "Silakan pilih kunci yang anda inginkan:\n"
 
-#: g10/card-util.c:1420 sm/certreqgen-ui.c:158
+#: g10/card-util.c:1421 sm/certreqgen-ui.c:158
 #, fuzzy, c-format
 msgid "   (%d) RSA\n"
 msgstr "  (%d) RSA (hanya menandai)\n"
 
-#: g10/card-util.c:1421
+#: g10/card-util.c:1422
 #, fuzzy, c-format
 msgid "   (%d) ECC\n"
 msgstr "  (%d) DSA dan ElGamal (baku)\n"
 
-#: g10/card-util.c:1433 g10/card-util.c:1700 g10/card-util.c:1800
-#: g10/keyedit.c:899 g10/keygen.c:1834 g10/keygen.c:1862 g10/keygen.c:1987
+#: g10/card-util.c:1434 g10/card-util.c:1701 g10/card-util.c:1801
+#: g10/keyedit.c:900 g10/keygen.c:1834 g10/keygen.c:1862 g10/keygen.c:1987
 #: g10/keygen.c:2222 g10/keygen.c:2505 g10/revoke.c:838
 msgid "Invalid selection.\n"
 msgstr "Pilihan tidak valid.\n"
 
-#: g10/card-util.c:1506
+#: g10/card-util.c:1507
 #, c-format
 msgid "The card will now be re-configured to generate a key of %u bits\n"
 msgstr ""
 
-#: g10/card-util.c:1511
+#: g10/card-util.c:1512
 #, c-format
 msgid "The card will now be re-configured to generate a key of type: %s\n"
 msgstr ""
 
-#: g10/card-util.c:1547
+#: g10/card-util.c:1548
 #, fuzzy, c-format
 msgid "error changing key attribute for key %d: %s\n"
 msgstr "kesalahan mengirim ke `%s': %s\n"
 
-#: g10/card-util.c:1563 g10/card-util.c:2090
+#: g10/card-util.c:1564 g10/card-util.c:2091
 #, fuzzy, c-format
 msgid "error getting card info: %s\n"
 msgstr "kesalahan menulis keyring rahasia `%s': %s\n"
 
-#: g10/card-util.c:1569 g10/card-util.c:1914 g10/card-util.c:2096
+#: g10/card-util.c:1570 g10/card-util.c:1915 g10/card-util.c:2097
 #, fuzzy, c-format
 #| msgid "This command is not allowed while in %s mode.\n"
 msgid "This command is not supported by this card\n"
 msgstr "Perintah ini tidak dibolehkan saat dalam mode %s.\n"
 
-#: g10/card-util.c:1615
+#: g10/card-util.c:1616
 msgid "Make off-card backup of encryption key? (Y/n) "
 msgstr ""
 
-#: g10/card-util.c:1629
+#: g10/card-util.c:1630
 #, fuzzy, c-format
 msgid "Note: keys are already stored on the card!\n"
 msgstr "dilewati: kunci pribadi telah ada\n"
 
-#: g10/card-util.c:1632
+#: g10/card-util.c:1633
 msgid "Replace existing keys? (y/N) "
 msgstr ""
 
-#: g10/card-util.c:1644
+#: g10/card-util.c:1645
 #, c-format
 msgid ""
 "Please note that the factory settings of the PINs are\n"
@@ -2014,160 +2032,160 @@ msgid ""
 "You should change them using the command --change-pin\n"
 msgstr ""
 
-#: g10/card-util.c:1679
+#: g10/card-util.c:1680
 #, fuzzy
 msgid "Please select the type of key to generate:\n"
 msgstr "Silakan pilih kunci yang anda inginkan:\n"
 
-#: g10/card-util.c:1681 g10/card-util.c:1771
+#: g10/card-util.c:1682 g10/card-util.c:1772
 #, fuzzy
 msgid "   (1) Signature key\n"
 msgstr "Signature kadaluwarsa %s\n"
 
-#: g10/card-util.c:1682 g10/card-util.c:1773
+#: g10/card-util.c:1683 g10/card-util.c:1774
 #, fuzzy
 msgid "   (2) Encryption key\n"
 msgstr "  (%d) RSA (hanya enkripsi)\n"
 
-#: g10/card-util.c:1683 g10/card-util.c:1775
+#: g10/card-util.c:1684 g10/card-util.c:1776
 msgid "   (3) Authentication key\n"
 msgstr ""
 
-#: g10/card-util.c:1768
+#: g10/card-util.c:1769
 #, fuzzy
 msgid "Please select where to store the key:\n"
 msgstr "Silakan pilih alasan untuk pembatalan:\n"
 
-#: g10/card-util.c:1814
+#: g10/card-util.c:1815
 #, fuzzy, c-format
 msgid "KEYTOCARD failed: %s\n"
 msgstr "gagal memperbarui: %s\n"
 
-#: g10/card-util.c:1919
+#: g10/card-util.c:1920
 #, fuzzy, c-format
 msgid "Note: This command destroys all keys stored on the card!\n"
 msgstr "dilewati: kunci pribadi telah ada\n"
 
-#: g10/card-util.c:1922
+#: g10/card-util.c:1923
 #, fuzzy
 msgid "Continue? (y/N) "
 msgstr "Ditandai? "
 
-#: g10/card-util.c:1927
+#: g10/card-util.c:1928
 msgid "Really do a factory reset? (enter \"yes\") "
 msgstr ""
 
-#: g10/card-util.c:2113
+#: g10/card-util.c:2114
 #, fuzzy, c-format
 msgid "error for setup KDF: %s\n"
 msgstr "kesalahan membaca `%s': %s\n"
 
-#: g10/card-util.c:2142 g10/keyedit.c:1259
+#: g10/card-util.c:2143 g10/keyedit.c:1260
 msgid "quit this menu"
 msgstr "berhenti dari menu ini"
 
-#: g10/card-util.c:2144
+#: g10/card-util.c:2145
 #, fuzzy
 msgid "show admin commands"
 msgstr "perintah saling konflik\n"
 
-#: g10/card-util.c:2145 g10/keyedit.c:1262
+#: g10/card-util.c:2146 g10/keyedit.c:1263
 msgid "show this help"
 msgstr "tampilkan bantuan"
 
-#: g10/card-util.c:2147
+#: g10/card-util.c:2148
 #, fuzzy
 msgid "list all available data"
 msgstr "Kunci tersedia di:"
 
-#: g10/card-util.c:2150
+#: g10/card-util.c:2151
 msgid "change card holder's name"
 msgstr ""
 
-#: g10/card-util.c:2151
+#: g10/card-util.c:2152
 msgid "change URL to retrieve key"
 msgstr ""
 
-#: g10/card-util.c:2152
+#: g10/card-util.c:2153
 msgid "fetch the key specified in the card URL"
 msgstr ""
 
-#: g10/card-util.c:2153
+#: g10/card-util.c:2154
 #, fuzzy
 msgid "change the login name"
 msgstr "ubah tanggal kadaluarsa"
 
-#: g10/card-util.c:2154
+#: g10/card-util.c:2155
 #, fuzzy
 msgid "change the language preferences"
 msgstr "ubah ownertrust"
 
-#: g10/card-util.c:2155
+#: g10/card-util.c:2156
 msgid "change card holder's salutation"
 msgstr ""
 
-#: g10/card-util.c:2157
+#: g10/card-util.c:2158
 #, fuzzy
 msgid "change a CA fingerprint"
 msgstr "tampilkan fingerprint"
 
-#: g10/card-util.c:2158
+#: g10/card-util.c:2159
 msgid "toggle the signature force PIN flag"
 msgstr ""
 
-#: g10/card-util.c:2159
+#: g10/card-util.c:2160
 #, fuzzy
 msgid "generate new keys"
 msgstr "buat sepasang kunci baru"
 
-#: g10/card-util.c:2160
+#: g10/card-util.c:2161
 msgid "menu to change or unblock the PIN"
 msgstr ""
 
-#: g10/card-util.c:2161
+#: g10/card-util.c:2162
 msgid "verify the PIN and list all data"
 msgstr ""
 
-#: g10/card-util.c:2162
+#: g10/card-util.c:2163
 msgid "unblock the PIN using a Reset Code"
 msgstr ""
 
-#: g10/card-util.c:2163
+#: g10/card-util.c:2164
 msgid "destroy all keys and data"
 msgstr ""
 
-#: g10/card-util.c:2164
+#: g10/card-util.c:2165
 #, fuzzy
 #| msgid "|NAME|use NAME as default recipient"
 msgid "setup KDF for PIN authentication"
 msgstr "|NAMA|gunakan NAMA sebagai penerima baku"
 
-#: g10/card-util.c:2165
+#: g10/card-util.c:2166
 #, fuzzy
 #| msgid "change the ownertrust"
 msgid "change the key attribute"
 msgstr "ubah ownertrust"
 
-#: g10/card-util.c:2289
+#: g10/card-util.c:2290
 msgid "gpg/card> "
 msgstr ""
 
-#: g10/card-util.c:2330
+#: g10/card-util.c:2331
 #, fuzzy
 msgid "Admin-only command\n"
 msgstr "perintah saling konflik\n"
 
-#: g10/card-util.c:2361
+#: g10/card-util.c:2362
 #, fuzzy
 msgid "Admin commands are allowed\n"
 msgstr "perintah saling konflik\n"
 
-#: g10/card-util.c:2363
+#: g10/card-util.c:2364
 #, fuzzy
 msgid "Admin commands are not allowed\n"
 msgstr "menulis kunci rahasia ke `%s'\n"
 
-#: g10/card-util.c:2466 g10/keyedit.c:2228
+#: g10/card-util.c:2467 g10/keyedit.c:2229
 msgid "Invalid command  (try \"help\")\n"
 msgstr "Perintah tidak valid (coba \"help\")\n"
 
@@ -2176,22 +2194,22 @@ msgstr "Perintah tidak valid (coba \"help\")\n"
 msgid "--output doesn't work for this command\n"
 msgstr "--output tidak berfungsi untuk perintah ini\n"
 
-#: g10/decrypt.c:247 g10/gpg.c:5083 g10/keyring.c:399 g10/keyring.c:750
+#: g10/decrypt.c:247 g10/gpg.c:5104 g10/keyring.c:399 g10/keyring.c:750
 #, fuzzy, c-format
 #| msgid "can't open `%s'\n"
 msgid "can't open '%s'\n"
 msgstr "tidak dapat membuka `%s'\n"
 
 #: g10/delkey.c:83 g10/export.c:1947 g10/export.c:2230 g10/export.c:2351
-#: g10/getkey.c:1964 g10/gpg.c:5028 g10/keyedit.c:1444 g10/keyedit.c:2334
-#: g10/keyedit.c:2580 g10/keyedit.c:4543 g10/keylist.c:689 g10/keyserver.c:1259
+#: g10/getkey.c:2108 g10/gpg.c:5049 g10/keyedit.c:1445 g10/keyedit.c:2335
+#: g10/keyedit.c:2581 g10/keyedit.c:4544 g10/keylist.c:689 g10/keyserver.c:1092
 #: g10/revoke.c:230 g10/tofu.c:2165
 #, fuzzy, c-format
 msgid "key \"%s\" not found: %s\n"
 msgstr "kunci '%s' tidak ditemukan: %s\n"
 
-#: g10/delkey.c:92 g10/export.c:2015 g10/getkey.c:1972 g10/getkey.c:4346
-#: g10/gpg.c:5037 g10/keyedit.c:2307 g10/keyserver.c:1277 g10/revoke.c:236
+#: g10/delkey.c:92 g10/export.c:2015 g10/getkey.c:2116 g10/getkey.c:4517
+#: g10/gpg.c:5058 g10/keyedit.c:2308 g10/keyserver.c:1110 g10/revoke.c:236
 #: g10/revoke.c:663 g10/tofu.c:2173
 #, c-format
 msgid "error reading keyblock: %s\n"
@@ -2253,9 +2271,9 @@ msgstr "kunci"
 msgid "subkey"
 msgstr "Pubkey: "
 
-#: g10/delkey.c:299 g10/keyedit.c:2200 g10/keyedit.c:2210 g10/keyedit.c:2387
-#: g10/keyedit.c:2461 g10/keyedit.c:2532 g10/keyedit.c:2757 g10/keyedit.c:2987
-#: g10/keyedit.c:3056 g10/keyedit.c:3207
+#: g10/delkey.c:299 g10/keyedit.c:2201 g10/keyedit.c:2211 g10/keyedit.c:2388
+#: g10/keyedit.c:2462 g10/keyedit.c:2533 g10/keyedit.c:2758 g10/keyedit.c:2988
+#: g10/keyedit.c:3057 g10/keyedit.c:3208
 #, c-format
 msgid "update failed: %s\n"
 msgstr "gagal memperbarui: %s\n"
@@ -2280,7 +2298,7 @@ msgstr "terdapat kunci rahasia untuk kunci publik \"%s\"!\n"
 msgid "use option \"--delete-secret-keys\" to delete it first.\n"
 msgstr "gunakan pilihan \"--delete-secret-key\" untuk menghapusnya.\n"
 
-#: g10/encrypt.c:202 g10/sign.c:1471
+#: g10/encrypt.c:202 g10/sign.c:1470
 #, c-format
 msgid "error creating passphrase: %s\n"
 msgstr "kesalahan penciptaan passphrase: %s\n"
@@ -2307,15 +2325,15 @@ msgstr "`%s' sudah dikompresi\n"
 msgid "WARNING: '%s' is an empty file\n"
 msgstr "PERINGATAN: `%s' adalah file kosong\n"
 
-#: g10/encrypt.c:387 g10/encrypt.c:610 g10/decrypt-data.c:260 g10/gpg.c:3901
-#: g10/gpg.c:3941 sm/decrypt.c:364 sm/encrypt.c:415 sm/gpgsm.c:1655
+#: g10/encrypt.c:387 g10/encrypt.c:610 g10/decrypt-data.c:260 g10/gpg.c:3922
+#: g10/gpg.c:3962 sm/decrypt.c:826 sm/encrypt.c:416 sm/gpgsm.c:1555
 #, fuzzy, c-format
 msgid "cipher algorithm '%s' may not be used in %s mode\n"
 msgstr ""
 "anda tidak boleh menggunakan algoritma cipher \"%s\" saat dalam mode %s.\n"
 
-#: g10/encrypt.c:396 g10/gpg.c:3907 g10/gpg.c:3953 g10/sig-check.c:146
-#: g10/sign.c:391 sm/gpgsm.c:1665 sm/gpgsm.c:1675 sm/sign.c:478 sm/verify.c:506
+#: g10/encrypt.c:396 g10/gpg.c:3928 g10/gpg.c:3974 g10/sig-check.c:146
+#: g10/sign.c:391 sm/gpgsm.c:1565 sm/gpgsm.c:1575 sm/sign.c:478 sm/verify.c:506
 #, fuzzy, c-format
 msgid "digest algorithm '%s' may not be used in %s mode\n"
 msgstr ""
@@ -2333,12 +2351,12 @@ msgid ""
 "WARNING: forcing symmetric cipher %s (%d) violates recipient preferences\n"
 msgstr "memaksa cipher simetrik %s (%d) melanggar preferensi penerima\n"
 
-#: g10/encrypt.c:640 sm/encrypt.c:490
+#: g10/encrypt.c:640 sm/encrypt.c:491
 #, fuzzy, c-format
 msgid "WARNING: key %s is not suitable for encryption in %s mode\n"
 msgstr "WARNING: \"%s\" adalah opsi terdepresiasi\n"
 
-#: g10/encrypt.c:751 g10/sign.c:1163
+#: g10/encrypt.c:751 g10/sign.c:1162
 #, fuzzy, c-format
 msgid ""
 "WARNING: forcing compression algorithm %s (%d) violates recipient "
@@ -2366,12 +2384,12 @@ msgstr "anda tidak boleh menggunakan %s saat dalam mode %s.\n"
 msgid "%s encrypted data\n"
 msgstr "%s data terenkripsi\n"
 
-#: g10/decrypt-data.c:243 g10/mainproc.c:396
+#: g10/decrypt-data.c:243 g10/mainproc.c:397
 #, c-format
 msgid "encrypted with unknown algorithm %d\n"
 msgstr "dienkripsi dengan algoritma tidak dikenal %d\n"
 
-#: g10/decrypt-data.c:357 g10/decrypt-data.c:410 sm/decrypt.c:130
+#: g10/decrypt-data.c:357 g10/decrypt-data.c:410 sm/decrypt.c:550
 #, c-format
 msgid ""
 "WARNING: message was encrypted with a weak key in the symmetric cipher.\n"
@@ -2388,7 +2406,7 @@ msgstr "masalah menangani paket terenkripsi\n"
 msgid "no remote program execution supported\n"
 msgstr "tidak ada eksekusi program remote yang didukung\n"
 
-#: g10/exec.c:381
+#: g10/exec.c:389
 #, c-format
 msgid ""
 "external program calls are disabled due to unsafe options file permissions\n"
@@ -2396,49 +2414,49 @@ msgstr ""
 "pemanggilan program eksternal ditiadakan karena permisi opsi file tidak "
 "aman\n"
 
-#: g10/exec.c:411
+#: g10/exec.c:419
 #, fuzzy, c-format
 msgid "this platform requires temporary files when calling external programs\n"
 msgstr ""
 "platform ini membutuhkan file temp ketika memanggil program eksternal\n"
 
-#: g10/exec.c:489
+#: g10/exec.c:497
 #, fuzzy, c-format
 msgid "unable to execute program '%s': %s\n"
 msgstr "tidak dapat mengeksekusi %s \"%s\": %s\n"
 
-#: g10/exec.c:492
+#: g10/exec.c:500
 #, fuzzy, c-format
 msgid "unable to execute shell '%s': %s\n"
 msgstr "tidak dapat mengeksekusi %s \"%s\": %s\n"
 
-#: g10/exec.c:583
+#: g10/exec.c:591
 #, c-format
 msgid "system error while calling external program: %s\n"
 msgstr "kesalahan sistem ketika memanggil program eksternal: %s\n"
 
-#: g10/exec.c:594 g10/exec.c:661
+#: g10/exec.c:602 g10/exec.c:669
 #, c-format
 msgid "unnatural exit of external program\n"
 msgstr "program eksternal berhenti secara tidak natual\n"
 
-#: g10/exec.c:609
+#: g10/exec.c:617
 #, c-format
 msgid "unable to execute external program\n"
 msgstr "tidak dapat mengeksekusi program eksternal\n"
 
-#: g10/exec.c:626
+#: g10/exec.c:634
 #, c-format
 msgid "unable to read external program response: %s\n"
 msgstr "tidak dapat membaca tanggapan program eksternal: %s\n"
 
-#: g10/exec.c:672 g10/exec.c:679
+#: g10/exec.c:680 g10/exec.c:687
 #, fuzzy, c-format
 #| msgid "WARNING: unable to remove tempfile (%s) `%s': %s\n"
 msgid "WARNING: unable to remove tempfile (%s) '%s': %s\n"
 msgstr "PERINGATAN: tidak dapat menghapus file temp (%s) `%s': %s\n"
 
-#: g10/exec.c:684
+#: g10/exec.c:692
 #, fuzzy, c-format
 #| msgid "WARNING: unable to remove temp directory `%s': %s\n"
 msgid "WARNING: unable to remove temp directory '%s': %s\n"
@@ -2479,8 +2497,8 @@ msgstr ""
 msgid " - skipped"
 msgstr "%s: dilewati: %s\n"
 
-#: g10/export.c:1324 g10/import.c:2073 g10/openfile.c:200 g10/openfile.c:294
-#: g10/sign.c:1013 g10/sign.c:1327
+#: g10/export.c:1324 g10/import.c:2085 g10/openfile.c:200 g10/openfile.c:294
+#: g10/sign.c:1012 g10/sign.c:1326
 #, fuzzy, c-format
 #| msgid "writing to `%s'\n"
 msgid "writing to '%s'\n"
@@ -2518,292 +2536,292 @@ msgstr "kesalahan penciptaan : `%s': %s\n"
 msgid "[User ID not found]"
 msgstr "[User id tidak ditemukan]"
 
-#: g10/getkey.c:1297
+#: g10/getkey.c:1441
 #, fuzzy, c-format
 msgid "automatically retrieved '%s' via %s\n"
 msgstr "kesalahan penciptaan : `%s': %s\n"
 
-#: g10/getkey.c:1303
+#: g10/getkey.c:1447
 #, fuzzy, c-format
 msgid "error retrieving '%s' via %s: %s\n"
 msgstr "kesalahan penciptaan : `%s': %s\n"
 
-#: g10/getkey.c:1305
+#: g10/getkey.c:1449
 #, fuzzy
 msgid "No fingerprint"
 msgstr "tampilkan fingerprint"
 
-#: g10/getkey.c:1526
+#: g10/getkey.c:1670
 #, c-format
 msgid "checking for a fresh copy of an expired key via %s\n"
 msgstr ""
 
-#: g10/getkey.c:1941 g10/revoke.c:655 g10/revoke.c:720
+#: g10/getkey.c:2085 g10/revoke.c:655 g10/revoke.c:720
 #, fuzzy, c-format
 msgid "secret key \"%s\" not found: %s\n"
 msgstr "kunci rahasia `%s' tidak ditemukan: %s\n"
 
-#: g10/getkey.c:1944 g10/pkclist.c:988
+#: g10/getkey.c:2088 g10/pkclist.c:988
 #, fuzzy, c-format
 msgid "(check argument of option '%s')\n"
 msgstr "opsi impor tidak valid\n"
 
-#: g10/getkey.c:2020
+#: g10/getkey.c:2164
 #, fuzzy, c-format
 #| msgid "|NAME|use NAME as default secret key"
 msgid "Warning: not using '%s' as default key: %s\n"
 msgstr "|NAMA|gunakan NAMA sebagai kunci rahasia baku"
 
-#: g10/getkey.c:2028
+#: g10/getkey.c:2172
 #, fuzzy, c-format
 #| msgid "|NAME|use NAME as default secret key"
 msgid "using \"%s\" as default secret key for signing\n"
 msgstr "|NAMA|gunakan NAMA sebagai kunci rahasia baku"
 
-#: g10/getkey.c:2035
+#: g10/getkey.c:2179
 #, c-format
 msgid "all values passed to '%s' ignored\n"
 msgstr ""
 
-#: g10/getkey.c:2880
+#: g10/getkey.c:3024
 #, fuzzy, c-format
 msgid "Invalid key %s made valid by --allow-non-selfsigned-uid\n"
 msgstr "kunci tidak valid %08lX dibuat valid oleh --allow-non-selfsigned-uid\n"
 
-#: g10/getkey.c:3730
+#: g10/getkey.c:3874
 #, fuzzy, c-format
 msgid "using subkey %s instead of primary key %s\n"
 msgstr "menggunakan kunci sekunder %08lX bukannya kunci primer %08lX\n"
 
-#: g10/getkey.c:4275 g10/gpg.c:2107
+#: g10/getkey.c:4446 g10/gpg.c:2120
 #, fuzzy, c-format
 msgid "valid values for option '%s':\n"
 msgstr "opsi impor tidak valid\n"
 
-#: g10/gpg.c:442 sm/gpgsm.c:206
+#: g10/gpg.c:439 sm/gpgsm.c:207
 #, fuzzy
 msgid "make a signature"
 msgstr "buat detached signature"
 
-#: g10/gpg.c:443
+#: g10/gpg.c:440
 #, fuzzy
 msgid "make a clear text signature"
 msgstr "|[file]|buat signature teks"
 
-#: g10/gpg.c:445 sm/gpgsm.c:208
+#: g10/gpg.c:442 sm/gpgsm.c:209
 msgid "make a detached signature"
 msgstr "buat detached signature"
 
-#: g10/gpg.c:446 sm/gpgsm.c:209
+#: g10/gpg.c:443 sm/gpgsm.c:210
 msgid "encrypt data"
 msgstr "enkripsi data"
 
-#: g10/gpg.c:448
+#: g10/gpg.c:445
 msgid "encryption only with symmetric cipher"
 msgstr "enkripsi hanya dengan symmetric cipher"
 
-#: g10/gpg.c:450 sm/gpgsm.c:211
+#: g10/gpg.c:447 sm/gpgsm.c:212
 msgid "decrypt data (default)"
 msgstr "dekripsi data (default)"
 
-#: g10/gpg.c:452 sm/gpgsm.c:212
+#: g10/gpg.c:449 sm/gpgsm.c:213
 msgid "verify a signature"
 msgstr "verifikasi signature"
 
-#: g10/gpg.c:454 sm/gpgsm.c:213
+#: g10/gpg.c:451 sm/gpgsm.c:214
 msgid "list keys"
 msgstr "tampilkan kunci"
 
-#: g10/gpg.c:456
+#: g10/gpg.c:453
 msgid "list keys and signatures"
 msgstr "tampilkan kunci dan signature"
 
-#: g10/gpg.c:459
+#: g10/gpg.c:456
 #, fuzzy
 msgid "list and check key signatures"
 msgstr "periksa signature kunci"
 
-#: g10/gpg.c:461 sm/gpgsm.c:218
+#: g10/gpg.c:458 sm/gpgsm.c:219
 msgid "list keys and fingerprints"
 msgstr "tampilkan kunci dan fingerprint"
 
-#: g10/gpg.c:462 sm/gpgsm.c:216
+#: g10/gpg.c:459 sm/gpgsm.c:217
 msgid "list secret keys"
 msgstr "tampilkan kunci rahasia"
 
-#: g10/gpg.c:464 sm/gpgsm.c:219
+#: g10/gpg.c:461 sm/gpgsm.c:220
 msgid "generate a new key pair"
 msgstr "buat sepasang kunci baru"
 
-#: g10/gpg.c:467
+#: g10/gpg.c:464
 #, fuzzy
 #| msgid "generate a new key pair"
 msgid "quickly generate a new key pair"
 msgstr "buat sepasang kunci baru"
 
-#: g10/gpg.c:470
+#: g10/gpg.c:467
 #, fuzzy
 #| msgid "generate a new key pair"
 msgid "quickly add a new user-id"
 msgstr "buat sepasang kunci baru"
 
-#: g10/gpg.c:475
+#: g10/gpg.c:472
 #, fuzzy
 #| msgid "generate a new key pair"
 msgid "quickly revoke a user-id"
 msgstr "buat sepasang kunci baru"
 
-#: g10/gpg.c:478
+#: g10/gpg.c:475
 #, fuzzy
 #| msgid "generate a new key pair"
 msgid "quickly set a new expiration date"
 msgstr "buat sepasang kunci baru"
 
-#: g10/gpg.c:481
+#: g10/gpg.c:478
 msgid "full featured key pair generation"
 msgstr ""
 
-#: g10/gpg.c:484
+#: g10/gpg.c:481
 msgid "generate a revocation certificate"
 msgstr "buat sertifikat revokasi"
 
-#: g10/gpg.c:487 sm/gpgsm.c:222
+#: g10/gpg.c:484 sm/gpgsm.c:223
 msgid "remove keys from the public keyring"
 msgstr "hapus kunci dari keyring publik"
 
-#: g10/gpg.c:489
+#: g10/gpg.c:486
 msgid "remove keys from the secret keyring"
 msgstr "hapus kunci dari keyring pribadi"
 
-#: g10/gpg.c:491
+#: g10/gpg.c:488
 #, fuzzy
 #| msgid "sign a key"
 msgid "quickly sign a key"
 msgstr "tandai kunci"
 
-#: g10/gpg.c:493
+#: g10/gpg.c:490
 #, fuzzy
 #| msgid "sign a key locally"
 msgid "quickly sign a key locally"
 msgstr "tandai kunci secara lokal"
 
-#: g10/gpg.c:495
+#: g10/gpg.c:492
 #, fuzzy
 #| msgid "generate a new key pair"
 msgid "quickly revoke a key signature"
 msgstr "buat sepasang kunci baru"
 
-#: g10/gpg.c:496
+#: g10/gpg.c:493
 msgid "sign a key"
 msgstr "tandai kunci"
 
-#: g10/gpg.c:497
+#: g10/gpg.c:494
 msgid "sign a key locally"
 msgstr "tandai kunci secara lokal"
 
-#: g10/gpg.c:498
+#: g10/gpg.c:495
 msgid "sign or edit a key"
 msgstr "tandai atau edit kunci"
 
-#: g10/gpg.c:500 sm/gpgsm.c:240
+#: g10/gpg.c:497 sm/gpgsm.c:241
 #, fuzzy
 msgid "change a passphrase"
 msgstr "ubah passphrase"
 
-#: g10/gpg.c:504
+#: g10/gpg.c:501
 msgid "export keys"
 msgstr "ekspor kunci"
 
-#: g10/gpg.c:505
+#: g10/gpg.c:502
 msgid "export keys to a keyserver"
 msgstr "ekspor kunci ke keyserver"
 
-#: g10/gpg.c:506
+#: g10/gpg.c:503
 msgid "import keys from a keyserver"
 msgstr "impor kunci dari keyserver"
 
-#: g10/gpg.c:509
+#: g10/gpg.c:506
 msgid "search for keys on a keyserver"
 msgstr "cari kunci di keyserver"
 
-#: g10/gpg.c:511
+#: g10/gpg.c:508
 msgid "update all keys from a keyserver"
 msgstr "update semua kunci dari keyserver"
 
-#: g10/gpg.c:519
+#: g10/gpg.c:516
 msgid "import/merge keys"
 msgstr "impor/gabung kunci"
 
-#: g10/gpg.c:522
+#: g10/gpg.c:519
 msgid "print the card status"
 msgstr ""
 
-#: g10/gpg.c:523
+#: g10/gpg.c:520
 msgid "change data on a card"
 msgstr ""
 
-#: g10/gpg.c:525
+#: g10/gpg.c:522
 msgid "change a card's PIN"
 msgstr ""
 
-#: g10/gpg.c:537
+#: g10/gpg.c:534
 msgid "update the trust database"
 msgstr "perbarui database trust"
 
-#: g10/gpg.c:546
+#: g10/gpg.c:543
 #, fuzzy
 msgid "print message digests"
 msgstr "|algo [file]|cetak digest pesan"
 
-#: g10/gpg.c:549 sm/gpgsm.c:235
+#: g10/gpg.c:546 sm/gpgsm.c:236
 msgid "run in server mode"
 msgstr ""
 
-#: g10/gpg.c:551
+#: g10/gpg.c:548
 msgid "|VALUE|set the TOFU policy for a key"
 msgstr ""
 
-#: g10/gpg.c:555 sm/gpgsm.c:254
+#: g10/gpg.c:552 sm/gpgsm.c:255
 msgid "create ascii armored output"
 msgstr "ciptakan output ascii"
 
-#: g10/gpg.c:558 sm/gpgsm.c:271
+#: g10/gpg.c:555 sm/gpgsm.c:272
 #, fuzzy
 msgid "|USER-ID|encrypt for USER-ID"
 msgstr "|NAMA|enkripsi untuk NAMA"
 
-#: g10/gpg.c:574 sm/gpgsm.c:307
+#: g10/gpg.c:571 sm/gpgsm.c:308
 #, fuzzy
 msgid "|USER-ID|use USER-ID to sign or decrypt"
 msgstr "gunakan id-user ini untuk menandai/dekripsi"
 
-#: g10/gpg.c:580
+#: g10/gpg.c:577
 #, fuzzy
 msgid "|N|set compress level to N (0 disables)"
 msgstr "|N|set tingkat kompresi N (0 tidak ada)"
 
-#: g10/gpg.c:587
+#: g10/gpg.c:584
 msgid "use canonical text mode"
 msgstr "gunakan mode teks kanonikal"
 
-#: g10/gpg.c:604 g10/gpgv.c:82 sm/gpgsm.c:309
+#: g10/gpg.c:601 g10/gpgv.c:82 sm/gpgsm.c:310
 #, fuzzy
 msgid "|FILE|write output to FILE"
 msgstr "|FILE|muat modul ekstensi FILE"
 
-#: g10/gpg.c:614 kbx/kbxutil.c:90 sm/gpgsm.c:321 tools/gpgconf.c:110
+#: g10/gpg.c:611 kbx/kbxutil.c:90 sm/gpgsm.c:322 tools/gpgconf.c:110
 msgid "do not make any changes"
 msgstr "jangan buat perubahan"
 
-#: g10/gpg.c:615
+#: g10/gpg.c:612
 msgid "prompt before overwriting"
 msgstr "tanya sebelum menimpa"
 
-#: g10/gpg.c:665
+#: g10/gpg.c:662
 msgid "use strict OpenPGP behavior"
 msgstr ""
 
-#: g10/gpg.c:692 sm/gpgsm.c:364
+#: g10/gpg.c:689 sm/gpgsm.c:367
 msgid ""
 "@\n"
 "(See the man page for a complete listing of all commands and options)\n"
@@ -2811,7 +2829,7 @@ msgstr ""
 "@\n"
 "(Lihat man page untuk daftar lengkap semua perintah dan option)\n"
 
-#: g10/gpg.c:695
+#: g10/gpg.c:692
 #, fuzzy
 #| msgid ""
 #| "@\n"
@@ -2841,13 +2859,13 @@ msgstr ""
 " --list-keys [nama]      tampilkan kunci\n"
 " --fingerprint [nama]    tampilkan fingerprint\n"
 
-#: g10/gpg.c:1092
+#: g10/gpg.c:1096
 #, fuzzy
 #| msgid "Usage: gpg [options] [files] (-h for help)"
 msgid "Usage: @GPG@ [options] [files] (-h for help)"
 msgstr "Pemakaian: gpg [pilihan] [file] (-h untuk bantuan)"
 
-#: g10/gpg.c:1095
+#: g10/gpg.c:1099
 #, fuzzy
 #| msgid ""
 #| "Syntax: gpg [options] [files]\n"
@@ -2862,7 +2880,7 @@ msgstr ""
 "tandai, cek, enkripsi atau dekripsi\n"
 "operasi baku tergantung pada data input\n"
 
-#: g10/gpg.c:1106 sm/gpgsm.c:591
+#: g10/gpg.c:1110 sm/gpgsm.c:594
 msgid ""
 "\n"
 "Supported algorithms:\n"
@@ -2870,548 +2888,548 @@ msgstr ""
 "\n"
 "Algoritma yang didukung:\n"
 
-#: g10/gpg.c:1109
+#: g10/gpg.c:1113
 msgid "Pubkey: "
 msgstr "Pubkey: "
 
-#: g10/gpg.c:1116 g10/keyedit.c:3281
+#: g10/gpg.c:1120 g10/keyedit.c:3282
 msgid "Cipher: "
 msgstr "Cipher: "
 
-#: g10/gpg.c:1123
+#: g10/gpg.c:1127
 msgid "Hash: "
 msgstr "Hash: "
 
-#: g10/gpg.c:1130 g10/keyedit.c:3347
+#: g10/gpg.c:1134 g10/keyedit.c:3348
 msgid "Compression: "
 msgstr "Kompresi: "
 
-#: g10/gpg.c:1199 sm/gpgsm.c:665
+#: g10/gpg.c:1207 sm/gpgsm.c:668
 #, fuzzy, c-format
 msgid "usage: %s [options] %s\n"
 msgstr "pemakaian: gpg [pilihan] "
 
-#: g10/gpg.c:1388 sm/gpgsm.c:754
+#: g10/gpg.c:1396 sm/gpgsm.c:761
 #, c-format
 msgid "conflicting commands\n"
 msgstr "perintah saling konflik\n"
 
-#: g10/gpg.c:1406
+#: g10/gpg.c:1414
 #, fuzzy, c-format
 msgid "no = sign found in group definition '%s'\n"
 msgstr "tanda = tidak ditemukan dalam definisi grup \"%s\"\n"
 
-#: g10/gpg.c:1604
+#: g10/gpg.c:1612
 #, fuzzy, c-format
 msgid "WARNING: unsafe ownership on homedir '%s'\n"
 msgstr "Peringatan: kepemilikan tidak aman pada %s \"%s\"\n"
 
-#: g10/gpg.c:1607
+#: g10/gpg.c:1615
 #, fuzzy, c-format
 msgid "WARNING: unsafe ownership on configuration file '%s'\n"
 msgstr "Peringatan: kepemilikan tidak aman pada %s \"%s\"\n"
 
-#: g10/gpg.c:1610
+#: g10/gpg.c:1618
 #, fuzzy, c-format
 msgid "WARNING: unsafe ownership on extension '%s'\n"
 msgstr "Peringatan: kepemilikan tidak aman pada %s \"%s\"\n"
 
-#: g10/gpg.c:1616
+#: g10/gpg.c:1624
 #, fuzzy, c-format
 msgid "WARNING: unsafe permissions on homedir '%s'\n"
 msgstr "Peringatan: permisi tidak aman pada %s \"%s\"\n"
 
-#: g10/gpg.c:1619
+#: g10/gpg.c:1627
 #, fuzzy, c-format
 msgid "WARNING: unsafe permissions on configuration file '%s'\n"
 msgstr "Peringatan: permisi tidak aman pada %s \"%s\"\n"
 
-#: g10/gpg.c:1622
+#: g10/gpg.c:1630
 #, fuzzy, c-format
 msgid "WARNING: unsafe permissions on extension '%s'\n"
 msgstr "Peringatan: permisi tidak aman pada %s \"%s\"\n"
 
-#: g10/gpg.c:1628
+#: g10/gpg.c:1636
 #, fuzzy, c-format
 msgid "WARNING: unsafe enclosing directory ownership on homedir '%s'\n"
 msgstr "Peringatan: kepemilikan direktori tidak aman pada %s \"%s\"\n"
 
-#: g10/gpg.c:1631
+#: g10/gpg.c:1639
 #, fuzzy, c-format
 msgid ""
 "WARNING: unsafe enclosing directory ownership on configuration file '%s'\n"
 msgstr "Peringatan: kepemilikan direktori tidak aman pada %s \"%s\"\n"
 
-#: g10/gpg.c:1634
+#: g10/gpg.c:1642
 #, fuzzy, c-format
 msgid "WARNING: unsafe enclosing directory ownership on extension '%s'\n"
 msgstr "Peringatan: kepemilikan direktori tidak aman pada %s \"%s\"\n"
 
-#: g10/gpg.c:1640
+#: g10/gpg.c:1648
 #, fuzzy, c-format
 msgid "WARNING: unsafe enclosing directory permissions on homedir '%s'\n"
 msgstr "Peringatan: permisi direktori tidak aman pada %s \"%s\"\n"
 
-#: g10/gpg.c:1643
+#: g10/gpg.c:1651
 #, fuzzy, c-format
 msgid ""
 "WARNING: unsafe enclosing directory permissions on configuration file '%s'\n"
 msgstr "Peringatan: permisi direktori tidak aman pada %s \"%s\"\n"
 
-#: g10/gpg.c:1646
+#: g10/gpg.c:1654
 #, fuzzy, c-format
 msgid "WARNING: unsafe enclosing directory permissions on extension '%s'\n"
 msgstr "Peringatan: permisi direktori tidak aman pada %s \"%s\"\n"
 
-#: g10/gpg.c:1862
+#: g10/gpg.c:1870
 #, fuzzy, c-format
 msgid "unknown configuration item '%s'\n"
 msgstr "Item Konfigurasi tidak dikenal \"%s\"\n"
 
-#: g10/gpg.c:1979
+#: g10/gpg.c:1992
 msgid "display photo IDs during key listings"
 msgstr ""
 
-#: g10/gpg.c:1981
+#: g10/gpg.c:1994
 #, fuzzy
 msgid "show key usage information during key listings"
 msgstr "Tidak ada signature koresponden di ring rahasia\n"
 
-#: g10/gpg.c:1983
+#: g10/gpg.c:1996
 msgid "show policy URLs during signature listings"
 msgstr ""
 
-#: g10/gpg.c:1985
+#: g10/gpg.c:1998
 #, fuzzy
 msgid "show all notations during signature listings"
 msgstr "Tidak ada signature koresponden di ring rahasia\n"
 
-#: g10/gpg.c:1987
+#: g10/gpg.c:2000
 msgid "show IETF standard notations during signature listings"
 msgstr ""
 
-#: g10/gpg.c:1991
+#: g10/gpg.c:2004
 msgid "show user-supplied notations during signature listings"
 msgstr ""
 
-#: g10/gpg.c:1993
+#: g10/gpg.c:2006
 #, fuzzy
 msgid "show preferred keyserver URLs during signature listings"
 msgstr "URL signature kebijakan yang diberikan tidak valid\n"
 
-#: g10/gpg.c:1995
+#: g10/gpg.c:2008
 msgid "show user ID validity during key listings"
 msgstr ""
 
-#: g10/gpg.c:1997
+#: g10/gpg.c:2010
 msgid "show revoked and expired user IDs in key listings"
 msgstr ""
 
-#: g10/gpg.c:1999
+#: g10/gpg.c:2012
 msgid "show revoked and expired subkeys in key listings"
 msgstr ""
 
-#: g10/gpg.c:2001
+#: g10/gpg.c:2014
 #, fuzzy
 msgid "show the keyring name in key listings"
 msgstr "tampilkan keyring tempat kunci yang dipilih berada"
 
-#: g10/gpg.c:2003
+#: g10/gpg.c:2016
 #, fuzzy
 msgid "show expiration dates during signature listings"
 msgstr "Tidak ada signature koresponden di ring rahasia\n"
 
-#: g10/gpg.c:2118
+#: g10/gpg.c:2131
 #, fuzzy, c-format
 msgid "unknown TOFU policy '%s'\n"
 msgstr "penerima baku tidak dikenal `%s'\n"
 
-#: g10/gpg.c:2120
+#: g10/gpg.c:2133
 #, c-format
 msgid "(use \"help\" to list choices)\n"
 msgstr ""
 
-#: g10/gpg.c:2840 g10/gpg.c:3671 g10/gpg.c:3683
+#: g10/gpg.c:2856 g10/gpg.c:3691 g10/gpg.c:3703
 #, fuzzy, c-format
 #| msgid "NOTE: %s is not for normal use!\n"
 msgid "Note: %s is not for normal use!\n"
 msgstr "CATATAN: %s tidak untuk pemakaian normal!\n"
 
-#: g10/gpg.c:3017 g10/gpg.c:3029
+#: g10/gpg.c:3033 g10/gpg.c:3045
 #, fuzzy, c-format
 msgid "'%s' is not a valid signature expiration\n"
 msgstr "%s bukanlah set karakter yang valid\n"
 
-#: g10/gpg.c:3051
+#: g10/gpg.c:3067
 #, fuzzy, c-format
 msgid "\"%s\" is not a proper mail address\n"
 msgstr "Bukan alamat email yang valid\n"
 
-#: g10/gpg.c:3083 sm/gpgsm.c:1177
+#: g10/gpg.c:3099 sm/gpgsm.c:1091
 #, fuzzy, c-format
 msgid "invalid pinentry mode '%s'\n"
 msgstr "algoritma hash tidak valid `%s'\n"
 
-#: g10/gpg.c:3089 sm/gpgsm.c:1183
+#: g10/gpg.c:3105 sm/gpgsm.c:1097
 #, fuzzy, c-format
 msgid "invalid request origin '%s'\n"
 msgstr "opsi impor tidak valid\n"
 
-#: g10/gpg.c:3143
+#: g10/gpg.c:3159
 #, fuzzy, c-format
 msgid "'%s' is not a valid character set\n"
 msgstr "%s bukanlah set karakter yang valid\n"
 
-#: g10/gpg.c:3165 g10/gpg.c:3375 g10/keyedit.c:5281
+#: g10/gpg.c:3181 g10/gpg.c:3395 g10/keyedit.c:5282
 #, fuzzy, c-format
 msgid "could not parse keyserver URL\n"
 msgstr "tidak dapat memparsing URI keyserver\n"
 
-#: g10/gpg.c:3183
+#: g10/gpg.c:3199
 #, fuzzy, c-format
 msgid "%s:%d: invalid keyserver options\n"
 msgstr "%s:%d: opsi ekspor tidak valid\n"
 
-#: g10/gpg.c:3186
+#: g10/gpg.c:3202
 #, fuzzy, c-format
 msgid "invalid keyserver options\n"
 msgstr "opsi ekspor tidak valid\n"
 
-#: g10/gpg.c:3193
+#: g10/gpg.c:3209
 #, c-format
 msgid "%s:%d: invalid import options\n"
 msgstr "%s:%d: opsi impor tidak valid\n"
 
-#: g10/gpg.c:3196
+#: g10/gpg.c:3212
 #, c-format
 msgid "invalid import options\n"
 msgstr "opsi impor tidak valid\n"
 
-#: g10/gpg.c:3202 g10/gpg.c:3217
+#: g10/gpg.c:3218 g10/gpg.c:3233
 #, fuzzy, c-format
 msgid "invalid filter option: %s\n"
 msgstr "opsi impor tidak valid\n"
 
-#: g10/gpg.c:3208
+#: g10/gpg.c:3224
 #, c-format
 msgid "%s:%d: invalid export options\n"
 msgstr "%s:%d: opsi ekspor tidak valid\n"
 
-#: g10/gpg.c:3211
+#: g10/gpg.c:3227
 #, c-format
 msgid "invalid export options\n"
 msgstr "opsi ekspor tidak valid\n"
 
-#: g10/gpg.c:3223
+#: g10/gpg.c:3239
 #, fuzzy, c-format
 msgid "%s:%d: invalid list options\n"
 msgstr "%s:%d: opsi impor tidak valid\n"
 
-#: g10/gpg.c:3226
+#: g10/gpg.c:3242
 #, fuzzy, c-format
 msgid "invalid list options\n"
 msgstr "opsi impor tidak valid\n"
 
-#: g10/gpg.c:3234
+#: g10/gpg.c:3250
 msgid "display photo IDs during signature verification"
 msgstr ""
 
-#: g10/gpg.c:3236
+#: g10/gpg.c:3252
 msgid "show policy URLs during signature verification"
 msgstr ""
 
-#: g10/gpg.c:3238
+#: g10/gpg.c:3254
 #, fuzzy
 msgid "show all notations during signature verification"
 msgstr "%s bukanlah set karakter yang valid\n"
 
-#: g10/gpg.c:3240
+#: g10/gpg.c:3256
 msgid "show IETF standard notations during signature verification"
 msgstr ""
 
-#: g10/gpg.c:3244
+#: g10/gpg.c:3260
 msgid "show user-supplied notations during signature verification"
 msgstr ""
 
-#: g10/gpg.c:3246
+#: g10/gpg.c:3262
 #, fuzzy
 msgid "show preferred keyserver URLs during signature verification"
 msgstr "URL signature kebijakan yang diberikan tidak valid\n"
 
-#: g10/gpg.c:3248
+#: g10/gpg.c:3264
 #, fuzzy
 msgid "show user ID validity during signature verification"
 msgstr "%s bukanlah set karakter yang valid\n"
 
-#: g10/gpg.c:3250
+#: g10/gpg.c:3266
 msgid "show revoked and expired user IDs in signature verification"
 msgstr ""
 
-#: g10/gpg.c:3252
+#: g10/gpg.c:3268
 #, fuzzy
 msgid "show only the primary user ID in signature verification"
 msgstr "%s bukanlah set karakter yang valid\n"
 
-#: g10/gpg.c:3254
+#: g10/gpg.c:3270
 msgid "validate signatures with PKA data"
 msgstr ""
 
-#: g10/gpg.c:3256
+#: g10/gpg.c:3272
 msgid "elevate the trust of signatures with valid PKA data"
 msgstr ""
 
-#: g10/gpg.c:3263
+#: g10/gpg.c:3279
 #, fuzzy, c-format
 msgid "%s:%d: invalid verify options\n"
 msgstr "%s:%d: opsi ekspor tidak valid\n"
 
-#: g10/gpg.c:3266
+#: g10/gpg.c:3282
 #, fuzzy, c-format
 msgid "invalid verify options\n"
 msgstr "opsi ekspor tidak valid\n"
 
-#: g10/gpg.c:3273
+#: g10/gpg.c:3289
 #, c-format
 msgid "unable to set exec-path to %s\n"
 msgstr "tidak dapat menset path exec ke %s\n"
 
-#: g10/gpg.c:3478
+#: g10/gpg.c:3498
 #, fuzzy, c-format
 msgid "%s:%d: invalid auto-key-locate list\n"
 msgstr "%s:%d: opsi ekspor tidak valid\n"
 
-#: g10/gpg.c:3481
+#: g10/gpg.c:3501
 #, c-format
 msgid "invalid auto-key-locate list\n"
 msgstr ""
 
-#: g10/gpg.c:3653 sm/gpgsm.c:1541
+#: g10/gpg.c:3673 sm/gpgsm.c:1441
 #, c-format
 msgid "WARNING: program may create a core file!\n"
 msgstr "PERINGATAN: program mungkin membuat file core!\n"
 
-#: g10/gpg.c:3664
+#: g10/gpg.c:3684
 #, c-format
 msgid "WARNING: %s overrides %s\n"
 msgstr "PERINGATAN: %s menimpa %s\n"
 
-#: g10/gpg.c:3673
+#: g10/gpg.c:3693
 #, c-format
 msgid "%s not allowed with %s!\n"
 msgstr "%s tidak dibolehkan dengan %s!\n"
 
-#: g10/gpg.c:3676
+#: g10/gpg.c:3696
 #, c-format
 msgid "%s makes no sense with %s!\n"
 msgstr "%s tidak masuk akal dengan %s!\n"
 
-#: g10/gpg.c:3691 sm/gpgsm.c:1558 dirmngr/dirmngr.c:1082
+#: g10/gpg.c:3711 sm/gpgsm.c:1458 dirmngr/dirmngr.c:1117
 #, c-format
 msgid "WARNING: running with faked system time: "
 msgstr ""
 
-#: g10/gpg.c:3712
+#: g10/gpg.c:3732
 #, fuzzy, c-format
 msgid "will not run with insecure memory due to %s\n"
 msgstr "menulis kunci rahasia ke `%s'\n"
 
-#: g10/gpg.c:3747 g10/gpg.c:3771 sm/gpgsm.c:1625
+#: g10/gpg.c:3767 g10/gpg.c:3791 sm/gpgsm.c:1525
 #, c-format
 msgid "selected cipher algorithm is invalid\n"
 msgstr "algoritma cipher yang dipilih tidak valid\n"
 
-#: g10/gpg.c:3759
+#: g10/gpg.c:3779
 #, fuzzy, c-format
 msgid "selected compression algorithm is invalid\n"
 msgstr "algoritma cipher yang dipilih tidak valid\n"
 
-#: g10/gpg.c:3765
+#: g10/gpg.c:3785
 #, c-format
 msgid "selected certification digest algorithm is invalid\n"
 msgstr "algoritma sertifikasi digest yang dipilih tidak valid\n"
 
-#: g10/gpg.c:3780
+#: g10/gpg.c:3800
 #, c-format
 msgid "completes-needed must be greater than 0\n"
 msgstr "completes-needed harus lebih dari 0\n"
 
-#: g10/gpg.c:3782
+#: g10/gpg.c:3802
 #, c-format
 msgid "marginals-needed must be greater than 1\n"
 msgstr "marginals-needed harus lebih dari 1\n"
 
-#: g10/gpg.c:3784
+#: g10/gpg.c:3804
 #, fuzzy, c-format
 msgid "max-cert-depth must be in the range from 1 to 255\n"
 msgstr "max-cert-depth harus di antara 1 hingga 255\n"
 
-#: g10/gpg.c:3786
+#: g10/gpg.c:3806
 #, c-format
 msgid "invalid default-cert-level; must be 0, 1, 2, or 3\n"
 msgstr "level cert default tidak valid; harus 0, 1, 2, atau 3\n"
 
-#: g10/gpg.c:3788
+#: g10/gpg.c:3808
 #, c-format
 msgid "invalid min-cert-level; must be 1, 2, or 3\n"
 msgstr "level cert min tidak valid; harus 0, 1, 2, atau 3\n"
 
-#: g10/gpg.c:3791
+#: g10/gpg.c:3812
 #, fuzzy, c-format
 #| msgid "NOTE: simple S2K mode (0) is strongly discouraged\n"
 msgid "Note: simple S2K mode (0) is strongly discouraged\n"
 msgstr "CATATAN: mode S2K sederhana (0) tidak dianjurkan\n"
 
-#: g10/gpg.c:3795
+#: g10/gpg.c:3816
 #, c-format
 msgid "invalid S2K mode; must be 0, 1 or 3\n"
 msgstr "mode S2K yang tidak valid; harus 0, 1 atau 3\n"
 
-#: g10/gpg.c:3802
+#: g10/gpg.c:3823
 #, c-format
 msgid "invalid default preferences\n"
 msgstr "preferensi baku tidak valid\n"
 
-#: g10/gpg.c:3806
+#: g10/gpg.c:3827
 #, c-format
 msgid "invalid personal cipher preferences\n"
 msgstr "preferensi cipher personal tidak valid\n"
 
-#: g10/gpg.c:3810
+#: g10/gpg.c:3831
 #, c-format
 msgid "invalid personal digest preferences\n"
 msgstr "preferensi digest personal tidak valid\n"
 
-#: g10/gpg.c:3814
+#: g10/gpg.c:3835
 #, c-format
 msgid "invalid personal compress preferences\n"
 msgstr "preferensi kompresi personal tidak valid\n"
 
-#: g10/gpg.c:3850
+#: g10/gpg.c:3871
 #, c-format
 msgid "%s does not yet work with %s\n"
 msgstr "%s belum dapat dipakai dengan %s\n"
 
-#: g10/gpg.c:3913
+#: g10/gpg.c:3934
 #, fuzzy, c-format
 msgid "compression algorithm '%s' may not be used in %s mode\n"
 msgstr ""
 "anda tidak boleh menggunakan algoritma kompresi \"%s\" saat dalam mode %s.\n"
 
-#: g10/gpg.c:4057
+#: g10/gpg.c:4078
 #, c-format
 msgid "failed to initialize the TrustDB: %s\n"
 msgstr "gagal inisialisasi TrustDB: %s\n"
 
-#: g10/gpg.c:4069
+#: g10/gpg.c:4090
 #, c-format
 msgid "WARNING: recipients (-r) given without using public key encryption\n"
 msgstr ""
 "Peringatan: penerima yang disebutkan (-r) tanpa menggunakan enkripsi public "
 "key \n"
 
-#: g10/gpg.c:4141
+#: g10/gpg.c:4162
 #, fuzzy, c-format
 msgid "symmetric encryption of '%s' failed: %s\n"
 msgstr "dekripsi gagal: %s\n"
 
-#: g10/gpg.c:4170
+#: g10/gpg.c:4191
 #, c-format
 msgid "you cannot use --symmetric --encrypt with --s2k-mode 0\n"
 msgstr ""
 
-#: g10/gpg.c:4173
+#: g10/gpg.c:4194
 #, fuzzy, c-format
 msgid "you cannot use --symmetric --encrypt in %s mode\n"
 msgstr "anda tidak boleh menggunakan %s saat dalam mode %s.\n"
 
-#: g10/gpg.c:4231
+#: g10/gpg.c:4252
 #, c-format
 msgid "you cannot use --symmetric --sign --encrypt with --s2k-mode 0\n"
 msgstr ""
 
-#: g10/gpg.c:4234
+#: g10/gpg.c:4255
 #, fuzzy, c-format
 msgid "you cannot use --symmetric --sign --encrypt in %s mode\n"
 msgstr "anda tidak boleh menggunakan %s saat dalam mode %s.\n"
 
-#: g10/gpg.c:4622 g10/keyserver.c:1881
+#: g10/gpg.c:4643 g10/keyserver.c:1648
 #, c-format
 msgid "keyserver send failed: %s\n"
 msgstr "Pengiriman keyserver gagal: %s\n"
 
-#: g10/gpg.c:4627
+#: g10/gpg.c:4648
 #, c-format
 msgid "keyserver receive failed: %s\n"
 msgstr "Penerimaan keyserver gagal: %s\n"
 
-#: g10/gpg.c:4633
+#: g10/gpg.c:4654
 #, c-format
 msgid "key export failed: %s\n"
 msgstr "Ekspor kunci gagal: %s\n"
 
-#: g10/gpg.c:4646
+#: g10/gpg.c:4667
 #, fuzzy, c-format
 #| msgid "key export failed: %s\n"
 msgid "export as ssh key failed: %s\n"
 msgstr "Ekspor kunci gagal: %s\n"
 
-#: g10/gpg.c:4658
+#: g10/gpg.c:4679
 #, c-format
 msgid "keyserver search failed: %s\n"
 msgstr "Pencarian keyserver gagal: %s\n"
 
-#: g10/gpg.c:4671
+#: g10/gpg.c:4692
 #, c-format
 msgid "keyserver refresh failed: %s\n"
 msgstr "Refresh keyserver gagal: %s\n"
 
-#: g10/gpg.c:4738
+#: g10/gpg.c:4759
 #, c-format
 msgid "dearmoring failed: %s\n"
 msgstr "gagal dearmoring: %s\n"
 
-#: g10/gpg.c:4749
+#: g10/gpg.c:4770
 #, c-format
 msgid "enarmoring failed: %s\n"
 msgstr "gagal enarmoring: %s\n"
 
-#: g10/gpg.c:4841
+#: g10/gpg.c:4862
 #, fuzzy, c-format
 #| msgid "invalid hash algorithm `%s'\n"
 msgid "invalid hash algorithm '%s'\n"
 msgstr "algoritma hash tidak valid `%s'\n"
 
-#: g10/gpg.c:4993 g10/tofu.c:2153
+#: g10/gpg.c:5014 g10/tofu.c:2153
 #, fuzzy, c-format
 msgid "error parsing key specification '%s': %s\n"
 msgstr "kesalahan penciptaan passphrase: %s\n"
 
-#: g10/gpg.c:5006
+#: g10/gpg.c:5027
 #, c-format
 msgid "'%s' does not appear to be a valid key ID, fingerprint or keygrip\n"
 msgstr ""
 
-#: g10/gpg.c:5062
+#: g10/gpg.c:5083
 #, c-format
 msgid "WARNING: no command supplied.  Trying to guess what you mean ...\n"
 msgstr ""
 
-#: g10/gpg.c:5073
+#: g10/gpg.c:5094
 #, c-format
 msgid "Go ahead and type your message ...\n"
 msgstr "Teruskan dan ketikkan pesan anda ....\n"
 
-#: g10/gpg.c:5418
+#: g10/gpg.c:5439
 #, c-format
 msgid "the given certification policy URL is invalid\n"
 msgstr "URL sertifikasi kebijakan yang diberikan tidak valid\n"
 
-#: g10/gpg.c:5420
+#: g10/gpg.c:5441
 #, c-format
 msgid "the given signature policy URL is invalid\n"
 msgstr "URL signature kebijakan yang diberikan tidak valid\n"
 
-#: g10/gpg.c:5453
+#: g10/gpg.c:5474
 #, fuzzy, c-format
 msgid "the given preferred keyserver URL is invalid\n"
 msgstr "URL signature kebijakan yang diberikan tidak valid\n"
@@ -3425,7 +3443,7 @@ msgstr "mengambil kunci ini dari keyring"
 msgid "make timestamp conflicts only a warning"
 msgstr "buat timestamp konflik hanya sebagai peringatan"
 
-#: g10/gpgv.c:86 sm/gpgsm.c:354 tools/gpgconf.c:112
+#: g10/gpgv.c:86 sm/gpgsm.c:357 tools/gpgconf.c:112
 msgid "|FD|write status info to this FD"
 msgstr "|FD|tulis info status ke FD ini"
 
@@ -3509,266 +3527,266 @@ msgstr ""
 msgid "repair keys on import"
 msgstr "tampilkan fingerprint"
 
-#: g10/import.c:380 g10/import.c:699
+#: g10/import.c:392 g10/import.c:711
 #, c-format
 msgid "skipping block of type %d\n"
 msgstr "melewati blok tipe %d\n"
 
-#: g10/import.c:716
+#: g10/import.c:728
 #, fuzzy, c-format
 msgid "%lu keys processed so far\n"
 msgstr "%lu kunci telah diproses\n"
 
-#: g10/import.c:802
+#: g10/import.c:814
 #, c-format
 msgid "Total number processed: %lu\n"
 msgstr "Jumlah yang telah diproses: %lu\n"
 
-#: g10/import.c:805
+#: g10/import.c:817
 #, fuzzy, c-format
 #| msgid "      skipped new keys: %lu\n"
 msgid "    skipped PGP-2 keys: %lu\n"
 msgstr "        lewati kunci baru: %lu\n"
 
-#: g10/import.c:807
+#: g10/import.c:819
 #, c-format
 msgid "      skipped new keys: %lu\n"
 msgstr "        lewati kunci baru: %lu\n"
 
-#: g10/import.c:810
+#: g10/import.c:822
 #, c-format
 msgid "          w/o user IDs: %lu\n"
 msgstr "         tanpa ID user: %lu\n"
 
-#: g10/import.c:813 sm/import.c:130
+#: g10/import.c:825 sm/import.c:130
 #, c-format
 msgid "              imported: %lu"
 msgstr "             diimpor: %lu"
 
-#: g10/import.c:817 sm/import.c:134
+#: g10/import.c:829 sm/import.c:134
 #, c-format
 msgid "             unchanged: %lu\n"
 msgstr "            tidak berubah: %lu\n"
 
-#: g10/import.c:819
+#: g10/import.c:831
 #, c-format
 msgid "          new user IDs: %lu\n"
 msgstr "         ID user baru: %lu\n"
 
-#: g10/import.c:821
+#: g10/import.c:833
 #, c-format
 msgid "           new subkeys: %lu\n"
 msgstr "          subkey baru: %lu\n"
 
-#: g10/import.c:823
+#: g10/import.c:835
 #, c-format
 msgid "        new signatures: %lu\n"
 msgstr "       signature baru: %lu\n"
 
-#: g10/import.c:825
+#: g10/import.c:837
 #, c-format
 msgid "   new key revocations: %lu\n"
 msgstr "  pembatalan kunci baru: %lu\n"
 
-#: g10/import.c:827 sm/import.c:136
+#: g10/import.c:839 sm/import.c:136
 #, c-format
 msgid "      secret keys read: %lu\n"
 msgstr "     kunci rahasia dibaca: %lu\n"
 
-#: g10/import.c:829 sm/import.c:138
+#: g10/import.c:841 sm/import.c:138
 #, c-format
 msgid "  secret keys imported: %lu\n"
 msgstr "  kunci rahasia diimpor: %lu\n"
 
-#: g10/import.c:831 sm/import.c:140
+#: g10/import.c:843 sm/import.c:140
 #, c-format
 msgid " secret keys unchanged: %lu\n"
 msgstr " kunci rahasia tidak berubah: %lu\n"
 
-#: g10/import.c:833 sm/import.c:142
+#: g10/import.c:845 sm/import.c:142
 #, c-format
 msgid "          not imported: %lu\n"
 msgstr "            tidak diimpor: %lu\n"
 
-#: g10/import.c:835
+#: g10/import.c:847
 #, fuzzy, c-format
 msgid "    signatures cleaned: %lu\n"
 msgstr "       signature baru: %lu\n"
 
-#: g10/import.c:837
+#: g10/import.c:849
 #, fuzzy, c-format
 msgid "      user IDs cleaned: %lu\n"
 msgstr "     kunci rahasia dibaca: %lu\n"
 
-#: g10/import.c:1264
+#: g10/import.c:1276
 #, c-format
 msgid ""
 "WARNING: key %s contains preferences for unavailable\n"
 "algorithms on these user IDs:\n"
 msgstr ""
 
-#: g10/import.c:1306
+#: g10/import.c:1318
 #, c-format
 msgid "         \"%s\": preference for cipher algorithm %s\n"
 msgstr ""
 
-#: g10/import.c:1321
+#: g10/import.c:1333
 #, fuzzy, c-format
 msgid "         \"%s\": preference for digest algorithm %s\n"
 msgstr "%s signature, algoritma digest %s\n"
 
-#: g10/import.c:1333
+#: g10/import.c:1345
 #, c-format
 msgid "         \"%s\": preference for compression algorithm %s\n"
 msgstr ""
 
-#: g10/import.c:1346
+#: g10/import.c:1358
 #, c-format
 msgid "it is strongly suggested that you update your preferences and\n"
 msgstr ""
 
-#: g10/import.c:1348
+#: g10/import.c:1360
 #, c-format
 msgid "re-distribute this key to avoid potential algorithm mismatch problems\n"
 msgstr ""
 
-#: g10/import.c:1373
+#: g10/import.c:1385
 #, c-format
 msgid "you can update your preferences with: gpg --edit-key %s updpref save\n"
 msgstr ""
 
-#: g10/import.c:1887 g10/import.c:3001
+#: g10/import.c:1899 g10/import.c:3013
 #, fuzzy, c-format
 msgid "key %s: no user ID\n"
 msgstr "kunci %08lX: tidak ada ID user\n"
 
-#: g10/import.c:1893
+#: g10/import.c:1905
 #, fuzzy, c-format
 msgid "key %s: %s\n"
 msgstr "melewati `%s': %s\n"
 
-#: g10/import.c:1894 g10/import.c:2973
+#: g10/import.c:1906 g10/import.c:2985
 msgid "rejected by import screener"
 msgstr ""
 
-#: g10/import.c:1938
+#: g10/import.c:1950
 #, fuzzy, c-format
 msgid "key %s: PKS subkey corruption repaired\n"
 msgstr "kunci %08lX: subkey HKP yang rusak diperbaiki\n"
 
-#: g10/import.c:1959
+#: g10/import.c:1971
 #, fuzzy, c-format
 msgid "key %s: accepted non self-signed user ID \"%s\"\n"
 msgstr "kunci %08lX: menerima ID user '%s' yang tidak self-signed\n"
 
-#: g10/import.c:1969 g10/import.c:2000
+#: g10/import.c:1981 g10/import.c:2012
 #, fuzzy, c-format
 msgid "key %s: no valid user IDs\n"
 msgstr "kunci %08lX: tidak ada ID user yang valid\n"
 
-#: g10/import.c:1971
+#: g10/import.c:1983
 #, c-format
 msgid "this may be caused by a missing self-signature\n"
 msgstr "mungkin disebabkan oleh self-signature yang tidak ada\n"
 
-#: g10/import.c:2050 g10/import.c:3387
+#: g10/import.c:2062 g10/import.c:3399
 #, fuzzy, c-format
 msgid "key %s: public key not found: %s\n"
 msgstr "kunci %08lX: kunci publik tidak ditemukan: %s\n"
 
-#: g10/import.c:2056
+#: g10/import.c:2068
 #, fuzzy, c-format
 msgid "key %s: new key - skipped\n"
 msgstr "kunci %08lX: kunci baru - dilewati\n"
 
-#: g10/import.c:2068
+#: g10/import.c:2080
 #, c-format
 msgid "no writable keyring found: %s\n"
 msgstr "tidak ditemukan keyring yang dapat ditulisi: %s\n"
 
-#: g10/import.c:2100 g10/import.c:2202 g10/import.c:3464
+#: g10/import.c:2112 g10/import.c:2214 g10/import.c:3476
 #, fuzzy, c-format
 #| msgid "error writing keyring `%s': %s\n"
 msgid "error writing keyring '%s': %s\n"
 msgstr "kesalahan menulis keyring `%s': %s\n"
 
-#: g10/import.c:2123
+#: g10/import.c:2135
 #, fuzzy, c-format
 msgid "key %s: public key \"%s\" imported\n"
 msgstr "kunci %08lX: kunci publik \"%s\" diimpor\n"
 
-#: g10/import.c:2150
+#: g10/import.c:2162
 #, fuzzy, c-format
 msgid "key %s: doesn't match our copy\n"
 msgstr "kunci %08lX: tidak cocok dengan duplikat kami\n"
 
-#: g10/import.c:2218
+#: g10/import.c:2230
 #, fuzzy, c-format
 msgid "key %s: \"%s\" 1 new user ID\n"
 msgstr "kunci %08lX: 1 user ID baru \"%s\"\n"
 
-#: g10/import.c:2221
+#: g10/import.c:2233
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d new user IDs\n"
 msgstr "kunci %08lX: \"%s\" %d user ID baru\n"
 
-#: g10/import.c:2224
+#: g10/import.c:2236
 #, fuzzy, c-format
 msgid "key %s: \"%s\" 1 new signature\n"
 msgstr "kunci %08lX: \"%s\" 1 signature baru\n"
 
-#: g10/import.c:2227
+#: g10/import.c:2239
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d new signatures\n"
 msgstr "kunci %08lX: \"%s\" %d signature baru\n"
 
-#: g10/import.c:2230
+#: g10/import.c:2242
 #, fuzzy, c-format
 msgid "key %s: \"%s\" 1 new subkey\n"
 msgstr "kunci %08lX: \"%s\" 1 subkey baru\n"
 
-#: g10/import.c:2233
+#: g10/import.c:2245
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d new subkeys\n"
 msgstr "kunci %08lX: \"%s\" %d subkey baru\n"
 
-#: g10/import.c:2236
+#: g10/import.c:2248
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d signature cleaned\n"
 msgstr "kunci %08lX: \"%s\" %d signature baru\n"
 
-#: g10/import.c:2239
+#: g10/import.c:2251
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d signatures cleaned\n"
 msgstr "kunci %08lX: \"%s\" %d signature baru\n"
 
-#: g10/import.c:2242
+#: g10/import.c:2254
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d user ID cleaned\n"
 msgstr "kunci %08lX: \"%s\" %d user ID baru\n"
 
-#: g10/import.c:2245
+#: g10/import.c:2257
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d user IDs cleaned\n"
 msgstr "kunci %08lX: \"%s\" %d user ID baru\n"
 
-#: g10/import.c:2281
+#: g10/import.c:2293
 #, fuzzy, c-format
 msgid "key %s: \"%s\" not changed\n"
 msgstr "kunci %08lX: \"%s\" tidak berubah\n"
 
-#: g10/import.c:2640 g10/import.c:2835
+#: g10/import.c:2652 g10/import.c:2847
 #, fuzzy, c-format
 msgid "key %s: secret key imported\n"
 msgstr "kunci %08lX: kunci rahasia diimpor\n"
 
-#: g10/import.c:2648
+#: g10/import.c:2660
 #, fuzzy, c-format
 #| msgid "skipped: secret key already present\n"
 msgid "key %s: secret key already exists\n"
 msgstr "dilewati: kunci pribadi telah ada\n"
 
-#: g10/import.c:2656
+#: g10/import.c:2668
 #, fuzzy, c-format
 msgid "key %s: error sending to agent: %s\n"
 msgstr "kesalahan mengirim ke `%s': %s\n"
@@ -3781,196 +3799,196 @@ msgstr "kesalahan mengirim ke `%s': %s\n"
 #. * Instead, user should be suggested to run 'gpg --card-status',
 #. * then, references to a card will be automatically created
 #. * again.
-#: g10/import.c:2825
+#: g10/import.c:2837
 #, c-format
 msgid "To migrate '%s', with each smartcard, run: %s\n"
 msgstr ""
 
-#: g10/import.c:2972
+#: g10/import.c:2984
 #, fuzzy, c-format
 msgid "secret key %s: %s\n"
 msgstr "kunci rahasia `%s' tidak ditemukan: %s\n"
 
-#: g10/import.c:2993 g10/import.c:3032
+#: g10/import.c:3005 g10/import.c:3044
 #, fuzzy, c-format
 msgid "importing secret keys not allowed\n"
 msgstr "menulis kunci rahasia ke `%s'\n"
 
-#: g10/import.c:3020
+#: g10/import.c:3032
 #, fuzzy, c-format
 msgid "key %s: secret key with invalid cipher %d - skipped\n"
 msgstr "kunci %08lX: kunci rahasia dengan cipher tidak valid %d - dilewati\n"
 
-#: g10/import.c:3182 g10/pkclist.c:72 g10/revoke.c:776
+#: g10/import.c:3194 g10/pkclist.c:72 g10/revoke.c:776
 msgid "No reason specified"
 msgstr "Tidak ada alasan diberikan"
 
-#: g10/import.c:3183 g10/pkclist.c:74 g10/revoke.c:778
+#: g10/import.c:3195 g10/pkclist.c:74 g10/revoke.c:778
 msgid "Key is superseded"
 msgstr "Kunci dilampaui"
 
-#: g10/import.c:3184 g10/pkclist.c:76 g10/revoke.c:777
+#: g10/import.c:3196 g10/pkclist.c:76 g10/revoke.c:777
 msgid "Key has been compromised"
 msgstr "Kunci ini telah dikompromikan"
 
-#: g10/import.c:3185 g10/pkclist.c:78 g10/revoke.c:779
+#: g10/import.c:3197 g10/pkclist.c:78 g10/revoke.c:779
 msgid "Key is no longer used"
 msgstr "Kunci tidak lagi digunakan"
 
-#: g10/import.c:3186 g10/pkclist.c:80 g10/revoke.c:780
+#: g10/import.c:3198 g10/pkclist.c:80 g10/revoke.c:780
 msgid "User ID is no longer valid"
 msgstr "ID User tidak lagi valid"
 
-#: g10/import.c:3311 g10/keylist.c:1254 g10/pkclist.c:84
+#: g10/import.c:3323 g10/keylist.c:1254 g10/pkclist.c:84
 #, c-format
 msgid "reason for revocation: "
 msgstr "Alasan pembatalan:"
 
-#: g10/import.c:3330 g10/keylist.c:1273 g10/pkclist.c:100
+#: g10/import.c:3342 g10/keylist.c:1273 g10/pkclist.c:100
 #, c-format
 msgid "revocation comment: "
 msgstr "Komentar pembatalan:"
 
-#: g10/import.c:3380
+#: g10/import.c:3392
 #, fuzzy, c-format
 msgid "key %s: no public key - can't apply revocation certificate\n"
 msgstr ""
 "kunci %08lX: tdk ada kunci publik-tdk dpt mengaplikasikan sertifikat "
 "pembatalan\n"
 
-#: g10/import.c:3411
+#: g10/import.c:3423
 #, fuzzy, c-format
 msgid "key %s: can't locate original keyblock: %s\n"
 msgstr "kunci %08lX: tidak dapat menemukan keyblock orisinal: %s\n"
 
-#: g10/import.c:3418
+#: g10/import.c:3430
 #, fuzzy, c-format
 msgid "key %s: can't read original keyblock: %s\n"
 msgstr "kunci %08lX: tidak dapat membaca keyblok orisinal: %s\n"
 
-#: g10/import.c:3438
+#: g10/import.c:3450
 #, fuzzy, c-format
 msgid "key %s: invalid revocation certificate: %s - rejected\n"
 msgstr "kunci %08lX: sertifikat pembatalan tidak valid: %s - ditolak\n"
 
-#: g10/import.c:3473
+#: g10/import.c:3485
 #, fuzzy, c-format
 msgid "key %s: \"%s\" revocation certificate imported\n"
 msgstr "kunci %08lX: \"%s\" sertifikat pembatalan diimpor\n"
 
-#: g10/import.c:3559
+#: g10/import.c:3571
 #, fuzzy, c-format
 msgid "key %s: no user ID for signature\n"
 msgstr "kunci %08lX: tidak ada ID user untuk signature\n"
 
-#: g10/import.c:3576
+#: g10/import.c:3588
 #, fuzzy, c-format
 msgid "key %s: unsupported public key algorithm on user ID \"%s\"\n"
 msgstr "kunci %08lX: algoritma publik key tidak didukung pada user id \"%s\"\n"
 
-#: g10/import.c:3578
+#: g10/import.c:3590
 #, fuzzy, c-format
 msgid "key %s: invalid self-signature on user ID \"%s\"\n"
 msgstr "kunci %08lX: self-signature tidak valid pada user id \"%s\"\n"
 
-#: g10/import.c:3595 g10/import.c:3623 g10/import.c:3679
+#: g10/import.c:3607 g10/import.c:3635 g10/import.c:3691
 #, fuzzy, c-format
 msgid "key %s: unsupported public key algorithm\n"
 msgstr "kunci %08lX: algoritma publik key tidak didukung\n"
 
-#: g10/import.c:3596
+#: g10/import.c:3608
 #, fuzzy, c-format
 msgid "key %s: invalid direct key signature\n"
 msgstr "kunci %08lX: signature kunci langsung ditambahkan\n"
 
-#: g10/import.c:3610
+#: g10/import.c:3622
 #, fuzzy, c-format
 msgid "key %s: no subkey for key binding\n"
 msgstr "kunci %08lX: tidak ada subkey untuk key binding\n"
 
-#: g10/import.c:3625
+#: g10/import.c:3637
 #, fuzzy, c-format
 msgid "key %s: invalid subkey binding\n"
 msgstr "kunci %08lX: subkey binding tidak valid\n"
 
-#: g10/import.c:3644
+#: g10/import.c:3656
 #, fuzzy, c-format
 msgid "key %s: removed multiple subkey binding\n"
 msgstr "kunci %08lX: hapus subkey binding ganda\n"
 
-#: g10/import.c:3668
+#: g10/import.c:3680
 #, fuzzy, c-format
 msgid "key %s: no subkey for key revocation\n"
 msgstr "kunci %08lX: tidak ada subkey untuk pembatalan kunci\n"
 
-#: g10/import.c:3681
+#: g10/import.c:3693
 #, fuzzy, c-format
 msgid "key %s: invalid subkey revocation\n"
 msgstr "kunci %08lX: pembatalan subkey tidak valid\n"
 
-#: g10/import.c:3696
+#: g10/import.c:3708
 #, fuzzy, c-format
 msgid "key %s: removed multiple subkey revocation\n"
 msgstr "kunci %08lX: hapus pembatalan subkey ganda\n"
 
-#: g10/import.c:3740
+#: g10/import.c:3752
 #, fuzzy, c-format
 msgid "key %s: skipped user ID \"%s\"\n"
 msgstr "kunci %08lX: melewati ID user "
 
-#: g10/import.c:3767
+#: g10/import.c:3779
 #, fuzzy, c-format
 msgid "key %s: skipped subkey\n"
 msgstr "kunci %08lX: melewati subkey\n"
 
-#: g10/import.c:3798
+#: g10/import.c:3810
 #, fuzzy, c-format
 msgid "key %s: non exportable signature (class 0x%02X) - skipped\n"
 msgstr "kunci %08lX: signature tidak dapat diekpor (kelas %02x) - dilewati\n"
 
-#: g10/import.c:3809
+#: g10/import.c:3821
 #, fuzzy, c-format
 msgid "key %s: revocation certificate at wrong place - skipped\n"
 msgstr "kunci %08lX: sertifikat pembatalan di tempat yang salah - dilewati\n"
 
-#: g10/import.c:3827
+#: g10/import.c:3839
 #, fuzzy, c-format
 msgid "key %s: invalid revocation certificate: %s - skipped\n"
 msgstr "kunci %08lX: sertifikat pembatalan tidak valid: %s - dilewati\n"
 
-#: g10/import.c:3841
+#: g10/import.c:3853
 #, fuzzy, c-format
 msgid "key %s: subkey signature in wrong place - skipped\n"
 msgstr "kunci %08lX: signature subkey di tempat yang salah - dilewati\n"
 
-#: g10/import.c:3849
+#: g10/import.c:3861
 #, fuzzy, c-format
 msgid "key %s: unexpected signature class (0x%02X) - skipped\n"
 msgstr "kunci %08lX: klas signature tidak diharapkan (0x%02x) - dilewati\n"
 
-#: g10/import.c:4022
+#: g10/import.c:4034
 #, fuzzy, c-format
 msgid "key %s: duplicated user ID detected - merged\n"
 msgstr "kunci %08lX: terdeteksi ID user duplikat - digabungkan\n"
 
-#: g10/import.c:4087
+#: g10/import.c:4099
 #, fuzzy, c-format
 msgid "WARNING: key %s may be revoked: fetching revocation key %s\n"
 msgstr ""
 "Peringatan: kunci %08lX dapat dibatalkan: mengambil kunci pembatalan %08lX\n"
 
-#: g10/import.c:4103
+#: g10/import.c:4115
 #, fuzzy, c-format
 msgid "WARNING: key %s may be revoked: revocation key %s not present.\n"
 msgstr ""
 "Peringatan: kunci %08lX dapat dibatalkan: kunci pembatalan %08lX tidak ada\n"
 
-#: g10/import.c:4169
+#: g10/import.c:4181
 #, fuzzy, c-format
 msgid "key %s: \"%s\" revocation certificate added\n"
 msgstr "kunci %08lX: \"%s\" penambahan sertifikat pembatalan\n"
 
-#: g10/import.c:4207
+#: g10/import.c:4219
 #, fuzzy, c-format
 msgid "key %s: direct key signature added\n"
 msgstr "kunci %08lX: signature kunci langsung ditambahkan\n"
@@ -4039,7 +4057,7 @@ msgid ""
 "all signatures.\n"
 msgstr ""
 
-#: g10/keydb.c:431 g10/keydb.c:458 sm/keydb.c:191 sm/keydb.c:204
+#: g10/keydb.c:431 g10/keydb.c:458 sm/keydb.c:190 sm/keydb.c:203
 #, fuzzy, c-format
 msgid "error creating keybox '%s': %s\n"
 msgstr "kesalahan menulis keyring `%s': %s\n"
@@ -4050,7 +4068,7 @@ msgstr "kesalahan menulis keyring `%s': %s\n"
 msgid "error creating keyring '%s': %s\n"
 msgstr "kesalahan menulis keyring `%s': %s\n"
 
-#: g10/keydb.c:470 sm/keydb.c:210
+#: g10/keydb.c:470 sm/keydb.c:209
 #, fuzzy, c-format
 msgid "keybox '%s' created\n"
 msgstr "%s: keyring tercipta\n"
@@ -4128,13 +4146,13 @@ msgstr ""
 msgid "User ID \"%s\" is revoked."
 msgstr "User ID \"%s\" dibatalkan."
 
-#: g10/keyedit.c:569 g10/keyedit.c:597 g10/keyedit.c:624 g10/keyedit.c:808
-#: g10/keyedit.c:1655
+#: g10/keyedit.c:569 g10/keyedit.c:597 g10/keyedit.c:624 g10/keyedit.c:809
+#: g10/keyedit.c:1656
 msgid "Are you sure you still want to sign it? (y/N) "
 msgstr "Apakah anda yakin masih ingin menandainya? (y/N) "
 
-#: g10/keyedit.c:583 g10/keyedit.c:611 g10/keyedit.c:638 g10/keyedit.c:814
-#: g10/keyedit.c:1660 g10/keyedit.c:2667
+#: g10/keyedit.c:583 g10/keyedit.c:611 g10/keyedit.c:638 g10/keyedit.c:815
+#: g10/keyedit.c:1661 g10/keyedit.c:2668
 msgid "  Unable to sign.\n"
 msgstr "..Tidak dapat menandai.\n"
 
@@ -4209,29 +4227,29 @@ msgstr "\"%s\" Sudah ditandai secara lokal dengan kunci %08lX\n"
 msgid "\"%s\" was already signed by key %s\n"
 msgstr "\"%s\" Sudah ditandai dengan kunci %08lX\n"
 
-#: g10/keyedit.c:756
+#: g10/keyedit.c:757
 msgid "Do you want to sign it again anyway? (y/N) "
 msgstr "Apakah anda ingin menandainya lagi? (y/N) "
 
-#: g10/keyedit.c:778
+#: g10/keyedit.c:779
 #, fuzzy, c-format
 msgid "Nothing to sign with key %s\n"
 msgstr "Tidak ada yang ditandai dengan kunci %08lX\n"
 
-#: g10/keyedit.c:802
+#: g10/keyedit.c:803
 msgid "This key has expired!"
 msgstr "Kunci ini telah berakhir!"
 
-#: g10/keyedit.c:820
+#: g10/keyedit.c:821
 #, c-format
 msgid "This key is due to expire on %s.\n"
 msgstr "Kunci ini akan kadaluarsa pada %s \n"
 
-#: g10/keyedit.c:826
+#: g10/keyedit.c:827
 msgid "Do you want your signature to expire at the same time? (Y/n) "
 msgstr "Anda ingin signature anda kadaluarsa pada waktu yang sama? (y/n) "
 
-#: g10/keyedit.c:867
+#: g10/keyedit.c:868
 msgid ""
 "How carefully have you verified the key you are about to sign actually "
 "belongs\n"
@@ -4241,32 +4259,32 @@ msgstr ""
 "menandai benar benar milik\n"
 "orang tersebut?  Jika anda tidak tahu jawabannya. masukkan \"0\".\n"
 
-#: g10/keyedit.c:872
+#: g10/keyedit.c:873
 #, c-format
 msgid "   (0) I will not answer.%s\n"
 msgstr "   (0) Saya tidak akan menjawab.%s\n"
 
-#: g10/keyedit.c:874
+#: g10/keyedit.c:875
 #, c-format
 msgid "   (1) I have not checked at all.%s\n"
 msgstr "   (1) Saya belum memeriksanya.%s\n"
 
-#: g10/keyedit.c:876
+#: g10/keyedit.c:877
 #, c-format
 msgid "   (2) I have done casual checking.%s\n"
 msgstr "   (2) Saya telah melakukan pemeriksaan biasa.%s\n"
 
-#: g10/keyedit.c:879
+#: g10/keyedit.c:880
 #, c-format
 msgid "   (3) I have done very careful checking.%s\n"
 msgstr "   (3) Saya telah melakukan pemeriksaan hati-hati.%s\n"
 
-#: g10/keyedit.c:886
+#: g10/keyedit.c:887
 #, fuzzy
 msgid "Your selection? (enter '?' for more information): "
 msgstr "Pilihan Anda? (berikan '?' untuk informasi lebih lanjut):"
 
-#: g10/keyedit.c:913
+#: g10/keyedit.c:914
 #, fuzzy, c-format
 msgid ""
 "Are you sure that you want to sign this key with your\n"
@@ -4275,271 +4293,271 @@ msgstr ""
 "Apakah anda yakin untuk menandai kunci ini \n"
 "dengan kunci anda: "
 
-#: g10/keyedit.c:921
+#: g10/keyedit.c:922
 #, fuzzy
 msgid "This will be a self-signature.\n"
 msgstr ""
 "\n"
 "Ini akan jadi self-signature.\n"
 
-#: g10/keyedit.c:926
+#: g10/keyedit.c:927
 #, fuzzy
 msgid "WARNING: the signature will not be marked as non-exportable.\n"
 msgstr ""
 "\n"
 "Peringatan: Signature akan ditandai sebagai tidak dapat diekspor.\n"
 
-#: g10/keyedit.c:933
+#: g10/keyedit.c:934
 #, fuzzy
 msgid "WARNING: the signature will not be marked as non-revocable.\n"
 msgstr ""
 "\n"
 "Peringatan: Signature akan ditandai sebagai tidak dapat dibatalkan.\n"
 
-#: g10/keyedit.c:943
+#: g10/keyedit.c:944
 #, fuzzy
 msgid "The signature will be marked as non-exportable.\n"
 msgstr ""
 "\n"
 "Signature akan ditandai sebagai tidak dapat diekspor.\n"
 
-#: g10/keyedit.c:950
+#: g10/keyedit.c:951
 #, fuzzy
 msgid "The signature will be marked as non-revocable.\n"
 msgstr ""
 "\n"
 "Signature akan ditandai sebagai tidak dapat dibatalkan.\n"
 
-#: g10/keyedit.c:957
+#: g10/keyedit.c:958
 #, fuzzy
 msgid "I have not checked this key at all.\n"
 msgstr ""
 "\n"
 "Saya belum memeriksa kunci ini sama sekali.\n"
 
-#: g10/keyedit.c:962
+#: g10/keyedit.c:963
 #, fuzzy
 msgid "I have checked this key casually.\n"
 msgstr ""
 "\n"
 "Saya telah memeriksa kunci ini.\n"
 
-#: g10/keyedit.c:967
+#: g10/keyedit.c:968
 #, fuzzy
 msgid "I have checked this key very carefully.\n"
 msgstr ""
 "\n"
 "Saya telah memeriksa kunci ini dengan sangat hati-hati.\n"
 
-#: g10/keyedit.c:979
+#: g10/keyedit.c:980
 #, fuzzy
 msgid "Really sign? (y/N) "
 msgstr "Ditandai? "
 
-#: g10/keyedit.c:1030 g10/keyedit.c:6154 g10/keyedit.c:6237 g10/keyedit.c:6366
-#: g10/keyedit.c:6428 g10/sign.c:466
+#: g10/keyedit.c:1031 g10/keyedit.c:6155 g10/keyedit.c:6238 g10/keyedit.c:6367
+#: g10/keyedit.c:6429 g10/sign.c:466
 #, c-format
 msgid "signing failed: %s\n"
 msgstr "gagal menandai: %s\n"
 
-#: g10/keyedit.c:1117
+#: g10/keyedit.c:1118
 msgid "Key has only stub or on-card key items - no passphrase to change.\n"
 msgstr ""
 
-#: g10/keyedit.c:1149
+#: g10/keyedit.c:1150
 #, fuzzy, c-format
 #| msgid "error creating passphrase: %s\n"
 msgid "key %s: error changing passphrase: %s\n"
 msgstr "kesalahan penciptaan passphrase: %s\n"
 
-#: g10/keyedit.c:1261
+#: g10/keyedit.c:1262
 msgid "save and quit"
 msgstr "simpan dan berhenti"
 
-#: g10/keyedit.c:1264
+#: g10/keyedit.c:1265
 #, fuzzy
 msgid "show key fingerprint"
 msgstr "tampilkan fingerprint"
 
-#: g10/keyedit.c:1265
+#: g10/keyedit.c:1266
 #, fuzzy
 msgid "show the keygrip"
 msgstr "Notasi signature: "
 
-#: g10/keyedit.c:1266
+#: g10/keyedit.c:1267
 msgid "list key and user IDs"
 msgstr "tampilkan kunci dan ID user"
 
-#: g10/keyedit.c:1268
+#: g10/keyedit.c:1269
 msgid "select user ID N"
 msgstr "pilih ID user N"
 
-#: g10/keyedit.c:1269
+#: g10/keyedit.c:1270
 #, fuzzy
 msgid "select subkey N"
 msgstr "pilih ID user N"
 
-#: g10/keyedit.c:1270
+#: g10/keyedit.c:1271
 #, fuzzy
 msgid "check signatures"
 msgstr "batalkan signature"
 
-#: g10/keyedit.c:1276
+#: g10/keyedit.c:1277
 msgid "sign selected user IDs [* see below for related commands]"
 msgstr ""
 
-#: g10/keyedit.c:1281
+#: g10/keyedit.c:1282
 #, fuzzy
 msgid "sign selected user IDs locally"
 msgstr "tandai kunci secara lokal"
 
-#: g10/keyedit.c:1282
+#: g10/keyedit.c:1283
 #, fuzzy
 msgid "sign selected user IDs with a trust signature"
 msgstr "Petunjuk: Pilih ID user untuk ditandai\n"
 
-#: g10/keyedit.c:1284
+#: g10/keyedit.c:1285
 msgid "sign selected user IDs with a non-revocable signature"
 msgstr ""
 
-#: g10/keyedit.c:1286
+#: g10/keyedit.c:1287
 msgid "add a user ID"
 msgstr "tambah sebuah ID user"
 
-#: g10/keyedit.c:1288
+#: g10/keyedit.c:1289
 msgid "add a photo ID"
 msgstr "tambah sebuah photo ID"
 
-#: g10/keyedit.c:1289
+#: g10/keyedit.c:1290
 #, fuzzy
 msgid "delete selected user IDs"
 msgstr "hapus ID user"
 
-#: g10/keyedit.c:1292
+#: g10/keyedit.c:1293
 #, fuzzy
 msgid "add a subkey"
 msgstr "addkey"
 
-#: g10/keyedit.c:1295
+#: g10/keyedit.c:1296
 msgid "add a key to a smartcard"
 msgstr ""
 
-#: g10/keyedit.c:1297
+#: g10/keyedit.c:1298
 msgid "move a key to a smartcard"
 msgstr ""
 
-#: g10/keyedit.c:1299
+#: g10/keyedit.c:1300
 msgid "move a backup key to a smartcard"
 msgstr ""
 
-#: g10/keyedit.c:1301
+#: g10/keyedit.c:1302
 #, fuzzy
 msgid "delete selected subkeys"
 msgstr "hapus kunci sekunder"
 
-#: g10/keyedit.c:1303
+#: g10/keyedit.c:1304
 msgid "add a revocation key"
 msgstr "tambah kunci pembatalan"
 
-#: g10/keyedit.c:1305
+#: g10/keyedit.c:1306
 #, fuzzy
 msgid "delete signatures from the selected user IDs"
 msgstr "Perbarui preferensi untuk user ID terpilih?"
 
-#: g10/keyedit.c:1307
+#: g10/keyedit.c:1308
 #, fuzzy
 msgid "change the expiration date for the key or selected subkeys"
 msgstr "Anda tidak dapat merubah batas waktu kunci v3\n"
 
-#: g10/keyedit.c:1309
+#: g10/keyedit.c:1310
 #, fuzzy
 msgid "flag the selected user ID as primary"
 msgstr "tandai ID user sebagai primer"
 
-#: g10/keyedit.c:1312
+#: g10/keyedit.c:1313
 msgid "list preferences (expert)"
 msgstr "tampilkan preferensi (ahli)"
 
-#: g10/keyedit.c:1313
+#: g10/keyedit.c:1314
 msgid "list preferences (verbose)"
 msgstr "tampilkan preferensi (verbose)"
 
-#: g10/keyedit.c:1315
+#: g10/keyedit.c:1316
 #, fuzzy
 msgid "set preference list for the selected user IDs"
 msgstr "Perbarui preferensi untuk user ID terpilih?"
 
-#: g10/keyedit.c:1318
+#: g10/keyedit.c:1319
 #, fuzzy
 msgid "set the preferred keyserver URL for the selected user IDs"
 msgstr "tidak dapat memparsing URI keyserver\n"
 
-#: g10/keyedit.c:1320
+#: g10/keyedit.c:1321
 #, fuzzy
 msgid "set a notation for the selected user IDs"
 msgstr "Perbarui preferensi untuk user ID terpilih?"
 
-#: g10/keyedit.c:1322
+#: g10/keyedit.c:1323
 msgid "change the passphrase"
 msgstr "ubah passphrase"
 
-#: g10/keyedit.c:1325
+#: g10/keyedit.c:1326
 msgid "change the ownertrust"
 msgstr "ubah ownertrust"
 
-#: g10/keyedit.c:1328
+#: g10/keyedit.c:1329
 #, fuzzy
 msgid "revoke signatures on the selected user IDs"
 msgstr "Benar-benar hapus seluruh ID user terpilih? "
 
-#: g10/keyedit.c:1330
+#: g10/keyedit.c:1331
 #, fuzzy
 msgid "revoke selected user IDs"
 msgstr "batalkan sebuah ID user"
 
-#: g10/keyedit.c:1333
+#: g10/keyedit.c:1334
 #, fuzzy
 msgid "revoke key or selected subkeys"
 msgstr "batalkan kunci sekunder"
 
-#: g10/keyedit.c:1335
+#: g10/keyedit.c:1336
 #, fuzzy
 msgid "enable key"
 msgstr "aktifkan kunci"
 
-#: g10/keyedit.c:1336
+#: g10/keyedit.c:1337
 #, fuzzy
 msgid "disable key"
 msgstr "tiadakan kunci"
 
-#: g10/keyedit.c:1338
+#: g10/keyedit.c:1339
 #, fuzzy
 msgid "show selected photo IDs"
 msgstr "tampilkan photo ID"
 
-#: g10/keyedit.c:1340
+#: g10/keyedit.c:1341
 msgid "compact unusable user IDs and remove unusable signatures from key"
 msgstr ""
 
-#: g10/keyedit.c:1342
+#: g10/keyedit.c:1343
 msgid "compact unusable user IDs and remove all signatures from key"
 msgstr ""
 
-#: g10/keyedit.c:1463
+#: g10/keyedit.c:1464
 msgid "Secret key is available.\n"
 msgstr "Kunci rahasia tersedia.\n"
 
-#: g10/keyedit.c:1465
+#: g10/keyedit.c:1466
 #, fuzzy
 #| msgid "Secret key is available.\n"
 msgid "Secret subkeys are available.\n"
 msgstr "Kunci rahasia tersedia.\n"
 
-#: g10/keyedit.c:1567
+#: g10/keyedit.c:1568
 msgid "Need the secret key to do this.\n"
 msgstr "Perlu kunci rahasia untuk melakukan hal ini.\n"
 
-#: g10/keyedit.c:1590
+#: g10/keyedit.c:1591
 msgid ""
 "* The 'sign' command may be prefixed with an 'l' for local signatures "
 "(lsign),\n"
@@ -4547,314 +4565,314 @@ msgid ""
 "  (nrsign), or any combination thereof (ltsign, tnrsign, etc.).\n"
 msgstr ""
 
-#: g10/keyedit.c:1648 g10/keyedit.c:2667 g10/keyedit.c:3040 g10/keyedit.c:3108
+#: g10/keyedit.c:1649 g10/keyedit.c:2668 g10/keyedit.c:3041 g10/keyedit.c:3109
 msgid "Key is revoked."
 msgstr "Kunci dibatalkan"
 
-#: g10/keyedit.c:1671
+#: g10/keyedit.c:1672
 #, fuzzy
 msgid "Really sign all text user IDs? (y/N) "
 msgstr "Tandai ID seluruh user? "
 
-#: g10/keyedit.c:1675
+#: g10/keyedit.c:1676
 #, fuzzy
 msgid "Really sign all user IDs? (y/N) "
 msgstr "Tandai ID seluruh user? "
 
-#: g10/keyedit.c:1683
+#: g10/keyedit.c:1684
 msgid "Hint: Select the user IDs to sign\n"
 msgstr "Petunjuk: Pilih ID user untuk ditandai\n"
 
-#: g10/keyedit.c:1694
+#: g10/keyedit.c:1695
 #, fuzzy, c-format
 msgid "Unknown signature type '%s'\n"
 msgstr "kelas signature tidak dikenal"
 
-#: g10/keyedit.c:1718
+#: g10/keyedit.c:1719
 #, c-format
 msgid "This command is not allowed while in %s mode.\n"
 msgstr "Perintah ini tidak dibolehkan saat dalam mode %s.\n"
 
-#: g10/keyedit.c:1740 g10/keyedit.c:1764 g10/keyedit.c:1961
+#: g10/keyedit.c:1741 g10/keyedit.c:1765 g10/keyedit.c:1962
 msgid "You must select at least one user ID.\n"
 msgstr "Anda harus memilih minimum satu ID user.\n"
 
-#: g10/keyedit.c:1742 g10/keyedit.c:1766 g10/keyedit.c:1923 g10/keyedit.c:1963
+#: g10/keyedit.c:1743 g10/keyedit.c:1767 g10/keyedit.c:1924 g10/keyedit.c:1964
 #, c-format
 msgid "(Use the '%s' command.)\n"
 msgstr ""
 
-#: g10/keyedit.c:1745
+#: g10/keyedit.c:1746
 msgid "You can't delete the last user ID!\n"
 msgstr "Anda tidak dapat menghapus ID user terakhir!\n"
 
-#: g10/keyedit.c:1748
+#: g10/keyedit.c:1749
 #, fuzzy
 msgid "Really remove all selected user IDs? (y/N) "
 msgstr "Hapus seluruh ID user terpilih? "
 
-#: g10/keyedit.c:1749
+#: g10/keyedit.c:1750
 #, fuzzy
 msgid "Really remove this user ID? (y/N) "
 msgstr "Hapus ID user ini? "
 
 #. TRANSLATORS: Please take care: This is about
 #. moving the key and not about removing it.
-#: g10/keyedit.c:1806
+#: g10/keyedit.c:1807
 #, fuzzy
 msgid "Really move the primary key? (y/N) "
 msgstr "Hapus ID user ini? "
 
-#: g10/keyedit.c:1818 g10/keyedit.c:4803
+#: g10/keyedit.c:1819 g10/keyedit.c:4804
 #, fuzzy
 msgid "You must select exactly one key.\n"
 msgstr "Anda harus memilih minimum satu kunci.\n"
 
-#: g10/keyedit.c:1846
+#: g10/keyedit.c:1847
 msgid "Command expects a filename argument\n"
 msgstr ""
 
-#: g10/keyedit.c:1867
+#: g10/keyedit.c:1868
 #, fuzzy, c-format
 msgid "Can't open '%s': %s\n"
 msgstr "tidak dapat membuka `%s': %s\n"
 
-#: g10/keyedit.c:1886
+#: g10/keyedit.c:1887
 #, fuzzy, c-format
 msgid "Error reading backup key from '%s': %s\n"
 msgstr "kesalahan menulis keyring `%s': %s\n"
 
-#: g10/keyedit.c:1921
+#: g10/keyedit.c:1922
 msgid "You must select at least one key.\n"
 msgstr "Anda harus memilih minimum satu kunci.\n"
 
-#: g10/keyedit.c:1927
+#: g10/keyedit.c:1928
 #, fuzzy
 msgid "Do you really want to delete the selected keys? (y/N) "
 msgstr "Anda ingin menghapus kunci terpilih ini? "
 
-#: g10/keyedit.c:1929
+#: g10/keyedit.c:1930
 #, fuzzy
 msgid "Do you really want to delete this key? (y/N) "
 msgstr "Anda ingin menghapus kunci ini? "
 
-#: g10/keyedit.c:1967
+#: g10/keyedit.c:1968
 #, fuzzy
 msgid "Really revoke all selected user IDs? (y/N) "
 msgstr "Benar-benar hapus seluruh ID user terpilih? "
 
-#: g10/keyedit.c:1968
+#: g10/keyedit.c:1969
 #, fuzzy
 msgid "Really revoke this user ID? (y/N) "
 msgstr "Benar-benar hapus ID user ini? "
 
-#: g10/keyedit.c:1986
+#: g10/keyedit.c:1987
 #, fuzzy
 msgid "Do you really want to revoke the entire key? (y/N) "
 msgstr "Anda ingin membatalkan kunci ini? "
 
-#: g10/keyedit.c:1997
+#: g10/keyedit.c:1998
 #, fuzzy
 msgid "Do you really want to revoke the selected subkeys? (y/N) "
 msgstr "Anda ingin membatalkan kunci terpilih ini? "
 
-#: g10/keyedit.c:1999
+#: g10/keyedit.c:2000
 #, fuzzy
 msgid "Do you really want to revoke this subkey? (y/N) "
 msgstr "Anda ingin membatalkan kunci ini? "
 
-#: g10/keyedit.c:2057
+#: g10/keyedit.c:2058
 msgid "Owner trust may not be set while using a user provided trust database\n"
 msgstr ""
 
-#: g10/keyedit.c:2102
+#: g10/keyedit.c:2103
 #, fuzzy
 msgid "Set preference list to:\n"
 msgstr "set daftar preferensi"
 
-#: g10/keyedit.c:2109
+#: g10/keyedit.c:2110
 #, fuzzy
 msgid "Really update the preferences for the selected user IDs? (y/N) "
 msgstr "Perbarui preferensi untuk user ID terpilih?"
 
-#: g10/keyedit.c:2111
+#: g10/keyedit.c:2112
 #, fuzzy
 msgid "Really update the preferences? (y/N) "
 msgstr "Update preferensi?"
 
-#: g10/keyedit.c:2185
+#: g10/keyedit.c:2186
 #, fuzzy
 msgid "Save changes? (y/N) "
 msgstr "Simpan perubahan? "
 
-#: g10/keyedit.c:2189
+#: g10/keyedit.c:2190
 #, fuzzy
 msgid "Quit without saving? (y/N) "
 msgstr "Berhenti tanpa menyimpan? "
 
-#: g10/keyedit.c:2216 g10/keyedit.c:2762 g10/keyedit.c:3061 g10/keyedit.c:3214
+#: g10/keyedit.c:2217 g10/keyedit.c:2763 g10/keyedit.c:3062 g10/keyedit.c:3215
 #, c-format
 msgid "Key not changed so no update needed.\n"
 msgstr "Kunci tidak berubah sehingga tidak perlu pembaharuan.\n"
 
-#: g10/keyedit.c:2448
+#: g10/keyedit.c:2449
 #, fuzzy, c-format
 #| msgid "You can't delete the last user ID!\n"
 msgid "cannot revoke the last valid user ID.\n"
 msgstr "Anda tidak dapat menghapus ID user terakhir!\n"
 
-#: g10/keyedit.c:2475
+#: g10/keyedit.c:2476
 #, fuzzy, c-format
 msgid "revoking the user ID failed: %s\n"
 msgstr "Gagal memeriksa signature yang dibuat: %s\n"
 
-#: g10/keyedit.c:2541
+#: g10/keyedit.c:2542
 #, fuzzy, c-format
 msgid "setting the primary user ID failed: %s\n"
 msgstr "Gagal memeriksa signature yang dibuat: %s\n"
 
-#: g10/keyedit.c:2572
+#: g10/keyedit.c:2573
 #, fuzzy, c-format
 msgid "\"%s\" is not a fingerprint\n"
 msgstr "kesalahan: fingerprint tidak valid\n"
 
-#: g10/keyedit.c:2602
+#: g10/keyedit.c:2603
 #, fuzzy, c-format
 msgid "\"%s\" is not the primary fingerprint\n"
 msgstr "gagal inisialisasi TrustDB: %s\n"
 
-#: g10/keyedit.c:2738 g10/keyedit.c:2741
+#: g10/keyedit.c:2739 g10/keyedit.c:2742
 #, fuzzy, c-format
 #| msgid "invalid value\n"
 msgid "Invalid user ID '%s': %s\n"
 msgstr "nilai yang tidak valid\n"
 
-#: g10/keyedit.c:2744
+#: g10/keyedit.c:2745
 #, fuzzy
 #| msgid "No such user ID.\n"
 msgid "No matching user IDs."
 msgstr "Tidak ada ID user tersebut.\n"
 
-#: g10/keyedit.c:2744
+#: g10/keyedit.c:2745
 #, fuzzy
 msgid "Nothing to sign.\n"
 msgstr "Tidak ada yang ditandai dengan kunci %08lX\n"
 
-#: g10/keyedit.c:2937 g10/keyedit.c:6019
+#: g10/keyedit.c:2938 g10/keyedit.c:6020
 #, fuzzy, c-format
 msgid "Not signed by you.\n"
 msgstr "   ditandai oleh %08lX pada %s%s\n"
 
-#: g10/keyedit.c:2995
+#: g10/keyedit.c:2996
 #, fuzzy, c-format
 #| msgid "checking created signature failed: %s\n"
 msgid "revoking the key signature failed: %s\n"
 msgstr "Gagal memeriksa signature yang dibuat: %s\n"
 
-#: g10/keyedit.c:3116
+#: g10/keyedit.c:3117
 #, fuzzy, c-format
 msgid "'%s' is not a valid expiration time\n"
 msgstr "%s bukanlah set karakter yang valid\n"
 
-#: g10/keyedit.c:3159
+#: g10/keyedit.c:3160
 #, fuzzy, c-format
 msgid "\"%s\" is not a proper fingerprint\n"
 msgstr "kesalahan: fingerprint tidak valid\n"
 
-#: g10/keyedit.c:3183
+#: g10/keyedit.c:3184
 #, fuzzy, c-format
 msgid "subkey \"%s\" not found\n"
 msgstr "kunci '%s' tidak ditemukan: %s\n"
 
-#: g10/keyedit.c:3306
+#: g10/keyedit.c:3307
 msgid "AEAD: "
 msgstr ""
 
-#: g10/keyedit.c:3323
+#: g10/keyedit.c:3324
 msgid "Digest: "
 msgstr "Digest: "
 
-#: g10/keyedit.c:3380
+#: g10/keyedit.c:3381
 msgid "Features: "
 msgstr "Fitur: "
 
-#: g10/keyedit.c:3397
+#: g10/keyedit.c:3398
 msgid "Keyserver no-modify"
 msgstr ""
 
-#: g10/keyedit.c:3412 g10/keylist.c:376
+#: g10/keyedit.c:3413 g10/keylist.c:376
 msgid "Preferred keyserver: "
 msgstr ""
 
-#: g10/keyedit.c:3420 g10/keyedit.c:3421
+#: g10/keyedit.c:3421 g10/keyedit.c:3422
 #, fuzzy
 msgid "Notations: "
 msgstr "Notasi: "
 
-#: g10/keyedit.c:3669
+#: g10/keyedit.c:3670
 msgid "There are no preferences on a PGP 2.x-style user ID.\n"
 msgstr "Tidak ada preferensi pada user ID bergaya PGP 2.x.\n"
 
-#: g10/keyedit.c:3741
+#: g10/keyedit.c:3742
 #, fuzzy, c-format
 msgid "The following key was revoked on %s by %s key %s\n"
 msgstr "Kunci ini dapat dibatalkan oleh kunci %s"
 
-#: g10/keyedit.c:3765
+#: g10/keyedit.c:3766
 #, fuzzy, c-format
 msgid "This key may be revoked by %s key %s"
 msgstr "Kunci ini dapat dibatalkan oleh kunci %s"
 
-#: g10/keyedit.c:3771
+#: g10/keyedit.c:3772
 #, fuzzy
 msgid "(sensitive)"
 msgstr " (sensitive)"
 
-#: g10/keyedit.c:3813 g10/keyedit.c:3960 g10/keylist.c:264 g10/keyserver.c:538
+#: g10/keyedit.c:3814 g10/keyedit.c:3961 g10/keylist.c:264 g10/keyserver.c:361
 #, fuzzy, c-format
 msgid "created: %s"
 msgstr "tidak dapat membuat %s: %s\n"
 
-#: g10/keyedit.c:3816 g10/keylist.c:2149
+#: g10/keyedit.c:3817 g10/keylist.c:2149
 #, fuzzy, c-format
 msgid "revoked: %s"
 msgstr "[revoked] "
 
-#: g10/keyedit.c:3818 g10/keylist.c:2155
+#: g10/keyedit.c:3819 g10/keylist.c:2155
 #, fuzzy, c-format
 msgid "expired: %s"
 msgstr " [berakhir: %s]"
 
-#: g10/keyedit.c:3820 g10/keyedit.c:3962 g10/keylist.c:266 g10/keylist.c:2161
-#: g10/keyserver.c:544
+#: g10/keyedit.c:3821 g10/keyedit.c:3963 g10/keylist.c:266 g10/keylist.c:2161
+#: g10/keyserver.c:367
 #, fuzzy, c-format
 msgid "expires: %s"
 msgstr " [berakhir: %s]"
 
-#: g10/keyedit.c:3822
+#: g10/keyedit.c:3823
 #, fuzzy, c-format
 msgid "usage: %s"
 msgstr " trust: %c/%c"
 
-#: g10/keyedit.c:3830 g10/keyedit.c:3850 g10/keylist.c:269
+#: g10/keyedit.c:3831 g10/keyedit.c:3851 g10/keylist.c:269
 msgid "card-no: "
 msgstr ""
 
-#: g10/keyedit.c:3889
+#: g10/keyedit.c:3890
 #, fuzzy, c-format
 msgid "trust: %s"
 msgstr " trust: %c/%c"
 
-#: g10/keyedit.c:3893
+#: g10/keyedit.c:3894
 #, c-format
 msgid "validity: %s"
 msgstr ""
 
-#: g10/keyedit.c:3900
+#: g10/keyedit.c:3901
 msgid "This key has been disabled"
 msgstr "Kunci ini telah ditiadakan"
 
-#: g10/keyedit.c:3918
+#: g10/keyedit.c:3919
 msgid ""
 "Please note that the shown key validity is not necessarily correct\n"
 "unless you restart the program.\n"
@@ -4862,19 +4880,19 @@ msgstr ""
 "Perhatikan bahwa validitas kunci yang ditampilkan belum tentu benar\n"
 "kecuali anda memulai kembali program.\n"
 
-#: g10/keyedit.c:3979 g10/keyedit.c:4410 g10/keyserver.c:548
-#: g10/mainproc.c:2371 g10/tofu.c:1787 g10/trust.c:437 dirmngr/ocsp.c:791
+#: g10/keyedit.c:3980 g10/keyedit.c:4411 g10/keyserver.c:371
+#: g10/mainproc.c:2380 g10/tofu.c:1787 g10/trust.c:437 dirmngr/ocsp.c:791
 #, fuzzy
 msgid "revoked"
 msgstr "[revoked] "
 
-#: g10/keyedit.c:3981 g10/keyedit.c:4412 g10/keyserver.c:552
-#: g10/mainproc.c:2373 g10/tofu.c:1792 g10/trust.c:124
+#: g10/keyedit.c:3982 g10/keyedit.c:4413 g10/keyserver.c:375
+#: g10/mainproc.c:2382 g10/tofu.c:1792 g10/trust.c:124
 #, fuzzy
 msgid "expired"
 msgstr "expire"
 
-#: g10/keyedit.c:4098
+#: g10/keyedit.c:4099
 #, c-format
 msgid ""
 "WARNING: no user ID has been marked as primary.  This command may\n"
@@ -4883,18 +4901,18 @@ msgstr ""
 "WARNING: no user ID has been marked as primary.  This command may\n"
 "              cause a different user ID to become the assumed primary.\n"
 
-#: g10/keyedit.c:4150
+#: g10/keyedit.c:4151
 #, c-format
 msgid "WARNING: Your encryption subkey expires soon.\n"
 msgstr ""
 
-#: g10/keyedit.c:4151
+#: g10/keyedit.c:4152
 #, fuzzy, c-format
 #| msgid "You can't change the expiration date of a v3 key\n"
 msgid "You may want to change its expiration date too.\n"
 msgstr "Anda tidak dapat merubah batas waktu kunci v3\n"
 
-#: g10/keyedit.c:4210
+#: g10/keyedit.c:4211
 msgid ""
 "WARNING: This is a PGP2-style key.  Adding a photo ID may cause some "
 "versions\n"
@@ -4904,35 +4922,35 @@ msgstr ""
 "dapat menyebabkan beberapa versi\n"
 "          PGP menolak kunci ini.\n"
 
-#: g10/keyedit.c:4215 g10/keyedit.c:4505
+#: g10/keyedit.c:4216 g10/keyedit.c:4506
 msgid "Are you sure you still want to add it? (y/N) "
 msgstr "Anda tetap ingin menambahkannya? (y/n) "
 
-#: g10/keyedit.c:4221
+#: g10/keyedit.c:4222
 msgid "You may not add a photo ID to a PGP2-style key.\n"
 msgstr "Anda tidak boleh menambahkan sebuah photo ID ke kunci bergaya PGP2 \n"
 
-#: g10/keyedit.c:4236 g10/keygen.c:2899
+#: g10/keyedit.c:4237 g10/keygen.c:2899
 msgid "Such a user ID already exists on this key!\n"
 msgstr ""
 
-#: g10/keyedit.c:4338
+#: g10/keyedit.c:4339
 msgid "Delete this good signature? (y/N/q)"
 msgstr "Hapus signature baik ini? (y/T/q)"
 
-#: g10/keyedit.c:4348
+#: g10/keyedit.c:4349
 msgid "Delete this invalid signature? (y/N/q)"
 msgstr "Hapus signature tidak valid ini? (y/T/q)"
 
-#: g10/keyedit.c:4352
+#: g10/keyedit.c:4353
 msgid "Delete this unknown signature? (y/N/q)"
 msgstr "Hapus signature tidak dikenal ini? (y/T/q)"
 
-#: g10/keyedit.c:4359
+#: g10/keyedit.c:4360
 msgid "Really delete this self-signature? (y/N)"
 msgstr "Yakin ingin menghapus self-signature ini? (y/T)"
 
-#: g10/keyedit.c:4375
+#: g10/keyedit.c:4376
 #, fuzzy, c-format
 #| msgid "Deleted %d signature.\n"
 msgid "Deleted %d signature.\n"
@@ -4940,38 +4958,38 @@ msgid_plural "Deleted %d signatures.\n"
 msgstr[0] "Menghapus %d signature.\n"
 msgstr[1] "Menghapus %d signature.\n"
 
-#: g10/keyedit.c:4379
+#: g10/keyedit.c:4380
 msgid "Nothing deleted.\n"
 msgstr "Tidak ada yang dihapus.\n"
 
-#: g10/keyedit.c:4414
+#: g10/keyedit.c:4415
 #, fuzzy
 msgid "invalid"
 msgstr "armor tidak valid"
 
-#: g10/keyedit.c:4416
+#: g10/keyedit.c:4417
 #, fuzzy, c-format
 msgid "User ID \"%s\" compacted: %s\n"
 msgstr "User ID \"%s\" dibatalkan."
 
-#: g10/keyedit.c:4422
+#: g10/keyedit.c:4423
 #, fuzzy, c-format
 msgid "User ID \"%s\": %d signature removed\n"
 msgid_plural "User ID \"%s\": %d signatures removed\n"
 msgstr[0] "User ID \"%s\" dibatalkan."
 msgstr[1] "User ID \"%s\" dibatalkan."
 
-#: g10/keyedit.c:4430
+#: g10/keyedit.c:4431
 #, fuzzy, c-format
 msgid "User ID \"%s\": already minimized\n"
 msgstr "User ID \"%s\" telah dibatalkan\n"
 
-#: g10/keyedit.c:4431
+#: g10/keyedit.c:4432
 #, fuzzy, c-format
 msgid "User ID \"%s\": already clean\n"
 msgstr "User ID \"%s\" telah dibatalkan\n"
 
-#: g10/keyedit.c:4500
+#: g10/keyedit.c:4501
 msgid ""
 "WARNING: This is a PGP 2.x-style key.  Adding a designated revoker may "
 "cause\n"
@@ -4981,46 +4999,46 @@ msgstr ""
 "designated dapat\n"
 "............menyebabkan beberapa versi PGP menolak kunci ini.\n"
 
-#: g10/keyedit.c:4511
+#: g10/keyedit.c:4512
 msgid "You may not add a designated revoker to a PGP 2.x-style key.\n"
 msgstr "Anda tidak boleh revoker designated ke kunci bergaya PGP2.x.\n"
 
-#: g10/keyedit.c:4528
+#: g10/keyedit.c:4529
 msgid "Enter the user ID of the designated revoker: "
 msgstr "Masukkan user ID pihak yang ingin dibatalkan: "
 
-#: g10/keyedit.c:4554
+#: g10/keyedit.c:4555
 #, c-format
 msgid "cannot appoint a PGP 2.x style key as a designated revoker\n"
 msgstr ""
 "tidak dapat menunjuk kunci bergaya PGP 2.x sebagai pihak yang dibatalkan\n"
 
-#: g10/keyedit.c:4569
+#: g10/keyedit.c:4570
 #, c-format
 msgid "you cannot appoint a key as its own designated revoker\n"
 msgstr ""
 "anda tidak dapat menunjuk sebuah kunci sebagai pihak yang dibatalkan "
 "sendiri\n"
 
-#: g10/keyedit.c:4591
+#: g10/keyedit.c:4592
 #, fuzzy, c-format
 msgid "this key has already been designated as a revoker\n"
 msgstr "PERINGATAN: Kunci ini telah dibatalkan oleh pihak yang berwenang\n"
 
-#: g10/keyedit.c:4609
+#: g10/keyedit.c:4610
 msgid "WARNING: appointing a key as a designated revoker cannot be undone!\n"
 msgstr ""
 "PERINGATAN: menunjuk sebuah kunci sebagai pihak yang dibatalkan tidak dapat "
 "dilakukan\n"
 
-#: g10/keyedit.c:4615
+#: g10/keyedit.c:4616
 #, fuzzy
 msgid ""
 "Are you sure you want to appoint this key as a designated revoker? (y/N) "
 msgstr ""
 "Anda yakin ingin menunjuk kunci inin sebagai pihak yang dibatalkan? (y/N):"
 
-#: g10/keyedit.c:4683
+#: g10/keyedit.c:4684
 #, fuzzy
 msgid ""
 "Are you sure you want to change the expiration time for multiple subkeys? (y/"
@@ -5028,181 +5046,181 @@ msgid ""
 msgstr ""
 "Anda yakin ingin menunjuk kunci inin sebagai pihak yang dibatalkan? (y/N):"
 
-#: g10/keyedit.c:4688
+#: g10/keyedit.c:4689
 #, fuzzy
 msgid "Changing expiration time for a subkey.\n"
 msgstr "Merubah batas waktu untuk kunci sekunder.\n"
 
-#: g10/keyedit.c:4691
+#: g10/keyedit.c:4692
 msgid "Changing expiration time for the primary key.\n"
 msgstr "Merubah batas waktu untuk kunci primer.\n"
 
-#: g10/keyedit.c:4747
+#: g10/keyedit.c:4748
 #, c-format
 msgid "You can't change the expiration date of a v3 key\n"
 msgstr "Anda tidak dapat merubah batas waktu kunci v3\n"
 
-#: g10/keyedit.c:4807
+#: g10/keyedit.c:4808
 #, fuzzy
 msgid "Changing usage of a subkey.\n"
 msgstr "Merubah batas waktu untuk kunci sekunder.\n"
 
-#: g10/keyedit.c:4810
+#: g10/keyedit.c:4811
 #, fuzzy
 #| msgid "Changing expiration time for the primary key.\n"
 msgid "Changing usage of the primary key.\n"
 msgstr "Merubah batas waktu untuk kunci primer.\n"
 
-#: g10/keyedit.c:4928
+#: g10/keyedit.c:4929
 #, fuzzy, c-format
 msgid "signing subkey %s is already cross-certified\n"
 msgstr "PERINGATAN: subkey penandatangan %08lX tidak tersertifikasi silang\n"
 
-#: g10/keyedit.c:4934
+#: g10/keyedit.c:4935
 #, c-format
 msgid "subkey %s does not sign and so does not need to be cross-certified\n"
 msgstr ""
 
-#: g10/keyedit.c:5051
+#: g10/keyedit.c:5052
 msgid "Please select exactly one user ID.\n"
 msgstr "Anda harus memilih minimum satu ID user.\n"
 
-#: g10/keyedit.c:5092 g10/keyedit.c:5206 g10/keyedit.c:5319 g10/keyedit.c:5457
+#: g10/keyedit.c:5093 g10/keyedit.c:5207 g10/keyedit.c:5320 g10/keyedit.c:5458
 #, fuzzy, c-format
 msgid "skipping v3 self-signature on user ID \"%s\"\n"
 msgstr "melewati self-signature v3 pada user id \"%s\"\n"
 
-#: g10/keyedit.c:5263
+#: g10/keyedit.c:5264
 msgid "Enter your preferred keyserver URL: "
 msgstr ""
 
-#: g10/keyedit.c:5342
+#: g10/keyedit.c:5343
 #, fuzzy
 msgid "Are you sure you want to replace it? (y/N) "
 msgstr "Apakah anda yakin ingin menggunakannya? (y/N) "
 
-#: g10/keyedit.c:5343
+#: g10/keyedit.c:5344
 #, fuzzy
 msgid "Are you sure you want to delete it? (y/N) "
 msgstr "Apakah anda yakin ingin menggunakannya? (y/N) "
 
-#: g10/keyedit.c:5403
+#: g10/keyedit.c:5404
 #, fuzzy
 msgid "Enter the notation: "
 msgstr "Notasi signature: "
 
-#: g10/keyedit.c:5550
+#: g10/keyedit.c:5551
 #, fuzzy
 msgid "Proceed? (y/N) "
 msgstr "Ditimpa (y/T)? "
 
-#: g10/keyedit.c:5620
+#: g10/keyedit.c:5621
 #, c-format
 msgid "No user ID with index %d\n"
 msgstr "Tidak ada ID user dengan index %d\n"
 
-#: g10/keyedit.c:5682
+#: g10/keyedit.c:5683
 #, fuzzy, c-format
 msgid "No user ID with hash %s\n"
 msgstr "Tidak ada ID user dengan index %d\n"
 
-#: g10/keyedit.c:5783
+#: g10/keyedit.c:5784
 #, fuzzy, c-format
 msgid "No subkey with key ID '%s'.\n"
 msgstr "Tidak ada ID user dengan index %d\n"
 
-#: g10/keyedit.c:5805
+#: g10/keyedit.c:5806
 #, fuzzy, c-format
 msgid "No subkey with index %d\n"
 msgstr "Tidak ada ID user dengan index %d\n"
 
-#: g10/keyedit.c:5946
+#: g10/keyedit.c:5947
 #, fuzzy, c-format
 msgid "user ID: \"%s\"\n"
 msgstr "ID user: "
 
-#: g10/keyedit.c:5949 g10/keyedit.c:6051 g10/keyedit.c:6099
+#: g10/keyedit.c:5950 g10/keyedit.c:6052 g10/keyedit.c:6100
 #, fuzzy, c-format
 msgid "signed by your key %s on %s%s%s\n"
 msgstr "   ditandai oleh %08lX pada %s%s%s\n"
 
-#: g10/keyedit.c:5951 g10/keyedit.c:6053 g10/keyedit.c:6101
+#: g10/keyedit.c:5952 g10/keyedit.c:6054 g10/keyedit.c:6102
 msgid " (non-exportable)"
 msgstr " (tidak dapat diekspor)"
 
-#: g10/keyedit.c:5955
+#: g10/keyedit.c:5956
 #, c-format
 msgid "This signature expired on %s.\n"
 msgstr "Kunci ini akan kadaluarsa pada %s \n"
 
-#: g10/keyedit.c:5960
+#: g10/keyedit.c:5961
 msgid "Are you sure you still want to revoke it? (y/N) "
 msgstr "Anda tetap ingin membatalkannya? (y/n) "
 
-#: g10/keyedit.c:5965
+#: g10/keyedit.c:5966
 msgid "Create a revocation certificate for this signature? (y/N) "
 msgstr "Membuat sertifikat pembatalan untuk signature ini? (y/N)"
 
-#: g10/keyedit.c:6025
+#: g10/keyedit.c:6026
 #, fuzzy, c-format
 msgid "You have signed these user IDs on key %s:\n"
 msgstr "Anda telah menandai ID user ini:\n"
 
-#: g10/keyedit.c:6054
+#: g10/keyedit.c:6055
 #, fuzzy
 msgid " (non-revocable)"
 msgstr " (tidak dapat diekspor)"
 
-#: g10/keyedit.c:6061
+#: g10/keyedit.c:6062
 #, fuzzy, c-format
 msgid "revoked by your key %s on %s\n"
 msgstr "   dibatalkan oleh %08lX pada %s\n"
 
-#: g10/keyedit.c:6086
+#: g10/keyedit.c:6087
 msgid "You are about to revoke these signatures:\n"
 msgstr "Anda akan membatalkan signature ini:\n"
 
-#: g10/keyedit.c:6109
+#: g10/keyedit.c:6110
 msgid "Really create the revocation certificates? (y/N) "
 msgstr "Ingin membuat sertifikat pembatalan? (y/T)"
 
-#: g10/keyedit.c:6142
+#: g10/keyedit.c:6143
 #, c-format
 msgid "no secret key\n"
 msgstr "tidak ada kunci rahasia\n"
 
-#: g10/keyedit.c:6190
+#: g10/keyedit.c:6191
 #, c-format
 msgid "tried to revoke a non-user ID: %s\n"
 msgstr ""
 
-#: g10/keyedit.c:6200
+#: g10/keyedit.c:6201
 #, c-format
 msgid "user ID \"%s\" is already revoked\n"
 msgstr "User ID \"%s\" telah dibatalkan\n"
 
-#: g10/keyedit.c:6217
+#: g10/keyedit.c:6218
 #, c-format
 msgid "WARNING: a user ID signature is dated %d seconds in the future\n"
 msgstr "PERINGATAN: signature user ID bertanggal %d detik di masa depan\n"
 
-#: g10/keyedit.c:6313
+#: g10/keyedit.c:6314
 #, fuzzy, c-format
 #| msgid "You can't delete the last user ID!\n"
 msgid "Cannot revoke the last valid user ID.\n"
 msgstr "Anda tidak dapat menghapus ID user terakhir!\n"
 
-#: g10/keyedit.c:6351
+#: g10/keyedit.c:6352
 #, fuzzy, c-format
 msgid "Key %s is already revoked.\n"
 msgstr "User ID \"%s\" telah dibatalkan\n"
 
-#: g10/keyedit.c:6413
+#: g10/keyedit.c:6414
 #, fuzzy, c-format
 msgid "Subkey %s is already revoked.\n"
 msgstr "User ID \"%s\" telah dibatalkan\n"
 
-#: g10/keyedit.c:6510
+#: g10/keyedit.c:6511
 #, fuzzy, c-format
 msgid "Displaying %s photo ID of size %ld for key %s (uid %d)\n"
 msgstr "Menampilkan photo ID %s berukuran %ld untuk kunci 0x%08lX (uid %d)\n"
@@ -5932,80 +5950,75 @@ msgstr "URL signature kebijakan yang diberikan tidak valid\n"
 msgid "honor the PKA record set on a key when retrieving keys"
 msgstr ""
 
-#: g10/keyserver.c:550
+#: g10/keyserver.c:373
 #, fuzzy
 msgid "disabled"
 msgstr "disable"
 
-#: g10/keyserver.c:754
+#: g10/keyserver.c:577
 msgid "Enter number(s), N)ext, or Q)uit > "
 msgstr ""
 
-#: g10/keyserver.c:860
+#: g10/keyserver.c:683
 #, fuzzy, c-format
 msgid "invalid keyserver protocol (us %d!=handler %d)\n"
 msgstr "opsi ekspor tidak valid\n"
 
-#: g10/keyserver.c:1001 g10/keyserver.c:1116
+#: g10/keyserver.c:824 g10/keyserver.c:939
 #, c-format
 msgid "\"%s\" not a key ID: skipping\n"
 msgstr ""
 
-#: g10/keyserver.c:1438 g10/keyserver.c:1471
+#: g10/keyserver.c:1237 g10/keyserver.c:1270
 #, fuzzy, c-format
 msgid "refreshing %d key from %s\n"
 msgid_plural "refreshing %d keys from %s\n"
 msgstr[0] "meminta kunci %08lX dari %s\n"
 msgstr[1] "meminta kunci %08lX dari %s\n"
 
-#: g10/keyserver.c:1445
+#: g10/keyserver.c:1244
 #, fuzzy, c-format
 msgid "WARNING: unable to refresh key %s via %s: %s\n"
 msgstr "PERINGATAN: tidak dapat menghapus file temp (%s) `%s': %s\n"
 
-#: g10/keyserver.c:1549
+#: g10/keyserver.c:1336
 #, fuzzy, c-format
 msgid "key \"%s\" not found on keyserver\n"
 msgstr "kunci '%s' tidak ditemukan: %s\n"
 
-#: g10/keyserver.c:1552
+#: g10/keyserver.c:1339
 #, fuzzy, c-format
 msgid "key not found on keyserver\n"
 msgstr "kunci '%s' tidak ditemukan: %s\n"
 
-#: g10/keyserver.c:1743
-#, fuzzy, c-format
-msgid "requesting key %s from %s server %s\n"
-msgstr "meminta kunci %08lX dari %s\n"
-
-#: g10/keyserver.c:1747
+#: g10/keyserver.c:1504
 #, fuzzy, c-format
 msgid "requesting key %s from %s\n"
 msgstr "meminta kunci %08lX dari %s\n"
 
-#: g10/keyserver.c:1852 g10/keyserver.c:2031
+#: g10/keyserver.c:1619 g10/keyserver.c:1798
 #, fuzzy, c-format
 msgid "no keyserver known\n"
 msgstr "opsi ekspor tidak valid\n"
 
-#: g10/keyserver.c:1867 g10/skclist.c:214 g10/skclist.c:242
+#: g10/keyserver.c:1634 g10/skclist.c:215 g10/skclist.c:243
 #, fuzzy, c-format
 msgid "skipped \"%s\": %s\n"
 msgstr "melewati `%s': %s\n"
 
-#: g10/keyserver.c:1871
+#: g10/keyserver.c:1638
 #, fuzzy, c-format
 msgid "sending key %s to %s\n"
 msgstr ""
 "\"\n"
 "ditandai dengan kunci anda %08lX pada %s\n"
 
-#: g10/keyserver.c:1912
+#: g10/keyserver.c:1679
 #, fuzzy, c-format
 msgid "requesting key from '%s'\n"
 msgstr "meminta kunci %08lX dari %s\n"
 
-#: g10/keyserver.c:1928
+#: g10/keyserver.c:1695
 #, fuzzy, c-format
 msgid "WARNING: unable to fetch URI %s: %s\n"
 msgstr "PERINGATAN: tidak dapat menghapus file temp (%s) `%s': %s\n"
@@ -6020,258 +6033,258 @@ msgstr "ukuran aneh untuk kunci sesi terenkripsi (%d)\n"
 msgid "%s encrypted session key\n"
 msgstr "%s kunci sesi enkripsi\n"
 
-#: g10/mainproc.c:400
+#: g10/mainproc.c:403
 #, fuzzy, c-format
 msgid "passphrase generated with unknown digest algorithm %d\n"
 msgstr "dienkripsi dengan algoritma tidak dikenal %d\n"
 
-#: g10/mainproc.c:481
+#: g10/mainproc.c:485
 #, fuzzy, c-format
 msgid "public key is %s\n"
 msgstr "kunci publik adalah %08lX\n"
 
-#: g10/mainproc.c:557
+#: g10/mainproc.c:561
 #, c-format
 msgid "public key encrypted data: good DEK\n"
 msgstr "data terenkripsi dengan kunci publik: DEK baik\n"
 
-#: g10/mainproc.c:590
+#: g10/mainproc.c:594
 #, fuzzy, c-format
 msgid "encrypted with %u-bit %s key, ID %s, created %s\n"
 msgstr "dienkripsi dengan %u-bit kunci %s, ID %08lX, tercipta %s\n"
 
-#: g10/mainproc.c:594 g10/pkclist.c:228
+#: g10/mainproc.c:598 g10/pkclist.c:228
 #, fuzzy, c-format
 msgid "      \"%s\"\n"
 msgstr "              alias \""
 
-#: g10/mainproc.c:598
+#: g10/mainproc.c:602
 #, fuzzy, c-format
 msgid "encrypted with %s key, ID %s\n"
 msgstr "dienkripsi dengan kunci %s, ID %08lX\n"
 
-#: g10/mainproc.c:619
+#: g10/mainproc.c:623
 #, c-format
 msgid "public key decryption failed: %s\n"
 msgstr "gagal dekripsi kunci publik: %s\n"
 
-#: g10/mainproc.c:641 g10/mainproc.c:970
+#: g10/mainproc.c:645 g10/mainproc.c:976
 #, c-format
 msgid "WARNING: multiple plaintexts seen\n"
 msgstr ""
 
-#: g10/mainproc.c:649
+#: g10/mainproc.c:653
 #, c-format
 msgid "encrypted with %lu passphrases\n"
 msgstr "dienkripsi dengan passphrase %lu\n"
 
-#: g10/mainproc.c:651
+#: g10/mainproc.c:655
 #, c-format
 msgid "encrypted with 1 passphrase\n"
 msgstr "dienkripsi dengan 1 passphrase\n"
 
-#: g10/mainproc.c:685 g10/mainproc.c:706
+#: g10/mainproc.c:689 g10/mainproc.c:710
 #, c-format
 msgid "assuming %s encrypted data\n"
 msgstr "asumsikan %s data terenkripsi\n"
 
-#: g10/mainproc.c:692
+#: g10/mainproc.c:696
 #, c-format
 msgid "IDEA cipher unavailable, optimistically attempting to use %s instead\n"
 msgstr "Cipher IDEA tidak tersedia, secara optimis berusaha menggunakan %s\n"
 
-#: g10/mainproc.c:779 g10/mainproc.c:817
+#: g10/mainproc.c:785 g10/mainproc.c:823
 #, c-format
 msgid "WARNING: message was not integrity protected\n"
 msgstr "PERINGATAN: integritas pesan tidak terlindungi\n"
 
-#: g10/mainproc.c:790
+#: g10/mainproc.c:796
 msgid ""
 "Hint: If this message was created before the year 2003 it is\n"
 "likely that this message is legitimate.  This is because back\n"
 "then integrity protection was not widely used.\n"
 msgstr ""
 
-#: g10/mainproc.c:793
+#: g10/mainproc.c:799
 #, c-format
 msgid "Use the option '%s' to decrypt anyway.\n"
 msgstr ""
 
-#: g10/mainproc.c:798
+#: g10/mainproc.c:804
 #, fuzzy, c-format
 #| msgid "decryption failed: %s\n"
 msgid "decryption forced to fail!\n"
 msgstr "dekripsi gagal: %s\n"
 
-#: g10/mainproc.c:810
+#: g10/mainproc.c:816
 #, c-format
 msgid "decryption okay\n"
 msgstr "dekripsi lancar\n"
 
-#: g10/mainproc.c:823
+#: g10/mainproc.c:829
 #, c-format
 msgid "WARNING: encrypted message has been manipulated!\n"
 msgstr "PERINGATAN: pesan terenkripsi telah dimanipulasi!\n"
 
-#: g10/mainproc.c:841
+#: g10/mainproc.c:847
 #, c-format
 msgid "decryption failed: %s\n"
 msgstr "dekripsi gagal: %s\n"
 
-#: g10/mainproc.c:886
+#: g10/mainproc.c:892
 #, fuzzy, c-format
 #| msgid "NOTE: sender requested \"for-your-eyes-only\"\n"
 msgid "Note: sender requested \"for-your-eyes-only\"\n"
 msgstr "CATATAN: pengirim meminta \"for-your-eyes-only\"\n"
 
-#: g10/mainproc.c:893
+#: g10/mainproc.c:899
 #, c-format
 msgid "original file name='%.*s'\n"
 msgstr "original file name='%.*s'\n"
 
-#: g10/mainproc.c:1148
+#: g10/mainproc.c:1154
 #, c-format
 msgid "standalone revocation - use \"gpg --import\" to apply\n"
 msgstr "pembatalan mandiri - gunakan \"gpg --import\" untuk mengaplikasikan\n"
 
-#: g10/mainproc.c:1452 g10/mainproc.c:1495
+#: g10/mainproc.c:1458 g10/mainproc.c:1501
 #, fuzzy, c-format
 msgid "no signature found\n"
 msgstr "Signature baik dari \""
 
-#: g10/mainproc.c:1852
+#: g10/mainproc.c:1858
 #, fuzzy, c-format
 msgid "BAD signature from \"%s\""
 msgstr "signature BURUK dari \""
 
-#: g10/mainproc.c:1854
+#: g10/mainproc.c:1860
 #, fuzzy, c-format
 msgid "Expired signature from \"%s\""
 msgstr "Signature kadaluarsa dari \""
 
-#: g10/mainproc.c:1856
+#: g10/mainproc.c:1862
 #, fuzzy, c-format
 msgid "Good signature from \"%s\""
 msgstr "Signature baik dari \""
 
-#: g10/mainproc.c:1876
+#: g10/mainproc.c:1882
 #, c-format
 msgid "signature verification suppressed\n"
 msgstr "verifikasi signature tidak diabaikan\n"
 
-#: g10/mainproc.c:1985
+#: g10/mainproc.c:1991
 #, fuzzy, c-format
 msgid "can't handle this ambiguous signature data\n"
 msgstr "tidak dapat menangani banyak signature ini\n"
 
-#: g10/mainproc.c:2001 g10/mainproc.c:2008
+#: g10/mainproc.c:2007 g10/mainproc.c:2014
 #, fuzzy, c-format
 msgid "Signature made %s\n"
 msgstr "Signature kadaluwarsa %s\n"
 
-#: g10/mainproc.c:2002 g10/mainproc.c:2009 sm/verify.c:476
+#: g10/mainproc.c:2008 g10/mainproc.c:2015 sm/verify.c:476
 #, fuzzy, c-format
 msgid "               using %s key %s\n"
 msgstr "              alias \""
 
-#: g10/mainproc.c:2013
+#: g10/mainproc.c:2019
 #, fuzzy, c-format
 msgid "Signature made %s using %s key ID %s\n"
 msgstr "Signature membuat %.*s menggunakan kunci %s ID %08lX\n"
 
-#: g10/mainproc.c:2019
+#: g10/mainproc.c:2025
 #, fuzzy, c-format
 msgid "               issuer \"%s\"\n"
 msgstr "              alias \""
 
-#: g10/mainproc.c:2070
+#: g10/mainproc.c:2076
 #, c-format
 msgid "Key available at: "
 msgstr "Kunci tersedia di:"
 
-#: g10/mainproc.c:2111
+#: g10/mainproc.c:2118
 #, c-format
 msgid "Note: Use '%s' to make use of this info\n"
 msgstr ""
 
-#: g10/mainproc.c:2325
+#: g10/mainproc.c:2334
 msgid "[uncertain]"
 msgstr "[uncertain]"
 
-#: g10/mainproc.c:2363
+#: g10/mainproc.c:2372
 #, fuzzy, c-format
 msgid "                aka \"%s\""
 msgstr "              alias \""
 
-#: g10/mainproc.c:2438
+#: g10/mainproc.c:2447
 #, fuzzy, c-format
 #| msgid "WARNING: This key is not certified with a trusted signature!\n"
 msgid "WARNING: This key is not suitable for signing in %s mode\n"
 msgstr ""
 "PERINGATAN: Kunci ini tidak disertifikasi dengan sig yang terpercaya!\n"
 
-#: g10/mainproc.c:2456
+#: g10/mainproc.c:2465
 #, c-format
 msgid "Signature expired %s\n"
 msgstr "Signature kadaluwarsa %s\n"
 
-#: g10/mainproc.c:2460
+#: g10/mainproc.c:2469
 #, c-format
 msgid "Signature expires %s\n"
 msgstr "Signature kadaluarsa pada %s \n"
 
-#: g10/mainproc.c:2471
+#: g10/mainproc.c:2480
 #, fuzzy, c-format
 #| msgid "%s signature, digest algorithm %s\n"
 msgid "%s signature, digest algorithm %s%s%s\n"
 msgstr "%s signature, algoritma digest %s\n"
 
-#: g10/mainproc.c:2472
+#: g10/mainproc.c:2481
 msgid "binary"
 msgstr "biner"
 
-#: g10/mainproc.c:2473
+#: g10/mainproc.c:2482
 msgid "textmode"
 msgstr "modeteks"
 
-#: g10/mainproc.c:2473 g10/trust.c:123 dirmngr/ocsp.c:792
+#: g10/mainproc.c:2482 g10/trust.c:123 dirmngr/ocsp.c:792
 msgid "unknown"
 msgstr "tidak dikenal"
 
-#: g10/mainproc.c:2475
+#: g10/mainproc.c:2484
 #, fuzzy
 #| msgid "unknown pubkey algorithm"
 msgid ", key algorithm "
 msgstr "algoritma pubkey tidak dikenal"
 
-#: g10/mainproc.c:2510
+#: g10/mainproc.c:2519
 #, c-format
 msgid "WARNING: not a detached signature; file '%s' was NOT verified!\n"
 msgstr ""
 
-#: g10/mainproc.c:2548
+#: g10/mainproc.c:2558
 #, c-format
 msgid "Can't check signature: %s\n"
 msgstr "Tidak dapat memeriksa signature: %s\n"
 
-#: g10/mainproc.c:2644 g10/mainproc.c:2663 g10/mainproc.c:2787
+#: g10/mainproc.c:2654 g10/mainproc.c:2673 g10/mainproc.c:2797
 #, c-format
 msgid "not a detached signature\n"
 msgstr "bukan detached signature\n"
 
-#: g10/mainproc.c:2697
+#: g10/mainproc.c:2707
 #, c-format
 msgid ""
 "WARNING: multiple signatures detected.  Only the first will be checked.\n"
 msgstr ""
 "PERINGATAN: multi signature terdeteksi. Hanya yang pertama akan diperiksa.\n"
 
-#: g10/mainproc.c:2706
+#: g10/mainproc.c:2716
 #, c-format
 msgid "standalone signature of class 0x%02x\n"
 msgstr "kelas signature mandiri 0x%02x\n"
 
-#: g10/mainproc.c:2791
+#: g10/mainproc.c:2801
 #, c-format
 msgid "old style (PGP 2.x) signature\n"
 msgstr "signature model lama (PGP 2.X)\n"
@@ -6456,56 +6469,61 @@ msgstr "Notasi signature kritis: "
 msgid "subpacket of type %d has critical bit set\n"
 msgstr "subpaket tipe %d memiliki bit kritis terset\n"
 
-#: g10/passphrase.c:73 g10/passphrase.c:275 g10/passphrase.c:308
+#: g10/passphrase.c:73 g10/passphrase.c:283 g10/passphrase.c:316
 #, fuzzy, c-format
 msgid "problem with the agent: %s\n"
 msgstr "masalah dengan agen: agen mengembalikan 0x%lx\n"
 
-#: g10/passphrase.c:258
+#: g10/passphrase.c:251 sm/decrypt.c:341
+#, fuzzy
+msgid "Please enter the passphrase for decryption."
+msgstr "ubah passphrase"
+
+#: g10/passphrase.c:253
 msgid "Enter passphrase\n"
 msgstr "Masukkan passphrase\n"
 
-#: g10/passphrase.c:269
+#: g10/passphrase.c:277
 #, c-format
 msgid "cancelled by user\n"
 msgstr "dibatalkan oleh user\n"
 
-#: g10/passphrase.c:510
+#: g10/passphrase.c:523
 #, fuzzy, c-format
 msgid " (main key ID %s)"
 msgstr " (ID kunci utama %08lX)"
 
-#: g10/passphrase.c:517
+#: g10/passphrase.c:530
 #, fuzzy
 msgid "Please enter the passphrase to unlock the OpenPGP secret key:"
 msgstr "Silakan masukkan passphrase; ini kalimat rahasia\n"
 
-#: g10/passphrase.c:521
+#: g10/passphrase.c:534
 #, fuzzy
 msgid "Please enter the passphrase to import the OpenPGP secret key:"
 msgstr "Silakan masukkan passphrase; ini kalimat rahasia\n"
 
-#: g10/passphrase.c:526
+#: g10/passphrase.c:539
 #, fuzzy
 msgid "Please enter the passphrase to export the OpenPGP secret subkey:"
 msgstr "Silakan masukkan passphrase; ini kalimat rahasia\n"
 
-#: g10/passphrase.c:529
+#: g10/passphrase.c:542
 #, fuzzy
 msgid "Please enter the passphrase to export the OpenPGP secret key:"
 msgstr "Silakan masukkan passphrase; ini kalimat rahasia\n"
 
-#: g10/passphrase.c:534
+#: g10/passphrase.c:547
 #, fuzzy
 msgid "Do you really want to permanently delete the OpenPGP secret subkey key:"
 msgstr "Anda ingin menghapus kunci terpilih ini? "
 
-#: g10/passphrase.c:537
+#: g10/passphrase.c:550
 #, fuzzy
 msgid "Do you really want to permanently delete the OpenPGP secret key:"
 msgstr "Anda ingin menghapus kunci terpilih ini? "
 
-#: g10/passphrase.c:546
+#: g10/passphrase.c:559
 #, fuzzy, c-format
 msgid ""
 "%s\n"
@@ -6559,7 +6577,7 @@ msgstr "\"%s\" bukan sebuah file JPEG\n"
 msgid "Is this photo correct (y/N/q)? "
 msgstr "Apakah foto ini benar (y/N/q)? "
 
-#: g10/photoid.c:395
+#: g10/photoid.c:399
 #, c-format
 msgid "unable to display photo ID!\n"
 msgstr "tidak dapat menampilkan photo ID!\n"
@@ -6916,7 +6934,7 @@ msgstr "tidak dapat membuka data tertandai `%s'\n"
 msgid "can't open signed data fd=%d: %s\n"
 msgstr "tidak dapat membuka data tertandai `%s'\n"
 
-#: g10/pubkey-enc.c:98 g10/pubkey-enc.c:139 sm/decrypt.c:493
+#: g10/pubkey-enc.c:98 g10/pubkey-enc.c:139 sm/decrypt.c:969
 #, fuzzy, c-format
 msgid "key %s is not suitable for decryption in %s mode\n"
 msgstr "kunci %08lX: tidak ada ID user\n"
@@ -6931,27 +6949,27 @@ msgstr "penerima anonim; mencoba kunci rahasia %08lX ...\n"
 msgid "okay, we are the anonymous recipient.\n"
 msgstr "baik, kita adalah penerima anonim.\n"
 
-#: g10/pubkey-enc.c:321
+#: g10/pubkey-enc.c:311
 #, c-format
 msgid "old encoding of the DEK is not supported\n"
 msgstr "encoding lama DEK tidak didukung\n"
 
-#: g10/pubkey-enc.c:349
+#: g10/pubkey-enc.c:339
 #, c-format
 msgid "cipher algorithm %d%s is unknown or disabled\n"
 msgstr "algoritma cipher %d%s tidak dikenal atau ditiadakan\n"
 
-#: g10/pubkey-enc.c:393
+#: g10/pubkey-enc.c:383
 #, fuzzy, c-format
 msgid "WARNING: cipher algorithm %s not found in recipient preferences\n"
 msgstr "CATATAN: algoritma cipher %d tidak ditemukan dalam preferensi\n"
 
-#: g10/pubkey-enc.c:426
+#: g10/pubkey-enc.c:416
 #, fuzzy, c-format
 msgid "Note: secret key %s expired at %s\n"
 msgstr "CATATAN: kunci pribadi %08lX berakhir pada %s\n"
 
-#: g10/pubkey-enc.c:433
+#: g10/pubkey-enc.c:423
 #, fuzzy, c-format
 #| msgid "NOTE: key has been revoked"
 msgid "Note: key has been revoked"
@@ -7267,40 +7285,40 @@ msgstr ""
 msgid "%s/%s signature from: \"%s\"\n"
 msgstr "%s signature dari: \"%s\"\n"
 
-#: g10/sign.c:1046
+#: g10/sign.c:1045
 #, fuzzy, c-format
 msgid ""
 "WARNING: forcing digest algorithm %s (%d) violates recipient preferences\n"
 msgstr "memaksa algoritma digest %s (%d) melanggar preferensi penerima\n"
 
-#: g10/sign.c:1188
+#: g10/sign.c:1187
 #, c-format
 msgid "signing:"
 msgstr "menandai:"
 
-#: g10/sign.c:1465
+#: g10/sign.c:1464
 #, c-format
 msgid "%s encryption will be used\n"
 msgstr "%s enkripsi akan digunakan\n"
 
-#: g10/skclist.c:173 g10/skclist.c:254
+#: g10/skclist.c:174 g10/skclist.c:255
 #, c-format
 msgid "key is not flagged as insecure - can't use it with the faked RNG!\n"
 msgstr ""
 "kunci tidak dianggap sebagai tidak aman - tidak dapat digunakan dengan RNG "
 "palsu!\n"
 
-#: g10/skclist.c:205
+#: g10/skclist.c:206
 #, fuzzy, c-format
 msgid "skipped \"%s\": duplicated\n"
 msgstr "lewati `%s': terduplikasi\n"
 
-#: g10/skclist.c:224
+#: g10/skclist.c:225
 #, c-format
 msgid "skipped: secret key already present\n"
 msgstr "dilewati: kunci pribadi telah ada\n"
 
-#: g10/skclist.c:243
+#: g10/skclist.c:244
 #, fuzzy
 msgid "this is a PGP generated Elgamal key which is not secure for signatures!"
 msgstr ""
@@ -7360,7 +7378,7 @@ msgstr "kesalahan pembacaan: %s\n"
 msgid "trustdb: sync failed: %s\n"
 msgstr "trustdb: gagal sync: %s\n"
 
-#: g10/tdbio.c:144 sm/keydb.c:336
+#: g10/tdbio.c:144 sm/keydb.c:335
 #, fuzzy, c-format
 msgid "can't create lock for '%s'\n"
 msgstr "tidak dapat membuat %s: %s\n"
@@ -8098,40 +8116,52 @@ msgstr "Pemakaian: gpg [pilihan] [file] (-h untuk bantuan)"
 #. TRANSLATORS: Put a \x1f right before a colon.  This can be
 #. * used by pinentry to nicely align the names and values.  Keep
 #. * the %s at the start and end of the string.
-#: scd/app-p15.c:3369 scd/app-openpgp.c:2153
+#: scd/app-p15.c:4955 scd/app-openpgp.c:2151
 #, c-format
 msgid "%sNumber\1f: %s%%0AHolder\1f: %s%s"
 msgstr ""
 
 #. TRANSLATORS: This is the number of remaining attempts to
 #. * enter a PIN.  Use %%0A (double-percent,0A) for a linefeed.
-#: scd/app-p15.c:3388 scd/app-openpgp.c:2169
+#: scd/app-p15.c:4974 scd/app-openpgp.c:2167
 #, c-format
 msgid "Remaining attempts: %d"
 msgstr ""
 
-#: scd/app-p15.c:3459 scd/app-nks.c:1110
+#: scd/app-p15.c:5053 scd/app-nks.c:1113
 msgid "||Please enter the PIN for the key to create qualified signatures."
 msgstr ""
 
-#: scd/app-p15.c:3462 scd/app-nks.c:1092
+#. TRANSLATORS: Do not translate the "|A|" prefix but keep it at
+#. the start of the string.  Use %0A (single percent) for a linefeed.
+#: scd/app-p15.c:5056 scd/app-openpgp.c:2461
+#, fuzzy
+msgid "|A|Please enter the Admin PIN"
+msgstr "ubah passphrase"
+
+#: scd/app-p15.c:5058 scd/app-nks.c:1103
+#, fuzzy
+msgid "|P|Please enter the PIN Unblocking Code (PUK) for the standard keys."
+msgstr "Silakan pilih alasan untuk pembatalan:\n"
+
+#: scd/app-p15.c:5061 scd/app-nks.c:1095
 #, fuzzy
 msgid "||Please enter the PIN for the standard keys."
 msgstr "ubah passphrase"
 
-#: scd/app-nks.c:709 scd/app-openpgp.c:3664
+#: scd/app-nks.c:709 scd/app-openpgp.c:3663
 #, c-format
 msgid "RSA modulus missing or not of size %d bits\n"
 msgstr ""
 
-#: scd/app-nks.c:717 scd/app-openpgp.c:3676
+#: scd/app-nks.c:717 scd/app-openpgp.c:3675
 #, c-format
 msgid "RSA public exponent missing or larger than %d bits\n"
 msgstr ""
 
-#: scd/app-nks.c:797 scd/app-openpgp.c:2326 scd/app-openpgp.c:2345
-#: scd/app-openpgp.c:2512 scd/app-openpgp.c:2530 scd/app-openpgp.c:2827
-#: scd/app-openpgp.c:2874 scd/app-openpgp.c:2989 scd/app-dinsig.c:303
+#: scd/app-nks.c:797 scd/app-openpgp.c:2324 scd/app-openpgp.c:2343
+#: scd/app-openpgp.c:2510 scd/app-openpgp.c:2528 scd/app-openpgp.c:2826
+#: scd/app-openpgp.c:2873 scd/app-openpgp.c:2988 scd/app-dinsig.c:302
 #, c-format
 msgid "PIN callback returned error: %s\n"
 msgstr ""
@@ -8141,79 +8171,74 @@ msgstr ""
 msgid "the NullPIN has not yet been changed\n"
 msgstr ""
 
-#: scd/app-nks.c:1091
+#: scd/app-nks.c:1094
 #, fuzzy
 msgid "|N|Please enter a new PIN for the standard keys."
 msgstr "ubah passphrase"
 
-#: scd/app-nks.c:1098
+#: scd/app-nks.c:1101
 #, fuzzy
 msgid "|NP|Please enter a new PIN Unblocking Code (PUK) for the standard keys."
 msgstr "Silakan pilih alasan untuk pembatalan:\n"
 
-#: scd/app-nks.c:1100
-#, fuzzy
-msgid "|P|Please enter the PIN Unblocking Code (PUK) for the standard keys."
-msgstr "Silakan pilih alasan untuk pembatalan:\n"
-
-#: scd/app-nks.c:1108
+#: scd/app-nks.c:1111
 msgid "|N|Please enter a new PIN for the key to create qualified signatures."
 msgstr ""
 
-#: scd/app-nks.c:1118
+#: scd/app-nks.c:1121
 msgid ""
 "|NP|Please enter a new PIN Unblocking Code (PUK) for the key to create "
 "qualified signatures."
 msgstr ""
 
-#: scd/app-nks.c:1120
+#: scd/app-nks.c:1123
 msgid ""
 "|P|Please enter the PIN Unblocking Code (PUK) for the key to create "
 "qualified signatures."
 msgstr ""
 
-#: scd/app-nks.c:1227 scd/app-openpgp.c:2908 scd/app-dinsig.c:531
+#: scd/app-nks.c:1230 scd/app-openpgp.c:2907 scd/app-dinsig.c:532
 #, fuzzy, c-format
 msgid "error getting new PIN: %s\n"
 msgstr "kesalahan penciptaan passphrase: %s\n"
 
-#: scd/app-openpgp.c:860
+#: scd/app-openpgp.c:859
 #, fuzzy, c-format
 msgid "failed to store the fingerprint: %s\n"
 msgstr "gagal inisialisasi TrustDB: %s\n"
 
-#: scd/app-openpgp.c:873
+#: scd/app-openpgp.c:872
 #, fuzzy, c-format
 msgid "failed to store the creation date: %s\n"
 msgstr "gagal membuat kembali cache keyring: %s\n"
 
-#: scd/app-openpgp.c:1272 scd/app-openpgp.c:2855 scd/app-openpgp.c:5020
+#: scd/app-openpgp.c:1268 scd/app-openpgp.c:2854 scd/app-openpgp.c:5025
 #, c-format
 msgid "error retrieving CHV status from card\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1430
+#: scd/app-openpgp.c:1426
 #, c-format
 msgid "response does not contain the RSA modulus\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1437
+#: scd/app-openpgp.c:1433
 #, c-format
 msgid "response does not contain the RSA public exponent\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1547
+#: scd/app-openpgp.c:1543
 #, fuzzy, c-format
 #| msgid "remove keys from the public keyring"
 msgid "response does not contain the EC public key\n"
 msgstr "hapus kunci dari keyring publik"
 
-#: scd/app-openpgp.c:1665 scd/app-openpgp.c:4284
+#: scd/app-openpgp.c:1661 scd/app-openpgp.c:4283
 #, c-format
 msgid "response does not contain the public key data\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1772
+#: scd/app-openpgp.c:1768
 #, fuzzy, c-format
 msgid "reading public key failed: %s\n"
 msgstr "gagal menghapus keyblok: %s\n"
@@ -8221,43 +8246,43 @@ msgstr "gagal menghapus keyblok: %s\n"
 #. TRANSLATORS: Put a \x1f right before a colon.  This can be
 #. * used by pinentry to nicely align the names and values.  Keep
 #. * the %s at the start and end of the string.
-#: scd/app-openpgp.c:2140
+#: scd/app-openpgp.c:2138
 #, c-format
 msgid "%sNumber\1f: %s%%0AHolder\1f: %s%%0ACounter\1f: %lu%s"
 msgstr ""
 
-#: scd/app-openpgp.c:2280
+#: scd/app-openpgp.c:2278
 #, c-format
 msgid "using default PIN as %s\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2287
+#: scd/app-openpgp.c:2285
 #, c-format
 msgid "failed to use default PIN as %s: %s - disabling further default use\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2300
+#: scd/app-openpgp.c:2298
 #, fuzzy
 msgid "||Please unlock the card"
 msgstr "ubah passphrase"
 
-#: scd/app-openpgp.c:2352 scd/app-openpgp.c:2537 scd/app-openpgp.c:2834
+#: scd/app-openpgp.c:2350 scd/app-openpgp.c:2535 scd/app-openpgp.c:2833
 #, c-format
 msgid "PIN for CHV%d is too short; minimum length is %d\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2366 scd/app-openpgp.c:2413 scd/app-openpgp.c:2551
-#: scd/app-openpgp.c:4642
+#: scd/app-openpgp.c:2364 scd/app-openpgp.c:2411 scd/app-openpgp.c:2549
+#: scd/app-openpgp.c:4641
 #, fuzzy, c-format
 msgid "verify CHV%d failed: %s\n"
 msgstr "Pengiriman keyserver gagal: %s\n"
 
-#: scd/app-openpgp.c:2449 scd/app-openpgp.c:5029
+#: scd/app-openpgp.c:2447 scd/app-openpgp.c:5034
 #, c-format
 msgid "card is permanently locked!\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2453
+#: scd/app-openpgp.c:2451
 #, c-format
 msgid "%d Admin PIN attempt remaining before card is permanently locked\n"
 msgid_plural ""
@@ -8265,29 +8290,22 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-#. TRANSLATORS: Do not translate the "|A|" prefix but keep it at
-#. the start of the string.  Use %0A (single percent) for a linefeed.
-#: scd/app-openpgp.c:2463
-#, fuzzy
-msgid "|A|Please enter the Admin PIN"
-msgstr "ubah passphrase"
-
-#: scd/app-openpgp.c:2484
+#: scd/app-openpgp.c:2482
 #, c-format
 msgid "access to admin commands is not configured\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2821
+#: scd/app-openpgp.c:2820
 #, fuzzy
 msgid "||Please enter the PIN"
 msgstr "ubah passphrase"
 
-#: scd/app-openpgp.c:2870
+#: scd/app-openpgp.c:2869
 #, fuzzy
 msgid "||Please enter the Reset Code for the card"
 msgstr "Silakan pilih alasan untuk pembatalan:\n"
 
-#: scd/app-openpgp.c:2880 scd/app-openpgp.c:2941
+#: scd/app-openpgp.c:2879 scd/app-openpgp.c:2940
 #, c-format
 msgid "Reset Code is too short; minimum length is %d\n"
 msgstr ""
@@ -8295,128 +8313,128 @@ msgstr ""
 #. TRANSLATORS: Do not translate the "|*|" prefixes but
 #. keep it at the start of the string.  We need this elsewhere
 #. to get some infos on the string.
-#: scd/app-openpgp.c:2903
+#: scd/app-openpgp.c:2902
 msgid "|RN|New Reset Code"
 msgstr ""
 
-#: scd/app-openpgp.c:2904
+#: scd/app-openpgp.c:2903
 msgid "|AN|New Admin PIN"
 msgstr ""
 
-#: scd/app-openpgp.c:2904
+#: scd/app-openpgp.c:2903
 msgid "|N|New PIN"
 msgstr ""
 
-#: scd/app-openpgp.c:2985
+#: scd/app-openpgp.c:2984
 #, fuzzy
 msgid "||Please enter the Admin PIN and New Admin PIN"
 msgstr "ubah passphrase"
 
-#: scd/app-openpgp.c:2986
+#: scd/app-openpgp.c:2985
 #, fuzzy
 msgid "||Please enter the PIN and New PIN"
 msgstr "ubah passphrase"
 
-#: scd/app-openpgp.c:3048 scd/app-openpgp.c:4344
+#: scd/app-openpgp.c:3047 scd/app-openpgp.c:4343
 #, fuzzy, c-format
 msgid "error reading application data\n"
 msgstr "gagal membaca keyblock: %s\n"
 
-#: scd/app-openpgp.c:3054 scd/app-openpgp.c:4351
+#: scd/app-openpgp.c:3053 scd/app-openpgp.c:4350
 #, fuzzy, c-format
 msgid "error reading fingerprint DO\n"
 msgstr "%s: kesalahan membaca record bebas: %s\n"
 
-#: scd/app-openpgp.c:3064
+#: scd/app-openpgp.c:3063
 #, fuzzy, c-format
 msgid "key already exists\n"
 msgstr "`%s' sudah dikompresi\n"
 
-#: scd/app-openpgp.c:3068
+#: scd/app-openpgp.c:3067
 #, c-format
 msgid "existing key will be replaced\n"
 msgstr ""
 
-#: scd/app-openpgp.c:3070
+#: scd/app-openpgp.c:3069
 #, fuzzy, c-format
 msgid "generating new key\n"
 msgstr "buat sepasang kunci baru"
 
-#: scd/app-openpgp.c:3072
+#: scd/app-openpgp.c:3071
 #, fuzzy, c-format
 msgid "writing new key\n"
 msgstr "buat sepasang kunci baru"
 
-#: scd/app-openpgp.c:3645 scd/app-openpgp.c:3997
+#: scd/app-openpgp.c:3644 scd/app-openpgp.c:3996
 #, c-format
 msgid "creation timestamp missing\n"
 msgstr ""
 
-#: scd/app-openpgp.c:3686 scd/app-openpgp.c:3694
+#: scd/app-openpgp.c:3685 scd/app-openpgp.c:3693
 #, c-format
 msgid "RSA prime %s missing or not of size %d bits\n"
 msgstr ""
 
-#: scd/app-openpgp.c:3827 scd/app-openpgp.c:4104
+#: scd/app-openpgp.c:3826 scd/app-openpgp.c:4103
 #, fuzzy, c-format
 msgid "failed to store the key: %s\n"
 msgstr "gagal inisialisasi TrustDB: %s\n"
 
-#: scd/app-openpgp.c:3991
+#: scd/app-openpgp.c:3990
 #, fuzzy, c-format
 #| msgid "unsupported URI"
 msgid "unsupported curve\n"
 msgstr "URI tidak didukung"
 
-#: scd/app-openpgp.c:4261
+#: scd/app-openpgp.c:4260
 #, c-format
 msgid "please wait while key is being generated ...\n"
 msgstr ""
 
-#: scd/app-openpgp.c:4269
+#: scd/app-openpgp.c:4268
 #, fuzzy, c-format
 msgid "generating key failed\n"
 msgstr "gagal menghapus keyblok: %s\n"
 
-#: scd/app-openpgp.c:4275
+#: scd/app-openpgp.c:4274
 #, fuzzy, c-format
 msgid "key generation completed (%d second)\n"
 msgid_plural "key generation completed (%d seconds)\n"
 msgstr[0] "Pembuatan kunci gagal: %s\n"
 msgstr[1] "Pembuatan kunci gagal: %s\n"
 
-#: scd/app-openpgp.c:4309
+#: scd/app-openpgp.c:4308
 #, c-format
 msgid "invalid structure of OpenPGP card (DO 0x93)\n"
 msgstr ""
 
-#: scd/app-openpgp.c:4359
+#: scd/app-openpgp.c:4358
 #, c-format
 msgid "fingerprint on card does not match requested one\n"
 msgstr ""
 
-#: scd/app-openpgp.c:4558
+#: scd/app-openpgp.c:4557
 #, fuzzy, c-format
 msgid "card does not support digest algorithm %s\n"
 msgstr "%s signature, algoritma digest %s\n"
 
-#: scd/app-openpgp.c:4616
+#: scd/app-openpgp.c:4615
 #, c-format
 msgid "signatures created so far: %lu\n"
 msgstr ""
 
-#: scd/app-openpgp.c:5034
+#: scd/app-openpgp.c:5039
 #, c-format
 msgid ""
 "verification of Admin PIN is currently prohibited through this command\n"
 msgstr ""
 
-#: scd/app-openpgp.c:5346 scd/app-openpgp.c:5357
+#: scd/app-openpgp.c:5351 scd/app-openpgp.c:5362
 #, fuzzy, c-format
 msgid "can't access %s - invalid OpenPGP card?\n"
 msgstr "tidak ditemukan data OpenPGP yang valid.\n"
 
-#: scd/app-dinsig.c:299
+#: scd/app-dinsig.c:298
 #, fuzzy
 msgid "||Please enter your PIN at the reader's pinpad"
 msgstr "ubah passphrase"
@@ -8424,7 +8442,7 @@ msgstr "ubah passphrase"
 #. TRANSLATORS: Do not translate the "|*|" prefixes but
 #. keep it at the start of the string.  We need this elsewhere
 #. to get some infos on the string.
-#: scd/app-dinsig.c:528
+#: scd/app-dinsig.c:529
 msgid "|N|Initial New PIN"
 msgstr ""
 
@@ -8432,7 +8450,7 @@ msgstr ""
 msgid "run in multi server mode (foreground)"
 msgstr ""
 
-#: scd/scdaemon.c:129 sm/gpgsm.c:345 dirmngr/dirmngr.c:187
+#: scd/scdaemon.c:129 sm/gpgsm.c:348 dirmngr/dirmngr.c:188
 msgid "|LEVEL|set the debugging level to LEVEL"
 msgstr ""
 
@@ -8455,50 +8473,50 @@ msgstr "|NAMA|gunakan NAMA sebagai penerima baku"
 msgid "|NAME|use NAME as PC/SC driver"
 msgstr "|NAMA|gunakan NAMA sebagai penerima baku"
 
-#: scd/scdaemon.c:145
+#: scd/scdaemon.c:146
 #, fuzzy
 msgid "do not use the internal CCID driver"
 msgstr "jangan menggunakan terminal"
 
-#: scd/scdaemon.c:151
+#: scd/scdaemon.c:152
 msgid "|N|disconnect the card after N seconds of inactivity"
 msgstr ""
 
-#: scd/scdaemon.c:154
+#: scd/scdaemon.c:155
 msgid "do not use a reader's pinpad"
 msgstr ""
 
-#: scd/scdaemon.c:159
+#: scd/scdaemon.c:160
 #, fuzzy
 msgid "deny the use of admin card commands"
 msgstr "perintah saling konflik\n"
 
-#: scd/scdaemon.c:162
+#: scd/scdaemon.c:163
 msgid "use variable length input for pinpad"
 msgstr ""
 
-#: scd/scdaemon.c:311
+#: scd/scdaemon.c:312
 #, fuzzy
 msgid "Usage: @SCDAEMON@ [options] (-h for help)"
 msgstr "Pemakaian: gpg [pilihan] [file] (-h untuk bantuan)"
 
-#: scd/scdaemon.c:313
+#: scd/scdaemon.c:314
 msgid ""
 "Syntax: scdaemon [options] [command [args]]\n"
 "Smartcard daemon for @GNUPG@\n"
 msgstr ""
 
-#: scd/scdaemon.c:806
+#: scd/scdaemon.c:808
 #, c-format
 msgid "please use the option '--daemon' to run the program in the background\n"
 msgstr ""
 
-#: scd/scdaemon.c:1183 dirmngr/dirmngr.c:2082
+#: scd/scdaemon.c:1185 dirmngr/dirmngr.c:2119
 #, c-format
 msgid "handler for fd %d started\n"
 msgstr ""
 
-#: scd/scdaemon.c:1195 dirmngr/dirmngr.c:2090
+#: scd/scdaemon.c:1197 dirmngr/dirmngr.c:2127
 #, c-format
 msgid "handler for fd %d terminated\n"
 msgstr ""
@@ -8546,7 +8564,7 @@ msgstr "menulis kunci rahasia ke `%s'\n"
 msgid "certificate policy not allowed"
 msgstr "menulis kunci rahasia ke `%s'\n"
 
-#: sm/certchain.c:595 sm/keydb.c:1106 sm/keydb.c:1192
+#: sm/certchain.c:595 sm/keydb.c:1084 sm/keydb.c:1171
 #, fuzzy, c-format
 msgid "failed to get the fingerprint\n"
 msgstr "gagal inisialisasi TrustDB: %s\n"
@@ -8582,8 +8600,8 @@ msgstr "kesalahan penciptaan passphrase: %s\n"
 msgid "dirmngr cache-only key lookup failed: %s\n"
 msgstr "gagal menghapus keyblok: %s\n"
 
-#: sm/certchain.c:1041 sm/certchain.c:1554 sm/certchain.c:2192 sm/decrypt.c:265
-#: sm/encrypt.c:344 sm/import.c:415 sm/keydb.c:1113 sm/keydb.c:1199
+#: sm/certchain.c:1041 sm/certchain.c:1554 sm/certchain.c:2192 sm/decrypt.c:728
+#: sm/encrypt.c:345 sm/import.c:415 sm/keydb.c:1091 sm/keydb.c:1178
 #: sm/sign.c:337 sm/verify.c:118
 #, fuzzy, c-format
 msgid "failed to allocate keyDB handle\n"
@@ -8781,13 +8799,13 @@ msgid "a %u bit hash is not valid for a %u bit %s key\n"
 msgstr ""
 
 #: sm/certcheck.c:238 sm/certcheck.c:262 dirmngr/crlcache.c:1542
-#: dirmngr/crlcache.c:1566 dirmngr/dirmngr.c:1324 dirmngr/validate.c:903
+#: dirmngr/crlcache.c:1566 dirmngr/dirmngr.c:1361 dirmngr/validate.c:903
 #: dirmngr/validate.c:927
 #, fuzzy, c-format
 msgid "out of core\n"
 msgstr "tidak diproses"
 
-#: sm/certcheck.c:371 sm/verify.c:213
+#: sm/certcheck.c:370 sm/verify.c:213
 #, c-format
 msgid "(this is the MD2 algorithm)\n"
 msgstr ""
@@ -9085,22 +9103,33 @@ msgstr ""
 msgid "resource problem: out of core\n"
 msgstr ""
 
-#: sm/decrypt.c:341
+#: sm/decrypt.c:536
+#, fuzzy, c-format
+#| msgid "%s encrypted data\n"
+msgid "%s.%s encrypted data\n"
+msgstr "%s data terenkripsi\n"
+
+#: sm/decrypt.c:803
 #, c-format
 msgid "(this is the RC2 algorithm)\n"
 msgstr ""
 
-#: sm/decrypt.c:343
+#: sm/decrypt.c:805
 #, c-format
 msgid "(this does not seem to be an encrypted message)\n"
 msgstr ""
 
+#: sm/decrypt.c:958
+#, fuzzy, c-format
+msgid "encrypted to %s key %s\n"
+msgstr "dienkripsi dengan kunci %s, ID %08lX\n"
+
 #: sm/delete.c:51 sm/delete.c:112
 #, fuzzy, c-format
 msgid "certificate '%s' not found: %s\n"
 msgstr "kunci '%s' tidak ditemukan: %s\n"
 
-#: sm/delete.c:122 sm/keydb.c:1209 sm/keydb.c:1307
+#: sm/delete.c:122 sm/keydb.c:1189 sm/keydb.c:1288
 #, fuzzy, c-format
 msgid "error locking keybox: %s\n"
 msgstr "gagal membaca keyblock: %s\n"
@@ -9120,139 +9149,139 @@ msgstr "preferensi %c%lu ganda \n"
 msgid "deleting certificate \"%s\" failed: %s\n"
 msgstr "gagal menghapus keyblok: %s\n"
 
-#: sm/encrypt.c:330
+#: sm/encrypt.c:331
 #, fuzzy, c-format
 msgid "no valid recipients given\n"
 msgstr "(Tidak diberikan deskripsi)\n"
 
-#: sm/gpgsm.c:215
+#: sm/gpgsm.c:216
 #, fuzzy
 msgid "list external keys"
 msgstr "tampilkan kunci rahasia"
 
-#: sm/gpgsm.c:217
+#: sm/gpgsm.c:218
 #, fuzzy
 msgid "list certificate chain"
 msgstr "sertifikat yang buruk"
 
-#: sm/gpgsm.c:225
+#: sm/gpgsm.c:226
 #, fuzzy
 msgid "import certificates"
 msgstr "sertifikat yang buruk"
 
-#: sm/gpgsm.c:226
+#: sm/gpgsm.c:227
 #, fuzzy
 msgid "export certificates"
 msgstr "sertifikat yang buruk"
 
-#: sm/gpgsm.c:234
+#: sm/gpgsm.c:235
 msgid "register a smartcard"
 msgstr ""
 
-#: sm/gpgsm.c:237
+#: sm/gpgsm.c:238
 msgid "pass a command to the dirmngr"
 msgstr ""
 
-#: sm/gpgsm.c:239
+#: sm/gpgsm.c:240
 msgid "invoke gpg-protect-tool"
 msgstr ""
 
-#: sm/gpgsm.c:256
+#: sm/gpgsm.c:257
 #, fuzzy
 msgid "create base-64 encoded output"
 msgstr "ciptakan output ascii"
 
-#: sm/gpgsm.c:265
+#: sm/gpgsm.c:266
 msgid "assume input is in PEM format"
 msgstr ""
 
-#: sm/gpgsm.c:267
+#: sm/gpgsm.c:268
 msgid "assume input is in base-64 format"
 msgstr ""
 
-#: sm/gpgsm.c:269
+#: sm/gpgsm.c:270
 msgid "assume input is in binary format"
 msgstr ""
 
-#: sm/gpgsm.c:276
+#: sm/gpgsm.c:277
 msgid "never consult a CRL"
 msgstr ""
 
-#: sm/gpgsm.c:286
+#: sm/gpgsm.c:287
 msgid "check validity using OCSP"
 msgstr ""
 
-#: sm/gpgsm.c:291
+#: sm/gpgsm.c:292
 msgid "|N|number of certificates to include"
 msgstr ""
 
-#: sm/gpgsm.c:294
+#: sm/gpgsm.c:295
 msgid "|FILE|take policy information from FILE"
 msgstr ""
 
-#: sm/gpgsm.c:297
+#: sm/gpgsm.c:298
 msgid "do not check certificate policies"
 msgstr ""
 
-#: sm/gpgsm.c:301
+#: sm/gpgsm.c:302
 msgid "fetch missing issuer certificates"
 msgstr ""
 
-#: sm/gpgsm.c:312
+#: sm/gpgsm.c:313
 msgid "don't use the terminal at all"
 msgstr "jangan menggunakan terminal"
 
-#: sm/gpgsm.c:314
+#: sm/gpgsm.c:315
 msgid "|FILE|write a server mode log to FILE"
 msgstr ""
 
-#: sm/gpgsm.c:319
+#: sm/gpgsm.c:320
 #, fuzzy
 msgid "|FILE|write an audit log to FILE"
 msgstr "|FILE|muat modul ekstensi FILE"
 
-#: sm/gpgsm.c:322
+#: sm/gpgsm.c:323
 msgid "batch mode: never ask"
 msgstr "mode batch: tanpa tanya"
 
-#: sm/gpgsm.c:323
+#: sm/gpgsm.c:324
 msgid "assume yes on most questions"
 msgstr "asumsikan ya untuk seluruh pertanyaan"
 
-#: sm/gpgsm.c:324
+#: sm/gpgsm.c:325
 msgid "assume no on most questions"
 msgstr "asumsikan tidak untuk seluruh pertanyaan"
 
-#: sm/gpgsm.c:327
+#: sm/gpgsm.c:328
 #, fuzzy
 msgid "|FILE|add keyring to the list of keyrings"
 msgstr "tambah keyring ini ke daftar keyring"
 
-#: sm/gpgsm.c:330
+#: sm/gpgsm.c:331
 #, fuzzy
 msgid "|USER-ID|use USER-ID as default secret key"
 msgstr "|NAMA|gunakan NAMA sebagai kunci rahasia baku"
 
-#: sm/gpgsm.c:340 tools/gpgconf-comp.c:837
+#: sm/gpgsm.c:341 dirmngr/dirmngr.c:214 tools/gpgconf-comp.c:841
 #, fuzzy
 msgid "|SPEC|use this keyserver to lookup keys"
 msgstr "|HOST|gunakan keyserver ini utk lihat kunci"
 
-#: sm/gpgsm.c:357
+#: sm/gpgsm.c:360
 msgid "|NAME|use cipher algorithm NAME"
 msgstr "|NAMA|gunakan algoritma cipher NAMA"
 
-#: sm/gpgsm.c:359
+#: sm/gpgsm.c:362
 msgid "|NAME|use message digest algorithm NAME"
 msgstr "|NAMA|gunakan algoritma digest pesan NAMA"
 
-#: sm/gpgsm.c:570
+#: sm/gpgsm.c:573
 #, fuzzy
 #| msgid "Usage: gpg [options] [files] (-h for help)"
 msgid "Usage: @GPGSM@ [options] [files] (-h for help)"
 msgstr "Pemakaian: gpg [pilihan] [file] (-h untuk bantuan)"
 
-#: sm/gpgsm.c:573
+#: sm/gpgsm.c:576
 #, fuzzy
 msgid ""
 "Syntax: @GPGSM@ [options] [files]\n"
@@ -9263,47 +9292,27 @@ msgstr ""
 "tandai, cek, enkripsi atau dekripsi\n"
 "operasi baku tergantung pada data input\n"
 
-#: sm/gpgsm.c:777
+#: sm/gpgsm.c:784
 #, fuzzy, c-format
 msgid "Note: won't be able to encrypt to '%s': %s\n"
 msgstr "tidak dapat terkoneksi ke `%s': %s\n"
 
-#: sm/gpgsm.c:788
+#: sm/gpgsm.c:795
 #, fuzzy, c-format
 msgid "unknown validation model '%s'\n"
 msgstr "penerima baku tidak dikenal `%s'\n"
 
-#: sm/gpgsm.c:839 dirmngr/ldapserver.c:86
-#, fuzzy, c-format
-msgid "%s:%u: no hostname given\n"
-msgstr "(Tidak diberikan deskripsi)\n"
-
-#: sm/gpgsm.c:858 dirmngr/ldapserver.c:105
-#, c-format
-msgid "%s:%u: password given without user\n"
-msgstr ""
-
-#: sm/gpgsm.c:879 dirmngr/ldapserver.c:126
-#, fuzzy, c-format
-msgid "%s:%u: skipping this line\n"
-msgstr " s = lewati kunci ini\n"
-
-#: sm/gpgsm.c:1449
-#, fuzzy, c-format
-msgid "could not parse keyserver\n"
-msgstr "tidak dapat memparsing URI keyserver\n"
-
-#: sm/gpgsm.c:1712
+#: sm/gpgsm.c:1612
 #, fuzzy, c-format
 msgid "importing common certificates '%s'\n"
 msgstr "menulis ke `%s'\n"
 
-#: sm/gpgsm.c:1755
+#: sm/gpgsm.c:1655
 #, fuzzy, c-format
 msgid "can't sign using '%s': %s\n"
 msgstr "tidak dapat menutup `%s': %s\n"
 
-#: sm/gpgsm.c:2122
+#: sm/gpgsm.c:2028
 #, c-format
 msgid "invalid command (there is no implicit command)\n"
 msgstr ""
@@ -9323,7 +9332,7 @@ msgstr "buat sertifikat revokasi"
 msgid "basic certificate checks failed - not imported\n"
 msgstr ""
 
-#: sm/import.c:472 sm/keydb.c:1229 sm/keydb.c:1319
+#: sm/import.c:472 sm/keydb.c:1209 sm/keydb.c:1300
 #, fuzzy, c-format
 msgid "error getting stored flags: %s\n"
 msgstr "kesalahan penciptaan passphrase: %s\n"
@@ -9338,27 +9347,27 @@ msgstr "kesalahan penciptaan passphrase: %s\n"
 msgid "error reading input: %s\n"
 msgstr "kesalahan membaca `%s': %s\n"
 
-#: sm/keydb.c:1148
+#: sm/keydb.c:1127
 #, c-format
 msgid "problem looking for existing certificate: %s\n"
 msgstr ""
 
-#: sm/keydb.c:1160
+#: sm/keydb.c:1139
 #, fuzzy, c-format
 msgid "error finding writable keyDB: %s\n"
 msgstr "kesalahan penciptaan passphrase: %s\n"
 
-#: sm/keydb.c:1168
+#: sm/keydb.c:1147
 #, fuzzy, c-format
 msgid "error storing certificate: %s\n"
 msgstr "kesalahan penciptaan passphrase: %s\n"
 
-#: sm/keydb.c:1220
+#: sm/keydb.c:1200
 #, fuzzy, c-format
 msgid "problem re-searching certificate: %s\n"
 msgstr "rev? masalah memeriksa pembatalan: %s\n"
 
-#: sm/keydb.c:1241 sm/keydb.c:1330
+#: sm/keydb.c:1221 sm/keydb.c:1311
 #, fuzzy, c-format
 msgid "error storing flags: %s\n"
 msgstr "kesalahan membaca `%s': %s\n"
@@ -9393,7 +9402,7 @@ msgid ""
 "%s%sAre you really sure that you want to do this?"
 msgstr ""
 
-#: sm/qualified.c:215 sm/verify.c:678
+#: sm/qualified.c:215 sm/verify.c:679
 #, c-format
 msgid ""
 "Note, that this software is not officially approved to create or verify such "
@@ -9438,23 +9447,23 @@ msgstr ""
 msgid "algorithm:"
 msgstr "armor: %s\n"
 
-#: sm/verify.c:535
+#: sm/verify.c:536
 #, c-format
 msgid ""
 "invalid signature: message digest attribute does not match computed one\n"
 msgstr ""
 
-#: sm/verify.c:656
+#: sm/verify.c:657
 #, fuzzy, c-format
 msgid "Good signature from"
 msgstr "Signature baik dari \""
 
-#: sm/verify.c:657
+#: sm/verify.c:658
 #, fuzzy, c-format
 msgid "                aka"
 msgstr "              alias \""
 
-#: sm/verify.c:675
+#: sm/verify.c:676
 #, fuzzy, c-format
 msgid "This is a qualified signature\n"
 msgstr ""
@@ -10084,7 +10093,7 @@ msgid "error retrieving '%s': %s\n"
 msgstr "kesalahan penciptaan : `%s': %s\n"
 
 #: dirmngr/crlfetch.c:218 dirmngr/ldap-wrapper-ce.c:492
-#: dirmngr/ldap-wrapper.c:884 dirmngr/misc.c:573
+#: dirmngr/ldap-wrapper.c:885 dirmngr/misc.c:573
 #, fuzzy, c-format
 #| msgid "%s: error writing dir record: %s\n"
 msgid "error initializing reader object: %s\n"
@@ -10252,116 +10261,116 @@ msgstr ""
 msgid "looking up '%s'\n"
 msgstr ""
 
-#: dirmngr/dirmngr.c:170
+#: dirmngr/dirmngr.c:171
 msgid "list the contents of the CRL cache"
 msgstr ""
 
-#: dirmngr/dirmngr.c:171
+#: dirmngr/dirmngr.c:172
 #, fuzzy
 msgid "|FILE|load CRL from FILE into cache"
 msgstr "|FILE|muat modul ekstensi FILE"
 
-#: dirmngr/dirmngr.c:172
+#: dirmngr/dirmngr.c:173
 msgid "|URL|fetch a CRL from URL"
 msgstr ""
 
-#: dirmngr/dirmngr.c:173
+#: dirmngr/dirmngr.c:174
 msgid "shutdown the dirmngr"
 msgstr ""
 
-#: dirmngr/dirmngr.c:174
+#: dirmngr/dirmngr.c:175
 msgid "flush the cache"
 msgstr ""
 
-#: dirmngr/dirmngr.c:190 tools/gpgconf-comp.c:522 tools/gpgconf-comp.c:741
-#: tools/gpgconf-comp.c:854 tools/gpgconf-comp.c:950
+#: dirmngr/dirmngr.c:191 tools/gpgconf-comp.c:522 tools/gpgconf-comp.c:745
+#: tools/gpgconf-comp.c:858 tools/gpgconf-comp.c:954
 msgid "|FILE|write server mode logs to FILE"
 msgstr ""
 
-#: dirmngr/dirmngr.c:191
+#: dirmngr/dirmngr.c:192
 #, fuzzy
 msgid "run without asking a user"
 msgstr "Berhenti tanpa menyimpan? "
 
-#: dirmngr/dirmngr.c:192
+#: dirmngr/dirmngr.c:193
 msgid "force loading of outdated CRLs"
 msgstr ""
 
-#: dirmngr/dirmngr.c:193
+#: dirmngr/dirmngr.c:194
 msgid "allow sending OCSP requests"
 msgstr ""
 
-#: dirmngr/dirmngr.c:195
+#: dirmngr/dirmngr.c:196
 msgid "allow online software version check"
 msgstr ""
 
-#: dirmngr/dirmngr.c:196
+#: dirmngr/dirmngr.c:197
 msgid "inhibit the use of HTTP"
 msgstr ""
 
-#: dirmngr/dirmngr.c:197
+#: dirmngr/dirmngr.c:198
 msgid "inhibit the use of LDAP"
 msgstr ""
 
-#: dirmngr/dirmngr.c:199
+#: dirmngr/dirmngr.c:200
 msgid "ignore HTTP CRL distribution points"
 msgstr ""
 
-#: dirmngr/dirmngr.c:201
+#: dirmngr/dirmngr.c:202
 msgid "ignore LDAP CRL distribution points"
 msgstr ""
 
-#: dirmngr/dirmngr.c:203
+#: dirmngr/dirmngr.c:204
 msgid "ignore certificate contained OCSP service URLs"
 msgstr ""
 
-#: dirmngr/dirmngr.c:206
+#: dirmngr/dirmngr.c:207
 msgid "|URL|redirect all HTTP requests to URL"
 msgstr ""
 
-#: dirmngr/dirmngr.c:208
+#: dirmngr/dirmngr.c:209
 msgid "|HOST|use HOST for LDAP queries"
 msgstr ""
 
-#: dirmngr/dirmngr.c:210
+#: dirmngr/dirmngr.c:211
 msgid "do not use fallback hosts with --ldap-proxy"
 msgstr ""
 
-#: dirmngr/dirmngr.c:213
+#: dirmngr/dirmngr.c:216
 #, fuzzy
 msgid "|FILE|read LDAP server list from FILE"
 msgstr "|FILE|muat modul ekstensi FILE"
 
-#: dirmngr/dirmngr.c:215
+#: dirmngr/dirmngr.c:218
 msgid "add new servers discovered in CRL distribution points to serverlist"
 msgstr ""
 
-#: dirmngr/dirmngr.c:218 dirmngr/dirmngr_ldap.c:137
+#: dirmngr/dirmngr.c:221
 msgid "|N|set LDAP timeout to N seconds"
 msgstr ""
 
-#: dirmngr/dirmngr.c:221
+#: dirmngr/dirmngr.c:224
 #, fuzzy
 msgid "|URL|use OCSP responder at URL"
 msgstr "tidak dapat memparsing URI keyserver\n"
 
-#: dirmngr/dirmngr.c:223
+#: dirmngr/dirmngr.c:226
 msgid "|FPR|OCSP response signed by FPR"
 msgstr ""
 
-#: dirmngr/dirmngr.c:229
+#: dirmngr/dirmngr.c:232
 msgid "|N|do not return more than N items in one query"
 msgstr ""
 
-#: dirmngr/dirmngr.c:234
+#: dirmngr/dirmngr.c:237
 msgid "|FILE|use the CA certificates in FILE for HKP over TLS"
 msgstr ""
 
-#: dirmngr/dirmngr.c:236
+#: dirmngr/dirmngr.c:239
 msgid "route all network traffic via Tor"
 msgstr ""
 
-#: dirmngr/dirmngr.c:265
+#: dirmngr/dirmngr.c:268
 #, fuzzy
 #| msgid ""
 #| "@\n"
@@ -10374,290 +10383,115 @@ msgstr ""
 "@\n"
 "(Lihat man page untuk daftar lengkap semua perintah dan option)\n"
 
-#: dirmngr/dirmngr.c:407
+#: dirmngr/dirmngr.c:415
 #, fuzzy
 msgid "Usage: @DIRMNGR@ [options] (-h for help)"
 msgstr "Pemakaian: gpg [pilihan] [file] (-h untuk bantuan)"
 
-#: dirmngr/dirmngr.c:409
+#: dirmngr/dirmngr.c:417
 msgid ""
 "Syntax: @DIRMNGR@ [options] [command [args]]\n"
 "Keyserver, CRL, and OCSP access for @GNUPG@\n"
 msgstr ""
 
-#: dirmngr/dirmngr.c:489
+#: dirmngr/dirmngr.c:497
 #, c-format
 msgid "valid debug levels are: %s\n"
 msgstr ""
 
-#: dirmngr/dirmngr.c:575 tools/gpgconf.c:647 tools/gpgconf.c:682
+#: dirmngr/dirmngr.c:583 tools/gpgconf.c:647 tools/gpgconf.c:682
 #: tools/gpgconf.c:780
 #, fuzzy, c-format
 msgid "usage: %s [options] "
 msgstr "pemakaian: gpg [pilihan] "
 
-#: dirmngr/dirmngr.c:1212
+#: dirmngr/dirmngr.c:1249
 #, fuzzy, c-format
 #| msgid "%s not allowed with %s!\n"
 msgid "colons are not allowed in the socket name\n"
 msgstr "%s tidak dibolehkan dengan %s!\n"
 
-#: dirmngr/dirmngr.c:1444 dirmngr/server.c:1824
+#: dirmngr/dirmngr.c:1481 dirmngr/server.c:1878
 #, fuzzy, c-format
 msgid "fetching CRL from '%s' failed: %s\n"
 msgstr "gagal enarmoring: %s\n"
 
-#: dirmngr/dirmngr.c:1450 dirmngr/server.c:1830
+#: dirmngr/dirmngr.c:1487 dirmngr/server.c:1884
 #, fuzzy, c-format
 msgid "processing CRL from '%s' failed: %s\n"
 msgstr "gagal enarmoring: %s\n"
 
-#: dirmngr/dirmngr.c:1645
+#: dirmngr/dirmngr.c:1682
 #, fuzzy, c-format
 msgid "%s:%u: line too long - skipped\n"
 msgstr "baris terlalu panjang\n"
 
-#: dirmngr/dirmngr.c:1700 dirmngr/dirmngr.c:1784
+#: dirmngr/dirmngr.c:1737 dirmngr/dirmngr.c:1821
 #, fuzzy, c-format
 msgid "%s:%u: invalid fingerprint detected\n"
 msgstr "kesalahan: fingerprint tidak valid\n"
 
-#: dirmngr/dirmngr.c:1736 dirmngr/dirmngr.c:1762 tools/gpgconf-comp.c:4191
+#: dirmngr/dirmngr.c:1773 dirmngr/dirmngr.c:1799 tools/gpgconf-comp.c:4199
 #, fuzzy, c-format
 msgid "%s:%u: read error: %s\n"
 msgstr "kesalahan pembacaan: %s\n"
 
-#: dirmngr/dirmngr.c:1791
+#: dirmngr/dirmngr.c:1828
 #, c-format
 msgid "%s:%u: garbage at end of line ignored\n"
 msgstr ""
 
-#: dirmngr/dirmngr.c:1860
+#: dirmngr/dirmngr.c:1897
 #, c-format
 msgid "SIGHUP received - re-reading configuration and flushing caches\n"
 msgstr ""
 
-#: dirmngr/dirmngr.c:1900
+#: dirmngr/dirmngr.c:1937
 #, c-format
 msgid "SIGUSR2 received - no action defined\n"
 msgstr ""
 
-#: dirmngr/dirmngr.c:1905
+#: dirmngr/dirmngr.c:1942
 #, c-format
 msgid "SIGTERM received - shutting down ...\n"
 msgstr ""
 
-#: dirmngr/dirmngr.c:1907
+#: dirmngr/dirmngr.c:1944
 #, c-format
 msgid "SIGTERM received - still %d active connections\n"
 msgstr ""
 
-#: dirmngr/dirmngr.c:1912
+#: dirmngr/dirmngr.c:1949
 #, fuzzy, c-format
 msgid "shutdown forced\n"
 msgstr "tidak diproses"
 
-#: dirmngr/dirmngr.c:1920
+#: dirmngr/dirmngr.c:1957
 #, c-format
 msgid "SIGINT received - immediate shutdown\n"
 msgstr ""
 
-#: dirmngr/dirmngr.c:1927
+#: dirmngr/dirmngr.c:1964
 #, c-format
 msgid "signal %d received - no action defined\n"
 msgstr ""
 
-#: dirmngr/dirmngr_ldap.c:138
-msgid "return all values in a record oriented format"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:141
-msgid "|NAME|ignore host part and connect through NAME"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:142
-#, fuzzy
-#| msgid "|NAME|set terminal charset to NAME"
-msgid "|NAME|connect to host NAME"
-msgstr "|NAMA|set charset terminal ke NAMA"
-
-#: dirmngr/dirmngr_ldap.c:143
-msgid "|N|connect to port N"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:144
-#, fuzzy
-#| msgid "|NAME|use NAME as default recipient"
-msgid "|NAME|use user NAME for authentication"
-msgstr "|NAMA|gunakan NAMA sebagai penerima baku"
-
-#: dirmngr/dirmngr_ldap.c:145
-msgid "|PASS|use password PASS for authentication"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:147
-msgid "take password from $DIRMNGR_LDAP_PASS"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:148
-msgid "|STRING|query DN STRING"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:149
-msgid "|STRING|use STRING as filter expression"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:150
-msgid "|STRING|return the attribute STRING"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:211
-#, fuzzy
-#| msgid "Usage: gpg [options] [files] (-h for help)"
-msgid "Usage: dirmngr_ldap [options] [URL] (-h for help)\n"
-msgstr "Pemakaian: gpg [pilihan] [file] (-h untuk bantuan)"
-
-#: dirmngr/dirmngr_ldap.c:214
-msgid ""
-"Syntax: dirmngr_ldap [options] [URL]\n"
-"Internal LDAP helper for Dirmngr\n"
-"Interface and options may change without notice\n"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:340
-#, fuzzy, c-format
-#| msgid "invalid import options\n"
-msgid "invalid port number %d\n"
-msgstr "opsi impor tidak valid\n"
-
-#: dirmngr/dirmngr_ldap.c:456
-#, c-format
-msgid "scanning result for attribute '%s'\n"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:463 dirmngr/dirmngr_ldap.c:546
-#: dirmngr/dirmngr_ldap.c:570 dirmngr/dirmngr_ldap.c:582
-#: dirmngr/dirmngr_ldap.c:720
-#, fuzzy, c-format
-msgid "error writing to stdout: %s\n"
-msgstr "kesalahan menulis keyring `%s': %s\n"
-
-#: dirmngr/dirmngr_ldap.c:480
-#, c-format
-msgid "          available attribute '%s'\n"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:518
-#, fuzzy, c-format
-msgid "attribute '%s' not found\n"
-msgstr "kunci '%s' tidak ditemukan: %s\n"
-
-#: dirmngr/dirmngr_ldap.c:525
-#, c-format
-msgid "found attribute '%s'\n"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:634
-#, fuzzy, c-format
-#| msgid "reading from `%s'\n"
-msgid "processing url '%s'\n"
-msgstr "Membaca dari `%s'\n"
-
-#: dirmngr/dirmngr_ldap.c:636
-#, fuzzy, c-format
-#| msgid "          w/o user IDs: %lu\n"
-msgid "          user '%s'\n"
-msgstr "         tanpa ID user: %lu\n"
-
-#: dirmngr/dirmngr_ldap.c:638
-#, fuzzy, c-format
-msgid "          pass '%s'\n"
-msgstr "              alias \""
-
-#: dirmngr/dirmngr_ldap.c:640
-#, fuzzy, c-format
-msgid "          host '%s'\n"
-msgstr "              alias \""
-
-#: dirmngr/dirmngr_ldap.c:641
-#, fuzzy, c-format
-#| msgid "          not imported: %lu\n"
-msgid "          port %d\n"
-msgstr "            tidak diimpor: %lu\n"
-
-#: dirmngr/dirmngr_ldap.c:643
-#, fuzzy, c-format
-msgid "            DN '%s'\n"
-msgstr "              alias \""
-
-#: dirmngr/dirmngr_ldap.c:645
-#, c-format
-msgid "        filter '%s'\n"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:650 dirmngr/dirmngr_ldap.c:653
-#, fuzzy, c-format
-msgid "          attr '%s'\n"
-msgstr "              alias \""
-
-#: dirmngr/dirmngr_ldap.c:659
-#, fuzzy, c-format
-msgid "no host name in '%s'\n"
-msgstr "(Tidak diberikan deskripsi)\n"
-
-#: dirmngr/dirmngr_ldap.c:664
-#, c-format
-msgid "no attribute given for query '%s'\n"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:670
-#, fuzzy, c-format
-#| msgid "WARNING: using insecure memory!\n"
-msgid "WARNING: using first attribute only\n"
-msgstr "Peringatan: menggunakan memori yang tidak aman!\n"
-
-#: dirmngr/dirmngr_ldap.c:679
-#, fuzzy, c-format
-msgid "LDAP init to '%s:%d' failed: %s\n"
-msgstr "gagal enarmoring: %s\n"
-
-#: dirmngr/dirmngr_ldap.c:702
-#, fuzzy, c-format
-msgid "binding to '%s:%d' failed: %s\n"
-msgstr "gagal enarmoring: %s\n"
-
-#: dirmngr/dirmngr_ldap.c:729
-#, fuzzy, c-format
-#| msgid "dearmoring failed: %s\n"
-msgid "searching '%s' failed: %s\n"
-msgstr "gagal dearmoring: %s\n"
-
-#: dirmngr/dirmngr_ldap.c:761
-#, fuzzy, c-format
-msgid "'%s' is not an LDAP URL\n"
-msgstr "\"%s\" bukan sebuah file JPEG\n"
-
-#: dirmngr/dirmngr_ldap.c:767
-#, c-format
-msgid "'%s' is an invalid LDAP URL\n"
-msgstr ""
-
-#: dirmngr/http.c:1987 dirmngr/ocsp.c:255
+#: dirmngr/http.c:1993 dirmngr/ocsp.c:255
 #, fuzzy, c-format
 msgid "error accessing '%s': http status %u\n"
 msgstr "kesalahan membaca `%s': %s\n"
 
-#: dirmngr/http.c:3629 dirmngr/ocsp.c:229
+#: dirmngr/http.c:3644 dirmngr/ocsp.c:229
 #, c-format
 msgid "URL '%s' redirected to '%s' (%u)\n"
 msgstr ""
 
-#: dirmngr/http.c:3635 dirmngr/ocsp.c:246
+#: dirmngr/http.c:3650 dirmngr/ocsp.c:246
 #, fuzzy, c-format
 msgid "too many redirections\n"
 msgstr "terlalu banyak preferensi `%c'\n"
 
-#: dirmngr/http.c:3747
+#: dirmngr/http.c:3762
 #, fuzzy, c-format
 #| msgid "writing to `%s'\n"
 msgid "redirection changed to '%s'\n"
@@ -10698,31 +10532,51 @@ msgstr "gagal memperbarui: %s\n"
 msgid "ldap wrapper %d stalled - killing\n"
 msgstr ""
 
-#: dirmngr/ldap.c:91
+#: dirmngr/ldap.c:92
 #, c-format
 msgid "invalid char 0x%02x in host name - not added\n"
 msgstr ""
 
-#: dirmngr/ldap.c:95
+#: dirmngr/ldap.c:96
 #, fuzzy, c-format
 msgid "adding '%s:%d' to the ldap server list\n"
 msgstr "mencari \"%s\" dari server HKP %s\n"
 
-#: dirmngr/ldap.c:98 dirmngr/misc.c:512
+#: dirmngr/ldap.c:99 dirmngr/misc.c:512
 #, fuzzy, c-format
 msgid "malloc failed: %s\n"
 msgstr "gagal menghapus keyblok: %s\n"
 
-#: dirmngr/ldap.c:627
+#: dirmngr/ldap.c:221
+#, fuzzy, c-format
+msgid "'%s' is not an LDAP URL\n"
+msgstr "\"%s\" bukan sebuah file JPEG\n"
+
+#: dirmngr/ldap.c:227 dirmngr/ldap.c:233
 #, c-format
-msgid "start_cert_fetch: invalid pattern '%s'\n"
+msgid "'%s' is an invalid LDAP URL\n"
 msgstr ""
 
-#: dirmngr/ldap.c:839
+#: dirmngr/ldap.c:969
 #, c-format
 msgid "ldap_search hit the size limit of the server\n"
 msgstr ""
 
+#: dirmngr/ldapserver.c:117
+#, c-format
+msgid "%s:%u: password given without user\n"
+msgstr ""
+
+#: dirmngr/ldapserver.c:181
+#, c-format
+msgid "%s:%u: ignoring unknown flag '%s'\n"
+msgstr ""
+
+#: dirmngr/ldapserver.c:203
+#, fuzzy, c-format
+msgid "%s:%u: skipping this line\n"
+msgstr " s = lewati kunci ini\n"
+
 #: dirmngr/misc.c:172
 #, fuzzy, c-format
 #| msgid "%s: invalid file version %d\n"
@@ -10906,72 +10760,68 @@ msgstr ""
 msgid "assuan_inquire(%s) failed: %s\n"
 msgstr "gagal menandai: %s\n"
 
-#: dirmngr/server.c:1158
-msgid "ldapserver missing"
-msgstr ""
-
-#: dirmngr/server.c:1224
+#: dirmngr/server.c:1277
 msgid "serialno missing in cert ID"
 msgstr ""
 
-#: dirmngr/server.c:1387 dirmngr/server.c:1473 dirmngr/server.c:1909
-#: dirmngr/server.c:1980 dirmngr/server.c:2552 dirmngr/server.c:2567
+#: dirmngr/server.c:1440 dirmngr/server.c:1526 dirmngr/server.c:1963
+#: dirmngr/server.c:2034 dirmngr/server.c:2662 dirmngr/server.c:2677
 #, fuzzy, c-format
 msgid "assuan_inquire failed: %s\n"
 msgstr "gagal menandai: %s\n"
 
-#: dirmngr/server.c:1516
+#: dirmngr/server.c:1569
 #, fuzzy, c-format
 msgid "fetch_cert_by_url failed: %s\n"
 msgstr "gagal menghapus keyblok: %s\n"
 
-#: dirmngr/server.c:1528 dirmngr/server.c:1559 dirmngr/server.c:1718
+#: dirmngr/server.c:1581 dirmngr/server.c:1612 dirmngr/server.c:1772
 #, fuzzy, c-format
 msgid "error sending data: %s\n"
 msgstr "kesalahan mengirim ke `%s': %s\n"
 
-#: dirmngr/server.c:1666
+#: dirmngr/server.c:1720
 #, fuzzy, c-format
 msgid "start_cert_fetch failed: %s\n"
 msgstr "gagal menghapus keyblok: %s\n"
 
-#: dirmngr/server.c:1699
+#: dirmngr/server.c:1753
 #, fuzzy, c-format
 msgid "fetch_next_cert failed: %s\n"
 msgstr "gagal menghapus keyblok: %s\n"
 
-#: dirmngr/server.c:1726
+#: dirmngr/server.c:1780
 #, c-format
 msgid "max_replies %d exceeded\n"
 msgstr ""
 
-#: dirmngr/server.c:2856
+#: dirmngr/server.c:2966
 #, fuzzy, c-format
 msgid "can't allocate control structure: %s\n"
 msgstr "tidak dapat membuat %s: %s\n"
 
-#: dirmngr/server.c:2867
+#: dirmngr/server.c:2977
 #, fuzzy, c-format
 msgid "failed to allocate assuan context: %s\n"
 msgstr "%s: gagal membuat hashtable: %s\n"
 
-#: dirmngr/server.c:2888
+#: dirmngr/server.c:2998
 #, fuzzy, c-format
 #| msgid "failed to initialize the TrustDB: %s\n"
 msgid "failed to initialize the server: %s\n"
 msgstr "gagal inisialisasi TrustDB: %s\n"
 
-#: dirmngr/server.c:2896
+#: dirmngr/server.c:3006
 #, fuzzy, c-format
 msgid "failed to the register commands with Assuan: %s\n"
 msgstr "gagal membuat kembali cache keyring: %s\n"
 
-#: dirmngr/server.c:2929
+#: dirmngr/server.c:3039
 #, c-format
 msgid "Assuan accept problem: %s\n"
 msgstr ""
 
-#: dirmngr/server.c:2948
+#: dirmngr/server.c:3058
 #, fuzzy, c-format
 #| msgid "signing failed: %s\n"
 msgid "Assuan processing failed: %s\n"
@@ -11112,21 +10962,21 @@ msgid "error sending standard options: %s\n"
 msgstr "kesalahan mengirim ke `%s': %s\n"
 
 #: tools/gpgconf-comp.c:481 tools/gpgconf-comp.c:617 tools/gpgconf-comp.c:692
-#: tools/gpgconf-comp.c:804 tools/gpgconf-comp.c:906
+#: tools/gpgconf-comp.c:808 tools/gpgconf-comp.c:910
 msgid "Options controlling the diagnostic output"
 msgstr ""
 
 #: tools/gpgconf-comp.c:494 tools/gpgconf-comp.c:630 tools/gpgconf-comp.c:705
-#: tools/gpgconf-comp.c:817 tools/gpgconf-comp.c:929
+#: tools/gpgconf-comp.c:821 tools/gpgconf-comp.c:933
 msgid "Options controlling the configuration"
 msgstr ""
 
-#: tools/gpgconf-comp.c:517 tools/gpgconf-comp.c:659 tools/gpgconf-comp.c:736
-#: tools/gpgconf-comp.c:849 tools/gpgconf-comp.c:942
+#: tools/gpgconf-comp.c:517 tools/gpgconf-comp.c:659 tools/gpgconf-comp.c:740
+#: tools/gpgconf-comp.c:853 tools/gpgconf-comp.c:946
 msgid "Options useful for debugging"
 msgstr ""
 
-#: tools/gpgconf-comp.c:530 tools/gpgconf-comp.c:669 tools/gpgconf-comp.c:862
+#: tools/gpgconf-comp.c:530 tools/gpgconf-comp.c:669 tools/gpgconf-comp.c:866
 msgid "Options controlling the security"
 msgstr ""
 
@@ -11176,11 +11026,11 @@ msgstr "kesalahan penciptaan passphrase: %s\n"
 msgid "|N|set the Pinentry timeout to N seconds"
 msgstr ""
 
-#: tools/gpgconf-comp.c:707 tools/gpgconf-comp.c:819
+#: tools/gpgconf-comp.c:707 tools/gpgconf-comp.c:823
 msgid "|NAME|use NAME as default secret key"
 msgstr "|NAMA|gunakan NAMA sebagai kunci rahasia baku"
 
-#: tools/gpgconf-comp.c:710 tools/gpgconf-comp.c:822
+#: tools/gpgconf-comp.c:710 tools/gpgconf-comp.c:826
 #, fuzzy
 msgid "|NAME|encrypt to user ID NAME as well"
 msgstr "|NAMA|enkripsi untuk NAMA"
@@ -11189,137 +11039,137 @@ msgstr "|NAMA|enkripsi untuk NAMA"
 msgid "|SPEC|set up email aliases"
 msgstr ""
 
-#: tools/gpgconf-comp.c:749 tools/gpgconf-comp.c:981
+#: tools/gpgconf-comp.c:753 tools/gpgconf-comp.c:985
 msgid "Configuration for Keyservers"
 msgstr ""
 
-#: tools/gpgconf-comp.c:751 tools/gpgconf-comp.c:983
+#: tools/gpgconf-comp.c:755 tools/gpgconf-comp.c:987
 #, fuzzy
 msgid "|URL|use keyserver at URL"
 msgstr "tidak dapat memparsing URI keyserver\n"
 
-#: tools/gpgconf-comp.c:754
+#: tools/gpgconf-comp.c:758
 msgid "allow PKA lookups (DNS requests)"
 msgstr ""
 
-#: tools/gpgconf-comp.c:757
+#: tools/gpgconf-comp.c:761
 msgid "|MECHANISMS|use MECHANISMS to locate keys by mail address"
 msgstr ""
 
-#: tools/gpgconf-comp.c:760
+#: tools/gpgconf-comp.c:764
 #, fuzzy
 #| msgid "import keys from a keyserver"
 msgid "import missing key from a signature"
 msgstr "impor kunci dari keyserver"
 
-#: tools/gpgconf-comp.c:763
+#: tools/gpgconf-comp.c:767
 #, fuzzy
 msgid "include the public key in signatures"
 msgstr "periksa signature kunci"
 
-#: tools/gpgconf-comp.c:770 tools/gpgconf-comp.c:831
+#: tools/gpgconf-comp.c:774 tools/gpgconf-comp.c:835
 msgid "disable all access to the dirmngr"
 msgstr ""
 
-#: tools/gpgconf-comp.c:834
+#: tools/gpgconf-comp.c:838
 #, fuzzy
 msgid "|NAME|use encoding NAME for PKCS#12 passphrases"
 msgstr "|NAMA|gunakan algoritma cipher NAMA untuk passphrase"
 
-#: tools/gpgconf-comp.c:870
+#: tools/gpgconf-comp.c:874
 msgid "do not check CRLs for root certificates"
 msgstr ""
 
-#: tools/gpgconf-comp.c:919
+#: tools/gpgconf-comp.c:923
 msgid "Options controlling the format of the output"
 msgstr ""
 
-#: tools/gpgconf-comp.c:961
+#: tools/gpgconf-comp.c:965
 msgid "Options controlling the interactivity and enforcement"
 msgstr ""
 
-#: tools/gpgconf-comp.c:974
+#: tools/gpgconf-comp.c:978
 msgid "Options controlling the use of Tor"
 msgstr ""
 
-#: tools/gpgconf-comp.c:988
+#: tools/gpgconf-comp.c:992
 msgid "Configuration for HTTP servers"
 msgstr ""
 
-#: tools/gpgconf-comp.c:999
+#: tools/gpgconf-comp.c:1003
 msgid "use system's HTTP proxy setting"
 msgstr ""
 
-#: tools/gpgconf-comp.c:1004
+#: tools/gpgconf-comp.c:1008
 msgid "Configuration of LDAP servers to use"
 msgstr ""
 
-#: tools/gpgconf-comp.c:1033
+#: tools/gpgconf-comp.c:1037
 msgid "LDAP server list"
 msgstr ""
 
-#: tools/gpgconf-comp.c:1041
+#: tools/gpgconf-comp.c:1045
 msgid "Configuration for OCSP"
 msgstr ""
 
-#: tools/gpgconf-comp.c:1094
+#: tools/gpgconf-comp.c:1098
 msgid "OpenPGP"
 msgstr ""
 
-#: tools/gpgconf-comp.c:1095
+#: tools/gpgconf-comp.c:1099
 msgid "Private Keys"
 msgstr ""
 
-#: tools/gpgconf-comp.c:1096
+#: tools/gpgconf-comp.c:1100
 msgid "Smartcards"
 msgstr ""
 
-#: tools/gpgconf-comp.c:1097
+#: tools/gpgconf-comp.c:1101
 msgid "S/MIME"
 msgstr ""
 
-#: tools/gpgconf-comp.c:1098
+#: tools/gpgconf-comp.c:1102
 #, fuzzy
 #| msgid "network error"
 msgid "Network"
 msgstr "kesalahan jaringan"
 
-#: tools/gpgconf-comp.c:1099
+#: tools/gpgconf-comp.c:1103
 #, fuzzy
 msgid "Passphrase Entry"
 msgstr "passphrase yang buruk"
 
-#: tools/gpgconf-comp.c:1278
+#: tools/gpgconf-comp.c:1282
 #, fuzzy
 msgid "Component not suitable for launching"
 msgstr "kunci publik tidak ditemukan"
 
-#: tools/gpgconf-comp.c:1284
+#: tools/gpgconf-comp.c:1288
 #, c-format
 msgid "Configuration file of component %s is broken\n"
 msgstr ""
 
-#: tools/gpgconf-comp.c:1287
+#: tools/gpgconf-comp.c:1291
 #, fuzzy, c-format
 #| msgid "Please use the command \"toggle\" first.\n"
 msgid "Note: Use the command \"%s%s\" to get details.\n"
 msgstr "Silakan gunakan dulu perintah \"toogle\".\n"
 
-#: tools/gpgconf-comp.c:3446
+#: tools/gpgconf-comp.c:3454
 #, c-format
 msgid "External verification of component %s failed"
 msgstr ""
 
-#: tools/gpgconf-comp.c:3597
+#: tools/gpgconf-comp.c:3605
 msgid "Note that group specifications are ignored\n"
 msgstr ""
 
-#: tools/gpgconf-comp.c:4195
+#: tools/gpgconf-comp.c:4203
 #, fuzzy, c-format
 msgid "error closing '%s'\n"
 msgstr "kesalahan membaca `%s': %s\n"
 
-#: tools/gpgconf-comp.c:4197
+#: tools/gpgconf-comp.c:4205
 #, fuzzy, c-format
 msgid "error parsing '%s'\n"
 msgstr "kesalahan membaca `%s': %s\n"
@@ -11429,6 +11279,99 @@ msgid ""
 msgstr ""
 
 #, fuzzy
+#~ msgid "requesting key %s from %s server %s\n"
+#~ msgstr "meminta kunci %08lX dari %s\n"
+
+#, fuzzy
+#~ msgid "%s:%u: no hostname given\n"
+#~ msgstr "(Tidak diberikan deskripsi)\n"
+
+#, fuzzy
+#~ msgid "could not parse keyserver\n"
+#~ msgstr "tidak dapat memparsing URI keyserver\n"
+
+#, fuzzy
+#~| msgid "|NAME|set terminal charset to NAME"
+#~ msgid "|NAME|connect to host NAME"
+#~ msgstr "|NAMA|set charset terminal ke NAMA"
+
+#, fuzzy
+#~| msgid "|NAME|use NAME as default recipient"
+#~ msgid "|NAME|use user NAME for authentication"
+#~ msgstr "|NAMA|gunakan NAMA sebagai penerima baku"
+
+#, fuzzy
+#~| msgid "Usage: gpg [options] [files] (-h for help)"
+#~ msgid "Usage: dirmngr_ldap [options] [URL] (-h for help)\n"
+#~ msgstr "Pemakaian: gpg [pilihan] [file] (-h untuk bantuan)"
+
+#, fuzzy
+#~| msgid "invalid import options\n"
+#~ msgid "invalid port number %d\n"
+#~ msgstr "opsi impor tidak valid\n"
+
+#, fuzzy
+#~ msgid "error writing to stdout: %s\n"
+#~ msgstr "kesalahan menulis keyring `%s': %s\n"
+
+#, fuzzy
+#~ msgid "attribute '%s' not found\n"
+#~ msgstr "kunci '%s' tidak ditemukan: %s\n"
+
+#, fuzzy
+#~| msgid "reading from `%s'\n"
+#~ msgid "processing url '%s'\n"
+#~ msgstr "Membaca dari `%s'\n"
+
+#, fuzzy
+#~| msgid "          w/o user IDs: %lu\n"
+#~ msgid "          user '%s'\n"
+#~ msgstr "         tanpa ID user: %lu\n"
+
+#, fuzzy
+#~ msgid "          pass '%s'\n"
+#~ msgstr "              alias \""
+
+#, fuzzy
+#~ msgid "          host '%s'\n"
+#~ msgstr "              alias \""
+
+#, fuzzy
+#~| msgid "          not imported: %lu\n"
+#~ msgid "          port %d\n"
+#~ msgstr "            tidak diimpor: %lu\n"
+
+#, fuzzy
+#~ msgid "            DN '%s'\n"
+#~ msgstr "              alias \""
+
+#, fuzzy
+#~ msgid "          attr '%s'\n"
+#~ msgstr "              alias \""
+
+#, fuzzy
+#~ msgid "no host name in '%s'\n"
+#~ msgstr "(Tidak diberikan deskripsi)\n"
+
+#, fuzzy
+#~| msgid "WARNING: using insecure memory!\n"
+#~ msgid "WARNING: using first attribute only\n"
+#~ msgstr "Peringatan: menggunakan memori yang tidak aman!\n"
+
+#, fuzzy
+#~ msgid "LDAP init to '%s:%d' failed: %s\n"
+#~ msgstr "gagal enarmoring: %s\n"
+
+#, fuzzy
+#~ msgid "binding to '%s:%d' failed: %s\n"
+#~ msgstr "gagal enarmoring: %s\n"
+
+#, fuzzy
+#~| msgid "dearmoring failed: %s\n"
+#~ msgid "searching '%s' failed: %s\n"
+#~ msgstr "gagal dearmoring: %s\n"
+
+#, fuzzy
 #~| msgid "NOTE: old default options file `%s' ignored\n"
 #~ msgid "Note: old default options file '%s' ignored\n"
 #~ msgstr "CATATAN: file pilihan baku lama `%s' diabaikan\n"
index 4f195bf..bbb1967 100644 (file)
Binary files a/po/it.gmo and b/po/it.gmo differ
index 281c873..d272676 100644 (file)
--- a/po/it.po
+++ b/po/it.po
@@ -5,8 +5,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: GNU gnupg 2.2.23\n"
 "Report-Msgid-Bugs-To: translations@gnupg.org\n"
-"POT-Creation-Date: 2021-01-11 18:47+0100\n"
-"PO-Revision-Date: 2020-10-10 19:54+0200\n"
+"POT-Creation-Date: 2021-06-10 18:59+0200\n"
+"PO-Revision-Date: 2021-05-19 00:03+0200\n"
 "Last-Translator: Denis <student@alice.it>\n"
 "Language-Team: \n"
 "Language: it_IT\n"
@@ -105,7 +105,7 @@ msgid "Passphrase:"
 msgstr "Passphrase:"
 
 #: agent/call-pinentry.c:1107 agent/call-pinentry.c:1359
-#: agent/command-ssh.c:3130 agent/genkey.c:416
+#: agent/command-ssh.c:3140 agent/genkey.c:416
 msgid "does not match - try again"
 msgstr "non corrisponde - riprova"
 
@@ -155,32 +155,32 @@ msgstr "Passphrase non valido"
 msgid "ssh keys greater than %d bits are not supported\n"
 msgstr "le chiavi ssh maggiori di %d bit non sono supportate\n"
 
-#: agent/command-ssh.c:862 common/dotlock.c:852 g10/card-util.c:932
-#: g10/exec.c:546 g10/export.c:1320 g10/gpg.c:1352 g10/keygen.c:4998
-#: g10/keyring.c:1322 g10/keyring.c:1637 g10/openfile.c:291 g10/sign.c:1009
-#: g10/sign.c:1323 g10/tdbio.c:753
+#: agent/command-ssh.c:862 common/dotlock.c:852 g10/card-util.c:933
+#: g10/exec.c:554 g10/export.c:1320 g10/gpg.c:1360 g10/keygen.c:4998
+#: g10/keyring.c:1322 g10/keyring.c:1637 g10/openfile.c:291 g10/sign.c:1008
+#: g10/sign.c:1322 g10/tdbio.c:753
 #, c-format
 msgid "can't create '%s': %s\n"
 msgstr "impossibile creare '%s': %s\n"
 
-#: agent/command-ssh.c:874 common/helpfile.c:57 g10/card-util.c:889
+#: agent/command-ssh.c:874 common/helpfile.c:57 g10/card-util.c:890
 #: g10/dearmor.c:59 g10/dearmor.c:106 g10/decrypt.c:65 g10/decrypt.c:136
-#: g10/decrypt.c:153 g10/encrypt.c:180 g10/encrypt.c:543 g10/gpg.c:1353
-#: g10/import.c:352 g10/import.c:536 g10/import.c:764 g10/keygen.c:4036
+#: g10/decrypt.c:153 g10/encrypt.c:180 g10/encrypt.c:543 g10/gpg.c:1361
+#: g10/import.c:364 g10/import.c:548 g10/import.c:776 g10/keygen.c:4036
 #: g10/keyring.c:1663 g10/openfile.c:195 g10/openfile.c:209 g10/plaintext.c:128
-#: g10/plaintext.c:649 g10/sign.c:991 g10/sign.c:1202 g10/sign.c:1307
-#: g10/sign.c:1452 g10/tdbdump.c:143 g10/tdbdump.c:151 g10/tdbio.c:758
-#: g10/tdbio.c:829 g10/verify.c:96 g10/verify.c:160 sm/gpgsm.c:2219
-#: sm/gpgsm.c:2249 sm/gpgsm.c:2287 sm/qualified.c:66 dirmngr/certcache.c:396
+#: g10/plaintext.c:649 g10/sign.c:990 g10/sign.c:1201 g10/sign.c:1306
+#: g10/sign.c:1451 g10/tdbdump.c:143 g10/tdbdump.c:151 g10/tdbio.c:758
+#: g10/tdbio.c:829 g10/verify.c:96 g10/verify.c:160 sm/gpgsm.c:2125
+#: sm/gpgsm.c:2155 sm/gpgsm.c:2193 sm/qualified.c:66 dirmngr/certcache.c:396
 #: dirmngr/certcache.c:476 dirmngr/certcache.c:478 dirmngr/crlcache.c:2588
-#: dirmngr/dirmngr.c:1722
+#: dirmngr/dirmngr.c:1759
 #, c-format
 msgid "can't open '%s': %s\n"
 msgstr "impossibile aprire '%s': %s\n"
 
 #: agent/command-ssh.c:2385 agent/command-ssh.c:2431 agent/command-ssh.c:2449
-#: agent/command-ssh.c:2601 g10/card-util.c:687 g10/card-util.c:708
-#: g10/skclist.c:430
+#: agent/command-ssh.c:2601 g10/card-util.c:688 g10/card-util.c:709
+#: g10/skclist.c:435
 #, c-format
 msgid "error getting serial number of card: %s\n"
 msgstr "errore durante il recupero del numero di serie della scheda: %s\n"
@@ -205,7 +205,7 @@ msgstr "nessuna chiave della scheda adatta trovata: %s\n"
 msgid "error getting list of cards: %s\n"
 msgstr "errore durante il recupero dell'elenco delle schede: %s\n"
 
-#: agent/command-ssh.c:2765
+#: agent/command-ssh.c:2775
 #, c-format
 msgid ""
 "An ssh process requested the use of key%%0A  %s%%0A  (%s)%%0ADo you want to "
@@ -214,24 +214,24 @@ msgstr ""
 "Un processo ssh ha richiesto l'utilizzo della chiave%%0A  %s%%0A  (%s)%%0ASi "
 "desidera consentire questa operazione?"
 
-#: agent/command-ssh.c:2772
+#: agent/command-ssh.c:2782
 msgid "Allow"
 msgstr "Permettere"
 
-#: agent/command-ssh.c:2772
+#: agent/command-ssh.c:2782
 msgid "Deny"
 msgstr "Rifiutare"
 
-#: agent/command-ssh.c:2781
+#: agent/command-ssh.c:2791
 #, c-format
 msgid "Please enter the passphrase for the ssh key%%0A  %F%%0A  (%c)"
 msgstr "Immettere la passphrase per la chiave ssh%%0A %F%%0A (%c)"
 
-#: agent/command-ssh.c:3058 agent/genkey.c:351
+#: agent/command-ssh.c:3068 agent/genkey.c:351
 msgid "Please re-enter this passphrase"
 msgstr "Inserisci di nuovo questa passphrase"
 
-#: agent/command-ssh.c:3085
+#: agent/command-ssh.c:3095
 #, c-format
 msgid ""
 "Please enter a passphrase to protect the received secret key%%0A   %s%%0A   "
@@ -240,7 +240,7 @@ msgstr ""
 "Immettere una passphrase per proteggere la chiave segreta ricevuta%%0A %s"
 "%%0A %s%%0A all'interno dell'archivio chiavi dell'agente gpg"
 
-#: agent/command-ssh.c:3667
+#: agent/command-ssh.c:3677
 #, c-format
 msgid "failed to create stream from socket: %s\n"
 msgstr "impossibile creare il flusso dal socket: %s\n"
@@ -389,45 +389,43 @@ msgstr ""
 "@Optioni:\n"
 " "
 
-#: agent/gpg-agent.c:165 scd/scdaemon.c:120 dirmngr/dirmngr.c:166
+#: agent/gpg-agent.c:165 scd/scdaemon.c:120 dirmngr/dirmngr.c:167
 msgid "run in daemon mode (background)"
 msgstr "eseguire in modalità daemon (sfondo)"
 
-#: agent/gpg-agent.c:166 scd/scdaemon.c:117 dirmngr/dirmngr.c:165
+#: agent/gpg-agent.c:166 scd/scdaemon.c:117 dirmngr/dirmngr.c:166
 msgid "run in server mode (foreground)"
 msgstr "eseguire in modalità server (in primo piano)"
 
-#: agent/gpg-agent.c:168 dirmngr/dirmngr.c:168
+#: agent/gpg-agent.c:168 dirmngr/dirmngr.c:169
 msgid "run in supervised mode"
 msgstr "eseguire in modalità supervisionata"
 
-#: agent/gpg-agent.c:170 g10/gpg.c:608 g10/gpgv.c:78 kbx/kbxutil.c:88
-#: scd/scdaemon.c:121 sm/gpgsm.c:310 dirmngr/dirmngr-client.c:70
-#: dirmngr/dirmngr.c:181 dirmngr/dirmngr_ldap.c:135
-#: tools/gpg-connect-agent.c:78 tools/gpgconf.c:108
+#: agent/gpg-agent.c:170 g10/gpg.c:605 g10/gpgv.c:78 kbx/kbxutil.c:88
+#: scd/scdaemon.c:121 sm/gpgsm.c:311 dirmngr/dirmngr-client.c:70
+#: dirmngr/dirmngr.c:182 tools/gpg-connect-agent.c:78 tools/gpgconf.c:108
 msgid "verbose"
 msgstr "prolisso"
 
 #: agent/gpg-agent.c:171 g10/gpgv.c:79 kbx/kbxutil.c:89 scd/scdaemon.c:122
-#: sm/gpgsm.c:311 dirmngr/dirmngr-client.c:71 dirmngr/dirmngr.c:182
-#: dirmngr/dirmngr_ldap.c:136
+#: sm/gpgsm.c:312 dirmngr/dirmngr-client.c:71 dirmngr/dirmngr.c:183
 msgid "be somewhat more quiet"
 msgstr "meno prolisso"
 
-#: agent/gpg-agent.c:172 scd/scdaemon.c:123 dirmngr/dirmngr.c:183
+#: agent/gpg-agent.c:172 scd/scdaemon.c:123 dirmngr/dirmngr.c:184
 msgid "sh-style command output"
 msgstr "uscita del comando sh-stile"
 
-#: agent/gpg-agent.c:173 scd/scdaemon.c:124 dirmngr/dirmngr.c:184
+#: agent/gpg-agent.c:173 scd/scdaemon.c:124 dirmngr/dirmngr.c:185
 msgid "csh-style command output"
 msgstr "uscita del comando in csh-stile"
 
-#: agent/gpg-agent.c:174 scd/scdaemon.c:125 sm/gpgsm.c:341
-#: dirmngr/dirmngr.c:185
+#: agent/gpg-agent.c:174 scd/scdaemon.c:125 sm/gpgsm.c:344
+#: dirmngr/dirmngr.c:186
 msgid "|FILE|read options from FILE"
 msgstr "|FILE|opzioni di lettura da FILE"
 
-#: agent/gpg-agent.c:183 scd/scdaemon.c:135 dirmngr/dirmngr.c:188
+#: agent/gpg-agent.c:183 scd/scdaemon.c:135 dirmngr/dirmngr.c:189
 msgid "do not detach from the console"
 msgstr "non scollegarsi dalla console"
 
@@ -504,9 +502,9 @@ msgstr "abilitare il supporto putty"
 #. reporting address.  This is so that we can change the
 #. reporting address without breaking the translations.
 #: agent/gpg-agent.c:531 agent/preset-passphrase.c:100 agent/protect-tool.c:155
-#: g10/gpg.c:1070 g10/gpgv.c:149 kbx/kbxutil.c:113 scd/scdaemon.c:298
-#: sm/gpgsm.c:567 dirmngr/dirmngr-client.c:168 dirmngr/dirmngr.c:404
-#: dirmngr/dirmngr_ldap.c:207 tools/gpg-connect-agent.c:205 tools/gpgconf.c:146
+#: g10/gpg.c:1074 g10/gpgv.c:149 kbx/kbxutil.c:113 scd/scdaemon.c:299
+#: sm/gpgsm.c:570 dirmngr/dirmngr-client.c:168 dirmngr/dirmngr.c:412
+#: tools/gpg-connect-agent.c:205 tools/gpgconf.c:146
 #: tools/gpg-check-pattern.c:143
 msgid "Please report bugs to <@EMAIL@>.\n"
 msgstr "Segnalare i bug a <@EMAIL@>.\n"
@@ -523,37 +521,37 @@ msgstr ""
 "Sintassi: @GPG_AGENT@ [opzioni] [comando [args]]\n"
 "Gestione delle chiavi segrete per @GNUPG@\n"
 
-#: agent/gpg-agent.c:587 g10/gpg.c:1262 scd/scdaemon.c:370 sm/gpgsm.c:715
-#: dirmngr/dirmngr.c:488
+#: agent/gpg-agent.c:587 g10/gpg.c:1270 scd/scdaemon.c:371 sm/gpgsm.c:718
+#: dirmngr/dirmngr.c:496
 #, c-format
 msgid "invalid debug-level '%s' given\n"
 msgstr "'%s' a livello di debug non valido specificato\n"
 
-#: agent/gpg-agent.c:945 g10/gpg.c:3753 g10/gpg.c:3777 sm/gpgsm.c:1631
-#: sm/gpgsm.c:1637
+#: agent/gpg-agent.c:945 g10/gpg.c:3773 g10/gpg.c:3797 sm/gpgsm.c:1531
+#: sm/gpgsm.c:1537
 #, c-format
 msgid "selected digest algorithm is invalid\n"
 msgstr "l'algoritmo di digest selezionato non è valido\n"
 
 #: agent/gpg-agent.c:1168 agent/gpg-agent.c:2023 common/argparse.c:1755
-#: common/argparse.c:1847 g10/gpg.c:2482 scd/scdaemon.c:532 sm/gpgsm.c:1063
-#: dirmngr/dirmngr.c:956 dirmngr/dirmngr.c:1841
+#: common/argparse.c:1847 g10/gpg.c:2495 scd/scdaemon.c:533 sm/gpgsm.c:977
+#: dirmngr/dirmngr.c:994 dirmngr/dirmngr.c:1878
 #, c-format
 msgid "reading options from '%s'\n"
 msgstr "opzioni di lettura da '%s'\n"
 
-#: agent/gpg-agent.c:1300 g10/gpg.c:3704 scd/scdaemon.c:655 sm/gpgsm.c:1571
-#: dirmngr/dirmngr.c:1067 tools/gpg-connect-agent.c:1244 tools/gpgconf.c:624
+#: agent/gpg-agent.c:1300 g10/gpg.c:3724 scd/scdaemon.c:657 sm/gpgsm.c:1471
+#: dirmngr/dirmngr.c:1102 tools/gpg-connect-agent.c:1244 tools/gpgconf.c:624
 #, c-format
 msgid "Note: '%s' is not considered an option\n"
 msgstr "Nota: '%s' non è considerato un'opzione\n"
 
-#: agent/gpg-agent.c:2159 scd/scdaemon.c:1096 dirmngr/dirmngr.c:1219
+#: agent/gpg-agent.c:2159 scd/scdaemon.c:1098 dirmngr/dirmngr.c:1256
 #, c-format
 msgid "can't create socket: %s\n"
 msgstr "impossibile creare il socket: %s\n"
 
-#: agent/gpg-agent.c:2176 scd/scdaemon.c:1109 dirmngr/dirmngr.c:1232
+#: agent/gpg-agent.c:2176 scd/scdaemon.c:1111 dirmngr/dirmngr.c:1269
 #, c-format
 msgid "socket name '%s' is too long\n"
 msgstr "il nome socket '%s' è troppo lungo\n"
@@ -563,29 +561,29 @@ msgstr "il nome socket '%s' è troppo lungo\n"
 msgid "a gpg-agent is already running - not starting a new one\n"
 msgstr "un gpg-agent è già in esecuzione - non iniziare uno nuovo\n"
 
-#: agent/gpg-agent.c:2226 scd/scdaemon.c:1133 dirmngr/dirmngr.c:1264
+#: agent/gpg-agent.c:2226 scd/scdaemon.c:1135 dirmngr/dirmngr.c:1301
 #, c-format
 msgid "error getting nonce for the socket\n"
 msgstr "errore durante il recupero di un errore per il socket\n"
 
-#: agent/gpg-agent.c:2231 scd/scdaemon.c:1136 dirmngr/dirmngr.c:1267
+#: agent/gpg-agent.c:2231 scd/scdaemon.c:1138 dirmngr/dirmngr.c:1304
 #, c-format
 msgid "error binding socket to '%s': %s\n"
 msgstr "errore durante l'associazione del socket a '%s': %s\n"
 
 #: agent/gpg-agent.c:2242 agent/gpg-agent.c:2282 agent/gpg-agent.c:2291
-#: scd/scdaemon.c:1144 dirmngr/dirmngr.c:1276
+#: scd/scdaemon.c:1146 dirmngr/dirmngr.c:1313
 #, c-format
 msgid "can't set permissions of '%s': %s\n"
 msgstr "impossibile impostare le autorizzazioni di '%s': %s\n"
 
-#: agent/gpg-agent.c:2256 scd/scdaemon.c:1156 dirmngr/dirmngr.c:1288
+#: agent/gpg-agent.c:2256 scd/scdaemon.c:1158 dirmngr/dirmngr.c:1325
 #, c-format
 msgid "listening on socket '%s'\n"
 msgstr "ascolto sul socket '%s'\n"
 
 #: agent/gpg-agent.c:2276 agent/gpg-agent.c:2329 common/homedir.c:517
-#: g10/exec.c:261 g10/openfile.c:397
+#: g10/exec.c:269 g10/openfile.c:397
 #, c-format
 msgid "can't create directory '%s': %s\n"
 msgstr "impossibile creare la directory '%s': %s\n"
@@ -606,7 +604,7 @@ msgstr "stat() non riuscito per '%s': %s\n"
 msgid "can't use '%s' as home directory\n"
 msgstr "impossibile utilizzare '%s' come home directory\n"
 
-#: agent/gpg-agent.c:2502 scd/scdaemon.c:1172 dirmngr/dirmngr.c:2047
+#: agent/gpg-agent.c:2502 scd/scdaemon.c:1174 dirmngr/dirmngr.c:2084
 #, c-format
 msgid "error reading nonce on fd %d: %s\n"
 msgstr "errore durante la lettura del nonce su fd %d: %s\n"
@@ -631,12 +629,12 @@ msgstr "gestore ssh 0x%lx per fd %d avviato\n"
 msgid "ssh handler 0x%lx for fd %d terminated\n"
 msgstr "gestore ssh 0x%lx per fd %d terminato\n"
 
-#: agent/gpg-agent.c:3016 scd/scdaemon.c:1362 dirmngr/dirmngr.c:2261
+#: agent/gpg-agent.c:3016 scd/scdaemon.c:1366 dirmngr/dirmngr.c:2298
 #, c-format
 msgid "npth_pselect failed: %s - waiting 1s\n"
 msgstr "npth_pselect non riuscito: %s - 1s in attesa\n"
 
-#: agent/gpg-agent.c:3104 scd/scdaemon.c:1427
+#: agent/gpg-agent.c:3104 scd/scdaemon.c:1431
 #, c-format
 msgid "%s %s stopped\n"
 msgstr "%s %s arrestato\n"
@@ -659,8 +657,8 @@ msgstr ""
 "Sintassi: gpg-preset-passphrase [opzioni] KEYGRIP\n"
 "Manutenzione della cache delle password\n"
 
-#: agent/protect-tool.c:108 g10/gpg.c:440 kbx/kbxutil.c:71 sm/gpgsm.c:204
-#: dirmngr/dirmngr.c:163 tools/gpgconf.c:78
+#: agent/protect-tool.c:108 g10/gpg.c:437 kbx/kbxutil.c:71 sm/gpgsm.c:205
+#: dirmngr/dirmngr.c:164 tools/gpgconf.c:78
 msgid ""
 "@Commands:\n"
 " "
@@ -668,8 +666,8 @@ msgstr ""
 "@Comandi:\n"
 " "
 
-#: agent/protect-tool.c:117 g10/gpg.c:553 g10/gpgv.c:76 kbx/kbxutil.c:81
-#: sm/gpgsm.c:252 dirmngr/dirmngr.c:179 tools/gpg-connect-agent.c:76
+#: agent/protect-tool.c:117 g10/gpg.c:550 g10/gpgv.c:76 kbx/kbxutil.c:81
+#: sm/gpgsm.c:253 dirmngr/dirmngr.c:180 tools/gpg-connect-agent.c:76
 #: tools/gpgconf.c:105
 msgid ""
 "@\n"
@@ -692,12 +690,12 @@ msgstr ""
 "Sintassi: gpg-protect-tool [opzioni] [args]\n"
 "Strumento di manutenzione della chiave segreta\n"
 
-#: agent/protect-tool.c:703
+#: agent/protect-tool.c:703 sm/import.c:774
 msgid "Please enter the passphrase to unprotect the PKCS#12 object."
 msgstr ""
 "Immettere la passphrase per rimuovere la protezione dell'oggetto PKCS.12."
 
-#: agent/protect-tool.c:708
+#: agent/protect-tool.c:708 sm/export.c:710
 msgid "Please enter the passphrase to protect the new PKCS#12 object."
 msgstr "Immettere la passphrase per proteggere il nuovo oggetto PKCS.12."
 
@@ -727,7 +725,7 @@ msgstr "annullato\n"
 msgid "error while asking for the passphrase: %s\n"
 msgstr "errore durante la richiesta della passphrase: %s\n"
 
-#: agent/trustlist.c:154 agent/trustlist.c:364 dirmngr/dirmngr.c:1629
+#: agent/trustlist.c:154 agent/trustlist.c:364 dirmngr/dirmngr.c:1666
 #: tools/gpgconf.c:418
 #, c-format
 msgid "error opening '%s': %s\n"
@@ -893,7 +891,7 @@ msgstr "controllo della firma creata fallito: %s\n"
 msgid "secret key parts are not available\n"
 msgstr "parti della chiave segreta non sono disponibili\n"
 
-#: agent/cvt-openpgp.c:344 g10/card-util.c:1540
+#: agent/cvt-openpgp.c:344 g10/card-util.c:1541
 #, c-format
 msgid "public key algorithm %d (%s) is not supported\n"
 msgstr "l'algoritmo a chiave pubblica %d (%s) non è supportato\n"
@@ -908,21 +906,21 @@ msgstr "algoritmo di protezione %d (%s) non supportato\n"
 msgid "protection hash algorithm %d (%s) is not supported\n"
 msgstr "algoritmo hash di protezione %d (%s) non supportato\n"
 
-#: common/exechelp-posix.c:359 common/exechelp-w32.c:449
-#: common/exechelp-w32.c:473 common/exechelp-w32.c:503
+#: common/exechelp-posix.c:359 common/exechelp-w32.c:451
+#: common/exechelp-w32.c:475 common/exechelp-w32.c:505
 #, c-format
 msgid "error creating a pipe: %s\n"
 msgstr "errore durante la creazione di una pipe: %s\n"
 
 #: common/exechelp-posix.c:372 common/exechelp-w32.c:355
-#: common/exechelp-w32.c:459 common/exechelp-w32.c:483
-#: common/exechelp-w32.c:513
+#: common/exechelp-w32.c:461 common/exechelp-w32.c:485
+#: common/exechelp-w32.c:515
 #, c-format
 msgid "error creating a stream for a pipe: %s\n"
 msgstr "errore durante la creazione di un flusso per una pipe: %s\n"
 
 #: common/exechelp-posix.c:495 common/exechelp-posix.c:570
-#: common/exechelp-posix.c:851 dirmngr/dirmngr.c:1306
+#: common/exechelp-posix.c:856 dirmngr/dirmngr.c:1343
 #, c-format
 msgid "error forking process: %s\n"
 msgstr "errore durante il processo di forking: %s\n"
@@ -932,28 +930,28 @@ msgstr "errore durante il processo di forking: %s\n"
 msgid "waiting for process %d to terminate failed: %s\n"
 msgstr "in attesa della terminazione del processo %d non riuscita: %s\n"
 
-#: common/exechelp-posix.c:678 common/exechelp-posix.c:794
+#: common/exechelp-posix.c:678 common/exechelp-posix.c:799
 #, c-format
 msgid "error running '%s': probably not installed\n"
 msgstr "errore durante l'esecuzione di '%s': probabilmente non installato\n"
 
-#: common/exechelp-posix.c:684 common/exechelp-posix.c:801
-#: common/exechelp-w32.c:796 common/exechelp-w32ce.c:781
+#: common/exechelp-posix.c:684 common/exechelp-posix.c:806
+#: common/exechelp-w32.c:829 common/exechelp-w32ce.c:781
 #, c-format
 msgid "error running '%s': exit status %d\n"
 msgstr "errore durante l'esecuzione di '%s': stato di uscita %d\n"
 
-#: common/exechelp-posix.c:692 common/exechelp-posix.c:809
+#: common/exechelp-posix.c:692 common/exechelp-posix.c:814
 #, c-format
 msgid "error running '%s': terminated\n"
 msgstr "errore durante l'esecuzione di '%s': terminato\n"
 
-#: common/exechelp-posix.c:750 common/exechelp-w32.c:777
+#: common/exechelp-posix.c:755 common/exechelp-w32.c:810
 #, c-format
 msgid "waiting for processes to terminate failed: %s\n"
 msgstr "attesa della terminazione dei processi non riuscita: %s\n"
 
-#: common/exechelp-w32.c:789 common/exechelp-w32ce.c:775
+#: common/exechelp-w32.c:822 common/exechelp-w32ce.c:775
 #, c-format
 msgid "error getting exit code of process %d: %s\n"
 msgstr "errore durante l'osando di fine del processo %d: %s\n"
@@ -1049,7 +1047,7 @@ msgstr ""
 msgid "out of core while allocating %lu bytes"
 msgstr "fuori dal core durante l'allocazione di %lu byte"
 
-#: common/miscellaneous.c:115 g10/card-util.c:896 tools/no-libgcrypt.c:30
+#: common/miscellaneous.c:115 g10/card-util.c:897 tools/no-libgcrypt.c:30
 #, c-format
 msgid "error allocating enough memory: %s\n"
 msgstr "errore durante l'allocazione di memoria sufficiente: %s\n"
@@ -1162,7 +1160,7 @@ msgid "algorithm: %s"
 msgstr "algoritmo: %s"
 
 #: common/audit.c:774 common/audit.c:776 common/audit.c:921 common/audit.c:923
-#: scd/app-openpgp.c:3555
+#: scd/app-openpgp.c:3554
 #, c-format
 msgid "unsupported algorithm: %s"
 msgstr "algoritmo non supportato: %s"
@@ -1287,6 +1285,26 @@ msgstr "[nessuno]"
 msgid "invalid radix64 character %02x skipped\n"
 msgstr "carattere radix64 non valido %02x ignorato\n"
 
+#: common/ttyio.c:433
+#, c-format
+msgid "Sorry, we are in batchmode - can't get input\n"
+msgstr ""
+
+#: common/ttyio.c:439
+#, c-format
+msgid "Sorry, no terminal at all requested - can't get input\n"
+msgstr ""
+
+#: common/ttyio.c:474 common/ttyio.c:484
+#, c-format
+msgid "too many errors; giving up\n"
+msgstr ""
+
+#: common/ttyio.c:536
+#, c-format
+msgid "Control-D detected\n"
+msgstr ""
+
 #: common/argparse.c:520
 msgid "argument not expected"
 msgstr "argomento non previsto"
@@ -1350,7 +1368,7 @@ msgstr "opzione non valida"
 msgid "missing argument for option \"%.50s\"\n"
 msgstr "argomento mancante per l'opzione \"%.50s\"\n"
 
-#: common/argparse.c:558 g10/gpg.c:3490
+#: common/argparse.c:558 g10/gpg.c:3510
 #, c-format
 msgid "invalid argument for option \"%.50s\"\n"
 msgstr "argomento non valido per l'opzione \"%.50s\"\n"
@@ -1420,31 +1438,31 @@ msgstr "impossibile creare il file temporaneo '%s': %s\n"
 msgid "error writing to '%s': %s\n"
 msgstr "errore durante la scrittura in '%s': %s\n"
 
-#: common/dotlock.c:1129
+#: common/dotlock.c:1137
 #, c-format
 msgid "removing stale lockfile (created by %d)\n"
 msgstr "rimozione del file di blocco non più utilizzato (creato da %d)\n"
 
-#: common/dotlock.c:1165
+#: common/dotlock.c:1173
 #, c-format
 msgid "waiting for lock (held by %d%s) %s...\n"
 msgstr "in attesa di blocco (in attesa di %d%s) %s...\n"
 
-#: common/dotlock.c:1166
+#: common/dotlock.c:1174
 msgid "(deadlock?) "
 msgstr "(deadlock?) "
 
-#: common/dotlock.c:1205
+#: common/dotlock.c:1213
 #, c-format
 msgid "lock '%s' not made: %s\n"
 msgstr "blocco '%s' non effettuato: %s\n"
 
-#: common/dotlock.c:1232
+#: common/dotlock.c:1240
 #, c-format
 msgid "waiting for lock %s...\n"
 msgstr "attesa del blocco %s...\n"
 
-#: common/init.c:185 sm/gpgsm.c:949 dirmngr/dirmngr.c:862 dirmngr/dirmngr.c:871
+#: common/init.c:191 sm/gpgsm.c:863 dirmngr/dirmngr.c:900 dirmngr/dirmngr.c:909
 #, c-format
 msgid "%s is too old (need %s, have %s)\n"
 msgstr "%s è troppo vecchio (è necessario %s, con %s)\n"
@@ -1629,12 +1647,12 @@ msgid "Note: Use the command \"%s\" to restart them.\n"
 msgstr "Nota: utilizzare il comando \"%s\" per riavviarli.\n"
 
 #: g10/call-agent.c:318 g10/encrypt.c:154 g10/encrypt.c:620 g10/sign.c:412
-#: sm/call-agent.c:205 sm/encrypt.c:425 sm/sign.c:345
+#: sm/call-agent.c:205 sm/encrypt.c:426 sm/sign.c:345
 #, c-format
 msgid "%s is not compliant with %s mode\n"
 msgstr "%s non è conforme alla modalità %s\n"
 
-#: g10/call-dirmngr.c:209 sm/call-dirmngr.c:268 tools/gpg-connect-agent.c:2253
+#: g10/call-dirmngr.c:209 sm/call-dirmngr.c:269 tools/gpg-connect-agent.c:2253
 #, c-format
 msgid "no dirmngr running in this session\n"
 msgstr "nessun dirmngr in esecuzione in questa sessione\n"
@@ -1672,22 +1690,22 @@ msgstr "il reindirizzamento HTTP dal server è stato pulito"
 msgid "server uses an invalid certificate"
 msgstr "server utilizza un certificato non valido"
 
-#: g10/call-dirmngr.c:437 g10/gpg.c:4400
+#: g10/call-dirmngr.c:437 g10/gpg.c:4421
 #, c-format
 msgid "Note: %s\n"
 msgstr "Nota: %s\n"
 
-#: g10/card-util.c:86 g10/card-util.c:366 g10/card-util.c:1902
+#: g10/card-util.c:86 g10/card-util.c:366 g10/card-util.c:1903
 #, c-format
 msgid "OpenPGP card not available: %s\n"
 msgstr "Scheda OpenPGP non disponibile: %s\n"
 
-#: g10/card-util.c:91 g10/card-util.c:1908
+#: g10/card-util.c:91 g10/card-util.c:1909
 #, c-format
 msgid "OpenPGP card no. %s detected\n"
 msgstr "Scheda OpenPGP n. %s rilevata\n"
 
-#: g10/card-util.c:97 g10/card-util.c:2237 g10/delkey.c:160 g10/keyedit.c:1422
+#: g10/card-util.c:97 g10/card-util.c:2238 g10/delkey.c:160 g10/keyedit.c:1423
 #: g10/keygen.c:4466 g10/revoke.c:214 g10/revoke.c:636
 #, c-format
 msgid "can't do this in batch mode\n"
@@ -1698,13 +1716,13 @@ msgstr "impossibile eseguire questa operazione in modalità batch\n"
 msgid "This command is only available for version 2 cards\n"
 msgstr "Questo comando è disponibile solo per le schede della versione 2\n"
 
-#: g10/card-util.c:107 scd/app-openpgp.c:2864
+#: g10/card-util.c:107 scd/app-openpgp.c:2863
 #, c-format
 msgid "Reset Code not or not anymore available\n"
 msgstr "Reimposta codice non più disponibile o meno\n"
 
-#: g10/card-util.c:140 g10/card-util.c:1426 g10/card-util.c:1688
-#: g10/card-util.c:1780 g10/keyedit.c:394 g10/keyedit.c:415 g10/keyedit.c:429
+#: g10/card-util.c:140 g10/card-util.c:1427 g10/card-util.c:1689
+#: g10/card-util.c:1781 g10/keyedit.c:394 g10/keyedit.c:415 g10/keyedit.c:429
 #: g10/keygen.c:1808 g10/keygen.c:1980 g10/keygen.c:2186 g10/keygen.c:2477
 #: sm/certreqgen-ui.c:165 sm/certreqgen-ui.c:291 sm/certreqgen-ui.c:325
 msgid "Your selection? "
@@ -1730,105 +1748,105 @@ msgstr "non forzato"
 msgid "forced"
 msgstr "costretto"
 
-#: g10/card-util.c:749
+#: g10/card-util.c:750
 msgid "Error: Only plain ASCII is currently allowed.\n"
 msgstr "Errore: al momento è consentito solo ASCII semplice.\n"
 
-#: g10/card-util.c:751
+#: g10/card-util.c:752
 msgid "Error: The \"<\" character may not be used.\n"
 msgstr "Errore: il carattere \"<\" non può essere utilizzato.\n"
 
-#: g10/card-util.c:753
+#: g10/card-util.c:754
 msgid "Error: Double spaces are not allowed.\n"
 msgstr "Errore: gli spazi doppi non sono consentiti.\n"
 
-#: g10/card-util.c:770
+#: g10/card-util.c:771
 msgid "Cardholder's surname: "
 msgstr "Cognome del titolare della carta: "
 
-#: g10/card-util.c:772
+#: g10/card-util.c:773
 msgid "Cardholder's given name: "
 msgstr "Nome del titolare della carta: "
 
-#: g10/card-util.c:790
+#: g10/card-util.c:791
 #, c-format
 msgid "Error: Combined name too long (limit is %d characters).\n"
 msgstr "Errore: nome combinato troppo lungo (limite è di %d caratteri).\n"
 
-#: g10/card-util.c:811
+#: g10/card-util.c:812
 msgid "URL to retrieve public key: "
 msgstr "URL per recuperare la chiave pubblica: "
 
-#: g10/card-util.c:905 g10/decrypt-data.c:490 g10/import.c:387 g10/import.c:734
-#: g10/import.c:786 dirmngr/crlcache.c:655 dirmngr/crlcache.c:660
-#: dirmngr/crlcache.c:914 dirmngr/crlcache.c:920 dirmngr/dirmngr.c:1668
+#: g10/card-util.c:906 g10/decrypt-data.c:490 g10/import.c:399 g10/import.c:746
+#: g10/import.c:798 dirmngr/crlcache.c:655 dirmngr/crlcache.c:660
+#: dirmngr/crlcache.c:914 dirmngr/crlcache.c:920 dirmngr/dirmngr.c:1705
 #: tools/gpgconf.c:431 tools/gpgconf.c:477
 #, c-format
 msgid "error reading '%s': %s\n"
 msgstr "errore durante la lettura di '%s': %s\n"
 
-#: g10/card-util.c:938 g10/decrypt-data.c:493 g10/export.c:2467
+#: g10/card-util.c:939 g10/decrypt-data.c:493 g10/export.c:2467
 #: dirmngr/crlcache.c:925
 #, c-format
 msgid "error writing '%s': %s\n"
 msgstr "errore durante la scrittura di '%s': %s\n"
 
-#: g10/card-util.c:965
+#: g10/card-util.c:966
 msgid "Login data (account name): "
 msgstr "Dati di accesso (nome account): "
 
-#: g10/card-util.c:1003
+#: g10/card-util.c:1004
 msgid "Private DO data: "
 msgstr "Dati DO privati: "
 
-#: g10/card-util.c:1088
+#: g10/card-util.c:1089
 msgid "Language preferences: "
 msgstr "Preferenze lingua: "
 
-#: g10/card-util.c:1096
+#: g10/card-util.c:1097
 msgid "Error: invalid length of preference string.\n"
 msgstr "Errore: lunghezza della stringa di preferenza non valida.\n"
 
-#: g10/card-util.c:1105
+#: g10/card-util.c:1106
 msgid "Error: invalid characters in preference string.\n"
 msgstr "Errore: caratteri non validi nella stringa di preferenza.\n"
 
-#: g10/card-util.c:1127
+#: g10/card-util.c:1128
 msgid "Salutation (M = Mr., F = Ms., or space): "
 msgstr "Salutazione (M - Mr., F - Ms., o spazio): "
 
-#: g10/card-util.c:1141
+#: g10/card-util.c:1142
 msgid "Error: invalid response.\n"
 msgstr "|FPR|Risposta OCSP firmata da FPR\n"
 
-#: g10/card-util.c:1163
+#: g10/card-util.c:1164
 msgid "CA fingerprint: "
 msgstr "Impronta digitale CA: "
 
-#: g10/card-util.c:1186
+#: g10/card-util.c:1187
 msgid "Error: invalid formatted fingerprint.\n"
 msgstr "Errore: impronta digitale formattata non valida.\n"
 
-#: g10/card-util.c:1236
+#: g10/card-util.c:1237
 #, c-format
 msgid "key operation not possible: %s\n"
 msgstr "operazione chiave non possibile: %s\n"
 
-#: g10/card-util.c:1237
+#: g10/card-util.c:1238
 msgid "not an OpenPGP card"
 msgstr "non una scheda OpenPGP"
 
-#: g10/card-util.c:1250 g10/keygen.c:4486 g10/keygen.c:5565
+#: g10/card-util.c:1251 g10/keygen.c:4486 g10/keygen.c:5565
 #, c-format
 msgid "error getting current key info: %s\n"
 msgstr ""
 "errore durante il recupero delle informazioni sulla chiave corrente: %s\n"
 
-#: g10/card-util.c:1335
+#: g10/card-util.c:1336
 msgid "Replace existing key? (y/N) "
 msgstr "Sostituire la chiave esistente? (y/N) "
 
-#: g10/card-util.c:1352
+#: g10/card-util.c:1353
 msgid ""
 "Note: There is no guarantee that the card supports the requested size.\n"
 "      If the key generation does not succeed, please check the\n"
@@ -1840,102 +1858,102 @@ msgstr ""
 "      documentazione della carta per vedere quali dimensioni sono "
 "consentite.\n"
 
-#: g10/card-util.c:1374 g10/keygen.c:2363 sm/certreqgen-ui.c:179
+#: g10/card-util.c:1375 g10/keygen.c:2363 sm/certreqgen-ui.c:179
 #, c-format
 msgid "What keysize do you want? (%u) "
 msgstr "Che chiave vuoi? (%u) "
 
-#: g10/card-util.c:1384 g10/keygen.c:2286 g10/keygen.c:2318
+#: g10/card-util.c:1385 g10/keygen.c:2286 g10/keygen.c:2318
 #: sm/certreqgen-ui.c:194
 #, c-format
 msgid "rounded up to %u bits\n"
 msgstr "arrotondate a %u bit\n"
 
-#: g10/card-util.c:1392 g10/keygen.c:2371 sm/certreqgen-ui.c:184
+#: g10/card-util.c:1393 g10/keygen.c:2371 sm/certreqgen-ui.c:184
 #, c-format
 msgid "%s keysizes must be in the range %u-%u\n"
 msgstr "%s keysizes deve essere compreso nell'intervallo %u-%u\n"
 
-#: g10/card-util.c:1411
+#: g10/card-util.c:1412
 msgid "Changing card key attribute for: "
 msgstr "Modifica dell'attributo chiave della scheda per: "
 
-#: g10/card-util.c:1413
+#: g10/card-util.c:1414
 msgid "Signature key\n"
 msgstr "Chiave di firma\n"
 
-#: g10/card-util.c:1415
+#: g10/card-util.c:1416
 msgid "Encryption key\n"
 msgstr "Chiave di crittografia\n"
 
-#: g10/card-util.c:1417
+#: g10/card-util.c:1418
 msgid "Authentication key\n"
 msgstr "Chiave di autenticazione\n"
 
-#: g10/card-util.c:1419 g10/keygen.c:1926 sm/certreqgen-ui.c:157
+#: g10/card-util.c:1420 g10/keygen.c:1926 sm/certreqgen-ui.c:157
 msgid "Please select what kind of key you want:\n"
 msgstr "Per favore scegli che tipo di chiave vuoi:\n"
 
-#: g10/card-util.c:1420 sm/certreqgen-ui.c:158
+#: g10/card-util.c:1421 sm/certreqgen-ui.c:158
 #, c-format
 msgid "   (%d) RSA\n"
 msgstr "   (%d) RSA\n"
 
-#: g10/card-util.c:1421
+#: g10/card-util.c:1422
 #, c-format
 msgid "   (%d) ECC\n"
 msgstr "   (%d) ECC\n"
 
-#: g10/card-util.c:1433 g10/card-util.c:1700 g10/card-util.c:1800
-#: g10/keyedit.c:899 g10/keygen.c:1834 g10/keygen.c:1862 g10/keygen.c:1987
+#: g10/card-util.c:1434 g10/card-util.c:1701 g10/card-util.c:1801
+#: g10/keyedit.c:900 g10/keygen.c:1834 g10/keygen.c:1862 g10/keygen.c:1987
 #: g10/keygen.c:2222 g10/keygen.c:2505 g10/revoke.c:838
 msgid "Invalid selection.\n"
 msgstr "Scelta non valida.\n"
 
-#: g10/card-util.c:1506
+#: g10/card-util.c:1507
 #, c-format
 msgid "The card will now be re-configured to generate a key of %u bits\n"
 msgstr ""
 "La scheda verrà ora configurata nuovamente per generare una chiave di %u "
 "bit\n"
 
-#: g10/card-util.c:1511
+#: g10/card-util.c:1512
 #, c-format
 msgid "The card will now be re-configured to generate a key of type: %s\n"
 msgstr ""
 "La scheda verrà ora configurata nuovamente per generare una chiave di tipo: "
 "%s\n"
 
-#: g10/card-util.c:1547
+#: g10/card-util.c:1548
 #, c-format
 msgid "error changing key attribute for key %d: %s\n"
 msgstr ""
 "errore durante la modifica dell'attributo chiave per la chiave %d: %s\n"
 
-#: g10/card-util.c:1563 g10/card-util.c:2090
+#: g10/card-util.c:1564 g10/card-util.c:2091
 #, c-format
 msgid "error getting card info: %s\n"
 msgstr "errore durante il recupero delle informazioni sulla scheda: %s\n"
 
-#: g10/card-util.c:1569 g10/card-util.c:1914 g10/card-util.c:2096
+#: g10/card-util.c:1570 g10/card-util.c:1915 g10/card-util.c:2097
 #, c-format
 msgid "This command is not supported by this card\n"
 msgstr "Questo comando non è supportato da questa scheda\n"
 
-#: g10/card-util.c:1615
+#: g10/card-util.c:1616
 msgid "Make off-card backup of encryption key? (Y/n) "
 msgstr "Eseguire il backup off-card della chiave di crittografia? (Y/n) "
 
-#: g10/card-util.c:1629
+#: g10/card-util.c:1630
 #, c-format
 msgid "Note: keys are already stored on the card!\n"
 msgstr "Nota: le chiavi sono già memorizzate sulla scheda!\n"
 
-#: g10/card-util.c:1632
+#: g10/card-util.c:1633
 msgid "Replace existing keys? (y/N) "
 msgstr "Sostituire le chiavi esistenti? (y/N) "
 
-#: g10/card-util.c:1644
+#: g10/card-util.c:1645
 #, c-format
 msgid ""
 "Please note that the factory settings of the PINs are\n"
@@ -1946,143 +1964,143 @@ msgstr ""
 "   PIN : '%s'     PIN di amministrazione = '%s'\n"
 "È necessario modificarli utilizzando il comando --change-pin\n"
 
-#: g10/card-util.c:1679
+#: g10/card-util.c:1680
 msgid "Please select the type of key to generate:\n"
 msgstr "Selezionare il tipo di chiave da generare:\n"
 
-#: g10/card-util.c:1681 g10/card-util.c:1771
+#: g10/card-util.c:1682 g10/card-util.c:1772
 msgid "   (1) Signature key\n"
 msgstr "   (1) Chiave di firma\n"
 
-#: g10/card-util.c:1682 g10/card-util.c:1773
+#: g10/card-util.c:1683 g10/card-util.c:1774
 msgid "   (2) Encryption key\n"
 msgstr "   (2) Chiave di crittografia\n"
 
-#: g10/card-util.c:1683 g10/card-util.c:1775
+#: g10/card-util.c:1684 g10/card-util.c:1776
 msgid "   (3) Authentication key\n"
 msgstr "   (3) Chiave di autenticazione\n"
 
-#: g10/card-util.c:1768
+#: g10/card-util.c:1769
 msgid "Please select where to store the key:\n"
 msgstr "Si prega di selezionare dove memorizzare la chiave:\n"
 
-#: g10/card-util.c:1814
+#: g10/card-util.c:1815
 #, c-format
 msgid "KEYTOCARD failed: %s\n"
 msgstr "KEYTOCARD non riuscito: %s\n"
 
-#: g10/card-util.c:1919
+#: g10/card-util.c:1920
 #, c-format
 msgid "Note: This command destroys all keys stored on the card!\n"
 msgstr ""
 "Nota: Questo comando distrugge tutti i tasti memorizzati sulla scheda!\n"
 
-#: g10/card-util.c:1922
+#: g10/card-util.c:1923
 msgid "Continue? (y/N) "
 msgstr "Continuare? (Y/n) "
 
-#: g10/card-util.c:1927
+#: g10/card-util.c:1928
 msgid "Really do a factory reset? (enter \"yes\") "
 msgstr "Fare davvero un reset di fabbrica? (immettere \"sì\") "
 
-#: g10/card-util.c:2113
+#: g10/card-util.c:2114
 #, c-format
 msgid "error for setup KDF: %s\n"
 msgstr "errore per l'installazione KDF: %s\n"
 
-#: g10/card-util.c:2142 g10/keyedit.c:1259
+#: g10/card-util.c:2143 g10/keyedit.c:1260
 msgid "quit this menu"
 msgstr "abbandona questo menù"
 
-#: g10/card-util.c:2144
+#: g10/card-util.c:2145
 msgid "show admin commands"
 msgstr "mostra comandi di amministrazione"
 
-#: g10/card-util.c:2145 g10/keyedit.c:1262
+#: g10/card-util.c:2146 g10/keyedit.c:1263
 msgid "show this help"
 msgstr "mostra questo aiuto"
 
-#: g10/card-util.c:2147
+#: g10/card-util.c:2148
 msgid "list all available data"
 msgstr "elencare tutti i dati disponibili"
 
-#: g10/card-util.c:2150
+#: g10/card-util.c:2151
 msgid "change card holder's name"
 msgstr "cambiare il nome del titolare della carta"
 
-#: g10/card-util.c:2151
+#: g10/card-util.c:2152
 msgid "change URL to retrieve key"
 msgstr "modificare l'URL per recuperare la chiave"
 
-#: g10/card-util.c:2152
+#: g10/card-util.c:2153
 msgid "fetch the key specified in the card URL"
 msgstr "recuperare la chiave specificata nell'URL della scheda"
 
-#: g10/card-util.c:2153
+#: g10/card-util.c:2154
 msgid "change the login name"
 msgstr "modificare il nome di accesso"
 
-#: g10/card-util.c:2154
+#: g10/card-util.c:2155
 msgid "change the language preferences"
 msgstr "modificare le preferenze della lingua"
 
-#: g10/card-util.c:2155
+#: g10/card-util.c:2156
 msgid "change card holder's salutation"
 msgstr "cambiare il saluto del titolare della carta"
 
-#: g10/card-util.c:2157
+#: g10/card-util.c:2158
 msgid "change a CA fingerprint"
 msgstr "modificare un'impronta digitale CA"
 
-#: g10/card-util.c:2158
+#: g10/card-util.c:2159
 msgid "toggle the signature force PIN flag"
 msgstr "attivare/disattivare il flag PIN di forza della firma"
 
-#: g10/card-util.c:2159
+#: g10/card-util.c:2160
 msgid "generate new keys"
 msgstr "genera nuove chiavi"
 
-#: g10/card-util.c:2160
+#: g10/card-util.c:2161
 msgid "menu to change or unblock the PIN"
 msgstr "per modificare o sbloccare il PIN"
 
-#: g10/card-util.c:2161
+#: g10/card-util.c:2162
 msgid "verify the PIN and list all data"
 msgstr "verificare il PIN ed elencare tutti i dati"
 
-#: g10/card-util.c:2162
+#: g10/card-util.c:2163
 msgid "unblock the PIN using a Reset Code"
 msgstr "sbloccare il PIN utilizzando un codice di ripristino"
 
-#: g10/card-util.c:2163
+#: g10/card-util.c:2164
 msgid "destroy all keys and data"
 msgstr "distruggere tutte le chiavi e i dati"
 
-#: g10/card-util.c:2164
+#: g10/card-util.c:2165
 msgid "setup KDF for PIN authentication"
 msgstr "configurazione KDF per l'autenticazione PIN"
 
-#: g10/card-util.c:2165
+#: g10/card-util.c:2166
 msgid "change the key attribute"
 msgstr "modificare l'attributo chiave"
 
-#: g10/card-util.c:2289
+#: g10/card-util.c:2290
 msgid "gpg/card> "
 msgstr "gpg/card> "
 
-#: g10/card-util.c:2330
+#: g10/card-util.c:2331
 msgid "Admin-only command\n"
 msgstr "Comando solo amministratore\n"
 
-#: g10/card-util.c:2361
+#: g10/card-util.c:2362
 msgid "Admin commands are allowed\n"
 msgstr "I comandi di amministrazione sono consentiti\n"
 
-#: g10/card-util.c:2363
+#: g10/card-util.c:2364
 msgid "Admin commands are not allowed\n"
 msgstr "I comandi di amministrazione non sono consentiti\n"
 
-#: g10/card-util.c:2466 g10/keyedit.c:2228
+#: g10/card-util.c:2467 g10/keyedit.c:2229
 msgid "Invalid command  (try \"help\")\n"
 msgstr "Comando non valido  (prova \"help\")\n"
 
@@ -2091,21 +2109,21 @@ msgstr "Comando non valido  (prova \"help\")\n"
 msgid "--output doesn't work for this command\n"
 msgstr "--output non funziona con questo comando\n"
 
-#: g10/decrypt.c:247 g10/gpg.c:5083 g10/keyring.c:399 g10/keyring.c:750
+#: g10/decrypt.c:247 g10/gpg.c:5104 g10/keyring.c:399 g10/keyring.c:750
 #, c-format
 msgid "can't open '%s'\n"
 msgstr "impossibile aprire '%s'\n"
 
 #: g10/delkey.c:83 g10/export.c:1947 g10/export.c:2230 g10/export.c:2351
-#: g10/getkey.c:1964 g10/gpg.c:5028 g10/keyedit.c:1444 g10/keyedit.c:2334
-#: g10/keyedit.c:2580 g10/keyedit.c:4543 g10/keylist.c:689 g10/keyserver.c:1259
+#: g10/getkey.c:2108 g10/gpg.c:5049 g10/keyedit.c:1445 g10/keyedit.c:2335
+#: g10/keyedit.c:2581 g10/keyedit.c:4544 g10/keylist.c:689 g10/keyserver.c:1092
 #: g10/revoke.c:230 g10/tofu.c:2165
 #, c-format
 msgid "key \"%s\" not found: %s\n"
 msgstr "chiave \"%s\" non trovata: %s\n"
 
-#: g10/delkey.c:92 g10/export.c:2015 g10/getkey.c:1972 g10/getkey.c:4346
-#: g10/gpg.c:5037 g10/keyedit.c:2307 g10/keyserver.c:1277 g10/revoke.c:236
+#: g10/delkey.c:92 g10/export.c:2015 g10/getkey.c:2116 g10/getkey.c:4517
+#: g10/gpg.c:5058 g10/keyedit.c:2308 g10/keyserver.c:1110 g10/revoke.c:236
 #: g10/revoke.c:663 g10/tofu.c:2173
 #, c-format
 msgid "error reading keyblock: %s\n"
@@ -2168,9 +2186,9 @@ msgstr "key"
 msgid "subkey"
 msgstr "sottochiave"
 
-#: g10/delkey.c:299 g10/keyedit.c:2200 g10/keyedit.c:2210 g10/keyedit.c:2387
-#: g10/keyedit.c:2461 g10/keyedit.c:2532 g10/keyedit.c:2757 g10/keyedit.c:2987
-#: g10/keyedit.c:3056 g10/keyedit.c:3207
+#: g10/delkey.c:299 g10/keyedit.c:2201 g10/keyedit.c:2211 g10/keyedit.c:2388
+#: g10/keyedit.c:2462 g10/keyedit.c:2533 g10/keyedit.c:2758 g10/keyedit.c:2988
+#: g10/keyedit.c:3057 g10/keyedit.c:3208
 #, c-format
 msgid "update failed: %s\n"
 msgstr "aggiornamento fallito: %s\n"
@@ -2195,7 +2213,7 @@ msgstr "c'è una chiave segreta per la chiave pubblica \"%s\"!\n"
 msgid "use option \"--delete-secret-keys\" to delete it first.\n"
 msgstr "usa prima l'opzione \"--delete-secret-keys\" per cancellarla.\n"
 
-#: g10/encrypt.c:202 g10/sign.c:1471
+#: g10/encrypt.c:202 g10/sign.c:1470
 #, c-format
 msgid "error creating passphrase: %s\n"
 msgstr "errore nella creazione della passhprase: %s\n"
@@ -2221,15 +2239,15 @@ msgstr "'%s' già compresso\n"
 msgid "WARNING: '%s' is an empty file\n"
 msgstr "AVVISO: '%s' è un file vuoto\n"
 
-#: g10/encrypt.c:387 g10/encrypt.c:610 g10/decrypt-data.c:260 g10/gpg.c:3901
-#: g10/gpg.c:3941 sm/decrypt.c:364 sm/encrypt.c:415 sm/gpgsm.c:1655
+#: g10/encrypt.c:387 g10/encrypt.c:610 g10/decrypt-data.c:260 g10/gpg.c:3922
+#: g10/gpg.c:3962 sm/decrypt.c:826 sm/encrypt.c:416 sm/gpgsm.c:1555
 #, c-format
 msgid "cipher algorithm '%s' may not be used in %s mode\n"
 msgstr ""
 "l'algoritmo di crittografia '%s' non può essere utilizzato in modalità %s\n"
 
-#: g10/encrypt.c:396 g10/gpg.c:3907 g10/gpg.c:3953 g10/sig-check.c:146
-#: g10/sign.c:391 sm/gpgsm.c:1665 sm/gpgsm.c:1675 sm/sign.c:478 sm/verify.c:506
+#: g10/encrypt.c:396 g10/gpg.c:3928 g10/gpg.c:3974 g10/sig-check.c:146
+#: g10/sign.c:391 sm/gpgsm.c:1565 sm/gpgsm.c:1575 sm/sign.c:478 sm/verify.c:506
 #, c-format
 msgid "digest algorithm '%s' may not be used in %s mode\n"
 msgstr "l'algoritmo digest '%s' non può essere utilizzato in modalità %s\n"
@@ -2247,12 +2265,12 @@ msgstr ""
 "AVVISO: l'imposizione della crittografia simmetrica %s (%d) viola le "
 "preferenze del destinatario\n"
 
-#: g10/encrypt.c:640 sm/encrypt.c:490
+#: g10/encrypt.c:640 sm/encrypt.c:491
 #, c-format
 msgid "WARNING: key %s is not suitable for encryption in %s mode\n"
 msgstr "AVVISO: la chiave %s non è adatta per la crittografia in modalità %s\n"
 
-#: g10/encrypt.c:751 g10/sign.c:1163
+#: g10/encrypt.c:751 g10/sign.c:1162
 #, c-format
 msgid ""
 "WARNING: forcing compression algorithm %s (%d) violates recipient "
@@ -2283,12 +2301,12 @@ msgstr "l'opzione '%s' non può essere utilizzata in modalità %s\n"
 msgid "%s encrypted data\n"
 msgstr "dati cifrati con %s\n"
 
-#: g10/decrypt-data.c:243 g10/mainproc.c:396
+#: g10/decrypt-data.c:243 g10/mainproc.c:397
 #, c-format
 msgid "encrypted with unknown algorithm %d\n"
 msgstr "cifrato con l'algoritmo sconosciuto %d\n"
 
-#: g10/decrypt-data.c:357 g10/decrypt-data.c:410 sm/decrypt.c:130
+#: g10/decrypt-data.c:357 g10/decrypt-data.c:410 sm/decrypt.c:550
 #, c-format
 msgid ""
 "WARNING: message was encrypted with a weak key in the symmetric cipher.\n"
@@ -2306,7 +2324,7 @@ msgstr "problema nella gestione del pacchetto cifrato\n"
 msgid "no remote program execution supported\n"
 msgstr "l'esecuzione remota dei programmi non è gestita\n"
 
-#: g10/exec.c:381
+#: g10/exec.c:389
 #, c-format
 msgid ""
 "external program calls are disabled due to unsafe options file permissions\n"
@@ -2314,49 +2332,49 @@ msgstr ""
 "le chiamate a programmi esterni sono disattivate a causa dei permessi non\n"
 "sicuri del file delle opzioni\n"
 
-#: g10/exec.c:411
+#: g10/exec.c:419
 #, c-format
 msgid "this platform requires temporary files when calling external programs\n"
 msgstr ""
 "questa piattaforma richiede file temporanei quando si chiamano programmi "
 "esterni\n"
 
-#: g10/exec.c:489
+#: g10/exec.c:497
 #, c-format
 msgid "unable to execute program '%s': %s\n"
 msgstr "impossibile eseguire il programma '%s': %s\n"
 
-#: g10/exec.c:492
+#: g10/exec.c:500
 #, c-format
 msgid "unable to execute shell '%s': %s\n"
 msgstr "impossibile eseguire la shell '%s': %s\n"
 
-#: g10/exec.c:583
+#: g10/exec.c:591
 #, c-format
 msgid "system error while calling external program: %s\n"
 msgstr "errore di sistema chiamando il programma esterno: %s\n"
 
-#: g10/exec.c:594 g10/exec.c:661
+#: g10/exec.c:602 g10/exec.c:669
 #, c-format
 msgid "unnatural exit of external program\n"
 msgstr "uscita anormale del programma esterno\n"
 
-#: g10/exec.c:609
+#: g10/exec.c:617
 #, c-format
 msgid "unable to execute external program\n"
 msgstr "impossibile eseguire il programma esterno\n"
 
-#: g10/exec.c:626
+#: g10/exec.c:634
 #, c-format
 msgid "unable to read external program response: %s\n"
 msgstr "impossibile leggere la risposta del programma esterno: %s\n"
 
-#: g10/exec.c:672 g10/exec.c:679
+#: g10/exec.c:680 g10/exec.c:687
 #, c-format
 msgid "WARNING: unable to remove tempfile (%s) '%s': %s\n"
 msgstr "AVVISO: impossibile rimuovere il file temporaneo (%s) '%s': %s\n"
 
-#: g10/exec.c:684
+#: g10/exec.c:692
 #, c-format
 msgid "WARNING: unable to remove temp directory '%s': %s\n"
 msgstr "AVVISO: impossibile rimuovere la directory temporanea '%s': %s\n"
@@ -2389,8 +2407,8 @@ msgstr "utilizzare il formato di backup della chiave GnuPG"
 msgid " - skipped"
 msgstr " - saltato"
 
-#: g10/export.c:1324 g10/import.c:2073 g10/openfile.c:200 g10/openfile.c:294
-#: g10/sign.c:1013 g10/sign.c:1327
+#: g10/export.c:1324 g10/import.c:2085 g10/openfile.c:200 g10/openfile.c:294
+#: g10/sign.c:1012 g10/sign.c:1326
 #, c-format
 msgid "writing to '%s'\n"
 msgstr "scrittura in '%s'\n"
@@ -2425,269 +2443,269 @@ msgstr "errore durante la creazione di '%s': %s\n"
 msgid "[User ID not found]"
 msgstr "[ID utente non trovato]"
 
-#: g10/getkey.c:1297
+#: g10/getkey.c:1441
 #, c-format
 msgid "automatically retrieved '%s' via %s\n"
 msgstr "recuperato automaticamente '%s' tramite %s\n"
 
-#: g10/getkey.c:1303
+#: g10/getkey.c:1447
 #, c-format
 msgid "error retrieving '%s' via %s: %s\n"
 msgstr "errore durante il recupero di '%s' tramite %s: %s\n"
 
-#: g10/getkey.c:1305
+#: g10/getkey.c:1449
 msgid "No fingerprint"
 msgstr "Nessuna impronta digitale"
 
-#: g10/getkey.c:1526
+#: g10/getkey.c:1670
 #, c-format
 msgid "checking for a fresh copy of an expired key via %s\n"
 msgstr ""
 "verifica della presenza di una nuova copia di una chiave scaduta tramite %s\n"
 
-#: g10/getkey.c:1941 g10/revoke.c:655 g10/revoke.c:720
+#: g10/getkey.c:2085 g10/revoke.c:655 g10/revoke.c:720
 #, c-format
 msgid "secret key \"%s\" not found: %s\n"
 msgstr "chiave segreta \"%s\" non trovata: %s\n"
 
-#: g10/getkey.c:1944 g10/pkclist.c:988
+#: g10/getkey.c:2088 g10/pkclist.c:988
 #, c-format
 msgid "(check argument of option '%s')\n"
 msgstr "(controllare l'argomento dell'opzione '%s')\n"
 
-#: g10/getkey.c:2020
+#: g10/getkey.c:2164
 #, c-format
 msgid "Warning: not using '%s' as default key: %s\n"
 msgstr "Avviso: impossibile utilizzare '%s' come chiave predefinita: %s\n"
 
-#: g10/getkey.c:2028
+#: g10/getkey.c:2172
 #, c-format
 msgid "using \"%s\" as default secret key for signing\n"
 msgstr "utilizzo di \"%s\" come chiave segreta predefinita per la firma\n"
 
-#: g10/getkey.c:2035
+#: g10/getkey.c:2179
 #, c-format
 msgid "all values passed to '%s' ignored\n"
 msgstr "tutti i valori passati a '%s' ignorati\n"
 
-#: g10/getkey.c:2880
+#: g10/getkey.c:3024
 #, c-format
 msgid "Invalid key %s made valid by --allow-non-selfsigned-uid\n"
 msgstr "Chiave non valida %s resa valida da --allow-non-selfsigned-uid\n"
 
-#: g10/getkey.c:3730
+#: g10/getkey.c:3874
 #, c-format
 msgid "using subkey %s instead of primary key %s\n"
 msgstr "utilizzando la sottochiave %s anziché la chiave primaria %s\n"
 
-#: g10/getkey.c:4275 g10/gpg.c:2107
+#: g10/getkey.c:4446 g10/gpg.c:2120
 #, c-format
 msgid "valid values for option '%s':\n"
 msgstr "valori validi per l'opzione '%s':\n"
 
-#: g10/gpg.c:442 sm/gpgsm.c:206
+#: g10/gpg.c:439 sm/gpgsm.c:207
 msgid "make a signature"
 msgstr "fare una firma"
 
-#: g10/gpg.c:443
+#: g10/gpg.c:440
 msgid "make a clear text signature"
 msgstr "creare una firma di testo non crittografato"
 
-#: g10/gpg.c:445 sm/gpgsm.c:208
+#: g10/gpg.c:442 sm/gpgsm.c:209
 msgid "make a detached signature"
 msgstr "fai una firma separata"
 
-#: g10/gpg.c:446 sm/gpgsm.c:209
+#: g10/gpg.c:443 sm/gpgsm.c:210
 msgid "encrypt data"
 msgstr "cifra dati"
 
-#: g10/gpg.c:448
+#: g10/gpg.c:445
 msgid "encryption only with symmetric cipher"
 msgstr "cifra solo con un cifrario simmetrico"
 
-#: g10/gpg.c:450 sm/gpgsm.c:211
+#: g10/gpg.c:447 sm/gpgsm.c:212
 msgid "decrypt data (default)"
 msgstr "decifra dati (predefinito)"
 
-#: g10/gpg.c:452 sm/gpgsm.c:212
+#: g10/gpg.c:449 sm/gpgsm.c:213
 msgid "verify a signature"
 msgstr "verifica una firma"
 
-#: g10/gpg.c:454 sm/gpgsm.c:213
+#: g10/gpg.c:451 sm/gpgsm.c:214
 msgid "list keys"
 msgstr "elenca le chiavi"
 
-#: g10/gpg.c:456
+#: g10/gpg.c:453
 msgid "list keys and signatures"
 msgstr "elenca le chiavi e le firme"
 
-#: g10/gpg.c:459
+#: g10/gpg.c:456
 msgid "list and check key signatures"
 msgstr "elencare e controllare le firme delle chiavi"
 
-#: g10/gpg.c:461 sm/gpgsm.c:218
+#: g10/gpg.c:458 sm/gpgsm.c:219
 msgid "list keys and fingerprints"
 msgstr "elenca le chiavi e le impronte digitali"
 
-#: g10/gpg.c:462 sm/gpgsm.c:216
+#: g10/gpg.c:459 sm/gpgsm.c:217
 msgid "list secret keys"
 msgstr "elenca le chiavi segrete"
 
-#: g10/gpg.c:464 sm/gpgsm.c:219
+#: g10/gpg.c:461 sm/gpgsm.c:220
 msgid "generate a new key pair"
 msgstr "genera una nuova coppia di chiavi"
 
-#: g10/gpg.c:467
+#: g10/gpg.c:464
 msgid "quickly generate a new key pair"
 msgstr "generare rapidamente una nuova coppia di chiavi"
 
-#: g10/gpg.c:470
+#: g10/gpg.c:467
 msgid "quickly add a new user-id"
 msgstr "aggiungere rapidamente un nuovo id utente"
 
-#: g10/gpg.c:475
+#: g10/gpg.c:472
 msgid "quickly revoke a user-id"
 msgstr "revocare rapidamente un id utente"
 
-#: g10/gpg.c:478
+#: g10/gpg.c:475
 msgid "quickly set a new expiration date"
 msgstr "impostare rapidamente una nuova data di scadenza"
 
-#: g10/gpg.c:481
+#: g10/gpg.c:478
 msgid "full featured key pair generation"
 msgstr "generazione completa della coppia di chiavi in primo piano"
 
-#: g10/gpg.c:484
+#: g10/gpg.c:481
 msgid "generate a revocation certificate"
 msgstr "genera un certificato di revoca"
 
-#: g10/gpg.c:487 sm/gpgsm.c:222
+#: g10/gpg.c:484 sm/gpgsm.c:223
 msgid "remove keys from the public keyring"
 msgstr "rimuove le chiavi dal portachiavi pubblico"
 
-#: g10/gpg.c:489
+#: g10/gpg.c:486
 msgid "remove keys from the secret keyring"
 msgstr "rimuove le chiavi dal portachiavi privato"
 
-#: g10/gpg.c:491
+#: g10/gpg.c:488
 msgid "quickly sign a key"
 msgstr "firmare rapidamente un tasto"
 
-#: g10/gpg.c:493
+#: g10/gpg.c:490
 msgid "quickly sign a key locally"
 msgstr "firmare rapidamente una chiave localmente"
 
-#: g10/gpg.c:495
+#: g10/gpg.c:492
 #, fuzzy
 #| msgid "quickly revoke a user-id"
 msgid "quickly revoke a key signature"
 msgstr "revocare rapidamente un id utente"
 
-#: g10/gpg.c:496
+#: g10/gpg.c:493
 msgid "sign a key"
 msgstr "firma una chiave"
 
-#: g10/gpg.c:497
+#: g10/gpg.c:494
 msgid "sign a key locally"
 msgstr "firma una chiave localmente"
 
-#: g10/gpg.c:498
+#: g10/gpg.c:495
 msgid "sign or edit a key"
 msgstr "firma o modifica una chiave"
 
-#: g10/gpg.c:500 sm/gpgsm.c:240
+#: g10/gpg.c:497 sm/gpgsm.c:241
 msgid "change a passphrase"
 msgstr "cambia la passphrase"
 
-#: g10/gpg.c:504
+#: g10/gpg.c:501
 msgid "export keys"
 msgstr "esporta delle chiavi"
 
-#: g10/gpg.c:505
+#: g10/gpg.c:502
 msgid "export keys to a keyserver"
 msgstr "esporta le chiavi a un keyserver"
 
-#: g10/gpg.c:506
+#: g10/gpg.c:503
 msgid "import keys from a keyserver"
 msgstr "importa le chiavi da un keyserver"
 
-#: g10/gpg.c:509
+#: g10/gpg.c:506
 msgid "search for keys on a keyserver"
 msgstr "cerca delle chiavi su un keyserver"
 
-#: g10/gpg.c:511
+#: g10/gpg.c:508
 msgid "update all keys from a keyserver"
 msgstr "aggiorna tutte le chiavi da un keyserver"
 
-#: g10/gpg.c:519
+#: g10/gpg.c:516
 msgid "import/merge keys"
 msgstr "importa/aggiungi delle chiavi"
 
-#: g10/gpg.c:522
+#: g10/gpg.c:519
 msgid "print the card status"
 msgstr "stampare lo stato della scheda"
 
-#: g10/gpg.c:523
+#: g10/gpg.c:520
 msgid "change data on a card"
 msgstr "modificare i dati su una scheda"
 
-#: g10/gpg.c:525
+#: g10/gpg.c:522
 msgid "change a card's PIN"
 msgstr "modificare il PIN di una carta"
 
-#: g10/gpg.c:537
+#: g10/gpg.c:534
 msgid "update the trust database"
 msgstr "aggiorna il database della fiducia"
 
-#: g10/gpg.c:546
+#: g10/gpg.c:543
 msgid "print message digests"
 msgstr "stampare digest dei messaggi"
 
-#: g10/gpg.c:549 sm/gpgsm.c:235
+#: g10/gpg.c:546 sm/gpgsm.c:236
 msgid "run in server mode"
 msgstr "eseguire in modalità server"
 
-#: g10/gpg.c:551
+#: g10/gpg.c:548
 msgid "|VALUE|set the TOFU policy for a key"
 msgstr "|VALORE|impostare il criterio TOFU per una chiave"
 
-#: g10/gpg.c:555 sm/gpgsm.c:254
+#: g10/gpg.c:552 sm/gpgsm.c:255
 msgid "create ascii armored output"
 msgstr "crea un output ascii con armatura"
 
-#: g10/gpg.c:558 sm/gpgsm.c:271
+#: g10/gpg.c:555 sm/gpgsm.c:272
 msgid "|USER-ID|encrypt for USER-ID"
 msgstr "|USER-ID|encrypt per USER-ID"
 
-#: g10/gpg.c:574 sm/gpgsm.c:307
+#: g10/gpg.c:571 sm/gpgsm.c:308
 msgid "|USER-ID|use USER-ID to sign or decrypt"
 msgstr "|USER-ID|utilizzare USER-ID per firmare o decrittografare"
 
-#: g10/gpg.c:580
+#: g10/gpg.c:577
 msgid "|N|set compress level to N (0 disables)"
 msgstr "|N|Impostare il livello di compressione su N (0 disabilita)"
 
-#: g10/gpg.c:587
+#: g10/gpg.c:584
 msgid "use canonical text mode"
 msgstr "usa il modo testo canonico"
 
-#: g10/gpg.c:604 g10/gpgv.c:82 sm/gpgsm.c:309
+#: g10/gpg.c:601 g10/gpgv.c:82 sm/gpgsm.c:310
 msgid "|FILE|write output to FILE"
 msgstr "|FILE|scrittura dell'output in FILE"
 
-#: g10/gpg.c:614 kbx/kbxutil.c:90 sm/gpgsm.c:321 tools/gpgconf.c:110
+#: g10/gpg.c:611 kbx/kbxutil.c:90 sm/gpgsm.c:322 tools/gpgconf.c:110
 msgid "do not make any changes"
 msgstr "non fa cambiamenti"
 
-#: g10/gpg.c:615
+#: g10/gpg.c:612
 msgid "prompt before overwriting"
 msgstr "chiede prima di sovrascrivere"
 
-#: g10/gpg.c:665
+#: g10/gpg.c:662
 msgid "use strict OpenPGP behavior"
 msgstr "utilizzare un comportamento OpenPGP rigoroso"
 
-#: g10/gpg.c:692 sm/gpgsm.c:364
+#: g10/gpg.c:689 sm/gpgsm.c:367
 msgid ""
 "@\n"
 "(See the man page for a complete listing of all commands and options)\n"
@@ -2695,7 +2713,7 @@ msgstr ""
 "@\n"
 "(Vedi la man page per una lista completa di tutti i comandi e opzioni)\n"
 
-#: g10/gpg.c:695
+#: g10/gpg.c:692
 msgid ""
 "@\n"
 "Examples:\n"
@@ -2715,11 +2733,11 @@ msgstr ""
 " --list-keys [nomi]       mostra le chiavi\n"
 " --fingerprint [nomi]       mostra le impronte digitali\n"
 
-#: g10/gpg.c:1092
+#: g10/gpg.c:1096
 msgid "Usage: @GPG@ [options] [files] (-h for help)"
 msgstr "Utilizzo: @GPG@ [opzioni] [file] (-h per assistenza)"
 
-#: g10/gpg.c:1095
+#: g10/gpg.c:1099
 msgid ""
 "Syntax: @GPG@ [options] [files]\n"
 "Sign, check, encrypt or decrypt\n"
@@ -2729,7 +2747,7 @@ msgstr ""
 "Firmare, controllare, crittografare o decrittografare\n"
 "Il funzionamento predefinito dipende dai dati di input\n"
 
-#: g10/gpg.c:1106 sm/gpgsm.c:591
+#: g10/gpg.c:1110 sm/gpgsm.c:594
 msgid ""
 "\n"
 "Supported algorithms:\n"
@@ -2737,73 +2755,73 @@ msgstr ""
 "\n"
 "Algoritmi gestiti:\n"
 
-#: g10/gpg.c:1109
+#: g10/gpg.c:1113
 msgid "Pubkey: "
 msgstr "A chiave pubblica: "
 
-#: g10/gpg.c:1116 g10/keyedit.c:3281
+#: g10/gpg.c:1120 g10/keyedit.c:3282
 msgid "Cipher: "
 msgstr "Cifrari: "
 
-#: g10/gpg.c:1123
+#: g10/gpg.c:1127
 msgid "Hash: "
 msgstr "Hash: "
 
-#: g10/gpg.c:1130 g10/keyedit.c:3347
+#: g10/gpg.c:1134 g10/keyedit.c:3348
 msgid "Compression: "
 msgstr "Compressione: "
 
-#: g10/gpg.c:1199 sm/gpgsm.c:665
+#: g10/gpg.c:1207 sm/gpgsm.c:668
 #, c-format
 msgid "usage: %s [options] %s\n"
 msgstr "utilizzo: %s [opzioni] %s\n"
 
-#: g10/gpg.c:1388 sm/gpgsm.c:754
+#: g10/gpg.c:1396 sm/gpgsm.c:761
 #, c-format
 msgid "conflicting commands\n"
 msgstr "comandi in conflitto\n"
 
-#: g10/gpg.c:1406
+#: g10/gpg.c:1414
 #, c-format
 msgid "no = sign found in group definition '%s'\n"
 msgstr "nessun segno = trovato nella definizione di gruppo '%s'\n"
 
-#: g10/gpg.c:1604
+#: g10/gpg.c:1612
 #, c-format
 msgid "WARNING: unsafe ownership on homedir '%s'\n"
 msgstr "AVVISO: proprietà non sicura su homedir '%s'\n"
 
-#: g10/gpg.c:1607
+#: g10/gpg.c:1615
 #, c-format
 msgid "WARNING: unsafe ownership on configuration file '%s'\n"
 msgstr "AVVISO: proprietà non sicura nel file di configurazione '%s'\n"
 
-#: g10/gpg.c:1610
+#: g10/gpg.c:1618
 #, c-format
 msgid "WARNING: unsafe ownership on extension '%s'\n"
 msgstr "AVVISO: proprietà non sicura nell'estensione '%s'\n"
 
-#: g10/gpg.c:1616
+#: g10/gpg.c:1624
 #, c-format
 msgid "WARNING: unsafe permissions on homedir '%s'\n"
 msgstr "AVVISO: proprietà non sicura su homedir '%s'\n"
 
-#: g10/gpg.c:1619
+#: g10/gpg.c:1627
 #, c-format
 msgid "WARNING: unsafe permissions on configuration file '%s'\n"
 msgstr "AVVISO: autorizzazioni non sicure per il file di configurazione '%s'\n"
 
-#: g10/gpg.c:1622
+#: g10/gpg.c:1630
 #, c-format
 msgid "WARNING: unsafe permissions on extension '%s'\n"
 msgstr "AVVISO: autorizzazioni non sicure per l'estensione '%s'\n"
 
-#: g10/gpg.c:1628
+#: g10/gpg.c:1636
 #, c-format
 msgid "WARNING: unsafe enclosing directory ownership on homedir '%s'\n"
 msgstr "AVVISO: proprietà non sicura su homedir '%s'\n"
 
-#: g10/gpg.c:1631
+#: g10/gpg.c:1639
 #, c-format
 msgid ""
 "WARNING: unsafe enclosing directory ownership on configuration file '%s'\n"
@@ -2811,21 +2829,21 @@ msgstr ""
 "AVVISO: proprietà della directory di inclusione non sicura nel file di "
 "configurazione '%s'\n"
 
-#: g10/gpg.c:1634
+#: g10/gpg.c:1642
 #, c-format
 msgid "WARNING: unsafe enclosing directory ownership on extension '%s'\n"
 msgstr ""
 "AVVISO: proprietà della directory di inclusione non sicura nell'estensione "
 "'%s'\n"
 
-#: g10/gpg.c:1640
+#: g10/gpg.c:1648
 #, c-format
 msgid "WARNING: unsafe enclosing directory permissions on homedir '%s'\n"
 msgstr ""
 "AVVISO: autorizzazioni della directory di inclusione non sicure nella "
 "directory homedir '%s'\n"
 
-#: g10/gpg.c:1643
+#: g10/gpg.c:1651
 #, c-format
 msgid ""
 "WARNING: unsafe enclosing directory permissions on configuration file '%s'\n"
@@ -2833,458 +2851,458 @@ msgstr ""
 "AVVISO: autorizzazioni della directory di inclusione non sicure nella "
 "directory homedir '%s'\n"
 
-#: g10/gpg.c:1646
+#: g10/gpg.c:1654
 #, c-format
 msgid "WARNING: unsafe enclosing directory permissions on extension '%s'\n"
 msgstr ""
 "AVVISO: autorizzazioni della directory di inclusione non sicure per "
 "l'estensione '%s'\n"
 
-#: g10/gpg.c:1862
+#: g10/gpg.c:1870
 #, c-format
 msgid "unknown configuration item '%s'\n"
 msgstr "elemento di configurazione sconosciuto '%s'\n"
 
-#: g10/gpg.c:1979
+#: g10/gpg.c:1992
 msgid "display photo IDs during key listings"
 msgstr "visualizzare gli ID foto durante le elenchi dei tasti"
 
-#: g10/gpg.c:1981
+#: g10/gpg.c:1994
 msgid "show key usage information during key listings"
 msgstr ""
 "mostra le informazioni sull'utilizzo delle chiavi durante le inserzioni "
 "chiave"
 
-#: g10/gpg.c:1983
+#: g10/gpg.c:1996
 msgid "show policy URLs during signature listings"
 msgstr "mostra URL dei criteri durante gli elenchi delle firme"
 
-#: g10/gpg.c:1985
+#: g10/gpg.c:1998
 msgid "show all notations during signature listings"
 msgstr "mostra tutte le notazioni durante gli elenchi delle firme"
 
-#: g10/gpg.c:1987
+#: g10/gpg.c:2000
 msgid "show IETF standard notations during signature listings"
 msgstr "mostra notazioni standard IETF durante gli elenchi delle firme"
 
-#: g10/gpg.c:1991
+#: g10/gpg.c:2004
 msgid "show user-supplied notations during signature listings"
 msgstr ""
 "mostra le notazioni fornite dall'utente durante gli elenchi delle firme"
 
-#: g10/gpg.c:1993
+#: g10/gpg.c:2006
 msgid "show preferred keyserver URLs during signature listings"
 msgstr "mostra gli URL preferiti del keyserver durante gli elenchi delle firme"
 
-#: g10/gpg.c:1995
+#: g10/gpg.c:2008
 msgid "show user ID validity during key listings"
 msgstr "mostra validità ID utente durante le inserzioni chiave"
 
-#: g10/gpg.c:1997
+#: g10/gpg.c:2010
 msgid "show revoked and expired user IDs in key listings"
 msgstr "mostra ID utente revocati e scaduti negli elenchi di chiavi"
 
-#: g10/gpg.c:1999
+#: g10/gpg.c:2012
 msgid "show revoked and expired subkeys in key listings"
 msgstr "mostra sottochiavi revocate e scadute negli elenchi di chiavi"
 
-#: g10/gpg.c:2001
+#: g10/gpg.c:2014
 msgid "show the keyring name in key listings"
 msgstr "mostrare il nome del keyring negli elenchi delle chiavi"
 
-#: g10/gpg.c:2003
+#: g10/gpg.c:2016
 msgid "show expiration dates during signature listings"
 msgstr "mostra date di scadenza durante le inserzioni delle firme"
 
-#: g10/gpg.c:2118
+#: g10/gpg.c:2131
 #, c-format
 msgid "unknown TOFU policy '%s'\n"
 msgstr "criterio TOFU sconosciuto '%s'\n"
 
-#: g10/gpg.c:2120
+#: g10/gpg.c:2133
 #, c-format
 msgid "(use \"help\" to list choices)\n"
 msgstr "(utilizzare \"help\" per elencare le scelte)\n"
 
-#: g10/gpg.c:2840 g10/gpg.c:3671 g10/gpg.c:3683
+#: g10/gpg.c:2856 g10/gpg.c:3691 g10/gpg.c:3703
 #, c-format
 msgid "Note: %s is not for normal use!\n"
 msgstr "Nota: %s non è per uso normale!\n"
 
-#: g10/gpg.c:3017 g10/gpg.c:3029
+#: g10/gpg.c:3033 g10/gpg.c:3045
 #, c-format
 msgid "'%s' is not a valid signature expiration\n"
 msgstr "'%s' non è una scadenza di firma valida\n"
 
-#: g10/gpg.c:3051
+#: g10/gpg.c:3067
 #, c-format
 msgid "\"%s\" is not a proper mail address\n"
 msgstr "\"%s\" non è un indirizzo di posta elettronica corretto\n"
 
-#: g10/gpg.c:3083 sm/gpgsm.c:1177
+#: g10/gpg.c:3099 sm/gpgsm.c:1091
 #, c-format
 msgid "invalid pinentry mode '%s'\n"
 msgstr "modalità pinentry non valida '%s'\n"
 
-#: g10/gpg.c:3089 sm/gpgsm.c:1183
+#: g10/gpg.c:3105 sm/gpgsm.c:1097
 #, c-format
 msgid "invalid request origin '%s'\n"
 msgstr "origine richiesta non valida '%s'\n"
 
-#: g10/gpg.c:3143
+#: g10/gpg.c:3159
 #, c-format
 msgid "'%s' is not a valid character set\n"
 msgstr "'%s' non è un set di caratteri valido\n"
 
-#: g10/gpg.c:3165 g10/gpg.c:3375 g10/keyedit.c:5281
+#: g10/gpg.c:3181 g10/gpg.c:3395 g10/keyedit.c:5282
 #, c-format
 msgid "could not parse keyserver URL\n"
 msgstr "impossibile analizzare l'URL del server dei chiavi\n"
 
-#: g10/gpg.c:3183
+#: g10/gpg.c:3199
 #, c-format
 msgid "%s:%d: invalid keyserver options\n"
 msgstr "%s:%d: opzioni keyserver non valide\n"
 
-#: g10/gpg.c:3186
+#: g10/gpg.c:3202
 #, c-format
 msgid "invalid keyserver options\n"
 msgstr "opzioni keyserver non valide\n"
 
-#: g10/gpg.c:3193
+#: g10/gpg.c:3209
 #, c-format
 msgid "%s:%d: invalid import options\n"
 msgstr "%s:%d: opzioni di importazione non valide\n"
 
-#: g10/gpg.c:3196
+#: g10/gpg.c:3212
 #, c-format
 msgid "invalid import options\n"
 msgstr "opzioni di importazione non valide\n"
 
-#: g10/gpg.c:3202 g10/gpg.c:3217
+#: g10/gpg.c:3218 g10/gpg.c:3233
 #, c-format
 msgid "invalid filter option: %s\n"
 msgstr "opzione di filtro non valida: %s\n"
 
-#: g10/gpg.c:3208
+#: g10/gpg.c:3224
 #, c-format
 msgid "%s:%d: invalid export options\n"
 msgstr "%s:%d: opzioni di esportazione non valide\n"
 
-#: g10/gpg.c:3211
+#: g10/gpg.c:3227
 #, c-format
 msgid "invalid export options\n"
 msgstr "opzioni di esportazione non valide\n"
 
-#: g10/gpg.c:3223
+#: g10/gpg.c:3239
 #, c-format
 msgid "%s:%d: invalid list options\n"
 msgstr "%s:%d: opzioni di elenco non valide\n"
 
-#: g10/gpg.c:3226
+#: g10/gpg.c:3242
 #, c-format
 msgid "invalid list options\n"
 msgstr "opzioni di elenco non valide\n"
 
-#: g10/gpg.c:3234
+#: g10/gpg.c:3250
 msgid "display photo IDs during signature verification"
 msgstr "visualizzare gli ID foto durante la verifica della firma"
 
-#: g10/gpg.c:3236
+#: g10/gpg.c:3252
 msgid "show policy URLs during signature verification"
 msgstr "mostra URL dei criteri durante la verifica della firma"
 
-#: g10/gpg.c:3238
+#: g10/gpg.c:3254
 msgid "show all notations during signature verification"
 msgstr "mostra tutte le notazioni durante la verifica della firma"
 
-#: g10/gpg.c:3240
+#: g10/gpg.c:3256
 msgid "show IETF standard notations during signature verification"
 msgstr "mostra notazioni standard IETF durante la verifica della firma"
 
-#: g10/gpg.c:3244
+#: g10/gpg.c:3260
 msgid "show user-supplied notations during signature verification"
 msgstr ""
 "mostra le notazioni fornite dall'utente durante la verifica della firma"
 
-#: g10/gpg.c:3246
+#: g10/gpg.c:3262
 msgid "show preferred keyserver URLs during signature verification"
 msgstr "mostra gli URL preferiti del keyserver durante la verifica della firma"
 
-#: g10/gpg.c:3248
+#: g10/gpg.c:3264
 msgid "show user ID validity during signature verification"
 msgstr "mostra validità DELL'ID utente durante la verifica della firma"
 
-#: g10/gpg.c:3250
+#: g10/gpg.c:3266
 msgid "show revoked and expired user IDs in signature verification"
 msgstr "mostra ID utente revocati e scaduti nella verifica della firma"
 
-#: g10/gpg.c:3252
+#: g10/gpg.c:3268
 msgid "show only the primary user ID in signature verification"
 msgstr "mostra solo l'ID utente primario nella verifica della firma"
 
-#: g10/gpg.c:3254
+#: g10/gpg.c:3270
 msgid "validate signatures with PKA data"
 msgstr "convalidare le firme con i dati PKA"
 
-#: g10/gpg.c:3256
+#: g10/gpg.c:3272
 msgid "elevate the trust of signatures with valid PKA data"
 msgstr "elevare la fiducia delle firme con dati PKA validi"
 
-#: g10/gpg.c:3263
+#: g10/gpg.c:3279
 #, c-format
 msgid "%s:%d: invalid verify options\n"
 msgstr "%s:%d: opzioni di verifica non valide\n"
 
-#: g10/gpg.c:3266
+#: g10/gpg.c:3282
 #, c-format
 msgid "invalid verify options\n"
 msgstr "opzioni di verifica non valide\n"
 
-#: g10/gpg.c:3273
+#: g10/gpg.c:3289
 #, c-format
 msgid "unable to set exec-path to %s\n"
 msgstr "impossibile impostare exec-path a %s\n"
 
-#: g10/gpg.c:3478
+#: g10/gpg.c:3498
 #, c-format
 msgid "%s:%d: invalid auto-key-locate list\n"
 msgstr "%s:%d: elenco di individuazione automatica della chiave non valido\n"
 
-#: g10/gpg.c:3481
+#: g10/gpg.c:3501
 #, c-format
 msgid "invalid auto-key-locate list\n"
 msgstr "elenco di individuazione automatica delle chiavi non valido\n"
 
-#: g10/gpg.c:3653 sm/gpgsm.c:1541
+#: g10/gpg.c:3673 sm/gpgsm.c:1441
 #, c-format
 msgid "WARNING: program may create a core file!\n"
 msgstr "ATTENZIONE: il programma potrebbe creare un file core!\n"
 
-#: g10/gpg.c:3664
+#: g10/gpg.c:3684
 #, c-format
 msgid "WARNING: %s overrides %s\n"
 msgstr "ATTENZIONE: %s ha la precedenza su %s\n"
 
-#: g10/gpg.c:3673
+#: g10/gpg.c:3693
 #, c-format
 msgid "%s not allowed with %s!\n"
 msgstr "Non è permesso usare %s con %s!\n"
 
-#: g10/gpg.c:3676
+#: g10/gpg.c:3696
 #, c-format
 msgid "%s makes no sense with %s!\n"
 msgstr "Non ha senso usare %s con %s!\n"
 
-#: g10/gpg.c:3691 sm/gpgsm.c:1558 dirmngr/dirmngr.c:1082
+#: g10/gpg.c:3711 sm/gpgsm.c:1458 dirmngr/dirmngr.c:1117
 #, c-format
 msgid "WARNING: running with faked system time: "
 msgstr "AVVISO: in esecuzione con l'ora di sistema falso: "
 
-#: g10/gpg.c:3712
+#: g10/gpg.c:3732
 #, c-format
 msgid "will not run with insecure memory due to %s\n"
 msgstr "non verrà eseguito con memoria non protetta a causa di %s\n"
 
-#: g10/gpg.c:3747 g10/gpg.c:3771 sm/gpgsm.c:1625
+#: g10/gpg.c:3767 g10/gpg.c:3791 sm/gpgsm.c:1525
 #, c-format
 msgid "selected cipher algorithm is invalid\n"
 msgstr "l'algoritmo di cifratura selezionato non è valido\n"
 
-#: g10/gpg.c:3759
+#: g10/gpg.c:3779
 #, c-format
 msgid "selected compression algorithm is invalid\n"
 msgstr "algoritmo di compressione selezionato non valido\n"
 
-#: g10/gpg.c:3765
+#: g10/gpg.c:3785
 #, c-format
 msgid "selected certification digest algorithm is invalid\n"
 msgstr "l'algoritmo di digest selezionato non è valido\n"
 
-#: g10/gpg.c:3780
+#: g10/gpg.c:3800
 #, c-format
 msgid "completes-needed must be greater than 0\n"
 msgstr "completes-needed deve essere maggiore di 0\n"
 
-#: g10/gpg.c:3782
+#: g10/gpg.c:3802
 #, c-format
 msgid "marginals-needed must be greater than 1\n"
 msgstr "marginals-needed deve essere maggiore di 1\n"
 
-#: g10/gpg.c:3784
+#: g10/gpg.c:3804
 #, c-format
 msgid "max-cert-depth must be in the range from 1 to 255\n"
 msgstr "max-cert-depth deve essere compreso tra 1 e 255\n"
 
-#: g10/gpg.c:3786
+#: g10/gpg.c:3806
 #, c-format
 msgid "invalid default-cert-level; must be 0, 1, 2, or 3\n"
 msgstr "default-cert-level non valido; deve essere 0, 1, 2 o 3\n"
 
-#: g10/gpg.c:3788
+#: g10/gpg.c:3808
 #, c-format
 msgid "invalid min-cert-level; must be 1, 2, or 3\n"
 msgstr "min-cert-level non valido; deve essere 1, 2 o 3\n"
 
-#: g10/gpg.c:3791
+#: g10/gpg.c:3812
 #, c-format
 msgid "Note: simple S2K mode (0) is strongly discouraged\n"
 msgstr "Nota: la modalità S2K semplice (0) è fortemente sconsigliata\n"
 
-#: g10/gpg.c:3795
+#: g10/gpg.c:3816
 #, c-format
 msgid "invalid S2K mode; must be 0, 1 or 3\n"
 msgstr "modo S2K non valido; deve essere 0, 1 o 3\n"
 
-#: g10/gpg.c:3802
+#: g10/gpg.c:3823
 #, c-format
 msgid "invalid default preferences\n"
 msgstr "preferenze predefinite non valide\n"
 
-#: g10/gpg.c:3806
+#: g10/gpg.c:3827
 #, c-format
 msgid "invalid personal cipher preferences\n"
 msgstr "preferenze personali del cifrario non valide\n"
 
-#: g10/gpg.c:3810
+#: g10/gpg.c:3831
 #, c-format
 msgid "invalid personal digest preferences\n"
 msgstr "preferenze personali del digest non valide\n"
 
-#: g10/gpg.c:3814
+#: g10/gpg.c:3835
 #, c-format
 msgid "invalid personal compress preferences\n"
 msgstr "preferenze personali di compressione non valide\n"
 
-#: g10/gpg.c:3850
+#: g10/gpg.c:3871
 #, c-format
 msgid "%s does not yet work with %s\n"
 msgstr "%s non funziona ancora con %s\n"
 
-#: g10/gpg.c:3913
+#: g10/gpg.c:3934
 #, c-format
 msgid "compression algorithm '%s' may not be used in %s mode\n"
 msgstr ""
 "l'algoritmo di compressione '%s' non può essere utilizzato in modalità %s\n"
 
-#: g10/gpg.c:4057
+#: g10/gpg.c:4078
 #, c-format
 msgid "failed to initialize the TrustDB: %s\n"
 msgstr "inizializzazione del trustdb fallita: %s\n"
 
-#: g10/gpg.c:4069
+#: g10/gpg.c:4090
 #, c-format
 msgid "WARNING: recipients (-r) given without using public key encryption\n"
 msgstr ""
 "ATTENZIONE: sono stati indicati dei destinatari (-r) senza usare la\n"
 "crittografia a chiave pubblica\n"
 
-#: g10/gpg.c:4141
+#: g10/gpg.c:4162
 #, c-format
 msgid "symmetric encryption of '%s' failed: %s\n"
 msgstr "crittografia simmetrica di '%s' non riuscita: %s\n"
 
-#: g10/gpg.c:4170
+#: g10/gpg.c:4191
 #, c-format
 msgid "you cannot use --symmetric --encrypt with --s2k-mode 0\n"
 msgstr "non è possibile utilizzare --symmetric --encrypt con --s2k-mode 0\n"
 
-#: g10/gpg.c:4173
+#: g10/gpg.c:4194
 #, c-format
 msgid "you cannot use --symmetric --encrypt in %s mode\n"
 msgstr "non è possibile utilizzare --symmetric --encrypt in modalità %s\n"
 
-#: g10/gpg.c:4231
+#: g10/gpg.c:4252
 #, c-format
 msgid "you cannot use --symmetric --sign --encrypt with --s2k-mode 0\n"
 msgstr ""
 "non è possibile utilizzare --symmetric --sign --encrypt con --s2k-mode 0\n"
 
-#: g10/gpg.c:4234
+#: g10/gpg.c:4255
 #, c-format
 msgid "you cannot use --symmetric --sign --encrypt in %s mode\n"
 msgstr ""
 "non è possibile utilizzare --symmetric --sign --encrypt in modalità %s\n"
 
-#: g10/gpg.c:4622 g10/keyserver.c:1881
+#: g10/gpg.c:4643 g10/keyserver.c:1648
 #, c-format
 msgid "keyserver send failed: %s\n"
 msgstr "invio al keyserver fallito: %s\n"
 
-#: g10/gpg.c:4627
+#: g10/gpg.c:4648
 #, c-format
 msgid "keyserver receive failed: %s\n"
 msgstr "ricezione dal keyserver fallita: %s\n"
 
-#: g10/gpg.c:4633
+#: g10/gpg.c:4654
 #, c-format
 msgid "key export failed: %s\n"
 msgstr "esportazione della chiave fallita: %s\n"
 
-#: g10/gpg.c:4646
+#: g10/gpg.c:4667
 #, c-format
 msgid "export as ssh key failed: %s\n"
 msgstr "esportazione come chiave ssh non riuscita: %s\n"
 
-#: g10/gpg.c:4658
+#: g10/gpg.c:4679
 #, c-format
 msgid "keyserver search failed: %s\n"
 msgstr "ricerca nel keyserver fallita: %s\n"
 
-#: g10/gpg.c:4671
+#: g10/gpg.c:4692
 #, c-format
 msgid "keyserver refresh failed: %s\n"
 msgstr "aggiornamento del keyserver fallito: %s\n"
 
-#: g10/gpg.c:4738
+#: g10/gpg.c:4759
 #, c-format
 msgid "dearmoring failed: %s\n"
 msgstr "rimozione dell'armatura fallita: %s\n"
 
-#: g10/gpg.c:4749
+#: g10/gpg.c:4770
 #, c-format
 msgid "enarmoring failed: %s\n"
 msgstr "creazione dell'armatura fallita: %s\n"
 
-#: g10/gpg.c:4841
+#: g10/gpg.c:4862
 #, c-format
 msgid "invalid hash algorithm '%s'\n"
 msgstr "algoritmo hash non valido '%s'\n"
 
-#: g10/gpg.c:4993 g10/tofu.c:2153
+#: g10/gpg.c:5014 g10/tofu.c:2153
 #, c-format
 msgid "error parsing key specification '%s': %s\n"
 msgstr "errore durante l'analisi della specifica della chiave '%s': %s\n"
 
-#: g10/gpg.c:5006
+#: g10/gpg.c:5027
 #, c-format
 msgid "'%s' does not appear to be a valid key ID, fingerprint or keygrip\n"
 msgstr ""
 "'%s' non sembra essere un ID chiave, un'impronta digitale o un keygrip "
 "valido\n"
 
-#: g10/gpg.c:5062
+#: g10/gpg.c:5083
 #, c-format
 msgid "WARNING: no command supplied.  Trying to guess what you mean ...\n"
 msgstr ""
 "AVVISO: nessun comando fornito.  Cercando di indovinare cosa vuoi dire ...\n"
 
-#: g10/gpg.c:5073
+#: g10/gpg.c:5094
 #, c-format
 msgid "Go ahead and type your message ...\n"
 msgstr "Vai avanti e scrivi il messaggio...\n"
 
-#: g10/gpg.c:5418
+#: g10/gpg.c:5439
 #, c-format
 msgid "the given certification policy URL is invalid\n"
 msgstr "l'URL della politica di certificazione indicato non è valido\n"
 
-#: g10/gpg.c:5420
+#: g10/gpg.c:5441
 #, c-format
 msgid "the given signature policy URL is invalid\n"
 msgstr "l'URL della politica di firma indicato non è valido\n"
 
-#: g10/gpg.c:5453
+#: g10/gpg.c:5474
 #, c-format
 msgid "the given preferred keyserver URL is invalid\n"
 msgstr "l'URL del keyserver preferito specificato non è valido\n"
@@ -3297,7 +3315,7 @@ msgstr "| FILE: prendere le chiavi dal file di tasti"
 msgid "make timestamp conflicts only a warning"
 msgstr "segnala i conflitti di data solo con un avvertimento"
 
-#: g10/gpgv.c:86 sm/gpgsm.c:354 tools/gpgconf.c:112
+#: g10/gpgv.c:86 sm/gpgsm.c:357 tools/gpgconf.c:112
 msgid "|FD|write status info to this FD"
 msgstr "|FD|scrivi le informazioni di stato sul FD"
 
@@ -3375,97 +3393,97 @@ msgstr "assumere il formato di backup della chiave GnuPG"
 msgid "repair keys on import"
 msgstr "ripristinare le chiavi all'importazione"
 
-#: g10/import.c:380 g10/import.c:699
+#: g10/import.c:392 g10/import.c:711
 #, c-format
 msgid "skipping block of type %d\n"
 msgstr "salto un blocco di tipo %d\n"
 
-#: g10/import.c:716
+#: g10/import.c:728
 #, c-format
 msgid "%lu keys processed so far\n"
 msgstr "%lu chiavi elaborate finora\n"
 
-#: g10/import.c:802
+#: g10/import.c:814
 #, c-format
 msgid "Total number processed: %lu\n"
 msgstr "Numero totale esaminato: %lu\n"
 
-#: g10/import.c:805
+#: g10/import.c:817
 #, c-format
 msgid "    skipped PGP-2 keys: %lu\n"
 msgstr "    Chiavi PGP-2 ignorate: %lu\n"
 
-#: g10/import.c:807
+#: g10/import.c:819
 #, c-format
 msgid "      skipped new keys: %lu\n"
 msgstr "  nuove chiavi saltate: %lu\n"
 
-#: g10/import.c:810
+#: g10/import.c:822
 #, c-format
 msgid "          w/o user IDs: %lu\n"
 msgstr "         senza user ID: %lu\n"
 
-#: g10/import.c:813 sm/import.c:130
+#: g10/import.c:825 sm/import.c:130
 #, c-format
 msgid "              imported: %lu"
 msgstr "             importate: %lu"
 
-#: g10/import.c:817 sm/import.c:134
+#: g10/import.c:829 sm/import.c:134
 #, c-format
 msgid "             unchanged: %lu\n"
 msgstr "        non modificate: %lu\n"
 
-#: g10/import.c:819
+#: g10/import.c:831
 #, c-format
 msgid "          new user IDs: %lu\n"
 msgstr "         nuovi user ID: %lu\n"
 
-#: g10/import.c:821
+#: g10/import.c:833
 #, c-format
 msgid "           new subkeys: %lu\n"
 msgstr "       nuove subchiavi: %lu\n"
 
-#: g10/import.c:823
+#: g10/import.c:835
 #, c-format
 msgid "        new signatures: %lu\n"
 msgstr "           nuove firme: %lu\n"
 
-#: g10/import.c:825
+#: g10/import.c:837
 #, c-format
 msgid "   new key revocations: %lu\n"
 msgstr "  nuove revoche di chiavi: %lu\n"
 
-#: g10/import.c:827 sm/import.c:136
+#: g10/import.c:839 sm/import.c:136
 #, c-format
 msgid "      secret keys read: %lu\n"
 msgstr "  chiavi segrete lette: %lu\n"
 
-#: g10/import.c:829 sm/import.c:138
+#: g10/import.c:841 sm/import.c:138
 #, c-format
 msgid "  secret keys imported: %lu\n"
 msgstr "  chiavi segrete importate: %lu\n"
 
-#: g10/import.c:831 sm/import.c:140
+#: g10/import.c:843 sm/import.c:140
 #, c-format
 msgid " secret keys unchanged: %lu\n"
 msgstr " chiavi segrete non cambiate: %lu\n"
 
-#: g10/import.c:833 sm/import.c:142
+#: g10/import.c:845 sm/import.c:142
 #, c-format
 msgid "          not imported: %lu\n"
 msgstr "             importate: %lu\n"
 
-#: g10/import.c:835
+#: g10/import.c:847
 #, c-format
 msgid "    signatures cleaned: %lu\n"
 msgstr "    firme pulite: %lu\n"
 
-#: g10/import.c:837
+#: g10/import.c:849
 #, c-format
 msgid "      user IDs cleaned: %lu\n"
 msgstr "    ID utente puliti: %lu\n"
 
-#: g10/import.c:1264
+#: g10/import.c:1276
 #, c-format
 msgid ""
 "WARNING: key %s contains preferences for unavailable\n"
@@ -3474,169 +3492,169 @@ msgstr ""
 "AVVISO: la chiave %s contiene le preferenze per\n"
 "algoritmi su questi ID utente:\n"
 
-#: g10/import.c:1306
+#: g10/import.c:1318
 #, c-format
 msgid "         \"%s\": preference for cipher algorithm %s\n"
 msgstr "         \"%s\": preferenza per l'algoritmo di crittografia %s\n"
 
-#: g10/import.c:1321
+#: g10/import.c:1333
 #, c-format
 msgid "         \"%s\": preference for digest algorithm %s\n"
 msgstr "        \"%s\": preferenza per l'algoritmo digest %s\n"
 
-#: g10/import.c:1333
+#: g10/import.c:1345
 #, c-format
 msgid "         \"%s\": preference for compression algorithm %s\n"
 msgstr "          \"%s\": preferenza per l'algoritmo di compressione %s\n"
 
-#: g10/import.c:1346
+#: g10/import.c:1358
 #, c-format
 msgid "it is strongly suggested that you update your preferences and\n"
 msgstr "si consiglia vivamente di aggiornare le preferenze e\n"
 
-#: g10/import.c:1348
+#: g10/import.c:1360
 #, c-format
 msgid "re-distribute this key to avoid potential algorithm mismatch problems\n"
 msgstr ""
 "ri-distribuire questa chiave per evitare potenziali problemi di mancata "
 "corrispondenza dell'algoritmo\n"
 
-#: g10/import.c:1373
+#: g10/import.c:1385
 #, c-format
 msgid "you can update your preferences with: gpg --edit-key %s updpref save\n"
 msgstr ""
 "è possibile aggiornare le preferenze con: gpg --edit-key %s updpref save\n"
 
-#: g10/import.c:1887 g10/import.c:3001
+#: g10/import.c:1899 g10/import.c:3013
 #, c-format
 msgid "key %s: no user ID\n"
 msgstr "chiave %s: nessun ID utente\n"
 
-#: g10/import.c:1893
+#: g10/import.c:1905
 #, c-format
 msgid "key %s: %s\n"
 msgstr "chiave %s: %s\n"
 
-#: g10/import.c:1894 g10/import.c:2973
+#: g10/import.c:1906 g10/import.c:2985
 msgid "rejected by import screener"
 msgstr "rifiutato dallo screener di importazione"
 
-#: g10/import.c:1938
+#: g10/import.c:1950
 #, c-format
 msgid "key %s: PKS subkey corruption repaired\n"
 msgstr "chiave %s: danneggiamento della sottochiave PKS riparato\n"
 
-#: g10/import.c:1959
+#: g10/import.c:1971
 #, c-format
 msgid "key %s: accepted non self-signed user ID \"%s\"\n"
 msgstr "chiave %s: accettato ID utente non autofirmato \"%s\"\n"
 
-#: g10/import.c:1969 g10/import.c:2000
+#: g10/import.c:1981 g10/import.c:2012
 #, c-format
 msgid "key %s: no valid user IDs\n"
 msgstr "chiave %s: nessun ID utente valido\n"
 
-#: g10/import.c:1971
+#: g10/import.c:1983
 #, c-format
 msgid "this may be caused by a missing self-signature\n"
 msgstr "questo può essere causato da una autofirma mancante\n"
 
-#: g10/import.c:2050 g10/import.c:3387
+#: g10/import.c:2062 g10/import.c:3399
 #, c-format
 msgid "key %s: public key not found: %s\n"
 msgstr "chiave %s: chiave pubblica non trovata: %s\n"
 
-#: g10/import.c:2056
+#: g10/import.c:2068
 #, c-format
 msgid "key %s: new key - skipped\n"
 msgstr "chiave %s: nuova chiave - ignorata\n"
 
-#: g10/import.c:2068
+#: g10/import.c:2080
 #, c-format
 msgid "no writable keyring found: %s\n"
 msgstr "non è stato trovato un portachiavi scrivibile: %s\n"
 
-#: g10/import.c:2100 g10/import.c:2202 g10/import.c:3464
+#: g10/import.c:2112 g10/import.c:2214 g10/import.c:3476
 #, c-format
 msgid "error writing keyring '%s': %s\n"
 msgstr "errore durante la scrittura della chiave '%s': %s\n"
 
-#: g10/import.c:2123
+#: g10/import.c:2135
 #, c-format
 msgid "key %s: public key \"%s\" imported\n"
 msgstr "chiave %s: chiave pubblica \"%s\" importata\n"
 
-#: g10/import.c:2150
+#: g10/import.c:2162
 #, c-format
 msgid "key %s: doesn't match our copy\n"
 msgstr "chiave %s: non corrisponde alla nostra copia\n"
 
-#: g10/import.c:2218
+#: g10/import.c:2230
 #, c-format
 msgid "key %s: \"%s\" 1 new user ID\n"
 msgstr "chiave %s: \"%s\" 1 nuovo ID utente\n"
 
-#: g10/import.c:2221
+#: g10/import.c:2233
 #, c-format
 msgid "key %s: \"%s\" %d new user IDs\n"
 msgstr "chiave %s: \"%s\" %d nuovi ID utente\n"
 
-#: g10/import.c:2224
+#: g10/import.c:2236
 #, c-format
 msgid "key %s: \"%s\" 1 new signature\n"
 msgstr "chiave %s: \"%s\" 1 nuova firma\n"
 
-#: g10/import.c:2227
+#: g10/import.c:2239
 #, c-format
 msgid "key %s: \"%s\" %d new signatures\n"
 msgstr "chiave %s: \"%s\" %d nuove firme\n"
 
-#: g10/import.c:2230
+#: g10/import.c:2242
 #, c-format
 msgid "key %s: \"%s\" 1 new subkey\n"
 msgstr "chiave %s: \"%s\" 1 nuova sottochiave\n"
 
-#: g10/import.c:2233
+#: g10/import.c:2245
 #, c-format
 msgid "key %s: \"%s\" %d new subkeys\n"
 msgstr "chiave %s: \"%s\" %d nuove sottochiavi\n"
 
-#: g10/import.c:2236
+#: g10/import.c:2248
 #, c-format
 msgid "key %s: \"%s\" %d signature cleaned\n"
 msgstr "chiave %s: \"%s\" %d firma pulita\n"
 
-#: g10/import.c:2239
+#: g10/import.c:2251
 #, c-format
 msgid "key %s: \"%s\" %d signatures cleaned\n"
 msgstr "chiave %s: \"%s\" %d firme pulite\n"
 
-#: g10/import.c:2242
+#: g10/import.c:2254
 #, c-format
 msgid "key %s: \"%s\" %d user ID cleaned\n"
 msgstr "chiave %s: \"%s\" %d ID utente pulito\n"
 
-#: g10/import.c:2245
+#: g10/import.c:2257
 #, c-format
 msgid "key %s: \"%s\" %d user IDs cleaned\n"
 msgstr "chiave %s: \"%s\" %d ID utente puliti\n"
 
-#: g10/import.c:2281
+#: g10/import.c:2293
 #, c-format
 msgid "key %s: \"%s\" not changed\n"
 msgstr "chiave %s: \"%s\" non modificata\n"
 
-#: g10/import.c:2640 g10/import.c:2835
+#: g10/import.c:2652 g10/import.c:2847
 #, c-format
 msgid "key %s: secret key imported\n"
 msgstr "chiave %s: chiave segreta importata\n"
 
-#: g10/import.c:2648
+#: g10/import.c:2660
 #, c-format
 msgid "key %s: secret key already exists\n"
 msgstr "chiave %s: chiave segreta già esistente\n"
 
-#: g10/import.c:2656
+#: g10/import.c:2668
 #, c-format
 msgid "key %s: error sending to agent: %s\n"
 msgstr "chiave %s: errore durante l'invio all'agente: %s\n"
@@ -3649,198 +3667,198 @@ msgstr "chiave %s: errore durante l'invio all'agente: %s\n"
 #. * Instead, user should be suggested to run 'gpg --card-status',
 #. * then, references to a card will be automatically created
 #. * again.
-#: g10/import.c:2825
+#: g10/import.c:2837
 #, c-format
 msgid "To migrate '%s', with each smartcard, run: %s\n"
 msgstr "Per eseguire la migrazione di '%s', con ogni smart card: %s\n"
 
-#: g10/import.c:2972
+#: g10/import.c:2984
 #, c-format
 msgid "secret key %s: %s\n"
 msgstr "chiave segreta %s: %s\n"
 
-#: g10/import.c:2993 g10/import.c:3032
+#: g10/import.c:3005 g10/import.c:3044
 #, c-format
 msgid "importing secret keys not allowed\n"
 msgstr "importazione di chiavi segrete non consentita\n"
 
-#: g10/import.c:3020
+#: g10/import.c:3032
 #, c-format
 msgid "key %s: secret key with invalid cipher %d - skipped\n"
 msgstr "chiave %s: chiave segreta con crittografia non valida %d - ignorata\n"
 
-#: g10/import.c:3182 g10/pkclist.c:72 g10/revoke.c:776
+#: g10/import.c:3194 g10/pkclist.c:72 g10/revoke.c:776
 msgid "No reason specified"
 msgstr "Nessuna ragione specificata"
 
-#: g10/import.c:3183 g10/pkclist.c:74 g10/revoke.c:778
+#: g10/import.c:3195 g10/pkclist.c:74 g10/revoke.c:778
 msgid "Key is superseded"
 msgstr "Questa chiave è stata sostituita"
 
-#: g10/import.c:3184 g10/pkclist.c:76 g10/revoke.c:777
+#: g10/import.c:3196 g10/pkclist.c:76 g10/revoke.c:777
 msgid "Key has been compromised"
 msgstr "Questa chiave è stata compromessa"
 
-#: g10/import.c:3185 g10/pkclist.c:78 g10/revoke.c:779
+#: g10/import.c:3197 g10/pkclist.c:78 g10/revoke.c:779
 msgid "Key is no longer used"
 msgstr "La chiave non è più usata"
 
-#: g10/import.c:3186 g10/pkclist.c:80 g10/revoke.c:780
+#: g10/import.c:3198 g10/pkclist.c:80 g10/revoke.c:780
 msgid "User ID is no longer valid"
 msgstr "L'user ID non è più valido"
 
-#: g10/import.c:3311 g10/keylist.c:1254 g10/pkclist.c:84
+#: g10/import.c:3323 g10/keylist.c:1254 g10/pkclist.c:84
 #, c-format
 msgid "reason for revocation: "
 msgstr "ragione della revoca: "
 
-#: g10/import.c:3330 g10/keylist.c:1273 g10/pkclist.c:100
+#: g10/import.c:3342 g10/keylist.c:1273 g10/pkclist.c:100
 #, c-format
 msgid "revocation comment: "
 msgstr "commento alla revoca: "
 
-#: g10/import.c:3380
+#: g10/import.c:3392
 #, c-format
 msgid "key %s: no public key - can't apply revocation certificate\n"
 msgstr ""
 "chiave %s: nessuna chiave pubblica - impossibile applicare il certificato di "
 "revoca\n"
 
-#: g10/import.c:3411
+#: g10/import.c:3423
 #, c-format
 msgid "key %s: can't locate original keyblock: %s\n"
 msgstr "chiave %s: impossibile individuare il blocco di chiave originale: %s\n"
 
-#: g10/import.c:3418
+#: g10/import.c:3430
 #, c-format
 msgid "key %s: can't read original keyblock: %s\n"
 msgstr "chiave %s: impossibile leggere il keyblock originale: %s\n"
 
-#: g10/import.c:3438
+#: g10/import.c:3450
 #, c-format
 msgid "key %s: invalid revocation certificate: %s - rejected\n"
 msgstr "chiave %s: certificato di revoca non valido: %s - rifiutato\n"
 
-#: g10/import.c:3473
+#: g10/import.c:3485
 #, c-format
 msgid "key %s: \"%s\" revocation certificate imported\n"
 msgstr "chiave %s: certificato di revoca \"%s\" importato\n"
 
-#: g10/import.c:3559
+#: g10/import.c:3571
 #, c-format
 msgid "key %s: no user ID for signature\n"
 msgstr "chiave %s: nessun ID utente per la firma\n"
 
-#: g10/import.c:3576
+#: g10/import.c:3588
 #, c-format
 msgid "key %s: unsupported public key algorithm on user ID \"%s\"\n"
 msgstr ""
 "chiave %s: algoritmo a chiave pubblica non supportato sull'ID utente \"%s\"\n"
 
-#: g10/import.c:3578
+#: g10/import.c:3590
 #, c-format
 msgid "key %s: invalid self-signature on user ID \"%s\"\n"
 msgstr "chiave %s: autode firma non valida sull'ID utente \"%s\"\n"
 
-#: g10/import.c:3595 g10/import.c:3623 g10/import.c:3679
+#: g10/import.c:3607 g10/import.c:3635 g10/import.c:3691
 #, c-format
 msgid "key %s: unsupported public key algorithm\n"
 msgstr "chiave %s: algoritmo a chiave pubblica non supportato\n"
 
-#: g10/import.c:3596
+#: g10/import.c:3608
 #, c-format
 msgid "key %s: invalid direct key signature\n"
 msgstr "chiave %s: firma diretta della chiave non valida\n"
 
-#: g10/import.c:3610
+#: g10/import.c:3622
 #, c-format
 msgid "key %s: no subkey for key binding\n"
 msgstr "chiave %s: nessuna sottochiave per l'associazione della chiave\n"
 
-#: g10/import.c:3625
+#: g10/import.c:3637
 #, c-format
 msgid "key %s: invalid subkey binding\n"
 msgstr "chiave %s: associazione di sottochiavi non valida\n"
 
-#: g10/import.c:3644
+#: g10/import.c:3656
 #, c-format
 msgid "key %s: removed multiple subkey binding\n"
 msgstr "chiave %s: rimossa l'associazione di più sottochiavi\n"
 
-#: g10/import.c:3668
+#: g10/import.c:3680
 #, c-format
 msgid "key %s: no subkey for key revocation\n"
 msgstr "chiave %s: nessuna sottochiave per la revoca della chiave\n"
 
-#: g10/import.c:3681
+#: g10/import.c:3693
 #, c-format
 msgid "key %s: invalid subkey revocation\n"
 msgstr "chiave %s: revoca della sottochiave non valida\n"
 
-#: g10/import.c:3696
+#: g10/import.c:3708
 #, c-format
 msgid "key %s: removed multiple subkey revocation\n"
 msgstr "chiave %s: rimossa la revoca di più sottochiavi\n"
 
-#: g10/import.c:3740
+#: g10/import.c:3752
 #, c-format
 msgid "key %s: skipped user ID \"%s\"\n"
 msgstr "chiave %s: ID utente ignorato \"%s\"\n"
 
-#: g10/import.c:3767
+#: g10/import.c:3779
 #, c-format
 msgid "key %s: skipped subkey\n"
 msgstr "chiave %s: sottochiave ignorata\n"
 
-#: g10/import.c:3798
+#: g10/import.c:3810
 #, c-format
 msgid "key %s: non exportable signature (class 0x%02X) - skipped\n"
 msgstr "chiave %s: firma non esportabile (classe 0x%02X) - ignorata\n"
 
-#: g10/import.c:3809
+#: g10/import.c:3821
 #, c-format
 msgid "key %s: revocation certificate at wrong place - skipped\n"
 msgstr "chiave %s: certificato di revoca nella posizione errata - ignorato\n"
 
-#: g10/import.c:3827
+#: g10/import.c:3839
 #, c-format
 msgid "key %s: invalid revocation certificate: %s - skipped\n"
 msgstr "chiave %s: certificato di revoca non valido: %s - ignorato\n"
 
-#: g10/import.c:3841
+#: g10/import.c:3853
 #, c-format
 msgid "key %s: subkey signature in wrong place - skipped\n"
 msgstr "chiave %s: firma della sottochiave nella posizione errata - ignorata\n"
 
-#: g10/import.c:3849
+#: g10/import.c:3861
 #, c-format
 msgid "key %s: unexpected signature class (0x%02X) - skipped\n"
 msgstr "chiave %s: classe di firma imprevista (0x%02X) - ignorata\n"
 
-#: g10/import.c:4022
+#: g10/import.c:4034
 #, c-format
 msgid "key %s: duplicated user ID detected - merged\n"
 msgstr "chiave %s: rilevato ID utente duplicato - unito\n"
 
-#: g10/import.c:4087
+#: g10/import.c:4099
 #, c-format
 msgid "WARNING: key %s may be revoked: fetching revocation key %s\n"
 msgstr ""
 "AVVISO: la chiave %s può essere revocata: recupero della chiave di revoca "
 "%s\n"
 
-#: g10/import.c:4103
+#: g10/import.c:4115
 #, c-format
 msgid "WARNING: key %s may be revoked: revocation key %s not present.\n"
 msgstr ""
 "AVVISO: la chiave %s può essere revocata: chiave di revoca %s non presente.\n"
 
-#: g10/import.c:4169
+#: g10/import.c:4181
 #, c-format
 msgid "key %s: \"%s\" revocation certificate added\n"
 msgstr "chiave %s: certificato di revoca \"%s\" aggiunto\n"
 
-#: g10/import.c:4207
+#: g10/import.c:4219
 #, c-format
 msgid "key %s: direct key signature added\n"
 msgstr "chiave %s: aggiunta firma chiave diretta\n"
@@ -3914,7 +3932,7 @@ msgstr ""
 "Avviso: errori rilevati e controllati solo auto-firme, eseguire '%s' per "
 "controllare tutte le firme.\n"
 
-#: g10/keydb.c:431 g10/keydb.c:458 sm/keydb.c:191 sm/keydb.c:204
+#: g10/keydb.c:431 g10/keydb.c:458 sm/keydb.c:190 sm/keydb.c:203
 #, c-format
 msgid "error creating keybox '%s': %s\n"
 msgstr "errore durante la creazione della casella della chiave '%s': %s\n"
@@ -3924,7 +3942,7 @@ msgstr "errore durante la creazione della casella della chiave '%s': %s\n"
 msgid "error creating keyring '%s': %s\n"
 msgstr "errore durante la creazione della chiave '%s': %s\n"
 
-#: g10/keydb.c:470 sm/keydb.c:210
+#: g10/keydb.c:470 sm/keydb.c:209
 #, c-format
 msgid "keybox '%s' created\n"
 msgstr "keybox '%s' creato\n"
@@ -4004,13 +4022,13 @@ msgstr "Ignorare l'ID utente \"%s\", che non è un ID di testo.\n"
 msgid "User ID \"%s\" is revoked."
 msgstr "L'user ID \"%s\" è stato revocato."
 
-#: g10/keyedit.c:569 g10/keyedit.c:597 g10/keyedit.c:624 g10/keyedit.c:808
-#: g10/keyedit.c:1655
+#: g10/keyedit.c:569 g10/keyedit.c:597 g10/keyedit.c:624 g10/keyedit.c:809
+#: g10/keyedit.c:1656
 msgid "Are you sure you still want to sign it? (y/N) "
 msgstr "Sei ancora sicuro di volerla firmare? (s/N) "
 
-#: g10/keyedit.c:583 g10/keyedit.c:611 g10/keyedit.c:638 g10/keyedit.c:814
-#: g10/keyedit.c:1660 g10/keyedit.c:2667
+#: g10/keyedit.c:583 g10/keyedit.c:611 g10/keyedit.c:638 g10/keyedit.c:815
+#: g10/keyedit.c:1661 g10/keyedit.c:2668
 msgid "  Unable to sign.\n"
 msgstr "  Impossibile firmarla.\n"
 
@@ -4082,29 +4100,29 @@ msgstr "\"%s\" era già firmato localmente dalla chiave %s\n"
 msgid "\"%s\" was already signed by key %s\n"
 msgstr "\"%s\" è già stato firmato dalla chiave %s\n"
 
-#: g10/keyedit.c:756
+#: g10/keyedit.c:757
 msgid "Do you want to sign it again anyway? (y/N) "
 msgstr "Sei ancora sicuro di volerla firmare di nuovo? (s/N) "
 
-#: g10/keyedit.c:778
+#: g10/keyedit.c:779
 #, c-format
 msgid "Nothing to sign with key %s\n"
 msgstr "Niente da firmare con la chiave %s\n"
 
-#: g10/keyedit.c:802
+#: g10/keyedit.c:803
 msgid "This key has expired!"
 msgstr "Questa chiave è scaduta!"
 
-#: g10/keyedit.c:820
+#: g10/keyedit.c:821
 #, c-format
 msgid "This key is due to expire on %s.\n"
 msgstr "Questa chiave scadrà il %s.\n"
 
-#: g10/keyedit.c:826
+#: g10/keyedit.c:827
 msgid "Do you want your signature to expire at the same time? (Y/n) "
 msgstr "Vuoi che la tua firma scada nello stesso momento? (S/n) "
 
-#: g10/keyedit.c:867
+#: g10/keyedit.c:868
 msgid ""
 "How carefully have you verified the key you are about to sign actually "
 "belongs\n"
@@ -4114,31 +4132,31 @@ msgstr ""
 "appartiene veramente alla persona indicata sopra?\n"
 "Se non sai cosa rispondere digita \"0\".\n"
 
-#: g10/keyedit.c:872
+#: g10/keyedit.c:873
 #, c-format
 msgid "   (0) I will not answer.%s\n"
 msgstr "   (0) Preferisco non rispondere.%s\n"
 
-#: g10/keyedit.c:874
+#: g10/keyedit.c:875
 #, c-format
 msgid "   (1) I have not checked at all.%s\n"
 msgstr "   (1) Non l'ho controllata per niente.%s\n"
 
-#: g10/keyedit.c:876
+#: g10/keyedit.c:877
 #, c-format
 msgid "   (2) I have done casual checking.%s\n"
 msgstr "   (2) L'ho controllata superficialmente.%s\n"
 
-#: g10/keyedit.c:879
+#: g10/keyedit.c:880
 #, c-format
 msgid "   (3) I have done very careful checking.%s\n"
 msgstr "   (3) L'ho controllata molto attentamente.%s\n"
 
-#: g10/keyedit.c:886
+#: g10/keyedit.c:887
 msgid "Your selection? (enter '?' for more information): "
 msgstr "La tua scelta? (inserire '?' per ulteriori informazioni): "
 
-#: g10/keyedit.c:913
+#: g10/keyedit.c:914
 #, c-format
 msgid ""
 "Are you sure that you want to sign this key with your\n"
@@ -4147,233 +4165,233 @@ msgstr ""
 "Sei sicuro di voler firmare questa chiave con il tuo\n"
 "chiave \"%s\" (%s)\n"
 
-#: g10/keyedit.c:921
+#: g10/keyedit.c:922
 msgid "This will be a self-signature.\n"
 msgstr "Questa sarà un'auto-firma.\n"
 
-#: g10/keyedit.c:926
+#: g10/keyedit.c:927
 msgid "WARNING: the signature will not be marked as non-exportable.\n"
 msgstr "AVVISO: la firma non verrà contrassegnata come non esportabile.\n"
 
-#: g10/keyedit.c:933
+#: g10/keyedit.c:934
 msgid "WARNING: the signature will not be marked as non-revocable.\n"
 msgstr "AVVISO: la firma non verrà contrassegnata come non revocabile.\n"
 
-#: g10/keyedit.c:943
+#: g10/keyedit.c:944
 msgid "The signature will be marked as non-exportable.\n"
 msgstr "La firma verrà contrassegnata come non esportabile.\n"
 
-#: g10/keyedit.c:950
+#: g10/keyedit.c:951
 msgid "The signature will be marked as non-revocable.\n"
 msgstr "La firma verrà contrassegnata come non revocabile.\n"
 
-#: g10/keyedit.c:957
+#: g10/keyedit.c:958
 msgid "I have not checked this key at all.\n"
 msgstr "Non ho controllato questa chiave a tutti.\n"
 
-#: g10/keyedit.c:962
+#: g10/keyedit.c:963
 msgid "I have checked this key casually.\n"
 msgstr "Ho controllato questa chiave casualmente.\n"
 
-#: g10/keyedit.c:967
+#: g10/keyedit.c:968
 msgid "I have checked this key very carefully.\n"
 msgstr "Ho controllato questa chiave con molta attenzione.\n"
 
-#: g10/keyedit.c:979
+#: g10/keyedit.c:980
 msgid "Really sign? (y/N) "
 msgstr "Davvero firmare? (y/N) "
 
-#: g10/keyedit.c:1030 g10/keyedit.c:6154 g10/keyedit.c:6237 g10/keyedit.c:6366
-#: g10/keyedit.c:6428 g10/sign.c:466
+#: g10/keyedit.c:1031 g10/keyedit.c:6155 g10/keyedit.c:6238 g10/keyedit.c:6367
+#: g10/keyedit.c:6429 g10/sign.c:466
 #, c-format
 msgid "signing failed: %s\n"
 msgstr "firma fallita: %s\n"
 
-#: g10/keyedit.c:1117
+#: g10/keyedit.c:1118
 msgid "Key has only stub or on-card key items - no passphrase to change.\n"
 msgstr ""
 "Key ha solo elementi chiave stub o on-card - nessuna passphrase da "
 "modificare.\n"
 
-#: g10/keyedit.c:1149
+#: g10/keyedit.c:1150
 #, c-format
 msgid "key %s: error changing passphrase: %s\n"
 msgstr "chiave %s: errore durante la modifica della passphrase: %s\n"
 
-#: g10/keyedit.c:1261
+#: g10/keyedit.c:1262
 msgid "save and quit"
 msgstr "salva ed esci"
 
-#: g10/keyedit.c:1264
+#: g10/keyedit.c:1265
 msgid "show key fingerprint"
 msgstr "mostra impronta digitale chiave"
 
-#: g10/keyedit.c:1265
+#: g10/keyedit.c:1266
 msgid "show the keygrip"
 msgstr "mostrare il keygrip"
 
-#: g10/keyedit.c:1266
+#: g10/keyedit.c:1267
 msgid "list key and user IDs"
 msgstr "elenca le chiavi e gli user ID"
 
-#: g10/keyedit.c:1268
+#: g10/keyedit.c:1269
 msgid "select user ID N"
 msgstr "scegli l'user ID N"
 
-#: g10/keyedit.c:1269
+#: g10/keyedit.c:1270
 msgid "select subkey N"
 msgstr "selezionare la sottochiave N"
 
-#: g10/keyedit.c:1270
+#: g10/keyedit.c:1271
 msgid "check signatures"
 msgstr "controllare le firme"
 
-#: g10/keyedit.c:1276
+#: g10/keyedit.c:1277
 msgid "sign selected user IDs [* see below for related commands]"
 msgstr ""
 "firmare gli ID utente selezionati [* vedere di seguito per i comandi "
 "correlati]"
 
-#: g10/keyedit.c:1281
+#: g10/keyedit.c:1282
 msgid "sign selected user IDs locally"
 msgstr "firmare gli ID utente selezionati localmente"
 
-#: g10/keyedit.c:1282
+#: g10/keyedit.c:1283
 msgid "sign selected user IDs with a trust signature"
 msgstr "firmare gli ID utente selezionati con una firma di trust"
 
-#: g10/keyedit.c:1284
+#: g10/keyedit.c:1285
 msgid "sign selected user IDs with a non-revocable signature"
 msgstr "firmare gli ID utente selezionati con una firma non-revocabile"
 
-#: g10/keyedit.c:1286
+#: g10/keyedit.c:1287
 msgid "add a user ID"
 msgstr "aggiungi un user ID"
 
-#: g10/keyedit.c:1288
+#: g10/keyedit.c:1289
 msgid "add a photo ID"
 msgstr "aggiungi un ID fotografico"
 
-#: g10/keyedit.c:1289
+#: g10/keyedit.c:1290
 msgid "delete selected user IDs"
 msgstr "eliminare gli ID utente selezionati"
 
-#: g10/keyedit.c:1292
+#: g10/keyedit.c:1293
 msgid "add a subkey"
 msgstr "aggiungere una sottochiave"
 
-#: g10/keyedit.c:1295
+#: g10/keyedit.c:1296
 msgid "add a key to a smartcard"
 msgstr "aggiungere una chiave a una smart card"
 
-#: g10/keyedit.c:1297
+#: g10/keyedit.c:1298
 msgid "move a key to a smartcard"
 msgstr "spostare un tasto in una smart card"
 
-#: g10/keyedit.c:1299
+#: g10/keyedit.c:1300
 msgid "move a backup key to a smartcard"
 msgstr "spostare una chiave di backup in una smart card"
 
-#: g10/keyedit.c:1301
+#: g10/keyedit.c:1302
 msgid "delete selected subkeys"
 msgstr "eliminare le sottochiavi selezionate"
 
-#: g10/keyedit.c:1303
+#: g10/keyedit.c:1304
 msgid "add a revocation key"
 msgstr "aggiungi una chiave di revoca"
 
-#: g10/keyedit.c:1305
+#: g10/keyedit.c:1306
 msgid "delete signatures from the selected user IDs"
 msgstr "eliminare le firme dagli ID utente selezionati"
 
-#: g10/keyedit.c:1307
+#: g10/keyedit.c:1308
 msgid "change the expiration date for the key or selected subkeys"
 msgstr ""
 "modificare la data di scadenza della chiave o delle sottochiavi selezionate"
 
-#: g10/keyedit.c:1309
+#: g10/keyedit.c:1310
 msgid "flag the selected user ID as primary"
 msgstr "contrassegnare l'ID utente selezionato come primario"
 
-#: g10/keyedit.c:1312
+#: g10/keyedit.c:1313
 msgid "list preferences (expert)"
 msgstr "elenca le preferenze (per esperti)"
 
-#: g10/keyedit.c:1313
+#: g10/keyedit.c:1314
 msgid "list preferences (verbose)"
 msgstr "elenca le preferenze (prolisso)"
 
-#: g10/keyedit.c:1315
+#: g10/keyedit.c:1316
 msgid "set preference list for the selected user IDs"
 msgstr "impostare l'elenco delle preferenze per gli ID utente selezionati"
 
-#: g10/keyedit.c:1318
+#: g10/keyedit.c:1319
 msgid "set the preferred keyserver URL for the selected user IDs"
 msgstr ""
 "impostare l'URL del server delle chiavi preferito per gli ID utente "
 "selezionati"
 
-#: g10/keyedit.c:1320
+#: g10/keyedit.c:1321
 msgid "set a notation for the selected user IDs"
 msgstr "impostare una notazione per gli ID utente selezionati"
 
-#: g10/keyedit.c:1322
+#: g10/keyedit.c:1323
 msgid "change the passphrase"
 msgstr "cambia la passphrase"
 
-#: g10/keyedit.c:1325
+#: g10/keyedit.c:1326
 msgid "change the ownertrust"
 msgstr "cambia il valore di fiducia"
 
-#: g10/keyedit.c:1328
+#: g10/keyedit.c:1329
 msgid "revoke signatures on the selected user IDs"
 msgstr "revocare le firme sugli ID utente selezionati"
 
-#: g10/keyedit.c:1330
+#: g10/keyedit.c:1331
 msgid "revoke selected user IDs"
 msgstr "revocare gli ID utente selezionati"
 
-#: g10/keyedit.c:1333
+#: g10/keyedit.c:1334
 msgid "revoke key or selected subkeys"
 msgstr "revoca della chiave o delle sottochiavi selezionate"
 
-#: g10/keyedit.c:1335
+#: g10/keyedit.c:1336
 msgid "enable key"
 msgstr "chiave di abilitazione"
 
-#: g10/keyedit.c:1336
+#: g10/keyedit.c:1337
 msgid "disable key"
 msgstr "tasto di disattivazione"
 
-#: g10/keyedit.c:1338
+#: g10/keyedit.c:1339
 msgid "show selected photo IDs"
 msgstr "mostra GLI ID foto selezionati"
 
-#: g10/keyedit.c:1340
+#: g10/keyedit.c:1341
 msgid "compact unusable user IDs and remove unusable signatures from key"
 msgstr ""
 "compattare id utente inutilizzabili e rimuovere le firme inutilizzabili "
 "dalla chiave"
 
-#: g10/keyedit.c:1342
+#: g10/keyedit.c:1343
 msgid "compact unusable user IDs and remove all signatures from key"
 msgstr ""
 "compattare gli ID utente inutilizzabili e rimuovere tutte le firme dalla "
 "chiave"
 
-#: g10/keyedit.c:1463
+#: g10/keyedit.c:1464
 msgid "Secret key is available.\n"
 msgstr "È disponibile una chiave segreta.\n"
 
-#: g10/keyedit.c:1465
+#: g10/keyedit.c:1466
 msgid "Secret subkeys are available.\n"
 msgstr "Sono disponibili sottochiavi segrete.\n"
 
-#: g10/keyedit.c:1567
+#: g10/keyedit.c:1568
 msgid "Need the secret key to do this.\n"
 msgstr "Per fare questo serve la chiave segreta.\n"
 
-#: g10/keyedit.c:1590
+#: g10/keyedit.c:1591
 msgid ""
 "* The 'sign' command may be prefixed with an 'l' for local signatures "
 "(lsign),\n"
@@ -4386,291 +4404,291 @@ msgstr ""
 "revocabili\n"
 "  (nrsign), o qualsiasi altra combinazione (ltsign, tnrsign, ecc.).\n"
 
-#: g10/keyedit.c:1648 g10/keyedit.c:2667 g10/keyedit.c:3040 g10/keyedit.c:3108
+#: g10/keyedit.c:1649 g10/keyedit.c:2668 g10/keyedit.c:3041 g10/keyedit.c:3109
 msgid "Key is revoked."
 msgstr "La chiave è stata revocata."
 
-#: g10/keyedit.c:1671
+#: g10/keyedit.c:1672
 msgid "Really sign all text user IDs? (y/N) "
 msgstr "Firmare davvero tutti gli ID utente di testo? (y/N) "
 
-#: g10/keyedit.c:1675
+#: g10/keyedit.c:1676
 msgid "Really sign all user IDs? (y/N) "
 msgstr "Firmare davvero tutti gli ID utente? (y/N) "
 
-#: g10/keyedit.c:1683
+#: g10/keyedit.c:1684
 msgid "Hint: Select the user IDs to sign\n"
 msgstr "Suggerimento: seleziona gli user ID da firmare\n"
 
-#: g10/keyedit.c:1694
+#: g10/keyedit.c:1695
 #, c-format
 msgid "Unknown signature type '%s'\n"
 msgstr "Tipo di firma sconosciuto '%s'\n"
 
-#: g10/keyedit.c:1718
+#: g10/keyedit.c:1719
 #, c-format
 msgid "This command is not allowed while in %s mode.\n"
 msgstr "Questo comando non è permesso in modalità %s.\n"
 
-#: g10/keyedit.c:1740 g10/keyedit.c:1764 g10/keyedit.c:1961
+#: g10/keyedit.c:1741 g10/keyedit.c:1765 g10/keyedit.c:1962
 msgid "You must select at least one user ID.\n"
 msgstr "Devi selezionare almeno un user ID.\n"
 
-#: g10/keyedit.c:1742 g10/keyedit.c:1766 g10/keyedit.c:1923 g10/keyedit.c:1963
+#: g10/keyedit.c:1743 g10/keyedit.c:1767 g10/keyedit.c:1924 g10/keyedit.c:1964
 #, c-format
 msgid "(Use the '%s' command.)\n"
 msgstr "(Utilizzare il comando '%s'.)\n"
 
-#: g10/keyedit.c:1745
+#: g10/keyedit.c:1746
 msgid "You can't delete the last user ID!\n"
 msgstr "Non puoi cancellare l'ultimo user ID!\n"
 
-#: g10/keyedit.c:1748
+#: g10/keyedit.c:1749
 msgid "Really remove all selected user IDs? (y/N) "
 msgstr "Rimuovere davvero tutti gli ID utente selezionati? (y/N) "
 
-#: g10/keyedit.c:1749
+#: g10/keyedit.c:1750
 msgid "Really remove this user ID? (y/N) "
 msgstr "Rimuovere davvero questo ID utente? (y/N) "
 
 #. TRANSLATORS: Please take care: This is about
 #. moving the key and not about removing it.
-#: g10/keyedit.c:1806
+#: g10/keyedit.c:1807
 msgid "Really move the primary key? (y/N) "
 msgstr "Spostare davvero la chiave primaria? (y/N) "
 
-#: g10/keyedit.c:1818 g10/keyedit.c:4803
+#: g10/keyedit.c:1819 g10/keyedit.c:4804
 msgid "You must select exactly one key.\n"
 msgstr "È necessario selezionare esattamente una chiave.\n"
 
-#: g10/keyedit.c:1846
+#: g10/keyedit.c:1847
 msgid "Command expects a filename argument\n"
 msgstr "Il comando prevede un argomento filename\n"
 
-#: g10/keyedit.c:1867
+#: g10/keyedit.c:1868
 #, c-format
 msgid "Can't open '%s': %s\n"
 msgstr "Impossibile aprire '%s': %s\n"
 
-#: g10/keyedit.c:1886
+#: g10/keyedit.c:1887
 #, c-format
 msgid "Error reading backup key from '%s': %s\n"
 msgstr "Errore durante la lettura della chiave di backup da '%s': %s\n"
 
-#: g10/keyedit.c:1921
+#: g10/keyedit.c:1922
 msgid "You must select at least one key.\n"
 msgstr "Devi selezionare almeno una chiave.\n"
 
-#: g10/keyedit.c:1927
+#: g10/keyedit.c:1928
 msgid "Do you really want to delete the selected keys? (y/N) "
 msgstr "Vuoi davvero eliminare le chiavi selezionate? (y/N) "
 
-#: g10/keyedit.c:1929
+#: g10/keyedit.c:1930
 msgid "Do you really want to delete this key? (y/N) "
 msgstr "Vuoi davvero eliminare questa chiave? (y/N) "
 
-#: g10/keyedit.c:1967
+#: g10/keyedit.c:1968
 msgid "Really revoke all selected user IDs? (y/N) "
 msgstr "Revocare davvero tutti gli ID utente selezionati? (y/N) "
 
-#: g10/keyedit.c:1968
+#: g10/keyedit.c:1969
 msgid "Really revoke this user ID? (y/N) "
 msgstr "Revocare davvero questo ID utente? (y/N) "
 
-#: g10/keyedit.c:1986
+#: g10/keyedit.c:1987
 msgid "Do you really want to revoke the entire key? (y/N) "
 msgstr "Vuoi davvero revocare l'intera chiave? (y/N) "
 
-#: g10/keyedit.c:1997
+#: g10/keyedit.c:1998
 msgid "Do you really want to revoke the selected subkeys? (y/N) "
 msgstr "Si desidera davvero revocare le sottochiavi selezionate? (y/N) "
 
-#: g10/keyedit.c:1999
+#: g10/keyedit.c:2000
 msgid "Do you really want to revoke this subkey? (y/N) "
 msgstr "Si desidera davvero revocare questa sottochiave? (y/N) "
 
-#: g10/keyedit.c:2057
+#: g10/keyedit.c:2058
 msgid "Owner trust may not be set while using a user provided trust database\n"
 msgstr ""
 "L'attendibilità del proprietario potrebbe non essere impostata durante "
 "l'utilizzo di un database di trust fornito dall'utente\n"
 
-#: g10/keyedit.c:2102
+#: g10/keyedit.c:2103
 msgid "Set preference list to:\n"
 msgstr "Impostare l'elenco delle preferenze su:\n"
 
-#: g10/keyedit.c:2109
+#: g10/keyedit.c:2110
 msgid "Really update the preferences for the selected user IDs? (y/N) "
 msgstr "Aggiornare davvero le preferenze per gli ID utente selezionati? (y/N) "
 
-#: g10/keyedit.c:2111
+#: g10/keyedit.c:2112
 msgid "Really update the preferences? (y/N) "
 msgstr "Aggiornare davvero le preferenze? (y/N) "
 
-#: g10/keyedit.c:2185
+#: g10/keyedit.c:2186
 msgid "Save changes? (y/N) "
 msgstr "Salvare le modifiche? (y/N) "
 
-#: g10/keyedit.c:2189
+#: g10/keyedit.c:2190
 msgid "Quit without saving? (y/N) "
 msgstr "Uscire senza salvare? (y/N) "
 
-#: g10/keyedit.c:2216 g10/keyedit.c:2762 g10/keyedit.c:3061 g10/keyedit.c:3214
+#: g10/keyedit.c:2217 g10/keyedit.c:2763 g10/keyedit.c:3062 g10/keyedit.c:3215
 #, c-format
 msgid "Key not changed so no update needed.\n"
 msgstr "La chiave non è cambiata quindi non sono necessari aggiornamenti.\n"
 
-#: g10/keyedit.c:2448
+#: g10/keyedit.c:2449
 #, c-format
 msgid "cannot revoke the last valid user ID.\n"
 msgstr "non può revocare l'ultimo ID utente valido.\n"
 
-#: g10/keyedit.c:2475
+#: g10/keyedit.c:2476
 #, c-format
 msgid "revoking the user ID failed: %s\n"
 msgstr "revoca dell'ID utente non riuscita: %s\n"
 
-#: g10/keyedit.c:2541
+#: g10/keyedit.c:2542
 #, c-format
 msgid "setting the primary user ID failed: %s\n"
 msgstr "impostazione dell'ID utente primario non riuscita: %s\n"
 
-#: g10/keyedit.c:2572
+#: g10/keyedit.c:2573
 #, c-format
 msgid "\"%s\" is not a fingerprint\n"
 msgstr "\"%s\" non è un'impronta digitale\n"
 
-#: g10/keyedit.c:2602
+#: g10/keyedit.c:2603
 #, c-format
 msgid "\"%s\" is not the primary fingerprint\n"
 msgstr "\"%s\" non è l'impronta digitale primaria\n"
 
-#: g10/keyedit.c:2738 g10/keyedit.c:2741
+#: g10/keyedit.c:2739 g10/keyedit.c:2742
 #, c-format
 msgid "Invalid user ID '%s': %s\n"
 msgstr "ID utente '%s' non valido: %s\n"
 
-#: g10/keyedit.c:2744
+#: g10/keyedit.c:2745
 msgid "No matching user IDs."
 msgstr "Nessun ID utente corrispondente."
 
-#: g10/keyedit.c:2744
+#: g10/keyedit.c:2745
 msgid "Nothing to sign.\n"
 msgstr "Niente da firmare.\n"
 
-#: g10/keyedit.c:2937 g10/keyedit.c:6019
+#: g10/keyedit.c:2938 g10/keyedit.c:6020
 #, c-format
 msgid "Not signed by you.\n"
 msgstr "Non firmato da te.\n"
 
-#: g10/keyedit.c:2995
+#: g10/keyedit.c:2996
 #, fuzzy, c-format
 #| msgid "checking created signature failed: %s\n"
 msgid "revoking the key signature failed: %s\n"
 msgstr "controllo della firma creata fallito: %s\n"
 
-#: g10/keyedit.c:3116
+#: g10/keyedit.c:3117
 #, c-format
 msgid "'%s' is not a valid expiration time\n"
 msgstr "'%s' non è un'ora di scadenza valida\n"
 
-#: g10/keyedit.c:3159
+#: g10/keyedit.c:3160
 #, c-format
 msgid "\"%s\" is not a proper fingerprint\n"
 msgstr "\"%s\" non è un'impronta digitale corretta\n"
 
-#: g10/keyedit.c:3183
+#: g10/keyedit.c:3184
 #, c-format
 msgid "subkey \"%s\" not found\n"
 msgstr "sottochiave \"%s\" non trovata\n"
 
-#: g10/keyedit.c:3306
+#: g10/keyedit.c:3307
 msgid "AEAD: "
 msgstr "AEAD: "
 
-#: g10/keyedit.c:3323
+#: g10/keyedit.c:3324
 msgid "Digest: "
 msgstr "Digest: "
 
-#: g10/keyedit.c:3380
+#: g10/keyedit.c:3381
 msgid "Features: "
 msgstr "Caratteristiche: "
 
-#: g10/keyedit.c:3397
+#: g10/keyedit.c:3398
 msgid "Keyserver no-modify"
 msgstr "Keyserver no-modify"
 
-#: g10/keyedit.c:3412 g10/keylist.c:376
+#: g10/keyedit.c:3413 g10/keylist.c:376
 msgid "Preferred keyserver: "
 msgstr "Server delle chiavi preferito: "
 
-#: g10/keyedit.c:3420 g10/keyedit.c:3421
+#: g10/keyedit.c:3421 g10/keyedit.c:3422
 msgid "Notations: "
 msgstr "Notazioni: "
 
-#: g10/keyedit.c:3669
+#: g10/keyedit.c:3670
 msgid "There are no preferences on a PGP 2.x-style user ID.\n"
 msgstr "Non esistono preferense su un user ID in stile PGP 2.x\n"
 
-#: g10/keyedit.c:3741
+#: g10/keyedit.c:3742
 #, c-format
 msgid "The following key was revoked on %s by %s key %s\n"
 msgstr "La seguente chiave è stata revocata su %s dalla chiave %s %s\n"
 
-#: g10/keyedit.c:3765
+#: g10/keyedit.c:3766
 #, c-format
 msgid "This key may be revoked by %s key %s"
 msgstr "Questa chiave può essere revocata dalla chiave %s %s"
 
-#: g10/keyedit.c:3771
+#: g10/keyedit.c:3772
 msgid "(sensitive)"
 msgstr "(sensibile)"
 
-#: g10/keyedit.c:3813 g10/keyedit.c:3960 g10/keylist.c:264 g10/keyserver.c:538
+#: g10/keyedit.c:3814 g10/keyedit.c:3961 g10/keylist.c:264 g10/keyserver.c:361
 #, c-format
 msgid "created: %s"
 msgstr "creato: %s"
 
-#: g10/keyedit.c:3816 g10/keylist.c:2149
+#: g10/keyedit.c:3817 g10/keylist.c:2149
 #, c-format
 msgid "revoked: %s"
 msgstr "revocato: %s"
 
-#: g10/keyedit.c:3818 g10/keylist.c:2155
+#: g10/keyedit.c:3819 g10/keylist.c:2155
 #, c-format
 msgid "expired: %s"
 msgstr "scaduto: %s"
 
-#: g10/keyedit.c:3820 g10/keyedit.c:3962 g10/keylist.c:266 g10/keylist.c:2161
-#: g10/keyserver.c:544
+#: g10/keyedit.c:3821 g10/keyedit.c:3963 g10/keylist.c:266 g10/keylist.c:2161
+#: g10/keyserver.c:367
 #, c-format
 msgid "expires: %s"
 msgstr "scadenza: %s"
 
-#: g10/keyedit.c:3822
+#: g10/keyedit.c:3823
 #, c-format
 msgid "usage: %s"
 msgstr "utilizzo: %s"
 
-#: g10/keyedit.c:3830 g10/keyedit.c:3850 g10/keylist.c:269
+#: g10/keyedit.c:3831 g10/keyedit.c:3851 g10/keylist.c:269
 msgid "card-no: "
 msgstr "scheda-no: "
 
-#: g10/keyedit.c:3889
+#: g10/keyedit.c:3890
 #, c-format
 msgid "trust: %s"
 msgstr "attendibilità: %s"
 
-#: g10/keyedit.c:3893
+#: g10/keyedit.c:3894
 #, c-format
 msgid "validity: %s"
 msgstr "validità: %s"
 
-#: g10/keyedit.c:3900
+#: g10/keyedit.c:3901
 msgid "This key has been disabled"
 msgstr "Questa chiave è stata disabilitata"
 
-#: g10/keyedit.c:3918
+#: g10/keyedit.c:3919
 msgid ""
 "Please note that the shown key validity is not necessarily correct\n"
 "unless you restart the program.\n"
@@ -4679,17 +4697,17 @@ msgstr ""
 "corretta\n"
 "finchè non eseguirai di nuovo il programma.\n"
 
-#: g10/keyedit.c:3979 g10/keyedit.c:4410 g10/keyserver.c:548
-#: g10/mainproc.c:2371 g10/tofu.c:1787 g10/trust.c:437 dirmngr/ocsp.c:791
+#: g10/keyedit.c:3980 g10/keyedit.c:4411 g10/keyserver.c:371
+#: g10/mainproc.c:2380 g10/tofu.c:1787 g10/trust.c:437 dirmngr/ocsp.c:791
 msgid "revoked"
 msgstr "revocato"
 
-#: g10/keyedit.c:3981 g10/keyedit.c:4412 g10/keyserver.c:552
-#: g10/mainproc.c:2373 g10/tofu.c:1792 g10/trust.c:124
+#: g10/keyedit.c:3982 g10/keyedit.c:4413 g10/keyserver.c:375
+#: g10/mainproc.c:2382 g10/tofu.c:1792 g10/trust.c:124
 msgid "expired"
 msgstr "scaduto"
 
-#: g10/keyedit.c:4098
+#: g10/keyedit.c:4099
 #, c-format
 msgid ""
 "WARNING: no user ID has been marked as primary.  This command may\n"
@@ -4699,17 +4717,17 @@ msgstr ""
 "            potrebbe fare diventare un altro user ID il primario "
 "predefinito.\n"
 
-#: g10/keyedit.c:4150
+#: g10/keyedit.c:4151
 #, c-format
 msgid "WARNING: Your encryption subkey expires soon.\n"
 msgstr "AVVISO: la sottochiave di crittografia scade a breve.\n"
 
-#: g10/keyedit.c:4151
+#: g10/keyedit.c:4152
 #, c-format
 msgid "You may want to change its expiration date too.\n"
 msgstr "Si consiglia di modificare la data di scadenza troppo.\n"
 
-#: g10/keyedit.c:4210
+#: g10/keyedit.c:4211
 msgid ""
 "WARNING: This is a PGP2-style key.  Adding a photo ID may cause some "
 "versions\n"
@@ -4718,73 +4736,73 @@ msgstr ""
 "ATTENZIONE: Questa è una chiave in stile PGP2. Aggiungere un ID fotografico\n"
 "            può causarne il rifiuto da parte di alcune versioni di PGP.\n"
 
-#: g10/keyedit.c:4215 g10/keyedit.c:4505
+#: g10/keyedit.c:4216 g10/keyedit.c:4506
 msgid "Are you sure you still want to add it? (y/N) "
 msgstr "Sei ancora sicuro di volerlo aggiungere? (s/N) "
 
-#: g10/keyedit.c:4221
+#: g10/keyedit.c:4222
 msgid "You may not add a photo ID to a PGP2-style key.\n"
 msgstr ""
 "Non è possibile aggiungere un ID fotografico a una chiave in stile PGP2.\n"
 
-#: g10/keyedit.c:4236 g10/keygen.c:2899
+#: g10/keyedit.c:4237 g10/keygen.c:2899
 msgid "Such a user ID already exists on this key!\n"
 msgstr "Tale ID utente esiste già in questa chiave!\n"
 
-#: g10/keyedit.c:4338
+#: g10/keyedit.c:4339
 msgid "Delete this good signature? (y/N/q)"
 msgstr "Cancellare questa firma corretta? (s/N/q)"
 
-#: g10/keyedit.c:4348
+#: g10/keyedit.c:4349
 msgid "Delete this invalid signature? (y/N/q)"
 msgstr "Cancellare questa firma non valida? (s/N/q)"
 
-#: g10/keyedit.c:4352
+#: g10/keyedit.c:4353
 msgid "Delete this unknown signature? (y/N/q)"
 msgstr "Cancellare questa firma sconosciuta? (s/N/q)"
 
-#: g10/keyedit.c:4359
+#: g10/keyedit.c:4360
 msgid "Really delete this self-signature? (y/N)"
 msgstr "Cancellare davvero questa autofirma? (s/N)"
 
-#: g10/keyedit.c:4375
+#: g10/keyedit.c:4376
 #, c-format
 msgid "Deleted %d signature.\n"
 msgid_plural "Deleted %d signatures.\n"
 msgstr[0] "Firma %d eliminata.\n"
 msgstr[1] "Firme %d eliminate.\n"
 
-#: g10/keyedit.c:4379
+#: g10/keyedit.c:4380
 msgid "Nothing deleted.\n"
 msgstr "Non è stato cancellato nulla.\n"
 
-#: g10/keyedit.c:4414
+#: g10/keyedit.c:4415
 msgid "invalid"
 msgstr "non valido"
 
-#: g10/keyedit.c:4416
+#: g10/keyedit.c:4417
 #, c-format
 msgid "User ID \"%s\" compacted: %s\n"
 msgstr "ID utente \"%s\" compattato: %s\n"
 
-#: g10/keyedit.c:4422
+#: g10/keyedit.c:4423
 #, c-format
 msgid "User ID \"%s\": %d signature removed\n"
 msgid_plural "User ID \"%s\": %d signatures removed\n"
 msgstr[0] "ID utente \"%s\": firma %d rimossa\n"
 msgstr[1] "ID utente \"%s\": firme %d rimosse\n"
 
-#: g10/keyedit.c:4430
+#: g10/keyedit.c:4431
 #, c-format
 msgid "User ID \"%s\": already minimized\n"
 msgstr "ID utente \"%s\": già ridotto a icona\n"
 
-#: g10/keyedit.c:4431
+#: g10/keyedit.c:4432
 #, c-format
 msgid "User ID \"%s\": already clean\n"
 msgstr "ID utente \"%s\": già pulito\n"
 
-#: g10/keyedit.c:4500
+#: g10/keyedit.c:4501
 msgid ""
 "WARNING: This is a PGP 2.x-style key.  Adding a designated revoker may "
 "cause\n"
@@ -4794,218 +4812,218 @@ msgstr ""
 "            designato può causarne il rifiuto da parte di alcune versioni\n"
 "            di PGP.\n"
 
-#: g10/keyedit.c:4511
+#: g10/keyedit.c:4512
 msgid "You may not add a designated revoker to a PGP 2.x-style key.\n"
 msgstr ""
 "Non è possibile aggiungere un revocatore designato a una chiave in stile\n"
 "PGP 2.x.\n"
 
-#: g10/keyedit.c:4528
+#: g10/keyedit.c:4529
 msgid "Enter the user ID of the designated revoker: "
 msgstr "Inserisci l'user ID del revocatore designato: "
 
-#: g10/keyedit.c:4554
+#: g10/keyedit.c:4555
 #, c-format
 msgid "cannot appoint a PGP 2.x style key as a designated revoker\n"
 msgstr ""
 "impossibile nominare come revocatore designato una chiave in stile PGP 2.x\n"
 
-#: g10/keyedit.c:4569
+#: g10/keyedit.c:4570
 #, c-format
 msgid "you cannot appoint a key as its own designated revoker\n"
 msgstr ""
 "impossibile nominare una chiave come revocatore designato di sè stessa\n"
 
-#: g10/keyedit.c:4591
+#: g10/keyedit.c:4592
 #, c-format
 msgid "this key has already been designated as a revoker\n"
 msgstr "questa chiave è già stata designata come revocatore\n"
 
-#: g10/keyedit.c:4609
+#: g10/keyedit.c:4610
 msgid "WARNING: appointing a key as a designated revoker cannot be undone!\n"
 msgstr ""
 "ATTENZIONE: la nomina di una chiave a revocatrice designata non può essere\n"
 "annullata.\n"
 
-#: g10/keyedit.c:4615
+#: g10/keyedit.c:4616
 msgid ""
 "Are you sure you want to appoint this key as a designated revoker? (y/N) "
 msgstr ""
 "Sei sicuro di voler nominare questa chiave come revocatore designato? (y/N) "
 
-#: g10/keyedit.c:4683
+#: g10/keyedit.c:4684
 msgid ""
 "Are you sure you want to change the expiration time for multiple subkeys? (y/"
 "N) "
 msgstr ""
 "Si è sicuri di voler modificare l'ora di scadenza per più sottochiavi? (y/N) "
 
-#: g10/keyedit.c:4688
+#: g10/keyedit.c:4689
 msgid "Changing expiration time for a subkey.\n"
 msgstr "Modifica dell'ora di scadenza per una sottochiave.\n"
 
-#: g10/keyedit.c:4691
+#: g10/keyedit.c:4692
 msgid "Changing expiration time for the primary key.\n"
 msgstr "Cambio la data di scadenza per la chiave primaria.\n"
 
-#: g10/keyedit.c:4747
+#: g10/keyedit.c:4748
 #, c-format
 msgid "You can't change the expiration date of a v3 key\n"
 msgstr "Non è possibile cambiare la data di scadenza di una chiave v3\n"
 
-#: g10/keyedit.c:4807
+#: g10/keyedit.c:4808
 msgid "Changing usage of a subkey.\n"
 msgstr "Modifica dell'utilizzo di una sottochiave.\n"
 
-#: g10/keyedit.c:4810
+#: g10/keyedit.c:4811
 msgid "Changing usage of the primary key.\n"
 msgstr "Modifica dell'utilizzo della chiave primaria.\n"
 
-#: g10/keyedit.c:4928
+#: g10/keyedit.c:4929
 #, c-format
 msgid "signing subkey %s is already cross-certified\n"
 msgstr "la sottochiave di firma %s è già certificata incrociata\n"
 
-#: g10/keyedit.c:4934
+#: g10/keyedit.c:4935
 #, c-format
 msgid "subkey %s does not sign and so does not need to be cross-certified\n"
 msgstr "la sottochiave %s non firma e pertanto non deve essere certificata\n"
 
-#: g10/keyedit.c:5051
+#: g10/keyedit.c:5052
 msgid "Please select exactly one user ID.\n"
 msgstr "Devi selezionare esattamente un user ID.\n"
 
-#: g10/keyedit.c:5092 g10/keyedit.c:5206 g10/keyedit.c:5319 g10/keyedit.c:5457
+#: g10/keyedit.c:5093 g10/keyedit.c:5207 g10/keyedit.c:5320 g10/keyedit.c:5458
 #, c-format
 msgid "skipping v3 self-signature on user ID \"%s\"\n"
 msgstr "ignorare l'autode firma v3 sull'ID utente \"%s\"\n"
 
-#: g10/keyedit.c:5263
+#: g10/keyedit.c:5264
 msgid "Enter your preferred keyserver URL: "
 msgstr "Immettere l'URL del server di chiavi preferito: "
 
-#: g10/keyedit.c:5342
+#: g10/keyedit.c:5343
 msgid "Are you sure you want to replace it? (y/N) "
 msgstr "Sei sicuro di volerlo sostituire? (y/N) "
 
-#: g10/keyedit.c:5343
+#: g10/keyedit.c:5344
 msgid "Are you sure you want to delete it? (y/N) "
 msgstr "Sei sicuro di volerlo eliminare? (y/N) "
 
-#: g10/keyedit.c:5403
+#: g10/keyedit.c:5404
 msgid "Enter the notation: "
 msgstr "Immettere la notazione: "
 
-#: g10/keyedit.c:5550
+#: g10/keyedit.c:5551
 msgid "Proceed? (y/N) "
 msgstr "Procedere? (y/N) "
 
-#: g10/keyedit.c:5620
+#: g10/keyedit.c:5621
 #, c-format
 msgid "No user ID with index %d\n"
 msgstr "Nessun user ID con l'indice %d\n"
 
-#: g10/keyedit.c:5682
+#: g10/keyedit.c:5683
 #, c-format
 msgid "No user ID with hash %s\n"
 msgstr "Nessun ID utente con hash %s\n"
 
-#: g10/keyedit.c:5783
+#: g10/keyedit.c:5784
 #, c-format
 msgid "No subkey with key ID '%s'.\n"
 msgstr "Nessuna sottochiave con ID di chiave '%s'.\n"
 
-#: g10/keyedit.c:5805
+#: g10/keyedit.c:5806
 #, c-format
 msgid "No subkey with index %d\n"
 msgstr "Nessuna sottochiave con indice %d\n"
 
-#: g10/keyedit.c:5946
+#: g10/keyedit.c:5947
 #, c-format
 msgid "user ID: \"%s\"\n"
 msgstr "ID utente: \"%s\"\n"
 
-#: g10/keyedit.c:5949 g10/keyedit.c:6051 g10/keyedit.c:6099
+#: g10/keyedit.c:5950 g10/keyedit.c:6052 g10/keyedit.c:6100
 #, c-format
 msgid "signed by your key %s on %s%s%s\n"
 msgstr "firmato dalla chiave %s su %s%s%s\n"
 
-#: g10/keyedit.c:5951 g10/keyedit.c:6053 g10/keyedit.c:6101
+#: g10/keyedit.c:5952 g10/keyedit.c:6054 g10/keyedit.c:6102
 msgid " (non-exportable)"
 msgstr " (non esportabile)"
 
-#: g10/keyedit.c:5955
+#: g10/keyedit.c:5956
 #, c-format
 msgid "This signature expired on %s.\n"
 msgstr "Questa chiave è scaduta il %s.\n"
 
-#: g10/keyedit.c:5960
+#: g10/keyedit.c:5961
 msgid "Are you sure you still want to revoke it? (y/N) "
 msgstr "Sei ancora sicuro di volerlo aggiungere? (s/N) "
 
-#: g10/keyedit.c:5965
+#: g10/keyedit.c:5966
 msgid "Create a revocation certificate for this signature? (y/N) "
 msgstr "Creare un certificato di revoca per questa firma? (s/N) "
 
-#: g10/keyedit.c:6025
+#: g10/keyedit.c:6026
 #, c-format
 msgid "You have signed these user IDs on key %s:\n"
 msgstr "Sono stati firmati questi ID utente sulla chiave %s:\n"
 
-#: g10/keyedit.c:6054
+#: g10/keyedit.c:6055
 msgid " (non-revocable)"
 msgstr " (non revocabile)"
 
-#: g10/keyedit.c:6061
+#: g10/keyedit.c:6062
 #, c-format
 msgid "revoked by your key %s on %s\n"
 msgstr "revocato dalla chiave %s su %s\n"
 
-#: g10/keyedit.c:6086
+#: g10/keyedit.c:6087
 msgid "You are about to revoke these signatures:\n"
 msgstr "Stai per revocare queste firme:\n"
 
-#: g10/keyedit.c:6109
+#: g10/keyedit.c:6110
 msgid "Really create the revocation certificates? (y/N) "
 msgstr "Creare davvero i certificati di revoca? (s/N) "
 
-#: g10/keyedit.c:6142
+#: g10/keyedit.c:6143
 #, c-format
 msgid "no secret key\n"
 msgstr "manca la chiave segreta\n"
 
-#: g10/keyedit.c:6190
+#: g10/keyedit.c:6191
 #, c-format
 msgid "tried to revoke a non-user ID: %s\n"
 msgstr "tentativo di revocare un ID non utente: %s\n"
 
-#: g10/keyedit.c:6200
+#: g10/keyedit.c:6201
 #, c-format
 msgid "user ID \"%s\" is already revoked\n"
 msgstr "l'user ID \"%s\" è già stato revocato\n"
 
-#: g10/keyedit.c:6217
+#: g10/keyedit.c:6218
 #, c-format
 msgid "WARNING: a user ID signature is dated %d seconds in the future\n"
 msgstr ""
 "ATTENZIONE: una firma dell'user ID ha la data di %d secondi nel futuro\n"
 
-#: g10/keyedit.c:6313
+#: g10/keyedit.c:6314
 #, c-format
 msgid "Cannot revoke the last valid user ID.\n"
 msgstr "Impossibile revocare l'ultimo ID utente valido.\n"
 
-#: g10/keyedit.c:6351
+#: g10/keyedit.c:6352
 #, c-format
 msgid "Key %s is already revoked.\n"
 msgstr "La chiave %s è già stata revocata.\n"
 
-#: g10/keyedit.c:6413
+#: g10/keyedit.c:6414
 #, c-format
 msgid "Subkey %s is already revoked.\n"
 msgstr "La sottochiave %s è già stata revocata.\n"
 
-#: g10/keyedit.c:6510
+#: g10/keyedit.c:6511
 #, c-format
 msgid "Displaying %s photo ID of size %ld for key %s (uid %d)\n"
 msgstr ""
@@ -5724,25 +5742,25 @@ msgstr ""
 "rispettare il record PKA impostato su una chiave durante il recupero delle "
 "chiavi"
 
-#: g10/keyserver.c:550
+#: g10/keyserver.c:373
 msgid "disabled"
 msgstr "disabilitato"
 
-#: g10/keyserver.c:754
+#: g10/keyserver.c:577
 msgid "Enter number(s), N)ext, or Q)uit > "
 msgstr "Immettere numeri, N)ext o Q)uit > "
 
-#: g10/keyserver.c:860
+#: g10/keyserver.c:683
 #, c-format
 msgid "invalid keyserver protocol (us %d!=handler %d)\n"
 msgstr "protocollo keyserver non valido (noi %d!=intestazione %d!)\n"
 
-#: g10/keyserver.c:1001 g10/keyserver.c:1116
+#: g10/keyserver.c:824 g10/keyserver.c:939
 #, c-format
 msgid "\"%s\" not a key ID: skipping\n"
 msgstr "\"%s\" non è un ID chiave:\n"
 
-#: g10/keyserver.c:1438 g10/keyserver.c:1471
+#: g10/keyserver.c:1237 g10/keyserver.c:1270
 #, c-format
 msgid "refreshing %d key from %s\n"
 msgid_plural "refreshing %d keys from %s\n"
@@ -5751,52 +5769,47 @@ msgstr[1] ""
 "aggiornamento della chiavi %d da %s\n"
 "\n"
 
-#: g10/keyserver.c:1445
+#: g10/keyserver.c:1244
 #, c-format
 msgid "WARNING: unable to refresh key %s via %s: %s\n"
 msgstr "AVVISO: impossibile aggiornare la chiave %s tramite %s: %s\n"
 
-#: g10/keyserver.c:1549
+#: g10/keyserver.c:1336
 #, c-format
 msgid "key \"%s\" not found on keyserver\n"
 msgstr "chiave \"%s\" non trovata nel keyserver\n"
 
-#: g10/keyserver.c:1552
+#: g10/keyserver.c:1339
 #, c-format
 msgid "key not found on keyserver\n"
 msgstr "chiave non trovata nel keyserver\n"
 
-#: g10/keyserver.c:1743
-#, c-format
-msgid "requesting key %s from %s server %s\n"
-msgstr "richiesta della chiave %s dal server %s %s\n"
-
-#: g10/keyserver.c:1747
+#: g10/keyserver.c:1504
 #, c-format
 msgid "requesting key %s from %s\n"
 msgstr "richiesta della chiave %s da %s\n"
 
-#: g10/keyserver.c:1852 g10/keyserver.c:2031
+#: g10/keyserver.c:1619 g10/keyserver.c:1798
 #, c-format
 msgid "no keyserver known\n"
 msgstr "nessun keyserver noto\n"
 
-#: g10/keyserver.c:1867 g10/skclist.c:214 g10/skclist.c:242
+#: g10/keyserver.c:1634 g10/skclist.c:215 g10/skclist.c:243
 #, c-format
 msgid "skipped \"%s\": %s\n"
 msgstr "\"%s\" ignorato: %s\n"
 
-#: g10/keyserver.c:1871
+#: g10/keyserver.c:1638
 #, c-format
 msgid "sending key %s to %s\n"
 msgstr "invio della chiave %s a %s\n"
 
-#: g10/keyserver.c:1912
+#: g10/keyserver.c:1679
 #, c-format
 msgid "requesting key from '%s'\n"
 msgstr "richiesta di chiave da '%s'\n"
 
-#: g10/keyserver.c:1928
+#: g10/keyserver.c:1695
 #, c-format
 msgid "WARNING: unable to fetch URI %s: %s\n"
 msgstr "AVVISO: impossibile recuperare l'URI %s: %s\n"
@@ -5811,74 +5824,74 @@ msgstr "la chiave di sessione cifrata ha dimensioni strane (%d)\n"
 msgid "%s encrypted session key\n"
 msgstr "chiave di sessione cifrata con %s\n"
 
-#: g10/mainproc.c:400
+#: g10/mainproc.c:403
 #, c-format
 msgid "passphrase generated with unknown digest algorithm %d\n"
 msgstr "passphrase generata con algoritmo digest sconosciuto %d\n"
 
-#: g10/mainproc.c:481
+#: g10/mainproc.c:485
 #, c-format
 msgid "public key is %s\n"
 msgstr "la chiave pubblica è %s\n"
 
-#: g10/mainproc.c:557
+#: g10/mainproc.c:561
 #, c-format
 msgid "public key encrypted data: good DEK\n"
 msgstr "dati cifrati con la chiave pubblica: DEK corretto\n"
 
-#: g10/mainproc.c:590
+#: g10/mainproc.c:594
 #, c-format
 msgid "encrypted with %u-bit %s key, ID %s, created %s\n"
 msgstr "crittografata con la chiave %u bit %s, ID %s, creata %s\n"
 
-#: g10/mainproc.c:594 g10/pkclist.c:228
+#: g10/mainproc.c:598 g10/pkclist.c:228
 #, c-format
 msgid "      \"%s\"\n"
 msgstr "      \"%s\"\n"
 
-#: g10/mainproc.c:598
+#: g10/mainproc.c:602
 #, c-format
 msgid "encrypted with %s key, ID %s\n"
 msgstr ""
 "crittografata con chiave %s, ID %s\n"
 "\n"
 
-#: g10/mainproc.c:619
+#: g10/mainproc.c:623
 #, c-format
 msgid "public key decryption failed: %s\n"
 msgstr "decifratura della chiave pubblica fallita: %s\n"
 
-#: g10/mainproc.c:641 g10/mainproc.c:970
+#: g10/mainproc.c:645 g10/mainproc.c:976
 #, c-format
 msgid "WARNING: multiple plaintexts seen\n"
 msgstr "AVVISO: più testo in chiaro visti\n"
 
-#: g10/mainproc.c:649
+#: g10/mainproc.c:653
 #, c-format
 msgid "encrypted with %lu passphrases\n"
 msgstr "cifratto con %lu passphrase\n"
 
-#: g10/mainproc.c:651
+#: g10/mainproc.c:655
 #, c-format
 msgid "encrypted with 1 passphrase\n"
 msgstr "cifratto con 1 passphrase\n"
 
-#: g10/mainproc.c:685 g10/mainproc.c:706
+#: g10/mainproc.c:689 g10/mainproc.c:710
 #, c-format
 msgid "assuming %s encrypted data\n"
 msgstr "suppongo che i dati siano cifrati con %s\n"
 
-#: g10/mainproc.c:692
+#: g10/mainproc.c:696
 #, c-format
 msgid "IDEA cipher unavailable, optimistically attempting to use %s instead\n"
 msgstr "Cifrario IDEA non disponibile, ottimisticamente cerco di usare %s\n"
 
-#: g10/mainproc.c:779 g10/mainproc.c:817
+#: g10/mainproc.c:785 g10/mainproc.c:823
 #, c-format
 msgid "WARNING: message was not integrity protected\n"
 msgstr "ATTENZIONE: l'integrità del messaggio non era protetta\n"
 
-#: g10/mainproc.c:790
+#: g10/mainproc.c:796
 msgid ""
 "Hint: If this message was created before the year 2003 it is\n"
 "likely that this message is legitimate.  This is because back\n"
@@ -5888,179 +5901,179 @@ msgstr ""
 "probabile che questo messaggio sia legittimo.  Questo perché indietro\n"
 "quindi la protezione dell'integrità non è stata ampiamente utilizzata.\n"
 
-#: g10/mainproc.c:793
+#: g10/mainproc.c:799
 #, c-format
 msgid "Use the option '%s' to decrypt anyway.\n"
 msgstr "Utilizzare comunque l'opzione '%s' per decrittografare.\n"
 
-#: g10/mainproc.c:798
+#: g10/mainproc.c:804
 #, c-format
 msgid "decryption forced to fail!\n"
 msgstr "decrittazione costretto a fallire!\n"
 
-#: g10/mainproc.c:810
+#: g10/mainproc.c:816
 #, c-format
 msgid "decryption okay\n"
 msgstr "decifratura corretta\n"
 
-#: g10/mainproc.c:823
+#: g10/mainproc.c:829
 #, c-format
 msgid "WARNING: encrypted message has been manipulated!\n"
 msgstr "ATTENZIONE: il messaggio cifrato è stato manipolato!\n"
 
-#: g10/mainproc.c:841
+#: g10/mainproc.c:847
 #, c-format
 msgid "decryption failed: %s\n"
 msgstr "decifratura fallita: %s\n"
 
-#: g10/mainproc.c:886
+#: g10/mainproc.c:892
 #, c-format
 msgid "Note: sender requested \"for-your-eyes-only\"\n"
 msgstr "Nota: mittente richiesto \"solo per i tuoi occhi\"\n"
 
-#: g10/mainproc.c:893
+#: g10/mainproc.c:899
 #, c-format
 msgid "original file name='%.*s'\n"
 msgstr "nome del file originale='%.*s'\n"
 
-#: g10/mainproc.c:1148
+#: g10/mainproc.c:1154
 #, c-format
 msgid "standalone revocation - use \"gpg --import\" to apply\n"
 msgstr "revoca solitaria - usa \"gpg --import\" per applicarla\n"
 
-#: g10/mainproc.c:1452 g10/mainproc.c:1495
+#: g10/mainproc.c:1458 g10/mainproc.c:1501
 #, c-format
 msgid "no signature found\n"
 msgstr "nessuna firma trovata\n"
 
-#: g10/mainproc.c:1852
+#: g10/mainproc.c:1858
 #, c-format
 msgid "BAD signature from \"%s\""
 msgstr "Firma BAD da \"%s\""
 
-#: g10/mainproc.c:1854
+#: g10/mainproc.c:1860
 #, c-format
 msgid "Expired signature from \"%s\""
 msgstr "Firma scaduta da \"%s\""
 
-#: g10/mainproc.c:1856
+#: g10/mainproc.c:1862
 #, c-format
 msgid "Good signature from \"%s\""
 msgstr "Firma valida da \"%s\""
 
-#: g10/mainproc.c:1876
+#: g10/mainproc.c:1882
 #, c-format
 msgid "signature verification suppressed\n"
 msgstr "verifica della firma soppressa\n"
 
-#: g10/mainproc.c:1985
+#: g10/mainproc.c:1991
 #, c-format
 msgid "can't handle this ambiguous signature data\n"
 msgstr "impossibile gestire questi dati di firma ambigui\n"
 
-#: g10/mainproc.c:2001 g10/mainproc.c:2008
+#: g10/mainproc.c:2007 g10/mainproc.c:2014
 #, c-format
 msgid "Signature made %s\n"
 msgstr "Firma effettuata %s\n"
 
-#: g10/mainproc.c:2002 g10/mainproc.c:2009 sm/verify.c:476
+#: g10/mainproc.c:2008 g10/mainproc.c:2015 sm/verify.c:476
 #, c-format
 msgid "               using %s key %s\n"
 msgstr "               utilizzando la chiave %s %s\n"
 
-#: g10/mainproc.c:2013
+#: g10/mainproc.c:2019
 #, c-format
 msgid "Signature made %s using %s key ID %s\n"
 msgstr "Firma effettuata %s utilizzando l'ID chiave %s %s\n"
 
-#: g10/mainproc.c:2019
+#: g10/mainproc.c:2025
 #, c-format
 msgid "               issuer \"%s\"\n"
 msgstr "               autorità emittente \"%s\"\n"
 
-#: g10/mainproc.c:2070
+#: g10/mainproc.c:2076
 #, c-format
 msgid "Key available at: "
 msgstr "Chiave disponibile presso: "
 
-#: g10/mainproc.c:2111
+#: g10/mainproc.c:2118
 #, c-format
 msgid "Note: Use '%s' to make use of this info\n"
 msgstr "Nota: utilizzare '%s' per utilizzare queste informazioni\n"
 
-#: g10/mainproc.c:2325
+#: g10/mainproc.c:2334
 msgid "[uncertain]"
 msgstr "[incerta]"
 
-#: g10/mainproc.c:2363
+#: g10/mainproc.c:2372
 #, c-format
 msgid "                aka \"%s\""
 msgstr "                 aka \"%s\""
 
-#: g10/mainproc.c:2438
+#: g10/mainproc.c:2447
 #, c-format
 msgid "WARNING: This key is not suitable for signing in %s mode\n"
 msgstr "AVVISO: questa chiave non è adatta per l'accesso in modalità %s\n"
 
-#: g10/mainproc.c:2456
+#: g10/mainproc.c:2465
 #, c-format
 msgid "Signature expired %s\n"
 msgstr "Firma scaduta il %s\n"
 
-#: g10/mainproc.c:2460
+#: g10/mainproc.c:2469
 #, c-format
 msgid "Signature expires %s\n"
 msgstr "Questa firma scadrà il %s\n"
 
-#: g10/mainproc.c:2471
+#: g10/mainproc.c:2480
 #, c-format
 msgid "%s signature, digest algorithm %s%s%s\n"
 msgstr "Firma %s, algoritmo digest %s%s%s\n"
 
-#: g10/mainproc.c:2472
+#: g10/mainproc.c:2481
 msgid "binary"
 msgstr "binario"
 
-#: g10/mainproc.c:2473
+#: g10/mainproc.c:2482
 msgid "textmode"
 msgstr "modo testo"
 
-#: g10/mainproc.c:2473 g10/trust.c:123 dirmngr/ocsp.c:792
+#: g10/mainproc.c:2482 g10/trust.c:123 dirmngr/ocsp.c:792
 msgid "unknown"
 msgstr "sconosciuto"
 
-#: g10/mainproc.c:2475
+#: g10/mainproc.c:2484
 msgid ", key algorithm "
 msgstr ", algoritmo a chiave "
 
-#: g10/mainproc.c:2510
+#: g10/mainproc.c:2519
 #, c-format
 msgid "WARNING: not a detached signature; file '%s' was NOT verified!\n"
 msgstr ""
 "AVVISO: non è una firma disconnessa; il file '%s' NON è stato verificato!\n"
 
-#: g10/mainproc.c:2548
+#: g10/mainproc.c:2558
 #, c-format
 msgid "Can't check signature: %s\n"
 msgstr "Impossibile controllare la firma: %s\n"
 
-#: g10/mainproc.c:2644 g10/mainproc.c:2663 g10/mainproc.c:2787
+#: g10/mainproc.c:2654 g10/mainproc.c:2673 g10/mainproc.c:2797
 #, c-format
 msgid "not a detached signature\n"
 msgstr "non è una firma separata\n"
 
-#: g10/mainproc.c:2697
+#: g10/mainproc.c:2707
 #, c-format
 msgid ""
 "WARNING: multiple signatures detected.  Only the first will be checked.\n"
 msgstr "ATTENZIONE: trovate firme multiple. Sarà controllata solo la prima.\n"
 
-#: g10/mainproc.c:2706
+#: g10/mainproc.c:2716
 #, c-format
 msgid "standalone signature of class 0x%02x\n"
 msgstr "firma solitaria di classe 0x%02x\n"
 
-#: g10/mainproc.c:2791
+#: g10/mainproc.c:2801
 #, c-format
 msgid "old style (PGP 2.x) signature\n"
 msgstr "firma vecchio stile (PGP 2.x)\n"
@@ -6245,52 +6258,58 @@ msgstr "Notazione della firma critica sconosciuta: "
 msgid "subpacket of type %d has critical bit set\n"
 msgstr "il sottopacchetto di tipo %d ha un bit critico impostato\n"
 
-#: g10/passphrase.c:73 g10/passphrase.c:275 g10/passphrase.c:308
+#: g10/passphrase.c:73 g10/passphrase.c:283 g10/passphrase.c:316
 #, c-format
 msgid "problem with the agent: %s\n"
 msgstr "problema con l'agente: %s\n"
 
-#: g10/passphrase.c:258
+#: g10/passphrase.c:251 sm/decrypt.c:341
+#, fuzzy
+#| msgid "Please enter the new passphrase"
+msgid "Please enter the passphrase for decryption."
+msgstr "Inserisci la nuova passphrase"
+
+#: g10/passphrase.c:253
 msgid "Enter passphrase\n"
 msgstr "Inserisci la passphrase\n"
 
-#: g10/passphrase.c:269
+#: g10/passphrase.c:277
 #, c-format
 msgid "cancelled by user\n"
 msgstr "interrotto dall'utente\n"
 
-#: g10/passphrase.c:510
+#: g10/passphrase.c:523
 #, c-format
 msgid " (main key ID %s)"
 msgstr " (ID chiave principale %s)"
 
-#: g10/passphrase.c:517
+#: g10/passphrase.c:530
 msgid "Please enter the passphrase to unlock the OpenPGP secret key:"
 msgstr "Immettere la passphrase per sbloccare la chiave segreta OpenPGP:"
 
-#: g10/passphrase.c:521
+#: g10/passphrase.c:534
 msgid "Please enter the passphrase to import the OpenPGP secret key:"
 msgstr "Immettere la passphrase per importare la chiave segreta OpenPGP:"
 
-#: g10/passphrase.c:526
+#: g10/passphrase.c:539
 msgid "Please enter the passphrase to export the OpenPGP secret subkey:"
 msgstr "Immettere la passphrase per esportare la sottochiave segreta OpenPGP:"
 
-#: g10/passphrase.c:529
+#: g10/passphrase.c:542
 msgid "Please enter the passphrase to export the OpenPGP secret key:"
 msgstr "Immettere la passphrase per esportare la chiave segreta OpenPGP:"
 
-#: g10/passphrase.c:534
+#: g10/passphrase.c:547
 msgid "Do you really want to permanently delete the OpenPGP secret subkey key:"
 msgstr ""
 "Si desidera eliminare definitivamente la chiave della sottochiave segreta "
 "OpenPGP:"
 
-#: g10/passphrase.c:537
+#: g10/passphrase.c:550
 msgid "Do you really want to permanently delete the OpenPGP secret key:"
 msgstr "Si desidera eliminare definitivamente la chiave segreta OpenPGP:"
 
-#: g10/passphrase.c:546
+#: g10/passphrase.c:559
 #, c-format
 msgid ""
 "%s\n"
@@ -6349,7 +6368,7 @@ msgstr "'%s' non è un file JPEG\n"
 msgid "Is this photo correct (y/N/q)? "
 msgstr "Questa foto è giusta? (s/N/q) "
 
-#: g10/photoid.c:395
+#: g10/photoid.c:399
 #, c-format
 msgid "unable to display photo ID!\n"
 msgstr "impossibile mostrare l'ID fotografico\n"
@@ -6705,7 +6724,7 @@ msgstr "impossibile aprire i dati firmati '%s'\n"
 msgid "can't open signed data fd=%d: %s\n"
 msgstr "impossibile aprire i dati firmati fd=%d: %s\n"
 
-#: g10/pubkey-enc.c:98 g10/pubkey-enc.c:139 sm/decrypt.c:493
+#: g10/pubkey-enc.c:98 g10/pubkey-enc.c:139 sm/decrypt.c:969
 #, c-format
 msgid "key %s is not suitable for decryption in %s mode\n"
 msgstr "la chiave %s non è adatta per la decrittografia in modalità %s\n"
@@ -6720,29 +6739,29 @@ msgstr "destinatario anonimo; tentativo di chiave segreta %s...\n"
 msgid "okay, we are the anonymous recipient.\n"
 msgstr "bene, siamo il destinatario anonimo.\n"
 
-#: g10/pubkey-enc.c:321
+#: g10/pubkey-enc.c:311
 #, c-format
 msgid "old encoding of the DEK is not supported\n"
 msgstr "la vecchia codifica del DEK non è gestita\n"
 
-#: g10/pubkey-enc.c:349
+#: g10/pubkey-enc.c:339
 #, c-format
 msgid "cipher algorithm %d%s is unknown or disabled\n"
 msgstr "l'algoritmo di cifratura %d%s è sconosciuto o disattivato\n"
 
-#: g10/pubkey-enc.c:393
+#: g10/pubkey-enc.c:383
 #, c-format
 msgid "WARNING: cipher algorithm %s not found in recipient preferences\n"
 msgstr ""
 "AVVISO: algoritmo di crittografia %s non trovato nelle preferenze del "
 "destinatario\n"
 
-#: g10/pubkey-enc.c:426
+#: g10/pubkey-enc.c:416
 #, c-format
 msgid "Note: secret key %s expired at %s\n"
 msgstr "Nota: chiave segreta %s scaduta alle %s\n"
 
-#: g10/pubkey-enc.c:433
+#: g10/pubkey-enc.c:423
 #, c-format
 msgid "Note: key has been revoked"
 msgstr "Nota: la chiave è stata revocata"
@@ -7067,41 +7086,41 @@ msgstr ""
 msgid "%s/%s signature from: \"%s\"\n"
 msgstr "Firma %s/%s da: \"%s\"\n"
 
-#: g10/sign.c:1046
+#: g10/sign.c:1045
 #, c-format
 msgid ""
 "WARNING: forcing digest algorithm %s (%d) violates recipient preferences\n"
 msgstr ""
 "AVVISO: l'algoritmo digest %s (%d) viola le preferenze dei destinatari\n"
 
-#: g10/sign.c:1188
+#: g10/sign.c:1187
 #, c-format
 msgid "signing:"
 msgstr "firma:"
 
-#: g10/sign.c:1465
+#: g10/sign.c:1464
 #, c-format
 msgid "%s encryption will be used\n"
 msgstr "sarà usato il cifrario %s\n"
 
-#: g10/skclist.c:173 g10/skclist.c:254
+#: g10/skclist.c:174 g10/skclist.c:255
 #, c-format
 msgid "key is not flagged as insecure - can't use it with the faked RNG!\n"
 msgstr ""
 "la chiave non è indicata come insicura - impossibile usarla con il RNG "
 "finto!\n"
 
-#: g10/skclist.c:205
+#: g10/skclist.c:206
 #, c-format
 msgid "skipped \"%s\": duplicated\n"
 msgstr "\"%s\" ignorato: duplicato\n"
 
-#: g10/skclist.c:224
+#: g10/skclist.c:225
 #, c-format
 msgid "skipped: secret key already present\n"
 msgstr "saltata: chiave pubblica già presente\n"
 
-#: g10/skclist.c:243
+#: g10/skclist.c:244
 msgid "this is a PGP generated Elgamal key which is not secure for signatures!"
 msgstr ""
 "si tratta di una chiave Elgamal generata da PGP che non è sicura per le "
@@ -7157,7 +7176,7 @@ msgstr "errore di lettura in '%s': %s\n"
 msgid "trustdb: sync failed: %s\n"
 msgstr "trustdb: sync fallita: %s\n"
 
-#: g10/tdbio.c:144 sm/keydb.c:336
+#: g10/tdbio.c:144 sm/keydb.c:335
 #, c-format
 msgid "can't create lock for '%s'\n"
 msgstr "impossibile creare il blocco per '%s'\n"
@@ -7909,39 +7928,49 @@ msgstr ""
 #. TRANSLATORS: Put a \x1f right before a colon.  This can be
 #. * used by pinentry to nicely align the names and values.  Keep
 #. * the %s at the start and end of the string.
-#: scd/app-p15.c:3369 scd/app-openpgp.c:2153
+#: scd/app-p15.c:4955 scd/app-openpgp.c:2151
 #, c-format
 msgid "%sNumber\1f: %s%%0AHolder\1f: %s%s"
 msgstr "%sNumero: %s%%0ATitolare: %s%s"
 
 #. TRANSLATORS: This is the number of remaining attempts to
 #. * enter a PIN.  Use %%0A (double-percent,0A) for a linefeed.
-#: scd/app-p15.c:3388 scd/app-openpgp.c:2169
+#: scd/app-p15.c:4974 scd/app-openpgp.c:2167
 #, c-format
 msgid "Remaining attempts: %d"
 msgstr "Tentativi rimanenti: %d"
 
-#: scd/app-p15.c:3459 scd/app-nks.c:1110
+#: scd/app-p15.c:5053 scd/app-nks.c:1113
 msgid "||Please enter the PIN for the key to create qualified signatures."
 msgstr "||Immettere il PIN per la chiave per creare firme qualificate."
 
-#: scd/app-p15.c:3462 scd/app-nks.c:1092
+#. TRANSLATORS: Do not translate the "|A|" prefix but keep it at
+#. the start of the string.  Use %0A (single percent) for a linefeed.
+#: scd/app-p15.c:5056 scd/app-openpgp.c:2461
+msgid "|A|Please enter the Admin PIN"
+msgstr "|A|Inserisci il PIN di amministratore"
+
+#: scd/app-p15.c:5058 scd/app-nks.c:1103
+msgid "|P|Please enter the PIN Unblocking Code (PUK) for the standard keys."
+msgstr "|P|Inserisci il codice di sblocco del PIN (PUK) per i tasti standard."
+
+#: scd/app-p15.c:5061 scd/app-nks.c:1095
 msgid "||Please enter the PIN for the standard keys."
 msgstr "||Si prega di inserire il PIN per le chiavi standard."
 
-#: scd/app-nks.c:709 scd/app-openpgp.c:3664
+#: scd/app-nks.c:709 scd/app-openpgp.c:3663
 #, c-format
 msgid "RSA modulus missing or not of size %d bits\n"
 msgstr "Modulo RSA mancante o non di dimensione %d bit\n"
 
-#: scd/app-nks.c:717 scd/app-openpgp.c:3676
+#: scd/app-nks.c:717 scd/app-openpgp.c:3675
 #, c-format
 msgid "RSA public exponent missing or larger than %d bits\n"
 msgstr "Esponente pubblico RSA mancante o superiore a %d bit\n"
 
-#: scd/app-nks.c:797 scd/app-openpgp.c:2326 scd/app-openpgp.c:2345
-#: scd/app-openpgp.c:2512 scd/app-openpgp.c:2530 scd/app-openpgp.c:2827
-#: scd/app-openpgp.c:2874 scd/app-openpgp.c:2989 scd/app-dinsig.c:303
+#: scd/app-nks.c:797 scd/app-openpgp.c:2324 scd/app-openpgp.c:2343
+#: scd/app-openpgp.c:2510 scd/app-openpgp.c:2528 scd/app-openpgp.c:2826
+#: scd/app-openpgp.c:2873 scd/app-openpgp.c:2988 scd/app-dinsig.c:302
 #, c-format
 msgid "PIN callback returned error: %s\n"
 msgstr "Errore di richiamata PIN: %s\n"
@@ -7951,24 +7980,20 @@ msgstr "Errore di richiamata PIN: %s\n"
 msgid "the NullPIN has not yet been changed\n"
 msgstr "il NullPIN non è ancora stato modificato\n"
 
-#: scd/app-nks.c:1091
+#: scd/app-nks.c:1094
 msgid "|N|Please enter a new PIN for the standard keys."
 msgstr "|N|Immettere un nuovo PIN per le chiavi standard."
 
-#: scd/app-nks.c:1098
+#: scd/app-nks.c:1101
 msgid "|NP|Please enter a new PIN Unblocking Code (PUK) for the standard keys."
 msgstr ""
 "|N|Inserisci un nuovo codice di sblocco del PIN (PUK) per i tasti standard."
 
-#: scd/app-nks.c:1100
-msgid "|P|Please enter the PIN Unblocking Code (PUK) for the standard keys."
-msgstr "|P|Inserisci il codice di sblocco del PIN (PUK) per i tasti standard."
-
-#: scd/app-nks.c:1108
+#: scd/app-nks.c:1111
 msgid "|N|Please enter a new PIN for the key to create qualified signatures."
 msgstr "|N|Immettere un nuovo PIN per la chiave per creare firme qualificate."
 
-#: scd/app-nks.c:1118
+#: scd/app-nks.c:1121
 msgid ""
 "|NP|Please enter a new PIN Unblocking Code (PUK) for the key to create "
 "qualified signatures."
@@ -7976,7 +8001,7 @@ msgstr ""
 "|NP|Inserisci un nuovo codice di sblocco PIN (PUK) per la chiave per creare "
 "firme qualificate."
 
-#: scd/app-nks.c:1120
+#: scd/app-nks.c:1123
 msgid ""
 "|P|Please enter the PIN Unblocking Code (PUK) for the key to create "
 "qualified signatures."
@@ -7984,47 +8009,47 @@ msgstr ""
 "|P|Inserisci il codice di sblocco del PIN (PUK) per la chiave per creare "
 "firme qualificate."
 
-#: scd/app-nks.c:1227 scd/app-openpgp.c:2908 scd/app-dinsig.c:531
+#: scd/app-nks.c:1230 scd/app-openpgp.c:2907 scd/app-dinsig.c:532
 #, c-format
 msgid "error getting new PIN: %s\n"
 msgstr "errore durante il recupero del nuovo PIN: %s\n"
 
-#: scd/app-openpgp.c:860
+#: scd/app-openpgp.c:859
 #, c-format
 msgid "failed to store the fingerprint: %s\n"
 msgstr "impossibile memorizzare l'impronta digitale: %s\n"
 
-#: scd/app-openpgp.c:873
+#: scd/app-openpgp.c:872
 #, c-format
 msgid "failed to store the creation date: %s\n"
 msgstr "impossibile memorizzare la data di creazione: %s\n"
 
-#: scd/app-openpgp.c:1272 scd/app-openpgp.c:2855 scd/app-openpgp.c:5020
+#: scd/app-openpgp.c:1268 scd/app-openpgp.c:2854 scd/app-openpgp.c:5025
 #, c-format
 msgid "error retrieving CHV status from card\n"
 msgstr "errore durante il recupero dello stato CHV dalla scheda\n"
 
-#: scd/app-openpgp.c:1430
+#: scd/app-openpgp.c:1426
 #, c-format
 msgid "response does not contain the RSA modulus\n"
 msgstr "risposta non contiene il modulo RSA\n"
 
-#: scd/app-openpgp.c:1437
+#: scd/app-openpgp.c:1433
 #, c-format
 msgid "response does not contain the RSA public exponent\n"
 msgstr "risposta non contiene l'esponente pubblico RSA\n"
 
-#: scd/app-openpgp.c:1547
+#: scd/app-openpgp.c:1543
 #, c-format
 msgid "response does not contain the EC public key\n"
 msgstr "risposta non contiene la chiave pubblica CE\n"
 
-#: scd/app-openpgp.c:1665 scd/app-openpgp.c:4284
+#: scd/app-openpgp.c:1661 scd/app-openpgp.c:4283
 #, c-format
 msgid "response does not contain the public key data\n"
 msgstr "risposta non contiene i dati della chiave pubblica\n"
 
-#: scd/app-openpgp.c:1772
+#: scd/app-openpgp.c:1768
 #, c-format
 msgid "reading public key failed: %s\n"
 msgstr "lettura della chiave pubblica non riuscita: %s\n"
@@ -8032,44 +8057,44 @@ msgstr "lettura della chiave pubblica non riuscita: %s\n"
 #. TRANSLATORS: Put a \x1f right before a colon.  This can be
 #. * used by pinentry to nicely align the names and values.  Keep
 #. * the %s at the start and end of the string.
-#: scd/app-openpgp.c:2140
+#: scd/app-openpgp.c:2138
 #, c-format
 msgid "%sNumber\1f: %s%%0AHolder\1f: %s%%0ACounter\1f: %lu%s"
 msgstr "%sNumero: %s%%0AHolder: %s%%0ACounter: %lu%s"
 
-#: scd/app-openpgp.c:2280
+#: scd/app-openpgp.c:2278
 #, c-format
 msgid "using default PIN as %s\n"
 msgstr "utilizzando il PIN predefinito come %s\n"
 
-#: scd/app-openpgp.c:2287
+#: scd/app-openpgp.c:2285
 #, c-format
 msgid "failed to use default PIN as %s: %s - disabling further default use\n"
 msgstr ""
 "impossibile utilizzare il PIN predefinito come %s: %s - disabilitazione "
 "dell'ulteriore utilizzo predefinito\n"
 
-#: scd/app-openpgp.c:2300
+#: scd/app-openpgp.c:2298
 msgid "||Please unlock the card"
 msgstr "||Si prega di sbloccare la carta"
 
-#: scd/app-openpgp.c:2352 scd/app-openpgp.c:2537 scd/app-openpgp.c:2834
+#: scd/app-openpgp.c:2350 scd/app-openpgp.c:2535 scd/app-openpgp.c:2833
 #, c-format
 msgid "PIN for CHV%d is too short; minimum length is %d\n"
 msgstr "Il PIN per CHV%d è troppo breve; la lunghezza minima è %d\n"
 
-#: scd/app-openpgp.c:2366 scd/app-openpgp.c:2413 scd/app-openpgp.c:2551
-#: scd/app-openpgp.c:4642
+#: scd/app-openpgp.c:2364 scd/app-openpgp.c:2411 scd/app-openpgp.c:2549
+#: scd/app-openpgp.c:4641
 #, c-format
 msgid "verify CHV%d failed: %s\n"
 msgstr "verifica CHV%d non riuscita: %s\n"
 
-#: scd/app-openpgp.c:2449 scd/app-openpgp.c:5029
+#: scd/app-openpgp.c:2447 scd/app-openpgp.c:5034
 #, c-format
 msgid "card is permanently locked!\n"
 msgstr "carta è bloccata in modo permanente!\n"
 
-#: scd/app-openpgp.c:2453
+#: scd/app-openpgp.c:2451
 #, c-format
 msgid "%d Admin PIN attempt remaining before card is permanently locked\n"
 msgid_plural ""
@@ -8081,26 +8106,20 @@ msgstr[1] ""
 "%d tentativi di PIN di amministrazione rimanenti prima che la schede vengano "
 "bloccate in modo permanente\n"
 
-#. TRANSLATORS: Do not translate the "|A|" prefix but keep it at
-#. the start of the string.  Use %0A (single percent) for a linefeed.
-#: scd/app-openpgp.c:2463
-msgid "|A|Please enter the Admin PIN"
-msgstr "|A|Inserisci il PIN di amministratore"
-
-#: scd/app-openpgp.c:2484
+#: scd/app-openpgp.c:2482
 #, c-format
 msgid "access to admin commands is not configured\n"
 msgstr "l'accesso ai comandi di amministrazione non è configurato\n"
 
-#: scd/app-openpgp.c:2821
+#: scd/app-openpgp.c:2820
 msgid "||Please enter the PIN"
 msgstr "||Inserisci il PIN"
 
-#: scd/app-openpgp.c:2870
+#: scd/app-openpgp.c:2869
 msgid "||Please enter the Reset Code for the card"
 msgstr "||Inserisci il Codice reset per la carta"
 
-#: scd/app-openpgp.c:2880 scd/app-openpgp.c:2941
+#: scd/app-openpgp.c:2879 scd/app-openpgp.c:2940
 #, c-format
 msgid "Reset Code is too short; minimum length is %d\n"
 msgstr "Il codice di reimpostazione è troppo breve; la lunghezza minima è %d\n"
@@ -8108,87 +8127,87 @@ msgstr "Il codice di reimpostazione è troppo breve; la lunghezza minima è %d\n
 #. TRANSLATORS: Do not translate the "|*|" prefixes but
 #. keep it at the start of the string.  We need this elsewhere
 #. to get some infos on the string.
-#: scd/app-openpgp.c:2903
+#: scd/app-openpgp.c:2902
 msgid "|RN|New Reset Code"
 msgstr "|RN|Nuovo codice di ripristino"
 
-#: scd/app-openpgp.c:2904
+#: scd/app-openpgp.c:2903
 msgid "|AN|New Admin PIN"
 msgstr "|AN|Nuovo PIN di amministrazione"
 
-#: scd/app-openpgp.c:2904
+#: scd/app-openpgp.c:2903
 msgid "|N|New PIN"
 msgstr "|N|Nuovo PIN"
 
-#: scd/app-openpgp.c:2985
+#: scd/app-openpgp.c:2984
 msgid "||Please enter the Admin PIN and New Admin PIN"
 msgstr "||Inserisci il PIN di amministratore e il nuovo PIN di amministrazione"
 
-#: scd/app-openpgp.c:2986
+#: scd/app-openpgp.c:2985
 msgid "||Please enter the PIN and New PIN"
 msgstr "||Inserisci il PIN e il nuovo PIN"
 
-#: scd/app-openpgp.c:3048 scd/app-openpgp.c:4344
+#: scd/app-openpgp.c:3047 scd/app-openpgp.c:4343
 #, c-format
 msgid "error reading application data\n"
 msgstr "errore durante la lettura dei dati dell'applicazione\n"
 
-#: scd/app-openpgp.c:3054 scd/app-openpgp.c:4351
+#: scd/app-openpgp.c:3053 scd/app-openpgp.c:4350
 #, c-format
 msgid "error reading fingerprint DO\n"
 msgstr "errore durante la lettura dell'impronta digitale DO\n"
 
-#: scd/app-openpgp.c:3064
+#: scd/app-openpgp.c:3063
 #, c-format
 msgid "key already exists\n"
 msgstr "chiave già esistente\n"
 
-#: scd/app-openpgp.c:3068
+#: scd/app-openpgp.c:3067
 #, c-format
 msgid "existing key will be replaced\n"
 msgstr "chiave esistente verrà sostituita\n"
 
-#: scd/app-openpgp.c:3070
+#: scd/app-openpgp.c:3069
 #, c-format
 msgid "generating new key\n"
 msgstr "generazione di una nuova chiave\n"
 
-#: scd/app-openpgp.c:3072
+#: scd/app-openpgp.c:3071
 #, c-format
 msgid "writing new key\n"
 msgstr "genera una nuova coppia di chiavi\n"
 
-#: scd/app-openpgp.c:3645 scd/app-openpgp.c:3997
+#: scd/app-openpgp.c:3644 scd/app-openpgp.c:3996
 #, c-format
 msgid "creation timestamp missing\n"
 msgstr "timestamp di creazione mancante\n"
 
-#: scd/app-openpgp.c:3686 scd/app-openpgp.c:3694
+#: scd/app-openpgp.c:3685 scd/app-openpgp.c:3693
 #, c-format
 msgid "RSA prime %s missing or not of size %d bits\n"
 msgstr "RSA primo %s mancante o non di dimensione %d bit\n"
 
-#: scd/app-openpgp.c:3827 scd/app-openpgp.c:4104
+#: scd/app-openpgp.c:3826 scd/app-openpgp.c:4103
 #, c-format
 msgid "failed to store the key: %s\n"
 msgstr "impossibile archiviare la chiave: %s\n"
 
-#: scd/app-openpgp.c:3991
+#: scd/app-openpgp.c:3990
 #, c-format
 msgid "unsupported curve\n"
 msgstr "curva non supportata\n"
 
-#: scd/app-openpgp.c:4261
+#: scd/app-openpgp.c:4260
 #, c-format
 msgid "please wait while key is being generated ...\n"
 msgstr "si prega di attendere mentre la chiave viene generata …\n"
 
-#: scd/app-openpgp.c:4269
+#: scd/app-openpgp.c:4268
 #, c-format
 msgid "generating key failed\n"
 msgstr "generazione della chiave non riuscita\n"
 
-#: scd/app-openpgp.c:4275
+#: scd/app-openpgp.c:4274
 #, c-format
 msgid "key generation completed (%d second)\n"
 msgid_plural "key generation completed (%d seconds)\n"
@@ -8198,27 +8217,27 @@ msgstr[1] ""
 "\n"
 "\n"
 
-#: scd/app-openpgp.c:4309
+#: scd/app-openpgp.c:4308
 #, c-format
 msgid "invalid structure of OpenPGP card (DO 0x93)\n"
 msgstr "struttura non valida della scheda OpenPGP (DO 0x93)\n"
 
-#: scd/app-openpgp.c:4359
+#: scd/app-openpgp.c:4358
 #, c-format
 msgid "fingerprint on card does not match requested one\n"
 msgstr "impronta digitale sulla carta non corrisponde a quello richiesto\n"
 
-#: scd/app-openpgp.c:4558
+#: scd/app-openpgp.c:4557
 #, c-format
 msgid "card does not support digest algorithm %s\n"
 msgstr "scheda non supporta l'algoritmo digest %s\n"
 
-#: scd/app-openpgp.c:4616
+#: scd/app-openpgp.c:4615
 #, c-format
 msgid "signatures created so far: %lu\n"
 msgstr "firme create finora: %lu\n"
 
-#: scd/app-openpgp.c:5034
+#: scd/app-openpgp.c:5039
 #, c-format
 msgid ""
 "verification of Admin PIN is currently prohibited through this command\n"
@@ -8226,19 +8245,19 @@ msgstr ""
 "la verifica del PIN di amministrazione è attualmente vietata tramite questo "
 "comando\n"
 
-#: scd/app-openpgp.c:5346 scd/app-openpgp.c:5357
+#: scd/app-openpgp.c:5351 scd/app-openpgp.c:5362
 #, c-format
 msgid "can't access %s - invalid OpenPGP card?\n"
 msgstr "impossibile accedere a %s - scheda OpenPGP non valida?\n"
 
-#: scd/app-dinsig.c:299
+#: scd/app-dinsig.c:298
 msgid "||Please enter your PIN at the reader's pinpad"
 msgstr "||Inserisci il tuo PIN sul pinpad del lettore"
 
 #. TRANSLATORS: Do not translate the "|*|" prefixes but
 #. keep it at the start of the string.  We need this elsewhere
 #. to get some infos on the string.
-#: scd/app-dinsig.c:528
+#: scd/app-dinsig.c:529
 msgid "|N|Initial New PIN"
 msgstr "|N|Nuovo PIN iniziale"
 
@@ -8246,7 +8265,7 @@ msgstr "|N|Nuovo PIN iniziale"
 msgid "run in multi server mode (foreground)"
 msgstr "eseguire in modalità multi server (in primo piano)"
 
-#: scd/scdaemon.c:129 sm/gpgsm.c:345 dirmngr/dirmngr.c:187
+#: scd/scdaemon.c:129 sm/gpgsm.c:348 dirmngr/dirmngr.c:188
 msgid "|LEVEL|set the debugging level to LEVEL"
 msgstr "|LEVEL| impostare il livello di debug su LEVEL"
 
@@ -8266,31 +8285,31 @@ msgstr "|NAME|utilizzare NAME come driver ct-API"
 msgid "|NAME|use NAME as PC/SC driver"
 msgstr "|NAME|utilizzare NAME come driver PC/SC"
 
-#: scd/scdaemon.c:145
+#: scd/scdaemon.c:146
 msgid "do not use the internal CCID driver"
 msgstr "non utilizzare il driver CCID interno"
 
-#: scd/scdaemon.c:151
+#: scd/scdaemon.c:152
 msgid "|N|disconnect the card after N seconds of inactivity"
 msgstr "|N|scollegare la scheda dopo N secondi di inattività"
 
-#: scd/scdaemon.c:154
+#: scd/scdaemon.c:155
 msgid "do not use a reader's pinpad"
 msgstr "non utilizzare il pinpad di un lettore"
 
-#: scd/scdaemon.c:159
+#: scd/scdaemon.c:160
 msgid "deny the use of admin card commands"
 msgstr "negare l'uso dei comandi della scheda di amministrazione"
 
-#: scd/scdaemon.c:162
+#: scd/scdaemon.c:163
 msgid "use variable length input for pinpad"
 msgstr "utilizzare l'input a lunghezza variabile per il pinpad"
 
-#: scd/scdaemon.c:311
+#: scd/scdaemon.c:312
 msgid "Usage: @SCDAEMON@ [options] (-h for help)"
 msgstr "Utilizzo: @SCDAEMON@ [opzioni] (-h per assistenza)"
 
-#: scd/scdaemon.c:313
+#: scd/scdaemon.c:314
 msgid ""
 "Syntax: scdaemon [options] [command [args]]\n"
 "Smartcard daemon for @GNUPG@\n"
@@ -8298,19 +8317,19 @@ msgstr ""
 "Sintassi: scdaemon [opzioni] [comando [args]]\n"
 "Daemon smartcard per @GNUPG@\n"
 
-#: scd/scdaemon.c:806
+#: scd/scdaemon.c:808
 #, c-format
 msgid "please use the option '--daemon' to run the program in the background\n"
 msgstr ""
 "si prega di utilizzare l'opzione '--daemon' per eseguire il programma in "
 "background\n"
 
-#: scd/scdaemon.c:1183 dirmngr/dirmngr.c:2082
+#: scd/scdaemon.c:1185 dirmngr/dirmngr.c:2119
 #, c-format
 msgid "handler for fd %d started\n"
 msgstr "gestore per fd %d avviato\n"
 
-#: scd/scdaemon.c:1195 dirmngr/dirmngr.c:2090
+#: scd/scdaemon.c:1197 dirmngr/dirmngr.c:2127
 #, c-format
 msgid "handler for fd %d terminated\n"
 msgstr "gestore per fd %d terminato\n"
@@ -8357,7 +8376,7 @@ msgstr "Nota: i criteri di certificato non critici non sono consentiti"
 msgid "certificate policy not allowed"
 msgstr "criteri certificato non consentiti"
 
-#: sm/certchain.c:595 sm/keydb.c:1106 sm/keydb.c:1192
+#: sm/certchain.c:595 sm/keydb.c:1084 sm/keydb.c:1171
 #, c-format
 msgid "failed to get the fingerprint\n"
 msgstr "non è riuscito a ottenere l'impronta digitale\n"
@@ -8392,8 +8411,8 @@ msgstr "numero di certificati corrispondenti: %d\n"
 msgid "dirmngr cache-only key lookup failed: %s\n"
 msgstr "ricerca chiave solo cache dirmngr non riuscita: %s\n"
 
-#: sm/certchain.c:1041 sm/certchain.c:1554 sm/certchain.c:2192 sm/decrypt.c:265
-#: sm/encrypt.c:344 sm/import.c:415 sm/keydb.c:1113 sm/keydb.c:1199
+#: sm/certchain.c:1041 sm/certchain.c:1554 sm/certchain.c:2192 sm/decrypt.c:728
+#: sm/encrypt.c:345 sm/import.c:415 sm/keydb.c:1091 sm/keydb.c:1178
 #: sm/sign.c:337 sm/verify.c:118
 #, c-format
 msgid "failed to allocate keyDB handle\n"
@@ -8588,13 +8607,13 @@ msgid "a %u bit hash is not valid for a %u bit %s key\n"
 msgstr "un hash di bit %u non è valido per una chiave %u bit %s\n"
 
 #: sm/certcheck.c:238 sm/certcheck.c:262 dirmngr/crlcache.c:1542
-#: dirmngr/crlcache.c:1566 dirmngr/dirmngr.c:1324 dirmngr/validate.c:903
+#: dirmngr/crlcache.c:1566 dirmngr/dirmngr.c:1361 dirmngr/validate.c:903
 #: dirmngr/validate.c:927
 #, c-format
 msgid "out of core\n"
 msgstr "fuori dal nucleo\n"
 
-#: sm/certcheck.c:371 sm/verify.c:213
+#: sm/certcheck.c:370 sm/verify.c:213
 #, c-format
 msgid "(this is the MD2 algorithm)\n"
 msgstr "(questo è l'algoritmo MD2)\n"
@@ -8895,22 +8914,34 @@ msgstr "Pronto.  È ora necessario inviare questa richiesta alla CA.\n"
 msgid "resource problem: out of core\n"
 msgstr "problema delle risorse: fuori dal nucleo\n"
 
-#: sm/decrypt.c:341
+#: sm/decrypt.c:536
+#, c-format
+msgid "%s.%s encrypted data\n"
+msgstr "dati cifrati con %s.%s\n"
+
+#: sm/decrypt.c:803
 #, c-format
 msgid "(this is the RC2 algorithm)\n"
 msgstr "(questo è l'algoritmo RC2)\n"
 
-#: sm/decrypt.c:343
+#: sm/decrypt.c:805
 #, c-format
 msgid "(this does not seem to be an encrypted message)\n"
 msgstr "(questo non sembra essere un messaggio crittografato)\n"
 
+#: sm/decrypt.c:958
+#, c-format
+msgid "encrypted to %s key %s\n"
+msgstr ""
+"crittografata con chiave %s, ID %s\n"
+"\n"
+
 #: sm/delete.c:51 sm/delete.c:112
 #, c-format
 msgid "certificate '%s' not found: %s\n"
 msgstr "certificato '%s' non trovato: %s\n"
 
-#: sm/delete.c:122 sm/keydb.c:1209 sm/keydb.c:1307
+#: sm/delete.c:122 sm/keydb.c:1189 sm/keydb.c:1288
 #, c-format
 msgid "error locking keybox: %s\n"
 msgstr "errore durante il blocco della keybox: %s\n"
@@ -8930,128 +8961,128 @@ msgstr "certificato '%s' eliminato\n"
 msgid "deleting certificate \"%s\" failed: %s\n"
 msgstr "eliminazione del certificato \"%s\" non riuscita: %s\n"
 
-#: sm/encrypt.c:330
+#: sm/encrypt.c:331
 #, c-format
 msgid "no valid recipients given\n"
 msgstr "nessun destinatario valido dato\n"
 
-#: sm/gpgsm.c:215
+#: sm/gpgsm.c:216
 msgid "list external keys"
 msgstr "elencare le chiavi esterne"
 
-#: sm/gpgsm.c:217
+#: sm/gpgsm.c:218
 msgid "list certificate chain"
 msgstr "catena di certificati valida"
 
-#: sm/gpgsm.c:225
+#: sm/gpgsm.c:226
 msgid "import certificates"
 msgstr "importa certificati"
 
-#: sm/gpgsm.c:226
+#: sm/gpgsm.c:227
 msgid "export certificates"
 msgstr "esporta certificati"
 
-#: sm/gpgsm.c:234
+#: sm/gpgsm.c:235
 msgid "register a smartcard"
 msgstr "registrare una smart card"
 
-#: sm/gpgsm.c:237
+#: sm/gpgsm.c:238
 msgid "pass a command to the dirmngr"
 msgstr "passare un comando al dirmngr"
 
-#: sm/gpgsm.c:239
+#: sm/gpgsm.c:240
 msgid "invoke gpg-protect-tool"
 msgstr "richiamare gpg-protect-tool"
 
-#: sm/gpgsm.c:256
+#: sm/gpgsm.c:257
 msgid "create base-64 encoded output"
 msgstr "creare output codificato in base 64"
 
-#: sm/gpgsm.c:265
+#: sm/gpgsm.c:266
 msgid "assume input is in PEM format"
 msgstr "presupporre che l'input sia in formato PEM"
 
-#: sm/gpgsm.c:267
+#: sm/gpgsm.c:268
 msgid "assume input is in base-64 format"
 msgstr "presupporre che l'input sia in formato base 64"
 
-#: sm/gpgsm.c:269
+#: sm/gpgsm.c:270
 msgid "assume input is in binary format"
 msgstr "presupporre che l'input sia in formato binario"
 
-#: sm/gpgsm.c:276
+#: sm/gpgsm.c:277
 msgid "never consult a CRL"
 msgstr "non consultare mai una CRL"
 
-#: sm/gpgsm.c:286
+#: sm/gpgsm.c:287
 msgid "check validity using OCSP"
 msgstr "verificare la validità utilizzando OCSP"
 
-#: sm/gpgsm.c:291
+#: sm/gpgsm.c:292
 msgid "|N|number of certificates to include"
 msgstr "|N|numero di certificati da includere"
 
-#: sm/gpgsm.c:294
+#: sm/gpgsm.c:295
 msgid "|FILE|take policy information from FILE"
 msgstr "|FILE|prendere le informazioni sui criteri da FILE"
 
-#: sm/gpgsm.c:297
+#: sm/gpgsm.c:298
 msgid "do not check certificate policies"
 msgstr "non controllare le politiche dei certificati"
 
-#: sm/gpgsm.c:301
+#: sm/gpgsm.c:302
 msgid "fetch missing issuer certificates"
 msgstr "recupera i certificati degli emittenti mancanti"
 
-#: sm/gpgsm.c:312
+#: sm/gpgsm.c:313
 msgid "don't use the terminal at all"
 msgstr "non usa per niente il terminale"
 
-#: sm/gpgsm.c:314
+#: sm/gpgsm.c:315
 msgid "|FILE|write a server mode log to FILE"
 msgstr "|FILE|scrittura di un registro in modalità server in FILE"
 
-#: sm/gpgsm.c:319
+#: sm/gpgsm.c:320
 msgid "|FILE|write an audit log to FILE"
 msgstr "|FILE|scrittura di un registro di controllo in FILE"
 
-#: sm/gpgsm.c:322
+#: sm/gpgsm.c:323
 msgid "batch mode: never ask"
 msgstr "modo batch: non fa domande"
 
-#: sm/gpgsm.c:323
+#: sm/gpgsm.c:324
 msgid "assume yes on most questions"
 msgstr "risponde \"sì\" a quasi tutte le domande"
 
-#: sm/gpgsm.c:324
+#: sm/gpgsm.c:325
 msgid "assume no on most questions"
 msgstr "risponde \"no\" a quasi tutte le domande"
 
-#: sm/gpgsm.c:327
+#: sm/gpgsm.c:328
 msgid "|FILE|add keyring to the list of keyrings"
 msgstr "|FILE|aggiungere il tasto all'elenco dei keyring"
 
-#: sm/gpgsm.c:330
+#: sm/gpgsm.c:331
 msgid "|USER-ID|use USER-ID as default secret key"
 msgstr "|USER-ID|utilizzare USER-ID come chiave segreta predefinita"
 
-#: sm/gpgsm.c:340 tools/gpgconf-comp.c:837
+#: sm/gpgsm.c:341 dirmngr/dirmngr.c:214 tools/gpgconf-comp.c:841
 msgid "|SPEC|use this keyserver to lookup keys"
 msgstr "|SPEC|utilizzare questo keyserver per cercare le chiavi"
 
-#: sm/gpgsm.c:357
+#: sm/gpgsm.c:360
 msgid "|NAME|use cipher algorithm NAME"
 msgstr "|NAME|usa l'algoritmo di cifratura NAME"
 
-#: sm/gpgsm.c:359
+#: sm/gpgsm.c:362
 msgid "|NAME|use message digest algorithm NAME"
 msgstr "|NAME|usa l'algoritmo di message digest NAME"
 
-#: sm/gpgsm.c:570
+#: sm/gpgsm.c:573
 msgid "Usage: @GPGSM@ [options] [files] (-h for help)"
 msgstr "Utilizzo: @GPGSM@ [opzioni] [file] (-h per assistenza)"
 
-#: sm/gpgsm.c:573
+#: sm/gpgsm.c:576
 msgid ""
 "Syntax: @GPGSM@ [options] [files]\n"
 "Sign, check, encrypt or decrypt using the S/MIME protocol\n"
@@ -9062,47 +9093,27 @@ msgstr ""
 "protocollo S/MIME\n"
 "Il funzionamento predefinito dipende dai dati di input\n"
 
-#: sm/gpgsm.c:777
+#: sm/gpgsm.c:784
 #, c-format
 msgid "Note: won't be able to encrypt to '%s': %s\n"
 msgstr "Nota: impossibile eseguire la crittografia in '%s': %s\n"
 
-#: sm/gpgsm.c:788
+#: sm/gpgsm.c:795
 #, c-format
 msgid "unknown validation model '%s'\n"
 msgstr "modello di convalida sconosciuto '%s'\n"
 
-#: sm/gpgsm.c:839 dirmngr/ldapserver.c:86
-#, c-format
-msgid "%s:%u: no hostname given\n"
-msgstr "%s: %u: nessun nome host specificato\n"
-
-#: sm/gpgsm.c:858 dirmngr/ldapserver.c:105
-#, c-format
-msgid "%s:%u: password given without user\n"
-msgstr "%s:%u: password fornita senza utente\n"
-
-#: sm/gpgsm.c:879 dirmngr/ldapserver.c:126
-#, c-format
-msgid "%s:%u: skipping this line\n"
-msgstr "%s:%u: ignorare questa riga\n"
-
-#: sm/gpgsm.c:1449
-#, c-format
-msgid "could not parse keyserver\n"
-msgstr "impossibile analizzare il keyserver\n"
-
-#: sm/gpgsm.c:1712
+#: sm/gpgsm.c:1612
 #, c-format
 msgid "importing common certificates '%s'\n"
 msgstr "importazione di certificati comuni '%s'\n"
 
-#: sm/gpgsm.c:1755
+#: sm/gpgsm.c:1655
 #, c-format
 msgid "can't sign using '%s': %s\n"
 msgstr "impossibile firmare utilizzando '%s': %s\n"
 
-#: sm/gpgsm.c:2122
+#: sm/gpgsm.c:2028
 #, c-format
 msgid "invalid command (there is no implicit command)\n"
 msgstr "comando non valido (non esiste alcun comando implicito)\n"
@@ -9122,7 +9133,7 @@ msgstr "errore durante l'archiviazione del certificato\n"
 msgid "basic certificate checks failed - not imported\n"
 msgstr "controlli certificati di base non riusciti - non importati\n"
 
-#: sm/import.c:472 sm/keydb.c:1229 sm/keydb.c:1319
+#: sm/import.c:472 sm/keydb.c:1209 sm/keydb.c:1300
 #, c-format
 msgid "error getting stored flags: %s\n"
 msgstr "errore durante il recupero dei flag memorizzati: %s\n"
@@ -9137,27 +9148,27 @@ msgstr "errore durante l'importazione del certificato: %s\n"
 msgid "error reading input: %s\n"
 msgstr "errore durante la lettura dell'input: %s\n"
 
-#: sm/keydb.c:1148
+#: sm/keydb.c:1127
 #, c-format
 msgid "problem looking for existing certificate: %s\n"
 msgstr "problema durante la ricerca del certificato esistente: %s\n"
 
-#: sm/keydb.c:1160
+#: sm/keydb.c:1139
 #, c-format
 msgid "error finding writable keyDB: %s\n"
 msgstr "errore durante la ricerca della chiave scrivibile keyDB: %s\n"
 
-#: sm/keydb.c:1168
+#: sm/keydb.c:1147
 #, c-format
 msgid "error storing certificate: %s\n"
 msgstr "errore durante l'archiviazione del certificato: %s\n"
 
-#: sm/keydb.c:1220
+#: sm/keydb.c:1200
 #, c-format
 msgid "problem re-searching certificate: %s\n"
 msgstr "problema durante la ri-ricerca del certificato: %s\n"
 
-#: sm/keydb.c:1241 sm/keydb.c:1330
+#: sm/keydb.c:1221 sm/keydb.c:1311
 #, c-format
 msgid "error storing flags: %s\n"
 msgstr "errore durante l'archiviazione dei flag: %s\n"
@@ -9198,7 +9209,7 @@ msgstr ""
 "\n"
 "%s%sSono davvero sicuri di voler eseguire questa operazione?"
 
-#: sm/qualified.c:215 sm/verify.c:678
+#: sm/qualified.c:215 sm/verify.c:679
 #, c-format
 msgid ""
 "Note, that this software is not officially approved to create or verify such "
@@ -9249,7 +9260,7 @@ msgstr "[data non specificata]"
 msgid "algorithm:"
 msgstr "algoritmo:"
 
-#: sm/verify.c:535
+#: sm/verify.c:536
 #, c-format
 msgid ""
 "invalid signature: message digest attribute does not match computed one\n"
@@ -9257,17 +9268,17 @@ msgstr ""
 "firma non valida: l'attributo digest del messaggio non corrisponde a uno "
 "calcolato\n"
 
-#: sm/verify.c:656
+#: sm/verify.c:657
 #, c-format
 msgid "Good signature from"
 msgstr "Buona firma da"
 
-#: sm/verify.c:657
+#: sm/verify.c:658
 #, c-format
 msgid "                aka"
 msgstr "                 aka"
 
-#: sm/verify.c:675
+#: sm/verify.c:676
 #, c-format
 msgid "This is a qualified signature\n"
 msgstr "Questa è una firma qualificata\n"
@@ -9915,7 +9926,7 @@ msgid "error retrieving '%s': %s\n"
 msgstr "errore durante il recupero di '%s': %s\n"
 
 #: dirmngr/crlfetch.c:218 dirmngr/ldap-wrapper-ce.c:492
-#: dirmngr/ldap-wrapper.c:884 dirmngr/misc.c:573
+#: dirmngr/ldap-wrapper.c:885 dirmngr/misc.c:573
 #, c-format
 msgid "error initializing reader object: %s\n"
 msgstr "errore durante l'inizializzazione dell'oggetto lettore: %s\n"
@@ -10073,114 +10084,114 @@ msgstr "previsto nome file assoluto\n"
 msgid "looking up '%s'\n"
 msgstr "ricerca di '%s'\n"
 
-#: dirmngr/dirmngr.c:170
+#: dirmngr/dirmngr.c:171
 msgid "list the contents of the CRL cache"
 msgstr "elencare il contenuto della cache CRL"
 
-#: dirmngr/dirmngr.c:171
+#: dirmngr/dirmngr.c:172
 msgid "|FILE|load CRL from FILE into cache"
 msgstr "|FILE|carica CRL da FILE nella cache"
 
-#: dirmngr/dirmngr.c:172
+#: dirmngr/dirmngr.c:173
 msgid "|URL|fetch a CRL from URL"
 msgstr "|URL|recupero di un CRL dall'URL"
 
-#: dirmngr/dirmngr.c:173
+#: dirmngr/dirmngr.c:174
 msgid "shutdown the dirmngr"
 msgstr "arrestare il dirmngr"
 
-#: dirmngr/dirmngr.c:174
+#: dirmngr/dirmngr.c:175
 msgid "flush the cache"
 msgstr "svuotare la cache"
 
-#: dirmngr/dirmngr.c:190 tools/gpgconf-comp.c:522 tools/gpgconf-comp.c:741
-#: tools/gpgconf-comp.c:854 tools/gpgconf-comp.c:950
+#: dirmngr/dirmngr.c:191 tools/gpgconf-comp.c:522 tools/gpgconf-comp.c:745
+#: tools/gpgconf-comp.c:858 tools/gpgconf-comp.c:954
 msgid "|FILE|write server mode logs to FILE"
 msgstr "|FILE|scrittura dei registri in modalità server in FILE"
 
-#: dirmngr/dirmngr.c:191
+#: dirmngr/dirmngr.c:192
 msgid "run without asking a user"
 msgstr "eseguire senza chiedere a un utente"
 
-#: dirmngr/dirmngr.c:192
+#: dirmngr/dirmngr.c:193
 msgid "force loading of outdated CRLs"
 msgstr "forzare il caricamento di CRL obsoleti"
 
-#: dirmngr/dirmngr.c:193
+#: dirmngr/dirmngr.c:194
 msgid "allow sending OCSP requests"
 msgstr "consentire l'invio di richieste OCSP"
 
-#: dirmngr/dirmngr.c:195
+#: dirmngr/dirmngr.c:196
 msgid "allow online software version check"
 msgstr "consentire il controllo della versione del software online"
 
-#: dirmngr/dirmngr.c:196
+#: dirmngr/dirmngr.c:197
 msgid "inhibit the use of HTTP"
 msgstr "inibire l'uso di HTTP"
 
-#: dirmngr/dirmngr.c:197
+#: dirmngr/dirmngr.c:198
 msgid "inhibit the use of LDAP"
 msgstr "inibire l'uso di LDAP"
 
-#: dirmngr/dirmngr.c:199
+#: dirmngr/dirmngr.c:200
 msgid "ignore HTTP CRL distribution points"
 msgstr "ignorare i punti di distribuzione CRL HTTP"
 
-#: dirmngr/dirmngr.c:201
+#: dirmngr/dirmngr.c:202
 msgid "ignore LDAP CRL distribution points"
 msgstr "ignorare i punti di distribuzione CRL LDAP"
 
-#: dirmngr/dirmngr.c:203
+#: dirmngr/dirmngr.c:204
 msgid "ignore certificate contained OCSP service URLs"
 msgstr "ignorare gli URL del servizio OCSP contenuti nel certificato"
 
-#: dirmngr/dirmngr.c:206
+#: dirmngr/dirmngr.c:207
 msgid "|URL|redirect all HTTP requests to URL"
 msgstr "|URL|reindirizza tutte le richieste HTTP all'URL"
 
-#: dirmngr/dirmngr.c:208
+#: dirmngr/dirmngr.c:209
 msgid "|HOST|use HOST for LDAP queries"
 msgstr "|HOST|utilizzare HOST per le query LDAP"
 
-#: dirmngr/dirmngr.c:210
+#: dirmngr/dirmngr.c:211
 msgid "do not use fallback hosts with --ldap-proxy"
 msgstr "non utilizzare host di fallback con --ldap-proxy"
 
-#: dirmngr/dirmngr.c:213
+#: dirmngr/dirmngr.c:216
 msgid "|FILE|read LDAP server list from FILE"
 msgstr "|FILE|lettura dell'elenco dei server LDAP da FILE"
 
-#: dirmngr/dirmngr.c:215
+#: dirmngr/dirmngr.c:218
 msgid "add new servers discovered in CRL distribution points to serverlist"
 msgstr ""
 "aggiungere nuovi server individuati nei punti di distribuzione CRL "
 "all'elenco dei server"
 
-#: dirmngr/dirmngr.c:218 dirmngr/dirmngr_ldap.c:137
+#: dirmngr/dirmngr.c:221
 msgid "|N|set LDAP timeout to N seconds"
 msgstr "|N|imposta il timeout LDAP su N secondi"
 
-#: dirmngr/dirmngr.c:221
+#: dirmngr/dirmngr.c:224
 msgid "|URL|use OCSP responder at URL"
 msgstr "|URL|utilizzare risponditore OCSP all'URL"
 
-#: dirmngr/dirmngr.c:223
+#: dirmngr/dirmngr.c:226
 msgid "|FPR|OCSP response signed by FPR"
 msgstr "|FPR|Risposta OCSP firmata da FPR"
 
-#: dirmngr/dirmngr.c:229
+#: dirmngr/dirmngr.c:232
 msgid "|N|do not return more than N items in one query"
 msgstr "|N|Non restituire più di N elementi in una query"
 
-#: dirmngr/dirmngr.c:234
+#: dirmngr/dirmngr.c:237
 msgid "|FILE|use the CA certificates in FILE for HKP over TLS"
 msgstr "|FILE|utilizzare i certificati CA in FILE per HKP su TLS"
 
-#: dirmngr/dirmngr.c:236
+#: dirmngr/dirmngr.c:239
 msgid "route all network traffic via Tor"
 msgstr "instradare tutto il traffico di rete tramite Tor"
 
-#: dirmngr/dirmngr.c:265
+#: dirmngr/dirmngr.c:268
 msgid ""
 "@\n"
 "(See the \"info\" manual for a complete listing of all commands and "
@@ -10190,11 +10201,11 @@ msgstr ""
 "(Vedere il manuale \"info\" per un elenco completo di tutti i comandi e le "
 "opzioni)\n"
 
-#: dirmngr/dirmngr.c:407
+#: dirmngr/dirmngr.c:415
 msgid "Usage: @DIRMNGR@ [options] (-h for help)"
 msgstr "Utilizzo: @DIRMNGR@ [opzioni] (-h per assistenza)"
 
-#: dirmngr/dirmngr.c:409
+#: dirmngr/dirmngr.c:417
 msgid ""
 "Syntax: @DIRMNGR@ [options] [command [args]]\n"
 "Keyserver, CRL, and OCSP access for @GNUPG@\n"
@@ -10202,270 +10213,104 @@ msgstr ""
 "Sintassi: @DIRMNGR@ [opzioni] [comando [args]]\n"
 "Accesso keyserver, CRL e OCSP per @GNUPG@\n"
 
-#: dirmngr/dirmngr.c:489
+#: dirmngr/dirmngr.c:497
 #, c-format
 msgid "valid debug levels are: %s\n"
 msgstr "i livelli di debug validi sono: %s\n"
 
-#: dirmngr/dirmngr.c:575 tools/gpgconf.c:647 tools/gpgconf.c:682
+#: dirmngr/dirmngr.c:583 tools/gpgconf.c:647 tools/gpgconf.c:682
 #: tools/gpgconf.c:780
 #, c-format
 msgid "usage: %s [options] "
 msgstr "utilizzo: %s [opzioni] "
 
-#: dirmngr/dirmngr.c:1212
+#: dirmngr/dirmngr.c:1249
 #, c-format
 msgid "colons are not allowed in the socket name\n"
 msgstr "due punti non sono consentiti nel nome del socket\n"
 
-#: dirmngr/dirmngr.c:1444 dirmngr/server.c:1824
+#: dirmngr/dirmngr.c:1481 dirmngr/server.c:1878
 #, c-format
 msgid "fetching CRL from '%s' failed: %s\n"
 msgstr "recupero CRL da '%s' non riuscito: %s\n"
 
-#: dirmngr/dirmngr.c:1450 dirmngr/server.c:1830
+#: dirmngr/dirmngr.c:1487 dirmngr/server.c:1884
 #, c-format
 msgid "processing CRL from '%s' failed: %s\n"
 msgstr "elaborazione CRL da '%s' non riuscita: %s\n"
 
-#: dirmngr/dirmngr.c:1645
+#: dirmngr/dirmngr.c:1682
 #, c-format
 msgid "%s:%u: line too long - skipped\n"
 msgstr "%s:%u: riga troppo lunga - ignorata\n"
 
-#: dirmngr/dirmngr.c:1700 dirmngr/dirmngr.c:1784
+#: dirmngr/dirmngr.c:1737 dirmngr/dirmngr.c:1821
 #, c-format
 msgid "%s:%u: invalid fingerprint detected\n"
 msgstr "%s:%u: rilevata impronta digitale non valida\n"
 
-#: dirmngr/dirmngr.c:1736 dirmngr/dirmngr.c:1762 tools/gpgconf-comp.c:4191
+#: dirmngr/dirmngr.c:1773 dirmngr/dirmngr.c:1799 tools/gpgconf-comp.c:4199
 #, c-format
 msgid "%s:%u: read error: %s\n"
 msgstr "%s: %u: errore di lettura: %s\n"
 
-#: dirmngr/dirmngr.c:1791
+#: dirmngr/dirmngr.c:1828
 #, c-format
 msgid "%s:%u: garbage at end of line ignored\n"
 msgstr "%s: %u: Garbage alla fine della riga ignorato\n"
 
-#: dirmngr/dirmngr.c:1860
+#: dirmngr/dirmngr.c:1897
 #, c-format
 msgid "SIGHUP received - re-reading configuration and flushing caches\n"
 msgstr ""
 "SIGHUP ricevuto - rilezione delle cache di configurazione e svuotamento\n"
 
-#: dirmngr/dirmngr.c:1900
+#: dirmngr/dirmngr.c:1937
 #, c-format
 msgid "SIGUSR2 received - no action defined\n"
 msgstr "SIGUSR2 ricevuto - nessuna azione definita\n"
 
-#: dirmngr/dirmngr.c:1905
+#: dirmngr/dirmngr.c:1942
 #, c-format
 msgid "SIGTERM received - shutting down ...\n"
 msgstr "SIGTERM ricevuto - arresto …\n"
 
-#: dirmngr/dirmngr.c:1907
+#: dirmngr/dirmngr.c:1944
 #, c-format
 msgid "SIGTERM received - still %d active connections\n"
 msgstr "SIGTERM ricevuto - connessioni ancora %d attive\n"
 
-#: dirmngr/dirmngr.c:1912
+#: dirmngr/dirmngr.c:1949
 #, c-format
 msgid "shutdown forced\n"
 msgstr "arresto forzato\n"
 
-#: dirmngr/dirmngr.c:1920
+#: dirmngr/dirmngr.c:1957
 #, c-format
 msgid "SIGINT received - immediate shutdown\n"
 msgstr "SIGINT ricevuto - arresto immediato\n"
 
-#: dirmngr/dirmngr.c:1927
+#: dirmngr/dirmngr.c:1964
 #, c-format
 msgid "signal %d received - no action defined\n"
 msgstr "segnale %d ricevuto - nessuna azione definita\n"
 
-#: dirmngr/dirmngr_ldap.c:138
-msgid "return all values in a record oriented format"
-msgstr "restituire tutti i valori in un formato orientato ai record"
-
-#: dirmngr/dirmngr_ldap.c:141
-msgid "|NAME|ignore host part and connect through NAME"
-msgstr "|NOME|Ignorare la parte host e connettersi tramite NOME"
-
-#: dirmngr/dirmngr_ldap.c:142
-msgid "|NAME|connect to host NAME"
-msgstr "Nome:connessione all'host NOME"
-
-#: dirmngr/dirmngr_ldap.c:143
-msgid "|N|connect to port N"
-msgstr "|N|Connessione alla porta N"
-
-#: dirmngr/dirmngr_ldap.c:144
-msgid "|NAME|use user NAME for authentication"
-msgstr "Nome:utilizzare nome utente per l'autenticazione"
-
-#: dirmngr/dirmngr_ldap.c:145
-msgid "|PASS|use password PASS for authentication"
-msgstr "|PASS|utilizzare la password PASS per l'autenticazione"
-
-#: dirmngr/dirmngr_ldap.c:147
-msgid "take password from $DIRMNGR_LDAP_PASS"
-msgstr "prendere la password da $DIRMNGR_LDAP_PASS"
-
-#: dirmngr/dirmngr_ldap.c:148
-msgid "|STRING|query DN STRING"
-msgstr "|STRINGA|stringa DN query"
-
-#: dirmngr/dirmngr_ldap.c:149
-msgid "|STRING|use STRING as filter expression"
-msgstr "| STRINGA: utilizzare STRING come espressione di filtro"
-
-#: dirmngr/dirmngr_ldap.c:150
-msgid "|STRING|return the attribute STRING"
-msgstr "| STRINGA: restituisce l'attributo STRING"
-
-#: dirmngr/dirmngr_ldap.c:211
-msgid "Usage: dirmngr_ldap [options] [URL] (-h for help)\n"
-msgstr "Utilizzo: dirmngr_ldap [opzioni] [URL] (-h per assistenza)\n"
-
-#: dirmngr/dirmngr_ldap.c:214
-msgid ""
-"Syntax: dirmngr_ldap [options] [URL]\n"
-"Internal LDAP helper for Dirmngr\n"
-"Interface and options may change without notice\n"
-msgstr ""
-"Sintassi: dirmngr_ldap [opzioni] [URL]\n"
-"Helper LDAP interno per Dirmngr\n"
-"L'interfaccia e le opzioni possono cambiare senza preavviso\n"
-
-#: dirmngr/dirmngr_ldap.c:340
-#, c-format
-msgid "invalid port number %d\n"
-msgstr "numero di porta non valido %d\n"
-
-#: dirmngr/dirmngr_ldap.c:456
-#, c-format
-msgid "scanning result for attribute '%s'\n"
-msgstr "risultato dell'analisi per l'attributo '%s'\n"
-
-#: dirmngr/dirmngr_ldap.c:463 dirmngr/dirmngr_ldap.c:546
-#: dirmngr/dirmngr_ldap.c:570 dirmngr/dirmngr_ldap.c:582
-#: dirmngr/dirmngr_ldap.c:720
-#, c-format
-msgid "error writing to stdout: %s\n"
-msgstr "errore durante la scrittura in stdout: %s\n"
-
-#: dirmngr/dirmngr_ldap.c:480
-#, c-format
-msgid "          available attribute '%s'\n"
-msgstr "           attributo disponibile '%s'\n"
-
-#: dirmngr/dirmngr_ldap.c:518
-#, c-format
-msgid "attribute '%s' not found\n"
-msgstr "attributo '%s' non trovato\n"
-
-#: dirmngr/dirmngr_ldap.c:525
-#, c-format
-msgid "found attribute '%s'\n"
-msgstr "trovato attributo '%s'\n"
-
-#: dirmngr/dirmngr_ldap.c:634
-#, c-format
-msgid "processing url '%s'\n"
-msgstr "elaborazione url '%s'\n"
-
-#: dirmngr/dirmngr_ldap.c:636
-#, c-format
-msgid "          user '%s'\n"
-msgstr "         utente '%s'\n"
-
-#: dirmngr/dirmngr_ldap.c:638
-#, c-format
-msgid "          pass '%s'\n"
-msgstr "         passare '%s'\n"
-
-#: dirmngr/dirmngr_ldap.c:640
-#, c-format
-msgid "          host '%s'\n"
-msgstr "         host '%s'\n"
-
-#: dirmngr/dirmngr_ldap.c:641
-#, c-format
-msgid "          port %d\n"
-msgstr "         porta %d\n"
-
-#: dirmngr/dirmngr_ldap.c:643
-#, c-format
-msgid "            DN '%s'\n"
-msgstr "          DN '%s'\n"
-
-#: dirmngr/dirmngr_ldap.c:645
-#, c-format
-msgid "        filter '%s'\n"
-msgstr "        filtro '%s'\n"
-
-#: dirmngr/dirmngr_ldap.c:650 dirmngr/dirmngr_ldap.c:653
-#, c-format
-msgid "          attr '%s'\n"
-msgstr "          attr '%s'\n"
-
-#: dirmngr/dirmngr_ldap.c:659
-#, c-format
-msgid "no host name in '%s'\n"
-msgstr "nessun nome host in '%s'\n"
-
-#: dirmngr/dirmngr_ldap.c:664
-#, c-format
-msgid "no attribute given for query '%s'\n"
-msgstr "nessun attributo specificato per la query '%s'\n"
-
-#: dirmngr/dirmngr_ldap.c:670
-#, c-format
-msgid "WARNING: using first attribute only\n"
-msgstr "AVVISO: utilizzo solo del primo attributo\n"
-
-#: dirmngr/dirmngr_ldap.c:679
-#, c-format
-msgid "LDAP init to '%s:%d' failed: %s\n"
-msgstr "Impossibile eseguire LDAP in '%s:%d': %s\n"
-
-#: dirmngr/dirmngr_ldap.c:702
-#, c-format
-msgid "binding to '%s:%d' failed: %s\n"
-msgstr "binding a '%s:%d' non riuscito: %s\n"
-
-#: dirmngr/dirmngr_ldap.c:729
-#, c-format
-msgid "searching '%s' failed: %s\n"
-msgstr "ricerca '%s' non riuscita: %s\n"
-
-#: dirmngr/dirmngr_ldap.c:761
-#, c-format
-msgid "'%s' is not an LDAP URL\n"
-msgstr "'%s' non è un URL LDAP\n"
-
-#: dirmngr/dirmngr_ldap.c:767
-#, c-format
-msgid "'%s' is an invalid LDAP URL\n"
-msgstr "'%s' è un URL LDAP non valido\n"
-
-#: dirmngr/http.c:1987 dirmngr/ocsp.c:255
+#: dirmngr/http.c:1993 dirmngr/ocsp.c:255
 #, c-format
 msgid "error accessing '%s': http status %u\n"
 msgstr "errore durante l'accesso a '%s': stato http %u\n"
 
-#: dirmngr/http.c:3629 dirmngr/ocsp.c:229
+#: dirmngr/http.c:3644 dirmngr/ocsp.c:229
 #, c-format
 msgid "URL '%s' redirected to '%s' (%u)\n"
 msgstr "URL '%s' reindirizzato a '%s' (%u)\n"
 
-#: dirmngr/http.c:3635 dirmngr/ocsp.c:246
+#: dirmngr/http.c:3650 dirmngr/ocsp.c:246
 #, c-format
 msgid "too many redirections\n"
 msgstr "troppi reindirizzamenti\n"
 
-#: dirmngr/http.c:3747
+#: dirmngr/http.c:3762
 #, c-format
 msgid "redirection changed to '%s'\n"
 msgstr "reindirizzamento modificato in '%s'\n"
@@ -10505,31 +10350,51 @@ msgstr "in attesa del wrapper ldap %d non riuscito: %s\n"
 msgid "ldap wrapper %d stalled - killing\n"
 msgstr "wrapper ldap %d bloccato - killing\n"
 
-#: dirmngr/ldap.c:91
+#: dirmngr/ldap.c:92
 #, c-format
 msgid "invalid char 0x%02x in host name - not added\n"
 msgstr "char non valido 0x%02x nel nome host - non aggiunto\n"
 
-#: dirmngr/ldap.c:95
+#: dirmngr/ldap.c:96
 #, c-format
 msgid "adding '%s:%d' to the ldap server list\n"
 msgstr "aggiunta di '%s:%d' all'elenco dei server ldap\n"
 
-#: dirmngr/ldap.c:98 dirmngr/misc.c:512
+#: dirmngr/ldap.c:99 dirmngr/misc.c:512
 #, c-format
 msgid "malloc failed: %s\n"
 msgstr "malloc non riuscito: %s\n"
 
-#: dirmngr/ldap.c:627
+#: dirmngr/ldap.c:221
 #, c-format
-msgid "start_cert_fetch: invalid pattern '%s'\n"
-msgstr "start_cert_fetch: modello '%s' non valido\n"
+msgid "'%s' is not an LDAP URL\n"
+msgstr "'%s' non è un URL LDAP\n"
+
+#: dirmngr/ldap.c:227 dirmngr/ldap.c:233
+#, c-format
+msgid "'%s' is an invalid LDAP URL\n"
+msgstr "'%s' è un URL LDAP non valido\n"
 
-#: dirmngr/ldap.c:839
+#: dirmngr/ldap.c:969
 #, c-format
 msgid "ldap_search hit the size limit of the server\n"
 msgstr "ldap_search raggiunto il limite di dimensioni del server\n"
 
+#: dirmngr/ldapserver.c:117
+#, c-format
+msgid "%s:%u: password given without user\n"
+msgstr "%s:%u: password fornita senza utente\n"
+
+#: dirmngr/ldapserver.c:181
+#, c-format
+msgid "%s:%u: ignoring unknown flag '%s'\n"
+msgstr ""
+
+#: dirmngr/ldapserver.c:203
+#, c-format
+msgid "%s:%u: skipping this line\n"
+msgstr "%s:%u: ignorare questa riga\n"
+
 #: dirmngr/misc.c:172
 #, c-format
 msgid "invalid canonical S-expression found\n"
@@ -10713,71 +10578,67 @@ msgstr "Il risponditore OCSP ha restituito uno stato troppo vecchio\n"
 msgid "assuan_inquire(%s) failed: %s\n"
 msgstr "assuan_inquire(%s) non riuscito: %s\n"
 
-#: dirmngr/server.c:1158
-msgid "ldapserver missing"
-msgstr "ldapserver mancante"
-
-#: dirmngr/server.c:1224
+#: dirmngr/server.c:1277
 msgid "serialno missing in cert ID"
 msgstr "serialno mancante nell'ID certificato"
 
-#: dirmngr/server.c:1387 dirmngr/server.c:1473 dirmngr/server.c:1909
-#: dirmngr/server.c:1980 dirmngr/server.c:2552 dirmngr/server.c:2567
+#: dirmngr/server.c:1440 dirmngr/server.c:1526 dirmngr/server.c:1963
+#: dirmngr/server.c:2034 dirmngr/server.c:2662 dirmngr/server.c:2677
 #, c-format
 msgid "assuan_inquire failed: %s\n"
 msgstr "assuan_inquire non riuscito: %s\n"
 
-#: dirmngr/server.c:1516
+#: dirmngr/server.c:1569
 #, c-format
 msgid "fetch_cert_by_url failed: %s\n"
 msgstr "fetch_cert_by_url non riuscito: %s\n"
 
-#: dirmngr/server.c:1528 dirmngr/server.c:1559 dirmngr/server.c:1718
+#: dirmngr/server.c:1581 dirmngr/server.c:1612 dirmngr/server.c:1772
 #, c-format
 msgid "error sending data: %s\n"
 msgstr "errore durante l'invio dei dati: %s\n"
 
-#: dirmngr/server.c:1666
+#: dirmngr/server.c:1720
 #, c-format
 msgid "start_cert_fetch failed: %s\n"
 msgstr "start_cert_fetch non riuscito: %s\n"
 
-#: dirmngr/server.c:1699
+#: dirmngr/server.c:1753
 #, c-format
 msgid "fetch_next_cert failed: %s\n"
 msgstr "fetch_next_cert non riuscito: %s\n"
 
-#: dirmngr/server.c:1726
+#: dirmngr/server.c:1780
 #, c-format
 msgid "max_replies %d exceeded\n"
 msgstr "max_replies %d superato\n"
 
-#: dirmngr/server.c:2856
+#: dirmngr/server.c:2966
 #, c-format
 msgid "can't allocate control structure: %s\n"
 msgstr "impossibile allocare la struttura di controllo: %s\n"
 
-#: dirmngr/server.c:2867
+#: dirmngr/server.c:2977
 #, c-format
 msgid "failed to allocate assuan context: %s\n"
 msgstr "impossibile allocare il contesto assuan: %s\n"
 
-#: dirmngr/server.c:2888
+#: dirmngr/server.c:2998
 #, c-format
 msgid "failed to initialize the server: %s\n"
 msgstr "impossibile inizializzare il server: %s\n"
 
-#: dirmngr/server.c:2896
+#: dirmngr/server.c:3006
 #, c-format
 msgid "failed to the register commands with Assuan: %s\n"
 msgstr "impossibile eseguire i comandi di registro con Assuan: %s\n"
 
-#: dirmngr/server.c:2929
+#: dirmngr/server.c:3039
 #, c-format
 msgid "Assuan accept problem: %s\n"
 msgstr "Problema di accettazione assuan: %s\n"
 
-#: dirmngr/server.c:2948
+#: dirmngr/server.c:3058
 #, c-format
 msgid "Assuan processing failed: %s\n"
 msgstr "Elaborazione Assuan non riuscita: %s\n"
@@ -10914,21 +10775,21 @@ msgid "error sending standard options: %s\n"
 msgstr "errore durante l'invio delle opzioni standard: %s\n"
 
 #: tools/gpgconf-comp.c:481 tools/gpgconf-comp.c:617 tools/gpgconf-comp.c:692
-#: tools/gpgconf-comp.c:804 tools/gpgconf-comp.c:906
+#: tools/gpgconf-comp.c:808 tools/gpgconf-comp.c:910
 msgid "Options controlling the diagnostic output"
 msgstr "Opzioni che controllano l'output diagnostico"
 
 #: tools/gpgconf-comp.c:494 tools/gpgconf-comp.c:630 tools/gpgconf-comp.c:705
-#: tools/gpgconf-comp.c:817 tools/gpgconf-comp.c:929
+#: tools/gpgconf-comp.c:821 tools/gpgconf-comp.c:933
 msgid "Options controlling the configuration"
 msgstr "Opzioni che controllano la configurazione"
 
-#: tools/gpgconf-comp.c:517 tools/gpgconf-comp.c:659 tools/gpgconf-comp.c:736
-#: tools/gpgconf-comp.c:849 tools/gpgconf-comp.c:942
+#: tools/gpgconf-comp.c:517 tools/gpgconf-comp.c:659 tools/gpgconf-comp.c:740
+#: tools/gpgconf-comp.c:853 tools/gpgconf-comp.c:946
 msgid "Options useful for debugging"
 msgstr "Opzioni utili per il debug"
 
-#: tools/gpgconf-comp.c:530 tools/gpgconf-comp.c:669 tools/gpgconf-comp.c:862
+#: tools/gpgconf-comp.c:530 tools/gpgconf-comp.c:669 tools/gpgconf-comp.c:866
 msgid "Options controlling the security"
 msgstr "Opzioni che controllano la sicurezza"
 
@@ -10976,11 +10837,11 @@ msgstr "non consentono il riutilizzo di vecchie passphrase"
 msgid "|N|set the Pinentry timeout to N seconds"
 msgstr "|N|Il timeout di Pinentry è impostato su N secondi"
 
-#: tools/gpgconf-comp.c:707 tools/gpgconf-comp.c:819
+#: tools/gpgconf-comp.c:707 tools/gpgconf-comp.c:823
 msgid "|NAME|use NAME as default secret key"
 msgstr "|NAME|usa NAME come chiave segreta predefinita"
 
-#: tools/gpgconf-comp.c:710 tools/gpgconf-comp.c:822
+#: tools/gpgconf-comp.c:710 tools/gpgconf-comp.c:826
 msgid "|NAME|encrypt to user ID NAME as well"
 msgstr "Anche nome-crittografare all'ID utente NOME"
 
@@ -10988,129 +10849,129 @@ msgstr "Anche nome-crittografare all'ID utente NOME"
 msgid "|SPEC|set up email aliases"
 msgstr "|SPEC|configurare gli alias di posta elettronica"
 
-#: tools/gpgconf-comp.c:749 tools/gpgconf-comp.c:981
+#: tools/gpgconf-comp.c:753 tools/gpgconf-comp.c:985
 msgid "Configuration for Keyservers"
 msgstr "Configurazione per Keyservers"
 
-#: tools/gpgconf-comp.c:751 tools/gpgconf-comp.c:983
+#: tools/gpgconf-comp.c:755 tools/gpgconf-comp.c:987
 msgid "|URL|use keyserver at URL"
 msgstr "| URL: utilizzare keyserver all'URL"
 
-#: tools/gpgconf-comp.c:754
+#: tools/gpgconf-comp.c:758
 msgid "allow PKA lookups (DNS requests)"
 msgstr "consentire ricerche PKA (richieste DNS)"
 
-#: tools/gpgconf-comp.c:757
+#: tools/gpgconf-comp.c:761
 msgid "|MECHANISMS|use MECHANISMS to locate keys by mail address"
 msgstr ""
 "|MECHANISMS|utilizzare MECHANISMS per individuare le chiavi in base "
 "all'indirizzo di posta elettronica"
 
-#: tools/gpgconf-comp.c:760
+#: tools/gpgconf-comp.c:764
 msgid "import missing key from a signature"
 msgstr "importare la chiave mancante da una firma"
 
-#: tools/gpgconf-comp.c:763
+#: tools/gpgconf-comp.c:767
 msgid "include the public key in signatures"
 msgstr "includere la chiave pubblica nelle firme"
 
-#: tools/gpgconf-comp.c:770 tools/gpgconf-comp.c:831
+#: tools/gpgconf-comp.c:774 tools/gpgconf-comp.c:835
 msgid "disable all access to the dirmngr"
 msgstr "disabilitare tutti gli accessi al dirmngr"
 
-#: tools/gpgconf-comp.c:834
+#: tools/gpgconf-comp.c:838
 msgid "|NAME|use encoding NAME for PKCS#12 passphrases"
 msgstr "Nome: utilizzare il nome di codifica per le passphrase PKCS-12"
 
-#: tools/gpgconf-comp.c:870
+#: tools/gpgconf-comp.c:874
 msgid "do not check CRLs for root certificates"
 msgstr "non controllare i certificati radice nei CRL"
 
-#: tools/gpgconf-comp.c:919
+#: tools/gpgconf-comp.c:923
 msgid "Options controlling the format of the output"
 msgstr "Opzioni che controllano il formato dell'output"
 
-#: tools/gpgconf-comp.c:961
+#: tools/gpgconf-comp.c:965
 msgid "Options controlling the interactivity and enforcement"
 msgstr "Opzioni che controllano l'interattività e l'applicazione"
 
-#: tools/gpgconf-comp.c:974
+#: tools/gpgconf-comp.c:978
 msgid "Options controlling the use of Tor"
 msgstr "Opzioni che controllano l'uso di Tor"
 
-#: tools/gpgconf-comp.c:988
+#: tools/gpgconf-comp.c:992
 msgid "Configuration for HTTP servers"
 msgstr "Configurazione per i server HTTP"
 
-#: tools/gpgconf-comp.c:999
+#: tools/gpgconf-comp.c:1003
 msgid "use system's HTTP proxy setting"
 msgstr "utilizzare l'impostazione proxy HTTP del sistema"
 
-#: tools/gpgconf-comp.c:1004
+#: tools/gpgconf-comp.c:1008
 msgid "Configuration of LDAP servers to use"
 msgstr "Configurazione dei server LDAP da utilizzare"
 
-#: tools/gpgconf-comp.c:1033
+#: tools/gpgconf-comp.c:1037
 msgid "LDAP server list"
 msgstr "Elenco server LDAP"
 
-#: tools/gpgconf-comp.c:1041
+#: tools/gpgconf-comp.c:1045
 msgid "Configuration for OCSP"
 msgstr "Configurazione per OCSP"
 
-#: tools/gpgconf-comp.c:1094
+#: tools/gpgconf-comp.c:1098
 msgid "OpenPGP"
 msgstr "OpenPGP"
 
-#: tools/gpgconf-comp.c:1095
+#: tools/gpgconf-comp.c:1099
 msgid "Private Keys"
 msgstr "Chiavi private"
 
-#: tools/gpgconf-comp.c:1096
+#: tools/gpgconf-comp.c:1100
 msgid "Smartcards"
 msgstr "Smartcard"
 
-#: tools/gpgconf-comp.c:1097
+#: tools/gpgconf-comp.c:1101
 msgid "S/MIME"
 msgstr "S/MIME"
 
-#: tools/gpgconf-comp.c:1098
+#: tools/gpgconf-comp.c:1102
 msgid "Network"
 msgstr "Rete"
 
-#: tools/gpgconf-comp.c:1099
+#: tools/gpgconf-comp.c:1103
 msgid "Passphrase Entry"
 msgstr "Voce passphrase"
 
-#: tools/gpgconf-comp.c:1278
+#: tools/gpgconf-comp.c:1282
 msgid "Component not suitable for launching"
 msgstr "Componente non adatto per il lancio"
 
-#: tools/gpgconf-comp.c:1284
+#: tools/gpgconf-comp.c:1288
 #, c-format
 msgid "Configuration file of component %s is broken\n"
 msgstr "Il file di configurazione del componente %s è interrotto\n"
 
-#: tools/gpgconf-comp.c:1287
+#: tools/gpgconf-comp.c:1291
 #, c-format
 msgid "Note: Use the command \"%s%s\" to get details.\n"
 msgstr "Nota: utilizzare il comando \"%s%s\" per ottenere i dettagli.\n"
 
-#: tools/gpgconf-comp.c:3446
+#: tools/gpgconf-comp.c:3454
 #, c-format
 msgid "External verification of component %s failed"
 msgstr "Verifica esterna del componente %s non riuscita"
 
-#: tools/gpgconf-comp.c:3597
+#: tools/gpgconf-comp.c:3605
 msgid "Note that group specifications are ignored\n"
 msgstr "Si noti che le specifiche del gruppo vengono ignorate\n"
 
-#: tools/gpgconf-comp.c:4195
+#: tools/gpgconf-comp.c:4203
 #, c-format
 msgid "error closing '%s'\n"
 msgstr "errore durante la chiusura di '%s'\n"
 
-#: tools/gpgconf-comp.c:4197
+#: tools/gpgconf-comp.c:4205
 #, c-format
 msgid "error parsing '%s'\n"
 msgstr "errore durante l'analisi di '%s'\n"
@@ -11216,6 +11077,123 @@ msgstr ""
 "Sintassi: gpg-check-pattern [opzioni] patternfile\n"
 "Controllare una passphrase data su stdin rispetto al patternfile\n"
 
+#~ msgid "requesting key %s from %s server %s\n"
+#~ msgstr "richiesta della chiave %s dal server %s %s\n"
+
+#~ msgid "%s:%u: no hostname given\n"
+#~ msgstr "%s: %u: nessun nome host specificato\n"
+
+#~ msgid "could not parse keyserver\n"
+#~ msgstr "impossibile analizzare il keyserver\n"
+
+#~ msgid "return all values in a record oriented format"
+#~ msgstr "restituire tutti i valori in un formato orientato ai record"
+
+#~ msgid "|NAME|ignore host part and connect through NAME"
+#~ msgstr "|NOME|Ignorare la parte host e connettersi tramite NOME"
+
+#~ msgid "|NAME|connect to host NAME"
+#~ msgstr "Nome:connessione all'host NOME"
+
+#~ msgid "|N|connect to port N"
+#~ msgstr "|N|Connessione alla porta N"
+
+#~ msgid "|NAME|use user NAME for authentication"
+#~ msgstr "Nome:utilizzare nome utente per l'autenticazione"
+
+#~ msgid "|PASS|use password PASS for authentication"
+#~ msgstr "|PASS|utilizzare la password PASS per l'autenticazione"
+
+#~ msgid "take password from $DIRMNGR_LDAP_PASS"
+#~ msgstr "prendere la password da $DIRMNGR_LDAP_PASS"
+
+#~ msgid "|STRING|query DN STRING"
+#~ msgstr "|STRINGA|stringa DN query"
+
+#~ msgid "|STRING|use STRING as filter expression"
+#~ msgstr "| STRINGA: utilizzare STRING come espressione di filtro"
+
+#~ msgid "|STRING|return the attribute STRING"
+#~ msgstr "| STRINGA: restituisce l'attributo STRING"
+
+#~ msgid "Usage: dirmngr_ldap [options] [URL] (-h for help)\n"
+#~ msgstr "Utilizzo: dirmngr_ldap [opzioni] [URL] (-h per assistenza)\n"
+
+#~ msgid ""
+#~ "Syntax: dirmngr_ldap [options] [URL]\n"
+#~ "Internal LDAP helper for Dirmngr\n"
+#~ "Interface and options may change without notice\n"
+#~ msgstr ""
+#~ "Sintassi: dirmngr_ldap [opzioni] [URL]\n"
+#~ "Helper LDAP interno per Dirmngr\n"
+#~ "L'interfaccia e le opzioni possono cambiare senza preavviso\n"
+
+#~ msgid "invalid port number %d\n"
+#~ msgstr "numero di porta non valido %d\n"
+
+#~ msgid "scanning result for attribute '%s'\n"
+#~ msgstr "risultato dell'analisi per l'attributo '%s'\n"
+
+#~ msgid "error writing to stdout: %s\n"
+#~ msgstr "errore durante la scrittura in stdout: %s\n"
+
+#~ msgid "          available attribute '%s'\n"
+#~ msgstr "           attributo disponibile '%s'\n"
+
+#~ msgid "attribute '%s' not found\n"
+#~ msgstr "attributo '%s' non trovato\n"
+
+#~ msgid "found attribute '%s'\n"
+#~ msgstr "trovato attributo '%s'\n"
+
+#~ msgid "processing url '%s'\n"
+#~ msgstr "elaborazione url '%s'\n"
+
+#~ msgid "          user '%s'\n"
+#~ msgstr "         utente '%s'\n"
+
+#~ msgid "          pass '%s'\n"
+#~ msgstr "         passare '%s'\n"
+
+#~ msgid "          host '%s'\n"
+#~ msgstr "         host '%s'\n"
+
+#~ msgid "          port %d\n"
+#~ msgstr "         porta %d\n"
+
+#~ msgid "            DN '%s'\n"
+#~ msgstr "          DN '%s'\n"
+
+#~ msgid "        filter '%s'\n"
+#~ msgstr "        filtro '%s'\n"
+
+#~ msgid "          attr '%s'\n"
+#~ msgstr "          attr '%s'\n"
+
+#~ msgid "no host name in '%s'\n"
+#~ msgstr "nessun nome host in '%s'\n"
+
+#~ msgid "no attribute given for query '%s'\n"
+#~ msgstr "nessun attributo specificato per la query '%s'\n"
+
+#~ msgid "WARNING: using first attribute only\n"
+#~ msgstr "AVVISO: utilizzo solo del primo attributo\n"
+
+#~ msgid "LDAP init to '%s:%d' failed: %s\n"
+#~ msgstr "Impossibile eseguire LDAP in '%s:%d': %s\n"
+
+#~ msgid "binding to '%s:%d' failed: %s\n"
+#~ msgstr "binding a '%s:%d' non riuscito: %s\n"
+
+#~ msgid "searching '%s' failed: %s\n"
+#~ msgstr "ricerca '%s' non riuscita: %s\n"
+
+#~ msgid "start_cert_fetch: invalid pattern '%s'\n"
+#~ msgstr "start_cert_fetch: modello '%s' non valido\n"
+
+#~ msgid "ldapserver missing"
+#~ msgstr "ldapserver mancante"
+
 #~ msgid "Note: old default options file '%s' ignored\n"
 #~ msgstr ""
 #~ "Nota: il vecchio file di opzioni predefinito '%s' è stato ignorato\n"
index d480345..4243d01 100644 (file)
Binary files a/po/ja.gmo and b/po/ja.gmo differ
index 70f59d7..1590fd6 100644 (file)
--- a/po/ja.po
+++ b/po/ja.po
@@ -4,14 +4,15 @@
 # IIDA Yosiaki <iida@gnu.org>, 1999, 2000, 2002, 2003, 2004.
 # Yoshihiro Kajiki <kajiki@ylug.org>, 1999.
 # Takashi P.KATOH, 2002.
-# NIIBE Yutaka <gniibe@fsij.org>, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020.
+# NIIBE Yutaka <gniibe@fsij.org>, 2013, 2014, 2015, 2016, 2017, 2018, 2019,
+# 2020, 2021.
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: gnupg 2.2.23\n"
+"Project-Id-Version: gnupg 2.2.28\n"
 "Report-Msgid-Bugs-To: translations@gnupg.org\n"
-"POT-Creation-Date: 2021-01-11 18:47+0100\n"
-"PO-Revision-Date: 2020-11-12 12:59+0900\n"
+"POT-Creation-Date: 2021-06-10 18:59+0200\n"
+"PO-Revision-Date: 2021-06-09 09:28+0900\n"
 "Last-Translator: NIIBE Yutaka <gniibe@fsij.org>\n"
 "Language-Team: none\n"
 "Language: ja\n"
@@ -109,7 +110,7 @@ msgid "Passphrase:"
 msgstr "パスフレーズ:"
 
 #: agent/call-pinentry.c:1107 agent/call-pinentry.c:1359
-#: agent/command-ssh.c:3130 agent/genkey.c:416
+#: agent/command-ssh.c:3140 agent/genkey.c:416
 msgid "does not match - try again"
 msgstr "一致しません - もう一度"
 
@@ -159,32 +160,32 @@ msgstr "パスフレーズが不正です"
 msgid "ssh keys greater than %d bits are not supported\n"
 msgstr "ssh鍵で%dビットより大きいものはサポートされません\n"
 
-#: agent/command-ssh.c:862 common/dotlock.c:852 g10/card-util.c:932
-#: g10/exec.c:546 g10/export.c:1320 g10/gpg.c:1352 g10/keygen.c:4998
-#: g10/keyring.c:1322 g10/keyring.c:1637 g10/openfile.c:291 g10/sign.c:1009
-#: g10/sign.c:1323 g10/tdbio.c:753
+#: agent/command-ssh.c:862 common/dotlock.c:852 g10/card-util.c:933
+#: g10/exec.c:554 g10/export.c:1320 g10/gpg.c:1360 g10/keygen.c:4998
+#: g10/keyring.c:1322 g10/keyring.c:1637 g10/openfile.c:291 g10/sign.c:1008
+#: g10/sign.c:1322 g10/tdbio.c:753
 #, c-format
 msgid "can't create '%s': %s\n"
 msgstr "'%s'が作成できません: %s\n"
 
-#: agent/command-ssh.c:874 common/helpfile.c:57 g10/card-util.c:889
+#: agent/command-ssh.c:874 common/helpfile.c:57 g10/card-util.c:890
 #: g10/dearmor.c:59 g10/dearmor.c:106 g10/decrypt.c:65 g10/decrypt.c:136
-#: g10/decrypt.c:153 g10/encrypt.c:180 g10/encrypt.c:543 g10/gpg.c:1353
-#: g10/import.c:352 g10/import.c:536 g10/import.c:764 g10/keygen.c:4036
+#: g10/decrypt.c:153 g10/encrypt.c:180 g10/encrypt.c:543 g10/gpg.c:1361
+#: g10/import.c:364 g10/import.c:548 g10/import.c:776 g10/keygen.c:4036
 #: g10/keyring.c:1663 g10/openfile.c:195 g10/openfile.c:209 g10/plaintext.c:128
-#: g10/plaintext.c:649 g10/sign.c:991 g10/sign.c:1202 g10/sign.c:1307
-#: g10/sign.c:1452 g10/tdbdump.c:143 g10/tdbdump.c:151 g10/tdbio.c:758
-#: g10/tdbio.c:829 g10/verify.c:96 g10/verify.c:160 sm/gpgsm.c:2219
-#: sm/gpgsm.c:2249 sm/gpgsm.c:2287 sm/qualified.c:66 dirmngr/certcache.c:396
+#: g10/plaintext.c:649 g10/sign.c:990 g10/sign.c:1201 g10/sign.c:1306
+#: g10/sign.c:1451 g10/tdbdump.c:143 g10/tdbdump.c:151 g10/tdbio.c:758
+#: g10/tdbio.c:829 g10/verify.c:96 g10/verify.c:160 sm/gpgsm.c:2125
+#: sm/gpgsm.c:2155 sm/gpgsm.c:2193 sm/qualified.c:66 dirmngr/certcache.c:396
 #: dirmngr/certcache.c:476 dirmngr/certcache.c:478 dirmngr/crlcache.c:2588
-#: dirmngr/dirmngr.c:1722
+#: dirmngr/dirmngr.c:1759
 #, c-format
 msgid "can't open '%s': %s\n"
 msgstr "'%s'が開けません: %s\n"
 
 #: agent/command-ssh.c:2385 agent/command-ssh.c:2431 agent/command-ssh.c:2449
-#: agent/command-ssh.c:2601 g10/card-util.c:687 g10/card-util.c:708
-#: g10/skclist.c:430
+#: agent/command-ssh.c:2601 g10/card-util.c:688 g10/card-util.c:709
+#: g10/skclist.c:435
 #, c-format
 msgid "error getting serial number of card: %s\n"
 msgstr "カード・シリアル番号の取得エラー: %s\n"
@@ -209,7 +210,7 @@ msgstr "適当なカードの鍵が見つかりません: %s\n"
 msgid "error getting list of cards: %s\n"
 msgstr "カードのリスト の取得エラー: %s\n"
 
-#: agent/command-ssh.c:2765
+#: agent/command-ssh.c:2775
 #, c-format
 msgid ""
 "An ssh process requested the use of key%%0A  %s%%0A  (%s)%%0ADo you want to "
@@ -218,24 +219,24 @@ msgstr ""
 "sshプロセスが以下の鍵の使用を要求しました:%%0A  %s%%0A  (%s)%%0Aこの使用を認"
 "めますか?"
 
-#: agent/command-ssh.c:2772
+#: agent/command-ssh.c:2782
 msgid "Allow"
 msgstr "許可する"
 
-#: agent/command-ssh.c:2772
+#: agent/command-ssh.c:2782
 msgid "Deny"
 msgstr "拒否する"
 
-#: agent/command-ssh.c:2781
+#: agent/command-ssh.c:2791
 #, c-format
 msgid "Please enter the passphrase for the ssh key%%0A  %F%%0A  (%c)"
 msgstr "以下のssh鍵に対するパスフレーズを入力してください:%%0A  %F%%0A  (%c)"
 
-#: agent/command-ssh.c:3058 agent/genkey.c:351
+#: agent/command-ssh.c:3068 agent/genkey.c:351
 msgid "Please re-enter this passphrase"
 msgstr "このパスフレーズをもう一度入力してください"
 
-#: agent/command-ssh.c:3085
+#: agent/command-ssh.c:3095
 #, c-format
 msgid ""
 "Please enter a passphrase to protect the received secret key%%0A   %s%%0A   "
@@ -244,7 +245,7 @@ msgstr ""
 "パスフレーズを入力してください。gpg-agentの鍵の保管で受信した秘密鍵%%0A   %s"
 "%%0A   %s%%0Aを保護します。"
 
-#: agent/command-ssh.c:3667
+#: agent/command-ssh.c:3677
 #, c-format
 msgid "failed to create stream from socket: %s\n"
 msgstr "ソケットからストリームを作成するのに失敗しました: %s\n"
@@ -388,45 +389,43 @@ msgstr ""
 "@オプション:\n"
 " "
 
-#: agent/gpg-agent.c:165 scd/scdaemon.c:120 dirmngr/dirmngr.c:166
+#: agent/gpg-agent.c:165 scd/scdaemon.c:120 dirmngr/dirmngr.c:167
 msgid "run in daemon mode (background)"
 msgstr "デーモン・モードで実行 (バックグラウンド)"
 
-#: agent/gpg-agent.c:166 scd/scdaemon.c:117 dirmngr/dirmngr.c:165
+#: agent/gpg-agent.c:166 scd/scdaemon.c:117 dirmngr/dirmngr.c:166
 msgid "run in server mode (foreground)"
 msgstr "サーバ・モードで実行 (フォアグラウンド)"
 
-#: agent/gpg-agent.c:168 dirmngr/dirmngr.c:168
+#: agent/gpg-agent.c:168 dirmngr/dirmngr.c:169
 msgid "run in supervised mode"
 msgstr "スーパーバイズド・モードで実行"
 
-#: agent/gpg-agent.c:170 g10/gpg.c:608 g10/gpgv.c:78 kbx/kbxutil.c:88
-#: scd/scdaemon.c:121 sm/gpgsm.c:310 dirmngr/dirmngr-client.c:70
-#: dirmngr/dirmngr.c:181 dirmngr/dirmngr_ldap.c:135
-#: tools/gpg-connect-agent.c:78 tools/gpgconf.c:108
+#: agent/gpg-agent.c:170 g10/gpg.c:605 g10/gpgv.c:78 kbx/kbxutil.c:88
+#: scd/scdaemon.c:121 sm/gpgsm.c:311 dirmngr/dirmngr-client.c:70
+#: dirmngr/dirmngr.c:182 tools/gpg-connect-agent.c:78 tools/gpgconf.c:108
 msgid "verbose"
 msgstr "冗長"
 
 #: agent/gpg-agent.c:171 g10/gpgv.c:79 kbx/kbxutil.c:89 scd/scdaemon.c:122
-#: sm/gpgsm.c:311 dirmngr/dirmngr-client.c:71 dirmngr/dirmngr.c:182
-#: dirmngr/dirmngr_ldap.c:136
+#: sm/gpgsm.c:312 dirmngr/dirmngr-client.c:71 dirmngr/dirmngr.c:183
 msgid "be somewhat more quiet"
 msgstr "いくらかおとなしく"
 
-#: agent/gpg-agent.c:172 scd/scdaemon.c:123 dirmngr/dirmngr.c:183
+#: agent/gpg-agent.c:172 scd/scdaemon.c:123 dirmngr/dirmngr.c:184
 msgid "sh-style command output"
 msgstr "sh-形式のコマンド出力"
 
-#: agent/gpg-agent.c:173 scd/scdaemon.c:124 dirmngr/dirmngr.c:184
+#: agent/gpg-agent.c:173 scd/scdaemon.c:124 dirmngr/dirmngr.c:185
 msgid "csh-style command output"
 msgstr "csh-形式のコマンド出力"
 
-#: agent/gpg-agent.c:174 scd/scdaemon.c:125 sm/gpgsm.c:341
-#: dirmngr/dirmngr.c:185
+#: agent/gpg-agent.c:174 scd/scdaemon.c:125 sm/gpgsm.c:344
+#: dirmngr/dirmngr.c:186
 msgid "|FILE|read options from FILE"
 msgstr "|FILE|FILEからオプションを読み込みます"
 
-#: agent/gpg-agent.c:183 scd/scdaemon.c:135 dirmngr/dirmngr.c:188
+#: agent/gpg-agent.c:183 scd/scdaemon.c:135 dirmngr/dirmngr.c:189
 msgid "do not detach from the console"
 msgstr "コンソールからデタッチしない"
 
@@ -502,9 +501,9 @@ msgstr "puttyサポートを有功にする"
 #. reporting address.  This is so that we can change the
 #. reporting address without breaking the translations.
 #: agent/gpg-agent.c:531 agent/preset-passphrase.c:100 agent/protect-tool.c:155
-#: g10/gpg.c:1070 g10/gpgv.c:149 kbx/kbxutil.c:113 scd/scdaemon.c:298
-#: sm/gpgsm.c:567 dirmngr/dirmngr-client.c:168 dirmngr/dirmngr.c:404
-#: dirmngr/dirmngr_ldap.c:207 tools/gpg-connect-agent.c:205 tools/gpgconf.c:146
+#: g10/gpg.c:1074 g10/gpgv.c:149 kbx/kbxutil.c:113 scd/scdaemon.c:299
+#: sm/gpgsm.c:570 dirmngr/dirmngr-client.c:168 dirmngr/dirmngr.c:412
+#: tools/gpg-connect-agent.c:205 tools/gpgconf.c:146
 #: tools/gpg-check-pattern.c:143
 msgid "Please report bugs to <@EMAIL@>.\n"
 msgstr "バグは <@EMAIL@> までご報告ください。\n"
@@ -521,37 +520,37 @@ msgstr ""
 "形式: @GPG_AGENT@ [オプション] [コマンド [引数]]\n"
 "@GnuPG@の秘密鍵の管理\n"
 
-#: agent/gpg-agent.c:587 g10/gpg.c:1262 scd/scdaemon.c:370 sm/gpgsm.c:715
-#: dirmngr/dirmngr.c:488
+#: agent/gpg-agent.c:587 g10/gpg.c:1270 scd/scdaemon.c:371 sm/gpgsm.c:718
+#: dirmngr/dirmngr.c:496
 #, c-format
 msgid "invalid debug-level '%s' given\n"
 msgstr "無効なdebug-level '%s'が与えられました\n"
 
-#: agent/gpg-agent.c:945 g10/gpg.c:3753 g10/gpg.c:3777 sm/gpgsm.c:1631
-#: sm/gpgsm.c:1637
+#: agent/gpg-agent.c:945 g10/gpg.c:3773 g10/gpg.c:3797 sm/gpgsm.c:1531
+#: sm/gpgsm.c:1537
 #, c-format
 msgid "selected digest algorithm is invalid\n"
 msgstr "選択されたダイジェスト・アルゴリズムは、無効です\n"
 
 #: agent/gpg-agent.c:1168 agent/gpg-agent.c:2023 common/argparse.c:1755
-#: common/argparse.c:1847 g10/gpg.c:2482 scd/scdaemon.c:532 sm/gpgsm.c:1063
-#: dirmngr/dirmngr.c:956 dirmngr/dirmngr.c:1841
+#: common/argparse.c:1847 g10/gpg.c:2495 scd/scdaemon.c:533 sm/gpgsm.c:977
+#: dirmngr/dirmngr.c:994 dirmngr/dirmngr.c:1878
 #, c-format
 msgid "reading options from '%s'\n"
 msgstr "'%s' からオプションを読み込みます\n"
 
-#: agent/gpg-agent.c:1300 g10/gpg.c:3704 scd/scdaemon.c:655 sm/gpgsm.c:1571
-#: dirmngr/dirmngr.c:1067 tools/gpg-connect-agent.c:1244 tools/gpgconf.c:624
+#: agent/gpg-agent.c:1300 g10/gpg.c:3724 scd/scdaemon.c:657 sm/gpgsm.c:1471
+#: dirmngr/dirmngr.c:1102 tools/gpg-connect-agent.c:1244 tools/gpgconf.c:624
 #, c-format
 msgid "Note: '%s' is not considered an option\n"
 msgstr "注意: '%s'はオプションとは考えられません\n"
 
-#: agent/gpg-agent.c:2159 scd/scdaemon.c:1096 dirmngr/dirmngr.c:1219
+#: agent/gpg-agent.c:2159 scd/scdaemon.c:1098 dirmngr/dirmngr.c:1256
 #, c-format
 msgid "can't create socket: %s\n"
 msgstr "ソケットが作成できません: %s\n"
 
-#: agent/gpg-agent.c:2176 scd/scdaemon.c:1109 dirmngr/dirmngr.c:1232
+#: agent/gpg-agent.c:2176 scd/scdaemon.c:1111 dirmngr/dirmngr.c:1269
 #, c-format
 msgid "socket name '%s' is too long\n"
 msgstr "ソケット名'%s'は長すぎます\n"
@@ -561,29 +560,29 @@ msgstr "ソケット名'%s'は長すぎます\n"
 msgid "a gpg-agent is already running - not starting a new one\n"
 msgstr "gpg-agentは既に実行されています - 新しいものをスタートさせません\n"
 
-#: agent/gpg-agent.c:2226 scd/scdaemon.c:1133 dirmngr/dirmngr.c:1264
+#: agent/gpg-agent.c:2226 scd/scdaemon.c:1135 dirmngr/dirmngr.c:1301
 #, c-format
 msgid "error getting nonce for the socket\n"
 msgstr "ソケットのナンス取得エラー\n"
 
-#: agent/gpg-agent.c:2231 scd/scdaemon.c:1136 dirmngr/dirmngr.c:1267
+#: agent/gpg-agent.c:2231 scd/scdaemon.c:1138 dirmngr/dirmngr.c:1304
 #, c-format
 msgid "error binding socket to '%s': %s\n"
 msgstr "'%s'でソケットのバインドのエラー: %s\n"
 
 #: agent/gpg-agent.c:2242 agent/gpg-agent.c:2282 agent/gpg-agent.c:2291
-#: scd/scdaemon.c:1144 dirmngr/dirmngr.c:1276
+#: scd/scdaemon.c:1146 dirmngr/dirmngr.c:1313
 #, c-format
 msgid "can't set permissions of '%s': %s\n"
 msgstr "'%s'の許可が設定できません: %s\n"
 
-#: agent/gpg-agent.c:2256 scd/scdaemon.c:1156 dirmngr/dirmngr.c:1288
+#: agent/gpg-agent.c:2256 scd/scdaemon.c:1158 dirmngr/dirmngr.c:1325
 #, c-format
 msgid "listening on socket '%s'\n"
 msgstr "ソケット'%s'でlisten\n"
 
 #: agent/gpg-agent.c:2276 agent/gpg-agent.c:2329 common/homedir.c:517
-#: g10/exec.c:261 g10/openfile.c:397
+#: g10/exec.c:269 g10/openfile.c:397
 #, c-format
 msgid "can't create directory '%s': %s\n"
 msgstr "ディレクトリ'%s'が作成できません: %s\n"
@@ -604,7 +603,7 @@ msgstr "'%s'でstat()が失敗しました: %s\n"
 msgid "can't use '%s' as home directory\n"
 msgstr "'%s'をホーム・ディレクトリに使えません\n"
 
-#: agent/gpg-agent.c:2502 scd/scdaemon.c:1172 dirmngr/dirmngr.c:2047
+#: agent/gpg-agent.c:2502 scd/scdaemon.c:1174 dirmngr/dirmngr.c:2084
 #, c-format
 msgid "error reading nonce on fd %d: %s\n"
 msgstr "fd %dでナンスの読み込みエラー: %s\n"
@@ -629,12 +628,12 @@ msgstr "ssh ハンドラ0x%lx (fd %d に対する)が開始\n"
 msgid "ssh handler 0x%lx for fd %d terminated\n"
 msgstr "ssh ハンドラ0x%lx (fd %d に対する)が終了\n"
 
-#: agent/gpg-agent.c:3016 scd/scdaemon.c:1362 dirmngr/dirmngr.c:2261
+#: agent/gpg-agent.c:3016 scd/scdaemon.c:1366 dirmngr/dirmngr.c:2298
 #, c-format
 msgid "npth_pselect failed: %s - waiting 1s\n"
 msgstr "npth_pselectに失敗しました: %s - 一秒待ちます\n"
 
-#: agent/gpg-agent.c:3104 scd/scdaemon.c:1427
+#: agent/gpg-agent.c:3104 scd/scdaemon.c:1431
 #, c-format
 msgid "%s %s stopped\n"
 msgstr "%s %s 停止しました\n"
@@ -657,8 +656,8 @@ msgstr ""
 "形式: gpg-preset-passphrase [オプション] KEYGRIP\n"
 "パスワードキャッシュの管理\n"
 
-#: agent/protect-tool.c:108 g10/gpg.c:440 kbx/kbxutil.c:71 sm/gpgsm.c:204
-#: dirmngr/dirmngr.c:163 tools/gpgconf.c:78
+#: agent/protect-tool.c:108 g10/gpg.c:437 kbx/kbxutil.c:71 sm/gpgsm.c:205
+#: dirmngr/dirmngr.c:164 tools/gpgconf.c:78
 msgid ""
 "@Commands:\n"
 " "
@@ -666,8 +665,8 @@ msgstr ""
 "@コマンド:\n"
 " "
 
-#: agent/protect-tool.c:117 g10/gpg.c:553 g10/gpgv.c:76 kbx/kbxutil.c:81
-#: sm/gpgsm.c:252 dirmngr/dirmngr.c:179 tools/gpg-connect-agent.c:76
+#: agent/protect-tool.c:117 g10/gpg.c:550 g10/gpgv.c:76 kbx/kbxutil.c:81
+#: sm/gpgsm.c:253 dirmngr/dirmngr.c:180 tools/gpg-connect-agent.c:76
 #: tools/gpgconf.c:105
 msgid ""
 "@\n"
@@ -690,11 +689,11 @@ msgstr ""
 "形式: gpg-protect-tool [オプション] [引数]\n"
 "秘密鍵管理ツール\n"
 
-#: agent/protect-tool.c:703
+#: agent/protect-tool.c:703 sm/import.c:774
 msgid "Please enter the passphrase to unprotect the PKCS#12 object."
 msgstr "パスフレーズを入力してください。PKCS#12オブジェクトを解除します。"
 
-#: agent/protect-tool.c:708
+#: agent/protect-tool.c:708 sm/export.c:710
 msgid "Please enter the passphrase to protect the new PKCS#12 object."
 msgstr ""
 "パスフレーズを入力してください。新しいPKCS#12オブジェクトを解除します。"
@@ -725,7 +724,7 @@ msgstr "キャンセルされました\n"
 msgid "error while asking for the passphrase: %s\n"
 msgstr "パスフレーズを問い合わせする際、エラー: %s\n"
 
-#: agent/trustlist.c:154 agent/trustlist.c:364 dirmngr/dirmngr.c:1629
+#: agent/trustlist.c:154 agent/trustlist.c:364 dirmngr/dirmngr.c:1666
 #: tools/gpgconf.c:418
 #, c-format
 msgid "error opening '%s': %s\n"
@@ -884,7 +883,7 @@ msgstr "作成された署名の検査に失敗しました: %s\n"
 msgid "secret key parts are not available\n"
 msgstr "秘密部分が得られません\n"
 
-#: agent/cvt-openpgp.c:344 g10/card-util.c:1540
+#: agent/cvt-openpgp.c:344 g10/card-util.c:1541
 #, c-format
 msgid "public key algorithm %d (%s) is not supported\n"
 msgstr "公開鍵アルゴリズム%d (%s)はサポートされていません\n"
@@ -899,21 +898,21 @@ msgstr "保護アルゴリズム%d (%s)はサポートされていません\n"
 msgid "protection hash algorithm %d (%s) is not supported\n"
 msgstr "保護ハッシュ・アルゴリズム%d (%s)はサポートされていません\n"
 
-#: common/exechelp-posix.c:359 common/exechelp-w32.c:449
-#: common/exechelp-w32.c:473 common/exechelp-w32.c:503
+#: common/exechelp-posix.c:359 common/exechelp-w32.c:451
+#: common/exechelp-w32.c:475 common/exechelp-w32.c:505
 #, c-format
 msgid "error creating a pipe: %s\n"
 msgstr "パイプの作成エラー: %s\n"
 
 #: common/exechelp-posix.c:372 common/exechelp-w32.c:355
-#: common/exechelp-w32.c:459 common/exechelp-w32.c:483
-#: common/exechelp-w32.c:513
+#: common/exechelp-w32.c:461 common/exechelp-w32.c:485
+#: common/exechelp-w32.c:515
 #, c-format
 msgid "error creating a stream for a pipe: %s\n"
 msgstr "パイプのストリーム作成エラー: %s\n"
 
 #: common/exechelp-posix.c:495 common/exechelp-posix.c:570
-#: common/exechelp-posix.c:851 dirmngr/dirmngr.c:1306
+#: common/exechelp-posix.c:856 dirmngr/dirmngr.c:1343
 #, c-format
 msgid "error forking process: %s\n"
 msgstr "プロセスforkエラー: %s\n"
@@ -923,28 +922,28 @@ msgstr "プロセスforkエラー: %s\n"
 msgid "waiting for process %d to terminate failed: %s\n"
 msgstr "プロセス%dの終了待ちが失敗: %s\n"
 
-#: common/exechelp-posix.c:678 common/exechelp-posix.c:794
+#: common/exechelp-posix.c:678 common/exechelp-posix.c:799
 #, c-format
 msgid "error running '%s': probably not installed\n"
 msgstr "'%s'の実行エラー: おそらくインストールされていません\n"
 
-#: common/exechelp-posix.c:684 common/exechelp-posix.c:801
-#: common/exechelp-w32.c:796 common/exechelp-w32ce.c:781
+#: common/exechelp-posix.c:684 common/exechelp-posix.c:806
+#: common/exechelp-w32.c:829 common/exechelp-w32ce.c:781
 #, c-format
 msgid "error running '%s': exit status %d\n"
 msgstr "'%s'の実行エラー: exitステイタス %d\n"
 
-#: common/exechelp-posix.c:692 common/exechelp-posix.c:809
+#: common/exechelp-posix.c:692 common/exechelp-posix.c:814
 #, c-format
 msgid "error running '%s': terminated\n"
 msgstr "'%s'の実行エラー: 終了しました\n"
 
-#: common/exechelp-posix.c:750 common/exechelp-w32.c:777
+#: common/exechelp-posix.c:755 common/exechelp-w32.c:810
 #, c-format
 msgid "waiting for processes to terminate failed: %s\n"
 msgstr "プロセスの終了待ちが失敗: %s\n"
 
-#: common/exechelp-w32.c:789 common/exechelp-w32ce.c:775
+#: common/exechelp-w32.c:822 common/exechelp-w32ce.c:775
 #, c-format
 msgid "error getting exit code of process %d: %s\n"
 msgstr "プロセス %d のexitコード取得エラー: %s\n"
@@ -1039,7 +1038,7 @@ msgstr "%luバイトの確保においてセキュア・メモリが足りませ
 msgid "out of core while allocating %lu bytes"
 msgstr "%luバイトの確保においてメモリが足りません"
 
-#: common/miscellaneous.c:115 g10/card-util.c:896 tools/no-libgcrypt.c:30
+#: common/miscellaneous.c:115 g10/card-util.c:897 tools/no-libgcrypt.c:30
 #, c-format
 msgid "error allocating enough memory: %s\n"
 msgstr "十分なメモリの確保のエラー: %s\n"
@@ -1059,7 +1058,7 @@ msgstr ""
 #: common/miscellaneous.c:618
 #, c-format
 msgid "unknown debug flag '%s' ignored\n"
-msgstr "未知のdebugフラグ'%s'は無視されました\n"
+msgstr "不明のdebugフラグ'%s'は無視されました\n"
 
 #: common/asshelp.c:335
 #, c-format
@@ -1154,7 +1153,7 @@ msgid "algorithm: %s"
 msgstr "アルゴリズム: %s"
 
 #: common/audit.c:774 common/audit.c:776 common/audit.c:921 common/audit.c:923
-#: scd/app-openpgp.c:3555
+#: scd/app-openpgp.c:3554
 #, c-format
 msgid "unsupported algorithm: %s"
 msgstr "サポートされていないアルゴリズム: %s"
@@ -1279,6 +1278,26 @@ msgstr "[未設定]"
 msgid "invalid radix64 character %02x skipped\n"
 msgstr "無効な64進文字%02Xをスキップしました\n"
 
+#: common/ttyio.c:433
+#, c-format
+msgid "Sorry, we are in batchmode - can't get input\n"
+msgstr "すみません、バッチモードです - 入力を得られません\n"
+
+#: common/ttyio.c:439
+#, c-format
+msgid "Sorry, no terminal at all requested - can't get input\n"
+msgstr "すみません、端末なしが要求されています - 入力を得られません\n"
+
+#: common/ttyio.c:474 common/ttyio.c:484
+#, c-format
+msgid "too many errors; giving up\n"
+msgstr "エラーが多すぎます。あきらめます\n"
+
+#: common/ttyio.c:536
+#, c-format
+msgid "Control-D detected\n"
+msgstr "コントロールD が検出されました\n"
+
 #: common/argparse.c:520
 msgid "argument not expected"
 msgstr "引数は期待されていません"
@@ -1309,29 +1328,23 @@ msgstr "無効なエイリアス定義です"
 
 #: common/argparse.c:534 common/argparse.c:571
 msgid "permission error"
-msgstr ""
+msgstr "許可のエラー"
 
 #: common/argparse.c:536 common/argparse.c:569
 msgid "out of core"
 msgstr "メモリがありません"
 
 #: common/argparse.c:540 common/argparse.c:575
-#, fuzzy
-#| msgid "invalid command"
 msgid "invalid meta command"
-msgstr "無効なコマンド"
+msgstr "ç\84¡å\8a¹ã\81ªã\83¡ã\82¿ã\82³ã\83\9eã\83³ã\83\89"
 
 #: common/argparse.c:542 common/argparse.c:577
-#, fuzzy
-#| msgid "unknown command '%s'\n"
 msgid "unknown meta command"
-msgstr "ä¸\8dæ\98\8eã\81®ã\82³ã\83\9eã\83³ã\83\89'%s'\n"
+msgstr "ä¸\8dæ\98\8eã\81®ã\83¡ã\82¿ã\82³ã\83\9eã\83³ã\83\89"
 
 #: common/argparse.c:544 common/argparse.c:579
-#, fuzzy
-#| msgid "unexpected armor: "
 msgid "unexpected meta command"
-msgstr "予期せぬ外装: "
+msgstr "予期せぬメタコマンド"
 
 #: common/argparse.c:546
 msgid "invalid option"
@@ -1342,7 +1355,7 @@ msgstr "無効なオプション"
 msgid "missing argument for option \"%.50s\"\n"
 msgstr "オプション\"%.50s\"に引数がありません\n"
 
-#: common/argparse.c:558 g10/gpg.c:3490
+#: common/argparse.c:558 g10/gpg.c:3510
 #, c-format
 msgid "invalid argument for option \"%.50s\"\n"
 msgstr "オプション\"%.50s\"には無効な引数です\n"
@@ -1385,7 +1398,7 @@ msgstr "オプション・ファイル '%s': %s\n"
 #: common/argparse.c:2255
 #, c-format
 msgid "Note: ignoring option \"--%s\" due to global config\n"
-msgstr ""
+msgstr "注意: オプション \"--%s\" をグローバルコンフィグのために無視してます\n"
 
 #: common/utf8conv.c:123
 #, c-format
@@ -1412,31 +1425,31 @@ msgstr "一時ファイル'%s'が作成できません: %s\n"
 msgid "error writing to '%s': %s\n"
 msgstr "'%s'の書き込みエラー: %s\n"
 
-#: common/dotlock.c:1129
+#: common/dotlock.c:1137
 #, c-format
 msgid "removing stale lockfile (created by %d)\n"
 msgstr "古い lockfile (%d により作成)を除去します\n"
 
-#: common/dotlock.c:1165
+#: common/dotlock.c:1173
 #, c-format
 msgid "waiting for lock (held by %d%s) %s...\n"
 msgstr "lockを待ちます (%d%s により保持) %s...\n"
 
-#: common/dotlock.c:1166
+#: common/dotlock.c:1174
 msgid "(deadlock?) "
 msgstr "(デッドロック?) "
 
-#: common/dotlock.c:1205
+#: common/dotlock.c:1213
 #, c-format
 msgid "lock '%s' not made: %s\n"
 msgstr "lock '%s' は作成されませんでした: %s\n"
 
-#: common/dotlock.c:1232
+#: common/dotlock.c:1240
 #, c-format
 msgid "waiting for lock %s...\n"
 msgstr "lock %s を待ちます...\n"
 
-#: common/init.c:185 sm/gpgsm.c:949 dirmngr/dirmngr.c:862 dirmngr/dirmngr.c:871
+#: common/init.c:191 sm/gpgsm.c:863 dirmngr/dirmngr.c:900 dirmngr/dirmngr.c:909
 #, c-format
 msgid "%s is too old (need %s, have %s)\n"
 msgstr "%s が古すぎます (%s が必要、現在 %s)\n"
@@ -1618,12 +1631,12 @@ msgid "Note: Use the command \"%s\" to restart them.\n"
 msgstr "注意: \"%s\"コマンドを使って再起動してください。\n"
 
 #: g10/call-agent.c:318 g10/encrypt.c:154 g10/encrypt.c:620 g10/sign.c:412
-#: sm/call-agent.c:205 sm/encrypt.c:425 sm/sign.c:345
+#: sm/call-agent.c:205 sm/encrypt.c:426 sm/sign.c:345
 #, c-format
 msgid "%s is not compliant with %s mode\n"
 msgstr "%sは%sモードに準拠しません\n"
 
-#: g10/call-dirmngr.c:209 sm/call-dirmngr.c:268 tools/gpg-connect-agent.c:2253
+#: g10/call-dirmngr.c:209 sm/call-dirmngr.c:269 tools/gpg-connect-agent.c:2253
 #, c-format
 msgid "no dirmngr running in this session\n"
 msgstr "このセッションでdirmngrは実行されていません\n"
@@ -1661,22 +1674,22 @@ msgstr "サーバからの受け容れることのできないHTTPりダイレ
 msgid "server uses an invalid certificate"
 msgstr "サーバは無効な証明書を使っています"
 
-#: g10/call-dirmngr.c:437 g10/gpg.c:4400
+#: g10/call-dirmngr.c:437 g10/gpg.c:4421
 #, c-format
 msgid "Note: %s\n"
 msgstr "注意: %s\n"
 
-#: g10/card-util.c:86 g10/card-util.c:366 g10/card-util.c:1902
+#: g10/card-util.c:86 g10/card-util.c:366 g10/card-util.c:1903
 #, c-format
 msgid "OpenPGP card not available: %s\n"
 msgstr "OpenPGPカードが利用できません: %s\n"
 
-#: g10/card-util.c:91 g10/card-util.c:1908
+#: g10/card-util.c:91 g10/card-util.c:1909
 #, c-format
 msgid "OpenPGP card no. %s detected\n"
 msgstr "OpenPGPカードno. %sを検出\n"
 
-#: g10/card-util.c:97 g10/card-util.c:2237 g10/delkey.c:160 g10/keyedit.c:1422
+#: g10/card-util.c:97 g10/card-util.c:2238 g10/delkey.c:160 g10/keyedit.c:1423
 #: g10/keygen.c:4466 g10/revoke.c:214 g10/revoke.c:636
 #, c-format
 msgid "can't do this in batch mode\n"
@@ -1687,13 +1700,13 @@ msgstr "これはバッチ・モードではできません\n"
 msgid "This command is only available for version 2 cards\n"
 msgstr "このコマンドが使えるのはバージョン2のカードだけです\n"
 
-#: g10/card-util.c:107 scd/app-openpgp.c:2864
+#: g10/card-util.c:107 scd/app-openpgp.c:2863
 #, c-format
 msgid "Reset Code not or not anymore available\n"
 msgstr "リセット・コードが(もはや)利用可能ではありません\n"
 
-#: g10/card-util.c:140 g10/card-util.c:1426 g10/card-util.c:1688
-#: g10/card-util.c:1780 g10/keyedit.c:394 g10/keyedit.c:415 g10/keyedit.c:429
+#: g10/card-util.c:140 g10/card-util.c:1427 g10/card-util.c:1689
+#: g10/card-util.c:1781 g10/keyedit.c:394 g10/keyedit.c:415 g10/keyedit.c:429
 #: g10/keygen.c:1808 g10/keygen.c:1980 g10/keygen.c:2186 g10/keygen.c:2477
 #: sm/certreqgen-ui.c:165 sm/certreqgen-ui.c:291 sm/certreqgen-ui.c:325
 msgid "Your selection? "
@@ -1719,104 +1732,104 @@ msgstr "強制なし"
 msgid "forced"
 msgstr "強制"
 
-#: g10/card-util.c:749
+#: g10/card-util.c:750
 msgid "Error: Only plain ASCII is currently allowed.\n"
 msgstr "エラー: 普通のASCIIだけが今、許可されています。\n"
 
-#: g10/card-util.c:751
+#: g10/card-util.c:752
 msgid "Error: The \"<\" character may not be used.\n"
 msgstr "エラー: \"<\"文字は使えません。\n"
 
-#: g10/card-util.c:753
+#: g10/card-util.c:754
 msgid "Error: Double spaces are not allowed.\n"
 msgstr "エラー: 二重の空白は禁止です。\n"
 
-#: g10/card-util.c:770
+#: g10/card-util.c:771
 msgid "Cardholder's surname: "
 msgstr "カード所有者の姓 (surname): "
 
-#: g10/card-util.c:772
+#: g10/card-util.c:773
 msgid "Cardholder's given name: "
 msgstr "カード所有者の名 (given name): "
 
-#: g10/card-util.c:790
+#: g10/card-util.c:791
 #, c-format
 msgid "Error: Combined name too long (limit is %d characters).\n"
 msgstr "エラー: つないだ名前が長すぎます (上限%d文字)。\n"
 
-#: g10/card-util.c:811
+#: g10/card-util.c:812
 msgid "URL to retrieve public key: "
 msgstr "公開鍵を取得するURL: "
 
-#: g10/card-util.c:905 g10/decrypt-data.c:490 g10/import.c:387 g10/import.c:734
-#: g10/import.c:786 dirmngr/crlcache.c:655 dirmngr/crlcache.c:660
-#: dirmngr/crlcache.c:914 dirmngr/crlcache.c:920 dirmngr/dirmngr.c:1668
+#: g10/card-util.c:906 g10/decrypt-data.c:490 g10/import.c:399 g10/import.c:746
+#: g10/import.c:798 dirmngr/crlcache.c:655 dirmngr/crlcache.c:660
+#: dirmngr/crlcache.c:914 dirmngr/crlcache.c:920 dirmngr/dirmngr.c:1705
 #: tools/gpgconf.c:431 tools/gpgconf.c:477
 #, c-format
 msgid "error reading '%s': %s\n"
 msgstr "'%s'の読み込みエラー: %s\n"
 
-#: g10/card-util.c:938 g10/decrypt-data.c:493 g10/export.c:2467
+#: g10/card-util.c:939 g10/decrypt-data.c:493 g10/export.c:2467
 #: dirmngr/crlcache.c:925
 #, c-format
 msgid "error writing '%s': %s\n"
 msgstr "'%s'の書き込みエラー: %s\n"
 
-#: g10/card-util.c:965
+#: g10/card-util.c:966
 msgid "Login data (account name): "
 msgstr "ログイン・データ (アカウント名): "
 
-#: g10/card-util.c:1003
+#: g10/card-util.c:1004
 msgid "Private DO data: "
 msgstr "プライベート DO データ: "
 
-#: g10/card-util.c:1088
+#: g10/card-util.c:1089
 msgid "Language preferences: "
 msgstr "言語の優先指定: "
 
-#: g10/card-util.c:1096
+#: g10/card-util.c:1097
 msgid "Error: invalid length of preference string.\n"
 msgstr "エラー: 優先指定の文字列の長さが無効です。\n"
 
-#: g10/card-util.c:1105
+#: g10/card-util.c:1106
 msgid "Error: invalid characters in preference string.\n"
 msgstr "エラー: 優先指定の文字列に無効な文字があります。\n"
 
-#: g10/card-util.c:1127
+#: g10/card-util.c:1128
 msgid "Salutation (M = Mr., F = Ms., or space): "
 msgstr "敬称 (M = Mr., F = Ms., あるいは空白): "
 
-#: g10/card-util.c:1141
+#: g10/card-util.c:1142
 msgid "Error: invalid response.\n"
 msgstr "エラー: 無効な応答。\n"
 
-#: g10/card-util.c:1163
+#: g10/card-util.c:1164
 msgid "CA fingerprint: "
 msgstr "CAのフィンガープリント: "
 
-#: g10/card-util.c:1186
+#: g10/card-util.c:1187
 msgid "Error: invalid formatted fingerprint.\n"
 msgstr "エラー: 無効な形式のフィンガープリント。\n"
 
-#: g10/card-util.c:1236
+#: g10/card-util.c:1237
 #, c-format
 msgid "key operation not possible: %s\n"
 msgstr "鍵は操作できません: %s\n"
 
-#: g10/card-util.c:1237
+#: g10/card-util.c:1238
 msgid "not an OpenPGP card"
 msgstr "OpenPGPカードでありません"
 
-#: g10/card-util.c:1250 g10/keygen.c:4486 g10/keygen.c:5565
+#: g10/card-util.c:1251 g10/keygen.c:4486 g10/keygen.c:5565
 #, c-format
 msgid "error getting current key info: %s\n"
 msgstr "現行鍵情報の取得エラー: %s\n"
 
-#: g10/card-util.c:1335
+#: g10/card-util.c:1336
 msgid "Replace existing key? (y/N) "
 msgstr "既存の鍵を置き換えしますか? (y/N) "
 
-#: g10/card-util.c:1352
+#: g10/card-util.c:1353
 msgid ""
 "Note: There is no guarantee that the card supports the requested size.\n"
 "      If the key generation does not succeed, please check the\n"
@@ -1826,98 +1839,98 @@ msgstr ""
 "      鍵生成が成功しない場合、あなたのカードに関する技術文書を確認し、\n"
 "      利用できる鍵長について確認ください。\n"
 
-#: g10/card-util.c:1374 g10/keygen.c:2363 sm/certreqgen-ui.c:179
+#: g10/card-util.c:1375 g10/keygen.c:2363 sm/certreqgen-ui.c:179
 #, c-format
 msgid "What keysize do you want? (%u) "
 msgstr "鍵長は? (%u) "
 
-#: g10/card-util.c:1384 g10/keygen.c:2286 g10/keygen.c:2318
+#: g10/card-util.c:1385 g10/keygen.c:2286 g10/keygen.c:2318
 #: sm/certreqgen-ui.c:194
 #, c-format
 msgid "rounded up to %u bits\n"
 msgstr "%uビットに切り上げます\n"
 
-#: g10/card-util.c:1392 g10/keygen.c:2371 sm/certreqgen-ui.c:184
+#: g10/card-util.c:1393 g10/keygen.c:2371 sm/certreqgen-ui.c:184
 #, c-format
 msgid "%s keysizes must be in the range %u-%u\n"
 msgstr "%s 鍵長は %u-%u の範囲でなければなりません\n"
 
-#: g10/card-util.c:1411
+#: g10/card-util.c:1412
 msgid "Changing card key attribute for: "
 msgstr "こちらのカード鍵の属性を変更します: "
 
-#: g10/card-util.c:1413
+#: g10/card-util.c:1414
 msgid "Signature key\n"
 msgstr "署名鍵\n"
 
-#: g10/card-util.c:1415
+#: g10/card-util.c:1416
 msgid "Encryption key\n"
 msgstr "暗号化鍵\n"
 
-#: g10/card-util.c:1417
+#: g10/card-util.c:1418
 msgid "Authentication key\n"
 msgstr "認証鍵\n"
 
-#: g10/card-util.c:1419 g10/keygen.c:1926 sm/certreqgen-ui.c:157
+#: g10/card-util.c:1420 g10/keygen.c:1926 sm/certreqgen-ui.c:157
 msgid "Please select what kind of key you want:\n"
 msgstr "ご希望の鍵の種類を選択してください:\n"
 
-#: g10/card-util.c:1420 sm/certreqgen-ui.c:158
+#: g10/card-util.c:1421 sm/certreqgen-ui.c:158
 #, c-format
 msgid "   (%d) RSA\n"
 msgstr "   (%d) RSA\n"
 
-#: g10/card-util.c:1421
+#: g10/card-util.c:1422
 #, c-format
 msgid "   (%d) ECC\n"
 msgstr "   (%d) ECC\n"
 
-#: g10/card-util.c:1433 g10/card-util.c:1700 g10/card-util.c:1800
-#: g10/keyedit.c:899 g10/keygen.c:1834 g10/keygen.c:1862 g10/keygen.c:1987
+#: g10/card-util.c:1434 g10/card-util.c:1701 g10/card-util.c:1801
+#: g10/keyedit.c:900 g10/keygen.c:1834 g10/keygen.c:1862 g10/keygen.c:1987
 #: g10/keygen.c:2222 g10/keygen.c:2505 g10/revoke.c:838
 msgid "Invalid selection.\n"
 msgstr "無効な選択です。\n"
 
-#: g10/card-util.c:1506
+#: g10/card-util.c:1507
 #, c-format
 msgid "The card will now be re-configured to generate a key of %u bits\n"
 msgstr "カードは、今、%uビットの鍵を生成するように再コンフィグされます\n"
 
-#: g10/card-util.c:1511
+#: g10/card-util.c:1512
 #, c-format
 msgid "The card will now be re-configured to generate a key of type: %s\n"
 msgstr ""
 "カードは、今、こちらのタイプの鍵を生成するように再コンフィグされます: %s\n"
 
-#: g10/card-util.c:1547
+#: g10/card-util.c:1548
 #, c-format
 msgid "error changing key attribute for key %d: %s\n"
 msgstr "鍵%dの属性を変更する際にエラー: %s\n"
 
-#: g10/card-util.c:1563 g10/card-util.c:2090
+#: g10/card-util.c:1564 g10/card-util.c:2091
 #, c-format
 msgid "error getting card info: %s\n"
 msgstr "カード情報の取得エラー: %s\n"
 
-#: g10/card-util.c:1569 g10/card-util.c:1914 g10/card-util.c:2096
+#: g10/card-util.c:1570 g10/card-util.c:1915 g10/card-util.c:2097
 #, c-format
 msgid "This command is not supported by this card\n"
 msgstr "このカードでは、このコマンドはサポートされていません。\n"
 
-#: g10/card-util.c:1615
+#: g10/card-util.c:1616
 msgid "Make off-card backup of encryption key? (Y/n) "
 msgstr "暗号化鍵のカード外バックアップを作成しますか? (Y/n) "
 
-#: g10/card-util.c:1629
+#: g10/card-util.c:1630
 #, c-format
 msgid "Note: keys are already stored on the card!\n"
 msgstr "注意: 秘密鍵はもうカードに保管してあります!\n"
 
-#: g10/card-util.c:1632
+#: g10/card-util.c:1633
 msgid "Replace existing keys? (y/N) "
 msgstr "既存の鍵を置き換えますか? (y/N) "
 
-#: g10/card-util.c:1644
+#: g10/card-util.c:1645
 #, c-format
 msgid ""
 "Please note that the factory settings of the PINs are\n"
@@ -1928,142 +1941,142 @@ msgstr ""
 "   PIN = '%s'     管理者PIN = '%s'\n"
 "次のコマンドを使って変更すべきです --change-pin\n"
 
-#: g10/card-util.c:1679
+#: g10/card-util.c:1680
 msgid "Please select the type of key to generate:\n"
 msgstr "生成する鍵の型を選択してください:\n"
 
-#: g10/card-util.c:1681 g10/card-util.c:1771
+#: g10/card-util.c:1682 g10/card-util.c:1772
 msgid "   (1) Signature key\n"
 msgstr "   (1) 署名鍵\n"
 
-#: g10/card-util.c:1682 g10/card-util.c:1773
+#: g10/card-util.c:1683 g10/card-util.c:1774
 msgid "   (2) Encryption key\n"
 msgstr "   (2) 暗号化鍵\n"
 
-#: g10/card-util.c:1683 g10/card-util.c:1775
+#: g10/card-util.c:1684 g10/card-util.c:1776
 msgid "   (3) Authentication key\n"
 msgstr "   (3) 認証鍵\n"
 
-#: g10/card-util.c:1768
+#: g10/card-util.c:1769
 msgid "Please select where to store the key:\n"
 msgstr "鍵を保管する場所を選択してください:\n"
 
-#: g10/card-util.c:1814
+#: g10/card-util.c:1815
 #, c-format
 msgid "KEYTOCARD failed: %s\n"
 msgstr "KEYTOCARDが失敗しました: %s\n"
 
-#: g10/card-util.c:1919
+#: g10/card-util.c:1920
 #, c-format
 msgid "Note: This command destroys all keys stored on the card!\n"
 msgstr "注意: このコマンドはカードに保管してあるすべての鍵を破壊します!\n"
 
-#: g10/card-util.c:1922
+#: g10/card-util.c:1923
 msgid "Continue? (y/N) "
 msgstr "続けますか? (y/N) "
 
-#: g10/card-util.c:1927
+#: g10/card-util.c:1928
 msgid "Really do a factory reset? (enter \"yes\") "
 msgstr "工場出荷リセットを行いますか? (本当なら \"yes\" と入力) "
 
-#: g10/card-util.c:2113
+#: g10/card-util.c:2114
 #, c-format
 msgid "error for setup KDF: %s\n"
 msgstr "KDF設定のエラー: %s\n"
 
-#: g10/card-util.c:2142 g10/keyedit.c:1259
+#: g10/card-util.c:2143 g10/keyedit.c:1260
 msgid "quit this menu"
 msgstr "このメニューを終了"
 
-#: g10/card-util.c:2144
+#: g10/card-util.c:2145
 msgid "show admin commands"
 msgstr "管理コマンドを表示"
 
-#: g10/card-util.c:2145 g10/keyedit.c:1262
+#: g10/card-util.c:2146 g10/keyedit.c:1263
 msgid "show this help"
 msgstr "このヘルプを表示"
 
-#: g10/card-util.c:2147
+#: g10/card-util.c:2148
 msgid "list all available data"
 msgstr "全有効データを表示"
 
-#: g10/card-util.c:2150
+#: g10/card-util.c:2151
 msgid "change card holder's name"
 msgstr "カード所有者の名前の変更"
 
-#: g10/card-util.c:2151
+#: g10/card-util.c:2152
 msgid "change URL to retrieve key"
 msgstr "鍵を取得するURLの変更"
 
-#: g10/card-util.c:2152
+#: g10/card-util.c:2153
 msgid "fetch the key specified in the card URL"
 msgstr "カードURLで指定された鍵の取得"
 
-#: g10/card-util.c:2153
+#: g10/card-util.c:2154
 msgid "change the login name"
 msgstr "ログイン名の変更"
 
-#: g10/card-util.c:2154
+#: g10/card-util.c:2155
 msgid "change the language preferences"
 msgstr "言語の優先指定の変更"
 
-#: g10/card-util.c:2155
+#: g10/card-util.c:2156
 msgid "change card holder's salutation"
 msgstr "カード所有者の敬称の変更"
 
-#: g10/card-util.c:2157
+#: g10/card-util.c:2158
 msgid "change a CA fingerprint"
 msgstr "CAフィンガープリントの変更"
 
-#: g10/card-util.c:2158
+#: g10/card-util.c:2159
 msgid "toggle the signature force PIN flag"
 msgstr "署名強制PINフラグを反転"
 
-#: g10/card-util.c:2159
+#: g10/card-util.c:2160
 msgid "generate new keys"
 msgstr "新しい鍵を生成"
 
-#: g10/card-util.c:2160
+#: g10/card-util.c:2161
 msgid "menu to change or unblock the PIN"
 msgstr "PINブロックの解除や変更のメニュー"
 
-#: g10/card-util.c:2161
+#: g10/card-util.c:2162
 msgid "verify the PIN and list all data"
 msgstr "PINを確認しすべてのデータを表示する"
 
-#: g10/card-util.c:2162
+#: g10/card-util.c:2163
 msgid "unblock the PIN using a Reset Code"
 msgstr "PINをリセット・コードでブロックを解除する"
 
-#: g10/card-util.c:2163
+#: g10/card-util.c:2164
 msgid "destroy all keys and data"
 msgstr "すべての鍵とデータを破壊します"
 
-#: g10/card-util.c:2164
+#: g10/card-util.c:2165
 msgid "setup KDF for PIN authentication"
 msgstr "PIN認証のKDFを設定する"
 
-#: g10/card-util.c:2165
+#: g10/card-util.c:2166
 msgid "change the key attribute"
 msgstr "鍵の属性の変更"
 
-#: g10/card-util.c:2289
+#: g10/card-util.c:2290
 msgid "gpg/card> "
 msgstr "gpg/card> "
 
-#: g10/card-util.c:2330
+#: g10/card-util.c:2331
 msgid "Admin-only command\n"
 msgstr "管理者専用コマンド\n"
 
-#: g10/card-util.c:2361
+#: g10/card-util.c:2362
 msgid "Admin commands are allowed\n"
 msgstr "管理者コマンドが許可されています\n"
 
-#: g10/card-util.c:2363
+#: g10/card-util.c:2364
 msgid "Admin commands are not allowed\n"
 msgstr "管理者コマンドは禁止されています\n"
 
-#: g10/card-util.c:2466 g10/keyedit.c:2228
+#: g10/card-util.c:2467 g10/keyedit.c:2229
 msgid "Invalid command  (try \"help\")\n"
 msgstr "無効なコマンド (\"help\"を参照)\n"
 
@@ -2072,21 +2085,21 @@ msgstr "無効なコマンド (\"help\"を参照)\n"
 msgid "--output doesn't work for this command\n"
 msgstr "このコマンドで--outputは機能しません\n"
 
-#: g10/decrypt.c:247 g10/gpg.c:5083 g10/keyring.c:399 g10/keyring.c:750
+#: g10/decrypt.c:247 g10/gpg.c:5104 g10/keyring.c:399 g10/keyring.c:750
 #, c-format
 msgid "can't open '%s'\n"
 msgstr "'%s'が開けません\n"
 
 #: g10/delkey.c:83 g10/export.c:1947 g10/export.c:2230 g10/export.c:2351
-#: g10/getkey.c:1964 g10/gpg.c:5028 g10/keyedit.c:1444 g10/keyedit.c:2334
-#: g10/keyedit.c:2580 g10/keyedit.c:4543 g10/keylist.c:689 g10/keyserver.c:1259
+#: g10/getkey.c:2108 g10/gpg.c:5049 g10/keyedit.c:1445 g10/keyedit.c:2335
+#: g10/keyedit.c:2581 g10/keyedit.c:4544 g10/keylist.c:689 g10/keyserver.c:1092
 #: g10/revoke.c:230 g10/tofu.c:2165
 #, c-format
 msgid "key \"%s\" not found: %s\n"
 msgstr "鍵\"%s\"が見つかりません: %s\n"
 
-#: g10/delkey.c:92 g10/export.c:2015 g10/getkey.c:1972 g10/getkey.c:4346
-#: g10/gpg.c:5037 g10/keyedit.c:2307 g10/keyserver.c:1277 g10/revoke.c:236
+#: g10/delkey.c:92 g10/export.c:2015 g10/getkey.c:2116 g10/getkey.c:4517
+#: g10/gpg.c:5058 g10/keyedit.c:2308 g10/keyserver.c:1110 g10/revoke.c:236
 #: g10/revoke.c:663 g10/tofu.c:2173
 #, c-format
 msgid "error reading keyblock: %s\n"
@@ -2144,9 +2157,9 @@ msgstr "鍵"
 msgid "subkey"
 msgstr "副鍵: "
 
-#: g10/delkey.c:299 g10/keyedit.c:2200 g10/keyedit.c:2210 g10/keyedit.c:2387
-#: g10/keyedit.c:2461 g10/keyedit.c:2532 g10/keyedit.c:2757 g10/keyedit.c:2987
-#: g10/keyedit.c:3056 g10/keyedit.c:3207
+#: g10/delkey.c:299 g10/keyedit.c:2201 g10/keyedit.c:2211 g10/keyedit.c:2388
+#: g10/keyedit.c:2462 g10/keyedit.c:2533 g10/keyedit.c:2758 g10/keyedit.c:2988
+#: g10/keyedit.c:3057 g10/keyedit.c:3208
 #, c-format
 msgid "update failed: %s\n"
 msgstr "更新に失敗しました: %s\n"
@@ -2171,7 +2184,7 @@ msgstr "この公開鍵に対する秘密鍵\"%s\"があります!\n"
 msgid "use option \"--delete-secret-keys\" to delete it first.\n"
 msgstr "まず\"--delete-secret-keys\"オプションでこれを削除してください。\n"
 
-#: g10/encrypt.c:202 g10/sign.c:1471
+#: g10/encrypt.c:202 g10/sign.c:1470
 #, c-format
 msgid "error creating passphrase: %s\n"
 msgstr "パスフレーズの作成エラー: %s\n"
@@ -2196,14 +2209,14 @@ msgstr "'%s'はもう圧縮済みです\n"
 msgid "WARNING: '%s' is an empty file\n"
 msgstr "*警告*: '%s'は空のファイルです\n"
 
-#: g10/encrypt.c:387 g10/encrypt.c:610 g10/decrypt-data.c:260 g10/gpg.c:3901
-#: g10/gpg.c:3941 sm/decrypt.c:364 sm/encrypt.c:415 sm/gpgsm.c:1655
+#: g10/encrypt.c:387 g10/encrypt.c:610 g10/decrypt-data.c:260 g10/gpg.c:3922
+#: g10/gpg.c:3962 sm/decrypt.c:826 sm/encrypt.c:416 sm/gpgsm.c:1555
 #, c-format
 msgid "cipher algorithm '%s' may not be used in %s mode\n"
 msgstr "暗号アルゴリズム'%s'を%sモードで使うことはできません\n"
 
-#: g10/encrypt.c:396 g10/gpg.c:3907 g10/gpg.c:3953 g10/sig-check.c:146
-#: g10/sign.c:391 sm/gpgsm.c:1665 sm/gpgsm.c:1675 sm/sign.c:478 sm/verify.c:506
+#: g10/encrypt.c:396 g10/gpg.c:3928 g10/gpg.c:3974 g10/sig-check.c:146
+#: g10/sign.c:391 sm/gpgsm.c:1565 sm/gpgsm.c:1575 sm/sign.c:478 sm/verify.c:506
 #, c-format
 msgid "digest algorithm '%s' may not be used in %s mode\n"
 msgstr "ダイジェスト・アルゴリズム'%s'を%sモードで使うことはできません\n"
@@ -2220,12 +2233,12 @@ msgid ""
 msgstr ""
 "*警告*: 共通鍵暗号方式 %s (%d) の強制が、受取人の優先指定をそむきます\n"
 
-#: g10/encrypt.c:640 sm/encrypt.c:490
+#: g10/encrypt.c:640 sm/encrypt.c:491
 #, c-format
 msgid "WARNING: key %s is not suitable for encryption in %s mode\n"
 msgstr "*警告*: 鍵%sは、%sモードでは、暗号化に適しません\n"
 
-#: g10/encrypt.c:751 g10/sign.c:1163
+#: g10/encrypt.c:751 g10/sign.c:1162
 #, c-format
 msgid ""
 "WARNING: forcing compression algorithm %s (%d) violates recipient "
@@ -2253,12 +2266,12 @@ msgstr "オプション'%s'を%sモードで使うことはできません\n"
 msgid "%s encrypted data\n"
 msgstr "%s暗号化済みデータ\n"
 
-#: g10/decrypt-data.c:243 g10/mainproc.c:396
+#: g10/decrypt-data.c:243 g10/mainproc.c:397
 #, c-format
 msgid "encrypted with unknown algorithm %d\n"
 msgstr "不明のアルゴリズム%dによる暗号化\n"
 
-#: g10/decrypt-data.c:357 g10/decrypt-data.c:410 sm/decrypt.c:130
+#: g10/decrypt-data.c:357 g10/decrypt-data.c:410 sm/decrypt.c:550
 #, c-format
 msgid ""
 "WARNING: message was encrypted with a weak key in the symmetric cipher.\n"
@@ -2274,7 +2287,7 @@ msgstr "暗号化パケットの取扱いで障害\n"
 msgid "no remote program execution supported\n"
 msgstr "遠隔プログラムの実行は、サポートしていません\n"
 
-#: g10/exec.c:381
+#: g10/exec.c:389
 #, c-format
 msgid ""
 "external program calls are disabled due to unsafe options file permissions\n"
@@ -2282,48 +2295,48 @@ msgstr ""
 "オプション・ファイルの許可モードが安全ではないので、外部プログラムの呼出しは"
 "禁止となります。\n"
 
-#: g10/exec.c:411
+#: g10/exec.c:419
 #, c-format
 msgid "this platform requires temporary files when calling external programs\n"
 msgstr ""
 "このプラットホームだと、外部プログラムの呼出しには、一時ファイルが必要です\n"
 
-#: g10/exec.c:489
+#: g10/exec.c:497
 #, c-format
 msgid "unable to execute program '%s': %s\n"
 msgstr "'%s'を実行できません: %s\n"
 
-#: g10/exec.c:492
+#: g10/exec.c:500
 #, c-format
 msgid "unable to execute shell '%s': %s\n"
 msgstr "シェル'%s'を実行できません: %s\n"
 
-#: g10/exec.c:583
+#: g10/exec.c:591
 #, c-format
 msgid "system error while calling external program: %s\n"
 msgstr "外部プログラムの呼出しでシステム・エラー: %s\n"
 
-#: g10/exec.c:594 g10/exec.c:661
+#: g10/exec.c:602 g10/exec.c:669
 #, c-format
 msgid "unnatural exit of external program\n"
 msgstr "外部プログラムが、不自然に終了\n"
 
-#: g10/exec.c:609
+#: g10/exec.c:617
 #, c-format
 msgid "unable to execute external program\n"
 msgstr "外部プログラムを実行できません\n"
 
-#: g10/exec.c:626
+#: g10/exec.c:634
 #, c-format
 msgid "unable to read external program response: %s\n"
 msgstr "外部プログラムの応答を読み込めません: %s\n"
 
-#: g10/exec.c:672 g10/exec.c:679
+#: g10/exec.c:680 g10/exec.c:687
 #, c-format
 msgid "WARNING: unable to remove tempfile (%s) '%s': %s\n"
 msgstr "*警告*: 一時ファイルを削除できません (%s) '%s': %s\n"
 
-#: g10/exec.c:684
+#: g10/exec.c:692
 #, c-format
 msgid "WARNING: unable to remove temp directory '%s': %s\n"
 msgstr "*警告*: 一時ディレクトリ'%s'を削除できません: %s\n"
@@ -2356,8 +2369,8 @@ msgstr "GnuPGの鍵のバックアップフォーマットを使います"
 msgid " - skipped"
 msgstr " - スキップされました"
 
-#: g10/export.c:1324 g10/import.c:2073 g10/openfile.c:200 g10/openfile.c:294
-#: g10/sign.c:1013 g10/sign.c:1327
+#: g10/export.c:1324 g10/import.c:2085 g10/openfile.c:200 g10/openfile.c:294
+#: g10/sign.c:1012 g10/sign.c:1326
 #, c-format
 msgid "writing to '%s'\n"
 msgstr "'%s'への書き込み\n"
@@ -2392,266 +2405,266 @@ msgstr "'%s'の作成エラー: %s\n"
 msgid "[User ID not found]"
 msgstr "[ユーザIDが見つかりません]"
 
-#: g10/getkey.c:1297
+#: g10/getkey.c:1441
 #, c-format
 msgid "automatically retrieved '%s' via %s\n"
 msgstr "'%s'を %s から自動取得\n"
 
-#: g10/getkey.c:1303
+#: g10/getkey.c:1447
 #, c-format
 msgid "error retrieving '%s' via %s: %s\n"
 msgstr "'%s'を %s から取得する際のエラー: %s\n"
 
-#: g10/getkey.c:1305
+#: g10/getkey.c:1449
 msgid "No fingerprint"
 msgstr "フィンガープリントがありません"
 
-#: g10/getkey.c:1526
+#: g10/getkey.c:1670
 #, c-format
 msgid "checking for a fresh copy of an expired key via %s\n"
 msgstr "%s から失効した鍵の新しいコピーを確認します。\n"
 
-#: g10/getkey.c:1941 g10/revoke.c:655 g10/revoke.c:720
+#: g10/getkey.c:2085 g10/revoke.c:655 g10/revoke.c:720
 #, c-format
 msgid "secret key \"%s\" not found: %s\n"
 msgstr "秘密鍵\"%s\"が見つかりません: %s\n"
 
-#: g10/getkey.c:1944 g10/pkclist.c:988
+#: g10/getkey.c:2088 g10/pkclist.c:988
 #, c-format
 msgid "(check argument of option '%s')\n"
 msgstr "(オプション'%s'の引数を確認ください)\n"
 
-#: g10/getkey.c:2020
+#: g10/getkey.c:2164
 #, c-format
 msgid "Warning: not using '%s' as default key: %s\n"
 msgstr "警告: デフォルトの秘密鍵として '%s' を用いません: %s\n"
 
-#: g10/getkey.c:2028
+#: g10/getkey.c:2172
 #, c-format
 msgid "using \"%s\" as default secret key for signing\n"
 msgstr "デフォルトの署名用の秘密鍵として\"%s\"を用います\n"
 
-#: g10/getkey.c:2035
+#: g10/getkey.c:2179
 #, c-format
 msgid "all values passed to '%s' ignored\n"
 msgstr "'%s'に渡されたすべての値は無視されました\n"
 
-#: g10/getkey.c:2880
+#: g10/getkey.c:3024
 #, c-format
 msgid "Invalid key %s made valid by --allow-non-selfsigned-uid\n"
 msgstr "--allow-non-selfsigned-uidで有効にされた無効な鍵%sです\n"
 
-#: g10/getkey.c:3730
+#: g10/getkey.c:3874
 #, c-format
 msgid "using subkey %s instead of primary key %s\n"
 msgstr "副鍵%s(主鍵%sではなく)を用います\n"
 
-#: g10/getkey.c:4275 g10/gpg.c:2107
+#: g10/getkey.c:4446 g10/gpg.c:2120
 #, c-format
 msgid "valid values for option '%s':\n"
 msgstr "オプション'%s'に有効な値:\n"
 
-#: g10/gpg.c:442 sm/gpgsm.c:206
+#: g10/gpg.c:439 sm/gpgsm.c:207
 msgid "make a signature"
 msgstr "署名を作成"
 
-#: g10/gpg.c:443
+#: g10/gpg.c:440
 msgid "make a clear text signature"
 msgstr "クリア・テクスト署名を作成"
 
-#: g10/gpg.c:445 sm/gpgsm.c:208
+#: g10/gpg.c:442 sm/gpgsm.c:209
 msgid "make a detached signature"
 msgstr "分遣署名を作成"
 
-#: g10/gpg.c:446 sm/gpgsm.c:209
+#: g10/gpg.c:443 sm/gpgsm.c:210
 msgid "encrypt data"
 msgstr "データを暗号化"
 
-#: g10/gpg.c:448
+#: g10/gpg.c:445
 msgid "encryption only with symmetric cipher"
 msgstr "暗号化には共通鍵暗号方式のみを使用"
 
-#: g10/gpg.c:450 sm/gpgsm.c:211
+#: g10/gpg.c:447 sm/gpgsm.c:212
 msgid "decrypt data (default)"
 msgstr "データを復号 (デフォルト)"
 
-#: g10/gpg.c:452 sm/gpgsm.c:212
+#: g10/gpg.c:449 sm/gpgsm.c:213
 msgid "verify a signature"
 msgstr "署名を検証"
 
-#: g10/gpg.c:454 sm/gpgsm.c:213
+#: g10/gpg.c:451 sm/gpgsm.c:214
 msgid "list keys"
 msgstr "鍵の一覧"
 
-#: g10/gpg.c:456
+#: g10/gpg.c:453
 msgid "list keys and signatures"
 msgstr "鍵と署名の一覧"
 
-#: g10/gpg.c:459
+#: g10/gpg.c:456
 msgid "list and check key signatures"
 msgstr "鍵署名の検査と一覧"
 
-#: g10/gpg.c:461 sm/gpgsm.c:218
+#: g10/gpg.c:458 sm/gpgsm.c:219
 msgid "list keys and fingerprints"
 msgstr "鍵とフィンガープリントの一覧"
 
-#: g10/gpg.c:462 sm/gpgsm.c:216
+#: g10/gpg.c:459 sm/gpgsm.c:217
 msgid "list secret keys"
 msgstr "秘密鍵の一覧"
 
-#: g10/gpg.c:464 sm/gpgsm.c:219
+#: g10/gpg.c:461 sm/gpgsm.c:220
 msgid "generate a new key pair"
 msgstr "新しい鍵ペアを生成"
 
-#: g10/gpg.c:467
+#: g10/gpg.c:464
 msgid "quickly generate a new key pair"
 msgstr "すばやく新しい鍵ペアを生成"
 
-#: g10/gpg.c:470
+#: g10/gpg.c:467
 msgid "quickly add a new user-id"
 msgstr "すばやく新しいユーザIDを追加"
 
-#: g10/gpg.c:475
+#: g10/gpg.c:472
 msgid "quickly revoke a user-id"
 msgstr "すばやくユーザIDを失効"
 
-#: g10/gpg.c:478
+#: g10/gpg.c:475
 msgid "quickly set a new expiration date"
 msgstr "すばやく新しい有効期限を設定"
 
-#: g10/gpg.c:481
+#: g10/gpg.c:478
 msgid "full featured key pair generation"
 msgstr "全機能の鍵ペアを生成"
 
-#: g10/gpg.c:484
+#: g10/gpg.c:481
 msgid "generate a revocation certificate"
 msgstr "失効証明書を生成"
 
-#: g10/gpg.c:487 sm/gpgsm.c:222
+#: g10/gpg.c:484 sm/gpgsm.c:223
 msgid "remove keys from the public keyring"
 msgstr "公開鍵リングから鍵を削除"
 
-#: g10/gpg.c:489
+#: g10/gpg.c:486
 msgid "remove keys from the secret keyring"
 msgstr "秘密鍵リングから鍵を削除"
 
-#: g10/gpg.c:491
+#: g10/gpg.c:488
 msgid "quickly sign a key"
 msgstr "すばやく鍵に署名"
 
-#: g10/gpg.c:493
+#: g10/gpg.c:490
 msgid "quickly sign a key locally"
 msgstr "すばやく鍵へローカルに署名"
 
-#: g10/gpg.c:495
+#: g10/gpg.c:492
 msgid "quickly revoke a key signature"
 msgstr "すばやく鍵への署名を失効"
 
-#: g10/gpg.c:496
+#: g10/gpg.c:493
 msgid "sign a key"
 msgstr "鍵に署名"
 
-#: g10/gpg.c:497
+#: g10/gpg.c:494
 msgid "sign a key locally"
 msgstr "鍵へローカルに署名"
 
-#: g10/gpg.c:498
+#: g10/gpg.c:495
 msgid "sign or edit a key"
 msgstr "鍵への署名や編集"
 
-#: g10/gpg.c:500 sm/gpgsm.c:240
+#: g10/gpg.c:497 sm/gpgsm.c:241
 msgid "change a passphrase"
 msgstr "パスフレーズの変更"
 
-#: g10/gpg.c:504
+#: g10/gpg.c:501
 msgid "export keys"
 msgstr "鍵をエクスポートする"
 
-#: g10/gpg.c:505
+#: g10/gpg.c:502
 msgid "export keys to a keyserver"
 msgstr "鍵サーバに鍵をエクスポートする"
 
-#: g10/gpg.c:506
+#: g10/gpg.c:503
 msgid "import keys from a keyserver"
 msgstr "鍵サーバから鍵をインポートする"
 
-#: g10/gpg.c:509
+#: g10/gpg.c:506
 msgid "search for keys on a keyserver"
 msgstr "鍵サーバの鍵を検索する"
 
-#: g10/gpg.c:511
+#: g10/gpg.c:508
 msgid "update all keys from a keyserver"
 msgstr "鍵サーバから鍵を全部更新する"
 
-#: g10/gpg.c:519
+#: g10/gpg.c:516
 msgid "import/merge keys"
 msgstr "鍵のインポート/マージ"
 
-#: g10/gpg.c:522
+#: g10/gpg.c:519
 msgid "print the card status"
 msgstr "カード・ステイタスを表示"
 
-#: g10/gpg.c:523
+#: g10/gpg.c:520
 msgid "change data on a card"
 msgstr "カードのデータを変更"
 
-#: g10/gpg.c:525
+#: g10/gpg.c:522
 msgid "change a card's PIN"
 msgstr "カードのPINを変更"
 
-#: g10/gpg.c:537
+#: g10/gpg.c:534
 msgid "update the trust database"
 msgstr "信用データベースを更新"
 
-#: g10/gpg.c:546
+#: g10/gpg.c:543
 msgid "print message digests"
 msgstr "メッセージ・ダイジェストを表示"
 
-#: g10/gpg.c:549 sm/gpgsm.c:235
+#: g10/gpg.c:546 sm/gpgsm.c:236
 msgid "run in server mode"
 msgstr "サーバ・モードで実行"
 
-#: g10/gpg.c:551
+#: g10/gpg.c:548
 msgid "|VALUE|set the TOFU policy for a key"
 msgstr "|VALUE|TOFUポリシーを鍵に設定する"
 
-#: g10/gpg.c:555 sm/gpgsm.c:254
+#: g10/gpg.c:552 sm/gpgsm.c:255
 msgid "create ascii armored output"
 msgstr "ASCII形式の外装を作成"
 
-#: g10/gpg.c:558 sm/gpgsm.c:271
+#: g10/gpg.c:555 sm/gpgsm.c:272
 msgid "|USER-ID|encrypt for USER-ID"
 msgstr "|USER-ID|USER-ID用に暗号化"
 
-#: g10/gpg.c:574 sm/gpgsm.c:307
+#: g10/gpg.c:571 sm/gpgsm.c:308
 msgid "|USER-ID|use USER-ID to sign or decrypt"
 msgstr "|USER-ID|署名や復号にこのUSER-IDを使用"
 
-#: g10/gpg.c:580
+#: g10/gpg.c:577
 msgid "|N|set compress level to N (0 disables)"
 msgstr "|N|圧縮レベルをNに設定 (0は非圧縮)"
 
-#: g10/gpg.c:587
+#: g10/gpg.c:584
 msgid "use canonical text mode"
 msgstr "正準テキスト・モードを使用"
 
-#: g10/gpg.c:604 g10/gpgv.c:82 sm/gpgsm.c:309
+#: g10/gpg.c:601 g10/gpgv.c:82 sm/gpgsm.c:310
 msgid "|FILE|write output to FILE"
 msgstr "|FILE|出力をFILEに書き出す"
 
-#: g10/gpg.c:614 kbx/kbxutil.c:90 sm/gpgsm.c:321 tools/gpgconf.c:110
+#: g10/gpg.c:611 kbx/kbxutil.c:90 sm/gpgsm.c:322 tools/gpgconf.c:110
 msgid "do not make any changes"
 msgstr "無変更"
 
-#: g10/gpg.c:615
+#: g10/gpg.c:612
 msgid "prompt before overwriting"
 msgstr "上書き前に確認"
 
-#: g10/gpg.c:665
+#: g10/gpg.c:662
 msgid "use strict OpenPGP behavior"
 msgstr "厳密なOpenPGPの振舞を採用"
 
-#: g10/gpg.c:692 sm/gpgsm.c:364
+#: g10/gpg.c:689 sm/gpgsm.c:367
 msgid ""
 "@\n"
 "(See the man page for a complete listing of all commands and options)\n"
@@ -2659,7 +2672,7 @@ msgstr ""
 "@\n"
 "(コマンドとオプション全部の一覧は、マニュアル・ページをご覧ください)\n"
 
-#: g10/gpg.c:695
+#: g10/gpg.c:692
 msgid ""
 "@\n"
 "Examples:\n"
@@ -2679,11 +2692,11 @@ msgstr ""
 " --list-keys [名前]         鍵を表示\n"
 " --fingerprint [名前]       フィンガープリントを表示\n"
 
-#: g10/gpg.c:1092
+#: g10/gpg.c:1096
 msgid "Usage: @GPG@ [options] [files] (-h for help)"
 msgstr "使い方: @GPG@ [オプション] [ファイル] (ヘルプは -h)"
 
-#: g10/gpg.c:1095
+#: g10/gpg.c:1099
 msgid ""
 "Syntax: @GPG@ [options] [files]\n"
 "Sign, check, encrypt or decrypt\n"
@@ -2693,7 +2706,7 @@ msgstr ""
 "署名、検査、暗号化または復号\n"
 "デフォルトの操作は、入力データに依存\n"
 
-#: g10/gpg.c:1106 sm/gpgsm.c:591
+#: g10/gpg.c:1110 sm/gpgsm.c:594
 msgid ""
 "\n"
 "Supported algorithms:\n"
@@ -2701,536 +2714,536 @@ msgstr ""
 "\n"
 "サポートしているアルゴリズム:\n"
 
-#: g10/gpg.c:1109
+#: g10/gpg.c:1113
 msgid "Pubkey: "
 msgstr "公開鍵: "
 
-#: g10/gpg.c:1116 g10/keyedit.c:3281
+#: g10/gpg.c:1120 g10/keyedit.c:3282
 msgid "Cipher: "
 msgstr "暗号方式: "
 
-#: g10/gpg.c:1123
+#: g10/gpg.c:1127
 msgid "Hash: "
 msgstr "ハッシュ: "
 
-#: g10/gpg.c:1130 g10/keyedit.c:3347
+#: g10/gpg.c:1134 g10/keyedit.c:3348
 msgid "Compression: "
 msgstr "圧縮: "
 
-#: g10/gpg.c:1199 sm/gpgsm.c:665
+#: g10/gpg.c:1207 sm/gpgsm.c:668
 #, c-format
 msgid "usage: %s [options] %s\n"
 msgstr "使い方: %s [オプション] %s\n"
 
-#: g10/gpg.c:1388 sm/gpgsm.c:754
+#: g10/gpg.c:1396 sm/gpgsm.c:761
 #, c-format
 msgid "conflicting commands\n"
 msgstr "対立するコマンド\n"
 
-#: g10/gpg.c:1406
+#: g10/gpg.c:1414
 #, c-format
 msgid "no = sign found in group definition '%s'\n"
 msgstr "=記号が、グループ定義'%s'内に見つかりません\n"
 
-#: g10/gpg.c:1604
+#: g10/gpg.c:1612
 #, c-format
 msgid "WARNING: unsafe ownership on homedir '%s'\n"
 msgstr "*警告*: homedir '%s'の安全でない所有\n"
 
-#: g10/gpg.c:1607
+#: g10/gpg.c:1615
 #, c-format
 msgid "WARNING: unsafe ownership on configuration file '%s'\n"
 msgstr "*警告*: コンフィグレーション・ファイル'%s'の安全でない所有\n"
 
-#: g10/gpg.c:1610
+#: g10/gpg.c:1618
 #, c-format
 msgid "WARNING: unsafe ownership on extension '%s'\n"
 msgstr "*警告*: 拡張'%s'の安全でない所有\n"
 
-#: g10/gpg.c:1616
+#: g10/gpg.c:1624
 #, c-format
 msgid "WARNING: unsafe permissions on homedir '%s'\n"
 msgstr "*警告*: homedir '%s'の安全でない許可\n"
 
-#: g10/gpg.c:1619
+#: g10/gpg.c:1627
 #, c-format
 msgid "WARNING: unsafe permissions on configuration file '%s'\n"
 msgstr "*警告*: コンフィグレーション・ファイル'%s'の安全でない許可\n"
 
-#: g10/gpg.c:1622
+#: g10/gpg.c:1630
 #, c-format
 msgid "WARNING: unsafe permissions on extension '%s'\n"
 msgstr "*警告*: 拡張'%s'の安全でない許可\n"
 
-#: g10/gpg.c:1628
+#: g10/gpg.c:1636
 #, c-format
 msgid "WARNING: unsafe enclosing directory ownership on homedir '%s'\n"
 msgstr "*警告*: homedir '%s'の安全でない上位ディレクトリ所有\n"
 
-#: g10/gpg.c:1631
+#: g10/gpg.c:1639
 #, c-format
 msgid ""
 "WARNING: unsafe enclosing directory ownership on configuration file '%s'\n"
 msgstr ""
 "*警告*: コンフィグレーション・ファイル'%s'の安全でない上位ディレクトリ所有\n"
 
-#: g10/gpg.c:1634
+#: g10/gpg.c:1642
 #, c-format
 msgid "WARNING: unsafe enclosing directory ownership on extension '%s'\n"
 msgstr "*警告*: 拡張'%s'の安全でない上位ディレクトリ所有\n"
 
-#: g10/gpg.c:1640
+#: g10/gpg.c:1648
 #, c-format
 msgid "WARNING: unsafe enclosing directory permissions on homedir '%s'\n"
 msgstr "*警告*: homedir '%s'の安全でない上位ディレクトリ許可\n"
 
-#: g10/gpg.c:1643
+#: g10/gpg.c:1651
 #, c-format
 msgid ""
 "WARNING: unsafe enclosing directory permissions on configuration file '%s'\n"
 msgstr ""
 "*警告*: コンフィグレーション・ファイル'%s'の安全でない上位ディレクトリ許可\n"
 
-#: g10/gpg.c:1646
+#: g10/gpg.c:1654
 #, c-format
 msgid "WARNING: unsafe enclosing directory permissions on extension '%s'\n"
 msgstr "*警告*: 拡張'%s'の安全でない上位ディレクトリ許可\n"
 
-#: g10/gpg.c:1862
+#: g10/gpg.c:1870
 #, c-format
 msgid "unknown configuration item '%s'\n"
 msgstr "不明のコンフィグレーション項目'%s'\n"
 
-#: g10/gpg.c:1979
+#: g10/gpg.c:1992
 msgid "display photo IDs during key listings"
 msgstr "鍵の一覧時にフォトIDを表示する"
 
-#: g10/gpg.c:1981
+#: g10/gpg.c:1994
 msgid "show key usage information during key listings"
 msgstr "鍵の一覧時に鍵の使い方の情報を表示する"
 
-#: g10/gpg.c:1983
+#: g10/gpg.c:1996
 msgid "show policy URLs during signature listings"
 msgstr "署名の一覧時にポリシーURLを表示する"
 
-#: g10/gpg.c:1985
+#: g10/gpg.c:1998
 msgid "show all notations during signature listings"
 msgstr "署名の一覧時にすべての注釈を表示する"
 
-#: g10/gpg.c:1987
+#: g10/gpg.c:2000
 msgid "show IETF standard notations during signature listings"
 msgstr "署名の一覧時にIETF標準注釈を表示する"
 
-#: g10/gpg.c:1991
+#: g10/gpg.c:2004
 msgid "show user-supplied notations during signature listings"
 msgstr "署名の一覧時にユーザの注釈を表示する"
 
-#: g10/gpg.c:1993
+#: g10/gpg.c:2006
 msgid "show preferred keyserver URLs during signature listings"
 msgstr "署名の一覧時に優先鍵サーバURLを表示する"
 
-#: g10/gpg.c:1995
+#: g10/gpg.c:2008
 msgid "show user ID validity during key listings"
 msgstr "鍵の一覧時にユーザIDの有効性を表示する"
 
-#: g10/gpg.c:1997
+#: g10/gpg.c:2010
 msgid "show revoked and expired user IDs in key listings"
 msgstr "鍵の一覧に失効したユーザID、期限切れとなったユーザIDを表示する"
 
-#: g10/gpg.c:1999
+#: g10/gpg.c:2012
 msgid "show revoked and expired subkeys in key listings"
 msgstr "鍵の一覧に失効した副鍵、期限切れとなった副鍵を表示する"
 
-#: g10/gpg.c:2001
+#: g10/gpg.c:2014
 msgid "show the keyring name in key listings"
 msgstr "鍵の一覧に鍵リングの名前を表示する"
 
-#: g10/gpg.c:2003
+#: g10/gpg.c:2016
 msgid "show expiration dates during signature listings"
 msgstr "署名の一覧時に有効期限の日付を表示する"
 
-#: g10/gpg.c:2118
+#: g10/gpg.c:2131
 #, c-format
 msgid "unknown TOFU policy '%s'\n"
 msgstr "不明のTOFUポリシー'%s'\n"
 
-#: g10/gpg.c:2120
+#: g10/gpg.c:2133
 #, c-format
 msgid "(use \"help\" to list choices)\n"
 msgstr "(選択肢の一覧には\"help\"を使ってください)\n"
 
-#: g10/gpg.c:2840 g10/gpg.c:3671 g10/gpg.c:3683
+#: g10/gpg.c:2856 g10/gpg.c:3691 g10/gpg.c:3703
 #, c-format
 msgid "Note: %s is not for normal use!\n"
 msgstr "注意: 普通%sは使いません!\n"
 
-#: g10/gpg.c:3017 g10/gpg.c:3029
+#: g10/gpg.c:3033 g10/gpg.c:3045
 #, c-format
 msgid "'%s' is not a valid signature expiration\n"
 msgstr "'%s'は、有効な署名表現ではありません\n"
 
-#: g10/gpg.c:3051
+#: g10/gpg.c:3067
 #, c-format
 msgid "\"%s\" is not a proper mail address\n"
 msgstr "\"%s\"は正しいメール・アドレスではありません\n"
 
-#: g10/gpg.c:3083 sm/gpgsm.c:1177
+#: g10/gpg.c:3099 sm/gpgsm.c:1091
 #, c-format
 msgid "invalid pinentry mode '%s'\n"
 msgstr "無効な pinentry mode '%s'です\n"
 
-#: g10/gpg.c:3089 sm/gpgsm.c:1183
+#: g10/gpg.c:3105 sm/gpgsm.c:1097
 #, c-format
 msgid "invalid request origin '%s'\n"
 msgstr "無効な送信元要求 '%s' です\n"
 
-#: g10/gpg.c:3143
+#: g10/gpg.c:3159
 #, c-format
 msgid "'%s' is not a valid character set\n"
 msgstr "'%s'は、有効な文字集合ではありません\n"
 
-#: g10/gpg.c:3165 g10/gpg.c:3375 g10/keyedit.c:5281
+#: g10/gpg.c:3181 g10/gpg.c:3395 g10/keyedit.c:5282
 #, c-format
 msgid "could not parse keyserver URL\n"
 msgstr "鍵サーバのURLを解析不能\n"
 
-#: g10/gpg.c:3183
+#: g10/gpg.c:3199
 #, c-format
 msgid "%s:%d: invalid keyserver options\n"
 msgstr "%s:%d: 無効な鍵サーバ・オプションです\n"
 
-#: g10/gpg.c:3186
+#: g10/gpg.c:3202
 #, c-format
 msgid "invalid keyserver options\n"
 msgstr "無効な鍵サーバ・オプションです\n"
 
-#: g10/gpg.c:3193
+#: g10/gpg.c:3209
 #, c-format
 msgid "%s:%d: invalid import options\n"
 msgstr "%s:%d: 無効なインポート・オプションです\n"
 
-#: g10/gpg.c:3196
+#: g10/gpg.c:3212
 #, c-format
 msgid "invalid import options\n"
 msgstr "無効なインポート・オプションです\n"
 
-#: g10/gpg.c:3202 g10/gpg.c:3217
+#: g10/gpg.c:3218 g10/gpg.c:3233
 #, c-format
 msgid "invalid filter option: %s\n"
 msgstr "無効なフィルタ・オプションです: %s\n"
 
-#: g10/gpg.c:3208
+#: g10/gpg.c:3224
 #, c-format
 msgid "%s:%d: invalid export options\n"
 msgstr "%s:%d: 無効なエクスポート・オプションです\n"
 
-#: g10/gpg.c:3211
+#: g10/gpg.c:3227
 #, c-format
 msgid "invalid export options\n"
 msgstr "無効なエクスポート・オプションです\n"
 
-#: g10/gpg.c:3223
+#: g10/gpg.c:3239
 #, c-format
 msgid "%s:%d: invalid list options\n"
 msgstr "%s:%d: 無効な一覧オプションです\n"
 
-#: g10/gpg.c:3226
+#: g10/gpg.c:3242
 #, c-format
 msgid "invalid list options\n"
 msgstr "無効な一覧オプションです\n"
 
-#: g10/gpg.c:3234
+#: g10/gpg.c:3250
 msgid "display photo IDs during signature verification"
 msgstr "署名の検証時にフォトIDを表示する"
 
-#: g10/gpg.c:3236
+#: g10/gpg.c:3252
 msgid "show policy URLs during signature verification"
 msgstr "署名の検証時にポリシーURLを表示する"
 
-#: g10/gpg.c:3238
+#: g10/gpg.c:3254
 msgid "show all notations during signature verification"
 msgstr "署名の検証時にすべての注釈を表示する"
 
-#: g10/gpg.c:3240
+#: g10/gpg.c:3256
 msgid "show IETF standard notations during signature verification"
 msgstr "署名の検証時にIETF標準注釈を表示する"
 
-#: g10/gpg.c:3244
+#: g10/gpg.c:3260
 msgid "show user-supplied notations during signature verification"
 msgstr "署名の検証時にユーザの注釈を表示する"
 
-#: g10/gpg.c:3246
+#: g10/gpg.c:3262
 msgid "show preferred keyserver URLs during signature verification"
 msgstr "署名の検証時に優先鍵サーバURLを表示する"
 
-#: g10/gpg.c:3248
+#: g10/gpg.c:3264
 msgid "show user ID validity during signature verification"
 msgstr "署名の検証時にユーザIDの有効性を表示する"
 
-#: g10/gpg.c:3250
+#: g10/gpg.c:3266
 msgid "show revoked and expired user IDs in signature verification"
 msgstr "署名の検証時に失効したユーザID、期限切れとなったユーザIDを表示する"
 
-#: g10/gpg.c:3252
+#: g10/gpg.c:3268
 msgid "show only the primary user ID in signature verification"
 msgstr "署名の検証時にプライマリ・ユーザIDだけをを表示する"
 
-#: g10/gpg.c:3254
+#: g10/gpg.c:3270
 msgid "validate signatures with PKA data"
 msgstr "PKAデータで署名を検証する"
 
-#: g10/gpg.c:3256
+#: g10/gpg.c:3272
 msgid "elevate the trust of signatures with valid PKA data"
 msgstr "有効なPKAデータで署名の信用度を上昇させる"
 
-#: g10/gpg.c:3263
+#: g10/gpg.c:3279
 #, c-format
 msgid "%s:%d: invalid verify options\n"
 msgstr "%s:%d: 無効な検証オプションです\n"
 
-#: g10/gpg.c:3266
+#: g10/gpg.c:3282
 #, c-format
 msgid "invalid verify options\n"
 msgstr "無効な検証オプションです\n"
 
-#: g10/gpg.c:3273
+#: g10/gpg.c:3289
 #, c-format
 msgid "unable to set exec-path to %s\n"
 msgstr "exec-pathを%sに設定不能\n"
 
-#: g10/gpg.c:3478
+#: g10/gpg.c:3498
 #, c-format
 msgid "%s:%d: invalid auto-key-locate list\n"
 msgstr "%s:%d: 無効な auto-key-locate リストです\n"
 
-#: g10/gpg.c:3481
+#: g10/gpg.c:3501
 #, c-format
 msgid "invalid auto-key-locate list\n"
 msgstr "無効な auto-key-locate リストです\n"
 
-#: g10/gpg.c:3653 sm/gpgsm.c:1541
+#: g10/gpg.c:3673 sm/gpgsm.c:1441
 #, c-format
 msgid "WARNING: program may create a core file!\n"
 msgstr "*警告*: プログラムはcoreファイルを作成することがあります!\n"
 
-#: g10/gpg.c:3664
+#: g10/gpg.c:3684
 #, c-format
 msgid "WARNING: %s overrides %s\n"
 msgstr "*警告*: %sは%sより優先\n"
 
-#: g10/gpg.c:3673
+#: g10/gpg.c:3693
 #, c-format
 msgid "%s not allowed with %s!\n"
 msgstr "%sは%sとともに使うことはできません!\n"
 
-#: g10/gpg.c:3676
+#: g10/gpg.c:3696
 #, c-format
 msgid "%s makes no sense with %s!\n"
 msgstr "%sは%sとともに使っても無意味です!\n"
 
-#: g10/gpg.c:3691 sm/gpgsm.c:1558 dirmngr/dirmngr.c:1082
+#: g10/gpg.c:3711 sm/gpgsm.c:1458 dirmngr/dirmngr.c:1117
 #, c-format
 msgid "WARNING: running with faked system time: "
 msgstr "*警告*: ニセモノのシステム時刻で実行しています: "
 
-#: g10/gpg.c:3712
+#: g10/gpg.c:3732
 #, c-format
 msgid "will not run with insecure memory due to %s\n"
 msgstr "%s のため、セキュアでないメモリで実行しません\n"
 
-#: g10/gpg.c:3747 g10/gpg.c:3771 sm/gpgsm.c:1625
+#: g10/gpg.c:3767 g10/gpg.c:3791 sm/gpgsm.c:1525
 #, c-format
 msgid "selected cipher algorithm is invalid\n"
 msgstr "選択された暗号アルゴリズムは、無効です\n"
 
-#: g10/gpg.c:3759
+#: g10/gpg.c:3779
 #, c-format
 msgid "selected compression algorithm is invalid\n"
 msgstr "選択された圧縮アルゴリズムは、無効です\n"
 
-#: g10/gpg.c:3765
+#: g10/gpg.c:3785
 #, c-format
 msgid "selected certification digest algorithm is invalid\n"
 msgstr "選択された証明書ダイジェスト・アルゴリズムは、無効です\n"
 
-#: g10/gpg.c:3780
+#: g10/gpg.c:3800
 #, c-format
 msgid "completes-needed must be greater than 0\n"
 msgstr "completes-neededは正の値が必要です\n"
 
-#: g10/gpg.c:3782
+#: g10/gpg.c:3802
 #, c-format
 msgid "marginals-needed must be greater than 1\n"
 msgstr "marginals-neededは1より大きな値が必要です\n"
 
-#: g10/gpg.c:3784
+#: g10/gpg.c:3804
 #, c-format
 msgid "max-cert-depth must be in the range from 1 to 255\n"
 msgstr "max-cert-depthは1から255の範囲でなければなりません\n"
 
-#: g10/gpg.c:3786
+#: g10/gpg.c:3806
 #, c-format
 msgid "invalid default-cert-level; must be 0, 1, 2, or 3\n"
 msgstr "無効なdefault-cert-level。0か1か2か3でなければなりません\n"
 
-#: g10/gpg.c:3788
+#: g10/gpg.c:3808
 #, c-format
 msgid "invalid min-cert-level; must be 1, 2, or 3\n"
 msgstr "無効なmin-cert-level。0か1か2か3でなければなりません\n"
 
-#: g10/gpg.c:3791
+#: g10/gpg.c:3812
 #, c-format
 msgid "Note: simple S2K mode (0) is strongly discouraged\n"
 msgstr "注意: 単純なS2Kモード(0)の使用には強く反対します\n"
 
-#: g10/gpg.c:3795
+#: g10/gpg.c:3816
 #, c-format
 msgid "invalid S2K mode; must be 0, 1 or 3\n"
 msgstr "無効なS2Kモード。0か1か3でなければなりません\n"
 
-#: g10/gpg.c:3802
+#: g10/gpg.c:3823
 #, c-format
 msgid "invalid default preferences\n"
 msgstr "無効なデフォルトの優先指定\n"
 
-#: g10/gpg.c:3806
+#: g10/gpg.c:3827
 #, c-format
 msgid "invalid personal cipher preferences\n"
 msgstr "無効な個人用暗号方式の優先指定\n"
 
-#: g10/gpg.c:3810
+#: g10/gpg.c:3831
 #, c-format
 msgid "invalid personal digest preferences\n"
 msgstr "無効な個人用ダイジェストの優先指定\n"
 
-#: g10/gpg.c:3814
+#: g10/gpg.c:3835
 #, c-format
 msgid "invalid personal compress preferences\n"
 msgstr "無効な個人用圧縮の優先指定\n"
 
-#: g10/gpg.c:3850
+#: g10/gpg.c:3871
 #, c-format
 msgid "%s does not yet work with %s\n"
 msgstr "%sは%sではまだ機能しません\n"
 
-#: g10/gpg.c:3913
+#: g10/gpg.c:3934
 #, c-format
 msgid "compression algorithm '%s' may not be used in %s mode\n"
 msgstr "圧縮アルゴリズム'%s'を%sモードで使うことはできません\n"
 
-#: g10/gpg.c:4057
+#: g10/gpg.c:4078
 #, c-format
 msgid "failed to initialize the TrustDB: %s\n"
 msgstr "信用データベースの初期化に失敗しました: %s\n"
 
-#: g10/gpg.c:4069
+#: g10/gpg.c:4090
 #, c-format
 msgid "WARNING: recipients (-r) given without using public key encryption\n"
 msgstr "*警告*: 公開鍵暗号を使わずに、受取人 (-r) を指定しています\n"
 
-#: g10/gpg.c:4141
+#: g10/gpg.c:4162
 #, c-format
 msgid "symmetric encryption of '%s' failed: %s\n"
 msgstr "'%s'の共通鍵暗号に失敗しました: %s\n"
 
-#: g10/gpg.c:4170
+#: g10/gpg.c:4191
 #, c-format
 msgid "you cannot use --symmetric --encrypt with --s2k-mode 0\n"
 msgstr "--symmetric --encryptを--s2k-mode 0で使うことはできません\n"
 
-#: g10/gpg.c:4173
+#: g10/gpg.c:4194
 #, c-format
 msgid "you cannot use --symmetric --encrypt in %s mode\n"
 msgstr "--symmetric --encryptを%sモードで使うことはできません\n"
 
-#: g10/gpg.c:4231
+#: g10/gpg.c:4252
 #, c-format
 msgid "you cannot use --symmetric --sign --encrypt with --s2k-mode 0\n"
 msgstr "--symmetric --sign --encryptを--s2k-mode 0で使うことはできません\n"
 
-#: g10/gpg.c:4234
+#: g10/gpg.c:4255
 #, c-format
 msgid "you cannot use --symmetric --sign --encrypt in %s mode\n"
 msgstr "--symmetric --sign --encryptを%sモードで使うことはできません\n"
 
-#: g10/gpg.c:4622 g10/keyserver.c:1881
+#: g10/gpg.c:4643 g10/keyserver.c:1648
 #, c-format
 msgid "keyserver send failed: %s\n"
 msgstr "鍵サーバへの送信に失敗しました: %s\n"
 
-#: g10/gpg.c:4627
+#: g10/gpg.c:4648
 #, c-format
 msgid "keyserver receive failed: %s\n"
 msgstr "鍵サーバからの受信に失敗しました: %s\n"
 
-#: g10/gpg.c:4633
+#: g10/gpg.c:4654
 #, c-format
 msgid "key export failed: %s\n"
 msgstr "鍵のエクスポートに失敗しました: %s\n"
 
-#: g10/gpg.c:4646
+#: g10/gpg.c:4667
 #, c-format
 msgid "export as ssh key failed: %s\n"
 msgstr "ssh鍵としてのエクスポートに失敗しました: %s\n"
 
-#: g10/gpg.c:4658
+#: g10/gpg.c:4679
 #, c-format
 msgid "keyserver search failed: %s\n"
 msgstr "鍵サーバの検索に失敗しました: %s\n"
 
-#: g10/gpg.c:4671
+#: g10/gpg.c:4692
 #, c-format
 msgid "keyserver refresh failed: %s\n"
 msgstr "鍵サーバの更新に失敗しました: %s\n"
 
-#: g10/gpg.c:4738
+#: g10/gpg.c:4759
 #, c-format
 msgid "dearmoring failed: %s\n"
 msgstr "外装除去に失敗しました: %s\n"
 
-#: g10/gpg.c:4749
+#: g10/gpg.c:4770
 #, c-format
 msgid "enarmoring failed: %s\n"
 msgstr "外装に失敗しました: %s\n"
 
-#: g10/gpg.c:4841
+#: g10/gpg.c:4862
 #, c-format
 msgid "invalid hash algorithm '%s'\n"
 msgstr "無効なハッシュ・アルゴリズム'%s'です\n"
 
-#: g10/gpg.c:4993 g10/tofu.c:2153
+#: g10/gpg.c:5014 g10/tofu.c:2153
 #, c-format
 msgid "error parsing key specification '%s': %s\n"
 msgstr "鍵指定'%s'の構文解析エラー: %s\n"
 
-#: g10/gpg.c:5006
+#: g10/gpg.c:5027
 #, c-format
 msgid "'%s' does not appear to be a valid key ID, fingerprint or keygrip\n"
 msgstr "'%s'は有効な鍵ID, フィンガープリント、keygripではないようです。\n"
 
-#: g10/gpg.c:5062
+#: g10/gpg.c:5083
 #, c-format
 msgid "WARNING: no command supplied.  Trying to guess what you mean ...\n"
 msgstr ""
 "*警告*: コマンドが指定されていません。なにを意味しているのか当ててみま"
 "す ...\n"
 
-#: g10/gpg.c:5073
+#: g10/gpg.c:5094
 #, c-format
 msgid "Go ahead and type your message ...\n"
 msgstr "開始します。メッセージを打ってください ...\n"
 
-#: g10/gpg.c:5418
+#: g10/gpg.c:5439
 #, c-format
 msgid "the given certification policy URL is invalid\n"
 msgstr "あたえられた証明書ポリシーURLは無効です\n"
 
-#: g10/gpg.c:5420
+#: g10/gpg.c:5441
 #, c-format
 msgid "the given signature policy URL is invalid\n"
 msgstr "あたえられた署名ポリシーURLは無効です\n"
 
-#: g10/gpg.c:5453
+#: g10/gpg.c:5474
 #, c-format
 msgid "the given preferred keyserver URL is invalid\n"
 msgstr "指定された優先鍵サーバURLは無効です\n"
@@ -3243,7 +3256,7 @@ msgstr "|FILE|鍵リングFILEの鍵を扱います"
 msgid "make timestamp conflicts only a warning"
 msgstr "日時の矛盾を警告だけにします"
 
-#: g10/gpgv.c:86 sm/gpgsm.c:354 tools/gpgconf.c:112
+#: g10/gpgv.c:86 sm/gpgsm.c:357 tools/gpgconf.c:112
 msgid "|FD|write status info to this FD"
 msgstr "|FD|このFDにステイタス情報を書き出す"
 
@@ -3320,97 +3333,97 @@ msgstr "GnuPGの鍵のバックアップフォーマットを仮定します"
 msgid "repair keys on import"
 msgstr "インポートの際、鍵を修復する"
 
-#: g10/import.c:380 g10/import.c:699
+#: g10/import.c:392 g10/import.c:711
 #, c-format
 msgid "skipping block of type %d\n"
 msgstr "型%dのブロックをスキップします\n"
 
-#: g10/import.c:716
+#: g10/import.c:728
 #, c-format
 msgid "%lu keys processed so far\n"
 msgstr "これまで%lu個の鍵を処理\n"
 
-#: g10/import.c:802
+#: g10/import.c:814
 #, c-format
 msgid "Total number processed: %lu\n"
 msgstr "          処理数の合計: %lu\n"
 
-#: g10/import.c:805
+#: g10/import.c:817
 #, c-format
 msgid "    skipped PGP-2 keys: %lu\n"
 msgstr "   スキップしたPGP-2鍵: %lu\n"
 
-#: g10/import.c:807
+#: g10/import.c:819
 #, c-format
 msgid "      skipped new keys: %lu\n"
 msgstr "  スキップした新しい鍵: %lu\n"
 
-#: g10/import.c:810
+#: g10/import.c:822
 #, c-format
 msgid "          w/o user IDs: %lu\n"
 msgstr "          ユーザIDなし: %lu\n"
 
-#: g10/import.c:813 sm/import.c:130
+#: g10/import.c:825 sm/import.c:130
 #, c-format
 msgid "              imported: %lu"
 msgstr "            インポート: %lu"
 
-#: g10/import.c:817 sm/import.c:134
+#: g10/import.c:829 sm/import.c:134
 #, c-format
 msgid "             unchanged: %lu\n"
 msgstr "              変更なし: %lu\n"
 
-#: g10/import.c:819
+#: g10/import.c:831
 #, c-format
 msgid "          new user IDs: %lu\n"
 msgstr "        新しいユーザID: %lu\n"
 
-#: g10/import.c:821
+#: g10/import.c:833
 #, c-format
 msgid "           new subkeys: %lu\n"
 msgstr "            新しい副鍵: %lu\n"
 
-#: g10/import.c:823
+#: g10/import.c:835
 #, c-format
 msgid "        new signatures: %lu\n"
 msgstr "            新しい署名: %lu\n"
 
-#: g10/import.c:825
+#: g10/import.c:837
 #, c-format
 msgid "   new key revocations: %lu\n"
 msgstr "        新しい鍵の失効: %lu\n"
 
-#: g10/import.c:827 sm/import.c:136
+#: g10/import.c:839 sm/import.c:136
 #, c-format
 msgid "      secret keys read: %lu\n"
 msgstr "      秘密鍵の読み込み: %lu\n"
 
-#: g10/import.c:829 sm/import.c:138
+#: g10/import.c:841 sm/import.c:138
 #, c-format
 msgid "  secret keys imported: %lu\n"
 msgstr "    秘密鍵のインポート: %lu\n"
 
-#: g10/import.c:831 sm/import.c:140
+#: g10/import.c:843 sm/import.c:140
 #, c-format
 msgid " secret keys unchanged: %lu\n"
 msgstr "        無変更の秘密鍵: %lu\n"
 
-#: g10/import.c:833 sm/import.c:142
+#: g10/import.c:845 sm/import.c:142
 #, c-format
 msgid "          not imported: %lu\n"
 msgstr "          未インポート: %lu\n"
 
-#: g10/import.c:835
+#: g10/import.c:847
 #, c-format
 msgid "    signatures cleaned: %lu\n"
 msgstr "        掃除された署名: %lu\n"
 
-#: g10/import.c:837
+#: g10/import.c:849
 #, c-format
 msgid "      user IDs cleaned: %lu\n"
 msgstr "    掃除されたユーザID: %lu\n"
 
-#: g10/import.c:1264
+#: g10/import.c:1276
 #, c-format
 msgid ""
 "WARNING: key %s contains preferences for unavailable\n"
@@ -3419,166 +3432,166 @@ msgstr ""
 "*警告*: 鍵%sには、これらのユーザIDに対して使用不可のアルゴリズムの優先指定が"
 "あります\n"
 
-#: g10/import.c:1306
+#: g10/import.c:1318
 #, c-format
 msgid "         \"%s\": preference for cipher algorithm %s\n"
 msgstr "         \"%s\": 暗号アルゴリズムの優先指定 %s\n"
 
-#: g10/import.c:1321
+#: g10/import.c:1333
 #, c-format
 msgid "         \"%s\": preference for digest algorithm %s\n"
 msgstr "         \"%s\": ダイジェスト・アルゴリズムの優先指定 %s\n"
 
-#: g10/import.c:1333
+#: g10/import.c:1345
 #, c-format
 msgid "         \"%s\": preference for compression algorithm %s\n"
 msgstr "         \"%s\": 圧縮アルゴリズムの優先指定 %s\n"
 
-#: g10/import.c:1346
+#: g10/import.c:1358
 #, c-format
 msgid "it is strongly suggested that you update your preferences and\n"
 msgstr "あなたの優先指定を更新し、この鍵を再配布することが強く推奨されます\n"
 
-#: g10/import.c:1348
+#: g10/import.c:1360
 #, c-format
 msgid "re-distribute this key to avoid potential algorithm mismatch problems\n"
 msgstr "それによって、潜在的なアルゴリズム不一致の問題を避けられます\n"
 
-#: g10/import.c:1373
+#: g10/import.c:1385
 #, c-format
 msgid "you can update your preferences with: gpg --edit-key %s updpref save\n"
 msgstr "以下で、優先指定を更新できます: gpg --edit-key %s updpref save\n"
 
-#: g10/import.c:1887 g10/import.c:3001
+#: g10/import.c:1899 g10/import.c:3013
 #, c-format
 msgid "key %s: no user ID\n"
 msgstr "鍵%s: ユーザIDがありません\n"
 
-#: g10/import.c:1893
+#: g10/import.c:1905
 #, c-format
 msgid "key %s: %s\n"
 msgstr "鍵  %s: %s\n"
 
-#: g10/import.c:1894 g10/import.c:2973
+#: g10/import.c:1906 g10/import.c:2985
 msgid "rejected by import screener"
 msgstr "インポートの検査で拒否されました"
 
-#: g10/import.c:1938
+#: g10/import.c:1950
 #, c-format
 msgid "key %s: PKS subkey corruption repaired\n"
 msgstr "鍵%s: PKSの副鍵変造を修復\n"
 
-#: g10/import.c:1959
+#: g10/import.c:1971
 #, c-format
 msgid "key %s: accepted non self-signed user ID \"%s\"\n"
 msgstr "鍵%s: 受理した未自己署名のユーザID\"%s\"\n"
 
-#: g10/import.c:1969 g10/import.c:2000
+#: g10/import.c:1981 g10/import.c:2012
 #, c-format
 msgid "key %s: no valid user IDs\n"
 msgstr "鍵%s: 有効なユーザIDがありません\n"
 
-#: g10/import.c:1971
+#: g10/import.c:1983
 #, c-format
 msgid "this may be caused by a missing self-signature\n"
 msgstr "これはおそらく自己署名のないせいでしょう\n"
 
-#: g10/import.c:2050 g10/import.c:3387
+#: g10/import.c:2062 g10/import.c:3399
 #, c-format
 msgid "key %s: public key not found: %s\n"
 msgstr "鍵%s: 公開鍵が見つかりません: %s\n"
 
-#: g10/import.c:2056
+#: g10/import.c:2068
 #, c-format
 msgid "key %s: new key - skipped\n"
 msgstr "鍵%s: 新しい鍵です - スキップします\n"
 
-#: g10/import.c:2068
+#: g10/import.c:2080
 #, c-format
 msgid "no writable keyring found: %s\n"
 msgstr "書き込み可能な鍵リングが見つかりません: %s\n"
 
-#: g10/import.c:2100 g10/import.c:2202 g10/import.c:3464
+#: g10/import.c:2112 g10/import.c:2214 g10/import.c:3476
 #, c-format
 msgid "error writing keyring '%s': %s\n"
 msgstr "鍵リング'%s'の書き込みエラー: %s\n"
 
-#: g10/import.c:2123
+#: g10/import.c:2135
 #, c-format
 msgid "key %s: public key \"%s\" imported\n"
 msgstr "鍵%s: 公開鍵\"%s\"をインポートしました\n"
 
-#: g10/import.c:2150
+#: g10/import.c:2162
 #, c-format
 msgid "key %s: doesn't match our copy\n"
 msgstr "鍵%s: こちらの複製と合いません\n"
 
-#: g10/import.c:2218
+#: g10/import.c:2230
 #, c-format
 msgid "key %s: \"%s\" 1 new user ID\n"
 msgstr "鍵%s: \"%s\" 新しいユーザIDを1個\n"
 
-#: g10/import.c:2221
+#: g10/import.c:2233
 #, c-format
 msgid "key %s: \"%s\" %d new user IDs\n"
 msgstr "鍵%s: \"%s\" 新しいユーザIDを%d個\n"
 
-#: g10/import.c:2224
+#: g10/import.c:2236
 #, c-format
 msgid "key %s: \"%s\" 1 new signature\n"
 msgstr "鍵%s: \"%s\" 新しい署名を1個\n"
 
-#: g10/import.c:2227
+#: g10/import.c:2239
 #, c-format
 msgid "key %s: \"%s\" %d new signatures\n"
 msgstr "鍵%s: \"%s\" 新しい署名を%d個\n"
 
-#: g10/import.c:2230
+#: g10/import.c:2242
 #, c-format
 msgid "key %s: \"%s\" 1 new subkey\n"
 msgstr "鍵%s: \"%s\" 新しい副鍵を1個\n"
 
-#: g10/import.c:2233
+#: g10/import.c:2245
 #, c-format
 msgid "key %s: \"%s\" %d new subkeys\n"
 msgstr "鍵%s: \"%s\" 新しい副鍵を%d個\n"
 
-#: g10/import.c:2236
+#: g10/import.c:2248
 #, c-format
 msgid "key %s: \"%s\" %d signature cleaned\n"
 msgstr "鍵%s: \"%s\" %d個の署名をきれいにしました\n"
 
-#: g10/import.c:2239
+#: g10/import.c:2251
 #, c-format
 msgid "key %s: \"%s\" %d signatures cleaned\n"
 msgstr "鍵%s: \"%s\" %d個の署名をきれいにしました\n"
 
-#: g10/import.c:2242
+#: g10/import.c:2254
 #, c-format
 msgid "key %s: \"%s\" %d user ID cleaned\n"
 msgstr "鍵%s: \"%s\" %d個のユーザIDをきれいにしました\n"
 
-#: g10/import.c:2245
+#: g10/import.c:2257
 #, c-format
 msgid "key %s: \"%s\" %d user IDs cleaned\n"
 msgstr "鍵%s: \"%s\" %d個のユーザIDをきれいにしました\n"
 
-#: g10/import.c:2281
+#: g10/import.c:2293
 #, c-format
 msgid "key %s: \"%s\" not changed\n"
 msgstr "鍵%s:\"%s\"変更なし\n"
 
-#: g10/import.c:2640 g10/import.c:2835
+#: g10/import.c:2652 g10/import.c:2847
 #, c-format
 msgid "key %s: secret key imported\n"
 msgstr "鍵%s: 秘密鍵をインポートしました\n"
 
-#: g10/import.c:2648
+#: g10/import.c:2660
 #, c-format
 msgid "key %s: secret key already exists\n"
 msgstr "鍵 %s: 秘密鍵はもうあります\n"
 
-#: g10/import.c:2656
+#: g10/import.c:2668
 #, c-format
 msgid "key %s: error sending to agent: %s\n"
 msgstr "鍵 %s: エージェントへの送信エラー: %s\n"
@@ -3591,192 +3604,192 @@ msgstr "鍵 %s: エージェントへの送信エラー: %s\n"
 #. * Instead, user should be suggested to run 'gpg --card-status',
 #. * then, references to a card will be automatically created
 #. * again.
-#: g10/import.c:2825
+#: g10/import.c:2837
 #, c-format
 msgid "To migrate '%s', with each smartcard, run: %s\n"
 msgstr "'%s'の移行には、スマードカードそれぞれで、以下を実行してください: %s\n"
 
-#: g10/import.c:2972
+#: g10/import.c:2984
 #, c-format
 msgid "secret key %s: %s\n"
 msgstr "秘密鍵 %s: %s\n"
 
-#: g10/import.c:2993 g10/import.c:3032
+#: g10/import.c:3005 g10/import.c:3044
 #, c-format
 msgid "importing secret keys not allowed\n"
 msgstr "秘密鍵のインポートは禁止です\n"
 
-#: g10/import.c:3020
+#: g10/import.c:3032
 #, c-format
 msgid "key %s: secret key with invalid cipher %d - skipped\n"
 msgstr "鍵%s: 無効な暗号方式%dの秘密鍵です - スキップします\n"
 
-#: g10/import.c:3182 g10/pkclist.c:72 g10/revoke.c:776
+#: g10/import.c:3194 g10/pkclist.c:72 g10/revoke.c:776
 msgid "No reason specified"
 msgstr "理由は指定されていません"
 
-#: g10/import.c:3183 g10/pkclist.c:74 g10/revoke.c:778
+#: g10/import.c:3195 g10/pkclist.c:74 g10/revoke.c:778
 msgid "Key is superseded"
 msgstr "鍵がとりかわっています"
 
-#: g10/import.c:3184 g10/pkclist.c:76 g10/revoke.c:777
+#: g10/import.c:3196 g10/pkclist.c:76 g10/revoke.c:777
 msgid "Key has been compromised"
 msgstr "鍵(の信頼性)が損なわれています"
 
-#: g10/import.c:3185 g10/pkclist.c:78 g10/revoke.c:779
+#: g10/import.c:3197 g10/pkclist.c:78 g10/revoke.c:779
 msgid "Key is no longer used"
 msgstr "鍵はもはや使われていません"
 
-#: g10/import.c:3186 g10/pkclist.c:80 g10/revoke.c:780
+#: g10/import.c:3198 g10/pkclist.c:80 g10/revoke.c:780
 msgid "User ID is no longer valid"
 msgstr "ユーザIDがもはや有効でありません"
 
-#: g10/import.c:3311 g10/keylist.c:1254 g10/pkclist.c:84
+#: g10/import.c:3323 g10/keylist.c:1254 g10/pkclist.c:84
 #, c-format
 msgid "reason for revocation: "
 msgstr "失効理由: "
 
-#: g10/import.c:3330 g10/keylist.c:1273 g10/pkclist.c:100
+#: g10/import.c:3342 g10/keylist.c:1273 g10/pkclist.c:100
 #, c-format
 msgid "revocation comment: "
 msgstr "失効のコメント: "
 
-#: g10/import.c:3380
+#: g10/import.c:3392
 #, c-format
 msgid "key %s: no public key - can't apply revocation certificate\n"
 msgstr "鍵%s: 公開鍵がありません - 失効証明書を適用できません\n"
 
-#: g10/import.c:3411
+#: g10/import.c:3423
 #, c-format
 msgid "key %s: can't locate original keyblock: %s\n"
 msgstr "鍵%s: 元の鍵ブロックに位置づけできません: %s\n"
 
-#: g10/import.c:3418
+#: g10/import.c:3430
 #, c-format
 msgid "key %s: can't read original keyblock: %s\n"
 msgstr "鍵%s: 元の鍵ブロックを読み込めません: %s\n"
 
-#: g10/import.c:3438
+#: g10/import.c:3450
 #, c-format
 msgid "key %s: invalid revocation certificate: %s - rejected\n"
 msgstr "鍵%s: 無効な失効証明書: %s - 拒否\n"
 
-#: g10/import.c:3473
+#: g10/import.c:3485
 #, c-format
 msgid "key %s: \"%s\" revocation certificate imported\n"
 msgstr "鍵%s:\"%s\"失効証明書をインポートしました\n"
 
-#: g10/import.c:3559
+#: g10/import.c:3571
 #, c-format
 msgid "key %s: no user ID for signature\n"
 msgstr "鍵%s: 署名に対応するユーザIDがありません\n"
 
-#: g10/import.c:3576
+#: g10/import.c:3588
 #, c-format
 msgid "key %s: unsupported public key algorithm on user ID \"%s\"\n"
 msgstr "鍵%s: ユーザID\"%s\"のサポートしていない公開鍵アルゴリズムです\n"
 
-#: g10/import.c:3578
+#: g10/import.c:3590
 #, c-format
 msgid "key %s: invalid self-signature on user ID \"%s\"\n"
 msgstr "鍵%s: ユーザID\"%s\"の自己署名が、無効です\n"
 
-#: g10/import.c:3595 g10/import.c:3623 g10/import.c:3679
+#: g10/import.c:3607 g10/import.c:3635 g10/import.c:3691
 #, c-format
 msgid "key %s: unsupported public key algorithm\n"
 msgstr "鍵%s: サポートしていない公開鍵アルゴリズムです\n"
 
-#: g10/import.c:3596
+#: g10/import.c:3608
 #, c-format
 msgid "key %s: invalid direct key signature\n"
 msgstr "鍵%s: 無効な直接鍵署名\n"
 
-#: g10/import.c:3610
+#: g10/import.c:3622
 #, c-format
 msgid "key %s: no subkey for key binding\n"
 msgstr "鍵%s: 鍵に対応する副鍵がありません\n"
 
-#: g10/import.c:3625
+#: g10/import.c:3637
 #, c-format
 msgid "key %s: invalid subkey binding\n"
 msgstr "鍵%s: 無効な副鍵の対応です\n"
 
-#: g10/import.c:3644
+#: g10/import.c:3656
 #, c-format
 msgid "key %s: removed multiple subkey binding\n"
 msgstr "鍵%s: 多重副鍵の対応を削除します\n"
 
-#: g10/import.c:3668
+#: g10/import.c:3680
 #, c-format
 msgid "key %s: no subkey for key revocation\n"
 msgstr "鍵%s: 鍵失効に対する副鍵がありません\n"
 
-#: g10/import.c:3681
+#: g10/import.c:3693
 #, c-format
 msgid "key %s: invalid subkey revocation\n"
 msgstr "鍵%s: 無効な副鍵失効です\n"
 
-#: g10/import.c:3696
+#: g10/import.c:3708
 #, c-format
 msgid "key %s: removed multiple subkey revocation\n"
 msgstr "鍵%s: 無効な副鍵の多重失効を削除します\n"
 
-#: g10/import.c:3740
+#: g10/import.c:3752
 #, c-format
 msgid "key %s: skipped user ID \"%s\"\n"
 msgstr "鍵%s: スキップしたユーザID\"%s\"\n"
 
-#: g10/import.c:3767
+#: g10/import.c:3779
 #, c-format
 msgid "key %s: skipped subkey\n"
 msgstr "鍵%s: スキップした副鍵\n"
 
-#: g10/import.c:3798
+#: g10/import.c:3810
 #, c-format
 msgid "key %s: non exportable signature (class 0x%02X) - skipped\n"
 msgstr "鍵%s: エクスポート不可な署名 (クラス0x%02X) - スキップします\n"
 
-#: g10/import.c:3809
+#: g10/import.c:3821
 #, c-format
 msgid "key %s: revocation certificate at wrong place - skipped\n"
 msgstr "鍵%s: 失効証明書が誤って設定されています - スキップします\n"
 
-#: g10/import.c:3827
+#: g10/import.c:3839
 #, c-format
 msgid "key %s: invalid revocation certificate: %s - skipped\n"
 msgstr "鍵%s: 無効な失効証明書: %s - スキップします\n"
 
-#: g10/import.c:3841
+#: g10/import.c:3853
 #, c-format
 msgid "key %s: subkey signature in wrong place - skipped\n"
 msgstr "鍵%s: 副鍵署名の場所が、誤っています - スキップします\n"
 
-#: g10/import.c:3849
+#: g10/import.c:3861
 #, c-format
 msgid "key %s: unexpected signature class (0x%02X) - skipped\n"
 msgstr "鍵%s: 予期せぬ署名クラス (0x%02X) - スキップします\n"
 
-#: g10/import.c:4022
+#: g10/import.c:4034
 #, c-format
 msgid "key %s: duplicated user ID detected - merged\n"
 msgstr "鍵%s: 重複したユーザIDの検出 - マージ\n"
 
-#: g10/import.c:4087
+#: g10/import.c:4099
 #, c-format
 msgid "WARNING: key %s may be revoked: fetching revocation key %s\n"
 msgstr "*警告*: 鍵%sは失効されたかもしれません: 失効鍵%sを取ってきます\n"
 
-#: g10/import.c:4103
+#: g10/import.c:4115
 #, c-format
 msgid "WARNING: key %s may be revoked: revocation key %s not present.\n"
 msgstr "*警告*: 鍵%sは失効されたかもしれません: 失効鍵%sが存在しません。\n"
 
-#: g10/import.c:4169
+#: g10/import.c:4181
 #, c-format
 msgid "key %s: \"%s\" revocation certificate added\n"
 msgstr "鍵%s:\"%s\"失効証明書の追加\n"
 
-#: g10/import.c:4207
+#: g10/import.c:4219
 #, c-format
 msgid "key %s: direct key signature added\n"
 msgstr "鍵%s: 直接鍵署名を追加\n"
@@ -3841,7 +3854,7 @@ msgstr ""
 "警告: エラーがあり、自己署名だけ確認しました。'%s'を実行してすべての署名を確"
 "認ください。\n"
 
-#: g10/keydb.c:431 g10/keydb.c:458 sm/keydb.c:191 sm/keydb.c:204
+#: g10/keydb.c:431 g10/keydb.c:458 sm/keydb.c:190 sm/keydb.c:203
 #, c-format
 msgid "error creating keybox '%s': %s\n"
 msgstr "keybox'%s'の作成エラー: %s\n"
@@ -3851,7 +3864,7 @@ msgstr "keybox'%s'の作成エラー: %s\n"
 msgid "error creating keyring '%s': %s\n"
 msgstr "鍵リング'%s'の作成エラー: %s\n"
 
-#: g10/keydb.c:470 sm/keydb.c:210
+#: g10/keydb.c:470 sm/keydb.c:209
 #, c-format
 msgid "keybox '%s' created\n"
 msgstr "keybox'%s'が作成されました\n"
@@ -3928,13 +3941,13 @@ msgstr "ユーザID\"%s\"をスキップします、テキストのIDではあ
 msgid "User ID \"%s\" is revoked."
 msgstr "ユーザID\"%s\"は、失効されています。"
 
-#: g10/keyedit.c:569 g10/keyedit.c:597 g10/keyedit.c:624 g10/keyedit.c:808
-#: g10/keyedit.c:1655
+#: g10/keyedit.c:569 g10/keyedit.c:597 g10/keyedit.c:624 g10/keyedit.c:809
+#: g10/keyedit.c:1656
 msgid "Are you sure you still want to sign it? (y/N) "
 msgstr "それでもこの鍵に署名したいですか? (y/N) "
 
-#: g10/keyedit.c:583 g10/keyedit.c:611 g10/keyedit.c:638 g10/keyedit.c:814
-#: g10/keyedit.c:1660 g10/keyedit.c:2667
+#: g10/keyedit.c:583 g10/keyedit.c:611 g10/keyedit.c:638 g10/keyedit.c:815
+#: g10/keyedit.c:1661 g10/keyedit.c:2668
 msgid "  Unable to sign.\n"
 msgstr "  署名不能。\n"
 
@@ -4006,29 +4019,29 @@ msgstr "\"%s\"は鍵%sでもうローカルに署名してあります\n"
 msgid "\"%s\" was already signed by key %s\n"
 msgstr "\"%s\"は鍵%sでもう署名してあります\n"
 
-#: g10/keyedit.c:756
+#: g10/keyedit.c:757
 msgid "Do you want to sign it again anyway? (y/N) "
 msgstr "それでも再署名したいですか? (y/N) "
 
-#: g10/keyedit.c:778
+#: g10/keyedit.c:779
 #, c-format
 msgid "Nothing to sign with key %s\n"
 msgstr "鍵%sで署名すべきものはありません\n"
 
-#: g10/keyedit.c:802
+#: g10/keyedit.c:803
 msgid "This key has expired!"
 msgstr "この鍵は期限切れです!"
 
-#: g10/keyedit.c:820
+#: g10/keyedit.c:821
 #, c-format
 msgid "This key is due to expire on %s.\n"
 msgstr "この鍵は%sで期限が切れます。\n"
 
-#: g10/keyedit.c:826
+#: g10/keyedit.c:827
 msgid "Do you want your signature to expire at the same time? (Y/n) "
 msgstr "同時に署名も期限切れとしたいですか? (Y/n) "
 
-#: g10/keyedit.c:867
+#: g10/keyedit.c:868
 msgid ""
 "How carefully have you verified the key you are about to sign actually "
 "belongs\n"
@@ -4037,31 +4050,31 @@ msgstr ""
 "署名しようとしている鍵が実際に上記の名前の人のものかどうか、どの程度\n"
 "注意して検証しましたか? 答がわからなければ、\"0\"を入力してください。\n"
 
-#: g10/keyedit.c:872
+#: g10/keyedit.c:873
 #, c-format
 msgid "   (0) I will not answer.%s\n"
 msgstr "   (0) 答えません。%s\n"
 
-#: g10/keyedit.c:874
+#: g10/keyedit.c:875
 #, c-format
 msgid "   (1) I have not checked at all.%s\n"
 msgstr "   (1) 全然、検査していません。%s\n"
 
-#: g10/keyedit.c:876
+#: g10/keyedit.c:877
 #, c-format
 msgid "   (2) I have done casual checking.%s\n"
 msgstr "   (2) 一応、検査しました。%s\n"
 
-#: g10/keyedit.c:879
+#: g10/keyedit.c:880
 #, c-format
 msgid "   (3) I have done very careful checking.%s\n"
 msgstr "   (3) かなり注意して検査しました。%s\n"
 
-#: g10/keyedit.c:886
+#: g10/keyedit.c:887
 msgid "Your selection? (enter '?' for more information): "
 msgstr "選択は? (詳細は '?'): "
 
-#: g10/keyedit.c:913
+#: g10/keyedit.c:914
 #, c-format
 msgid ""
 "Are you sure that you want to sign this key with your\n"
@@ -4070,224 +4083,224 @@ msgstr ""
 "本当にこの鍵にあなたの鍵\"%s\"で署名してよいですか\n"
 "(%s)\n"
 
-#: g10/keyedit.c:921
+#: g10/keyedit.c:922
 msgid "This will be a self-signature.\n"
 msgstr "自己署名になるでしょう。\n"
 
-#: g10/keyedit.c:926
+#: g10/keyedit.c:927
 msgid "WARNING: the signature will not be marked as non-exportable.\n"
 msgstr "*警告*: 署名は、エクスポート不可に設定されません。\n"
 
-#: g10/keyedit.c:933
+#: g10/keyedit.c:934
 msgid "WARNING: the signature will not be marked as non-revocable.\n"
 msgstr "*警告*: 署名は、失効不可に設定されません。\n"
 
-#: g10/keyedit.c:943
+#: g10/keyedit.c:944
 msgid "The signature will be marked as non-exportable.\n"
 msgstr "署名は、エクスポート不可に設定されます。\n"
 
-#: g10/keyedit.c:950
+#: g10/keyedit.c:951
 msgid "The signature will be marked as non-revocable.\n"
 msgstr "署名は、失効不可に設定されます。\n"
 
-#: g10/keyedit.c:957
+#: g10/keyedit.c:958
 msgid "I have not checked this key at all.\n"
 msgstr "この鍵は全然、検査していません。\n"
 
-#: g10/keyedit.c:962
+#: g10/keyedit.c:963
 msgid "I have checked this key casually.\n"
 msgstr "この鍵は一応、検査しました。\n"
 
-#: g10/keyedit.c:967
+#: g10/keyedit.c:968
 msgid "I have checked this key very carefully.\n"
 msgstr "この鍵は、かなり注意して検査しました。\n"
 
-#: g10/keyedit.c:979
+#: g10/keyedit.c:980
 msgid "Really sign? (y/N) "
 msgstr "本当に署名しますか? (y/N) "
 
-#: g10/keyedit.c:1030 g10/keyedit.c:6154 g10/keyedit.c:6237 g10/keyedit.c:6366
-#: g10/keyedit.c:6428 g10/sign.c:466
+#: g10/keyedit.c:1031 g10/keyedit.c:6155 g10/keyedit.c:6238 g10/keyedit.c:6367
+#: g10/keyedit.c:6429 g10/sign.c:466
 #, c-format
 msgid "signing failed: %s\n"
 msgstr "署名に失敗しました: %s\n"
 
-#: g10/keyedit.c:1117
+#: g10/keyedit.c:1118
 msgid "Key has only stub or on-card key items - no passphrase to change.\n"
 msgstr ""
 "鍵にはスタブあるいはカード上の項目しかありません - パスフレーズは変更されませ"
 "ん。\n"
 
-#: g10/keyedit.c:1149
+#: g10/keyedit.c:1150
 #, c-format
 msgid "key %s: error changing passphrase: %s\n"
 msgstr "鍵 %s: パスフレーズの変更エラー: %s\n"
 
-#: g10/keyedit.c:1261
+#: g10/keyedit.c:1262
 msgid "save and quit"
 msgstr "保存して終了"
 
-#: g10/keyedit.c:1264
+#: g10/keyedit.c:1265
 msgid "show key fingerprint"
 msgstr "鍵のフィンガープリントを表示"
 
-#: g10/keyedit.c:1265
+#: g10/keyedit.c:1266
 msgid "show the keygrip"
 msgstr "keygripを表示"
 
-#: g10/keyedit.c:1266
+#: g10/keyedit.c:1267
 msgid "list key and user IDs"
 msgstr "鍵とユーザIDの一覧"
 
-#: g10/keyedit.c:1268
+#: g10/keyedit.c:1269
 msgid "select user ID N"
 msgstr "ユーザID Nの選択"
 
-#: g10/keyedit.c:1269
+#: g10/keyedit.c:1270
 msgid "select subkey N"
 msgstr "副鍵Nの選択"
 
-#: g10/keyedit.c:1270
+#: g10/keyedit.c:1271
 msgid "check signatures"
 msgstr "署名の確認"
 
-#: g10/keyedit.c:1276
+#: g10/keyedit.c:1277
 msgid "sign selected user IDs [* see below for related commands]"
 msgstr "選択したユーザIDに署名する [* 以下の関連コマンドを参照 ]"
 
-#: g10/keyedit.c:1281
+#: g10/keyedit.c:1282
 msgid "sign selected user IDs locally"
 msgstr "選択したユーザIDにローカルに署名"
 
-#: g10/keyedit.c:1282
+#: g10/keyedit.c:1283
 msgid "sign selected user IDs with a trust signature"
 msgstr "選択したユーザIDに信用署名を署名する"
 
-#: g10/keyedit.c:1284
+#: g10/keyedit.c:1285
 msgid "sign selected user IDs with a non-revocable signature"
 msgstr "選択したユーザIDに失効不可の署名をする"
 
-#: g10/keyedit.c:1286
+#: g10/keyedit.c:1287
 msgid "add a user ID"
 msgstr "ユーザIDの追加"
 
-#: g10/keyedit.c:1288
+#: g10/keyedit.c:1289
 msgid "add a photo ID"
 msgstr "フォトIDの追加"
 
-#: g10/keyedit.c:1289
+#: g10/keyedit.c:1290
 msgid "delete selected user IDs"
 msgstr "選択したユーザIDの削除"
 
-#: g10/keyedit.c:1292
+#: g10/keyedit.c:1293
 msgid "add a subkey"
 msgstr "副鍵を追加"
 
-#: g10/keyedit.c:1295
+#: g10/keyedit.c:1296
 msgid "add a key to a smartcard"
 msgstr "スマートカードへ鍵の追加"
 
-#: g10/keyedit.c:1297
+#: g10/keyedit.c:1298
 msgid "move a key to a smartcard"
 msgstr "鍵をスマートカードへ移動"
 
-#: g10/keyedit.c:1299
+#: g10/keyedit.c:1300
 msgid "move a backup key to a smartcard"
 msgstr "バックアップ鍵をスマートカードへ移動"
 
-#: g10/keyedit.c:1301
+#: g10/keyedit.c:1302
 msgid "delete selected subkeys"
 msgstr "選択した副鍵の削除"
 
-#: g10/keyedit.c:1303
+#: g10/keyedit.c:1304
 msgid "add a revocation key"
 msgstr "失効鍵の追加"
 
-#: g10/keyedit.c:1305
+#: g10/keyedit.c:1306
 msgid "delete signatures from the selected user IDs"
 msgstr "選択したユーザIDから署名を削除する"
 
-#: g10/keyedit.c:1307
+#: g10/keyedit.c:1308
 msgid "change the expiration date for the key or selected subkeys"
 msgstr "鍵または選択した副鍵の有効期限を変更する"
 
-#: g10/keyedit.c:1309
+#: g10/keyedit.c:1310
 msgid "flag the selected user ID as primary"
 msgstr "選択したユーザIDを主にする"
 
-#: g10/keyedit.c:1312
+#: g10/keyedit.c:1313
 msgid "list preferences (expert)"
 msgstr "優先指定の一覧 (エキスパート)"
 
-#: g10/keyedit.c:1313
+#: g10/keyedit.c:1314
 msgid "list preferences (verbose)"
 msgstr "優先指定の一覧 (冗長)"
 
-#: g10/keyedit.c:1315
+#: g10/keyedit.c:1316
 msgid "set preference list for the selected user IDs"
 msgstr "選択したユーザIDに優先指定リストを設定"
 
-#: g10/keyedit.c:1318
+#: g10/keyedit.c:1319
 msgid "set the preferred keyserver URL for the selected user IDs"
 msgstr "選択したユーザIDに優先鍵サーバのURLを設定"
 
-#: g10/keyedit.c:1320
+#: g10/keyedit.c:1321
 msgid "set a notation for the selected user IDs"
 msgstr "選択したユーザIDに注釈を設定する"
 
-#: g10/keyedit.c:1322
+#: g10/keyedit.c:1323
 msgid "change the passphrase"
 msgstr "パスフレーズの変更"
 
-#: g10/keyedit.c:1325
+#: g10/keyedit.c:1326
 msgid "change the ownertrust"
 msgstr "所有者信用の変更"
 
-#: g10/keyedit.c:1328
+#: g10/keyedit.c:1329
 msgid "revoke signatures on the selected user IDs"
 msgstr "選択したユーザIDの署名を失効"
 
-#: g10/keyedit.c:1330
+#: g10/keyedit.c:1331
 msgid "revoke selected user IDs"
 msgstr "選択したユーザIDの失効"
 
-#: g10/keyedit.c:1333
+#: g10/keyedit.c:1334
 msgid "revoke key or selected subkeys"
 msgstr "鍵の失効または選択した副鍵の失効"
 
-#: g10/keyedit.c:1335
+#: g10/keyedit.c:1336
 msgid "enable key"
 msgstr "鍵を有効にする"
 
-#: g10/keyedit.c:1336
+#: g10/keyedit.c:1337
 msgid "disable key"
 msgstr "鍵を無効にする"
 
-#: g10/keyedit.c:1338
+#: g10/keyedit.c:1339
 msgid "show selected photo IDs"
 msgstr "選択したフォトIDを表示"
 
-#: g10/keyedit.c:1340
+#: g10/keyedit.c:1341
 msgid "compact unusable user IDs and remove unusable signatures from key"
 msgstr "使えないユーザIDをコンパクトにし、使えない署名を鍵から除去"
 
-#: g10/keyedit.c:1342
+#: g10/keyedit.c:1343
 msgid "compact unusable user IDs and remove all signatures from key"
 msgstr "使えないユーザIDをコンパクトにし、すべての署名を鍵から除去"
 
-#: g10/keyedit.c:1463
+#: g10/keyedit.c:1464
 msgid "Secret key is available.\n"
 msgstr "秘密鍵が利用できます。\n"
 
-#: g10/keyedit.c:1465
+#: g10/keyedit.c:1466
 msgid "Secret subkeys are available.\n"
 msgstr "秘密副鍵が利用できます。\n"
 
-#: g10/keyedit.c:1567
+#: g10/keyedit.c:1568
 msgid "Need the secret key to do this.\n"
 msgstr "この実行には秘密鍵がいります。\n"
 
-#: g10/keyedit.c:1590
+#: g10/keyedit.c:1591
 msgid ""
 "* The 'sign' command may be prefixed with an 'l' for local signatures "
 "(lsign),\n"
@@ -4298,289 +4311,289 @@ msgstr ""
 "  't' で始まると信用署名 (tsign)、'nr' で始まると失効不可署名\n"
 "  (nrsign)、もしくはこれらの組み合わせ (ltsign, tnrsign, など)となります。\n"
 
-#: g10/keyedit.c:1648 g10/keyedit.c:2667 g10/keyedit.c:3040 g10/keyedit.c:3108
+#: g10/keyedit.c:1649 g10/keyedit.c:2668 g10/keyedit.c:3041 g10/keyedit.c:3109
 msgid "Key is revoked."
 msgstr "鍵は、失効されています。"
 
-#: g10/keyedit.c:1671
+#: g10/keyedit.c:1672
 msgid "Really sign all text user IDs? (y/N) "
 msgstr "本当に全てのテキストユーザIDに署名しますか? (y/N) "
 
-#: g10/keyedit.c:1675
+#: g10/keyedit.c:1676
 msgid "Really sign all user IDs? (y/N) "
 msgstr "本当に全ユーザIDに署名しますか? (y/N) "
 
-#: g10/keyedit.c:1683
+#: g10/keyedit.c:1684
 msgid "Hint: Select the user IDs to sign\n"
 msgstr "ヒント: まず署名するユーザIDを選択します\n"
 
-#: g10/keyedit.c:1694
+#: g10/keyedit.c:1695
 #, c-format
 msgid "Unknown signature type '%s'\n"
 msgstr "不明の署名タイプ'%s'\n"
 
-#: g10/keyedit.c:1718
+#: g10/keyedit.c:1719
 #, c-format
 msgid "This command is not allowed while in %s mode.\n"
 msgstr "%sモードでこのコマンドは禁止です。\n"
 
-#: g10/keyedit.c:1740 g10/keyedit.c:1764 g10/keyedit.c:1961
+#: g10/keyedit.c:1741 g10/keyedit.c:1765 g10/keyedit.c:1962
 msgid "You must select at least one user ID.\n"
 msgstr "ユーザIDを少なくともひとつ選択してください。\n"
 
-#: g10/keyedit.c:1742 g10/keyedit.c:1766 g10/keyedit.c:1923 g10/keyedit.c:1963
+#: g10/keyedit.c:1743 g10/keyedit.c:1767 g10/keyedit.c:1924 g10/keyedit.c:1964
 #, c-format
 msgid "(Use the '%s' command.)\n"
 msgstr "('%s'コマンドを使用してください。)\n"
 
-#: g10/keyedit.c:1745
+#: g10/keyedit.c:1746
 msgid "You can't delete the last user ID!\n"
 msgstr "最後のユーザIDは削除できません!\n"
 
-#: g10/keyedit.c:1748
+#: g10/keyedit.c:1749
 msgid "Really remove all selected user IDs? (y/N) "
 msgstr "選択した全ユーザIDを本当に削除しますか? (y/N) "
 
-#: g10/keyedit.c:1749
+#: g10/keyedit.c:1750
 msgid "Really remove this user ID? (y/N) "
 msgstr "このユーザIDを本当に削除しますか? (y/N) "
 
 #. TRANSLATORS: Please take care: This is about
 #. moving the key and not about removing it.
-#: g10/keyedit.c:1806
+#: g10/keyedit.c:1807
 msgid "Really move the primary key? (y/N) "
 msgstr "この主鍵を本当に移動しますか? (y/N) "
 
-#: g10/keyedit.c:1818 g10/keyedit.c:4803
+#: g10/keyedit.c:1819 g10/keyedit.c:4804
 msgid "You must select exactly one key.\n"
 msgstr "鍵をきっかり1つ選択してください。\n"
 
-#: g10/keyedit.c:1846
+#: g10/keyedit.c:1847
 msgid "Command expects a filename argument\n"
 msgstr "コマンドはファイル名の引数を期待します\n"
 
-#: g10/keyedit.c:1867
+#: g10/keyedit.c:1868
 #, c-format
 msgid "Can't open '%s': %s\n"
 msgstr "'%s'が開けません: %s\n"
 
-#: g10/keyedit.c:1886
+#: g10/keyedit.c:1887
 #, c-format
 msgid "Error reading backup key from '%s': %s\n"
 msgstr "バックアップ鍵を'%s'から読み込みする際のエラー: %s\n"
 
-#: g10/keyedit.c:1921
+#: g10/keyedit.c:1922
 msgid "You must select at least one key.\n"
 msgstr "鍵を少なくとも1本選択してください。\n"
 
-#: g10/keyedit.c:1927
+#: g10/keyedit.c:1928
 msgid "Do you really want to delete the selected keys? (y/N) "
 msgstr "選択した鍵を本当に削除しますか? (y/N) "
 
-#: g10/keyedit.c:1929
+#: g10/keyedit.c:1930
 msgid "Do you really want to delete this key? (y/N) "
 msgstr "この鍵を本当に削除しますか? (y/N) "
 
-#: g10/keyedit.c:1967
+#: g10/keyedit.c:1968
 msgid "Really revoke all selected user IDs? (y/N) "
 msgstr "選択した全ユーザIDを本当に失効しますか? (y/N) "
 
-#: g10/keyedit.c:1968
+#: g10/keyedit.c:1969
 msgid "Really revoke this user ID? (y/N) "
 msgstr "このユーザIDを本当に失効しますか? (y/N) "
 
-#: g10/keyedit.c:1986
+#: g10/keyedit.c:1987
 msgid "Do you really want to revoke the entire key? (y/N) "
 msgstr "この鍵全体を本当に失効しますか? (y/N) "
 
-#: g10/keyedit.c:1997
+#: g10/keyedit.c:1998
 msgid "Do you really want to revoke the selected subkeys? (y/N) "
 msgstr "選択した副鍵を本当に失効しますか? (y/N) "
 
-#: g10/keyedit.c:1999
+#: g10/keyedit.c:2000
 msgid "Do you really want to revoke this subkey? (y/N) "
 msgstr "この副鍵を本当に失効しますか? (y/N) "
 
-#: g10/keyedit.c:2057
+#: g10/keyedit.c:2058
 msgid "Owner trust may not be set while using a user provided trust database\n"
 msgstr ""
 "ユーザが指定した信用データベースを利用中、所有者信用は設定できません。\n"
 
-#: g10/keyedit.c:2102
+#: g10/keyedit.c:2103
 msgid "Set preference list to:\n"
 msgstr "優先指定の一覧を設定:\n"
 
-#: g10/keyedit.c:2109
+#: g10/keyedit.c:2110
 msgid "Really update the preferences for the selected user IDs? (y/N) "
 msgstr "選択したユーザIDの優先指定を本当に更新しますか? (y/N) "
 
-#: g10/keyedit.c:2111
+#: g10/keyedit.c:2112
 msgid "Really update the preferences? (y/N) "
 msgstr "優先指定を本当に更新しますか? (y/N) "
 
-#: g10/keyedit.c:2185
+#: g10/keyedit.c:2186
 msgid "Save changes? (y/N) "
 msgstr "変更を保存しますか? (y/N) "
 
-#: g10/keyedit.c:2189
+#: g10/keyedit.c:2190
 msgid "Quit without saving? (y/N) "
 msgstr "保存せずに終了しますか? (y/N) "
 
-#: g10/keyedit.c:2216 g10/keyedit.c:2762 g10/keyedit.c:3061 g10/keyedit.c:3214
+#: g10/keyedit.c:2217 g10/keyedit.c:2763 g10/keyedit.c:3062 g10/keyedit.c:3215
 #, c-format
 msgid "Key not changed so no update needed.\n"
 msgstr "鍵は無変更なので更新は不要です。\n"
 
-#: g10/keyedit.c:2448
+#: g10/keyedit.c:2449
 #, c-format
 msgid "cannot revoke the last valid user ID.\n"
 msgstr "最後の有効なユーザIDは失効できません。\n"
 
-#: g10/keyedit.c:2475
+#: g10/keyedit.c:2476
 #, c-format
 msgid "revoking the user ID failed: %s\n"
 msgstr "ユーザIDの失効に失敗しました: %s\n"
 
-#: g10/keyedit.c:2541
+#: g10/keyedit.c:2542
 #, c-format
 msgid "setting the primary user ID failed: %s\n"
 msgstr "プライマリ・ユーザIDの設定に失敗しました: %s\n"
 
-#: g10/keyedit.c:2572
+#: g10/keyedit.c:2573
 #, c-format
 msgid "\"%s\" is not a fingerprint\n"
 msgstr "\"%s\"はフィンガープリントではありません\n"
 
-#: g10/keyedit.c:2602
+#: g10/keyedit.c:2603
 #, c-format
 msgid "\"%s\" is not the primary fingerprint\n"
 msgstr "\"%s\" はプライマリ・フィンガープリントではありません\n"
 
-#: g10/keyedit.c:2738 g10/keyedit.c:2741
+#: g10/keyedit.c:2739 g10/keyedit.c:2742
 #, c-format
 msgid "Invalid user ID '%s': %s\n"
 msgstr "無効なユーザID '%s': %s\n"
 
-#: g10/keyedit.c:2744
+#: g10/keyedit.c:2745
 msgid "No matching user IDs."
 msgstr "マッチするユーザIDはありません。"
 
-#: g10/keyedit.c:2744
+#: g10/keyedit.c:2745
 msgid "Nothing to sign.\n"
 msgstr "署名するものがありません。\n"
 
-#: g10/keyedit.c:2937 g10/keyedit.c:6019
+#: g10/keyedit.c:2938 g10/keyedit.c:6020
 #, c-format
 msgid "Not signed by you.\n"
 msgstr "あなたによって署名されていません。\n"
 
-#: g10/keyedit.c:2995
+#: g10/keyedit.c:2996
 #, c-format
 msgid "revoking the key signature failed: %s\n"
 msgstr "鍵の署名の失効に失敗しました: %s\n"
 
-#: g10/keyedit.c:3116
+#: g10/keyedit.c:3117
 #, c-format
 msgid "'%s' is not a valid expiration time\n"
 msgstr "'%s'は、有効な有効期限ではありません\n"
 
-#: g10/keyedit.c:3159
+#: g10/keyedit.c:3160
 #, c-format
 msgid "\"%s\" is not a proper fingerprint\n"
 msgstr "\"%s\"は正しいフィンガープリントではありません\n"
 
-#: g10/keyedit.c:3183
+#: g10/keyedit.c:3184
 #, c-format
 msgid "subkey \"%s\" not found\n"
 msgstr "副鍵\"%s\"が見つかりません\n"
 
-#: g10/keyedit.c:3306
+#: g10/keyedit.c:3307
 msgid "AEAD: "
 msgstr "AEAD: "
 
-#: g10/keyedit.c:3323
+#: g10/keyedit.c:3324
 msgid "Digest: "
 msgstr "ダイジェスト: "
 
-#: g10/keyedit.c:3380
+#: g10/keyedit.c:3381
 msgid "Features: "
 msgstr "機能: "
 
-#: g10/keyedit.c:3397
+#: g10/keyedit.c:3398
 msgid "Keyserver no-modify"
 msgstr "鍵サーバ 修正しない"
 
-#: g10/keyedit.c:3412 g10/keylist.c:376
+#: g10/keyedit.c:3413 g10/keylist.c:376
 msgid "Preferred keyserver: "
 msgstr "優先鍵サーバ: "
 
-#: g10/keyedit.c:3420 g10/keyedit.c:3421
+#: g10/keyedit.c:3421 g10/keyedit.c:3422
 msgid "Notations: "
 msgstr "注釈: "
 
-#: g10/keyedit.c:3669
+#: g10/keyedit.c:3670
 msgid "There are no preferences on a PGP 2.x-style user ID.\n"
 msgstr "PGP 2.x形式ユーザIDの優先指定が、ありません。\n"
 
-#: g10/keyedit.c:3741
+#: g10/keyedit.c:3742
 #, c-format
 msgid "The following key was revoked on %s by %s key %s\n"
 msgstr "%sで%s鍵%sによって以下の鍵は、失効されました\n"
 
-#: g10/keyedit.c:3765
+#: g10/keyedit.c:3766
 #, c-format
 msgid "This key may be revoked by %s key %s"
 msgstr "この鍵は、%s鍵%sによって失効可能です"
 
-#: g10/keyedit.c:3771
+#: g10/keyedit.c:3772
 msgid "(sensitive)"
 msgstr "(機密指定)"
 
-#: g10/keyedit.c:3813 g10/keyedit.c:3960 g10/keylist.c:264 g10/keyserver.c:538
+#: g10/keyedit.c:3814 g10/keyedit.c:3961 g10/keylist.c:264 g10/keyserver.c:361
 #, c-format
 msgid "created: %s"
 msgstr "作成: %s"
 
-#: g10/keyedit.c:3816 g10/keylist.c:2149
+#: g10/keyedit.c:3817 g10/keylist.c:2149
 #, c-format
 msgid "revoked: %s"
 msgstr "失効: %s"
 
-#: g10/keyedit.c:3818 g10/keylist.c:2155
+#: g10/keyedit.c:3819 g10/keylist.c:2155
 #, c-format
 msgid "expired: %s"
 msgstr "期限切れ: %s"
 
-#: g10/keyedit.c:3820 g10/keyedit.c:3962 g10/keylist.c:266 g10/keylist.c:2161
-#: g10/keyserver.c:544
+#: g10/keyedit.c:3821 g10/keyedit.c:3963 g10/keylist.c:266 g10/keylist.c:2161
+#: g10/keyserver.c:367
 #, c-format
 msgid "expires: %s"
 msgstr "有効期限: %s"
 
-#: g10/keyedit.c:3822
+#: g10/keyedit.c:3823
 #, c-format
 msgid "usage: %s"
 msgstr "利用法: %s"
 
-#: g10/keyedit.c:3830 g10/keyedit.c:3850 g10/keylist.c:269
+#: g10/keyedit.c:3831 g10/keyedit.c:3851 g10/keylist.c:269
 msgid "card-no: "
 msgstr "カード番号: "
 
-#: g10/keyedit.c:3889
+#: g10/keyedit.c:3890
 #, c-format
 msgid "trust: %s"
 msgstr "信用: %s"
 
-#: g10/keyedit.c:3893
+#: g10/keyedit.c:3894
 #, c-format
 msgid "validity: %s"
 msgstr "有効性: %s"
 
-#: g10/keyedit.c:3900
+#: g10/keyedit.c:3901
 msgid "This key has been disabled"
 msgstr "この鍵は使用禁止に設定されています"
 
-#: g10/keyedit.c:3918
+#: g10/keyedit.c:3919
 msgid ""
 "Please note that the shown key validity is not necessarily correct\n"
 "unless you restart the program.\n"
@@ -4588,17 +4601,17 @@ msgstr ""
 "プログラムを再起動するまで、表示された鍵の有効性は正しくないかもしれない、\n"
 "ということを念頭においてください。\n"
 
-#: g10/keyedit.c:3979 g10/keyedit.c:4410 g10/keyserver.c:548
-#: g10/mainproc.c:2371 g10/tofu.c:1787 g10/trust.c:437 dirmngr/ocsp.c:791
+#: g10/keyedit.c:3980 g10/keyedit.c:4411 g10/keyserver.c:371
+#: g10/mainproc.c:2380 g10/tofu.c:1787 g10/trust.c:437 dirmngr/ocsp.c:791
 msgid "revoked"
 msgstr "失効"
 
-#: g10/keyedit.c:3981 g10/keyedit.c:4412 g10/keyserver.c:552
-#: g10/mainproc.c:2373 g10/tofu.c:1792 g10/trust.c:124
+#: g10/keyedit.c:3982 g10/keyedit.c:4413 g10/keyserver.c:375
+#: g10/mainproc.c:2382 g10/tofu.c:1792 g10/trust.c:124
 msgid "expired"
 msgstr "期限切れ"
 
-#: g10/keyedit.c:4098
+#: g10/keyedit.c:4099
 #, c-format
 msgid ""
 "WARNING: no user ID has been marked as primary.  This command may\n"
@@ -4607,17 +4620,17 @@ msgstr ""
 "*警告*: 主たるユーザIDがありません。このコマンドは、別な\n"
 "              ユーザIDが主になると仮定する場合があります。\n"
 
-#: g10/keyedit.c:4150
+#: g10/keyedit.c:4151
 #, c-format
 msgid "WARNING: Your encryption subkey expires soon.\n"
 msgstr "*警告*: あなたの暗号副鍵はもうすぐ期限切れとなります。\n"
 
-#: g10/keyedit.c:4151
+#: g10/keyedit.c:4152
 #, c-format
 msgid "You may want to change its expiration date too.\n"
 msgstr "その有効期限も変更したいでしょう\n"
 
-#: g10/keyedit.c:4210
+#: g10/keyedit.c:4211
 msgid ""
 "WARNING: This is a PGP2-style key.  Adding a photo ID may cause some "
 "versions\n"
@@ -4627,70 +4640,70 @@ msgstr ""
 "は、\n"
 "        この鍵を拒否するかもしれません。\n"
 
-#: g10/keyedit.c:4215 g10/keyedit.c:4505
+#: g10/keyedit.c:4216 g10/keyedit.c:4506
 msgid "Are you sure you still want to add it? (y/N) "
 msgstr "それでも追加したいですか? (y/N) "
 
-#: g10/keyedit.c:4221
+#: g10/keyedit.c:4222
 msgid "You may not add a photo ID to a PGP2-style key.\n"
 msgstr "PGP2形式の鍵にはフォトIDを追加できません。\n"
 
-#: g10/keyedit.c:4236 g10/keygen.c:2899
+#: g10/keyedit.c:4237 g10/keygen.c:2899
 msgid "Such a user ID already exists on this key!\n"
 msgstr "そういったユーザIDはすでにこの鍵に存在しています!\n"
 
-#: g10/keyedit.c:4338
+#: g10/keyedit.c:4339
 msgid "Delete this good signature? (y/N/q)"
 msgstr "この正しい署名を削除しますか? (y/N/q)"
 
-#: g10/keyedit.c:4348
+#: g10/keyedit.c:4349
 msgid "Delete this invalid signature? (y/N/q)"
 msgstr "この無効な署名を削除しますか? (y/N/q)"
 
-#: g10/keyedit.c:4352
+#: g10/keyedit.c:4353
 msgid "Delete this unknown signature? (y/N/q)"
 msgstr "この不明の署名を削除しますか? (y/N/q)"
 
-#: g10/keyedit.c:4359
+#: g10/keyedit.c:4360
 msgid "Really delete this self-signature? (y/N)"
 msgstr "この自己署名を本当に削除しますか? (y/N)"
 
-#: g10/keyedit.c:4375
+#: g10/keyedit.c:4376
 #, c-format
 msgid "Deleted %d signature.\n"
 msgid_plural "Deleted %d signatures.\n"
 msgstr[0] "%d個の署名を削除しました。\n"
 
-#: g10/keyedit.c:4379
+#: g10/keyedit.c:4380
 msgid "Nothing deleted.\n"
 msgstr "何も削除していません。\n"
 
-#: g10/keyedit.c:4414
+#: g10/keyedit.c:4415
 msgid "invalid"
 msgstr "無効"
 
-#: g10/keyedit.c:4416
+#: g10/keyedit.c:4417
 #, c-format
 msgid "User ID \"%s\" compacted: %s\n"
 msgstr "ユーザID \"%s\" は、コンパクトになりました: %s\n"
 
-#: g10/keyedit.c:4422
+#: g10/keyedit.c:4423
 #, c-format
 msgid "User ID \"%s\": %d signature removed\n"
 msgid_plural "User ID \"%s\": %d signatures removed\n"
 msgstr[0] "ユーザID \"%s\": %d の署名が除去されました\n"
 
-#: g10/keyedit.c:4430
+#: g10/keyedit.c:4431
 #, c-format
 msgid "User ID \"%s\": already minimized\n"
 msgstr "ユーザID \"%s\": 既に最小化されています\n"
 
-#: g10/keyedit.c:4431
+#: g10/keyedit.c:4432
 #, c-format
 msgid "User ID \"%s\": already clean\n"
 msgstr "ユーザID \"%s\": 既にクリーンとなっています\n"
 
-#: g10/keyedit.c:4500
+#: g10/keyedit.c:4501
 msgid ""
 "WARNING: This is a PGP 2.x-style key.  Adding a designated revoker may "
 "cause\n"
@@ -4700,209 +4713,209 @@ msgstr ""
 "では、\n"
 "        この鍵を拒否するかもしれません。\n"
 
-#: g10/keyedit.c:4511
+#: g10/keyedit.c:4512
 msgid "You may not add a designated revoker to a PGP 2.x-style key.\n"
 msgstr "PGP 2.x形式の鍵には指名失効者を追加できません。\n"
 
-#: g10/keyedit.c:4528
+#: g10/keyedit.c:4529
 msgid "Enter the user ID of the designated revoker: "
 msgstr "指名失効者のユーザIDを入力してください: "
 
-#: g10/keyedit.c:4554
+#: g10/keyedit.c:4555
 #, c-format
 msgid "cannot appoint a PGP 2.x style key as a designated revoker\n"
 msgstr "PGP 2.x形式の鍵は、指名失効者に任命できません\n"
 
-#: g10/keyedit.c:4569
+#: g10/keyedit.c:4570
 #, c-format
 msgid "you cannot appoint a key as its own designated revoker\n"
 msgstr "指名失効者には、その鍵自体を任命できません\n"
 
-#: g10/keyedit.c:4591
+#: g10/keyedit.c:4592
 #, c-format
 msgid "this key has already been designated as a revoker\n"
 msgstr "この鍵は失効者としてもう指名されています\n"
 
-#: g10/keyedit.c:4609
+#: g10/keyedit.c:4610
 msgid "WARNING: appointing a key as a designated revoker cannot be undone!\n"
 msgstr "*警告*: ある鍵を指名失効者に設定すると、元に戻せません!\n"
 
-#: g10/keyedit.c:4615
+#: g10/keyedit.c:4616
 msgid ""
 "Are you sure you want to appoint this key as a designated revoker? (y/N) "
 msgstr "本当にこの鍵を指名失効者に任命しますか? (y/N) "
 
-#: g10/keyedit.c:4683
+#: g10/keyedit.c:4684
 msgid ""
 "Are you sure you want to change the expiration time for multiple subkeys? (y/"
 "N) "
 msgstr "本当に複数の副鍵の失効期限を変更しますか? (y/N) "
 
-#: g10/keyedit.c:4688
+#: g10/keyedit.c:4689
 msgid "Changing expiration time for a subkey.\n"
 msgstr "副鍵の有効期限を変更します。\n"
 
-#: g10/keyedit.c:4691
+#: g10/keyedit.c:4692
 msgid "Changing expiration time for the primary key.\n"
 msgstr "主鍵の有効期限を変更します。\n"
 
-#: g10/keyedit.c:4747
+#: g10/keyedit.c:4748
 #, c-format
 msgid "You can't change the expiration date of a v3 key\n"
 msgstr "v3鍵の有効期限は変更できません\n"
 
-#: g10/keyedit.c:4807
+#: g10/keyedit.c:4808
 msgid "Changing usage of a subkey.\n"
 msgstr "副鍵の使用法を変更します。\n"
 
-#: g10/keyedit.c:4810
+#: g10/keyedit.c:4811
 msgid "Changing usage of the primary key.\n"
 msgstr "主鍵の使用法を変更します。\n"
 
-#: g10/keyedit.c:4928
+#: g10/keyedit.c:4929
 #, c-format
 msgid "signing subkey %s is already cross-certified\n"
 msgstr "署名する副鍵%sはすでに相互証明されています\n"
 
-#: g10/keyedit.c:4934
+#: g10/keyedit.c:4935
 #, c-format
 msgid "subkey %s does not sign and so does not need to be cross-certified\n"
 msgstr "副鍵 %s は署名をしないので、相互証明の必要はありません\n"
 
-#: g10/keyedit.c:5051
+#: g10/keyedit.c:5052
 msgid "Please select exactly one user ID.\n"
 msgstr "ユーザIDをきっかりひとつ選択してください。\n"
 
-#: g10/keyedit.c:5092 g10/keyedit.c:5206 g10/keyedit.c:5319 g10/keyedit.c:5457
+#: g10/keyedit.c:5093 g10/keyedit.c:5207 g10/keyedit.c:5320 g10/keyedit.c:5458
 #, c-format
 msgid "skipping v3 self-signature on user ID \"%s\"\n"
 msgstr "ユーザID\"%s\"のv3自己署名をスキップします\n"
 
-#: g10/keyedit.c:5263
+#: g10/keyedit.c:5264
 msgid "Enter your preferred keyserver URL: "
 msgstr "優先鍵サーバURLを入力してください: "
 
-#: g10/keyedit.c:5342
+#: g10/keyedit.c:5343
 msgid "Are you sure you want to replace it? (y/N) "
 msgstr "本当に置き換えたいですか? (y/N) "
 
-#: g10/keyedit.c:5343
+#: g10/keyedit.c:5344
 msgid "Are you sure you want to delete it? (y/N) "
 msgstr "本当に削除したいですか? (y/N) "
 
-#: g10/keyedit.c:5403
+#: g10/keyedit.c:5404
 msgid "Enter the notation: "
 msgstr "注釈を入力: "
 
-#: g10/keyedit.c:5550
+#: g10/keyedit.c:5551
 msgid "Proceed? (y/N) "
 msgstr "進みますか? (y/N) "
 
-#: g10/keyedit.c:5620
+#: g10/keyedit.c:5621
 #, c-format
 msgid "No user ID with index %d\n"
 msgstr "%d番のユーザIDはありません\n"
 
-#: g10/keyedit.c:5682
+#: g10/keyedit.c:5683
 #, c-format
 msgid "No user ID with hash %s\n"
 msgstr "ハッシュ%sのユーザIDはありません\n"
 
-#: g10/keyedit.c:5783
+#: g10/keyedit.c:5784
 #, c-format
 msgid "No subkey with key ID '%s'.\n"
 msgstr "鍵ID'%s'の副鍵はありません\n"
 
-#: g10/keyedit.c:5805
+#: g10/keyedit.c:5806
 #, c-format
 msgid "No subkey with index %d\n"
 msgstr "%d番の副鍵はありません\n"
 
-#: g10/keyedit.c:5946
+#: g10/keyedit.c:5947
 #, c-format
 msgid "user ID: \"%s\"\n"
 msgstr "ユーザID:\"%s\"\n"
 
-#: g10/keyedit.c:5949 g10/keyedit.c:6051 g10/keyedit.c:6099
+#: g10/keyedit.c:5950 g10/keyedit.c:6052 g10/keyedit.c:6100
 #, c-format
 msgid "signed by your key %s on %s%s%s\n"
 msgstr "%sで%s%s%sに署名されています\n"
 
-#: g10/keyedit.c:5951 g10/keyedit.c:6053 g10/keyedit.c:6101
+#: g10/keyedit.c:5952 g10/keyedit.c:6054 g10/keyedit.c:6102
 msgid " (non-exportable)"
 msgstr " (エクスポート不可)"
 
-#: g10/keyedit.c:5955
+#: g10/keyedit.c:5956
 #, c-format
 msgid "This signature expired on %s.\n"
 msgstr "この署名は%sで期限切れです。\n"
 
-#: g10/keyedit.c:5960
+#: g10/keyedit.c:5961
 msgid "Are you sure you still want to revoke it? (y/N) "
 msgstr "それでも本当に失効したいですか? (y/N) "
 
-#: g10/keyedit.c:5965
+#: g10/keyedit.c:5966
 msgid "Create a revocation certificate for this signature? (y/N) "
 msgstr "この署名に対する失効証明書を作成しますか? (y/N) "
 
-#: g10/keyedit.c:6025
+#: g10/keyedit.c:6026
 #, c-format
 msgid "You have signed these user IDs on key %s:\n"
 msgstr "これらのユーザIDに鍵%sで署名しました:\n"
 
-#: g10/keyedit.c:6054
+#: g10/keyedit.c:6055
 msgid " (non-revocable)"
 msgstr " (失効不可)"
 
-#: g10/keyedit.c:6061
+#: g10/keyedit.c:6062
 #, c-format
 msgid "revoked by your key %s on %s\n"
 msgstr "あなたの鍵%sで%sに失効されています\n"
 
-#: g10/keyedit.c:6086
+#: g10/keyedit.c:6087
 msgid "You are about to revoke these signatures:\n"
 msgstr "これらの署名を失効しようとしています:\n"
 
-#: g10/keyedit.c:6109
+#: g10/keyedit.c:6110
 msgid "Really create the revocation certificates? (y/N) "
 msgstr "失効証明書を本当に作成しますか? (y/N) "
 
-#: g10/keyedit.c:6142
+#: g10/keyedit.c:6143
 #, c-format
 msgid "no secret key\n"
 msgstr "秘密鍵がありません\n"
 
-#: g10/keyedit.c:6190
+#: g10/keyedit.c:6191
 #, c-format
 msgid "tried to revoke a non-user ID: %s\n"
 msgstr "ユーザIDでないものを失効しようとしました: %s\n"
 
-#: g10/keyedit.c:6200
+#: g10/keyedit.c:6201
 #, c-format
 msgid "user ID \"%s\" is already revoked\n"
 msgstr "ユーザID\"%s\"は、もう失効されています\n"
 
-#: g10/keyedit.c:6217
+#: g10/keyedit.c:6218
 #, c-format
 msgid "WARNING: a user ID signature is dated %d seconds in the future\n"
 msgstr "*警告*: ユーザID署名が、%d秒未来です\n"
 
-#: g10/keyedit.c:6313
+#: g10/keyedit.c:6314
 #, c-format
 msgid "Cannot revoke the last valid user ID.\n"
 msgstr "最後の有効なユーザIDは失効できません。\n"
 
-#: g10/keyedit.c:6351
+#: g10/keyedit.c:6352
 #, c-format
 msgid "Key %s is already revoked.\n"
 msgstr "鍵 %s は、もう失効されています。\n"
 
-#: g10/keyedit.c:6413
+#: g10/keyedit.c:6414
 #, c-format
 msgid "Subkey %s is already revoked.\n"
 msgstr "副鍵 %s は、もう失効されています。\n"
 
-#: g10/keyedit.c:6510
+#: g10/keyedit.c:6511
 #, c-format
 msgid "Displaying %s photo ID of size %ld for key %s (uid %d)\n"
 msgstr "%s (大きさ%ld) の鍵%s (uid %d) のフォトIDとして表示\n"
@@ -5600,76 +5613,71 @@ msgstr "鍵に設定される優先鍵サーバURLを与える"
 msgid "honor the PKA record set on a key when retrieving keys"
 msgstr "鍵に設定されたPKAレコードを鍵の取得時に与える"
 
-#: g10/keyserver.c:550
+#: g10/keyserver.c:373
 msgid "disabled"
 msgstr "使用禁止"
 
-#: g10/keyserver.c:754
+#: g10/keyserver.c:577
 msgid "Enter number(s), N)ext, or Q)uit > "
 msgstr "番号(s)、N)次、またはQ)中止を入力してください >"
 
-#: g10/keyserver.c:860
+#: g10/keyserver.c:683
 #, c-format
 msgid "invalid keyserver protocol (us %d!=handler %d)\n"
 msgstr "無効な鍵サーバ・プロトコルです (us %d!=handler %d)\n"
 
-#: g10/keyserver.c:1001 g10/keyserver.c:1116
+#: g10/keyserver.c:824 g10/keyserver.c:939
 #, c-format
 msgid "\"%s\" not a key ID: skipping\n"
 msgstr "\"%s\"鍵IDではありません: スキップします\n"
 
-#: g10/keyserver.c:1438 g10/keyserver.c:1471
+#: g10/keyserver.c:1237 g10/keyserver.c:1270
 #, c-format
 msgid "refreshing %d key from %s\n"
 msgid_plural "refreshing %d keys from %s\n"
 msgstr[0] "%d本の鍵を%sから更新\n"
 
-#: g10/keyserver.c:1445
+#: g10/keyserver.c:1244
 #, c-format
 msgid "WARNING: unable to refresh key %s via %s: %s\n"
 msgstr "*警告*: 鍵%sを%s経由で更新できません: %s\n"
 
-#: g10/keyserver.c:1549
+#: g10/keyserver.c:1336
 #, c-format
 msgid "key \"%s\" not found on keyserver\n"
 msgstr "鍵\"%s\"が鍵サーバに見つかりません\n"
 
-#: g10/keyserver.c:1552
+#: g10/keyserver.c:1339
 #, c-format
 msgid "key not found on keyserver\n"
 msgstr "鍵が鍵サーバに見つかりません\n"
 
-#: g10/keyserver.c:1743
-#, c-format
-msgid "requesting key %s from %s server %s\n"
-msgstr "鍵%sを%sからサーバ%sに要求\n"
-
-#: g10/keyserver.c:1747
+#: g10/keyserver.c:1504
 #, c-format
 msgid "requesting key %s from %s\n"
 msgstr "鍵%sを%sに要求\n"
 
-#: g10/keyserver.c:1852 g10/keyserver.c:2031
+#: g10/keyserver.c:1619 g10/keyserver.c:1798
 #, c-format
 msgid "no keyserver known\n"
 msgstr "鍵サーバがわかりません\n"
 
-#: g10/keyserver.c:1867 g10/skclist.c:214 g10/skclist.c:242
+#: g10/keyserver.c:1634 g10/skclist.c:215 g10/skclist.c:243
 #, c-format
 msgid "skipped \"%s\": %s\n"
 msgstr "\"%s\"をスキップしました: %s\n"
 
-#: g10/keyserver.c:1871
+#: g10/keyserver.c:1638
 #, c-format
 msgid "sending key %s to %s\n"
 msgstr "鍵%sを%sへ送信\n"
 
-#: g10/keyserver.c:1912
+#: g10/keyserver.c:1679
 #, c-format
 msgid "requesting key from '%s'\n"
 msgstr "鍵を'%s'から要求\n"
 
-#: g10/keyserver.c:1928
+#: g10/keyserver.c:1695
 #, c-format
 msgid "WARNING: unable to fetch URI %s: %s\n"
 msgstr "*警告*: URI %s からデータを取れません: %s\n"
@@ -5684,72 +5692,72 @@ msgstr "変な長さの暗号化済みセッション鍵 (%d)\n"
 msgid "%s encrypted session key\n"
 msgstr "%s 暗号化済みセッション鍵\n"
 
-#: g10/mainproc.c:400
+#: g10/mainproc.c:403
 #, c-format
 msgid "passphrase generated with unknown digest algorithm %d\n"
 msgstr "不明のダイジェスト・アルゴリズムで生成されたパスフレーズ %d\n"
 
-#: g10/mainproc.c:481
+#: g10/mainproc.c:485
 #, c-format
 msgid "public key is %s\n"
 msgstr "公開鍵は%sです\n"
 
-#: g10/mainproc.c:557
+#: g10/mainproc.c:561
 #, c-format
 msgid "public key encrypted data: good DEK\n"
 msgstr "公開鍵による暗号化済みデータ: 正しいDEKです\n"
 
-#: g10/mainproc.c:590
+#: g10/mainproc.c:594
 #, c-format
 msgid "encrypted with %u-bit %s key, ID %s, created %s\n"
 msgstr "%u-ビット%s鍵, ID %s, 日付%sに暗号化されました\n"
 
-#: g10/mainproc.c:594 g10/pkclist.c:228
+#: g10/mainproc.c:598 g10/pkclist.c:228
 #, c-format
 msgid "      \"%s\"\n"
 msgstr "      \"%s\"\n"
 
-#: g10/mainproc.c:598
+#: g10/mainproc.c:602
 #, c-format
 msgid "encrypted with %s key, ID %s\n"
 msgstr "%s鍵, ID %sで暗号化されました\n"
 
-#: g10/mainproc.c:619
+#: g10/mainproc.c:623
 #, c-format
 msgid "public key decryption failed: %s\n"
 msgstr "公開鍵の復号に失敗しました: %s\n"
 
-#: g10/mainproc.c:641 g10/mainproc.c:970
+#: g10/mainproc.c:645 g10/mainproc.c:976
 #, c-format
 msgid "WARNING: multiple plaintexts seen\n"
 msgstr "*警告*: 複数のプレインテクストが見られます\n"
 
-#: g10/mainproc.c:649
+#: g10/mainproc.c:653
 #, c-format
 msgid "encrypted with %lu passphrases\n"
 msgstr "%lu 個のパスフレーズで暗号化\n"
 
-#: g10/mainproc.c:651
+#: g10/mainproc.c:655
 #, c-format
 msgid "encrypted with 1 passphrase\n"
 msgstr "1 個のパスフレーズで暗号化\n"
 
-#: g10/mainproc.c:685 g10/mainproc.c:706
+#: g10/mainproc.c:689 g10/mainproc.c:710
 #, c-format
 msgid "assuming %s encrypted data\n"
 msgstr "%s暗号化済みデータを仮定\n"
 
-#: g10/mainproc.c:692
+#: g10/mainproc.c:696
 #, c-format
 msgid "IDEA cipher unavailable, optimistically attempting to use %s instead\n"
 msgstr "IDEA暗号方式は利用不能なので、楽天的ですが%sで代用しようとしています\n"
 
-#: g10/mainproc.c:779 g10/mainproc.c:817
+#: g10/mainproc.c:785 g10/mainproc.c:823
 #, c-format
 msgid "WARNING: message was not integrity protected\n"
 msgstr "*警告*: メッセージの完全性は保護されていません\n"
 
-#: g10/mainproc.c:790
+#: g10/mainproc.c:796
 msgid ""
 "Hint: If this message was created before the year 2003 it is\n"
 "likely that this message is legitimate.  This is because back\n"
@@ -5759,179 +5767,179 @@ msgstr ""
 "このメッセージはおそらく正当でしょう。当時、整合性の保護機能は\n"
 "広く使われてはいなかったためです。\n"
 
-#: g10/mainproc.c:793
+#: g10/mainproc.c:799
 #, c-format
 msgid "Use the option '%s' to decrypt anyway.\n"
 msgstr "それでも復号するにはオプション '%s' を使います。\n"
 
-#: g10/mainproc.c:798
+#: g10/mainproc.c:804
 #, c-format
 msgid "decryption forced to fail!\n"
 msgstr "復号は強制的に失敗とされました!\n"
 
-#: g10/mainproc.c:810
+#: g10/mainproc.c:816
 #, c-format
 msgid "decryption okay\n"
 msgstr "復号に成功\n"
 
-#: g10/mainproc.c:823
+#: g10/mainproc.c:829
 #, c-format
 msgid "WARNING: encrypted message has been manipulated!\n"
 msgstr "*警告*: 暗号化されたメッセージは改竄されています!\n"
 
-#: g10/mainproc.c:841
+#: g10/mainproc.c:847
 #, c-format
 msgid "decryption failed: %s\n"
 msgstr "復号に失敗しました: %s\n"
 
-#: g10/mainproc.c:886
+#: g10/mainproc.c:892
 #, c-format
 msgid "Note: sender requested \"for-your-eyes-only\"\n"
 msgstr "注意: 送信者は\"極秘とする\"ように求めています\n"
 
-#: g10/mainproc.c:893
+#: g10/mainproc.c:899
 #, c-format
 msgid "original file name='%.*s'\n"
 msgstr "元のファイル名='%.*s'\n"
 
-#: g10/mainproc.c:1148
+#: g10/mainproc.c:1154
 #, c-format
 msgid "standalone revocation - use \"gpg --import\" to apply\n"
 msgstr "スタンドアロン失効 - \"gpg --import\"を使って適用してください\n"
 
-#: g10/mainproc.c:1452 g10/mainproc.c:1495
+#: g10/mainproc.c:1458 g10/mainproc.c:1501
 #, c-format
 msgid "no signature found\n"
 msgstr "署名が見つかりません\n"
 
-#: g10/mainproc.c:1852
+#: g10/mainproc.c:1858
 #, c-format
 msgid "BAD signature from \"%s\""
 msgstr "\"%s\"からの*不正な*署名"
 
-#: g10/mainproc.c:1854
+#: g10/mainproc.c:1860
 #, c-format
 msgid "Expired signature from \"%s\""
 msgstr "\"%s\"からの期限切れの署名"
 
-#: g10/mainproc.c:1856
+#: g10/mainproc.c:1862
 #, c-format
 msgid "Good signature from \"%s\""
 msgstr "\"%s\"からの正しい署名"
 
-#: g10/mainproc.c:1876
+#: g10/mainproc.c:1882
 #, c-format
 msgid "signature verification suppressed\n"
 msgstr "署名の検証を省略\n"
 
-#: g10/mainproc.c:1985
+#: g10/mainproc.c:1991
 #, c-format
 msgid "can't handle this ambiguous signature data\n"
 msgstr "このあいまいな署名データは取り扱えません\n"
 
-#: g10/mainproc.c:2001 g10/mainproc.c:2008
+#: g10/mainproc.c:2007 g10/mainproc.c:2014
 #, c-format
 msgid "Signature made %s\n"
 msgstr "%sに施された署名\n"
 
-#: g10/mainproc.c:2002 g10/mainproc.c:2009 sm/verify.c:476
+#: g10/mainproc.c:2008 g10/mainproc.c:2015 sm/verify.c:476
 #, c-format
 msgid "               using %s key %s\n"
 msgstr "               %s鍵%sを使用\n"
 
-#: g10/mainproc.c:2013
+#: g10/mainproc.c:2019
 #, c-format
 msgid "Signature made %s using %s key ID %s\n"
 msgstr "%sに%s鍵ID %sで施された署名\n"
 
-#: g10/mainproc.c:2019
+#: g10/mainproc.c:2025
 #, c-format
 msgid "               issuer \"%s\"\n"
 msgstr "               発行者\"%s\"\n"
 
-#: g10/mainproc.c:2070
+#: g10/mainproc.c:2076
 #, c-format
 msgid "Key available at: "
 msgstr "以下に鍵があります: "
 
-#: g10/mainproc.c:2111
+#: g10/mainproc.c:2118
 #, c-format
 msgid "Note: Use '%s' to make use of this info\n"
 msgstr "注意: この情報を利用するには '%s' を使ってください\n"
 
-#: g10/mainproc.c:2325
+#: g10/mainproc.c:2334
 msgid "[uncertain]"
 msgstr "[不確定]"
 
-#: g10/mainproc.c:2363
+#: g10/mainproc.c:2372
 #, c-format
 msgid "                aka \"%s\""
 msgstr "                別名\"%s\""
 
-#: g10/mainproc.c:2438
+#: g10/mainproc.c:2447
 #, c-format
 msgid "WARNING: This key is not suitable for signing in %s mode\n"
 msgstr "*警告*: この鍵は%sモードでの署名に適しません!\n"
 
-#: g10/mainproc.c:2456
+#: g10/mainproc.c:2465
 #, c-format
 msgid "Signature expired %s\n"
 msgstr "期限切れの署名 %s\n"
 
-#: g10/mainproc.c:2460
+#: g10/mainproc.c:2469
 #, c-format
 msgid "Signature expires %s\n"
 msgstr "この署名は%sで期限切れとなります\n"
 
-#: g10/mainproc.c:2471
+#: g10/mainproc.c:2480
 #, c-format
 msgid "%s signature, digest algorithm %s%s%s\n"
 msgstr "%s署名、ダイジェスト・アルゴリズム %s%s%s\n"
 
-#: g10/mainproc.c:2472
+#: g10/mainproc.c:2481
 msgid "binary"
 msgstr "バイナリ"
 
-#: g10/mainproc.c:2473
+#: g10/mainproc.c:2482
 msgid "textmode"
 msgstr "テキストモード"
 
-#: g10/mainproc.c:2473 g10/trust.c:123 dirmngr/ocsp.c:792
+#: g10/mainproc.c:2482 g10/trust.c:123 dirmngr/ocsp.c:792
 msgid "unknown"
 msgstr "不明の"
 
-#: g10/mainproc.c:2475
+#: g10/mainproc.c:2484
 msgid ", key algorithm "
 msgstr "、鍵アルゴリズム "
 
-#: g10/mainproc.c:2510
+#: g10/mainproc.c:2519
 #, c-format
 msgid "WARNING: not a detached signature; file '%s' was NOT verified!\n"
 msgstr ""
 "*警告*: 分遣署名ではありません。ファイル「%s」は検証され*ませんでした*!\n"
 
-#: g10/mainproc.c:2548
+#: g10/mainproc.c:2558
 #, c-format
 msgid "Can't check signature: %s\n"
 msgstr "署名を検査できません: %s\n"
 
-#: g10/mainproc.c:2644 g10/mainproc.c:2663 g10/mainproc.c:2787
+#: g10/mainproc.c:2654 g10/mainproc.c:2673 g10/mainproc.c:2797
 #, c-format
 msgid "not a detached signature\n"
 msgstr "分遣署名でありません\n"
 
-#: g10/mainproc.c:2697
+#: g10/mainproc.c:2707
 #, c-format
 msgid ""
 "WARNING: multiple signatures detected.  Only the first will be checked.\n"
 msgstr "*警告*: 多重署名の検出。最初のものだけ検査します。\n"
 
-#: g10/mainproc.c:2706
+#: g10/mainproc.c:2716
 #, c-format
 msgid "standalone signature of class 0x%02x\n"
 msgstr "クラス0x%02xのスタンドアロン署名\n"
 
-#: g10/mainproc.c:2791
+#: g10/mainproc.c:2801
 #, c-format
 msgid "old style (PGP 2.x) signature\n"
 msgstr "古い形式 (PGP 2.x) の署名\n"
@@ -6113,51 +6121,55 @@ msgstr "不明なクリティカルな署名注釈: "
 msgid "subpacket of type %d has critical bit set\n"
 msgstr "型%dの下位パケットにクリティカル・ビットを発見\n"
 
-#: g10/passphrase.c:73 g10/passphrase.c:275 g10/passphrase.c:308
+#: g10/passphrase.c:73 g10/passphrase.c:283 g10/passphrase.c:316
 #, c-format
 msgid "problem with the agent: %s\n"
 msgstr "エージェントに問題: %s\n"
 
-#: g10/passphrase.c:258
+#: g10/passphrase.c:251 sm/decrypt.c:341
+msgid "Please enter the passphrase for decryption."
+msgstr "復号のためにパスフレーズを入力してください。"
+
+#: g10/passphrase.c:253
 msgid "Enter passphrase\n"
 msgstr "パスフレーズを入力\n"
 
-#: g10/passphrase.c:269
+#: g10/passphrase.c:277
 #, c-format
 msgid "cancelled by user\n"
 msgstr "ユーザによる取消し\n"
 
-#: g10/passphrase.c:510
+#: g10/passphrase.c:523
 #, c-format
 msgid " (main key ID %s)"
 msgstr " (主鍵ID %s)"
 
-#: g10/passphrase.c:517
+#: g10/passphrase.c:530
 msgid "Please enter the passphrase to unlock the OpenPGP secret key:"
 msgstr "OpenPGPの秘密鍵のロックを解除するためにパスフレーズを入力してください:"
 
-#: g10/passphrase.c:521
+#: g10/passphrase.c:534
 msgid "Please enter the passphrase to import the OpenPGP secret key:"
 msgstr "OpenPGPの秘密鍵をインポートするためにパスフレーズを入力してください:"
 
-#: g10/passphrase.c:526
+#: g10/passphrase.c:539
 msgid "Please enter the passphrase to export the OpenPGP secret subkey:"
 msgstr ""
 "OpenPGPの秘密副鍵をエクスポートするためにパスフレーズを入力してください:"
 
-#: g10/passphrase.c:529
+#: g10/passphrase.c:542
 msgid "Please enter the passphrase to export the OpenPGP secret key:"
 msgstr "OpenPGPの秘密鍵をエクスポートするためにパスフレーズを入力してください:"
 
-#: g10/passphrase.c:534
+#: g10/passphrase.c:547
 msgid "Do you really want to permanently delete the OpenPGP secret subkey key:"
 msgstr "選択したOpenPGP副鍵を本当に永久に削除しますか? (y/N) "
 
-#: g10/passphrase.c:537
+#: g10/passphrase.c:550
 msgid "Do you really want to permanently delete the OpenPGP secret key:"
 msgstr "選択したOpenPGP秘密鍵を本当に永久に削除しますか? (y/N) "
 
-#: g10/passphrase.c:546
+#: g10/passphrase.c:559
 #, c-format
 msgid ""
 "%s\n"
@@ -6213,7 +6225,7 @@ msgstr "'%s'は、JPEGファイルではありません\n"
 msgid "Is this photo correct (y/N/q)? "
 msgstr "この写真は正しいですか (y/N/q)? "
 
-#: g10/photoid.c:395
+#: g10/photoid.c:399
 #, c-format
 msgid "unable to display photo ID!\n"
 msgstr "フォトIDが表示不能!\n"
@@ -6553,7 +6565,7 @@ msgstr "署名されたデータ'%s'が開けません\n"
 msgid "can't open signed data fd=%d: %s\n"
 msgstr "署名されたデータ fd=%d が開けません: %s\n"
 
-#: g10/pubkey-enc.c:98 g10/pubkey-enc.c:139 sm/decrypt.c:493
+#: g10/pubkey-enc.c:98 g10/pubkey-enc.c:139 sm/decrypt.c:969
 #, c-format
 msgid "key %s is not suitable for decryption in %s mode\n"
 msgstr "鍵%sは%sモードでの復号化のために適しません\n"
@@ -6568,27 +6580,27 @@ msgstr "匿名の受取人用です。秘密鍵%sを試します ...\n"
 msgid "okay, we are the anonymous recipient.\n"
 msgstr "終了。匿名の受取人用です。\n"
 
-#: g10/pubkey-enc.c:321
+#: g10/pubkey-enc.c:311
 #, c-format
 msgid "old encoding of the DEK is not supported\n"
 msgstr "DEKの旧式エンコーディングは、サポートしていません\n"
 
-#: g10/pubkey-enc.c:349
+#: g10/pubkey-enc.c:339
 #, c-format
 msgid "cipher algorithm %d%s is unknown or disabled\n"
 msgstr "暗号アルゴリズム%d%sは不明か使用禁止です\n"
 
-#: g10/pubkey-enc.c:393
+#: g10/pubkey-enc.c:383
 #, c-format
 msgid "WARNING: cipher algorithm %s not found in recipient preferences\n"
 msgstr "*警告*: 暗号アルゴリズム%sは受取人の優先指定に入っていません\n"
 
-#: g10/pubkey-enc.c:426
+#: g10/pubkey-enc.c:416
 #, c-format
 msgid "Note: secret key %s expired at %s\n"
 msgstr "注意: 秘密鍵%sは%sで期限切れとなります\n"
 
-#: g10/pubkey-enc.c:433
+#: g10/pubkey-enc.c:423
 #, c-format
 msgid "Note: key has been revoked"
 msgstr "注意: 鍵は失効済みです"
@@ -6884,7 +6896,7 @@ msgstr "*警告*: 優先鍵サーバURLを%%拡張不能 (大きすぎ)。拡張
 msgid "%s/%s signature from: \"%s\"\n"
 msgstr "%s/%s署名。署名者:\"%s\"\n"
 
-#: g10/sign.c:1046
+#: g10/sign.c:1045
 #, c-format
 msgid ""
 "WARNING: forcing digest algorithm %s (%d) violates recipient preferences\n"
@@ -6892,34 +6904,34 @@ msgstr ""
 "*警告*: ダイジェスト・アルゴリズム %s (%d) の強制が、受取人の優先指定と対立し"
 "ます\n"
 
-#: g10/sign.c:1188
+#: g10/sign.c:1187
 #, c-format
 msgid "signing:"
 msgstr "署名:"
 
-#: g10/sign.c:1465
+#: g10/sign.c:1464
 #, c-format
 msgid "%s encryption will be used\n"
 msgstr "%s暗号化を使用します\n"
 
-#: g10/skclist.c:173 g10/skclist.c:254
+#: g10/skclist.c:174 g10/skclist.c:255
 #, c-format
 msgid "key is not flagged as insecure - can't use it with the faked RNG!\n"
 msgstr ""
 "セキュアでないというフラグが鍵には設定されていません。\n"
 "偽物乱数生成器とはいっしょに使えません!\n"
 
-#: g10/skclist.c:205
+#: g10/skclist.c:206
 #, c-format
 msgid "skipped \"%s\": duplicated\n"
 msgstr "\"%s\"をスキップします: 重複\n"
 
-#: g10/skclist.c:224
+#: g10/skclist.c:225
 #, c-format
 msgid "skipped: secret key already present\n"
 msgstr "スキップ: 秘密鍵はもうあります\n"
 
-#: g10/skclist.c:243
+#: g10/skclist.c:244
 msgid "this is a PGP generated Elgamal key which is not secure for signatures!"
 msgstr "これはPGPの生成したElgamal鍵で、署名用には安全ではありません!"
 
@@ -6973,7 +6985,7 @@ msgstr "'%s'で読み込みエラー: %s\n"
 msgid "trustdb: sync failed: %s\n"
 msgstr "信用データベース: 同期に失敗しました: %s\n"
 
-#: g10/tdbio.c:144 sm/keydb.c:336
+#: g10/tdbio.c:144 sm/keydb.c:335
 #, c-format
 msgid "can't create lock for '%s'\n"
 msgstr "'%s'のロックを作成できません\n"
@@ -7680,39 +7692,49 @@ msgstr ""
 #. TRANSLATORS: Put a \x1f right before a colon.  This can be
 #. * used by pinentry to nicely align the names and values.  Keep
 #. * the %s at the start and end of the string.
-#: scd/app-p15.c:3369 scd/app-openpgp.c:2153
+#: scd/app-p15.c:4955 scd/app-openpgp.c:2151
 #, c-format
 msgid "%sNumber\1f: %s%%0AHolder\1f: %s%s"
 msgstr "%s番号\1f: %s%%0A保持者\1f: %s%s"
 
 #. TRANSLATORS: This is the number of remaining attempts to
 #. * enter a PIN.  Use %%0A (double-percent,0A) for a linefeed.
-#: scd/app-p15.c:3388 scd/app-openpgp.c:2169
+#: scd/app-p15.c:4974 scd/app-openpgp.c:2167
 #, c-format
 msgid "Remaining attempts: %d"
 msgstr "残された試行回数: %d"
 
-#: scd/app-p15.c:3459 scd/app-nks.c:1110
+#: scd/app-p15.c:5053 scd/app-nks.c:1113
 msgid "||Please enter the PIN for the key to create qualified signatures."
 msgstr "||新しいPINを認定署名を生成する鍵のために入力してください。"
 
-#: scd/app-p15.c:3462 scd/app-nks.c:1092
+#. TRANSLATORS: Do not translate the "|A|" prefix but keep it at
+#. the start of the string.  Use %0A (single percent) for a linefeed.
+#: scd/app-p15.c:5056 scd/app-openpgp.c:2461
+msgid "|A|Please enter the Admin PIN"
+msgstr "|A|管理者PINを入力してください"
+
+#: scd/app-p15.c:5058 scd/app-nks.c:1103
+msgid "|P|Please enter the PIN Unblocking Code (PUK) for the standard keys."
+msgstr "|P|標準の鍵のPIN Unblocking Code (PUK)を入力してください。"
+
+#: scd/app-p15.c:5061 scd/app-nks.c:1095
 msgid "||Please enter the PIN for the standard keys."
 msgstr "||PINを標準の鍵のために入力してください。"
 
-#: scd/app-nks.c:709 scd/app-openpgp.c:3664
+#: scd/app-nks.c:709 scd/app-openpgp.c:3663
 #, c-format
 msgid "RSA modulus missing or not of size %d bits\n"
 msgstr "RSAのモジュラスがないか、%dビットのものではありません\n"
 
-#: scd/app-nks.c:717 scd/app-openpgp.c:3676
+#: scd/app-nks.c:717 scd/app-openpgp.c:3675
 #, c-format
 msgid "RSA public exponent missing or larger than %d bits\n"
 msgstr "RSA公開指数がないか %d ビットより大きすぎます\n"
 
-#: scd/app-nks.c:797 scd/app-openpgp.c:2326 scd/app-openpgp.c:2345
-#: scd/app-openpgp.c:2512 scd/app-openpgp.c:2530 scd/app-openpgp.c:2827
-#: scd/app-openpgp.c:2874 scd/app-openpgp.c:2989 scd/app-dinsig.c:303
+#: scd/app-nks.c:797 scd/app-openpgp.c:2324 scd/app-openpgp.c:2343
+#: scd/app-openpgp.c:2510 scd/app-openpgp.c:2528 scd/app-openpgp.c:2826
+#: scd/app-openpgp.c:2873 scd/app-openpgp.c:2988 scd/app-dinsig.c:302
 #, c-format
 msgid "PIN callback returned error: %s\n"
 msgstr "PINコールバックがエラーを返しました: %s\n"
@@ -7722,77 +7744,73 @@ msgstr "PINコールバックがエラーを返しました: %s\n"
 msgid "the NullPIN has not yet been changed\n"
 msgstr "NullPINが変更されていません\n"
 
-#: scd/app-nks.c:1091
+#: scd/app-nks.c:1094
 msgid "|N|Please enter a new PIN for the standard keys."
 msgstr "|N|新しいPINを標準の鍵のために入力してください。"
 
-#: scd/app-nks.c:1098
+#: scd/app-nks.c:1101
 msgid "|NP|Please enter a new PIN Unblocking Code (PUK) for the standard keys."
 msgstr "|NP|標準の鍵の新しいPIN Unblocking Code (PUK)を入力してください。"
 
-#: scd/app-nks.c:1100
-msgid "|P|Please enter the PIN Unblocking Code (PUK) for the standard keys."
-msgstr "|P|標準の鍵のPIN Unblocking Code (PUK)を入力してください。"
-
-#: scd/app-nks.c:1108
+#: scd/app-nks.c:1111
 msgid "|N|Please enter a new PIN for the key to create qualified signatures."
 msgstr "|N|新しいPINを認定署名を生成する鍵のために入力してください。"
 
-#: scd/app-nks.c:1118
+#: scd/app-nks.c:1121
 msgid ""
 "|NP|Please enter a new PIN Unblocking Code (PUK) for the key to create "
 "qualified signatures."
 msgstr ""
 "|NP|認定署名の鍵のために新しいPINブロック解除コード(PUK)を入力してください。"
 
-#: scd/app-nks.c:1120
+#: scd/app-nks.c:1123
 msgid ""
 "|P|Please enter the PIN Unblocking Code (PUK) for the key to create "
 "qualified signatures."
 msgstr ""
 "|P|認定署名の鍵のために新しいPINブロック解除コード(PUK)を入力してください。"
 
-#: scd/app-nks.c:1227 scd/app-openpgp.c:2908 scd/app-dinsig.c:531
+#: scd/app-nks.c:1230 scd/app-openpgp.c:2907 scd/app-dinsig.c:532
 #, c-format
 msgid "error getting new PIN: %s\n"
 msgstr "新しいPINの取得エラー: %s\n"
 
-#: scd/app-openpgp.c:860
+#: scd/app-openpgp.c:859
 #, c-format
 msgid "failed to store the fingerprint: %s\n"
 msgstr "指紋の保管に失敗しました: %s\n"
 
-#: scd/app-openpgp.c:873
+#: scd/app-openpgp.c:872
 #, c-format
 msgid "failed to store the creation date: %s\n"
 msgstr "生成日の保管に失敗しました: %s\n"
 
-#: scd/app-openpgp.c:1272 scd/app-openpgp.c:2855 scd/app-openpgp.c:5020
+#: scd/app-openpgp.c:1268 scd/app-openpgp.c:2854 scd/app-openpgp.c:5025
 #, c-format
 msgid "error retrieving CHV status from card\n"
 msgstr "カードからCHVステイタスの取得でエラー\n"
 
-#: scd/app-openpgp.c:1430
+#: scd/app-openpgp.c:1426
 #, c-format
 msgid "response does not contain the RSA modulus\n"
 msgstr "応答にRSAのモジュラスが含まれていません\n"
 
-#: scd/app-openpgp.c:1437
+#: scd/app-openpgp.c:1433
 #, c-format
 msgid "response does not contain the RSA public exponent\n"
 msgstr "応答にRSA公開指数が含まれていません\n"
 
-#: scd/app-openpgp.c:1547
+#: scd/app-openpgp.c:1543
 #, c-format
 msgid "response does not contain the EC public key\n"
 msgstr "応答に楕円曲線の公開鍵が含まれていません\n"
 
-#: scd/app-openpgp.c:1665 scd/app-openpgp.c:4284
+#: scd/app-openpgp.c:1661 scd/app-openpgp.c:4283
 #, c-format
 msgid "response does not contain the public key data\n"
 msgstr "応答に公開鍵データが含まれていません\n"
 
-#: scd/app-openpgp.c:1772
+#: scd/app-openpgp.c:1768
 #, c-format
 msgid "reading public key failed: %s\n"
 msgstr "公開鍵の読み込みに失敗しました: %s\n"
@@ -7800,70 +7818,64 @@ msgstr "公開鍵の読み込みに失敗しました: %s\n"
 #. TRANSLATORS: Put a \x1f right before a colon.  This can be
 #. * used by pinentry to nicely align the names and values.  Keep
 #. * the %s at the start and end of the string.
-#: scd/app-openpgp.c:2140
+#: scd/app-openpgp.c:2138
 #, c-format
 msgid "%sNumber\1f: %s%%0AHolder\1f: %s%%0ACounter\1f: %lu%s"
 msgstr "%s番号\1f: %s%%0A保持者\1f: %s%%0Aカウンタ\1f: %lu%s"
 
-#: scd/app-openpgp.c:2280
+#: scd/app-openpgp.c:2278
 #, c-format
 msgid "using default PIN as %s\n"
 msgstr "デフォルトPINを%sとして使います\n"
 
-#: scd/app-openpgp.c:2287
+#: scd/app-openpgp.c:2285
 #, c-format
 msgid "failed to use default PIN as %s: %s - disabling further default use\n"
 msgstr ""
 "デフォルトのPIN %s を使うのに失敗しました: %s - これ以上デフォルトとしての使"
 "用を無効とします\n"
 
-#: scd/app-openpgp.c:2300
+#: scd/app-openpgp.c:2298
 msgid "||Please unlock the card"
 msgstr "||カードをアンロックしてください"
 
-#: scd/app-openpgp.c:2352 scd/app-openpgp.c:2537 scd/app-openpgp.c:2834
+#: scd/app-openpgp.c:2350 scd/app-openpgp.c:2535 scd/app-openpgp.c:2833
 #, c-format
 msgid "PIN for CHV%d is too short; minimum length is %d\n"
 msgstr "CHV%dのPINが短すぎます。最短で%dです\n"
 
-#: scd/app-openpgp.c:2366 scd/app-openpgp.c:2413 scd/app-openpgp.c:2551
-#: scd/app-openpgp.c:4642
+#: scd/app-openpgp.c:2364 scd/app-openpgp.c:2411 scd/app-openpgp.c:2549
+#: scd/app-openpgp.c:4641
 #, c-format
 msgid "verify CHV%d failed: %s\n"
 msgstr "CHV%dの認証に失敗しました: %s\n"
 
-#: scd/app-openpgp.c:2449 scd/app-openpgp.c:5029
+#: scd/app-openpgp.c:2447 scd/app-openpgp.c:5034
 #, c-format
 msgid "card is permanently locked!\n"
 msgstr "カードが永久にロックされてます!\n"
 
-#: scd/app-openpgp.c:2453
+#: scd/app-openpgp.c:2451
 #, c-format
 msgid "%d Admin PIN attempt remaining before card is permanently locked\n"
 msgid_plural ""
 "%d Admin PIN attempts remaining before card is permanently locked\n"
 msgstr[0] "カードの永久ロック前に%d回の管理者PINの試行が残っています\n"
 
-#. TRANSLATORS: Do not translate the "|A|" prefix but keep it at
-#. the start of the string.  Use %0A (single percent) for a linefeed.
-#: scd/app-openpgp.c:2463
-msgid "|A|Please enter the Admin PIN"
-msgstr "|A|管理者PINを入力してください"
-
-#: scd/app-openpgp.c:2484
+#: scd/app-openpgp.c:2482
 #, c-format
 msgid "access to admin commands is not configured\n"
 msgstr "管理コマンドへのアクセスが設定されていません\n"
 
-#: scd/app-openpgp.c:2821
+#: scd/app-openpgp.c:2820
 msgid "||Please enter the PIN"
 msgstr "||PINを入力してください"
 
-#: scd/app-openpgp.c:2870
+#: scd/app-openpgp.c:2869
 msgid "||Please enter the Reset Code for the card"
 msgstr "||カードのリセット・コードを入力してください"
 
-#: scd/app-openpgp.c:2880 scd/app-openpgp.c:2941
+#: scd/app-openpgp.c:2879 scd/app-openpgp.c:2940
 #, c-format
 msgid "Reset Code is too short; minimum length is %d\n"
 msgstr "リセット・コードが短すぎます。最短の長さは%dです。\n"
@@ -7871,131 +7883,131 @@ msgstr "リセット・コードが短すぎます。最短の長さは%dです
 #. TRANSLATORS: Do not translate the "|*|" prefixes but
 #. keep it at the start of the string.  We need this elsewhere
 #. to get some infos on the string.
-#: scd/app-openpgp.c:2903
+#: scd/app-openpgp.c:2902
 msgid "|RN|New Reset Code"
 msgstr "|RN|新しいリセット・コード"
 
-#: scd/app-openpgp.c:2904
+#: scd/app-openpgp.c:2903
 msgid "|AN|New Admin PIN"
 msgstr "|AN|新しい管理者PIN"
 
-#: scd/app-openpgp.c:2904
+#: scd/app-openpgp.c:2903
 msgid "|N|New PIN"
 msgstr "|N|新しいPIN"
 
-#: scd/app-openpgp.c:2985
+#: scd/app-openpgp.c:2984
 msgid "||Please enter the Admin PIN and New Admin PIN"
 msgstr "||管理者PINと新しい管理者PINを入力してください"
 
-#: scd/app-openpgp.c:2986
+#: scd/app-openpgp.c:2985
 msgid "||Please enter the PIN and New PIN"
 msgstr "||PINと新しいPINを入力してください"
 
-#: scd/app-openpgp.c:3048 scd/app-openpgp.c:4344
+#: scd/app-openpgp.c:3047 scd/app-openpgp.c:4343
 #, c-format
 msgid "error reading application data\n"
 msgstr "アプリケーション・データの読み込みエラー\n"
 
-#: scd/app-openpgp.c:3054 scd/app-openpgp.c:4351
+#: scd/app-openpgp.c:3053 scd/app-openpgp.c:4350
 #, c-format
 msgid "error reading fingerprint DO\n"
 msgstr "フィンガープリントのデータ・オブジェクトの読み込みエラー\n"
 
-#: scd/app-openpgp.c:3064
+#: scd/app-openpgp.c:3063
 #, c-format
 msgid "key already exists\n"
 msgstr "鍵はもうあります\n"
 
-#: scd/app-openpgp.c:3068
+#: scd/app-openpgp.c:3067
 #, c-format
 msgid "existing key will be replaced\n"
 msgstr "既存の鍵は置き換えられます\n"
 
-#: scd/app-openpgp.c:3070
+#: scd/app-openpgp.c:3069
 #, c-format
 msgid "generating new key\n"
 msgstr "新しい鍵を生成\n"
 
-#: scd/app-openpgp.c:3072
+#: scd/app-openpgp.c:3071
 #, c-format
 msgid "writing new key\n"
 msgstr "新しい鍵を書き込み\n"
 
-#: scd/app-openpgp.c:3645 scd/app-openpgp.c:3997
+#: scd/app-openpgp.c:3644 scd/app-openpgp.c:3996
 #, c-format
 msgid "creation timestamp missing\n"
 msgstr "作成時刻スタンプがありません\n"
 
-#: scd/app-openpgp.c:3686 scd/app-openpgp.c:3694
+#: scd/app-openpgp.c:3685 scd/app-openpgp.c:3693
 #, c-format
 msgid "RSA prime %s missing or not of size %d bits\n"
 msgstr "RSA素数 %s がありません、または%dビットのものではありません\n"
 
-#: scd/app-openpgp.c:3827 scd/app-openpgp.c:4104
+#: scd/app-openpgp.c:3826 scd/app-openpgp.c:4103
 #, c-format
 msgid "failed to store the key: %s\n"
 msgstr "鍵の保管に失敗しました: %s\n"
 
-#: scd/app-openpgp.c:3991
+#: scd/app-openpgp.c:3990
 #, c-format
 msgid "unsupported curve\n"
 msgstr "サポートされていない曲線\n"
 
-#: scd/app-openpgp.c:4261
+#: scd/app-openpgp.c:4260
 #, c-format
 msgid "please wait while key is being generated ...\n"
 msgstr "鍵生成の間、お待ちください ...\n"
 
-#: scd/app-openpgp.c:4269
+#: scd/app-openpgp.c:4268
 #, c-format
 msgid "generating key failed\n"
 msgstr "鍵の生成に失敗しました\n"
 
-#: scd/app-openpgp.c:4275
+#: scd/app-openpgp.c:4274
 #, c-format
 msgid "key generation completed (%d second)\n"
 msgid_plural "key generation completed (%d seconds)\n"
 msgstr[0] "鍵の生成が完了しました (%d秒)\n"
 
-#: scd/app-openpgp.c:4309
+#: scd/app-openpgp.c:4308
 #, c-format
 msgid "invalid structure of OpenPGP card (DO 0x93)\n"
 msgstr "OpenPGPカードに無効な構造 (データ・オブジェクト 0x93)\n"
 
-#: scd/app-openpgp.c:4359
+#: scd/app-openpgp.c:4358
 #, c-format
 msgid "fingerprint on card does not match requested one\n"
 msgstr "カードのフィンガープリントが要求されたものと一致しません\n"
 
-#: scd/app-openpgp.c:4558
+#: scd/app-openpgp.c:4557
 #, c-format
 msgid "card does not support digest algorithm %s\n"
 msgstr "カードはダイジェスト・アルゴリズム %s をサポートしていません\n"
 
-#: scd/app-openpgp.c:4616
+#: scd/app-openpgp.c:4615
 #, c-format
 msgid "signatures created so far: %lu\n"
 msgstr "これまでに作成された署名: %lu\n"
 
-#: scd/app-openpgp.c:5034
+#: scd/app-openpgp.c:5039
 #, c-format
 msgid ""
 "verification of Admin PIN is currently prohibited through this command\n"
 msgstr "管理者PINの確認はこのコマンドでは今のところ禁止されています\n"
 
-#: scd/app-openpgp.c:5346 scd/app-openpgp.c:5357
+#: scd/app-openpgp.c:5351 scd/app-openpgp.c:5362
 #, c-format
 msgid "can't access %s - invalid OpenPGP card?\n"
 msgstr "%sにアクセスできません - 無効なOpenPGPカード?\n"
 
-#: scd/app-dinsig.c:299
+#: scd/app-dinsig.c:298
 msgid "||Please enter your PIN at the reader's pinpad"
 msgstr "||PINをリーダのピンパッドで入力してください"
 
 #. TRANSLATORS: Do not translate the "|*|" prefixes but
 #. keep it at the start of the string.  We need this elsewhere
 #. to get some infos on the string.
-#: scd/app-dinsig.c:528
+#: scd/app-dinsig.c:529
 msgid "|N|Initial New PIN"
 msgstr "|N|初期の新しいPIN"
 
@@ -8003,7 +8015,7 @@ msgstr "|N|初期の新しいPIN"
 msgid "run in multi server mode (foreground)"
 msgstr "マルチ・サーバ・モード(フォアグラウンド)で実行"
 
-#: scd/scdaemon.c:129 sm/gpgsm.c:345 dirmngr/dirmngr.c:187
+#: scd/scdaemon.c:129 sm/gpgsm.c:348 dirmngr/dirmngr.c:188
 msgid "|LEVEL|set the debugging level to LEVEL"
 msgstr "|LEVEL|デバッグ・レベルをLEVELとします"
 
@@ -8023,31 +8035,31 @@ msgstr "|NAME|ct-APIドライバとしてNAMEを用います"
 msgid "|NAME|use NAME as PC/SC driver"
 msgstr "|NAME|PC/SCドライバとしてNAMEを用います"
 
-#: scd/scdaemon.c:145
+#: scd/scdaemon.c:146
 msgid "do not use the internal CCID driver"
 msgstr "内蔵CCIDドライバを使いません"
 
-#: scd/scdaemon.c:151
+#: scd/scdaemon.c:152
 msgid "|N|disconnect the card after N seconds of inactivity"
 msgstr "|N|N秒アクティブでない場合、カードへの接続を切ります"
 
-#: scd/scdaemon.c:154
+#: scd/scdaemon.c:155
 msgid "do not use a reader's pinpad"
 msgstr "リーダのピンパッドを使わない"
 
-#: scd/scdaemon.c:159
+#: scd/scdaemon.c:160
 msgid "deny the use of admin card commands"
 msgstr "管理カード・コマンドの使用を拒否"
 
-#: scd/scdaemon.c:162
+#: scd/scdaemon.c:163
 msgid "use variable length input for pinpad"
 msgstr "ピンパッドの可変長入力を使う"
 
-#: scd/scdaemon.c:311
+#: scd/scdaemon.c:312
 msgid "Usage: @SCDAEMON@ [options] (-h for help)"
 msgstr "使い方: @SCDAEMON@ [オプション] (ヘルプは -h)"
 
-#: scd/scdaemon.c:313
+#: scd/scdaemon.c:314
 msgid ""
 "Syntax: scdaemon [options] [command [args]]\n"
 "Smartcard daemon for @GNUPG@\n"
@@ -8055,19 +8067,19 @@ msgstr ""
 "形式: scdaemon [オプション] [コマンド [引数]]\n"
 "@GNUPG@のSmartcardデーモン\n"
 
-#: scd/scdaemon.c:806
+#: scd/scdaemon.c:808
 #, c-format
 msgid "please use the option '--daemon' to run the program in the background\n"
 msgstr ""
 "'--daemon'オプションを使って、プログラムをバックグラウンドで実行してくださ"
 "い\n"
 
-#: scd/scdaemon.c:1183 dirmngr/dirmngr.c:2082
+#: scd/scdaemon.c:1185 dirmngr/dirmngr.c:2119
 #, c-format
 msgid "handler for fd %d started\n"
 msgstr "fd %dのハンドラが開始されました\n"
 
-#: scd/scdaemon.c:1195 dirmngr/dirmngr.c:2090
+#: scd/scdaemon.c:1197 dirmngr/dirmngr.c:2127
 #, c-format
 msgid "handler for fd %d terminated\n"
 msgstr "fd %dのハンドラが終了しました\n"
@@ -8114,7 +8126,7 @@ msgstr "注意: クリティカルでない証明書ポリシーは認められ
 msgid "certificate policy not allowed"
 msgstr "証明書ポリシーは認められません"
 
-#: sm/certchain.c:595 sm/keydb.c:1106 sm/keydb.c:1192
+#: sm/certchain.c:595 sm/keydb.c:1084 sm/keydb.c:1171
 #, c-format
 msgid "failed to get the fingerprint\n"
 msgstr "フィンガープリントの取得に失敗しました\n"
@@ -8149,8 +8161,8 @@ msgstr "マッチする証明書の数: %d\n"
 msgid "dirmngr cache-only key lookup failed: %s\n"
 msgstr "dirmngrのキャッシュだけの鍵探索に失敗しました: %s\n"
 
-#: sm/certchain.c:1041 sm/certchain.c:1554 sm/certchain.c:2192 sm/decrypt.c:265
-#: sm/encrypt.c:344 sm/import.c:415 sm/keydb.c:1113 sm/keydb.c:1199
+#: sm/certchain.c:1041 sm/certchain.c:1554 sm/certchain.c:2192 sm/decrypt.c:728
+#: sm/encrypt.c:345 sm/import.c:415 sm/keydb.c:1091 sm/keydb.c:1178
 #: sm/sign.c:337 sm/verify.c:118
 #, c-format
 msgid "failed to allocate keyDB handle\n"
@@ -8345,13 +8357,13 @@ msgid "a %u bit hash is not valid for a %u bit %s key\n"
 msgstr "%uビットハッシュは%uビットの%s鍵には無効です\n"
 
 #: sm/certcheck.c:238 sm/certcheck.c:262 dirmngr/crlcache.c:1542
-#: dirmngr/crlcache.c:1566 dirmngr/dirmngr.c:1324 dirmngr/validate.c:903
+#: dirmngr/crlcache.c:1566 dirmngr/dirmngr.c:1361 dirmngr/validate.c:903
 #: dirmngr/validate.c:927
 #, c-format
 msgid "out of core\n"
 msgstr "メモリがありません\n"
 
-#: sm/certcheck.c:371 sm/verify.c:213
+#: sm/certcheck.c:370 sm/verify.c:213
 #, c-format
 msgid "(this is the MD2 algorithm)\n"
 msgstr "(これはMD2アルゴリズムです)\n"
@@ -8639,22 +8651,32 @@ msgstr "準備ができました。今、この要求をあなたのCAに送る
 msgid "resource problem: out of core\n"
 msgstr "リソースの問題: メモリがありません\n"
 
-#: sm/decrypt.c:341
+#: sm/decrypt.c:536
+#, c-format
+msgid "%s.%s encrypted data\n"
+msgstr "%s.%s 暗号化済みデータ\n"
+
+#: sm/decrypt.c:803
 #, c-format
 msgid "(this is the RC2 algorithm)\n"
 msgstr "(RC2アルゴリズムです)\n"
 
-#: sm/decrypt.c:343
+#: sm/decrypt.c:805
 #, c-format
 msgid "(this does not seem to be an encrypted message)\n"
 msgstr "(暗号化されたメッセージではないようです)\n"
 
+#: sm/decrypt.c:958
+#, c-format
+msgid "encrypted to %s key %s\n"
+msgstr "%s の鍵 %s へ暗号化されたものです\n"
+
 #: sm/delete.c:51 sm/delete.c:112
 #, c-format
 msgid "certificate '%s' not found: %s\n"
 msgstr "証明書'%s'が見つかりません: %s\n"
 
-#: sm/delete.c:122 sm/keydb.c:1209 sm/keydb.c:1307
+#: sm/delete.c:122 sm/keydb.c:1189 sm/keydb.c:1288
 #, c-format
 msgid "error locking keybox: %s\n"
 msgstr "keyboxのロックのエラー: %s\n"
@@ -8674,128 +8696,128 @@ msgstr "証明書'%s'を削除しました\n"
 msgid "deleting certificate \"%s\" failed: %s\n"
 msgstr "証明書'%s'の削除に失敗しました: %s\n"
 
-#: sm/encrypt.c:330
+#: sm/encrypt.c:331
 #, c-format
 msgid "no valid recipients given\n"
 msgstr "有効な受け取り手が指定されていません\n"
 
-#: sm/gpgsm.c:215
+#: sm/gpgsm.c:216
 msgid "list external keys"
 msgstr "外部鍵を一覧する"
 
-#: sm/gpgsm.c:217
+#: sm/gpgsm.c:218
 msgid "list certificate chain"
 msgstr "証明書のチェインを表示する"
 
-#: sm/gpgsm.c:225
+#: sm/gpgsm.c:226
 msgid "import certificates"
 msgstr "証明書をインポートする"
 
-#: sm/gpgsm.c:226
+#: sm/gpgsm.c:227
 msgid "export certificates"
 msgstr "証明書をエクスポートする"
 
-#: sm/gpgsm.c:234
+#: sm/gpgsm.c:235
 msgid "register a smartcard"
 msgstr "スマートカードを登録する"
 
-#: sm/gpgsm.c:237
+#: sm/gpgsm.c:238
 msgid "pass a command to the dirmngr"
 msgstr "dirmngrにコマンドを渡す"
 
-#: sm/gpgsm.c:239
+#: sm/gpgsm.c:240
 msgid "invoke gpg-protect-tool"
 msgstr "gpg-protect-toolを起動する"
 
-#: sm/gpgsm.c:256
+#: sm/gpgsm.c:257
 msgid "create base-64 encoded output"
 msgstr "base-64形式の出力を作成"
 
-#: sm/gpgsm.c:265
+#: sm/gpgsm.c:266
 msgid "assume input is in PEM format"
 msgstr "PEMフォーマットの入力を仮定する"
 
-#: sm/gpgsm.c:267
+#: sm/gpgsm.c:268
 msgid "assume input is in base-64 format"
 msgstr "base-64フォーマットの入力を仮定する"
 
-#: sm/gpgsm.c:269
+#: sm/gpgsm.c:270
 msgid "assume input is in binary format"
 msgstr "バイナリ・フォーマットの入力を仮定する"
 
-#: sm/gpgsm.c:276
+#: sm/gpgsm.c:277
 msgid "never consult a CRL"
 msgstr "決してCRLを調べない"
 
-#: sm/gpgsm.c:286
+#: sm/gpgsm.c:287
 msgid "check validity using OCSP"
 msgstr "OCSPを用いて有効性を確認する"
 
-#: sm/gpgsm.c:291
+#: sm/gpgsm.c:292
 msgid "|N|number of certificates to include"
 msgstr "|N|インクルードする証明書の数"
 
-#: sm/gpgsm.c:294
+#: sm/gpgsm.c:295
 msgid "|FILE|take policy information from FILE"
 msgstr "|FILE|ポリシー情報をFILEから取得する"
 
-#: sm/gpgsm.c:297
+#: sm/gpgsm.c:298
 msgid "do not check certificate policies"
 msgstr "証明書ポリシーをチェックしない"
 
-#: sm/gpgsm.c:301
+#: sm/gpgsm.c:302
 msgid "fetch missing issuer certificates"
 msgstr "紛失している発行者証明書を取得する"
 
-#: sm/gpgsm.c:312
+#: sm/gpgsm.c:313
 msgid "don't use the terminal at all"
 msgstr "端末をまったく使わない"
 
-#: sm/gpgsm.c:314
+#: sm/gpgsm.c:315
 msgid "|FILE|write a server mode log to FILE"
 msgstr "|FILE|サーバ・モードのログをFILEに書き出す"
 
-#: sm/gpgsm.c:319
+#: sm/gpgsm.c:320
 msgid "|FILE|write an audit log to FILE"
 msgstr "|FILE|監査ログをFILEに書き出す"
 
-#: sm/gpgsm.c:322
+#: sm/gpgsm.c:323
 msgid "batch mode: never ask"
 msgstr "バッチ・モード: なにもユーザに問い合わせない"
 
-#: sm/gpgsm.c:323
+#: sm/gpgsm.c:324
 msgid "assume yes on most questions"
 msgstr "ほとんどの設問にyesを仮定する"
 
-#: sm/gpgsm.c:324
+#: sm/gpgsm.c:325
 msgid "assume no on most questions"
 msgstr "ほとんどの設問にnoを仮定する"
 
-#: sm/gpgsm.c:327
+#: sm/gpgsm.c:328
 msgid "|FILE|add keyring to the list of keyrings"
 msgstr "|FILE|鍵リングを鍵リングのリストに追加"
 
-#: sm/gpgsm.c:330
+#: sm/gpgsm.c:331
 msgid "|USER-ID|use USER-ID as default secret key"
 msgstr "|USER-ID|USER-IDをデフォルトの秘密鍵として使う"
 
-#: sm/gpgsm.c:340 tools/gpgconf-comp.c:837
+#: sm/gpgsm.c:341 dirmngr/dirmngr.c:214 tools/gpgconf-comp.c:841
 msgid "|SPEC|use this keyserver to lookup keys"
 msgstr "|SPEC|このキーサーバを鍵の検索に使う"
 
-#: sm/gpgsm.c:357
+#: sm/gpgsm.c:360
 msgid "|NAME|use cipher algorithm NAME"
 msgstr "|NAME|暗号アルゴリズムにNAMEを使用"
 
-#: sm/gpgsm.c:359
+#: sm/gpgsm.c:362
 msgid "|NAME|use message digest algorithm NAME"
 msgstr "|NAME|ダイジェスト・アルゴリズムにNAMEを使用"
 
-#: sm/gpgsm.c:570
+#: sm/gpgsm.c:573
 msgid "Usage: @GPGSM@ [options] [files] (-h for help)"
 msgstr "使い方: @GPGSM@ [オプション] [ファイル] (ヘルプは -h)"
 
-#: sm/gpgsm.c:573
+#: sm/gpgsm.c:576
 msgid ""
 "Syntax: @GPGSM@ [options] [files]\n"
 "Sign, check, encrypt or decrypt using the S/MIME protocol\n"
@@ -8805,47 +8827,27 @@ msgstr ""
 "S/MIMEプロトコルを用いて、署名、検査、暗号化や復号を行います\n"
 "デフォルトの操作は、入力データに依存します\n"
 
-#: sm/gpgsm.c:777
+#: sm/gpgsm.c:784
 #, c-format
 msgid "Note: won't be able to encrypt to '%s': %s\n"
 msgstr "注意:'%s'に対して暗号化できません: %s\n"
 
-#: sm/gpgsm.c:788
+#: sm/gpgsm.c:795
 #, c-format
 msgid "unknown validation model '%s'\n"
 msgstr "不明の検証モデル '%s'\n"
 
-#: sm/gpgsm.c:839 dirmngr/ldapserver.c:86
-#, c-format
-msgid "%s:%u: no hostname given\n"
-msgstr "%s:%u: ホスト名が指定されていません\n"
-
-#: sm/gpgsm.c:858 dirmngr/ldapserver.c:105
-#, c-format
-msgid "%s:%u: password given without user\n"
-msgstr "%s:%u: ユーザなしに与えられたパスワード\n"
-
-#: sm/gpgsm.c:879 dirmngr/ldapserver.c:126
-#, c-format
-msgid "%s:%u: skipping this line\n"
-msgstr "%s:%u: この行はスキップ\n"
-
-#: sm/gpgsm.c:1449
-#, c-format
-msgid "could not parse keyserver\n"
-msgstr "鍵サーバのURLを解析不能\n"
-
-#: sm/gpgsm.c:1712
+#: sm/gpgsm.c:1612
 #, c-format
 msgid "importing common certificates '%s'\n"
 msgstr "共通証明書のインポート・エラー: %s\n"
 
-#: sm/gpgsm.c:1755
+#: sm/gpgsm.c:1655
 #, c-format
 msgid "can't sign using '%s': %s\n"
 msgstr "'%s'を用いて署名できません: %s\n"
 
-#: sm/gpgsm.c:2122
+#: sm/gpgsm.c:2028
 #, c-format
 msgid "invalid command (there is no implicit command)\n"
 msgstr "無効なコマンド (暗黙のコマンドはありません)\n"
@@ -8865,7 +8867,7 @@ msgstr "証明書の保存に失敗しました\n"
 msgid "basic certificate checks failed - not imported\n"
 msgstr "基本証明書チェックが失敗しました - インポートされませんでした\n"
 
-#: sm/import.c:472 sm/keydb.c:1229 sm/keydb.c:1319
+#: sm/import.c:472 sm/keydb.c:1209 sm/keydb.c:1300
 #, c-format
 msgid "error getting stored flags: %s\n"
 msgstr "保存されたフラグの取得エラー: %s\n"
@@ -8880,27 +8882,27 @@ msgstr "証明書のインポート・エラー: %s\n"
 msgid "error reading input: %s\n"
 msgstr "入力読み込みエラー: %s\n"
 
-#: sm/keydb.c:1148
+#: sm/keydb.c:1127
 #, c-format
 msgid "problem looking for existing certificate: %s\n"
 msgstr "既存の証明書の検索の問題: %s\n"
 
-#: sm/keydb.c:1160
+#: sm/keydb.c:1139
 #, c-format
 msgid "error finding writable keyDB: %s\n"
 msgstr "書き込み可能keyDBの判定エラー: %s\n"
 
-#: sm/keydb.c:1168
+#: sm/keydb.c:1147
 #, c-format
 msgid "error storing certificate: %s\n"
 msgstr "証明書保存エラー: %s\n"
 
-#: sm/keydb.c:1220
+#: sm/keydb.c:1200
 #, c-format
 msgid "problem re-searching certificate: %s\n"
 msgstr "証明書の再検索の問題: %s\n"
 
-#: sm/keydb.c:1241 sm/keydb.c:1330
+#: sm/keydb.c:1221 sm/keydb.c:1311
 #, c-format
 msgid "error storing flags: %s\n"
 msgstr "フラグの保存エラー: %s\n"
@@ -8941,7 +8943,7 @@ msgstr ""
 "\n"
 "%s%s本当にこれを望みますか?"
 
-#: sm/qualified.c:215 sm/verify.c:678
+#: sm/qualified.c:215 sm/verify.c:679
 #, c-format
 msgid ""
 "Note, that this software is not officially approved to create or verify such "
@@ -8993,24 +8995,24 @@ msgstr "[日時指定なし]"
 msgid "algorithm:"
 msgstr "アルゴリズム:"
 
-#: sm/verify.c:535
+#: sm/verify.c:536
 #, c-format
 msgid ""
 "invalid signature: message digest attribute does not match computed one\n"
 msgstr ""
 "無効な署名: メッセージ・ダイジェストの属性が計算されたものと一致しません\n"
 
-#: sm/verify.c:656
+#: sm/verify.c:657
 #, c-format
 msgid "Good signature from"
 msgstr "正しい署名"
 
-#: sm/verify.c:657
+#: sm/verify.c:658
 #, c-format
 msgid "                aka"
 msgstr "      別名"
 
-#: sm/verify.c:675
+#: sm/verify.c:676
 #, c-format
 msgid "This is a qualified signature\n"
 msgstr "これは認定署名です\n"
@@ -9631,7 +9633,7 @@ msgid "error retrieving '%s': %s\n"
 msgstr "'%s'を取得する際のエラー: %s\n"
 
 #: dirmngr/crlfetch.c:218 dirmngr/ldap-wrapper-ce.c:492
-#: dirmngr/ldap-wrapper.c:884 dirmngr/misc.c:573
+#: dirmngr/ldap-wrapper.c:885 dirmngr/misc.c:573
 #, c-format
 msgid "error initializing reader object: %s\n"
 msgstr "リーダ・オブジェクトの初期化エラー: %s\n"
@@ -9788,112 +9790,112 @@ msgstr "絶対ファイル名がきます\n"
 msgid "looking up '%s'\n"
 msgstr "'%s'を検索します\n"
 
-#: dirmngr/dirmngr.c:170
+#: dirmngr/dirmngr.c:171
 msgid "list the contents of the CRL cache"
 msgstr "CRLキャッシュの内容をリストします"
 
-#: dirmngr/dirmngr.c:171
+#: dirmngr/dirmngr.c:172
 msgid "|FILE|load CRL from FILE into cache"
 msgstr "|FILE|FILEからCRLをキャッシュにロードする"
 
-#: dirmngr/dirmngr.c:172
+#: dirmngr/dirmngr.c:173
 msgid "|URL|fetch a CRL from URL"
 msgstr "|URL|URLからCRLを取得します"
 
-#: dirmngr/dirmngr.c:173
+#: dirmngr/dirmngr.c:174
 msgid "shutdown the dirmngr"
 msgstr "dirmngrをシャットダウンする"
 
-#: dirmngr/dirmngr.c:174
+#: dirmngr/dirmngr.c:175
 msgid "flush the cache"
 msgstr "キャッシュをフラッシュします"
 
-#: dirmngr/dirmngr.c:190 tools/gpgconf-comp.c:522 tools/gpgconf-comp.c:741
-#: tools/gpgconf-comp.c:854 tools/gpgconf-comp.c:950
+#: dirmngr/dirmngr.c:191 tools/gpgconf-comp.c:522 tools/gpgconf-comp.c:745
+#: tools/gpgconf-comp.c:858 tools/gpgconf-comp.c:954
 msgid "|FILE|write server mode logs to FILE"
 msgstr "|FILE|FILEにサーバ・モードのログを書き出す"
 
-#: dirmngr/dirmngr.c:191
+#: dirmngr/dirmngr.c:192
 msgid "run without asking a user"
 msgstr "ユーザに問い合わせせずに実行"
 
-#: dirmngr/dirmngr.c:192
+#: dirmngr/dirmngr.c:193
 msgid "force loading of outdated CRLs"
 msgstr "期日の過ぎたCRLのロードを強制する"
 
-#: dirmngr/dirmngr.c:193
+#: dirmngr/dirmngr.c:194
 msgid "allow sending OCSP requests"
 msgstr "OCSP要求の送信を認める"
 
-#: dirmngr/dirmngr.c:195
+#: dirmngr/dirmngr.c:196
 msgid "allow online software version check"
 msgstr "オンラインのソフトウェア・バージョン・チェックを許す"
 
-#: dirmngr/dirmngr.c:196
+#: dirmngr/dirmngr.c:197
 msgid "inhibit the use of HTTP"
 msgstr "HTTPの使用を禁止する"
 
-#: dirmngr/dirmngr.c:197
+#: dirmngr/dirmngr.c:198
 msgid "inhibit the use of LDAP"
 msgstr "LDAPの使用を禁止する"
 
-#: dirmngr/dirmngr.c:199
+#: dirmngr/dirmngr.c:200
 msgid "ignore HTTP CRL distribution points"
 msgstr "HTTP CRL配布ポイントを無視する"
 
-#: dirmngr/dirmngr.c:201
+#: dirmngr/dirmngr.c:202
 msgid "ignore LDAP CRL distribution points"
 msgstr "LDAP CRL配布ポイントを無視する"
 
-#: dirmngr/dirmngr.c:203
+#: dirmngr/dirmngr.c:204
 msgid "ignore certificate contained OCSP service URLs"
 msgstr "OCSPサービスURLに入っている証明書を無視する"
 
-#: dirmngr/dirmngr.c:206
+#: dirmngr/dirmngr.c:207
 msgid "|URL|redirect all HTTP requests to URL"
 msgstr "|URL|すべてのHTTPリクエストをURLにリダイレクトする"
 
-#: dirmngr/dirmngr.c:208
+#: dirmngr/dirmngr.c:209
 msgid "|HOST|use HOST for LDAP queries"
 msgstr "|HOST|LDAPの問い合わせにHOSTを使う"
 
-#: dirmngr/dirmngr.c:210
+#: dirmngr/dirmngr.c:211
 msgid "do not use fallback hosts with --ldap-proxy"
 msgstr "--ldap-proxy にフォールバック・ホストを使わない"
 
-#: dirmngr/dirmngr.c:213
+#: dirmngr/dirmngr.c:216
 msgid "|FILE|read LDAP server list from FILE"
 msgstr "|FILE|FILEからLDAPサーバリストを読み込みます"
 
-#: dirmngr/dirmngr.c:215
+#: dirmngr/dirmngr.c:218
 msgid "add new servers discovered in CRL distribution points to serverlist"
 msgstr "CRL配布ポイントに発見された新しいサーバを serverlist に追加する"
 
-#: dirmngr/dirmngr.c:218 dirmngr/dirmngr_ldap.c:137
+#: dirmngr/dirmngr.c:221
 msgid "|N|set LDAP timeout to N seconds"
 msgstr "|N|LDAPのタイムアウトをN秒とする"
 
-#: dirmngr/dirmngr.c:221
+#: dirmngr/dirmngr.c:224
 msgid "|URL|use OCSP responder at URL"
 msgstr "|URL|OCSP応答としてURLを使用"
 
-#: dirmngr/dirmngr.c:223
+#: dirmngr/dirmngr.c:226
 msgid "|FPR|OCSP response signed by FPR"
 msgstr "|FPR|FPRで署名されたOCSPレスポンス"
 
-#: dirmngr/dirmngr.c:229
+#: dirmngr/dirmngr.c:232
 msgid "|N|do not return more than N items in one query"
 msgstr "|N|一つのクエリでNを越えるのアイテムを返さない"
 
-#: dirmngr/dirmngr.c:234
+#: dirmngr/dirmngr.c:237
 msgid "|FILE|use the CA certificates in FILE for HKP over TLS"
 msgstr "|FILE|FILEにあるCA証明書をTLSでのHKPに使う"
 
-#: dirmngr/dirmngr.c:236
+#: dirmngr/dirmngr.c:239
 msgid "route all network traffic via Tor"
 msgstr "ネットワーク・トラフィックをすべてTor経由にする"
 
-#: dirmngr/dirmngr.c:265
+#: dirmngr/dirmngr.c:268
 msgid ""
 "@\n"
 "(See the \"info\" manual for a complete listing of all commands and "
@@ -9902,11 +9904,11 @@ msgstr ""
 "@\n"
 "(コマンドとオプション全部の一覧は、\"info\" マニュアルをご覧ください)\n"
 
-#: dirmngr/dirmngr.c:407
+#: dirmngr/dirmngr.c:415
 msgid "Usage: @DIRMNGR@ [options] (-h for help)"
 msgstr "使い方: @DIRMNGR@ [オプション] (ヘルプは -h)"
 
-#: dirmngr/dirmngr.c:409
+#: dirmngr/dirmngr.c:417
 msgid ""
 "Syntax: @DIRMNGR@ [options] [command [args]]\n"
 "Keyserver, CRL, and OCSP access for @GNUPG@\n"
@@ -9914,269 +9916,103 @@ msgstr ""
 "形式: @DIRMNGR@ [オプション] [コマンド [引数]]\n"
 "@GnuPG@の鍵サーバ、CRLとOCSPアクセス\n"
 
-#: dirmngr/dirmngr.c:489
+#: dirmngr/dirmngr.c:497
 #, c-format
 msgid "valid debug levels are: %s\n"
 msgstr "有効なdebugレベルは: %s\n"
 
-#: dirmngr/dirmngr.c:575 tools/gpgconf.c:647 tools/gpgconf.c:682
+#: dirmngr/dirmngr.c:583 tools/gpgconf.c:647 tools/gpgconf.c:682
 #: tools/gpgconf.c:780
 #, c-format
 msgid "usage: %s [options] "
 msgstr "使い方: %s [オプション] "
 
-#: dirmngr/dirmngr.c:1212
+#: dirmngr/dirmngr.c:1249
 #, c-format
 msgid "colons are not allowed in the socket name\n"
 msgstr "コロンはソケット名に許されません\n"
 
-#: dirmngr/dirmngr.c:1444 dirmngr/server.c:1824
+#: dirmngr/dirmngr.c:1481 dirmngr/server.c:1878
 #, c-format
 msgid "fetching CRL from '%s' failed: %s\n"
 msgstr "'%s'からCRLの取得の失敗: %s\n"
 
-#: dirmngr/dirmngr.c:1450 dirmngr/server.c:1830
+#: dirmngr/dirmngr.c:1487 dirmngr/server.c:1884
 #, c-format
 msgid "processing CRL from '%s' failed: %s\n"
 msgstr "'%s'からCRLの処理に失敗: %s\n"
 
-#: dirmngr/dirmngr.c:1645
+#: dirmngr/dirmngr.c:1682
 #, c-format
 msgid "%s:%u: line too long - skipped\n"
 msgstr "%s:%u: 行が長すぎます - スキップされました\n"
 
-#: dirmngr/dirmngr.c:1700 dirmngr/dirmngr.c:1784
+#: dirmngr/dirmngr.c:1737 dirmngr/dirmngr.c:1821
 #, c-format
 msgid "%s:%u: invalid fingerprint detected\n"
 msgstr "%s:%u: 無効なフィンガープリントが検出されました\n"
 
-#: dirmngr/dirmngr.c:1736 dirmngr/dirmngr.c:1762 tools/gpgconf-comp.c:4191
+#: dirmngr/dirmngr.c:1773 dirmngr/dirmngr.c:1799 tools/gpgconf-comp.c:4199
 #, c-format
 msgid "%s:%u: read error: %s\n"
 msgstr "%s:%u: 読み込みエラー: %s\n"
 
-#: dirmngr/dirmngr.c:1791
+#: dirmngr/dirmngr.c:1828
 #, c-format
 msgid "%s:%u: garbage at end of line ignored\n"
 msgstr "%s:%u: 行末のゴミを無視\n"
 
-#: dirmngr/dirmngr.c:1860
+#: dirmngr/dirmngr.c:1897
 #, c-format
 msgid "SIGHUP received - re-reading configuration and flushing caches\n"
 msgstr "SIGHUPを受け取り - 設定を読み直し、キャッシュをフラッシュ\n"
 
-#: dirmngr/dirmngr.c:1900
+#: dirmngr/dirmngr.c:1937
 #, c-format
 msgid "SIGUSR2 received - no action defined\n"
 msgstr "SIGUSR2を受け取り - 動作は定義されない\n"
 
-#: dirmngr/dirmngr.c:1905
+#: dirmngr/dirmngr.c:1942
 #, c-format
 msgid "SIGTERM received - shutting down ...\n"
 msgstr "SIGTERMを受け取り - シャットダウン...\n"
 
-#: dirmngr/dirmngr.c:1907
+#: dirmngr/dirmngr.c:1944
 #, c-format
 msgid "SIGTERM received - still %d active connections\n"
 msgstr "SIGTERMを受け取り - %d本のアクティブな接続がまだあります\n"
 
-#: dirmngr/dirmngr.c:1912
+#: dirmngr/dirmngr.c:1949
 #, c-format
 msgid "shutdown forced\n"
 msgstr "強制的にシャットダウンする\n"
 
-#: dirmngr/dirmngr.c:1920
+#: dirmngr/dirmngr.c:1957
 #, c-format
 msgid "SIGINT received - immediate shutdown\n"
 msgstr "SIGINTを受け取り - すぐにシャットダウン\n"
 
-#: dirmngr/dirmngr.c:1927
+#: dirmngr/dirmngr.c:1964
 #, c-format
 msgid "signal %d received - no action defined\n"
 msgstr "シグナル%dを受け取り - アクションは定義されない\n"
 
-#: dirmngr/dirmngr_ldap.c:138
-msgid "return all values in a record oriented format"
-msgstr "レコード形式ですべての値を返す"
-
-#: dirmngr/dirmngr_ldap.c:141
-msgid "|NAME|ignore host part and connect through NAME"
-msgstr "|NAME|host部分を無視してNAMEをとおして接続する"
-
-#: dirmngr/dirmngr_ldap.c:142
-msgid "|NAME|connect to host NAME"
-msgstr "|NAME|ホストNAMEに接続する"
-
-#: dirmngr/dirmngr_ldap.c:143
-msgid "|N|connect to port N"
-msgstr "|N|ポートNに接続します"
-
-#: dirmngr/dirmngr_ldap.c:144
-msgid "|NAME|use user NAME for authentication"
-msgstr "|NAME|ユーザNAMEを認証に使う"
-
-#: dirmngr/dirmngr_ldap.c:145
-msgid "|PASS|use password PASS for authentication"
-msgstr "|PASS|パスワードPASSを認証に使う"
-
-#: dirmngr/dirmngr_ldap.c:147
-msgid "take password from $DIRMNGR_LDAP_PASS"
-msgstr "パスワードを$DIRMNGR_LDAP_PASSから取ってくる"
-
-#: dirmngr/dirmngr_ldap.c:148
-msgid "|STRING|query DN STRING"
-msgstr "|STRING|DN STRINGをクエリする"
-
-#: dirmngr/dirmngr_ldap.c:149
-msgid "|STRING|use STRING as filter expression"
-msgstr "|STRING|STRINGをフィルタ式に使う"
-
-#: dirmngr/dirmngr_ldap.c:150
-msgid "|STRING|return the attribute STRING"
-msgstr "|STRING|STRINGの属性を返す"
-
-#: dirmngr/dirmngr_ldap.c:211
-msgid "Usage: dirmngr_ldap [options] [URL] (-h for help)\n"
-msgstr "使い方: dirmngr_ldap [オプション] [URL] (ヘルプは -h)\n"
-
-#: dirmngr/dirmngr_ldap.c:214
-msgid ""
-"Syntax: dirmngr_ldap [options] [URL]\n"
-"Internal LDAP helper for Dirmngr\n"
-"Interface and options may change without notice\n"
-msgstr ""
-"形式: dirmngr_ldap [オプション] [URL]\n"
-"Dirmngrの内部LDAPヘルパー\n"
-"インタフェースとオプションは事前の通知なく変更されることがあります\n"
-
-#: dirmngr/dirmngr_ldap.c:340
-#, c-format
-msgid "invalid port number %d\n"
-msgstr "無効なポート番号 %d\n"
-
-#: dirmngr/dirmngr_ldap.c:456
-#, c-format
-msgid "scanning result for attribute '%s'\n"
-msgstr "属性'%s'のスキャン結果\n"
-
-#: dirmngr/dirmngr_ldap.c:463 dirmngr/dirmngr_ldap.c:546
-#: dirmngr/dirmngr_ldap.c:570 dirmngr/dirmngr_ldap.c:582
-#: dirmngr/dirmngr_ldap.c:720
-#, c-format
-msgid "error writing to stdout: %s\n"
-msgstr "stdoutへの書き込みエラー: %s\n"
-
-#: dirmngr/dirmngr_ldap.c:480
-#, c-format
-msgid "          available attribute '%s'\n"
-msgstr "          利用可能な属性'%s'\n"
-
-#: dirmngr/dirmngr_ldap.c:518
-#, c-format
-msgid "attribute '%s' not found\n"
-msgstr "属性'%s'が見つかりません\n"
-
-#: dirmngr/dirmngr_ldap.c:525
-#, c-format
-msgid "found attribute '%s'\n"
-msgstr "属性'%s'が見つかりました\n"
-
-#: dirmngr/dirmngr_ldap.c:634
-#, c-format
-msgid "processing url '%s'\n"
-msgstr "url'%s'を処理\n"
-
-#: dirmngr/dirmngr_ldap.c:636
-#, c-format
-msgid "          user '%s'\n"
-msgstr "        ユーザ '%s'\n"
-
-#: dirmngr/dirmngr_ldap.c:638
-#, c-format
-msgid "          pass '%s'\n"
-msgstr "                パスワード '%s'\n"
-
-#: dirmngr/dirmngr_ldap.c:640
-#, c-format
-msgid "          host '%s'\n"
-msgstr "        ホスト '%s'\n"
-
-#: dirmngr/dirmngr_ldap.c:641
-#, c-format
-msgid "          port %d\n"
-msgstr "        ポート %d\n"
-
-#: dirmngr/dirmngr_ldap.c:643
-#, c-format
-msgid "            DN '%s'\n"
-msgstr "                DN '%s'\n"
-
-#: dirmngr/dirmngr_ldap.c:645
-#, c-format
-msgid "        filter '%s'\n"
-msgstr "        フィルタ '%s'\n"
-
-#: dirmngr/dirmngr_ldap.c:650 dirmngr/dirmngr_ldap.c:653
-#, c-format
-msgid "          attr '%s'\n"
-msgstr "         属性 '%s'\n"
-
-#: dirmngr/dirmngr_ldap.c:659
-#, c-format
-msgid "no host name in '%s'\n"
-msgstr "'%s'にホスト名がありません\n"
-
-#: dirmngr/dirmngr_ldap.c:664
-#, c-format
-msgid "no attribute given for query '%s'\n"
-msgstr "クエリ '%s' に属性が指定されていません\n"
-
-#: dirmngr/dirmngr_ldap.c:670
-#, c-format
-msgid "WARNING: using first attribute only\n"
-msgstr "*警告*: 最初の属性だけを使っています\n"
-
-#: dirmngr/dirmngr_ldap.c:679
-#, c-format
-msgid "LDAP init to '%s:%d' failed: %s\n"
-msgstr "'%s:%d'のLDAP初期化に失敗: %s\n"
-
-#: dirmngr/dirmngr_ldap.c:702
-#, c-format
-msgid "binding to '%s:%d' failed: %s\n"
-msgstr "'%s:%d'のバインドに失敗: %s\n"
-
-#: dirmngr/dirmngr_ldap.c:729
-#, c-format
-msgid "searching '%s' failed: %s\n"
-msgstr "'%s'の探索に失敗しました: %s\n"
-
-#: dirmngr/dirmngr_ldap.c:761
-#, c-format
-msgid "'%s' is not an LDAP URL\n"
-msgstr "'%s'は、LDAP URLではありません\n"
-
-#: dirmngr/dirmngr_ldap.c:767
-#, c-format
-msgid "'%s' is an invalid LDAP URL\n"
-msgstr "'%s' は無効なLDAP URLです\n"
-
-#: dirmngr/http.c:1987 dirmngr/ocsp.c:255
+#: dirmngr/http.c:1993 dirmngr/ocsp.c:255
 #, c-format
 msgid "error accessing '%s': http status %u\n"
 msgstr "'%s'へアクセスのエラー: httpステイタス %u\n"
 
-#: dirmngr/http.c:3629 dirmngr/ocsp.c:229
+#: dirmngr/http.c:3644 dirmngr/ocsp.c:229
 #, c-format
 msgid "URL '%s' redirected to '%s' (%u)\n"
 msgstr "URL'%s' は '%s' (%u) へリダイレクトされました\n"
 
-#: dirmngr/http.c:3635 dirmngr/ocsp.c:246
+#: dirmngr/http.c:3650 dirmngr/ocsp.c:246
 #, c-format
 msgid "too many redirections\n"
 msgstr "リダイレクトが多すぎます\n"
 
-#: dirmngr/http.c:3747
+#: dirmngr/http.c:3762
 #, c-format
 msgid "redirection changed to '%s'\n"
 msgstr "リダイレクトが'%s'に変更されました\n"
@@ -10216,31 +10052,51 @@ msgstr "ldap wrapper %dの待ちが失敗: %s\n"
 msgid "ldap wrapper %d stalled - killing\n"
 msgstr "ldap wrapper %d が止まりました - killしています\n"
 
-#: dirmngr/ldap.c:91
+#: dirmngr/ldap.c:92
 #, c-format
 msgid "invalid char 0x%02x in host name - not added\n"
 msgstr "ホスト名に無効な文字 0x%02x - 加えません\n"
 
-#: dirmngr/ldap.c:95
+#: dirmngr/ldap.c:96
 #, c-format
 msgid "adding '%s:%d' to the ldap server list\n"
 msgstr "'%s:%d'をLDAPサーバ・リストに追加\n"
 
-#: dirmngr/ldap.c:98 dirmngr/misc.c:512
+#: dirmngr/ldap.c:99 dirmngr/misc.c:512
 #, c-format
 msgid "malloc failed: %s\n"
 msgstr "mallocが失敗しました: %s\n"
 
-#: dirmngr/ldap.c:627
+#: dirmngr/ldap.c:221
 #, c-format
-msgid "start_cert_fetch: invalid pattern '%s'\n"
-msgstr "start_cert_fetch: 無効なパターン '%s'\n"
+msgid "'%s' is not an LDAP URL\n"
+msgstr "'%s'は、LDAP URLではありません\n"
+
+#: dirmngr/ldap.c:227 dirmngr/ldap.c:233
+#, c-format
+msgid "'%s' is an invalid LDAP URL\n"
+msgstr "'%s' は無効なLDAP URLです\n"
 
-#: dirmngr/ldap.c:839
+#: dirmngr/ldap.c:969
 #, c-format
 msgid "ldap_search hit the size limit of the server\n"
 msgstr "ldap_search がサーバのサイズ限界を越えました\n"
 
+#: dirmngr/ldapserver.c:117
+#, c-format
+msgid "%s:%u: password given without user\n"
+msgstr "%s:%u: ユーザなしに与えられたパスワード\n"
+
+#: dirmngr/ldapserver.c:181
+#, c-format
+msgid "%s:%u: ignoring unknown flag '%s'\n"
+msgstr "%s:%u: 不明なフラグ '%s' を無視します\n"
+
+#: dirmngr/ldapserver.c:203
+#, c-format
+msgid "%s:%u: skipping this line\n"
+msgstr "%s:%u: この行はスキップ\n"
+
 #: dirmngr/misc.c:172
 #, c-format
 msgid "invalid canonical S-expression found\n"
@@ -10420,71 +10276,67 @@ msgstr "OSCPレスポンダは古すぎるステイタスを返しました\n"
 msgid "assuan_inquire(%s) failed: %s\n"
 msgstr "assuan_inquire(%s)が失敗しました: %s\n"
 
-#: dirmngr/server.c:1158
-msgid "ldapserver missing"
-msgstr "ldapserverがありません"
-
-#: dirmngr/server.c:1224
+#: dirmngr/server.c:1277
 msgid "serialno missing in cert ID"
 msgstr "serialnoがcert IDにありません"
 
-#: dirmngr/server.c:1387 dirmngr/server.c:1473 dirmngr/server.c:1909
-#: dirmngr/server.c:1980 dirmngr/server.c:2552 dirmngr/server.c:2567
+#: dirmngr/server.c:1440 dirmngr/server.c:1526 dirmngr/server.c:1963
+#: dirmngr/server.c:2034 dirmngr/server.c:2662 dirmngr/server.c:2677
 #, c-format
 msgid "assuan_inquire failed: %s\n"
 msgstr "assuan_inquireに失敗しました: %s\n"
 
-#: dirmngr/server.c:1516
+#: dirmngr/server.c:1569
 #, c-format
 msgid "fetch_cert_by_url failed: %s\n"
 msgstr "fetch_cert_by_url が失敗しました: %s\n"
 
-#: dirmngr/server.c:1528 dirmngr/server.c:1559 dirmngr/server.c:1718
+#: dirmngr/server.c:1581 dirmngr/server.c:1612 dirmngr/server.c:1772
 #, c-format
 msgid "error sending data: %s\n"
 msgstr "データ送信エラー: %s\n"
 
-#: dirmngr/server.c:1666
+#: dirmngr/server.c:1720
 #, c-format
 msgid "start_cert_fetch failed: %s\n"
 msgstr "start_cert_fetch が失敗しました: %s\n"
 
-#: dirmngr/server.c:1699
+#: dirmngr/server.c:1753
 #, c-format
 msgid "fetch_next_cert failed: %s\n"
 msgstr "fetch_next_cert が失敗しました: %s\n"
 
-#: dirmngr/server.c:1726
+#: dirmngr/server.c:1780
 #, c-format
 msgid "max_replies %d exceeded\n"
 msgstr "max_replies %d を越えました\n"
 
-#: dirmngr/server.c:2856
+#: dirmngr/server.c:2966
 #, c-format
 msgid "can't allocate control structure: %s\n"
 msgstr "制御構造を確保できません: %s\n"
 
-#: dirmngr/server.c:2867
+#: dirmngr/server.c:2977
 #, c-format
 msgid "failed to allocate assuan context: %s\n"
 msgstr "assuanコンテクストの確保に失敗しました: %s\n"
 
-#: dirmngr/server.c:2888
+#: dirmngr/server.c:2998
 #, c-format
 msgid "failed to initialize the server: %s\n"
 msgstr "サーバの初期化に失敗しました: %s\n"
 
-#: dirmngr/server.c:2896
+#: dirmngr/server.c:3006
 #, c-format
 msgid "failed to the register commands with Assuan: %s\n"
 msgstr "Assuanで登録コマンドに失敗しました: %s\n"
 
-#: dirmngr/server.c:2929
+#: dirmngr/server.c:3039
 #, c-format
 msgid "Assuan accept problem: %s\n"
 msgstr "Assuan accept の問題: %s\n"
 
-#: dirmngr/server.c:2948
+#: dirmngr/server.c:3058
 #, c-format
 msgid "Assuan processing failed: %s\n"
 msgstr "Assuanの処理が失敗しました: %s\n"
@@ -10621,21 +10473,21 @@ msgid "error sending standard options: %s\n"
 msgstr "標準オプションを送信エラー: %s\n"
 
 #: tools/gpgconf-comp.c:481 tools/gpgconf-comp.c:617 tools/gpgconf-comp.c:692
-#: tools/gpgconf-comp.c:804 tools/gpgconf-comp.c:906
+#: tools/gpgconf-comp.c:808 tools/gpgconf-comp.c:910
 msgid "Options controlling the diagnostic output"
 msgstr "診断出力を制御するオプション"
 
 #: tools/gpgconf-comp.c:494 tools/gpgconf-comp.c:630 tools/gpgconf-comp.c:705
-#: tools/gpgconf-comp.c:817 tools/gpgconf-comp.c:929
+#: tools/gpgconf-comp.c:821 tools/gpgconf-comp.c:933
 msgid "Options controlling the configuration"
 msgstr "コンフィグレーションを制御するオプション"
 
-#: tools/gpgconf-comp.c:517 tools/gpgconf-comp.c:659 tools/gpgconf-comp.c:736
-#: tools/gpgconf-comp.c:849 tools/gpgconf-comp.c:942
+#: tools/gpgconf-comp.c:517 tools/gpgconf-comp.c:659 tools/gpgconf-comp.c:740
+#: tools/gpgconf-comp.c:853 tools/gpgconf-comp.c:946
 msgid "Options useful for debugging"
 msgstr "デバッグのために有用なオプション"
 
-#: tools/gpgconf-comp.c:530 tools/gpgconf-comp.c:669 tools/gpgconf-comp.c:862
+#: tools/gpgconf-comp.c:530 tools/gpgconf-comp.c:669 tools/gpgconf-comp.c:866
 msgid "Options controlling the security"
 msgstr "セキュリティを制御するオプション"
 
@@ -10684,11 +10536,11 @@ msgstr "古いパスフレーズを再使用することを認めない"
 msgid "|N|set the Pinentry timeout to N seconds"
 msgstr "|N|PinentryのタイムアウトをN秒とする"
 
-#: tools/gpgconf-comp.c:707 tools/gpgconf-comp.c:819
+#: tools/gpgconf-comp.c:707 tools/gpgconf-comp.c:823
 msgid "|NAME|use NAME as default secret key"
 msgstr "|NAME|デフォルトの秘密鍵としてNAMEを用いる"
 
-#: tools/gpgconf-comp.c:710 tools/gpgconf-comp.c:822
+#: tools/gpgconf-comp.c:710 tools/gpgconf-comp.c:826
 msgid "|NAME|encrypt to user ID NAME as well"
 msgstr "|NAME|ユーザID NAMEにも暗号化する"
 
@@ -10696,127 +10548,127 @@ msgstr "|NAME|ユーザID NAMEにも暗号化する"
 msgid "|SPEC|set up email aliases"
 msgstr "|SPEC|電子メールエイリアスを設定する"
 
-#: tools/gpgconf-comp.c:749 tools/gpgconf-comp.c:981
+#: tools/gpgconf-comp.c:753 tools/gpgconf-comp.c:985
 msgid "Configuration for Keyservers"
 msgstr "キーサーバのコンフィグレーション"
 
-#: tools/gpgconf-comp.c:751 tools/gpgconf-comp.c:983
+#: tools/gpgconf-comp.c:755 tools/gpgconf-comp.c:987
 msgid "|URL|use keyserver at URL"
 msgstr "|URL|鍵サーバとしてURLを使用"
 
-#: tools/gpgconf-comp.c:754
+#: tools/gpgconf-comp.c:758
 msgid "allow PKA lookups (DNS requests)"
 msgstr "PKA検索(DNS要求)を認める"
 
-#: tools/gpgconf-comp.c:757
+#: tools/gpgconf-comp.c:761
 msgid "|MECHANISMS|use MECHANISMS to locate keys by mail address"
 msgstr "|MECHANISMS|メールアドレスによって鍵を特定する際、MECHANISMSを使用する"
 
-#: tools/gpgconf-comp.c:760
+#: tools/gpgconf-comp.c:764
 msgid "import missing key from a signature"
 msgstr "署名から手元にない鍵をインポートする"
 
-#: tools/gpgconf-comp.c:763
+#: tools/gpgconf-comp.c:767
 msgid "include the public key in signatures"
 msgstr "署名に公開鍵を含める"
 
-#: tools/gpgconf-comp.c:770 tools/gpgconf-comp.c:831
+#: tools/gpgconf-comp.c:774 tools/gpgconf-comp.c:835
 msgid "disable all access to the dirmngr"
 msgstr "dirmngrへのすべてのアクセスを無効とする"
 
-#: tools/gpgconf-comp.c:834
+#: tools/gpgconf-comp.c:838
 msgid "|NAME|use encoding NAME for PKCS#12 passphrases"
 msgstr "|NAME|PKCS#12のパスフレーズにNAMEのエンコーディングを使う"
 
-#: tools/gpgconf-comp.c:870
+#: tools/gpgconf-comp.c:874
 msgid "do not check CRLs for root certificates"
 msgstr "ルート証明書のCRLをチェックしない"
 
-#: tools/gpgconf-comp.c:919
+#: tools/gpgconf-comp.c:923
 msgid "Options controlling the format of the output"
 msgstr "出力フォーマットを制御するオプション"
 
-#: tools/gpgconf-comp.c:961
+#: tools/gpgconf-comp.c:965
 msgid "Options controlling the interactivity and enforcement"
 msgstr "インタラクティビティと強制を制御するオプション"
 
-#: tools/gpgconf-comp.c:974
+#: tools/gpgconf-comp.c:978
 msgid "Options controlling the use of Tor"
 msgstr "Torの使用を制御するオプション"
 
-#: tools/gpgconf-comp.c:988
+#: tools/gpgconf-comp.c:992
 msgid "Configuration for HTTP servers"
 msgstr "HTTPサーバのコンフィグレーション"
 
-#: tools/gpgconf-comp.c:999
+#: tools/gpgconf-comp.c:1003
 msgid "use system's HTTP proxy setting"
 msgstr "システムのHTTPプロキシ設定を用います"
 
-#: tools/gpgconf-comp.c:1004
+#: tools/gpgconf-comp.c:1008
 msgid "Configuration of LDAP servers to use"
 msgstr "使用するLDAPサーバのコンフィグレーション"
 
-#: tools/gpgconf-comp.c:1033
+#: tools/gpgconf-comp.c:1037
 msgid "LDAP server list"
 msgstr "LDAPサーバ・リスト"
 
-#: tools/gpgconf-comp.c:1041
+#: tools/gpgconf-comp.c:1045
 msgid "Configuration for OCSP"
 msgstr "OCSPのコンフィグレーション"
 
-#: tools/gpgconf-comp.c:1094
+#: tools/gpgconf-comp.c:1098
 msgid "OpenPGP"
 msgstr "OpenPGP"
 
-#: tools/gpgconf-comp.c:1095
+#: tools/gpgconf-comp.c:1099
 msgid "Private Keys"
 msgstr "プライベート鍵"
 
-#: tools/gpgconf-comp.c:1096
+#: tools/gpgconf-comp.c:1100
 msgid "Smartcards"
 msgstr "スマートカード"
 
-#: tools/gpgconf-comp.c:1097
+#: tools/gpgconf-comp.c:1101
 msgid "S/MIME"
 msgstr "S/MIME"
 
-#: tools/gpgconf-comp.c:1098
+#: tools/gpgconf-comp.c:1102
 msgid "Network"
 msgstr "ネットワーク"
 
-#: tools/gpgconf-comp.c:1099
+#: tools/gpgconf-comp.c:1103
 msgid "Passphrase Entry"
 msgstr "パスフレーズ入力"
 
-#: tools/gpgconf-comp.c:1278
+#: tools/gpgconf-comp.c:1282
 msgid "Component not suitable for launching"
 msgstr "コンポーネントが起動するために適切ではありません"
 
-#: tools/gpgconf-comp.c:1284
+#: tools/gpgconf-comp.c:1288
 #, c-format
 msgid "Configuration file of component %s is broken\n"
 msgstr "コンポーネント%sのコンフィグレーション・ファイルが壊れています\n"
 
-#: tools/gpgconf-comp.c:1287
+#: tools/gpgconf-comp.c:1291
 #, c-format
 msgid "Note: Use the command \"%s%s\" to get details.\n"
 msgstr "注意: \"%s%s\"コマンドを使って詳細を得てください。\n"
 
-#: tools/gpgconf-comp.c:3446
+#: tools/gpgconf-comp.c:3454
 #, c-format
 msgid "External verification of component %s failed"
 msgstr "コンポーネント%sの外部の検証が失敗しました"
 
-#: tools/gpgconf-comp.c:3597
+#: tools/gpgconf-comp.c:3605
 msgid "Note that group specifications are ignored\n"
 msgstr "グループ仕様は無視されていることに注意してください\n"
 
-#: tools/gpgconf-comp.c:4195
+#: tools/gpgconf-comp.c:4203
 #, c-format
 msgid "error closing '%s'\n"
 msgstr "'%s'でクローズのエラー\n"
 
-#: tools/gpgconf-comp.c:4197
+#: tools/gpgconf-comp.c:4205
 #, c-format
 msgid "error parsing '%s'\n"
 msgstr "'%s'でパーズのエラー\n"
@@ -10921,6 +10773,123 @@ msgstr ""
 "形式: gpg-check-pattern [オプション] パターンファイル\n"
 "パターンファイルに対して標準入力のパスフレーズを確認する\n"
 
+#~ msgid "requesting key %s from %s server %s\n"
+#~ msgstr "鍵%sを%sからサーバ%sに要求\n"
+
+#~ msgid "%s:%u: no hostname given\n"
+#~ msgstr "%s:%u: ホスト名が指定されていません\n"
+
+#~ msgid "could not parse keyserver\n"
+#~ msgstr "鍵サーバのURLを解析不能\n"
+
+#~ msgid "return all values in a record oriented format"
+#~ msgstr "レコード形式ですべての値を返す"
+
+#~ msgid "|NAME|ignore host part and connect through NAME"
+#~ msgstr "|NAME|host部分を無視してNAMEをとおして接続する"
+
+#~ msgid "|NAME|connect to host NAME"
+#~ msgstr "|NAME|ホストNAMEに接続する"
+
+#~ msgid "|N|connect to port N"
+#~ msgstr "|N|ポートNに接続します"
+
+#~ msgid "|NAME|use user NAME for authentication"
+#~ msgstr "|NAME|ユーザNAMEを認証に使う"
+
+#~ msgid "|PASS|use password PASS for authentication"
+#~ msgstr "|PASS|パスワードPASSを認証に使う"
+
+#~ msgid "take password from $DIRMNGR_LDAP_PASS"
+#~ msgstr "パスワードを$DIRMNGR_LDAP_PASSから取ってくる"
+
+#~ msgid "|STRING|query DN STRING"
+#~ msgstr "|STRING|DN STRINGをクエリする"
+
+#~ msgid "|STRING|use STRING as filter expression"
+#~ msgstr "|STRING|STRINGをフィルタ式に使う"
+
+#~ msgid "|STRING|return the attribute STRING"
+#~ msgstr "|STRING|STRINGの属性を返す"
+
+#~ msgid "Usage: dirmngr_ldap [options] [URL] (-h for help)\n"
+#~ msgstr "使い方: dirmngr_ldap [オプション] [URL] (ヘルプは -h)\n"
+
+#~ msgid ""
+#~ "Syntax: dirmngr_ldap [options] [URL]\n"
+#~ "Internal LDAP helper for Dirmngr\n"
+#~ "Interface and options may change without notice\n"
+#~ msgstr ""
+#~ "形式: dirmngr_ldap [オプション] [URL]\n"
+#~ "Dirmngrの内部LDAPヘルパー\n"
+#~ "インタフェースとオプションは事前の通知なく変更されることがあります\n"
+
+#~ msgid "invalid port number %d\n"
+#~ msgstr "無効なポート番号 %d\n"
+
+#~ msgid "scanning result for attribute '%s'\n"
+#~ msgstr "属性'%s'のスキャン結果\n"
+
+#~ msgid "error writing to stdout: %s\n"
+#~ msgstr "stdoutへの書き込みエラー: %s\n"
+
+#~ msgid "          available attribute '%s'\n"
+#~ msgstr "          利用可能な属性'%s'\n"
+
+#~ msgid "attribute '%s' not found\n"
+#~ msgstr "属性'%s'が見つかりません\n"
+
+#~ msgid "found attribute '%s'\n"
+#~ msgstr "属性'%s'が見つかりました\n"
+
+#~ msgid "processing url '%s'\n"
+#~ msgstr "url'%s'を処理\n"
+
+#~ msgid "          user '%s'\n"
+#~ msgstr "        ユーザ '%s'\n"
+
+#~ msgid "          pass '%s'\n"
+#~ msgstr "                パスワード '%s'\n"
+
+#~ msgid "          host '%s'\n"
+#~ msgstr "        ホスト '%s'\n"
+
+#~ msgid "          port %d\n"
+#~ msgstr "        ポート %d\n"
+
+#~ msgid "            DN '%s'\n"
+#~ msgstr "                DN '%s'\n"
+
+#~ msgid "        filter '%s'\n"
+#~ msgstr "        フィルタ '%s'\n"
+
+#~ msgid "          attr '%s'\n"
+#~ msgstr "         属性 '%s'\n"
+
+#~ msgid "no host name in '%s'\n"
+#~ msgstr "'%s'にホスト名がありません\n"
+
+#~ msgid "no attribute given for query '%s'\n"
+#~ msgstr "クエリ '%s' に属性が指定されていません\n"
+
+#~ msgid "WARNING: using first attribute only\n"
+#~ msgstr "*警告*: 最初の属性だけを使っています\n"
+
+#~ msgid "LDAP init to '%s:%d' failed: %s\n"
+#~ msgstr "'%s:%d'のLDAP初期化に失敗: %s\n"
+
+#~ msgid "binding to '%s:%d' failed: %s\n"
+#~ msgstr "'%s:%d'のバインドに失敗: %s\n"
+
+#~ msgid "searching '%s' failed: %s\n"
+#~ msgstr "'%s'の探索に失敗しました: %s\n"
+
+#~ msgid "start_cert_fetch: invalid pattern '%s'\n"
+#~ msgstr "start_cert_fetch: 無効なパターン '%s'\n"
+
+#~ msgid "ldapserver missing"
+#~ msgstr "ldapserverがありません"
+
 #~ msgid "Note: old default options file '%s' ignored\n"
 #~ msgstr ""
 #~ "注意: 以前デフォルトだったオプション・ファイル'%s'は、無視されます\n"
index ffa439a..215b71a 100644 (file)
Binary files a/po/nb.gmo and b/po/nb.gmo differ
index c85f314..524696a 100644 (file)
--- a/po/nb.po
+++ b/po/nb.po
@@ -11,7 +11,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: GNU gnupg 2.1\n"
 "Report-Msgid-Bugs-To: translations@gnupg.org\n"
-"POT-Creation-Date: 2021-01-11 18:47+0100\n"
+"POT-Creation-Date: 2021-06-10 18:59+0200\n"
 "PO-Revision-Date: 2017-11-02 17:40+0100\n"
 "Last-Translator: Åka Sikrom <a4@hush.com>\n"
 "Language-Team: Norwegian Bokmål <i18n-nb@lister.ping.uio.no>\n"
@@ -113,7 +113,7 @@ msgid "Passphrase:"
 msgstr "Passordfrase:"
 
 #: agent/call-pinentry.c:1107 agent/call-pinentry.c:1359
-#: agent/command-ssh.c:3130 agent/genkey.c:416
+#: agent/command-ssh.c:3140 agent/genkey.c:416
 msgid "does not match - try again"
 msgstr "feil. Prøv igjen"
 
@@ -163,32 +163,32 @@ msgstr "Ugyldig passordfrase"
 msgid "ssh keys greater than %d bits are not supported\n"
 msgstr "ssh-nøkler som er lenger enn %d bit støttes ikke\n"
 
-#: agent/command-ssh.c:862 common/dotlock.c:852 g10/card-util.c:932
-#: g10/exec.c:546 g10/export.c:1320 g10/gpg.c:1352 g10/keygen.c:4998
-#: g10/keyring.c:1322 g10/keyring.c:1637 g10/openfile.c:291 g10/sign.c:1009
-#: g10/sign.c:1323 g10/tdbio.c:753
+#: agent/command-ssh.c:862 common/dotlock.c:852 g10/card-util.c:933
+#: g10/exec.c:554 g10/export.c:1320 g10/gpg.c:1360 g10/keygen.c:4998
+#: g10/keyring.c:1322 g10/keyring.c:1637 g10/openfile.c:291 g10/sign.c:1008
+#: g10/sign.c:1322 g10/tdbio.c:753
 #, c-format
 msgid "can't create '%s': %s\n"
 msgstr "klarte ikke å lage «%s»: %s\n"
 
-#: agent/command-ssh.c:874 common/helpfile.c:57 g10/card-util.c:889
+#: agent/command-ssh.c:874 common/helpfile.c:57 g10/card-util.c:890
 #: g10/dearmor.c:59 g10/dearmor.c:106 g10/decrypt.c:65 g10/decrypt.c:136
-#: g10/decrypt.c:153 g10/encrypt.c:180 g10/encrypt.c:543 g10/gpg.c:1353
-#: g10/import.c:352 g10/import.c:536 g10/import.c:764 g10/keygen.c:4036
+#: g10/decrypt.c:153 g10/encrypt.c:180 g10/encrypt.c:543 g10/gpg.c:1361
+#: g10/import.c:364 g10/import.c:548 g10/import.c:776 g10/keygen.c:4036
 #: g10/keyring.c:1663 g10/openfile.c:195 g10/openfile.c:209 g10/plaintext.c:128
-#: g10/plaintext.c:649 g10/sign.c:991 g10/sign.c:1202 g10/sign.c:1307
-#: g10/sign.c:1452 g10/tdbdump.c:143 g10/tdbdump.c:151 g10/tdbio.c:758
-#: g10/tdbio.c:829 g10/verify.c:96 g10/verify.c:160 sm/gpgsm.c:2219
-#: sm/gpgsm.c:2249 sm/gpgsm.c:2287 sm/qualified.c:66 dirmngr/certcache.c:396
+#: g10/plaintext.c:649 g10/sign.c:990 g10/sign.c:1201 g10/sign.c:1306
+#: g10/sign.c:1451 g10/tdbdump.c:143 g10/tdbdump.c:151 g10/tdbio.c:758
+#: g10/tdbio.c:829 g10/verify.c:96 g10/verify.c:160 sm/gpgsm.c:2125
+#: sm/gpgsm.c:2155 sm/gpgsm.c:2193 sm/qualified.c:66 dirmngr/certcache.c:396
 #: dirmngr/certcache.c:476 dirmngr/certcache.c:478 dirmngr/crlcache.c:2588
-#: dirmngr/dirmngr.c:1722
+#: dirmngr/dirmngr.c:1759
 #, c-format
 msgid "can't open '%s': %s\n"
 msgstr "klarte ikke å åpne «%s»: %s\n"
 
 #: agent/command-ssh.c:2385 agent/command-ssh.c:2431 agent/command-ssh.c:2449
-#: agent/command-ssh.c:2601 g10/card-util.c:687 g10/card-util.c:708
-#: g10/skclist.c:430
+#: agent/command-ssh.c:2601 g10/card-util.c:688 g10/card-util.c:709
+#: g10/skclist.c:435
 #, c-format
 msgid "error getting serial number of card: %s\n"
 msgstr "feil under henting av kort-serienummer: %s\n"
@@ -213,7 +213,7 @@ msgstr "fant ingen passende kortnøkkel: %s\n"
 msgid "error getting list of cards: %s\n"
 msgstr "feil under henting av kortliste: %s\n"
 
-#: agent/command-ssh.c:2765
+#: agent/command-ssh.c:2775
 #, c-format
 msgid ""
 "An ssh process requested the use of key%%0A  %s%%0A  (%s)%%0ADo you want to "
@@ -222,24 +222,24 @@ msgstr ""
 "En ssh-prosess ber om tillatelse til å brukt nøkkel%%0A  %s%%0A  (%s)%%0AVil "
 "du tillate dette?"
 
-#: agent/command-ssh.c:2772
+#: agent/command-ssh.c:2782
 msgid "Allow"
 msgstr "Tillat"
 
-#: agent/command-ssh.c:2772
+#: agent/command-ssh.c:2782
 msgid "Deny"
 msgstr "Avvis"
 
-#: agent/command-ssh.c:2781
+#: agent/command-ssh.c:2791
 #, c-format
 msgid "Please enter the passphrase for the ssh key%%0A  %F%%0A  (%c)"
 msgstr "Skriv inn passordfrase for ssh-nøkkel%%0A  %F%%0A  (%c)"
 
-#: agent/command-ssh.c:3058 agent/genkey.c:351
+#: agent/command-ssh.c:3068 agent/genkey.c:351
 msgid "Please re-enter this passphrase"
 msgstr "Skriv inn denne passordfrasen på nytt"
 
-#: agent/command-ssh.c:3085
+#: agent/command-ssh.c:3095
 #, c-format
 msgid ""
 "Please enter a passphrase to protect the received secret key%%0A   %s%%0A   "
@@ -248,7 +248,7 @@ msgstr ""
 "Skriv inn passordfrase som skal brukes til å beskytte mottatt hemmelig nøkkel"
 "%%0A   %s%%0A   %s%%0Ai nøkkellageret for gpg-agent"
 
-#: agent/command-ssh.c:3667
+#: agent/command-ssh.c:3677
 #, c-format
 msgid "failed to create stream from socket: %s\n"
 msgstr "klarte ikke å lage strøm av sokkel: %s\n"
@@ -394,45 +394,43 @@ msgstr ""
 "@Valg:\n"
 " "
 
-#: agent/gpg-agent.c:165 scd/scdaemon.c:120 dirmngr/dirmngr.c:166
+#: agent/gpg-agent.c:165 scd/scdaemon.c:120 dirmngr/dirmngr.c:167
 msgid "run in daemon mode (background)"
 msgstr "kjør som bakgrunnsprosess («daemon»)"
 
-#: agent/gpg-agent.c:166 scd/scdaemon.c:117 dirmngr/dirmngr.c:165
+#: agent/gpg-agent.c:166 scd/scdaemon.c:117 dirmngr/dirmngr.c:166
 msgid "run in server mode (foreground)"
 msgstr "kjør i tjenermodus (forgrunn)"
 
-#: agent/gpg-agent.c:168 dirmngr/dirmngr.c:168
+#: agent/gpg-agent.c:168 dirmngr/dirmngr.c:169
 msgid "run in supervised mode"
 msgstr "kjør i «supervised» modus"
 
-#: agent/gpg-agent.c:170 g10/gpg.c:608 g10/gpgv.c:78 kbx/kbxutil.c:88
-#: scd/scdaemon.c:121 sm/gpgsm.c:310 dirmngr/dirmngr-client.c:70
-#: dirmngr/dirmngr.c:181 dirmngr/dirmngr_ldap.c:135
-#: tools/gpg-connect-agent.c:78 tools/gpgconf.c:108
+#: agent/gpg-agent.c:170 g10/gpg.c:605 g10/gpgv.c:78 kbx/kbxutil.c:88
+#: scd/scdaemon.c:121 sm/gpgsm.c:311 dirmngr/dirmngr-client.c:70
+#: dirmngr/dirmngr.c:182 tools/gpg-connect-agent.c:78 tools/gpgconf.c:108
 msgid "verbose"
 msgstr "detaljert utskrift"
 
 #: agent/gpg-agent.c:171 g10/gpgv.c:79 kbx/kbxutil.c:89 scd/scdaemon.c:122
-#: sm/gpgsm.c:311 dirmngr/dirmngr-client.c:71 dirmngr/dirmngr.c:182
-#: dirmngr/dirmngr_ldap.c:136
+#: sm/gpgsm.c:312 dirmngr/dirmngr-client.c:71 dirmngr/dirmngr.c:183
 msgid "be somewhat more quiet"
 msgstr "være noenlunde stille"
 
-#: agent/gpg-agent.c:172 scd/scdaemon.c:123 dirmngr/dirmngr.c:183
+#: agent/gpg-agent.c:172 scd/scdaemon.c:123 dirmngr/dirmngr.c:184
 msgid "sh-style command output"
 msgstr "sh-utdata for kommandoer"
 
-#: agent/gpg-agent.c:173 scd/scdaemon.c:124 dirmngr/dirmngr.c:184
+#: agent/gpg-agent.c:173 scd/scdaemon.c:124 dirmngr/dirmngr.c:185
 msgid "csh-style command output"
 msgstr "csh-utdata for kommandoer"
 
-#: agent/gpg-agent.c:174 scd/scdaemon.c:125 sm/gpgsm.c:341
-#: dirmngr/dirmngr.c:185
+#: agent/gpg-agent.c:174 scd/scdaemon.c:125 sm/gpgsm.c:344
+#: dirmngr/dirmngr.c:186
 msgid "|FILE|read options from FILE"
 msgstr "|FIL|les valg fra valgt FIL"
 
-#: agent/gpg-agent.c:183 scd/scdaemon.c:135 dirmngr/dirmngr.c:188
+#: agent/gpg-agent.c:183 scd/scdaemon.c:135 dirmngr/dirmngr.c:189
 msgid "do not detach from the console"
 msgstr "ikke løsne fra konsoll"
 
@@ -508,9 +506,9 @@ msgstr "slå på støtte for putty"
 #. reporting address.  This is so that we can change the
 #. reporting address without breaking the translations.
 #: agent/gpg-agent.c:531 agent/preset-passphrase.c:100 agent/protect-tool.c:155
-#: g10/gpg.c:1070 g10/gpgv.c:149 kbx/kbxutil.c:113 scd/scdaemon.c:298
-#: sm/gpgsm.c:567 dirmngr/dirmngr-client.c:168 dirmngr/dirmngr.c:404
-#: dirmngr/dirmngr_ldap.c:207 tools/gpg-connect-agent.c:205 tools/gpgconf.c:146
+#: g10/gpg.c:1074 g10/gpgv.c:149 kbx/kbxutil.c:113 scd/scdaemon.c:299
+#: sm/gpgsm.c:570 dirmngr/dirmngr-client.c:168 dirmngr/dirmngr.c:412
+#: tools/gpg-connect-agent.c:205 tools/gpgconf.c:146
 #: tools/gpg-check-pattern.c:143
 msgid "Please report bugs to <@EMAIL@>.\n"
 msgstr "Rapporter programfeil til <@EMAIL@>.\n"
@@ -527,37 +525,37 @@ msgstr ""
 "Syntaks: @GPG_AGENT@ [valg] [kommando [arg]]\n"
 "Håndtering av hemmelige nøkler for @GNUPG@\n"
 
-#: agent/gpg-agent.c:587 g10/gpg.c:1262 scd/scdaemon.c:370 sm/gpgsm.c:715
-#: dirmngr/dirmngr.c:488
+#: agent/gpg-agent.c:587 g10/gpg.c:1270 scd/scdaemon.c:371 sm/gpgsm.c:718
+#: dirmngr/dirmngr.c:496
 #, c-format
 msgid "invalid debug-level '%s' given\n"
 msgstr "«%s» er et ugyldig feilsøkingsnivå\n"
 
-#: agent/gpg-agent.c:945 g10/gpg.c:3753 g10/gpg.c:3777 sm/gpgsm.c:1631
-#: sm/gpgsm.c:1637
+#: agent/gpg-agent.c:945 g10/gpg.c:3773 g10/gpg.c:3797 sm/gpgsm.c:1531
+#: sm/gpgsm.c:1537
 #, c-format
 msgid "selected digest algorithm is invalid\n"
 msgstr "valg kontrollsum-algoritme er ugyldig\n"
 
 #: agent/gpg-agent.c:1168 agent/gpg-agent.c:2023 common/argparse.c:1755
-#: common/argparse.c:1847 g10/gpg.c:2482 scd/scdaemon.c:532 sm/gpgsm.c:1063
-#: dirmngr/dirmngr.c:956 dirmngr/dirmngr.c:1841
+#: common/argparse.c:1847 g10/gpg.c:2495 scd/scdaemon.c:533 sm/gpgsm.c:977
+#: dirmngr/dirmngr.c:994 dirmngr/dirmngr.c:1878
 #, c-format
 msgid "reading options from '%s'\n"
 msgstr "leser valg fra «%s»\n"
 
-#: agent/gpg-agent.c:1300 g10/gpg.c:3704 scd/scdaemon.c:655 sm/gpgsm.c:1571
-#: dirmngr/dirmngr.c:1067 tools/gpg-connect-agent.c:1244 tools/gpgconf.c:624
+#: agent/gpg-agent.c:1300 g10/gpg.c:3724 scd/scdaemon.c:657 sm/gpgsm.c:1471
+#: dirmngr/dirmngr.c:1102 tools/gpg-connect-agent.c:1244 tools/gpgconf.c:624
 #, c-format
 msgid "Note: '%s' is not considered an option\n"
 msgstr "Merk: «%s» regnes ikke som et valg\n"
 
-#: agent/gpg-agent.c:2159 scd/scdaemon.c:1096 dirmngr/dirmngr.c:1219
+#: agent/gpg-agent.c:2159 scd/scdaemon.c:1098 dirmngr/dirmngr.c:1256
 #, c-format
 msgid "can't create socket: %s\n"
 msgstr "klarte ikke å lage sokkel: %s\n"
 
-#: agent/gpg-agent.c:2176 scd/scdaemon.c:1109 dirmngr/dirmngr.c:1232
+#: agent/gpg-agent.c:2176 scd/scdaemon.c:1111 dirmngr/dirmngr.c:1269
 #, c-format
 msgid "socket name '%s' is too long\n"
 msgstr "sokkelnavnet «%s» er for langt\n"
@@ -567,29 +565,29 @@ msgstr "sokkelnavnet «%s» er for langt\n"
 msgid "a gpg-agent is already running - not starting a new one\n"
 msgstr "en gpg-agent kjører allerede. Lar være å starte en ny\n"
 
-#: agent/gpg-agent.c:2226 scd/scdaemon.c:1133 dirmngr/dirmngr.c:1264
+#: agent/gpg-agent.c:2226 scd/scdaemon.c:1135 dirmngr/dirmngr.c:1301
 #, c-format
 msgid "error getting nonce for the socket\n"
 msgstr "feil under henting av sokkel-anledning\n"
 
-#: agent/gpg-agent.c:2231 scd/scdaemon.c:1136 dirmngr/dirmngr.c:1267
+#: agent/gpg-agent.c:2231 scd/scdaemon.c:1138 dirmngr/dirmngr.c:1304
 #, c-format
 msgid "error binding socket to '%s': %s\n"
 msgstr "feil under knytning av sokkel til «%s»: %s\n"
 
 #: agent/gpg-agent.c:2242 agent/gpg-agent.c:2282 agent/gpg-agent.c:2291
-#: scd/scdaemon.c:1144 dirmngr/dirmngr.c:1276
+#: scd/scdaemon.c:1146 dirmngr/dirmngr.c:1313
 #, c-format
 msgid "can't set permissions of '%s': %s\n"
 msgstr "klarte ikke å endre tillatelser til «%s»: %s\n"
 
-#: agent/gpg-agent.c:2256 scd/scdaemon.c:1156 dirmngr/dirmngr.c:1288
+#: agent/gpg-agent.c:2256 scd/scdaemon.c:1158 dirmngr/dirmngr.c:1325
 #, c-format
 msgid "listening on socket '%s'\n"
 msgstr "lytter på sokkel «%s»\n"
 
 #: agent/gpg-agent.c:2276 agent/gpg-agent.c:2329 common/homedir.c:517
-#: g10/exec.c:261 g10/openfile.c:397
+#: g10/exec.c:269 g10/openfile.c:397
 #, c-format
 msgid "can't create directory '%s': %s\n"
 msgstr "klarte ikke å lage mappa «%s»: %s\n"
@@ -610,7 +608,7 @@ msgstr "stat() mislyktes for «%s»: %s\n"
 msgid "can't use '%s' as home directory\n"
 msgstr "«%s» kan ikke brukes som hjemmemappe\n"
 
-#: agent/gpg-agent.c:2502 scd/scdaemon.c:1172 dirmngr/dirmngr.c:2047
+#: agent/gpg-agent.c:2502 scd/scdaemon.c:1174 dirmngr/dirmngr.c:2084
 #, c-format
 msgid "error reading nonce on fd %d: %s\n"
 msgstr "feil under lesing av anledning på fd %d: %s\n"
@@ -635,12 +633,12 @@ msgstr "startet ssh-behandler 0x%lx for fd %d\n"
 msgid "ssh handler 0x%lx for fd %d terminated\n"
 msgstr "avsluttet ssh-behandler 0x%lx for fd %d\n"
 
-#: agent/gpg-agent.c:3016 scd/scdaemon.c:1362 dirmngr/dirmngr.c:2261
+#: agent/gpg-agent.c:3016 scd/scdaemon.c:1366 dirmngr/dirmngr.c:2298
 #, c-format
 msgid "npth_pselect failed: %s - waiting 1s\n"
 msgstr "npth_pselect mislyktes: %s - venter 1s\n"
 
-#: agent/gpg-agent.c:3104 scd/scdaemon.c:1427
+#: agent/gpg-agent.c:3104 scd/scdaemon.c:1431
 #, c-format
 msgid "%s %s stopped\n"
 msgstr "%s %s stoppet\n"
@@ -663,8 +661,8 @@ msgstr ""
 "Syntaks: gpg-preset-passphrase [valg] KEYGRIP\n"
 "Vedlikehold av hurtiglager for passord\n"
 
-#: agent/protect-tool.c:108 g10/gpg.c:440 kbx/kbxutil.c:71 sm/gpgsm.c:204
-#: dirmngr/dirmngr.c:163 tools/gpgconf.c:78
+#: agent/protect-tool.c:108 g10/gpg.c:437 kbx/kbxutil.c:71 sm/gpgsm.c:205
+#: dirmngr/dirmngr.c:164 tools/gpgconf.c:78
 msgid ""
 "@Commands:\n"
 " "
@@ -672,8 +670,8 @@ msgstr ""
 "@Kommandoer:\n"
 " "
 
-#: agent/protect-tool.c:117 g10/gpg.c:553 g10/gpgv.c:76 kbx/kbxutil.c:81
-#: sm/gpgsm.c:252 dirmngr/dirmngr.c:179 tools/gpg-connect-agent.c:76
+#: agent/protect-tool.c:117 g10/gpg.c:550 g10/gpgv.c:76 kbx/kbxutil.c:81
+#: sm/gpgsm.c:253 dirmngr/dirmngr.c:180 tools/gpg-connect-agent.c:76
 #: tools/gpgconf.c:105
 msgid ""
 "@\n"
@@ -696,11 +694,11 @@ msgstr ""
 "Syntaks: gpg-protect-tool [valg] [arg]\n"
 "Håndteringsverktøy for hemmelige nøkler\n"
 
-#: agent/protect-tool.c:703
+#: agent/protect-tool.c:703 sm/import.c:774
 msgid "Please enter the passphrase to unprotect the PKCS#12 object."
 msgstr "Skriv inn passordfrase for å låse opp PKCS#12-objekt."
 
-#: agent/protect-tool.c:708
+#: agent/protect-tool.c:708 sm/export.c:710
 msgid "Please enter the passphrase to protect the new PKCS#12 object."
 msgstr "Skriv inn passordfrase for å låse nytt PKCS#12-objekt."
 
@@ -729,7 +727,7 @@ msgstr "avbrutt\n"
 msgid "error while asking for the passphrase: %s\n"
 msgstr "feil under spørring etter passordfrase: %s\n"
 
-#: agent/trustlist.c:154 agent/trustlist.c:364 dirmngr/dirmngr.c:1629
+#: agent/trustlist.c:154 agent/trustlist.c:364 dirmngr/dirmngr.c:1666
 #: tools/gpgconf.c:418
 #, c-format
 msgid "error opening '%s': %s\n"
@@ -891,7 +889,7 @@ msgstr "kontroll av opprettet signatur mislyktes: %s\n"
 msgid "secret key parts are not available\n"
 msgstr "hemmelige nøkkeldeler er ikke tilgjenglig\n"
 
-#: agent/cvt-openpgp.c:344 g10/card-util.c:1540
+#: agent/cvt-openpgp.c:344 g10/card-util.c:1541
 #, c-format
 msgid "public key algorithm %d (%s) is not supported\n"
 msgstr "offentlig nøkkelalgoritme %d (%s) støttes ikke\n"
@@ -906,21 +904,21 @@ msgstr "beskyttelsesalgoritme %d (%s) støttes ikke\n"
 msgid "protection hash algorithm %d (%s) is not supported\n"
 msgstr "kontrollsum-algoritme for beskyttelse %d (%s) støttes ikke\n"
 
-#: common/exechelp-posix.c:359 common/exechelp-w32.c:449
-#: common/exechelp-w32.c:473 common/exechelp-w32.c:503
+#: common/exechelp-posix.c:359 common/exechelp-w32.c:451
+#: common/exechelp-w32.c:475 common/exechelp-w32.c:505
 #, c-format
 msgid "error creating a pipe: %s\n"
 msgstr "feil under opprettelse av datarør: %s\n"
 
 #: common/exechelp-posix.c:372 common/exechelp-w32.c:355
-#: common/exechelp-w32.c:459 common/exechelp-w32.c:483
-#: common/exechelp-w32.c:513
+#: common/exechelp-w32.c:461 common/exechelp-w32.c:485
+#: common/exechelp-w32.c:515
 #, c-format
 msgid "error creating a stream for a pipe: %s\n"
 msgstr "feil under opprettelse av strøm for datarør: %s\n"
 
 #: common/exechelp-posix.c:495 common/exechelp-posix.c:570
-#: common/exechelp-posix.c:851 dirmngr/dirmngr.c:1306
+#: common/exechelp-posix.c:856 dirmngr/dirmngr.c:1343
 #, c-format
 msgid "error forking process: %s\n"
 msgstr "feil under kopiering av prosess: %s\n"
@@ -930,29 +928,29 @@ msgstr "feil under kopiering av prosess: %s\n"
 msgid "waiting for process %d to terminate failed: %s\n"
 msgstr "prosess %d avsluttet ikke i tide: %s\n"
 
-#: common/exechelp-posix.c:678 common/exechelp-posix.c:794
+#: common/exechelp-posix.c:678 common/exechelp-posix.c:799
 #, c-format
 msgid "error running '%s': probably not installed\n"
 msgstr ""
 "feil under kjøring av «%s». Programmet er sannsynligvis ikke installert\n"
 
-#: common/exechelp-posix.c:684 common/exechelp-posix.c:801
-#: common/exechelp-w32.c:796 common/exechelp-w32ce.c:781
+#: common/exechelp-posix.c:684 common/exechelp-posix.c:806
+#: common/exechelp-w32.c:829 common/exechelp-w32ce.c:781
 #, c-format
 msgid "error running '%s': exit status %d\n"
 msgstr "feil under kjøring av «%s». Avslutningskode %d\n"
 
-#: common/exechelp-posix.c:692 common/exechelp-posix.c:809
+#: common/exechelp-posix.c:692 common/exechelp-posix.c:814
 #, c-format
 msgid "error running '%s': terminated\n"
 msgstr "feil under kjøring av «%s». Avsluttet\n"
 
-#: common/exechelp-posix.c:750 common/exechelp-w32.c:777
+#: common/exechelp-posix.c:755 common/exechelp-w32.c:810
 #, c-format
 msgid "waiting for processes to terminate failed: %s\n"
 msgstr "venting på avslutning av prosesser mislyktes: %s\n"
 
-#: common/exechelp-w32.c:789 common/exechelp-w32ce.c:775
+#: common/exechelp-w32.c:822 common/exechelp-w32ce.c:775
 #, c-format
 msgid "error getting exit code of process %d: %s\n"
 msgstr "feil under henting av prosess-avslutningskode %d: %s\n"
@@ -1047,7 +1045,7 @@ msgstr "kjernen i sikkert minne ble full under tildeling av %lu byte"
 msgid "out of core while allocating %lu bytes"
 msgstr "kjernen ble full under tildeling av %lu byte"
 
-#: common/miscellaneous.c:115 g10/card-util.c:896 tools/no-libgcrypt.c:30
+#: common/miscellaneous.c:115 g10/card-util.c:897 tools/no-libgcrypt.c:30
 #, c-format
 msgid "error allocating enough memory: %s\n"
 msgstr "feil under tildeling av minne: %s\n"
@@ -1162,7 +1160,7 @@ msgid "algorithm: %s"
 msgstr "algoritme: %s"
 
 #: common/audit.c:774 common/audit.c:776 common/audit.c:921 common/audit.c:923
-#: scd/app-openpgp.c:3555
+#: scd/app-openpgp.c:3554
 #, c-format
 msgid "unsupported algorithm: %s"
 msgstr "ustøttet algoritme: %s"
@@ -1287,6 +1285,26 @@ msgstr "[ingen]"
 msgid "invalid radix64 character %02x skipped\n"
 msgstr "hoppet over ugyldig radix64-tegn %02x\n"
 
+#: common/ttyio.c:433
+#, c-format
+msgid "Sorry, we are in batchmode - can't get input\n"
+msgstr ""
+
+#: common/ttyio.c:439
+#, c-format
+msgid "Sorry, no terminal at all requested - can't get input\n"
+msgstr ""
+
+#: common/ttyio.c:474 common/ttyio.c:484
+#, c-format
+msgid "too many errors; giving up\n"
+msgstr ""
+
+#: common/ttyio.c:536
+#, c-format
+msgid "Control-D detected\n"
+msgstr ""
+
 #: common/argparse.c:520
 msgid "argument not expected"
 msgstr "uforventet argument"
@@ -1350,7 +1368,7 @@ msgstr "ugyldig valg"
 msgid "missing argument for option \"%.50s\"\n"
 msgstr "valget «%.50s» mangler et argument\n"
 
-#: common/argparse.c:558 g10/gpg.c:3490
+#: common/argparse.c:558 g10/gpg.c:3510
 #, c-format
 msgid "invalid argument for option \"%.50s\"\n"
 msgstr "ugyldig argument for valget «%.50s»\n"
@@ -1420,31 +1438,31 @@ msgstr "klarte ikke å lage midlertidig fil «%s»: %s\n"
 msgid "error writing to '%s': %s\n"
 msgstr "feil under skriving til «%s»: %s\n"
 
-#: common/dotlock.c:1129
+#: common/dotlock.c:1137
 #, c-format
 msgid "removing stale lockfile (created by %d)\n"
 msgstr "fjerner ødelagt låsfil (laget av %d)\n"
 
-#: common/dotlock.c:1165
+#: common/dotlock.c:1173
 #, c-format
 msgid "waiting for lock (held by %d%s) %s...\n"
 msgstr "venter på lås (holdt igjen av %d%s) %s …\n"
 
-#: common/dotlock.c:1166
+#: common/dotlock.c:1174
 msgid "(deadlock?) "
 msgstr "(vranglås?) "
 
-#: common/dotlock.c:1205
+#: common/dotlock.c:1213
 #, c-format
 msgid "lock '%s' not made: %s\n"
 msgstr "lås «%s» ikke opprettet: %s\n"
 
-#: common/dotlock.c:1232
+#: common/dotlock.c:1240
 #, c-format
 msgid "waiting for lock %s...\n"
 msgstr "venter på lås %s …\n"
 
-#: common/init.c:185 sm/gpgsm.c:949 dirmngr/dirmngr.c:862 dirmngr/dirmngr.c:871
+#: common/init.c:191 sm/gpgsm.c:863 dirmngr/dirmngr.c:900 dirmngr/dirmngr.c:909
 #, c-format
 msgid "%s is too old (need %s, have %s)\n"
 msgstr "%s er for gammel (krever %s, har %s)\n"
@@ -1626,12 +1644,12 @@ msgid "Note: Use the command \"%s\" to restart them.\n"
 msgstr "Merk: Bruk kommandoen «%s» for å starte dem på nytt.\n"
 
 #: g10/call-agent.c:318 g10/encrypt.c:154 g10/encrypt.c:620 g10/sign.c:412
-#: sm/call-agent.c:205 sm/encrypt.c:425 sm/sign.c:345
+#: sm/call-agent.c:205 sm/encrypt.c:426 sm/sign.c:345
 #, c-format
 msgid "%s is not compliant with %s mode\n"
 msgstr "%s kan ikke brukes i %s-modus\n"
 
-#: g10/call-dirmngr.c:209 sm/call-dirmngr.c:268 tools/gpg-connect-agent.c:2253
+#: g10/call-dirmngr.c:209 sm/call-dirmngr.c:269 tools/gpg-connect-agent.c:2253
 #, c-format
 msgid "no dirmngr running in this session\n"
 msgstr "ingen dirmngr kjører i gjeldende økt\n"
@@ -1676,23 +1694,23 @@ msgstr ""
 msgid "server uses an invalid certificate"
 msgstr "lag opphevelsessertifikat"
 
-#: g10/call-dirmngr.c:437 g10/gpg.c:4400
+#: g10/call-dirmngr.c:437 g10/gpg.c:4421
 #, fuzzy, c-format
 #| msgid "armor: %s\n"
 msgid "Note: %s\n"
 msgstr "armor: %s\n"
 
-#: g10/card-util.c:86 g10/card-util.c:366 g10/card-util.c:1902
+#: g10/card-util.c:86 g10/card-util.c:366 g10/card-util.c:1903
 #, c-format
 msgid "OpenPGP card not available: %s\n"
 msgstr "OpenPGP-kort er ikke tilgjengelig: %s\n"
 
-#: g10/card-util.c:91 g10/card-util.c:1908
+#: g10/card-util.c:91 g10/card-util.c:1909
 #, c-format
 msgid "OpenPGP card no. %s detected\n"
 msgstr "Oppdaget OpenPGP-kortnummer %s\n"
 
-#: g10/card-util.c:97 g10/card-util.c:2237 g10/delkey.c:160 g10/keyedit.c:1422
+#: g10/card-util.c:97 g10/card-util.c:2238 g10/delkey.c:160 g10/keyedit.c:1423
 #: g10/keygen.c:4466 g10/revoke.c:214 g10/revoke.c:636
 #, c-format
 msgid "can't do this in batch mode\n"
@@ -1703,13 +1721,13 @@ msgstr "du kan ikke gjøres dette i buntmodus\n"
 msgid "This command is only available for version 2 cards\n"
 msgstr "Denne kommandoen er bare tilgjengelig for kort av versjon 2\n"
 
-#: g10/card-util.c:107 scd/app-openpgp.c:2864
+#: g10/card-util.c:107 scd/app-openpgp.c:2863
 #, c-format
 msgid "Reset Code not or not anymore available\n"
 msgstr "Tilbakestillingskode er ikke tilgjengelig\n"
 
-#: g10/card-util.c:140 g10/card-util.c:1426 g10/card-util.c:1688
-#: g10/card-util.c:1780 g10/keyedit.c:394 g10/keyedit.c:415 g10/keyedit.c:429
+#: g10/card-util.c:140 g10/card-util.c:1427 g10/card-util.c:1689
+#: g10/card-util.c:1781 g10/keyedit.c:394 g10/keyedit.c:415 g10/keyedit.c:429
 #: g10/keygen.c:1808 g10/keygen.c:1980 g10/keygen.c:2186 g10/keygen.c:2477
 #: sm/certreqgen-ui.c:165 sm/certreqgen-ui.c:291 sm/certreqgen-ui.c:325
 msgid "Your selection? "
@@ -1735,104 +1753,104 @@ msgstr "ikke tvunget"
 msgid "forced"
 msgstr "tvunget"
 
-#: g10/card-util.c:749
+#: g10/card-util.c:750
 msgid "Error: Only plain ASCII is currently allowed.\n"
 msgstr "Feil: Bare ren ASCII er foreløpig tillatt.\n"
 
-#: g10/card-util.c:751
+#: g10/card-util.c:752
 msgid "Error: The \"<\" character may not be used.\n"
 msgstr "Feil: tegnet «<» kan ikke brukes.\n"
 
-#: g10/card-util.c:753
+#: g10/card-util.c:754
 msgid "Error: Double spaces are not allowed.\n"
 msgstr "Feil: Doble mellomrom er ikke tillatt.\n"
 
-#: g10/card-util.c:770
+#: g10/card-util.c:771
 msgid "Cardholder's surname: "
 msgstr "Kortholders etternavn: "
 
-#: g10/card-util.c:772
+#: g10/card-util.c:773
 msgid "Cardholder's given name: "
 msgstr "Kortholders fornavn: "
 
-#: g10/card-util.c:790
+#: g10/card-util.c:791
 #, c-format
 msgid "Error: Combined name too long (limit is %d characters).\n"
 msgstr "Feil: Det kombinerte navnet er for langt (grensa går ved %d tegn).\n"
 
-#: g10/card-util.c:811
+#: g10/card-util.c:812
 msgid "URL to retrieve public key: "
 msgstr "Adresse for henting av offentlig nøkkel: "
 
-#: g10/card-util.c:905 g10/decrypt-data.c:490 g10/import.c:387 g10/import.c:734
-#: g10/import.c:786 dirmngr/crlcache.c:655 dirmngr/crlcache.c:660
-#: dirmngr/crlcache.c:914 dirmngr/crlcache.c:920 dirmngr/dirmngr.c:1668
+#: g10/card-util.c:906 g10/decrypt-data.c:490 g10/import.c:399 g10/import.c:746
+#: g10/import.c:798 dirmngr/crlcache.c:655 dirmngr/crlcache.c:660
+#: dirmngr/crlcache.c:914 dirmngr/crlcache.c:920 dirmngr/dirmngr.c:1705
 #: tools/gpgconf.c:431 tools/gpgconf.c:477
 #, c-format
 msgid "error reading '%s': %s\n"
 msgstr "feil under lesing av «%s»: %s\n"
 
-#: g10/card-util.c:938 g10/decrypt-data.c:493 g10/export.c:2467
+#: g10/card-util.c:939 g10/decrypt-data.c:493 g10/export.c:2467
 #: dirmngr/crlcache.c:925
 #, c-format
 msgid "error writing '%s': %s\n"
 msgstr "feil under skriving av «%s»: %s\n"
 
-#: g10/card-util.c:965
+#: g10/card-util.c:966
 msgid "Login data (account name): "
 msgstr "Logindata (kontonavn): "
 
-#: g10/card-util.c:1003
+#: g10/card-util.c:1004
 msgid "Private DO data: "
 msgstr "Privat DO-data: "
 
-#: g10/card-util.c:1088
+#: g10/card-util.c:1089
 msgid "Language preferences: "
 msgstr "Språkoppsett: "
 
-#: g10/card-util.c:1096
+#: g10/card-util.c:1097
 msgid "Error: invalid length of preference string.\n"
 msgstr "Feil: oppsettsstreng har ugyldig lengde.\n"
 
-#: g10/card-util.c:1105
+#: g10/card-util.c:1106
 msgid "Error: invalid characters in preference string.\n"
 msgstr "Feil: oppsettsstreng inneholder ugyldige tegn.\n"
 
-#: g10/card-util.c:1127
+#: g10/card-util.c:1128
 msgid "Salutation (M = Mr., F = Ms., or space): "
 msgstr ""
 
-#: g10/card-util.c:1141
+#: g10/card-util.c:1142
 msgid "Error: invalid response.\n"
 msgstr "Feil: ugyldig svar.\n"
 
-#: g10/card-util.c:1163
+#: g10/card-util.c:1164
 msgid "CA fingerprint: "
 msgstr "CA-fingeravtrykk: "
 
-#: g10/card-util.c:1186
+#: g10/card-util.c:1187
 msgid "Error: invalid formatted fingerprint.\n"
 msgstr "Feil: feilformatert fingeravtrykk.\n"
 
-#: g10/card-util.c:1236
+#: g10/card-util.c:1237
 #, c-format
 msgid "key operation not possible: %s\n"
 msgstr "klarte ikke å utføre nøkkelhandling: %s\n"
 
-#: g10/card-util.c:1237
+#: g10/card-util.c:1238
 msgid "not an OpenPGP card"
 msgstr "ikke et OpenPGP-kort"
 
-#: g10/card-util.c:1250 g10/keygen.c:4486 g10/keygen.c:5565
+#: g10/card-util.c:1251 g10/keygen.c:4486 g10/keygen.c:5565
 #, c-format
 msgid "error getting current key info: %s\n"
 msgstr "feil under henting av nøkkelinfo: %s\n"
 
-#: g10/card-util.c:1335
+#: g10/card-util.c:1336
 msgid "Replace existing key? (y/N) "
 msgstr "Erstatte eksisterende nøkkel? (j/N) "
 
-#: g10/card-util.c:1352
+#: g10/card-util.c:1353
 msgid ""
 "Note: There is no guarantee that the card supports the requested size.\n"
 "      If the key generation does not succeed, please check the\n"
@@ -1842,107 +1860,107 @@ msgstr ""
 "      Se dokumentasjon for kortet du bruker og finn ut hvilke størrelser \n"
 "      det tillater hvis nøkkelgenerering mislykkes.\n"
 
-#: g10/card-util.c:1374 g10/keygen.c:2363 sm/certreqgen-ui.c:179
+#: g10/card-util.c:1375 g10/keygen.c:2363 sm/certreqgen-ui.c:179
 #, c-format
 msgid "What keysize do you want? (%u) "
 msgstr "Hvor stor skal nøkkelen være? (%u) "
 
-#: g10/card-util.c:1384 g10/keygen.c:2286 g10/keygen.c:2318
+#: g10/card-util.c:1385 g10/keygen.c:2286 g10/keygen.c:2318
 #: sm/certreqgen-ui.c:194
 #, c-format
 msgid "rounded up to %u bits\n"
 msgstr "rundet opp til %u bit\n"
 
-#: g10/card-util.c:1392 g10/keygen.c:2371 sm/certreqgen-ui.c:184
+#: g10/card-util.c:1393 g10/keygen.c:2371 sm/certreqgen-ui.c:184
 #, c-format
 msgid "%s keysizes must be in the range %u-%u\n"
 msgstr "%s nøkkelstørrelser må ligge i rekkevidden %u-%u\n"
 
-#: g10/card-util.c:1411
+#: g10/card-util.c:1412
 msgid "Changing card key attribute for: "
 msgstr ""
 
-#: g10/card-util.c:1413
+#: g10/card-util.c:1414
 #, fuzzy
 #| msgid "   (1) Signature key\n"
 msgid "Signature key\n"
 msgstr "   (1) Signaturnøkkel\n"
 
-#: g10/card-util.c:1415
+#: g10/card-util.c:1416
 #, fuzzy
 #| msgid "   (2) Encryption key\n"
 msgid "Encryption key\n"
 msgstr "   (2) Krypteringsnøkkel\n"
 
-#: g10/card-util.c:1417
+#: g10/card-util.c:1418
 #, fuzzy
 #| msgid "   (3) Authentication key\n"
 msgid "Authentication key\n"
 msgstr "   (3) Autentiseringsnøkkel\n"
 
-#: g10/card-util.c:1419 g10/keygen.c:1926 sm/certreqgen-ui.c:157
+#: g10/card-util.c:1420 g10/keygen.c:1926 sm/certreqgen-ui.c:157
 msgid "Please select what kind of key you want:\n"
 msgstr "Velg hvilken type nøkkel du vil ha:\n"
 
-#: g10/card-util.c:1420 sm/certreqgen-ui.c:158
+#: g10/card-util.c:1421 sm/certreqgen-ui.c:158
 #, c-format
 msgid "   (%d) RSA\n"
 msgstr "   (%d) RSA\n"
 
-#: g10/card-util.c:1421
+#: g10/card-util.c:1422
 #, fuzzy, c-format
 #| msgid "   (%d) ECC and ECC\n"
 msgid "   (%d) ECC\n"
 msgstr "   (%d) ECC og ECC\n"
 
-#: g10/card-util.c:1433 g10/card-util.c:1700 g10/card-util.c:1800
-#: g10/keyedit.c:899 g10/keygen.c:1834 g10/keygen.c:1862 g10/keygen.c:1987
+#: g10/card-util.c:1434 g10/card-util.c:1701 g10/card-util.c:1801
+#: g10/keyedit.c:900 g10/keygen.c:1834 g10/keygen.c:1862 g10/keygen.c:1987
 #: g10/keygen.c:2222 g10/keygen.c:2505 g10/revoke.c:838
 msgid "Invalid selection.\n"
 msgstr "Ugyldig valg.\n"
 
-#: g10/card-util.c:1506
+#: g10/card-util.c:1507
 #, c-format
 msgid "The card will now be re-configured to generate a key of %u bits\n"
 msgstr "Kortet blir nå satt opp på nytt for å lage nøkkel på %u bit\n"
 
-#: g10/card-util.c:1511
+#: g10/card-util.c:1512
 #, fuzzy, c-format
 #| msgid "The card will now be re-configured to generate a key of %u bits\n"
 msgid "The card will now be re-configured to generate a key of type: %s\n"
 msgstr "Kortet blir nå satt opp på nytt for å lage nøkkel på %u bit\n"
 
-#: g10/card-util.c:1547
+#: g10/card-util.c:1548
 #, fuzzy, c-format
 #| msgid "error changing size of key %d to %u bits: %s\n"
 msgid "error changing key attribute for key %d: %s\n"
 msgstr "feil under endring av størrelse på nøkkel %d til %u bit: %s\n"
 
-#: g10/card-util.c:1563 g10/card-util.c:2090
+#: g10/card-util.c:1564 g10/card-util.c:2091
 #, fuzzy, c-format
 #| msgid "error getting current key info: %s\n"
 msgid "error getting card info: %s\n"
 msgstr "feil under henting av nøkkelinfo: %s\n"
 
-#: g10/card-util.c:1569 g10/card-util.c:1914 g10/card-util.c:2096
+#: g10/card-util.c:1570 g10/card-util.c:1915 g10/card-util.c:2097
 #, c-format
 msgid "This command is not supported by this card\n"
 msgstr "Denne kommandoen støttes ikke av dette kortet\n"
 
-#: g10/card-util.c:1615
+#: g10/card-util.c:1616
 msgid "Make off-card backup of encryption key? (Y/n) "
 msgstr "Lage sikkerhetskopi av krypteringsnøkler utenfor kortet? (J/n) "
 
-#: g10/card-util.c:1629
+#: g10/card-util.c:1630
 #, c-format
 msgid "Note: keys are already stored on the card!\n"
 msgstr "MERK: det ligger allerede nøkler på kortet.\n"
 
-#: g10/card-util.c:1632
+#: g10/card-util.c:1633
 msgid "Replace existing keys? (y/N) "
 msgstr "Erstatte eksisterende nøkler? (j/N) "
 
-#: g10/card-util.c:1644
+#: g10/card-util.c:1645
 #, c-format
 msgid ""
 "Please note that the factory settings of the PINs are\n"
@@ -1953,149 +1971,149 @@ msgstr ""
 "   PIN = «%s»     Admin-PIN = «%s»\n"
 "Du bør endre disse med kommandoen «--change-pin»\n"
 
-#: g10/card-util.c:1679
+#: g10/card-util.c:1680
 msgid "Please select the type of key to generate:\n"
 msgstr "Velg hvilken type nøkkel du vil lage:\n"
 
-#: g10/card-util.c:1681 g10/card-util.c:1771
+#: g10/card-util.c:1682 g10/card-util.c:1772
 msgid "   (1) Signature key\n"
 msgstr "   (1) Signaturnøkkel\n"
 
-#: g10/card-util.c:1682 g10/card-util.c:1773
+#: g10/card-util.c:1683 g10/card-util.c:1774
 msgid "   (2) Encryption key\n"
 msgstr "   (2) Krypteringsnøkkel\n"
 
-#: g10/card-util.c:1683 g10/card-util.c:1775
+#: g10/card-util.c:1684 g10/card-util.c:1776
 msgid "   (3) Authentication key\n"
 msgstr "   (3) Autentiseringsnøkkel\n"
 
-#: g10/card-util.c:1768
+#: g10/card-util.c:1769
 msgid "Please select where to store the key:\n"
 msgstr "velg hvor nøkkelen skal lagres:\n"
 
-#: g10/card-util.c:1814
+#: g10/card-util.c:1815
 #, c-format
 msgid "KEYTOCARD failed: %s\n"
 msgstr "KEYTOCARD mislyktes: %s\n"
 
-#: g10/card-util.c:1919
+#: g10/card-util.c:1920
 #, c-format
 msgid "Note: This command destroys all keys stored on the card!\n"
 msgstr "Merk: denne kommandoen ødelegger alle nøkler på kortet.\n"
 
-#: g10/card-util.c:1922
+#: g10/card-util.c:1923
 msgid "Continue? (y/N) "
 msgstr "Vil du fortsette? (j/N) "
 
-#: g10/card-util.c:1927
+#: g10/card-util.c:1928
 msgid "Really do a factory reset? (enter \"yes\") "
 msgstr "Er du sikker på at du vil gjenopprette fabrikkoppsett? (skriv «ja») "
 
-#: g10/card-util.c:2113
+#: g10/card-util.c:2114
 #, fuzzy, c-format
 #| msgid "error looking up: %s\n"
 msgid "error for setup KDF: %s\n"
 msgstr "feil under oppslag av %s\n"
 
-#: g10/card-util.c:2142 g10/keyedit.c:1259
+#: g10/card-util.c:2143 g10/keyedit.c:1260
 msgid "quit this menu"
 msgstr "gå ut av denne menyen"
 
-#: g10/card-util.c:2144
+#: g10/card-util.c:2145
 msgid "show admin commands"
 msgstr "vis admin-kommandoer"
 
-#: g10/card-util.c:2145 g10/keyedit.c:1262
+#: g10/card-util.c:2146 g10/keyedit.c:1263
 msgid "show this help"
 msgstr "vis denne hjelpeteksten"
 
-#: g10/card-util.c:2147
+#: g10/card-util.c:2148
 msgid "list all available data"
 msgstr "vis alle tilgjengelige data"
 
-#: g10/card-util.c:2150
+#: g10/card-util.c:2151
 msgid "change card holder's name"
 msgstr "endre kortholders navn"
 
-#: g10/card-util.c:2151
+#: g10/card-util.c:2152
 msgid "change URL to retrieve key"
 msgstr "endre adresse for å hente nøkkel"
 
-#: g10/card-util.c:2152
+#: g10/card-util.c:2153
 msgid "fetch the key specified in the card URL"
 msgstr "hent nøkkel som ligger i kortets adresse"
 
-#: g10/card-util.c:2153
+#: g10/card-util.c:2154
 msgid "change the login name"
 msgstr "endre brukernavn"
 
-#: g10/card-util.c:2154
+#: g10/card-util.c:2155
 msgid "change the language preferences"
 msgstr "endre språkoppsett"
 
-#: g10/card-util.c:2155
+#: g10/card-util.c:2156
 #, fuzzy
 #| msgid "change card holder's sex"
 msgid "change card holder's salutation"
 msgstr "endre kortholders kjønn"
 
-#: g10/card-util.c:2157
+#: g10/card-util.c:2158
 msgid "change a CA fingerprint"
 msgstr "endre CA-fingeravtrykk"
 
-#: g10/card-util.c:2158
+#: g10/card-util.c:2159
 msgid "toggle the signature force PIN flag"
 msgstr "slå av på tvungen bruk av signatur-PIN"
 
-#: g10/card-util.c:2159
+#: g10/card-util.c:2160
 msgid "generate new keys"
 msgstr "lag nye nøkler"
 
-#: g10/card-util.c:2160
+#: g10/card-util.c:2161
 msgid "menu to change or unblock the PIN"
 msgstr "meny for å endre eller fjerne blokkering av PIN"
 
-#: g10/card-util.c:2161
+#: g10/card-util.c:2162
 msgid "verify the PIN and list all data"
 msgstr "bekrefte PIN og vise alle data"
 
-#: g10/card-util.c:2162
+#: g10/card-util.c:2163
 msgid "unblock the PIN using a Reset Code"
 msgstr "fjern PIN-blokkering med en tilbakestillingskode"
 
-#: g10/card-util.c:2163
+#: g10/card-util.c:2164
 msgid "destroy all keys and data"
 msgstr "ødelegg alle nøkler og data"
 
-#: g10/card-util.c:2164
+#: g10/card-util.c:2165
 #, fuzzy
 #| msgid "|NAME|use user NAME for authentication"
 msgid "setup KDF for PIN authentication"
 msgstr "|NAVN|bruk valgt brukerNAVN til autentisering"
 
-#: g10/card-util.c:2165
+#: g10/card-util.c:2166
 #, fuzzy
 #| msgid "change the ownertrust"
 msgid "change the key attribute"
 msgstr "endre eiertillit"
 
-#: g10/card-util.c:2289
+#: g10/card-util.c:2290
 msgid "gpg/card> "
 msgstr "gpg/kort> "
 
-#: g10/card-util.c:2330
+#: g10/card-util.c:2331
 msgid "Admin-only command\n"
 msgstr "Admin-reservert kommando\n"
 
-#: g10/card-util.c:2361
+#: g10/card-util.c:2362
 msgid "Admin commands are allowed\n"
 msgstr "Admin-kommandoer er tillatt\n"
 
-#: g10/card-util.c:2363
+#: g10/card-util.c:2364
 msgid "Admin commands are not allowed\n"
 msgstr "Admin-kommandoer er ikke tillatt\n"
 
-#: g10/card-util.c:2466 g10/keyedit.c:2228
+#: g10/card-util.c:2467 g10/keyedit.c:2229
 msgid "Invalid command  (try \"help\")\n"
 msgstr "Ugyldig kommando  (prøv «help»)\n"
 
@@ -2104,21 +2122,21 @@ msgstr "Ugyldig kommando  (prøv «help»)\n"
 msgid "--output doesn't work for this command\n"
 msgstr "«--output» virker ikke med denne kommandoen\n"
 
-#: g10/decrypt.c:247 g10/gpg.c:5083 g10/keyring.c:399 g10/keyring.c:750
+#: g10/decrypt.c:247 g10/gpg.c:5104 g10/keyring.c:399 g10/keyring.c:750
 #, c-format
 msgid "can't open '%s'\n"
 msgstr "klarte ikke å åpne «%s»\n"
 
 #: g10/delkey.c:83 g10/export.c:1947 g10/export.c:2230 g10/export.c:2351
-#: g10/getkey.c:1964 g10/gpg.c:5028 g10/keyedit.c:1444 g10/keyedit.c:2334
-#: g10/keyedit.c:2580 g10/keyedit.c:4543 g10/keylist.c:689 g10/keyserver.c:1259
+#: g10/getkey.c:2108 g10/gpg.c:5049 g10/keyedit.c:1445 g10/keyedit.c:2335
+#: g10/keyedit.c:2581 g10/keyedit.c:4544 g10/keylist.c:689 g10/keyserver.c:1092
 #: g10/revoke.c:230 g10/tofu.c:2165
 #, c-format
 msgid "key \"%s\" not found: %s\n"
 msgstr "fant ikke nøkkelen «%s»: %s\n"
 
-#: g10/delkey.c:92 g10/export.c:2015 g10/getkey.c:1972 g10/getkey.c:4346
-#: g10/gpg.c:5037 g10/keyedit.c:2307 g10/keyserver.c:1277 g10/revoke.c:236
+#: g10/delkey.c:92 g10/export.c:2015 g10/getkey.c:2116 g10/getkey.c:4517
+#: g10/gpg.c:5058 g10/keyedit.c:2308 g10/keyserver.c:1110 g10/revoke.c:236
 #: g10/revoke.c:663 g10/tofu.c:2173
 #, c-format
 msgid "error reading keyblock: %s\n"
@@ -2177,9 +2195,9 @@ msgstr "nøkkel"
 msgid "subkey"
 msgstr "undernøkkel"
 
-#: g10/delkey.c:299 g10/keyedit.c:2200 g10/keyedit.c:2210 g10/keyedit.c:2387
-#: g10/keyedit.c:2461 g10/keyedit.c:2532 g10/keyedit.c:2757 g10/keyedit.c:2987
-#: g10/keyedit.c:3056 g10/keyedit.c:3207
+#: g10/delkey.c:299 g10/keyedit.c:2201 g10/keyedit.c:2211 g10/keyedit.c:2388
+#: g10/keyedit.c:2462 g10/keyedit.c:2533 g10/keyedit.c:2758 g10/keyedit.c:2988
+#: g10/keyedit.c:3057 g10/keyedit.c:3208
 #, c-format
 msgid "update failed: %s\n"
 msgstr "oppdatering mislyktes: %s\n"
@@ -2204,7 +2222,7 @@ msgstr "det finnes en hemmelig nøkkel for offentlig nøkkel «%s».\n"
 msgid "use option \"--delete-secret-keys\" to delete it first.\n"
 msgstr "bruk valget «--delete-secret-keys» for å slette den først.\n"
 
-#: g10/encrypt.c:202 g10/sign.c:1471
+#: g10/encrypt.c:202 g10/sign.c:1470
 #, c-format
 msgid "error creating passphrase: %s\n"
 msgstr "feil under opprettelse av passordfrase: %s\n"
@@ -2229,14 +2247,14 @@ msgstr "«%s» er allerede komprimert\n"
 msgid "WARNING: '%s' is an empty file\n"
 msgstr "ADVARSEL: «%s» er en tom fil\n"
 
-#: g10/encrypt.c:387 g10/encrypt.c:610 g10/decrypt-data.c:260 g10/gpg.c:3901
-#: g10/gpg.c:3941 sm/decrypt.c:364 sm/encrypt.c:415 sm/gpgsm.c:1655
+#: g10/encrypt.c:387 g10/encrypt.c:610 g10/decrypt-data.c:260 g10/gpg.c:3922
+#: g10/gpg.c:3962 sm/decrypt.c:826 sm/encrypt.c:416 sm/gpgsm.c:1555
 #, c-format
 msgid "cipher algorithm '%s' may not be used in %s mode\n"
 msgstr "du kan ikke bruke algoritme «%s» i %s-modus\n"
 
-#: g10/encrypt.c:396 g10/gpg.c:3907 g10/gpg.c:3953 g10/sig-check.c:146
-#: g10/sign.c:391 sm/gpgsm.c:1665 sm/gpgsm.c:1675 sm/sign.c:478 sm/verify.c:506
+#: g10/encrypt.c:396 g10/gpg.c:3928 g10/gpg.c:3974 g10/sig-check.c:146
+#: g10/sign.c:391 sm/gpgsm.c:1565 sm/gpgsm.c:1575 sm/sign.c:478 sm/verify.c:506
 #, c-format
 msgid "digest algorithm '%s' may not be used in %s mode\n"
 msgstr "du kan ikke bruke algoritme «%s» i %s-modus\n"
@@ -2254,12 +2272,12 @@ msgstr ""
 "ADVARSEL: tvungen bruk av symmetrisk krypt.metode %s (%d) bryter med "
 "mottakers oppsett\n"
 
-#: g10/encrypt.c:640 sm/encrypt.c:490
+#: g10/encrypt.c:640 sm/encrypt.c:491
 #, c-format
 msgid "WARNING: key %s is not suitable for encryption in %s mode\n"
 msgstr "ADVARSEL: nøkkel %s egner seg ikke for kryptering i %s-modus\n"
 
-#: g10/encrypt.c:751 g10/sign.c:1163
+#: g10/encrypt.c:751 g10/sign.c:1162
 #, c-format
 msgid ""
 "WARNING: forcing compression algorithm %s (%d) violates recipient "
@@ -2288,12 +2306,12 @@ msgstr "du kan ikke bruke valget «%s» i %s-modus\n"
 msgid "%s encrypted data\n"
 msgstr "%s krypterte data\n"
 
-#: g10/decrypt-data.c:243 g10/mainproc.c:396
+#: g10/decrypt-data.c:243 g10/mainproc.c:397
 #, c-format
 msgid "encrypted with unknown algorithm %d\n"
 msgstr "kryptert med en ukjent algoritme %d\n"
 
-#: g10/decrypt-data.c:357 g10/decrypt-data.c:410 sm/decrypt.c:130
+#: g10/decrypt-data.c:357 g10/decrypt-data.c:410 sm/decrypt.c:550
 #, c-format
 msgid ""
 "WARNING: message was encrypted with a weak key in the symmetric cipher.\n"
@@ -2311,7 +2329,7 @@ msgstr "problem ved håndtering av kryptert pakke\n"
 msgid "no remote program execution supported\n"
 msgstr "fjernutføring av programmer er ikke støttet\n"
 
-#: g10/exec.c:381
+#: g10/exec.c:389
 #, c-format
 msgid ""
 "external program calls are disabled due to unsafe options file permissions\n"
@@ -2319,48 +2337,48 @@ msgstr ""
 "eksterne programkall er slått av på grunn av utrygge tillatelser til "
 "oppsettsfil\n"
 
-#: g10/exec.c:411
+#: g10/exec.c:419
 #, c-format
 msgid "this platform requires temporary files when calling external programs\n"
 msgstr ""
 "denne plattformen krever midlertidige filer ved kall på eksterne programmer\n"
 
-#: g10/exec.c:489
+#: g10/exec.c:497
 #, c-format
 msgid "unable to execute program '%s': %s\n"
 msgstr "klarte ikke å kjøre «%s»: %s\n"
 
-#: g10/exec.c:492
+#: g10/exec.c:500
 #, c-format
 msgid "unable to execute shell '%s': %s\n"
 msgstr "klarte ikke å kjøre skallet «%s»: %s\n"
 
-#: g10/exec.c:583
+#: g10/exec.c:591
 #, c-format
 msgid "system error while calling external program: %s\n"
 msgstr "systemfeil under kall på eksternt program: %s\n"
 
-#: g10/exec.c:594 g10/exec.c:661
+#: g10/exec.c:602 g10/exec.c:669
 #, c-format
 msgid "unnatural exit of external program\n"
 msgstr "unaturlig avslutning av eksternt program\n"
 
-#: g10/exec.c:609
+#: g10/exec.c:617
 #, c-format
 msgid "unable to execute external program\n"
 msgstr "klarte ikke å kjøre eksternt program\n"
 
-#: g10/exec.c:626
+#: g10/exec.c:634
 #, c-format
 msgid "unable to read external program response: %s\n"
 msgstr "klarte ikke å lese reponsen fra eksternt program: %s\n"
 
-#: g10/exec.c:672 g10/exec.c:679
+#: g10/exec.c:680 g10/exec.c:687
 #, c-format
 msgid "WARNING: unable to remove tempfile (%s) '%s': %s\n"
 msgstr "ADVARSEL: klarte ikke å fjerne midlertidig fil (%s) «%s»: %s\n"
 
-#: g10/exec.c:684
+#: g10/exec.c:692
 #, c-format
 msgid "WARNING: unable to remove temp directory '%s': %s\n"
 msgstr "ADVARSEL: klarte ikke å fjerne midlertidig mappe «%s»: %s\n"
@@ -2393,8 +2411,8 @@ msgstr "bruk GnuPG-format til sikkerhetskopiering av nøkkel"
 msgid " - skipped"
 msgstr ". Hoppet over"
 
-#: g10/export.c:1324 g10/import.c:2073 g10/openfile.c:200 g10/openfile.c:294
-#: g10/sign.c:1013 g10/sign.c:1327
+#: g10/export.c:1324 g10/import.c:2085 g10/openfile.c:200 g10/openfile.c:294
+#: g10/sign.c:1012 g10/sign.c:1326
 #, c-format
 msgid "writing to '%s'\n"
 msgstr "skriver til «%s»\n"
@@ -2429,268 +2447,268 @@ msgstr "feil under oppretting av «%s»: %s\n"
 msgid "[User ID not found]"
 msgstr "[Fant ikke bruker-ID]"
 
-#: g10/getkey.c:1297
+#: g10/getkey.c:1441
 #, c-format
 msgid "automatically retrieved '%s' via %s\n"
 msgstr "hentet «%s» via %s automatisk\n"
 
-#: g10/getkey.c:1303
+#: g10/getkey.c:1447
 #, c-format
 msgid "error retrieving '%s' via %s: %s\n"
 msgstr "feil under henting av «%s» via %s: %s\n"
 
-#: g10/getkey.c:1305
+#: g10/getkey.c:1449
 msgid "No fingerprint"
 msgstr "Ingen fingeravtrykk"
 
-#: g10/getkey.c:1526
+#: g10/getkey.c:1670
 #, c-format
 msgid "checking for a fresh copy of an expired key via %s\n"
 msgstr ""
 
-#: g10/getkey.c:1941 g10/revoke.c:655 g10/revoke.c:720
+#: g10/getkey.c:2085 g10/revoke.c:655 g10/revoke.c:720
 #, c-format
 msgid "secret key \"%s\" not found: %s\n"
 msgstr "fant ikke hemmelig nøkkel «%s»: %s\n"
 
-#: g10/getkey.c:1944 g10/pkclist.c:988
+#: g10/getkey.c:2088 g10/pkclist.c:988
 #, c-format
 msgid "(check argument of option '%s')\n"
 msgstr "(kontroller argument for valget «%s»)\n"
 
-#: g10/getkey.c:2020
+#: g10/getkey.c:2164
 #, c-format
 msgid "Warning: not using '%s' as default key: %s\n"
 msgstr "Advarsel: bruker ikke «%s» som forvalgt nøkkel: %s\n"
 
-#: g10/getkey.c:2028
+#: g10/getkey.c:2172
 #, c-format
 msgid "using \"%s\" as default secret key for signing\n"
 msgstr "bruker «%s» som forvalgt hemmelig signeringsnøkkel\n"
 
-#: g10/getkey.c:2035
+#: g10/getkey.c:2179
 #, c-format
 msgid "all values passed to '%s' ignored\n"
 msgstr "alle verdier som sendes til «%s» blir ignorert\n"
 
-#: g10/getkey.c:2880
+#: g10/getkey.c:3024
 #, c-format
 msgid "Invalid key %s made valid by --allow-non-selfsigned-uid\n"
 msgstr "Ugyldig nøkkel %s gjort gyldig av --allow-non-selfsigned-uid\n"
 
-#: g10/getkey.c:3730
+#: g10/getkey.c:3874
 #, c-format
 msgid "using subkey %s instead of primary key %s\n"
 msgstr "bruker undernøkkel %s i stedet for primærnøkkel %s\n"
 
-#: g10/getkey.c:4275 g10/gpg.c:2107
+#: g10/getkey.c:4446 g10/gpg.c:2120
 #, c-format
 msgid "valid values for option '%s':\n"
 msgstr "følgende verdier er gyldige for «%s»:\n"
 
-#: g10/gpg.c:442 sm/gpgsm.c:206
+#: g10/gpg.c:439 sm/gpgsm.c:207
 msgid "make a signature"
 msgstr "lag signatur"
 
-#: g10/gpg.c:443
+#: g10/gpg.c:440
 msgid "make a clear text signature"
 msgstr "lag klartekst-signatur"
 
-#: g10/gpg.c:445 sm/gpgsm.c:208
+#: g10/gpg.c:442 sm/gpgsm.c:209
 msgid "make a detached signature"
 msgstr "lag adskilt signatur"
 
-#: g10/gpg.c:446 sm/gpgsm.c:209
+#: g10/gpg.c:443 sm/gpgsm.c:210
 msgid "encrypt data"
 msgstr "krypter data"
 
-#: g10/gpg.c:448
+#: g10/gpg.c:445
 msgid "encryption only with symmetric cipher"
 msgstr "krypter data (symmetrisk)"
 
-#: g10/gpg.c:450 sm/gpgsm.c:211
+#: g10/gpg.c:447 sm/gpgsm.c:212
 msgid "decrypt data (default)"
 msgstr "dekrypter data (forvalgt)"
 
-#: g10/gpg.c:452 sm/gpgsm.c:212
+#: g10/gpg.c:449 sm/gpgsm.c:213
 msgid "verify a signature"
 msgstr "bekreft signatur"
 
-#: g10/gpg.c:454 sm/gpgsm.c:213
+#: g10/gpg.c:451 sm/gpgsm.c:214
 msgid "list keys"
 msgstr "vis nøkler"
 
-#: g10/gpg.c:456
+#: g10/gpg.c:453
 msgid "list keys and signatures"
 msgstr "vis nøkler og signaturer"
 
-#: g10/gpg.c:459
+#: g10/gpg.c:456
 msgid "list and check key signatures"
 msgstr "vis og kontroller nøkkelsignaturer"
 
-#: g10/gpg.c:461 sm/gpgsm.c:218
+#: g10/gpg.c:458 sm/gpgsm.c:219
 msgid "list keys and fingerprints"
 msgstr "vis nøkler og fingeravtrykk"
 
-#: g10/gpg.c:462 sm/gpgsm.c:216
+#: g10/gpg.c:459 sm/gpgsm.c:217
 msgid "list secret keys"
 msgstr "vis hemmelige nøkler"
 
-#: g10/gpg.c:464 sm/gpgsm.c:219
+#: g10/gpg.c:461 sm/gpgsm.c:220
 msgid "generate a new key pair"
 msgstr "lag nytt nøkkelpar"
 
-#: g10/gpg.c:467
+#: g10/gpg.c:464
 msgid "quickly generate a new key pair"
 msgstr "lag nytt nøkkelpar raskt"
 
-#: g10/gpg.c:470
+#: g10/gpg.c:467
 msgid "quickly add a new user-id"
 msgstr "legg til en ny bruker-ID raskt"
 
-#: g10/gpg.c:475
+#: g10/gpg.c:472
 msgid "quickly revoke a user-id"
 msgstr "opphev bruker-ID raskt"
 
-#: g10/gpg.c:478
+#: g10/gpg.c:475
 msgid "quickly set a new expiration date"
 msgstr "endre utløpsdato raskt"
 
-#: g10/gpg.c:481
+#: g10/gpg.c:478
 msgid "full featured key pair generation"
 msgstr "fullverdig generering av nøkkelpar"
 
-#: g10/gpg.c:484
+#: g10/gpg.c:481
 msgid "generate a revocation certificate"
 msgstr "lag opphevelsessertifikat"
 
-#: g10/gpg.c:487 sm/gpgsm.c:222
+#: g10/gpg.c:484 sm/gpgsm.c:223
 msgid "remove keys from the public keyring"
 msgstr "fjern nøkler fra offentlig nøkkelknippe"
 
-#: g10/gpg.c:489
+#: g10/gpg.c:486
 msgid "remove keys from the secret keyring"
 msgstr "fjern nøkler fra hemmelig nøkkelknippe"
 
-#: g10/gpg.c:491
+#: g10/gpg.c:488
 msgid "quickly sign a key"
 msgstr "hurtigsigner nøkkel"
 
-#: g10/gpg.c:493
+#: g10/gpg.c:490
 msgid "quickly sign a key locally"
 msgstr "hurtigsigner nøkkel lokalt"
 
-#: g10/gpg.c:495
+#: g10/gpg.c:492
 #, fuzzy
 #| msgid "quickly revoke a user-id"
 msgid "quickly revoke a key signature"
 msgstr "opphev bruker-ID raskt"
 
-#: g10/gpg.c:496
+#: g10/gpg.c:493
 msgid "sign a key"
 msgstr "signer nøkkel"
 
-#: g10/gpg.c:497
+#: g10/gpg.c:494
 msgid "sign a key locally"
 msgstr "signer nøkkel lokalt"
 
-#: g10/gpg.c:498
+#: g10/gpg.c:495
 msgid "sign or edit a key"
 msgstr "signer eller rediger nøkkel"
 
-#: g10/gpg.c:500 sm/gpgsm.c:240
+#: g10/gpg.c:497 sm/gpgsm.c:241
 msgid "change a passphrase"
 msgstr "endre passordfrase"
 
-#: g10/gpg.c:504
+#: g10/gpg.c:501
 msgid "export keys"
 msgstr "eksporter nøkler"
 
-#: g10/gpg.c:505
+#: g10/gpg.c:502
 msgid "export keys to a keyserver"
 msgstr "eksporter nøkler til nøkkeltjener"
 
-#: g10/gpg.c:506
+#: g10/gpg.c:503
 msgid "import keys from a keyserver"
 msgstr "importer nøkler fra nøkkeltjener"
 
-#: g10/gpg.c:509
+#: g10/gpg.c:506
 msgid "search for keys on a keyserver"
 msgstr "søk etter nøkler på nøkkeltjener"
 
-#: g10/gpg.c:511
+#: g10/gpg.c:508
 msgid "update all keys from a keyserver"
 msgstr "oppdater alle nøkler fra nøkkeltjener"
 
-#: g10/gpg.c:519
+#: g10/gpg.c:516
 msgid "import/merge keys"
 msgstr "importer/slå sammen nøkler"
 
-#: g10/gpg.c:522
+#: g10/gpg.c:519
 msgid "print the card status"
 msgstr "vis kortstatus"
 
-#: g10/gpg.c:523
+#: g10/gpg.c:520
 msgid "change data on a card"
 msgstr "endre data på kort"
 
-#: g10/gpg.c:525
+#: g10/gpg.c:522
 msgid "change a card's PIN"
 msgstr "endre PIN på kort"
 
-#: g10/gpg.c:537
+#: g10/gpg.c:534
 msgid "update the trust database"
 msgstr "oppdater tillitsdatabase"
 
-#: g10/gpg.c:546
+#: g10/gpg.c:543
 msgid "print message digests"
 msgstr "skriv ut kontrollsum av melding"
 
-#: g10/gpg.c:549 sm/gpgsm.c:235
+#: g10/gpg.c:546 sm/gpgsm.c:236
 msgid "run in server mode"
 msgstr "kjør i tjenermodus"
 
-#: g10/gpg.c:551
+#: g10/gpg.c:548
 msgid "|VALUE|set the TOFU policy for a key"
 msgstr "|VERDI|endre TOFU-regler for nøkkel"
 
-#: g10/gpg.c:555 sm/gpgsm.c:254
+#: g10/gpg.c:552 sm/gpgsm.c:255
 msgid "create ascii armored output"
 msgstr "lag ASCII-beskyttet utdata"
 
-#: g10/gpg.c:558 sm/gpgsm.c:271
+#: g10/gpg.c:555 sm/gpgsm.c:272
 msgid "|USER-ID|encrypt for USER-ID"
 msgstr "|BRUKER-ID|krypter for valgt BRUKER-ID"
 
-#: g10/gpg.c:574 sm/gpgsm.c:307
+#: g10/gpg.c:571 sm/gpgsm.c:308
 msgid "|USER-ID|use USER-ID to sign or decrypt"
 msgstr "|BRUKER-ID|bruk valgt BRUKER-ID til å signere eller dekryptere"
 
-#: g10/gpg.c:580
+#: g10/gpg.c:577
 msgid "|N|set compress level to N (0 disables)"
 msgstr "|N|endre komprimeringsnivå til N (0 for å slå av)"
 
-#: g10/gpg.c:587
+#: g10/gpg.c:584
 msgid "use canonical text mode"
 msgstr "bruk kanonisk tekstmodus"
 
-#: g10/gpg.c:604 g10/gpgv.c:82 sm/gpgsm.c:309
+#: g10/gpg.c:601 g10/gpgv.c:82 sm/gpgsm.c:310
 msgid "|FILE|write output to FILE"
 msgstr "|FILE|skriv utdata til valgt FIL"
 
-#: g10/gpg.c:614 kbx/kbxutil.c:90 sm/gpgsm.c:321 tools/gpgconf.c:110
+#: g10/gpg.c:611 kbx/kbxutil.c:90 sm/gpgsm.c:322 tools/gpgconf.c:110
 msgid "do not make any changes"
 msgstr "ikke utfør valgte endringer"
 
-#: g10/gpg.c:615
+#: g10/gpg.c:612
 msgid "prompt before overwriting"
 msgstr "spør før overskriving"
 
-#: g10/gpg.c:665
+#: g10/gpg.c:662
 msgid "use strict OpenPGP behavior"
 msgstr "bruk streng OpenPGP-oppførsel"
 
-#: g10/gpg.c:692 sm/gpgsm.c:364
+#: g10/gpg.c:689 sm/gpgsm.c:367
 msgid ""
 "@\n"
 "(See the man page for a complete listing of all commands and options)\n"
@@ -2698,7 +2716,7 @@ msgstr ""
 "@\n"
 "(Se bruksanvisning for en fullstendig liste over alle kommandoer og valg)\n"
 
-#: g10/gpg.c:695
+#: g10/gpg.c:692
 msgid ""
 "@\n"
 "Examples:\n"
@@ -2718,11 +2736,11 @@ msgstr ""
 " --list-keys [navn]         vis nøkler\n"
 " --fingerprint [navn]       vis fingeravtrykk\n"
 
-#: g10/gpg.c:1092
+#: g10/gpg.c:1096
 msgid "Usage: @GPG@ [options] [files] (-h for help)"
 msgstr "Bruk: @GPG@ [valg] [filer] (-h for hjelp)"
 
-#: g10/gpg.c:1095
+#: g10/gpg.c:1099
 msgid ""
 "Syntax: @GPG@ [options] [files]\n"
 "Sign, check, encrypt or decrypt\n"
@@ -2732,7 +2750,7 @@ msgstr ""
 "Signer, kontroller, krypter eller dekrypter.\n"
 "Forvalgt handling avhenger av inndata.\n"
 
-#: g10/gpg.c:1106 sm/gpgsm.c:591
+#: g10/gpg.c:1110 sm/gpgsm.c:594
 msgid ""
 "\n"
 "Supported algorithms:\n"
@@ -2740,536 +2758,536 @@ msgstr ""
 "\n"
 "Støttede algoritmer:\n"
 
-#: g10/gpg.c:1109
+#: g10/gpg.c:1113
 msgid "Pubkey: "
 msgstr "Off. nøkkel: "
 
-#: g10/gpg.c:1116 g10/keyedit.c:3281
+#: g10/gpg.c:1120 g10/keyedit.c:3282
 msgid "Cipher: "
 msgstr "Kryptering: "
 
-#: g10/gpg.c:1123
+#: g10/gpg.c:1127
 msgid "Hash: "
 msgstr "Hash: "
 
-#: g10/gpg.c:1130 g10/keyedit.c:3347
+#: g10/gpg.c:1134 g10/keyedit.c:3348
 msgid "Compression: "
 msgstr "Komprimering: "
 
-#: g10/gpg.c:1199 sm/gpgsm.c:665
+#: g10/gpg.c:1207 sm/gpgsm.c:668
 #, c-format
 msgid "usage: %s [options] %s\n"
 msgstr "bruk: %s [valg] %s\n"
 
-#: g10/gpg.c:1388 sm/gpgsm.c:754
+#: g10/gpg.c:1396 sm/gpgsm.c:761
 #, c-format
 msgid "conflicting commands\n"
 msgstr "motstridende kommandoer\n"
 
-#: g10/gpg.c:1406
+#: g10/gpg.c:1414
 #, c-format
 msgid "no = sign found in group definition '%s'\n"
 msgstr "fant ingen «=»-tegn i gruppedefinisjon «%s»\n"
 
-#: g10/gpg.c:1604
+#: g10/gpg.c:1612
 #, c-format
 msgid "WARNING: unsafe ownership on homedir '%s'\n"
 msgstr "ADVARSEL: utrygt eierskap til hjemmemappe «%s»\n"
 
-#: g10/gpg.c:1607
+#: g10/gpg.c:1615
 #, c-format
 msgid "WARNING: unsafe ownership on configuration file '%s'\n"
 msgstr "ADVARSEL: utrygt eierskap til oppsettsfil «%s»\n"
 
-#: g10/gpg.c:1610
+#: g10/gpg.c:1618
 #, c-format
 msgid "WARNING: unsafe ownership on extension '%s'\n"
 msgstr "ADVARSEL: utrygt eierskap til utvidelse «%s»\n"
 
-#: g10/gpg.c:1616
+#: g10/gpg.c:1624
 #, c-format
 msgid "WARNING: unsafe permissions on homedir '%s'\n"
 msgstr "ADVARSEL: utrygge tillatelser til hjemmemappe «%s»\n"
 
-#: g10/gpg.c:1619
+#: g10/gpg.c:1627
 #, c-format
 msgid "WARNING: unsafe permissions on configuration file '%s'\n"
 msgstr "ADVARSEL: utrygge tillatelser til oppsettsfil «%s»\n"
 
-#: g10/gpg.c:1622
+#: g10/gpg.c:1630
 #, c-format
 msgid "WARNING: unsafe permissions on extension '%s'\n"
 msgstr "ADVARSEL: utrygge tillatelser til utvidelse «%s»\n"
 
-#: g10/gpg.c:1628
+#: g10/gpg.c:1636
 #, c-format
 msgid "WARNING: unsafe enclosing directory ownership on homedir '%s'\n"
 msgstr "ADVARSEL: utrgt eierskap til foreldermapper av hjemmemappe «%s»\n"
 
-#: g10/gpg.c:1631
+#: g10/gpg.c:1639
 #, c-format
 msgid ""
 "WARNING: unsafe enclosing directory ownership on configuration file '%s'\n"
 msgstr "ADVARSEL: utrgt eierskap til foreldermapper av oppsettsfil «%s»\n"
 
-#: g10/gpg.c:1634
+#: g10/gpg.c:1642
 #, c-format
 msgid "WARNING: unsafe enclosing directory ownership on extension '%s'\n"
 msgstr "ADVARSEL: utrgt eierskap til foreldermapper av utvidelse «%s»\n"
 
-#: g10/gpg.c:1640
+#: g10/gpg.c:1648
 #, c-format
 msgid "WARNING: unsafe enclosing directory permissions on homedir '%s'\n"
 msgstr "ADVARSEL: utrygge tillatelser til foreldermapper av hjemmemappe «%s»\n"
 
-#: g10/gpg.c:1643
+#: g10/gpg.c:1651
 #, c-format
 msgid ""
 "WARNING: unsafe enclosing directory permissions on configuration file '%s'\n"
 msgstr "ADVARSEL: utrygge tillatelser til foreldermapper av oppsettsfil «%s»\n"
 
-#: g10/gpg.c:1646
+#: g10/gpg.c:1654
 #, c-format
 msgid "WARNING: unsafe enclosing directory permissions on extension '%s'\n"
 msgstr "ADVARSEL: utrygge tillatelser til foreldermapper av utvidelse «%s»\n"
 
-#: g10/gpg.c:1862
+#: g10/gpg.c:1870
 #, c-format
 msgid "unknown configuration item '%s'\n"
 msgstr "oppsettselementet «%s» er ukjent\n"
 
-#: g10/gpg.c:1979
+#: g10/gpg.c:1992
 msgid "display photo IDs during key listings"
 msgstr "vis foto-id-er i nøkkelvisning"
 
-#: g10/gpg.c:1981
+#: g10/gpg.c:1994
 msgid "show key usage information during key listings"
 msgstr "vis informasjon om nøkkelbruk i nøkkelvisning"
 
-#: g10/gpg.c:1983
+#: g10/gpg.c:1996
 msgid "show policy URLs during signature listings"
 msgstr "vis regeladresser i signaturvisning"
 
-#: g10/gpg.c:1985
+#: g10/gpg.c:1998
 msgid "show all notations during signature listings"
 msgstr "vis alle notater i signaturvisning"
 
-#: g10/gpg.c:1987
+#: g10/gpg.c:2000
 msgid "show IETF standard notations during signature listings"
 msgstr "vis IETF-standardnotater under signaturvisning"
 
-#: g10/gpg.c:1991
+#: g10/gpg.c:2004
 msgid "show user-supplied notations during signature listings"
 msgstr "vis brukervalgte notater under signaturvisning"
 
-#: g10/gpg.c:1993
+#: g10/gpg.c:2006
 msgid "show preferred keyserver URLs during signature listings"
 msgstr "vis foretrukne nøkkeltjener-adresser under signaturvisning"
 
-#: g10/gpg.c:1995
+#: g10/gpg.c:2008
 msgid "show user ID validity during key listings"
 msgstr "vis gyldighet for bruker-ID under nøkkelvisning"
 
-#: g10/gpg.c:1997
+#: g10/gpg.c:2010
 msgid "show revoked and expired user IDs in key listings"
 msgstr "vis opphevede og utgåtte bruker-id-er i nøkkelvisning"
 
-#: g10/gpg.c:1999
+#: g10/gpg.c:2012
 msgid "show revoked and expired subkeys in key listings"
 msgstr "vis opphevede og utgåtte undernøkler i nøkkelvisning"
 
-#: g10/gpg.c:2001
+#: g10/gpg.c:2014
 msgid "show the keyring name in key listings"
 msgstr "vis nøkkelknippe-navn i nøkkelvisning"
 
-#: g10/gpg.c:2003
+#: g10/gpg.c:2016
 msgid "show expiration dates during signature listings"
 msgstr "vis utløpsdatoer i nøkkelvisning"
 
-#: g10/gpg.c:2118
+#: g10/gpg.c:2131
 #, c-format
 msgid "unknown TOFU policy '%s'\n"
 msgstr "«%s» er et ukjent TOFU-regelverk\n"
 
-#: g10/gpg.c:2120
+#: g10/gpg.c:2133
 #, c-format
 msgid "(use \"help\" to list choices)\n"
 msgstr "(bruk «help» for å vise valg)\n"
 
-#: g10/gpg.c:2840 g10/gpg.c:3671 g10/gpg.c:3683
+#: g10/gpg.c:2856 g10/gpg.c:3691 g10/gpg.c:3703
 #, c-format
 msgid "Note: %s is not for normal use!\n"
 msgstr "Merk: %s er ikke ment for vanlig bruk.\n"
 
-#: g10/gpg.c:3017 g10/gpg.c:3029
+#: g10/gpg.c:3033 g10/gpg.c:3045
 #, c-format
 msgid "'%s' is not a valid signature expiration\n"
 msgstr "«%s» er en ugyldig signatur-utløpstid\n"
 
-#: g10/gpg.c:3051
+#: g10/gpg.c:3067
 #, c-format
 msgid "\"%s\" is not a proper mail address\n"
 msgstr "«%s» er en ugyldig e-postadresse\n"
 
-#: g10/gpg.c:3083 sm/gpgsm.c:1177
+#: g10/gpg.c:3099 sm/gpgsm.c:1091
 #, c-format
 msgid "invalid pinentry mode '%s'\n"
 msgstr "PIN-inntastingsmodus «%s» er ugyldig\n"
 
-#: g10/gpg.c:3089 sm/gpgsm.c:1183
+#: g10/gpg.c:3105 sm/gpgsm.c:1097
 #, fuzzy, c-format
 #| msgid "invalid value for option '%s'\n"
 msgid "invalid request origin '%s'\n"
 msgstr "ugyldig verdi for valg «%s»\n"
 
-#: g10/gpg.c:3143
+#: g10/gpg.c:3159
 #, c-format
 msgid "'%s' is not a valid character set\n"
 msgstr "«%s» er ikke et gyldig tegnsett\n"
 
-#: g10/gpg.c:3165 g10/gpg.c:3375 g10/keyedit.c:5281
+#: g10/gpg.c:3181 g10/gpg.c:3395 g10/keyedit.c:5282
 #, c-format
 msgid "could not parse keyserver URL\n"
 msgstr "klarte ikke å tolke nøkkeltjener-adresse\n"
 
-#: g10/gpg.c:3183
+#: g10/gpg.c:3199
 #, c-format
 msgid "%s:%d: invalid keyserver options\n"
 msgstr "%s:%d: ugyldige nøkkeltjener-valg\n"
 
-#: g10/gpg.c:3186
+#: g10/gpg.c:3202
 #, c-format
 msgid "invalid keyserver options\n"
 msgstr "ugyldige nøkkeltjener-valg\n"
 
-#: g10/gpg.c:3193
+#: g10/gpg.c:3209
 #, c-format
 msgid "%s:%d: invalid import options\n"
 msgstr "%s:%d: ugyldige importeringsvalg\n"
 
-#: g10/gpg.c:3196
+#: g10/gpg.c:3212
 #, c-format
 msgid "invalid import options\n"
 msgstr "ugyldige importeringsvalg\n"
 
-#: g10/gpg.c:3202 g10/gpg.c:3217
+#: g10/gpg.c:3218 g10/gpg.c:3233
 #, c-format
 msgid "invalid filter option: %s\n"
 msgstr "filtervalget %s er ugyldig\n"
 
-#: g10/gpg.c:3208
+#: g10/gpg.c:3224
 #, c-format
 msgid "%s:%d: invalid export options\n"
 msgstr "%s:%d: ugyldige eksporteringsvalg\n"
 
-#: g10/gpg.c:3211
+#: g10/gpg.c:3227
 #, c-format
 msgid "invalid export options\n"
 msgstr "ugyldige eksporteringsvalg\n"
 
-#: g10/gpg.c:3223
+#: g10/gpg.c:3239
 #, c-format
 msgid "%s:%d: invalid list options\n"
 msgstr "%s:%d: ugyldige listevalg\n"
 
-#: g10/gpg.c:3226
+#: g10/gpg.c:3242
 #, c-format
 msgid "invalid list options\n"
 msgstr "ugyldige listevalg\n"
 
-#: g10/gpg.c:3234
+#: g10/gpg.c:3250
 msgid "display photo IDs during signature verification"
 msgstr "vis bruker-ID under signaturbekreftelse"
 
-#: g10/gpg.c:3236
+#: g10/gpg.c:3252
 msgid "show policy URLs during signature verification"
 msgstr "vis adresser til retningslinjer under signaturbekreftelse"
 
-#: g10/gpg.c:3238
+#: g10/gpg.c:3254
 msgid "show all notations during signature verification"
 msgstr "vis alle merknader under signaturbekreftelse"
 
-#: g10/gpg.c:3240
+#: g10/gpg.c:3256
 msgid "show IETF standard notations during signature verification"
 msgstr "vis IETF-standardnotater under signaturbekreftelse"
 
-#: g10/gpg.c:3244
+#: g10/gpg.c:3260
 msgid "show user-supplied notations during signature verification"
 msgstr "vis selvvalgte merknader under signaturbekreftelse"
 
-#: g10/gpg.c:3246
+#: g10/gpg.c:3262
 msgid "show preferred keyserver URLs during signature verification"
 msgstr "vis adresser til foretrukne nøkkeltjenere under signaturbekreftelse"
 
-#: g10/gpg.c:3248
+#: g10/gpg.c:3264
 msgid "show user ID validity during signature verification"
 msgstr "vis gyldighet for bruker-ID under signaturbekreftelse"
 
-#: g10/gpg.c:3250
+#: g10/gpg.c:3266
 msgid "show revoked and expired user IDs in signature verification"
 msgstr "vis opphevede og utgåtte bruker-id-er under signaturbekreftelse"
 
-#: g10/gpg.c:3252
+#: g10/gpg.c:3268
 msgid "show only the primary user ID in signature verification"
 msgstr "bare vis primærbrukerens ID under signaturbekreftelse"
 
-#: g10/gpg.c:3254
+#: g10/gpg.c:3270
 msgid "validate signatures with PKA data"
 msgstr "kontroller signaturer som har PKA-data"
 
-#: g10/gpg.c:3256
+#: g10/gpg.c:3272
 msgid "elevate the trust of signatures with valid PKA data"
 msgstr "øk tillitsnivå for signaturer med gyldige PKA-data"
 
-#: g10/gpg.c:3263
+#: g10/gpg.c:3279
 #, c-format
 msgid "%s:%d: invalid verify options\n"
 msgstr "%s:%d: ugyldige kontrollvalg\n"
 
-#: g10/gpg.c:3266
+#: g10/gpg.c:3282
 #, c-format
 msgid "invalid verify options\n"
 msgstr "ugyldige kontrollvalg\n"
 
-#: g10/gpg.c:3273
+#: g10/gpg.c:3289
 #, c-format
 msgid "unable to set exec-path to %s\n"
 msgstr "klarte ikke å endre «exec»-sti til %s\n"
 
-#: g10/gpg.c:3478
+#: g10/gpg.c:3498
 #, c-format
 msgid "%s:%d: invalid auto-key-locate list\n"
 msgstr "%s:%d: ugyldig «auto-key-locate»-liste\n"
 
-#: g10/gpg.c:3481
+#: g10/gpg.c:3501
 #, c-format
 msgid "invalid auto-key-locate list\n"
 msgstr "ugyldig «auto-key-locate»-liste\n"
 
-#: g10/gpg.c:3653 sm/gpgsm.c:1541
+#: g10/gpg.c:3673 sm/gpgsm.c:1441
 #, c-format
 msgid "WARNING: program may create a core file!\n"
 msgstr "ADVARSEL: programmet kan lage en kjernefil.\n"
 
-#: g10/gpg.c:3664
+#: g10/gpg.c:3684
 #, c-format
 msgid "WARNING: %s overrides %s\n"
 msgstr "ADVARSEL: %s overstyrere %s\n"
 
-#: g10/gpg.c:3673
+#: g10/gpg.c:3693
 #, c-format
 msgid "%s not allowed with %s!\n"
 msgstr "du kan ikke bruke %s med %s.\n"
 
-#: g10/gpg.c:3676
+#: g10/gpg.c:3696
 #, c-format
 msgid "%s makes no sense with %s!\n"
 msgstr "%s gir ikke mening med %s.\n"
 
-#: g10/gpg.c:3691 sm/gpgsm.c:1558 dirmngr/dirmngr.c:1082
+#: g10/gpg.c:3711 sm/gpgsm.c:1458 dirmngr/dirmngr.c:1117
 #, c-format
 msgid "WARNING: running with faked system time: "
 msgstr "ADVARSEL: kjører med falsk systemtid: "
 
-#: g10/gpg.c:3712
+#: g10/gpg.c:3732
 #, c-format
 msgid "will not run with insecure memory due to %s\n"
 msgstr "lar være å kjøre med usikret minne på grunn av %s\n"
 
-#: g10/gpg.c:3747 g10/gpg.c:3771 sm/gpgsm.c:1625
+#: g10/gpg.c:3767 g10/gpg.c:3791 sm/gpgsm.c:1525
 #, c-format
 msgid "selected cipher algorithm is invalid\n"
 msgstr "valgt krypteringsalgoritme er ugyldig\n"
 
-#: g10/gpg.c:3759
+#: g10/gpg.c:3779
 #, c-format
 msgid "selected compression algorithm is invalid\n"
 msgstr "valgt komprimeringsalgoritme er ugyldig\n"
 
-#: g10/gpg.c:3765
+#: g10/gpg.c:3785
 #, c-format
 msgid "selected certification digest algorithm is invalid\n"
 msgstr "valgt kontrollsum-algoritme for sertifisering er ugyldig\n"
 
-#: g10/gpg.c:3780
+#: g10/gpg.c:3800
 #, c-format
 msgid "completes-needed must be greater than 0\n"
 msgstr "«completes-needed» må være større enn 0\n"
 
-#: g10/gpg.c:3782
+#: g10/gpg.c:3802
 #, c-format
 msgid "marginals-needed must be greater than 1\n"
 msgstr "«marginals-needed» må være større enn 1\n"
 
-#: g10/gpg.c:3784
+#: g10/gpg.c:3804
 #, c-format
 msgid "max-cert-depth must be in the range from 1 to 255\n"
 msgstr "«max-cert-depth» må være mellom 1 og 255\n"
 
-#: g10/gpg.c:3786
+#: g10/gpg.c:3806
 #, c-format
 msgid "invalid default-cert-level; must be 0, 1, 2, or 3\n"
 msgstr "ugyldig «default-cert-level» (må være 0, 1, 2 eller 3)\n"
 
-#: g10/gpg.c:3788
+#: g10/gpg.c:3808
 #, c-format
 msgid "invalid min-cert-level; must be 1, 2, or 3\n"
 msgstr "ugyldig «min-cert-level» (må være 0, 1, 2 eller 3)\n"
 
-#: g10/gpg.c:3791
+#: g10/gpg.c:3812
 #, c-format
 msgid "Note: simple S2K mode (0) is strongly discouraged\n"
 msgstr "Merk: enkel S2K-modus (0) er sterkt frarådet\n"
 
-#: g10/gpg.c:3795
+#: g10/gpg.c:3816
 #, c-format
 msgid "invalid S2K mode; must be 0, 1 or 3\n"
 msgstr "ugyldig S2K-modus (må være 0, 1 eller 3)\n"
 
-#: g10/gpg.c:3802
+#: g10/gpg.c:3823
 #, c-format
 msgid "invalid default preferences\n"
 msgstr "ugyldig standardoppsett\n"
 
-#: g10/gpg.c:3806
+#: g10/gpg.c:3827
 #, c-format
 msgid "invalid personal cipher preferences\n"
 msgstr "ugyldig personlig oppsett av krypteringsmetode\n"
 
-#: g10/gpg.c:3810
+#: g10/gpg.c:3831
 #, c-format
 msgid "invalid personal digest preferences\n"
 msgstr "ugyldig personlig oppsett av kontrollsummetode\n"
 
-#: g10/gpg.c:3814
+#: g10/gpg.c:3835
 #, c-format
 msgid "invalid personal compress preferences\n"
 msgstr "ugyldig personlig oppsett av komprimeringsmetode\n"
 
-#: g10/gpg.c:3850
+#: g10/gpg.c:3871
 #, c-format
 msgid "%s does not yet work with %s\n"
 msgstr "%s virker ikke enda med %s\n"
 
-#: g10/gpg.c:3913
+#: g10/gpg.c:3934
 #, c-format
 msgid "compression algorithm '%s' may not be used in %s mode\n"
 msgstr "du kan ikke bruke komprimeringsalgoritme «%s» i %s-modus\n"
 
-#: g10/gpg.c:4057
+#: g10/gpg.c:4078
 #, c-format
 msgid "failed to initialize the TrustDB: %s\n"
 msgstr "klarte ikke å starte tillitsdatabase (TrustDB): %s\n"
 
-#: g10/gpg.c:4069
+#: g10/gpg.c:4090
 #, c-format
 msgid "WARNING: recipients (-r) given without using public key encryption\n"
 msgstr "ADVARSEL: mottakere (-r) valgt uten offentlig nøkkelkryptering\n"
 
-#: g10/gpg.c:4141
+#: g10/gpg.c:4162
 #, c-format
 msgid "symmetric encryption of '%s' failed: %s\n"
 msgstr "symmetrisk kryptering av «%s» mislyktes: %s\n"
 
-#: g10/gpg.c:4170
+#: g10/gpg.c:4191
 #, c-format
 msgid "you cannot use --symmetric --encrypt with --s2k-mode 0\n"
 msgstr "du kan ikke bruke «--symmetric --encrypt» og «--s2k-mode 0» samtidig\n"
 
-#: g10/gpg.c:4173
+#: g10/gpg.c:4194
 #, c-format
 msgid "you cannot use --symmetric --encrypt in %s mode\n"
 msgstr "du kan ikke velge --symmetric --encrypt i %s-modus\n"
 
-#: g10/gpg.c:4231
+#: g10/gpg.c:4252
 #, c-format
 msgid "you cannot use --symmetric --sign --encrypt with --s2k-mode 0\n"
 msgstr ""
 "du kan ikke bruke «--symmetric --sign --encrypt» og «--s2k-mode 0» samtidig\n"
 
-#: g10/gpg.c:4234
+#: g10/gpg.c:4255
 #, c-format
 msgid "you cannot use --symmetric --sign --encrypt in %s mode\n"
 msgstr "du kan ikke velge --symmetric --sign --encrypt i %s-modus\n"
 
-#: g10/gpg.c:4622 g10/keyserver.c:1881
+#: g10/gpg.c:4643 g10/keyserver.c:1648
 #, c-format
 msgid "keyserver send failed: %s\n"
 msgstr "sending til nøkkeltjener mislyktes: %s\n"
 
-#: g10/gpg.c:4627
+#: g10/gpg.c:4648
 #, c-format
 msgid "keyserver receive failed: %s\n"
 msgstr "mottak fra nøkkeltjener mislyktes: %s\n"
 
-#: g10/gpg.c:4633
+#: g10/gpg.c:4654
 #, c-format
 msgid "key export failed: %s\n"
 msgstr "nøkkeleksport mislyktes: %s\n"
 
-#: g10/gpg.c:4646
+#: g10/gpg.c:4667
 #, c-format
 msgid "export as ssh key failed: %s\n"
 msgstr "eksportering som ssh-nøkkel mislyktes: %s\n"
 
-#: g10/gpg.c:4658
+#: g10/gpg.c:4679
 #, c-format
 msgid "keyserver search failed: %s\n"
 msgstr "søk på nøkkeltjener mislyktes: %s\n"
 
-#: g10/gpg.c:4671
+#: g10/gpg.c:4692
 #, c-format
 msgid "keyserver refresh failed: %s\n"
 msgstr "oppdatering av nøkkeltjener mislyktes: %s\n"
 
-#: g10/gpg.c:4738
+#: g10/gpg.c:4759
 #, c-format
 msgid "dearmoring failed: %s\n"
 msgstr "dearmoring failed: %s\n"
 
-#: g10/gpg.c:4749
+#: g10/gpg.c:4770
 #, c-format
 msgid "enarmoring failed: %s\n"
 msgstr "enarmoring failed: %s\n"
 
-#: g10/gpg.c:4841
+#: g10/gpg.c:4862
 #, c-format
 msgid "invalid hash algorithm '%s'\n"
 msgstr "«%s» er en ugyldig summeringsalgoritme\n"
 
-#: g10/gpg.c:4993 g10/tofu.c:2153
+#: g10/gpg.c:5014 g10/tofu.c:2153
 #, c-format
 msgid "error parsing key specification '%s': %s\n"
 msgstr "feil under tolking av nøkkelspesifikasjon «%s»: %s\n"
 
-#: g10/gpg.c:5006
+#: g10/gpg.c:5027
 #, c-format
 msgid "'%s' does not appear to be a valid key ID, fingerprint or keygrip\n"
 msgstr ""
 "«%s» ser hverken ut til å være en gyldig nøkkel-ID, fingeravtrykk eller "
 "nøkkelgrep\n"
 
-#: g10/gpg.c:5062
+#: g10/gpg.c:5083
 #, c-format
 msgid "WARNING: no command supplied.  Trying to guess what you mean ...\n"
 msgstr "ADVARSEL: ingen kommando valgt. Prøver å gjette hva du mener …\n"
 
-#: g10/gpg.c:5073
+#: g10/gpg.c:5094
 #, c-format
 msgid "Go ahead and type your message ...\n"
 msgstr "Skriv inn melding …\n"
 
-#: g10/gpg.c:5418
+#: g10/gpg.c:5439
 #, c-format
 msgid "the given certification policy URL is invalid\n"
 msgstr "valgt adresse for sertifikasjonsregler er ugyldig\n"
 
-#: g10/gpg.c:5420
+#: g10/gpg.c:5441
 #, c-format
 msgid "the given signature policy URL is invalid\n"
 msgstr "valgt adresse for signaturregler er ugyldig\n"
 
-#: g10/gpg.c:5453
+#: g10/gpg.c:5474
 #, c-format
 msgid "the given preferred keyserver URL is invalid\n"
 msgstr "valgt adresse for foretrukket nøkkeltjener er ugyldig\n"
@@ -3282,7 +3300,7 @@ msgstr "|FIL|hent nøkler fra valgt nøkkelknippe-FIL"
 msgid "make timestamp conflicts only a warning"
 msgstr "la konflikter mellom tidsstempler bare være en advarsel"
 
-#: g10/gpgv.c:86 sm/gpgsm.c:354 tools/gpgconf.c:112
+#: g10/gpgv.c:86 sm/gpgsm.c:357 tools/gpgconf.c:112
 msgid "|FD|write status info to this FD"
 msgstr "|FD|skrive statusinfo til denne FD"
 
@@ -3359,97 +3377,97 @@ msgstr "forvent GnuPG-format på sikkerhetskopierte nøkler"
 msgid "repair keys on import"
 msgstr "reparer nøkler under importering"
 
-#: g10/import.c:380 g10/import.c:699
+#: g10/import.c:392 g10/import.c:711
 #, c-format
 msgid "skipping block of type %d\n"
 msgstr "hopper over blokk av typen %d\n"
 
-#: g10/import.c:716
+#: g10/import.c:728
 #, c-format
 msgid "%lu keys processed so far\n"
 msgstr "%lu nøkler behandlet hittil\n"
 
-#: g10/import.c:802
+#: g10/import.c:814
 #, c-format
 msgid "Total number processed: %lu\n"
 msgstr "Totalt antall behandlet: %lu\n"
 
-#: g10/import.c:805
+#: g10/import.c:817
 #, c-format
 msgid "    skipped PGP-2 keys: %lu\n"
 msgstr "    hopper over PGP 2-nøkler: %lu\n"
 
-#: g10/import.c:807
+#: g10/import.c:819
 #, c-format
 msgid "      skipped new keys: %lu\n"
 msgstr "      nye nøkler som ble hoppet over: %lu\n"
 
-#: g10/import.c:810
+#: g10/import.c:822
 #, c-format
 msgid "          w/o user IDs: %lu\n"
 msgstr "          uten bruker-id-er: %lu\n"
 
-#: g10/import.c:813 sm/import.c:130
+#: g10/import.c:825 sm/import.c:130
 #, c-format
 msgid "              imported: %lu"
 msgstr "              importert: %lu"
 
-#: g10/import.c:817 sm/import.c:134
+#: g10/import.c:829 sm/import.c:134
 #, c-format
 msgid "             unchanged: %lu\n"
 msgstr "             uendret: %lu\n"
 
-#: g10/import.c:819
+#: g10/import.c:831
 #, c-format
 msgid "          new user IDs: %lu\n"
 msgstr "          nye bruker-id-er: %lu\n"
 
-#: g10/import.c:821
+#: g10/import.c:833
 #, c-format
 msgid "           new subkeys: %lu\n"
 msgstr "           nye undernøkler: %lu\n"
 
-#: g10/import.c:823
+#: g10/import.c:835
 #, c-format
 msgid "        new signatures: %lu\n"
 msgstr "        nye signaturer: %lu\n"
 
-#: g10/import.c:825
+#: g10/import.c:837
 #, c-format
 msgid "   new key revocations: %lu\n"
 msgstr "   nye nøkkelopphevinger: %lu\n"
 
-#: g10/import.c:827 sm/import.c:136
+#: g10/import.c:839 sm/import.c:136
 #, c-format
 msgid "      secret keys read: %lu\n"
 msgstr "      leste hemmelige nøkler: %lu\n"
 
-#: g10/import.c:829 sm/import.c:138
+#: g10/import.c:841 sm/import.c:138
 #, c-format
 msgid "  secret keys imported: %lu\n"
 msgstr "  importerte hemmelige nøkler: %lu\n"
 
-#: g10/import.c:831 sm/import.c:140
+#: g10/import.c:843 sm/import.c:140
 #, c-format
 msgid " secret keys unchanged: %lu\n"
 msgstr " uforandrede hemmelige nøkler: %lu\n"
 
-#: g10/import.c:833 sm/import.c:142
+#: g10/import.c:845 sm/import.c:142
 #, c-format
 msgid "          not imported: %lu\n"
 msgstr "          ikke importert: %lu\n"
 
-#: g10/import.c:835
+#: g10/import.c:847
 #, c-format
 msgid "    signatures cleaned: %lu\n"
 msgstr "    oppryddete signaturer: %lu\n"
 
-#: g10/import.c:837
+#: g10/import.c:849
 #, c-format
 msgid "      user IDs cleaned: %lu\n"
 msgstr "      tømte bruker-id-er: %lu\n"
 
-#: g10/import.c:1264
+#: g10/import.c:1276
 #, c-format
 msgid ""
 "WARNING: key %s contains preferences for unavailable\n"
@@ -3458,169 +3476,169 @@ msgstr ""
 "ADVARSEL: nøkkelen %s inneholder innstillinger for\n"
 "utilgjengelige algoritmer på følgende bruker-id-er:\n"
 
-#: g10/import.c:1306
+#: g10/import.c:1318
 #, c-format
 msgid "         \"%s\": preference for cipher algorithm %s\n"
 msgstr "         «%s»: innstilling for krypteringsalgoritme %s\n"
 
-#: g10/import.c:1321
+#: g10/import.c:1333
 #, c-format
 msgid "         \"%s\": preference for digest algorithm %s\n"
 msgstr "         «%s»: oppsett for kontrollsum-algoritme %s\n"
 
-#: g10/import.c:1333
+#: g10/import.c:1345
 #, c-format
 msgid "         \"%s\": preference for compression algorithm %s\n"
 msgstr "         «%s»: oppsett av komprimeringsalgoritme %s\n"
 
-#: g10/import.c:1346
+#: g10/import.c:1358
 #, c-format
 msgid "it is strongly suggested that you update your preferences and\n"
 msgstr "du anbefales på det sterkeste å endre oppsett og\n"
 
-#: g10/import.c:1348
+#: g10/import.c:1360
 #, c-format
 msgid "re-distribute this key to avoid potential algorithm mismatch problems\n"
 msgstr ""
 "dele ut denne nøkkelen på nytt for å unngå potensielle problemer med "
 "algoritme-samsvar\n"
 
-#: g10/import.c:1373
+#: g10/import.c:1385
 #, c-format
 msgid "you can update your preferences with: gpg --edit-key %s updpref save\n"
 msgstr ""
 "oppdater oppsettet med følgende kommando: gpg --edit-key %s updpref save\n"
 
-#: g10/import.c:1887 g10/import.c:3001
+#: g10/import.c:1899 g10/import.c:3013
 #, c-format
 msgid "key %s: no user ID\n"
 msgstr "nøkkel %s: ingen bruker-ID\n"
 
-#: g10/import.c:1893
+#: g10/import.c:1905
 #, c-format
 msgid "key %s: %s\n"
 msgstr "nøkkel %s: %s\n"
 
-#: g10/import.c:1894 g10/import.c:2973
+#: g10/import.c:1906 g10/import.c:2985
 msgid "rejected by import screener"
 msgstr "avvist av importeringskontrollør"
 
-#: g10/import.c:1938
+#: g10/import.c:1950
 #, c-format
 msgid "key %s: PKS subkey corruption repaired\n"
 msgstr "nøkkel %s: PKS-undernøkkel reparert\n"
 
-#: g10/import.c:1959
+#: g10/import.c:1971
 #, c-format
 msgid "key %s: accepted non self-signed user ID \"%s\"\n"
 msgstr "nøkkel %s: akseptert ikke-selvsignert bruker-ID «%s»\n"
 
-#: g10/import.c:1969 g10/import.c:2000
+#: g10/import.c:1981 g10/import.c:2012
 #, c-format
 msgid "key %s: no valid user IDs\n"
 msgstr "nøkkel %s: ingen gyldig bruker-id-er\n"
 
-#: g10/import.c:1971
+#: g10/import.c:1983
 #, c-format
 msgid "this may be caused by a missing self-signature\n"
 msgstr "dette kan skyldes manglende selvsignatur\n"
 
-#: g10/import.c:2050 g10/import.c:3387
+#: g10/import.c:2062 g10/import.c:3399
 #, c-format
 msgid "key %s: public key not found: %s\n"
 msgstr "nøkkel %s: fant ikke offentlig nøkkel: %s\n"
 
-#: g10/import.c:2056
+#: g10/import.c:2068
 #, c-format
 msgid "key %s: new key - skipped\n"
 msgstr "nøkkel %s: ny nøkkel. Hoppet over\n"
 
-#: g10/import.c:2068
+#: g10/import.c:2080
 #, c-format
 msgid "no writable keyring found: %s\n"
 msgstr "fant ikke skrivbart nøkkelknippe: %s\n"
 
-#: g10/import.c:2100 g10/import.c:2202 g10/import.c:3464
+#: g10/import.c:2112 g10/import.c:2214 g10/import.c:3476
 #, c-format
 msgid "error writing keyring '%s': %s\n"
 msgstr "feil under skriving av nøkkelknippe «%s»: %s\n"
 
-#: g10/import.c:2123
+#: g10/import.c:2135
 #, c-format
 msgid "key %s: public key \"%s\" imported\n"
 msgstr "nøkkel %s: offentlig nøkkel «%s» importert\n"
 
-#: g10/import.c:2150
+#: g10/import.c:2162
 #, c-format
 msgid "key %s: doesn't match our copy\n"
 msgstr "nøkkel %s: stemmer ikke med vår kopi\n"
 
-#: g10/import.c:2218
+#: g10/import.c:2230
 #, c-format
 msgid "key %s: \"%s\" 1 new user ID\n"
 msgstr "nøkkel %s: «%s» 1 ny bruker-ID\n"
 
-#: g10/import.c:2221
+#: g10/import.c:2233
 #, c-format
 msgid "key %s: \"%s\" %d new user IDs\n"
 msgstr "nøkkel %s: «%s» %d nye bruker-id-er\n"
 
-#: g10/import.c:2224
+#: g10/import.c:2236
 #, c-format
 msgid "key %s: \"%s\" 1 new signature\n"
 msgstr "nøkkel %s: «%s» 1 ny signatur\n"
 
-#: g10/import.c:2227
+#: g10/import.c:2239
 #, c-format
 msgid "key %s: \"%s\" %d new signatures\n"
 msgstr "nøkkel: %s: «%s» %d nye signaturer\n"
 
-#: g10/import.c:2230
+#: g10/import.c:2242
 #, c-format
 msgid "key %s: \"%s\" 1 new subkey\n"
 msgstr "nøkkel %s: «%s» 1 ny undernøkkel\n"
 
-#: g10/import.c:2233
+#: g10/import.c:2245
 #, c-format
 msgid "key %s: \"%s\" %d new subkeys\n"
 msgstr "nøkkel %s: «%s» %d nye undernøkler\n"
 
-#: g10/import.c:2236
+#: g10/import.c:2248
 #, c-format
 msgid "key %s: \"%s\" %d signature cleaned\n"
 msgstr "nøkkel: %s: «%s» %d nye signaturer\n"
 
-#: g10/import.c:2239
+#: g10/import.c:2251
 #, c-format
 msgid "key %s: \"%s\" %d signatures cleaned\n"
 msgstr "nøkkel: %s: «%s» %d nye signaturer\n"
 
-#: g10/import.c:2242
+#: g10/import.c:2254
 #, c-format
 msgid "key %s: \"%s\" %d user ID cleaned\n"
 msgstr "nøkkel %s: «%s» %d nye bruker-id-er\n"
 
-#: g10/import.c:2245
+#: g10/import.c:2257
 #, c-format
 msgid "key %s: \"%s\" %d user IDs cleaned\n"
 msgstr "nøkkel %s: «%s» %d nye bruker-id-er\n"
 
-#: g10/import.c:2281
+#: g10/import.c:2293
 #, c-format
 msgid "key %s: \"%s\" not changed\n"
 msgstr "nøkkel %s: «%s» ikke endret\n"
 
-#: g10/import.c:2640 g10/import.c:2835
+#: g10/import.c:2652 g10/import.c:2847
 #, c-format
 msgid "key %s: secret key imported\n"
 msgstr "nøkkel %s: hemmelig nøkkel importert\n"
 
-#: g10/import.c:2648
+#: g10/import.c:2660
 #, c-format
 msgid "key %s: secret key already exists\n"
 msgstr "nøkkel %s: hemmelig nøkkel finnes allerede\n"
 
-#: g10/import.c:2656
+#: g10/import.c:2668
 #, c-format
 msgid "key %s: error sending to agent: %s\n"
 msgstr "nøkkel %s: feil under sending til agent: %s\n"
@@ -3633,197 +3651,197 @@ msgstr "nøkkel %s: feil under sending til agent: %s\n"
 #. * Instead, user should be suggested to run 'gpg --card-status',
 #. * then, references to a card will be automatically created
 #. * again.
-#: g10/import.c:2825
+#: g10/import.c:2837
 #, c-format
 msgid "To migrate '%s', with each smartcard, run: %s\n"
 msgstr "Kjør følgende kommando for å flytte «%s»: %s\n"
 
-#: g10/import.c:2972
+#: g10/import.c:2984
 #, c-format
 msgid "secret key %s: %s\n"
 msgstr "hemmelig nøkkel %s: %s\n"
 
-#: g10/import.c:2993 g10/import.c:3032
+#: g10/import.c:3005 g10/import.c:3044
 #, c-format
 msgid "importing secret keys not allowed\n"
 msgstr "importering av hemmelig nøkkel er ikke tillatt\n"
 
-#: g10/import.c:3020
+#: g10/import.c:3032
 #, c-format
 msgid "key %s: secret key with invalid cipher %d - skipped\n"
 msgstr ""
 "nøkkel %s: hemmelig nøkkel med ugyldig krypteringsmetode %d - hoppet over\n"
 
-#: g10/import.c:3182 g10/pkclist.c:72 g10/revoke.c:776
+#: g10/import.c:3194 g10/pkclist.c:72 g10/revoke.c:776
 msgid "No reason specified"
 msgstr "Ingen grunn oppgitt"
 
-#: g10/import.c:3183 g10/pkclist.c:74 g10/revoke.c:778
+#: g10/import.c:3195 g10/pkclist.c:74 g10/revoke.c:778
 msgid "Key is superseded"
 msgstr "Nøkkelen er overgått"
 
-#: g10/import.c:3184 g10/pkclist.c:76 g10/revoke.c:777
+#: g10/import.c:3196 g10/pkclist.c:76 g10/revoke.c:777
 msgid "Key has been compromised"
 msgstr "Nøkkelen har blitt kompromittert"
 
-#: g10/import.c:3185 g10/pkclist.c:78 g10/revoke.c:779
+#: g10/import.c:3197 g10/pkclist.c:78 g10/revoke.c:779
 msgid "Key is no longer used"
 msgstr "Nøkkelen er ikke lengre i bruk"
 
-#: g10/import.c:3186 g10/pkclist.c:80 g10/revoke.c:780
+#: g10/import.c:3198 g10/pkclist.c:80 g10/revoke.c:780
 msgid "User ID is no longer valid"
 msgstr "Bruker-ID er ikke lenger gyldig"
 
-#: g10/import.c:3311 g10/keylist.c:1254 g10/pkclist.c:84
+#: g10/import.c:3323 g10/keylist.c:1254 g10/pkclist.c:84
 #, c-format
 msgid "reason for revocation: "
 msgstr "grunnen for opphevelse: "
 
-#: g10/import.c:3330 g10/keylist.c:1273 g10/pkclist.c:100
+#: g10/import.c:3342 g10/keylist.c:1273 g10/pkclist.c:100
 #, c-format
 msgid "revocation comment: "
 msgstr "kommentar til opphevelse: "
 
-#: g10/import.c:3380
+#: g10/import.c:3392
 #, c-format
 msgid "key %s: no public key - can't apply revocation certificate\n"
 msgstr ""
 "nøkkel %s: offentlig nøkkel mangler. Klarte ikke å bruke "
 "opphevelsessertifikat\n"
 
-#: g10/import.c:3411
+#: g10/import.c:3423
 #, c-format
 msgid "key %s: can't locate original keyblock: %s\n"
 msgstr "nøkkel %s: finner ikke original nøkkelblokk: %s\n"
 
-#: g10/import.c:3418
+#: g10/import.c:3430
 #, c-format
 msgid "key %s: can't read original keyblock: %s\n"
 msgstr "nøkkel %s: klarte ikke å lese opprinnelig nøkkelblokk: %s\n"
 
-#: g10/import.c:3438
+#: g10/import.c:3450
 #, c-format
 msgid "key %s: invalid revocation certificate: %s - rejected\n"
 msgstr "nøkkel %s: ugyldig opphevingssertifikat: %s - avvist\n"
 
-#: g10/import.c:3473
+#: g10/import.c:3485
 #, c-format
 msgid "key %s: \"%s\" revocation certificate imported\n"
 msgstr "nøkkel %s: «%s» opphevingssertifikat importert\n"
 
-#: g10/import.c:3559
+#: g10/import.c:3571
 #, c-format
 msgid "key %s: no user ID for signature\n"
 msgstr "nøkkel %s: ingen bruker-ID for signatur\n"
 
-#: g10/import.c:3576
+#: g10/import.c:3588
 #, c-format
 msgid "key %s: unsupported public key algorithm on user ID \"%s\"\n"
 msgstr ""
 "nøkkel %s: offentlig nøkkelalgoritme for bruker-ID («%s») støttes ikke\n"
 
-#: g10/import.c:3578
+#: g10/import.c:3590
 #, c-format
 msgid "key %s: invalid self-signature on user ID \"%s\"\n"
 msgstr "nøkkel %s: ugyldig selvsignatur for bruker-ID «%s»\n"
 
-#: g10/import.c:3595 g10/import.c:3623 g10/import.c:3679
+#: g10/import.c:3607 g10/import.c:3635 g10/import.c:3691
 #, c-format
 msgid "key %s: unsupported public key algorithm\n"
 msgstr "nøkkel %s: ustøttet offentlig nøkkelalgoritme\n"
 
-#: g10/import.c:3596
+#: g10/import.c:3608
 #, c-format
 msgid "key %s: invalid direct key signature\n"
 msgstr "nøkkel %s: ugyldig direkte nøkkelsignatur\n"
 
-#: g10/import.c:3610
+#: g10/import.c:3622
 #, c-format
 msgid "key %s: no subkey for key binding\n"
 msgstr "nøkkel %s: ingen undernøkkel for nøkkelbinding\n"
 
-#: g10/import.c:3625
+#: g10/import.c:3637
 #, c-format
 msgid "key %s: invalid subkey binding\n"
 msgstr "nøkkel %s: ugyldig undernøkkelbinding\n"
 
-#: g10/import.c:3644
+#: g10/import.c:3656
 #, c-format
 msgid "key %s: removed multiple subkey binding\n"
 msgstr "nøkkel %s: fjernet flere undernøkkelbindinger\n"
 
-#: g10/import.c:3668
+#: g10/import.c:3680
 #, c-format
 msgid "key %s: no subkey for key revocation\n"
 msgstr "nøkkel %s: ingen undernøkkel for nøkkeloppheving\n"
 
-#: g10/import.c:3681
+#: g10/import.c:3693
 #, c-format
 msgid "key %s: invalid subkey revocation\n"
 msgstr "nøkkel %s: ugyldig undernøkkeloppheving\n"
 
-#: g10/import.c:3696
+#: g10/import.c:3708
 #, c-format
 msgid "key %s: removed multiple subkey revocation\n"
 msgstr "nøkkel %s: fjernet flere undernøkkelopphevinger\n"
 
-#: g10/import.c:3740
+#: g10/import.c:3752
 #, c-format
 msgid "key %s: skipped user ID \"%s\"\n"
 msgstr "nøkkel %s: hoppet over bruker-ID «%s»\n"
 
-#: g10/import.c:3767
+#: g10/import.c:3779
 #, c-format
 msgid "key %s: skipped subkey\n"
 msgstr "nøkkel %s: hoppet over undernøkkel\n"
 
-#: g10/import.c:3798
+#: g10/import.c:3810
 #, c-format
 msgid "key %s: non exportable signature (class 0x%02X) - skipped\n"
 msgstr "nøkkel %s: ikke-eksporterbar signatur (klasse 0x%02X) - hoppet over\n"
 
-#: g10/import.c:3809
+#: g10/import.c:3821
 #, c-format
 msgid "key %s: revocation certificate at wrong place - skipped\n"
 msgstr "nøkkel %s: opphevingssertifikat på feil plass - hoppet over\n"
 
-#: g10/import.c:3827
+#: g10/import.c:3839
 #, c-format
 msgid "key %s: invalid revocation certificate: %s - skipped\n"
 msgstr "nøkkel %s: ugyldig opphevingssertifikat: %s - hoppet over\n"
 
-#: g10/import.c:3841
+#: g10/import.c:3853
 #, c-format
 msgid "key %s: subkey signature in wrong place - skipped\n"
 msgstr "nøkkel %s: undernøkkelsignatur på feil plass - hoppet over\n"
 
-#: g10/import.c:3849
+#: g10/import.c:3861
 #, c-format
 msgid "key %s: unexpected signature class (0x%02X) - skipped\n"
 msgstr "nøkkel %s: uforventet signaturklasse (0x%02X) - hoppet over\n"
 
-#: g10/import.c:4022
+#: g10/import.c:4034
 #, c-format
 msgid "key %s: duplicated user ID detected - merged\n"
 msgstr "nøkkel %s: oppdaget duplisert bruker-ID. Slått sammen\n"
 
-#: g10/import.c:4087
+#: g10/import.c:4099
 #, c-format
 msgid "WARNING: key %s may be revoked: fetching revocation key %s\n"
 msgstr "ADVARSEL: nøkkel %s kan være opphevet: henter opphevingsnøkkel %s\n"
 
-#: g10/import.c:4103
+#: g10/import.c:4115
 #, c-format
 msgid "WARNING: key %s may be revoked: revocation key %s not present.\n"
 msgstr ""
 "ADVARSEL: nøkkel %s kan være opphevet: opphevingsnøkkel %s ikke tilstede.\n"
 
-#: g10/import.c:4169
+#: g10/import.c:4181
 #, c-format
 msgid "key %s: \"%s\" revocation certificate added\n"
 msgstr "nøkkel %s: «%s» opphevingssertifikat lagt til\n"
 
-#: g10/import.c:4207
+#: g10/import.c:4219
 #, c-format
 msgid "key %s: direct key signature added\n"
 msgstr "nøkkel %s: direkte nøkkelsignatur lagt til\n"
@@ -3895,7 +3913,7 @@ msgstr ""
 "Advarsel: fant feil og kontrollerte bare selvsignaturer. Kjør «%s» for å "
 "kontrollere alle signaturer.\n"
 
-#: g10/keydb.c:431 g10/keydb.c:458 sm/keydb.c:191 sm/keydb.c:204
+#: g10/keydb.c:431 g10/keydb.c:458 sm/keydb.c:190 sm/keydb.c:203
 #, c-format
 msgid "error creating keybox '%s': %s\n"
 msgstr "feil under opprettelse av nøkkelskrin «%s»: %s\n"
@@ -3905,7 +3923,7 @@ msgstr "feil under opprettelse av nøkkelskrin «%s»: %s\n"
 msgid "error creating keyring '%s': %s\n"
 msgstr "feil under opprettelse av nøkkelknippe «%s»: %s\n"
 
-#: g10/keydb.c:470 sm/keydb.c:210
+#: g10/keydb.c:470 sm/keydb.c:209
 #, c-format
 msgid "keybox '%s' created\n"
 msgstr "nøkkelskrin «%s» er opprettet\n"
@@ -3985,13 +4003,13 @@ msgstr "Hopper over bruker-ID «%s», som ikke er en tekst-iD.\n"
 msgid "User ID \"%s\" is revoked."
 msgstr "Bruker-ID «%s» er opphevet."
 
-#: g10/keyedit.c:569 g10/keyedit.c:597 g10/keyedit.c:624 g10/keyedit.c:808
-#: g10/keyedit.c:1655
+#: g10/keyedit.c:569 g10/keyedit.c:597 g10/keyedit.c:624 g10/keyedit.c:809
+#: g10/keyedit.c:1656
 msgid "Are you sure you still want to sign it? (y/N) "
 msgstr "Er du sikker på at du vil signerere den? (j/N) "
 
-#: g10/keyedit.c:583 g10/keyedit.c:611 g10/keyedit.c:638 g10/keyedit.c:814
-#: g10/keyedit.c:1660 g10/keyedit.c:2667
+#: g10/keyedit.c:583 g10/keyedit.c:611 g10/keyedit.c:638 g10/keyedit.c:815
+#: g10/keyedit.c:1661 g10/keyedit.c:2668
 msgid "  Unable to sign.\n"
 msgstr "  Klarte ikke å signere.\n"
 
@@ -4063,29 +4081,29 @@ msgstr "«%s» var allerede lokalt signert med nøkkelen %s\n"
 msgid "\"%s\" was already signed by key %s\n"
 msgstr "«%s» var allerede signert med nøkkelen %s\n"
 
-#: g10/keyedit.c:756
+#: g10/keyedit.c:757
 msgid "Do you want to sign it again anyway? (y/N) "
 msgstr "Vil du signere den på nytt likevel? (j/N) "
 
-#: g10/keyedit.c:778
+#: g10/keyedit.c:779
 #, c-format
 msgid "Nothing to sign with key %s\n"
 msgstr "Ingenting å signere med nøkkelen %s\n"
 
-#: g10/keyedit.c:802
+#: g10/keyedit.c:803
 msgid "This key has expired!"
 msgstr "Denne nøkkelen er utgått."
 
-#: g10/keyedit.c:820
+#: g10/keyedit.c:821
 #, c-format
 msgid "This key is due to expire on %s.\n"
 msgstr "Denne nøkkelen utgår %s.\n"
 
-#: g10/keyedit.c:826
+#: g10/keyedit.c:827
 msgid "Do you want your signature to expire at the same time? (Y/n) "
 msgstr "Vil du at signaturen skal utgå på samme tidspunkt? (J/n) "
 
-#: g10/keyedit.c:867
+#: g10/keyedit.c:868
 msgid ""
 "How carefully have you verified the key you are about to sign actually "
 "belongs\n"
@@ -4095,31 +4113,31 @@ msgstr ""
 "tilhører den overnevnte personen? Skriv «0» hvis du ikke vet\n"
 "svaret.\n"
 
-#: g10/keyedit.c:872
+#: g10/keyedit.c:873
 #, c-format
 msgid "   (0) I will not answer.%s\n"
 msgstr "   (0) Jeg vil ikke svare.%s\n"
 
-#: g10/keyedit.c:874
+#: g10/keyedit.c:875
 #, c-format
 msgid "   (1) I have not checked at all.%s\n"
 msgstr "   (1) Jeg har ikke sjekket i det hele tatt.%s\n"
 
-#: g10/keyedit.c:876
+#: g10/keyedit.c:877
 #, c-format
 msgid "   (2) I have done casual checking.%s\n"
 msgstr "   (2) Jeg har gjort en vanlig sjekk.%s\n"
 
-#: g10/keyedit.c:879
+#: g10/keyedit.c:880
 #, c-format
 msgid "   (3) I have done very careful checking.%s\n"
 msgstr "   (3) Jeg har sjekket veldig nøye.%s\n"
 
-#: g10/keyedit.c:886
+#: g10/keyedit.c:887
 msgid "Your selection? (enter '?' for more information): "
 msgstr "Hva velger du? (skriv «?» for mer informasjon): "
 
-#: g10/keyedit.c:913
+#: g10/keyedit.c:914
 #, c-format
 msgid ""
 "Are you sure that you want to sign this key with your\n"
@@ -4128,230 +4146,230 @@ msgstr ""
 "Er du sikker på at du vil signerere denne nøkkelen med\n"
 "nøkkelen «%s» (%s)\n"
 
-#: g10/keyedit.c:921
+#: g10/keyedit.c:922
 msgid "This will be a self-signature.\n"
 msgstr "Dette skal være en selvsignatur.\n"
 
-#: g10/keyedit.c:926
+#: g10/keyedit.c:927
 msgid "WARNING: the signature will not be marked as non-exportable.\n"
 msgstr "ADVARSEL: signaturen blir ikke markert som ikke-eksporterbar.\n"
 
-#: g10/keyedit.c:933
+#: g10/keyedit.c:934
 msgid "WARNING: the signature will not be marked as non-revocable.\n"
 msgstr "ADVARSEL: signaturen blir ikke markert som ikke-opphevbar.\n"
 
-#: g10/keyedit.c:943
+#: g10/keyedit.c:944
 msgid "The signature will be marked as non-exportable.\n"
 msgstr "Signaturen blir markert som ikke-eksporterbar.\n"
 
-#: g10/keyedit.c:950
+#: g10/keyedit.c:951
 msgid "The signature will be marked as non-revocable.\n"
 msgstr "Signaturen blir markert som ikke-opphevbar.\n"
 
-#: g10/keyedit.c:957
+#: g10/keyedit.c:958
 msgid "I have not checked this key at all.\n"
 msgstr "Jeg har ikke sjekket denne nøkkelen i det hele tatt.\n"
 
-#: g10/keyedit.c:962
+#: g10/keyedit.c:963
 msgid "I have checked this key casually.\n"
 msgstr "Jeg har sjekket denne nøkkelen på vanlig måte.\n"
 
-#: g10/keyedit.c:967
+#: g10/keyedit.c:968
 msgid "I have checked this key very carefully.\n"
 msgstr "Jeg har sjekket denne nøkkelen veldig nøye.\n"
 
-#: g10/keyedit.c:979
+#: g10/keyedit.c:980
 msgid "Really sign? (y/N) "
 msgstr "Er du sikker på at du vil signere? (j/N) "
 
-#: g10/keyedit.c:1030 g10/keyedit.c:6154 g10/keyedit.c:6237 g10/keyedit.c:6366
-#: g10/keyedit.c:6428 g10/sign.c:466
+#: g10/keyedit.c:1031 g10/keyedit.c:6155 g10/keyedit.c:6238 g10/keyedit.c:6367
+#: g10/keyedit.c:6429 g10/sign.c:466
 #, c-format
 msgid "signing failed: %s\n"
 msgstr "signering mislyktes: %s\n"
 
-#: g10/keyedit.c:1117
+#: g10/keyedit.c:1118
 msgid "Key has only stub or on-card key items - no passphrase to change.\n"
 msgstr ""
 "Nøkkelen har bare stubbe- eller kortnøkkel-elementer. Ingen passordfrase å "
 "endre.\n"
 
-#: g10/keyedit.c:1149
+#: g10/keyedit.c:1150
 #, c-format
 msgid "key %s: error changing passphrase: %s\n"
 msgstr "nøkkel %s: feil under endring av passordfrase: %s\n"
 
-#: g10/keyedit.c:1261
+#: g10/keyedit.c:1262
 msgid "save and quit"
 msgstr "lagre og avslutte"
 
-#: g10/keyedit.c:1264
+#: g10/keyedit.c:1265
 msgid "show key fingerprint"
 msgstr "vise nøkkelens fingeravtrykk"
 
-#: g10/keyedit.c:1265
+#: g10/keyedit.c:1266
 msgid "show the keygrip"
 msgstr "vis nøkkelgrep"
 
-#: g10/keyedit.c:1266
+#: g10/keyedit.c:1267
 msgid "list key and user IDs"
 msgstr "vis nøkler og bruker-id-er"
 
-#: g10/keyedit.c:1268
+#: g10/keyedit.c:1269
 msgid "select user ID N"
 msgstr "velger bruker-ID N"
 
-#: g10/keyedit.c:1269
+#: g10/keyedit.c:1270
 msgid "select subkey N"
 msgstr "velger bruker-ID N"
 
-#: g10/keyedit.c:1270
+#: g10/keyedit.c:1271
 msgid "check signatures"
 msgstr "sjekke signaturer"
 
-#: g10/keyedit.c:1276
+#: g10/keyedit.c:1277
 msgid "sign selected user IDs [* see below for related commands]"
 msgstr "signer valgte bruker-id-er [* se nedenfor for relevante kommandoer]"
 
-#: g10/keyedit.c:1281
+#: g10/keyedit.c:1282
 msgid "sign selected user IDs locally"
 msgstr "signerer valgte bruker-id-er lokalt"
 
-#: g10/keyedit.c:1282
+#: g10/keyedit.c:1283
 msgid "sign selected user IDs with a trust signature"
 msgstr "signer valgte bruker-id-er med tillitssignatur"
 
-#: g10/keyedit.c:1284
+#: g10/keyedit.c:1285
 msgid "sign selected user IDs with a non-revocable signature"
 msgstr ""
 "signer valgte bruker-id-er med en signatur som ikke kan trekkes tilbake"
 
-#: g10/keyedit.c:1286
+#: g10/keyedit.c:1287
 msgid "add a user ID"
 msgstr "legg til bruker-ID"
 
-#: g10/keyedit.c:1288
+#: g10/keyedit.c:1289
 msgid "add a photo ID"
 msgstr "legg til foto-ID"
 
-#: g10/keyedit.c:1289
+#: g10/keyedit.c:1290
 msgid "delete selected user IDs"
 msgstr "slett valgte bruker-id-er"
 
-#: g10/keyedit.c:1292
+#: g10/keyedit.c:1293
 msgid "add a subkey"
 msgstr "legg til undernøkkel"
 
-#: g10/keyedit.c:1295
+#: g10/keyedit.c:1296
 msgid "add a key to a smartcard"
 msgstr "legg til nøkkel på et smartkort"
 
-#: g10/keyedit.c:1297
+#: g10/keyedit.c:1298
 msgid "move a key to a smartcard"
 msgstr "flytt nøkkel til et smartkort"
 
-#: g10/keyedit.c:1299
+#: g10/keyedit.c:1300
 msgid "move a backup key to a smartcard"
 msgstr "flytt en sikkerhetskopi-nøkkel til et smartkort"
 
-#: g10/keyedit.c:1301
+#: g10/keyedit.c:1302
 msgid "delete selected subkeys"
 msgstr "slett valgte undernøkler"
 
-#: g10/keyedit.c:1303
+#: g10/keyedit.c:1304
 msgid "add a revocation key"
 msgstr "legg til opphevingsnøkkel"
 
-#: g10/keyedit.c:1305
+#: g10/keyedit.c:1306
 msgid "delete signatures from the selected user IDs"
 msgstr "slett signaturer fra valgte bruker-id-er"
 
-#: g10/keyedit.c:1307
+#: g10/keyedit.c:1308
 msgid "change the expiration date for the key or selected subkeys"
 msgstr "endre utløpsdato for nøkkelen eller valgte undernøkler"
 
-#: g10/keyedit.c:1309
+#: g10/keyedit.c:1310
 msgid "flag the selected user ID as primary"
 msgstr "marker valgt bruker-ID som primær"
 
-#: g10/keyedit.c:1312
+#: g10/keyedit.c:1313
 msgid "list preferences (expert)"
 msgstr "vis innstillinger (avansert)"
 
-#: g10/keyedit.c:1313
+#: g10/keyedit.c:1314
 msgid "list preferences (verbose)"
 msgstr "vis innstillinger (detaljert)"
 
-#: g10/keyedit.c:1315
+#: g10/keyedit.c:1316
 msgid "set preference list for the selected user IDs"
 msgstr "velg oppsettsliste for valgte bruker-id-er"
 
-#: g10/keyedit.c:1318
+#: g10/keyedit.c:1319
 msgid "set the preferred keyserver URL for the selected user IDs"
 msgstr "endre adresse til foretrukket nøkkeltjener for valgte bruker-id-er"
 
-#: g10/keyedit.c:1320
+#: g10/keyedit.c:1321
 msgid "set a notation for the selected user IDs"
 msgstr "endre notat for valgte bruker-id-er"
 
-#: g10/keyedit.c:1322
+#: g10/keyedit.c:1323
 msgid "change the passphrase"
 msgstr "endre passordfrase"
 
-#: g10/keyedit.c:1325
+#: g10/keyedit.c:1326
 msgid "change the ownertrust"
 msgstr "endre eiertillit"
 
-#: g10/keyedit.c:1328
+#: g10/keyedit.c:1329
 msgid "revoke signatures on the selected user IDs"
 msgstr "opphev signaturer på valgte bruker-id-er"
 
-#: g10/keyedit.c:1330
+#: g10/keyedit.c:1331
 msgid "revoke selected user IDs"
 msgstr "opphev valgte bruker-id-er"
 
-#: g10/keyedit.c:1333
+#: g10/keyedit.c:1334
 msgid "revoke key or selected subkeys"
 msgstr "opphev nøkkel eller valgte undernøkler"
 
-#: g10/keyedit.c:1335
+#: g10/keyedit.c:1336
 msgid "enable key"
 msgstr "ta nøkkel i bruk"
 
-#: g10/keyedit.c:1336
+#: g10/keyedit.c:1337
 msgid "disable key"
 msgstr "ta nøkkel ut av bruk"
 
-#: g10/keyedit.c:1338
+#: g10/keyedit.c:1339
 msgid "show selected photo IDs"
 msgstr "vis valgte foto-id-er"
 
-#: g10/keyedit.c:1340
+#: g10/keyedit.c:1341
 msgid "compact unusable user IDs and remove unusable signatures from key"
 msgstr ""
 "pakkk sammen ubrukelige bruker-id-er og fjern ubrukelige signaturer fra "
 "nøkkel"
 
-#: g10/keyedit.c:1342
+#: g10/keyedit.c:1343
 msgid "compact unusable user IDs and remove all signatures from key"
 msgstr ""
 "pakkk sammen ubrukelige bruker-id-er og fjern alle signaturer fra nøkkel"
 
-#: g10/keyedit.c:1463
+#: g10/keyedit.c:1464
 msgid "Secret key is available.\n"
 msgstr "Hemmelig nøkkel er tilgjengelig.\n"
 
-#: g10/keyedit.c:1465
+#: g10/keyedit.c:1466
 #, fuzzy
 #| msgid "Secret key is available.\n"
 msgid "Secret subkeys are available.\n"
 msgstr "Hemmelig nøkkel er tilgjengelig.\n"
 
-#: g10/keyedit.c:1567
+#: g10/keyedit.c:1568
 msgid "Need the secret key to do this.\n"
 msgstr "Du trenger tilhørende hemmelig nøkkel for å gjøre dette.\n"
 
-#: g10/keyedit.c:1590
+#: g10/keyedit.c:1591
 msgid ""
 "* The 'sign' command may be prefixed with an 'l' for local signatures "
 "(lsign),\n"
@@ -4365,291 +4383,291 @@ msgstr ""
 "  (nrsign), eller hvilken som helst kombinasjon av disse (ltsign, tnrsign, "
 "osv.).\n"
 
-#: g10/keyedit.c:1648 g10/keyedit.c:2667 g10/keyedit.c:3040 g10/keyedit.c:3108
+#: g10/keyedit.c:1649 g10/keyedit.c:2668 g10/keyedit.c:3041 g10/keyedit.c:3109
 msgid "Key is revoked."
 msgstr "Nøkkelen er opphevet."
 
-#: g10/keyedit.c:1671
+#: g10/keyedit.c:1672
 msgid "Really sign all text user IDs? (y/N) "
 msgstr "Er du sikker på at du vil signerere alle bruker-id-er? (j/N) "
 
-#: g10/keyedit.c:1675
+#: g10/keyedit.c:1676
 msgid "Really sign all user IDs? (y/N) "
 msgstr "Er du sikker på at du vil signerere alle bruker-id-er? (j/N) "
 
-#: g10/keyedit.c:1683
+#: g10/keyedit.c:1684
 msgid "Hint: Select the user IDs to sign\n"
 msgstr "Tips: Velg bruker-id-en(e) du vil signere\n"
 
-#: g10/keyedit.c:1694
+#: g10/keyedit.c:1695
 #, c-format
 msgid "Unknown signature type '%s'\n"
 msgstr "«%s» er en ukjent signaturtype\n"
 
-#: g10/keyedit.c:1718
+#: g10/keyedit.c:1719
 #, c-format
 msgid "This command is not allowed while in %s mode.\n"
 msgstr "Denne kommandoen er ikke tillatt i %s-modus.\n"
 
-#: g10/keyedit.c:1740 g10/keyedit.c:1764 g10/keyedit.c:1961
+#: g10/keyedit.c:1741 g10/keyedit.c:1765 g10/keyedit.c:1962
 msgid "You must select at least one user ID.\n"
 msgstr "Du må velge minst én bruker-ID.\n"
 
-#: g10/keyedit.c:1742 g10/keyedit.c:1766 g10/keyedit.c:1923 g10/keyedit.c:1963
+#: g10/keyedit.c:1743 g10/keyedit.c:1767 g10/keyedit.c:1924 g10/keyedit.c:1964
 #, c-format
 msgid "(Use the '%s' command.)\n"
 msgstr "(Bruk kommandoen «%s».)\n"
 
-#: g10/keyedit.c:1745
+#: g10/keyedit.c:1746
 msgid "You can't delete the last user ID!\n"
 msgstr "Du kan ikke slette siste bruker-ID.\n"
 
-#: g10/keyedit.c:1748
+#: g10/keyedit.c:1749
 msgid "Really remove all selected user IDs? (y/N) "
 msgstr "Er du sikker på at du vil fjerne alle valgte bruker-id-er? (j/N) "
 
-#: g10/keyedit.c:1749
+#: g10/keyedit.c:1750
 msgid "Really remove this user ID? (y/N) "
 msgstr "Er du sikker på at du vil fjerne valgt bruker-ID? (j/N) "
 
 #. TRANSLATORS: Please take care: This is about
 #. moving the key and not about removing it.
-#: g10/keyedit.c:1806
+#: g10/keyedit.c:1807
 msgid "Really move the primary key? (y/N) "
 msgstr "Er du sikker på at du vil flytte primærnøkkelen? (j/N) "
 
-#: g10/keyedit.c:1818 g10/keyedit.c:4803
+#: g10/keyedit.c:1819 g10/keyedit.c:4804
 msgid "You must select exactly one key.\n"
 msgstr "Du må velge minst én nøkkel.\n"
 
-#: g10/keyedit.c:1846
+#: g10/keyedit.c:1847
 msgid "Command expects a filename argument\n"
 msgstr "Kommandoen forventer et filnavn-argument\n"
 
-#: g10/keyedit.c:1867
+#: g10/keyedit.c:1868
 #, c-format
 msgid "Can't open '%s': %s\n"
 msgstr "Klarte ikke å åpne «%s»: %s\n"
 
-#: g10/keyedit.c:1886
+#: g10/keyedit.c:1887
 #, c-format
 msgid "Error reading backup key from '%s': %s\n"
 msgstr "Feil under lesing av sikkerhetskopi-nøkkel fra «%s»: %s\n"
 
-#: g10/keyedit.c:1921
+#: g10/keyedit.c:1922
 msgid "You must select at least one key.\n"
 msgstr "Du må velge minst én nøkkel.\n"
 
-#: g10/keyedit.c:1927
+#: g10/keyedit.c:1928
 msgid "Do you really want to delete the selected keys? (y/N) "
 msgstr "Er du sikker på at du vil slette valgt nøkkel? (j/N) "
 
-#: g10/keyedit.c:1929
+#: g10/keyedit.c:1930
 msgid "Do you really want to delete this key? (y/N) "
 msgstr "Er du sikker på at du vil slette denne nøkkelen? (j/N) "
 
-#: g10/keyedit.c:1967
+#: g10/keyedit.c:1968
 msgid "Really revoke all selected user IDs? (y/N) "
 msgstr "Er du sikker på at du vil oppheve alle valgte bruker-id-er? (j/N) "
 
-#: g10/keyedit.c:1968
+#: g10/keyedit.c:1969
 msgid "Really revoke this user ID? (y/N) "
 msgstr "Er du sikker på at du vil oppheve denne bruker-id-en? (j/N) "
 
-#: g10/keyedit.c:1986
+#: g10/keyedit.c:1987
 msgid "Do you really want to revoke the entire key? (y/N) "
 msgstr "Er du sikker på at du vil oppheve hele nøkkelen? (j/N) "
 
-#: g10/keyedit.c:1997
+#: g10/keyedit.c:1998
 msgid "Do you really want to revoke the selected subkeys? (y/N) "
 msgstr "Er du sikker på at du vil oppheve valgte undernøkler? (j/N) "
 
-#: g10/keyedit.c:1999
+#: g10/keyedit.c:2000
 msgid "Do you really want to revoke this subkey? (y/N) "
 msgstr "Er du sikker på at du vil oppheve denne undernøkkelen? (j/N) "
 
-#: g10/keyedit.c:2057
+#: g10/keyedit.c:2058
 msgid "Owner trust may not be set while using a user provided trust database\n"
 msgstr ""
 "Du kan ikke justere eiertillit når du bruker selvvalgt tillitsdatabase\n"
 
-#: g10/keyedit.c:2102
+#: g10/keyedit.c:2103
 msgid "Set preference list to:\n"
 msgstr "Bytt oppsettsliste til:\n"
 
-#: g10/keyedit.c:2109
+#: g10/keyedit.c:2110
 msgid "Really update the preferences for the selected user IDs? (y/N) "
 msgstr ""
 "Er du sikker på at du vil oppdatere oppsett for valgte bruker-id-er? (j/N) "
 
-#: g10/keyedit.c:2111
+#: g10/keyedit.c:2112
 msgid "Really update the preferences? (y/N) "
 msgstr "Er du sikker på at du vil oppdatere oppsett? (j/N) "
 
-#: g10/keyedit.c:2185
+#: g10/keyedit.c:2186
 msgid "Save changes? (y/N) "
 msgstr "Vil du lagre endringer? (j/N) "
 
-#: g10/keyedit.c:2189
+#: g10/keyedit.c:2190
 msgid "Quit without saving? (y/N) "
 msgstr "Vil du avslutte uten å lagre? (j/N) "
 
-#: g10/keyedit.c:2216 g10/keyedit.c:2762 g10/keyedit.c:3061 g10/keyedit.c:3214
+#: g10/keyedit.c:2217 g10/keyedit.c:2763 g10/keyedit.c:3062 g10/keyedit.c:3215
 #, c-format
 msgid "Key not changed so no update needed.\n"
 msgstr "Nøkkelen ble ikke endret, så ingen oppdatering er nødvendig.\n"
 
-#: g10/keyedit.c:2448
+#: g10/keyedit.c:2449
 #, c-format
 msgid "cannot revoke the last valid user ID.\n"
 msgstr "klarte ikke å oppheve siste gyldige bruker-ID.\n"
 
-#: g10/keyedit.c:2475
+#: g10/keyedit.c:2476
 #, c-format
 msgid "revoking the user ID failed: %s\n"
 msgstr "opphevelse av bruker-id mislyktes: %s\n"
 
-#: g10/keyedit.c:2541
+#: g10/keyedit.c:2542
 #, c-format
 msgid "setting the primary user ID failed: %s\n"
 msgstr "endring av primær bruker-ID mislyktes: %s\n"
 
-#: g10/keyedit.c:2572
+#: g10/keyedit.c:2573
 #, c-format
 msgid "\"%s\" is not a fingerprint\n"
 msgstr "«%s» er ikke et fingeravtrykk\n"
 
-#: g10/keyedit.c:2602
+#: g10/keyedit.c:2603
 #, c-format
 msgid "\"%s\" is not the primary fingerprint\n"
 msgstr "«%s» er ikke primært fingeravtrykk\n"
 
-#: g10/keyedit.c:2738 g10/keyedit.c:2741
+#: g10/keyedit.c:2739 g10/keyedit.c:2742
 #, c-format
 msgid "Invalid user ID '%s': %s\n"
 msgstr "Bruker-ID «%s» er ugyldig: %s\n"
 
-#: g10/keyedit.c:2744
+#: g10/keyedit.c:2745
 msgid "No matching user IDs."
 msgstr "Ingen treff på bruker-id-er."
 
-#: g10/keyedit.c:2744
+#: g10/keyedit.c:2745
 msgid "Nothing to sign.\n"
 msgstr "Ingenting å signere.\n"
 
-#: g10/keyedit.c:2937 g10/keyedit.c:6019
+#: g10/keyedit.c:2938 g10/keyedit.c:6020
 #, c-format
 msgid "Not signed by you.\n"
 msgstr "Ikke signert av deg.\n"
 
-#: g10/keyedit.c:2995
+#: g10/keyedit.c:2996
 #, fuzzy, c-format
 #| msgid "checking created signature failed: %s\n"
 msgid "revoking the key signature failed: %s\n"
 msgstr "kontroll av opprettet signatur mislyktes: %s\n"
 
-#: g10/keyedit.c:3116
+#: g10/keyedit.c:3117
 #, c-format
 msgid "'%s' is not a valid expiration time\n"
 msgstr "«%s» er en ugyldig utløpstid\n"
 
-#: g10/keyedit.c:3159
+#: g10/keyedit.c:3160
 #, c-format
 msgid "\"%s\" is not a proper fingerprint\n"
 msgstr "«%s» er et ugyldig fingeravtrykk\n"
 
-#: g10/keyedit.c:3183
+#: g10/keyedit.c:3184
 #, c-format
 msgid "subkey \"%s\" not found\n"
 msgstr "fant ikke undernøkkel «%s»\n"
 
-#: g10/keyedit.c:3306
+#: g10/keyedit.c:3307
 msgid "AEAD: "
 msgstr ""
 
-#: g10/keyedit.c:3323
+#: g10/keyedit.c:3324
 msgid "Digest: "
 msgstr "Kontrollsum: "
 
-#: g10/keyedit.c:3380
+#: g10/keyedit.c:3381
 msgid "Features: "
 msgstr "Funksjoner: "
 
-#: g10/keyedit.c:3397
+#: g10/keyedit.c:3398
 msgid "Keyserver no-modify"
 msgstr "Nøkkeltjener no-modify"
 
-#: g10/keyedit.c:3412 g10/keylist.c:376
+#: g10/keyedit.c:3413 g10/keylist.c:376
 msgid "Preferred keyserver: "
 msgstr "Foretrukket nøkkeltjener: "
 
-#: g10/keyedit.c:3420 g10/keyedit.c:3421
+#: g10/keyedit.c:3421 g10/keyedit.c:3422
 msgid "Notations: "
 msgstr "Notasjoner: "
 
-#: g10/keyedit.c:3669
+#: g10/keyedit.c:3670
 msgid "There are no preferences on a PGP 2.x-style user ID.\n"
 msgstr "PGP 2.x-brukere har ingen oppsettsmuligheter.\n"
 
-#: g10/keyedit.c:3741
+#: g10/keyedit.c:3742
 #, c-format
 msgid "The following key was revoked on %s by %s key %s\n"
 msgstr "Følgende nøkkel ble opphevet %s av %s med nøkkelen %s\n"
 
-#: g10/keyedit.c:3765
+#: g10/keyedit.c:3766
 #, c-format
 msgid "This key may be revoked by %s key %s"
 msgstr "Denne nøkkelen kan bli opphevet av %s med nøkkelen %s"
 
-#: g10/keyedit.c:3771
+#: g10/keyedit.c:3772
 msgid "(sensitive)"
 msgstr "(sensitiv)"
 
-#: g10/keyedit.c:3813 g10/keyedit.c:3960 g10/keylist.c:264 g10/keyserver.c:538
+#: g10/keyedit.c:3814 g10/keyedit.c:3961 g10/keylist.c:264 g10/keyserver.c:361
 #, c-format
 msgid "created: %s"
 msgstr "opprettet: %s"
 
-#: g10/keyedit.c:3816 g10/keylist.c:2149
+#: g10/keyedit.c:3817 g10/keylist.c:2149
 #, c-format
 msgid "revoked: %s"
 msgstr "opphevet: %s"
 
-#: g10/keyedit.c:3818 g10/keylist.c:2155
+#: g10/keyedit.c:3819 g10/keylist.c:2155
 #, c-format
 msgid "expired: %s"
 msgstr "utgikk: %s"
 
-#: g10/keyedit.c:3820 g10/keyedit.c:3962 g10/keylist.c:266 g10/keylist.c:2161
-#: g10/keyserver.c:544
+#: g10/keyedit.c:3821 g10/keyedit.c:3963 g10/keylist.c:266 g10/keylist.c:2161
+#: g10/keyserver.c:367
 #, c-format
 msgid "expires: %s"
 msgstr "utgår: %s"
 
-#: g10/keyedit.c:3822
+#: g10/keyedit.c:3823
 #, c-format
 msgid "usage: %s"
 msgstr "bruk: %s"
 
-#: g10/keyedit.c:3830 g10/keyedit.c:3850 g10/keylist.c:269
+#: g10/keyedit.c:3831 g10/keyedit.c:3851 g10/keylist.c:269
 msgid "card-no: "
 msgstr "kortnr.: "
 
-#: g10/keyedit.c:3889
+#: g10/keyedit.c:3890
 #, c-format
 msgid "trust: %s"
 msgstr "tillit: %s"
 
-#: g10/keyedit.c:3893
+#: g10/keyedit.c:3894
 #, c-format
 msgid "validity: %s"
 msgstr "gyldighet: %s"
 
-#: g10/keyedit.c:3900
+#: g10/keyedit.c:3901
 msgid "This key has been disabled"
 msgstr "Denne nøkkelen er ikke i bruk"
 
-#: g10/keyedit.c:3918
+#: g10/keyedit.c:3919
 msgid ""
 "Please note that the shown key validity is not necessarily correct\n"
 "unless you restart the program.\n"
@@ -4657,17 +4675,17 @@ msgstr ""
 "Merk: du bør starte programmet på nytt for å sikre at nøkkel-gyldigheten\n"
 "som vises her er riktig.\n"
 
-#: g10/keyedit.c:3979 g10/keyedit.c:4410 g10/keyserver.c:548
-#: g10/mainproc.c:2371 g10/tofu.c:1787 g10/trust.c:437 dirmngr/ocsp.c:791
+#: g10/keyedit.c:3980 g10/keyedit.c:4411 g10/keyserver.c:371
+#: g10/mainproc.c:2380 g10/tofu.c:1787 g10/trust.c:437 dirmngr/ocsp.c:791
 msgid "revoked"
 msgstr "opphevet"
 
-#: g10/keyedit.c:3981 g10/keyedit.c:4412 g10/keyserver.c:552
-#: g10/mainproc.c:2373 g10/tofu.c:1792 g10/trust.c:124
+#: g10/keyedit.c:3982 g10/keyedit.c:4413 g10/keyserver.c:375
+#: g10/mainproc.c:2382 g10/tofu.c:1792 g10/trust.c:124
 msgid "expired"
 msgstr "utgått"
 
-#: g10/keyedit.c:4098
+#: g10/keyedit.c:4099
 #, c-format
 msgid ""
 "WARNING: no user ID has been marked as primary.  This command may\n"
@@ -4676,17 +4694,17 @@ msgstr ""
 "ADVARSEL: ingen bruker-ID er merket som primær. Denne kommandoen kan\n"
 "              føre til at en annen bruker-ID blir brukt som primærbruker.\n"
 
-#: g10/keyedit.c:4150
+#: g10/keyedit.c:4151
 #, c-format
 msgid "WARNING: Your encryption subkey expires soon.\n"
 msgstr "ADVARSEL: Undernøkkel for kryptering utløper snart.\n"
 
-#: g10/keyedit.c:4151
+#: g10/keyedit.c:4152
 #, c-format
 msgid "You may want to change its expiration date too.\n"
 msgstr "Du bør vurdere å endre utløpsdato samtidig.\n"
 
-#: g10/keyedit.c:4210
+#: g10/keyedit.c:4211
 msgid ""
 "WARNING: This is a PGP2-style key.  Adding a photo ID may cause some "
 "versions\n"
@@ -4696,72 +4714,72 @@ msgstr ""
 "føre til at\n"
 "         enkelte PGP-versjoner avviser nøkkelen.\n"
 
-#: g10/keyedit.c:4215 g10/keyedit.c:4505
+#: g10/keyedit.c:4216 g10/keyedit.c:4506
 msgid "Are you sure you still want to add it? (y/N) "
 msgstr "Er du sikker på at du vil legge den til? (j/N) "
 
-#: g10/keyedit.c:4221
+#: g10/keyedit.c:4222
 msgid "You may not add a photo ID to a PGP2-style key.\n"
 msgstr "Du kan ikke knytte foto-ID til PGP2-nøkler.\n"
 
-#: g10/keyedit.c:4236 g10/keygen.c:2899
+#: g10/keyedit.c:4237 g10/keygen.c:2899
 msgid "Such a user ID already exists on this key!\n"
 msgstr "Valgt bruker-ID finnes allerede på denne nøkkelen!\n"
 
-#: g10/keyedit.c:4338
+#: g10/keyedit.c:4339
 msgid "Delete this good signature? (y/N/q)"
 msgstr "Slette denne gode signaturen? (j/N/a)"
 
-#: g10/keyedit.c:4348
+#: g10/keyedit.c:4349
 msgid "Delete this invalid signature? (y/N/q)"
 msgstr "Vil du slette denne ugyldige signaturen? (j/N/q)"
 
-#: g10/keyedit.c:4352
+#: g10/keyedit.c:4353
 msgid "Delete this unknown signature? (y/N/q)"
 msgstr "Vil du slette denne ukjente signaturen? (j/N/q)"
 
-#: g10/keyedit.c:4359
+#: g10/keyedit.c:4360
 msgid "Really delete this self-signature? (y/N)"
 msgstr "Er du sikker på at du vil slette denne selvsignaturen? (j/N)"
 
-#: g10/keyedit.c:4375
+#: g10/keyedit.c:4376
 #, c-format
 msgid "Deleted %d signature.\n"
 msgid_plural "Deleted %d signatures.\n"
 msgstr[0] "Slettet %d signatur.\n"
 msgstr[1] "Slettet %d signaturer.\n"
 
-#: g10/keyedit.c:4379
+#: g10/keyedit.c:4380
 msgid "Nothing deleted.\n"
 msgstr "Ingen ble slettet.\n"
 
-#: g10/keyedit.c:4414
+#: g10/keyedit.c:4415
 msgid "invalid"
 msgstr "ugyldig"
 
-#: g10/keyedit.c:4416
+#: g10/keyedit.c:4417
 #, c-format
 msgid "User ID \"%s\" compacted: %s\n"
 msgstr "Bruker-ID «%s» pakket sammen: %s\n"
 
-#: g10/keyedit.c:4422
+#: g10/keyedit.c:4423
 #, c-format
 msgid "User ID \"%s\": %d signature removed\n"
 msgid_plural "User ID \"%s\": %d signatures removed\n"
 msgstr[0] "Bruker-ID «%s»: %d signatur fjernet\n"
 msgstr[1] "Bruker-ID «%s»: %d signaturer fjernet\n"
 
-#: g10/keyedit.c:4430
+#: g10/keyedit.c:4431
 #, c-format
 msgid "User ID \"%s\": already minimized\n"
 msgstr "Bruker-ID «%s»: allerede minimert\n"
 
-#: g10/keyedit.c:4431
+#: g10/keyedit.c:4432
 #, c-format
 msgid "User ID \"%s\": already clean\n"
 msgstr "Bruker-ID «%s»: allerede renset\n"
 
-#: g10/keyedit.c:4500
+#: g10/keyedit.c:4501
 msgid ""
 "WARNING: This is a PGP 2.x-style key.  Adding a designated revoker may "
 "cause\n"
@@ -4771,216 +4789,216 @@ msgstr ""
 "         kan dette føre til at enkelte PGP-versjoner ikke vil kunne bruke "
 "nøkkelen.\n"
 
-#: g10/keyedit.c:4511
+#: g10/keyedit.c:4512
 msgid "You may not add a designated revoker to a PGP 2.x-style key.\n"
 msgstr "Du kan ikke knytte opphevere til PGP 2.x-nøkler.\n"
 
-#: g10/keyedit.c:4528
+#: g10/keyedit.c:4529
 msgid "Enter the user ID of the designated revoker: "
 msgstr "Skriv inn oppheverens bruker-ID: "
 
-#: g10/keyedit.c:4554
+#: g10/keyedit.c:4555
 #, c-format
 msgid "cannot appoint a PGP 2.x style key as a designated revoker\n"
 msgstr "du kan ikke bruke PGP 2.x-nøkler som opphevere\n"
 
-#: g10/keyedit.c:4569
+#: g10/keyedit.c:4570
 #, c-format
 msgid "you cannot appoint a key as its own designated revoker\n"
 msgstr "du kan ikke bruke en nøkkel som opphevelsesnøkkel for seg selv\n"
 
-#: g10/keyedit.c:4591
+#: g10/keyedit.c:4592
 #, c-format
 msgid "this key has already been designated as a revoker\n"
 msgstr "denne nøkkelen er allerede i bruk som opphevelsesnøkkel\n"
 
-#: g10/keyedit.c:4609
+#: g10/keyedit.c:4610
 msgid "WARNING: appointing a key as a designated revoker cannot be undone!\n"
 msgstr ""
 "ADVARSEL: du kan ikke angre tildeling av opphevelsesrolle til en nøkkel.\n"
 
-#: g10/keyedit.c:4615
+#: g10/keyedit.c:4616
 msgid ""
 "Are you sure you want to appoint this key as a designated revoker? (y/N) "
 msgstr "Er du sikker på at du vil gjøre denne nøkkelen til en opphever? (j/N) "
 
-#: g10/keyedit.c:4683
+#: g10/keyedit.c:4684
 msgid ""
 "Are you sure you want to change the expiration time for multiple subkeys? (y/"
 "N) "
 msgstr ""
 "Er du sikker på at du vil endre utløpstid for flere undernøkler? (j/N) "
 
-#: g10/keyedit.c:4688
+#: g10/keyedit.c:4689
 msgid "Changing expiration time for a subkey.\n"
 msgstr "Endrer utløpstid for undernøkkel.\n"
 
-#: g10/keyedit.c:4691
+#: g10/keyedit.c:4692
 msgid "Changing expiration time for the primary key.\n"
 msgstr "Endrer utløpstid for primærnøkkel.\n"
 
-#: g10/keyedit.c:4747
+#: g10/keyedit.c:4748
 #, c-format
 msgid "You can't change the expiration date of a v3 key\n"
 msgstr "Du kan ikke endre utløpsdato for v3-nøkler\n"
 
-#: g10/keyedit.c:4807
+#: g10/keyedit.c:4808
 #, fuzzy
 #| msgid "Changing expiration time for a subkey.\n"
 msgid "Changing usage of a subkey.\n"
 msgstr "Endrer utløpstid for undernøkkel.\n"
 
-#: g10/keyedit.c:4810
+#: g10/keyedit.c:4811
 #, fuzzy
 #| msgid "Changing expiration time for the primary key.\n"
 msgid "Changing usage of the primary key.\n"
 msgstr "Endrer utløpstid for primærnøkkel.\n"
 
-#: g10/keyedit.c:4928
+#: g10/keyedit.c:4929
 #, c-format
 msgid "signing subkey %s is already cross-certified\n"
 msgstr "signerings-undernøkkel %s er allerede kryssertifisert\n"
 
-#: g10/keyedit.c:4934
+#: g10/keyedit.c:4935
 #, c-format
 msgid "subkey %s does not sign and so does not need to be cross-certified\n"
 msgstr ""
 "undernøkkel %s signerer ikke, og behøver derfor ikke å bli kryssertifisert\n"
 
-#: g10/keyedit.c:5051
+#: g10/keyedit.c:5052
 msgid "Please select exactly one user ID.\n"
 msgstr "Velg én bruker-ID.\n"
 
-#: g10/keyedit.c:5092 g10/keyedit.c:5206 g10/keyedit.c:5319 g10/keyedit.c:5457
+#: g10/keyedit.c:5093 g10/keyedit.c:5207 g10/keyedit.c:5320 g10/keyedit.c:5458
 #, c-format
 msgid "skipping v3 self-signature on user ID \"%s\"\n"
 msgstr "hopper over v3-selvsignatur for bruker-ID «%s»\n"
 
-#: g10/keyedit.c:5263
+#: g10/keyedit.c:5264
 msgid "Enter your preferred keyserver URL: "
 msgstr "Skriv inn adresse til foretrukket nøkkeltjener: "
 
-#: g10/keyedit.c:5342
+#: g10/keyedit.c:5343
 msgid "Are you sure you want to replace it? (y/N) "
 msgstr "Er du sikker på at du vil erstatte den? (j/N) "
 
-#: g10/keyedit.c:5343
+#: g10/keyedit.c:5344
 msgid "Are you sure you want to delete it? (y/N) "
 msgstr "Er du sikker på at du vil slette den? (j/N) "
 
-#: g10/keyedit.c:5403
+#: g10/keyedit.c:5404
 msgid "Enter the notation: "
 msgstr "Skriv inn notat: "
 
-#: g10/keyedit.c:5550
+#: g10/keyedit.c:5551
 msgid "Proceed? (y/N) "
 msgstr "Vil du fortsette? (j/N) "
 
-#: g10/keyedit.c:5620
+#: g10/keyedit.c:5621
 #, c-format
 msgid "No user ID with index %d\n"
 msgstr "Ingen bruker-ID med indeks %d\n"
 
-#: g10/keyedit.c:5682
+#: g10/keyedit.c:5683
 #, c-format
 msgid "No user ID with hash %s\n"
 msgstr "Ingen bruker-ID med kontrollsum %s\n"
 
-#: g10/keyedit.c:5783
+#: g10/keyedit.c:5784
 #, c-format
 msgid "No subkey with key ID '%s'.\n"
 msgstr "Ingen undernøkkel med ID «%s».\n"
 
-#: g10/keyedit.c:5805
+#: g10/keyedit.c:5806
 #, c-format
 msgid "No subkey with index %d\n"
 msgstr "Ingen undernøkkel med indeks %d\n"
 
-#: g10/keyedit.c:5946
+#: g10/keyedit.c:5947
 #, c-format
 msgid "user ID: \"%s\"\n"
 msgstr "bruker-ID: «%s»\n"
 
-#: g10/keyedit.c:5949 g10/keyedit.c:6051 g10/keyedit.c:6099
+#: g10/keyedit.c:5950 g10/keyedit.c:6052 g10/keyedit.c:6100
 #, c-format
 msgid "signed by your key %s on %s%s%s\n"
 msgstr "signert med nøkkelen %s %s%s%s\n"
 
-#: g10/keyedit.c:5951 g10/keyedit.c:6053 g10/keyedit.c:6101
+#: g10/keyedit.c:5952 g10/keyedit.c:6054 g10/keyedit.c:6102
 msgid " (non-exportable)"
 msgstr " (ikke-eksporterbar)"
 
-#: g10/keyedit.c:5955
+#: g10/keyedit.c:5956
 #, c-format
 msgid "This signature expired on %s.\n"
 msgstr "Denne signaturen utgikk %s.\n"
 
-#: g10/keyedit.c:5960
+#: g10/keyedit.c:5961
 msgid "Are you sure you still want to revoke it? (y/N) "
 msgstr "Er du sikker på at du vil oppheve den? (j/N) "
 
-#: g10/keyedit.c:5965
+#: g10/keyedit.c:5966
 msgid "Create a revocation certificate for this signature? (y/N) "
 msgstr "Vil du lage et opphevelsessertifikat for denne signaturen? (j/N) "
 
-#: g10/keyedit.c:6025
+#: g10/keyedit.c:6026
 #, c-format
 msgid "You have signed these user IDs on key %s:\n"
 msgstr "Du har signert disse bruker-id-ene med nøkkelen %s:\n"
 
-#: g10/keyedit.c:6054
+#: g10/keyedit.c:6055
 msgid " (non-revocable)"
 msgstr " (kan ikke oppheves)"
 
-#: g10/keyedit.c:6061
+#: g10/keyedit.c:6062
 #, c-format
 msgid "revoked by your key %s on %s\n"
 msgstr "opphevet med nøkkelen %s %s\n"
 
-#: g10/keyedit.c:6086
+#: g10/keyedit.c:6087
 msgid "You are about to revoke these signatures:\n"
 msgstr "Du er i ferd med å oppheve følgende signaturer:\n"
 
-#: g10/keyedit.c:6109
+#: g10/keyedit.c:6110
 msgid "Really create the revocation certificates? (y/N) "
 msgstr "Er du sikker på at du vil lage opphevelsessertifikatene? (j/N) "
 
-#: g10/keyedit.c:6142
+#: g10/keyedit.c:6143
 #, c-format
 msgid "no secret key\n"
 msgstr "ingen hemmelig nøkkel\n"
 
-#: g10/keyedit.c:6190
+#: g10/keyedit.c:6191
 #, c-format
 msgid "tried to revoke a non-user ID: %s\n"
 msgstr "prøvde å oppheve ID som ikke tilhørte en bruker: %s\n"
 
-#: g10/keyedit.c:6200
+#: g10/keyedit.c:6201
 #, c-format
 msgid "user ID \"%s\" is already revoked\n"
 msgstr "bruker-ID «%s» er allerede opphevet\n"
 
-#: g10/keyedit.c:6217
+#: g10/keyedit.c:6218
 #, c-format
 msgid "WARNING: a user ID signature is dated %d seconds in the future\n"
 msgstr "ADVARSEL: en bruker-id-signatur er datert %d sekunder i framtiden\n"
 
-#: g10/keyedit.c:6313
+#: g10/keyedit.c:6314
 #, c-format
 msgid "Cannot revoke the last valid user ID.\n"
 msgstr "Klarte ikke å oppheve siste gyldige bruker-ID.\n"
 
-#: g10/keyedit.c:6351
+#: g10/keyedit.c:6352
 #, c-format
 msgid "Key %s is already revoked.\n"
 msgstr "Nøkkelen %s er allerede opphevet.\n"
 
-#: g10/keyedit.c:6413
+#: g10/keyedit.c:6414
 #, c-format
 msgid "Subkey %s is already revoked.\n"
 msgstr "Undernøkkel %s er allerede opphevet.\n"
 
-#: g10/keyedit.c:6510
+#: g10/keyedit.c:6511
 #, c-format
 msgid "Displaying %s photo ID of size %ld for key %s (uid %d)\n"
 msgstr "Viser %s foto-ID av størrelsen %ld for nøkkel %s (uid %d)\n"
@@ -5697,77 +5715,72 @@ msgstr "bruk nøklers foretrukne nøkkeltjener-adresse"
 msgid "honor the PKA record set on a key when retrieving keys"
 msgstr "bruk nøklers PKA-oppføring når du henter dem"
 
-#: g10/keyserver.c:550
+#: g10/keyserver.c:373
 msgid "disabled"
 msgstr "ikke i bruk"
 
-#: g10/keyserver.c:754
+#: g10/keyserver.c:577
 msgid "Enter number(s), N)ext, or Q)uit > "
 msgstr "Skriv inn tall, N)este, eller Q)uit (Avslutt) > "
 
-#: g10/keyserver.c:860
+#: g10/keyserver.c:683
 #, c-format
 msgid "invalid keyserver protocol (us %d!=handler %d)\n"
 msgstr "ugyldig nøkkeltjener-protokoll (us %d!=håndteringsprogram %d)\n"
 
-#: g10/keyserver.c:1001 g10/keyserver.c:1116
+#: g10/keyserver.c:824 g10/keyserver.c:939
 #, c-format
 msgid "\"%s\" not a key ID: skipping\n"
 msgstr "«%s» er ikke en nøkkel-ID, og blir hoppet over\n"
 
-#: g10/keyserver.c:1438 g10/keyserver.c:1471
+#: g10/keyserver.c:1237 g10/keyserver.c:1270
 #, c-format
 msgid "refreshing %d key from %s\n"
 msgid_plural "refreshing %d keys from %s\n"
 msgstr[0] "oppdaterer %d nøkkel fra %s\n"
 msgstr[1] "oppdaterer %d nøkler fra %s\n"
 
-#: g10/keyserver.c:1445
+#: g10/keyserver.c:1244
 #, c-format
 msgid "WARNING: unable to refresh key %s via %s: %s\n"
 msgstr "ADVARSEL: klarte ikke å oppdatere nøkkel %s via %s: %s\n"
 
-#: g10/keyserver.c:1549
+#: g10/keyserver.c:1336
 #, c-format
 msgid "key \"%s\" not found on keyserver\n"
 msgstr "fant ikke nøkkelen «%s» på nøkkeltjener\n"
 
-#: g10/keyserver.c:1552
+#: g10/keyserver.c:1339
 #, c-format
 msgid "key not found on keyserver\n"
 msgstr "fant ikke nøkkelen på nøkkeltjener\n"
 
-#: g10/keyserver.c:1743
-#, c-format
-msgid "requesting key %s from %s server %s\n"
-msgstr "ber om nøkkelen %s fra %s tjener %s\n"
-
-#: g10/keyserver.c:1747
+#: g10/keyserver.c:1504
 #, c-format
 msgid "requesting key %s from %s\n"
 msgstr "ber om nøkkelen %s fra %s\n"
 
-#: g10/keyserver.c:1852 g10/keyserver.c:2031
+#: g10/keyserver.c:1619 g10/keyserver.c:1798
 #, c-format
 msgid "no keyserver known\n"
 msgstr "ingen kjent nøkkeltjener\n"
 
-#: g10/keyserver.c:1867 g10/skclist.c:214 g10/skclist.c:242
+#: g10/keyserver.c:1634 g10/skclist.c:215 g10/skclist.c:243
 #, c-format
 msgid "skipped \"%s\": %s\n"
 msgstr "hoppet over «%s»: %s\n"
 
-#: g10/keyserver.c:1871
+#: g10/keyserver.c:1638
 #, c-format
 msgid "sending key %s to %s\n"
 msgstr "sender nøkkelen %s til %s\n"
 
-#: g10/keyserver.c:1912
+#: g10/keyserver.c:1679
 #, c-format
 msgid "requesting key from '%s'\n"
 msgstr "ber om nøkkel fra «%s»\n"
 
-#: g10/keyserver.c:1928
+#: g10/keyserver.c:1695
 #, c-format
 msgid "WARNING: unable to fetch URI %s: %s\n"
 msgstr "ADVARSEL: klarte ikke å fange URI %s: %s\n"
@@ -5782,253 +5795,253 @@ msgstr "merkelig størrelse for en kryptert sesjonsnøkkel (%d)\n"
 msgid "%s encrypted session key\n"
 msgstr "%s kryptert øktnøkkel\n"
 
-#: g10/mainproc.c:400
+#: g10/mainproc.c:403
 #, c-format
 msgid "passphrase generated with unknown digest algorithm %d\n"
 msgstr "passordfrase generert med ukjent summeringsalgoritme %d\n"
 
-#: g10/mainproc.c:481
+#: g10/mainproc.c:485
 #, c-format
 msgid "public key is %s\n"
 msgstr "offentlig nøkkel er %s\n"
 
-#: g10/mainproc.c:557
+#: g10/mainproc.c:561
 #, c-format
 msgid "public key encrypted data: good DEK\n"
 msgstr "offentlig nøkkel-kryptert data: god DEK\n"
 
-#: g10/mainproc.c:590
+#: g10/mainproc.c:594
 #, c-format
 msgid "encrypted with %u-bit %s key, ID %s, created %s\n"
 msgstr "kryptert med %u-bit %s-nøkkel, ID %s, opprettet %s\n"
 
 # Do we really need to translate this string.
 # The must some bug in the code.
-#: g10/mainproc.c:594 g10/pkclist.c:228
+#: g10/mainproc.c:598 g10/pkclist.c:228
 #, c-format
 msgid "      \"%s\"\n"
 msgstr "      «%s»\n"
 
-#: g10/mainproc.c:598
+#: g10/mainproc.c:602
 #, c-format
 msgid "encrypted with %s key, ID %s\n"
 msgstr "kryptert med %s-nøkkel, ID %s\n"
 
-#: g10/mainproc.c:619
+#: g10/mainproc.c:623
 #, c-format
 msgid "public key decryption failed: %s\n"
 msgstr "offentlig nøkkel-dekryptering mislyktes: %s\n"
 
-#: g10/mainproc.c:641 g10/mainproc.c:970
+#: g10/mainproc.c:645 g10/mainproc.c:976
 #, c-format
 msgid "WARNING: multiple plaintexts seen\n"
 msgstr "ADVARSEL: fant flere elementer i ren tekst\n"
 
-#: g10/mainproc.c:649
+#: g10/mainproc.c:653
 #, c-format
 msgid "encrypted with %lu passphrases\n"
 msgstr "kryptert med %lu passordfraser\n"
 
-#: g10/mainproc.c:651
+#: g10/mainproc.c:655
 #, c-format
 msgid "encrypted with 1 passphrase\n"
 msgstr "kryptert med 1 passordfrase\n"
 
-#: g10/mainproc.c:685 g10/mainproc.c:706
+#: g10/mainproc.c:689 g10/mainproc.c:710
 #, c-format
 msgid "assuming %s encrypted data\n"
 msgstr "antar %s kryptert data\n"
 
-#: g10/mainproc.c:692
+#: g10/mainproc.c:696
 #, c-format
 msgid "IDEA cipher unavailable, optimistically attempting to use %s instead\n"
 msgstr "IDEA-kryptering er utilgjengelig. Prøver å bruke %s i stedet\n"
 
-#: g10/mainproc.c:779 g10/mainproc.c:817
+#: g10/mainproc.c:785 g10/mainproc.c:823
 #, c-format
 msgid "WARNING: message was not integrity protected\n"
 msgstr "ADVARSEL: meldinga var ikke integritetsbeskyttet\n"
 
-#: g10/mainproc.c:790
+#: g10/mainproc.c:796
 msgid ""
 "Hint: If this message was created before the year 2003 it is\n"
 "likely that this message is legitimate.  This is because back\n"
 "then integrity protection was not widely used.\n"
 msgstr ""
 
-#: g10/mainproc.c:793
+#: g10/mainproc.c:799
 #, c-format
 msgid "Use the option '%s' to decrypt anyway.\n"
 msgstr ""
 
-#: g10/mainproc.c:798
+#: g10/mainproc.c:804
 #, fuzzy, c-format
 #| msgid "decryption failed: %s\n"
 msgid "decryption forced to fail!\n"
 msgstr "dekryptering mislyktes: %s\n"
 
-#: g10/mainproc.c:810
+#: g10/mainproc.c:816
 #, c-format
 msgid "decryption okay\n"
 msgstr "dekryptering ok\n"
 
-#: g10/mainproc.c:823
+#: g10/mainproc.c:829
 #, c-format
 msgid "WARNING: encrypted message has been manipulated!\n"
 msgstr "ADVARSEL: kryptert melding er blitt manipulert.\n"
 
-#: g10/mainproc.c:841
+#: g10/mainproc.c:847
 #, c-format
 msgid "decryption failed: %s\n"
 msgstr "dekryptering mislyktes: %s\n"
 
-#: g10/mainproc.c:886
+#: g10/mainproc.c:892
 #, c-format
 msgid "Note: sender requested \"for-your-eyes-only\"\n"
 msgstr "Merk: senderen spesifiserte «kun for dine øyne»\n"
 
-#: g10/mainproc.c:893
+#: g10/mainproc.c:899
 #, c-format
 msgid "original file name='%.*s'\n"
 msgstr "opprinnelig filnavn=«%.*s»\n"
 
-#: g10/mainproc.c:1148
+#: g10/mainproc.c:1154
 #, c-format
 msgid "standalone revocation - use \"gpg --import\" to apply\n"
 msgstr "selvstendig opphevelse - bruk «gpg --import» for å ta i bruk\n"
 
-#: g10/mainproc.c:1452 g10/mainproc.c:1495
+#: g10/mainproc.c:1458 g10/mainproc.c:1501
 #, c-format
 msgid "no signature found\n"
 msgstr "fant ikke signatur\n"
 
-#: g10/mainproc.c:1852
+#: g10/mainproc.c:1858
 #, c-format
 msgid "BAD signature from \"%s\""
 msgstr "DÅRLIG signatur fra «%s»"
 
-#: g10/mainproc.c:1854
+#: g10/mainproc.c:1860
 #, c-format
 msgid "Expired signature from \"%s\""
 msgstr "Utgått signatur fra «%s»"
 
-#: g10/mainproc.c:1856
+#: g10/mainproc.c:1862
 #, c-format
 msgid "Good signature from \"%s\""
 msgstr "God signatur fra «%s»"
 
-#: g10/mainproc.c:1876
+#: g10/mainproc.c:1882
 #, c-format
 msgid "signature verification suppressed\n"
 msgstr "signaturbekreftelse ble hindret\n"
 
-#: g10/mainproc.c:1985
+#: g10/mainproc.c:1991
 #, c-format
 msgid "can't handle this ambiguous signature data\n"
 msgstr "disse flertydige signaturdataene kan ikke behandles\n"
 
-#: g10/mainproc.c:2001 g10/mainproc.c:2008
+#: g10/mainproc.c:2007 g10/mainproc.c:2014
 #, c-format
 msgid "Signature made %s\n"
 msgstr "Signatur opprettet %s\n"
 
-#: g10/mainproc.c:2002 g10/mainproc.c:2009 sm/verify.c:476
+#: g10/mainproc.c:2008 g10/mainproc.c:2015 sm/verify.c:476
 #, c-format
 msgid "               using %s key %s\n"
 msgstr "               bruker %s nøkkel %s\n"
 
-#: g10/mainproc.c:2013
+#: g10/mainproc.c:2019
 #, c-format
 msgid "Signature made %s using %s key ID %s\n"
 msgstr "Signatur laget %s ved hjelp av %s-nøkkel ID %s\n"
 
-#: g10/mainproc.c:2019
+#: g10/mainproc.c:2025
 #, c-format
 msgid "               issuer \"%s\"\n"
 msgstr "                utsteder «%s»\n"
 
-#: g10/mainproc.c:2070
+#: g10/mainproc.c:2076
 #, c-format
 msgid "Key available at: "
 msgstr "Nøkkel tilgjengelig ved: "
 
-#: g10/mainproc.c:2111
+#: g10/mainproc.c:2118
 #, c-format
 msgid "Note: Use '%s' to make use of this info\n"
 msgstr ""
 
-#: g10/mainproc.c:2325
+#: g10/mainproc.c:2334
 msgid "[uncertain]"
 msgstr "[usikker]"
 
-#: g10/mainproc.c:2363
+#: g10/mainproc.c:2372
 #, c-format
 msgid "                aka \"%s\""
 msgstr "                aka «%s»"
 
-#: g10/mainproc.c:2438
+#: g10/mainproc.c:2447
 #, c-format
 msgid "WARNING: This key is not suitable for signing in %s mode\n"
 msgstr "ADVARSEL: Denne nøkkelen egner seg ikke for signering i %s-modus\n"
 
-#: g10/mainproc.c:2456
+#: g10/mainproc.c:2465
 #, c-format
 msgid "Signature expired %s\n"
 msgstr "Signatur utgått %s\n"
 
-#: g10/mainproc.c:2460
+#: g10/mainproc.c:2469
 #, c-format
 msgid "Signature expires %s\n"
 msgstr "Signatur utgår %s\n"
 
-#: g10/mainproc.c:2471
+#: g10/mainproc.c:2480
 #, c-format
 msgid "%s signature, digest algorithm %s%s%s\n"
 msgstr "%s-signatur, kontrollsum-algoritme %s%s%s\n"
 
-#: g10/mainproc.c:2472
+#: g10/mainproc.c:2481
 msgid "binary"
 msgstr "binær"
 
-#: g10/mainproc.c:2473
+#: g10/mainproc.c:2482
 msgid "textmode"
 msgstr "tekstmodus"
 
-#: g10/mainproc.c:2473 g10/trust.c:123 dirmngr/ocsp.c:792
+#: g10/mainproc.c:2482 g10/trust.c:123 dirmngr/ocsp.c:792
 msgid "unknown"
 msgstr "ukjent"
 
-#: g10/mainproc.c:2475
+#: g10/mainproc.c:2484
 msgid ", key algorithm "
 msgstr ", nøkkelalgoritme"
 
-#: g10/mainproc.c:2510
+#: g10/mainproc.c:2519
 #, c-format
 msgid "WARNING: not a detached signature; file '%s' was NOT verified!\n"
 msgstr "ADVARSEL: ikke en separat signatur. Fila «%s» er IKKE bekreftet.\n"
 
-#: g10/mainproc.c:2548
+#: g10/mainproc.c:2558
 #, c-format
 msgid "Can't check signature: %s\n"
 msgstr "Klarte ikke å kontrollere signatur: %s\n"
 
-#: g10/mainproc.c:2644 g10/mainproc.c:2663 g10/mainproc.c:2787
+#: g10/mainproc.c:2654 g10/mainproc.c:2673 g10/mainproc.c:2797
 #, c-format
 msgid "not a detached signature\n"
 msgstr "ikke en separat signatur\n"
 
-#: g10/mainproc.c:2697
+#: g10/mainproc.c:2707
 #, c-format
 msgid ""
 "WARNING: multiple signatures detected.  Only the first will be checked.\n"
 msgstr "ADVARSEL: fant flere signaturer. Kontrollerer bare den første.\n"
 
-#: g10/mainproc.c:2706
+#: g10/mainproc.c:2716
 #, c-format
 msgid "standalone signature of class 0x%02x\n"
 msgstr "separat signatur av klasse 0x%02x\n"
 
-#: g10/mainproc.c:2791
+#: g10/mainproc.c:2801
 #, c-format
 msgid "old style (PGP 2.x) signature\n"
 msgstr "gammeldags (PGP 2.x) signatur\n"
@@ -6209,51 +6222,57 @@ msgstr "Kritisk signaturnotat: "
 msgid "subpacket of type %d has critical bit set\n"
 msgstr "underpakke %d er merket som kritisk\n"
 
-#: g10/passphrase.c:73 g10/passphrase.c:275 g10/passphrase.c:308
+#: g10/passphrase.c:73 g10/passphrase.c:283 g10/passphrase.c:316
 #, c-format
 msgid "problem with the agent: %s\n"
 msgstr "problem med agent: %s\n"
 
-#: g10/passphrase.c:258
+#: g10/passphrase.c:251 sm/decrypt.c:341
+#, fuzzy
+#| msgid "Please enter the new passphrase"
+msgid "Please enter the passphrase for decryption."
+msgstr "Skriv inn ny passordfrase"
+
+#: g10/passphrase.c:253
 msgid "Enter passphrase\n"
 msgstr "Skriv inn passordfrase\n"
 
-#: g10/passphrase.c:269
+#: g10/passphrase.c:277
 #, c-format
 msgid "cancelled by user\n"
 msgstr "avbrutt av bruker\n"
 
-#: g10/passphrase.c:510
+#: g10/passphrase.c:523
 #, c-format
 msgid " (main key ID %s)"
 msgstr " (hovednøkkelid %s)"
 
-#: g10/passphrase.c:517
+#: g10/passphrase.c:530
 msgid "Please enter the passphrase to unlock the OpenPGP secret key:"
 msgstr "Skriv inn passordfrase for å låse opp hemmelig OpenPGP-nøkkel:"
 
-#: g10/passphrase.c:521
+#: g10/passphrase.c:534
 msgid "Please enter the passphrase to import the OpenPGP secret key:"
 msgstr "Skriv inn passordfrase for å importere hemmelig OpenPGP-nøkkel:"
 
-#: g10/passphrase.c:526
+#: g10/passphrase.c:539
 msgid "Please enter the passphrase to export the OpenPGP secret subkey:"
 msgstr "Skriv inn passordfrase for å eksportere hemmelig OpenPGP-undernøkkel:"
 
-#: g10/passphrase.c:529
+#: g10/passphrase.c:542
 msgid "Please enter the passphrase to export the OpenPGP secret key:"
 msgstr "Skriv inn passordfrase for å eksportere hemmelig OpenPGP-nøkkel:"
 
-#: g10/passphrase.c:534
+#: g10/passphrase.c:547
 msgid "Do you really want to permanently delete the OpenPGP secret subkey key:"
 msgstr ""
 "Er du sikker på at du vil slette følgende hemmelige OpenPGP-undernøkkel:"
 
-#: g10/passphrase.c:537
+#: g10/passphrase.c:550
 msgid "Do you really want to permanently delete the OpenPGP secret key:"
 msgstr "Er du sikker på at du vil slette følgende hemmelige OpenPGP-nøkkel:"
 
-#: g10/passphrase.c:546
+#: g10/passphrase.c:559
 #, c-format
 msgid ""
 "%s\n"
@@ -6309,7 +6328,7 @@ msgstr "«%s» er ikke en JPEG-fil\n"
 msgid "Is this photo correct (y/N/q)? "
 msgstr "Er dette bildet riktig (j/N/q)? "
 
-#: g10/photoid.c:395
+#: g10/photoid.c:399
 #, c-format
 msgid "unable to display photo ID!\n"
 msgstr "klarte ikke å vise foto-ID.\n"
@@ -6658,7 +6677,7 @@ msgstr "klarte ikke å åpne signert data «%s»\n"
 msgid "can't open signed data fd=%d: %s\n"
 msgstr "klarte ikke å åpne signert data fd=%d: «%s»\n"
 
-#: g10/pubkey-enc.c:98 g10/pubkey-enc.c:139 sm/decrypt.c:493
+#: g10/pubkey-enc.c:98 g10/pubkey-enc.c:139 sm/decrypt.c:969
 #, c-format
 msgid "key %s is not suitable for decryption in %s mode\n"
 msgstr "nøkkel %s egner seg ikke for dekryptering i %s-modus\n"
@@ -6673,27 +6692,27 @@ msgstr "anonym mottaker. prøver hemmelig nøkkel %s …\n"
 msgid "okay, we are the anonymous recipient.\n"
 msgstr "ok, det er du som er den anonyme mottakeren.\n"
 
-#: g10/pubkey-enc.c:321
+#: g10/pubkey-enc.c:311
 #, c-format
 msgid "old encoding of the DEK is not supported\n"
 msgstr "gammel DEK-koding støttes ikke\n"
 
-#: g10/pubkey-enc.c:349
+#: g10/pubkey-enc.c:339
 #, c-format
 msgid "cipher algorithm %d%s is unknown or disabled\n"
 msgstr "krypteringsalgoritme %d%s er ukjent eller slått av\n"
 
-#: g10/pubkey-enc.c:393
+#: g10/pubkey-enc.c:383
 #, c-format
 msgid "WARNING: cipher algorithm %s not found in recipient preferences\n"
 msgstr "ADVARSEL: fant ikke krypteringsalgoritme %s i mottakers oppsett\n"
 
-#: g10/pubkey-enc.c:426
+#: g10/pubkey-enc.c:416
 #, c-format
 msgid "Note: secret key %s expired at %s\n"
 msgstr "Merk: hemmelig nøkkel %s utgått %s\n"
 
-#: g10/pubkey-enc.c:433
+#: g10/pubkey-enc.c:423
 #, c-format
 msgid "Note: key has been revoked"
 msgstr "Merk: nøkkelen er opphevet"
@@ -7012,38 +7031,38 @@ msgstr ""
 msgid "%s/%s signature from: \"%s\"\n"
 msgstr "%s/%s-signatur fra: «%s»\n"
 
-#: g10/sign.c:1046
+#: g10/sign.c:1045
 #, c-format
 msgid ""
 "WARNING: forcing digest algorithm %s (%d) violates recipient preferences\n"
 msgstr "ADVARSEL: tvungen bruk av %s (%d) bryter med mottakerens oppsett\n"
 
-#: g10/sign.c:1188
+#: g10/sign.c:1187
 #, c-format
 msgid "signing:"
 msgstr "signerer:"
 
-#: g10/sign.c:1465
+#: g10/sign.c:1464
 #, c-format
 msgid "%s encryption will be used\n"
 msgstr "bruker %s-kryptering\n"
 
-#: g10/skclist.c:173 g10/skclist.c:254
+#: g10/skclist.c:174 g10/skclist.c:255
 #, c-format
 msgid "key is not flagged as insecure - can't use it with the faked RNG!\n"
 msgstr "nøkkel er ikke merket som usikker, og kan ikke brukes med falsk RNG.\n"
 
-#: g10/skclist.c:205
+#: g10/skclist.c:206
 #, c-format
 msgid "skipped \"%s\": duplicated\n"
 msgstr "hoppet over «%s»: er duplikat\n"
 
-#: g10/skclist.c:224
+#: g10/skclist.c:225
 #, c-format
 msgid "skipped: secret key already present\n"
 msgstr "hoppet over, fordi hemmelig nøkkel allerede er tilstede\n"
 
-#: g10/skclist.c:243
+#: g10/skclist.c:244
 msgid "this is a PGP generated Elgamal key which is not secure for signatures!"
 msgstr ""
 "dette er en PGP-generelt Elgamal-nøkkel, og egner seg ikke til signering."
@@ -7098,7 +7117,7 @@ msgstr "lesefeil i «%s»: %s\n"
 msgid "trustdb: sync failed: %s\n"
 msgstr "trustdb: synk mislyktes: %s\n"
 
-#: g10/tdbio.c:144 sm/keydb.c:336
+#: g10/tdbio.c:144 sm/keydb.c:335
 #, c-format
 msgid "can't create lock for '%s'\n"
 msgstr "klarte ikke å lage lås for «%s»\n"
@@ -7838,39 +7857,49 @@ msgstr ""
 #. TRANSLATORS: Put a \x1f right before a colon.  This can be
 #. * used by pinentry to nicely align the names and values.  Keep
 #. * the %s at the start and end of the string.
-#: scd/app-p15.c:3369 scd/app-openpgp.c:2153
+#: scd/app-p15.c:4955 scd/app-openpgp.c:2151
 #, c-format
 msgid "%sNumber\1f: %s%%0AHolder\1f: %s%s"
 msgstr "%sNummer\\x1f: %s%%0AHolder\\x1f: %s%s"
 
 #. TRANSLATORS: This is the number of remaining attempts to
 #. * enter a PIN.  Use %%0A (double-percent,0A) for a linefeed.
-#: scd/app-p15.c:3388 scd/app-openpgp.c:2169
+#: scd/app-p15.c:4974 scd/app-openpgp.c:2167
 #, c-format
 msgid "Remaining attempts: %d"
 msgstr "Gjenstående forsøk: %d"
 
-#: scd/app-p15.c:3459 scd/app-nks.c:1110
+#: scd/app-p15.c:5053 scd/app-nks.c:1113
 msgid "||Please enter the PIN for the key to create qualified signatures."
 msgstr "||Skriv inn PIN for å la nøkkelen lage kvalifiserte signaturer."
 
-#: scd/app-p15.c:3462 scd/app-nks.c:1092
+#. TRANSLATORS: Do not translate the "|A|" prefix but keep it at
+#. the start of the string.  Use %0A (single percent) for a linefeed.
+#: scd/app-p15.c:5056 scd/app-openpgp.c:2461
+msgid "|A|Please enter the Admin PIN"
+msgstr "|A|Skriv inn admin-PIN"
+
+#: scd/app-p15.c:5058 scd/app-nks.c:1103
+msgid "|P|Please enter the PIN Unblocking Code (PUK) for the standard keys."
+msgstr "|P|Skriv inn PIN-opplåsingskode (PUK) for standardnøkler."
+
+#: scd/app-p15.c:5061 scd/app-nks.c:1095
 msgid "||Please enter the PIN for the standard keys."
 msgstr "||Skriv inn PIN-kode for standardnøkler."
 
-#: scd/app-nks.c:709 scd/app-openpgp.c:3664
+#: scd/app-nks.c:709 scd/app-openpgp.c:3663
 #, c-format
 msgid "RSA modulus missing or not of size %d bits\n"
 msgstr "RSA-modulus mangler eller er av annen størrelse enn %d bit\n"
 
-#: scd/app-nks.c:717 scd/app-openpgp.c:3676
+#: scd/app-nks.c:717 scd/app-openpgp.c:3675
 #, c-format
 msgid "RSA public exponent missing or larger than %d bits\n"
 msgstr "offentlig RSA-eksponent mangler eller er større enn %d bit\n"
 
-#: scd/app-nks.c:797 scd/app-openpgp.c:2326 scd/app-openpgp.c:2345
-#: scd/app-openpgp.c:2512 scd/app-openpgp.c:2530 scd/app-openpgp.c:2827
-#: scd/app-openpgp.c:2874 scd/app-openpgp.c:2989 scd/app-dinsig.c:303
+#: scd/app-nks.c:797 scd/app-openpgp.c:2324 scd/app-openpgp.c:2343
+#: scd/app-openpgp.c:2510 scd/app-openpgp.c:2528 scd/app-openpgp.c:2826
+#: scd/app-openpgp.c:2873 scd/app-openpgp.c:2988 scd/app-dinsig.c:302
 #, c-format
 msgid "PIN callback returned error: %s\n"
 msgstr "PIN-callback returnerte en feil: %s\n"
@@ -7880,76 +7909,72 @@ msgstr "PIN-callback returnerte en feil: %s\n"
 msgid "the NullPIN has not yet been changed\n"
 msgstr "NullPIN er ikke blitt endret enda\n"
 
-#: scd/app-nks.c:1091
+#: scd/app-nks.c:1094
 msgid "|N|Please enter a new PIN for the standard keys."
 msgstr "|N|Skriv inn ny PIN-kode for standardnøkler."
 
-#: scd/app-nks.c:1098
+#: scd/app-nks.c:1101
 msgid "|NP|Please enter a new PIN Unblocking Code (PUK) for the standard keys."
 msgstr "|NP|Skriv inn ny PIN-opplåsingskode (PUK) for standardnøkler."
 
-#: scd/app-nks.c:1100
-msgid "|P|Please enter the PIN Unblocking Code (PUK) for the standard keys."
-msgstr "|P|Skriv inn PIN-opplåsingskode (PUK) for standardnøkler."
-
-#: scd/app-nks.c:1108
+#: scd/app-nks.c:1111
 msgid "|N|Please enter a new PIN for the key to create qualified signatures."
 msgstr "|N|Skriv inn ny PIN for å la nøkkelen lage kvalifiserte signaturer."
 
-#: scd/app-nks.c:1118
+#: scd/app-nks.c:1121
 msgid ""
 "|NP|Please enter a new PIN Unblocking Code (PUK) for the key to create "
 "qualified signatures."
 msgstr ""
 "|NP|Skriv inn ny PUK-kode for å la nøkkelen lage kvalifiserte signaturer."
 
-#: scd/app-nks.c:1120
+#: scd/app-nks.c:1123
 msgid ""
 "|P|Please enter the PIN Unblocking Code (PUK) for the key to create "
 "qualified signatures."
 msgstr "|P|Skriv inn PUK-kode for å la nøkkelen lage kvalifiserte signaturer."
 
-#: scd/app-nks.c:1227 scd/app-openpgp.c:2908 scd/app-dinsig.c:531
+#: scd/app-nks.c:1230 scd/app-openpgp.c:2907 scd/app-dinsig.c:532
 #, c-format
 msgid "error getting new PIN: %s\n"
 msgstr "feil under henting av ny PIN: %s\n"
 
-#: scd/app-openpgp.c:860
+#: scd/app-openpgp.c:859
 #, c-format
 msgid "failed to store the fingerprint: %s\n"
 msgstr "klarte ikke å lagre fingeravtrykk: %s\n"
 
-#: scd/app-openpgp.c:873
+#: scd/app-openpgp.c:872
 #, c-format
 msgid "failed to store the creation date: %s\n"
 msgstr "klarte ikke å lagre opprettelsesdato: %s\n"
 
-#: scd/app-openpgp.c:1272 scd/app-openpgp.c:2855 scd/app-openpgp.c:5020
+#: scd/app-openpgp.c:1268 scd/app-openpgp.c:2854 scd/app-openpgp.c:5025
 #, c-format
 msgid "error retrieving CHV status from card\n"
 msgstr "feil under henting av CHV-status fra kort\n"
 
-#: scd/app-openpgp.c:1430
+#: scd/app-openpgp.c:1426
 #, c-format
 msgid "response does not contain the RSA modulus\n"
 msgstr "svar inneholder ikke RSA-modulus\n"
 
-#: scd/app-openpgp.c:1437
+#: scd/app-openpgp.c:1433
 #, c-format
 msgid "response does not contain the RSA public exponent\n"
 msgstr "svar inneholder ikke offentlig RSA-eksponent\n"
 
-#: scd/app-openpgp.c:1547
+#: scd/app-openpgp.c:1543
 #, c-format
 msgid "response does not contain the EC public key\n"
 msgstr "svar inneholder ikke offentlig EC-nøkkel\n"
 
-#: scd/app-openpgp.c:1665 scd/app-openpgp.c:4284
+#: scd/app-openpgp.c:1661 scd/app-openpgp.c:4283
 #, c-format
 msgid "response does not contain the public key data\n"
 msgstr "svar inneholder ikke offentlig nøkkeldata\n"
 
-#: scd/app-openpgp.c:1772
+#: scd/app-openpgp.c:1768
 #, c-format
 msgid "reading public key failed: %s\n"
 msgstr "lesing av offentlig nøkkel mislyktes: %s\n"
@@ -7957,44 +7982,44 @@ msgstr "lesing av offentlig nøkkel mislyktes: %s\n"
 #. TRANSLATORS: Put a \x1f right before a colon.  This can be
 #. * used by pinentry to nicely align the names and values.  Keep
 #. * the %s at the start and end of the string.
-#: scd/app-openpgp.c:2140
+#: scd/app-openpgp.c:2138
 #, c-format
 msgid "%sNumber\1f: %s%%0AHolder\1f: %s%%0ACounter\1f: %lu%s"
 msgstr "%sNummer\\x1f: %s%%0AHolder\\x1f: %s%%0ATeller\\x1f: %lu%s"
 
-#: scd/app-openpgp.c:2280
+#: scd/app-openpgp.c:2278
 #, c-format
 msgid "using default PIN as %s\n"
 msgstr "bruker forvalgt PIN som %s\n"
 
-#: scd/app-openpgp.c:2287
+#: scd/app-openpgp.c:2285
 #, c-format
 msgid "failed to use default PIN as %s: %s - disabling further default use\n"
 msgstr ""
 "klarte ikke å bruke forvalgt PIN som %s: %s. Lar være å bruke forvalgt PIN "
 "senere\n"
 
-#: scd/app-openpgp.c:2300
+#: scd/app-openpgp.c:2298
 msgid "||Please unlock the card"
 msgstr "||Lås opp kort"
 
-#: scd/app-openpgp.c:2352 scd/app-openpgp.c:2537 scd/app-openpgp.c:2834
+#: scd/app-openpgp.c:2350 scd/app-openpgp.c:2535 scd/app-openpgp.c:2833
 #, c-format
 msgid "PIN for CHV%d is too short; minimum length is %d\n"
 msgstr "PIN for CHV%d er for kort; minum lengde er %d\n"
 
-#: scd/app-openpgp.c:2366 scd/app-openpgp.c:2413 scd/app-openpgp.c:2551
-#: scd/app-openpgp.c:4642
+#: scd/app-openpgp.c:2364 scd/app-openpgp.c:2411 scd/app-openpgp.c:2549
+#: scd/app-openpgp.c:4641
 #, c-format
 msgid "verify CHV%d failed: %s\n"
 msgstr "bekreftelse av CHV%d mislyktes: %s\n"
 
-#: scd/app-openpgp.c:2449 scd/app-openpgp.c:5029
+#: scd/app-openpgp.c:2447 scd/app-openpgp.c:5034
 #, c-format
 msgid "card is permanently locked!\n"
 msgstr "kortet er låst for godt.\n"
 
-#: scd/app-openpgp.c:2453
+#: scd/app-openpgp.c:2451
 #, c-format
 msgid "%d Admin PIN attempt remaining before card is permanently locked\n"
 msgid_plural ""
@@ -8002,26 +8027,20 @@ msgid_plural ""
 msgstr[0] "%d Admin-PIN-forsøk gjenstår før kortet blir låst permanent\n"
 msgstr[1] "%d Admin-PIN-forsøk gjenstår før kortet blir låst permanent\n"
 
-#. TRANSLATORS: Do not translate the "|A|" prefix but keep it at
-#. the start of the string.  Use %0A (single percent) for a linefeed.
-#: scd/app-openpgp.c:2463
-msgid "|A|Please enter the Admin PIN"
-msgstr "|A|Skriv inn admin-PIN"
-
-#: scd/app-openpgp.c:2484
+#: scd/app-openpgp.c:2482
 #, c-format
 msgid "access to admin commands is not configured\n"
 msgstr "tilgang til admin-kommandoer er ikke konfigurert\n"
 
-#: scd/app-openpgp.c:2821
+#: scd/app-openpgp.c:2820
 msgid "||Please enter the PIN"
 msgstr "||Skriv inn PIN-kode"
 
-#: scd/app-openpgp.c:2870
+#: scd/app-openpgp.c:2869
 msgid "||Please enter the Reset Code for the card"
 msgstr "||Skriv inn tilbakestillingskode for kortet"
 
-#: scd/app-openpgp.c:2880 scd/app-openpgp.c:2941
+#: scd/app-openpgp.c:2879 scd/app-openpgp.c:2940
 #, c-format
 msgid "Reset Code is too short; minimum length is %d\n"
 msgstr "Tilbakestillingskoden er for kort. Minimumslengde er %d\n"
@@ -8029,132 +8048,132 @@ msgstr "Tilbakestillingskoden er for kort. Minimumslengde er %d\n"
 #. TRANSLATORS: Do not translate the "|*|" prefixes but
 #. keep it at the start of the string.  We need this elsewhere
 #. to get some infos on the string.
-#: scd/app-openpgp.c:2903
+#: scd/app-openpgp.c:2902
 msgid "|RN|New Reset Code"
 msgstr "|RN|Ny tilbakestillingskode"
 
-#: scd/app-openpgp.c:2904
+#: scd/app-openpgp.c:2903
 msgid "|AN|New Admin PIN"
 msgstr "|AN|Ny Admin PIN"
 
-#: scd/app-openpgp.c:2904
+#: scd/app-openpgp.c:2903
 msgid "|N|New PIN"
 msgstr "|N|Ny PIN"
 
-#: scd/app-openpgp.c:2985
+#: scd/app-openpgp.c:2984
 msgid "||Please enter the Admin PIN and New Admin PIN"
 msgstr "||Skriv inn admin-PIN og ny admin-PIN"
 
-#: scd/app-openpgp.c:2986
+#: scd/app-openpgp.c:2985
 msgid "||Please enter the PIN and New PIN"
 msgstr "||Skriv inn PIN-kode og ny PIN-kode"
 
-#: scd/app-openpgp.c:3048 scd/app-openpgp.c:4344
+#: scd/app-openpgp.c:3047 scd/app-openpgp.c:4343
 #, c-format
 msgid "error reading application data\n"
 msgstr "feil under lesing av programdata\n"
 
-#: scd/app-openpgp.c:3054 scd/app-openpgp.c:4351
+#: scd/app-openpgp.c:3053 scd/app-openpgp.c:4350
 #, c-format
 msgid "error reading fingerprint DO\n"
 msgstr "feil under lesing av fingeravtrykk DO\n"
 
-#: scd/app-openpgp.c:3064
+#: scd/app-openpgp.c:3063
 #, c-format
 msgid "key already exists\n"
 msgstr "nøkkelen finnes allerede\n"
 
-#: scd/app-openpgp.c:3068
+#: scd/app-openpgp.c:3067
 #, c-format
 msgid "existing key will be replaced\n"
 msgstr "gjeldende nøkkel blir erstattet\n"
 
-#: scd/app-openpgp.c:3070
+#: scd/app-openpgp.c:3069
 #, c-format
 msgid "generating new key\n"
 msgstr "lager ny nøkkel\n"
 
-#: scd/app-openpgp.c:3072
+#: scd/app-openpgp.c:3071
 #, c-format
 msgid "writing new key\n"
 msgstr "skriver ny nøkkel\n"
 
-#: scd/app-openpgp.c:3645 scd/app-openpgp.c:3997
+#: scd/app-openpgp.c:3644 scd/app-openpgp.c:3996
 #, c-format
 msgid "creation timestamp missing\n"
 msgstr "tidsstempel for opprettelse mangler\n"
 
-#: scd/app-openpgp.c:3686 scd/app-openpgp.c:3694
+#: scd/app-openpgp.c:3685 scd/app-openpgp.c:3693
 #, c-format
 msgid "RSA prime %s missing or not of size %d bits\n"
 msgstr "RSA-primtall %s mangler eller er av annen størrelse enn %d bit\n"
 
-#: scd/app-openpgp.c:3827 scd/app-openpgp.c:4104
+#: scd/app-openpgp.c:3826 scd/app-openpgp.c:4103
 #, c-format
 msgid "failed to store the key: %s\n"
 msgstr "klarte ikke å lagre nøkkel: %s\n"
 
-#: scd/app-openpgp.c:3991
+#: scd/app-openpgp.c:3990
 #, c-format
 msgid "unsupported curve\n"
 msgstr "ustøttet kurve\n"
 
-#: scd/app-openpgp.c:4261
+#: scd/app-openpgp.c:4260
 #, c-format
 msgid "please wait while key is being generated ...\n"
 msgstr "vent mens nøkkel blir generert …\n"
 
-#: scd/app-openpgp.c:4269
+#: scd/app-openpgp.c:4268
 #, c-format
 msgid "generating key failed\n"
 msgstr "nøkkelgenerering mislyktes\n"
 
-#: scd/app-openpgp.c:4275
+#: scd/app-openpgp.c:4274
 #, c-format
 msgid "key generation completed (%d second)\n"
 msgid_plural "key generation completed (%d seconds)\n"
 msgstr[0] "nøkkelgenerering fullført (%d sekund)\n"
 msgstr[1] "nøkkelgenerering fullført (%d sekunder)\n"
 
-#: scd/app-openpgp.c:4309
+#: scd/app-openpgp.c:4308
 #, c-format
 msgid "invalid structure of OpenPGP card (DO 0x93)\n"
 msgstr "ugyldig struktur i OpenPGP-kort (DO 0x93)\n"
 
-#: scd/app-openpgp.c:4359
+#: scd/app-openpgp.c:4358
 #, c-format
 msgid "fingerprint on card does not match requested one\n"
 msgstr "fingeravtrykk på kort samsvarer ikke med forespurt avtrykk\n"
 
-#: scd/app-openpgp.c:4558
+#: scd/app-openpgp.c:4557
 #, c-format
 msgid "card does not support digest algorithm %s\n"
 msgstr "kortet støtter ikke kontrollsum-algoritme %s\n"
 
-#: scd/app-openpgp.c:4616
+#: scd/app-openpgp.c:4615
 #, c-format
 msgid "signatures created so far: %lu\n"
 msgstr "signaturer opprettet så langt: %lu\n"
 
-#: scd/app-openpgp.c:5034
+#: scd/app-openpgp.c:5039
 #, c-format
 msgid ""
 "verification of Admin PIN is currently prohibited through this command\n"
 msgstr "bekrefting av Admin PIN er foreløpig nektet gjennom denne kommandoen\n"
 
-#: scd/app-openpgp.c:5346 scd/app-openpgp.c:5357
+#: scd/app-openpgp.c:5351 scd/app-openpgp.c:5362
 #, c-format
 msgid "can't access %s - invalid OpenPGP card?\n"
 msgstr "fikk ikke tilgang til %s. Bruker du et ugyldig OpenPGP-kort?\n"
 
-#: scd/app-dinsig.c:299
+#: scd/app-dinsig.c:298
 msgid "||Please enter your PIN at the reader's pinpad"
 msgstr "||Skriv inn PIN-koden på leserens kodetastatur"
 
 #. TRANSLATORS: Do not translate the "|*|" prefixes but
 #. keep it at the start of the string.  We need this elsewhere
 #. to get some infos on the string.
-#: scd/app-dinsig.c:528
+#: scd/app-dinsig.c:529
 msgid "|N|Initial New PIN"
 msgstr "|N|Ny PIN"
 
@@ -8162,7 +8181,7 @@ msgstr "|N|Ny PIN"
 msgid "run in multi server mode (foreground)"
 msgstr "kjør i multi-tjenermodus (forgrunn)"
 
-#: scd/scdaemon.c:129 sm/gpgsm.c:345 dirmngr/dirmngr.c:187
+#: scd/scdaemon.c:129 sm/gpgsm.c:348 dirmngr/dirmngr.c:188
 msgid "|LEVEL|set the debugging level to LEVEL"
 msgstr "|NIVÅ|endre feilsøkingsnivå til valgt NIVÅ"
 
@@ -8182,31 +8201,31 @@ msgstr "|NAVN|bruk valgt NAVN som ct-API-driver"
 msgid "|NAME|use NAME as PC/SC driver"
 msgstr "|NAME|bruk valgt NAVN som PC-/SC-driver"
 
-#: scd/scdaemon.c:145
+#: scd/scdaemon.c:146
 msgid "do not use the internal CCID driver"
 msgstr "ikke bruk intern CCID-driver"
 
-#: scd/scdaemon.c:151
+#: scd/scdaemon.c:152
 msgid "|N|disconnect the card after N seconds of inactivity"
 msgstr "|N|koble fra kort etter N antall sekunder uten aktivitet"
 
-#: scd/scdaemon.c:154
+#: scd/scdaemon.c:155
 msgid "do not use a reader's pinpad"
 msgstr "ikke bruk kodetastatur"
 
-#: scd/scdaemon.c:159
+#: scd/scdaemon.c:160
 msgid "deny the use of admin card commands"
 msgstr "avvis bruk av admin-kortkommandoer"
 
-#: scd/scdaemon.c:162
+#: scd/scdaemon.c:163
 msgid "use variable length input for pinpad"
 msgstr "bruk inndata av vairabel lengde for kodetastatur"
 
-#: scd/scdaemon.c:311
+#: scd/scdaemon.c:312
 msgid "Usage: @SCDAEMON@ [options] (-h for help)"
 msgstr "Bruk: @SCDAEMON@ [valg] (-h for hjelp)"
 
-#: scd/scdaemon.c:313
+#: scd/scdaemon.c:314
 msgid ""
 "Syntax: scdaemon [options] [command [args]]\n"
 "Smartcard daemon for @GNUPG@\n"
@@ -8214,17 +8233,17 @@ msgstr ""
 "Syntaks: scdaemon [valg] [kommando [arg]]\n"
 "Smartcard-bakgrunnsprogram for @GNUPG@\n"
 
-#: scd/scdaemon.c:806
+#: scd/scdaemon.c:808
 #, c-format
 msgid "please use the option '--daemon' to run the program in the background\n"
 msgstr "bruk valget «--daemon» for å kjøre programmet i bakgrunnen\n"
 
-#: scd/scdaemon.c:1183 dirmngr/dirmngr.c:2082
+#: scd/scdaemon.c:1185 dirmngr/dirmngr.c:2119
 #, c-format
 msgid "handler for fd %d started\n"
 msgstr "startet håndteringsprogram for fd %d\n"
 
-#: scd/scdaemon.c:1195 dirmngr/dirmngr.c:2090
+#: scd/scdaemon.c:1197 dirmngr/dirmngr.c:2127
 #, c-format
 msgid "handler for fd %d terminated\n"
 msgstr "avsluttet håndteringsprogram for fd %d\n"
@@ -8271,7 +8290,7 @@ msgstr "Merk: ukritisk sertifikat-regelsett er ikke tillatt"
 msgid "certificate policy not allowed"
 msgstr "sertifikatregelverk tillates ikke"
 
-#: sm/certchain.c:595 sm/keydb.c:1106 sm/keydb.c:1192
+#: sm/certchain.c:595 sm/keydb.c:1084 sm/keydb.c:1171
 #, c-format
 msgid "failed to get the fingerprint\n"
 msgstr "klarte ikke å hente fingeravtrykk\n"
@@ -8306,8 +8325,8 @@ msgstr "antall treff på sertifikater: %d\n"
 msgid "dirmngr cache-only key lookup failed: %s\n"
 msgstr "nøkkeloppslag i dirmngr-hurtiglager mislyktes: %s\n"
 
-#: sm/certchain.c:1041 sm/certchain.c:1554 sm/certchain.c:2192 sm/decrypt.c:265
-#: sm/encrypt.c:344 sm/import.c:415 sm/keydb.c:1113 sm/keydb.c:1199
+#: sm/certchain.c:1041 sm/certchain.c:1554 sm/certchain.c:2192 sm/decrypt.c:728
+#: sm/encrypt.c:345 sm/import.c:415 sm/keydb.c:1091 sm/keydb.c:1178
 #: sm/sign.c:337 sm/verify.c:118
 #, c-format
 msgid "failed to allocate keyDB handle\n"
@@ -8500,13 +8519,13 @@ msgid "a %u bit hash is not valid for a %u bit %s key\n"
 msgstr "kontrollsum på %u bit er ugyldig for en %u-bit %s-nøkkel\n"
 
 #: sm/certcheck.c:238 sm/certcheck.c:262 dirmngr/crlcache.c:1542
-#: dirmngr/crlcache.c:1566 dirmngr/dirmngr.c:1324 dirmngr/validate.c:903
+#: dirmngr/crlcache.c:1566 dirmngr/dirmngr.c:1361 dirmngr/validate.c:903
 #: dirmngr/validate.c:927
 #, c-format
 msgid "out of core\n"
 msgstr "kjernen er full\n"
 
-#: sm/certcheck.c:371 sm/verify.c:213
+#: sm/certcheck.c:370 sm/verify.c:213
 #, c-format
 msgid "(this is the MD2 algorithm)\n"
 msgstr "(dette er algortime MD2)\n"
@@ -8797,22 +8816,34 @@ msgstr ""
 msgid "resource problem: out of core\n"
 msgstr "ressursproblem: oppbrukt kjerne\n"
 
-#: sm/decrypt.c:341
+#: sm/decrypt.c:536
+#, fuzzy, c-format
+#| msgid "%s encrypted data\n"
+msgid "%s.%s encrypted data\n"
+msgstr "%s krypterte data\n"
+
+#: sm/decrypt.c:803
 #, c-format
 msgid "(this is the RC2 algorithm)\n"
 msgstr "(dette er algoritme RC2)\n"
 
-#: sm/decrypt.c:343
+#: sm/decrypt.c:805
 #, c-format
 msgid "(this does not seem to be an encrypted message)\n"
 msgstr "(dette ser ikke ut som en kryptert melding)\n"
 
+#: sm/decrypt.c:958
+#, fuzzy, c-format
+#| msgid "encrypted with %s key, ID %s\n"
+msgid "encrypted to %s key %s\n"
+msgstr "kryptert med %s-nøkkel, ID %s\n"
+
 #: sm/delete.c:51 sm/delete.c:112
 #, c-format
 msgid "certificate '%s' not found: %s\n"
 msgstr "fant ikke sertifikatet «%s»: %s\n"
 
-#: sm/delete.c:122 sm/keydb.c:1209 sm/keydb.c:1307
+#: sm/delete.c:122 sm/keydb.c:1189 sm/keydb.c:1288
 #, c-format
 msgid "error locking keybox: %s\n"
 msgstr "feil under låsing av nøkkelskrin: %s\n"
@@ -8832,128 +8863,128 @@ msgstr "sertifikat «%s» slettet\n"
 msgid "deleting certificate \"%s\" failed: %s\n"
 msgstr "sletting av sertifikat «%s» mislyktes: %s\n"
 
-#: sm/encrypt.c:330
+#: sm/encrypt.c:331
 #, c-format
 msgid "no valid recipients given\n"
 msgstr "ingen gyldige mottakere valgt\n"
 
-#: sm/gpgsm.c:215
+#: sm/gpgsm.c:216
 msgid "list external keys"
 msgstr "vis eksterne nøkler"
 
-#: sm/gpgsm.c:217
+#: sm/gpgsm.c:218
 msgid "list certificate chain"
 msgstr "vis sertifikatkjede "
 
-#: sm/gpgsm.c:225
+#: sm/gpgsm.c:226
 msgid "import certificates"
 msgstr "importer sertifikater"
 
-#: sm/gpgsm.c:226
+#: sm/gpgsm.c:227
 msgid "export certificates"
 msgstr "eksporter sertifikater"
 
-#: sm/gpgsm.c:234
+#: sm/gpgsm.c:235
 msgid "register a smartcard"
 msgstr "registrer smartkort"
 
-#: sm/gpgsm.c:237
+#: sm/gpgsm.c:238
 msgid "pass a command to the dirmngr"
 msgstr "send en kommando til dirmngr"
 
-#: sm/gpgsm.c:239
+#: sm/gpgsm.c:240
 msgid "invoke gpg-protect-tool"
 msgstr "kall gpg-protect-tool"
 
-#: sm/gpgsm.c:256
+#: sm/gpgsm.c:257
 msgid "create base-64 encoded output"
 msgstr "lag base64-kodet utdata"
 
-#: sm/gpgsm.c:265
+#: sm/gpgsm.c:266
 msgid "assume input is in PEM format"
 msgstr "forvent inndata i «PEM»-format"
 
-#: sm/gpgsm.c:267
+#: sm/gpgsm.c:268
 msgid "assume input is in base-64 format"
 msgstr "forvent inndata i «base-64»-format"
 
-#: sm/gpgsm.c:269
+#: sm/gpgsm.c:270
 msgid "assume input is in binary format"
 msgstr "forvent inndata i binærformat"
 
-#: sm/gpgsm.c:276
+#: sm/gpgsm.c:277
 msgid "never consult a CRL"
 msgstr "aldri spør CRL"
 
-#: sm/gpgsm.c:286
+#: sm/gpgsm.c:287
 msgid "check validity using OCSP"
 msgstr "kontroller gyldighet med OCSP"
 
-#: sm/gpgsm.c:291
+#: sm/gpgsm.c:292
 msgid "|N|number of certificates to include"
 msgstr "|N|antall sertifikater som skal være med"
 
-#: sm/gpgsm.c:294
+#: sm/gpgsm.c:295
 msgid "|FILE|take policy information from FILE"
 msgstr "|FIL|hent regler fra valgt FIL"
 
-#: sm/gpgsm.c:297
+#: sm/gpgsm.c:298
 msgid "do not check certificate policies"
 msgstr "ikke kontroller sertifikatregler"
 
-#: sm/gpgsm.c:301
+#: sm/gpgsm.c:302
 msgid "fetch missing issuer certificates"
 msgstr "hent manglende utstedersertifikat"
 
-#: sm/gpgsm.c:312
+#: sm/gpgsm.c:313
 msgid "don't use the terminal at all"
 msgstr "ikke bruk terminal i det hele tatt"
 
-#: sm/gpgsm.c:314
+#: sm/gpgsm.c:315
 msgid "|FILE|write a server mode log to FILE"
 msgstr "|FIL|lagre en tjenermodus-logg i valgt FIL"
 
-#: sm/gpgsm.c:319
+#: sm/gpgsm.c:320
 msgid "|FILE|write an audit log to FILE"
 msgstr "|FIL|lagre en revisjonslogg i valgt FIL"
 
-#: sm/gpgsm.c:322
+#: sm/gpgsm.c:323
 msgid "batch mode: never ask"
 msgstr "buntmodus: aldri spør"
 
-#: sm/gpgsm.c:323
+#: sm/gpgsm.c:324
 msgid "assume yes on most questions"
 msgstr "svar automatisk ja på de fleste spørsmål"
 
-#: sm/gpgsm.c:324
+#: sm/gpgsm.c:325
 msgid "assume no on most questions"
 msgstr "svar automatisk nei på de fleste spørsmål"
 
-#: sm/gpgsm.c:327
+#: sm/gpgsm.c:328
 msgid "|FILE|add keyring to the list of keyrings"
 msgstr "|FIL|legg til nøkkelknippe i liste over nøkkelknipper"
 
-#: sm/gpgsm.c:330
+#: sm/gpgsm.c:331
 msgid "|USER-ID|use USER-ID as default secret key"
 msgstr "|BRUKER-ID|bruk valgt BRUKER-ID som forvalgt hemmelig nøkkel"
 
-#: sm/gpgsm.c:340 tools/gpgconf-comp.c:837
+#: sm/gpgsm.c:341 dirmngr/dirmngr.c:214 tools/gpgconf-comp.c:841
 msgid "|SPEC|use this keyserver to lookup keys"
 msgstr "|SPEC|bruk valgt nøkkeltjener til å slå opp nøkler"
 
-#: sm/gpgsm.c:357
+#: sm/gpgsm.c:360
 msgid "|NAME|use cipher algorithm NAME"
 msgstr "|NAVN|bruk valgt krypteringsalgoritme-NAVN"
 
-#: sm/gpgsm.c:359
+#: sm/gpgsm.c:362
 msgid "|NAME|use message digest algorithm NAME"
 msgstr "|NAVN|bruk valgt summeringsalgoritme-NAVN for melding"
 
-#: sm/gpgsm.c:570
+#: sm/gpgsm.c:573
 msgid "Usage: @GPGSM@ [options] [files] (-h for help)"
 msgstr "Bruk: @GPGSM@ [valg] [filer] (-h for hjelp)"
 
-#: sm/gpgsm.c:573
+#: sm/gpgsm.c:576
 msgid ""
 "Syntax: @GPGSM@ [options] [files]\n"
 "Sign, check, encrypt or decrypt using the S/MIME protocol\n"
@@ -8963,47 +8994,27 @@ msgstr ""
 "Signer, kontroller, krypter eller dekrypter.\n"
 "Forvalgt handling avhenger av inndata.\n"
 
-#: sm/gpgsm.c:777
+#: sm/gpgsm.c:784
 #, c-format
 msgid "Note: won't be able to encrypt to '%s': %s\n"
 msgstr "Merk: det er ikke mulig å kryptere til «%s»: %s\n"
 
-#: sm/gpgsm.c:788
+#: sm/gpgsm.c:795
 #, c-format
 msgid "unknown validation model '%s'\n"
 msgstr "«%s» er en ukjent kontrollmodell\n"
 
-#: sm/gpgsm.c:839 dirmngr/ldapserver.c:86
-#, c-format
-msgid "%s:%u: no hostname given\n"
-msgstr "%s:%u: vertsnavn mangler\n"
-
-#: sm/gpgsm.c:858 dirmngr/ldapserver.c:105
-#, c-format
-msgid "%s:%u: password given without user\n"
-msgstr "%s:%u: passord skrevet inn uten brukernavn\n"
-
-#: sm/gpgsm.c:879 dirmngr/ldapserver.c:126
-#, c-format
-msgid "%s:%u: skipping this line\n"
-msgstr "%s:%u: hopper over denne linja\n"
-
-#: sm/gpgsm.c:1449
-#, c-format
-msgid "could not parse keyserver\n"
-msgstr "klarte ikke å tolke nøkkeltjener\n"
-
-#: sm/gpgsm.c:1712
+#: sm/gpgsm.c:1612
 #, c-format
 msgid "importing common certificates '%s'\n"
 msgstr "importerer sertifikat «%s»\n"
 
-#: sm/gpgsm.c:1755
+#: sm/gpgsm.c:1655
 #, c-format
 msgid "can't sign using '%s': %s\n"
 msgstr "klarte ikke å signere med «%s»: %s\n"
 
-#: sm/gpgsm.c:2122
+#: sm/gpgsm.c:2028
 #, c-format
 msgid "invalid command (there is no implicit command)\n"
 msgstr "ugyldig kommando (implisitt kommando finnes ikke)\n"
@@ -9023,7 +9034,7 @@ msgstr "feil under lagring av sertifikat\n"
 msgid "basic certificate checks failed - not imported\n"
 msgstr "enkel sertifikatkontroll mislyktes. Ikke importert\n"
 
-#: sm/import.c:472 sm/keydb.c:1229 sm/keydb.c:1319
+#: sm/import.c:472 sm/keydb.c:1209 sm/keydb.c:1300
 #, c-format
 msgid "error getting stored flags: %s\n"
 msgstr "feil under henting av lagrede valg: %s\n"
@@ -9038,27 +9049,27 @@ msgstr "feil under importering av sertifikat: %s\n"
 msgid "error reading input: %s\n"
 msgstr "feil under lesing av inndata: %s\n"
 
-#: sm/keydb.c:1148
+#: sm/keydb.c:1127
 #, c-format
 msgid "problem looking for existing certificate: %s\n"
 msgstr "klarte ikke å søke etter sertifikat: %s\n"
 
-#: sm/keydb.c:1160
+#: sm/keydb.c:1139
 #, c-format
 msgid "error finding writable keyDB: %s\n"
 msgstr "feil under søk etter skrivbar nøkkeldatabase: %s\n"
 
-#: sm/keydb.c:1168
+#: sm/keydb.c:1147
 #, c-format
 msgid "error storing certificate: %s\n"
 msgstr "feil under lagring av sertifikat: %s\n"
 
-#: sm/keydb.c:1220
+#: sm/keydb.c:1200
 #, c-format
 msgid "problem re-searching certificate: %s\n"
 msgstr "det oppstod en feil under nytt søk etter sertifikat: %s\n"
 
-#: sm/keydb.c:1241 sm/keydb.c:1330
+#: sm/keydb.c:1221 sm/keydb.c:1311
 #, c-format
 msgid "error storing flags: %s\n"
 msgstr "feil under lagring av valg: %s\n"
@@ -9099,7 +9110,7 @@ msgstr ""
 "\n"
 "%s%sEr du sikker på at du vil gjøre dette?"
 
-#: sm/qualified.c:215 sm/verify.c:678
+#: sm/qualified.c:215 sm/verify.c:679
 #, c-format
 msgid ""
 "Note, that this software is not officially approved to create or verify such "
@@ -9151,7 +9162,7 @@ msgstr "[dato ikke oppgitt]"
 msgid "algorithm:"
 msgstr "algoritme: %s"
 
-#: sm/verify.c:535
+#: sm/verify.c:536
 #, c-format
 msgid ""
 "invalid signature: message digest attribute does not match computed one\n"
@@ -9159,17 +9170,17 @@ msgstr ""
 "ugyldig signatur. Kontrollsum-attributt for melding samsvarer ikke med "
 "attributt for utregnet sum\n"
 
-#: sm/verify.c:656
+#: sm/verify.c:657
 #, c-format
 msgid "Good signature from"
 msgstr "Gyldig signatur fra"
 
-#: sm/verify.c:657
+#: sm/verify.c:658
 #, c-format
 msgid "                aka"
 msgstr "                også kjent som"
 
-#: sm/verify.c:675
+#: sm/verify.c:676
 #, c-format
 msgid "This is a qualified signature\n"
 msgstr "Dette er en godkjent signatur\n"
@@ -9792,7 +9803,7 @@ msgid "error retrieving '%s': %s\n"
 msgstr "feil under henting av «%s»: %s\n"
 
 #: dirmngr/crlfetch.c:218 dirmngr/ldap-wrapper-ce.c:492
-#: dirmngr/ldap-wrapper.c:884 dirmngr/misc.c:573
+#: dirmngr/ldap-wrapper.c:885 dirmngr/misc.c:573
 #, c-format
 msgid "error initializing reader object: %s\n"
 msgstr "feil under innlasting av leserobjekt: %s\n"
@@ -9948,113 +9959,113 @@ msgstr "forventet fullstendig filsti\n"
 msgid "looking up '%s'\n"
 msgstr "slår opp «%s»\n"
 
-#: dirmngr/dirmngr.c:170
+#: dirmngr/dirmngr.c:171
 msgid "list the contents of the CRL cache"
 msgstr "vis innhold i CRL-hurtiglager"
 
-#: dirmngr/dirmngr.c:171
+#: dirmngr/dirmngr.c:172
 msgid "|FILE|load CRL from FILE into cache"
 msgstr "|FIL|last inn CRL fra valgt FIL i hurtiglager"
 
-#: dirmngr/dirmngr.c:172
+#: dirmngr/dirmngr.c:173
 msgid "|URL|fetch a CRL from URL"
 msgstr "|ADR|hent CRL fra valgt nettADResse"
 
-#: dirmngr/dirmngr.c:173
+#: dirmngr/dirmngr.c:174
 msgid "shutdown the dirmngr"
 msgstr "slå av dirmngr"
 
-#: dirmngr/dirmngr.c:174
+#: dirmngr/dirmngr.c:175
 msgid "flush the cache"
 msgstr "tøm hurtiglager"
 
-#: dirmngr/dirmngr.c:190 tools/gpgconf-comp.c:522 tools/gpgconf-comp.c:741
-#: tools/gpgconf-comp.c:854 tools/gpgconf-comp.c:950
+#: dirmngr/dirmngr.c:191 tools/gpgconf-comp.c:522 tools/gpgconf-comp.c:745
+#: tools/gpgconf-comp.c:858 tools/gpgconf-comp.c:954
 msgid "|FILE|write server mode logs to FILE"
 msgstr "|FIL|skriv tjenermodus-logger til valgt FIL"
 
-#: dirmngr/dirmngr.c:191
+#: dirmngr/dirmngr.c:192
 msgid "run without asking a user"
 msgstr "kjør uten å spørre bruker"
 
-#: dirmngr/dirmngr.c:192
+#: dirmngr/dirmngr.c:193
 msgid "force loading of outdated CRLs"
 msgstr "tving innlasting av utdatert CRL"
 
-#: dirmngr/dirmngr.c:193
+#: dirmngr/dirmngr.c:194
 msgid "allow sending OCSP requests"
 msgstr "tillat sending av OCSP-forespørsler"
 
-#: dirmngr/dirmngr.c:195
+#: dirmngr/dirmngr.c:196
 msgid "allow online software version check"
 msgstr "tillat kontroll av programvare-versjon over nett"
 
-#: dirmngr/dirmngr.c:196
+#: dirmngr/dirmngr.c:197
 msgid "inhibit the use of HTTP"
 msgstr "hindre bruk av HTTP"
 
-#: dirmngr/dirmngr.c:197
+#: dirmngr/dirmngr.c:198
 msgid "inhibit the use of LDAP"
 msgstr "hindre bruk av LDAP"
 
-#: dirmngr/dirmngr.c:199
+#: dirmngr/dirmngr.c:200
 msgid "ignore HTTP CRL distribution points"
 msgstr "ignorer HTTP CRL-distribusjonspunkter"
 
-#: dirmngr/dirmngr.c:201
+#: dirmngr/dirmngr.c:202
 msgid "ignore LDAP CRL distribution points"
 msgstr "ignorer LDAP CRL-distribusjonspunkter"
 
-#: dirmngr/dirmngr.c:203
+#: dirmngr/dirmngr.c:204
 msgid "ignore certificate contained OCSP service URLs"
 msgstr "ignorer OSCP-tjenesteadresser som følger sertifikater"
 
-#: dirmngr/dirmngr.c:206
+#: dirmngr/dirmngr.c:207
 msgid "|URL|redirect all HTTP requests to URL"
 msgstr "|ADR|videresend alle HTTP-forespørsler til valgt nettADResse"
 
-#: dirmngr/dirmngr.c:208
+#: dirmngr/dirmngr.c:209
 msgid "|HOST|use HOST for LDAP queries"
 msgstr "|VERT|bruk valgt VERT til LDAP-oppslag"
 
-#: dirmngr/dirmngr.c:210
+#: dirmngr/dirmngr.c:211
 msgid "do not use fallback hosts with --ldap-proxy"
 msgstr "ikke bruk tilbakefallsverter ved bruk av valget «--ldap-proxy»"
 
-#: dirmngr/dirmngr.c:213
+#: dirmngr/dirmngr.c:216
 msgid "|FILE|read LDAP server list from FILE"
 msgstr "|FIL|les LDAP-tjenerliste fra valgt FIL"
 
-#: dirmngr/dirmngr.c:215
+#: dirmngr/dirmngr.c:218
 msgid "add new servers discovered in CRL distribution points to serverlist"
 msgstr ""
 "legg til tjenere i tjenerliste som blir oppdaget via CRL-distribusjonspunkter"
 
-#: dirmngr/dirmngr.c:218 dirmngr/dirmngr_ldap.c:137
+#: dirmngr/dirmngr.c:221
 msgid "|N|set LDAP timeout to N seconds"
 msgstr "|N|endre LDAP-tidsavbrudd til N antall sekunder"
 
-#: dirmngr/dirmngr.c:221
+#: dirmngr/dirmngr.c:224
 msgid "|URL|use OCSP responder at URL"
 msgstr "|ADR|bruk OCSP-svartjeneste ved valgt nettADResse"
 
-#: dirmngr/dirmngr.c:223
+#: dirmngr/dirmngr.c:226
 msgid "|FPR|OCSP response signed by FPR"
 msgstr "|FPR|OCSP-svartjeneste signert av FPR"
 
-#: dirmngr/dirmngr.c:229
+#: dirmngr/dirmngr.c:232
 msgid "|N|do not return more than N items in one query"
 msgstr "|N|ikke vis flere enn N antall elementer per spørring"
 
-#: dirmngr/dirmngr.c:234
+#: dirmngr/dirmngr.c:237
 msgid "|FILE|use the CA certificates in FILE for HKP over TLS"
 msgstr "|FIL|bruk CA-sertifikater i valgt FIL til HKP via TLS"
 
-#: dirmngr/dirmngr.c:236
+#: dirmngr/dirmngr.c:239
 msgid "route all network traffic via Tor"
 msgstr "kjør all nettverkstrafikk gjennom Tor"
 
-#: dirmngr/dirmngr.c:265
+#: dirmngr/dirmngr.c:268
 msgid ""
 "@\n"
 "(See the \"info\" manual for a complete listing of all commands and "
@@ -10063,11 +10074,11 @@ msgstr ""
 "@\n"
 "Se «info»-bruksanvisning for fullstendig liste over alle kommandoer og valg\n"
 
-#: dirmngr/dirmngr.c:407
+#: dirmngr/dirmngr.c:415
 msgid "Usage: @DIRMNGR@ [options] (-h for help)"
 msgstr "Bruk: @DIRMNGR@ [valg] (-h for hjelp)"
 
-#: dirmngr/dirmngr.c:409
+#: dirmngr/dirmngr.c:417
 msgid ""
 "Syntax: @DIRMNGR@ [options] [command [args]]\n"
 "Keyserver, CRL, and OCSP access for @GNUPG@\n"
@@ -10075,269 +10086,103 @@ msgstr ""
 "Syntaks: @DIRMNGR@ [valg] [kommando [arg]]\n"
 "Tilgang til nøkkeltjener, CRL og OCSP for @GNUPG@\n"
 
-#: dirmngr/dirmngr.c:489
+#: dirmngr/dirmngr.c:497
 #, c-format
 msgid "valid debug levels are: %s\n"
 msgstr "følgende feilsøkingsnivåer er gyldige: %s\n"
 
-#: dirmngr/dirmngr.c:575 tools/gpgconf.c:647 tools/gpgconf.c:682
+#: dirmngr/dirmngr.c:583 tools/gpgconf.c:647 tools/gpgconf.c:682
 #: tools/gpgconf.c:780
 #, c-format
 msgid "usage: %s [options] "
 msgstr "bruk: %s [valg] "
 
-#: dirmngr/dirmngr.c:1212
+#: dirmngr/dirmngr.c:1249
 #, c-format
 msgid "colons are not allowed in the socket name\n"
 msgstr "kolon tillates ikke i sokkelnavn\n"
 
-#: dirmngr/dirmngr.c:1444 dirmngr/server.c:1824
+#: dirmngr/dirmngr.c:1481 dirmngr/server.c:1878
 #, c-format
 msgid "fetching CRL from '%s' failed: %s\n"
 msgstr "henting av CRL fra «%s» mislyktes: %s\n"
 
-#: dirmngr/dirmngr.c:1450 dirmngr/server.c:1830
+#: dirmngr/dirmngr.c:1487 dirmngr/server.c:1884
 #, c-format
 msgid "processing CRL from '%s' failed: %s\n"
 msgstr "behandling av CRL fra «%s» mislyktes: %s\n"
 
-#: dirmngr/dirmngr.c:1645
+#: dirmngr/dirmngr.c:1682
 #, c-format
 msgid "%s:%u: line too long - skipped\n"
 msgstr "%s:%u: for lang linje. Hoppet over\n"
 
-#: dirmngr/dirmngr.c:1700 dirmngr/dirmngr.c:1784
+#: dirmngr/dirmngr.c:1737 dirmngr/dirmngr.c:1821
 #, c-format
 msgid "%s:%u: invalid fingerprint detected\n"
 msgstr "%s:%u: oppdaget ugyldig fingeravtrykk\n"
 
-#: dirmngr/dirmngr.c:1736 dirmngr/dirmngr.c:1762 tools/gpgconf-comp.c:4191
+#: dirmngr/dirmngr.c:1773 dirmngr/dirmngr.c:1799 tools/gpgconf-comp.c:4199
 #, c-format
 msgid "%s:%u: read error: %s\n"
 msgstr "%s:%u: lesefeil: %s\n"
 
-#: dirmngr/dirmngr.c:1791
+#: dirmngr/dirmngr.c:1828
 #, c-format
 msgid "%s:%u: garbage at end of line ignored\n"
 msgstr "%s:%u: ignorerer ugyldige data ved linjeslutt\n"
 
-#: dirmngr/dirmngr.c:1860
+#: dirmngr/dirmngr.c:1897
 #, c-format
 msgid "SIGHUP received - re-reading configuration and flushing caches\n"
 msgstr "SIGHUP mottatt. Leser inn oppsett på nytt og tømmer hurtiglagre\n"
 
-#: dirmngr/dirmngr.c:1900
+#: dirmngr/dirmngr.c:1937
 #, c-format
 msgid "SIGUSR2 received - no action defined\n"
 msgstr "SIGUSR2 mottatt. Ingen handling definert\n"
 
-#: dirmngr/dirmngr.c:1905
+#: dirmngr/dirmngr.c:1942
 #, c-format
 msgid "SIGTERM received - shutting down ...\n"
 msgstr "SIGTERM mottatt. Slår av …\n"
 
-#: dirmngr/dirmngr.c:1907
+#: dirmngr/dirmngr.c:1944
 #, c-format
 msgid "SIGTERM received - still %d active connections\n"
 msgstr "SIGTERM mottatt. %d tilkoblinger er fremdeles aktive\n"
 
-#: dirmngr/dirmngr.c:1912
+#: dirmngr/dirmngr.c:1949
 #, c-format
 msgid "shutdown forced\n"
 msgstr "slår av under tvang\n"
 
-#: dirmngr/dirmngr.c:1920
+#: dirmngr/dirmngr.c:1957
 #, c-format
 msgid "SIGINT received - immediate shutdown\n"
 msgstr "SIGINT mottatt. Slår av umiddelbart\n"
 
-#: dirmngr/dirmngr.c:1927
+#: dirmngr/dirmngr.c:1964
 #, c-format
 msgid "signal %d received - no action defined\n"
 msgstr "signal %d mottatt. Ingen handling definert\n"
 
-#: dirmngr/dirmngr_ldap.c:138
-msgid "return all values in a record oriented format"
-msgstr "vis alle verdier i oppføringsorientert format"
-
-#: dirmngr/dirmngr_ldap.c:141
-msgid "|NAME|ignore host part and connect through NAME"
-msgstr "|NAVN|ignorer vertsdel og koble til med NAVN"
-
-#: dirmngr/dirmngr_ldap.c:142
-msgid "|NAME|connect to host NAME"
-msgstr "|NAVN|koble til valgt vertsNAVN"
-
-#: dirmngr/dirmngr_ldap.c:143
-msgid "|N|connect to port N"
-msgstr "|N|koble til port N"
-
-#: dirmngr/dirmngr_ldap.c:144
-msgid "|NAME|use user NAME for authentication"
-msgstr "|NAVN|bruk valgt brukerNAVN til autentisering"
-
-#: dirmngr/dirmngr_ldap.c:145
-msgid "|PASS|use password PASS for authentication"
-msgstr "|PASS|bruk valgt PASSord til autentisering "
-
-#: dirmngr/dirmngr_ldap.c:147
-msgid "take password from $DIRMNGR_LDAP_PASS"
-msgstr "hent passord fra $DIRMNGR_LDAP_PASS"
-
-#: dirmngr/dirmngr_ldap.c:148
-msgid "|STRING|query DN STRING"
-msgstr "|STRENG|utfør spørring med valgt DN-STRENG"
-
-#: dirmngr/dirmngr_ldap.c:149
-msgid "|STRING|use STRING as filter expression"
-msgstr "|STRENG|bruk valgt STRENG som filteruttrykk"
-
-#: dirmngr/dirmngr_ldap.c:150
-msgid "|STRING|return the attribute STRING"
-msgstr "|STRENG|vis attributt valgt med STRENG"
-
-#: dirmngr/dirmngr_ldap.c:211
-msgid "Usage: dirmngr_ldap [options] [URL] (-h for help)\n"
-msgstr "Bruk: dirmngr_ldap [valg] [ADR] (-h for hjelp)\n"
-
-#: dirmngr/dirmngr_ldap.c:214
-msgid ""
-"Syntax: dirmngr_ldap [options] [URL]\n"
-"Internal LDAP helper for Dirmngr\n"
-"Interface and options may change without notice\n"
-msgstr ""
-"Syntaks: dirmngr_ldap [valg] [ADR]\n"
-"Internt LDAP-hjelpeverktøy for Dirmngr\n"
-"Grensesnitt og valgmuligheter kan endres uten varsel\n"
-
-#: dirmngr/dirmngr_ldap.c:340
-#, c-format
-msgid "invalid port number %d\n"
-msgstr "portnummer %d er ugyldig\n"
-
-#: dirmngr/dirmngr_ldap.c:456
-#, c-format
-msgid "scanning result for attribute '%s'\n"
-msgstr "ser gjennom treff for attributt «%s»\n"
-
-#: dirmngr/dirmngr_ldap.c:463 dirmngr/dirmngr_ldap.c:546
-#: dirmngr/dirmngr_ldap.c:570 dirmngr/dirmngr_ldap.c:582
-#: dirmngr/dirmngr_ldap.c:720
-#, c-format
-msgid "error writing to stdout: %s\n"
-msgstr "feil under skriving til std.utkanal: %s\n"
-
-#: dirmngr/dirmngr_ldap.c:480
-#, c-format
-msgid "          available attribute '%s'\n"
-msgstr "          tilgjengelig attributt «%s»\n"
-
-#: dirmngr/dirmngr_ldap.c:518
-#, c-format
-msgid "attribute '%s' not found\n"
-msgstr "fant ikke attributt «%s»\n"
-
-#: dirmngr/dirmngr_ldap.c:525
-#, c-format
-msgid "found attribute '%s'\n"
-msgstr "fant attributt «%s»\n"
-
-#: dirmngr/dirmngr_ldap.c:634
-#, c-format
-msgid "processing url '%s'\n"
-msgstr "behandler adresse «%s»\n"
-
-#: dirmngr/dirmngr_ldap.c:636
-#, c-format
-msgid "          user '%s'\n"
-msgstr "          bruker «%s»\n"
-
-#: dirmngr/dirmngr_ldap.c:638
-#, c-format
-msgid "          pass '%s'\n"
-msgstr "          passord «%s»\n"
-
-#: dirmngr/dirmngr_ldap.c:640
-#, c-format
-msgid "          host '%s'\n"
-msgstr "          vert «%s»\n"
-
-#: dirmngr/dirmngr_ldap.c:641
-#, c-format
-msgid "          port %d\n"
-msgstr "          port %d\n"
-
-#: dirmngr/dirmngr_ldap.c:643
-#, c-format
-msgid "            DN '%s'\n"
-msgstr "            DN «%s»\n"
-
-#: dirmngr/dirmngr_ldap.c:645
-#, c-format
-msgid "        filter '%s'\n"
-msgstr "        filter «%s»\n"
-
-#: dirmngr/dirmngr_ldap.c:650 dirmngr/dirmngr_ldap.c:653
-#, c-format
-msgid "          attr '%s'\n"
-msgstr "          attr «%s»\n"
-
-#: dirmngr/dirmngr_ldap.c:659
-#, c-format
-msgid "no host name in '%s'\n"
-msgstr "ingen vertsnavn i «%s»\n"
-
-#: dirmngr/dirmngr_ldap.c:664
-#, c-format
-msgid "no attribute given for query '%s'\n"
-msgstr "ingen attributt oppgitt for spørring «%s»\n"
-
-#: dirmngr/dirmngr_ldap.c:670
-#, c-format
-msgid "WARNING: using first attribute only\n"
-msgstr "ADVARSEL: bruker bare første attributt\n"
-
-#: dirmngr/dirmngr_ldap.c:679
-#, c-format
-msgid "LDAP init to '%s:%d' failed: %s\n"
-msgstr "LDAP-init til «%s:%d» mislyktes: %s\n"
-
-#: dirmngr/dirmngr_ldap.c:702
-#, c-format
-msgid "binding to '%s:%d' failed: %s\n"
-msgstr "tilknytning til «%s:%d» mislyktes: %s\n"
-
-#: dirmngr/dirmngr_ldap.c:729
-#, c-format
-msgid "searching '%s' failed: %s\n"
-msgstr "søk etter «%s» mislyktes: %s\n"
-
-#: dirmngr/dirmngr_ldap.c:761
-#, c-format
-msgid "'%s' is not an LDAP URL\n"
-msgstr "«%s» er ikke en LDAP-adresse\n"
-
-#: dirmngr/dirmngr_ldap.c:767
-#, c-format
-msgid "'%s' is an invalid LDAP URL\n"
-msgstr "«%s» er en ugyldig LDAP-adresse\n"
-
-#: dirmngr/http.c:1987 dirmngr/ocsp.c:255
+#: dirmngr/http.c:1993 dirmngr/ocsp.c:255
 #, c-format
 msgid "error accessing '%s': http status %u\n"
 msgstr "fikk ikke tilgang til «%s»: http-status %u\n"
 
-#: dirmngr/http.c:3629 dirmngr/ocsp.c:229
+#: dirmngr/http.c:3644 dirmngr/ocsp.c:229
 #, c-format
 msgid "URL '%s' redirected to '%s' (%u)\n"
 msgstr "Videresendt fra adresse «%s» til «%s» (%u)\n"
 
-#: dirmngr/http.c:3635 dirmngr/ocsp.c:246
+#: dirmngr/http.c:3650 dirmngr/ocsp.c:246
 #, c-format
 msgid "too many redirections\n"
 msgstr "for mange videresendinger\n"
 
-#: dirmngr/http.c:3747
+#: dirmngr/http.c:3762
 #, fuzzy, c-format
 #| msgid "writing to '%s'\n"
 msgid "redirection changed to '%s'\n"
@@ -10378,31 +10223,51 @@ msgstr "venting på ldap-grensesnitt %d mislyktes: %s\n"
 msgid "ldap wrapper %d stalled - killing\n"
 msgstr "ldap-grensesnitt %d steilet - dreper prosess\n"
 
-#: dirmngr/ldap.c:91
+#: dirmngr/ldap.c:92
 #, c-format
 msgid "invalid char 0x%02x in host name - not added\n"
 msgstr "vertsnavn inneholder ugyldig tegn 0x%02x, og ble ikke lagt til\n"
 
-#: dirmngr/ldap.c:95
+#: dirmngr/ldap.c:96
 #, c-format
 msgid "adding '%s:%d' to the ldap server list\n"
 msgstr "legger til «%s:%d» i ldap-tjenerliste\n"
 
-#: dirmngr/ldap.c:98 dirmngr/misc.c:512
+#: dirmngr/ldap.c:99 dirmngr/misc.c:512
 #, c-format
 msgid "malloc failed: %s\n"
 msgstr "malloc mislyktes: %s\n"
 
-#: dirmngr/ldap.c:627
+#: dirmngr/ldap.c:221
 #, c-format
-msgid "start_cert_fetch: invalid pattern '%s'\n"
-msgstr "start_cert_fetch: mønsteret «%s» er ugyldig\n"
+msgid "'%s' is not an LDAP URL\n"
+msgstr "«%s» er ikke en LDAP-adresse\n"
+
+#: dirmngr/ldap.c:227 dirmngr/ldap.c:233
+#, c-format
+msgid "'%s' is an invalid LDAP URL\n"
+msgstr "«%s» er en ugyldig LDAP-adresse\n"
 
-#: dirmngr/ldap.c:839
+#: dirmngr/ldap.c:969
 #, c-format
 msgid "ldap_search hit the size limit of the server\n"
 msgstr "ldap_search overskred tjenerens størrelsesgrense\n"
 
+#: dirmngr/ldapserver.c:117
+#, c-format
+msgid "%s:%u: password given without user\n"
+msgstr "%s:%u: passord skrevet inn uten brukernavn\n"
+
+#: dirmngr/ldapserver.c:181
+#, c-format
+msgid "%s:%u: ignoring unknown flag '%s'\n"
+msgstr ""
+
+#: dirmngr/ldapserver.c:203
+#, c-format
+msgid "%s:%u: skipping this line\n"
+msgstr "%s:%u: hopper over denne linja\n"
+
 #: dirmngr/misc.c:172
 #, c-format
 msgid "invalid canonical S-expression found\n"
@@ -10582,71 +10447,67 @@ msgstr "OCSP-svartjeneste sendte for gammel status\n"
 msgid "assuan_inquire(%s) failed: %s\n"
 msgstr "«assuan_inquire»(%s) mislyktes: %s\n"
 
-#: dirmngr/server.c:1158
-msgid "ldapserver missing"
-msgstr "ldapserver mangler"
-
-#: dirmngr/server.c:1224
+#: dirmngr/server.c:1277
 msgid "serialno missing in cert ID"
 msgstr "serienummer mangler i sertifikat-ID"
 
-#: dirmngr/server.c:1387 dirmngr/server.c:1473 dirmngr/server.c:1909
-#: dirmngr/server.c:1980 dirmngr/server.c:2552 dirmngr/server.c:2567
+#: dirmngr/server.c:1440 dirmngr/server.c:1526 dirmngr/server.c:1963
+#: dirmngr/server.c:2034 dirmngr/server.c:2662 dirmngr/server.c:2677
 #, c-format
 msgid "assuan_inquire failed: %s\n"
 msgstr "«assuan_inquire» mislyktes: %s\n"
 
-#: dirmngr/server.c:1516
+#: dirmngr/server.c:1569
 #, c-format
 msgid "fetch_cert_by_url failed: %s\n"
 msgstr "«fetch_cert_by_url» mislyktes: %s\n"
 
-#: dirmngr/server.c:1528 dirmngr/server.c:1559 dirmngr/server.c:1718
+#: dirmngr/server.c:1581 dirmngr/server.c:1612 dirmngr/server.c:1772
 #, c-format
 msgid "error sending data: %s\n"
 msgstr "feil under sending av data: %s\n"
 
-#: dirmngr/server.c:1666
+#: dirmngr/server.c:1720
 #, c-format
 msgid "start_cert_fetch failed: %s\n"
 msgstr "«start_cert_fetch» mislyktes: %s\n"
 
-#: dirmngr/server.c:1699
+#: dirmngr/server.c:1753
 #, c-format
 msgid "fetch_next_cert failed: %s\n"
 msgstr "«fetch_next_cert» mislyktes: %s\n"
 
-#: dirmngr/server.c:1726
+#: dirmngr/server.c:1780
 #, c-format
 msgid "max_replies %d exceeded\n"
 msgstr "max_replies %d overskredet\n"
 
-#: dirmngr/server.c:2856
+#: dirmngr/server.c:2966
 #, c-format
 msgid "can't allocate control structure: %s\n"
 msgstr "klarte ikke å tildele kontrollstruktur: %s\n"
 
-#: dirmngr/server.c:2867
+#: dirmngr/server.c:2977
 #, c-format
 msgid "failed to allocate assuan context: %s\n"
 msgstr "klarte ikke å tildele assuan-kontekst: %s\n"
 
-#: dirmngr/server.c:2888
+#: dirmngr/server.c:2998
 #, c-format
 msgid "failed to initialize the server: %s\n"
 msgstr "klarte ikke å starte opp tjener: %s\n"
 
-#: dirmngr/server.c:2896
+#: dirmngr/server.c:3006
 #, c-format
 msgid "failed to the register commands with Assuan: %s\n"
 msgstr "klarte ikke å registrere kommandoer i Assuan: %s\n"
 
-#: dirmngr/server.c:2929
+#: dirmngr/server.c:3039
 #, c-format
 msgid "Assuan accept problem: %s\n"
 msgstr "Assuan-godkjenningsproblem: %s\n"
 
-#: dirmngr/server.c:2948
+#: dirmngr/server.c:3058
 #, c-format
 msgid "Assuan processing failed: %s\n"
 msgstr "Assuan-behandling mislyktes: %s\n"
@@ -10783,21 +10644,21 @@ msgid "error sending standard options: %s\n"
 msgstr "feil under sending av standardvalg: %s\n"
 
 #: tools/gpgconf-comp.c:481 tools/gpgconf-comp.c:617 tools/gpgconf-comp.c:692
-#: tools/gpgconf-comp.c:804 tools/gpgconf-comp.c:906
+#: tools/gpgconf-comp.c:808 tools/gpgconf-comp.c:910
 msgid "Options controlling the diagnostic output"
 msgstr "Styring av diagnostikk-utdata"
 
 #: tools/gpgconf-comp.c:494 tools/gpgconf-comp.c:630 tools/gpgconf-comp.c:705
-#: tools/gpgconf-comp.c:817 tools/gpgconf-comp.c:929
+#: tools/gpgconf-comp.c:821 tools/gpgconf-comp.c:933
 msgid "Options controlling the configuration"
 msgstr "Oppsettsvalg"
 
-#: tools/gpgconf-comp.c:517 tools/gpgconf-comp.c:659 tools/gpgconf-comp.c:736
-#: tools/gpgconf-comp.c:849 tools/gpgconf-comp.c:942
+#: tools/gpgconf-comp.c:517 tools/gpgconf-comp.c:659 tools/gpgconf-comp.c:740
+#: tools/gpgconf-comp.c:853 tools/gpgconf-comp.c:946
 msgid "Options useful for debugging"
 msgstr "Nyttige feilsøkingsvalg"
 
-#: tools/gpgconf-comp.c:530 tools/gpgconf-comp.c:669 tools/gpgconf-comp.c:862
+#: tools/gpgconf-comp.c:530 tools/gpgconf-comp.c:669 tools/gpgconf-comp.c:866
 msgid "Options controlling the security"
 msgstr "Sikkerhetsvalg"
 
@@ -10846,11 +10707,11 @@ msgstr "ikke tillat gjenbruk av gamle passordfraser"
 msgid "|N|set the Pinentry timeout to N seconds"
 msgstr "|N|endre tidsavbrudd for PIN-inntasting til N antall sekunder"
 
-#: tools/gpgconf-comp.c:707 tools/gpgconf-comp.c:819
+#: tools/gpgconf-comp.c:707 tools/gpgconf-comp.c:823
 msgid "|NAME|use NAME as default secret key"
 msgstr "|NAVN|bruk valgt NAVN som forvalgt hemmelig nøkkel"
 
-#: tools/gpgconf-comp.c:710 tools/gpgconf-comp.c:822
+#: tools/gpgconf-comp.c:710 tools/gpgconf-comp.c:826
 msgid "|NAME|encrypt to user ID NAME as well"
 msgstr "|NAVN|krypter også til valgt bruker-id-NAVN"
 
@@ -10858,133 +10719,133 @@ msgstr "|NAVN|krypter også til valgt bruker-id-NAVN"
 msgid "|SPEC|set up email aliases"
 msgstr "|SPES|sett opp e-post-alias"
 
-#: tools/gpgconf-comp.c:749 tools/gpgconf-comp.c:981
+#: tools/gpgconf-comp.c:753 tools/gpgconf-comp.c:985
 msgid "Configuration for Keyservers"
 msgstr "Oppsett for nøkkeltjenere"
 
-#: tools/gpgconf-comp.c:751 tools/gpgconf-comp.c:983
+#: tools/gpgconf-comp.c:755 tools/gpgconf-comp.c:987
 msgid "|URL|use keyserver at URL"
 msgstr "|ADR|bruk nøkkeltjener på valgt nettADResse"
 
-#: tools/gpgconf-comp.c:754
+#: tools/gpgconf-comp.c:758
 msgid "allow PKA lookups (DNS requests)"
 msgstr "tillat PKA-oppslag (DNS-forespørsler)"
 
-#: tools/gpgconf-comp.c:757
+#: tools/gpgconf-comp.c:761
 msgid "|MECHANISMS|use MECHANISMS to locate keys by mail address"
 msgstr "|MEKANISMER|bruk valgte MEKANISME til å finne nøkler med e-postadresse"
 
-#: tools/gpgconf-comp.c:760
+#: tools/gpgconf-comp.c:764
 #, fuzzy
 #| msgid "import keys from a keyserver"
 msgid "import missing key from a signature"
 msgstr "importer nøkler fra nøkkeltjener"
 
-#: tools/gpgconf-comp.c:763
+#: tools/gpgconf-comp.c:767
 #, fuzzy
 #| msgid "list and check key signatures"
 msgid "include the public key in signatures"
 msgstr "vis og kontroller nøkkelsignaturer"
 
-#: tools/gpgconf-comp.c:770 tools/gpgconf-comp.c:831
+#: tools/gpgconf-comp.c:774 tools/gpgconf-comp.c:835
 msgid "disable all access to the dirmngr"
 msgstr "slå av all tilgang til dirmngr"
 
-#: tools/gpgconf-comp.c:834
+#: tools/gpgconf-comp.c:838
 msgid "|NAME|use encoding NAME for PKCS#12 passphrases"
 msgstr "|NAVN|bruk valgt kodeNAVN til PKCS#12-passordfraser"
 
-#: tools/gpgconf-comp.c:870
+#: tools/gpgconf-comp.c:874
 msgid "do not check CRLs for root certificates"
 msgstr "ikke se etter rotsertifikater i CRL"
 
-#: tools/gpgconf-comp.c:919
+#: tools/gpgconf-comp.c:923
 msgid "Options controlling the format of the output"
 msgstr "Valg som styrer utdata-format"
 
-#: tools/gpgconf-comp.c:961
+#: tools/gpgconf-comp.c:965
 msgid "Options controlling the interactivity and enforcement"
 msgstr "Valg som styrer grensesnitt og håndheving av regler"
 
-#: tools/gpgconf-comp.c:974
+#: tools/gpgconf-comp.c:978
 msgid "Options controlling the use of Tor"
 msgstr "Valg som styrer bruk av Tor"
 
-#: tools/gpgconf-comp.c:988
+#: tools/gpgconf-comp.c:992
 msgid "Configuration for HTTP servers"
 msgstr "Oppsett for HTTP-tjenere"
 
-#: tools/gpgconf-comp.c:999
+#: tools/gpgconf-comp.c:1003
 msgid "use system's HTTP proxy setting"
 msgstr "bruk systemets innstilling for HTTP-mellomtjener"
 
-#: tools/gpgconf-comp.c:1004
+#: tools/gpgconf-comp.c:1008
 msgid "Configuration of LDAP servers to use"
 msgstr "Oppsett for bruk av LDAP-tjenere"
 
-#: tools/gpgconf-comp.c:1033
+#: tools/gpgconf-comp.c:1037
 msgid "LDAP server list"
 msgstr "LDAP-tjenerliste"
 
-#: tools/gpgconf-comp.c:1041
+#: tools/gpgconf-comp.c:1045
 msgid "Configuration for OCSP"
 msgstr "Oppsett for OCSP"
 
-#: tools/gpgconf-comp.c:1094
+#: tools/gpgconf-comp.c:1098
 msgid "OpenPGP"
 msgstr "OpenPGP"
 
-#: tools/gpgconf-comp.c:1095
+#: tools/gpgconf-comp.c:1099
 msgid "Private Keys"
 msgstr "Privatnøkler"
 
-#: tools/gpgconf-comp.c:1096
+#: tools/gpgconf-comp.c:1100
 msgid "Smartcards"
 msgstr "Smartkort"
 
-#: tools/gpgconf-comp.c:1097
+#: tools/gpgconf-comp.c:1101
 msgid "S/MIME"
 msgstr "S/MIME"
 
-#: tools/gpgconf-comp.c:1098
+#: tools/gpgconf-comp.c:1102
 msgid "Network"
 msgstr "Nettverk"
 
-#: tools/gpgconf-comp.c:1099
+#: tools/gpgconf-comp.c:1103
 msgid "Passphrase Entry"
 msgstr "Skriving av passordfrase"
 
-#: tools/gpgconf-comp.c:1278
+#: tools/gpgconf-comp.c:1282
 msgid "Component not suitable for launching"
 msgstr "Komponent egner seg ikke for oppstart"
 
-#: tools/gpgconf-comp.c:1284
+#: tools/gpgconf-comp.c:1288
 #, fuzzy, c-format
 #| msgid "External verification of component %s failed"
 msgid "Configuration file of component %s is broken\n"
 msgstr "Ekstern bekreftelse av komponent %s mislyktes"
 
-#: tools/gpgconf-comp.c:1287
+#: tools/gpgconf-comp.c:1291
 #, fuzzy, c-format
 #| msgid "Note: Use the command \"%s\" to restart them.\n"
 msgid "Note: Use the command \"%s%s\" to get details.\n"
 msgstr "Merk: Bruk kommandoen «%s» for å starte dem på nytt.\n"
 
-#: tools/gpgconf-comp.c:3446
+#: tools/gpgconf-comp.c:3454
 #, c-format
 msgid "External verification of component %s failed"
 msgstr "Ekstern bekreftelse av komponent %s mislyktes"
 
-#: tools/gpgconf-comp.c:3597
+#: tools/gpgconf-comp.c:3605
 msgid "Note that group specifications are ignored\n"
 msgstr "Merk at gruppespesifikasjoner blir ignorert\n"
 
-#: tools/gpgconf-comp.c:4195
+#: tools/gpgconf-comp.c:4203
 #, c-format
 msgid "error closing '%s'\n"
 msgstr "feil under lukking av «%s»\n"
 
-#: tools/gpgconf-comp.c:4197
+#: tools/gpgconf-comp.c:4205
 #, c-format
 msgid "error parsing '%s'\n"
 msgstr "feil under tolkning av «%s»\n"
@@ -11089,6 +10950,123 @@ msgstr ""
 "Syntaks: gpg-check-pattern [valg] mønsterfil\n"
 "Kontroller passordfrase oppgitt på standard innkanal mot valgt mønsterfil\n"
 
+#~ msgid "requesting key %s from %s server %s\n"
+#~ msgstr "ber om nøkkelen %s fra %s tjener %s\n"
+
+#~ msgid "%s:%u: no hostname given\n"
+#~ msgstr "%s:%u: vertsnavn mangler\n"
+
+#~ msgid "could not parse keyserver\n"
+#~ msgstr "klarte ikke å tolke nøkkeltjener\n"
+
+#~ msgid "return all values in a record oriented format"
+#~ msgstr "vis alle verdier i oppføringsorientert format"
+
+#~ msgid "|NAME|ignore host part and connect through NAME"
+#~ msgstr "|NAVN|ignorer vertsdel og koble til med NAVN"
+
+#~ msgid "|NAME|connect to host NAME"
+#~ msgstr "|NAVN|koble til valgt vertsNAVN"
+
+#~ msgid "|N|connect to port N"
+#~ msgstr "|N|koble til port N"
+
+#~ msgid "|NAME|use user NAME for authentication"
+#~ msgstr "|NAVN|bruk valgt brukerNAVN til autentisering"
+
+#~ msgid "|PASS|use password PASS for authentication"
+#~ msgstr "|PASS|bruk valgt PASSord til autentisering "
+
+#~ msgid "take password from $DIRMNGR_LDAP_PASS"
+#~ msgstr "hent passord fra $DIRMNGR_LDAP_PASS"
+
+#~ msgid "|STRING|query DN STRING"
+#~ msgstr "|STRENG|utfør spørring med valgt DN-STRENG"
+
+#~ msgid "|STRING|use STRING as filter expression"
+#~ msgstr "|STRENG|bruk valgt STRENG som filteruttrykk"
+
+#~ msgid "|STRING|return the attribute STRING"
+#~ msgstr "|STRENG|vis attributt valgt med STRENG"
+
+#~ msgid "Usage: dirmngr_ldap [options] [URL] (-h for help)\n"
+#~ msgstr "Bruk: dirmngr_ldap [valg] [ADR] (-h for hjelp)\n"
+
+#~ msgid ""
+#~ "Syntax: dirmngr_ldap [options] [URL]\n"
+#~ "Internal LDAP helper for Dirmngr\n"
+#~ "Interface and options may change without notice\n"
+#~ msgstr ""
+#~ "Syntaks: dirmngr_ldap [valg] [ADR]\n"
+#~ "Internt LDAP-hjelpeverktøy for Dirmngr\n"
+#~ "Grensesnitt og valgmuligheter kan endres uten varsel\n"
+
+#~ msgid "invalid port number %d\n"
+#~ msgstr "portnummer %d er ugyldig\n"
+
+#~ msgid "scanning result for attribute '%s'\n"
+#~ msgstr "ser gjennom treff for attributt «%s»\n"
+
+#~ msgid "error writing to stdout: %s\n"
+#~ msgstr "feil under skriving til std.utkanal: %s\n"
+
+#~ msgid "          available attribute '%s'\n"
+#~ msgstr "          tilgjengelig attributt «%s»\n"
+
+#~ msgid "attribute '%s' not found\n"
+#~ msgstr "fant ikke attributt «%s»\n"
+
+#~ msgid "found attribute '%s'\n"
+#~ msgstr "fant attributt «%s»\n"
+
+#~ msgid "processing url '%s'\n"
+#~ msgstr "behandler adresse «%s»\n"
+
+#~ msgid "          user '%s'\n"
+#~ msgstr "          bruker «%s»\n"
+
+#~ msgid "          pass '%s'\n"
+#~ msgstr "          passord «%s»\n"
+
+#~ msgid "          host '%s'\n"
+#~ msgstr "          vert «%s»\n"
+
+#~ msgid "          port %d\n"
+#~ msgstr "          port %d\n"
+
+#~ msgid "            DN '%s'\n"
+#~ msgstr "            DN «%s»\n"
+
+#~ msgid "        filter '%s'\n"
+#~ msgstr "        filter «%s»\n"
+
+#~ msgid "          attr '%s'\n"
+#~ msgstr "          attr «%s»\n"
+
+#~ msgid "no host name in '%s'\n"
+#~ msgstr "ingen vertsnavn i «%s»\n"
+
+#~ msgid "no attribute given for query '%s'\n"
+#~ msgstr "ingen attributt oppgitt for spørring «%s»\n"
+
+#~ msgid "WARNING: using first attribute only\n"
+#~ msgstr "ADVARSEL: bruker bare første attributt\n"
+
+#~ msgid "LDAP init to '%s:%d' failed: %s\n"
+#~ msgstr "LDAP-init til «%s:%d» mislyktes: %s\n"
+
+#~ msgid "binding to '%s:%d' failed: %s\n"
+#~ msgstr "tilknytning til «%s:%d» mislyktes: %s\n"
+
+#~ msgid "searching '%s' failed: %s\n"
+#~ msgstr "søk etter «%s» mislyktes: %s\n"
+
+#~ msgid "start_cert_fetch: invalid pattern '%s'\n"
+#~ msgstr "start_cert_fetch: mønsteret «%s» er ugyldig\n"
+
+#~ msgid "ldapserver missing"
+#~ msgstr "ldapserver mangler"
+
 #~ msgid "Note: old default options file '%s' ignored\n"
 #~ msgstr "Merk: gammel standardvalgfil «%s» ble ignorert\n"
 
index 6ac8e51..3dffac4 100644 (file)
Binary files a/po/pl.gmo and b/po/pl.gmo differ
index 4be4005..03b0058 100644 (file)
--- a/po/pl.po
+++ b/po/pl.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: gnupg-2.2.24\n"
 "Report-Msgid-Bugs-To: translations@gnupg.org\n"
-"POT-Creation-Date: 2021-01-11 18:47+0100\n"
+"POT-Creation-Date: 2021-06-10 18:59+0200\n"
 "PO-Revision-Date: 2020-11-18 17:35+0100\n"
 "Last-Translator: Jakub Bogusz <qboosh@pld-linux.org>\n"
 "Language-Team: Polish <translation-team-pl@lists.sourceforge.net>\n"
@@ -107,7 +107,7 @@ msgid "Passphrase:"
 msgstr "Hasło:"
 
 #: agent/call-pinentry.c:1107 agent/call-pinentry.c:1359
-#: agent/command-ssh.c:3130 agent/genkey.c:416
+#: agent/command-ssh.c:3140 agent/genkey.c:416
 msgid "does not match - try again"
 msgstr "nie pasują - proszę spróbować jeszcze raz"
 
@@ -157,32 +157,32 @@ msgstr "Niepoprawne hasło"
 msgid "ssh keys greater than %d bits are not supported\n"
 msgstr "klucze ssh większe niż %d bitów nie są obsługiwane\n"
 
-#: agent/command-ssh.c:862 common/dotlock.c:852 g10/card-util.c:932
-#: g10/exec.c:546 g10/export.c:1320 g10/gpg.c:1352 g10/keygen.c:4998
-#: g10/keyring.c:1322 g10/keyring.c:1637 g10/openfile.c:291 g10/sign.c:1009
-#: g10/sign.c:1323 g10/tdbio.c:753
+#: agent/command-ssh.c:862 common/dotlock.c:852 g10/card-util.c:933
+#: g10/exec.c:554 g10/export.c:1320 g10/gpg.c:1360 g10/keygen.c:4998
+#: g10/keyring.c:1322 g10/keyring.c:1637 g10/openfile.c:291 g10/sign.c:1008
+#: g10/sign.c:1322 g10/tdbio.c:753
 #, c-format
 msgid "can't create '%s': %s\n"
 msgstr "nie można utworzyć ,,%s'': %s\n"
 
-#: agent/command-ssh.c:874 common/helpfile.c:57 g10/card-util.c:889
+#: agent/command-ssh.c:874 common/helpfile.c:57 g10/card-util.c:890
 #: g10/dearmor.c:59 g10/dearmor.c:106 g10/decrypt.c:65 g10/decrypt.c:136
-#: g10/decrypt.c:153 g10/encrypt.c:180 g10/encrypt.c:543 g10/gpg.c:1353
-#: g10/import.c:352 g10/import.c:536 g10/import.c:764 g10/keygen.c:4036
+#: g10/decrypt.c:153 g10/encrypt.c:180 g10/encrypt.c:543 g10/gpg.c:1361
+#: g10/import.c:364 g10/import.c:548 g10/import.c:776 g10/keygen.c:4036
 #: g10/keyring.c:1663 g10/openfile.c:195 g10/openfile.c:209 g10/plaintext.c:128
-#: g10/plaintext.c:649 g10/sign.c:991 g10/sign.c:1202 g10/sign.c:1307
-#: g10/sign.c:1452 g10/tdbdump.c:143 g10/tdbdump.c:151 g10/tdbio.c:758
-#: g10/tdbio.c:829 g10/verify.c:96 g10/verify.c:160 sm/gpgsm.c:2219
-#: sm/gpgsm.c:2249 sm/gpgsm.c:2287 sm/qualified.c:66 dirmngr/certcache.c:396
+#: g10/plaintext.c:649 g10/sign.c:990 g10/sign.c:1201 g10/sign.c:1306
+#: g10/sign.c:1451 g10/tdbdump.c:143 g10/tdbdump.c:151 g10/tdbio.c:758
+#: g10/tdbio.c:829 g10/verify.c:96 g10/verify.c:160 sm/gpgsm.c:2125
+#: sm/gpgsm.c:2155 sm/gpgsm.c:2193 sm/qualified.c:66 dirmngr/certcache.c:396
 #: dirmngr/certcache.c:476 dirmngr/certcache.c:478 dirmngr/crlcache.c:2588
-#: dirmngr/dirmngr.c:1722
+#: dirmngr/dirmngr.c:1759
 #, c-format
 msgid "can't open '%s': %s\n"
 msgstr "nie można otworzyć ,,%s'': %s\n"
 
 #: agent/command-ssh.c:2385 agent/command-ssh.c:2431 agent/command-ssh.c:2449
-#: agent/command-ssh.c:2601 g10/card-util.c:687 g10/card-util.c:708
-#: g10/skclist.c:430
+#: agent/command-ssh.c:2601 g10/card-util.c:688 g10/card-util.c:709
+#: g10/skclist.c:435
 #, c-format
 msgid "error getting serial number of card: %s\n"
 msgstr "błąd pobierania numeru seryjnego karty: %s\n"
@@ -207,7 +207,7 @@ msgstr "nie znaleziono pasującego klucza karty: %s\n"
 msgid "error getting list of cards: %s\n"
 msgstr "błąd pobierania listy kart: %s\n"
 
-#: agent/command-ssh.c:2765
+#: agent/command-ssh.c:2775
 #, c-format
 msgid ""
 "An ssh process requested the use of key%%0A  %s%%0A  (%s)%%0ADo you want to "
@@ -215,24 +215,24 @@ msgid ""
 msgstr ""
 "Proces ssh zarządał użycia klucza%%0a  %s%%0A  (%s)%%0ACzy zezwolić na to?"
 
-#: agent/command-ssh.c:2772
+#: agent/command-ssh.c:2782
 msgid "Allow"
 msgstr "Zgoda"
 
-#: agent/command-ssh.c:2772
+#: agent/command-ssh.c:2782
 msgid "Deny"
 msgstr "Odmowa"
 
-#: agent/command-ssh.c:2781
+#: agent/command-ssh.c:2791
 #, c-format
 msgid "Please enter the passphrase for the ssh key%%0A  %F%%0A  (%c)"
 msgstr "Proszę wprowadzić hasło dla klucza ssh%%0A  %F%%0A  (%c)"
 
-#: agent/command-ssh.c:3058 agent/genkey.c:351
+#: agent/command-ssh.c:3068 agent/genkey.c:351
 msgid "Please re-enter this passphrase"
 msgstr "Proszę ponownie wprowadzić to hasło"
 
-#: agent/command-ssh.c:3085
+#: agent/command-ssh.c:3095
 #, c-format
 msgid ""
 "Please enter a passphrase to protect the received secret key%%0A   %s%%0A   "
@@ -241,7 +241,7 @@ msgstr ""
 "Proszę wprowadzić hasło do zabezpieczenia odebranego klucza tajnego%%0A   %s"
 "%%0A   %s%%0Aw miejscu przechowywania kluczy gpg-agenta"
 
-#: agent/command-ssh.c:3667
+#: agent/command-ssh.c:3677
 #, c-format
 msgid "failed to create stream from socket: %s\n"
 msgstr "nie udało się utworzyć strumienia z gniazda: %s\n"
@@ -388,45 +388,43 @@ msgstr ""
 "@Opcje:\n"
 " "
 
-#: agent/gpg-agent.c:165 scd/scdaemon.c:120 dirmngr/dirmngr.c:166
+#: agent/gpg-agent.c:165 scd/scdaemon.c:120 dirmngr/dirmngr.c:167
 msgid "run in daemon mode (background)"
 msgstr "uruchomienie w trybie demona (w tle)"
 
-#: agent/gpg-agent.c:166 scd/scdaemon.c:117 dirmngr/dirmngr.c:165
+#: agent/gpg-agent.c:166 scd/scdaemon.c:117 dirmngr/dirmngr.c:166
 msgid "run in server mode (foreground)"
 msgstr "uruchomienie w trybie serwera (pierwszoplanowo)"
 
-#: agent/gpg-agent.c:168 dirmngr/dirmngr.c:168
+#: agent/gpg-agent.c:168 dirmngr/dirmngr.c:169
 msgid "run in supervised mode"
 msgstr "uruchomienie w trybie dozorowanym"
 
-#: agent/gpg-agent.c:170 g10/gpg.c:608 g10/gpgv.c:78 kbx/kbxutil.c:88
-#: scd/scdaemon.c:121 sm/gpgsm.c:310 dirmngr/dirmngr-client.c:70
-#: dirmngr/dirmngr.c:181 dirmngr/dirmngr_ldap.c:135
-#: tools/gpg-connect-agent.c:78 tools/gpgconf.c:108
+#: agent/gpg-agent.c:170 g10/gpg.c:605 g10/gpgv.c:78 kbx/kbxutil.c:88
+#: scd/scdaemon.c:121 sm/gpgsm.c:311 dirmngr/dirmngr-client.c:70
+#: dirmngr/dirmngr.c:182 tools/gpg-connect-agent.c:78 tools/gpgconf.c:108
 msgid "verbose"
 msgstr "więcej komunikatów"
 
 #: agent/gpg-agent.c:171 g10/gpgv.c:79 kbx/kbxutil.c:89 scd/scdaemon.c:122
-#: sm/gpgsm.c:311 dirmngr/dirmngr-client.c:71 dirmngr/dirmngr.c:182
-#: dirmngr/dirmngr_ldap.c:136
+#: sm/gpgsm.c:312 dirmngr/dirmngr-client.c:71 dirmngr/dirmngr.c:183
 msgid "be somewhat more quiet"
 msgstr "mniej komunikatów"
 
-#: agent/gpg-agent.c:172 scd/scdaemon.c:123 dirmngr/dirmngr.c:183
+#: agent/gpg-agent.c:172 scd/scdaemon.c:123 dirmngr/dirmngr.c:184
 msgid "sh-style command output"
 msgstr "wyjście poleceń w stylu sh"
 
-#: agent/gpg-agent.c:173 scd/scdaemon.c:124 dirmngr/dirmngr.c:184
+#: agent/gpg-agent.c:173 scd/scdaemon.c:124 dirmngr/dirmngr.c:185
 msgid "csh-style command output"
 msgstr "wyjście poleceń w stylu csh"
 
-#: agent/gpg-agent.c:174 scd/scdaemon.c:125 sm/gpgsm.c:341
-#: dirmngr/dirmngr.c:185
+#: agent/gpg-agent.c:174 scd/scdaemon.c:125 sm/gpgsm.c:344
+#: dirmngr/dirmngr.c:186
 msgid "|FILE|read options from FILE"
 msgstr "|PLIK|odczyt opcji z PLIKU"
 
-#: agent/gpg-agent.c:183 scd/scdaemon.c:135 dirmngr/dirmngr.c:188
+#: agent/gpg-agent.c:183 scd/scdaemon.c:135 dirmngr/dirmngr.c:189
 msgid "do not detach from the console"
 msgstr "bez odłączania od konsoli"
 
@@ -502,9 +500,9 @@ msgstr "włączenie obsługi putty"
 #. reporting address.  This is so that we can change the
 #. reporting address without breaking the translations.
 #: agent/gpg-agent.c:531 agent/preset-passphrase.c:100 agent/protect-tool.c:155
-#: g10/gpg.c:1070 g10/gpgv.c:149 kbx/kbxutil.c:113 scd/scdaemon.c:298
-#: sm/gpgsm.c:567 dirmngr/dirmngr-client.c:168 dirmngr/dirmngr.c:404
-#: dirmngr/dirmngr_ldap.c:207 tools/gpg-connect-agent.c:205 tools/gpgconf.c:146
+#: g10/gpg.c:1074 g10/gpgv.c:149 kbx/kbxutil.c:113 scd/scdaemon.c:299
+#: sm/gpgsm.c:570 dirmngr/dirmngr-client.c:168 dirmngr/dirmngr.c:412
+#: tools/gpg-connect-agent.c:205 tools/gpgconf.c:146
 #: tools/gpg-check-pattern.c:143
 msgid "Please report bugs to <@EMAIL@>.\n"
 msgstr "Błędy prosimy zgłaszać na adres <@EMAIL@>.\n"
@@ -521,37 +519,37 @@ msgstr ""
 "Składnia: @GPG_AGENT@ [opcje] [polecenie [argumenty]]\n"
 "Zarządzanie kluczem tajnym dla @GNUPG@\n"
 
-#: agent/gpg-agent.c:587 g10/gpg.c:1262 scd/scdaemon.c:370 sm/gpgsm.c:715
-#: dirmngr/dirmngr.c:488
+#: agent/gpg-agent.c:587 g10/gpg.c:1270 scd/scdaemon.c:371 sm/gpgsm.c:718
+#: dirmngr/dirmngr.c:496
 #, c-format
 msgid "invalid debug-level '%s' given\n"
 msgstr "podano błędny poziom diagnostyki ,,%s''\n"
 
-#: agent/gpg-agent.c:945 g10/gpg.c:3753 g10/gpg.c:3777 sm/gpgsm.c:1631
-#: sm/gpgsm.c:1637
+#: agent/gpg-agent.c:945 g10/gpg.c:3773 g10/gpg.c:3797 sm/gpgsm.c:1531
+#: sm/gpgsm.c:1537
 #, c-format
 msgid "selected digest algorithm is invalid\n"
 msgstr "wybrany algorytm skrótów wiadomości jest niepoprawny\n"
 
 #: agent/gpg-agent.c:1168 agent/gpg-agent.c:2023 common/argparse.c:1755
-#: common/argparse.c:1847 g10/gpg.c:2482 scd/scdaemon.c:532 sm/gpgsm.c:1063
-#: dirmngr/dirmngr.c:956 dirmngr/dirmngr.c:1841
+#: common/argparse.c:1847 g10/gpg.c:2495 scd/scdaemon.c:533 sm/gpgsm.c:977
+#: dirmngr/dirmngr.c:994 dirmngr/dirmngr.c:1878
 #, c-format
 msgid "reading options from '%s'\n"
 msgstr "odczyt opcji z ,,%s''\n"
 
-#: agent/gpg-agent.c:1300 g10/gpg.c:3704 scd/scdaemon.c:655 sm/gpgsm.c:1571
-#: dirmngr/dirmngr.c:1067 tools/gpg-connect-agent.c:1244 tools/gpgconf.c:624
+#: agent/gpg-agent.c:1300 g10/gpg.c:3724 scd/scdaemon.c:657 sm/gpgsm.c:1471
+#: dirmngr/dirmngr.c:1102 tools/gpg-connect-agent.c:1244 tools/gpgconf.c:624
 #, c-format
 msgid "Note: '%s' is not considered an option\n"
 msgstr "Uwaga: ,,%s'' nie jest uznane za opcję\n"
 
-#: agent/gpg-agent.c:2159 scd/scdaemon.c:1096 dirmngr/dirmngr.c:1219
+#: agent/gpg-agent.c:2159 scd/scdaemon.c:1098 dirmngr/dirmngr.c:1256
 #, c-format
 msgid "can't create socket: %s\n"
 msgstr "nie można utworzyć gniazda: %s\n"
 
-#: agent/gpg-agent.c:2176 scd/scdaemon.c:1109 dirmngr/dirmngr.c:1232
+#: agent/gpg-agent.c:2176 scd/scdaemon.c:1111 dirmngr/dirmngr.c:1269
 #, c-format
 msgid "socket name '%s' is too long\n"
 msgstr "nazwa gniazda ,,%s'' zbyt długa\n"
@@ -561,29 +559,29 @@ msgstr "nazwa gniazda ,,%s'' zbyt długa\n"
 msgid "a gpg-agent is already running - not starting a new one\n"
 msgstr "gpg-agent już działa - nieuruchamianie nowego\n"
 
-#: agent/gpg-agent.c:2226 scd/scdaemon.c:1133 dirmngr/dirmngr.c:1264
+#: agent/gpg-agent.c:2226 scd/scdaemon.c:1135 dirmngr/dirmngr.c:1301
 #, c-format
 msgid "error getting nonce for the socket\n"
 msgstr "błąd podczas pobierania nonce z gniazda\n"
 
-#: agent/gpg-agent.c:2231 scd/scdaemon.c:1136 dirmngr/dirmngr.c:1267
+#: agent/gpg-agent.c:2231 scd/scdaemon.c:1138 dirmngr/dirmngr.c:1304
 #, c-format
 msgid "error binding socket to '%s': %s\n"
 msgstr "błąd podczas przypisywania gniazda do ,,%s'': %s\n"
 
 #: agent/gpg-agent.c:2242 agent/gpg-agent.c:2282 agent/gpg-agent.c:2291
-#: scd/scdaemon.c:1144 dirmngr/dirmngr.c:1276
+#: scd/scdaemon.c:1146 dirmngr/dirmngr.c:1313
 #, c-format
 msgid "can't set permissions of '%s': %s\n"
 msgstr "nie można ustawić praw dostępu do ,,%s'': %s\n"
 
-#: agent/gpg-agent.c:2256 scd/scdaemon.c:1156 dirmngr/dirmngr.c:1288
+#: agent/gpg-agent.c:2256 scd/scdaemon.c:1158 dirmngr/dirmngr.c:1325
 #, c-format
 msgid "listening on socket '%s'\n"
 msgstr "nasłuchiwanie na gnieździe ,,%s''\n"
 
 #: agent/gpg-agent.c:2276 agent/gpg-agent.c:2329 common/homedir.c:517
-#: g10/exec.c:261 g10/openfile.c:397
+#: g10/exec.c:269 g10/openfile.c:397
 #, c-format
 msgid "can't create directory '%s': %s\n"
 msgstr "nie można utworzyć katalogu ,,%s'': %s\n"
@@ -604,7 +602,7 @@ msgstr "stat() nie powiodło się dla ,,%s'': %s\n"
 msgid "can't use '%s' as home directory\n"
 msgstr "nie można użyć ,,%s'' jako katalogu domowego\n"
 
-#: agent/gpg-agent.c:2502 scd/scdaemon.c:1172 dirmngr/dirmngr.c:2047
+#: agent/gpg-agent.c:2502 scd/scdaemon.c:1174 dirmngr/dirmngr.c:2084
 #, c-format
 msgid "error reading nonce on fd %d: %s\n"
 msgstr "błąd odczytu nonce z fd %d: %s\n"
@@ -629,12 +627,12 @@ msgstr "obsługa ssh 0x%lx dla fd %d uruchomiona\n"
 msgid "ssh handler 0x%lx for fd %d terminated\n"
 msgstr "obsługa ssh 0x%lx dla fd %d zakończona\n"
 
-#: agent/gpg-agent.c:3016 scd/scdaemon.c:1362 dirmngr/dirmngr.c:2261
+#: agent/gpg-agent.c:3016 scd/scdaemon.c:1366 dirmngr/dirmngr.c:2298
 #, c-format
 msgid "npth_pselect failed: %s - waiting 1s\n"
 msgstr "npth_pselect nie powiodło się: %s - czekanie 1s\n"
 
-#: agent/gpg-agent.c:3104 scd/scdaemon.c:1427
+#: agent/gpg-agent.c:3104 scd/scdaemon.c:1431
 #, c-format
 msgid "%s %s stopped\n"
 msgstr "%s %s zatrzymany\n"
@@ -658,8 +656,8 @@ msgstr ""
 "Składnia: gpg-preset-passphrase [opcje] UCHWYT_KLUCZA\n"
 "Utrzymuwanie pamięci haseł\n"
 
-#: agent/protect-tool.c:108 g10/gpg.c:440 kbx/kbxutil.c:71 sm/gpgsm.c:204
-#: dirmngr/dirmngr.c:163 tools/gpgconf.c:78
+#: agent/protect-tool.c:108 g10/gpg.c:437 kbx/kbxutil.c:71 sm/gpgsm.c:205
+#: dirmngr/dirmngr.c:164 tools/gpgconf.c:78
 msgid ""
 "@Commands:\n"
 " "
@@ -667,8 +665,8 @@ msgstr ""
 "@Polecenia:\n"
 " "
 
-#: agent/protect-tool.c:117 g10/gpg.c:553 g10/gpgv.c:76 kbx/kbxutil.c:81
-#: sm/gpgsm.c:252 dirmngr/dirmngr.c:179 tools/gpg-connect-agent.c:76
+#: agent/protect-tool.c:117 g10/gpg.c:550 g10/gpgv.c:76 kbx/kbxutil.c:81
+#: sm/gpgsm.c:253 dirmngr/dirmngr.c:180 tools/gpg-connect-agent.c:76
 #: tools/gpgconf.c:105
 msgid ""
 "@\n"
@@ -691,11 +689,11 @@ msgstr ""
 "Składnia: gpg-protect-tool [opcje] [argumenty]\n"
 "Narzędzie do utrzymywania kluczy tajnych\n"
 
-#: agent/protect-tool.c:703
+#: agent/protect-tool.c:703 sm/import.c:774
 msgid "Please enter the passphrase to unprotect the PKCS#12 object."
 msgstr "Proszę wprowadzić hasło do odbezpieczenia obiektu PKCS#12."
 
-#: agent/protect-tool.c:708
+#: agent/protect-tool.c:708 sm/export.c:710
 msgid "Please enter the passphrase to protect the new PKCS#12 object."
 msgstr "Proszę wprowadzić hasło do zabezpieczenia obiektu PKCS#12."
 
@@ -724,7 +722,7 @@ msgstr "anulowano\n"
 msgid "error while asking for the passphrase: %s\n"
 msgstr "błąd podczas pytania o hasło: %s\n"
 
-#: agent/trustlist.c:154 agent/trustlist.c:364 dirmngr/dirmngr.c:1629
+#: agent/trustlist.c:154 agent/trustlist.c:364 dirmngr/dirmngr.c:1666
 #: tools/gpgconf.c:418
 #, c-format
 msgid "error opening '%s': %s\n"
@@ -885,7 +883,7 @@ msgstr "sprawdzenie złożonego podpisu nie powiodło się: %s\n"
 msgid "secret key parts are not available\n"
 msgstr "tajne części klucza są niedostępne\n"
 
-#: agent/cvt-openpgp.c:344 g10/card-util.c:1540
+#: agent/cvt-openpgp.c:344 g10/card-util.c:1541
 #, c-format
 msgid "public key algorithm %d (%s) is not supported\n"
 msgstr "algorytm klucza publicznego %d (%s) nie jest obsługiwany\n"
@@ -900,21 +898,21 @@ msgstr "algorytm ochrony %d (%s) nie jest obsługiwany\n"
 msgid "protection hash algorithm %d (%s) is not supported\n"
 msgstr "algorytm hasza ochrony %d (%s) nie jest obsługiwany\n"
 
-#: common/exechelp-posix.c:359 common/exechelp-w32.c:449
-#: common/exechelp-w32.c:473 common/exechelp-w32.c:503
+#: common/exechelp-posix.c:359 common/exechelp-w32.c:451
+#: common/exechelp-w32.c:475 common/exechelp-w32.c:505
 #, c-format
 msgid "error creating a pipe: %s\n"
 msgstr "błąd tworzenia potoku: %s\n"
 
 #: common/exechelp-posix.c:372 common/exechelp-w32.c:355
-#: common/exechelp-w32.c:459 common/exechelp-w32.c:483
-#: common/exechelp-w32.c:513
+#: common/exechelp-w32.c:461 common/exechelp-w32.c:485
+#: common/exechelp-w32.c:515
 #, c-format
 msgid "error creating a stream for a pipe: %s\n"
 msgstr "błąd tworzenia strumienia dla potoku: %s\n"
 
 #: common/exechelp-posix.c:495 common/exechelp-posix.c:570
-#: common/exechelp-posix.c:851 dirmngr/dirmngr.c:1306
+#: common/exechelp-posix.c:856 dirmngr/dirmngr.c:1343
 #, c-format
 msgid "error forking process: %s\n"
 msgstr "błąd podczas tworzenia procesu: %s\n"
@@ -924,28 +922,28 @@ msgstr "błąd podczas tworzenia procesu: %s\n"
 msgid "waiting for process %d to terminate failed: %s\n"
 msgstr "oczekiwanie na zakończenie procesu %d nie powiodło się: %s\n"
 
-#: common/exechelp-posix.c:678 common/exechelp-posix.c:794
+#: common/exechelp-posix.c:678 common/exechelp-posix.c:799
 #, c-format
 msgid "error running '%s': probably not installed\n"
 msgstr "błąd uruchamiania ,,%s'': prawdopodobnie nie zainstalowany\n"
 
-#: common/exechelp-posix.c:684 common/exechelp-posix.c:801
-#: common/exechelp-w32.c:796 common/exechelp-w32ce.c:781
+#: common/exechelp-posix.c:684 common/exechelp-posix.c:806
+#: common/exechelp-w32.c:829 common/exechelp-w32ce.c:781
 #, c-format
 msgid "error running '%s': exit status %d\n"
 msgstr "błąd uruchamiania ,,%s'': kod wyjścia %d\n"
 
-#: common/exechelp-posix.c:692 common/exechelp-posix.c:809
+#: common/exechelp-posix.c:692 common/exechelp-posix.c:814
 #, c-format
 msgid "error running '%s': terminated\n"
 msgstr "błąd uruchamiania ,,%s'': zakończono\n"
 
-#: common/exechelp-posix.c:750 common/exechelp-w32.c:777
+#: common/exechelp-posix.c:755 common/exechelp-w32.c:810
 #, c-format
 msgid "waiting for processes to terminate failed: %s\n"
 msgstr "oczekiwanie na zakończenie procesów nie powiodło się: %s\n"
 
-#: common/exechelp-w32.c:789 common/exechelp-w32ce.c:775
+#: common/exechelp-w32.c:822 common/exechelp-w32ce.c:775
 #, c-format
 msgid "error getting exit code of process %d: %s\n"
 msgstr "błąd odczytu kodu zakończenia procesu %d: %s\n"
@@ -1040,7 +1038,7 @@ msgstr "brak miejsca w bezpiecznej pamięci podczas przydzielania %lu bajtów"
 msgid "out of core while allocating %lu bytes"
 msgstr "brak miejsca podczas przydzielania %lu bajtów"
 
-#: common/miscellaneous.c:115 g10/card-util.c:896 tools/no-libgcrypt.c:30
+#: common/miscellaneous.c:115 g10/card-util.c:897 tools/no-libgcrypt.c:30
 #, c-format
 msgid "error allocating enough memory: %s\n"
 msgstr "błąd przydzielania wystarczającej ilości pamięci: %s\n"
@@ -1153,7 +1151,7 @@ msgid "algorithm: %s"
 msgstr "algorytm: %s"
 
 #: common/audit.c:774 common/audit.c:776 common/audit.c:921 common/audit.c:923
-#: scd/app-openpgp.c:3555
+#: scd/app-openpgp.c:3554
 #, c-format
 msgid "unsupported algorithm: %s"
 msgstr "nieobsługiwany algorytm: %s"
@@ -1278,6 +1276,26 @@ msgstr "[brak]"
 msgid "invalid radix64 character %02x skipped\n"
 msgstr "niewłaściwy znak formatu radix64 %02x został pominięty\n"
 
+#: common/ttyio.c:433
+#, c-format
+msgid "Sorry, we are in batchmode - can't get input\n"
+msgstr ""
+
+#: common/ttyio.c:439
+#, c-format
+msgid "Sorry, no terminal at all requested - can't get input\n"
+msgstr ""
+
+#: common/ttyio.c:474 common/ttyio.c:484
+#, c-format
+msgid "too many errors; giving up\n"
+msgstr ""
+
+#: common/ttyio.c:536
+#, c-format
+msgid "Control-D detected\n"
+msgstr ""
+
 #: common/argparse.c:520
 msgid "argument not expected"
 msgstr "nieoczekiwany argument"
@@ -1341,7 +1359,7 @@ msgstr "błędna opcja"
 msgid "missing argument for option \"%.50s\"\n"
 msgstr "brak argumentu dla opcji ,,%.50s''\n"
 
-#: common/argparse.c:558 g10/gpg.c:3490
+#: common/argparse.c:558 g10/gpg.c:3510
 #, c-format
 msgid "invalid argument for option \"%.50s\"\n"
 msgstr "błędny argument dla opcji ,,%.50s''\n"
@@ -1411,31 +1429,31 @@ msgstr "nie udało się utworzyć pliku tymczasowego ,,%s'': %s\n"
 msgid "error writing to '%s': %s\n"
 msgstr "błąd zapisu do ,,%s'': %s\n"
 
-#: common/dotlock.c:1129
+#: common/dotlock.c:1137
 #, c-format
 msgid "removing stale lockfile (created by %d)\n"
 msgstr "usuwanie nieaktualnego pliku blokady (utworzonego przez %d)\n"
 
-#: common/dotlock.c:1165
+#: common/dotlock.c:1173
 #, c-format
 msgid "waiting for lock (held by %d%s) %s...\n"
 msgstr "oczekiwanie na blokadę (trzymaną przez %d%s) %s...\n"
 
-#: common/dotlock.c:1166
+#: common/dotlock.c:1174
 msgid "(deadlock?) "
 msgstr "(zakleszczenie?) "
 
-#: common/dotlock.c:1205
+#: common/dotlock.c:1213
 #, c-format
 msgid "lock '%s' not made: %s\n"
 msgstr "blokada ,,%s'' nie założona: %s\n"
 
-#: common/dotlock.c:1232
+#: common/dotlock.c:1240
 #, c-format
 msgid "waiting for lock %s...\n"
 msgstr "oczekiwanie na blokadę %s...\n"
 
-#: common/init.c:185 sm/gpgsm.c:949 dirmngr/dirmngr.c:862 dirmngr/dirmngr.c:871
+#: common/init.c:191 sm/gpgsm.c:863 dirmngr/dirmngr.c:900 dirmngr/dirmngr.c:909
 #, c-format
 msgid "%s is too old (need %s, have %s)\n"
 msgstr "biblioteka %s jest zbyt stara (wymagana %s, zainstalowana %s)\n"
@@ -1618,12 +1636,12 @@ msgid "Note: Use the command \"%s\" to restart them.\n"
 msgstr "Uwaga: do restartu ich należy użyć polecenia ,,%s''.\n"
 
 #: g10/call-agent.c:318 g10/encrypt.c:154 g10/encrypt.c:620 g10/sign.c:412
-#: sm/call-agent.c:205 sm/encrypt.c:425 sm/sign.c:345
+#: sm/call-agent.c:205 sm/encrypt.c:426 sm/sign.c:345
 #, c-format
 msgid "%s is not compliant with %s mode\n"
 msgstr "%s nie jest zgodny z trybem %s\n"
 
-#: g10/call-dirmngr.c:209 sm/call-dirmngr.c:268 tools/gpg-connect-agent.c:2253
+#: g10/call-dirmngr.c:209 sm/call-dirmngr.c:269 tools/gpg-connect-agent.c:2253
 #, c-format
 msgid "no dirmngr running in this session\n"
 msgstr "brak działającego dirmngr w tej sesji\n"
@@ -1661,22 +1679,22 @@ msgstr "niedopuszczalne przekierowanie HTTP z serwera zostało wyczyszczone"
 msgid "server uses an invalid certificate"
 msgstr "serwer używa błędnego certyfikatu"
 
-#: g10/call-dirmngr.c:437 g10/gpg.c:4400
+#: g10/call-dirmngr.c:437 g10/gpg.c:4421
 #, c-format
 msgid "Note: %s\n"
 msgstr "Uwaga: %s\n"
 
-#: g10/card-util.c:86 g10/card-util.c:366 g10/card-util.c:1902
+#: g10/card-util.c:86 g10/card-util.c:366 g10/card-util.c:1903
 #, c-format
 msgid "OpenPGP card not available: %s\n"
 msgstr "Karta OpenPGP niedostępna: %s\n"
 
-#: g10/card-util.c:91 g10/card-util.c:1908
+#: g10/card-util.c:91 g10/card-util.c:1909
 #, c-format
 msgid "OpenPGP card no. %s detected\n"
 msgstr "Wykryto kartę OpenPGP nr %s\n"
 
-#: g10/card-util.c:97 g10/card-util.c:2237 g10/delkey.c:160 g10/keyedit.c:1422
+#: g10/card-util.c:97 g10/card-util.c:2238 g10/delkey.c:160 g10/keyedit.c:1423
 #: g10/keygen.c:4466 g10/revoke.c:214 g10/revoke.c:636
 #, c-format
 msgid "can't do this in batch mode\n"
@@ -1687,13 +1705,13 @@ msgstr "nie działa w trybie wsadowym\n"
 msgid "This command is only available for version 2 cards\n"
 msgstr "To polecenie jest dostępne tylko dla kart w wersji 2\n"
 
-#: g10/card-util.c:107 scd/app-openpgp.c:2864
+#: g10/card-util.c:107 scd/app-openpgp.c:2863
 #, c-format
 msgid "Reset Code not or not anymore available\n"
 msgstr "Kod resetujący nie jest (już lub w ogóle) dostępny\n"
 
-#: g10/card-util.c:140 g10/card-util.c:1426 g10/card-util.c:1688
-#: g10/card-util.c:1780 g10/keyedit.c:394 g10/keyedit.c:415 g10/keyedit.c:429
+#: g10/card-util.c:140 g10/card-util.c:1427 g10/card-util.c:1689
+#: g10/card-util.c:1781 g10/keyedit.c:394 g10/keyedit.c:415 g10/keyedit.c:429
 #: g10/keygen.c:1808 g10/keygen.c:1980 g10/keygen.c:2186 g10/keygen.c:2477
 #: sm/certreqgen-ui.c:165 sm/certreqgen-ui.c:291 sm/certreqgen-ui.c:325
 msgid "Your selection? "
@@ -1719,104 +1737,104 @@ msgstr "nie wymuszono"
 msgid "forced"
 msgstr "wymuszono"
 
-#: g10/card-util.c:749
+#: g10/card-util.c:750
 msgid "Error: Only plain ASCII is currently allowed.\n"
 msgstr "Błąd: aktualnie dopuszczalne jest tylko czyste ASCII.\n"
 
-#: g10/card-util.c:751
+#: g10/card-util.c:752
 msgid "Error: The \"<\" character may not be used.\n"
 msgstr "Błąd: znak ,,<'' nie może być użyty.\n"
 
-#: g10/card-util.c:753
+#: g10/card-util.c:754
 msgid "Error: Double spaces are not allowed.\n"
 msgstr "Błąd: podwójne spacje nie są dopuszczalne.\n"
 
-#: g10/card-util.c:770
+#: g10/card-util.c:771
 msgid "Cardholder's surname: "
 msgstr "Nazwisko posiadacza karty: "
 
-#: g10/card-util.c:772
+#: g10/card-util.c:773
 msgid "Cardholder's given name: "
 msgstr "Imię posiadacza karty: "
 
-#: g10/card-util.c:790
+#: g10/card-util.c:791
 #, c-format
 msgid "Error: Combined name too long (limit is %d characters).\n"
 msgstr "Błąd: pełne personalia zbyt długie (limit to %d znaków).\n"
 
-#: g10/card-util.c:811
+#: g10/card-util.c:812
 msgid "URL to retrieve public key: "
 msgstr "URL do odczytania klucza publicznego: "
 
-#: g10/card-util.c:905 g10/decrypt-data.c:490 g10/import.c:387 g10/import.c:734
-#: g10/import.c:786 dirmngr/crlcache.c:655 dirmngr/crlcache.c:660
-#: dirmngr/crlcache.c:914 dirmngr/crlcache.c:920 dirmngr/dirmngr.c:1668
+#: g10/card-util.c:906 g10/decrypt-data.c:490 g10/import.c:399 g10/import.c:746
+#: g10/import.c:798 dirmngr/crlcache.c:655 dirmngr/crlcache.c:660
+#: dirmngr/crlcache.c:914 dirmngr/crlcache.c:920 dirmngr/dirmngr.c:1705
 #: tools/gpgconf.c:431 tools/gpgconf.c:477
 #, c-format
 msgid "error reading '%s': %s\n"
 msgstr "błąd odczytu ,,%s'': %s\n"
 
-#: g10/card-util.c:938 g10/decrypt-data.c:493 g10/export.c:2467
+#: g10/card-util.c:939 g10/decrypt-data.c:493 g10/export.c:2467
 #: dirmngr/crlcache.c:925
 #, c-format
 msgid "error writing '%s': %s\n"
 msgstr "błąd zapisu ,,%s'': %s\n"
 
-#: g10/card-util.c:965
+#: g10/card-util.c:966
 msgid "Login data (account name): "
 msgstr "Dane logowania (nazwa konta): "
 
-#: g10/card-util.c:1003
+#: g10/card-util.c:1004
 msgid "Private DO data: "
 msgstr "Prywatne dane DO: "
 
-#: g10/card-util.c:1088
+#: g10/card-util.c:1089
 msgid "Language preferences: "
 msgstr "Preferowane języki: "
 
-#: g10/card-util.c:1096
+#: g10/card-util.c:1097
 msgid "Error: invalid length of preference string.\n"
 msgstr "Błąd: niewłaściwa długość tekstu preferencji.\n"
 
-#: g10/card-util.c:1105
+#: g10/card-util.c:1106
 msgid "Error: invalid characters in preference string.\n"
 msgstr "Błąd: niewłaściwe znaki w tekście preferencji.\n"
 
-#: g10/card-util.c:1127
+#: g10/card-util.c:1128
 msgid "Salutation (M = Mr., F = Ms., or space): "
 msgstr "Tutuł (M = Pan, F = Pani lub spacja): "
 
-#: g10/card-util.c:1141
+#: g10/card-util.c:1142
 msgid "Error: invalid response.\n"
 msgstr "Błąd: niewłaściwa odpowiedź.\n"
 
-#: g10/card-util.c:1163
+#: g10/card-util.c:1164
 msgid "CA fingerprint: "
 msgstr "Odcisk CA:"
 
-#: g10/card-util.c:1186
+#: g10/card-util.c:1187
 msgid "Error: invalid formatted fingerprint.\n"
 msgstr "Błąd: niewłaściwie sformatowany odcisk.\n"
 
-#: g10/card-util.c:1236
+#: g10/card-util.c:1237
 #, c-format
 msgid "key operation not possible: %s\n"
 msgstr "operacja na kluczu niewykonalna: %s\n"
 
-#: g10/card-util.c:1237
+#: g10/card-util.c:1238
 msgid "not an OpenPGP card"
 msgstr "to nie jest karta OpenPGP"
 
-#: g10/card-util.c:1250 g10/keygen.c:4486 g10/keygen.c:5565
+#: g10/card-util.c:1251 g10/keygen.c:4486 g10/keygen.c:5565
 #, c-format
 msgid "error getting current key info: %s\n"
 msgstr "błąd podczas odczytu aktualnych informacji o kluczu: %s\n"
 
-#: g10/card-util.c:1335
+#: g10/card-util.c:1336
 msgid "Replace existing key? (y/N) "
 msgstr "Zastąpić istniejący klucz? (t/N) "
 
-#: g10/card-util.c:1352
+#: g10/card-util.c:1353
 msgid ""
 "Note: There is no guarantee that the card supports the requested size.\n"
 "      If the key generation does not succeed, please check the\n"
@@ -1826,97 +1844,97 @@ msgstr ""
 "       Jeśli tworzenie klucza nie powiedzie się, proszę sprawdzić\n"
 "       dokumentację karty, aby poznać dozwolone rozmiary.\n"
 
-#: g10/card-util.c:1374 g10/keygen.c:2363 sm/certreqgen-ui.c:179
+#: g10/card-util.c:1375 g10/keygen.c:2363 sm/certreqgen-ui.c:179
 #, c-format
 msgid "What keysize do you want? (%u) "
 msgstr "Jakiej długości klucz wygenerować? (%u) "
 
-#: g10/card-util.c:1384 g10/keygen.c:2286 g10/keygen.c:2318
+#: g10/card-util.c:1385 g10/keygen.c:2286 g10/keygen.c:2318
 #: sm/certreqgen-ui.c:194
 #, c-format
 msgid "rounded up to %u bits\n"
 msgstr "zaokrąglono do %u bitów\n"
 
-#: g10/card-util.c:1392 g10/keygen.c:2371 sm/certreqgen-ui.c:184
+#: g10/card-util.c:1393 g10/keygen.c:2371 sm/certreqgen-ui.c:184
 #, c-format
 msgid "%s keysizes must be in the range %u-%u\n"
 msgstr "Rozmiary kluczy %s muszą być z przedziału %u-%u\n"
 
-#: g10/card-util.c:1411
+#: g10/card-util.c:1412
 msgid "Changing card key attribute for: "
 msgstr "Zmiana atrybutu klucza karty dla: "
 
-#: g10/card-util.c:1413
+#: g10/card-util.c:1414
 msgid "Signature key\n"
 msgstr "Klucz do podpisów\n"
 
-#: g10/card-util.c:1415
+#: g10/card-util.c:1416
 msgid "Encryption key\n"
 msgstr "Klucz do szyfrowania\n"
 
-#: g10/card-util.c:1417
+#: g10/card-util.c:1418
 msgid "Authentication key\n"
 msgstr "Klucz do uwierzytelniania\n"
 
-#: g10/card-util.c:1419 g10/keygen.c:1926 sm/certreqgen-ui.c:157
+#: g10/card-util.c:1420 g10/keygen.c:1926 sm/certreqgen-ui.c:157
 msgid "Please select what kind of key you want:\n"
 msgstr "Proszę wybrać rodzaj klucza:\n"
 
-#: g10/card-util.c:1420 sm/certreqgen-ui.c:158
+#: g10/card-util.c:1421 sm/certreqgen-ui.c:158
 #, c-format
 msgid "   (%d) RSA\n"
 msgstr "   (%d) RSA\n"
 
-#: g10/card-util.c:1421
+#: g10/card-util.c:1422
 #, c-format
 msgid "   (%d) ECC\n"
 msgstr "   (%d) ECC\n"
 
-#: g10/card-util.c:1433 g10/card-util.c:1700 g10/card-util.c:1800
-#: g10/keyedit.c:899 g10/keygen.c:1834 g10/keygen.c:1862 g10/keygen.c:1987
+#: g10/card-util.c:1434 g10/card-util.c:1701 g10/card-util.c:1801
+#: g10/keyedit.c:900 g10/keygen.c:1834 g10/keygen.c:1862 g10/keygen.c:1987
 #: g10/keygen.c:2222 g10/keygen.c:2505 g10/revoke.c:838
 msgid "Invalid selection.\n"
 msgstr "Niewłaściwy wybór.\n"
 
-#: g10/card-util.c:1506
+#: g10/card-util.c:1507
 #, c-format
 msgid "The card will now be re-configured to generate a key of %u bits\n"
 msgstr "Karta zostanie przekonfigurowana do tworzenia klucza %u-bitowego\n"
 
-#: g10/card-util.c:1511
+#: g10/card-util.c:1512
 #, c-format
 msgid "The card will now be re-configured to generate a key of type: %s\n"
 msgstr "Karta zostanie przekonfigurowana do tworzenia klucza typu: %s\n"
 
-#: g10/card-util.c:1547
+#: g10/card-util.c:1548
 #, c-format
 msgid "error changing key attribute for key %d: %s\n"
 msgstr "błąd podczas zmiany atrybutu klucza %d: %s\n"
 
-#: g10/card-util.c:1563 g10/card-util.c:2090
+#: g10/card-util.c:1564 g10/card-util.c:2091
 #, c-format
 msgid "error getting card info: %s\n"
 msgstr "błąd podczas pobierania informacji o karcie: %s\n"
 
-#: g10/card-util.c:1569 g10/card-util.c:1914 g10/card-util.c:2096
+#: g10/card-util.c:1570 g10/card-util.c:1915 g10/card-util.c:2097
 #, c-format
 msgid "This command is not supported by this card\n"
 msgstr "To polecenie nie jest obsługiwane przez tę kartę\n"
 
-#: g10/card-util.c:1615
+#: g10/card-util.c:1616
 msgid "Make off-card backup of encryption key? (Y/n) "
 msgstr "Stworzyć poza kartą kopię zapasową klucza szyfrującego? (T/n) "
 
-#: g10/card-util.c:1629
+#: g10/card-util.c:1630
 #, c-format
 msgid "Note: keys are already stored on the card!\n"
 msgstr "Uwaga: klucze są już zapisane na karcie!\n"
 
-#: g10/card-util.c:1632
+#: g10/card-util.c:1633
 msgid "Replace existing keys? (y/N) "
 msgstr "Zastąpić istniejące klucze? (t/N) "
 
-#: g10/card-util.c:1644
+#: g10/card-util.c:1645
 #, c-format
 msgid ""
 "Please note that the factory settings of the PINs are\n"
@@ -1927,142 +1945,142 @@ msgstr ""
 "   PIN = ,,%s''   PIN administracyjny = ,,%s''\n"
 "Należy je zmienić przy użyciu polecenia --change-pin\n"
 
-#: g10/card-util.c:1679
+#: g10/card-util.c:1680
 msgid "Please select the type of key to generate:\n"
 msgstr "Proszę wybrać rodzaj klucza do wygenerowania:\n"
 
-#: g10/card-util.c:1681 g10/card-util.c:1771
+#: g10/card-util.c:1682 g10/card-util.c:1772
 msgid "   (1) Signature key\n"
 msgstr "   (1) Klucz do podpisów\n"
 
-#: g10/card-util.c:1682 g10/card-util.c:1773
+#: g10/card-util.c:1683 g10/card-util.c:1774
 msgid "   (2) Encryption key\n"
 msgstr "   (2) Klucz do szyfrowania\n"
 
-#: g10/card-util.c:1683 g10/card-util.c:1775
+#: g10/card-util.c:1684 g10/card-util.c:1776
 msgid "   (3) Authentication key\n"
 msgstr "   (3) Klucz do uwierzytelniania\n"
 
-#: g10/card-util.c:1768
+#: g10/card-util.c:1769
 msgid "Please select where to store the key:\n"
 msgstr "Proszę wybrać gdzie zapisać klucz:\n"
 
-#: g10/card-util.c:1814
+#: g10/card-util.c:1815
 #, c-format
 msgid "KEYTOCARD failed: %s\n"
 msgstr "KEYTOCARD nie powiodło się: %s\n"
 
-#: g10/card-util.c:1919
+#: g10/card-util.c:1920
 #, c-format
 msgid "Note: This command destroys all keys stored on the card!\n"
 msgstr "Uwaga: to polecenie niszczy wszystkie klucze zapisane na karcie!\n"
 
-#: g10/card-util.c:1922
+#: g10/card-util.c:1923
 msgid "Continue? (y/N) "
 msgstr "Kontynuować? (t/N) "
 
-#: g10/card-util.c:1927
+#: g10/card-util.c:1928
 msgid "Really do a factory reset? (enter \"yes\") "
 msgstr "Naprawdę przywrócić stan fabryczny? (proszę wpisać ,,yes'') "
 
-#: g10/card-util.c:2113
+#: g10/card-util.c:2114
 #, c-format
 msgid "error for setup KDF: %s\n"
 msgstr "błąd przy ustawianiu KDF: %s\n"
 
-#: g10/card-util.c:2142 g10/keyedit.c:1259
+#: g10/card-util.c:2143 g10/keyedit.c:1260
 msgid "quit this menu"
 msgstr "wyjście z tego menu"
 
-#: g10/card-util.c:2144
+#: g10/card-util.c:2145
 msgid "show admin commands"
 msgstr "pokazanie poleceń administratora"
 
-#: g10/card-util.c:2145 g10/keyedit.c:1262
+#: g10/card-util.c:2146 g10/keyedit.c:1263
 msgid "show this help"
 msgstr "ten tekst pomocy"
 
-#: g10/card-util.c:2147
+#: g10/card-util.c:2148
 msgid "list all available data"
 msgstr "wypisanie wszystkich dostępnych danych"
 
-#: g10/card-util.c:2150
+#: g10/card-util.c:2151
 msgid "change card holder's name"
 msgstr "zmiana nazwy posiadacza karty"
 
-#: g10/card-util.c:2151
+#: g10/card-util.c:2152
 msgid "change URL to retrieve key"
 msgstr "zmiana URL-a do odczytu klucza"
 
-#: g10/card-util.c:2152
+#: g10/card-util.c:2153
 msgid "fetch the key specified in the card URL"
 msgstr "pobranie klucza określonego w URL-u karty"
 
-#: g10/card-util.c:2153
+#: g10/card-util.c:2154
 msgid "change the login name"
 msgstr "zmiana nazwy logowania"
 
-#: g10/card-util.c:2154
+#: g10/card-util.c:2155
 msgid "change the language preferences"
 msgstr "zmiana preferowanych języków"
 
-#: g10/card-util.c:2155
+#: g10/card-util.c:2156
 msgid "change card holder's salutation"
 msgstr "zmiana tytułu posiadacza karty"
 
-#: g10/card-util.c:2157
+#: g10/card-util.c:2158
 msgid "change a CA fingerprint"
 msgstr "zmiana odcisku CA"
 
-#: g10/card-util.c:2158
+#: g10/card-util.c:2159
 msgid "toggle the signature force PIN flag"
 msgstr "zmiana flagi wymuszenia PIN-u do podpisu"
 
-#: g10/card-util.c:2159
+#: g10/card-util.c:2160
 msgid "generate new keys"
 msgstr "wygenerowanie nowych kluczy"
 
-#: g10/card-util.c:2160
+#: g10/card-util.c:2161
 msgid "menu to change or unblock the PIN"
 msgstr "menu do zmiany lub odblokowania PIN-u"
 
-#: g10/card-util.c:2161
+#: g10/card-util.c:2162
 msgid "verify the PIN and list all data"
 msgstr "sprawdzenie PIN-u i wypisanie wszystkich danych"
 
-#: g10/card-util.c:2162
+#: g10/card-util.c:2163
 msgid "unblock the PIN using a Reset Code"
 msgstr "odblokowanie PIN-u przy użyciu kodu resetującego"
 
-#: g10/card-util.c:2163
+#: g10/card-util.c:2164
 msgid "destroy all keys and data"
 msgstr "zniszczenie wszystkich kluczy i danych"
 
-#: g10/card-util.c:2164
+#: g10/card-util.c:2165
 msgid "setup KDF for PIN authentication"
 msgstr "ustawienie KDF do uwierzytelniania PIN-em"
 
-#: g10/card-util.c:2165
+#: g10/card-util.c:2166
 msgid "change the key attribute"
 msgstr "zmiana atrybutu klucza"
 
-#: g10/card-util.c:2289
+#: g10/card-util.c:2290
 msgid "gpg/card> "
 msgstr "gpg/karta> "
 
-#: g10/card-util.c:2330
+#: g10/card-util.c:2331
 msgid "Admin-only command\n"
 msgstr "Polecenie tylko dla administratora\n"
 
-#: g10/card-util.c:2361
+#: g10/card-util.c:2362
 msgid "Admin commands are allowed\n"
 msgstr "Polecenia dla administratora są dozwolone\n"
 
-#: g10/card-util.c:2363
+#: g10/card-util.c:2364
 msgid "Admin commands are not allowed\n"
 msgstr "Polecenia dla administratora nie są dozwolone\n"
 
-#: g10/card-util.c:2466 g10/keyedit.c:2228
+#: g10/card-util.c:2467 g10/keyedit.c:2229
 msgid "Invalid command  (try \"help\")\n"
 msgstr "Niepoprawne polecenie  (spróbuj ,,help'')\n"
 
@@ -2071,21 +2089,21 @@ msgstr "Niepoprawne polecenie  (spróbuj ,,help'')\n"
 msgid "--output doesn't work for this command\n"
 msgstr "opcja --output nie działa z tym poleceniem\n"
 
-#: g10/decrypt.c:247 g10/gpg.c:5083 g10/keyring.c:399 g10/keyring.c:750
+#: g10/decrypt.c:247 g10/gpg.c:5104 g10/keyring.c:399 g10/keyring.c:750
 #, c-format
 msgid "can't open '%s'\n"
 msgstr "nie można otworzyć ,,%s''\n"
 
 #: g10/delkey.c:83 g10/export.c:1947 g10/export.c:2230 g10/export.c:2351
-#: g10/getkey.c:1964 g10/gpg.c:5028 g10/keyedit.c:1444 g10/keyedit.c:2334
-#: g10/keyedit.c:2580 g10/keyedit.c:4543 g10/keylist.c:689 g10/keyserver.c:1259
+#: g10/getkey.c:2108 g10/gpg.c:5049 g10/keyedit.c:1445 g10/keyedit.c:2335
+#: g10/keyedit.c:2581 g10/keyedit.c:4544 g10/keylist.c:689 g10/keyserver.c:1092
 #: g10/revoke.c:230 g10/tofu.c:2165
 #, c-format
 msgid "key \"%s\" not found: %s\n"
 msgstr "klucz ,,%s'' nie został odnaleziony: %s\n"
 
-#: g10/delkey.c:92 g10/export.c:2015 g10/getkey.c:1972 g10/getkey.c:4346
-#: g10/gpg.c:5037 g10/keyedit.c:2307 g10/keyserver.c:1277 g10/revoke.c:236
+#: g10/delkey.c:92 g10/export.c:2015 g10/getkey.c:2116 g10/getkey.c:4517
+#: g10/gpg.c:5058 g10/keyedit.c:2308 g10/keyserver.c:1110 g10/revoke.c:236
 #: g10/revoke.c:663 g10/tofu.c:2173
 #, c-format
 msgid "error reading keyblock: %s\n"
@@ -2145,9 +2163,9 @@ msgstr "klucza"
 msgid "subkey"
 msgstr "podklucza"
 
-#: g10/delkey.c:299 g10/keyedit.c:2200 g10/keyedit.c:2210 g10/keyedit.c:2387
-#: g10/keyedit.c:2461 g10/keyedit.c:2532 g10/keyedit.c:2757 g10/keyedit.c:2987
-#: g10/keyedit.c:3056 g10/keyedit.c:3207
+#: g10/delkey.c:299 g10/keyedit.c:2201 g10/keyedit.c:2211 g10/keyedit.c:2388
+#: g10/keyedit.c:2462 g10/keyedit.c:2533 g10/keyedit.c:2758 g10/keyedit.c:2988
+#: g10/keyedit.c:3057 g10/keyedit.c:3208
 #, c-format
 msgid "update failed: %s\n"
 msgstr "zapis zmian nie powiódł się: %s\n"
@@ -2172,7 +2190,7 @@ msgstr "dla klucza publicznego ,,%s'' istnieje klucz prywatny!\n"
 msgid "use option \"--delete-secret-keys\" to delete it first.\n"
 msgstr "aby go usunąć należy najpierw użyć opcji \"--delete-secret-key\".\n"
 
-#: g10/encrypt.c:202 g10/sign.c:1471
+#: g10/encrypt.c:202 g10/sign.c:1470
 #, c-format
 msgid "error creating passphrase: %s\n"
 msgstr "błąd podczas tworzenia hasła: %s\n"
@@ -2198,14 +2216,14 @@ msgstr ",,%s'' już jest skompresowany\n"
 msgid "WARNING: '%s' is an empty file\n"
 msgstr "OSTRZEŻENIE: plik ,,%s'' jest pusty\n"
 
-#: g10/encrypt.c:387 g10/encrypt.c:610 g10/decrypt-data.c:260 g10/gpg.c:3901
-#: g10/gpg.c:3941 sm/decrypt.c:364 sm/encrypt.c:415 sm/gpgsm.c:1655
+#: g10/encrypt.c:387 g10/encrypt.c:610 g10/decrypt-data.c:260 g10/gpg.c:3922
+#: g10/gpg.c:3962 sm/decrypt.c:826 sm/encrypt.c:416 sm/gpgsm.c:1555
 #, c-format
 msgid "cipher algorithm '%s' may not be used in %s mode\n"
 msgstr "szyfr ,,%s'' nie może być używany w trybie %s\n"
 
-#: g10/encrypt.c:396 g10/gpg.c:3907 g10/gpg.c:3953 g10/sig-check.c:146
-#: g10/sign.c:391 sm/gpgsm.c:1665 sm/gpgsm.c:1675 sm/sign.c:478 sm/verify.c:506
+#: g10/encrypt.c:396 g10/gpg.c:3928 g10/gpg.c:3974 g10/sig-check.c:146
+#: g10/sign.c:391 sm/gpgsm.c:1565 sm/gpgsm.c:1575 sm/sign.c:478 sm/verify.c:506
 #, c-format
 msgid "digest algorithm '%s' may not be used in %s mode\n"
 msgstr "algorytm skrótu ,,%s'' nie może być używany w trybie %s\n"
@@ -2223,12 +2241,12 @@ msgstr ""
 "OSTRZEŻENIE: wymuszone użycie szyfru %s (%d) kłóci się z ustawieniami "
 "adresata\n"
 
-#: g10/encrypt.c:640 sm/encrypt.c:490
+#: g10/encrypt.c:640 sm/encrypt.c:491
 #, c-format
 msgid "WARNING: key %s is not suitable for encryption in %s mode\n"
 msgstr "OSTRZEŻENIE: klucz %s nie nadaje się do szyfrowania w trybie %s\n"
 
-#: g10/encrypt.c:751 g10/sign.c:1163
+#: g10/encrypt.c:751 g10/sign.c:1162
 #, c-format
 msgid ""
 "WARNING: forcing compression algorithm %s (%d) violates recipient "
@@ -2257,12 +2275,12 @@ msgstr "opcja ,,%s'' nie może być używana w trybie %s\n"
 msgid "%s encrypted data\n"
 msgstr "dane zaszyfrowano za pomocą %s\n"
 
-#: g10/decrypt-data.c:243 g10/mainproc.c:396
+#: g10/decrypt-data.c:243 g10/mainproc.c:397
 #, c-format
 msgid "encrypted with unknown algorithm %d\n"
 msgstr "dane zaszyfrowano nieznanym algorytmem numer %d\n"
 
-#: g10/decrypt-data.c:357 g10/decrypt-data.c:410 sm/decrypt.c:130
+#: g10/decrypt-data.c:357 g10/decrypt-data.c:410 sm/decrypt.c:550
 #, c-format
 msgid ""
 "WARNING: message was encrypted with a weak key in the symmetric cipher.\n"
@@ -2279,56 +2297,56 @@ msgstr "problem podczas obróbki pakietu szyfrowego\n"
 msgid "no remote program execution supported\n"
 msgstr "odwołania do zewnętrznych programów są wyłączone\n"
 
-#: g10/exec.c:381
+#: g10/exec.c:389
 #, c-format
 msgid ""
 "external program calls are disabled due to unsafe options file permissions\n"
 msgstr ""
 "nieszczelne uprawnienia ustawień - wołanie zewnętrznych programów wyłączone\n"
 
-#: g10/exec.c:411
+#: g10/exec.c:419
 #, c-format
 msgid "this platform requires temporary files when calling external programs\n"
 msgstr ""
 "platforma wymaga użycia plików tymczasowych do wołania zewnętrznych "
 "programów\n"
 
-#: g10/exec.c:489
+#: g10/exec.c:497
 #, c-format
 msgid "unable to execute program '%s': %s\n"
 msgstr "nie można uruchomić programu ,,%s'': %s\n"
 
-#: g10/exec.c:492
+#: g10/exec.c:500
 #, c-format
 msgid "unable to execute shell '%s': %s\n"
 msgstr "nie można uruchomić powłoki ,,%s'': %s\n"
 
-#: g10/exec.c:583
+#: g10/exec.c:591
 #, c-format
 msgid "system error while calling external program: %s\n"
 msgstr "błąd systemu podczas wołania programu zewnętrznego: %s\n"
 
-#: g10/exec.c:594 g10/exec.c:661
+#: g10/exec.c:602 g10/exec.c:669
 #, c-format
 msgid "unnatural exit of external program\n"
 msgstr "nienaturalne zakończenie pracy zewnętrznego programu\n"
 
-#: g10/exec.c:609
+#: g10/exec.c:617
 #, c-format
 msgid "unable to execute external program\n"
 msgstr "nie można uruchomić zewnętrznego programu\n"
 
-#: g10/exec.c:626
+#: g10/exec.c:634
 #, c-format
 msgid "unable to read external program response: %s\n"
 msgstr "nie można odczytać odpowiedzi programu zewnętrznego: %s\n"
 
-#: g10/exec.c:672 g10/exec.c:679
+#: g10/exec.c:680 g10/exec.c:687
 #, c-format
 msgid "WARNING: unable to remove tempfile (%s) '%s': %s\n"
 msgstr "OSTRZEŻENIE: nie można skasować pliku tymczasowego (%s) ,,%s'': %s\n"
 
-#: g10/exec.c:684
+#: g10/exec.c:692
 #, c-format
 msgid "WARNING: unable to remove temp directory '%s': %s\n"
 msgstr "OSTRZEŻENIE: nie można skasować tymczasowego katalogu ,,%s'': %s\n"
@@ -2361,8 +2379,8 @@ msgstr "użycie formatu kopii zapasowej klucza GnuPG"
 msgid " - skipped"
 msgstr " - pominięty"
 
-#: g10/export.c:1324 g10/import.c:2073 g10/openfile.c:200 g10/openfile.c:294
-#: g10/sign.c:1013 g10/sign.c:1327
+#: g10/export.c:1324 g10/import.c:2085 g10/openfile.c:200 g10/openfile.c:294
+#: g10/sign.c:1012 g10/sign.c:1326
 #, c-format
 msgid "writing to '%s'\n"
 msgstr "zapis do ,,%s''\n"
@@ -2397,270 +2415,270 @@ msgstr "błąd tworzenia ,,%s'': %s\n"
 msgid "[User ID not found]"
 msgstr "[brak identyfikatora użytkownika]"
 
-#: g10/getkey.c:1297
+#: g10/getkey.c:1441
 #, c-format
 msgid "automatically retrieved '%s' via %s\n"
 msgstr "automatycznie pobrano ,,%s'' poprzez %s\n"
 
-#: g10/getkey.c:1303
+#: g10/getkey.c:1447
 #, c-format
 msgid "error retrieving '%s' via %s: %s\n"
 msgstr "błąd pobierania ,,%s'' poprzez %s: %s\n"
 
-#: g10/getkey.c:1305
+#: g10/getkey.c:1449
 msgid "No fingerprint"
 msgstr "Brak odcisku"
 
-#: g10/getkey.c:1526
+#: g10/getkey.c:1670
 #, c-format
 msgid "checking for a fresh copy of an expired key via %s\n"
 msgstr "szukanie świeżej kopii wygasłego klucza poprzez %s\n"
 
-#: g10/getkey.c:1941 g10/revoke.c:655 g10/revoke.c:720
+#: g10/getkey.c:2085 g10/revoke.c:655 g10/revoke.c:720
 #, c-format
 msgid "secret key \"%s\" not found: %s\n"
 msgstr "klucz prywatny ,,%s'' nie został odnaleziony: %s\n"
 
-#: g10/getkey.c:1944 g10/pkclist.c:988
+#: g10/getkey.c:2088 g10/pkclist.c:988
 #, c-format
 msgid "(check argument of option '%s')\n"
 msgstr "(sprawdzić argument opcji ,,%s'')\n"
 
-#: g10/getkey.c:2020
+#: g10/getkey.c:2164
 #, c-format
 msgid "Warning: not using '%s' as default key: %s\n"
 msgstr "Ostrzeżenie: ,,%s'' nie jest użyty jako domyślny klucz: %s\n"
 
-#: g10/getkey.c:2028
+#: g10/getkey.c:2172
 #, c-format
 msgid "using \"%s\" as default secret key for signing\n"
 msgstr "użycie ,,%s'' jako domyślnego klucza tajnego do podpisywania\n"
 
-#: g10/getkey.c:2035
+#: g10/getkey.c:2179
 #, c-format
 msgid "all values passed to '%s' ignored\n"
 msgstr "wszystkie wartości przekazane do ,,%s'' zostały zignorowane\n"
 
-#: g10/getkey.c:2880
+#: g10/getkey.c:3024
 #, c-format
 msgid "Invalid key %s made valid by --allow-non-selfsigned-uid\n"
 msgstr ""
 "Opcja --allow-non-selfsigned-uid wymusiła uznanie za poprawny niepoprawnego "
 "klucza %s.\n"
 
-#: g10/getkey.c:3730
+#: g10/getkey.c:3874
 #, c-format
 msgid "using subkey %s instead of primary key %s\n"
 msgstr "używany jest podklucz %s zamiast klucza głównego %s\n"
 
-#: g10/getkey.c:4275 g10/gpg.c:2107
+#: g10/getkey.c:4446 g10/gpg.c:2120
 #, c-format
 msgid "valid values for option '%s':\n"
 msgstr "poprawne argimenty dla opcji ,,%s'':\n"
 
-#: g10/gpg.c:442 sm/gpgsm.c:206
+#: g10/gpg.c:439 sm/gpgsm.c:207
 msgid "make a signature"
 msgstr "złożenie podpisu"
 
-#: g10/gpg.c:443
+#: g10/gpg.c:440
 msgid "make a clear text signature"
 msgstr "złożenie podpisu pod dokumentem"
 
-#: g10/gpg.c:445 sm/gpgsm.c:208
+#: g10/gpg.c:442 sm/gpgsm.c:209
 msgid "make a detached signature"
 msgstr "złożenie podpisu oddzielonego od dokumentu"
 
-#: g10/gpg.c:446 sm/gpgsm.c:209
+#: g10/gpg.c:443 sm/gpgsm.c:210
 msgid "encrypt data"
 msgstr "szyfrowanie danych"
 
-#: g10/gpg.c:448
+#: g10/gpg.c:445
 msgid "encryption only with symmetric cipher"
 msgstr "szyfrowanie tylko szyfrem symetrycznym"
 
-#: g10/gpg.c:450 sm/gpgsm.c:211
+#: g10/gpg.c:447 sm/gpgsm.c:212
 msgid "decrypt data (default)"
 msgstr "odszyfrowywanie danych (domyślne)"
 
-#: g10/gpg.c:452 sm/gpgsm.c:212
+#: g10/gpg.c:449 sm/gpgsm.c:213
 msgid "verify a signature"
 msgstr "sprawdzenie podpisu"
 
-#: g10/gpg.c:454 sm/gpgsm.c:213
+#: g10/gpg.c:451 sm/gpgsm.c:214
 msgid "list keys"
 msgstr "lista kluczy"
 
-#: g10/gpg.c:456
+#: g10/gpg.c:453
 msgid "list keys and signatures"
 msgstr "lista kluczy i podpisów"
 
-#: g10/gpg.c:459
+#: g10/gpg.c:456
 msgid "list and check key signatures"
 msgstr "wypisanie i sprawdzenie podpisów kluczy"
 
-#: g10/gpg.c:461 sm/gpgsm.c:218
+#: g10/gpg.c:458 sm/gpgsm.c:219
 msgid "list keys and fingerprints"
 msgstr "lista kluczy i ich odcisków"
 
-#: g10/gpg.c:462 sm/gpgsm.c:216
+#: g10/gpg.c:459 sm/gpgsm.c:217
 msgid "list secret keys"
 msgstr "lista kluczy prywatnych"
 
-#: g10/gpg.c:464 sm/gpgsm.c:219
+#: g10/gpg.c:461 sm/gpgsm.c:220
 msgid "generate a new key pair"
 msgstr "wygenerowanie nowej pary kluczy"
 
-#: g10/gpg.c:467
+#: g10/gpg.c:464
 msgid "quickly generate a new key pair"
 msgstr "szybkie wygenerowanie nowej pary kluczy"
 
-#: g10/gpg.c:470
+#: g10/gpg.c:467
 msgid "quickly add a new user-id"
 msgstr "szybkie dodanie nowego identyfikatora użytkownika"
 
-#: g10/gpg.c:475
+#: g10/gpg.c:472
 msgid "quickly revoke a user-id"
 msgstr "szybkie unieważnienie identyfikatora użytkownika"
 
-#: g10/gpg.c:478
+#: g10/gpg.c:475
 msgid "quickly set a new expiration date"
 msgstr "szybkie ustawienie nowej daty wygaśnięcia"
 
-#: g10/gpg.c:481
+#: g10/gpg.c:478
 msgid "full featured key pair generation"
 msgstr "wygenerowanie pary kluczy z pełną funkcjonalnością"
 
-#: g10/gpg.c:484
+#: g10/gpg.c:481
 msgid "generate a revocation certificate"
 msgstr "tworzenie certyfikatu unieważnienia klucza"
 
-#: g10/gpg.c:487 sm/gpgsm.c:222
+#: g10/gpg.c:484 sm/gpgsm.c:223
 msgid "remove keys from the public keyring"
 msgstr "usunięcie klucza ze zbioru kluczy publicznych"
 
-#: g10/gpg.c:489
+#: g10/gpg.c:486
 msgid "remove keys from the secret keyring"
 msgstr "usunięcie klucza ze zbioru kluczy prywatnych"
 
-#: g10/gpg.c:491
+#: g10/gpg.c:488
 msgid "quickly sign a key"
 msgstr "szybkie złożenie podpisu na kluczu"
 
-#: g10/gpg.c:493
+#: g10/gpg.c:490
 msgid "quickly sign a key locally"
 msgstr "szybkie złożenie prywatnego podpisu na kluczu"
 
-#: g10/gpg.c:495
+#: g10/gpg.c:492
 msgid "quickly revoke a key signature"
 msgstr "szybkie unieważnienie podpisu klucza"
 
-#: g10/gpg.c:496
+#: g10/gpg.c:493
 msgid "sign a key"
 msgstr "złożenie podpisu na kluczu"
 
-#: g10/gpg.c:497
+#: g10/gpg.c:494
 msgid "sign a key locally"
 msgstr "złożenie prywatnego podpisu na kluczu"
 
-#: g10/gpg.c:498
+#: g10/gpg.c:495
 msgid "sign or edit a key"
 msgstr "podpisanie lub modyfikacja klucza"
 
-#: g10/gpg.c:500 sm/gpgsm.c:240
+#: g10/gpg.c:497 sm/gpgsm.c:241
 msgid "change a passphrase"
 msgstr "zmiana hasła"
 
-#: g10/gpg.c:504
+#: g10/gpg.c:501
 msgid "export keys"
 msgstr "eksport kluczy do pliku"
 
-#: g10/gpg.c:505
+#: g10/gpg.c:502
 msgid "export keys to a keyserver"
 msgstr "eksport kluczy do serwera kluczy"
 
-#: g10/gpg.c:506
+#: g10/gpg.c:503
 msgid "import keys from a keyserver"
 msgstr "import kluczy z serwera kluczy"
 
-#: g10/gpg.c:509
+#: g10/gpg.c:506
 msgid "search for keys on a keyserver"
 msgstr "szukanie kluczy na serwerze"
 
-#: g10/gpg.c:511
+#: g10/gpg.c:508
 msgid "update all keys from a keyserver"
 msgstr "odświeżenie wszystkich kluczy z serwera"
 
-#: g10/gpg.c:519
+#: g10/gpg.c:516
 msgid "import/merge keys"
 msgstr "import/dołączenie kluczy"
 
-#: g10/gpg.c:522
+#: g10/gpg.c:519
 msgid "print the card status"
 msgstr "wyświetlenie stanu karty"
 
-#: g10/gpg.c:523
+#: g10/gpg.c:520
 msgid "change data on a card"
 msgstr "zmiana danych na karcie"
 
-#: g10/gpg.c:525
+#: g10/gpg.c:522
 msgid "change a card's PIN"
 msgstr "zmiana PIN-u karty"
 
-#: g10/gpg.c:537
+#: g10/gpg.c:534
 msgid "update the trust database"
 msgstr "uaktualnienie bazy zaufania"
 
-#: g10/gpg.c:546
+#: g10/gpg.c:543
 msgid "print message digests"
 msgstr "wypisanie skrótów wiadomości"
 
-#: g10/gpg.c:549 sm/gpgsm.c:235
+#: g10/gpg.c:546 sm/gpgsm.c:236
 msgid "run in server mode"
 msgstr "uruchomienie w trybie serwera"
 
-#: g10/gpg.c:551
+#: g10/gpg.c:548
 msgid "|VALUE|set the TOFU policy for a key"
 msgstr "|WARTOŚĆ|ustawienie polityki TOFU dla klucza"
 
-#: g10/gpg.c:555 sm/gpgsm.c:254
+#: g10/gpg.c:552 sm/gpgsm.c:255
 msgid "create ascii armored output"
 msgstr "opakowanie ASCII pliku wynikowego"
 
-#: g10/gpg.c:558 sm/gpgsm.c:271
+#: g10/gpg.c:555 sm/gpgsm.c:272
 msgid "|USER-ID|encrypt for USER-ID"
 msgstr "|UŻYTKOWNIK|szyfrowanie dla odbiorcy o tym identyfikatorze"
 
-#: g10/gpg.c:574 sm/gpgsm.c:307
+#: g10/gpg.c:571 sm/gpgsm.c:308
 msgid "|USER-ID|use USER-ID to sign or decrypt"
 msgstr ""
 "|UŻYTKOWNIK|użycie tego identyfikatora użytkownika do podpisania lub "
 "odszyfrowania"
 
-#: g10/gpg.c:580
+#: g10/gpg.c:577
 msgid "|N|set compress level to N (0 disables)"
 msgstr "|N|ustawienie poziomu kompresji N (0 - bez)"
 
-#: g10/gpg.c:587
+#: g10/gpg.c:584
 msgid "use canonical text mode"
 msgstr "kanoniczny format tekstowy"
 
-#: g10/gpg.c:604 g10/gpgv.c:82 sm/gpgsm.c:309
+#: g10/gpg.c:601 g10/gpgv.c:82 sm/gpgsm.c:310
 msgid "|FILE|write output to FILE"
 msgstr "|PLIK|zapis wyjścia do PLIKU"
 
-#: g10/gpg.c:614 kbx/kbxutil.c:90 sm/gpgsm.c:321 tools/gpgconf.c:110
+#: g10/gpg.c:611 kbx/kbxutil.c:90 sm/gpgsm.c:322 tools/gpgconf.c:110
 msgid "do not make any changes"
 msgstr "pozostawienie bez zmian"
 
-#: g10/gpg.c:615
+#: g10/gpg.c:612
 msgid "prompt before overwriting"
 msgstr "pytanie przed nadpisaniem plików"
 
-#: g10/gpg.c:665
+#: g10/gpg.c:662
 msgid "use strict OpenPGP behavior"
 msgstr "ścisłe zachowanie OpenPGP"
 
-#: g10/gpg.c:692 sm/gpgsm.c:364
+#: g10/gpg.c:689 sm/gpgsm.c:367
 msgid ""
 "@\n"
 "(See the man page for a complete listing of all commands and options)\n"
@@ -2668,7 +2686,7 @@ msgstr ""
 "@\n"
 "(Pełną listę poleceń i opcji można znaleźć w podręczniku systemowym.)\n"
 
-#: g10/gpg.c:695
+#: g10/gpg.c:692
 msgid ""
 "@\n"
 "Examples:\n"
@@ -2690,11 +2708,11 @@ msgstr ""
 " --list-keys [nazwy]        pokazanie kluczy\n"
 " --fingerprint [nazwy]      pokazanie odcisków kluczy\n"
 
-#: g10/gpg.c:1092
+#: g10/gpg.c:1096
 msgid "Usage: @GPG@ [options] [files] (-h for help)"
 msgstr "Składnia: @GPG@ [opcje] [pliki] (-h wyświetla pomoc)"
 
-#: g10/gpg.c:1095
+#: g10/gpg.c:1099
 msgid ""
 "Syntax: @GPG@ [options] [files]\n"
 "Sign, check, encrypt or decrypt\n"
@@ -2704,7 +2722,7 @@ msgstr ""
 "Podpisywanie, sprawdzanie podpisów, szyfrowanie, rozszyfrowywanie\n"
 "Domyślnie wykonywana operacja zależy od danych wejściowych\n"
 
-#: g10/gpg.c:1106 sm/gpgsm.c:591
+#: g10/gpg.c:1110 sm/gpgsm.c:594
 msgid ""
 "\n"
 "Supported algorithms:\n"
@@ -2712,78 +2730,78 @@ msgstr ""
 "\n"
 "Obsługiwane algorytmy:\n"
 
-#: g10/gpg.c:1109
+#: g10/gpg.c:1113
 msgid "Pubkey: "
 msgstr "Asymetryczne: "
 
-#: g10/gpg.c:1116 g10/keyedit.c:3281
+#: g10/gpg.c:1120 g10/keyedit.c:3282
 msgid "Cipher: "
 msgstr "Symetryczne: "
 
-#: g10/gpg.c:1123
+#: g10/gpg.c:1127
 msgid "Hash: "
 msgstr "Skrótów: "
 
-#: g10/gpg.c:1130 g10/keyedit.c:3347
+#: g10/gpg.c:1134 g10/keyedit.c:3348
 msgid "Compression: "
 msgstr "Kompresji: "
 
-#: g10/gpg.c:1199 sm/gpgsm.c:665
+#: g10/gpg.c:1207 sm/gpgsm.c:668
 #, c-format
 msgid "usage: %s [options] %s\n"
 msgstr "składnia: %s [opcje] %s\n"
 
-#: g10/gpg.c:1388 sm/gpgsm.c:754
+#: g10/gpg.c:1396 sm/gpgsm.c:761
 #, c-format
 msgid "conflicting commands\n"
 msgstr "sprzeczne polecenia\n"
 
-#: g10/gpg.c:1406
+#: g10/gpg.c:1414
 #, c-format
 msgid "no = sign found in group definition '%s'\n"
 msgstr "w definicji grupy ,,%s'' brak znaku ,,=''\n"
 
-#: g10/gpg.c:1604
+#: g10/gpg.c:1612
 #, c-format
 msgid "WARNING: unsafe ownership on homedir '%s'\n"
 msgstr ""
 "OSTRZEŻENIE: niebezpieczne prawa własności do katalogu domowego ,,%s''\n"
 
-#: g10/gpg.c:1607
+#: g10/gpg.c:1615
 #, c-format
 msgid "WARNING: unsafe ownership on configuration file '%s'\n"
 msgstr ""
 "OSTRZEŻENIE: niebezpieczne prawa własności do pliku konfiguracyjnego ,,%s''\n"
 
-#: g10/gpg.c:1610
+#: g10/gpg.c:1618
 #, c-format
 msgid "WARNING: unsafe ownership on extension '%s'\n"
 msgstr "OSTRZEŻENIE: niebezpieczne prawa własności do rozszerzenia ,,%s''\n"
 
-#: g10/gpg.c:1616
+#: g10/gpg.c:1624
 #, c-format
 msgid "WARNING: unsafe permissions on homedir '%s'\n"
 msgstr "OSTRZEŻENIE: niebezpieczne prawa dostępu do katalogu domowego ,,%s''\n"
 
-#: g10/gpg.c:1619
+#: g10/gpg.c:1627
 #, c-format
 msgid "WARNING: unsafe permissions on configuration file '%s'\n"
 msgstr ""
 "OSTRZEŻENIE: niebezpieczne prawa dostępu do pliku konfiguracyjnego ,,%s''\n"
 
-#: g10/gpg.c:1622
+#: g10/gpg.c:1630
 #, c-format
 msgid "WARNING: unsafe permissions on extension '%s'\n"
 msgstr "OSTRZEŻENIE: niebezpieczne prawa dostępu do rozszerzenia ,,%s''\n"
 
-#: g10/gpg.c:1628
+#: g10/gpg.c:1636
 #, c-format
 msgid "WARNING: unsafe enclosing directory ownership on homedir '%s'\n"
 msgstr ""
 "OSTRZEŻENIE: niebezpieczne prawa własności do katalogu zawierającego katalog "
 "domowy ,,%s''\n"
 
-#: g10/gpg.c:1631
+#: g10/gpg.c:1639
 #, c-format
 msgid ""
 "WARNING: unsafe enclosing directory ownership on configuration file '%s'\n"
@@ -2791,21 +2809,21 @@ msgstr ""
 "OSTRZEŻENIE: niebezpieczne prawa własności do katalogu zawierającego plik "
 "konfiguracyjny ,,%s''\n"
 
-#: g10/gpg.c:1634
+#: g10/gpg.c:1642
 #, c-format
 msgid "WARNING: unsafe enclosing directory ownership on extension '%s'\n"
 msgstr ""
 "OSTRZEŻENIE: niebezpieczne prawa własności do katalogu zawierającego "
 "rozszerzenie ,,%s''\n"
 
-#: g10/gpg.c:1640
+#: g10/gpg.c:1648
 #, c-format
 msgid "WARNING: unsafe enclosing directory permissions on homedir '%s'\n"
 msgstr ""
 "OSTRZEŻENIE: niebezpieczne prawa dostępu do katalogu zawierającego katalog "
 "domowy ,,%s''\n"
 
-#: g10/gpg.c:1643
+#: g10/gpg.c:1651
 #, c-format
 msgid ""
 "WARNING: unsafe enclosing directory permissions on configuration file '%s'\n"
@@ -2813,454 +2831,454 @@ msgstr ""
 "OSTRZEŻENIE: niebezpieczne prawa dostępu do katalogu zawierającego plik "
 "konfiguracyjny ,,%s''\n"
 
-#: g10/gpg.c:1646
+#: g10/gpg.c:1654
 #, c-format
 msgid "WARNING: unsafe enclosing directory permissions on extension '%s'\n"
 msgstr ""
 "OSTRZEŻENIE: niebezpieczne prawa dostępu do katalogu zawierającego "
 "rozszerzenie ,,%s''\n"
 
-#: g10/gpg.c:1862
+#: g10/gpg.c:1870
 #, c-format
 msgid "unknown configuration item '%s'\n"
 msgstr "nieznana opcja konfiguracyjna ,,%s''\n"
 
-#: g10/gpg.c:1979
+#: g10/gpg.c:1992
 msgid "display photo IDs during key listings"
 msgstr "wyświetlenie ID zdjęć przy wypisywaniu kluczy"
 
-#: g10/gpg.c:1981
+#: g10/gpg.c:1994
 msgid "show key usage information during key listings"
 msgstr "pokazywanie informacji o zastosowaniu klucza przy wypisywaniu kluczy"
 
-#: g10/gpg.c:1983
+#: g10/gpg.c:1996
 msgid "show policy URLs during signature listings"
 msgstr "pokazywanie URL-i polityk przy wypisywaniu podpisów"
 
-#: g10/gpg.c:1985
+#: g10/gpg.c:1998
 msgid "show all notations during signature listings"
 msgstr "pokazywanie wszystkich adnotacji przy wypisywaniu podpisów"
 
-#: g10/gpg.c:1987
+#: g10/gpg.c:2000
 msgid "show IETF standard notations during signature listings"
 msgstr "pokazywanie standardowych adnotacji IETF przy wypisywaniu podpisów"
 
-#: g10/gpg.c:1991
+#: g10/gpg.c:2004
 msgid "show user-supplied notations during signature listings"
 msgstr "pokazywanie adnotacji użytkownika przy wypisywaniu podpisów"
 
-#: g10/gpg.c:1993
+#: g10/gpg.c:2006
 msgid "show preferred keyserver URLs during signature listings"
 msgstr ""
 "pokazywanie URL-i preferowanych serwerów kluczy przy wypisywaniu podpisów"
 
-#: g10/gpg.c:1995
+#: g10/gpg.c:2008
 msgid "show user ID validity during key listings"
 msgstr "pokazywanie poprawności ID użytkownika przy wypisywaniu kluczy"
 
-#: g10/gpg.c:1997
+#: g10/gpg.c:2010
 msgid "show revoked and expired user IDs in key listings"
 msgstr ""
 "pokazywanie unieważnionych i wygasłych ID użytkownika na listach kluczy"
 
-#: g10/gpg.c:1999
+#: g10/gpg.c:2012
 msgid "show revoked and expired subkeys in key listings"
 msgstr "pokazywanie unieważnionych i wygasłych podkluczy na listach kluczy"
 
-#: g10/gpg.c:2001
+#: g10/gpg.c:2014
 msgid "show the keyring name in key listings"
 msgstr "pokazywanie nazwy zbioru kluczy na listach kluczy"
 
-#: g10/gpg.c:2003
+#: g10/gpg.c:2016
 msgid "show expiration dates during signature listings"
 msgstr "pokazywanie dat wygaśnięcia przy wypisywaniu podpisów"
 
-#: g10/gpg.c:2118
+#: g10/gpg.c:2131
 #, c-format
 msgid "unknown TOFU policy '%s'\n"
 msgstr "nieznana polityka TOFU ,,%s''\n"
 
-#: g10/gpg.c:2120
+#: g10/gpg.c:2133
 #, c-format
 msgid "(use \"help\" to list choices)\n"
 msgstr "(,,help'' wyświetli listę wyborów)\n"
 
-#: g10/gpg.c:2840 g10/gpg.c:3671 g10/gpg.c:3683
+#: g10/gpg.c:2856 g10/gpg.c:3691 g10/gpg.c:3703
 #, c-format
 msgid "Note: %s is not for normal use!\n"
 msgstr "Uwaga: %s nie jest do normalnego użytku!\n"
 
-#: g10/gpg.c:3017 g10/gpg.c:3029
+#: g10/gpg.c:3033 g10/gpg.c:3045
 #, c-format
 msgid "'%s' is not a valid signature expiration\n"
 msgstr ",,%s'' nie jest poprawnym czasem wygaśnięcia podpisu\n"
 
-#: g10/gpg.c:3051
+#: g10/gpg.c:3067
 #, c-format
 msgid "\"%s\" is not a proper mail address\n"
 msgstr ",,%s'' nie jest niepoprawnym adresem e-mail\n"
 
-#: g10/gpg.c:3083 sm/gpgsm.c:1177
+#: g10/gpg.c:3099 sm/gpgsm.c:1091
 #, c-format
 msgid "invalid pinentry mode '%s'\n"
 msgstr "błędny tryb pinentry ,,%s''\n"
 
-#: g10/gpg.c:3089 sm/gpgsm.c:1183
+#: g10/gpg.c:3105 sm/gpgsm.c:1097
 #, c-format
 msgid "invalid request origin '%s'\n"
 msgstr "błędne źródło żądania ,,%s''\n"
 
-#: g10/gpg.c:3143
+#: g10/gpg.c:3159
 #, c-format
 msgid "'%s' is not a valid character set\n"
 msgstr ",,%s'' nie jest poprawną nazwą zestawu znaków\n"
 
-#: g10/gpg.c:3165 g10/gpg.c:3375 g10/keyedit.c:5281
+#: g10/gpg.c:3181 g10/gpg.c:3395 g10/keyedit.c:5282
 #, c-format
 msgid "could not parse keyserver URL\n"
 msgstr "niezrozumiały URL serwera kluczy\n"
 
-#: g10/gpg.c:3183
+#: g10/gpg.c:3199
 #, c-format
 msgid "%s:%d: invalid keyserver options\n"
 msgstr "%s:%d: niepoprawne opcje serwera kluczy\n"
 
-#: g10/gpg.c:3186
+#: g10/gpg.c:3202
 #, c-format
 msgid "invalid keyserver options\n"
 msgstr "niepoprawne opcje serwera kluczy\n"
 
-#: g10/gpg.c:3193
+#: g10/gpg.c:3209
 #, c-format
 msgid "%s:%d: invalid import options\n"
 msgstr "%s:%d: niepoprawne opcje wczytania kluczy\n"
 
-#: g10/gpg.c:3196
+#: g10/gpg.c:3212
 #, c-format
 msgid "invalid import options\n"
 msgstr "niepoprawne opcje wczytania kluczy\n"
 
-#: g10/gpg.c:3202 g10/gpg.c:3217
+#: g10/gpg.c:3218 g10/gpg.c:3233
 #, c-format
 msgid "invalid filter option: %s\n"
 msgstr "niepoprawne opcje filtrowania: %s\n"
 
-#: g10/gpg.c:3208
+#: g10/gpg.c:3224
 #, c-format
 msgid "%s:%d: invalid export options\n"
 msgstr "%s:%d niepoprawne opcje eksportu kluczy\n"
 
-#: g10/gpg.c:3211
+#: g10/gpg.c:3227
 #, c-format
 msgid "invalid export options\n"
 msgstr "niepoprawne opcje eksportu kluczy\n"
 
-#: g10/gpg.c:3223
+#: g10/gpg.c:3239
 #, c-format
 msgid "%s:%d: invalid list options\n"
 msgstr "%s:%d: niepoprawne opcje wypisywania\n"
 
-#: g10/gpg.c:3226
+#: g10/gpg.c:3242
 #, c-format
 msgid "invalid list options\n"
 msgstr "niepoprawne opcje wypisywania\n"
 
-#: g10/gpg.c:3234
+#: g10/gpg.c:3250
 msgid "display photo IDs during signature verification"
 msgstr "wyświetlanie ID zdjęć przy sprawdzaniu podpisów"
 
-#: g10/gpg.c:3236
+#: g10/gpg.c:3252
 msgid "show policy URLs during signature verification"
 msgstr "pokazywanie URL-i polityk przy sprawdzaniu podpisów"
 
-#: g10/gpg.c:3238
+#: g10/gpg.c:3254
 msgid "show all notations during signature verification"
 msgstr "pokazywanie wszystkich adnotacji przy sprawdzaniu podpisów"
 
-#: g10/gpg.c:3240
+#: g10/gpg.c:3256
 msgid "show IETF standard notations during signature verification"
 msgstr "pokazywanie standardowych adnotacji IETF przy sprawdzaniu podpisów"
 
-#: g10/gpg.c:3244
+#: g10/gpg.c:3260
 msgid "show user-supplied notations during signature verification"
 msgstr "pokazywanie adnotacji użytkownika przy sprawdzaniu podpisów"
 
-#: g10/gpg.c:3246
+#: g10/gpg.c:3262
 msgid "show preferred keyserver URLs during signature verification"
 msgstr ""
 "pokazywanie URL-i preferowanych serwerów kluczy przy sprawdzaniu podpisów"
 
-#: g10/gpg.c:3248
+#: g10/gpg.c:3264
 msgid "show user ID validity during signature verification"
 msgstr "pokazywanie poprawności ID użytkownika przy sprawdzaniu podpisów"
 
-#: g10/gpg.c:3250
+#: g10/gpg.c:3266
 msgid "show revoked and expired user IDs in signature verification"
 msgstr ""
 "pokazywanie unieważnionych i wygasłych ID użytkownika przy sprawdzaniu "
 "podpisów"
 
-#: g10/gpg.c:3252
+#: g10/gpg.c:3268
 msgid "show only the primary user ID in signature verification"
 msgstr "pokazywanie tylko głównego ID użytkownika przy sprawdzaniu podpisu"
 
-#: g10/gpg.c:3254
+#: g10/gpg.c:3270
 msgid "validate signatures with PKA data"
 msgstr "sprawdzanie podpisów z danymi PKA"
 
-#: g10/gpg.c:3256
+#: g10/gpg.c:3272
 msgid "elevate the trust of signatures with valid PKA data"
 msgstr "zwiększenie zaufania podpisów z poprawnymi danymi PKA"
 
-#: g10/gpg.c:3263
+#: g10/gpg.c:3279
 #, c-format
 msgid "%s:%d: invalid verify options\n"
 msgstr "%s:%d: niepoprawne opcje sprawdzania\n"
 
-#: g10/gpg.c:3266
+#: g10/gpg.c:3282
 #, c-format
 msgid "invalid verify options\n"
 msgstr "niepoprawne opcje sprawdzania\n"
 
-#: g10/gpg.c:3273
+#: g10/gpg.c:3289
 #, c-format
 msgid "unable to set exec-path to %s\n"
 msgstr "nie można ustawić ścieżki programów wykonywalnych na %s\n"
 
-#: g10/gpg.c:3478
+#: g10/gpg.c:3498
 #, c-format
 msgid "%s:%d: invalid auto-key-locate list\n"
 msgstr "%s:%d: niepoprawna lista auto-key-locate\n"
 
-#: g10/gpg.c:3481
+#: g10/gpg.c:3501
 #, c-format
 msgid "invalid auto-key-locate list\n"
 msgstr "Niepoprawna lista auto-key-locate\n"
 
-#: g10/gpg.c:3653 sm/gpgsm.c:1541
+#: g10/gpg.c:3673 sm/gpgsm.c:1441
 #, c-format
 msgid "WARNING: program may create a core file!\n"
 msgstr "OSTRZEŻENIE: program może stworzyć plik zrzutu pamięci!\n"
 
-#: g10/gpg.c:3664
+#: g10/gpg.c:3684
 #, c-format
 msgid "WARNING: %s overrides %s\n"
 msgstr "OSTRZEŻENIE: %s powoduje obejście %s\n"
 
-#: g10/gpg.c:3673
+#: g10/gpg.c:3693
 #, c-format
 msgid "%s not allowed with %s!\n"
 msgstr "Nie wolno używać %s z %s!\n"
 
-#: g10/gpg.c:3676
+#: g10/gpg.c:3696
 #, c-format
 msgid "%s makes no sense with %s!\n"
 msgstr "%s nie ma sensu w połączeniu z %s!\n"
 
-#: g10/gpg.c:3691 sm/gpgsm.c:1558 dirmngr/dirmngr.c:1082
+#: g10/gpg.c:3711 sm/gpgsm.c:1458 dirmngr/dirmngr.c:1117
 #, c-format
 msgid "WARNING: running with faked system time: "
 msgstr "OSTRZEŻENIE: działanie z fałszywym czasem systemowym: "
 
-#: g10/gpg.c:3712
+#: g10/gpg.c:3732
 #, c-format
 msgid "will not run with insecure memory due to %s\n"
 msgstr "nie zadziała z niebezpieczną pamięcią z powodu %s\n"
 
-#: g10/gpg.c:3747 g10/gpg.c:3771 sm/gpgsm.c:1625
+#: g10/gpg.c:3767 g10/gpg.c:3791 sm/gpgsm.c:1525
 #, c-format
 msgid "selected cipher algorithm is invalid\n"
 msgstr "wybrany algorytm szyfrujący jest niepoprawny\n"
 
-#: g10/gpg.c:3759
+#: g10/gpg.c:3779
 #, c-format
 msgid "selected compression algorithm is invalid\n"
 msgstr "wybrany algorytm kompresji jest niepoprawny\n"
 
-#: g10/gpg.c:3765
+#: g10/gpg.c:3785
 #, c-format
 msgid "selected certification digest algorithm is invalid\n"
 msgstr "wybrany algorytm skrótów poświadczeń jest niepoprawny\n"
 
-#: g10/gpg.c:3780
+#: g10/gpg.c:3800
 #, c-format
 msgid "completes-needed must be greater than 0\n"
 msgstr "wartość completes-needed musi być większa od 0\n"
 
-#: g10/gpg.c:3782
+#: g10/gpg.c:3802
 #, c-format
 msgid "marginals-needed must be greater than 1\n"
 msgstr "wartość marginals-needed musi być większa od 1\n"
 
-#: g10/gpg.c:3784
+#: g10/gpg.c:3804
 #, c-format
 msgid "max-cert-depth must be in the range from 1 to 255\n"
 msgstr "wartość max-cert-depth musi mieścić się w zakresie od 1 do 255\n"
 
-#: g10/gpg.c:3786
+#: g10/gpg.c:3806
 #, c-format
 msgid "invalid default-cert-level; must be 0, 1, 2, or 3\n"
 msgstr ""
 "niewłaściwy domyślny poziom sprawdzania; musi mieć wartość 0, 1, 2 lub 3\n"
 
-#: g10/gpg.c:3788
+#: g10/gpg.c:3808
 #, c-format
 msgid "invalid min-cert-level; must be 1, 2, or 3\n"
 msgstr ""
 "niewłaściwy minimalny poziom sprawdzania; musi mieć wartość 0, 1, 2 lub 3\n"
 
-#: g10/gpg.c:3791
+#: g10/gpg.c:3812
 #, c-format
 msgid "Note: simple S2K mode (0) is strongly discouraged\n"
 msgstr "Uwaga: prosty tryb S2K (0) jest stanowczo odradzany\n"
 
-#: g10/gpg.c:3795
+#: g10/gpg.c:3816
 #, c-format
 msgid "invalid S2K mode; must be 0, 1 or 3\n"
 msgstr "niepoprawny tryb S2K; musi mieć wartość 0, 1 lub 3\n"
 
-#: g10/gpg.c:3802
+#: g10/gpg.c:3823
 #, c-format
 msgid "invalid default preferences\n"
 msgstr "niewłaściwe domyślne ustawienia\n"
 
-#: g10/gpg.c:3806
+#: g10/gpg.c:3827
 #, c-format
 msgid "invalid personal cipher preferences\n"
 msgstr "niewłaściwe ustawienia szyfrów\n"
 
-#: g10/gpg.c:3810
+#: g10/gpg.c:3831
 #, c-format
 msgid "invalid personal digest preferences\n"
 msgstr "niewłaściwe ustawienia skrótów\n"
 
-#: g10/gpg.c:3814
+#: g10/gpg.c:3835
 #, c-format
 msgid "invalid personal compress preferences\n"
 msgstr "niewłaściwe ustawienia algorytmów kompresji\n"
 
-#: g10/gpg.c:3850
+#: g10/gpg.c:3871
 #, c-format
 msgid "%s does not yet work with %s\n"
 msgstr "%s jeszcze nie działa z %s!\n"
 
-#: g10/gpg.c:3913
+#: g10/gpg.c:3934
 #, c-format
 msgid "compression algorithm '%s' may not be used in %s mode\n"
 msgstr "algorytm kompresji ,,%s'' nie może być używany w trybie %s\n"
 
-#: g10/gpg.c:4057
+#: g10/gpg.c:4078
 #, c-format
 msgid "failed to initialize the TrustDB: %s\n"
 msgstr "inicjowanie Bazy Zaufania nie powiodło się: %s\n"
 
-#: g10/gpg.c:4069
+#: g10/gpg.c:4090
 #, c-format
 msgid "WARNING: recipients (-r) given without using public key encryption\n"
 msgstr "OSTRZEŻENIE: podano adresatów (-r) w działaniu które ich nie dotyczy\n"
 
-#: g10/gpg.c:4141
+#: g10/gpg.c:4162
 #, c-format
 msgid "symmetric encryption of '%s' failed: %s\n"
 msgstr "szyfrowanie symetryczne ,,%s'' nie powiodło się: %s\n"
 
-#: g10/gpg.c:4170
+#: g10/gpg.c:4191
 #, c-format
 msgid "you cannot use --symmetric --encrypt with --s2k-mode 0\n"
 msgstr "nie można użyć --symmetric --encrypt wraz z --s2k-mode 0\n"
 
-#: g10/gpg.c:4173
+#: g10/gpg.c:4194
 #, c-format
 msgid "you cannot use --symmetric --encrypt in %s mode\n"
 msgstr "nie można użyć --symmetric --encrypt w trybie %s\n"
 
-#: g10/gpg.c:4231
+#: g10/gpg.c:4252
 #, c-format
 msgid "you cannot use --symmetric --sign --encrypt with --s2k-mode 0\n"
 msgstr "nie można użyć --symmetric --sign --encrypt wraz z --s2k-mode 0\n"
 
-#: g10/gpg.c:4234
+#: g10/gpg.c:4255
 #, c-format
 msgid "you cannot use --symmetric --sign --encrypt in %s mode\n"
 msgstr "nie można użyć --symmetric --sign --encrypt w trybie %s\n"
 
-#: g10/gpg.c:4622 g10/keyserver.c:1881
+#: g10/gpg.c:4643 g10/keyserver.c:1648
 #, c-format
 msgid "keyserver send failed: %s\n"
 msgstr "wysyłka do serwera kluczy nie powiodła się: %s\n"
 
-#: g10/gpg.c:4627
+#: g10/gpg.c:4648
 #, c-format
 msgid "keyserver receive failed: %s\n"
 msgstr "odbiór z serwera kluczy nie powiódł się: %s\n"
 
-#: g10/gpg.c:4633
+#: g10/gpg.c:4654
 #, c-format
 msgid "key export failed: %s\n"
 msgstr "eksport kluczy nie powiódł się: %s\n"
 
-#: g10/gpg.c:4646
+#: g10/gpg.c:4667
 #, c-format
 msgid "export as ssh key failed: %s\n"
 msgstr "eksport do klucza ssh powiódł się: %s\n"
 
-#: g10/gpg.c:4658
+#: g10/gpg.c:4679
 #, c-format
 msgid "keyserver search failed: %s\n"
 msgstr "szukanie w serwerze kluczy nie powiodło się: %s\n"
 
-#: g10/gpg.c:4671
+#: g10/gpg.c:4692
 #, c-format
 msgid "keyserver refresh failed: %s\n"
 msgstr "odświeżenie kluczy z serwera nie powiodło się: %s\n"
 
-#: g10/gpg.c:4738
+#: g10/gpg.c:4759
 #, c-format
 msgid "dearmoring failed: %s\n"
 msgstr "zdjęcie opakowania ASCII nie powiodło się: %s\n"
 
-#: g10/gpg.c:4749
+#: g10/gpg.c:4770
 #, c-format
 msgid "enarmoring failed: %s\n"
 msgstr "opakowywanie ASCII nie powiodło się: %s\n"
 
-#: g10/gpg.c:4841
+#: g10/gpg.c:4862
 #, c-format
 msgid "invalid hash algorithm '%s'\n"
 msgstr "niewłaściwy algorytm skrótu ,,%s''\n"
 
-#: g10/gpg.c:4993 g10/tofu.c:2153
+#: g10/gpg.c:5014 g10/tofu.c:2153
 #, c-format
 msgid "error parsing key specification '%s': %s\n"
 msgstr "błąd analizy specyfikacji klucza ,,%s'': %s\n"
 
-#: g10/gpg.c:5006
+#: g10/gpg.c:5027
 #, c-format
 msgid "'%s' does not appear to be a valid key ID, fingerprint or keygrip\n"
 msgstr ""
 ",,%s'' nie wygląda na prawidłowy identyfikator, odcisk ani uchwyt klucza\n"
 
-#: g10/gpg.c:5062
+#: g10/gpg.c:5083
 #, c-format
 msgid "WARNING: no command supplied.  Trying to guess what you mean ...\n"
 msgstr "OSTRZEŻENIE: nie podano polecenia. Próba odgadnięcia zamiaru...\n"
 
-#: g10/gpg.c:5073
+#: g10/gpg.c:5094
 #, c-format
 msgid "Go ahead and type your message ...\n"
 msgstr "Wpisz tutaj swoją wiadomość ...\n"
 
-#: g10/gpg.c:5418
+#: g10/gpg.c:5439
 #, c-format
 msgid "the given certification policy URL is invalid\n"
 msgstr "podany URL regulaminu poświadczania jest niepoprawny\n"
 
-#: g10/gpg.c:5420
+#: g10/gpg.c:5441
 #, c-format
 msgid "the given signature policy URL is invalid\n"
 msgstr "podany URL regulaminu podpisów jest niepoprawny\n"
 
-#: g10/gpg.c:5453
+#: g10/gpg.c:5474
 #, c-format
 msgid "the given preferred keyserver URL is invalid\n"
 msgstr "podany preferowany URL serwera kluczy jest niepoprawny\n"
@@ -3273,7 +3291,7 @@ msgstr "|PLIK|pobieranie kluczy ze zbioru PLIK"
 msgid "make timestamp conflicts only a warning"
 msgstr "nie traktować konfliktu datowników jako błędu"
 
-#: g10/gpgv.c:86 sm/gpgsm.c:354 tools/gpgconf.c:112
+#: g10/gpgv.c:86 sm/gpgsm.c:357 tools/gpgconf.c:112
 msgid "|FD|write status info to this FD"
 msgstr "|FD|pisanie opisu stanu do deskryptora FD"
 
@@ -3350,97 +3368,97 @@ msgstr "przyjęcie wejścia w formacie kopii zapasowej klucza GnuPG"
 msgid "repair keys on import"
 msgstr "naprawienie kluczy przy imporcie"
 
-#: g10/import.c:380 g10/import.c:699
+#: g10/import.c:392 g10/import.c:711
 #, c-format
 msgid "skipping block of type %d\n"
 msgstr "blok typu %d zostaje pominięty\n"
 
-#: g10/import.c:716
+#: g10/import.c:728
 #, c-format
 msgid "%lu keys processed so far\n"
 msgstr "%lu kluczy przetworzonych do tej chwili\n"
 
-#: g10/import.c:802
+#: g10/import.c:814
 #, c-format
 msgid "Total number processed: %lu\n"
 msgstr "Ogółem przetworzonych kluczy: %lu\n"
 
-#: g10/import.c:805
+#: g10/import.c:817
 #, c-format
 msgid "    skipped PGP-2 keys: %lu\n"
 msgstr "    pominiętych kluczy PGP-2: %lu\n"
 
-#: g10/import.c:807
+#: g10/import.c:819
 #, c-format
 msgid "      skipped new keys: %lu\n"
 msgstr "   pominiętych nowych kluczy: %lu\n"
 
-#: g10/import.c:810
+#: g10/import.c:822
 #, c-format
 msgid "          w/o user IDs: %lu\n"
 msgstr "          bez identyfikatora: %lu\n"
 
-#: g10/import.c:813 sm/import.c:130
+#: g10/import.c:825 sm/import.c:130
 #, c-format
 msgid "              imported: %lu"
 msgstr "         dołączono do zbioru: %lu"
 
-#: g10/import.c:817 sm/import.c:134
+#: g10/import.c:829 sm/import.c:134
 #, c-format
 msgid "             unchanged: %lu\n"
 msgstr "                   bez zmian: %lu\n"
 
-#: g10/import.c:819
+#: g10/import.c:831
 #, c-format
 msgid "          new user IDs: %lu\n"
 msgstr "      nowych identyfikatorów: %lu\n"
 
-#: g10/import.c:821
+#: g10/import.c:833
 #, c-format
 msgid "           new subkeys: %lu\n"
 msgstr "            nowych podkluczy: %lu\n"
 
-#: g10/import.c:823
+#: g10/import.c:835
 #, c-format
 msgid "        new signatures: %lu\n"
 msgstr "             nowych podpisów: %lu\n"
 
-#: g10/import.c:825
+#: g10/import.c:837
 #, c-format
 msgid "   new key revocations: %lu\n"
 msgstr "   nowych unieważnień kluczy: %lu\n"
 
-#: g10/import.c:827 sm/import.c:136
+#: g10/import.c:839 sm/import.c:136
 #, c-format
 msgid "      secret keys read: %lu\n"
 msgstr "   tajnych kluczy wczytanych: %lu\n"
 
-#: g10/import.c:829 sm/import.c:138
+#: g10/import.c:841 sm/import.c:138
 #, c-format
 msgid "  secret keys imported: %lu\n"
 msgstr "     tajnych kluczy dodanych: %lu\n"
 
-#: g10/import.c:831 sm/import.c:140
+#: g10/import.c:843 sm/import.c:140
 #, c-format
 msgid " secret keys unchanged: %lu\n"
 msgstr "    tajnych kluczy bez zmian: %lu\n"
 
-#: g10/import.c:833 sm/import.c:142
+#: g10/import.c:845 sm/import.c:142
 #, c-format
 msgid "          not imported: %lu\n"
 msgstr "      nie włączono do zbioru: %lu\n"
 
-#: g10/import.c:835
+#: g10/import.c:847
 #, c-format
 msgid "    signatures cleaned: %lu\n"
 msgstr "     podpisów wyczyszczonych: %lu\n"
 
-#: g10/import.c:837
+#: g10/import.c:849
 #, c-format
 msgid "      user IDs cleaned: %lu\n"
 msgstr "ID użytkownika wyczyszczonych: %lu\n"
 
-#: g10/import.c:1264
+#: g10/import.c:1276
 #, c-format
 msgid ""
 "WARNING: key %s contains preferences for unavailable\n"
@@ -3449,167 +3467,167 @@ msgstr ""
 "OSTRZEŻENIE: klucz %s zawiera preferencje dla niedostępnych\n"
 "algorytmów dla tych ID użytkownika:\n"
 
-#: g10/import.c:1306
+#: g10/import.c:1318
 #, c-format
 msgid "         \"%s\": preference for cipher algorithm %s\n"
 msgstr "         ,,%s'': preferowany szyfr %s\n"
 
-#: g10/import.c:1321
+#: g10/import.c:1333
 #, c-format
 msgid "         \"%s\": preference for digest algorithm %s\n"
 msgstr "         ,,%s'': preferowany algorytm skrótu %s\n"
 
-#: g10/import.c:1333
+#: g10/import.c:1345
 #, c-format
 msgid "         \"%s\": preference for compression algorithm %s\n"
 msgstr "         ,,%s'': preferowany algorytm kompresji %s\n"
 
-#: g10/import.c:1346
+#: g10/import.c:1358
 #, c-format
 msgid "it is strongly suggested that you update your preferences and\n"
 msgstr "zdecydowanie sugerowane jest uaktualnienie ustawień i ponowne\n"
 
-#: g10/import.c:1348
+#: g10/import.c:1360
 #, c-format
 msgid "re-distribute this key to avoid potential algorithm mismatch problems\n"
 msgstr "rozesłanie tego klucza w celu uniknięcia niezgodności algorytmów\n"
 
-#: g10/import.c:1373
+#: g10/import.c:1385
 #, c-format
 msgid "you can update your preferences with: gpg --edit-key %s updpref save\n"
 msgstr ""
 "można uaktualnić swoje ustawienia poprzez: gpg --edit-key %s updpref save\n"
 
-#: g10/import.c:1887 g10/import.c:3001
+#: g10/import.c:1899 g10/import.c:3013
 #, c-format
 msgid "key %s: no user ID\n"
 msgstr "klucz %s: brak identyfikatora użytkownika\n"
 
-#: g10/import.c:1893
+#: g10/import.c:1905
 #, c-format
 msgid "key %s: %s\n"
 msgstr "klucz %s: %s\n"
 
-#: g10/import.c:1894 g10/import.c:2973
+#: g10/import.c:1906 g10/import.c:2985
 msgid "rejected by import screener"
 msgstr "odrzucony przez filtr importu"
 
-#: g10/import.c:1938
+#: g10/import.c:1950
 #, c-format
 msgid "key %s: PKS subkey corruption repaired\n"
 msgstr "klucz %s: podklucz uszkodzony przez serwer został naprawiony\n"
 
-#: g10/import.c:1959
+#: g10/import.c:1971
 #, c-format
 msgid "key %s: accepted non self-signed user ID \"%s\"\n"
 msgstr "klucz %s: przyjęto identyfikator nie podpisany nim samym ,,%s''\n"
 
-#: g10/import.c:1969 g10/import.c:2000
+#: g10/import.c:1981 g10/import.c:2012
 #, c-format
 msgid "key %s: no valid user IDs\n"
 msgstr "klucz %s: brak poprawnych identyfikatorów użytkownika\n"
 
-#: g10/import.c:1971
+#: g10/import.c:1983
 #, c-format
 msgid "this may be caused by a missing self-signature\n"
 msgstr "to może być spowodowane brakiem podpisu klucza nim samym\n"
 
-#: g10/import.c:2050 g10/import.c:3387
+#: g10/import.c:2062 g10/import.c:3399
 #, c-format
 msgid "key %s: public key not found: %s\n"
 msgstr "klucz %s: brak klucza publicznego: %s\n"
 
-#: g10/import.c:2056
+#: g10/import.c:2068
 #, c-format
 msgid "key %s: new key - skipped\n"
 msgstr "klucz %s: nowy klucz - pominięty\n"
 
-#: g10/import.c:2068
+#: g10/import.c:2080
 #, c-format
 msgid "no writable keyring found: %s\n"
 msgstr "brak zapisywalnego zbioru kluczy: %s\n"
 
-#: g10/import.c:2100 g10/import.c:2202 g10/import.c:3464
+#: g10/import.c:2112 g10/import.c:2214 g10/import.c:3476
 #, c-format
 msgid "error writing keyring '%s': %s\n"
 msgstr "błąd zapisu zbioru kluczy ,,%s'': %s\n"
 
-#: g10/import.c:2123
+#: g10/import.c:2135
 #, c-format
 msgid "key %s: public key \"%s\" imported\n"
 msgstr "klucz %s: klucz publiczny ,,%s'' wczytano do zbioru\n"
 
-#: g10/import.c:2150
+#: g10/import.c:2162
 #, c-format
 msgid "key %s: doesn't match our copy\n"
 msgstr "klucz %s: nie zgadza się z lokalną kopią\n"
 
-#: g10/import.c:2218
+#: g10/import.c:2230
 #, c-format
 msgid "key %s: \"%s\" 1 new user ID\n"
 msgstr "klucz %s: ,,%s'' 1 nowy identyfikator użytkownika\n"
 
-#: g10/import.c:2221
+#: g10/import.c:2233
 #, c-format
 msgid "key %s: \"%s\" %d new user IDs\n"
 msgstr "klucz %s: ,,%s'' %d nowych identyfikatorów użytkownika\n"
 
-#: g10/import.c:2224
+#: g10/import.c:2236
 #, c-format
 msgid "key %s: \"%s\" 1 new signature\n"
 msgstr "klucz %s: ,,%s'' 1 nowy podpis\n"
 
-#: g10/import.c:2227
+#: g10/import.c:2239
 #, c-format
 msgid "key %s: \"%s\" %d new signatures\n"
 msgstr "klucz %s: ,,%s'' %d nowych podpisów\n"
 
-#: g10/import.c:2230
+#: g10/import.c:2242
 #, c-format
 msgid "key %s: \"%s\" 1 new subkey\n"
 msgstr "klucz %s: ,,%s'' 1 nowy podklucz\n"
 
-#: g10/import.c:2233
+#: g10/import.c:2245
 #, c-format
 msgid "key %s: \"%s\" %d new subkeys\n"
 msgstr "klucz %s: ,,%s'' %d nowych podkluczy\n"
 
-#: g10/import.c:2236
+#: g10/import.c:2248
 #, c-format
 msgid "key %s: \"%s\" %d signature cleaned\n"
 msgstr "klucz %s: ,,%s'' %d podpis wyczyszczony\n"
 
-#: g10/import.c:2239
+#: g10/import.c:2251
 #, c-format
 msgid "key %s: \"%s\" %d signatures cleaned\n"
 msgstr "klucz %s: ,,%s'' %d podpisów wyczyszczonych\n"
 
-#: g10/import.c:2242
+#: g10/import.c:2254
 #, c-format
 msgid "key %s: \"%s\" %d user ID cleaned\n"
 msgstr "klucz %s: ,,%s'' %d identyfikator użytkownika wyczyszczony\n"
 
-#: g10/import.c:2245
+#: g10/import.c:2257
 #, c-format
 msgid "key %s: \"%s\" %d user IDs cleaned\n"
 msgstr "klucz %s: ,,%s'' %d identyfikatorów użytkownika wyczyszczonych\n"
 
-#: g10/import.c:2281
+#: g10/import.c:2293
 #, c-format
 msgid "key %s: \"%s\" not changed\n"
 msgstr "klucz %s: ,,%s'' bez zmian\n"
 
-#: g10/import.c:2640 g10/import.c:2835
+#: g10/import.c:2652 g10/import.c:2847
 #, c-format
 msgid "key %s: secret key imported\n"
 msgstr "klucz %s: klucz tajny wczytany do zbioru\n"
 
-#: g10/import.c:2648
+#: g10/import.c:2660
 #, c-format
 msgid "key %s: secret key already exists\n"
 msgstr "klucz %s: klucz prywatny już istnieje\n"
 
-#: g10/import.c:2656
+#: g10/import.c:2668
 #, c-format
 msgid "key %s: error sending to agent: %s\n"
 msgstr "klucz %s: błąd wysyłania do agenta: %s\n"
@@ -3622,201 +3640,201 @@ msgstr "klucz %s: błąd wysyłania do agenta: %s\n"
 #. * Instead, user should be suggested to run 'gpg --card-status',
 #. * then, references to a card will be automatically created
 #. * again.
-#: g10/import.c:2825
+#: g10/import.c:2837
 #, c-format
 msgid "To migrate '%s', with each smartcard, run: %s\n"
 msgstr ""
 "Aby zmigrować ,,%s'', dla każdej karty procesorowej należy uruchomić: %s\n"
 
-#: g10/import.c:2972
+#: g10/import.c:2984
 #, c-format
 msgid "secret key %s: %s\n"
 msgstr "klucz prywatny %s: %s\n"
 
-#: g10/import.c:2993 g10/import.c:3032
+#: g10/import.c:3005 g10/import.c:3044
 #, c-format
 msgid "importing secret keys not allowed\n"
 msgstr "wczytywanie kluczy tajnych nie jest dozwolone\n"
 
-#: g10/import.c:3020
+#: g10/import.c:3032
 #, c-format
 msgid "key %s: secret key with invalid cipher %d - skipped\n"
 msgstr "klucz %s: klucz tajny z błędnym szyfrem %d - pominięty\n"
 
-#: g10/import.c:3182 g10/pkclist.c:72 g10/revoke.c:776
+#: g10/import.c:3194 g10/pkclist.c:72 g10/revoke.c:776
 msgid "No reason specified"
 msgstr "nie podano przyczyny"
 
-#: g10/import.c:3183 g10/pkclist.c:74 g10/revoke.c:778
+#: g10/import.c:3195 g10/pkclist.c:74 g10/revoke.c:778
 msgid "Key is superseded"
 msgstr "klucz został zastąpiony"
 
-#: g10/import.c:3184 g10/pkclist.c:76 g10/revoke.c:777
+#: g10/import.c:3196 g10/pkclist.c:76 g10/revoke.c:777
 msgid "Key has been compromised"
 msgstr "klucz został skompromitowany"
 
-#: g10/import.c:3185 g10/pkclist.c:78 g10/revoke.c:779
+#: g10/import.c:3197 g10/pkclist.c:78 g10/revoke.c:779
 msgid "Key is no longer used"
 msgstr "klucz nie jest już używany"
 
-#: g10/import.c:3186 g10/pkclist.c:80 g10/revoke.c:780
+#: g10/import.c:3198 g10/pkclist.c:80 g10/revoke.c:780
 msgid "User ID is no longer valid"
 msgstr "identyfikator użytkownika przestał być poprawny"
 
-#: g10/import.c:3311 g10/keylist.c:1254 g10/pkclist.c:84
+#: g10/import.c:3323 g10/keylist.c:1254 g10/pkclist.c:84
 #, c-format
 msgid "reason for revocation: "
 msgstr "powód unieważnienia: "
 
-#: g10/import.c:3330 g10/keylist.c:1273 g10/pkclist.c:100
+#: g10/import.c:3342 g10/keylist.c:1273 g10/pkclist.c:100
 #, c-format
 msgid "revocation comment: "
 msgstr "komentarz do unieważnienia: "
 
-#: g10/import.c:3380
+#: g10/import.c:3392
 #, c-format
 msgid "key %s: no public key - can't apply revocation certificate\n"
 msgstr ""
 "klucz %s: brak klucza publicznego, którego dotyczy wczytany certyfikat\n"
 "              unieważnienia\n"
 
-#: g10/import.c:3411
+#: g10/import.c:3423
 #, c-format
 msgid "key %s: can't locate original keyblock: %s\n"
 msgstr "klucz %s: brak oryginalnego bloku klucza; %s\n"
 
-#: g10/import.c:3418
+#: g10/import.c:3430
 #, c-format
 msgid "key %s: can't read original keyblock: %s\n"
 msgstr "klucz %s: nie można odczytać oryginalnego bloku klucza: %s\n"
 
-#: g10/import.c:3438
+#: g10/import.c:3450
 #, c-format
 msgid "key %s: invalid revocation certificate: %s - rejected\n"
 msgstr "klucz %s: niepoprawny certyfikat unieważnienia: %s - odrzucony\n"
 
-#: g10/import.c:3473
+#: g10/import.c:3485
 #, c-format
 msgid "key %s: \"%s\" revocation certificate imported\n"
 msgstr "klucz %s: ,,%s'' certyfikat unieważnienia został już wczytany\n"
 
-#: g10/import.c:3559
+#: g10/import.c:3571
 #, c-format
 msgid "key %s: no user ID for signature\n"
 msgstr "klucz %s: brak identyfikatora użytkownika do podpisu\n"
 
-#: g10/import.c:3576
+#: g10/import.c:3588
 #, c-format
 msgid "key %s: unsupported public key algorithm on user ID \"%s\"\n"
 msgstr "klucz %s: algorytm asymetryczny dla id ,,%s'' nie jest obsługiwany\n"
 
-#: g10/import.c:3578
+#: g10/import.c:3590
 #, c-format
 msgid "key %s: invalid self-signature on user ID \"%s\"\n"
 msgstr "klucz %s: niepoprawny podpis na identyfikatorze ,,%s''\n"
 
-#: g10/import.c:3595 g10/import.c:3623 g10/import.c:3679
+#: g10/import.c:3607 g10/import.c:3635 g10/import.c:3691
 #, c-format
 msgid "key %s: unsupported public key algorithm\n"
 msgstr "klucz %s: nieobsługiwany algorytm asymetryczny\n"
 
-#: g10/import.c:3596
+#: g10/import.c:3608
 #, c-format
 msgid "key %s: invalid direct key signature\n"
 msgstr "klucz %s: nieprawidłowy bezpośredni podpis\n"
 
-#: g10/import.c:3610
+#: g10/import.c:3622
 #, c-format
 msgid "key %s: no subkey for key binding\n"
 msgstr "klucz %s: brak podklucza do dowiązania\n"
 
-#: g10/import.c:3625
+#: g10/import.c:3637
 #, c-format
 msgid "key %s: invalid subkey binding\n"
 msgstr "klucz %s: niepoprawne dowiązanie podklucza\n"
 
-#: g10/import.c:3644
+#: g10/import.c:3656
 #, c-format
 msgid "key %s: removed multiple subkey binding\n"
 msgstr "klucz %s: usunięto wielokrotne dowiązanie podklucza\n"
 
-#: g10/import.c:3668
+#: g10/import.c:3680
 #, c-format
 msgid "key %s: no subkey for key revocation\n"
 msgstr "klucz %s: brak podklucza, którego dotyczy unieważnienie\n"
 
-#: g10/import.c:3681
+#: g10/import.c:3693
 #, c-format
 msgid "key %s: invalid subkey revocation\n"
 msgstr "klucz %s: niepoprawne unieważnienie podklucza\n"
 
-#: g10/import.c:3696
+#: g10/import.c:3708
 #, c-format
 msgid "key %s: removed multiple subkey revocation\n"
 msgstr "klucz %s: usunięto wielokrotne unieważnienie podklucza\n"
 
-#: g10/import.c:3740
+#: g10/import.c:3752
 #, c-format
 msgid "key %s: skipped user ID \"%s\"\n"
 msgstr "klucz %s: pominięto identyfikator użytkownika ,,%s''\n"
 
-#: g10/import.c:3767
+#: g10/import.c:3779
 #, c-format
 msgid "key %s: skipped subkey\n"
 msgstr "klucz %s: podklucz pominięty\n"
 
-#: g10/import.c:3798
+#: g10/import.c:3810
 #, c-format
 msgid "key %s: non exportable signature (class 0x%02X) - skipped\n"
 msgstr "klucz %s: podpis nieeksportowalny (klasy 0x%02X) - pominięty\n"
 
-#: g10/import.c:3809
+#: g10/import.c:3821
 #, c-format
 msgid "key %s: revocation certificate at wrong place - skipped\n"
 msgstr ""
 "klucz %s: pominięto certyfikat unieważnienia umieszczony\n"
 "              w niewłaściwym miejscu\n"
 
-#: g10/import.c:3827
+#: g10/import.c:3839
 #, c-format
 msgid "key %s: invalid revocation certificate: %s - skipped\n"
 msgstr "klucz %s: pominięto -  niepoprawny certyfikat unieważnienia: %s\n"
 
-#: g10/import.c:3841
+#: g10/import.c:3853
 #, c-format
 msgid "key %s: subkey signature in wrong place - skipped\n"
 msgstr "klucz %s: pominięto - podpis na podkluczu w niewłaściwym miejscu\n"
 
-#: g10/import.c:3849
+#: g10/import.c:3861
 #, c-format
 msgid "key %s: unexpected signature class (0x%02X) - skipped\n"
 msgstr "klucz %s: pominięto - nieoczekiwana klasa podpisu (0x%02X)\n"
 
-#: g10/import.c:4022
+#: g10/import.c:4034
 #, c-format
 msgid "key %s: duplicated user ID detected - merged\n"
 msgstr "key %s: dołączono powtórzony identyfikator użytkownika\n"
 
-#: g10/import.c:4087
+#: g10/import.c:4099
 #, c-format
 msgid "WARNING: key %s may be revoked: fetching revocation key %s\n"
 msgstr ""
 "OSTRZEŻENIE: klucz %s mógł zostać unieważniony:\n"
 "             zapytanie o unieważniający klucz %s w serwerze kluczy\n"
 
-#: g10/import.c:4103
+#: g10/import.c:4115
 #, c-format
 msgid "WARNING: key %s may be revoked: revocation key %s not present.\n"
 msgstr ""
 "OSTRZEŻENIE: klucz %s mógł zostać unieważniony:\n"
 "             brak unieważniającego klucza %s.\n"
 
-#: g10/import.c:4169
+#: g10/import.c:4181
 #, c-format
 msgid "key %s: \"%s\" revocation certificate added\n"
 msgstr "klucz %s: ,,%s'' dodany certyfikat unieważnienia\n"
 
-#: g10/import.c:4207
+#: g10/import.c:4219
 #, c-format
 msgid "key %s: direct key signature added\n"
 msgstr "klucz %s: dodano bezpośredni podpis\n"
@@ -3891,7 +3909,7 @@ msgstr ""
 "Uwaga: znaleziono błędy, a sprawdzono tylko podpisy własne; uruchomienie "
 "'%s' sprawdzi wszystkie podpisy.\n"
 
-#: g10/keydb.c:431 g10/keydb.c:458 sm/keydb.c:191 sm/keydb.c:204
+#: g10/keydb.c:431 g10/keydb.c:458 sm/keydb.c:190 sm/keydb.c:203
 #, c-format
 msgid "error creating keybox '%s': %s\n"
 msgstr "błąd tworzenia keyboksa ,,%s'': %s\n"
@@ -3901,7 +3919,7 @@ msgstr "błąd tworzenia keyboksa ,,%s'': %s\n"
 msgid "error creating keyring '%s': %s\n"
 msgstr "błąd tworzenia zbioru kluczy ,,%s'': %s\n"
 
-#: g10/keydb.c:470 sm/keydb.c:210
+#: g10/keydb.c:470 sm/keydb.c:209
 #, c-format
 msgid "keybox '%s' created\n"
 msgstr "keybox ,,%s'' utworzony\n"
@@ -3981,13 +3999,13 @@ msgstr ""
 msgid "User ID \"%s\" is revoked."
 msgstr "Identyfikator użytkownika ,,%s'' został unieważniony."
 
-#: g10/keyedit.c:569 g10/keyedit.c:597 g10/keyedit.c:624 g10/keyedit.c:808
-#: g10/keyedit.c:1655
+#: g10/keyedit.c:569 g10/keyedit.c:597 g10/keyedit.c:624 g10/keyedit.c:809
+#: g10/keyedit.c:1656
 msgid "Are you sure you still want to sign it? (y/N) "
 msgstr "Czy na pewno chcesz podpisać? (t/N) "
 
-#: g10/keyedit.c:583 g10/keyedit.c:611 g10/keyedit.c:638 g10/keyedit.c:814
-#: g10/keyedit.c:1660 g10/keyedit.c:2667
+#: g10/keyedit.c:583 g10/keyedit.c:611 g10/keyedit.c:638 g10/keyedit.c:815
+#: g10/keyedit.c:1661 g10/keyedit.c:2668
 msgid "  Unable to sign.\n"
 msgstr " Nie da się złożyć podpisu.\n"
 
@@ -4060,30 +4078,30 @@ msgstr ",,%s'' jest już lokalnie podpisany kluczem %s\n"
 msgid "\"%s\" was already signed by key %s\n"
 msgstr ",,%s'' jest już podpisany kluczem %s\n"
 
-#: g10/keyedit.c:756
+#: g10/keyedit.c:757
 msgid "Do you want to sign it again anyway? (y/N) "
 msgstr "Czy na pewno chcesz to podpisać jeszcze raz? (t/N) "
 
-#: g10/keyedit.c:778
+#: g10/keyedit.c:779
 #, c-format
 msgid "Nothing to sign with key %s\n"
 msgstr "Nie ma nic do podpisania kluczem %s\n"
 
-#: g10/keyedit.c:802
+#: g10/keyedit.c:803
 msgid "This key has expired!"
 msgstr "Data ważności tego klucza upłynęła!"
 
-#: g10/keyedit.c:820
+#: g10/keyedit.c:821
 #, c-format
 msgid "This key is due to expire on %s.\n"
 msgstr "Ważność tego klucza wygasa %s.\n"
 
-#: g10/keyedit.c:826
+#: g10/keyedit.c:827
 msgid "Do you want your signature to expire at the same time? (Y/n) "
 msgstr ""
 "Czy chcesz żeby ważność Twojego podpisu wygasała w tej samej chwili? (T/n) "
 
-#: g10/keyedit.c:867
+#: g10/keyedit.c:868
 msgid ""
 "How carefully have you verified the key you are about to sign actually "
 "belongs\n"
@@ -4092,31 +4110,31 @@ msgstr ""
 "Jak dokładnie została przez Ciebie sprawdzona tożsamość tej osoby?\n"
 "Jeśli nie wiesz co odpowiedzieć, podaj ,,0''.\n"
 
-#: g10/keyedit.c:872
+#: g10/keyedit.c:873
 #, c-format
 msgid "   (0) I will not answer.%s\n"
 msgstr "   (0) Nie odpowiem na to pytanie. %s\n"
 
-#: g10/keyedit.c:874
+#: g10/keyedit.c:875
 #, c-format
 msgid "   (1) I have not checked at all.%s\n"
 msgstr "   (1) W ogóle nie.%s\n"
 
-#: g10/keyedit.c:876
+#: g10/keyedit.c:877
 #, c-format
 msgid "   (2) I have done casual checking.%s\n"
 msgstr "   (2) Pobieżnie.%s\n"
 
-#: g10/keyedit.c:879
+#: g10/keyedit.c:880
 #, c-format
 msgid "   (3) I have done very careful checking.%s\n"
 msgstr "   (3) Bardzo dokładnie.%s\n"
 
-#: g10/keyedit.c:886
+#: g10/keyedit.c:887
 msgid "Your selection? (enter '?' for more information): "
 msgstr "Wybór (,,?'' podaje więcej informacji): "
 
-#: g10/keyedit.c:913
+#: g10/keyedit.c:914
 #, c-format
 msgid ""
 "Are you sure that you want to sign this key with your\n"
@@ -4125,239 +4143,239 @@ msgstr ""
 "Czy jesteś naprawdę pewien, że chcesz podpisać ten klucz\n"
 "swoim kluczem ,,%s'' (%s)\n"
 
-#: g10/keyedit.c:921
+#: g10/keyedit.c:922
 msgid "This will be a self-signature.\n"
 msgstr "To będzie podpis klucza nim samym.\n"
 
-#: g10/keyedit.c:926
+#: g10/keyedit.c:927
 msgid "WARNING: the signature will not be marked as non-exportable.\n"
 msgstr ""
 "OSTRZEŻENIE: podpis nie zostanie oznaczony jako prywatny "
 "(nieeksportowalny).\n"
 
-#: g10/keyedit.c:933
+#: g10/keyedit.c:934
 msgid "WARNING: the signature will not be marked as non-revocable.\n"
 msgstr ""
 "OSTRZEŻENIE: podpis nie zostanie oznaczony jako nie podlegający "
 "unieważnieniu.\n"
 
-#: g10/keyedit.c:943
+#: g10/keyedit.c:944
 msgid "The signature will be marked as non-exportable.\n"
 msgstr "Podpis zostanie oznaczony jako prywatny (nieeksportowalny).\n"
 
-#: g10/keyedit.c:950
+#: g10/keyedit.c:951
 msgid "The signature will be marked as non-revocable.\n"
 msgstr "Podpis zostanie oznaczony jako nie podlegający unieważnieniu.\n"
 
-#: g10/keyedit.c:957
+#: g10/keyedit.c:958
 msgid "I have not checked this key at all.\n"
 msgstr "Tożsamość użytkownika nie została w ogóle sprawdzona.\n"
 
-#: g10/keyedit.c:962
+#: g10/keyedit.c:963
 msgid "I have checked this key casually.\n"
 msgstr "Tożsamość użytkownika została sprawdzona pobieżnie.\n"
 
-#: g10/keyedit.c:967
+#: g10/keyedit.c:968
 msgid "I have checked this key very carefully.\n"
 msgstr "Tożsamość użytkownika została dokładnie sprawdzona.\n"
 
-#: g10/keyedit.c:979
+#: g10/keyedit.c:980
 msgid "Really sign? (y/N) "
 msgstr "Czy na pewno podpisać? (t/N) "
 
-#: g10/keyedit.c:1030 g10/keyedit.c:6154 g10/keyedit.c:6237 g10/keyedit.c:6366
-#: g10/keyedit.c:6428 g10/sign.c:466
+#: g10/keyedit.c:1031 g10/keyedit.c:6155 g10/keyedit.c:6238 g10/keyedit.c:6367
+#: g10/keyedit.c:6429 g10/sign.c:466
 #, c-format
 msgid "signing failed: %s\n"
 msgstr "złożenie podpisu nie powiodło się: %s\n"
 
-#: g10/keyedit.c:1117
+#: g10/keyedit.c:1118
 msgid "Key has only stub or on-card key items - no passphrase to change.\n"
 msgstr ""
 "Klucz ma tylko zaślepkę albo elementy na karcie - nie ma hasła do zmiany.\n"
 
-#: g10/keyedit.c:1149
+#: g10/keyedit.c:1150
 #, c-format
 msgid "key %s: error changing passphrase: %s\n"
 msgstr "klucz %s: błąd podczas zmiany hasła: %s\n"
 
-#: g10/keyedit.c:1261
+#: g10/keyedit.c:1262
 msgid "save and quit"
 msgstr "zapis zmian i wyjście"
 
-#: g10/keyedit.c:1264
+#: g10/keyedit.c:1265
 msgid "show key fingerprint"
 msgstr "okazanie odcisku klucza"
 
-#: g10/keyedit.c:1265
+#: g10/keyedit.c:1266
 msgid "show the keygrip"
 msgstr "okazanie uchwytu klucza"
 
-#: g10/keyedit.c:1266
+#: g10/keyedit.c:1267
 msgid "list key and user IDs"
 msgstr "lista kluczy i identyfikatorów użytkownika"
 
-#: g10/keyedit.c:1268
+#: g10/keyedit.c:1269
 msgid "select user ID N"
 msgstr "wybór identyfikatora użytkownika N"
 
-#: g10/keyedit.c:1269
+#: g10/keyedit.c:1270
 msgid "select subkey N"
 msgstr "wybór podklucza N"
 
-#: g10/keyedit.c:1270
+#: g10/keyedit.c:1271
 msgid "check signatures"
 msgstr "sprawdzenie podpisów"
 
-#: g10/keyedit.c:1276
+#: g10/keyedit.c:1277
 msgid "sign selected user IDs [* see below for related commands]"
 msgstr ""
 "złożenie podpisu na wybranych identyfikatorach użytkownika [* poniżej "
 "powiązane polecenia]"
 
-#: g10/keyedit.c:1281
+#: g10/keyedit.c:1282
 msgid "sign selected user IDs locally"
 msgstr ""
 "złożenie prywatnego (lokalnego) podpisu na wybranych identyfikatorach "
 "użytkownika"
 
-#: g10/keyedit.c:1282
+#: g10/keyedit.c:1283
 msgid "sign selected user IDs with a trust signature"
 msgstr "podpisanie wybranych identyfikatorów użytkownika sygnaturą zaufania"
 
-#: g10/keyedit.c:1284
+#: g10/keyedit.c:1285
 msgid "sign selected user IDs with a non-revocable signature"
 msgstr ""
 "podpisanie wybranych identyfikatorów użytkownika sygnaturą nie podlegającą "
 "unieważnieniu"
 
-#: g10/keyedit.c:1286
+#: g10/keyedit.c:1287
 msgid "add a user ID"
 msgstr "dodanie nowego identyfikatora użytkownika do klucza"
 
-#: g10/keyedit.c:1288
+#: g10/keyedit.c:1289
 msgid "add a photo ID"
 msgstr "dodanie zdjęcia użytkownika do klucza"
 
-#: g10/keyedit.c:1289
+#: g10/keyedit.c:1290
 msgid "delete selected user IDs"
 msgstr "usunięcie wybranych identyfikatorów użytkownika z klucza"
 
-#: g10/keyedit.c:1292
+#: g10/keyedit.c:1293
 msgid "add a subkey"
 msgstr "dodanie podklucza"
 
-#: g10/keyedit.c:1295
+#: g10/keyedit.c:1296
 msgid "add a key to a smartcard"
 msgstr "dodanie klucza do karty procesorowej"
 
-#: g10/keyedit.c:1297
+#: g10/keyedit.c:1298
 msgid "move a key to a smartcard"
 msgstr "przeniesienie klucza na kartę procesorową"
 
-#: g10/keyedit.c:1299
+#: g10/keyedit.c:1300
 msgid "move a backup key to a smartcard"
 msgstr "przeniesienie klucza zapasowego na kartę procesorową"
 
-#: g10/keyedit.c:1301
+#: g10/keyedit.c:1302
 msgid "delete selected subkeys"
 msgstr "usunięcie wybranych podkluczy"
 
-#: g10/keyedit.c:1303
+#: g10/keyedit.c:1304
 msgid "add a revocation key"
 msgstr "dodanie klucza unieważniającego"
 
-#: g10/keyedit.c:1305
+#: g10/keyedit.c:1306
 msgid "delete signatures from the selected user IDs"
 msgstr "usunięcie podpisów z wybranych identyfikatorów użytkownika"
 
-#: g10/keyedit.c:1307
+#: g10/keyedit.c:1308
 msgid "change the expiration date for the key or selected subkeys"
 msgstr "zmiana daty wygaśnięcia dla klucza lub wybranych podkluczy"
 
-#: g10/keyedit.c:1309
+#: g10/keyedit.c:1310
 msgid "flag the selected user ID as primary"
 msgstr "oznaczenie wybranego identyfikatora użytkownika jako głównego"
 
-#: g10/keyedit.c:1312
+#: g10/keyedit.c:1313
 msgid "list preferences (expert)"
 msgstr "ustawienia (zaawansowane)"
 
-#: g10/keyedit.c:1313
+#: g10/keyedit.c:1314
 msgid "list preferences (verbose)"
 msgstr "rozbudowana lista ustawień"
 
-#: g10/keyedit.c:1315
+#: g10/keyedit.c:1316
 msgid "set preference list for the selected user IDs"
 msgstr "ustawienie listy preferencji dla wybranych identyfikatorów użytkownika"
 
-#: g10/keyedit.c:1318
+#: g10/keyedit.c:1319
 msgid "set the preferred keyserver URL for the selected user IDs"
 msgstr ""
 "ustawienie URL-a preferowanego serwera kluczy dla wybranych identyfikatorów "
 "użytkownika"
 
-#: g10/keyedit.c:1320
+#: g10/keyedit.c:1321
 msgid "set a notation for the selected user IDs"
 msgstr "ustawienie adnotacji dla wybranych identyfikatorów użytkownika"
 
-#: g10/keyedit.c:1322
+#: g10/keyedit.c:1323
 msgid "change the passphrase"
 msgstr "zmiana hasła klucza"
 
-#: g10/keyedit.c:1325
+#: g10/keyedit.c:1326
 msgid "change the ownertrust"
 msgstr "zmiana zaufania właściciela"
 
-#: g10/keyedit.c:1328
+#: g10/keyedit.c:1329
 msgid "revoke signatures on the selected user IDs"
 msgstr "unieważnienie podpisów na wybranych identyfikatorach użytkownika"
 
-#: g10/keyedit.c:1330
+#: g10/keyedit.c:1331
 msgid "revoke selected user IDs"
 msgstr "unieważnienie wybranych identyfikatorów użytkownika"
 
-#: g10/keyedit.c:1333
+#: g10/keyedit.c:1334
 msgid "revoke key or selected subkeys"
 msgstr "unieważnienie klucza lub wybranych podkluczy"
 
-#: g10/keyedit.c:1335
+#: g10/keyedit.c:1336
 msgid "enable key"
 msgstr "włączenie klucza do użycia"
 
-#: g10/keyedit.c:1336
+#: g10/keyedit.c:1337
 msgid "disable key"
 msgstr "wyłączenie klucza z użycia"
 
-#: g10/keyedit.c:1338
+#: g10/keyedit.c:1339
 msgid "show selected photo IDs"
 msgstr "okazanie wybranych identyfikatorów - zdjęć"
 
-#: g10/keyedit.c:1340
+#: g10/keyedit.c:1341
 msgid "compact unusable user IDs and remove unusable signatures from key"
 msgstr ""
 "zagęszczanie bezużytecznych ID użytkowników i usuwanie bezużytecznych "
 "podpisów z kluczy"
 
-#: g10/keyedit.c:1342
+#: g10/keyedit.c:1343
 msgid "compact unusable user IDs and remove all signatures from key"
 msgstr ""
 "zagęszczanie bezużytecznych ID użytkowników i usuwanie wszystkich podpisów z "
 "kluczy"
 
-#: g10/keyedit.c:1463
+#: g10/keyedit.c:1464
 msgid "Secret key is available.\n"
 msgstr "Dostępny jest klucz tajny.\n"
 
-#: g10/keyedit.c:1465
+#: g10/keyedit.c:1466
 msgid "Secret subkeys are available.\n"
 msgstr "Dostępne są podklucze tajne.\n"
 
-#: g10/keyedit.c:1567
+#: g10/keyedit.c:1568
 msgid "Need the secret key to do this.\n"
 msgstr "Do wykonania tej operacji potrzebny jest klucz tajny.\n"
 
-#: g10/keyedit.c:1590
+#: g10/keyedit.c:1591
 msgid ""
 "* The 'sign' command may be prefixed with an 'l' for local signatures "
 "(lsign),\n"
@@ -4370,294 +4388,294 @@ msgstr ""
 "(ltsign,\n"
 "  tnrsign itd.).\n"
 
-#: g10/keyedit.c:1648 g10/keyedit.c:2667 g10/keyedit.c:3040 g10/keyedit.c:3108
+#: g10/keyedit.c:1649 g10/keyedit.c:2668 g10/keyedit.c:3041 g10/keyedit.c:3109
 msgid "Key is revoked."
 msgstr "Klucz unieważniony."
 
-#: g10/keyedit.c:1671
+#: g10/keyedit.c:1672
 msgid "Really sign all text user IDs? (y/N) "
 msgstr ""
 "Czy na pewno podpisać wszystkie tekstowe identyfikatory użytkownika? (t/N) "
 
-#: g10/keyedit.c:1675
+#: g10/keyedit.c:1676
 msgid "Really sign all user IDs? (y/N) "
 msgstr "Czy na pewno podpisać wszystkie identyfikatory użytkownika? (t/N) "
 
-#: g10/keyedit.c:1683
+#: g10/keyedit.c:1684
 msgid "Hint: Select the user IDs to sign\n"
 msgstr "Podpowiedź: wybierz identyfikatory użytkownika do podpisania.\n"
 
-#: g10/keyedit.c:1694
+#: g10/keyedit.c:1695
 #, c-format
 msgid "Unknown signature type '%s'\n"
 msgstr "Nieznany rodzaj podpisu ,,%s''\n"
 
-#: g10/keyedit.c:1718
+#: g10/keyedit.c:1719
 #, c-format
 msgid "This command is not allowed while in %s mode.\n"
 msgstr "To polecenie nie jest dostępne w trybie %s.\n"
 
-#: g10/keyedit.c:1740 g10/keyedit.c:1764 g10/keyedit.c:1961
+#: g10/keyedit.c:1741 g10/keyedit.c:1765 g10/keyedit.c:1962
 msgid "You must select at least one user ID.\n"
 msgstr "Musisz wybrać co najmniej jeden identyfikator użytkownika.\n"
 
-#: g10/keyedit.c:1742 g10/keyedit.c:1766 g10/keyedit.c:1923 g10/keyedit.c:1963
+#: g10/keyedit.c:1743 g10/keyedit.c:1767 g10/keyedit.c:1924 g10/keyedit.c:1964
 #, c-format
 msgid "(Use the '%s' command.)\n"
 msgstr "(Należy użyć polecenia ,,%s''.)\n"
 
-#: g10/keyedit.c:1745
+#: g10/keyedit.c:1746
 msgid "You can't delete the last user ID!\n"
 msgstr "Nie możesz usunąć ostatniego identyfikatora użytkownika!\n"
 
-#: g10/keyedit.c:1748
+#: g10/keyedit.c:1749
 msgid "Really remove all selected user IDs? (y/N) "
 msgstr ""
 "Czy na pewno usunąć wszystkie wybrane identyfikatory użytkownika? (t/N) "
 
-#: g10/keyedit.c:1749
+#: g10/keyedit.c:1750
 msgid "Really remove this user ID? (y/N) "
 msgstr "Czy na pewno usunąć ten identyfikator użytkownika? (t/N) "
 
 #. TRANSLATORS: Please take care: This is about
 #. moving the key and not about removing it.
-#: g10/keyedit.c:1806
+#: g10/keyedit.c:1807
 msgid "Really move the primary key? (y/N) "
 msgstr "Czy na pewno przenieść główny klucz (t/N) "
 
-#: g10/keyedit.c:1818 g10/keyedit.c:4803
+#: g10/keyedit.c:1819 g10/keyedit.c:4804
 msgid "You must select exactly one key.\n"
 msgstr "Musisz wybrać dokładnie jeden klucz.\n"
 
-#: g10/keyedit.c:1846
+#: g10/keyedit.c:1847
 msgid "Command expects a filename argument\n"
 msgstr "Polecenie oczekuje argumentu będącego nazwą pliku\n"
 
-#: g10/keyedit.c:1867
+#: g10/keyedit.c:1868
 #, c-format
 msgid "Can't open '%s': %s\n"
 msgstr "Nie można otworzyć ,,%s'': %s\n"
 
-#: g10/keyedit.c:1886
+#: g10/keyedit.c:1887
 #, c-format
 msgid "Error reading backup key from '%s': %s\n"
 msgstr "Błąd podczas odczytu klucza zapasowego z ,,%s'': %s\n"
 
-#: g10/keyedit.c:1921
+#: g10/keyedit.c:1922
 msgid "You must select at least one key.\n"
 msgstr "Musisz wybrać co najmniej jeden klucz.\n"
 
-#: g10/keyedit.c:1927
+#: g10/keyedit.c:1928
 msgid "Do you really want to delete the selected keys? (y/N) "
 msgstr "Czy na pewno chcesz usunąć wybrane klucze? (t/N) "
 
-#: g10/keyedit.c:1929
+#: g10/keyedit.c:1930
 msgid "Do you really want to delete this key? (y/N) "
 msgstr "Czy na pewno chcesz usunąć ten klucz? (t/N) "
 
-#: g10/keyedit.c:1967
+#: g10/keyedit.c:1968
 msgid "Really revoke all selected user IDs? (y/N) "
 msgstr ""
 "Czy na pewno unieważnić wszystkie wybrane identyfikatory użytkownika? (t/N) "
 
-#: g10/keyedit.c:1968
+#: g10/keyedit.c:1969
 msgid "Really revoke this user ID? (y/N) "
 msgstr "Czy na pewno unieważnić ten identyfikator użytkownika? (t/N) "
 
-#: g10/keyedit.c:1986
+#: g10/keyedit.c:1987
 msgid "Do you really want to revoke the entire key? (y/N) "
 msgstr "Czy na pewno chcesz unieważnić cały klucz? (t/N) "
 
-#: g10/keyedit.c:1997
+#: g10/keyedit.c:1998
 msgid "Do you really want to revoke the selected subkeys? (y/N) "
 msgstr "Czy na pewno chcesz unieważnić wybrane podklucze? (t/N) "
 
-#: g10/keyedit.c:1999
+#: g10/keyedit.c:2000
 msgid "Do you really want to revoke this subkey? (y/N) "
 msgstr "Czy na pewno chcesz unieważnić ten podklucz? (t/N) "
 
-#: g10/keyedit.c:2057
+#: g10/keyedit.c:2058
 msgid "Owner trust may not be set while using a user provided trust database\n"
 msgstr ""
 "Zaufanie użytkownika nie może być ustawione podczas używania bazy zaufania\n"
 "dostarczonej przez użytkownika\n"
 
-#: g10/keyedit.c:2102
+#: g10/keyedit.c:2103
 msgid "Set preference list to:\n"
 msgstr "Ustawienie listy ustawień na:\n"
 
-#: g10/keyedit.c:2109
+#: g10/keyedit.c:2110
 msgid "Really update the preferences for the selected user IDs? (y/N) "
 msgstr ""
 "Czy na pewno uaktualnić ustawienia dla wybranych identyfikatorów? (t/N) "
 
-#: g10/keyedit.c:2111
+#: g10/keyedit.c:2112
 msgid "Really update the preferences? (y/N) "
 msgstr "Czy na pewno uaktualnić ustawienia? (t/N) "
 
-#: g10/keyedit.c:2185
+#: g10/keyedit.c:2186
 msgid "Save changes? (y/N) "
 msgstr "Zapisać zmiany? (t/N) "
 
-#: g10/keyedit.c:2189
+#: g10/keyedit.c:2190
 msgid "Quit without saving? (y/N) "
 msgstr "Wyjść bez zapisania zmian? (t/N) "
 
-#: g10/keyedit.c:2216 g10/keyedit.c:2762 g10/keyedit.c:3061 g10/keyedit.c:3214
+#: g10/keyedit.c:2217 g10/keyedit.c:2763 g10/keyedit.c:3062 g10/keyedit.c:3215
 #, c-format
 msgid "Key not changed so no update needed.\n"
 msgstr "Klucz nie został zmieniony więc zapis zmian nie jest konieczny.\n"
 
-#: g10/keyedit.c:2448
+#: g10/keyedit.c:2449
 #, c-format
 msgid "cannot revoke the last valid user ID.\n"
 msgstr "nie można unieważnić ostatniego identyfikatora użytkownika.\n"
 
-#: g10/keyedit.c:2475
+#: g10/keyedit.c:2476
 #, c-format
 msgid "revoking the user ID failed: %s\n"
 msgstr "unieważnienie identyfikatora użytkownika nie powiodło się: %s\n"
 
-#: g10/keyedit.c:2541
+#: g10/keyedit.c:2542
 #, c-format
 msgid "setting the primary user ID failed: %s\n"
 msgstr "ustawienie głównego identyfikatora użytkownika nie powiodło się: %s\n"
 
-#: g10/keyedit.c:2572
+#: g10/keyedit.c:2573
 #, c-format
 msgid "\"%s\" is not a fingerprint\n"
 msgstr ",,%s'' nie jest odciskiem\n"
 
-#: g10/keyedit.c:2602
+#: g10/keyedit.c:2603
 #, c-format
 msgid "\"%s\" is not the primary fingerprint\n"
 msgstr ",,%s'' nie jest głównym odciskiem\n"
 
-#: g10/keyedit.c:2738 g10/keyedit.c:2741
+#: g10/keyedit.c:2739 g10/keyedit.c:2742
 #, c-format
 msgid "Invalid user ID '%s': %s\n"
 msgstr "Błędny identyfikator użytkownika ,,%s'': %s\n"
 
-#: g10/keyedit.c:2744
+#: g10/keyedit.c:2745
 msgid "No matching user IDs."
 msgstr "Brak pasującego identyfikatora użytkownika."
 
-#: g10/keyedit.c:2744
+#: g10/keyedit.c:2745
 msgid "Nothing to sign.\n"
 msgstr "Nie ma nic do podpisania.\n"
 
-#: g10/keyedit.c:2937 g10/keyedit.c:6019
+#: g10/keyedit.c:2938 g10/keyedit.c:6020
 #, c-format
 msgid "Not signed by you.\n"
 msgstr "Nie podpisane przez ciebie.\n"
 
-#: g10/keyedit.c:2995
+#: g10/keyedit.c:2996
 #, c-format
 msgid "revoking the key signature failed: %s\n"
 msgstr "unieważnienie podpisu klucza nie powiodło się: %s\n"
 
-#: g10/keyedit.c:3116
+#: g10/keyedit.c:3117
 #, c-format
 msgid "'%s' is not a valid expiration time\n"
 msgstr ",,%s'' nie jest poprawnym czasem wygaśnięcia\n"
 
-#: g10/keyedit.c:3159
+#: g10/keyedit.c:3160
 #, c-format
 msgid "\"%s\" is not a proper fingerprint\n"
 msgstr ",,%s'' nie jest właściwym odciskiem\n"
 
-#: g10/keyedit.c:3183
+#: g10/keyedit.c:3184
 #, c-format
 msgid "subkey \"%s\" not found\n"
 msgstr "podklucz ,,%s'' nie został odnaleziony\n"
 
-#: g10/keyedit.c:3306
+#: g10/keyedit.c:3307
 msgid "AEAD: "
 msgstr "AEAD: "
 
-#: g10/keyedit.c:3323
+#: g10/keyedit.c:3324
 msgid "Digest: "
 msgstr "Skrót: "
 
-#: g10/keyedit.c:3380
+#: g10/keyedit.c:3381
 msgid "Features: "
 msgstr "Ustawienia: "
 
-#: g10/keyedit.c:3397
+#: g10/keyedit.c:3398
 msgid "Keyserver no-modify"
 msgstr "no-modify dla serwera kluczy"
 
-#: g10/keyedit.c:3412 g10/keylist.c:376
+#: g10/keyedit.c:3413 g10/keylist.c:376
 msgid "Preferred keyserver: "
 msgstr "Preferowany serwer kluczy: "
 
-#: g10/keyedit.c:3420 g10/keyedit.c:3421
+#: g10/keyedit.c:3421 g10/keyedit.c:3422
 msgid "Notations: "
 msgstr "Adnotacje: "
 
-#: g10/keyedit.c:3669
+#: g10/keyedit.c:3670
 msgid "There are no preferences on a PGP 2.x-style user ID.\n"
 msgstr "Klucze PGP 2.x nie zawierają opisu ustawień.\n"
 
-#: g10/keyedit.c:3741
+#: g10/keyedit.c:3742
 #, c-format
 msgid "The following key was revoked on %s by %s key %s\n"
 msgstr "Ten klucz został unieważniony %s przez klucz użytkownika %s %s\n"
 
-#: g10/keyedit.c:3765
+#: g10/keyedit.c:3766
 #, c-format
 msgid "This key may be revoked by %s key %s"
 msgstr "Klucz może zostać unieważniony przez klucz %s użytkownika %s"
 
-#: g10/keyedit.c:3771
+#: g10/keyedit.c:3772
 msgid "(sensitive)"
 msgstr "(poufne)"
 
-#: g10/keyedit.c:3813 g10/keyedit.c:3960 g10/keylist.c:264 g10/keyserver.c:538
+#: g10/keyedit.c:3814 g10/keyedit.c:3961 g10/keylist.c:264 g10/keyserver.c:361
 #, c-format
 msgid "created: %s"
 msgstr "utworzono: %s"
 
-#: g10/keyedit.c:3816 g10/keylist.c:2149
+#: g10/keyedit.c:3817 g10/keylist.c:2149
 #, c-format
 msgid "revoked: %s"
 msgstr "unieważniono: %s"
 
-#: g10/keyedit.c:3818 g10/keylist.c:2155
+#: g10/keyedit.c:3819 g10/keylist.c:2155
 #, c-format
 msgid "expired: %s"
 msgstr "wygasł: %s"
 
-#: g10/keyedit.c:3820 g10/keyedit.c:3962 g10/keylist.c:266 g10/keylist.c:2161
-#: g10/keyserver.c:544
+#: g10/keyedit.c:3821 g10/keyedit.c:3963 g10/keylist.c:266 g10/keylist.c:2161
+#: g10/keyserver.c:367
 #, c-format
 msgid "expires: %s"
 msgstr "wygasa: %s"
 
-#: g10/keyedit.c:3822
+#: g10/keyedit.c:3823
 #, c-format
 msgid "usage: %s"
 msgstr "użycie: %s"
 
-#: g10/keyedit.c:3830 g10/keyedit.c:3850 g10/keylist.c:269
+#: g10/keyedit.c:3831 g10/keyedit.c:3851 g10/keylist.c:269
 msgid "card-no: "
 msgstr "nr-karty: "
 
-#: g10/keyedit.c:3889
+#: g10/keyedit.c:3890
 #, c-format
 msgid "trust: %s"
 msgstr "zaufanie: %s"
 
-#: g10/keyedit.c:3893
+#: g10/keyedit.c:3894
 #, c-format
 msgid "validity: %s"
 msgstr "poprawność: %s"
 
-#: g10/keyedit.c:3900
+#: g10/keyedit.c:3901
 msgid "This key has been disabled"
 msgstr "Ten klucz został wyłączony z użytku"
 
-#: g10/keyedit.c:3918
+#: g10/keyedit.c:3919
 msgid ""
 "Please note that the shown key validity is not necessarily correct\n"
 "unless you restart the program.\n"
@@ -4665,17 +4683,17 @@ msgstr ""
 "Pokazana wartość wiarygodności klucza może być niepoprawna,\n"
 "dopóki program nie zostanie uruchomiony ponownie.\n"
 
-#: g10/keyedit.c:3979 g10/keyedit.c:4410 g10/keyserver.c:548
-#: g10/mainproc.c:2371 g10/tofu.c:1787 g10/trust.c:437 dirmngr/ocsp.c:791
+#: g10/keyedit.c:3980 g10/keyedit.c:4411 g10/keyserver.c:371
+#: g10/mainproc.c:2380 g10/tofu.c:1787 g10/trust.c:437 dirmngr/ocsp.c:791
 msgid "revoked"
 msgstr "unieważniony"
 
-#: g10/keyedit.c:3981 g10/keyedit.c:4412 g10/keyserver.c:552
-#: g10/mainproc.c:2373 g10/tofu.c:1792 g10/trust.c:124
+#: g10/keyedit.c:3982 g10/keyedit.c:4413 g10/keyserver.c:375
+#: g10/mainproc.c:2382 g10/tofu.c:1792 g10/trust.c:124
 msgid "expired"
 msgstr "wygasł"
 
-#: g10/keyedit.c:4098
+#: g10/keyedit.c:4099
 #, c-format
 msgid ""
 "WARNING: no user ID has been marked as primary.  This command may\n"
@@ -4685,17 +4703,17 @@ msgstr ""
 "             jako główny. Wykonanie tego polecenie może więc spowodować\n"
 "             wyświetlanie innego identyfikatora jako domyślnego głównego.\n"
 
-#: g10/keyedit.c:4150
+#: g10/keyedit.c:4151
 #, c-format
 msgid "WARNING: Your encryption subkey expires soon.\n"
 msgstr "OSTRZEŻENIE: podklucz do szyfrowania wkrótce wygaśnie.\n"
 
-#: g10/keyedit.c:4151
+#: g10/keyedit.c:4152
 #, c-format
 msgid "You may want to change its expiration date too.\n"
 msgstr "Może warto także zmienić jego datę ważności.\n"
 
-#: g10/keyedit.c:4210
+#: g10/keyedit.c:4211
 msgid ""
 "WARNING: This is a PGP2-style key.  Adding a photo ID may cause some "
 "versions\n"
@@ -4704,35 +4722,35 @@ msgstr ""
 "OSTRZEŻENIE: To jest klucz PGP wersji 2. Dodanie zdjęcia spowoduje, że\n"
 "             niektóre wersje przestaną go rozumieć.\n"
 
-#: g10/keyedit.c:4215 g10/keyedit.c:4505
+#: g10/keyedit.c:4216 g10/keyedit.c:4506
 msgid "Are you sure you still want to add it? (y/N) "
 msgstr "Czy dalej chcesz je dodać? (t/N) "
 
-#: g10/keyedit.c:4221
+#: g10/keyedit.c:4222
 msgid "You may not add a photo ID to a PGP2-style key.\n"
 msgstr "Do klucza dla PGP 2.x nie można dodać zdjęcia.\n"
 
-#: g10/keyedit.c:4236 g10/keygen.c:2899
+#: g10/keyedit.c:4237 g10/keygen.c:2899
 msgid "Such a user ID already exists on this key!\n"
 msgstr "Taki identyfikator użytkownika już istnieje na tym kluczu!\n"
 
-#: g10/keyedit.c:4338
+#: g10/keyedit.c:4339
 msgid "Delete this good signature? (y/N/q)"
 msgstr "Usunąć ten poprawny podpis? (t/N/w) "
 
-#: g10/keyedit.c:4348
+#: g10/keyedit.c:4349
 msgid "Delete this invalid signature? (y/N/q)"
 msgstr "Usunąć ten niepoprawny podpis? (t/N/w) "
 
-#: g10/keyedit.c:4352
+#: g10/keyedit.c:4353
 msgid "Delete this unknown signature? (y/N/q)"
 msgstr "Usunąć ten nieznany podpis? (t/N/w) "
 
-#: g10/keyedit.c:4359
+#: g10/keyedit.c:4360
 msgid "Really delete this self-signature? (y/N)"
 msgstr "Na pewno usunąć ten podpis klucza nim samym? (t/N) "
 
-#: g10/keyedit.c:4375
+#: g10/keyedit.c:4376
 #, c-format
 msgid "Deleted %d signature.\n"
 msgid_plural "Deleted %d signatures.\n"
@@ -4740,20 +4758,20 @@ msgstr[0] "%d podpis usunięty.\n"
 msgstr[1] "%d podpisy usunięte.\n"
 msgstr[2] "%d podpisów usuniętych.\n"
 
-#: g10/keyedit.c:4379
+#: g10/keyedit.c:4380
 msgid "Nothing deleted.\n"
 msgstr "Nic nie zostało usunięte.\n"
 
-#: g10/keyedit.c:4414
+#: g10/keyedit.c:4415
 msgid "invalid"
 msgstr "niepoprawny"
 
-#: g10/keyedit.c:4416
+#: g10/keyedit.c:4417
 #, c-format
 msgid "User ID \"%s\" compacted: %s\n"
 msgstr "Identyfikator użytkownika ,,%s'' upakowany: %s\n"
 
-#: g10/keyedit.c:4422
+#: g10/keyedit.c:4423
 #, c-format
 msgid "User ID \"%s\": %d signature removed\n"
 msgid_plural "User ID \"%s\": %d signatures removed\n"
@@ -4761,17 +4779,17 @@ msgstr[0] "Identyfikator użytkownika ,,%s'': %d podpis usunięty\n"
 msgstr[1] "Identyfikator użytkownika ,,%s'': %d podpisy usunięte\n"
 msgstr[2] "Identyfikator użytkownika ,,%s'': %d podpisów usuniętych\n"
 
-#: g10/keyedit.c:4430
+#: g10/keyedit.c:4431
 #, c-format
 msgid "User ID \"%s\": already minimized\n"
 msgstr "Identyfikator użytkownika ,,%s'': już zmniejszony.\n"
 
-#: g10/keyedit.c:4431
+#: g10/keyedit.c:4432
 #, c-format
 msgid "User ID \"%s\": already clean\n"
 msgstr "Identyfikator użytkownika ,,%s'': już czysty.\n"
 
-#: g10/keyedit.c:4500
+#: g10/keyedit.c:4501
 msgid ""
 "WARNING: This is a PGP 2.x-style key.  Adding a designated revoker may "
 "cause\n"
@@ -4781,215 +4799,215 @@ msgstr ""
 "             unieważniającego spowoduje, że niektóre wersje PGP przestaną\n"
 "             go rozumieć.\n"
 
-#: g10/keyedit.c:4511
+#: g10/keyedit.c:4512
 msgid "You may not add a designated revoker to a PGP 2.x-style key.\n"
 msgstr "Do klucza dla PGP 2.x nie można wyznaczyć klucza unieważniającego.\n"
 
-#: g10/keyedit.c:4528
+#: g10/keyedit.c:4529
 msgid "Enter the user ID of the designated revoker: "
 msgstr "Podaj identyfikator klucza unieważniającego: "
 
-#: g10/keyedit.c:4554
+#: g10/keyedit.c:4555
 #, c-format
 msgid "cannot appoint a PGP 2.x style key as a designated revoker\n"
 msgstr "klucza PGP 2.x nie można wyznaczyć jako unieważniającego\n"
 
-#: g10/keyedit.c:4569
+#: g10/keyedit.c:4570
 #, c-format
 msgid "you cannot appoint a key as its own designated revoker\n"
 msgstr "nie można wyznaczyć klucza do unieważniania jego samego\n"
 
-#: g10/keyedit.c:4591
+#: g10/keyedit.c:4592
 #, c-format
 msgid "this key has already been designated as a revoker\n"
 msgstr "ten klucz został już uznany kluczem unieważniającym\n"
 
-#: g10/keyedit.c:4609
+#: g10/keyedit.c:4610
 msgid "WARNING: appointing a key as a designated revoker cannot be undone!\n"
 msgstr ""
 "OSTRZEŻENIE: nie można cofnąć wyznaczenia klucza jako unieważniającego!\n"
 
-#: g10/keyedit.c:4615
+#: g10/keyedit.c:4616
 msgid ""
 "Are you sure you want to appoint this key as a designated revoker? (y/N) "
 msgstr "Czy na pewno chcesz wyznaczyć ten klucz jako unieważniający? (t/N) "
 
-#: g10/keyedit.c:4683
+#: g10/keyedit.c:4684
 msgid ""
 "Are you sure you want to change the expiration time for multiple subkeys? (y/"
 "N) "
 msgstr "Czy na pewno zmienić datę ważności dla wielu podkluczy? (t/N) "
 
-#: g10/keyedit.c:4688
+#: g10/keyedit.c:4689
 msgid "Changing expiration time for a subkey.\n"
 msgstr "Zmiana daty ważności podklucza.\n"
 
-#: g10/keyedit.c:4691
+#: g10/keyedit.c:4692
 msgid "Changing expiration time for the primary key.\n"
 msgstr "Zmiana daty ważności głównego klucza.\n"
 
-#: g10/keyedit.c:4747
+#: g10/keyedit.c:4748
 #, c-format
 msgid "You can't change the expiration date of a v3 key\n"
 msgstr "Nie można zmienić daty ważności klucza w wersji 3.\n"
 
-#: g10/keyedit.c:4807
+#: g10/keyedit.c:4808
 msgid "Changing usage of a subkey.\n"
 msgstr "Zmiana zastosowań podklucza.\n"
 
-#: g10/keyedit.c:4810
+#: g10/keyedit.c:4811
 msgid "Changing usage of the primary key.\n"
 msgstr "Zmiana zastosowań klucza głównego.\n"
 
-#: g10/keyedit.c:4928
+#: g10/keyedit.c:4929
 #, c-format
 msgid "signing subkey %s is already cross-certified\n"
 msgstr "podklucz podpisujący %s jest już skrośnie podpisany\n"
 
-#: g10/keyedit.c:4934
+#: g10/keyedit.c:4935
 #, c-format
 msgid "subkey %s does not sign and so does not need to be cross-certified\n"
 msgstr ""
 "podklucz %s nie jest podpisujący, więc nie musi być skrośnie podpisany\n"
 
-#: g10/keyedit.c:5051
+#: g10/keyedit.c:5052
 msgid "Please select exactly one user ID.\n"
 msgstr "Proszę wybrać dokładnie jeden identyfikator użytkownika.\n"
 
-#: g10/keyedit.c:5092 g10/keyedit.c:5206 g10/keyedit.c:5319 g10/keyedit.c:5457
+#: g10/keyedit.c:5093 g10/keyedit.c:5207 g10/keyedit.c:5320 g10/keyedit.c:5458
 #, c-format
 msgid "skipping v3 self-signature on user ID \"%s\"\n"
 msgstr "podpis w wersji 3 na identyfikatorze ,,%s'' zostaje pominięty\n"
 
-#: g10/keyedit.c:5263
+#: g10/keyedit.c:5264
 msgid "Enter your preferred keyserver URL: "
 msgstr "Podaj preferowany URL serwera kluczy: "
 
-#: g10/keyedit.c:5342
+#: g10/keyedit.c:5343
 msgid "Are you sure you want to replace it? (y/N) "
 msgstr "Czy na pewno chcesz go zastąpić? (t/N) "
 
-#: g10/keyedit.c:5343
+#: g10/keyedit.c:5344
 msgid "Are you sure you want to delete it? (y/N) "
 msgstr "Czy na pewno chcesz go usunąć? (t/N) "
 
-#: g10/keyedit.c:5403
+#: g10/keyedit.c:5404
 msgid "Enter the notation: "
 msgstr "Adnotacje: "
 
-#: g10/keyedit.c:5550
+#: g10/keyedit.c:5551
 msgid "Proceed? (y/N) "
 msgstr "Kontynuować? (t/N) "
 
-#: g10/keyedit.c:5620
+#: g10/keyedit.c:5621
 #, c-format
 msgid "No user ID with index %d\n"
 msgstr "Brak identyfikatora użytkownika o numerze %d.\n"
 
-#: g10/keyedit.c:5682
+#: g10/keyedit.c:5683
 #, c-format
 msgid "No user ID with hash %s\n"
 msgstr "Brak identyfikatora użytkownika o skrócie %s\n"
 
-#: g10/keyedit.c:5783
+#: g10/keyedit.c:5784
 #, c-format
 msgid "No subkey with key ID '%s'.\n"
 msgstr "Brak podklucza o identyfikatorze ,,%s''.\n"
 
-#: g10/keyedit.c:5805
+#: g10/keyedit.c:5806
 #, c-format
 msgid "No subkey with index %d\n"
 msgstr "Brak podklucza o numerze %d.\n"
 
-#: g10/keyedit.c:5946
+#: g10/keyedit.c:5947
 #, c-format
 msgid "user ID: \"%s\"\n"
 msgstr "identyfikator użytkownika: ,,%s''\n"
 
-#: g10/keyedit.c:5949 g10/keyedit.c:6051 g10/keyedit.c:6099
+#: g10/keyedit.c:5950 g10/keyedit.c:6052 g10/keyedit.c:6100
 #, c-format
 msgid "signed by your key %s on %s%s%s\n"
 msgstr "podpisany twoim kluczem %s w %s%s%s\n"
 
-#: g10/keyedit.c:5951 g10/keyedit.c:6053 g10/keyedit.c:6101
+#: g10/keyedit.c:5952 g10/keyedit.c:6054 g10/keyedit.c:6102
 msgid " (non-exportable)"
 msgstr " (podpis nieeksportowalny) "
 
-#: g10/keyedit.c:5955
+#: g10/keyedit.c:5956
 #, c-format
 msgid "This signature expired on %s.\n"
 msgstr "Ważność tego klucza wygasła %s.\n"
 
-#: g10/keyedit.c:5960
+#: g10/keyedit.c:5961
 msgid "Are you sure you still want to revoke it? (y/N) "
 msgstr "Czy dalej chcesz go unieważnić? (t/N) "
 
-#: g10/keyedit.c:5965
+#: g10/keyedit.c:5966
 msgid "Create a revocation certificate for this signature? (y/N) "
 msgstr "Stworzyć certyfikat unieważnienia tego podpisu? (t/N) "
 
-#: g10/keyedit.c:6025
+#: g10/keyedit.c:6026
 #, c-format
 msgid "You have signed these user IDs on key %s:\n"
 msgstr "Te identyfikatory na kluczu %s są podpisane przez Ciebie:\n"
 
-#: g10/keyedit.c:6054
+#: g10/keyedit.c:6055
 msgid " (non-revocable)"
 msgstr " (podpis nieunieważnialny) "
 
-#: g10/keyedit.c:6061
+#: g10/keyedit.c:6062
 #, c-format
 msgid "revoked by your key %s on %s\n"
 msgstr "unieważniony przez twój klucz %s w %s\n"
 
-#: g10/keyedit.c:6086
+#: g10/keyedit.c:6087
 msgid "You are about to revoke these signatures:\n"
 msgstr "Czy na pewno chcesz unieważnić te podpisy:\n"
 
-#: g10/keyedit.c:6109
+#: g10/keyedit.c:6110
 msgid "Really create the revocation certificates? (y/N) "
 msgstr "Na pewno utworzyć certyfikaty unieważnienia ? (t/N) "
 
-#: g10/keyedit.c:6142
+#: g10/keyedit.c:6143
 #, c-format
 msgid "no secret key\n"
 msgstr "brak klucza tajnego\n"
 
-#: g10/keyedit.c:6190
+#: g10/keyedit.c:6191
 #, c-format
 msgid "tried to revoke a non-user ID: %s\n"
 msgstr ""
 "próba unieważnienia identyfikatora nie odnoszącego się do użytkownika: %s\n"
 
-#: g10/keyedit.c:6200
+#: g10/keyedit.c:6201
 #, c-format
 msgid "user ID \"%s\" is already revoked\n"
 msgstr "identyfikator użytkownika ,,%s'' został już unieważniony\n"
 
-#: g10/keyedit.c:6217
+#: g10/keyedit.c:6218
 #, c-format
 msgid "WARNING: a user ID signature is dated %d seconds in the future\n"
 msgstr ""
 "OSTRZEŻENIE: identyfikator użytkownika podpisany za %d sekund (w "
 "przyszłości)\n"
 
-#: g10/keyedit.c:6313
+#: g10/keyedit.c:6314
 #, c-format
 msgid "Cannot revoke the last valid user ID.\n"
 msgstr ""
 "Nie można unieważnić ostatniego poprawnego identyfikatora użytkownika.\n"
 
-#: g10/keyedit.c:6351
+#: g10/keyedit.c:6352
 #, c-format
 msgid "Key %s is already revoked.\n"
 msgstr "Klucz %s jest już unieważniony.\n"
 
-#: g10/keyedit.c:6413
+#: g10/keyedit.c:6414
 #, c-format
 msgid "Subkey %s is already revoked.\n"
 msgstr "Podklucz %s jest już unieważniony.\n"
 
-#: g10/keyedit.c:6510
+#: g10/keyedit.c:6511
 #, c-format
 msgid "Displaying %s photo ID of size %ld for key %s (uid %d)\n"
 msgstr ""
@@ -5719,25 +5737,25 @@ msgstr "honorowanie URL-a preferowanego serwera kluczy ustawionego w kluczu"
 msgid "honor the PKA record set on a key when retrieving keys"
 msgstr "honorowanie rekordu PKA ustawionego w kluczu przy pobieraniu kluczy"
 
-#: g10/keyserver.c:550
+#: g10/keyserver.c:373
 msgid "disabled"
 msgstr "wyłączony"
 
-#: g10/keyserver.c:754
+#: g10/keyserver.c:577
 msgid "Enter number(s), N)ext, or Q)uit > "
 msgstr "Wprowadź numer(y), N)astępny lub Q)uit > "
 
-#: g10/keyserver.c:860
+#: g10/keyserver.c:683
 #, c-format
 msgid "invalid keyserver protocol (us %d!=handler %d)\n"
 msgstr "niepoprawny protokół serwera kluczy (nasz %d != moduł obsługi %d)\n"
 
-#: g10/keyserver.c:1001 g10/keyserver.c:1116
+#: g10/keyserver.c:824 g10/keyserver.c:939
 #, c-format
 msgid "\"%s\" not a key ID: skipping\n"
 msgstr ",,%s'' nie jest identyfikatorem klucza - pominięto\n"
 
-#: g10/keyserver.c:1438 g10/keyserver.c:1471
+#: g10/keyserver.c:1237 g10/keyserver.c:1270
 #, c-format
 msgid "refreshing %d key from %s\n"
 msgid_plural "refreshing %d keys from %s\n"
@@ -5745,52 +5763,47 @@ msgstr[0] "odświeżanie %d klucza z %s\n"
 msgstr[1] "odświeżanie %d kluczy z %s\n"
 msgstr[2] "odświeżanie %d kluczy z %s\n"
 
-#: g10/keyserver.c:1445
+#: g10/keyserver.c:1244
 #, c-format
 msgid "WARNING: unable to refresh key %s via %s: %s\n"
 msgstr "OSTRZEŻENIE: nie można odświeżyć klucza %s przez %s: %s\n"
 
-#: g10/keyserver.c:1549
+#: g10/keyserver.c:1336
 #, c-format
 msgid "key \"%s\" not found on keyserver\n"
 msgstr "klucz ,,%s'' nie został odnaleziony na serwerze kluczy\n"
 
-#: g10/keyserver.c:1552
+#: g10/keyserver.c:1339
 #, c-format
 msgid "key not found on keyserver\n"
 msgstr "klucz nie został odnaleziony na serwerze kluczy\n"
 
-#: g10/keyserver.c:1743
-#, c-format
-msgid "requesting key %s from %s server %s\n"
-msgstr "zapytanie o klucz %s z serwera %s %s\n"
-
-#: g10/keyserver.c:1747
+#: g10/keyserver.c:1504
 #, c-format
 msgid "requesting key %s from %s\n"
 msgstr "zapytanie o klucz %s z %s\n"
 
-#: g10/keyserver.c:1852 g10/keyserver.c:2031
+#: g10/keyserver.c:1619 g10/keyserver.c:1798
 #, c-format
 msgid "no keyserver known\n"
 msgstr "brak znanego serwera kluczy\n"
 
-#: g10/keyserver.c:1867 g10/skclist.c:214 g10/skclist.c:242
+#: g10/keyserver.c:1634 g10/skclist.c:215 g10/skclist.c:243
 #, c-format
 msgid "skipped \"%s\": %s\n"
 msgstr "pominięty ,,%s'': %s\n"
 
-#: g10/keyserver.c:1871
+#: g10/keyserver.c:1638
 #, c-format
 msgid "sending key %s to %s\n"
 msgstr "wysyłanie klucza %s na %s\n"
 
-#: g10/keyserver.c:1912
+#: g10/keyserver.c:1679
 #, c-format
 msgid "requesting key from '%s'\n"
 msgstr "zapytanie o klucz z ,,%s''\n"
 
-#: g10/keyserver.c:1928
+#: g10/keyserver.c:1695
 #, c-format
 msgid "WARNING: unable to fetch URI %s: %s\n"
 msgstr "OSTRZEŻENIE: nie można pobrać URI %s: %s\n"
@@ -5805,73 +5818,73 @@ msgstr "dziwny rozmiar jak na zaszyfrowany klucz sesyjny (%d)\n"
 msgid "%s encrypted session key\n"
 msgstr "klucz sesyjny zaszyfrowany %s\n"
 
-#: g10/mainproc.c:400
+#: g10/mainproc.c:403
 #, c-format
 msgid "passphrase generated with unknown digest algorithm %d\n"
 msgstr "hasło wygenerowane nieznanym algorytmem skrótu %d\n"
 
-#: g10/mainproc.c:481
+#: g10/mainproc.c:485
 #, c-format
 msgid "public key is %s\n"
 msgstr "klucz publiczny to %s\n"
 
-#: g10/mainproc.c:557
+#: g10/mainproc.c:561
 #, c-format
 msgid "public key encrypted data: good DEK\n"
 msgstr "dane zaszyfrowane kluczem publicznym: poprawny klucz sesyjny\n"
 
-#: g10/mainproc.c:590
+#: g10/mainproc.c:594
 #, c-format
 msgid "encrypted with %u-bit %s key, ID %s, created %s\n"
 msgstr ""
 "zaszyfrowano %u-bitowym kluczem %s o identyfikatorze %s, stworzonym %s\n"
 
-#: g10/mainproc.c:594 g10/pkclist.c:228
+#: g10/mainproc.c:598 g10/pkclist.c:228
 #, c-format
 msgid "      \"%s\"\n"
 msgstr "      ,,%s''\n"
 
-#: g10/mainproc.c:598
+#: g10/mainproc.c:602
 #, c-format
 msgid "encrypted with %s key, ID %s\n"
 msgstr "zaszyfrowano kluczem %s o identyfikatorze %s\n"
 
-#: g10/mainproc.c:619
+#: g10/mainproc.c:623
 #, c-format
 msgid "public key decryption failed: %s\n"
 msgstr "błąd odszyfrowywania kluczem publicznym: %s\n"
 
-#: g10/mainproc.c:641 g10/mainproc.c:970
+#: g10/mainproc.c:645 g10/mainproc.c:976
 #, c-format
 msgid "WARNING: multiple plaintexts seen\n"
 msgstr "OSTRZEŻENIE: widziano wiele czystych tekstów\n"
 
-#: g10/mainproc.c:649
+#: g10/mainproc.c:653
 #, c-format
 msgid "encrypted with %lu passphrases\n"
 msgstr "zaszyfrowane za pomocą %lu haseł\n"
 
-#: g10/mainproc.c:651
+#: g10/mainproc.c:655
 #, c-format
 msgid "encrypted with 1 passphrase\n"
 msgstr "zaszyfrowane jednym hasłem\n"
 
-#: g10/mainproc.c:685 g10/mainproc.c:706
+#: g10/mainproc.c:689 g10/mainproc.c:710
 #, c-format
 msgid "assuming %s encrypted data\n"
 msgstr "przyjmując że dane zostały zaszyfrowane za pomocą %s\n"
 
-#: g10/mainproc.c:692
+#: g10/mainproc.c:696
 #, c-format
 msgid "IDEA cipher unavailable, optimistically attempting to use %s instead\n"
 msgstr "szyfr IDEA nie jest dostępny, próba użycia %s zamiast niego\n"
 
-#: g10/mainproc.c:779 g10/mainproc.c:817
+#: g10/mainproc.c:785 g10/mainproc.c:823
 #, c-format
 msgid "WARNING: message was not integrity protected\n"
 msgstr "OSTRZEŻENIE: wiadomość nie była zabezpieczona przed manipulacją\n"
 
-#: g10/mainproc.c:790
+#: g10/mainproc.c:796
 msgid ""
 "Hint: If this message was created before the year 2003 it is\n"
 "likely that this message is legitimate.  This is because back\n"
@@ -5881,182 +5894,182 @@ msgstr ""
 "prawdopodobne, że jest ona prawdziwa. Jest tak dlatego, że w tamtych\n"
 "czasach ochrona integralności nie była szeroko stosowana.\n"
 
-#: g10/mainproc.c:793
+#: g10/mainproc.c:799
 #, c-format
 msgid "Use the option '%s' to decrypt anyway.\n"
 msgstr "Użycie mimo to opcji ,,%s'' do odszyfrowania.\n"
 
-#: g10/mainproc.c:798
+#: g10/mainproc.c:804
 #, c-format
 msgid "decryption forced to fail!\n"
 msgstr "wymuszono błąd odszyfrowywania!\n"
 
-#: g10/mainproc.c:810
+#: g10/mainproc.c:816
 #, c-format
 msgid "decryption okay\n"
 msgstr "odszyfrowanie poprawne\n"
 
-#: g10/mainproc.c:823
+#: g10/mainproc.c:829
 #, c-format
 msgid "WARNING: encrypted message has been manipulated!\n"
 msgstr "OSTRZEŻENIE: zaszyfrowana wiadomość była manipulowana!\n"
 
-#: g10/mainproc.c:841
+#: g10/mainproc.c:847
 #, c-format
 msgid "decryption failed: %s\n"
 msgstr "błąd odszyfrowywania: %s\n"
 
-#: g10/mainproc.c:886
+#: g10/mainproc.c:892
 #, c-format
 msgid "Note: sender requested \"for-your-eyes-only\"\n"
 msgstr "Uwaga: nadawca zaznaczył, że wiadomość nie powinna być zapisywana\n"
 
-#: g10/mainproc.c:893
+#: g10/mainproc.c:899
 #, c-format
 msgid "original file name='%.*s'\n"
 msgstr "pierwotna nazwa pliku='%.*s'\n"
 
-#: g10/mainproc.c:1148
+#: g10/mainproc.c:1154
 #, c-format
 msgid "standalone revocation - use \"gpg --import\" to apply\n"
 msgstr ""
 "osobny certyfikat unieważnienia - użyj ,,gpg --import'' aby go wczytać\n"
 
-#: g10/mainproc.c:1452 g10/mainproc.c:1495
+#: g10/mainproc.c:1458 g10/mainproc.c:1501
 #, c-format
 msgid "no signature found\n"
 msgstr "nie znaleziono podpisu\n"
 
-#: g10/mainproc.c:1852
+#: g10/mainproc.c:1858
 #, c-format
 msgid "BAD signature from \"%s\""
 msgstr "NIEPOPRAWNY podpis złożony przez ,,%s''"
 
-#: g10/mainproc.c:1854
+#: g10/mainproc.c:1860
 #, c-format
 msgid "Expired signature from \"%s\""
 msgstr "Przeterminowany podpis złożony przez ,,%s''"
 
-#: g10/mainproc.c:1856
+#: g10/mainproc.c:1862
 #, c-format
 msgid "Good signature from \"%s\""
 msgstr "Poprawny podpis złożony przez ,,%s''"
 
-#: g10/mainproc.c:1876
+#: g10/mainproc.c:1882
 #, c-format
 msgid "signature verification suppressed\n"
 msgstr "wymuszono pominięcie sprawdzenia podpisu\n"
 
-#: g10/mainproc.c:1985
+#: g10/mainproc.c:1991
 #, c-format
 msgid "can't handle this ambiguous signature data\n"
 msgstr "nie można obsłużyć tych wieloznacznych danych podpisu\n"
 
-#: g10/mainproc.c:2001 g10/mainproc.c:2008
+#: g10/mainproc.c:2007 g10/mainproc.c:2014
 #, c-format
 msgid "Signature made %s\n"
 msgstr "Podpisano w %s\n"
 
-#: g10/mainproc.c:2002 g10/mainproc.c:2009 sm/verify.c:476
+#: g10/mainproc.c:2008 g10/mainproc.c:2015 sm/verify.c:476
 #, c-format
 msgid "               using %s key %s\n"
 msgstr "               przy użyciu klucza %s %s\n"
 
-#: g10/mainproc.c:2013
+#: g10/mainproc.c:2019
 #, c-format
 msgid "Signature made %s using %s key ID %s\n"
 msgstr "Podpisano w %s kluczem %s o numerze %s\n"
 
-#: g10/mainproc.c:2019
+#: g10/mainproc.c:2025
 #, c-format
 msgid "               issuer \"%s\"\n"
 msgstr "                        wystawca ,,%s''\n"
 
-#: g10/mainproc.c:2070
+#: g10/mainproc.c:2076
 #, c-format
 msgid "Key available at: "
 msgstr "Klucz dostępny w: "
 
-#: g10/mainproc.c:2111
+#: g10/mainproc.c:2118
 #, c-format
 msgid "Note: Use '%s' to make use of this info\n"
 msgstr "Uwaga: aby wykorzystać tę informację, należy użyć ,,%s''\n"
 
-#: g10/mainproc.c:2325
+#: g10/mainproc.c:2334
 msgid "[uncertain]"
 msgstr "[niepewne]"
 
-#: g10/mainproc.c:2363
+#: g10/mainproc.c:2372
 #, c-format
 msgid "                aka \"%s\""
 msgstr "                        alias ,,%s''"
 
-#: g10/mainproc.c:2438
+#: g10/mainproc.c:2447
 #, c-format
 msgid "WARNING: This key is not suitable for signing in %s mode\n"
 msgstr "OSTRZEŻENIE: ten klucz nie nadaje się do podpisywania w trybie %s\n"
 
-#: g10/mainproc.c:2456
+#: g10/mainproc.c:2465
 #, c-format
 msgid "Signature expired %s\n"
 msgstr "Ważność podpisu wygasła %s.\n"
 
-#: g10/mainproc.c:2460
+#: g10/mainproc.c:2469
 #, c-format
 msgid "Signature expires %s\n"
 msgstr "Ważność podpisu wygasa %s.\n"
 
-#: g10/mainproc.c:2471
+#: g10/mainproc.c:2480
 #, c-format
 msgid "%s signature, digest algorithm %s%s%s\n"
 msgstr "podpis %s, algorytm skrótu %s%s%s\n"
 
-#: g10/mainproc.c:2472
+#: g10/mainproc.c:2481
 msgid "binary"
 msgstr "binarny"
 
-#: g10/mainproc.c:2473
+#: g10/mainproc.c:2482
 msgid "textmode"
 msgstr "tekstowy"
 
-#: g10/mainproc.c:2473 g10/trust.c:123 dirmngr/ocsp.c:792
+#: g10/mainproc.c:2482 g10/trust.c:123 dirmngr/ocsp.c:792
 msgid "unknown"
 msgstr "nieznany"
 
-#: g10/mainproc.c:2475
+#: g10/mainproc.c:2484
 msgid ", key algorithm "
 msgstr ", algorytm klucza "
 
-#: g10/mainproc.c:2510
+#: g10/mainproc.c:2519
 #, c-format
 msgid "WARNING: not a detached signature; file '%s' was NOT verified!\n"
 msgstr ""
 "OSTRZEŻENIE: to nie jest oddzielony podpis; plik ,,%s'' NIE został "
 "zweryfikowany!\n"
 
-#: g10/mainproc.c:2548
+#: g10/mainproc.c:2558
 #, c-format
 msgid "Can't check signature: %s\n"
 msgstr "Nie można sprawdzić podpisu: %s\n"
 
-#: g10/mainproc.c:2644 g10/mainproc.c:2663 g10/mainproc.c:2787
+#: g10/mainproc.c:2654 g10/mainproc.c:2673 g10/mainproc.c:2797
 #, c-format
 msgid "not a detached signature\n"
 msgstr "nie jest oddzielonym podpisem.\n"
 
-#: g10/mainproc.c:2697
+#: g10/mainproc.c:2707
 #, c-format
 msgid ""
 "WARNING: multiple signatures detected.  Only the first will be checked.\n"
 msgstr ""
 "OSTRZEŻENIE: wielokrotne podpisy. Tylko pierwszy zostanie sprawdzony.\n"
 
-#: g10/mainproc.c:2706
+#: g10/mainproc.c:2716
 #, c-format
 msgid "standalone signature of class 0x%02x\n"
 msgstr "oddzielony podpis klasy 0x%02x.\n"
 
-#: g10/mainproc.c:2791
+#: g10/mainproc.c:2801
 #, c-format
 msgid "old style (PGP 2.x) signature\n"
 msgstr "podpis starego typu (PGP 2.x).\n"
@@ -6245,51 +6258,57 @@ msgstr "Nieznane krytyczne adnotacje podpisu: "
 msgid "subpacket of type %d has critical bit set\n"
 msgstr "podpakiet typu %d ma ustawiony krytyczny bit\n"
 
-#: g10/passphrase.c:73 g10/passphrase.c:275 g10/passphrase.c:308
+#: g10/passphrase.c:73 g10/passphrase.c:283 g10/passphrase.c:316
 #, c-format
 msgid "problem with the agent: %s\n"
 msgstr "problem z agentem: %s\n"
 
-#: g10/passphrase.c:258
+#: g10/passphrase.c:251 sm/decrypt.c:341
+#, fuzzy
+#| msgid "Please enter the new passphrase"
+msgid "Please enter the passphrase for decryption."
+msgstr "Proszę wprowadzić nowe hasło"
+
+#: g10/passphrase.c:253
 msgid "Enter passphrase\n"
 msgstr "Hasło\n"
 
-#: g10/passphrase.c:269
+#: g10/passphrase.c:277
 #, c-format
 msgid "cancelled by user\n"
 msgstr "anulowano przez użytkownika\n"
 
-#: g10/passphrase.c:510
+#: g10/passphrase.c:523
 #, c-format
 msgid " (main key ID %s)"
 msgstr " (ID głównego klucza %s)"
 
-#: g10/passphrase.c:517
+#: g10/passphrase.c:530
 msgid "Please enter the passphrase to unlock the OpenPGP secret key:"
 msgstr "Proszę wprowadzić hasło do odbezpieczenia klucza prywatnego OpenPGP:"
 
-#: g10/passphrase.c:521
+#: g10/passphrase.c:534
 msgid "Please enter the passphrase to import the OpenPGP secret key:"
 msgstr "Proszę wprowadzić hasło do zaimportowania klucza prywatnego OpenPGP:"
 
-#: g10/passphrase.c:526
+#: g10/passphrase.c:539
 msgid "Please enter the passphrase to export the OpenPGP secret subkey:"
 msgstr ""
 "Proszę wprowadzić hasło do wyeksportowania podklucza prywatnego OpenPGP:"
 
-#: g10/passphrase.c:529
+#: g10/passphrase.c:542
 msgid "Please enter the passphrase to export the OpenPGP secret key:"
 msgstr "Proszę wprowadzić hasło do wyeksportowania klucza prywatnego OpenPGP:"
 
-#: g10/passphrase.c:534
+#: g10/passphrase.c:547
 msgid "Do you really want to permanently delete the OpenPGP secret subkey key:"
 msgstr "Czy na pewno trwale usunąć podklucz prywatny OpenPGP:"
 
-#: g10/passphrase.c:537
+#: g10/passphrase.c:550
 msgid "Do you really want to permanently delete the OpenPGP secret key:"
 msgstr "Czy na pewno trwale usunąć klucz prywatny OpenPGP:"
 
-#: g10/passphrase.c:546
+#: g10/passphrase.c:559
 #, c-format
 msgid ""
 "%s\n"
@@ -6345,7 +6364,7 @@ msgstr ",,%s'' nie jest plikiem JPEG\n"
 msgid "Is this photo correct (y/N/q)? "
 msgstr "Czy zdjęcie jest w porządku? (t/N/w) "
 
-#: g10/photoid.c:395
+#: g10/photoid.c:399
 #, c-format
 msgid "unable to display photo ID!\n"
 msgstr "nie można wyświetlić zdjęcia!\n"
@@ -6693,7 +6712,7 @@ msgstr "nie można otworzyć podpisanego pliku ,,%s''\n"
 msgid "can't open signed data fd=%d: %s\n"
 msgstr "nie można otworzyć podpisanych danych z fd=%d: %s\n"
 
-#: g10/pubkey-enc.c:98 g10/pubkey-enc.c:139 sm/decrypt.c:493
+#: g10/pubkey-enc.c:98 g10/pubkey-enc.c:139 sm/decrypt.c:969
 #, c-format
 msgid "key %s is not suitable for decryption in %s mode\n"
 msgstr "klucz %s nie nadaje się do odszyfrowywania w trybie %s\n"
@@ -6708,27 +6727,27 @@ msgstr "adresat anonimowy; sprawdzanie klucza tajnego %s...\n"
 msgid "okay, we are the anonymous recipient.\n"
 msgstr "OK, to my jesteśmy adresatem anonimowym.\n"
 
-#: g10/pubkey-enc.c:321
+#: g10/pubkey-enc.c:311
 #, c-format
 msgid "old encoding of the DEK is not supported\n"
 msgstr "stary, nieobsługiwany algorytm szyfrowania klucza sesyjnego\n"
 
-#: g10/pubkey-enc.c:349
+#: g10/pubkey-enc.c:339
 #, c-format
 msgid "cipher algorithm %d%s is unknown or disabled\n"
 msgstr "algorytm szyfrujący %d%s jest nieznany lub został wyłączony\n"
 
-#: g10/pubkey-enc.c:393
+#: g10/pubkey-enc.c:383
 #, c-format
 msgid "WARNING: cipher algorithm %s not found in recipient preferences\n"
 msgstr "OSTRZEŻENIE: brak algorytmu szyfrującego %s w ustawieniach odbiorcy\n"
 
-#: g10/pubkey-enc.c:426
+#: g10/pubkey-enc.c:416
 #, c-format
 msgid "Note: secret key %s expired at %s\n"
 msgstr "Uwaga: ważność klucza tajnego %s wygasła %s\n"
 
-#: g10/pubkey-enc.c:433
+#: g10/pubkey-enc.c:423
 #, c-format
 msgid "Note: key has been revoked"
 msgstr "Uwaga: klucz został unieważniony"
@@ -7060,7 +7079,7 @@ msgstr ""
 msgid "%s/%s signature from: \"%s\"\n"
 msgstr "podpis %s/%s złożony przez: ,,%s''\n"
 
-#: g10/sign.c:1046
+#: g10/sign.c:1045
 #, c-format
 msgid ""
 "WARNING: forcing digest algorithm %s (%d) violates recipient preferences\n"
@@ -7068,34 +7087,34 @@ msgstr ""
 "OSTRZEŻENIE: wymuszone użycie skrótu %s (%d) kłóci się z ustawieniami "
 "adresata\n"
 
-#: g10/sign.c:1188
+#: g10/sign.c:1187
 #, c-format
 msgid "signing:"
 msgstr "podpis:"
 
-#: g10/sign.c:1465
+#: g10/sign.c:1464
 #, c-format
 msgid "%s encryption will be used\n"
 msgstr "zostanie użyty szyfr %s\n"
 
-#: g10/skclist.c:173 g10/skclist.c:254
+#: g10/skclist.c:174 g10/skclist.c:255
 #, c-format
 msgid "key is not flagged as insecure - can't use it with the faked RNG!\n"
 msgstr ""
 "klucz nie jest oznaczony jako niepewny - nie można go użyć z atrapą\n"
 "generatora liczb losowych!\n"
 
-#: g10/skclist.c:205
+#: g10/skclist.c:206
 #, c-format
 msgid "skipped \"%s\": duplicated\n"
 msgstr "pominięty ,,%s'': duplikat\n"
 
-#: g10/skclist.c:224
+#: g10/skclist.c:225
 #, c-format
 msgid "skipped: secret key already present\n"
 msgstr "pominięty: klucz prywatny jest już wpisany\n"
 
-#: g10/skclist.c:243
+#: g10/skclist.c:244
 msgid "this is a PGP generated Elgamal key which is not secure for signatures!"
 msgstr ""
 "klucz algorytmu Elgamala wygenerowany przez PGP nie zapewniający "
@@ -7151,7 +7170,7 @@ msgstr "błąd odczytu w ,,%s'': %s\n"
 msgid "trustdb: sync failed: %s\n"
 msgstr "baza zaufania: synchronizacja nie powiodła się %s\n"
 
-#: g10/tdbio.c:144 sm/keydb.c:336
+#: g10/tdbio.c:144 sm/keydb.c:335
 #, c-format
 msgid "can't create lock for '%s'\n"
 msgstr "nie można utworzyć blokady dla ,,%s''\n"
@@ -7927,40 +7946,50 @@ msgstr ""
 #. TRANSLATORS: Put a \x1f right before a colon.  This can be
 #. * used by pinentry to nicely align the names and values.  Keep
 #. * the %s at the start and end of the string.
-#: scd/app-p15.c:3369 scd/app-openpgp.c:2153
+#: scd/app-p15.c:4955 scd/app-openpgp.c:2151
 #, c-format
 msgid "%sNumber\1f: %s%%0AHolder\1f: %s%s"
 msgstr "%sNumer\1f: %s%%0AWłaściciel\1f: %s%s"
 
 #. TRANSLATORS: This is the number of remaining attempts to
 #. * enter a PIN.  Use %%0A (double-percent,0A) for a linefeed.
-#: scd/app-p15.c:3388 scd/app-openpgp.c:2169
+#: scd/app-p15.c:4974 scd/app-openpgp.c:2167
 #, c-format
 msgid "Remaining attempts: %d"
 msgstr "Pozostało prób: %d"
 
-#: scd/app-p15.c:3459 scd/app-nks.c:1110
+#: scd/app-p15.c:5053 scd/app-nks.c:1113
 msgid "||Please enter the PIN for the key to create qualified signatures."
 msgstr ""
 "||Proszę wprowadzić PIN PIN dla klucza do tworzenia podpisów kwalifikowanych."
 
-#: scd/app-p15.c:3462 scd/app-nks.c:1092
+#. TRANSLATORS: Do not translate the "|A|" prefix but keep it at
+#. the start of the string.  Use %0A (single percent) for a linefeed.
+#: scd/app-p15.c:5056 scd/app-openpgp.c:2461
+msgid "|A|Please enter the Admin PIN"
+msgstr "|A|Proszę wprowadzić PIN administracyjny"
+
+#: scd/app-p15.c:5058 scd/app-nks.c:1103
+msgid "|P|Please enter the PIN Unblocking Code (PUK) for the standard keys."
+msgstr "|P|Proszę wprowadzić kod odblokowujący PIN (PUK) dla zwykłych kluczy."
+
+#: scd/app-p15.c:5061 scd/app-nks.c:1095
 msgid "||Please enter the PIN for the standard keys."
 msgstr "||Proszę wprowadzić PIN dla zwykłych kluczy."
 
-#: scd/app-nks.c:709 scd/app-openpgp.c:3664
+#: scd/app-nks.c:709 scd/app-openpgp.c:3663
 #, c-format
 msgid "RSA modulus missing or not of size %d bits\n"
 msgstr "reszta RSA brakująca lub o rozmiarze innym niż %d bity\n"
 
-#: scd/app-nks.c:717 scd/app-openpgp.c:3676
+#: scd/app-nks.c:717 scd/app-openpgp.c:3675
 #, c-format
 msgid "RSA public exponent missing or larger than %d bits\n"
 msgstr "publiczny wykładnik RSA brakujący lub większy niż %d bity\n"
 
-#: scd/app-nks.c:797 scd/app-openpgp.c:2326 scd/app-openpgp.c:2345
-#: scd/app-openpgp.c:2512 scd/app-openpgp.c:2530 scd/app-openpgp.c:2827
-#: scd/app-openpgp.c:2874 scd/app-openpgp.c:2989 scd/app-dinsig.c:303
+#: scd/app-nks.c:797 scd/app-openpgp.c:2324 scd/app-openpgp.c:2343
+#: scd/app-openpgp.c:2510 scd/app-openpgp.c:2528 scd/app-openpgp.c:2826
+#: scd/app-openpgp.c:2873 scd/app-openpgp.c:2988 scd/app-dinsig.c:302
 #, c-format
 msgid "PIN callback returned error: %s\n"
 msgstr "Zapytanie zwrotne o PIN zwróciło błąd: %s\n"
@@ -7970,26 +7999,22 @@ msgstr "Zapytanie zwrotne o PIN zwróciło błąd: %s\n"
 msgid "the NullPIN has not yet been changed\n"
 msgstr "NullPIN nie został jeszcze zmieniony\n"
 
-#: scd/app-nks.c:1091
+#: scd/app-nks.c:1094
 msgid "|N|Please enter a new PIN for the standard keys."
 msgstr "|N|Proszę wprowadzić nowy PIN dla zwykłych kluczy."
 
-#: scd/app-nks.c:1098
+#: scd/app-nks.c:1101
 msgid "|NP|Please enter a new PIN Unblocking Code (PUK) for the standard keys."
 msgstr ""
 "|NP|Proszę wprowadzić nowy kod oblokowujący PIN (PUK) dla zwykłych kluczy."
 
-#: scd/app-nks.c:1100
-msgid "|P|Please enter the PIN Unblocking Code (PUK) for the standard keys."
-msgstr "|P|Proszę wprowadzić kod odblokowujący PIN (PUK) dla zwykłych kluczy."
-
-#: scd/app-nks.c:1108
+#: scd/app-nks.c:1111
 msgid "|N|Please enter a new PIN for the key to create qualified signatures."
 msgstr ""
 "|N|Proszę wprowadzić nowy PIN dla klucza do tworzenia podpisów "
 "kwalifikowanych."
 
-#: scd/app-nks.c:1118
+#: scd/app-nks.c:1121
 msgid ""
 "|NP|Please enter a new PIN Unblocking Code (PUK) for the key to create "
 "qualified signatures."
@@ -7997,7 +8022,7 @@ msgstr ""
 "|NP|Proszę wprowadzić nowy kod odblokowujący PIN (PUK) dla klucza do "
 "tworzenia podpisów kwalifikowanych."
 
-#: scd/app-nks.c:1120
+#: scd/app-nks.c:1123
 msgid ""
 "|P|Please enter the PIN Unblocking Code (PUK) for the key to create "
 "qualified signatures."
@@ -8005,47 +8030,47 @@ msgstr ""
 "|P|Proszę wprowadzić kod odblokowujący PIN (PUK) dla klucza do tworzenia "
 "podpisów kwalifikowanych."
 
-#: scd/app-nks.c:1227 scd/app-openpgp.c:2908 scd/app-dinsig.c:531
+#: scd/app-nks.c:1230 scd/app-openpgp.c:2907 scd/app-dinsig.c:532
 #, c-format
 msgid "error getting new PIN: %s\n"
 msgstr "błąd podczas odczytu nowego PIN-u: %s\n"
 
-#: scd/app-openpgp.c:860
+#: scd/app-openpgp.c:859
 #, c-format
 msgid "failed to store the fingerprint: %s\n"
 msgstr "nie powiódł się zapis odcisku: %s\n"
 
-#: scd/app-openpgp.c:873
+#: scd/app-openpgp.c:872
 #, c-format
 msgid "failed to store the creation date: %s\n"
 msgstr "nie powiódł się zapis daty utworzenia: %s\n"
 
-#: scd/app-openpgp.c:1272 scd/app-openpgp.c:2855 scd/app-openpgp.c:5020
+#: scd/app-openpgp.c:1268 scd/app-openpgp.c:2854 scd/app-openpgp.c:5025
 #, c-format
 msgid "error retrieving CHV status from card\n"
 msgstr "błąd podczas odczytu stanu CHV z karty\n"
 
-#: scd/app-openpgp.c:1430
+#: scd/app-openpgp.c:1426
 #, c-format
 msgid "response does not contain the RSA modulus\n"
 msgstr "odpowiedź nie zawiera współczynnika RSA\n"
 
-#: scd/app-openpgp.c:1437
+#: scd/app-openpgp.c:1433
 #, c-format
 msgid "response does not contain the RSA public exponent\n"
 msgstr "odpowiedź nie zawiera publicznego wykładnika RSA\n"
 
-#: scd/app-openpgp.c:1547
+#: scd/app-openpgp.c:1543
 #, c-format
 msgid "response does not contain the EC public key\n"
 msgstr "odpowiedź nie zawiera klucza publicznego EC\n"
 
-#: scd/app-openpgp.c:1665 scd/app-openpgp.c:4284
+#: scd/app-openpgp.c:1661 scd/app-openpgp.c:4283
 #, c-format
 msgid "response does not contain the public key data\n"
 msgstr "odpowiedź nie zawiera danych klucza publicznego\n"
 
-#: scd/app-openpgp.c:1772
+#: scd/app-openpgp.c:1768
 #, c-format
 msgid "reading public key failed: %s\n"
 msgstr "odczyt klucza publicznego nie powiódł się: %s\n"
@@ -8053,44 +8078,44 @@ msgstr "odczyt klucza publicznego nie powiódł się: %s\n"
 #. TRANSLATORS: Put a \x1f right before a colon.  This can be
 #. * used by pinentry to nicely align the names and values.  Keep
 #. * the %s at the start and end of the string.
-#: scd/app-openpgp.c:2140
+#: scd/app-openpgp.c:2138
 #, c-format
 msgid "%sNumber\1f: %s%%0AHolder\1f: %s%%0ACounter\1f: %lu%s"
 msgstr "%sNumer\1f: %s%%0AWłaściciel\1f: %s%%0ALicznik\1f: %lu%s"
 
-#: scd/app-openpgp.c:2280
+#: scd/app-openpgp.c:2278
 #, c-format
 msgid "using default PIN as %s\n"
 msgstr "użycie domyślnego PIN-u jako %s\n"
 
-#: scd/app-openpgp.c:2287
+#: scd/app-openpgp.c:2285
 #, c-format
 msgid "failed to use default PIN as %s: %s - disabling further default use\n"
 msgstr ""
 "nie udało się użyć domyślnego PIN-u jako %s: %s - wyłączenie dalszego "
 "domyślnego użycia\n"
 
-#: scd/app-openpgp.c:2300
+#: scd/app-openpgp.c:2298
 msgid "||Please unlock the card"
 msgstr "||Proszę odblokować kartę"
 
-#: scd/app-openpgp.c:2352 scd/app-openpgp.c:2537 scd/app-openpgp.c:2834
+#: scd/app-openpgp.c:2350 scd/app-openpgp.c:2535 scd/app-openpgp.c:2833
 #, c-format
 msgid "PIN for CHV%d is too short; minimum length is %d\n"
 msgstr "PIN dla CHV%d jest zbyt krótki; minimalna długość to %d\n"
 
-#: scd/app-openpgp.c:2366 scd/app-openpgp.c:2413 scd/app-openpgp.c:2551
-#: scd/app-openpgp.c:4642
+#: scd/app-openpgp.c:2364 scd/app-openpgp.c:2411 scd/app-openpgp.c:2549
+#: scd/app-openpgp.c:4641
 #, c-format
 msgid "verify CHV%d failed: %s\n"
 msgstr "weryfikacja CHV%d nie powiodła się: %s\n"
 
-#: scd/app-openpgp.c:2449 scd/app-openpgp.c:5029
+#: scd/app-openpgp.c:2447 scd/app-openpgp.c:5034
 #, c-format
 msgid "card is permanently locked!\n"
 msgstr "karta została trwale zablokowana!\n"
 
-#: scd/app-openpgp.c:2453
+#: scd/app-openpgp.c:2451
 #, c-format
 msgid "%d Admin PIN attempt remaining before card is permanently locked\n"
 msgid_plural ""
@@ -8102,26 +8127,20 @@ msgstr[1] ""
 msgstr[2] ""
 "Zostało %d prób PIN-u administracyjnego do trwałego zablokowania karty\n"
 
-#. TRANSLATORS: Do not translate the "|A|" prefix but keep it at
-#. the start of the string.  Use %0A (single percent) for a linefeed.
-#: scd/app-openpgp.c:2463
-msgid "|A|Please enter the Admin PIN"
-msgstr "|A|Proszę wprowadzić PIN administracyjny"
-
-#: scd/app-openpgp.c:2484
+#: scd/app-openpgp.c:2482
 #, c-format
 msgid "access to admin commands is not configured\n"
 msgstr "dostęp do poleceń administratora nie został skonfigurowany\n"
 
-#: scd/app-openpgp.c:2821
+#: scd/app-openpgp.c:2820
 msgid "||Please enter the PIN"
 msgstr "||Proszę wpisać PIN"
 
-#: scd/app-openpgp.c:2870
+#: scd/app-openpgp.c:2869
 msgid "||Please enter the Reset Code for the card"
 msgstr "||Proszę wprowadzić kod resetujący dla karty"
 
-#: scd/app-openpgp.c:2880 scd/app-openpgp.c:2941
+#: scd/app-openpgp.c:2879 scd/app-openpgp.c:2940
 #, c-format
 msgid "Reset Code is too short; minimum length is %d\n"
 msgstr "Kod resetujący zbyt krótki; minimalna długość to %d\n"
@@ -8129,87 +8148,87 @@ msgstr "Kod resetujący zbyt krótki; minimalna długość to %d\n"
 #. TRANSLATORS: Do not translate the "|*|" prefixes but
 #. keep it at the start of the string.  We need this elsewhere
 #. to get some infos on the string.
-#: scd/app-openpgp.c:2903
+#: scd/app-openpgp.c:2902
 msgid "|RN|New Reset Code"
 msgstr "|RN|Nowy kod resetujący"
 
-#: scd/app-openpgp.c:2904
+#: scd/app-openpgp.c:2903
 msgid "|AN|New Admin PIN"
 msgstr "|AN|Nowy PIN administracyjny"
 
-#: scd/app-openpgp.c:2904
+#: scd/app-openpgp.c:2903
 msgid "|N|New PIN"
 msgstr "|N|Nowy PIN"
 
-#: scd/app-openpgp.c:2985
+#: scd/app-openpgp.c:2984
 msgid "||Please enter the Admin PIN and New Admin PIN"
 msgstr "||Proszę wprowadzić PIN administracyjny i nowy PIN administracyjny"
 
-#: scd/app-openpgp.c:2986
+#: scd/app-openpgp.c:2985
 msgid "||Please enter the PIN and New PIN"
 msgstr "||Proszę wprowadzić PIN i nowy PIN"
 
-#: scd/app-openpgp.c:3048 scd/app-openpgp.c:4344
+#: scd/app-openpgp.c:3047 scd/app-openpgp.c:4343
 #, c-format
 msgid "error reading application data\n"
 msgstr "błąd podczas odczytu danych aplikacji\n"
 
-#: scd/app-openpgp.c:3054 scd/app-openpgp.c:4351
+#: scd/app-openpgp.c:3053 scd/app-openpgp.c:4350
 #, c-format
 msgid "error reading fingerprint DO\n"
 msgstr "błąd podczas odczytu odcisku DO\n"
 
-#: scd/app-openpgp.c:3064
+#: scd/app-openpgp.c:3063
 #, c-format
 msgid "key already exists\n"
 msgstr "klucz już istnieje\n"
 
-#: scd/app-openpgp.c:3068
+#: scd/app-openpgp.c:3067
 #, c-format
 msgid "existing key will be replaced\n"
 msgstr "istniejący klucz zostanie zastąpiony\n"
 
-#: scd/app-openpgp.c:3070
+#: scd/app-openpgp.c:3069
 #, c-format
 msgid "generating new key\n"
 msgstr "generowanie nowego klucza\n"
 
-#: scd/app-openpgp.c:3072
+#: scd/app-openpgp.c:3071
 #, c-format
 msgid "writing new key\n"
 msgstr "zapisywanie nowego klucza\n"
 
-#: scd/app-openpgp.c:3645 scd/app-openpgp.c:3997
+#: scd/app-openpgp.c:3644 scd/app-openpgp.c:3996
 #, c-format
 msgid "creation timestamp missing\n"
 msgstr "brak datownika utworzenia\n"
 
-#: scd/app-openpgp.c:3686 scd/app-openpgp.c:3694
+#: scd/app-openpgp.c:3685 scd/app-openpgp.c:3693
 #, c-format
 msgid "RSA prime %s missing or not of size %d bits\n"
 msgstr "liczba pierwsza %s RSA brakująca lub o rozmiarze innym niż %d bitów\n"
 
-#: scd/app-openpgp.c:3827 scd/app-openpgp.c:4104
+#: scd/app-openpgp.c:3826 scd/app-openpgp.c:4103
 #, c-format
 msgid "failed to store the key: %s\n"
 msgstr "nie powiódł się zapis klucza: %s\n"
 
-#: scd/app-openpgp.c:3991
+#: scd/app-openpgp.c:3990
 #, c-format
 msgid "unsupported curve\n"
 msgstr "nieobsługiwana krzywa\n"
 
-#: scd/app-openpgp.c:4261
+#: scd/app-openpgp.c:4260
 #, c-format
 msgid "please wait while key is being generated ...\n"
 msgstr "proszę czekać na wygenerowanie klucza...\n"
 
-#: scd/app-openpgp.c:4269
+#: scd/app-openpgp.c:4268
 #, c-format
 msgid "generating key failed\n"
 msgstr "generowanie klucza nie powiodło się\n"
 
-#: scd/app-openpgp.c:4275
+#: scd/app-openpgp.c:4274
 #, c-format
 msgid "key generation completed (%d second)\n"
 msgid_plural "key generation completed (%d seconds)\n"
@@ -8217,27 +8236,27 @@ msgstr[0] "generowanie klucza zakończone (%d sekunda)\n"
 msgstr[1] "generowanie klucza zakończone (%d sekundy)\n"
 msgstr[2] "generowanie klucza zakończone (%d sekund)\n"
 
-#: scd/app-openpgp.c:4309
+#: scd/app-openpgp.c:4308
 #, c-format
 msgid "invalid structure of OpenPGP card (DO 0x93)\n"
 msgstr "niepoprawna struktura karty OpenPGP (DO 0x93)\n"
 
-#: scd/app-openpgp.c:4359
+#: scd/app-openpgp.c:4358
 #, c-format
 msgid "fingerprint on card does not match requested one\n"
 msgstr "odcisk na karcie nie zgadza się z żądanym\n"
 
-#: scd/app-openpgp.c:4558
+#: scd/app-openpgp.c:4557
 #, c-format
 msgid "card does not support digest algorithm %s\n"
 msgstr "karta nie obsługuje algorytmu skrótu %s\n"
 
-#: scd/app-openpgp.c:4616
+#: scd/app-openpgp.c:4615
 #, c-format
 msgid "signatures created so far: %lu\n"
 msgstr "dotychczas stworzono podpisów: %lu\n"
 
-#: scd/app-openpgp.c:5034
+#: scd/app-openpgp.c:5039
 #, c-format
 msgid ""
 "verification of Admin PIN is currently prohibited through this command\n"
@@ -8245,19 +8264,19 @@ msgstr ""
 "weryfikacja PIN-u administracyjnego tym poleceniem jest aktualnie "
 "zabroniona\n"
 
-#: scd/app-openpgp.c:5346 scd/app-openpgp.c:5357
+#: scd/app-openpgp.c:5351 scd/app-openpgp.c:5362
 #, c-format
 msgid "can't access %s - invalid OpenPGP card?\n"
 msgstr "nie można dostać się do %s - niepoprawna karta OpenPGP?\n"
 
-#: scd/app-dinsig.c:299
+#: scd/app-dinsig.c:298
 msgid "||Please enter your PIN at the reader's pinpad"
 msgstr "||Proszę wprowadzić PIN na klawiaturze czytnika"
 
 #. TRANSLATORS: Do not translate the "|*|" prefixes but
 #. keep it at the start of the string.  We need this elsewhere
 #. to get some infos on the string.
-#: scd/app-dinsig.c:528
+#: scd/app-dinsig.c:529
 msgid "|N|Initial New PIN"
 msgstr "|N|Początkowy nowy PIN"
 
@@ -8265,7 +8284,7 @@ msgstr "|N|Początkowy nowy PIN"
 msgid "run in multi server mode (foreground)"
 msgstr "uruchomienie w trybie serwera (pierwszoplanowo)"
 
-#: scd/scdaemon.c:129 sm/gpgsm.c:345 dirmngr/dirmngr.c:187
+#: scd/scdaemon.c:129 sm/gpgsm.c:348 dirmngr/dirmngr.c:188
 msgid "|LEVEL|set the debugging level to LEVEL"
 msgstr "|POZIOM|ustawienie POZIOMU diagnostyki"
 
@@ -8285,31 +8304,31 @@ msgstr "|NAZWA|użycie NAZWY jako sterownika ct-API"
 msgid "|NAME|use NAME as PC/SC driver"
 msgstr "|NAZWA|użycie NAZWY jako sterownika PC/SC"
 
-#: scd/scdaemon.c:145
+#: scd/scdaemon.c:146
 msgid "do not use the internal CCID driver"
 msgstr "nieużywanie wewnętrznego sterownika CCID"
 
-#: scd/scdaemon.c:151
+#: scd/scdaemon.c:152
 msgid "|N|disconnect the card after N seconds of inactivity"
 msgstr "|N|odłączenie karty po N sekundach nieaktywności"
 
-#: scd/scdaemon.c:154
+#: scd/scdaemon.c:155
 msgid "do not use a reader's pinpad"
 msgstr "nieużywanie klawiatury czytnika"
 
-#: scd/scdaemon.c:159
+#: scd/scdaemon.c:160
 msgid "deny the use of admin card commands"
 msgstr "zabronienie używania poleceń karty administratora"
 
-#: scd/scdaemon.c:162
+#: scd/scdaemon.c:163
 msgid "use variable length input for pinpad"
 msgstr "użycie wejścia z klawiatury czytnika o zmiennej długości"
 
-#: scd/scdaemon.c:311
+#: scd/scdaemon.c:312
 msgid "Usage: @SCDAEMON@ [options] (-h for help)"
 msgstr "Składnia: @SCDAEMON@ [opcje] (-h wyświetla pomoc)"
 
-#: scd/scdaemon.c:313
+#: scd/scdaemon.c:314
 msgid ""
 "Syntax: scdaemon [options] [command [args]]\n"
 "Smartcard daemon for @GNUPG@\n"
@@ -8317,17 +8336,17 @@ msgstr ""
 "Składnia: scdaemon [opcje] [polecenie [argumenty]]\n"
 "Demon kart procesorowych dla @GNUPG@\n"
 
-#: scd/scdaemon.c:806
+#: scd/scdaemon.c:808
 #, c-format
 msgid "please use the option '--daemon' to run the program in the background\n"
 msgstr "proszę użyć opcji ,,--daemon'' do uruchomienia programu w tle\n"
 
-#: scd/scdaemon.c:1183 dirmngr/dirmngr.c:2082
+#: scd/scdaemon.c:1185 dirmngr/dirmngr.c:2119
 #, c-format
 msgid "handler for fd %d started\n"
 msgstr "obsługa fd %d uruchomiona\n"
 
-#: scd/scdaemon.c:1195 dirmngr/dirmngr.c:2090
+#: scd/scdaemon.c:1197 dirmngr/dirmngr.c:2127
 #, c-format
 msgid "handler for fd %d terminated\n"
 msgstr "obsługa fd %d zakończona\n"
@@ -8374,7 +8393,7 @@ msgstr "Uwaga: niekrytyczna polityka certyfikatu niedozwolona"
 msgid "certificate policy not allowed"
 msgstr "polityka certyfikatu niedozwolona"
 
-#: sm/certchain.c:595 sm/keydb.c:1106 sm/keydb.c:1192
+#: sm/certchain.c:595 sm/keydb.c:1084 sm/keydb.c:1171
 #, c-format
 msgid "failed to get the fingerprint\n"
 msgstr "nie udało się pobrać odcisku\n"
@@ -8410,8 +8429,8 @@ msgid "dirmngr cache-only key lookup failed: %s\n"
 msgstr ""
 "wyszukiwanie klucza tylko w pamięci podręcznej dirmngr nie powiodło się: %s\n"
 
-#: sm/certchain.c:1041 sm/certchain.c:1554 sm/certchain.c:2192 sm/decrypt.c:265
-#: sm/encrypt.c:344 sm/import.c:415 sm/keydb.c:1113 sm/keydb.c:1199
+#: sm/certchain.c:1041 sm/certchain.c:1554 sm/certchain.c:2192 sm/decrypt.c:728
+#: sm/encrypt.c:345 sm/import.c:415 sm/keydb.c:1091 sm/keydb.c:1178
 #: sm/sign.c:337 sm/verify.c:118
 #, c-format
 msgid "failed to allocate keyDB handle\n"
@@ -8604,13 +8623,13 @@ msgid "a %u bit hash is not valid for a %u bit %s key\n"
 msgstr "skrót %u-bitowy nie jest poprawny dla %u-bitowego klucza %s\n"
 
 #: sm/certcheck.c:238 sm/certcheck.c:262 dirmngr/crlcache.c:1542
-#: dirmngr/crlcache.c:1566 dirmngr/dirmngr.c:1324 dirmngr/validate.c:903
+#: dirmngr/crlcache.c:1566 dirmngr/dirmngr.c:1361 dirmngr/validate.c:903
 #: dirmngr/validate.c:927
 #, c-format
 msgid "out of core\n"
 msgstr "brak pamięci\n"
 
-#: sm/certcheck.c:371 sm/verify.c:213
+#: sm/certcheck.c:370 sm/verify.c:213
 #, c-format
 msgid "(this is the MD2 algorithm)\n"
 msgstr "(to jest algorytm MD2)\n"
@@ -8898,22 +8917,34 @@ msgstr ""
 msgid "resource problem: out of core\n"
 msgstr "problem z zasobami: brak pamięci\n"
 
-#: sm/decrypt.c:341
+#: sm/decrypt.c:536
+#, fuzzy, c-format
+#| msgid "%s encrypted data\n"
+msgid "%s.%s encrypted data\n"
+msgstr "dane zaszyfrowano za pomocą %s\n"
+
+#: sm/decrypt.c:803
 #, c-format
 msgid "(this is the RC2 algorithm)\n"
 msgstr "(to jest algorytm RC2)\n"
 
-#: sm/decrypt.c:343
+#: sm/decrypt.c:805
 #, c-format
 msgid "(this does not seem to be an encrypted message)\n"
 msgstr "(to nie wygląda na zaszyfrowaną wiadomość)\n"
 
+#: sm/decrypt.c:958
+#, fuzzy, c-format
+#| msgid "encrypted with %s key, ID %s\n"
+msgid "encrypted to %s key %s\n"
+msgstr "zaszyfrowano kluczem %s o identyfikatorze %s\n"
+
 #: sm/delete.c:51 sm/delete.c:112
 #, c-format
 msgid "certificate '%s' not found: %s\n"
 msgstr "nie znaleziono certyfikatu ,,%s'': %s\n"
 
-#: sm/delete.c:122 sm/keydb.c:1209 sm/keydb.c:1307
+#: sm/delete.c:122 sm/keydb.c:1189 sm/keydb.c:1288
 #, c-format
 msgid "error locking keybox: %s\n"
 msgstr "błąd blokowania keyboksa: %s\n"
@@ -8933,128 +8964,128 @@ msgstr "certyfikat ,,%s'' usunięty\n"
 msgid "deleting certificate \"%s\" failed: %s\n"
 msgstr "usunięcie certyfikatu ,,%s'' nie powiodło się: %s\n"
 
-#: sm/encrypt.c:330
+#: sm/encrypt.c:331
 #, c-format
 msgid "no valid recipients given\n"
 msgstr "nie podano poprawnych adresatów\n"
 
-#: sm/gpgsm.c:215
+#: sm/gpgsm.c:216
 msgid "list external keys"
 msgstr "wypisanie kluczy zewnętrznych"
 
-#: sm/gpgsm.c:217
+#: sm/gpgsm.c:218
 msgid "list certificate chain"
 msgstr "wypisanie łańcucha certyfikatów"
 
-#: sm/gpgsm.c:225
+#: sm/gpgsm.c:226
 msgid "import certificates"
 msgstr "import certyfikatów"
 
-#: sm/gpgsm.c:226
+#: sm/gpgsm.c:227
 msgid "export certificates"
 msgstr "eksport certyfikatów"
 
-#: sm/gpgsm.c:234
+#: sm/gpgsm.c:235
 msgid "register a smartcard"
 msgstr "zarejestrowanie karty procesorowej"
 
-#: sm/gpgsm.c:237
+#: sm/gpgsm.c:238
 msgid "pass a command to the dirmngr"
 msgstr "przekazanie polecenia do dirmngr"
 
-#: sm/gpgsm.c:239
+#: sm/gpgsm.c:240
 msgid "invoke gpg-protect-tool"
 msgstr "wywołanie gpg-protect-tool"
 
-#: sm/gpgsm.c:256
+#: sm/gpgsm.c:257
 msgid "create base-64 encoded output"
 msgstr "tworzenie wyjścia zakodowanego base-64"
 
-#: sm/gpgsm.c:265
+#: sm/gpgsm.c:266
 msgid "assume input is in PEM format"
 msgstr "przyjęcie wejścia w formacie PEM"
 
-#: sm/gpgsm.c:267
+#: sm/gpgsm.c:268
 msgid "assume input is in base-64 format"
 msgstr "przyjęcie wejścia w formacie base-64"
 
-#: sm/gpgsm.c:269
+#: sm/gpgsm.c:270
 msgid "assume input is in binary format"
 msgstr "przyjęcie wejścia w formacie binarnym"
 
-#: sm/gpgsm.c:276
+#: sm/gpgsm.c:277
 msgid "never consult a CRL"
 msgstr "pominięcie CRL"
 
-#: sm/gpgsm.c:286
+#: sm/gpgsm.c:287
 msgid "check validity using OCSP"
 msgstr "sprawdzenie poprawności przy użyciu OCSP"
 
-#: sm/gpgsm.c:291
+#: sm/gpgsm.c:292
 msgid "|N|number of certificates to include"
 msgstr "|N|liczba certyfikatów do dołączenia"
 
-#: sm/gpgsm.c:294
+#: sm/gpgsm.c:295
 msgid "|FILE|take policy information from FILE"
 msgstr "|PLIK|pobranie informacji o polityce z PLIKU"
 
-#: sm/gpgsm.c:297
+#: sm/gpgsm.c:298
 msgid "do not check certificate policies"
 msgstr "niesprawdzanie polityk certyfikatów"
 
-#: sm/gpgsm.c:301
+#: sm/gpgsm.c:302
 msgid "fetch missing issuer certificates"
 msgstr "pobranie brakujących certyfikatów wystawców"
 
-#: sm/gpgsm.c:312
+#: sm/gpgsm.c:313
 msgid "don't use the terminal at all"
 msgstr "nieużywanie w ogóle terminala"
 
-#: sm/gpgsm.c:314
+#: sm/gpgsm.c:315
 msgid "|FILE|write a server mode log to FILE"
 msgstr "|PLIK|zapisanie logów trybu serwerowego do PLIKU"
 
-#: sm/gpgsm.c:319
+#: sm/gpgsm.c:320
 msgid "|FILE|write an audit log to FILE"
 msgstr "|PLIK|zapisanie logów audytowych do PLIKU"
 
-#: sm/gpgsm.c:322
+#: sm/gpgsm.c:323
 msgid "batch mode: never ask"
 msgstr "tryb wsadowy: bez żadnych pytań"
 
-#: sm/gpgsm.c:323
+#: sm/gpgsm.c:324
 msgid "assume yes on most questions"
 msgstr "przyjęcie odpowiedzi ,,tak'' na większość pytań"
 
-#: sm/gpgsm.c:324
+#: sm/gpgsm.c:325
 msgid "assume no on most questions"
 msgstr "przyjęcie odpowiedzi ,,nie'' na większość pytań"
 
-#: sm/gpgsm.c:327
+#: sm/gpgsm.c:328
 msgid "|FILE|add keyring to the list of keyrings"
 msgstr "|PLIK|dodanie tego zbioru kluczy do listy zbiorów kluczy"
 
-#: sm/gpgsm.c:330
+#: sm/gpgsm.c:331
 msgid "|USER-ID|use USER-ID as default secret key"
 msgstr "|UŻYTKOWNIK|użycie tego identyfikatora jako domyślnego klucza tajnego"
 
-#: sm/gpgsm.c:340 tools/gpgconf-comp.c:837
+#: sm/gpgsm.c:341 dirmngr/dirmngr.c:214 tools/gpgconf-comp.c:841
 msgid "|SPEC|use this keyserver to lookup keys"
 msgstr "|SPEC|użycie tego serwera do wyszukiwania kluczy"
 
-#: sm/gpgsm.c:357
+#: sm/gpgsm.c:360
 msgid "|NAME|use cipher algorithm NAME"
 msgstr "|NAZWA|użycie tego algorytmu szyfrowania NAZWA"
 
-#: sm/gpgsm.c:359
+#: sm/gpgsm.c:362
 msgid "|NAME|use message digest algorithm NAME"
 msgstr "|NAZWA|użycie tego algorytmu skrótu wiadomości"
 
-#: sm/gpgsm.c:570
+#: sm/gpgsm.c:573
 msgid "Usage: @GPGSM@ [options] [files] (-h for help)"
 msgstr "Składnia: @GPGSM@ [opcje] [pliki] (-h wyświetla pomoc)"
 
-#: sm/gpgsm.c:573
+#: sm/gpgsm.c:576
 msgid ""
 "Syntax: @GPGSM@ [options] [files]\n"
 "Sign, check, encrypt or decrypt using the S/MIME protocol\n"
@@ -9065,47 +9096,27 @@ msgstr ""
 "S/MIME\n"
 "Domyślnie wykonywana operacja zależy od danych wejściowych\n"
 
-#: sm/gpgsm.c:777
+#: sm/gpgsm.c:784
 #, c-format
 msgid "Note: won't be able to encrypt to '%s': %s\n"
 msgstr "Uwaga: nie można zaszyfrować do ,,%s'': %s\n"
 
-#: sm/gpgsm.c:788
+#: sm/gpgsm.c:795
 #, c-format
 msgid "unknown validation model '%s'\n"
 msgstr "nieznany model poprawności ,,%s''\n"
 
-#: sm/gpgsm.c:839 dirmngr/ldapserver.c:86
-#, c-format
-msgid "%s:%u: no hostname given\n"
-msgstr "%s:%u: nie podano nazwy hosta\n"
-
-#: sm/gpgsm.c:858 dirmngr/ldapserver.c:105
-#, c-format
-msgid "%s:%u: password given without user\n"
-msgstr "%s:%u: podano hasło bez użytkownika\n"
-
-#: sm/gpgsm.c:879 dirmngr/ldapserver.c:126
-#, c-format
-msgid "%s:%u: skipping this line\n"
-msgstr "%s:%u: linia pominięta\n"
-
-#: sm/gpgsm.c:1449
-#, c-format
-msgid "could not parse keyserver\n"
-msgstr "niezrozumiały adres serwera kluczy\n"
-
-#: sm/gpgsm.c:1712
+#: sm/gpgsm.c:1612
 #, c-format
 msgid "importing common certificates '%s'\n"
 msgstr "import wspólnych certyfikatów ,,%s''\n"
 
-#: sm/gpgsm.c:1755
+#: sm/gpgsm.c:1655
 #, c-format
 msgid "can't sign using '%s': %s\n"
 msgstr "nie można podpisać z użyciem ,,%s'': %s\n"
 
-#: sm/gpgsm.c:2122
+#: sm/gpgsm.c:2028
 #, c-format
 msgid "invalid command (there is no implicit command)\n"
 msgstr "błędne polecenie (nie ma polecenia domyślnego)\n"
@@ -9126,7 +9137,7 @@ msgid "basic certificate checks failed - not imported\n"
 msgstr ""
 "podstawowe sprawdzenia certyikatu nie powiodły się - nie zaimportowany\n"
 
-#: sm/import.c:472 sm/keydb.c:1229 sm/keydb.c:1319
+#: sm/import.c:472 sm/keydb.c:1209 sm/keydb.c:1300
 #, c-format
 msgid "error getting stored flags: %s\n"
 msgstr "błąd pobierania zapisanych flag: %s\n"
@@ -9141,27 +9152,27 @@ msgstr "błąd importu certyfikatu: %s\n"
 msgid "error reading input: %s\n"
 msgstr "błąd odczytu wejścia: %s\n"
 
-#: sm/keydb.c:1148
+#: sm/keydb.c:1127
 #, c-format
 msgid "problem looking for existing certificate: %s\n"
 msgstr "problem odszukaniem istniejącego certyfikatu: %s\n"
 
-#: sm/keydb.c:1160
+#: sm/keydb.c:1139
 #, c-format
 msgid "error finding writable keyDB: %s\n"
 msgstr "błąd podczas szukania zapisywalnego keyDB: %s\n"
 
-#: sm/keydb.c:1168
+#: sm/keydb.c:1147
 #, c-format
 msgid "error storing certificate: %s\n"
 msgstr "błąd zapisywania certyfikatu: %s\n"
 
-#: sm/keydb.c:1220
+#: sm/keydb.c:1200
 #, c-format
 msgid "problem re-searching certificate: %s\n"
 msgstr "problem z ponownym odszukaniem certyfikatu: %s\n"
 
-#: sm/keydb.c:1241 sm/keydb.c:1330
+#: sm/keydb.c:1221 sm/keydb.c:1311
 #, c-format
 msgid "error storing flags: %s\n"
 msgstr "błąd zapisywania flag: %s\n"
@@ -9202,7 +9213,7 @@ msgstr ""
 "\n"
 "%s%sNa pewno chcesz to zrobić?"
 
-#: sm/qualified.c:215 sm/verify.c:678
+#: sm/qualified.c:215 sm/verify.c:679
 #, c-format
 msgid ""
 "Note, that this software is not officially approved to create or verify such "
@@ -9254,23 +9265,23 @@ msgstr "[nie podano daty]"
 msgid "algorithm:"
 msgstr "algorytm:"
 
-#: sm/verify.c:535
+#: sm/verify.c:536
 #, c-format
 msgid ""
 "invalid signature: message digest attribute does not match computed one\n"
 msgstr "błędny podpis: atrybut skrótu wiadomości nie zgadza się z obliczonym\n"
 
-#: sm/verify.c:656
+#: sm/verify.c:657
 #, c-format
 msgid "Good signature from"
 msgstr "Poprawny podpis złożony przez"
 
-#: sm/verify.c:657
+#: sm/verify.c:658
 #, c-format
 msgid "                aka"
 msgstr "                        alias"
 
-#: sm/verify.c:675
+#: sm/verify.c:676
 #, c-format
 msgid "This is a qualified signature\n"
 msgstr "To jest podpis kwalifikowany\n"
@@ -9907,7 +9918,7 @@ msgid "error retrieving '%s': %s\n"
 msgstr "błąd odtwarzania ,,%s'': %s\n"
 
 #: dirmngr/crlfetch.c:218 dirmngr/ldap-wrapper-ce.c:492
-#: dirmngr/ldap-wrapper.c:884 dirmngr/misc.c:573
+#: dirmngr/ldap-wrapper.c:885 dirmngr/misc.c:573
 #, c-format
 msgid "error initializing reader object: %s\n"
 msgstr "błąd inicjowania obiektu czytelnika: %s\n"
@@ -10065,114 +10076,114 @@ msgstr "oczekiwano bezwzględnej nazwy pliku\n"
 msgid "looking up '%s'\n"
 msgstr "wyszukiwanie ,,%s''\n"
 
-#: dirmngr/dirmngr.c:170
+#: dirmngr/dirmngr.c:171
 msgid "list the contents of the CRL cache"
 msgstr "lista zawartości pamięci podręcznej CRL"
 
-#: dirmngr/dirmngr.c:171
+#: dirmngr/dirmngr.c:172
 msgid "|FILE|load CRL from FILE into cache"
 msgstr "|PLIK|załadowanie CRL z PLIKU do pamięci podręcznej"
 
-#: dirmngr/dirmngr.c:172
+#: dirmngr/dirmngr.c:173
 msgid "|URL|fetch a CRL from URL"
 msgstr "|URL|pobranie CRL z URL-a"
 
-#: dirmngr/dirmngr.c:173
+#: dirmngr/dirmngr.c:174
 msgid "shutdown the dirmngr"
 msgstr "wyłączenie dirmngr"
 
-#: dirmngr/dirmngr.c:174
+#: dirmngr/dirmngr.c:175
 msgid "flush the cache"
 msgstr "zapis pamięci podręcznej"
 
-#: dirmngr/dirmngr.c:190 tools/gpgconf-comp.c:522 tools/gpgconf-comp.c:741
-#: tools/gpgconf-comp.c:854 tools/gpgconf-comp.c:950
+#: dirmngr/dirmngr.c:191 tools/gpgconf-comp.c:522 tools/gpgconf-comp.c:745
+#: tools/gpgconf-comp.c:858 tools/gpgconf-comp.c:954
 msgid "|FILE|write server mode logs to FILE"
 msgstr "|PLIK|zapis logów trybu serwera do PLIKU"
 
-#: dirmngr/dirmngr.c:191
+#: dirmngr/dirmngr.c:192
 msgid "run without asking a user"
 msgstr "działanie bez pytania użytkownika"
 
-#: dirmngr/dirmngr.c:192
+#: dirmngr/dirmngr.c:193
 msgid "force loading of outdated CRLs"
 msgstr "wymuszenie ładowania nieaktualnych CRL"
 
-#: dirmngr/dirmngr.c:193
+#: dirmngr/dirmngr.c:194
 msgid "allow sending OCSP requests"
 msgstr "zezwolenie na wysyłanie żądań OCSP"
 
-#: dirmngr/dirmngr.c:195
+#: dirmngr/dirmngr.c:196
 msgid "allow online software version check"
 msgstr "zezwolenie na sprawdzenie wersji oprogramowania online"
 
-#: dirmngr/dirmngr.c:196
+#: dirmngr/dirmngr.c:197
 msgid "inhibit the use of HTTP"
 msgstr "powstrzymanie od użycia HTTP"
 
-#: dirmngr/dirmngr.c:197
+#: dirmngr/dirmngr.c:198
 msgid "inhibit the use of LDAP"
 msgstr "powstrzymanie od użycia LDAP"
 
-#: dirmngr/dirmngr.c:199
+#: dirmngr/dirmngr.c:200
 msgid "ignore HTTP CRL distribution points"
 msgstr "ignorowanie punktów dystrybucji CRL przez HTTP"
 
-#: dirmngr/dirmngr.c:201
+#: dirmngr/dirmngr.c:202
 msgid "ignore LDAP CRL distribution points"
 msgstr "ignorowanie punktów dystrybucji CRL przez LDAP"
 
-#: dirmngr/dirmngr.c:203
+#: dirmngr/dirmngr.c:204
 msgid "ignore certificate contained OCSP service URLs"
 msgstr "ignorowanie URL-i usług OCSP zawartych w certyfikatach"
 
-#: dirmngr/dirmngr.c:206
+#: dirmngr/dirmngr.c:207
 msgid "|URL|redirect all HTTP requests to URL"
 msgstr "|URL|przekierowanie wszystkich żądań HTTP na URL"
 
-#: dirmngr/dirmngr.c:208
+#: dirmngr/dirmngr.c:209
 msgid "|HOST|use HOST for LDAP queries"
 msgstr "|HOST|użycie HOSTA do zapytań LDAP"
 
-#: dirmngr/dirmngr.c:210
+#: dirmngr/dirmngr.c:211
 msgid "do not use fallback hosts with --ldap-proxy"
 msgstr "bez użycia hostów zapasowych z --ldap-proxy"
 
-#: dirmngr/dirmngr.c:213
+#: dirmngr/dirmngr.c:216
 msgid "|FILE|read LDAP server list from FILE"
 msgstr "|PLIK|odczyt listy serwerów LDAP z PLIKU"
 
-#: dirmngr/dirmngr.c:215
+#: dirmngr/dirmngr.c:218
 msgid "add new servers discovered in CRL distribution points to serverlist"
 msgstr ""
 "dodanie nowych serwerów wykrytych w pinktach dystrybucji CRL do listy "
 "serwerów"
 
-#: dirmngr/dirmngr.c:218 dirmngr/dirmngr_ldap.c:137
+#: dirmngr/dirmngr.c:221
 msgid "|N|set LDAP timeout to N seconds"
 msgstr "|N|ustawienie limitu czasu LDAP na N sekund"
 
-#: dirmngr/dirmngr.c:221
+#: dirmngr/dirmngr.c:224
 msgid "|URL|use OCSP responder at URL"
 msgstr "|URL|użycie respondera OCSP spod URL-a"
 
-#: dirmngr/dirmngr.c:223
+#: dirmngr/dirmngr.c:226
 msgid "|FPR|OCSP response signed by FPR"
 msgstr "|FPR|odpowiedź OCSP podpisana przez FPR"
 
-#: dirmngr/dirmngr.c:229
+#: dirmngr/dirmngr.c:232
 msgid "|N|do not return more than N items in one query"
 msgstr "|N|bez zwracania więcej niż N elementów w jednym zapytaniu"
 
-#: dirmngr/dirmngr.c:234
+#: dirmngr/dirmngr.c:237
 msgid "|FILE|use the CA certificates in FILE for HKP over TLS"
 msgstr "|PLIK|użycie certyfikatów CA w PLIKU dla HKP po TLS"
 
-#: dirmngr/dirmngr.c:236
+#: dirmngr/dirmngr.c:239
 msgid "route all network traffic via Tor"
 msgstr "trasowanie całego ruchu sieciowego przez Tora"
 
-#: dirmngr/dirmngr.c:265
+#: dirmngr/dirmngr.c:268
 msgid ""
 "@\n"
 "(See the \"info\" manual for a complete listing of all commands and "
@@ -10181,11 +10192,11 @@ msgstr ""
 "@\n"
 "(pełną listę poleceń i opcji można znaleźć w podręczniku ,,info'')\n"
 
-#: dirmngr/dirmngr.c:407
+#: dirmngr/dirmngr.c:415
 msgid "Usage: @DIRMNGR@ [options] (-h for help)"
 msgstr "Składnia: @DIRMNGR@ [opcje] (-h wyświetla pomoc)"
 
-#: dirmngr/dirmngr.c:409
+#: dirmngr/dirmngr.c:417
 msgid ""
 "Syntax: @DIRMNGR@ [options] [command [args]]\n"
 "Keyserver, CRL, and OCSP access for @GNUPG@\n"
@@ -10193,270 +10204,104 @@ msgstr ""
 "Składnia: @DIRMNGR@ [opcje] [polecenie [argumenty]]\n"
 "Dostęp do serwera kluczy, CRL i OCSP dla @GNUPG@\n"
 
-#: dirmngr/dirmngr.c:489
+#: dirmngr/dirmngr.c:497
 #, c-format
 msgid "valid debug levels are: %s\n"
 msgstr "poprawne poziomy diagnostyki to: %s\n"
 
-#: dirmngr/dirmngr.c:575 tools/gpgconf.c:647 tools/gpgconf.c:682
+#: dirmngr/dirmngr.c:583 tools/gpgconf.c:647 tools/gpgconf.c:682
 #: tools/gpgconf.c:780
 #, c-format
 msgid "usage: %s [options] "
 msgstr "składnia: %s [opcje]"
 
-#: dirmngr/dirmngr.c:1212
+#: dirmngr/dirmngr.c:1249
 #, c-format
 msgid "colons are not allowed in the socket name\n"
 msgstr "dwukropki nie są dozwolone w nazwie gniazda\n"
 
-#: dirmngr/dirmngr.c:1444 dirmngr/server.c:1824
+#: dirmngr/dirmngr.c:1481 dirmngr/server.c:1878
 #, c-format
 msgid "fetching CRL from '%s' failed: %s\n"
 msgstr "pobranie CRL z ,,%s'' nie powiodło się: %s\n"
 
-#: dirmngr/dirmngr.c:1450 dirmngr/server.c:1830
+#: dirmngr/dirmngr.c:1487 dirmngr/server.c:1884
 #, c-format
 msgid "processing CRL from '%s' failed: %s\n"
 msgstr "przetworzenie CRL z ,,%s'' nie powiodło się: %s\n"
 
-#: dirmngr/dirmngr.c:1645
+#: dirmngr/dirmngr.c:1682
 #, c-format
 msgid "%s:%u: line too long - skipped\n"
 msgstr "%s:%u: linia zbyt długa - pominięto\n"
 
-#: dirmngr/dirmngr.c:1700 dirmngr/dirmngr.c:1784
+#: dirmngr/dirmngr.c:1737 dirmngr/dirmngr.c:1821
 #, c-format
 msgid "%s:%u: invalid fingerprint detected\n"
 msgstr "%s:%u: wykryto błędny odcisk\n"
 
-#: dirmngr/dirmngr.c:1736 dirmngr/dirmngr.c:1762 tools/gpgconf-comp.c:4191
+#: dirmngr/dirmngr.c:1773 dirmngr/dirmngr.c:1799 tools/gpgconf-comp.c:4199
 #, c-format
 msgid "%s:%u: read error: %s\n"
 msgstr "%s:%u: błąd odczytu: %s\n"
 
-#: dirmngr/dirmngr.c:1791
+#: dirmngr/dirmngr.c:1828
 #, c-format
 msgid "%s:%u: garbage at end of line ignored\n"
 msgstr "%s:%u: zignorowano śmieci na końcu linii\n"
 
-#: dirmngr/dirmngr.c:1860
+#: dirmngr/dirmngr.c:1897
 #, c-format
 msgid "SIGHUP received - re-reading configuration and flushing caches\n"
 msgstr ""
 "otrzymano SIGHUP - ponowny odczyt konfiguracji i zapis pamięci podręcznej\n"
 
-#: dirmngr/dirmngr.c:1900
+#: dirmngr/dirmngr.c:1937
 #, c-format
 msgid "SIGUSR2 received - no action defined\n"
 msgstr "otrzymano SIGUSR2 - nie zdefiniowano akcji\n"
 
-#: dirmngr/dirmngr.c:1905
+#: dirmngr/dirmngr.c:1942
 #, c-format
 msgid "SIGTERM received - shutting down ...\n"
 msgstr "otrzymano SIGTERM - zamykanie...\n"
 
-#: dirmngr/dirmngr.c:1907
+#: dirmngr/dirmngr.c:1944
 #, c-format
 msgid "SIGTERM received - still %d active connections\n"
 msgstr "otrzymano SIGTERM - nadal są aktywne połączenia: %d\n"
 
-#: dirmngr/dirmngr.c:1912
+#: dirmngr/dirmngr.c:1949
 #, c-format
 msgid "shutdown forced\n"
 msgstr "wymuszono zamknięcie\n"
 
-#: dirmngr/dirmngr.c:1920
+#: dirmngr/dirmngr.c:1957
 #, c-format
 msgid "SIGINT received - immediate shutdown\n"
 msgstr "otrzymano SIGINT - natychmiastowe zamknięcie\n"
 
-#: dirmngr/dirmngr.c:1927
+#: dirmngr/dirmngr.c:1964
 #, c-format
 msgid "signal %d received - no action defined\n"
 msgstr "otrzymano sygnał %d - nie zdefiniowano akcji\n"
 
-#: dirmngr/dirmngr_ldap.c:138
-msgid "return all values in a record oriented format"
-msgstr "zwrócenie wszystkich wartości w formacie rekordu"
-
-#: dirmngr/dirmngr_ldap.c:141
-msgid "|NAME|ignore host part and connect through NAME"
-msgstr "|NAZWA|zignorowanie części z hostem i połączenie poprzez NAZWĘ"
-
-#: dirmngr/dirmngr_ldap.c:142
-msgid "|NAME|connect to host NAME"
-msgstr "|NAZWA|połączenie z hostem NAZWA"
-
-#: dirmngr/dirmngr_ldap.c:143
-msgid "|N|connect to port N"
-msgstr "|N|połączenie z portem N"
-
-#: dirmngr/dirmngr_ldap.c:144
-msgid "|NAME|use user NAME for authentication"
-msgstr "|NAZWA|użycie NAZWY użytkownika do uwierzytelnienia"
-
-#: dirmngr/dirmngr_ldap.c:145
-msgid "|PASS|use password PASS for authentication"
-msgstr "|HASŁO|użycie HASŁA do uwierzytelnienia"
-
-#: dirmngr/dirmngr_ldap.c:147
-msgid "take password from $DIRMNGR_LDAP_PASS"
-msgstr "pobranie hasła z $DIRMNGR_LDAP_PASS"
-
-#: dirmngr/dirmngr_ldap.c:148
-msgid "|STRING|query DN STRING"
-msgstr "|ŁAŃCUCH|ŁAŃCUCH zapytania DN"
-
-#: dirmngr/dirmngr_ldap.c:149
-msgid "|STRING|use STRING as filter expression"
-msgstr "|ŁAŃCUCH|użycie ŁAŃCUCHA jako wyrażenia filtra"
-
-#: dirmngr/dirmngr_ldap.c:150
-msgid "|STRING|return the attribute STRING"
-msgstr "|ŁAŃCUCH|zwrócenie atrybutu ŁAŃCUCH"
-
-#: dirmngr/dirmngr_ldap.c:211
-msgid "Usage: dirmngr_ldap [options] [URL] (-h for help)\n"
-msgstr "Składnia: dirmngr_ldap [opcje] [URL] (-h wyświetla pomoc)\n"
-
-#: dirmngr/dirmngr_ldap.c:214
-msgid ""
-"Syntax: dirmngr_ldap [options] [URL]\n"
-"Internal LDAP helper for Dirmngr\n"
-"Interface and options may change without notice\n"
-msgstr ""
-"Składnia: dirmngr_ldap [opcje] [URL]\n"
-"Wewnętrzny program pomocniczy LDAP dla Dirmngr\n"
-"Interfejs i opcje mogą się zmienić bez uprzedzenia\n"
-
-#: dirmngr/dirmngr_ldap.c:340
-#, c-format
-msgid "invalid port number %d\n"
-msgstr "błędny numer portu %d\n"
-
-#: dirmngr/dirmngr_ldap.c:456
-#, c-format
-msgid "scanning result for attribute '%s'\n"
-msgstr "przeszukiwanie wyniku pod kątem atrybutu ,,%s''\n"
-
-#: dirmngr/dirmngr_ldap.c:463 dirmngr/dirmngr_ldap.c:546
-#: dirmngr/dirmngr_ldap.c:570 dirmngr/dirmngr_ldap.c:582
-#: dirmngr/dirmngr_ldap.c:720
-#, c-format
-msgid "error writing to stdout: %s\n"
-msgstr "błąd zapisu na standardowe wyjście: %s\n"
-
-#: dirmngr/dirmngr_ldap.c:480
-#, c-format
-msgid "          available attribute '%s'\n"
-msgstr "          dostępny atrybut ,,%s''\n"
-
-#: dirmngr/dirmngr_ldap.c:518
-#, c-format
-msgid "attribute '%s' not found\n"
-msgstr "nie znaleziono atrybutu ,,%s''\n"
-
-#: dirmngr/dirmngr_ldap.c:525
-#, c-format
-msgid "found attribute '%s'\n"
-msgstr "znaleziono atrybut ,,%s''\n"
-
-#: dirmngr/dirmngr_ldap.c:634
-#, c-format
-msgid "processing url '%s'\n"
-msgstr "przetwarzanie URL-a ,,%s''\n"
-
-#: dirmngr/dirmngr_ldap.c:636
-#, c-format
-msgid "          user '%s'\n"
-msgstr "          użytkownik ,,%s''\n"
-
-#: dirmngr/dirmngr_ldap.c:638
-#, c-format
-msgid "          pass '%s'\n"
-msgstr "          hasło ,,%s''\n"
-
-#: dirmngr/dirmngr_ldap.c:640
-#, c-format
-msgid "          host '%s'\n"
-msgstr "          host ,,%s''\n"
-
-#: dirmngr/dirmngr_ldap.c:641
-#, c-format
-msgid "          port %d\n"
-msgstr "          port %d\n"
-
-#: dirmngr/dirmngr_ldap.c:643
-#, c-format
-msgid "            DN '%s'\n"
-msgstr "            DN ,,%s''\n"
-
-#: dirmngr/dirmngr_ldap.c:645
-#, c-format
-msgid "        filter '%s'\n"
-msgstr "        filtr ,,%s''\n"
-
-#: dirmngr/dirmngr_ldap.c:650 dirmngr/dirmngr_ldap.c:653
-#, c-format
-msgid "          attr '%s'\n"
-msgstr "          atrybut ,,%s''\n"
-
-#: dirmngr/dirmngr_ldap.c:659
-#, c-format
-msgid "no host name in '%s'\n"
-msgstr "brak nazwy hosta w ,,%s''\n"
-
-#: dirmngr/dirmngr_ldap.c:664
-#, c-format
-msgid "no attribute given for query '%s'\n"
-msgstr "nie podano atrybutu dla zapytania ,,%s''\n"
-
-#: dirmngr/dirmngr_ldap.c:670
-#, c-format
-msgid "WARNING: using first attribute only\n"
-msgstr "OSTRZEŻENIE: użyto tylko pierwszego atrybutu\n"
-
-#: dirmngr/dirmngr_ldap.c:679
-#, c-format
-msgid "LDAP init to '%s:%d' failed: %s\n"
-msgstr "nie udało się zainicjować LDAP na ,,%s:%d'': %s\n"
-
-#: dirmngr/dirmngr_ldap.c:702
-#, c-format
-msgid "binding to '%s:%d' failed: %s\n"
-msgstr "dowiązanie do ,,%s:%d'' nie powiodło się: %s\n"
-
-#: dirmngr/dirmngr_ldap.c:729
-#, c-format
-msgid "searching '%s' failed: %s\n"
-msgstr "szukanie ,,%s'' nie powiodło się: %s\n"
-
-#: dirmngr/dirmngr_ldap.c:761
-#, c-format
-msgid "'%s' is not an LDAP URL\n"
-msgstr ",,%s'' nie jest URL-em LDAP\n"
-
-#: dirmngr/dirmngr_ldap.c:767
-#, c-format
-msgid "'%s' is an invalid LDAP URL\n"
-msgstr ",,%s'' jest nieprawidłowym URL-em LDAP\n"
-
-#: dirmngr/http.c:1987 dirmngr/ocsp.c:255
+#: dirmngr/http.c:1993 dirmngr/ocsp.c:255
 #, c-format
 msgid "error accessing '%s': http status %u\n"
 msgstr "błąd dostępu do ,,%s'': status http %u\n"
 
-#: dirmngr/http.c:3629 dirmngr/ocsp.c:229
+#: dirmngr/http.c:3644 dirmngr/ocsp.c:229
 #, c-format
 msgid "URL '%s' redirected to '%s' (%u)\n"
 msgstr "URL ,,%s'' przekierowany na ,,%s'' (%u)\n"
 
-#: dirmngr/http.c:3635 dirmngr/ocsp.c:246
+#: dirmngr/http.c:3650 dirmngr/ocsp.c:246
 #, c-format
 msgid "too many redirections\n"
 msgstr "za dużo przekierowań\n"
 
-#: dirmngr/http.c:3747
+#: dirmngr/http.c:3762
 #, c-format
 msgid "redirection changed to '%s'\n"
 msgstr "przekierowanie zmienione na ,,%s''\n"
@@ -10496,31 +10341,51 @@ msgstr "oczekiwanie na wrapper LDAP %d nie powiodło się: %s\n"
 msgid "ldap wrapper %d stalled - killing\n"
 msgstr "wrapper LDAP %d przytkany - zabito\n"
 
-#: dirmngr/ldap.c:91
+#: dirmngr/ldap.c:92
 #, c-format
 msgid "invalid char 0x%02x in host name - not added\n"
 msgstr "błędny znak 0x%02x w nazwie hosta - nie dodano\n"
 
-#: dirmngr/ldap.c:95
+#: dirmngr/ldap.c:96
 #, c-format
 msgid "adding '%s:%d' to the ldap server list\n"
 msgstr "dodano ,,%s:%d'' do listy serwerów LDAP\n"
 
-#: dirmngr/ldap.c:98 dirmngr/misc.c:512
+#: dirmngr/ldap.c:99 dirmngr/misc.c:512
 #, c-format
 msgid "malloc failed: %s\n"
 msgstr "malloc nie powiodło się: %s\n"
 
-#: dirmngr/ldap.c:627
+#: dirmngr/ldap.c:221
+#, c-format
+msgid "'%s' is not an LDAP URL\n"
+msgstr ",,%s'' nie jest URL-em LDAP\n"
+
+#: dirmngr/ldap.c:227 dirmngr/ldap.c:233
 #, c-format
-msgid "start_cert_fetch: invalid pattern '%s'\n"
-msgstr "start_cert_fetch: błędny wzorzec ,,%s''\n"
+msgid "'%s' is an invalid LDAP URL\n"
+msgstr ",,%s'' jest nieprawidłowym URL-em LDAP\n"
 
-#: dirmngr/ldap.c:839
+#: dirmngr/ldap.c:969
 #, c-format
 msgid "ldap_search hit the size limit of the server\n"
 msgstr "ldap_search natrafiło na limit rozmiaru w serwerze\n"
 
+#: dirmngr/ldapserver.c:117
+#, c-format
+msgid "%s:%u: password given without user\n"
+msgstr "%s:%u: podano hasło bez użytkownika\n"
+
+#: dirmngr/ldapserver.c:181
+#, c-format
+msgid "%s:%u: ignoring unknown flag '%s'\n"
+msgstr ""
+
+#: dirmngr/ldapserver.c:203
+#, c-format
+msgid "%s:%u: skipping this line\n"
+msgstr "%s:%u: linia pominięta\n"
+
 #: dirmngr/misc.c:172
 #, c-format
 msgid "invalid canonical S-expression found\n"
@@ -10701,71 +10566,67 @@ msgstr "responder OCSP zwrócił stan zbyt stary\n"
 msgid "assuan_inquire(%s) failed: %s\n"
 msgstr "assuan_inquire(%s) nie powiodło się: %s\n"
 
-#: dirmngr/server.c:1158
-msgid "ldapserver missing"
-msgstr "brak pola ldapserver"
-
-#: dirmngr/server.c:1224
+#: dirmngr/server.c:1277
 msgid "serialno missing in cert ID"
 msgstr "brak pola serialno w ID certyfikatu"
 
-#: dirmngr/server.c:1387 dirmngr/server.c:1473 dirmngr/server.c:1909
-#: dirmngr/server.c:1980 dirmngr/server.c:2552 dirmngr/server.c:2567
+#: dirmngr/server.c:1440 dirmngr/server.c:1526 dirmngr/server.c:1963
+#: dirmngr/server.c:2034 dirmngr/server.c:2662 dirmngr/server.c:2677
 #, c-format
 msgid "assuan_inquire failed: %s\n"
 msgstr "assuan_inquire nie powiodło się: %s\n"
 
-#: dirmngr/server.c:1516
+#: dirmngr/server.c:1569
 #, c-format
 msgid "fetch_cert_by_url failed: %s\n"
 msgstr "fetch_cert_by_url nie powiodło się: %s\n"
 
-#: dirmngr/server.c:1528 dirmngr/server.c:1559 dirmngr/server.c:1718
+#: dirmngr/server.c:1581 dirmngr/server.c:1612 dirmngr/server.c:1772
 #, c-format
 msgid "error sending data: %s\n"
 msgstr "błąd wysyłania danych: %s\n"
 
-#: dirmngr/server.c:1666
+#: dirmngr/server.c:1720
 #, c-format
 msgid "start_cert_fetch failed: %s\n"
 msgstr "start_cert_fetch nie powiodło się: %s\n"
 
-#: dirmngr/server.c:1699
+#: dirmngr/server.c:1753
 #, c-format
 msgid "fetch_next_cert failed: %s\n"
 msgstr "fetch_next_cert nie powiodło się: %s\n"
 
-#: dirmngr/server.c:1726
+#: dirmngr/server.c:1780
 #, c-format
 msgid "max_replies %d exceeded\n"
 msgstr "przekroczono max_replies %d\n"
 
-#: dirmngr/server.c:2856
+#: dirmngr/server.c:2966
 #, c-format
 msgid "can't allocate control structure: %s\n"
 msgstr "nie można przydzielić struktury sterującej: %s\n"
 
-#: dirmngr/server.c:2867
+#: dirmngr/server.c:2977
 #, c-format
 msgid "failed to allocate assuan context: %s\n"
 msgstr "nie udało się przydzielić kontekstu assuan: %s\n"
 
-#: dirmngr/server.c:2888
+#: dirmngr/server.c:2998
 #, c-format
 msgid "failed to initialize the server: %s\n"
 msgstr "nie udało się zainicjować serwera: %s\n"
 
-#: dirmngr/server.c:2896
+#: dirmngr/server.c:3006
 #, c-format
 msgid "failed to the register commands with Assuan: %s\n"
 msgstr "nie udało się zarejestrować poleceń przez Assuana: %s\n"
 
-#: dirmngr/server.c:2929
+#: dirmngr/server.c:3039
 #, c-format
 msgid "Assuan accept problem: %s\n"
 msgstr "Problem z accept u Assuana: %s\n"
 
-#: dirmngr/server.c:2948
+#: dirmngr/server.c:3058
 #, c-format
 msgid "Assuan processing failed: %s\n"
 msgstr "Przetwarzanie u Assuana nie powiodło się: %s\n"
@@ -10902,21 +10763,21 @@ msgid "error sending standard options: %s\n"
 msgstr "błąd wysyłania standardowych opcji: %s\n"
 
 #: tools/gpgconf-comp.c:481 tools/gpgconf-comp.c:617 tools/gpgconf-comp.c:692
-#: tools/gpgconf-comp.c:804 tools/gpgconf-comp.c:906
+#: tools/gpgconf-comp.c:808 tools/gpgconf-comp.c:910
 msgid "Options controlling the diagnostic output"
 msgstr "Opcje sterujące wyjściem diagnostycznym"
 
 #: tools/gpgconf-comp.c:494 tools/gpgconf-comp.c:630 tools/gpgconf-comp.c:705
-#: tools/gpgconf-comp.c:817 tools/gpgconf-comp.c:929
+#: tools/gpgconf-comp.c:821 tools/gpgconf-comp.c:933
 msgid "Options controlling the configuration"
 msgstr "Opcje sterujące konfiguracją"
 
-#: tools/gpgconf-comp.c:517 tools/gpgconf-comp.c:659 tools/gpgconf-comp.c:736
-#: tools/gpgconf-comp.c:849 tools/gpgconf-comp.c:942
+#: tools/gpgconf-comp.c:517 tools/gpgconf-comp.c:659 tools/gpgconf-comp.c:740
+#: tools/gpgconf-comp.c:853 tools/gpgconf-comp.c:946
 msgid "Options useful for debugging"
 msgstr "Opcje przydatne do diagnostyki"
 
-#: tools/gpgconf-comp.c:530 tools/gpgconf-comp.c:669 tools/gpgconf-comp.c:862
+#: tools/gpgconf-comp.c:530 tools/gpgconf-comp.c:669 tools/gpgconf-comp.c:866
 msgid "Options controlling the security"
 msgstr "Opcje sterujące bezpieczeństwem"
 
@@ -10965,11 +10826,11 @@ msgstr "niezezwalanie na ponowne użycie starych haseł"
 msgid "|N|set the Pinentry timeout to N seconds"
 msgstr "|N|ustawienie limitu czasu Pinentry na N sekund"
 
-#: tools/gpgconf-comp.c:707 tools/gpgconf-comp.c:819
+#: tools/gpgconf-comp.c:707 tools/gpgconf-comp.c:823
 msgid "|NAME|use NAME as default secret key"
 msgstr "|NAZWA|użycie NAZWY jako domyślnego klucza tajnego"
 
-#: tools/gpgconf-comp.c:710 tools/gpgconf-comp.c:822
+#: tools/gpgconf-comp.c:710 tools/gpgconf-comp.c:826
 msgid "|NAME|encrypt to user ID NAME as well"
 msgstr "|NAZWA|szyfrowanie także dla odbiorcy NAZWA"
 
@@ -10977,129 +10838,129 @@ msgstr "|NAZWA|szyfrowanie także dla odbiorcy NAZWA"
 msgid "|SPEC|set up email aliases"
 msgstr "|SPEC|określ adres email"
 
-#: tools/gpgconf-comp.c:749 tools/gpgconf-comp.c:981
+#: tools/gpgconf-comp.c:753 tools/gpgconf-comp.c:985
 msgid "Configuration for Keyservers"
 msgstr "Konfiguracja dla serwerów kluczy"
 
-#: tools/gpgconf-comp.c:751 tools/gpgconf-comp.c:983
+#: tools/gpgconf-comp.c:755 tools/gpgconf-comp.c:987
 msgid "|URL|use keyserver at URL"
 msgstr "|URL|używaj serwera kluczy URL"
 
-#: tools/gpgconf-comp.c:754
+#: tools/gpgconf-comp.c:758
 msgid "allow PKA lookups (DNS requests)"
 msgstr "zezwolenie na wyszukiwania PKA (żądania DNS)"
 
-#: tools/gpgconf-comp.c:757
+#: tools/gpgconf-comp.c:761
 msgid "|MECHANISMS|use MECHANISMS to locate keys by mail address"
 msgstr ""
 "|MECHANIZMY|wykorzystaj MECHANIZMY do wyszukiwania kluczy na podstawie "
 "adresów e-mail"
 
-#: tools/gpgconf-comp.c:760
+#: tools/gpgconf-comp.c:764
 msgid "import missing key from a signature"
 msgstr "import brakującego klucza z podpisu"
 
-#: tools/gpgconf-comp.c:763
+#: tools/gpgconf-comp.c:767
 msgid "include the public key in signatures"
 msgstr "włączanie klucza publicznego do podpisów"
 
-#: tools/gpgconf-comp.c:770 tools/gpgconf-comp.c:831
+#: tools/gpgconf-comp.c:774 tools/gpgconf-comp.c:835
 msgid "disable all access to the dirmngr"
 msgstr "zablokuj dostęp do dirmngr"
 
-#: tools/gpgconf-comp.c:834
+#: tools/gpgconf-comp.c:838
 msgid "|NAME|use encoding NAME for PKCS#12 passphrases"
 msgstr "|NAZWA|użycie kodowania NAZWA dla haseł PKCS#12"
 
-#: tools/gpgconf-comp.c:870
+#: tools/gpgconf-comp.c:874
 msgid "do not check CRLs for root certificates"
 msgstr "niesprawdzanie CRL dla głównych certyfikatów"
 
-#: tools/gpgconf-comp.c:919
+#: tools/gpgconf-comp.c:923
 msgid "Options controlling the format of the output"
 msgstr "Opcje sterujące formatem wyjścia"
 
-#: tools/gpgconf-comp.c:961
+#: tools/gpgconf-comp.c:965
 msgid "Options controlling the interactivity and enforcement"
 msgstr "Opcje sterujące interaktywnością i wymuszaniem"
 
-#: tools/gpgconf-comp.c:974
+#: tools/gpgconf-comp.c:978
 msgid "Options controlling the use of Tor"
 msgstr "Opcje sterujące użyciem Tora"
 
-#: tools/gpgconf-comp.c:988
+#: tools/gpgconf-comp.c:992
 msgid "Configuration for HTTP servers"
 msgstr "Konfiguracja dla serwerów HTTP"
 
-#: tools/gpgconf-comp.c:999
+#: tools/gpgconf-comp.c:1003
 msgid "use system's HTTP proxy setting"
 msgstr "użycie systemowego ustawienia proxy HTTP"
 
-#: tools/gpgconf-comp.c:1004
+#: tools/gpgconf-comp.c:1008
 msgid "Configuration of LDAP servers to use"
 msgstr "Konfiguracja używanych serwerów LDAP"
 
-#: tools/gpgconf-comp.c:1033
+#: tools/gpgconf-comp.c:1037
 msgid "LDAP server list"
 msgstr "lista serwerów LDAP"
 
-#: tools/gpgconf-comp.c:1041
+#: tools/gpgconf-comp.c:1045
 msgid "Configuration for OCSP"
 msgstr "Konfiguracja dla OCSP"
 
-#: tools/gpgconf-comp.c:1094
+#: tools/gpgconf-comp.c:1098
 msgid "OpenPGP"
 msgstr "OpenPGP"
 
-#: tools/gpgconf-comp.c:1095
+#: tools/gpgconf-comp.c:1099
 msgid "Private Keys"
 msgstr "Klucze prywatne"
 
-#: tools/gpgconf-comp.c:1096
+#: tools/gpgconf-comp.c:1100
 msgid "Smartcards"
 msgstr "Karty procesorowe"
 
-#: tools/gpgconf-comp.c:1097
+#: tools/gpgconf-comp.c:1101
 msgid "S/MIME"
 msgstr "S/MIME"
 
-#: tools/gpgconf-comp.c:1098
+#: tools/gpgconf-comp.c:1102
 msgid "Network"
 msgstr "Sieć"
 
-#: tools/gpgconf-comp.c:1099
+#: tools/gpgconf-comp.c:1103
 msgid "Passphrase Entry"
 msgstr "Wpisywanie hasła"
 
-#: tools/gpgconf-comp.c:1278
+#: tools/gpgconf-comp.c:1282
 msgid "Component not suitable for launching"
 msgstr "Komponent nie nadaje się do uruchomienia"
 
-#: tools/gpgconf-comp.c:1284
+#: tools/gpgconf-comp.c:1288
 #, c-format
 msgid "Configuration file of component %s is broken\n"
 msgstr "Plik konfiguracyjny komponentu %s jest uszkodzony\n"
 
-#: tools/gpgconf-comp.c:1287
+#: tools/gpgconf-comp.c:1291
 #, c-format
 msgid "Note: Use the command \"%s%s\" to get details.\n"
 msgstr "Podpowiedź: można użyć polecenia ,,%s%s'', aby uzyskać szczegóły.\n"
 
-#: tools/gpgconf-comp.c:3446
+#: tools/gpgconf-comp.c:3454
 #, c-format
 msgid "External verification of component %s failed"
 msgstr "Zewnętrzna weryfikacja komponentu %s nie powiodła się"
 
-#: tools/gpgconf-comp.c:3597
+#: tools/gpgconf-comp.c:3605
 msgid "Note that group specifications are ignored\n"
 msgstr "Uwaga, określenia grup są ignorowane\n"
 
-#: tools/gpgconf-comp.c:4195
+#: tools/gpgconf-comp.c:4203
 #, c-format
 msgid "error closing '%s'\n"
 msgstr "błąd zamykania ,,%s''\n"
 
-#: tools/gpgconf-comp.c:4197
+#: tools/gpgconf-comp.c:4205
 #, c-format
 msgid "error parsing '%s'\n"
 msgstr "błąd analizy ,,%s''\n"
@@ -11205,6 +11066,123 @@ msgstr ""
 "Składnia: gpg-check-pattern [opcje] plik-wzorców\n"
 "Sprawdzanie hasła ze standardowego wejścia względem pliku wzorców\n"
 
+#~ msgid "requesting key %s from %s server %s\n"
+#~ msgstr "zapytanie o klucz %s z serwera %s %s\n"
+
+#~ msgid "%s:%u: no hostname given\n"
+#~ msgstr "%s:%u: nie podano nazwy hosta\n"
+
+#~ msgid "could not parse keyserver\n"
+#~ msgstr "niezrozumiały adres serwera kluczy\n"
+
+#~ msgid "return all values in a record oriented format"
+#~ msgstr "zwrócenie wszystkich wartości w formacie rekordu"
+
+#~ msgid "|NAME|ignore host part and connect through NAME"
+#~ msgstr "|NAZWA|zignorowanie części z hostem i połączenie poprzez NAZWĘ"
+
+#~ msgid "|NAME|connect to host NAME"
+#~ msgstr "|NAZWA|połączenie z hostem NAZWA"
+
+#~ msgid "|N|connect to port N"
+#~ msgstr "|N|połączenie z portem N"
+
+#~ msgid "|NAME|use user NAME for authentication"
+#~ msgstr "|NAZWA|użycie NAZWY użytkownika do uwierzytelnienia"
+
+#~ msgid "|PASS|use password PASS for authentication"
+#~ msgstr "|HASŁO|użycie HASŁA do uwierzytelnienia"
+
+#~ msgid "take password from $DIRMNGR_LDAP_PASS"
+#~ msgstr "pobranie hasła z $DIRMNGR_LDAP_PASS"
+
+#~ msgid "|STRING|query DN STRING"
+#~ msgstr "|ŁAŃCUCH|ŁAŃCUCH zapytania DN"
+
+#~ msgid "|STRING|use STRING as filter expression"
+#~ msgstr "|ŁAŃCUCH|użycie ŁAŃCUCHA jako wyrażenia filtra"
+
+#~ msgid "|STRING|return the attribute STRING"
+#~ msgstr "|ŁAŃCUCH|zwrócenie atrybutu ŁAŃCUCH"
+
+#~ msgid "Usage: dirmngr_ldap [options] [URL] (-h for help)\n"
+#~ msgstr "Składnia: dirmngr_ldap [opcje] [URL] (-h wyświetla pomoc)\n"
+
+#~ msgid ""
+#~ "Syntax: dirmngr_ldap [options] [URL]\n"
+#~ "Internal LDAP helper for Dirmngr\n"
+#~ "Interface and options may change without notice\n"
+#~ msgstr ""
+#~ "Składnia: dirmngr_ldap [opcje] [URL]\n"
+#~ "Wewnętrzny program pomocniczy LDAP dla Dirmngr\n"
+#~ "Interfejs i opcje mogą się zmienić bez uprzedzenia\n"
+
+#~ msgid "invalid port number %d\n"
+#~ msgstr "błędny numer portu %d\n"
+
+#~ msgid "scanning result for attribute '%s'\n"
+#~ msgstr "przeszukiwanie wyniku pod kątem atrybutu ,,%s''\n"
+
+#~ msgid "error writing to stdout: %s\n"
+#~ msgstr "błąd zapisu na standardowe wyjście: %s\n"
+
+#~ msgid "          available attribute '%s'\n"
+#~ msgstr "          dostępny atrybut ,,%s''\n"
+
+#~ msgid "attribute '%s' not found\n"
+#~ msgstr "nie znaleziono atrybutu ,,%s''\n"
+
+#~ msgid "found attribute '%s'\n"
+#~ msgstr "znaleziono atrybut ,,%s''\n"
+
+#~ msgid "processing url '%s'\n"
+#~ msgstr "przetwarzanie URL-a ,,%s''\n"
+
+#~ msgid "          user '%s'\n"
+#~ msgstr "          użytkownik ,,%s''\n"
+
+#~ msgid "          pass '%s'\n"
+#~ msgstr "          hasło ,,%s''\n"
+
+#~ msgid "          host '%s'\n"
+#~ msgstr "          host ,,%s''\n"
+
+#~ msgid "          port %d\n"
+#~ msgstr "          port %d\n"
+
+#~ msgid "            DN '%s'\n"
+#~ msgstr "            DN ,,%s''\n"
+
+#~ msgid "        filter '%s'\n"
+#~ msgstr "        filtr ,,%s''\n"
+
+#~ msgid "          attr '%s'\n"
+#~ msgstr "          atrybut ,,%s''\n"
+
+#~ msgid "no host name in '%s'\n"
+#~ msgstr "brak nazwy hosta w ,,%s''\n"
+
+#~ msgid "no attribute given for query '%s'\n"
+#~ msgstr "nie podano atrybutu dla zapytania ,,%s''\n"
+
+#~ msgid "WARNING: using first attribute only\n"
+#~ msgstr "OSTRZEŻENIE: użyto tylko pierwszego atrybutu\n"
+
+#~ msgid "LDAP init to '%s:%d' failed: %s\n"
+#~ msgstr "nie udało się zainicjować LDAP na ,,%s:%d'': %s\n"
+
+#~ msgid "binding to '%s:%d' failed: %s\n"
+#~ msgstr "dowiązanie do ,,%s:%d'' nie powiodło się: %s\n"
+
+#~ msgid "searching '%s' failed: %s\n"
+#~ msgstr "szukanie ,,%s'' nie powiodło się: %s\n"
+
+#~ msgid "start_cert_fetch: invalid pattern '%s'\n"
+#~ msgstr "start_cert_fetch: błędny wzorzec ,,%s''\n"
+
+#~ msgid "ldapserver missing"
+#~ msgstr "brak pola ldapserver"
+
 #~ msgid "Note: old default options file '%s' ignored\n"
 #~ msgstr "Uwaga: stary domyślny plik opcji ,,%s'' został zignorowany\n"
 
index 6885331..223e50e 100644 (file)
--- a/po/pt.po
+++ b/po/pt.po
@@ -9,7 +9,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: gnupg\n"
 "Report-Msgid-Bugs-To: translations@gnupg.org\n"
-"POT-Creation-Date: 2021-01-11 18:47+0100\n"
+"POT-Creation-Date: 2021-06-10 18:59+0200\n"
 "PO-Revision-Date: 2015-02-11 19:17+0100\n"
 "Last-Translator: Pedro Morais <morais@kde.org>\n"
 "Language-Team: pt <morais@kde.org>\n"
@@ -108,7 +108,7 @@ msgid "Passphrase:"
 msgstr "frase secreta incorrecta"
 
 #: agent/call-pinentry.c:1107 agent/call-pinentry.c:1359
-#: agent/command-ssh.c:3130 agent/genkey.c:416
+#: agent/command-ssh.c:3140 agent/genkey.c:416
 msgid "does not match - try again"
 msgstr ""
 
@@ -163,34 +163,34 @@ msgstr "frase secreta incorrecta"
 msgid "ssh keys greater than %d bits are not supported\n"
 msgstr "algoritmo de protecção %d%s não é suportado\n"
 
-#: agent/command-ssh.c:862 common/dotlock.c:852 g10/card-util.c:932
-#: g10/exec.c:546 g10/export.c:1320 g10/gpg.c:1352 g10/keygen.c:4998
-#: g10/keyring.c:1322 g10/keyring.c:1637 g10/openfile.c:291 g10/sign.c:1009
-#: g10/sign.c:1323 g10/tdbio.c:753
+#: agent/command-ssh.c:862 common/dotlock.c:852 g10/card-util.c:933
+#: g10/exec.c:554 g10/export.c:1320 g10/gpg.c:1360 g10/keygen.c:4998
+#: g10/keyring.c:1322 g10/keyring.c:1637 g10/openfile.c:291 g10/sign.c:1008
+#: g10/sign.c:1322 g10/tdbio.c:753
 #, fuzzy, c-format
 #| msgid "can't create `%s': %s\n"
 msgid "can't create '%s': %s\n"
 msgstr "impossível criar `%s': %s\n"
 
-#: agent/command-ssh.c:874 common/helpfile.c:57 g10/card-util.c:889
+#: agent/command-ssh.c:874 common/helpfile.c:57 g10/card-util.c:890
 #: g10/dearmor.c:59 g10/dearmor.c:106 g10/decrypt.c:65 g10/decrypt.c:136
-#: g10/decrypt.c:153 g10/encrypt.c:180 g10/encrypt.c:543 g10/gpg.c:1353
-#: g10/import.c:352 g10/import.c:536 g10/import.c:764 g10/keygen.c:4036
+#: g10/decrypt.c:153 g10/encrypt.c:180 g10/encrypt.c:543 g10/gpg.c:1361
+#: g10/import.c:364 g10/import.c:548 g10/import.c:776 g10/keygen.c:4036
 #: g10/keyring.c:1663 g10/openfile.c:195 g10/openfile.c:209 g10/plaintext.c:128
-#: g10/plaintext.c:649 g10/sign.c:991 g10/sign.c:1202 g10/sign.c:1307
-#: g10/sign.c:1452 g10/tdbdump.c:143 g10/tdbdump.c:151 g10/tdbio.c:758
-#: g10/tdbio.c:829 g10/verify.c:96 g10/verify.c:160 sm/gpgsm.c:2219
-#: sm/gpgsm.c:2249 sm/gpgsm.c:2287 sm/qualified.c:66 dirmngr/certcache.c:396
+#: g10/plaintext.c:649 g10/sign.c:990 g10/sign.c:1201 g10/sign.c:1306
+#: g10/sign.c:1451 g10/tdbdump.c:143 g10/tdbdump.c:151 g10/tdbio.c:758
+#: g10/tdbio.c:829 g10/verify.c:96 g10/verify.c:160 sm/gpgsm.c:2125
+#: sm/gpgsm.c:2155 sm/gpgsm.c:2193 sm/qualified.c:66 dirmngr/certcache.c:396
 #: dirmngr/certcache.c:476 dirmngr/certcache.c:478 dirmngr/crlcache.c:2588
-#: dirmngr/dirmngr.c:1722
+#: dirmngr/dirmngr.c:1759
 #, fuzzy, c-format
 #| msgid "can't open `%s': %s\n"
 msgid "can't open '%s': %s\n"
 msgstr "impossível abrir `%s': %s\n"
 
 #: agent/command-ssh.c:2385 agent/command-ssh.c:2431 agent/command-ssh.c:2449
-#: agent/command-ssh.c:2601 g10/card-util.c:687 g10/card-util.c:708
-#: g10/skclist.c:430
+#: agent/command-ssh.c:2601 g10/card-util.c:688 g10/card-util.c:709
+#: g10/skclist.c:435
 #, fuzzy, c-format
 msgid "error getting serial number of card: %s\n"
 msgstr "erro na criação da frase secreta: %s\n"
@@ -215,39 +215,39 @@ msgstr "nenhum porta-chaves secreto com permissões de escrita encontrado: %s\n"
 msgid "error getting list of cards: %s\n"
 msgstr "erro na criação da frase secreta: %s\n"
 
-#: agent/command-ssh.c:2765
+#: agent/command-ssh.c:2775
 #, c-format
 msgid ""
 "An ssh process requested the use of key%%0A  %s%%0A  (%s)%%0ADo you want to "
 "allow this?"
 msgstr ""
 
-#: agent/command-ssh.c:2772
+#: agent/command-ssh.c:2782
 msgid "Allow"
 msgstr ""
 
-#: agent/command-ssh.c:2772
+#: agent/command-ssh.c:2782
 msgid "Deny"
 msgstr ""
 
-#: agent/command-ssh.c:2781
+#: agent/command-ssh.c:2791
 #, fuzzy, c-format
 msgid "Please enter the passphrase for the ssh key%%0A  %F%%0A  (%c)"
 msgstr "Por favor digite a frase secreta \n"
 
-#: agent/command-ssh.c:3058 agent/genkey.c:351
+#: agent/command-ssh.c:3068 agent/genkey.c:351
 #, fuzzy
 msgid "Please re-enter this passphrase"
 msgstr "muda a frase secreta"
 
-#: agent/command-ssh.c:3085
+#: agent/command-ssh.c:3095
 #, fuzzy, c-format
 msgid ""
 "Please enter a passphrase to protect the received secret key%%0A   %s%%0A   "
 "%s%%0Awithin gpg-agent's key storage"
 msgstr "Por favor digite a frase secreta \n"
 
-#: agent/command-ssh.c:3667
+#: agent/command-ssh.c:3677
 #, fuzzy, c-format
 msgid "failed to create stream from socket: %s\n"
 msgstr "%s: falha ao criar tabela de dispersão: %s\n"
@@ -402,48 +402,46 @@ msgstr ""
 "Opções:\n"
 " "
 
-#: agent/gpg-agent.c:165 scd/scdaemon.c:120 dirmngr/dirmngr.c:166
+#: agent/gpg-agent.c:165 scd/scdaemon.c:120 dirmngr/dirmngr.c:167
 msgid "run in daemon mode (background)"
 msgstr ""
 
-#: agent/gpg-agent.c:166 scd/scdaemon.c:117 dirmngr/dirmngr.c:165
+#: agent/gpg-agent.c:166 scd/scdaemon.c:117 dirmngr/dirmngr.c:166
 msgid "run in server mode (foreground)"
 msgstr ""
 
-#: agent/gpg-agent.c:168 dirmngr/dirmngr.c:168
+#: agent/gpg-agent.c:168 dirmngr/dirmngr.c:169
 #, fuzzy
 #| msgid "Key is superseded"
 msgid "run in supervised mode"
 msgstr "A chave foi substituída"
 
-#: agent/gpg-agent.c:170 g10/gpg.c:608 g10/gpgv.c:78 kbx/kbxutil.c:88
-#: scd/scdaemon.c:121 sm/gpgsm.c:310 dirmngr/dirmngr-client.c:70
-#: dirmngr/dirmngr.c:181 dirmngr/dirmngr_ldap.c:135
-#: tools/gpg-connect-agent.c:78 tools/gpgconf.c:108
+#: agent/gpg-agent.c:170 g10/gpg.c:605 g10/gpgv.c:78 kbx/kbxutil.c:88
+#: scd/scdaemon.c:121 sm/gpgsm.c:311 dirmngr/dirmngr-client.c:70
+#: dirmngr/dirmngr.c:182 tools/gpg-connect-agent.c:78 tools/gpgconf.c:108
 msgid "verbose"
 msgstr "detalhado"
 
 #: agent/gpg-agent.c:171 g10/gpgv.c:79 kbx/kbxutil.c:89 scd/scdaemon.c:122
-#: sm/gpgsm.c:311 dirmngr/dirmngr-client.c:71 dirmngr/dirmngr.c:182
-#: dirmngr/dirmngr_ldap.c:136
+#: sm/gpgsm.c:312 dirmngr/dirmngr-client.c:71 dirmngr/dirmngr.c:183
 msgid "be somewhat more quiet"
 msgstr "ser mais silencioso"
 
-#: agent/gpg-agent.c:172 scd/scdaemon.c:123 dirmngr/dirmngr.c:183
+#: agent/gpg-agent.c:172 scd/scdaemon.c:123 dirmngr/dirmngr.c:184
 msgid "sh-style command output"
 msgstr ""
 
-#: agent/gpg-agent.c:173 scd/scdaemon.c:124 dirmngr/dirmngr.c:184
+#: agent/gpg-agent.c:173 scd/scdaemon.c:124 dirmngr/dirmngr.c:185
 msgid "csh-style command output"
 msgstr ""
 
-#: agent/gpg-agent.c:174 scd/scdaemon.c:125 sm/gpgsm.c:341
-#: dirmngr/dirmngr.c:185
+#: agent/gpg-agent.c:174 scd/scdaemon.c:125 sm/gpgsm.c:344
+#: dirmngr/dirmngr.c:186
 #, fuzzy
 msgid "|FILE|read options from FILE"
 msgstr "|FICHEIRO|carregar módulo de extensão FICHEIRO"
 
-#: agent/gpg-agent.c:183 scd/scdaemon.c:135 dirmngr/dirmngr.c:188
+#: agent/gpg-agent.c:183 scd/scdaemon.c:135 dirmngr/dirmngr.c:189
 msgid "do not detach from the console"
 msgstr ""
 
@@ -531,9 +529,9 @@ msgstr "não suportado"
 #. reporting address.  This is so that we can change the
 #. reporting address without breaking the translations.
 #: agent/gpg-agent.c:531 agent/preset-passphrase.c:100 agent/protect-tool.c:155
-#: g10/gpg.c:1070 g10/gpgv.c:149 kbx/kbxutil.c:113 scd/scdaemon.c:298
-#: sm/gpgsm.c:567 dirmngr/dirmngr-client.c:168 dirmngr/dirmngr.c:404
-#: dirmngr/dirmngr_ldap.c:207 tools/gpg-connect-agent.c:205 tools/gpgconf.c:146
+#: g10/gpg.c:1074 g10/gpgv.c:149 kbx/kbxutil.c:113 scd/scdaemon.c:299
+#: sm/gpgsm.c:570 dirmngr/dirmngr-client.c:168 dirmngr/dirmngr.c:412
+#: tools/gpg-connect-agent.c:205 tools/gpgconf.c:146
 #: tools/gpg-check-pattern.c:143
 #, fuzzy
 msgid "Please report bugs to <@EMAIL@>.\n"
@@ -550,39 +548,39 @@ msgid ""
 "Secret key management for @GNUPG@\n"
 msgstr ""
 
-#: agent/gpg-agent.c:587 g10/gpg.c:1262 scd/scdaemon.c:370 sm/gpgsm.c:715
-#: dirmngr/dirmngr.c:488
+#: agent/gpg-agent.c:587 g10/gpg.c:1270 scd/scdaemon.c:371 sm/gpgsm.c:718
+#: dirmngr/dirmngr.c:496
 #, c-format
 msgid "invalid debug-level '%s' given\n"
 msgstr ""
 
-#: agent/gpg-agent.c:945 g10/gpg.c:3753 g10/gpg.c:3777 sm/gpgsm.c:1631
-#: sm/gpgsm.c:1637
+#: agent/gpg-agent.c:945 g10/gpg.c:3773 g10/gpg.c:3797 sm/gpgsm.c:1531
+#: sm/gpgsm.c:1537
 #, c-format
 msgid "selected digest algorithm is invalid\n"
 msgstr "o algoritmo de \"digest\" selecionado é inválido\n"
 
 #: agent/gpg-agent.c:1168 agent/gpg-agent.c:2023 common/argparse.c:1755
-#: common/argparse.c:1847 g10/gpg.c:2482 scd/scdaemon.c:532 sm/gpgsm.c:1063
-#: dirmngr/dirmngr.c:956 dirmngr/dirmngr.c:1841
+#: common/argparse.c:1847 g10/gpg.c:2495 scd/scdaemon.c:533 sm/gpgsm.c:977
+#: dirmngr/dirmngr.c:994 dirmngr/dirmngr.c:1878
 #, fuzzy, c-format
 #| msgid "reading options from `%s'\n"
 msgid "reading options from '%s'\n"
 msgstr "a ler opções de `%s'\n"
 
-#: agent/gpg-agent.c:1300 g10/gpg.c:3704 scd/scdaemon.c:655 sm/gpgsm.c:1571
-#: dirmngr/dirmngr.c:1067 tools/gpg-connect-agent.c:1244 tools/gpgconf.c:624
+#: agent/gpg-agent.c:1300 g10/gpg.c:3724 scd/scdaemon.c:657 sm/gpgsm.c:1471
+#: dirmngr/dirmngr.c:1102 tools/gpg-connect-agent.c:1244 tools/gpgconf.c:624
 #, fuzzy, c-format
 #| msgid "WARNING: \"%s\" is a deprecated option\n"
 msgid "Note: '%s' is not considered an option\n"
 msgstr "AVISO: \"%s\" é uma opção depreciada\n"
 
-#: agent/gpg-agent.c:2159 scd/scdaemon.c:1096 dirmngr/dirmngr.c:1219
+#: agent/gpg-agent.c:2159 scd/scdaemon.c:1098 dirmngr/dirmngr.c:1256
 #, fuzzy, c-format
 msgid "can't create socket: %s\n"
 msgstr "impossível criar %s: %s\n"
 
-#: agent/gpg-agent.c:2176 scd/scdaemon.c:1109 dirmngr/dirmngr.c:1232
+#: agent/gpg-agent.c:2176 scd/scdaemon.c:1111 dirmngr/dirmngr.c:1269
 #, c-format
 msgid "socket name '%s' is too long\n"
 msgstr ""
@@ -592,29 +590,29 @@ msgstr ""
 msgid "a gpg-agent is already running - not starting a new one\n"
 msgstr "o gpg-agent não está disponível nesta sessão\n"
 
-#: agent/gpg-agent.c:2226 scd/scdaemon.c:1133 dirmngr/dirmngr.c:1264
+#: agent/gpg-agent.c:2226 scd/scdaemon.c:1135 dirmngr/dirmngr.c:1301
 #, fuzzy, c-format
 msgid "error getting nonce for the socket\n"
 msgstr "erro na criação da frase secreta: %s\n"
 
-#: agent/gpg-agent.c:2231 scd/scdaemon.c:1136 dirmngr/dirmngr.c:1267
+#: agent/gpg-agent.c:2231 scd/scdaemon.c:1138 dirmngr/dirmngr.c:1304
 #, fuzzy, c-format
 msgid "error binding socket to '%s': %s\n"
 msgstr "erro ao enviar para `%s': %s\n"
 
 #: agent/gpg-agent.c:2242 agent/gpg-agent.c:2282 agent/gpg-agent.c:2291
-#: scd/scdaemon.c:1144 dirmngr/dirmngr.c:1276
+#: scd/scdaemon.c:1146 dirmngr/dirmngr.c:1313
 #, fuzzy, c-format
 msgid "can't set permissions of '%s': %s\n"
 msgstr "AVISO: permissões pouco seguras em %s \"%s\"\n"
 
-#: agent/gpg-agent.c:2256 scd/scdaemon.c:1156 dirmngr/dirmngr.c:1288
+#: agent/gpg-agent.c:2256 scd/scdaemon.c:1158 dirmngr/dirmngr.c:1325
 #, fuzzy, c-format
 msgid "listening on socket '%s'\n"
 msgstr "a escrever chave privada para `%s'\n"
 
 #: agent/gpg-agent.c:2276 agent/gpg-agent.c:2329 common/homedir.c:517
-#: g10/exec.c:261 g10/openfile.c:397
+#: g10/exec.c:269 g10/openfile.c:397
 #, fuzzy, c-format
 msgid "can't create directory '%s': %s\n"
 msgstr "%s: impossível criar directoria: %s\n"
@@ -635,7 +633,7 @@ msgstr "base de dados de confiança: leitura falhou (n=%d): %s\n"
 msgid "can't use '%s' as home directory\n"
 msgstr "%s: impossível criar directoria: %s\n"
 
-#: agent/gpg-agent.c:2502 scd/scdaemon.c:1172 dirmngr/dirmngr.c:2047
+#: agent/gpg-agent.c:2502 scd/scdaemon.c:1174 dirmngr/dirmngr.c:2084
 #, fuzzy, c-format
 msgid "error reading nonce on fd %d: %s\n"
 msgstr "erro na leitura de `%s': %s\n"
@@ -660,12 +658,12 @@ msgstr ""
 msgid "ssh handler 0x%lx for fd %d terminated\n"
 msgstr ""
 
-#: agent/gpg-agent.c:3016 scd/scdaemon.c:1362 dirmngr/dirmngr.c:2261
+#: agent/gpg-agent.c:3016 scd/scdaemon.c:1366 dirmngr/dirmngr.c:2298
 #, fuzzy, c-format
 msgid "npth_pselect failed: %s - waiting 1s\n"
 msgstr "actualização da chave secreta falhou: %s\n"
 
-#: agent/gpg-agent.c:3104 scd/scdaemon.c:1427
+#: agent/gpg-agent.c:3104 scd/scdaemon.c:1431
 #, fuzzy, c-format
 msgid "%s %s stopped\n"
 msgstr "%s: ignorado: %s\n"
@@ -687,8 +685,8 @@ msgid ""
 "Password cache maintenance\n"
 msgstr ""
 
-#: agent/protect-tool.c:108 g10/gpg.c:440 kbx/kbxutil.c:71 sm/gpgsm.c:204
-#: dirmngr/dirmngr.c:163 tools/gpgconf.c:78
+#: agent/protect-tool.c:108 g10/gpg.c:437 kbx/kbxutil.c:71 sm/gpgsm.c:205
+#: dirmngr/dirmngr.c:164 tools/gpgconf.c:78
 msgid ""
 "@Commands:\n"
 " "
@@ -696,8 +694,8 @@ msgstr ""
 "@Comandos:\n"
 " "
 
-#: agent/protect-tool.c:117 g10/gpg.c:553 g10/gpgv.c:76 kbx/kbxutil.c:81
-#: sm/gpgsm.c:252 dirmngr/dirmngr.c:179 tools/gpg-connect-agent.c:76
+#: agent/protect-tool.c:117 g10/gpg.c:550 g10/gpgv.c:76 kbx/kbxutil.c:81
+#: sm/gpgsm.c:253 dirmngr/dirmngr.c:180 tools/gpg-connect-agent.c:76
 #: tools/gpgconf.c:105
 msgid ""
 "@\n"
@@ -719,12 +717,12 @@ msgid ""
 "Secret key maintenance tool\n"
 msgstr ""
 
-#: agent/protect-tool.c:703
+#: agent/protect-tool.c:703 sm/import.c:774
 #, fuzzy
 msgid "Please enter the passphrase to unprotect the PKCS#12 object."
 msgstr "Por favor digite a frase secreta \n"
 
-#: agent/protect-tool.c:708
+#: agent/protect-tool.c:708 sm/export.c:710
 #, fuzzy
 msgid "Please enter the passphrase to protect the new PKCS#12 object."
 msgstr "Por favor digite a frase secreta \n"
@@ -752,7 +750,7 @@ msgstr "cancelado pelo utilizador\n"
 msgid "error while asking for the passphrase: %s\n"
 msgstr "erro na criação da frase secreta: %s\n"
 
-#: agent/trustlist.c:154 agent/trustlist.c:364 dirmngr/dirmngr.c:1629
+#: agent/trustlist.c:154 agent/trustlist.c:364 dirmngr/dirmngr.c:1666
 #: tools/gpgconf.c:418
 #, fuzzy, c-format
 msgid "error opening '%s': %s\n"
@@ -908,7 +906,7 @@ msgstr "verificação da assinatura criada falhou: %s\n"
 msgid "secret key parts are not available\n"
 msgstr "partes da chave secreta não disponíveis\n"
 
-#: agent/cvt-openpgp.c:344 g10/card-util.c:1540
+#: agent/cvt-openpgp.c:344 g10/card-util.c:1541
 #, fuzzy, c-format
 #| msgid "protection algorithm %d%s is not supported\n"
 msgid "public key algorithm %d (%s) is not supported\n"
@@ -926,21 +924,21 @@ msgstr "algoritmo de protecção %d%s não é suportado\n"
 msgid "protection hash algorithm %d (%s) is not supported\n"
 msgstr "algoritmo de protecção %d%s não é suportado\n"
 
-#: common/exechelp-posix.c:359 common/exechelp-w32.c:449
-#: common/exechelp-w32.c:473 common/exechelp-w32.c:503
+#: common/exechelp-posix.c:359 common/exechelp-w32.c:451
+#: common/exechelp-w32.c:475 common/exechelp-w32.c:505
 #, fuzzy, c-format
 msgid "error creating a pipe: %s\n"
 msgstr "erro na criação da frase secreta: %s\n"
 
 #: common/exechelp-posix.c:372 common/exechelp-w32.c:355
-#: common/exechelp-w32.c:459 common/exechelp-w32.c:483
-#: common/exechelp-w32.c:513
+#: common/exechelp-w32.c:461 common/exechelp-w32.c:485
+#: common/exechelp-w32.c:515
 #, fuzzy, c-format
 msgid "error creating a stream for a pipe: %s\n"
 msgstr "erro na criação da frase secreta: %s\n"
 
 #: common/exechelp-posix.c:495 common/exechelp-posix.c:570
-#: common/exechelp-posix.c:851 dirmngr/dirmngr.c:1306
+#: common/exechelp-posix.c:856 dirmngr/dirmngr.c:1343
 #, fuzzy, c-format
 msgid "error forking process: %s\n"
 msgstr "erro na leitura de `%s': %s\n"
@@ -950,28 +948,28 @@ msgstr "erro na leitura de `%s': %s\n"
 msgid "waiting for process %d to terminate failed: %s\n"
 msgstr ""
 
-#: common/exechelp-posix.c:678 common/exechelp-posix.c:794
+#: common/exechelp-posix.c:678 common/exechelp-posix.c:799
 #, fuzzy, c-format
 msgid "error running '%s': probably not installed\n"
 msgstr "erro na leitura de `%s': %s\n"
 
-#: common/exechelp-posix.c:684 common/exechelp-posix.c:801
-#: common/exechelp-w32.c:796 common/exechelp-w32ce.c:781
+#: common/exechelp-posix.c:684 common/exechelp-posix.c:806
+#: common/exechelp-w32.c:829 common/exechelp-w32ce.c:781
 #, fuzzy, c-format
 msgid "error running '%s': exit status %d\n"
 msgstr "erro na leitura de `%s': %s\n"
 
-#: common/exechelp-posix.c:692 common/exechelp-posix.c:809
+#: common/exechelp-posix.c:692 common/exechelp-posix.c:814
 #, fuzzy, c-format
 msgid "error running '%s': terminated\n"
 msgstr "erro na leitura de `%s': %s\n"
 
-#: common/exechelp-posix.c:750 common/exechelp-w32.c:777
+#: common/exechelp-posix.c:755 common/exechelp-w32.c:810
 #, fuzzy, c-format
 msgid "waiting for processes to terminate failed: %s\n"
 msgstr "actualização falhou: %s\n"
 
-#: common/exechelp-w32.c:789 common/exechelp-w32ce.c:775
+#: common/exechelp-w32.c:822 common/exechelp-w32ce.c:775
 #, fuzzy, c-format
 msgid "error getting exit code of process %d: %s\n"
 msgstr "erro ao escrever no porta-chaves secreto `%s': %s\n"
@@ -1069,7 +1067,7 @@ msgstr ""
 msgid "out of core while allocating %lu bytes"
 msgstr ""
 
-#: common/miscellaneous.c:115 g10/card-util.c:896 tools/no-libgcrypt.c:30
+#: common/miscellaneous.c:115 g10/card-util.c:897 tools/no-libgcrypt.c:30
 #, fuzzy, c-format
 msgid "error allocating enough memory: %s\n"
 msgstr "erro ao criar porta-chaves `%s': %s\n"
@@ -1192,7 +1190,7 @@ msgid "algorithm: %s"
 msgstr "armadura: %s\n"
 
 #: common/audit.c:774 common/audit.c:776 common/audit.c:921 common/audit.c:923
-#: scd/app-openpgp.c:3555
+#: scd/app-openpgp.c:3554
 #, fuzzy, c-format
 msgid "unsupported algorithm: %s"
 msgstr ""
@@ -1333,6 +1331,26 @@ msgstr "versão desconhecida"
 msgid "invalid radix64 character %02x skipped\n"
 msgstr "caracter radix64 inválido %02x ignorado\n"
 
+#: common/ttyio.c:433
+#, c-format
+msgid "Sorry, we are in batchmode - can't get input\n"
+msgstr ""
+
+#: common/ttyio.c:439
+#, c-format
+msgid "Sorry, no terminal at all requested - can't get input\n"
+msgstr ""
+
+#: common/ttyio.c:474 common/ttyio.c:484
+#, c-format
+msgid "too many errors; giving up\n"
+msgstr ""
+
+#: common/ttyio.c:536
+#, c-format
+msgid "Control-D detected\n"
+msgstr ""
+
 #: common/argparse.c:520
 #, fuzzy
 msgid "argument not expected"
@@ -1404,7 +1422,7 @@ msgstr "opções de importação inválidas\n"
 msgid "missing argument for option \"%.50s\"\n"
 msgstr ""
 
-#: common/argparse.c:558 g10/gpg.c:3490
+#: common/argparse.c:558 g10/gpg.c:3510
 #, fuzzy, c-format
 msgid "invalid argument for option \"%.50s\"\n"
 msgstr "opções de importação inválidas\n"
@@ -1476,31 +1494,31 @@ msgstr "%s: impossível criar directoria: %s\n"
 msgid "error writing to '%s': %s\n"
 msgstr "erro na escrita do porta-chaves `%s': %s\n"
 
-#: common/dotlock.c:1129
+#: common/dotlock.c:1137
 #, c-format
 msgid "removing stale lockfile (created by %d)\n"
 msgstr ""
 
-#: common/dotlock.c:1165
+#: common/dotlock.c:1173
 #, fuzzy, c-format
 msgid "waiting for lock (held by %d%s) %s...\n"
 msgstr "a escrever chave privada para `%s'\n"
 
-#: common/dotlock.c:1166
+#: common/dotlock.c:1174
 msgid "(deadlock?) "
 msgstr ""
 
-#: common/dotlock.c:1205
+#: common/dotlock.c:1213
 #, fuzzy, c-format
 msgid "lock '%s' not made: %s\n"
 msgstr "chave pública %08lX não encontrada: %s\n"
 
-#: common/dotlock.c:1232
+#: common/dotlock.c:1240
 #, fuzzy, c-format
 msgid "waiting for lock %s...\n"
 msgstr "a escrever chave privada para `%s'\n"
 
-#: common/init.c:185 sm/gpgsm.c:949 dirmngr/dirmngr.c:862 dirmngr/dirmngr.c:871
+#: common/init.c:191 sm/gpgsm.c:863 dirmngr/dirmngr.c:900 dirmngr/dirmngr.c:909
 #, c-format
 msgid "%s is too old (need %s, have %s)\n"
 msgstr ""
@@ -1691,12 +1709,12 @@ msgid "Note: Use the command \"%s\" to restart them.\n"
 msgstr "Por favor utilize o comando \"toggle\" primeiro.\n"
 
 #: g10/call-agent.c:318 g10/encrypt.c:154 g10/encrypt.c:620 g10/sign.c:412
-#: sm/call-agent.c:205 sm/encrypt.c:425 sm/sign.c:345
+#: sm/call-agent.c:205 sm/encrypt.c:426 sm/sign.c:345
 #, fuzzy, c-format
 msgid "%s is not compliant with %s mode\n"
 msgstr "%s não faz sentido com %s!\n"
 
-#: g10/call-dirmngr.c:209 sm/call-dirmngr.c:268 tools/gpg-connect-agent.c:2253
+#: g10/call-dirmngr.c:209 sm/call-dirmngr.c:269 tools/gpg-connect-agent.c:2253
 #, fuzzy, c-format
 msgid "no dirmngr running in this session\n"
 msgstr "o gpg-agent não está disponível nesta sessão\n"
@@ -1739,23 +1757,23 @@ msgstr ""
 msgid "server uses an invalid certificate"
 msgstr "gerar um certificado de revogação"
 
-#: g10/call-dirmngr.c:437 g10/gpg.c:4400
+#: g10/call-dirmngr.c:437 g10/gpg.c:4421
 #, fuzzy, c-format
 #| msgid "armor: %s\n"
 msgid "Note: %s\n"
 msgstr "armadura: %s\n"
 
-#: g10/card-util.c:86 g10/card-util.c:366 g10/card-util.c:1902
+#: g10/card-util.c:86 g10/card-util.c:366 g10/card-util.c:1903
 #, fuzzy, c-format
 msgid "OpenPGP card not available: %s\n"
 msgstr "chave secreta não disponível"
 
-#: g10/card-util.c:91 g10/card-util.c:1908
+#: g10/card-util.c:91 g10/card-util.c:1909
 #, c-format
 msgid "OpenPGP card no. %s detected\n"
 msgstr ""
 
-#: g10/card-util.c:97 g10/card-util.c:2237 g10/delkey.c:160 g10/keyedit.c:1422
+#: g10/card-util.c:97 g10/card-util.c:2238 g10/delkey.c:160 g10/keyedit.c:1423
 #: g10/keygen.c:4466 g10/revoke.c:214 g10/revoke.c:636
 #, fuzzy, c-format
 msgid "can't do this in batch mode\n"
@@ -1766,13 +1784,13 @@ msgstr "impossível fazer isso em modo não-interativo\n"
 msgid "This command is only available for version 2 cards\n"
 msgstr "Este comando não é permitido no modo %s.\n"
 
-#: g10/card-util.c:107 scd/app-openpgp.c:2864
+#: g10/card-util.c:107 scd/app-openpgp.c:2863
 #, fuzzy, c-format
 msgid "Reset Code not or not anymore available\n"
 msgstr "partes da chave secreta não disponíveis\n"
 
-#: g10/card-util.c:140 g10/card-util.c:1426 g10/card-util.c:1688
-#: g10/card-util.c:1780 g10/keyedit.c:394 g10/keyedit.c:415 g10/keyedit.c:429
+#: g10/card-util.c:140 g10/card-util.c:1427 g10/card-util.c:1689
+#: g10/card-util.c:1781 g10/keyedit.c:394 g10/keyedit.c:415 g10/keyedit.c:429
 #: g10/keygen.c:1808 g10/keygen.c:1980 g10/keygen.c:2186 g10/keygen.c:2477
 #: sm/certreqgen-ui.c:165 sm/certreqgen-ui.c:291 sm/certreqgen-ui.c:325
 msgid "Your selection? "
@@ -1799,213 +1817,213 @@ msgstr "não processado"
 msgid "forced"
 msgstr ""
 
-#: g10/card-util.c:749
+#: g10/card-util.c:750
 msgid "Error: Only plain ASCII is currently allowed.\n"
 msgstr ""
 
-#: g10/card-util.c:751
+#: g10/card-util.c:752
 msgid "Error: The \"<\" character may not be used.\n"
 msgstr ""
 
-#: g10/card-util.c:753
+#: g10/card-util.c:754
 msgid "Error: Double spaces are not allowed.\n"
 msgstr ""
 
-#: g10/card-util.c:770
+#: g10/card-util.c:771
 msgid "Cardholder's surname: "
 msgstr ""
 
-#: g10/card-util.c:772
+#: g10/card-util.c:773
 msgid "Cardholder's given name: "
 msgstr ""
 
-#: g10/card-util.c:790
+#: g10/card-util.c:791
 #, c-format
 msgid "Error: Combined name too long (limit is %d characters).\n"
 msgstr ""
 
-#: g10/card-util.c:811
+#: g10/card-util.c:812
 #, fuzzy
 msgid "URL to retrieve public key: "
 msgstr "a escrever chave pública para `%s'\n"
 
-#: g10/card-util.c:905 g10/decrypt-data.c:490 g10/import.c:387 g10/import.c:734
-#: g10/import.c:786 dirmngr/crlcache.c:655 dirmngr/crlcache.c:660
-#: dirmngr/crlcache.c:914 dirmngr/crlcache.c:920 dirmngr/dirmngr.c:1668
+#: g10/card-util.c:906 g10/decrypt-data.c:490 g10/import.c:399 g10/import.c:746
+#: g10/import.c:798 dirmngr/crlcache.c:655 dirmngr/crlcache.c:660
+#: dirmngr/crlcache.c:914 dirmngr/crlcache.c:920 dirmngr/dirmngr.c:1705
 #: tools/gpgconf.c:431 tools/gpgconf.c:477
 #, fuzzy, c-format
 #| msgid "error reading `%s': %s\n"
 msgid "error reading '%s': %s\n"
 msgstr "erro na leitura de `%s': %s\n"
 
-#: g10/card-util.c:938 g10/decrypt-data.c:493 g10/export.c:2467
+#: g10/card-util.c:939 g10/decrypt-data.c:493 g10/export.c:2467
 #: dirmngr/crlcache.c:925
 #, fuzzy, c-format
 msgid "error writing '%s': %s\n"
 msgstr "erro na escrita do porta-chaves `%s': %s\n"
 
-#: g10/card-util.c:965
+#: g10/card-util.c:966
 msgid "Login data (account name): "
 msgstr ""
 
-#: g10/card-util.c:1003
+#: g10/card-util.c:1004
 msgid "Private DO data: "
 msgstr ""
 
-#: g10/card-util.c:1088
+#: g10/card-util.c:1089
 #, fuzzy
 msgid "Language preferences: "
 msgstr "preferências actualizadas"
 
-#: g10/card-util.c:1096
+#: g10/card-util.c:1097
 #, fuzzy
 msgid "Error: invalid length of preference string.\n"
 msgstr "caracter inválido na cadeia de caractéres da preferência\n"
 
-#: g10/card-util.c:1105
+#: g10/card-util.c:1106
 #, fuzzy
 msgid "Error: invalid characters in preference string.\n"
 msgstr "caracter inválido na cadeia de caractéres da preferência\n"
 
-#: g10/card-util.c:1127
+#: g10/card-util.c:1128
 msgid "Salutation (M = Mr., F = Ms., or space): "
 msgstr ""
 
-#: g10/card-util.c:1141
+#: g10/card-util.c:1142
 #, fuzzy
 msgid "Error: invalid response.\n"
 msgstr "%s: versão de ficheiro inválida %d\n"
 
-#: g10/card-util.c:1163
+#: g10/card-util.c:1164
 #, fuzzy
 msgid "CA fingerprint: "
 msgstr "mostra impressão digital"
 
-#: g10/card-util.c:1186
+#: g10/card-util.c:1187
 #, fuzzy
 msgid "Error: invalid formatted fingerprint.\n"
 msgstr "%s: versão de ficheiro inválida %d\n"
 
-#: g10/card-util.c:1236
+#: g10/card-util.c:1237
 #, fuzzy, c-format
 msgid "key operation not possible: %s\n"
 msgstr "A geração de chaves falhou: %s\n"
 
-#: g10/card-util.c:1237
+#: g10/card-util.c:1238
 #, fuzzy
 msgid "not an OpenPGP card"
 msgstr "nenhum dado OpenPGP válido encontrado.\n"
 
-#: g10/card-util.c:1250 g10/keygen.c:4486 g10/keygen.c:5565
+#: g10/card-util.c:1251 g10/keygen.c:4486 g10/keygen.c:5565
 #, fuzzy, c-format
 msgid "error getting current key info: %s\n"
 msgstr "erro ao escrever no porta-chaves secreto `%s': %s\n"
 
-#: g10/card-util.c:1335
+#: g10/card-util.c:1336
 msgid "Replace existing key? (y/N) "
 msgstr ""
 
-#: g10/card-util.c:1352
+#: g10/card-util.c:1353
 msgid ""
 "Note: There is no guarantee that the card supports the requested size.\n"
 "      If the key generation does not succeed, please check the\n"
 "      documentation of your card to see what sizes are allowed.\n"
 msgstr ""
 
-#: g10/card-util.c:1374 g10/keygen.c:2363 sm/certreqgen-ui.c:179
+#: g10/card-util.c:1375 g10/keygen.c:2363 sm/certreqgen-ui.c:179
 #, fuzzy, c-format
 msgid "What keysize do you want? (%u) "
 msgstr "Qual o tamanho de chave desejado? (1024) "
 
-#: g10/card-util.c:1384 g10/keygen.c:2286 g10/keygen.c:2318
+#: g10/card-util.c:1385 g10/keygen.c:2286 g10/keygen.c:2318
 #: sm/certreqgen-ui.c:194
 #, c-format
 msgid "rounded up to %u bits\n"
 msgstr "arredondado para %u bits\n"
 
-#: g10/card-util.c:1392 g10/keygen.c:2371 sm/certreqgen-ui.c:184
+#: g10/card-util.c:1393 g10/keygen.c:2371 sm/certreqgen-ui.c:184
 #, c-format
 msgid "%s keysizes must be in the range %u-%u\n"
 msgstr ""
 
-#: g10/card-util.c:1411
+#: g10/card-util.c:1412
 msgid "Changing card key attribute for: "
 msgstr ""
 
-#: g10/card-util.c:1413
+#: g10/card-util.c:1414
 #, fuzzy
 msgid "Signature key\n"
 msgstr "Esta assinatura expirou em %s.\n"
 
-#: g10/card-util.c:1415
+#: g10/card-util.c:1416
 #, fuzzy
 msgid "Encryption key\n"
 msgstr "   (%d) RSA (apenas cifragem)\n"
 
-#: g10/card-util.c:1417
+#: g10/card-util.c:1418
 msgid "Authentication key\n"
 msgstr ""
 
-#: g10/card-util.c:1419 g10/keygen.c:1926 sm/certreqgen-ui.c:157
+#: g10/card-util.c:1420 g10/keygen.c:1926 sm/certreqgen-ui.c:157
 msgid "Please select what kind of key you want:\n"
 msgstr "Por favor selecione o tipo de chave desejado:\n"
 
-#: g10/card-util.c:1420 sm/certreqgen-ui.c:158
+#: g10/card-util.c:1421 sm/certreqgen-ui.c:158
 #, fuzzy, c-format
 msgid "   (%d) RSA\n"
 msgstr "   (%d) RSA (apenas assinatura)\n"
 
-#: g10/card-util.c:1421
+#: g10/card-util.c:1422
 #, fuzzy, c-format
 msgid "   (%d) ECC\n"
 msgstr "   (%d) DSA e ElGamal (por omissão)\n"
 
-#: g10/card-util.c:1433 g10/card-util.c:1700 g10/card-util.c:1800
-#: g10/keyedit.c:899 g10/keygen.c:1834 g10/keygen.c:1862 g10/keygen.c:1987
+#: g10/card-util.c:1434 g10/card-util.c:1701 g10/card-util.c:1801
+#: g10/keyedit.c:900 g10/keygen.c:1834 g10/keygen.c:1862 g10/keygen.c:1987
 #: g10/keygen.c:2222 g10/keygen.c:2505 g10/revoke.c:838
 msgid "Invalid selection.\n"
 msgstr "Opção inválida.\n"
 
-#: g10/card-util.c:1506
+#: g10/card-util.c:1507
 #, c-format
 msgid "The card will now be re-configured to generate a key of %u bits\n"
 msgstr ""
 
-#: g10/card-util.c:1511
+#: g10/card-util.c:1512
 #, c-format
 msgid "The card will now be re-configured to generate a key of type: %s\n"
 msgstr ""
 
-#: g10/card-util.c:1547
+#: g10/card-util.c:1548
 #, fuzzy, c-format
 msgid "error changing key attribute for key %d: %s\n"
 msgstr "erro ao enviar para `%s': %s\n"
 
-#: g10/card-util.c:1563 g10/card-util.c:2090
+#: g10/card-util.c:1564 g10/card-util.c:2091
 #, fuzzy, c-format
 msgid "error getting card info: %s\n"
 msgstr "erro ao escrever no porta-chaves secreto `%s': %s\n"
 
-#: g10/card-util.c:1569 g10/card-util.c:1914 g10/card-util.c:2096
+#: g10/card-util.c:1570 g10/card-util.c:1915 g10/card-util.c:2097
 #, fuzzy, c-format
 #| msgid "This command is not allowed while in %s mode.\n"
 msgid "This command is not supported by this card\n"
 msgstr "Este comando não é permitido no modo %s.\n"
 
-#: g10/card-util.c:1615
+#: g10/card-util.c:1616
 msgid "Make off-card backup of encryption key? (Y/n) "
 msgstr ""
 
-#: g10/card-util.c:1629
+#: g10/card-util.c:1630
 #, fuzzy, c-format
 msgid "Note: keys are already stored on the card!\n"
 msgstr "ignorado: a chave secreta já está presente\n"
 
-#: g10/card-util.c:1632
+#: g10/card-util.c:1633
 msgid "Replace existing keys? (y/N) "
 msgstr ""
 
-#: g10/card-util.c:1644
+#: g10/card-util.c:1645
 #, c-format
 msgid ""
 "Please note that the factory settings of the PINs are\n"
@@ -2013,160 +2031,160 @@ msgid ""
 "You should change them using the command --change-pin\n"
 msgstr ""
 
-#: g10/card-util.c:1679
+#: g10/card-util.c:1680
 #, fuzzy
 msgid "Please select the type of key to generate:\n"
 msgstr "Por favor selecione o tipo de chave desejado:\n"
 
-#: g10/card-util.c:1681 g10/card-util.c:1771
+#: g10/card-util.c:1682 g10/card-util.c:1772
 #, fuzzy
 msgid "   (1) Signature key\n"
 msgstr "Esta assinatura expirou em %s.\n"
 
-#: g10/card-util.c:1682 g10/card-util.c:1773
+#: g10/card-util.c:1683 g10/card-util.c:1774
 #, fuzzy
 msgid "   (2) Encryption key\n"
 msgstr "   (%d) RSA (apenas cifragem)\n"
 
-#: g10/card-util.c:1683 g10/card-util.c:1775
+#: g10/card-util.c:1684 g10/card-util.c:1776
 msgid "   (3) Authentication key\n"
 msgstr ""
 
-#: g10/card-util.c:1768
+#: g10/card-util.c:1769
 #, fuzzy
 msgid "Please select where to store the key:\n"
 msgstr "motivo da revocação: "
 
-#: g10/card-util.c:1814
+#: g10/card-util.c:1815
 #, fuzzy, c-format
 msgid "KEYTOCARD failed: %s\n"
 msgstr "actualização falhou: %s\n"
 
-#: g10/card-util.c:1919
+#: g10/card-util.c:1920
 #, fuzzy, c-format
 msgid "Note: This command destroys all keys stored on the card!\n"
 msgstr "ignorado: a chave secreta já está presente\n"
 
-#: g10/card-util.c:1922
+#: g10/card-util.c:1923
 #, fuzzy
 msgid "Continue? (y/N) "
 msgstr "Realmente assinar? "
 
-#: g10/card-util.c:1927
+#: g10/card-util.c:1928
 msgid "Really do a factory reset? (enter \"yes\") "
 msgstr ""
 
-#: g10/card-util.c:2113
+#: g10/card-util.c:2114
 #, fuzzy, c-format
 msgid "error for setup KDF: %s\n"
 msgstr "erro na leitura de `%s': %s\n"
 
-#: g10/card-util.c:2142 g10/keyedit.c:1259
+#: g10/card-util.c:2143 g10/keyedit.c:1260
 msgid "quit this menu"
 msgstr "sair deste menu"
 
-#: g10/card-util.c:2144
+#: g10/card-util.c:2145
 #, fuzzy
 msgid "show admin commands"
 msgstr "comandos em conflito\n"
 
-#: g10/card-util.c:2145 g10/keyedit.c:1262
+#: g10/card-util.c:2146 g10/keyedit.c:1263
 msgid "show this help"
 msgstr "mostra esta ajuda"
 
-#: g10/card-util.c:2147
+#: g10/card-util.c:2148
 #, fuzzy
 msgid "list all available data"
 msgstr "Nenhuma ajuda disponível"
 
-#: g10/card-util.c:2150
+#: g10/card-util.c:2151
 msgid "change card holder's name"
 msgstr ""
 
-#: g10/card-util.c:2151
+#: g10/card-util.c:2152
 msgid "change URL to retrieve key"
 msgstr ""
 
-#: g10/card-util.c:2152
+#: g10/card-util.c:2153
 msgid "fetch the key specified in the card URL"
 msgstr ""
 
-#: g10/card-util.c:2153
+#: g10/card-util.c:2154
 #, fuzzy
 msgid "change the login name"
 msgstr "muda a data de validade"
 
-#: g10/card-util.c:2154
+#: g10/card-util.c:2155
 #, fuzzy
 msgid "change the language preferences"
 msgstr "muda os valores de confiança"
 
-#: g10/card-util.c:2155
+#: g10/card-util.c:2156
 msgid "change card holder's salutation"
 msgstr ""
 
-#: g10/card-util.c:2157
+#: g10/card-util.c:2158
 #, fuzzy
 msgid "change a CA fingerprint"
 msgstr "mostra impressão digital"
 
-#: g10/card-util.c:2158
+#: g10/card-util.c:2159
 msgid "toggle the signature force PIN flag"
 msgstr ""
 
-#: g10/card-util.c:2159
+#: g10/card-util.c:2160
 #, fuzzy
 msgid "generate new keys"
 msgstr "gerar um novo par de chaves"
 
-#: g10/card-util.c:2160
+#: g10/card-util.c:2161
 msgid "menu to change or unblock the PIN"
 msgstr ""
 
-#: g10/card-util.c:2161
+#: g10/card-util.c:2162
 msgid "verify the PIN and list all data"
 msgstr ""
 
-#: g10/card-util.c:2162
+#: g10/card-util.c:2163
 msgid "unblock the PIN using a Reset Code"
 msgstr ""
 
-#: g10/card-util.c:2163
+#: g10/card-util.c:2164
 msgid "destroy all keys and data"
 msgstr ""
 
-#: g10/card-util.c:2164
+#: g10/card-util.c:2165
 #, fuzzy
 #| msgid "|NAME|use NAME as default recipient"
 msgid "setup KDF for PIN authentication"
 msgstr "|NOME|usar NOME como destinatário por omissão"
 
-#: g10/card-util.c:2165
+#: g10/card-util.c:2166
 #, fuzzy
 #| msgid "change the ownertrust"
 msgid "change the key attribute"
 msgstr "muda os valores de confiança"
 
-#: g10/card-util.c:2289
+#: g10/card-util.c:2290
 msgid "gpg/card> "
 msgstr ""
 
-#: g10/card-util.c:2330
+#: g10/card-util.c:2331
 #, fuzzy
 msgid "Admin-only command\n"
 msgstr "comandos em conflito\n"
 
-#: g10/card-util.c:2361
+#: g10/card-util.c:2362
 #, fuzzy
 msgid "Admin commands are allowed\n"
 msgstr "comandos em conflito\n"
 
-#: g10/card-util.c:2363
+#: g10/card-util.c:2364
 #, fuzzy
 msgid "Admin commands are not allowed\n"
 msgstr "a escrever chave privada para `%s'\n"
 
-#: g10/card-util.c:2466 g10/keyedit.c:2228
+#: g10/card-util.c:2467 g10/keyedit.c:2229
 msgid "Invalid command  (try \"help\")\n"
 msgstr "Comando inválido (tente \"help\")\n"
 
@@ -2175,22 +2193,22 @@ msgstr "Comando inválido (tente \"help\")\n"
 msgid "--output doesn't work for this command\n"
 msgstr "--output não funciona para este comando\n"
 
-#: g10/decrypt.c:247 g10/gpg.c:5083 g10/keyring.c:399 g10/keyring.c:750
+#: g10/decrypt.c:247 g10/gpg.c:5104 g10/keyring.c:399 g10/keyring.c:750
 #, fuzzy, c-format
 #| msgid "can't open `%s'\n"
 msgid "can't open '%s'\n"
 msgstr "impossível abrir `%s'\n"
 
 #: g10/delkey.c:83 g10/export.c:1947 g10/export.c:2230 g10/export.c:2351
-#: g10/getkey.c:1964 g10/gpg.c:5028 g10/keyedit.c:1444 g10/keyedit.c:2334
-#: g10/keyedit.c:2580 g10/keyedit.c:4543 g10/keylist.c:689 g10/keyserver.c:1259
+#: g10/getkey.c:2108 g10/gpg.c:5049 g10/keyedit.c:1445 g10/keyedit.c:2335
+#: g10/keyedit.c:2581 g10/keyedit.c:4544 g10/keylist.c:689 g10/keyserver.c:1092
 #: g10/revoke.c:230 g10/tofu.c:2165
 #, fuzzy, c-format
 msgid "key \"%s\" not found: %s\n"
 msgstr "chave `%s' não encontrada: %s\n"
 
-#: g10/delkey.c:92 g10/export.c:2015 g10/getkey.c:1972 g10/getkey.c:4346
-#: g10/gpg.c:5037 g10/keyedit.c:2307 g10/keyserver.c:1277 g10/revoke.c:236
+#: g10/delkey.c:92 g10/export.c:2015 g10/getkey.c:2116 g10/getkey.c:4517
+#: g10/gpg.c:5058 g10/keyedit.c:2308 g10/keyserver.c:1110 g10/revoke.c:236
 #: g10/revoke.c:663 g10/tofu.c:2173
 #, c-format
 msgid "error reading keyblock: %s\n"
@@ -2252,9 +2270,9 @@ msgstr "key"
 msgid "subkey"
 msgstr "Chave pública: "
 
-#: g10/delkey.c:299 g10/keyedit.c:2200 g10/keyedit.c:2210 g10/keyedit.c:2387
-#: g10/keyedit.c:2461 g10/keyedit.c:2532 g10/keyedit.c:2757 g10/keyedit.c:2987
-#: g10/keyedit.c:3056 g10/keyedit.c:3207
+#: g10/delkey.c:299 g10/keyedit.c:2201 g10/keyedit.c:2211 g10/keyedit.c:2388
+#: g10/keyedit.c:2462 g10/keyedit.c:2533 g10/keyedit.c:2758 g10/keyedit.c:2988
+#: g10/keyedit.c:3057 g10/keyedit.c:3208
 #, c-format
 msgid "update failed: %s\n"
 msgstr "actualização falhou: %s\n"
@@ -2279,7 +2297,7 @@ msgstr "há uma chave secreta para a chave pública \"%s\"!\n"
 msgid "use option \"--delete-secret-keys\" to delete it first.\n"
 msgstr "utilize a opção \"--delete-secret-keys\" para a apagar primeiro.\n"
 
-#: g10/encrypt.c:202 g10/sign.c:1471
+#: g10/encrypt.c:202 g10/sign.c:1470
 #, c-format
 msgid "error creating passphrase: %s\n"
 msgstr "erro na criação da frase secreta: %s\n"
@@ -2306,14 +2324,14 @@ msgstr "%s' já comprimido\n"
 msgid "WARNING: '%s' is an empty file\n"
 msgstr "AVISO: `%s' é um ficheiro vazio\n"
 
-#: g10/encrypt.c:387 g10/encrypt.c:610 g10/decrypt-data.c:260 g10/gpg.c:3901
-#: g10/gpg.c:3941 sm/decrypt.c:364 sm/encrypt.c:415 sm/gpgsm.c:1655
+#: g10/encrypt.c:387 g10/encrypt.c:610 g10/decrypt-data.c:260 g10/gpg.c:3922
+#: g10/gpg.c:3962 sm/decrypt.c:826 sm/encrypt.c:416 sm/gpgsm.c:1555
 #, fuzzy, c-format
 msgid "cipher algorithm '%s' may not be used in %s mode\n"
 msgstr "não pode utilizar %s enquanto estiver no modo %s\n"
 
-#: g10/encrypt.c:396 g10/gpg.c:3907 g10/gpg.c:3953 g10/sig-check.c:146
-#: g10/sign.c:391 sm/gpgsm.c:1665 sm/gpgsm.c:1675 sm/sign.c:478 sm/verify.c:506
+#: g10/encrypt.c:396 g10/gpg.c:3928 g10/gpg.c:3974 g10/sig-check.c:146
+#: g10/sign.c:391 sm/gpgsm.c:1565 sm/gpgsm.c:1575 sm/sign.c:478 sm/verify.c:506
 #, fuzzy, c-format
 msgid "digest algorithm '%s' may not be used in %s mode\n"
 msgstr "não pode utilizar %s enquanto estiver no modo %s\n"
@@ -2331,12 +2349,12 @@ msgid ""
 msgstr ""
 "ao forçar a cifra simétrica %s (%d) viola as preferências do destinatário\n"
 
-#: g10/encrypt.c:640 sm/encrypt.c:490
+#: g10/encrypt.c:640 sm/encrypt.c:491
 #, fuzzy, c-format
 msgid "WARNING: key %s is not suitable for encryption in %s mode\n"
 msgstr "AVISO: \"%s\" é uma opção depreciada\n"
 
-#: g10/encrypt.c:751 g10/sign.c:1163
+#: g10/encrypt.c:751 g10/sign.c:1162
 #, fuzzy, c-format
 msgid ""
 "WARNING: forcing compression algorithm %s (%d) violates recipient "
@@ -2367,12 +2385,12 @@ msgstr "não pode utilizar %s enquanto estiver no modo %s\n"
 msgid "%s encrypted data\n"
 msgstr "dados cifrados com %s\n"
 
-#: g10/decrypt-data.c:243 g10/mainproc.c:396
+#: g10/decrypt-data.c:243 g10/mainproc.c:397
 #, c-format
 msgid "encrypted with unknown algorithm %d\n"
 msgstr "cifrado com algoritmo desconhecido %d\n"
 
-#: g10/decrypt-data.c:357 g10/decrypt-data.c:410 sm/decrypt.c:130
+#: g10/decrypt-data.c:357 g10/decrypt-data.c:410 sm/decrypt.c:550
 #, c-format
 msgid ""
 "WARNING: message was encrypted with a weak key in the symmetric cipher.\n"
@@ -2389,53 +2407,53 @@ msgstr "problema ao tratar pacote cifrado\n"
 msgid "no remote program execution supported\n"
 msgstr ""
 
-#: g10/exec.c:381
+#: g10/exec.c:389
 #, c-format
 msgid ""
 "external program calls are disabled due to unsafe options file permissions\n"
 msgstr ""
 
-#: g10/exec.c:411
+#: g10/exec.c:419
 #, fuzzy, c-format
 msgid "this platform requires temporary files when calling external programs\n"
 msgstr "%s: erro ao ler registo de versão: %s\n"
 
-#: g10/exec.c:489
+#: g10/exec.c:497
 #, fuzzy, c-format
 msgid "unable to execute program '%s': %s\n"
 msgstr "não foi possível alterar o exec-path para %s\n"
 
-#: g10/exec.c:492
+#: g10/exec.c:500
 #, fuzzy, c-format
 msgid "unable to execute shell '%s': %s\n"
 msgstr "não foi possível alterar o exec-path para %s\n"
 
-#: g10/exec.c:583
+#: g10/exec.c:591
 #, fuzzy, c-format
 msgid "system error while calling external program: %s\n"
 msgstr "%s: erro ao ler registo de versão: %s\n"
 
-#: g10/exec.c:594 g10/exec.c:661
+#: g10/exec.c:602 g10/exec.c:669
 #, c-format
 msgid "unnatural exit of external program\n"
 msgstr ""
 
-#: g10/exec.c:609
+#: g10/exec.c:617
 #, fuzzy, c-format
 msgid "unable to execute external program\n"
 msgstr "não foi possível alterar o exec-path para %s\n"
 
-#: g10/exec.c:626
+#: g10/exec.c:634
 #, fuzzy, c-format
 msgid "unable to read external program response: %s\n"
 msgstr "não foi possível alterar o exec-path para %s\n"
 
-#: g10/exec.c:672 g10/exec.c:679
+#: g10/exec.c:680 g10/exec.c:687
 #, fuzzy, c-format
 msgid "WARNING: unable to remove tempfile (%s) '%s': %s\n"
 msgstr "AVISO: dono pouco seguro em %s \"%s\"\n"
 
-#: g10/exec.c:684
+#: g10/exec.c:692
 #, fuzzy, c-format
 msgid "WARNING: unable to remove temp directory '%s': %s\n"
 msgstr "AVISO: dono pouco seguro em %s \"%s\"\n"
@@ -2474,8 +2492,8 @@ msgstr ""
 msgid " - skipped"
 msgstr "%s: ignorado: %s\n"
 
-#: g10/export.c:1324 g10/import.c:2073 g10/openfile.c:200 g10/openfile.c:294
-#: g10/sign.c:1013 g10/sign.c:1327
+#: g10/export.c:1324 g10/import.c:2085 g10/openfile.c:200 g10/openfile.c:294
+#: g10/sign.c:1012 g10/sign.c:1326
 #, fuzzy, c-format
 #| msgid "writing to `%s'\n"
 msgid "writing to '%s'\n"
@@ -2513,296 +2531,296 @@ msgstr "erro ao criar `%s': %s\n"
 msgid "[User ID not found]"
 msgstr "[Utilizador não encontrado]"
 
-#: g10/getkey.c:1297
+#: g10/getkey.c:1441
 #, fuzzy, c-format
 msgid "automatically retrieved '%s' via %s\n"
 msgstr "erro ao criar `%s': %s\n"
 
-#: g10/getkey.c:1303
+#: g10/getkey.c:1447
 #, fuzzy, c-format
 msgid "error retrieving '%s' via %s: %s\n"
 msgstr "erro ao criar `%s': %s\n"
 
-#: g10/getkey.c:1305
+#: g10/getkey.c:1449
 #, fuzzy
 msgid "No fingerprint"
 msgstr "mostra impressão digital"
 
-#: g10/getkey.c:1526
+#: g10/getkey.c:1670
 #, c-format
 msgid "checking for a fresh copy of an expired key via %s\n"
 msgstr ""
 
-#: g10/getkey.c:1941 g10/revoke.c:655 g10/revoke.c:720
+#: g10/getkey.c:2085 g10/revoke.c:655 g10/revoke.c:720
 #, fuzzy, c-format
 msgid "secret key \"%s\" not found: %s\n"
 msgstr "chave `%s' não encontrada: %s\n"
 
-#: g10/getkey.c:1944 g10/pkclist.c:988
+#: g10/getkey.c:2088 g10/pkclist.c:988
 #, fuzzy, c-format
 msgid "(check argument of option '%s')\n"
 msgstr "opções de importação inválidas\n"
 
-#: g10/getkey.c:2020
+#: g10/getkey.c:2164
 #, fuzzy, c-format
 #| msgid "|NAME|use NAME as default secret key"
 msgid "Warning: not using '%s' as default key: %s\n"
 msgstr "|NOME|usar NOME como chave secreta por omissão"
 
-#: g10/getkey.c:2028
+#: g10/getkey.c:2172
 #, fuzzy, c-format
 #| msgid "|NAME|use NAME as default secret key"
 msgid "using \"%s\" as default secret key for signing\n"
 msgstr "|NOME|usar NOME como chave secreta por omissão"
 
-#: g10/getkey.c:2035
+#: g10/getkey.c:2179
 #, c-format
 msgid "all values passed to '%s' ignored\n"
 msgstr ""
 
-#: g10/getkey.c:2880
+#: g10/getkey.c:3024
 #, fuzzy, c-format
 msgid "Invalid key %s made valid by --allow-non-selfsigned-uid\n"
 msgstr "Chave inválida %08lX tornada válida por --allow-non-selfsigned-uid\n"
 
-#: g10/getkey.c:3730
+#: g10/getkey.c:3874
 #, fuzzy, c-format
 msgid "using subkey %s instead of primary key %s\n"
 msgstr "usando chave secundária %08lX ao invés de chave primária %08lX\n"
 
-#: g10/getkey.c:4275 g10/gpg.c:2107
+#: g10/getkey.c:4446 g10/gpg.c:2120
 #, fuzzy, c-format
 msgid "valid values for option '%s':\n"
 msgstr "opções de importação inválidas\n"
 
-#: g10/gpg.c:442 sm/gpgsm.c:206
+#: g10/gpg.c:439 sm/gpgsm.c:207
 #, fuzzy
 msgid "make a signature"
 msgstr "fazer uma assinatura separada"
 
-#: g10/gpg.c:443
+#: g10/gpg.c:440
 #, fuzzy
 msgid "make a clear text signature"
 msgstr "|[ficheiro]|fazer uma assinatura em texto puro"
 
-#: g10/gpg.c:445 sm/gpgsm.c:208
+#: g10/gpg.c:442 sm/gpgsm.c:209
 msgid "make a detached signature"
 msgstr "fazer uma assinatura separada"
 
-#: g10/gpg.c:446 sm/gpgsm.c:209
+#: g10/gpg.c:443 sm/gpgsm.c:210
 msgid "encrypt data"
 msgstr "cifrar dados"
 
-#: g10/gpg.c:448
+#: g10/gpg.c:445
 msgid "encryption only with symmetric cipher"
 msgstr "cifrar apenas com cifra simétrica"
 
-#: g10/gpg.c:450 sm/gpgsm.c:211
+#: g10/gpg.c:447 sm/gpgsm.c:212
 msgid "decrypt data (default)"
 msgstr "decifrar dados (acção por omissão)"
 
-#: g10/gpg.c:452 sm/gpgsm.c:212
+#: g10/gpg.c:449 sm/gpgsm.c:213
 msgid "verify a signature"
 msgstr "verificar uma assinatura"
 
-#: g10/gpg.c:454 sm/gpgsm.c:213
+#: g10/gpg.c:451 sm/gpgsm.c:214
 msgid "list keys"
 msgstr "listar as chaves"
 
-#: g10/gpg.c:456
+#: g10/gpg.c:453
 msgid "list keys and signatures"
 msgstr "listar as chaves e as assinaturas"
 
-#: g10/gpg.c:459
+#: g10/gpg.c:456
 #, fuzzy
 msgid "list and check key signatures"
 msgstr "verificar as assinaturas das chaves"
 
-#: g10/gpg.c:461 sm/gpgsm.c:218
+#: g10/gpg.c:458 sm/gpgsm.c:219
 msgid "list keys and fingerprints"
 msgstr "listar as chaves e as impressões digitais"
 
-#: g10/gpg.c:462 sm/gpgsm.c:216
+#: g10/gpg.c:459 sm/gpgsm.c:217
 msgid "list secret keys"
 msgstr "listar as chaves secretas"
 
-#: g10/gpg.c:464 sm/gpgsm.c:219
+#: g10/gpg.c:461 sm/gpgsm.c:220
 msgid "generate a new key pair"
 msgstr "gerar um novo par de chaves"
 
-#: g10/gpg.c:467
+#: g10/gpg.c:464
 #, fuzzy
 #| msgid "generate a new key pair"
 msgid "quickly generate a new key pair"
 msgstr "gerar um novo par de chaves"
 
-#: g10/gpg.c:470
+#: g10/gpg.c:467
 #, fuzzy
 #| msgid "generate a new key pair"
 msgid "quickly add a new user-id"
 msgstr "gerar um novo par de chaves"
 
-#: g10/gpg.c:475
+#: g10/gpg.c:472
 #, fuzzy
 #| msgid "generate a new key pair"
 msgid "quickly revoke a user-id"
 msgstr "gerar um novo par de chaves"
 
-#: g10/gpg.c:478
+#: g10/gpg.c:475
 #, fuzzy
 #| msgid "generate a new key pair"
 msgid "quickly set a new expiration date"
 msgstr "gerar um novo par de chaves"
 
-#: g10/gpg.c:481
+#: g10/gpg.c:478
 msgid "full featured key pair generation"
 msgstr ""
 
-#: g10/gpg.c:484
+#: g10/gpg.c:481
 msgid "generate a revocation certificate"
 msgstr "gerar um certificado de revogação"
 
-#: g10/gpg.c:487 sm/gpgsm.c:222
+#: g10/gpg.c:484 sm/gpgsm.c:223
 msgid "remove keys from the public keyring"
 msgstr "remover chaves do porta-chaves público"
 
-#: g10/gpg.c:489
+#: g10/gpg.c:486
 msgid "remove keys from the secret keyring"
 msgstr "remover chaves do porta-chaves secreto"
 
-#: g10/gpg.c:491
+#: g10/gpg.c:488
 #, fuzzy
 #| msgid "sign a key"
 msgid "quickly sign a key"
 msgstr "assinar uma chave"
 
-#: g10/gpg.c:493
+#: g10/gpg.c:490
 #, fuzzy
 #| msgid "sign a key locally"
 msgid "quickly sign a key locally"
 msgstr "assinar uma chave localmente"
 
-#: g10/gpg.c:495
+#: g10/gpg.c:492
 #, fuzzy
 #| msgid "generate a new key pair"
 msgid "quickly revoke a key signature"
 msgstr "gerar um novo par de chaves"
 
-#: g10/gpg.c:496
+#: g10/gpg.c:493
 msgid "sign a key"
 msgstr "assinar uma chave"
 
-#: g10/gpg.c:497
+#: g10/gpg.c:494
 msgid "sign a key locally"
 msgstr "assinar uma chave localmente"
 
-#: g10/gpg.c:498
+#: g10/gpg.c:495
 msgid "sign or edit a key"
 msgstr "assinar ou editar uma chave"
 
-#: g10/gpg.c:500 sm/gpgsm.c:240
+#: g10/gpg.c:497 sm/gpgsm.c:241
 #, fuzzy
 msgid "change a passphrase"
 msgstr "muda a frase secreta"
 
-#: g10/gpg.c:504
+#: g10/gpg.c:501
 msgid "export keys"
 msgstr "exportar chaves"
 
-#: g10/gpg.c:505
+#: g10/gpg.c:502
 msgid "export keys to a keyserver"
 msgstr "exportar chaves para um servidor de chaves"
 
-#: g10/gpg.c:506
+#: g10/gpg.c:503
 msgid "import keys from a keyserver"
 msgstr "importar chaves de um servidor de chaves"
 
-#: g10/gpg.c:509
+#: g10/gpg.c:506
 msgid "search for keys on a keyserver"
 msgstr "procurar chaves num servidor de chaves"
 
-#: g10/gpg.c:511
+#: g10/gpg.c:508
 msgid "update all keys from a keyserver"
 msgstr "actualizar todas as chaves a partir de um servidor de chaves"
 
-#: g10/gpg.c:519
+#: g10/gpg.c:516
 msgid "import/merge keys"
 msgstr "importar/fundir chaves"
 
-#: g10/gpg.c:522
+#: g10/gpg.c:519
 msgid "print the card status"
 msgstr ""
 
-#: g10/gpg.c:523
+#: g10/gpg.c:520
 msgid "change data on a card"
 msgstr ""
 
-#: g10/gpg.c:525
+#: g10/gpg.c:522
 msgid "change a card's PIN"
 msgstr ""
 
-#: g10/gpg.c:537
+#: g10/gpg.c:534
 msgid "update the trust database"
 msgstr "actualizar a base de dados de confiança"
 
-#: g10/gpg.c:546
+#: g10/gpg.c:543
 #, fuzzy
 msgid "print message digests"
 msgstr "|algo [ficheiros]|imprimir \"digests\" de mensagens"
 
-#: g10/gpg.c:549 sm/gpgsm.c:235
+#: g10/gpg.c:546 sm/gpgsm.c:236
 msgid "run in server mode"
 msgstr ""
 
-#: g10/gpg.c:551
+#: g10/gpg.c:548
 msgid "|VALUE|set the TOFU policy for a key"
 msgstr ""
 
-#: g10/gpg.c:555 sm/gpgsm.c:254
+#: g10/gpg.c:552 sm/gpgsm.c:255
 msgid "create ascii armored output"
 msgstr "criar saída com armadura ascii"
 
-#: g10/gpg.c:558 sm/gpgsm.c:271
+#: g10/gpg.c:555 sm/gpgsm.c:272
 #, fuzzy
 msgid "|USER-ID|encrypt for USER-ID"
 msgstr "|NOME|cifrar para NOME"
 
-#: g10/gpg.c:574 sm/gpgsm.c:307
+#: g10/gpg.c:571 sm/gpgsm.c:308
 #, fuzzy
 msgid "|USER-ID|use USER-ID to sign or decrypt"
 msgstr ""
 "usar este identificador de utilizador para\n"
 "assinar ou decifrar"
 
-#: g10/gpg.c:580
+#: g10/gpg.c:577
 #, fuzzy
 msgid "|N|set compress level to N (0 disables)"
 msgstr ""
 "|N|estabelecer nível de compressão N\n"
 "(0 desactiva)"
 
-#: g10/gpg.c:587
+#: g10/gpg.c:584
 msgid "use canonical text mode"
 msgstr "usar modo de texto canônico"
 
-#: g10/gpg.c:604 g10/gpgv.c:82 sm/gpgsm.c:309
+#: g10/gpg.c:601 g10/gpgv.c:82 sm/gpgsm.c:310
 #, fuzzy
 msgid "|FILE|write output to FILE"
 msgstr "|FICHEIRO|carregar módulo de extensão FICHEIRO"
 
-#: g10/gpg.c:614 kbx/kbxutil.c:90 sm/gpgsm.c:321 tools/gpgconf.c:110
+#: g10/gpg.c:611 kbx/kbxutil.c:90 sm/gpgsm.c:322 tools/gpgconf.c:110
 msgid "do not make any changes"
 msgstr "não fazer alterações"
 
-#: g10/gpg.c:615
+#: g10/gpg.c:612
 msgid "prompt before overwriting"
 msgstr "perguntar antes de sobrepôr"
 
-#: g10/gpg.c:665
+#: g10/gpg.c:662
 msgid "use strict OpenPGP behavior"
 msgstr ""
 
-#: g10/gpg.c:692 sm/gpgsm.c:364
+#: g10/gpg.c:689 sm/gpgsm.c:367
 msgid ""
 "@\n"
 "(See the man page for a complete listing of all commands and options)\n"
@@ -2810,7 +2828,7 @@ msgstr ""
 "@\n"
 "(Veja a página man para uma lista completa de comandos e opções)\n"
 
-#: g10/gpg.c:695
+#: g10/gpg.c:692
 #, fuzzy
 #| msgid ""
 #| "@\n"
@@ -2840,13 +2858,13 @@ msgstr ""
 " --list-keys [nomes]        mostrar chaves\n"
 " --fingerprint [nomes]      mostrar impressões digitais\n"
 
-#: g10/gpg.c:1092
+#: g10/gpg.c:1096
 #, fuzzy
 #| msgid "Usage: gpg [options] [files] (-h for help)"
 msgid "Usage: @GPG@ [options] [files] (-h for help)"
 msgstr "Uso: gpg [opções] [ficheiros] (-h para ajuda)"
 
-#: g10/gpg.c:1095
+#: g10/gpg.c:1099
 #, fuzzy
 #| msgid ""
 #| "Syntax: gpg [options] [files]\n"
@@ -2861,7 +2879,7 @@ msgstr ""
 "assina, verifica, cifra ou decifra\n"
 "a operação por omissão depende dos dados de entrada\n"
 
-#: g10/gpg.c:1106 sm/gpgsm.c:591
+#: g10/gpg.c:1110 sm/gpgsm.c:594
 msgid ""
 "\n"
 "Supported algorithms:\n"
@@ -2869,545 +2887,545 @@ msgstr ""
 "\n"
 "Algoritmos suportados:\n"
 
-#: g10/gpg.c:1109
+#: g10/gpg.c:1113
 msgid "Pubkey: "
 msgstr "Chave pública: "
 
-#: g10/gpg.c:1116 g10/keyedit.c:3281
+#: g10/gpg.c:1120 g10/keyedit.c:3282
 msgid "Cipher: "
 msgstr "Cifra: "
 
-#: g10/gpg.c:1123
+#: g10/gpg.c:1127
 msgid "Hash: "
 msgstr "Dispersão: "
 
-#: g10/gpg.c:1130 g10/keyedit.c:3347
+#: g10/gpg.c:1134 g10/keyedit.c:3348
 msgid "Compression: "
 msgstr "Compressão: "
 
-#: g10/gpg.c:1199 sm/gpgsm.c:665
+#: g10/gpg.c:1207 sm/gpgsm.c:668
 #, fuzzy, c-format
 msgid "usage: %s [options] %s\n"
 msgstr "uso: gpg [opções] "
 
-#: g10/gpg.c:1388 sm/gpgsm.c:754
+#: g10/gpg.c:1396 sm/gpgsm.c:761
 #, c-format
 msgid "conflicting commands\n"
 msgstr "comandos em conflito\n"
 
-#: g10/gpg.c:1406
+#: g10/gpg.c:1414
 #, fuzzy, c-format
 msgid "no = sign found in group definition '%s'\n"
 msgstr "nenhum sinal = encontrada na definição de grupo \"%s\"\n"
 
-#: g10/gpg.c:1604
+#: g10/gpg.c:1612
 #, fuzzy, c-format
 msgid "WARNING: unsafe ownership on homedir '%s'\n"
 msgstr "AVISO: dono pouco seguro em %s \"%s\"\n"
 
-#: g10/gpg.c:1607
+#: g10/gpg.c:1615
 #, fuzzy, c-format
 msgid "WARNING: unsafe ownership on configuration file '%s'\n"
 msgstr "AVISO: dono pouco seguro em %s \"%s\"\n"
 
-#: g10/gpg.c:1610
+#: g10/gpg.c:1618
 #, fuzzy, c-format
 msgid "WARNING: unsafe ownership on extension '%s'\n"
 msgstr "AVISO: dono pouco seguro em %s \"%s\"\n"
 
-#: g10/gpg.c:1616
+#: g10/gpg.c:1624
 #, fuzzy, c-format
 msgid "WARNING: unsafe permissions on homedir '%s'\n"
 msgstr "AVISO: permissões pouco seguras em %s \"%s\"\n"
 
-#: g10/gpg.c:1619
+#: g10/gpg.c:1627
 #, fuzzy, c-format
 msgid "WARNING: unsafe permissions on configuration file '%s'\n"
 msgstr "AVISO: permissões pouco seguras em %s \"%s\"\n"
 
-#: g10/gpg.c:1622
+#: g10/gpg.c:1630
 #, fuzzy, c-format
 msgid "WARNING: unsafe permissions on extension '%s'\n"
 msgstr "AVISO: permissões pouco seguras em %s \"%s\"\n"
 
-#: g10/gpg.c:1628
+#: g10/gpg.c:1636
 #, fuzzy, c-format
 msgid "WARNING: unsafe enclosing directory ownership on homedir '%s'\n"
 msgstr "AVISO: dono pouco seguro em %s \"%s\"\n"
 
-#: g10/gpg.c:1631
+#: g10/gpg.c:1639
 #, fuzzy, c-format
 msgid ""
 "WARNING: unsafe enclosing directory ownership on configuration file '%s'\n"
 msgstr "AVISO: dono pouco seguro em %s \"%s\"\n"
 
-#: g10/gpg.c:1634
+#: g10/gpg.c:1642
 #, fuzzy, c-format
 msgid "WARNING: unsafe enclosing directory ownership on extension '%s'\n"
 msgstr "AVISO: dono pouco seguro em %s \"%s\"\n"
 
-#: g10/gpg.c:1640
+#: g10/gpg.c:1648
 #, fuzzy, c-format
 msgid "WARNING: unsafe enclosing directory permissions on homedir '%s'\n"
 msgstr "AVISO: permissões pouco seguras em %s \"%s\"\n"
 
-#: g10/gpg.c:1643
+#: g10/gpg.c:1651
 #, fuzzy, c-format
 msgid ""
 "WARNING: unsafe enclosing directory permissions on configuration file '%s'\n"
 msgstr "AVISO: permissões pouco seguras em %s \"%s\"\n"
 
-#: g10/gpg.c:1646
+#: g10/gpg.c:1654
 #, fuzzy, c-format
 msgid "WARNING: unsafe enclosing directory permissions on extension '%s'\n"
 msgstr "AVISO: permissões pouco seguras em %s \"%s\"\n"
 
-#: g10/gpg.c:1862
+#: g10/gpg.c:1870
 #, fuzzy, c-format
 msgid "unknown configuration item '%s'\n"
 msgstr "criado um novo ficheiro de configuração `%s'\n"
 
-#: g10/gpg.c:1979
+#: g10/gpg.c:1992
 msgid "display photo IDs during key listings"
 msgstr ""
 
-#: g10/gpg.c:1981
+#: g10/gpg.c:1994
 #, fuzzy
 msgid "show key usage information during key listings"
 msgstr "Nenhuma assinatura correspondente no porta-chaves secreto\n"
 
-#: g10/gpg.c:1983
+#: g10/gpg.c:1996
 msgid "show policy URLs during signature listings"
 msgstr ""
 
-#: g10/gpg.c:1985
+#: g10/gpg.c:1998
 #, fuzzy
 msgid "show all notations during signature listings"
 msgstr "Nenhuma assinatura correspondente no porta-chaves secreto\n"
 
-#: g10/gpg.c:1987
+#: g10/gpg.c:2000
 msgid "show IETF standard notations during signature listings"
 msgstr ""
 
-#: g10/gpg.c:1991
+#: g10/gpg.c:2004
 msgid "show user-supplied notations during signature listings"
 msgstr ""
 
-#: g10/gpg.c:1993
+#: g10/gpg.c:2006
 #, fuzzy
 msgid "show preferred keyserver URLs during signature listings"
 msgstr "a URL de política de assinatura dada é inválida\n"
 
-#: g10/gpg.c:1995
+#: g10/gpg.c:2008
 msgid "show user ID validity during key listings"
 msgstr ""
 
-#: g10/gpg.c:1997
+#: g10/gpg.c:2010
 msgid "show revoked and expired user IDs in key listings"
 msgstr ""
 
-#: g10/gpg.c:1999
+#: g10/gpg.c:2012
 msgid "show revoked and expired subkeys in key listings"
 msgstr ""
 
-#: g10/gpg.c:2001
+#: g10/gpg.c:2014
 #, fuzzy
 msgid "show the keyring name in key listings"
 msgstr "mostrar em que porta-chave a chave está"
 
-#: g10/gpg.c:2003
+#: g10/gpg.c:2016
 #, fuzzy
 msgid "show expiration dates during signature listings"
 msgstr "Nenhuma assinatura correspondente no porta-chaves secreto\n"
 
-#: g10/gpg.c:2118
+#: g10/gpg.c:2131
 #, fuzzy, c-format
 msgid "unknown TOFU policy '%s'\n"
 msgstr "destinatário por omissão desconhecido `%s'\n"
 
-#: g10/gpg.c:2120
+#: g10/gpg.c:2133
 #, c-format
 msgid "(use \"help\" to list choices)\n"
 msgstr ""
 
-#: g10/gpg.c:2840 g10/gpg.c:3671 g10/gpg.c:3683
+#: g10/gpg.c:2856 g10/gpg.c:3691 g10/gpg.c:3703
 #, fuzzy, c-format
 #| msgid "NOTE: %s is not for normal use!\n"
 msgid "Note: %s is not for normal use!\n"
 msgstr "NOTA: %s não é para uso normal!\n"
 
-#: g10/gpg.c:3017 g10/gpg.c:3029
+#: g10/gpg.c:3033 g10/gpg.c:3045
 #, fuzzy, c-format
 msgid "'%s' is not a valid signature expiration\n"
 msgstr "%s não é um conjunto de caracteres válido\n"
 
-#: g10/gpg.c:3051
+#: g10/gpg.c:3067
 #, fuzzy, c-format
 msgid "\"%s\" is not a proper mail address\n"
 msgstr "Endereço eletrónico inválido\n"
 
-#: g10/gpg.c:3083 sm/gpgsm.c:1177
+#: g10/gpg.c:3099 sm/gpgsm.c:1091
 #, fuzzy, c-format
 msgid "invalid pinentry mode '%s'\n"
 msgstr "algoritmo de dispersão inválido `%s'\n"
 
-#: g10/gpg.c:3089 sm/gpgsm.c:1183
+#: g10/gpg.c:3105 sm/gpgsm.c:1097
 #, fuzzy, c-format
 msgid "invalid request origin '%s'\n"
 msgstr "opções de importação inválidas\n"
 
-#: g10/gpg.c:3143
+#: g10/gpg.c:3159
 #, fuzzy, c-format
 msgid "'%s' is not a valid character set\n"
 msgstr "%s não é um conjunto de caracteres válido\n"
 
-#: g10/gpg.c:3165 g10/gpg.c:3375 g10/keyedit.c:5281
+#: g10/gpg.c:3181 g10/gpg.c:3395 g10/keyedit.c:5282
 #, fuzzy, c-format
 msgid "could not parse keyserver URL\n"
 msgstr "não consegui processar a URI do servidor de chaves\n"
 
-#: g10/gpg.c:3183
+#: g10/gpg.c:3199
 #, fuzzy, c-format
 msgid "%s:%d: invalid keyserver options\n"
 msgstr "%s:%d: opções de exportação inválidas\n"
 
-#: g10/gpg.c:3186
+#: g10/gpg.c:3202
 #, fuzzy, c-format
 msgid "invalid keyserver options\n"
 msgstr "opções de exportação inválidas\n"
 
-#: g10/gpg.c:3193
+#: g10/gpg.c:3209
 #, c-format
 msgid "%s:%d: invalid import options\n"
 msgstr "%s:%d: opções de importação inválidas\n"
 
-#: g10/gpg.c:3196
+#: g10/gpg.c:3212
 #, c-format
 msgid "invalid import options\n"
 msgstr "opções de importação inválidas\n"
 
-#: g10/gpg.c:3202 g10/gpg.c:3217
+#: g10/gpg.c:3218 g10/gpg.c:3233
 #, fuzzy, c-format
 msgid "invalid filter option: %s\n"
 msgstr "opções de importação inválidas\n"
 
-#: g10/gpg.c:3208
+#: g10/gpg.c:3224
 #, c-format
 msgid "%s:%d: invalid export options\n"
 msgstr "%s:%d: opções de exportação inválidas\n"
 
-#: g10/gpg.c:3211
+#: g10/gpg.c:3227
 #, c-format
 msgid "invalid export options\n"
 msgstr "opções de exportação inválidas\n"
 
-#: g10/gpg.c:3223
+#: g10/gpg.c:3239
 #, fuzzy, c-format
 msgid "%s:%d: invalid list options\n"
 msgstr "%s:%d: opções de importação inválidas\n"
 
-#: g10/gpg.c:3226
+#: g10/gpg.c:3242
 #, fuzzy, c-format
 msgid "invalid list options\n"
 msgstr "opções de importação inválidas\n"
 
-#: g10/gpg.c:3234
+#: g10/gpg.c:3250
 msgid "display photo IDs during signature verification"
 msgstr ""
 
-#: g10/gpg.c:3236
+#: g10/gpg.c:3252
 msgid "show policy URLs during signature verification"
 msgstr ""
 
-#: g10/gpg.c:3238
+#: g10/gpg.c:3254
 #, fuzzy
 msgid "show all notations during signature verification"
 msgstr "%s não é um conjunto de caracteres válido\n"
 
-#: g10/gpg.c:3240
+#: g10/gpg.c:3256
 msgid "show IETF standard notations during signature verification"
 msgstr ""
 
-#: g10/gpg.c:3244
+#: g10/gpg.c:3260
 msgid "show user-supplied notations during signature verification"
 msgstr ""
 
-#: g10/gpg.c:3246
+#: g10/gpg.c:3262
 #, fuzzy
 msgid "show preferred keyserver URLs during signature verification"
 msgstr "a URL de política de assinatura dada é inválida\n"
 
-#: g10/gpg.c:3248
+#: g10/gpg.c:3264
 #, fuzzy
 msgid "show user ID validity during signature verification"
 msgstr "%s não é um conjunto de caracteres válido\n"
 
-#: g10/gpg.c:3250
+#: g10/gpg.c:3266
 msgid "show revoked and expired user IDs in signature verification"
 msgstr ""
 
-#: g10/gpg.c:3252
+#: g10/gpg.c:3268
 #, fuzzy
 msgid "show only the primary user ID in signature verification"
 msgstr "%s não é um conjunto de caracteres válido\n"
 
-#: g10/gpg.c:3254
+#: g10/gpg.c:3270
 msgid "validate signatures with PKA data"
 msgstr ""
 
-#: g10/gpg.c:3256
+#: g10/gpg.c:3272
 msgid "elevate the trust of signatures with valid PKA data"
 msgstr ""
 
-#: g10/gpg.c:3263
+#: g10/gpg.c:3279
 #, fuzzy, c-format
 msgid "%s:%d: invalid verify options\n"
 msgstr "%s:%d: opções de exportação inválidas\n"
 
-#: g10/gpg.c:3266
+#: g10/gpg.c:3282
 #, fuzzy, c-format
 msgid "invalid verify options\n"
 msgstr "opções de exportação inválidas\n"
 
-#: g10/gpg.c:3273
+#: g10/gpg.c:3289
 #, c-format
 msgid "unable to set exec-path to %s\n"
 msgstr "não foi possível alterar o exec-path para %s\n"
 
-#: g10/gpg.c:3478
+#: g10/gpg.c:3498
 #, fuzzy, c-format
 msgid "%s:%d: invalid auto-key-locate list\n"
 msgstr "%s:%d: opções de exportação inválidas\n"
 
-#: g10/gpg.c:3481
+#: g10/gpg.c:3501
 #, c-format
 msgid "invalid auto-key-locate list\n"
 msgstr ""
 
-#: g10/gpg.c:3653 sm/gpgsm.c:1541
+#: g10/gpg.c:3673 sm/gpgsm.c:1441
 #, c-format
 msgid "WARNING: program may create a core file!\n"
 msgstr "AVISO: O programa pode criar um ficheiro core!\n"
 
-#: g10/gpg.c:3664
+#: g10/gpg.c:3684
 #, c-format
 msgid "WARNING: %s overrides %s\n"
 msgstr "AVISO: %s sobrepõe %s\n"
 
-#: g10/gpg.c:3673
+#: g10/gpg.c:3693
 #, c-format
 msgid "%s not allowed with %s!\n"
 msgstr "%s não é permitido com %s!\n"
 
-#: g10/gpg.c:3676
+#: g10/gpg.c:3696
 #, c-format
 msgid "%s makes no sense with %s!\n"
 msgstr "%s não faz sentido com %s!\n"
 
-#: g10/gpg.c:3691 sm/gpgsm.c:1558 dirmngr/dirmngr.c:1082
+#: g10/gpg.c:3711 sm/gpgsm.c:1458 dirmngr/dirmngr.c:1117
 #, c-format
 msgid "WARNING: running with faked system time: "
 msgstr ""
 
-#: g10/gpg.c:3712
+#: g10/gpg.c:3732
 #, fuzzy, c-format
 msgid "will not run with insecure memory due to %s\n"
 msgstr "a escrever chave privada para `%s'\n"
 
-#: g10/gpg.c:3747 g10/gpg.c:3771 sm/gpgsm.c:1625
+#: g10/gpg.c:3767 g10/gpg.c:3791 sm/gpgsm.c:1525
 #, c-format
 msgid "selected cipher algorithm is invalid\n"
 msgstr "o algoritmo de cifragem selecionado é inválido\n"
 
-#: g10/gpg.c:3759
+#: g10/gpg.c:3779
 #, fuzzy, c-format
 msgid "selected compression algorithm is invalid\n"
 msgstr "o algoritmo de cifragem selecionado é inválido\n"
 
-#: g10/gpg.c:3765
+#: g10/gpg.c:3785
 #, c-format
 msgid "selected certification digest algorithm is invalid\n"
 msgstr "o algoritmo de \"digest\" de certificação selecionado é inválido\n"
 
-#: g10/gpg.c:3780
+#: g10/gpg.c:3800
 #, c-format
 msgid "completes-needed must be greater than 0\n"
 msgstr "completes-needed deve ser maior que 0\n"
 
-#: g10/gpg.c:3782
+#: g10/gpg.c:3802
 #, c-format
 msgid "marginals-needed must be greater than 1\n"
 msgstr "marginals-needed deve ser maior que 1\n"
 
-#: g10/gpg.c:3784
+#: g10/gpg.c:3804
 #, fuzzy, c-format
 msgid "max-cert-depth must be in the range from 1 to 255\n"
 msgstr "max-cert-depth deve estar na entre 1 e 255\n"
 
-#: g10/gpg.c:3786
+#: g10/gpg.c:3806
 #, fuzzy, c-format
 msgid "invalid default-cert-level; must be 0, 1, 2, or 3\n"
 msgstr "nível de verificação por omissão inválido: deve ser 0, 1, 2 ou 3\n"
 
-#: g10/gpg.c:3788
+#: g10/gpg.c:3808
 #, fuzzy, c-format
 msgid "invalid min-cert-level; must be 1, 2, or 3\n"
 msgstr "nível de verificação por omissão inválido: deve ser 0, 1, 2 ou 3\n"
 
-#: g10/gpg.c:3791
+#: g10/gpg.c:3812
 #, fuzzy, c-format
 #| msgid "NOTE: simple S2K mode (0) is strongly discouraged\n"
 msgid "Note: simple S2K mode (0) is strongly discouraged\n"
 msgstr "NOTA: o modo S2K simples (0) não é recomendável\n"
 
-#: g10/gpg.c:3795
+#: g10/gpg.c:3816
 #, c-format
 msgid "invalid S2K mode; must be 0, 1 or 3\n"
 msgstr "modo S2K inválido: deve ser 0, 1 ou 3\n"
 
-#: g10/gpg.c:3802
+#: g10/gpg.c:3823
 #, c-format
 msgid "invalid default preferences\n"
 msgstr "preferências por omissão inválidas\n"
 
-#: g10/gpg.c:3806
+#: g10/gpg.c:3827
 #, c-format
 msgid "invalid personal cipher preferences\n"
 msgstr "preferências pessoais de cifra inválidas\n"
 
-#: g10/gpg.c:3810
+#: g10/gpg.c:3831
 #, c-format
 msgid "invalid personal digest preferences\n"
 msgstr "preferências pessoais de 'digest' inválidas\n"
 
-#: g10/gpg.c:3814
+#: g10/gpg.c:3835
 #, c-format
 msgid "invalid personal compress preferences\n"
 msgstr "preferências pessoais de compressão inválidas\n"
 
-#: g10/gpg.c:3850
+#: g10/gpg.c:3871
 #, fuzzy, c-format
 msgid "%s does not yet work with %s\n"
 msgstr "%s não faz sentido com %s!\n"
 
-#: g10/gpg.c:3913
+#: g10/gpg.c:3934
 #, fuzzy, c-format
 msgid "compression algorithm '%s' may not be used in %s mode\n"
 msgstr "não pode utilizar %s enquanto estiver no modo %s\n"
 
-#: g10/gpg.c:4057
+#: g10/gpg.c:4078
 #, c-format
 msgid "failed to initialize the TrustDB: %s\n"
 msgstr "falha ao inicializar a base de dados de confiança: %s\n"
 
-#: g10/gpg.c:4069
+#: g10/gpg.c:4090
 #, c-format
 msgid "WARNING: recipients (-r) given without using public key encryption\n"
 msgstr ""
 "AVISO: destinatários (-r) dados sem utilizar uma cifra de chave pública\n"
 
-#: g10/gpg.c:4141
+#: g10/gpg.c:4162
 #, fuzzy, c-format
 msgid "symmetric encryption of '%s' failed: %s\n"
 msgstr "decifragem falhou: %s\n"
 
-#: g10/gpg.c:4170
+#: g10/gpg.c:4191
 #, c-format
 msgid "you cannot use --symmetric --encrypt with --s2k-mode 0\n"
 msgstr ""
 
-#: g10/gpg.c:4173
+#: g10/gpg.c:4194
 #, fuzzy, c-format
 msgid "you cannot use --symmetric --encrypt in %s mode\n"
 msgstr "não pode utilizar %s enquanto estiver no modo %s\n"
 
-#: g10/gpg.c:4231
+#: g10/gpg.c:4252
 #, c-format
 msgid "you cannot use --symmetric --sign --encrypt with --s2k-mode 0\n"
 msgstr ""
 
-#: g10/gpg.c:4234
+#: g10/gpg.c:4255
 #, fuzzy, c-format
 msgid "you cannot use --symmetric --sign --encrypt in %s mode\n"
 msgstr "não pode utilizar %s enquanto estiver no modo %s\n"
 
-#: g10/gpg.c:4622 g10/keyserver.c:1881
+#: g10/gpg.c:4643 g10/keyserver.c:1648
 #, fuzzy, c-format
 msgid "keyserver send failed: %s\n"
 msgstr "A geração de chaves falhou: %s\n"
 
-#: g10/gpg.c:4627
+#: g10/gpg.c:4648
 #, fuzzy, c-format
 msgid "keyserver receive failed: %s\n"
 msgstr "A geração de chaves falhou: %s\n"
 
-#: g10/gpg.c:4633
+#: g10/gpg.c:4654
 #, fuzzy, c-format
 msgid "key export failed: %s\n"
 msgstr "A geração de chaves falhou: %s\n"
 
-#: g10/gpg.c:4646
+#: g10/gpg.c:4667
 #, fuzzy, c-format
 msgid "export as ssh key failed: %s\n"
 msgstr "A geração de chaves falhou: %s\n"
 
-#: g10/gpg.c:4658
+#: g10/gpg.c:4679
 #, fuzzy, c-format
 msgid "keyserver search failed: %s\n"
 msgstr "A geração de chaves falhou: %s\n"
 
-#: g10/gpg.c:4671
+#: g10/gpg.c:4692
 #, fuzzy, c-format
 msgid "keyserver refresh failed: %s\n"
 msgstr "actualização da chave secreta falhou: %s\n"
 
-#: g10/gpg.c:4738
+#: g10/gpg.c:4759
 #, c-format
 msgid "dearmoring failed: %s\n"
 msgstr "retirada de armadura falhou: %s\n"
 
-#: g10/gpg.c:4749
+#: g10/gpg.c:4770
 #, c-format
 msgid "enarmoring failed: %s\n"
 msgstr "criação de armadura falhou: %s\n"
 
-#: g10/gpg.c:4841
+#: g10/gpg.c:4862
 #, fuzzy, c-format
 #| msgid "invalid hash algorithm `%s'\n"
 msgid "invalid hash algorithm '%s'\n"
 msgstr "algoritmo de dispersão inválido `%s'\n"
 
-#: g10/gpg.c:4993 g10/tofu.c:2153
+#: g10/gpg.c:5014 g10/tofu.c:2153
 #, fuzzy, c-format
 msgid "error parsing key specification '%s': %s\n"
 msgstr "erro na criação da frase secreta: %s\n"
 
-#: g10/gpg.c:5006
+#: g10/gpg.c:5027
 #, c-format
 msgid "'%s' does not appear to be a valid key ID, fingerprint or keygrip\n"
 msgstr ""
 
-#: g10/gpg.c:5062
+#: g10/gpg.c:5083
 #, c-format
 msgid "WARNING: no command supplied.  Trying to guess what you mean ...\n"
 msgstr ""
 
-#: g10/gpg.c:5073
+#: g10/gpg.c:5094
 #, c-format
 msgid "Go ahead and type your message ...\n"
 msgstr "Digite a sua mensagem ...\n"
 
-#: g10/gpg.c:5418
+#: g10/gpg.c:5439
 #, c-format
 msgid "the given certification policy URL is invalid\n"
 msgstr "a URL de política de certificação dada é inválida\n"
 
-#: g10/gpg.c:5420
+#: g10/gpg.c:5441
 #, c-format
 msgid "the given signature policy URL is invalid\n"
 msgstr "a URL de política de assinatura dada é inválida\n"
 
-#: g10/gpg.c:5453
+#: g10/gpg.c:5474
 #, fuzzy, c-format
 msgid "the given preferred keyserver URL is invalid\n"
 msgstr "a URL de política de assinatura dada é inválida\n"
@@ -3422,7 +3440,7 @@ msgstr "Remover esta chave do porta-chaves?"
 msgid "make timestamp conflicts only a warning"
 msgstr "conflito de \"timestamp\""
 
-#: g10/gpgv.c:86 sm/gpgsm.c:354 tools/gpgconf.c:112
+#: g10/gpgv.c:86 sm/gpgsm.c:357 tools/gpgconf.c:112
 msgid "|FD|write status info to this FD"
 msgstr ""
 "|DF|escrever informações de estado para o\n"
@@ -3506,266 +3524,266 @@ msgstr ""
 msgid "repair keys on import"
 msgstr "mostra impressão digital"
 
-#: g10/import.c:380 g10/import.c:699
+#: g10/import.c:392 g10/import.c:711
 #, c-format
 msgid "skipping block of type %d\n"
 msgstr "ignorando bloco do tipo %d\n"
 
-#: g10/import.c:716
+#: g10/import.c:728
 #, fuzzy, c-format
 msgid "%lu keys processed so far\n"
 msgstr "%lu chaves processadas até agora\n"
 
-#: g10/import.c:802
+#: g10/import.c:814
 #, c-format
 msgid "Total number processed: %lu\n"
 msgstr "Número total processado: %lu\n"
 
-#: g10/import.c:805
+#: g10/import.c:817
 #, fuzzy, c-format
 #| msgid "      skipped new keys: %lu\n"
 msgid "    skipped PGP-2 keys: %lu\n"
 msgstr "      ignorei novas chaves: %lu\n"
 
-#: g10/import.c:807
+#: g10/import.c:819
 #, c-format
 msgid "      skipped new keys: %lu\n"
 msgstr "      ignorei novas chaves: %lu\n"
 
-#: g10/import.c:810
+#: g10/import.c:822
 #, c-format
 msgid "          w/o user IDs: %lu\n"
 msgstr "          sem IDs de utilizadores: %lu\n"
 
-#: g10/import.c:813 sm/import.c:130
+#: g10/import.c:825 sm/import.c:130
 #, c-format
 msgid "              imported: %lu"
 msgstr "              importados: %lu"
 
-#: g10/import.c:817 sm/import.c:134
+#: g10/import.c:829 sm/import.c:134
 #, c-format
 msgid "             unchanged: %lu\n"
 msgstr "             não modificados: %lu\n"
 
-#: g10/import.c:819
+#: g10/import.c:831
 #, c-format
 msgid "          new user IDs: %lu\n"
 msgstr "          novos IDs de utilizadores: %lu\n"
 
-#: g10/import.c:821
+#: g10/import.c:833
 #, c-format
 msgid "           new subkeys: %lu\n"
 msgstr "           novas subchaves: %lu\n"
 
-#: g10/import.c:823
+#: g10/import.c:835
 #, c-format
 msgid "        new signatures: %lu\n"
 msgstr "        novas assinaturas: %lu\n"
 
-#: g10/import.c:825
+#: g10/import.c:837
 #, c-format
 msgid "   new key revocations: %lu\n"
 msgstr "   novas revogações de chaves: %lu\n"
 
-#: g10/import.c:827 sm/import.c:136
+#: g10/import.c:839 sm/import.c:136
 #, c-format
 msgid "      secret keys read: %lu\n"
 msgstr "      chaves secretas lidas: %lu\n"
 
-#: g10/import.c:829 sm/import.c:138
+#: g10/import.c:841 sm/import.c:138
 #, c-format
 msgid "  secret keys imported: %lu\n"
 msgstr "  chaves secretas importadas: %lu\n"
 
-#: g10/import.c:831 sm/import.c:140
+#: g10/import.c:843 sm/import.c:140
 #, c-format
 msgid " secret keys unchanged: %lu\n"
 msgstr " chaves secretas não modificadas: %lu\n"
 
-#: g10/import.c:833 sm/import.c:142
+#: g10/import.c:845 sm/import.c:142
 #, c-format
 msgid "          not imported: %lu\n"
 msgstr "        não importadas: %lu\n"
 
-#: g10/import.c:835
+#: g10/import.c:847
 #, fuzzy, c-format
 msgid "    signatures cleaned: %lu\n"
 msgstr "        novas assinaturas: %lu\n"
 
-#: g10/import.c:837
+#: g10/import.c:849
 #, fuzzy, c-format
 msgid "      user IDs cleaned: %lu\n"
 msgstr "      chaves secretas lidas: %lu\n"
 
-#: g10/import.c:1264
+#: g10/import.c:1276
 #, c-format
 msgid ""
 "WARNING: key %s contains preferences for unavailable\n"
 "algorithms on these user IDs:\n"
 msgstr ""
 
-#: g10/import.c:1306
+#: g10/import.c:1318
 #, c-format
 msgid "         \"%s\": preference for cipher algorithm %s\n"
 msgstr ""
 
-#: g10/import.c:1321
+#: g10/import.c:1333
 #, fuzzy, c-format
 msgid "         \"%s\": preference for digest algorithm %s\n"
 msgstr "assinatura %s de: \"%s\"\n"
 
-#: g10/import.c:1333
+#: g10/import.c:1345
 #, c-format
 msgid "         \"%s\": preference for compression algorithm %s\n"
 msgstr ""
 
-#: g10/import.c:1346
+#: g10/import.c:1358
 #, c-format
 msgid "it is strongly suggested that you update your preferences and\n"
 msgstr ""
 
-#: g10/import.c:1348
+#: g10/import.c:1360
 #, c-format
 msgid "re-distribute this key to avoid potential algorithm mismatch problems\n"
 msgstr ""
 
-#: g10/import.c:1373
+#: g10/import.c:1385
 #, c-format
 msgid "you can update your preferences with: gpg --edit-key %s updpref save\n"
 msgstr ""
 
-#: g10/import.c:1887 g10/import.c:3001
+#: g10/import.c:1899 g10/import.c:3013
 #, fuzzy, c-format
 msgid "key %s: no user ID\n"
 msgstr "chave %08lX: sem ID de utilizador\n"
 
-#: g10/import.c:1893
+#: g10/import.c:1905
 #, fuzzy, c-format
 msgid "key %s: %s\n"
 msgstr "ignorado `%s': %s\n"
 
-#: g10/import.c:1894 g10/import.c:2973
+#: g10/import.c:1906 g10/import.c:2985
 msgid "rejected by import screener"
 msgstr ""
 
-#: g10/import.c:1938
+#: g10/import.c:1950
 #, fuzzy, c-format
 msgid "key %s: PKS subkey corruption repaired\n"
 msgstr "chave %08lX: subchave HKP corrompida foi reparada\n"
 
-#: g10/import.c:1959
+#: g10/import.c:1971
 #, fuzzy, c-format
 msgid "key %s: accepted non self-signed user ID \"%s\"\n"
 msgstr "chave %08lX: aceite ID de utilizador sem auto-assinatura '%s'\n"
 
-#: g10/import.c:1969 g10/import.c:2000
+#: g10/import.c:1981 g10/import.c:2012
 #, fuzzy, c-format
 msgid "key %s: no valid user IDs\n"
 msgstr "chave %08lX: sem IDs de utilizadores válidos\n"
 
-#: g10/import.c:1971
+#: g10/import.c:1983
 #, c-format
 msgid "this may be caused by a missing self-signature\n"
 msgstr "isto pode ser causado por falta de auto-assinatura\n"
 
-#: g10/import.c:2050 g10/import.c:3387
+#: g10/import.c:2062 g10/import.c:3399
 #, fuzzy, c-format
 msgid "key %s: public key not found: %s\n"
 msgstr "chave %08lX: chave pública não encontrada: %s\n"
 
-#: g10/import.c:2056
+#: g10/import.c:2068
 #, fuzzy, c-format
 msgid "key %s: new key - skipped\n"
 msgstr "chave %08lX: chave nova - ignorada\n"
 
-#: g10/import.c:2068
+#: g10/import.c:2080
 #, c-format
 msgid "no writable keyring found: %s\n"
 msgstr "não foi encontrada nenhum porta-chaves onde escrever: %s\n"
 
-#: g10/import.c:2100 g10/import.c:2202 g10/import.c:3464
+#: g10/import.c:2112 g10/import.c:2214 g10/import.c:3476
 #, fuzzy, c-format
 #| msgid "error writing keyring `%s': %s\n"
 msgid "error writing keyring '%s': %s\n"
 msgstr "erro na escrita do porta-chaves `%s': %s\n"
 
-#: g10/import.c:2123
+#: g10/import.c:2135
 #, fuzzy, c-format
 msgid "key %s: public key \"%s\" imported\n"
 msgstr "chave %08lX: chave pública \"%s\" importada\n"
 
-#: g10/import.c:2150
+#: g10/import.c:2162
 #, fuzzy, c-format
 msgid "key %s: doesn't match our copy\n"
 msgstr "chave %08lX: não corresponde à nossa cópia\n"
 
-#: g10/import.c:2218
+#: g10/import.c:2230
 #, fuzzy, c-format
 msgid "key %s: \"%s\" 1 new user ID\n"
 msgstr "chave %8lX: \"%s\" 1 novo ID de utilizador\n"
 
-#: g10/import.c:2221
+#: g10/import.c:2233
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d new user IDs\n"
 msgstr "chave %08lX: \"%s\" %d novos IDs de utilizadores\n"
 
-#: g10/import.c:2224
+#: g10/import.c:2236
 #, fuzzy, c-format
 msgid "key %s: \"%s\" 1 new signature\n"
 msgstr "chave %08lX: \"%s\" 1 nova assinatura\n"
 
-#: g10/import.c:2227
+#: g10/import.c:2239
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d new signatures\n"
 msgstr "chave %08lX: \"%s\" %d novas assinaturas\n"
 
-#: g10/import.c:2230
+#: g10/import.c:2242
 #, fuzzy, c-format
 msgid "key %s: \"%s\" 1 new subkey\n"
 msgstr "chave %08lX: \"%s\" 1 nova subchave\n"
 
-#: g10/import.c:2233
+#: g10/import.c:2245
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d new subkeys\n"
 msgstr "chave %08lX: \"%s\" %d novas subchaves\n"
 
-#: g10/import.c:2236
+#: g10/import.c:2248
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d signature cleaned\n"
 msgstr "chave %08lX: \"%s\" %d novas assinaturas\n"
 
-#: g10/import.c:2239
+#: g10/import.c:2251
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d signatures cleaned\n"
 msgstr "chave %08lX: \"%s\" %d novas assinaturas\n"
 
-#: g10/import.c:2242
+#: g10/import.c:2254
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d user ID cleaned\n"
 msgstr "chave %08lX: \"%s\" %d novos IDs de utilizadores\n"
 
-#: g10/import.c:2245
+#: g10/import.c:2257
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d user IDs cleaned\n"
 msgstr "chave %08lX: \"%s\" %d novos IDs de utilizadores\n"
 
-#: g10/import.c:2281
+#: g10/import.c:2293
 #, fuzzy, c-format
 msgid "key %s: \"%s\" not changed\n"
 msgstr "chave %08lX: \"%s\" não modificada\n"
 
-#: g10/import.c:2640 g10/import.c:2835
+#: g10/import.c:2652 g10/import.c:2847
 #, fuzzy, c-format
 msgid "key %s: secret key imported\n"
 msgstr "chave %08lX: chave secreta importada\n"
 
-#: g10/import.c:2648
+#: g10/import.c:2660
 #, fuzzy, c-format
 #| msgid "skipped: secret key already present\n"
 msgid "key %s: secret key already exists\n"
 msgstr "ignorado: a chave secreta já está presente\n"
 
-#: g10/import.c:2656
+#: g10/import.c:2668
 #, fuzzy, c-format
 msgid "key %s: error sending to agent: %s\n"
 msgstr "erro ao enviar para `%s': %s\n"
@@ -3778,199 +3796,199 @@ msgstr "erro ao enviar para `%s': %s\n"
 #. * Instead, user should be suggested to run 'gpg --card-status',
 #. * then, references to a card will be automatically created
 #. * again.
-#: g10/import.c:2825
+#: g10/import.c:2837
 #, c-format
 msgid "To migrate '%s', with each smartcard, run: %s\n"
 msgstr ""
 
-#: g10/import.c:2972
+#: g10/import.c:2984
 #, fuzzy, c-format
 msgid "secret key %s: %s\n"
 msgstr "chave `%s' não encontrada: %s\n"
 
-#: g10/import.c:2993 g10/import.c:3032
+#: g10/import.c:3005 g10/import.c:3044
 #, fuzzy, c-format
 msgid "importing secret keys not allowed\n"
 msgstr "a escrever chave privada para `%s'\n"
 
-#: g10/import.c:3020
+#: g10/import.c:3032
 #, fuzzy, c-format
 msgid "key %s: secret key with invalid cipher %d - skipped\n"
 msgstr "chave %08lX: chave secreta com cifra inválida %d - ignorada\n"
 
-#: g10/import.c:3182 g10/pkclist.c:72 g10/revoke.c:776
+#: g10/import.c:3194 g10/pkclist.c:72 g10/revoke.c:776
 msgid "No reason specified"
 msgstr "Nenhum motivo especificado"
 
-#: g10/import.c:3183 g10/pkclist.c:74 g10/revoke.c:778
+#: g10/import.c:3195 g10/pkclist.c:74 g10/revoke.c:778
 msgid "Key is superseded"
 msgstr "A chave foi substituída"
 
-#: g10/import.c:3184 g10/pkclist.c:76 g10/revoke.c:777
+#: g10/import.c:3196 g10/pkclist.c:76 g10/revoke.c:777
 msgid "Key has been compromised"
 msgstr "A chave foi comprometida"
 
-#: g10/import.c:3185 g10/pkclist.c:78 g10/revoke.c:779
+#: g10/import.c:3197 g10/pkclist.c:78 g10/revoke.c:779
 msgid "Key is no longer used"
 msgstr "A chave já não é utilizada"
 
-#: g10/import.c:3186 g10/pkclist.c:80 g10/revoke.c:780
+#: g10/import.c:3198 g10/pkclist.c:80 g10/revoke.c:780
 msgid "User ID is no longer valid"
 msgstr "O identificador do utilizador já não é válido"
 
-#: g10/import.c:3311 g10/keylist.c:1254 g10/pkclist.c:84
+#: g10/import.c:3323 g10/keylist.c:1254 g10/pkclist.c:84
 #, c-format
 msgid "reason for revocation: "
 msgstr "motivo da revocação: "
 
-#: g10/import.c:3330 g10/keylist.c:1273 g10/pkclist.c:100
+#: g10/import.c:3342 g10/keylist.c:1273 g10/pkclist.c:100
 #, c-format
 msgid "revocation comment: "
 msgstr "comentário da revocação: "
 
-#: g10/import.c:3380
+#: g10/import.c:3392
 #, fuzzy, c-format
 msgid "key %s: no public key - can't apply revocation certificate\n"
 msgstr ""
 "chave %08lX: sem chave pública - impossível aplicar certificado\n"
 "de revogação\n"
 
-#: g10/import.c:3411
+#: g10/import.c:3423
 #, fuzzy, c-format
 msgid "key %s: can't locate original keyblock: %s\n"
 msgstr "chave %08lX: impossível localizar bloco de chaves original: %s\n"
 
-#: g10/import.c:3418
+#: g10/import.c:3430
 #, fuzzy, c-format
 msgid "key %s: can't read original keyblock: %s\n"
 msgstr "chave %08lX: impossível ler bloco de chaves original: %s\n"
 
-#: g10/import.c:3438
+#: g10/import.c:3450
 #, fuzzy, c-format
 msgid "key %s: invalid revocation certificate: %s - rejected\n"
 msgstr "chave %08lX: certificado de revogação inválido: %s - rejeitado\n"
 
-#: g10/import.c:3473
+#: g10/import.c:3485
 #, fuzzy, c-format
 msgid "key %s: \"%s\" revocation certificate imported\n"
 msgstr "chave %08lX: \"%s\" certificado de revogação importado\n"
 
-#: g10/import.c:3559
+#: g10/import.c:3571
 #, fuzzy, c-format
 msgid "key %s: no user ID for signature\n"
 msgstr "chave %08lX: nenhum ID de utilizador para assinatura\n"
 
-#: g10/import.c:3576
+#: g10/import.c:3588
 #, fuzzy, c-format
 msgid "key %s: unsupported public key algorithm on user ID \"%s\"\n"
 msgstr ""
 "chave %08lX: algoritmo de chave pública não suportado no utilizador \"%s\"\n"
 
-#: g10/import.c:3578
+#: g10/import.c:3590
 #, fuzzy, c-format
 msgid "key %s: invalid self-signature on user ID \"%s\"\n"
 msgstr "chave %08lX: auto-assinatura inválida do utilizador \"%s\"\n"
 
-#: g10/import.c:3595 g10/import.c:3623 g10/import.c:3679
+#: g10/import.c:3607 g10/import.c:3635 g10/import.c:3691
 #, fuzzy, c-format
 msgid "key %s: unsupported public key algorithm\n"
 msgstr "chave %08lX: algoritmo de chave pública não suportado\n"
 
-#: g10/import.c:3596
+#: g10/import.c:3608
 #, fuzzy, c-format
 msgid "key %s: invalid direct key signature\n"
 msgstr "chave %08lX: assinatura directa de chave adicionada\n"
 
-#: g10/import.c:3610
+#: g10/import.c:3622
 #, fuzzy, c-format
 msgid "key %s: no subkey for key binding\n"
 msgstr "chave %08lX: sem subchave para ligação de chaves\n"
 
-#: g10/import.c:3625
+#: g10/import.c:3637
 #, fuzzy, c-format
 msgid "key %s: invalid subkey binding\n"
 msgstr "chave %08lX: ligação de subchave inválida\n"
 
-#: g10/import.c:3644
+#: g10/import.c:3656
 #, fuzzy, c-format
 msgid "key %s: removed multiple subkey binding\n"
 msgstr "chave %08lX: apagada ligação múltipla de subchave \n"
 
-#: g10/import.c:3668
+#: g10/import.c:3680
 #, fuzzy, c-format
 msgid "key %s: no subkey for key revocation\n"
 msgstr "chave %08lX: sem subchave para revocação de chave\n"
 
-#: g10/import.c:3681
+#: g10/import.c:3693
 #, fuzzy, c-format
 msgid "key %s: invalid subkey revocation\n"
 msgstr "chave %08lX: revocação de subchave inválida\n"
 
-#: g10/import.c:3696
+#: g10/import.c:3708
 #, fuzzy, c-format
 msgid "key %s: removed multiple subkey revocation\n"
 msgstr "chave %08lX: removida revogação múltiplace de subchaves\n"
 
-#: g10/import.c:3740
+#: g10/import.c:3752
 #, fuzzy, c-format
 msgid "key %s: skipped user ID \"%s\"\n"
 msgstr "chave %08lX: ignorado ID de utilizador '"
 
-#: g10/import.c:3767
+#: g10/import.c:3779
 #, fuzzy, c-format
 msgid "key %s: skipped subkey\n"
 msgstr "chave %08lX: subchave ignorada\n"
 
-#: g10/import.c:3798
+#: g10/import.c:3810
 #, fuzzy, c-format
 msgid "key %s: non exportable signature (class 0x%02X) - skipped\n"
 msgstr "chave %08lX: assinatura não exportável (classe %02x) - ignorada\n"
 
-#: g10/import.c:3809
+#: g10/import.c:3821
 #, fuzzy, c-format
 msgid "key %s: revocation certificate at wrong place - skipped\n"
 msgstr "chave %08lX: certificado de revogação no local errado - ignorado\n"
 
-#: g10/import.c:3827
+#: g10/import.c:3839
 #, fuzzy, c-format
 msgid "key %s: invalid revocation certificate: %s - skipped\n"
 msgstr "chave %08lX: certificado de revogação inválido: %s - ignorado\n"
 
-#: g10/import.c:3841
+#: g10/import.c:3853
 #, fuzzy, c-format
 msgid "key %s: subkey signature in wrong place - skipped\n"
 msgstr "chave %08lX: assintura da subchave no local errado - ignorado\n"
 
-#: g10/import.c:3849
+#: g10/import.c:3861
 #, fuzzy, c-format
 msgid "key %s: unexpected signature class (0x%02X) - skipped\n"
 msgstr "chave %08lX: classe de assinatura inesperada (%02x) - ignorada\n"
 
-#: g10/import.c:4022
+#: g10/import.c:4034
 #, fuzzy, c-format
 msgid "key %s: duplicated user ID detected - merged\n"
 msgstr "chave %08lX: detectado ID de utilizador duplicado - fundido\n"
 
-#: g10/import.c:4087
+#: g10/import.c:4099
 #, fuzzy, c-format
 msgid "WARNING: key %s may be revoked: fetching revocation key %s\n"
 msgstr ""
 "AVISO: a chave %08lX pode estar revocada: a transferir a chave de revocação "
 "%08lX\n"
 
-#: g10/import.c:4103
+#: g10/import.c:4115
 #, fuzzy, c-format
 msgid "WARNING: key %s may be revoked: revocation key %s not present.\n"
 msgstr ""
 "AVISO: a chave %08lX pode estar revocada: chave de revocação %08lX não "
 "presente.\n"
 
-#: g10/import.c:4169
+#: g10/import.c:4181
 #, fuzzy, c-format
 msgid "key %s: \"%s\" revocation certificate added\n"
 msgstr "chave %08lX: certificado de revogação \"%s\" adicionado\n"
 
-#: g10/import.c:4207
+#: g10/import.c:4219
 #, fuzzy, c-format
 msgid "key %s: direct key signature added\n"
 msgstr "chave %08lX: assinatura directa de chave adicionada\n"
@@ -4039,7 +4057,7 @@ msgid ""
 "all signatures.\n"
 msgstr ""
 
-#: g10/keydb.c:431 g10/keydb.c:458 sm/keydb.c:191 sm/keydb.c:204
+#: g10/keydb.c:431 g10/keydb.c:458 sm/keydb.c:190 sm/keydb.c:203
 #, fuzzy, c-format
 msgid "error creating keybox '%s': %s\n"
 msgstr "erro ao criar porta-chaves `%s': %s\n"
@@ -4050,7 +4068,7 @@ msgstr "erro ao criar porta-chaves `%s': %s\n"
 msgid "error creating keyring '%s': %s\n"
 msgstr "erro ao criar porta-chaves `%s': %s\n"
 
-#: g10/keydb.c:470 sm/keydb.c:210
+#: g10/keydb.c:470 sm/keydb.c:209
 #, fuzzy, c-format
 msgid "keybox '%s' created\n"
 msgstr "porta-chaves `%s' criado\n"
@@ -4128,13 +4146,13 @@ msgstr ""
 msgid "User ID \"%s\" is revoked."
 msgstr "Utilizador \"%s\" está revocado."
 
-#: g10/keyedit.c:569 g10/keyedit.c:597 g10/keyedit.c:624 g10/keyedit.c:808
-#: g10/keyedit.c:1655
+#: g10/keyedit.c:569 g10/keyedit.c:597 g10/keyedit.c:624 g10/keyedit.c:809
+#: g10/keyedit.c:1656
 msgid "Are you sure you still want to sign it? (y/N) "
 msgstr "Você tem certeza de que quer adicioná-la de qualquer forma? (s/N) "
 
-#: g10/keyedit.c:583 g10/keyedit.c:611 g10/keyedit.c:638 g10/keyedit.c:814
-#: g10/keyedit.c:1660 g10/keyedit.c:2667
+#: g10/keyedit.c:583 g10/keyedit.c:611 g10/keyedit.c:638 g10/keyedit.c:815
+#: g10/keyedit.c:1661 g10/keyedit.c:2668
 msgid "  Unable to sign.\n"
 msgstr "  Não foi possível assinar.\n"
 
@@ -4208,30 +4226,30 @@ msgstr "\"%s\" já foi assinado localmente pela chave %08lX\n"
 msgid "\"%s\" was already signed by key %s\n"
 msgstr "\"%s\" já foi assinado pela chave %08lX\n"
 
-#: g10/keyedit.c:756
+#: g10/keyedit.c:757
 #, fuzzy
 msgid "Do you want to sign it again anyway? (y/N) "
 msgstr "Você tem certeza de que quer adicioná-la de qualquer forma? (s/N) "
 
-#: g10/keyedit.c:778
+#: g10/keyedit.c:779
 #, fuzzy, c-format
 msgid "Nothing to sign with key %s\n"
 msgstr "Nada para assinar com a chave %08lX\n"
 
-#: g10/keyedit.c:802
+#: g10/keyedit.c:803
 msgid "This key has expired!"
 msgstr "Esta chave expirou!"
 
-#: g10/keyedit.c:820
+#: g10/keyedit.c:821
 #, c-format
 msgid "This key is due to expire on %s.\n"
 msgstr "Esta chave vai expirar em %s.\n"
 
-#: g10/keyedit.c:826
+#: g10/keyedit.c:827
 msgid "Do you want your signature to expire at the same time? (Y/n) "
 msgstr "Quer que a sua assinatura expire na mesma altura? (S/n) "
 
-#: g10/keyedit.c:867
+#: g10/keyedit.c:868
 msgid ""
 "How carefully have you verified the key you are about to sign actually "
 "belongs\n"
@@ -4241,32 +4259,32 @@ msgstr ""
 "pertence\n"
 "à pessoa correcta? Se não sabe o que responder, escolha \"0\".\n"
 
-#: g10/keyedit.c:872
+#: g10/keyedit.c:873
 #, c-format
 msgid "   (0) I will not answer.%s\n"
 msgstr "   (0) Não vou responder.%s\n"
 
-#: g10/keyedit.c:874
+#: g10/keyedit.c:875
 #, c-format
 msgid "   (1) I have not checked at all.%s\n"
 msgstr "   (1) Não verifiquei.%s\n"
 
-#: g10/keyedit.c:876
+#: g10/keyedit.c:877
 #, c-format
 msgid "   (2) I have done casual checking.%s\n"
 msgstr "   (2) Verifiquei por alto.%s\n"
 
-#: g10/keyedit.c:879
+#: g10/keyedit.c:880
 #, c-format
 msgid "   (3) I have done very careful checking.%s\n"
 msgstr "   (3) Verifiquei com bastante cuidado.%s\n"
 
-#: g10/keyedit.c:886
+#: g10/keyedit.c:887
 #, fuzzy
 msgid "Your selection? (enter '?' for more information): "
 msgstr " i = mostrar mais informações\n"
 
-#: g10/keyedit.c:913
+#: g10/keyedit.c:914
 #, fuzzy, c-format
 msgid ""
 "Are you sure that you want to sign this key with your\n"
@@ -4275,274 +4293,274 @@ msgstr ""
 "Você tem certeza de que quer assinar esta chave com\n"
 "a sua chave: \""
 
-#: g10/keyedit.c:921
+#: g10/keyedit.c:922
 #, fuzzy
 msgid "This will be a self-signature.\n"
 msgstr ""
 "\n"
 "Isto será uma auto-assinatura.\n"
 
-#: g10/keyedit.c:926
+#: g10/keyedit.c:927
 #, fuzzy
 msgid "WARNING: the signature will not be marked as non-exportable.\n"
 msgstr ""
 "\n"
 "AVISO: a assinatura não será marcada como não-exportável.\n"
 
-#: g10/keyedit.c:933
+#: g10/keyedit.c:934
 #, fuzzy
 msgid "WARNING: the signature will not be marked as non-revocable.\n"
 msgstr ""
 "\n"
 "AVISO: a assinatura não será marcada como não-revocável.\n"
 
-#: g10/keyedit.c:943
+#: g10/keyedit.c:944
 #, fuzzy
 msgid "The signature will be marked as non-exportable.\n"
 msgstr ""
 "\n"
 "A assinatura será marcada como não-exportável.\n"
 
-#: g10/keyedit.c:950
+#: g10/keyedit.c:951
 #, fuzzy
 msgid "The signature will be marked as non-revocable.\n"
 msgstr ""
 "\n"
 "A assinatura será marcada como não-revocável.\n"
 
-#: g10/keyedit.c:957
+#: g10/keyedit.c:958
 #, fuzzy
 msgid "I have not checked this key at all.\n"
 msgstr ""
 "\n"
 "Não verifiquei esta chave.\n"
 
-#: g10/keyedit.c:962
+#: g10/keyedit.c:963
 #, fuzzy
 msgid "I have checked this key casually.\n"
 msgstr ""
 "\n"
 "Verifiquei por alto esta chave.\n"
 
-#: g10/keyedit.c:967
+#: g10/keyedit.c:968
 #, fuzzy
 msgid "I have checked this key very carefully.\n"
 msgstr ""
 "\n"
 "Verifiquei esta chave com muito cuidado.\n"
 
-#: g10/keyedit.c:979
+#: g10/keyedit.c:980
 #, fuzzy
 msgid "Really sign? (y/N) "
 msgstr "Realmente assinar? "
 
-#: g10/keyedit.c:1030 g10/keyedit.c:6154 g10/keyedit.c:6237 g10/keyedit.c:6366
-#: g10/keyedit.c:6428 g10/sign.c:466
+#: g10/keyedit.c:1031 g10/keyedit.c:6155 g10/keyedit.c:6238 g10/keyedit.c:6367
+#: g10/keyedit.c:6429 g10/sign.c:466
 #, c-format
 msgid "signing failed: %s\n"
 msgstr "assinatura falhou: %s\n"
 
-#: g10/keyedit.c:1117
+#: g10/keyedit.c:1118
 msgid "Key has only stub or on-card key items - no passphrase to change.\n"
 msgstr ""
 
-#: g10/keyedit.c:1149
+#: g10/keyedit.c:1150
 #, fuzzy, c-format
 #| msgid "error creating passphrase: %s\n"
 msgid "key %s: error changing passphrase: %s\n"
 msgstr "erro na criação da frase secreta: %s\n"
 
-#: g10/keyedit.c:1261
+#: g10/keyedit.c:1262
 msgid "save and quit"
 msgstr "gravar e sair"
 
-#: g10/keyedit.c:1264
+#: g10/keyedit.c:1265
 #, fuzzy
 msgid "show key fingerprint"
 msgstr "mostra impressão digital"
 
-#: g10/keyedit.c:1265
+#: g10/keyedit.c:1266
 #, fuzzy
 msgid "show the keygrip"
 msgstr "Notação de assinatura: "
 
-#: g10/keyedit.c:1266
+#: g10/keyedit.c:1267
 msgid "list key and user IDs"
 msgstr "lista chave e identificadores de utilizadores"
 
-#: g10/keyedit.c:1268
+#: g10/keyedit.c:1269
 msgid "select user ID N"
 msgstr "seleciona ID de utilizador N"
 
-#: g10/keyedit.c:1269
+#: g10/keyedit.c:1270
 #, fuzzy
 msgid "select subkey N"
 msgstr "seleciona ID de utilizador N"
 
-#: g10/keyedit.c:1270
+#: g10/keyedit.c:1271
 #, fuzzy
 msgid "check signatures"
 msgstr "revoga assinaturas"
 
-#: g10/keyedit.c:1276
+#: g10/keyedit.c:1277
 msgid "sign selected user IDs [* see below for related commands]"
 msgstr ""
 
-#: g10/keyedit.c:1281
+#: g10/keyedit.c:1282
 #, fuzzy
 msgid "sign selected user IDs locally"
 msgstr "assina a chave localmente"
 
-#: g10/keyedit.c:1282
+#: g10/keyedit.c:1283
 #, fuzzy
 msgid "sign selected user IDs with a trust signature"
 msgstr "Sugestão: Selecione os IDs de utilizador para assinar\n"
 
-#: g10/keyedit.c:1284
+#: g10/keyedit.c:1285
 msgid "sign selected user IDs with a non-revocable signature"
 msgstr ""
 
-#: g10/keyedit.c:1286
+#: g10/keyedit.c:1287
 msgid "add a user ID"
 msgstr "adiciona um novo ID de utilizador"
 
-#: g10/keyedit.c:1288
+#: g10/keyedit.c:1289
 msgid "add a photo ID"
 msgstr "adiciona um identificador fotográfico"
 
-#: g10/keyedit.c:1289
+#: g10/keyedit.c:1290
 #, fuzzy
 msgid "delete selected user IDs"
 msgstr "remove ID de utilizador"
 
-#: g10/keyedit.c:1292
+#: g10/keyedit.c:1293
 #, fuzzy
 msgid "add a subkey"
 msgstr "addkey"
 
-#: g10/keyedit.c:1295
+#: g10/keyedit.c:1296
 msgid "add a key to a smartcard"
 msgstr ""
 
-#: g10/keyedit.c:1297
+#: g10/keyedit.c:1298
 msgid "move a key to a smartcard"
 msgstr ""
 
-#: g10/keyedit.c:1299
+#: g10/keyedit.c:1300
 msgid "move a backup key to a smartcard"
 msgstr ""
 
-#: g10/keyedit.c:1301
+#: g10/keyedit.c:1302
 #, fuzzy
 msgid "delete selected subkeys"
 msgstr "remove uma chave secundária"
 
-#: g10/keyedit.c:1303
+#: g10/keyedit.c:1304
 msgid "add a revocation key"
 msgstr "adiciona uma chave de revocação"
 
-#: g10/keyedit.c:1305
+#: g10/keyedit.c:1306
 #, fuzzy
 msgid "delete signatures from the selected user IDs"
 msgstr ""
 "Realmente actualizar as preferências para os utilizadores seleccionados?"
 
-#: g10/keyedit.c:1307
+#: g10/keyedit.c:1308
 #, fuzzy
 msgid "change the expiration date for the key or selected subkeys"
 msgstr "Você não pode modificar a data de validade de uma chave v3\n"
 
-#: g10/keyedit.c:1309
+#: g10/keyedit.c:1310
 #, fuzzy
 msgid "flag the selected user ID as primary"
 msgstr "seleccionar o identificador do utilizador como primário"
 
-#: g10/keyedit.c:1312
+#: g10/keyedit.c:1313
 msgid "list preferences (expert)"
 msgstr "lista preferências (perito)"
 
-#: g10/keyedit.c:1313
+#: g10/keyedit.c:1314
 msgid "list preferences (verbose)"
 msgstr "lista preferências (detalhadamente)"
 
-#: g10/keyedit.c:1315
+#: g10/keyedit.c:1316
 #, fuzzy
 msgid "set preference list for the selected user IDs"
 msgstr ""
 "Realmente actualizar as preferências para os utilizadores seleccionados?"
 
-#: g10/keyedit.c:1318
+#: g10/keyedit.c:1319
 #, fuzzy
 msgid "set the preferred keyserver URL for the selected user IDs"
 msgstr "não consegui processar a URI do servidor de chaves\n"
 
-#: g10/keyedit.c:1320
+#: g10/keyedit.c:1321
 #, fuzzy
 msgid "set a notation for the selected user IDs"
 msgstr ""
 "Realmente actualizar as preferências para os utilizadores seleccionados?"
 
-#: g10/keyedit.c:1322
+#: g10/keyedit.c:1323
 msgid "change the passphrase"
 msgstr "muda a frase secreta"
 
-#: g10/keyedit.c:1325
+#: g10/keyedit.c:1326
 msgid "change the ownertrust"
 msgstr "muda os valores de confiança"
 
-#: g10/keyedit.c:1328
+#: g10/keyedit.c:1329
 #, fuzzy
 msgid "revoke signatures on the selected user IDs"
 msgstr "Realmente revocar todos os IDs de utilizador seleccionados? "
 
-#: g10/keyedit.c:1330
+#: g10/keyedit.c:1331
 #, fuzzy
 msgid "revoke selected user IDs"
 msgstr "revocar um ID de utilizador"
 
-#: g10/keyedit.c:1333
+#: g10/keyedit.c:1334
 #, fuzzy
 msgid "revoke key or selected subkeys"
 msgstr "revoga uma chave secundária"
 
-#: g10/keyedit.c:1335
+#: g10/keyedit.c:1336
 #, fuzzy
 msgid "enable key"
 msgstr "activa uma chave"
 
-#: g10/keyedit.c:1336
+#: g10/keyedit.c:1337
 #, fuzzy
 msgid "disable key"
 msgstr "desactiva uma chave"
 
-#: g10/keyedit.c:1338
+#: g10/keyedit.c:1339
 #, fuzzy
 msgid "show selected photo IDs"
 msgstr "mostrar identificador fotográfico"
 
-#: g10/keyedit.c:1340
+#: g10/keyedit.c:1341
 msgid "compact unusable user IDs and remove unusable signatures from key"
 msgstr ""
 
-#: g10/keyedit.c:1342
+#: g10/keyedit.c:1343
 msgid "compact unusable user IDs and remove all signatures from key"
 msgstr ""
 
-#: g10/keyedit.c:1463
+#: g10/keyedit.c:1464
 msgid "Secret key is available.\n"
 msgstr "Chave secreta disponível.\n"
 
-#: g10/keyedit.c:1465
+#: g10/keyedit.c:1466
 #, fuzzy
 #| msgid "Secret key is available.\n"
 msgid "Secret subkeys are available.\n"
 msgstr "Chave secreta disponível.\n"
 
-#: g10/keyedit.c:1567
+#: g10/keyedit.c:1568
 msgid "Need the secret key to do this.\n"
 msgstr "A chave secreta é necessária para fazer isto.\n"
 
-#: g10/keyedit.c:1590
+#: g10/keyedit.c:1591
 msgid ""
 "* The 'sign' command may be prefixed with an 'l' for local signatures "
 "(lsign),\n"
@@ -4550,315 +4568,315 @@ msgid ""
 "  (nrsign), or any combination thereof (ltsign, tnrsign, etc.).\n"
 msgstr ""
 
-#: g10/keyedit.c:1648 g10/keyedit.c:2667 g10/keyedit.c:3040 g10/keyedit.c:3108
+#: g10/keyedit.c:1649 g10/keyedit.c:2668 g10/keyedit.c:3041 g10/keyedit.c:3109
 msgid "Key is revoked."
 msgstr "A chave está revogada."
 
-#: g10/keyedit.c:1671
+#: g10/keyedit.c:1672
 #, fuzzy
 msgid "Really sign all text user IDs? (y/N) "
 msgstr "Realmente assinar todos os IDs de utilizador? "
 
-#: g10/keyedit.c:1675
+#: g10/keyedit.c:1676
 #, fuzzy
 msgid "Really sign all user IDs? (y/N) "
 msgstr "Realmente assinar todos os IDs de utilizador? "
 
-#: g10/keyedit.c:1683
+#: g10/keyedit.c:1684
 msgid "Hint: Select the user IDs to sign\n"
 msgstr "Sugestão: Selecione os IDs de utilizador para assinar\n"
 
-#: g10/keyedit.c:1694
+#: g10/keyedit.c:1695
 #, fuzzy, c-format
 msgid "Unknown signature type '%s'\n"
 msgstr "classe de assinatura desconhecida"
 
-#: g10/keyedit.c:1718
+#: g10/keyedit.c:1719
 #, c-format
 msgid "This command is not allowed while in %s mode.\n"
 msgstr "Este comando não é permitido no modo %s.\n"
 
-#: g10/keyedit.c:1740 g10/keyedit.c:1764 g10/keyedit.c:1961
+#: g10/keyedit.c:1741 g10/keyedit.c:1765 g10/keyedit.c:1962
 msgid "You must select at least one user ID.\n"
 msgstr "Você precisa selecionar pelo menos um ID de utilizador.\n"
 
-#: g10/keyedit.c:1742 g10/keyedit.c:1766 g10/keyedit.c:1923 g10/keyedit.c:1963
+#: g10/keyedit.c:1743 g10/keyedit.c:1767 g10/keyedit.c:1924 g10/keyedit.c:1964
 #, c-format
 msgid "(Use the '%s' command.)\n"
 msgstr ""
 
-#: g10/keyedit.c:1745
+#: g10/keyedit.c:1746
 msgid "You can't delete the last user ID!\n"
 msgstr "Você não pode remover o último ID de utilizador!\n"
 
-#: g10/keyedit.c:1748
+#: g10/keyedit.c:1749
 #, fuzzy
 msgid "Really remove all selected user IDs? (y/N) "
 msgstr "Realmente remover todos os IDs de utilizador seleccionados? "
 
-#: g10/keyedit.c:1749
+#: g10/keyedit.c:1750
 #, fuzzy
 msgid "Really remove this user ID? (y/N) "
 msgstr "Realmente remover este ID de utilizador? "
 
 #. TRANSLATORS: Please take care: This is about
 #. moving the key and not about removing it.
-#: g10/keyedit.c:1806
+#: g10/keyedit.c:1807
 #, fuzzy
 msgid "Really move the primary key? (y/N) "
 msgstr "Realmente remover este ID de utilizador? "
 
-#: g10/keyedit.c:1818 g10/keyedit.c:4803
+#: g10/keyedit.c:1819 g10/keyedit.c:4804
 #, fuzzy
 msgid "You must select exactly one key.\n"
 msgstr "Você deve selecionar pelo menos uma chave.\n"
 
-#: g10/keyedit.c:1846
+#: g10/keyedit.c:1847
 msgid "Command expects a filename argument\n"
 msgstr ""
 
-#: g10/keyedit.c:1867
+#: g10/keyedit.c:1868
 #, fuzzy, c-format
 msgid "Can't open '%s': %s\n"
 msgstr "impossível abrir `%s': %s\n"
 
-#: g10/keyedit.c:1886
+#: g10/keyedit.c:1887
 #, fuzzy, c-format
 msgid "Error reading backup key from '%s': %s\n"
 msgstr "erro ao criar porta-chaves `%s': %s\n"
 
-#: g10/keyedit.c:1921
+#: g10/keyedit.c:1922
 msgid "You must select at least one key.\n"
 msgstr "Você deve selecionar pelo menos uma chave.\n"
 
-#: g10/keyedit.c:1927
+#: g10/keyedit.c:1928
 #, fuzzy
 msgid "Do you really want to delete the selected keys? (y/N) "
 msgstr "Você quer realmente remover as chaves selecionadas? "
 
-#: g10/keyedit.c:1929
+#: g10/keyedit.c:1930
 #, fuzzy
 msgid "Do you really want to delete this key? (y/N) "
 msgstr "Você quer realmente remover esta chave? "
 
-#: g10/keyedit.c:1967
+#: g10/keyedit.c:1968
 #, fuzzy
 msgid "Really revoke all selected user IDs? (y/N) "
 msgstr "Realmente revocar todos os IDs de utilizador seleccionados? "
 
-#: g10/keyedit.c:1968
+#: g10/keyedit.c:1969
 #, fuzzy
 msgid "Really revoke this user ID? (y/N) "
 msgstr "Realmente revocar este ID de utilizador? "
 
-#: g10/keyedit.c:1986
+#: g10/keyedit.c:1987
 #, fuzzy
 msgid "Do you really want to revoke the entire key? (y/N) "
 msgstr "Você quer realmente revogar esta chave? "
 
-#: g10/keyedit.c:1997
+#: g10/keyedit.c:1998
 #, fuzzy
 msgid "Do you really want to revoke the selected subkeys? (y/N) "
 msgstr "Você quer realmente revogar as chaves selecionadas? "
 
-#: g10/keyedit.c:1999
+#: g10/keyedit.c:2000
 #, fuzzy
 msgid "Do you really want to revoke this subkey? (y/N) "
 msgstr "Você quer realmente revogar esta chave? "
 
-#: g10/keyedit.c:2057
+#: g10/keyedit.c:2058
 msgid "Owner trust may not be set while using a user provided trust database\n"
 msgstr ""
 
-#: g10/keyedit.c:2102
+#: g10/keyedit.c:2103
 #, fuzzy
 msgid "Set preference list to:\n"
 msgstr "configurar lista de preferências"
 
-#: g10/keyedit.c:2109
+#: g10/keyedit.c:2110
 #, fuzzy
 msgid "Really update the preferences for the selected user IDs? (y/N) "
 msgstr ""
 "Realmente actualizar as preferências para os utilizadores seleccionados?"
 
-#: g10/keyedit.c:2111
+#: g10/keyedit.c:2112
 #, fuzzy
 msgid "Really update the preferences? (y/N) "
 msgstr "Realmente actualizar as preferências?"
 
-#: g10/keyedit.c:2185
+#: g10/keyedit.c:2186
 #, fuzzy
 msgid "Save changes? (y/N) "
 msgstr "Gravar alterações? "
 
-#: g10/keyedit.c:2189
+#: g10/keyedit.c:2190
 #, fuzzy
 msgid "Quit without saving? (y/N) "
 msgstr "Sair sem gravar? "
 
-#: g10/keyedit.c:2216 g10/keyedit.c:2762 g10/keyedit.c:3061 g10/keyedit.c:3214
+#: g10/keyedit.c:2217 g10/keyedit.c:2763 g10/keyedit.c:3062 g10/keyedit.c:3215
 #, c-format
 msgid "Key not changed so no update needed.\n"
 msgstr "Chave não alterada, nenhuma actualização é necessária.\n"
 
-#: g10/keyedit.c:2448
+#: g10/keyedit.c:2449
 #, fuzzy, c-format
 #| msgid "You can't delete the last user ID!\n"
 msgid "cannot revoke the last valid user ID.\n"
 msgstr "Você não pode remover o último ID de utilizador!\n"
 
-#: g10/keyedit.c:2475
+#: g10/keyedit.c:2476
 #, fuzzy, c-format
 msgid "revoking the user ID failed: %s\n"
 msgstr "verificação da assinatura criada falhou: %s\n"
 
-#: g10/keyedit.c:2541
+#: g10/keyedit.c:2542
 #, fuzzy, c-format
 msgid "setting the primary user ID failed: %s\n"
 msgstr "verificação da assinatura criada falhou: %s\n"
 
-#: g10/keyedit.c:2572
+#: g10/keyedit.c:2573
 #, fuzzy, c-format
 msgid "\"%s\" is not a fingerprint\n"
 msgstr "%s: versão de ficheiro inválida %d\n"
 
-#: g10/keyedit.c:2602
+#: g10/keyedit.c:2603
 #, fuzzy, c-format
 msgid "\"%s\" is not the primary fingerprint\n"
 msgstr "falha ao inicializar a base de dados de confiança: %s\n"
 
-#: g10/keyedit.c:2738 g10/keyedit.c:2741
+#: g10/keyedit.c:2739 g10/keyedit.c:2742
 #, fuzzy, c-format
 #| msgid "invalid value\n"
 msgid "Invalid user ID '%s': %s\n"
 msgstr "valor inválido\n"
 
-#: g10/keyedit.c:2744
+#: g10/keyedit.c:2745
 #, fuzzy
 #| msgid "No such user ID.\n"
 msgid "No matching user IDs."
 msgstr "Identificador de utilizador inexistente.\n"
 
-#: g10/keyedit.c:2744
+#: g10/keyedit.c:2745
 #, fuzzy
 msgid "Nothing to sign.\n"
 msgstr "Nada para assinar com a chave %08lX\n"
 
-#: g10/keyedit.c:2937 g10/keyedit.c:6019
+#: g10/keyedit.c:2938 g10/keyedit.c:6020
 #, fuzzy, c-format
 msgid "Not signed by you.\n"
 msgstr "   assinado por %08lX em %s%s\n"
 
-#: g10/keyedit.c:2995
+#: g10/keyedit.c:2996
 #, fuzzy, c-format
 #| msgid "checking created signature failed: %s\n"
 msgid "revoking the key signature failed: %s\n"
 msgstr "verificação da assinatura criada falhou: %s\n"
 
-#: g10/keyedit.c:3116
+#: g10/keyedit.c:3117
 #, fuzzy, c-format
 msgid "'%s' is not a valid expiration time\n"
 msgstr "%s não é um conjunto de caracteres válido\n"
 
-#: g10/keyedit.c:3159
+#: g10/keyedit.c:3160
 #, fuzzy, c-format
 msgid "\"%s\" is not a proper fingerprint\n"
 msgstr "%s: versão de ficheiro inválida %d\n"
 
-#: g10/keyedit.c:3183
+#: g10/keyedit.c:3184
 #, fuzzy, c-format
 msgid "subkey \"%s\" not found\n"
 msgstr "chave `%s' não encontrada: %s\n"
 
-#: g10/keyedit.c:3306
+#: g10/keyedit.c:3307
 msgid "AEAD: "
 msgstr ""
 
-#: g10/keyedit.c:3323
+#: g10/keyedit.c:3324
 msgid "Digest: "
 msgstr "'Digest': "
 
-#: g10/keyedit.c:3380
+#: g10/keyedit.c:3381
 msgid "Features: "
 msgstr "Características: "
 
-#: g10/keyedit.c:3397
+#: g10/keyedit.c:3398
 msgid "Keyserver no-modify"
 msgstr ""
 
-#: g10/keyedit.c:3412 g10/keylist.c:376
+#: g10/keyedit.c:3413 g10/keylist.c:376
 msgid "Preferred keyserver: "
 msgstr ""
 
-#: g10/keyedit.c:3420 g10/keyedit.c:3421
+#: g10/keyedit.c:3421 g10/keyedit.c:3422
 #, fuzzy
 msgid "Notations: "
 msgstr "Notação: "
 
-#: g10/keyedit.c:3669
+#: g10/keyedit.c:3670
 msgid "There are no preferences on a PGP 2.x-style user ID.\n"
 msgstr "Não há preferências no ID de utilizador tipo PGP 2.x.\n"
 
-#: g10/keyedit.c:3741
+#: g10/keyedit.c:3742
 #, fuzzy, c-format
 msgid "The following key was revoked on %s by %s key %s\n"
 msgstr "Esta chave pode ser revogada pela chave %s "
 
-#: g10/keyedit.c:3765
+#: g10/keyedit.c:3766
 #, fuzzy, c-format
 msgid "This key may be revoked by %s key %s"
 msgstr "Esta chave pode ser revogada pela chave %s "
 
-#: g10/keyedit.c:3771
+#: g10/keyedit.c:3772
 #, fuzzy
 msgid "(sensitive)"
 msgstr " (sensível)"
 
-#: g10/keyedit.c:3813 g10/keyedit.c:3960 g10/keylist.c:264 g10/keyserver.c:538
+#: g10/keyedit.c:3814 g10/keyedit.c:3961 g10/keylist.c:264 g10/keyserver.c:361
 #, fuzzy, c-format
 msgid "created: %s"
 msgstr "impossível criar %s: %s\n"
 
-#: g10/keyedit.c:3816 g10/keylist.c:2149
+#: g10/keyedit.c:3817 g10/keylist.c:2149
 #, fuzzy, c-format
 msgid "revoked: %s"
 msgstr "revkey"
 
-#: g10/keyedit.c:3818 g10/keylist.c:2155
+#: g10/keyedit.c:3819 g10/keylist.c:2155
 #, fuzzy, c-format
 msgid "expired: %s"
 msgstr "[expira: %s]"
 
-#: g10/keyedit.c:3820 g10/keyedit.c:3962 g10/keylist.c:266 g10/keylist.c:2161
-#: g10/keyserver.c:544
+#: g10/keyedit.c:3821 g10/keyedit.c:3963 g10/keylist.c:266 g10/keylist.c:2161
+#: g10/keyserver.c:367
 #, fuzzy, c-format
 msgid "expires: %s"
 msgstr "[expira: %s]"
 
-#: g10/keyedit.c:3822
+#: g10/keyedit.c:3823
 #, fuzzy, c-format
 msgid "usage: %s"
 msgstr " confiança: %c/%c"
 
-#: g10/keyedit.c:3830 g10/keyedit.c:3850 g10/keylist.c:269
+#: g10/keyedit.c:3831 g10/keyedit.c:3851 g10/keylist.c:269
 msgid "card-no: "
 msgstr ""
 
-#: g10/keyedit.c:3889
+#: g10/keyedit.c:3890
 #, fuzzy, c-format
 msgid "trust: %s"
 msgstr " confiança: %c/%c"
 
-#: g10/keyedit.c:3893
+#: g10/keyedit.c:3894
 #, c-format
 msgid "validity: %s"
 msgstr ""
 
-#: g10/keyedit.c:3900
+#: g10/keyedit.c:3901
 msgid "This key has been disabled"
 msgstr "Esta chave foi desactivada"
 
-#: g10/keyedit.c:3918
+#: g10/keyedit.c:3919
 msgid ""
 "Please note that the shown key validity is not necessarily correct\n"
 "unless you restart the program.\n"
@@ -4866,37 +4884,37 @@ msgstr ""
 "Não se esqueça que a validade de chave mostrada não é necessáriamente a\n"
 "correcta a não ser que reinicie o programa.\n"
 
-#: g10/keyedit.c:3979 g10/keyedit.c:4410 g10/keyserver.c:548
-#: g10/mainproc.c:2371 g10/tofu.c:1787 g10/trust.c:437 dirmngr/ocsp.c:791
+#: g10/keyedit.c:3980 g10/keyedit.c:4411 g10/keyserver.c:371
+#: g10/mainproc.c:2380 g10/tofu.c:1787 g10/trust.c:437 dirmngr/ocsp.c:791
 #, fuzzy
 msgid "revoked"
 msgstr "revkey"
 
-#: g10/keyedit.c:3981 g10/keyedit.c:4412 g10/keyserver.c:552
-#: g10/mainproc.c:2373 g10/tofu.c:1792 g10/trust.c:124
+#: g10/keyedit.c:3982 g10/keyedit.c:4413 g10/keyserver.c:375
+#: g10/mainproc.c:2382 g10/tofu.c:1792 g10/trust.c:124
 #, fuzzy
 msgid "expired"
 msgstr "expire"
 
-#: g10/keyedit.c:4098
+#: g10/keyedit.c:4099
 #, c-format
 msgid ""
 "WARNING: no user ID has been marked as primary.  This command may\n"
 "              cause a different user ID to become the assumed primary.\n"
 msgstr ""
 
-#: g10/keyedit.c:4150
+#: g10/keyedit.c:4151
 #, c-format
 msgid "WARNING: Your encryption subkey expires soon.\n"
 msgstr ""
 
-#: g10/keyedit.c:4151
+#: g10/keyedit.c:4152
 #, fuzzy, c-format
 #| msgid "You can't change the expiration date of a v3 key\n"
 msgid "You may want to change its expiration date too.\n"
 msgstr "Você não pode modificar a data de validade de uma chave v3\n"
 
-#: g10/keyedit.c:4210
+#: g10/keyedit.c:4211
 msgid ""
 "WARNING: This is a PGP2-style key.  Adding a photo ID may cause some "
 "versions\n"
@@ -4905,36 +4923,36 @@ msgstr ""
 "AVISO: Esta chave é do tipo PGP2. Se adicionar um identificador fotográfico\n"
 "       algumas versão do PGP podem rejeitá-la.\n"
 
-#: g10/keyedit.c:4215 g10/keyedit.c:4505
+#: g10/keyedit.c:4216 g10/keyedit.c:4506
 msgid "Are you sure you still want to add it? (y/N) "
 msgstr "Tem a certeza de que quer adicioná-la de qualquer forma? (s/N) "
 
-#: g10/keyedit.c:4221
+#: g10/keyedit.c:4222
 msgid "You may not add a photo ID to a PGP2-style key.\n"
 msgstr ""
 "Não pode adicionar um identificador fotográfico a uma chave tipo PGP2.\n"
 
-#: g10/keyedit.c:4236 g10/keygen.c:2899
+#: g10/keyedit.c:4237 g10/keygen.c:2899
 msgid "Such a user ID already exists on this key!\n"
 msgstr ""
 
-#: g10/keyedit.c:4338
+#: g10/keyedit.c:4339
 msgid "Delete this good signature? (y/N/q)"
 msgstr "Apagar esta assinatura válida? (s/N/q)"
 
-#: g10/keyedit.c:4348
+#: g10/keyedit.c:4349
 msgid "Delete this invalid signature? (y/N/q)"
 msgstr "Apagar esta assinatura inválida? (s/N/q)"
 
-#: g10/keyedit.c:4352
+#: g10/keyedit.c:4353
 msgid "Delete this unknown signature? (y/N/q)"
 msgstr "Apagar esta assinatura desconhecida? (s/N/q)"
 
-#: g10/keyedit.c:4359
+#: g10/keyedit.c:4360
 msgid "Really delete this self-signature? (y/N)"
 msgstr "Realmente remover esta auto-assinatura? (s/N)"
 
-#: g10/keyedit.c:4375
+#: g10/keyedit.c:4376
 #, fuzzy, c-format
 #| msgid "Deleted %d signature.\n"
 msgid "Deleted %d signature.\n"
@@ -4942,38 +4960,38 @@ msgid_plural "Deleted %d signatures.\n"
 msgstr[0] "%d assinatura removida.\n"
 msgstr[1] "%d assinatura removida.\n"
 
-#: g10/keyedit.c:4379
+#: g10/keyedit.c:4380
 msgid "Nothing deleted.\n"
 msgstr "Nada removido.\n"
 
-#: g10/keyedit.c:4414
+#: g10/keyedit.c:4415
 #, fuzzy
 msgid "invalid"
 msgstr "armadura inválida"
 
-#: g10/keyedit.c:4416
+#: g10/keyedit.c:4417
 #, fuzzy, c-format
 msgid "User ID \"%s\" compacted: %s\n"
 msgstr "Utilizador \"%s\" está revocado."
 
-#: g10/keyedit.c:4422
+#: g10/keyedit.c:4423
 #, fuzzy, c-format
 msgid "User ID \"%s\": %d signature removed\n"
 msgid_plural "User ID \"%s\": %d signatures removed\n"
 msgstr[0] "Utilizador \"%s\" está revocado."
 msgstr[1] "Utilizador \"%s\" está revocado."
 
-#: g10/keyedit.c:4430
+#: g10/keyedit.c:4431
 #, fuzzy, c-format
 msgid "User ID \"%s\": already minimized\n"
 msgstr "o utilizador com o id \"%s\" já está revocado\n"
 
-#: g10/keyedit.c:4431
+#: g10/keyedit.c:4432
 #, fuzzy, c-format
 msgid "User ID \"%s\": already clean\n"
 msgstr "o utilizador com o id \"%s\" já está revocado\n"
 
-#: g10/keyedit.c:4500
+#: g10/keyedit.c:4501
 msgid ""
 "WARNING: This is a PGP 2.x-style key.  Adding a designated revoker may "
 "cause\n"
@@ -4982,223 +5000,223 @@ msgstr ""
 "AVISO: Esta chave é do tipo PGP 2.x. Se adicionar um revogador designado\n"
 "       algumas versão do PGP podem rejeitá-la.\n"
 
-#: g10/keyedit.c:4511
+#: g10/keyedit.c:4512
 msgid "You may not add a designated revoker to a PGP 2.x-style key.\n"
 msgstr "Não pode adicionar um revogador designado a uma chave tipo PGP 2.x.\n"
 
-#: g10/keyedit.c:4528
+#: g10/keyedit.c:4529
 msgid "Enter the user ID of the designated revoker: "
 msgstr "Insira o ID de utilizador do revogador escolhido: "
 
-#: g10/keyedit.c:4554
+#: g10/keyedit.c:4555
 #, c-format
 msgid "cannot appoint a PGP 2.x style key as a designated revoker\n"
 msgstr "não pode escolher uma chave do tipo PGP 2.x como revogadora\n"
 
-#: g10/keyedit.c:4569
+#: g10/keyedit.c:4570
 #, c-format
 msgid "you cannot appoint a key as its own designated revoker\n"
 msgstr "não pode escolher uma chave como revogadora de si mesmo\n"
 
-#: g10/keyedit.c:4591
+#: g10/keyedit.c:4592
 #, fuzzy, c-format
 msgid "this key has already been designated as a revoker\n"
 msgstr "AVISO: Esta chave foi revogada pelo seu dono!\n"
 
-#: g10/keyedit.c:4609
+#: g10/keyedit.c:4610
 #, fuzzy
 msgid "WARNING: appointing a key as a designated revoker cannot be undone!\n"
 msgstr "não pode escolher uma chave como revogadora de si mesmo\n"
 
-#: g10/keyedit.c:4615
+#: g10/keyedit.c:4616
 #, fuzzy
 msgid ""
 "Are you sure you want to appoint this key as a designated revoker? (y/N) "
 msgstr "não pode escolher uma chave como revogadora de si mesmo\n"
 
-#: g10/keyedit.c:4683
+#: g10/keyedit.c:4684
 #, fuzzy
 msgid ""
 "Are you sure you want to change the expiration time for multiple subkeys? (y/"
 "N) "
 msgstr "não pode escolher uma chave como revogadora de si mesmo\n"
 
-#: g10/keyedit.c:4688
+#: g10/keyedit.c:4689
 #, fuzzy
 msgid "Changing expiration time for a subkey.\n"
 msgstr "A modificar a data de validade para uma chave secundária.\n"
 
-#: g10/keyedit.c:4691
+#: g10/keyedit.c:4692
 msgid "Changing expiration time for the primary key.\n"
 msgstr "Modificar a data de validade para uma chave primária.\n"
 
-#: g10/keyedit.c:4747
+#: g10/keyedit.c:4748
 #, c-format
 msgid "You can't change the expiration date of a v3 key\n"
 msgstr "Você não pode modificar a data de validade de uma chave v3\n"
 
-#: g10/keyedit.c:4807
+#: g10/keyedit.c:4808
 #, fuzzy
 msgid "Changing usage of a subkey.\n"
 msgstr "A modificar a data de validade para uma chave secundária.\n"
 
-#: g10/keyedit.c:4810
+#: g10/keyedit.c:4811
 #, fuzzy
 #| msgid "Changing expiration time for the primary key.\n"
 msgid "Changing usage of the primary key.\n"
 msgstr "Modificar a data de validade para uma chave primária.\n"
 
-#: g10/keyedit.c:4928
+#: g10/keyedit.c:4929
 #, fuzzy, c-format
 msgid "signing subkey %s is already cross-certified\n"
 msgstr "não pode escolher uma chave como revogadora de si mesmo\n"
 
-#: g10/keyedit.c:4934
+#: g10/keyedit.c:4935
 #, c-format
 msgid "subkey %s does not sign and so does not need to be cross-certified\n"
 msgstr ""
 
-#: g10/keyedit.c:5051
+#: g10/keyedit.c:5052
 msgid "Please select exactly one user ID.\n"
 msgstr "Seleccione exactamente um identificador de utilizador.\n"
 
-#: g10/keyedit.c:5092 g10/keyedit.c:5206 g10/keyedit.c:5319 g10/keyedit.c:5457
+#: g10/keyedit.c:5093 g10/keyedit.c:5207 g10/keyedit.c:5320 g10/keyedit.c:5458
 #, fuzzy, c-format
 msgid "skipping v3 self-signature on user ID \"%s\"\n"
 msgstr "a ignorar auto-assinatura v3 no utilizar com o id \"%s\"\n"
 
-#: g10/keyedit.c:5263
+#: g10/keyedit.c:5264
 msgid "Enter your preferred keyserver URL: "
 msgstr ""
 
-#: g10/keyedit.c:5342
+#: g10/keyedit.c:5343
 #, fuzzy
 msgid "Are you sure you want to replace it? (y/N) "
 msgstr "Você tem certeza de que quer adicioná-la de qualquer forma? (s/N) "
 
-#: g10/keyedit.c:5343
+#: g10/keyedit.c:5344
 #, fuzzy
 msgid "Are you sure you want to delete it? (y/N) "
 msgstr "Você tem certeza de que quer adicioná-la de qualquer forma? (s/N) "
 
-#: g10/keyedit.c:5403
+#: g10/keyedit.c:5404
 #, fuzzy
 msgid "Enter the notation: "
 msgstr "Notação de assinatura: "
 
-#: g10/keyedit.c:5550
+#: g10/keyedit.c:5551
 #, fuzzy
 msgid "Proceed? (y/N) "
 msgstr "Escrever por cima (s/N)? "
 
-#: g10/keyedit.c:5620
+#: g10/keyedit.c:5621
 #, c-format
 msgid "No user ID with index %d\n"
 msgstr "Nenhum ID de utilizador com índice %d\n"
 
-#: g10/keyedit.c:5682
+#: g10/keyedit.c:5683
 #, fuzzy, c-format
 msgid "No user ID with hash %s\n"
 msgstr "Nenhum ID de utilizador com índice %d\n"
 
-#: g10/keyedit.c:5783
+#: g10/keyedit.c:5784
 #, fuzzy, c-format
 msgid "No subkey with key ID '%s'.\n"
 msgstr "Nenhum ID de utilizador com índice %d\n"
 
-#: g10/keyedit.c:5805
+#: g10/keyedit.c:5806
 #, fuzzy, c-format
 msgid "No subkey with index %d\n"
 msgstr "Nenhum ID de utilizador com índice %d\n"
 
-#: g10/keyedit.c:5946
+#: g10/keyedit.c:5947
 #, fuzzy, c-format
 msgid "user ID: \"%s\"\n"
 msgstr "ID de utilizador: \""
 
-#: g10/keyedit.c:5949 g10/keyedit.c:6051 g10/keyedit.c:6099
+#: g10/keyedit.c:5950 g10/keyedit.c:6052 g10/keyedit.c:6100
 #, fuzzy, c-format
 msgid "signed by your key %s on %s%s%s\n"
 msgstr "   assinado por %08lX em %s%s%s\n"
 
-#: g10/keyedit.c:5951 g10/keyedit.c:6053 g10/keyedit.c:6101
+#: g10/keyedit.c:5952 g10/keyedit.c:6054 g10/keyedit.c:6102
 msgid " (non-exportable)"
 msgstr "  (não-exportável)"
 
-#: g10/keyedit.c:5955
+#: g10/keyedit.c:5956
 #, c-format
 msgid "This signature expired on %s.\n"
 msgstr "Esta assinatura expirou em %s.\n"
 
-#: g10/keyedit.c:5960
+#: g10/keyedit.c:5961
 msgid "Are you sure you still want to revoke it? (y/N) "
 msgstr "Tem a certeza de que quer revogá-la de qualquer forma? (s/N) "
 
-#: g10/keyedit.c:5965
+#: g10/keyedit.c:5966
 msgid "Create a revocation certificate for this signature? (y/N) "
 msgstr "Gerar um certificado de revogação para esta assinatura? (s/N)"
 
-#: g10/keyedit.c:6025
+#: g10/keyedit.c:6026
 #, fuzzy, c-format
 msgid "You have signed these user IDs on key %s:\n"
 msgstr "Assinou estes identificadores de utilizadores:\n"
 
-#: g10/keyedit.c:6054
+#: g10/keyedit.c:6055
 #, fuzzy
 msgid " (non-revocable)"
 msgstr "  (não-exportável)"
 
-#: g10/keyedit.c:6061
+#: g10/keyedit.c:6062
 #, fuzzy, c-format
 msgid "revoked by your key %s on %s\n"
 msgstr "   revogado por %08lX em %s\n"
 
-#: g10/keyedit.c:6086
+#: g10/keyedit.c:6087
 msgid "You are about to revoke these signatures:\n"
 msgstr "Está prestes a revogar estas assinaturas:\n"
 
-#: g10/keyedit.c:6109
+#: g10/keyedit.c:6110
 msgid "Really create the revocation certificates? (y/N) "
 msgstr "Realmente criar os certificados de revogação? (s/N) "
 
-#: g10/keyedit.c:6142
+#: g10/keyedit.c:6143
 #, c-format
 msgid "no secret key\n"
 msgstr "nenhuma chave secreta\n"
 
-#: g10/keyedit.c:6190
+#: g10/keyedit.c:6191
 #, c-format
 msgid "tried to revoke a non-user ID: %s\n"
 msgstr ""
 
-#: g10/keyedit.c:6200
+#: g10/keyedit.c:6201
 #, c-format
 msgid "user ID \"%s\" is already revoked\n"
 msgstr "o utilizador com o id \"%s\" já está revocado\n"
 
-#: g10/keyedit.c:6217
+#: g10/keyedit.c:6218
 #, c-format
 msgid "WARNING: a user ID signature is dated %d seconds in the future\n"
 msgstr ""
 "AVISO: a assintura do ID do utilizador tem data %d segundos no futuro\n"
 
-#: g10/keyedit.c:6313
+#: g10/keyedit.c:6314
 #, fuzzy, c-format
 #| msgid "You can't delete the last user ID!\n"
 msgid "Cannot revoke the last valid user ID.\n"
 msgstr "Você não pode remover o último ID de utilizador!\n"
 
-#: g10/keyedit.c:6351
+#: g10/keyedit.c:6352
 #, fuzzy, c-format
 msgid "Key %s is already revoked.\n"
 msgstr "o utilizador com o id \"%s\" já está revocado\n"
 
-#: g10/keyedit.c:6413
+#: g10/keyedit.c:6414
 #, fuzzy, c-format
 msgid "Subkey %s is already revoked.\n"
 msgstr "o utilizador com o id \"%s\" já está revocado\n"
 
-#: g10/keyedit.c:6510
+#: g10/keyedit.c:6511
 #, fuzzy, c-format
 msgid "Displaying %s photo ID of size %ld for key %s (uid %d)\n"
 msgstr ""
@@ -5935,80 +5953,75 @@ msgstr "a URL de política de assinatura dada é inválida\n"
 msgid "honor the PKA record set on a key when retrieving keys"
 msgstr ""
 
-#: g10/keyserver.c:550
+#: g10/keyserver.c:373
 #, fuzzy
 msgid "disabled"
 msgstr "disable"
 
-#: g10/keyserver.c:754
+#: g10/keyserver.c:577
 msgid "Enter number(s), N)ext, or Q)uit > "
 msgstr ""
 
-#: g10/keyserver.c:860
+#: g10/keyserver.c:683
 #, fuzzy, c-format
 msgid "invalid keyserver protocol (us %d!=handler %d)\n"
 msgstr "opções de exportação inválidas\n"
 
-#: g10/keyserver.c:1001 g10/keyserver.c:1116
+#: g10/keyserver.c:824 g10/keyserver.c:939
 #, c-format
 msgid "\"%s\" not a key ID: skipping\n"
 msgstr ""
 
-#: g10/keyserver.c:1438 g10/keyserver.c:1471
+#: g10/keyserver.c:1237 g10/keyserver.c:1270
 #, fuzzy, c-format
 msgid "refreshing %d key from %s\n"
 msgid_plural "refreshing %d keys from %s\n"
 msgstr[0] "a pedir a chave %08lX de %s\n"
 msgstr[1] "a pedir a chave %08lX de %s\n"
 
-#: g10/keyserver.c:1445
+#: g10/keyserver.c:1244
 #, fuzzy, c-format
 msgid "WARNING: unable to refresh key %s via %s: %s\n"
 msgstr "AVISO: dono pouco seguro em %s \"%s\"\n"
 
-#: g10/keyserver.c:1549
+#: g10/keyserver.c:1336
 #, fuzzy, c-format
 msgid "key \"%s\" not found on keyserver\n"
 msgstr "chave `%s' não encontrada: %s\n"
 
-#: g10/keyserver.c:1552
+#: g10/keyserver.c:1339
 #, fuzzy, c-format
 msgid "key not found on keyserver\n"
 msgstr "chave `%s' não encontrada: %s\n"
 
-#: g10/keyserver.c:1743
-#, fuzzy, c-format
-msgid "requesting key %s from %s server %s\n"
-msgstr "a pedir a chave %08lX de %s\n"
-
-#: g10/keyserver.c:1747
+#: g10/keyserver.c:1504
 #, fuzzy, c-format
 msgid "requesting key %s from %s\n"
 msgstr "a pedir a chave %08lX de %s\n"
 
-#: g10/keyserver.c:1852 g10/keyserver.c:2031
+#: g10/keyserver.c:1619 g10/keyserver.c:1798
 #, fuzzy, c-format
 msgid "no keyserver known\n"
 msgstr "opções de exportação inválidas\n"
 
-#: g10/keyserver.c:1867 g10/skclist.c:214 g10/skclist.c:242
+#: g10/keyserver.c:1634 g10/skclist.c:215 g10/skclist.c:243
 #, fuzzy, c-format
 msgid "skipped \"%s\": %s\n"
 msgstr "ignorado `%s': %s\n"
 
-#: g10/keyserver.c:1871
+#: g10/keyserver.c:1638
 #, fuzzy, c-format
 msgid "sending key %s to %s\n"
 msgstr ""
 "\"\n"
 "assinado com a sua chave %08lX em %s\n"
 
-#: g10/keyserver.c:1912
+#: g10/keyserver.c:1679
 #, fuzzy, c-format
 msgid "requesting key from '%s'\n"
 msgstr "a pedir a chave %08lX de %s\n"
 
-#: g10/keyserver.c:1928
+#: g10/keyserver.c:1695
 #, fuzzy, c-format
 msgid "WARNING: unable to fetch URI %s: %s\n"
 msgstr "AVISO: dono pouco seguro em %s \"%s\"\n"
@@ -6023,258 +6036,258 @@ msgstr "tamanho estranho para uma chave de sessão cifrada (%d)\n"
 msgid "%s encrypted session key\n"
 msgstr "tamanho estranho para uma chave de sessão cifrada (%d)\n"
 
-#: g10/mainproc.c:400
+#: g10/mainproc.c:403
 #, fuzzy, c-format
 msgid "passphrase generated with unknown digest algorithm %d\n"
 msgstr "cifrado com algoritmo desconhecido %d\n"
 
-#: g10/mainproc.c:481
+#: g10/mainproc.c:485
 #, fuzzy, c-format
 msgid "public key is %s\n"
 msgstr "a chave pública é %08lX\n"
 
-#: g10/mainproc.c:557
+#: g10/mainproc.c:561
 #, c-format
 msgid "public key encrypted data: good DEK\n"
 msgstr "dados cifrados com chave pública: DEK válido\n"
 
-#: g10/mainproc.c:590
+#: g10/mainproc.c:594
 #, fuzzy, c-format
 msgid "encrypted with %u-bit %s key, ID %s, created %s\n"
 msgstr "cifrado com chave %u-bit %s, ID %08lX, criada em %s\n"
 
-#: g10/mainproc.c:594 g10/pkclist.c:228
+#: g10/mainproc.c:598 g10/pkclist.c:228
 #, fuzzy, c-format
 msgid "      \"%s\"\n"
 msgstr "                   ou \""
 
-#: g10/mainproc.c:598
+#: g10/mainproc.c:602
 #, fuzzy, c-format
 msgid "encrypted with %s key, ID %s\n"
 msgstr "cifrado com chave %s, ID %08lX\n"
 
-#: g10/mainproc.c:619
+#: g10/mainproc.c:623
 #, c-format
 msgid "public key decryption failed: %s\n"
 msgstr "decifragem de chave pública falhou: %s\n"
 
-#: g10/mainproc.c:641 g10/mainproc.c:970
+#: g10/mainproc.c:645 g10/mainproc.c:976
 #, c-format
 msgid "WARNING: multiple plaintexts seen\n"
 msgstr ""
 
-#: g10/mainproc.c:649
+#: g10/mainproc.c:653
 #, fuzzy, c-format
 msgid "encrypted with %lu passphrases\n"
 msgstr "Repita a frase secreta\n"
 
-#: g10/mainproc.c:651
+#: g10/mainproc.c:655
 #, fuzzy, c-format
 msgid "encrypted with 1 passphrase\n"
 msgstr "Repita a frase secreta\n"
 
-#: g10/mainproc.c:685 g10/mainproc.c:706
+#: g10/mainproc.c:689 g10/mainproc.c:710
 #, c-format
 msgid "assuming %s encrypted data\n"
 msgstr "a assumir dados cifrados %s\n"
 
-#: g10/mainproc.c:692
+#: g10/mainproc.c:696
 #, c-format
 msgid "IDEA cipher unavailable, optimistically attempting to use %s instead\n"
 msgstr "Cifra IDEO não disponível, a tentar utilizar %s em substituição\n"
 
-#: g10/mainproc.c:779 g10/mainproc.c:817
+#: g10/mainproc.c:785 g10/mainproc.c:823
 #, c-format
 msgid "WARNING: message was not integrity protected\n"
 msgstr "AVISO: a mensagem não tinha a sua integridade protegida\n"
 
-#: g10/mainproc.c:790
+#: g10/mainproc.c:796
 msgid ""
 "Hint: If this message was created before the year 2003 it is\n"
 "likely that this message is legitimate.  This is because back\n"
 "then integrity protection was not widely used.\n"
 msgstr ""
 
-#: g10/mainproc.c:793
+#: g10/mainproc.c:799
 #, c-format
 msgid "Use the option '%s' to decrypt anyway.\n"
 msgstr ""
 
-#: g10/mainproc.c:798
+#: g10/mainproc.c:804
 #, fuzzy, c-format
 #| msgid "decryption failed: %s\n"
 msgid "decryption forced to fail!\n"
 msgstr "decifragem falhou: %s\n"
 
-#: g10/mainproc.c:810
+#: g10/mainproc.c:816
 #, c-format
 msgid "decryption okay\n"
 msgstr "decifragem correcta\n"
 
-#: g10/mainproc.c:823
+#: g10/mainproc.c:829
 #, c-format
 msgid "WARNING: encrypted message has been manipulated!\n"
 msgstr "CUIDADO: a mensagem cifrada foi manipulada!\n"
 
-#: g10/mainproc.c:841
+#: g10/mainproc.c:847
 #, c-format
 msgid "decryption failed: %s\n"
 msgstr "decifragem falhou: %s\n"
 
-#: g10/mainproc.c:886
+#: g10/mainproc.c:892
 #, fuzzy, c-format
 #| msgid "NOTE: sender requested \"for-your-eyes-only\"\n"
 msgid "Note: sender requested \"for-your-eyes-only\"\n"
 msgstr "NOTA: o remetente solicitou \"apenas-para-seus-olhos\"\n"
 
-#: g10/mainproc.c:893
+#: g10/mainproc.c:899
 #, c-format
 msgid "original file name='%.*s'\n"
 msgstr "nome do ficheiro original='%.*s'\n"
 
-#: g10/mainproc.c:1148
+#: g10/mainproc.c:1154
 #, c-format
 msgid "standalone revocation - use \"gpg --import\" to apply\n"
 msgstr "revocação solitária - utilize \"gpg --import\" para aplicar\n"
 
-#: g10/mainproc.c:1452 g10/mainproc.c:1495
+#: g10/mainproc.c:1458 g10/mainproc.c:1501
 #, fuzzy, c-format
 msgid "no signature found\n"
 msgstr "Assinatura correcta de \""
 
-#: g10/mainproc.c:1852
+#: g10/mainproc.c:1858
 #, fuzzy, c-format
 msgid "BAD signature from \"%s\""
 msgstr "Assinatura INCORRECTA de \""
 
-#: g10/mainproc.c:1854
+#: g10/mainproc.c:1860
 #, fuzzy, c-format
 msgid "Expired signature from \"%s\""
 msgstr "Assinatura expirada de \""
 
-#: g10/mainproc.c:1856
+#: g10/mainproc.c:1862
 #, fuzzy, c-format
 msgid "Good signature from \"%s\""
 msgstr "Assinatura correcta de \""
 
-#: g10/mainproc.c:1876
+#: g10/mainproc.c:1882
 #, c-format
 msgid "signature verification suppressed\n"
 msgstr "verificação de assinatura suprimida\n"
 
-#: g10/mainproc.c:1985
+#: g10/mainproc.c:1991
 #, fuzzy, c-format
 msgid "can't handle this ambiguous signature data\n"
 msgstr "não consigo tratar estas assinaturas múltiplas\n"
 
-#: g10/mainproc.c:2001 g10/mainproc.c:2008
+#: g10/mainproc.c:2007 g10/mainproc.c:2014
 #, fuzzy, c-format
 msgid "Signature made %s\n"
 msgstr "Esta assinatura expirou em %s.\n"
 
-#: g10/mainproc.c:2002 g10/mainproc.c:2009 sm/verify.c:476
+#: g10/mainproc.c:2008 g10/mainproc.c:2015 sm/verify.c:476
 #, fuzzy, c-format
 msgid "               using %s key %s\n"
 msgstr "                   ou \""
 
-#: g10/mainproc.c:2013
+#: g10/mainproc.c:2019
 #, fuzzy, c-format
 msgid "Signature made %s using %s key ID %s\n"
 msgstr "Assinatura feita em %.*s usando %s, ID da chave %08lX\n"
 
-#: g10/mainproc.c:2019
+#: g10/mainproc.c:2025
 #, fuzzy, c-format
 msgid "               issuer \"%s\"\n"
 msgstr "                   ou \""
 
-#: g10/mainproc.c:2070
+#: g10/mainproc.c:2076
 #, fuzzy, c-format
 msgid "Key available at: "
 msgstr "Nenhuma ajuda disponível"
 
-#: g10/mainproc.c:2111
+#: g10/mainproc.c:2118
 #, c-format
 msgid "Note: Use '%s' to make use of this info\n"
 msgstr ""
 
-#: g10/mainproc.c:2325
+#: g10/mainproc.c:2334
 msgid "[uncertain]"
 msgstr "[incerto]"
 
-#: g10/mainproc.c:2363
+#: g10/mainproc.c:2372
 #, fuzzy, c-format
 msgid "                aka \"%s\""
 msgstr "                   ou \""
 
-#: g10/mainproc.c:2438
+#: g10/mainproc.c:2447
 #, fuzzy, c-format
 #| msgid "WARNING: This key is not certified with a trusted signature!\n"
 msgid "WARNING: This key is not suitable for signing in %s mode\n"
 msgstr "AVISO: Esta chave não está certificada com uma assinatura confiável!\n"
 
-#: g10/mainproc.c:2456
+#: g10/mainproc.c:2465
 #, fuzzy, c-format
 msgid "Signature expired %s\n"
 msgstr "Esta assinatura expirou em %s.\n"
 
-#: g10/mainproc.c:2460
+#: g10/mainproc.c:2469
 #, fuzzy, c-format
 msgid "Signature expires %s\n"
 msgstr "Esta assinatura expirou em %s.\n"
 
-#: g10/mainproc.c:2471
+#: g10/mainproc.c:2480
 #, fuzzy, c-format
 msgid "%s signature, digest algorithm %s%s%s\n"
 msgstr "assinatura %s de: \"%s\"\n"
 
-#: g10/mainproc.c:2472
+#: g10/mainproc.c:2481
 #, fuzzy
 msgid "binary"
 msgstr "primary"
 
-#: g10/mainproc.c:2473
+#: g10/mainproc.c:2482
 msgid "textmode"
 msgstr ""
 
-#: g10/mainproc.c:2473 g10/trust.c:123 dirmngr/ocsp.c:792
+#: g10/mainproc.c:2482 g10/trust.c:123 dirmngr/ocsp.c:792
 #, fuzzy
 msgid "unknown"
 msgstr "versão desconhecida"
 
-#: g10/mainproc.c:2475
+#: g10/mainproc.c:2484
 #, fuzzy
 #| msgid "unknown pubkey algorithm"
 msgid ", key algorithm "
 msgstr "algoritmo de chave pública desconhecido"
 
-#: g10/mainproc.c:2510
+#: g10/mainproc.c:2519
 #, c-format
 msgid "WARNING: not a detached signature; file '%s' was NOT verified!\n"
 msgstr ""
 
-#: g10/mainproc.c:2548
+#: g10/mainproc.c:2558
 #, c-format
 msgid "Can't check signature: %s\n"
 msgstr "Impossível verificar assinatura: %s\n"
 
-#: g10/mainproc.c:2644 g10/mainproc.c:2663 g10/mainproc.c:2787
+#: g10/mainproc.c:2654 g10/mainproc.c:2673 g10/mainproc.c:2797
 #, c-format
 msgid "not a detached signature\n"
 msgstr "não é uma assinatura separada\n"
 
-#: g10/mainproc.c:2697
+#: g10/mainproc.c:2707
 #, c-format
 msgid ""
 "WARNING: multiple signatures detected.  Only the first will be checked.\n"
 msgstr ""
 "AVISO: várias assinaturas detectadas.  Apenas a primeira será verificada.\n"
 
-#: g10/mainproc.c:2706
+#: g10/mainproc.c:2716
 #, c-format
 msgid "standalone signature of class 0x%02x\n"
 msgstr "assinatura de classe 0x%02x\n"
 
-#: g10/mainproc.c:2791
+#: g10/mainproc.c:2801
 #, c-format
 msgid "old style (PGP 2.x) signature\n"
 msgstr "formato de assinatura antigo (PGP2.x)\n"
@@ -6462,56 +6475,61 @@ msgstr "Notação de assinatura crítica: "
 msgid "subpacket of type %d has critical bit set\n"
 msgstr "subpacote do tipo %d tem bit crítico ligado\n"
 
-#: g10/passphrase.c:73 g10/passphrase.c:275 g10/passphrase.c:308
+#: g10/passphrase.c:73 g10/passphrase.c:283 g10/passphrase.c:316
 #, fuzzy, c-format
 msgid "problem with the agent: %s\n"
 msgstr "problema com o agente: o agente returnou 0x%lx\n"
 
-#: g10/passphrase.c:258
+#: g10/passphrase.c:251 sm/decrypt.c:341
+#, fuzzy
+msgid "Please enter the passphrase for decryption."
+msgstr "muda a frase secreta"
+
+#: g10/passphrase.c:253
 msgid "Enter passphrase\n"
 msgstr "Insira a frase secreta\n"
 
-#: g10/passphrase.c:269
+#: g10/passphrase.c:277
 #, c-format
 msgid "cancelled by user\n"
 msgstr "cancelado pelo utilizador\n"
 
-#: g10/passphrase.c:510
+#: g10/passphrase.c:523
 #, fuzzy, c-format
 msgid " (main key ID %s)"
 msgstr " (ID principal da chave %08lX)"
 
-#: g10/passphrase.c:517
+#: g10/passphrase.c:530
 #, fuzzy
 msgid "Please enter the passphrase to unlock the OpenPGP secret key:"
 msgstr "Por favor digite a frase secreta \n"
 
-#: g10/passphrase.c:521
+#: g10/passphrase.c:534
 #, fuzzy
 msgid "Please enter the passphrase to import the OpenPGP secret key:"
 msgstr "Por favor digite a frase secreta \n"
 
-#: g10/passphrase.c:526
+#: g10/passphrase.c:539
 #, fuzzy
 msgid "Please enter the passphrase to export the OpenPGP secret subkey:"
 msgstr "Por favor digite a frase secreta \n"
 
-#: g10/passphrase.c:529
+#: g10/passphrase.c:542
 #, fuzzy
 msgid "Please enter the passphrase to export the OpenPGP secret key:"
 msgstr "Por favor digite a frase secreta \n"
 
-#: g10/passphrase.c:534
+#: g10/passphrase.c:547
 #, fuzzy
 msgid "Do you really want to permanently delete the OpenPGP secret subkey key:"
 msgstr "Você quer realmente remover as chaves selecionadas? "
 
-#: g10/passphrase.c:537
+#: g10/passphrase.c:550
 #, fuzzy
 msgid "Do you really want to permanently delete the OpenPGP secret key:"
 msgstr "Você quer realmente remover as chaves selecionadas? "
 
-#: g10/passphrase.c:546
+#: g10/passphrase.c:559
 #, fuzzy, c-format
 msgid ""
 "%s\n"
@@ -6559,7 +6577,7 @@ msgstr "%s: não é um base de dados de confiança\n"
 msgid "Is this photo correct (y/N/q)? "
 msgstr "Está correto (s/n)? "
 
-#: g10/photoid.c:395
+#: g10/photoid.c:399
 #, fuzzy, c-format
 msgid "unable to display photo ID!\n"
 msgstr "não foi possível alterar o exec-path para %s\n"
@@ -6917,7 +6935,7 @@ msgstr "impossível abrir dados assinados `%s'\n"
 msgid "can't open signed data fd=%d: %s\n"
 msgstr "impossível abrir dados assinados `%s'\n"
 
-#: g10/pubkey-enc.c:98 g10/pubkey-enc.c:139 sm/decrypt.c:493
+#: g10/pubkey-enc.c:98 g10/pubkey-enc.c:139 sm/decrypt.c:969
 #, fuzzy, c-format
 msgid "key %s is not suitable for decryption in %s mode\n"
 msgstr "chave %08lX: sem ID de utilizador\n"
@@ -6932,27 +6950,27 @@ msgstr "destinatário anónimo; a tentar chave secreta %08lX ...\n"
 msgid "okay, we are the anonymous recipient.\n"
 msgstr "certo, nós somos o destinatário anónimo.\n"
 
-#: g10/pubkey-enc.c:321
+#: g10/pubkey-enc.c:311
 #, c-format
 msgid "old encoding of the DEK is not supported\n"
 msgstr "codificação antiga do DEK não suportada\n"
 
-#: g10/pubkey-enc.c:349
+#: g10/pubkey-enc.c:339
 #, c-format
 msgid "cipher algorithm %d%s is unknown or disabled\n"
 msgstr "algoritmo de cifra %d%s é desconhecido ou foi desactivado\n"
 
-#: g10/pubkey-enc.c:393
+#: g10/pubkey-enc.c:383
 #, fuzzy, c-format
 msgid "WARNING: cipher algorithm %s not found in recipient preferences\n"
 msgstr "NOTA: algoritmo de cifragem %d não encontrado nas preferências\n"
 
-#: g10/pubkey-enc.c:426
+#: g10/pubkey-enc.c:416
 #, fuzzy, c-format
 msgid "Note: secret key %s expired at %s\n"
 msgstr "NOTA: chave secreta %08lX expirou em %s\n"
 
-#: g10/pubkey-enc.c:433
+#: g10/pubkey-enc.c:423
 #, fuzzy, c-format
 #| msgid "NOTE: key has been revoked"
 msgid "Note: key has been revoked"
@@ -7265,7 +7283,7 @@ msgstr ""
 msgid "%s/%s signature from: \"%s\"\n"
 msgstr "assinatura %s de: \"%s\"\n"
 
-#: g10/sign.c:1046
+#: g10/sign.c:1045
 #, fuzzy, c-format
 msgid ""
 "WARNING: forcing digest algorithm %s (%d) violates recipient preferences\n"
@@ -7273,33 +7291,33 @@ msgstr ""
 "forçar o algoritmo de 'digest' %s (%d) viola as preferências do "
 "destinatário\n"
 
-#: g10/sign.c:1188
+#: g10/sign.c:1187
 #, c-format
 msgid "signing:"
 msgstr "a assinar:"
 
-#: g10/sign.c:1465
+#: g10/sign.c:1464
 #, c-format
 msgid "%s encryption will be used\n"
 msgstr "será utilizada a cifragem %s\n"
 
-#: g10/skclist.c:173 g10/skclist.c:254
+#: g10/skclist.c:174 g10/skclist.c:255
 #, c-format
 msgid "key is not flagged as insecure - can't use it with the faked RNG!\n"
 msgstr ""
 "a chave não está marcada insegura - impossível usá-la com o RNG falso!\n"
 
-#: g10/skclist.c:205
+#: g10/skclist.c:206
 #, fuzzy, c-format
 msgid "skipped \"%s\": duplicated\n"
 msgstr "ignorado `%s': duplicada\n"
 
-#: g10/skclist.c:224
+#: g10/skclist.c:225
 #, c-format
 msgid "skipped: secret key already present\n"
 msgstr "ignorado: a chave secreta já está presente\n"
 
-#: g10/skclist.c:243
+#: g10/skclist.c:244
 #, fuzzy
 msgid "this is a PGP generated Elgamal key which is not secure for signatures!"
 msgstr ""
@@ -7357,7 +7375,7 @@ msgstr "armadura: %s\n"
 msgid "trustdb: sync failed: %s\n"
 msgstr "base de dados de confiança: sincronização falhou: %s\n"
 
-#: g10/tdbio.c:144 sm/keydb.c:336
+#: g10/tdbio.c:144 sm/keydb.c:335
 #, fuzzy, c-format
 msgid "can't create lock for '%s'\n"
 msgstr "impossível criar `%s': %s\n"
@@ -8094,40 +8112,52 @@ msgstr "Uso: gpg [opções] [ficheiros] (-h para ajuda)"
 #. TRANSLATORS: Put a \x1f right before a colon.  This can be
 #. * used by pinentry to nicely align the names and values.  Keep
 #. * the %s at the start and end of the string.
-#: scd/app-p15.c:3369 scd/app-openpgp.c:2153
+#: scd/app-p15.c:4955 scd/app-openpgp.c:2151
 #, c-format
 msgid "%sNumber\1f: %s%%0AHolder\1f: %s%s"
 msgstr ""
 
 #. TRANSLATORS: This is the number of remaining attempts to
 #. * enter a PIN.  Use %%0A (double-percent,0A) for a linefeed.
-#: scd/app-p15.c:3388 scd/app-openpgp.c:2169
+#: scd/app-p15.c:4974 scd/app-openpgp.c:2167
 #, c-format
 msgid "Remaining attempts: %d"
 msgstr ""
 
-#: scd/app-p15.c:3459 scd/app-nks.c:1110
+#: scd/app-p15.c:5053 scd/app-nks.c:1113
 msgid "||Please enter the PIN for the key to create qualified signatures."
 msgstr ""
 
-#: scd/app-p15.c:3462 scd/app-nks.c:1092
+#. TRANSLATORS: Do not translate the "|A|" prefix but keep it at
+#. the start of the string.  Use %0A (single percent) for a linefeed.
+#: scd/app-p15.c:5056 scd/app-openpgp.c:2461
+#, fuzzy
+msgid "|A|Please enter the Admin PIN"
+msgstr "muda a frase secreta"
+
+#: scd/app-p15.c:5058 scd/app-nks.c:1103
+#, fuzzy
+msgid "|P|Please enter the PIN Unblocking Code (PUK) for the standard keys."
+msgstr "motivo da revocação: "
+
+#: scd/app-p15.c:5061 scd/app-nks.c:1095
 #, fuzzy
 msgid "||Please enter the PIN for the standard keys."
 msgstr "muda a frase secreta"
 
-#: scd/app-nks.c:709 scd/app-openpgp.c:3664
+#: scd/app-nks.c:709 scd/app-openpgp.c:3663
 #, c-format
 msgid "RSA modulus missing or not of size %d bits\n"
 msgstr ""
 
-#: scd/app-nks.c:717 scd/app-openpgp.c:3676
+#: scd/app-nks.c:717 scd/app-openpgp.c:3675
 #, c-format
 msgid "RSA public exponent missing or larger than %d bits\n"
 msgstr ""
 
-#: scd/app-nks.c:797 scd/app-openpgp.c:2326 scd/app-openpgp.c:2345
-#: scd/app-openpgp.c:2512 scd/app-openpgp.c:2530 scd/app-openpgp.c:2827
-#: scd/app-openpgp.c:2874 scd/app-openpgp.c:2989 scd/app-dinsig.c:303
+#: scd/app-nks.c:797 scd/app-openpgp.c:2324 scd/app-openpgp.c:2343
+#: scd/app-openpgp.c:2510 scd/app-openpgp.c:2528 scd/app-openpgp.c:2826
+#: scd/app-openpgp.c:2873 scd/app-openpgp.c:2988 scd/app-dinsig.c:302
 #, c-format
 msgid "PIN callback returned error: %s\n"
 msgstr ""
@@ -8137,79 +8167,74 @@ msgstr ""
 msgid "the NullPIN has not yet been changed\n"
 msgstr ""
 
-#: scd/app-nks.c:1091
+#: scd/app-nks.c:1094
 #, fuzzy
 msgid "|N|Please enter a new PIN for the standard keys."
 msgstr "muda a frase secreta"
 
-#: scd/app-nks.c:1098
+#: scd/app-nks.c:1101
 #, fuzzy
 msgid "|NP|Please enter a new PIN Unblocking Code (PUK) for the standard keys."
 msgstr "motivo da revocação: "
 
-#: scd/app-nks.c:1100
-#, fuzzy
-msgid "|P|Please enter the PIN Unblocking Code (PUK) for the standard keys."
-msgstr "motivo da revocação: "
-
-#: scd/app-nks.c:1108
+#: scd/app-nks.c:1111
 msgid "|N|Please enter a new PIN for the key to create qualified signatures."
 msgstr ""
 
-#: scd/app-nks.c:1118
+#: scd/app-nks.c:1121
 msgid ""
 "|NP|Please enter a new PIN Unblocking Code (PUK) for the key to create "
 "qualified signatures."
 msgstr ""
 
-#: scd/app-nks.c:1120
+#: scd/app-nks.c:1123
 msgid ""
 "|P|Please enter the PIN Unblocking Code (PUK) for the key to create "
 "qualified signatures."
 msgstr ""
 
-#: scd/app-nks.c:1227 scd/app-openpgp.c:2908 scd/app-dinsig.c:531
+#: scd/app-nks.c:1230 scd/app-openpgp.c:2907 scd/app-dinsig.c:532
 #, fuzzy, c-format
 msgid "error getting new PIN: %s\n"
 msgstr "erro na criação da frase secreta: %s\n"
 
-#: scd/app-openpgp.c:860
+#: scd/app-openpgp.c:859
 #, fuzzy, c-format
 msgid "failed to store the fingerprint: %s\n"
 msgstr "falha ao inicializar a base de dados de confiança: %s\n"
 
-#: scd/app-openpgp.c:873
+#: scd/app-openpgp.c:872
 #, fuzzy, c-format
 msgid "failed to store the creation date: %s\n"
 msgstr "falha ao criar 'cache' do porta-chaves: %s\n"
 
-#: scd/app-openpgp.c:1272 scd/app-openpgp.c:2855 scd/app-openpgp.c:5020
+#: scd/app-openpgp.c:1268 scd/app-openpgp.c:2854 scd/app-openpgp.c:5025
 #, c-format
 msgid "error retrieving CHV status from card\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1430
+#: scd/app-openpgp.c:1426
 #, c-format
 msgid "response does not contain the RSA modulus\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1437
+#: scd/app-openpgp.c:1433
 #, c-format
 msgid "response does not contain the RSA public exponent\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1547
+#: scd/app-openpgp.c:1543
 #, fuzzy, c-format
 #| msgid "remove keys from the public keyring"
 msgid "response does not contain the EC public key\n"
 msgstr "remover chaves do porta-chaves público"
 
-#: scd/app-openpgp.c:1665 scd/app-openpgp.c:4284
+#: scd/app-openpgp.c:1661 scd/app-openpgp.c:4283
 #, c-format
 msgid "response does not contain the public key data\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1772
+#: scd/app-openpgp.c:1768
 #, fuzzy, c-format
 msgid "reading public key failed: %s\n"
 msgstr "remoção do bloco de chave falhou: %s\n"
@@ -8217,43 +8242,43 @@ msgstr "remoção do bloco de chave falhou: %s\n"
 #. TRANSLATORS: Put a \x1f right before a colon.  This can be
 #. * used by pinentry to nicely align the names and values.  Keep
 #. * the %s at the start and end of the string.
-#: scd/app-openpgp.c:2140
+#: scd/app-openpgp.c:2138
 #, c-format
 msgid "%sNumber\1f: %s%%0AHolder\1f: %s%%0ACounter\1f: %lu%s"
 msgstr ""
 
-#: scd/app-openpgp.c:2280
+#: scd/app-openpgp.c:2278
 #, c-format
 msgid "using default PIN as %s\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2287
+#: scd/app-openpgp.c:2285
 #, c-format
 msgid "failed to use default PIN as %s: %s - disabling further default use\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2300
+#: scd/app-openpgp.c:2298
 #, fuzzy
 msgid "||Please unlock the card"
 msgstr "muda a frase secreta"
 
-#: scd/app-openpgp.c:2352 scd/app-openpgp.c:2537 scd/app-openpgp.c:2834
+#: scd/app-openpgp.c:2350 scd/app-openpgp.c:2535 scd/app-openpgp.c:2833
 #, c-format
 msgid "PIN for CHV%d is too short; minimum length is %d\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2366 scd/app-openpgp.c:2413 scd/app-openpgp.c:2551
-#: scd/app-openpgp.c:4642
+#: scd/app-openpgp.c:2364 scd/app-openpgp.c:2411 scd/app-openpgp.c:2549
+#: scd/app-openpgp.c:4641
 #, fuzzy, c-format
 msgid "verify CHV%d failed: %s\n"
 msgstr "A geração de chaves falhou: %s\n"
 
-#: scd/app-openpgp.c:2449 scd/app-openpgp.c:5029
+#: scd/app-openpgp.c:2447 scd/app-openpgp.c:5034
 #, c-format
 msgid "card is permanently locked!\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2453
+#: scd/app-openpgp.c:2451
 #, c-format
 msgid "%d Admin PIN attempt remaining before card is permanently locked\n"
 msgid_plural ""
@@ -8261,29 +8286,22 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-#. TRANSLATORS: Do not translate the "|A|" prefix but keep it at
-#. the start of the string.  Use %0A (single percent) for a linefeed.
-#: scd/app-openpgp.c:2463
-#, fuzzy
-msgid "|A|Please enter the Admin PIN"
-msgstr "muda a frase secreta"
-
-#: scd/app-openpgp.c:2484
+#: scd/app-openpgp.c:2482
 #, c-format
 msgid "access to admin commands is not configured\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2821
+#: scd/app-openpgp.c:2820
 #, fuzzy
 msgid "||Please enter the PIN"
 msgstr "muda a frase secreta"
 
-#: scd/app-openpgp.c:2870
+#: scd/app-openpgp.c:2869
 #, fuzzy
 msgid "||Please enter the Reset Code for the card"
 msgstr "motivo da revocação: "
 
-#: scd/app-openpgp.c:2880 scd/app-openpgp.c:2941
+#: scd/app-openpgp.c:2879 scd/app-openpgp.c:2940
 #, c-format
 msgid "Reset Code is too short; minimum length is %d\n"
 msgstr ""
@@ -8291,128 +8309,128 @@ msgstr ""
 #. TRANSLATORS: Do not translate the "|*|" prefixes but
 #. keep it at the start of the string.  We need this elsewhere
 #. to get some infos on the string.
-#: scd/app-openpgp.c:2903
+#: scd/app-openpgp.c:2902
 msgid "|RN|New Reset Code"
 msgstr ""
 
-#: scd/app-openpgp.c:2904
+#: scd/app-openpgp.c:2903
 msgid "|AN|New Admin PIN"
 msgstr ""
 
-#: scd/app-openpgp.c:2904
+#: scd/app-openpgp.c:2903
 msgid "|N|New PIN"
 msgstr ""
 
-#: scd/app-openpgp.c:2985
+#: scd/app-openpgp.c:2984
 #, fuzzy
 msgid "||Please enter the Admin PIN and New Admin PIN"
 msgstr "muda a frase secreta"
 
-#: scd/app-openpgp.c:2986
+#: scd/app-openpgp.c:2985
 #, fuzzy
 msgid "||Please enter the PIN and New PIN"
 msgstr "muda a frase secreta"
 
-#: scd/app-openpgp.c:3048 scd/app-openpgp.c:4344
+#: scd/app-openpgp.c:3047 scd/app-openpgp.c:4343
 #, fuzzy, c-format
 msgid "error reading application data\n"
 msgstr "erro na leitura do bloco de chave: %s\n"
 
-#: scd/app-openpgp.c:3054 scd/app-openpgp.c:4351
+#: scd/app-openpgp.c:3053 scd/app-openpgp.c:4350
 #, fuzzy, c-format
 msgid "error reading fingerprint DO\n"
 msgstr "%s: erro ao ler registo livre: %s\n"
 
-#: scd/app-openpgp.c:3064
+#: scd/app-openpgp.c:3063
 #, fuzzy, c-format
 msgid "key already exists\n"
 msgstr "%s' já comprimido\n"
 
-#: scd/app-openpgp.c:3068
+#: scd/app-openpgp.c:3067
 #, c-format
 msgid "existing key will be replaced\n"
 msgstr ""
 
-#: scd/app-openpgp.c:3070
+#: scd/app-openpgp.c:3069
 #, fuzzy, c-format
 msgid "generating new key\n"
 msgstr "gerar um novo par de chaves"
 
-#: scd/app-openpgp.c:3072
+#: scd/app-openpgp.c:3071
 #, fuzzy, c-format
 msgid "writing new key\n"
 msgstr "gerar um novo par de chaves"
 
-#: scd/app-openpgp.c:3645 scd/app-openpgp.c:3997
+#: scd/app-openpgp.c:3644 scd/app-openpgp.c:3996
 #, c-format
 msgid "creation timestamp missing\n"
 msgstr ""
 
-#: scd/app-openpgp.c:3686 scd/app-openpgp.c:3694
+#: scd/app-openpgp.c:3685 scd/app-openpgp.c:3693
 #, c-format
 msgid "RSA prime %s missing or not of size %d bits\n"
 msgstr ""
 
-#: scd/app-openpgp.c:3827 scd/app-openpgp.c:4104
+#: scd/app-openpgp.c:3826 scd/app-openpgp.c:4103
 #, fuzzy, c-format
 msgid "failed to store the key: %s\n"
 msgstr "falha ao inicializar a base de dados de confiança: %s\n"
 
-#: scd/app-openpgp.c:3991
+#: scd/app-openpgp.c:3990
 #, fuzzy, c-format
 #| msgid "unsupported URI"
 msgid "unsupported curve\n"
 msgstr "URI não suportado"
 
-#: scd/app-openpgp.c:4261
+#: scd/app-openpgp.c:4260
 #, c-format
 msgid "please wait while key is being generated ...\n"
 msgstr ""
 
-#: scd/app-openpgp.c:4269
+#: scd/app-openpgp.c:4268
 #, fuzzy, c-format
 msgid "generating key failed\n"
 msgstr "remoção do bloco de chave falhou: %s\n"
 
-#: scd/app-openpgp.c:4275
+#: scd/app-openpgp.c:4274
 #, fuzzy, c-format
 msgid "key generation completed (%d second)\n"
 msgid_plural "key generation completed (%d seconds)\n"
 msgstr[0] "A geração de chaves falhou: %s\n"
 msgstr[1] "A geração de chaves falhou: %s\n"
 
-#: scd/app-openpgp.c:4309
+#: scd/app-openpgp.c:4308
 #, c-format
 msgid "invalid structure of OpenPGP card (DO 0x93)\n"
 msgstr ""
 
-#: scd/app-openpgp.c:4359
+#: scd/app-openpgp.c:4358
 #, c-format
 msgid "fingerprint on card does not match requested one\n"
 msgstr ""
 
-#: scd/app-openpgp.c:4558
+#: scd/app-openpgp.c:4557
 #, fuzzy, c-format
 msgid "card does not support digest algorithm %s\n"
 msgstr "assinatura %s de: \"%s\"\n"
 
-#: scd/app-openpgp.c:4616
+#: scd/app-openpgp.c:4615
 #, c-format
 msgid "signatures created so far: %lu\n"
 msgstr ""
 
-#: scd/app-openpgp.c:5034
+#: scd/app-openpgp.c:5039
 #, c-format
 msgid ""
 "verification of Admin PIN is currently prohibited through this command\n"
 msgstr ""
 
-#: scd/app-openpgp.c:5346 scd/app-openpgp.c:5357
+#: scd/app-openpgp.c:5351 scd/app-openpgp.c:5362
 #, fuzzy, c-format
 msgid "can't access %s - invalid OpenPGP card?\n"
 msgstr "nenhum dado OpenPGP válido encontrado.\n"
 
-#: scd/app-dinsig.c:299
+#: scd/app-dinsig.c:298
 #, fuzzy
 msgid "||Please enter your PIN at the reader's pinpad"
 msgstr "muda a frase secreta"
@@ -8420,7 +8438,7 @@ msgstr "muda a frase secreta"
 #. TRANSLATORS: Do not translate the "|*|" prefixes but
 #. keep it at the start of the string.  We need this elsewhere
 #. to get some infos on the string.
-#: scd/app-dinsig.c:528
+#: scd/app-dinsig.c:529
 msgid "|N|Initial New PIN"
 msgstr ""
 
@@ -8428,7 +8446,7 @@ msgstr ""
 msgid "run in multi server mode (foreground)"
 msgstr ""
 
-#: scd/scdaemon.c:129 sm/gpgsm.c:345 dirmngr/dirmngr.c:187
+#: scd/scdaemon.c:129 sm/gpgsm.c:348 dirmngr/dirmngr.c:188
 msgid "|LEVEL|set the debugging level to LEVEL"
 msgstr ""
 
@@ -8451,50 +8469,50 @@ msgstr "|NOME|usar NOME como destinatário por omissão"
 msgid "|NAME|use NAME as PC/SC driver"
 msgstr "|NOME|usar NOME como destinatário por omissão"
 
-#: scd/scdaemon.c:145
+#: scd/scdaemon.c:146
 #, fuzzy
 msgid "do not use the internal CCID driver"
 msgstr "nunca usar o terminal"
 
-#: scd/scdaemon.c:151
+#: scd/scdaemon.c:152
 msgid "|N|disconnect the card after N seconds of inactivity"
 msgstr ""
 
-#: scd/scdaemon.c:154
+#: scd/scdaemon.c:155
 msgid "do not use a reader's pinpad"
 msgstr ""
 
-#: scd/scdaemon.c:159
+#: scd/scdaemon.c:160
 #, fuzzy
 msgid "deny the use of admin card commands"
 msgstr "comandos em conflito\n"
 
-#: scd/scdaemon.c:162
+#: scd/scdaemon.c:163
 msgid "use variable length input for pinpad"
 msgstr ""
 
-#: scd/scdaemon.c:311
+#: scd/scdaemon.c:312
 #, fuzzy
 msgid "Usage: @SCDAEMON@ [options] (-h for help)"
 msgstr "Uso: gpg [opções] [ficheiros] (-h para ajuda)"
 
-#: scd/scdaemon.c:313
+#: scd/scdaemon.c:314
 msgid ""
 "Syntax: scdaemon [options] [command [args]]\n"
 "Smartcard daemon for @GNUPG@\n"
 msgstr ""
 
-#: scd/scdaemon.c:806
+#: scd/scdaemon.c:808
 #, c-format
 msgid "please use the option '--daemon' to run the program in the background\n"
 msgstr ""
 
-#: scd/scdaemon.c:1183 dirmngr/dirmngr.c:2082
+#: scd/scdaemon.c:1185 dirmngr/dirmngr.c:2119
 #, c-format
 msgid "handler for fd %d started\n"
 msgstr ""
 
-#: scd/scdaemon.c:1195 dirmngr/dirmngr.c:2090
+#: scd/scdaemon.c:1197 dirmngr/dirmngr.c:2127
 #, c-format
 msgid "handler for fd %d terminated\n"
 msgstr ""
@@ -8542,7 +8560,7 @@ msgstr "a escrever chave privada para `%s'\n"
 msgid "certificate policy not allowed"
 msgstr "a escrever chave privada para `%s'\n"
 
-#: sm/certchain.c:595 sm/keydb.c:1106 sm/keydb.c:1192
+#: sm/certchain.c:595 sm/keydb.c:1084 sm/keydb.c:1171
 #, fuzzy, c-format
 msgid "failed to get the fingerprint\n"
 msgstr "falha ao inicializar a base de dados de confiança: %s\n"
@@ -8578,8 +8596,8 @@ msgstr "erro na criação da frase secreta: %s\n"
 msgid "dirmngr cache-only key lookup failed: %s\n"
 msgstr "remoção do bloco de chave falhou: %s\n"
 
-#: sm/certchain.c:1041 sm/certchain.c:1554 sm/certchain.c:2192 sm/decrypt.c:265
-#: sm/encrypt.c:344 sm/import.c:415 sm/keydb.c:1113 sm/keydb.c:1199
+#: sm/certchain.c:1041 sm/certchain.c:1554 sm/certchain.c:2192 sm/decrypt.c:728
+#: sm/encrypt.c:345 sm/import.c:415 sm/keydb.c:1091 sm/keydb.c:1178
 #: sm/sign.c:337 sm/verify.c:118
 #, fuzzy, c-format
 msgid "failed to allocate keyDB handle\n"
@@ -8777,13 +8795,13 @@ msgid "a %u bit hash is not valid for a %u bit %s key\n"
 msgstr ""
 
 #: sm/certcheck.c:238 sm/certcheck.c:262 dirmngr/crlcache.c:1542
-#: dirmngr/crlcache.c:1566 dirmngr/dirmngr.c:1324 dirmngr/validate.c:903
+#: dirmngr/crlcache.c:1566 dirmngr/dirmngr.c:1361 dirmngr/validate.c:903
 #: dirmngr/validate.c:927
 #, fuzzy, c-format
 msgid "out of core\n"
 msgstr "não processado"
 
-#: sm/certcheck.c:371 sm/verify.c:213
+#: sm/certcheck.c:370 sm/verify.c:213
 #, c-format
 msgid "(this is the MD2 algorithm)\n"
 msgstr ""
@@ -9082,22 +9100,33 @@ msgstr ""
 msgid "resource problem: out of core\n"
 msgstr ""
 
-#: sm/decrypt.c:341
+#: sm/decrypt.c:536
+#, fuzzy, c-format
+#| msgid "%s encrypted data\n"
+msgid "%s.%s encrypted data\n"
+msgstr "dados cifrados com %s\n"
+
+#: sm/decrypt.c:803
 #, c-format
 msgid "(this is the RC2 algorithm)\n"
 msgstr ""
 
-#: sm/decrypt.c:343
+#: sm/decrypt.c:805
 #, c-format
 msgid "(this does not seem to be an encrypted message)\n"
 msgstr ""
 
+#: sm/decrypt.c:958
+#, fuzzy, c-format
+msgid "encrypted to %s key %s\n"
+msgstr "cifrado com chave %s, ID %08lX\n"
+
 #: sm/delete.c:51 sm/delete.c:112
 #, fuzzy, c-format
 msgid "certificate '%s' not found: %s\n"
 msgstr "chave `%s' não encontrada: %s\n"
 
-#: sm/delete.c:122 sm/keydb.c:1209 sm/keydb.c:1307
+#: sm/delete.c:122 sm/keydb.c:1189 sm/keydb.c:1288
 #, fuzzy, c-format
 msgid "error locking keybox: %s\n"
 msgstr "erro na leitura do bloco de chave: %s\n"
@@ -9117,141 +9146,141 @@ msgstr "preferência %c%lu duplicada\n"
 msgid "deleting certificate \"%s\" failed: %s\n"
 msgstr "remoção do bloco de chave falhou: %s\n"
 
-#: sm/encrypt.c:330
+#: sm/encrypt.c:331
 #, fuzzy, c-format
 msgid "no valid recipients given\n"
 msgstr "resposta do agente inválida\n"
 
-#: sm/gpgsm.c:215
+#: sm/gpgsm.c:216
 #, fuzzy
 msgid "list external keys"
 msgstr "listar as chaves secretas"
 
-#: sm/gpgsm.c:217
+#: sm/gpgsm.c:218
 #, fuzzy
 msgid "list certificate chain"
 msgstr "certificado incorrecto"
 
-#: sm/gpgsm.c:225
+#: sm/gpgsm.c:226
 #, fuzzy
 msgid "import certificates"
 msgstr "certificado incorrecto"
 
-#: sm/gpgsm.c:226
+#: sm/gpgsm.c:227
 #, fuzzy
 msgid "export certificates"
 msgstr "certificado incorrecto"
 
-#: sm/gpgsm.c:234
+#: sm/gpgsm.c:235
 msgid "register a smartcard"
 msgstr ""
 
-#: sm/gpgsm.c:237
+#: sm/gpgsm.c:238
 msgid "pass a command to the dirmngr"
 msgstr ""
 
-#: sm/gpgsm.c:239
+#: sm/gpgsm.c:240
 msgid "invoke gpg-protect-tool"
 msgstr ""
 
-#: sm/gpgsm.c:256
+#: sm/gpgsm.c:257
 #, fuzzy
 msgid "create base-64 encoded output"
 msgstr "criar saída com armadura ascii"
 
-#: sm/gpgsm.c:265
+#: sm/gpgsm.c:266
 msgid "assume input is in PEM format"
 msgstr ""
 
-#: sm/gpgsm.c:267
+#: sm/gpgsm.c:268
 msgid "assume input is in base-64 format"
 msgstr ""
 
-#: sm/gpgsm.c:269
+#: sm/gpgsm.c:270
 msgid "assume input is in binary format"
 msgstr ""
 
-#: sm/gpgsm.c:276
+#: sm/gpgsm.c:277
 msgid "never consult a CRL"
 msgstr ""
 
-#: sm/gpgsm.c:286
+#: sm/gpgsm.c:287
 msgid "check validity using OCSP"
 msgstr ""
 
-#: sm/gpgsm.c:291
+#: sm/gpgsm.c:292
 msgid "|N|number of certificates to include"
 msgstr ""
 
-#: sm/gpgsm.c:294
+#: sm/gpgsm.c:295
 msgid "|FILE|take policy information from FILE"
 msgstr ""
 
-#: sm/gpgsm.c:297
+#: sm/gpgsm.c:298
 msgid "do not check certificate policies"
 msgstr ""
 
-#: sm/gpgsm.c:301
+#: sm/gpgsm.c:302
 msgid "fetch missing issuer certificates"
 msgstr ""
 
-#: sm/gpgsm.c:312
+#: sm/gpgsm.c:313
 msgid "don't use the terminal at all"
 msgstr "nunca usar o terminal"
 
-#: sm/gpgsm.c:314
+#: sm/gpgsm.c:315
 msgid "|FILE|write a server mode log to FILE"
 msgstr ""
 
-#: sm/gpgsm.c:319
+#: sm/gpgsm.c:320
 #, fuzzy
 msgid "|FILE|write an audit log to FILE"
 msgstr "|FICHEIRO|carregar módulo de extensão FICHEIRO"
 
-#: sm/gpgsm.c:322
+#: sm/gpgsm.c:323
 msgid "batch mode: never ask"
 msgstr "modo não-interactivo: nunca perguntar"
 
-#: sm/gpgsm.c:323
+#: sm/gpgsm.c:324
 msgid "assume yes on most questions"
 msgstr "assumir sim para a maioria das perguntas"
 
-#: sm/gpgsm.c:324
+#: sm/gpgsm.c:325
 msgid "assume no on most questions"
 msgstr "assumir não para a maioria das perguntas"
 
-#: sm/gpgsm.c:327
+#: sm/gpgsm.c:328
 #, fuzzy
 msgid "|FILE|add keyring to the list of keyrings"
 msgstr ""
 "adicionar este porta-chaves\n"
 "à lista de porta-chaves"
 
-#: sm/gpgsm.c:330
+#: sm/gpgsm.c:331
 #, fuzzy
 msgid "|USER-ID|use USER-ID as default secret key"
 msgstr "|NOME|usar NOME como chave secreta por omissão"
 
-#: sm/gpgsm.c:340 tools/gpgconf-comp.c:837
+#: sm/gpgsm.c:341 dirmngr/dirmngr.c:214 tools/gpgconf-comp.c:841
 #, fuzzy
 msgid "|SPEC|use this keyserver to lookup keys"
 msgstr "|ENDEREÇO|usar este servidor para buscar chaves"
 
-#: sm/gpgsm.c:357
+#: sm/gpgsm.c:360
 msgid "|NAME|use cipher algorithm NAME"
 msgstr "|NOME|usar algoritmo de criptografia NOME"
 
-#: sm/gpgsm.c:359
+#: sm/gpgsm.c:362
 msgid "|NAME|use message digest algorithm NAME"
 msgstr "|NOME|usar algoritmo de \"digest\" de mensagens NOME"
 
-#: sm/gpgsm.c:570
+#: sm/gpgsm.c:573
 #, fuzzy
 #| msgid "Usage: gpg [options] [files] (-h for help)"
 msgid "Usage: @GPGSM@ [options] [files] (-h for help)"
 msgstr "Uso: gpg [opções] [ficheiros] (-h para ajuda)"
 
-#: sm/gpgsm.c:573
+#: sm/gpgsm.c:576
 #, fuzzy
 msgid ""
 "Syntax: @GPGSM@ [options] [files]\n"
@@ -9262,47 +9291,27 @@ msgstr ""
 "assina, verifica, cifra ou decifra\n"
 "a operação por omissão depende dos dados de entrada\n"
 
-#: sm/gpgsm.c:777
+#: sm/gpgsm.c:784
 #, fuzzy, c-format
 msgid "Note: won't be able to encrypt to '%s': %s\n"
 msgstr "impossível ligar a `%s': %s\n"
 
-#: sm/gpgsm.c:788
+#: sm/gpgsm.c:795
 #, fuzzy, c-format
 msgid "unknown validation model '%s'\n"
 msgstr "destinatário por omissão desconhecido `%s'\n"
 
-#: sm/gpgsm.c:839 dirmngr/ldapserver.c:86
-#, c-format
-msgid "%s:%u: no hostname given\n"
-msgstr ""
-
-#: sm/gpgsm.c:858 dirmngr/ldapserver.c:105
-#, c-format
-msgid "%s:%u: password given without user\n"
-msgstr ""
-
-#: sm/gpgsm.c:879 dirmngr/ldapserver.c:126
-#, fuzzy, c-format
-msgid "%s:%u: skipping this line\n"
-msgstr " s = saltar esta chave\n"
-
-#: sm/gpgsm.c:1449
-#, fuzzy, c-format
-msgid "could not parse keyserver\n"
-msgstr "não consegui processar a URI do servidor de chaves\n"
-
-#: sm/gpgsm.c:1712
+#: sm/gpgsm.c:1612
 #, fuzzy, c-format
 msgid "importing common certificates '%s'\n"
 msgstr "a escrever para `%s'\n"
 
-#: sm/gpgsm.c:1755
+#: sm/gpgsm.c:1655
 #, fuzzy, c-format
 msgid "can't sign using '%s': %s\n"
 msgstr "impossível fechar `%s': %s\n"
 
-#: sm/gpgsm.c:2122
+#: sm/gpgsm.c:2028
 #, c-format
 msgid "invalid command (there is no implicit command)\n"
 msgstr ""
@@ -9322,7 +9331,7 @@ msgstr "gerar um certificado de revogação"
 msgid "basic certificate checks failed - not imported\n"
 msgstr ""
 
-#: sm/import.c:472 sm/keydb.c:1229 sm/keydb.c:1319
+#: sm/import.c:472 sm/keydb.c:1209 sm/keydb.c:1300
 #, fuzzy, c-format
 msgid "error getting stored flags: %s\n"
 msgstr "erro na criação da frase secreta: %s\n"
@@ -9337,27 +9346,27 @@ msgstr "erro na criação da frase secreta: %s\n"
 msgid "error reading input: %s\n"
 msgstr "erro na leitura de `%s': %s\n"
 
-#: sm/keydb.c:1148
+#: sm/keydb.c:1127
 #, c-format
 msgid "problem looking for existing certificate: %s\n"
 msgstr ""
 
-#: sm/keydb.c:1160
+#: sm/keydb.c:1139
 #, fuzzy, c-format
 msgid "error finding writable keyDB: %s\n"
 msgstr "erro na criação da frase secreta: %s\n"
 
-#: sm/keydb.c:1168
+#: sm/keydb.c:1147
 #, fuzzy, c-format
 msgid "error storing certificate: %s\n"
 msgstr "erro na criação da frase secreta: %s\n"
 
-#: sm/keydb.c:1220
+#: sm/keydb.c:1200
 #, fuzzy, c-format
 msgid "problem re-searching certificate: %s\n"
 msgstr "rev? problema ao verificar revogação: %s\n"
 
-#: sm/keydb.c:1241 sm/keydb.c:1330
+#: sm/keydb.c:1221 sm/keydb.c:1311
 #, fuzzy, c-format
 msgid "error storing flags: %s\n"
 msgstr "erro na leitura de `%s': %s\n"
@@ -9392,7 +9401,7 @@ msgid ""
 "%s%sAre you really sure that you want to do this?"
 msgstr ""
 
-#: sm/qualified.c:215 sm/verify.c:678
+#: sm/qualified.c:215 sm/verify.c:679
 #, c-format
 msgid ""
 "Note, that this software is not officially approved to create or verify such "
@@ -9437,23 +9446,23 @@ msgstr ""
 msgid "algorithm:"
 msgstr "armadura: %s\n"
 
-#: sm/verify.c:535
+#: sm/verify.c:536
 #, c-format
 msgid ""
 "invalid signature: message digest attribute does not match computed one\n"
 msgstr ""
 
-#: sm/verify.c:656
+#: sm/verify.c:657
 #, fuzzy, c-format
 msgid "Good signature from"
 msgstr "Assinatura correcta de \""
 
-#: sm/verify.c:657
+#: sm/verify.c:658
 #, fuzzy, c-format
 msgid "                aka"
 msgstr "                   ou \""
 
-#: sm/verify.c:675
+#: sm/verify.c:676
 #, fuzzy, c-format
 msgid "This is a qualified signature\n"
 msgstr ""
@@ -10082,7 +10091,7 @@ msgid "error retrieving '%s': %s\n"
 msgstr "erro ao criar `%s': %s\n"
 
 #: dirmngr/crlfetch.c:218 dirmngr/ldap-wrapper-ce.c:492
-#: dirmngr/ldap-wrapper.c:884 dirmngr/misc.c:573
+#: dirmngr/ldap-wrapper.c:885 dirmngr/misc.c:573
 #, fuzzy, c-format
 #| msgid "%s: error writing dir record: %s\n"
 msgid "error initializing reader object: %s\n"
@@ -10250,116 +10259,116 @@ msgstr ""
 msgid "looking up '%s'\n"
 msgstr ""
 
-#: dirmngr/dirmngr.c:170
+#: dirmngr/dirmngr.c:171
 msgid "list the contents of the CRL cache"
 msgstr ""
 
-#: dirmngr/dirmngr.c:171
+#: dirmngr/dirmngr.c:172
 #, fuzzy
 msgid "|FILE|load CRL from FILE into cache"
 msgstr "|FICHEIRO|carregar módulo de extensão FICHEIRO"
 
-#: dirmngr/dirmngr.c:172
+#: dirmngr/dirmngr.c:173
 msgid "|URL|fetch a CRL from URL"
 msgstr ""
 
-#: dirmngr/dirmngr.c:173
+#: dirmngr/dirmngr.c:174
 msgid "shutdown the dirmngr"
 msgstr ""
 
-#: dirmngr/dirmngr.c:174
+#: dirmngr/dirmngr.c:175
 msgid "flush the cache"
 msgstr ""
 
-#: dirmngr/dirmngr.c:190 tools/gpgconf-comp.c:522 tools/gpgconf-comp.c:741
-#: tools/gpgconf-comp.c:854 tools/gpgconf-comp.c:950
+#: dirmngr/dirmngr.c:191 tools/gpgconf-comp.c:522 tools/gpgconf-comp.c:745
+#: tools/gpgconf-comp.c:858 tools/gpgconf-comp.c:954
 msgid "|FILE|write server mode logs to FILE"
 msgstr ""
 
-#: dirmngr/dirmngr.c:191
+#: dirmngr/dirmngr.c:192
 #, fuzzy
 msgid "run without asking a user"
 msgstr "Sair sem gravar? "
 
-#: dirmngr/dirmngr.c:192
+#: dirmngr/dirmngr.c:193
 msgid "force loading of outdated CRLs"
 msgstr ""
 
-#: dirmngr/dirmngr.c:193
+#: dirmngr/dirmngr.c:194
 msgid "allow sending OCSP requests"
 msgstr ""
 
-#: dirmngr/dirmngr.c:195
+#: dirmngr/dirmngr.c:196
 msgid "allow online software version check"
 msgstr ""
 
-#: dirmngr/dirmngr.c:196
+#: dirmngr/dirmngr.c:197
 msgid "inhibit the use of HTTP"
 msgstr ""
 
-#: dirmngr/dirmngr.c:197
+#: dirmngr/dirmngr.c:198
 msgid "inhibit the use of LDAP"
 msgstr ""
 
-#: dirmngr/dirmngr.c:199
+#: dirmngr/dirmngr.c:200
 msgid "ignore HTTP CRL distribution points"
 msgstr ""
 
-#: dirmngr/dirmngr.c:201
+#: dirmngr/dirmngr.c:202
 msgid "ignore LDAP CRL distribution points"
 msgstr ""
 
-#: dirmngr/dirmngr.c:203
+#: dirmngr/dirmngr.c:204
 msgid "ignore certificate contained OCSP service URLs"
 msgstr ""
 
-#: dirmngr/dirmngr.c:206
+#: dirmngr/dirmngr.c:207
 msgid "|URL|redirect all HTTP requests to URL"
 msgstr ""
 
-#: dirmngr/dirmngr.c:208
+#: dirmngr/dirmngr.c:209
 msgid "|HOST|use HOST for LDAP queries"
 msgstr ""
 
-#: dirmngr/dirmngr.c:210
+#: dirmngr/dirmngr.c:211
 msgid "do not use fallback hosts with --ldap-proxy"
 msgstr ""
 
-#: dirmngr/dirmngr.c:213
+#: dirmngr/dirmngr.c:216
 #, fuzzy
 msgid "|FILE|read LDAP server list from FILE"
 msgstr "|FICHEIRO|carregar módulo de extensão FICHEIRO"
 
-#: dirmngr/dirmngr.c:215
+#: dirmngr/dirmngr.c:218
 msgid "add new servers discovered in CRL distribution points to serverlist"
 msgstr ""
 
-#: dirmngr/dirmngr.c:218 dirmngr/dirmngr_ldap.c:137
+#: dirmngr/dirmngr.c:221
 msgid "|N|set LDAP timeout to N seconds"
 msgstr ""
 
-#: dirmngr/dirmngr.c:221
+#: dirmngr/dirmngr.c:224
 #, fuzzy
 msgid "|URL|use OCSP responder at URL"
 msgstr "não consegui processar a URI do servidor de chaves\n"
 
-#: dirmngr/dirmngr.c:223
+#: dirmngr/dirmngr.c:226
 msgid "|FPR|OCSP response signed by FPR"
 msgstr ""
 
-#: dirmngr/dirmngr.c:229
+#: dirmngr/dirmngr.c:232
 msgid "|N|do not return more than N items in one query"
 msgstr ""
 
-#: dirmngr/dirmngr.c:234
+#: dirmngr/dirmngr.c:237
 msgid "|FILE|use the CA certificates in FILE for HKP over TLS"
 msgstr ""
 
-#: dirmngr/dirmngr.c:236
+#: dirmngr/dirmngr.c:239
 msgid "route all network traffic via Tor"
 msgstr ""
 
-#: dirmngr/dirmngr.c:265
+#: dirmngr/dirmngr.c:268
 #, fuzzy
 #| msgid ""
 #| "@\n"
@@ -10372,292 +10381,115 @@ msgstr ""
 "@\n"
 "(Veja a página man para uma lista completa de comandos e opções)\n"
 
-#: dirmngr/dirmngr.c:407
+#: dirmngr/dirmngr.c:415
 #, fuzzy
 msgid "Usage: @DIRMNGR@ [options] (-h for help)"
 msgstr "Uso: gpg [opções] [ficheiros] (-h para ajuda)"
 
-#: dirmngr/dirmngr.c:409
+#: dirmngr/dirmngr.c:417
 msgid ""
 "Syntax: @DIRMNGR@ [options] [command [args]]\n"
 "Keyserver, CRL, and OCSP access for @GNUPG@\n"
 msgstr ""
 
-#: dirmngr/dirmngr.c:489
+#: dirmngr/dirmngr.c:497
 #, c-format
 msgid "valid debug levels are: %s\n"
 msgstr ""
 
-#: dirmngr/dirmngr.c:575 tools/gpgconf.c:647 tools/gpgconf.c:682
+#: dirmngr/dirmngr.c:583 tools/gpgconf.c:647 tools/gpgconf.c:682
 #: tools/gpgconf.c:780
 #, fuzzy, c-format
 msgid "usage: %s [options] "
 msgstr "uso: gpg [opções] "
 
-#: dirmngr/dirmngr.c:1212
+#: dirmngr/dirmngr.c:1249
 #, fuzzy, c-format
 #| msgid "%s not allowed with %s!\n"
 msgid "colons are not allowed in the socket name\n"
 msgstr "%s não é permitido com %s!\n"
 
-#: dirmngr/dirmngr.c:1444 dirmngr/server.c:1824
+#: dirmngr/dirmngr.c:1481 dirmngr/server.c:1878
 #, fuzzy, c-format
 msgid "fetching CRL from '%s' failed: %s\n"
 msgstr "criação de armadura falhou: %s\n"
 
-#: dirmngr/dirmngr.c:1450 dirmngr/server.c:1830
+#: dirmngr/dirmngr.c:1487 dirmngr/server.c:1884
 #, fuzzy, c-format
 msgid "processing CRL from '%s' failed: %s\n"
 msgstr "criação de armadura falhou: %s\n"
 
-#: dirmngr/dirmngr.c:1645
+#: dirmngr/dirmngr.c:1682
 #, fuzzy, c-format
 msgid "%s:%u: line too long - skipped\n"
 msgstr "frase secreta demasiado longa\n"
 
-#: dirmngr/dirmngr.c:1700 dirmngr/dirmngr.c:1784
+#: dirmngr/dirmngr.c:1737 dirmngr/dirmngr.c:1821
 #, fuzzy, c-format
 msgid "%s:%u: invalid fingerprint detected\n"
 msgstr "%s: versão de ficheiro inválida %d\n"
 
-#: dirmngr/dirmngr.c:1736 dirmngr/dirmngr.c:1762 tools/gpgconf-comp.c:4191
+#: dirmngr/dirmngr.c:1773 dirmngr/dirmngr.c:1799 tools/gpgconf-comp.c:4199
 #, fuzzy, c-format
 msgid "%s:%u: read error: %s\n"
 msgstr "armadura: %s\n"
 
-#: dirmngr/dirmngr.c:1791
+#: dirmngr/dirmngr.c:1828
 #, c-format
 msgid "%s:%u: garbage at end of line ignored\n"
 msgstr ""
 
-#: dirmngr/dirmngr.c:1860
+#: dirmngr/dirmngr.c:1897
 #, c-format
 msgid "SIGHUP received - re-reading configuration and flushing caches\n"
 msgstr ""
 
-#: dirmngr/dirmngr.c:1900
+#: dirmngr/dirmngr.c:1937
 #, c-format
 msgid "SIGUSR2 received - no action defined\n"
 msgstr ""
 
-#: dirmngr/dirmngr.c:1905
+#: dirmngr/dirmngr.c:1942
 #, c-format
 msgid "SIGTERM received - shutting down ...\n"
 msgstr ""
 
-#: dirmngr/dirmngr.c:1907
+#: dirmngr/dirmngr.c:1944
 #, c-format
 msgid "SIGTERM received - still %d active connections\n"
 msgstr ""
 
-#: dirmngr/dirmngr.c:1912
+#: dirmngr/dirmngr.c:1949
 #, fuzzy, c-format
 msgid "shutdown forced\n"
 msgstr "não processado"
 
-#: dirmngr/dirmngr.c:1920
+#: dirmngr/dirmngr.c:1957
 #, c-format
 msgid "SIGINT received - immediate shutdown\n"
 msgstr ""
 
-#: dirmngr/dirmngr.c:1927
+#: dirmngr/dirmngr.c:1964
 #, c-format
 msgid "signal %d received - no action defined\n"
 msgstr ""
 
-#: dirmngr/dirmngr_ldap.c:138
-msgid "return all values in a record oriented format"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:141
-msgid "|NAME|ignore host part and connect through NAME"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:142
-#, fuzzy
-#| msgid "|NAME|set terminal charset to NAME"
-msgid "|NAME|connect to host NAME"
-msgstr ""
-"|NOME|definir mapa de caracteres do terminal como\n"
-"NOME"
-
-#: dirmngr/dirmngr_ldap.c:143
-msgid "|N|connect to port N"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:144
-#, fuzzy
-#| msgid "|NAME|use NAME as default recipient"
-msgid "|NAME|use user NAME for authentication"
-msgstr "|NOME|usar NOME como destinatário por omissão"
-
-#: dirmngr/dirmngr_ldap.c:145
-msgid "|PASS|use password PASS for authentication"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:147
-msgid "take password from $DIRMNGR_LDAP_PASS"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:148
-msgid "|STRING|query DN STRING"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:149
-msgid "|STRING|use STRING as filter expression"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:150
-msgid "|STRING|return the attribute STRING"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:211
-#, fuzzy
-#| msgid "Usage: gpg [options] [files] (-h for help)"
-msgid "Usage: dirmngr_ldap [options] [URL] (-h for help)\n"
-msgstr "Uso: gpg [opções] [ficheiros] (-h para ajuda)"
-
-#: dirmngr/dirmngr_ldap.c:214
-msgid ""
-"Syntax: dirmngr_ldap [options] [URL]\n"
-"Internal LDAP helper for Dirmngr\n"
-"Interface and options may change without notice\n"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:340
-#, fuzzy, c-format
-#| msgid "invalid import options\n"
-msgid "invalid port number %d\n"
-msgstr "opções de importação inválidas\n"
-
-#: dirmngr/dirmngr_ldap.c:456
-#, c-format
-msgid "scanning result for attribute '%s'\n"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:463 dirmngr/dirmngr_ldap.c:546
-#: dirmngr/dirmngr_ldap.c:570 dirmngr/dirmngr_ldap.c:582
-#: dirmngr/dirmngr_ldap.c:720
-#, fuzzy, c-format
-msgid "error writing to stdout: %s\n"
-msgstr "erro na escrita do porta-chaves `%s': %s\n"
-
-#: dirmngr/dirmngr_ldap.c:480
-#, c-format
-msgid "          available attribute '%s'\n"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:518
-#, fuzzy, c-format
-msgid "attribute '%s' not found\n"
-msgstr "chave `%s' não encontrada: %s\n"
-
-#: dirmngr/dirmngr_ldap.c:525
-#, c-format
-msgid "found attribute '%s'\n"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:634
-#, fuzzy, c-format
-#| msgid "reading from `%s'\n"
-msgid "processing url '%s'\n"
-msgstr "lendo de `%s'\n"
-
-#: dirmngr/dirmngr_ldap.c:636
-#, fuzzy, c-format
-#| msgid "          w/o user IDs: %lu\n"
-msgid "          user '%s'\n"
-msgstr "          sem IDs de utilizadores: %lu\n"
-
-#: dirmngr/dirmngr_ldap.c:638
-#, fuzzy, c-format
-msgid "          pass '%s'\n"
-msgstr "                   ou \""
-
-#: dirmngr/dirmngr_ldap.c:640
-#, fuzzy, c-format
-msgid "          host '%s'\n"
-msgstr "                   ou \""
-
-#: dirmngr/dirmngr_ldap.c:641
-#, fuzzy, c-format
-#| msgid "          not imported: %lu\n"
-msgid "          port %d\n"
-msgstr "        não importadas: %lu\n"
-
-#: dirmngr/dirmngr_ldap.c:643
-#, fuzzy, c-format
-msgid "            DN '%s'\n"
-msgstr "                   ou \""
-
-#: dirmngr/dirmngr_ldap.c:645
-#, c-format
-msgid "        filter '%s'\n"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:650 dirmngr/dirmngr_ldap.c:653
-#, fuzzy, c-format
-msgid "          attr '%s'\n"
-msgstr "                   ou \""
-
-#: dirmngr/dirmngr_ldap.c:659
-#, c-format
-msgid "no host name in '%s'\n"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:664
-#, c-format
-msgid "no attribute given for query '%s'\n"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:670
-#, fuzzy, c-format
-#| msgid "WARNING: using insecure memory!\n"
-msgid "WARNING: using first attribute only\n"
-msgstr "AVISO: a utilizar memória insegura!\n"
-
-#: dirmngr/dirmngr_ldap.c:679
-#, fuzzy, c-format
-msgid "LDAP init to '%s:%d' failed: %s\n"
-msgstr "criação de armadura falhou: %s\n"
-
-#: dirmngr/dirmngr_ldap.c:702
-#, fuzzy, c-format
-msgid "binding to '%s:%d' failed: %s\n"
-msgstr "criação de armadura falhou: %s\n"
-
-#: dirmngr/dirmngr_ldap.c:729
-#, fuzzy, c-format
-#| msgid "dearmoring failed: %s\n"
-msgid "searching '%s' failed: %s\n"
-msgstr "retirada de armadura falhou: %s\n"
-
-#: dirmngr/dirmngr_ldap.c:761
-#, fuzzy, c-format
-msgid "'%s' is not an LDAP URL\n"
-msgstr "%s: não é um base de dados de confiança\n"
-
-#: dirmngr/dirmngr_ldap.c:767
-#, c-format
-msgid "'%s' is an invalid LDAP URL\n"
-msgstr ""
-
-#: dirmngr/http.c:1987 dirmngr/ocsp.c:255
+#: dirmngr/http.c:1993 dirmngr/ocsp.c:255
 #, fuzzy, c-format
 msgid "error accessing '%s': http status %u\n"
 msgstr "erro na leitura de `%s': %s\n"
 
-#: dirmngr/http.c:3629 dirmngr/ocsp.c:229
+#: dirmngr/http.c:3644 dirmngr/ocsp.c:229
 #, c-format
 msgid "URL '%s' redirected to '%s' (%u)\n"
 msgstr ""
 
-#: dirmngr/http.c:3635 dirmngr/ocsp.c:246
+#: dirmngr/http.c:3650 dirmngr/ocsp.c:246
 #, fuzzy, c-format
 msgid "too many redirections\n"
 msgstr "demasiadas preferências `%c'\n"
 
-#: dirmngr/http.c:3747
+#: dirmngr/http.c:3762
 #, fuzzy, c-format
 #| msgid "writing to `%s'\n"
 msgid "redirection changed to '%s'\n"
@@ -10698,31 +10530,51 @@ msgstr "actualização falhou: %s\n"
 msgid "ldap wrapper %d stalled - killing\n"
 msgstr ""
 
-#: dirmngr/ldap.c:91
+#: dirmngr/ldap.c:92
 #, c-format
 msgid "invalid char 0x%02x in host name - not added\n"
 msgstr ""
 
-#: dirmngr/ldap.c:95
+#: dirmngr/ldap.c:96
 #, fuzzy, c-format
 msgid "adding '%s:%d' to the ldap server list\n"
 msgstr "a procurar por \"%s\" no servidor HKP %s\n"
 
-#: dirmngr/ldap.c:98 dirmngr/misc.c:512
+#: dirmngr/ldap.c:99 dirmngr/misc.c:512
 #, fuzzy, c-format
 msgid "malloc failed: %s\n"
 msgstr "remoção do bloco de chave falhou: %s\n"
 
-#: dirmngr/ldap.c:627
+#: dirmngr/ldap.c:221
+#, fuzzy, c-format
+msgid "'%s' is not an LDAP URL\n"
+msgstr "%s: não é um base de dados de confiança\n"
+
+#: dirmngr/ldap.c:227 dirmngr/ldap.c:233
 #, c-format
-msgid "start_cert_fetch: invalid pattern '%s'\n"
+msgid "'%s' is an invalid LDAP URL\n"
 msgstr ""
 
-#: dirmngr/ldap.c:839
+#: dirmngr/ldap.c:969
 #, c-format
 msgid "ldap_search hit the size limit of the server\n"
 msgstr ""
 
+#: dirmngr/ldapserver.c:117
+#, c-format
+msgid "%s:%u: password given without user\n"
+msgstr ""
+
+#: dirmngr/ldapserver.c:181
+#, c-format
+msgid "%s:%u: ignoring unknown flag '%s'\n"
+msgstr ""
+
+#: dirmngr/ldapserver.c:203
+#, fuzzy, c-format
+msgid "%s:%u: skipping this line\n"
+msgstr " s = saltar esta chave\n"
+
 #: dirmngr/misc.c:172
 #, fuzzy, c-format
 #| msgid "%s: invalid file version %d\n"
@@ -10905,72 +10757,68 @@ msgstr ""
 msgid "assuan_inquire(%s) failed: %s\n"
 msgstr "assinatura falhou: %s\n"
 
-#: dirmngr/server.c:1158
-msgid "ldapserver missing"
-msgstr ""
-
-#: dirmngr/server.c:1224
+#: dirmngr/server.c:1277
 msgid "serialno missing in cert ID"
 msgstr ""
 
-#: dirmngr/server.c:1387 dirmngr/server.c:1473 dirmngr/server.c:1909
-#: dirmngr/server.c:1980 dirmngr/server.c:2552 dirmngr/server.c:2567
+#: dirmngr/server.c:1440 dirmngr/server.c:1526 dirmngr/server.c:1963
+#: dirmngr/server.c:2034 dirmngr/server.c:2662 dirmngr/server.c:2677
 #, fuzzy, c-format
 msgid "assuan_inquire failed: %s\n"
 msgstr "assinatura falhou: %s\n"
 
-#: dirmngr/server.c:1516
+#: dirmngr/server.c:1569
 #, fuzzy, c-format
 msgid "fetch_cert_by_url failed: %s\n"
 msgstr "remoção do bloco de chave falhou: %s\n"
 
-#: dirmngr/server.c:1528 dirmngr/server.c:1559 dirmngr/server.c:1718
+#: dirmngr/server.c:1581 dirmngr/server.c:1612 dirmngr/server.c:1772
 #, fuzzy, c-format
 msgid "error sending data: %s\n"
 msgstr "erro ao enviar para `%s': %s\n"
 
-#: dirmngr/server.c:1666
+#: dirmngr/server.c:1720
 #, fuzzy, c-format
 msgid "start_cert_fetch failed: %s\n"
 msgstr "remoção do bloco de chave falhou: %s\n"
 
-#: dirmngr/server.c:1699
+#: dirmngr/server.c:1753
 #, fuzzy, c-format
 msgid "fetch_next_cert failed: %s\n"
 msgstr "remoção do bloco de chave falhou: %s\n"
 
-#: dirmngr/server.c:1726
+#: dirmngr/server.c:1780
 #, c-format
 msgid "max_replies %d exceeded\n"
 msgstr ""
 
-#: dirmngr/server.c:2856
+#: dirmngr/server.c:2966
 #, fuzzy, c-format
 msgid "can't allocate control structure: %s\n"
 msgstr "impossível criar `%s': %s\n"
 
-#: dirmngr/server.c:2867
+#: dirmngr/server.c:2977
 #, fuzzy, c-format
 msgid "failed to allocate assuan context: %s\n"
 msgstr "%s: falha ao criar tabela de dispersão: %s\n"
 
-#: dirmngr/server.c:2888
+#: dirmngr/server.c:2998
 #, fuzzy, c-format
 #| msgid "failed to initialize the TrustDB: %s\n"
 msgid "failed to initialize the server: %s\n"
 msgstr "falha ao inicializar a base de dados de confiança: %s\n"
 
-#: dirmngr/server.c:2896
+#: dirmngr/server.c:3006
 #, fuzzy, c-format
 msgid "failed to the register commands with Assuan: %s\n"
 msgstr "falha ao criar 'cache' do porta-chaves: %s\n"
 
-#: dirmngr/server.c:2929
+#: dirmngr/server.c:3039
 #, c-format
 msgid "Assuan accept problem: %s\n"
 msgstr ""
 
-#: dirmngr/server.c:2948
+#: dirmngr/server.c:3058
 #, fuzzy, c-format
 #| msgid "signing failed: %s\n"
 msgid "Assuan processing failed: %s\n"
@@ -11111,21 +10959,21 @@ msgid "error sending standard options: %s\n"
 msgstr "erro ao enviar para `%s': %s\n"
 
 #: tools/gpgconf-comp.c:481 tools/gpgconf-comp.c:617 tools/gpgconf-comp.c:692
-#: tools/gpgconf-comp.c:804 tools/gpgconf-comp.c:906
+#: tools/gpgconf-comp.c:808 tools/gpgconf-comp.c:910
 msgid "Options controlling the diagnostic output"
 msgstr ""
 
 #: tools/gpgconf-comp.c:494 tools/gpgconf-comp.c:630 tools/gpgconf-comp.c:705
-#: tools/gpgconf-comp.c:817 tools/gpgconf-comp.c:929
+#: tools/gpgconf-comp.c:821 tools/gpgconf-comp.c:933
 msgid "Options controlling the configuration"
 msgstr ""
 
-#: tools/gpgconf-comp.c:517 tools/gpgconf-comp.c:659 tools/gpgconf-comp.c:736
-#: tools/gpgconf-comp.c:849 tools/gpgconf-comp.c:942
+#: tools/gpgconf-comp.c:517 tools/gpgconf-comp.c:659 tools/gpgconf-comp.c:740
+#: tools/gpgconf-comp.c:853 tools/gpgconf-comp.c:946
 msgid "Options useful for debugging"
 msgstr ""
 
-#: tools/gpgconf-comp.c:530 tools/gpgconf-comp.c:669 tools/gpgconf-comp.c:862
+#: tools/gpgconf-comp.c:530 tools/gpgconf-comp.c:669 tools/gpgconf-comp.c:866
 msgid "Options controlling the security"
 msgstr ""
 
@@ -11175,11 +11023,11 @@ msgstr "erro na criação da frase secreta: %s\n"
 msgid "|N|set the Pinentry timeout to N seconds"
 msgstr ""
 
-#: tools/gpgconf-comp.c:707 tools/gpgconf-comp.c:819
+#: tools/gpgconf-comp.c:707 tools/gpgconf-comp.c:823
 msgid "|NAME|use NAME as default secret key"
 msgstr "|NOME|usar NOME como chave secreta por omissão"
 
-#: tools/gpgconf-comp.c:710 tools/gpgconf-comp.c:822
+#: tools/gpgconf-comp.c:710 tools/gpgconf-comp.c:826
 #, fuzzy
 msgid "|NAME|encrypt to user ID NAME as well"
 msgstr "|NOME|cifrar para NOME"
@@ -11188,139 +11036,139 @@ msgstr "|NOME|cifrar para NOME"
 msgid "|SPEC|set up email aliases"
 msgstr ""
 
-#: tools/gpgconf-comp.c:749 tools/gpgconf-comp.c:981
+#: tools/gpgconf-comp.c:753 tools/gpgconf-comp.c:985
 msgid "Configuration for Keyservers"
 msgstr ""
 
-#: tools/gpgconf-comp.c:751 tools/gpgconf-comp.c:983
+#: tools/gpgconf-comp.c:755 tools/gpgconf-comp.c:987
 #, fuzzy
 msgid "|URL|use keyserver at URL"
 msgstr "não consegui processar a URI do servidor de chaves\n"
 
-#: tools/gpgconf-comp.c:754
+#: tools/gpgconf-comp.c:758
 msgid "allow PKA lookups (DNS requests)"
 msgstr ""
 
-#: tools/gpgconf-comp.c:757
+#: tools/gpgconf-comp.c:761
 msgid "|MECHANISMS|use MECHANISMS to locate keys by mail address"
 msgstr ""
 
-#: tools/gpgconf-comp.c:760
+#: tools/gpgconf-comp.c:764
 #, fuzzy
 #| msgid "import keys from a keyserver"
 msgid "import missing key from a signature"
 msgstr "importar chaves de um servidor de chaves"
 
-#: tools/gpgconf-comp.c:763
+#: tools/gpgconf-comp.c:767
 #, fuzzy
 msgid "include the public key in signatures"
 msgstr "verificar as assinaturas das chaves"
 
-#: tools/gpgconf-comp.c:770 tools/gpgconf-comp.c:831
+#: tools/gpgconf-comp.c:774 tools/gpgconf-comp.c:835
 msgid "disable all access to the dirmngr"
 msgstr ""
 
-#: tools/gpgconf-comp.c:834
+#: tools/gpgconf-comp.c:838
 #, fuzzy
 msgid "|NAME|use encoding NAME for PKCS#12 passphrases"
 msgstr ""
 "|NOME|usar algoritmo de criptografia NOME para\n"
 "frases secretas"
 
-#: tools/gpgconf-comp.c:870
+#: tools/gpgconf-comp.c:874
 msgid "do not check CRLs for root certificates"
 msgstr ""
 
-#: tools/gpgconf-comp.c:919
+#: tools/gpgconf-comp.c:923
 msgid "Options controlling the format of the output"
 msgstr ""
 
-#: tools/gpgconf-comp.c:961
+#: tools/gpgconf-comp.c:965
 msgid "Options controlling the interactivity and enforcement"
 msgstr ""
 
-#: tools/gpgconf-comp.c:974
+#: tools/gpgconf-comp.c:978
 msgid "Options controlling the use of Tor"
 msgstr ""
 
-#: tools/gpgconf-comp.c:988
+#: tools/gpgconf-comp.c:992
 msgid "Configuration for HTTP servers"
 msgstr ""
 
-#: tools/gpgconf-comp.c:999
+#: tools/gpgconf-comp.c:1003
 msgid "use system's HTTP proxy setting"
 msgstr ""
 
-#: tools/gpgconf-comp.c:1004
+#: tools/gpgconf-comp.c:1008
 msgid "Configuration of LDAP servers to use"
 msgstr ""
 
-#: tools/gpgconf-comp.c:1033
+#: tools/gpgconf-comp.c:1037
 msgid "LDAP server list"
 msgstr ""
 
-#: tools/gpgconf-comp.c:1041
+#: tools/gpgconf-comp.c:1045
 msgid "Configuration for OCSP"
 msgstr ""
 
-#: tools/gpgconf-comp.c:1094
+#: tools/gpgconf-comp.c:1098
 msgid "OpenPGP"
 msgstr ""
 
-#: tools/gpgconf-comp.c:1095
+#: tools/gpgconf-comp.c:1099
 msgid "Private Keys"
 msgstr ""
 
-#: tools/gpgconf-comp.c:1096
+#: tools/gpgconf-comp.c:1100
 msgid "Smartcards"
 msgstr ""
 
-#: tools/gpgconf-comp.c:1097
+#: tools/gpgconf-comp.c:1101
 msgid "S/MIME"
 msgstr ""
 
-#: tools/gpgconf-comp.c:1098
+#: tools/gpgconf-comp.c:1102
 #, fuzzy
 #| msgid "network error"
 msgid "Network"
 msgstr "erro na rede"
 
-#: tools/gpgconf-comp.c:1099
+#: tools/gpgconf-comp.c:1103
 #, fuzzy
 msgid "Passphrase Entry"
 msgstr "frase secreta incorrecta"
 
-#: tools/gpgconf-comp.c:1278
+#: tools/gpgconf-comp.c:1282
 #, fuzzy
 msgid "Component not suitable for launching"
 msgstr "chave pública não encontrada"
 
-#: tools/gpgconf-comp.c:1284
+#: tools/gpgconf-comp.c:1288
 #, c-format
 msgid "Configuration file of component %s is broken\n"
 msgstr ""
 
-#: tools/gpgconf-comp.c:1287
+#: tools/gpgconf-comp.c:1291
 #, fuzzy, c-format
 #| msgid "Please use the command \"toggle\" first.\n"
 msgid "Note: Use the command \"%s%s\" to get details.\n"
 msgstr "Por favor utilize o comando \"toggle\" primeiro.\n"
 
-#: tools/gpgconf-comp.c:3446
+#: tools/gpgconf-comp.c:3454
 #, c-format
 msgid "External verification of component %s failed"
 msgstr ""
 
-#: tools/gpgconf-comp.c:3597
+#: tools/gpgconf-comp.c:3605
 msgid "Note that group specifications are ignored\n"
 msgstr ""
 
-#: tools/gpgconf-comp.c:4195
+#: tools/gpgconf-comp.c:4203
 #, fuzzy, c-format
 msgid "error closing '%s'\n"
 msgstr "erro na leitura de `%s': %s\n"
 
-#: tools/gpgconf-comp.c:4197
+#: tools/gpgconf-comp.c:4205
 #, fuzzy, c-format
 msgid "error parsing '%s'\n"
 msgstr "erro na leitura de `%s': %s\n"
@@ -11430,6 +11278,93 @@ msgid ""
 msgstr ""
 
 #, fuzzy
+#~ msgid "requesting key %s from %s server %s\n"
+#~ msgstr "a pedir a chave %08lX de %s\n"
+
+#, fuzzy
+#~ msgid "could not parse keyserver\n"
+#~ msgstr "não consegui processar a URI do servidor de chaves\n"
+
+#, fuzzy
+#~| msgid "|NAME|set terminal charset to NAME"
+#~ msgid "|NAME|connect to host NAME"
+#~ msgstr ""
+#~ "|NOME|definir mapa de caracteres do terminal como\n"
+#~ "NOME"
+
+#, fuzzy
+#~| msgid "|NAME|use NAME as default recipient"
+#~ msgid "|NAME|use user NAME for authentication"
+#~ msgstr "|NOME|usar NOME como destinatário por omissão"
+
+#, fuzzy
+#~| msgid "Usage: gpg [options] [files] (-h for help)"
+#~ msgid "Usage: dirmngr_ldap [options] [URL] (-h for help)\n"
+#~ msgstr "Uso: gpg [opções] [ficheiros] (-h para ajuda)"
+
+#, fuzzy
+#~| msgid "invalid import options\n"
+#~ msgid "invalid port number %d\n"
+#~ msgstr "opções de importação inválidas\n"
+
+#, fuzzy
+#~ msgid "error writing to stdout: %s\n"
+#~ msgstr "erro na escrita do porta-chaves `%s': %s\n"
+
+#, fuzzy
+#~ msgid "attribute '%s' not found\n"
+#~ msgstr "chave `%s' não encontrada: %s\n"
+
+#, fuzzy
+#~| msgid "reading from `%s'\n"
+#~ msgid "processing url '%s'\n"
+#~ msgstr "lendo de `%s'\n"
+
+#, fuzzy
+#~| msgid "          w/o user IDs: %lu\n"
+#~ msgid "          user '%s'\n"
+#~ msgstr "          sem IDs de utilizadores: %lu\n"
+
+#, fuzzy
+#~ msgid "          pass '%s'\n"
+#~ msgstr "                   ou \""
+
+#, fuzzy
+#~ msgid "          host '%s'\n"
+#~ msgstr "                   ou \""
+
+#, fuzzy
+#~| msgid "          not imported: %lu\n"
+#~ msgid "          port %d\n"
+#~ msgstr "        não importadas: %lu\n"
+
+#, fuzzy
+#~ msgid "            DN '%s'\n"
+#~ msgstr "                   ou \""
+
+#, fuzzy
+#~ msgid "          attr '%s'\n"
+#~ msgstr "                   ou \""
+
+#, fuzzy
+#~| msgid "WARNING: using insecure memory!\n"
+#~ msgid "WARNING: using first attribute only\n"
+#~ msgstr "AVISO: a utilizar memória insegura!\n"
+
+#, fuzzy
+#~ msgid "LDAP init to '%s:%d' failed: %s\n"
+#~ msgstr "criação de armadura falhou: %s\n"
+
+#, fuzzy
+#~ msgid "binding to '%s:%d' failed: %s\n"
+#~ msgstr "criação de armadura falhou: %s\n"
+
+#, fuzzy
+#~| msgid "dearmoring failed: %s\n"
+#~ msgid "searching '%s' failed: %s\n"
+#~ msgstr "retirada de armadura falhou: %s\n"
+
+#, fuzzy
 #~| msgid "NOTE: old default options file `%s' ignored\n"
 #~ msgid "Note: old default options file '%s' ignored\n"
 #~ msgstr "NOTA: o ficheiro antigo de opções por omissão `%s' foi ignorado\n"
index bd6490e..0e9e4cf 100644 (file)
Binary files a/po/ro.gmo and b/po/ro.gmo differ
index 4d74794..678daf1 100644 (file)
--- a/po/ro.po
+++ b/po/ro.po
@@ -9,7 +9,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: gnupg 1.4.2rc1\n"
 "Report-Msgid-Bugs-To: translations@gnupg.org\n"
-"POT-Creation-Date: 2021-01-11 18:47+0100\n"
+"POT-Creation-Date: 2021-06-10 18:59+0200\n"
 "PO-Revision-Date: 2017-12-19 12:30+0100\n"
 "Last-Translator: Laurentiu Buzdugan <lbuz@rolix.org>\n"
 "Language-Team: Romanian <translation-team-ro@lists.sourceforge.net>\n"
@@ -112,7 +112,7 @@ msgid "Passphrase:"
 msgstr "frază-parolă incorectă"
 
 #: agent/call-pinentry.c:1107 agent/call-pinentry.c:1359
-#: agent/command-ssh.c:3130 agent/genkey.c:416
+#: agent/command-ssh.c:3140 agent/genkey.c:416
 msgid "does not match - try again"
 msgstr ""
 
@@ -167,34 +167,34 @@ msgstr "frază-parolă incorectă"
 msgid "ssh keys greater than %d bits are not supported\n"
 msgstr "algoritm rezumat %d nu este suportat\n"
 
-#: agent/command-ssh.c:862 common/dotlock.c:852 g10/card-util.c:932
-#: g10/exec.c:546 g10/export.c:1320 g10/gpg.c:1352 g10/keygen.c:4998
-#: g10/keyring.c:1322 g10/keyring.c:1637 g10/openfile.c:291 g10/sign.c:1009
-#: g10/sign.c:1323 g10/tdbio.c:753
+#: agent/command-ssh.c:862 common/dotlock.c:852 g10/card-util.c:933
+#: g10/exec.c:554 g10/export.c:1320 g10/gpg.c:1360 g10/keygen.c:4998
+#: g10/keyring.c:1322 g10/keyring.c:1637 g10/openfile.c:291 g10/sign.c:1008
+#: g10/sign.c:1322 g10/tdbio.c:753
 #, fuzzy, c-format
 #| msgid "can't create `%s': %s\n"
 msgid "can't create '%s': %s\n"
 msgstr "nu pot crea `%s': %s\n"
 
-#: agent/command-ssh.c:874 common/helpfile.c:57 g10/card-util.c:889
+#: agent/command-ssh.c:874 common/helpfile.c:57 g10/card-util.c:890
 #: g10/dearmor.c:59 g10/dearmor.c:106 g10/decrypt.c:65 g10/decrypt.c:136
-#: g10/decrypt.c:153 g10/encrypt.c:180 g10/encrypt.c:543 g10/gpg.c:1353
-#: g10/import.c:352 g10/import.c:536 g10/import.c:764 g10/keygen.c:4036
+#: g10/decrypt.c:153 g10/encrypt.c:180 g10/encrypt.c:543 g10/gpg.c:1361
+#: g10/import.c:364 g10/import.c:548 g10/import.c:776 g10/keygen.c:4036
 #: g10/keyring.c:1663 g10/openfile.c:195 g10/openfile.c:209 g10/plaintext.c:128
-#: g10/plaintext.c:649 g10/sign.c:991 g10/sign.c:1202 g10/sign.c:1307
-#: g10/sign.c:1452 g10/tdbdump.c:143 g10/tdbdump.c:151 g10/tdbio.c:758
-#: g10/tdbio.c:829 g10/verify.c:96 g10/verify.c:160 sm/gpgsm.c:2219
-#: sm/gpgsm.c:2249 sm/gpgsm.c:2287 sm/qualified.c:66 dirmngr/certcache.c:396
+#: g10/plaintext.c:649 g10/sign.c:990 g10/sign.c:1201 g10/sign.c:1306
+#: g10/sign.c:1451 g10/tdbdump.c:143 g10/tdbdump.c:151 g10/tdbio.c:758
+#: g10/tdbio.c:829 g10/verify.c:96 g10/verify.c:160 sm/gpgsm.c:2125
+#: sm/gpgsm.c:2155 sm/gpgsm.c:2193 sm/qualified.c:66 dirmngr/certcache.c:396
 #: dirmngr/certcache.c:476 dirmngr/certcache.c:478 dirmngr/crlcache.c:2588
-#: dirmngr/dirmngr.c:1722
+#: dirmngr/dirmngr.c:1759
 #, fuzzy, c-format
 #| msgid "can't open `%s': %s\n"
 msgid "can't open '%s': %s\n"
 msgstr "nu pot deschide `%s': %s\n"
 
 #: agent/command-ssh.c:2385 agent/command-ssh.c:2431 agent/command-ssh.c:2449
-#: agent/command-ssh.c:2601 g10/card-util.c:687 g10/card-util.c:708
-#: g10/skclist.c:430
+#: agent/command-ssh.c:2601 g10/card-util.c:688 g10/card-util.c:709
+#: g10/skclist.c:435
 #, fuzzy, c-format
 msgid "error getting serial number of card: %s\n"
 msgstr "eroare la obţinerea numărului serial: %s\n"
@@ -219,33 +219,33 @@ msgstr "nu am găsit nici un inel de chei secret de scris: %s\n"
 msgid "error getting list of cards: %s\n"
 msgstr "eroare la obţinere noului PIN: %s\n"
 
-#: agent/command-ssh.c:2765
+#: agent/command-ssh.c:2775
 #, c-format
 msgid ""
 "An ssh process requested the use of key%%0A  %s%%0A  (%s)%%0ADo you want to "
 "allow this?"
 msgstr ""
 
-#: agent/command-ssh.c:2772
+#: agent/command-ssh.c:2782
 msgid "Allow"
 msgstr ""
 
-#: agent/command-ssh.c:2772
+#: agent/command-ssh.c:2782
 msgid "Deny"
 msgstr ""
 
-#: agent/command-ssh.c:2781
+#: agent/command-ssh.c:2791
 #, fuzzy, c-format
 msgid "Please enter the passphrase for the ssh key%%0A  %F%%0A  (%c)"
 msgstr ""
 "Vă rugăm introduceţi fraza-parolă; aceasta este o propoziţie secretă \n"
 
-#: agent/command-ssh.c:3058 agent/genkey.c:351
+#: agent/command-ssh.c:3068 agent/genkey.c:351
 #, fuzzy
 msgid "Please re-enter this passphrase"
 msgstr "schimbă fraza-parolă"
 
-#: agent/command-ssh.c:3085
+#: agent/command-ssh.c:3095
 #, fuzzy, c-format
 msgid ""
 "Please enter a passphrase to protect the received secret key%%0A   %s%%0A   "
@@ -253,7 +253,7 @@ msgid ""
 msgstr ""
 "Vă rugăm introduceţi fraza-parolă; aceasta este o propoziţie secretă \n"
 
-#: agent/command-ssh.c:3667
+#: agent/command-ssh.c:3677
 #, fuzzy, c-format
 msgid "failed to create stream from socket: %s\n"
 msgstr "%s: am eşuat să creez hashtable: %s\n"
@@ -414,48 +414,46 @@ msgstr ""
 "Opţiuni:\n"
 " "
 
-#: agent/gpg-agent.c:165 scd/scdaemon.c:120 dirmngr/dirmngr.c:166
+#: agent/gpg-agent.c:165 scd/scdaemon.c:120 dirmngr/dirmngr.c:167
 msgid "run in daemon mode (background)"
 msgstr ""
 
-#: agent/gpg-agent.c:166 scd/scdaemon.c:117 dirmngr/dirmngr.c:165
+#: agent/gpg-agent.c:166 scd/scdaemon.c:117 dirmngr/dirmngr.c:166
 msgid "run in server mode (foreground)"
 msgstr ""
 
-#: agent/gpg-agent.c:168 dirmngr/dirmngr.c:168
+#: agent/gpg-agent.c:168 dirmngr/dirmngr.c:169
 #, fuzzy
 #| msgid "Key is superseded"
 msgid "run in supervised mode"
 msgstr "Cheia este înlocuită"
 
-#: agent/gpg-agent.c:170 g10/gpg.c:608 g10/gpgv.c:78 kbx/kbxutil.c:88
-#: scd/scdaemon.c:121 sm/gpgsm.c:310 dirmngr/dirmngr-client.c:70
-#: dirmngr/dirmngr.c:181 dirmngr/dirmngr_ldap.c:135
-#: tools/gpg-connect-agent.c:78 tools/gpgconf.c:108
+#: agent/gpg-agent.c:170 g10/gpg.c:605 g10/gpgv.c:78 kbx/kbxutil.c:88
+#: scd/scdaemon.c:121 sm/gpgsm.c:311 dirmngr/dirmngr-client.c:70
+#: dirmngr/dirmngr.c:182 tools/gpg-connect-agent.c:78 tools/gpgconf.c:108
 msgid "verbose"
 msgstr "locvace"
 
 #: agent/gpg-agent.c:171 g10/gpgv.c:79 kbx/kbxutil.c:89 scd/scdaemon.c:122
-#: sm/gpgsm.c:311 dirmngr/dirmngr-client.c:71 dirmngr/dirmngr.c:182
-#: dirmngr/dirmngr_ldap.c:136
+#: sm/gpgsm.c:312 dirmngr/dirmngr-client.c:71 dirmngr/dirmngr.c:183
 msgid "be somewhat more quiet"
 msgstr "fii oarecum mai tăcut"
 
-#: agent/gpg-agent.c:172 scd/scdaemon.c:123 dirmngr/dirmngr.c:183
+#: agent/gpg-agent.c:172 scd/scdaemon.c:123 dirmngr/dirmngr.c:184
 msgid "sh-style command output"
 msgstr ""
 
-#: agent/gpg-agent.c:173 scd/scdaemon.c:124 dirmngr/dirmngr.c:184
+#: agent/gpg-agent.c:173 scd/scdaemon.c:124 dirmngr/dirmngr.c:185
 msgid "csh-style command output"
 msgstr ""
 
-#: agent/gpg-agent.c:174 scd/scdaemon.c:125 sm/gpgsm.c:341
-#: dirmngr/dirmngr.c:185
+#: agent/gpg-agent.c:174 scd/scdaemon.c:125 sm/gpgsm.c:344
+#: dirmngr/dirmngr.c:186
 #, fuzzy
 msgid "|FILE|read options from FILE"
 msgstr "|FIŞIER|încarcă modulul extensie FIŞIER"
 
-#: agent/gpg-agent.c:183 scd/scdaemon.c:135 dirmngr/dirmngr.c:188
+#: agent/gpg-agent.c:183 scd/scdaemon.c:135 dirmngr/dirmngr.c:189
 msgid "do not detach from the console"
 msgstr ""
 
@@ -541,9 +539,9 @@ msgstr "nu este suportat(ă)"
 #. reporting address.  This is so that we can change the
 #. reporting address without breaking the translations.
 #: agent/gpg-agent.c:531 agent/preset-passphrase.c:100 agent/protect-tool.c:155
-#: g10/gpg.c:1070 g10/gpgv.c:149 kbx/kbxutil.c:113 scd/scdaemon.c:298
-#: sm/gpgsm.c:567 dirmngr/dirmngr-client.c:168 dirmngr/dirmngr.c:404
-#: dirmngr/dirmngr_ldap.c:207 tools/gpg-connect-agent.c:205 tools/gpgconf.c:146
+#: g10/gpg.c:1074 g10/gpgv.c:149 kbx/kbxutil.c:113 scd/scdaemon.c:299
+#: sm/gpgsm.c:570 dirmngr/dirmngr-client.c:168 dirmngr/dirmngr.c:412
+#: tools/gpg-connect-agent.c:205 tools/gpgconf.c:146
 #: tools/gpg-check-pattern.c:143
 #, fuzzy
 msgid "Please report bugs to <@EMAIL@>.\n"
@@ -560,39 +558,39 @@ msgid ""
 "Secret key management for @GNUPG@\n"
 msgstr ""
 
-#: agent/gpg-agent.c:587 g10/gpg.c:1262 scd/scdaemon.c:370 sm/gpgsm.c:715
-#: dirmngr/dirmngr.c:488
+#: agent/gpg-agent.c:587 g10/gpg.c:1270 scd/scdaemon.c:371 sm/gpgsm.c:718
+#: dirmngr/dirmngr.c:496
 #, c-format
 msgid "invalid debug-level '%s' given\n"
 msgstr ""
 
-#: agent/gpg-agent.c:945 g10/gpg.c:3753 g10/gpg.c:3777 sm/gpgsm.c:1631
-#: sm/gpgsm.c:1637
+#: agent/gpg-agent.c:945 g10/gpg.c:3773 g10/gpg.c:3797 sm/gpgsm.c:1531
+#: sm/gpgsm.c:1537
 #, c-format
 msgid "selected digest algorithm is invalid\n"
 msgstr "algoritm rezumat selectat este invalid\n"
 
 #: agent/gpg-agent.c:1168 agent/gpg-agent.c:2023 common/argparse.c:1755
-#: common/argparse.c:1847 g10/gpg.c:2482 scd/scdaemon.c:532 sm/gpgsm.c:1063
-#: dirmngr/dirmngr.c:956 dirmngr/dirmngr.c:1841
+#: common/argparse.c:1847 g10/gpg.c:2495 scd/scdaemon.c:533 sm/gpgsm.c:977
+#: dirmngr/dirmngr.c:994 dirmngr/dirmngr.c:1878
 #, fuzzy, c-format
 #| msgid "reading options from `%s'\n"
 msgid "reading options from '%s'\n"
 msgstr "citesc opţiuni din `%s'\n"
 
-#: agent/gpg-agent.c:1300 g10/gpg.c:3704 scd/scdaemon.c:655 sm/gpgsm.c:1571
-#: dirmngr/dirmngr.c:1067 tools/gpg-connect-agent.c:1244 tools/gpgconf.c:624
+#: agent/gpg-agent.c:1300 g10/gpg.c:3724 scd/scdaemon.c:657 sm/gpgsm.c:1471
+#: dirmngr/dirmngr.c:1102 tools/gpg-connect-agent.c:1244 tools/gpgconf.c:624
 #, fuzzy, c-format
 #| msgid "WARNING: \"%s\" is a deprecated option\n"
 msgid "Note: '%s' is not considered an option\n"
 msgstr "AVERTISMENT: \"%s\" este o opţiune învechită\n"
 
-#: agent/gpg-agent.c:2159 scd/scdaemon.c:1096 dirmngr/dirmngr.c:1219
+#: agent/gpg-agent.c:2159 scd/scdaemon.c:1098 dirmngr/dirmngr.c:1256
 #, fuzzy, c-format
 msgid "can't create socket: %s\n"
 msgstr "nu pot crea `%s': %s\n"
 
-#: agent/gpg-agent.c:2176 scd/scdaemon.c:1109 dirmngr/dirmngr.c:1232
+#: agent/gpg-agent.c:2176 scd/scdaemon.c:1111 dirmngr/dirmngr.c:1269
 #, c-format
 msgid "socket name '%s' is too long\n"
 msgstr ""
@@ -602,29 +600,29 @@ msgstr ""
 msgid "a gpg-agent is already running - not starting a new one\n"
 msgstr "gpg-agent nu este disponibil în această sesiune\n"
 
-#: agent/gpg-agent.c:2226 scd/scdaemon.c:1133 dirmngr/dirmngr.c:1264
+#: agent/gpg-agent.c:2226 scd/scdaemon.c:1135 dirmngr/dirmngr.c:1301
 #, fuzzy, c-format
 msgid "error getting nonce for the socket\n"
 msgstr "eroare la obţinere noului PIN: %s\n"
 
-#: agent/gpg-agent.c:2231 scd/scdaemon.c:1136 dirmngr/dirmngr.c:1267
+#: agent/gpg-agent.c:2231 scd/scdaemon.c:1138 dirmngr/dirmngr.c:1304
 #, fuzzy, c-format
 msgid "error binding socket to '%s': %s\n"
 msgstr "eroare trimitere la `%s': %s\n"
 
 #: agent/gpg-agent.c:2242 agent/gpg-agent.c:2282 agent/gpg-agent.c:2291
-#: scd/scdaemon.c:1144 dirmngr/dirmngr.c:1276
+#: scd/scdaemon.c:1146 dirmngr/dirmngr.c:1313
 #, fuzzy, c-format
 msgid "can't set permissions of '%s': %s\n"
 msgstr "AVERTISMENT: permisiuni nesigure (unsafe) pentru extensia `%s'\n"
 
-#: agent/gpg-agent.c:2256 scd/scdaemon.c:1156 dirmngr/dirmngr.c:1288
+#: agent/gpg-agent.c:2256 scd/scdaemon.c:1158 dirmngr/dirmngr.c:1325
 #, fuzzy, c-format
 msgid "listening on socket '%s'\n"
 msgstr "scriu cheia secretă în `%s'\n"
 
 #: agent/gpg-agent.c:2276 agent/gpg-agent.c:2329 common/homedir.c:517
-#: g10/exec.c:261 g10/openfile.c:397
+#: g10/exec.c:269 g10/openfile.c:397
 #, fuzzy, c-format
 #| msgid "can't create directory `%s': %s\n"
 msgid "can't create directory '%s': %s\n"
@@ -647,7 +645,7 @@ msgstr "fstat(%d) a eşuat în %s: %s\n"
 msgid "can't use '%s' as home directory\n"
 msgstr "%s: nu pot crea director: %s\n"
 
-#: agent/gpg-agent.c:2502 scd/scdaemon.c:1172 dirmngr/dirmngr.c:2047
+#: agent/gpg-agent.c:2502 scd/scdaemon.c:1174 dirmngr/dirmngr.c:2084
 #, fuzzy, c-format
 msgid "error reading nonce on fd %d: %s\n"
 msgstr "eroare la citire `%s': %s\n"
@@ -672,12 +670,12 @@ msgstr ""
 msgid "ssh handler 0x%lx for fd %d terminated\n"
 msgstr ""
 
-#: agent/gpg-agent.c:3016 scd/scdaemon.c:1362 dirmngr/dirmngr.c:2261
+#: agent/gpg-agent.c:3016 scd/scdaemon.c:1366 dirmngr/dirmngr.c:2298
 #, fuzzy, c-format
 msgid "npth_pselect failed: %s - waiting 1s\n"
 msgstr "actualizarea secretului a eşuat: %s\n"
 
-#: agent/gpg-agent.c:3104 scd/scdaemon.c:1427
+#: agent/gpg-agent.c:3104 scd/scdaemon.c:1431
 #, fuzzy, c-format
 msgid "%s %s stopped\n"
 msgstr "%s: sărită: %s\n"
@@ -699,8 +697,8 @@ msgid ""
 "Password cache maintenance\n"
 msgstr ""
 
-#: agent/protect-tool.c:108 g10/gpg.c:440 kbx/kbxutil.c:71 sm/gpgsm.c:204
-#: dirmngr/dirmngr.c:163 tools/gpgconf.c:78
+#: agent/protect-tool.c:108 g10/gpg.c:437 kbx/kbxutil.c:71 sm/gpgsm.c:205
+#: dirmngr/dirmngr.c:164 tools/gpgconf.c:78
 msgid ""
 "@Commands:\n"
 " "
@@ -708,8 +706,8 @@ msgstr ""
 "@Comenzi:\n"
 " "
 
-#: agent/protect-tool.c:117 g10/gpg.c:553 g10/gpgv.c:76 kbx/kbxutil.c:81
-#: sm/gpgsm.c:252 dirmngr/dirmngr.c:179 tools/gpg-connect-agent.c:76
+#: agent/protect-tool.c:117 g10/gpg.c:550 g10/gpgv.c:76 kbx/kbxutil.c:81
+#: sm/gpgsm.c:253 dirmngr/dirmngr.c:180 tools/gpg-connect-agent.c:76
 #: tools/gpgconf.c:105
 msgid ""
 "@\n"
@@ -731,13 +729,13 @@ msgid ""
 "Secret key maintenance tool\n"
 msgstr ""
 
-#: agent/protect-tool.c:703
+#: agent/protect-tool.c:703 sm/import.c:774
 #, fuzzy
 msgid "Please enter the passphrase to unprotect the PKCS#12 object."
 msgstr ""
 "Vă rugăm introduceţi fraza-parolă; aceasta este o propoziţie secretă \n"
 
-#: agent/protect-tool.c:708
+#: agent/protect-tool.c:708 sm/export.c:710
 #, fuzzy
 msgid "Please enter the passphrase to protect the new PKCS#12 object."
 msgstr ""
@@ -767,7 +765,7 @@ msgstr "anulată"
 msgid "error while asking for the passphrase: %s\n"
 msgstr "eroare la crearea frazei-parolă: %s\n"
 
-#: agent/trustlist.c:154 agent/trustlist.c:364 dirmngr/dirmngr.c:1629
+#: agent/trustlist.c:154 agent/trustlist.c:364 dirmngr/dirmngr.c:1666
 #: tools/gpgconf.c:418
 #, fuzzy, c-format
 msgid "error opening '%s': %s\n"
@@ -925,7 +923,7 @@ msgstr "verificarea semnăturii create a eşuat: %s\n"
 msgid "secret key parts are not available\n"
 msgstr "părţi ale cheii secrete nu sunt disponibile\n"
 
-#: agent/cvt-openpgp.c:344 g10/card-util.c:1540
+#: agent/cvt-openpgp.c:344 g10/card-util.c:1541
 #, fuzzy, c-format
 #| msgid "protection algorithm %d%s is not supported\n"
 msgid "public key algorithm %d (%s) is not supported\n"
@@ -943,21 +941,21 @@ msgstr "algoritm de protecţie %d%s nu este suportat\n"
 msgid "protection hash algorithm %d (%s) is not supported\n"
 msgstr "algoritm de protecţie %d%s nu este suportat\n"
 
-#: common/exechelp-posix.c:359 common/exechelp-w32.c:449
-#: common/exechelp-w32.c:473 common/exechelp-w32.c:503
+#: common/exechelp-posix.c:359 common/exechelp-w32.c:451
+#: common/exechelp-w32.c:475 common/exechelp-w32.c:505
 #, fuzzy, c-format
 msgid "error creating a pipe: %s\n"
 msgstr "eroare la crearea frazei-parolă: %s\n"
 
 #: common/exechelp-posix.c:372 common/exechelp-w32.c:355
-#: common/exechelp-w32.c:459 common/exechelp-w32.c:483
-#: common/exechelp-w32.c:513
+#: common/exechelp-w32.c:461 common/exechelp-w32.c:485
+#: common/exechelp-w32.c:515
 #, fuzzy, c-format
 msgid "error creating a stream for a pipe: %s\n"
 msgstr "eroare la crearea frazei-parolă: %s\n"
 
 #: common/exechelp-posix.c:495 common/exechelp-posix.c:570
-#: common/exechelp-posix.c:851 dirmngr/dirmngr.c:1306
+#: common/exechelp-posix.c:856 dirmngr/dirmngr.c:1343
 #, fuzzy, c-format
 msgid "error forking process: %s\n"
 msgstr "eroare la citire `%s': %s\n"
@@ -967,28 +965,28 @@ msgstr "eroare la citire `%s': %s\n"
 msgid "waiting for process %d to terminate failed: %s\n"
 msgstr ""
 
-#: common/exechelp-posix.c:678 common/exechelp-posix.c:794
+#: common/exechelp-posix.c:678 common/exechelp-posix.c:799
 #, fuzzy, c-format
 msgid "error running '%s': probably not installed\n"
 msgstr "eroare la citire `%s': %s\n"
 
-#: common/exechelp-posix.c:684 common/exechelp-posix.c:801
-#: common/exechelp-w32.c:796 common/exechelp-w32ce.c:781
+#: common/exechelp-posix.c:684 common/exechelp-posix.c:806
+#: common/exechelp-w32.c:829 common/exechelp-w32ce.c:781
 #, fuzzy, c-format
 msgid "error running '%s': exit status %d\n"
 msgstr "eroare la citire `%s': %s\n"
 
-#: common/exechelp-posix.c:692 common/exechelp-posix.c:809
+#: common/exechelp-posix.c:692 common/exechelp-posix.c:814
 #, fuzzy, c-format
 msgid "error running '%s': terminated\n"
 msgstr "eroare la citire `%s': %s\n"
 
-#: common/exechelp-posix.c:750 common/exechelp-w32.c:777
+#: common/exechelp-posix.c:755 common/exechelp-w32.c:810
 #, fuzzy, c-format
 msgid "waiting for processes to terminate failed: %s\n"
 msgstr "actualizarea a eşuat: %s\n"
 
-#: common/exechelp-w32.c:789 common/exechelp-w32ce.c:775
+#: common/exechelp-w32.c:822 common/exechelp-w32ce.c:775
 #, fuzzy, c-format
 msgid "error getting exit code of process %d: %s\n"
 msgstr "eroare la obţinerea informaţiei pentru cheia curentă: %s\n"
@@ -1085,7 +1083,7 @@ msgstr ""
 msgid "out of core while allocating %lu bytes"
 msgstr ""
 
-#: common/miscellaneous.c:115 g10/card-util.c:896 tools/no-libgcrypt.c:30
+#: common/miscellaneous.c:115 g10/card-util.c:897 tools/no-libgcrypt.c:30
 #, fuzzy, c-format
 msgid "error allocating enough memory: %s\n"
 msgstr "eroare la crearea inelului de chei `%s': %s\n"
@@ -1210,7 +1208,7 @@ msgid "algorithm: %s"
 msgstr "validitate: %s"
 
 #: common/audit.c:774 common/audit.c:776 common/audit.c:921 common/audit.c:923
-#: scd/app-openpgp.c:3555
+#: scd/app-openpgp.c:3554
 #, fuzzy, c-format
 msgid "unsupported algorithm: %s"
 msgstr ""
@@ -1352,6 +1350,26 @@ msgstr "[nesetat(ă)]"
 msgid "invalid radix64 character %02x skipped\n"
 msgstr "caracter radix64 invalid %02X sărit\n"
 
+#: common/ttyio.c:433
+#, c-format
+msgid "Sorry, we are in batchmode - can't get input\n"
+msgstr ""
+
+#: common/ttyio.c:439
+#, c-format
+msgid "Sorry, no terminal at all requested - can't get input\n"
+msgstr ""
+
+#: common/ttyio.c:474 common/ttyio.c:484
+#, c-format
+msgid "too many errors; giving up\n"
+msgstr ""
+
+#: common/ttyio.c:536
+#, c-format
+msgid "Control-D detected\n"
+msgstr ""
+
 #: common/argparse.c:520
 #, fuzzy
 msgid "argument not expected"
@@ -1423,7 +1441,7 @@ msgstr "opţiuni enumerare invalide\n"
 msgid "missing argument for option \"%.50s\"\n"
 msgstr ""
 
-#: common/argparse.c:558 g10/gpg.c:3490
+#: common/argparse.c:558 g10/gpg.c:3510
 #, fuzzy, c-format
 msgid "invalid argument for option \"%.50s\"\n"
 msgstr "opţiuni enumerare invalide\n"
@@ -1495,31 +1513,31 @@ msgstr "nu pot crea directorul `%s': %s\n"
 msgid "error writing to '%s': %s\n"
 msgstr "eroare la scrierea inelului de chei `%s': %s\n"
 
-#: common/dotlock.c:1129
+#: common/dotlock.c:1137
 #, c-format
 msgid "removing stale lockfile (created by %d)\n"
 msgstr ""
 
-#: common/dotlock.c:1165
+#: common/dotlock.c:1173
 #, fuzzy, c-format
 msgid "waiting for lock (held by %d%s) %s...\n"
 msgstr "scriu cheia secretă în `%s'\n"
 
-#: common/dotlock.c:1166
+#: common/dotlock.c:1174
 msgid "(deadlock?) "
 msgstr ""
 
-#: common/dotlock.c:1205
+#: common/dotlock.c:1213
 #, fuzzy, c-format
 msgid "lock '%s' not made: %s\n"
 msgstr "cheia publică %s nu a fost găsită: %s\n"
 
-#: common/dotlock.c:1232
+#: common/dotlock.c:1240
 #, fuzzy, c-format
 msgid "waiting for lock %s...\n"
 msgstr "scriu cheia secretă în `%s'\n"
 
-#: common/init.c:185 sm/gpgsm.c:949 dirmngr/dirmngr.c:862 dirmngr/dirmngr.c:871
+#: common/init.c:191 sm/gpgsm.c:863 dirmngr/dirmngr.c:900 dirmngr/dirmngr.c:909
 #, c-format
 msgid "%s is too old (need %s, have %s)\n"
 msgstr ""
@@ -1712,13 +1730,13 @@ msgid "Note: Use the command \"%s\" to restart them.\n"
 msgstr "Vă rugăm folosiţi mai întâi comanda \"toggle\".\n"
 
 #: g10/call-agent.c:318 g10/encrypt.c:154 g10/encrypt.c:620 g10/sign.c:412
-#: sm/call-agent.c:205 sm/encrypt.c:425 sm/sign.c:345
+#: sm/call-agent.c:205 sm/encrypt.c:426 sm/sign.c:345
 #, fuzzy, c-format
 #| msgid "%s does not yet work with %s\n"
 msgid "%s is not compliant with %s mode\n"
 msgstr "%s nu merge încă cu %s!\n"
 
-#: g10/call-dirmngr.c:209 sm/call-dirmngr.c:268 tools/gpg-connect-agent.c:2253
+#: g10/call-dirmngr.c:209 sm/call-dirmngr.c:269 tools/gpg-connect-agent.c:2253
 #, fuzzy, c-format
 msgid "no dirmngr running in this session\n"
 msgstr "gpg-agent nu este disponibil în această sesiune\n"
@@ -1763,23 +1781,23 @@ msgstr ""
 msgid "server uses an invalid certificate"
 msgstr "generează un certificat de revocare"
 
-#: g10/call-dirmngr.c:437 g10/gpg.c:4400
+#: g10/call-dirmngr.c:437 g10/gpg.c:4421
 #, fuzzy, c-format
 #| msgid "armor: %s\n"
 msgid "Note: %s\n"
 msgstr "armură: %s\n"
 
-#: g10/card-util.c:86 g10/card-util.c:366 g10/card-util.c:1902
+#: g10/card-util.c:86 g10/card-util.c:366 g10/card-util.c:1903
 #, c-format
 msgid "OpenPGP card not available: %s\n"
 msgstr "cardul OpenPGP nu e disponibil: %s\n"
 
-#: g10/card-util.c:91 g10/card-util.c:1908
+#: g10/card-util.c:91 g10/card-util.c:1909
 #, c-format
 msgid "OpenPGP card no. %s detected\n"
 msgstr "cardul OpenPGP nr. %s detectat\n"
 
-#: g10/card-util.c:97 g10/card-util.c:2237 g10/delkey.c:160 g10/keyedit.c:1422
+#: g10/card-util.c:97 g10/card-util.c:2238 g10/delkey.c:160 g10/keyedit.c:1423
 #: g10/keygen.c:4466 g10/revoke.c:214 g10/revoke.c:636
 #, c-format
 msgid "can't do this in batch mode\n"
@@ -1790,13 +1808,13 @@ msgstr "nu pot face acest lucru în modul batch\n"
 msgid "This command is only available for version 2 cards\n"
 msgstr "Această comandă nu este permisă în modul %s.\n"
 
-#: g10/card-util.c:107 scd/app-openpgp.c:2864
+#: g10/card-util.c:107 scd/app-openpgp.c:2863
 #, fuzzy, c-format
 msgid "Reset Code not or not anymore available\n"
 msgstr "părţi ale cheii secrete nu sunt disponibile\n"
 
-#: g10/card-util.c:140 g10/card-util.c:1426 g10/card-util.c:1688
-#: g10/card-util.c:1780 g10/keyedit.c:394 g10/keyedit.c:415 g10/keyedit.c:429
+#: g10/card-util.c:140 g10/card-util.c:1427 g10/card-util.c:1689
+#: g10/card-util.c:1781 g10/keyedit.c:394 g10/keyedit.c:415 g10/keyedit.c:429
 #: g10/keygen.c:1808 g10/keygen.c:1980 g10/keygen.c:2186 g10/keygen.c:2477
 #: sm/certreqgen-ui.c:165 sm/certreqgen-ui.c:291 sm/certreqgen-ui.c:325
 msgid "Your selection? "
@@ -1822,210 +1840,210 @@ msgstr "neforţat(ă)"
 msgid "forced"
 msgstr "forţat(ă)"
 
-#: g10/card-util.c:749
+#: g10/card-util.c:750
 msgid "Error: Only plain ASCII is currently allowed.\n"
 msgstr "Eroare: Deocamdată sunt permise numai caractere ASCII.\n"
 
-#: g10/card-util.c:751
+#: g10/card-util.c:752
 msgid "Error: The \"<\" character may not be used.\n"
 msgstr "Eroare: Caracterul \"<\" nu poate fi folosit.\n"
 
-#: g10/card-util.c:753
+#: g10/card-util.c:754
 msgid "Error: Double spaces are not allowed.\n"
 msgstr "Eroare: Spaţiile duble nu sunt permise.\n"
 
-#: g10/card-util.c:770
+#: g10/card-util.c:771
 msgid "Cardholder's surname: "
 msgstr "Numele de familie al proprietarului cardului: "
 
-#: g10/card-util.c:772
+#: g10/card-util.c:773
 msgid "Cardholder's given name: "
 msgstr "Prenumele proprietarului cardului: "
 
-#: g10/card-util.c:790
+#: g10/card-util.c:791
 #, c-format
 msgid "Error: Combined name too long (limit is %d characters).\n"
 msgstr "Eroare: Nume combinat prea lung (limita este de %d caractere).\n"
 
-#: g10/card-util.c:811
+#: g10/card-util.c:812
 msgid "URL to retrieve public key: "
 msgstr "URL pentru a aduce cheia publică: "
 
-#: g10/card-util.c:905 g10/decrypt-data.c:490 g10/import.c:387 g10/import.c:734
-#: g10/import.c:786 dirmngr/crlcache.c:655 dirmngr/crlcache.c:660
-#: dirmngr/crlcache.c:914 dirmngr/crlcache.c:920 dirmngr/dirmngr.c:1668
+#: g10/card-util.c:906 g10/decrypt-data.c:490 g10/import.c:399 g10/import.c:746
+#: g10/import.c:798 dirmngr/crlcache.c:655 dirmngr/crlcache.c:660
+#: dirmngr/crlcache.c:914 dirmngr/crlcache.c:920 dirmngr/dirmngr.c:1705
 #: tools/gpgconf.c:431 tools/gpgconf.c:477
 #, fuzzy, c-format
 #| msgid "error reading `%s': %s\n"
 msgid "error reading '%s': %s\n"
 msgstr "eroare la citire `%s': %s\n"
 
-#: g10/card-util.c:938 g10/decrypt-data.c:493 g10/export.c:2467
+#: g10/card-util.c:939 g10/decrypt-data.c:493 g10/export.c:2467
 #: dirmngr/crlcache.c:925
 #, fuzzy, c-format
 msgid "error writing '%s': %s\n"
 msgstr "eroare la scrierea inelului de chei `%s': %s\n"
 
-#: g10/card-util.c:965
+#: g10/card-util.c:966
 msgid "Login data (account name): "
 msgstr "Date login (nume cont): "
 
-#: g10/card-util.c:1003
+#: g10/card-util.c:1004
 msgid "Private DO data: "
 msgstr "Date DO personale: "
 
-#: g10/card-util.c:1088
+#: g10/card-util.c:1089
 msgid "Language preferences: "
 msgstr "Preferinţe limbă: "
 
-#: g10/card-util.c:1096
+#: g10/card-util.c:1097
 msgid "Error: invalid length of preference string.\n"
 msgstr "Eroare: lungime invalidă pentru şir preferinţe.\n"
 
-#: g10/card-util.c:1105
+#: g10/card-util.c:1106
 msgid "Error: invalid characters in preference string.\n"
 msgstr "Eroare: caractere invalide în şir preferinţe.\n"
 
-#: g10/card-util.c:1127
+#: g10/card-util.c:1128
 msgid "Salutation (M = Mr., F = Ms., or space): "
 msgstr ""
 
-#: g10/card-util.c:1141
+#: g10/card-util.c:1142
 msgid "Error: invalid response.\n"
 msgstr "Eroare: răspuns invalid.\n"
 
-#: g10/card-util.c:1163
+#: g10/card-util.c:1164
 msgid "CA fingerprint: "
 msgstr "Amprenta CA: "
 
-#: g10/card-util.c:1186
+#: g10/card-util.c:1187
 msgid "Error: invalid formatted fingerprint.\n"
 msgstr "Eroare: amprentă formatată invalid.\n"
 
-#: g10/card-util.c:1236
+#: g10/card-util.c:1237
 #, c-format
 msgid "key operation not possible: %s\n"
 msgstr "operaţia pe cheie nu e posibilă: %s\n"
 
-#: g10/card-util.c:1237
+#: g10/card-util.c:1238
 msgid "not an OpenPGP card"
 msgstr "nu este un card OpenPGP"
 
-#: g10/card-util.c:1250 g10/keygen.c:4486 g10/keygen.c:5565
+#: g10/card-util.c:1251 g10/keygen.c:4486 g10/keygen.c:5565
 #, c-format
 msgid "error getting current key info: %s\n"
 msgstr "eroare la obţinerea informaţiei pentru cheia curentă: %s\n"
 
-#: g10/card-util.c:1335
+#: g10/card-util.c:1336
 msgid "Replace existing key? (y/N) "
 msgstr "Înlocuiesc cheia existentă? (d/N) "
 
-#: g10/card-util.c:1352
+#: g10/card-util.c:1353
 msgid ""
 "Note: There is no guarantee that the card supports the requested size.\n"
 "      If the key generation does not succeed, please check the\n"
 "      documentation of your card to see what sizes are allowed.\n"
 msgstr ""
 
-#: g10/card-util.c:1374 g10/keygen.c:2363 sm/certreqgen-ui.c:179
+#: g10/card-util.c:1375 g10/keygen.c:2363 sm/certreqgen-ui.c:179
 #, c-format
 msgid "What keysize do you want? (%u) "
 msgstr "Ce lungime de cheie doriţi? (%u) "
 
-#: g10/card-util.c:1384 g10/keygen.c:2286 g10/keygen.c:2318
+#: g10/card-util.c:1385 g10/keygen.c:2286 g10/keygen.c:2318
 #: sm/certreqgen-ui.c:194
 #, c-format
 msgid "rounded up to %u bits\n"
 msgstr "rotunjită prin adaos la %u biţi\n"
 
-#: g10/card-util.c:1392 g10/keygen.c:2371 sm/certreqgen-ui.c:184
+#: g10/card-util.c:1393 g10/keygen.c:2371 sm/certreqgen-ui.c:184
 #, c-format
 msgid "%s keysizes must be in the range %u-%u\n"
 msgstr "dimensiunile cheii %s trebuie să fie în intervalul %u-%u\n"
 
-#: g10/card-util.c:1411
+#: g10/card-util.c:1412
 msgid "Changing card key attribute for: "
 msgstr ""
 
-#: g10/card-util.c:1413
+#: g10/card-util.c:1414
 #, fuzzy
 #| msgid "   (1) Signature key\n"
 msgid "Signature key\n"
 msgstr "   (1) Cheie de semnare\n"
 
-#: g10/card-util.c:1415
+#: g10/card-util.c:1416
 #, fuzzy
 #| msgid "   (2) Encryption key\n"
 msgid "Encryption key\n"
 msgstr "   (2) Cheie de cifrare\n"
 
-#: g10/card-util.c:1417
+#: g10/card-util.c:1418
 #, fuzzy
 #| msgid "   (3) Authentication key\n"
 msgid "Authentication key\n"
 msgstr "   (3) Cheie de autentificare\n"
 
-#: g10/card-util.c:1419 g10/keygen.c:1926 sm/certreqgen-ui.c:157
+#: g10/card-util.c:1420 g10/keygen.c:1926 sm/certreqgen-ui.c:157
 msgid "Please select what kind of key you want:\n"
 msgstr "Selectaţi ce fel de cheie doriţi:\n"
 
-#: g10/card-util.c:1420 sm/certreqgen-ui.c:158
+#: g10/card-util.c:1421 sm/certreqgen-ui.c:158
 #, fuzzy, c-format
 msgid "   (%d) RSA\n"
 msgstr "   (%d) RSA (numai semnare)\n"
 
-#: g10/card-util.c:1421
+#: g10/card-util.c:1422
 #, fuzzy, c-format
 msgid "   (%d) ECC\n"
 msgstr "   (%d) DSA şi Elgamal (implicit)\n"
 
-#: g10/card-util.c:1433 g10/card-util.c:1700 g10/card-util.c:1800
-#: g10/keyedit.c:899 g10/keygen.c:1834 g10/keygen.c:1862 g10/keygen.c:1987
+#: g10/card-util.c:1434 g10/card-util.c:1701 g10/card-util.c:1801
+#: g10/keyedit.c:900 g10/keygen.c:1834 g10/keygen.c:1862 g10/keygen.c:1987
 #: g10/keygen.c:2222 g10/keygen.c:2505 g10/revoke.c:838
 msgid "Invalid selection.\n"
 msgstr "Selecţie invalidă.\n"
 
-#: g10/card-util.c:1506
+#: g10/card-util.c:1507
 #, c-format
 msgid "The card will now be re-configured to generate a key of %u bits\n"
 msgstr ""
 
-#: g10/card-util.c:1511
+#: g10/card-util.c:1512
 #, c-format
 msgid "The card will now be re-configured to generate a key of type: %s\n"
 msgstr ""
 
-#: g10/card-util.c:1547
+#: g10/card-util.c:1548
 #, fuzzy, c-format
 msgid "error changing key attribute for key %d: %s\n"
 msgstr "eroare trimitere la `%s': %s\n"
 
-#: g10/card-util.c:1563 g10/card-util.c:2090
+#: g10/card-util.c:1564 g10/card-util.c:2091
 #, fuzzy, c-format
 #| msgid "error getting current key info: %s\n"
 msgid "error getting card info: %s\n"
 msgstr "eroare la obţinerea informaţiei pentru cheia curentă: %s\n"
 
-#: g10/card-util.c:1569 g10/card-util.c:1914 g10/card-util.c:2096
+#: g10/card-util.c:1570 g10/card-util.c:1915 g10/card-util.c:2097
 #, fuzzy, c-format
 #| msgid "This command is not allowed while in %s mode.\n"
 msgid "This command is not supported by this card\n"
 msgstr "Această comandă nu este permisă în modul %s.\n"
 
-#: g10/card-util.c:1615
+#: g10/card-util.c:1616
 msgid "Make off-card backup of encryption key? (Y/n) "
 msgstr "Creez copie de rezervă a cheii de cifrare în afara cardului? (d/N) "
 
-#: g10/card-util.c:1629
+#: g10/card-util.c:1630
 #, fuzzy, c-format
 msgid "Note: keys are already stored on the card!\n"
 msgstr "cheia secretă deja stocată pe un card\n"
 
-#: g10/card-util.c:1632
+#: g10/card-util.c:1633
 msgid "Replace existing keys? (y/N) "
 msgstr "Înlocuiesc cheile existente? (d/N) "
 
-#: g10/card-util.c:1644
+#: g10/card-util.c:1645
 #, fuzzy, c-format
 #| msgid ""
 #| "Please note that the factory settings of the PINs are\n"
@@ -2040,150 +2058,150 @@ msgstr ""
 "   PIN = `%s'     PIN Admin = `%s'\n"
 "Ar trebui să le schimbaţi folosind comanda --change-pin\n"
 
-#: g10/card-util.c:1679
+#: g10/card-util.c:1680
 msgid "Please select the type of key to generate:\n"
 msgstr "Vă rugăm selectaţi tipul de cheie de generat:\n"
 
-#: g10/card-util.c:1681 g10/card-util.c:1771
+#: g10/card-util.c:1682 g10/card-util.c:1772
 msgid "   (1) Signature key\n"
 msgstr "   (1) Cheie de semnare\n"
 
-#: g10/card-util.c:1682 g10/card-util.c:1773
+#: g10/card-util.c:1683 g10/card-util.c:1774
 msgid "   (2) Encryption key\n"
 msgstr "   (2) Cheie de cifrare\n"
 
-#: g10/card-util.c:1683 g10/card-util.c:1775
+#: g10/card-util.c:1684 g10/card-util.c:1776
 msgid "   (3) Authentication key\n"
 msgstr "   (3) Cheie de autentificare\n"
 
-#: g10/card-util.c:1768
+#: g10/card-util.c:1769
 msgid "Please select where to store the key:\n"
 msgstr "Vă rugăm selectaţi unde să fie stocată cheia:\n"
 
-#: g10/card-util.c:1814
+#: g10/card-util.c:1815
 #, fuzzy, c-format
 msgid "KEYTOCARD failed: %s\n"
 msgstr "actualizarea a eşuat: %s\n"
 
-#: g10/card-util.c:1919
+#: g10/card-util.c:1920
 #, fuzzy, c-format
 msgid "Note: This command destroys all keys stored on the card!\n"
 msgstr "cheia secretă deja stocată pe un card\n"
 
-#: g10/card-util.c:1922
+#: g10/card-util.c:1923
 #, fuzzy
 #| msgid "Sign it? (y/N) "
 msgid "Continue? (y/N) "
 msgstr "Doriţi să-l semnaţi? (d/N) "
 
-#: g10/card-util.c:1927
+#: g10/card-util.c:1928
 msgid "Really do a factory reset? (enter \"yes\") "
 msgstr ""
 
-#: g10/card-util.c:2113
+#: g10/card-util.c:2114
 #, fuzzy, c-format
 msgid "error for setup KDF: %s\n"
 msgstr "eroare în `%s': %s\n"
 
-#: g10/card-util.c:2142 g10/keyedit.c:1259
+#: g10/card-util.c:2143 g10/keyedit.c:1260
 msgid "quit this menu"
 msgstr "ieşi din acest meniu"
 
-#: g10/card-util.c:2144
+#: g10/card-util.c:2145
 msgid "show admin commands"
 msgstr "arată comenzi administrare"
 
-#: g10/card-util.c:2145 g10/keyedit.c:1262
+#: g10/card-util.c:2146 g10/keyedit.c:1263
 msgid "show this help"
 msgstr "afişează acest mesaj"
 
-#: g10/card-util.c:2147
+#: g10/card-util.c:2148
 msgid "list all available data"
 msgstr "afişează toate datele disponibile"
 
-#: g10/card-util.c:2150
+#: g10/card-util.c:2151
 msgid "change card holder's name"
 msgstr "schimbă numele purtătorului cardului"
 
-#: g10/card-util.c:2151
+#: g10/card-util.c:2152
 msgid "change URL to retrieve key"
 msgstr "schimbă URL-ul de unde să fie adusă cheia"
 
-#: g10/card-util.c:2152
+#: g10/card-util.c:2153
 msgid "fetch the key specified in the card URL"
 msgstr "adu cheia specificată de URL-ul de pe card"
 
-#: g10/card-util.c:2153
+#: g10/card-util.c:2154
 msgid "change the login name"
 msgstr "schimbă numele de login"
 
-#: g10/card-util.c:2154
+#: g10/card-util.c:2155
 msgid "change the language preferences"
 msgstr "schimbă preferinţele de limbă"
 
-#: g10/card-util.c:2155
+#: g10/card-util.c:2156
 #, fuzzy
 #| msgid "change card holder's sex"
 msgid "change card holder's salutation"
 msgstr "schimbă sexul purtătorului cardului"
 
-#: g10/card-util.c:2157
+#: g10/card-util.c:2158
 msgid "change a CA fingerprint"
 msgstr "schimbă o amprentă CA"
 
-#: g10/card-util.c:2158
+#: g10/card-util.c:2159
 msgid "toggle the signature force PIN flag"
 msgstr "comută fanionul PIN de forţare a semnăturii"
 
-#: g10/card-util.c:2159
+#: g10/card-util.c:2160
 msgid "generate new keys"
 msgstr "generează noi chei"
 
-#: g10/card-util.c:2160
+#: g10/card-util.c:2161
 msgid "menu to change or unblock the PIN"
 msgstr "meniu pentru a schimba sau debloca PIN-ul"
 
-#: g10/card-util.c:2161
+#: g10/card-util.c:2162
 msgid "verify the PIN and list all data"
 msgstr "verifică PIN-ul şi listează toate datele"
 
-#: g10/card-util.c:2162
+#: g10/card-util.c:2163
 msgid "unblock the PIN using a Reset Code"
 msgstr ""
 
-#: g10/card-util.c:2163
+#: g10/card-util.c:2164
 msgid "destroy all keys and data"
 msgstr ""
 
-#: g10/card-util.c:2164
+#: g10/card-util.c:2165
 #, fuzzy
 #| msgid "|NAME|use NAME as default recipient"
 msgid "setup KDF for PIN authentication"
 msgstr "|NUME|foloseşte NUME ca destinatar implicit"
 
-#: g10/card-util.c:2165
+#: g10/card-util.c:2166
 #, fuzzy
 #| msgid "change the ownertrust"
 msgid "change the key attribute"
 msgstr "schimbă încrederea pentru proprietar"
 
-#: g10/card-util.c:2289
+#: g10/card-util.c:2290
 msgid "gpg/card> "
 msgstr ""
 
-#: g10/card-util.c:2330
+#: g10/card-util.c:2331
 msgid "Admin-only command\n"
 msgstr "Comandă numai-administrare\n"
 
-#: g10/card-util.c:2361
+#: g10/card-util.c:2362
 msgid "Admin commands are allowed\n"
 msgstr "Sunt permise comenzi administrare\n"
 
-#: g10/card-util.c:2363
+#: g10/card-util.c:2364
 msgid "Admin commands are not allowed\n"
 msgstr "Nu sunt permise comenzi administrare\n"
 
-#: g10/card-util.c:2466 g10/keyedit.c:2228
+#: g10/card-util.c:2467 g10/keyedit.c:2229
 msgid "Invalid command  (try \"help\")\n"
 msgstr "Comandă invalidă  (încercaţi \"ajutor\")\n"
 
@@ -2192,22 +2210,22 @@ msgstr "Comandă invalidă  (încercaţi \"ajutor\")\n"
 msgid "--output doesn't work for this command\n"
 msgstr "--output nu merge pentru această comandă\n"
 
-#: g10/decrypt.c:247 g10/gpg.c:5083 g10/keyring.c:399 g10/keyring.c:750
+#: g10/decrypt.c:247 g10/gpg.c:5104 g10/keyring.c:399 g10/keyring.c:750
 #, fuzzy, c-format
 #| msgid "can't open `%s'\n"
 msgid "can't open '%s'\n"
 msgstr "nu pot deschide `%s'\n"
 
 #: g10/delkey.c:83 g10/export.c:1947 g10/export.c:2230 g10/export.c:2351
-#: g10/getkey.c:1964 g10/gpg.c:5028 g10/keyedit.c:1444 g10/keyedit.c:2334
-#: g10/keyedit.c:2580 g10/keyedit.c:4543 g10/keylist.c:689 g10/keyserver.c:1259
+#: g10/getkey.c:2108 g10/gpg.c:5049 g10/keyedit.c:1445 g10/keyedit.c:2335
+#: g10/keyedit.c:2581 g10/keyedit.c:4544 g10/keylist.c:689 g10/keyserver.c:1092
 #: g10/revoke.c:230 g10/tofu.c:2165
 #, c-format
 msgid "key \"%s\" not found: %s\n"
 msgstr "cheia \"%s\" nu a fost găsită: %s\n"
 
-#: g10/delkey.c:92 g10/export.c:2015 g10/getkey.c:1972 g10/getkey.c:4346
-#: g10/gpg.c:5037 g10/keyedit.c:2307 g10/keyserver.c:1277 g10/revoke.c:236
+#: g10/delkey.c:92 g10/export.c:2015 g10/getkey.c:2116 g10/getkey.c:4517
+#: g10/gpg.c:5058 g10/keyedit.c:2308 g10/keyserver.c:1110 g10/revoke.c:236
 #: g10/revoke.c:663 g10/tofu.c:2173
 #, c-format
 msgid "error reading keyblock: %s\n"
@@ -2268,9 +2286,9 @@ msgstr "cheie"
 msgid "subkey"
 msgstr "Pubkey: "
 
-#: g10/delkey.c:299 g10/keyedit.c:2200 g10/keyedit.c:2210 g10/keyedit.c:2387
-#: g10/keyedit.c:2461 g10/keyedit.c:2532 g10/keyedit.c:2757 g10/keyedit.c:2987
-#: g10/keyedit.c:3056 g10/keyedit.c:3207
+#: g10/delkey.c:299 g10/keyedit.c:2201 g10/keyedit.c:2211 g10/keyedit.c:2388
+#: g10/keyedit.c:2462 g10/keyedit.c:2533 g10/keyedit.c:2758 g10/keyedit.c:2988
+#: g10/keyedit.c:3057 g10/keyedit.c:3208
 #, c-format
 msgid "update failed: %s\n"
 msgstr "actualizarea a eşuat: %s\n"
@@ -2297,7 +2315,7 @@ msgstr ""
 "folosiţi opţiunea \"--delete-secret-keys\" pentru a o şterge pe aceasta mai "
 "întâi.\n"
 
-#: g10/encrypt.c:202 g10/sign.c:1471
+#: g10/encrypt.c:202 g10/sign.c:1470
 #, c-format
 msgid "error creating passphrase: %s\n"
 msgstr "eroare la crearea frazei-parolă: %s\n"
@@ -2324,15 +2342,15 @@ msgstr "`%s' deja compresat\n"
 msgid "WARNING: '%s' is an empty file\n"
 msgstr "AVERTISMENT: `%s' este un fişier gol\n"
 
-#: g10/encrypt.c:387 g10/encrypt.c:610 g10/decrypt-data.c:260 g10/gpg.c:3901
-#: g10/gpg.c:3941 sm/decrypt.c:364 sm/encrypt.c:415 sm/gpgsm.c:1655
+#: g10/encrypt.c:387 g10/encrypt.c:610 g10/decrypt-data.c:260 g10/gpg.c:3922
+#: g10/gpg.c:3962 sm/decrypt.c:826 sm/encrypt.c:416 sm/gpgsm.c:1555
 #, fuzzy, c-format
 #| msgid "you may not use cipher algorithm `%s' while in %s mode\n"
 msgid "cipher algorithm '%s' may not be used in %s mode\n"
 msgstr "nu puteţi folosi algoritmul de cifrare `%s' câtă vreme în modul %s\n"
 
-#: g10/encrypt.c:396 g10/gpg.c:3907 g10/gpg.c:3953 g10/sig-check.c:146
-#: g10/sign.c:391 sm/gpgsm.c:1665 sm/gpgsm.c:1675 sm/sign.c:478 sm/verify.c:506
+#: g10/encrypt.c:396 g10/gpg.c:3928 g10/gpg.c:3974 g10/sig-check.c:146
+#: g10/sign.c:391 sm/gpgsm.c:1565 sm/gpgsm.c:1575 sm/sign.c:478 sm/verify.c:506
 #, fuzzy, c-format
 #| msgid "you may not use digest algorithm `%s' while in %s mode\n"
 msgid "digest algorithm '%s' may not be used in %s mode\n"
@@ -2352,12 +2370,12 @@ msgstr ""
 "AVERTISMENT: forţând cifrul simetric %s (%d) violaţi preferinţele "
 "destinatarului\n"
 
-#: g10/encrypt.c:640 sm/encrypt.c:490
+#: g10/encrypt.c:640 sm/encrypt.c:491
 #, fuzzy, c-format
 msgid "WARNING: key %s is not suitable for encryption in %s mode\n"
 msgstr "AVERTISMENT: \"%s\" este o opţiune învechită\n"
 
-#: g10/encrypt.c:751 g10/sign.c:1163
+#: g10/encrypt.c:751 g10/sign.c:1162
 #, c-format
 msgid ""
 "WARNING: forcing compression algorithm %s (%d) violates recipient "
@@ -2387,12 +2405,12 @@ msgstr "nu puteţi folosi %s câtă vreme în modul %s\n"
 msgid "%s encrypted data\n"
 msgstr "%s date cifrate\n"
 
-#: g10/decrypt-data.c:243 g10/mainproc.c:396
+#: g10/decrypt-data.c:243 g10/mainproc.c:397
 #, c-format
 msgid "encrypted with unknown algorithm %d\n"
 msgstr "cifrat cu un algoritm necunoscut %d\n"
 
-#: g10/decrypt-data.c:357 g10/decrypt-data.c:410 sm/decrypt.c:130
+#: g10/decrypt-data.c:357 g10/decrypt-data.c:410 sm/decrypt.c:550
 #, c-format
 msgid ""
 "WARNING: message was encrypted with a weak key in the symmetric cipher.\n"
@@ -2409,7 +2427,7 @@ msgstr "problemă cu mânuirea pachetului cifrat\n"
 msgid "no remote program execution supported\n"
 msgstr "nu este suportată execuţia nici unui program la distanţă\n"
 
-#: g10/exec.c:381
+#: g10/exec.c:389
 #, c-format
 msgid ""
 "external program calls are disabled due to unsafe options file permissions\n"
@@ -2417,52 +2435,52 @@ msgstr ""
 "chemarea programelor externe sunt deactivate datorită opţiunilor nesigure "
 "pentru permisiunile fişierului\n"
 
-#: g10/exec.c:411
+#: g10/exec.c:419
 #, c-format
 msgid "this platform requires temporary files when calling external programs\n"
 msgstr ""
 "această platformă necesită fişiere temporare când sunt chemate programe "
 "externe\n"
 
-#: g10/exec.c:489
+#: g10/exec.c:497
 #, fuzzy, c-format
 #| msgid "unable to execute program `%s': %s\n"
 msgid "unable to execute program '%s': %s\n"
 msgstr "nu pot executa programul `%s': %s\n"
 
-#: g10/exec.c:492
+#: g10/exec.c:500
 #, fuzzy, c-format
 #| msgid "unable to execute shell `%s': %s\n"
 msgid "unable to execute shell '%s': %s\n"
 msgstr "nu pot executa shell-ul `%s': %s\n"
 
-#: g10/exec.c:583
+#: g10/exec.c:591
 #, c-format
 msgid "system error while calling external program: %s\n"
 msgstr "eroare de sistem la chemarea programului extern: %s\n"
 
-#: g10/exec.c:594 g10/exec.c:661
+#: g10/exec.c:602 g10/exec.c:669
 #, c-format
 msgid "unnatural exit of external program\n"
 msgstr "ieşire nenaturală a programului extern\n"
 
-#: g10/exec.c:609
+#: g10/exec.c:617
 #, c-format
 msgid "unable to execute external program\n"
 msgstr "nu pot executa programul extern\n"
 
-#: g10/exec.c:626
+#: g10/exec.c:634
 #, c-format
 msgid "unable to read external program response: %s\n"
 msgstr "nu pot citi răspunsul programului extern: %s\n"
 
-#: g10/exec.c:672 g10/exec.c:679
+#: g10/exec.c:680 g10/exec.c:687
 #, fuzzy, c-format
 #| msgid "WARNING: unable to remove tempfile (%s) `%s': %s\n"
 msgid "WARNING: unable to remove tempfile (%s) '%s': %s\n"
 msgstr "AVERTISMENT: nu pot şterge fişierul temporar (%s) `%s': %s\n"
 
-#: g10/exec.c:684
+#: g10/exec.c:692
 #, fuzzy, c-format
 #| msgid "WARNING: unable to remove temp directory `%s': %s\n"
 msgid "WARNING: unable to remove temp directory '%s': %s\n"
@@ -2501,8 +2519,8 @@ msgstr ""
 msgid " - skipped"
 msgstr "%s: sărită: %s\n"
 
-#: g10/export.c:1324 g10/import.c:2073 g10/openfile.c:200 g10/openfile.c:294
-#: g10/sign.c:1013 g10/sign.c:1327
+#: g10/export.c:1324 g10/import.c:2085 g10/openfile.c:200 g10/openfile.c:294
+#: g10/sign.c:1012 g10/sign.c:1326
 #, fuzzy, c-format
 #| msgid "writing to `%s'\n"
 msgid "writing to '%s'\n"
@@ -2539,291 +2557,291 @@ msgstr "eroare la creearea `%s': %s\n"
 msgid "[User ID not found]"
 msgstr "[ID utilizator nu a fost găsit]"
 
-#: g10/getkey.c:1297
+#: g10/getkey.c:1441
 #, fuzzy, c-format
 msgid "automatically retrieved '%s' via %s\n"
 msgstr "eroare la creearea `%s': %s\n"
 
-#: g10/getkey.c:1303
+#: g10/getkey.c:1447
 #, fuzzy, c-format
 msgid "error retrieving '%s' via %s: %s\n"
 msgstr "eroare la creearea `%s': %s\n"
 
-#: g10/getkey.c:1305
+#: g10/getkey.c:1449
 #, fuzzy
 msgid "No fingerprint"
 msgstr "Amprenta CA: "
 
-#: g10/getkey.c:1526
+#: g10/getkey.c:1670
 #, c-format
 msgid "checking for a fresh copy of an expired key via %s\n"
 msgstr ""
 
-#: g10/getkey.c:1941 g10/revoke.c:655 g10/revoke.c:720
+#: g10/getkey.c:2085 g10/revoke.c:655 g10/revoke.c:720
 #, c-format
 msgid "secret key \"%s\" not found: %s\n"
 msgstr "cheia secretă \"%s\" nu a fost găsită: %s\n"
 
-#: g10/getkey.c:1944 g10/pkclist.c:988
+#: g10/getkey.c:2088 g10/pkclist.c:988
 #, fuzzy, c-format
 msgid "(check argument of option '%s')\n"
 msgstr "opţiuni enumerare invalide\n"
 
-#: g10/getkey.c:2020
+#: g10/getkey.c:2164
 #, fuzzy, c-format
 #| msgid "|NAME|use NAME as default secret key"
 msgid "Warning: not using '%s' as default key: %s\n"
 msgstr "|NUME|foloseşte NUME ca cheie secretă implicită"
 
-#: g10/getkey.c:2028
+#: g10/getkey.c:2172
 #, fuzzy, c-format
 #| msgid "|NAME|use NAME as default secret key"
 msgid "using \"%s\" as default secret key for signing\n"
 msgstr "|NUME|foloseşte NUME ca cheie secretă implicită"
 
-#: g10/getkey.c:2035
+#: g10/getkey.c:2179
 #, c-format
 msgid "all values passed to '%s' ignored\n"
 msgstr ""
 
-#: g10/getkey.c:2880
+#: g10/getkey.c:3024
 #, c-format
 msgid "Invalid key %s made valid by --allow-non-selfsigned-uid\n"
 msgstr "Cheia invalidă %s făcută validă de --allow-non-selfsigned-uid\n"
 
-#: g10/getkey.c:3730
+#: g10/getkey.c:3874
 #, c-format
 msgid "using subkey %s instead of primary key %s\n"
 msgstr "folosim subcheia %s în loc de cheia primară %s\n"
 
-#: g10/getkey.c:4275 g10/gpg.c:2107
+#: g10/getkey.c:4446 g10/gpg.c:2120
 #, fuzzy, c-format
 msgid "valid values for option '%s':\n"
 msgstr "opţiuni enumerare invalide\n"
 
-#: g10/gpg.c:442 sm/gpgsm.c:206
+#: g10/gpg.c:439 sm/gpgsm.c:207
 #, fuzzy
 msgid "make a signature"
 msgstr "|[fişier]|crează o semnătură"
 
-#: g10/gpg.c:443
+#: g10/gpg.c:440
 #, fuzzy
 msgid "make a clear text signature"
 msgstr "|[fişier]|crează o semnătură text în clar"
 
-#: g10/gpg.c:445 sm/gpgsm.c:208
+#: g10/gpg.c:442 sm/gpgsm.c:209
 msgid "make a detached signature"
 msgstr "crează o semnătură detaşată"
 
-#: g10/gpg.c:446 sm/gpgsm.c:209
+#: g10/gpg.c:443 sm/gpgsm.c:210
 msgid "encrypt data"
 msgstr "cifrează datele"
 
-#: g10/gpg.c:448
+#: g10/gpg.c:445
 msgid "encryption only with symmetric cipher"
 msgstr "cifrează numai cu cifru simetric"
 
-#: g10/gpg.c:450 sm/gpgsm.c:211
+#: g10/gpg.c:447 sm/gpgsm.c:212
 msgid "decrypt data (default)"
 msgstr "decriptează datele (implicit)"
 
-#: g10/gpg.c:452 sm/gpgsm.c:212
+#: g10/gpg.c:449 sm/gpgsm.c:213
 msgid "verify a signature"
 msgstr "verifică o semnătură"
 
-#: g10/gpg.c:454 sm/gpgsm.c:213
+#: g10/gpg.c:451 sm/gpgsm.c:214
 msgid "list keys"
 msgstr "enumeră chei"
 
-#: g10/gpg.c:456
+#: g10/gpg.c:453
 msgid "list keys and signatures"
 msgstr "enumeră chei şi semnături"
 
-#: g10/gpg.c:459
+#: g10/gpg.c:456
 msgid "list and check key signatures"
 msgstr "enumeră şi verifică semnăturile cheii"
 
-#: g10/gpg.c:461 sm/gpgsm.c:218
+#: g10/gpg.c:458 sm/gpgsm.c:219
 msgid "list keys and fingerprints"
 msgstr "enumeră chei şi amprente"
 
-#: g10/gpg.c:462 sm/gpgsm.c:216
+#: g10/gpg.c:459 sm/gpgsm.c:217
 msgid "list secret keys"
 msgstr "enumeră chei secrete"
 
-#: g10/gpg.c:464 sm/gpgsm.c:219
+#: g10/gpg.c:461 sm/gpgsm.c:220
 msgid "generate a new key pair"
 msgstr "generează o nouă perechi de chei"
 
-#: g10/gpg.c:467
+#: g10/gpg.c:464
 #, fuzzy
 #| msgid "generate a new key pair"
 msgid "quickly generate a new key pair"
 msgstr "generează o nouă perechi de chei"
 
-#: g10/gpg.c:470
+#: g10/gpg.c:467
 #, fuzzy
 #| msgid "generate a new key pair"
 msgid "quickly add a new user-id"
 msgstr "generează o nouă perechi de chei"
 
-#: g10/gpg.c:475
+#: g10/gpg.c:472
 #, fuzzy
 #| msgid "generate a new key pair"
 msgid "quickly revoke a user-id"
 msgstr "generează o nouă perechi de chei"
 
-#: g10/gpg.c:478
+#: g10/gpg.c:475
 #, fuzzy
 #| msgid "generate a new key pair"
 msgid "quickly set a new expiration date"
 msgstr "generează o nouă perechi de chei"
 
-#: g10/gpg.c:481
+#: g10/gpg.c:478
 msgid "full featured key pair generation"
 msgstr ""
 
-#: g10/gpg.c:484
+#: g10/gpg.c:481
 msgid "generate a revocation certificate"
 msgstr "generează un certificat de revocare"
 
-#: g10/gpg.c:487 sm/gpgsm.c:222
+#: g10/gpg.c:484 sm/gpgsm.c:223
 msgid "remove keys from the public keyring"
 msgstr "şterge chei de pe inelul de chei public"
 
-#: g10/gpg.c:489
+#: g10/gpg.c:486
 msgid "remove keys from the secret keyring"
 msgstr "şterge chei de pe inelul de chei secret"
 
-#: g10/gpg.c:491
+#: g10/gpg.c:488
 #, fuzzy
 #| msgid "sign a key"
 msgid "quickly sign a key"
 msgstr "semnează o cheie"
 
-#: g10/gpg.c:493
+#: g10/gpg.c:490
 #, fuzzy
 #| msgid "sign a key locally"
 msgid "quickly sign a key locally"
 msgstr "semnează o cheie local"
 
-#: g10/gpg.c:495
+#: g10/gpg.c:492
 #, fuzzy
 #| msgid "generate a new key pair"
 msgid "quickly revoke a key signature"
 msgstr "generează o nouă perechi de chei"
 
-#: g10/gpg.c:496
+#: g10/gpg.c:493
 msgid "sign a key"
 msgstr "semnează o cheie"
 
-#: g10/gpg.c:497
+#: g10/gpg.c:494
 msgid "sign a key locally"
 msgstr "semnează o cheie local"
 
-#: g10/gpg.c:498
+#: g10/gpg.c:495
 msgid "sign or edit a key"
 msgstr "semnează sau editează o cheie"
 
-#: g10/gpg.c:500 sm/gpgsm.c:240
+#: g10/gpg.c:497 sm/gpgsm.c:241
 #, fuzzy
 msgid "change a passphrase"
 msgstr "schimbă fraza-parolă"
 
-#: g10/gpg.c:504
+#: g10/gpg.c:501
 msgid "export keys"
 msgstr "exportă chei"
 
-#: g10/gpg.c:505
+#: g10/gpg.c:502
 msgid "export keys to a keyserver"
 msgstr "exportă chei pentru un server de chei"
 
-#: g10/gpg.c:506
+#: g10/gpg.c:503
 msgid "import keys from a keyserver"
 msgstr "importă chei de la un server de chei"
 
-#: g10/gpg.c:509
+#: g10/gpg.c:506
 msgid "search for keys on a keyserver"
 msgstr "caută pentru chei pe un server de chei"
 
-#: g10/gpg.c:511
+#: g10/gpg.c:508
 msgid "update all keys from a keyserver"
 msgstr "actualizează toate cheile de la un server de chei"
 
-#: g10/gpg.c:519
+#: g10/gpg.c:516
 msgid "import/merge keys"
 msgstr "importă/combină chei"
 
-#: g10/gpg.c:522
+#: g10/gpg.c:519
 msgid "print the card status"
 msgstr "afişează starea cardului"
 
-#: g10/gpg.c:523
+#: g10/gpg.c:520
 msgid "change data on a card"
 msgstr "schimbă data de pe card"
 
-#: g10/gpg.c:525
+#: g10/gpg.c:522
 msgid "change a card's PIN"
 msgstr "schimbă PIN-ul unui card"
 
-#: g10/gpg.c:537
+#: g10/gpg.c:534
 msgid "update the trust database"
 msgstr "actualizează baza de date de încredere"
 
-#: g10/gpg.c:546
+#: g10/gpg.c:543
 #, fuzzy
 msgid "print message digests"
 msgstr "|algo [fişiere]|afişează rezumate mesaje"
 
-#: g10/gpg.c:549 sm/gpgsm.c:235
+#: g10/gpg.c:546 sm/gpgsm.c:236
 msgid "run in server mode"
 msgstr ""
 
-#: g10/gpg.c:551
+#: g10/gpg.c:548
 msgid "|VALUE|set the TOFU policy for a key"
 msgstr ""
 
-#: g10/gpg.c:555 sm/gpgsm.c:254
+#: g10/gpg.c:552 sm/gpgsm.c:255
 msgid "create ascii armored output"
 msgstr "crează ieşire în armură ascii"
 
-#: g10/gpg.c:558 sm/gpgsm.c:271
+#: g10/gpg.c:555 sm/gpgsm.c:272
 #, fuzzy
 msgid "|USER-ID|encrypt for USER-ID"
 msgstr "|NUME|cifrare pentru NUME"
 
-#: g10/gpg.c:574 sm/gpgsm.c:307
+#: g10/gpg.c:571 sm/gpgsm.c:308
 #, fuzzy
 msgid "|USER-ID|use USER-ID to sign or decrypt"
 msgstr "foloseşte acest id-utilizator pentru a semna sau decripta"
 
-#: g10/gpg.c:580
+#: g10/gpg.c:577
 #, fuzzy
 msgid "|N|set compress level to N (0 disables)"
 msgstr "|N|setează nivel de compresie N (0 deactivează)"
 
-#: g10/gpg.c:587
+#: g10/gpg.c:584
 msgid "use canonical text mode"
 msgstr "foloseşte modul text canonic"
 
-#: g10/gpg.c:604 g10/gpgv.c:82 sm/gpgsm.c:309
+#: g10/gpg.c:601 g10/gpgv.c:82 sm/gpgsm.c:310
 #, fuzzy
 msgid "|FILE|write output to FILE"
 msgstr "|FIŞIER|încarcă modulul extensie FIŞIER"
 
-#: g10/gpg.c:614 kbx/kbxutil.c:90 sm/gpgsm.c:321 tools/gpgconf.c:110
+#: g10/gpg.c:611 kbx/kbxutil.c:90 sm/gpgsm.c:322 tools/gpgconf.c:110
 msgid "do not make any changes"
 msgstr "nu face nici o schimbare"
 
-#: g10/gpg.c:615
+#: g10/gpg.c:612
 msgid "prompt before overwriting"
 msgstr "întreabă înainte de a suprascrie"
 
-#: g10/gpg.c:665
+#: g10/gpg.c:662
 msgid "use strict OpenPGP behavior"
 msgstr "foloseşte comportament strict OpenPGP"
 
-#: g10/gpg.c:692 sm/gpgsm.c:364
+#: g10/gpg.c:689 sm/gpgsm.c:367
 msgid ""
 "@\n"
 "(See the man page for a complete listing of all commands and options)\n"
@@ -2831,7 +2849,7 @@ msgstr ""
 "@\n"
 "(Arată pagina man pentru o listă completă a comenzilor şi opţiunilor)\n"
 
-#: g10/gpg.c:695
+#: g10/gpg.c:692
 #, fuzzy
 #| msgid ""
 #| "@\n"
@@ -2861,13 +2879,13 @@ msgstr ""
 " --list-keys [nume]         arată chei\n"
 " --fingerprint [nume]       arată amprente\n"
 
-#: g10/gpg.c:1092
+#: g10/gpg.c:1096
 #, fuzzy
 #| msgid "Usage: gpg [options] [files] (-h for help)"
 msgid "Usage: @GPG@ [options] [files] (-h for help)"
 msgstr "Folosire: gpg [opţiuni] [fişiere] (-h pentru ajutor)"
 
-#: g10/gpg.c:1095
+#: g10/gpg.c:1099
 #, fuzzy
 #| msgid ""
 #| "Syntax: gpg [options] [files]\n"
@@ -2882,7 +2900,7 @@ msgstr ""
 "sign, check, encrypt sau decrypt\n"
 "operaţiunea implicită depinde de datele de intrare\n"
 
-#: g10/gpg.c:1106 sm/gpgsm.c:591
+#: g10/gpg.c:1110 sm/gpgsm.c:594
 msgid ""
 "\n"
 "Supported algorithms:\n"
@@ -2890,79 +2908,79 @@ msgstr ""
 "\n"
 "Algoritmuri suportate:\n"
 
-#: g10/gpg.c:1109
+#: g10/gpg.c:1113
 msgid "Pubkey: "
 msgstr "Pubkey: "
 
-#: g10/gpg.c:1116 g10/keyedit.c:3281
+#: g10/gpg.c:1120 g10/keyedit.c:3282
 msgid "Cipher: "
 msgstr "Cifru: "
 
-#: g10/gpg.c:1123
+#: g10/gpg.c:1127
 msgid "Hash: "
 msgstr "Hash: "
 
-#: g10/gpg.c:1130 g10/keyedit.c:3347
+#: g10/gpg.c:1134 g10/keyedit.c:3348
 msgid "Compression: "
 msgstr "Compresie: "
 
-#: g10/gpg.c:1199 sm/gpgsm.c:665
+#: g10/gpg.c:1207 sm/gpgsm.c:668
 #, fuzzy, c-format
 msgid "usage: %s [options] %s\n"
 msgstr "folosire: gpg [opţiuni] "
 
-#: g10/gpg.c:1388 sm/gpgsm.c:754
+#: g10/gpg.c:1396 sm/gpgsm.c:761
 #, c-format
 msgid "conflicting commands\n"
 msgstr "comenzi în conflict\n"
 
-#: g10/gpg.c:1406
+#: g10/gpg.c:1414
 #, fuzzy, c-format
 #| msgid "no = sign found in group definition `%s'\n"
 msgid "no = sign found in group definition '%s'\n"
 msgstr "nu am găsit nici un semn = în definiţia grupului `%s'\n"
 
-#: g10/gpg.c:1604
+#: g10/gpg.c:1612
 #, fuzzy, c-format
 #| msgid "WARNING: unsafe ownership on homedir `%s'\n"
 msgid "WARNING: unsafe ownership on homedir '%s'\n"
 msgstr ""
 "AVERTISMENT: proprietate nesigură (unsafe) pentru directorul home `%s'\n"
 
-#: g10/gpg.c:1607
+#: g10/gpg.c:1615
 #, fuzzy, c-format
 #| msgid "WARNING: unsafe ownership on configuration file `%s'\n"
 msgid "WARNING: unsafe ownership on configuration file '%s'\n"
 msgstr ""
 "AVERTISMENT: proprietate nesigură (unsafe) pentru fişier configurare `%s'\n"
 
-#: g10/gpg.c:1610
+#: g10/gpg.c:1618
 #, fuzzy, c-format
 #| msgid "WARNING: unsafe ownership on extension `%s'\n"
 msgid "WARNING: unsafe ownership on extension '%s'\n"
 msgstr "AVERTISMENT: proprietate nesigură (unsafe) pentru extensia `%s'\n"
 
-#: g10/gpg.c:1616
+#: g10/gpg.c:1624
 #, fuzzy, c-format
 #| msgid "WARNING: unsafe permissions on homedir `%s'\n"
 msgid "WARNING: unsafe permissions on homedir '%s'\n"
 msgstr ""
 "AVERTISMENT: permisiuni nesigure (unsafe) pentru directorul home `%s'\n"
 
-#: g10/gpg.c:1619
+#: g10/gpg.c:1627
 #, fuzzy, c-format
 #| msgid "WARNING: unsafe permissions on configuration file `%s'\n"
 msgid "WARNING: unsafe permissions on configuration file '%s'\n"
 msgstr ""
 "AVERTISMENT: permisiuni nesigure (unsafe) pentru fişier configurare `%s'\n"
 
-#: g10/gpg.c:1622
+#: g10/gpg.c:1630
 #, fuzzy, c-format
 #| msgid "WARNING: unsafe permissions on extension `%s'\n"
 msgid "WARNING: unsafe permissions on extension '%s'\n"
 msgstr "AVERTISMENT: permisiuni nesigure (unsafe) pentru extensia `%s'\n"
 
-#: g10/gpg.c:1628
+#: g10/gpg.c:1636
 #, fuzzy, c-format
 #| msgid "WARNING: unsafe enclosing directory ownership on homedir `%s'\n"
 msgid "WARNING: unsafe enclosing directory ownership on homedir '%s'\n"
@@ -2970,7 +2988,7 @@ msgstr ""
 "AVERTISMENT: proprietate director incluziuni nesigur (unsafe) pentru "
 "directorul home `%s'\n"
 
-#: g10/gpg.c:1631
+#: g10/gpg.c:1639
 #, fuzzy, c-format
 #| msgid ""
 #| "WARNING: unsafe enclosing directory ownership on configuration file `%s'\n"
@@ -2980,7 +2998,7 @@ msgstr ""
 "AVERTISMENT: proprietate director incluziuni nesigur (unsafe) pentru fişier "
 "configurare `%s'\n"
 
-#: g10/gpg.c:1634
+#: g10/gpg.c:1642
 #, fuzzy, c-format
 #| msgid "WARNING: unsafe enclosing directory ownership on extension `%s'\n"
 msgid "WARNING: unsafe enclosing directory ownership on extension '%s'\n"
@@ -2988,7 +3006,7 @@ msgstr ""
 "AVERTISMENT: proprietate director incluziuni nesigur (unsafe) pentru "
 "extensia `%s'\n"
 
-#: g10/gpg.c:1640
+#: g10/gpg.c:1648
 #, fuzzy, c-format
 #| msgid "WARNING: unsafe enclosing directory permissions on homedir `%s'\n"
 msgid "WARNING: unsafe enclosing directory permissions on homedir '%s'\n"
@@ -2996,7 +3014,7 @@ msgstr ""
 "AVERTISMENT: permisiuni director incluziuni nesigure (unsafe) pentru "
 "directorul home `%s'\n"
 
-#: g10/gpg.c:1643
+#: g10/gpg.c:1651
 #, fuzzy, c-format
 #| msgid ""
 #| "WARNING: unsafe enclosing directory permissions on configuration file `"
@@ -3007,7 +3025,7 @@ msgstr ""
 "AVERTISMENT: permisiuni director incluziuni nesigure (unsafe) pentru fişier "
 "configurare `%s'\n"
 
-#: g10/gpg.c:1646
+#: g10/gpg.c:1654
 #, fuzzy, c-format
 #| msgid "WARNING: unsafe enclosing directory permissions on extension `%s'\n"
 msgid "WARNING: unsafe enclosing directory permissions on extension '%s'\n"
@@ -3015,464 +3033,464 @@ msgstr ""
 "AVERTISMENT: permisiuni director incluziuni nesigure (unsafe) pentru "
 "extensia `%s'\n"
 
-#: g10/gpg.c:1862
+#: g10/gpg.c:1870
 #, fuzzy, c-format
 #| msgid "unknown configuration item `%s'\n"
 msgid "unknown configuration item '%s'\n"
 msgstr "articol configurare necunoscut `%s'\n"
 
-#: g10/gpg.c:1979
+#: g10/gpg.c:1992
 msgid "display photo IDs during key listings"
 msgstr ""
 
-#: g10/gpg.c:1981
+#: g10/gpg.c:1994
 #, fuzzy
 msgid "show key usage information during key listings"
 msgstr "Nici o semnătură corespunzătoare în inelul secret\n"
 
-#: g10/gpg.c:1983
+#: g10/gpg.c:1996
 msgid "show policy URLs during signature listings"
 msgstr ""
 
-#: g10/gpg.c:1985
+#: g10/gpg.c:1998
 #, fuzzy
 msgid "show all notations during signature listings"
 msgstr "Nici o semnătură corespunzătoare în inelul secret\n"
 
-#: g10/gpg.c:1987
+#: g10/gpg.c:2000
 msgid "show IETF standard notations during signature listings"
 msgstr ""
 
-#: g10/gpg.c:1991
+#: g10/gpg.c:2004
 msgid "show user-supplied notations during signature listings"
 msgstr ""
 
-#: g10/gpg.c:1993
+#: g10/gpg.c:2006
 #, fuzzy
 msgid "show preferred keyserver URLs during signature listings"
 msgstr "URL-ul serverului de chei preferat furnizat este invalid\n"
 
-#: g10/gpg.c:1995
+#: g10/gpg.c:2008
 msgid "show user ID validity during key listings"
 msgstr ""
 
-#: g10/gpg.c:1997
+#: g10/gpg.c:2010
 msgid "show revoked and expired user IDs in key listings"
 msgstr ""
 
-#: g10/gpg.c:1999
+#: g10/gpg.c:2012
 msgid "show revoked and expired subkeys in key listings"
 msgstr ""
 
-#: g10/gpg.c:2001
+#: g10/gpg.c:2014
 #, fuzzy
 msgid "show the keyring name in key listings"
 msgstr "arată căruia dintre inelele de chei îi aparţine o cheie enumerată"
 
-#: g10/gpg.c:2003
+#: g10/gpg.c:2016
 #, fuzzy
 msgid "show expiration dates during signature listings"
 msgstr "Nici o semnătură corespunzătoare în inelul secret\n"
 
-#: g10/gpg.c:2118
+#: g10/gpg.c:2131
 #, fuzzy, c-format
 #| msgid "unknown option `%s'\n"
 msgid "unknown TOFU policy '%s'\n"
 msgstr "opţiune necunoscută `%s'\n"
 
-#: g10/gpg.c:2120
+#: g10/gpg.c:2133
 #, c-format
 msgid "(use \"help\" to list choices)\n"
 msgstr ""
 
-#: g10/gpg.c:2840 g10/gpg.c:3671 g10/gpg.c:3683
+#: g10/gpg.c:2856 g10/gpg.c:3691 g10/gpg.c:3703
 #, fuzzy, c-format
 #| msgid "NOTE: %s is not for normal use!\n"
 msgid "Note: %s is not for normal use!\n"
 msgstr "NOTĂ: %s nu este pentru o folosire normală!\n"
 
-#: g10/gpg.c:3017 g10/gpg.c:3029
+#: g10/gpg.c:3033 g10/gpg.c:3045
 #, fuzzy, c-format
 #| msgid "`%s' is not a valid signature expiration\n"
 msgid "'%s' is not a valid signature expiration\n"
 msgstr "`%s' nu este expirare de semnătură validă\n"
 
-#: g10/gpg.c:3051
+#: g10/gpg.c:3067
 #, fuzzy, c-format
 msgid "\"%s\" is not a proper mail address\n"
 msgstr "Nu este o adresă de email validă\n"
 
-#: g10/gpg.c:3083 sm/gpgsm.c:1177
+#: g10/gpg.c:3099 sm/gpgsm.c:1091
 #, fuzzy, c-format
 msgid "invalid pinentry mode '%s'\n"
 msgstr "algoritm hash invalid `%s'\n"
 
-#: g10/gpg.c:3089 sm/gpgsm.c:1183
+#: g10/gpg.c:3105 sm/gpgsm.c:1097
 #, fuzzy, c-format
 msgid "invalid request origin '%s'\n"
 msgstr "opţiuni enumerare invalide\n"
 
-#: g10/gpg.c:3143
+#: g10/gpg.c:3159
 #, fuzzy, c-format
 #| msgid "`%s' is not a valid character set\n"
 msgid "'%s' is not a valid character set\n"
 msgstr "`%s' nu este un set de carectere valid\n"
 
 #
-#: g10/gpg.c:3165 g10/gpg.c:3375 g10/keyedit.c:5281
+#: g10/gpg.c:3181 g10/gpg.c:3395 g10/keyedit.c:5282
 #, c-format
 msgid "could not parse keyserver URL\n"
 msgstr "nu am putut interpreta URL-ul serverului de chei\n"
 
-#: g10/gpg.c:3183
+#: g10/gpg.c:3199
 #, c-format
 msgid "%s:%d: invalid keyserver options\n"
 msgstr "%s:%d: opţiuni server de chei invalide\n"
 
-#: g10/gpg.c:3186
+#: g10/gpg.c:3202
 #, c-format
 msgid "invalid keyserver options\n"
 msgstr "opţiuni server de chei invalide\n"
 
-#: g10/gpg.c:3193
+#: g10/gpg.c:3209
 #, c-format
 msgid "%s:%d: invalid import options\n"
 msgstr "%s:%d: opţiuni import invalide\n"
 
-#: g10/gpg.c:3196
+#: g10/gpg.c:3212
 #, c-format
 msgid "invalid import options\n"
 msgstr "opţiuni import invalide\n"
 
-#: g10/gpg.c:3202 g10/gpg.c:3217
+#: g10/gpg.c:3218 g10/gpg.c:3233
 #, fuzzy, c-format
 #| msgid "invalid list options\n"
 msgid "invalid filter option: %s\n"
 msgstr "opţiuni enumerare invalide\n"
 
-#: g10/gpg.c:3208
+#: g10/gpg.c:3224
 #, c-format
 msgid "%s:%d: invalid export options\n"
 msgstr "%s:%d: opţiuni export invalide\n"
 
-#: g10/gpg.c:3211
+#: g10/gpg.c:3227
 #, c-format
 msgid "invalid export options\n"
 msgstr "opţiuni export invalide\n"
 
-#: g10/gpg.c:3223
+#: g10/gpg.c:3239
 #, c-format
 msgid "%s:%d: invalid list options\n"
 msgstr "%s:%d: opţiuni enumerare invalide\n"
 
-#: g10/gpg.c:3226
+#: g10/gpg.c:3242
 #, c-format
 msgid "invalid list options\n"
 msgstr "opţiuni enumerare invalide\n"
 
-#: g10/gpg.c:3234
+#: g10/gpg.c:3250
 msgid "display photo IDs during signature verification"
 msgstr ""
 
-#: g10/gpg.c:3236
+#: g10/gpg.c:3252
 msgid "show policy URLs during signature verification"
 msgstr ""
 
-#: g10/gpg.c:3238
+#: g10/gpg.c:3254
 #, fuzzy
 msgid "show all notations during signature verification"
 msgstr "`%s' nu este expirare de semnătură validă\n"
 
-#: g10/gpg.c:3240
+#: g10/gpg.c:3256
 msgid "show IETF standard notations during signature verification"
 msgstr ""
 
-#: g10/gpg.c:3244
+#: g10/gpg.c:3260
 msgid "show user-supplied notations during signature verification"
 msgstr ""
 
-#: g10/gpg.c:3246
+#: g10/gpg.c:3262
 #, fuzzy
 msgid "show preferred keyserver URLs during signature verification"
 msgstr "URL-ul serverului de chei preferat furnizat este invalid\n"
 
-#: g10/gpg.c:3248
+#: g10/gpg.c:3264
 #, fuzzy
 msgid "show user ID validity during signature verification"
 msgstr "`%s' nu este expirare de semnătură validă\n"
 
-#: g10/gpg.c:3250
+#: g10/gpg.c:3266
 msgid "show revoked and expired user IDs in signature verification"
 msgstr ""
 
-#: g10/gpg.c:3252
+#: g10/gpg.c:3268
 #, fuzzy
 msgid "show only the primary user ID in signature verification"
 msgstr "`%s' nu este expirare de semnătură validă\n"
 
-#: g10/gpg.c:3254
+#: g10/gpg.c:3270
 msgid "validate signatures with PKA data"
 msgstr ""
 
-#: g10/gpg.c:3256
+#: g10/gpg.c:3272
 msgid "elevate the trust of signatures with valid PKA data"
 msgstr ""
 
-#: g10/gpg.c:3263
+#: g10/gpg.c:3279
 #, c-format
 msgid "%s:%d: invalid verify options\n"
 msgstr "%s:%d: opţiuni verificare invalide\n"
 
-#: g10/gpg.c:3266
+#: g10/gpg.c:3282
 #, c-format
 msgid "invalid verify options\n"
 msgstr "opţiuni verificare invalide\n"
 
-#: g10/gpg.c:3273
+#: g10/gpg.c:3289
 #, c-format
 msgid "unable to set exec-path to %s\n"
 msgstr "nu pot seta cale-execuţie ca %s\n"
 
-#: g10/gpg.c:3478
+#: g10/gpg.c:3498
 #, fuzzy, c-format
 msgid "%s:%d: invalid auto-key-locate list\n"
 msgstr "%s:%d: opţiuni verificare invalide\n"
 
-#: g10/gpg.c:3481
+#: g10/gpg.c:3501
 #, c-format
 msgid "invalid auto-key-locate list\n"
 msgstr ""
 
-#: g10/gpg.c:3653 sm/gpgsm.c:1541
+#: g10/gpg.c:3673 sm/gpgsm.c:1441
 #, c-format
 msgid "WARNING: program may create a core file!\n"
 msgstr "AVERTISMENT: programul ar putea crea un fişier core!\n"
 
-#: g10/gpg.c:3664
+#: g10/gpg.c:3684
 #, c-format
 msgid "WARNING: %s overrides %s\n"
 msgstr "AVERTISMENT: %s înlocuieşte %s\n"
 
-#: g10/gpg.c:3673
+#: g10/gpg.c:3693
 #, c-format
 msgid "%s not allowed with %s!\n"
 msgstr "%s nu este permis cu %s!\n"
 
-#: g10/gpg.c:3676
+#: g10/gpg.c:3696
 #, c-format
 msgid "%s makes no sense with %s!\n"
 msgstr "%s nu are sens cu %s!\n"
 
-#: g10/gpg.c:3691 sm/gpgsm.c:1558 dirmngr/dirmngr.c:1082
+#: g10/gpg.c:3711 sm/gpgsm.c:1458 dirmngr/dirmngr.c:1117
 #, c-format
 msgid "WARNING: running with faked system time: "
 msgstr ""
 
-#: g10/gpg.c:3712
+#: g10/gpg.c:3732
 #, c-format
 msgid "will not run with insecure memory due to %s\n"
 msgstr "nu va rula cu memorie neprotejată (insecure) pentru că %s\n"
 
-#: g10/gpg.c:3747 g10/gpg.c:3771 sm/gpgsm.c:1625
+#: g10/gpg.c:3767 g10/gpg.c:3791 sm/gpgsm.c:1525
 #, c-format
 msgid "selected cipher algorithm is invalid\n"
 msgstr "algoritm cifrare selectat este invalid\n"
 
-#: g10/gpg.c:3759
+#: g10/gpg.c:3779
 #, c-format
 msgid "selected compression algorithm is invalid\n"
 msgstr "algoritm compresie selectat este invalid\n"
 
-#: g10/gpg.c:3765
+#: g10/gpg.c:3785
 #, c-format
 msgid "selected certification digest algorithm is invalid\n"
 msgstr "algoritm rezumat certificare selectat este invalid\n"
 
-#: g10/gpg.c:3780
+#: g10/gpg.c:3800
 #, c-format
 msgid "completes-needed must be greater than 0\n"
 msgstr "completes-needed trebuie să fie mai mare decât 0\n"
 
-#: g10/gpg.c:3782
+#: g10/gpg.c:3802
 #, c-format
 msgid "marginals-needed must be greater than 1\n"
 msgstr "marginals-needed trebuie să fie mai mare decât 1\n"
 
-#: g10/gpg.c:3784
+#: g10/gpg.c:3804
 #, c-format
 msgid "max-cert-depth must be in the range from 1 to 255\n"
 msgstr "max-cert-depth trebuie să fie în intervalul de la 1 la 255\n"
 
-#: g10/gpg.c:3786
+#: g10/gpg.c:3806
 #, c-format
 msgid "invalid default-cert-level; must be 0, 1, 2, or 3\n"
 msgstr "default-cert-level invalid; trebuie să fie 0, 1, 2 sau 3\n"
 
-#: g10/gpg.c:3788
+#: g10/gpg.c:3808
 #, c-format
 msgid "invalid min-cert-level; must be 1, 2, or 3\n"
 msgstr "min-cert-level invalid; trebuie să fie 0, 1, 2 sau 3\n"
 
-#: g10/gpg.c:3791
+#: g10/gpg.c:3812
 #, fuzzy, c-format
 #| msgid "NOTE: simple S2K mode (0) is strongly discouraged\n"
 msgid "Note: simple S2K mode (0) is strongly discouraged\n"
 msgstr "NOTĂ: modul S2K simplu (0) este contraindicat cu insistenţă\n"
 
-#: g10/gpg.c:3795
+#: g10/gpg.c:3816
 #, c-format
 msgid "invalid S2K mode; must be 0, 1 or 3\n"
 msgstr "mod S2K invalid; trebuie să fie 0, 1 sau 3\n"
 
-#: g10/gpg.c:3802
+#: g10/gpg.c:3823
 #, c-format
 msgid "invalid default preferences\n"
 msgstr "preferinţe implicite invalide\n"
 
-#: g10/gpg.c:3806
+#: g10/gpg.c:3827
 #, c-format
 msgid "invalid personal cipher preferences\n"
 msgstr "preferinţe cifrare personale invalide\n"
 
-#: g10/gpg.c:3810
+#: g10/gpg.c:3831
 #, c-format
 msgid "invalid personal digest preferences\n"
 msgstr "preferinţe rezumat personale invalide\n"
 
-#: g10/gpg.c:3814
+#: g10/gpg.c:3835
 #, c-format
 msgid "invalid personal compress preferences\n"
 msgstr "preferinţe compresie personale invalide\n"
 
-#: g10/gpg.c:3850
+#: g10/gpg.c:3871
 #, c-format
 msgid "%s does not yet work with %s\n"
 msgstr "%s nu merge încă cu %s!\n"
 
-#: g10/gpg.c:3913
+#: g10/gpg.c:3934
 #, fuzzy, c-format
 #| msgid "you may not use compression algorithm `%s' while in %s mode\n"
 msgid "compression algorithm '%s' may not be used in %s mode\n"
 msgstr "nu puteţi folosi algoritmul de compresie `%s' câtă vreme în modul %s\n"
 
-#: g10/gpg.c:4057
+#: g10/gpg.c:4078
 #, c-format
 msgid "failed to initialize the TrustDB: %s\n"
 msgstr "am eşuat să iniţializez TrustDB:%s\n"
 
-#: g10/gpg.c:4069
+#: g10/gpg.c:4090
 #, c-format
 msgid "WARNING: recipients (-r) given without using public key encryption\n"
 msgstr ""
 "AVERTISMENT: destinatari (-r) furnizaţi fără a folosi cifrare cu cheie "
 "publică\n"
 
-#: g10/gpg.c:4141
+#: g10/gpg.c:4162
 #, fuzzy, c-format
 #| msgid "symmetric encryption of `%s' failed: %s\n"
 msgid "symmetric encryption of '%s' failed: %s\n"
 msgstr "cifrarea simetrică a lui `%s' a eşuat: %s\n"
 
-#: g10/gpg.c:4170
+#: g10/gpg.c:4191
 #, c-format
 msgid "you cannot use --symmetric --encrypt with --s2k-mode 0\n"
 msgstr "nu puteţi folosi --symmetric --encrypt cu --s2k-mode 0\n"
 
-#: g10/gpg.c:4173
+#: g10/gpg.c:4194
 #, fuzzy, c-format
 #| msgid "you cannot use --symmetric --encrypt while in %s mode\n"
 msgid "you cannot use --symmetric --encrypt in %s mode\n"
 msgstr "nu puteţi folosi --symmetric --encrypt câtă vreme în modul %s\n"
 
-#: g10/gpg.c:4231
+#: g10/gpg.c:4252
 #, c-format
 msgid "you cannot use --symmetric --sign --encrypt with --s2k-mode 0\n"
 msgstr "nu puteţi folosi --symmetric --sign --encrypt cu --s2k-mode 0\n"
 
-#: g10/gpg.c:4234
+#: g10/gpg.c:4255
 #, fuzzy, c-format
 #| msgid "you cannot use --symmetric --sign --encrypt while in %s mode\n"
 msgid "you cannot use --symmetric --sign --encrypt in %s mode\n"
 msgstr "nu puteţi folosi --symmetric --sign --encrypt câtă vreme în modul %s\n"
 
-#: g10/gpg.c:4622 g10/keyserver.c:1881
+#: g10/gpg.c:4643 g10/keyserver.c:1648
 #, c-format
 msgid "keyserver send failed: %s\n"
 msgstr "trimitere server de chei eşuată: %s\n"
 
-#: g10/gpg.c:4627
+#: g10/gpg.c:4648
 #, c-format
 msgid "keyserver receive failed: %s\n"
 msgstr "recepţie server de chei eşuată: %s\n"
 
-#: g10/gpg.c:4633
+#: g10/gpg.c:4654
 #, c-format
 msgid "key export failed: %s\n"
 msgstr "export cheie eşuat: %s\n"
 
-#: g10/gpg.c:4646
+#: g10/gpg.c:4667
 #, fuzzy, c-format
 #| msgid "key export failed: %s\n"
 msgid "export as ssh key failed: %s\n"
 msgstr "export cheie eşuat: %s\n"
 
-#: g10/gpg.c:4658
+#: g10/gpg.c:4679
 #, c-format
 msgid "keyserver search failed: %s\n"
 msgstr "căutare server de chei eşuată: %s\n"
 
-#: g10/gpg.c:4671
+#: g10/gpg.c:4692
 #, c-format
 msgid "keyserver refresh failed: %s\n"
 msgstr "actualizare server de chei eşuată: %s\n"
 
-#: g10/gpg.c:4738
+#: g10/gpg.c:4759
 #, c-format
 msgid "dearmoring failed: %s\n"
 msgstr "eliminarea armurii a eşuat: %s\n"
 
-#: g10/gpg.c:4749
+#: g10/gpg.c:4770
 #, c-format
 msgid "enarmoring failed: %s\n"
 msgstr "punerea armurii a eşuat: %s\n"
 
-#: g10/gpg.c:4841
+#: g10/gpg.c:4862
 #, fuzzy, c-format
 #| msgid "invalid hash algorithm `%s'\n"
 msgid "invalid hash algorithm '%s'\n"
 msgstr "algoritm hash invalid `%s'\n"
 
-#: g10/gpg.c:4993 g10/tofu.c:2153
+#: g10/gpg.c:5014 g10/tofu.c:2153
 #, fuzzy, c-format
 msgid "error parsing key specification '%s': %s\n"
 msgstr "eroare la obţinerea numărului serial: %s\n"
 
-#: g10/gpg.c:5006
+#: g10/gpg.c:5027
 #, c-format
 msgid "'%s' does not appear to be a valid key ID, fingerprint or keygrip\n"
 msgstr ""
 
-#: g10/gpg.c:5062
+#: g10/gpg.c:5083
 #, c-format
 msgid "WARNING: no command supplied.  Trying to guess what you mean ...\n"
 msgstr ""
 
-#: g10/gpg.c:5073
+#: g10/gpg.c:5094
 #, c-format
 msgid "Go ahead and type your message ...\n"
 msgstr "Daţi-i drumul şi scrieţi mesajul ...\n"
 
-#: g10/gpg.c:5418
+#: g10/gpg.c:5439
 #, c-format
 msgid "the given certification policy URL is invalid\n"
 msgstr "URL-ul politicii de certificare furnizat este invalid\n"
 
-#: g10/gpg.c:5420
+#: g10/gpg.c:5441
 #, c-format
 msgid "the given signature policy URL is invalid\n"
 msgstr "URL-ul politicii de semnături furnizat este invalid\n"
 
-#: g10/gpg.c:5453
+#: g10/gpg.c:5474
 #, c-format
 msgid "the given preferred keyserver URL is invalid\n"
 msgstr "URL-ul serverului de chei preferat furnizat este invalid\n"
@@ -3486,7 +3504,7 @@ msgstr "ia cheile de pe acest inel de chei"
 msgid "make timestamp conflicts only a warning"
 msgstr "dă numai un avertisment la conflicte de timestamp"
 
-#: g10/gpgv.c:86 sm/gpgsm.c:354 tools/gpgconf.c:112
+#: g10/gpgv.c:86 sm/gpgsm.c:357 tools/gpgconf.c:112
 msgid "|FD|write status info to this FD"
 msgstr "|FD|scrie informaţii de stare în acest FD"
 
@@ -3572,270 +3590,270 @@ msgstr ""
 msgid "repair keys on import"
 msgstr "afişează amprenta cheii"
 
-#: g10/import.c:380 g10/import.c:699
+#: g10/import.c:392 g10/import.c:711
 #, c-format
 msgid "skipping block of type %d\n"
 msgstr "bloc de tip %d sărit\n"
 
-#: g10/import.c:716
+#: g10/import.c:728
 #, c-format
 msgid "%lu keys processed so far\n"
 msgstr "%lu chei procesate până acum\n"
 
-#: g10/import.c:802
+#: g10/import.c:814
 #, c-format
 msgid "Total number processed: %lu\n"
 msgstr "Număr total procesate: %lu\n"
 
-#: g10/import.c:805
+#: g10/import.c:817
 #, fuzzy, c-format
 #| msgid "      skipped new keys: %lu\n"
 msgid "    skipped PGP-2 keys: %lu\n"
 msgstr "      chei noi sărite: %lu\n"
 
-#: g10/import.c:807
+#: g10/import.c:819
 #, c-format
 msgid "      skipped new keys: %lu\n"
 msgstr "      chei noi sărite: %lu\n"
 
-#: g10/import.c:810
+#: g10/import.c:822
 #, c-format
 msgid "          w/o user IDs: %lu\n"
 msgstr "  fără ID-uri utilizator: %lu\n"
 
-#: g10/import.c:813 sm/import.c:130
+#: g10/import.c:825 sm/import.c:130
 #, c-format
 msgid "              imported: %lu"
 msgstr "               importate: %lu"
 
-#: g10/import.c:817 sm/import.c:134
+#: g10/import.c:829 sm/import.c:134
 #, c-format
 msgid "             unchanged: %lu\n"
 msgstr "             neschimbate: %lu\n"
 
-#: g10/import.c:819
+#: g10/import.c:831
 #, c-format
 msgid "          new user IDs: %lu\n"
 msgstr "   noi ID-uri utilizator: %lu\n"
 
-#: g10/import.c:821
+#: g10/import.c:833
 #, c-format
 msgid "           new subkeys: %lu\n"
 msgstr "             noi subchei: %lu\n"
 
-#: g10/import.c:823
+#: g10/import.c:835
 #, c-format
 msgid "        new signatures: %lu\n"
 msgstr "           noi semnături: %lu\n"
 
-#: g10/import.c:825
+#: g10/import.c:837
 #, c-format
 msgid "   new key revocations: %lu\n"
 msgstr "    noi revocări de chei: %lu\n"
 
-#: g10/import.c:827 sm/import.c:136
+#: g10/import.c:839 sm/import.c:136
 #, c-format
 msgid "      secret keys read: %lu\n"
 msgstr "     chei secrete citite: %lu\n"
 
-#: g10/import.c:829 sm/import.c:138
+#: g10/import.c:841 sm/import.c:138
 #, c-format
 msgid "  secret keys imported: %lu\n"
 msgstr "  chei secrete importate: %lu\n"
 
-#: g10/import.c:831 sm/import.c:140
+#: g10/import.c:843 sm/import.c:140
 #, c-format
 msgid " secret keys unchanged: %lu\n"
 msgstr "chei secrete neschimbate: %lu\n"
 
-#: g10/import.c:833 sm/import.c:142
+#: g10/import.c:845 sm/import.c:142
 #, c-format
 msgid "          not imported: %lu\n"
 msgstr "            ne importate: %lu\n"
 
-#: g10/import.c:835
+#: g10/import.c:847
 #, fuzzy, c-format
 msgid "    signatures cleaned: %lu\n"
 msgstr "semnături create până acum: %lu\n"
 
-#: g10/import.c:837
+#: g10/import.c:849
 #, fuzzy, c-format
 msgid "      user IDs cleaned: %lu\n"
 msgstr "     chei secrete citite: %lu\n"
 
-#: g10/import.c:1264
+#: g10/import.c:1276
 #, fuzzy, c-format
 msgid ""
 "WARNING: key %s contains preferences for unavailable\n"
 "algorithms on these user IDs:\n"
 msgstr "AVERTISMENT: cheia %s conţine preferinţe pentru indisponibil\n"
 
-#: g10/import.c:1306
+#: g10/import.c:1318
 #, c-format
 msgid "         \"%s\": preference for cipher algorithm %s\n"
 msgstr "         \"%s\": preferinţă pentru algoritm de cifrare %s\n"
 
-#: g10/import.c:1321
+#: g10/import.c:1333
 #, c-format
 msgid "         \"%s\": preference for digest algorithm %s\n"
 msgstr "         \"%s\": preferinţă pentru algoritm rezumat %s\n"
 
-#: g10/import.c:1333
+#: g10/import.c:1345
 #, c-format
 msgid "         \"%s\": preference for compression algorithm %s\n"
 msgstr "         \"%s\": preferinţă pentru algoritm compresie %s\n"
 
-#: g10/import.c:1346
+#: g10/import.c:1358
 #, c-format
 msgid "it is strongly suggested that you update your preferences and\n"
 msgstr ""
 "este puternic sugerat să vă actualizaţi preferinţele şi re-distribuiţi\n"
 
-#: g10/import.c:1348
+#: g10/import.c:1360
 #, c-format
 msgid "re-distribute this key to avoid potential algorithm mismatch problems\n"
 msgstr ""
 "această cheie pentru a avita probleme potenţiale de ne-potrivire de "
 "algoritm\n"
 
-#: g10/import.c:1373
+#: g10/import.c:1385
 #, c-format
 msgid "you can update your preferences with: gpg --edit-key %s updpref save\n"
 msgstr "vă puteţi actualiza preferinţele cu: gpg --edit-key %s updpref save\n"
 
-#: g10/import.c:1887 g10/import.c:3001
+#: g10/import.c:1899 g10/import.c:3013
 #, c-format
 msgid "key %s: no user ID\n"
 msgstr "cheia %s: nici un ID utilizator\n"
 
-#: g10/import.c:1893
+#: g10/import.c:1905
 #, fuzzy, c-format
 #| msgid "skipped \"%s\": %s\n"
 msgid "key %s: %s\n"
 msgstr "sărită \"%s\": %s\n"
 
-#: g10/import.c:1894 g10/import.c:2973
+#: g10/import.c:1906 g10/import.c:2985
 msgid "rejected by import screener"
 msgstr ""
 
-#: g10/import.c:1938
+#: g10/import.c:1950
 #, c-format
 msgid "key %s: PKS subkey corruption repaired\n"
 msgstr "cheia %s: subcheia HPK coruptă a fost reparată\n"
 
-#: g10/import.c:1959
+#: g10/import.c:1971
 #, c-format
 msgid "key %s: accepted non self-signed user ID \"%s\"\n"
 msgstr "cheia %s: am acceptat ID-ul utilizator ce nu e auto-semnat \"%s\"\n"
 
-#: g10/import.c:1969 g10/import.c:2000
+#: g10/import.c:1981 g10/import.c:2012
 #, c-format
 msgid "key %s: no valid user IDs\n"
 msgstr "cheia %s: nici un ID utilizator valid\n"
 
-#: g10/import.c:1971
+#: g10/import.c:1983
 #, c-format
 msgid "this may be caused by a missing self-signature\n"
 msgstr "aceasta poate fi cauzată de o auto-semnătură ce lipseşte\n"
 
-#: g10/import.c:2050 g10/import.c:3387
+#: g10/import.c:2062 g10/import.c:3399
 #, c-format
 msgid "key %s: public key not found: %s\n"
 msgstr "cheia %s: cheia publică nu a fost găsită: %s\n"
 
-#: g10/import.c:2056
+#: g10/import.c:2068
 #, c-format
 msgid "key %s: new key - skipped\n"
 msgstr "cheia %s: cheie nouă - sărită\n"
 
-#: g10/import.c:2068
+#: g10/import.c:2080
 #, c-format
 msgid "no writable keyring found: %s\n"
 msgstr "n-am găsit nici un inel de chei ce poate fi scris: %s\n"
 
-#: g10/import.c:2100 g10/import.c:2202 g10/import.c:3464
+#: g10/import.c:2112 g10/import.c:2214 g10/import.c:3476
 #, fuzzy, c-format
 #| msgid "error writing keyring `%s': %s\n"
 msgid "error writing keyring '%s': %s\n"
 msgstr "eroare la scrierea inelului de chei `%s': %s\n"
 
-#: g10/import.c:2123
+#: g10/import.c:2135
 #, c-format
 msgid "key %s: public key \"%s\" imported\n"
 msgstr "cheia %s: cheia publică \"%s\" importată\n"
 
-#: g10/import.c:2150
+#: g10/import.c:2162
 #, c-format
 msgid "key %s: doesn't match our copy\n"
 msgstr "cheia %s: nu se potriveşte cu copia noastră\n"
 
-#: g10/import.c:2218
+#: g10/import.c:2230
 #, c-format
 msgid "key %s: \"%s\" 1 new user ID\n"
 msgstr "cheia %s: \"%s\" 1 nou ID utilizator\n"
 
-#: g10/import.c:2221
+#: g10/import.c:2233
 #, c-format
 msgid "key %s: \"%s\" %d new user IDs\n"
 msgstr "cheia %s: \"%s\" %d noi ID-uri utilizator\n"
 
-#: g10/import.c:2224
+#: g10/import.c:2236
 #, c-format
 msgid "key %s: \"%s\" 1 new signature\n"
 msgstr "cheia %s: \"%s\" 1 nouă semnătură\n"
 
-#: g10/import.c:2227
+#: g10/import.c:2239
 #, c-format
 msgid "key %s: \"%s\" %d new signatures\n"
 msgstr "cheia %s: \"%s\" %d noi semnături\n"
 
-#: g10/import.c:2230
+#: g10/import.c:2242
 #, c-format
 msgid "key %s: \"%s\" 1 new subkey\n"
 msgstr "cheia %s: \"%s\" 1 nouă subcheie\n"
 
-#: g10/import.c:2233
+#: g10/import.c:2245
 #, c-format
 msgid "key %s: \"%s\" %d new subkeys\n"
 msgstr "cheia %s: \"%s\" %d noi subchei\n"
 
-#: g10/import.c:2236
+#: g10/import.c:2248
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d signature cleaned\n"
 msgstr "cheia %s: \"%s\" %d noi semnături\n"
 
-#: g10/import.c:2239
+#: g10/import.c:2251
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d signatures cleaned\n"
 msgstr "cheia %s: \"%s\" %d noi semnături\n"
 
-#: g10/import.c:2242
+#: g10/import.c:2254
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d user ID cleaned\n"
 msgstr "cheia %s: \"%s\" %d noi ID-uri utilizator\n"
 
-#: g10/import.c:2245
+#: g10/import.c:2257
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d user IDs cleaned\n"
 msgstr "cheia %s: \"%s\" %d noi ID-uri utilizator\n"
 
-#: g10/import.c:2281
+#: g10/import.c:2293
 #, c-format
 msgid "key %s: \"%s\" not changed\n"
 msgstr "cheia %s: \"%s\" nu a fost schimbată\n"
 
-#: g10/import.c:2640 g10/import.c:2835
+#: g10/import.c:2652 g10/import.c:2847
 #, c-format
 msgid "key %s: secret key imported\n"
 msgstr "cheia %s: cheie secretă importată\n"
 
-#: g10/import.c:2648
+#: g10/import.c:2660
 #, fuzzy, c-format
 #| msgid "skipped: secret key already present\n"
 msgid "key %s: secret key already exists\n"
 msgstr "sărită: cheia secretă deja prezentă\n"
 
-#: g10/import.c:2656
+#: g10/import.c:2668
 #, fuzzy, c-format
 msgid "key %s: error sending to agent: %s\n"
 msgstr "eroare trimitere la `%s': %s\n"
@@ -3848,198 +3866,198 @@ msgstr "eroare trimitere la `%s': %s\n"
 #. * Instead, user should be suggested to run 'gpg --card-status',
 #. * then, references to a card will be automatically created
 #. * again.
-#: g10/import.c:2825
+#: g10/import.c:2837
 #, c-format
 msgid "To migrate '%s', with each smartcard, run: %s\n"
 msgstr ""
 
-#: g10/import.c:2972
+#: g10/import.c:2984
 #, fuzzy, c-format
 #| msgid "secret key \"%s\" not found: %s\n"
 msgid "secret key %s: %s\n"
 msgstr "cheia secretă \"%s\" nu a fost găsită: %s\n"
 
-#: g10/import.c:2993 g10/import.c:3032
+#: g10/import.c:3005 g10/import.c:3044
 #, c-format
 msgid "importing secret keys not allowed\n"
 msgstr "importul de chei secrete nu este permis\n"
 
-#: g10/import.c:3020
+#: g10/import.c:3032
 #, c-format
 msgid "key %s: secret key with invalid cipher %d - skipped\n"
 msgstr "cheia %s: cheie secretă cu cifru invalid %d - sărită\n"
 
-#: g10/import.c:3182 g10/pkclist.c:72 g10/revoke.c:776
+#: g10/import.c:3194 g10/pkclist.c:72 g10/revoke.c:776
 msgid "No reason specified"
 msgstr "Nici un motiv specificat"
 
-#: g10/import.c:3183 g10/pkclist.c:74 g10/revoke.c:778
+#: g10/import.c:3195 g10/pkclist.c:74 g10/revoke.c:778
 msgid "Key is superseded"
 msgstr "Cheia este înlocuită"
 
-#: g10/import.c:3184 g10/pkclist.c:76 g10/revoke.c:777
+#: g10/import.c:3196 g10/pkclist.c:76 g10/revoke.c:777
 msgid "Key has been compromised"
 msgstr "Cheia a fost compromisă"
 
-#: g10/import.c:3185 g10/pkclist.c:78 g10/revoke.c:779
+#: g10/import.c:3197 g10/pkclist.c:78 g10/revoke.c:779
 msgid "Key is no longer used"
 msgstr "Cheia nu mai este folosită"
 
-#: g10/import.c:3186 g10/pkclist.c:80 g10/revoke.c:780
+#: g10/import.c:3198 g10/pkclist.c:80 g10/revoke.c:780
 msgid "User ID is no longer valid"
 msgstr "ID utilizator nu mai este valid"
 
-#: g10/import.c:3311 g10/keylist.c:1254 g10/pkclist.c:84
+#: g10/import.c:3323 g10/keylist.c:1254 g10/pkclist.c:84
 #, c-format
 msgid "reason for revocation: "
 msgstr "motiv pentru revocare: "
 
-#: g10/import.c:3330 g10/keylist.c:1273 g10/pkclist.c:100
+#: g10/import.c:3342 g10/keylist.c:1273 g10/pkclist.c:100
 #, c-format
 msgid "revocation comment: "
 msgstr "comentariu revocare: "
 
-#: g10/import.c:3380
+#: g10/import.c:3392
 #, c-format
 msgid "key %s: no public key - can't apply revocation certificate\n"
 msgstr ""
 "cheia %s: nici o cheie publică - nu pot aplica certificatul de revocare\n"
 
-#: g10/import.c:3411
+#: g10/import.c:3423
 #, c-format
 msgid "key %s: can't locate original keyblock: %s\n"
 msgstr "cheia %s: nu pot găsi keyblock-ul original: %s\n"
 
-#: g10/import.c:3418
+#: g10/import.c:3430
 #, c-format
 msgid "key %s: can't read original keyblock: %s\n"
 msgstr "cheia %s: nu pot citi keyblock-ul original: %s\n"
 
-#: g10/import.c:3438
+#: g10/import.c:3450
 #, c-format
 msgid "key %s: invalid revocation certificate: %s - rejected\n"
 msgstr "cheia %s: certificat de revocare invalid: %s - respins\n"
 
-#: g10/import.c:3473
+#: g10/import.c:3485
 #, c-format
 msgid "key %s: \"%s\" revocation certificate imported\n"
 msgstr "cheia %s: certificatul de revocare \"%s\" importat\n"
 
-#: g10/import.c:3559
+#: g10/import.c:3571
 #, c-format
 msgid "key %s: no user ID for signature\n"
 msgstr "cheia %s: nici un ID utilizator pentru semnătură\n"
 
-#: g10/import.c:3576
+#: g10/import.c:3588
 #, c-format
 msgid "key %s: unsupported public key algorithm on user ID \"%s\"\n"
 msgstr ""
 "cheia %s: algoritm cu cheie publică nesuportat pentru ID-ul utilizator \"%s"
 "\"\n"
 
-#: g10/import.c:3578
+#: g10/import.c:3590
 #, c-format
 msgid "key %s: invalid self-signature on user ID \"%s\"\n"
 msgstr "cheia %s: auto-semnătură invalidă pentru ID-ul utilizator \"%s\"\n"
 
-#: g10/import.c:3595 g10/import.c:3623 g10/import.c:3679
+#: g10/import.c:3607 g10/import.c:3635 g10/import.c:3691
 #, c-format
 msgid "key %s: unsupported public key algorithm\n"
 msgstr "cheia %s: algoritm cu cheie publică nesuportat\n"
 
-#: g10/import.c:3596
+#: g10/import.c:3608
 #, fuzzy, c-format
 msgid "key %s: invalid direct key signature\n"
 msgstr "cheia %s: am adăugat semnătura de cheie directă\n"
 
-#: g10/import.c:3610
+#: g10/import.c:3622
 #, c-format
 msgid "key %s: no subkey for key binding\n"
 msgstr "cheia %s: nici o subcheie pentru legarea cheii\n"
 
-#: g10/import.c:3625
+#: g10/import.c:3637
 #, c-format
 msgid "key %s: invalid subkey binding\n"
 msgstr "cheia %s: legare subcheie invalidă\n"
 
-#: g10/import.c:3644
+#: g10/import.c:3656
 #, c-format
 msgid "key %s: removed multiple subkey binding\n"
 msgstr "cheia %s: am şters multiple legături de subchei\n"
 
-#: g10/import.c:3668
+#: g10/import.c:3680
 #, c-format
 msgid "key %s: no subkey for key revocation\n"
 msgstr "cheia %s: nici o subcheie pentru revocare de cheie\n"
 
-#: g10/import.c:3681
+#: g10/import.c:3693
 #, c-format
 msgid "key %s: invalid subkey revocation\n"
 msgstr "cheia %s: revocare de subcheie invalidă\n"
 
-#: g10/import.c:3696
+#: g10/import.c:3708
 #, c-format
 msgid "key %s: removed multiple subkey revocation\n"
 msgstr "cheia %s: am şters multiple revocări de subcheie\n"
 
-#: g10/import.c:3740
+#: g10/import.c:3752
 #, c-format
 msgid "key %s: skipped user ID \"%s\"\n"
 msgstr "cheia %s: am sărit ID-ul utilizator \"%s\"\n"
 
-#: g10/import.c:3767
+#: g10/import.c:3779
 #, c-format
 msgid "key %s: skipped subkey\n"
 msgstr "cheia %s: am sărit subcheia\n"
 
-#: g10/import.c:3798
+#: g10/import.c:3810
 #, c-format
 msgid "key %s: non exportable signature (class 0x%02X) - skipped\n"
 msgstr "cheia %s: semnătura nu poate fi exportată (clasa 0x%02X) - sărită\n"
 
-#: g10/import.c:3809
+#: g10/import.c:3821
 #, c-format
 msgid "key %s: revocation certificate at wrong place - skipped\n"
 msgstr "cheia %s: certificat de revocare într-un loc greşit - sărit\n"
 
-#: g10/import.c:3827
+#: g10/import.c:3839
 #, c-format
 msgid "key %s: invalid revocation certificate: %s - skipped\n"
 msgstr "cheia %s: certificat de revocare invalid: %s - sărit\n"
 
-#: g10/import.c:3841
+#: g10/import.c:3853
 #, c-format
 msgid "key %s: subkey signature in wrong place - skipped\n"
 msgstr "cheia %s: semnătură subcheie într-un loc greşit - sărită\n"
 
-#: g10/import.c:3849
+#: g10/import.c:3861
 #, c-format
 msgid "key %s: unexpected signature class (0x%02X) - skipped\n"
 msgstr "cheia %s: clasă de semnătură neaşteptată (0x%02X) - sărită\n"
 
-#: g10/import.c:4022
+#: g10/import.c:4034
 #, c-format
 msgid "key %s: duplicated user ID detected - merged\n"
 msgstr "cheia %s: am detectat un ID utilizator duplicat - combinate\n"
 
-#: g10/import.c:4087
+#: g10/import.c:4099
 #, c-format
 msgid "WARNING: key %s may be revoked: fetching revocation key %s\n"
 msgstr "AVERTISMENT: cheia %s poate fi revocată: aduc revocarea cheii %s\n"
 
-#: g10/import.c:4103
+#: g10/import.c:4115
 #, c-format
 msgid "WARNING: key %s may be revoked: revocation key %s not present.\n"
 msgstr ""
 "AVERTISMENT: cheia %s poate fi revocată: cheia de revocare %s nu este "
 "prezentă.\n"
 
-#: g10/import.c:4169
+#: g10/import.c:4181
 #, c-format
 msgid "key %s: \"%s\" revocation certificate added\n"
 msgstr "cheia %s: am adăugat certificatul de revocare \"%s\"\n"
 
-#: g10/import.c:4207
+#: g10/import.c:4219
 #, c-format
 msgid "key %s: direct key signature added\n"
 msgstr "cheia %s: am adăugat semnătura de cheie directă\n"
@@ -4111,7 +4129,7 @@ msgid ""
 "all signatures.\n"
 msgstr ""
 
-#: g10/keydb.c:431 g10/keydb.c:458 sm/keydb.c:191 sm/keydb.c:204
+#: g10/keydb.c:431 g10/keydb.c:458 sm/keydb.c:190 sm/keydb.c:203
 #, fuzzy, c-format
 msgid "error creating keybox '%s': %s\n"
 msgstr "eroare la crearea inelului de chei `%s': %s\n"
@@ -4122,7 +4140,7 @@ msgstr "eroare la crearea inelului de chei `%s': %s\n"
 msgid "error creating keyring '%s': %s\n"
 msgstr "eroare la crearea inelului de chei `%s': %s\n"
 
-#: g10/keydb.c:470 sm/keydb.c:210
+#: g10/keydb.c:470 sm/keydb.c:209
 #, fuzzy, c-format
 msgid "keybox '%s' created\n"
 msgstr "inelul de chei `%s' creat\n"
@@ -4204,14 +4222,14 @@ msgstr ""
 msgid "User ID \"%s\" is revoked."
 msgstr "ID utilizator \"%s\" a fost revocat."
 
-#: g10/keyedit.c:569 g10/keyedit.c:597 g10/keyedit.c:624 g10/keyedit.c:808
-#: g10/keyedit.c:1655
+#: g10/keyedit.c:569 g10/keyedit.c:597 g10/keyedit.c:624 g10/keyedit.c:809
+#: g10/keyedit.c:1656
 #, fuzzy
 msgid "Are you sure you still want to sign it? (y/N) "
 msgstr "Sunteţi sigur(ă) că doriţi să ştergeţi permanent? (d/N)"
 
-#: g10/keyedit.c:583 g10/keyedit.c:611 g10/keyedit.c:638 g10/keyedit.c:814
-#: g10/keyedit.c:1660 g10/keyedit.c:2667
+#: g10/keyedit.c:583 g10/keyedit.c:611 g10/keyedit.c:638 g10/keyedit.c:815
+#: g10/keyedit.c:1661 g10/keyedit.c:2668
 msgid "  Unable to sign.\n"
 msgstr "  Nu pot semna.\n"
 
@@ -4284,29 +4302,29 @@ msgstr "\"%s\" a fost deja semnată local de cheia %s\n"
 msgid "\"%s\" was already signed by key %s\n"
 msgstr "\"%s\" a fost deja semnată de cheia %s\n"
 
-#: g10/keyedit.c:756
+#: g10/keyedit.c:757
 msgid "Do you want to sign it again anyway? (y/N) "
 msgstr "Doriţi să o semnaţi oricum din nou? (d/N) "
 
-#: g10/keyedit.c:778
+#: g10/keyedit.c:779
 #, c-format
 msgid "Nothing to sign with key %s\n"
 msgstr "Nimic de semnat cu cheia %s\n"
 
-#: g10/keyedit.c:802
+#: g10/keyedit.c:803
 msgid "This key has expired!"
 msgstr "Această cheie a expirat!"
 
-#: g10/keyedit.c:820
+#: g10/keyedit.c:821
 #, c-format
 msgid "This key is due to expire on %s.\n"
 msgstr "Această cheie va expira pe %s.\n"
 
-#: g10/keyedit.c:826
+#: g10/keyedit.c:827
 msgid "Do you want your signature to expire at the same time? (Y/n) "
 msgstr "Doriţi ca semnătura d-voastră să expire în acelaşi timp? (D/n) "
 
-#: g10/keyedit.c:867
+#: g10/keyedit.c:868
 msgid ""
 "How carefully have you verified the key you are about to sign actually "
 "belongs\n"
@@ -4317,33 +4335,33 @@ msgstr ""
 "într-adevăr persoanei numite deasupra?  Dacă nu ştiţi ce să răspundeţi,\n"
 "introduceţi \"0\".\n"
 
-#: g10/keyedit.c:872
+#: g10/keyedit.c:873
 #, c-format
 msgid "   (0) I will not answer.%s\n"
 msgstr "   (0) Nu voi răspunde.%s\n"
 
-#: g10/keyedit.c:874
+#: g10/keyedit.c:875
 #, c-format
 msgid "   (1) I have not checked at all.%s\n"
 msgstr "   (1) Nu am verificat deloc.%s\n"
 
-#: g10/keyedit.c:876
+#: g10/keyedit.c:877
 #, c-format
 msgid "   (2) I have done casual checking.%s\n"
 msgstr "   (2) Am făcut ceva verificări superficiale.%s\n"
 
-#: g10/keyedit.c:879
+#: g10/keyedit.c:880
 #, c-format
 msgid "   (3) I have done very careful checking.%s\n"
 msgstr "   (3) Am făcut verificări foarte atente.%s\n"
 
-#: g10/keyedit.c:886
+#: g10/keyedit.c:887
 #, fuzzy
 #| msgid "Your selection? (enter `?' for more information): "
 msgid "Your selection? (enter '?' for more information): "
 msgstr "Selecţia dvs.? (introduceţi `?' pentru informaţii suplimentare): "
 
-#: g10/keyedit.c:913
+#: g10/keyedit.c:914
 #, c-format
 msgid ""
 "Are you sure that you want to sign this key with your\n"
@@ -4352,234 +4370,234 @@ msgstr ""
 "Sunteţi într-adevăr sigur(ă) că doriţi să semnaţi\n"
 "această cheie cu cheia d-voastră \"%s\" (%s)\n"
 
-#: g10/keyedit.c:921
+#: g10/keyedit.c:922
 msgid "This will be a self-signature.\n"
 msgstr "Aceasta va fi o auto-semnătură.\n"
 
-#: g10/keyedit.c:926
+#: g10/keyedit.c:927
 msgid "WARNING: the signature will not be marked as non-exportable.\n"
 msgstr "AVERTISMENT: semnătura nu va fi marcată ca non-exportabilă.\n"
 
-#: g10/keyedit.c:933
+#: g10/keyedit.c:934
 msgid "WARNING: the signature will not be marked as non-revocable.\n"
 msgstr "AVERTISMENT: semnătura nu va fi marcată ca non-revocabilă.\n"
 
-#: g10/keyedit.c:943
+#: g10/keyedit.c:944
 msgid "The signature will be marked as non-exportable.\n"
 msgstr "Semnătura va fi marcată ca non-exportabilă.\n"
 
-#: g10/keyedit.c:950
+#: g10/keyedit.c:951
 msgid "The signature will be marked as non-revocable.\n"
 msgstr "Semnătura va fi marcată ca non-revocabilă.\n"
 
-#: g10/keyedit.c:957
+#: g10/keyedit.c:958
 msgid "I have not checked this key at all.\n"
 msgstr "Nu am verificat această cheie deloc.\n"
 
-#: g10/keyedit.c:962
+#: g10/keyedit.c:963
 msgid "I have checked this key casually.\n"
 msgstr "Am verificat această cheie superficial.\n"
 
-#: g10/keyedit.c:967
+#: g10/keyedit.c:968
 msgid "I have checked this key very carefully.\n"
 msgstr "Am verificat această cheie foarte atent.\n"
 
-#: g10/keyedit.c:979
+#: g10/keyedit.c:980
 msgid "Really sign? (y/N) "
 msgstr "Doriţi cu adevărat să semnaţi? (d/N) "
 
-#: g10/keyedit.c:1030 g10/keyedit.c:6154 g10/keyedit.c:6237 g10/keyedit.c:6366
-#: g10/keyedit.c:6428 g10/sign.c:466
+#: g10/keyedit.c:1031 g10/keyedit.c:6155 g10/keyedit.c:6238 g10/keyedit.c:6367
+#: g10/keyedit.c:6429 g10/sign.c:466
 #, c-format
 msgid "signing failed: %s\n"
 msgstr "semnarea a eşuat: %s\n"
 
-#: g10/keyedit.c:1117
+#: g10/keyedit.c:1118
 msgid "Key has only stub or on-card key items - no passphrase to change.\n"
 msgstr ""
 "Cheia are numai articole de cheie sau talon (stub) pe card - nici o frază "
 "parolă de schimbat.\n"
 
-#: g10/keyedit.c:1149
+#: g10/keyedit.c:1150
 #, fuzzy, c-format
 #| msgid "error creating passphrase: %s\n"
 msgid "key %s: error changing passphrase: %s\n"
 msgstr "eroare la crearea frazei-parolă: %s\n"
 
-#: g10/keyedit.c:1261
+#: g10/keyedit.c:1262
 msgid "save and quit"
 msgstr "salvează şi termină"
 
-#: g10/keyedit.c:1264
+#: g10/keyedit.c:1265
 msgid "show key fingerprint"
 msgstr "afişează amprenta cheii"
 
-#: g10/keyedit.c:1265
+#: g10/keyedit.c:1266
 #, fuzzy
 msgid "show the keygrip"
 msgstr "Notare semnătură: "
 
-#: g10/keyedit.c:1266
+#: g10/keyedit.c:1267
 msgid "list key and user IDs"
 msgstr "enumeră chei şi ID-uri utilizator"
 
-#: g10/keyedit.c:1268
+#: g10/keyedit.c:1269
 msgid "select user ID N"
 msgstr "selectează ID utilizator N"
 
-#: g10/keyedit.c:1269
+#: g10/keyedit.c:1270
 msgid "select subkey N"
 msgstr "selectează subcheia N"
 
-#: g10/keyedit.c:1270
+#: g10/keyedit.c:1271
 msgid "check signatures"
 msgstr "verifică semnături"
 
-#: g10/keyedit.c:1276
+#: g10/keyedit.c:1277
 msgid "sign selected user IDs [* see below for related commands]"
 msgstr ""
 "semnează ID-urile utilizator selectate [* vezi mai jos pentru comenzi "
 "relevante]"
 
-#: g10/keyedit.c:1281
+#: g10/keyedit.c:1282
 msgid "sign selected user IDs locally"
 msgstr "semnează ID-urile utilizatorilor selectaţi local"
 
-#: g10/keyedit.c:1282
+#: g10/keyedit.c:1283
 msgid "sign selected user IDs with a trust signature"
 msgstr "semnează ID-urile utilizatorilor selectaţi cu o semnătură de încredere"
 
-#: g10/keyedit.c:1284
+#: g10/keyedit.c:1285
 msgid "sign selected user IDs with a non-revocable signature"
 msgstr "semnează ID-urile utilizatorilor selectaţi cu o semnătură irevocabilă"
 
-#: g10/keyedit.c:1286
+#: g10/keyedit.c:1287
 msgid "add a user ID"
 msgstr "adaugă un ID utilizator"
 
-#: g10/keyedit.c:1288
+#: g10/keyedit.c:1289
 msgid "add a photo ID"
 msgstr "adaugă o poză ID"
 
-#: g10/keyedit.c:1289
+#: g10/keyedit.c:1290
 msgid "delete selected user IDs"
 msgstr "şterge ID-urile utilizator selectate"
 
-#: g10/keyedit.c:1292
+#: g10/keyedit.c:1293
 msgid "add a subkey"
 msgstr "adaugă o subcheie"
 
-#: g10/keyedit.c:1295
+#: g10/keyedit.c:1296
 msgid "add a key to a smartcard"
 msgstr "adaugă o cheie la un smartcard"
 
-#: g10/keyedit.c:1297
+#: g10/keyedit.c:1298
 msgid "move a key to a smartcard"
 msgstr "mută o cheie pe un smartcard"
 
-#: g10/keyedit.c:1299
+#: g10/keyedit.c:1300
 msgid "move a backup key to a smartcard"
 msgstr "mută o cheie de rezervă pe un smartcard"
 
-#: g10/keyedit.c:1301
+#: g10/keyedit.c:1302
 msgid "delete selected subkeys"
 msgstr "şterge subcheile selectate"
 
-#: g10/keyedit.c:1303
+#: g10/keyedit.c:1304
 msgid "add a revocation key"
 msgstr "adaugă o cheie de revocare"
 
-#: g10/keyedit.c:1305
+#: g10/keyedit.c:1306
 msgid "delete signatures from the selected user IDs"
 msgstr "şterge semnăturile de pe ID-urile utilizator selectate"
 
-#: g10/keyedit.c:1307
+#: g10/keyedit.c:1308
 msgid "change the expiration date for the key or selected subkeys"
 msgstr "schimbă data de expirare pentru cheia sau subcheile selectate"
 
-#: g10/keyedit.c:1309
+#: g10/keyedit.c:1310
 msgid "flag the selected user ID as primary"
 msgstr "marchează ID-ul utilizator selectat ca primar"
 
-#: g10/keyedit.c:1312
+#: g10/keyedit.c:1313
 msgid "list preferences (expert)"
 msgstr "enumeră preferinţele (expert)"
 
-#: g10/keyedit.c:1313
+#: g10/keyedit.c:1314
 msgid "list preferences (verbose)"
 msgstr "afişează preferinţele (detaliat)"
 
-#: g10/keyedit.c:1315
+#: g10/keyedit.c:1316
 msgid "set preference list for the selected user IDs"
 msgstr "setează lista de preferinţe pentru ID-urile utilizator selectate"
 
-#: g10/keyedit.c:1318
+#: g10/keyedit.c:1319
 #, fuzzy
 msgid "set the preferred keyserver URL for the selected user IDs"
 msgstr ""
 "setează URL-ul serverului de chei preferat pentru ID-urile utilizator "
 "selectate"
 
-#: g10/keyedit.c:1320
+#: g10/keyedit.c:1321
 #, fuzzy
 msgid "set a notation for the selected user IDs"
 msgstr "setează lista de preferinţe pentru ID-urile utilizator selectate"
 
-#: g10/keyedit.c:1322
+#: g10/keyedit.c:1323
 msgid "change the passphrase"
 msgstr "schimbă fraza-parolă"
 
-#: g10/keyedit.c:1325
+#: g10/keyedit.c:1326
 msgid "change the ownertrust"
 msgstr "schimbă încrederea pentru proprietar"
 
-#: g10/keyedit.c:1328
+#: g10/keyedit.c:1329
 msgid "revoke signatures on the selected user IDs"
 msgstr "revocă semnăturile pentru ID-urile utilizator selectate"
 
-#: g10/keyedit.c:1330
+#: g10/keyedit.c:1331
 msgid "revoke selected user IDs"
 msgstr "revocă ID-urile utilizator selectate"
 
-#: g10/keyedit.c:1333
+#: g10/keyedit.c:1334
 msgid "revoke key or selected subkeys"
 msgstr "revocă cheia sau subcheile selectate"
 
-#: g10/keyedit.c:1335
+#: g10/keyedit.c:1336
 msgid "enable key"
 msgstr "activează cheia"
 
-#: g10/keyedit.c:1336
+#: g10/keyedit.c:1337
 msgid "disable key"
 msgstr "deactivează cheia"
 
-#: g10/keyedit.c:1338
+#: g10/keyedit.c:1339
 msgid "show selected photo IDs"
 msgstr "arată pozele pentru ID-urile utilizator selectate"
 
-#: g10/keyedit.c:1340
+#: g10/keyedit.c:1341
 msgid "compact unusable user IDs and remove unusable signatures from key"
 msgstr ""
 
-#: g10/keyedit.c:1342
+#: g10/keyedit.c:1343
 msgid "compact unusable user IDs and remove all signatures from key"
 msgstr ""
 
-#: g10/keyedit.c:1463
+#: g10/keyedit.c:1464
 msgid "Secret key is available.\n"
 msgstr "Cheia secretă este disponibilă.\n"
 
-#: g10/keyedit.c:1465
+#: g10/keyedit.c:1466
 #, fuzzy
 #| msgid "Secret key is available.\n"
 msgid "Secret subkeys are available.\n"
 msgstr "Cheia secretă este disponibilă.\n"
 
-#: g10/keyedit.c:1567
+#: g10/keyedit.c:1568
 msgid "Need the secret key to do this.\n"
 msgstr "Aveţi nevoie de cheia secretă pentru a face aceasta.\n"
 
-#: g10/keyedit.c:1590
+#: g10/keyedit.c:1591
 #, fuzzy
 #| msgid ""
 #| "* The `sign' command may be prefixed with an `l' for local signatures "
@@ -4598,310 +4616,310 @@ msgstr ""
 "  pentru semnături irevocabile (nrsign), sau orice combinaţie a acestora\n"
 "  (ltsign, tnrsign, etc.).\n"
 
-#: g10/keyedit.c:1648 g10/keyedit.c:2667 g10/keyedit.c:3040 g10/keyedit.c:3108
+#: g10/keyedit.c:1649 g10/keyedit.c:2668 g10/keyedit.c:3041 g10/keyedit.c:3109
 msgid "Key is revoked."
 msgstr "Cheia este revocată."
 
-#: g10/keyedit.c:1671
+#: g10/keyedit.c:1672
 #, fuzzy
 #| msgid "Really sign all user IDs? (y/N) "
 msgid "Really sign all text user IDs? (y/N) "
 msgstr "Semnaţi într-adevăr toate ID-urile utilizator? (d/N) "
 
-#: g10/keyedit.c:1675
+#: g10/keyedit.c:1676
 msgid "Really sign all user IDs? (y/N) "
 msgstr "Semnaţi într-adevăr toate ID-urile utilizator? (d/N) "
 
-#: g10/keyedit.c:1683
+#: g10/keyedit.c:1684
 msgid "Hint: Select the user IDs to sign\n"
 msgstr "Sugestie: Selectaţi ID-ul utilizator de semnat\n"
 
-#: g10/keyedit.c:1694
+#: g10/keyedit.c:1695
 #, fuzzy, c-format
 #| msgid "Unknown signature type `%s'\n"
 msgid "Unknown signature type '%s'\n"
 msgstr "Tip de semnătură necunoscut `%s'\n"
 
-#: g10/keyedit.c:1718
+#: g10/keyedit.c:1719
 #, c-format
 msgid "This command is not allowed while in %s mode.\n"
 msgstr "Această comandă nu este permisă în modul %s.\n"
 
-#: g10/keyedit.c:1740 g10/keyedit.c:1764 g10/keyedit.c:1961
+#: g10/keyedit.c:1741 g10/keyedit.c:1765 g10/keyedit.c:1962
 msgid "You must select at least one user ID.\n"
 msgstr "Trebuie mai întâi să selectaţi cel puţin un ID utilizator.\n"
 
-#: g10/keyedit.c:1742 g10/keyedit.c:1766 g10/keyedit.c:1923 g10/keyedit.c:1963
+#: g10/keyedit.c:1743 g10/keyedit.c:1767 g10/keyedit.c:1924 g10/keyedit.c:1964
 #, c-format
 msgid "(Use the '%s' command.)\n"
 msgstr ""
 
-#: g10/keyedit.c:1745
+#: g10/keyedit.c:1746
 msgid "You can't delete the last user ID!\n"
 msgstr "Nu puteţi şterge ultimul ID utilizator!\n"
 
-#: g10/keyedit.c:1748
+#: g10/keyedit.c:1749
 msgid "Really remove all selected user IDs? (y/N) "
 msgstr "Ştergeţi într-adevăr toate ID-urile utilizator selectate? (d/N) "
 
-#: g10/keyedit.c:1749
+#: g10/keyedit.c:1750
 msgid "Really remove this user ID? (y/N) "
 msgstr "Ştergeţi într-adevăr acest ID utilizator? (d/N) "
 
 #. TRANSLATORS: Please take care: This is about
 #. moving the key and not about removing it.
-#: g10/keyedit.c:1806
+#: g10/keyedit.c:1807
 msgid "Really move the primary key? (y/N) "
 msgstr "Mutaţi într-adevăr cheia primară? (d/N) "
 
-#: g10/keyedit.c:1818 g10/keyedit.c:4803
+#: g10/keyedit.c:1819 g10/keyedit.c:4804
 msgid "You must select exactly one key.\n"
 msgstr "Trebuie să selectaţi exact o cheie.\n"
 
-#: g10/keyedit.c:1846
+#: g10/keyedit.c:1847
 msgid "Command expects a filename argument\n"
 msgstr "Comanda aşteaptă un nume de fişier ca argument\n"
 
-#: g10/keyedit.c:1867
+#: g10/keyedit.c:1868
 #, fuzzy, c-format
 #| msgid "Can't open `%s': %s\n"
 msgid "Can't open '%s': %s\n"
 msgstr "Nu pot deschide `%s': %s\n"
 
-#: g10/keyedit.c:1886
+#: g10/keyedit.c:1887
 #, fuzzy, c-format
 #| msgid "Error reading backup key from `%s': %s\n"
 msgid "Error reading backup key from '%s': %s\n"
 msgstr "Eroare citind cheia de rezervă de pe `%s': %s\n"
 
-#: g10/keyedit.c:1921
+#: g10/keyedit.c:1922
 msgid "You must select at least one key.\n"
 msgstr "Trebuie să selectaţi cel puţin o cheie.\n"
 
-#: g10/keyedit.c:1927
+#: g10/keyedit.c:1928
 msgid "Do you really want to delete the selected keys? (y/N) "
 msgstr "Doriţi într-adevăr să ştergeţi cheile selectate? (d/N) "
 
-#: g10/keyedit.c:1929
+#: g10/keyedit.c:1930
 msgid "Do you really want to delete this key? (y/N) "
 msgstr "Doriţi într-adevăr să ştergeţi această cheie? (d/N) "
 
-#: g10/keyedit.c:1967
+#: g10/keyedit.c:1968
 msgid "Really revoke all selected user IDs? (y/N) "
 msgstr ""
 "Doriţi într-adevăr să revocaţi toate ID-urile utilizator selectate? (d/N) "
 
-#: g10/keyedit.c:1968
+#: g10/keyedit.c:1969
 msgid "Really revoke this user ID? (y/N) "
 msgstr "Doriţi într-adevăr să revocaţi acest ID utilizator? (d/N) "
 
-#: g10/keyedit.c:1986
+#: g10/keyedit.c:1987
 msgid "Do you really want to revoke the entire key? (y/N) "
 msgstr "Doriţi într-adevăr să revocaţi toată cheia? (d/N) "
 
-#: g10/keyedit.c:1997
+#: g10/keyedit.c:1998
 msgid "Do you really want to revoke the selected subkeys? (y/N) "
 msgstr "Doriţi într-adevăr să revocaţi subcheile selectate? (d/N) "
 
-#: g10/keyedit.c:1999
+#: g10/keyedit.c:2000
 msgid "Do you really want to revoke this subkey? (y/N) "
 msgstr "Doriţi într-adevăr să revocaţi această subcheie? (d/N) "
 
-#: g10/keyedit.c:2057
+#: g10/keyedit.c:2058
 msgid "Owner trust may not be set while using a user provided trust database\n"
 msgstr ""
 "Încrederea proprietar nu poate fi setată când este folosită o bază de date "
 "de încredere furnizată de utilizator\n"
 
-#: g10/keyedit.c:2102
+#: g10/keyedit.c:2103
 msgid "Set preference list to:\n"
 msgstr "Setează lista de preferinţe ca:\n"
 
-#: g10/keyedit.c:2109
+#: g10/keyedit.c:2110
 msgid "Really update the preferences for the selected user IDs? (y/N) "
 msgstr ""
 "Doriţi într-adevăr să actualizaţi preferinţele pentru ID-urile utilizator "
 "selectate? (d/N) "
 
-#: g10/keyedit.c:2111
+#: g10/keyedit.c:2112
 msgid "Really update the preferences? (y/N) "
 msgstr "Doriţi într-adevăr să actualizaţi preferinţele? (d/N) "
 
-#: g10/keyedit.c:2185
+#: g10/keyedit.c:2186
 msgid "Save changes? (y/N) "
 msgstr "Salvaţi schimbările?  (d/N) "
 
-#: g10/keyedit.c:2189
+#: g10/keyedit.c:2190
 msgid "Quit without saving? (y/N) "
 msgstr "Terminaţi fără a salva?  (d/N) "
 
-#: g10/keyedit.c:2216 g10/keyedit.c:2762 g10/keyedit.c:3061 g10/keyedit.c:3214
+#: g10/keyedit.c:2217 g10/keyedit.c:2763 g10/keyedit.c:3062 g10/keyedit.c:3215
 #, c-format
 msgid "Key not changed so no update needed.\n"
 msgstr "Cheia nu a fost schimbată aşa că nici o actualizare a fost necesară.\n"
 
-#: g10/keyedit.c:2448
+#: g10/keyedit.c:2449
 #, fuzzy, c-format
 #| msgid "You can't delete the last user ID!\n"
 msgid "cannot revoke the last valid user ID.\n"
 msgstr "Nu puteţi şterge ultimul ID utilizator!\n"
 
-#: g10/keyedit.c:2475
+#: g10/keyedit.c:2476
 #, fuzzy, c-format
 msgid "revoking the user ID failed: %s\n"
 msgstr "verificarea semnăturii create a eşuat: %s\n"
 
-#: g10/keyedit.c:2541
+#: g10/keyedit.c:2542
 #, fuzzy, c-format
 msgid "setting the primary user ID failed: %s\n"
 msgstr "verificarea semnăturii create a eşuat: %s\n"
 
-#: g10/keyedit.c:2572
+#: g10/keyedit.c:2573
 #, fuzzy, c-format
 #| msgid "invalid fingerprint"
 msgid "\"%s\" is not a fingerprint\n"
 msgstr "amprentă invalidă"
 
-#: g10/keyedit.c:2602
+#: g10/keyedit.c:2603
 #, fuzzy, c-format
 msgid "\"%s\" is not the primary fingerprint\n"
 msgstr "am eşuat să stochez amprenta: %s\n"
 
-#: g10/keyedit.c:2738 g10/keyedit.c:2741
+#: g10/keyedit.c:2739 g10/keyedit.c:2742
 #, fuzzy, c-format
 #| msgid "invalid value\n"
 msgid "Invalid user ID '%s': %s\n"
 msgstr "valoare invalidă\n"
 
-#: g10/keyedit.c:2744
+#: g10/keyedit.c:2745
 #, fuzzy
 #| msgid "No such user ID.\n"
 msgid "No matching user IDs."
 msgstr "Nu există acest ID utilizator.\n"
 
-#: g10/keyedit.c:2744
+#: g10/keyedit.c:2745
 #, fuzzy
 #| msgid "Nothing to sign with key %s\n"
 msgid "Nothing to sign.\n"
 msgstr "Nimic de semnat cu cheia %s\n"
 
-#: g10/keyedit.c:2937 g10/keyedit.c:6019
+#: g10/keyedit.c:2938 g10/keyedit.c:6020
 #, c-format
 msgid "Not signed by you.\n"
 msgstr ""
 
-#: g10/keyedit.c:2995
+#: g10/keyedit.c:2996
 #, fuzzy, c-format
 #| msgid "checking created signature failed: %s\n"
 msgid "revoking the key signature failed: %s\n"
 msgstr "verificarea semnăturii create a eşuat: %s\n"
 
-#: g10/keyedit.c:3116
+#: g10/keyedit.c:3117
 #, fuzzy, c-format
 #| msgid "`%s' is not a valid signature expiration\n"
 msgid "'%s' is not a valid expiration time\n"
 msgstr "`%s' nu este expirare de semnătură validă\n"
 
-#: g10/keyedit.c:3159
+#: g10/keyedit.c:3160
 #, fuzzy, c-format
 #| msgid "invalid fingerprint"
 msgid "\"%s\" is not a proper fingerprint\n"
 msgstr "amprentă invalidă"
 
-#: g10/keyedit.c:3183
+#: g10/keyedit.c:3184
 #, fuzzy, c-format
 #| msgid "key \"%s\" not found: %s\n"
 msgid "subkey \"%s\" not found\n"
 msgstr "cheia \"%s\" nu a fost găsită: %s\n"
 
-#: g10/keyedit.c:3306
+#: g10/keyedit.c:3307
 msgid "AEAD: "
 msgstr ""
 
-#: g10/keyedit.c:3323
+#: g10/keyedit.c:3324
 msgid "Digest: "
 msgstr "Rezumat: "
 
-#: g10/keyedit.c:3380
+#: g10/keyedit.c:3381
 msgid "Features: "
 msgstr "Capabilităţi: "
 
-#: g10/keyedit.c:3397
+#: g10/keyedit.c:3398
 msgid "Keyserver no-modify"
 msgstr "Server de chei no-modify"
 
-#: g10/keyedit.c:3412 g10/keylist.c:376
+#: g10/keyedit.c:3413 g10/keylist.c:376
 msgid "Preferred keyserver: "
 msgstr "Server de chei preferat: "
 
-#: g10/keyedit.c:3420 g10/keyedit.c:3421
+#: g10/keyedit.c:3421 g10/keyedit.c:3422
 #, fuzzy
 msgid "Notations: "
 msgstr "Notaţie:"
 
-#: g10/keyedit.c:3669
+#: g10/keyedit.c:3670
 msgid "There are no preferences on a PGP 2.x-style user ID.\n"
 msgstr "Nu există nici o preferinţă pentru un ID utilizator stil PGP 2.x.\n"
 
-#: g10/keyedit.c:3741
+#: g10/keyedit.c:3742
 #, fuzzy, c-format
 msgid "The following key was revoked on %s by %s key %s\n"
 msgstr "Această cheie a fost revocată pe %s de %s cheia %s\n"
 
-#: g10/keyedit.c:3765
+#: g10/keyedit.c:3766
 #, c-format
 msgid "This key may be revoked by %s key %s"
 msgstr "Această cheie poate fi revocată de %s cheia %s"
 
-#: g10/keyedit.c:3771
+#: g10/keyedit.c:3772
 msgid "(sensitive)"
 msgstr " (senzitiv)"
 
-#: g10/keyedit.c:3813 g10/keyedit.c:3960 g10/keylist.c:264 g10/keyserver.c:538
+#: g10/keyedit.c:3814 g10/keyedit.c:3961 g10/keylist.c:264 g10/keyserver.c:361
 #, c-format
 msgid "created: %s"
 msgstr "creată: %s"
 
-#: g10/keyedit.c:3816 g10/keylist.c:2149
+#: g10/keyedit.c:3817 g10/keylist.c:2149
 #, c-format
 msgid "revoked: %s"
 msgstr "revocată: %s"
 
-#: g10/keyedit.c:3818 g10/keylist.c:2155
+#: g10/keyedit.c:3819 g10/keylist.c:2155
 #, c-format
 msgid "expired: %s"
 msgstr "expirată: %s"
 
-#: g10/keyedit.c:3820 g10/keyedit.c:3962 g10/keylist.c:266 g10/keylist.c:2161
-#: g10/keyserver.c:544
+#: g10/keyedit.c:3821 g10/keyedit.c:3963 g10/keylist.c:266 g10/keylist.c:2161
+#: g10/keyserver.c:367
 #, c-format
 msgid "expires: %s"
 msgstr "expiră: %s"
 
-#: g10/keyedit.c:3822
+#: g10/keyedit.c:3823
 #, c-format
 msgid "usage: %s"
 msgstr "folosire: %s"
 
-#: g10/keyedit.c:3830 g10/keyedit.c:3850 g10/keylist.c:269
+#: g10/keyedit.c:3831 g10/keyedit.c:3851 g10/keylist.c:269
 msgid "card-no: "
 msgstr "nr-card: "
 
-#: g10/keyedit.c:3889
+#: g10/keyedit.c:3890
 #, c-format
 msgid "trust: %s"
 msgstr "încredere: %s"
 
-#: g10/keyedit.c:3893
+#: g10/keyedit.c:3894
 #, c-format
 msgid "validity: %s"
 msgstr "validitate: %s"
 
-#: g10/keyedit.c:3900
+#: g10/keyedit.c:3901
 msgid "This key has been disabled"
 msgstr "Această cheie a fost deactivată"
 
-#: g10/keyedit.c:3918
+#: g10/keyedit.c:3919
 msgid ""
 "Please note that the shown key validity is not necessarily correct\n"
 "unless you restart the program.\n"
@@ -4910,17 +4928,17 @@ msgstr ""
 "corectă dacă nu reporniţi programul.\n"
 
 #
-#: g10/keyedit.c:3979 g10/keyedit.c:4410 g10/keyserver.c:548
-#: g10/mainproc.c:2371 g10/tofu.c:1787 g10/trust.c:437 dirmngr/ocsp.c:791
+#: g10/keyedit.c:3980 g10/keyedit.c:4411 g10/keyserver.c:371
+#: g10/mainproc.c:2380 g10/tofu.c:1787 g10/trust.c:437 dirmngr/ocsp.c:791
 msgid "revoked"
 msgstr "revocată"
 
-#: g10/keyedit.c:3981 g10/keyedit.c:4412 g10/keyserver.c:552
-#: g10/mainproc.c:2373 g10/tofu.c:1792 g10/trust.c:124
+#: g10/keyedit.c:3982 g10/keyedit.c:4413 g10/keyserver.c:375
+#: g10/mainproc.c:2382 g10/tofu.c:1792 g10/trust.c:124
 msgid "expired"
 msgstr "expirată"
 
-#: g10/keyedit.c:4098
+#: g10/keyedit.c:4099
 #, c-format
 msgid ""
 "WARNING: no user ID has been marked as primary.  This command may\n"
@@ -4930,18 +4948,18 @@ msgstr ""
 "              Această comandă poate cauza ca un alt ID utilizator\n"
 "              să devină ID-ul utilizator primar presupus.\n"
 
-#: g10/keyedit.c:4150
+#: g10/keyedit.c:4151
 #, c-format
 msgid "WARNING: Your encryption subkey expires soon.\n"
 msgstr ""
 
-#: g10/keyedit.c:4151
+#: g10/keyedit.c:4152
 #, fuzzy, c-format
 #| msgid "You can't change the expiration date of a v3 key\n"
 msgid "You may want to change its expiration date too.\n"
 msgstr "Nu puteţi schimba data de expirare a unei chei v3\n"
 
-#: g10/keyedit.c:4210
+#: g10/keyedit.c:4211
 msgid ""
 "WARNING: This is a PGP2-style key.  Adding a photo ID may cause some "
 "versions\n"
@@ -4950,35 +4968,35 @@ msgstr ""
 "AVERTISMENT: Aceasta este o cheie stil PGP2.  Adăugarea unei poze ID poate\n"
 "         cauza unele versiuni de PGP să respingă această cheie.\n"
 
-#: g10/keyedit.c:4215 g10/keyedit.c:4505
+#: g10/keyedit.c:4216 g10/keyedit.c:4506
 msgid "Are you sure you still want to add it? (y/N) "
 msgstr "Sunteţi încă sigur(ă) că doriţi să o adăugaţi? (d/N) "
 
-#: g10/keyedit.c:4221
+#: g10/keyedit.c:4222
 msgid "You may not add a photo ID to a PGP2-style key.\n"
 msgstr "Nu puteţi adăuga o poză ID la o cheie stil PGP2.\n"
 
-#: g10/keyedit.c:4236 g10/keygen.c:2899
+#: g10/keyedit.c:4237 g10/keygen.c:2899
 msgid "Such a user ID already exists on this key!\n"
 msgstr ""
 
-#: g10/keyedit.c:4338
+#: g10/keyedit.c:4339
 msgid "Delete this good signature? (y/N/q)"
 msgstr "Ştergeţi această semnătură bună? (d/N/t)"
 
-#: g10/keyedit.c:4348
+#: g10/keyedit.c:4349
 msgid "Delete this invalid signature? (y/N/q)"
 msgstr "Ştergeţi această semnătură invalidă? (d/N/t)"
 
-#: g10/keyedit.c:4352
+#: g10/keyedit.c:4353
 msgid "Delete this unknown signature? (y/N/q)"
 msgstr "Ştergeţi această semnătură necunoscută? (d/N/t)"
 
-#: g10/keyedit.c:4359
+#: g10/keyedit.c:4360
 msgid "Really delete this self-signature? (y/N)"
 msgstr "Ştergeţi într-adevăr această auto-semnătură? (d/N)"
 
-#: g10/keyedit.c:4375
+#: g10/keyedit.c:4376
 #, fuzzy, c-format
 #| msgid "Deleted %d signature.\n"
 msgid "Deleted %d signature.\n"
@@ -4986,37 +5004,37 @@ msgid_plural "Deleted %d signatures.\n"
 msgstr[0] "Am şters %d semnături.\n"
 msgstr[1] "Am şters %d semnături.\n"
 
-#: g10/keyedit.c:4379
+#: g10/keyedit.c:4380
 msgid "Nothing deleted.\n"
 msgstr "Nu am şters nimic.\n"
 
-#: g10/keyedit.c:4414
+#: g10/keyedit.c:4415
 msgid "invalid"
 msgstr "invalid(ă)"
 
-#: g10/keyedit.c:4416
+#: g10/keyedit.c:4417
 #, fuzzy, c-format
 msgid "User ID \"%s\" compacted: %s\n"
 msgstr "ID utilizator \"%s\" a fost revocat."
 
-#: g10/keyedit.c:4422
+#: g10/keyedit.c:4423
 #, fuzzy, c-format
 msgid "User ID \"%s\": %d signature removed\n"
 msgid_plural "User ID \"%s\": %d signatures removed\n"
 msgstr[0] "ID utilizator \"%s\" a fost revocat."
 msgstr[1] "ID utilizator \"%s\" a fost revocat."
 
-#: g10/keyedit.c:4430
+#: g10/keyedit.c:4431
 #, fuzzy, c-format
 msgid "User ID \"%s\": already minimized\n"
 msgstr "ID-ul utilizator \"%s\": este deja curat.\n"
 
-#: g10/keyedit.c:4431
+#: g10/keyedit.c:4432
 #, fuzzy, c-format
 msgid "User ID \"%s\": already clean\n"
 msgstr "ID-ul utilizator \"%s\": este deja curat.\n"
 
-#: g10/keyedit.c:4500
+#: g10/keyedit.c:4501
 msgid ""
 "WARNING: This is a PGP 2.x-style key.  Adding a designated revoker may "
 "cause\n"
@@ -5026,43 +5044,43 @@ msgstr ""
 "             desemnat poate face ca unele versiuni de PGP să respingă "
 "cheia.\n"
 
-#: g10/keyedit.c:4511
+#: g10/keyedit.c:4512
 msgid "You may not add a designated revoker to a PGP 2.x-style key.\n"
 msgstr "Nu puteţi adăuga un revocator desemnat la o cheie stil PGP 2.x.\n"
 
-#: g10/keyedit.c:4528
+#: g10/keyedit.c:4529
 msgid "Enter the user ID of the designated revoker: "
 msgstr "Introduceţi ID-ul utilizator al revocatorului desemnat: "
 
-#: g10/keyedit.c:4554
+#: g10/keyedit.c:4555
 #, c-format
 msgid "cannot appoint a PGP 2.x style key as a designated revoker\n"
 msgstr "nu pot desemna o cheie stil PGP 2.x ca un revocator desemnat\n"
 
-#: g10/keyedit.c:4569
+#: g10/keyedit.c:4570
 #, c-format
 msgid "you cannot appoint a key as its own designated revoker\n"
 msgstr "nu puteţi desemna o cheie ca propriul său revocator desemnat\n"
 
-#: g10/keyedit.c:4591
+#: g10/keyedit.c:4592
 #, c-format
 msgid "this key has already been designated as a revoker\n"
 msgstr "această cheie a fost deja desemnată ca un revocator\n"
 
-#: g10/keyedit.c:4609
+#: g10/keyedit.c:4610
 msgid "WARNING: appointing a key as a designated revoker cannot be undone!\n"
 msgstr ""
 "AVERTISMENT: desemnarea unei chei ca un revocator desemnat nu poate fi "
 "anulată!\n"
 
-#: g10/keyedit.c:4615
+#: g10/keyedit.c:4616
 msgid ""
 "Are you sure you want to appoint this key as a designated revoker? (y/N) "
 msgstr ""
 "Sunteţi sigur(ă) că doriţi să desemnaţi această cheie ca şi un revocator "
 "desemnat? (d/N) "
 
-#: g10/keyedit.c:4683
+#: g10/keyedit.c:4684
 #, fuzzy
 #| msgid ""
 #| "Are you sure you want to appoint this key as a designated revoker? (y/N) "
@@ -5073,183 +5091,183 @@ msgstr ""
 "Sunteţi sigur(ă) că doriţi să desemnaţi această cheie ca şi un revocator "
 "desemnat? (d/N) "
 
-#: g10/keyedit.c:4688
+#: g10/keyedit.c:4689
 msgid "Changing expiration time for a subkey.\n"
 msgstr "Schimb timpul de expirare pentru o subcheie.\n"
 
-#: g10/keyedit.c:4691
+#: g10/keyedit.c:4692
 msgid "Changing expiration time for the primary key.\n"
 msgstr "Schimb timpul de expirare pentru cheia primară.\n"
 
-#: g10/keyedit.c:4747
+#: g10/keyedit.c:4748
 #, c-format
 msgid "You can't change the expiration date of a v3 key\n"
 msgstr "Nu puteţi schimba data de expirare a unei chei v3\n"
 
-#: g10/keyedit.c:4807
+#: g10/keyedit.c:4808
 #, fuzzy
 #| msgid "Changing expiration time for a subkey.\n"
 msgid "Changing usage of a subkey.\n"
 msgstr "Schimb timpul de expirare pentru o subcheie.\n"
 
-#: g10/keyedit.c:4810
+#: g10/keyedit.c:4811
 #, fuzzy
 #| msgid "Changing expiration time for the primary key.\n"
 msgid "Changing usage of the primary key.\n"
 msgstr "Schimb timpul de expirare pentru cheia primară.\n"
 
-#: g10/keyedit.c:4928
+#: g10/keyedit.c:4929
 #, fuzzy, c-format
 msgid "signing subkey %s is already cross-certified\n"
 msgstr ""
 "AVERTISMENT: subcheia de semnare %s nu este certificată reciproc (cross-"
 "certified)\n"
 
-#: g10/keyedit.c:4934
+#: g10/keyedit.c:4935
 #, c-format
 msgid "subkey %s does not sign and so does not need to be cross-certified\n"
 msgstr ""
 
-#: g10/keyedit.c:5051
+#: g10/keyedit.c:5052
 msgid "Please select exactly one user ID.\n"
 msgstr "Vă rugăm selectaţi exact un ID utilizator.\n"
 
-#: g10/keyedit.c:5092 g10/keyedit.c:5206 g10/keyedit.c:5319 g10/keyedit.c:5457
+#: g10/keyedit.c:5093 g10/keyedit.c:5207 g10/keyedit.c:5320 g10/keyedit.c:5458
 #, c-format
 msgid "skipping v3 self-signature on user ID \"%s\"\n"
 msgstr "auto-semnătură v3 sărită pentru ID-ul utilizator \"%s\"\n"
 
-#: g10/keyedit.c:5263
+#: g10/keyedit.c:5264
 msgid "Enter your preferred keyserver URL: "
 msgstr "Introduceţi URL-ul serverului de chei preferat: "
 
-#: g10/keyedit.c:5342
+#: g10/keyedit.c:5343
 msgid "Are you sure you want to replace it? (y/N) "
 msgstr "Sunteţi sigur(ă) că doriţi să o folosiţi? (d/N) "
 
-#: g10/keyedit.c:5343
+#: g10/keyedit.c:5344
 msgid "Are you sure you want to delete it? (y/N) "
 msgstr "Sunteţi sigur(ă) că doriţi să o folosiţi? (d/N) "
 
-#: g10/keyedit.c:5403
+#: g10/keyedit.c:5404
 #, fuzzy
 msgid "Enter the notation: "
 msgstr "Notare semnătură: "
 
-#: g10/keyedit.c:5550
+#: g10/keyedit.c:5551
 #, fuzzy
 msgid "Proceed? (y/N) "
 msgstr "Suprascriu? (d/N) "
 
-#: g10/keyedit.c:5620
+#: g10/keyedit.c:5621
 #, c-format
 msgid "No user ID with index %d\n"
 msgstr "Nici un ID utilizator cu indicele %d\n"
 
-#: g10/keyedit.c:5682
+#: g10/keyedit.c:5683
 #, c-format
 msgid "No user ID with hash %s\n"
 msgstr "Nici un ID utilizator cu hash-ul %s\n"
 
-#: g10/keyedit.c:5783
+#: g10/keyedit.c:5784
 #, fuzzy, c-format
 #| msgid "No subkey with index %d\n"
 msgid "No subkey with key ID '%s'.\n"
 msgstr "Nici o subcheie cu indicele %d\n"
 
-#: g10/keyedit.c:5805
+#: g10/keyedit.c:5806
 #, c-format
 msgid "No subkey with index %d\n"
 msgstr "Nici o subcheie cu indicele %d\n"
 
-#: g10/keyedit.c:5946
+#: g10/keyedit.c:5947
 #, c-format
 msgid "user ID: \"%s\"\n"
 msgstr "ID utilizator: \"%s\"\n"
 
-#: g10/keyedit.c:5949 g10/keyedit.c:6051 g10/keyedit.c:6099
+#: g10/keyedit.c:5950 g10/keyedit.c:6052 g10/keyedit.c:6100
 #, c-format
 msgid "signed by your key %s on %s%s%s\n"
 msgstr "semnată de cheia d-voastră %s la %s%s%s\n"
 
-#: g10/keyedit.c:5951 g10/keyedit.c:6053 g10/keyedit.c:6101
+#: g10/keyedit.c:5952 g10/keyedit.c:6054 g10/keyedit.c:6102
 msgid " (non-exportable)"
 msgstr " (non-exportabilă)"
 
-#: g10/keyedit.c:5955
+#: g10/keyedit.c:5956
 #, c-format
 msgid "This signature expired on %s.\n"
 msgstr "Această semnătură a expirat pe %s.\n"
 
-#: g10/keyedit.c:5960
+#: g10/keyedit.c:5961
 msgid "Are you sure you still want to revoke it? (y/N) "
 msgstr "Sunteţi încă sigur(ă) că doriţi să o revocaţi? (d/N) "
 
-#: g10/keyedit.c:5965
+#: g10/keyedit.c:5966
 msgid "Create a revocation certificate for this signature? (y/N) "
 msgstr "Creaţi un certificat de revocare pentru această semnătură? (d/N) "
 
-#: g10/keyedit.c:6025
+#: g10/keyedit.c:6026
 #, c-format
 msgid "You have signed these user IDs on key %s:\n"
 msgstr "Aţi semnat aceste ID-uri utilizator pe cheia %s:\n"
 
-#: g10/keyedit.c:6054
+#: g10/keyedit.c:6055
 msgid " (non-revocable)"
 msgstr " (non-revocabilă)"
 
-#: g10/keyedit.c:6061
+#: g10/keyedit.c:6062
 #, c-format
 msgid "revoked by your key %s on %s\n"
 msgstr "revocată de cheia d-voastră %s pe %s\n"
 
-#: g10/keyedit.c:6086
+#: g10/keyedit.c:6087
 msgid "You are about to revoke these signatures:\n"
 msgstr "Sunteţi pe cale să revocaţi aceste semnături:\n"
 
-#: g10/keyedit.c:6109
+#: g10/keyedit.c:6110
 msgid "Really create the revocation certificates? (y/N) "
 msgstr "Doriţi într-adevăr să creaţi certificatele de revocare? (d/N) "
 
-#: g10/keyedit.c:6142
+#: g10/keyedit.c:6143
 #, c-format
 msgid "no secret key\n"
 msgstr "nici o cheie secretă\n"
 
-#: g10/keyedit.c:6190
+#: g10/keyedit.c:6191
 #, fuzzy, c-format
 #| msgid "revoke a user ID"
 msgid "tried to revoke a non-user ID: %s\n"
 msgstr "revocă un ID utilizator"
 
-#: g10/keyedit.c:6200
+#: g10/keyedit.c:6201
 #, c-format
 msgid "user ID \"%s\" is already revoked\n"
 msgstr "ID-ul utilizator \"%s\" este deja revocat\n"
 
-#: g10/keyedit.c:6217
+#: g10/keyedit.c:6218
 #, c-format
 msgid "WARNING: a user ID signature is dated %d seconds in the future\n"
 msgstr ""
 "AVERTISMENT: o semnătură ID utilizator este datată %d secunde în viitor\n"
 
-#: g10/keyedit.c:6313
+#: g10/keyedit.c:6314
 #, fuzzy, c-format
 #| msgid "You can't delete the last user ID!\n"
 msgid "Cannot revoke the last valid user ID.\n"
 msgstr "Nu puteţi şterge ultimul ID utilizator!\n"
 
-#: g10/keyedit.c:6351
+#: g10/keyedit.c:6352
 #, c-format
 msgid "Key %s is already revoked.\n"
 msgstr "Cheia %s este deja revocată.\n"
 
-#: g10/keyedit.c:6413
+#: g10/keyedit.c:6414
 #, c-format
 msgid "Subkey %s is already revoked.\n"
 msgstr "Subcheia %s este deja revocată.\n"
 
-#: g10/keyedit.c:6510
+#: g10/keyedit.c:6511
 #, c-format
 msgid "Displaying %s photo ID of size %ld for key %s (uid %d)\n"
 msgstr "Afişez poza ID %s de dimensiune %ld pentru cheia %s (uid %d)\n"
@@ -5984,25 +6002,25 @@ msgstr "Introduceţi URL-ul serverului de chei preferat: "
 msgid "honor the PKA record set on a key when retrieving keys"
 msgstr ""
 
-#: g10/keyserver.c:550
+#: g10/keyserver.c:373
 msgid "disabled"
 msgstr "deactivat(ă)"
 
-#: g10/keyserver.c:754
+#: g10/keyserver.c:577
 msgid "Enter number(s), N)ext, or Q)uit > "
 msgstr "Introduceţi număr/numere, N)ext (următor), sau Q)uit (termină) > "
 
-#: g10/keyserver.c:860
+#: g10/keyserver.c:683
 #, c-format
 msgid "invalid keyserver protocol (us %d!=handler %d)\n"
 msgstr "protocol server de chei invalid (us %d!=handler %d)\n"
 
-#: g10/keyserver.c:1001 g10/keyserver.c:1116
+#: g10/keyserver.c:824 g10/keyserver.c:939
 #, c-format
 msgid "\"%s\" not a key ID: skipping\n"
 msgstr "\"%s\" nu este un ID de cheie: sărit\n"
 
-#: g10/keyserver.c:1438 g10/keyserver.c:1471
+#: g10/keyserver.c:1237 g10/keyserver.c:1270
 #, fuzzy, c-format
 #| msgid "refreshing %d keys from %s\n"
 msgid "refreshing %d key from %s\n"
@@ -6010,54 +6028,49 @@ msgid_plural "refreshing %d keys from %s\n"
 msgstr[0] "reactualizez %d chei de la %s\n"
 msgstr[1] "reactualizez %d chei de la %s\n"
 
-#: g10/keyserver.c:1445
+#: g10/keyserver.c:1244
 #, c-format
 msgid "WARNING: unable to refresh key %s via %s: %s\n"
 msgstr "AVERTISMENT: nu pot reactualiza cheia %s via %s: %s\n"
 
-#: g10/keyserver.c:1549
+#: g10/keyserver.c:1336
 #, c-format
 msgid "key \"%s\" not found on keyserver\n"
 msgstr "cheia \"%s\" nu a fost găsită pe serverul de chei\n"
 
-#: g10/keyserver.c:1552
+#: g10/keyserver.c:1339
 #, c-format
 msgid "key not found on keyserver\n"
 msgstr "cheia nu a fost găsită pe serverul de chei\n"
 
-#: g10/keyserver.c:1743
-#, c-format
-msgid "requesting key %s from %s server %s\n"
-msgstr "cer cheia %s de la serverul %s %s\n"
-
-#: g10/keyserver.c:1747
+#: g10/keyserver.c:1504
 #, c-format
 msgid "requesting key %s from %s\n"
 msgstr "cer cheia %s de la %s\n"
 
-#: g10/keyserver.c:1852 g10/keyserver.c:2031
+#: g10/keyserver.c:1619 g10/keyserver.c:1798
 #, fuzzy, c-format
 #| msgid "no keyserver action!\n"
 msgid "no keyserver known\n"
 msgstr "nici o acţiune pentru serverul de chei!\n"
 
-#: g10/keyserver.c:1867 g10/skclist.c:214 g10/skclist.c:242
+#: g10/keyserver.c:1634 g10/skclist.c:215 g10/skclist.c:243
 #, c-format
 msgid "skipped \"%s\": %s\n"
 msgstr "sărită \"%s\": %s\n"
 
-#: g10/keyserver.c:1871
+#: g10/keyserver.c:1638
 #, c-format
 msgid "sending key %s to %s\n"
 msgstr "trimit cheia %s lui %s\n"
 
-#: g10/keyserver.c:1912
+#: g10/keyserver.c:1679
 #, fuzzy, c-format
 #| msgid "requesting key %s from %s\n"
 msgid "requesting key from '%s'\n"
 msgstr "cer cheia %s de la %s\n"
 
-#: g10/keyserver.c:1928
+#: g10/keyserver.c:1695
 #, fuzzy, c-format
 msgid "WARNING: unable to fetch URI %s: %s\n"
 msgstr "AVERTISMENT: nu pot reactualiza cheia %s via %s: %s\n"
@@ -6072,259 +6085,259 @@ msgstr "dimensiune ciudată pentru o cheie de sesiune cifrată (%d)\n"
 msgid "%s encrypted session key\n"
 msgstr "%s cheie de sesiune cifrată\n"
 
-#: g10/mainproc.c:400
+#: g10/mainproc.c:403
 #, c-format
 msgid "passphrase generated with unknown digest algorithm %d\n"
 msgstr "fraza-parolă generată cu un algoritm rezumat necunoscut %d\n"
 
-#: g10/mainproc.c:481
+#: g10/mainproc.c:485
 #, c-format
 msgid "public key is %s\n"
 msgstr "cheia publică este %s\n"
 
-#: g10/mainproc.c:557
+#: g10/mainproc.c:561
 #, c-format
 msgid "public key encrypted data: good DEK\n"
 msgstr "date cigrate cu cheie publică: DEK bun\n"
 
-#: g10/mainproc.c:590
+#: g10/mainproc.c:594
 #, c-format
 msgid "encrypted with %u-bit %s key, ID %s, created %s\n"
 msgstr "cifrat cu cheia %u-bit %s, ID %s, creată %s\n"
 
-#: g10/mainproc.c:594 g10/pkclist.c:228
+#: g10/mainproc.c:598 g10/pkclist.c:228
 #, c-format
 msgid "      \"%s\"\n"
 msgstr "      \"%s\"\n"
 
-#: g10/mainproc.c:598
+#: g10/mainproc.c:602
 #, c-format
 msgid "encrypted with %s key, ID %s\n"
 msgstr "cifrat cu cheia %s, ID %s\n"
 
-#: g10/mainproc.c:619
+#: g10/mainproc.c:623
 #, c-format
 msgid "public key decryption failed: %s\n"
 msgstr "decriptarea cu cheie publică a eşuat: %s\n"
 
-#: g10/mainproc.c:641 g10/mainproc.c:970
+#: g10/mainproc.c:645 g10/mainproc.c:976
 #, c-format
 msgid "WARNING: multiple plaintexts seen\n"
 msgstr ""
 
-#: g10/mainproc.c:649
+#: g10/mainproc.c:653
 #, c-format
 msgid "encrypted with %lu passphrases\n"
 msgstr "cifrată cu %lu fraze-parolă\n"
 
-#: g10/mainproc.c:651
+#: g10/mainproc.c:655
 #, c-format
 msgid "encrypted with 1 passphrase\n"
 msgstr "cifrată cu 1 frază-parolă\n"
 
-#: g10/mainproc.c:685 g10/mainproc.c:706
+#: g10/mainproc.c:689 g10/mainproc.c:710
 #, c-format
 msgid "assuming %s encrypted data\n"
 msgstr "presupunem date cifrate %s\n"
 
-#: g10/mainproc.c:692
+#: g10/mainproc.c:696
 #, c-format
 msgid "IDEA cipher unavailable, optimistically attempting to use %s instead\n"
 msgstr "cifru IDEA indisponibil, vom încerca să folosim %s în loc\n"
 
-#: g10/mainproc.c:779 g10/mainproc.c:817
+#: g10/mainproc.c:785 g10/mainproc.c:823
 #, c-format
 msgid "WARNING: message was not integrity protected\n"
 msgstr "AVERTISMENT: mesajul nu a avut integritatea protejată\n"
 
-#: g10/mainproc.c:790
+#: g10/mainproc.c:796
 msgid ""
 "Hint: If this message was created before the year 2003 it is\n"
 "likely that this message is legitimate.  This is because back\n"
 "then integrity protection was not widely used.\n"
 msgstr ""
 
-#: g10/mainproc.c:793
+#: g10/mainproc.c:799
 #, c-format
 msgid "Use the option '%s' to decrypt anyway.\n"
 msgstr ""
 
-#: g10/mainproc.c:798
+#: g10/mainproc.c:804
 #, fuzzy, c-format
 #| msgid "decryption failed: %s\n"
 msgid "decryption forced to fail!\n"
 msgstr "decriptarea a eşuat: %s\n"
 
-#: g10/mainproc.c:810
+#: g10/mainproc.c:816
 #, c-format
 msgid "decryption okay\n"
 msgstr "decriptare OK\n"
 
-#: g10/mainproc.c:823
+#: g10/mainproc.c:829
 #, c-format
 msgid "WARNING: encrypted message has been manipulated!\n"
 msgstr "AVERTISMENT: mesajul cifrat a fost manipulat!\n"
 
-#: g10/mainproc.c:841
+#: g10/mainproc.c:847
 #, c-format
 msgid "decryption failed: %s\n"
 msgstr "decriptarea a eşuat: %s\n"
 
-#: g10/mainproc.c:886
+#: g10/mainproc.c:892
 #, fuzzy, c-format
 #| msgid "NOTE: sender requested \"for-your-eyes-only\"\n"
 msgid "Note: sender requested \"for-your-eyes-only\"\n"
 msgstr "NOTĂ: expeditorul a cerut \"doar-pentru-ochii-d-voastră\"\n"
 
-#: g10/mainproc.c:893
+#: g10/mainproc.c:899
 #, c-format
 msgid "original file name='%.*s'\n"
 msgstr "nume fişier original='%.*s'\n"
 
-#: g10/mainproc.c:1148
+#: g10/mainproc.c:1154
 #, c-format
 msgid "standalone revocation - use \"gpg --import\" to apply\n"
 msgstr "revocare standalone - folosiţi \"gpg --import\" pentru a aplica\n"
 
-#: g10/mainproc.c:1452 g10/mainproc.c:1495
+#: g10/mainproc.c:1458 g10/mainproc.c:1501
 #, fuzzy, c-format
 msgid "no signature found\n"
 msgstr "Semnătură bună din \"%s\""
 
-#: g10/mainproc.c:1852
+#: g10/mainproc.c:1858
 #, c-format
 msgid "BAD signature from \"%s\""
 msgstr "Semnătură INCORECTĂ din \"%s\""
 
-#: g10/mainproc.c:1854
+#: g10/mainproc.c:1860
 #, c-format
 msgid "Expired signature from \"%s\""
 msgstr "Semnătură expirată din \"%s\""
 
-#: g10/mainproc.c:1856
+#: g10/mainproc.c:1862
 #, c-format
 msgid "Good signature from \"%s\""
 msgstr "Semnătură bună din \"%s\""
 
-#: g10/mainproc.c:1876
+#: g10/mainproc.c:1882
 #, c-format
 msgid "signature verification suppressed\n"
 msgstr "verificare semnătură eliminată\n"
 
-#: g10/mainproc.c:1985
+#: g10/mainproc.c:1991
 #, fuzzy, c-format
 msgid "can't handle this ambiguous signature data\n"
 msgstr "nu pot mânui aceste semnături multiple\n"
 
-#: g10/mainproc.c:2001 g10/mainproc.c:2008
+#: g10/mainproc.c:2007 g10/mainproc.c:2014
 #, c-format
 msgid "Signature made %s\n"
 msgstr "Semnătură făcută %s\n"
 
-#: g10/mainproc.c:2002 g10/mainproc.c:2009 sm/verify.c:476
+#: g10/mainproc.c:2008 g10/mainproc.c:2015 sm/verify.c:476
 #, c-format
 msgid "               using %s key %s\n"
 msgstr "               folosind cheia %s %s\n"
 
-#: g10/mainproc.c:2013
+#: g10/mainproc.c:2019
 #, c-format
 msgid "Signature made %s using %s key ID %s\n"
 msgstr "Semnătură făcută %s folosind cheia %s cu ID %s\n"
 
-#: g10/mainproc.c:2019
+#: g10/mainproc.c:2025
 #, fuzzy, c-format
 #| msgid "                aka \"%s\""
 msgid "               issuer \"%s\"\n"
 msgstr "                aka \"%s\""
 
-#: g10/mainproc.c:2070
+#: g10/mainproc.c:2076
 #, c-format
 msgid "Key available at: "
 msgstr "Cheie disponibilă la: "
 
-#: g10/mainproc.c:2111
+#: g10/mainproc.c:2118
 #, c-format
 msgid "Note: Use '%s' to make use of this info\n"
 msgstr ""
 
-#: g10/mainproc.c:2325
+#: g10/mainproc.c:2334
 msgid "[uncertain]"
 msgstr "[nesigur]"
 
-#: g10/mainproc.c:2363
+#: g10/mainproc.c:2372
 #, c-format
 msgid "                aka \"%s\""
 msgstr "                aka \"%s\""
 
-#: g10/mainproc.c:2438
+#: g10/mainproc.c:2447
 #, fuzzy, c-format
 #| msgid "WARNING: This key is not certified with a trusted signature!\n"
 msgid "WARNING: This key is not suitable for signing in %s mode\n"
 msgstr ""
 "AVERTISMENT: Această cheie nu este certificată de o semnătură de încredere!\n"
 
-#: g10/mainproc.c:2456
+#: g10/mainproc.c:2465
 #, c-format
 msgid "Signature expired %s\n"
 msgstr "Semnătură expirată %s\n"
 
-#: g10/mainproc.c:2460
+#: g10/mainproc.c:2469
 #, c-format
 msgid "Signature expires %s\n"
 msgstr "Semnătura expiră %s\n"
 
-#: g10/mainproc.c:2471
+#: g10/mainproc.c:2480
 #, fuzzy, c-format
 #| msgid "%s signature, digest algorithm %s\n"
 msgid "%s signature, digest algorithm %s%s%s\n"
 msgstr "semnătură %s, algoritm rezumat %s\n"
 
-#: g10/mainproc.c:2472
+#: g10/mainproc.c:2481
 msgid "binary"
 msgstr "binar"
 
-#: g10/mainproc.c:2473
+#: g10/mainproc.c:2482
 msgid "textmode"
 msgstr "modtext"
 
-#: g10/mainproc.c:2473 g10/trust.c:123 dirmngr/ocsp.c:792
+#: g10/mainproc.c:2482 g10/trust.c:123 dirmngr/ocsp.c:792
 msgid "unknown"
 msgstr "necunoscut"
 
-#: g10/mainproc.c:2475
+#: g10/mainproc.c:2484
 #, fuzzy
 #| msgid "unknown pubkey algorithm"
 msgid ", key algorithm "
 msgstr "algoritm pubkey necunoscut"
 
-#: g10/mainproc.c:2510
+#: g10/mainproc.c:2519
 #, c-format
 msgid "WARNING: not a detached signature; file '%s' was NOT verified!\n"
 msgstr ""
 
-#: g10/mainproc.c:2548
+#: g10/mainproc.c:2558
 #, c-format
 msgid "Can't check signature: %s\n"
 msgstr "Nu pot verifica semnătura: %s\n"
 
-#: g10/mainproc.c:2644 g10/mainproc.c:2663 g10/mainproc.c:2787
+#: g10/mainproc.c:2654 g10/mainproc.c:2673 g10/mainproc.c:2797
 #, c-format
 msgid "not a detached signature\n"
 msgstr "nu o semnătură detaşată\n"
 
-#: g10/mainproc.c:2697
+#: g10/mainproc.c:2707
 #, c-format
 msgid ""
 "WARNING: multiple signatures detected.  Only the first will be checked.\n"
 msgstr ""
 "AVERTISMENT: am detectat multiple semnături.  Numai prima va fi verificată.\n"
 
-#: g10/mainproc.c:2706
+#: g10/mainproc.c:2716
 #, c-format
 msgid "standalone signature of class 0x%02x\n"
 msgstr "semnătură de sine stătătoare (standalone) de clasă 0x%02x\n"
 
-#: g10/mainproc.c:2791
+#: g10/mainproc.c:2801
 #, c-format
 msgid "old style (PGP 2.x) signature\n"
 msgstr "semnătură de stil vechi (PGP 2.x)\n"
@@ -6516,62 +6529,67 @@ msgstr "Notare semnătură critică: "
 msgid "subpacket of type %d has critical bit set\n"
 msgstr "subpachetul de tip %d are bitul critic setat\n"
 
-#: g10/passphrase.c:73 g10/passphrase.c:275 g10/passphrase.c:308
+#: g10/passphrase.c:73 g10/passphrase.c:283 g10/passphrase.c:316
 #, fuzzy, c-format
 msgid "problem with the agent: %s\n"
 msgstr "problemă cu agentul: agentul returnează 0x%lx\n"
 
-#: g10/passphrase.c:258
+#: g10/passphrase.c:251 sm/decrypt.c:341
+#, fuzzy
+msgid "Please enter the passphrase for decryption."
+msgstr "schimbă fraza-parolă"
+
+#: g10/passphrase.c:253
 msgid "Enter passphrase\n"
 msgstr "Introduceţi fraza-parolă\n"
 
-#: g10/passphrase.c:269
+#: g10/passphrase.c:277
 #, c-format
 msgid "cancelled by user\n"
 msgstr "anulată de utilizator\n"
 
-#: g10/passphrase.c:510
+#: g10/passphrase.c:523
 #, c-format
 msgid " (main key ID %s)"
 msgstr " (ID cheie principală %s)"
 
-#: g10/passphrase.c:517
+#: g10/passphrase.c:530
 #, fuzzy
 msgid "Please enter the passphrase to unlock the OpenPGP secret key:"
 msgstr ""
 "Vă rugăm introduceţi fraza-parolă; aceasta este o propoziţie secretă \n"
 
-#: g10/passphrase.c:521
+#: g10/passphrase.c:534
 #, fuzzy
 msgid "Please enter the passphrase to import the OpenPGP secret key:"
 msgstr ""
 "Vă rugăm introduceţi fraza-parolă; aceasta este o propoziţie secretă \n"
 
-#: g10/passphrase.c:526
+#: g10/passphrase.c:539
 #, fuzzy
 msgid "Please enter the passphrase to export the OpenPGP secret subkey:"
 msgstr ""
 "Vă rugăm introduceţi fraza-parolă; aceasta este o propoziţie secretă \n"
 
-#: g10/passphrase.c:529
+#: g10/passphrase.c:542
 #, fuzzy
 msgid "Please enter the passphrase to export the OpenPGP secret key:"
 msgstr ""
 "Vă rugăm introduceţi fraza-parolă; aceasta este o propoziţie secretă \n"
 
-#: g10/passphrase.c:534
+#: g10/passphrase.c:547
 #, fuzzy
 #| msgid "Do you really want to delete the selected keys? (y/N) "
 msgid "Do you really want to permanently delete the OpenPGP secret subkey key:"
 msgstr "Doriţi într-adevăr să ştergeţi cheile selectate? (d/N) "
 
-#: g10/passphrase.c:537
+#: g10/passphrase.c:550
 #, fuzzy
 #| msgid "Do you really want to delete the selected keys? (y/N) "
 msgid "Do you really want to permanently delete the OpenPGP secret key:"
 msgstr "Doriţi într-adevăr să ştergeţi cheile selectate? (d/N) "
 
-#: g10/passphrase.c:546
+#: g10/passphrase.c:559
 #, fuzzy, c-format
 #| msgid "%u-bit %s key, ID %s, created %s"
 msgid ""
@@ -6627,7 +6645,7 @@ msgstr "`%s' nu este un fişier JPEG\n"
 msgid "Is this photo correct (y/N/q)? "
 msgstr "Este această poză corectă (d/N/t)? "
 
-#: g10/photoid.c:395
+#: g10/photoid.c:399
 #, c-format
 msgid "unable to display photo ID!\n"
 msgstr "nu pot afişa poza ID!\n"
@@ -6987,7 +7005,7 @@ msgstr "nu pot deschide date semnate `%s'\n"
 msgid "can't open signed data fd=%d: %s\n"
 msgstr "nu pot deschide date semnate `%s'\n"
 
-#: g10/pubkey-enc.c:98 g10/pubkey-enc.c:139 sm/decrypt.c:493
+#: g10/pubkey-enc.c:98 g10/pubkey-enc.c:139 sm/decrypt.c:969
 #, fuzzy, c-format
 msgid "key %s is not suitable for decryption in %s mode\n"
 msgstr "cheia %s nu are nici un ID utilizator\n"
@@ -7002,30 +7020,30 @@ msgstr "destinator anonim; încerc cheia secretă %s ...\n"
 msgid "okay, we are the anonymous recipient.\n"
 msgstr "OK, noi suntem destinatarul anonim.\n"
 
-#: g10/pubkey-enc.c:321
+#: g10/pubkey-enc.c:311
 #, c-format
 msgid "old encoding of the DEK is not supported\n"
 msgstr "vechea encodare a lui DEK nu este suportată\n"
 
-#: g10/pubkey-enc.c:349
+#: g10/pubkey-enc.c:339
 #, c-format
 msgid "cipher algorithm %d%s is unknown or disabled\n"
 msgstr "algoritm cifrare %d%s este necunoscut sau deactivat\n"
 
-#: g10/pubkey-enc.c:393
+#: g10/pubkey-enc.c:383
 #, c-format
 msgid "WARNING: cipher algorithm %s not found in recipient preferences\n"
 msgstr ""
 "AVERTISMENT: algoritm cifrare %s nu a fost găsit în preferinţele "
 "destinatarului\n"
 
-#: g10/pubkey-enc.c:426
+#: g10/pubkey-enc.c:416
 #, fuzzy, c-format
 #| msgid "NOTE: secret key %s expired at %s\n"
 msgid "Note: secret key %s expired at %s\n"
 msgstr "NOTĂ: cheia secretă %s a expirat la %s\n"
 
-#: g10/pubkey-enc.c:433
+#: g10/pubkey-enc.c:423
 #, fuzzy, c-format
 #| msgid "NOTE: key has been revoked"
 msgid "Note: key has been revoked"
@@ -7348,7 +7366,7 @@ msgstr ""
 msgid "%s/%s signature from: \"%s\"\n"
 msgstr "%s/%s semnătură de la: \"%s\"\n"
 
-#: g10/sign.c:1046
+#: g10/sign.c:1045
 #, c-format
 msgid ""
 "WARNING: forcing digest algorithm %s (%d) violates recipient preferences\n"
@@ -7356,32 +7374,32 @@ msgstr ""
 "AVERTISMENT: forţarea algoritmului rezumat %s (%d) violează preferinţele "
 "destinatarului\n"
 
-#: g10/sign.c:1188
+#: g10/sign.c:1187
 #, c-format
 msgid "signing:"
 msgstr "semnare:"
 
-#: g10/sign.c:1465
+#: g10/sign.c:1464
 #, c-format
 msgid "%s encryption will be used\n"
 msgstr "va fi folosită cifrarea %s\n"
 
-#: g10/skclist.c:173 g10/skclist.c:254
+#: g10/skclist.c:174 g10/skclist.c:255
 #, c-format
 msgid "key is not flagged as insecure - can't use it with the faked RNG!\n"
 msgstr "cheia nu este marcată ca sigură - nu o pot folosi cu GNA falsificat!\n"
 
-#: g10/skclist.c:205
+#: g10/skclist.c:206
 #, c-format
 msgid "skipped \"%s\": duplicated\n"
 msgstr "sărită \"%s\": duplicată\n"
 
-#: g10/skclist.c:224
+#: g10/skclist.c:225
 #, c-format
 msgid "skipped: secret key already present\n"
 msgstr "sărită: cheia secretă deja prezentă\n"
 
-#: g10/skclist.c:243
+#: g10/skclist.c:244
 msgid "this is a PGP generated Elgamal key which is not secure for signatures!"
 msgstr ""
 "aceasta este o cheie ElGamal generată de PGP care nu e sigură pentru "
@@ -7440,7 +7458,7 @@ msgstr "eroare citire în `%s': %s\n"
 msgid "trustdb: sync failed: %s\n"
 msgstr "trustdb: sincronizarea a eşuat: %s\n"
 
-#: g10/tdbio.c:144 sm/keydb.c:336
+#: g10/tdbio.c:144 sm/keydb.c:335
 #, fuzzy, c-format
 #| msgid "can't create lock for `%s'\n"
 msgid "can't create lock for '%s'\n"
@@ -8187,40 +8205,52 @@ msgstr "Folosire: gpg [opţiuni] [fişiere] (-h pentru ajutor)"
 #. TRANSLATORS: Put a \x1f right before a colon.  This can be
 #. * used by pinentry to nicely align the names and values.  Keep
 #. * the %s at the start and end of the string.
-#: scd/app-p15.c:3369 scd/app-openpgp.c:2153
+#: scd/app-p15.c:4955 scd/app-openpgp.c:2151
 #, c-format
 msgid "%sNumber\1f: %s%%0AHolder\1f: %s%s"
 msgstr ""
 
 #. TRANSLATORS: This is the number of remaining attempts to
 #. * enter a PIN.  Use %%0A (double-percent,0A) for a linefeed.
-#: scd/app-p15.c:3388 scd/app-openpgp.c:2169
+#: scd/app-p15.c:4974 scd/app-openpgp.c:2167
 #, c-format
 msgid "Remaining attempts: %d"
 msgstr ""
 
-#: scd/app-p15.c:3459 scd/app-nks.c:1110
+#: scd/app-p15.c:5053 scd/app-nks.c:1113
 msgid "||Please enter the PIN for the key to create qualified signatures."
 msgstr ""
 
-#: scd/app-p15.c:3462 scd/app-nks.c:1092
+#. TRANSLATORS: Do not translate the "|A|" prefix but keep it at
+#. the start of the string.  Use %0A (single percent) for a linefeed.
+#: scd/app-p15.c:5056 scd/app-openpgp.c:2461
+#, fuzzy
+msgid "|A|Please enter the Admin PIN"
+msgstr "||Vă rugăm introduceţi PIN%%0A[semnături făcute: %lu]"
+
+#: scd/app-p15.c:5058 scd/app-nks.c:1103
+#, fuzzy
+msgid "|P|Please enter the PIN Unblocking Code (PUK) for the standard keys."
+msgstr "||Vă rugăm introduceţi PIN%%0A[semnături făcute: %lu]"
+
+#: scd/app-p15.c:5061 scd/app-nks.c:1095
 #, fuzzy
 msgid "||Please enter the PIN for the standard keys."
 msgstr "||Vă rugăm introduceţi PIN%%0A[semnături făcute: %lu]"
 
-#: scd/app-nks.c:709 scd/app-openpgp.c:3664
+#: scd/app-nks.c:709 scd/app-openpgp.c:3663
 #, c-format
 msgid "RSA modulus missing or not of size %d bits\n"
 msgstr "modulus-ul RSA lipseşte sau nu are %d biţi\n"
 
-#: scd/app-nks.c:717 scd/app-openpgp.c:3676
+#: scd/app-nks.c:717 scd/app-openpgp.c:3675
 #, fuzzy, c-format
 msgid "RSA public exponent missing or larger than %d bits\n"
 msgstr "exponentul public RSA lipseşte sau are mai mult de %d biţi\n"
 
-#: scd/app-nks.c:797 scd/app-openpgp.c:2326 scd/app-openpgp.c:2345
-#: scd/app-openpgp.c:2512 scd/app-openpgp.c:2530 scd/app-openpgp.c:2827
-#: scd/app-openpgp.c:2874 scd/app-openpgp.c:2989 scd/app-dinsig.c:303
+#: scd/app-nks.c:797 scd/app-openpgp.c:2324 scd/app-openpgp.c:2343
+#: scd/app-openpgp.c:2510 scd/app-openpgp.c:2528 scd/app-openpgp.c:2826
+#: scd/app-openpgp.c:2873 scd/app-openpgp.c:2988 scd/app-dinsig.c:302
 #, c-format
 msgid "PIN callback returned error: %s\n"
 msgstr "apelul PIN a returnat eroare: %s\n"
@@ -8230,79 +8260,74 @@ msgstr "apelul PIN a returnat eroare: %s\n"
 msgid "the NullPIN has not yet been changed\n"
 msgstr ""
 
-#: scd/app-nks.c:1091
+#: scd/app-nks.c:1094
 #, fuzzy
 msgid "|N|Please enter a new PIN for the standard keys."
 msgstr "||Vă rugăm introduceţi PIN%%0A[semnături făcute: %lu]"
 
-#: scd/app-nks.c:1098
+#: scd/app-nks.c:1101
 #, fuzzy
 msgid "|NP|Please enter a new PIN Unblocking Code (PUK) for the standard keys."
 msgstr "||Vă rugăm introduceţi PIN%%0A[semnături făcute: %lu]"
 
-#: scd/app-nks.c:1100
-#, fuzzy
-msgid "|P|Please enter the PIN Unblocking Code (PUK) for the standard keys."
-msgstr "||Vă rugăm introduceţi PIN%%0A[semnături făcute: %lu]"
-
-#: scd/app-nks.c:1108
+#: scd/app-nks.c:1111
 msgid "|N|Please enter a new PIN for the key to create qualified signatures."
 msgstr ""
 
-#: scd/app-nks.c:1118
+#: scd/app-nks.c:1121
 msgid ""
 "|NP|Please enter a new PIN Unblocking Code (PUK) for the key to create "
 "qualified signatures."
 msgstr ""
 
-#: scd/app-nks.c:1120
+#: scd/app-nks.c:1123
 msgid ""
 "|P|Please enter the PIN Unblocking Code (PUK) for the key to create "
 "qualified signatures."
 msgstr ""
 
-#: scd/app-nks.c:1227 scd/app-openpgp.c:2908 scd/app-dinsig.c:531
+#: scd/app-nks.c:1230 scd/app-openpgp.c:2907 scd/app-dinsig.c:532
 #, c-format
 msgid "error getting new PIN: %s\n"
 msgstr "eroare la obţinere noului PIN: %s\n"
 
-#: scd/app-openpgp.c:860
+#: scd/app-openpgp.c:859
 #, c-format
 msgid "failed to store the fingerprint: %s\n"
 msgstr "am eşuat să stochez amprenta: %s\n"
 
-#: scd/app-openpgp.c:873
+#: scd/app-openpgp.c:872
 #, c-format
 msgid "failed to store the creation date: %s\n"
 msgstr "am eşuat să stochez data creării: %s\n"
 
-#: scd/app-openpgp.c:1272 scd/app-openpgp.c:2855 scd/app-openpgp.c:5020
+#: scd/app-openpgp.c:1268 scd/app-openpgp.c:2854 scd/app-openpgp.c:5025
 #, c-format
 msgid "error retrieving CHV status from card\n"
 msgstr "eroare la recuperarea stării CHV de pe card\n"
 
-#: scd/app-openpgp.c:1430
+#: scd/app-openpgp.c:1426
 #, c-format
 msgid "response does not contain the RSA modulus\n"
 msgstr "răspunsul nu conţine modulul RSA\n"
 
-#: scd/app-openpgp.c:1437
+#: scd/app-openpgp.c:1433
 #, c-format
 msgid "response does not contain the RSA public exponent\n"
 msgstr "răspunsul nu conţine exponentul public RSA\n"
 
-#: scd/app-openpgp.c:1547
+#: scd/app-openpgp.c:1543
 #, fuzzy, c-format
 #| msgid "response does not contain the RSA public exponent\n"
 msgid "response does not contain the EC public key\n"
 msgstr "răspunsul nu conţine exponentul public RSA\n"
 
-#: scd/app-openpgp.c:1665 scd/app-openpgp.c:4284
+#: scd/app-openpgp.c:1661 scd/app-openpgp.c:4283
 #, c-format
 msgid "response does not contain the public key data\n"
 msgstr "răspunsul nu conţine datele cheii publice\n"
 
-#: scd/app-openpgp.c:1772
+#: scd/app-openpgp.c:1768
 #, c-format
 msgid "reading public key failed: %s\n"
 msgstr "citirea cheii publice a eşuat: %s\n"
@@ -8310,43 +8335,43 @@ msgstr "citirea cheii publice a eşuat: %s\n"
 #. TRANSLATORS: Put a \x1f right before a colon.  This can be
 #. * used by pinentry to nicely align the names and values.  Keep
 #. * the %s at the start and end of the string.
-#: scd/app-openpgp.c:2140
+#: scd/app-openpgp.c:2138
 #, c-format
 msgid "%sNumber\1f: %s%%0AHolder\1f: %s%%0ACounter\1f: %lu%s"
 msgstr ""
 
-#: scd/app-openpgp.c:2280
+#: scd/app-openpgp.c:2278
 #, c-format
 msgid "using default PIN as %s\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2287
+#: scd/app-openpgp.c:2285
 #, c-format
 msgid "failed to use default PIN as %s: %s - disabling further default use\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2300
+#: scd/app-openpgp.c:2298
 #, fuzzy
 msgid "||Please unlock the card"
 msgstr "||Vă rugăm introduceţi PIN%%0A[semnături făcute: %lu]"
 
-#: scd/app-openpgp.c:2352 scd/app-openpgp.c:2537 scd/app-openpgp.c:2834
+#: scd/app-openpgp.c:2350 scd/app-openpgp.c:2535 scd/app-openpgp.c:2833
 #, c-format
 msgid "PIN for CHV%d is too short; minimum length is %d\n"
 msgstr "PIN-ul pentru CHV%d este prea scurt; lungimea minimă este %d\n"
 
-#: scd/app-openpgp.c:2366 scd/app-openpgp.c:2413 scd/app-openpgp.c:2551
-#: scd/app-openpgp.c:4642
+#: scd/app-openpgp.c:2364 scd/app-openpgp.c:2411 scd/app-openpgp.c:2549
+#: scd/app-openpgp.c:4641
 #, c-format
 msgid "verify CHV%d failed: %s\n"
 msgstr "verificarea CHV%d a eşuat: %s\n"
 
-#: scd/app-openpgp.c:2449 scd/app-openpgp.c:5029
+#: scd/app-openpgp.c:2447 scd/app-openpgp.c:5034
 #, c-format
 msgid "card is permanently locked!\n"
 msgstr "cardul este încuiat permanent!\n"
 
-#: scd/app-openpgp.c:2453
+#: scd/app-openpgp.c:2451
 #, fuzzy, c-format
 #| msgid "%d Admin PIN attempts remaining before card is permanently locked\n"
 msgid "%d Admin PIN attempt remaining before card is permanently locked\n"
@@ -8357,29 +8382,22 @@ msgstr[0] ""
 msgstr[1] ""
 "%d încercări PIN Admin rămase înainte de a încuia cardul permanent\n"
 
-#. TRANSLATORS: Do not translate the "|A|" prefix but keep it at
-#. the start of the string.  Use %0A (single percent) for a linefeed.
-#: scd/app-openpgp.c:2463
-#, fuzzy
-msgid "|A|Please enter the Admin PIN"
-msgstr "||Vă rugăm introduceţi PIN%%0A[semnături făcute: %lu]"
-
-#: scd/app-openpgp.c:2484
+#: scd/app-openpgp.c:2482
 #, c-format
 msgid "access to admin commands is not configured\n"
 msgstr "accesul la comenzile de administrare nu este configurată\n"
 
-#: scd/app-openpgp.c:2821
+#: scd/app-openpgp.c:2820
 #, fuzzy
 msgid "||Please enter the PIN"
 msgstr "||Vă rugăm introduceţi PIN%%0A[semnături făcute: %lu]"
 
-#: scd/app-openpgp.c:2870
+#: scd/app-openpgp.c:2869
 #, fuzzy
 msgid "||Please enter the Reset Code for the card"
 msgstr "||Vă rugăm introduceţi PIN%%0A[semnături făcute: %lu]"
 
-#: scd/app-openpgp.c:2880 scd/app-openpgp.c:2941
+#: scd/app-openpgp.c:2879 scd/app-openpgp.c:2940
 #, fuzzy, c-format
 msgid "Reset Code is too short; minimum length is %d\n"
 msgstr "PIN-ul pentru CHV%d este prea scurt; lungimea minimă este %d\n"
@@ -8387,90 +8405,90 @@ msgstr "PIN-ul pentru CHV%d este prea scurt; lungimea minimă este %d\n"
 #. TRANSLATORS: Do not translate the "|*|" prefixes but
 #. keep it at the start of the string.  We need this elsewhere
 #. to get some infos on the string.
-#: scd/app-openpgp.c:2903
+#: scd/app-openpgp.c:2902
 msgid "|RN|New Reset Code"
 msgstr ""
 
-#: scd/app-openpgp.c:2904
+#: scd/app-openpgp.c:2903
 msgid "|AN|New Admin PIN"
 msgstr "|AN|PIN Admin Nou"
 
-#: scd/app-openpgp.c:2904
+#: scd/app-openpgp.c:2903
 msgid "|N|New PIN"
 msgstr "|N|PIN Nou"
 
-#: scd/app-openpgp.c:2985
+#: scd/app-openpgp.c:2984
 #, fuzzy
 msgid "||Please enter the Admin PIN and New Admin PIN"
 msgstr "||Vă rugăm introduceţi PIN%%0A[semnături făcute: %lu]"
 
-#: scd/app-openpgp.c:2986
+#: scd/app-openpgp.c:2985
 #, fuzzy
 msgid "||Please enter the PIN and New PIN"
 msgstr "||Vă rugăm introduceţi PIN%%0A[semnături făcute: %lu]"
 
-#: scd/app-openpgp.c:3048 scd/app-openpgp.c:4344
+#: scd/app-openpgp.c:3047 scd/app-openpgp.c:4343
 #, c-format
 msgid "error reading application data\n"
 msgstr "eroare la citirea datelor aplicaţiei\n"
 
-#: scd/app-openpgp.c:3054 scd/app-openpgp.c:4351
+#: scd/app-openpgp.c:3053 scd/app-openpgp.c:4350
 #, c-format
 msgid "error reading fingerprint DO\n"
 msgstr "eroare la citirea amprentei DO\n"
 
-#: scd/app-openpgp.c:3064
+#: scd/app-openpgp.c:3063
 #, c-format
 msgid "key already exists\n"
 msgstr "cheia există deja\n"
 
-#: scd/app-openpgp.c:3068
+#: scd/app-openpgp.c:3067
 #, c-format
 msgid "existing key will be replaced\n"
 msgstr "cheia existentă va fi înlocuită\n"
 
-#: scd/app-openpgp.c:3070
+#: scd/app-openpgp.c:3069
 #, c-format
 msgid "generating new key\n"
 msgstr "generez o nouă cheie\n"
 
-#: scd/app-openpgp.c:3072
+#: scd/app-openpgp.c:3071
 #, fuzzy, c-format
 msgid "writing new key\n"
 msgstr "generez o nouă cheie\n"
 
-#: scd/app-openpgp.c:3645 scd/app-openpgp.c:3997
+#: scd/app-openpgp.c:3644 scd/app-openpgp.c:3996
 #, c-format
 msgid "creation timestamp missing\n"
 msgstr "timestamp-ul de creare lipseşte\n"
 
-#: scd/app-openpgp.c:3686 scd/app-openpgp.c:3694
+#: scd/app-openpgp.c:3685 scd/app-openpgp.c:3693
 #, c-format
 msgid "RSA prime %s missing or not of size %d bits\n"
 msgstr "prime-ul RSA %s lipseşte sau nu are %d biţi\n"
 
-#: scd/app-openpgp.c:3827 scd/app-openpgp.c:4104
+#: scd/app-openpgp.c:3826 scd/app-openpgp.c:4103
 #, c-format
 msgid "failed to store the key: %s\n"
 msgstr "am eşuat să stochez cheia: %s\n"
 
-#: scd/app-openpgp.c:3991
+#: scd/app-openpgp.c:3990
 #, fuzzy, c-format
 #| msgid "unsupported URI"
 msgid "unsupported curve\n"
 msgstr "URI nesuportat"
 
-#: scd/app-openpgp.c:4261
+#: scd/app-openpgp.c:4260
 #, c-format
 msgid "please wait while key is being generated ...\n"
 msgstr "vă rugăm aşteptaţi câtă vreme este creată noua cheie ...\n"
 
-#: scd/app-openpgp.c:4269
+#: scd/app-openpgp.c:4268
 #, c-format
 msgid "generating key failed\n"
 msgstr "generarea cheii a eşuat\n"
 
-#: scd/app-openpgp.c:4275
+#: scd/app-openpgp.c:4274
 #, fuzzy, c-format
 #| msgid "key generation completed (%d seconds)\n"
 msgid "key generation completed (%d second)\n"
@@ -8478,39 +8496,39 @@ msgid_plural "key generation completed (%d seconds)\n"
 msgstr[0] "generarea cheii este completă (%d secunde)\n"
 msgstr[1] "generarea cheii este completă (%d secunde)\n"
 
-#: scd/app-openpgp.c:4309
+#: scd/app-openpgp.c:4308
 #, c-format
 msgid "invalid structure of OpenPGP card (DO 0x93)\n"
 msgstr "structură invalidă a cardului OpenPGP (DO 0x93)\n"
 
-#: scd/app-openpgp.c:4359
+#: scd/app-openpgp.c:4358
 #, c-format
 msgid "fingerprint on card does not match requested one\n"
 msgstr ""
 
-#: scd/app-openpgp.c:4558
+#: scd/app-openpgp.c:4557
 #, fuzzy, c-format
 msgid "card does not support digest algorithm %s\n"
 msgstr "semnătură %s, algoritm rezumat %s\n"
 
-#: scd/app-openpgp.c:4616
+#: scd/app-openpgp.c:4615
 #, c-format
 msgid "signatures created so far: %lu\n"
 msgstr "semnături create până acum: %lu\n"
 
-#: scd/app-openpgp.c:5034
+#: scd/app-openpgp.c:5039
 #, c-format
 msgid ""
 "verification of Admin PIN is currently prohibited through this command\n"
 msgstr ""
 "verificarea PIN-ului Admin este deocamdată interzisă prin această comandă\n"
 
-#: scd/app-openpgp.c:5346 scd/app-openpgp.c:5357
+#: scd/app-openpgp.c:5351 scd/app-openpgp.c:5362
 #, c-format
 msgid "can't access %s - invalid OpenPGP card?\n"
 msgstr "nu pot accesa %s - card OpenPGP invalid?\n"
 
-#: scd/app-dinsig.c:299
+#: scd/app-dinsig.c:298
 #, fuzzy
 msgid "||Please enter your PIN at the reader's pinpad"
 msgstr "||Vă rugăm introduceţi PIN%%0A[semnături făcute: %lu]"
@@ -8518,7 +8536,7 @@ msgstr "||Vă rugăm introduceţi PIN%%0A[semnături făcute: %lu]"
 #. TRANSLATORS: Do not translate the "|*|" prefixes but
 #. keep it at the start of the string.  We need this elsewhere
 #. to get some infos on the string.
-#: scd/app-dinsig.c:528
+#: scd/app-dinsig.c:529
 #, fuzzy
 msgid "|N|Initial New PIN"
 msgstr "|N|PIN Nou"
@@ -8527,7 +8545,7 @@ msgstr "|N|PIN Nou"
 msgid "run in multi server mode (foreground)"
 msgstr ""
 
-#: scd/scdaemon.c:129 sm/gpgsm.c:345 dirmngr/dirmngr.c:187
+#: scd/scdaemon.c:129 sm/gpgsm.c:348 dirmngr/dirmngr.c:188
 msgid "|LEVEL|set the debugging level to LEVEL"
 msgstr ""
 
@@ -8550,50 +8568,50 @@ msgstr "|NUME|foloseşte NUME ca destinatar implicit"
 msgid "|NAME|use NAME as PC/SC driver"
 msgstr "|NUME|foloseşte NUME ca destinatar implicit"
 
-#: scd/scdaemon.c:145
+#: scd/scdaemon.c:146
 #, fuzzy
 msgid "do not use the internal CCID driver"
 msgstr "nu folosi deloc terminalul"
 
-#: scd/scdaemon.c:151
+#: scd/scdaemon.c:152
 msgid "|N|disconnect the card after N seconds of inactivity"
 msgstr ""
 
-#: scd/scdaemon.c:154
+#: scd/scdaemon.c:155
 msgid "do not use a reader's pinpad"
 msgstr ""
 
-#: scd/scdaemon.c:159
+#: scd/scdaemon.c:160
 #, fuzzy
 msgid "deny the use of admin card commands"
 msgstr "arată comenzi administrare"
 
-#: scd/scdaemon.c:162
+#: scd/scdaemon.c:163
 msgid "use variable length input for pinpad"
 msgstr ""
 
-#: scd/scdaemon.c:311
+#: scd/scdaemon.c:312
 #, fuzzy
 msgid "Usage: @SCDAEMON@ [options] (-h for help)"
 msgstr "Folosire: gpg [opţiuni] [fişiere] (-h pentru ajutor)"
 
-#: scd/scdaemon.c:313
+#: scd/scdaemon.c:314
 msgid ""
 "Syntax: scdaemon [options] [command [args]]\n"
 "Smartcard daemon for @GNUPG@\n"
 msgstr ""
 
-#: scd/scdaemon.c:806
+#: scd/scdaemon.c:808
 #, c-format
 msgid "please use the option '--daemon' to run the program in the background\n"
 msgstr ""
 
-#: scd/scdaemon.c:1183 dirmngr/dirmngr.c:2082
+#: scd/scdaemon.c:1185 dirmngr/dirmngr.c:2119
 #, c-format
 msgid "handler for fd %d started\n"
 msgstr ""
 
-#: scd/scdaemon.c:1195 dirmngr/dirmngr.c:2090
+#: scd/scdaemon.c:1197 dirmngr/dirmngr.c:2127
 #, c-format
 msgid "handler for fd %d terminated\n"
 msgstr ""
@@ -8641,7 +8659,7 @@ msgstr "exportul cheilor secrete nu este permis\n"
 msgid "certificate policy not allowed"
 msgstr "exportul cheilor secrete nu este permis\n"
 
-#: sm/certchain.c:595 sm/keydb.c:1106 sm/keydb.c:1192
+#: sm/certchain.c:595 sm/keydb.c:1084 sm/keydb.c:1171
 #, fuzzy, c-format
 msgid "failed to get the fingerprint\n"
 msgstr "am eşuat să stochez amprenta: %s\n"
@@ -8677,8 +8695,8 @@ msgstr "eroare la obţinerea numărului serial: %s\n"
 msgid "dirmngr cache-only key lookup failed: %s\n"
 msgstr "citirea cheii publice a eşuat: %s\n"
 
-#: sm/certchain.c:1041 sm/certchain.c:1554 sm/certchain.c:2192 sm/decrypt.c:265
-#: sm/encrypt.c:344 sm/import.c:415 sm/keydb.c:1113 sm/keydb.c:1199
+#: sm/certchain.c:1041 sm/certchain.c:1554 sm/certchain.c:2192 sm/decrypt.c:728
+#: sm/encrypt.c:345 sm/import.c:415 sm/keydb.c:1091 sm/keydb.c:1178
 #: sm/sign.c:337 sm/verify.c:118
 #, fuzzy, c-format
 msgid "failed to allocate keyDB handle\n"
@@ -8876,13 +8894,13 @@ msgid "a %u bit hash is not valid for a %u bit %s key\n"
 msgstr ""
 
 #: sm/certcheck.c:238 sm/certcheck.c:262 dirmngr/crlcache.c:1542
-#: dirmngr/crlcache.c:1566 dirmngr/dirmngr.c:1324 dirmngr/validate.c:903
+#: dirmngr/crlcache.c:1566 dirmngr/dirmngr.c:1361 dirmngr/validate.c:903
 #: dirmngr/validate.c:927
 #, fuzzy, c-format
 msgid "out of core\n"
 msgstr "neforţat(ă)"
 
-#: sm/certcheck.c:371 sm/verify.c:213
+#: sm/certcheck.c:370 sm/verify.c:213
 #, c-format
 msgid "(this is the MD2 algorithm)\n"
 msgstr ""
@@ -9183,22 +9201,34 @@ msgstr ""
 msgid "resource problem: out of core\n"
 msgstr ""
 
-#: sm/decrypt.c:341
+#: sm/decrypt.c:536
+#, fuzzy, c-format
+#| msgid "%s encrypted data\n"
+msgid "%s.%s encrypted data\n"
+msgstr "%s date cifrate\n"
+
+#: sm/decrypt.c:803
 #, c-format
 msgid "(this is the RC2 algorithm)\n"
 msgstr ""
 
-#: sm/decrypt.c:343
+#: sm/decrypt.c:805
 #, c-format
 msgid "(this does not seem to be an encrypted message)\n"
 msgstr ""
 
+#: sm/decrypt.c:958
+#, fuzzy, c-format
+#| msgid "encrypted with %s key, ID %s\n"
+msgid "encrypted to %s key %s\n"
+msgstr "cifrat cu cheia %s, ID %s\n"
+
 #: sm/delete.c:51 sm/delete.c:112
 #, fuzzy, c-format
 msgid "certificate '%s' not found: %s\n"
 msgstr "cheia secretă \"%s\" nu a fost găsită: %s\n"
 
-#: sm/delete.c:122 sm/keydb.c:1209 sm/keydb.c:1307
+#: sm/delete.c:122 sm/keydb.c:1189 sm/keydb.c:1288
 #, fuzzy, c-format
 msgid "error locking keybox: %s\n"
 msgstr "eroare la citire keyblock: %s\n"
@@ -9218,140 +9248,140 @@ msgstr "preferinţa `%s' duplicată\n"
 msgid "deleting certificate \"%s\" failed: %s\n"
 msgstr "stergere keyblock a eşuat: %s\n"
 
-#: sm/encrypt.c:330
+#: sm/encrypt.c:331
 #, fuzzy, c-format
 msgid "no valid recipients given\n"
 msgstr "(Nici o descriere dată)\n"
 
-#: sm/gpgsm.c:215
+#: sm/gpgsm.c:216
 #, fuzzy
 msgid "list external keys"
 msgstr "enumeră chei secrete"
 
-#: sm/gpgsm.c:217
+#: sm/gpgsm.c:218
 #, fuzzy
 msgid "list certificate chain"
 msgstr "certificat incorect"
 
-#: sm/gpgsm.c:225
+#: sm/gpgsm.c:226
 #, fuzzy
 msgid "import certificates"
 msgstr "certificat incorect"
 
-#: sm/gpgsm.c:226
+#: sm/gpgsm.c:227
 #, fuzzy
 msgid "export certificates"
 msgstr "certificat incorect"
 
-#: sm/gpgsm.c:234
+#: sm/gpgsm.c:235
 #, fuzzy
 msgid "register a smartcard"
 msgstr "adaugă o cheie la un smartcard"
 
-#: sm/gpgsm.c:237
+#: sm/gpgsm.c:238
 msgid "pass a command to the dirmngr"
 msgstr ""
 
-#: sm/gpgsm.c:239
+#: sm/gpgsm.c:240
 msgid "invoke gpg-protect-tool"
 msgstr ""
 
-#: sm/gpgsm.c:256
+#: sm/gpgsm.c:257
 #, fuzzy
 msgid "create base-64 encoded output"
 msgstr "crează ieşire în armură ascii"
 
-#: sm/gpgsm.c:265
+#: sm/gpgsm.c:266
 msgid "assume input is in PEM format"
 msgstr ""
 
-#: sm/gpgsm.c:267
+#: sm/gpgsm.c:268
 msgid "assume input is in base-64 format"
 msgstr ""
 
-#: sm/gpgsm.c:269
+#: sm/gpgsm.c:270
 msgid "assume input is in binary format"
 msgstr ""
 
-#: sm/gpgsm.c:276
+#: sm/gpgsm.c:277
 msgid "never consult a CRL"
 msgstr ""
 
-#: sm/gpgsm.c:286
+#: sm/gpgsm.c:287
 msgid "check validity using OCSP"
 msgstr ""
 
-#: sm/gpgsm.c:291
+#: sm/gpgsm.c:292
 msgid "|N|number of certificates to include"
 msgstr ""
 
-#: sm/gpgsm.c:294
+#: sm/gpgsm.c:295
 msgid "|FILE|take policy information from FILE"
 msgstr ""
 
-#: sm/gpgsm.c:297
+#: sm/gpgsm.c:298
 msgid "do not check certificate policies"
 msgstr ""
 
-#: sm/gpgsm.c:301
+#: sm/gpgsm.c:302
 msgid "fetch missing issuer certificates"
 msgstr ""
 
-#: sm/gpgsm.c:312
+#: sm/gpgsm.c:313
 msgid "don't use the terminal at all"
 msgstr "nu folosi deloc terminalul"
 
-#: sm/gpgsm.c:314
+#: sm/gpgsm.c:315
 msgid "|FILE|write a server mode log to FILE"
 msgstr ""
 
-#: sm/gpgsm.c:319
+#: sm/gpgsm.c:320
 #, fuzzy
 msgid "|FILE|write an audit log to FILE"
 msgstr "|FIŞIER|încarcă modulul extensie FIŞIER"
 
-#: sm/gpgsm.c:322
+#: sm/gpgsm.c:323
 msgid "batch mode: never ask"
 msgstr "modul batch: nu întreba niciodată"
 
-#: sm/gpgsm.c:323
+#: sm/gpgsm.c:324
 msgid "assume yes on most questions"
 msgstr "presupune da la cele mai multe întrebări"
 
-#: sm/gpgsm.c:324
+#: sm/gpgsm.c:325
 msgid "assume no on most questions"
 msgstr "presupune nu la cele mai multe întrebări"
 
-#: sm/gpgsm.c:327
+#: sm/gpgsm.c:328
 #, fuzzy
 msgid "|FILE|add keyring to the list of keyrings"
 msgstr "adaugă acest inel de chei la lista inelelor de chei"
 
-#: sm/gpgsm.c:330
+#: sm/gpgsm.c:331
 #, fuzzy
 msgid "|USER-ID|use USER-ID as default secret key"
 msgstr "|NUME|foloseşte NUME ca cheie secretă implicită"
 
-#: sm/gpgsm.c:340 tools/gpgconf-comp.c:837
+#: sm/gpgsm.c:341 dirmngr/dirmngr.c:214 tools/gpgconf-comp.c:841
 #, fuzzy
 msgid "|SPEC|use this keyserver to lookup keys"
 msgstr "|HOST|foloseşte acest server de chei pentru a căuta chei"
 
-#: sm/gpgsm.c:357
+#: sm/gpgsm.c:360
 msgid "|NAME|use cipher algorithm NAME"
 msgstr "|NUME|foloseşte algoritm cifrare NUME"
 
-#: sm/gpgsm.c:359
+#: sm/gpgsm.c:362
 msgid "|NAME|use message digest algorithm NAME"
 msgstr "|NUME|foloseşte algoritm rezumat mesaj NUME"
 
-#: sm/gpgsm.c:570
+#: sm/gpgsm.c:573
 #, fuzzy
 #| msgid "Usage: gpg [options] [files] (-h for help)"
 msgid "Usage: @GPGSM@ [options] [files] (-h for help)"
 msgstr "Folosire: gpg [opţiuni] [fişiere] (-h pentru ajutor)"
 
-#: sm/gpgsm.c:573
+#: sm/gpgsm.c:576
 #, fuzzy
 msgid ""
 "Syntax: @GPGSM@ [options] [files]\n"
@@ -9362,48 +9392,27 @@ msgstr ""
 "sign, check, encrypt sau decrypt\n"
 "operaţiunea implicită depinde de datele de intrare\n"
 
-#: sm/gpgsm.c:777
+#: sm/gpgsm.c:784
 #, fuzzy, c-format
 msgid "Note: won't be able to encrypt to '%s': %s\n"
 msgstr "nu mă pot conecta la `%s': %s\n"
 
-#: sm/gpgsm.c:788
+#: sm/gpgsm.c:795
 #, fuzzy, c-format
 msgid "unknown validation model '%s'\n"
 msgstr "opţiune necunoscută `%s'\n"
 
-#: sm/gpgsm.c:839 dirmngr/ldapserver.c:86
-#, fuzzy, c-format
-msgid "%s:%u: no hostname given\n"
-msgstr "(Nici o descriere dată)\n"
-
-#: sm/gpgsm.c:858 dirmngr/ldapserver.c:105
-#, c-format
-msgid "%s:%u: password given without user\n"
-msgstr ""
-
-#: sm/gpgsm.c:879 dirmngr/ldapserver.c:126
-#, fuzzy, c-format
-msgid "%s:%u: skipping this line\n"
-msgstr "  s = sări peste cheia asta\n"
-
-#
-#: sm/gpgsm.c:1449
-#, fuzzy, c-format
-msgid "could not parse keyserver\n"
-msgstr "nu am putut interpreta URL-ul serverului de chei\n"
-
-#: sm/gpgsm.c:1712
+#: sm/gpgsm.c:1612
 #, fuzzy, c-format
 msgid "importing common certificates '%s'\n"
 msgstr "eroare la obţinerea numărului serial: %s\n"
 
-#: sm/gpgsm.c:1755
+#: sm/gpgsm.c:1655
 #, fuzzy, c-format
 msgid "can't sign using '%s': %s\n"
 msgstr "nu pot accesa `%s': %s\n"
 
-#: sm/gpgsm.c:2122
+#: sm/gpgsm.c:2028
 #, c-format
 msgid "invalid command (there is no implicit command)\n"
 msgstr ""
@@ -9423,7 +9432,7 @@ msgstr "generează un certificat de revocare"
 msgid "basic certificate checks failed - not imported\n"
 msgstr ""
 
-#: sm/import.c:472 sm/keydb.c:1229 sm/keydb.c:1319
+#: sm/import.c:472 sm/keydb.c:1209 sm/keydb.c:1300
 #, fuzzy, c-format
 msgid "error getting stored flags: %s\n"
 msgstr "eroare la obţinere noului PIN: %s\n"
@@ -9438,27 +9447,27 @@ msgstr "eroare la obţinerea numărului serial: %s\n"
 msgid "error reading input: %s\n"
 msgstr "eroare la citire `%s': %s\n"
 
-#: sm/keydb.c:1148
+#: sm/keydb.c:1127
 #, c-format
 msgid "problem looking for existing certificate: %s\n"
 msgstr ""
 
-#: sm/keydb.c:1160
+#: sm/keydb.c:1139
 #, fuzzy, c-format
 msgid "error finding writable keyDB: %s\n"
 msgstr "eroare la obţinerea numărului serial: %s\n"
 
-#: sm/keydb.c:1168
+#: sm/keydb.c:1147
 #, fuzzy, c-format
 msgid "error storing certificate: %s\n"
 msgstr "eroare la obţinerea numărului serial: %s\n"
 
-#: sm/keydb.c:1220
+#: sm/keydb.c:1200
 #, fuzzy, c-format
 msgid "problem re-searching certificate: %s\n"
 msgstr "rev? probleme la verificare revocării: %s\n"
 
-#: sm/keydb.c:1241 sm/keydb.c:1330
+#: sm/keydb.c:1221 sm/keydb.c:1311
 #, fuzzy, c-format
 msgid "error storing flags: %s\n"
 msgstr "eroare la citire `%s': %s\n"
@@ -9493,7 +9502,7 @@ msgid ""
 "%s%sAre you really sure that you want to do this?"
 msgstr ""
 
-#: sm/qualified.c:215 sm/verify.c:678
+#: sm/qualified.c:215 sm/verify.c:679
 #, c-format
 msgid ""
 "Note, that this software is not officially approved to create or verify such "
@@ -9538,23 +9547,23 @@ msgstr ""
 msgid "algorithm:"
 msgstr "validitate: %s"
 
-#: sm/verify.c:535
+#: sm/verify.c:536
 #, c-format
 msgid ""
 "invalid signature: message digest attribute does not match computed one\n"
 msgstr ""
 
-#: sm/verify.c:656
+#: sm/verify.c:657
 #, fuzzy, c-format
 msgid "Good signature from"
 msgstr "Semnătură bună din \"%s\""
 
-#: sm/verify.c:657
+#: sm/verify.c:658
 #, fuzzy, c-format
 msgid "                aka"
 msgstr "                aka \"%s\""
 
-#: sm/verify.c:675
+#: sm/verify.c:676
 #, fuzzy, c-format
 msgid "This is a qualified signature\n"
 msgstr "Aceasta va fi o auto-semnătură.\n"
@@ -10192,7 +10201,7 @@ msgid "error retrieving '%s': %s\n"
 msgstr "eroare la creearea `%s': %s\n"
 
 #: dirmngr/crlfetch.c:218 dirmngr/ldap-wrapper-ce.c:492
-#: dirmngr/ldap-wrapper.c:884 dirmngr/misc.c:573
+#: dirmngr/ldap-wrapper.c:885 dirmngr/misc.c:573
 #, fuzzy, c-format
 #| msgid "%s: error writing dir record: %s\n"
 msgid "error initializing reader object: %s\n"
@@ -10361,118 +10370,118 @@ msgstr ""
 msgid "looking up '%s'\n"
 msgstr ""
 
-#: dirmngr/dirmngr.c:170
+#: dirmngr/dirmngr.c:171
 msgid "list the contents of the CRL cache"
 msgstr ""
 
-#: dirmngr/dirmngr.c:171
+#: dirmngr/dirmngr.c:172
 #, fuzzy
 msgid "|FILE|load CRL from FILE into cache"
 msgstr "|FIŞIER|încarcă modulul extensie FIŞIER"
 
-#: dirmngr/dirmngr.c:172
+#: dirmngr/dirmngr.c:173
 msgid "|URL|fetch a CRL from URL"
 msgstr ""
 
-#: dirmngr/dirmngr.c:173
+#: dirmngr/dirmngr.c:174
 msgid "shutdown the dirmngr"
 msgstr ""
 
-#: dirmngr/dirmngr.c:174
+#: dirmngr/dirmngr.c:175
 msgid "flush the cache"
 msgstr ""
 
-#: dirmngr/dirmngr.c:190 tools/gpgconf-comp.c:522 tools/gpgconf-comp.c:741
-#: tools/gpgconf-comp.c:854 tools/gpgconf-comp.c:950
+#: dirmngr/dirmngr.c:191 tools/gpgconf-comp.c:522 tools/gpgconf-comp.c:745
+#: tools/gpgconf-comp.c:858 tools/gpgconf-comp.c:954
 msgid "|FILE|write server mode logs to FILE"
 msgstr ""
 
-#: dirmngr/dirmngr.c:191
+#: dirmngr/dirmngr.c:192
 #, fuzzy
 #| msgid "Quit without saving? (y/N) "
 msgid "run without asking a user"
 msgstr "Terminaţi fără a salva?  (d/N) "
 
-#: dirmngr/dirmngr.c:192
+#: dirmngr/dirmngr.c:193
 msgid "force loading of outdated CRLs"
 msgstr ""
 
-#: dirmngr/dirmngr.c:193
+#: dirmngr/dirmngr.c:194
 msgid "allow sending OCSP requests"
 msgstr ""
 
-#: dirmngr/dirmngr.c:195
+#: dirmngr/dirmngr.c:196
 msgid "allow online software version check"
 msgstr ""
 
-#: dirmngr/dirmngr.c:196
+#: dirmngr/dirmngr.c:197
 msgid "inhibit the use of HTTP"
 msgstr ""
 
-#: dirmngr/dirmngr.c:197
+#: dirmngr/dirmngr.c:198
 msgid "inhibit the use of LDAP"
 msgstr ""
 
-#: dirmngr/dirmngr.c:199
+#: dirmngr/dirmngr.c:200
 msgid "ignore HTTP CRL distribution points"
 msgstr ""
 
-#: dirmngr/dirmngr.c:201
+#: dirmngr/dirmngr.c:202
 msgid "ignore LDAP CRL distribution points"
 msgstr ""
 
-#: dirmngr/dirmngr.c:203
+#: dirmngr/dirmngr.c:204
 msgid "ignore certificate contained OCSP service URLs"
 msgstr ""
 
-#: dirmngr/dirmngr.c:206
+#: dirmngr/dirmngr.c:207
 msgid "|URL|redirect all HTTP requests to URL"
 msgstr ""
 
-#: dirmngr/dirmngr.c:208
+#: dirmngr/dirmngr.c:209
 msgid "|HOST|use HOST for LDAP queries"
 msgstr ""
 
-#: dirmngr/dirmngr.c:210
+#: dirmngr/dirmngr.c:211
 msgid "do not use fallback hosts with --ldap-proxy"
 msgstr ""
 
-#: dirmngr/dirmngr.c:213
+#: dirmngr/dirmngr.c:216
 #, fuzzy
 msgid "|FILE|read LDAP server list from FILE"
 msgstr "|FIŞIER|încarcă modulul extensie FIŞIER"
 
-#: dirmngr/dirmngr.c:215
+#: dirmngr/dirmngr.c:218
 msgid "add new servers discovered in CRL distribution points to serverlist"
 msgstr ""
 
-#: dirmngr/dirmngr.c:218 dirmngr/dirmngr_ldap.c:137
+#: dirmngr/dirmngr.c:221
 msgid "|N|set LDAP timeout to N seconds"
 msgstr ""
 
 #
-#: dirmngr/dirmngr.c:221
+#: dirmngr/dirmngr.c:224
 #, fuzzy
 msgid "|URL|use OCSP responder at URL"
 msgstr "nu am putut interpreta URL-ul serverului de chei\n"
 
-#: dirmngr/dirmngr.c:223
+#: dirmngr/dirmngr.c:226
 msgid "|FPR|OCSP response signed by FPR"
 msgstr ""
 
-#: dirmngr/dirmngr.c:229
+#: dirmngr/dirmngr.c:232
 msgid "|N|do not return more than N items in one query"
 msgstr ""
 
-#: dirmngr/dirmngr.c:234
+#: dirmngr/dirmngr.c:237
 msgid "|FILE|use the CA certificates in FILE for HKP over TLS"
 msgstr ""
 
-#: dirmngr/dirmngr.c:236
+#: dirmngr/dirmngr.c:239
 msgid "route all network traffic via Tor"
 msgstr ""
 
-#: dirmngr/dirmngr.c:265
+#: dirmngr/dirmngr.c:268
 #, fuzzy
 #| msgid ""
 #| "@\n"
@@ -10485,302 +10494,120 @@ msgstr ""
 "@\n"
 "(Arată pagina man pentru o listă completă a comenzilor şi opţiunilor)\n"
 
-#: dirmngr/dirmngr.c:407
+#: dirmngr/dirmngr.c:415
 #, fuzzy
 msgid "Usage: @DIRMNGR@ [options] (-h for help)"
 msgstr "Folosire: gpg [opţiuni] [fişiere] (-h pentru ajutor)"
 
-#: dirmngr/dirmngr.c:409
+#: dirmngr/dirmngr.c:417
 msgid ""
 "Syntax: @DIRMNGR@ [options] [command [args]]\n"
 "Keyserver, CRL, and OCSP access for @GNUPG@\n"
 msgstr ""
 
-#: dirmngr/dirmngr.c:489
+#: dirmngr/dirmngr.c:497
 #, c-format
 msgid "valid debug levels are: %s\n"
 msgstr ""
 
-#: dirmngr/dirmngr.c:575 tools/gpgconf.c:647 tools/gpgconf.c:682
+#: dirmngr/dirmngr.c:583 tools/gpgconf.c:647 tools/gpgconf.c:682
 #: tools/gpgconf.c:780
 #, fuzzy, c-format
 msgid "usage: %s [options] "
 msgstr "folosire: gpg [opţiuni] "
 
-#: dirmngr/dirmngr.c:1212
+#: dirmngr/dirmngr.c:1249
 #, fuzzy, c-format
 #| msgid "%s not allowed with %s!\n"
 msgid "colons are not allowed in the socket name\n"
 msgstr "%s nu este permis cu %s!\n"
 
-#: dirmngr/dirmngr.c:1444 dirmngr/server.c:1824
+#: dirmngr/dirmngr.c:1481 dirmngr/server.c:1878
 #, fuzzy, c-format
 #| msgid "renaming `%s' to `%s' failed: %s\n"
 msgid "fetching CRL from '%s' failed: %s\n"
 msgstr "redenumirea `%s' ca `%s' a eşuat: %s\n"
 
-#: dirmngr/dirmngr.c:1450 dirmngr/server.c:1830
+#: dirmngr/dirmngr.c:1487 dirmngr/server.c:1884
 #, fuzzy, c-format
 msgid "processing CRL from '%s' failed: %s\n"
 msgstr "redenumirea `%s' ca `%s' a eşuat: %s\n"
 
-#: dirmngr/dirmngr.c:1645
+#: dirmngr/dirmngr.c:1682
 #, fuzzy, c-format
 msgid "%s:%u: line too long - skipped\n"
 msgstr "linie prea lungă"
 
-#: dirmngr/dirmngr.c:1700 dirmngr/dirmngr.c:1784
+#: dirmngr/dirmngr.c:1737 dirmngr/dirmngr.c:1821
 #, fuzzy, c-format
 #| msgid "invalid fingerprint"
 msgid "%s:%u: invalid fingerprint detected\n"
 msgstr "amprentă invalidă"
 
-#: dirmngr/dirmngr.c:1736 dirmngr/dirmngr.c:1762 tools/gpgconf-comp.c:4191
+#: dirmngr/dirmngr.c:1773 dirmngr/dirmngr.c:1799 tools/gpgconf-comp.c:4199
 #, fuzzy, c-format
 #| msgid "read error in `%s': %s\n"
 msgid "%s:%u: read error: %s\n"
 msgstr "eroare citire în `%s': %s\n"
 
-#: dirmngr/dirmngr.c:1791
+#: dirmngr/dirmngr.c:1828
 #, c-format
 msgid "%s:%u: garbage at end of line ignored\n"
 msgstr ""
 
-#: dirmngr/dirmngr.c:1860
+#: dirmngr/dirmngr.c:1897
 #, c-format
 msgid "SIGHUP received - re-reading configuration and flushing caches\n"
 msgstr ""
 
-#: dirmngr/dirmngr.c:1900
+#: dirmngr/dirmngr.c:1937
 #, c-format
 msgid "SIGUSR2 received - no action defined\n"
 msgstr ""
 
-#: dirmngr/dirmngr.c:1905
+#: dirmngr/dirmngr.c:1942
 #, c-format
 msgid "SIGTERM received - shutting down ...\n"
 msgstr ""
 
-#: dirmngr/dirmngr.c:1907
+#: dirmngr/dirmngr.c:1944
 #, c-format
 msgid "SIGTERM received - still %d active connections\n"
 msgstr ""
 
-#: dirmngr/dirmngr.c:1912
+#: dirmngr/dirmngr.c:1949
 #, fuzzy, c-format
 #| msgid "not forced"
 msgid "shutdown forced\n"
 msgstr "neforţat(ă)"
 
-#: dirmngr/dirmngr.c:1920
+#: dirmngr/dirmngr.c:1957
 #, c-format
 msgid "SIGINT received - immediate shutdown\n"
 msgstr ""
 
-#: dirmngr/dirmngr.c:1927
+#: dirmngr/dirmngr.c:1964
 #, c-format
 msgid "signal %d received - no action defined\n"
 msgstr ""
 
-#: dirmngr/dirmngr_ldap.c:138
-msgid "return all values in a record oriented format"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:141
-msgid "|NAME|ignore host part and connect through NAME"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:142
-#, fuzzy
-#| msgid "|NAME|set terminal charset to NAME"
-msgid "|NAME|connect to host NAME"
-msgstr "|NUME|setează charset-ul pentru terminal ca NUME"
-
-#: dirmngr/dirmngr_ldap.c:143
-msgid "|N|connect to port N"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:144
-#, fuzzy
-#| msgid "|NAME|use NAME as default recipient"
-msgid "|NAME|use user NAME for authentication"
-msgstr "|NUME|foloseşte NUME ca destinatar implicit"
-
-#: dirmngr/dirmngr_ldap.c:145
-msgid "|PASS|use password PASS for authentication"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:147
-msgid "take password from $DIRMNGR_LDAP_PASS"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:148
-msgid "|STRING|query DN STRING"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:149
-msgid "|STRING|use STRING as filter expression"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:150
-msgid "|STRING|return the attribute STRING"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:211
-#, fuzzy
-#| msgid "Usage: gpg [options] [files] (-h for help)"
-msgid "Usage: dirmngr_ldap [options] [URL] (-h for help)\n"
-msgstr "Folosire: gpg [opţiuni] [fişiere] (-h pentru ajutor)"
-
-#: dirmngr/dirmngr_ldap.c:214
-msgid ""
-"Syntax: dirmngr_ldap [options] [URL]\n"
-"Internal LDAP helper for Dirmngr\n"
-"Interface and options may change without notice\n"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:340
-#, fuzzy, c-format
-#| msgid "invalid import options\n"
-msgid "invalid port number %d\n"
-msgstr "opţiuni import invalide\n"
-
-#: dirmngr/dirmngr_ldap.c:456
-#, c-format
-msgid "scanning result for attribute '%s'\n"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:463 dirmngr/dirmngr_ldap.c:546
-#: dirmngr/dirmngr_ldap.c:570 dirmngr/dirmngr_ldap.c:582
-#: dirmngr/dirmngr_ldap.c:720
-#, fuzzy, c-format
-msgid "error writing to stdout: %s\n"
-msgstr "eroare la scrierea inelului de chei `%s': %s\n"
-
-#: dirmngr/dirmngr_ldap.c:480
-#, c-format
-msgid "          available attribute '%s'\n"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:518
-#, fuzzy, c-format
-msgid "attribute '%s' not found\n"
-msgstr "cheia secretă \"%s\" nu a fost găsită: %s\n"
-
-#: dirmngr/dirmngr_ldap.c:525
-#, c-format
-msgid "found attribute '%s'\n"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:634
-#, fuzzy, c-format
-#| msgid "reading from `%s'\n"
-msgid "processing url '%s'\n"
-msgstr "citesc din `%s'\n"
-
-#: dirmngr/dirmngr_ldap.c:636
-#, fuzzy, c-format
-#| msgid "          w/o user IDs: %lu\n"
-msgid "          user '%s'\n"
-msgstr "  fără ID-uri utilizator: %lu\n"
-
-#: dirmngr/dirmngr_ldap.c:638
-#, fuzzy, c-format
-#| msgid "                aka \"%s\""
-msgid "          pass '%s'\n"
-msgstr "                aka \"%s\""
-
-#: dirmngr/dirmngr_ldap.c:640
-#, fuzzy, c-format
-#| msgid "          w/o user IDs: %lu\n"
-msgid "          host '%s'\n"
-msgstr "  fără ID-uri utilizator: %lu\n"
-
-#: dirmngr/dirmngr_ldap.c:641
-#, fuzzy, c-format
-#| msgid "          not imported: %lu\n"
-msgid "          port %d\n"
-msgstr "            ne importate: %lu\n"
-
-#: dirmngr/dirmngr_ldap.c:643
-#, fuzzy, c-format
-#| msgid "                aka \"%s\""
-msgid "            DN '%s'\n"
-msgstr "                aka \"%s\""
-
-#: dirmngr/dirmngr_ldap.c:645
-#, c-format
-msgid "        filter '%s'\n"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:650 dirmngr/dirmngr_ldap.c:653
-#, fuzzy, c-format
-#| msgid "                aka \"%s\""
-msgid "          attr '%s'\n"
-msgstr "                aka \"%s\""
-
-#: dirmngr/dirmngr_ldap.c:659
-#, fuzzy, c-format
-msgid "no host name in '%s'\n"
-msgstr "(Nici o descriere dată)\n"
-
-#: dirmngr/dirmngr_ldap.c:664
-#, c-format
-msgid "no attribute given for query '%s'\n"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:670
-#, fuzzy, c-format
-#| msgid "WARNING: using insecure memory!\n"
-msgid "WARNING: using first attribute only\n"
-msgstr "AVERTISMENT: este folosită memorie neprotejată (insecure)!\n"
-
-#: dirmngr/dirmngr_ldap.c:679
-#, fuzzy, c-format
-#| msgid "renaming `%s' to `%s' failed: %s\n"
-msgid "LDAP init to '%s:%d' failed: %s\n"
-msgstr "redenumirea `%s' ca `%s' a eşuat: %s\n"
-
-#: dirmngr/dirmngr_ldap.c:702
-#, fuzzy, c-format
-#| msgid "renaming `%s' to `%s' failed: %s\n"
-msgid "binding to '%s:%d' failed: %s\n"
-msgstr "redenumirea `%s' ca `%s' a eşuat: %s\n"
-
-#: dirmngr/dirmngr_ldap.c:729
-#, fuzzy, c-format
-#| msgid "dearmoring failed: %s\n"
-msgid "searching '%s' failed: %s\n"
-msgstr "eliminarea armurii a eşuat: %s\n"
-
-#: dirmngr/dirmngr_ldap.c:761
-#, fuzzy, c-format
-#| msgid "`%s' is not a JPEG file\n"
-msgid "'%s' is not an LDAP URL\n"
-msgstr "`%s' nu este un fişier JPEG\n"
-
-#: dirmngr/dirmngr_ldap.c:767
-#, c-format
-msgid "'%s' is an invalid LDAP URL\n"
-msgstr ""
-
-#: dirmngr/http.c:1987 dirmngr/ocsp.c:255
+#: dirmngr/http.c:1993 dirmngr/ocsp.c:255
 #, fuzzy, c-format
 msgid "error accessing '%s': http status %u\n"
 msgstr "eroare la citire `%s': %s\n"
 
-#: dirmngr/http.c:3629 dirmngr/ocsp.c:229
+#: dirmngr/http.c:3644 dirmngr/ocsp.c:229
 #, c-format
 msgid "URL '%s' redirected to '%s' (%u)\n"
 msgstr ""
 
-#: dirmngr/http.c:3635 dirmngr/ocsp.c:246
+#: dirmngr/http.c:3650 dirmngr/ocsp.c:246
 #, fuzzy, c-format
 #| msgid "too many cipher preferences\n"
 msgid "too many redirections\n"
 msgstr "prea multe preferinţe de cifrare\n"
 
-#: dirmngr/http.c:3747
+#: dirmngr/http.c:3762
 #, fuzzy, c-format
 #| msgid "writing to `%s'\n"
 msgid "redirection changed to '%s'\n"
@@ -10821,32 +10648,53 @@ msgstr "actualizarea a eşuat: %s\n"
 msgid "ldap wrapper %d stalled - killing\n"
 msgstr ""
 
-#: dirmngr/ldap.c:91
+#: dirmngr/ldap.c:92
 #, c-format
 msgid "invalid char 0x%02x in host name - not added\n"
 msgstr ""
 
-#: dirmngr/ldap.c:95
+#: dirmngr/ldap.c:96
 #, fuzzy, c-format
 #| msgid "sending key %s to %s server %s\n"
 msgid "adding '%s:%d' to the ldap server list\n"
 msgstr "trimit cheia %s serverului %s %s\n"
 
-#: dirmngr/ldap.c:98 dirmngr/misc.c:512
+#: dirmngr/ldap.c:99 dirmngr/misc.c:512
 #, fuzzy, c-format
 msgid "malloc failed: %s\n"
 msgstr "stergere keyblock a eşuat: %s\n"
 
-#: dirmngr/ldap.c:627
+#: dirmngr/ldap.c:221
+#, fuzzy, c-format
+#| msgid "`%s' is not a JPEG file\n"
+msgid "'%s' is not an LDAP URL\n"
+msgstr "`%s' nu este un fişier JPEG\n"
+
+#: dirmngr/ldap.c:227 dirmngr/ldap.c:233
 #, c-format
-msgid "start_cert_fetch: invalid pattern '%s'\n"
+msgid "'%s' is an invalid LDAP URL\n"
 msgstr ""
 
-#: dirmngr/ldap.c:839
+#: dirmngr/ldap.c:969
 #, c-format
 msgid "ldap_search hit the size limit of the server\n"
 msgstr ""
 
+#: dirmngr/ldapserver.c:117
+#, c-format
+msgid "%s:%u: password given without user\n"
+msgstr ""
+
+#: dirmngr/ldapserver.c:181
+#, c-format
+msgid "%s:%u: ignoring unknown flag '%s'\n"
+msgstr ""
+
+#: dirmngr/ldapserver.c:203
+#, fuzzy, c-format
+msgid "%s:%u: skipping this line\n"
+msgstr "  s = sări peste cheia asta\n"
+
 #: dirmngr/misc.c:172
 #, fuzzy, c-format
 #| msgid "%s: invalid file version %d\n"
@@ -11032,73 +10880,69 @@ msgstr ""
 msgid "assuan_inquire(%s) failed: %s\n"
 msgstr "semnarea a eşuat: %s\n"
 
-#: dirmngr/server.c:1158
-msgid "ldapserver missing"
-msgstr ""
-
-#: dirmngr/server.c:1224
+#: dirmngr/server.c:1277
 msgid "serialno missing in cert ID"
 msgstr ""
 
-#: dirmngr/server.c:1387 dirmngr/server.c:1473 dirmngr/server.c:1909
-#: dirmngr/server.c:1980 dirmngr/server.c:2552 dirmngr/server.c:2567
+#: dirmngr/server.c:1440 dirmngr/server.c:1526 dirmngr/server.c:1963
+#: dirmngr/server.c:2034 dirmngr/server.c:2662 dirmngr/server.c:2677
 #, fuzzy, c-format
 msgid "assuan_inquire failed: %s\n"
 msgstr "semnarea a eşuat: %s\n"
 
-#: dirmngr/server.c:1516
+#: dirmngr/server.c:1569
 #, fuzzy, c-format
 msgid "fetch_cert_by_url failed: %s\n"
 msgstr "stergere keyblock a eşuat: %s\n"
 
-#: dirmngr/server.c:1528 dirmngr/server.c:1559 dirmngr/server.c:1718
+#: dirmngr/server.c:1581 dirmngr/server.c:1612 dirmngr/server.c:1772
 #, fuzzy, c-format
 msgid "error sending data: %s\n"
 msgstr "eroare trimitere la `%s': %s\n"
 
-#: dirmngr/server.c:1666
+#: dirmngr/server.c:1720
 #, fuzzy, c-format
 msgid "start_cert_fetch failed: %s\n"
 msgstr "stergere keyblock a eşuat: %s\n"
 
-#: dirmngr/server.c:1699
+#: dirmngr/server.c:1753
 #, fuzzy, c-format
 msgid "fetch_next_cert failed: %s\n"
 msgstr "stergere keyblock a eşuat: %s\n"
 
-#: dirmngr/server.c:1726
+#: dirmngr/server.c:1780
 #, c-format
 msgid "max_replies %d exceeded\n"
 msgstr ""
 
-#: dirmngr/server.c:2856
+#: dirmngr/server.c:2966
 #, fuzzy, c-format
 msgid "can't allocate control structure: %s\n"
 msgstr "nu pot crea fişier de rezervă `%s': %s\n"
 
-#: dirmngr/server.c:2867
+#: dirmngr/server.c:2977
 #, fuzzy, c-format
 msgid "failed to allocate assuan context: %s\n"
 msgstr "%s: am eşuat să creez hashtable: %s\n"
 
-#: dirmngr/server.c:2888
+#: dirmngr/server.c:2998
 #, fuzzy, c-format
 #| msgid "failed to initialize the TrustDB: %s\n"
 msgid "failed to initialize the server: %s\n"
 msgstr "am eşuat să iniţializez TrustDB:%s\n"
 
-#: dirmngr/server.c:2896
+#: dirmngr/server.c:3006
 #, fuzzy, c-format
 #| msgid "failed to store the creation date: %s\n"
 msgid "failed to the register commands with Assuan: %s\n"
 msgstr "am eşuat să stochez data creării: %s\n"
 
-#: dirmngr/server.c:2929
+#: dirmngr/server.c:3039
 #, c-format
 msgid "Assuan accept problem: %s\n"
 msgstr ""
 
-#: dirmngr/server.c:2948
+#: dirmngr/server.c:3058
 #, fuzzy, c-format
 #| msgid "signing failed: %s\n"
 msgid "Assuan processing failed: %s\n"
@@ -11239,21 +11083,21 @@ msgid "error sending standard options: %s\n"
 msgstr "eroare trimitere la `%s': %s\n"
 
 #: tools/gpgconf-comp.c:481 tools/gpgconf-comp.c:617 tools/gpgconf-comp.c:692
-#: tools/gpgconf-comp.c:804 tools/gpgconf-comp.c:906
+#: tools/gpgconf-comp.c:808 tools/gpgconf-comp.c:910
 msgid "Options controlling the diagnostic output"
 msgstr ""
 
 #: tools/gpgconf-comp.c:494 tools/gpgconf-comp.c:630 tools/gpgconf-comp.c:705
-#: tools/gpgconf-comp.c:817 tools/gpgconf-comp.c:929
+#: tools/gpgconf-comp.c:821 tools/gpgconf-comp.c:933
 msgid "Options controlling the configuration"
 msgstr ""
 
-#: tools/gpgconf-comp.c:517 tools/gpgconf-comp.c:659 tools/gpgconf-comp.c:736
-#: tools/gpgconf-comp.c:849 tools/gpgconf-comp.c:942
+#: tools/gpgconf-comp.c:517 tools/gpgconf-comp.c:659 tools/gpgconf-comp.c:740
+#: tools/gpgconf-comp.c:853 tools/gpgconf-comp.c:946
 msgid "Options useful for debugging"
 msgstr ""
 
-#: tools/gpgconf-comp.c:530 tools/gpgconf-comp.c:669 tools/gpgconf-comp.c:862
+#: tools/gpgconf-comp.c:530 tools/gpgconf-comp.c:669 tools/gpgconf-comp.c:866
 msgid "Options controlling the security"
 msgstr ""
 
@@ -11303,11 +11147,11 @@ msgstr "eroare la crearea frazei-parolă: %s\n"
 msgid "|N|set the Pinentry timeout to N seconds"
 msgstr ""
 
-#: tools/gpgconf-comp.c:707 tools/gpgconf-comp.c:819
+#: tools/gpgconf-comp.c:707 tools/gpgconf-comp.c:823
 msgid "|NAME|use NAME as default secret key"
 msgstr "|NUME|foloseşte NUME ca cheie secretă implicită"
 
-#: tools/gpgconf-comp.c:710 tools/gpgconf-comp.c:822
+#: tools/gpgconf-comp.c:710 tools/gpgconf-comp.c:826
 #, fuzzy
 msgid "|NAME|encrypt to user ID NAME as well"
 msgstr "|NUME|cifrare pentru NUME"
@@ -11316,139 +11160,139 @@ msgstr "|NUME|cifrare pentru NUME"
 msgid "|SPEC|set up email aliases"
 msgstr ""
 
-#: tools/gpgconf-comp.c:749 tools/gpgconf-comp.c:981
+#: tools/gpgconf-comp.c:753 tools/gpgconf-comp.c:985
 msgid "Configuration for Keyservers"
 msgstr ""
 
 #
-#: tools/gpgconf-comp.c:751 tools/gpgconf-comp.c:983
+#: tools/gpgconf-comp.c:755 tools/gpgconf-comp.c:987
 #, fuzzy
 msgid "|URL|use keyserver at URL"
 msgstr "nu am putut interpreta URL-ul serverului de chei\n"
 
-#: tools/gpgconf-comp.c:754
+#: tools/gpgconf-comp.c:758
 msgid "allow PKA lookups (DNS requests)"
 msgstr ""
 
-#: tools/gpgconf-comp.c:757
+#: tools/gpgconf-comp.c:761
 msgid "|MECHANISMS|use MECHANISMS to locate keys by mail address"
 msgstr ""
 
-#: tools/gpgconf-comp.c:760
+#: tools/gpgconf-comp.c:764
 #, fuzzy
 #| msgid "import keys from a keyserver"
 msgid "import missing key from a signature"
 msgstr "importă chei de la un server de chei"
 
-#: tools/gpgconf-comp.c:763
+#: tools/gpgconf-comp.c:767
 #, fuzzy
 #| msgid "list and check key signatures"
 msgid "include the public key in signatures"
 msgstr "enumeră şi verifică semnăturile cheii"
 
-#: tools/gpgconf-comp.c:770 tools/gpgconf-comp.c:831
+#: tools/gpgconf-comp.c:774 tools/gpgconf-comp.c:835
 msgid "disable all access to the dirmngr"
 msgstr ""
 
-#: tools/gpgconf-comp.c:834
+#: tools/gpgconf-comp.c:838
 #, fuzzy
 msgid "|NAME|use encoding NAME for PKCS#12 passphrases"
 msgstr "|NUME|foloseşte algoritm cifrare NUME pentru fraza-parolă"
 
-#: tools/gpgconf-comp.c:870
+#: tools/gpgconf-comp.c:874
 msgid "do not check CRLs for root certificates"
 msgstr ""
 
-#: tools/gpgconf-comp.c:919
+#: tools/gpgconf-comp.c:923
 msgid "Options controlling the format of the output"
 msgstr ""
 
-#: tools/gpgconf-comp.c:961
+#: tools/gpgconf-comp.c:965
 msgid "Options controlling the interactivity and enforcement"
 msgstr ""
 
-#: tools/gpgconf-comp.c:974
+#: tools/gpgconf-comp.c:978
 msgid "Options controlling the use of Tor"
 msgstr ""
 
-#: tools/gpgconf-comp.c:988
+#: tools/gpgconf-comp.c:992
 msgid "Configuration for HTTP servers"
 msgstr ""
 
-#: tools/gpgconf-comp.c:999
+#: tools/gpgconf-comp.c:1003
 msgid "use system's HTTP proxy setting"
 msgstr ""
 
-#: tools/gpgconf-comp.c:1004
+#: tools/gpgconf-comp.c:1008
 msgid "Configuration of LDAP servers to use"
 msgstr ""
 
-#: tools/gpgconf-comp.c:1033
+#: tools/gpgconf-comp.c:1037
 msgid "LDAP server list"
 msgstr ""
 
-#: tools/gpgconf-comp.c:1041
+#: tools/gpgconf-comp.c:1045
 msgid "Configuration for OCSP"
 msgstr ""
 
-#: tools/gpgconf-comp.c:1094
+#: tools/gpgconf-comp.c:1098
 msgid "OpenPGP"
 msgstr ""
 
-#: tools/gpgconf-comp.c:1095
+#: tools/gpgconf-comp.c:1099
 msgid "Private Keys"
 msgstr ""
 
-#: tools/gpgconf-comp.c:1096
+#: tools/gpgconf-comp.c:1100
 msgid "Smartcards"
 msgstr ""
 
-#: tools/gpgconf-comp.c:1097
+#: tools/gpgconf-comp.c:1101
 msgid "S/MIME"
 msgstr ""
 
-#: tools/gpgconf-comp.c:1098
+#: tools/gpgconf-comp.c:1102
 #, fuzzy
 #| msgid "network error"
 msgid "Network"
 msgstr "eroare reţea"
 
-#: tools/gpgconf-comp.c:1099
+#: tools/gpgconf-comp.c:1103
 #, fuzzy
 msgid "Passphrase Entry"
 msgstr "frază-parolă incorectă"
 
-#: tools/gpgconf-comp.c:1278
+#: tools/gpgconf-comp.c:1282
 #, fuzzy
 msgid "Component not suitable for launching"
 msgstr "cheia publică nu a fost găsită"
 
-#: tools/gpgconf-comp.c:1284
+#: tools/gpgconf-comp.c:1288
 #, c-format
 msgid "Configuration file of component %s is broken\n"
 msgstr ""
 
-#: tools/gpgconf-comp.c:1287
+#: tools/gpgconf-comp.c:1291
 #, fuzzy, c-format
 #| msgid "Please use the command \"toggle\" first.\n"
 msgid "Note: Use the command \"%s%s\" to get details.\n"
 msgstr "Vă rugăm folosiţi mai întâi comanda \"toggle\".\n"
 
-#: tools/gpgconf-comp.c:3446
+#: tools/gpgconf-comp.c:3454
 #, c-format
 msgid "External verification of component %s failed"
 msgstr ""
 
-#: tools/gpgconf-comp.c:3597
+#: tools/gpgconf-comp.c:3605
 msgid "Note that group specifications are ignored\n"
 msgstr ""
 
-#: tools/gpgconf-comp.c:4195
+#: tools/gpgconf-comp.c:4203
 #, fuzzy, c-format
 msgid "error closing '%s'\n"
 msgstr "eroare în `%s': %s\n"
 
-#: tools/gpgconf-comp.c:4197
+#: tools/gpgconf-comp.c:4205
 #, fuzzy, c-format
 #| msgid "error in `%s': %s\n"
 msgid "error parsing '%s'\n"
@@ -11558,6 +11402,105 @@ msgid ""
 "Check a passphrase given on stdin against the patternfile\n"
 msgstr ""
 
+#~ msgid "requesting key %s from %s server %s\n"
+#~ msgstr "cer cheia %s de la serverul %s %s\n"
+
+#, fuzzy
+#~ msgid "%s:%u: no hostname given\n"
+#~ msgstr "(Nici o descriere dată)\n"
+
+#
+#, fuzzy
+#~ msgid "could not parse keyserver\n"
+#~ msgstr "nu am putut interpreta URL-ul serverului de chei\n"
+
+#, fuzzy
+#~| msgid "|NAME|set terminal charset to NAME"
+#~ msgid "|NAME|connect to host NAME"
+#~ msgstr "|NUME|setează charset-ul pentru terminal ca NUME"
+
+#, fuzzy
+#~| msgid "|NAME|use NAME as default recipient"
+#~ msgid "|NAME|use user NAME for authentication"
+#~ msgstr "|NUME|foloseşte NUME ca destinatar implicit"
+
+#, fuzzy
+#~| msgid "Usage: gpg [options] [files] (-h for help)"
+#~ msgid "Usage: dirmngr_ldap [options] [URL] (-h for help)\n"
+#~ msgstr "Folosire: gpg [opţiuni] [fişiere] (-h pentru ajutor)"
+
+#, fuzzy
+#~| msgid "invalid import options\n"
+#~ msgid "invalid port number %d\n"
+#~ msgstr "opţiuni import invalide\n"
+
+#, fuzzy
+#~ msgid "error writing to stdout: %s\n"
+#~ msgstr "eroare la scrierea inelului de chei `%s': %s\n"
+
+#, fuzzy
+#~ msgid "attribute '%s' not found\n"
+#~ msgstr "cheia secretă \"%s\" nu a fost găsită: %s\n"
+
+#, fuzzy
+#~| msgid "reading from `%s'\n"
+#~ msgid "processing url '%s'\n"
+#~ msgstr "citesc din `%s'\n"
+
+#, fuzzy
+#~| msgid "          w/o user IDs: %lu\n"
+#~ msgid "          user '%s'\n"
+#~ msgstr "  fără ID-uri utilizator: %lu\n"
+
+#, fuzzy
+#~| msgid "                aka \"%s\""
+#~ msgid "          pass '%s'\n"
+#~ msgstr "                aka \"%s\""
+
+#, fuzzy
+#~| msgid "          w/o user IDs: %lu\n"
+#~ msgid "          host '%s'\n"
+#~ msgstr "  fără ID-uri utilizator: %lu\n"
+
+#, fuzzy
+#~| msgid "          not imported: %lu\n"
+#~ msgid "          port %d\n"
+#~ msgstr "            ne importate: %lu\n"
+
+#, fuzzy
+#~| msgid "                aka \"%s\""
+#~ msgid "            DN '%s'\n"
+#~ msgstr "                aka \"%s\""
+
+#, fuzzy
+#~| msgid "                aka \"%s\""
+#~ msgid "          attr '%s'\n"
+#~ msgstr "                aka \"%s\""
+
+#, fuzzy
+#~ msgid "no host name in '%s'\n"
+#~ msgstr "(Nici o descriere dată)\n"
+
+#, fuzzy
+#~| msgid "WARNING: using insecure memory!\n"
+#~ msgid "WARNING: using first attribute only\n"
+#~ msgstr "AVERTISMENT: este folosită memorie neprotejată (insecure)!\n"
+
+#, fuzzy
+#~| msgid "renaming `%s' to `%s' failed: %s\n"
+#~ msgid "LDAP init to '%s:%d' failed: %s\n"
+#~ msgstr "redenumirea `%s' ca `%s' a eşuat: %s\n"
+
+#, fuzzy
+#~| msgid "renaming `%s' to `%s' failed: %s\n"
+#~ msgid "binding to '%s:%d' failed: %s\n"
+#~ msgstr "redenumirea `%s' ca `%s' a eşuat: %s\n"
+
+#, fuzzy
+#~| msgid "dearmoring failed: %s\n"
+#~ msgid "searching '%s' failed: %s\n"
+#~ msgstr "eliminarea armurii a eşuat: %s\n"
+
 #, fuzzy
 #~| msgid "NOTE: old default options file `%s' ignored\n"
 #~ msgid "Note: old default options file '%s' ignored\n"
index b80ed19..0f67f7d 100644 (file)
Binary files a/po/ru.gmo and b/po/ru.gmo differ
index 801d4a2..bd08983 100644 (file)
--- a/po/ru.po
+++ b/po/ru.po
@@ -1,18 +1,20 @@
 # Copyright (C) 2020 Free Software Foundation, Inc.
+# Copyright (C) 2006 Maxim Britov
+# Copyright (C) 2014-2021 Ineiev
 # This file is distributed under the same license as the GnuPG package.
 # Maxim Britov <maxim.britov@gmail.com>, 2006.
 #              !-- no such user (2011-01-11)
 # Thanks Pawel I. Shajdo <pshajdo@gmail.com>.
 # Thanks Cmecb for the inspiration.
-# Ineiev <ineiev@gnu.org>, 2014, 2015, 2016, 2017, 2018, 2019, 2020
+# Ineiev <ineiev@gnu.org>, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021
 #
 # Designated-Translator: none
 msgid ""
 msgstr ""
 "Project-Id-Version: GnuPG 2.2.0\n"
 "Report-Msgid-Bugs-To: translations@gnupg.org\n"
-"POT-Creation-Date: 2021-01-11 18:47+0100\n"
-"PO-Revision-Date: 2020-07-20 17:41+0100\n"
+"POT-Creation-Date: 2021-06-10 18:59+0200\n"
+"PO-Revision-Date: 2021-05-20 08:13+0200\n"
 "Last-Translator: Ineiev <ineiev@gnu.org>\n"
 "Language-Team: Russian <gnupg-ru@gnupg.org>\n"
 "Language: ru\n"
@@ -110,7 +112,7 @@ msgid "Passphrase:"
 msgstr "Фраза-пароль:"
 
 #: agent/call-pinentry.c:1107 agent/call-pinentry.c:1359
-#: agent/command-ssh.c:3130 agent/genkey.c:416
+#: agent/command-ssh.c:3140 agent/genkey.c:416
 msgid "does not match - try again"
 msgstr "не подходит - попробуйте еще раз"
 
@@ -160,32 +162,32 @@ msgstr "Неверная фраза-пароль"
 msgid "ssh keys greater than %d bits are not supported\n"
 msgstr "ключи ssh длиннее %d бит не поддерживаются\n"
 
-#: agent/command-ssh.c:862 common/dotlock.c:852 g10/card-util.c:932
-#: g10/exec.c:546 g10/export.c:1320 g10/gpg.c:1352 g10/keygen.c:4998
-#: g10/keyring.c:1322 g10/keyring.c:1637 g10/openfile.c:291 g10/sign.c:1009
-#: g10/sign.c:1323 g10/tdbio.c:753
+#: agent/command-ssh.c:862 common/dotlock.c:852 g10/card-util.c:933
+#: g10/exec.c:554 g10/export.c:1320 g10/gpg.c:1360 g10/keygen.c:4998
+#: g10/keyring.c:1322 g10/keyring.c:1637 g10/openfile.c:291 g10/sign.c:1008
+#: g10/sign.c:1322 g10/tdbio.c:753
 #, c-format
 msgid "can't create '%s': %s\n"
 msgstr "не могу создать '%s': %s\n"
 
-#: agent/command-ssh.c:874 common/helpfile.c:57 g10/card-util.c:889
+#: agent/command-ssh.c:874 common/helpfile.c:57 g10/card-util.c:890
 #: g10/dearmor.c:59 g10/dearmor.c:106 g10/decrypt.c:65 g10/decrypt.c:136
-#: g10/decrypt.c:153 g10/encrypt.c:180 g10/encrypt.c:543 g10/gpg.c:1353
-#: g10/import.c:352 g10/import.c:536 g10/import.c:764 g10/keygen.c:4036
+#: g10/decrypt.c:153 g10/encrypt.c:180 g10/encrypt.c:543 g10/gpg.c:1361
+#: g10/import.c:364 g10/import.c:548 g10/import.c:776 g10/keygen.c:4036
 #: g10/keyring.c:1663 g10/openfile.c:195 g10/openfile.c:209 g10/plaintext.c:128
-#: g10/plaintext.c:649 g10/sign.c:991 g10/sign.c:1202 g10/sign.c:1307
-#: g10/sign.c:1452 g10/tdbdump.c:143 g10/tdbdump.c:151 g10/tdbio.c:758
-#: g10/tdbio.c:829 g10/verify.c:96 g10/verify.c:160 sm/gpgsm.c:2219
-#: sm/gpgsm.c:2249 sm/gpgsm.c:2287 sm/qualified.c:66 dirmngr/certcache.c:396
+#: g10/plaintext.c:649 g10/sign.c:990 g10/sign.c:1201 g10/sign.c:1306
+#: g10/sign.c:1451 g10/tdbdump.c:143 g10/tdbdump.c:151 g10/tdbio.c:758
+#: g10/tdbio.c:829 g10/verify.c:96 g10/verify.c:160 sm/gpgsm.c:2125
+#: sm/gpgsm.c:2155 sm/gpgsm.c:2193 sm/qualified.c:66 dirmngr/certcache.c:396
 #: dirmngr/certcache.c:476 dirmngr/certcache.c:478 dirmngr/crlcache.c:2588
-#: dirmngr/dirmngr.c:1722
+#: dirmngr/dirmngr.c:1759
 #, c-format
 msgid "can't open '%s': %s\n"
 msgstr "не могу открыть '%s': %s\n"
 
 #: agent/command-ssh.c:2385 agent/command-ssh.c:2431 agent/command-ssh.c:2449
-#: agent/command-ssh.c:2601 g10/card-util.c:687 g10/card-util.c:708
-#: g10/skclist.c:430
+#: agent/command-ssh.c:2601 g10/card-util.c:688 g10/card-util.c:709
+#: g10/skclist.c:435
 #, c-format
 msgid "error getting serial number of card: %s\n"
 msgstr "ошибка получения серийного номера карты: %s\n"
@@ -210,7 +212,7 @@ msgstr "на карте не найдено подходящего ключа: %
 msgid "error getting list of cards: %s\n"
 msgstr "ошибка получения списка карт: %s\n"
 
-#: agent/command-ssh.c:2765
+#: agent/command-ssh.c:2775
 #, c-format
 msgid ""
 "An ssh process requested the use of key%%0A  %s%%0A  (%s)%%0ADo you want to "
@@ -219,24 +221,24 @@ msgstr ""
 "Процесс ssh запросил доступ к ключу%%0A  %s%%0A  (%s)%%0AВы хотите это "
 "позволить?"
 
-#: agent/command-ssh.c:2772
+#: agent/command-ssh.c:2782
 msgid "Allow"
 msgstr "Позволить"
 
-#: agent/command-ssh.c:2772
+#: agent/command-ssh.c:2782
 msgid "Deny"
 msgstr "Отказать"
 
-#: agent/command-ssh.c:2781
+#: agent/command-ssh.c:2791
 #, c-format
 msgid "Please enter the passphrase for the ssh key%%0A  %F%%0A  (%c)"
 msgstr "Введите фразу-пароль для ключа ssh%%0A  %F%%0A  (%c)"
 
-#: agent/command-ssh.c:3058 agent/genkey.c:351
+#: agent/command-ssh.c:3068 agent/genkey.c:351
 msgid "Please re-enter this passphrase"
 msgstr "Повторите фразу-пароль:"
 
-#: agent/command-ssh.c:3085
+#: agent/command-ssh.c:3095
 #, c-format
 msgid ""
 "Please enter a passphrase to protect the received secret key%%0A   %s%%0A   "
@@ -245,7 +247,7 @@ msgstr ""
 "Введите фразу-пароль для защиты полученного секретного ключа%%0A   %s%%0A   "
 "%s%%0Aвнутри хранилища ключей агента gpg"
 
-#: agent/command-ssh.c:3667
+#: agent/command-ssh.c:3677
 #, c-format
 msgid "failed to create stream from socket: %s\n"
 msgstr "сбой создания потока из сокета: %s\n"
@@ -398,45 +400,43 @@ msgstr ""
 "@Параметры:\n"
 " "
 
-#: agent/gpg-agent.c:165 scd/scdaemon.c:120 dirmngr/dirmngr.c:166
+#: agent/gpg-agent.c:165 scd/scdaemon.c:120 dirmngr/dirmngr.c:167
 msgid "run in daemon mode (background)"
 msgstr "запуск в режиме демона (фоновый режим)"
 
-#: agent/gpg-agent.c:166 scd/scdaemon.c:117 dirmngr/dirmngr.c:165
+#: agent/gpg-agent.c:166 scd/scdaemon.c:117 dirmngr/dirmngr.c:166
 msgid "run in server mode (foreground)"
 msgstr "запуск в режиме сервера (нефоновый режим)"
 
-#: agent/gpg-agent.c:168 dirmngr/dirmngr.c:168
+#: agent/gpg-agent.c:168 dirmngr/dirmngr.c:169
 msgid "run in supervised mode"
 msgstr "запуск в подконтрольном режиме"
 
-#: agent/gpg-agent.c:170 g10/gpg.c:608 g10/gpgv.c:78 kbx/kbxutil.c:88
-#: scd/scdaemon.c:121 sm/gpgsm.c:310 dirmngr/dirmngr-client.c:70
-#: dirmngr/dirmngr.c:181 dirmngr/dirmngr_ldap.c:135
-#: tools/gpg-connect-agent.c:78 tools/gpgconf.c:108
+#: agent/gpg-agent.c:170 g10/gpg.c:605 g10/gpgv.c:78 kbx/kbxutil.c:88
+#: scd/scdaemon.c:121 sm/gpgsm.c:311 dirmngr/dirmngr-client.c:70
+#: dirmngr/dirmngr.c:182 tools/gpg-connect-agent.c:78 tools/gpgconf.c:108
 msgid "verbose"
 msgstr "подробно"
 
 #: agent/gpg-agent.c:171 g10/gpgv.c:79 kbx/kbxutil.c:89 scd/scdaemon.c:122
-#: sm/gpgsm.c:311 dirmngr/dirmngr-client.c:71 dirmngr/dirmngr.c:182
-#: dirmngr/dirmngr_ldap.c:136
+#: sm/gpgsm.c:312 dirmngr/dirmngr-client.c:71 dirmngr/dirmngr.c:183
 msgid "be somewhat more quiet"
 msgstr "сократить подробности"
 
-#: agent/gpg-agent.c:172 scd/scdaemon.c:123 dirmngr/dirmngr.c:183
+#: agent/gpg-agent.c:172 scd/scdaemon.c:123 dirmngr/dirmngr.c:184
 msgid "sh-style command output"
 msgstr "вывод команд в стиле sh"
 
-#: agent/gpg-agent.c:173 scd/scdaemon.c:124 dirmngr/dirmngr.c:184
+#: agent/gpg-agent.c:173 scd/scdaemon.c:124 dirmngr/dirmngr.c:185
 msgid "csh-style command output"
 msgstr "вывод команд в стиле csh"
 
-#: agent/gpg-agent.c:174 scd/scdaemon.c:125 sm/gpgsm.c:341
-#: dirmngr/dirmngr.c:185
+#: agent/gpg-agent.c:174 scd/scdaemon.c:125 sm/gpgsm.c:344
+#: dirmngr/dirmngr.c:186
 msgid "|FILE|read options from FILE"
 msgstr "|FILE|взять параметры из файла FILE"
 
-#: agent/gpg-agent.c:183 scd/scdaemon.c:135 dirmngr/dirmngr.c:188
+#: agent/gpg-agent.c:183 scd/scdaemon.c:135 dirmngr/dirmngr.c:189
 msgid "do not detach from the console"
 msgstr "не отсоединяться от консоли"
 
@@ -513,9 +513,9 @@ msgstr "включить поддержку putty"
 #. reporting address.  This is so that we can change the
 #. reporting address without breaking the translations.
 #: agent/gpg-agent.c:531 agent/preset-passphrase.c:100 agent/protect-tool.c:155
-#: g10/gpg.c:1070 g10/gpgv.c:149 kbx/kbxutil.c:113 scd/scdaemon.c:298
-#: sm/gpgsm.c:567 dirmngr/dirmngr-client.c:168 dirmngr/dirmngr.c:404
-#: dirmngr/dirmngr_ldap.c:207 tools/gpg-connect-agent.c:205 tools/gpgconf.c:146
+#: g10/gpg.c:1074 g10/gpgv.c:149 kbx/kbxutil.c:113 scd/scdaemon.c:299
+#: sm/gpgsm.c:570 dirmngr/dirmngr-client.c:168 dirmngr/dirmngr.c:412
+#: tools/gpg-connect-agent.c:205 tools/gpgconf.c:146
 #: tools/gpg-check-pattern.c:143
 msgid "Please report bugs to <@EMAIL@>.\n"
 msgstr "Об ошибках в программе сообщайте по адресу <@EMAIL@>.\n"
@@ -532,37 +532,37 @@ msgstr ""
 "Синтаксис: @GPG_AGENT@ [параметры] [команда [аргументы]]\n"
 "Управление секретными ключами для @GNUPG@\n"
 
-#: agent/gpg-agent.c:587 g10/gpg.c:1262 scd/scdaemon.c:370 sm/gpgsm.c:715
-#: dirmngr/dirmngr.c:488
+#: agent/gpg-agent.c:587 g10/gpg.c:1270 scd/scdaemon.c:371 sm/gpgsm.c:718
+#: dirmngr/dirmngr.c:496
 #, c-format
 msgid "invalid debug-level '%s' given\n"
 msgstr "запрошен недопустимый уровень отладки '%s'\n"
 
-#: agent/gpg-agent.c:945 g10/gpg.c:3753 g10/gpg.c:3777 sm/gpgsm.c:1631
-#: sm/gpgsm.c:1637
+#: agent/gpg-agent.c:945 g10/gpg.c:3773 g10/gpg.c:3797 sm/gpgsm.c:1531
+#: sm/gpgsm.c:1537
 #, c-format
 msgid "selected digest algorithm is invalid\n"
 msgstr "выбрана недопустимая хеш-функция\n"
 
 #: agent/gpg-agent.c:1168 agent/gpg-agent.c:2023 common/argparse.c:1755
-#: common/argparse.c:1847 g10/gpg.c:2482 scd/scdaemon.c:532 sm/gpgsm.c:1063
-#: dirmngr/dirmngr.c:956 dirmngr/dirmngr.c:1841
+#: common/argparse.c:1847 g10/gpg.c:2495 scd/scdaemon.c:533 sm/gpgsm.c:977
+#: dirmngr/dirmngr.c:994 dirmngr/dirmngr.c:1878
 #, c-format
 msgid "reading options from '%s'\n"
 msgstr "чтение параметров из '%s'\n"
 
-#: agent/gpg-agent.c:1300 g10/gpg.c:3704 scd/scdaemon.c:655 sm/gpgsm.c:1571
-#: dirmngr/dirmngr.c:1067 tools/gpg-connect-agent.c:1244 tools/gpgconf.c:624
+#: agent/gpg-agent.c:1300 g10/gpg.c:3724 scd/scdaemon.c:657 sm/gpgsm.c:1471
+#: dirmngr/dirmngr.c:1102 tools/gpg-connect-agent.c:1244 tools/gpgconf.c:624
 #, c-format
 msgid "Note: '%s' is not considered an option\n"
 msgstr "Замечание: '%s' не считается параметром\n"
 
-#: agent/gpg-agent.c:2159 scd/scdaemon.c:1096 dirmngr/dirmngr.c:1219
+#: agent/gpg-agent.c:2159 scd/scdaemon.c:1098 dirmngr/dirmngr.c:1256
 #, c-format
 msgid "can't create socket: %s\n"
 msgstr "не могу создать сокет: %s\n"
 
-#: agent/gpg-agent.c:2176 scd/scdaemon.c:1109 dirmngr/dirmngr.c:1232
+#: agent/gpg-agent.c:2176 scd/scdaemon.c:1111 dirmngr/dirmngr.c:1269
 #, c-format
 msgid "socket name '%s' is too long\n"
 msgstr "слишком длинное имя сокета '%s'\n"
@@ -572,29 +572,29 @@ msgstr "слишком длинное имя сокета '%s'\n"
 msgid "a gpg-agent is already running - not starting a new one\n"
 msgstr "агент gpg уже запущен - еще один, новый, запущен не будет\n"
 
-#: agent/gpg-agent.c:2226 scd/scdaemon.c:1133 dirmngr/dirmngr.c:1264
+#: agent/gpg-agent.c:2226 scd/scdaemon.c:1135 dirmngr/dirmngr.c:1301
 #, c-format
 msgid "error getting nonce for the socket\n"
 msgstr "ошибка получения разового кода для сокета\n"
 
-#: agent/gpg-agent.c:2231 scd/scdaemon.c:1136 dirmngr/dirmngr.c:1267
+#: agent/gpg-agent.c:2231 scd/scdaemon.c:1138 dirmngr/dirmngr.c:1304
 #, c-format
 msgid "error binding socket to '%s': %s\n"
 msgstr "ошибка связывания сокета с '%s': %s\n"
 
 #: agent/gpg-agent.c:2242 agent/gpg-agent.c:2282 agent/gpg-agent.c:2291
-#: scd/scdaemon.c:1144 dirmngr/dirmngr.c:1276
+#: scd/scdaemon.c:1146 dirmngr/dirmngr.c:1313
 #, c-format
 msgid "can't set permissions of '%s': %s\n"
 msgstr "не удалось задать права доступа для '%s': %s\n"
 
-#: agent/gpg-agent.c:2256 scd/scdaemon.c:1156 dirmngr/dirmngr.c:1288
+#: agent/gpg-agent.c:2256 scd/scdaemon.c:1158 dirmngr/dirmngr.c:1325
 #, c-format
 msgid "listening on socket '%s'\n"
 msgstr "слушаем сокет '%s'\n"
 
 #: agent/gpg-agent.c:2276 agent/gpg-agent.c:2329 common/homedir.c:517
-#: g10/exec.c:261 g10/openfile.c:397
+#: g10/exec.c:269 g10/openfile.c:397
 #, c-format
 msgid "can't create directory '%s': %s\n"
 msgstr "не могу создать каталог '%s': %s\n"
@@ -615,7 +615,7 @@ msgstr "сбой stat() для '%s': %s\n"
 msgid "can't use '%s' as home directory\n"
 msgstr "невозможно использовать '%s' как домашний каталог\n"
 
-#: agent/gpg-agent.c:2502 scd/scdaemon.c:1172 dirmngr/dirmngr.c:2047
+#: agent/gpg-agent.c:2502 scd/scdaemon.c:1174 dirmngr/dirmngr.c:2084
 #, c-format
 msgid "error reading nonce on fd %d: %s\n"
 msgstr "ошибка чтения разового кода из файлового дескриптора %d: %s\n"
@@ -640,12 +640,12 @@ msgstr "обработчик ssh 0x%lx для файлового дескрип
 msgid "ssh handler 0x%lx for fd %d terminated\n"
 msgstr "обработчик ssh 0x%lx для файлового дескриптора %d завершился\n"
 
-#: agent/gpg-agent.c:3016 scd/scdaemon.c:1362 dirmngr/dirmngr.c:2261
+#: agent/gpg-agent.c:3016 scd/scdaemon.c:1366 dirmngr/dirmngr.c:2298
 #, c-format
 msgid "npth_pselect failed: %s - waiting 1s\n"
 msgstr "сбой npth_pselect: %s - жду 1 секунду\n"
 
-#: agent/gpg-agent.c:3104 scd/scdaemon.c:1427
+#: agent/gpg-agent.c:3104 scd/scdaemon.c:1431
 #, c-format
 msgid "%s %s stopped\n"
 msgstr "%s %s остановлен\n"
@@ -668,8 +668,8 @@ msgstr ""
 "Синтаксис: gpg-preset-passphrase [параметры] КОД_КЛЮЧА\n"
 "Работа с буфером паролей\n"
 
-#: agent/protect-tool.c:108 g10/gpg.c:440 kbx/kbxutil.c:71 sm/gpgsm.c:204
-#: dirmngr/dirmngr.c:163 tools/gpgconf.c:78
+#: agent/protect-tool.c:108 g10/gpg.c:437 kbx/kbxutil.c:71 sm/gpgsm.c:205
+#: dirmngr/dirmngr.c:164 tools/gpgconf.c:78
 msgid ""
 "@Commands:\n"
 " "
@@ -677,8 +677,8 @@ msgstr ""
 "@Команды:\n"
 " "
 
-#: agent/protect-tool.c:117 g10/gpg.c:553 g10/gpgv.c:76 kbx/kbxutil.c:81
-#: sm/gpgsm.c:252 dirmngr/dirmngr.c:179 tools/gpg-connect-agent.c:76
+#: agent/protect-tool.c:117 g10/gpg.c:550 g10/gpgv.c:76 kbx/kbxutil.c:81
+#: sm/gpgsm.c:253 dirmngr/dirmngr.c:180 tools/gpg-connect-agent.c:76
 #: tools/gpgconf.c:105
 msgid ""
 "@\n"
@@ -701,11 +701,11 @@ msgstr ""
 "Синтаксис: gpg-protect-tool [параметры] [аргументы]\n"
 "Средство работы с секретными ключами\n"
 
-#: agent/protect-tool.c:703
+#: agent/protect-tool.c:703 sm/import.c:774
 msgid "Please enter the passphrase to unprotect the PKCS#12 object."
 msgstr "Введите фразу-пароль для снятия защиты с объекта PKCS#12."
 
-#: agent/protect-tool.c:708
+#: agent/protect-tool.c:708 sm/export.c:710
 msgid "Please enter the passphrase to protect the new PKCS#12 object."
 msgstr "Введите фразу-пароль для защиты нового объекта PKCS#12."
 
@@ -734,7 +734,7 @@ msgstr "отменено\n"
 msgid "error while asking for the passphrase: %s\n"
 msgstr "ошибка запроса ввода фразы-пароля: %s\n"
 
-#: agent/trustlist.c:154 agent/trustlist.c:364 dirmngr/dirmngr.c:1629
+#: agent/trustlist.c:154 agent/trustlist.c:364 dirmngr/dirmngr.c:1666
 #: tools/gpgconf.c:418
 #, c-format
 msgid "error opening '%s': %s\n"
@@ -894,7 +894,7 @@ msgstr "сбой проверки созданной подписи: %s\n"
 msgid "secret key parts are not available\n"
 msgstr "секретная часть ключа недоступна\n"
 
-#: agent/cvt-openpgp.c:344 g10/card-util.c:1540
+#: agent/cvt-openpgp.c:344 g10/card-util.c:1541
 #, c-format
 msgid "public key algorithm %d (%s) is not supported\n"
 msgstr "алгоритм шифрования с открытым ключом %d (%s) не поддерживается\n"
@@ -909,21 +909,21 @@ msgstr "алгоритм защиты %d (%s) не поддерживается\
 msgid "protection hash algorithm %d (%s) is not supported\n"
 msgstr "хеш-функция защиты %d (%s) не поддерживается\n"
 
-#: common/exechelp-posix.c:359 common/exechelp-w32.c:449
-#: common/exechelp-w32.c:473 common/exechelp-w32.c:503
+#: common/exechelp-posix.c:359 common/exechelp-w32.c:451
+#: common/exechelp-w32.c:475 common/exechelp-w32.c:505
 #, c-format
 msgid "error creating a pipe: %s\n"
 msgstr "ошибка при создании канала конвейера: %s\n"
 
 #: common/exechelp-posix.c:372 common/exechelp-w32.c:355
-#: common/exechelp-w32.c:459 common/exechelp-w32.c:483
-#: common/exechelp-w32.c:513
+#: common/exechelp-w32.c:461 common/exechelp-w32.c:485
+#: common/exechelp-w32.c:515
 #, c-format
 msgid "error creating a stream for a pipe: %s\n"
 msgstr "ошибка при создании потока для канала конвейера: %s\n"
 
 #: common/exechelp-posix.c:495 common/exechelp-posix.c:570
-#: common/exechelp-posix.c:851 dirmngr/dirmngr.c:1306
+#: common/exechelp-posix.c:856 dirmngr/dirmngr.c:1343
 #, c-format
 msgid "error forking process: %s\n"
 msgstr "ошибка при дублировании процесса: %s\n"
@@ -933,28 +933,28 @@ msgstr "ошибка при дублировании процесса: %s\n"
 msgid "waiting for process %d to terminate failed: %s\n"
 msgstr "сбой при ожидании завершения процесса %d: %s\n"
 
-#: common/exechelp-posix.c:678 common/exechelp-posix.c:794
+#: common/exechelp-posix.c:678 common/exechelp-posix.c:799
 #, c-format
 msgid "error running '%s': probably not installed\n"
 msgstr "ошибка выполнения '%s': возможно, не установлен\n"
 
-#: common/exechelp-posix.c:684 common/exechelp-posix.c:801
-#: common/exechelp-w32.c:796 common/exechelp-w32ce.c:781
+#: common/exechelp-posix.c:684 common/exechelp-posix.c:806
+#: common/exechelp-w32.c:829 common/exechelp-w32ce.c:781
 #, c-format
 msgid "error running '%s': exit status %d\n"
 msgstr "ошибка выполнения '%s': статус завершения %d\n"
 
-#: common/exechelp-posix.c:692 common/exechelp-posix.c:809
+#: common/exechelp-posix.c:692 common/exechelp-posix.c:814
 #, c-format
 msgid "error running '%s': terminated\n"
 msgstr "ошибка выполнения '%s': прервано\n"
 
-#: common/exechelp-posix.c:750 common/exechelp-w32.c:777
+#: common/exechelp-posix.c:755 common/exechelp-w32.c:810
 #, c-format
 msgid "waiting for processes to terminate failed: %s\n"
 msgstr "сбой при ожидании завершения процесса: %s\n"
 
-#: common/exechelp-w32.c:789 common/exechelp-w32ce.c:775
+#: common/exechelp-w32.c:822 common/exechelp-w32ce.c:775
 #, c-format
 msgid "error getting exit code of process %d: %s\n"
 msgstr "ошибка получения кода возврата процесса %d: %s\n"
@@ -1049,7 +1049,7 @@ msgstr "выход за предел безопасной памяти при р
 msgid "out of core while allocating %lu bytes"
 msgstr "выход за границы при размещении %lu байтов"
 
-#: common/miscellaneous.c:115 g10/card-util.c:896 tools/no-libgcrypt.c:30
+#: common/miscellaneous.c:115 g10/card-util.c:897 tools/no-libgcrypt.c:30
 #, c-format
 msgid "error allocating enough memory: %s\n"
 msgstr "ошибка выделения достаточной памяти: %s\n"
@@ -1162,7 +1162,7 @@ msgid "algorithm: %s"
 msgstr "алгоритм: %s"
 
 #: common/audit.c:774 common/audit.c:776 common/audit.c:921 common/audit.c:923
-#: scd/app-openpgp.c:3555
+#: scd/app-openpgp.c:3554
 #, c-format
 msgid "unsupported algorithm: %s"
 msgstr "алгоритм (не поддерживается): %s"
@@ -1287,6 +1287,26 @@ msgstr "[отсутствует]"
 msgid "invalid radix64 character %02x skipped\n"
 msgstr "недопустимый символ radix64 %02x пропущен\n"
 
+#: common/ttyio.c:433
+#, c-format
+msgid "Sorry, we are in batchmode - can't get input\n"
+msgstr ""
+
+#: common/ttyio.c:439
+#, c-format
+msgid "Sorry, no terminal at all requested - can't get input\n"
+msgstr ""
+
+#: common/ttyio.c:474 common/ttyio.c:484
+#, c-format
+msgid "too many errors; giving up\n"
+msgstr ""
+
+#: common/ttyio.c:536
+#, c-format
+msgid "Control-D detected\n"
+msgstr ""
+
 #: common/argparse.c:520
 msgid "argument not expected"
 msgstr "неожиданный параметр"
@@ -1317,29 +1337,23 @@ msgstr "недопустимое определение синонима"
 
 #: common/argparse.c:534 common/argparse.c:571
 msgid "permission error"
-msgstr ""
+msgstr "ошибка прав доступа"
 
 #: common/argparse.c:536 common/argparse.c:569
 msgid "out of core"
 msgstr "нехватка выделенной памяти"
 
 #: common/argparse.c:540 common/argparse.c:575
-#, fuzzy
-#| msgid "invalid command"
 msgid "invalid meta command"
-msgstr "недопустимая команда"
+msgstr "недопÑ\83Ñ\81Ñ\82имаÑ\8f Ð¼ÐµÑ\82акоманда"
 
 #: common/argparse.c:542 common/argparse.c:577
-#, fuzzy
-#| msgid "unknown command '%s'\n"
 msgid "unknown meta command"
-msgstr "неизвеÑ\81Ñ\82наÑ\8f ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° '%s'\n"
+msgstr "неизвеÑ\81Ñ\82наÑ\8f Ð¼ÐµÑ\82акоманда"
 
 #: common/argparse.c:544 common/argparse.c:579
-#, fuzzy
-#| msgid "unexpected armor: "
 msgid "unexpected meta command"
-msgstr "неожиданный текстовый формат: "
+msgstr "неожиданная метакоманда"
 
 #: common/argparse.c:546
 msgid "invalid option"
@@ -1350,7 +1364,7 @@ msgstr "недопустимый параметр"
 msgid "missing argument for option \"%.50s\"\n"
 msgstr "не хватает аргумента для параметра \"%.50s\"\n"
 
-#: common/argparse.c:558 g10/gpg.c:3490
+#: common/argparse.c:558 g10/gpg.c:3510
 #, c-format
 msgid "invalid argument for option \"%.50s\"\n"
 msgstr "недопустимый аргумент для параметра \"%.50s\"\n"
@@ -1394,6 +1408,7 @@ msgstr "файл параметров '%s': %s\n"
 #, c-format
 msgid "Note: ignoring option \"--%s\" due to global config\n"
 msgstr ""
+"Замечание: параметр \"--%s\" игнорируется согласно глобальным настройкам\n"
 
 #: common/utf8conv.c:123
 #, c-format
@@ -1420,31 +1435,31 @@ msgstr "сбой при создании временного файла '%s': %
 msgid "error writing to '%s': %s\n"
 msgstr "ошибка записи в '%s': %s\n"
 
-#: common/dotlock.c:1129
+#: common/dotlock.c:1137
 #, c-format
 msgid "removing stale lockfile (created by %d)\n"
 msgstr "удаляю залипшую блокировку (созданную процессом %d)\n"
 
-#: common/dotlock.c:1165
+#: common/dotlock.c:1173
 #, c-format
 msgid "waiting for lock (held by %d%s) %s...\n"
 msgstr "жду снятия блокировки (заблокировано процессом %d%s) %s...\n"
 
-#: common/dotlock.c:1166
+#: common/dotlock.c:1174
 msgid "(deadlock?) "
 msgstr "(мертвая точка?) "
 
-#: common/dotlock.c:1205
+#: common/dotlock.c:1213
 #, c-format
 msgid "lock '%s' not made: %s\n"
 msgstr "блокировка '%s' не выполнена: %s\n"
 
-#: common/dotlock.c:1232
+#: common/dotlock.c:1240
 #, c-format
 msgid "waiting for lock %s...\n"
 msgstr "ожидаю снятия блокировки %s...\n"
 
-#: common/init.c:185 sm/gpgsm.c:949 dirmngr/dirmngr.c:862 dirmngr/dirmngr.c:871
+#: common/init.c:191 sm/gpgsm.c:863 dirmngr/dirmngr.c:900 dirmngr/dirmngr.c:909
 #, c-format
 msgid "%s is too old (need %s, have %s)\n"
 msgstr "слишком старая версия %s (нужно %s, есть %s)\n"
@@ -1628,12 +1643,12 @@ msgid "Note: Use the command \"%s\" to restart them.\n"
 msgstr "Замечание: Для их перезагрузки воспользуйтесь командой \"%s\".\n"
 
 #: g10/call-agent.c:318 g10/encrypt.c:154 g10/encrypt.c:620 g10/sign.c:412
-#: sm/call-agent.c:205 sm/encrypt.c:425 sm/sign.c:345
+#: sm/call-agent.c:205 sm/encrypt.c:426 sm/sign.c:345
 #, c-format
 msgid "%s is not compliant with %s mode\n"
 msgstr "%s не совместим с режимом %s\n"
 
-#: g10/call-dirmngr.c:209 sm/call-dirmngr.c:268 tools/gpg-connect-agent.c:2253
+#: g10/call-dirmngr.c:209 sm/call-dirmngr.c:269 tools/gpg-connect-agent.c:2253
 #, c-format
 msgid "no dirmngr running in this session\n"
 msgstr "в этом сеансе dirmngr не работает\n"
@@ -1671,22 +1686,22 @@ msgstr "недопустимое перенаправление HTTP с серв
 msgid "server uses an invalid certificate"
 msgstr "на сервере применяется непригодный сертификат"
 
-#: g10/call-dirmngr.c:437 g10/gpg.c:4400
+#: g10/call-dirmngr.c:437 g10/gpg.c:4421
 #, c-format
 msgid "Note: %s\n"
 msgstr "Замечание: %s\n"
 
-#: g10/card-util.c:86 g10/card-util.c:366 g10/card-util.c:1902
+#: g10/card-util.c:86 g10/card-util.c:366 g10/card-util.c:1903
 #, c-format
 msgid "OpenPGP card not available: %s\n"
 msgstr "Карта OpenPGP недоступна: %s\n"
 
-#: g10/card-util.c:91 g10/card-util.c:1908
+#: g10/card-util.c:91 g10/card-util.c:1909
 #, c-format
 msgid "OpenPGP card no. %s detected\n"
 msgstr "Обнаружена карта OpenPGP номер %s\n"
 
-#: g10/card-util.c:97 g10/card-util.c:2237 g10/delkey.c:160 g10/keyedit.c:1422
+#: g10/card-util.c:97 g10/card-util.c:2238 g10/delkey.c:160 g10/keyedit.c:1423
 #: g10/keygen.c:4466 g10/revoke.c:214 g10/revoke.c:636
 #, c-format
 msgid "can't do this in batch mode\n"
@@ -1697,13 +1712,13 @@ msgstr "в пакетном режиме это действие невозмо
 msgid "This command is only available for version 2 cards\n"
 msgstr "Эта команда доступна только для карт версии 2\n"
 
-#: g10/card-util.c:107 scd/app-openpgp.c:2864
+#: g10/card-util.c:107 scd/app-openpgp.c:2863
 #, c-format
 msgid "Reset Code not or not anymore available\n"
 msgstr "Код сброса (больше) не доступен\n"
 
-#: g10/card-util.c:140 g10/card-util.c:1426 g10/card-util.c:1688
-#: g10/card-util.c:1780 g10/keyedit.c:394 g10/keyedit.c:415 g10/keyedit.c:429
+#: g10/card-util.c:140 g10/card-util.c:1427 g10/card-util.c:1689
+#: g10/card-util.c:1781 g10/keyedit.c:394 g10/keyedit.c:415 g10/keyedit.c:429
 #: g10/keygen.c:1808 g10/keygen.c:1980 g10/keygen.c:2186 g10/keygen.c:2477
 #: sm/certreqgen-ui.c:165 sm/certreqgen-ui.c:291 sm/certreqgen-ui.c:325
 msgid "Your selection? "
@@ -1729,104 +1744,104 @@ msgstr "не требуется"
 msgid "forced"
 msgstr "требуется"
 
-#: g10/card-util.c:749
+#: g10/card-util.c:750
 msgid "Error: Only plain ASCII is currently allowed.\n"
 msgstr "Ошибка: Допустим только простой текст ASCII.\n"
 
-#: g10/card-util.c:751
+#: g10/card-util.c:752
 msgid "Error: The \"<\" character may not be used.\n"
 msgstr "Ошибка: Нельзя использовать символ \"<\".\n"
 
-#: g10/card-util.c:753
+#: g10/card-util.c:754
 msgid "Error: Double spaces are not allowed.\n"
 msgstr "Ошибка: Двойные пробелы недопустимы.\n"
 
-#: g10/card-util.c:770
+#: g10/card-util.c:771
 msgid "Cardholder's surname: "
 msgstr "Фамилия держателя карты: "
 
-#: g10/card-util.c:772
+#: g10/card-util.c:773
 msgid "Cardholder's given name: "
 msgstr "Имя держателя карты: "
 
-#: g10/card-util.c:790
+#: g10/card-util.c:791
 #, c-format
 msgid "Error: Combined name too long (limit is %d characters).\n"
 msgstr "Ошибка: Слишком длинное полное имя (предел - %d символов).\n"
 
-#: g10/card-util.c:811
+#: g10/card-util.c:812
 msgid "URL to retrieve public key: "
 msgstr "URL для получения открытого ключа: "
 
-#: g10/card-util.c:905 g10/decrypt-data.c:490 g10/import.c:387 g10/import.c:734
-#: g10/import.c:786 dirmngr/crlcache.c:655 dirmngr/crlcache.c:660
-#: dirmngr/crlcache.c:914 dirmngr/crlcache.c:920 dirmngr/dirmngr.c:1668
+#: g10/card-util.c:906 g10/decrypt-data.c:490 g10/import.c:399 g10/import.c:746
+#: g10/import.c:798 dirmngr/crlcache.c:655 dirmngr/crlcache.c:660
+#: dirmngr/crlcache.c:914 dirmngr/crlcache.c:920 dirmngr/dirmngr.c:1705
 #: tools/gpgconf.c:431 tools/gpgconf.c:477
 #, c-format
 msgid "error reading '%s': %s\n"
 msgstr "ошибка чтения '%s': %s\n"
 
-#: g10/card-util.c:938 g10/decrypt-data.c:493 g10/export.c:2467
+#: g10/card-util.c:939 g10/decrypt-data.c:493 g10/export.c:2467
 #: dirmngr/crlcache.c:925
 #, c-format
 msgid "error writing '%s': %s\n"
 msgstr "ошибка записи '%s': %s\n"
 
-#: g10/card-util.c:965
+#: g10/card-util.c:966
 msgid "Login data (account name): "
 msgstr "Учетная запись (имя): "
 
-#: g10/card-util.c:1003
+#: g10/card-util.c:1004
 msgid "Private DO data: "
 msgstr "Секретные данные DO:"
 
-#: g10/card-util.c:1088
+#: g10/card-util.c:1089
 msgid "Language preferences: "
 msgstr "Предпочтительный язык: "
 
-#: g10/card-util.c:1096
+#: g10/card-util.c:1097
 msgid "Error: invalid length of preference string.\n"
 msgstr "Ошибка: недопустимая длина строки предпочтений.\n"
 
-#: g10/card-util.c:1105
+#: g10/card-util.c:1106
 msgid "Error: invalid characters in preference string.\n"
 msgstr "Ошибка: недопустимые символы в строке предпочтений.\n"
 
-#: g10/card-util.c:1127
+#: g10/card-util.c:1128
 msgid "Salutation (M = Mr., F = Ms., or space): "
 msgstr "Приветствие (M = Уважаемый, F = Уважаемая, пробел - не задано): "
 
-#: g10/card-util.c:1141
+#: g10/card-util.c:1142
 msgid "Error: invalid response.\n"
 msgstr "Ошибка: недопустимый ответ.\n"
 
-#: g10/card-util.c:1163
+#: g10/card-util.c:1164
 msgid "CA fingerprint: "
 msgstr "отпечаток удостоверяющего центра: "
 
-#: g10/card-util.c:1186
+#: g10/card-util.c:1187
 msgid "Error: invalid formatted fingerprint.\n"
 msgstr "Ошибка: недопустимый формат отпечатка.\n"
 
-#: g10/card-util.c:1236
+#: g10/card-util.c:1237
 #, c-format
 msgid "key operation not possible: %s\n"
 msgstr "операция с ключом невозможна: %s\n"
 
-#: g10/card-util.c:1237
+#: g10/card-util.c:1238
 msgid "not an OpenPGP card"
 msgstr "это не карта OpenPGP"
 
-#: g10/card-util.c:1250 g10/keygen.c:4486 g10/keygen.c:5565
+#: g10/card-util.c:1251 g10/keygen.c:4486 g10/keygen.c:5565
 #, c-format
 msgid "error getting current key info: %s\n"
 msgstr "ошибка при считывании информации ключа: %s\n"
 
-#: g10/card-util.c:1335
+#: g10/card-util.c:1336
 msgid "Replace existing key? (y/N) "
 msgstr "Заменить существующий ключ? (y/N) "
 
-#: g10/card-util.c:1352
+#: g10/card-util.c:1353
 msgid ""
 "Note: There is no guarantee that the card supports the requested size.\n"
 "      If the key generation does not succeed, please check the\n"
@@ -1836,97 +1851,97 @@ msgstr ""
 "           Если создать ключ не удастся, сверьтесь с документацией\n"
 "           на карту и выясните, какие размеры допустимы.\n"
 
-#: g10/card-util.c:1374 g10/keygen.c:2363 sm/certreqgen-ui.c:179
+#: g10/card-util.c:1375 g10/keygen.c:2363 sm/certreqgen-ui.c:179
 #, c-format
 msgid "What keysize do you want? (%u) "
 msgstr "Какой размер ключа Вам необходим? (%u) "
 
-#: g10/card-util.c:1384 g10/keygen.c:2286 g10/keygen.c:2318
+#: g10/card-util.c:1385 g10/keygen.c:2286 g10/keygen.c:2318
 #: sm/certreqgen-ui.c:194
 #, c-format
 msgid "rounded up to %u bits\n"
 msgstr "округлен до %u бит\n"
 
-#: g10/card-util.c:1392 g10/keygen.c:2371 sm/certreqgen-ui.c:184
+#: g10/card-util.c:1393 g10/keygen.c:2371 sm/certreqgen-ui.c:184
 #, c-format
 msgid "%s keysizes must be in the range %u-%u\n"
 msgstr "размер ключей %s должен быть в пределах %u-%u\n"
 
-#: g10/card-util.c:1411
+#: g10/card-util.c:1412
 msgid "Changing card key attribute for: "
 msgstr "Изменение атрибутов ключа на карте:"
 
-#: g10/card-util.c:1413
+#: g10/card-util.c:1414
 msgid "Signature key\n"
 msgstr "Ключа для подписи\n"
 
-#: g10/card-util.c:1415
+#: g10/card-util.c:1416
 msgid "Encryption key\n"
 msgstr "Ключа для шифрования\n"
 
-#: g10/card-util.c:1417
+#: g10/card-util.c:1418
 msgid "Authentication key\n"
 msgstr "Ключа для удостоверения личности\n"
 
-#: g10/card-util.c:1419 g10/keygen.c:1926 sm/certreqgen-ui.c:157
+#: g10/card-util.c:1420 g10/keygen.c:1926 sm/certreqgen-ui.c:157
 msgid "Please select what kind of key you want:\n"
 msgstr "Выберите тип ключа:\n"
 
-#: g10/card-util.c:1420 sm/certreqgen-ui.c:158
+#: g10/card-util.c:1421 sm/certreqgen-ui.c:158
 #, c-format
 msgid "   (%d) RSA\n"
 msgstr "   (%d) RSA\n"
 
-#: g10/card-util.c:1421
+#: g10/card-util.c:1422
 #, c-format
 msgid "   (%d) ECC\n"
 msgstr "   (%d) ECC\n"
 
-#: g10/card-util.c:1433 g10/card-util.c:1700 g10/card-util.c:1800
-#: g10/keyedit.c:899 g10/keygen.c:1834 g10/keygen.c:1862 g10/keygen.c:1987
+#: g10/card-util.c:1434 g10/card-util.c:1701 g10/card-util.c:1801
+#: g10/keyedit.c:900 g10/keygen.c:1834 g10/keygen.c:1862 g10/keygen.c:1987
 #: g10/keygen.c:2222 g10/keygen.c:2505 g10/revoke.c:838
 msgid "Invalid selection.\n"
 msgstr "Неправильный выбор.\n"
 
-#: g10/card-util.c:1506
+#: g10/card-util.c:1507
 #, c-format
 msgid "The card will now be re-configured to generate a key of %u bits\n"
 msgstr "Теперь карта будет перенастроена на генерацию ключа длиной %u бит\n"
 
-#: g10/card-util.c:1511
+#: g10/card-util.c:1512
 #, c-format
 msgid "The card will now be re-configured to generate a key of type: %s\n"
 msgstr "Теперь карта будет перенастроена на генерацию ключа типа %s\n"
 
-#: g10/card-util.c:1547
+#: g10/card-util.c:1548
 #, c-format
 msgid "error changing key attribute for key %d: %s\n"
 msgstr "ошибка изменения атрибута ключа %d: %s\n"
 
-#: g10/card-util.c:1563 g10/card-util.c:2090
+#: g10/card-util.c:1564 g10/card-util.c:2091
 #, c-format
 msgid "error getting card info: %s\n"
 msgstr "ошибка при считывании информации карты: %s\n"
 
-#: g10/card-util.c:1569 g10/card-util.c:1914 g10/card-util.c:2096
+#: g10/card-util.c:1570 g10/card-util.c:1915 g10/card-util.c:2097
 #, c-format
 msgid "This command is not supported by this card\n"
 msgstr "Данная команда этой картой не поддерживается\n"
 
-#: g10/card-util.c:1615
+#: g10/card-util.c:1616
 msgid "Make off-card backup of encryption key? (Y/n) "
 msgstr "Сделать вне карты архивную копию ключа шифрования? (Y/n) "
 
-#: g10/card-util.c:1629
+#: g10/card-util.c:1630
 #, c-format
 msgid "Note: keys are already stored on the card!\n"
 msgstr "Замечание: ключи уже хранятся на карте!\n"
 
-#: g10/card-util.c:1632
+#: g10/card-util.c:1633
 msgid "Replace existing keys? (y/N) "
 msgstr "Заменить существующие ключи? (y/N) "
 
-#: g10/card-util.c:1644
+#: g10/card-util.c:1645
 #, c-format
 msgid ""
 "Please note that the factory settings of the PINs are\n"
@@ -1937,142 +1952,142 @@ msgstr ""
 "   PIN = '%s'    Админ. PIN = '%s'\n"
 "Вам следует изменить их командой --change-pin\n"
 
-#: g10/card-util.c:1679
+#: g10/card-util.c:1680
 msgid "Please select the type of key to generate:\n"
 msgstr "Выберите тип создаваемого ключа:\n"
 
-#: g10/card-util.c:1681 g10/card-util.c:1771
+#: g10/card-util.c:1682 g10/card-util.c:1772
 msgid "   (1) Signature key\n"
 msgstr "   (1) Ключ подписи\n"
 
-#: g10/card-util.c:1682 g10/card-util.c:1773
+#: g10/card-util.c:1683 g10/card-util.c:1774
 msgid "   (2) Encryption key\n"
 msgstr "   (2) Ключ шифрования\n"
 
-#: g10/card-util.c:1683 g10/card-util.c:1775
+#: g10/card-util.c:1684 g10/card-util.c:1776
 msgid "   (3) Authentication key\n"
 msgstr "   (3) Ключ удостоверения личности\n"
 
-#: g10/card-util.c:1768
+#: g10/card-util.c:1769
 msgid "Please select where to store the key:\n"
 msgstr "Выберите, где хранить ключ:\n"
 
-#: g10/card-util.c:1814
+#: g10/card-util.c:1815
 #, c-format
 msgid "KEYTOCARD failed: %s\n"
 msgstr "сбой записи ключа на карту: %s\n"
 
-#: g10/card-util.c:1919
+#: g10/card-util.c:1920
 #, c-format
 msgid "Note: This command destroys all keys stored on the card!\n"
 msgstr "Замечание: эта команда сотрет с карты все ключи!\n"
 
-#: g10/card-util.c:1922
+#: g10/card-util.c:1923
 msgid "Continue? (y/N) "
 msgstr "Продолжить? (y/N) "
 
-#: g10/card-util.c:1927
+#: g10/card-util.c:1928
 msgid "Really do a factory reset? (enter \"yes\") "
 msgstr "Подтвердите сброс к заводским установкам (введите \"yes\") "
 
-#: g10/card-util.c:2113
+#: g10/card-util.c:2114
 #, c-format
 msgid "error for setup KDF: %s\n"
 msgstr "ошибка при настройке KDF: %s\n"
 
-#: g10/card-util.c:2142 g10/keyedit.c:1259
+#: g10/card-util.c:2143 g10/keyedit.c:1260
 msgid "quit this menu"
 msgstr "выйти из этого меню"
 
-#: g10/card-util.c:2144
+#: g10/card-util.c:2145
 msgid "show admin commands"
 msgstr "показать административные команды"
 
-#: g10/card-util.c:2145 g10/keyedit.c:1262
+#: g10/card-util.c:2146 g10/keyedit.c:1263
 msgid "show this help"
 msgstr "показать данную справку"
 
-#: g10/card-util.c:2147
+#: g10/card-util.c:2148
 msgid "list all available data"
 msgstr "вывести все доступные данные"
 
-#: g10/card-util.c:2150
+#: g10/card-util.c:2151
 msgid "change card holder's name"
 msgstr "изменить имя держателя карты"
 
-#: g10/card-util.c:2151
+#: g10/card-util.c:2152
 msgid "change URL to retrieve key"
 msgstr "изменить URL получения ключа"
 
-#: g10/card-util.c:2152
+#: g10/card-util.c:2153
 msgid "fetch the key specified in the card URL"
 msgstr "запросить ключ по заданному картой URL"
 
-#: g10/card-util.c:2153
+#: g10/card-util.c:2154
 msgid "change the login name"
 msgstr "изменить имя учетной записи"
 
-#: g10/card-util.c:2154
+#: g10/card-util.c:2155
 msgid "change the language preferences"
 msgstr "изменить языковые предпочтения"
 
-#: g10/card-util.c:2155
+#: g10/card-util.c:2156
 msgid "change card holder's salutation"
 msgstr "изменить приветствие для держателя карты"
 
-#: g10/card-util.c:2157
+#: g10/card-util.c:2158
 msgid "change a CA fingerprint"
 msgstr "сменить отпечаток удостоверяющего центра"
 
-#: g10/card-util.c:2158
+#: g10/card-util.c:2159
 msgid "toggle the signature force PIN flag"
 msgstr "переключить признак 'подпись требует PIN'"
 
-#: g10/card-util.c:2159
+#: g10/card-util.c:2160
 msgid "generate new keys"
 msgstr "создать новые ключи"
 
-#: g10/card-util.c:2160
+#: g10/card-util.c:2161
 msgid "menu to change or unblock the PIN"
 msgstr "меню изменения или разблокировки PIN"
 
-#: g10/card-util.c:2161
+#: g10/card-util.c:2162
 msgid "verify the PIN and list all data"
 msgstr "проверить PIN и показать все данные"
 
-#: g10/card-util.c:2162
+#: g10/card-util.c:2163
 msgid "unblock the PIN using a Reset Code"
 msgstr "разблокировать PIN с помощью кода сброса"
 
-#: g10/card-util.c:2163
+#: g10/card-util.c:2164
 msgid "destroy all keys and data"
 msgstr "уничтожить все ключи и данные"
 
-#: g10/card-util.c:2164
+#: g10/card-util.c:2165
 msgid "setup KDF for PIN authentication"
 msgstr "настроить KDF для проверки по PIN"
 
-#: g10/card-util.c:2165
+#: g10/card-util.c:2166
 msgid "change the key attribute"
 msgstr "изменить атрибут ключа"
 
-#: g10/card-util.c:2289
+#: g10/card-util.c:2290
 msgid "gpg/card> "
 msgstr "gpg/card> "
 
-#: g10/card-util.c:2330
+#: g10/card-util.c:2331
 msgid "Admin-only command\n"
 msgstr "Команды администрирования\n"
 
-#: g10/card-util.c:2361
+#: g10/card-util.c:2362
 msgid "Admin commands are allowed\n"
 msgstr "Команды администрирования разрешены\n"
 
-#: g10/card-util.c:2363
+#: g10/card-util.c:2364
 msgid "Admin commands are not allowed\n"
 msgstr "Команды администрирования не разрешены\n"
 
-#: g10/card-util.c:2466 g10/keyedit.c:2228
+#: g10/card-util.c:2467 g10/keyedit.c:2229
 msgid "Invalid command  (try \"help\")\n"
 msgstr "Недопустимая команда (список команд: \"help\")\n"
 
@@ -2081,21 +2096,21 @@ msgstr "Недопустимая команда (список команд: \"he
 msgid "--output doesn't work for this command\n"
 msgstr "--output для данной команды не работает\n"
 
-#: g10/decrypt.c:247 g10/gpg.c:5083 g10/keyring.c:399 g10/keyring.c:750
+#: g10/decrypt.c:247 g10/gpg.c:5104 g10/keyring.c:399 g10/keyring.c:750
 #, c-format
 msgid "can't open '%s'\n"
 msgstr "не могу открыть '%s'\n"
 
 #: g10/delkey.c:83 g10/export.c:1947 g10/export.c:2230 g10/export.c:2351
-#: g10/getkey.c:1964 g10/gpg.c:5028 g10/keyedit.c:1444 g10/keyedit.c:2334
-#: g10/keyedit.c:2580 g10/keyedit.c:4543 g10/keylist.c:689 g10/keyserver.c:1259
+#: g10/getkey.c:2108 g10/gpg.c:5049 g10/keyedit.c:1445 g10/keyedit.c:2335
+#: g10/keyedit.c:2581 g10/keyedit.c:4544 g10/keylist.c:689 g10/keyserver.c:1092
 #: g10/revoke.c:230 g10/tofu.c:2165
 #, c-format
 msgid "key \"%s\" not found: %s\n"
 msgstr "ключ \"%s\" не найден: %s\n"
 
-#: g10/delkey.c:92 g10/export.c:2015 g10/getkey.c:1972 g10/getkey.c:4346
-#: g10/gpg.c:5037 g10/keyedit.c:2307 g10/keyserver.c:1277 g10/revoke.c:236
+#: g10/delkey.c:92 g10/export.c:2015 g10/getkey.c:2116 g10/getkey.c:4517
+#: g10/gpg.c:5058 g10/keyedit.c:2308 g10/keyserver.c:1110 g10/revoke.c:236
 #: g10/revoke.c:663 g10/tofu.c:2173
 #, c-format
 msgid "error reading keyblock: %s\n"
@@ -2156,9 +2171,9 @@ msgstr "ключа"
 msgid "subkey"
 msgstr "подключа"
 
-#: g10/delkey.c:299 g10/keyedit.c:2200 g10/keyedit.c:2210 g10/keyedit.c:2387
-#: g10/keyedit.c:2461 g10/keyedit.c:2532 g10/keyedit.c:2757 g10/keyedit.c:2987
-#: g10/keyedit.c:3056 g10/keyedit.c:3207
+#: g10/delkey.c:299 g10/keyedit.c:2201 g10/keyedit.c:2211 g10/keyedit.c:2388
+#: g10/keyedit.c:2462 g10/keyedit.c:2533 g10/keyedit.c:2758 g10/keyedit.c:2988
+#: g10/keyedit.c:3057 g10/keyedit.c:3208
 #, c-format
 msgid "update failed: %s\n"
 msgstr "сбой при обновлении: %s\n"
@@ -2183,7 +2198,7 @@ msgstr "имеется секретный ключ для открытого к
 msgid "use option \"--delete-secret-keys\" to delete it first.\n"
 msgstr "сначала удалите его командой \"--delete-secret-keys\".\n"
 
-#: g10/encrypt.c:202 g10/sign.c:1471
+#: g10/encrypt.c:202 g10/sign.c:1470
 #, c-format
 msgid "error creating passphrase: %s\n"
 msgstr "ошибка при создании фразы-пароля: %s\n"
@@ -2208,14 +2223,14 @@ msgstr "'%s' уже сжат\n"
 msgid "WARNING: '%s' is an empty file\n"
 msgstr "Внимание: файл '%s' пуст\n"
 
-#: g10/encrypt.c:387 g10/encrypt.c:610 g10/decrypt-data.c:260 g10/gpg.c:3901
-#: g10/gpg.c:3941 sm/decrypt.c:364 sm/encrypt.c:415 sm/gpgsm.c:1655
+#: g10/encrypt.c:387 g10/encrypt.c:610 g10/decrypt-data.c:260 g10/gpg.c:3922
+#: g10/gpg.c:3962 sm/decrypt.c:826 sm/encrypt.c:416 sm/gpgsm.c:1555
 #, c-format
 msgid "cipher algorithm '%s' may not be used in %s mode\n"
 msgstr "алгоритм шифрования '%s' нельзя использовать в режиме %s\n"
 
-#: g10/encrypt.c:396 g10/gpg.c:3907 g10/gpg.c:3953 g10/sig-check.c:146
-#: g10/sign.c:391 sm/gpgsm.c:1665 sm/gpgsm.c:1675 sm/sign.c:478 sm/verify.c:506
+#: g10/encrypt.c:396 g10/gpg.c:3928 g10/gpg.c:3974 g10/sig-check.c:146
+#: g10/sign.c:391 sm/gpgsm.c:1565 sm/gpgsm.c:1575 sm/sign.c:478 sm/verify.c:506
 #, c-format
 msgid "digest algorithm '%s' may not be used in %s mode\n"
 msgstr "хеш-функцию '%s' нельзя использовать в режиме %s\n"
@@ -2233,12 +2248,12 @@ msgstr ""
 "Внимание: принудительное использование симметричного шифра %s (%d)\n"
 "          нарушает предпочтения получателя\n"
 
-#: g10/encrypt.c:640 sm/encrypt.c:490
+#: g10/encrypt.c:640 sm/encrypt.c:491
 #, c-format
 msgid "WARNING: key %s is not suitable for encryption in %s mode\n"
 msgstr "Внимание: ключ %s не подходит для шифрования в режиме %s\n"
 
-#: g10/encrypt.c:751 g10/sign.c:1163
+#: g10/encrypt.c:751 g10/sign.c:1162
 #, c-format
 msgid ""
 "WARNING: forcing compression algorithm %s (%d) violates recipient "
@@ -2267,12 +2282,12 @@ msgstr "параметр '%s' нельзя использовать в режи
 msgid "%s encrypted data\n"
 msgstr "данные зашифрованы алгоритмом %s\n"
 
-#: g10/decrypt-data.c:243 g10/mainproc.c:396
+#: g10/decrypt-data.c:243 g10/mainproc.c:397
 #, c-format
 msgid "encrypted with unknown algorithm %d\n"
 msgstr "зашифровано неизвестным алгоритмом %d\n"
 
-#: g10/decrypt-data.c:357 g10/decrypt-data.c:410 sm/decrypt.c:130
+#: g10/decrypt-data.c:357 g10/decrypt-data.c:410 sm/decrypt.c:550
 #, c-format
 msgid ""
 "WARNING: message was encrypted with a weak key in the symmetric cipher.\n"
@@ -2289,7 +2304,7 @@ msgstr "проблема обработки зашифрованного пак
 msgid "no remote program execution supported\n"
 msgstr "удаленный запуск программы не поддерживается\n"
 
-#: g10/exec.c:381
+#: g10/exec.c:389
 #, c-format
 msgid ""
 "external program calls are disabled due to unsafe options file permissions\n"
@@ -2297,48 +2312,48 @@ msgstr ""
 "вызов внешних программ отключен из-за небезопасных прав доступа к файлу "
 "настроек\n"
 
-#: g10/exec.c:411
+#: g10/exec.c:419
 #, c-format
 msgid "this platform requires temporary files when calling external programs\n"
 msgstr ""
 "на данной платформе при вызове внешних программ требуются временные файлы\n"
 
-#: g10/exec.c:489
+#: g10/exec.c:497
 #, c-format
 msgid "unable to execute program '%s': %s\n"
 msgstr "не могу выполнить программу '%s': %s\n"
 
-#: g10/exec.c:492
+#: g10/exec.c:500
 #, c-format
 msgid "unable to execute shell '%s': %s\n"
 msgstr "не могу выполнить оболочку '%s': %s\n"
 
-#: g10/exec.c:583
+#: g10/exec.c:591
 #, c-format
 msgid "system error while calling external program: %s\n"
 msgstr "ошибка системы при вызове внешней программы: %s\n"
 
-#: g10/exec.c:594 g10/exec.c:661
+#: g10/exec.c:602 g10/exec.c:669
 #, c-format
 msgid "unnatural exit of external program\n"
 msgstr "ненормальное завершение внешней программы\n"
 
-#: g10/exec.c:609
+#: g10/exec.c:617
 #, c-format
 msgid "unable to execute external program\n"
 msgstr "не могу выполнить внешнюю программу\n"
 
-#: g10/exec.c:626
+#: g10/exec.c:634
 #, c-format
 msgid "unable to read external program response: %s\n"
 msgstr "не могу прочитать ответ внешней программы: %s\n"
 
-#: g10/exec.c:672 g10/exec.c:679
+#: g10/exec.c:680 g10/exec.c:687
 #, c-format
 msgid "WARNING: unable to remove tempfile (%s) '%s': %s\n"
 msgstr "Внимание: не могу удалить временный файл (%s) '%s': %s\n"
 
-#: g10/exec.c:684
+#: g10/exec.c:692
 #, c-format
 msgid "WARNING: unable to remove temp directory '%s': %s\n"
 msgstr "Внимание: не могу удалить временный каталог '%s': %s\n"
@@ -2373,8 +2388,8 @@ msgstr "пользоваться архивным форматом ключей
 msgid " - skipped"
 msgstr " - пропущено"
 
-#: g10/export.c:1324 g10/import.c:2073 g10/openfile.c:200 g10/openfile.c:294
-#: g10/sign.c:1013 g10/sign.c:1327
+#: g10/export.c:1324 g10/import.c:2085 g10/openfile.c:200 g10/openfile.c:294
+#: g10/sign.c:1012 g10/sign.c:1326
 #, c-format
 msgid "writing to '%s'\n"
 msgstr "сохраняю в '%s'\n"
@@ -2409,271 +2424,269 @@ msgstr "ошибка создания '%s': %s\n"
 msgid "[User ID not found]"
 msgstr "[Идентификатор пользователя не найден]"
 
-#: g10/getkey.c:1297
+#: g10/getkey.c:1441
 #, c-format
 msgid "automatically retrieved '%s' via %s\n"
 msgstr "автоматически получили '%s' через %s\n"
 
-#: g10/getkey.c:1303
+#: g10/getkey.c:1447
 #, c-format
 msgid "error retrieving '%s' via %s: %s\n"
 msgstr "ошибка получения '%s' через %s: %s\n"
 
-#: g10/getkey.c:1305
+#: g10/getkey.c:1449
 msgid "No fingerprint"
 msgstr "Нет отпечатка"
 
-#: g10/getkey.c:1526
+#: g10/getkey.c:1670
 #, c-format
 msgid "checking for a fresh copy of an expired key via %s\n"
 msgstr "поиск обновленной копии просроченного ключа по %s\n"
 
-#: g10/getkey.c:1941 g10/revoke.c:655 g10/revoke.c:720
+#: g10/getkey.c:2085 g10/revoke.c:655 g10/revoke.c:720
 #, c-format
 msgid "secret key \"%s\" not found: %s\n"
 msgstr "секретный ключ \"%s\" не найден: %s\n"
 
-#: g10/getkey.c:1944 g10/pkclist.c:988
+#: g10/getkey.c:2088 g10/pkclist.c:988
 #, c-format
 msgid "(check argument of option '%s')\n"
 msgstr "(проверьте аргумент параметра '%s')\n"
 
-#: g10/getkey.c:2020
+#: g10/getkey.c:2164
 #, c-format
 msgid "Warning: not using '%s' as default key: %s\n"
 msgstr "Внимание: '%s' не используется в качестве основного ключа: %s\n"
 
-#: g10/getkey.c:2028
+#: g10/getkey.c:2172
 #, c-format
 msgid "using \"%s\" as default secret key for signing\n"
 msgstr ""
 "\"%s\" используется в качестве основного секретного ключа для подписи\n"
 
-#: g10/getkey.c:2035
+#: g10/getkey.c:2179
 #, c-format
 msgid "all values passed to '%s' ignored\n"
 msgstr "все значения, переданные в '%s', игнорируются\n"
 
-#: g10/getkey.c:2880
+#: g10/getkey.c:3024
 #, c-format
 msgid "Invalid key %s made valid by --allow-non-selfsigned-uid\n"
 msgstr ""
 "Параметр --allow-non-selfsigned-uid сделал недостоверный ключ %s "
 "достоверным\n"
 
-#: g10/getkey.c:3730
+#: g10/getkey.c:3874
 #, c-format
 msgid "using subkey %s instead of primary key %s\n"
 msgstr "использую подключ %s вместо первичного ключа %s\n"
 
-#: g10/getkey.c:4275 g10/gpg.c:2107
+#: g10/getkey.c:4446 g10/gpg.c:2120
 #, c-format
 msgid "valid values for option '%s':\n"
 msgstr "недопустимые значения для параметра \"%s\"\n"
 
-#: g10/gpg.c:442 sm/gpgsm.c:206
+#: g10/gpg.c:439 sm/gpgsm.c:207
 msgid "make a signature"
 msgstr "создать подпись"
 
-#: g10/gpg.c:443
+#: g10/gpg.c:440
 msgid "make a clear text signature"
 msgstr "создать текстовую подпись"
 
-#: g10/gpg.c:445 sm/gpgsm.c:208
+#: g10/gpg.c:442 sm/gpgsm.c:209
 msgid "make a detached signature"
 msgstr "создать отделенную подпись"
 
-#: g10/gpg.c:446 sm/gpgsm.c:209
+#: g10/gpg.c:443 sm/gpgsm.c:210
 msgid "encrypt data"
 msgstr "зашифровать данные"
 
-#: g10/gpg.c:448
+#: g10/gpg.c:445
 msgid "encryption only with symmetric cipher"
 msgstr "шифрование только симметричным шифром"
 
-#: g10/gpg.c:450 sm/gpgsm.c:211
+#: g10/gpg.c:447 sm/gpgsm.c:212
 msgid "decrypt data (default)"
 msgstr "расшифровать данные (по умолчанию)"
 
-#: g10/gpg.c:452 sm/gpgsm.c:212
+#: g10/gpg.c:449 sm/gpgsm.c:213
 msgid "verify a signature"
 msgstr "проверить подпись"
 
-#: g10/gpg.c:454 sm/gpgsm.c:213
+#: g10/gpg.c:451 sm/gpgsm.c:214
 msgid "list keys"
 msgstr "вывести список ключей"
 
-#: g10/gpg.c:456
+#: g10/gpg.c:453
 msgid "list keys and signatures"
 msgstr "вывести список ключей и подписей"
 
-#: g10/gpg.c:459
+#: g10/gpg.c:456
 msgid "list and check key signatures"
 msgstr "вывести и проверить подписи ключей"
 
-#: g10/gpg.c:461 sm/gpgsm.c:218
+#: g10/gpg.c:458 sm/gpgsm.c:219
 msgid "list keys and fingerprints"
 msgstr "вывести список ключей и их отпечатков"
 
-#: g10/gpg.c:462 sm/gpgsm.c:216
+#: g10/gpg.c:459 sm/gpgsm.c:217
 msgid "list secret keys"
 msgstr "вывести список секретных ключей"
 
-#: g10/gpg.c:464 sm/gpgsm.c:219
+#: g10/gpg.c:461 sm/gpgsm.c:220
 msgid "generate a new key pair"
 msgstr "создать новую пару ключей"
 
-#: g10/gpg.c:467
+#: g10/gpg.c:464
 msgid "quickly generate a new key pair"
 msgstr "быстро создать новую пару ключей"
 
-#: g10/gpg.c:470
+#: g10/gpg.c:467
 msgid "quickly add a new user-id"
 msgstr "быстро добавить новый идентификатор пользователя"
 
-#: g10/gpg.c:475
+#: g10/gpg.c:472
 msgid "quickly revoke a user-id"
 msgstr "быстро отозвать идентификатор пользователя"
 
-#: g10/gpg.c:478
+#: g10/gpg.c:475
 msgid "quickly set a new expiration date"
 msgstr "быстро установить новый срок действия"
 
-#: g10/gpg.c:481
+#: g10/gpg.c:478
 msgid "full featured key pair generation"
 msgstr "создание полноценной пары ключей"
 
-#: g10/gpg.c:484
+#: g10/gpg.c:481
 msgid "generate a revocation certificate"
 msgstr "создать сертификат отзыва"
 
-#: g10/gpg.c:487 sm/gpgsm.c:222
+#: g10/gpg.c:484 sm/gpgsm.c:223
 msgid "remove keys from the public keyring"
 msgstr "удалить ключи из таблицы открытых ключей"
 
-#: g10/gpg.c:489
+#: g10/gpg.c:486
 msgid "remove keys from the secret keyring"
 msgstr "удалить ключи из таблицы секретных ключей"
 
-#: g10/gpg.c:491
+#: g10/gpg.c:488
 msgid "quickly sign a key"
 msgstr "быстро подписать ключ"
 
-#: g10/gpg.c:493
+#: g10/gpg.c:490
 msgid "quickly sign a key locally"
 msgstr "быстро подписать ключ локально"
 
-#: g10/gpg.c:495
-#, fuzzy
-#| msgid "quickly revoke a user-id"
+#: g10/gpg.c:492
 msgid "quickly revoke a key signature"
-msgstr "бÑ\8bÑ\81Ñ\82Ñ\80о Ð¾Ñ\82озваÑ\82Ñ\8c Ð¸Ð´ÐµÐ½Ñ\82иÑ\84икаÑ\82оÑ\80 Ð¿Ð¾Ð»Ñ\8cзоваÑ\82елÑ\8f"
+msgstr "бÑ\8bÑ\81Ñ\82Ñ\80о Ð¾Ñ\82озваÑ\82Ñ\8c Ð¿Ð¾Ð´Ð¿Ð¸Ñ\81Ñ\8c Ñ\81 ÐºÐ»Ñ\8eÑ\87а"
 
-#: g10/gpg.c:496
+#: g10/gpg.c:493
 msgid "sign a key"
 msgstr "подписать ключ"
 
-#: g10/gpg.c:497
+#: g10/gpg.c:494
 msgid "sign a key locally"
 msgstr "подписать ключ локально"
 
-#: g10/gpg.c:498
+#: g10/gpg.c:495
 msgid "sign or edit a key"
 msgstr "подписать или редактировать ключ"
 
-#: g10/gpg.c:500 sm/gpgsm.c:240
+#: g10/gpg.c:497 sm/gpgsm.c:241
 msgid "change a passphrase"
 msgstr "сменить фразу-пароль"
 
-#: g10/gpg.c:504
+#: g10/gpg.c:501
 msgid "export keys"
 msgstr "экспортировать ключи"
 
-#: g10/gpg.c:505
+#: g10/gpg.c:502
 msgid "export keys to a keyserver"
 msgstr "экспортировать ключи на сервер ключей"
 
-#: g10/gpg.c:506
+#: g10/gpg.c:503
 msgid "import keys from a keyserver"
 msgstr "импортировать ключи с сервера ключей"
 
-#: g10/gpg.c:509
+#: g10/gpg.c:506
 msgid "search for keys on a keyserver"
 msgstr "искать ключи на сервере ключей"
 
-#: g10/gpg.c:511
+#: g10/gpg.c:508
 msgid "update all keys from a keyserver"
 msgstr "обновить все ключи с сервера ключей"
 
-#: g10/gpg.c:519
+#: g10/gpg.c:516
 msgid "import/merge keys"
 msgstr "импортировать/объединить ключи"
 
-#: g10/gpg.c:522
+#: g10/gpg.c:519
 msgid "print the card status"
 msgstr "показать состояние карты"
 
-#: g10/gpg.c:523
+#: g10/gpg.c:520
 msgid "change data on a card"
 msgstr "изменить данные на карте"
 
-#: g10/gpg.c:525
+#: g10/gpg.c:522
 msgid "change a card's PIN"
 msgstr "сменить PIN карты"
 
-#: g10/gpg.c:537
+#: g10/gpg.c:534
 msgid "update the trust database"
 msgstr "обновить таблицу доверия"
 
-#: g10/gpg.c:546
+#: g10/gpg.c:543
 msgid "print message digests"
 msgstr "вывести хеши сообщений"
 
-#: g10/gpg.c:549 sm/gpgsm.c:235
+#: g10/gpg.c:546 sm/gpgsm.c:236
 msgid "run in server mode"
 msgstr "запуск в режиме сервера"
 
-#: g10/gpg.c:551
+#: g10/gpg.c:548
 msgid "|VALUE|set the TOFU policy for a key"
 msgstr "|VALUE|установить правила TOFU для ключа"
 
-#: g10/gpg.c:555 sm/gpgsm.c:254
+#: g10/gpg.c:552 sm/gpgsm.c:255
 msgid "create ascii armored output"
 msgstr "вывод в текстовом формате"
 
-#: g10/gpg.c:558 sm/gpgsm.c:271
+#: g10/gpg.c:555 sm/gpgsm.c:272
 msgid "|USER-ID|encrypt for USER-ID"
 msgstr "|USER-ID|зашифровать для пользователя USER-ID"
 
-#: g10/gpg.c:574 sm/gpgsm.c:307
+#: g10/gpg.c:571 sm/gpgsm.c:308
 msgid "|USER-ID|use USER-ID to sign or decrypt"
 msgstr "|USER-ID|использовать ключ USER-ID для подписи и расшифровки"
 
-#: g10/gpg.c:580
+#: g10/gpg.c:577
 msgid "|N|set compress level to N (0 disables)"
 msgstr "|N|установить уровень сжатия N (0 - без сжатия)"
 
-#: g10/gpg.c:587
+#: g10/gpg.c:584
 msgid "use canonical text mode"
 msgstr "использовать канонический текстовый режим"
 
-#: g10/gpg.c:604 g10/gpgv.c:82 sm/gpgsm.c:309
+#: g10/gpg.c:601 g10/gpgv.c:82 sm/gpgsm.c:310
 msgid "|FILE|write output to FILE"
 msgstr "|FILE|выводить данные в файл FILE"
 
-#: g10/gpg.c:614 kbx/kbxutil.c:90 sm/gpgsm.c:321 tools/gpgconf.c:110
+#: g10/gpg.c:611 kbx/kbxutil.c:90 sm/gpgsm.c:322 tools/gpgconf.c:110
 msgid "do not make any changes"
 msgstr "не делать никаких изменений"
 
-#: g10/gpg.c:615
+#: g10/gpg.c:612
 msgid "prompt before overwriting"
 msgstr "спросить перед перезаписью"
 
-#: g10/gpg.c:665
+#: g10/gpg.c:662
 msgid "use strict OpenPGP behavior"
 msgstr "строго следовать стандарту OpenPGP"
 
-#: g10/gpg.c:692 sm/gpgsm.c:364
+#: g10/gpg.c:689 sm/gpgsm.c:367
 msgid ""
 "@\n"
 "(See the man page for a complete listing of all commands and options)\n"
@@ -2681,7 +2694,7 @@ msgstr ""
 "@\n"
 "(Полный список команд и параметров см. на странице man)\n"
 
-#: g10/gpg.c:695
+#: g10/gpg.c:692
 msgid ""
 "@\n"
 "Examples:\n"
@@ -2701,11 +2714,11 @@ msgstr ""
 " --list-keys [имена]        показать ключи\n"
 " --fingerprint [имена]      показать отпечатки\n"
 
-#: g10/gpg.c:1092
+#: g10/gpg.c:1096
 msgid "Usage: @GPG@ [options] [files] (-h for help)"
 msgstr "Вызов: @GPG@ [параметры] [файлы] (-h - подсказка)"
 
-#: g10/gpg.c:1095
+#: g10/gpg.c:1099
 msgid ""
 "Syntax: @GPG@ [options] [files]\n"
 "Sign, check, encrypt or decrypt\n"
@@ -2715,7 +2728,7 @@ msgstr ""
 "Подписи и их проверка, шифрование и расшифровка\n"
 "Действие по умолчанию зависит от входных данных\n"
 
-#: g10/gpg.c:1106 sm/gpgsm.c:591
+#: g10/gpg.c:1110 sm/gpgsm.c:594
 msgid ""
 "\n"
 "Supported algorithms:\n"
@@ -2723,95 +2736,95 @@ msgstr ""
 "\n"
 "Поддерживаются следующие алгоритмы:\n"
 
-#: g10/gpg.c:1109
+#: g10/gpg.c:1113
 msgid "Pubkey: "
 msgstr "С открытым ключом: "
 
-#: g10/gpg.c:1116 g10/keyedit.c:3281
+#: g10/gpg.c:1120 g10/keyedit.c:3282
 msgid "Cipher: "
 msgstr "Симметричные шифры: "
 
-#: g10/gpg.c:1123
+#: g10/gpg.c:1127
 msgid "Hash: "
 msgstr "Хеш-функции: "
 
-#: g10/gpg.c:1130 g10/keyedit.c:3347
+#: g10/gpg.c:1134 g10/keyedit.c:3348
 msgid "Compression: "
 msgstr "Алгоритмы сжатия: "
 
-#: g10/gpg.c:1199 sm/gpgsm.c:665
+#: g10/gpg.c:1207 sm/gpgsm.c:668
 #, c-format
 msgid "usage: %s [options] %s\n"
 msgstr "вызов: %s [параметры] %s\n"
 
-#: g10/gpg.c:1388 sm/gpgsm.c:754
+#: g10/gpg.c:1396 sm/gpgsm.c:761
 #, c-format
 msgid "conflicting commands\n"
 msgstr "несовместимые команды\n"
 
-#: g10/gpg.c:1406
+#: g10/gpg.c:1414
 #, c-format
 msgid "no = sign found in group definition '%s'\n"
 msgstr "в определении группы '%s' отсутствует знак =\n"
 
-#: g10/gpg.c:1604
+#: g10/gpg.c:1612
 #, c-format
 msgid "WARNING: unsafe ownership on homedir '%s'\n"
 msgstr "Внимание: небезопасный владелец домашнего каталога '%s'\n"
 
-#: g10/gpg.c:1607
+#: g10/gpg.c:1615
 #, c-format
 msgid "WARNING: unsafe ownership on configuration file '%s'\n"
 msgstr "Внимание: небезопасный владелец файла настроек '%s'\n"
 
-#: g10/gpg.c:1610
+#: g10/gpg.c:1618
 #, c-format
 msgid "WARNING: unsafe ownership on extension '%s'\n"
 msgstr "Внимание: небезопасный владелец файла модуля расширения '%s'\n"
 
-#: g10/gpg.c:1616
+#: g10/gpg.c:1624
 #, c-format
 msgid "WARNING: unsafe permissions on homedir '%s'\n"
 msgstr "Внимание: небезопасные права доступа к домашнему каталогу '%s'\n"
 
-#: g10/gpg.c:1619
+#: g10/gpg.c:1627
 #, c-format
 msgid "WARNING: unsafe permissions on configuration file '%s'\n"
 msgstr "Внимание: небезопасные права доступа к файлу настроек '%s'\n"
 
-#: g10/gpg.c:1622
+#: g10/gpg.c:1630
 #, c-format
 msgid "WARNING: unsafe permissions on extension '%s'\n"
 msgstr "Внимание: небезопасные права доступа к файлу модуля расширения '%s'\n"
 
-#: g10/gpg.c:1628
+#: g10/gpg.c:1636
 #, c-format
 msgid "WARNING: unsafe enclosing directory ownership on homedir '%s'\n"
 msgstr ""
 "Внимание: небезопасный владелец каталога, содержащего домашний каталог '%s'\n"
 
-#: g10/gpg.c:1631
+#: g10/gpg.c:1639
 #, c-format
 msgid ""
 "WARNING: unsafe enclosing directory ownership on configuration file '%s'\n"
 msgstr ""
 "Внимание: небезопасный владелец каталога, содержащего файл настроек '%s'\n"
 
-#: g10/gpg.c:1634
+#: g10/gpg.c:1642
 #, c-format
 msgid "WARNING: unsafe enclosing directory ownership on extension '%s'\n"
 msgstr ""
 "Внимание: небезопасный владелец каталога,\n"
 "          содержащего модуль расширения '%s'\n"
 
-#: g10/gpg.c:1640
+#: g10/gpg.c:1648
 #, c-format
 msgid "WARNING: unsafe enclosing directory permissions on homedir '%s'\n"
 msgstr ""
 "Внимание: небезопасные права доступа к каталогу,\n"
 "          содержащему домашний каталог '%s'\n"
 
-#: g10/gpg.c:1643
+#: g10/gpg.c:1651
 #, c-format
 msgid ""
 "WARNING: unsafe enclosing directory permissions on configuration file '%s'\n"
@@ -2819,456 +2832,456 @@ msgstr ""
 "ВНИМАНИЕ: небезопасные права доступа к каталогу,\n"
 "          содержащему файл настроек '%s'\n"
 
-#: g10/gpg.c:1646
+#: g10/gpg.c:1654
 #, c-format
 msgid "WARNING: unsafe enclosing directory permissions on extension '%s'\n"
 msgstr ""
 "Внимание: небезопасные права доступа к каталогу,\n"
 "          содержащему файл модуля расширения '%s'\n"
 
-#: g10/gpg.c:1862
+#: g10/gpg.c:1870
 #, c-format
 msgid "unknown configuration item '%s'\n"
 msgstr "неизвестный элемент в файле настроек '%s'\n"
 
-#: g10/gpg.c:1979
+#: g10/gpg.c:1992
 msgid "display photo IDs during key listings"
 msgstr "показывать в списке ключей фотоидентификаторы"
 
-#: g10/gpg.c:1981
+#: g10/gpg.c:1994
 msgid "show key usage information during key listings"
 msgstr "показывать в списке ключей сведения о назначении ключа"
 
-#: g10/gpg.c:1983
+#: g10/gpg.c:1996
 msgid "show policy URLs during signature listings"
 msgstr "показывать в списке подписей URL правил"
 
-#: g10/gpg.c:1985
+#: g10/gpg.c:1998
 msgid "show all notations during signature listings"
 msgstr "показывать в списке подписей все замечания"
 
-#: g10/gpg.c:1987
+#: g10/gpg.c:2000
 msgid "show IETF standard notations during signature listings"
 msgstr "показывать в списке подписей замечания стандарта IETF"
 
-#: g10/gpg.c:1991
+#: g10/gpg.c:2004
 msgid "show user-supplied notations during signature listings"
 msgstr "показывать в списке подписей пользовательские замечания"
 
-#: g10/gpg.c:1993
+#: g10/gpg.c:2006
 msgid "show preferred keyserver URLs during signature listings"
 msgstr "показывать в списке подписей URL предпочтительных серверов ключей"
 
-#: g10/gpg.c:1995
+#: g10/gpg.c:2008
 msgid "show user ID validity during key listings"
 msgstr ""
 "показывать в списке ключей действительность идентификаторов пользователей"
 
-#: g10/gpg.c:1997
+#: g10/gpg.c:2010
 msgid "show revoked and expired user IDs in key listings"
 msgstr ""
 "показывать в списке ключей отозванные и просроченные идентификаторы "
 "пользователей"
 
-#: g10/gpg.c:1999
+#: g10/gpg.c:2012
 msgid "show revoked and expired subkeys in key listings"
 msgstr "показывать в списке ключей отозванные и просроченные подключи"
 
-#: g10/gpg.c:2001
+#: g10/gpg.c:2014
 msgid "show the keyring name in key listings"
 msgstr "показывать в списке ключей название таблицы ключей"
 
-#: g10/gpg.c:2003
+#: g10/gpg.c:2016
 msgid "show expiration dates during signature listings"
 msgstr "показывать в списке подписей сроки действия"
 
-#: g10/gpg.c:2118
+#: g10/gpg.c:2131
 #, c-format
 msgid "unknown TOFU policy '%s'\n"
 msgstr "неизвестные правила TOFU '%s'\n"
 
-#: g10/gpg.c:2120
+#: g10/gpg.c:2133
 #, c-format
 msgid "(use \"help\" to list choices)\n"
 msgstr "(\"help\" выведет список вариантов)\n"
 
-#: g10/gpg.c:2840 g10/gpg.c:3671 g10/gpg.c:3683
+#: g10/gpg.c:2856 g10/gpg.c:3691 g10/gpg.c:3703
 #, c-format
 msgid "Note: %s is not for normal use!\n"
 msgstr "Замечание: %s не предназначен для нормального применения!\n"
 
-#: g10/gpg.c:3017 g10/gpg.c:3029
+#: g10/gpg.c:3033 g10/gpg.c:3045
 #, c-format
 msgid "'%s' is not a valid signature expiration\n"
 msgstr "'%s' - не допустимый срок действия подписи\n"
 
-#: g10/gpg.c:3051
+#: g10/gpg.c:3067
 #, c-format
 msgid "\"%s\" is not a proper mail address\n"
 msgstr "\"%s\" не является адресом электронной почты\n"
 
-#: g10/gpg.c:3083 sm/gpgsm.c:1177
+#: g10/gpg.c:3099 sm/gpgsm.c:1091
 #, c-format
 msgid "invalid pinentry mode '%s'\n"
 msgstr "недопустимый режим ввода пароля '%s'\n"
 
-#: g10/gpg.c:3089 sm/gpgsm.c:1183
+#: g10/gpg.c:3105 sm/gpgsm.c:1097
 #, c-format
 msgid "invalid request origin '%s'\n"
 msgstr "недопустимый источник запроса '%s'\n"
 
-#: g10/gpg.c:3143
+#: g10/gpg.c:3159
 #, c-format
 msgid "'%s' is not a valid character set\n"
 msgstr "'%s' - не допустимая таблица символов\n"
 
-#: g10/gpg.c:3165 g10/gpg.c:3375 g10/keyedit.c:5281
+#: g10/gpg.c:3181 g10/gpg.c:3395 g10/keyedit.c:5282
 #, c-format
 msgid "could not parse keyserver URL\n"
 msgstr "не могу интерпретировать URL сервера ключей\n"
 
-#: g10/gpg.c:3183
+#: g10/gpg.c:3199
 #, c-format
 msgid "%s:%d: invalid keyserver options\n"
 msgstr "%s:%d: недопустимые параметры сервера ключей\n"
 
-#: g10/gpg.c:3186
+#: g10/gpg.c:3202
 #, c-format
 msgid "invalid keyserver options\n"
 msgstr "недопустимые параметры сервера ключей\n"
 
-#: g10/gpg.c:3193
+#: g10/gpg.c:3209
 #, c-format
 msgid "%s:%d: invalid import options\n"
 msgstr "%s:%d: недопустимые параметры импорта\n"
 
-#: g10/gpg.c:3196
+#: g10/gpg.c:3212
 #, c-format
 msgid "invalid import options\n"
 msgstr "недопустимые параметры импорта\n"
 
-#: g10/gpg.c:3202 g10/gpg.c:3217
+#: g10/gpg.c:3218 g10/gpg.c:3233
 #, c-format
 msgid "invalid filter option: %s\n"
 msgstr "недопустимый параметр фильтра: %s\n"
 
-#: g10/gpg.c:3208
+#: g10/gpg.c:3224
 #, c-format
 msgid "%s:%d: invalid export options\n"
 msgstr "%s:%d: недопустимые параметры экспорта\n"
 
-#: g10/gpg.c:3211
+#: g10/gpg.c:3227
 #, c-format
 msgid "invalid export options\n"
 msgstr "недопустимые параметры экспорта\n"
 
-#: g10/gpg.c:3223
+#: g10/gpg.c:3239
 #, c-format
 msgid "%s:%d: invalid list options\n"
 msgstr "%s:%d: недопустимые параметры списка\n"
 
-#: g10/gpg.c:3226
+#: g10/gpg.c:3242
 #, c-format
 msgid "invalid list options\n"
 msgstr "недопустимые параметры списка\n"
 
-#: g10/gpg.c:3234
+#: g10/gpg.c:3250
 msgid "display photo IDs during signature verification"
 msgstr "показать при проверке подписи фотоидентификаторы"
 
-#: g10/gpg.c:3236
+#: g10/gpg.c:3252
 msgid "show policy URLs during signature verification"
 msgstr "показать при проверке подписи URL правил"
 
-#: g10/gpg.c:3238
+#: g10/gpg.c:3254
 msgid "show all notations during signature verification"
 msgstr "показать при проверке подписей все замечания"
 
-#: g10/gpg.c:3240
+#: g10/gpg.c:3256
 msgid "show IETF standard notations during signature verification"
 msgstr "показать при проверке подписей замечания стандарта IETF"
 
-#: g10/gpg.c:3244
+#: g10/gpg.c:3260
 msgid "show user-supplied notations during signature verification"
 msgstr "показать при проверке подписей пользовательские замечания"
 
-#: g10/gpg.c:3246
+#: g10/gpg.c:3262
 msgid "show preferred keyserver URLs during signature verification"
 msgstr "показать при проверке подписей URL предпочтительных серверов ключей"
 
-#: g10/gpg.c:3248
+#: g10/gpg.c:3264
 msgid "show user ID validity during signature verification"
 msgstr ""
 "показать при проверке подписей действительность идентификаторов пользователей"
 
-#: g10/gpg.c:3250
+#: g10/gpg.c:3266
 msgid "show revoked and expired user IDs in signature verification"
 msgstr ""
 "показать при проверке подписей отозванные и просроченные идентификаторы "
 "пользователя"
 
-#: g10/gpg.c:3252
+#: g10/gpg.c:3268
 msgid "show only the primary user ID in signature verification"
 msgstr ""
 "показать при проверке подписей только первичный идентификатор пользователя"
 
-#: g10/gpg.c:3254
+#: g10/gpg.c:3270
 msgid "validate signatures with PKA data"
 msgstr "проверить подписи по данным PKA"
 
-#: g10/gpg.c:3256
+#: g10/gpg.c:3272
 msgid "elevate the trust of signatures with valid PKA data"
 msgstr "поднять доверие подписей по действительным данным PKA"
 
-#: g10/gpg.c:3263
+#: g10/gpg.c:3279
 #, c-format
 msgid "%s:%d: invalid verify options\n"
 msgstr "%s:%d: недопустимые параметры проверки\n"
 
-#: g10/gpg.c:3266
+#: g10/gpg.c:3282
 #, c-format
 msgid "invalid verify options\n"
 msgstr "недопустимые параметры проверки\n"
 
-#: g10/gpg.c:3273
+#: g10/gpg.c:3289
 #, c-format
 msgid "unable to set exec-path to %s\n"
 msgstr "не могу определить путь запуска для %s\n"
 
-#: g10/gpg.c:3478
+#: g10/gpg.c:3498
 #, c-format
 msgid "%s:%d: invalid auto-key-locate list\n"
 msgstr "%s:%d: недопустимый список auto-key-locate\n"
 
-#: g10/gpg.c:3481
+#: g10/gpg.c:3501
 #, c-format
 msgid "invalid auto-key-locate list\n"
 msgstr "недопустимый список auto-key-locate\n"
 
-#: g10/gpg.c:3653 sm/gpgsm.c:1541
+#: g10/gpg.c:3673 sm/gpgsm.c:1441
 #, c-format
 msgid "WARNING: program may create a core file!\n"
 msgstr "Внимание: возможно создание файла образа памяти!\n"
 
-#: g10/gpg.c:3664
+#: g10/gpg.c:3684
 #, c-format
 msgid "WARNING: %s overrides %s\n"
 msgstr "Внимание: %s отменяет %s\n"
 
-#: g10/gpg.c:3673
+#: g10/gpg.c:3693
 #, c-format
 msgid "%s not allowed with %s!\n"
 msgstr "%s с %s недопустимо!\n"
 
-#: g10/gpg.c:3676
+#: g10/gpg.c:3696
 #, c-format
 msgid "%s makes no sense with %s!\n"
 msgstr "%s с %s не имеет смысла!\n"
 
-#: g10/gpg.c:3691 sm/gpgsm.c:1558 dirmngr/dirmngr.c:1082
+#: g10/gpg.c:3711 sm/gpgsm.c:1458 dirmngr/dirmngr.c:1117
 #, c-format
 msgid "WARNING: running with faked system time: "
 msgstr "Внимание: работаем с фальшивым системным временем: "
 
-#: g10/gpg.c:3712
+#: g10/gpg.c:3732
 #, c-format
 msgid "will not run with insecure memory due to %s\n"
 msgstr "отказываюсь работать с небезопасной памятью из-за %s\n"
 
-#: g10/gpg.c:3747 g10/gpg.c:3771 sm/gpgsm.c:1625
+#: g10/gpg.c:3767 g10/gpg.c:3791 sm/gpgsm.c:1525
 #, c-format
 msgid "selected cipher algorithm is invalid\n"
 msgstr "выбран недопустимый алгоритм шифрования\n"
 
-#: g10/gpg.c:3759
+#: g10/gpg.c:3779
 #, c-format
 msgid "selected compression algorithm is invalid\n"
 msgstr "выбран недопустимый алгоритм сжатия\n"
 
-#: g10/gpg.c:3765
+#: g10/gpg.c:3785
 #, c-format
 msgid "selected certification digest algorithm is invalid\n"
 msgstr "выбрана недопустимая хеш-функция для сертификации\n"
 
-#: g10/gpg.c:3780
+#: g10/gpg.c:3800
 #, c-format
 msgid "completes-needed must be greater than 0\n"
 msgstr "completes-needed должен быть больше 0\n"
 
-#: g10/gpg.c:3782
+#: g10/gpg.c:3802
 #, c-format
 msgid "marginals-needed must be greater than 1\n"
 msgstr "marginals-needed должен быть больше 1\n"
 
-#: g10/gpg.c:3784
+#: g10/gpg.c:3804
 #, c-format
 msgid "max-cert-depth must be in the range from 1 to 255\n"
 msgstr "max-cert-depth должен быть в диапазоне от 1 до 255\n"
 
-#: g10/gpg.c:3786
+#: g10/gpg.c:3806
 #, c-format
 msgid "invalid default-cert-level; must be 0, 1, 2, or 3\n"
 msgstr "недопустимый default-cert-level; должен быть 0, 1, 2 или 3\n"
 
-#: g10/gpg.c:3788
+#: g10/gpg.c:3808
 #, c-format
 msgid "invalid min-cert-level; must be 1, 2, or 3\n"
 msgstr "недопустимый min-cert-level; должен быть 0, 1, 2 или 3\n"
 
-#: g10/gpg.c:3791
+#: g10/gpg.c:3812
 #, c-format
 msgid "Note: simple S2K mode (0) is strongly discouraged\n"
 msgstr "Замечание: простой режим S2K (0) строго противопоказан\n"
 
-#: g10/gpg.c:3795
+#: g10/gpg.c:3816
 #, c-format
 msgid "invalid S2K mode; must be 0, 1 or 3\n"
 msgstr "недопустимый режим S2K; должно быть 0, 1 или 3\n"
 
-#: g10/gpg.c:3802
+#: g10/gpg.c:3823
 #, c-format
 msgid "invalid default preferences\n"
 msgstr "недопустимые предпочтения по умолчанию\n"
 
-#: g10/gpg.c:3806
+#: g10/gpg.c:3827
 #, c-format
 msgid "invalid personal cipher preferences\n"
 msgstr "недопустимые личные предпочтения шифра\n"
 
-#: g10/gpg.c:3810
+#: g10/gpg.c:3831
 #, c-format
 msgid "invalid personal digest preferences\n"
 msgstr "недопустимые личные предпочтения хеш-функции\n"
 
-#: g10/gpg.c:3814
+#: g10/gpg.c:3835
 #, c-format
 msgid "invalid personal compress preferences\n"
 msgstr "недопустимые личные предпочтения алгоритмов сжатия\n"
 
-#: g10/gpg.c:3850
+#: g10/gpg.c:3871
 #, c-format
 msgid "%s does not yet work with %s\n"
 msgstr "%s пока не работает совместно с %s!\n"
 
-#: g10/gpg.c:3913
+#: g10/gpg.c:3934
 #, c-format
 msgid "compression algorithm '%s' may not be used in %s mode\n"
 msgstr "алгоритм сжатия '%s' нельзя использовать в режиме %s\n"
 
-#: g10/gpg.c:4057
+#: g10/gpg.c:4078
 #, c-format
 msgid "failed to initialize the TrustDB: %s\n"
 msgstr "сбой инициализации таблицы доверия: %s\n"
 
-#: g10/gpg.c:4069
+#: g10/gpg.c:4090
 #, c-format
 msgid "WARNING: recipients (-r) given without using public key encryption\n"
 msgstr ""
 "ВНИМАНИЕ: получатели (-r) заданы без использования шифрования с открытым "
 "ключом\n"
 
-#: g10/gpg.c:4141
+#: g10/gpg.c:4162
 #, c-format
 msgid "symmetric encryption of '%s' failed: %s\n"
 msgstr "сбой симметричного шифрования '%s': %s\n"
 
-#: g10/gpg.c:4170
+#: g10/gpg.c:4191
 #, c-format
 msgid "you cannot use --symmetric --encrypt with --s2k-mode 0\n"
 msgstr "--symmetric --encrypt нельзя использовать совместно с --s2k-mode 0\n"
 
-#: g10/gpg.c:4173
+#: g10/gpg.c:4194
 #, c-format
 msgid "you cannot use --symmetric --encrypt in %s mode\n"
 msgstr "в режиме %s нельзя использовать --symmetric --encrypt\n"
 
-#: g10/gpg.c:4231
+#: g10/gpg.c:4252
 #, c-format
 msgid "you cannot use --symmetric --sign --encrypt with --s2k-mode 0\n"
 msgstr ""
 "нельзя использовать --symmetric --sign --encrypt совместно с --s2k-mode 0\n"
 
-#: g10/gpg.c:4234
+#: g10/gpg.c:4255
 #, c-format
 msgid "you cannot use --symmetric --sign --encrypt in %s mode\n"
 msgstr "в режиме %s нельзя использовать --symmetric --sign --encrypt\n"
 
-#: g10/gpg.c:4622 g10/keyserver.c:1881
+#: g10/gpg.c:4643 g10/keyserver.c:1648
 #, c-format
 msgid "keyserver send failed: %s\n"
 msgstr "сбой при отправке на сервер ключей: %s\n"
 
-#: g10/gpg.c:4627
+#: g10/gpg.c:4648
 #, c-format
 msgid "keyserver receive failed: %s\n"
 msgstr "сбой при получении с сервера ключей: %s\n"
 
-#: g10/gpg.c:4633
+#: g10/gpg.c:4654
 #, c-format
 msgid "key export failed: %s\n"
 msgstr "сбой при экспорте ключа: %s\n"
 
-#: g10/gpg.c:4646
+#: g10/gpg.c:4667
 #, c-format
 msgid "export as ssh key failed: %s\n"
 msgstr "сбой при экспорте в виде ключа ssh: %s\n"
 
-#: g10/gpg.c:4658
+#: g10/gpg.c:4679
 #, c-format
 msgid "keyserver search failed: %s\n"
 msgstr "сбой при поиске на сервере ключей: %s\n"
 
-#: g10/gpg.c:4671
+#: g10/gpg.c:4692
 #, c-format
 msgid "keyserver refresh failed: %s\n"
 msgstr "сбой при обновлении с сервера ключей: %s\n"
 
-#: g10/gpg.c:4738
+#: g10/gpg.c:4759
 #, c-format
 msgid "dearmoring failed: %s\n"
 msgstr "ошибка преобразования из текстового формата: %s\n"
 
-#: g10/gpg.c:4749
+#: g10/gpg.c:4770
 #, c-format
 msgid "enarmoring failed: %s\n"
 msgstr "ошибка преобразования в текстовый формат: %s\n"
 
-#: g10/gpg.c:4841
+#: g10/gpg.c:4862
 #, c-format
 msgid "invalid hash algorithm '%s'\n"
 msgstr "недопустимая хеш-функция '%s'\n"
 
-#: g10/gpg.c:4993 g10/tofu.c:2153
+#: g10/gpg.c:5014 g10/tofu.c:2153
 #, c-format
 msgid "error parsing key specification '%s': %s\n"
 msgstr "ошибка синтаксического анализа спецификации ключа '%s': %s\n"
 
-#: g10/gpg.c:5006
+#: g10/gpg.c:5027
 #, c-format
 msgid "'%s' does not appear to be a valid key ID, fingerprint or keygrip\n"
 msgstr "'%s' не является идентификатором, отпечатком или кодом ключа\n"
 
-#: g10/gpg.c:5062
+#: g10/gpg.c:5083
 #, c-format
 msgid "WARNING: no command supplied.  Trying to guess what you mean ...\n"
 msgstr "Внимание: команда не отдана. Пытаюсь угадать, что имелось в виду ...\n"
 
-#: g10/gpg.c:5073
+#: g10/gpg.c:5094
 #, c-format
 msgid "Go ahead and type your message ...\n"
 msgstr "Пишите сообщение ...\n"
 
-#: g10/gpg.c:5418
+#: g10/gpg.c:5439
 #, c-format
 msgid "the given certification policy URL is invalid\n"
 msgstr "заданный URL правил сертификации неверен\n"
 
-#: g10/gpg.c:5420
+#: g10/gpg.c:5441
 #, c-format
 msgid "the given signature policy URL is invalid\n"
 msgstr "заданный URL правил подписи неверен\n"
 
-#: g10/gpg.c:5453
+#: g10/gpg.c:5474
 #, c-format
 msgid "the given preferred keyserver URL is invalid\n"
 msgstr "заданный URL предпочтительного сервера ключей неверен\n"
@@ -3281,7 +3294,7 @@ msgstr "|FILE|взять ключи из файла таблицы ключей
 msgid "make timestamp conflicts only a warning"
 msgstr "при несоответствии метки времени - только предупреждение"
 
-#: g10/gpgv.c:86 sm/gpgsm.c:354 tools/gpgconf.c:112
+#: g10/gpgv.c:86 sm/gpgsm.c:357 tools/gpgconf.c:112
 msgid "|FD|write status info to this FD"
 msgstr "|FD|выводить информацию в файл с дескриптором FD"
 
@@ -3358,97 +3371,97 @@ msgstr "ожидать ключи в архивном формате GnuPG"
 msgid "repair keys on import"
 msgstr "исправлять ключи при импорте"
 
-#: g10/import.c:380 g10/import.c:699
+#: g10/import.c:392 g10/import.c:711
 #, c-format
 msgid "skipping block of type %d\n"
 msgstr "пропущен блок типа %d\n"
 
-#: g10/import.c:716
+#: g10/import.c:728
 #, c-format
 msgid "%lu keys processed so far\n"
 msgstr "обработано %lu ключей\n"
 
-#: g10/import.c:802
+#: g10/import.c:814
 #, c-format
 msgid "Total number processed: %lu\n"
 msgstr "Всего обработано: %lu\n"
 
-#: g10/import.c:805
+#: g10/import.c:817
 #, c-format
 msgid "    skipped PGP-2 keys: %lu\n"
 msgstr "        пропущено ключей PGP-2: %lu\n"
 
-#: g10/import.c:807
+#: g10/import.c:819
 #, c-format
 msgid "      skipped new keys: %lu\n"
 msgstr "        пропущено новых ключей: %lu\n"
 
-#: g10/import.c:810
+#: g10/import.c:822
 #, c-format
 msgid "          w/o user IDs: %lu\n"
 msgstr "           без идентификатора пользователя: %lu\n"
 
-#: g10/import.c:813 sm/import.c:130
+#: g10/import.c:825 sm/import.c:130
 #, c-format
 msgid "              imported: %lu"
 msgstr "                 импортировано: %lu"
 
-#: g10/import.c:817 sm/import.c:134
+#: g10/import.c:829 sm/import.c:134
 #, c-format
 msgid "             unchanged: %lu\n"
 msgstr "                  неизмененных: %lu\n"
 
-#: g10/import.c:819
+#: g10/import.c:831
 #, c-format
 msgid "          new user IDs: %lu\n"
 msgstr "         новых идентификаторов пользователя: %lu\n"
 
-#: g10/import.c:821
+#: g10/import.c:833
 #, c-format
 msgid "           new subkeys: %lu\n"
 msgstr "               новых подключей: %lu\n"
 
-#: g10/import.c:823
+#: g10/import.c:835
 #, c-format
 msgid "        new signatures: %lu\n"
 msgstr "                новых подписей: %lu\n"
 
-#: g10/import.c:825
+#: g10/import.c:837
 #, c-format
 msgid "   new key revocations: %lu\n"
 msgstr "          новых отзывов ключей: %lu\n"
 
-#: g10/import.c:827 sm/import.c:136
+#: g10/import.c:839 sm/import.c:136
 #, c-format
 msgid "      secret keys read: %lu\n"
 msgstr "    прочитано секретных ключей: %lu\n"
 
-#: g10/import.c:829 sm/import.c:138
+#: g10/import.c:841 sm/import.c:138
 #, c-format
 msgid "  secret keys imported: %lu\n"
 msgstr "импортировано секретных ключей: %lu\n"
 
-#: g10/import.c:831 sm/import.c:140
+#: g10/import.c:843 sm/import.c:140
 #, c-format
 msgid " secret keys unchanged: %lu\n"
 msgstr " неизмененных секретных ключей: %lu\n"
 
-#: g10/import.c:833 sm/import.c:142
+#: g10/import.c:845 sm/import.c:142
 #, c-format
 msgid "          not imported: %lu\n"
 msgstr "             не импортировано: %lu\n"
 
-#: g10/import.c:835
+#: g10/import.c:847
 #, c-format
 msgid "    signatures cleaned: %lu\n"
 msgstr "             очищено подписей: %lu\n"
 
-#: g10/import.c:837
+#: g10/import.c:849
 #, c-format
 msgid "      user IDs cleaned: %lu\n"
 msgstr "     очищено идентификаторов пользователей: %lu\n"
 
-#: g10/import.c:1264
+#: g10/import.c:1276
 #, c-format
 msgid ""
 "WARNING: key %s contains preferences for unavailable\n"
@@ -3457,169 +3470,169 @@ msgstr ""
 "Внимание: ключ %s содержит предпочтения для недоступных\n"
 "алгоритмов для следующих идентификаторов пользователей:\n"
 
-#: g10/import.c:1306
+#: g10/import.c:1318
 #, c-format
 msgid "         \"%s\": preference for cipher algorithm %s\n"
 msgstr "         \"%s\": предпочитает шифр %s\n"
 
-#: g10/import.c:1321
+#: g10/import.c:1333
 #, c-format
 msgid "         \"%s\": preference for digest algorithm %s\n"
 msgstr "         \"%s\": предпочитает хеш-функцию %s\n"
 
-#: g10/import.c:1333
+#: g10/import.c:1345
 #, c-format
 msgid "         \"%s\": preference for compression algorithm %s\n"
 msgstr "         \"%s\": предпочитает алгоритм сжатия %s\n"
 
-#: g10/import.c:1346
+#: g10/import.c:1358
 #, c-format
 msgid "it is strongly suggested that you update your preferences and\n"
 msgstr "крайне желательно, чтобы Вы обновили свои предпочтения и\n"
 
-#: g10/import.c:1348
+#: g10/import.c:1360
 #, c-format
 msgid "re-distribute this key to avoid potential algorithm mismatch problems\n"
 msgstr ""
 "распространили этот ключ во избежание возможных нестыковок алгоритмов\n"
 
-#: g10/import.c:1373
+#: g10/import.c:1385
 #, c-format
 msgid "you can update your preferences with: gpg --edit-key %s updpref save\n"
 msgstr ""
 "свои предпочтения можно обновить командой gpg --edit-key %s updpref save\n"
 
-#: g10/import.c:1887 g10/import.c:3001
+#: g10/import.c:1899 g10/import.c:3013
 #, c-format
 msgid "key %s: no user ID\n"
 msgstr "ключ %s: нет идентификатора пользователя\n"
 
-#: g10/import.c:1893
+#: g10/import.c:1905
 #, c-format
 msgid "key %s: %s\n"
 msgstr "ключ %s: %s\n"
 
-#: g10/import.c:1894 g10/import.c:2973
+#: g10/import.c:1906 g10/import.c:2985
 msgid "rejected by import screener"
 msgstr "исключен фильтром импорта"
 
-#: g10/import.c:1938
+#: g10/import.c:1950
 #, c-format
 msgid "key %s: PKS subkey corruption repaired\n"
 msgstr "ключ %s: повреждение подключа PKS исправлено\n"
 
-#: g10/import.c:1959
+#: g10/import.c:1971
 #, c-format
 msgid "key %s: accepted non self-signed user ID \"%s\"\n"
 msgstr ""
 "ключ %s: принят без самозаверенного идентификатора пользователя \"%s\"\n"
 
-#: g10/import.c:1969 g10/import.c:2000
+#: g10/import.c:1981 g10/import.c:2012
 #, c-format
 msgid "key %s: no valid user IDs\n"
 msgstr "ключ %s: нет действительных идентификаторов пользователя\n"
 
-#: g10/import.c:1971
+#: g10/import.c:1983
 #, c-format
 msgid "this may be caused by a missing self-signature\n"
 msgstr "может быть, из-за отсутствия самоподписи\n"
 
-#: g10/import.c:2050 g10/import.c:3387
+#: g10/import.c:2062 g10/import.c:3399
 #, c-format
 msgid "key %s: public key not found: %s\n"
 msgstr "ключ %s: не найден открытый ключ: %s\n"
 
-#: g10/import.c:2056
+#: g10/import.c:2068
 #, c-format
 msgid "key %s: new key - skipped\n"
 msgstr "ключ %s: новый ключ - пропущен\n"
 
-#: g10/import.c:2068
+#: g10/import.c:2080
 #, c-format
 msgid "no writable keyring found: %s\n"
 msgstr "нет доступной для записи таблицы ключей: %s\n"
 
-#: g10/import.c:2100 g10/import.c:2202 g10/import.c:3464
+#: g10/import.c:2112 g10/import.c:2214 g10/import.c:3476
 #, c-format
 msgid "error writing keyring '%s': %s\n"
 msgstr "ошибка записи таблицы ключей '%s': %s\n"
 
-#: g10/import.c:2123
+#: g10/import.c:2135
 #, c-format
 msgid "key %s: public key \"%s\" imported\n"
 msgstr "ключ %s: импортирован открытый ключ \"%s\"\n"
 
-#: g10/import.c:2150
+#: g10/import.c:2162
 #, c-format
 msgid "key %s: doesn't match our copy\n"
 msgstr "ключ %s: не совпадает с нашей копией\n"
 
-#: g10/import.c:2218
+#: g10/import.c:2230
 #, c-format
 msgid "key %s: \"%s\" 1 new user ID\n"
 msgstr "ключ %s: \"%s\" 1 новый идентификатор пользователя\n"
 
-#: g10/import.c:2221
+#: g10/import.c:2233
 #, c-format
 msgid "key %s: \"%s\" %d new user IDs\n"
 msgstr "ключ %s: \"%s\" %d новых идентификаторов пользователя\n"
 
-#: g10/import.c:2224
+#: g10/import.c:2236
 #, c-format
 msgid "key %s: \"%s\" 1 new signature\n"
 msgstr "ключ %s: \"%s\" 1 новая подпись\n"
 
-#: g10/import.c:2227
+#: g10/import.c:2239
 #, c-format
 msgid "key %s: \"%s\" %d new signatures\n"
 msgstr "ключ %s: \"%s\" %d новых подписей\n"
 
-#: g10/import.c:2230
+#: g10/import.c:2242
 #, c-format
 msgid "key %s: \"%s\" 1 new subkey\n"
 msgstr "ключ %s: \"%s\" 1 новый подключ\n"
 
-#: g10/import.c:2233
+#: g10/import.c:2245
 #, c-format
 msgid "key %s: \"%s\" %d new subkeys\n"
 msgstr "ключ %s: \"%s\" %d новых подключей\n"
 
-#: g10/import.c:2236
+#: g10/import.c:2248
 #, c-format
 msgid "key %s: \"%s\" %d signature cleaned\n"
 msgstr "ключ %s: \"%s\" %d подпись очищена\n"
 
-#: g10/import.c:2239
+#: g10/import.c:2251
 #, c-format
 msgid "key %s: \"%s\" %d signatures cleaned\n"
 msgstr "ключ %s: \"%s\" %d подписей очищено\n"
 
-#: g10/import.c:2242
+#: g10/import.c:2254
 #, c-format
 msgid "key %s: \"%s\" %d user ID cleaned\n"
 msgstr "ключ %s: \"%s\" %d идентификатор пользователя очищен\n"
 
-#: g10/import.c:2245
+#: g10/import.c:2257
 #, c-format
 msgid "key %s: \"%s\" %d user IDs cleaned\n"
 msgstr "ключ %s: \"%s\" %d идентификаторов пользователя очищено\n"
 
-#: g10/import.c:2281
+#: g10/import.c:2293
 #, c-format
 msgid "key %s: \"%s\" not changed\n"
 msgstr "ключ %s: \"%s\" не изменен\n"
 
-#: g10/import.c:2640 g10/import.c:2835
+#: g10/import.c:2652 g10/import.c:2847
 #, c-format
 msgid "key %s: secret key imported\n"
 msgstr "ключ %s: импортирован секретный ключ\n"
 
-#: g10/import.c:2648
+#: g10/import.c:2660
 #, c-format
 msgid "key %s: secret key already exists\n"
 msgstr "ключ %s: секретный ключ уже имеется\n"
 
-#: g10/import.c:2656
+#: g10/import.c:2668
 #, c-format
 msgid "key %s: error sending to agent: %s\n"
 msgstr "ключ %s: ошибка отправки в агент: %s\n"
@@ -3632,196 +3645,196 @@ msgstr "ключ %s: ошибка отправки в агент: %s\n"
 #. * Instead, user should be suggested to run 'gpg --card-status',
 #. * then, references to a card will be automatically created
 #. * again.
-#: g10/import.c:2825
+#: g10/import.c:2837
 #, c-format
 msgid "To migrate '%s', with each smartcard, run: %s\n"
 msgstr "Для переноса '%s' выполните на каждой криптографической карте: %s\n"
 
-#: g10/import.c:2972
+#: g10/import.c:2984
 #, c-format
 msgid "secret key %s: %s\n"
 msgstr "секретный ключ %s: %s\n"
 
-#: g10/import.c:2993 g10/import.c:3032
+#: g10/import.c:3005 g10/import.c:3044
 #, c-format
 msgid "importing secret keys not allowed\n"
 msgstr "импорт секретного ключа не допускается\n"
 
-#: g10/import.c:3020
+#: g10/import.c:3032
 #, c-format
 msgid "key %s: secret key with invalid cipher %d - skipped\n"
 msgstr "ключ %s: секретный ключ с недопустимым шифром %d - пропущен\n"
 
-#: g10/import.c:3182 g10/pkclist.c:72 g10/revoke.c:776
+#: g10/import.c:3194 g10/pkclist.c:72 g10/revoke.c:776
 msgid "No reason specified"
 msgstr "Причина не указана"
 
-#: g10/import.c:3183 g10/pkclist.c:74 g10/revoke.c:778
+#: g10/import.c:3195 g10/pkclist.c:74 g10/revoke.c:778
 msgid "Key is superseded"
 msgstr "Ключ заменен другим"
 
-#: g10/import.c:3184 g10/pkclist.c:76 g10/revoke.c:777
+#: g10/import.c:3196 g10/pkclist.c:76 g10/revoke.c:777
 msgid "Key has been compromised"
 msgstr "Ключ был раскрыт"
 
-#: g10/import.c:3185 g10/pkclist.c:78 g10/revoke.c:779
+#: g10/import.c:3197 g10/pkclist.c:78 g10/revoke.c:779
 msgid "Key is no longer used"
 msgstr "Ключ больше не используется"
 
-#: g10/import.c:3186 g10/pkclist.c:80 g10/revoke.c:780
+#: g10/import.c:3198 g10/pkclist.c:80 g10/revoke.c:780
 msgid "User ID is no longer valid"
 msgstr "Идентификатор пользователя больше не действителен"
 
-#: g10/import.c:3311 g10/keylist.c:1254 g10/pkclist.c:84
+#: g10/import.c:3323 g10/keylist.c:1254 g10/pkclist.c:84
 #, c-format
 msgid "reason for revocation: "
 msgstr "причина отзыва: "
 
-#: g10/import.c:3330 g10/keylist.c:1273 g10/pkclist.c:100
+#: g10/import.c:3342 g10/keylist.c:1273 g10/pkclist.c:100
 #, c-format
 msgid "revocation comment: "
 msgstr "пояснение к отзыву: "
 
-#: g10/import.c:3380
+#: g10/import.c:3392
 #, c-format
 msgid "key %s: no public key - can't apply revocation certificate\n"
 msgstr "ключ %s: нет открытого ключа - не могу применить сертификат отзыва\n"
 
-#: g10/import.c:3411
+#: g10/import.c:3423
 #, c-format
 msgid "key %s: can't locate original keyblock: %s\n"
 msgstr "ключ %s: оригинальный блок ключей не найден: %s\n"
 
-#: g10/import.c:3418
+#: g10/import.c:3430
 #, c-format
 msgid "key %s: can't read original keyblock: %s\n"
 msgstr "ключ %s: оригинальный блок ключей не читается: %s\n"
 
-#: g10/import.c:3438
+#: g10/import.c:3450
 #, c-format
 msgid "key %s: invalid revocation certificate: %s - rejected\n"
 msgstr "ключ %s: недействительный сертификат отзыва: %s - отвергнут\n"
 
-#: g10/import.c:3473
+#: g10/import.c:3485
 #, c-format
 msgid "key %s: \"%s\" revocation certificate imported\n"
 msgstr "ключ %s: сертификат отзыва \"%s\" импортирован\n"
 
-#: g10/import.c:3559
+#: g10/import.c:3571
 #, c-format
 msgid "key %s: no user ID for signature\n"
 msgstr "ключ %s: нет идентификатора пользователя для подписи\n"
 
-#: g10/import.c:3576
+#: g10/import.c:3588
 #, c-format
 msgid "key %s: unsupported public key algorithm on user ID \"%s\"\n"
 msgstr ""
 "ключ %s: алгоритм с открытым ключом у идентификатора пользователя \"%s\" не "
 "поддерживается\n"
 
-#: g10/import.c:3578
+#: g10/import.c:3590
 #, c-format
 msgid "key %s: invalid self-signature on user ID \"%s\"\n"
 msgstr ""
 "ключ %s: неправильная самоподпись на идентификаторе пользователя \"%s\"\n"
 
-#: g10/import.c:3595 g10/import.c:3623 g10/import.c:3679
+#: g10/import.c:3607 g10/import.c:3635 g10/import.c:3691
 #, c-format
 msgid "key %s: unsupported public key algorithm\n"
 msgstr "ключ %s: алгоритм с открытым ключом не поддерживается\n"
 
-#: g10/import.c:3596
+#: g10/import.c:3608
 #, c-format
 msgid "key %s: invalid direct key signature\n"
 msgstr "ключ %s: недействительная прямая подпись ключа\n"
 
-#: g10/import.c:3610
+#: g10/import.c:3622
 #, c-format
 msgid "key %s: no subkey for key binding\n"
 msgstr "ключ %s: нет подключа для связывания ключей\n"
 
-#: g10/import.c:3625
+#: g10/import.c:3637
 #, c-format
 msgid "key %s: invalid subkey binding\n"
 msgstr "ключ %s: недопустимая связь подключей\n"
 
-#: g10/import.c:3644
+#: g10/import.c:3656
 #, c-format
 msgid "key %s: removed multiple subkey binding\n"
 msgstr "ключ %s: удалена многократная связь подключей\n"
 
-#: g10/import.c:3668
+#: g10/import.c:3680
 #, c-format
 msgid "key %s: no subkey for key revocation\n"
 msgstr "ключ %s: нет подключа для отзыва ключа\n"
 
-#: g10/import.c:3681
+#: g10/import.c:3693
 #, c-format
 msgid "key %s: invalid subkey revocation\n"
 msgstr "ключ %s: неверный отзыв подключа\n"
 
-#: g10/import.c:3696
+#: g10/import.c:3708
 #, c-format
 msgid "key %s: removed multiple subkey revocation\n"
 msgstr "ключ %s: удален многократный отзыв подключей\n"
 
-#: g10/import.c:3740
+#: g10/import.c:3752
 #, c-format
 msgid "key %s: skipped user ID \"%s\"\n"
 msgstr "ключ %s: пропущен идентификатор пользователя \"%s\"\n"
 
-#: g10/import.c:3767
+#: g10/import.c:3779
 #, c-format
 msgid "key %s: skipped subkey\n"
 msgstr "ключ %s: пропущен подключ\n"
 
-#: g10/import.c:3798
+#: g10/import.c:3810
 #, c-format
 msgid "key %s: non exportable signature (class 0x%02X) - skipped\n"
 msgstr "ключ %s: неэкспортируемая подпись (класс 0x%02X) - пропущена\n"
 
-#: g10/import.c:3809
+#: g10/import.c:3821
 #, c-format
 msgid "key %s: revocation certificate at wrong place - skipped\n"
 msgstr "ключ %s: сертификат отзыва в неправильном месте - пропущен\n"
 
-#: g10/import.c:3827
+#: g10/import.c:3839
 #, c-format
 msgid "key %s: invalid revocation certificate: %s - skipped\n"
 msgstr "ключ %s: недействительный сертификат отзыва: %s - пропущен\n"
 
-#: g10/import.c:3841
+#: g10/import.c:3853
 #, c-format
 msgid "key %s: subkey signature in wrong place - skipped\n"
 msgstr "ключ %s: подпись подключа в неправильном месте - пропущена\n"
 
-#: g10/import.c:3849
+#: g10/import.c:3861
 #, c-format
 msgid "key %s: unexpected signature class (0x%02X) - skipped\n"
 msgstr "ключ %s: неожиданный класс подписи (0x%02X) - пропущена\n"
 
-#: g10/import.c:4022
+#: g10/import.c:4034
 #, c-format
 msgid "key %s: duplicated user ID detected - merged\n"
 msgstr ""
 "ключ %s: обнаружено дублирование идентификатора пользователя - объединены\n"
 
-#: g10/import.c:4087
+#: g10/import.c:4099
 #, c-format
 msgid "WARNING: key %s may be revoked: fetching revocation key %s\n"
 msgstr "Внимание: ключ %s, возможно, отозван: запрашиваю ключ отзыва %s\n"
 
-#: g10/import.c:4103
+#: g10/import.c:4115
 #, c-format
 msgid "WARNING: key %s may be revoked: revocation key %s not present.\n"
 msgstr "Внимание: ключ %s, возможно, отозван: ключ отзыва %s отсутствует.\n"
 
-#: g10/import.c:4169
+#: g10/import.c:4181
 #, c-format
 msgid "key %s: \"%s\" revocation certificate added\n"
 msgstr "ключ %s: добавлен сертификат отзыва \"%s\"\n"
 
-#: g10/import.c:4207
+#: g10/import.c:4219
 #, c-format
 msgid "key %s: direct key signature added\n"
 msgstr "ключ %s: добавлена прямая подпись ключа\n"
@@ -3895,7 +3908,7 @@ msgstr ""
 "Внимание: обнаружены ошибки, проверялись только самоподписи; для проверки "
 "всех подписей выполните '%s'.\n"
 
-#: g10/keydb.c:431 g10/keydb.c:458 sm/keydb.c:191 sm/keydb.c:204
+#: g10/keydb.c:431 g10/keydb.c:458 sm/keydb.c:190 sm/keydb.c:203
 #, c-format
 msgid "error creating keybox '%s': %s\n"
 msgstr "ошибка создания щита с ключами '%s': %s\n"
@@ -3905,7 +3918,7 @@ msgstr "ошибка создания щита с ключами '%s': %s\n"
 msgid "error creating keyring '%s': %s\n"
 msgstr "ошибка создания таблицы ключей '%s': %s\n"
 
-#: g10/keydb.c:470 sm/keydb.c:210
+#: g10/keydb.c:470 sm/keydb.c:209
 #, c-format
 msgid "keybox '%s' created\n"
 msgstr "создан щит с ключами '%s'\n"
@@ -3986,13 +3999,13 @@ msgstr ""
 msgid "User ID \"%s\" is revoked."
 msgstr "Идентификатор пользователя \"%s\" отозван."
 
-#: g10/keyedit.c:569 g10/keyedit.c:597 g10/keyedit.c:624 g10/keyedit.c:808
-#: g10/keyedit.c:1655
+#: g10/keyedit.c:569 g10/keyedit.c:597 g10/keyedit.c:624 g10/keyedit.c:809
+#: g10/keyedit.c:1656
 msgid "Are you sure you still want to sign it? (y/N) "
 msgstr "Вы все равно хотите его подписать? (y/N) "
 
-#: g10/keyedit.c:583 g10/keyedit.c:611 g10/keyedit.c:638 g10/keyedit.c:814
-#: g10/keyedit.c:1660 g10/keyedit.c:2667
+#: g10/keyedit.c:583 g10/keyedit.c:611 g10/keyedit.c:638 g10/keyedit.c:815
+#: g10/keyedit.c:1661 g10/keyedit.c:2668
 msgid "  Unable to sign.\n"
 msgstr "  Не могу подписать.\n"
 
@@ -4064,30 +4077,30 @@ msgstr "\"%s\" уже локально подписан ключом %s\n"
 msgid "\"%s\" was already signed by key %s\n"
 msgstr "\"%s\" уже подписан ключом %s\n"
 
-#: g10/keyedit.c:756
+#: g10/keyedit.c:757
 msgid "Do you want to sign it again anyway? (y/N) "
 msgstr "Вы все равно хотите снова подписать его? (y/N) "
 
-#: g10/keyedit.c:778
+#: g10/keyedit.c:779
 #, c-format
 msgid "Nothing to sign with key %s\n"
 msgstr "Нечего подписывать ключом %s\n"
 
-#: g10/keyedit.c:802
+#: g10/keyedit.c:803
 msgid "This key has expired!"
 msgstr "Данный ключ просрочен!"
 
-#: g10/keyedit.c:820
+#: g10/keyedit.c:821
 #, c-format
 msgid "This key is due to expire on %s.\n"
 msgstr "Срок действия данного ключа истекает %s.\n"
 
-#: g10/keyedit.c:826
+#: g10/keyedit.c:827
 msgid "Do you want your signature to expire at the same time? (Y/n) "
 msgstr ""
 "Вы хотите, чтобы Ваша подпись была действительна до того же времени? (Y/n) "
 
-#: g10/keyedit.c:867
+#: g10/keyedit.c:868
 msgid ""
 "How carefully have you verified the key you are about to sign actually "
 "belongs\n"
@@ -4096,31 +4109,31 @@ msgstr ""
 "Насколько хорошо Вы проверили, что ключ действительно принадлежит\n"
 "указанному выше человеку? Если не знаете, что ответить, введите \"0\".\n"
 
-#: g10/keyedit.c:872
+#: g10/keyedit.c:873
 #, c-format
 msgid "   (0) I will not answer.%s\n"
 msgstr "   (0) Не буду отвечать.%s\n"
 
-#: g10/keyedit.c:874
+#: g10/keyedit.c:875
 #, c-format
 msgid "   (1) I have not checked at all.%s\n"
 msgstr "   (1) Никакой проверки не было.%s\n"
 
-#: g10/keyedit.c:876
+#: g10/keyedit.c:877
 #, c-format
 msgid "   (2) I have done casual checking.%s\n"
 msgstr "   (2) Была частичная проверка.%s\n"
 
-#: g10/keyedit.c:879
+#: g10/keyedit.c:880
 #, c-format
 msgid "   (3) I have done very careful checking.%s\n"
 msgstr "   (3) Проверка была очень тщательной.%s\n"
 
-#: g10/keyedit.c:886
+#: g10/keyedit.c:887
 msgid "Your selection? (enter '?' for more information): "
 msgstr "Ваш выбор? (введите '?' для получения информации): "
 
-#: g10/keyedit.c:913
+#: g10/keyedit.c:914
 #, c-format
 msgid ""
 "Are you sure that you want to sign this key with your\n"
@@ -4129,231 +4142,231 @@ msgstr ""
 "Вы уверены, что хотите подписать этот ключ\n"
 "своим ключом \"%s\" (%s)?\n"
 
-#: g10/keyedit.c:921
+#: g10/keyedit.c:922
 msgid "This will be a self-signature.\n"
 msgstr "Это будет самоподпись.\n"
 
-#: g10/keyedit.c:926
+#: g10/keyedit.c:927
 msgid "WARNING: the signature will not be marked as non-exportable.\n"
 msgstr "Внимание: подпись не будет помечена как неэкспортируемая.\n"
 
-#: g10/keyedit.c:933
+#: g10/keyedit.c:934
 msgid "WARNING: the signature will not be marked as non-revocable.\n"
 msgstr "Внимание: подпись не будет помечена как неотзываемая.\n"
 
-#: g10/keyedit.c:943
+#: g10/keyedit.c:944
 msgid "The signature will be marked as non-exportable.\n"
 msgstr "Подпись будет помечена как неэкспортируемая.\n"
 
-#: g10/keyedit.c:950
+#: g10/keyedit.c:951
 msgid "The signature will be marked as non-revocable.\n"
 msgstr "Подпись будет помечена как неотзываемая.\n"
 
-#: g10/keyedit.c:957
+#: g10/keyedit.c:958
 msgid "I have not checked this key at all.\n"
 msgstr "Этот ключ мной никак не проверялся.\n"
 
-#: g10/keyedit.c:962
+#: g10/keyedit.c:963
 msgid "I have checked this key casually.\n"
 msgstr "Мной проведена поверхностная проверка этого ключа.\n"
 
-#: g10/keyedit.c:967
+#: g10/keyedit.c:968
 msgid "I have checked this key very carefully.\n"
 msgstr "Этот ключ проверен мной очень тщательно.\n"
 
-#: g10/keyedit.c:979
+#: g10/keyedit.c:980
 msgid "Really sign? (y/N) "
 msgstr "Действительно подписать? (y/N) "
 
-#: g10/keyedit.c:1030 g10/keyedit.c:6154 g10/keyedit.c:6237 g10/keyedit.c:6366
-#: g10/keyedit.c:6428 g10/sign.c:466
+#: g10/keyedit.c:1031 g10/keyedit.c:6155 g10/keyedit.c:6238 g10/keyedit.c:6367
+#: g10/keyedit.c:6429 g10/sign.c:466
 #, c-format
 msgid "signing failed: %s\n"
 msgstr "подписать не удалось: %s\n"
 
-#: g10/keyedit.c:1117
+#: g10/keyedit.c:1118
 msgid "Key has only stub or on-card key items - no passphrase to change.\n"
 msgstr ""
 "В ключе только заготовка или элементы для карты -\n"
 "фразы-пароля для изменения нет.\n"
 
-#: g10/keyedit.c:1149
+#: g10/keyedit.c:1150
 #, c-format
 msgid "key %s: error changing passphrase: %s\n"
 msgstr "ключ %s: ошибка изменения фразы-пароля: %s\n"
 
-#: g10/keyedit.c:1261
+#: g10/keyedit.c:1262
 msgid "save and quit"
 msgstr "сохранить и выйти"
 
-#: g10/keyedit.c:1264
+#: g10/keyedit.c:1265
 msgid "show key fingerprint"
 msgstr "показать отпечаток ключа"
 
-#: g10/keyedit.c:1265
+#: g10/keyedit.c:1266
 msgid "show the keygrip"
 msgstr "показать код ключа"
 
-#: g10/keyedit.c:1266
+#: g10/keyedit.c:1267
 msgid "list key and user IDs"
 msgstr "вывести список ключей и идентификаторов пользователя"
 
-#: g10/keyedit.c:1268
+#: g10/keyedit.c:1269
 msgid "select user ID N"
 msgstr "выбрать идентификатор пользователя N"
 
-#: g10/keyedit.c:1269
+#: g10/keyedit.c:1270
 msgid "select subkey N"
 msgstr "выбрать подключ N"
 
-#: g10/keyedit.c:1270
+#: g10/keyedit.c:1271
 msgid "check signatures"
 msgstr "проверка подписей"
 
-#: g10/keyedit.c:1276
+#: g10/keyedit.c:1277
 msgid "sign selected user IDs [* see below for related commands]"
 msgstr ""
 "подписать выбранные идентификаторы пользователя [* описание команд см. ниже]"
 
-#: g10/keyedit.c:1281
+#: g10/keyedit.c:1282
 msgid "sign selected user IDs locally"
 msgstr "локально подписать выбранные идентификаторы пользователя"
 
-#: g10/keyedit.c:1282
+#: g10/keyedit.c:1283
 msgid "sign selected user IDs with a trust signature"
 msgstr "подписать выбранные идентификаторы пользователя подписью доверия"
 
-#: g10/keyedit.c:1284
+#: g10/keyedit.c:1285
 msgid "sign selected user IDs with a non-revocable signature"
 msgstr "подписать выбранные идентификаторы пользователя без возможности отзыва"
 
-#: g10/keyedit.c:1286
+#: g10/keyedit.c:1287
 msgid "add a user ID"
 msgstr "добавить идентификатор пользователя"
 
-#: g10/keyedit.c:1288
+#: g10/keyedit.c:1289
 msgid "add a photo ID"
 msgstr "добавить фотоидентификатор"
 
-#: g10/keyedit.c:1289
+#: g10/keyedit.c:1290
 msgid "delete selected user IDs"
 msgstr "удалить выбранные идентификаторы пользователя"
 
-#: g10/keyedit.c:1292
+#: g10/keyedit.c:1293
 msgid "add a subkey"
 msgstr "добавить подключ"
 
-#: g10/keyedit.c:1295
+#: g10/keyedit.c:1296
 msgid "add a key to a smartcard"
 msgstr "добавить ключ на криптографическую карту"
 
-#: g10/keyedit.c:1297
+#: g10/keyedit.c:1298
 msgid "move a key to a smartcard"
 msgstr "переместить ключ на криптографическую карту"
 
-#: g10/keyedit.c:1299
+#: g10/keyedit.c:1300
 msgid "move a backup key to a smartcard"
 msgstr "переместить архивный ключ на криптографическую карту"
 
-#: g10/keyedit.c:1301
+#: g10/keyedit.c:1302
 msgid "delete selected subkeys"
 msgstr "удалить выбранные подключи"
 
-#: g10/keyedit.c:1303
+#: g10/keyedit.c:1304
 msgid "add a revocation key"
 msgstr "добавить ключ отзыва"
 
-#: g10/keyedit.c:1305
+#: g10/keyedit.c:1306
 msgid "delete signatures from the selected user IDs"
 msgstr "удалить подписи с выбранных идентификаторов пользователя"
 
-#: g10/keyedit.c:1307
+#: g10/keyedit.c:1308
 msgid "change the expiration date for the key or selected subkeys"
 msgstr "сменить срок действия ключа или выбранных подключей"
 
-#: g10/keyedit.c:1309
+#: g10/keyedit.c:1310
 msgid "flag the selected user ID as primary"
 msgstr "пометить выбранный идентификатор пользователя как первичный"
 
-#: g10/keyedit.c:1312
+#: g10/keyedit.c:1313
 msgid "list preferences (expert)"
 msgstr "список предпочтений (экспертам)"
 
-#: g10/keyedit.c:1313
+#: g10/keyedit.c:1314
 msgid "list preferences (verbose)"
 msgstr "список предпочтений (подробный)"
 
-#: g10/keyedit.c:1315
+#: g10/keyedit.c:1316
 msgid "set preference list for the selected user IDs"
 msgstr ""
 "установить список предпочтений для выбранных идентификаторов пользователя"
 
-#: g10/keyedit.c:1318
+#: g10/keyedit.c:1319
 msgid "set the preferred keyserver URL for the selected user IDs"
 msgstr ""
 "установить URL предпочтительного сервера ключей для выбранных "
 "идентификаторов пользователя"
 
-#: g10/keyedit.c:1320
+#: g10/keyedit.c:1321
 msgid "set a notation for the selected user IDs"
 msgstr "установить замечание для выбранных идентификаторов пользователя"
 
-#: g10/keyedit.c:1322
+#: g10/keyedit.c:1323
 msgid "change the passphrase"
 msgstr "сменить фразу-пароль"
 
-#: g10/keyedit.c:1325
+#: g10/keyedit.c:1326
 msgid "change the ownertrust"
 msgstr "изменить уровень доверия владельцу"
 
-#: g10/keyedit.c:1328
+#: g10/keyedit.c:1329
 msgid "revoke signatures on the selected user IDs"
 msgstr "отозвать подписи у выбранных идентификаторов пользователя"
 
-#: g10/keyedit.c:1330
+#: g10/keyedit.c:1331
 msgid "revoke selected user IDs"
 msgstr "отозвать выбранные идентификаторы пользователя"
 
-#: g10/keyedit.c:1333
+#: g10/keyedit.c:1334
 msgid "revoke key or selected subkeys"
 msgstr "отозвать ключ или выбранные подключи"
 
-#: g10/keyedit.c:1335
+#: g10/keyedit.c:1336
 msgid "enable key"
 msgstr "подключить ключ"
 
-#: g10/keyedit.c:1336
+#: g10/keyedit.c:1337
 msgid "disable key"
 msgstr "отключить ключ"
 
-#: g10/keyedit.c:1338
+#: g10/keyedit.c:1339
 msgid "show selected photo IDs"
 msgstr "показать выбранные фотоидентификаторы"
 
-#: g10/keyedit.c:1340
+#: g10/keyedit.c:1341
 msgid "compact unusable user IDs and remove unusable signatures from key"
 msgstr ""
 "сжать непригодные идентификаторы пользователей и удалить непригодные подписи "
 "из ключа"
 
-#: g10/keyedit.c:1342
+#: g10/keyedit.c:1343
 msgid "compact unusable user IDs and remove all signatures from key"
 msgstr ""
 "сжать непригодные идентификаторы пользователей и удалить все подписи из ключа"
 
-#: g10/keyedit.c:1463
+#: g10/keyedit.c:1464
 msgid "Secret key is available.\n"
 msgstr "Секретный ключ доступен.\n"
 
-#: g10/keyedit.c:1465
+#: g10/keyedit.c:1466
 msgid "Secret subkeys are available.\n"
 msgstr "Секретные подключи доступны.\n"
 
-#: g10/keyedit.c:1567
+#: g10/keyedit.c:1568
 msgid "Need the secret key to do this.\n"
 msgstr "Для данного действия нужен секретный ключ.\n"
 
-#: g10/keyedit.c:1590
+#: g10/keyedit.c:1591
 msgid ""
 "* The 'sign' command may be prefixed with an 'l' for local signatures "
 "(lsign),\n"
@@ -4364,270 +4377,269 @@ msgstr ""
 "  't' (подписи доверия, tsign), 'nr' (неотзываемые, \n"
 "  nrsign) или любое их сочетание (ltsign, tnrsign и т.д.).\n"
 
-#: g10/keyedit.c:1648 g10/keyedit.c:2667 g10/keyedit.c:3040 g10/keyedit.c:3108
+#: g10/keyedit.c:1649 g10/keyedit.c:2668 g10/keyedit.c:3041 g10/keyedit.c:3109
 msgid "Key is revoked."
 msgstr "Ключ отозван."
 
-#: g10/keyedit.c:1671
+#: g10/keyedit.c:1672
 msgid "Really sign all text user IDs? (y/N) "
 msgstr ""
 "Действительно подписать все текстовые идентификаторы пользователя? (y/N) "
 
-#: g10/keyedit.c:1675
+#: g10/keyedit.c:1676
 msgid "Really sign all user IDs? (y/N) "
 msgstr "Действительно подписать все идентификаторы пользователя? (y/N) "
 
-#: g10/keyedit.c:1683
+#: g10/keyedit.c:1684
 msgid "Hint: Select the user IDs to sign\n"
 msgstr ""
 "Подсказка: Выберите идентификаторы пользователей, которые нужно подписать\n"
 
-#: g10/keyedit.c:1694
+#: g10/keyedit.c:1695
 #, c-format
 msgid "Unknown signature type '%s'\n"
 msgstr "Неизвестный тип подписи '%s'\n"
 
-#: g10/keyedit.c:1718
+#: g10/keyedit.c:1719
 #, c-format
 msgid "This command is not allowed while in %s mode.\n"
 msgstr "Данная команда в режиме %s недопустима.\n"
 
-#: g10/keyedit.c:1740 g10/keyedit.c:1764 g10/keyedit.c:1961
+#: g10/keyedit.c:1741 g10/keyedit.c:1765 g10/keyedit.c:1962
 msgid "You must select at least one user ID.\n"
 msgstr "Вы должны выбрать хотя бы один идентификатор пользователя.\n"
 
-#: g10/keyedit.c:1742 g10/keyedit.c:1766 g10/keyedit.c:1923 g10/keyedit.c:1963
+#: g10/keyedit.c:1743 g10/keyedit.c:1767 g10/keyedit.c:1924 g10/keyedit.c:1964
 #, c-format
 msgid "(Use the '%s' command.)\n"
 msgstr "(Команда '%s'.)\n"
 
-#: g10/keyedit.c:1745
+#: g10/keyedit.c:1746
 msgid "You can't delete the last user ID!\n"
 msgstr "Вы не можете удалить последний идентификатор пользователя!\n"
 
-#: g10/keyedit.c:1748
+#: g10/keyedit.c:1749
 msgid "Really remove all selected user IDs? (y/N) "
 msgstr ""
 "Действительно удалить все выбранные идентификаторы пользователей? (y/N) "
 
-#: g10/keyedit.c:1749
+#: g10/keyedit.c:1750
 msgid "Really remove this user ID? (y/N) "
 msgstr "Действительно удалить этот идентификатор пользователя? (y/N) "
 
 #. TRANSLATORS: Please take care: This is about
 #. moving the key and not about removing it.
-#: g10/keyedit.c:1806
+#: g10/keyedit.c:1807
 msgid "Really move the primary key? (y/N) "
 msgstr "Действительно переместить первичный ключ? (y/N) "
 
-#: g10/keyedit.c:1818 g10/keyedit.c:4803
+#: g10/keyedit.c:1819 g10/keyedit.c:4804
 msgid "You must select exactly one key.\n"
 msgstr "Вы должны выбрать хотя бы один ключ.\n"
 
-#: g10/keyedit.c:1846
+#: g10/keyedit.c:1847
 msgid "Command expects a filename argument\n"
 msgstr "Команде нужен аргумент-имя файла\n"
 
-#: g10/keyedit.c:1867
+#: g10/keyedit.c:1868
 #, c-format
 msgid "Can't open '%s': %s\n"
 msgstr "Не могу открыть '%s': %s\n"
 
-#: g10/keyedit.c:1886
+#: g10/keyedit.c:1887
 #, c-format
 msgid "Error reading backup key from '%s': %s\n"
 msgstr "Ошибка чтения архивного ключа из '%s': %s\n"
 
-#: g10/keyedit.c:1921
+#: g10/keyedit.c:1922
 msgid "You must select at least one key.\n"
 msgstr "Вы должны выбрать хотя бы один ключ.\n"
 
-#: g10/keyedit.c:1927
+#: g10/keyedit.c:1928
 msgid "Do you really want to delete the selected keys? (y/N) "
 msgstr "Вы действительно хотите удалить выбранные ключи? (y/N) "
 
-#: g10/keyedit.c:1929
+#: g10/keyedit.c:1930
 msgid "Do you really want to delete this key? (y/N) "
 msgstr "Вы действительно хотите удалить данный ключ? (y/N) "
 
-#: g10/keyedit.c:1967
+#: g10/keyedit.c:1968
 msgid "Really revoke all selected user IDs? (y/N) "
 msgstr ""
 "Действительно отозвать все выбранные идентификаторы пользователей? (y/N) "
 
-#: g10/keyedit.c:1968
+#: g10/keyedit.c:1969
 msgid "Really revoke this user ID? (y/N) "
 msgstr "Действительно отозвать данный идентификатор пользователя? (y/N) "
 
-#: g10/keyedit.c:1986
+#: g10/keyedit.c:1987
 msgid "Do you really want to revoke the entire key? (y/N) "
 msgstr "Вы действительно хотите отозвать ключ целиком? (y/N) "
 
-#: g10/keyedit.c:1997
+#: g10/keyedit.c:1998
 msgid "Do you really want to revoke the selected subkeys? (y/N) "
 msgstr "Вы действительно хотите отозвать выбранные подключи? (y/N) "
 
-#: g10/keyedit.c:1999
+#: g10/keyedit.c:2000
 msgid "Do you really want to revoke this subkey? (y/N) "
 msgstr "Вы действительно хотите отозвать данный подключ? (y/N) "
 
-#: g10/keyedit.c:2057
+#: g10/keyedit.c:2058
 msgid "Owner trust may not be set while using a user provided trust database\n"
 msgstr ""
 "Нельзя присваивать степень доверия, когда таблица доверия указана "
 "пользователем\n"
 
-#: g10/keyedit.c:2102
+#: g10/keyedit.c:2103
 msgid "Set preference list to:\n"
 msgstr "Установить предпочтения, равные:\n"
 
-#: g10/keyedit.c:2109
+#: g10/keyedit.c:2110
 msgid "Really update the preferences for the selected user IDs? (y/N) "
 msgstr ""
 "Действительно обновить предпочтения для выбранных идентификаторов "
 "пользователей? (y/N) "
 
-#: g10/keyedit.c:2111
+#: g10/keyedit.c:2112
 msgid "Really update the preferences? (y/N) "
 msgstr "Действительно обновить предпочтения? (y/N) "
 
-#: g10/keyedit.c:2185
+#: g10/keyedit.c:2186
 msgid "Save changes? (y/N) "
 msgstr "Сохранить изменения? (y/N) "
 
-#: g10/keyedit.c:2189
+#: g10/keyedit.c:2190
 msgid "Quit without saving? (y/N) "
 msgstr "Выйти без сохранения? (y/N) "
 
-#: g10/keyedit.c:2216 g10/keyedit.c:2762 g10/keyedit.c:3061 g10/keyedit.c:3214
+#: g10/keyedit.c:2217 g10/keyedit.c:2763 g10/keyedit.c:3062 g10/keyedit.c:3215
 #, c-format
 msgid "Key not changed so no update needed.\n"
 msgstr "Ключ не изменялся - обновление не нужно.\n"
 
-#: g10/keyedit.c:2448
+#: g10/keyedit.c:2449
 #, c-format
 msgid "cannot revoke the last valid user ID.\n"
 msgstr "нельзя удалять последний действительный идентификатор пользователя.\n"
 
-#: g10/keyedit.c:2475
+#: g10/keyedit.c:2476
 #, c-format
 msgid "revoking the user ID failed: %s\n"
 msgstr "сбой отзыва идентификатора пользователя: %s\n"
 
-#: g10/keyedit.c:2541
+#: g10/keyedit.c:2542
 #, c-format
 msgid "setting the primary user ID failed: %s\n"
 msgstr "сбой установки первичного идентификатора пользователя: %s\n"
 
-#: g10/keyedit.c:2572
+#: g10/keyedit.c:2573
 #, c-format
 msgid "\"%s\" is not a fingerprint\n"
 msgstr "\"%s\" - не отпечаток\n"
 
-#: g10/keyedit.c:2602
+#: g10/keyedit.c:2603
 #, c-format
 msgid "\"%s\" is not the primary fingerprint\n"
 msgstr "\"%s\" - не первичный отпечаток\n"
 
-#: g10/keyedit.c:2738 g10/keyedit.c:2741
+#: g10/keyedit.c:2739 g10/keyedit.c:2742
 #, c-format
 msgid "Invalid user ID '%s': %s\n"
 msgstr "Недопустимый идентификатор пользователя '%s': %s\n"
 
-#: g10/keyedit.c:2744
+#: g10/keyedit.c:2745
 msgid "No matching user IDs."
 msgstr "Нет подходящих идентификаторов пользователей."
 
-#: g10/keyedit.c:2744
+#: g10/keyedit.c:2745
 msgid "Nothing to sign.\n"
 msgstr "Подписывать нечего.\n"
 
-#: g10/keyedit.c:2937 g10/keyedit.c:6019
+#: g10/keyedit.c:2938 g10/keyedit.c:6020
 #, c-format
 msgid "Not signed by you.\n"
 msgstr "Вами не подписано.\n"
 
-#: g10/keyedit.c:2995
-#, fuzzy, c-format
-#| msgid "checking created signature failed: %s\n"
+#: g10/keyedit.c:2996
+#, c-format
 msgid "revoking the key signature failed: %s\n"
-msgstr "Ñ\81бой Ð¿Ñ\80овеÑ\80ки Ñ\81озданной подписи: %s\n"
+msgstr "Ñ\81бой Ð¾Ñ\82зÑ\8bва Ð¿Ð¾Ð´Ð¿Ð¸Ñ\81и Ñ\81 ÐºÐ»Ñ\8eÑ\87а подписи: %s\n"
 
-#: g10/keyedit.c:3116
+#: g10/keyedit.c:3117
 #, c-format
 msgid "'%s' is not a valid expiration time\n"
 msgstr "'%s' - не допустимый срок действия\n"
 
-#: g10/keyedit.c:3159
+#: g10/keyedit.c:3160
 #, c-format
 msgid "\"%s\" is not a proper fingerprint\n"
 msgstr "\"%s\" - не правильный отпечаток\n"
 
-#: g10/keyedit.c:3183
+#: g10/keyedit.c:3184
 #, c-format
 msgid "subkey \"%s\" not found\n"
 msgstr "подключ \"%s\" не найден\n"
 
-#: g10/keyedit.c:3306
+#: g10/keyedit.c:3307
 msgid "AEAD: "
 msgstr "AEAD: "
 
-#: g10/keyedit.c:3323
+#: g10/keyedit.c:3324
 msgid "Digest: "
 msgstr "Хеш: "
 
-#: g10/keyedit.c:3380
+#: g10/keyedit.c:3381
 msgid "Features: "
 msgstr "Характеристики: "
 
-#: g10/keyedit.c:3397
+#: g10/keyedit.c:3398
 msgid "Keyserver no-modify"
 msgstr "Не изменять на сервере"
 
-#: g10/keyedit.c:3412 g10/keylist.c:376
+#: g10/keyedit.c:3413 g10/keylist.c:376
 msgid "Preferred keyserver: "
 msgstr "Предпочтительный сервер ключей: "
 
-#: g10/keyedit.c:3420 g10/keyedit.c:3421
+#: g10/keyedit.c:3421 g10/keyedit.c:3422
 msgid "Notations: "
 msgstr "Замечания: "
 
-#: g10/keyedit.c:3669
+#: g10/keyedit.c:3670
 msgid "There are no preferences on a PGP 2.x-style user ID.\n"
 msgstr ""
 "В идентификаторе пользователя типа PGP 2.x не может быть предпочтений.\n"
 
-#: g10/keyedit.c:3741
+#: g10/keyedit.c:3742
 #, c-format
 msgid "The following key was revoked on %s by %s key %s\n"
 msgstr "Следующий ключ был отозван %s пользователем %s ключом %s\n"
 
-#: g10/keyedit.c:3765
+#: g10/keyedit.c:3766
 #, c-format
 msgid "This key may be revoked by %s key %s"
 msgstr "Данный ключ может быть отозван пользователем %s ключом %s"
 
-#: g10/keyedit.c:3771
+#: g10/keyedit.c:3772
 msgid "(sensitive)"
 msgstr "(особо важный)"
 
-#: g10/keyedit.c:3813 g10/keyedit.c:3960 g10/keylist.c:264 g10/keyserver.c:538
+#: g10/keyedit.c:3814 g10/keyedit.c:3961 g10/keylist.c:264 g10/keyserver.c:361
 #, c-format
 msgid "created: %s"
 msgstr "     создан: %s"
 
-#: g10/keyedit.c:3816 g10/keylist.c:2149
+#: g10/keyedit.c:3817 g10/keylist.c:2149
 #, c-format
 msgid "revoked: %s"
 msgstr "    отозван: %s"
 
-#: g10/keyedit.c:3818 g10/keylist.c:2155
+#: g10/keyedit.c:3819 g10/keylist.c:2155
 #, c-format
 msgid "expired: %s"
 msgstr "просрочен с: %s"
 
-#: g10/keyedit.c:3820 g10/keyedit.c:3962 g10/keylist.c:266 g10/keylist.c:2161
-#: g10/keyserver.c:544
+#: g10/keyedit.c:3821 g10/keyedit.c:3963 g10/keylist.c:266 g10/keylist.c:2161
+#: g10/keyserver.c:367
 #, c-format
 msgid "expires: %s"
 msgstr "   годен до: %s"
@@ -4635,30 +4647,30 @@ msgstr "   годен до: %s"
 # perhaps this should be somewhere in help/man
 # (S - подпись, C - сертификация, E - шифрование, A - удостоверение личности)
 # too long for repeating messages.
-#: g10/keyedit.c:3822
+#: g10/keyedit.c:3823
 #, c-format
 msgid "usage: %s"
 msgstr "назначение: %s"
 
-#: g10/keyedit.c:3830 g10/keyedit.c:3850 g10/keylist.c:269
+#: g10/keyedit.c:3831 g10/keyedit.c:3851 g10/keylist.c:269
 msgid "card-no: "
 msgstr "номер карты: "
 
-#: g10/keyedit.c:3889
+#: g10/keyedit.c:3890
 #, c-format
 msgid "trust: %s"
 msgstr "доверие: %s"
 
-#: g10/keyedit.c:3893
+#: g10/keyedit.c:3894
 #, c-format
 msgid "validity: %s"
 msgstr "достоверность: %s"
 
-#: g10/keyedit.c:3900
+#: g10/keyedit.c:3901
 msgid "This key has been disabled"
 msgstr "Данный ключ отключен"
 
-#: g10/keyedit.c:3918
+#: g10/keyedit.c:3919
 msgid ""
 "Please note that the shown key validity is not necessarily correct\n"
 "unless you restart the program.\n"
@@ -4666,18 +4678,18 @@ msgstr ""
 "Учтите, что показанная достоверность ключа может быть неверной,\n"
 "пока Вы не перезапустите программу.\n"
 
-#: g10/keyedit.c:3979 g10/keyedit.c:4410 g10/keyserver.c:548
-#: g10/mainproc.c:2371 g10/tofu.c:1787 g10/trust.c:437 dirmngr/ocsp.c:791
+#: g10/keyedit.c:3980 g10/keyedit.c:4411 g10/keyserver.c:371
+#: g10/mainproc.c:2380 g10/tofu.c:1787 g10/trust.c:437 dirmngr/ocsp.c:791
 msgid "revoked"
 msgstr "отозван"
 
-#: g10/keyedit.c:3981 g10/keyedit.c:4412 g10/keyserver.c:552
-#: g10/mainproc.c:2373 g10/tofu.c:1792 g10/trust.c:124
+#: g10/keyedit.c:3982 g10/keyedit.c:4413 g10/keyserver.c:375
+#: g10/mainproc.c:2382 g10/tofu.c:1792 g10/trust.c:124
 msgid "expired"
 msgstr "просрочен"
 
 # check it
-#: g10/keyedit.c:4098
+#: g10/keyedit.c:4099
 #, c-format
 msgid ""
 "WARNING: no user ID has been marked as primary.  This command may\n"
@@ -4687,17 +4699,17 @@ msgstr ""
 "          Эта команда может привести к тому, что первичным станет считаться\n"
 "          другой идентификатор пользователя.\n"
 
-#: g10/keyedit.c:4150
+#: g10/keyedit.c:4151
 #, c-format
 msgid "WARNING: Your encryption subkey expires soon.\n"
 msgstr "Внимание: Срок действия Вашего подключа для шифрования истекает.\n"
 
-#: g10/keyedit.c:4151
+#: g10/keyedit.c:4152
 #, c-format
 msgid "You may want to change its expiration date too.\n"
 msgstr "Возможно, надо поменять также срок действия.\n"
 
-#: g10/keyedit.c:4210
+#: g10/keyedit.c:4211
 msgid ""
 "WARNING: This is a PGP2-style key.  Adding a photo ID may cause some "
 "versions\n"
@@ -4706,35 +4718,35 @@ msgstr ""
 "Внимание: Это ключ типа PGP2. Добавление фотоидентификатора может\n"
 "          в некоторых версиях PGP вызвать отбраковку ключа.\n"
 
-#: g10/keyedit.c:4215 g10/keyedit.c:4505
+#: g10/keyedit.c:4216 g10/keyedit.c:4506
 msgid "Are you sure you still want to add it? (y/N) "
 msgstr "Вы уверены, что хотите добавить это? (y/N) "
 
-#: g10/keyedit.c:4221
+#: g10/keyedit.c:4222
 msgid "You may not add a photo ID to a PGP2-style key.\n"
 msgstr "Нельзя добавить фотоидентификатор в ключ типа PGP2.\n"
 
-#: g10/keyedit.c:4236 g10/keygen.c:2899
+#: g10/keyedit.c:4237 g10/keygen.c:2899
 msgid "Such a user ID already exists on this key!\n"
 msgstr "Такой идентификатор пользователя на этом ключе уже есть!\n"
 
-#: g10/keyedit.c:4338
+#: g10/keyedit.c:4339
 msgid "Delete this good signature? (y/N/q)"
 msgstr "Удалить данную действительную подпись? (y/N/q)"
 
-#: g10/keyedit.c:4348
+#: g10/keyedit.c:4349
 msgid "Delete this invalid signature? (y/N/q)"
 msgstr "Удалить данную недействительную подпись? (y/N/q)"
 
-#: g10/keyedit.c:4352
+#: g10/keyedit.c:4353
 msgid "Delete this unknown signature? (y/N/q)"
 msgstr "Удалить данную неизвестную подпись? (y/N/q)"
 
-#: g10/keyedit.c:4359
+#: g10/keyedit.c:4360
 msgid "Really delete this self-signature? (y/N)"
 msgstr "Действительно удалить данную самоподпись? (y/N)"
 
-#: g10/keyedit.c:4375
+#: g10/keyedit.c:4376
 #, c-format
 msgid "Deleted %d signature.\n"
 msgid_plural "Deleted %d signatures.\n"
@@ -4742,20 +4754,20 @@ msgstr[0] "Удалена %d подпись.\n"
 msgstr[1] "Удалены %d подписи.\n"
 msgstr[2] "Удалено %d подписей.\n"
 
-#: g10/keyedit.c:4379
+#: g10/keyedit.c:4380
 msgid "Nothing deleted.\n"
 msgstr "Ничего не удалено.\n"
 
-#: g10/keyedit.c:4414
+#: g10/keyedit.c:4415
 msgid "invalid"
 msgstr "недопустим"
 
-#: g10/keyedit.c:4416
+#: g10/keyedit.c:4417
 #, c-format
 msgid "User ID \"%s\" compacted: %s\n"
 msgstr "Идентификатор пользователя \"%s\" сжат: %s\n"
 
-#: g10/keyedit.c:4422
+#: g10/keyedit.c:4423
 #, c-format
 msgid "User ID \"%s\": %d signature removed\n"
 msgid_plural "User ID \"%s\": %d signatures removed\n"
@@ -4763,17 +4775,17 @@ msgstr[0] "Идентификатор пользователя \"%s\": %d под
 msgstr[1] "Идентификатор пользователя \"%s\": %d подписи удалены\n"
 msgstr[2] "Идентификатор пользователя \"%s\": %d подписей удалено\n"
 
-#: g10/keyedit.c:4430
+#: g10/keyedit.c:4431
 #, c-format
 msgid "User ID \"%s\": already minimized\n"
 msgstr "Идентификатор пользователя \"%s\" уже минимизирован\n"
 
-#: g10/keyedit.c:4431
+#: g10/keyedit.c:4432
 #, c-format
 msgid "User ID \"%s\": already clean\n"
 msgstr "Идентификатор пользователя \"%s\": уже очищен\n"
 
-#: g10/keyedit.c:4500
+#: g10/keyedit.c:4501
 msgid ""
 "WARNING: This is a PGP 2.x-style key.  Adding a designated revoker may "
 "cause\n"
@@ -4782,39 +4794,39 @@ msgstr ""
 "Внимание: Это ключ типа PGP 2.x. Добавление особого отзывающего ключа\n"
 "          может в некоторых версиях PGP вызвать выбраковку ключа.\n"
 
-#: g10/keyedit.c:4511
+#: g10/keyedit.c:4512
 msgid "You may not add a designated revoker to a PGP 2.x-style key.\n"
 msgstr "Нельзя добавить особый отзывающий ключ в ключ типа PGP 2.x.\n"
 
-#: g10/keyedit.c:4528
+#: g10/keyedit.c:4529
 msgid "Enter the user ID of the designated revoker: "
 msgstr "Укажите идентификатор пользователя ключа, назначенного отзывающим: "
 
-#: g10/keyedit.c:4554
+#: g10/keyedit.c:4555
 #, c-format
 msgid "cannot appoint a PGP 2.x style key as a designated revoker\n"
 msgstr "нельзя назначить отзывающим ключ типа PGP 2.x\n"
 
-#: g10/keyedit.c:4569
+#: g10/keyedit.c:4570
 #, c-format
 msgid "you cannot appoint a key as its own designated revoker\n"
 msgstr "ключ не может быть назначен отзывающим самого себя\n"
 
-#: g10/keyedit.c:4591
+#: g10/keyedit.c:4592
 #, c-format
 msgid "this key has already been designated as a revoker\n"
 msgstr "этот ключ уже назначен отзывающим\n"
 
-#: g10/keyedit.c:4609
+#: g10/keyedit.c:4610
 msgid "WARNING: appointing a key as a designated revoker cannot be undone!\n"
 msgstr "Внимание: назначение ключа отзывающим невозможно отменить!\n"
 
-#: g10/keyedit.c:4615
+#: g10/keyedit.c:4616
 msgid ""
 "Are you sure you want to appoint this key as a designated revoker? (y/N) "
 msgstr "Вы уверены, что хотите назначить данный ключ отзывающим? (y/N) "
 
-#: g10/keyedit.c:4683
+#: g10/keyedit.c:4684
 msgid ""
 "Are you sure you want to change the expiration time for multiple subkeys? (y/"
 "N) "
@@ -4822,173 +4834,173 @@ msgstr ""
 "Вы уверены, что хотите изменить срок действия сразу нескольких подключей? (y/"
 "N) "
 
-#: g10/keyedit.c:4688
+#: g10/keyedit.c:4689
 msgid "Changing expiration time for a subkey.\n"
 msgstr "Смена срока действия подключа.\n"
 
-#: g10/keyedit.c:4691
+#: g10/keyedit.c:4692
 msgid "Changing expiration time for the primary key.\n"
 msgstr "Смена срока действия первичного ключа.\n"
 
-#: g10/keyedit.c:4747
+#: g10/keyedit.c:4748
 #, c-format
 msgid "You can't change the expiration date of a v3 key\n"
 msgstr "Нельзя изменить срок действия ключа v3\n"
 
-#: g10/keyedit.c:4807
+#: g10/keyedit.c:4808
 msgid "Changing usage of a subkey.\n"
 msgstr "Смена режимов использования подключа.\n"
 
-#: g10/keyedit.c:4810
+#: g10/keyedit.c:4811
 msgid "Changing usage of the primary key.\n"
 msgstr "Смена режимов использования первичного ключа.\n"
 
-#: g10/keyedit.c:4928
+#: g10/keyedit.c:4929
 #, c-format
 msgid "signing subkey %s is already cross-certified\n"
 msgstr "подписывающий подключ %s уже перекрестно заверен\n"
 
-#: g10/keyedit.c:4934
+#: g10/keyedit.c:4935
 #, c-format
 msgid "subkey %s does not sign and so does not need to be cross-certified\n"
 msgstr "подключ %s не для подписей, он не нуждается в перекрестном заверении\n"
 
-#: g10/keyedit.c:5051
+#: g10/keyedit.c:5052
 msgid "Please select exactly one user ID.\n"
 msgstr "Выберите ровно один идентификатор пользователя.\n"
 
-#: g10/keyedit.c:5092 g10/keyedit.c:5206 g10/keyedit.c:5319 g10/keyedit.c:5457
+#: g10/keyedit.c:5093 g10/keyedit.c:5207 g10/keyedit.c:5320 g10/keyedit.c:5458
 #, c-format
 msgid "skipping v3 self-signature on user ID \"%s\"\n"
 msgstr "пропуск самоподписи v3 на идентификаторе пользователя \"%s\"\n"
 
-#: g10/keyedit.c:5263
+#: g10/keyedit.c:5264
 msgid "Enter your preferred keyserver URL: "
 msgstr "Введите URL предпочтительного сервера ключей: "
 
-#: g10/keyedit.c:5342
+#: g10/keyedit.c:5343
 msgid "Are you sure you want to replace it? (y/N) "
 msgstr "Вы действительно хотите заменить его? (y/N) "
 
-#: g10/keyedit.c:5343
+#: g10/keyedit.c:5344
 msgid "Are you sure you want to delete it? (y/N) "
 msgstr "Вы действительно хотите удалить его? (y/N) "
 
-#: g10/keyedit.c:5403
+#: g10/keyedit.c:5404
 msgid "Enter the notation: "
 msgstr "Введите замечание: "
 
-#: g10/keyedit.c:5550
+#: g10/keyedit.c:5551
 msgid "Proceed? (y/N) "
 msgstr "Продолжить? (y/N) "
 
-#: g10/keyedit.c:5620
+#: g10/keyedit.c:5621
 #, c-format
 msgid "No user ID with index %d\n"
 msgstr "Нет идентификатора пользователя с индексом %d\n"
 
-#: g10/keyedit.c:5682
+#: g10/keyedit.c:5683
 #, c-format
 msgid "No user ID with hash %s\n"
 msgstr "Нет идентификатора пользователя с хешем %s\n"
 
-#: g10/keyedit.c:5783
+#: g10/keyedit.c:5784
 #, c-format
 msgid "No subkey with key ID '%s'.\n"
 msgstr "Нет подключа с идентификатором ключа '%s'.\n"
 
-#: g10/keyedit.c:5805
+#: g10/keyedit.c:5806
 #, c-format
 msgid "No subkey with index %d\n"
 msgstr "Нет подключа с индексом %d\n"
 
-#: g10/keyedit.c:5946
+#: g10/keyedit.c:5947
 #, c-format
 msgid "user ID: \"%s\"\n"
 msgstr "Идентификатор пользователя: \"%s\"\n"
 
-#: g10/keyedit.c:5949 g10/keyedit.c:6051 g10/keyedit.c:6099
+#: g10/keyedit.c:5950 g10/keyedit.c:6052 g10/keyedit.c:6100
 #, c-format
 msgid "signed by your key %s on %s%s%s\n"
 msgstr "подписано Вашим ключом %s %s%s%s\n"
 
-#: g10/keyedit.c:5951 g10/keyedit.c:6053 g10/keyedit.c:6101
+#: g10/keyedit.c:5952 g10/keyedit.c:6054 g10/keyedit.c:6102
 msgid " (non-exportable)"
 msgstr " (неэкспортируемая)"
 
-#: g10/keyedit.c:5955
+#: g10/keyedit.c:5956
 #, c-format
 msgid "This signature expired on %s.\n"
 msgstr "Срок действия подписи истек %s.\n"
 
-#: g10/keyedit.c:5960
+#: g10/keyedit.c:5961
 msgid "Are you sure you still want to revoke it? (y/N) "
 msgstr "Вы уверены, что хотите отозвать? (y/N) "
 
-#: g10/keyedit.c:5965
+#: g10/keyedit.c:5966
 msgid "Create a revocation certificate for this signature? (y/N) "
 msgstr "Создать сертификат отзыва для данной подписи? (y/N) "
 
-#: g10/keyedit.c:6025
+#: g10/keyedit.c:6026
 #, c-format
 msgid "You have signed these user IDs on key %s:\n"
 msgstr "Вы подписали эти идентификаторы пользователей на ключе %s:\n"
 
-#: g10/keyedit.c:6054
+#: g10/keyedit.c:6055
 msgid " (non-revocable)"
 msgstr " (неотзываемая)"
 
-#: g10/keyedit.c:6061
+#: g10/keyedit.c:6062
 #, c-format
 msgid "revoked by your key %s on %s\n"
 msgstr "отозвано Вашим ключом %s %s\n"
 
-#: g10/keyedit.c:6086
+#: g10/keyedit.c:6087
 msgid "You are about to revoke these signatures:\n"
 msgstr "Вы отзываете следующие подписи:\n"
 
-#: g10/keyedit.c:6109
+#: g10/keyedit.c:6110
 msgid "Really create the revocation certificates? (y/N) "
 msgstr "Действительно создать сертификат отзыва? (y/N) "
 
-#: g10/keyedit.c:6142
+#: g10/keyedit.c:6143
 #, c-format
 msgid "no secret key\n"
 msgstr "нет секретного ключа\n"
 
-#: g10/keyedit.c:6190
+#: g10/keyedit.c:6191
 #, c-format
 msgid "tried to revoke a non-user ID: %s\n"
 msgstr "попытка отзыва непользовательского идентификатора: %s\n"
 
-#: g10/keyedit.c:6200
+#: g10/keyedit.c:6201
 #, c-format
 msgid "user ID \"%s\" is already revoked\n"
 msgstr "Идентификатор пользователя \"%s\" уже отозван\n"
 
-#: g10/keyedit.c:6217
+#: g10/keyedit.c:6218
 #, c-format
 msgid "WARNING: a user ID signature is dated %d seconds in the future\n"
 msgstr ""
 "Внимание: подпись идентификатора пользователя датирована %d секундами в "
 "будущем\n"
 
-#: g10/keyedit.c:6313
+#: g10/keyedit.c:6314
 #, c-format
 msgid "Cannot revoke the last valid user ID.\n"
 msgstr "Нельзя удалять последний действительный идентификатор пользователя.\n"
 
-#: g10/keyedit.c:6351
+#: g10/keyedit.c:6352
 #, c-format
 msgid "Key %s is already revoked.\n"
 msgstr "Ключ %s уже отозван.\n"
 
-#: g10/keyedit.c:6413
+#: g10/keyedit.c:6414
 #, c-format
 msgid "Subkey %s is already revoked.\n"
 msgstr "Подключ %s уже отозван.\n"
 
-#: g10/keyedit.c:6510
+#: g10/keyedit.c:6511
 #, c-format
 msgid "Displaying %s photo ID of size %ld for key %s (uid %d)\n"
 msgstr ""
@@ -5708,25 +5720,25 @@ msgstr "учитывать набор URL предпочтительных се
 msgid "honor the PKA record set on a key when retrieving keys"
 msgstr "учитывать набор записей PKA при получении ключей"
 
-#: g10/keyserver.c:550
+#: g10/keyserver.c:373
 msgid "disabled"
 msgstr "отключен"
 
-#: g10/keyserver.c:754
+#: g10/keyserver.c:577
 msgid "Enter number(s), N)ext, or Q)uit > "
 msgstr "Введите числа, N) Следующее; Q) Выход > "
 
-#: g10/keyserver.c:860
+#: g10/keyserver.c:683
 #, c-format
 msgid "invalid keyserver protocol (us %d!=handler %d)\n"
 msgstr "недопустимый протокол сервера ключей (ожидается %d, получено %d)\n"
 
-#: g10/keyserver.c:1001 g10/keyserver.c:1116
+#: g10/keyserver.c:824 g10/keyserver.c:939
 #, c-format
 msgid "\"%s\" not a key ID: skipping\n"
 msgstr "\"%s\" - не идентификатор ключа: пропущен\n"
 
-#: g10/keyserver.c:1438 g10/keyserver.c:1471
+#: g10/keyserver.c:1237 g10/keyserver.c:1270
 #, c-format
 msgid "refreshing %d key from %s\n"
 msgid_plural "refreshing %d keys from %s\n"
@@ -5734,52 +5746,47 @@ msgstr[0] "обновление %d ключа из %s\n"
 msgstr[1] "обновление %d ключей из %s\n"
 msgstr[2] "обновление %d ключей из %s\n"
 
-#: g10/keyserver.c:1445
+#: g10/keyserver.c:1244
 #, c-format
 msgid "WARNING: unable to refresh key %s via %s: %s\n"
 msgstr "Внимание: невозможно обновить ключ %s с %s: %s\n"
 
-#: g10/keyserver.c:1549
+#: g10/keyserver.c:1336
 #, c-format
 msgid "key \"%s\" not found on keyserver\n"
 msgstr "ключ \"%s\" на сервере ключей не найден\n"
 
-#: g10/keyserver.c:1552
+#: g10/keyserver.c:1339
 #, c-format
 msgid "key not found on keyserver\n"
 msgstr "ключ не найден на сервере ключей\n"
 
-#: g10/keyserver.c:1743
-#, c-format
-msgid "requesting key %s from %s server %s\n"
-msgstr "запрашиваю ключ %s с сервера %s %s\n"
-
-#: g10/keyserver.c:1747
+#: g10/keyserver.c:1504
 #, c-format
 msgid "requesting key %s from %s\n"
 msgstr "получение ключа %s с %s\n"
 
-#: g10/keyserver.c:1852 g10/keyserver.c:2031
+#: g10/keyserver.c:1619 g10/keyserver.c:1798
 #, c-format
 msgid "no keyserver known\n"
 msgstr "не известно ни одного сервера ключей\n"
 
-#: g10/keyserver.c:1867 g10/skclist.c:214 g10/skclist.c:242
+#: g10/keyserver.c:1634 g10/skclist.c:215 g10/skclist.c:243
 #, c-format
 msgid "skipped \"%s\": %s\n"
 msgstr "пропущено \"%s\": %s\n"
 
-#: g10/keyserver.c:1871
+#: g10/keyserver.c:1638
 #, c-format
 msgid "sending key %s to %s\n"
 msgstr "отправка ключа %s на %s\n"
 
-#: g10/keyserver.c:1912
+#: g10/keyserver.c:1679
 #, c-format
 msgid "requesting key from '%s'\n"
 msgstr "запрос ключа из '%s'\n"
 
-#: g10/keyserver.c:1928
+#: g10/keyserver.c:1695
 #, c-format
 msgid "WARNING: unable to fetch URI %s: %s\n"
 msgstr "Внимание: невозможно получить URI %s: %s\n"
@@ -5794,72 +5801,72 @@ msgstr "странный размер зашифрованного сеансо
 msgid "%s encrypted session key\n"
 msgstr "сеансовый ключ зашифрован по %s\n"
 
-#: g10/mainproc.c:400
+#: g10/mainproc.c:403
 #, c-format
 msgid "passphrase generated with unknown digest algorithm %d\n"
 msgstr "фраза-пароль создана с незнакомой хеш-функцией %d\n"
 
-#: g10/mainproc.c:481
+#: g10/mainproc.c:485
 #, c-format
 msgid "public key is %s\n"
 msgstr "открытый ключ - %s\n"
 
-#: g10/mainproc.c:557
+#: g10/mainproc.c:561
 #, c-format
 msgid "public key encrypted data: good DEK\n"
 msgstr "данные зашифрованы открытым ключом: хороший DEK\n"
 
-#: g10/mainproc.c:590
+#: g10/mainproc.c:594
 #, c-format
 msgid "encrypted with %u-bit %s key, ID %s, created %s\n"
 msgstr "зашифровано %u-битным ключом %s с идентификатором %s, созданным %s\n"
 
-#: g10/mainproc.c:594 g10/pkclist.c:228
+#: g10/mainproc.c:598 g10/pkclist.c:228
 #, c-format
 msgid "      \"%s\"\n"
 msgstr "      \"%s\"\n"
 
-#: g10/mainproc.c:598
+#: g10/mainproc.c:602
 #, c-format
 msgid "encrypted with %s key, ID %s\n"
 msgstr "зашифровано ключом %s с идентификатором %s\n"
 
-#: g10/mainproc.c:619
+#: g10/mainproc.c:623
 #, c-format
 msgid "public key decryption failed: %s\n"
 msgstr "сбой расшифровки с открытым ключом: %s\n"
 
-#: g10/mainproc.c:641 g10/mainproc.c:970
+#: g10/mainproc.c:645 g10/mainproc.c:976
 #, c-format
 msgid "WARNING: multiple plaintexts seen\n"
 msgstr "Внимание: наблюдается несколько текстов\n"
 
-#: g10/mainproc.c:649
+#: g10/mainproc.c:653
 #, c-format
 msgid "encrypted with %lu passphrases\n"
 msgstr "зашифровано %lu фразами-паролями\n"
 
-#: g10/mainproc.c:651
+#: g10/mainproc.c:655
 #, c-format
 msgid "encrypted with 1 passphrase\n"
 msgstr "зашифровано одной фразой-паролем\n"
 
-#: g10/mainproc.c:685 g10/mainproc.c:706
+#: g10/mainproc.c:689 g10/mainproc.c:710
 #, c-format
 msgid "assuming %s encrypted data\n"
 msgstr "предполагаются данные, зашифрованные по %s\n"
 
-#: g10/mainproc.c:692
+#: g10/mainproc.c:696
 #, c-format
 msgid "IDEA cipher unavailable, optimistically attempting to use %s instead\n"
 msgstr "шифр IDEA недоступен, попробую вместо него %s\n"
 
-#: g10/mainproc.c:779 g10/mainproc.c:817
+#: g10/mainproc.c:785 g10/mainproc.c:823
 #, c-format
 msgid "WARNING: message was not integrity protected\n"
 msgstr "Внимание: целостность сообщения не защищена\n"
 
-#: g10/mainproc.c:790
+#: g10/mainproc.c:796
 msgid ""
 "Hint: If this message was created before the year 2003 it is\n"
 "likely that this message is legitimate.  This is because back\n"
@@ -5869,179 +5876,179 @@ msgstr ""
 "оно правомерно, поскольку в те времена защита целостности широко\n"
 "не применялась.\n"
 
-#: g10/mainproc.c:793
+#: g10/mainproc.c:799
 #, c-format
 msgid "Use the option '%s' to decrypt anyway.\n"
 msgstr "Воспользуйтесь параметром '%s', чтобы тем не менее расшифровать.\n"
 
-#: g10/mainproc.c:798
+#: g10/mainproc.c:804
 #, c-format
 msgid "decryption forced to fail!\n"
 msgstr "принудительный сбой расшифровки!\n"
 
-#: g10/mainproc.c:810
+#: g10/mainproc.c:816
 #, c-format
 msgid "decryption okay\n"
 msgstr "расшифровано нормально\n"
 
-#: g10/mainproc.c:823
+#: g10/mainproc.c:829
 #, c-format
 msgid "WARNING: encrypted message has been manipulated!\n"
 msgstr "Внимание: зашифрованное сообщение было изменено!\n"
 
-#: g10/mainproc.c:841
+#: g10/mainproc.c:847
 #, c-format
 msgid "decryption failed: %s\n"
 msgstr "сбой расшифровки: %s\n"
 
-#: g10/mainproc.c:886
+#: g10/mainproc.c:892
 #, c-format
 msgid "Note: sender requested \"for-your-eyes-only\"\n"
 msgstr "Замечание: отправитель запросил \"только между нами\"\n"
 
-#: g10/mainproc.c:893
+#: g10/mainproc.c:899
 #, c-format
 msgid "original file name='%.*s'\n"
 msgstr "первоначальное имя файла='%.*s'\n"
 
-#: g10/mainproc.c:1148
+#: g10/mainproc.c:1154
 #, c-format
 msgid "standalone revocation - use \"gpg --import\" to apply\n"
 msgstr "отдельный сертификат отзыва: задействуется командой \"gpg --import\"\n"
 
-#: g10/mainproc.c:1452 g10/mainproc.c:1495
+#: g10/mainproc.c:1458 g10/mainproc.c:1501
 #, c-format
 msgid "no signature found\n"
 msgstr "подпись не найдена\n"
 
-#: g10/mainproc.c:1852
+#: g10/mainproc.c:1858
 #, c-format
 msgid "BAD signature from \"%s\""
 msgstr "ПЛОХАЯ подпись пользователя \"%s\""
 
-#: g10/mainproc.c:1854
+#: g10/mainproc.c:1860
 #, c-format
 msgid "Expired signature from \"%s\""
 msgstr "Просроченная подпись пользователя \"%s\""
 
-#: g10/mainproc.c:1856
+#: g10/mainproc.c:1862
 #, c-format
 msgid "Good signature from \"%s\""
 msgstr "Действительная подпись пользователя \"%s\""
 
-#: g10/mainproc.c:1876
+#: g10/mainproc.c:1882
 #, c-format
 msgid "signature verification suppressed\n"
 msgstr "проверка подписи подавлена\n"
 
-#: g10/mainproc.c:1985
+#: g10/mainproc.c:1991
 #, c-format
 msgid "can't handle this ambiguous signature data\n"
 msgstr "не могу обработать эти неоднозначные данные подписи\n"
 
-#: g10/mainproc.c:2001 g10/mainproc.c:2008
+#: g10/mainproc.c:2007 g10/mainproc.c:2014
 #, c-format
 msgid "Signature made %s\n"
 msgstr "Подпись сделана %s\n"
 
-#: g10/mainproc.c:2002 g10/mainproc.c:2009 sm/verify.c:476
+#: g10/mainproc.c:2008 g10/mainproc.c:2015 sm/verify.c:476
 #, c-format
 msgid "               using %s key %s\n"
 msgstr "               ключом %s с идентификатором %s\n"
 
-#: g10/mainproc.c:2013
+#: g10/mainproc.c:2019
 #, c-format
 msgid "Signature made %s using %s key ID %s\n"
 msgstr "Подпись сделана %s ключом %s с идентификатором %s\n"
 
-#: g10/mainproc.c:2019
+#: g10/mainproc.c:2025
 #, c-format
 msgid "               issuer \"%s\"\n"
 msgstr "                издатель \"%s\"\n"
 
-#: g10/mainproc.c:2070
+#: g10/mainproc.c:2076
 #, c-format
 msgid "Key available at: "
 msgstr "Ключ доступен на: "
 
-#: g10/mainproc.c:2111
+#: g10/mainproc.c:2118
 #, c-format
 msgid "Note: Use '%s' to make use of this info\n"
 msgstr "Замечание: Параметр '%s' включает использование этой информации\n"
 
-#: g10/mainproc.c:2325
+#: g10/mainproc.c:2334
 msgid "[uncertain]"
 msgstr "[сомнительно]"
 
-#: g10/mainproc.c:2363
+#: g10/mainproc.c:2372
 #, c-format
 msgid "                aka \"%s\""
 msgstr "                или \"%s\""
 
-#: g10/mainproc.c:2438
+#: g10/mainproc.c:2447
 #, c-format
 msgid "WARNING: This key is not suitable for signing in %s mode\n"
 msgstr "Внимание: Данный ключ не подходит для подписи в режиме %s\n"
 
-#: g10/mainproc.c:2456
+#: g10/mainproc.c:2465
 #, c-format
 msgid "Signature expired %s\n"
 msgstr "Подпись просрочена %s\n"
 
-#: g10/mainproc.c:2460
+#: g10/mainproc.c:2469
 #, c-format
 msgid "Signature expires %s\n"
 msgstr "Подпись действительна до %s\n"
 
-#: g10/mainproc.c:2471
+#: g10/mainproc.c:2480
 #, c-format
 msgid "%s signature, digest algorithm %s%s%s\n"
 msgstr "формат подписи: %s, хеш-функция %s%s%s\n"
 
-#: g10/mainproc.c:2472
+#: g10/mainproc.c:2481
 msgid "binary"
 msgstr "двоичный"
 
-#: g10/mainproc.c:2473
+#: g10/mainproc.c:2482
 msgid "textmode"
 msgstr "текстовый"
 
-#: g10/mainproc.c:2473 g10/trust.c:123 dirmngr/ocsp.c:792
+#: g10/mainproc.c:2482 g10/trust.c:123 dirmngr/ocsp.c:792
 msgid "unknown"
 msgstr "неизвестно"
 
-#: g10/mainproc.c:2475
+#: g10/mainproc.c:2484
 msgid ", key algorithm "
 msgstr ", алгоритм ключа "
 
-#: g10/mainproc.c:2510
+#: g10/mainproc.c:2519
 #, c-format
 msgid "WARNING: not a detached signature; file '%s' was NOT verified!\n"
 msgstr "Внимание: не отделенная подпись; файл '%s' НЕ был проверен!\n"
 
-#: g10/mainproc.c:2548
+#: g10/mainproc.c:2558
 #, c-format
 msgid "Can't check signature: %s\n"
 msgstr "Не могу проверить подпись: %s\n"
 
-#: g10/mainproc.c:2644 g10/mainproc.c:2663 g10/mainproc.c:2787
+#: g10/mainproc.c:2654 g10/mainproc.c:2673 g10/mainproc.c:2797
 #, c-format
 msgid "not a detached signature\n"
 msgstr "не отделенная подпись\n"
 
-#: g10/mainproc.c:2697
+#: g10/mainproc.c:2707
 #, c-format
 msgid ""
 "WARNING: multiple signatures detected.  Only the first will be checked.\n"
 msgstr ""
 "Внимание: обнаружено несколько подписей. Проверена будет только первая.\n"
 
-#: g10/mainproc.c:2706
+#: g10/mainproc.c:2716
 #, c-format
 msgid "standalone signature of class 0x%02x\n"
 msgstr "отдельная подпись класса 0x%02x\n"
 
-#: g10/mainproc.c:2791
+#: g10/mainproc.c:2801
 #, c-format
 msgid "old style (PGP 2.x) signature\n"
 msgstr "подпись старого типа (PGP 2.x)\n"
@@ -6226,50 +6233,54 @@ msgstr "Неизвестное критическое замечание к по
 msgid "subpacket of type %d has critical bit set\n"
 msgstr "в подпакете типа %d установлен критический бит\n"
 
-#: g10/passphrase.c:73 g10/passphrase.c:275 g10/passphrase.c:308
+#: g10/passphrase.c:73 g10/passphrase.c:283 g10/passphrase.c:316
 #, c-format
 msgid "problem with the agent: %s\n"
 msgstr "проблема с агентом: %s\n"
 
-#: g10/passphrase.c:258
+#: g10/passphrase.c:251 sm/decrypt.c:341
+msgid "Please enter the passphrase for decryption."
+msgstr "Введите новую фразу-пароль для расшифрования."
+
+#: g10/passphrase.c:253
 msgid "Enter passphrase\n"
 msgstr "Введите фразу-пароль\n"
 
-#: g10/passphrase.c:269
+#: g10/passphrase.c:277
 #, c-format
 msgid "cancelled by user\n"
 msgstr "прервано пользователем\n"
 
-#: g10/passphrase.c:510
+#: g10/passphrase.c:523
 #, c-format
 msgid " (main key ID %s)"
 msgstr " (идентификатор главного ключа %s)"
 
-#: g10/passphrase.c:517
+#: g10/passphrase.c:530
 msgid "Please enter the passphrase to unlock the OpenPGP secret key:"
 msgstr "Введите фразу-пароль для разблокировки секретного ключа OpenPGP:"
 
-#: g10/passphrase.c:521
+#: g10/passphrase.c:534
 msgid "Please enter the passphrase to import the OpenPGP secret key:"
 msgstr "Введите фразу-пароль для импорта секретного ключа OpenPGP:"
 
-#: g10/passphrase.c:526
+#: g10/passphrase.c:539
 msgid "Please enter the passphrase to export the OpenPGP secret subkey:"
 msgstr "Введите фразу-пароль для экспорта секретного подключа OpenPGP:"
 
-#: g10/passphrase.c:529
+#: g10/passphrase.c:542
 msgid "Please enter the passphrase to export the OpenPGP secret key:"
 msgstr "Введите фразу-пароль для экспорта секретного ключа OpenPGP:"
 
-#: g10/passphrase.c:534
+#: g10/passphrase.c:547
 msgid "Do you really want to permanently delete the OpenPGP secret subkey key:"
 msgstr "Вы действительно хотите навсегда удалить секретный подключ OpenPGP:"
 
-#: g10/passphrase.c:537
+#: g10/passphrase.c:550
 msgid "Do you really want to permanently delete the OpenPGP secret key:"
 msgstr "Вы действительно хотите навсегда удалить секретный ключ OpenPGP:"
 
-#: g10/passphrase.c:546
+#: g10/passphrase.c:559
 #, c-format
 msgid ""
 "%s\n"
@@ -6325,7 +6336,7 @@ msgstr "'%s' - не файл JPEG\n"
 msgid "Is this photo correct (y/N/q)? "
 msgstr "Это правильная фотография? (y/N/q) "
 
-#: g10/photoid.c:395
+#: g10/photoid.c:399
 #, c-format
 msgid "unable to display photo ID!\n"
 msgstr "не могу отобразить фотоидентификатор!\n"
@@ -6669,7 +6680,7 @@ msgstr "не могу открыть подписанные данные '%s'\n"
 msgid "can't open signed data fd=%d: %s\n"
 msgstr "не могу открыть подписанные данные fd=%d: %s\n"
 
-#: g10/pubkey-enc.c:98 g10/pubkey-enc.c:139 sm/decrypt.c:493
+#: g10/pubkey-enc.c:98 g10/pubkey-enc.c:139 sm/decrypt.c:969
 #, c-format
 msgid "key %s is not suitable for decryption in %s mode\n"
 msgstr "ключ %s не пригоден для расшифрования в режиме %s\n"
@@ -6684,28 +6695,28 @@ msgstr "анонимный получатель; пробую секретный
 msgid "okay, we are the anonymous recipient.\n"
 msgstr "отлично, мы - анонимный получатель.\n"
 
-#: g10/pubkey-enc.c:321
+#: g10/pubkey-enc.c:311
 #, c-format
 msgid "old encoding of the DEK is not supported\n"
 msgstr "старая кодировка DEK не поддерживается\n"
 
-#: g10/pubkey-enc.c:349
+#: g10/pubkey-enc.c:339
 #, c-format
 msgid "cipher algorithm %d%s is unknown or disabled\n"
 msgstr "алгоритм шифрования %d%s неизвестен или отключен\n"
 
-#: g10/pubkey-enc.c:393
+#: g10/pubkey-enc.c:383
 #, c-format
 msgid "WARNING: cipher algorithm %s not found in recipient preferences\n"
 msgstr ""
 "Внимание: в списке предпочтений получателя алгоритм шифрования %s не найден\n"
 
-#: g10/pubkey-enc.c:426
+#: g10/pubkey-enc.c:416
 #, c-format
 msgid "Note: secret key %s expired at %s\n"
 msgstr "Замечание: секретный ключ %s просрочен с %s\n"
 
-#: g10/pubkey-enc.c:433
+#: g10/pubkey-enc.c:423
 #, c-format
 msgid "Note: key has been revoked"
 msgstr "Замечание: ключ был отозван"
@@ -7026,7 +7037,7 @@ msgstr ""
 msgid "%s/%s signature from: \"%s\"\n"
 msgstr "подпись %s/%s пользователя \"%s\"\n"
 
-#: g10/sign.c:1046
+#: g10/sign.c:1045
 #, c-format
 msgid ""
 "WARNING: forcing digest algorithm %s (%d) violates recipient preferences\n"
@@ -7034,34 +7045,34 @@ msgstr ""
 "Внимание: использование хеш-функции %s (%d) нарушает предпочтения "
 "получателя\n"
 
-#: g10/sign.c:1188
+#: g10/sign.c:1187
 #, c-format
 msgid "signing:"
 msgstr "подпись:"
 
-#: g10/sign.c:1465
+#: g10/sign.c:1464
 #, c-format
 msgid "%s encryption will be used\n"
 msgstr "будет использовано шифрование по %s\n"
 
-#: g10/skclist.c:173 g10/skclist.c:254
+#: g10/skclist.c:174 g10/skclist.c:255
 #, c-format
 msgid "key is not flagged as insecure - can't use it with the faked RNG!\n"
 msgstr ""
 "ключ не помечен как небезопасный - не могу использовать его с фальшивым "
 "генератором случайных чисел!\n"
 
-#: g10/skclist.c:205
+#: g10/skclist.c:206
 #, c-format
 msgid "skipped \"%s\": duplicated\n"
 msgstr "пропущено \"%s\": дубликат\n"
 
-#: g10/skclist.c:224
+#: g10/skclist.c:225
 #, c-format
 msgid "skipped: secret key already present\n"
 msgstr "пропущено: секретный ключ уже имеется\n"
 
-#: g10/skclist.c:243
+#: g10/skclist.c:244
 msgid "this is a PGP generated Elgamal key which is not secure for signatures!"
 msgstr ""
 "это ключ Elgamal, созданный PGP, он не обеспечивает безопасность подписи!"
@@ -7116,7 +7127,7 @@ msgstr "ошибка чтения в '%s': %s\n"
 msgid "trustdb: sync failed: %s\n"
 msgstr "таблица доверия: сбой синхронизации: %s\n"
 
-#: g10/tdbio.c:144 sm/keydb.c:336
+#: g10/tdbio.c:144 sm/keydb.c:335
 #, c-format
 msgid "can't create lock for '%s'\n"
 msgstr "не удается создать блокировку для '%s'\n"
@@ -7891,39 +7902,49 @@ msgstr ""
 #. TRANSLATORS: Put a \x1f right before a colon.  This can be
 #. * used by pinentry to nicely align the names and values.  Keep
 #. * the %s at the start and end of the string.
-#: scd/app-p15.c:3369 scd/app-openpgp.c:2153
+#: scd/app-p15.c:4955 scd/app-openpgp.c:2151
 #, c-format
 msgid "%sNumber\1f: %s%%0AHolder\1f: %s%s"
 msgstr "%sНомер\1f: %s%%0AДержатель\1f: %s%s"
 
 #. TRANSLATORS: This is the number of remaining attempts to
 #. * enter a PIN.  Use %%0A (double-percent,0A) for a linefeed.
-#: scd/app-p15.c:3388 scd/app-openpgp.c:2169
+#: scd/app-p15.c:4974 scd/app-openpgp.c:2167
 #, c-format
 msgid "Remaining attempts: %d"
 msgstr "Осталось попыток: %d"
 
-#: scd/app-p15.c:3459 scd/app-nks.c:1110
+#: scd/app-p15.c:5053 scd/app-nks.c:1113
 msgid "||Please enter the PIN for the key to create qualified signatures."
 msgstr "||Введите PIN ключа для создания квалифицированных подписей."
 
-#: scd/app-p15.c:3462 scd/app-nks.c:1092
+#. TRANSLATORS: Do not translate the "|A|" prefix but keep it at
+#. the start of the string.  Use %0A (single percent) for a linefeed.
+#: scd/app-p15.c:5056 scd/app-openpgp.c:2461
+msgid "|A|Please enter the Admin PIN"
+msgstr "|A|Введите административный PIN"
+
+#: scd/app-p15.c:5058 scd/app-nks.c:1103
+msgid "|P|Please enter the PIN Unblocking Code (PUK) for the standard keys."
+msgstr "|P|Введите код разблокировки PIN (PUK) для стандартных ключей."
+
+#: scd/app-p15.c:5061 scd/app-nks.c:1095
 msgid "||Please enter the PIN for the standard keys."
 msgstr "|A|Введите PIN для стандартных ключей."
 
-#: scd/app-nks.c:709 scd/app-openpgp.c:3664
+#: scd/app-nks.c:709 scd/app-openpgp.c:3663
 #, c-format
 msgid "RSA modulus missing or not of size %d bits\n"
 msgstr "Модули RSA пропущены, или их размер не равен %d бит\n"
 
-#: scd/app-nks.c:717 scd/app-openpgp.c:3676
+#: scd/app-nks.c:717 scd/app-openpgp.c:3675
 #, c-format
 msgid "RSA public exponent missing or larger than %d bits\n"
 msgstr "отсутствует открытая экспонента RSA, или ее размер превышает %d бит\n"
 
-#: scd/app-nks.c:797 scd/app-openpgp.c:2326 scd/app-openpgp.c:2345
-#: scd/app-openpgp.c:2512 scd/app-openpgp.c:2530 scd/app-openpgp.c:2827
-#: scd/app-openpgp.c:2874 scd/app-openpgp.c:2989 scd/app-dinsig.c:303
+#: scd/app-nks.c:797 scd/app-openpgp.c:2324 scd/app-openpgp.c:2343
+#: scd/app-openpgp.c:2510 scd/app-openpgp.c:2528 scd/app-openpgp.c:2826
+#: scd/app-openpgp.c:2873 scd/app-openpgp.c:2988 scd/app-dinsig.c:302
 #, c-format
 msgid "PIN callback returned error: %s\n"
 msgstr "Функция обработки PIN возвратила ошибку: %s\n"
@@ -7933,23 +7954,19 @@ msgstr "Функция обработки PIN возвратила ошибку:
 msgid "the NullPIN has not yet been changed\n"
 msgstr "пустой PIN до сих пор не изменен\n"
 
-#: scd/app-nks.c:1091
+#: scd/app-nks.c:1094
 msgid "|N|Please enter a new PIN for the standard keys."
 msgstr "|A|Введите новый PIN для стандартных ключей."
 
-#: scd/app-nks.c:1098
+#: scd/app-nks.c:1101
 msgid "|NP|Please enter a new PIN Unblocking Code (PUK) for the standard keys."
 msgstr "|NP|Введите новый код разблокировки PIN (PUK) для стандартных ключей."
 
-#: scd/app-nks.c:1100
-msgid "|P|Please enter the PIN Unblocking Code (PUK) for the standard keys."
-msgstr "|P|Введите код разблокировки PIN (PUK) для стандартных ключей."
-
-#: scd/app-nks.c:1108
+#: scd/app-nks.c:1111
 msgid "|N|Please enter a new PIN for the key to create qualified signatures."
 msgstr "|N|Введите новый PIN ключа для создания квалифицированных подписей."
 
-#: scd/app-nks.c:1118
+#: scd/app-nks.c:1121
 msgid ""
 "|NP|Please enter a new PIN Unblocking Code (PUK) for the key to create "
 "qualified signatures."
@@ -7957,7 +7974,7 @@ msgstr ""
 "|NP|Введите новый код разблокировки PIN (PUK) ключа для создания "
 "квалифицированных подписей."
 
-#: scd/app-nks.c:1120
+#: scd/app-nks.c:1123
 msgid ""
 "|P|Please enter the PIN Unblocking Code (PUK) for the key to create "
 "qualified signatures."
@@ -7965,47 +7982,47 @@ msgstr ""
 "|P|Введите код разблокировки PIN (PUK) ключа для создания квалифицированных "
 "подписей."
 
-#: scd/app-nks.c:1227 scd/app-openpgp.c:2908 scd/app-dinsig.c:531
+#: scd/app-nks.c:1230 scd/app-openpgp.c:2907 scd/app-dinsig.c:532
 #, c-format
 msgid "error getting new PIN: %s\n"
 msgstr "ошибка при получении нового PIN: %s\n"
 
-#: scd/app-openpgp.c:860
+#: scd/app-openpgp.c:859
 #, c-format
 msgid "failed to store the fingerprint: %s\n"
 msgstr "сбой при сохранении отпечатка: %s\n"
 
-#: scd/app-openpgp.c:873
+#: scd/app-openpgp.c:872
 #, c-format
 msgid "failed to store the creation date: %s\n"
 msgstr "сбой при сохранении даты создания: %s\n"
 
-#: scd/app-openpgp.c:1272 scd/app-openpgp.c:2855 scd/app-openpgp.c:5020
+#: scd/app-openpgp.c:1268 scd/app-openpgp.c:2854 scd/app-openpgp.c:5025
 #, c-format
 msgid "error retrieving CHV status from card\n"
 msgstr "ошибка получения статуса CHV с карты\n"
 
-#: scd/app-openpgp.c:1430
+#: scd/app-openpgp.c:1426
 #, c-format
 msgid "response does not contain the RSA modulus\n"
 msgstr "в ответе отсутствует модуль RSA\n"
 
-#: scd/app-openpgp.c:1437
+#: scd/app-openpgp.c:1433
 #, c-format
 msgid "response does not contain the RSA public exponent\n"
 msgstr "в ответе отсутствует открытая экспонента RSA\n"
 
-#: scd/app-openpgp.c:1547
+#: scd/app-openpgp.c:1543
 #, c-format
 msgid "response does not contain the EC public key\n"
 msgstr "в ответе отсутствует открытый ключ эллиптической кривой\n"
 
-#: scd/app-openpgp.c:1665 scd/app-openpgp.c:4284
+#: scd/app-openpgp.c:1661 scd/app-openpgp.c:4283
 #, c-format
 msgid "response does not contain the public key data\n"
 msgstr "ответ не содержит данных открытого ключа\n"
 
-#: scd/app-openpgp.c:1772
+#: scd/app-openpgp.c:1768
 #, c-format
 msgid "reading public key failed: %s\n"
 msgstr "сбой при чтении открытого ключа: %s\n"
@@ -8013,44 +8030,44 @@ msgstr "сбой при чтении открытого ключа: %s\n"
 #. TRANSLATORS: Put a \x1f right before a colon.  This can be
 #. * used by pinentry to nicely align the names and values.  Keep
 #. * the %s at the start and end of the string.
-#: scd/app-openpgp.c:2140
+#: scd/app-openpgp.c:2138
 #, c-format
 msgid "%sNumber\1f: %s%%0AHolder\1f: %s%%0ACounter\1f: %lu%s"
 msgstr "%sНомер\1f: %s%%0AДержатель\1f: %s%%0AСчетчик\1f: %lu%s"
 
-#: scd/app-openpgp.c:2280
+#: scd/app-openpgp.c:2278
 #, c-format
 msgid "using default PIN as %s\n"
 msgstr "основной PIN применяется как %s\n"
 
-#: scd/app-openpgp.c:2287
+#: scd/app-openpgp.c:2285
 #, c-format
 msgid "failed to use default PIN as %s: %s - disabling further default use\n"
 msgstr ""
 "не удалось применить основной PIN как %s: %s - далее применяться\n"
 "как основной не будет\n"
 
-#: scd/app-openpgp.c:2300
+#: scd/app-openpgp.c:2298
 msgid "||Please unlock the card"
 msgstr "||Разблокируйте карту"
 
-#: scd/app-openpgp.c:2352 scd/app-openpgp.c:2537 scd/app-openpgp.c:2834
+#: scd/app-openpgp.c:2350 scd/app-openpgp.c:2535 scd/app-openpgp.c:2833
 #, c-format
 msgid "PIN for CHV%d is too short; minimum length is %d\n"
 msgstr "PIN для CHV%d слишком короток, минимальная длина %d\n"
 
-#: scd/app-openpgp.c:2366 scd/app-openpgp.c:2413 scd/app-openpgp.c:2551
-#: scd/app-openpgp.c:4642
+#: scd/app-openpgp.c:2364 scd/app-openpgp.c:2411 scd/app-openpgp.c:2549
+#: scd/app-openpgp.c:4641
 #, c-format
 msgid "verify CHV%d failed: %s\n"
 msgstr "сбой при проверке CHV%d: %s\n"
 
-#: scd/app-openpgp.c:2449 scd/app-openpgp.c:5029
+#: scd/app-openpgp.c:2447 scd/app-openpgp.c:5034
 #, c-format
 msgid "card is permanently locked!\n"
 msgstr "карта окончательно заблокирована!\n"
 
-#: scd/app-openpgp.c:2453
+#: scd/app-openpgp.c:2451
 #, c-format
 msgid "%d Admin PIN attempt remaining before card is permanently locked\n"
 msgid_plural ""
@@ -8062,26 +8079,20 @@ msgstr[1] ""
 msgstr[2] ""
 "осталось %d попыток ввода административного PIN перед блокировкой карты\n"
 
-#. TRANSLATORS: Do not translate the "|A|" prefix but keep it at
-#. the start of the string.  Use %0A (single percent) for a linefeed.
-#: scd/app-openpgp.c:2463
-msgid "|A|Please enter the Admin PIN"
-msgstr "|A|Введите административный PIN"
-
-#: scd/app-openpgp.c:2484
+#: scd/app-openpgp.c:2482
 #, c-format
 msgid "access to admin commands is not configured\n"
 msgstr "доступ к командам управления не настроен\n"
 
-#: scd/app-openpgp.c:2821
+#: scd/app-openpgp.c:2820
 msgid "||Please enter the PIN"
 msgstr "||Введите PIN"
 
-#: scd/app-openpgp.c:2870
+#: scd/app-openpgp.c:2869
 msgid "||Please enter the Reset Code for the card"
 msgstr "||Введите код сброса для карты"
 
-#: scd/app-openpgp.c:2880 scd/app-openpgp.c:2941
+#: scd/app-openpgp.c:2879 scd/app-openpgp.c:2940
 #, c-format
 msgid "Reset Code is too short; minimum length is %d\n"
 msgstr "Код сброса слишком короток; минимальная длина %d\n"
@@ -8089,87 +8100,87 @@ msgstr "Код сброса слишком короток; минимальна
 #. TRANSLATORS: Do not translate the "|*|" prefixes but
 #. keep it at the start of the string.  We need this elsewhere
 #. to get some infos on the string.
-#: scd/app-openpgp.c:2903
+#: scd/app-openpgp.c:2902
 msgid "|RN|New Reset Code"
 msgstr "|RN|Новый код сброса"
 
-#: scd/app-openpgp.c:2904
+#: scd/app-openpgp.c:2903
 msgid "|AN|New Admin PIN"
 msgstr "|AN|Новый административный PIN"
 
-#: scd/app-openpgp.c:2904
+#: scd/app-openpgp.c:2903
 msgid "|N|New PIN"
 msgstr "|N|Новый PIN"
 
-#: scd/app-openpgp.c:2985
+#: scd/app-openpgp.c:2984
 msgid "||Please enter the Admin PIN and New Admin PIN"
 msgstr "|A|Введите административный PIN и новый административный PIN"
 
-#: scd/app-openpgp.c:2986
+#: scd/app-openpgp.c:2985
 msgid "||Please enter the PIN and New PIN"
 msgstr "||Введите PIN и новый PIN"
 
-#: scd/app-openpgp.c:3048 scd/app-openpgp.c:4344
+#: scd/app-openpgp.c:3047 scd/app-openpgp.c:4343
 #, c-format
 msgid "error reading application data\n"
 msgstr "ошибка чтения данных приложения\n"
 
-#: scd/app-openpgp.c:3054 scd/app-openpgp.c:4351
+#: scd/app-openpgp.c:3053 scd/app-openpgp.c:4350
 #, c-format
 msgid "error reading fingerprint DO\n"
 msgstr "ошибка чтения отпечатка DO\n"
 
-#: scd/app-openpgp.c:3064
+#: scd/app-openpgp.c:3063
 #, c-format
 msgid "key already exists\n"
 msgstr "ключ уже существует\n"
 
-#: scd/app-openpgp.c:3068
+#: scd/app-openpgp.c:3067
 #, c-format
 msgid "existing key will be replaced\n"
 msgstr "существующий ключ будет заменен\n"
 
-#: scd/app-openpgp.c:3070
+#: scd/app-openpgp.c:3069
 #, c-format
 msgid "generating new key\n"
 msgstr "генерация нового ключа\n"
 
-#: scd/app-openpgp.c:3072
+#: scd/app-openpgp.c:3071
 #, c-format
 msgid "writing new key\n"
 msgstr "запись нового ключа\n"
 
-#: scd/app-openpgp.c:3645 scd/app-openpgp.c:3997
+#: scd/app-openpgp.c:3644 scd/app-openpgp.c:3996
 #, c-format
 msgid "creation timestamp missing\n"
 msgstr "пропущена метка времени создания\n"
 
-#: scd/app-openpgp.c:3686 scd/app-openpgp.c:3694
+#: scd/app-openpgp.c:3685 scd/app-openpgp.c:3693
 #, c-format
 msgid "RSA prime %s missing or not of size %d bits\n"
 msgstr "Простое число RSA %s пропущено или его размер не равен %d\n"
 
-#: scd/app-openpgp.c:3827 scd/app-openpgp.c:4104
+#: scd/app-openpgp.c:3826 scd/app-openpgp.c:4103
 #, c-format
 msgid "failed to store the key: %s\n"
 msgstr "сбой сохранения ключа: %s\n"
 
-#: scd/app-openpgp.c:3991
+#: scd/app-openpgp.c:3990
 #, c-format
 msgid "unsupported curve\n"
 msgstr "кривая не поддерживается\n"
 
-#: scd/app-openpgp.c:4261
+#: scd/app-openpgp.c:4260
 #, c-format
 msgid "please wait while key is being generated ...\n"
 msgstr "пожалуйста, подождите, пока будет генерироваться ключ ...\n"
 
-#: scd/app-openpgp.c:4269
+#: scd/app-openpgp.c:4268
 #, c-format
 msgid "generating key failed\n"
 msgstr "сбой при генерации ключа\n"
 
-#: scd/app-openpgp.c:4275
+#: scd/app-openpgp.c:4274
 #, c-format
 msgid "key generation completed (%d second)\n"
 msgid_plural "key generation completed (%d seconds)\n"
@@ -8177,46 +8188,46 @@ msgstr[0] "создание ключа завершено (%d секунда)\n"
 msgstr[1] "создание ключа завершено (%d секунды)\n"
 msgstr[2] "создание ключа завершено (%d секунд)\n"
 
-#: scd/app-openpgp.c:4309
+#: scd/app-openpgp.c:4308
 #, c-format
 msgid "invalid structure of OpenPGP card (DO 0x93)\n"
 msgstr "недопустимая структура карты OpenPGP (DO 0x93)\n"
 
-#: scd/app-openpgp.c:4359
+#: scd/app-openpgp.c:4358
 #, c-format
 msgid "fingerprint on card does not match requested one\n"
 msgstr "отпечаток на карте не совпадает с запрошенным\n"
 
-#: scd/app-openpgp.c:4558
+#: scd/app-openpgp.c:4557
 #, c-format
 msgid "card does not support digest algorithm %s\n"
 msgstr "карта не поддерживает хеш-функцию %s\n"
 
-#: scd/app-openpgp.c:4616
+#: scd/app-openpgp.c:4615
 #, c-format
 msgid "signatures created so far: %lu\n"
 msgstr "создано подписей: %lu\n"
 
-#: scd/app-openpgp.c:5034
+#: scd/app-openpgp.c:5039
 #, c-format
 msgid ""
 "verification of Admin PIN is currently prohibited through this command\n"
 msgstr ""
 "проверка административного PIN в данный момент запрещена этой командой\n"
 
-#: scd/app-openpgp.c:5346 scd/app-openpgp.c:5357
+#: scd/app-openpgp.c:5351 scd/app-openpgp.c:5362
 #, c-format
 msgid "can't access %s - invalid OpenPGP card?\n"
 msgstr "нет доступа к %s - непригодная карта OpenPGP?\n"
 
-#: scd/app-dinsig.c:299
+#: scd/app-dinsig.c:298
 msgid "||Please enter your PIN at the reader's pinpad"
 msgstr "||Введите PIN на клавиатуре считывателя"
 
 #. TRANSLATORS: Do not translate the "|*|" prefixes but
 #. keep it at the start of the string.  We need this elsewhere
 #. to get some infos on the string.
-#: scd/app-dinsig.c:528
+#: scd/app-dinsig.c:529
 msgid "|N|Initial New PIN"
 msgstr "|N|Первоначальный новый PIN"
 
@@ -8224,7 +8235,7 @@ msgstr "|N|Первоначальный новый PIN"
 msgid "run in multi server mode (foreground)"
 msgstr "работать в многосерверном режиме (нефоновый режим)"
 
-#: scd/scdaemon.c:129 sm/gpgsm.c:345 dirmngr/dirmngr.c:187
+#: scd/scdaemon.c:129 sm/gpgsm.c:348 dirmngr/dirmngr.c:188
 msgid "|LEVEL|set the debugging level to LEVEL"
 msgstr "|LEVEL|установить уровень отладки, равный LEVEL"
 
@@ -8244,31 +8255,31 @@ msgstr "|NAME|использовать NAME как драйвер ct-API"
 msgid "|NAME|use NAME as PC/SC driver"
 msgstr "|NAME|использовать NAME как драйвер PC/SC"
 
-#: scd/scdaemon.c:145
+#: scd/scdaemon.c:146
 msgid "do not use the internal CCID driver"
 msgstr "не использовать внутренний драйвер CCID"
 
-#: scd/scdaemon.c:151
+#: scd/scdaemon.c:152
 msgid "|N|disconnect the card after N seconds of inactivity"
 msgstr "|N|отключить карту после N секунд неактивности"
 
-#: scd/scdaemon.c:154
+#: scd/scdaemon.c:155
 msgid "do not use a reader's pinpad"
 msgstr "не использовать клавиатуру считывателя"
 
-#: scd/scdaemon.c:159
+#: scd/scdaemon.c:160
 msgid "deny the use of admin card commands"
 msgstr "не позволять использовать административные команды карты"
 
-#: scd/scdaemon.c:162
+#: scd/scdaemon.c:163
 msgid "use variable length input for pinpad"
 msgstr "использовать входные данные переменой длины для клавиатуры считывателя"
 
-#: scd/scdaemon.c:311
+#: scd/scdaemon.c:312
 msgid "Usage: @SCDAEMON@ [options] (-h for help)"
 msgstr "Вызов: @SCDAEMON@ [параметры] (-h - подсказка)"
 
-#: scd/scdaemon.c:313
+#: scd/scdaemon.c:314
 msgid ""
 "Syntax: scdaemon [options] [command [args]]\n"
 "Smartcard daemon for @GNUPG@\n"
@@ -8276,18 +8287,18 @@ msgstr ""
 "Синтаксис: scdaemon [параметры] [команда [аргументы]]\n"
 "Демон криптографических карт для @GNUPG@\n"
 
-#: scd/scdaemon.c:806
+#: scd/scdaemon.c:808
 #, c-format
 msgid "please use the option '--daemon' to run the program in the background\n"
 msgstr ""
 "используйте параметр '--daemon' для запуска приложения в фоновом режиме\n"
 
-#: scd/scdaemon.c:1183 dirmngr/dirmngr.c:2082
+#: scd/scdaemon.c:1185 dirmngr/dirmngr.c:2119
 #, c-format
 msgid "handler for fd %d started\n"
 msgstr "обработчик fd %d запущен\n"
 
-#: scd/scdaemon.c:1195 dirmngr/dirmngr.c:2090
+#: scd/scdaemon.c:1197 dirmngr/dirmngr.c:2127
 #, c-format
 msgid "handler for fd %d terminated\n"
 msgstr "обработчик fd %d остановлен\n"
@@ -8334,7 +8345,7 @@ msgstr "Замечание: некритичные правила сертифи
 msgid "certificate policy not allowed"
 msgstr "правила сертификата недопустимы"
 
-#: sm/certchain.c:595 sm/keydb.c:1106 sm/keydb.c:1192
+#: sm/certchain.c:595 sm/keydb.c:1084 sm/keydb.c:1171
 #, c-format
 msgid "failed to get the fingerprint\n"
 msgstr "сбой получения отпечатка\n"
@@ -8369,8 +8380,8 @@ msgstr "число соответствующих сертификатов: %d\n
 msgid "dirmngr cache-only key lookup failed: %s\n"
 msgstr "ключ в буфере dirmngr не найден: %s\n"
 
-#: sm/certchain.c:1041 sm/certchain.c:1554 sm/certchain.c:2192 sm/decrypt.c:265
-#: sm/encrypt.c:344 sm/import.c:415 sm/keydb.c:1113 sm/keydb.c:1199
+#: sm/certchain.c:1041 sm/certchain.c:1554 sm/certchain.c:2192 sm/decrypt.c:728
+#: sm/encrypt.c:345 sm/import.c:415 sm/keydb.c:1091 sm/keydb.c:1178
 #: sm/sign.c:337 sm/verify.c:118
 #, c-format
 msgid "failed to allocate keyDB handle\n"
@@ -8566,13 +8577,13 @@ msgid "a %u bit hash is not valid for a %u bit %s key\n"
 msgstr "%u-битный хеш недопустим для %u-битного ключа %s\n"
 
 #: sm/certcheck.c:238 sm/certcheck.c:262 dirmngr/crlcache.c:1542
-#: dirmngr/crlcache.c:1566 dirmngr/dirmngr.c:1324 dirmngr/validate.c:903
+#: dirmngr/crlcache.c:1566 dirmngr/dirmngr.c:1361 dirmngr/validate.c:903
 #: dirmngr/validate.c:927
 #, c-format
 msgid "out of core\n"
 msgstr "нехватка выделенной памяти\n"
 
-#: sm/certcheck.c:371 sm/verify.c:213
+#: sm/certcheck.c:370 sm/verify.c:213
 #, c-format
 msgid "(this is the MD2 algorithm)\n"
 msgstr "(это алгоритм MD2)\n"
@@ -8860,22 +8871,32 @@ msgstr ""
 msgid "resource problem: out of core\n"
 msgstr "проблема ресурсов: нехватка выделенной памяти\n"
 
-#: sm/decrypt.c:341
+#: sm/decrypt.c:536
+#, c-format
+msgid "%s.%s encrypted data\n"
+msgstr "данные зашифрованы алгоритмом %s.%s\n"
+
+#: sm/decrypt.c:803
 #, c-format
 msgid "(this is the RC2 algorithm)\n"
 msgstr "(это алгоритм RC2)\n"
 
-#: sm/decrypt.c:343
+#: sm/decrypt.c:805
 #, c-format
 msgid "(this does not seem to be an encrypted message)\n"
 msgstr "(это не похоже на зашифрованное сообщение)\n"
 
+#: sm/decrypt.c:958
+#, c-format
+msgid "encrypted to %s key %s\n"
+msgstr "зашифровано ключом %s с отпечатком %s\n"
+
 #: sm/delete.c:51 sm/delete.c:112
 #, c-format
 msgid "certificate '%s' not found: %s\n"
 msgstr "сертификат '%s' не найден: %s\n"
 
-#: sm/delete.c:122 sm/keydb.c:1209 sm/keydb.c:1307
+#: sm/delete.c:122 sm/keydb.c:1189 sm/keydb.c:1288
 #, c-format
 msgid "error locking keybox: %s\n"
 msgstr "ошибка блокировки щита с ключами: %s\n"
@@ -8895,128 +8916,128 @@ msgstr "сертификат '%s' удален\n"
 msgid "deleting certificate \"%s\" failed: %s\n"
 msgstr "сбой при удалении сертификата \"%s\": %s\n"
 
-#: sm/encrypt.c:330
+#: sm/encrypt.c:331
 #, c-format
 msgid "no valid recipients given\n"
 msgstr "не заданы получатели\n"
 
-#: sm/gpgsm.c:215
+#: sm/gpgsm.c:216
 msgid "list external keys"
 msgstr "вывести список внешних ключей"
 
-#: sm/gpgsm.c:217
+#: sm/gpgsm.c:218
 msgid "list certificate chain"
 msgstr "вывести список цепочек сертификатов"
 
-#: sm/gpgsm.c:225
+#: sm/gpgsm.c:226
 msgid "import certificates"
 msgstr "импорт сертификатов"
 
-#: sm/gpgsm.c:226
+#: sm/gpgsm.c:227
 msgid "export certificates"
 msgstr "экспорт сертификатов"
 
-#: sm/gpgsm.c:234
+#: sm/gpgsm.c:235
 msgid "register a smartcard"
 msgstr "зарегистрировать криптографическую карту"
 
-#: sm/gpgsm.c:237
+#: sm/gpgsm.c:238
 msgid "pass a command to the dirmngr"
 msgstr "передать команду dirmngr"
 
-#: sm/gpgsm.c:239
+#: sm/gpgsm.c:240
 msgid "invoke gpg-protect-tool"
 msgstr "вызываем gpg-protect-tool"
 
-#: sm/gpgsm.c:256
+#: sm/gpgsm.c:257
 msgid "create base-64 encoded output"
 msgstr "вывод в кодировке base64"
 
-#: sm/gpgsm.c:265
+#: sm/gpgsm.c:266
 msgid "assume input is in PEM format"
 msgstr "предполагаю, что входные данные в формате PEM"
 
-#: sm/gpgsm.c:267
+#: sm/gpgsm.c:268
 msgid "assume input is in base-64 format"
 msgstr "предполагаю, что входные данные в формате base64"
 
-#: sm/gpgsm.c:269
+#: sm/gpgsm.c:270
 msgid "assume input is in binary format"
 msgstr "предполагаю, что входные данные в двоичном формате"
 
-#: sm/gpgsm.c:276
+#: sm/gpgsm.c:277
 msgid "never consult a CRL"
 msgstr "не сверять со списком отозванных сертификатов"
 
-#: sm/gpgsm.c:286
+#: sm/gpgsm.c:287
 msgid "check validity using OCSP"
 msgstr "проверка достоверности с помощью OCSP"
 
-#: sm/gpgsm.c:291
+#: sm/gpgsm.c:292
 msgid "|N|number of certificates to include"
 msgstr "|N|число включаемых сертификатов"
 
-#: sm/gpgsm.c:294
+#: sm/gpgsm.c:295
 msgid "|FILE|take policy information from FILE"
 msgstr "|FILE|взять информацию о правилах из файла FILE"
 
-#: sm/gpgsm.c:297
+#: sm/gpgsm.c:298
 msgid "do not check certificate policies"
 msgstr "не проверять правила сертификата"
 
-#: sm/gpgsm.c:301
+#: sm/gpgsm.c:302
 msgid "fetch missing issuer certificates"
 msgstr "запросить недостающих издателей сертификатов"
 
-#: sm/gpgsm.c:312
+#: sm/gpgsm.c:313
 msgid "don't use the terminal at all"
 msgstr "не использовать терминал совсем"
 
-#: sm/gpgsm.c:314
+#: sm/gpgsm.c:315
 msgid "|FILE|write a server mode log to FILE"
 msgstr "|FILE|сохранять журнал режима сервера в файле FILE"
 
-#: sm/gpgsm.c:319
+#: sm/gpgsm.c:320
 msgid "|FILE|write an audit log to FILE"
 msgstr "|FILE|сохранять журнал аудита в файле FILE"
 
-#: sm/gpgsm.c:322
+#: sm/gpgsm.c:323
 msgid "batch mode: never ask"
 msgstr "пакетный режим: ничего не спрашивать"
 
-#: sm/gpgsm.c:323
+#: sm/gpgsm.c:324
 msgid "assume yes on most questions"
 msgstr "принять 'да' как ответ на большинство вопросов"
 
-#: sm/gpgsm.c:324
+#: sm/gpgsm.c:325
 msgid "assume no on most questions"
 msgstr "принять 'нет' как ответ на большинство вопросов"
 
-#: sm/gpgsm.c:327
+#: sm/gpgsm.c:328
 msgid "|FILE|add keyring to the list of keyrings"
 msgstr "|FILE|добавить таблицу ключей в список таблиц ключей"
 
-#: sm/gpgsm.c:330
+#: sm/gpgsm.c:331
 msgid "|USER-ID|use USER-ID as default secret key"
 msgstr "|USER-ID|использовать USER-ID как основной секретный ключ"
 
-#: sm/gpgsm.c:340 tools/gpgconf-comp.c:837
+#: sm/gpgsm.c:341 dirmngr/dirmngr.c:214 tools/gpgconf-comp.c:841
 msgid "|SPEC|use this keyserver to lookup keys"
 msgstr "|SPEC|искать ключи на данном сервере ключей"
 
-#: sm/gpgsm.c:357
+#: sm/gpgsm.c:360
 msgid "|NAME|use cipher algorithm NAME"
 msgstr "|NAME|использовать алгоритм шифрования NAME"
 
-#: sm/gpgsm.c:359
+#: sm/gpgsm.c:362
 msgid "|NAME|use message digest algorithm NAME"
 msgstr "|NAME|использовать хеш-функцию NAME"
 
-#: sm/gpgsm.c:570
+#: sm/gpgsm.c:573
 msgid "Usage: @GPGSM@ [options] [files] (-h for help)"
 msgstr "Вызов: @GPGSM@ [параметры] [файлы] (-h - подсказка)"
 
-#: sm/gpgsm.c:573
+#: sm/gpgsm.c:576
 msgid ""
 "Syntax: @GPGSM@ [options] [files]\n"
 "Sign, check, encrypt or decrypt using the S/MIME protocol\n"
@@ -9026,47 +9047,27 @@ msgstr ""
 "Подписать, проверить, зашифровать или расшифровать по протоколу S/MIME\n"
 "Операция по умолчанию зависит от входных данных\n"
 
-#: sm/gpgsm.c:777
+#: sm/gpgsm.c:784
 #, c-format
 msgid "Note: won't be able to encrypt to '%s': %s\n"
 msgstr "Замечание: не могу зашифровать для '%s': %s\n"
 
-#: sm/gpgsm.c:788
+#: sm/gpgsm.c:795
 #, c-format
 msgid "unknown validation model '%s'\n"
 msgstr "неизвестная схема проверки '%s'\n"
 
-#: sm/gpgsm.c:839 dirmngr/ldapserver.c:86
-#, c-format
-msgid "%s:%u: no hostname given\n"
-msgstr "%s:%u: не задано имя хоста\n"
-
-#: sm/gpgsm.c:858 dirmngr/ldapserver.c:105
-#, c-format
-msgid "%s:%u: password given without user\n"
-msgstr "%s:%u: задан пароль, но не задан пользователь\n"
-
-#: sm/gpgsm.c:879 dirmngr/ldapserver.c:126
-#, c-format
-msgid "%s:%u: skipping this line\n"
-msgstr "%s:%u: пропускаю эту строку\n"
-
-#: sm/gpgsm.c:1449
-#, c-format
-msgid "could not parse keyserver\n"
-msgstr "не удалось определить сервер ключей\n"
-
-#: sm/gpgsm.c:1712
+#: sm/gpgsm.c:1612
 #, c-format
 msgid "importing common certificates '%s'\n"
 msgstr "импорт общих сертификатов '%s'\n"
 
-#: sm/gpgsm.c:1755
+#: sm/gpgsm.c:1655
 #, c-format
 msgid "can't sign using '%s': %s\n"
 msgstr "невозможно подписать с помощью '%s': %s\n"
 
-#: sm/gpgsm.c:2122
+#: sm/gpgsm.c:2028
 #, c-format
 msgid "invalid command (there is no implicit command)\n"
 msgstr "недопустимая команда (неявной команды нет)\n"
@@ -9086,7 +9087,7 @@ msgstr "ошибка сохранения сертификата\n"
 msgid "basic certificate checks failed - not imported\n"
 msgstr "ошибка базовой проверки сертификата - не импортирован\n"
 
-#: sm/import.c:472 sm/keydb.c:1229 sm/keydb.c:1319
+#: sm/import.c:472 sm/keydb.c:1209 sm/keydb.c:1300
 #, c-format
 msgid "error getting stored flags: %s\n"
 msgstr "ошибка получения сохраненных признаков: %s\n"
@@ -9101,27 +9102,27 @@ msgstr "ошибка импорта сертификата: %s\n"
 msgid "error reading input: %s\n"
 msgstr "ошибка чтения ввода: %s\n"
 
-#: sm/keydb.c:1148
+#: sm/keydb.c:1127
 #, c-format
 msgid "problem looking for existing certificate: %s\n"
 msgstr "проблема поиска существующего сертификата: %s\n"
 
-#: sm/keydb.c:1160
+#: sm/keydb.c:1139
 #, c-format
 msgid "error finding writable keyDB: %s\n"
 msgstr "ошибка при поиске базы данных ключей для записи: %s\n"
 
-#: sm/keydb.c:1168
+#: sm/keydb.c:1147
 #, c-format
 msgid "error storing certificate: %s\n"
 msgstr "ошибка сохранения сертификата: %s\n"
 
-#: sm/keydb.c:1220
+#: sm/keydb.c:1200
 #, c-format
 msgid "problem re-searching certificate: %s\n"
 msgstr "проблема повторного поиска сертификата: %s\n"
 
-#: sm/keydb.c:1241 sm/keydb.c:1330
+#: sm/keydb.c:1221 sm/keydb.c:1311
 #, c-format
 msgid "error storing flags: %s\n"
 msgstr "ошибка сохранения признаков: %s\n"
@@ -9164,7 +9165,7 @@ msgstr ""
 "\n"
 "%s%sВы уверены, что хотите этого?"
 
-#: sm/qualified.c:215 sm/verify.c:678
+#: sm/qualified.c:215 sm/verify.c:679
 #, c-format
 msgid ""
 "Note, that this software is not officially approved to create or verify such "
@@ -9215,7 +9216,7 @@ msgstr "[дата не указана]"
 msgid "algorithm:"
 msgstr "алгоритм:"
 
-#: sm/verify.c:535
+#: sm/verify.c:536
 #, c-format
 msgid ""
 "invalid signature: message digest attribute does not match computed one\n"
@@ -9223,17 +9224,17 @@ msgstr ""
 "недопустимая подпись: атрибут хеш-функции сообщения не соответствует "
 "вычисленному\n"
 
-#: sm/verify.c:656
+#: sm/verify.c:657
 #, c-format
 msgid "Good signature from"
 msgstr "Хорошая подпись пользователя"
 
-#: sm/verify.c:657
+#: sm/verify.c:658
 #, c-format
 msgid "                aka"
 msgstr "                         или"
 
-#: sm/verify.c:675
+#: sm/verify.c:676
 #, c-format
 msgid "This is a qualified signature\n"
 msgstr "Это квалифицированная подпись\n"
@@ -9881,7 +9882,7 @@ msgid "error retrieving '%s': %s\n"
 msgstr "ошибка получения '%s': %s\n"
 
 #: dirmngr/crlfetch.c:218 dirmngr/ldap-wrapper-ce.c:492
-#: dirmngr/ldap-wrapper.c:884 dirmngr/misc.c:573
+#: dirmngr/ldap-wrapper.c:885 dirmngr/misc.c:573
 #, c-format
 msgid "error initializing reader object: %s\n"
 msgstr "ошибка инициализации объекта устройства чтения: %s\n"
@@ -10041,118 +10042,118 @@ msgstr "нужно абсолютное имя файла\n"
 msgid "looking up '%s'\n"
 msgstr "поиск '%s'\n"
 
-#: dirmngr/dirmngr.c:170
+#: dirmngr/dirmngr.c:171
 msgid "list the contents of the CRL cache"
 msgstr "вывести содержание буфера списков отозванных сертификатов"
 
-#: dirmngr/dirmngr.c:171
+#: dirmngr/dirmngr.c:172
 msgid "|FILE|load CRL from FILE into cache"
 msgstr "|FILE|загрузить список отозванных сертификатов из файла FILE в буфер"
 
-#: dirmngr/dirmngr.c:172
+#: dirmngr/dirmngr.c:173
 msgid "|URL|fetch a CRL from URL"
 msgstr "|URL|получить список отозванных сертификатов из URL"
 
-#: dirmngr/dirmngr.c:173
+#: dirmngr/dirmngr.c:174
 msgid "shutdown the dirmngr"
 msgstr "выключить dirmngr"
 
-#: dirmngr/dirmngr.c:174
+#: dirmngr/dirmngr.c:175
 msgid "flush the cache"
 msgstr "записать буфер на диск"
 
-#: dirmngr/dirmngr.c:190 tools/gpgconf-comp.c:522 tools/gpgconf-comp.c:741
-#: tools/gpgconf-comp.c:854 tools/gpgconf-comp.c:950
+#: dirmngr/dirmngr.c:191 tools/gpgconf-comp.c:522 tools/gpgconf-comp.c:745
+#: tools/gpgconf-comp.c:858 tools/gpgconf-comp.c:954
 msgid "|FILE|write server mode logs to FILE"
 msgstr "|FILE|сохранять журнал режима сервера в файле FILE"
 
-#: dirmngr/dirmngr.c:191
+#: dirmngr/dirmngr.c:192
 msgid "run without asking a user"
 msgstr "работать, не спрашивая пользователя"
 
-#: dirmngr/dirmngr.c:192
+#: dirmngr/dirmngr.c:193
 msgid "force loading of outdated CRLs"
 msgstr "принудительная загрузка устаревших списков отозванных сертификатов"
 
-#: dirmngr/dirmngr.c:193
+#: dirmngr/dirmngr.c:194
 msgid "allow sending OCSP requests"
 msgstr "разрешить посылку запросов OCSP"
 
-#: dirmngr/dirmngr.c:195
+#: dirmngr/dirmngr.c:196
 msgid "allow online software version check"
 msgstr "разрешить проверку версий программ по сети"
 
-#: dirmngr/dirmngr.c:196
+#: dirmngr/dirmngr.c:197
 msgid "inhibit the use of HTTP"
 msgstr "запретить использование HTTP"
 
-#: dirmngr/dirmngr.c:197
+#: dirmngr/dirmngr.c:198
 msgid "inhibit the use of LDAP"
 msgstr "запретить использование LDAP"
 
-#: dirmngr/dirmngr.c:199
+#: dirmngr/dirmngr.c:200
 msgid "ignore HTTP CRL distribution points"
 msgstr ""
 "игнорировать точки распространения списков отозванных сертификатов по HTTP"
 
-#: dirmngr/dirmngr.c:201
+#: dirmngr/dirmngr.c:202
 msgid "ignore LDAP CRL distribution points"
 msgstr ""
 "игнорировать точки распространения списков отозванных сертификатов по LDAP"
 
-#: dirmngr/dirmngr.c:203
+#: dirmngr/dirmngr.c:204
 msgid "ignore certificate contained OCSP service URLs"
 msgstr "игнорировать URL служб OCSP из сертификата"
 
-#: dirmngr/dirmngr.c:206
+#: dirmngr/dirmngr.c:207
 msgid "|URL|redirect all HTTP requests to URL"
 msgstr "|URL|перенаправлять все запросы HTTP на URL"
 
-#: dirmngr/dirmngr.c:208
+#: dirmngr/dirmngr.c:209
 msgid "|HOST|use HOST for LDAP queries"
 msgstr "|HOST|использовать хост HOST для поиска LDAP"
 
-#: dirmngr/dirmngr.c:210
+#: dirmngr/dirmngr.c:211
 msgid "do not use fallback hosts with --ldap-proxy"
 msgstr "не пользоваться запасными хостами с --ldap-proxy"
 
-#: dirmngr/dirmngr.c:213
+#: dirmngr/dirmngr.c:216
 msgid "|FILE|read LDAP server list from FILE"
 msgstr "|FILE|взять список серверов LDAP из файла FILE"
 
-#: dirmngr/dirmngr.c:215
+#: dirmngr/dirmngr.c:218
 msgid "add new servers discovered in CRL distribution points to serverlist"
 msgstr ""
 "добавлять новые серверы, обнаруженные в точках распространения списков "
 "отозванных сертификатов, в список серверов"
 
-#: dirmngr/dirmngr.c:218 dirmngr/dirmngr_ldap.c:137
+#: dirmngr/dirmngr.c:221
 msgid "|N|set LDAP timeout to N seconds"
 msgstr "|N|установить время ожидания LDAP N секунд"
 
-#: dirmngr/dirmngr.c:221
+#: dirmngr/dirmngr.c:224
 msgid "|URL|use OCSP responder at URL"
 msgstr "|URL|использовать ответчик OCSP по URL"
 
-#: dirmngr/dirmngr.c:223
+#: dirmngr/dirmngr.c:226
 msgid "|FPR|OCSP response signed by FPR"
 msgstr "|FPR|ответ OCSP подписан сертификатом с отпечатком FPR"
 
-#: dirmngr/dirmngr.c:229
+#: dirmngr/dirmngr.c:232
 msgid "|N|do not return more than N items in one query"
 msgstr "|N|не возвращать более чем N результатов одного поиска"
 
-#: dirmngr/dirmngr.c:234
+#: dirmngr/dirmngr.c:237
 msgid "|FILE|use the CA certificates in FILE for HKP over TLS"
 msgstr ""
 "|FILE|использовать сертификаты удостоверяющего центра из файла FILE для HKP "
 "по TLS"
 
-#: dirmngr/dirmngr.c:236
+#: dirmngr/dirmngr.c:239
 msgid "route all network traffic via Tor"
 msgstr "проводить весь сетевой обмен через Tor"
 
-#: dirmngr/dirmngr.c:265
+#: dirmngr/dirmngr.c:268
 msgid ""
 "@\n"
 "(See the \"info\" manual for a complete listing of all commands and "
@@ -10161,11 +10162,11 @@ msgstr ""
 "@\n"
 "(Полный список команд и параметров см. в руководстве \"info\")\n"
 
-#: dirmngr/dirmngr.c:407
+#: dirmngr/dirmngr.c:415
 msgid "Usage: @DIRMNGR@ [options] (-h for help)"
 msgstr "Вызов: @DIRMNGR@ [параметры] (-h - подсказка)"
 
-#: dirmngr/dirmngr.c:409
+#: dirmngr/dirmngr.c:417
 msgid ""
 "Syntax: @DIRMNGR@ [options] [command [args]]\n"
 "Keyserver, CRL, and OCSP access for @GNUPG@\n"
@@ -10173,269 +10174,103 @@ msgstr ""
 "Синтаксис: @DIRMNGR@ [параметры] [команда [аргументы]]\n"
 "Доступ к OCSP, серверам ключей, спискам отозванных сертификатов для @GNUPG@\n"
 
-#: dirmngr/dirmngr.c:489
+#: dirmngr/dirmngr.c:497
 #, c-format
 msgid "valid debug levels are: %s\n"
 msgstr "допустимые уровни отладки: %s\n"
 
-#: dirmngr/dirmngr.c:575 tools/gpgconf.c:647 tools/gpgconf.c:682
+#: dirmngr/dirmngr.c:583 tools/gpgconf.c:647 tools/gpgconf.c:682
 #: tools/gpgconf.c:780
 #, c-format
 msgid "usage: %s [options] "
 msgstr "вызов: %s [параметры] "
 
-#: dirmngr/dirmngr.c:1212
+#: dirmngr/dirmngr.c:1249
 #, c-format
 msgid "colons are not allowed in the socket name\n"
 msgstr "двоеточия в имени сокета недопустимы\n"
 
-#: dirmngr/dirmngr.c:1444 dirmngr/server.c:1824
+#: dirmngr/dirmngr.c:1481 dirmngr/server.c:1878
 #, c-format
 msgid "fetching CRL from '%s' failed: %s\n"
 msgstr "сбой при получении списка отозванных сертификатов из '%s': %s\n"
 
-#: dirmngr/dirmngr.c:1450 dirmngr/server.c:1830
+#: dirmngr/dirmngr.c:1487 dirmngr/server.c:1884
 #, c-format
 msgid "processing CRL from '%s' failed: %s\n"
 msgstr "сбой обработки списка отозванных сертификатов из '%s': %s\n"
 
-#: dirmngr/dirmngr.c:1645
+#: dirmngr/dirmngr.c:1682
 #, c-format
 msgid "%s:%u: line too long - skipped\n"
 msgstr "%s:%u: слишком длинная строка - пропущена\n"
 
-#: dirmngr/dirmngr.c:1700 dirmngr/dirmngr.c:1784
+#: dirmngr/dirmngr.c:1737 dirmngr/dirmngr.c:1821
 #, c-format
 msgid "%s:%u: invalid fingerprint detected\n"
 msgstr "%s:%u: обнаружен неверный отпечаток\n"
 
-#: dirmngr/dirmngr.c:1736 dirmngr/dirmngr.c:1762 tools/gpgconf-comp.c:4191
+#: dirmngr/dirmngr.c:1773 dirmngr/dirmngr.c:1799 tools/gpgconf-comp.c:4199
 #, c-format
 msgid "%s:%u: read error: %s\n"
 msgstr "%s:%u: ошибка чтения: %s\n"
 
-#: dirmngr/dirmngr.c:1791
+#: dirmngr/dirmngr.c:1828
 #, c-format
 msgid "%s:%u: garbage at end of line ignored\n"
 msgstr "%s:%u: мусор в конце строки игнорируется\n"
 
-#: dirmngr/dirmngr.c:1860
+#: dirmngr/dirmngr.c:1897
 #, c-format
 msgid "SIGHUP received - re-reading configuration and flushing caches\n"
 msgstr "получен SIGHUP - повторное чтение настроек и запись буферов на диск\n"
 
-#: dirmngr/dirmngr.c:1900
+#: dirmngr/dirmngr.c:1937
 #, c-format
 msgid "SIGUSR2 received - no action defined\n"
 msgstr "получен SIGUSR2 - действие не определено\n"
 
-#: dirmngr/dirmngr.c:1905
+#: dirmngr/dirmngr.c:1942
 #, c-format
 msgid "SIGTERM received - shutting down ...\n"
 msgstr "получен SIGTERM - завершение работы ...\n"
 
-#: dirmngr/dirmngr.c:1907
+#: dirmngr/dirmngr.c:1944
 #, c-format
 msgid "SIGTERM received - still %d active connections\n"
 msgstr "получен SIGTERM - осталось %d активных соединений\n"
 
-#: dirmngr/dirmngr.c:1912
+#: dirmngr/dirmngr.c:1949
 #, c-format
 msgid "shutdown forced\n"
 msgstr "принудительное выключение\n"
 
-#: dirmngr/dirmngr.c:1920
+#: dirmngr/dirmngr.c:1957
 #, c-format
 msgid "SIGINT received - immediate shutdown\n"
 msgstr "получен SIGINT - немедленное завершение работы\n"
 
-#: dirmngr/dirmngr.c:1927
+#: dirmngr/dirmngr.c:1964
 #, c-format
 msgid "signal %d received - no action defined\n"
 msgstr "получен сигнал %d - действие не определено\n"
 
-#: dirmngr/dirmngr_ldap.c:138
-msgid "return all values in a record oriented format"
-msgstr "возвращать все значения в формате, ориентированном на записи"
-
-#: dirmngr/dirmngr_ldap.c:141
-msgid "|NAME|ignore host part and connect through NAME"
-msgstr "|NAME|игнорировать хост и подключаться через NAME"
-
-#: dirmngr/dirmngr_ldap.c:142
-msgid "|NAME|connect to host NAME"
-msgstr "|NAME|подключиться к хосту NAME"
-
-#: dirmngr/dirmngr_ldap.c:143
-msgid "|N|connect to port N"
-msgstr "|N|подключиться к порту N"
-
-#: dirmngr/dirmngr_ldap.c:144
-msgid "|NAME|use user NAME for authentication"
-msgstr "|NAME|использовать имя пользователя NAME для удостоверения личности"
-
-#: dirmngr/dirmngr_ldap.c:145
-msgid "|PASS|use password PASS for authentication"
-msgstr "|PASS|использовать для удостоверения личности пароль PASS"
-
-#: dirmngr/dirmngr_ldap.c:147
-msgid "take password from $DIRMNGR_LDAP_PASS"
-msgstr "взять пароль из $DIRMNGR_LDAP_PASS"
-
-#: dirmngr/dirmngr_ldap.c:148
-msgid "|STRING|query DN STRING"
-msgstr "|STRING|искать строку DN STRING"
-
-#: dirmngr/dirmngr_ldap.c:149
-msgid "|STRING|use STRING as filter expression"
-msgstr "|STRING|использовать строку STRING как выражение для фильтра"
-
-#: dirmngr/dirmngr_ldap.c:150
-msgid "|STRING|return the attribute STRING"
-msgstr "|STRING|вернуть атрибут STRING"
-
-#: dirmngr/dirmngr_ldap.c:211
-msgid "Usage: dirmngr_ldap [options] [URL] (-h for help)\n"
-msgstr "Вызов: dirmngr_ldap [параметры] [URL] (-h - подсказка)\n"
-
-#: dirmngr/dirmngr_ldap.c:214
-msgid ""
-"Syntax: dirmngr_ldap [options] [URL]\n"
-"Internal LDAP helper for Dirmngr\n"
-"Interface and options may change without notice\n"
-msgstr ""
-"Синтаксис: dirmngr_ldap [параметры] [URL]\n"
-"Внутренний помощник LDAP для Dirmngr\n"
-"Протокол и параметры могут изменяться без предупреждения\n"
-
-#: dirmngr/dirmngr_ldap.c:340
-#, c-format
-msgid "invalid port number %d\n"
-msgstr "недопустимый номер порта %d\n"
-
-#: dirmngr/dirmngr_ldap.c:456
-#, c-format
-msgid "scanning result for attribute '%s'\n"
-msgstr "поиск атрибута '%s' в результатах\n"
-
-#: dirmngr/dirmngr_ldap.c:463 dirmngr/dirmngr_ldap.c:546
-#: dirmngr/dirmngr_ldap.c:570 dirmngr/dirmngr_ldap.c:582
-#: dirmngr/dirmngr_ldap.c:720
-#, c-format
-msgid "error writing to stdout: %s\n"
-msgstr "ошибка записи в stdout: %s\n"
-
-#: dirmngr/dirmngr_ldap.c:480
-#, c-format
-msgid "          available attribute '%s'\n"
-msgstr "           доступный атрибут '%s'\n"
-
-#: dirmngr/dirmngr_ldap.c:518
-#, c-format
-msgid "attribute '%s' not found\n"
-msgstr "атрибут '%s' не найден\n"
-
-#: dirmngr/dirmngr_ldap.c:525
-#, c-format
-msgid "found attribute '%s'\n"
-msgstr "найден атрибут '%s'\n"
-
-#: dirmngr/dirmngr_ldap.c:634
-#, c-format
-msgid "processing url '%s'\n"
-msgstr "обработка URL '%s'\n"
-
-#: dirmngr/dirmngr_ldap.c:636
-#, c-format
-msgid "          user '%s'\n"
-msgstr " пользователь '%s'\n"
-
-#: dirmngr/dirmngr_ldap.c:638
-#, c-format
-msgid "          pass '%s'\n"
-msgstr "       проход '%s'\n"
-
-#: dirmngr/dirmngr_ldap.c:640
-#, c-format
-msgid "          host '%s'\n"
-msgstr "         хост '%s'\n"
-
-#: dirmngr/dirmngr_ldap.c:641
-#, c-format
-msgid "          port %d\n"
-msgstr "         порт %d\n"
-
-#: dirmngr/dirmngr_ldap.c:643
-#, c-format
-msgid "            DN '%s'\n"
-msgstr "           DN '%s'\n"
-
-#: dirmngr/dirmngr_ldap.c:645
-#, c-format
-msgid "        filter '%s'\n"
-msgstr "       фильтр '%s'\n"
-
-#: dirmngr/dirmngr_ldap.c:650 dirmngr/dirmngr_ldap.c:653
-#, c-format
-msgid "          attr '%s'\n"
-msgstr "      атрибут '%s'\n"
-
-#: dirmngr/dirmngr_ldap.c:659
-#, c-format
-msgid "no host name in '%s'\n"
-msgstr "в '%s' нет имени хоста\n"
-
-#: dirmngr/dirmngr_ldap.c:664
-#, c-format
-msgid "no attribute given for query '%s'\n"
-msgstr "для запроса '%s' не задано атрибута\n"
-
-#: dirmngr/dirmngr_ldap.c:670
-#, c-format
-msgid "WARNING: using first attribute only\n"
-msgstr "Внимание: Используется только первый атрибут\n"
-
-#: dirmngr/dirmngr_ldap.c:679
-#, c-format
-msgid "LDAP init to '%s:%d' failed: %s\n"
-msgstr "сбой при инициализации LDAP в '%s:%d': %s\n"
-
-#: dirmngr/dirmngr_ldap.c:702
-#, c-format
-msgid "binding to '%s:%d' failed: %s\n"
-msgstr "сбой при привязке к '%s:%d': %s\n"
-
-#: dirmngr/dirmngr_ldap.c:729
-#, c-format
-msgid "searching '%s' failed: %s\n"
-msgstr "ошибка поиска '%s': %s\n"
-
-#: dirmngr/dirmngr_ldap.c:761
-#, c-format
-msgid "'%s' is not an LDAP URL\n"
-msgstr "'%s' - не URL LDAP\n"
-
-#: dirmngr/dirmngr_ldap.c:767
-#, c-format
-msgid "'%s' is an invalid LDAP URL\n"
-msgstr "'%s' - недопустимый URL LDAP\n"
-
-#: dirmngr/http.c:1987 dirmngr/ocsp.c:255
+#: dirmngr/http.c:1993 dirmngr/ocsp.c:255
 #, c-format
 msgid "error accessing '%s': http status %u\n"
 msgstr "ошибка чтения '%s': статус HTTP %u\n"
 
-#: dirmngr/http.c:3629 dirmngr/ocsp.c:229
+#: dirmngr/http.c:3644 dirmngr/ocsp.c:229
 #, c-format
 msgid "URL '%s' redirected to '%s' (%u)\n"
 msgstr "URL '%s' перенаправлен на '%s' (%u)\n"
 
-#: dirmngr/http.c:3635 dirmngr/ocsp.c:246
+#: dirmngr/http.c:3650 dirmngr/ocsp.c:246
 #, c-format
 msgid "too many redirections\n"
 msgstr "слишком много перенаправлений\n"
 
-#: dirmngr/http.c:3747
+#: dirmngr/http.c:3762
 #, c-format
 msgid "redirection changed to '%s'\n"
 msgstr "перенаправление изменилось на '%s'\n"
@@ -10475,31 +10310,51 @@ msgstr "сбой при ожидании обертки LDAP %d: %s\n"
 msgid "ldap wrapper %d stalled - killing\n"
 msgstr "обертка LDAP %d зависла - будет удалена\n"
 
-#: dirmngr/ldap.c:91
+#: dirmngr/ldap.c:92
 #, c-format
 msgid "invalid char 0x%02x in host name - not added\n"
 msgstr "недопустимый символ 0x%02x в имени хоста - не добавляется\n"
 
-#: dirmngr/ldap.c:95
+#: dirmngr/ldap.c:96
 #, c-format
 msgid "adding '%s:%d' to the ldap server list\n"
 msgstr "добавление '%s:%d' к списку серверов LDAP\n"
 
-#: dirmngr/ldap.c:98 dirmngr/misc.c:512
+#: dirmngr/ldap.c:99 dirmngr/misc.c:512
 #, c-format
 msgid "malloc failed: %s\n"
 msgstr "сбой malloc: %s\n"
 
-#: dirmngr/ldap.c:627
+#: dirmngr/ldap.c:221
 #, c-format
-msgid "start_cert_fetch: invalid pattern '%s'\n"
-msgstr "start_cert_fetch: недопустимый шаблон '%s'\n"
+msgid "'%s' is not an LDAP URL\n"
+msgstr "'%s' - не URL LDAP\n"
+
+#: dirmngr/ldap.c:227 dirmngr/ldap.c:233
+#, c-format
+msgid "'%s' is an invalid LDAP URL\n"
+msgstr "'%s' - недопустимый URL LDAP\n"
 
-#: dirmngr/ldap.c:839
+#: dirmngr/ldap.c:969
 #, c-format
 msgid "ldap_search hit the size limit of the server\n"
 msgstr "ldap_search достиг предела сервера по размеру\n"
 
+#: dirmngr/ldapserver.c:117
+#, c-format
+msgid "%s:%u: password given without user\n"
+msgstr "%s:%u: задан пароль, но не задан пользователь\n"
+
+#: dirmngr/ldapserver.c:181
+#, c-format
+msgid "%s:%u: ignoring unknown flag '%s'\n"
+msgstr ""
+
+#: dirmngr/ldapserver.c:203
+#, c-format
+msgid "%s:%u: skipping this line\n"
+msgstr "%s:%u: пропускаю эту строку\n"
+
 #: dirmngr/misc.c:172
 #, c-format
 msgid "invalid canonical S-expression found\n"
@@ -10679,71 +10534,67 @@ msgstr "ответчик OCSP возвратил слишком старый с
 msgid "assuan_inquire(%s) failed: %s\n"
 msgstr "сбой assuan_inquire(%s): %s\n"
 
-#: dirmngr/server.c:1158
-msgid "ldapserver missing"
-msgstr "нет сервера LDAP"
-
-#: dirmngr/server.c:1224
+#: dirmngr/server.c:1277
 msgid "serialno missing in cert ID"
 msgstr "в идентификаторе сертификата нет серийного номера"
 
-#: dirmngr/server.c:1387 dirmngr/server.c:1473 dirmngr/server.c:1909
-#: dirmngr/server.c:1980 dirmngr/server.c:2552 dirmngr/server.c:2567
+#: dirmngr/server.c:1440 dirmngr/server.c:1526 dirmngr/server.c:1963
+#: dirmngr/server.c:2034 dirmngr/server.c:2662 dirmngr/server.c:2677
 #, c-format
 msgid "assuan_inquire failed: %s\n"
 msgstr "сбой assuan_inquire: %s\n"
 
-#: dirmngr/server.c:1516
+#: dirmngr/server.c:1569
 #, c-format
 msgid "fetch_cert_by_url failed: %s\n"
 msgstr "сбой fetch_cert_by_url: %s\n"
 
-#: dirmngr/server.c:1528 dirmngr/server.c:1559 dirmngr/server.c:1718
+#: dirmngr/server.c:1581 dirmngr/server.c:1612 dirmngr/server.c:1772
 #, c-format
 msgid "error sending data: %s\n"
 msgstr "ошибка отправки данных: %s\n"
 
-#: dirmngr/server.c:1666
+#: dirmngr/server.c:1720
 #, c-format
 msgid "start_cert_fetch failed: %s\n"
 msgstr "сбой start_cert_fetch: %s\n"
 
-#: dirmngr/server.c:1699
+#: dirmngr/server.c:1753
 #, c-format
 msgid "fetch_next_cert failed: %s\n"
 msgstr "сбой fetch_next_cert: %s\n"
 
-#: dirmngr/server.c:1726
+#: dirmngr/server.c:1780
 #, c-format
 msgid "max_replies %d exceeded\n"
 msgstr "превышено max_replies %d\n"
 
-#: dirmngr/server.c:2856
+#: dirmngr/server.c:2966
 #, c-format
 msgid "can't allocate control structure: %s\n"
 msgstr "сбой при выделении памяти под управляющую структуру: %s\n"
 
-#: dirmngr/server.c:2867
+#: dirmngr/server.c:2977
 #, c-format
 msgid "failed to allocate assuan context: %s\n"
 msgstr "сбой размещения контекста Assuan: %s\n"
 
-#: dirmngr/server.c:2888
+#: dirmngr/server.c:2998
 #, c-format
 msgid "failed to initialize the server: %s\n"
 msgstr "сбой инициализации сервера: %s\n"
 
-#: dirmngr/server.c:2896
+#: dirmngr/server.c:3006
 #, c-format
 msgid "failed to the register commands with Assuan: %s\n"
 msgstr "сбой регистрации команд с помощью Assuan: %s\n"
 
-#: dirmngr/server.c:2929
+#: dirmngr/server.c:3039
 #, c-format
 msgid "Assuan accept problem: %s\n"
 msgstr "проблема с приемом Assuan: %s\n"
 
-#: dirmngr/server.c:2948
+#: dirmngr/server.c:3058
 #, c-format
 msgid "Assuan processing failed: %s\n"
 msgstr "сбой обработки Assuan: %s\n"
@@ -10883,21 +10734,21 @@ msgid "error sending standard options: %s\n"
 msgstr "ошибка отправки стандартных параметров: %s\n"
 
 #: tools/gpgconf-comp.c:481 tools/gpgconf-comp.c:617 tools/gpgconf-comp.c:692
-#: tools/gpgconf-comp.c:804 tools/gpgconf-comp.c:906
+#: tools/gpgconf-comp.c:808 tools/gpgconf-comp.c:910
 msgid "Options controlling the diagnostic output"
 msgstr "Параметры, управляющие выводом диагностики"
 
 #: tools/gpgconf-comp.c:494 tools/gpgconf-comp.c:630 tools/gpgconf-comp.c:705
-#: tools/gpgconf-comp.c:817 tools/gpgconf-comp.c:929
+#: tools/gpgconf-comp.c:821 tools/gpgconf-comp.c:933
 msgid "Options controlling the configuration"
 msgstr "Параметры, управляющие настройками"
 
-#: tools/gpgconf-comp.c:517 tools/gpgconf-comp.c:659 tools/gpgconf-comp.c:736
-#: tools/gpgconf-comp.c:849 tools/gpgconf-comp.c:942
+#: tools/gpgconf-comp.c:517 tools/gpgconf-comp.c:659 tools/gpgconf-comp.c:740
+#: tools/gpgconf-comp.c:853 tools/gpgconf-comp.c:946
 msgid "Options useful for debugging"
 msgstr "Параметры, полезные для отладки"
 
-#: tools/gpgconf-comp.c:530 tools/gpgconf-comp.c:669 tools/gpgconf-comp.c:862
+#: tools/gpgconf-comp.c:530 tools/gpgconf-comp.c:669 tools/gpgconf-comp.c:866
 msgid "Options controlling the security"
 msgstr "Параметры, управляющие безопасностью"
 
@@ -10945,11 +10796,11 @@ msgstr "не разрешать повторное использование с
 msgid "|N|set the Pinentry timeout to N seconds"
 msgstr "|N|установить время ожидания ввода пароля N секунд"
 
-#: tools/gpgconf-comp.c:707 tools/gpgconf-comp.c:819
+#: tools/gpgconf-comp.c:707 tools/gpgconf-comp.c:823
 msgid "|NAME|use NAME as default secret key"
 msgstr "|NAME|использовать NAME как основной секретный ключ"
 
-#: tools/gpgconf-comp.c:710 tools/gpgconf-comp.c:822
+#: tools/gpgconf-comp.c:710 tools/gpgconf-comp.c:826
 msgid "|NAME|encrypt to user ID NAME as well"
 msgstr "|NAME|зашифровывать также для идентификатора пользователя NAME"
 
@@ -10957,129 +10808,129 @@ msgstr "|NAME|зашифровывать также для идентифика
 msgid "|SPEC|set up email aliases"
 msgstr "|SPEC|установить синонимы электронной почты"
 
-#: tools/gpgconf-comp.c:749 tools/gpgconf-comp.c:981
+#: tools/gpgconf-comp.c:753 tools/gpgconf-comp.c:985
 msgid "Configuration for Keyservers"
 msgstr "Настройки серверов ключей"
 
-#: tools/gpgconf-comp.c:751 tools/gpgconf-comp.c:983
+#: tools/gpgconf-comp.c:755 tools/gpgconf-comp.c:987
 msgid "|URL|use keyserver at URL"
 msgstr "|URL|использовать север ключей по URL"
 
-#: tools/gpgconf-comp.c:754
+#: tools/gpgconf-comp.c:758
 msgid "allow PKA lookups (DNS requests)"
 msgstr "разрешить поиск по PKA (запросы DNS)"
 
-#: tools/gpgconf-comp.c:757
+#: tools/gpgconf-comp.c:761
 msgid "|MECHANISMS|use MECHANISMS to locate keys by mail address"
 msgstr ""
 "|MECHANISMS|использовать механизмы MECHANISMS для поиска ключей по адресу "
 "электронной почты"
 
-#: tools/gpgconf-comp.c:760
+#: tools/gpgconf-comp.c:764
 msgid "import missing key from a signature"
 msgstr "импортировать недостающий ключ из подписи"
 
-#: tools/gpgconf-comp.c:763
+#: tools/gpgconf-comp.c:767
 msgid "include the public key in signatures"
 msgstr "вносить открытый ключ в подписи"
 
-#: tools/gpgconf-comp.c:770 tools/gpgconf-comp.c:831
+#: tools/gpgconf-comp.c:774 tools/gpgconf-comp.c:835
 msgid "disable all access to the dirmngr"
 msgstr "полностью запретить доступ к dirmngr"
 
-#: tools/gpgconf-comp.c:834
+#: tools/gpgconf-comp.c:838
 msgid "|NAME|use encoding NAME for PKCS#12 passphrases"
 msgstr "|NAME|использовать кодировку NAME для фраз-паролей PKCS#12"
 
-#: tools/gpgconf-comp.c:870
+#: tools/gpgconf-comp.c:874
 msgid "do not check CRLs for root certificates"
 msgstr "не проверять списки отозванных сертификатов для корневых сертификатов"
 
-#: tools/gpgconf-comp.c:919
+#: tools/gpgconf-comp.c:923
 msgid "Options controlling the format of the output"
 msgstr "Параметры, управляющие форматом вывода"
 
-#: tools/gpgconf-comp.c:961
+#: tools/gpgconf-comp.c:965
 msgid "Options controlling the interactivity and enforcement"
 msgstr "Параметры, управляющие интерактивностью и принудительными действиями"
 
-#: tools/gpgconf-comp.c:974
+#: tools/gpgconf-comp.c:978
 msgid "Options controlling the use of Tor"
 msgstr "Параметры, управляющие применением Tor"
 
-#: tools/gpgconf-comp.c:988
+#: tools/gpgconf-comp.c:992
 msgid "Configuration for HTTP servers"
 msgstr "Настройки серверов HTTP"
 
-#: tools/gpgconf-comp.c:999
+#: tools/gpgconf-comp.c:1003
 msgid "use system's HTTP proxy setting"
 msgstr "использовать системные настройки промежуточного сервера HTTP"
 
-#: tools/gpgconf-comp.c:1004
+#: tools/gpgconf-comp.c:1008
 msgid "Configuration of LDAP servers to use"
 msgstr "Настройки серверов LDAP"
 
-#: tools/gpgconf-comp.c:1033
+#: tools/gpgconf-comp.c:1037
 msgid "LDAP server list"
 msgstr "Список серверов LDAP"
 
-#: tools/gpgconf-comp.c:1041
+#: tools/gpgconf-comp.c:1045
 msgid "Configuration for OCSP"
 msgstr "Настройки OCSP"
 
-#: tools/gpgconf-comp.c:1094
+#: tools/gpgconf-comp.c:1098
 msgid "OpenPGP"
 msgstr "OpenPGP"
 
-#: tools/gpgconf-comp.c:1095
+#: tools/gpgconf-comp.c:1099
 msgid "Private Keys"
 msgstr "Закрытые ключи"
 
-#: tools/gpgconf-comp.c:1096
+#: tools/gpgconf-comp.c:1100
 msgid "Smartcards"
 msgstr "Криптографические карты"
 
-#: tools/gpgconf-comp.c:1097
+#: tools/gpgconf-comp.c:1101
 msgid "S/MIME"
 msgstr "S/MIME"
 
-#: tools/gpgconf-comp.c:1098
+#: tools/gpgconf-comp.c:1102
 msgid "Network"
 msgstr "Сеть"
 
-#: tools/gpgconf-comp.c:1099
+#: tools/gpgconf-comp.c:1103
 msgid "Passphrase Entry"
 msgstr "Ввод фраз-паролей"
 
-#: tools/gpgconf-comp.c:1278
+#: tools/gpgconf-comp.c:1282
 msgid "Component not suitable for launching"
 msgstr "Компонент не подходит для запуска"
 
-#: tools/gpgconf-comp.c:1284
+#: tools/gpgconf-comp.c:1288
 #, c-format
 msgid "Configuration file of component %s is broken\n"
 msgstr "Файл конфигурации компонента %s неисправен\n"
 
-#: tools/gpgconf-comp.c:1287
+#: tools/gpgconf-comp.c:1291
 #, c-format
 msgid "Note: Use the command \"%s%s\" to get details.\n"
 msgstr "Замечание: Подробности можно вывести командой \"%s%s\".\n"
 
-#: tools/gpgconf-comp.c:3446
+#: tools/gpgconf-comp.c:3454
 #, c-format
 msgid "External verification of component %s failed"
 msgstr "Внешняя проверка компонента %s не прошла"
 
-#: tools/gpgconf-comp.c:3597
+#: tools/gpgconf-comp.c:3605
 msgid "Note that group specifications are ignored\n"
 msgstr "Обратите внимание, что спецификации групп игнорируются\n"
 
-#: tools/gpgconf-comp.c:4195
+#: tools/gpgconf-comp.c:4203
 #, c-format
 msgid "error closing '%s'\n"
 msgstr "ошибка закрытия '%s'\n"
 
-#: tools/gpgconf-comp.c:4197
+#: tools/gpgconf-comp.c:4205
 #, c-format
 msgid "error parsing '%s'\n"
 msgstr "ошибка при интерпретации '%s'\n"
@@ -11184,6 +11035,123 @@ msgstr ""
 "Синтаксис: gpg-check-pattern [параметры] файл_образцов\n"
 "Проверить фразу-пароль, поступающую из stdin, по файлу образцов\n"
 
+#~ msgid "requesting key %s from %s server %s\n"
+#~ msgstr "запрашиваю ключ %s с сервера %s %s\n"
+
+#~ msgid "%s:%u: no hostname given\n"
+#~ msgstr "%s:%u: не задано имя хоста\n"
+
+#~ msgid "could not parse keyserver\n"
+#~ msgstr "не удалось определить сервер ключей\n"
+
+#~ msgid "return all values in a record oriented format"
+#~ msgstr "возвращать все значения в формате, ориентированном на записи"
+
+#~ msgid "|NAME|ignore host part and connect through NAME"
+#~ msgstr "|NAME|игнорировать хост и подключаться через NAME"
+
+#~ msgid "|NAME|connect to host NAME"
+#~ msgstr "|NAME|подключиться к хосту NAME"
+
+#~ msgid "|N|connect to port N"
+#~ msgstr "|N|подключиться к порту N"
+
+#~ msgid "|NAME|use user NAME for authentication"
+#~ msgstr "|NAME|использовать имя пользователя NAME для удостоверения личности"
+
+#~ msgid "|PASS|use password PASS for authentication"
+#~ msgstr "|PASS|использовать для удостоверения личности пароль PASS"
+
+#~ msgid "take password from $DIRMNGR_LDAP_PASS"
+#~ msgstr "взять пароль из $DIRMNGR_LDAP_PASS"
+
+#~ msgid "|STRING|query DN STRING"
+#~ msgstr "|STRING|искать строку DN STRING"
+
+#~ msgid "|STRING|use STRING as filter expression"
+#~ msgstr "|STRING|использовать строку STRING как выражение для фильтра"
+
+#~ msgid "|STRING|return the attribute STRING"
+#~ msgstr "|STRING|вернуть атрибут STRING"
+
+#~ msgid "Usage: dirmngr_ldap [options] [URL] (-h for help)\n"
+#~ msgstr "Вызов: dirmngr_ldap [параметры] [URL] (-h - подсказка)\n"
+
+#~ msgid ""
+#~ "Syntax: dirmngr_ldap [options] [URL]\n"
+#~ "Internal LDAP helper for Dirmngr\n"
+#~ "Interface and options may change without notice\n"
+#~ msgstr ""
+#~ "Синтаксис: dirmngr_ldap [параметры] [URL]\n"
+#~ "Внутренний помощник LDAP для Dirmngr\n"
+#~ "Протокол и параметры могут изменяться без предупреждения\n"
+
+#~ msgid "invalid port number %d\n"
+#~ msgstr "недопустимый номер порта %d\n"
+
+#~ msgid "scanning result for attribute '%s'\n"
+#~ msgstr "поиск атрибута '%s' в результатах\n"
+
+#~ msgid "error writing to stdout: %s\n"
+#~ msgstr "ошибка записи в stdout: %s\n"
+
+#~ msgid "          available attribute '%s'\n"
+#~ msgstr "           доступный атрибут '%s'\n"
+
+#~ msgid "attribute '%s' not found\n"
+#~ msgstr "атрибут '%s' не найден\n"
+
+#~ msgid "found attribute '%s'\n"
+#~ msgstr "найден атрибут '%s'\n"
+
+#~ msgid "processing url '%s'\n"
+#~ msgstr "обработка URL '%s'\n"
+
+#~ msgid "          user '%s'\n"
+#~ msgstr " пользователь '%s'\n"
+
+#~ msgid "          pass '%s'\n"
+#~ msgstr "       проход '%s'\n"
+
+#~ msgid "          host '%s'\n"
+#~ msgstr "         хост '%s'\n"
+
+#~ msgid "          port %d\n"
+#~ msgstr "         порт %d\n"
+
+#~ msgid "            DN '%s'\n"
+#~ msgstr "           DN '%s'\n"
+
+#~ msgid "        filter '%s'\n"
+#~ msgstr "       фильтр '%s'\n"
+
+#~ msgid "          attr '%s'\n"
+#~ msgstr "      атрибут '%s'\n"
+
+#~ msgid "no host name in '%s'\n"
+#~ msgstr "в '%s' нет имени хоста\n"
+
+#~ msgid "no attribute given for query '%s'\n"
+#~ msgstr "для запроса '%s' не задано атрибута\n"
+
+#~ msgid "WARNING: using first attribute only\n"
+#~ msgstr "Внимание: Используется только первый атрибут\n"
+
+#~ msgid "LDAP init to '%s:%d' failed: %s\n"
+#~ msgstr "сбой при инициализации LDAP в '%s:%d': %s\n"
+
+#~ msgid "binding to '%s:%d' failed: %s\n"
+#~ msgstr "сбой при привязке к '%s:%d': %s\n"
+
+#~ msgid "searching '%s' failed: %s\n"
+#~ msgstr "ошибка поиска '%s': %s\n"
+
+#~ msgid "start_cert_fetch: invalid pattern '%s'\n"
+#~ msgstr "start_cert_fetch: недопустимый шаблон '%s'\n"
+
+#~ msgid "ldapserver missing"
+#~ msgstr "нет сервера LDAP"
+
 #~ msgid "Note: old default options file '%s' ignored\n"
 #~ msgstr "Замечание: старый основной файл параметров '%s' проигнорирован\n"
 
index ad4ff0e..bd1f728 100644 (file)
--- a/po/sk.po
+++ b/po/sk.po
@@ -9,7 +9,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: gnupg 1.2.5\n"
 "Report-Msgid-Bugs-To: translations@gnupg.org\n"
-"POT-Creation-Date: 2021-01-11 18:47+0100\n"
+"POT-Creation-Date: 2021-06-10 18:59+0200\n"
 "PO-Revision-Date: 2004-07-20 15:52+0200\n"
 "Last-Translator: Michal Majer <mmajer@econ.umb.sk>\n"
 "Language-Team: Slovak <sk-i18n@lists.linux.sk>\n"
@@ -108,7 +108,7 @@ msgid "Passphrase:"
 msgstr "nesprávne heslo"
 
 #: agent/call-pinentry.c:1107 agent/call-pinentry.c:1359
-#: agent/command-ssh.c:3130 agent/genkey.c:416
+#: agent/command-ssh.c:3140 agent/genkey.c:416
 msgid "does not match - try again"
 msgstr ""
 
@@ -163,34 +163,34 @@ msgstr "nesprávne heslo"
 msgid "ssh keys greater than %d bits are not supported\n"
 msgstr "ochranný algoritmus %d%s nie je podporováný\n"
 
-#: agent/command-ssh.c:862 common/dotlock.c:852 g10/card-util.c:932
-#: g10/exec.c:546 g10/export.c:1320 g10/gpg.c:1352 g10/keygen.c:4998
-#: g10/keyring.c:1322 g10/keyring.c:1637 g10/openfile.c:291 g10/sign.c:1009
-#: g10/sign.c:1323 g10/tdbio.c:753
+#: agent/command-ssh.c:862 common/dotlock.c:852 g10/card-util.c:933
+#: g10/exec.c:554 g10/export.c:1320 g10/gpg.c:1360 g10/keygen.c:4998
+#: g10/keyring.c:1322 g10/keyring.c:1637 g10/openfile.c:291 g10/sign.c:1008
+#: g10/sign.c:1322 g10/tdbio.c:753
 #, fuzzy, c-format
 #| msgid "can't create `%s': %s\n"
 msgid "can't create '%s': %s\n"
 msgstr "nemôžem vytvoriť `%s': %s\n"
 
-#: agent/command-ssh.c:874 common/helpfile.c:57 g10/card-util.c:889
+#: agent/command-ssh.c:874 common/helpfile.c:57 g10/card-util.c:890
 #: g10/dearmor.c:59 g10/dearmor.c:106 g10/decrypt.c:65 g10/decrypt.c:136
-#: g10/decrypt.c:153 g10/encrypt.c:180 g10/encrypt.c:543 g10/gpg.c:1353
-#: g10/import.c:352 g10/import.c:536 g10/import.c:764 g10/keygen.c:4036
+#: g10/decrypt.c:153 g10/encrypt.c:180 g10/encrypt.c:543 g10/gpg.c:1361
+#: g10/import.c:364 g10/import.c:548 g10/import.c:776 g10/keygen.c:4036
 #: g10/keyring.c:1663 g10/openfile.c:195 g10/openfile.c:209 g10/plaintext.c:128
-#: g10/plaintext.c:649 g10/sign.c:991 g10/sign.c:1202 g10/sign.c:1307
-#: g10/sign.c:1452 g10/tdbdump.c:143 g10/tdbdump.c:151 g10/tdbio.c:758
-#: g10/tdbio.c:829 g10/verify.c:96 g10/verify.c:160 sm/gpgsm.c:2219
-#: sm/gpgsm.c:2249 sm/gpgsm.c:2287 sm/qualified.c:66 dirmngr/certcache.c:396
+#: g10/plaintext.c:649 g10/sign.c:990 g10/sign.c:1201 g10/sign.c:1306
+#: g10/sign.c:1451 g10/tdbdump.c:143 g10/tdbdump.c:151 g10/tdbio.c:758
+#: g10/tdbio.c:829 g10/verify.c:96 g10/verify.c:160 sm/gpgsm.c:2125
+#: sm/gpgsm.c:2155 sm/gpgsm.c:2193 sm/qualified.c:66 dirmngr/certcache.c:396
 #: dirmngr/certcache.c:476 dirmngr/certcache.c:478 dirmngr/crlcache.c:2588
-#: dirmngr/dirmngr.c:1722
+#: dirmngr/dirmngr.c:1759
 #, fuzzy, c-format
 #| msgid "can't open `%s': %s\n"
 msgid "can't open '%s': %s\n"
 msgstr "nemôžem otvoriť `%s': %s\n"
 
 #: agent/command-ssh.c:2385 agent/command-ssh.c:2431 agent/command-ssh.c:2449
-#: agent/command-ssh.c:2601 g10/card-util.c:687 g10/card-util.c:708
-#: g10/skclist.c:430
+#: agent/command-ssh.c:2601 g10/card-util.c:688 g10/card-util.c:709
+#: g10/skclist.c:435
 #, fuzzy, c-format
 msgid "error getting serial number of card: %s\n"
 msgstr "chyba pri vytváraní hesla: %s\n"
@@ -215,39 +215,39 @@ msgstr "nenájdený zapisovateľný súbor tajných kľúčov (secring): %s\n"
 msgid "error getting list of cards: %s\n"
 msgstr "chyba pri vytváraní hesla: %s\n"
 
-#: agent/command-ssh.c:2765
+#: agent/command-ssh.c:2775
 #, c-format
 msgid ""
 "An ssh process requested the use of key%%0A  %s%%0A  (%s)%%0ADo you want to "
 "allow this?"
 msgstr ""
 
-#: agent/command-ssh.c:2772
+#: agent/command-ssh.c:2782
 msgid "Allow"
 msgstr ""
 
-#: agent/command-ssh.c:2772
+#: agent/command-ssh.c:2782
 msgid "Deny"
 msgstr ""
 
-#: agent/command-ssh.c:2781
+#: agent/command-ssh.c:2791
 #, fuzzy, c-format
 msgid "Please enter the passphrase for the ssh key%%0A  %F%%0A  (%c)"
 msgstr "Prosím, vložte heslo; toto je tajná veta \n"
 
-#: agent/command-ssh.c:3058 agent/genkey.c:351
+#: agent/command-ssh.c:3068 agent/genkey.c:351
 #, fuzzy
 msgid "Please re-enter this passphrase"
 msgstr "zmeniť heslo"
 
-#: agent/command-ssh.c:3085
+#: agent/command-ssh.c:3095
 #, fuzzy, c-format
 msgid ""
 "Please enter a passphrase to protect the received secret key%%0A   %s%%0A   "
 "%s%%0Awithin gpg-agent's key storage"
 msgstr "Prosím, vložte heslo; toto je tajná veta \n"
 
-#: agent/command-ssh.c:3667
+#: agent/command-ssh.c:3677
 #, fuzzy, c-format
 msgid "failed to create stream from socket: %s\n"
 msgstr "%s: nepodarilo sa vytvoriť hashovaciu tabuľku: %s\n"
@@ -402,48 +402,46 @@ msgstr ""
 "Možnosti:\n"
 " "
 
-#: agent/gpg-agent.c:165 scd/scdaemon.c:120 dirmngr/dirmngr.c:166
+#: agent/gpg-agent.c:165 scd/scdaemon.c:120 dirmngr/dirmngr.c:167
 msgid "run in daemon mode (background)"
 msgstr ""
 
-#: agent/gpg-agent.c:166 scd/scdaemon.c:117 dirmngr/dirmngr.c:165
+#: agent/gpg-agent.c:166 scd/scdaemon.c:117 dirmngr/dirmngr.c:166
 msgid "run in server mode (foreground)"
 msgstr ""
 
-#: agent/gpg-agent.c:168 dirmngr/dirmngr.c:168
+#: agent/gpg-agent.c:168 dirmngr/dirmngr.c:169
 #, fuzzy
 #| msgid "Key is superseded"
 msgid "run in supervised mode"
 msgstr "Kľúč je nahradený"
 
-#: agent/gpg-agent.c:170 g10/gpg.c:608 g10/gpgv.c:78 kbx/kbxutil.c:88
-#: scd/scdaemon.c:121 sm/gpgsm.c:310 dirmngr/dirmngr-client.c:70
-#: dirmngr/dirmngr.c:181 dirmngr/dirmngr_ldap.c:135
-#: tools/gpg-connect-agent.c:78 tools/gpgconf.c:108
+#: agent/gpg-agent.c:170 g10/gpg.c:605 g10/gpgv.c:78 kbx/kbxutil.c:88
+#: scd/scdaemon.c:121 sm/gpgsm.c:311 dirmngr/dirmngr-client.c:70
+#: dirmngr/dirmngr.c:182 tools/gpg-connect-agent.c:78 tools/gpgconf.c:108
 msgid "verbose"
 msgstr "s dodatočnými informáciami"
 
 #: agent/gpg-agent.c:171 g10/gpgv.c:79 kbx/kbxutil.c:89 scd/scdaemon.c:122
-#: sm/gpgsm.c:311 dirmngr/dirmngr-client.c:71 dirmngr/dirmngr.c:182
-#: dirmngr/dirmngr_ldap.c:136
+#: sm/gpgsm.c:312 dirmngr/dirmngr-client.c:71 dirmngr/dirmngr.c:183
 msgid "be somewhat more quiet"
 msgstr "byť o trochu tichší"
 
-#: agent/gpg-agent.c:172 scd/scdaemon.c:123 dirmngr/dirmngr.c:183
+#: agent/gpg-agent.c:172 scd/scdaemon.c:123 dirmngr/dirmngr.c:184
 msgid "sh-style command output"
 msgstr ""
 
-#: agent/gpg-agent.c:173 scd/scdaemon.c:124 dirmngr/dirmngr.c:184
+#: agent/gpg-agent.c:173 scd/scdaemon.c:124 dirmngr/dirmngr.c:185
 msgid "csh-style command output"
 msgstr ""
 
-#: agent/gpg-agent.c:174 scd/scdaemon.c:125 sm/gpgsm.c:341
-#: dirmngr/dirmngr.c:185
+#: agent/gpg-agent.c:174 scd/scdaemon.c:125 sm/gpgsm.c:344
+#: dirmngr/dirmngr.c:186
 #, fuzzy
 msgid "|FILE|read options from FILE"
 msgstr "|SÚBOR|nahrať rozširujúci modul SÚBOR"
 
-#: agent/gpg-agent.c:183 scd/scdaemon.c:135 dirmngr/dirmngr.c:188
+#: agent/gpg-agent.c:183 scd/scdaemon.c:135 dirmngr/dirmngr.c:189
 msgid "do not detach from the console"
 msgstr ""
 
@@ -529,9 +527,9 @@ msgstr "nepodporované"
 #. reporting address.  This is so that we can change the
 #. reporting address without breaking the translations.
 #: agent/gpg-agent.c:531 agent/preset-passphrase.c:100 agent/protect-tool.c:155
-#: g10/gpg.c:1070 g10/gpgv.c:149 kbx/kbxutil.c:113 scd/scdaemon.c:298
-#: sm/gpgsm.c:567 dirmngr/dirmngr-client.c:168 dirmngr/dirmngr.c:404
-#: dirmngr/dirmngr_ldap.c:207 tools/gpg-connect-agent.c:205 tools/gpgconf.c:146
+#: g10/gpg.c:1074 g10/gpgv.c:149 kbx/kbxutil.c:113 scd/scdaemon.c:299
+#: sm/gpgsm.c:570 dirmngr/dirmngr-client.c:168 dirmngr/dirmngr.c:412
+#: tools/gpg-connect-agent.c:205 tools/gpgconf.c:146
 #: tools/gpg-check-pattern.c:143
 #, fuzzy
 msgid "Please report bugs to <@EMAIL@>.\n"
@@ -550,39 +548,39 @@ msgid ""
 "Secret key management for @GNUPG@\n"
 msgstr ""
 
-#: agent/gpg-agent.c:587 g10/gpg.c:1262 scd/scdaemon.c:370 sm/gpgsm.c:715
-#: dirmngr/dirmngr.c:488
+#: agent/gpg-agent.c:587 g10/gpg.c:1270 scd/scdaemon.c:371 sm/gpgsm.c:718
+#: dirmngr/dirmngr.c:496
 #, c-format
 msgid "invalid debug-level '%s' given\n"
 msgstr ""
 
-#: agent/gpg-agent.c:945 g10/gpg.c:3753 g10/gpg.c:3777 sm/gpgsm.c:1631
-#: sm/gpgsm.c:1637
+#: agent/gpg-agent.c:945 g10/gpg.c:3773 g10/gpg.c:3797 sm/gpgsm.c:1531
+#: sm/gpgsm.c:1537
 #, c-format
 msgid "selected digest algorithm is invalid\n"
 msgstr "vybraný hashovací algoritmus je neplatný\n"
 
 #: agent/gpg-agent.c:1168 agent/gpg-agent.c:2023 common/argparse.c:1755
-#: common/argparse.c:1847 g10/gpg.c:2482 scd/scdaemon.c:532 sm/gpgsm.c:1063
-#: dirmngr/dirmngr.c:956 dirmngr/dirmngr.c:1841
+#: common/argparse.c:1847 g10/gpg.c:2495 scd/scdaemon.c:533 sm/gpgsm.c:977
+#: dirmngr/dirmngr.c:994 dirmngr/dirmngr.c:1878
 #, fuzzy, c-format
 #| msgid "reading options from `%s'\n"
 msgid "reading options from '%s'\n"
 msgstr "čítam možnosti z `%s'\n"
 
-#: agent/gpg-agent.c:1300 g10/gpg.c:3704 scd/scdaemon.c:655 sm/gpgsm.c:1571
-#: dirmngr/dirmngr.c:1067 tools/gpg-connect-agent.c:1244 tools/gpgconf.c:624
+#: agent/gpg-agent.c:1300 g10/gpg.c:3724 scd/scdaemon.c:657 sm/gpgsm.c:1471
+#: dirmngr/dirmngr.c:1102 tools/gpg-connect-agent.c:1244 tools/gpgconf.c:624
 #, fuzzy, c-format
 #| msgid "WARNING: \"%s\" is a deprecated option\n"
 msgid "Note: '%s' is not considered an option\n"
 msgstr "VAROVÁNÍ: použitie parametra \"%s\" sa neodporúča\n"
 
-#: agent/gpg-agent.c:2159 scd/scdaemon.c:1096 dirmngr/dirmngr.c:1219
+#: agent/gpg-agent.c:2159 scd/scdaemon.c:1098 dirmngr/dirmngr.c:1256
 #, fuzzy, c-format
 msgid "can't create socket: %s\n"
 msgstr "%s: nemôžem vytvoriť: %s\n"
 
-#: agent/gpg-agent.c:2176 scd/scdaemon.c:1109 dirmngr/dirmngr.c:1232
+#: agent/gpg-agent.c:2176 scd/scdaemon.c:1111 dirmngr/dirmngr.c:1269
 #, c-format
 msgid "socket name '%s' is too long\n"
 msgstr ""
@@ -592,29 +590,29 @@ msgstr ""
 msgid "a gpg-agent is already running - not starting a new one\n"
 msgstr "gpg-agent nie je v tomto sedení dostupný\n"
 
-#: agent/gpg-agent.c:2226 scd/scdaemon.c:1133 dirmngr/dirmngr.c:1264
+#: agent/gpg-agent.c:2226 scd/scdaemon.c:1135 dirmngr/dirmngr.c:1301
 #, fuzzy, c-format
 msgid "error getting nonce for the socket\n"
 msgstr "chyba pri vytváraní hesla: %s\n"
 
-#: agent/gpg-agent.c:2231 scd/scdaemon.c:1136 dirmngr/dirmngr.c:1267
+#: agent/gpg-agent.c:2231 scd/scdaemon.c:1138 dirmngr/dirmngr.c:1304
 #, fuzzy, c-format
 msgid "error binding socket to '%s': %s\n"
 msgstr "chyba pri posielaní na `%s': %s\n"
 
 #: agent/gpg-agent.c:2242 agent/gpg-agent.c:2282 agent/gpg-agent.c:2291
-#: scd/scdaemon.c:1144 dirmngr/dirmngr.c:1276
+#: scd/scdaemon.c:1146 dirmngr/dirmngr.c:1313
 #, fuzzy, c-format
 msgid "can't set permissions of '%s': %s\n"
 msgstr "VAROVANIE: prístupové práva pre %s nie sú nastavené bezpečne \"%s\"\n"
 
-#: agent/gpg-agent.c:2256 scd/scdaemon.c:1156 dirmngr/dirmngr.c:1288
+#: agent/gpg-agent.c:2256 scd/scdaemon.c:1158 dirmngr/dirmngr.c:1325
 #, fuzzy, c-format
 msgid "listening on socket '%s'\n"
 msgstr "zapisujem tajný kľúč do `%s'\n"
 
 #: agent/gpg-agent.c:2276 agent/gpg-agent.c:2329 common/homedir.c:517
-#: g10/exec.c:261 g10/openfile.c:397
+#: g10/exec.c:269 g10/openfile.c:397
 #, fuzzy, c-format
 #| msgid "can't create directory `%s': %s\n"
 msgid "can't create directory '%s': %s\n"
@@ -636,7 +634,7 @@ msgstr "databáza dôvery: procedúra read() (n=%d) zlyhala: %s\n"
 msgid "can't use '%s' as home directory\n"
 msgstr "%s: nemôžem vytvoriť adresár: %s\n"
 
-#: agent/gpg-agent.c:2502 scd/scdaemon.c:1172 dirmngr/dirmngr.c:2047
+#: agent/gpg-agent.c:2502 scd/scdaemon.c:1174 dirmngr/dirmngr.c:2084
 #, fuzzy, c-format
 msgid "error reading nonce on fd %d: %s\n"
 msgstr "chyba pri čítaní `%s': %s\n"
@@ -661,12 +659,12 @@ msgstr ""
 msgid "ssh handler 0x%lx for fd %d terminated\n"
 msgstr ""
 
-#: agent/gpg-agent.c:3016 scd/scdaemon.c:1362 dirmngr/dirmngr.c:2261
+#: agent/gpg-agent.c:3016 scd/scdaemon.c:1366 dirmngr/dirmngr.c:2298
 #, fuzzy, c-format
 msgid "npth_pselect failed: %s - waiting 1s\n"
 msgstr "aktualizácia tajného kľúča zlyhala: %s\n"
 
-#: agent/gpg-agent.c:3104 scd/scdaemon.c:1427
+#: agent/gpg-agent.c:3104 scd/scdaemon.c:1431
 #, fuzzy, c-format
 msgid "%s %s stopped\n"
 msgstr "%s: preskočené: %s\n"
@@ -688,8 +686,8 @@ msgid ""
 "Password cache maintenance\n"
 msgstr ""
 
-#: agent/protect-tool.c:108 g10/gpg.c:440 kbx/kbxutil.c:71 sm/gpgsm.c:204
-#: dirmngr/dirmngr.c:163 tools/gpgconf.c:78
+#: agent/protect-tool.c:108 g10/gpg.c:437 kbx/kbxutil.c:71 sm/gpgsm.c:205
+#: dirmngr/dirmngr.c:164 tools/gpgconf.c:78
 msgid ""
 "@Commands:\n"
 " "
@@ -697,8 +695,8 @@ msgstr ""
 "@Príkazy:\n"
 " "
 
-#: agent/protect-tool.c:117 g10/gpg.c:553 g10/gpgv.c:76 kbx/kbxutil.c:81
-#: sm/gpgsm.c:252 dirmngr/dirmngr.c:179 tools/gpg-connect-agent.c:76
+#: agent/protect-tool.c:117 g10/gpg.c:550 g10/gpgv.c:76 kbx/kbxutil.c:81
+#: sm/gpgsm.c:253 dirmngr/dirmngr.c:180 tools/gpg-connect-agent.c:76
 #: tools/gpgconf.c:105
 msgid ""
 "@\n"
@@ -720,12 +718,12 @@ msgid ""
 "Secret key maintenance tool\n"
 msgstr ""
 
-#: agent/protect-tool.c:703
+#: agent/protect-tool.c:703 sm/import.c:774
 #, fuzzy
 msgid "Please enter the passphrase to unprotect the PKCS#12 object."
 msgstr "Prosím, vložte heslo; toto je tajná veta \n"
 
-#: agent/protect-tool.c:708
+#: agent/protect-tool.c:708 sm/export.c:710
 #, fuzzy
 msgid "Please enter the passphrase to protect the new PKCS#12 object."
 msgstr "Prosím, vložte heslo; toto je tajná veta \n"
@@ -753,7 +751,7 @@ msgstr "Zrušiť"
 msgid "error while asking for the passphrase: %s\n"
 msgstr "chyba pri vytváraní hesla: %s\n"
 
-#: agent/trustlist.c:154 agent/trustlist.c:364 dirmngr/dirmngr.c:1629
+#: agent/trustlist.c:154 agent/trustlist.c:364 dirmngr/dirmngr.c:1666
 #: tools/gpgconf.c:418
 #, fuzzy, c-format
 msgid "error opening '%s': %s\n"
@@ -909,7 +907,7 @@ msgstr "kontrola vytvoreného podpisu sa nepodarila: %s\n"
 msgid "secret key parts are not available\n"
 msgstr "tajné časti kľúča nie sú dostupné\n"
 
-#: agent/cvt-openpgp.c:344 g10/card-util.c:1540
+#: agent/cvt-openpgp.c:344 g10/card-util.c:1541
 #, fuzzy, c-format
 #| msgid "protection algorithm %d%s is not supported\n"
 msgid "public key algorithm %d (%s) is not supported\n"
@@ -927,21 +925,21 @@ msgstr "ochranný algoritmus %d%s nie je podporováný\n"
 msgid "protection hash algorithm %d (%s) is not supported\n"
 msgstr "ochranný algoritmus %d%s nie je podporováný\n"
 
-#: common/exechelp-posix.c:359 common/exechelp-w32.c:449
-#: common/exechelp-w32.c:473 common/exechelp-w32.c:503
+#: common/exechelp-posix.c:359 common/exechelp-w32.c:451
+#: common/exechelp-w32.c:475 common/exechelp-w32.c:505
 #, fuzzy, c-format
 msgid "error creating a pipe: %s\n"
 msgstr "chyba pri vytváraní hesla: %s\n"
 
 #: common/exechelp-posix.c:372 common/exechelp-w32.c:355
-#: common/exechelp-w32.c:459 common/exechelp-w32.c:483
-#: common/exechelp-w32.c:513
+#: common/exechelp-w32.c:461 common/exechelp-w32.c:485
+#: common/exechelp-w32.c:515
 #, fuzzy, c-format
 msgid "error creating a stream for a pipe: %s\n"
 msgstr "chyba pri vytváraní hesla: %s\n"
 
 #: common/exechelp-posix.c:495 common/exechelp-posix.c:570
-#: common/exechelp-posix.c:851 dirmngr/dirmngr.c:1306
+#: common/exechelp-posix.c:856 dirmngr/dirmngr.c:1343
 #, fuzzy, c-format
 msgid "error forking process: %s\n"
 msgstr "chyba pri čítaní `%s': %s\n"
@@ -951,28 +949,28 @@ msgstr "chyba pri čítaní `%s': %s\n"
 msgid "waiting for process %d to terminate failed: %s\n"
 msgstr ""
 
-#: common/exechelp-posix.c:678 common/exechelp-posix.c:794
+#: common/exechelp-posix.c:678 common/exechelp-posix.c:799
 #, fuzzy, c-format
 msgid "error running '%s': probably not installed\n"
 msgstr "chyba pri čítaní `%s': %s\n"
 
-#: common/exechelp-posix.c:684 common/exechelp-posix.c:801
-#: common/exechelp-w32.c:796 common/exechelp-w32ce.c:781
+#: common/exechelp-posix.c:684 common/exechelp-posix.c:806
+#: common/exechelp-w32.c:829 common/exechelp-w32ce.c:781
 #, fuzzy, c-format
 msgid "error running '%s': exit status %d\n"
 msgstr "chyba pri čítaní `%s': %s\n"
 
-#: common/exechelp-posix.c:692 common/exechelp-posix.c:809
+#: common/exechelp-posix.c:692 common/exechelp-posix.c:814
 #, fuzzy, c-format
 msgid "error running '%s': terminated\n"
 msgstr "chyba pri čítaní `%s': %s\n"
 
-#: common/exechelp-posix.c:750 common/exechelp-w32.c:777
+#: common/exechelp-posix.c:755 common/exechelp-w32.c:810
 #, fuzzy, c-format
 msgid "waiting for processes to terminate failed: %s\n"
 msgstr "aktualizácia zlyhala: %s\n"
 
-#: common/exechelp-w32.c:789 common/exechelp-w32ce.c:775
+#: common/exechelp-w32.c:822 common/exechelp-w32ce.c:775
 #, fuzzy, c-format
 msgid "error getting exit code of process %d: %s\n"
 msgstr "chyba pri zápise do súboru tajných kľúčov `%s': %s\n"
@@ -1069,7 +1067,7 @@ msgstr ""
 msgid "out of core while allocating %lu bytes"
 msgstr ""
 
-#: common/miscellaneous.c:115 g10/card-util.c:896 tools/no-libgcrypt.c:30
+#: common/miscellaneous.c:115 g10/card-util.c:897 tools/no-libgcrypt.c:30
 #, fuzzy, c-format
 msgid "error allocating enough memory: %s\n"
 msgstr "chyba pri vytváraní súboru kľúčov (keyring)`%s': %s\n"
@@ -1192,7 +1190,7 @@ msgid "algorithm: %s"
 msgstr "ASCII kódovanie: %s\n"
 
 #: common/audit.c:774 common/audit.c:776 common/audit.c:921 common/audit.c:923
-#: scd/app-openpgp.c:3555
+#: scd/app-openpgp.c:3554
 #, fuzzy, c-format
 msgid "unsupported algorithm: %s"
 msgstr ""
@@ -1333,6 +1331,26 @@ msgstr "neznáme"
 msgid "invalid radix64 character %02x skipped\n"
 msgstr "neplatný znak vo formáte radix64 %02x bol preskočený\n"
 
+#: common/ttyio.c:433
+#, c-format
+msgid "Sorry, we are in batchmode - can't get input\n"
+msgstr ""
+
+#: common/ttyio.c:439
+#, c-format
+msgid "Sorry, no terminal at all requested - can't get input\n"
+msgstr ""
+
+#: common/ttyio.c:474 common/ttyio.c:484
+#, c-format
+msgid "too many errors; giving up\n"
+msgstr ""
+
+#: common/ttyio.c:536
+#, c-format
+msgid "Control-D detected\n"
+msgstr ""
+
 #: common/argparse.c:520
 #, fuzzy
 msgid "argument not expected"
@@ -1404,7 +1422,7 @@ msgstr "neplatný parameter pre import\n"
 msgid "missing argument for option \"%.50s\"\n"
 msgstr ""
 
-#: common/argparse.c:558 g10/gpg.c:3490
+#: common/argparse.c:558 g10/gpg.c:3510
 #, fuzzy, c-format
 msgid "invalid argument for option \"%.50s\"\n"
 msgstr "neplatný parameter pre import\n"
@@ -1476,31 +1494,31 @@ msgstr "nemôžem vytvoriť adresár `%s': %s\n"
 msgid "error writing to '%s': %s\n"
 msgstr "chyba pri zápise súboru kľúčov (keyring)  `%s': %s\n"
 
-#: common/dotlock.c:1129
+#: common/dotlock.c:1137
 #, c-format
 msgid "removing stale lockfile (created by %d)\n"
 msgstr ""
 
-#: common/dotlock.c:1165
+#: common/dotlock.c:1173
 #, fuzzy, c-format
 msgid "waiting for lock (held by %d%s) %s...\n"
 msgstr "zapisujem tajný kľúč do `%s'\n"
 
-#: common/dotlock.c:1166
+#: common/dotlock.c:1174
 msgid "(deadlock?) "
 msgstr ""
 
-#: common/dotlock.c:1205
+#: common/dotlock.c:1213
 #, fuzzy, c-format
 msgid "lock '%s' not made: %s\n"
 msgstr "verejný kľúč %08lX nebol nájdený: %s\n"
 
-#: common/dotlock.c:1232
+#: common/dotlock.c:1240
 #, fuzzy, c-format
 msgid "waiting for lock %s...\n"
 msgstr "zapisujem tajný kľúč do `%s'\n"
 
-#: common/init.c:185 sm/gpgsm.c:949 dirmngr/dirmngr.c:862 dirmngr/dirmngr.c:871
+#: common/init.c:191 sm/gpgsm.c:863 dirmngr/dirmngr.c:900 dirmngr/dirmngr.c:909
 #, c-format
 msgid "%s is too old (need %s, have %s)\n"
 msgstr ""
@@ -1691,13 +1709,13 @@ msgid "Note: Use the command \"%s\" to restart them.\n"
 msgstr "Prosím, najskôr použite príkaz \"toggle\" (prepnúť).\n"
 
 #: g10/call-agent.c:318 g10/encrypt.c:154 g10/encrypt.c:620 g10/sign.c:412
-#: sm/call-agent.c:205 sm/encrypt.c:425 sm/sign.c:345
+#: sm/call-agent.c:205 sm/encrypt.c:426 sm/sign.c:345
 #, fuzzy, c-format
 #| msgid "%s does not yet work with %s\n"
 msgid "%s is not compliant with %s mode\n"
 msgstr "%s ešte nepracuje s %s\n"
 
-#: g10/call-dirmngr.c:209 sm/call-dirmngr.c:268 tools/gpg-connect-agent.c:2253
+#: g10/call-dirmngr.c:209 sm/call-dirmngr.c:269 tools/gpg-connect-agent.c:2253
 #, fuzzy, c-format
 msgid "no dirmngr running in this session\n"
 msgstr "gpg-agent nie je v tomto sedení dostupný\n"
@@ -1742,23 +1760,23 @@ msgstr ""
 msgid "server uses an invalid certificate"
 msgstr "vytvoriť revokačný certifikát"
 
-#: g10/call-dirmngr.c:437 g10/gpg.c:4400
+#: g10/call-dirmngr.c:437 g10/gpg.c:4421
 #, fuzzy, c-format
 #| msgid "armor: %s\n"
 msgid "Note: %s\n"
 msgstr "ASCII kódovanie: %s\n"
 
-#: g10/card-util.c:86 g10/card-util.c:366 g10/card-util.c:1902
+#: g10/card-util.c:86 g10/card-util.c:366 g10/card-util.c:1903
 #, fuzzy, c-format
 msgid "OpenPGP card not available: %s\n"
 msgstr "tajný kľúč nie je dostupný"
 
-#: g10/card-util.c:91 g10/card-util.c:1908
+#: g10/card-util.c:91 g10/card-util.c:1909
 #, c-format
 msgid "OpenPGP card no. %s detected\n"
 msgstr ""
 
-#: g10/card-util.c:97 g10/card-util.c:2237 g10/delkey.c:160 g10/keyedit.c:1422
+#: g10/card-util.c:97 g10/card-util.c:2238 g10/delkey.c:160 g10/keyedit.c:1423
 #: g10/keygen.c:4466 g10/revoke.c:214 g10/revoke.c:636
 #, fuzzy, c-format
 msgid "can't do this in batch mode\n"
@@ -1769,13 +1787,13 @@ msgstr "nemožno previesť v dávkovom móde\n"
 msgid "This command is only available for version 2 cards\n"
 msgstr "Tento príkaz nie je v módoch %s dovolený.\n"
 
-#: g10/card-util.c:107 scd/app-openpgp.c:2864
+#: g10/card-util.c:107 scd/app-openpgp.c:2863
 #, fuzzy, c-format
 msgid "Reset Code not or not anymore available\n"
 msgstr "tajné časti kľúča nie sú dostupné\n"
 
-#: g10/card-util.c:140 g10/card-util.c:1426 g10/card-util.c:1688
-#: g10/card-util.c:1780 g10/keyedit.c:394 g10/keyedit.c:415 g10/keyedit.c:429
+#: g10/card-util.c:140 g10/card-util.c:1427 g10/card-util.c:1689
+#: g10/card-util.c:1781 g10/keyedit.c:394 g10/keyedit.c:415 g10/keyedit.c:429
 #: g10/keygen.c:1808 g10/keygen.c:1980 g10/keygen.c:2186 g10/keygen.c:2477
 #: sm/certreqgen-ui.c:165 sm/certreqgen-ui.c:291 sm/certreqgen-ui.c:325
 msgid "Your selection? "
@@ -1802,213 +1820,213 @@ msgstr "nespracované"
 msgid "forced"
 msgstr ""
 
-#: g10/card-util.c:749
+#: g10/card-util.c:750
 msgid "Error: Only plain ASCII is currently allowed.\n"
 msgstr ""
 
-#: g10/card-util.c:751
+#: g10/card-util.c:752
 msgid "Error: The \"<\" character may not be used.\n"
 msgstr ""
 
-#: g10/card-util.c:753
+#: g10/card-util.c:754
 msgid "Error: Double spaces are not allowed.\n"
 msgstr ""
 
-#: g10/card-util.c:770
+#: g10/card-util.c:771
 msgid "Cardholder's surname: "
 msgstr ""
 
-#: g10/card-util.c:772
+#: g10/card-util.c:773
 msgid "Cardholder's given name: "
 msgstr ""
 
-#: g10/card-util.c:790
+#: g10/card-util.c:791
 #, c-format
 msgid "Error: Combined name too long (limit is %d characters).\n"
 msgstr ""
 
-#: g10/card-util.c:811
+#: g10/card-util.c:812
 #, fuzzy
 msgid "URL to retrieve public key: "
 msgstr "žiadny zodpovedajúci verejný kľúč: %s\n"
 
-#: g10/card-util.c:905 g10/decrypt-data.c:490 g10/import.c:387 g10/import.c:734
-#: g10/import.c:786 dirmngr/crlcache.c:655 dirmngr/crlcache.c:660
-#: dirmngr/crlcache.c:914 dirmngr/crlcache.c:920 dirmngr/dirmngr.c:1668
+#: g10/card-util.c:906 g10/decrypt-data.c:490 g10/import.c:399 g10/import.c:746
+#: g10/import.c:798 dirmngr/crlcache.c:655 dirmngr/crlcache.c:660
+#: dirmngr/crlcache.c:914 dirmngr/crlcache.c:920 dirmngr/dirmngr.c:1705
 #: tools/gpgconf.c:431 tools/gpgconf.c:477
 #, fuzzy, c-format
 #| msgid "error reading `%s': %s\n"
 msgid "error reading '%s': %s\n"
 msgstr "chyba pri čítaní `%s': %s\n"
 
-#: g10/card-util.c:938 g10/decrypt-data.c:493 g10/export.c:2467
+#: g10/card-util.c:939 g10/decrypt-data.c:493 g10/export.c:2467
 #: dirmngr/crlcache.c:925
 #, fuzzy, c-format
 msgid "error writing '%s': %s\n"
 msgstr "chyba pri zápise súboru kľúčov (keyring)  `%s': %s\n"
 
-#: g10/card-util.c:965
+#: g10/card-util.c:966
 msgid "Login data (account name): "
 msgstr ""
 
-#: g10/card-util.c:1003
+#: g10/card-util.c:1004
 msgid "Private DO data: "
 msgstr ""
 
-#: g10/card-util.c:1088
+#: g10/card-util.c:1089
 #, fuzzy
 msgid "Language preferences: "
 msgstr "aktualizovať predvoľby"
 
-#: g10/card-util.c:1096
+#: g10/card-util.c:1097
 #, fuzzy
 msgid "Error: invalid length of preference string.\n"
 msgstr "neplatný znak v reťazci s predvoľbami\n"
 
-#: g10/card-util.c:1105
+#: g10/card-util.c:1106
 #, fuzzy
 msgid "Error: invalid characters in preference string.\n"
 msgstr "neplatný znak v reťazci s predvoľbami\n"
 
-#: g10/card-util.c:1127
+#: g10/card-util.c:1128
 msgid "Salutation (M = Mr., F = Ms., or space): "
 msgstr ""
 
-#: g10/card-util.c:1141
+#: g10/card-util.c:1142
 #, fuzzy
 msgid "Error: invalid response.\n"
 msgstr "chyba: neplatný odtlačok\n"
 
-#: g10/card-util.c:1163
+#: g10/card-util.c:1164
 #, fuzzy
 msgid "CA fingerprint: "
 msgstr "vypísať fingerprint"
 
-#: g10/card-util.c:1186
+#: g10/card-util.c:1187
 #, fuzzy
 msgid "Error: invalid formatted fingerprint.\n"
 msgstr "chyba: neplatný odtlačok\n"
 
-#: g10/card-util.c:1236
+#: g10/card-util.c:1237
 #, fuzzy, c-format
 msgid "key operation not possible: %s\n"
 msgstr "Vytvorenie kľúča sa nepodarilo: %s\n"
 
-#: g10/card-util.c:1237
+#: g10/card-util.c:1238
 #, fuzzy
 msgid "not an OpenPGP card"
 msgstr "nenájdené žiadne platné dáta vo formáte OpenPGP.\n"
 
-#: g10/card-util.c:1250 g10/keygen.c:4486 g10/keygen.c:5565
+#: g10/card-util.c:1251 g10/keygen.c:4486 g10/keygen.c:5565
 #, fuzzy, c-format
 msgid "error getting current key info: %s\n"
 msgstr "chyba pri zápise do súboru tajných kľúčov `%s': %s\n"
 
-#: g10/card-util.c:1335
+#: g10/card-util.c:1336
 msgid "Replace existing key? (y/N) "
 msgstr ""
 
-#: g10/card-util.c:1352
+#: g10/card-util.c:1353
 msgid ""
 "Note: There is no guarantee that the card supports the requested size.\n"
 "      If the key generation does not succeed, please check the\n"
 "      documentation of your card to see what sizes are allowed.\n"
 msgstr ""
 
-#: g10/card-util.c:1374 g10/keygen.c:2363 sm/certreqgen-ui.c:179
+#: g10/card-util.c:1375 g10/keygen.c:2363 sm/certreqgen-ui.c:179
 #, fuzzy, c-format
 msgid "What keysize do you want? (%u) "
 msgstr "Akú veľkosť kľúča si prajete? (1024) "
 
-#: g10/card-util.c:1384 g10/keygen.c:2286 g10/keygen.c:2318
+#: g10/card-util.c:1385 g10/keygen.c:2286 g10/keygen.c:2318
 #: sm/certreqgen-ui.c:194
 #, c-format
 msgid "rounded up to %u bits\n"
 msgstr "zaokrúhlené na %u bitov\n"
 
-#: g10/card-util.c:1392 g10/keygen.c:2371 sm/certreqgen-ui.c:184
+#: g10/card-util.c:1393 g10/keygen.c:2371 sm/certreqgen-ui.c:184
 #, c-format
 msgid "%s keysizes must be in the range %u-%u\n"
 msgstr ""
 
-#: g10/card-util.c:1411
+#: g10/card-util.c:1412
 msgid "Changing card key attribute for: "
 msgstr ""
 
-#: g10/card-util.c:1413
+#: g10/card-util.c:1414
 #, fuzzy
 msgid "Signature key\n"
 msgstr "Platnosť podpisu vypršala %s\n"
 
-#: g10/card-util.c:1415
+#: g10/card-util.c:1416
 #, fuzzy
 msgid "Encryption key\n"
 msgstr "   (%d) RSA (len na šifrovanie)\n"
 
-#: g10/card-util.c:1417
+#: g10/card-util.c:1418
 msgid "Authentication key\n"
 msgstr ""
 
-#: g10/card-util.c:1419 g10/keygen.c:1926 sm/certreqgen-ui.c:157
+#: g10/card-util.c:1420 g10/keygen.c:1926 sm/certreqgen-ui.c:157
 msgid "Please select what kind of key you want:\n"
 msgstr "Prosím, vyberte druh kľúča, ktorý chcete:\n"
 
-#: g10/card-util.c:1420 sm/certreqgen-ui.c:158
+#: g10/card-util.c:1421 sm/certreqgen-ui.c:158
 #, fuzzy, c-format
 msgid "   (%d) RSA\n"
 msgstr "   (%d) RSA (len na podpis)\n"
 
-#: g10/card-util.c:1421
+#: g10/card-util.c:1422
 #, fuzzy, c-format
 msgid "   (%d) ECC\n"
 msgstr "   (%d) DSA a ElGamal (implicitný)\n"
 
-#: g10/card-util.c:1433 g10/card-util.c:1700 g10/card-util.c:1800
-#: g10/keyedit.c:899 g10/keygen.c:1834 g10/keygen.c:1862 g10/keygen.c:1987
+#: g10/card-util.c:1434 g10/card-util.c:1701 g10/card-util.c:1801
+#: g10/keyedit.c:900 g10/keygen.c:1834 g10/keygen.c:1862 g10/keygen.c:1987
 #: g10/keygen.c:2222 g10/keygen.c:2505 g10/revoke.c:838
 msgid "Invalid selection.\n"
 msgstr "Neplatný výber.\n"
 
-#: g10/card-util.c:1506
+#: g10/card-util.c:1507
 #, c-format
 msgid "The card will now be re-configured to generate a key of %u bits\n"
 msgstr ""
 
-#: g10/card-util.c:1511
+#: g10/card-util.c:1512
 #, c-format
 msgid "The card will now be re-configured to generate a key of type: %s\n"
 msgstr ""
 
-#: g10/card-util.c:1547
+#: g10/card-util.c:1548
 #, fuzzy, c-format
 msgid "error changing key attribute for key %d: %s\n"
 msgstr "chyba pri posielaní na `%s': %s\n"
 
-#: g10/card-util.c:1563 g10/card-util.c:2090
+#: g10/card-util.c:1564 g10/card-util.c:2091
 #, fuzzy, c-format
 msgid "error getting card info: %s\n"
 msgstr "chyba pri zápise do súboru tajných kľúčov `%s': %s\n"
 
-#: g10/card-util.c:1569 g10/card-util.c:1914 g10/card-util.c:2096
+#: g10/card-util.c:1570 g10/card-util.c:1915 g10/card-util.c:2097
 #, fuzzy, c-format
 #| msgid "This command is not allowed while in %s mode.\n"
 msgid "This command is not supported by this card\n"
 msgstr "Tento príkaz nie je v módoch %s dovolený.\n"
 
-#: g10/card-util.c:1615
+#: g10/card-util.c:1616
 msgid "Make off-card backup of encryption key? (Y/n) "
 msgstr ""
 
-#: g10/card-util.c:1629
+#: g10/card-util.c:1630
 #, fuzzy, c-format
 msgid "Note: keys are already stored on the card!\n"
 msgstr "preskočené: tajný kľúč je už v databáze\n"
 
-#: g10/card-util.c:1632
+#: g10/card-util.c:1633
 msgid "Replace existing keys? (y/N) "
 msgstr ""
 
-#: g10/card-util.c:1644
+#: g10/card-util.c:1645
 #, c-format
 msgid ""
 "Please note that the factory settings of the PINs are\n"
@@ -2016,160 +2034,160 @@ msgid ""
 "You should change them using the command --change-pin\n"
 msgstr ""
 
-#: g10/card-util.c:1679
+#: g10/card-util.c:1680
 #, fuzzy
 msgid "Please select the type of key to generate:\n"
 msgstr "Prosím, vyberte druh kľúča, ktorý chcete:\n"
 
-#: g10/card-util.c:1681 g10/card-util.c:1771
+#: g10/card-util.c:1682 g10/card-util.c:1772
 #, fuzzy
 msgid "   (1) Signature key\n"
 msgstr "Platnosť podpisu vypršala %s\n"
 
-#: g10/card-util.c:1682 g10/card-util.c:1773
+#: g10/card-util.c:1683 g10/card-util.c:1774
 #, fuzzy
 msgid "   (2) Encryption key\n"
 msgstr "   (%d) RSA (len na šifrovanie)\n"
 
-#: g10/card-util.c:1683 g10/card-util.c:1775
+#: g10/card-util.c:1684 g10/card-util.c:1776
 msgid "   (3) Authentication key\n"
 msgstr ""
 
-#: g10/card-util.c:1768
+#: g10/card-util.c:1769
 #, fuzzy
 msgid "Please select where to store the key:\n"
 msgstr "Prosím výberte dôvod na revokáciu:\n"
 
-#: g10/card-util.c:1814
+#: g10/card-util.c:1815
 #, fuzzy, c-format
 msgid "KEYTOCARD failed: %s\n"
 msgstr "aktualizácia zlyhala: %s\n"
 
-#: g10/card-util.c:1919
+#: g10/card-util.c:1920
 #, fuzzy, c-format
 msgid "Note: This command destroys all keys stored on the card!\n"
 msgstr "preskočené: tajný kľúč je už v databáze\n"
 
-#: g10/card-util.c:1922
+#: g10/card-util.c:1923
 #, fuzzy
 msgid "Continue? (y/N) "
 msgstr "Skutočne podpísať? "
 
-#: g10/card-util.c:1927
+#: g10/card-util.c:1928
 msgid "Really do a factory reset? (enter \"yes\") "
 msgstr ""
 
-#: g10/card-util.c:2113
+#: g10/card-util.c:2114
 #, fuzzy, c-format
 msgid "error for setup KDF: %s\n"
 msgstr "chyba pri čítaní `%s': %s\n"
 
-#: g10/card-util.c:2142 g10/keyedit.c:1259
+#: g10/card-util.c:2143 g10/keyedit.c:1260
 msgid "quit this menu"
 msgstr "ukončiť toto menu"
 
-#: g10/card-util.c:2144
+#: g10/card-util.c:2145
 #, fuzzy
 msgid "show admin commands"
 msgstr "konfliktné príkazy\n"
 
-#: g10/card-util.c:2145 g10/keyedit.c:1262
+#: g10/card-util.c:2146 g10/keyedit.c:1263
 msgid "show this help"
 msgstr "ukázať túto pomoc"
 
-#: g10/card-util.c:2147
+#: g10/card-util.c:2148
 #, fuzzy
 msgid "list all available data"
 msgstr "Kľúč k dispozícii na: "
 
-#: g10/card-util.c:2150
+#: g10/card-util.c:2151
 msgid "change card holder's name"
 msgstr ""
 
-#: g10/card-util.c:2151
+#: g10/card-util.c:2152
 msgid "change URL to retrieve key"
 msgstr ""
 
-#: g10/card-util.c:2152
+#: g10/card-util.c:2153
 msgid "fetch the key specified in the card URL"
 msgstr ""
 
-#: g10/card-util.c:2153
+#: g10/card-util.c:2154
 #, fuzzy
 msgid "change the login name"
 msgstr "zmeniť dobu platnosti"
 
-#: g10/card-util.c:2154
+#: g10/card-util.c:2155
 #, fuzzy
 msgid "change the language preferences"
 msgstr "zmeniť dôveryhodnosť vlastníka kľúča"
 
-#: g10/card-util.c:2155
+#: g10/card-util.c:2156
 msgid "change card holder's salutation"
 msgstr ""
 
-#: g10/card-util.c:2157
+#: g10/card-util.c:2158
 #, fuzzy
 msgid "change a CA fingerprint"
 msgstr "vypísať fingerprint"
 
-#: g10/card-util.c:2158
+#: g10/card-util.c:2159
 msgid "toggle the signature force PIN flag"
 msgstr ""
 
-#: g10/card-util.c:2159
+#: g10/card-util.c:2160
 #, fuzzy
 msgid "generate new keys"
 msgstr "vytvoriť nový pár kľúčov"
 
-#: g10/card-util.c:2160
+#: g10/card-util.c:2161
 msgid "menu to change or unblock the PIN"
 msgstr ""
 
-#: g10/card-util.c:2161
+#: g10/card-util.c:2162
 msgid "verify the PIN and list all data"
 msgstr ""
 
-#: g10/card-util.c:2162
+#: g10/card-util.c:2163
 msgid "unblock the PIN using a Reset Code"
 msgstr ""
 
-#: g10/card-util.c:2163
+#: g10/card-util.c:2164
 msgid "destroy all keys and data"
 msgstr ""
 
-#: g10/card-util.c:2164
+#: g10/card-util.c:2165
 #, fuzzy
 #| msgid "|NAME|use NAME as default recipient"
 msgid "setup KDF for PIN authentication"
 msgstr "|MENO|použiť MENO ako implicitného adresáta"
 
-#: g10/card-util.c:2165
+#: g10/card-util.c:2166
 #, fuzzy
 #| msgid "change the ownertrust"
 msgid "change the key attribute"
 msgstr "zmeniť dôveryhodnosť vlastníka kľúča"
 
-#: g10/card-util.c:2289
+#: g10/card-util.c:2290
 msgid "gpg/card> "
 msgstr ""
 
-#: g10/card-util.c:2330
+#: g10/card-util.c:2331
 #, fuzzy
 msgid "Admin-only command\n"
 msgstr "konfliktné príkazy\n"
 
-#: g10/card-util.c:2361
+#: g10/card-util.c:2362
 #, fuzzy
 msgid "Admin commands are allowed\n"
 msgstr "konfliktné príkazy\n"
 
-#: g10/card-util.c:2363
+#: g10/card-util.c:2364
 #, fuzzy
 msgid "Admin commands are not allowed\n"
 msgstr "zapisujem tajný kľúč do `%s'\n"
 
-#: g10/card-util.c:2466 g10/keyedit.c:2228
+#: g10/card-util.c:2467 g10/keyedit.c:2229
 msgid "Invalid command  (try \"help\")\n"
 msgstr "Neplatný príkaz (skúste \"help\")\n"
 
@@ -2178,22 +2196,22 @@ msgstr "Neplatný príkaz (skúste \"help\")\n"
 msgid "--output doesn't work for this command\n"
 msgstr "--output pre tento príkaz nefunguje\n"
 
-#: g10/decrypt.c:247 g10/gpg.c:5083 g10/keyring.c:399 g10/keyring.c:750
+#: g10/decrypt.c:247 g10/gpg.c:5104 g10/keyring.c:399 g10/keyring.c:750
 #, fuzzy, c-format
 #| msgid "can't open `%s'\n"
 msgid "can't open '%s'\n"
 msgstr "nemožno otvoriť `%s'\n"
 
 #: g10/delkey.c:83 g10/export.c:1947 g10/export.c:2230 g10/export.c:2351
-#: g10/getkey.c:1964 g10/gpg.c:5028 g10/keyedit.c:1444 g10/keyedit.c:2334
-#: g10/keyedit.c:2580 g10/keyedit.c:4543 g10/keylist.c:689 g10/keyserver.c:1259
+#: g10/getkey.c:2108 g10/gpg.c:5049 g10/keyedit.c:1445 g10/keyedit.c:2335
+#: g10/keyedit.c:2581 g10/keyedit.c:4544 g10/keylist.c:689 g10/keyserver.c:1092
 #: g10/revoke.c:230 g10/tofu.c:2165
 #, fuzzy, c-format
 msgid "key \"%s\" not found: %s\n"
 msgstr "kľúč `%s' nebol nájdený: %s\n"
 
-#: g10/delkey.c:92 g10/export.c:2015 g10/getkey.c:1972 g10/getkey.c:4346
-#: g10/gpg.c:5037 g10/keyedit.c:2307 g10/keyserver.c:1277 g10/revoke.c:236
+#: g10/delkey.c:92 g10/export.c:2015 g10/getkey.c:2116 g10/getkey.c:4517
+#: g10/gpg.c:5058 g10/keyedit.c:2308 g10/keyserver.c:1110 g10/revoke.c:236
 #: g10/revoke.c:663 g10/tofu.c:2173
 #, c-format
 msgid "error reading keyblock: %s\n"
@@ -2255,9 +2273,9 @@ msgstr "key"
 msgid "subkey"
 msgstr "Verejné kľúče: "
 
-#: g10/delkey.c:299 g10/keyedit.c:2200 g10/keyedit.c:2210 g10/keyedit.c:2387
-#: g10/keyedit.c:2461 g10/keyedit.c:2532 g10/keyedit.c:2757 g10/keyedit.c:2987
-#: g10/keyedit.c:3056 g10/keyedit.c:3207
+#: g10/delkey.c:299 g10/keyedit.c:2201 g10/keyedit.c:2211 g10/keyedit.c:2388
+#: g10/keyedit.c:2462 g10/keyedit.c:2533 g10/keyedit.c:2758 g10/keyedit.c:2988
+#: g10/keyedit.c:3057 g10/keyedit.c:3208
 #, c-format
 msgid "update failed: %s\n"
 msgstr "aktualizácia zlyhala: %s\n"
@@ -2282,7 +2300,7 @@ msgstr "existuje tajný kľúč pre tento verejný kľúč \"%s\"!\n"
 msgid "use option \"--delete-secret-keys\" to delete it first.\n"
 msgstr "aby ste ho zmazali, použite najprv prepínač \"--delete-secret-key\".\n"
 
-#: g10/encrypt.c:202 g10/sign.c:1471
+#: g10/encrypt.c:202 g10/sign.c:1470
 #, c-format
 msgid "error creating passphrase: %s\n"
 msgstr "chyba pri vytváraní hesla: %s\n"
@@ -2309,14 +2327,14 @@ msgstr "`%s' je už skomprimovaný\n"
 msgid "WARNING: '%s' is an empty file\n"
 msgstr "VAROVANIE: súbor `%s' je prázdny\n"
 
-#: g10/encrypt.c:387 g10/encrypt.c:610 g10/decrypt-data.c:260 g10/gpg.c:3901
-#: g10/gpg.c:3941 sm/decrypt.c:364 sm/encrypt.c:415 sm/gpgsm.c:1655
+#: g10/encrypt.c:387 g10/encrypt.c:610 g10/decrypt-data.c:260 g10/gpg.c:3922
+#: g10/gpg.c:3962 sm/decrypt.c:826 sm/encrypt.c:416 sm/gpgsm.c:1555
 #, fuzzy, c-format
 msgid "cipher algorithm '%s' may not be used in %s mode\n"
 msgstr "nemôžete použiť šifrovací algoritmus \"%s\" v móde %s\n"
 
-#: g10/encrypt.c:396 g10/gpg.c:3907 g10/gpg.c:3953 g10/sig-check.c:146
-#: g10/sign.c:391 sm/gpgsm.c:1665 sm/gpgsm.c:1675 sm/sign.c:478 sm/verify.c:506
+#: g10/encrypt.c:396 g10/gpg.c:3928 g10/gpg.c:3974 g10/sig-check.c:146
+#: g10/sign.c:391 sm/gpgsm.c:1565 sm/gpgsm.c:1575 sm/sign.c:478 sm/verify.c:506
 #, fuzzy, c-format
 msgid "digest algorithm '%s' may not be used in %s mode\n"
 msgstr "nemôžete použiť hashovací algoritmus \"%s\" v móde %s\n"
@@ -2333,12 +2351,12 @@ msgid ""
 "WARNING: forcing symmetric cipher %s (%d) violates recipient preferences\n"
 msgstr "vyžiadaná symetrická šifra %s (%d) nevyhovuje predvoľbám príjemcu\n"
 
-#: g10/encrypt.c:640 sm/encrypt.c:490
+#: g10/encrypt.c:640 sm/encrypt.c:491
 #, fuzzy, c-format
 msgid "WARNING: key %s is not suitable for encryption in %s mode\n"
 msgstr "VAROVÁNÍ: použitie parametra \"%s\" sa neodporúča\n"
 
-#: g10/encrypt.c:751 g10/sign.c:1163
+#: g10/encrypt.c:751 g10/sign.c:1162
 #, fuzzy, c-format
 msgid ""
 "WARNING: forcing compression algorithm %s (%d) violates recipient "
@@ -2369,12 +2387,12 @@ msgstr ""
 msgid "%s encrypted data\n"
 msgstr "%s zašifrované dáta\n"
 
-#: g10/decrypt-data.c:243 g10/mainproc.c:396
+#: g10/decrypt-data.c:243 g10/mainproc.c:397
 #, c-format
 msgid "encrypted with unknown algorithm %d\n"
 msgstr "zašifrované neznámym algoritmom %d\n"
 
-#: g10/decrypt-data.c:357 g10/decrypt-data.c:410 sm/decrypt.c:130
+#: g10/decrypt-data.c:357 g10/decrypt-data.c:410 sm/decrypt.c:550
 #, c-format
 msgid ""
 "WARNING: message was encrypted with a weak key in the symmetric cipher.\n"
@@ -2391,7 +2409,7 @@ msgstr "problém so zašifrovaným paketom\n"
 msgid "no remote program execution supported\n"
 msgstr "žiadne vzialené vykonávanie programu nie je podporované\n"
 
-#: g10/exec.c:381
+#: g10/exec.c:389
 #, c-format
 msgid ""
 "external program calls are disabled due to unsafe options file permissions\n"
@@ -2399,49 +2417,49 @@ msgstr ""
 "volanie externého programu zrušené kvôli nebezpečným právam súboru "
 "nastavení\n"
 
-#: g10/exec.c:411
+#: g10/exec.c:419
 #, fuzzy, c-format
 msgid "this platform requires temporary files when calling external programs\n"
 msgstr ""
 "táto platforma potrebuje dočasné súbory na spustenie externého programu\n"
 
-#: g10/exec.c:489
+#: g10/exec.c:497
 #, fuzzy, c-format
 msgid "unable to execute program '%s': %s\n"
 msgstr "nemožno spustiť %s \"%s\": %s\n"
 
-#: g10/exec.c:492
+#: g10/exec.c:500
 #, fuzzy, c-format
 msgid "unable to execute shell '%s': %s\n"
 msgstr "nemožno spustiť %s \"%s\": %s\n"
 
-#: g10/exec.c:583
+#: g10/exec.c:591
 #, c-format
 msgid "system error while calling external program: %s\n"
 msgstr "systémová chyba pri volaní externého programu: %s\n"
 
-#: g10/exec.c:594 g10/exec.c:661
+#: g10/exec.c:602 g10/exec.c:669
 #, c-format
 msgid "unnatural exit of external program\n"
 msgstr "nekorektné ukončenie externého programu\n"
 
-#: g10/exec.c:609
+#: g10/exec.c:617
 #, c-format
 msgid "unable to execute external program\n"
 msgstr "nemožno spustiť externý program\n"
 
-#: g10/exec.c:626
+#: g10/exec.c:634
 #, c-format
 msgid "unable to read external program response: %s\n"
 msgstr "nemožno cítať odozvu externého programu: %s\n"
 
-#: g10/exec.c:672 g10/exec.c:679
+#: g10/exec.c:680 g10/exec.c:687
 #, fuzzy, c-format
 #| msgid "WARNING: unable to remove tempfile (%s) `%s': %s\n"
 msgid "WARNING: unable to remove tempfile (%s) '%s': %s\n"
 msgstr "VAROVANIE: nemôžem vymazať dočasný súbor (%s) `%s': %s\n"
 
-#: g10/exec.c:684
+#: g10/exec.c:692
 #, fuzzy, c-format
 #| msgid "WARNING: unable to remove temp directory `%s': %s\n"
 msgid "WARNING: unable to remove temp directory '%s': %s\n"
@@ -2482,8 +2500,8 @@ msgstr ""
 msgid " - skipped"
 msgstr "%s: preskočené: %s\n"
 
-#: g10/export.c:1324 g10/import.c:2073 g10/openfile.c:200 g10/openfile.c:294
-#: g10/sign.c:1013 g10/sign.c:1327
+#: g10/export.c:1324 g10/import.c:2085 g10/openfile.c:200 g10/openfile.c:294
+#: g10/sign.c:1012 g10/sign.c:1326
 #, fuzzy, c-format
 #| msgid "writing to `%s'\n"
 msgid "writing to '%s'\n"
@@ -2521,298 +2539,298 @@ msgstr "chyba pri vytváraní `%s': %s\n"
 msgid "[User ID not found]"
 msgstr "[User id not found]"
 
-#: g10/getkey.c:1297
+#: g10/getkey.c:1441
 #, fuzzy, c-format
 msgid "automatically retrieved '%s' via %s\n"
 msgstr "chyba pri vytváraní `%s': %s\n"
 
-#: g10/getkey.c:1303
+#: g10/getkey.c:1447
 #, fuzzy, c-format
 msgid "error retrieving '%s' via %s: %s\n"
 msgstr "chyba pri vytváraní `%s': %s\n"
 
-#: g10/getkey.c:1305
+#: g10/getkey.c:1449
 #, fuzzy
 msgid "No fingerprint"
 msgstr "vypísať fingerprint"
 
-#: g10/getkey.c:1526
+#: g10/getkey.c:1670
 #, c-format
 msgid "checking for a fresh copy of an expired key via %s\n"
 msgstr ""
 
-#: g10/getkey.c:1941 g10/revoke.c:655 g10/revoke.c:720
+#: g10/getkey.c:2085 g10/revoke.c:655 g10/revoke.c:720
 #, fuzzy, c-format
 msgid "secret key \"%s\" not found: %s\n"
 msgstr "tajný kľúč `%s' nebol nájdený: %s\n"
 
-#: g10/getkey.c:1944 g10/pkclist.c:988
+#: g10/getkey.c:2088 g10/pkclist.c:988
 #, fuzzy, c-format
 msgid "(check argument of option '%s')\n"
 msgstr "neplatný parameter pre import\n"
 
-#: g10/getkey.c:2020
+#: g10/getkey.c:2164
 #, fuzzy, c-format
 #| msgid "|NAME|use NAME as default secret key"
 msgid "Warning: not using '%s' as default key: %s\n"
 msgstr "|MENO|použi MENO ako implicitný tajný kľúč"
 
-#: g10/getkey.c:2028
+#: g10/getkey.c:2172
 #, fuzzy, c-format
 #| msgid "|NAME|use NAME as default secret key"
 msgid "using \"%s\" as default secret key for signing\n"
 msgstr "|MENO|použi MENO ako implicitný tajný kľúč"
 
-#: g10/getkey.c:2035
+#: g10/getkey.c:2179
 #, c-format
 msgid "all values passed to '%s' ignored\n"
 msgstr ""
 
 # c-format
-#: g10/getkey.c:2880
+#: g10/getkey.c:3024
 #, fuzzy, c-format
 msgid "Invalid key %s made valid by --allow-non-selfsigned-uid\n"
 msgstr ""
 "Neplatný kľúč %08lX zmenený na platný pomocou --always-non-selfsigned-uid\n"
 
-#: g10/getkey.c:3730
+#: g10/getkey.c:3874
 #, fuzzy, c-format
 msgid "using subkey %s instead of primary key %s\n"
 msgstr "používam sekundárny kľúč %08lX namiesto primárneho kľúča %08lX\n"
 
-#: g10/getkey.c:4275 g10/gpg.c:2107
+#: g10/getkey.c:4446 g10/gpg.c:2120
 #, fuzzy, c-format
 msgid "valid values for option '%s':\n"
 msgstr "neplatný parameter pre import\n"
 
-#: g10/gpg.c:442 sm/gpgsm.c:206
+#: g10/gpg.c:439 sm/gpgsm.c:207
 #, fuzzy
 msgid "make a signature"
 msgstr "vytvoriť podpis oddelený od dokumentu"
 
-#: g10/gpg.c:443
+#: g10/gpg.c:440
 #, fuzzy
 msgid "make a clear text signature"
 msgstr "|[súbor]|vytvoriť podpis v čitateľnom dokumente"
 
-#: g10/gpg.c:445 sm/gpgsm.c:208
+#: g10/gpg.c:442 sm/gpgsm.c:209
 msgid "make a detached signature"
 msgstr "vytvoriť podpis oddelený od dokumentu"
 
-#: g10/gpg.c:446 sm/gpgsm.c:209
+#: g10/gpg.c:443 sm/gpgsm.c:210
 msgid "encrypt data"
 msgstr "šifrovať dáta"
 
-#: g10/gpg.c:448
+#: g10/gpg.c:445
 msgid "encryption only with symmetric cipher"
 msgstr "šifrovanie len so symetrickou šifrou"
 
-#: g10/gpg.c:450 sm/gpgsm.c:211
+#: g10/gpg.c:447 sm/gpgsm.c:212
 msgid "decrypt data (default)"
 msgstr "dešifrovať dáta (implicitne)"
 
-#: g10/gpg.c:452 sm/gpgsm.c:212
+#: g10/gpg.c:449 sm/gpgsm.c:213
 msgid "verify a signature"
 msgstr "verifikovať podpis"
 
-#: g10/gpg.c:454 sm/gpgsm.c:213
+#: g10/gpg.c:451 sm/gpgsm.c:214
 msgid "list keys"
 msgstr "vypísať zoznam kľúčov"
 
-#: g10/gpg.c:456
+#: g10/gpg.c:453
 msgid "list keys and signatures"
 msgstr "vypísať zoznam kľúčov a podpisov"
 
-#: g10/gpg.c:459
+#: g10/gpg.c:456
 #, fuzzy
 msgid "list and check key signatures"
 msgstr "skontrolovať podpisy kľúčov"
 
-#: g10/gpg.c:461 sm/gpgsm.c:218
+#: g10/gpg.c:458 sm/gpgsm.c:219
 msgid "list keys and fingerprints"
 msgstr "vypísať zoznam kľúčov a fingerprintov"
 
-#: g10/gpg.c:462 sm/gpgsm.c:216
+#: g10/gpg.c:459 sm/gpgsm.c:217
 msgid "list secret keys"
 msgstr "vypísať zoznam tajných kľúčov"
 
-#: g10/gpg.c:464 sm/gpgsm.c:219
+#: g10/gpg.c:461 sm/gpgsm.c:220
 msgid "generate a new key pair"
 msgstr "vytvoriť nový pár kľúčov"
 
-#: g10/gpg.c:467
+#: g10/gpg.c:464
 #, fuzzy
 #| msgid "generate a new key pair"
 msgid "quickly generate a new key pair"
 msgstr "vytvoriť nový pár kľúčov"
 
-#: g10/gpg.c:470
+#: g10/gpg.c:467
 #, fuzzy
 #| msgid "generate a new key pair"
 msgid "quickly add a new user-id"
 msgstr "vytvoriť nový pár kľúčov"
 
-#: g10/gpg.c:475
+#: g10/gpg.c:472
 #, fuzzy
 #| msgid "generate a new key pair"
 msgid "quickly revoke a user-id"
 msgstr "vytvoriť nový pár kľúčov"
 
-#: g10/gpg.c:478
+#: g10/gpg.c:475
 #, fuzzy
 #| msgid "generate a new key pair"
 msgid "quickly set a new expiration date"
 msgstr "vytvoriť nový pár kľúčov"
 
-#: g10/gpg.c:481
+#: g10/gpg.c:478
 msgid "full featured key pair generation"
 msgstr ""
 
-#: g10/gpg.c:484
+#: g10/gpg.c:481
 msgid "generate a revocation certificate"
 msgstr "vytvoriť revokačný certifikát"
 
-#: g10/gpg.c:487 sm/gpgsm.c:222
+#: g10/gpg.c:484 sm/gpgsm.c:223
 msgid "remove keys from the public keyring"
 msgstr "odstrániť kľúč zo súboru verejných kľúčov"
 
-#: g10/gpg.c:489
+#: g10/gpg.c:486
 msgid "remove keys from the secret keyring"
 msgstr "odstrániť kľúč zo súboru tajných kľúčov"
 
-#: g10/gpg.c:491
+#: g10/gpg.c:488
 #, fuzzy
 #| msgid "sign a key"
 msgid "quickly sign a key"
 msgstr "podpísať kľúč"
 
-#: g10/gpg.c:493
+#: g10/gpg.c:490
 #, fuzzy
 #| msgid "sign a key locally"
 msgid "quickly sign a key locally"
 msgstr "podpísať kľúč lokálne"
 
-#: g10/gpg.c:495
+#: g10/gpg.c:492
 #, fuzzy
 #| msgid "generate a new key pair"
 msgid "quickly revoke a key signature"
 msgstr "vytvoriť nový pár kľúčov"
 
-#: g10/gpg.c:496
+#: g10/gpg.c:493
 msgid "sign a key"
 msgstr "podpísať kľúč"
 
-#: g10/gpg.c:497
+#: g10/gpg.c:494
 msgid "sign a key locally"
 msgstr "podpísať kľúč lokálne"
 
-#: g10/gpg.c:498
+#: g10/gpg.c:495
 msgid "sign or edit a key"
 msgstr "podpísať alebo modifikovať kľúč"
 
-#: g10/gpg.c:500 sm/gpgsm.c:240
+#: g10/gpg.c:497 sm/gpgsm.c:241
 #, fuzzy
 msgid "change a passphrase"
 msgstr "zmeniť heslo"
 
-#: g10/gpg.c:504
+#: g10/gpg.c:501
 msgid "export keys"
 msgstr "exportovať kľúče"
 
-#: g10/gpg.c:505
+#: g10/gpg.c:502
 msgid "export keys to a keyserver"
 msgstr "exportovať kľúče na server kľúčov"
 
-#: g10/gpg.c:506
+#: g10/gpg.c:503
 msgid "import keys from a keyserver"
 msgstr "importovať kľúče zo servera kľúčov"
 
-#: g10/gpg.c:509
+#: g10/gpg.c:506
 msgid "search for keys on a keyserver"
 msgstr "vyhľadať kľúče na serveri kľúčov"
 
-#: g10/gpg.c:511
+#: g10/gpg.c:508
 msgid "update all keys from a keyserver"
 msgstr "aktualizovať všetky kľúče zo servera kľúčov"
 
-#: g10/gpg.c:519
+#: g10/gpg.c:516
 msgid "import/merge keys"
 msgstr "importovať/zlúčiť kľúče"
 
-#: g10/gpg.c:522
+#: g10/gpg.c:519
 msgid "print the card status"
 msgstr ""
 
-#: g10/gpg.c:523
+#: g10/gpg.c:520
 msgid "change data on a card"
 msgstr ""
 
-#: g10/gpg.c:525
+#: g10/gpg.c:522
 msgid "change a card's PIN"
 msgstr ""
 
-#: g10/gpg.c:537
+#: g10/gpg.c:534
 msgid "update the trust database"
 msgstr "aktualizovať databázu dôvery"
 
-#: g10/gpg.c:546
+#: g10/gpg.c:543
 #, fuzzy
 msgid "print message digests"
 msgstr "|algo [súbory]|vypíš hash"
 
-#: g10/gpg.c:549 sm/gpgsm.c:235
+#: g10/gpg.c:546 sm/gpgsm.c:236
 msgid "run in server mode"
 msgstr ""
 
-#: g10/gpg.c:551
+#: g10/gpg.c:548
 msgid "|VALUE|set the TOFU policy for a key"
 msgstr ""
 
-#: g10/gpg.c:555 sm/gpgsm.c:254
+#: g10/gpg.c:552 sm/gpgsm.c:255
 msgid "create ascii armored output"
 msgstr "vytvor výstup zakódovaný pomocou ASCII"
 
-#: g10/gpg.c:558 sm/gpgsm.c:271
+#: g10/gpg.c:555 sm/gpgsm.c:272
 #, fuzzy
 msgid "|USER-ID|encrypt for USER-ID"
 msgstr "|MENO|šifrovať pre MENO"
 
-#: g10/gpg.c:574 sm/gpgsm.c:307
+#: g10/gpg.c:571 sm/gpgsm.c:308
 #, fuzzy
 msgid "|USER-ID|use USER-ID to sign or decrypt"
 msgstr ""
 "použiť toto id užívateľa na podpísanie\n"
 " alebo dešifrovanie"
 
-#: g10/gpg.c:580
+#: g10/gpg.c:577
 #, fuzzy
 msgid "|N|set compress level to N (0 disables)"
 msgstr ""
 "|N|nastaviť úroveň komprimácie N (0 - žiadna\n"
 " komprimácia)"
 
-#: g10/gpg.c:587
+#: g10/gpg.c:584
 msgid "use canonical text mode"
 msgstr "použiť kánonický textový mód"
 
-#: g10/gpg.c:604 g10/gpgv.c:82 sm/gpgsm.c:309
+#: g10/gpg.c:601 g10/gpgv.c:82 sm/gpgsm.c:310
 #, fuzzy
 msgid "|FILE|write output to FILE"
 msgstr "|SÚBOR|nahrať rozširujúci modul SÚBOR"
 
-#: g10/gpg.c:614 kbx/kbxutil.c:90 sm/gpgsm.c:321 tools/gpgconf.c:110
+#: g10/gpg.c:611 kbx/kbxutil.c:90 sm/gpgsm.c:322 tools/gpgconf.c:110
 msgid "do not make any changes"
 msgstr "nevykonať žiadne zmeny"
 
-#: g10/gpg.c:615
+#: g10/gpg.c:612
 msgid "prompt before overwriting"
 msgstr "vyžiadať potvrdenie pred prepísaním"
 
-#: g10/gpg.c:665
+#: g10/gpg.c:662
 msgid "use strict OpenPGP behavior"
 msgstr ""
 
-#: g10/gpg.c:692 sm/gpgsm.c:364
+#: g10/gpg.c:689 sm/gpgsm.c:367
 msgid ""
 "@\n"
 "(See the man page for a complete listing of all commands and options)\n"
@@ -2821,7 +2839,7 @@ msgstr ""
 "(Použite manuálové stránky pre kompletný zoznam všetkých príkazov a "
 "možností)\n"
 
-#: g10/gpg.c:695
+#: g10/gpg.c:692
 #, fuzzy
 #| msgid ""
 #| "@\n"
@@ -2851,13 +2869,13 @@ msgstr ""
 " --list-keys [mená]        vypísať kľúče\n"
 " --fingerprint [mená]      vypísať fingerprinty\n"
 
-#: g10/gpg.c:1092
+#: g10/gpg.c:1096
 #, fuzzy
 #| msgid "Usage: gpg [options] [files] (-h for help)"
 msgid "Usage: @GPG@ [options] [files] (-h for help)"
 msgstr "Použitie: gpg [možnosti] [súbory] (-h pre pomoc)"
 
-#: g10/gpg.c:1095
+#: g10/gpg.c:1099
 #, fuzzy
 #| msgid ""
 #| "Syntax: gpg [options] [files]\n"
@@ -2872,7 +2890,7 @@ msgstr ""
 "podpísať, overiť, šifrovať alebo dešifrovať\n"
 "implicitné operácie závisia od vstupných dát\n"
 
-#: g10/gpg.c:1106 sm/gpgsm.c:591
+#: g10/gpg.c:1110 sm/gpgsm.c:594
 msgid ""
 "\n"
 "Supported algorithms:\n"
@@ -2880,553 +2898,553 @@ msgstr ""
 "\n"
 "Podporované algoritmy:\n"
 
-#: g10/gpg.c:1109
+#: g10/gpg.c:1113
 msgid "Pubkey: "
 msgstr "Verejné kľúče: "
 
-#: g10/gpg.c:1116 g10/keyedit.c:3281
+#: g10/gpg.c:1120 g10/keyedit.c:3282
 msgid "Cipher: "
 msgstr "Šifry: "
 
-#: g10/gpg.c:1123
+#: g10/gpg.c:1127
 msgid "Hash: "
 msgstr "Hash: "
 
-#: g10/gpg.c:1130 g10/keyedit.c:3347
+#: g10/gpg.c:1134 g10/keyedit.c:3348
 msgid "Compression: "
 msgstr "Kompresia: "
 
-#: g10/gpg.c:1199 sm/gpgsm.c:665
+#: g10/gpg.c:1207 sm/gpgsm.c:668
 #, fuzzy, c-format
 msgid "usage: %s [options] %s\n"
 msgstr "použitie: gpg [možnosti] "
 
-#: g10/gpg.c:1388 sm/gpgsm.c:754
+#: g10/gpg.c:1396 sm/gpgsm.c:761
 #, c-format
 msgid "conflicting commands\n"
 msgstr "konfliktné príkazy\n"
 
-#: g10/gpg.c:1406
+#: g10/gpg.c:1414
 #, fuzzy, c-format
 msgid "no = sign found in group definition '%s'\n"
 msgstr "no = podpis nájdený v definícii skupiny \"%s\"\n"
 
-#: g10/gpg.c:1604
+#: g10/gpg.c:1612
 #, fuzzy, c-format
 msgid "WARNING: unsafe ownership on homedir '%s'\n"
 msgstr "VAROVANIE: vlastníctvo pre %s nastavené nebezpečne \"%s\"\n"
 
-#: g10/gpg.c:1607
+#: g10/gpg.c:1615
 #, fuzzy, c-format
 msgid "WARNING: unsafe ownership on configuration file '%s'\n"
 msgstr "VAROVANIE: vlastníctvo pre %s nastavené nebezpečne \"%s\"\n"
 
-#: g10/gpg.c:1610
+#: g10/gpg.c:1618
 #, fuzzy, c-format
 msgid "WARNING: unsafe ownership on extension '%s'\n"
 msgstr "VAROVANIE: vlastníctvo pre %s nastavené nebezpečne \"%s\"\n"
 
-#: g10/gpg.c:1616
+#: g10/gpg.c:1624
 #, fuzzy, c-format
 msgid "WARNING: unsafe permissions on homedir '%s'\n"
 msgstr "VAROVANIE: prístupové práva pre %s nie sú nastavené bezpečne \"%s\"\n"
 
-#: g10/gpg.c:1619
+#: g10/gpg.c:1627
 #, fuzzy, c-format
 msgid "WARNING: unsafe permissions on configuration file '%s'\n"
 msgstr "VAROVANIE: prístupové práva pre %s nie sú nastavené bezpečne \"%s\"\n"
 
-#: g10/gpg.c:1622
+#: g10/gpg.c:1630
 #, fuzzy, c-format
 msgid "WARNING: unsafe permissions on extension '%s'\n"
 msgstr "VAROVANIE: prístupové práva pre %s nie sú nastavené bezpečne \"%s\"\n"
 
-#: g10/gpg.c:1628
+#: g10/gpg.c:1636
 #, fuzzy, c-format
 msgid "WARNING: unsafe enclosing directory ownership on homedir '%s'\n"
 msgstr "VAROVANIE: vlastníctvo adresára %s nastavené nebezpečne \"%s\"\n"
 
-#: g10/gpg.c:1631
+#: g10/gpg.c:1639
 #, fuzzy, c-format
 msgid ""
 "WARNING: unsafe enclosing directory ownership on configuration file '%s'\n"
 msgstr "VAROVANIE: vlastníctvo adresára %s nastavené nebezpečne \"%s\"\n"
 
-#: g10/gpg.c:1634
+#: g10/gpg.c:1642
 #, fuzzy, c-format
 msgid "WARNING: unsafe enclosing directory ownership on extension '%s'\n"
 msgstr "VAROVANIE: vlastníctvo adresára %s nastavené nebezpečne \"%s\"\n"
 
-#: g10/gpg.c:1640
+#: g10/gpg.c:1648
 #, fuzzy, c-format
 msgid "WARNING: unsafe enclosing directory permissions on homedir '%s'\n"
 msgstr ""
 "VAROVANIE: prístupové práva adresára %s nie sú nastavené bezpečne \"%s\"\n"
 
-#: g10/gpg.c:1643
+#: g10/gpg.c:1651
 #, fuzzy, c-format
 msgid ""
 "WARNING: unsafe enclosing directory permissions on configuration file '%s'\n"
 msgstr ""
 "VAROVANIE: prístupové práva adresára %s nie sú nastavené bezpečne \"%s\"\n"
 
-#: g10/gpg.c:1646
+#: g10/gpg.c:1654
 #, fuzzy, c-format
 msgid "WARNING: unsafe enclosing directory permissions on extension '%s'\n"
 msgstr ""
 "VAROVANIE: prístupové práva adresára %s nie sú nastavené bezpečne \"%s\"\n"
 
-#: g10/gpg.c:1862
+#: g10/gpg.c:1870
 #, fuzzy, c-format
 msgid "unknown configuration item '%s'\n"
 msgstr "neznáma položka konfigurácie \"%s\"\n"
 
-#: g10/gpg.c:1979
+#: g10/gpg.c:1992
 msgid "display photo IDs during key listings"
 msgstr ""
 
-#: g10/gpg.c:1981
+#: g10/gpg.c:1994
 #, fuzzy
 msgid "show key usage information during key listings"
 msgstr "V súbore tajných kľúčov chýba zodpovedajúci podpis\n"
 
-#: g10/gpg.c:1983
+#: g10/gpg.c:1996
 msgid "show policy URLs during signature listings"
 msgstr ""
 
-#: g10/gpg.c:1985
+#: g10/gpg.c:1998
 #, fuzzy
 msgid "show all notations during signature listings"
 msgstr "V súbore tajných kľúčov chýba zodpovedajúci podpis\n"
 
-#: g10/gpg.c:1987
+#: g10/gpg.c:2000
 msgid "show IETF standard notations during signature listings"
 msgstr ""
 
-#: g10/gpg.c:1991
+#: g10/gpg.c:2004
 msgid "show user-supplied notations during signature listings"
 msgstr ""
 
-#: g10/gpg.c:1993
+#: g10/gpg.c:2006
 #, fuzzy
 msgid "show preferred keyserver URLs during signature listings"
 msgstr "zadané URL pre podpisovú politiku je neplatné\n"
 
-#: g10/gpg.c:1995
+#: g10/gpg.c:2008
 msgid "show user ID validity during key listings"
 msgstr ""
 
-#: g10/gpg.c:1997
+#: g10/gpg.c:2010
 msgid "show revoked and expired user IDs in key listings"
 msgstr ""
 
-#: g10/gpg.c:1999
+#: g10/gpg.c:2012
 msgid "show revoked and expired subkeys in key listings"
 msgstr ""
 
-#: g10/gpg.c:2001
+#: g10/gpg.c:2014
 #, fuzzy
 msgid "show the keyring name in key listings"
 msgstr "ukáž v ktorom súbore kľúčov je vypísaný kľúč"
 
-#: g10/gpg.c:2003
+#: g10/gpg.c:2016
 #, fuzzy
 msgid "show expiration dates during signature listings"
 msgstr "V súbore tajných kľúčov chýba zodpovedajúci podpis\n"
 
-#: g10/gpg.c:2118
+#: g10/gpg.c:2131
 #, fuzzy, c-format
 msgid "unknown TOFU policy '%s'\n"
 msgstr "neznámy implicitný adresát `%s'\n"
 
-#: g10/gpg.c:2120
+#: g10/gpg.c:2133
 #, c-format
 msgid "(use \"help\" to list choices)\n"
 msgstr ""
 
-#: g10/gpg.c:2840 g10/gpg.c:3671 g10/gpg.c:3683
+#: g10/gpg.c:2856 g10/gpg.c:3691 g10/gpg.c:3703
 #, fuzzy, c-format
 #| msgid "NOTE: %s is not for normal use!\n"
 msgid "Note: %s is not for normal use!\n"
 msgstr "POZNÁMKA: %s nie je pre normálne použitie!\n"
 
-#: g10/gpg.c:3017 g10/gpg.c:3029
+#: g10/gpg.c:3033 g10/gpg.c:3045
 #, fuzzy, c-format
 msgid "'%s' is not a valid signature expiration\n"
 msgstr "%s nie je platná znaková sada\n"
 
-#: g10/gpg.c:3051
+#: g10/gpg.c:3067
 #, fuzzy, c-format
 msgid "\"%s\" is not a proper mail address\n"
 msgstr "Neplatná e-mailová adresa\n"
 
-#: g10/gpg.c:3083 sm/gpgsm.c:1177
+#: g10/gpg.c:3099 sm/gpgsm.c:1091
 #, fuzzy, c-format
 msgid "invalid pinentry mode '%s'\n"
 msgstr "neplatný hashovací algoritmus `%s'\n"
 
-#: g10/gpg.c:3089 sm/gpgsm.c:1183
+#: g10/gpg.c:3105 sm/gpgsm.c:1097
 #, fuzzy, c-format
 msgid "invalid request origin '%s'\n"
 msgstr "neplatný parameter pre import\n"
 
-#: g10/gpg.c:3143
+#: g10/gpg.c:3159
 #, fuzzy, c-format
 msgid "'%s' is not a valid character set\n"
 msgstr "%s nie je platná znaková sada\n"
 
-#: g10/gpg.c:3165 g10/gpg.c:3375 g10/keyedit.c:5281
+#: g10/gpg.c:3181 g10/gpg.c:3395 g10/keyedit.c:5282
 #, fuzzy, c-format
 msgid "could not parse keyserver URL\n"
 msgstr "nemožno použiť URI servera kľúčov - chyba analýzy URI\n"
 
-#: g10/gpg.c:3183
+#: g10/gpg.c:3199
 #, fuzzy, c-format
 msgid "%s:%d: invalid keyserver options\n"
 msgstr "%s:%d: neplatný parameter pre export\n"
 
-#: g10/gpg.c:3186
+#: g10/gpg.c:3202
 #, fuzzy, c-format
 msgid "invalid keyserver options\n"
 msgstr "neplatný parameter pre export\n"
 
-#: g10/gpg.c:3193
+#: g10/gpg.c:3209
 #, c-format
 msgid "%s:%d: invalid import options\n"
 msgstr "%s:%d: neplatný parameter pre import\n"
 
-#: g10/gpg.c:3196
+#: g10/gpg.c:3212
 #, c-format
 msgid "invalid import options\n"
 msgstr "neplatný parameter pre import\n"
 
-#: g10/gpg.c:3202 g10/gpg.c:3217
+#: g10/gpg.c:3218 g10/gpg.c:3233
 #, fuzzy, c-format
 msgid "invalid filter option: %s\n"
 msgstr "neplatný parameter pre import\n"
 
-#: g10/gpg.c:3208
+#: g10/gpg.c:3224
 #, c-format
 msgid "%s:%d: invalid export options\n"
 msgstr "%s:%d: neplatný parameter pre export\n"
 
-#: g10/gpg.c:3211
+#: g10/gpg.c:3227
 #, c-format
 msgid "invalid export options\n"
 msgstr "neplatný parameter pre export\n"
 
-#: g10/gpg.c:3223
+#: g10/gpg.c:3239
 #, fuzzy, c-format
 msgid "%s:%d: invalid list options\n"
 msgstr "%s:%d: neplatný parameter pre import\n"
 
-#: g10/gpg.c:3226
+#: g10/gpg.c:3242
 #, fuzzy, c-format
 msgid "invalid list options\n"
 msgstr "neplatný parameter pre import\n"
 
-#: g10/gpg.c:3234
+#: g10/gpg.c:3250
 msgid "display photo IDs during signature verification"
 msgstr ""
 
-#: g10/gpg.c:3236
+#: g10/gpg.c:3252
 msgid "show policy URLs during signature verification"
 msgstr ""
 
-#: g10/gpg.c:3238
+#: g10/gpg.c:3254
 #, fuzzy
 msgid "show all notations during signature verification"
 msgstr "%s nie je platná znaková sada\n"
 
-#: g10/gpg.c:3240
+#: g10/gpg.c:3256
 msgid "show IETF standard notations during signature verification"
 msgstr ""
 
-#: g10/gpg.c:3244
+#: g10/gpg.c:3260
 msgid "show user-supplied notations during signature verification"
 msgstr ""
 
-#: g10/gpg.c:3246
+#: g10/gpg.c:3262
 #, fuzzy
 msgid "show preferred keyserver URLs during signature verification"
 msgstr "zadané URL pre podpisovú politiku je neplatné\n"
 
-#: g10/gpg.c:3248
+#: g10/gpg.c:3264
 #, fuzzy
 msgid "show user ID validity during signature verification"
 msgstr "%s nie je platná znaková sada\n"
 
-#: g10/gpg.c:3250
+#: g10/gpg.c:3266
 msgid "show revoked and expired user IDs in signature verification"
 msgstr ""
 
-#: g10/gpg.c:3252
+#: g10/gpg.c:3268
 #, fuzzy
 msgid "show only the primary user ID in signature verification"
 msgstr "%s nie je platná znaková sada\n"
 
-#: g10/gpg.c:3254
+#: g10/gpg.c:3270
 msgid "validate signatures with PKA data"
 msgstr ""
 
-#: g10/gpg.c:3256
+#: g10/gpg.c:3272
 msgid "elevate the trust of signatures with valid PKA data"
 msgstr ""
 
-#: g10/gpg.c:3263
+#: g10/gpg.c:3279
 #, fuzzy, c-format
 msgid "%s:%d: invalid verify options\n"
 msgstr "%s:%d: neplatný parameter pre export\n"
 
-#: g10/gpg.c:3266
+#: g10/gpg.c:3282
 #, fuzzy, c-format
 msgid "invalid verify options\n"
 msgstr "neplatný parameter pre export\n"
 
-#: g10/gpg.c:3273
+#: g10/gpg.c:3289
 #, c-format
 msgid "unable to set exec-path to %s\n"
 msgstr "nemožno nastaviť exec-path na %s\n"
 
-#: g10/gpg.c:3478
+#: g10/gpg.c:3498
 #, fuzzy, c-format
 msgid "%s:%d: invalid auto-key-locate list\n"
 msgstr "%s:%d: neplatný parameter pre export\n"
 
-#: g10/gpg.c:3481
+#: g10/gpg.c:3501
 #, c-format
 msgid "invalid auto-key-locate list\n"
 msgstr ""
 
-#: g10/gpg.c:3653 sm/gpgsm.c:1541
+#: g10/gpg.c:3673 sm/gpgsm.c:1441
 #, c-format
 msgid "WARNING: program may create a core file!\n"
 msgstr "VAROVANIE: program môže vytvoriť súbor core!\n"
 
-#: g10/gpg.c:3664
+#: g10/gpg.c:3684
 #, c-format
 msgid "WARNING: %s overrides %s\n"
 msgstr "VAROVANIE: %s prepíše %s\n"
 
-#: g10/gpg.c:3673
+#: g10/gpg.c:3693
 #, c-format
 msgid "%s not allowed with %s!\n"
 msgstr "Nie je dovolené používať %s s %s!\n"
 
-#: g10/gpg.c:3676
+#: g10/gpg.c:3696
 #, c-format
 msgid "%s makes no sense with %s!\n"
 msgstr "%s nedáva s %s zmysel!\n"
 
-#: g10/gpg.c:3691 sm/gpgsm.c:1558 dirmngr/dirmngr.c:1082
+#: g10/gpg.c:3711 sm/gpgsm.c:1458 dirmngr/dirmngr.c:1117
 #, c-format
 msgid "WARNING: running with faked system time: "
 msgstr ""
 
-#: g10/gpg.c:3712
+#: g10/gpg.c:3732
 #, fuzzy, c-format
 msgid "will not run with insecure memory due to %s\n"
 msgstr "zapisujem tajný kľúč do `%s'\n"
 
-#: g10/gpg.c:3747 g10/gpg.c:3771 sm/gpgsm.c:1625
+#: g10/gpg.c:3767 g10/gpg.c:3791 sm/gpgsm.c:1525
 #, c-format
 msgid "selected cipher algorithm is invalid\n"
 msgstr "vybraný šifrovací algoritmus je neplatný\n"
 
-#: g10/gpg.c:3759
+#: g10/gpg.c:3779
 #, fuzzy, c-format
 msgid "selected compression algorithm is invalid\n"
 msgstr "vybraný šifrovací algoritmus je neplatný\n"
 
-#: g10/gpg.c:3765
+#: g10/gpg.c:3785
 #, c-format
 msgid "selected certification digest algorithm is invalid\n"
 msgstr "vybraný hashovací algoritmus je neplatný\n"
 
-#: g10/gpg.c:3780
+#: g10/gpg.c:3800
 #, c-format
 msgid "completes-needed must be greater than 0\n"
 msgstr "položka completes-needed musí byť väčšia ako 0\n"
 
-#: g10/gpg.c:3782
+#: g10/gpg.c:3802
 #, c-format
 msgid "marginals-needed must be greater than 1\n"
 msgstr "položka marginals-needed musí byť väčšia ako 1\n"
 
-#: g10/gpg.c:3784
+#: g10/gpg.c:3804
 #, fuzzy, c-format
 msgid "max-cert-depth must be in the range from 1 to 255\n"
 msgstr "položka max-cert-depth musí byť v rozmedzí od 1 do 255\n"
 
-#: g10/gpg.c:3786
+#: g10/gpg.c:3806
 #, c-format
 msgid "invalid default-cert-level; must be 0, 1, 2, or 3\n"
 msgstr "neplatná implicitná úroveň certifikácie; musí byť 0, 1, 2 alebo 3\n"
 
-#: g10/gpg.c:3788
+#: g10/gpg.c:3808
 #, c-format
 msgid "invalid min-cert-level; must be 1, 2, or 3\n"
 msgstr "neplatná minimálna úroveň certifikácie; musí byť 0, 1, 2 alebo 3\n"
 
-#: g10/gpg.c:3791
+#: g10/gpg.c:3812
 #, fuzzy, c-format
 #| msgid "NOTE: simple S2K mode (0) is strongly discouraged\n"
 msgid "Note: simple S2K mode (0) is strongly discouraged\n"
 msgstr "POZNÁMKA: jednoduchý mód S2K (0) je dôrazne nedoporučovaný\n"
 
-#: g10/gpg.c:3795
+#: g10/gpg.c:3816
 #, c-format
 msgid "invalid S2K mode; must be 0, 1 or 3\n"
 msgstr "neplatný mód S2K; musí byť 0, 1 alebo 3\n"
 
-#: g10/gpg.c:3802
+#: g10/gpg.c:3823
 #, c-format
 msgid "invalid default preferences\n"
 msgstr "neplatné defaultné predvoľby\n"
 
-#: g10/gpg.c:3806
+#: g10/gpg.c:3827
 #, c-format
 msgid "invalid personal cipher preferences\n"
 msgstr "neplatné užívateľské predvoľby pre šifrovanie\n"
 
-#: g10/gpg.c:3810
+#: g10/gpg.c:3831
 #, c-format
 msgid "invalid personal digest preferences\n"
 msgstr "neplatné užívateľské predvoľby pre hashovanie\n"
 
-#: g10/gpg.c:3814
+#: g10/gpg.c:3835
 #, c-format
 msgid "invalid personal compress preferences\n"
 msgstr "neplatné užívateľské predvoľby pre kompresiu\n"
 
-#: g10/gpg.c:3850
+#: g10/gpg.c:3871
 #, c-format
 msgid "%s does not yet work with %s\n"
 msgstr "%s ešte nepracuje s %s\n"
 
-#: g10/gpg.c:3913
+#: g10/gpg.c:3934
 #, fuzzy, c-format
 msgid "compression algorithm '%s' may not be used in %s mode\n"
 msgstr "nemôžete použiť kompresný algoritmus \"%s\" v móde %s\n"
 
-#: g10/gpg.c:4057
+#: g10/gpg.c:4078
 #, c-format
 msgid "failed to initialize the TrustDB: %s\n"
 msgstr "nemôžem inicializovať databázu dôvery: %s\n"
 
-#: g10/gpg.c:4069
+#: g10/gpg.c:4090
 #, c-format
 msgid "WARNING: recipients (-r) given without using public key encryption\n"
 msgstr ""
 "VAROVANIE: daný adresát (-r) bez použitia šifrovania s verejným kľúčom\n"
 
-#: g10/gpg.c:4141
+#: g10/gpg.c:4162
 #, fuzzy, c-format
 msgid "symmetric encryption of '%s' failed: %s\n"
 msgstr "dešifrovanie zlyhalo: %s\n"
 
-#: g10/gpg.c:4170
+#: g10/gpg.c:4191
 #, c-format
 msgid "you cannot use --symmetric --encrypt with --s2k-mode 0\n"
 msgstr ""
 
-#: g10/gpg.c:4173
+#: g10/gpg.c:4194
 #, fuzzy, c-format
 msgid "you cannot use --symmetric --encrypt in %s mode\n"
 msgstr ""
 "použitie %s nie je v móde %s dovolené\n"
 "\n"
 
-#: g10/gpg.c:4231
+#: g10/gpg.c:4252
 #, c-format
 msgid "you cannot use --symmetric --sign --encrypt with --s2k-mode 0\n"
 msgstr ""
 
-#: g10/gpg.c:4234
+#: g10/gpg.c:4255
 #, fuzzy, c-format
 msgid "you cannot use --symmetric --sign --encrypt in %s mode\n"
 msgstr ""
 "použitie %s nie je v móde %s dovolené\n"
 "\n"
 
-#: g10/gpg.c:4622 g10/keyserver.c:1881
+#: g10/gpg.c:4643 g10/keyserver.c:1648
 #, c-format
 msgid "keyserver send failed: %s\n"
 msgstr "nepodarilo poslať kľúč na server: %s\n"
 
-#: g10/gpg.c:4627
+#: g10/gpg.c:4648
 #, c-format
 msgid "keyserver receive failed: %s\n"
 msgstr "nepodarilo sa prijať kľúč zo servera: %s\n"
 
-#: g10/gpg.c:4633
+#: g10/gpg.c:4654
 #, c-format
 msgid "key export failed: %s\n"
 msgstr "nepodaril sa export kľúča: %s\n"
 
-#: g10/gpg.c:4646
+#: g10/gpg.c:4667
 #, fuzzy, c-format
 #| msgid "key export failed: %s\n"
 msgid "export as ssh key failed: %s\n"
 msgstr "nepodaril sa export kľúča: %s\n"
 
-#: g10/gpg.c:4658
+#: g10/gpg.c:4679
 #, c-format
 msgid "keyserver search failed: %s\n"
 msgstr "nepodarilo sa nájsť server: %s\n"
 
-#: g10/gpg.c:4671
+#: g10/gpg.c:4692
 #, c-format
 msgid "keyserver refresh failed: %s\n"
 msgstr "aktualizácia servera zlyhala: %s\n"
 
-#: g10/gpg.c:4738
+#: g10/gpg.c:4759
 #, c-format
 msgid "dearmoring failed: %s\n"
 msgstr "dekódovanie z ASCII formátu zlyhalo: %s\n"
 
-#: g10/gpg.c:4749
+#: g10/gpg.c:4770
 #, c-format
 msgid "enarmoring failed: %s\n"
 msgstr "kódovanie do ASCII formátu zlyhalo: %s\n"
 
-#: g10/gpg.c:4841
+#: g10/gpg.c:4862
 #, fuzzy, c-format
 #| msgid "invalid hash algorithm `%s'\n"
 msgid "invalid hash algorithm '%s'\n"
 msgstr "neplatný hashovací algoritmus `%s'\n"
 
-#: g10/gpg.c:4993 g10/tofu.c:2153
+#: g10/gpg.c:5014 g10/tofu.c:2153
 #, fuzzy, c-format
 msgid "error parsing key specification '%s': %s\n"
 msgstr "chyba pri vytváraní hesla: %s\n"
 
-#: g10/gpg.c:5006
+#: g10/gpg.c:5027
 #, c-format
 msgid "'%s' does not appear to be a valid key ID, fingerprint or keygrip\n"
 msgstr ""
 
-#: g10/gpg.c:5062
+#: g10/gpg.c:5083
 #, c-format
 msgid "WARNING: no command supplied.  Trying to guess what you mean ...\n"
 msgstr ""
 
-#: g10/gpg.c:5073
+#: g10/gpg.c:5094
 #, c-format
 msgid "Go ahead and type your message ...\n"
 msgstr "Začnite písať svoju správu ...\n"
 
-#: g10/gpg.c:5418
+#: g10/gpg.c:5439
 #, c-format
 msgid "the given certification policy URL is invalid\n"
 msgstr "zadané URL pre certifikačnú politiku je neplatné\n"
 
-#: g10/gpg.c:5420
+#: g10/gpg.c:5441
 #, c-format
 msgid "the given signature policy URL is invalid\n"
 msgstr "zadané URL pre podpisovú politiku je neplatné\n"
 
-#: g10/gpg.c:5453
+#: g10/gpg.c:5474
 #, fuzzy, c-format
 msgid "the given preferred keyserver URL is invalid\n"
 msgstr "zadané URL pre podpisovú politiku je neplatné\n"
@@ -3440,7 +3458,7 @@ msgstr "Zmazať tento kľúč zo súboru kľúčov? "
 msgid "make timestamp conflicts only a warning"
 msgstr "konflikt časového razítka"
 
-#: g10/gpgv.c:86 sm/gpgsm.c:354 tools/gpgconf.c:112
+#: g10/gpgv.c:86 sm/gpgsm.c:357 tools/gpgconf.c:112
 msgid "|FD|write status info to this FD"
 msgstr "|FD|zapísať informácie o stave do tohto FD"
 
@@ -3524,268 +3542,268 @@ msgstr ""
 msgid "repair keys on import"
 msgstr "vypísať fingerprint"
 
-#: g10/import.c:380 g10/import.c:699
+#: g10/import.c:392 g10/import.c:711
 #, c-format
 msgid "skipping block of type %d\n"
 msgstr "blok typu %d bol preskočený\n"
 
-#: g10/import.c:716
+#: g10/import.c:728
 #, fuzzy, c-format
 msgid "%lu keys processed so far\n"
 msgstr "%lu kľúče boli doteraz spracované\n"
 
-#: g10/import.c:802
+#: g10/import.c:814
 #, c-format
 msgid "Total number processed: %lu\n"
 msgstr "Celkovo spracovaných kľúčov: %lu\n"
 
-#: g10/import.c:805
+#: g10/import.c:817
 #, fuzzy, c-format
 #| msgid "      skipped new keys: %lu\n"
 msgid "    skipped PGP-2 keys: %lu\n"
 msgstr "      preskočené nové kľúče: %lu\n"
 
-#: g10/import.c:807
+#: g10/import.c:819
 #, c-format
 msgid "      skipped new keys: %lu\n"
 msgstr "      preskočené nové kľúče: %lu\n"
 
-#: g10/import.c:810
+#: g10/import.c:822
 #, c-format
 msgid "          w/o user IDs: %lu\n"
 msgstr "        bez identifikátorov: %lu\n"
 
-#: g10/import.c:813 sm/import.c:130
+#: g10/import.c:825 sm/import.c:130
 #, c-format
 msgid "              imported: %lu"
 msgstr "                importované: %lu"
 
-#: g10/import.c:817 sm/import.c:134
+#: g10/import.c:829 sm/import.c:134
 #, c-format
 msgid "             unchanged: %lu\n"
 msgstr "                  bez zmien: %lu\n"
 
-#: g10/import.c:819
+#: g10/import.c:831
 #, c-format
 msgid "          new user IDs: %lu\n"
 msgstr "         nové id užívateľov: %lu\n"
 
-#: g10/import.c:821
+#: g10/import.c:833
 #, c-format
 msgid "           new subkeys: %lu\n"
 msgstr "              nové podkľúče: %lu\n"
 
-#: g10/import.c:823
+#: g10/import.c:835
 #, c-format
 msgid "        new signatures: %lu\n"
 msgstr "               nové podpisy: %lu\n"
 
-#: g10/import.c:825
+#: g10/import.c:837
 #, c-format
 msgid "   new key revocations: %lu\n"
 msgstr "      nové revokácie kľúčov: %lu\n"
 
-#: g10/import.c:827 sm/import.c:136
+#: g10/import.c:839 sm/import.c:136
 #, c-format
 msgid "      secret keys read: %lu\n"
 msgstr "      prečítané tajné kľúče: %lu\n"
 
-#: g10/import.c:829 sm/import.c:138
+#: g10/import.c:841 sm/import.c:138
 #, c-format
 msgid "  secret keys imported: %lu\n"
 msgstr "    importované tajné kľúče: %lu\n"
 
-#: g10/import.c:831 sm/import.c:140
+#: g10/import.c:843 sm/import.c:140
 #, c-format
 msgid " secret keys unchanged: %lu\n"
 msgstr "      tajné kľúče nezmenené: %lu\n"
 
-#: g10/import.c:833 sm/import.c:142
+#: g10/import.c:845 sm/import.c:142
 #, c-format
 msgid "          not imported: %lu\n"
 msgstr "           neimportované: %lu\n"
 
-#: g10/import.c:835
+#: g10/import.c:847
 #, fuzzy, c-format
 msgid "    signatures cleaned: %lu\n"
 msgstr "               nové podpisy: %lu\n"
 
-#: g10/import.c:837
+#: g10/import.c:849
 #, fuzzy, c-format
 msgid "      user IDs cleaned: %lu\n"
 msgstr "      prečítané tajné kľúče: %lu\n"
 
-#: g10/import.c:1264
+#: g10/import.c:1276
 #, c-format
 msgid ""
 "WARNING: key %s contains preferences for unavailable\n"
 "algorithms on these user IDs:\n"
 msgstr ""
 
-#: g10/import.c:1306
+#: g10/import.c:1318
 #, c-format
 msgid "         \"%s\": preference for cipher algorithm %s\n"
 msgstr ""
 
-#: g10/import.c:1321
+#: g10/import.c:1333
 #, fuzzy, c-format
 msgid "         \"%s\": preference for digest algorithm %s\n"
 msgstr "%s podpis, hashovací algoritmus %s\n"
 
-#: g10/import.c:1333
+#: g10/import.c:1345
 #, c-format
 msgid "         \"%s\": preference for compression algorithm %s\n"
 msgstr ""
 
-#: g10/import.c:1346
+#: g10/import.c:1358
 #, c-format
 msgid "it is strongly suggested that you update your preferences and\n"
 msgstr ""
 
-#: g10/import.c:1348
+#: g10/import.c:1360
 #, c-format
 msgid "re-distribute this key to avoid potential algorithm mismatch problems\n"
 msgstr ""
 
-#: g10/import.c:1373
+#: g10/import.c:1385
 #, c-format
 msgid "you can update your preferences with: gpg --edit-key %s updpref save\n"
 msgstr ""
 
-#: g10/import.c:1887 g10/import.c:3001
+#: g10/import.c:1899 g10/import.c:3013
 #, fuzzy, c-format
 msgid "key %s: no user ID\n"
 msgstr "kľúč %08lX: chyba identifikátor užívateľa\n"
 
-#: g10/import.c:1893
+#: g10/import.c:1905
 #, fuzzy, c-format
 msgid "key %s: %s\n"
 msgstr "preskočený `%s': %s\n"
 
-#: g10/import.c:1894 g10/import.c:2973
+#: g10/import.c:1906 g10/import.c:2985
 msgid "rejected by import screener"
 msgstr ""
 
-#: g10/import.c:1938
+#: g10/import.c:1950
 #, fuzzy, c-format
 msgid "key %s: PKS subkey corruption repaired\n"
 msgstr "kľúč %08lX: HKP poškodenie podkľúča opravené\n"
 
 # c-format
-#: g10/import.c:1959
+#: g10/import.c:1971
 #, fuzzy, c-format
 msgid "key %s: accepted non self-signed user ID \"%s\"\n"
 msgstr ""
 "kľúč %08lX: prijaté id užívateľa '%s', ktorý nie je podpísaný ním samým\n"
 
-#: g10/import.c:1969 g10/import.c:2000
+#: g10/import.c:1981 g10/import.c:2012
 #, fuzzy, c-format
 msgid "key %s: no valid user IDs\n"
 msgstr "kľúč %08lX: chýba platný identifikátor užívateľa\n"
 
-#: g10/import.c:1971
+#: g10/import.c:1983
 #, c-format
 msgid "this may be caused by a missing self-signature\n"
 msgstr "môže to byť spôsobené chýbajúcim podpisom kľúča ním samým\n"
 
-#: g10/import.c:2050 g10/import.c:3387
+#: g10/import.c:2062 g10/import.c:3399
 #, fuzzy, c-format
 msgid "key %s: public key not found: %s\n"
 msgstr "kľúč %08lX: verejný kľúč nenájdený: %s\n"
 
-#: g10/import.c:2056
+#: g10/import.c:2068
 #, fuzzy, c-format
 msgid "key %s: new key - skipped\n"
 msgstr "kľúč %08lX: nový kľúč - preskočený\n"
 
-#: g10/import.c:2068
+#: g10/import.c:2080
 #, c-format
 msgid "no writable keyring found: %s\n"
 msgstr "nenájdený zapisovateľný súbor kľúčov (keyring): %s\n"
 
-#: g10/import.c:2100 g10/import.c:2202 g10/import.c:3464
+#: g10/import.c:2112 g10/import.c:2214 g10/import.c:3476
 #, fuzzy, c-format
 #| msgid "error writing keyring `%s': %s\n"
 msgid "error writing keyring '%s': %s\n"
 msgstr "chyba pri zápise súboru kľúčov (keyring)  `%s': %s\n"
 
-#: g10/import.c:2123
+#: g10/import.c:2135
 #, fuzzy, c-format
 msgid "key %s: public key \"%s\" imported\n"
 msgstr "kľúč %08lX: verejný kľúč \"%s\" importovaný\n"
 
-#: g10/import.c:2150
+#: g10/import.c:2162
 #, fuzzy, c-format
 msgid "key %s: doesn't match our copy\n"
 msgstr "kľúč %08lX: nezodpovedá našej kópii\n"
 
-#: g10/import.c:2218
+#: g10/import.c:2230
 #, fuzzy, c-format
 msgid "key %s: \"%s\" 1 new user ID\n"
 msgstr "kľúč %08lX: \"%s\" 1 nový identifikátor užívateľa\n"
 
-#: g10/import.c:2221
+#: g10/import.c:2233
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d new user IDs\n"
 msgstr "kľúč %08lX: \"%s\" %d nových identifikátorov užívateľa\n"
 
-#: g10/import.c:2224
+#: g10/import.c:2236
 #, fuzzy, c-format
 msgid "key %s: \"%s\" 1 new signature\n"
 msgstr "kľúč %08lX: \"%s\" 1 nový podpis\n"
 
-#: g10/import.c:2227
+#: g10/import.c:2239
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d new signatures\n"
 msgstr "kľúč %08lX: \"%s\" %d nových podpisov\n"
 
-#: g10/import.c:2230
+#: g10/import.c:2242
 #, fuzzy, c-format
 msgid "key %s: \"%s\" 1 new subkey\n"
 msgstr "kľúč %08lX: \"%s\" 1 nový podkľúč\n"
 
-#: g10/import.c:2233
+#: g10/import.c:2245
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d new subkeys\n"
 msgstr "kľúč %08lX: \"%s\" %d nových podkľúčov\n"
 
-#: g10/import.c:2236
+#: g10/import.c:2248
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d signature cleaned\n"
 msgstr "kľúč %08lX: \"%s\" %d nových podpisov\n"
 
-#: g10/import.c:2239
+#: g10/import.c:2251
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d signatures cleaned\n"
 msgstr "kľúč %08lX: \"%s\" %d nových podpisov\n"
 
-#: g10/import.c:2242
+#: g10/import.c:2254
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d user ID cleaned\n"
 msgstr "kľúč %08lX: \"%s\" %d nových identifikátorov užívateľa\n"
 
-#: g10/import.c:2245
+#: g10/import.c:2257
 #, fuzzy, c-format
 msgid "key %s: \"%s\" %d user IDs cleaned\n"
 msgstr "kľúč %08lX: \"%s\" %d nových identifikátorov užívateľa\n"
 
-#: g10/import.c:2281
+#: g10/import.c:2293
 #, fuzzy, c-format
 msgid "key %s: \"%s\" not changed\n"
 msgstr "kľúč %08lX: \"%s\" bez zmeny\n"
 
-#: g10/import.c:2640 g10/import.c:2835
+#: g10/import.c:2652 g10/import.c:2847
 #, fuzzy, c-format
 msgid "key %s: secret key imported\n"
 msgstr "kľúč %08lX: tajný kľúč importovaný\n"
 
-#: g10/import.c:2648
+#: g10/import.c:2660
 #, fuzzy, c-format
 #| msgid "skipped: secret key already present\n"
 msgid "key %s: secret key already exists\n"
 msgstr "preskočené: tajný kľúč je už v databáze\n"
 
-#: g10/import.c:2656
+#: g10/import.c:2668
 #, fuzzy, c-format
 msgid "key %s: error sending to agent: %s\n"
 msgstr "chyba pri posielaní na `%s': %s\n"
@@ -3798,199 +3816,199 @@ msgstr "chyba pri posielaní na `%s': %s\n"
 #. * Instead, user should be suggested to run 'gpg --card-status',
 #. * then, references to a card will be automatically created
 #. * again.
-#: g10/import.c:2825
+#: g10/import.c:2837
 #, c-format
 msgid "To migrate '%s', with each smartcard, run: %s\n"
 msgstr ""
 
-#: g10/import.c:2972
+#: g10/import.c:2984
 #, fuzzy, c-format
 msgid "secret key %s: %s\n"
 msgstr "tajný kľúč `%s' nebol nájdený: %s\n"
 
-#: g10/import.c:2993 g10/import.c:3032
+#: g10/import.c:3005 g10/import.c:3044
 #, fuzzy, c-format
 msgid "importing secret keys not allowed\n"
 msgstr "zapisujem tajný kľúč do `%s'\n"
 
-#: g10/import.c:3020
+#: g10/import.c:3032
 #, fuzzy, c-format
 msgid "key %s: secret key with invalid cipher %d - skipped\n"
 msgstr "kľúč %08lX: tajný kľúč bez verejného kľúča %d - preskočené\n"
 
-#: g10/import.c:3182 g10/pkclist.c:72 g10/revoke.c:776
+#: g10/import.c:3194 g10/pkclist.c:72 g10/revoke.c:776
 msgid "No reason specified"
 msgstr "Dôvod nebol špecifikovaný"
 
-#: g10/import.c:3183 g10/pkclist.c:74 g10/revoke.c:778
+#: g10/import.c:3195 g10/pkclist.c:74 g10/revoke.c:778
 msgid "Key is superseded"
 msgstr "Kľúč je nahradený"
 
-#: g10/import.c:3184 g10/pkclist.c:76 g10/revoke.c:777
+#: g10/import.c:3196 g10/pkclist.c:76 g10/revoke.c:777
 msgid "Key has been compromised"
 msgstr "Kľúč bol skompromitovaný"
 
-#: g10/import.c:3185 g10/pkclist.c:78 g10/revoke.c:779
+#: g10/import.c:3197 g10/pkclist.c:78 g10/revoke.c:779
 msgid "Key is no longer used"
 msgstr "Kľúč sa už nepoužíva"
 
-#: g10/import.c:3186 g10/pkclist.c:80 g10/revoke.c:780
+#: g10/import.c:3198 g10/pkclist.c:80 g10/revoke.c:780
 msgid "User ID is no longer valid"
 msgstr "Identifikátor užívateľa už neplatí"
 
-#: g10/import.c:3311 g10/keylist.c:1254 g10/pkclist.c:84
+#: g10/import.c:3323 g10/keylist.c:1254 g10/pkclist.c:84
 #, c-format
 msgid "reason for revocation: "
 msgstr "dôvod na revokáciu: "
 
-#: g10/import.c:3330 g10/keylist.c:1273 g10/pkclist.c:100
+#: g10/import.c:3342 g10/keylist.c:1273 g10/pkclist.c:100
 #, c-format
 msgid "revocation comment: "
 msgstr "revokačná poznámka: "
 
-#: g10/import.c:3380
+#: g10/import.c:3392
 #, fuzzy, c-format
 msgid "key %s: no public key - can't apply revocation certificate\n"
 msgstr ""
 "kľúč %08lX: chýba verejný kľúč - nemôžem aplikovať revokačný certifikát\n"
 
-#: g10/import.c:3411
+#: g10/import.c:3423
 #, fuzzy, c-format
 msgid "key %s: can't locate original keyblock: %s\n"
 msgstr "kľúč %08lX: nemôžem nájsť originálny blok kľúča: %s\n"
 
-#: g10/import.c:3418
+#: g10/import.c:3430
 #, fuzzy, c-format
 msgid "key %s: can't read original keyblock: %s\n"
 msgstr "kľúč %08lX: nemôžem čítať originálny blok kľúča: %s\n"
 
-#: g10/import.c:3438
+#: g10/import.c:3450
 #, fuzzy, c-format
 msgid "key %s: invalid revocation certificate: %s - rejected\n"
 msgstr "kľúč %08lX: neplatný revokačný certifikát: %s - zamietnuté\n"
 
-#: g10/import.c:3473
+#: g10/import.c:3485
 #, fuzzy, c-format
 msgid "key %s: \"%s\" revocation certificate imported\n"
 msgstr "kľúč %08lX: \"%s\" revokačný certifikát importovaný\n"
 
-#: g10/import.c:3559
+#: g10/import.c:3571
 #, fuzzy, c-format
 msgid "key %s: no user ID for signature\n"
 msgstr "kľúč %08lX: neexistuje id užívateľa pre podpis\n"
 
-#: g10/import.c:3576
+#: g10/import.c:3588
 #, fuzzy, c-format
 msgid "key %s: unsupported public key algorithm on user ID \"%s\"\n"
 msgstr ""
 "kľúč %08lX: nepodporovaný algoritmus verejného kľúča u užívateľského id \"%s"
 "\"\n"
 
-#: g10/import.c:3578
+#: g10/import.c:3590
 #, fuzzy, c-format
 msgid "key %s: invalid self-signature on user ID \"%s\"\n"
 msgstr ""
 "kľúč %08lX: neplatný podpis kľúča ním samým u užívateľského id \"%s\"\n"
 
-#: g10/import.c:3595 g10/import.c:3623 g10/import.c:3679
+#: g10/import.c:3607 g10/import.c:3635 g10/import.c:3691
 #, fuzzy, c-format
 msgid "key %s: unsupported public key algorithm\n"
 msgstr "kľúč %08lX: nepodporovaný algoritmus verejného kľúča\n"
 
-#: g10/import.c:3596
+#: g10/import.c:3608
 #, fuzzy, c-format
 msgid "key %s: invalid direct key signature\n"
 msgstr "kľúč %08lX: podpis kľúča ním samým (direct key signature)\n"
 
-#: g10/import.c:3610
+#: g10/import.c:3622
 #, fuzzy, c-format
 msgid "key %s: no subkey for key binding\n"
 msgstr "kľúč %08lX: neexistuje podkľúč pre viazanie kľúčov\n"
 
-#: g10/import.c:3625
+#: g10/import.c:3637
 #, fuzzy, c-format
 msgid "key %s: invalid subkey binding\n"
 msgstr "kľúč %08lX: neplatná väzba podkľúča\n"
 
-#: g10/import.c:3644
+#: g10/import.c:3656
 #, fuzzy, c-format
 msgid "key %s: removed multiple subkey binding\n"
 msgstr "kľúč %08lX: zmazaná viacnásobná väzba podkľúča\n"
 
-#: g10/import.c:3668
+#: g10/import.c:3680
 #, fuzzy, c-format
 msgid "key %s: no subkey for key revocation\n"
 msgstr "kľúč %08lX: neexistuje podkľúč na revokáciu kľúča\n"
 
-#: g10/import.c:3681
+#: g10/import.c:3693
 #, fuzzy, c-format
 msgid "key %s: invalid subkey revocation\n"
 msgstr "kľúč %08lX: neplatný revokačný podkľúč\n"
 
-#: g10/import.c:3696
+#: g10/import.c:3708
 #, fuzzy, c-format
 msgid "key %s: removed multiple subkey revocation\n"
 msgstr "kľúč %08lX: zmazaná viacnásobná revokácia podkľúča\n"
 
-#: g10/import.c:3740
+#: g10/import.c:3752
 #, fuzzy, c-format
 msgid "key %s: skipped user ID \"%s\"\n"
 msgstr "kľúč %08lX: identifikátor užívateľa preskočený '"
 
-#: g10/import.c:3767
+#: g10/import.c:3779
 #, fuzzy, c-format
 msgid "key %s: skipped subkey\n"
 msgstr "kľúč %08lX: podkľúč preskočený\n"
 
-#: g10/import.c:3798
+#: g10/import.c:3810
 #, fuzzy, c-format
 msgid "key %s: non exportable signature (class 0x%02X) - skipped\n"
 msgstr "kľúč %08lX: podpis nie je exportovateľný (trieda %02x) - preskočené\n"
 
-#: g10/import.c:3809
+#: g10/import.c:3821
 #, fuzzy, c-format
 msgid "key %s: revocation certificate at wrong place - skipped\n"
 msgstr "kľúč %08lX: revokačný certifikát na zlom mieste - preskočené \n"
 
-#: g10/import.c:3827
+#: g10/import.c:3839
 #, fuzzy, c-format
 msgid "key %s: invalid revocation certificate: %s - skipped\n"
 msgstr "kľúč %08lX: neplatný revokačný certifikát: %s - preskočené\n"
 
-#: g10/import.c:3841
+#: g10/import.c:3853
 #, fuzzy, c-format
 msgid "key %s: subkey signature in wrong place - skipped\n"
 msgstr "kľúč %08lX: podpis subkľúča na zlom mieste - preskočené \n"
 
-#: g10/import.c:3849
+#: g10/import.c:3861
 #, fuzzy, c-format
 msgid "key %s: unexpected signature class (0x%02X) - skipped\n"
 msgstr "kľúč %08lX: neočakávaná podpisová trieda (0x%02X) - preskočené\n"
 
-#: g10/import.c:4022
+#: g10/import.c:4034
 #, fuzzy, c-format
 msgid "key %s: duplicated user ID detected - merged\n"
 msgstr "kľúč %08lX: zistený duplikovaný identifikátor užívateľa - zlúčený\n"
 
-#: g10/import.c:4087
+#: g10/import.c:4099
 #, fuzzy, c-format
 msgid "WARNING: key %s may be revoked: fetching revocation key %s\n"
 msgstr ""
 "VAROVANIE: kľúč %08lX môže byť revokovaný: skúšam získať revokačný kľúč "
 "%08lX\n"
 
-#: g10/import.c:4103
+#: g10/import.c:4115
 #, fuzzy, c-format
 msgid "WARNING: key %s may be revoked: revocation key %s not present.\n"
 msgstr ""
 "VAROVANIE: kľúč %08lX môže byť revokovaný: revokačný kľúč %08lX nenájdený.\n"
 
-#: g10/import.c:4169
+#: g10/import.c:4181
 #, fuzzy, c-format
 msgid "key %s: \"%s\" revocation certificate added\n"
 msgstr "kľúč %08lX: pridaný revokačný certifikát \"%s\"\n"
 
-#: g10/import.c:4207
+#: g10/import.c:4219
 #, fuzzy, c-format
 msgid "key %s: direct key signature added\n"
 msgstr "kľúč %08lX: podpis kľúča ním samým (direct key signature)\n"
@@ -4059,7 +4077,7 @@ msgid ""
 "all signatures.\n"
 msgstr ""
 
-#: g10/keydb.c:431 g10/keydb.c:458 sm/keydb.c:191 sm/keydb.c:204
+#: g10/keydb.c:431 g10/keydb.c:458 sm/keydb.c:190 sm/keydb.c:203
 #, fuzzy, c-format
 msgid "error creating keybox '%s': %s\n"
 msgstr "chyba pri vytváraní súboru kľúčov (keyring)`%s': %s\n"
@@ -4070,7 +4088,7 @@ msgstr "chyba pri vytváraní súboru kľúčov (keyring)`%s': %s\n"
 msgid "error creating keyring '%s': %s\n"
 msgstr "chyba pri vytváraní súboru kľúčov (keyring)`%s': %s\n"
 
-#: g10/keydb.c:470 sm/keydb.c:210
+#: g10/keydb.c:470 sm/keydb.c:209
 #, fuzzy, c-format
 msgid "keybox '%s' created\n"
 msgstr "súbor kľúčov (keyring) `%s' vytvorený\n"
@@ -4148,13 +4166,13 @@ msgstr ""
 msgid "User ID \"%s\" is revoked."
 msgstr "Užívateľské ID \"%s\" je revokované."
 
-#: g10/keyedit.c:569 g10/keyedit.c:597 g10/keyedit.c:624 g10/keyedit.c:808
-#: g10/keyedit.c:1655
+#: g10/keyedit.c:569 g10/keyedit.c:597 g10/keyedit.c:624 g10/keyedit.c:809
+#: g10/keyedit.c:1656
 msgid "Are you sure you still want to sign it? (y/N) "
 msgstr "Ste si istý, že stále chcete podpísať tento kľúč? (a/N) "
 
-#: g10/keyedit.c:583 g10/keyedit.c:611 g10/keyedit.c:638 g10/keyedit.c:814
-#: g10/keyedit.c:1660 g10/keyedit.c:2667
+#: g10/keyedit.c:583 g10/keyedit.c:611 g10/keyedit.c:638 g10/keyedit.c:815
+#: g10/keyedit.c:1661 g10/keyedit.c:2668
 msgid "  Unable to sign.\n"
 msgstr "  Nemožno podpísať.\n"
 
@@ -4229,29 +4247,29 @@ msgstr "\"%s\" je už lokálne podpísaný kľúčom %08lX\n"
 msgid "\"%s\" was already signed by key %s\n"
 msgstr "\"%s\" je už podpísaný kľúčom %08lX\n"
 
-#: g10/keyedit.c:756
+#: g10/keyedit.c:757
 msgid "Do you want to sign it again anyway? (y/N) "
 msgstr "Ste si istý, že stále chcete podpísať tento kľúč? (a/N) "
 
-#: g10/keyedit.c:778
+#: g10/keyedit.c:779
 #, fuzzy, c-format
 msgid "Nothing to sign with key %s\n"
 msgstr "Nič na podpísanie kľúčom %08lX\n"
 
-#: g10/keyedit.c:802
+#: g10/keyedit.c:803
 msgid "This key has expired!"
 msgstr "Platnosť kľúča vypršala!"
 
-#: g10/keyedit.c:820
+#: g10/keyedit.c:821
 #, c-format
 msgid "This key is due to expire on %s.\n"
 msgstr "Platnosť kľúča vyprší %s.\n"
 
-#: g10/keyedit.c:826
+#: g10/keyedit.c:827
 msgid "Do you want your signature to expire at the same time? (Y/n) "
 msgstr "Chcete, aby platnosť Vášho podpisu vypršala v rovnakom čase? (A/n) "
 
-#: g10/keyedit.c:867
+#: g10/keyedit.c:868
 msgid ""
 "How carefully have you verified the key you are about to sign actually "
 "belongs\n"
@@ -4261,32 +4279,32 @@ msgstr ""
 "patrí vyššie uvedenej osobe?\n"
 "Pokiaľ nepoznáte odpoveď, zadajte \"0\".\n"
 
-#: g10/keyedit.c:872
+#: g10/keyedit.c:873
 #, c-format
 msgid "   (0) I will not answer.%s\n"
 msgstr "   (0) Neodpoviem.%s\n"
 
-#: g10/keyedit.c:874
+#: g10/keyedit.c:875
 #, c-format
 msgid "   (1) I have not checked at all.%s\n"
 msgstr "   (1) Vôbec som to nekontroloval(a).%s\n"
 
-#: g10/keyedit.c:876
+#: g10/keyedit.c:877
 #, c-format
 msgid "   (2) I have done casual checking.%s\n"
 msgstr "   (2) Čiastočne som to overil(a).%s\n"
 
-#: g10/keyedit.c:879
+#: g10/keyedit.c:880
 #, c-format
 msgid "   (3) I have done very careful checking.%s\n"
 msgstr "   (3) Veľmi dôkladne som to overil(a).%s\n"
 
-#: g10/keyedit.c:886
+#: g10/keyedit.c:887
 #, fuzzy
 msgid "Your selection? (enter '?' for more information): "
 msgstr "Váš výber? ('?' - viac informácií): "
 
-#: g10/keyedit.c:913
+#: g10/keyedit.c:914
 #, fuzzy, c-format
 msgid ""
 "Are you sure that you want to sign this key with your\n"
@@ -4295,28 +4313,28 @@ msgstr ""
 "Ste si istý, že chcete podpísať tento kľúč\n"
 "svojím kľúčom: \""
 
-#: g10/keyedit.c:921
+#: g10/keyedit.c:922
 #, fuzzy
 msgid "This will be a self-signature.\n"
 msgstr ""
 "\n"
 "Ide o podpis kľúča ním samým\n"
 
-#: g10/keyedit.c:926
+#: g10/keyedit.c:927
 #, fuzzy
 msgid "WARNING: the signature will not be marked as non-exportable.\n"
 msgstr ""
 "\n"
 "VAROVANIE: podpis nebude označený ako neexportovateľný.\n"
 
-#: g10/keyedit.c:933
+#: g10/keyedit.c:934
 #, fuzzy
 msgid "WARNING: the signature will not be marked as non-revocable.\n"
 msgstr ""
 "\n"
 "VAROVANIE: podpis nebude označený ako neodvolateľný (non-revocable).\n"
 
-#: g10/keyedit.c:943
+#: g10/keyedit.c:944
 #, fuzzy
 msgid "The signature will be marked as non-exportable.\n"
 msgstr ""
@@ -4324,243 +4342,243 @@ msgstr ""
 "Podpis bude označený ako neexportovateľný.\n"
 "\n"
 
-#: g10/keyedit.c:950
+#: g10/keyedit.c:951
 #, fuzzy
 msgid "The signature will be marked as non-revocable.\n"
 msgstr ""
 "\n"
 "Podpis bude označený ako neodvolateľný (non-revocable).\n"
 
-#: g10/keyedit.c:957
+#: g10/keyedit.c:958
 #, fuzzy
 msgid "I have not checked this key at all.\n"
 msgstr ""
 "\n"
 "Vôbec som tento kľúč neoveril.\n"
 
-#: g10/keyedit.c:962
+#: g10/keyedit.c:963
 #, fuzzy
 msgid "I have checked this key casually.\n"
 msgstr ""
 "\n"
 "Čiastočne som overil tento kľúč.\n"
 
-#: g10/keyedit.c:967
+#: g10/keyedit.c:968
 #, fuzzy
 msgid "I have checked this key very carefully.\n"
 msgstr ""
 "\n"
 "Velmi dôkladne som overil tento kľúč.\n"
 
-#: g10/keyedit.c:979
+#: g10/keyedit.c:980
 #, fuzzy
 msgid "Really sign? (y/N) "
 msgstr "Skutočne podpísať? "
 
-#: g10/keyedit.c:1030 g10/keyedit.c:6154 g10/keyedit.c:6237 g10/keyedit.c:6366
-#: g10/keyedit.c:6428 g10/sign.c:466
+#: g10/keyedit.c:1031 g10/keyedit.c:6155 g10/keyedit.c:6238 g10/keyedit.c:6367
+#: g10/keyedit.c:6429 g10/sign.c:466
 #, c-format
 msgid "signing failed: %s\n"
 msgstr "podpisovanie zlyhalo: %s\n"
 
-#: g10/keyedit.c:1117
+#: g10/keyedit.c:1118
 msgid "Key has only stub or on-card key items - no passphrase to change.\n"
 msgstr ""
 
-#: g10/keyedit.c:1149
+#: g10/keyedit.c:1150
 #, fuzzy, c-format
 #| msgid "error creating passphrase: %s\n"
 msgid "key %s: error changing passphrase: %s\n"
 msgstr "chyba pri vytváraní hesla: %s\n"
 
-#: g10/keyedit.c:1261
+#: g10/keyedit.c:1262
 msgid "save and quit"
 msgstr "uložiť a ukončiť"
 
-#: g10/keyedit.c:1264
+#: g10/keyedit.c:1265
 #, fuzzy
 msgid "show key fingerprint"
 msgstr "vypísať fingerprint"
 
-#: g10/keyedit.c:1265
+#: g10/keyedit.c:1266
 #, fuzzy
 msgid "show the keygrip"
 msgstr "Podpisová notácia: "
 
-#: g10/keyedit.c:1266
+#: g10/keyedit.c:1267
 msgid "list key and user IDs"
 msgstr "vypísať zoznam kľúčov a id užívateľov"
 
-#: g10/keyedit.c:1268
+#: g10/keyedit.c:1269
 msgid "select user ID N"
 msgstr "vyberte identifikátor užívateľa N"
 
-#: g10/keyedit.c:1269
+#: g10/keyedit.c:1270
 #, fuzzy
 msgid "select subkey N"
 msgstr "vyberte identifikátor užívateľa N"
 
-#: g10/keyedit.c:1270
+#: g10/keyedit.c:1271
 #, fuzzy
 msgid "check signatures"
 msgstr "revokovať podpisy"
 
-#: g10/keyedit.c:1276
+#: g10/keyedit.c:1277
 msgid "sign selected user IDs [* see below for related commands]"
 msgstr ""
 
-#: g10/keyedit.c:1281
+#: g10/keyedit.c:1282
 #, fuzzy
 msgid "sign selected user IDs locally"
 msgstr "podpísať kľúč lokálne"
 
-#: g10/keyedit.c:1282
+#: g10/keyedit.c:1283
 #, fuzzy
 msgid "sign selected user IDs with a trust signature"
 msgstr "Nápoveda: Vyberte id užívateľa na podpísanie\n"
 
-#: g10/keyedit.c:1284
+#: g10/keyedit.c:1285
 msgid "sign selected user IDs with a non-revocable signature"
 msgstr ""
 
-#: g10/keyedit.c:1286
+#: g10/keyedit.c:1287
 msgid "add a user ID"
 msgstr "pridať identifikátor užívateľa"
 
-#: g10/keyedit.c:1288
+#: g10/keyedit.c:1289
 msgid "add a photo ID"
 msgstr "pridať fotografické ID"
 
-#: g10/keyedit.c:1289
+#: g10/keyedit.c:1290
 #, fuzzy
 msgid "delete selected user IDs"
 msgstr "zmazať identifikátor užívateľa"
 
-#: g10/keyedit.c:1292
+#: g10/keyedit.c:1293
 #, fuzzy
 msgid "add a subkey"
 msgstr "addkey"
 
-#: g10/keyedit.c:1295
+#: g10/keyedit.c:1296
 msgid "add a key to a smartcard"
 msgstr ""
 
-#: g10/keyedit.c:1297
+#: g10/keyedit.c:1298
 msgid "move a key to a smartcard"
 msgstr ""
 
-#: g10/keyedit.c:1299
+#: g10/keyedit.c:1300
 msgid "move a backup key to a smartcard"
 msgstr ""
 
-#: g10/keyedit.c:1301
+#: g10/keyedit.c:1302
 #, fuzzy
 msgid "delete selected subkeys"
 msgstr "zmazať sekundárny kľúč"
 
-#: g10/keyedit.c:1303
+#: g10/keyedit.c:1304
 msgid "add a revocation key"
 msgstr "pridať revokačný kľúč"
 
-#: g10/keyedit.c:1305
+#: g10/keyedit.c:1306
 #, fuzzy
 msgid "delete signatures from the selected user IDs"
 msgstr "Skutočne aktualizovať predvoľby pre vybrané id užívateľa? "
 
-#: g10/keyedit.c:1307
+#: g10/keyedit.c:1308
 #, fuzzy
 msgid "change the expiration date for the key or selected subkeys"
 msgstr "Nemôžete zmeniť dobu platnosti kľúča verzie 3\n"
 
-#: g10/keyedit.c:1309
+#: g10/keyedit.c:1310
 #, fuzzy
 msgid "flag the selected user ID as primary"
 msgstr "označiť užívateľské ID ako primárne"
 
-#: g10/keyedit.c:1312
+#: g10/keyedit.c:1313
 msgid "list preferences (expert)"
 msgstr "vypísať zoznam predvolieb (pre expertov)"
 
-#: g10/keyedit.c:1313
+#: g10/keyedit.c:1314
 msgid "list preferences (verbose)"
 msgstr "vypísať zoznam predvolieb (podrobne)"
 
-#: g10/keyedit.c:1315
+#: g10/keyedit.c:1316
 #, fuzzy
 msgid "set preference list for the selected user IDs"
 msgstr "Skutočne aktualizovať predvoľby pre vybrané id užívateľa? "
 
-#: g10/keyedit.c:1318
+#: g10/keyedit.c:1319
 #, fuzzy
 msgid "set the preferred keyserver URL for the selected user IDs"
 msgstr "nemožno použiť URI servera kľúčov - chyba analýzy URI\n"
 
-#: g10/keyedit.c:1320
+#: g10/keyedit.c:1321
 #, fuzzy
 msgid "set a notation for the selected user IDs"
 msgstr "Skutočne aktualizovať predvoľby pre vybrané id užívateľa? "
 
-#: g10/keyedit.c:1322
+#: g10/keyedit.c:1323
 msgid "change the passphrase"
 msgstr "zmeniť heslo"
 
-#: g10/keyedit.c:1325
+#: g10/keyedit.c:1326
 msgid "change the ownertrust"
 msgstr "zmeniť dôveryhodnosť vlastníka kľúča"
 
-#: g10/keyedit.c:1328
+#: g10/keyedit.c:1329
 #, fuzzy
 msgid "revoke signatures on the selected user IDs"
 msgstr "Skutočne revokovať všetky vybrané id užívateľa? "
 
-#: g10/keyedit.c:1330
+#: g10/keyedit.c:1331
 #, fuzzy
 msgid "revoke selected user IDs"
 msgstr "revokovať identifikátor užívateľa"
 
-#: g10/keyedit.c:1333
+#: g10/keyedit.c:1334
 #, fuzzy
 msgid "revoke key or selected subkeys"
 msgstr "revokovať sekundárny kľúč"
 
-#: g10/keyedit.c:1335
+#: g10/keyedit.c:1336
 #, fuzzy
 msgid "enable key"
 msgstr "nastaviť kľúč ako platný (enable)"
 
-#: g10/keyedit.c:1336
+#: g10/keyedit.c:1337
 #, fuzzy
 msgid "disable key"
 msgstr "nastaviť kľúč ako neplatný (disable)"
 
-#: g10/keyedit.c:1338
+#: g10/keyedit.c:1339
 #, fuzzy
 msgid "show selected photo IDs"
 msgstr "ukázať fotografické ID"
 
-#: g10/keyedit.c:1340
+#: g10/keyedit.c:1341
 msgid "compact unusable user IDs and remove unusable signatures from key"
 msgstr ""
 
-#: g10/keyedit.c:1342
+#: g10/keyedit.c:1343
 msgid "compact unusable user IDs and remove all signatures from key"
 msgstr ""
 
-#: g10/keyedit.c:1463
+#: g10/keyedit.c:1464
 msgid "Secret key is available.\n"
 msgstr "Tajný kľúč je dostupný.\n"
 
-#: g10/keyedit.c:1465
+#: g10/keyedit.c:1466
 #, fuzzy
 #| msgid "Secret key is available.\n"
 msgid "Secret subkeys are available.\n"
 msgstr "Tajný kľúč je dostupný.\n"
 
-#: g10/keyedit.c:1567
+#: g10/keyedit.c:1568
 msgid "Need the secret key to do this.\n"
 msgstr "Na vykonanie tejto operácie je potrebný tajný kľúč.\n"
 
-#: g10/keyedit.c:1590
+#: g10/keyedit.c:1591
 msgid ""
 "* The 'sign' command may be prefixed with an 'l' for local signatures "
 "(lsign),\n"
@@ -4568,314 +4586,314 @@ msgid ""
 "  (nrsign), or any combination thereof (ltsign, tnrsign, etc.).\n"
 msgstr ""
 
-#: g10/keyedit.c:1648 g10/keyedit.c:2667 g10/keyedit.c:3040 g10/keyedit.c:3108
+#: g10/keyedit.c:1649 g10/keyedit.c:2668 g10/keyedit.c:3041 g10/keyedit.c:3109
 msgid "Key is revoked."
 msgstr "Kľúč revokovaný."
 
-#: g10/keyedit.c:1671
+#: g10/keyedit.c:1672
 #, fuzzy
 msgid "Really sign all text user IDs? (y/N) "
 msgstr "Skutočne podpísať všetky id užívateľa? "
 
-#: g10/keyedit.c:1675
+#: g10/keyedit.c:1676
 #, fuzzy
 msgid "Really sign all user IDs? (y/N) "
 msgstr "Skutočne podpísať všetky id užívateľa? "
 
-#: g10/keyedit.c:1683
+#: g10/keyedit.c:1684
 msgid "Hint: Select the user IDs to sign\n"
 msgstr "Nápoveda: Vyberte id užívateľa na podpísanie\n"
 
-#: g10/keyedit.c:1694
+#: g10/keyedit.c:1695
 #, fuzzy, c-format
 msgid "Unknown signature type '%s'\n"
 msgstr "neznáma trieda podpisu"
 
-#: g10/keyedit.c:1718
+#: g10/keyedit.c:1719
 #, c-format
 msgid "This command is not allowed while in %s mode.\n"
 msgstr "Tento príkaz nie je v módoch %s dovolený.\n"
 
-#: g10/keyedit.c:1740 g10/keyedit.c:1764 g10/keyedit.c:1961
+#: g10/keyedit.c:1741 g10/keyedit.c:1765 g10/keyedit.c:1962
 msgid "You must select at least one user ID.\n"
 msgstr "Musíte vybrať aspoň jedno id užívateľa.\n"
 
-#: g10/keyedit.c:1742 g10/keyedit.c:1766 g10/keyedit.c:1923 g10/keyedit.c:1963
+#: g10/keyedit.c:1743 g10/keyedit.c:1767 g10/keyedit.c:1924 g10/keyedit.c:1964
 #, c-format
 msgid "(Use the '%s' command.)\n"
 msgstr ""
 
-#: g10/keyedit.c:1745
+#: g10/keyedit.c:1746
 msgid "You can't delete the last user ID!\n"
 msgstr "Nemôžete zmazať posledné id užívateľa!\n"
 
-#: g10/keyedit.c:1748
+#: g10/keyedit.c:1749
 #, fuzzy
 msgid "Really remove all selected user IDs? (y/N) "
 msgstr "Skutočne odstrániť všetky vybrané id užívateľa? "
 
-#: g10/keyedit.c:1749
+#: g10/keyedit.c:1750
 #, fuzzy
 msgid "Really remove this user ID? (y/N) "
 msgstr "Skutočne odstrániť toto id užívateľa? "
 
 #. TRANSLATORS: Please take care: This is about
 #. moving the key and not about removing it.
-#: g10/keyedit.c:1806
+#: g10/keyedit.c:1807
 #, fuzzy
 msgid "Really move the primary key? (y/N) "
 msgstr "Skutočne odstrániť toto id užívateľa? "
 
-#: g10/keyedit.c:1818 g10/keyedit.c:4803
+#: g10/keyedit.c:1819 g10/keyedit.c:4804
 #, fuzzy
 msgid "You must select exactly one key.\n"
 msgstr "Musíte vybrať aspoň jeden kľúč.\n"
 
-#: g10/keyedit.c:1846
+#: g10/keyedit.c:1847
 msgid "Command expects a filename argument\n"
 msgstr ""
 
-#: g10/keyedit.c:1867
+#: g10/keyedit.c:1868
 #, fuzzy, c-format
 msgid "Can't open '%s': %s\n"
 msgstr "nemôžem otvoriť `%s': %s\n"
 
-#: g10/keyedit.c:1886
+#: g10/keyedit.c:1887
 #, fuzzy, c-format
 msgid "Error reading backup key from '%s': %s\n"
 msgstr "chyba pri vytváraní súboru kľúčov (keyring)`%s': %s\n"
 
-#: g10/keyedit.c:1921
+#: g10/keyedit.c:1922
 msgid "You must select at least one key.\n"
 msgstr "Musíte vybrať aspoň jeden kľúč.\n"
 
-#: g10/keyedit.c:1927
+#: g10/keyedit.c:1928
 #, fuzzy
 msgid "Do you really want to delete the selected keys? (y/N) "
 msgstr "Skutočne chcete zmazať vybrané kľúče? "
 
-#: g10/keyedit.c:1929
+#: g10/keyedit.c:1930
 #, fuzzy
 msgid "Do you really want to delete this key? (y/N) "
 msgstr "Skutočne chcete zmazať tento kľúč? "
 
-#: g10/keyedit.c:1967
+#: g10/keyedit.c:1968
 #, fuzzy
 msgid "Really revoke all selected user IDs? (y/N) "
 msgstr "Skutočne revokovať všetky vybrané id užívateľa? "
 
-#: g10/keyedit.c:1968
+#: g10/keyedit.c:1969
 #, fuzzy
 msgid "Really revoke this user ID? (y/N) "
 msgstr "Skutočne revokovať toto id užívateľa? "
 
-#: g10/keyedit.c:1986
+#: g10/keyedit.c:1987
 #, fuzzy
 msgid "Do you really want to revoke the entire key? (y/N) "
 msgstr "Skutočne chcete revokovať tento kľúč? "
 
-#: g10/keyedit.c:1997
+#: g10/keyedit.c:1998
 #, fuzzy
 msgid "Do you really want to revoke the selected subkeys? (y/N) "
 msgstr "Skutočne chcete revokovať vybrané kľúče? "
 
-#: g10/keyedit.c:1999
+#: g10/keyedit.c:2000
 #, fuzzy
 msgid "Do you really want to revoke this subkey? (y/N) "
 msgstr "Skutočne chcete revokovať tento kľúč? "
 
-#: g10/keyedit.c:2057
+#: g10/keyedit.c:2058
 msgid "Owner trust may not be set while using a user provided trust database\n"
 msgstr ""
 
-#: g10/keyedit.c:2102
+#: g10/keyedit.c:2103
 #, fuzzy
 msgid "Set preference list to:\n"
 msgstr "nastaviť zoznam predvolieb"
 
-#: g10/keyedit.c:2109
+#: g10/keyedit.c:2110
 #, fuzzy
 msgid "Really update the preferences for the selected user IDs? (y/N) "
 msgstr "Skutočne aktualizovať predvoľby pre vybrané id užívateľa? "
 
-#: g10/keyedit.c:2111
+#: g10/keyedit.c:2112
 #, fuzzy
 msgid "Really update the preferences? (y/N) "
 msgstr "Skutočne aktualizovať predvoľby? "
 
-#: g10/keyedit.c:2185
+#: g10/keyedit.c:2186
 #, fuzzy
 msgid "Save changes? (y/N) "
 msgstr "Uložiť zmeny? "
 
-#: g10/keyedit.c:2189
+#: g10/keyedit.c:2190
 #, fuzzy
 msgid "Quit without saving? (y/N) "
 msgstr "Ukončiť bez uloženia? "
 
-#: g10/keyedit.c:2216 g10/keyedit.c:2762 g10/keyedit.c:3061 g10/keyedit.c:3214
+#: g10/keyedit.c:2217 g10/keyedit.c:2763 g10/keyedit.c:3062 g10/keyedit.c:3215
 #, c-format
 msgid "Key not changed so no update needed.\n"
 msgstr "kľúč nebol zmenený, takže nie je potrebné ho aktualizovať.\n"
 
-#: g10/keyedit.c:2448
+#: g10/keyedit.c:2449
 #, fuzzy, c-format
 #| msgid "You can't delete the last user ID!\n"
 msgid "cannot revoke the last valid user ID.\n"
 msgstr "Nemôžete zmazať posledné id užívateľa!\n"
 
-#: g10/keyedit.c:2475
+#: g10/keyedit.c:2476
 #, fuzzy, c-format
 msgid "revoking the user ID failed: %s\n"
 msgstr "kontrola vytvoreného podpisu sa nepodarila: %s\n"
 
-#: g10/keyedit.c:2541
+#: g10/keyedit.c:2542
 #, fuzzy, c-format
 msgid "setting the primary user ID failed: %s\n"
 msgstr "kontrola vytvoreného podpisu sa nepodarila: %s\n"
 
-#: g10/keyedit.c:2572
+#: g10/keyedit.c:2573
 #, fuzzy, c-format
 msgid "\"%s\" is not a fingerprint\n"
 msgstr "chyba: neplatný odtlačok\n"
 
-#: g10/keyedit.c:2602
+#: g10/keyedit.c:2603
 #, fuzzy, c-format
 msgid "\"%s\" is not the primary fingerprint\n"
 msgstr "nemôžem inicializovať databázu dôvery: %s\n"
 
-#: g10/keyedit.c:2738 g10/keyedit.c:2741
+#: g10/keyedit.c:2739 g10/keyedit.c:2742
 #, fuzzy, c-format
 #| msgid "invalid value\n"
 msgid "Invalid user ID '%s': %s\n"
 msgstr "neplatná hodnota\n"
 
-#: g10/keyedit.c:2744
+#: g10/keyedit.c:2745
 #, fuzzy
 #| msgid "No such user ID.\n"
 msgid "No matching user IDs."
 msgstr "Takýto identifikátor užívateľa neexistuje.\n"
 
-#: g10/keyedit.c:2744
+#: g10/keyedit.c:2745
 #, fuzzy
 msgid "Nothing to sign.\n"
 msgstr "Nič na podpísanie kľúčom %08lX\n"
 
-#: g10/keyedit.c:2937 g10/keyedit.c:6019
+#: g10/keyedit.c:2938 g10/keyedit.c:6020
 #, fuzzy, c-format
 msgid "Not signed by you.\n"
 msgstr "   podpísané %08lX v %s%s\n"
 
-#: g10/keyedit.c:2995
+#: g10/keyedit.c:2996
 #, fuzzy, c-format
 #| msgid "checking created signature failed: %s\n"
 msgid "revoking the key signature failed: %s\n"
 msgstr "kontrola vytvoreného podpisu sa nepodarila: %s\n"
 
-#: g10/keyedit.c:3116
+#: g10/keyedit.c:3117
 #, fuzzy, c-format
 msgid "'%s' is not a valid expiration time\n"
 msgstr "%s nie je platná znaková sada\n"
 
-#: g10/keyedit.c:3159
+#: g10/keyedit.c:3160
 #, fuzzy, c-format
 msgid "\"%s\" is not a proper fingerprint\n"
 msgstr "chyba: neplatný odtlačok\n"
 
-#: g10/keyedit.c:3183
+#: g10/keyedit.c:3184
 #, fuzzy, c-format
 msgid "subkey \"%s\" not found\n"
 msgstr "kľúč `%s' nebol nájdený: %s\n"
 
-#: g10/keyedit.c:3306
+#: g10/keyedit.c:3307
 msgid "AEAD: "
 msgstr ""
 
-#: g10/keyedit.c:3323
+#: g10/keyedit.c:3324
 msgid "Digest: "
 msgstr "Digest: "
 
-#: g10/keyedit.c:3380
+#: g10/keyedit.c:3381
 msgid "Features: "
 msgstr "Charakteristiky: "
 
-#: g10/keyedit.c:3397
+#: g10/keyedit.c:3398
 msgid "Keyserver no-modify"
 msgstr ""
 
-#: g10/keyedit.c:3412 g10/keylist.c:376
+#: g10/keyedit.c:3413 g10/keylist.c:376
 msgid "Preferred keyserver: "
 msgstr ""
 
-#: g10/keyedit.c:3420 g10/keyedit.c:3421
+#: g10/keyedit.c:3421 g10/keyedit.c:3422
 #, fuzzy
 msgid "Notations: "
 msgstr "Notácie: "
 
-#: g10/keyedit.c:3669
+#: g10/keyedit.c:3670
 msgid "There are no preferences on a PGP 2.x-style user ID.\n"
 msgstr "Užívateľské ID vo formáte PGP 2.x nemá žiadne predvoľby\n"
 
-#: g10/keyedit.c:3741
+#: g10/keyedit.c:3742
 #, fuzzy, c-format
 msgid "The following key was revoked on %s by %s key %s\n"
 msgstr "Tento kľúč môže byť revokovaný kľúčom %s "
 
-#: g10/keyedit.c:3765
+#: g10/keyedit.c:3766
 #, fuzzy, c-format
 msgid "This key may be revoked by %s key %s"
 msgstr "Tento kľúč môže byť revokovaný kľúčom %s "
 
-#: g10/keyedit.c:3771
+#: g10/keyedit.c:3772
 #, fuzzy
 msgid "(sensitive)"
 msgstr "(citlivá informácia)"
 
-#: g10/keyedit.c:3813 g10/keyedit.c:3960 g10/keylist.c:264 g10/keyserver.c:538
+#: g10/keyedit.c:3814 g10/keyedit.c:3961 g10/keylist.c:264 g10/keyserver.c:361
 #, fuzzy, c-format
 msgid "created: %s"
 msgstr "%s: nemôžem vytvoriť: %s\n"
 
-#: g10/keyedit.c:3816 g10/keylist.c:2149
+#: g10/keyedit.c:3817 g10/keylist.c:2149
 #, fuzzy, c-format
 msgid "revoked: %s"
 msgstr "[revokované]"
 
-#: g10/keyedit.c:3818 g10/keylist.c:2155
+#: g10/keyedit.c:3819 g10/keylist.c:2155
 #, fuzzy, c-format
 msgid "expired: %s"
 msgstr " [platnosť skončí: %s]"
 
-#: g10/keyedit.c:3820 g10/keyedit.c:3962 g10/keylist.c:266 g10/keylist.c:2161
-#: g10/keyserver.c:544
+#: g10/keyedit.c:3821 g10/keyedit.c:3963 g10/keylist.c:266 g10/keylist.c:2161
+#: g10/keyserver.c:367
 #, fuzzy, c-format
 msgid "expires: %s"
 msgstr " [platnosť skončí: %s]"
 
-#: g10/keyedit.c:3822
+#: g10/keyedit.c:3823
 #, fuzzy, c-format
 msgid "usage: %s"
 msgstr " dôvera: %c/%c"
 
-#: g10/keyedit.c:3830 g10/keyedit.c:3850 g10/keylist.c:269
+#: g10/keyedit.c:3831 g10/keyedit.c:3851 g10/keylist.c:269
 msgid "card-no: "
 msgstr ""
 
-#: g10/keyedit.c:3889
+#: g10/keyedit.c:3890
 #, fuzzy, c-format
 msgid "trust: %s"
 msgstr " dôvera: %c/%c"
 
-#: g10/keyedit.c:3893
+#: g10/keyedit.c:3894
 #, c-format
 msgid "validity: %s"
 msgstr ""
 
-#: g10/keyedit.c:3900
+#: g10/keyedit.c:3901
 msgid "This key has been disabled"
 msgstr "Tento kľúč bol označený za neplatný (disabled)"
 
-#: g10/keyedit.c:3918
+#: g10/keyedit.c:3919
 msgid ""
 "Please note that the shown key validity is not necessarily correct\n"
 "unless you restart the program.\n"
@@ -4883,19 +4901,19 @@ msgstr ""
 "Prosím nezabúdajte, že zobrazované údaje o platnosti kľúčov nemusia\n"
 "byť správne, pokiaľ znovu nespustíte program.\n"
 
-#: g10/keyedit.c:3979 g10/keyedit.c:4410 g10/keyserver.c:548
-#: g10/mainproc.c:2371 g10/tofu.c:1787 g10/trust.c:437 dirmngr/ocsp.c:791
+#: g10/keyedit.c:3980 g10/keyedit.c:4411 g10/keyserver.c:371
+#: g10/mainproc.c:2380 g10/tofu.c:1787 g10/trust.c:437 dirmngr/ocsp.c:791
 #, fuzzy
 msgid "revoked"
 msgstr "[revokované]"
 
-#: g10/keyedit.c:3981 g10/keyedit.c:4412 g10/keyserver.c:552
-#: g10/mainproc.c:2373 g10/tofu.c:1792 g10/trust.c:124
+#: g10/keyedit.c:3982 g10/keyedit.c:4413 g10/keyserver.c:375
+#: g10/mainproc.c:2382 g10/tofu.c:1792 g10/trust.c:124
 #, fuzzy
 msgid "expired"
 msgstr "expire"
 
-#: g10/keyedit.c:4098
+#: g10/keyedit.c:4099
 #, c-format
 msgid ""
 "WARNING: no user ID has been marked as primary.  This command may\n"
@@ -4904,18 +4922,18 @@ msgstr ""
 "VAROVANIE: žiadne ID užívateľa nebolo označené ako primárne. Tento príkaz\n"
 "spôsobí, že iné ID užívateľa sa bude považovať primárne.\n"
 
-#: g10/keyedit.c:4150
+#: g10/keyedit.c:4151
 #, c-format
 msgid "WARNING: Your encryption subkey expires soon.\n"
 msgstr ""
 
-#: g10/keyedit.c:4151
+#: g10/keyedit.c:4152
 #, fuzzy, c-format
 #| msgid "You can't change the expiration date of a v3 key\n"
 msgid "You may want to change its expiration date too.\n"
 msgstr "Nemôžete zmeniť dobu platnosti kľúča verzie 3\n"
 
-#: g10/keyedit.c:4210
+#: g10/keyedit.c:4211
 msgid ""
 "WARNING: This is a PGP2-style key.  Adding a photo ID may cause some "
 "versions\n"
@@ -4924,35 +4942,35 @@ msgstr ""
 "VAROVANIE: Toto je PGP2 kľúč. Pridanie fotografického ID môže v niektorých\n"
 "           verziách PGP viesť k odmietnutiu tohto kľúča.\n"
 
-#: g10/keyedit.c:4215 g10/keyedit.c:4505
+#: g10/keyedit.c:4216 g10/keyedit.c:4506
 msgid "Are you sure you still want to add it? (y/N) "
 msgstr "Ste si istý, že ho chcete stále pridať? (a/N) "
 
-#: g10/keyedit.c:4221
+#: g10/keyedit.c:4222
 msgid "You may not add a photo ID to a PGP2-style key.\n"
 msgstr "Nemali by ste pridávať fotografické ID k PGP2 kľúču.\n"
 
-#: g10/keyedit.c:4236 g10/keygen.c:2899
+#: g10/keyedit.c:4237 g10/keygen.c:2899
 msgid "Such a user ID already exists on this key!\n"
 msgstr ""
 
-#: g10/keyedit.c:4338
+#: g10/keyedit.c:4339
 msgid "Delete this good signature? (y/N/q)"
 msgstr "Zmazať tento dobrý podpis? (a/N/u)"
 
-#: g10/keyedit.c:4348
+#: g10/keyedit.c:4349
 msgid "Delete this invalid signature? (y/N/q)"
 msgstr "Zmazať tento neplatný podpis? (a/N/u)"
 
-#: g10/keyedit.c:4352
+#: g10/keyedit.c:4353
 msgid "Delete this unknown signature? (y/N/q)"
 msgstr "Zmazať tento neznámy podpis? (a/N/u)"
 
-#: g10/keyedit.c:4359
+#: g10/keyedit.c:4360
 msgid "Really delete this self-signature? (y/N)"
 msgstr "Skutočne zmazať tento podpis podpísaný sebou samým? (a/N)"
 
-#: g10/keyedit.c:4375
+#: g10/keyedit.c:4376
 #, fuzzy, c-format
 #| msgid "Deleted %d signature.\n"
 msgid "Deleted %d signature.\n"
@@ -4960,38 +4978,38 @@ msgid_plural "Deleted %d signatures.\n"
 msgstr[0] "Zmazaný %d podpis.\n"
 msgstr[1] "Zmazaný %d podpis.\n"
 
-#: g10/keyedit.c:4379
+#: g10/keyedit.c:4380
 msgid "Nothing deleted.\n"
 msgstr "Nič nebolo zmaznané.\n"
 
-#: g10/keyedit.c:4414
+#: g10/keyedit.c:4415
 #, fuzzy
 msgid "invalid"
 msgstr "neplatný spôsob reprezentácie v ASCII"
 
-#: g10/keyedit.c:4416
+#: g10/keyedit.c:4417
 #, fuzzy, c-format
 msgid "User ID \"%s\" compacted: %s\n"
 msgstr "Užívateľské ID \"%s\" je revokované."
 
-#: g10/keyedit.c:4422
+#: g10/keyedit.c:4423
 #, fuzzy, c-format
 msgid "User ID \"%s\": %d signature removed\n"
 msgid_plural "User ID \"%s\": %d signatures removed\n"
 msgstr[0] "Užívateľské ID \"%s\" je revokované."
 msgstr[1] "Užívateľské ID \"%s\" je revokované."
 
-#: g10/keyedit.c:4430
+#: g10/keyedit.c:4431
 #, fuzzy, c-format
 msgid "User ID \"%s\": already minimized\n"
 msgstr "užívateľské ID \"%s\" je už revokované\n"
 
-#: g10/keyedit.c:4431
+#: g10/keyedit.c:4432
 #, fuzzy, c-format
 msgid "User ID \"%s\": already clean\n"
 msgstr "užívateľské ID \"%s\" je už revokované\n"
 
-#: g10/keyedit.c:4500
+#: g10/keyedit.c:4501
 msgid ""
 "WARNING: This is a PGP 2.x-style key.  Adding a designated revoker may "
 "cause\n"
@@ -5000,221 +5018,221 @@ msgstr ""
 "VAROVANIE: Toto je PGP2 kľúč. Pridanie fotografického ID môže v niektorých\n"
 "           verziách PGP viesť k odmietnutiu tohoto kľúča.\n"
 
-#: g10/keyedit.c:4511
+#: g10/keyedit.c:4512
 msgid "You may not add a designated revoker to a PGP 2.x-style key.\n"
 msgstr "Nemali by ste pridávať fotografické ID k PGP2 kľúču.\n"
 
-#: g10/keyedit.c:4528
+#: g10/keyedit.c:4529
 msgid "Enter the user ID of the designated revoker: "
 msgstr "Vložte identifikátor užívateľa povereného revokáciou: "
 
-#: g10/keyedit.c:4554
+#: g10/keyedit.c:4555
 #, c-format
 msgid "cannot appoint a PGP 2.x style key as a designated revoker\n"
 msgstr "kľúč vo formáte PGP 2.x nemožno poveriť revokáciou\n"
 
-#: g10/keyedit.c:4569
+#: g10/keyedit.c:4570
 #, c-format
 msgid "you cannot appoint a key as its own designated revoker\n"
 msgstr "kľúč nemožno poveriť revokáciou ním samým\n"
 
-#: g10/keyedit.c:4591
+#: g10/keyedit.c:4592
 #, fuzzy, c-format
 msgid "this key has already been designated as a revoker\n"
 msgstr "VAROVANIE: Tento kľúč bol revokovaný jeho určeným revokátorom/!\n"
 
-#: g10/keyedit.c:4609
+#: g10/keyedit.c:4610
 msgid "WARNING: appointing a key as a designated revoker cannot be undone!\n"
 msgstr "VAROVANIE: označenie kľúča ako revokovací už nemôže byť zrušené!\n"
 
-#: g10/keyedit.c:4615
+#: g10/keyedit.c:4616
 #, fuzzy
 msgid ""
 "Are you sure you want to appoint this key as a designated revoker? (y/N) "
 msgstr "Ste si istý, že chcete označiť tento kľúč ako revokovací? (a/N): "
 
-#: g10/keyedit.c:4683
+#: g10/keyedit.c:4684
 #, fuzzy
 msgid ""
 "Are you sure you want to change the expiration time for multiple subkeys? (y/"
 "N) "
 msgstr "Ste si istý, že chcete označiť tento kľúč ako revokovací? (a/N): "
 
-#: g10/keyedit.c:4688
+#: g10/keyedit.c:4689
 #, fuzzy
 msgid "Changing expiration time for a subkey.\n"
 msgstr "Mením dobu platnosti sekundárneho kľúča.\n"
 
-#: g10/keyedit.c:4691
+#: g10/keyedit.c:4692
 msgid "Changing expiration time for the primary key.\n"
 msgstr "Mením dobu platnosti primárneho kľúča.\n"
 
-#: g10/keyedit.c:4747
+#: g10/keyedit.c:4748
 #, c-format
 msgid "You can't change the expiration date of a v3 key\n"
 msgstr "Nemôžete zmeniť dobu platnosti kľúča verzie 3\n"
 
-#: g10/keyedit.c:4807
+#: g10/keyedit.c:4808
 #, fuzzy
 msgid "Changing usage of a subkey.\n"
 msgstr "Mením dobu platnosti sekundárneho kľúča.\n"
 
-#: g10/keyedit.c:4810
+#: g10/keyedit.c:4811
 #, fuzzy
 #| msgid "Changing expiration time for the primary key.\n"
 msgid "Changing usage of the primary key.\n"
 msgstr "Mením dobu platnosti primárneho kľúča.\n"
 
-#: g10/keyedit.c:4928
+#: g10/keyedit.c:4929
 #, fuzzy, c-format
 msgid "signing subkey %s is already cross-certified\n"
 msgstr "VAROVANIE: podpisovací podkľúč %08lX nie je krížovo certifikovaný\n"
 
-#: g10/keyedit.c:4934
+#: g10/keyedit.c:4935
 #, c-format
 msgid "subkey %s does not sign and so does not need to be cross-certified\n"
 msgstr ""
 
-#: g10/keyedit.c:5051
+#: g10/keyedit.c:5052
 msgid "Please select exactly one user ID.\n"
 msgstr "Prosím, vyberte práve jedno id užívateľa.\n"
 
-#: g10/keyedit.c:5092 g10/keyedit.c:5206 g10/keyedit.c:5319 g10/keyedit.c:5457
+#: g10/keyedit.c:5093 g10/keyedit.c:5207 g10/keyedit.c:5320 g10/keyedit.c:5458
 #, fuzzy, c-format
 msgid "skipping v3 self-signature on user ID \"%s\"\n"
 msgstr "preskočený v3 podpis kľúča ním samým u užívateľského id \"%s\"\n"
 
-#: g10/keyedit.c:5263
+#: g10/keyedit.c:5264
 msgid "Enter your preferred keyserver URL: "
 msgstr ""
 
-#: g10/keyedit.c:5342
+#: g10/keyedit.c:5343
 #, fuzzy
 msgid "Are you sure you want to replace it? (y/N) "
 msgstr "Ste si istý, že ho chcete použiť? (a/N) "
 
-#: g10/keyedit.c:5343
+#: g10/keyedit.c:5344
 #, fuzzy
 msgid "Are you sure you want to delete it? (y/N) "
 msgstr "Ste si istý, že ho chcete použiť? (a/N) "
 
-#: g10/keyedit.c:5403
+#: g10/keyedit.c:5404
 #, fuzzy
 msgid "Enter the notation: "
 msgstr "Podpisová notácia: "
 
-#: g10/keyedit.c:5550
+#: g10/keyedit.c:5551
 #, fuzzy
 msgid "Proceed? (y/N) "
 msgstr "Prepísať (a/N)? "
 
-#: g10/keyedit.c:5620
+#: g10/keyedit.c:5621
 #, c-format
 msgid "No user ID with index %d\n"
 msgstr "Neexistuje identifikátor užívateľa s indexom %d\n"
 
-#: g10/keyedit.c:5682
+#: g10/keyedit.c:5683
 #, fuzzy, c-format
 msgid "No user ID with hash %s\n"
 msgstr "Neexistuje identifikátor užívateľa s indexom %d\n"
 
-#: g10/keyedit.c:5783
+#: g10/keyedit.c:5784
 #, fuzzy, c-format
 msgid "No subkey with key ID '%s'.\n"
 msgstr "Neexistuje identifikátor užívateľa s indexom %d\n"
 
-#: g10/keyedit.c:5805
+#: g10/keyedit.c:5806
 #, fuzzy, c-format
 msgid "No subkey with index %d\n"
 msgstr "Neexistuje identifikátor užívateľa s indexom %d\n"
 
-#: g10/keyedit.c:5946
+#: g10/keyedit.c:5947
 #, fuzzy, c-format
 msgid "user ID: \"%s\"\n"
 msgstr "id užívateľa: \""
 
-#: g10/keyedit.c:5949 g10/keyedit.c:6051 g10/keyedit.c:6099
+#: g10/keyedit.c:5950 g10/keyedit.c:6052 g10/keyedit.c:6100
 #, fuzzy, c-format
 msgid "signed by your key %s on %s%s%s\n"
 msgstr "   podpísané %08lX v %s%s%s\n"
 
-#: g10/keyedit.c:5951 g10/keyedit.c:6053 g10/keyedit.c:6101
+#: g10/keyedit.c:5952 g10/keyedit.c:6054 g10/keyedit.c:6102
 msgid " (non-exportable)"
 msgstr " (nexeportovateľné)"
 
-#: g10/keyedit.c:5955
+#: g10/keyedit.c:5956
 #, c-format
 msgid "This signature expired on %s.\n"
 msgstr "Platnosť podpisu vyprší %s.\n"
 
-#: g10/keyedit.c:5960
+#: g10/keyedit.c:5961
 msgid "Are you sure you still want to revoke it? (y/N) "
 msgstr "Ste si istý, že ho chcete stále revokovať? (a/N) "
 
-#: g10/keyedit.c:5965
+#: g10/keyedit.c:5966
 msgid "Create a revocation certificate for this signature? (y/N) "
 msgstr "Vytvoriť pre tento podpis revokačný certifikát? (a/N)"
 
-#: g10/keyedit.c:6025
+#: g10/keyedit.c:6026
 #, fuzzy, c-format
 msgid "You have signed these user IDs on key %s:\n"
 msgstr "Podpísali ste nasledujúce identifikátory užívateľa:\n"
 
-#: g10/keyedit.c:6054
+#: g10/keyedit.c:6055
 #, fuzzy
 msgid " (non-revocable)"
 msgstr " (nexeportovateľné)"
 
-#: g10/keyedit.c:6061
+#: g10/keyedit.c:6062
 #, fuzzy, c-format
 msgid "revoked by your key %s on %s\n"
 msgstr "   revokované %08lX v %s\n"
 
-#: g10/keyedit.c:6086
+#: g10/keyedit.c:6087
 msgid "You are about to revoke these signatures:\n"
 msgstr "Chystáte sa revokovať tieto podpisy:\n"
 
-#: g10/keyedit.c:6109
+#: g10/keyedit.c:6110
 msgid "Really create the revocation certificates? (y/N) "
 msgstr "Skutočne vytvoriť revokačné certifikáty? (a/N) "
 
-#: g10/keyedit.c:6142
+#: g10/keyedit.c:6143
 #, c-format
 msgid "no secret key\n"
 msgstr "neexistuje tajný kľúč\n"
 
-#: g10/keyedit.c:6190
+#: g10/keyedit.c:6191
 #, c-format
 msgid "tried to revoke a non-user ID: %s\n"
 msgstr ""
 
-#: g10/keyedit.c:6200
+#: g10/keyedit.c:6201
 #, c-format
 msgid "user ID \"%s\" is already revoked\n"
 msgstr "užívateľské ID \"%s\" je už revokované\n"
 
-#: g10/keyedit.c:6217
+#: g10/keyedit.c:6218
 #, c-format
 msgid "WARNING: a user ID signature is dated %d seconds in the future\n"
 msgstr "VAROVANIE: podpis použivateľkého ID vznikol %d sekund v budúcnosti\n"
 
-#: g10/keyedit.c:6313
+#: g10/keyedit.c:6314
 #, fuzzy, c-format
 #| msgid "You can't delete the last user ID!\n"
 msgid "Cannot revoke the last valid user ID.\n"
 msgstr "Nemôžete zmazať posledné id užívateľa!\n"
 
-#: g10/keyedit.c:6351
+#: g10/keyedit.c:6352
 #, fuzzy, c-format
 msgid "Key %s is already revoked.\n"
 msgstr "užívateľské ID \"%s\" je už revokované\n"
 
-#: g10/keyedit.c:6413
+#: g10/keyedit.c:6414
 #, fuzzy, c-format
 msgid "Subkey %s is already revoked.\n"
 msgstr "užívateľské ID \"%s\" je už revokované\n"
 
-#: g10/keyedit.c:6510
+#: g10/keyedit.c:6511
 #, fuzzy, c-format
 msgid "Displaying %s photo ID of size %ld for key %s (uid %d)\n"
 msgstr ""
@@ -5946,80 +5964,75 @@ msgstr "zadané URL pre podpisovú politiku je neplatné\n"
 msgid "honor the PKA record set on a key when retrieving keys"
 msgstr ""
 
-#: g10/keyserver.c:550
+#: g10/keyserver.c:373
 #, fuzzy
 msgid "disabled"
 msgstr "disable"
 
-#: g10/keyserver.c:754
+#: g10/keyserver.c:577
 msgid "Enter number(s), N)ext, or Q)uit > "
 msgstr ""
 
-#: g10/keyserver.c:860
+#: g10/keyserver.c:683
 #, fuzzy, c-format
 msgid "invalid keyserver protocol (us %d!=handler %d)\n"
 msgstr "neplatný parameter pre export\n"
 
-#: g10/keyserver.c:1001 g10/keyserver.c:1116
+#: g10/keyserver.c:824 g10/keyserver.c:939
 #, c-format
 msgid "\"%s\" not a key ID: skipping\n"
 msgstr ""
 
-#: g10/keyserver.c:1438 g10/keyserver.c:1471
+#: g10/keyserver.c:1237 g10/keyserver.c:1270
 #, fuzzy, c-format
 msgid "refreshing %d key from %s\n"
 msgid_plural "refreshing %d keys from %s\n"
 msgstr[0] "požadujem kľúč %08lX z %s\n"
 msgstr[1] "požadujem kľúč %08lX z %s\n"
 
-#: g10/keyserver.c:1445
+#: g10/keyserver.c:1244
 #, fuzzy, c-format
 msgid "WARNING: unable to refresh key %s via %s: %s\n"
 msgstr "VAROVANIE: nemôžem vymazať dočasný súbor (%s) `%s': %s\n"
 
-#: g10/keyserver.c:1549
+#: g10/keyserver.c:1336
 #, fuzzy, c-format
 msgid "key \"%s\" not found on keyserver\n"
 msgstr "kľúč `%s' nebol nájdený: %s\n"
 
-#: g10/keyserver.c:1552
+#: g10/keyserver.c:1339
 #, fuzzy, c-format
 msgid "key not found on keyserver\n"
 msgstr "kľúč `%s' nebol nájdený: %s\n"
 
-#: g10/keyserver.c:1743
-#, fuzzy, c-format
-msgid "requesting key %s from %s server %s\n"
-msgstr "požadujem kľúč %08lX z %s\n"
-
-#: g10/keyserver.c:1747
+#: g10/keyserver.c:1504
 #, fuzzy, c-format
 msgid "requesting key %s from %s\n"
 msgstr "požadujem kľúč %08lX z %s\n"
 
-#: g10/keyserver.c:1852 g10/keyserver.c:2031
+#: g10/keyserver.c:1619 g10/keyserver.c:1798
 #, fuzzy, c-format
 msgid "no keyserver known\n"
 msgstr "neplatný parameter pre export\n"
 
-#: g10/keyserver.c:1867 g10/skclist.c:214 g10/skclist.c:242
+#: g10/keyserver.c:1634 g10/skclist.c:215 g10/skclist.c:243
 #, fuzzy, c-format
 msgid "skipped \"%s\": %s\n"
 msgstr "preskočený `%s': %s\n"
 
-#: g10/keyserver.c:1871
+#: g10/keyserver.c:1638
 #, fuzzy, c-format
 msgid "sending key %s to %s\n"
 msgstr ""
 "\"\n"
 "podpísané Vaším kľúčom %08lX v %s\n"
 
-#: g10/keyserver.c:1912
+#: g10/keyserver.c:1679
 #, fuzzy, c-format
 msgid "requesting key from '%s'\n"
 msgstr "požadujem kľúč %08lX z %s\n"
 
-#: g10/keyserver.c:1928
+#: g10/keyserver.c:1695
 #, fuzzy, c-format
 msgid "WARNING: unable to fetch URI %s: %s\n"
 msgstr "VAROVANIE: nemôžem vymazať dočasný súbor (%s) `%s': %s\n"
@@ -6034,263 +6047,263 @@ msgstr "zvláštna veľkosť šifrovacieho kľúča pre sedenie (%d)\n"
 msgid "%s encrypted session key\n"
 msgstr "%s kľúč šifrovaného sedenia\n"
 
-#: g10/mainproc.c:400
+#: g10/mainproc.c:403
 #, fuzzy, c-format
 msgid "passphrase generated with unknown digest algorithm %d\n"
 msgstr "zašifrované neznámym algoritmom %d\n"
 
-#: g10/mainproc.c:481
+#: g10/mainproc.c:485
 #, fuzzy, c-format
 msgid "public key is %s\n"
 msgstr "verejný kľúč je %08lX\n"
 
-#: g10/mainproc.c:557
+#: g10/mainproc.c:561
 #, c-format
 msgid "public key encrypted data: good DEK\n"
 msgstr "dáta zašifrované verejným kľúčom: správny DEK\n"
 
-#: g10/mainproc.c:590
+#: g10/mainproc.c:594
 #, fuzzy, c-format
 msgid "encrypted with %u-bit %s key, ID %s, created %s\n"
 msgstr "zašifrované %u-bitovým %s kľúčom, ID %08lX, vytvoreným %s\n"
 
-#: g10/mainproc.c:594 g10/pkclist.c:228
+#: g10/mainproc.c:598 g10/pkclist.c:228
 #, fuzzy, c-format
 msgid "      \"%s\"\n"
 msgstr "                alias \""
 
 # Scripte scannen lt. dl1bke auf "ID (0-9A-F)+" deswegen muß "ID" rein :-(
 # [kw]
-#: g10/mainproc.c:598
+#: g10/mainproc.c:602
 #, fuzzy, c-format
 msgid "encrypted with %s key, ID %s\n"
 msgstr "zašifrovaná %s kľúčom, ID %08lX\n"
 
-#: g10/mainproc.c:619
+#: g10/mainproc.c:623
 #, c-format
 msgid "public key decryption failed: %s\n"
 msgstr "dešifrovanie verejným kľúčom zlyhalo: %s\n"
 
-#: g10/mainproc.c:641 g10/mainproc.c:970
+#: g10/mainproc.c:645 g10/mainproc.c:976
 #, c-format
 msgid "WARNING: multiple plaintexts seen\n"
 msgstr ""
 
-#: g10/mainproc.c:649
+#: g10/mainproc.c:653
 #, c-format
 msgid "encrypted with %lu passphrases\n"
 msgstr "zašifrované s %lu heslami\n"
 
-#: g10/mainproc.c:651
+#: g10/mainproc.c:655
 #, c-format
 msgid "encrypted with 1 passphrase\n"
 msgstr "zašifrované jedným heslom\n"
 
-#: g10/mainproc.c:685 g10/mainproc.c:706
+#: g10/mainproc.c:689 g10/mainproc.c:710
 #, c-format
 msgid "assuming %s encrypted data\n"
 msgstr "predpokladám %s šifrovaných dát\n"
 
-#: g10/mainproc.c:692
+#: g10/mainproc.c:696
 #, c-format
 msgid "IDEA cipher unavailable, optimistically attempting to use %s instead\n"
 msgstr ""
 "algoritmus IDEA nie je dostupný; optimisticky sa ho pokúsime nahradiť "
 "algoritmom %s\n"
 
-#: g10/mainproc.c:779 g10/mainproc.c:817
+#: g10/mainproc.c:785 g10/mainproc.c:823
 #, c-format
 msgid "WARNING: message was not integrity protected\n"
 msgstr "VAROVANIE: správa nemá ochranu integrity\n"
 
-#: g10/mainproc.c:790
+#: g10/mainproc.c:796
 msgid ""
 "Hint: If this message was created before the year 2003 it is\n"
 "likely that this message is legitimate.  This is because back\n"
 "then integrity protection was not widely used.\n"
 msgstr ""
 
-#: g10/mainproc.c:793
+#: g10/mainproc.c:799
 #, c-format
 msgid "Use the option '%s' to decrypt anyway.\n"
 msgstr ""
 
-#: g10/mainproc.c:798
+#: g10/mainproc.c:804
 #, fuzzy, c-format
 #| msgid "decryption failed: %s\n"
 msgid "decryption forced to fail!\n"
 msgstr "dešifrovanie zlyhalo: %s\n"
 
-#: g10/mainproc.c:810
+#: g10/mainproc.c:816
 #, c-format
 msgid "decryption okay\n"
 msgstr "dešifrovanie o.k.\n"
 
-#: g10/mainproc.c:823
+#: g10/mainproc.c:829
 #, c-format
 msgid "WARNING: encrypted message has been manipulated!\n"
 msgstr "VAROVANIE: so zašifrovanou správou bolo manipulované!\n"
 
-#: g10/mainproc.c:841
+#: g10/mainproc.c:847
 #, c-format
 msgid "decryption failed: %s\n"
 msgstr "dešifrovanie zlyhalo: %s\n"
 
-#: g10/mainproc.c:886
+#: g10/mainproc.c:892
 #, fuzzy, c-format
 #| msgid "NOTE: sender requested \"for-your-eyes-only\"\n"
 msgid "Note: sender requested \"for-your-eyes-only\"\n"
 msgstr "POZNÁMKA: odosielateľ požadoval (\"for-your-eyes-only\")\n"
 
-#: g10/mainproc.c:893
+#: g10/mainproc.c:899
 #, c-format
 msgid "original file name='%.*s'\n"
 msgstr "pôvodné meno súboru='%.*s'\n"
 
-#: g10/mainproc.c:1148
+#: g10/mainproc.c:1154
 #, c-format
 msgid "standalone revocation - use \"gpg --import\" to apply\n"
 msgstr ""
 "samostatný revokačný certifikát -  použite \"gpg --import\", ak ho chcete "
 "využiť\n"
 
-#: g10/mainproc.c:1452 g10/mainproc.c:1495
+#: g10/mainproc.c:1458 g10/mainproc.c:1501
 #, fuzzy, c-format
 msgid "no signature found\n"
 msgstr "Dobrý podpis od \""
 
-#: g10/mainproc.c:1852
+#: g10/mainproc.c:1858
 #, fuzzy, c-format
 msgid "BAD signature from \"%s\""
 msgstr "ZLÝ podpis od \""
 
-#: g10/mainproc.c:1854
+#: g10/mainproc.c:1860
 #, fuzzy, c-format
 msgid "Expired signature from \"%s\""
 msgstr "Podpis s vypršanou platnosťou od \""
 
-#: g10/mainproc.c:1856
+#: g10/mainproc.c:1862
 #, fuzzy, c-format
 msgid "Good signature from \"%s\""
 msgstr "Dobrý podpis od \""
 
-#: g10/mainproc.c:1876
+#: g10/mainproc.c:1882
 #, c-format
 msgid "signature verification suppressed\n"
 msgstr "verifikácia podpisu potlačená\n"
 
-#: g10/mainproc.c:1985
+#: g10/mainproc.c:1991
 #, fuzzy, c-format
 msgid "can't handle this ambiguous signature data\n"
 msgstr "neviem pracovať s týmito násobnými podpismi\n"
 
-#: g10/mainproc.c:2001 g10/mainproc.c:2008
+#: g10/mainproc.c:2007 g10/mainproc.c:2014
 #, fuzzy, c-format
 msgid "Signature made %s\n"
 msgstr "Platnosť podpisu vypršala %s\n"
 
-#: g10/mainproc.c:2002 g10/mainproc.c:2009 sm/verify.c:476
+#: g10/mainproc.c:2008 g10/mainproc.c:2015 sm/verify.c:476
 #, fuzzy, c-format
 msgid "               using %s key %s\n"
 msgstr "                alias \""
 
 # Scripte scannen lt. dl1bke auf "ID (0-9A-F)+" deswegen muß "ID" rein :-(
-#: g10/mainproc.c:2013
+#: g10/mainproc.c:2019
 #, fuzzy, c-format
 msgid "Signature made %s using %s key ID %s\n"
 msgstr "Podpis vytvorený %.*s pomocou %s kľúča ID %08lX\n"
 
-#: g10/mainproc.c:2019
+#: g10/mainproc.c:2025
 #, fuzzy, c-format
 msgid "               issuer \"%s\"\n"
 msgstr "                alias \""
 
-#: g10/mainproc.c:2070
+#: g10/mainproc.c:2076
 #, c-format
 msgid "Key available at: "
 msgstr "Kľúč k dispozícii na: "
 
-#: g10/mainproc.c:2111
+#: g10/mainproc.c:2118
 #, c-format
 msgid "Note: Use '%s' to make use of this info\n"
 msgstr ""
 
-#: g10/mainproc.c:2325
+#: g10/mainproc.c:2334
 msgid "[uncertain]"
 msgstr "[neistý]  "
 
-#: g10/mainproc.c:2363
+#: g10/mainproc.c:2372
 #, fuzzy, c-format
 msgid "                aka \"%s\""
 msgstr "                alias \""
 
-#: g10/mainproc.c:2438
+#: g10/mainproc.c:2447
 #, fuzzy, c-format
 #| msgid "WARNING: This key is not certified with a trusted signature!\n"
 msgid "WARNING: This key is not suitable for signing in %s mode\n"
 msgstr "VAROVANIE: Tento kľúč nie certifikovaný dôveryhodným podpisom!\n"
 
-#: g10/mainproc.c:2456
+#: g10/mainproc.c:2465
 #, c-format
 msgid "Signature expired %s\n"
 msgstr "Platnosť podpisu vypršala %s\n"
 
-#: g10/mainproc.c:2460
+#: g10/mainproc.c:2469
 #, c-format
 msgid "Signature expires %s\n"
 msgstr "Platnosť podpisu vyprší %s\n"
 
-#: g10/mainproc.c:2471
+#: g10/mainproc.c:2480
 #, fuzzy, c-format
 #| msgid "%s signature, digest algorithm %s\n"
 msgid "%s signature, digest algorithm %s%s%s\n"
 msgstr "%s podpis, hashovací algoritmus %s\n"
 
-#: g10/mainproc.c:2472
+#: g10/mainproc.c:2481
 msgid "binary"
 msgstr "binárne"
 
-#: g10/mainproc.c:2473
+#: g10/mainproc.c:2482
 msgid "textmode"
 msgstr "textový mód"
 
-#: g10/mainproc.c:2473 g10/trust.c:123 dirmngr/ocsp.c:792
+#: g10/mainproc.c:2482 g10/trust.c:123 dirmngr/ocsp.c:792
 msgid "unknown"
 msgstr "neznáme"
 
-#: g10/mainproc.c:2475
+#: g10/mainproc.c:2484
 #, fuzzy
 #| msgid "unknown pubkey algorithm"
 msgid ", key algorithm "
 msgstr "neznámy algoritmus verejného kľúča"
 
-#: g10/mainproc.c:2510
+#: g10/mainproc.c:2519
 #, c-format
 msgid "WARNING: not a detached signature; file '%s' was NOT verified!\n"
 msgstr ""
 
-#: g10/mainproc.c:2548
+#: g10/mainproc.c:2558
 #, c-format
 msgid "Can't check signature: %s\n"
 msgstr "Nemôžem overiť podpis: %s\n"
 
-#: g10/mainproc.c:2644 g10/mainproc.c:2663 g10/mainproc.c:2787
+#: g10/mainproc.c:2654 g10/mainproc.c:2673 g10/mainproc.c:2797
 #, c-format
 msgid "not a detached signature\n"
 msgstr "toto nie je podpis oddelený od dokumentu\n"
 
-#: g10/mainproc.c:2697
+#: g10/mainproc.c:2707
 #, c-format
 msgid ""
 "WARNING: multiple signatures detected.  Only the first will be checked.\n"
 msgstr "VAROVANIE: Nájdené viacnásobne podpisy. Skontrolovaný bude len prvý.\n"
 
-#: g10/mainproc.c:2706
+#: g10/mainproc.c:2716
 #, c-format
 msgid "standalone signature of class 0x%02x\n"
 msgstr "samostatný podpis triedy 0x%02x\n"
 
-#: g10/mainproc.c:2791
+#: g10/mainproc.c:2801
 #, c-format
 msgid "old style (PGP 2.x) signature\n"
 msgstr "podpis starého typu (PGP 2.x)\n"
@@ -6478,56 +6491,61 @@ msgstr "Kritická podpisová notácia: "
 msgid "subpacket of type %d has critical bit set\n"
 msgstr "podpaket typu %d má nastavený kritický bit\n"
 
-#: g10/passphrase.c:73 g10/passphrase.c:275 g10/passphrase.c:308
+#: g10/passphrase.c:73 g10/passphrase.c:283 g10/passphrase.c:316
 #, fuzzy, c-format
 msgid "problem with the agent: %s\n"
 msgstr "problém s agentom: agent vracia 0x%lx\n"
 
-#: g10/passphrase.c:258
+#: g10/passphrase.c:251 sm/decrypt.c:341
+#, fuzzy
+msgid "Please enter the passphrase for decryption."
+msgstr "zmeniť heslo"
+
+#: g10/passphrase.c:253
 msgid "Enter passphrase\n"
 msgstr "Vložiť heslo\n"
 
-#: g10/passphrase.c:269
+#: g10/passphrase.c:277
 #, c-format
 msgid "cancelled by user\n"
 msgstr "zrušené užívateľom\n"
 
-#: g10/passphrase.c:510
+#: g10/passphrase.c:523
 #, fuzzy, c-format
 msgid " (main key ID %s)"
 msgstr " (hlavné ID kľúča %08lX)"
 
-#: g10/passphrase.c:517
+#: g10/passphrase.c:530
 #, fuzzy
 msgid "Please enter the passphrase to unlock the OpenPGP secret key:"
 msgstr "Prosím, vložte heslo; toto je tajná veta \n"
 
-#: g10/passphrase.c:521
+#: g10/passphrase.c:534
 #, fuzzy
 msgid "Please enter the passphrase to import the OpenPGP secret key:"
 msgstr "Prosím, vložte heslo; toto je tajná veta \n"
 
-#: g10/passphrase.c:526
+#: g10/passphrase.c:539
 #, fuzzy
 msgid "Please enter the passphrase to export the OpenPGP secret subkey:"
 msgstr "Prosím, vložte heslo; toto je tajná veta \n"
 
-#: g10/passphrase.c:529
+#: g10/passphrase.c:542
 #, fuzzy
 msgid "Please enter the passphrase to export the OpenPGP secret key:"
 msgstr "Prosím, vložte heslo; toto je tajná veta \n"
 
-#: g10/passphrase.c:534
+#: g10/passphrase.c:547
 #, fuzzy
 msgid "Do you really want to permanently delete the OpenPGP secret subkey key:"
 msgstr "Skutočne chcete zmazať vybrané kľúče? "
 
-#: g10/passphrase.c:537
+#: g10/passphrase.c:550
 #, fuzzy
 msgid "Do you really want to permanently delete the OpenPGP secret key:"
 msgstr "Skutočne chcete zmazať vybrané kľúče? "
 
-#: g10/passphrase.c:546
+#: g10/passphrase.c:559
 #, fuzzy, c-format
 msgid ""
 "%s\n"
@@ -6580,7 +6598,7 @@ msgstr "\"%s\" nie je súbor JPEG\n"
 msgid "Is this photo correct (y/N/q)? "
 msgstr "Je táto fotografia správna (a/N/u)? "
 
-#: g10/photoid.c:395
+#: g10/photoid.c:399
 #, fuzzy, c-format
 msgid "unable to display photo ID!\n"
 msgstr "nemožno nastaviť exec-path na %s\n"
@@ -6938,7 +6956,7 @@ msgstr "nemôžem otvoriť podpísané dáta '%s'\n"
 msgid "can't open signed data fd=%d: %s\n"
 msgstr "nemôžem otvoriť podpísané dáta '%s'\n"
 
-#: g10/pubkey-enc.c:98 g10/pubkey-enc.c:139 sm/decrypt.c:493
+#: g10/pubkey-enc.c:98 g10/pubkey-enc.c:139 sm/decrypt.c:969
 #, fuzzy, c-format
 msgid "key %s is not suitable for decryption in %s mode\n"
 msgstr "kľúč %08lX: chyba identifikátor užívateľa\n"
@@ -6953,27 +6971,27 @@ msgstr "anonymný adresát; skúšam tajný kľúč %08lX ...\n"
 msgid "okay, we are the anonymous recipient.\n"
 msgstr "o.k., my sme anonymný adresát.\n"
 
-#: g10/pubkey-enc.c:321
+#: g10/pubkey-enc.c:311
 #, c-format
 msgid "old encoding of the DEK is not supported\n"
 msgstr "staré kódovanie DEK nie je podporováné\n"
 
-#: g10/pubkey-enc.c:349
+#: g10/pubkey-enc.c:339
 #, c-format
 msgid "cipher algorithm %d%s is unknown or disabled\n"
 msgstr "šifrovací algoritmus %d%s je neznamý alebo je zakázaný\n"
 
-#: g10/pubkey-enc.c:393
+#: g10/pubkey-enc.c:383
 #, fuzzy, c-format
 msgid "WARNING: cipher algorithm %s not found in recipient preferences\n"
 msgstr "POZNÁMKA: v predvoľbách nenájdený šifrovací algoritmus %d\n"
 
-#: g10/pubkey-enc.c:426
+#: g10/pubkey-enc.c:416
 #, fuzzy, c-format
 msgid "Note: secret key %s expired at %s\n"
 msgstr "POZNÁMKA: platnosť tajného kľúča %08lX skončila %s\n"
 
-#: g10/pubkey-enc.c:433
+#: g10/pubkey-enc.c:423
 #, fuzzy, c-format
 #| msgid "NOTE: key has been revoked"
 msgid "Note: key has been revoked"
@@ -7292,41 +7310,41 @@ msgstr ""
 msgid "%s/%s signature from: \"%s\"\n"
 msgstr "%s podpis od: \"%s\"\n"
 
-#: g10/sign.c:1046
+#: g10/sign.c:1045
 #, fuzzy, c-format
 msgid ""
 "WARNING: forcing digest algorithm %s (%d) violates recipient preferences\n"
 msgstr ""
 "vyžiadaný hashovací algoritmus %s (%d) nevyhovuje predvoľbám príjemcu\n"
 
-#: g10/sign.c:1188
+#: g10/sign.c:1187
 #, c-format
 msgid "signing:"
 msgstr "podpisujem:"
 
-#: g10/sign.c:1465
+#: g10/sign.c:1464
 #, c-format
 msgid "%s encryption will be used\n"
 msgstr "bude použité šifrovanie %s\n"
 
-#: g10/skclist.c:173 g10/skclist.c:254
+#: g10/skclist.c:174 g10/skclist.c:255
 #, c-format
 msgid "key is not flagged as insecure - can't use it with the faked RNG!\n"
 msgstr ""
 "kľúč nie je označený ako nedostatočne bezpečný - nemôžem ho použiť s "
 "falošným RNG!\n"
 
-#: g10/skclist.c:205
+#: g10/skclist.c:206
 #, fuzzy, c-format
 msgid "skipped \"%s\": duplicated\n"
 msgstr "preskočený `%s': duplikovaný\n"
 
-#: g10/skclist.c:224
+#: g10/skclist.c:225
 #, c-format
 msgid "skipped: secret key already present\n"
 msgstr "preskočené: tajný kľúč je už v databáze\n"
 
-#: g10/skclist.c:243
+#: g10/skclist.c:244
 #, fuzzy
 msgid "this is a PGP generated Elgamal key which is not secure for signatures!"
 msgstr ""
@@ -7388,7 +7406,7 @@ msgstr "chyba pri čítaní: %s\n"
 msgid "trustdb: sync failed: %s\n"
 msgstr "databáza dôvery: synchronizácia zlyhala %s\n"
 
-#: g10/tdbio.c:144 sm/keydb.c:336
+#: g10/tdbio.c:144 sm/keydb.c:335
 #, fuzzy, c-format
 msgid "can't create lock for '%s'\n"
 msgstr "nemôžem vytvoriť `%s': %s\n"
@@ -8127,40 +8145,52 @@ msgstr "Použitie: gpg [možnosti] [súbory] (-h pre pomoc)"
 #. TRANSLATORS: Put a \x1f right before a colon.  This can be
 #. * used by pinentry to nicely align the names and values.  Keep
 #. * the %s at the start and end of the string.
-#: scd/app-p15.c:3369 scd/app-openpgp.c:2153
+#: scd/app-p15.c:4955 scd/app-openpgp.c:2151
 #, c-format
 msgid "%sNumber\1f: %s%%0AHolder\1f: %s%s"
 msgstr ""
 
 #. TRANSLATORS: This is the number of remaining attempts to
 #. * enter a PIN.  Use %%0A (double-percent,0A) for a linefeed.
-#: scd/app-p15.c:3388 scd/app-openpgp.c:2169
+#: scd/app-p15.c:4974 scd/app-openpgp.c:2167
 #, c-format
 msgid "Remaining attempts: %d"
 msgstr ""
 
-#: scd/app-p15.c:3459 scd/app-nks.c:1110
+#: scd/app-p15.c:5053 scd/app-nks.c:1113
 msgid "||Please enter the PIN for the key to create qualified signatures."
 msgstr ""
 
-#: scd/app-p15.c:3462 scd/app-nks.c:1092
+#. TRANSLATORS: Do not translate the "|A|" prefix but keep it at
+#. the start of the string.  Use %0A (single percent) for a linefeed.
+#: scd/app-p15.c:5056 scd/app-openpgp.c:2461
+#, fuzzy
+msgid "|A|Please enter the Admin PIN"
+msgstr "zmeniť heslo"
+
+#: scd/app-p15.c:5058 scd/app-nks.c:1103
+#, fuzzy
+msgid "|P|Please enter the PIN Unblocking Code (PUK) for the standard keys."
+msgstr "Prosím výberte dôvod na revokáciu:\n"
+
+#: scd/app-p15.c:5061 scd/app-nks.c:1095
 #, fuzzy
 msgid "||Please enter the PIN for the standard keys."
 msgstr "zmeniť heslo"
 
-#: scd/app-nks.c:709 scd/app-openpgp.c:3664
+#: scd/app-nks.c:709 scd/app-openpgp.c:3663
 #, c-format
 msgid "RSA modulus missing or not of size %d bits\n"
 msgstr ""
 
-#: scd/app-nks.c:717 scd/app-openpgp.c:3676
+#: scd/app-nks.c:717 scd/app-openpgp.c:3675
 #, c-format
 msgid "RSA public exponent missing or larger than %d bits\n"
 msgstr ""
 
-#: scd/app-nks.c:797 scd/app-openpgp.c:2326 scd/app-openpgp.c:2345
-#: scd/app-openpgp.c:2512 scd/app-openpgp.c:2530 scd/app-openpgp.c:2827
-#: scd/app-openpgp.c:2874 scd/app-openpgp.c:2989 scd/app-dinsig.c:303
+#: scd/app-nks.c:797 scd/app-openpgp.c:2324 scd/app-openpgp.c:2343
+#: scd/app-openpgp.c:2510 scd/app-openpgp.c:2528 scd/app-openpgp.c:2826
+#: scd/app-openpgp.c:2873 scd/app-openpgp.c:2988 scd/app-dinsig.c:302
 #, c-format
 msgid "PIN callback returned error: %s\n"
 msgstr ""
@@ -8170,79 +8200,74 @@ msgstr ""
 msgid "the NullPIN has not yet been changed\n"
 msgstr ""
 
-#: scd/app-nks.c:1091
+#: scd/app-nks.c:1094
 #, fuzzy
 msgid "|N|Please enter a new PIN for the standard keys."
 msgstr "zmeniť heslo"
 
-#: scd/app-nks.c:1098
+#: scd/app-nks.c:1101
 #, fuzzy
 msgid "|NP|Please enter a new PIN Unblocking Code (PUK) for the standard keys."
 msgstr "Prosím výberte dôvod na revokáciu:\n"
 
-#: scd/app-nks.c:1100
-#, fuzzy
-msgid "|P|Please enter the PIN Unblocking Code (PUK) for the standard keys."
-msgstr "Prosím výberte dôvod na revokáciu:\n"
-
-#: scd/app-nks.c:1108
+#: scd/app-nks.c:1111
 msgid "|N|Please enter a new PIN for the key to create qualified signatures."
 msgstr ""
 
-#: scd/app-nks.c:1118
+#: scd/app-nks.c:1121
 msgid ""
 "|NP|Please enter a new PIN Unblocking Code (PUK) for the key to create "
 "qualified signatures."
 msgstr ""
 
-#: scd/app-nks.c:1120
+#: scd/app-nks.c:1123
 msgid ""
 "|P|Please enter the PIN Unblocking Code (PUK) for the key to create "
 "qualified signatures."
 msgstr ""
 
-#: scd/app-nks.c:1227 scd/app-openpgp.c:2908 scd/app-dinsig.c:531
+#: scd/app-nks.c:1230 scd/app-openpgp.c:2907 scd/app-dinsig.c:532
 #, fuzzy, c-format
 msgid "error getting new PIN: %s\n"
 msgstr "chyba pri vytváraní hesla: %s\n"
 
-#: scd/app-openpgp.c:860
+#: scd/app-openpgp.c:859
 #, fuzzy, c-format
 msgid "failed to store the fingerprint: %s\n"
 msgstr "nemôžem inicializovať databázu dôvery: %s\n"
 
-#: scd/app-openpgp.c:873
+#: scd/app-openpgp.c:872
 #, fuzzy, c-format
 msgid "failed to store the creation date: %s\n"
 msgstr "zlyhalo obnovenie vyrovnávacej pamäti kľúčov: %s\n"
 
-#: scd/app-openpgp.c:1272 scd/app-openpgp.c:2855 scd/app-openpgp.c:5020
+#: scd/app-openpgp.c:1268 scd/app-openpgp.c:2854 scd/app-openpgp.c:5025
 #, c-format
 msgid "error retrieving CHV status from card\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1430
+#: scd/app-openpgp.c:1426
 #, c-format
 msgid "response does not contain the RSA modulus\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1437
+#: scd/app-openpgp.c:1433
 #, c-format
 msgid "response does not contain the RSA public exponent\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1547
+#: scd/app-openpgp.c:1543
 #, fuzzy, c-format
 #| msgid "remove keys from the public keyring"
 msgid "response does not contain the EC public key\n"
 msgstr "odstrániť kľúč zo súboru verejných kľúčov"
 
-#: scd/app-openpgp.c:1665 scd/app-openpgp.c:4284
+#: scd/app-openpgp.c:1661 scd/app-openpgp.c:4283
 #, c-format
 msgid "response does not contain the public key data\n"
 msgstr ""
 
-#: scd/app-openpgp.c:1772
+#: scd/app-openpgp.c:1768
 #, fuzzy, c-format
 msgid "reading public key failed: %s\n"
 msgstr "zmazanie bloku kľúča sa nepodarilo:  %s\n"
@@ -8250,43 +8275,43 @@ msgstr "zmazanie bloku kľúča sa nepodarilo:  %s\n"
 #. TRANSLATORS: Put a \x1f right before a colon.  This can be
 #. * used by pinentry to nicely align the names and values.  Keep
 #. * the %s at the start and end of the string.
-#: scd/app-openpgp.c:2140
+#: scd/app-openpgp.c:2138
 #, c-format
 msgid "%sNumber\1f: %s%%0AHolder\1f: %s%%0ACounter\1f: %lu%s"
 msgstr ""
 
-#: scd/app-openpgp.c:2280
+#: scd/app-openpgp.c:2278
 #, c-format
 msgid "using default PIN as %s\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2287
+#: scd/app-openpgp.c:2285
 #, c-format
 msgid "failed to use default PIN as %s: %s - disabling further default use\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2300
+#: scd/app-openpgp.c:2298
 #, fuzzy
 msgid "||Please unlock the card"
 msgstr "zmeniť heslo"
 
-#: scd/app-openpgp.c:2352 scd/app-openpgp.c:2537 scd/app-openpgp.c:2834
+#: scd/app-openpgp.c:2350 scd/app-openpgp.c:2535 scd/app-openpgp.c:2833
 #, c-format
 msgid "PIN for CHV%d is too short; minimum length is %d\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2366 scd/app-openpgp.c:2413 scd/app-openpgp.c:2551
-#: scd/app-openpgp.c:4642
+#: scd/app-openpgp.c:2364 scd/app-openpgp.c:2411 scd/app-openpgp.c:2549
+#: scd/app-openpgp.c:4641
 #, fuzzy, c-format
 msgid "verify CHV%d failed: %s\n"
 msgstr "nepodarilo poslať kľúč na server: %s\n"
 
-#: scd/app-openpgp.c:2449 scd/app-openpgp.c:5029
+#: scd/app-openpgp.c:2447 scd/app-openpgp.c:5034
 #, c-format
 msgid "card is permanently locked!\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2453
+#: scd/app-openpgp.c:2451
 #, c-format
 msgid "%d Admin PIN attempt remaining before card is permanently locked\n"
 msgid_plural ""
@@ -8294,29 +8319,22 @@ msgid_plural ""
 msgstr[0] ""
 msgstr[1] ""
 
-#. TRANSLATORS: Do not translate the "|A|" prefix but keep it at
-#. the start of the string.  Use %0A (single percent) for a linefeed.
-#: scd/app-openpgp.c:2463
-#, fuzzy
-msgid "|A|Please enter the Admin PIN"
-msgstr "zmeniť heslo"
-
-#: scd/app-openpgp.c:2484
+#: scd/app-openpgp.c:2482
 #, c-format
 msgid "access to admin commands is not configured\n"
 msgstr ""
 
-#: scd/app-openpgp.c:2821
+#: scd/app-openpgp.c:2820
 #, fuzzy
 msgid "||Please enter the PIN"
 msgstr "zmeniť heslo"
 
-#: scd/app-openpgp.c:2870
+#: scd/app-openpgp.c:2869
 #, fuzzy
 msgid "||Please enter the Reset Code for the card"
 msgstr "Prosím výberte dôvod na revokáciu:\n"
 
-#: scd/app-openpgp.c:2880 scd/app-openpgp.c:2941
+#: scd/app-openpgp.c:2879 scd/app-openpgp.c:2940
 #, c-format
 msgid "Reset Code is too short; minimum length is %d\n"
 msgstr ""
@@ -8324,128 +8342,128 @@ msgstr ""
 #. TRANSLATORS: Do not translate the "|*|" prefixes but
 #. keep it at the start of the string.  We need this elsewhere
 #. to get some infos on the string.
-#: scd/app-openpgp.c:2903
+#: scd/app-openpgp.c:2902
 msgid "|RN|New Reset Code"
 msgstr ""
 
-#: scd/app-openpgp.c:2904
+#: scd/app-openpgp.c:2903
 msgid "|AN|New Admin PIN"
 msgstr ""
 
-#: scd/app-openpgp.c:2904
+#: scd/app-openpgp.c:2903
 msgid "|N|New PIN"
 msgstr ""
 
-#: scd/app-openpgp.c:2985
+#: scd/app-openpgp.c:2984
 #, fuzzy
 msgid "||Please enter the Admin PIN and New Admin PIN"
 msgstr "zmeniť heslo"
 
-#: scd/app-openpgp.c:2986
+#: scd/app-openpgp.c:2985
 #, fuzzy
 msgid "||Please enter the PIN and New PIN"
 msgstr "zmeniť heslo"
 
-#: scd/app-openpgp.c:3048 scd/app-openpgp.c:4344
+#: scd/app-openpgp.c:3047 scd/app-openpgp.c:4343
 #, fuzzy, c-format
 msgid "error reading application data\n"
 msgstr "chyba pri čítaní bloku kľúča: %s\n"
 
-#: scd/app-openpgp.c:3054 scd/app-openpgp.c:4351
+#: scd/app-openpgp.c:3053 scd/app-openpgp.c:4350
 #, fuzzy, c-format
 msgid "error reading fingerprint DO\n"
 msgstr "%s: chyba pri čítaní voľného záznamu: %s\n"
 
-#: scd/app-openpgp.c:3064
+#: scd/app-openpgp.c:3063
 #, fuzzy, c-format
 msgid "key already exists\n"
 msgstr "`%s' je už skomprimovaný\n"
 
-#: scd/app-openpgp.c:3068
+#: scd/app-openpgp.c:3067
 #, c-format
 msgid "existing key will be replaced\n"
 msgstr ""
 
-#: scd/app-openpgp.c:3070
+#: scd/app-openpgp.c:3069
 #, fuzzy, c-format
 msgid "generating new key\n"
 msgstr "vytvoriť nový pár kľúčov"
 
-#: scd/app-openpgp.c:3072
+#: scd/app-openpgp.c:3071
 #, fuzzy, c-format
 msgid "writing new key\n"
 msgstr "vytvoriť nový pár kľúčov"
 
-#: scd/app-openpgp.c:3645 scd/app-openpgp.c:3997
+#: scd/app-openpgp.c:3644 scd/app-openpgp.c:3996
 #, c-format
 msgid "creation timestamp missing\n"
 msgstr ""
 
-#: scd/app-openpgp.c:3686 scd/app-openpgp.c:3694
+#: scd/app-openpgp.c:3685 scd/app-openpgp.c:3693
 #, c-format
 msgid "RSA prime %s missing or not of size %d bits\n"
 msgstr ""
 
-#: scd/app-openpgp.c:3827 scd/app-openpgp.c:4104
+#: scd/app-openpgp.c:3826 scd/app-openpgp.c:4103
 #, fuzzy, c-format
 msgid "failed to store the key: %s\n"
 msgstr "nemôžem inicializovať databázu dôvery: %s\n"
 
-#: scd/app-openpgp.c:3991
+#: scd/app-openpgp.c:3990
 #, fuzzy, c-format
 #| msgid "unsupported URI"
 msgid "unsupported curve\n"
 msgstr "toto URI nie je podporované"
 
-#: scd/app-openpgp.c:4261
+#: scd/app-openpgp.c:4260
 #, c-format
 msgid "please wait while key is being generated ...\n"
 msgstr ""
 
-#: scd/app-openpgp.c:4269
+#: scd/app-openpgp.c:4268
 #, fuzzy, c-format
 msgid "generating key failed\n"
 msgstr "zmazanie bloku kľúča sa nepodarilo:  %s\n"
 
-#: scd/app-openpgp.c:4275
+#: scd/app-openpgp.c:4274
 #, fuzzy, c-format
 msgid "key generation completed (%d second)\n"
 msgid_plural "key generation completed (%d seconds)\n"
 msgstr[0] "Vytvorenie kľúča sa nepodarilo: %s\n"
 msgstr[1] "Vytvorenie kľúča sa nepodarilo: %s\n"
 
-#: scd/app-openpgp.c:4309
+#: scd/app-openpgp.c:4308
 #, c-format
 msgid "invalid structure of OpenPGP card (DO 0x93)\n"
 msgstr ""
 
-#: scd/app-openpgp.c:4359
+#: scd/app-openpgp.c:4358
 #, c-format
 msgid "fingerprint on card does not match requested one\n"
 msgstr ""
 
-#: scd/app-openpgp.c:4558
+#: scd/app-openpgp.c:4557
 #, fuzzy, c-format
 msgid "card does not support digest algorithm %s\n"
 msgstr "%s podpis, hashovací algoritmus %s\n"
 
-#: scd/app-openpgp.c:4616
+#: scd/app-openpgp.c:4615
 #, c-format
 msgid "signatures created so far: %lu\n"
 msgstr ""
 
-#: scd/app-openpgp.c:5034
+#: scd/app-openpgp.c:5039
 #, c-format
 msgid ""
 "verification of Admin PIN is currently prohibited through this command\n"
 msgstr ""
 
-#: scd/app-openpgp.c:5346 scd/app-openpgp.c:5357
+#: scd/app-openpgp.c:5351 scd/app-openpgp.c:5362
 #, fuzzy, c-format
 msgid "can't access %s - invalid OpenPGP card?\n"
 msgstr "nenájdené žiadne platné dáta vo formáte OpenPGP.\n"
 
-#: scd/app-dinsig.c:299
+#: scd/app-dinsig.c:298
 #, fuzzy
 msgid "||Please enter your PIN at the reader's pinpad"
 msgstr "zmeniť heslo"
@@ -8453,7 +8471,7 @@ msgstr "zmeniť heslo"
 #. TRANSLATORS: Do not translate the "|*|" prefixes but
 #. keep it at the start of the string.  We need this elsewhere
 #. to get some infos on the string.
-#: scd/app-dinsig.c:528
+#: scd/app-dinsig.c:529
 msgid "|N|Initial New PIN"
 msgstr ""
 
@@ -8461,7 +8479,7 @@ msgstr ""
 msgid "run in multi server mode (foreground)"
 msgstr ""
 
-#: scd/scdaemon.c:129 sm/gpgsm.c:345 dirmngr/dirmngr.c:187
+#: scd/scdaemon.c:129 sm/gpgsm.c:348 dirmngr/dirmngr.c:188
 msgid "|LEVEL|set the debugging level to LEVEL"
 msgstr ""
 
@@ -8484,50 +8502,50 @@ msgstr "|MENO|použiť MENO ako implicitného adresáta"
 msgid "|NAME|use NAME as PC/SC driver"
 msgstr "|MENO|použiť MENO ako implicitného adresáta"
 
-#: scd/scdaemon.c:145
+#: scd/scdaemon.c:146
 #, fuzzy
 msgid "do not use the internal CCID driver"
 msgstr "vôbec nepoužívať terminál"
 
-#: scd/scdaemon.c:151
+#: scd/scdaemon.c:152
 msgid "|N|disconnect the card after N seconds of inactivity"
 msgstr ""
 
-#: scd/scdaemon.c:154
+#: scd/scdaemon.c:155
 msgid "do not use a reader's pinpad"
 msgstr ""
 
-#: scd/scdaemon.c:159
+#: scd/scdaemon.c:160
 #, fuzzy
 msgid "deny the use of admin card commands"
 msgstr "konfliktné príkazy\n"
 
-#: scd/scdaemon.c:162
+#: scd/scdaemon.c:163
 msgid "use variable length input for pinpad"
 msgstr ""
 
-#: scd/scdaemon.c:311
+#: scd/scdaemon.c:312
 #, fuzzy
 msgid "Usage: @SCDAEMON@ [options] (-h for help)"
 msgstr "Použitie: gpg [možnosti] [súbory] (-h pre pomoc)"
 
-#: scd/scdaemon.c:313
+#: scd/scdaemon.c:314
 msgid ""
 "Syntax: scdaemon [options] [command [args]]\n"
 "Smartcard daemon for @GNUPG@\n"
 msgstr ""
 
-#: scd/scdaemon.c:806
+#: scd/scdaemon.c:808
 #, c-format
 msgid "please use the option '--daemon' to run the program in the background\n"
 msgstr ""
 
-#: scd/scdaemon.c:1183 dirmngr/dirmngr.c:2082
+#: scd/scdaemon.c:1185 dirmngr/dirmngr.c:2119
 #, c-format
 msgid "handler for fd %d started\n"
 msgstr ""
 
-#: scd/scdaemon.c:1195 dirmngr/dirmngr.c:2090
+#: scd/scdaemon.c:1197 dirmngr/dirmngr.c:2127
 #, c-format
 msgid "handler for fd %d terminated\n"
 msgstr ""
@@ -8575,7 +8593,7 @@ msgstr "zapisujem tajný kľúč do `%s'\n"
 msgid "certificate policy not allowed"
 msgstr "zapisujem tajný kľúč do `%s'\n"
 
-#: sm/certchain.c:595 sm/keydb.c:1106 sm/keydb.c:1192
+#: sm/certchain.c:595 sm/keydb.c:1084 sm/keydb.c:1171
 #, fuzzy, c-format
 msgid "failed to get the fingerprint\n"
 msgstr "nemôžem inicializovať databázu dôvery: %s\n"
@@ -8611,8 +8629,8 @@ msgstr "chyba pri vytváraní hesla: %s\n"
 msgid "dirmngr cache-only key lookup failed: %s\n"
 msgstr "zmazanie bloku kľúča sa nepodarilo:  %s\n"
 
-#: sm/certchain.c:1041 sm/certchain.c:1554 sm/certchain.c:2192 sm/decrypt.c:265
-#: sm/encrypt.c:344 sm/import.c:415 sm/keydb.c:1113 sm/keydb.c:1199
+#: sm/certchain.c:1041 sm/certchain.c:1554 sm/certchain.c:2192 sm/decrypt.c:728
+#: sm/encrypt.c:345 sm/import.c:415 sm/keydb.c:1091 sm/keydb.c:1178
 #: sm/sign.c:337 sm/verify.c:118
 #, fuzzy, c-format
 msgid "failed to allocate keyDB handle\n"
@@ -8810,13 +8828,13 @@ msgid "a %u bit hash is not valid for a %u bit %s key\n"
 msgstr ""
 
 #: sm/certcheck.c:238 sm/certcheck.c:262 dirmngr/crlcache.c:1542
-#: dirmngr/crlcache.c:1566 dirmngr/dirmngr.c:1324 dirmngr/validate.c:903
+#: dirmngr/crlcache.c:1566 dirmngr/dirmngr.c:1361 dirmngr/validate.c:903
 #: dirmngr/validate.c:927
 #, fuzzy, c-format
 msgid "out of core\n"
 msgstr "nespracované"
 
-#: sm/certcheck.c:371 sm/verify.c:213
+#: sm/certcheck.c:370 sm/verify.c:213
 #, c-format
 msgid "(this is the MD2 algorithm)\n"
 msgstr ""
@@ -9113,22 +9131,35 @@ msgstr ""
 msgid "resource problem: out of core\n"
 msgstr ""
 
-#: sm/decrypt.c:341
+#: sm/decrypt.c:536
+#, fuzzy, c-format
+#| msgid "%s encrypted data\n"
+msgid "%s.%s encrypted data\n"
+msgstr "%s zašifrované dáta\n"
+
+#: sm/decrypt.c:803
 #, c-format
 msgid "(this is the RC2 algorithm)\n"
 msgstr ""
 
-#: sm/decrypt.c:343
+#: sm/decrypt.c:805
 #, c-format
 msgid "(this does not seem to be an encrypted message)\n"
 msgstr ""
 
+# Scripte scannen lt. dl1bke auf "ID (0-9A-F)+" deswegen muß "ID" rein :-(
+# [kw]
+#: sm/decrypt.c:958
+#, fuzzy, c-format
+msgid "encrypted to %s key %s\n"
+msgstr "zašifrovaná %s kľúčom, ID %08lX\n"
+
 #: sm/delete.c:51 sm/delete.c:112
 #, fuzzy, c-format
 msgid "certificate '%s' not found: %s\n"
 msgstr "kľúč `%s' nebol nájdený: %s\n"
 
-#: sm/delete.c:122 sm/keydb.c:1209 sm/keydb.c:1307
+#: sm/delete.c:122 sm/keydb.c:1189 sm/keydb.c:1288
 #, fuzzy, c-format
 msgid "error locking keybox: %s\n"
 msgstr "chyba pri čítaní bloku kľúča: %s\n"
@@ -9148,143 +9179,143 @@ msgstr "duplicita predvoľby %c%lu\n"
 msgid "deleting certificate \"%s\" failed: %s\n"
 msgstr "zmazanie bloku kľúča sa nepodarilo:  %s\n"
 
-#: sm/encrypt.c:330
+#: sm/encrypt.c:331
 #, fuzzy, c-format
 msgid "no valid recipients given\n"
 msgstr "(Žiadny popis)\n"
 
-#: sm/gpgsm.c:215
+#: sm/gpgsm.c:216
 #, fuzzy
 msgid "list external keys"
 msgstr "vypísať zoznam tajných kľúčov"
 
-#: sm/gpgsm.c:217
+#: sm/gpgsm.c:218
 #, fuzzy
 msgid "list certificate chain"
 msgstr "nesprávny certifikát"
 
-#: sm/gpgsm.c:225
+#: sm/gpgsm.c:226
 #, fuzzy
 msgid "import certificates"
 msgstr "nesprávny certifikát"
 
-#: sm/gpgsm.c:226
+#: sm/gpgsm.c:227
 #, fuzzy
 msgid "export certificates"
 msgstr "nesprávny certifikát"
 
-#: sm/gpgsm.c:234
+#: sm/gpgsm.c:235
 msgid "register a smartcard"
 msgstr ""
 
-#: sm/gpgsm.c:237
+#: sm/gpgsm.c:238
 msgid "pass a command to the dirmngr"
 msgstr ""
 
-#: sm/gpgsm.c:239
+#: sm/gpgsm.c:240
 msgid "invoke gpg-protect-tool"
 msgstr ""
 
-#: sm/gpgsm.c:256
+#: sm/gpgsm.c:257
 #, fuzzy
 msgid "create base-64 encoded output"
 msgstr "vytvor výstup zakódovaný pomocou ASCII"
 
-#: sm/gpgsm.c:265
+#: sm/gpgsm.c:266
 msgid "assume input is in PEM format"
 msgstr ""
 
-#: sm/gpgsm.c:267
+#: sm/gpgsm.c:268
 msgid "assume input is in base-64 format"
 msgstr ""
 
-#: sm/gpgsm.c:269
+#: sm/gpgsm.c:270
 msgid "assume input is in binary format"
 msgstr ""
 
-#: sm/gpgsm.c:276
+#: sm/gpgsm.c:277
 msgid "never consult a CRL"
 msgstr ""
 
-#: sm/gpgsm.c:286
+#: sm/gpgsm.c:287
 msgid "check validity using OCSP"
 msgstr ""
 
-#: sm/gpgsm.c:291
+#: sm/gpgsm.c:292
 msgid "|N|number of certificates to include"
 msgstr ""
 
-#: sm/gpgsm.c:294
+#: sm/gpgsm.c:295
 msgid "|FILE|take policy information from FILE"
 msgstr ""
 
-#: sm/gpgsm.c:297
+#: sm/gpgsm.c:298
 msgid "do not check certificate policies"
 msgstr ""
 
-#: sm/gpgsm.c:301
+#: sm/gpgsm.c:302
 msgid "fetch missing issuer certificates"
 msgstr ""
 
-#: sm/gpgsm.c:312
+#: sm/gpgsm.c:313
 msgid "don't use the terminal at all"
 msgstr "vôbec nepoužívať terminál"
 
-#: sm/gpgsm.c:314
+#: sm/gpgsm.c:315
 msgid "|FILE|write a server mode log to FILE"
 msgstr ""
 
-#: sm/gpgsm.c:319
+#: sm/gpgsm.c:320
 #, fuzzy
 msgid "|FILE|write an audit log to FILE"
 msgstr "|SÚBOR|nahrať rozširujúci modul SÚBOR"
 
-#: sm/gpgsm.c:322
+#: sm/gpgsm.c:323
 msgid "batch mode: never ask"
 msgstr "dávkový režim: nikdy sa na nič nepýtať"
 
-#: sm/gpgsm.c:323
+#: sm/gpgsm.c:324
 msgid "assume yes on most questions"
 msgstr "automaticky odpovedať áno na väčšinu otázok"
 
-#: sm/gpgsm.c:324
+#: sm/gpgsm.c:325
 msgid "assume no on most questions"
 msgstr "automaticky odpovedať NIE na väčšinu otázok"
 
-#: sm/gpgsm.c:327
+#: sm/gpgsm.c:328
 #, fuzzy
 msgid "|FILE|add keyring to the list of keyrings"
 msgstr ""
 "pridať tento súbor kľúčov do zoznamu\n"
 " používaných súborov kľúčov"
 
-#: sm/gpgsm.c:330
+#: sm/gpgsm.c:331
 #, fuzzy
 msgid "|USER-ID|use USER-ID as default secret key"
 msgstr "|MENO|použi MENO ako implicitný tajný kľúč"
 
-#: sm/gpgsm.c:340 tools/gpgconf-comp.c:837
+#: sm/gpgsm.c:341 dirmngr/dirmngr.c:214 tools/gpgconf-comp.c:841
 #, fuzzy
 msgid "|SPEC|use this keyserver to lookup keys"
 msgstr ""
 "|POČÍTAČ|použi tento server kľúčov na vyhľadávanie\n"
 " kľúčov"
 
-#: sm/gpgsm.c:357
+#: sm/gpgsm.c:360
 msgid "|NAME|use cipher algorithm NAME"
 msgstr "|ALG|použiť šifrovací algoritmus ALG"
 
-#: sm/gpgsm.c:359
+#: sm/gpgsm.c:362
 msgid "|NAME|use message digest algorithm NAME"
 msgstr "|ALG|použiť hashovací algoritmus ALG"
 
-#: sm/gpgsm.c:570
+#: sm/gpgsm.c:573
 #, fuzzy
 #| msgid "Usage: gpg [options] [files] (-h for help)"
 msgid "Usage: @GPGSM@ [options] [files] (-h for help)"
 msgstr "Použitie: gpg [možnosti] [súbory] (-h pre pomoc)"
 
-#: sm/gpgsm.c:573
+#: sm/gpgsm.c:576
 #, fuzzy
 msgid ""
 "Syntax: @GPGSM@ [options] [files]\n"
@@ -9295,47 +9326,27 @@ msgstr ""
 "podpísať, overiť, šifrovať alebo dešifrovať\n"
 "implicitné operácie závisia od vstupných dát\n"
 
-#: sm/gpgsm.c:777
+#: sm/gpgsm.c:784
 #, fuzzy, c-format
 msgid "Note: won't be able to encrypt to '%s': %s\n"
 msgstr "nemôžem sa pripojiť k `%s': %s\n"
 
-#: sm/gpgsm.c:788
+#: sm/gpgsm.c:795
 #, fuzzy, c-format
 msgid "unknown validation model '%s'\n"
 msgstr "neznámy implicitný adresát `%s'\n"
 
-#: sm/gpgsm.c:839 dirmngr/ldapserver.c:86
-#, fuzzy, c-format
-msgid "%s:%u: no hostname given\n"
-msgstr "(Žiadny popis)\n"
-
-#: sm/gpgsm.c:858 dirmngr/ldapserver.c:105
-#, c-format
-msgid "%s:%u: password given without user\n"
-msgstr ""
-
-#: sm/gpgsm.c:879 dirmngr/ldapserver.c:126
-#, fuzzy, c-format
-msgid "%s:%u: skipping this line\n"
-msgstr " s = preskočiť tento kľúč\n"
-
-#: sm/gpgsm.c:1449
-#, fuzzy, c-format
-msgid "could not parse keyserver\n"
-msgstr "nemožno použiť URI servera kľúčov - chyba analýzy URI\n"
-
-#: sm/gpgsm.c:1712
+#: sm/gpgsm.c:1612
 #, fuzzy, c-format
 msgid "importing common certificates '%s'\n"
 msgstr "zapisujem do '%s'\n"
 
-#: sm/gpgsm.c:1755
+#: sm/gpgsm.c:1655
 #, fuzzy, c-format
 msgid "can't sign using '%s': %s\n"
 msgstr "nemôžem zavrieť `%s': %s\n"
 
-#: sm/gpgsm.c:2122
+#: sm/gpgsm.c:2028
 #, c-format
 msgid "invalid command (there is no implicit command)\n"
 msgstr ""
@@ -9355,7 +9366,7 @@ msgstr "vytvoriť revokačný certifikát"
 msgid "basic certificate checks failed - not imported\n"
 msgstr ""
 
-#: sm/import.c:472 sm/keydb.c:1229 sm/keydb.c:1319
+#: sm/import.c:472 sm/keydb.c:1209 sm/keydb.c:1300
 #, fuzzy, c-format
 msgid "error getting stored flags: %s\n"
 msgstr "chyba pri vytváraní hesla: %s\n"
@@ -9370,27 +9381,27 @@ msgstr "chyba pri vytváraní hesla: %s\n"
 msgid "error reading input: %s\n"
 msgstr "chyba pri čítaní `%s': %s\n"
 
-#: sm/keydb.c:1148
+#: sm/keydb.c:1127
 #, c-format
 msgid "problem looking for existing certificate: %s\n"
 msgstr ""
 
-#: sm/keydb.c:1160
+#: sm/keydb.c:1139
 #, fuzzy, c-format
 msgid "error finding writable keyDB: %s\n"
 msgstr "chyba pri vytváraní hesla: %s\n"
 
-#: sm/keydb.c:1168
+#: sm/keydb.c:1147
 #, fuzzy, c-format
 msgid "error storing certificate: %s\n"
 msgstr "chyba pri vytváraní hesla: %s\n"
 
-#: sm/keydb.c:1220
+#: sm/keydb.c:1200
 #, fuzzy, c-format
 msgid "problem re-searching certificate: %s\n"
 msgstr "rev? problém overenia revokácie: %s\n"
 
-#: sm/keydb.c:1241 sm/keydb.c:1330
+#: sm/keydb.c:1221 sm/keydb.c:1311
 #, fuzzy, c-format
 msgid "error storing flags: %s\n"
 msgstr "chyba pri čítaní `%s': %s\n"
@@ -9425,7 +9436,7 @@ msgid ""
 "%s%sAre you really sure that you want to do this?"
 msgstr ""
 
-#: sm/qualified.c:215 sm/verify.c:678
+#: sm/qualified.c:215 sm/verify.c:679
 #, c-format
 msgid ""
 "Note, that this software is not officially approved to create or verify such "
@@ -9470,23 +9481,23 @@ msgstr ""
 msgid "algorithm:"
 msgstr "ASCII kódovanie: %s\n"
 
-#: sm/verify.c:535
+#: sm/verify.c:536
 #, c-format
 msgid ""
 "invalid signature: message digest attribute does not match computed one\n"
 msgstr ""
 
-#: sm/verify.c:656
+#: sm/verify.c:657
 #, fuzzy, c-format
 msgid "Good signature from"
 msgstr "Dobrý podpis od \""
 
-#: sm/verify.c:657
+#: sm/verify.c:658
 #, fuzzy, c-format
 msgid "                aka"
 msgstr "                alias \""
 
-#: sm/verify.c:675
+#: sm/verify.c:676
 #, fuzzy, c-format
 msgid "This is a qualified signature\n"
 msgstr ""
@@ -10116,7 +10127,7 @@ msgid "error retrieving '%s': %s\n"
 msgstr "chyba pri vytváraní `%s': %s\n"
 
 #: dirmngr/crlfetch.c:218 dirmngr/ldap-wrapper-ce.c:492
-#: dirmngr/ldap-wrapper.c:884 dirmngr/misc.c:573
+#: dirmngr/ldap-wrapper.c:885 dirmngr/misc.c:573
 #, fuzzy, c-format
 #| msgid "%s: error writing dir record: %s\n"
 msgid "error initializing reader object: %s\n"
@@ -10284,116 +10295,116 @@ msgstr ""
 msgid "looking up '%s'\n"
 msgstr ""
 
-#: dirmngr/dirmngr.c:170
+#: dirmngr/dirmngr.c:171
 msgid "list the contents of the CRL cache"
 msgstr ""
 
-#: dirmngr/dirmngr.c:171
+#: dirmngr/dirmngr.c:172
 #, fuzzy
 msgid "|FILE|load CRL from FILE into cache"
 msgstr "|SÚBOR|nahrať rozširujúci modul SÚBOR"
 
-#: dirmngr/dirmngr.c:172
+#: dirmngr/dirmngr.c:173
 msgid "|URL|fetch a CRL from URL"
 msgstr ""
 
-#: dirmngr/dirmngr.c:173
+#: dirmngr/dirmngr.c:174
 msgid "shutdown the dirmngr"
 msgstr ""
 
-#: dirmngr/dirmngr.c:174
+#: dirmngr/dirmngr.c:175
 msgid "flush the cache"
 msgstr ""
 
-#: dirmngr/dirmngr.c:190 tools/gpgconf-comp.c:522 tools/gpgconf-comp.c:741
-#: tools/gpgconf-comp.c:854 tools/gpgconf-comp.c:950
+#: dirmngr/dirmngr.c:191 tools/gpgconf-comp.c:522 tools/gpgconf-comp.c:745
+#: tools/gpgconf-comp.c:858 tools/gpgconf-comp.c:954
 msgid "|FILE|write server mode logs to FILE"
 msgstr ""
 
-#: dirmngr/dirmngr.c:191
+#: dirmngr/dirmngr.c:192
 #, fuzzy
 msgid "run without asking a user"
 msgstr "Ukončiť bez uloženia? "
 
-#: dirmngr/dirmngr.c:192
+#: dirmngr/dirmngr.c:193
 msgid "force loading of outdated CRLs"
 msgstr ""
 
-#: dirmngr/dirmngr.c:193
+#: dirmngr/dirmngr.c:194
 msgid "allow sending OCSP requests"
 msgstr ""
 
-#: dirmngr/dirmngr.c:195
+#: dirmngr/dirmngr.c:196
 msgid "allow online software version check"
 msgstr ""
 
-#: dirmngr/dirmngr.c:196
+#: dirmngr/dirmngr.c:197
 msgid "inhibit the use of HTTP"
 msgstr ""
 
-#: dirmngr/dirmngr.c:197
+#: dirmngr/dirmngr.c:198
 msgid "inhibit the use of LDAP"
 msgstr ""
 
-#: dirmngr/dirmngr.c:199
+#: dirmngr/dirmngr.c:200
 msgid "ignore HTTP CRL distribution points"
 msgstr ""
 
-#: dirmngr/dirmngr.c:201
+#: dirmngr/dirmngr.c:202
 msgid "ignore LDAP CRL distribution points"
 msgstr ""
 
-#: dirmngr/dirmngr.c:203
+#: dirmngr/dirmngr.c:204
 msgid "ignore certificate contained OCSP service URLs"
 msgstr ""
 
-#: dirmngr/dirmngr.c:206
+#: dirmngr/dirmngr.c:207
 msgid "|URL|redirect all HTTP requests to URL"
 msgstr ""
 
-#: dirmngr/dirmngr.c:208
+#: dirmngr/dirmngr.c:209
 msgid "|HOST|use HOST for LDAP queries"
 msgstr ""
 
-#: dirmngr/dirmngr.c:210
+#: dirmngr/dirmngr.c:211
 msgid "do not use fallback hosts with --ldap-proxy"
 msgstr ""
 
-#: dirmngr/dirmngr.c:213
+#: dirmngr/dirmngr.c:216
 #, fuzzy
 msgid "|FILE|read LDAP server list from FILE"
 msgstr "|SÚBOR|nahrať rozširujúci modul SÚBOR"
 
-#: dirmngr/dirmngr.c:215
+#: dirmngr/dirmngr.c:218
 msgid "add new servers discovered in CRL distribution points to serverlist"
 msgstr ""
 
-#: dirmngr/dirmngr.c:218 dirmngr/dirmngr_ldap.c:137
+#: dirmngr/dirmngr.c:221
 msgid "|N|set LDAP timeout to N seconds"
 msgstr ""
 
-#: dirmngr/dirmngr.c:221
+#: dirmngr/dirmngr.c:224
 #, fuzzy
 msgid "|URL|use OCSP responder at URL"
 msgstr "nemožno použiť URI servera kľúčov - chyba analýzy URI\n"
 
-#: dirmngr/dirmngr.c:223
+#: dirmngr/dirmngr.c:226
 msgid "|FPR|OCSP response signed by FPR"
 msgstr ""
 
-#: dirmngr/dirmngr.c:229
+#: dirmngr/dirmngr.c:232
 msgid "|N|do not return more than N items in one query"
 msgstr ""
 
-#: dirmngr/dirmngr.c:234
+#: dirmngr/dirmngr.c:237
 msgid "|FILE|use the CA certificates in FILE for HKP over TLS"
 msgstr ""
 
-#: dirmngr/dirmngr.c:236
+#: dirmngr/dirmngr.c:239
 msgid "route all network traffic via Tor"
 msgstr ""
 
-#: dirmngr/dirmngr.c:265
+#: dirmngr/dirmngr.c:268
 #, fuzzy
 #| msgid ""
 #| "@\n"
@@ -10407,290 +10418,115 @@ msgstr ""
 "(Použite manuálové stránky pre kompletný zoznam všetkých príkazov a "
 "možností)\n"
 
-#: dirmngr/dirmngr.c:407
+#: dirmngr/dirmngr.c:415
 #, fuzzy
 msgid "Usage: @DIRMNGR@ [options] (-h for help)"
 msgstr "Použitie: gpg [možnosti] [súbory] (-h pre pomoc)"
 
-#: dirmngr/dirmngr.c:409
+#: dirmngr/dirmngr.c:417
 msgid ""
 "Syntax: @DIRMNGR@ [options] [command [args]]\n"
 "Keyserver, CRL, and OCSP access for @GNUPG@\n"
 msgstr ""
 
-#: dirmngr/dirmngr.c:489
+#: dirmngr/dirmngr.c:497
 #, c-format
 msgid "valid debug levels are: %s\n"
 msgstr ""
 
-#: dirmngr/dirmngr.c:575 tools/gpgconf.c:647 tools/gpgconf.c:682
+#: dirmngr/dirmngr.c:583 tools/gpgconf.c:647 tools/gpgconf.c:682
 #: tools/gpgconf.c:780
 #, fuzzy, c-format
 msgid "usage: %s [options] "
 msgstr "použitie: gpg [možnosti] "
 
-#: dirmngr/dirmngr.c:1212
+#: dirmngr/dirmngr.c:1249
 #, fuzzy, c-format
 #| msgid "%s not allowed with %s!\n"
 msgid "colons are not allowed in the socket name\n"
 msgstr "Nie je dovolené používať %s s %s!\n"
 
-#: dirmngr/dirmngr.c:1444 dirmngr/server.c:1824
+#: dirmngr/dirmngr.c:1481 dirmngr/server.c:1878
 #, fuzzy, c-format
 msgid "fetching CRL from '%s' failed: %s\n"
 msgstr "kódovanie do ASCII formátu zlyhalo: %s\n"
 
-#: dirmngr/dirmngr.c:1450 dirmngr/server.c:1830
+#: dirmngr/dirmngr.c:1487 dirmngr/server.c:1884
 #, fuzzy, c-format
 msgid "processing CRL from '%s' failed: %s\n"
 msgstr "kódovanie do ASCII formátu zlyhalo: %s\n"
 
-#: dirmngr/dirmngr.c:1645
+#: dirmngr/dirmngr.c:1682
 #, fuzzy, c-format
 msgid "%s:%u: line too long - skipped\n"
 msgstr "riadok je príliš dlhý\n"
 
-#: dirmngr/dirmngr.c:1700 dirmngr/dirmngr.c:1784
+#: dirmngr/dirmngr.c:1737 dirmngr/dirmngr.c:1821
 #, fuzzy, c-format
 msgid "%s:%u: invalid fingerprint detected\n"
 msgstr "chyba: neplatný odtlačok\n"
 
-#: dirmngr/dirmngr.c:1736 dirmngr/dirmngr.c:1762 tools/gpgconf-comp.c:4191
+#: dirmngr/dirmngr.c:1773 dirmngr/dirmngr.c:1799 tools/gpgconf-comp.c:4199
 #, fuzzy, c-format
 msgid "%s:%u: read error: %s\n"
 msgstr "chyba pri čítaní: %s\n"
 
-#: dirmngr/dirmngr.c:1791
+#: dirmngr/dirmngr.c:1828
 #, c-format
 msgid "%s:%u: garbage at end of line ignored\n"
 msgstr ""
 
-#: dirmngr/dirmngr.c:1860
+#: dirmngr/dirmngr.c:1897
 #, c-format
 msgid "SIGHUP received - re-reading configuration and flushing caches\n"
 msgstr ""
 
-#: dirmngr/dirmngr.c:1900
+#: dirmngr/dirmngr.c:1937
 #, c-format
 msgid "SIGUSR2 received - no action defined\n"
 msgstr ""
 
-#: dirmngr/dirmngr.c:1905
+#: dirmngr/dirmngr.c:1942
 #, c-format
 msgid "SIGTERM received - shutting down ...\n"
 msgstr ""
 
-#: dirmngr/dirmngr.c:1907
+#: dirmngr/dirmngr.c:1944
 #, c-format
 msgid "SIGTERM received - still %d active connections\n"
 msgstr ""
 
-#: dirmngr/dirmngr.c:1912
+#: dirmngr/dirmngr.c:1949
 #, fuzzy, c-format
 msgid "shutdown forced\n"
 msgstr "nespracované"
 
-#: dirmngr/dirmngr.c:1920
+#: dirmngr/dirmngr.c:1957
 #, c-format
 msgid "SIGINT received - immediate shutdown\n"
 msgstr ""
 
-#: dirmngr/dirmngr.c:1927
+#: dirmngr/dirmngr.c:1964
 #, c-format
 msgid "signal %d received - no action defined\n"
 msgstr ""
 
-#: dirmngr/dirmngr_ldap.c:138
-msgid "return all values in a record oriented format"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:141
-msgid "|NAME|ignore host part and connect through NAME"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:142
-#, fuzzy
-#| msgid "|NAME|set terminal charset to NAME"
-msgid "|NAME|connect to host NAME"
-msgstr "|MENO|nastav znakovú sadu terminálu na MENO"
-
-#: dirmngr/dirmngr_ldap.c:143
-msgid "|N|connect to port N"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:144
-#, fuzzy
-#| msgid "|NAME|use NAME as default recipient"
-msgid "|NAME|use user NAME for authentication"
-msgstr "|MENO|použiť MENO ako implicitného adresáta"
-
-#: dirmngr/dirmngr_ldap.c:145
-msgid "|PASS|use password PASS for authentication"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:147
-msgid "take password from $DIRMNGR_LDAP_PASS"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:148
-msgid "|STRING|query DN STRING"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:149
-msgid "|STRING|use STRING as filter expression"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:150
-msgid "|STRING|return the attribute STRING"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:211
-#, fuzzy
-#| msgid "Usage: gpg [options] [files] (-h for help)"
-msgid "Usage: dirmngr_ldap [options] [URL] (-h for help)\n"
-msgstr "Použitie: gpg [možnosti] [súbory] (-h pre pomoc)"
-
-#: dirmngr/dirmngr_ldap.c:214
-msgid ""
-"Syntax: dirmngr_ldap [options] [URL]\n"
-"Internal LDAP helper for Dirmngr\n"
-"Interface and options may change without notice\n"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:340
-#, fuzzy, c-format
-#| msgid "invalid import options\n"
-msgid "invalid port number %d\n"
-msgstr "neplatný parameter pre import\n"
-
-#: dirmngr/dirmngr_ldap.c:456
-#, c-format
-msgid "scanning result for attribute '%s'\n"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:463 dirmngr/dirmngr_ldap.c:546
-#: dirmngr/dirmngr_ldap.c:570 dirmngr/dirmngr_ldap.c:582
-#: dirmngr/dirmngr_ldap.c:720
-#, fuzzy, c-format
-msgid "error writing to stdout: %s\n"
-msgstr "chyba pri zápise súboru kľúčov (keyring)  `%s': %s\n"
-
-#: dirmngr/dirmngr_ldap.c:480
-#, c-format
-msgid "          available attribute '%s'\n"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:518
-#, fuzzy, c-format
-msgid "attribute '%s' not found\n"
-msgstr "kľúč `%s' nebol nájdený: %s\n"
-
-#: dirmngr/dirmngr_ldap.c:525
-#, c-format
-msgid "found attribute '%s'\n"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:634
-#, fuzzy, c-format
-#| msgid "reading from `%s'\n"
-msgid "processing url '%s'\n"
-msgstr "čítam z `%s'\n"
-
-#: dirmngr/dirmngr_ldap.c:636
-#, fuzzy, c-format
-#| msgid "          w/o user IDs: %lu\n"
-msgid "          user '%s'\n"
-msgstr "        bez identifikátorov: %lu\n"
-
-#: dirmngr/dirmngr_ldap.c:638
-#, fuzzy, c-format
-msgid "          pass '%s'\n"
-msgstr "                alias \""
-
-#: dirmngr/dirmngr_ldap.c:640
-#, fuzzy, c-format
-msgid "          host '%s'\n"
-msgstr "                alias \""
-
-#: dirmngr/dirmngr_ldap.c:641
-#, fuzzy, c-format
-#| msgid "          not imported: %lu\n"
-msgid "          port %d\n"
-msgstr "           neimportované: %lu\n"
-
-#: dirmngr/dirmngr_ldap.c:643
-#, fuzzy, c-format
-msgid "            DN '%s'\n"
-msgstr "                alias \""
-
-#: dirmngr/dirmngr_ldap.c:645
-#, c-format
-msgid "        filter '%s'\n"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:650 dirmngr/dirmngr_ldap.c:653
-#, fuzzy, c-format
-msgid "          attr '%s'\n"
-msgstr "                alias \""
-
-#: dirmngr/dirmngr_ldap.c:659
-#, fuzzy, c-format
-msgid "no host name in '%s'\n"
-msgstr "(Žiadny popis)\n"
-
-#: dirmngr/dirmngr_ldap.c:664
-#, c-format
-msgid "no attribute given for query '%s'\n"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:670
-#, fuzzy, c-format
-#| msgid "WARNING: using insecure memory!\n"
-msgid "WARNING: using first attribute only\n"
-msgstr "VAROVANIE: Používaná pamäť nie je bezpečná!\n"
-
-#: dirmngr/dirmngr_ldap.c:679
-#, fuzzy, c-format
-msgid "LDAP init to '%s:%d' failed: %s\n"
-msgstr "kódovanie do ASCII formátu zlyhalo: %s\n"
-
-#: dirmngr/dirmngr_ldap.c:702
-#, fuzzy, c-format
-msgid "binding to '%s:%d' failed: %s\n"
-msgstr "kódovanie do ASCII formátu zlyhalo: %s\n"
-
-#: dirmngr/dirmngr_ldap.c:729
-#, fuzzy, c-format
-#| msgid "dearmoring failed: %s\n"
-msgid "searching '%s' failed: %s\n"
-msgstr "dekódovanie z ASCII formátu zlyhalo: %s\n"
-
-#: dirmngr/dirmngr_ldap.c:761
-#, fuzzy, c-format
-msgid "'%s' is not an LDAP URL\n"
-msgstr "\"%s\" nie je súbor JPEG\n"
-
-#: dirmngr/dirmngr_ldap.c:767
-#, c-format
-msgid "'%s' is an invalid LDAP URL\n"
-msgstr ""
-
-#: dirmngr/http.c:1987 dirmngr/ocsp.c:255
+#: dirmngr/http.c:1993 dirmngr/ocsp.c:255
 #, fuzzy, c-format
 msgid "error accessing '%s': http status %u\n"
 msgstr "chyba pri čítaní `%s': %s\n"
 
-#: dirmngr/http.c:3629 dirmngr/ocsp.c:229
+#: dirmngr/http.c:3644 dirmngr/ocsp.c:229
 #, c-format
 msgid "URL '%s' redirected to '%s' (%u)\n"
 msgstr ""
 
-#: dirmngr/http.c:3635 dirmngr/ocsp.c:246
+#: dirmngr/http.c:3650 dirmngr/ocsp.c:246
 #, fuzzy, c-format
 msgid "too many redirections\n"
 msgstr "príliš veľa `%c' predvolieb\n"
 
-#: dirmngr/http.c:3747
+#: dirmngr/http.c:3762
 #, fuzzy, c-format
 #| msgid "writing to `%s'\n"
 msgid "redirection changed to '%s'\n"
@@ -10731,31 +10567,51 @@ msgstr "aktualizácia zlyhala: %s\n"
 msgid "ldap wrapper %d stalled - killing\n"
 msgstr ""
 
-#: dirmngr/ldap.c:91
+#: dirmngr/ldap.c:92
 #, c-format
 msgid "invalid char 0x%02x in host name - not added\n"
 msgstr ""
 
-#: dirmngr/ldap.c:95
+#: dirmngr/ldap.c:96
 #, fuzzy, c-format
 msgid "adding '%s:%d' to the ldap server list\n"
 msgstr "vyhľadávam \"%s\" na HKP serveri %s\n"
 
-#: dirmngr/ldap.c:98 dirmngr/misc.c:512
+#: dirmngr/ldap.c:99 dirmngr/misc.c:512
 #, fuzzy, c-format
 msgid "malloc failed: %s\n"
 msgstr "zmazanie bloku kľúča sa nepodarilo:  %s\n"
 
-#: dirmngr/ldap.c:627
+#: dirmngr/ldap.c:221
+#, fuzzy, c-format
+msgid "'%s' is not an LDAP URL\n"
+msgstr "\"%s\" nie je súbor JPEG\n"
+
+#: dirmngr/ldap.c:227 dirmngr/ldap.c:233
 #, c-format
-msgid "start_cert_fetch: invalid pattern '%s'\n"
+msgid "'%s' is an invalid LDAP URL\n"
 msgstr ""
 
-#: dirmngr/ldap.c:839
+#: dirmngr/ldap.c:969
 #, c-format
 msgid "ldap_search hit the size limit of the server\n"
 msgstr ""
 
+#: dirmngr/ldapserver.c:117
+#, c-format
+msgid "%s:%u: password given without user\n"
+msgstr ""
+
+#: dirmngr/ldapserver.c:181
+#, c-format
+msgid "%s:%u: ignoring unknown flag '%s'\n"
+msgstr ""
+
+#: dirmngr/ldapserver.c:203
+#, fuzzy, c-format
+msgid "%s:%u: skipping this line\n"
+msgstr " s = preskočiť tento kľúč\n"
+
 #: dirmngr/misc.c:172
 #, fuzzy, c-format
 #| msgid "%s: invalid file version %d\n"
@@ -10939,72 +10795,68 @@ msgstr ""
 msgid "assuan_inquire(%s) failed: %s\n"
 msgstr "podpisovanie zlyhalo: %s\n"
 
-#: dirmngr/server.c:1158
-msgid "ldapserver missing"
-msgstr ""
-
-#: dirmngr/server.c:1224
+#: dirmngr/server.c:1277
 msgid "serialno missing in cert ID"
 msgstr ""
 
-#: dirmngr/server.c:1387 dirmngr/server.c:1473 dirmngr/server.c:1909
-#: dirmngr/server.c:1980 dirmngr/server.c:2552 dirmngr/server.c:2567
+#: dirmngr/server.c:1440 dirmngr/server.c:1526 dirmngr/server.c:1963
+#: dirmngr/server.c:2034 dirmngr/server.c:2662 dirmngr/server.c:2677
 #, fuzzy, c-format
 msgid "assuan_inquire failed: %s\n"
 msgstr "podpisovanie zlyhalo: %s\n"
 
-#: dirmngr/server.c:1516
+#: dirmngr/server.c:1569
 #, fuzzy, c-format
 msgid "fetch_cert_by_url failed: %s\n"
 msgstr "zmazanie bloku kľúča sa nepodarilo:  %s\n"
 
-#: dirmngr/server.c:1528 dirmngr/server.c:1559 dirmngr/server.c:1718
+#: dirmngr/server.c:1581 dirmngr/server.c:1612 dirmngr/server.c:1772
 #, fuzzy, c-format
 msgid "error sending data: %s\n"
 msgstr "chyba pri posielaní na `%s': %s\n"
 
-#: dirmngr/server.c:1666
+#: dirmngr/server.c:1720
 #, fuzzy, c-format
 msgid "start_cert_fetch failed: %s\n"
 msgstr "zmazanie bloku kľúča sa nepodarilo:  %s\n"
 
-#: dirmngr/server.c:1699
+#: dirmngr/server.c:1753
 #, fuzzy, c-format
 msgid "fetch_next_cert failed: %s\n"
 msgstr "zmazanie bloku kľúča sa nepodarilo:  %s\n"
 
-#: dirmngr/server.c:1726
+#: dirmngr/server.c:1780
 #, c-format
 msgid "max_replies %d exceeded\n"
 msgstr ""
 
-#: dirmngr/server.c:2856
+#: dirmngr/server.c:2966
 #, fuzzy, c-format
 msgid "can't allocate control structure: %s\n"
 msgstr "nemôžem vytvoriť `%s': %s\n"
 
-#: dirmngr/server.c:2867
+#: dirmngr/server.c:2977
 #, fuzzy, c-format
 msgid "failed to allocate assuan context: %s\n"
 msgstr "%s: nepodarilo sa vytvoriť hashovaciu tabuľku: %s\n"
 
-#: dirmngr/server.c:2888
+#: dirmngr/server.c:2998
 #, fuzzy, c-format
 #| msgid "failed to initialize the TrustDB: %s\n"
 msgid "failed to initialize the server: %s\n"
 msgstr "nemôžem inicializovať databázu dôvery: %s\n"
 
-#: dirmngr/server.c:2896
+#: dirmngr/server.c:3006
 #, fuzzy, c-format
 msgid "failed to the register commands with Assuan: %s\n"
 msgstr "zlyhalo obnovenie vyrovnávacej pamäti kľúčov: %s\n"
 
-#: dirmngr/server.c:2929
+#: dirmngr/server.c:3039
 #, c-format
 msgid "Assuan accept problem: %s\n"
 msgstr ""
 
-#: dirmngr/server.c:2948
+#: dirmngr/server.c:3058
 #, fuzzy, c-format
 #| msgid "signing failed: %s\n"
 msgid "Assuan processing failed: %s\n"
@@ -11145,21 +10997,21 @@ msgid "error sending standard options: %s\n"
 msgstr "chyba pri posielaní na `%s': %s\n"
 
 #: tools/gpgconf-comp.c:481 tools/gpgconf-comp.c:617 tools/gpgconf-comp.c:692
-#: tools/gpgconf-comp.c:804 tools/gpgconf-comp.c:906
+#: tools/gpgconf-comp.c:808 tools/gpgconf-comp.c:910
 msgid "Options controlling the diagnostic output"
 msgstr ""
 
 #: tools/gpgconf-comp.c:494 tools/gpgconf-comp.c:630 tools/gpgconf-comp.c:705
-#: tools/gpgconf-comp.c:817 tools/gpgconf-comp.c:929
+#: tools/gpgconf-comp.c:821 tools/gpgconf-comp.c:933
 msgid "Options controlling the configuration"
 msgstr ""
 
-#: tools/gpgconf-comp.c:517 tools/gpgconf-comp.c:659 tools/gpgconf-comp.c:736
-#: tools/gpgconf-comp.c:849 tools/gpgconf-comp.c:942
+#: tools/gpgconf-comp.c:517 tools/gpgconf-comp.c:659 tools/gpgconf-comp.c:740
+#: tools/gpgconf-comp.c:853 tools/gpgconf-comp.c:946
 msgid "Options useful for debugging"
 msgstr ""
 
-#: tools/gpgconf-comp.c:530 tools/gpgconf-comp.c:669 tools/gpgconf-comp.c:862
+#: tools/gpgconf-comp.c:530 tools/gpgconf-comp.c:669 tools/gpgconf-comp.c:866
 msgid "Options controlling the security"
 msgstr ""
 
@@ -11209,11 +11061,11 @@ msgstr "chyba pri vytváraní hesla: %s\n"
 msgid "|N|set the Pinentry timeout to N seconds"
 msgstr ""
 
-#: tools/gpgconf-comp.c:707 tools/gpgconf-comp.c:819
+#: tools/gpgconf-comp.c:707 tools/gpgconf-comp.c:823
 msgid "|NAME|use NAME as default secret key"
 msgstr "|MENO|použi MENO ako implicitný tajný kľúč"
 
-#: tools/gpgconf-comp.c:710 tools/gpgconf-comp.c:822
+#: tools/gpgconf-comp.c:710 tools/gpgconf-comp.c:826
 #, fuzzy
 msgid "|NAME|encrypt to user ID NAME as well"
 msgstr "|MENO|šifrovať pre MENO"
@@ -11222,137 +11074,137 @@ msgstr "|MENO|šifrovať pre MENO"
 msgid "|SPEC|set up email aliases"
 msgstr ""
 
-#: tools/gpgconf-comp.c:749 tools/gpgconf-comp.c:981
+#: tools/gpgconf-comp.c:753 tools/gpgconf-comp.c:985
 msgid "Configuration for Keyservers"
 msgstr ""
 
-#: tools/gpgconf-comp.c:751 tools/gpgconf-comp.c:983
+#: tools/gpgconf-comp.c:755 tools/gpgconf-comp.c:987
 #, fuzzy
 msgid "|URL|use keyserver at URL"
 msgstr "nemožno použiť URI servera kľúčov - chyba analýzy URI\n"
 
-#: tools/gpgconf-comp.c:754
+#: tools/gpgconf-comp.c:758
 msgid "allow PKA lookups (DNS requests)"
 msgstr ""
 
-#: tools/gpgconf-comp.c:757
+#: tools/gpgconf-comp.c:761
 msgid "|MECHANISMS|use MECHANISMS to locate keys by mail address"
 msgstr ""
 
-#: tools/gpgconf-comp.c:760
+#: tools/gpgconf-comp.c:764
 #, fuzzy
 #| msgid "import keys from a keyserver"
 msgid "import missing key from a signature"
 msgstr "importovať kľúče zo servera kľúčov"
 
-#: tools/gpgconf-comp.c:763
+#: tools/gpgconf-comp.c:767
 #, fuzzy
 msgid "include the public key in signatures"
 msgstr "skontrolovať podpisy kľúčov"
 
-#: tools/gpgconf-comp.c:770 tools/gpgconf-comp.c:831
+#: tools/gpgconf-comp.c:774 tools/gpgconf-comp.c:835
 msgid "disable all access to the dirmngr"
 msgstr ""
 
-#: tools/gpgconf-comp.c:834
+#: tools/gpgconf-comp.c:838
 #, fuzzy
 msgid "|NAME|use encoding NAME for PKCS#12 passphrases"
 msgstr "|ALG|použiť šifrovací algoritmus ALG pre heslá"
 
-#: tools/gpgconf-comp.c:870
+#: tools/gpgconf-comp.c:874
 msgid "do not check CRLs for root certificates"
 msgstr ""
 
-#: tools/gpgconf-comp.c:919
+#: tools/gpgconf-comp.c:923
 msgid "Options controlling the format of the output"
 msgstr ""
 
-#: tools/gpgconf-comp.c:961
+#: tools/gpgconf-comp.c:965
 msgid "Options controlling the interactivity and enforcement"
 msgstr ""
 
-#: tools/gpgconf-comp.c:974
+#: tools/gpgconf-comp.c:978
 msgid "Options controlling the use of Tor"
 msgstr ""
 
-#: tools/gpgconf-comp.c:988
+#: tools/gpgconf-comp.c:992
 msgid "Configuration for HTTP servers"
 msgstr ""
 
-#: tools/gpgconf-comp.c:999
+#: tools/gpgconf-comp.c:1003
 msgid "use system's HTTP proxy setting"
 msgstr ""
 
-#: tools/gpgconf-comp.c:1004
+#: tools/gpgconf-comp.c:1008
 msgid "Configuration of LDAP servers to use"
 msgstr ""
 
-#: tools/gpgconf-comp.c:1033
+#: tools/gpgconf-comp.c:1037
 msgid "LDAP server list"
 msgstr ""
 
-#: tools/gpgconf-comp.c:1041
+#: tools/gpgconf-comp.c:1045
 msgid "Configuration for OCSP"
 msgstr ""
 
-#: tools/gpgconf-comp.c:1094
+#: tools/gpgconf-comp.c:1098
 msgid "OpenPGP"
 msgstr ""
 
-#: tools/gpgconf-comp.c:1095
+#: tools/gpgconf-comp.c:1099
 msgid "Private Keys"
 msgstr ""
 
-#: tools/gpgconf-comp.c:1096
+#: tools/gpgconf-comp.c:1100
 msgid "Smartcards"
 msgstr ""
 
-#: tools/gpgconf-comp.c:1097
+#: tools/gpgconf-comp.c:1101
 msgid "S/MIME"
 msgstr ""
 
-#: tools/gpgconf-comp.c:1098
+#: tools/gpgconf-comp.c:1102
 #, fuzzy
 #| msgid "network error"
 msgid "Network"
 msgstr "chyba siete"
 
-#: tools/gpgconf-comp.c:1099
+#: tools/gpgconf-comp.c:1103
 #, fuzzy
 msgid "Passphrase Entry"
 msgstr "nesprávne heslo"
 
-#: tools/gpgconf-comp.c:1278
+#: tools/gpgconf-comp.c:1282
 #, fuzzy
 msgid "Component not suitable for launching"
 msgstr "verejný kľúč nenájdený"
 
-#: tools/gpgconf-comp.c:1284
+#: tools/gpgconf-comp.c:1288
 #, c-format
 msgid "Configuration file of component %s is broken\n"
 msgstr ""
 
-#: tools/gpgconf-comp.c:1287
+#: tools/gpgconf-comp.c:1291
 #, fuzzy, c-format
 #| msgid "Please use the command \"toggle\" first.\n"
 msgid "Note: Use the command \"%s%s\" to get details.\n"
 msgstr "Prosím, najskôr použite príkaz \"toggle\" (prepnúť).\n"
 
-#: tools/gpgconf-comp.c:3446
+#: tools/gpgconf-comp.c:3454
 #, c-format
 msgid "External verification of component %s failed"
 msgstr ""
 
-#: tools/gpgconf-comp.c:3597
+#: tools/gpgconf-comp.c:3605
 msgid "Note that group specifications are ignored\n"
 msgstr ""
 
-#: tools/gpgconf-comp.c:4195
+#: tools/gpgconf-comp.c:4203
 #, fuzzy, c-format
 msgid "error closing '%s'\n"
 msgstr "chyba pri čítaní `%s': %s\n"
 
-#: tools/gpgconf-comp.c:4197
+#: tools/gpgconf-comp.c:4205
 #, fuzzy, c-format
 msgid "error parsing '%s'\n"
 msgstr "chyba pri čítaní `%s': %s\n"
@@ -11462,6 +11314,99 @@ msgid ""
 msgstr ""
 
 #, fuzzy
+#~ msgid "requesting key %s from %s server %s\n"
+#~ msgstr "požadujem kľúč %08lX z %s\n"
+
+#, fuzzy
+#~ msgid "%s:%u: no hostname given\n"
+#~ msgstr "(Žiadny popis)\n"
+
+#, fuzzy
+#~ msgid "could not parse keyserver\n"
+#~ msgstr "nemožno použiť URI servera kľúčov - chyba analýzy URI\n"
+
+#, fuzzy
+#~| msgid "|NAME|set terminal charset to NAME"
+#~ msgid "|NAME|connect to host NAME"
+#~ msgstr "|MENO|nastav znakovú sadu terminálu na MENO"
+
+#, fuzzy
+#~| msgid "|NAME|use NAME as default recipient"
+#~ msgid "|NAME|use user NAME for authentication"
+#~ msgstr "|MENO|použiť MENO ako implicitného adresáta"
+
+#, fuzzy
+#~| msgid "Usage: gpg [options] [files] (-h for help)"
+#~ msgid "Usage: dirmngr_ldap [options] [URL] (-h for help)\n"
+#~ msgstr "Použitie: gpg [možnosti] [súbory] (-h pre pomoc)"
+
+#, fuzzy
+#~| msgid "invalid import options\n"
+#~ msgid "invalid port number %d\n"
+#~ msgstr "neplatný parameter pre import\n"
+
+#, fuzzy
+#~ msgid "error writing to stdout: %s\n"
+#~ msgstr "chyba pri zápise súboru kľúčov (keyring)  `%s': %s\n"
+
+#, fuzzy
+#~ msgid "attribute '%s' not found\n"
+#~ msgstr "kľúč `%s' nebol nájdený: %s\n"
+
+#, fuzzy
+#~| msgid "reading from `%s'\n"
+#~ msgid "processing url '%s'\n"
+#~ msgstr "čítam z `%s'\n"
+
+#, fuzzy
+#~| msgid "          w/o user IDs: %lu\n"
+#~ msgid "          user '%s'\n"
+#~ msgstr "        bez identifikátorov: %lu\n"
+
+#, fuzzy
+#~ msgid "          pass '%s'\n"
+#~ msgstr "                alias \""
+
+#, fuzzy
+#~ msgid "          host '%s'\n"
+#~ msgstr "                alias \""
+
+#, fuzzy
+#~| msgid "          not imported: %lu\n"
+#~ msgid "          port %d\n"
+#~ msgstr "           neimportované: %lu\n"
+
+#, fuzzy
+#~ msgid "            DN '%s'\n"
+#~ msgstr "                alias \""
+
+#, fuzzy
+#~ msgid "          attr '%s'\n"
+#~ msgstr "                alias \""
+
+#, fuzzy
+#~ msgid "no host name in '%s'\n"
+#~ msgstr "(Žiadny popis)\n"
+
+#, fuzzy
+#~| msgid "WARNING: using insecure memory!\n"
+#~ msgid "WARNING: using first attribute only\n"
+#~ msgstr "VAROVANIE: Používaná pamäť nie je bezpečná!\n"
+
+#, fuzzy
+#~ msgid "LDAP init to '%s:%d' failed: %s\n"
+#~ msgstr "kódovanie do ASCII formátu zlyhalo: %s\n"
+
+#, fuzzy
+#~ msgid "binding to '%s:%d' failed: %s\n"
+#~ msgstr "kódovanie do ASCII formátu zlyhalo: %s\n"
+
+#, fuzzy
+#~| msgid "dearmoring failed: %s\n"
+#~ msgid "searching '%s' failed: %s\n"
+#~ msgstr "dekódovanie z ASCII formátu zlyhalo: %s\n"
+
+#, fuzzy
 #~| msgid "NOTE: old default options file `%s' ignored\n"
 #~ msgid "Note: old default options file '%s' ignored\n"
 #~ msgstr "POZNÁMKA: starý implicitný súbor s možnosťami `%s ignorovaný'\n"
index 11feed0..19dfdec 100644 (file)
Binary files a/po/sv.gmo and b/po/sv.gmo differ
index 34310db..97fb54d 100644 (file)
--- a/po/sv.po
+++ b/po/sv.po
@@ -24,7 +24,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: gnupg trunk\n"
 "Report-Msgid-Bugs-To: translations@gnupg.org\n"
-"POT-Creation-Date: 2021-01-11 18:47+0100\n"
+"POT-Creation-Date: 2021-06-10 18:59+0200\n"
 "PO-Revision-Date: 2017-11-02 17:41+0100\n"
 "Last-Translator: Daniel Nylander <po@danielnylander.se>\n"
 "Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n"
@@ -137,7 +137,7 @@ msgid "Passphrase:"
 msgstr "Lösenfras:"
 
 #: agent/call-pinentry.c:1107 agent/call-pinentry.c:1359
-#: agent/command-ssh.c:3130 agent/genkey.c:416
+#: agent/command-ssh.c:3140 agent/genkey.c:416
 msgid "does not match - try again"
 msgstr "stämmer inte överens - försök igen"
 
@@ -190,34 +190,34 @@ msgstr "Felaktig lösenfras"
 msgid "ssh keys greater than %d bits are not supported\n"
 msgstr "ssh-nycklar större än %d bitar stöds inte\n"
 
-#: agent/command-ssh.c:862 common/dotlock.c:852 g10/card-util.c:932
-#: g10/exec.c:546 g10/export.c:1320 g10/gpg.c:1352 g10/keygen.c:4998
-#: g10/keyring.c:1322 g10/keyring.c:1637 g10/openfile.c:291 g10/sign.c:1009
-#: g10/sign.c:1323 g10/tdbio.c:753
+#: agent/command-ssh.c:862 common/dotlock.c:852 g10/card-util.c:933
+#: g10/exec.c:554 g10/export.c:1320 g10/gpg.c:1360 g10/keygen.c:4998
+#: g10/keyring.c:1322 g10/keyring.c:1637 g10/openfile.c:291 g10/sign.c:1008
+#: g10/sign.c:1322 g10/tdbio.c:753
 #, fuzzy, c-format
 #| msgid "can't create `%s': %s\n"
 msgid "can't create '%s': %s\n"
 msgstr "kan inte skapa \"%s\": %s\n"
 
-#: agent/command-ssh.c:874 common/helpfile.c:57 g10/card-util.c:889
+#: agent/command-ssh.c:874 common/helpfile.c:57 g10/card-util.c:890
 #: g10/dearmor.c:59 g10/dearmor.c:106 g10/decrypt.c:65 g10/decrypt.c:136
-#: g10/decrypt.c:153 g10/encrypt.c:180 g10/encrypt.c:543 g10/gpg.c:1353
-#: g10/import.c:352 g10/import.c:536 g10/import.c:764 g10/keygen.c:4036
+#: g10/decrypt.c:153 g10/encrypt.c:180 g10/encrypt.c:543 g10/gpg.c:1361
+#: g10/import.c:364 g10/import.c:548 g10/import.c:776 g10/keygen.c:4036
 #: g10/keyring.c:1663 g10/openfile.c:195 g10/openfile.c:209 g10/plaintext.c:128
-#: g10/plaintext.c:649 g10/sign.c:991 g10/sign.c:1202 g10/sign.c:1307
-#: g10/sign.c:1452 g10/tdbdump.c:143 g10/tdbdump.c:151 g10/tdbio.c:758
-#: g10/tdbio.c:829 g10/verify.c:96 g10/verify.c:160 sm/gpgsm.c:2219
-#: sm/gpgsm.c:2249 sm/gpgsm.c:2287 sm/qualified.c:66 dirmngr/certcache.c:396
+#: g10/plaintext.c:649 g10/sign.c:990 g10/sign.c:1201 g10/sign.c:1306
+#: g10/sign.c:1451 g10/tdbdump.c:143 g10/tdbdump.c:151 g10/tdbio.c:758
+#: g10/tdbio.c:829 g10/verify.c:96 g10/verify.c:160 sm/gpgsm.c:2125
+#: sm/gpgsm.c:2155 sm/gpgsm.c:2193 sm/qualified.c:66 dirmngr/certcache.c:396
 #: dirmngr/certcache.c:476 dirmngr/certcache.c:478 dirmngr/crlcache.c:2588
-#: dirmngr/dirmngr.c:1722
+#: dirmngr/dirmngr.c:1759
 #, fuzzy, c-format
 #| msgid "can't open `%s': %s\n"
 msgid "can't open '%s': %s\n"
 msgstr "kan inte öppna \"%s\": %s\n"
 
 #: agent/command-ssh.c:2385 agent/command-ssh.c:2431 agent/command-ssh.c:2449
-#: agent/command-ssh.c:2601 g10/card-util.c:687 g10/card-util.c:708
-#: g10/skclist.c:430
+#: agent/command-ssh.c:2601 g10/card-util.c:688 g10/card-util.c:709
+#: g10/skclist.c:435
 #, c-format
 msgid "error getting serial number of card: %s\n"
 msgstr "fel när serienumret hämtades från kortet: %s\n"
@@ -244,31 +244,31 @@ msgstr "ingen lämplig kortnyckel hittades: %s\n"
 msgid "error getting list of cards: %s\n"
 msgstr "fel vid hämtning av lagrade flaggor: %s\n"
 
-#: agent/command-ssh.c:2765
+#: agent/command-ssh.c:2775
 #, c-format
 msgid ""
 "An ssh process requested the use of key%%0A  %s%%0A  (%s)%%0ADo you want to "
 "allow this?"
 msgstr ""
 
-#: agent/command-ssh.c:2772
+#: agent/command-ssh.c:2782
 msgid "Allow"
 msgstr ""
 
-#: agent/command-ssh.c:2772
+#: agent/command-ssh.c:2782
 msgid "Deny"
 msgstr ""
 
-#: agent/command-ssh.c:2781
+#: agent/command-ssh.c:2791
 #, fuzzy, c-format
 msgid "Please enter the passphrase for the ssh key%%0A  %F%%0A  (%c)"
 msgstr "Ange lösenfrasen för ssh-nyckeln%0A  %c"
 
-#: agent/command-ssh.c:3058 agent/genkey.c:351
+#: agent/command-ssh.c:3068 agent/genkey.c:351
 msgid "Please re-enter this passphrase"
 msgstr "Ange denna lösenfras igen"
 
-#: agent/command-ssh.c:3085
+#: agent/command-ssh.c:3095
 #, fuzzy, c-format
 msgid ""
 "Please enter a passphrase to protect the received secret key%%0A   %s%%0A   "
@@ -277,7 +277,7 @@ msgstr ""
 "Ange en lösenfras för att skydda den mottagna hemliga nyckeln%%0A   %s%%0Ai  "
 "gpg-agents nyckellager"
 
-#: agent/command-ssh.c:3667
+#: agent/command-ssh.c:3677
 #, c-format
 msgid "failed to create stream from socket: %s\n"
 msgstr "misslyckades med att skapa flöde från uttag: %s\n"
@@ -450,47 +450,45 @@ msgstr ""
 "@Flaggor:\n"
 " "
 
-#: agent/gpg-agent.c:165 scd/scdaemon.c:120 dirmngr/dirmngr.c:166
+#: agent/gpg-agent.c:165 scd/scdaemon.c:120 dirmngr/dirmngr.c:167
 msgid "run in daemon mode (background)"
 msgstr "kör i demonläge (bakgrund)"
 
-#: agent/gpg-agent.c:166 scd/scdaemon.c:117 dirmngr/dirmngr.c:165
+#: agent/gpg-agent.c:166 scd/scdaemon.c:117 dirmngr/dirmngr.c:166
 msgid "run in server mode (foreground)"
 msgstr "kör i serverläge (förgrund)"
 
-#: agent/gpg-agent.c:168 dirmngr/dirmngr.c:168
+#: agent/gpg-agent.c:168 dirmngr/dirmngr.c:169
 #, fuzzy
 #| msgid "run in server mode"
 msgid "run in supervised mode"
 msgstr "kör i serverläge"
 
-#: agent/gpg-agent.c:170 g10/gpg.c:608 g10/gpgv.c:78 kbx/kbxutil.c:88
-#: scd/scdaemon.c:121 sm/gpgsm.c:310 dirmngr/dirmngr-client.c:70
-#: dirmngr/dirmngr.c:181 dirmngr/dirmngr_ldap.c:135
-#: tools/gpg-connect-agent.c:78 tools/gpgconf.c:108
+#: agent/gpg-agent.c:170 g10/gpg.c:605 g10/gpgv.c:78 kbx/kbxutil.c:88
+#: scd/scdaemon.c:121 sm/gpgsm.c:311 dirmngr/dirmngr-client.c:70
+#: dirmngr/dirmngr.c:182 tools/gpg-connect-agent.c:78 tools/gpgconf.c:108
 msgid "verbose"
 msgstr "utförlig"
 
 #: agent/gpg-agent.c:171 g10/gpgv.c:79 kbx/kbxutil.c:89 scd/scdaemon.c:122
-#: sm/gpgsm.c:311 dirmngr/dirmngr-client.c:71 dirmngr/dirmngr.c:182
-#: dirmngr/dirmngr_ldap.c:136
+#: sm/gpgsm.c:312 dirmngr/dirmngr-client.c:71 dirmngr/dirmngr.c:183
 msgid "be somewhat more quiet"
 msgstr "var något tystare"
 
-#: agent/gpg-agent.c:172 scd/scdaemon.c:123 dirmngr/dirmngr.c:183
+#: agent/gpg-agent.c:172 scd/scdaemon.c:123 dirmngr/dirmngr.c:184
 msgid "sh-style command output"
 msgstr "sh-liknande kommandoutdata"
 
-#: agent/gpg-agent.c:173 scd/scdaemon.c:124 dirmngr/dirmngr.c:184
+#: agent/gpg-agent.c:173 scd/scdaemon.c:124 dirmngr/dirmngr.c:185
 msgid "csh-style command output"
 msgstr "csh-liknande kommandoutdata"
 
-#: agent/gpg-agent.c:174 scd/scdaemon.c:125 sm/gpgsm.c:341
-#: dirmngr/dirmngr.c:185
+#: agent/gpg-agent.c:174 scd/scdaemon.c:125 sm/gpgsm.c:344
+#: dirmngr/dirmngr.c:186
 msgid "|FILE|read options from FILE"
 msgstr "|FIL|läs inställningar från FIL"
 
-#: agent/gpg-agent.c:183 scd/scdaemon.c:135 dirmngr/dirmngr.c:188
+#: agent/gpg-agent.c:183 scd/scdaemon.c:135 dirmngr/dirmngr.c:189
 msgid "do not detach from the console"
 msgstr "frigör inte från konsollen"
 
@@ -575,9 +573,9 @@ msgstr ""
 #. reporting address.  This is so that we can change the
 #. reporting address without breaking the translations.
 #: agent/gpg-agent.c:531 agent/preset-passphrase.c:100 agent/protect-tool.c:155
-#: g10/gpg.c:1070 g10/gpgv.c:149 kbx/kbxutil.c:113 scd/scdaemon.c:298
-#: sm/gpgsm.c:567 dirmngr/dirmngr-client.c:168 dirmngr/dirmngr.c:404
-#: dirmngr/dirmngr_ldap.c:207 tools/gpg-connect-agent.c:205 tools/gpgconf.c:146
+#: g10/gpg.c:1074 g10/gpgv.c:149 kbx/kbxutil.c:113 scd/scdaemon.c:299
+#: sm/gpgsm.c:570 dirmngr/dirmngr-client.c:168 dirmngr/dirmngr.c:412
+#: tools/gpg-connect-agent.c:205 tools/gpgconf.c:146
 #: tools/gpg-check-pattern.c:143
 msgid "Please report bugs to <@EMAIL@>.\n"
 msgstr ""
@@ -602,40 +600,40 @@ msgstr ""
 "Syntax: gpg-agent [flaggor] [kommando [argument]]\n"
 "Hantering av hemliga nycklar för GnuPG\n"
 
-#: agent/gpg-agent.c:587 g10/gpg.c:1262 scd/scdaemon.c:370 sm/gpgsm.c:715
-#: dirmngr/dirmngr.c:488
+#: agent/gpg-agent.c:587 g10/gpg.c:1270 scd/scdaemon.c:371 sm/gpgsm.c:718
+#: dirmngr/dirmngr.c:496
 #, fuzzy, c-format
 #| msgid "invalid debug-level `%s' given\n"
 msgid "invalid debug-level '%s' given\n"
 msgstr "ogiltig debug-level \"%s\" angiven\n"
 
-#: agent/gpg-agent.c:945 g10/gpg.c:3753 g10/gpg.c:3777 sm/gpgsm.c:1631
-#: sm/gpgsm.c:1637
+#: agent/gpg-agent.c:945 g10/gpg.c:3773 g10/gpg.c:3797 sm/gpgsm.c:1531
+#: sm/gpgsm.c:1537
 #, c-format
 msgid "selected digest algorithm is invalid\n"
 msgstr "vald sammandragsalgoritm är ogiltig\n"
 
 #: agent/gpg-agent.c:1168 agent/gpg-agent.c:2023 common/argparse.c:1755
-#: common/argparse.c:1847 g10/gpg.c:2482 scd/scdaemon.c:532 sm/gpgsm.c:1063
-#: dirmngr/dirmngr.c:956 dirmngr/dirmngr.c:1841
+#: common/argparse.c:1847 g10/gpg.c:2495 scd/scdaemon.c:533 sm/gpgsm.c:977
+#: dirmngr/dirmngr.c:994 dirmngr/dirmngr.c:1878
 #, fuzzy, c-format
 #| msgid "reading options from `%s'\n"
 msgid "reading options from '%s'\n"
 msgstr "läser inställningar från \"%s\"\n"
 
-#: agent/gpg-agent.c:1300 g10/gpg.c:3704 scd/scdaemon.c:655 sm/gpgsm.c:1571
-#: dirmngr/dirmngr.c:1067 tools/gpg-connect-agent.c:1244 tools/gpgconf.c:624
+#: agent/gpg-agent.c:1300 g10/gpg.c:3724 scd/scdaemon.c:657 sm/gpgsm.c:1471
+#: dirmngr/dirmngr.c:1102 tools/gpg-connect-agent.c:1244 tools/gpgconf.c:624
 #, fuzzy, c-format
 #| msgid "WARNING: \"%s\" is a deprecated option\n"
 msgid "Note: '%s' is not considered an option\n"
 msgstr "VARNING: inställningen \"%s\" är föråldrad\n"
 
-#: agent/gpg-agent.c:2159 scd/scdaemon.c:1096 dirmngr/dirmngr.c:1219
+#: agent/gpg-agent.c:2159 scd/scdaemon.c:1098 dirmngr/dirmngr.c:1256
 #, c-format
 msgid "can't create socket: %s\n"
 msgstr "kan inte skapa uttag: %s\n"
 
-#: agent/gpg-agent.c:2176 scd/scdaemon.c:1109 dirmngr/dirmngr.c:1232
+#: agent/gpg-agent.c:2176 scd/scdaemon.c:1111 dirmngr/dirmngr.c:1269
 #, fuzzy, c-format
 #| msgid "socket name `%s' is too long\n"
 msgid "socket name '%s' is too long\n"
@@ -647,12 +645,12 @@ msgid "a gpg-agent is already running - not starting a new one\n"
 msgstr "en gpg-agent är redan igång - startar inte en till\n"
 
 # Jag har valt att inte översätta nonce. Nonce är data eller information som endast används en gång
-#: agent/gpg-agent.c:2226 scd/scdaemon.c:1133 dirmngr/dirmngr.c:1264
+#: agent/gpg-agent.c:2226 scd/scdaemon.c:1135 dirmngr/dirmngr.c:1301
 #, c-format
 msgid "error getting nonce for the socket\n"
 msgstr "fel vid hämtning av nonce för uttaget\n"
 
-#: agent/gpg-agent.c:2231 scd/scdaemon.c:1136 dirmngr/dirmngr.c:1267
+#: agent/gpg-agent.c:2231 scd/scdaemon.c:1138 dirmngr/dirmngr.c:1304
 #, fuzzy, c-format
 #| msgid "error binding socket to `%s': %s\n"
 msgid "error binding socket to '%s': %s\n"
@@ -660,20 +658,20 @@ msgstr "fel när \"%s\" bands till uttag: %s\n"
 
 # Extension är vad? FIXME
 #: agent/gpg-agent.c:2242 agent/gpg-agent.c:2282 agent/gpg-agent.c:2291
-#: scd/scdaemon.c:1144 dirmngr/dirmngr.c:1276
+#: scd/scdaemon.c:1146 dirmngr/dirmngr.c:1313
 #, fuzzy, c-format
 #| msgid "Warning: unsafe permissions on %s \"%s\"\n"
 msgid "can't set permissions of '%s': %s\n"
 msgstr "Varning: osäkra rättigheter på %s \"%s\"\n"
 
-#: agent/gpg-agent.c:2256 scd/scdaemon.c:1156 dirmngr/dirmngr.c:1288
+#: agent/gpg-agent.c:2256 scd/scdaemon.c:1158 dirmngr/dirmngr.c:1325
 #, fuzzy, c-format
 #| msgid "listening on socket `%s'\n"
 msgid "listening on socket '%s'\n"
 msgstr "lyssnar på uttaget \"%s\"\n"
 
 #: agent/gpg-agent.c:2276 agent/gpg-agent.c:2329 common/homedir.c:517
-#: g10/exec.c:261 g10/openfile.c:397
+#: g10/exec.c:269 g10/openfile.c:397
 #, fuzzy, c-format
 #| msgid "can't create directory `%s': %s\n"
 msgid "can't create directory '%s': %s\n"
@@ -698,7 +696,7 @@ msgstr "stat() misslyckades för \"%s\": %s\n"
 msgid "can't use '%s' as home directory\n"
 msgstr "kan inte använda \"%s\" som hemkatalog\n"
 
-#: agent/gpg-agent.c:2502 scd/scdaemon.c:1172 dirmngr/dirmngr.c:2047
+#: agent/gpg-agent.c:2502 scd/scdaemon.c:1174 dirmngr/dirmngr.c:2084
 #, c-format
 msgid "error reading nonce on fd %d: %s\n"
 msgstr "fel vid läsning av nonce på fd %d: %s\n"
@@ -723,13 +721,13 @@ msgstr "ssh-hanteraren 0x%lx för fd %d startad\n"
 msgid "ssh handler 0x%lx for fd %d terminated\n"
 msgstr "ssh-hanteraren 0x%lx för fd %d avslutad\n"
 
-#: agent/gpg-agent.c:3016 scd/scdaemon.c:1362 dirmngr/dirmngr.c:2261
+#: agent/gpg-agent.c:3016 scd/scdaemon.c:1366 dirmngr/dirmngr.c:2298
 #, fuzzy, c-format
 #| msgid "pth_select failed: %s - waiting 1s\n"
 msgid "npth_pselect failed: %s - waiting 1s\n"
 msgstr "pth_select misslyckades: %s - väntar 1 s\n"
 
-#: agent/gpg-agent.c:3104 scd/scdaemon.c:1427
+#: agent/gpg-agent.c:3104 scd/scdaemon.c:1431
 #, c-format
 msgid "%s %s stopped\n"
 msgstr "%s %s stoppad\n"
@@ -754,8 +752,8 @@ msgstr ""
 "Syntax: gpg-preset-passphrase [flaggor] NYCKELHASH\n"
 "Underhåll av lösenordscache\n"
 
-#: agent/protect-tool.c:108 g10/gpg.c:440 kbx/kbxutil.c:71 sm/gpgsm.c:204
-#: dirmngr/dirmngr.c:163 tools/gpgconf.c:78
+#: agent/protect-tool.c:108 g10/gpg.c:437 kbx/kbxutil.c:71 sm/gpgsm.c:205
+#: dirmngr/dirmngr.c:164 tools/gpgconf.c:78
 msgid ""
 "@Commands:\n"
 " "
@@ -764,8 +762,8 @@ msgstr ""
 " "
 
 # Här bruksanvisning för kommandoraden. Resultatet har jag översatt med "inställningar", eftersom flaggorna även kan förekomma i en inställningsfil.
-#: agent/protect-tool.c:117 g10/gpg.c:553 g10/gpgv.c:76 kbx/kbxutil.c:81
-#: sm/gpgsm.c:252 dirmngr/dirmngr.c:179 tools/gpg-connect-agent.c:76
+#: agent/protect-tool.c:117 g10/gpg.c:550 g10/gpgv.c:76 kbx/kbxutil.c:81
+#: sm/gpgsm.c:253 dirmngr/dirmngr.c:180 tools/gpg-connect-agent.c:76
 #: tools/gpgconf.c:105
 msgid ""
 "@\n"
@@ -788,11 +786,11 @@ msgstr ""
 "Syntax: gpg-protect-tool [flaggor] [argument]\n"
 "Underhållsverktyg för hemliga nycklar\n"
 
-#: agent/protect-tool.c:703
+#: agent/protect-tool.c:703 sm/import.c:774
 msgid "Please enter the passphrase to unprotect the PKCS#12 object."
 msgstr "Ange lösenfrasen för att avskydda PKCS#12-objektet."
 
-#: agent/protect-tool.c:708
+#: agent/protect-tool.c:708 sm/export.c:710
 msgid "Please enter the passphrase to protect the new PKCS#12 object."
 msgstr "Ange lösenfrasen för att skydda det nya PKCS#12-objektet."
 
@@ -821,7 +819,7 @@ msgstr "avbruten\n"
 msgid "error while asking for the passphrase: %s\n"
 msgstr "fel vid fråga efter lösenfrasen: %s\n"
 
-#: agent/trustlist.c:154 agent/trustlist.c:364 dirmngr/dirmngr.c:1629
+#: agent/trustlist.c:154 agent/trustlist.c:364 dirmngr/dirmngr.c:1666
 #: tools/gpgconf.c:418
 #, fuzzy, c-format
 #| msgid "error opening `%s': %s\n"
@@ -993,7 +991,7 @@ msgstr "kontroll av den skapade signaturen misslyckades: %s\n"
 msgid "secret key parts are not available\n"
 msgstr "de hemliga nyckeldelarna är inte tillgängliga\n"
 
-#: agent/cvt-openpgp.c:344 g10/card-util.c:1540
+#: agent/cvt-openpgp.c:344 g10/card-util.c:1541
 #, fuzzy, c-format
 #| msgid "protection algorithm %d%s is not supported\n"
 msgid "public key algorithm %d (%s) is not supported\n"
@@ -1011,22 +1009,22 @@ msgstr "skyddsalgoritmen %d%s stöds inte\n"
 msgid "protection hash algorithm %d (%s) is not supported\n"
 msgstr "skyddsalgoritmen %d%s stöds inte\n"
 
-#: common/exechelp-posix.c:359 common/exechelp-w32.c:449
-#: common/exechelp-w32.c:473 common/exechelp-w32.c:503
+#: common/exechelp-posix.c:359 common/exechelp-w32.c:451
+#: common/exechelp-w32.c:475 common/exechelp-w32.c:505
 #, c-format
 msgid "error creating a pipe: %s\n"
 msgstr "fel när ett rör skapades: %s\n"
 
 #: common/exechelp-posix.c:372 common/exechelp-w32.c:355
-#: common/exechelp-w32.c:459 common/exechelp-w32.c:483
-#: common/exechelp-w32.c:513
+#: common/exechelp-w32.c:461 common/exechelp-w32.c:485
+#: common/exechelp-w32.c:515
 #, fuzzy, c-format
 #| msgid "error creating a pipe: %s\n"
 msgid "error creating a stream for a pipe: %s\n"
 msgstr "fel när ett rör skapades: %s\n"
 
 #: common/exechelp-posix.c:495 common/exechelp-posix.c:570
-#: common/exechelp-posix.c:851 dirmngr/dirmngr.c:1306
+#: common/exechelp-posix.c:856 dirmngr/dirmngr.c:1343
 #, c-format
 msgid "error forking process: %s\n"
 msgstr "fel vid grening av process: %s\n"
@@ -1036,32 +1034,32 @@ msgstr "fel vid grening av process: %s\n"
 msgid "waiting for process %d to terminate failed: %s\n"
 msgstr "misslyckades med att vänta på att processen %d skulle avslutas: %s\n"
 
-#: common/exechelp-posix.c:678 common/exechelp-posix.c:794
+#: common/exechelp-posix.c:678 common/exechelp-posix.c:799
 #, fuzzy, c-format
 #| msgid "error running `%s': probably not installed\n"
 msgid "error running '%s': probably not installed\n"
 msgstr "fel vid körning av \"%s\": antagligen inte installerat\n"
 
-#: common/exechelp-posix.c:684 common/exechelp-posix.c:801
-#: common/exechelp-w32.c:796 common/exechelp-w32ce.c:781
+#: common/exechelp-posix.c:684 common/exechelp-posix.c:806
+#: common/exechelp-w32.c:829 common/exechelp-w32ce.c:781
 #, fuzzy, c-format
 #| msgid "error running `%s': exit status %d\n"
 msgid "error running '%s': exit status %d\n"
 msgstr "fel vid körning av \"%s\": avslutsstatus %d\n"
 
-#: common/exechelp-posix.c:692 common/exechelp-posix.c:809
+#: common/exechelp-posix.c:692 common/exechelp-posix.c:814
 #, fuzzy, c-format
 #| msgid "error running `%s': terminated\n"
 msgid "error running '%s': terminated\n"
 msgstr "fel vid körning av \"%s\": avslutades\n"
 
-#: common/exechelp-posix.c:750 common/exechelp-w32.c:777
+#: common/exechelp-posix.c:755 common/exechelp-w32.c:810
 #, fuzzy, c-format
 #| msgid "waiting for process %d to terminate failed: %s\n"
 msgid "waiting for processes to terminate failed: %s\n"
 msgstr "misslyckades med att vänta på att processen %d skulle avslutas: %s\n"
 
-#: common/exechelp-w32.c:789 common/exechelp-w32ce.c:775
+#: common/exechelp-w32.c:822 common/exechelp-w32ce.c:775
 #, c-format
 msgid "error getting exit code of process %d: %s\n"
 msgstr "fel vid hämtning av avslutskod för processen %d: %s\n"
@@ -1160,7 +1158,7 @@ msgstr "slut på kärna i säkert minne vid allokering av %lu byte"
 msgid "out of core while allocating %lu bytes"
 msgstr "slut på kärna vid allokering av %lu byte"
 
-#: common/miscellaneous.c:115 g10/card-util.c:896 tools/no-libgcrypt.c:30
+#: common/miscellaneous.c:115 g10/card-util.c:897 tools/no-libgcrypt.c:30
 #, c-format
 msgid "error allocating enough memory: %s\n"
 msgstr "fel vid allokering av tillräckligt mycket minne: %s\n"
@@ -1279,7 +1277,7 @@ msgid "algorithm: %s"
 msgstr "algoritm: %s"
 
 #: common/audit.c:774 common/audit.c:776 common/audit.c:921 common/audit.c:923
-#: scd/app-openpgp.c:3555
+#: scd/app-openpgp.c:3554
 #, c-format
 msgid "unsupported algorithm: %s"
 msgstr "algoritmen stöds inte: %s"
@@ -1406,6 +1404,26 @@ msgstr "[ingen]"
 msgid "invalid radix64 character %02x skipped\n"
 msgstr "ogiltigt radix64-tecken %02x hoppades över\n"
 
+#: common/ttyio.c:433
+#, c-format
+msgid "Sorry, we are in batchmode - can't get input\n"
+msgstr ""
+
+#: common/ttyio.c:439
+#, c-format
+msgid "Sorry, no terminal at all requested - can't get input\n"
+msgstr ""
+
+#: common/ttyio.c:474 common/ttyio.c:484
+#, c-format
+msgid "too many errors; giving up\n"
+msgstr ""
+
+#: common/ttyio.c:536
+#, c-format
+msgid "Control-D detected\n"
+msgstr ""
+
 #: common/argparse.c:520
 msgid "argument not expected"
 msgstr "argument förväntades inte"
@@ -1471,7 +1489,7 @@ msgstr "ogiltig flagga"
 msgid "missing argument for option \"%.50s\"\n"
 msgstr "argument för flaggan \"%.50s\" saknas\n"
 
-#: common/argparse.c:558 g10/gpg.c:3490
+#: common/argparse.c:558 g10/gpg.c:3510
 #, fuzzy, c-format
 #| msgid "missing argument for option \"%.50s\"\n"
 msgid "invalid argument for option \"%.50s\"\n"
@@ -1548,32 +1566,32 @@ msgstr "misslyckades med att skapa temporärfilen \"%s\": %s\n"
 msgid "error writing to '%s': %s\n"
 msgstr "fel vid skrivning till \"%s\": %s\n"
 
-#: common/dotlock.c:1129
+#: common/dotlock.c:1137
 #, c-format
 msgid "removing stale lockfile (created by %d)\n"
 msgstr "tar bort gammal låsfil (skapad av %d)\n"
 
-#: common/dotlock.c:1165
+#: common/dotlock.c:1173
 #, c-format
 msgid "waiting for lock (held by %d%s) %s...\n"
 msgstr "väntar på lås (hålls av %d%s) %s...\n"
 
-#: common/dotlock.c:1166
+#: common/dotlock.c:1174
 msgid "(deadlock?) "
 msgstr "(dödläge?) "
 
-#: common/dotlock.c:1205
+#: common/dotlock.c:1213
 #, fuzzy, c-format
 #| msgid "lock `%s' not made: %s\n"
 msgid "lock '%s' not made: %s\n"
 msgstr "låset \"%s\" gjordes inte: %s\n"
 
-#: common/dotlock.c:1232
+#: common/dotlock.c:1240
 #, c-format
 msgid "waiting for lock %s...\n"
 msgstr "väntar på låset %s...\n"
 
-#: common/init.c:185 sm/gpgsm.c:949 dirmngr/dirmngr.c:862 dirmngr/dirmngr.c:871
+#: common/init.c:191 sm/gpgsm.c:863 dirmngr/dirmngr.c:900 dirmngr/dirmngr.c:909
 #, c-format
 msgid "%s is too old (need %s, have %s)\n"
 msgstr "%s är för gammal (behöver %s, har %s)\n"
@@ -1772,13 +1790,13 @@ msgid "Note: Use the command \"%s\" to restart them.\n"
 msgstr "Använd kommandot \"toggle\" först.\n"
 
 #: g10/call-agent.c:318 g10/encrypt.c:154 g10/encrypt.c:620 g10/sign.c:412
-#: sm/call-agent.c:205 sm/encrypt.c:425 sm/sign.c:345
+#: sm/call-agent.c:205 sm/encrypt.c:426 sm/sign.c:345
 #, fuzzy, c-format
 #| msgid "%s does not yet work with %s\n"
 msgid "%s is not compliant with %s mode\n"
 msgstr "%s fungerar ännu inte med  %s\n"
 
-#: g10/call-dirmngr.c:209 sm/call-dirmngr.c:268 tools/gpg-connect-agent.c:2253
+#: g10/call-dirmngr.c:209 sm/call-dirmngr.c:269 tools/gpg-connect-agent.c:2253
 #, fuzzy, c-format
 #| msgid "no gpg-agent running in this session\n"
 msgid "no dirmngr running in this session\n"
@@ -1824,23 +1842,23 @@ msgstr ""
 msgid "server uses an invalid certificate"
 msgstr "generera ett spärrcertifikat"
 
-#: g10/call-dirmngr.c:437 g10/gpg.c:4400
+#: g10/call-dirmngr.c:437 g10/gpg.c:4421
 #, fuzzy, c-format
 #| msgid "armor: %s\n"
 msgid "Note: %s\n"
 msgstr "ASCII-skal: %s\n"
 
-#: g10/card-util.c:86 g10/card-util.c:366 g10/card-util.c:1902
+#: g10/card-util.c:86 g10/card-util.c:366 g10/card-util.c:1903
 #, c-format
 msgid "OpenPGP card not available: %s\n"
 msgstr "OpenPGP-kort är inte tillgängligt: %s\n"
 
-#: g10/card-util.c:91 g10/card-util.c:1908
+#: g10/card-util.c:91 g10/card-util.c:1909
 #, c-format
 msgid "OpenPGP card no. %s detected\n"
 msgstr "OpenPGP-kort nr. %s identifierades\n"
 
-#: g10/card-util.c:97 g10/card-util.c:2237 g10/delkey.c:160 g10/keyedit.c:1422
+#: g10/card-util.c:97 g10/card-util.c:2238 g10/delkey.c:160 g10/keyedit.c:1423
 #: g10/keygen.c:4466 g10/revoke.c:214 g10/revoke.c:636
 #, c-format
 msgid "can't do this in batch mode\n"
@@ -1851,13 +1869,13 @@ msgstr "kan inte göra detta i satsläge\n"
 msgid "This command is only available for version 2 cards\n"
 msgstr "Detta kommando är endast tillgängligt för kort av version 2\n"
 
-#: g10/card-util.c:107 scd/app-openpgp.c:2864
+#: g10/card-util.c:107 scd/app-openpgp.c:2863
 #, c-format
 msgid "Reset Code not or not anymore available\n"
 msgstr "Återställningskoden är inte tillgänglig längre\n"
 
-#: g10/card-util.c:140 g10/card-util.c:1426 g10/card-util.c:1688
-#: g10/card-util.c:1780 g10/keyedit.c:394 g10/keyedit.c:415 g10/keyedit.c:429
+#: g10/card-util.c:140 g10/card-util.c:1427 g10/card-util.c:1689
+#: g10/card-util.c:1781 g10/keyedit.c:394 g10/keyedit.c:415 g10/keyedit.c:429
 #: g10/keygen.c:1808 g10/keygen.c:1980 g10/keygen.c:2186 g10/keygen.c:2477
 #: sm/certreqgen-ui.c:165 sm/certreqgen-ui.c:291 sm/certreqgen-ui.c:325
 msgid "Your selection? "
@@ -1883,106 +1901,106 @@ msgstr "inte tvingad"
 msgid "forced"
 msgstr "tvingad"
 
-#: g10/card-util.c:749
+#: g10/card-util.c:750
 msgid "Error: Only plain ASCII is currently allowed.\n"
 msgstr "Fel: Endast ren ASCII tillåts för närvarande.\n"
 
-#: g10/card-util.c:751
+#: g10/card-util.c:752
 msgid "Error: The \"<\" character may not be used.\n"
 msgstr "Fel: Tecknet \"<\" får inte användas.\n"
 
-#: g10/card-util.c:753
+#: g10/card-util.c:754
 msgid "Error: Double spaces are not allowed.\n"
 msgstr "Fel: Dubbla blanksteg tillåts inte.\n"
 
-#: g10/card-util.c:770
+#: g10/card-util.c:771
 msgid "Cardholder's surname: "
 msgstr "Kortinnehavarens efternamn: "
 
-#: g10/card-util.c:772
+#: g10/card-util.c:773
 msgid "Cardholder's given name: "
 msgstr "Kortinnehavarens förnamn: "
 
-#: g10/card-util.c:790
+#: g10/card-util.c:791
 #, c-format
 msgid "Error: Combined name too long (limit is %d characters).\n"
 msgstr "Fel: Fullständigt namn för långt (gränsen är %d tecken).\n"
 
-#: g10/card-util.c:811
+#: g10/card-util.c:812
 msgid "URL to retrieve public key: "
 msgstr "Url för att hämta publik nyckel: "
 
-#: g10/card-util.c:905 g10/decrypt-data.c:490 g10/import.c:387 g10/import.c:734
-#: g10/import.c:786 dirmngr/crlcache.c:655 dirmngr/crlcache.c:660
-#: dirmngr/crlcache.c:914 dirmngr/crlcache.c:920 dirmngr/dirmngr.c:1668
+#: g10/card-util.c:906 g10/decrypt-data.c:490 g10/import.c:399 g10/import.c:746
+#: g10/import.c:798 dirmngr/crlcache.c:655 dirmngr/crlcache.c:660
+#: dirmngr/crlcache.c:914 dirmngr/crlcache.c:920 dirmngr/dirmngr.c:1705
 #: tools/gpgconf.c:431 tools/gpgconf.c:477
 #, fuzzy, c-format
 #| msgid "error reading `%s': %s\n"
 msgid "error reading '%s': %s\n"
 msgstr "fel vid läsning av \"%s\": %s\n"
 
-#: g10/card-util.c:938 g10/decrypt-data.c:493 g10/export.c:2467
+#: g10/card-util.c:939 g10/decrypt-data.c:493 g10/export.c:2467
 #: dirmngr/crlcache.c:925
 #, fuzzy, c-format
 #| msgid "error writing `%s': %s\n"
 msgid "error writing '%s': %s\n"
 msgstr "fel vid skrivning till \"%s\": %s\n"
 
-#: g10/card-util.c:965
+#: g10/card-util.c:966
 msgid "Login data (account name): "
 msgstr "Inloggningsdata (kontonamn): "
 
-#: g10/card-util.c:1003
+#: g10/card-util.c:1004
 msgid "Private DO data: "
 msgstr "Privat DO-data: "
 
-#: g10/card-util.c:1088
+#: g10/card-util.c:1089
 msgid "Language preferences: "
 msgstr "Språkinställningar: "
 
-#: g10/card-util.c:1096
+#: g10/card-util.c:1097
 msgid "Error: invalid length of preference string.\n"
 msgstr "Fel: ogiltig längd på inställningssträngen\n"
 
-#: g10/card-util.c:1105
+#: g10/card-util.c:1106
 msgid "Error: invalid characters in preference string.\n"
 msgstr "Fel: ogiltiga tecken i inställningssträngen.\n"
 
-#: g10/card-util.c:1127
+#: g10/card-util.c:1128
 msgid "Salutation (M = Mr., F = Ms., or space): "
 msgstr ""
 
-#: g10/card-util.c:1141
+#: g10/card-util.c:1142
 msgid "Error: invalid response.\n"
 msgstr "Fel: ogiltigt svar.\n"
 
-#: g10/card-util.c:1163
+#: g10/card-util.c:1164
 msgid "CA fingerprint: "
 msgstr "CA-fingeravtryck: "
 
-#: g10/card-util.c:1186
+#: g10/card-util.c:1187
 msgid "Error: invalid formatted fingerprint.\n"
 msgstr "Fel: ogiltigt formaterat fingeravtryck.\n"
 
-#: g10/card-util.c:1236
+#: g10/card-util.c:1237
 #, c-format
 msgid "key operation not possible: %s\n"
 msgstr "nyckelåtgärden är inte möjlig: %s\n"
 
-#: g10/card-util.c:1237
+#: g10/card-util.c:1238
 msgid "not an OpenPGP card"
 msgstr "inte ett OpenPGP-kort"
 
-#: g10/card-util.c:1250 g10/keygen.c:4486 g10/keygen.c:5565
+#: g10/card-util.c:1251 g10/keygen.c:4486 g10/keygen.c:5565
 #, c-format
 msgid "error getting current key info: %s\n"
 msgstr "fel vid hämtning av aktuell nyckelinformation: %s\n"
 
-#: g10/card-util.c:1335
+#: g10/card-util.c:1336
 msgid "Replace existing key? (y/N) "
 msgstr "Ersätt existerande nyckel? (j/N) "
 
-#: g10/card-util.c:1352
+#: g10/card-util.c:1353
 msgid ""
 "Note: There is no guarantee that the card supports the requested size.\n"
 "      If the key generation does not succeed, please check the\n"
@@ -1993,73 +2011,73 @@ msgstr ""
 "      kontrollera dokumentationen för ditt kort för att se vilka storlekar\n"
 "      som tillåts.\n"
 
-#: g10/card-util.c:1374 g10/keygen.c:2363 sm/certreqgen-ui.c:179
+#: g10/card-util.c:1375 g10/keygen.c:2363 sm/certreqgen-ui.c:179
 #, c-format
 msgid "What keysize do you want? (%u) "
 msgstr "Vilken nyckelstorlek vill du ha? (%u) "
 
-#: g10/card-util.c:1384 g10/keygen.c:2286 g10/keygen.c:2318
+#: g10/card-util.c:1385 g10/keygen.c:2286 g10/keygen.c:2318
 #: sm/certreqgen-ui.c:194
 #, c-format
 msgid "rounded up to %u bits\n"
 msgstr "avrundade uppåt till %u bitar\n"
 
-#: g10/card-util.c:1392 g10/keygen.c:2371 sm/certreqgen-ui.c:184
+#: g10/card-util.c:1393 g10/keygen.c:2371 sm/certreqgen-ui.c:184
 #, c-format
 msgid "%s keysizes must be in the range %u-%u\n"
 msgstr "%s nyckelstorlekar måste vara inom intervallet %u-%u\n"
 
-#: g10/card-util.c:1411
+#: g10/card-util.c:1412
 msgid "Changing card key attribute for: "
 msgstr ""
 
-#: g10/card-util.c:1413
+#: g10/card-util.c:1414
 #, fuzzy
 #| msgid "   (1) Signature key\n"
 msgid "Signature key\n"
 msgstr "   (1) Signeringsnyckel\n"
 
-#: g10/card-util.c:1415
+#: g10/card-util.c:1416
 #, fuzzy
 #| msgid "   (2) Encryption key\n"
 msgid "Encryption key\n"
 msgstr "   (2) Krypteringsnyckel\n"
 
-#: g10/card-util.c:1417
+#: g10/card-util.c:1418
 #, fuzzy
 #| msgid "   (3) Authentication key\n"
 msgid "Authentication key\n"
 msgstr "   (3) Autentiseringsnyckel\n"
 
-#: g10/card-util.c:1419 g10/keygen.c:1926 sm/certreqgen-ui.c:157
+#: g10/card-util.c:1420 g10/keygen.c:1926 sm/certreqgen-ui.c:157
 msgid "Please select what kind of key you want:\n"
 msgstr "Välj vilken typ av nyckel du vill ha:\n"
 
-#: g10/card-util.c:1420 sm/certreqgen-ui.c:158
+#: g10/card-util.c:1421 sm/certreqgen-ui.c:158
 #, c-format
 msgid "   (%d) RSA\n"
 msgstr "   (%d) RSA\n"
 
-#: g10/card-util.c:1421
+#: g10/card-util.c:1422
 #, fuzzy, c-format
 #| msgid "   (%d) DSA and Elgamal\n"
 msgid "   (%d) ECC\n"
 msgstr "   (%d) DSA och Elgamal\n"
 
-#: g10/card-util.c:1433 g10/card-util.c:1700 g10/card-util.c:1800
-#: g10/keyedit.c:899 g10/keygen.c:1834 g10/keygen.c:1862 g10/keygen.c:1987
+#: g10/card-util.c:1434 g10/card-util.c:1701 g10/card-util.c:1801
+#: g10/keyedit.c:900 g10/keygen.c:1834 g10/keygen.c:1862 g10/keygen.c:1987
 #: g10/keygen.c:2222 g10/keygen.c:2505 g10/revoke.c:838
 msgid "Invalid selection.\n"
 msgstr "Ogiltigt val.\n"
 
-#: g10/card-util.c:1506
+#: g10/card-util.c:1507
 #, c-format
 msgid "The card will now be re-configured to generate a key of %u bits\n"
 msgstr ""
 "Kortet kommer nu att konfigureras om för att generera en nyckel med %u "
 "bitar\n"
 
-#: g10/card-util.c:1511
+#: g10/card-util.c:1512
 #, fuzzy, c-format
 #| msgid "The card will now be re-configured to generate a key of %u bits\n"
 msgid "The card will now be re-configured to generate a key of type: %s\n"
@@ -2067,39 +2085,39 @@ msgstr ""
 "Kortet kommer nu att konfigureras om för att generera en nyckel med %u "
 "bitar\n"
 
-#: g10/card-util.c:1547
+#: g10/card-util.c:1548
 #, fuzzy, c-format
 #| msgid "error changing size of key %d to %u bits: %s\n"
 msgid "error changing key attribute for key %d: %s\n"
 msgstr "fel vid ändring av storlek för nyckel %d till %u bitar: %s\n"
 
-#: g10/card-util.c:1563 g10/card-util.c:2090
+#: g10/card-util.c:1564 g10/card-util.c:2091
 #, fuzzy, c-format
 #| msgid "error getting current key info: %s\n"
 msgid "error getting card info: %s\n"
 msgstr "fel vid hämtning av aktuell nyckelinformation: %s\n"
 
-#: g10/card-util.c:1569 g10/card-util.c:1914 g10/card-util.c:2096
+#: g10/card-util.c:1570 g10/card-util.c:1915 g10/card-util.c:2097
 #, fuzzy, c-format
 #| msgid "This command is not allowed while in %s mode.\n"
 msgid "This command is not supported by this card\n"
 msgstr "Detta kommando är inte tillåtet när du är i %s-läge.\n"
 
-#: g10/card-util.c:1615
+#: g10/card-util.c:1616
 msgid "Make off-card backup of encryption key? (Y/n) "
 msgstr "Skapa säkerhetskopia av krypteringsnyckel utanför kortet? (J/n) "
 
-#: g10/card-util.c:1629
+#: g10/card-util.c:1630
 #, fuzzy, c-format
 #| msgid "NOTE: keys are already stored on the card!\n"
 msgid "Note: keys are already stored on the card!\n"
 msgstr "OBSERVERA: nycklar har redan lagrats på kortet!\n"
 
-#: g10/card-util.c:1632
+#: g10/card-util.c:1633
 msgid "Replace existing keys? (y/N) "
 msgstr "Ersätt existerande nycklar? (j/N) "
 
-#: g10/card-util.c:1644
+#: g10/card-util.c:1645
 #, fuzzy, c-format
 #| msgid ""
 #| "Please note that the factory settings of the PINs are\n"
@@ -2114,156 +2132,156 @@ msgstr ""
 "   PIN-kod = \"%s\"     Admin PIN-kod = \"%s\"\n"
 "Du bör ändra dem med kommandot --change-pin\n"
 
-#: g10/card-util.c:1679
+#: g10/card-util.c:1680
 msgid "Please select the type of key to generate:\n"
 msgstr "Välj vilken typ av nyckel som ska genereras:\n"
 
-#: g10/card-util.c:1681 g10/card-util.c:1771
+#: g10/card-util.c:1682 g10/card-util.c:1772
 msgid "   (1) Signature key\n"
 msgstr "   (1) Signeringsnyckel\n"
 
-#: g10/card-util.c:1682 g10/card-util.c:1773
+#: g10/card-util.c:1683 g10/card-util.c:1774
 msgid "   (2) Encryption key\n"
 msgstr "   (2) Krypteringsnyckel\n"
 
-#: g10/card-util.c:1683 g10/card-util.c:1775
+#: g10/card-util.c:1684 g10/card-util.c:1776
 msgid "   (3) Authentication key\n"
 msgstr "   (3) Autentiseringsnyckel\n"
 
-#: g10/card-util.c:1768
+#: g10/card-util.c:1769
 msgid "Please select where to store the key:\n"
 msgstr "Välj var nyckeln ska sparas:\n"
 
-#: g10/card-util.c:1814
+#: g10/card-util.c:1815
 #, fuzzy, c-format
 #| msgid "read failed: %s\n"
 msgid "KEYTOCARD failed: %s\n"
 msgstr "läsning misslyckades: %s\n"
 
-#: g10/card-util.c:1919
+#: g10/card-util.c:1920
 #, fuzzy, c-format
 #| msgid "NOTE: keys are already stored on the card!\n"
 msgid "Note: This command destroys all keys stored on the card!\n"
 msgstr "OBSERVERA: nycklar har redan lagrats på kortet!\n"
 
-#: g10/card-util.c:1922
+#: g10/card-util.c:1923
 #, fuzzy
 #| msgid "Sign it? (y/N) "
 msgid "Continue? (y/N) "
 msgstr "Signera den? (j/N) "
 
-#: g10/card-util.c:1927
+#: g10/card-util.c:1928
 msgid "Really do a factory reset? (enter \"yes\") "
 msgstr ""
 
-#: g10/card-util.c:2113
+#: g10/card-util.c:2114
 #, fuzzy, c-format
 #| msgid "error closing %s: %s\n"
 msgid "error for setup KDF: %s\n"
 msgstr "fel vid stängning av %s: %s\n"
 
-#: g10/card-util.c:2142 g10/keyedit.c:1259
+#: g10/card-util.c:2143 g10/keyedit.c:1260
 msgid "quit this menu"
 msgstr "avsluta denna meny"
 
-#: g10/card-util.c:2144
+#: g10/card-util.c:2145
 msgid "show admin commands"
 msgstr "visa administratörskommandon"
 
-#: g10/card-util.c:2145 g10/keyedit.c:1262
+#: g10/card-util.c:2146 g10/keyedit.c:1263
 msgid "show this help"
 msgstr "visa denna hjälp"
 
-#: g10/card-util.c:2147
+#: g10/card-util.c:2148
 msgid "list all available data"
 msgstr "lista allt tillgängligt data"
 
-#: g10/card-util.c:2150
+#: g10/card-util.c:2151
 msgid "change card holder's name"
 msgstr "ändra kortinnehavarens namn"
 
-#: g10/card-util.c:2151
+#: g10/card-util.c:2152
 msgid "change URL to retrieve key"
 msgstr "ändra url för att hämta nyckel"
 
-#: g10/card-util.c:2152
+#: g10/card-util.c:2153
 msgid "fetch the key specified in the card URL"
 msgstr "hämta nyckel som anges i kortets url"
 
-#: g10/card-util.c:2153
+#: g10/card-util.c:2154
 msgid "change the login name"
 msgstr "ändra inloggningsnamnet"
 
 # originalet borde ha ett value
-#: g10/card-util.c:2154
+#: g10/card-util.c:2155
 msgid "change the language preferences"
 msgstr "ändra språkinställningarna"
 
-#: g10/card-util.c:2155
+#: g10/card-util.c:2156
 #, fuzzy
 #| msgid "change card holder's sex"
 msgid "change card holder's salutation"
 msgstr "ändra kortinnehavarens kön"
 
-#: g10/card-util.c:2157
+#: g10/card-util.c:2158
 msgid "change a CA fingerprint"
 msgstr "ändra ett CA-fingeravtryck"
 
 # den låter skum
-#: g10/card-util.c:2158
+#: g10/card-util.c:2159
 msgid "toggle the signature force PIN flag"
 msgstr "växla flagga för att tvinga signatur-PIN-kod"
 
-#: g10/card-util.c:2159
+#: g10/card-util.c:2160
 msgid "generate new keys"
 msgstr "generera nya nycklar"
 
-#: g10/card-util.c:2160
+#: g10/card-util.c:2161
 msgid "menu to change or unblock the PIN"
 msgstr "meny för att ändra eller avblockera PIN-koden"
 
-#: g10/card-util.c:2161
+#: g10/card-util.c:2162
 msgid "verify the PIN and list all data"
 msgstr "validera PIN-koden och lista allt data"
 
-#: g10/card-util.c:2162
+#: g10/card-util.c:2163
 msgid "unblock the PIN using a Reset Code"
 msgstr "lås upp PIN-koden med en nollställningskod"
 
-#: g10/card-util.c:2163
+#: g10/card-util.c:2164
 msgid "destroy all keys and data"
 msgstr ""
 
-#: g10/card-util.c:2164
+#: g10/card-util.c:2165
 #, fuzzy
 #| msgid "|NAME|use NAME as default recipient"
 msgid "setup KDF for PIN authentication"
 msgstr "|NAMN|använd NAMN som standardmottagare"
 
 # originalet borde ha ett value
-#: g10/card-util.c:2165
+#: g10/card-util.c:2166
 #, fuzzy
 #| msgid "change the ownertrust"
 msgid "change the key attribute"
 msgstr "ändra ägartillitsvärdet"
 
-#: g10/card-util.c:2289
+#: g10/card-util.c:2290
 msgid "gpg/card> "
 msgstr "gpg/kort> "
 
-#: g10/card-util.c:2330
+#: g10/card-util.c:2331
 msgid "Admin-only command\n"
 msgstr "Kommandon endast för administratör\n"
 
-#: g10/card-util.c:2361
+#: g10/card-util.c:2362
 msgid "Admin commands are allowed\n"
 msgstr "Administrationskommandon tillåts\n"
 
-#: g10/card-util.c:2363
+#: g10/card-util.c:2364
 msgid "Admin commands are not allowed\n"
 msgstr "Administrationskommandon tillåts inte\n"
 
-#: g10/card-util.c:2466 g10/keyedit.c:2228
+#: g10/card-util.c:2467 g10/keyedit.c:2229
 msgid "Invalid command  (try \"help\")\n"
 msgstr "Ogiltigt kommando (prova med \"help\")\n"
 
@@ -2273,22 +2291,22 @@ msgid "--output doesn't work for this command\n"
 msgstr "--output kan inte användas för detta kommando\n"
 
 # se förra kommentaren
-#: g10/decrypt.c:247 g10/gpg.c:5083 g10/keyring.c:399 g10/keyring.c:750
+#: g10/decrypt.c:247 g10/gpg.c:5104 g10/keyring.c:399 g10/keyring.c:750
 #, fuzzy, c-format
 #| msgid "can't open `%s'\n"
 msgid "can't open '%s'\n"
 msgstr "kan inte öppna \"%s\"\n"
 
 #: g10/delkey.c:83 g10/export.c:1947 g10/export.c:2230 g10/export.c:2351
-#: g10/getkey.c:1964 g10/gpg.c:5028 g10/keyedit.c:1444 g10/keyedit.c:2334
-#: g10/keyedit.c:2580 g10/keyedit.c:4543 g10/keylist.c:689 g10/keyserver.c:1259
+#: g10/getkey.c:2108 g10/gpg.c:5049 g10/keyedit.c:1445 g10/keyedit.c:2335
+#: g10/keyedit.c:2581 g10/keyedit.c:4544 g10/keylist.c:689 g10/keyserver.c:1092
 #: g10/revoke.c:230 g10/tofu.c:2165
 #, c-format
 msgid "key \"%s\" not found: %s\n"
 msgstr "nyckeln \"%s\" hittades inte: %s\n"
 
-#: g10/delkey.c:92 g10/export.c:2015 g10/getkey.c:1972 g10/getkey.c:4346
-#: g10/gpg.c:5037 g10/keyedit.c:2307 g10/keyserver.c:1277 g10/revoke.c:236
+#: g10/delkey.c:92 g10/export.c:2015 g10/getkey.c:2116 g10/getkey.c:4517
+#: g10/gpg.c:5058 g10/keyedit.c:2308 g10/keyserver.c:1110 g10/revoke.c:236
 #: g10/revoke.c:663 g10/tofu.c:2173
 #, c-format
 msgid "error reading keyblock: %s\n"
@@ -2350,9 +2368,9 @@ msgstr ""
 msgid "subkey"
 msgstr "Publik nyckel: "
 
-#: g10/delkey.c:299 g10/keyedit.c:2200 g10/keyedit.c:2210 g10/keyedit.c:2387
-#: g10/keyedit.c:2461 g10/keyedit.c:2532 g10/keyedit.c:2757 g10/keyedit.c:2987
-#: g10/keyedit.c:3056 g10/keyedit.c:3207
+#: g10/delkey.c:299 g10/keyedit.c:2201 g10/keyedit.c:2211 g10/keyedit.c:2388
+#: g10/keyedit.c:2462 g10/keyedit.c:2533 g10/keyedit.c:2758 g10/keyedit.c:2988
+#: g10/keyedit.c:3057 g10/keyedit.c:3208
 #, c-format
 msgid "update failed: %s\n"
 msgstr "uppdateringen misslyckades: %s\n"
@@ -2377,7 +2395,7 @@ msgstr "det finns en hemlig nyckel för denna publika nyckeln \"%s\"!\n"
 msgid "use option \"--delete-secret-keys\" to delete it first.\n"
 msgstr "använd flaggan \"--delete-secret-keys\"för att ta bort den först.\n"
 
-#: g10/encrypt.c:202 g10/sign.c:1471
+#: g10/encrypt.c:202 g10/sign.c:1470
 #, c-format
 msgid "error creating passphrase: %s\n"
 msgstr "fel när lösenfras skapades: %s\n"
@@ -2404,15 +2422,15 @@ msgstr "\"%s\" är redan komprimerad\n"
 msgid "WARNING: '%s' is an empty file\n"
 msgstr "VARNING: \"%s\" är en tom fil\n"
 
-#: g10/encrypt.c:387 g10/encrypt.c:610 g10/decrypt-data.c:260 g10/gpg.c:3901
-#: g10/gpg.c:3941 sm/decrypt.c:364 sm/encrypt.c:415 sm/gpgsm.c:1655
+#: g10/encrypt.c:387 g10/encrypt.c:610 g10/decrypt-data.c:260 g10/gpg.c:3922
+#: g10/gpg.c:3962 sm/decrypt.c:826 sm/encrypt.c:416 sm/gpgsm.c:1555
 #, fuzzy, c-format
 #| msgid "you may not use cipher algorithm `%s' while in %s mode\n"
 msgid "cipher algorithm '%s' may not be used in %s mode\n"
 msgstr "du får inte använda chifferalgoritmen \"%s\" när du är i %s-läget\n"
 
-#: g10/encrypt.c:396 g10/gpg.c:3907 g10/gpg.c:3953 g10/sig-check.c:146
-#: g10/sign.c:391 sm/gpgsm.c:1665 sm/gpgsm.c:1675 sm/sign.c:478 sm/verify.c:506
+#: g10/encrypt.c:396 g10/gpg.c:3928 g10/gpg.c:3974 g10/sig-check.c:146
+#: g10/sign.c:391 sm/gpgsm.c:1565 sm/gpgsm.c:1575 sm/sign.c:478 sm/verify.c:506
 #, fuzzy, c-format
 #| msgid "you may not use digest algorithm `%s' while in %s mode\n"
 msgid "digest algorithm '%s' may not be used in %s mode\n"
@@ -2433,13 +2451,13 @@ msgstr ""
 "VARNING: tvinga symmetriskt chiffer med %s (%d) strider mot "
 "mottagarinställningarna\n"
 
-#: g10/encrypt.c:640 sm/encrypt.c:490
+#: g10/encrypt.c:640 sm/encrypt.c:491
 #, fuzzy, c-format
 #| msgid "WARNING: \"%s\" is an obsolete option - it has no effect\n"
 msgid "WARNING: key %s is not suitable for encryption in %s mode\n"
 msgstr "VARNING: \"%s\" är en föråldrad flagga - den har ingen effekt\n"
 
-#: g10/encrypt.c:751 g10/sign.c:1163
+#: g10/encrypt.c:751 g10/sign.c:1162
 #, c-format
 msgid ""
 "WARNING: forcing compression algorithm %s (%d) violates recipient "
@@ -2470,13 +2488,13 @@ msgstr "du kan inte använda %s när du är i %s-läget\n"
 msgid "%s encrypted data\n"
 msgstr "%s-krypterad data\n"
 
-#: g10/decrypt-data.c:243 g10/mainproc.c:396
+#: g10/decrypt-data.c:243 g10/mainproc.c:397
 #, c-format
 msgid "encrypted with unknown algorithm %d\n"
 msgstr "krypterad med en okänd algoritm %d\n"
 
 # I vissa algoritmer kan svaga nycklar förekomma. Dessa ska inte användas.
-#: g10/decrypt-data.c:357 g10/decrypt-data.c:410 sm/decrypt.c:130
+#: g10/decrypt-data.c:357 g10/decrypt-data.c:410 sm/decrypt.c:550
 #, c-format
 msgid ""
 "WARNING: message was encrypted with a weak key in the symmetric cipher.\n"
@@ -2495,7 +2513,7 @@ msgid "no remote program execution supported\n"
 msgstr "ingen körning av fjärrprogram stöds\n"
 
 # Behörighet att komma åt inställningarna, tror jag. Inte behörigheter i inställningsfilen.
-#: g10/exec.c:381
+#: g10/exec.c:389
 #, c-format
 msgid ""
 "external program calls are disabled due to unsafe options file permissions\n"
@@ -2503,50 +2521,50 @@ msgstr ""
 "anrop av externa program är inaktiverat pga osäkra behörigheter för\n"
 "inställningsfilen\n"
 
-#: g10/exec.c:411
+#: g10/exec.c:419
 #, c-format
 msgid "this platform requires temporary files when calling external programs\n"
 msgstr "denna plattform kräver temporärfiler vid anrop till externa program\n"
 
-#: g10/exec.c:489
+#: g10/exec.c:497
 #, fuzzy, c-format
 #| msgid "unable to execute program `%s': %s\n"
 msgid "unable to execute program '%s': %s\n"
 msgstr "kunde inte köra programmet \"%s\": %s\n"
 
-#: g10/exec.c:492
+#: g10/exec.c:500
 #, fuzzy, c-format
 #| msgid "unable to execute shell `%s': %s\n"
 msgid "unable to execute shell '%s': %s\n"
 msgstr "kunde inte köra skalet \"%s\": %s\n"
 
-#: g10/exec.c:583
+#: g10/exec.c:591
 #, c-format
 msgid "system error while calling external program: %s\n"
 msgstr "systemfel när externa program anropades: %s\n"
 
-#: g10/exec.c:594 g10/exec.c:661
+#: g10/exec.c:602 g10/exec.c:669
 #, c-format
 msgid "unnatural exit of external program\n"
 msgstr "externt program avslutades felaktigt\n"
 
-#: g10/exec.c:609
+#: g10/exec.c:617
 #, c-format
 msgid "unable to execute external program\n"
 msgstr "kunde inte köra det externa programmet\n"
 
-#: g10/exec.c:626
+#: g10/exec.c:634
 #, c-format
 msgid "unable to read external program response: %s\n"
 msgstr "kan inte läsa svaret från det externa programmet: %s\n"
 
-#: g10/exec.c:672 g10/exec.c:679
+#: g10/exec.c:680 g10/exec.c:687
 #, fuzzy, c-format
 #| msgid "WARNING: unable to remove tempfile (%s) `%s': %s\n"
 msgid "WARNING: unable to remove tempfile (%s) '%s': %s\n"
 msgstr "VARNING: kan inte ta bort tempfil (%s) \"%s\": %s\n"
 
-#: g10/exec.c:684
+#: g10/exec.c:692
 #, fuzzy, c-format
 #| msgid "WARNING: unable to remove temp directory `%s': %s\n"
 msgid "WARNING: unable to remove temp directory '%s': %s\n"
@@ -2582,8 +2600,8 @@ msgstr ""
 msgid " - skipped"
 msgstr "%s: hoppade över: %s\n"
 
-#: g10/export.c:1324 g10/import.c:2073 g10/openfile.c:200 g10/openfile.c:294
-#: g10/sign.c:1013 g10/sign.c:1327
+#: g10/export.c:1324 g10/import.c:2085 g10/openfile.c:200 g10/openfile.c:294
+#: g10/sign.c:1012 g10/sign.c:1326
 #, fuzzy, c-format
 #| msgid "writing to `%s'\n"
 msgid "writing to '%s'\n"
@@ -2620,290 +2638,290 @@ msgstr "Fel när \"%s\" skapades: %s\n"
 msgid "[User ID not found]"
 msgstr "[Användaridentiteten hittades inte]"
 
-#: g10/getkey.c:1297
+#: g10/getkey.c:1441
 #, fuzzy, c-format
 #| msgid "automatically retrieved `%s' via %s\n"
 msgid "automatically retrieved '%s' via %s\n"
 msgstr "hämtade \"%s\" automatiskt via %s\n"
 
-#: g10/getkey.c:1303
+#: g10/getkey.c:1447
 #, fuzzy, c-format
 #| msgid "error retrieving `%s' via %s: %s\n"
 msgid "error retrieving '%s' via %s: %s\n"
 msgstr "fel vid hämtning av \"%s\" via %s: %s\n"
 
-#: g10/getkey.c:1305
+#: g10/getkey.c:1449
 msgid "No fingerprint"
 msgstr "Inget fingeravtryck"
 
-#: g10/getkey.c:1526
+#: g10/getkey.c:1670
 #, c-format
 msgid "checking for a fresh copy of an expired key via %s\n"
 msgstr ""
 
-#: g10/getkey.c:1941 g10/revoke.c:655 g10/revoke.c:720
+#: g10/getkey.c:2085 g10/revoke.c:655 g10/revoke.c:720
 #, c-format
 msgid "secret key \"%s\" not found: %s\n"
 msgstr "hemliga nyckeln \"%s\" hittades inte: %s\n"
 
-#: g10/getkey.c:1944 g10/pkclist.c:988
+#: g10/getkey.c:2088 g10/pkclist.c:988
 #, fuzzy, c-format
 #| msgid "missing argument for option \"%.50s\"\n"
 msgid "(check argument of option '%s')\n"
 msgstr "argument för flaggan \"%.50s\" saknas\n"
 
-#: g10/getkey.c:2020
+#: g10/getkey.c:2164
 #, fuzzy, c-format
 #| msgid "|NAME|use NAME as default secret key"
 msgid "Warning: not using '%s' as default key: %s\n"
 msgstr "|NAMN|använd NAMN som förvald hemlig nyckel"
 
-#: g10/getkey.c:2028
+#: g10/getkey.c:2172
 #, fuzzy, c-format
 #| msgid "|NAME|use NAME as default secret key"
 msgid "using \"%s\" as default secret key for signing\n"
 msgstr "|NAMN|använd NAMN som förvald hemlig nyckel"
 
-#: g10/getkey.c:2035
+#: g10/getkey.c:2179
 #, c-format
 msgid "all values passed to '%s' ignored\n"
 msgstr ""
 
-#: g10/getkey.c:2880
+#: g10/getkey.c:3024
 #, c-format
 msgid "Invalid key %s made valid by --allow-non-selfsigned-uid\n"
 msgstr ""
 "Ogiltiga nyckeln %s tvingades till giltig med --allow-non-selfsigned-uid\n"
 
-#: g10/getkey.c:3730
+#: g10/getkey.c:3874
 #, c-format
 msgid "using subkey %s instead of primary key %s\n"
 msgstr "använder undernyckeln %s istället för primära nyckeln %s\n"
 
-#: g10/getkey.c:4275 g10/gpg.c:2107
+#: g10/getkey.c:4446 g10/gpg.c:2120
 #, fuzzy, c-format
 #| msgid "missing argument for option \"%.50s\"\n"
 msgid "valid values for option '%s':\n"
 msgstr "argument för flaggan \"%.50s\" saknas\n"
 
-#: g10/gpg.c:442 sm/gpgsm.c:206
+#: g10/gpg.c:439 sm/gpgsm.c:207
 msgid "make a signature"
 msgstr "skapa en signatur"
 
-#: g10/gpg.c:443
+#: g10/gpg.c:440
 msgid "make a clear text signature"
 msgstr "skapa en klartextsignatur"
 
-#: g10/gpg.c:445 sm/gpgsm.c:208
+#: g10/gpg.c:442 sm/gpgsm.c:209
 msgid "make a detached signature"
 msgstr "skapa signatur i en separat fil"
 
-#: g10/gpg.c:446 sm/gpgsm.c:209
+#: g10/gpg.c:443 sm/gpgsm.c:210
 msgid "encrypt data"
 msgstr "kryptera data"
 
-#: g10/gpg.c:448
+#: g10/gpg.c:445
 msgid "encryption only with symmetric cipher"
 msgstr "kryptering endast med symmetriskt chiffer"
 
 # gnupg dekrypterar data om inget kommando anges dvs. kommandot "decrypt" behöver inte användas.
-#: g10/gpg.c:450 sm/gpgsm.c:211
+#: g10/gpg.c:447 sm/gpgsm.c:212
 msgid "decrypt data (default)"
 msgstr "dekryptera data (standard)"
 
-#: g10/gpg.c:452 sm/gpgsm.c:212
+#: g10/gpg.c:449 sm/gpgsm.c:213
 msgid "verify a signature"
 msgstr "validera en signatur"
 
-#: g10/gpg.c:454 sm/gpgsm.c:213
+#: g10/gpg.c:451 sm/gpgsm.c:214
 msgid "list keys"
 msgstr "lista nycklar"
 
-#: g10/gpg.c:456
+#: g10/gpg.c:453
 msgid "list keys and signatures"
 msgstr "lista nycklar och signaturer"
 
-#: g10/gpg.c:459
+#: g10/gpg.c:456
 msgid "list and check key signatures"
 msgstr "lista och kontrollera nyckelsignaturer"
 
-#: g10/gpg.c:461 sm/gpgsm.c:218
+#: g10/gpg.c:458 sm/gpgsm.c:219
 msgid "list keys and fingerprints"
 msgstr "lista nycklar och fingeravtryck"
 
-#: g10/gpg.c:462 sm/gpgsm.c:216
+#: g10/gpg.c:459 sm/gpgsm.c:217
 msgid "list secret keys"
 msgstr "lista hemliga nycklar"
 
-#: g10/gpg.c:464 sm/gpgsm.c:219
+#: g10/gpg.c:461 sm/gpgsm.c:220
 msgid "generate a new key pair"
 msgstr "generera ett nytt nyckelpar"
 
-#: g10/gpg.c:467
+#: g10/gpg.c:464
 #, fuzzy
 #| msgid "generate a new key pair"
 msgid "quickly generate a new key pair"
 msgstr "generera ett nytt nyckelpar"
 
-#: g10/gpg.c:470
+#: g10/gpg.c:467
 #, fuzzy
 #| msgid "generate a new key pair"
 msgid "quickly add a new user-id"
 msgstr "generera ett nytt nyckelpar"
 
-#: g10/gpg.c:475
+#: g10/gpg.c:472
 #, fuzzy
 #| msgid "generate a new key pair"
 msgid "quickly revoke a user-id"
 msgstr "generera ett nytt nyckelpar"
 
-#: g10/gpg.c:478
+#: g10/gpg.c:475
 #, fuzzy
 #| msgid "generate a new key pair"
 msgid "quickly set a new expiration date"
 msgstr "generera ett nytt nyckelpar"
 
-#: g10/gpg.c:481
+#: g10/gpg.c:478
 msgid "full featured key pair generation"
 msgstr ""
 
-#: g10/gpg.c:484
+#: g10/gpg.c:481
 msgid "generate a revocation certificate"
 msgstr "generera ett spärrcertifikat"
 
-#: g10/gpg.c:487 sm/gpgsm.c:222
+#: g10/gpg.c:484 sm/gpgsm.c:223
 msgid "remove keys from the public keyring"
 msgstr "ta bort nycklar från den publika nyckelringen"
 
-#: g10/gpg.c:489
+#: g10/gpg.c:486
 msgid "remove keys from the secret keyring"
 msgstr "ta bort nycklar från den hemliga nyckelringen"
 
-#: g10/gpg.c:491
+#: g10/gpg.c:488
 #, fuzzy
 #| msgid "sign a key"
 msgid "quickly sign a key"
 msgstr "signera en nyckel"
 
-#: g10/gpg.c:493
+#: g10/gpg.c:490
 #, fuzzy
 #| msgid "sign a key locally"
 msgid "quickly sign a key locally"
 msgstr "signera en nyckel lokalt"
 
-#: g10/gpg.c:495
+#: g10/gpg.c:492
 #, fuzzy
 #| msgid "generate a new key pair"
 msgid "quickly revoke a key signature"
 msgstr "generera ett nytt nyckelpar"
 
-#: g10/gpg.c:496
+#: g10/gpg.c:493
 msgid "sign a key"
 msgstr "signera en nyckel"
 
-#: g10/gpg.c:497
+#: g10/gpg.c:494
 msgid "sign a key locally"
 msgstr "signera en nyckel lokalt"
 
-#: g10/gpg.c:498
+#: g10/gpg.c:495
 msgid "sign or edit a key"
 msgstr "signera eller redigera en nyckel"
 
-#: g10/gpg.c:500 sm/gpgsm.c:240
+#: g10/gpg.c:497 sm/gpgsm.c:241
 msgid "change a passphrase"
 msgstr "ändra en lösenfras"
 
-#: g10/gpg.c:504
+#: g10/gpg.c:501
 msgid "export keys"
 msgstr "exportera nycklar"
 
-#: g10/gpg.c:505
+#: g10/gpg.c:502
 msgid "export keys to a keyserver"
 msgstr "exportera nycklar till en nyckelserver"
 
-#: g10/gpg.c:506
+#: g10/gpg.c:503
 msgid "import keys from a keyserver"
 msgstr "importera nycklar från en nyckelserver"
 
-#: g10/gpg.c:509
+#: g10/gpg.c:506
 msgid "search for keys on a keyserver"
 msgstr "sök efter nycklar hos en nyckelserver"
 
-#: g10/gpg.c:511
+#: g10/gpg.c:508
 msgid "update all keys from a keyserver"
 msgstr "uppdatera alla nycklar nycklar från en nyckelserver"
 
-#: g10/gpg.c:519
+#: g10/gpg.c:516
 msgid "import/merge keys"
 msgstr "importera/slå samman nycklar"
 
-#: g10/gpg.c:522
+#: g10/gpg.c:519
 msgid "print the card status"
 msgstr "skriv ut kortstatus"
 
-#: g10/gpg.c:523
+#: g10/gpg.c:520
 msgid "change data on a card"
 msgstr "ändra data på ett kort"
 
-#: g10/gpg.c:525
+#: g10/gpg.c:522
 msgid "change a card's PIN"
 msgstr "ändra PIN-kod för ett kort"
 
-#: g10/gpg.c:537
+#: g10/gpg.c:534
 msgid "update the trust database"
 msgstr "uppdatera tillitsdatabasen"
 
-#: g10/gpg.c:546
+#: g10/gpg.c:543
 msgid "print message digests"
 msgstr "skriv ut kontrollsummor"
 
-#: g10/gpg.c:549 sm/gpgsm.c:235
+#: g10/gpg.c:546 sm/gpgsm.c:236
 msgid "run in server mode"
 msgstr "kör i serverläge"
 
-#: g10/gpg.c:551
+#: g10/gpg.c:548
 msgid "|VALUE|set the TOFU policy for a key"
 msgstr ""
 
-#: g10/gpg.c:555 sm/gpgsm.c:254
+#: g10/gpg.c:552 sm/gpgsm.c:255
 msgid "create ascii armored output"
 msgstr "skapa utdata med ett ascii-skal"
 
-#: g10/gpg.c:558 sm/gpgsm.c:271
+#: g10/gpg.c:555 sm/gpgsm.c:272
 msgid "|USER-ID|encrypt for USER-ID"
 msgstr "|ANVÄNDAR-ID|kryptera för ANVÄNDAR-ID"
 
-#: g10/gpg.c:574 sm/gpgsm.c:307
+#: g10/gpg.c:571 sm/gpgsm.c:308
 msgid "|USER-ID|use USER-ID to sign or decrypt"
 msgstr "|ANVÄNDAR-ID|använd ANVÄNDAR-ID för att signera eller dekryptera"
 
-#: g10/gpg.c:580
+#: g10/gpg.c:577
 msgid "|N|set compress level to N (0 disables)"
 msgstr "|N|ställ in komprimeringsnivån till N (0 för att inaktivera)"
 
-#: g10/gpg.c:587
+#: g10/gpg.c:584
 msgid "use canonical text mode"
 msgstr "använd \"ursprunglig text\"-läget"
 
-#: g10/gpg.c:604 g10/gpgv.c:82 sm/gpgsm.c:309
+#: g10/gpg.c:601 g10/gpgv.c:82 sm/gpgsm.c:310
 msgid "|FILE|write output to FILE"
 msgstr "|FIL|skriv utdata till FIL"
 
-#: g10/gpg.c:614 kbx/kbxutil.c:90 sm/gpgsm.c:321 tools/gpgconf.c:110
+#: g10/gpg.c:611 kbx/kbxutil.c:90 sm/gpgsm.c:322 tools/gpgconf.c:110
 msgid "do not make any changes"
 msgstr "gör inga ändringar"
 
-#: g10/gpg.c:615
+#: g10/gpg.c:612
 msgid "prompt before overwriting"
 msgstr "fråga innan överskrivning"
 
-#: g10/gpg.c:665
+#: g10/gpg.c:662
 msgid "use strict OpenPGP behavior"
 msgstr "använd strikt OpenPGP-beteende"
 
 # inställningar istället för flaggor?
 # Nej, här är det bruksanvisningen för kommandoraden.
-#: g10/gpg.c:692 sm/gpgsm.c:364
+#: g10/gpg.c:689 sm/gpgsm.c:367
 msgid ""
 "@\n"
 "(See the man page for a complete listing of all commands and options)\n"
@@ -2911,7 +2929,7 @@ msgstr ""
 "@\n"
 "(Se manualsidan för en fullständig lista över alla kommandon och flaggor)\n"
 
-#: g10/gpg.c:695
+#: g10/gpg.c:692
 #, fuzzy
 #| msgid ""
 #| "@\n"
@@ -2941,14 +2959,14 @@ msgstr ""
 "--list-keys [namn]          visa nycklar\n"
 "--fingerprint [namn]        visa fingeravtryck\n"
 
-#: g10/gpg.c:1092
+#: g10/gpg.c:1096
 #, fuzzy
 #| msgid "Usage: gpg [options] [files] (-h for help)"
 msgid "Usage: @GPG@ [options] [files] (-h for help)"
 msgstr "Användning: gpg [flaggor] [filer] (-h för hjälp)"
 
 # Om inget kommando anges (decrypt/encrypt etc) väljs åtgärd efter indata.
-#: g10/gpg.c:1095
+#: g10/gpg.c:1099
 #, fuzzy
 #| msgid ""
 #| "Syntax: gpg [options] [files]\n"
@@ -2963,7 +2981,7 @@ msgstr ""
 "signera, kontrollera, kryptera eller dekryptera\n"
 "standardåtgärden beror på inmatningsdata\n"
 
-#: g10/gpg.c:1106 sm/gpgsm.c:591
+#: g10/gpg.c:1110 sm/gpgsm.c:594
 msgid ""
 "\n"
 "Supported algorithms:\n"
@@ -2971,85 +2989,85 @@ msgstr ""
 "\n"
 "Algoritmer som stöds:\n"
 
-#: g10/gpg.c:1109
+#: g10/gpg.c:1113
 msgid "Pubkey: "
 msgstr "Publik nyckel: "
 
-#: g10/gpg.c:1116 g10/keyedit.c:3281
+#: g10/gpg.c:1120 g10/keyedit.c:3282
 msgid "Cipher: "
 msgstr "Chiffer: "
 
-#: g10/gpg.c:1123
+#: g10/gpg.c:1127
 msgid "Hash: "
 msgstr "Kontrollsumma: "
 
-#: g10/gpg.c:1130 g10/keyedit.c:3347
+#: g10/gpg.c:1134 g10/keyedit.c:3348
 msgid "Compression: "
 msgstr "Komprimering: "
 
-#: g10/gpg.c:1199 sm/gpgsm.c:665
+#: g10/gpg.c:1207 sm/gpgsm.c:668
 #, fuzzy, c-format
 #| msgid "usage: gpgsm [options] "
 msgid "usage: %s [options] %s\n"
 msgstr "användning: gpgsm [flaggor] "
 
-#: g10/gpg.c:1388 sm/gpgsm.c:754
+#: g10/gpg.c:1396 sm/gpgsm.c:761
 #, c-format
 msgid "conflicting commands\n"
 msgstr "motstridiga kommandon\n"
 
 # Vad betyder detta?
-#: g10/gpg.c:1406
+#: g10/gpg.c:1414
 #, fuzzy, c-format
 #| msgid "no = sign found in group definition `%s'\n"
 msgid "no = sign found in group definition '%s'\n"
 msgstr "no = signatur hittad i gruppdefinitionen \"%s\"\n"
 
-#: g10/gpg.c:1604
+#: g10/gpg.c:1612
 #, fuzzy, c-format
 #| msgid "WARNING: unsafe ownership on homedir `%s'\n"
 msgid "WARNING: unsafe ownership on homedir '%s'\n"
 msgstr "VARNING: osäkert ägarskap på hemkatalogen \"%s\"\n"
 
-#: g10/gpg.c:1607
+#: g10/gpg.c:1615
 #, fuzzy, c-format
 #| msgid "WARNING: unsafe ownership on configuration file `%s'\n"
 msgid "WARNING: unsafe ownership on configuration file '%s'\n"
 msgstr "VARNING: osäkert ägarskap på konfigurationsfilen \"%s\"\n"
 
-#: g10/gpg.c:1610
+#: g10/gpg.c:1618
 #, fuzzy, c-format
 #| msgid "WARNING: unsafe ownership on extension `%s'\n"
 msgid "WARNING: unsafe ownership on extension '%s'\n"
 msgstr "VARNING: osäkert ägarskap på tillägget \"%s\"\n"
 
-#: g10/gpg.c:1616
+#: g10/gpg.c:1624
 #, fuzzy, c-format
 #| msgid "WARNING: unsafe permissions on homedir `%s'\n"
 msgid "WARNING: unsafe permissions on homedir '%s'\n"
 msgstr "VARNING: osäkra rättigheter på hemkatalogen \"%s\"\n"
 
-#: g10/gpg.c:1619
+#: g10/gpg.c:1627
 #, fuzzy, c-format
 #| msgid "WARNING: unsafe permissions on configuration file `%s'\n"
 msgid "WARNING: unsafe permissions on configuration file '%s'\n"
 msgstr "VARNING: osäkra rättigheter på konfigurationsfilen \"%s\"\n"
 
 # Extension är vad? FIXME
-#: g10/gpg.c:1622
+#: g10/gpg.c:1630
 #, fuzzy, c-format
 #| msgid "WARNING: unsafe permissions on extension `%s'\n"
 msgid "WARNING: unsafe permissions on extension '%s'\n"
 msgstr "VARNING: osäkra rättigheter på tillägget \"%s\"\n"
 
-#: g10/gpg.c:1628
+#: g10/gpg.c:1636
 #, fuzzy, c-format
 #| msgid "WARNING: unsafe enclosing directory ownership on homedir `%s'\n"
 msgid "WARNING: unsafe enclosing directory ownership on homedir '%s'\n"
 msgstr ""
 "VARNING: osäkert ägarskap på inneslutande katalog för hemkatalogen \"%s\"\n"
 
-#: g10/gpg.c:1631
+#: g10/gpg.c:1639
 #, fuzzy, c-format
 #| msgid ""
 #| "WARNING: unsafe enclosing directory ownership on configuration file `%s'\n"
@@ -3059,21 +3077,21 @@ msgstr ""
 "VARNING: osäkert ägarskap på inneslutande katalog för konfigurationsfilen "
 "\"%s\"\n"
 
-#: g10/gpg.c:1634
+#: g10/gpg.c:1642
 #, fuzzy, c-format
 #| msgid "WARNING: unsafe enclosing directory ownership on extension `%s'\n"
 msgid "WARNING: unsafe enclosing directory ownership on extension '%s'\n"
 msgstr ""
 "VARNING: osäkert ägarskap på inneslutande katalog för tillägget \"%s\"\n"
 
-#: g10/gpg.c:1640
+#: g10/gpg.c:1648
 #, fuzzy, c-format
 #| msgid "WARNING: unsafe enclosing directory permissions on homedir `%s'\n"
 msgid "WARNING: unsafe enclosing directory permissions on homedir '%s'\n"
 msgstr ""
 "VARNING: osäkra rättigheter på inneslutande katalog för hemkatalogen \"%s\"\n"
 
-#: g10/gpg.c:1643
+#: g10/gpg.c:1651
 #, fuzzy, c-format
 #| msgid ""
 #| "WARNING: unsafe enclosing directory permissions on configuration file `"
@@ -3084,477 +3102,477 @@ msgstr ""
 "VARNING: osäkra rättigheter på inneslutande katalog för konfigurationsfilen "
 "\"%s\"\n"
 
-#: g10/gpg.c:1646
+#: g10/gpg.c:1654
 #, fuzzy, c-format
 #| msgid "WARNING: unsafe enclosing directory permissions on extension `%s'\n"
 msgid "WARNING: unsafe enclosing directory permissions on extension '%s'\n"
 msgstr ""
 "VARNING: osäkra rättigheter på inneslutande katalog för tillägget \"%s\"\n"
 
-#: g10/gpg.c:1862
+#: g10/gpg.c:1870
 #, fuzzy, c-format
 #| msgid "unknown configuration item `%s'\n"
 msgid "unknown configuration item '%s'\n"
 msgstr "okänd konfigurationspost \"%s\"\n"
 
-#: g10/gpg.c:1979
+#: g10/gpg.c:1992
 msgid "display photo IDs during key listings"
 msgstr "visa foto-id under nyckellistning"
 
-#: g10/gpg.c:1981
+#: g10/gpg.c:1994
 #, fuzzy
 #| msgid "show user ID validity during key listings"
 msgid "show key usage information during key listings"
 msgstr "visa giltighet för användaridentitet vid nyckellistningar "
 
-#: g10/gpg.c:1983
+#: g10/gpg.c:1996
 msgid "show policy URLs during signature listings"
 msgstr "visa policy-url:er under signaturlistningar"
 
-#: g10/gpg.c:1985
+#: g10/gpg.c:1998
 msgid "show all notations during signature listings"
 msgstr "visa alla notationer under signaturlistningar"
 
-#: g10/gpg.c:1987
+#: g10/gpg.c:2000
 msgid "show IETF standard notations during signature listings"
 msgstr "visa IETF-standardnotationer under signaturlistningar"
 
-#: g10/gpg.c:1991
+#: g10/gpg.c:2004
 msgid "show user-supplied notations during signature listings"
 msgstr "visa användarangivna notationer under signaturlistningar"
 
-#: g10/gpg.c:1993
+#: g10/gpg.c:2006
 msgid "show preferred keyserver URLs during signature listings"
 msgstr "visa url:er till föredragna nyckelservrar under signaturlistningar"
 
-#: g10/gpg.c:1995
+#: g10/gpg.c:2008
 msgid "show user ID validity during key listings"
 msgstr "visa giltighet för användaridentitet vid nyckellistningar "
 
-#: g10/gpg.c:1997
+#: g10/gpg.c:2010
 msgid "show revoked and expired user IDs in key listings"
 msgstr "visa spärrade och utgångna användaridentiteter i nyckellistningar"
 
-#: g10/gpg.c:1999
+#: g10/gpg.c:2012
 msgid "show revoked and expired subkeys in key listings"
 msgstr "visa spärrade och utgångna undernycklar i nyckellistningar"
 
-#: g10/gpg.c:2001
+#: g10/gpg.c:2014
 msgid "show the keyring name in key listings"
 msgstr "visa nyckelringens namn i nyckellistningar"
 
-#: g10/gpg.c:2003
+#: g10/gpg.c:2016
 msgid "show expiration dates during signature listings"
 msgstr "visa utgångsdatum under signaturlistningar"
 
-#: g10/gpg.c:2118
+#: g10/gpg.c:2131
 #, fuzzy, c-format
 #| msgid "unknown option `%s'\n"
 msgid "unknown TOFU policy '%s'\n"
 msgstr "okänd flagga \"%s\"\n"
 
-#: g10/gpg.c:2120
+#: g10/gpg.c:2133
 #, c-format
 msgid "(use \"help\" to list choices)\n"
 msgstr ""
 
-#: g10/gpg.c:2840 g10/gpg.c:3671 g10/gpg.c:3683
+#: g10/gpg.c:2856 g10/gpg.c:3691 g10/gpg.c:3703
 #, fuzzy, c-format
 #| msgid "NOTE: %s is not for normal use!\n"
 msgid "Note: %s is not for normal use!\n"
 msgstr "OBS: %s är inte för normal användning!\n"
 
-#: g10/gpg.c:3017 g10/gpg.c:3029
+#: g10/gpg.c:3033 g10/gpg.c:3045
 #, fuzzy, c-format
 #| msgid "`%s' is not a valid signature expiration\n"
 msgid "'%s' is not a valid signature expiration\n"
 msgstr "\"%s\" är inte ett giltigt utgångsdatum för en signatur\n"
 
-#: g10/gpg.c:3051
+#: g10/gpg.c:3067
 #, fuzzy, c-format
 #| msgid "line %d: not a valid email address\n"
 msgid "\"%s\" is not a proper mail address\n"
 msgstr "rad %d: inte en giltig e-postadress\n"
 
-#: g10/gpg.c:3083 sm/gpgsm.c:1177
+#: g10/gpg.c:3099 sm/gpgsm.c:1091
 #, fuzzy, c-format
 #| msgid "invalid country code in `%s', line %d\n"
 msgid "invalid pinentry mode '%s'\n"
 msgstr "ogiltig landskod i \"%s\", rad %d\n"
 
-#: g10/gpg.c:3089 sm/gpgsm.c:1183
+#: g10/gpg.c:3105 sm/gpgsm.c:1097
 #, fuzzy, c-format
 #| msgid "missing argument for option \"%.50s\"\n"
 msgid "invalid request origin '%s'\n"
 msgstr "argument för flaggan \"%.50s\" saknas\n"
 
-#: g10/gpg.c:3143
+#: g10/gpg.c:3159
 #, fuzzy, c-format
 #| msgid "`%s' is not a valid character set\n"
 msgid "'%s' is not a valid character set\n"
 msgstr "\"%s\" är ingen giltig teckentabell\n"
 
-#: g10/gpg.c:3165 g10/gpg.c:3375 g10/keyedit.c:5281
+#: g10/gpg.c:3181 g10/gpg.c:3395 g10/keyedit.c:5282
 #, c-format
 msgid "could not parse keyserver URL\n"
 msgstr "kunde inte tolka url till nyckelserver\n"
 
-#: g10/gpg.c:3183
+#: g10/gpg.c:3199
 #, c-format
 msgid "%s:%d: invalid keyserver options\n"
 msgstr "%s:%d: ogiltiga flaggor för nyckelserver\n"
 
-#: g10/gpg.c:3186
+#: g10/gpg.c:3202
 #, c-format
 msgid "invalid keyserver options\n"
 msgstr "ogiltiga flaggor för nyckelserver\n"
 
-#: g10/gpg.c:3193
+#: g10/gpg.c:3209
 #, c-format
 msgid "%s:%d: invalid import options\n"
 msgstr "%s:%d: ogiltiga importeringsflaggor\n"
 
-#: g10/gpg.c:3196
+#: g10/gpg.c:3212
 #, c-format
 msgid "invalid import options\n"
 msgstr "ogiltiga importflaggor\n"
 
-#: g10/gpg.c:3202 g10/gpg.c:3217
+#: g10/gpg.c:3218 g10/gpg.c:3233
 #, fuzzy, c-format
 #| msgid "invalid list options\n"
 msgid "invalid filter option: %s\n"
 msgstr "ogiltiga listflaggor\n"
 
-#: g10/gpg.c:3208
+#: g10/gpg.c:3224
 #, c-format
 msgid "%s:%d: invalid export options\n"
 msgstr "%s:%d: ogiltiga exportflaggor\n"
 
-#: g10/gpg.c:3211
+#: g10/gpg.c:3227
 #, c-format
 msgid "invalid export options\n"
 msgstr "ogiltiga exportinställningar\n"
 
-#: g10/gpg.c:3223
+#: g10/gpg.c:3239
 #, c-format
 msgid "%s:%d: invalid list options\n"
 msgstr "%s:%d: ogiltiga listflaggor\n"
 
-#: g10/gpg.c:3226
+#: g10/gpg.c:3242
 #, c-format
 msgid "invalid list options\n"
 msgstr "ogiltiga listflaggor\n"
 
-#: g10/gpg.c:3234
+#: g10/gpg.c:3250
 msgid "display photo IDs during signature verification"
 msgstr "visa foto-id under signaturvalidering"
 
-#: g10/gpg.c:3236
+#: g10/gpg.c:3252
 msgid "show policy URLs during signature verification"
 msgstr "visa policy-url:er under signaturvalidering"
 
-#: g10/gpg.c:3238
+#: g10/gpg.c:3254
 msgid "show all notations during signature verification"
 msgstr "visa alla notationer under signaturvalidering"
 
-#: g10/gpg.c:3240
+#: g10/gpg.c:3256
 msgid "show IETF standard notations during signature verification"
 msgstr "visa IETF-standardnotationer under signaturvalidering"
 
-#: g10/gpg.c:3244
+#: g10/gpg.c:3260
 msgid "show user-supplied notations during signature verification"
 msgstr "visa användarangivna notationer under signaturvalidering"
 
-#: g10/gpg.c:3246
+#: g10/gpg.c:3262
 msgid "show preferred keyserver URLs during signature verification"
 msgstr "visa url:er till föredragna nyckelserver under signaturvalidering"
 
-#: g10/gpg.c:3248
+#: g10/gpg.c:3264
 msgid "show user ID validity during signature verification"
 msgstr "visa giltighet för användaridentitet vid signaturvalidering"
 
-#: g10/gpg.c:3250
+#: g10/gpg.c:3266
 msgid "show revoked and expired user IDs in signature verification"
 msgstr "visa spärrade och utgångna användaridentiteter i signaturvalidering"
 
-#: g10/gpg.c:3252
+#: g10/gpg.c:3268
 msgid "show only the primary user ID in signature verification"
 msgstr "visa endast primär användaridentitet i signaturvalidering"
 
-#: g10/gpg.c:3254
+#: g10/gpg.c:3270
 msgid "validate signatures with PKA data"
 msgstr "validera signaturer med PKA-data"
 
-#: g10/gpg.c:3256
+#: g10/gpg.c:3272
 msgid "elevate the trust of signatures with valid PKA data"
 msgstr "öka tillit på signaturer med giltigt PKA-data"
 
-#: g10/gpg.c:3263
+#: g10/gpg.c:3279
 #, c-format
 msgid "%s:%d: invalid verify options\n"
 msgstr "%s:%d: ogiltiga flaggor för validering\n"
 
-#: g10/gpg.c:3266
+#: g10/gpg.c:3282
 #, c-format
 msgid "invalid verify options\n"
 msgstr "ogiltiga flaggor för validering\n"
 
-#: g10/gpg.c:3273
+#: g10/gpg.c:3289
 #, c-format
 msgid "unable to set exec-path to %s\n"
 msgstr "kunde inte ställa in exec-path till %s\n"
 
-#: g10/gpg.c:3478
+#: g10/gpg.c:3498
 #, c-format
 msgid "%s:%d: invalid auto-key-locate list\n"
 msgstr "%s:%d: ogiltig auto-key-locate-lista\n"
 
-#: g10/gpg.c:3481
+#: g10/gpg.c:3501
 #, c-format
 msgid "invalid auto-key-locate list\n"
 msgstr "ogiltig auto-key-locate-lista\n"
 
 # Programmet skapar en avbildning (image) av minnet för att lättare kunna spåra fel.
-#: g10/gpg.c:3653 sm/gpgsm.c:1541
+#: g10/gpg.c:3673 sm/gpgsm.c:1441
 #, c-format
 msgid "WARNING: program may create a core file!\n"
 msgstr "VARNING: programmet kan komma att skapa en minnesavbild!\n"
 
-#: g10/gpg.c:3664
+#: g10/gpg.c:3684
 #, c-format
 msgid "WARNING: %s overrides %s\n"
 msgstr "VARNING: %s gäller istället för %s\n"
 
-#: g10/gpg.c:3673
+#: g10/gpg.c:3693
 #, c-format
 msgid "%s not allowed with %s!\n"
 msgstr "%s är inte tillåten tillsammans med %s!\n"
 
-#: g10/gpg.c:3676
+#: g10/gpg.c:3696
 #, c-format
 msgid "%s makes no sense with %s!\n"
 msgstr "det är ingen poäng att använda %s tillsammans med %s!\n"
 
-#: g10/gpg.c:3691 sm/gpgsm.c:1558 dirmngr/dirmngr.c:1082
+#: g10/gpg.c:3711 sm/gpgsm.c:1458 dirmngr/dirmngr.c:1117
 #, c-format
 msgid "WARNING: running with faked system time: "
 msgstr "VARNING: kör med falsk systemtid: "
 
-#: g10/gpg.c:3712
+#: g10/gpg.c:3732
 #, c-format
 msgid "will not run with insecure memory due to %s\n"
 msgstr "kommer inte att köra med osäkert minne på grund av %s\n"
 
-#: g10/gpg.c:3747 g10/gpg.c:3771 sm/gpgsm.c:1625
+#: g10/gpg.c:3767 g10/gpg.c:3791 sm/gpgsm.c:1525
 #, c-format
 msgid "selected cipher algorithm is invalid\n"
 msgstr "den valda chifferalgoritmen är ogiltig\n"
 
-#: g10/gpg.c:3759
+#: g10/gpg.c:3779
 #, c-format
 msgid "selected compression algorithm is invalid\n"
 msgstr "vald komprimeringsalgoritm är ogiltig\n"
 
-#: g10/gpg.c:3765
+#: g10/gpg.c:3785
 #, c-format
 msgid "selected certification digest algorithm is invalid\n"
 msgstr "vald algoritm för certifieringssammandrag är felaktig\n"
 
 # antalet betrodda signaturer som behövs (1-3) för att du ska lita på en nyckel du inte själv verifierat.
-#: g10/gpg.c:3780
+#: g10/gpg.c:3800
 #, c-format
 msgid "completes-needed must be greater than 0\n"
 msgstr "variabeln \"completes-needed\" måste ha ett värde som är större än 0\n"
 
 # antalet delvis betrodda signaturer som behövs (1-3) för att du ska lita på en nyckel du inte själv verifierat.
-#: g10/gpg.c:3782
+#: g10/gpg.c:3802
 #, c-format
 msgid "marginals-needed must be greater than 1\n"
 msgstr "variabeln \"marginals-needed\" måste vara större än 1\n"
 
 # Hur djupt GnuPG ska leta i Web-of-trust.
-#: g10/gpg.c:3784
+#: g10/gpg.c:3804
 #, c-format
 msgid "max-cert-depth must be in the range from 1 to 255\n"
 msgstr "max-cert-depth måste vara inom intervallet från 1 till 255\n"
 
 # Det är nivån för hurväl du har kontrollerat att nyckeln tillhör innehavaren.
-#: g10/gpg.c:3786
+#: g10/gpg.c:3806
 #, c-format
 msgid "invalid default-cert-level; must be 0, 1, 2, or 3\n"
 msgstr ""
 "ogiltigt standardvärde för certifieringsnivån; måste vara 0, 1, 2 eller 3\n"
 
 # Det är nivån för hurväl du har kontrollerat att nyckeln tillhör innehavaren.
-#: g10/gpg.c:3788
+#: g10/gpg.c:3808
 #, c-format
 msgid "invalid min-cert-level; must be 1, 2, or 3\n"
 msgstr "ogiltigt minimivärde för certifieringsnivån; måste vara 1, 2 eller 3\n"
 
 # S2K har med krypteringen av hemliga nyckeln att göra
-#: g10/gpg.c:3791
+#: g10/gpg.c:3812
 #, fuzzy, c-format
 #| msgid "NOTE: simple S2K mode (0) is strongly discouraged\n"
 msgid "Note: simple S2K mode (0) is strongly discouraged\n"
 msgstr "OBS: enkelt S2K-läge (0) rekommenderas inte\n"
 
-#: g10/gpg.c:3795
+#: g10/gpg.c:3816
 #, c-format
 msgid "invalid S2K mode; must be 0, 1 or 3\n"
 msgstr "ogiltigt S2K-läge; måste vara 0, 1 eller 3\n"
 
-#: g10/gpg.c:3802
+#: g10/gpg.c:3823
 #, c-format
 msgid "invalid default preferences\n"
 msgstr "ogiltiga standardinställningar\n"
 
 # Du kan ange de algoritmer du föredrar i prioritetsordning. Då avgör inte enbart standard (symmetrisk kryptering) eller mottagarens preferenser (kryptering till öppen nyckel).
-#: g10/gpg.c:3806
+#: g10/gpg.c:3827
 #, c-format
 msgid "invalid personal cipher preferences\n"
 msgstr "ogiltig inställning av personligt chiffer\n"
 
-#: g10/gpg.c:3810
+#: g10/gpg.c:3831
 #, c-format
 msgid "invalid personal digest preferences\n"
 msgstr "ogiltig inställning av föredragna kontrollsummealgoritmer\n"
 
-#: g10/gpg.c:3814
+#: g10/gpg.c:3835
 #, c-format
 msgid "invalid personal compress preferences\n"
 msgstr "ogiltig inställning av föredragna kompressionsalgoritmer\n"
 
-#: g10/gpg.c:3850
+#: g10/gpg.c:3871
 #, c-format
 msgid "%s does not yet work with %s\n"
 msgstr "%s fungerar ännu inte med  %s\n"
 
-#: g10/gpg.c:3913
+#: g10/gpg.c:3934
 #, fuzzy, c-format
 #| msgid "you may not use compression algorithm `%s' while in %s mode\n"
 msgid "compression algorithm '%s' may not be used in %s mode\n"
 msgstr ""
 "du får inte använda komprimeringsalgoritmen \"%s\" när du är i %s-läget\n"
 
-#: g10/gpg.c:4057
+#: g10/gpg.c:4078
 #, c-format
 msgid "failed to initialize the TrustDB: %s\n"
 msgstr "misslyckades med att initialisera tillitsdatabasen: %s\n"
 
-#: g10/gpg.c:4069
+#: g10/gpg.c:4090
 #, c-format
 msgid "WARNING: recipients (-r) given without using public key encryption\n"
 msgstr ""
 "VARNING: mottagare (-r) angivna utan att använda publik nyckel-kryptering\n"
 
-#: g10/gpg.c:4141
+#: g10/gpg.c:4162
 #, fuzzy, c-format
 #| msgid "symmetric encryption of `%s' failed: %s\n"
 msgid "symmetric encryption of '%s' failed: %s\n"
 msgstr "symmetrisk kryptering av \"%s\" misslyckades: %s\n"
 
-#: g10/gpg.c:4170
+#: g10/gpg.c:4191
 #, c-format
 msgid "you cannot use --symmetric --encrypt with --s2k-mode 0\n"
 msgstr "du kan inte använda --symmetric --encrypt med --s2k-mode 0\n"
 
-#: g10/gpg.c:4173
+#: g10/gpg.c:4194
 #, fuzzy, c-format
 #| msgid "you cannot use --symmetric --encrypt while in %s mode\n"
 msgid "you cannot use --symmetric --encrypt in %s mode\n"
 msgstr "du kan inte använda --symmetric --encrypt i %s-läget\n"
 
-#: g10/gpg.c:4231
+#: g10/gpg.c:4252
 #, c-format
 msgid "you cannot use --symmetric --sign --encrypt with --s2k-mode 0\n"
 msgstr "du kan inte använda --symmetric --sign --encrypt med --s2k-mode 0\n"
 
-#: g10/gpg.c:4234
+#: g10/gpg.c:4255
 #, fuzzy, c-format
 #| msgid "you cannot use --symmetric --sign --encrypt while in %s mode\n"
 msgid "you cannot use --symmetric --sign --encrypt in %s mode\n"
 msgstr ""
 "du kan inte använda --symmetric --sign --encrypt när du är i %s-läget\n"
 
-#: g10/gpg.c:4622 g10/keyserver.c:1881
+#: g10/gpg.c:4643 g10/keyserver.c:1648
 #, c-format
 msgid "keyserver send failed: %s\n"
 msgstr "sändning till nyckelservern misslyckades: %s\n"
 
-#: g10/gpg.c:4627
+#: g10/gpg.c:4648
 #, c-format
 msgid "keyserver receive failed: %s\n"
 msgstr "hämtning från nyckelservern misslyckades: %s\n"
 
-#: g10/gpg.c:4633
+#: g10/gpg.c:4654
 #, c-format
 msgid "key export failed: %s\n"
 msgstr "export av nyckeln misslyckades: %s\n"
 
-#: g10/gpg.c:4646
+#: g10/gpg.c:4667
 #, fuzzy, c-format
 #| msgid "key export failed: %s\n"
 msgid "export as ssh key failed: %s\n"
 msgstr "export av nyckeln misslyckades: %s\n"
 
-#: g10/gpg.c:4658
+#: g10/gpg.c:4679
 #, c-format
 msgid "keyserver search failed: %s\n"
 msgstr "sökning på nyckelservern misslyckades: %s\n"
 
-#: g10/gpg.c:4671
+#: g10/gpg.c:4692
 #, c-format
 msgid "keyserver refresh failed: %s\n"
 msgstr "uppdatering av  nyckeln från en nyckelserver misslyckades: %s\n"
 
-#: g10/gpg.c:4738
+#: g10/gpg.c:4759
 #, c-format
 msgid "dearmoring failed: %s\n"
 msgstr "misslyckades med att ta bort ASCII-skalet: %s\n"
 
-#: g10/gpg.c:4749
+#: g10/gpg.c:4770
 #, c-format
 msgid "enarmoring failed: %s\n"
 msgstr "misslyckades med att skapa ASCII-skal: %s\n"
 
-#: g10/gpg.c:4841
+#: g10/gpg.c:4862
 #, fuzzy, c-format
 #| msgid "invalid hash algorithm `%s'\n"
 msgid "invalid hash algorithm '%s'\n"
 msgstr "ogiltig kontrollsummealgoritm \"%s\"\n"
 
-#: g10/gpg.c:4993 g10/tofu.c:2153
+#: g10/gpg.c:5014 g10/tofu.c:2153
 #, fuzzy, c-format
 #| msgid "error storing certificate: %s\n"
 msgid "error parsing key specification '%s': %s\n"
 msgstr "fel vid lagring av certifikat: %s\n"
 
-#: g10/gpg.c:5006
+#: g10/gpg.c:5027
 #, c-format
 msgid "'%s' does not appear to be a valid key ID, fingerprint or keygrip\n"
 msgstr ""
 
-#: g10/gpg.c:5062
+#: g10/gpg.c:5083
 #, c-format
 msgid "WARNING: no command supplied.  Trying to guess what you mean ...\n"
 msgstr ""
 
-#: g10/gpg.c:5073
+#: g10/gpg.c:5094
 #, c-format
 msgid "Go ahead and type your message ...\n"
 msgstr "Skriv ditt meddelande här ...\n"
 
-#: g10/gpg.c:5418
+#: g10/gpg.c:5439
 #, c-format
 msgid "the given certification policy URL is invalid\n"
 msgstr "den angivna URL som beskriver certifieringsspolicy är ogiltig\n"
 
-#: g10/gpg.c:5420
+#: g10/gpg.c:5441
 #, c-format
 msgid "the given signature policy URL is invalid\n"
 msgstr "den angivna URL som beskriver signaturpolicy är ogiltig\n"
 
-#: g10/gpg.c:5453
+#: g10/gpg.c:5474
 #, c-format
 msgid "the given preferred keyserver URL is invalid\n"
 msgstr "den angivna föredragna nyckelserver-url:n är ogiltig\n"
@@ -3570,7 +3588,7 @@ msgstr "|FIL|ta nycklarna från nyckelringen FIL "
 msgid "make timestamp conflicts only a warning"
 msgstr "utfärda enbart en varning när tidsstämpeln är orimlig"
 
-#: g10/gpgv.c:86 sm/gpgsm.c:354 tools/gpgconf.c:112
+#: g10/gpgv.c:86 sm/gpgsm.c:357 tools/gpgconf.c:112
 msgid "|FD|write status info to this FD"
 msgstr "|FD|skriv statusinformation till denna FD"
 
@@ -3656,98 +3674,98 @@ msgstr "anta att inmatning är i binärformat"
 msgid "repair keys on import"
 msgstr "visa nyckelns fingeravtryck"
 
-#: g10/import.c:380 g10/import.c:699
+#: g10/import.c:392 g10/import.c:711
 #, c-format
 msgid "skipping block of type %d\n"
 msgstr "hoppar över block av typen %d\n"
 
-#: g10/import.c:716
+#: g10/import.c:728
 #, c-format
 msgid "%lu keys processed so far\n"
 msgstr "%lu nycklar behandlade än så länge\n"
 
-#: g10/import.c:802
+#: g10/import.c:814
 #, c-format
 msgid "Total number processed: %lu\n"
 msgstr "Totalt antal behandlade enheter: %lu\n"
 
-#: g10/import.c:805
+#: g10/import.c:817
 #, fuzzy, c-format
 #| msgid "      skipped new keys: %lu\n"
 msgid "    skipped PGP-2 keys: %lu\n"
 msgstr "        överhoppade nya nycklar: %lu\n"
 
-#: g10/import.c:807
+#: g10/import.c:819
 #, c-format
 msgid "      skipped new keys: %lu\n"
 msgstr "        överhoppade nya nycklar: %lu\n"
 
-#: g10/import.c:810
+#: g10/import.c:822
 #, c-format
 msgid "          w/o user IDs: %lu\n"
 msgstr "       utan användaridentiteter: %lu\n"
 
-#: g10/import.c:813 sm/import.c:130
+#: g10/import.c:825 sm/import.c:130
 #, c-format
 msgid "              imported: %lu"
 msgstr "                    importerade: %lu"
 
-#: g10/import.c:817 sm/import.c:134
+#: g10/import.c:829 sm/import.c:134
 #, c-format
 msgid "             unchanged: %lu\n"
 msgstr "                    oförändrade: %lu\n"
 
-#: g10/import.c:819
+#: g10/import.c:831
 #, c-format
 msgid "          new user IDs: %lu\n"
 msgstr "        nya användaridentiteter: %lu\n"
 
-#: g10/import.c:821
+#: g10/import.c:833
 #, c-format
 msgid "           new subkeys: %lu\n"
 msgstr "               nya undernycklar: %lu\n"
 
-#: g10/import.c:823
+#: g10/import.c:835
 #, c-format
 msgid "        new signatures: %lu\n"
 msgstr "                 nya signaturer: %lu\n"
 
-#: g10/import.c:825
+#: g10/import.c:837
 #, c-format
 msgid "   new key revocations: %lu\n"
 msgstr "          nya nyckelspärrningar: %lu\n"
 
-#: g10/import.c:827 sm/import.c:136
+#: g10/import.c:839 sm/import.c:136
 #, c-format
 msgid "      secret keys read: %lu\n"
 msgstr "    antal lästa hemliga nycklar: %lu\n"
 
-#: g10/import.c:829 sm/import.c:138
+#: g10/import.c:841 sm/import.c:138
 #, c-format
 msgid "  secret keys imported: %lu\n"
 msgstr "    importerade hemliga nycklar: %lu\n"
 
-#: g10/import.c:831 sm/import.c:140
+#: g10/import.c:843 sm/import.c:140
 #, c-format
 msgid " secret keys unchanged: %lu\n"
 msgstr "    oförändrade hemliga nycklar: %lu\n"
 
-#: g10/import.c:833 sm/import.c:142
+#: g10/import.c:845 sm/import.c:142
 #, c-format
 msgid "          not imported: %lu\n"
 msgstr "               inte importerade: %lu\n"
 
-#: g10/import.c:835
+#: g10/import.c:847
 #, c-format
 msgid "    signatures cleaned: %lu\n"
 msgstr "             signaturer rensade: %lu\n"
 
-#: g10/import.c:837
+#: g10/import.c:849
 #, c-format
 msgid "      user IDs cleaned: %lu\n"
 msgstr "    användaridentiteter rensade: %lu\n"
 
-#: g10/import.c:1264
+#: g10/import.c:1276
 #, c-format
 msgid ""
 "WARNING: key %s contains preferences for unavailable\n"
@@ -3756,175 +3774,175 @@ msgstr ""
 "VARNING: nyckeln %s innehåller inställningar för otillgängliga\n"
 "algoritmer för dessa användaridentiteter:\n"
 
-#: g10/import.c:1306
+#: g10/import.c:1318
 #, c-format
 msgid "         \"%s\": preference for cipher algorithm %s\n"
 msgstr "         \"%s\": inställning för chifferalgoritmen %s\n"
 
-#: g10/import.c:1321
+#: g10/import.c:1333
 #, c-format
 msgid "         \"%s\": preference for digest algorithm %s\n"
 msgstr "         \"%s\": inställning för sammandragsalgoritmen %s\n"
 
-#: g10/import.c:1333
+#: g10/import.c:1345
 #, c-format
 msgid "         \"%s\": preference for compression algorithm %s\n"
 msgstr "         \"%s\": inställning för komprimeringsalgoritmen %s\n"
 
-#: g10/import.c:1346
+#: g10/import.c:1358
 #, c-format
 msgid "it is strongly suggested that you update your preferences and\n"
 msgstr "det rekommenderas starkt att du uppdaterar dina inställningar\n"
 
-#: g10/import.c:1348
+#: g10/import.c:1360
 #, c-format
 msgid "re-distribute this key to avoid potential algorithm mismatch problems\n"
 msgstr ""
 "och distribuerar denna nyckel igen för att undvika tänkbara problem\n"
 "med att algoritmerna inte stämmer\n"
 
-#: g10/import.c:1373
+#: g10/import.c:1385
 #, c-format
 msgid "you can update your preferences with: gpg --edit-key %s updpref save\n"
 msgstr ""
 "du kan uppdatera dina inställningar med: gpg --edit-key %s updpref save\n"
 
-#: g10/import.c:1887 g10/import.c:3001
+#: g10/import.c:1899 g10/import.c:3013
 #, c-format
 msgid "key %s: no user ID\n"
 msgstr "nyckel %s: ingen användaridentitet\n"
 
-#: g10/import.c:1893
+#: g10/import.c:1905
 #, fuzzy, c-format
 #| msgid "skipped \"%s\": %s\n"
 msgid "key %s: %s\n"
 msgstr "hoppade över \"%s\": %s\n"
 
-#: g10/import.c:1894 g10/import.c:2973
+#: g10/import.c:1906 g10/import.c:2985
 msgid "rejected by import screener"
 msgstr ""
 
 # Undernyckeln är skadad på HKP-servern. Vanligt fel vid många undernycklar.
-#: g10/import.c:1938
+#: g10/import.c:1950
 #, c-format
 msgid "key %s: PKS subkey corruption repaired\n"
 msgstr "nyckeln %s: PKS-skadad undernyckel reparerades\n"
 
 # vad innebär fnutten i slutet?
-#: g10/import.c:1959
+#: g10/import.c:1971
 #, c-format
 msgid "key %s: accepted non self-signed user ID \"%s\"\n"
 msgstr "nyckel %s: accepterade icke-självsignerad användaridentitet \"%s\"\n"
 
-#: g10/import.c:1969 g10/import.c:2000
+#: g10/import.c:1981 g10/import.c:2012
 #, c-format
 msgid "key %s: no valid user IDs\n"
 msgstr "nyckel %s: inga giltiga användaridentiteter\n"
 
-#: g10/import.c:1971
+#: g10/import.c:1983
 #, c-format
 msgid "this may be caused by a missing self-signature\n"
 msgstr "detta kan bero på att det saknas en självsignatur\n"
 
-#: g10/import.c:2050 g10/import.c:3387
+#: g10/import.c:2062 g10/import.c:3399
 #, c-format
 msgid "key %s: public key not found: %s\n"
 msgstr "nyckel %s: hittade ingen publik nyckel: %s\n"
 
-#: g10/import.c:2056
+#: g10/import.c:2068
 #, c-format
 msgid "key %s: new key - skipped\n"
 msgstr "nyckel %s: ny nyckel - hoppade över\n"
 
-#: g10/import.c:2068
+#: g10/import.c:2080
 #, c-format
 msgid "no writable keyring found: %s\n"
 msgstr "hittade ingen nyckelring som gick att skriva till: %s\n"
 
-#: g10/import.c:2100 g10/import.c:2202 g10/import.c:3464
+#: g10/import.c:2112 g10/import.c:2214 g10/import.c:3476
 #, fuzzy, c-format
 #| msgid "error writing keyring `%s': %s\n"
 msgid "error writing keyring '%s': %s\n"
 msgstr "fel vid skrivning av nyckelringen \"%s\": %s\n"
 
 # fixme: I appended the %s -wk
-#: g10/import.c:2123
+#: g10/import.c:2135
 #, c-format
 msgid "key %s: public key \"%s\" imported\n"
 msgstr "nyckel %s: publika nyckeln \"%s\" importerades\n"
 
-#: g10/import.c:2150
+#: g10/import.c:2162
 #, c-format
 msgid "key %s: doesn't match our copy\n"
 msgstr "nyckel %s: stämmer inte mot vår lokala kopia\n"
 
-#: g10/import.c:2218
+#: g10/import.c:2230
 #, c-format
 msgid "key %s: \"%s\" 1 new user ID\n"
 msgstr "nyckel %s: \"%s\" 1 ny användaridentitet\n"
 
-#: g10/import.c:2221
+#: g10/import.c:2233
 #, c-format
 msgid "key %s: \"%s\" %d new user IDs\n"
 msgstr "nyckel %s: \"%s\" %d nya användaridentiteter\n"
 
-#: g10/import.c:2224
+#: g10/import.c:2236
 #, c-format
 msgid "key %s: \"%s\" 1 new signature\n"
 msgstr "nyckel %s: \"%s\" 1 ny signatur\n"
 
-#: g10/import.c:2227
+#: g10/import.c:2239
 #, c-format
 msgid "key %s: \"%s\" %d new signatures\n"
 msgstr "nyckel %s: \"%s\" %d nya signaturer\n"
 
-#: g10/import.c:2230
+#: g10/import.c:2242
 #, c-format
 msgid "key %s: \"%s\" 1 new subkey\n"
 msgstr "nyckel %s: \"%s\" 1 ny undernyckel\n"
 
-#: g10/import.c:2233
+#: g10/import.c:2245
 #, c-format
 msgid "key %s: \"%s\" %d new subkeys\n"
 msgstr "nyckel %s: \"%s\" %d nya undernycklar\n"
 
-#: g10/import.c:2236
+#: g10/import.c:2248
 #, c-format
 msgid "key %s: \"%s\" %d signature cleaned\n"
 msgstr "nyckel %s: \"%s\" %d signatur rensad\n"
 
-#: g10/import.c:2239
+#: g10/import.c:2251
 #, c-format
 msgid "key %s: \"%s\" %d signatures cleaned\n"
 msgstr "nyckel %s: \"%s\" %d signaturer rensade\n"
 
-#: g10/import.c:2242
+#: g10/import.c:2254
 #, c-format
 msgid "key %s: \"%s\" %d user ID cleaned\n"
 msgstr "nyckel %s: \"%s\" %d användaridentitet rensad\n"
 
-#: g10/import.c:2245
+#: g10/import.c:2257
 #, c-format
 msgid "key %s: \"%s\" %d user IDs cleaned\n"
 msgstr "nyckel %s: \"%s\" %d användaridentiteter rensade\n"
 
-#: g10/import.c:2281
+#: g10/import.c:2293
 #, c-format
 msgid "key %s: \"%s\" not changed\n"
 msgstr "nyckel %s: \"%s\" inte ändrad\n"
 
-#: g10/import.c:2640 g10/import.c:2835
+#: g10/import.c:2652 g10/import.c:2847
 #, c-format
 msgid "key %s: secret key imported\n"
 msgstr "nyckel %s: hemlig nyckel importerades\n"
 
-#: g10/import.c:2648
+#: g10/import.c:2660
 #, fuzzy, c-format
 #| msgid "skipped: secret key already present\n"
 msgid "key %s: secret key already exists\n"
 msgstr "hoppade över: hemlig nyckel finns redan\n"
 
-#: g10/import.c:2656
+#: g10/import.c:2668
 #, fuzzy, c-format
 #| msgid "error sending %s command: %s\n"
 msgid "key %s: error sending to agent: %s\n"
@@ -3938,201 +3956,201 @@ msgstr "fel vid sändning av %s-kommando: %s\n"
 #. * Instead, user should be suggested to run 'gpg --card-status',
 #. * then, references to a card will be automatically created
 #. * again.
-#: g10/import.c:2825
+#: g10/import.c:2837
 #, c-format
 msgid "To migrate '%s', with each smartcard, run: %s\n"
 msgstr ""
 
-#: g10/import.c:2972
+#: g10/import.c:2984
 #, fuzzy, c-format
 #| msgid "secret key \"%s\" not found: %s\n"
 msgid "secret key %s: %s\n"
 msgstr "hemliga nyckeln \"%s\" hittades inte: %s\n"
 
-#: g10/import.c:2993 g10/import.c:3032
+#: g10/import.c:3005 g10/import.c:3044
 #, c-format
 msgid "importing secret keys not allowed\n"
 msgstr "import av hemliga nycklar tillåts inte\n"
 
-#: g10/import.c:3020
+#: g10/import.c:3032
 #, c-format
 msgid "key %s: secret key with invalid cipher %d - skipped\n"
 msgstr "nyckel %s: hemlig nyckel med ogiltigt chiffer %d - hoppade över\n"
 
-#: g10/import.c:3182 g10/pkclist.c:72 g10/revoke.c:776
+#: g10/import.c:3194 g10/pkclist.c:72 g10/revoke.c:776
 msgid "No reason specified"
 msgstr "Ingen anledning har angivits"
 
 # tveksam översättning. funderar på "ersatt av något bättre" men det
 # känns inte heller bra. Betyder att nyckeln inte används längre, utan användaren har skapat en ny nyckel som ersätter den gamla.
-#: g10/import.c:3183 g10/pkclist.c:74 g10/revoke.c:778
+#: g10/import.c:3195 g10/pkclist.c:74 g10/revoke.c:778
 msgid "Key is superseded"
 msgstr "Nyckeln är åsidosatt"
 
-#: g10/import.c:3184 g10/pkclist.c:76 g10/revoke.c:777
+#: g10/import.c:3196 g10/pkclist.c:76 g10/revoke.c:777
 msgid "Key has been compromised"
 msgstr "Nyckeln har blivit komprometterad"
 
-#: g10/import.c:3185 g10/pkclist.c:78 g10/revoke.c:779
+#: g10/import.c:3197 g10/pkclist.c:78 g10/revoke.c:779
 msgid "Key is no longer used"
 msgstr "Nyckeln används inte längre"
 
-#: g10/import.c:3186 g10/pkclist.c:80 g10/revoke.c:780
+#: g10/import.c:3198 g10/pkclist.c:80 g10/revoke.c:780
 msgid "User ID is no longer valid"
 msgstr "Användaridentiteten är inte längre giltig"
 
-#: g10/import.c:3311 g10/keylist.c:1254 g10/pkclist.c:84
+#: g10/import.c:3323 g10/keylist.c:1254 g10/pkclist.c:84
 #, c-format
 msgid "reason for revocation: "
 msgstr "anledning för spärrning: "
 
-#: g10/import.c:3330 g10/keylist.c:1273 g10/pkclist.c:100
+#: g10/import.c:3342 g10/keylist.c:1273 g10/pkclist.c:100
 #, c-format
 msgid "revocation comment: "
 msgstr "spärrningskommentar: "
 
-#: g10/import.c:3380
+#: g10/import.c:3392
 #, c-format
 msgid "key %s: no public key - can't apply revocation certificate\n"
 msgstr "nyckel %s: ingen publik nyckel - kan inte verkställa spärrcertifikat\n"
 
-#: g10/import.c:3411
+#: g10/import.c:3423
 #, c-format
 msgid "key %s: can't locate original keyblock: %s\n"
 msgstr "nyckel %s: kan inte hitta det ursprungliga nyckelblocket: %s\n"
 
-#: g10/import.c:3418
+#: g10/import.c:3430
 #, c-format
 msgid "key %s: can't read original keyblock: %s\n"
 msgstr "nyckel %s: kan inte läsa det ursprungliga nyckelblocket %s\n"
 
-#: g10/import.c:3438
+#: g10/import.c:3450
 #, c-format
 msgid "key %s: invalid revocation certificate: %s - rejected\n"
 msgstr "nyckel %s: ogiltigt spärrcertifikat: %s - avvisat\n"
 
-#: g10/import.c:3473
+#: g10/import.c:3485
 #, c-format
 msgid "key %s: \"%s\" revocation certificate imported\n"
 msgstr "nyckel %s: \"%s\" spärrcertifikat importerat\n"
 
-#: g10/import.c:3559
+#: g10/import.c:3571
 #, c-format
 msgid "key %s: no user ID for signature\n"
 msgstr "nyckel %s: ingen användaridentitet för signaturen\n"
 
 # fixme: I appended the %s -wk
-#: g10/import.c:3576
+#: g10/import.c:3588
 #, c-format
 msgid "key %s: unsupported public key algorithm on user ID \"%s\"\n"
 msgstr ""
 "nyckel %s: algoritmen för publika nycklar stöds inte för "
 "användaridentiteten  \"%s\"\n"
 
-#: g10/import.c:3578
+#: g10/import.c:3590
 #, c-format
 msgid "key %s: invalid self-signature on user ID \"%s\"\n"
 msgstr "nyckel %s: ogiltig självsignatur på användaridentiteten \"%s\"\n"
 
-#: g10/import.c:3595 g10/import.c:3623 g10/import.c:3679
+#: g10/import.c:3607 g10/import.c:3635 g10/import.c:3691
 #, c-format
 msgid "key %s: unsupported public key algorithm\n"
 msgstr "nyckel %s: algoritmen för publika nycklar stöds inte\n"
 
-#: g10/import.c:3596
+#: g10/import.c:3608
 #, c-format
 msgid "key %s: invalid direct key signature\n"
 msgstr "nyckel %s: ogiltig direkt nyckelsignatur\n"
 
-#: g10/import.c:3610
+#: g10/import.c:3622
 #, c-format
 msgid "key %s: no subkey for key binding\n"
 msgstr "nyckel %s: ingen undernyckel för nyckelbindning\n"
 
-#: g10/import.c:3625
+#: g10/import.c:3637
 #, c-format
 msgid "key %s: invalid subkey binding\n"
 msgstr "nyckel %s: ogiltig undernyckelbindning\n"
 
-#: g10/import.c:3644
+#: g10/import.c:3656
 #, c-format
 msgid "key %s: removed multiple subkey binding\n"
 msgstr "nyckel %s: tog bort flera undernyckelbindningar\n"
 
-#: g10/import.c:3668
+#: g10/import.c:3680
 #, c-format
 msgid "key %s: no subkey for key revocation\n"
 msgstr "nyckel %s: ingen undernyckel för nyckelspärrning\n"
 
-#: g10/import.c:3681
+#: g10/import.c:3693
 #, c-format
 msgid "key %s: invalid subkey revocation\n"
 msgstr "nyckel %s: ogiltig spärr av undernyckel\n"
 
-#: g10/import.c:3696
+#: g10/import.c:3708
 #, c-format
 msgid "key %s: removed multiple subkey revocation\n"
 msgstr "nyckel %s: tog bort flera spärrar av undernyckel\n"
 
-#: g10/import.c:3740
+#: g10/import.c:3752
 #, c-format
 msgid "key %s: skipped user ID \"%s\"\n"
 msgstr "nyckel %s: hoppade över användaridentiteten \"%s\"\n"
 
-#: g10/import.c:3767
+#: g10/import.c:3779
 #, c-format
 msgid "key %s: skipped subkey\n"
 msgstr "nyckel %s: hoppade över undernyckel\n"
 
-#: g10/import.c:3798
+#: g10/import.c:3810
 #, c-format
 msgid "key %s: non exportable signature (class 0x%02X) - skipped\n"
 msgstr "nyckel %s: icke-exporterbar signatur (klass 0x%02X) - hoppade över\n"
 
-#: g10/import.c:3809
+#: g10/import.c:3821
 #, c-format
 msgid "key %s: revocation certificate at wrong place - skipped\n"
 msgstr "nyckel %s: spärrcertifikat på fel plats - hoppade över\n"
 
 # nyckeln eller certifikatet??
-#: g10/import.c:3827
+#: g10/import.c:3839
 #, c-format
 msgid "key %s: invalid revocation certificate: %s - skipped\n"
 msgstr "nyckel %s: ogiltigt spärrcertifikat: %s - hoppade över\n"
 
-#: g10/import.c:3841
+#: g10/import.c:3853
 #, c-format
 msgid "key %s: subkey signature in wrong place - skipped\n"
 msgstr "nyckel %s: signatur på undernyckel på fel plats - hoppade över\n"
 
 # nyckeln eller klassen?
-#: g10/import.c:3849
+#: g10/import.c:3861
 #, c-format
 msgid "key %s: unexpected signature class (0x%02X) - skipped\n"
 msgstr "nyckel %s: oväntad signaturklass  (0x%02X) - hoppade över\n"
 
-#: g10/import.c:4022
+#: g10/import.c:4034
 #, c-format
 msgid "key %s: duplicated user ID detected - merged\n"
 msgstr ""
 "nyckel %s: dubblett av användaridentiteten hittades - slog samman dem\n"
 
-#: g10/import.c:4087
+#: g10/import.c:4099
 #, c-format
 msgid "WARNING: key %s may be revoked: fetching revocation key %s\n"
 msgstr "VARNING: nyckeln %s kan ha spärrats: hämtar spärrnyckeln %s\n"
 
-#: g10/import.c:4103
+#: g10/import.c:4115
 #, c-format
 msgid "WARNING: key %s may be revoked: revocation key %s not present.\n"
 msgstr "VARNING: nyckeln %s kan ha spärrats: spärrnyckeln %s saknas.\n"
 
-#: g10/import.c:4169
+#: g10/import.c:4181
 #, c-format
 msgid "key %s: \"%s\" revocation certificate added\n"
 msgstr "nyckel %s: \"%s\" spärrcertifikat lades till\n"
 
-#: g10/import.c:4207
+#: g10/import.c:4219
 #, c-format
 msgid "key %s: direct key signature added\n"
 msgstr "nyckel %s: lade till direkt nyckelsignatur\n"
@@ -4208,7 +4226,7 @@ msgid ""
 "all signatures.\n"
 msgstr ""
 
-#: g10/keydb.c:431 g10/keydb.c:458 sm/keydb.c:191 sm/keydb.c:204
+#: g10/keydb.c:431 g10/keydb.c:458 sm/keydb.c:190 sm/keydb.c:203
 #, fuzzy, c-format
 #| msgid "error creating keybox `%s': %s\n"
 msgid "error creating keybox '%s': %s\n"
@@ -4220,7 +4238,7 @@ msgstr "fel när nyckelskåpet \"%s\" skapades: %s\n"
 msgid "error creating keyring '%s': %s\n"
 msgstr "fel när nyckelringen \"%s\" skapades: %s\n"
 
-#: g10/keydb.c:470 sm/keydb.c:210
+#: g10/keydb.c:470 sm/keydb.c:209
 #, fuzzy, c-format
 #| msgid "keybox `%s' created\n"
 msgid "keybox '%s' created\n"
@@ -4303,13 +4321,13 @@ msgstr ""
 msgid "User ID \"%s\" is revoked."
 msgstr "Användaridentiteten \"%s\" är spärrad."
 
-#: g10/keyedit.c:569 g10/keyedit.c:597 g10/keyedit.c:624 g10/keyedit.c:808
-#: g10/keyedit.c:1655
+#: g10/keyedit.c:569 g10/keyedit.c:597 g10/keyedit.c:624 g10/keyedit.c:809
+#: g10/keyedit.c:1656
 msgid "Are you sure you still want to sign it? (y/N) "
 msgstr "Vill du verkligen fortfarande signera den? (j/N)"
 
-#: g10/keyedit.c:583 g10/keyedit.c:611 g10/keyedit.c:638 g10/keyedit.c:814
-#: g10/keyedit.c:1660 g10/keyedit.c:2667
+#: g10/keyedit.c:583 g10/keyedit.c:611 g10/keyedit.c:638 g10/keyedit.c:815
+#: g10/keyedit.c:1661 g10/keyedit.c:2668
 msgid "  Unable to sign.\n"
 msgstr "  Kan inte signera.\n"
 
@@ -4383,30 +4401,30 @@ msgstr "\"%s\" var redan lokalt signerad med nyckeln %s\n"
 msgid "\"%s\" was already signed by key %s\n"
 msgstr "\"%s\" var redan signerad av nyckeln %s\n"
 
-#: g10/keyedit.c:756
+#: g10/keyedit.c:757
 msgid "Do you want to sign it again anyway? (y/N) "
 msgstr "Vill du verkligen signera den igen ändå?(j/N)"
 
-#: g10/keyedit.c:778
+#: g10/keyedit.c:779
 #, c-format
 msgid "Nothing to sign with key %s\n"
 msgstr "Det finns inget att signera med nyckeln %s\n"
 
-#: g10/keyedit.c:802
+#: g10/keyedit.c:803
 msgid "This key has expired!"
 msgstr "Giltighetstiden för denna nyckel har gått ut!"
 
-#: g10/keyedit.c:820
+#: g10/keyedit.c:821
 #, c-format
 msgid "This key is due to expire on %s.\n"
 msgstr "Denna nyckels giltighetstid går ut vid %s.\n"
 
-#: g10/keyedit.c:826
+#: g10/keyedit.c:827
 msgid "Do you want your signature to expire at the same time? (Y/n) "
 msgstr ""
 "Vill du att giltighetstiden för signaturen ska upphöra vid samma tid? (J/n) "
 
-#: g10/keyedit.c:867
+#: g10/keyedit.c:868
 msgid ""
 "How carefully have you verified the key you are about to sign actually "
 "belongs\n"
@@ -4415,33 +4433,33 @@ msgstr ""
 "Hur noga har du kontrollerat att nyckeln du ska signera verkligen tillhör\n"
 "personen som nämns ovan?  Om du inte vet vad du ska svara, svara \"0\".\n"
 
-#: g10/keyedit.c:872
+#: g10/keyedit.c:873
 #, c-format
 msgid "   (0) I will not answer.%s\n"
 msgstr "   (0) Jag vill inte svara.%s\n"
 
-#: g10/keyedit.c:874
+#: g10/keyedit.c:875
 #, c-format
 msgid "   (1) I have not checked at all.%s\n"
 msgstr "   (1) Jag har inte kontrollerat alls.%s\n"
 
-#: g10/keyedit.c:876
+#: g10/keyedit.c:877
 #, c-format
 msgid "   (2) I have done casual checking.%s\n"
 msgstr "   (2) Jag har gjort viss kontroll.%s\n"
 
-#: g10/keyedit.c:879
+#: g10/keyedit.c:880
 #, c-format
 msgid "   (3) I have done very careful checking.%s\n"
 msgstr "   (3) Jag har gjort en noggrann kontroll.%s\n"
 
-#: g10/keyedit.c:886
+#: g10/keyedit.c:887
 #, fuzzy
 #| msgid "Your selection? (enter `?' for more information): "
 msgid "Your selection? (enter '?' for more information): "
 msgstr "Ditt val? (skriv \"?\" för mer information): "
 
-#: g10/keyedit.c:913
+#: g10/keyedit.c:914
 #, c-format
 msgid ""
 "Are you sure that you want to sign this key with your\n"
@@ -4450,236 +4468,236 @@ msgstr ""
 "Är du verkligen säker på att du vill signera denna nyckel\n"
 "med din nyckel \"%s\" (%s)\n"
 
-#: g10/keyedit.c:921
+#: g10/keyedit.c:922
 msgid "This will be a self-signature.\n"
 msgstr "Detta kommer att bli en självsignatur.\n"
 
-#: g10/keyedit.c:926
+#: g10/keyedit.c:927
 msgid "WARNING: the signature will not be marked as non-exportable.\n"
 msgstr "VARNING: signaturen kommer inte att markeras som icke-exporterbar.\n"
 
-#: g10/keyedit.c:933
+#: g10/keyedit.c:934
 msgid "WARNING: the signature will not be marked as non-revocable.\n"
 msgstr "VARNING: signaturen kommer att markeras som icke-spärrbar.\n"
 
-#: g10/keyedit.c:943
+#: g10/keyedit.c:944
 msgid "The signature will be marked as non-exportable.\n"
 msgstr "Signaturen kommer att markeras som icke-exporterbar.\n"
 
-#: g10/keyedit.c:950
+#: g10/keyedit.c:951
 msgid "The signature will be marked as non-revocable.\n"
 msgstr "Signaturen kommer att märkas som icke möjlig att spärra.\n"
 
-#: g10/keyedit.c:957
+#: g10/keyedit.c:958
 msgid "I have not checked this key at all.\n"
 msgstr "Jag har inte kontrollerat denna nyckel alls.\n"
 
-#: g10/keyedit.c:962
+#: g10/keyedit.c:963
 msgid "I have checked this key casually.\n"
 msgstr "Jag har gjort viss kontroll av denna nyckel.\n"
 
-#: g10/keyedit.c:967
+#: g10/keyedit.c:968
 msgid "I have checked this key very carefully.\n"
 msgstr "Jag har gjort en noggrann kontroll av denna nyckel.\n"
 
-#: g10/keyedit.c:979
+#: g10/keyedit.c:980
 msgid "Really sign? (y/N) "
 msgstr "Verkligen signera? (j/N) "
 
-#: g10/keyedit.c:1030 g10/keyedit.c:6154 g10/keyedit.c:6237 g10/keyedit.c:6366
-#: g10/keyedit.c:6428 g10/sign.c:466
+#: g10/keyedit.c:1031 g10/keyedit.c:6155 g10/keyedit.c:6238 g10/keyedit.c:6367
+#: g10/keyedit.c:6429 g10/sign.c:466
 #, c-format
 msgid "signing failed: %s\n"
 msgstr "signeringen misslyckades: %s\n"
 
-#: g10/keyedit.c:1117
+#: g10/keyedit.c:1118
 msgid "Key has only stub or on-card key items - no passphrase to change.\n"
 msgstr ""
 "Nyckeln har endast en stump eller nyckelobjekt på kortet - ingen lösenfras "
 "att ändra.\n"
 
-#: g10/keyedit.c:1149
+#: g10/keyedit.c:1150
 #, fuzzy, c-format
 #| msgid "error creating passphrase: %s\n"
 msgid "key %s: error changing passphrase: %s\n"
 msgstr "fel när lösenfras skapades: %s\n"
 
-#: g10/keyedit.c:1261
+#: g10/keyedit.c:1262
 msgid "save and quit"
 msgstr "spara och avsluta"
 
-#: g10/keyedit.c:1264
+#: g10/keyedit.c:1265
 msgid "show key fingerprint"
 msgstr "visa nyckelns fingeravtryck"
 
-#: g10/keyedit.c:1265
+#: g10/keyedit.c:1266
 #, fuzzy
 #| msgid "Enter the keygrip: "
 msgid "show the keygrip"
 msgstr "Ange nyckelhashen: "
 
-#: g10/keyedit.c:1266
+#: g10/keyedit.c:1267
 msgid "list key and user IDs"
 msgstr "lista nycklar och användaridentiteter"
 
-#: g10/keyedit.c:1268
+#: g10/keyedit.c:1269
 msgid "select user ID N"
 msgstr "välj användaridentiteten N"
 
-#: g10/keyedit.c:1269
+#: g10/keyedit.c:1270
 msgid "select subkey N"
 msgstr "välj undernyckel N"
 
-#: g10/keyedit.c:1270
+#: g10/keyedit.c:1271
 msgid "check signatures"
 msgstr "kontrollera signaturer"
 
-#: g10/keyedit.c:1276
+#: g10/keyedit.c:1277
 msgid "sign selected user IDs [* see below for related commands]"
 msgstr ""
 "signera valda användaridentiteter [* se nedan för relaterade kommandon]"
 
-#: g10/keyedit.c:1281
+#: g10/keyedit.c:1282
 msgid "sign selected user IDs locally"
 msgstr "signera valda användaridentiteter lokalt"
 
-#: g10/keyedit.c:1282
+#: g10/keyedit.c:1283
 msgid "sign selected user IDs with a trust signature"
 msgstr "signera valda användaridentiteter med en tillitssignatur"
 
-#: g10/keyedit.c:1284
+#: g10/keyedit.c:1285
 msgid "sign selected user IDs with a non-revocable signature"
 msgstr "signera valda användaridentiteter med en icke-spärrbar signatur"
 
-#: g10/keyedit.c:1286
+#: g10/keyedit.c:1287
 msgid "add a user ID"
 msgstr "lägg till en användaridentitet"
 
-#: g10/keyedit.c:1288
+#: g10/keyedit.c:1289
 msgid "add a photo ID"
 msgstr "lägg till ett foto-id"
 
-#: g10/keyedit.c:1289
+#: g10/keyedit.c:1290
 msgid "delete selected user IDs"
 msgstr "ta bort valda användaridentiteter"
 
-#: g10/keyedit.c:1292
+#: g10/keyedit.c:1293
 msgid "add a subkey"
 msgstr "lägg till en undernyckel"
 
-#: g10/keyedit.c:1295
+#: g10/keyedit.c:1296
 msgid "add a key to a smartcard"
 msgstr "lägg till en nyckel till ett smartkort"
 
-#: g10/keyedit.c:1297
+#: g10/keyedit.c:1298
 msgid "move a key to a smartcard"
 msgstr "flytta en nyckel till ett smartkort"
 
-#: g10/keyedit.c:1299
+#: g10/keyedit.c:1300
 msgid "move a backup key to a smartcard"
 msgstr "flytta en nyckelkopia till ett smartkort"
 
-#: g10/keyedit.c:1301
+#: g10/keyedit.c:1302
 msgid "delete selected subkeys"
 msgstr "ta bort valda undernycklar"
 
-#: g10/keyedit.c:1303
+#: g10/keyedit.c:1304
 msgid "add a revocation key"
 msgstr "lägg till en spärrnyckel"
 
-#: g10/keyedit.c:1305
+#: g10/keyedit.c:1306
 msgid "delete signatures from the selected user IDs"
 msgstr "ta bort signaturer från valda användaridentiteter"
 
-#: g10/keyedit.c:1307
+#: g10/keyedit.c:1308
 msgid "change the expiration date for the key or selected subkeys"
 msgstr "ändra utgångsdatumet för nyckeln eller valda undernycklar"
 
-#: g10/keyedit.c:1309
+#: g10/keyedit.c:1310
 msgid "flag the selected user ID as primary"
 msgstr "flagga vald användaridentitet som primär"
 
-#: g10/keyedit.c:1312
+#: g10/keyedit.c:1313
 msgid "list preferences (expert)"
 msgstr "lista inställningar (expertläge)"
 
-#: g10/keyedit.c:1313
+#: g10/keyedit.c:1314
 msgid "list preferences (verbose)"
 msgstr "lista inställningar (utförligt)"
 
-#: g10/keyedit.c:1315
+#: g10/keyedit.c:1316
 msgid "set preference list for the selected user IDs"
 msgstr "ställ in inställningslista för valda användaridentiteter"
 
-#: g10/keyedit.c:1318
+#: g10/keyedit.c:1319
 msgid "set the preferred keyserver URL for the selected user IDs"
 msgstr ""
 "ställ in url till föredragen nyckelserver för valda användaridentiteter"
 
-#: g10/keyedit.c:1320
+#: g10/keyedit.c:1321
 msgid "set a notation for the selected user IDs"
 msgstr "ställ in en notation för valda användaridentiteter"
 
-#: g10/keyedit.c:1322
+#: g10/keyedit.c:1323
 msgid "change the passphrase"
 msgstr "ändra lösenfrasen"
 
 # originalet borde ha ett value
-#: g10/keyedit.c:1325
+#: g10/keyedit.c:1326
 msgid "change the ownertrust"
 msgstr "ändra ägartillitsvärdet"
 
-#: g10/keyedit.c:1328
+#: g10/keyedit.c:1329
 msgid "revoke signatures on the selected user IDs"
 msgstr "spärra signaturer på valda användaridentiteter"
 
-#: g10/keyedit.c:1330
+#: g10/keyedit.c:1331
 msgid "revoke selected user IDs"
 msgstr "spärra valda användaridentiteter"
 
-#: g10/keyedit.c:1333
+#: g10/keyedit.c:1334
 msgid "revoke key or selected subkeys"
 msgstr "spärra nyckel eller valda undernycklar"
 
-#: g10/keyedit.c:1335
+#: g10/keyedit.c:1336
 msgid "enable key"
 msgstr "aktivera nyckel"
 
-#: g10/keyedit.c:1336
+#: g10/keyedit.c:1337
 msgid "disable key"
 msgstr "inaktivera nyckel"
 
-#: g10/keyedit.c:1338
+#: g10/keyedit.c:1339
 msgid "show selected photo IDs"
 msgstr "visa valda foto-id:n"
 
-#: g10/keyedit.c:1340
+#: g10/keyedit.c:1341
 msgid "compact unusable user IDs and remove unusable signatures from key"
 msgstr ""
 "komprimera oanvändbara användaridentiteter och ta bort oanvändbara "
 "signaturer från nyckeln"
 
-#: g10/keyedit.c:1342
+#: g10/keyedit.c:1343
 msgid "compact unusable user IDs and remove all signatures from key"
 msgstr ""
 "komprimera oanvändbara användaridentiteter och ta bort alla signaturer från "
 "nyckeln"
 
-#: g10/keyedit.c:1463
+#: g10/keyedit.c:1464
 msgid "Secret key is available.\n"
 msgstr "Den hemliga nyckeln finns tillgänglig.\n"
 
-#: g10/keyedit.c:1465
+#: g10/keyedit.c:1466
 #, fuzzy
 #| msgid "Secret key is available.\n"
 msgid "Secret subkeys are available.\n"
 msgstr "Den hemliga nyckeln finns tillgänglig.\n"
 
-#: g10/keyedit.c:1567
+#: g10/keyedit.c:1568
 msgid "Need the secret key to do this.\n"
 msgstr "Den hemliga nyckeln behövs för att göra detta.\n"
 
-#: g10/keyedit.c:1590
+#: g10/keyedit.c:1591
 #, fuzzy
 #| msgid ""
 #| "* The `sign' command may be prefixed with an `l' for local signatures "
@@ -4699,313 +4717,313 @@ msgstr ""
 "signaturer\n"
 "  (nrsign), eller en kombination av dessa (ltsign, tnrsign, etc.).\n"
 
-#: g10/keyedit.c:1648 g10/keyedit.c:2667 g10/keyedit.c:3040 g10/keyedit.c:3108
+#: g10/keyedit.c:1649 g10/keyedit.c:2668 g10/keyedit.c:3041 g10/keyedit.c:3109
 msgid "Key is revoked."
 msgstr "Nyckeln är spärrad."
 
-#: g10/keyedit.c:1671
+#: g10/keyedit.c:1672
 #, fuzzy
 #| msgid "Really sign all user IDs? (y/N) "
 msgid "Really sign all text user IDs? (y/N) "
 msgstr "Verkligen signera alla användaridentiteter? (j/N) "
 
-#: g10/keyedit.c:1675
+#: g10/keyedit.c:1676
 msgid "Really sign all user IDs? (y/N) "
 msgstr "Verkligen signera alla användaridentiteter? (j/N) "
 
-#: g10/keyedit.c:1683
+#: g10/keyedit.c:1684
 msgid "Hint: Select the user IDs to sign\n"
 msgstr "Tips: Välj de användaridentiteter som du vill signera\n"
 
-#: g10/keyedit.c:1694
+#: g10/keyedit.c:1695
 #, fuzzy, c-format
 #| msgid "Unknown signature type `%s'\n"
 msgid "Unknown signature type '%s'\n"
 msgstr "Okänd signaturtyp \"%s\"\n"
 
-#: g10/keyedit.c:1718
+#: g10/keyedit.c:1719
 #, c-format
 msgid "This command is not allowed while in %s mode.\n"
 msgstr "Detta kommando är inte tillåtet när du är i %s-läge.\n"
 
-#: g10/keyedit.c:1740 g10/keyedit.c:1764 g10/keyedit.c:1961
+#: g10/keyedit.c:1741 g10/keyedit.c:1765 g10/keyedit.c:1962
 msgid "You must select at least one user ID.\n"
 msgstr "Du måste välja åtminstone en användaridentitet.\n"
 
-#: g10/keyedit.c:1742 g10/keyedit.c:1766 g10/keyedit.c:1923 g10/keyedit.c:1963
+#: g10/keyedit.c:1743 g10/keyedit.c:1767 g10/keyedit.c:1924 g10/keyedit.c:1964
 #, c-format
 msgid "(Use the '%s' command.)\n"
 msgstr ""
 
-#: g10/keyedit.c:1745
+#: g10/keyedit.c:1746
 msgid "You can't delete the last user ID!\n"
 msgstr "Du kan inte ta bort den sista användaridentiteten!\n"
 
-#: g10/keyedit.c:1748
+#: g10/keyedit.c:1749
 msgid "Really remove all selected user IDs? (y/N) "
 msgstr "Verkligen ta bort alla valda användaridentiteter? (j/N) "
 
-#: g10/keyedit.c:1749
+#: g10/keyedit.c:1750
 msgid "Really remove this user ID? (y/N) "
 msgstr "Verkligen ta bort denna användaridentitet? (j/N) "
 
 #. TRANSLATORS: Please take care: This is about
 #. moving the key and not about removing it.
-#: g10/keyedit.c:1806
+#: g10/keyedit.c:1807
 msgid "Really move the primary key? (y/N) "
 msgstr "Verkligen flytta den primära nyckeln? (j/N) "
 
-#: g10/keyedit.c:1818 g10/keyedit.c:4803
+#: g10/keyedit.c:1819 g10/keyedit.c:4804
 msgid "You must select exactly one key.\n"
 msgstr "Du måste välja exakt en nyckel.\n"
 
-#: g10/keyedit.c:1846
+#: g10/keyedit.c:1847
 msgid "Command expects a filename argument\n"
 msgstr "Kommandot förväntar ett filnamnsargument\n"
 
-#: g10/keyedit.c:1867
+#: g10/keyedit.c:1868
 #, fuzzy, c-format
 #| msgid "Can't open `%s': %s\n"
 msgid "Can't open '%s': %s\n"
 msgstr "Kan inte öppna \"%s\": %s\n"
 
-#: g10/keyedit.c:1886
+#: g10/keyedit.c:1887
 #, fuzzy, c-format
 #| msgid "Error reading backup key from `%s': %s\n"
 msgid "Error reading backup key from '%s': %s\n"
 msgstr "Fel vid läsning av säkerhetskopierad nyckel från \"%s\": %s\n"
 
-#: g10/keyedit.c:1921
+#: g10/keyedit.c:1922
 msgid "You must select at least one key.\n"
 msgstr "Du måste välja åtminstone en nyckel.\n"
 
-#: g10/keyedit.c:1927
+#: g10/keyedit.c:1928
 msgid "Do you really want to delete the selected keys? (y/N) "
 msgstr "Vill du verkligen ta bort de valda nycklarna? (j/N) "
 
-#: g10/keyedit.c:1929
+#: g10/keyedit.c:1930
 msgid "Do you really want to delete this key? (y/N) "
 msgstr "Vill du verkligen ta bort denna nyckel? (j/N) "
 
-#: g10/keyedit.c:1967
+#: g10/keyedit.c:1968
 msgid "Really revoke all selected user IDs? (y/N) "
 msgstr "Verkligen spärra alla valda användaridentiteter? (j/N) "
 
-#: g10/keyedit.c:1968
+#: g10/keyedit.c:1969
 msgid "Really revoke this user ID? (y/N) "
 msgstr "Verkligen spärra denna användaridentitet? (j/N) "
 
-#: g10/keyedit.c:1986
+#: g10/keyedit.c:1987
 msgid "Do you really want to revoke the entire key? (y/N) "
 msgstr "Vill du verkligen spärra hela nyckeln? (j/N) "
 
-#: g10/keyedit.c:1997
+#: g10/keyedit.c:1998
 msgid "Do you really want to revoke the selected subkeys? (y/N) "
 msgstr "Vill du verkligen spärra de valda undernycklarna? (j/N) "
 
-#: g10/keyedit.c:1999
+#: g10/keyedit.c:2000
 msgid "Do you really want to revoke this subkey? (y/N) "
 msgstr "Vill du verkligen spärra denna undernyckel? (j/N) "
 
-#: g10/keyedit.c:2057
+#: g10/keyedit.c:2058
 msgid "Owner trust may not be set while using a user provided trust database\n"
 msgstr ""
 "Ägartillit får inte ställas in när en tillitsdatabas används som användaren "
 "tillhandahåller\n"
 
-#: g10/keyedit.c:2102
+#: g10/keyedit.c:2103
 msgid "Set preference list to:\n"
 msgstr "Ställ in inställningslista till:\n"
 
-#: g10/keyedit.c:2109
+#: g10/keyedit.c:2110
 msgid "Really update the preferences for the selected user IDs? (y/N) "
 msgstr ""
 "Vill du verkligen uppdatera inställningarna för valda användaridentiteter? "
 "(j/N) "
 
-#: g10/keyedit.c:2111
+#: g10/keyedit.c:2112
 msgid "Really update the preferences? (y/N) "
 msgstr "Vill du verkligen uppdatera inställningarna? (j/N) "
 
-#: g10/keyedit.c:2185
+#: g10/keyedit.c:2186
 msgid "Save changes? (y/N) "
 msgstr "Spara ändringar? (j/N) "
 
-#: g10/keyedit.c:2189
+#: g10/keyedit.c:2190
 msgid "Quit without saving? (y/N) "
 msgstr "Avsluta utan att spara? (j/N) "
 
-#: g10/keyedit.c:2216 g10/keyedit.c:2762 g10/keyedit.c:3061 g10/keyedit.c:3214
+#: g10/keyedit.c:2217 g10/keyedit.c:2763 g10/keyedit.c:3062 g10/keyedit.c:3215
 #, c-format
 msgid "Key not changed so no update needed.\n"
 msgstr "Nyckeln är oförändrad så det behövs ingen uppdatering.\n"
 
-#: g10/keyedit.c:2448
+#: g10/keyedit.c:2449
 #, fuzzy, c-format
 #| msgid "You can't delete the last user ID!\n"
 msgid "cannot revoke the last valid user ID.\n"
 msgstr "Du kan inte ta bort den sista användaridentiteten!\n"
 
-#: g10/keyedit.c:2475
+#: g10/keyedit.c:2476
 #, fuzzy, c-format
 #| msgid "checking the trust list failed: %s\n"
 msgid "revoking the user ID failed: %s\n"
 msgstr "kontroll mot tillitslistan misslyckades: %s\n"
 
-#: g10/keyedit.c:2541
+#: g10/keyedit.c:2542
 #, fuzzy, c-format
 #| msgid "checking the trust list failed: %s\n"
 msgid "setting the primary user ID failed: %s\n"
 msgstr "kontroll mot tillitslistan misslyckades: %s\n"
 
-#: g10/keyedit.c:2572
+#: g10/keyedit.c:2573
 #, fuzzy, c-format
 #| msgid "invalid fingerprint"
 msgid "\"%s\" is not a fingerprint\n"
 msgstr "ogiltigt fingeravtryck"
 
-#: g10/keyedit.c:2602
+#: g10/keyedit.c:2603
 #, fuzzy, c-format
 #| msgid "failed to get the fingerprint\n"
 msgid "\"%s\" is not the primary fingerprint\n"
 msgstr "misslyckades med att få fingeravtrycket\n"
 
-#: g10/keyedit.c:2738 g10/keyedit.c:2741
+#: g10/keyedit.c:2739 g10/keyedit.c:2742
 #, fuzzy, c-format
 #| msgid "invalid value\n"
 msgid "Invalid user ID '%s': %s\n"
 msgstr "ogiltigt värde\n"
 
-#: g10/keyedit.c:2744
+#: g10/keyedit.c:2745
 #, fuzzy
 #| msgid "No such user ID.\n"
 msgid "No matching user IDs."
 msgstr "Ingen sådan användaridentitet.\n"
 
-#: g10/keyedit.c:2744
+#: g10/keyedit.c:2745
 #, fuzzy
 #| msgid "Nothing to sign with key %s\n"
 msgid "Nothing to sign.\n"
 msgstr "Det finns inget att signera med nyckeln %s\n"
 
-#: g10/keyedit.c:2937 g10/keyedit.c:6019
+#: g10/keyedit.c:2938 g10/keyedit.c:6020
 #, c-format
 msgid "Not signed by you.\n"
 msgstr "Inte signerad av dig.\n"
 
-#: g10/keyedit.c:2995
+#: g10/keyedit.c:2996
 #, fuzzy, c-format
 #| msgid "checking created signature failed: %s\n"
 msgid "revoking the key signature failed: %s\n"
 msgstr "kontroll av den skapade signaturen misslyckades: %s\n"
 
-#: g10/keyedit.c:3116
+#: g10/keyedit.c:3117
 #, fuzzy, c-format
 #| msgid "`%s' is not a valid signature expiration\n"
 msgid "'%s' is not a valid expiration time\n"
 msgstr "\"%s\" är inte ett giltigt utgångsdatum för en signatur\n"
 
-#: g10/keyedit.c:3159
+#: g10/keyedit.c:3160
 #, fuzzy, c-format
 #| msgid "invalid fingerprint"
 msgid "\"%s\" is not a proper fingerprint\n"
 msgstr "ogiltigt fingeravtryck"
 
-#: g10/keyedit.c:3183
+#: g10/keyedit.c:3184
 #, fuzzy, c-format
 #| msgid "key \"%s\" not found: %s\n"
 msgid "subkey \"%s\" not found\n"
 msgstr "nyckeln \"%s\" hittades inte: %s\n"
 
-#: g10/keyedit.c:3306
+#: g10/keyedit.c:3307
 msgid "AEAD: "
 msgstr ""
 
-#: g10/keyedit.c:3323
+#: g10/keyedit.c:3324
 msgid "Digest: "
 msgstr "Sammandrag: "
 
-#: g10/keyedit.c:3380
+#: g10/keyedit.c:3381
 msgid "Features: "
 msgstr "Funktioner: "
 
-#: g10/keyedit.c:3397
+#: g10/keyedit.c:3398
 msgid "Keyserver no-modify"
 msgstr "Nyckelserver no-modify"
 
-#: g10/keyedit.c:3412 g10/keylist.c:376
+#: g10/keyedit.c:3413 g10/keylist.c:376
 msgid "Preferred keyserver: "
 msgstr "Föredragen nyckelserver: "
 
-#: g10/keyedit.c:3420 g10/keyedit.c:3421
+#: g10/keyedit.c:3421 g10/keyedit.c:3422
 msgid "Notations: "
 msgstr "Notationer: "
 
-#: g10/keyedit.c:3669
+#: g10/keyedit.c:3670
 msgid "There are no preferences on a PGP 2.x-style user ID.\n"
 msgstr ""
 "Du kan inte ange några inställningar för en användaridentitet av PGP 2.x-"
 "typ.\n"
 
-#: g10/keyedit.c:3741
+#: g10/keyedit.c:3742
 #, c-format
 msgid "The following key was revoked on %s by %s key %s\n"
 msgstr "Följande nyckel blev spärrad den %s av %s nyckel %s\n"
 
-#: g10/keyedit.c:3765
+#: g10/keyedit.c:3766
 #, c-format
 msgid "This key may be revoked by %s key %s"
 msgstr "Den här nyckeln kan vara spärrad av %s nyckel %s"
 
-#: g10/keyedit.c:3771
+#: g10/keyedit.c:3772
 msgid "(sensitive)"
 msgstr "(känsligt)"
 
-#: g10/keyedit.c:3813 g10/keyedit.c:3960 g10/keylist.c:264 g10/keyserver.c:538
+#: g10/keyedit.c:3814 g10/keyedit.c:3961 g10/keylist.c:264 g10/keyserver.c:361
 #, c-format
 msgid "created: %s"
 msgstr "skapat: %s"
 
-#: g10/keyedit.c:3816 g10/keylist.c:2149
+#: g10/keyedit.c:3817 g10/keylist.c:2149
 #, c-format
 msgid "revoked: %s"
 msgstr "spärrad: %s"
 
-#: g10/keyedit.c:3818 g10/keylist.c:2155
+#: g10/keyedit.c:3819 g10/keylist.c:2155
 #, c-format
 msgid "expired: %s"
 msgstr "utgånget: %s"
 
-#: g10/keyedit.c:3820 g10/keyedit.c:3962 g10/keylist.c:266 g10/keylist.c:2161
-#: g10/keyserver.c:544
+#: g10/keyedit.c:3821 g10/keyedit.c:3963 g10/keylist.c:266 g10/keylist.c:2161
+#: g10/keyserver.c:367
 #, c-format
 msgid "expires: %s"
 msgstr "går ut: %s"
 
-#: g10/keyedit.c:3822
+#: g10/keyedit.c:3823
 #, c-format
 msgid "usage: %s"
 msgstr "användning: %s"
 
-#: g10/keyedit.c:3830 g10/keyedit.c:3850 g10/keylist.c:269
+#: g10/keyedit.c:3831 g10/keyedit.c:3851 g10/keylist.c:269
 msgid "card-no: "
 msgstr "kortnummer: "
 
-#: g10/keyedit.c:3889
+#: g10/keyedit.c:3890
 #, c-format
 msgid "trust: %s"
 msgstr "tillit: %s"
 
-#: g10/keyedit.c:3893
+#: g10/keyedit.c:3894
 #, c-format
 msgid "validity: %s"
 msgstr "giltighet: %s"
 
-#: g10/keyedit.c:3900
+#: g10/keyedit.c:3901
 msgid "This key has been disabled"
 msgstr "Denna nyckel har stängts av"
 
-#: g10/keyedit.c:3918
+#: g10/keyedit.c:3919
 msgid ""
 "Please note that the shown key validity is not necessarily correct\n"
 "unless you restart the program.\n"
@@ -5013,17 +5031,17 @@ msgstr ""
 "Observera! Den visade nyckelgiltigheten kan vara felaktig\n"
 "såvida inte du startar om programmet.\n"
 
-#: g10/keyedit.c:3979 g10/keyedit.c:4410 g10/keyserver.c:548
-#: g10/mainproc.c:2371 g10/tofu.c:1787 g10/trust.c:437 dirmngr/ocsp.c:791
+#: g10/keyedit.c:3980 g10/keyedit.c:4411 g10/keyserver.c:371
+#: g10/mainproc.c:2380 g10/tofu.c:1787 g10/trust.c:437 dirmngr/ocsp.c:791
 msgid "revoked"
 msgstr "spärrad"
 
-#: g10/keyedit.c:3981 g10/keyedit.c:4412 g10/keyserver.c:552
-#: g10/mainproc.c:2373 g10/tofu.c:1792 g10/trust.c:124
+#: g10/keyedit.c:3982 g10/keyedit.c:4413 g10/keyserver.c:375
+#: g10/mainproc.c:2382 g10/tofu.c:1792 g10/trust.c:124
 msgid "expired"
 msgstr "utgånget"
 
-#: g10/keyedit.c:4098
+#: g10/keyedit.c:4099
 #, c-format
 msgid ""
 "WARNING: no user ID has been marked as primary.  This command may\n"
@@ -5033,18 +5051,18 @@ msgstr ""
 "Detta kommando kan göra att en annan användaridentitet antas\n"
 "vara den primära identiteten.\n"
 
-#: g10/keyedit.c:4150
+#: g10/keyedit.c:4151
 #, c-format
 msgid "WARNING: Your encryption subkey expires soon.\n"
 msgstr ""
 
-#: g10/keyedit.c:4151
+#: g10/keyedit.c:4152
 #, fuzzy, c-format
 #| msgid "You can't change the expiration date of a v3 key\n"
 msgid "You may want to change its expiration date too.\n"
 msgstr "Du kan inte ändra giltighetsdatum för en v3-nyckel\n"
 
-#: g10/keyedit.c:4210
+#: g10/keyedit.c:4211
 msgid ""
 "WARNING: This is a PGP2-style key.  Adding a photo ID may cause some "
 "versions\n"
@@ -5053,36 +5071,36 @@ msgstr ""
 "VARNING: Detta är en nyckel av PGP2-typ.  Om du lägger till ett foto-id kan\n"
 "         vissa versioner av PGP avvisa denna nyckel.\n"
 
-#: g10/keyedit.c:4215 g10/keyedit.c:4505
+#: g10/keyedit.c:4216 g10/keyedit.c:4506
 msgid "Are you sure you still want to add it? (y/N) "
 msgstr "Vill du verkligen fortfarande lägga till den? (j/N) "
 
-#: g10/keyedit.c:4221
+#: g10/keyedit.c:4222
 msgid "You may not add a photo ID to a PGP2-style key.\n"
 msgstr "Du kan inte lägga till ett foto-id till en nyckel av PGP 2-typ.\n"
 
-#: g10/keyedit.c:4236 g10/keygen.c:2899
+#: g10/keyedit.c:4237 g10/keygen.c:2899
 msgid "Such a user ID already exists on this key!\n"
 msgstr "En sådan användaridentitet finns redan på denna nyckel!\n"
 
-#: g10/keyedit.c:4338
+#: g10/keyedit.c:4339
 msgid "Delete this good signature? (y/N/q)"
 msgstr "Vill du radera denna korrekta signatur? (j/N/a)"
 
-#: g10/keyedit.c:4348
+#: g10/keyedit.c:4349
 msgid "Delete this invalid signature? (y/N/q)"
 msgstr "Vill du radera denna ogiltiga signatur? (j/N/a)"
 
-#: g10/keyedit.c:4352
+#: g10/keyedit.c:4353
 msgid "Delete this unknown signature? (y/N/q)"
 msgstr "Vill du radera denna okända signatur? (j/N/a)"
 
-#: g10/keyedit.c:4359
+#: g10/keyedit.c:4360
 msgid "Really delete this self-signature? (y/N)"
 msgstr "Verkligen ta bort denna självsignatur? (j/N)"
 
 # skulle lika gärna kunna heta 1 signatur va?
-#: g10/keyedit.c:4375
+#: g10/keyedit.c:4376
 #, fuzzy, c-format
 #| msgid "Deleted %d signature.\n"
 msgid "Deleted %d signature.\n"
@@ -5090,20 +5108,20 @@ msgid_plural "Deleted %d signatures.\n"
 msgstr[0] "Raderade %d signatur.\n"
 msgstr[1] "Raderade %d signatur.\n"
 
-#: g10/keyedit.c:4379
+#: g10/keyedit.c:4380
 msgid "Nothing deleted.\n"
 msgstr "Ingenting raderat.\n"
 
-#: g10/keyedit.c:4414
+#: g10/keyedit.c:4415
 msgid "invalid"
 msgstr "ogiltigt"
 
-#: g10/keyedit.c:4416
+#: g10/keyedit.c:4417
 #, c-format
 msgid "User ID \"%s\" compacted: %s\n"
 msgstr "Användaridentiteten \"%s\" komprimerad: %s\n"
 
-#: g10/keyedit.c:4422
+#: g10/keyedit.c:4423
 #, fuzzy, c-format
 #| msgid "User ID \"%s\": %d signature removed\n"
 msgid "User ID \"%s\": %d signature removed\n"
@@ -5111,17 +5129,17 @@ msgid_plural "User ID \"%s\": %d signatures removed\n"
 msgstr[0] "Användaridentitet \"%s\": %d signaturer borttagna\n"
 msgstr[1] "Användaridentitet \"%s\": %d signaturer borttagna\n"
 
-#: g10/keyedit.c:4430
+#: g10/keyedit.c:4431
 #, c-format
 msgid "User ID \"%s\": already minimized\n"
 msgstr "Användaridentitet \"%s\": redan minimerad\n"
 
-#: g10/keyedit.c:4431
+#: g10/keyedit.c:4432
 #, c-format
 msgid "User ID \"%s\": already clean\n"
 msgstr "Användaridentitet \"%s\": redan rensad\n"
 
-#: g10/keyedit.c:4500
+#: g10/keyedit.c:4501
 msgid ""
 "WARNING: This is a PGP 2.x-style key.  Adding a designated revoker may "
 "cause\n"
@@ -5131,42 +5149,42 @@ msgstr ""
 "denna\n"
 "         nyckel inte användas i vissa versioner av PGP.\n"
 
-#: g10/keyedit.c:4511
+#: g10/keyedit.c:4512
 msgid "You may not add a designated revoker to a PGP 2.x-style key.\n"
 msgstr "Du får inte lägga till en spärrnyckel för en PGP 2.x-nyckel.\n"
 
-#: g10/keyedit.c:4528
+#: g10/keyedit.c:4529
 msgid "Enter the user ID of the designated revoker: "
 msgstr "Ange användaridentiteten för spärrnyckeln: "
 
-#: g10/keyedit.c:4554
+#: g10/keyedit.c:4555
 #, c-format
 msgid "cannot appoint a PGP 2.x style key as a designated revoker\n"
 msgstr "det går inte att använda en PGP 2.x-nyckel som spärrnyckel\n"
 
-#: g10/keyedit.c:4569
+#: g10/keyedit.c:4570
 #, c-format
 msgid "you cannot appoint a key as its own designated revoker\n"
 msgstr "du kan inte ange en nyckel som sin egen spärrnyckel\n"
 
-#: g10/keyedit.c:4591
+#: g10/keyedit.c:4592
 #, c-format
 msgid "this key has already been designated as a revoker\n"
 msgstr "den här nyckeln har redan markerats som en spärrnyckel\n"
 
-#: g10/keyedit.c:4609
+#: g10/keyedit.c:4610
 msgid "WARNING: appointing a key as a designated revoker cannot be undone!\n"
 msgstr "VARNING: det går aldrig att ångra om du utser en spärrnyckel!\n"
 
 # designated = angiven (utnämnd, utpekad, bestämd, utsedd, avsedd, angiven, designerad)
-#: g10/keyedit.c:4615
+#: g10/keyedit.c:4616
 msgid ""
 "Are you sure you want to appoint this key as a designated revoker? (y/N) "
 msgstr ""
 "Är du säker på att du vill använda den här nyckeln för spärrning? (j/N) "
 
 # designated = angiven (utnämnd, utpekad, bestämd, utsedd, avsedd, angiven, designerad)
-#: g10/keyedit.c:4683
+#: g10/keyedit.c:4684
 #, fuzzy
 #| msgid ""
 #| "Are you sure you want to appoint this key as a designated revoker? (y/N) "
@@ -5176,183 +5194,183 @@ msgid ""
 msgstr ""
 "Är du säker på att du vill använda den här nyckeln för spärrning? (j/N) "
 
-#: g10/keyedit.c:4688
+#: g10/keyedit.c:4689
 msgid "Changing expiration time for a subkey.\n"
 msgstr "Ändrar utgångstid för en undernyckel.\n"
 
-#: g10/keyedit.c:4691
+#: g10/keyedit.c:4692
 msgid "Changing expiration time for the primary key.\n"
 msgstr "Ändrar giltighetstid för den primära nyckeln.\n"
 
-#: g10/keyedit.c:4747
+#: g10/keyedit.c:4748
 #, c-format
 msgid "You can't change the expiration date of a v3 key\n"
 msgstr "Du kan inte ändra giltighetsdatum för en v3-nyckel\n"
 
-#: g10/keyedit.c:4807
+#: g10/keyedit.c:4808
 #, fuzzy
 #| msgid "Changing expiration time for a subkey.\n"
 msgid "Changing usage of a subkey.\n"
 msgstr "Ändrar utgångstid för en undernyckel.\n"
 
-#: g10/keyedit.c:4810
+#: g10/keyedit.c:4811
 #, fuzzy
 #| msgid "Changing expiration time for the primary key.\n"
 msgid "Changing usage of the primary key.\n"
 msgstr "Ändrar giltighetstid för den primära nyckeln.\n"
 
 # Vad betyder det?
-#: g10/keyedit.c:4928
+#: g10/keyedit.c:4929
 #, c-format
 msgid "signing subkey %s is already cross-certified\n"
 msgstr "signeringsundernyckeln %s är redan korscertifierad\n"
 
-#: g10/keyedit.c:4934
+#: g10/keyedit.c:4935
 #, c-format
 msgid "subkey %s does not sign and so does not need to be cross-certified\n"
 msgstr "undernyckeln %s signerar inte och behöver inte korscertifieras\n"
 
-#: g10/keyedit.c:5051
+#: g10/keyedit.c:5052
 msgid "Please select exactly one user ID.\n"
 msgstr "Välj endast en användaridentitet.\n"
 
-#: g10/keyedit.c:5092 g10/keyedit.c:5206 g10/keyedit.c:5319 g10/keyedit.c:5457
+#: g10/keyedit.c:5093 g10/keyedit.c:5207 g10/keyedit.c:5320 g10/keyedit.c:5458
 #, c-format
 msgid "skipping v3 self-signature on user ID \"%s\"\n"
 msgstr "hoppar över v3-självsignatur på användaridentiteten \"%s\"\n"
 
-#: g10/keyedit.c:5263
+#: g10/keyedit.c:5264
 msgid "Enter your preferred keyserver URL: "
 msgstr "Ange din föredragna nyckelserver-url: "
 
 # Obs! Syftar på bildfilen med ditt foto. Meddelandet visas om du valt en mycket stor fil.
-#: g10/keyedit.c:5342
+#: g10/keyedit.c:5343
 msgid "Are you sure you want to replace it? (y/N) "
 msgstr "Är du säker på att du vill ersätta det? (j/N) "
 
 # Obs! Syftar på bildfilen med ditt foto. Meddelandet visas om du valt en mycket stor fil.
-#: g10/keyedit.c:5343
+#: g10/keyedit.c:5344
 msgid "Are you sure you want to delete it? (y/N) "
 msgstr "Är du säker på att du vill ta bort det? (j/N) "
 
-#: g10/keyedit.c:5403
+#: g10/keyedit.c:5404
 msgid "Enter the notation: "
 msgstr "Ange notationen: "
 
-#: g10/keyedit.c:5550
+#: g10/keyedit.c:5551
 msgid "Proceed? (y/N) "
 msgstr "Fortsätt? (j/N) "
 
-#: g10/keyedit.c:5620
+#: g10/keyedit.c:5621
 #, c-format
 msgid "No user ID with index %d\n"
 msgstr "Ingen användaridentitet med indexet %d\n"
 
-#: g10/keyedit.c:5682
+#: g10/keyedit.c:5683
 #, c-format
 msgid "No user ID with hash %s\n"
 msgstr "Ingen användaridentitet med hashen %s\n"
 
-#: g10/keyedit.c:5783
+#: g10/keyedit.c:5784
 #, fuzzy, c-format
 #| msgid "No subkey with index %d\n"
 msgid "No subkey with key ID '%s'.\n"
 msgstr "Ingen undernyckel med indexet %d\n"
 
-#: g10/keyedit.c:5805
+#: g10/keyedit.c:5806
 #, c-format
 msgid "No subkey with index %d\n"
 msgstr "Ingen undernyckel med indexet %d\n"
 
-#: g10/keyedit.c:5946
+#: g10/keyedit.c:5947
 #, c-format
 msgid "user ID: \"%s\"\n"
 msgstr "användaridentitet: \"%s\"\n"
 
-#: g10/keyedit.c:5949 g10/keyedit.c:6051 g10/keyedit.c:6099
+#: g10/keyedit.c:5950 g10/keyedit.c:6052 g10/keyedit.c:6100
 #, c-format
 msgid "signed by your key %s on %s%s%s\n"
 msgstr "signerat av din nyckel %s den %s%s%s\n"
 
-#: g10/keyedit.c:5951 g10/keyedit.c:6053 g10/keyedit.c:6101
+#: g10/keyedit.c:5952 g10/keyedit.c:6054 g10/keyedit.c:6102
 msgid " (non-exportable)"
 msgstr "  (icke exporterbar)"
 
-#: g10/keyedit.c:5955
+#: g10/keyedit.c:5956
 #, c-format
 msgid "This signature expired on %s.\n"
 msgstr "Denna signatur gick ut den %s.\n"
 
 # nyckel? signatur?
-#: g10/keyedit.c:5960
+#: g10/keyedit.c:5961
 msgid "Are you sure you still want to revoke it? (y/N) "
 msgstr "Är du säker på att du fortfarande vill spärra den? (j/N)"
 
-#: g10/keyedit.c:5965
+#: g10/keyedit.c:5966
 msgid "Create a revocation certificate for this signature? (y/N) "
 msgstr "Vill du skapa ett spärrcertifikat för denna signatur? (j/N)"
 
-#: g10/keyedit.c:6025
+#: g10/keyedit.c:6026
 #, c-format
 msgid "You have signed these user IDs on key %s:\n"
 msgstr "Du har signerat följande användaridentiteter med nyckeln %s:\n"
 
-#: g10/keyedit.c:6054
+#: g10/keyedit.c:6055
 msgid " (non-revocable)"
 msgstr " (inte spärrbar)"
 
-#: g10/keyedit.c:6061
+#: g10/keyedit.c:6062
 #, c-format
 msgid "revoked by your key %s on %s\n"
 msgstr "spärrad av din nyckel %s den %s\n"
 
-#: g10/keyedit.c:6086
+#: g10/keyedit.c:6087
 msgid "You are about to revoke these signatures:\n"
 msgstr "Du är på väg att spärra dessa signaturer:\n"
 
-#: g10/keyedit.c:6109
+#: g10/keyedit.c:6110
 msgid "Really create the revocation certificates? (y/N) "
 msgstr "Vill du verkligen skapa spärrcertifikatet? (j/N) "
 
-#: g10/keyedit.c:6142
+#: g10/keyedit.c:6143
 #, c-format
 msgid "no secret key\n"
 msgstr "ingen hemlig nyckel\n"
 
-#: g10/keyedit.c:6190
+#: g10/keyedit.c:6191
 #, c-format
 msgid "tried to revoke a non-user ID: %s\n"
 msgstr ""
 
-#: g10/keyedit.c:6200
+#: g10/keyedit.c:6201
 #, c-format
 msgid "user ID \"%s\" is already revoked\n"
 msgstr "användaridentiteten \"%s\" är redan spärrad\n"
 
-#: g10/keyedit.c:6217
+#: g10/keyedit.c:6218
 #, c-format
 msgid "WARNING: a user ID signature is dated %d seconds in the future\n"
 msgstr ""
 "VARNING: en signatur på en användaridentitet är daterad %d sekunder in i "
 "framtiden\n"
 
-#: g10/keyedit.c:6313
+#: g10/keyedit.c:6314
 #, fuzzy, c-format
 #| msgid "You can't delete the last user ID!\n"
 msgid "Cannot revoke the last valid user ID.\n"
 msgstr "Du kan inte ta bort den sista användaridentiteten!\n"
 
-#: g10/keyedit.c:6351
+#: g10/keyedit.c:6352
 #, c-format
 msgid "Key %s is already revoked.\n"
 msgstr "Nyckeln %s är redan spärrad.\n"
 
-#: g10/keyedit.c:6413
+#: g10/keyedit.c:6414
 #, c-format
 msgid "Subkey %s is already revoked.\n"
 msgstr "Undernyckeln %s är redan spärrad.\n"
 
-#: g10/keyedit.c:6510
+#: g10/keyedit.c:6511
 #, c-format
 msgid "Displaying %s photo ID of size %ld for key %s (uid %d)\n"
 msgstr "Visar %s foto-id med storleken %ld för nyckeln %s (uid %d)\n"
@@ -6102,25 +6120,25 @@ msgstr "respektera föredragen nyckelserver-url inställd i nyckeln"
 msgid "honor the PKA record set on a key when retrieving keys"
 msgstr "respektera PKA-posten inställd på en nyckel när nycklar hämtas"
 
-#: g10/keyserver.c:550
+#: g10/keyserver.c:373
 msgid "disabled"
 msgstr "inaktiverad"
 
-#: g10/keyserver.c:754
+#: g10/keyserver.c:577
 msgid "Enter number(s), N)ext, or Q)uit > "
 msgstr "Ange nummer, N)ästa, eller Q) för Avsluta > "
 
-#: g10/keyserver.c:860
+#: g10/keyserver.c:683
 #, c-format
 msgid "invalid keyserver protocol (us %d!=handler %d)\n"
 msgstr "ogiltigt nyckelserverprotokoll (vi %d!=hanterare %d)\n"
 
-#: g10/keyserver.c:1001 g10/keyserver.c:1116
+#: g10/keyserver.c:824 g10/keyserver.c:939
 #, c-format
 msgid "\"%s\" not a key ID: skipping\n"
 msgstr "\"%s\" inte ett nyckel-id: hoppar över\n"
 
-#: g10/keyserver.c:1438 g10/keyserver.c:1471
+#: g10/keyserver.c:1237 g10/keyserver.c:1270
 #, fuzzy, c-format
 #| msgid "refreshing %d keys from %s\n"
 msgid "refreshing %d key from %s\n"
@@ -6128,54 +6146,49 @@ msgid_plural "refreshing %d keys from %s\n"
 msgstr[0] "uppdaterar %d nycklar från %s\n"
 msgstr[1] "uppdaterar %d nycklar från %s\n"
 
-#: g10/keyserver.c:1445
+#: g10/keyserver.c:1244
 #, c-format
 msgid "WARNING: unable to refresh key %s via %s: %s\n"
 msgstr "VARNING: kunde inte uppdatera nyckeln %s via %s: %s\n"
 
-#: g10/keyserver.c:1549
+#: g10/keyserver.c:1336
 #, c-format
 msgid "key \"%s\" not found on keyserver\n"
 msgstr "nyckeln \"%s\" hittades inte på nyckelservern\n"
 
-#: g10/keyserver.c:1552
+#: g10/keyserver.c:1339
 #, c-format
 msgid "key not found on keyserver\n"
 msgstr "nyckeln hittades inte på nyckelservern\n"
 
-#: g10/keyserver.c:1743
-#, c-format
-msgid "requesting key %s from %s server %s\n"
-msgstr "begär nyckeln %s från %s-servern %s\n"
-
-#: g10/keyserver.c:1747
+#: g10/keyserver.c:1504
 #, c-format
 msgid "requesting key %s from %s\n"
 msgstr "begär nyckeln %s från %s\n"
 
-#: g10/keyserver.c:1852 g10/keyserver.c:2031
+#: g10/keyserver.c:1619 g10/keyserver.c:1798
 #, fuzzy, c-format
 #| msgid "no keyserver action!\n"
 msgid "no keyserver known\n"
 msgstr "ingen nyckelserveråtgärd!\n"
 
-#: g10/keyserver.c:1867 g10/skclist.c:214 g10/skclist.c:242
+#: g10/keyserver.c:1634 g10/skclist.c:215 g10/skclist.c:243
 #, c-format
 msgid "skipped \"%s\": %s\n"
 msgstr "hoppade över \"%s\": %s\n"
 
-#: g10/keyserver.c:1871
+#: g10/keyserver.c:1638
 #, c-format
 msgid "sending key %s to %s\n"
 msgstr "skickar nyckeln %s till %s\n"
 
-#: g10/keyserver.c:1912
+#: g10/keyserver.c:1679
 #, fuzzy, c-format
 #| msgid "requesting key %s from %s\n"
 msgid "requesting key from '%s'\n"
 msgstr "begär nyckeln %s från %s\n"
 
-#: g10/keyserver.c:1928
+#: g10/keyserver.c:1695
 #, c-format
 msgid "WARNING: unable to fetch URI %s: %s\n"
 msgstr "VARNING: kunde inte hämta uri:n %s: %s\n"
@@ -6190,64 +6203,64 @@ msgstr "egendomlig storlek på en krypterad sessionsnyckel (%d)\n"
 msgid "%s encrypted session key\n"
 msgstr "%s krypterad sessionsnyckel\n"
 
-#: g10/mainproc.c:400
+#: g10/mainproc.c:403
 #, c-format
 msgid "passphrase generated with unknown digest algorithm %d\n"
 msgstr "lösenfras genererad med okänd sammandragsalgoritm %d\n"
 
-#: g10/mainproc.c:481
+#: g10/mainproc.c:485
 #, c-format
 msgid "public key is %s\n"
 msgstr "publik nyckel är %s\n"
 
 # Men jag ändrade så det blev närmare originalet. Per
-#: g10/mainproc.c:557
+#: g10/mainproc.c:561
 #, c-format
 msgid "public key encrypted data: good DEK\n"
 msgstr "Data krypterat med publik nyckel: korrekt DEK\n"
 
-#: g10/mainproc.c:590
+#: g10/mainproc.c:594
 #, c-format
 msgid "encrypted with %u-bit %s key, ID %s, created %s\n"
 msgstr "krypterad med %u-bitars %s-nyckel, id %s, skapad %s\n"
 
-#: g10/mainproc.c:594 g10/pkclist.c:228
+#: g10/mainproc.c:598 g10/pkclist.c:228
 #, c-format
 msgid "      \"%s\"\n"
 msgstr "      \"%s\"\n"
 
-#: g10/mainproc.c:598
+#: g10/mainproc.c:602
 #, c-format
 msgid "encrypted with %s key, ID %s\n"
 msgstr "krypterad med %s-nyckel, id %s\n"
 
 # Motsatsen till kryptering med symmetrisk nyckel.
-#: g10/mainproc.c:619
+#: g10/mainproc.c:623
 #, c-format
 msgid "public key decryption failed: %s\n"
 msgstr "dekryptering med publik nyckel misslyckades: %s\n"
 
-#: g10/mainproc.c:641 g10/mainproc.c:970
+#: g10/mainproc.c:645 g10/mainproc.c:976
 #, c-format
 msgid "WARNING: multiple plaintexts seen\n"
 msgstr "VARNING: multipla klartexter har påträffats\n"
 
-#: g10/mainproc.c:649
+#: g10/mainproc.c:653
 #, c-format
 msgid "encrypted with %lu passphrases\n"
 msgstr "krypterad med %lu lösenfraser\n"
 
-#: g10/mainproc.c:651
+#: g10/mainproc.c:655
 #, c-format
 msgid "encrypted with 1 passphrase\n"
 msgstr "krypterad med with 1 lösenfras\n"
 
-#: g10/mainproc.c:685 g10/mainproc.c:706
+#: g10/mainproc.c:689 g10/mainproc.c:710
 #, c-format
 msgid "assuming %s encrypted data\n"
 msgstr "antar att %s krypterade data\n"
 
-#: g10/mainproc.c:692
+#: g10/mainproc.c:696
 #, c-format
 msgid "IDEA cipher unavailable, optimistically attempting to use %s instead\n"
 msgstr ""
@@ -6255,191 +6268,191 @@ msgstr ""
 "istället\n"
 
 # Äldre krypteringalgoritmer skapar ingen mdc dvs. "minisignatur" som skyddar mot att delar av den krypterade texten byts ut/tas bort. Alla nya 128-bitars algoritmer använder mdc: AES, AES192, AES256, BLOWFISH.
-#: g10/mainproc.c:779 g10/mainproc.c:817
+#: g10/mainproc.c:785 g10/mainproc.c:823
 #, c-format
 msgid "WARNING: message was not integrity protected\n"
 msgstr "VARNING: detta meddelande var inte integritetsskyddat\n"
 
-#: g10/mainproc.c:790
+#: g10/mainproc.c:796
 msgid ""
 "Hint: If this message was created before the year 2003 it is\n"
 "likely that this message is legitimate.  This is because back\n"
 "then integrity protection was not widely used.\n"
 msgstr ""
 
-#: g10/mainproc.c:793
+#: g10/mainproc.c:799
 #, c-format
 msgid "Use the option '%s' to decrypt anyway.\n"
 msgstr ""
 
-#: g10/mainproc.c:798
+#: g10/mainproc.c:804
 #, fuzzy, c-format
 #| msgid "decryption failed: %s\n"
 msgid "decryption forced to fail!\n"
 msgstr "dekrypteringen misslyckades: %s\n"
 
-#: g10/mainproc.c:810
+#: g10/mainproc.c:816
 #, c-format
 msgid "decryption okay\n"
 msgstr "dekrypteringen lyckades\n"
 
 # Meddelandet innebär alltså att kontrollen av mdc visade att meddelandet förändrats/manipulerats sedan det krypterades. Block kan ha tagits bort eller bytts ut.
-#: g10/mainproc.c:823
+#: g10/mainproc.c:829
 #, c-format
 msgid "WARNING: encrypted message has been manipulated!\n"
 msgstr "VARNING: det krypterade meddelandet har ändrats!\n"
 
-#: g10/mainproc.c:841
+#: g10/mainproc.c:847
 #, c-format
 msgid "decryption failed: %s\n"
 msgstr "dekrypteringen misslyckades: %s\n"
 
-#: g10/mainproc.c:886
+#: g10/mainproc.c:892
 #, fuzzy, c-format
 #| msgid "NOTE: sender requested \"for-your-eyes-only\"\n"
 msgid "Note: sender requested \"for-your-eyes-only\"\n"
 msgstr "OBS: avsändaren begärde \"endast-för-dina-ögon\"\n"
 
-#: g10/mainproc.c:893
+#: g10/mainproc.c:899
 #, c-format
 msgid "original file name='%.*s'\n"
 msgstr "ursprungligt filnamn=\"%.*s\"\n"
 
-#: g10/mainproc.c:1148
+#: g10/mainproc.c:1154
 #, c-format
 msgid "standalone revocation - use \"gpg --import\" to apply\n"
 msgstr ""
 "fristående spärrcertifikat - använd \"gpg --import\" för\n"
 "att verkställa\n"
 
-#: g10/mainproc.c:1452 g10/mainproc.c:1495
+#: g10/mainproc.c:1458 g10/mainproc.c:1501
 #, c-format
 msgid "no signature found\n"
 msgstr "ingen signatur hittades\n"
 
-#: g10/mainproc.c:1852
+#: g10/mainproc.c:1858
 #, c-format
 msgid "BAD signature from \"%s\""
 msgstr "FELAKTIG signatur från \"%s\""
 
-#: g10/mainproc.c:1854
+#: g10/mainproc.c:1860
 #, c-format
 msgid "Expired signature from \"%s\""
 msgstr "Utgången signatur från \"%s\""
 
-#: g10/mainproc.c:1856
+#: g10/mainproc.c:1862
 #, c-format
 msgid "Good signature from \"%s\""
 msgstr "Korrekt signatur från \"%s\""
 
-#: g10/mainproc.c:1876
+#: g10/mainproc.c:1882
 #, c-format
 msgid "signature verification suppressed\n"
 msgstr "signaturvalidering utlämnad\n"
 
-#: g10/mainproc.c:1985
+#: g10/mainproc.c:1991
 #, c-format
 msgid "can't handle this ambiguous signature data\n"
 msgstr "kan inte hantera detta tvetydliga signaturdata\n"
 
-#: g10/mainproc.c:2001 g10/mainproc.c:2008
+#: g10/mainproc.c:2007 g10/mainproc.c:2014
 #, c-format
 msgid "Signature made %s\n"
 msgstr "Signatur gjord %s\n"
 
-#: g10/mainproc.c:2002 g10/mainproc.c:2009 sm/verify.c:476
+#: g10/mainproc.c:2008 g10/mainproc.c:2015 sm/verify.c:476
 #, c-format
 msgid "               using %s key %s\n"
 msgstr "             med %s-nyckeln %s\n"
 
-#: g10/mainproc.c:2013
+#: g10/mainproc.c:2019
 #, c-format
 msgid "Signature made %s using %s key ID %s\n"
 msgstr "Signatur gjordes %s med %s nyckel-id %s\n"
 
-#: g10/mainproc.c:2019
+#: g10/mainproc.c:2025
 #, fuzzy, c-format
 #| msgid "                aka \"%s\""
 msgid "               issuer \"%s\"\n"
 msgstr "      även känd som \"%s\""
 
-#: g10/mainproc.c:2070
+#: g10/mainproc.c:2076
 #, c-format
 msgid "Key available at: "
 msgstr "Nyckeln tillgänglig hos: "
 
-#: g10/mainproc.c:2111
+#: g10/mainproc.c:2118
 #, c-format
 msgid "Note: Use '%s' to make use of this info\n"
 msgstr ""
 
 # Visas vid ogiltig signatur:
 # Eftersom signaturen är ogiltig kan man inte vara säker på att angivet namn och nyckel-id är riktigt.
-#: g10/mainproc.c:2325
+#: g10/mainproc.c:2334
 msgid "[uncertain]"
 msgstr "[osäkert]"
 
-#: g10/mainproc.c:2363
+#: g10/mainproc.c:2372
 #, c-format
 msgid "                aka \"%s\""
 msgstr "      även känd som \"%s\""
 
-#: g10/mainproc.c:2438
+#: g10/mainproc.c:2447
 #, fuzzy, c-format
 #| msgid "WARNING: This key is not certified with a trusted signature!\n"
 msgid "WARNING: This key is not suitable for signing in %s mode\n"
 msgstr "VARNING: Denna nyckel är inte certifierad med en pålitlig signatur!\n"
 
-#: g10/mainproc.c:2456
+#: g10/mainproc.c:2465
 #, c-format
 msgid "Signature expired %s\n"
 msgstr "Giltighetstiden för signaturen har upphört %s\n"
 
-#: g10/mainproc.c:2460
+#: g10/mainproc.c:2469
 #, c-format
 msgid "Signature expires %s\n"
 msgstr "Giltighetstiden för signaturen går ut %s\n"
 
-#: g10/mainproc.c:2471
+#: g10/mainproc.c:2480
 #, fuzzy, c-format
 #| msgid "%s signature, digest algorithm %s\n"
 msgid "%s signature, digest algorithm %s%s%s\n"
 msgstr "%s signatur, sammandragsalgoritm %s\n"
 
-#: g10/mainproc.c:2472
+#: g10/mainproc.c:2481
 msgid "binary"
 msgstr "binär"
 
-#: g10/mainproc.c:2473
+#: g10/mainproc.c:2482
 msgid "textmode"
 msgstr "textläge"
 
-#: g10/mainproc.c:2473 g10/trust.c:123 dirmngr/ocsp.c:792
+#: g10/mainproc.c:2482 g10/trust.c:123 dirmngr/ocsp.c:792
 msgid "unknown"
 msgstr "okänd"
 
-#: g10/mainproc.c:2475
+#: g10/mainproc.c:2484
 #, fuzzy
 #| msgid "algorithm: %s"
 msgid ", key algorithm "
 msgstr "algoritm: %s"
 
-#: g10/mainproc.c:2510
+#: g10/mainproc.c:2519
 #, c-format
 msgid "WARNING: not a detached signature; file '%s' was NOT verified!\n"
 msgstr ""
 
-#: g10/mainproc.c:2548
+#: g10/mainproc.c:2558
 #, c-format
 msgid "Can't check signature: %s\n"
 msgstr "Kan inte kontrollera signaturen: %s\n"
 
-#: g10/mainproc.c:2644 g10/mainproc.c:2663 g10/mainproc.c:2787
+#: g10/mainproc.c:2654 g10/mainproc.c:2673 g10/mainproc.c:2797
 #, c-format
 msgid "not a detached signature\n"
 msgstr "detta är inte någon signatur i en separat fil\n"
 
-#: g10/mainproc.c:2697
+#: g10/mainproc.c:2707
 #, c-format
 msgid ""
 "WARNING: multiple signatures detected.  Only the first will be checked.\n"
@@ -6447,12 +6460,12 @@ msgstr ""
 "VARNING: multipla signaturer upptäckta. Endast den första kommer att "
 "kontrolleras.\n"
 
-#: g10/mainproc.c:2706
+#: g10/mainproc.c:2716
 #, c-format
 msgid "standalone signature of class 0x%02x\n"
 msgstr "fristående signatur av klassen 0x%02x\n"
 
-#: g10/mainproc.c:2791
+#: g10/mainproc.c:2801
 #, c-format
 msgid "old style (PGP 2.x) signature\n"
 msgstr "signatur av den gamla (PGP 2.x) typen\n"
@@ -6644,62 +6657,68 @@ msgstr "Kritisk signaturnotation: "
 msgid "subpacket of type %d has critical bit set\n"
 msgstr "underpaket av typen %d har den bit satt som markerar den som kritisk\n"
 
-#: g10/passphrase.c:73 g10/passphrase.c:275 g10/passphrase.c:308
+#: g10/passphrase.c:73 g10/passphrase.c:283 g10/passphrase.c:316
 #, c-format
 msgid "problem with the agent: %s\n"
 msgstr "problem med agenten: %s\n"
 
-#: g10/passphrase.c:258
+#: g10/passphrase.c:251 sm/decrypt.c:341
+#, fuzzy
+#| msgid "Please enter the new passphrase"
+msgid "Please enter the passphrase for decryption."
+msgstr "Ange den nya lösenfrasen"
+
+#: g10/passphrase.c:253
 msgid "Enter passphrase\n"
 msgstr "Ange lösenfrasen\n"
 
-#: g10/passphrase.c:269
+#: g10/passphrase.c:277
 #, c-format
 msgid "cancelled by user\n"
 msgstr "avbruten av användaren\n"
 
-#: g10/passphrase.c:510
+#: g10/passphrase.c:523
 #, c-format
 msgid " (main key ID %s)"
 msgstr " (primära nyckelns id %s)"
 
-#: g10/passphrase.c:517
+#: g10/passphrase.c:530
 #, fuzzy
 #| msgid "Please enter the passphrase to unprotect the PKCS#12 object."
 msgid "Please enter the passphrase to unlock the OpenPGP secret key:"
 msgstr "Ange lösenfrasen för att avskydda PKCS#12-objektet."
 
-#: g10/passphrase.c:521
+#: g10/passphrase.c:534
 #, fuzzy
 #| msgid "Please enter the passphrase to protect the new PKCS#12 object."
 msgid "Please enter the passphrase to import the OpenPGP secret key:"
 msgstr "Ange lösenfrasen för att skydda det nya PKCS#12-objektet."
 
-#: g10/passphrase.c:526
+#: g10/passphrase.c:539
 #, fuzzy
 #| msgid "Please enter the passphrase to protect the new PKCS#12 object."
 msgid "Please enter the passphrase to export the OpenPGP secret subkey:"
 msgstr "Ange lösenfrasen för att skydda det nya PKCS#12-objektet."
 
-#: g10/passphrase.c:529
+#: g10/passphrase.c:542
 #, fuzzy
 #| msgid "Please enter the passphrase to protect the new PKCS#12 object."
 msgid "Please enter the passphrase to export the OpenPGP secret key:"
 msgstr "Ange lösenfrasen för att skydda det nya PKCS#12-objektet."
 
-#: g10/passphrase.c:534
+#: g10/passphrase.c:547
 #, fuzzy
 #| msgid "Do you really want to delete the selected keys? (y/N) "
 msgid "Do you really want to permanently delete the OpenPGP secret subkey key:"
 msgstr "Vill du verkligen ta bort de valda nycklarna? (j/N) "
 
-#: g10/passphrase.c:537
+#: g10/passphrase.c:550
 #, fuzzy
 #| msgid "Do you really want to delete the selected keys? (y/N) "
 msgid "Do you really want to permanently delete the OpenPGP secret key:"
 msgstr "Vill du verkligen ta bort de valda nycklarna? (j/N) "
 
-#: g10/passphrase.c:546
+#: g10/passphrase.c:559
 #, fuzzy, c-format
 #| msgid "%u-bit %s key, ID %s, created %s"
 msgid ""
@@ -6754,7 +6773,7 @@ msgstr "\"%s\" är inte en JPEG-fil\n"
 msgid "Is this photo correct (y/N/q)? "
 msgstr "Är detta foto korrekt (j/N/a)? "
 
-#: g10/photoid.c:395
+#: g10/photoid.c:399
 #, c-format
 msgid "unable to display photo ID!\n"
 msgstr "kan inte visa foto-id!\n"
@@ -7120,7 +7139,7 @@ msgstr "kan inte öppna signerat data \"%s\"\n"
 msgid "can't open signed data fd=%d: %s\n"
 msgstr "kan inte öppna signerad data fd=%d: %s\n"
 
-#: g10/pubkey-enc.c:98 g10/pubkey-enc.c:139 sm/decrypt.c:493
+#: g10/pubkey-enc.c:98 g10/pubkey-enc.c:139 sm/decrypt.c:969
 #, fuzzy, c-format
 #| msgid "certificate is not usable for encryption\n"
 msgid "key %s is not suitable for decryption in %s mode\n"
@@ -7136,29 +7155,29 @@ msgstr "anonym mottagare; provar med den hemliga nyckeln %s ...\n"
 msgid "okay, we are the anonymous recipient.\n"
 msgstr "ok, vi är den anonyma mottagaren.\n"
 
-#: g10/pubkey-enc.c:321
+#: g10/pubkey-enc.c:311
 #, c-format
 msgid "old encoding of the DEK is not supported\n"
 msgstr "gammal kodning av krypteringsnyckeln stöds inte\n"
 
-#: g10/pubkey-enc.c:349
+#: g10/pubkey-enc.c:339
 #, c-format
 msgid "cipher algorithm %d%s is unknown or disabled\n"
 msgstr "chifferalgoritmen %d%s är okänd eller inaktiverad\n"
 
-#: g10/pubkey-enc.c:393
+#: g10/pubkey-enc.c:383
 #, c-format
 msgid "WARNING: cipher algorithm %s not found in recipient preferences\n"
 msgstr ""
 "VARNING: chifferalgoritmen %s hittades inte i mottagarinställningarna\n"
 
-#: g10/pubkey-enc.c:426
+#: g10/pubkey-enc.c:416
 #, fuzzy, c-format
 #| msgid "NOTE: secret key %s expired at %s\n"
 msgid "Note: secret key %s expired at %s\n"
 msgstr "OBSERVERA: hemliga nyckeln %s gick ut %s\n"
 
-#: g10/pubkey-enc.c:433
+#: g10/pubkey-enc.c:423
 #, fuzzy, c-format
 #| msgid "NOTE: key has been revoked"
 msgid "Note: key has been revoked"
@@ -7495,7 +7514,7 @@ msgstr ""
 msgid "%s/%s signature from: \"%s\"\n"
 msgstr "%s/%s signatur från: \"%s\"\n"
 
-#: g10/sign.c:1046
+#: g10/sign.c:1045
 #, c-format
 msgid ""
 "WARNING: forcing digest algorithm %s (%d) violates recipient preferences\n"
@@ -7503,35 +7522,35 @@ msgstr ""
 "VARNING: tvinga sammandragsalgoritmen %s (%d) strider mot "
 "mottagarinställningarna\n"
 
-#: g10/sign.c:1188
+#: g10/sign.c:1187
 #, c-format
 msgid "signing:"
 msgstr "signerar:"
 
-#: g10/sign.c:1465
+#: g10/sign.c:1464
 #, c-format
 msgid "%s encryption will be used\n"
 msgstr "krypteringen %s kommer att användas\n"
 
 # Slumptalsgenerator: Random Number Generator
-#: g10/skclist.c:173 g10/skclist.c:254
+#: g10/skclist.c:174 g10/skclist.c:255
 #, c-format
 msgid "key is not flagged as insecure - can't use it with the faked RNG!\n"
 msgstr ""
 "nyckeln är inte markerad som osäker - det går inte att använda den med "
 "fejkad slumptalsgenerator!\n"
 
-#: g10/skclist.c:205
+#: g10/skclist.c:206
 #, c-format
 msgid "skipped \"%s\": duplicated\n"
 msgstr "hoppade över \"%s\": förekommer flera gånger\n"
 
-#: g10/skclist.c:224
+#: g10/skclist.c:225
 #, c-format
 msgid "skipped: secret key already present\n"
 msgstr "hoppade över: hemlig nyckel finns redan\n"
 
-#: g10/skclist.c:243
+#: g10/skclist.c:244
 msgid "this is a PGP generated Elgamal key which is not secure for signatures!"
 msgstr ""
 "det här är en PGP-genererad Elgamal-nyckel som inte är säker för signaturer!"
@@ -7589,7 +7608,7 @@ msgstr "läsfel i \"%s\":  %s\n"
 msgid "trustdb: sync failed: %s\n"
 msgstr "tillitsdatabas: synkronisering misslyckades: %s\n"
 
-#: g10/tdbio.c:144 sm/keydb.c:336
+#: g10/tdbio.c:144 sm/keydb.c:335
 #, fuzzy, c-format
 #| msgid "can't create lock for `%s'\n"
 msgid "can't create lock for '%s'\n"
@@ -8369,39 +8388,49 @@ msgstr ""
 #. TRANSLATORS: Put a \x1f right before a colon.  This can be
 #. * used by pinentry to nicely align the names and values.  Keep
 #. * the %s at the start and end of the string.
-#: scd/app-p15.c:3369 scd/app-openpgp.c:2153
+#: scd/app-p15.c:4955 scd/app-openpgp.c:2151
 #, c-format
 msgid "%sNumber\1f: %s%%0AHolder\1f: %s%s"
 msgstr ""
 
 #. TRANSLATORS: This is the number of remaining attempts to
 #. * enter a PIN.  Use %%0A (double-percent,0A) for a linefeed.
-#: scd/app-p15.c:3388 scd/app-openpgp.c:2169
+#: scd/app-p15.c:4974 scd/app-openpgp.c:2167
 #, c-format
 msgid "Remaining attempts: %d"
 msgstr ""
 
-#: scd/app-p15.c:3459 scd/app-nks.c:1110
+#: scd/app-p15.c:5053 scd/app-nks.c:1113
 msgid "||Please enter the PIN for the key to create qualified signatures."
 msgstr "||Ange PIN-koden för nyckeln att skapa kvalificerade signaturer med."
 
-#: scd/app-p15.c:3462 scd/app-nks.c:1092
+#. TRANSLATORS: Do not translate the "|A|" prefix but keep it at
+#. the start of the string.  Use %0A (single percent) for a linefeed.
+#: scd/app-p15.c:5056 scd/app-openpgp.c:2461
+msgid "|A|Please enter the Admin PIN"
+msgstr "|A|Ange administratörens PIN-kod"
+
+#: scd/app-p15.c:5058 scd/app-nks.c:1103
+msgid "|P|Please enter the PIN Unblocking Code (PUK) for the standard keys."
+msgstr "|P|Ange upplåsningskoden (PUK-kod) för standardnycklarna."
+
+#: scd/app-p15.c:5061 scd/app-nks.c:1095
 msgid "||Please enter the PIN for the standard keys."
 msgstr "||Ange PIN-koden för standardnycklarna."
 
-#: scd/app-nks.c:709 scd/app-openpgp.c:3664
+#: scd/app-nks.c:709 scd/app-openpgp.c:3663
 #, c-format
 msgid "RSA modulus missing or not of size %d bits\n"
 msgstr "RSA modulus saknas eller är inte %d bitar stor\n"
 
-#: scd/app-nks.c:717 scd/app-openpgp.c:3676
+#: scd/app-nks.c:717 scd/app-openpgp.c:3675
 #, c-format
 msgid "RSA public exponent missing or larger than %d bits\n"
 msgstr "Publik RSA-exponent saknas eller större än %d bitar\n"
 
-#: scd/app-nks.c:797 scd/app-openpgp.c:2326 scd/app-openpgp.c:2345
-#: scd/app-openpgp.c:2512 scd/app-openpgp.c:2530 scd/app-openpgp.c:2827
-#: scd/app-openpgp.c:2874 scd/app-openpgp.c:2989 scd/app-dinsig.c:303
+#: scd/app-nks.c:797 scd/app-openpgp.c:2324 scd/app-openpgp.c:2343
+#: scd/app-openpgp.c:2510 scd/app-openpgp.c:2528 scd/app-openpgp.c:2826
+#: scd/app-openpgp.c:2873 scd/app-openpgp.c:2988 scd/app-dinsig.c:302
 #, c-format
 msgid "PIN callback returned error: %s\n"
 msgstr "PIN-återanrop returnerade fel: %s\n"
@@ -8411,24 +8440,20 @@ msgstr "PIN-återanrop returnerade fel: %s\n"
 msgid "the NullPIN has not yet been changed\n"
 msgstr "NullPIN har ännu inte ändrats\n"
 
-#: scd/app-nks.c:1091
+#: scd/app-nks.c:1094
 msgid "|N|Please enter a new PIN for the standard keys."
 msgstr "|N|Ange en ny PIN-kod för standardnycklarna."
 
-#: scd/app-nks.c:1098
+#: scd/app-nks.c:1101
 msgid "|NP|Please enter a new PIN Unblocking Code (PUK) for the standard keys."
 msgstr "|NP|Ange en ny upplåsningskod (PUK-kod) för standardnycklarna."
 
-#: scd/app-nks.c:1100
-msgid "|P|Please enter the PIN Unblocking Code (PUK) for the standard keys."
-msgstr "|P|Ange upplåsningskoden (PUK-kod) för standardnycklarna."
-
-#: scd/app-nks.c:1108
+#: scd/app-nks.c:1111
 msgid "|N|Please enter a new PIN for the key to create qualified signatures."
 msgstr ""
 "|N|Ange en ny PIN-kod för nyckeln att skapa kvalificerade signaturer med."
 
-#: scd/app-nks.c:1118
+#: scd/app-nks.c:1121
 msgid ""
 "|NP|Please enter a new PIN Unblocking Code (PUK) for the key to create "
 "qualified signatures."
@@ -8436,7 +8461,7 @@ msgstr ""
 "|NP|Ange en ny upplåsningskod (PUK-kod) för nyckeln att skapa kvalificerade "
 "signaturer med."
 
-#: scd/app-nks.c:1120
+#: scd/app-nks.c:1123
 msgid ""
 "|P|Please enter the PIN Unblocking Code (PUK) for the key to create "
 "qualified signatures."
@@ -8444,48 +8469,48 @@ msgstr ""
 "|P|Ange upplåsningskoden (PUK-koden) för nyckeln att skapa kvalificerade "
 "signaturer med."
 
-#: scd/app-nks.c:1227 scd/app-openpgp.c:2908 scd/app-dinsig.c:531
+#: scd/app-nks.c:1230 scd/app-openpgp.c:2907 scd/app-dinsig.c:532
 #, c-format
 msgid "error getting new PIN: %s\n"
 msgstr "fel vid hämtning av ny PIN-kod: %s\n"
 
-#: scd/app-openpgp.c:860
+#: scd/app-openpgp.c:859
 #, c-format
 msgid "failed to store the fingerprint: %s\n"
 msgstr "misslyckades med att lagra fingeravtrycket: %s\n"
 
-#: scd/app-openpgp.c:873
+#: scd/app-openpgp.c:872
 #, c-format
 msgid "failed to store the creation date: %s\n"
 msgstr "misslyckades med att lagra datum för skapandet: %s\n"
 
-#: scd/app-openpgp.c:1272 scd/app-openpgp.c:2855 scd/app-openpgp.c:5020
+#: scd/app-openpgp.c:1268 scd/app-openpgp.c:2854 scd/app-openpgp.c:5025
 #, c-format
 msgid "error retrieving CHV status from card\n"
 msgstr "fel vid hämtning av CHV-status från kort\n"
 
-#: scd/app-openpgp.c:1430
+#: scd/app-openpgp.c:1426
 #, c-format
 msgid "response does not contain the RSA modulus\n"
 msgstr "svaret innehåller inte en RSA-modulus\n"
 
-#: scd/app-openpgp.c:1437
+#: scd/app-openpgp.c:1433
 #, c-format
 msgid "response does not contain the RSA public exponent\n"
 msgstr "svaret innehåller inte den publika RSA-exponenten\n"
 
-#: scd/app-openpgp.c:1547
+#: scd/app-openpgp.c:1543
 #, fuzzy, c-format
 #| msgid "response does not contain the RSA public exponent\n"
 msgid "response does not contain the EC public key\n"
 msgstr "svaret innehåller inte den publika RSA-exponenten\n"
 
-#: scd/app-openpgp.c:1665 scd/app-openpgp.c:4284
+#: scd/app-openpgp.c:1661 scd/app-openpgp.c:4283
 #, c-format
 msgid "response does not contain the public key data\n"
 msgstr "svaret innehåller inte publikt nyckeldata\n"
 
-#: scd/app-openpgp.c:1772
+#: scd/app-openpgp.c:1768
 #, c-format
 msgid "reading public key failed: %s\n"
 msgstr "läsning av publik nyckel misslyckades: %s\n"
@@ -8493,46 +8518,46 @@ msgstr "läsning av publik nyckel misslyckades: %s\n"
 #. TRANSLATORS: Put a \x1f right before a colon.  This can be
 #. * used by pinentry to nicely align the names and values.  Keep
 #. * the %s at the start and end of the string.
-#: scd/app-openpgp.c:2140
+#: scd/app-openpgp.c:2138
 #, c-format
 msgid "%sNumber\1f: %s%%0AHolder\1f: %s%%0ACounter\1f: %lu%s"
 msgstr ""
 
-#: scd/app-openpgp.c:2280
+#: scd/app-openpgp.c:2278
 #, c-format
 msgid "using default PIN as %s\n"
 msgstr "använder standard-PIN som %s\n"
 
-#: scd/app-openpgp.c:2287
+#: scd/app-openpgp.c:2285
 #, c-format
 msgid "failed to use default PIN as %s: %s - disabling further default use\n"
 msgstr ""
 "misslyckades med att använda standard-PIN som %s: %s - inaktiverar "
 "ytterligare standardanvändning\n"
 
-#: scd/app-openpgp.c:2300
+#: scd/app-openpgp.c:2298
 #, fuzzy
 #| msgid "||Please enter the PIN"
 msgid "||Please unlock the card"
 msgstr "||Ange PIN-koden"
 
-#: scd/app-openpgp.c:2352 scd/app-openpgp.c:2537 scd/app-openpgp.c:2834
+#: scd/app-openpgp.c:2350 scd/app-openpgp.c:2535 scd/app-openpgp.c:2833
 #, c-format
 msgid "PIN for CHV%d is too short; minimum length is %d\n"
 msgstr "PIN-kod för CHV%d är för kort; minimumlängd är %d\n"
 
-#: scd/app-openpgp.c:2366 scd/app-openpgp.c:2413 scd/app-openpgp.c:2551
-#: scd/app-openpgp.c:4642
+#: scd/app-openpgp.c:2364 scd/app-openpgp.c:2411 scd/app-openpgp.c:2549
+#: scd/app-openpgp.c:4641
 #, c-format
 msgid "verify CHV%d failed: %s\n"
 msgstr "validering av CHV%d misslyckades: %s\n"
 
-#: scd/app-openpgp.c:2449 scd/app-openpgp.c:5029
+#: scd/app-openpgp.c:2447 scd/app-openpgp.c:5034
 #, c-format
 msgid "card is permanently locked!\n"
 msgstr "kortet är låst permanent!\n"
 
-#: scd/app-openpgp.c:2453
+#: scd/app-openpgp.c:2451
 #, fuzzy, c-format
 #| msgid "%d Admin PIN attempts remaining before card is permanently locked\n"
 msgid "%d Admin PIN attempt remaining before card is permanently locked\n"
@@ -8543,26 +8568,20 @@ msgstr[0] ""
 msgstr[1] ""
 "%d försök för Admin PIN-koden återstår innan kortet låses permanent\n"
 
-#. TRANSLATORS: Do not translate the "|A|" prefix but keep it at
-#. the start of the string.  Use %0A (single percent) for a linefeed.
-#: scd/app-openpgp.c:2463
-msgid "|A|Please enter the Admin PIN"
-msgstr "|A|Ange administratörens PIN-kod"
-
-#: scd/app-openpgp.c:2484
+#: scd/app-openpgp.c:2482
 #, c-format
 msgid "access to admin commands is not configured\n"
 msgstr "åtkomst till administrationskommandon är inte konfigurerat\n"
 
-#: scd/app-openpgp.c:2821
+#: scd/app-openpgp.c:2820
 msgid "||Please enter the PIN"
 msgstr "||Ange PIN-koden"
 
-#: scd/app-openpgp.c:2870
+#: scd/app-openpgp.c:2869
 msgid "||Please enter the Reset Code for the card"
 msgstr "||Ange nollställningskoden för kortet"
 
-#: scd/app-openpgp.c:2880 scd/app-openpgp.c:2941
+#: scd/app-openpgp.c:2879 scd/app-openpgp.c:2940
 #, c-format
 msgid "Reset Code is too short; minimum length is %d\n"
 msgstr "Nollställningskoden är för kort; minimumlängd är %d\n"
@@ -8570,92 +8589,92 @@ msgstr "Nollställningskoden är för kort; minimumlängd är %d\n"
 #. TRANSLATORS: Do not translate the "|*|" prefixes but
 #. keep it at the start of the string.  We need this elsewhere
 #. to get some infos on the string.
-#: scd/app-openpgp.c:2903
+#: scd/app-openpgp.c:2902
 msgid "|RN|New Reset Code"
 msgstr "|RN|Ny nollställningskod"
 
-#: scd/app-openpgp.c:2904
+#: scd/app-openpgp.c:2903
 msgid "|AN|New Admin PIN"
 msgstr "|AN|Ny Admin PIN-kod"
 
-#: scd/app-openpgp.c:2904
+#: scd/app-openpgp.c:2903
 msgid "|N|New PIN"
 msgstr "|N|Ny PIN-kod"
 
-#: scd/app-openpgp.c:2985
+#: scd/app-openpgp.c:2984
 #, fuzzy
 #| msgid "|A|Please enter the Admin PIN"
 msgid "||Please enter the Admin PIN and New Admin PIN"
 msgstr "|A|Ange administratörens PIN-kod"
 
-#: scd/app-openpgp.c:2986
+#: scd/app-openpgp.c:2985
 #, fuzzy
 #| msgid "||Please enter the PIN"
 msgid "||Please enter the PIN and New PIN"
 msgstr "||Ange PIN-koden"
 
-#: scd/app-openpgp.c:3048 scd/app-openpgp.c:4344
+#: scd/app-openpgp.c:3047 scd/app-openpgp.c:4343
 #, c-format
 msgid "error reading application data\n"
 msgstr "fel vid läsning av programdata\n"
 
-#: scd/app-openpgp.c:3054 scd/app-openpgp.c:4351
+#: scd/app-openpgp.c:3053 scd/app-openpgp.c:4350
 #, c-format
 msgid "error reading fingerprint DO\n"
 msgstr "fel vid läsning av fingeravtryckets DO\n"
 
-#: scd/app-openpgp.c:3064
+#: scd/app-openpgp.c:3063
 #, c-format
 msgid "key already exists\n"
 msgstr "nyckeln finns redan\n"
 
-#: scd/app-openpgp.c:3068
+#: scd/app-openpgp.c:3067
 #, c-format
 msgid "existing key will be replaced\n"
 msgstr "befintlig nyckel kommer att ersättas\n"
 
-#: scd/app-openpgp.c:3070
+#: scd/app-openpgp.c:3069
 #, c-format
 msgid "generating new key\n"
 msgstr "genererar ny nyckel\n"
 
-#: scd/app-openpgp.c:3072
+#: scd/app-openpgp.c:3071
 #, c-format
 msgid "writing new key\n"
 msgstr "skriver ny nyckel\n"
 
-#: scd/app-openpgp.c:3645 scd/app-openpgp.c:3997
+#: scd/app-openpgp.c:3644 scd/app-openpgp.c:3996
 #, c-format
 msgid "creation timestamp missing\n"
 msgstr "tidsstämpel för skapandet saknas\n"
 
-#: scd/app-openpgp.c:3686 scd/app-openpgp.c:3694
+#: scd/app-openpgp.c:3685 scd/app-openpgp.c:3693
 #, c-format
 msgid "RSA prime %s missing or not of size %d bits\n"
 msgstr "RSA-primtal %s saknas eller inte %d bitar stor\n"
 
-#: scd/app-openpgp.c:3827 scd/app-openpgp.c:4104
+#: scd/app-openpgp.c:3826 scd/app-openpgp.c:4103
 #, c-format
 msgid "failed to store the key: %s\n"
 msgstr "misslyckades med att lagra nyckeln: %s\n"
 
-#: scd/app-openpgp.c:3991
+#: scd/app-openpgp.c:3990
 #, fuzzy, c-format
 #| msgid "unsupported algorithm: %s"
 msgid "unsupported curve\n"
 msgstr "algoritmen stöds inte: %s"
 
-#: scd/app-openpgp.c:4261
+#: scd/app-openpgp.c:4260
 #, c-format
 msgid "please wait while key is being generated ...\n"
 msgstr "var god vänta under tiden nyckeln genereras ...\n"
 
-#: scd/app-openpgp.c:4269
+#: scd/app-openpgp.c:4268
 #, c-format
 msgid "generating key failed\n"
 msgstr "nyckelgenereringen misslyckades\n"
 
-#: scd/app-openpgp.c:4275
+#: scd/app-openpgp.c:4274
 #, fuzzy, c-format
 #| msgid "key generation completed (%d seconds)\n"
 msgid "key generation completed (%d second)\n"
@@ -8663,27 +8682,27 @@ msgid_plural "key generation completed (%d seconds)\n"
 msgstr[0] "nyckelgenereringen är färdig (%d sekunder)\n"
 msgstr[1] "nyckelgenereringen är färdig (%d sekunder)\n"
 
-#: scd/app-openpgp.c:4309
+#: scd/app-openpgp.c:4308
 #, c-format
 msgid "invalid structure of OpenPGP card (DO 0x93)\n"
 msgstr "ogiltig struktur för OpenPGP-kort (DO 0x93)\n"
 
-#: scd/app-openpgp.c:4359
+#: scd/app-openpgp.c:4358
 #, c-format
 msgid "fingerprint on card does not match requested one\n"
 msgstr "avtrycket på kortet stämmer inte med den begärda\n"
 
-#: scd/app-openpgp.c:4558
+#: scd/app-openpgp.c:4557
 #, c-format
 msgid "card does not support digest algorithm %s\n"
 msgstr "kortet har inte stöd för sammandragsalgoritmen %s\n"
 
-#: scd/app-openpgp.c:4616
+#: scd/app-openpgp.c:4615
 #, c-format
 msgid "signatures created so far: %lu\n"
 msgstr "signaturer skapade hittills: %lu\n"
 
-#: scd/app-openpgp.c:5034
+#: scd/app-openpgp.c:5039
 #, c-format
 msgid ""
 "verification of Admin PIN is currently prohibited through this command\n"
@@ -8691,12 +8710,12 @@ msgstr ""
 "validering av Admin PIN-kod är för närvarande förbjudet genom detta "
 "kommando\n"
 
-#: scd/app-openpgp.c:5346 scd/app-openpgp.c:5357
+#: scd/app-openpgp.c:5351 scd/app-openpgp.c:5362
 #, c-format
 msgid "can't access %s - invalid OpenPGP card?\n"
 msgstr "kan inte komma åt %s - ogiltigt OpenPGP-kort?\n"
 
-#: scd/app-dinsig.c:299
+#: scd/app-dinsig.c:298
 #, fuzzy
 #| msgid "||Please enter your PIN at the reader's keypad"
 msgid "||Please enter your PIN at the reader's pinpad"
@@ -8705,7 +8724,7 @@ msgstr "||Knappa in din PIN-kod på läsarens knappsats"
 #. TRANSLATORS: Do not translate the "|*|" prefixes but
 #. keep it at the start of the string.  We need this elsewhere
 #. to get some infos on the string.
-#: scd/app-dinsig.c:528
+#: scd/app-dinsig.c:529
 msgid "|N|Initial New PIN"
 msgstr "|N|Initial PIN-kod"
 
@@ -8713,7 +8732,7 @@ msgstr "|N|Initial PIN-kod"
 msgid "run in multi server mode (foreground)"
 msgstr "kör i multiserverläge (förgrund)"
 
-#: scd/scdaemon.c:129 sm/gpgsm.c:345 dirmngr/dirmngr.c:187
+#: scd/scdaemon.c:129 sm/gpgsm.c:348 dirmngr/dirmngr.c:188
 msgid "|LEVEL|set the debugging level to LEVEL"
 msgstr "|NIVÅ|ställ in felsökningsnivån till NIVÅ"
 
@@ -8733,35 +8752,35 @@ msgstr "|NAMN|använd NAMN som ct-API-drivrutin"
 msgid "|NAME|use NAME as PC/SC driver"
 msgstr "|NAMN|använd NAMN som PC/SC-drivrutin"
 
-#: scd/scdaemon.c:145
+#: scd/scdaemon.c:146
 msgid "do not use the internal CCID driver"
 msgstr "använd inte den interna CCID-drivrutinen"
 
-#: scd/scdaemon.c:151
+#: scd/scdaemon.c:152
 msgid "|N|disconnect the card after N seconds of inactivity"
 msgstr "|N|koppla från kortet efter N sekunder inaktivitet"
 
-#: scd/scdaemon.c:154
+#: scd/scdaemon.c:155
 #, fuzzy
 #| msgid "do not use a reader's keypad"
 msgid "do not use a reader's pinpad"
 msgstr "använd inte läsarens knappsats"
 
-#: scd/scdaemon.c:159
+#: scd/scdaemon.c:160
 msgid "deny the use of admin card commands"
 msgstr "neka användning av administratörskommandon för kort"
 
-#: scd/scdaemon.c:162
+#: scd/scdaemon.c:163
 msgid "use variable length input for pinpad"
 msgstr ""
 
-#: scd/scdaemon.c:311
+#: scd/scdaemon.c:312
 #, fuzzy
 #| msgid "Usage: gpgconf [options] (-h for help)"
 msgid "Usage: @SCDAEMON@ [options] (-h for help)"
 msgstr "Användning: gpgconf [flaggor] (-h för hjälp)"
 
-#: scd/scdaemon.c:313
+#: scd/scdaemon.c:314
 #, fuzzy
 #| msgid ""
 #| "Syntax: scdaemon [options] [command [args]]\n"
@@ -8773,19 +8792,19 @@ msgstr ""
 "Syntax: scdaemon [flaggor] [kommando [argument]]\n"
 "Smartkortsdemon för GnuPG\n"
 
-#: scd/scdaemon.c:806
+#: scd/scdaemon.c:808
 #, fuzzy, c-format
 #| msgid ""
 #| "please use the option `--daemon' to run the program in the background\n"
 msgid "please use the option '--daemon' to run the program in the background\n"
 msgstr "använd flaggan \"--daemon\" för att köra programmet i bakgrunden\n"
 
-#: scd/scdaemon.c:1183 dirmngr/dirmngr.c:2082
+#: scd/scdaemon.c:1185 dirmngr/dirmngr.c:2119
 #, c-format
 msgid "handler for fd %d started\n"
 msgstr "hanterare för fd %d startad\n"
 
-#: scd/scdaemon.c:1195 dirmngr/dirmngr.c:2090
+#: scd/scdaemon.c:1197 dirmngr/dirmngr.c:2127
 #, c-format
 msgid "handler for fd %d terminated\n"
 msgstr "hanterare för fd %d avslutad\n"
@@ -8834,7 +8853,7 @@ msgstr "observera: icke-kritisk certifikatpolicy tillåts inte"
 msgid "certificate policy not allowed"
 msgstr "certifikatpolicy tillåts inte"
 
-#: sm/certchain.c:595 sm/keydb.c:1106 sm/keydb.c:1192
+#: sm/certchain.c:595 sm/keydb.c:1084 sm/keydb.c:1171
 #, c-format
 msgid "failed to get the fingerprint\n"
 msgstr "misslyckades med att få fingeravtrycket\n"
@@ -8870,8 +8889,8 @@ msgstr "antal matchande certifikat: %d\n"
 msgid "dirmngr cache-only key lookup failed: %s\n"
 msgstr "uppslag av endast-mellanlagrad dirmngr-nyckel misslyckades: %s\n"
 
-#: sm/certchain.c:1041 sm/certchain.c:1554 sm/certchain.c:2192 sm/decrypt.c:265
-#: sm/encrypt.c:344 sm/import.c:415 sm/keydb.c:1113 sm/keydb.c:1199
+#: sm/certchain.c:1041 sm/certchain.c:1554 sm/certchain.c:2192 sm/decrypt.c:728
+#: sm/encrypt.c:345 sm/import.c:415 sm/keydb.c:1091 sm/keydb.c:1178
 #: sm/sign.c:337 sm/verify.c:118
 #, c-format
 msgid "failed to allocate keyDB handle\n"
@@ -9064,13 +9083,13 @@ msgid "a %u bit hash is not valid for a %u bit %s key\n"
 msgstr "en %u-bitars hash är inte giltig för en %u-bitars %s-nyckel\n"
 
 #: sm/certcheck.c:238 sm/certcheck.c:262 dirmngr/crlcache.c:1542
-#: dirmngr/crlcache.c:1566 dirmngr/dirmngr.c:1324 dirmngr/validate.c:903
+#: dirmngr/crlcache.c:1566 dirmngr/dirmngr.c:1361 dirmngr/validate.c:903
 #: dirmngr/validate.c:927
 #, c-format
 msgid "out of core\n"
 msgstr "slut på minne\n"
 
-#: sm/certcheck.c:371 sm/verify.c:213
+#: sm/certcheck.c:370 sm/verify.c:213
 #, c-format
 msgid "(this is the MD2 algorithm)\n"
 msgstr "(det här är MD2-algoritmen)\n"
@@ -9388,23 +9407,35 @@ msgstr ""
 msgid "resource problem: out of core\n"
 msgstr "resursproblem: slut på minne\n"
 
-#: sm/decrypt.c:341
+#: sm/decrypt.c:536
+#, fuzzy, c-format
+#| msgid "%s encrypted data\n"
+msgid "%s.%s encrypted data\n"
+msgstr "%s-krypterad data\n"
+
+#: sm/decrypt.c:803
 #, c-format
 msgid "(this is the RC2 algorithm)\n"
 msgstr "(det här är RC2-algoritmen)\n"
 
-#: sm/decrypt.c:343
+#: sm/decrypt.c:805
 #, c-format
 msgid "(this does not seem to be an encrypted message)\n"
 msgstr "(det här verkar inte vara ett krypterat meddelande)\n"
 
+#: sm/decrypt.c:958
+#, fuzzy, c-format
+#| msgid "encrypted with %s key, ID %s\n"
+msgid "encrypted to %s key %s\n"
+msgstr "krypterad med %s-nyckel, id %s\n"
+
 #: sm/delete.c:51 sm/delete.c:112
 #, fuzzy, c-format
 #| msgid "certificate `%s' not found: %s\n"
 msgid "certificate '%s' not found: %s\n"
 msgstr "certifikatet \"%s\" hittades inte: %s\n"
 
-#: sm/delete.c:122 sm/keydb.c:1209 sm/keydb.c:1307
+#: sm/delete.c:122 sm/keydb.c:1189 sm/keydb.c:1288
 #, c-format
 msgid "error locking keybox: %s\n"
 msgstr "fel vid låsning av nyckelskåp: %s\n"
@@ -9426,131 +9457,131 @@ msgstr "certifikatet \"%s\" togs bort\n"
 msgid "deleting certificate \"%s\" failed: %s\n"
 msgstr "borttagning av certifikatet \"%s\" misslyckades: %s\n"
 
-#: sm/encrypt.c:330
+#: sm/encrypt.c:331
 #, c-format
 msgid "no valid recipients given\n"
 msgstr "inga giltiga mottagare angavs\n"
 
-#: sm/gpgsm.c:215
+#: sm/gpgsm.c:216
 msgid "list external keys"
 msgstr "lista externa nycklar"
 
-#: sm/gpgsm.c:217
+#: sm/gpgsm.c:218
 msgid "list certificate chain"
 msgstr "lista certifikatkedja"
 
-#: sm/gpgsm.c:225
+#: sm/gpgsm.c:226
 msgid "import certificates"
 msgstr "importera certifikat"
 
-#: sm/gpgsm.c:226
+#: sm/gpgsm.c:227
 msgid "export certificates"
 msgstr "exportera certifikat"
 
-#: sm/gpgsm.c:234
+#: sm/gpgsm.c:235
 msgid "register a smartcard"
 msgstr "registrera ett smartkort"
 
-#: sm/gpgsm.c:237
+#: sm/gpgsm.c:238
 msgid "pass a command to the dirmngr"
 msgstr "skicka ett kommando till dirmngr"
 
-#: sm/gpgsm.c:239
+#: sm/gpgsm.c:240
 msgid "invoke gpg-protect-tool"
 msgstr "starta gpg-protect-tool"
 
-#: sm/gpgsm.c:256
+#: sm/gpgsm.c:257
 msgid "create base-64 encoded output"
 msgstr "skapa base-64-kodat utdata"
 
-#: sm/gpgsm.c:265
+#: sm/gpgsm.c:266
 msgid "assume input is in PEM format"
 msgstr "anta att inmatning är i PEM-format"
 
-#: sm/gpgsm.c:267
+#: sm/gpgsm.c:268
 msgid "assume input is in base-64 format"
 msgstr "anta att inmatning är i base-64-format"
 
-#: sm/gpgsm.c:269
+#: sm/gpgsm.c:270
 msgid "assume input is in binary format"
 msgstr "anta att inmatning är i binärformat"
 
-#: sm/gpgsm.c:276
+#: sm/gpgsm.c:277
 msgid "never consult a CRL"
 msgstr "kontrollera aldrig mot spärrlista"
 
-#: sm/gpgsm.c:286
+#: sm/gpgsm.c:287
 msgid "check validity using OCSP"
 msgstr "kontrollera giltigheten med OCSP"
 
-#: sm/gpgsm.c:291
+#: sm/gpgsm.c:292
 msgid "|N|number of certificates to include"
 msgstr "|N|antal certifikat att inkludera"
 
-#: sm/gpgsm.c:294
+#: sm/gpgsm.c:295
 msgid "|FILE|take policy information from FILE"
 msgstr "|FIL|hämta policyinformation från FIL"
 
-#: sm/gpgsm.c:297
+#: sm/gpgsm.c:298
 msgid "do not check certificate policies"
 msgstr "kontrollera inte certifikatpolicier"
 
-#: sm/gpgsm.c:301
+#: sm/gpgsm.c:302
 msgid "fetch missing issuer certificates"
 msgstr "hämta saknade utfärdarcertifikat"
 
-#: sm/gpgsm.c:312
+#: sm/gpgsm.c:313
 msgid "don't use the terminal at all"
 msgstr "använd inte terminalen alls"
 
-#: sm/gpgsm.c:314
+#: sm/gpgsm.c:315
 msgid "|FILE|write a server mode log to FILE"
 msgstr "|FIL|skriv en serverlägeslogg till FIL"
 
-#: sm/gpgsm.c:319
+#: sm/gpgsm.c:320
 msgid "|FILE|write an audit log to FILE"
 msgstr "|FIL|skriv en granskningslogg till FIL"
 
-#: sm/gpgsm.c:322
+#: sm/gpgsm.c:323
 msgid "batch mode: never ask"
 msgstr "satsläge: fråga aldrig"
 
-#: sm/gpgsm.c:323
+#: sm/gpgsm.c:324
 msgid "assume yes on most questions"
 msgstr "anta ja på de flesta frågorna"
 
-#: sm/gpgsm.c:324
+#: sm/gpgsm.c:325
 msgid "assume no on most questions"
 msgstr "anta nej på de flesta frågorna"
 
-#: sm/gpgsm.c:327
+#: sm/gpgsm.c:328
 msgid "|FILE|add keyring to the list of keyrings"
 msgstr "|FIL|lägg till nyckelring till listan över nyckelringar"
 
-#: sm/gpgsm.c:330
+#: sm/gpgsm.c:331
 msgid "|USER-ID|use USER-ID as default secret key"
 msgstr "|ANVÄNDAR-ID|använd ANVÄNDAR-ID som förvald hemlig nyckel"
 
-#: sm/gpgsm.c:340 tools/gpgconf-comp.c:837
+#: sm/gpgsm.c:341 dirmngr/dirmngr.c:214 tools/gpgconf-comp.c:841
 msgid "|SPEC|use this keyserver to lookup keys"
 msgstr "|SPEC|använd denna nyckelserver för att slå upp nycklar"
 
-#: sm/gpgsm.c:357
+#: sm/gpgsm.c:360
 msgid "|NAME|use cipher algorithm NAME"
 msgstr "|NAMN|använd chifferalgoritmen NAMN"
 
-#: sm/gpgsm.c:359
+#: sm/gpgsm.c:362
 msgid "|NAME|use message digest algorithm NAME"
 msgstr "|NAMN|använd algoritmen NAMN för kontrollsummor"
 
-#: sm/gpgsm.c:570
+#: sm/gpgsm.c:573
 #, fuzzy
 #| msgid "Usage: gpg [options] [files] (-h for help)"
 msgid "Usage: @GPGSM@ [options] [files] (-h for help)"
 msgstr "Användning: gpg [flaggor] [filer] (-h för hjälp)"
 
 # Om inget kommando anges (decrypt/encrypt etc) väljs åtgärd efter indata.
-#: sm/gpgsm.c:573
+#: sm/gpgsm.c:576
 #, fuzzy
 #| msgid ""
 #| "Syntax: gpgsm [options] [files]\n"
@@ -9565,51 +9596,31 @@ msgstr ""
 "signera, kontrollera, kryptera eller dekryptera med S/MIME-protokollet\n"
 "standardåtgärden beror på inmatningsdata\n"
 
-#: sm/gpgsm.c:777
+#: sm/gpgsm.c:784
 #, fuzzy, c-format
 #| msgid "NOTE: won't be able to encrypt to `%s': %s\n"
 msgid "Note: won't be able to encrypt to '%s': %s\n"
 msgstr "OBSERVERA: kommer inte att kunna kryptera till \"%s\": %s\n"
 
-#: sm/gpgsm.c:788
+#: sm/gpgsm.c:795
 #, fuzzy, c-format
 #| msgid "unknown validation model `%s'\n"
 msgid "unknown validation model '%s'\n"
 msgstr "okänd valideringsmodell \"%s\"\n"
 
-#: sm/gpgsm.c:839 dirmngr/ldapserver.c:86
-#, c-format
-msgid "%s:%u: no hostname given\n"
-msgstr "%s:%u: inget värdnamn angivet\n"
-
-#: sm/gpgsm.c:858 dirmngr/ldapserver.c:105
-#, c-format
-msgid "%s:%u: password given without user\n"
-msgstr "%s:%u: lösenord angivet utan användare\n"
-
-#: sm/gpgsm.c:879 dirmngr/ldapserver.c:126
-#, c-format
-msgid "%s:%u: skipping this line\n"
-msgstr "%s:%u: hoppar över denna rad\n"
-
-#: sm/gpgsm.c:1449
-#, c-format
-msgid "could not parse keyserver\n"
-msgstr "kunde inte tolka nyckelserver\n"
-
-#: sm/gpgsm.c:1712
+#: sm/gpgsm.c:1612
 #, fuzzy, c-format
 #| msgid "importing common certificates `%s'\n"
 msgid "importing common certificates '%s'\n"
 msgstr "importerar vanliga certifikat \"%s\"\n"
 
-#: sm/gpgsm.c:1755
+#: sm/gpgsm.c:1655
 #, fuzzy, c-format
 #| msgid "can't sign using `%s': %s\n"
 msgid "can't sign using '%s': %s\n"
 msgstr "kan inte signera med \"%s\": %s\n"
 
-#: sm/gpgsm.c:2122
+#: sm/gpgsm.c:2028
 #, c-format
 msgid "invalid command (there is no implicit command)\n"
 msgstr "ogiltigt kommando (det finns inget implicit kommando)\n"
@@ -9629,7 +9640,7 @@ msgstr "fel vid lagring av certifikat\n"
 msgid "basic certificate checks failed - not imported\n"
 msgstr "enkla certifikatkontroller misslyckades - importeras inte\n"
 
-#: sm/import.c:472 sm/keydb.c:1229 sm/keydb.c:1319
+#: sm/import.c:472 sm/keydb.c:1209 sm/keydb.c:1300
 #, c-format
 msgid "error getting stored flags: %s\n"
 msgstr "fel vid hämtning av lagrade flaggor: %s\n"
@@ -9644,27 +9655,27 @@ msgstr "fel vid import av certifikat: %s\n"
 msgid "error reading input: %s\n"
 msgstr "fel vid läsning av indata: %s\n"
 
-#: sm/keydb.c:1148
+#: sm/keydb.c:1127
 #, c-format
 msgid "problem looking for existing certificate: %s\n"
 msgstr "problem vid sökandet efter befintligt certifikat: %s\n"
 
-#: sm/keydb.c:1160
+#: sm/keydb.c:1139
 #, c-format
 msgid "error finding writable keyDB: %s\n"
 msgstr "fel vid sökning efter skrivbar keyDB: %s\n"
 
-#: sm/keydb.c:1168
+#: sm/keydb.c:1147
 #, c-format
 msgid "error storing certificate: %s\n"
 msgstr "fel vid lagring av certifikat: %s\n"
 
-#: sm/keydb.c:1220
+#: sm/keydb.c:1200
 #, c-format
 msgid "problem re-searching certificate: %s\n"
 msgstr "problem vid ytterligare sökning efter certifikat: %s\n"
 
-#: sm/keydb.c:1241 sm/keydb.c:1330
+#: sm/keydb.c:1221 sm/keydb.c:1311
 #, c-format
 msgid "error storing flags: %s\n"
 msgstr "fel vid lagring av flaggor: %s\n"
@@ -9708,7 +9719,7 @@ msgstr ""
 "\n"
 "%s%sÄr du säker på att du vill göra det här?"
 
-#: sm/qualified.c:215 sm/verify.c:678
+#: sm/qualified.c:215 sm/verify.c:679
 #, c-format
 msgid ""
 "Note, that this software is not officially approved to create or verify such "
@@ -9760,24 +9771,24 @@ msgstr "[datum inte angivet]"
 msgid "algorithm:"
 msgstr "algoritm: %s"
 
-#: sm/verify.c:535
+#: sm/verify.c:536
 #, c-format
 msgid ""
 "invalid signature: message digest attribute does not match computed one\n"
 msgstr ""
 "ogiltig signatur: attribut för kontrollsumma matchar inte den beräknade\n"
 
-#: sm/verify.c:656
+#: sm/verify.c:657
 #, c-format
 msgid "Good signature from"
 msgstr "Korrekt signatur från"
 
-#: sm/verify.c:657
+#: sm/verify.c:658
 #, c-format
 msgid "                aka"
 msgstr "      även känd som"
 
-#: sm/verify.c:675
+#: sm/verify.c:676
 #, c-format
 msgid "This is a qualified signature\n"
 msgstr "Det här är en kvalificerad signatur\n"
@@ -10473,7 +10484,7 @@ msgid "error retrieving '%s': %s\n"
 msgstr "fel vid hämtning av \"%s\" via %s: %s\n"
 
 #: dirmngr/crlfetch.c:218 dirmngr/ldap-wrapper-ce.c:492
-#: dirmngr/ldap-wrapper.c:884 dirmngr/misc.c:573
+#: dirmngr/ldap-wrapper.c:885 dirmngr/misc.c:573
 #, fuzzy, c-format
 #| msgid "%s: error writing dir record: %s\n"
 msgid "error initializing reader object: %s\n"
@@ -10655,128 +10666,128 @@ msgstr ""
 msgid "looking up '%s'\n"
 msgstr ""
 
-#: dirmngr/dirmngr.c:170
+#: dirmngr/dirmngr.c:171
 msgid "list the contents of the CRL cache"
 msgstr ""
 
-#: dirmngr/dirmngr.c:171
+#: dirmngr/dirmngr.c:172
 #, fuzzy
 #| msgid "|FILE|run commands from FILE on startup"
 msgid "|FILE|load CRL from FILE into cache"
 msgstr "|FIL|kör kommandon från FIL vid uppstart"
 
-#: dirmngr/dirmngr.c:172
+#: dirmngr/dirmngr.c:173
 msgid "|URL|fetch a CRL from URL"
 msgstr ""
 
-#: dirmngr/dirmngr.c:173
+#: dirmngr/dirmngr.c:174
 #, fuzzy
 #| msgid "pass a command to the dirmngr"
 msgid "shutdown the dirmngr"
 msgstr "skicka ett kommando till dirmngr"
 
-#: dirmngr/dirmngr.c:174
+#: dirmngr/dirmngr.c:175
 msgid "flush the cache"
 msgstr ""
 
-#: dirmngr/dirmngr.c:190 tools/gpgconf-comp.c:522 tools/gpgconf-comp.c:741
-#: tools/gpgconf-comp.c:854 tools/gpgconf-comp.c:950
+#: dirmngr/dirmngr.c:191 tools/gpgconf-comp.c:522 tools/gpgconf-comp.c:745
+#: tools/gpgconf-comp.c:858 tools/gpgconf-comp.c:954
 msgid "|FILE|write server mode logs to FILE"
 msgstr "|FIL|skriv serverlägesloggar till FIL"
 
-#: dirmngr/dirmngr.c:191
+#: dirmngr/dirmngr.c:192
 #, fuzzy
 #| msgid "Quit without saving? (y/N) "
 msgid "run without asking a user"
 msgstr "Avsluta utan att spara? (j/N) "
 
-#: dirmngr/dirmngr.c:192
+#: dirmngr/dirmngr.c:193
 msgid "force loading of outdated CRLs"
 msgstr ""
 
-#: dirmngr/dirmngr.c:193
+#: dirmngr/dirmngr.c:194
 #, fuzzy
 #| msgid "allow PKA lookups (DNS requests)"
 msgid "allow sending OCSP requests"
 msgstr "tillåt PKA-uppslag (DNS-förfrågningar)"
 
-#: dirmngr/dirmngr.c:195
+#: dirmngr/dirmngr.c:196
 msgid "allow online software version check"
 msgstr ""
 
-#: dirmngr/dirmngr.c:196
+#: dirmngr/dirmngr.c:197
 msgid "inhibit the use of HTTP"
 msgstr ""
 
-#: dirmngr/dirmngr.c:197
+#: dirmngr/dirmngr.c:198
 msgid "inhibit the use of LDAP"
 msgstr ""
 
-#: dirmngr/dirmngr.c:199
+#: dirmngr/dirmngr.c:200
 msgid "ignore HTTP CRL distribution points"
 msgstr ""
 
-#: dirmngr/dirmngr.c:201
+#: dirmngr/dirmngr.c:202
 msgid "ignore LDAP CRL distribution points"
 msgstr ""
 
-#: dirmngr/dirmngr.c:203
+#: dirmngr/dirmngr.c:204
 msgid "ignore certificate contained OCSP service URLs"
 msgstr ""
 
-#: dirmngr/dirmngr.c:206
+#: dirmngr/dirmngr.c:207
 msgid "|URL|redirect all HTTP requests to URL"
 msgstr ""
 
-#: dirmngr/dirmngr.c:208
+#: dirmngr/dirmngr.c:209
 msgid "|HOST|use HOST for LDAP queries"
 msgstr ""
 
-#: dirmngr/dirmngr.c:210
+#: dirmngr/dirmngr.c:211
 msgid "do not use fallback hosts with --ldap-proxy"
 msgstr ""
 
-#: dirmngr/dirmngr.c:213
+#: dirmngr/dirmngr.c:216
 #, fuzzy
 #| msgid "|FILE|read options from FILE"
 msgid "|FILE|read LDAP server list from FILE"
 msgstr "|FIL|läs inställningar från FIL"
 
-#: dirmngr/dirmngr.c:215
+#: dirmngr/dirmngr.c:218
 msgid "add new servers discovered in CRL distribution points to serverlist"
 msgstr ""
 
-#: dirmngr/dirmngr.c:218 dirmngr/dirmngr_ldap.c:137
+#: dirmngr/dirmngr.c:221
 #, fuzzy
 #| msgid "|N|set maximum PIN cache lifetime to N seconds"
 msgid "|N|set LDAP timeout to N seconds"
 msgstr "|N|ställ in maximal livstid för PIN-cache till N sekunder"
 
-#: dirmngr/dirmngr.c:221
+#: dirmngr/dirmngr.c:224
 #, fuzzy
 #| msgid "|URL|use keyserver at URL"
 msgid "|URL|use OCSP responder at URL"
 msgstr "|URL| använd nyckelservern på URL"
 
-#: dirmngr/dirmngr.c:223
+#: dirmngr/dirmngr.c:226
 msgid "|FPR|OCSP response signed by FPR"
 msgstr ""
 
-#: dirmngr/dirmngr.c:229
+#: dirmngr/dirmngr.c:232
 msgid "|N|do not return more than N items in one query"
 msgstr ""
 
-#: dirmngr/dirmngr.c:234
+#: dirmngr/dirmngr.c:237
 msgid "|FILE|use the CA certificates in FILE for HKP over TLS"
 msgstr ""
 
-#: dirmngr/dirmngr.c:236
+#: dirmngr/dirmngr.c:239
 msgid "route all network traffic via Tor"
 msgstr ""
 
 # inställningar istället för flaggor?
 # Nej, här är det bruksanvisningen för kommandoraden.
-#: dirmngr/dirmngr.c:265
+#: dirmngr/dirmngr.c:268
 #, fuzzy
 #| msgid ""
 #| "@\n"
@@ -10789,13 +10800,13 @@ msgstr ""
 "@\n"
 "(Se manualsidan för en fullständig lista över alla kommandon och flaggor)\n"
 
-#: dirmngr/dirmngr.c:407
+#: dirmngr/dirmngr.c:415
 #, fuzzy
 #| msgid "Usage: gpgconf [options] (-h for help)"
 msgid "Usage: @DIRMNGR@ [options] (-h for help)"
 msgstr "Användning: gpgconf [flaggor] (-h för hjälp)"
 
-#: dirmngr/dirmngr.c:409
+#: dirmngr/dirmngr.c:417
 #, fuzzy
 #| msgid ""
 #| "Syntax: gpg-agent [options] [command [args]]\n"
@@ -10807,301 +10818,114 @@ msgstr ""
 "Syntax: gpg-agent [flaggor] [kommando [argument]]\n"
 "Hantering av hemliga nycklar för GnuPG\n"
 
-#: dirmngr/dirmngr.c:489
+#: dirmngr/dirmngr.c:497
 #, fuzzy, c-format
 #| msgid "invalid debug-level `%s' given\n"
 msgid "valid debug levels are: %s\n"
 msgstr "ogiltig debug-level \"%s\" angiven\n"
 
-#: dirmngr/dirmngr.c:575 tools/gpgconf.c:647 tools/gpgconf.c:682
+#: dirmngr/dirmngr.c:583 tools/gpgconf.c:647 tools/gpgconf.c:682
 #: tools/gpgconf.c:780
 #, fuzzy, c-format
 #| msgid "usage: gpgsm [options] "
 msgid "usage: %s [options] "
 msgstr "användning: gpgsm [flaggor] "
 
-#: dirmngr/dirmngr.c:1212
+#: dirmngr/dirmngr.c:1249
 #, fuzzy, c-format
 #| msgid "%s not allowed with %s!\n"
 msgid "colons are not allowed in the socket name\n"
 msgstr "%s är inte tillåten tillsammans med %s!\n"
 
-#: dirmngr/dirmngr.c:1444 dirmngr/server.c:1824
+#: dirmngr/dirmngr.c:1481 dirmngr/server.c:1878
 #, fuzzy, c-format
 #| msgid "renaming `%s' to `%s' failed: %s\n"
 msgid "fetching CRL from '%s' failed: %s\n"
 msgstr "namnbyte från \"%s\" till \"%s\" misslyckades: %s\n"
 
-#: dirmngr/dirmngr.c:1450 dirmngr/server.c:1830
+#: dirmngr/dirmngr.c:1487 dirmngr/server.c:1884
 #, fuzzy, c-format
 #| msgid "conversion from `%s' to `%s' failed: %s\n"
 msgid "processing CRL from '%s' failed: %s\n"
 msgstr "konvertering från \"%s\" till \"%s\" misslyckades: %s\n"
 
-#: dirmngr/dirmngr.c:1645
+#: dirmngr/dirmngr.c:1682
 #, fuzzy, c-format
 #| msgid "line too long - skipped\n"
 msgid "%s:%u: line too long - skipped\n"
 msgstr "raden är för lång - hoppades över\n"
 
-#: dirmngr/dirmngr.c:1700 dirmngr/dirmngr.c:1784
+#: dirmngr/dirmngr.c:1737 dirmngr/dirmngr.c:1821
 #, fuzzy, c-format
 #| msgid "invalid fingerprint"
 msgid "%s:%u: invalid fingerprint detected\n"
 msgstr "ogiltigt fingeravtryck"
 
-#: dirmngr/dirmngr.c:1736 dirmngr/dirmngr.c:1762 tools/gpgconf-comp.c:4191
+#: dirmngr/dirmngr.c:1773 dirmngr/dirmngr.c:1799 tools/gpgconf-comp.c:4199
 #, fuzzy, c-format
 #| msgid "read error in `%s': %s\n"
 msgid "%s:%u: read error: %s\n"
 msgstr "läsfel i \"%s\":  %s\n"
 
-#: dirmngr/dirmngr.c:1791
+#: dirmngr/dirmngr.c:1828
 #, c-format
 msgid "%s:%u: garbage at end of line ignored\n"
 msgstr ""
 
-#: dirmngr/dirmngr.c:1860
+#: dirmngr/dirmngr.c:1897
 #, c-format
 msgid "SIGHUP received - re-reading configuration and flushing caches\n"
 msgstr ""
 
-#: dirmngr/dirmngr.c:1900
+#: dirmngr/dirmngr.c:1937
 #, c-format
 msgid "SIGUSR2 received - no action defined\n"
 msgstr ""
 
-#: dirmngr/dirmngr.c:1905
+#: dirmngr/dirmngr.c:1942
 #, c-format
 msgid "SIGTERM received - shutting down ...\n"
 msgstr ""
 
-#: dirmngr/dirmngr.c:1907
+#: dirmngr/dirmngr.c:1944
 #, c-format
 msgid "SIGTERM received - still %d active connections\n"
 msgstr ""
 
-#: dirmngr/dirmngr.c:1912
+#: dirmngr/dirmngr.c:1949
 #, fuzzy, c-format
 #| msgid "not forced"
 msgid "shutdown forced\n"
 msgstr "inte tvingad"
 
-#: dirmngr/dirmngr.c:1920
+#: dirmngr/dirmngr.c:1957
 #, c-format
 msgid "SIGINT received - immediate shutdown\n"
 msgstr ""
 
-#: dirmngr/dirmngr.c:1927
+#: dirmngr/dirmngr.c:1964
 #, c-format
 msgid "signal %d received - no action defined\n"
 msgstr ""
 
-#: dirmngr/dirmngr_ldap.c:138
-msgid "return all values in a record oriented format"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:141
-msgid "|NAME|ignore host part and connect through NAME"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:142
-#, fuzzy
-#| msgid "|NAME|connect to Assuan socket NAME"
-msgid "|NAME|connect to host NAME"
-msgstr "|NAMN|anslut till Assuan-uttaget NAMN"
-
-#: dirmngr/dirmngr_ldap.c:143
-#, fuzzy
-#| msgid "|N|connect to reader at port N"
-msgid "|N|connect to port N"
-msgstr "|N|anslut till läsare på port N"
-
-#: dirmngr/dirmngr_ldap.c:144
-#, fuzzy
-#| msgid "|NAME|use NAME as default recipient"
-msgid "|NAME|use user NAME for authentication"
-msgstr "|NAMN|använd NAMN som standardmottagare"
-
-#: dirmngr/dirmngr_ldap.c:145
-msgid "|PASS|use password PASS for authentication"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:147
-msgid "take password from $DIRMNGR_LDAP_PASS"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:148
-msgid "|STRING|query DN STRING"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:149
-msgid "|STRING|use STRING as filter expression"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:150
-msgid "|STRING|return the attribute STRING"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:211
-#, fuzzy
-#| msgid "Usage: gpg [options] [files] (-h for help)"
-msgid "Usage: dirmngr_ldap [options] [URL] (-h for help)\n"
-msgstr "Användning: gpg [flaggor] [filer] (-h för hjälp)"
-
-#: dirmngr/dirmngr_ldap.c:214
-msgid ""
-"Syntax: dirmngr_ldap [options] [URL]\n"
-"Internal LDAP helper for Dirmngr\n"
-"Interface and options may change without notice\n"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:340
-#, fuzzy, c-format
-#| msgid "invalid import options\n"
-msgid "invalid port number %d\n"
-msgstr "ogiltiga importflaggor\n"
-
-#: dirmngr/dirmngr_ldap.c:456
-#, c-format
-msgid "scanning result for attribute '%s'\n"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:463 dirmngr/dirmngr_ldap.c:546
-#: dirmngr/dirmngr_ldap.c:570 dirmngr/dirmngr_ldap.c:582
-#: dirmngr/dirmngr_ldap.c:720
-#, fuzzy, c-format
-#| msgid "error writing to %s: %s\n"
-msgid "error writing to stdout: %s\n"
-msgstr "fel vid skrivning till %s: %s\n"
-
-#: dirmngr/dirmngr_ldap.c:480
-#, c-format
-msgid "          available attribute '%s'\n"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:518
-#, fuzzy, c-format
-#| msgid "certificate `%s' not found: %s\n"
-msgid "attribute '%s' not found\n"
-msgstr "certifikatet \"%s\" hittades inte: %s\n"
-
-#: dirmngr/dirmngr_ldap.c:525
-#, c-format
-msgid "found attribute '%s'\n"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:634
-#, fuzzy, c-format
-#| msgid "reading from `%s'\n"
-msgid "processing url '%s'\n"
-msgstr "läser från \"%s\"\n"
-
-#: dirmngr/dirmngr_ldap.c:636
-#, fuzzy, c-format
-#| msgid "          w/o user IDs: %lu\n"
-msgid "          user '%s'\n"
-msgstr "       utan användaridentiteter: %lu\n"
-
-#: dirmngr/dirmngr_ldap.c:638
-#, fuzzy, c-format
-#| msgid "                aka \"%s\""
-msgid "          pass '%s'\n"
-msgstr "      även känd som \"%s\""
-
-#: dirmngr/dirmngr_ldap.c:640
-#, fuzzy, c-format
-#| msgid "          w/o user IDs: %lu\n"
-msgid "          host '%s'\n"
-msgstr "       utan användaridentiteter: %lu\n"
-
-#: dirmngr/dirmngr_ldap.c:641
-#, fuzzy, c-format
-#| msgid "          not imported: %lu\n"
-msgid "          port %d\n"
-msgstr "               inte importerade: %lu\n"
-
-#: dirmngr/dirmngr_ldap.c:643
-#, fuzzy, c-format
-#| msgid "                aka \"%s\""
-msgid "            DN '%s'\n"
-msgstr "      även känd som \"%s\""
-
-#: dirmngr/dirmngr_ldap.c:645
-#, c-format
-msgid "        filter '%s'\n"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:650 dirmngr/dirmngr_ldap.c:653
-#, fuzzy, c-format
-#| msgid "                aka \"%s\""
-msgid "          attr '%s'\n"
-msgstr "      även känd som \"%s\""
-
-#: dirmngr/dirmngr_ldap.c:659
-#, fuzzy, c-format
-#| msgid "%s:%u: no hostname given\n"
-msgid "no host name in '%s'\n"
-msgstr "%s:%u: inget värdnamn angivet\n"
-
-#: dirmngr/dirmngr_ldap.c:664
-#, c-format
-msgid "no attribute given for query '%s'\n"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:670
-#, fuzzy, c-format
-#| msgid "WARNING: Using untrusted key!\n"
-msgid "WARNING: using first attribute only\n"
-msgstr "VARNING: Använder en nyckel som inte är betrodd!\n"
-
-#: dirmngr/dirmngr_ldap.c:679
-#, fuzzy, c-format
-#| msgid "renaming `%s' to `%s' failed: %s\n"
-msgid "LDAP init to '%s:%d' failed: %s\n"
-msgstr "namnbyte från \"%s\" till \"%s\" misslyckades: %s\n"
-
-#: dirmngr/dirmngr_ldap.c:702
-#, fuzzy, c-format
-#| msgid "renaming `%s' to `%s' failed: %s\n"
-msgid "binding to '%s:%d' failed: %s\n"
-msgstr "namnbyte från \"%s\" till \"%s\" misslyckades: %s\n"
-
-#: dirmngr/dirmngr_ldap.c:729
-#, fuzzy, c-format
-#| msgid "dearmoring failed: %s\n"
-msgid "searching '%s' failed: %s\n"
-msgstr "misslyckades med att ta bort ASCII-skalet: %s\n"
-
-#: dirmngr/dirmngr_ldap.c:761
-#, fuzzy, c-format
-#| msgid "`%s' is not a JPEG file\n"
-msgid "'%s' is not an LDAP URL\n"
-msgstr "\"%s\" är inte en JPEG-fil\n"
-
-#: dirmngr/dirmngr_ldap.c:767
-#, c-format
-msgid "'%s' is an invalid LDAP URL\n"
-msgstr ""
-
-#: dirmngr/http.c:1987 dirmngr/ocsp.c:255
+#: dirmngr/http.c:1993 dirmngr/ocsp.c:255
 #, fuzzy, c-format
 #| msgid "error running `%s': exit status %d\n"
 msgid "error accessing '%s': http status %u\n"
 msgstr "fel vid körning av \"%s\": avslutsstatus %d\n"
 
-#: dirmngr/http.c:3629 dirmngr/ocsp.c:229
+#: dirmngr/http.c:3644 dirmngr/ocsp.c:229
 #, c-format
 msgid "URL '%s' redirected to '%s' (%u)\n"
 msgstr ""
 
-#: dirmngr/http.c:3635 dirmngr/ocsp.c:246
+#: dirmngr/http.c:3650 dirmngr/ocsp.c:246
 #, fuzzy, c-format
 #| msgid "too many cipher preferences\n"
 msgid "too many redirections\n"
 msgstr "för många chifferinställningar\n"
 
-#: dirmngr/http.c:3747
+#: dirmngr/http.c:3762
 #, fuzzy, c-format
 #| msgid "writing to `%s'\n"
 msgid "redirection changed to '%s'\n"
@@ -11145,33 +10969,54 @@ msgstr "misslyckades med att vänta på att processen %d skulle avslutas: %s\n"
 msgid "ldap wrapper %d stalled - killing\n"
 msgstr ""
 
-#: dirmngr/ldap.c:91
+#: dirmngr/ldap.c:92
 #, c-format
 msgid "invalid char 0x%02x in host name - not added\n"
 msgstr ""
 
-#: dirmngr/ldap.c:95
+#: dirmngr/ldap.c:96
 #, fuzzy, c-format
 #| msgid "sending key %s to %s server %s\n"
 msgid "adding '%s:%d' to the ldap server list\n"
 msgstr "skickar nyckeln %s till %s-servern %s\n"
 
-#: dirmngr/ldap.c:98 dirmngr/misc.c:512
+#: dirmngr/ldap.c:99 dirmngr/misc.c:512
 #, fuzzy, c-format
 #| msgid "select failed: %s\n"
 msgid "malloc failed: %s\n"
 msgstr "val misslyckades: %s\n"
 
-#: dirmngr/ldap.c:627
+#: dirmngr/ldap.c:221
+#, fuzzy, c-format
+#| msgid "`%s' is not a JPEG file\n"
+msgid "'%s' is not an LDAP URL\n"
+msgstr "\"%s\" är inte en JPEG-fil\n"
+
+#: dirmngr/ldap.c:227 dirmngr/ldap.c:233
 #, c-format
-msgid "start_cert_fetch: invalid pattern '%s'\n"
+msgid "'%s' is an invalid LDAP URL\n"
 msgstr ""
 
-#: dirmngr/ldap.c:839
+#: dirmngr/ldap.c:969
 #, c-format
 msgid "ldap_search hit the size limit of the server\n"
 msgstr ""
 
+#: dirmngr/ldapserver.c:117
+#, c-format
+msgid "%s:%u: password given without user\n"
+msgstr "%s:%u: lösenord angivet utan användare\n"
+
+#: dirmngr/ldapserver.c:181
+#, c-format
+msgid "%s:%u: ignoring unknown flag '%s'\n"
+msgstr ""
+
+#: dirmngr/ldapserver.c:203
+#, c-format
+msgid "%s:%u: skipping this line\n"
+msgstr "%s:%u: hoppar över denna rad\n"
+
 #: dirmngr/misc.c:172
 #, fuzzy, c-format
 #| msgid "%s: invalid file version %d\n"
@@ -11376,80 +11221,76 @@ msgstr ""
 msgid "assuan_inquire(%s) failed: %s\n"
 msgstr "sändande rad misslyckades: %s\n"
 
-#: dirmngr/server.c:1158
-msgid "ldapserver missing"
-msgstr ""
-
-#: dirmngr/server.c:1224
+#: dirmngr/server.c:1277
 msgid "serialno missing in cert ID"
 msgstr ""
 
-#: dirmngr/server.c:1387 dirmngr/server.c:1473 dirmngr/server.c:1909
-#: dirmngr/server.c:1980 dirmngr/server.c:2552 dirmngr/server.c:2567
+#: dirmngr/server.c:1440 dirmngr/server.c:1526 dirmngr/server.c:1963
+#: dirmngr/server.c:2034 dirmngr/server.c:2662 dirmngr/server.c:2677
 #, fuzzy, c-format
 #| msgid "sending line failed: %s\n"
 msgid "assuan_inquire failed: %s\n"
 msgstr "sändande rad misslyckades: %s\n"
 
-#: dirmngr/server.c:1516
+#: dirmngr/server.c:1569
 #, fuzzy, c-format
 #| msgid "select failed: %s\n"
 msgid "fetch_cert_by_url failed: %s\n"
 msgstr "val misslyckades: %s\n"
 
-#: dirmngr/server.c:1528 dirmngr/server.c:1559 dirmngr/server.c:1718
+#: dirmngr/server.c:1581 dirmngr/server.c:1612 dirmngr/server.c:1772
 #, fuzzy, c-format
 #| msgid "error sending %s command: %s\n"
 msgid "error sending data: %s\n"
 msgstr "fel vid sändning av %s-kommando: %s\n"
 
-#: dirmngr/server.c:1666
+#: dirmngr/server.c:1720
 #, fuzzy, c-format
 #| msgid "select failed: %s\n"
 msgid "start_cert_fetch failed: %s\n"
 msgstr "val misslyckades: %s\n"
 
-#: dirmngr/server.c:1699
+#: dirmngr/server.c:1753
 #, fuzzy, c-format
 #| msgid "select failed: %s\n"
 msgid "fetch_next_cert failed: %s\n"
 msgstr "val misslyckades: %s\n"
 
-#: dirmngr/server.c:1726
+#: dirmngr/server.c:1780
 #, c-format
 msgid "max_replies %d exceeded\n"
 msgstr ""
 
-#: dirmngr/server.c:2856
+#: dirmngr/server.c:2966
 #, fuzzy, c-format
 #| msgid "cannot allocate outfile string: %s\n"
 msgid "can't allocate control structure: %s\n"
 msgstr "kan inte allokera utfilssträng: %s\n"
 
-#: dirmngr/server.c:2867
+#: dirmngr/server.c:2977
 #, fuzzy, c-format
 #| msgid "failed to create stream from socket: %s\n"
 msgid "failed to allocate assuan context: %s\n"
 msgstr "misslyckades med att skapa flöde från uttag: %s\n"
 
-#: dirmngr/server.c:2888
+#: dirmngr/server.c:2998
 #, fuzzy, c-format
 #| msgid "failed to initialize the TrustDB: %s\n"
 msgid "failed to initialize the server: %s\n"
 msgstr "misslyckades med att initialisera tillitsdatabasen: %s\n"
 
-#: dirmngr/server.c:2896
+#: dirmngr/server.c:3006
 #, fuzzy, c-format
 #| msgid "failed to store the creation date: %s\n"
 msgid "failed to the register commands with Assuan: %s\n"
 msgstr "misslyckades med att lagra datum för skapandet: %s\n"
 
-#: dirmngr/server.c:2929
+#: dirmngr/server.c:3039
 #, c-format
 msgid "Assuan accept problem: %s\n"
 msgstr ""
 
-#: dirmngr/server.c:2948
+#: dirmngr/server.c:3058
 #, fuzzy, c-format
 #| msgid "signing failed: %s\n"
 msgid "Assuan processing failed: %s\n"
@@ -11607,21 +11448,21 @@ msgid "error sending standard options: %s\n"
 msgstr "fel vid sändning av standardflaggor: %s\n"
 
 #: tools/gpgconf-comp.c:481 tools/gpgconf-comp.c:617 tools/gpgconf-comp.c:692
-#: tools/gpgconf-comp.c:804 tools/gpgconf-comp.c:906
+#: tools/gpgconf-comp.c:808 tools/gpgconf-comp.c:910
 msgid "Options controlling the diagnostic output"
 msgstr "Flaggor som kontrollerar diagnosutdata"
 
 #: tools/gpgconf-comp.c:494 tools/gpgconf-comp.c:630 tools/gpgconf-comp.c:705
-#: tools/gpgconf-comp.c:817 tools/gpgconf-comp.c:929
+#: tools/gpgconf-comp.c:821 tools/gpgconf-comp.c:933
 msgid "Options controlling the configuration"
 msgstr "Flaggor som kontrollerar konfigurationen"
 
-#: tools/gpgconf-comp.c:517 tools/gpgconf-comp.c:659 tools/gpgconf-comp.c:736
-#: tools/gpgconf-comp.c:849 tools/gpgconf-comp.c:942
+#: tools/gpgconf-comp.c:517 tools/gpgconf-comp.c:659 tools/gpgconf-comp.c:740
+#: tools/gpgconf-comp.c:853 tools/gpgconf-comp.c:946
 msgid "Options useful for debugging"
 msgstr "Flaggor användbara för felsökning"
 
-#: tools/gpgconf-comp.c:530 tools/gpgconf-comp.c:669 tools/gpgconf-comp.c:862
+#: tools/gpgconf-comp.c:530 tools/gpgconf-comp.c:669 tools/gpgconf-comp.c:866
 msgid "Options controlling the security"
 msgstr "Flaggor som kontrollerar säkerheten"
 
@@ -11671,11 +11512,11 @@ msgstr "tillåt inte återanvändning av gamla lösenfraser"
 msgid "|N|set the Pinentry timeout to N seconds"
 msgstr "|N|ställ in maximal livstid för PIN-cache till N sekunder"
 
-#: tools/gpgconf-comp.c:707 tools/gpgconf-comp.c:819
+#: tools/gpgconf-comp.c:707 tools/gpgconf-comp.c:823
 msgid "|NAME|use NAME as default secret key"
 msgstr "|NAMN|använd NAMN som förvald hemlig nyckel"
 
-#: tools/gpgconf-comp.c:710 tools/gpgconf-comp.c:822
+#: tools/gpgconf-comp.c:710 tools/gpgconf-comp.c:826
 msgid "|NAME|encrypt to user ID NAME as well"
 msgstr "|NAMN|kryptera även till användaridentiteten NAMN"
 
@@ -11683,140 +11524,140 @@ msgstr "|NAMN|kryptera även till användaridentiteten NAMN"
 msgid "|SPEC|set up email aliases"
 msgstr "|SPEC|ange e-postalias (ett eller flera)"
 
-#: tools/gpgconf-comp.c:749 tools/gpgconf-comp.c:981
+#: tools/gpgconf-comp.c:753 tools/gpgconf-comp.c:985
 msgid "Configuration for Keyservers"
 msgstr "Konfiguration för nyckelservrar"
 
-#: tools/gpgconf-comp.c:751 tools/gpgconf-comp.c:983
+#: tools/gpgconf-comp.c:755 tools/gpgconf-comp.c:987
 msgid "|URL|use keyserver at URL"
 msgstr "|URL| använd nyckelservern på URL"
 
-#: tools/gpgconf-comp.c:754
+#: tools/gpgconf-comp.c:758
 msgid "allow PKA lookups (DNS requests)"
 msgstr "tillåt PKA-uppslag (DNS-förfrågningar)"
 
-#: tools/gpgconf-comp.c:757
+#: tools/gpgconf-comp.c:761
 msgid "|MECHANISMS|use MECHANISMS to locate keys by mail address"
 msgstr "|MEKANISMER|använd MEKANISMER för att hitta nycklar efter e-postadress"
 
-#: tools/gpgconf-comp.c:760
+#: tools/gpgconf-comp.c:764
 #, fuzzy
 #| msgid "import keys from a keyserver"
 msgid "import missing key from a signature"
 msgstr "importera nycklar från en nyckelserver"
 
-#: tools/gpgconf-comp.c:763
+#: tools/gpgconf-comp.c:767
 #, fuzzy
 #| msgid "list and check key signatures"
 msgid "include the public key in signatures"
 msgstr "lista och kontrollera nyckelsignaturer"
 
-#: tools/gpgconf-comp.c:770 tools/gpgconf-comp.c:831
+#: tools/gpgconf-comp.c:774 tools/gpgconf-comp.c:835
 msgid "disable all access to the dirmngr"
 msgstr "inaktivera all åtkomst till dirmngr"
 
-#: tools/gpgconf-comp.c:834
+#: tools/gpgconf-comp.c:838
 msgid "|NAME|use encoding NAME for PKCS#12 passphrases"
 msgstr "|NAMN|använd kodningen NAMN för PKCS#12-lösenfraser"
 
-#: tools/gpgconf-comp.c:870
+#: tools/gpgconf-comp.c:874
 msgid "do not check CRLs for root certificates"
 msgstr "kontrollera inte spärrlistor för rotcertifikat"
 
-#: tools/gpgconf-comp.c:919
+#: tools/gpgconf-comp.c:923
 msgid "Options controlling the format of the output"
 msgstr "Flaggor som kontrollerar formatet på utdata"
 
-#: tools/gpgconf-comp.c:961
+#: tools/gpgconf-comp.c:965
 msgid "Options controlling the interactivity and enforcement"
 msgstr "Flaggor som kontrollerar interaktivitet och framtvingande"
 
-#: tools/gpgconf-comp.c:974
+#: tools/gpgconf-comp.c:978
 #, fuzzy
 #| msgid "Options controlling the security"
 msgid "Options controlling the use of Tor"
 msgstr "Flaggor som kontrollerar säkerheten"
 
-#: tools/gpgconf-comp.c:988
+#: tools/gpgconf-comp.c:992
 msgid "Configuration for HTTP servers"
 msgstr "Konfiguration för HTTP-servrar"
 
-#: tools/gpgconf-comp.c:999
+#: tools/gpgconf-comp.c:1003
 msgid "use system's HTTP proxy setting"
 msgstr "använd systemets HTTP-proxyinställningar"
 
-#: tools/gpgconf-comp.c:1004
+#: tools/gpgconf-comp.c:1008
 msgid "Configuration of LDAP servers to use"
 msgstr "Konfiguration av LDAP-servrar som ska användas"
 
-#: tools/gpgconf-comp.c:1033
+#: tools/gpgconf-comp.c:1037
 msgid "LDAP server list"
 msgstr "LDAP-serverlista"
 
-#: tools/gpgconf-comp.c:1041
+#: tools/gpgconf-comp.c:1045
 msgid "Configuration for OCSP"
 msgstr "Konfiguration för OCSP"
 
-#: tools/gpgconf-comp.c:1094
+#: tools/gpgconf-comp.c:1098
 msgid "OpenPGP"
 msgstr ""
 
-#: tools/gpgconf-comp.c:1095
+#: tools/gpgconf-comp.c:1099
 msgid "Private Keys"
 msgstr ""
 
-#: tools/gpgconf-comp.c:1096
+#: tools/gpgconf-comp.c:1100
 msgid "Smartcards"
 msgstr ""
 
-#: tools/gpgconf-comp.c:1097
+#: tools/gpgconf-comp.c:1101
 msgid "S/MIME"
 msgstr ""
 
-#: tools/gpgconf-comp.c:1098
+#: tools/gpgconf-comp.c:1102
 msgid "Network"
 msgstr ""
 
-#: tools/gpgconf-comp.c:1099
+#: tools/gpgconf-comp.c:1103
 #, fuzzy
 #| msgid "Bad Passphrase"
 msgid "Passphrase Entry"
 msgstr "Felaktig lösenfras"
 
-#: tools/gpgconf-comp.c:1278
+#: tools/gpgconf-comp.c:1282
 #, fuzzy
 #| msgid "Component not found"
 msgid "Component not suitable for launching"
 msgstr "Komponenten hittades inte"
 
-#: tools/gpgconf-comp.c:1284
+#: tools/gpgconf-comp.c:1288
 #, fuzzy, c-format
 #| msgid "External verification of component %s failed"
 msgid "Configuration file of component %s is broken\n"
 msgstr "Extern validering av komponenten %s misslyckades"
 
-#: tools/gpgconf-comp.c:1287
+#: tools/gpgconf-comp.c:1291
 #, fuzzy, c-format
 #| msgid "Please use the command \"toggle\" first.\n"
 msgid "Note: Use the command \"%s%s\" to get details.\n"
 msgstr "Använd kommandot \"toggle\" först.\n"
 
-#: tools/gpgconf-comp.c:3446
+#: tools/gpgconf-comp.c:3454
 #, c-format
 msgid "External verification of component %s failed"
 msgstr "Extern validering av komponenten %s misslyckades"
 
-#: tools/gpgconf-comp.c:3597
+#: tools/gpgconf-comp.c:3605
 msgid "Note that group specifications are ignored\n"
 msgstr "Observera att gruppspecifikationer ignoreras\n"
 
-#: tools/gpgconf-comp.c:4195
+#: tools/gpgconf-comp.c:4203
 #, fuzzy, c-format
 #| msgid "error closing %s: %s\n"
 msgid "error closing '%s'\n"
 msgstr "fel vid stängning av %s: %s\n"
 
-#: tools/gpgconf-comp.c:4197
+#: tools/gpgconf-comp.c:4205
 #, fuzzy, c-format
 #| msgid "error in `%s': %s\n"
 msgid "error parsing '%s'\n"
@@ -11940,6 +11781,110 @@ msgstr ""
 "Syntax: gpg-check-pattern [flaggor] mönsterfil\n"
 "Kontrollera en lösenfras angiven på standard in mot mönsterfilen\n"
 
+#~ msgid "requesting key %s from %s server %s\n"
+#~ msgstr "begär nyckeln %s från %s-servern %s\n"
+
+#~ msgid "%s:%u: no hostname given\n"
+#~ msgstr "%s:%u: inget värdnamn angivet\n"
+
+#~ msgid "could not parse keyserver\n"
+#~ msgstr "kunde inte tolka nyckelserver\n"
+
+#, fuzzy
+#~| msgid "|NAME|connect to Assuan socket NAME"
+#~ msgid "|NAME|connect to host NAME"
+#~ msgstr "|NAMN|anslut till Assuan-uttaget NAMN"
+
+#, fuzzy
+#~| msgid "|N|connect to reader at port N"
+#~ msgid "|N|connect to port N"
+#~ msgstr "|N|anslut till läsare på port N"
+
+#, fuzzy
+#~| msgid "|NAME|use NAME as default recipient"
+#~ msgid "|NAME|use user NAME for authentication"
+#~ msgstr "|NAMN|använd NAMN som standardmottagare"
+
+#, fuzzy
+#~| msgid "Usage: gpg [options] [files] (-h for help)"
+#~ msgid "Usage: dirmngr_ldap [options] [URL] (-h for help)\n"
+#~ msgstr "Användning: gpg [flaggor] [filer] (-h för hjälp)"
+
+#, fuzzy
+#~| msgid "invalid import options\n"
+#~ msgid "invalid port number %d\n"
+#~ msgstr "ogiltiga importflaggor\n"
+
+#, fuzzy
+#~| msgid "error writing to %s: %s\n"
+#~ msgid "error writing to stdout: %s\n"
+#~ msgstr "fel vid skrivning till %s: %s\n"
+
+#, fuzzy
+#~| msgid "certificate `%s' not found: %s\n"
+#~ msgid "attribute '%s' not found\n"
+#~ msgstr "certifikatet \"%s\" hittades inte: %s\n"
+
+#, fuzzy
+#~| msgid "reading from `%s'\n"
+#~ msgid "processing url '%s'\n"
+#~ msgstr "läser från \"%s\"\n"
+
+#, fuzzy
+#~| msgid "          w/o user IDs: %lu\n"
+#~ msgid "          user '%s'\n"
+#~ msgstr "       utan användaridentiteter: %lu\n"
+
+#, fuzzy
+#~| msgid "                aka \"%s\""
+#~ msgid "          pass '%s'\n"
+#~ msgstr "      även känd som \"%s\""
+
+#, fuzzy
+#~| msgid "          w/o user IDs: %lu\n"
+#~ msgid "          host '%s'\n"
+#~ msgstr "       utan användaridentiteter: %lu\n"
+
+#, fuzzy
+#~| msgid "          not imported: %lu\n"
+#~ msgid "          port %d\n"
+#~ msgstr "               inte importerade: %lu\n"
+
+#, fuzzy
+#~| msgid "                aka \"%s\""
+#~ msgid "            DN '%s'\n"
+#~ msgstr "      även känd som \"%s\""
+
+#, fuzzy
+#~| msgid "                aka \"%s\""
+#~ msgid "          attr '%s'\n"
+#~ msgstr "      även känd som \"%s\""
+
+#, fuzzy
+#~| msgid "%s:%u: no hostname given\n"
+#~ msgid "no host name in '%s'\n"
+#~ msgstr "%s:%u: inget värdnamn angivet\n"
+
+#, fuzzy
+#~| msgid "WARNING: Using untrusted key!\n"
+#~ msgid "WARNING: using first attribute only\n"
+#~ msgstr "VARNING: Använder en nyckel som inte är betrodd!\n"
+
+#, fuzzy
+#~| msgid "renaming `%s' to `%s' failed: %s\n"
+#~ msgid "LDAP init to '%s:%d' failed: %s\n"
+#~ msgstr "namnbyte från \"%s\" till \"%s\" misslyckades: %s\n"
+
+#, fuzzy
+#~| msgid "renaming `%s' to `%s' failed: %s\n"
+#~ msgid "binding to '%s:%d' failed: %s\n"
+#~ msgstr "namnbyte från \"%s\" till \"%s\" misslyckades: %s\n"
+
+#, fuzzy
+#~| msgid "dearmoring failed: %s\n"
+#~ msgid "searching '%s' failed: %s\n"
+#~ msgstr "misslyckades med att ta bort ASCII-skalet: %s\n"
+
 #, fuzzy
 #~| msgid "NOTE: old default options file `%s' ignored\n"
 #~ msgid "Note: old default options file '%s' ignored\n"
index 514e836..c0a5121 100644 (file)
Binary files a/po/tr.gmo and b/po/tr.gmo differ
index 362a3dd..7cdc149 100644 (file)
--- a/po/tr.po
+++ b/po/tr.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: gnupg 2.0.10rc1\n"
 "Report-Msgid-Bugs-To: translations@gnupg.org\n"
-"POT-Creation-Date: 2021-01-11 18:47+0100\n"
+"POT-Creation-Date: 2021-06-10 18:59+0200\n"
 "PO-Revision-Date: 2015-02-11 19:18+0100\n"
 "Last-Translator: Nilgün Belma Bugüner <nilgun@belgeler.gen.tr>\n"
 "Language-Team: Turkish\n"
@@ -111,7 +111,7 @@ msgid "Passphrase:"
 msgstr "Anahtar Parolası:"
 
 #: agent/call-pinentry.c:1107 agent/call-pinentry.c:1359
-#: agent/command-ssh.c:3130 agent/genkey.c:416
+#: agent/command-ssh.c:3140 agent/genkey.c:416
 msgid "does not match - try again"
 msgstr "aynı değiller - tekrar deneyin"
 
@@ -161,34 +161,34 @@ msgstr "Anahtar Parolası hatalı"
 msgid "ssh keys greater than %d bits are not supported\n"
 msgstr "%d bitlikten daha büyük SSH anahtarları desteklenmiyor\n"
 
-#: agent/command-ssh.c:862 common/dotlock.c:852 g10/card-util.c:932
-#: g10/exec.c:546 g10/export.c:1320 g10/gpg.c:1352 g10/keygen.c:4998
-#: g10/keyring.c:1322 g10/keyring.c:1637 g10/openfile.c:291 g10/sign.c:1009
-#: g10/sign.c:1323 g10/tdbio.c:753
+#: agent/command-ssh.c:862 common/dotlock.c:852 g10/card-util.c:933
+#: g10/exec.c:554 g10/export.c:1320 g10/gpg.c:1360 g10/keygen.c:4998
+#: g10/keyring.c:1322 g10/keyring.c:1637 g10/openfile.c:291 g10/sign.c:1008
+#: g10/sign.c:1322 g10/tdbio.c:753
 #, fuzzy, c-format
 #| msgid "can't create `%s': %s\n"
 msgid "can't create '%s': %s\n"
 msgstr "\"%s\" oluşturulamıyor: %s\n"
 
-#: agent/command-ssh.c:874 common/helpfile.c:57 g10/card-util.c:889
+#: agent/command-ssh.c:874 common/helpfile.c:57 g10/card-util.c:890
 #: g10/dearmor.c:59 g10/dearmor.c:106 g10/decrypt.c:65 g10/decrypt.c:136
-#: g10/decrypt.c:153 g10/encrypt.c:180 g10/encrypt.c:543 g10/gpg.c:1353
-#: g10/import.c:352 g10/import.c:536 g10/import.c:764 g10/keygen.c:4036
+#: g10/decrypt.c:153 g10/encrypt.c:180 g10/encrypt.c:543 g10/gpg.c:1361
+#: g10/import.c:364 g10/import.c:548 g10/import.c:776 g10/keygen.c:4036
 #: g10/keyring.c:1663 g10/openfile.c:195 g10/openfile.c:209 g10/plaintext.c:128
-#: g10/plaintext.c:649 g10/sign.c:991 g10/sign.c:1202 g10/sign.c:1307
-#: g10/sign.c:1452 g10/tdbdump.c:143 g10/tdbdump.c:151 g10/tdbio.c:758
-#: g10/tdbio.c:829 g10/verify.c:96 g10/verify.c:160 sm/gpgsm.c:2219
-#: sm/gpgsm.c:2249 sm/gpgsm.c:2287 sm/qualified.c:66 dirmngr/certcache.c:396
+#: g10/plaintext.c:649 g10/sign.c:990 g10/sign.c:1201 g10/sign.c:1306
+#: g10/sign.c:1451 g10/tdbdump.c:143 g10/tdbdump.c:151 g10/tdbio.c:758
+#: g10/tdbio.c:829 g10/verify.c:96 g10/verify.c:160 sm/gpgsm.c:2125
+#: sm/gpgsm.c:2155 sm/gpgsm.c:2193 sm/qualified.c:66 dirmngr/certcache.c:396
 #: dirmngr/certcache.c:476 dirmngr/certcache.c:478 dirmngr/crlcache.c:2588
-#: dirmngr/dirmngr.c:1722
+#: dirmngr/dirmngr.c:1759
 #, fuzzy, c-format
 #| msgid "can't open `%s': %s\n"
 msgid "can't open '%s': %s\n"
 msgstr "`%s' açılamıyor: %s\n"
 
 #: agent/command-ssh.c:2385 agent/command-ssh.c:2431 agent/command-ssh.c:2449
-#: agent/command-ssh.c:2601 g10/card-util.c:687 g10/card-util.c:708
-#: g10/skclist.c:430
+#: agent/command-ssh.c:2601 g10/card-util.c:688 g10/card-util.c:709
+#: g10/skclist.c:435
 #, c-format
 msgid "error getting serial number of card: %s\n"
 msgstr "kartın seri numarası alınırken hata: %s\n"
@@ -215,31 +215,31 @@ msgstr "uygun bir kart anahtarı yok: %s\n"
 msgid "error getting list of cards: %s\n"
 msgstr "saklanmış bayraklar alınırken hata: %s\n"
 
-#: agent/command-ssh.c:2765
+#: agent/command-ssh.c:2775
 #, c-format
 msgid ""
 "An ssh process requested the use of key%%0A  %s%%0A  (%s)%%0ADo you want to "
 "allow this?"
 msgstr ""
 
-#: agent/command-ssh.c:2772
+#: agent/command-ssh.c:2782
 msgid "Allow"
 msgstr ""
 
-#: agent/command-ssh.c:2772
+#: agent/command-ssh.c:2782
 msgid "Deny"
 msgstr ""
 
-#: agent/command-ssh.c:2781
+#: agent/command-ssh.c:2791
 #, fuzzy, c-format
 msgid "Please enter the passphrase for the ssh key%%0A  %F%%0A  (%c)"
 msgstr "Lütfen SSH anahtarı %0A  %c için anahtar parolasını giriniz"
 
-#: agent/command-ssh.c:3058 agent/genkey.c:351
+#: agent/command-ssh.c:3068 agent/genkey.c:351
 msgid "Please re-enter this passphrase"
 msgstr "Lütfen bu anahtar parolasını tekrar girin"
 
-#: agent/command-ssh.c:3085
+#: agent/command-ssh.c:3095
 #, fuzzy, c-format
 msgid ""
 "Please enter a passphrase to protect the received secret key%%0A   %s%%0A   "
@@ -248,7 +248,7 @@ msgstr ""
 "gpg-agent'in anahtar deposuna korumak için alınan gizli anahtar %%0A  %s%%0A "
 "için lütfen anahtar parolası giriniz"
 
-#: agent/command-ssh.c:3667
+#: agent/command-ssh.c:3677
 #, c-format
 msgid "failed to create stream from socket: %s\n"
 msgstr "sokette akım oluşturulamadı: %s\n"
@@ -421,47 +421,45 @@ msgstr ""
 "@Seçenekler:\n"
 " "
 
-#: agent/gpg-agent.c:165 scd/scdaemon.c:120 dirmngr/dirmngr.c:166
+#: agent/gpg-agent.c:165 scd/scdaemon.c:120 dirmngr/dirmngr.c:167
 msgid "run in daemon mode (background)"
 msgstr "artalan süreci olarak çalışır"
 
-#: agent/gpg-agent.c:166 scd/scdaemon.c:117 dirmngr/dirmngr.c:165
+#: agent/gpg-agent.c:166 scd/scdaemon.c:117 dirmngr/dirmngr.c:166
 msgid "run in server mode (foreground)"
 msgstr "sunucu olarak (önalanda) çalışır"
 
-#: agent/gpg-agent.c:168 dirmngr/dirmngr.c:168
+#: agent/gpg-agent.c:168 dirmngr/dirmngr.c:169
 #, fuzzy
 #| msgid "run in server mode"
 msgid "run in supervised mode"
 msgstr "sunucu kipinde çalışır"
 
-#: agent/gpg-agent.c:170 g10/gpg.c:608 g10/gpgv.c:78 kbx/kbxutil.c:88
-#: scd/scdaemon.c:121 sm/gpgsm.c:310 dirmngr/dirmngr-client.c:70
-#: dirmngr/dirmngr.c:181 dirmngr/dirmngr_ldap.c:135
-#: tools/gpg-connect-agent.c:78 tools/gpgconf.c:108
+#: agent/gpg-agent.c:170 g10/gpg.c:605 g10/gpgv.c:78 kbx/kbxutil.c:88
+#: scd/scdaemon.c:121 sm/gpgsm.c:311 dirmngr/dirmngr-client.c:70
+#: dirmngr/dirmngr.c:182 tools/gpg-connect-agent.c:78 tools/gpgconf.c:108
 msgid "verbose"
 msgstr "ayrıntılı"
 
 #: agent/gpg-agent.c:171 g10/gpgv.c:79 kbx/kbxutil.c:89 scd/scdaemon.c:122
-#: sm/gpgsm.c:311 dirmngr/dirmngr-client.c:71 dirmngr/dirmngr.c:182
-#: dirmngr/dirmngr_ldap.c:136
+#: sm/gpgsm.c:312 dirmngr/dirmngr-client.c:71 dirmngr/dirmngr.c:183
 msgid "be somewhat more quiet"
 msgstr "biraz daha sessiz olur"
 
-#: agent/gpg-agent.c:172 scd/scdaemon.c:123 dirmngr/dirmngr.c:183
+#: agent/gpg-agent.c:172 scd/scdaemon.c:123 dirmngr/dirmngr.c:184
 msgid "sh-style command output"
 msgstr "sh tarzı komut çıktısı"
 
-#: agent/gpg-agent.c:173 scd/scdaemon.c:124 dirmngr/dirmngr.c:184
+#: agent/gpg-agent.c:173 scd/scdaemon.c:124 dirmngr/dirmngr.c:185
 msgid "csh-style command output"
 msgstr "csh tarzı komut çıktısı"
 
-#: agent/gpg-agent.c:174 scd/scdaemon.c:125 sm/gpgsm.c:341
-#: dirmngr/dirmngr.c:185
+#: agent/gpg-agent.c:174 scd/scdaemon.c:125 sm/gpgsm.c:344
+#: dirmngr/dirmngr.c:186
 msgid "|FILE|read options from FILE"
 msgstr "|DOSYA|seçenekler DOSYAdan okunur"
 
-#: agent/gpg-agent.c:183 scd/scdaemon.c:135 dirmngr/dirmngr.c:188
+#: agent/gpg-agent.c:183 scd/scdaemon.c:135 dirmngr/dirmngr.c:189
 msgid "do not detach from the console"
 msgstr "konsoldan kopulmaz"
 
@@ -545,9 +543,9 @@ msgstr ""
 #. reporting address.  This is so that we can change the
 #. reporting address without breaking the translations.
 #: agent/gpg-agent.c:531 agent/preset-passphrase.c:100 agent/protect-tool.c:155
-#: g10/gpg.c:1070 g10/gpgv.c:149 kbx/kbxutil.c:113 scd/scdaemon.c:298
-#: sm/gpgsm.c:567 dirmngr/dirmngr-client.c:168 dirmngr/dirmngr.c:404
-#: dirmngr/dirmngr_ldap.c:207 tools/gpg-connect-agent.c:205 tools/gpgconf.c:146
+#: g10/gpg.c:1074 g10/gpgv.c:149 kbx/kbxutil.c:113 scd/scdaemon.c:299
+#: sm/gpgsm.c:570 dirmngr/dirmngr-client.c:168 dirmngr/dirmngr.c:412
+#: tools/gpg-connect-agent.c:205 tools/gpgconf.c:146
 #: tools/gpg-check-pattern.c:143
 #, fuzzy
 msgid "Please report bugs to <@EMAIL@>.\n"
@@ -571,40 +569,40 @@ msgstr ""
 "Sözdizimi: gpg-agent [seçenekler] [komut [arg ...]]\n"
 "GnuPG için gizli anahtar yönetimi\n"
 
-#: agent/gpg-agent.c:587 g10/gpg.c:1262 scd/scdaemon.c:370 sm/gpgsm.c:715
-#: dirmngr/dirmngr.c:488
+#: agent/gpg-agent.c:587 g10/gpg.c:1270 scd/scdaemon.c:371 sm/gpgsm.c:718
+#: dirmngr/dirmngr.c:496
 #, fuzzy, c-format
 #| msgid "invalid debug-level `%s' given\n"
 msgid "invalid debug-level '%s' given\n"
 msgstr "belirtilen hata seviyesi `%s' geçersiz\n"
 
-#: agent/gpg-agent.c:945 g10/gpg.c:3753 g10/gpg.c:3777 sm/gpgsm.c:1631
-#: sm/gpgsm.c:1637
+#: agent/gpg-agent.c:945 g10/gpg.c:3773 g10/gpg.c:3797 sm/gpgsm.c:1531
+#: sm/gpgsm.c:1537
 #, c-format
 msgid "selected digest algorithm is invalid\n"
 msgstr "seçilen özet algoritması geçersiz\n"
 
 #: agent/gpg-agent.c:1168 agent/gpg-agent.c:2023 common/argparse.c:1755
-#: common/argparse.c:1847 g10/gpg.c:2482 scd/scdaemon.c:532 sm/gpgsm.c:1063
-#: dirmngr/dirmngr.c:956 dirmngr/dirmngr.c:1841
+#: common/argparse.c:1847 g10/gpg.c:2495 scd/scdaemon.c:533 sm/gpgsm.c:977
+#: dirmngr/dirmngr.c:994 dirmngr/dirmngr.c:1878
 #, fuzzy, c-format
 #| msgid "reading options from `%s'\n"
 msgid "reading options from '%s'\n"
 msgstr "\"%s\"den seçenekler okunuyor\n"
 
-#: agent/gpg-agent.c:1300 g10/gpg.c:3704 scd/scdaemon.c:655 sm/gpgsm.c:1571
-#: dirmngr/dirmngr.c:1067 tools/gpg-connect-agent.c:1244 tools/gpgconf.c:624
+#: agent/gpg-agent.c:1300 g10/gpg.c:3724 scd/scdaemon.c:657 sm/gpgsm.c:1471
+#: dirmngr/dirmngr.c:1102 tools/gpg-connect-agent.c:1244 tools/gpgconf.c:624
 #, fuzzy, c-format
 #| msgid "WARNING: \"%s\" is a deprecated option\n"
 msgid "Note: '%s' is not considered an option\n"
 msgstr "UYARI: %s seçeneği kullanımdan kaldırılmak üzere.\n"
 
-#: agent/gpg-agent.c:2159 scd/scdaemon.c:1096 dirmngr/dirmngr.c:1219
+#: agent/gpg-agent.c:2159 scd/scdaemon.c:1098 dirmngr/dirmngr.c:1256
 #, c-format
 msgid "can't create socket: %s\n"
 msgstr "soket oluşturulamıyor: %s\n"
 
-#: agent/gpg-agent.c:2176 scd/scdaemon.c:1109 dirmngr/dirmngr.c:1232
+#: agent/gpg-agent.c:2176 scd/scdaemon.c:1111 dirmngr/dirmngr.c:1269
 #, fuzzy, c-format
 #| msgid "socket name `%s' is too long\n"
 msgid "socket name '%s' is too long\n"
@@ -615,32 +613,32 @@ msgstr "soketin ismi `%s' çok uzun\n"
 msgid "a gpg-agent is already running - not starting a new one\n"
 msgstr "çalışan bir gpg-agent zaten var - bir yenisi başlatılmayacak\n"
 
-#: agent/gpg-agent.c:2226 scd/scdaemon.c:1133 dirmngr/dirmngr.c:1264
+#: agent/gpg-agent.c:2226 scd/scdaemon.c:1135 dirmngr/dirmngr.c:1301
 #, c-format
 msgid "error getting nonce for the socket\n"
 msgstr "soket için tuz alınırken hata\n"
 
-#: agent/gpg-agent.c:2231 scd/scdaemon.c:1136 dirmngr/dirmngr.c:1267
+#: agent/gpg-agent.c:2231 scd/scdaemon.c:1138 dirmngr/dirmngr.c:1304
 #, fuzzy, c-format
 #| msgid "error binding socket to `%s': %s\n"
 msgid "error binding socket to '%s': %s\n"
 msgstr "soket `%s'e bağlanırken hata: %s\n"
 
 #: agent/gpg-agent.c:2242 agent/gpg-agent.c:2282 agent/gpg-agent.c:2291
-#: scd/scdaemon.c:1144 dirmngr/dirmngr.c:1276
+#: scd/scdaemon.c:1146 dirmngr/dirmngr.c:1313
 #, fuzzy, c-format
 #| msgid "Warning: unsafe permissions on %s \"%s\"\n"
 msgid "can't set permissions of '%s': %s\n"
 msgstr "UYARI: %s üzerinde izinler güvensiz: \"%s\"\n"
 
-#: agent/gpg-agent.c:2256 scd/scdaemon.c:1156 dirmngr/dirmngr.c:1288
+#: agent/gpg-agent.c:2256 scd/scdaemon.c:1158 dirmngr/dirmngr.c:1325
 #, fuzzy, c-format
 #| msgid "listening on socket `%s'\n"
 msgid "listening on socket '%s'\n"
 msgstr "`%s' soketi dinlemede\n"
 
 #: agent/gpg-agent.c:2276 agent/gpg-agent.c:2329 common/homedir.c:517
-#: g10/exec.c:261 g10/openfile.c:397
+#: g10/exec.c:269 g10/openfile.c:397
 #, fuzzy, c-format
 #| msgid "can't create directory `%s': %s\n"
 msgid "can't create directory '%s': %s\n"
@@ -665,7 +663,7 @@ msgstr "%s için stat() başarısız oldu: %s\n"
 msgid "can't use '%s' as home directory\n"
 msgstr "`%s' ev dizini olarak kullanılamıyor\n"
 
-#: agent/gpg-agent.c:2502 scd/scdaemon.c:1172 dirmngr/dirmngr.c:2047
+#: agent/gpg-agent.c:2502 scd/scdaemon.c:1174 dirmngr/dirmngr.c:2084
 #, c-format
 msgid "error reading nonce on fd %d: %s\n"
 msgstr "fd %d üzerinde tuz okunurken hata: %s\n"
@@ -690,13 +688,13 @@ msgstr "ssh tutamağı 0x%lx, fd %d için başlatıldı\n"
 msgid "ssh handler 0x%lx for fd %d terminated\n"
 msgstr "ssh tutamağı 0x%lx, fd %d için sonlandırıldı\n"
 
-#: agent/gpg-agent.c:3016 scd/scdaemon.c:1362 dirmngr/dirmngr.c:2261
+#: agent/gpg-agent.c:3016 scd/scdaemon.c:1366 dirmngr/dirmngr.c:2298
 #, fuzzy, c-format
 #| msgid "pth_select failed: %s - waiting 1s\n"
 msgid "npth_pselect failed: %s - waiting 1s\n"
 msgstr "pth_select başarısız: %s - 1s bekliyor\n"
 
-#: agent/gpg-agent.c:3104 scd/scdaemon.c:1427
+#: agent/gpg-agent.c:3104 scd/scdaemon.c:1431
 #, c-format
 msgid "%s %s stopped\n"
 msgstr "%s %s durdu\n"
@@ -720,8 +718,8 @@ msgstr ""
 "Sözdizimi: gpg-preset-passphrase [seçenekler] ANHMAŞASI\n"
 "Parola arabelleği bakımcısı\n"
 
-#: agent/protect-tool.c:108 g10/gpg.c:440 kbx/kbxutil.c:71 sm/gpgsm.c:204
-#: dirmngr/dirmngr.c:163 tools/gpgconf.c:78
+#: agent/protect-tool.c:108 g10/gpg.c:437 kbx/kbxutil.c:71 sm/gpgsm.c:205
+#: dirmngr/dirmngr.c:164 tools/gpgconf.c:78
 msgid ""
 "@Commands:\n"
 " "
@@ -729,8 +727,8 @@ msgstr ""
 "@Komutlar:\n"
 " "
 
-#: agent/protect-tool.c:117 g10/gpg.c:553 g10/gpgv.c:76 kbx/kbxutil.c:81
-#: sm/gpgsm.c:252 dirmngr/dirmngr.c:179 tools/gpg-connect-agent.c:76
+#: agent/protect-tool.c:117 g10/gpg.c:550 g10/gpgv.c:76 kbx/kbxutil.c:81
+#: sm/gpgsm.c:253 dirmngr/dirmngr.c:180 tools/gpg-connect-agent.c:76
 #: tools/gpgconf.c:105
 msgid ""
 "@\n"
@@ -753,12 +751,12 @@ msgstr ""
 "Sözdizimi: gpg-protect-tool [seçenekler] [arg ...]\n"
 "Gizli anahtar bakım aracı\n"
 
-#: agent/protect-tool.c:703
+#: agent/protect-tool.c:703 sm/import.c:774
 msgid "Please enter the passphrase to unprotect the PKCS#12 object."
 msgstr ""
 "PKCS#12 nesnesinin korumasını aşmak için lütfen anahtar parolasını giriniz."
 
-#: agent/protect-tool.c:708
+#: agent/protect-tool.c:708 sm/export.c:710
 msgid "Please enter the passphrase to protect the new PKCS#12 object."
 msgstr "PKCS#12 nesnesini korumak için lütfen anahtar parolasını giriniz."
 
@@ -788,7 +786,7 @@ msgstr "iptal edildi\n"
 msgid "error while asking for the passphrase: %s\n"
 msgstr "anahtar parolası sorulurken hata: %s\n"
 
-#: agent/trustlist.c:154 agent/trustlist.c:364 dirmngr/dirmngr.c:1629
+#: agent/trustlist.c:154 agent/trustlist.c:364 dirmngr/dirmngr.c:1666
 #: tools/gpgconf.c:418
 #, fuzzy, c-format
 #| msgid "error opening `%s': %s\n"
@@ -959,7 +957,7 @@ msgstr "oluşturulan imzanın denetimi başarısız: %s\n"
 msgid "secret key parts are not available\n"
 msgstr "gizli anahtar parçaları kullanım dışı\n"
 
-#: agent/cvt-openpgp.c:344 g10/card-util.c:1540
+#: agent/cvt-openpgp.c:344 g10/card-util.c:1541
 #, fuzzy, c-format
 #| msgid "protection algorithm %d%s is not supported\n"
 msgid "public key algorithm %d (%s) is not supported\n"
@@ -977,22 +975,22 @@ msgstr "koruma algoritması %d%s desteklenmiyor\n"
 msgid "protection hash algorithm %d (%s) is not supported\n"
 msgstr "koruma algoritması %d%s desteklenmiyor\n"
 
-#: common/exechelp-posix.c:359 common/exechelp-w32.c:449
-#: common/exechelp-w32.c:473 common/exechelp-w32.c:503
+#: common/exechelp-posix.c:359 common/exechelp-w32.c:451
+#: common/exechelp-w32.c:475 common/exechelp-w32.c:505
 #, c-format
 msgid "error creating a pipe: %s\n"
 msgstr "boru oluşturulurken hata: %s\n"
 
 #: common/exechelp-posix.c:372 common/exechelp-w32.c:355
-#: common/exechelp-w32.c:459 common/exechelp-w32.c:483
-#: common/exechelp-w32.c:513
+#: common/exechelp-w32.c:461 common/exechelp-w32.c:485
+#: common/exechelp-w32.c:515
 #, fuzzy, c-format
 #| msgid "error creating a pipe: %s\n"
 msgid "error creating a stream for a pipe: %s\n"
 msgstr "boru oluşturulurken hata: %s\n"
 
 #: common/exechelp-posix.c:495 common/exechelp-posix.c:570
-#: common/exechelp-posix.c:851 dirmngr/dirmngr.c:1306
+#: common/exechelp-posix.c:856 dirmngr/dirmngr.c:1343
 #, c-format
 msgid "error forking process: %s\n"
 msgstr "süreç çatallanırken hata: %s\n"
@@ -1002,32 +1000,32 @@ msgstr "süreç çatallanırken hata: %s\n"
 msgid "waiting for process %d to terminate failed: %s\n"
 msgstr "süreç %d sonlanacak diye beklerken başarısızlık: %s\n"
 
-#: common/exechelp-posix.c:678 common/exechelp-posix.c:794
+#: common/exechelp-posix.c:678 common/exechelp-posix.c:799
 #, fuzzy, c-format
 #| msgid "error running `%s': probably not installed\n"
 msgid "error running '%s': probably not installed\n"
 msgstr "`%s' çalıştırılırken hata: muhtemelen kurulu değil\n"
 
-#: common/exechelp-posix.c:684 common/exechelp-posix.c:801
-#: common/exechelp-w32.c:796 common/exechelp-w32ce.c:781
+#: common/exechelp-posix.c:684 common/exechelp-posix.c:806
+#: common/exechelp-w32.c:829 common/exechelp-w32ce.c:781
 #, fuzzy, c-format
 #| msgid "error running `%s': exit status %d\n"
 msgid "error running '%s': exit status %d\n"
 msgstr "`%s' çalışırken hata: çıkış durumu: %d\n"
 
-#: common/exechelp-posix.c:692 common/exechelp-posix.c:809
+#: common/exechelp-posix.c:692 common/exechelp-posix.c:814
 #, fuzzy, c-format
 #| msgid "error running `%s': terminated\n"
 msgid "error running '%s': terminated\n"
 msgstr "`%s' çalışırken hata: sonlandırıldı\n"
 
-#: common/exechelp-posix.c:750 common/exechelp-w32.c:777
+#: common/exechelp-posix.c:755 common/exechelp-w32.c:810
 #, fuzzy, c-format
 #| msgid "waiting for process %d to terminate failed: %s\n"
 msgid "waiting for processes to terminate failed: %s\n"
 msgstr "süreç %d sonlanacak diye beklerken başarısızlık: %s\n"
 
-#: common/exechelp-w32.c:789 common/exechelp-w32ce.c:775
+#: common/exechelp-w32.c:822 common/exechelp-w32ce.c:775
 #, c-format
 msgid "error getting exit code of process %d: %s\n"
 msgstr "süreç %d çıkış kodu alınırken hata: %s\n"
@@ -1125,7 +1123,7 @@ msgstr "%lu bayt ayrılırken güvenli bellekte nüve dışına çıkıldı"
 msgid "out of core while allocating %lu bytes"
 msgstr "%lu bayt ayrılırken nüve dışına çıkıldı"
 
-#: common/miscellaneous.c:115 g10/card-util.c:896 tools/no-libgcrypt.c:30
+#: common/miscellaneous.c:115 g10/card-util.c:897 tools/no-libgcrypt.c:30
 #, c-format
 msgid "error allocating enough memory: %s\n"
 msgstr "yeterli bellek ayrılırken hata: %s\n"
@@ -1250,7 +1248,7 @@ msgid "algorithm: %s"
 msgstr "algoritma: %s"
 
 #: common/audit.c:774 common/audit.c:776 common/audit.c:921 common/audit.c:923
-#: scd/app-openpgp.c:3555
+#: scd/app-openpgp.c:3554
 #, c-format
 msgid "unsupported algorithm: %s"
 msgstr "desteklenmeyen algoritma: %s"
@@ -1378,6 +1376,26 @@ msgstr "[yok]"
 msgid "invalid radix64 character %02x skipped\n"
 msgstr "geçersiz radix64 karakteri %02x atlandı\n"
 
+#: common/ttyio.c:433
+#, c-format
+msgid "Sorry, we are in batchmode - can't get input\n"
+msgstr ""
+
+#: common/ttyio.c:439
+#, c-format
+msgid "Sorry, no terminal at all requested - can't get input\n"
+msgstr ""
+
+#: common/ttyio.c:474 common/ttyio.c:484
+#, c-format
+msgid "too many errors; giving up\n"
+msgstr ""
+
+#: common/ttyio.c:536
+#, c-format
+msgid "Control-D detected\n"
+msgstr ""
+
 #: common/argparse.c:520
 msgid "argument not expected"
 msgstr "değiştirge beklenmiyordu"
@@ -1443,7 +1461,7 @@ msgstr "geçersiz seçenek"
 msgid "missing argument for option \"%.50s\"\n"
 msgstr "\"%.50s\" seçeneği için değiştirge eksik\n"
 
-#: common/argparse.c:558 g10/gpg.c:3490
+#: common/argparse.c:558 g10/gpg.c:3510
 #, fuzzy, c-format
 #| msgid "missing argument for option \"%.50s\"\n"
 msgid "invalid argument for option \"%.50s\"\n"
@@ -1520,32 +1538,32 @@ msgstr "`%s' geçici dosyası oluşturulamıyor: %s\n"
 msgid "error writing to '%s': %s\n"
 msgstr "`%s' yazılırken hata: %s\n"
 
-#: common/dotlock.c:1129
+#: common/dotlock.c:1137
 #, c-format
 msgid "removing stale lockfile (created by %d)\n"
 msgstr "bayat kilit dosyası siliniyor (%d tarafından oluşturulmuş)\n"
 
-#: common/dotlock.c:1165
+#: common/dotlock.c:1173
 #, c-format
 msgid "waiting for lock (held by %d%s) %s...\n"
 msgstr "kilit için bekleniyor (%d%s tarafından tutulmuş) %s...\n"
 
-#: common/dotlock.c:1166
+#: common/dotlock.c:1174
 msgid "(deadlock?) "
 msgstr "(ölükilit?) "
 
-#: common/dotlock.c:1205
+#: common/dotlock.c:1213
 #, fuzzy, c-format
 #| msgid "lock `%s' not made: %s\n"
 msgid "lock '%s' not made: %s\n"
 msgstr "kilit `%s' yapılmadı: %s\n"
 
-#: common/dotlock.c:1232
+#: common/dotlock.c:1240
 #, c-format
 msgid "waiting for lock %s...\n"
 msgstr "%s kilidi için bekleniyor...\n"
 
-#: common/init.c:185 sm/gpgsm.c:949 dirmngr/dirmngr.c:862 dirmngr/dirmngr.c:871
+#: common/init.c:191 sm/gpgsm.c:863 dirmngr/dirmngr.c:900 dirmngr/dirmngr.c:909
 #, c-format
 msgid "%s is too old (need %s, have %s)\n"
 msgstr "%s çok eski (gereken %s, sizinki %s)\n"
@@ -1739,13 +1757,13 @@ msgid "Note: Use the command \"%s\" to restart them.\n"
 msgstr "lütfen önce \"seçmece\" komutunu kullanın.\n"
 
 #: g10/call-agent.c:318 g10/encrypt.c:154 g10/encrypt.c:620 g10/sign.c:412
-#: sm/call-agent.c:205 sm/encrypt.c:425 sm/sign.c:345
+#: sm/call-agent.c:205 sm/encrypt.c:426 sm/sign.c:345
 #, fuzzy, c-format
 #| msgid "%s does not yet work with %s\n"
 msgid "%s is not compliant with %s mode\n"
 msgstr "%s, %s ile henüz çalışmıyor\n"
 
-#: g10/call-dirmngr.c:209 sm/call-dirmngr.c:268 tools/gpg-connect-agent.c:2253
+#: g10/call-dirmngr.c:209 sm/call-dirmngr.c:269 tools/gpg-connect-agent.c:2253
 #, fuzzy, c-format
 #| msgid "no gpg-agent running in this session\n"
 msgid "no dirmngr running in this session\n"
@@ -1791,23 +1809,23 @@ msgstr ""
 msgid "server uses an invalid certificate"
 msgstr "bir yürürlükten kaldırma sertifikası üretir"
 
-#: g10/call-dirmngr.c:437 g10/gpg.c:4400
+#: g10/call-dirmngr.c:437 g10/gpg.c:4421
 #, fuzzy, c-format
 #| msgid "armor: %s\n"
 msgid "Note: %s\n"
 msgstr "zırh: %s\n"
 
-#: g10/card-util.c:86 g10/card-util.c:366 g10/card-util.c:1902
+#: g10/card-util.c:86 g10/card-util.c:366 g10/card-util.c:1903
 #, c-format
 msgid "OpenPGP card not available: %s\n"
 msgstr "OpenPGP anahtarı kullanılabilir değil: %s\n"
 
-#: g10/card-util.c:91 g10/card-util.c:1908
+#: g10/card-util.c:91 g10/card-util.c:1909
 #, c-format
 msgid "OpenPGP card no. %s detected\n"
 msgstr "%s numaralı OpenPGP kartı saptandı\n"
 
-#: g10/card-util.c:97 g10/card-util.c:2237 g10/delkey.c:160 g10/keyedit.c:1422
+#: g10/card-util.c:97 g10/card-util.c:2238 g10/delkey.c:160 g10/keyedit.c:1423
 #: g10/keygen.c:4466 g10/revoke.c:214 g10/revoke.c:636
 #, c-format
 msgid "can't do this in batch mode\n"
@@ -1818,13 +1836,13 @@ msgstr "bu önceden betik kipinde yapılamaz\n"
 msgid "This command is only available for version 2 cards\n"
 msgstr "Bu komut sadece 2. sürüm kartlar için kullanılabilir\n"
 
-#: g10/card-util.c:107 scd/app-openpgp.c:2864
+#: g10/card-util.c:107 scd/app-openpgp.c:2863
 #, c-format
 msgid "Reset Code not or not anymore available\n"
 msgstr "Sıfırlama kodu ya yok ya da kullanım dışı\n"
 
-#: g10/card-util.c:140 g10/card-util.c:1426 g10/card-util.c:1688
-#: g10/card-util.c:1780 g10/keyedit.c:394 g10/keyedit.c:415 g10/keyedit.c:429
+#: g10/card-util.c:140 g10/card-util.c:1427 g10/card-util.c:1689
+#: g10/card-util.c:1781 g10/keyedit.c:394 g10/keyedit.c:415 g10/keyedit.c:429
 #: g10/keygen.c:1808 g10/keygen.c:1980 g10/keygen.c:2186 g10/keygen.c:2477
 #: sm/certreqgen-ui.c:165 sm/certreqgen-ui.c:291 sm/certreqgen-ui.c:325
 msgid "Your selection? "
@@ -1850,210 +1868,210 @@ msgstr "zorlanmadı"
 msgid "forced"
 msgstr "zorlandı"
 
-#: g10/card-util.c:749
+#: g10/card-util.c:750
 msgid "Error: Only plain ASCII is currently allowed.\n"
 msgstr "Hata: Şimdilik sadece US-ASCII mümkün.\n"
 
-#: g10/card-util.c:751
+#: g10/card-util.c:752
 msgid "Error: The \"<\" character may not be used.\n"
 msgstr "Hata: \"<\" karakteri kullanılmamalı.\n"
 
-#: g10/card-util.c:753
+#: g10/card-util.c:754
 msgid "Error: Double spaces are not allowed.\n"
 msgstr "Hata: Çift boşluğa izin verilmez.\n"
 
-#: g10/card-util.c:770
+#: g10/card-util.c:771
 msgid "Cardholder's surname: "
 msgstr "Kart sahibinin soyadı: "
 
-#: g10/card-util.c:772
+#: g10/card-util.c:773
 msgid "Cardholder's given name: "
 msgstr "Kart sahibinin adı: "
 
-#: g10/card-util.c:790
+#: g10/card-util.c:791
 #, c-format
 msgid "Error: Combined name too long (limit is %d characters).\n"
 msgstr "Hata: İsimler birlikte çok uzun oluyor (sınır: %d karakter).\n"
 
-#: g10/card-util.c:811
+#: g10/card-util.c:812
 msgid "URL to retrieve public key: "
 msgstr "genel anahtarın alınacağı URL: "
 
-#: g10/card-util.c:905 g10/decrypt-data.c:490 g10/import.c:387 g10/import.c:734
-#: g10/import.c:786 dirmngr/crlcache.c:655 dirmngr/crlcache.c:660
-#: dirmngr/crlcache.c:914 dirmngr/crlcache.c:920 dirmngr/dirmngr.c:1668
+#: g10/card-util.c:906 g10/decrypt-data.c:490 g10/import.c:399 g10/import.c:746
+#: g10/import.c:798 dirmngr/crlcache.c:655 dirmngr/crlcache.c:660
+#: dirmngr/crlcache.c:914 dirmngr/crlcache.c:920 dirmngr/dirmngr.c:1705
 #: tools/gpgconf.c:431 tools/gpgconf.c:477
 #, fuzzy, c-format
 #| msgid "error reading `%s': %s\n"
 msgid "error reading '%s': %s\n"
 msgstr "\"%s\" okunurken hata: %s\n"
 
-#: g10/card-util.c:938 g10/decrypt-data.c:493 g10/export.c:2467
+#: g10/card-util.c:939 g10/decrypt-data.c:493 g10/export.c:2467
 #: dirmngr/crlcache.c:925
 #, fuzzy, c-format
 msgid "error writing '%s': %s\n"
 msgstr "`%s' yazılırken hata: %s\n"
 
-#: g10/card-util.c:965
+#: g10/card-util.c:966
 msgid "Login data (account name): "
 msgstr "Oturum açma verisi (hesap adı): "
 
-#: g10/card-util.c:1003
+#: g10/card-util.c:1004
 msgid "Private DO data: "
 msgstr "Özel DO verisi: "
 
-#: g10/card-util.c:1088
+#: g10/card-util.c:1089
 msgid "Language preferences: "
 msgstr "Dil tercihleri: "
 
-#: g10/card-util.c:1096
+#: g10/card-util.c:1097
 msgid "Error: invalid length of preference string.\n"
 msgstr "Hata: tercih dizgesinin uzunluğu geçersiz.\n"
 
-#: g10/card-util.c:1105
+#: g10/card-util.c:1106
 msgid "Error: invalid characters in preference string.\n"
 msgstr "Hata: tercih dizgesindeki karakterler geçersiz.\n"
 
-#: g10/card-util.c:1127
+#: g10/card-util.c:1128
 msgid "Salutation (M = Mr., F = Ms., or space): "
 msgstr ""
 
-#: g10/card-util.c:1141
+#: g10/card-util.c:1142
 msgid "Error: invalid response.\n"
 msgstr "Hata: yanıt geçersiz.\n"
 
-#: g10/card-util.c:1163
+#: g10/card-util.c:1164
 msgid "CA fingerprint: "
 msgstr "CA parmak izi: "
 
-#: g10/card-util.c:1186
+#: g10/card-util.c:1187
 msgid "Error: invalid formatted fingerprint.\n"
 msgstr "Hata: biçimli parmakizi geçersiz\n"
 
-#: g10/card-util.c:1236
+#: g10/card-util.c:1237
 #, c-format
 msgid "key operation not possible: %s\n"
 msgstr "anahtar işlemi mümkün değil: %s\n"
 
-#: g10/card-util.c:1237
+#: g10/card-util.c:1238
 msgid "not an OpenPGP card"
 msgstr "bir OpenPGP kartı değil"
 
-#: g10/card-util.c:1250 g10/keygen.c:4486 g10/keygen.c:5565
+#: g10/card-util.c:1251 g10/keygen.c:4486 g10/keygen.c:5565
 #, c-format
 msgid "error getting current key info: %s\n"
 msgstr "geçerli anahtar bilgisi alınırken hata: %s\n"
 
-#: g10/card-util.c:1335
+#: g10/card-util.c:1336
 msgid "Replace existing key? (y/N) "
 msgstr "Mevcut anahtar değiştirilsin mi? (e/H ya da y/N) "
 
-#: g10/card-util.c:1352
+#: g10/card-util.c:1353
 msgid ""
 "Note: There is no guarantee that the card supports the requested size.\n"
 "      If the key generation does not succeed, please check the\n"
 "      documentation of your card to see what sizes are allowed.\n"
 msgstr ""
 
-#: g10/card-util.c:1374 g10/keygen.c:2363 sm/certreqgen-ui.c:179
+#: g10/card-util.c:1375 g10/keygen.c:2363 sm/certreqgen-ui.c:179
 #, c-format
 msgid "What keysize do you want? (%u) "
 msgstr "İstediğiniz anahtar uzunluğu nedir? (%u) "
 
-#: g10/card-util.c:1384 g10/keygen.c:2286 g10/keygen.c:2318
+#: g10/card-util.c:1385 g10/keygen.c:2286 g10/keygen.c:2318
 #: sm/certreqgen-ui.c:194
 #, c-format
 msgid "rounded up to %u bits\n"
 msgstr "%u bite yuvarlandı\n"
 
-#: g10/card-util.c:1392 g10/keygen.c:2371 sm/certreqgen-ui.c:184
+#: g10/card-util.c:1393 g10/keygen.c:2371 sm/certreqgen-ui.c:184
 #, c-format
 msgid "%s keysizes must be in the range %u-%u\n"
 msgstr "%s anahtar uzunlukları %u-%u aralığında olmalı\n"
 
-#: g10/card-util.c:1411
+#: g10/card-util.c:1412
 msgid "Changing card key attribute for: "
 msgstr ""
 
-#: g10/card-util.c:1413
+#: g10/card-util.c:1414
 #, fuzzy
 #| msgid "   (1) Signature key\n"
 msgid "Signature key\n"
 msgstr "   (1) İmzalama anahtarı\n"
 
-#: g10/card-util.c:1415
+#: g10/card-util.c:1416
 #, fuzzy
 #| msgid "   (2) Encryption key\n"
 msgid "Encryption key\n"
 msgstr "   (2) Şifreleme anahtarı\n"
 
-#: g10/card-util.c:1417
+#: g10/card-util.c:1418
 #, fuzzy
 #| msgid "   (3) Authentication key\n"
 msgid "Authentication key\n"
 msgstr "   (3) Kimlik kanıtlama anahtarı\n"
 
-#: g10/card-util.c:1419 g10/keygen.c:1926 sm/certreqgen-ui.c:157
+#: g10/card-util.c:1420 g10/keygen.c:1926 sm/certreqgen-ui.c:157
 msgid "Please select what kind of key you want:\n"
 msgstr "Lütfen istediğiniz anahtarı seçiniz:\n"
 
-#: g10/card-util.c:1420 sm/certreqgen-ui.c:158
+#: g10/card-util.c:1421 sm/certreqgen-ui.c:158
 #, c-format
 msgid "   (%d) RSA\n"
 msgstr "   (%d) RSA\n"
 
-#: g10/card-util.c:1421
+#: g10/card-util.c:1422
 #, fuzzy, c-format
 msgid "   (%d) ECC\n"
 msgstr "  (%d) DSA ve ElGamal (öntanımlı)\n"
 
-#: g10/card-util.c:1433 g10/card-util.c:1700 g10/card-util.c:1800
-#: g10/keyedit.c:899 g10/keygen.c:1834 g10/keygen.c:1862 g10/keygen.c:1987
+#: g10/card-util.c:1434 g10/card-util.c:1701 g10/card-util.c:1801
+#: g10/keyedit.c:900 g10/keygen.c:1834 g10/keygen.c:1862 g10/keygen.c:1987
 #: g10/keygen.c:2222 g10/keygen.c:2505 g10/revoke.c:838
 msgid "Invalid selection.\n"
 msgstr "Seçim geçersiz.\n"
 
-#: g10/card-util.c:1506
+#: g10/card-util.c:1507
 #, c-format
 msgid "The card will now be re-configured to generate a key of %u bits\n"
 msgstr ""
 
-#: g10/card-util.c:1511
+#: g10/card-util.c:1512
 #, c-format
 msgid "The card will now be re-configured to generate a key of type: %s\n"
 msgstr ""
 
-#: g10/card-util.c:1547
+#: g10/card-util.c:1548
 #, fuzzy, c-format
 msgid "error changing key attribute for key %d: %s\n"
 msgstr "soket `%s'e bağlanırken hata: %s\n"
 
-#: g10/card-util.c:1563 g10/card-util.c:2090
+#: g10/card-util.c:1564 g10/card-util.c:2091
 #, fuzzy, c-format
 #| msgid "error getting current key info: %s\n"
 msgid "error getting card info: %s\n"
 msgstr "geçerli anahtar bilgisi alınırken hata: %s\n"
 
-#: g10/card-util.c:1569 g10/card-util.c:1914 g10/card-util.c:2096
+#: g10/card-util.c:1570 g10/card-util.c:1915 g10/card-util.c:2097
 #, fuzzy, c-format
 #| msgid "This command is not allowed while in %s mode.\n"
 msgid "This command is not supported by this card\n"
 msgstr "%s kipindeyken bu komut kullanılamaz.\n"
 
-#: g10/card-util.c:1615
+#: g10/card-util.c:1616
 msgid "Make off-card backup of encryption key? (Y/n) "
 msgstr "Şifreli anahtarın kartsız yedeği yapılsın mı? (E/h ya da Y/n) "
 
-#: g10/card-util.c:1629
+#: g10/card-util.c:1630
 #, fuzzy, c-format
 msgid "Note: keys are already stored on the card!\n"
 msgstr "gizli anahtar zaten bir kartın üzerinde saklı\n"
 
-#: g10/card-util.c:1632
+#: g10/card-util.c:1633
 msgid "Replace existing keys? (y/N) "
 msgstr "Mevcut anahtarlar değiştirilsin mi? (e/H ya da y/N) "
 
-#: g10/card-util.c:1644
+#: g10/card-util.c:1645
 #, fuzzy, c-format
 #| msgid ""
 #| "Please note that the factory settings of the PINs are\n"
@@ -2068,150 +2086,150 @@ msgstr ""
 "   PIN = `%s'     Admin PIN = `%s'\n"
 "Bunları --change-pin komutunu kullanarak değiştirmelisiniz\n"
 
-#: g10/card-util.c:1679
+#: g10/card-util.c:1680
 msgid "Please select the type of key to generate:\n"
 msgstr "Lütfen üretilecek anahtar türünü seçiniz:\n"
 
-#: g10/card-util.c:1681 g10/card-util.c:1771
+#: g10/card-util.c:1682 g10/card-util.c:1772
 msgid "   (1) Signature key\n"
 msgstr "   (1) İmzalama anahtarı\n"
 
-#: g10/card-util.c:1682 g10/card-util.c:1773
+#: g10/card-util.c:1683 g10/card-util.c:1774
 msgid "   (2) Encryption key\n"
 msgstr "   (2) Şifreleme anahtarı\n"
 
-#: g10/card-util.c:1683 g10/card-util.c:1775
+#: g10/card-util.c:1684 g10/card-util.c:1776
 msgid "   (3) Authentication key\n"
 msgstr "   (3) Kimlik kanıtlama anahtarı\n"
 
-#: g10/card-util.c:1768
+#: g10/card-util.c:1769
 msgid "Please select where to store the key:\n"
 msgstr "Lütfen anahtarın saklanacağı yeri seçiniz:\n"
 
-#: g10/card-util.c:1814
+#: g10/card-util.c:1815
 #, fuzzy, c-format
 #| msgid "read failed: %s\n"
 msgid "KEYTOCARD failed: %s\n"
 msgstr "read başarısız: %s\n"
 
-#: g10/card-util.c:1919
+#: g10/card-util.c:1920
 #, fuzzy, c-format
 msgid "Note: This command destroys all keys stored on the card!\n"
 msgstr "gizli anahtar zaten bir kartın üzerinde saklı\n"
 
-#: g10/card-util.c:1922
+#: g10/card-util.c:1923
 #, fuzzy
 #| msgid "Sign it? (y/N) "
 msgid "Continue? (y/N) "
 msgstr "İmzalayacak mısınız? (e/H veya y/N) "
 
-#: g10/card-util.c:1927
+#: g10/card-util.c:1928
 msgid "Really do a factory reset? (enter \"yes\") "
 msgstr ""
 
-#: g10/card-util.c:2113
+#: g10/card-util.c:2114
 #, fuzzy, c-format
 #| msgid "error closing %s: %s\n"
 msgid "error for setup KDF: %s\n"
 msgstr "%s kapanırken hata: %s\n"
 
-#: g10/card-util.c:2142 g10/keyedit.c:1259
+#: g10/card-util.c:2143 g10/keyedit.c:1260
 msgid "quit this menu"
 msgstr "bu menüden çık"
 
-#: g10/card-util.c:2144
+#: g10/card-util.c:2145
 msgid "show admin commands"
 msgstr "yönetici komutlarını gösterir"
 
-#: g10/card-util.c:2145 g10/keyedit.c:1262
+#: g10/card-util.c:2146 g10/keyedit.c:1263
 msgid "show this help"
 msgstr "bunu gösterir"
 
-#: g10/card-util.c:2147
+#: g10/card-util.c:2148
 msgid "list all available data"
 msgstr "tüm kullanılabilir veriyi listeler"
 
-#: g10/card-util.c:2150
+#: g10/card-util.c:2151
 msgid "change card holder's name"
 msgstr "kart sahibinin ismini değiştirir"
 
-#: g10/card-util.c:2151
+#: g10/card-util.c:2152
 msgid "change URL to retrieve key"
 msgstr "anahtarın alınacağı URL değiştirilir"
 
-#: g10/card-util.c:2152
+#: g10/card-util.c:2153
 msgid "fetch the key specified in the card URL"
 msgstr "kart URL'sinde belirtilmiş anahtarı alır"
 
-#: g10/card-util.c:2153
+#: g10/card-util.c:2154
 msgid "change the login name"
 msgstr "oturum açma ismini değiştirir"
 
-#: g10/card-util.c:2154
+#: g10/card-util.c:2155
 msgid "change the language preferences"
 msgstr "dil tercihlerini değiştirir"
 
-#: g10/card-util.c:2155
+#: g10/card-util.c:2156
 #, fuzzy
 #| msgid "change card holder's sex"
 msgid "change card holder's salutation"
 msgstr "kart sahibinin cinsiyetini değiştirir"
 
-#: g10/card-util.c:2157
+#: g10/card-util.c:2158
 msgid "change a CA fingerprint"
 msgstr "bir CA parmakizini değiştirir"
 
-#: g10/card-util.c:2158
+#: g10/card-util.c:2159
 msgid "toggle the signature force PIN flag"
 msgstr "imza zorlama PIN'i bayrağını değiştirir"
 
-#: g10/card-util.c:2159
+#: g10/card-util.c:2160
 msgid "generate new keys"
 msgstr "yeni anahtarlar üretir"
 
-#: g10/card-util.c:2160
+#: g10/card-util.c:2161
 msgid "menu to change or unblock the PIN"
 msgstr "PIN'i değiştirme veya engelleme menüsü"
 
-#: g10/card-util.c:2161
+#: g10/card-util.c:2162
 msgid "verify the PIN and list all data"
 msgstr "PIN'i doğrular ve tüm veriyi listeler"
 
-#: g10/card-util.c:2162
+#: g10/card-util.c:2163
 msgid "unblock the PIN using a Reset Code"
 msgstr "Bir Sıfırlama Kodu kullanarak PIN'in engelini kaldır"
 
-#: g10/card-util.c:2163
+#: g10/card-util.c:2164
 msgid "destroy all keys and data"
 msgstr ""
 
-#: g10/card-util.c:2164
+#: g10/card-util.c:2165
 msgid "setup KDF for PIN authentication"
 msgstr ""
 
-#: g10/card-util.c:2165
+#: g10/card-util.c:2166
 #, fuzzy
 #| msgid "change the ownertrust"
 msgid "change the key attribute"
 msgstr "sahibiningüvencesini değiştirir"
 
-#: g10/card-util.c:2289
+#: g10/card-util.c:2290
 msgid "gpg/card> "
 msgstr ""
 
-#: g10/card-util.c:2330
+#: g10/card-util.c:2331
 msgid "Admin-only command\n"
 msgstr "Yöneticiye özel komut\n"
 
-#: g10/card-util.c:2361
+#: g10/card-util.c:2362
 msgid "Admin commands are allowed\n"
 msgstr "Yönetici komutlarına izin verilir\n"
 
-#: g10/card-util.c:2363
+#: g10/card-util.c:2364
 msgid "Admin commands are not allowed\n"
 msgstr "Yönetici komutlarına izin verilmez\n"
 
-#: g10/card-util.c:2466 g10/keyedit.c:2228
+#: g10/card-util.c:2467 g10/keyedit.c:2229
 msgid "Invalid command  (try \"help\")\n"
 msgstr "Komut geçersiz (\"help\" komutunu deneyin)\n"
 
@@ -2220,22 +2238,22 @@ msgstr "Komut geçersiz (\"help\" komutunu deneyin)\n"
 msgid "--output doesn't work for this command\n"
 msgstr "--output seçeneği bu komutla çalışmaz\n"
 
-#: g10/decrypt.c:247 g10/gpg.c:5083 g10/keyring.c:399 g10/keyring.c:750
+#: g10/decrypt.c:247 g10/gpg.c:5104 g10/keyring.c:399 g10/keyring.c:750
 #, fuzzy, c-format
 #| msgid "can't open `%s'\n"
 msgid "can't open '%s'\n"
 msgstr "`%s' açılamadı\n"
 
 #: g10/delkey.c:83 g10/export.c:1947 g10/export.c:2230 g10/export.c:2351
-#: g10/getkey.c:1964 g10/gpg.c:5028 g10/keyedit.c:1444 g10/keyedit.c:2334
-#: g10/keyedit.c:2580 g10/keyedit.c:4543 g10/keylist.c:689 g10/keyserver.c:1259
+#: g10/getkey.c:2108 g10/gpg.c:5049 g10/keyedit.c:1445 g10/keyedit.c:2335
+#: g10/keyedit.c:2581 g10/keyedit.c:4544 g10/keylist.c:689 g10/keyserver.c:1092
 #: g10/revoke.c:230 g10/tofu.c:2165
 #, c-format
 msgid "key \"%s\" not found: %s\n"
 msgstr "anahtar \"%s\" yok: %s\n"
 
-#: g10/delkey.c:92 g10/export.c:2015 g10/getkey.c:1972 g10/getkey.c:4346
-#: g10/gpg.c:5037 g10/keyedit.c:2307 g10/keyserver.c:1277 g10/revoke.c:236
+#: g10/delkey.c:92 g10/export.c:2015 g10/getkey.c:2116 g10/getkey.c:4517
+#: g10/gpg.c:5058 g10/keyedit.c:2308 g10/keyserver.c:1110 g10/revoke.c:236
 #: g10/revoke.c:663 g10/tofu.c:2173
 #, c-format
 msgid "error reading keyblock: %s\n"
@@ -2297,9 +2315,9 @@ msgstr ""
 msgid "subkey"
 msgstr "GenAnah: "
 
-#: g10/delkey.c:299 g10/keyedit.c:2200 g10/keyedit.c:2210 g10/keyedit.c:2387
-#: g10/keyedit.c:2461 g10/keyedit.c:2532 g10/keyedit.c:2757 g10/keyedit.c:2987
-#: g10/keyedit.c:3056 g10/keyedit.c:3207
+#: g10/delkey.c:299 g10/keyedit.c:2201 g10/keyedit.c:2211 g10/keyedit.c:2388
+#: g10/keyedit.c:2462 g10/keyedit.c:2533 g10/keyedit.c:2758 g10/keyedit.c:2988
+#: g10/keyedit.c:3057 g10/keyedit.c:3208
 #, c-format
 msgid "update failed: %s\n"
 msgstr "güncelleme başarısız: %s\n"
@@ -2324,7 +2342,7 @@ msgstr "genel anahtar \"%s\" için bir gizli anahtar var!\n"
 msgid "use option \"--delete-secret-keys\" to delete it first.\n"
 msgstr "onu önce \"--delete-secret-keys\" ile silmelisiniz.\n"
 
-#: g10/encrypt.c:202 g10/sign.c:1471
+#: g10/encrypt.c:202 g10/sign.c:1470
 #, c-format
 msgid "error creating passphrase: %s\n"
 msgstr "anahtar parolası oluşturulurken hata: %s\n"
@@ -2351,15 +2369,15 @@ msgstr "`%s' zaten sıkıştırılmış\n"
 msgid "WARNING: '%s' is an empty file\n"
 msgstr "UYARI: \"%s\" dosyası boş\n"
 
-#: g10/encrypt.c:387 g10/encrypt.c:610 g10/decrypt-data.c:260 g10/gpg.c:3901
-#: g10/gpg.c:3941 sm/decrypt.c:364 sm/encrypt.c:415 sm/gpgsm.c:1655
+#: g10/encrypt.c:387 g10/encrypt.c:610 g10/decrypt-data.c:260 g10/gpg.c:3922
+#: g10/gpg.c:3962 sm/decrypt.c:826 sm/encrypt.c:416 sm/gpgsm.c:1555
 #, fuzzy, c-format
 #| msgid "you may not use cipher algorithm `%s' while in %s mode\n"
 msgid "cipher algorithm '%s' may not be used in %s mode\n"
 msgstr "%2$s kipindeyken '%1$s' şifreleme algoritması kullanılamaz\n"
 
-#: g10/encrypt.c:396 g10/gpg.c:3907 g10/gpg.c:3953 g10/sig-check.c:146
-#: g10/sign.c:391 sm/gpgsm.c:1665 sm/gpgsm.c:1675 sm/sign.c:478 sm/verify.c:506
+#: g10/encrypt.c:396 g10/gpg.c:3928 g10/gpg.c:3974 g10/sig-check.c:146
+#: g10/sign.c:391 sm/gpgsm.c:1565 sm/gpgsm.c:1575 sm/sign.c:478 sm/verify.c:506
 #, fuzzy, c-format
 #| msgid "you may not use digest algorithm `%s' while in %s mode\n"
 msgid "digest algorithm '%s' may not be used in %s mode\n"
@@ -2379,13 +2397,13 @@ msgstr ""
 "UYARI: alıcının tercihleriyle çelişen %s (%d) simetrik şifre kullanımı "
 "zorlanıyor\n"
 
-#: g10/encrypt.c:640 sm/encrypt.c:490
+#: g10/encrypt.c:640 sm/encrypt.c:491
 #, fuzzy, c-format
 #| msgid "WARNING: \"%s\" is an obsolete option - it has no effect\n"
 msgid "WARNING: key %s is not suitable for encryption in %s mode\n"
 msgstr "UYARI: \"%s\" seçeneği eskidi - artık etkisiz\n"
 
-#: g10/encrypt.c:751 g10/sign.c:1163
+#: g10/encrypt.c:751 g10/sign.c:1162
 #, c-format
 msgid ""
 "WARNING: forcing compression algorithm %s (%d) violates recipient "
@@ -2416,12 +2434,12 @@ msgstr "%2$s kipindeyken %1$s kullanılamayabilir.\n"
 msgid "%s encrypted data\n"
 msgstr "%s şifreli veri\n"
 
-#: g10/decrypt-data.c:243 g10/mainproc.c:396
+#: g10/decrypt-data.c:243 g10/mainproc.c:397
 #, c-format
 msgid "encrypted with unknown algorithm %d\n"
 msgstr "bilinmeyen algoritma %d ile şifrelenmiş\n"
 
-#: g10/decrypt-data.c:357 g10/decrypt-data.c:410 sm/decrypt.c:130
+#: g10/decrypt-data.c:357 g10/decrypt-data.c:410 sm/decrypt.c:550
 #, c-format
 msgid ""
 "WARNING: message was encrypted with a weak key in the symmetric cipher.\n"
@@ -2437,7 +2455,7 @@ msgstr "şifreli paketin elde edilmesinde sorun var\n"
 msgid "no remote program execution supported\n"
 msgstr "uzaktan uygulama çalıştırılması desteklenmiyor\n"
 
-#: g10/exec.c:381
+#: g10/exec.c:389
 #, c-format
 msgid ""
 "external program calls are disabled due to unsafe options file permissions\n"
@@ -2445,51 +2463,51 @@ msgstr ""
 "güvensiz options dosyası yetkilerinden dolayı dış program çağrıları iptal\n"
 "edildi\n"
 
-#: g10/exec.c:411
+#: g10/exec.c:419
 #, c-format
 msgid "this platform requires temporary files when calling external programs\n"
 msgstr ""
 "bu platformda, dış uygulamalar çalıştırılırken geçici dosyalar gerekiyor\n"
 
-#: g10/exec.c:489
+#: g10/exec.c:497
 #, fuzzy, c-format
 #| msgid "unable to execute program `%s': %s\n"
 msgid "unable to execute program '%s': %s\n"
 msgstr " '%s' çalıştırılamıyor: %s\n"
 
-#: g10/exec.c:492
+#: g10/exec.c:500
 #, fuzzy, c-format
 #| msgid "unable to execute shell `%s': %s\n"
 msgid "unable to execute shell '%s': %s\n"
 msgstr "'%s' kabuğu çalıştırılamıyor: %s\n"
 
-#: g10/exec.c:583
+#: g10/exec.c:591
 #, c-format
 msgid "system error while calling external program: %s\n"
 msgstr "dış uygulama çalıştırılırken sistem hatası: %s\n"
 
-#: g10/exec.c:594 g10/exec.c:661
+#: g10/exec.c:602 g10/exec.c:669
 #, c-format
 msgid "unnatural exit of external program\n"
 msgstr "Dış uygulamamnın doğal olmayan çıkışı\n"
 
-#: g10/exec.c:609
+#: g10/exec.c:617
 #, c-format
 msgid "unable to execute external program\n"
 msgstr "dış uygulama çalıştırılamıyor\n"
 
-#: g10/exec.c:626
+#: g10/exec.c:634
 #, c-format
 msgid "unable to read external program response: %s\n"
 msgstr "dış uygulamanın yanıtı okunamıyor: %s\n"
 
-#: g10/exec.c:672 g10/exec.c:679
+#: g10/exec.c:680 g10/exec.c:687
 #, fuzzy, c-format
 #| msgid "WARNING: unable to remove tempfile (%s) `%s': %s\n"
 msgid "WARNING: unable to remove tempfile (%s) '%s': %s\n"
 msgstr "UYARI: geçici dosya silinemiyor (%s) `%s': %s\n"
 
-#: g10/exec.c:684
+#: g10/exec.c:692
 #, fuzzy, c-format
 #| msgid "WARNING: unable to remove temp directory `%s': %s\n"
 msgid "WARNING: unable to remove temp directory '%s': %s\n"
@@ -2526,8 +2544,8 @@ msgstr ""
 msgid " - skipped"
 msgstr "%s: atlandı: %s\n"
 
-#: g10/export.c:1324 g10/import.c:2073 g10/openfile.c:200 g10/openfile.c:294
-#: g10/sign.c:1013 g10/sign.c:1327
+#: g10/export.c:1324 g10/import.c:2085 g10/openfile.c:200 g10/openfile.c:294
+#: g10/sign.c:1012 g10/sign.c:1326
 #, fuzzy, c-format
 #| msgid "writing to `%s'\n"
 msgid "writing to '%s'\n"
@@ -2564,289 +2582,289 @@ msgstr "`%s' oluşturulurken hata: %s\n"
 msgid "[User ID not found]"
 msgstr "[Kullanıcı kimliği yok]"
 
-#: g10/getkey.c:1297
+#: g10/getkey.c:1441
 #, fuzzy, c-format
 #| msgid "automatically retrieved `%s' via %s\n"
 msgid "automatically retrieved '%s' via %s\n"
 msgstr "`%s' %s üzerinden özdevinimli olarak alındı\n"
 
-#: g10/getkey.c:1303
+#: g10/getkey.c:1447
 #, fuzzy, c-format
 #| msgid "error retrieving `%s' via %s: %s\n"
 msgid "error retrieving '%s' via %s: %s\n"
 msgstr "`%s' %s üzerinden alınırken hata: %s\n"
 
-#: g10/getkey.c:1305
+#: g10/getkey.c:1449
 msgid "No fingerprint"
 msgstr "Parmak izi yok"
 
-#: g10/getkey.c:1526
+#: g10/getkey.c:1670
 #, c-format
 msgid "checking for a fresh copy of an expired key via %s\n"
 msgstr ""
 
-#: g10/getkey.c:1941 g10/revoke.c:655 g10/revoke.c:720
+#: g10/getkey.c:2085 g10/revoke.c:655 g10/revoke.c:720
 #, c-format
 msgid "secret key \"%s\" not found: %s\n"
 msgstr "gizli anahtar \"%s\" yok: %s\n"
 
-#: g10/getkey.c:1944 g10/pkclist.c:988
+#: g10/getkey.c:2088 g10/pkclist.c:988
 #, fuzzy, c-format
 #| msgid "missing argument for option \"%.50s\"\n"
 msgid "(check argument of option '%s')\n"
 msgstr "\"%.50s\" seçeneği için değiştirge eksik\n"
 
-#: g10/getkey.c:2020
+#: g10/getkey.c:2164
 #, fuzzy, c-format
 #| msgid "|NAME|use NAME as default secret key"
 msgid "Warning: not using '%s' as default key: %s\n"
 msgstr "|İSİM|öntanımlı gizli anahtar olarak İSİM kullanılır"
 
-#: g10/getkey.c:2028
+#: g10/getkey.c:2172
 #, fuzzy, c-format
 #| msgid "|NAME|use NAME as default secret key"
 msgid "using \"%s\" as default secret key for signing\n"
 msgstr "|İSİM|öntanımlı gizli anahtar olarak İSİM kullanılır"
 
-#: g10/getkey.c:2035
+#: g10/getkey.c:2179
 #, c-format
 msgid "all values passed to '%s' ignored\n"
 msgstr ""
 
-#: g10/getkey.c:2880
+#: g10/getkey.c:3024
 #, c-format
 msgid "Invalid key %s made valid by --allow-non-selfsigned-uid\n"
 msgstr ""
 "Geçersiz %s anahtarı --allow-non-selfsigned-uid kullanılarak geçerli oldu\n"
 
-#: g10/getkey.c:3730
+#: g10/getkey.c:3874
 #, c-format
 msgid "using subkey %s instead of primary key %s\n"
 msgstr "yardımcı anahtar %s, asıl anahtar %s yerine kullanılıyor\n"
 
-#: g10/getkey.c:4275 g10/gpg.c:2107
+#: g10/getkey.c:4446 g10/gpg.c:2120
 #, fuzzy, c-format
 #| msgid "missing argument for option \"%.50s\"\n"
 msgid "valid values for option '%s':\n"
 msgstr "\"%.50s\" seçeneği için değiştirge eksik\n"
 
-#: g10/gpg.c:442 sm/gpgsm.c:206
+#: g10/gpg.c:439 sm/gpgsm.c:207
 msgid "make a signature"
 msgstr "bir imza yapar"
 
-#: g10/gpg.c:443
+#: g10/gpg.c:440
 msgid "make a clear text signature"
 msgstr "açıkça okunabilen bir imza yapar"
 
-#: g10/gpg.c:445 sm/gpgsm.c:208
+#: g10/gpg.c:442 sm/gpgsm.c:209
 msgid "make a detached signature"
 msgstr "bağımsız bir imza yapar"
 
-#: g10/gpg.c:446 sm/gpgsm.c:209
+#: g10/gpg.c:443 sm/gpgsm.c:210
 msgid "encrypt data"
 msgstr "veriyi şifreler"
 
-#: g10/gpg.c:448
+#: g10/gpg.c:445
 msgid "encryption only with symmetric cipher"
 msgstr "sadece simetrik şifre ile şifreler"
 
-#: g10/gpg.c:450 sm/gpgsm.c:211
+#: g10/gpg.c:447 sm/gpgsm.c:212
 msgid "decrypt data (default)"
 msgstr "veri şifresini açar (öntanımlı)"
 
-#: g10/gpg.c:452 sm/gpgsm.c:212
+#: g10/gpg.c:449 sm/gpgsm.c:213
 msgid "verify a signature"
 msgstr "bir imzayı doğrular"
 
-#: g10/gpg.c:454 sm/gpgsm.c:213
+#: g10/gpg.c:451 sm/gpgsm.c:214
 msgid "list keys"
 msgstr "anahtarları listeler"
 
-#: g10/gpg.c:456
+#: g10/gpg.c:453
 msgid "list keys and signatures"
 msgstr "anahtarları ve imzaları listeler"
 
-#: g10/gpg.c:459
+#: g10/gpg.c:456
 msgid "list and check key signatures"
 msgstr "anahtar imzalarını listeler ve sınar"
 
-#: g10/gpg.c:461 sm/gpgsm.c:218
+#: g10/gpg.c:458 sm/gpgsm.c:219
 msgid "list keys and fingerprints"
 msgstr "anahtarları ve parmak izlerini listeler"
 
-#: g10/gpg.c:462 sm/gpgsm.c:216
+#: g10/gpg.c:459 sm/gpgsm.c:217
 msgid "list secret keys"
 msgstr "gizli anahtarları listeler"
 
-#: g10/gpg.c:464 sm/gpgsm.c:219
+#: g10/gpg.c:461 sm/gpgsm.c:220
 msgid "generate a new key pair"
 msgstr "yeni bir anahtar çifti üretir"
 
-#: g10/gpg.c:467
+#: g10/gpg.c:464
 #, fuzzy
 #| msgid "generate a new key pair"
 msgid "quickly generate a new key pair"
 msgstr "yeni bir anahtar çifti üretir"
 
-#: g10/gpg.c:470
+#: g10/gpg.c:467
 #, fuzzy
 #| msgid "generate a new key pair"
 msgid "quickly add a new user-id"
 msgstr "yeni bir anahtar çifti üretir"
 
-#: g10/gpg.c:475
+#: g10/gpg.c:472
 #, fuzzy
 #| msgid "generate a new key pair"
 msgid "quickly revoke a user-id"
 msgstr "yeni bir anahtar çifti üretir"
 
-#: g10/gpg.c:478
+#: g10/gpg.c:475
 #, fuzzy
 #| msgid "generate a new key pair"
 msgid "quickly set a new expiration date"
 msgstr "yeni bir anahtar çifti üretir"
 
-#: g10/gpg.c:481
+#: g10/gpg.c:478
 msgid "full featured key pair generation"
 msgstr ""
 
-#: g10/gpg.c:484
+#: g10/gpg.c:481
 msgid "generate a revocation certificate"
 msgstr "bir yürürlükten kaldırma sertifikası üretir"
 
-#: g10/gpg.c:487 sm/gpgsm.c:222
+#: g10/gpg.c:484 sm/gpgsm.c:223
 msgid "remove keys from the public keyring"
 msgstr "anahtarları genel anahtar zincirinden siler"
 
-#: g10/gpg.c:489
+#: g10/gpg.c:486
 msgid "remove keys from the secret keyring"
 msgstr "anahtarları gizli anahtar zincirinden siler"
 
-#: g10/gpg.c:491
+#: g10/gpg.c:488
 #, fuzzy
 #| msgid "sign a key"
 msgid "quickly sign a key"
 msgstr "bir anahtarı imzalar"
 
-#: g10/gpg.c:493
+#: g10/gpg.c:490
 #, fuzzy
 #| msgid "sign a key locally"
 msgid "quickly sign a key locally"
 msgstr "bir anahtarı yerel olarak imzalar"
 
-#: g10/gpg.c:495
+#: g10/gpg.c:492
 #, fuzzy
 #| msgid "generate a new key pair"
 msgid "quickly revoke a key signature"
 msgstr "yeni bir anahtar çifti üretir"
 
-#: g10/gpg.c:496
+#: g10/gpg.c:493
 msgid "sign a key"
 msgstr "bir anahtarı imzalar"
 
-#: g10/gpg.c:497
+#: g10/gpg.c:494
 msgid "sign a key locally"
 msgstr "bir anahtarı yerel olarak imzalar"
 
-#: g10/gpg.c:498
+#: g10/gpg.c:495
 msgid "sign or edit a key"
 msgstr "bir anahtarı düzenler ve imzalar"
 
-#: g10/gpg.c:500 sm/gpgsm.c:240
+#: g10/gpg.c:497 sm/gpgsm.c:241
 msgid "change a passphrase"
 msgstr "anahtar parolası değiştirir"
 
-#: g10/gpg.c:504
+#: g10/gpg.c:501
 msgid "export keys"
 msgstr "anahtarları gönderir"
 
-#: g10/gpg.c:505
+#: g10/gpg.c:502
 msgid "export keys to a keyserver"
 msgstr "anahtarları bir anahtar sunucusuna gönderir"
 
-#: g10/gpg.c:506
+#: g10/gpg.c:503
 msgid "import keys from a keyserver"
 msgstr "anahtarları bir anahtar sunucusundan indirir"
 
-#: g10/gpg.c:509
+#: g10/gpg.c:506
 msgid "search for keys on a keyserver"
 msgstr "bir anahtar sunucusunda anahtarları arar"
 
-#: g10/gpg.c:511
+#: g10/gpg.c:508
 msgid "update all keys from a keyserver"
 msgstr "anahtarları bir anahtar sunucusundan günceller"
 
-#: g10/gpg.c:519
+#: g10/gpg.c:516
 msgid "import/merge keys"
 msgstr "anahtarları indirir/katıştırır"
 
-#: g10/gpg.c:522
+#: g10/gpg.c:519
 msgid "print the card status"
 msgstr "kart durumunu basar"
 
-#: g10/gpg.c:523
+#: g10/gpg.c:520
 msgid "change data on a card"
 msgstr "kart üzerindeki veriyi değiştirir"
 
-#: g10/gpg.c:525
+#: g10/gpg.c:522
 msgid "change a card's PIN"
 msgstr "bir kartın PIN'ini değiştirir"
 
-#: g10/gpg.c:537
+#: g10/gpg.c:534
 msgid "update the trust database"
 msgstr "güvence veritabanını günceller"
 
-#: g10/gpg.c:546
+#: g10/gpg.c:543
 msgid "print message digests"
 msgstr "ileti özetlerini gösterir"
 
-#: g10/gpg.c:549 sm/gpgsm.c:235
+#: g10/gpg.c:546 sm/gpgsm.c:236
 msgid "run in server mode"
 msgstr "sunucu kipinde çalışır"
 
-#: g10/gpg.c:551
+#: g10/gpg.c:548
 msgid "|VALUE|set the TOFU policy for a key"
 msgstr ""
 
-#: g10/gpg.c:555 sm/gpgsm.c:254
+#: g10/gpg.c:552 sm/gpgsm.c:255
 msgid "create ascii armored output"
 msgstr "ascii zırhlı çıktı oluşturur"
 
-#: g10/gpg.c:558 sm/gpgsm.c:271
+#: g10/gpg.c:555 sm/gpgsm.c:272
 msgid "|USER-ID|encrypt for USER-ID"
 msgstr "|KULLANICI-KİMLİĞİ|KULLANICI-KİMLİĞİ için şifreleme yapar"
 
-#: g10/gpg.c:574 sm/gpgsm.c:307
+#: g10/gpg.c:571 sm/gpgsm.c:308
 msgid "|USER-ID|use USER-ID to sign or decrypt"
 msgstr ""
 "|KULLANICI-KİMLİĞİ|imzalamak ya da şifre çözmek için KULLANICI-KİMLİĞİ "
 "kullanılır"
 
-#: g10/gpg.c:580
+#: g10/gpg.c:577
 msgid "|N|set compress level to N (0 disables)"
 msgstr "|N|sıkıştırma seviyesi N olarak ayarlanır (0 iptal eder)"
 
-#: g10/gpg.c:587
+#: g10/gpg.c:584
 msgid "use canonical text mode"
 msgstr "kurallı metin kipini kullanır"
 
-#: g10/gpg.c:604 g10/gpgv.c:82 sm/gpgsm.c:309
+#: g10/gpg.c:601 g10/gpgv.c:82 sm/gpgsm.c:310
 msgid "|FILE|write output to FILE"
 msgstr "|DOSYA|çıktı DOSYAya yazılır"
 
-#: g10/gpg.c:614 kbx/kbxutil.c:90 sm/gpgsm.c:321 tools/gpgconf.c:110
+#: g10/gpg.c:611 kbx/kbxutil.c:90 sm/gpgsm.c:322 tools/gpgconf.c:110
 msgid "do not make any changes"
 msgstr "hiçbir değişiklik yapmaz"
 
-#: g10/gpg.c:615
+#: g10/gpg.c:612
 msgid "prompt before overwriting"
 msgstr "üzerine yazmadan önce sorar"
 
-#: g10/gpg.c:665
+#: g10/gpg.c:662
 msgid "use strict OpenPGP behavior"
 msgstr "kesin OpenPGP davranışı etkin olur"
 
-#: g10/gpg.c:692 sm/gpgsm.c:364
+#: g10/gpg.c:689 sm/gpgsm.c:367
 msgid ""
 "@\n"
 "(See the man page for a complete listing of all commands and options)\n"
@@ -2854,7 +2872,7 @@ msgstr ""
 "@\n"
 "(Tüm komut ve seçeneklerin komple listesi için man sayfalarına bakın)\n"
 
-#: g10/gpg.c:695
+#: g10/gpg.c:692
 #, fuzzy
 #| msgid ""
 #| "@\n"
@@ -2884,13 +2902,13 @@ msgstr ""
 " --list-keys [isimler]      anahtarları listeler\n"
 " --fingerprint [isimler]    parmak izlerini gösterir\n"
 
-#: g10/gpg.c:1092
+#: g10/gpg.c:1096
 #, fuzzy
 #| msgid "Usage: gpg [options] [files] (-h for help)"
 msgid "Usage: @GPG@ [options] [files] (-h for help)"
 msgstr "Kullanımı: gpg [seçenekler] [dosyalar] (yardım için -h)"
 
-#: g10/gpg.c:1095
+#: g10/gpg.c:1099
 #, fuzzy
 #| msgid ""
 #| "Syntax: gpg [options] [files]\n"
@@ -2905,7 +2923,7 @@ msgstr ""
 "imzalama, kontrol, şifreleme veya çözme\n"
 "öntanımlı işlem girilen veriye bağımlıdır\n"
 
-#: g10/gpg.c:1106 sm/gpgsm.c:591
+#: g10/gpg.c:1110 sm/gpgsm.c:594
 msgid ""
 "\n"
 "Supported algorithms:\n"
@@ -2913,82 +2931,82 @@ msgstr ""
 "\n"
 "Desteklenen algoritmalar:\n"
 
-#: g10/gpg.c:1109
+#: g10/gpg.c:1113
 msgid "Pubkey: "
 msgstr "GenAnah: "
 
-#: g10/gpg.c:1116 g10/keyedit.c:3281
+#: g10/gpg.c:1120 g10/keyedit.c:3282
 msgid "Cipher: "
 msgstr "Şifre: "
 
-#: g10/gpg.c:1123
+#: g10/gpg.c:1127
 msgid "Hash: "
 msgstr "Hash: "
 
-#: g10/gpg.c:1130 g10/keyedit.c:3347
+#: g10/gpg.c:1134 g10/keyedit.c:3348
 msgid "Compression: "
 msgstr "Sıkıştırma: "
 
-#: g10/gpg.c:1199 sm/gpgsm.c:665
+#: g10/gpg.c:1207 sm/gpgsm.c:668
 #, fuzzy, c-format
 #| msgid "usage: gpgsm [options] "
 msgid "usage: %s [options] %s\n"
 msgstr "kullanımı: gpgsm [seçenekler] "
 
-#: g10/gpg.c:1388 sm/gpgsm.c:754
+#: g10/gpg.c:1396 sm/gpgsm.c:761
 #, c-format
 msgid "conflicting commands\n"
 msgstr "çelişen komutlar\n"
 
-#: g10/gpg.c:1406
+#: g10/gpg.c:1414
 #, fuzzy, c-format
 #| msgid "no = sign found in group definition `%s'\n"
 msgid "no = sign found in group definition '%s'\n"
 msgstr "grup tanımı '%s' içinde = işareti yok\n"
 
-#: g10/gpg.c:1604
+#: g10/gpg.c:1612
 #, fuzzy, c-format
 #| msgid "WARNING: unsafe ownership on homedir `%s'\n"
 msgid "WARNING: unsafe ownership on homedir '%s'\n"
 msgstr "UYARI: '%s' evdizininde güvensiz iyelik\n"
 
-#: g10/gpg.c:1607
+#: g10/gpg.c:1615
 #, fuzzy, c-format
 #| msgid "WARNING: unsafe ownership on configuration file `%s'\n"
 msgid "WARNING: unsafe ownership on configuration file '%s'\n"
 msgstr "UYARI: '%s' yapılandırma dosyasında güvensiz iyelik\n"
 
-#: g10/gpg.c:1610
+#: g10/gpg.c:1618
 #, fuzzy, c-format
 #| msgid "WARNING: unsafe ownership on extension `%s'\n"
 msgid "WARNING: unsafe ownership on extension '%s'\n"
 msgstr "UYARI: '%s' eklentisinde güvensiz iyelik\n"
 
-#: g10/gpg.c:1616
+#: g10/gpg.c:1624
 #, fuzzy, c-format
 #| msgid "WARNING: unsafe permissions on homedir `%s'\n"
 msgid "WARNING: unsafe permissions on homedir '%s'\n"
 msgstr "UYARI: UYARI: '%s' evdizininde güvensiz izinler\n"
 
-#: g10/gpg.c:1619
+#: g10/gpg.c:1627
 #, fuzzy, c-format
 #| msgid "WARNING: unsafe permissions on configuration file `%s'\n"
 msgid "WARNING: unsafe permissions on configuration file '%s'\n"
 msgstr "UYARI: '%s' yapılandırma dosyasında güvensiz izinler\n"
 
-#: g10/gpg.c:1622
+#: g10/gpg.c:1630
 #, fuzzy, c-format
 #| msgid "WARNING: unsafe permissions on extension `%s'\n"
 msgid "WARNING: unsafe permissions on extension '%s'\n"
 msgstr "UYARI: '%s' eklentisinde güvensiz izinler\n"
 
-#: g10/gpg.c:1628
+#: g10/gpg.c:1636
 #, fuzzy, c-format
 #| msgid "WARNING: unsafe enclosing directory ownership on homedir `%s'\n"
 msgid "WARNING: unsafe enclosing directory ownership on homedir '%s'\n"
 msgstr "UYARI: '%s' evdizinindeki ilgili dizinin iyeliği güvensiz\n"
 
-#: g10/gpg.c:1631
+#: g10/gpg.c:1639
 #, fuzzy, c-format
 #| msgid ""
 #| "WARNING: unsafe enclosing directory ownership on configuration file `%s'\n"
@@ -2996,19 +3014,19 @@ msgid ""
 "WARNING: unsafe enclosing directory ownership on configuration file '%s'\n"
 msgstr "UYARI: '%s' yapılandırma dosyasını içeren dizinin iyeliği güvensiz\n"
 
-#: g10/gpg.c:1634
+#: g10/gpg.c:1642
 #, fuzzy, c-format
 #| msgid "WARNING: unsafe enclosing directory ownership on extension `%s'\n"
 msgid "WARNING: unsafe enclosing directory ownership on extension '%s'\n"
 msgstr "UYARI: '%s' eklentisini içeren dizinin iyeliği güvensiz\n"
 
-#: g10/gpg.c:1640
+#: g10/gpg.c:1648
 #, fuzzy, c-format
 #| msgid "WARNING: unsafe enclosing directory permissions on homedir `%s'\n"
 msgid "WARNING: unsafe enclosing directory permissions on homedir '%s'\n"
 msgstr "UYARI: '%s' evdizinindeki ilgili dizinin izinleri güvensiz\n"
 
-#: g10/gpg.c:1643
+#: g10/gpg.c:1651
 #, fuzzy, c-format
 #| msgid ""
 #| "WARNING: unsafe enclosing directory permissions on configuration file `"
@@ -3017,474 +3035,474 @@ msgid ""
 "WARNING: unsafe enclosing directory permissions on configuration file '%s'\n"
 msgstr "UYARI: '%s' yapılandırma dosyasını içeren dizinin izinleri güvensiz\n"
 
-#: g10/gpg.c:1646
+#: g10/gpg.c:1654
 #, fuzzy, c-format
 #| msgid "WARNING: unsafe enclosing directory permissions on extension `%s'\n"
 msgid "WARNING: unsafe enclosing directory permissions on extension '%s'\n"
 msgstr "UYARI: '%s' eklentisini içeren dizinin izinleri güvensiz\n"
 
-#: g10/gpg.c:1862
+#: g10/gpg.c:1870
 #, fuzzy, c-format
 #| msgid "unknown configuration item `%s'\n"
 msgid "unknown configuration item '%s'\n"
 msgstr "yapılandırma öğesi '%s' bilinmiyor\n"
 
-#: g10/gpg.c:1979
+#: g10/gpg.c:1992
 msgid "display photo IDs during key listings"
 msgstr "anahtarların listelenmesi sırasında foto kimliklerini gösterir"
 
-#: g10/gpg.c:1981
+#: g10/gpg.c:1994
 #, fuzzy
 #| msgid "show user ID validity during key listings"
 msgid "show key usage information during key listings"
 msgstr "anahtar listelemesi sırasında kullanıcı kimliği geçerliliğini gösterir"
 
-#: g10/gpg.c:1983
+#: g10/gpg.c:1996
 msgid "show policy URLs during signature listings"
 msgstr "imza listelemesi sırasında poliçe URLleri gösterilir"
 
-#: g10/gpg.c:1985
+#: g10/gpg.c:1998
 msgid "show all notations during signature listings"
 msgstr "imza listelemesi sırasında tüm simgelemi gösterir"
 
-#: g10/gpg.c:1987
+#: g10/gpg.c:2000
 msgid "show IETF standard notations during signature listings"
 msgstr "imza listelemesi sırasında IETF standart simgelemlerini gösterir"
 
-#: g10/gpg.c:1991
+#: g10/gpg.c:2004
 msgid "show user-supplied notations during signature listings"
 msgstr "imza listelemesi sırasında kullanıcı kanaklı simgelemleri gösterir"
 
-#: g10/gpg.c:1993
+#: g10/gpg.c:2006
 msgid "show preferred keyserver URLs during signature listings"
 msgstr ""
 "imza listelemesi sırasında tercih edilen anahtar sunucusu adresi gösterilir"
 
-#: g10/gpg.c:1995
+#: g10/gpg.c:2008
 msgid "show user ID validity during key listings"
 msgstr "anahtar listelemesi sırasında kullanıcı kimliği geçerliliğini gösterir"
 
-#: g10/gpg.c:1997
+#: g10/gpg.c:2010
 msgid "show revoked and expired user IDs in key listings"
 msgstr ""
 "anahtar listelerinde yürürlükten kaldırılmış ve zamanaşımına uğramış "
 "kullanıcı kimlikleri gösterilir"
 
-#: g10/gpg.c:1999
+#: g10/gpg.c:2012
 msgid "show revoked and expired subkeys in key listings"
 msgstr ""
 "anahtar listelerinde yürürlükten kaldırılmış ve zamanaşımına uğramış "
 "yardımcı anahtarlar gösterilir"
 
-#: g10/gpg.c:2001
+#: g10/gpg.c:2014
 msgid "show the keyring name in key listings"
 msgstr "anahtar zinciri ismini anahtar listelerinde gösterir"
 
-#: g10/gpg.c:2003
+#: g10/gpg.c:2016
 msgid "show expiration dates during signature listings"
 msgstr "imza listelemesi sırasında zamanaşımı tarihleri gösterilir"
 
-#: g10/gpg.c:2118
+#: g10/gpg.c:2131
 #, fuzzy, c-format
 #| msgid "unknown option `%s'\n"
 msgid "unknown TOFU policy '%s'\n"
 msgstr "`%s' seçeneği bilinmiyor\n"
 
-#: g10/gpg.c:2120
+#: g10/gpg.c:2133
 #, c-format
 msgid "(use \"help\" to list choices)\n"
 msgstr ""
 
-#: g10/gpg.c:2840 g10/gpg.c:3671 g10/gpg.c:3683
+#: g10/gpg.c:2856 g10/gpg.c:3691 g10/gpg.c:3703
 #, fuzzy, c-format
 #| msgid "NOTE: %s is not for normal use!\n"
 msgid "Note: %s is not for normal use!\n"
 msgstr "BİLGİ: %s normal kullanım için değil!\n"
 
-#: g10/gpg.c:3017 g10/gpg.c:3029
+#: g10/gpg.c:3033 g10/gpg.c:3045
 #, fuzzy, c-format
 #| msgid "`%s' is not a valid signature expiration\n"
 msgid "'%s' is not a valid signature expiration\n"
 msgstr "'%s' geçerli bir imza zamanaşımı değil\n"
 
-#: g10/gpg.c:3051
+#: g10/gpg.c:3067
 #, fuzzy, c-format
 #| msgid "line %d: not a valid email address\n"
 msgid "\"%s\" is not a proper mail address\n"
 msgstr "%d. satır: geçerli bir eposta adresi değil\n"
 
-#: g10/gpg.c:3083 sm/gpgsm.c:1177
+#: g10/gpg.c:3099 sm/gpgsm.c:1091
 #, fuzzy, c-format
 #| msgid "invalid country code in `%s', line %d\n"
 msgid "invalid pinentry mode '%s'\n"
 msgstr "`%s', %d. satırındaki ülke kodu geçersiz\n"
 
-#: g10/gpg.c:3089 sm/gpgsm.c:1183
+#: g10/gpg.c:3105 sm/gpgsm.c:1097
 #, fuzzy, c-format
 #| msgid "missing argument for option \"%.50s\"\n"
 msgid "invalid request origin '%s'\n"
 msgstr "\"%.50s\" seçeneği için değiştirge eksik\n"
 
-#: g10/gpg.c:3143
+#: g10/gpg.c:3159
 #, fuzzy, c-format
 #| msgid "`%s' is not a valid character set\n"
 msgid "'%s' is not a valid character set\n"
 msgstr "'%s' geçerli bir karakter kümesi değil\n"
 
-#: g10/gpg.c:3165 g10/gpg.c:3375 g10/keyedit.c:5281
+#: g10/gpg.c:3181 g10/gpg.c:3395 g10/keyedit.c:5282
 #, c-format
 msgid "could not parse keyserver URL\n"
 msgstr "anahtar sunucusunun adresi çözümlenemedi\n"
 
-#: g10/gpg.c:3183
+#: g10/gpg.c:3199
 #, c-format
 msgid "%s:%d: invalid keyserver options\n"
 msgstr "%s:%d: anahtar sunucusu seçenekleri geçersiz\n"
 
-#: g10/gpg.c:3186
+#: g10/gpg.c:3202
 #, c-format
 msgid "invalid keyserver options\n"
 msgstr "anahtar sunucusu seçenekleri geçersiz\n"
 
-#: g10/gpg.c:3193
+#: g10/gpg.c:3209
 #, c-format
 msgid "%s:%d: invalid import options\n"
 msgstr "%s:%d: geçersiz içselleştirme seçenekleri\n"
 
-#: g10/gpg.c:3196
+#: g10/gpg.c:3212
 #, c-format
 msgid "invalid import options\n"
 msgstr "içselleştirme seçenekleri geçersiz\n"
 
-#: g10/gpg.c:3202 g10/gpg.c:3217
+#: g10/gpg.c:3218 g10/gpg.c:3233
 #, fuzzy, c-format
 #| msgid "invalid list options\n"
 msgid "invalid filter option: %s\n"
 msgstr "liste seçenekleri geçersiz\n"
 
-#: g10/gpg.c:3208
+#: g10/gpg.c:3224
 #, c-format
 msgid "%s:%d: invalid export options\n"
 msgstr "%s:%d geçersiz dışsallaştırma seçenekleri\n"
 
-#: g10/gpg.c:3211
+#: g10/gpg.c:3227
 #, c-format
 msgid "invalid export options\n"
 msgstr "dışsallaştırma seçenekleri geçersiz\n"
 
-#: g10/gpg.c:3223
+#: g10/gpg.c:3239
 #, c-format
 msgid "%s:%d: invalid list options\n"
 msgstr "%s:%d: liste seçenekleri geçersiz\n"
 
-#: g10/gpg.c:3226
+#: g10/gpg.c:3242
 #, c-format
 msgid "invalid list options\n"
 msgstr "liste seçenekleri geçersiz\n"
 
-#: g10/gpg.c:3234
+#: g10/gpg.c:3250
 msgid "display photo IDs during signature verification"
 msgstr "imza doğrulaması sırasında foto kimliklerini gösterir"
 
-#: g10/gpg.c:3236
+#: g10/gpg.c:3252
 msgid "show policy URLs during signature verification"
 msgstr "imza doğrulaması sırasında poliçe adreslerini gösterir"
 
-#: g10/gpg.c:3238
+#: g10/gpg.c:3254
 msgid "show all notations during signature verification"
 msgstr "imza doğrulaması sırasında tüm simgelemi gösterir"
 
-#: g10/gpg.c:3240
+#: g10/gpg.c:3256
 msgid "show IETF standard notations during signature verification"
 msgstr "imza doğrulaması sırasında IETF standart simgelemlerini gösterir"
 
-#: g10/gpg.c:3244
+#: g10/gpg.c:3260
 msgid "show user-supplied notations during signature verification"
 msgstr "imza doğrulaması sırasında kullanıcı kaynaklı simgelemleri gösterir"
 
-#: g10/gpg.c:3246
+#: g10/gpg.c:3262
 msgid "show preferred keyserver URLs during signature verification"
 msgstr ""
 "imza doğrulaması sırasında tercih edilen anahtar sunucusu adresleri "
 "gösterilir"
 
-#: g10/gpg.c:3248
+#: g10/gpg.c:3264
 msgid "show user ID validity during signature verification"
 msgstr "imza doğrulaması sırasında kullanıcı kimliği geçerliliğini gösterir"
 
-#: g10/gpg.c:3250
+#: g10/gpg.c:3266
 msgid "show revoked and expired user IDs in signature verification"
 msgstr ""
 "imza doğrulamasında yürürlükten kaldırılan ve zamanaşımına uğrayan kullanıcı "
 "kimlikleri gösterilir"
 
-#: g10/gpg.c:3252
+#: g10/gpg.c:3268
 msgid "show only the primary user ID in signature verification"
 msgstr "imza doğrulamasında sadece birincil kullanıcı kimlik gösterilir"
 
-#: g10/gpg.c:3254
+#: g10/gpg.c:3270
 msgid "validate signatures with PKA data"
 msgstr "imzaları PKA verisi ile doğrular"
 
-#: g10/gpg.c:3256
+#: g10/gpg.c:3272
 msgid "elevate the trust of signatures with valid PKA data"
 msgstr "imzaların güvenilirliğini geçerli PKA verisi ile yükseltir"
 
-#: g10/gpg.c:3263
+#: g10/gpg.c:3279
 #, c-format
 msgid "%s:%d: invalid verify options\n"
 msgstr "%s:%d doğrulama seçenekleri geçersiz\n"
 
-#: g10/gpg.c:3266
+#: g10/gpg.c:3282
 #, c-format
 msgid "invalid verify options\n"
 msgstr "doğrulama seçenekleri geçersiz\n"
 
-#: g10/gpg.c:3273
+#: g10/gpg.c:3289
 #, c-format
 msgid "unable to set exec-path to %s\n"
 msgstr "çalıştırılabilirlerin patikası %s yapılamıyor\n"
 
-#: g10/gpg.c:3478
+#: g10/gpg.c:3498
 #, c-format
 msgid "%s:%d: invalid auto-key-locate list\n"
 msgstr "%s:%d: özdevinimli anahtar konumlama listesi geçersiz\n"
 
-#: g10/gpg.c:3481
+#: g10/gpg.c:3501
 #, c-format
 msgid "invalid auto-key-locate list\n"
 msgstr "özdevinimli anahtar konumlama listesi geçersiz\n"
 
-#: g10/gpg.c:3653 sm/gpgsm.c:1541
+#: g10/gpg.c:3673 sm/gpgsm.c:1441
 #, c-format
 msgid "WARNING: program may create a core file!\n"
 msgstr "UYARI: program bir \"core\" dosyası oluşturabilir!\n"
 
-#: g10/gpg.c:3664
+#: g10/gpg.c:3684
 #, c-format
 msgid "WARNING: %s overrides %s\n"
 msgstr "UYARI: %s %s'i aşıyor\n"
 
-#: g10/gpg.c:3673
+#: g10/gpg.c:3693
 #, c-format
 msgid "%s not allowed with %s!\n"
 msgstr "%s ile %s birlikte kullanılmaz!\n"
 
-#: g10/gpg.c:3676
+#: g10/gpg.c:3696
 #, c-format
 msgid "%s makes no sense with %s!\n"
 msgstr "%s, %s ile etkisiz olur!\n"
 
-#: g10/gpg.c:3691 sm/gpgsm.c:1558 dirmngr/dirmngr.c:1082
+#: g10/gpg.c:3711 sm/gpgsm.c:1458 dirmngr/dirmngr.c:1117
 #, c-format
 msgid "WARNING: running with faked system time: "
 msgstr "UYARI: sahte sistem zamanıyla çalışıyor: "
 
-#: g10/gpg.c:3712
+#: g10/gpg.c:3732
 #, c-format
 msgid "will not run with insecure memory due to %s\n"
 msgstr "%s olmasından dolayı güvensiz bellekle çalıştırılmayacak\n"
 
-#: g10/gpg.c:3747 g10/gpg.c:3771 sm/gpgsm.c:1625
+#: g10/gpg.c:3767 g10/gpg.c:3791 sm/gpgsm.c:1525
 #, c-format
 msgid "selected cipher algorithm is invalid\n"
 msgstr "seçilen şifre algoritması geçersiz\n"
 
-#: g10/gpg.c:3759
+#: g10/gpg.c:3779
 #, c-format
 msgid "selected compression algorithm is invalid\n"
 msgstr "seçilen şifre algoritması geçersiz\n"
 
-#: g10/gpg.c:3765
+#: g10/gpg.c:3785
 #, c-format
 msgid "selected certification digest algorithm is invalid\n"
 msgstr "seçilen sertifikalama özet algoritması geçersiz\n"
 
-#: g10/gpg.c:3780
+#: g10/gpg.c:3800
 #, c-format
 msgid "completes-needed must be greater than 0\n"
 msgstr "\"completes-needed\" 0 dan büyük olmalı\n"
 
-#: g10/gpg.c:3782
+#: g10/gpg.c:3802
 #, c-format
 msgid "marginals-needed must be greater than 1\n"
 msgstr "\"marginals-needed\" 1 den büyük olmalı\n"
 
-#: g10/gpg.c:3784
+#: g10/gpg.c:3804
 #, c-format
 msgid "max-cert-depth must be in the range from 1 to 255\n"
 msgstr "\"max-cert-depth\" 1 ile 255 arasında olmalı\n"
 
-#: g10/gpg.c:3786
+#: g10/gpg.c:3806
 #, c-format
 msgid "invalid default-cert-level; must be 0, 1, 2, or 3\n"
 msgstr "öntanımlı sertifika seviyesi geçersiz; 0, 1, 2, ya da 3 olabilir\n"
 
-#: g10/gpg.c:3788
+#: g10/gpg.c:3808
 #, c-format
 msgid "invalid min-cert-level; must be 1, 2, or 3\n"
 msgstr "asgari sertifika seviyesi geçersiz; 1, 2, ya da 3 olabilir\n"
 
-#: g10/gpg.c:3791
+#: g10/gpg.c:3812
 #, fuzzy, c-format
 #| msgid "NOTE: simple S2K mode (0) is strongly discouraged\n"
 msgid "Note: simple S2K mode (0) is strongly discouraged\n"
 msgstr "BİLGİ: basit S2K kipi (0) kesinlikle tavsiye edilmez\n"
 
-#: g10/gpg.c:3795
+#: g10/gpg.c:3816
 #, c-format
 msgid "invalid S2K mode; must be 0, 1 or 3\n"
 msgstr "S2K kipi geçersiz; 0, 1 veya 3 olmalı\n"
 
-#: g10/gpg.c:3802
+#: g10/gpg.c:3823
 #, c-format
 msgid "invalid default preferences\n"
 msgstr "öntanımlı tercihler geçersiz\n"
 
-#: g10/gpg.c:3806
+#: g10/gpg.c:3827
 #, c-format
 msgid "invalid personal cipher preferences\n"
 msgstr "kişisel şifre tercihleri geçersiz\n"
 
-#: g10/gpg.c:3810
+#: g10/gpg.c:3831
 #, c-format
 msgid "invalid personal digest preferences\n"
 msgstr "kişisel özet tercihleri geçersiz\n"
 
-#: g10/gpg.c:3814
+#: g10/gpg.c:3835
 #, c-format
 msgid "invalid personal compress preferences\n"
 msgstr "kişisel sıkıştırma tercihleri geçersiz\n"
 
-#: g10/gpg.c:3850
+#: g10/gpg.c:3871
 #, c-format
 msgid "%s does not yet work with %s\n"
 msgstr "%s, %s ile henüz çalışmıyor\n"
 
-#: g10/gpg.c:3913
+#: g10/gpg.c:3934
 #, fuzzy, c-format
 #| msgid "you may not use compression algorithm `%s' while in %s mode\n"
 msgid "compression algorithm '%s' may not be used in %s mode\n"
 msgstr "%2$s kipindeyken '%1$s' sıkıştırma algoritması kullanılamaz\n"
 
-#: g10/gpg.c:4057
+#: g10/gpg.c:4078
 #, c-format
 msgid "failed to initialize the TrustDB: %s\n"
 msgstr "\"TrustDB\" güvence veritabanı başlangıç aşamasında başarısız: %s\n"
 
-#: g10/gpg.c:4069
+#: g10/gpg.c:4090
 #, c-format
 msgid "WARNING: recipients (-r) given without using public key encryption\n"
 msgstr ""
 "UYARI: alıcılar (-r) genel anahtar şifrelemesi kullanılmadan belirtilmiş\n"
 
-#: g10/gpg.c:4141
+#: g10/gpg.c:4162
 #, fuzzy, c-format
 #| msgid "symmetric encryption of `%s' failed: %s\n"
 msgid "symmetric encryption of '%s' failed: %s\n"
 msgstr "`%s' için simetrik şifreleme başarısız: %s\n"
 
-#: g10/gpg.c:4170
+#: g10/gpg.c:4191
 #, c-format
 msgid "you cannot use --symmetric --encrypt with --s2k-mode 0\n"
 msgstr "--s2k-mode 0 ile  --symmetric --encrypt kullanamazsınız\n"
 
-#: g10/gpg.c:4173
+#: g10/gpg.c:4194
 #, fuzzy, c-format
 #| msgid "you cannot use --symmetric --encrypt while in %s mode\n"
 msgid "you cannot use --symmetric --encrypt in %s mode\n"
 msgstr "%s kipindeyken  --symmetric --encrypt kullanamazsınız\n"
 
-#: g10/gpg.c:4231
+#: g10/gpg.c:4252
 #, c-format
 msgid "you cannot use --symmetric --sign --encrypt with --s2k-mode 0\n"
 msgstr "--s2k-mode 0 ile --symmetric --sign --encrypt kullanamazsınız\n"
 
-#: g10/gpg.c:4234
+#: g10/gpg.c:4255
 #, fuzzy, c-format
 #| msgid "you cannot use --symmetric --sign --encrypt while in %s mode\n"
 msgid "you cannot use --symmetric --sign --encrypt in %s mode\n"
 msgstr "%s kipindeyken --symmetric --sign --encrypt kullanamazsınız.\n"
 
-#: g10/gpg.c:4622 g10/keyserver.c:1881
+#: g10/gpg.c:4643 g10/keyserver.c:1648
 #, c-format
 msgid "keyserver send failed: %s\n"
 msgstr "anahtar sunucusuna gönderim başarısızlığa uğradı: %s\n"
 
-#: g10/gpg.c:4627
+#: g10/gpg.c:4648
 #, c-format
 msgid "keyserver receive failed: %s\n"
 msgstr "anahtar sunucusundan alım başarısızlığa uğradı: %s\n"
 
-#: g10/gpg.c:4633
+#: g10/gpg.c:4654
 #, c-format
 msgid "key export failed: %s\n"
 msgstr "anahtar ihracı başarısızlığa uğradı: %s\n"
 
-#: g10/gpg.c:4646
+#: g10/gpg.c:4667
 #, fuzzy, c-format
 #| msgid "key export failed: %s\n"
 msgid "export as ssh key failed: %s\n"
 msgstr "anahtar ihracı başarısızlığa uğradı: %s\n"
 
-#: g10/gpg.c:4658
+#: g10/gpg.c:4679
 #, c-format
 msgid "keyserver search failed: %s\n"
 msgstr "anahtar sunucusunda arama başarısız: %s\n"
 
-#: g10/gpg.c:4671
+#: g10/gpg.c:4692
 #, c-format
 msgid "keyserver refresh failed: %s\n"
 msgstr "anahtar sunucusunda tazeleme başarısız: %s\n"
 
-#: g10/gpg.c:4738
+#: g10/gpg.c:4759
 #, c-format
 msgid "dearmoring failed: %s\n"
 msgstr "zırhın kaldırılması başarısız: %s\n"
 
-#: g10/gpg.c:4749
+#: g10/gpg.c:4770
 #, c-format
 msgid "enarmoring failed: %s\n"
 msgstr "zırhlama başarısız: %s\n"
 
-#: g10/gpg.c:4841
+#: g10/gpg.c:4862
 #, fuzzy, c-format
 #| msgid "invalid hash algorithm `%s'\n"
 msgid "invalid hash algorithm '%s'\n"
 msgstr "`%s' çittirim algoritması geçersiz\n"
 
-#: g10/gpg.c:4993 g10/tofu.c:2153
+#: g10/gpg.c:5014 g10/tofu.c:2153
 #, fuzzy, c-format
 #| msgid "error storing certificate: %s\n"
 msgid "error parsing key specification '%s': %s\n"
 msgstr "serifika saklanırken hata: %s\n"
 
-#: g10/gpg.c:5006
+#: g10/gpg.c:5027
 #, c-format
 msgid "'%s' does not appear to be a valid key ID, fingerprint or keygrip\n"
 msgstr ""
 
-#: g10/gpg.c:5062
+#: g10/gpg.c:5083
 #, c-format
 msgid "WARNING: no command supplied.  Trying to guess what you mean ...\n"
 msgstr ""
 
-#: g10/gpg.c:5073
+#: g10/gpg.c:5094
 #, c-format
 msgid "Go ahead and type your message ...\n"
 msgstr "İletinizi yazın ...\n"
 
-#: g10/gpg.c:5418
+#: g10/gpg.c:5439
 #, c-format
 msgid "the given certification policy URL is invalid\n"
 msgstr "belirtilen sertifika güvence adresi geçersiz\n"
 
-#: g10/gpg.c:5420
+#: g10/gpg.c:5441
 #, c-format
 msgid "the given signature policy URL is invalid\n"
 msgstr "belirtilen imza güvence adresi geçersiz\n"
 
-#: g10/gpg.c:5453
+#: g10/gpg.c:5474
 #, c-format
 msgid "the given preferred keyserver URL is invalid\n"
 msgstr "belirtilen anahtar sunucusu adresi geçersiz\n"
@@ -3497,7 +3515,7 @@ msgstr "|DOSYA|anahtarlar DOSYA anahtar zincirinden alınır"
 msgid "make timestamp conflicts only a warning"
 msgstr "zaman damgası çelişkilerini uyarı olarak bildirir"
 
-#: g10/gpgv.c:86 sm/gpgsm.c:354 tools/gpgconf.c:112
+#: g10/gpgv.c:86 sm/gpgsm.c:357 tools/gpgconf.c:112
 msgid "|FD|write status info to this FD"
 msgstr "|FD|durum bilgisini bu FD'ye yazar"
 
@@ -3584,98 +3602,98 @@ msgstr "girdinin ikilik biçimde olduğu kabul edilir"
 msgid "repair keys on import"
 msgstr "parmakizini gösterir"
 
-#: g10/import.c:380 g10/import.c:699
+#: g10/import.c:392 g10/import.c:711
 #, c-format
 msgid "skipping block of type %d\n"
 msgstr "%d türündeki blok atlanıyor\n"
 
-#: g10/import.c:716
+#: g10/import.c:728
 #, c-format
 msgid "%lu keys processed so far\n"
 msgstr "şu ana kadar %lu anahtar işlendi\n"
 
-#: g10/import.c:802
+#: g10/import.c:814
 #, c-format
 msgid "Total number processed: %lu\n"
 msgstr "İşlenmiş toplam miktar: %lu\n"
 
-#: g10/import.c:805
+#: g10/import.c:817
 #, fuzzy, c-format
 #| msgid "      skipped new keys: %lu\n"
 msgid "    skipped PGP-2 keys: %lu\n"
 msgstr "     yeni anahtarlar atlandı: %lu\n"
 
-#: g10/import.c:807
+#: g10/import.c:819
 #, c-format
 msgid "      skipped new keys: %lu\n"
 msgstr "     yeni anahtarlar atlandı: %lu\n"
 
-#: g10/import.c:810
+#: g10/import.c:822
 #, c-format
 msgid "          w/o user IDs: %lu\n"
 msgstr "         kullanıcı kimliksiz: %lu\n"
 
-#: g10/import.c:813 sm/import.c:130
+#: g10/import.c:825 sm/import.c:130
 #, c-format
 msgid "              imported: %lu"
 msgstr "                      alınan: %lu"
 
-#: g10/import.c:817 sm/import.c:134
+#: g10/import.c:829 sm/import.c:134
 #, c-format
 msgid "             unchanged: %lu\n"
 msgstr "                   değişmedi: %lu\n"
 
-#: g10/import.c:819
+#: g10/import.c:831
 #, c-format
 msgid "          new user IDs: %lu\n"
 msgstr "      yeni kullanıcı kimliği: %lu\n"
 
-#: g10/import.c:821
+#: g10/import.c:833
 #, c-format
 msgid "           new subkeys: %lu\n"
 msgstr "    yeni yardımcı anahtarlar: %lu\n"
 
-#: g10/import.c:823
+#: g10/import.c:835
 #, c-format
 msgid "        new signatures: %lu\n"
 msgstr "                yeni imzalar: %lu\n"
 
-#: g10/import.c:825
+#: g10/import.c:837
 #, c-format
 msgid "   new key revocations: %lu\n"
 msgstr "      yeni anahtar iptalleri: %lu\n"
 
-#: g10/import.c:827 sm/import.c:136
+#: g10/import.c:839 sm/import.c:136
 #, c-format
 msgid "      secret keys read: %lu\n"
 msgstr "     gizli anahtarlar okundu: %lu\n"
 
-#: g10/import.c:829 sm/import.c:138
+#: g10/import.c:841 sm/import.c:138
 #, c-format
 msgid "  secret keys imported: %lu\n"
 msgstr "  gizli anahtarlar indirildi: %lu\n"
 
-#: g10/import.c:831 sm/import.c:140
+#: g10/import.c:843 sm/import.c:140
 #, c-format
 msgid " secret keys unchanged: %lu\n"
 msgstr "  gizli anahtarlar değişmedi: %lu\n"
 
-#: g10/import.c:833 sm/import.c:142
+#: g10/import.c:845 sm/import.c:142
 #, c-format
 msgid "          not imported: %lu\n"
 msgstr "             alınamadı: %lu\n"
 
-#: g10/import.c:835
+#: g10/import.c:847
 #, c-format
 msgid "    signatures cleaned: %lu\n"
 msgstr "    temizlenen imzalar: %lu\n"
 
-#: g10/import.c:837
+#: g10/import.c:849
 #, c-format
 msgid "      user IDs cleaned: %lu\n"
 msgstr "     temizlenen kullanıcı kimlikleri: %lu\n"
 
-#: g10/import.c:1264
+#: g10/import.c:1276
 #, c-format
 msgid ""
 "WARNING: key %s contains preferences for unavailable\n"
@@ -3684,174 +3702,174 @@ msgstr ""
 "UYARI: anahtar %s bu kullanıcı kimliklerde kullanışsız algoritmalar için "
 "tercihler içeriyor:\n"
 
-#: g10/import.c:1306
+#: g10/import.c:1318
 #, c-format
 msgid "         \"%s\": preference for cipher algorithm %s\n"
 msgstr "         \"%s\": şifreleme algoritması %s için tercih edilir\n"
 
-#: g10/import.c:1321
+#: g10/import.c:1333
 #, c-format
 msgid "         \"%s\": preference for digest algorithm %s\n"
 msgstr "         \"%s\": özet algoritması %s için tercih edilir\n"
 
-#: g10/import.c:1333
+#: g10/import.c:1345
 #, c-format
 msgid "         \"%s\": preference for compression algorithm %s\n"
 msgstr ""
 "         \"%s\": sıkıştırma algoritması %s için tercih edilir\n"
 "\n"
 
-#: g10/import.c:1346
+#: g10/import.c:1358
 #, c-format
 msgid "it is strongly suggested that you update your preferences and\n"
 msgstr "tercihlerinizi güncellemenizi ve\n"
 
-#: g10/import.c:1348
+#: g10/import.c:1360
 #, c-format
 msgid "re-distribute this key to avoid potential algorithm mismatch problems\n"
 msgstr ""
 "olası algoritma uyuşmazlığı sorunlarından kaçınmak için bu anahtarı\n"
 "tekrar dağıtmanızı şiddetle öneririz.\n"
 
-#: g10/import.c:1373
+#: g10/import.c:1385
 #, c-format
 msgid "you can update your preferences with: gpg --edit-key %s updpref save\n"
 msgstr ""
 "tercihlerinizi böyle güncelleyemezsiniz: gpg --edit-key %s updpref save\n"
 
-#: g10/import.c:1887 g10/import.c:3001
+#: g10/import.c:1899 g10/import.c:3013
 #, c-format
 msgid "key %s: no user ID\n"
 msgstr "anahtar %s: kullanıcı kimliği yok\n"
 
-#: g10/import.c:1893
+#: g10/import.c:1905
 #, fuzzy, c-format
 #| msgid "skipped \"%s\": %s\n"
 msgid "key %s: %s\n"
 msgstr "\"%s\" atlandı: %s\n"
 
-#: g10/import.c:1894 g10/import.c:2973
+#: g10/import.c:1906 g10/import.c:2985
 msgid "rejected by import screener"
 msgstr ""
 
-#: g10/import.c:1938
+#: g10/import.c:1950
 #, c-format
 msgid "key %s: PKS subkey corruption repaired\n"
 msgstr "anahtar %s: PKS yardımcı anahtar bozulması giderildi\n"
 
-#: g10/import.c:1959
+#: g10/import.c:1971
 #, c-format
 msgid "key %s: accepted non self-signed user ID \"%s\"\n"
 msgstr "anahtar %s: öz-imzalı olmayan kullanıcı kimliği \"%s\" kabul edildi\n"
 
-#: g10/import.c:1969 g10/import.c:2000
+#: g10/import.c:1981 g10/import.c:2012
 #, c-format
 msgid "key %s: no valid user IDs\n"
 msgstr "anahtar %s: geçerli kullanıcı kimliği yok\n"
 
-#: g10/import.c:1971
+#: g10/import.c:1983
 #, c-format
 msgid "this may be caused by a missing self-signature\n"
 msgstr "bu kayıp bir öz-imza yüzünden meydana gelebilir\n"
 
-#: g10/import.c:2050 g10/import.c:3387
+#: g10/import.c:2062 g10/import.c:3399
 #, c-format
 msgid "key %s: public key not found: %s\n"
 msgstr "anahtar %s: genel anahtar yok: %s\n"
 
-#: g10/import.c:2056
+#: g10/import.c:2068
 #, c-format
 msgid "key %s: new key - skipped\n"
 msgstr "anahtar %s: yeni anahtar - atlandı\n"
 
-#: g10/import.c:2068
+#: g10/import.c:2080
 #, c-format
 msgid "no writable keyring found: %s\n"
 msgstr "yazılabilir bir anahtar zinciri yok: %s\n"
 
-#: g10/import.c:2100 g10/import.c:2202 g10/import.c:3464
+#: g10/import.c:2112 g10/import.c:2214 g10/import.c:3476
 #, fuzzy, c-format
 #| msgid "error writing keyring `%s': %s\n"
 msgid "error writing keyring '%s': %s\n"
 msgstr "\"%s\" anahtarlığına yazarken hata oluştu: %s\n"
 
-#: g10/import.c:2123
+#: g10/import.c:2135
 #, c-format
 msgid "key %s: public key \"%s\" imported\n"
 msgstr "anahtar %s: genel anahtar \"%s\" alındı\n"
 
-#: g10/import.c:2150
+#: g10/import.c:2162
 #, c-format
 msgid "key %s: doesn't match our copy\n"
 msgstr "anahtar %s: bizim kopyamızla eşleşmiyor\n"
 
-#: g10/import.c:2218
+#: g10/import.c:2230
 #, c-format
 msgid "key %s: \"%s\" 1 new user ID\n"
 msgstr "anahtar %s: \"%s\" 1 yeni kullanıcı kimliği\n"
 
-#: g10/import.c:2221
+#: g10/import.c:2233
 #, c-format
 msgid "key %s: \"%s\" %d new user IDs\n"
 msgstr "anahtar %s: \"%s\" %d yeni kullanıcı kimliği\n"
 
-#: g10/import.c:2224
+#: g10/import.c:2236
 #, c-format
 msgid "key %s: \"%s\" 1 new signature\n"
 msgstr "anahtar %s: \"%s\" 1 yeni imza\n"
 
-#: g10/import.c:2227
+#: g10/import.c:2239
 #, c-format
 msgid "key %s: \"%s\" %d new signatures\n"
 msgstr "anahtar %s: \"%s\" %d yeni imza\n"
 
-#: g10/import.c:2230
+#: g10/import.c:2242
 #, c-format
 msgid "key %s: \"%s\" 1 new subkey\n"
 msgstr "anahtar %s: %s 1 yeni yardımcı anahtar\n"
 
-#: g10/import.c:2233
+#: g10/import.c:2245
 #, c-format
 msgid "key %s: \"%s\" %d new subkeys\n"
 msgstr "anahtar %s: \"%s\" %d yeni yardımcı anahtar\n"
 
-#: g10/import.c:2236
+#: g10/import.c:2248
 #, c-format
 msgid "key %s: \"%s\" %d signature cleaned\n"
 msgstr "anahtar %s: \"%s\" %d imza temizlendi\n"
 
-#: g10/import.c:2239
+#: g10/import.c:2251
 #, c-format
 msgid "key %s: \"%s\" %d signatures cleaned\n"
 msgstr "anahtar %s: \"%s\" %d imza temizlendi\n"
 
-#: g10/import.c:2242
+#: g10/import.c:2254
 #, c-format
 msgid "key %s: \"%s\" %d user ID cleaned\n"
 msgstr "anahtar %s: \"%s\" %d kullanıcı kimliği temizlendi\n"
 
-#: g10/import.c:2245
+#: g10/import.c:2257
 #, c-format
 msgid "key %s: \"%s\" %d user IDs cleaned\n"
 msgstr "anahtar %s: \"%s\" %d kullanıcı kimliği temizlendi\n"
 
-#: g10/import.c:2281
+#: g10/import.c:2293
 #, c-format
 msgid "key %s: \"%s\" not changed\n"
 msgstr "anahtar %s: \"%s\" değişmedi\n"
 
-#: g10/import.c:2640 g10/import.c:2835
+#: g10/import.c:2652 g10/import.c:2847
 #, c-format
 msgid "key %s: secret key imported\n"
 msgstr "anahtar %s: gizli anahtar alındı\n"
 
-#: g10/import.c:2648
+#: g10/import.c:2660
 #, fuzzy, c-format
 #| msgid "skipped: secret key already present\n"
 msgid "key %s: secret key already exists\n"
 msgstr "atlandı: gizli anahtar zaten var\n"
 
-#: g10/import.c:2656
+#: g10/import.c:2668
 #, fuzzy, c-format
 #| msgid "error sending %s command: %s\n"
 msgid "key %s: error sending to agent: %s\n"
@@ -3865,203 +3883,203 @@ msgstr "%s komutu gönderilirken hata: %s\n"
 #. * Instead, user should be suggested to run 'gpg --card-status',
 #. * then, references to a card will be automatically created
 #. * again.
-#: g10/import.c:2825
+#: g10/import.c:2837
 #, c-format
 msgid "To migrate '%s', with each smartcard, run: %s\n"
 msgstr ""
 
-#: g10/import.c:2972
+#: g10/import.c:2984
 #, fuzzy, c-format
 #| msgid "secret key \"%s\" not found: %s\n"
 msgid "secret key %s: %s\n"
 msgstr "gizli anahtar \"%s\" yok: %s\n"
 
-#: g10/import.c:2993 g10/import.c:3032
+#: g10/import.c:3005 g10/import.c:3044
 #, c-format
 msgid "importing secret keys not allowed\n"
 msgstr "gizli anahtarı alımına izin verilmez\n"
 
-#: g10/import.c:3020
+#: g10/import.c:3032
 #, c-format
 msgid "key %s: secret key with invalid cipher %d - skipped\n"
 msgstr "anahtar %s: geçersiz şifreli (%d) gizli anahtar - atlandı\n"
 
-#: g10/import.c:3182 g10/pkclist.c:72 g10/revoke.c:776
+#: g10/import.c:3194 g10/pkclist.c:72 g10/revoke.c:776
 msgid "No reason specified"
 msgstr "Belirtilmiş bir neden yok"
 
-#: g10/import.c:3183 g10/pkclist.c:74 g10/revoke.c:778
+#: g10/import.c:3195 g10/pkclist.c:74 g10/revoke.c:778
 msgid "Key is superseded"
 msgstr "Anahtarın yerine başkası konulmuş ve iptal edilmiştir"
 
-#: g10/import.c:3184 g10/pkclist.c:76 g10/revoke.c:777
+#: g10/import.c:3196 g10/pkclist.c:76 g10/revoke.c:777
 msgid "Key has been compromised"
 msgstr "Anahtar tehlikede"
 
-#: g10/import.c:3185 g10/pkclist.c:78 g10/revoke.c:779
+#: g10/import.c:3197 g10/pkclist.c:78 g10/revoke.c:779
 msgid "Key is no longer used"
 msgstr "Anahtar artık kullanılmayacak"
 
-#: g10/import.c:3186 g10/pkclist.c:80 g10/revoke.c:780
+#: g10/import.c:3198 g10/pkclist.c:80 g10/revoke.c:780
 msgid "User ID is no longer valid"
 msgstr "Kullanıcı kimliği artık geçersiz"
 
-#: g10/import.c:3311 g10/keylist.c:1254 g10/pkclist.c:84
+#: g10/import.c:3323 g10/keylist.c:1254 g10/pkclist.c:84
 #, c-format
 msgid "reason for revocation: "
 msgstr "yürürlükten kaldırma sebebi: "
 
-#: g10/import.c:3330 g10/keylist.c:1273 g10/pkclist.c:100
+#: g10/import.c:3342 g10/keylist.c:1273 g10/pkclist.c:100
 #, c-format
 msgid "revocation comment: "
 msgstr "yürürlükten kaldırma açıklaması: "
 
-#: g10/import.c:3380
+#: g10/import.c:3392
 #, c-format
 msgid "key %s: no public key - can't apply revocation certificate\n"
 msgstr ""
 "anahtar %s: genel anahtar değil - yürürlükten kaldırma sertifikası "
 "uygulanamaz\n"
 
-#: g10/import.c:3411
+#: g10/import.c:3423
 #, c-format
 msgid "key %s: can't locate original keyblock: %s\n"
 msgstr "anahtar %s: özgün anahtar bloku bulunamadı: %s\n"
 
-#: g10/import.c:3418
+#: g10/import.c:3430
 #, c-format
 msgid "key %s: can't read original keyblock: %s\n"
 msgstr "anahtar %s: özgün anahtar bloku okunamadı: %s\n"
 
-#: g10/import.c:3438
+#: g10/import.c:3450
 #, c-format
 msgid "key %s: invalid revocation certificate: %s - rejected\n"
 msgstr ""
 "anahtar %s: yürürlükten kaldırma sertifikası geçersiz: %s - reddedildi\n"
 
-#: g10/import.c:3473
+#: g10/import.c:3485
 #, c-format
 msgid "key %s: \"%s\" revocation certificate imported\n"
 msgstr "anahtar %s: \"%s\" yürürlükten kaldırma sertifikası alındı\n"
 
-#: g10/import.c:3559
+#: g10/import.c:3571
 #, c-format
 msgid "key %s: no user ID for signature\n"
 msgstr "anahtar %s: imza için kullanıcı kimliği yok\n"
 
-#: g10/import.c:3576
+#: g10/import.c:3588
 #, c-format
 msgid "key %s: unsupported public key algorithm on user ID \"%s\"\n"
 msgstr ""
 "anahtar %s: genel anahtar algoritması, kullanıcı kimliği \"%s\" için "
 "desteklenmiyor\n"
 
-#: g10/import.c:3578
+#: g10/import.c:3590
 #, c-format
 msgid "key %s: invalid self-signature on user ID \"%s\"\n"
 msgstr "anahtar %s: kullanıcı kimliği \"%s\" için öz-imza geçersiz\n"
 
-#: g10/import.c:3595 g10/import.c:3623 g10/import.c:3679
+#: g10/import.c:3607 g10/import.c:3635 g10/import.c:3691
 #, c-format
 msgid "key %s: unsupported public key algorithm\n"
 msgstr "anahtar %s: genel anahtar algoritması desteklenmiyor\n"
 
-#: g10/import.c:3596
+#: g10/import.c:3608
 #, fuzzy, c-format
 msgid "key %s: invalid direct key signature\n"
 msgstr "anahtar %s: doğrudan anahtar imzası eklendi\n"
 
-#: g10/import.c:3610
+#: g10/import.c:3622
 #, c-format
 msgid "key %s: no subkey for key binding\n"
 msgstr "anahtar %s: anahtarı garantilemek için yardımcı anahtar yok\n"
 
-#: g10/import.c:3625
+#: g10/import.c:3637
 #, c-format
 msgid "key %s: invalid subkey binding\n"
 msgstr "anahtar %s: yardımcı anahtar garantileme geçersiz\n"
 
-#: g10/import.c:3644
+#: g10/import.c:3656
 #, c-format
 msgid "key %s: removed multiple subkey binding\n"
 msgstr "anahtar %s: çok sayıda yardımcı anahtar bağlantısı silindi\n"
 
-#: g10/import.c:3668
+#: g10/import.c:3680
 #, c-format
 msgid "key %s: no subkey for key revocation\n"
 msgstr "anahtar %s: anahtarı yürürlükten kaldırılacak yardımcı anahtar yok\n"
 
-#: g10/import.c:3681
+#: g10/import.c:3693
 #, c-format
 msgid "key %s: invalid subkey revocation\n"
 msgstr "anahtar %s: yardımcı anahtar yürürlükten kaldırması geçersiz\n"
 
-#: g10/import.c:3696
+#: g10/import.c:3708
 #, c-format
 msgid "key %s: removed multiple subkey revocation\n"
 msgstr ""
 "anahtar %s: çok sayıda yardımcı anahtar yürürlükten kaldırması silindi\n"
 
-#: g10/import.c:3740
+#: g10/import.c:3752
 #, c-format
 msgid "key %s: skipped user ID \"%s\"\n"
 msgstr "anahtar %s: kullanıcı kimliği \"%s\" atlandı\n"
 
-#: g10/import.c:3767
+#: g10/import.c:3779
 #, c-format
 msgid "key %s: skipped subkey\n"
 msgstr "anahtar %s: yardımcı anahtar atlandı\n"
 
-#: g10/import.c:3798
+#: g10/import.c:3810
 #, c-format
 msgid "key %s: non exportable signature (class 0x%02X) - skipped\n"
 msgstr "anahtar %s: imza gönderilebilir değil (0x%02X sınıfı) - atlandı\n"
 
-#: g10/import.c:3809
+#: g10/import.c:3821
 #, c-format
 msgid "key %s: revocation certificate at wrong place - skipped\n"
 msgstr "anahtar %s: yürürlükten kaldırma sertifikası yanlış yerde - atlandı\n"
 
-#: g10/import.c:3827
+#: g10/import.c:3839
 #, c-format
 msgid "key %s: invalid revocation certificate: %s - skipped\n"
 msgstr "anahtar %s: yürürlükten kaldırma sertifikası geçersiz: %s - atlandı\n"
 
-#: g10/import.c:3841
+#: g10/import.c:3853
 #, c-format
 msgid "key %s: subkey signature in wrong place - skipped\n"
 msgstr "anahtar %s: yardımcı anahtar imzası yanlış yerde - atlandı\n"
 
-#: g10/import.c:3849
+#: g10/import.c:3861
 #, c-format
 msgid "key %s: unexpected signature class (0x%02X) - skipped\n"
 msgstr "anahtar %s: umulmayan imza sınıfı (0x%02X) - atlandı\n"
 
-#: g10/import.c:4022
+#: g10/import.c:4034
 #, c-format
 msgid "key %s: duplicated user ID detected - merged\n"
 msgstr "anahtar %s: çift kullanıcı kimliği saptandı - birleştirildi\n"
 
-#: g10/import.c:4087
+#: g10/import.c:4099
 #, c-format
 msgid "WARNING: key %s may be revoked: fetching revocation key %s\n"
 msgstr ""
 "UYARI: anahtar %s yürürlükten kaldırılmış olmalı: yürürlükten kaldırma "
 "anahtarı %s alınıyor\n"
 
-#: g10/import.c:4103
+#: g10/import.c:4115
 #, c-format
 msgid "WARNING: key %s may be revoked: revocation key %s not present.\n"
 msgstr ""
 "UYARI: anahtar %s yürürlükten kaldırılmış olabilir: yürürlükten kaldırma "
 "anahtarı %s mevcut değil.\n"
 
-#: g10/import.c:4169
+#: g10/import.c:4181
 #, c-format
 msgid "key %s: \"%s\" revocation certificate added\n"
 msgstr "anahtar %s: \"%s\" yürürlükten kaldırma sertifikası eklendi\n"
 
-#: g10/import.c:4207
+#: g10/import.c:4219
 #, c-format
 msgid "key %s: direct key signature added\n"
 msgstr "anahtar %s: doğrudan anahtar imzası eklendi\n"
@@ -4137,7 +4155,7 @@ msgid ""
 "all signatures.\n"
 msgstr ""
 
-#: g10/keydb.c:431 g10/keydb.c:458 sm/keydb.c:191 sm/keydb.c:204
+#: g10/keydb.c:431 g10/keydb.c:458 sm/keydb.c:190 sm/keydb.c:203
 #, fuzzy, c-format
 #| msgid "error creating keybox `%s': %s\n"
 msgid "error creating keybox '%s': %s\n"
@@ -4149,7 +4167,7 @@ msgstr "anahtar bloku `%s' oluşturulurken hata: %s\n"
 msgid "error creating keyring '%s': %s\n"
 msgstr "`%s' anahtarlığı oluşturulurken hata: %s\n"
 
-#: g10/keydb.c:470 sm/keydb.c:210
+#: g10/keydb.c:470 sm/keydb.c:209
 #, fuzzy, c-format
 #| msgid "keybox `%s' created\n"
 msgid "keybox '%s' created\n"
@@ -4231,13 +4249,13 @@ msgstr ""
 msgid "User ID \"%s\" is revoked."
 msgstr "Kullanıcı kimliği \"%s\" yürürlükten kaldırıldı."
 
-#: g10/keyedit.c:569 g10/keyedit.c:597 g10/keyedit.c:624 g10/keyedit.c:808
-#: g10/keyedit.c:1655
+#: g10/keyedit.c:569 g10/keyedit.c:597 g10/keyedit.c:624 g10/keyedit.c:809
+#: g10/keyedit.c:1656
 msgid "Are you sure you still want to sign it? (y/N) "
 msgstr "Onu yine de imzalamak istiyor musunuz? (e/H veya y/N) "
 
-#: g10/keyedit.c:583 g10/keyedit.c:611 g10/keyedit.c:638 g10/keyedit.c:814
-#: g10/keyedit.c:1660 g10/keyedit.c:2667
+#: g10/keyedit.c:583 g10/keyedit.c:611 g10/keyedit.c:638 g10/keyedit.c:815
+#: g10/keyedit.c:1661 g10/keyedit.c:2668
 msgid "  Unable to sign.\n"
 msgstr "  İmzalanamıyor.\n"
 
@@ -4314,30 +4332,30 @@ msgstr "\"%s\" zaten %s anahtarıyla yerel olarak imzalanmış\n"
 msgid "\"%s\" was already signed by key %s\n"
 msgstr "\"%s\" zaten %s anahtarıyla imzalanmış\n"
 
-#: g10/keyedit.c:756
+#: g10/keyedit.c:757
 msgid "Do you want to sign it again anyway? (y/N) "
 msgstr "Onu yine de imzalamak istiyor musunuz? (e/H veya y/N) "
 
-#: g10/keyedit.c:778
+#: g10/keyedit.c:779
 #, c-format
 msgid "Nothing to sign with key %s\n"
 msgstr "%s anahtarı ile imzalanacak hiçbir şey yok\n"
 
-#: g10/keyedit.c:802
+#: g10/keyedit.c:803
 msgid "This key has expired!"
 msgstr "Bu anahtarın kullanım süresi dolmuş!"
 
-#: g10/keyedit.c:820
+#: g10/keyedit.c:821
 #, c-format
 msgid "This key is due to expire on %s.\n"
 msgstr "Bu anahtarın geçerliliği %s de bitiyor.\n"
 
-#: g10/keyedit.c:826
+#: g10/keyedit.c:827
 msgid "Do you want your signature to expire at the same time? (Y/n) "
 msgstr ""
 "İmzanızın da aynı süreyle geçerli olmasını ister misiniz? (E/h veya Y/n) "
 
-#: g10/keyedit.c:867
+#: g10/keyedit.c:868
 msgid ""
 "How carefully have you verified the key you are about to sign actually "
 "belongs\n"
@@ -4346,33 +4364,33 @@ msgstr ""
 "Bu anahtarın ismi yukarda yazılı kişiye ait olduğunu ne kadar dikkatli\n"
 "doğruladınız?  Bu sorunun cevabını bilmiyorsanız \"0\" yazın.\n"
 
-#: g10/keyedit.c:872
+#: g10/keyedit.c:873
 #, c-format
 msgid "   (0) I will not answer.%s\n"
 msgstr "   (0) Cevabı bilmiyorum. %s\n"
 
-#: g10/keyedit.c:874
+#: g10/keyedit.c:875
 #, c-format
 msgid "   (1) I have not checked at all.%s\n"
 msgstr "   (1) Tamamen kontrol edildi.%s\n"
 
-#: g10/keyedit.c:876
+#: g10/keyedit.c:877
 #, c-format
 msgid "   (2) I have done casual checking.%s\n"
 msgstr "   (2) İlişkisel denetim yaptım.%s\n"
 
-#: g10/keyedit.c:879
+#: g10/keyedit.c:880
 #, c-format
 msgid "   (3) I have done very careful checking.%s\n"
 msgstr "   (3) Çok dikkatli bir denetim yaptım.%s\n"
 
-#: g10/keyedit.c:886
+#: g10/keyedit.c:887
 #, fuzzy
 #| msgid "Your selection? (enter `?' for more information): "
 msgid "Your selection? (enter '?' for more information): "
 msgstr "Seçiminiz? (daha fazla bilgi için: '?'): "
 
-#: g10/keyedit.c:913
+#: g10/keyedit.c:914
 #, c-format
 msgid ""
 "Are you sure that you want to sign this key with your\n"
@@ -4382,238 +4400,238 @@ msgstr ""
 "gerçekten\n"
 "emin misiniz?\n"
 
-#: g10/keyedit.c:921
+#: g10/keyedit.c:922
 msgid "This will be a self-signature.\n"
 msgstr "Bu bir öz-imza olacak.\n"
 
-#: g10/keyedit.c:926
+#: g10/keyedit.c:927
 msgid "WARNING: the signature will not be marked as non-exportable.\n"
 msgstr "UYARI: imza dışarı gönderilemez olarak imlenmeyecek.\n"
 
-#: g10/keyedit.c:933
+#: g10/keyedit.c:934
 msgid "WARNING: the signature will not be marked as non-revocable.\n"
 msgstr "UYARI: imza yürürlükten kaldırılamaz olarak imlenmeyecek.\n"
 
-#: g10/keyedit.c:943
+#: g10/keyedit.c:944
 msgid "The signature will be marked as non-exportable.\n"
 msgstr "İmza dışarı gönderilemez olarak imlenecek.\n"
 
-#: g10/keyedit.c:950
+#: g10/keyedit.c:951
 msgid "The signature will be marked as non-revocable.\n"
 msgstr "İmza yürürlükten kaldırılamaz olarak imlenecek.\n"
 
-#: g10/keyedit.c:957
+#: g10/keyedit.c:958
 msgid "I have not checked this key at all.\n"
 msgstr "Her şeyiyle bu anahtarı sınayamadım.\n"
 
-#: g10/keyedit.c:962
+#: g10/keyedit.c:963
 msgid "I have checked this key casually.\n"
 msgstr "Bu anahtarı karşılaştırmalı olarak sınadım.\n"
 
-#: g10/keyedit.c:967
+#: g10/keyedit.c:968
 msgid "I have checked this key very carefully.\n"
 msgstr "Bu anahtarı çok dikkatle sınadım.\n"
 
-#: g10/keyedit.c:979
+#: g10/keyedit.c:980
 msgid "Really sign? (y/N) "
 msgstr "Gerçekten imzalayacak mısınız? (e/H veya y/N) "
 
-#: g10/keyedit.c:1030 g10/keyedit.c:6154 g10/keyedit.c:6237 g10/keyedit.c:6366
-#: g10/keyedit.c:6428 g10/sign.c:466
+#: g10/keyedit.c:1031 g10/keyedit.c:6155 g10/keyedit.c:6238 g10/keyedit.c:6367
+#: g10/keyedit.c:6429 g10/sign.c:466
 #, c-format
 msgid "signing failed: %s\n"
 msgstr "imzalama başarısız: %s\n"
 
-#: g10/keyedit.c:1117
+#: g10/keyedit.c:1118
 msgid "Key has only stub or on-card key items - no passphrase to change.\n"
 msgstr ""
 "Anahtar sadece kısa veya karta özel öğeler içeriyor,\n"
 "değiştirilecek bir anahtar parolası yok.\n"
 
-#: g10/keyedit.c:1149
+#: g10/keyedit.c:1150
 #, fuzzy, c-format
 #| msgid "error creating passphrase: %s\n"
 msgid "key %s: error changing passphrase: %s\n"
 msgstr "anahtar parolası oluşturulurken hata: %s\n"
 
-#: g10/keyedit.c:1261
+#: g10/keyedit.c:1262
 msgid "save and quit"
 msgstr "kaydet ve çık"
 
-#: g10/keyedit.c:1264
+#: g10/keyedit.c:1265
 msgid "show key fingerprint"
 msgstr "parmakizini gösterir"
 
-#: g10/keyedit.c:1265
+#: g10/keyedit.c:1266
 #, fuzzy
 msgid "show the keygrip"
 msgstr "Simgelemi giriniz: "
 
-#: g10/keyedit.c:1266
+#: g10/keyedit.c:1267
 msgid "list key and user IDs"
 msgstr "anahtarı ve kullanıcı kimliğini gösterir"
 
-#: g10/keyedit.c:1268
+#: g10/keyedit.c:1269
 msgid "select user ID N"
 msgstr "N kullanıcı kimliğini seçer"
 
-#: g10/keyedit.c:1269
+#: g10/keyedit.c:1270
 msgid "select subkey N"
 msgstr "N yardımcı anahtarını"
 
-#: g10/keyedit.c:1270
+#: g10/keyedit.c:1271
 msgid "check signatures"
 msgstr "imzaları sınar"
 
-#: g10/keyedit.c:1276
+#: g10/keyedit.c:1277
 msgid "sign selected user IDs [* see below for related commands]"
 msgstr ""
 "seçilen kullanıcı kimliği imzalar [* ilgili komutlar için aşağıya bakın]"
 
-#: g10/keyedit.c:1281
+#: g10/keyedit.c:1282
 msgid "sign selected user IDs locally"
 msgstr "kullanıcı kimlikleri yerel olarak imzalar"
 
-#: g10/keyedit.c:1282
+#: g10/keyedit.c:1283
 msgid "sign selected user IDs with a trust signature"
 msgstr "seçili kullanıcı kimlikleri bir güvence imzasıyla imzalar"
 
-#: g10/keyedit.c:1284
+#: g10/keyedit.c:1285
 msgid "sign selected user IDs with a non-revocable signature"
 msgstr ""
 "seçili kullanıcı kimlikleri yürürlükten kaldırılamayan bir imzayla imzalar"
 
-#: g10/keyedit.c:1286
+#: g10/keyedit.c:1287
 msgid "add a user ID"
 msgstr "bir kullanıcı kimliği ekler"
 
-#: g10/keyedit.c:1288
+#: g10/keyedit.c:1289
 msgid "add a photo ID"
 msgstr "bir foto kimliği ekler"
 
-#: g10/keyedit.c:1289
+#: g10/keyedit.c:1290
 msgid "delete selected user IDs"
 msgstr "seçili kullanıcı kimlikleri siler"
 
-#: g10/keyedit.c:1292
+#: g10/keyedit.c:1293
 msgid "add a subkey"
 msgstr "bir yardımcı anahtar ekler"
 
-#: g10/keyedit.c:1295
+#: g10/keyedit.c:1296
 msgid "add a key to a smartcard"
 msgstr "bir akıllı karta bir anahtar ekler"
 
-#: g10/keyedit.c:1297
+#: g10/keyedit.c:1298
 msgid "move a key to a smartcard"
 msgstr "bir akıllı karttan bir anahtarı taşır"
 
-#: g10/keyedit.c:1299
+#: g10/keyedit.c:1300
 msgid "move a backup key to a smartcard"
 msgstr "bir akıllı karttan bir yedekleme anahtarını taşır"
 
-#: g10/keyedit.c:1301
+#: g10/keyedit.c:1302
 msgid "delete selected subkeys"
 msgstr "seçili yardımcı anahtarları siler"
 
-#: g10/keyedit.c:1303
+#: g10/keyedit.c:1304
 msgid "add a revocation key"
 msgstr "bir yürürlükten kaldırma anahtarı ekler"
 
-#: g10/keyedit.c:1305
+#: g10/keyedit.c:1306
 msgid "delete signatures from the selected user IDs"
 msgstr "seçili kullanıcı kimliklerden imzaları siler"
 
-#: g10/keyedit.c:1307
+#: g10/keyedit.c:1308
 msgid "change the expiration date for the key or selected subkeys"
 msgstr ""
 "anahtar için ya da seçili yardımcı anahtarlar için zamanaşımı tarihini "
 "değiştirir"
 
-#: g10/keyedit.c:1309
+#: g10/keyedit.c:1310
 msgid "flag the selected user ID as primary"
 msgstr "seçili kullanıcı kimliğini asıl olarak imler"
 
-#: g10/keyedit.c:1312
+#: g10/keyedit.c:1313
 msgid "list preferences (expert)"
 msgstr "tercihleri listeler (uzman)"
 
-#: g10/keyedit.c:1313
+#: g10/keyedit.c:1314
 msgid "list preferences (verbose)"
 msgstr "tercihleri listeler (ayrıntılı)"
 
-#: g10/keyedit.c:1315
+#: g10/keyedit.c:1316
 msgid "set preference list for the selected user IDs"
 msgstr "Seçili kullanıcı kimlikler için tercih listesini belirler "
 
-#: g10/keyedit.c:1318
+#: g10/keyedit.c:1319
 msgid "set the preferred keyserver URL for the selected user IDs"
 msgstr ""
 "seçili kullanıcı kimlikler için tercih edilen anahtar sunucu adresini "
 "belirler"
 
-#: g10/keyedit.c:1320
+#: g10/keyedit.c:1321
 msgid "set a notation for the selected user IDs"
 msgstr "seçili kullanıcı kimlikleri için bir simgelem belirler"
 
-#: g10/keyedit.c:1322
+#: g10/keyedit.c:1323
 msgid "change the passphrase"
 msgstr "anahtar parolasını değiştirir"
 
-#: g10/keyedit.c:1325
+#: g10/keyedit.c:1326
 msgid "change the ownertrust"
 msgstr "sahibiningüvencesini değiştirir"
 
-#: g10/keyedit.c:1328
+#: g10/keyedit.c:1329
 msgid "revoke signatures on the selected user IDs"
 msgstr "Seçili tüm kullanıcı kimliklerdeki imzaları yürürlükten kaldırır"
 
-#: g10/keyedit.c:1330
+#: g10/keyedit.c:1331
 msgid "revoke selected user IDs"
 msgstr "Seçili tüm kullanıcı kimlikleri yürürlükten kaldırır"
 
-#: g10/keyedit.c:1333
+#: g10/keyedit.c:1334
 msgid "revoke key or selected subkeys"
 msgstr "anahtarı ya da seçili yardımcı anahtarları yürürlükten kaldırır"
 
-#: g10/keyedit.c:1335
+#: g10/keyedit.c:1336
 msgid "enable key"
 msgstr "anahtarı kullanıma sokar"
 
-#: g10/keyedit.c:1336
+#: g10/keyedit.c:1337
 msgid "disable key"
 msgstr "anahtarı iptal eder"
 
-#: g10/keyedit.c:1338
+#: g10/keyedit.c:1339
 msgid "show selected photo IDs"
 msgstr "seçili foto kimlikleri gösterir"
 
-#: g10/keyedit.c:1340
+#: g10/keyedit.c:1341
 msgid "compact unusable user IDs and remove unusable signatures from key"
 msgstr ""
 "kullanışsız kullanıcı kimlikleri sıkıştırır ve kullanışsız imzaları "
 "anahtardan kaldırır"
 
-#: g10/keyedit.c:1342
+#: g10/keyedit.c:1343
 msgid "compact unusable user IDs and remove all signatures from key"
 msgstr ""
 "kullanışsız kullanıcı kimlikleri sıkıştırır ve tüm imzaları anahtardan "
 "kaldırır"
 
-#: g10/keyedit.c:1463
+#: g10/keyedit.c:1464
 msgid "Secret key is available.\n"
 msgstr "Gizli anahtar mevcut.\n"
 
-#: g10/keyedit.c:1465
+#: g10/keyedit.c:1466
 #, fuzzy
 #| msgid "Secret key is available.\n"
 msgid "Secret subkeys are available.\n"
 msgstr "Gizli anahtar mevcut.\n"
 
-#: g10/keyedit.c:1567
+#: g10/keyedit.c:1568
 msgid "Need the secret key to do this.\n"
 msgstr "Bunu yapmak için gizli anahtar gerekli.\n"
 
-#: g10/keyedit.c:1590
+#: g10/keyedit.c:1591
 #, fuzzy
 #| msgid ""
 #| "* The `sign' command may be prefixed with an `l' for local signatures "
@@ -4632,324 +4650,324 @@ msgstr ""
 "  için 'nr', yerel imzalar için 'l' (lsign) veya buların karışımı   olarak "
 "(ltsign, tnrsign gibi).\n"
 
-#: g10/keyedit.c:1648 g10/keyedit.c:2667 g10/keyedit.c:3040 g10/keyedit.c:3108
+#: g10/keyedit.c:1649 g10/keyedit.c:2668 g10/keyedit.c:3041 g10/keyedit.c:3109
 msgid "Key is revoked."
 msgstr "Anahtar yürürlükten kaldırıldı."
 
-#: g10/keyedit.c:1671
+#: g10/keyedit.c:1672
 #, fuzzy
 #| msgid "Really sign all user IDs? (y/N) "
 msgid "Really sign all text user IDs? (y/N) "
 msgstr "Tüm kullanıcı kimlikler gerçekten imzalanacak mı? (e/H ya da y/N)"
 
-#: g10/keyedit.c:1675
+#: g10/keyedit.c:1676
 msgid "Really sign all user IDs? (y/N) "
 msgstr "Tüm kullanıcı kimlikler gerçekten imzalanacak mı? (e/H ya da y/N)"
 
-#: g10/keyedit.c:1683
+#: g10/keyedit.c:1684
 msgid "Hint: Select the user IDs to sign\n"
 msgstr "İpucu: İmzalamak için bir kullanıcı kimliği seçiniz\n"
 
-#: g10/keyedit.c:1694
+#: g10/keyedit.c:1695
 #, fuzzy, c-format
 #| msgid "Unknown signature type `%s'\n"
 msgid "Unknown signature type '%s'\n"
 msgstr "imza türü `%s' bilinmiyor\n"
 
-#: g10/keyedit.c:1718
+#: g10/keyedit.c:1719
 #, c-format
 msgid "This command is not allowed while in %s mode.\n"
 msgstr "%s kipindeyken bu komut kullanılamaz.\n"
 
-#: g10/keyedit.c:1740 g10/keyedit.c:1764 g10/keyedit.c:1961
+#: g10/keyedit.c:1741 g10/keyedit.c:1765 g10/keyedit.c:1962
 msgid "You must select at least one user ID.\n"
 msgstr "En az bir kullanıcı kimliği seçmelisiniz.\n"
 
-#: g10/keyedit.c:1742 g10/keyedit.c:1766 g10/keyedit.c:1923 g10/keyedit.c:1963
+#: g10/keyedit.c:1743 g10/keyedit.c:1767 g10/keyedit.c:1924 g10/keyedit.c:1964
 #, c-format
 msgid "(Use the '%s' command.)\n"
 msgstr ""
 
-#: g10/keyedit.c:1745
+#: g10/keyedit.c:1746
 msgid "You can't delete the last user ID!\n"
 msgstr "Son kullanıcı kimliğini silemezsiniz!\n"
 
-#: g10/keyedit.c:1748
+#: g10/keyedit.c:1749
 msgid "Really remove all selected user IDs? (y/N) "
 msgstr ""
 "Seçilen tüm kullanıcı kimlikler gerçekten silinecek mi? (e/H ya da y/N) "
 
-#: g10/keyedit.c:1749
+#: g10/keyedit.c:1750
 msgid "Really remove this user ID? (y/N) "
 msgstr "Bu kullanıcı kimliği gerçekten silinecek mi? (e/H ya da y/N) "
 
 #. TRANSLATORS: Please take care: This is about
 #. moving the key and not about removing it.
-#: g10/keyedit.c:1806
+#: g10/keyedit.c:1807
 msgid "Really move the primary key? (y/N) "
 msgstr "Bu öz-imza gerçekten taşınacak mı?  (e/H ya da y/N) "
 
-#: g10/keyedit.c:1818 g10/keyedit.c:4803
+#: g10/keyedit.c:1819 g10/keyedit.c:4804
 msgid "You must select exactly one key.\n"
 msgstr "Sadece ve sadece bir anahtar seçmelisiniz.\n"
 
-#: g10/keyedit.c:1846
+#: g10/keyedit.c:1847
 msgid "Command expects a filename argument\n"
 msgstr "Komut değiştirge olarak bir dosya ismi gerektiriyor\n"
 
-#: g10/keyedit.c:1867
+#: g10/keyedit.c:1868
 #, fuzzy, c-format
 #| msgid "Can't open `%s': %s\n"
 msgid "Can't open '%s': %s\n"
 msgstr "`%s' açılamıyor: %s\n"
 
-#: g10/keyedit.c:1886
+#: g10/keyedit.c:1887
 #, fuzzy, c-format
 #| msgid "Error reading backup key from `%s': %s\n"
 msgid "Error reading backup key from '%s': %s\n"
 msgstr "yedekleme anahtarı `%s' den okunurken hata oluştu: %s\n"
 
-#: g10/keyedit.c:1921
+#: g10/keyedit.c:1922
 msgid "You must select at least one key.\n"
 msgstr "En az bir anahtar seçmelisiniz.\n"
 
-#: g10/keyedit.c:1927
+#: g10/keyedit.c:1928
 msgid "Do you really want to delete the selected keys? (y/N) "
 msgstr "Seçili anahtarları gerçekten silmek istiyor musunuz? (e/H ya da y/N) "
 
-#: g10/keyedit.c:1929
+#: g10/keyedit.c:1930
 msgid "Do you really want to delete this key? (y/N) "
 msgstr "Bu anahtarı gerçekten silmek istiyor musunuz? (e/H ya da y/N) "
 
-#: g10/keyedit.c:1967
+#: g10/keyedit.c:1968
 msgid "Really revoke all selected user IDs? (y/N) "
 msgstr ""
 "Seçilen tüm kullanıcı kimlikleri gerçekten yürülükten kaldırılacak mı? (e/H "
 "ya da y/N) "
 
-#: g10/keyedit.c:1968
+#: g10/keyedit.c:1969
 msgid "Really revoke this user ID? (y/N) "
 msgstr ""
 "Bu kullanıcı kimliği gerçekten yürürlükten kaldırılacak mı? (e/H ya da y/N) "
 
-#: g10/keyedit.c:1986
+#: g10/keyedit.c:1987
 msgid "Do you really want to revoke the entire key? (y/N) "
 msgstr ""
 "Anahtarın tamamını yürürlükten kaldırmayı gerçekten istiyor musunuz? (e/H ya "
 "da y/N) "
 
-#: g10/keyedit.c:1997
+#: g10/keyedit.c:1998
 msgid "Do you really want to revoke the selected subkeys? (y/N) "
 msgstr ""
 "Seçili yardımcı anahtarları gerçekten yürürlükten kaldırmak istiyor musunuz? "
 "(e/H ya da y/N) "
 
-#: g10/keyedit.c:1999
+#: g10/keyedit.c:2000
 msgid "Do you really want to revoke this subkey? (y/N) "
 msgstr ""
 "Bu yardımcı anahtarı gerçekten yürürlükten kaldırmak istiyor musunuz? (e/H "
 "ya da y/N) "
 
-#: g10/keyedit.c:2057
+#: g10/keyedit.c:2058
 msgid "Owner trust may not be set while using a user provided trust database\n"
 msgstr ""
 "Kullanıcı taraından sağlanmış bir güvence veritabanı kullanılarak "
 "sahibiningüvencesi belirlenemez\n"
 
-#: g10/keyedit.c:2102
+#: g10/keyedit.c:2103
 msgid "Set preference list to:\n"
 msgstr "Belirlenecek tercih listesi:\n"
 
-#: g10/keyedit.c:2109
+#: g10/keyedit.c:2110
 msgid "Really update the preferences for the selected user IDs? (y/N) "
 msgstr ""
 "Seçili kullanıcı kimlikler için tercihleri gerçekten güncellemek istiyor "
 "musunuz? (e/H ya da y/N) "
 
-#: g10/keyedit.c:2111
+#: g10/keyedit.c:2112
 msgid "Really update the preferences? (y/N) "
 msgstr "Tercihleri gerçekten güncellemek istiyor musunuz? (e/H ya da y/N) "
 
-#: g10/keyedit.c:2185
+#: g10/keyedit.c:2186
 msgid "Save changes? (y/N) "
 msgstr "Değişiklikler kaydedilecek mi? (e/H ya da y/N) "
 
-#: g10/keyedit.c:2189
+#: g10/keyedit.c:2190
 msgid "Quit without saving? (y/N) "
 msgstr "Kaydetmeden çıkılsın mı? (e/H ya da y/N) "
 
-#: g10/keyedit.c:2216 g10/keyedit.c:2762 g10/keyedit.c:3061 g10/keyedit.c:3214
+#: g10/keyedit.c:2217 g10/keyedit.c:2763 g10/keyedit.c:3062 g10/keyedit.c:3215
 #, c-format
 msgid "Key not changed so no update needed.\n"
 msgstr "Güncelleme gereği olmadığından anahtar değişmedi.\n"
 
-#: g10/keyedit.c:2448
+#: g10/keyedit.c:2449
 #, fuzzy, c-format
 #| msgid "You can't delete the last user ID!\n"
 msgid "cannot revoke the last valid user ID.\n"
 msgstr "Son kullanıcı kimliğini silemezsiniz!\n"
 
-#: g10/keyedit.c:2475
+#: g10/keyedit.c:2476
 #, fuzzy, c-format
 #| msgid "checking the trust list failed: %s\n"
 msgid "revoking the user ID failed: %s\n"
 msgstr "güvence listesinin sınanması başarısız: %s\n"
 
-#: g10/keyedit.c:2541
+#: g10/keyedit.c:2542
 #, fuzzy, c-format
 #| msgid "checking the trust list failed: %s\n"
 msgid "setting the primary user ID failed: %s\n"
 msgstr "güvence listesinin sınanması başarısız: %s\n"
 
-#: g10/keyedit.c:2572
+#: g10/keyedit.c:2573
 #, fuzzy, c-format
 #| msgid "invalid fingerprint"
 msgid "\"%s\" is not a fingerprint\n"
 msgstr "parmakizi geçersiz"
 
-#: g10/keyedit.c:2602
+#: g10/keyedit.c:2603
 #, fuzzy, c-format
 #| msgid "failed to get the fingerprint\n"
 msgid "\"%s\" is not the primary fingerprint\n"
 msgstr "parmakizinin alınması başarısız oldu\n"
 
-#: g10/keyedit.c:2738 g10/keyedit.c:2741
+#: g10/keyedit.c:2739 g10/keyedit.c:2742
 #, fuzzy, c-format
 #| msgid "invalid value\n"
 msgid "Invalid user ID '%s': %s\n"
 msgstr "değer hatalı\n"
 
-#: g10/keyedit.c:2744
+#: g10/keyedit.c:2745
 #, fuzzy
 #| msgid "No such user ID.\n"
 msgid "No matching user IDs."
 msgstr "Böyle bir kullanıcı kimliği yok.\n"
 
-#: g10/keyedit.c:2744
+#: g10/keyedit.c:2745
 #, fuzzy
 #| msgid "Nothing to sign with key %s\n"
 msgid "Nothing to sign.\n"
 msgstr "%s anahtarı ile imzalanacak hiçbir şey yok\n"
 
-#: g10/keyedit.c:2937 g10/keyedit.c:6019
+#: g10/keyedit.c:2938 g10/keyedit.c:6020
 #, c-format
 msgid "Not signed by you.\n"
 msgstr ""
 
-#: g10/keyedit.c:2995
+#: g10/keyedit.c:2996
 #, fuzzy, c-format
 #| msgid "checking created signature failed: %s\n"
 msgid "revoking the key signature failed: %s\n"
 msgstr "oluşturulan imzanın denetimi başarısız: %s\n"
 
-#: g10/keyedit.c:3116
+#: g10/keyedit.c:3117
 #, fuzzy, c-format
 #| msgid "`%s' is not a valid signature expiration\n"
 msgid "'%s' is not a valid expiration time\n"
 msgstr "'%s' geçerli bir imza zamanaşımı değil\n"
 
-#: g10/keyedit.c:3159
+#: g10/keyedit.c:3160
 #, fuzzy, c-format
 #| msgid "invalid fingerprint"
 msgid "\"%s\" is not a proper fingerprint\n"
 msgstr "parmakizi geçersiz"
 
-#: g10/keyedit.c:3183
+#: g10/keyedit.c:3184
 #, fuzzy, c-format
 #| msgid "key \"%s\" not found: %s\n"
 msgid "subkey \"%s\" not found\n"
 msgstr "anahtar \"%s\" yok: %s\n"
 
-#: g10/keyedit.c:3306
+#: g10/keyedit.c:3307
 msgid "AEAD: "
 msgstr ""
 
-#: g10/keyedit.c:3323
+#: g10/keyedit.c:3324
 msgid "Digest: "
 msgstr "Özet: "
 
-#: g10/keyedit.c:3380
+#: g10/keyedit.c:3381
 msgid "Features: "
 msgstr "Özellikler: "
 
-#: g10/keyedit.c:3397
+#: g10/keyedit.c:3398
 msgid "Keyserver no-modify"
 msgstr "Anahtar sunucusu değişmez"
 
-#: g10/keyedit.c:3412 g10/keylist.c:376
+#: g10/keyedit.c:3413 g10/keylist.c:376
 msgid "Preferred keyserver: "
 msgstr "Tercih edilen anahtar sunucusu: "
 
-#: g10/keyedit.c:3420 g10/keyedit.c:3421
+#: g10/keyedit.c:3421 g10/keyedit.c:3422
 msgid "Notations: "
 msgstr "Simgelemler: "
 
-#: g10/keyedit.c:3669
+#: g10/keyedit.c:3670
 msgid "There are no preferences on a PGP 2.x-style user ID.\n"
 msgstr "Bir PGP 2.x tarzı kullanıcı kimliğine uygun tercih yok.\n"
 
-#: g10/keyedit.c:3741
+#: g10/keyedit.c:3742
 #, fuzzy, c-format
 msgid "The following key was revoked on %s by %s key %s\n"
 msgstr ""
 "Bu anahtar %2$s tarafından %3$s anahtarıyla %1$s üzerinde yürürlükten "
 "kaldırılmış\n"
 
-#: g10/keyedit.c:3765
+#: g10/keyedit.c:3766
 #, c-format
 msgid "This key may be revoked by %s key %s"
 msgstr ""
 "Bu anahtar %s tarafından %s anahtarıyla yürürlükten kaldırılmış olabilir"
 
-#: g10/keyedit.c:3771
+#: g10/keyedit.c:3772
 msgid "(sensitive)"
 msgstr "(duyarlı)"
 
-#: g10/keyedit.c:3813 g10/keyedit.c:3960 g10/keylist.c:264 g10/keyserver.c:538
+#: g10/keyedit.c:3814 g10/keyedit.c:3961 g10/keylist.c:264 g10/keyserver.c:361
 #, c-format
 msgid "created: %s"
 msgstr "oluşturuldu: %s"
 
-#: g10/keyedit.c:3816 g10/keylist.c:2149
+#: g10/keyedit.c:3817 g10/keylist.c:2149
 #, c-format
 msgid "revoked: %s"
 msgstr "yürürlükten kaldırıldı: %s"
 
-#: g10/keyedit.c:3818 g10/keylist.c:2155
+#: g10/keyedit.c:3819 g10/keylist.c:2155
 #, c-format
 msgid "expired: %s"
 msgstr "son kullanma tarihi: %s"
 
-#: g10/keyedit.c:3820 g10/keyedit.c:3962 g10/keylist.c:266 g10/keylist.c:2161
-#: g10/keyserver.c:544
+#: g10/keyedit.c:3821 g10/keyedit.c:3963 g10/keylist.c:266 g10/keylist.c:2161
+#: g10/keyserver.c:367
 #, c-format
 msgid "expires: %s"
 msgstr "son kullanma tarihi: %s"
 
-#: g10/keyedit.c:3822
+#: g10/keyedit.c:3823
 #, c-format
 msgid "usage: %s"
 msgstr "kullanımı: %s"
 
-#: g10/keyedit.c:3830 g10/keyedit.c:3850 g10/keylist.c:269
+#: g10/keyedit.c:3831 g10/keyedit.c:3851 g10/keylist.c:269
 msgid "card-no: "
 msgstr "kart-no: "
 
-#: g10/keyedit.c:3889
+#: g10/keyedit.c:3890
 #, c-format
 msgid "trust: %s"
 msgstr "güvencesi: %s"
 
-#: g10/keyedit.c:3893
+#: g10/keyedit.c:3894
 #, c-format
 msgid "validity: %s"
 msgstr "geçerliliği: %s"
 
-#: g10/keyedit.c:3900
+#: g10/keyedit.c:3901
 msgid "This key has been disabled"
 msgstr "Bu anahtar iptal edilmişti"
 
-#: g10/keyedit.c:3918
+#: g10/keyedit.c:3919
 msgid ""
 "Please note that the shown key validity is not necessarily correct\n"
 "unless you restart the program.\n"
@@ -4957,17 +4975,17 @@ msgstr ""
 "Gösterilen anahtarın, uygulamayı yeniden başlatıncaya kadar, gerekli\n"
 "doğrulukta olmayacağını lütfen gözönüne alınız.\n"
 
-#: g10/keyedit.c:3979 g10/keyedit.c:4410 g10/keyserver.c:548
-#: g10/mainproc.c:2371 g10/tofu.c:1787 g10/trust.c:437 dirmngr/ocsp.c:791
+#: g10/keyedit.c:3980 g10/keyedit.c:4411 g10/keyserver.c:371
+#: g10/mainproc.c:2380 g10/tofu.c:1787 g10/trust.c:437 dirmngr/ocsp.c:791
 msgid "revoked"
 msgstr "yürürlükten kaldırıldı"
 
-#: g10/keyedit.c:3981 g10/keyedit.c:4412 g10/keyserver.c:552
-#: g10/mainproc.c:2373 g10/tofu.c:1792 g10/trust.c:124
+#: g10/keyedit.c:3982 g10/keyedit.c:4413 g10/keyserver.c:375
+#: g10/mainproc.c:2382 g10/tofu.c:1792 g10/trust.c:124
 msgid "expired"
 msgstr "zamanaşımına uğradı"
 
-#: g10/keyedit.c:4098
+#: g10/keyedit.c:4099
 #, c-format
 msgid ""
 "WARNING: no user ID has been marked as primary.  This command may\n"
@@ -4977,18 +4995,18 @@ msgstr ""
 "       farklı bir kullanıcı kimliğin birincil kullanıcı kimlik olarak\n"
 "       kabul edilmesini sağlayabilirsiniz.\n"
 
-#: g10/keyedit.c:4150
+#: g10/keyedit.c:4151
 #, c-format
 msgid "WARNING: Your encryption subkey expires soon.\n"
 msgstr ""
 
-#: g10/keyedit.c:4151
+#: g10/keyedit.c:4152
 #, fuzzy, c-format
 #| msgid "You can't change the expiration date of a v3 key\n"
 msgid "You may want to change its expiration date too.\n"
 msgstr "Bir v3 anahtarının son kullanma tarihini değiştiremezsiniz\n"
 
-#: g10/keyedit.c:4210
+#: g10/keyedit.c:4211
 msgid ""
 "WARNING: This is a PGP2-style key.  Adding a photo ID may cause some "
 "versions\n"
@@ -4997,35 +5015,35 @@ msgstr ""
 "UYARI: Bu PGP-2 tarzı bir anahtar. Bir foto kimliği eklenmesi bu anahtarın\n"
 "       bazı PGP sürümleri tarafından reddedilmesi ile sonuçlanabilir.\n"
 
-#: g10/keyedit.c:4215 g10/keyedit.c:4505
+#: g10/keyedit.c:4216 g10/keyedit.c:4506
 msgid "Are you sure you still want to add it? (y/N) "
 msgstr "Onu yine de eklemek istiyor musunuz? (e/H veya y/N) "
 
-#: g10/keyedit.c:4221
+#: g10/keyedit.c:4222
 msgid "You may not add a photo ID to a PGP2-style key.\n"
 msgstr "PGP2 tarzı bir anahtara bir foto kimliği ekleyemeyebilirsiniz.\n"
 
-#: g10/keyedit.c:4236 g10/keygen.c:2899
+#: g10/keyedit.c:4237 g10/keygen.c:2899
 msgid "Such a user ID already exists on this key!\n"
 msgstr ""
 
-#: g10/keyedit.c:4338
+#: g10/keyedit.c:4339
 msgid "Delete this good signature? (y/N/q)"
 msgstr "Bu doğru imza silinsin mi? (e/H/k veya y/N/k)"
 
-#: g10/keyedit.c:4348
+#: g10/keyedit.c:4349
 msgid "Delete this invalid signature? (y/N/q)"
 msgstr "Bu geçersiz imza silinsin mi? (e/H/k veya y/N/k)"
 
-#: g10/keyedit.c:4352
+#: g10/keyedit.c:4353
 msgid "Delete this unknown signature? (y/N/q)"
 msgstr "Bu bilinmeyen imza silinsin mi? (e/H/k veya y/N/k)"
 
-#: g10/keyedit.c:4359
+#: g10/keyedit.c:4360
 msgid "Really delete this self-signature? (y/N)"
 msgstr "Bu öz-imza gerçekten silinecek mi? (e/H veya y/N)"
 
-#: g10/keyedit.c:4375
+#: g10/keyedit.c:4376
 #, fuzzy, c-format
 #| msgid "Deleted %d signature.\n"
 msgid "Deleted %d signature.\n"
@@ -5033,20 +5051,20 @@ msgid_plural "Deleted %d signatures.\n"
 msgstr[0] "%d imza silindi.\n"
 msgstr[1] "%d imza silindi.\n"
 
-#: g10/keyedit.c:4379
+#: g10/keyedit.c:4380
 msgid "Nothing deleted.\n"
 msgstr "Hiçbir şey silinmedi.\n"
 
-#: g10/keyedit.c:4414
+#: g10/keyedit.c:4415
 msgid "invalid"
 msgstr "geçersiz"
 
-#: g10/keyedit.c:4416
+#: g10/keyedit.c:4417
 #, c-format
 msgid "User ID \"%s\" compacted: %s\n"
 msgstr "kullanıcı kimliği \"%s\" yoğun: %s\n"
 
-#: g10/keyedit.c:4422
+#: g10/keyedit.c:4423
 #, fuzzy, c-format
 #| msgid "User ID \"%s\": %d signature removed\n"
 msgid "User ID \"%s\": %d signature removed\n"
@@ -5054,17 +5072,17 @@ msgid_plural "User ID \"%s\": %d signatures removed\n"
 msgstr[0] "Kullanıcı kimliği \"%s\": %d imza temizlendi\n"
 msgstr[1] "Kullanıcı kimliği \"%s\": %d imza temizlendi\n"
 
-#: g10/keyedit.c:4430
+#: g10/keyedit.c:4431
 #, c-format
 msgid "User ID \"%s\": already minimized\n"
 msgstr "kullanıcı kimliği \"%s\": zaten küçük\n"
 
-#: g10/keyedit.c:4431
+#: g10/keyedit.c:4432
 #, c-format
 msgid "User ID \"%s\": already clean\n"
 msgstr "kullanıcı kimliği \"%s\": zaten temiz\n"
 
-#: g10/keyedit.c:4500
+#: g10/keyedit.c:4501
 msgid ""
 "WARNING: This is a PGP 2.x-style key.  Adding a designated revoker may "
 "cause\n"
@@ -5074,50 +5092,50 @@ msgstr ""
 "       eklenmesi bu anahtarın bazı PGP sürümleri tarafından reddedilmesi\n"
 "       ile sonuçlanabilir.\n"
 
-#: g10/keyedit.c:4511
+#: g10/keyedit.c:4512
 msgid "You may not add a designated revoker to a PGP 2.x-style key.\n"
 msgstr ""
 "PGP2 tarzı bir anahtara tasarlanmış bir yürürlükten kaldırıcı "
 "ekleyemeyebilirsiniz.\n"
 
-#: g10/keyedit.c:4528
+#: g10/keyedit.c:4529
 msgid "Enter the user ID of the designated revoker: "
 msgstr ""
 "Tasarlanmış yürürlükten kaldırma anahtarının kullanıcı kimliğini giriniz: "
 
-#: g10/keyedit.c:4554
+#: g10/keyedit.c:4555
 #, c-format
 msgid "cannot appoint a PGP 2.x style key as a designated revoker\n"
 msgstr ""
 "bir PGP 2.x tarzı anahtar bir tasarlanmış yürürlükten kaldırma anahtarı "
 "olarak atanamaz\n"
 
-#: g10/keyedit.c:4569
+#: g10/keyedit.c:4570
 #, c-format
 msgid "you cannot appoint a key as its own designated revoker\n"
 msgstr ""
 "bir anahtarı kendisini yürürlükten kaldıracak anahtar olarak "
 "kullanamazsınız\n"
 
-#: g10/keyedit.c:4591
+#: g10/keyedit.c:4592
 #, c-format
 msgid "this key has already been designated as a revoker\n"
 msgstr "bu anahtar zaten onu üreten tarafından yürürlükten kaldırılmıştı\n"
 
-#: g10/keyedit.c:4609
+#: g10/keyedit.c:4610
 msgid "WARNING: appointing a key as a designated revoker cannot be undone!\n"
 msgstr ""
 "UYARI: yürürlükten kaldıran olarak tasarlanmış bir anahtar başka amaçla\n"
 "       kullanılamaz!\n"
 
-#: g10/keyedit.c:4615
+#: g10/keyedit.c:4616
 msgid ""
 "Are you sure you want to appoint this key as a designated revoker? (y/N) "
 msgstr ""
 "Bu anahtarın, yürürlükten kaldıran anahtar olmasını istediğinizden emin "
 "misiniz? (e/H ya da y/N) "
 
-#: g10/keyedit.c:4683
+#: g10/keyedit.c:4684
 #, fuzzy
 #| msgid ""
 #| "Are you sure you want to appoint this key as a designated revoker? (y/N) "
@@ -5128,183 +5146,183 @@ msgstr ""
 "Bu anahtarın, yürürlükten kaldıran anahtar olmasını istediğinizden emin "
 "misiniz? (e/H ya da y/N) "
 
-#: g10/keyedit.c:4688
+#: g10/keyedit.c:4689
 msgid "Changing expiration time for a subkey.\n"
 msgstr "Bir yardımcı anahtar için son kullanma tarihi değiştiriliyor.\n"
 
-#: g10/keyedit.c:4691
+#: g10/keyedit.c:4692
 msgid "Changing expiration time for the primary key.\n"
 msgstr "Asıl anahtar için son kullanma tarihi değiştiriliyor.\n"
 
-#: g10/keyedit.c:4747
+#: g10/keyedit.c:4748
 #, c-format
 msgid "You can't change the expiration date of a v3 key\n"
 msgstr "Bir v3 anahtarının son kullanma tarihini değiştiremezsiniz\n"
 
-#: g10/keyedit.c:4807
+#: g10/keyedit.c:4808
 #, fuzzy
 #| msgid "Changing expiration time for a subkey.\n"
 msgid "Changing usage of a subkey.\n"
 msgstr "Bir yardımcı anahtar için son kullanma tarihi değiştiriliyor.\n"
 
-#: g10/keyedit.c:4810
+#: g10/keyedit.c:4811
 #, fuzzy
 #| msgid "Changing expiration time for the primary key.\n"
 msgid "Changing usage of the primary key.\n"
 msgstr "Asıl anahtar için son kullanma tarihi değiştiriliyor.\n"
 
-#: g10/keyedit.c:4928
+#: g10/keyedit.c:4929
 #, c-format
 msgid "signing subkey %s is already cross-certified\n"
 msgstr "yardımcı imzalama anahtarı %s zaten çapraz sertifikalı\n"
 
-#: g10/keyedit.c:4934
+#: g10/keyedit.c:4935
 #, c-format
 msgid "subkey %s does not sign and so does not need to be cross-certified\n"
 msgstr ""
 "yardımcı anahtar %s imzalamıyor, dolayısıyla çapraz sertifikalı olması "
 "gerekmiyor\n"
 
-#: g10/keyedit.c:5051
+#: g10/keyedit.c:5052
 msgid "Please select exactly one user ID.\n"
 msgstr "Lütfen sadece ve sadece bir kullanıcı kimlik seçiniz.\n"
 
-#: g10/keyedit.c:5092 g10/keyedit.c:5206 g10/keyedit.c:5319 g10/keyedit.c:5457
+#: g10/keyedit.c:5093 g10/keyedit.c:5207 g10/keyedit.c:5320 g10/keyedit.c:5458
 #, c-format
 msgid "skipping v3 self-signature on user ID \"%s\"\n"
 msgstr "kullanıcı kimliği \"%s\" için v3 öz-imzası atlanıyor\n"
 
-#: g10/keyedit.c:5263
+#: g10/keyedit.c:5264
 msgid "Enter your preferred keyserver URL: "
 msgstr "Tercih ettiğiniz sunucunun adresini girin: "
 
-#: g10/keyedit.c:5342
+#: g10/keyedit.c:5343
 msgid "Are you sure you want to replace it? (y/N) "
 msgstr "Onu değiştirmek istediğinizden emin misiniz? (e/H ya da y/N) "
 
-#: g10/keyedit.c:5343
+#: g10/keyedit.c:5344
 msgid "Are you sure you want to delete it? (y/N) "
 msgstr "Onu silmek istediğinizden emin misiniz? (e/H ya da y/N) "
 
-#: g10/keyedit.c:5403
+#: g10/keyedit.c:5404
 msgid "Enter the notation: "
 msgstr "Simgelemi giriniz: "
 
-#: g10/keyedit.c:5550
+#: g10/keyedit.c:5551
 msgid "Proceed? (y/N) "
 msgstr "Devam? (e/H ya da y/N) "
 
-#: g10/keyedit.c:5620
+#: g10/keyedit.c:5621
 #, c-format
 msgid "No user ID with index %d\n"
 msgstr "%d endeksine sahip kullanıcı kimliği yok\n"
 
-#: g10/keyedit.c:5682
+#: g10/keyedit.c:5683
 #, c-format
 msgid "No user ID with hash %s\n"
 msgstr "%s çittirmeli kullanıcı kimliği yok\n"
 
-#: g10/keyedit.c:5783
+#: g10/keyedit.c:5784
 #, fuzzy, c-format
 #| msgid "No subkey with index %d\n"
 msgid "No subkey with key ID '%s'.\n"
 msgstr "%d indisli bir yardımcı anahtar yok\n"
 
-#: g10/keyedit.c:5805
+#: g10/keyedit.c:5806
 #, c-format
 msgid "No subkey with index %d\n"
 msgstr "%d indisli bir yardımcı anahtar yok\n"
 
-#: g10/keyedit.c:5946
+#: g10/keyedit.c:5947
 #, c-format
 msgid "user ID: \"%s\"\n"
 msgstr "Kullanıcı kimliği: \"%s\"\n"
 
-#: g10/keyedit.c:5949 g10/keyedit.c:6051 g10/keyedit.c:6099
+#: g10/keyedit.c:5950 g10/keyedit.c:6052 g10/keyedit.c:6100
 #, c-format
 msgid "signed by your key %s on %s%s%s\n"
 msgstr "%s anahtarınızla %s%s%s de imzalandı\n"
 
-#: g10/keyedit.c:5951 g10/keyedit.c:6053 g10/keyedit.c:6101
+#: g10/keyedit.c:5952 g10/keyedit.c:6054 g10/keyedit.c:6102
 msgid " (non-exportable)"
 msgstr " (dışarda geçersiz)"
 
-#: g10/keyedit.c:5955
+#: g10/keyedit.c:5956
 #, c-format
 msgid "This signature expired on %s.\n"
 msgstr "Bu anahtarın geçerliliği %s de bitti.\n"
 
-#: g10/keyedit.c:5960
+#: g10/keyedit.c:5961
 msgid "Are you sure you still want to revoke it? (y/N) "
 msgstr "Onu yine de yürürlükten kaldırmak istiyor musunuz? (e/H veya y/N) "
 
-#: g10/keyedit.c:5965
+#: g10/keyedit.c:5966
 msgid "Create a revocation certificate for this signature? (y/N) "
 msgstr ""
 "Bu imza için bir yürürlükten kaldırma sertifikası oluşturulsun mu? (e/H veya "
 "y/N) "
 
-#: g10/keyedit.c:6025
+#: g10/keyedit.c:6026
 #, c-format
 msgid "You have signed these user IDs on key %s:\n"
 msgstr "Bu kullanıcı kimliklerini %s anahtarı üzerinde imzalamışsınız:\n"
 
-#: g10/keyedit.c:6054
+#: g10/keyedit.c:6055
 msgid " (non-revocable)"
 msgstr " (yürülükten kaldırılmaz)"
 
-#: g10/keyedit.c:6061
+#: g10/keyedit.c:6062
 #, c-format
 msgid "revoked by your key %s on %s\n"
 msgstr "%s tarafından %s de yürürlükten kaldırılmış\n"
 
-#: g10/keyedit.c:6086
+#: g10/keyedit.c:6087
 msgid "You are about to revoke these signatures:\n"
 msgstr "Bu imzaları yürürlükten kaldırmak üzeresiniz:\n"
 
-#: g10/keyedit.c:6109
+#: g10/keyedit.c:6110
 msgid "Really create the revocation certificates? (y/N) "
 msgstr ""
 "Bu yürürlükten kaldırma sertifikalarını gerçekten oluşturacak mısınız? (e/H "
 "veya y/N) "
 
-#: g10/keyedit.c:6142
+#: g10/keyedit.c:6143
 #, c-format
 msgid "no secret key\n"
 msgstr "gizli anahtar yok\n"
 
-#: g10/keyedit.c:6190
+#: g10/keyedit.c:6191
 #, c-format
 msgid "tried to revoke a non-user ID: %s\n"
 msgstr ""
 
-#: g10/keyedit.c:6200
+#: g10/keyedit.c:6201
 #, c-format
 msgid "user ID \"%s\" is already revoked\n"
 msgstr "kullanıcı kimliği \"%s\" zaten iptal edilmişti\n"
 
-#: g10/keyedit.c:6217
+#: g10/keyedit.c:6218
 #, c-format
 msgid "WARNING: a user ID signature is dated %d seconds in the future\n"
 msgstr "UYARI: bir kullanıcı kimliği imzası %d saniye gelecekte oluşturuldu\n"
 
-#: g10/keyedit.c:6313
+#: g10/keyedit.c:6314
 #, fuzzy, c-format
 #| msgid "You can't delete the last user ID!\n"
 msgid "Cannot revoke the last valid user ID.\n"
 msgstr "Son kullanıcı kimliğini silemezsiniz!\n"
 
-#: g10/keyedit.c:6351
+#: g10/keyedit.c:6352
 #, c-format
 msgid "Key %s is already revoked.\n"
 msgstr "Anahtar %s zaten yürürlükten kaldırılmış.\n"
 
-#: g10/keyedit.c:6413
+#: g10/keyedit.c:6414
 #, c-format
 msgid "Subkey %s is already revoked.\n"
 msgstr "Yardımcı anahtar %s zaten yürürlükten kaldırılmış.\n"
 
-#: g10/keyedit.c:6510
+#: g10/keyedit.c:6511
 #, c-format
 msgid "Displaying %s photo ID of size %ld for key %s (uid %d)\n"
 msgstr ""
@@ -6051,25 +6069,25 @@ msgstr "tercihli anahtar sunucusunun adresini adrese atar"
 msgid "honor the PKA record set on a key when retrieving keys"
 msgstr "anahtarları alırken PKA kaydını bir anahtara atar"
 
-#: g10/keyserver.c:550
+#: g10/keyserver.c:373
 msgid "disabled"
 msgstr "iptal edildi"
 
-#: g10/keyserver.c:754
+#: g10/keyserver.c:577
 msgid "Enter number(s), N)ext, or Q)uit > "
 msgstr "Sayıyı/sayıları girin veya S)onraki ya da Ç)ık >"
 
-#: g10/keyserver.c:860
+#: g10/keyserver.c:683
 #, c-format
 msgid "invalid keyserver protocol (us %d!=handler %d)\n"
 msgstr "anahtar sunucu protokolü geçersiz (bizimki %d!=eylemci %d)\n"
 
-#: g10/keyserver.c:1001 g10/keyserver.c:1116
+#: g10/keyserver.c:824 g10/keyserver.c:939
 #, c-format
 msgid "\"%s\" not a key ID: skipping\n"
 msgstr "\"%s\" bir anahtar kimliği değil: atlanıyor\n"
 
-#: g10/keyserver.c:1438 g10/keyserver.c:1471
+#: g10/keyserver.c:1237 g10/keyserver.c:1270
 #, fuzzy, c-format
 #| msgid "refreshing %d keys from %s\n"
 msgid "refreshing %d key from %s\n"
@@ -6077,54 +6095,49 @@ msgid_plural "refreshing %d keys from %s\n"
 msgstr[0] "%d anahtar %s adresinden tazeleniyor\n"
 msgstr[1] "%d anahtar %s adresinden tazeleniyor\n"
 
-#: g10/keyserver.c:1445
+#: g10/keyserver.c:1244
 #, c-format
 msgid "WARNING: unable to refresh key %s via %s: %s\n"
 msgstr "UYARI: %s anahtarı %s üzerinden tazelenemiyor: %s\n"
 
-#: g10/keyserver.c:1549
+#: g10/keyserver.c:1336
 #, c-format
 msgid "key \"%s\" not found on keyserver\n"
 msgstr "anahtar \"%s\" anahtar sunucusunda yok\n"
 
-#: g10/keyserver.c:1552
+#: g10/keyserver.c:1339
 #, c-format
 msgid "key not found on keyserver\n"
 msgstr "anahtar, anahtar sunucusunda yok\n"
 
-#: g10/keyserver.c:1743
-#, c-format
-msgid "requesting key %s from %s server %s\n"
-msgstr "%1$s anahtarı %3$s sunucusunun %2$s adresinden isteniyor\n"
-
-#: g10/keyserver.c:1747
+#: g10/keyserver.c:1504
 #, c-format
 msgid "requesting key %s from %s\n"
 msgstr "%s anahtarı %s adresinden isteniyor\n"
 
-#: g10/keyserver.c:1852 g10/keyserver.c:2031
+#: g10/keyserver.c:1619 g10/keyserver.c:1798
 #, fuzzy, c-format
 #| msgid "no keyserver action!\n"
 msgid "no keyserver known\n"
 msgstr "bir anahtar sunucusu eylemi yok!\n"
 
-#: g10/keyserver.c:1867 g10/skclist.c:214 g10/skclist.c:242
+#: g10/keyserver.c:1634 g10/skclist.c:215 g10/skclist.c:243
 #, c-format
 msgid "skipped \"%s\": %s\n"
 msgstr "\"%s\" atlandı: %s\n"
 
-#: g10/keyserver.c:1871
+#: g10/keyserver.c:1638
 #, c-format
 msgid "sending key %s to %s\n"
 msgstr "%s anahtarı %s adresine gönderiliyor\n"
 
-#: g10/keyserver.c:1912
+#: g10/keyserver.c:1679
 #, fuzzy, c-format
 #| msgid "requesting key %s from %s\n"
 msgid "requesting key from '%s'\n"
 msgstr "%s anahtarı %s adresinden isteniyor\n"
 
-#: g10/keyserver.c:1928
+#: g10/keyserver.c:1695
 #, c-format
 msgid "WARNING: unable to fetch URI %s: %s\n"
 msgstr "UYARI: Betimleyici %s alınamıyor: %s\n"
@@ -6139,261 +6152,261 @@ msgstr "bir şifreli oturum anahtarı (%d) için tuhaf uzunluk\n"
 msgid "%s encrypted session key\n"
 msgstr "%s şifreli oturum anahtarı\n"
 
-#: g10/mainproc.c:400
+#: g10/mainproc.c:403
 #, c-format
 msgid "passphrase generated with unknown digest algorithm %d\n"
 msgstr "bilinmeyen özet algoritması ile üretilmiş anahtar parolası %d\n"
 
-#: g10/mainproc.c:481
+#: g10/mainproc.c:485
 #, c-format
 msgid "public key is %s\n"
 msgstr "genel anahtar: %s\n"
 
-#: g10/mainproc.c:557
+#: g10/mainproc.c:561
 #, c-format
 msgid "public key encrypted data: good DEK\n"
 msgstr "genel anahtarla şifreli veri: doğru DEK\n"
 
-#: g10/mainproc.c:590
+#: g10/mainproc.c:594
 #, c-format
 msgid "encrypted with %u-bit %s key, ID %s, created %s\n"
 msgstr ""
 "%u bitlik %s anahtarı ve %s kullanıcı kimliği ile şifrelendi, %s tarihinde "
 "oluşturuldu\n"
 
-#: g10/mainproc.c:594 g10/pkclist.c:228
+#: g10/mainproc.c:598 g10/pkclist.c:228
 #, c-format
 msgid "      \"%s\"\n"
 msgstr "      \"%s\"\n"
 
-#: g10/mainproc.c:598
+#: g10/mainproc.c:602
 #, c-format
 msgid "encrypted with %s key, ID %s\n"
 msgstr "%s anahtarı ve %s kullanıcı kimliği ile şifrelenmiş\n"
 
-#: g10/mainproc.c:619
+#: g10/mainproc.c:623
 #, c-format
 msgid "public key decryption failed: %s\n"
 msgstr "genel anahtar şifre çözümü başarısız: %s\n"
 
-#: g10/mainproc.c:641 g10/mainproc.c:970
+#: g10/mainproc.c:645 g10/mainproc.c:976
 #, c-format
 msgid "WARNING: multiple plaintexts seen\n"
 msgstr "UYAR: çok sayıda salt metin görüldü\n"
 
-#: g10/mainproc.c:649
+#: g10/mainproc.c:653
 #, c-format
 msgid "encrypted with %lu passphrases\n"
 msgstr "%lu anahtar parolası ile şifrelenmiş\n"
 
-#: g10/mainproc.c:651
+#: g10/mainproc.c:655
 #, c-format
 msgid "encrypted with 1 passphrase\n"
 msgstr "1 anahtar parolası ile şifrelenmiş\n"
 
-#: g10/mainproc.c:685 g10/mainproc.c:706
+#: g10/mainproc.c:689 g10/mainproc.c:710
 #, c-format
 msgid "assuming %s encrypted data\n"
 msgstr "%s şifreli veri varsayılıyor\n"
 
-#: g10/mainproc.c:692
+#: g10/mainproc.c:696
 #, c-format
 msgid "IDEA cipher unavailable, optimistically attempting to use %s instead\n"
 msgstr ""
 "IDEA şifre kullanışsız, iyimserlikle yerine %s kullanılmaya çalışılıyor\n"
 
-#: g10/mainproc.c:779 g10/mainproc.c:817
+#: g10/mainproc.c:785 g10/mainproc.c:823
 #, c-format
 msgid "WARNING: message was not integrity protected\n"
 msgstr "UYARI: ileti bütünlük korumalı değildi\n"
 
-#: g10/mainproc.c:790
+#: g10/mainproc.c:796
 msgid ""
 "Hint: If this message was created before the year 2003 it is\n"
 "likely that this message is legitimate.  This is because back\n"
 "then integrity protection was not widely used.\n"
 msgstr ""
 
-#: g10/mainproc.c:793
+#: g10/mainproc.c:799
 #, c-format
 msgid "Use the option '%s' to decrypt anyway.\n"
 msgstr ""
 
-#: g10/mainproc.c:798
+#: g10/mainproc.c:804
 #, fuzzy, c-format
 #| msgid "decryption failed: %s\n"
 msgid "decryption forced to fail!\n"
 msgstr "şifre çözme başarısız: %s\n"
 
-#: g10/mainproc.c:810
+#: g10/mainproc.c:816
 #, c-format
 msgid "decryption okay\n"
 msgstr "Şifre çözme tamam\n"
 
-#: g10/mainproc.c:823
+#: g10/mainproc.c:829
 #, c-format
 msgid "WARNING: encrypted message has been manipulated!\n"
 msgstr "UYARI: şifreli ileti tahrip edilmiş!\n"
 
-#: g10/mainproc.c:841
+#: g10/mainproc.c:847
 #, c-format
 msgid "decryption failed: %s\n"
 msgstr "şifre çözme başarısız: %s\n"
 
-#: g10/mainproc.c:886
+#: g10/mainproc.c:892
 #, fuzzy, c-format
 #| msgid "NOTE: sender requested \"for-your-eyes-only\"\n"
 msgid "Note: sender requested \"for-your-eyes-only\"\n"
 msgstr "BİLGİ: gönderen \"yalnız-gözleriniz-için\" ricasında bulundu\n"
 
-#: g10/mainproc.c:893
+#: g10/mainproc.c:899
 #, c-format
 msgid "original file name='%.*s'\n"
 msgstr "özgün dosya adı = '%.*s'\n"
 
-#: g10/mainproc.c:1148
+#: g10/mainproc.c:1154
 #, c-format
 msgid "standalone revocation - use \"gpg --import\" to apply\n"
 msgstr ""
 "tek başına yürürlükten kaldırma - uygulamak için \"gpg --import\" kullanın\n"
 
-#: g10/mainproc.c:1452 g10/mainproc.c:1495
+#: g10/mainproc.c:1458 g10/mainproc.c:1501
 #, c-format
 msgid "no signature found\n"
 msgstr "hiç imza yok\n"
 
-#: g10/mainproc.c:1852
+#: g10/mainproc.c:1858
 #, c-format
 msgid "BAD signature from \"%s\""
 msgstr "\"%s\" deki imza KÖTÜ"
 
-#: g10/mainproc.c:1854
+#: g10/mainproc.c:1860
 #, c-format
 msgid "Expired signature from \"%s\""
 msgstr "\"%s\" deki imza zamanaşımına uğramış"
 
-#: g10/mainproc.c:1856
+#: g10/mainproc.c:1862
 #, c-format
 msgid "Good signature from \"%s\""
 msgstr "\"%s\" deki imza iyi"
 
-#: g10/mainproc.c:1876
+#: g10/mainproc.c:1882
 #, c-format
 msgid "signature verification suppressed\n"
 msgstr "imza doğrulama engellendi\n"
 
-#: g10/mainproc.c:1985
+#: g10/mainproc.c:1991
 #, c-format
 msgid "can't handle this ambiguous signature data\n"
 msgstr "bu belirsiz imza verisi elde edilemiyor\n"
 
-#: g10/mainproc.c:2001 g10/mainproc.c:2008
+#: g10/mainproc.c:2007 g10/mainproc.c:2014
 #, c-format
 msgid "Signature made %s\n"
 msgstr "İmza %s de\n"
 
-#: g10/mainproc.c:2002 g10/mainproc.c:2009 sm/verify.c:476
+#: g10/mainproc.c:2008 g10/mainproc.c:2015 sm/verify.c:476
 #, c-format
 msgid "               using %s key %s\n"
 msgstr "               %s kullanılarak anahtar %s ile yapılmış\n"
 
-#: g10/mainproc.c:2013
+#: g10/mainproc.c:2019
 #, c-format
 msgid "Signature made %s using %s key ID %s\n"
 msgstr "%s imzası, %s anahtarı ve %s kullanıcı kimliği ile yapılmış\n"
 
-#: g10/mainproc.c:2019
+#: g10/mainproc.c:2025
 #, fuzzy, c-format
 #| msgid "                aka \"%s\""
 msgid "               issuer \"%s\"\n"
 msgstr "                nam-ı diğer \"%s\""
 
-#: g10/mainproc.c:2070
+#: g10/mainproc.c:2076
 #, c-format
 msgid "Key available at: "
 msgstr "Anahtar burada:"
 
-#: g10/mainproc.c:2111
+#: g10/mainproc.c:2118
 #, c-format
 msgid "Note: Use '%s' to make use of this info\n"
 msgstr ""
 
-#: g10/mainproc.c:2325
+#: g10/mainproc.c:2334
 msgid "[uncertain]"
 msgstr "[şüpheli]"
 
-#: g10/mainproc.c:2363
+#: g10/mainproc.c:2372
 #, c-format
 msgid "                aka \"%s\""
 msgstr "                nam-ı diğer \"%s\""
 
-#: g10/mainproc.c:2438
+#: g10/mainproc.c:2447
 #, fuzzy, c-format
 #| msgid "WARNING: This key is not certified with a trusted signature!\n"
 msgid "WARNING: This key is not suitable for signing in %s mode\n"
 msgstr "UYARI: Bu anahtar güven dereceli bir imza ile sertifikalanmamış!\n"
 
-#: g10/mainproc.c:2456
+#: g10/mainproc.c:2465
 #, c-format
 msgid "Signature expired %s\n"
 msgstr "Bu imzanın geçerliliği %s de bitti.\n"
 
-#: g10/mainproc.c:2460
+#: g10/mainproc.c:2469
 #, c-format
 msgid "Signature expires %s\n"
 msgstr "Bu imzanın geçerliliği %s de bitecek.\n"
 
-#: g10/mainproc.c:2471
+#: g10/mainproc.c:2480
 #, fuzzy, c-format
 #| msgid "%s signature, digest algorithm %s\n"
 msgid "%s signature, digest algorithm %s%s%s\n"
 msgstr "%s imzası, %s özet algoritması\n"
 
-#: g10/mainproc.c:2472
+#: g10/mainproc.c:2481
 msgid "binary"
 msgstr "ikili"
 
-#: g10/mainproc.c:2473
+#: g10/mainproc.c:2482
 msgid "textmode"
 msgstr "metinkipi"
 
-#: g10/mainproc.c:2473 g10/trust.c:123 dirmngr/ocsp.c:792
+#: g10/mainproc.c:2482 g10/trust.c:123 dirmngr/ocsp.c:792
 msgid "unknown"
 msgstr "bilinmeyen"
 
-#: g10/mainproc.c:2475
+#: g10/mainproc.c:2484
 #, fuzzy
 #| msgid "algorithm: %s"
 msgid ", key algorithm "
 msgstr "algoritma: %s"
 
-#: g10/mainproc.c:2510
+#: g10/mainproc.c:2519
 #, c-format
 msgid "WARNING: not a detached signature; file '%s' was NOT verified!\n"
 msgstr ""
 
-#: g10/mainproc.c:2548
+#: g10/mainproc.c:2558
 #, c-format
 msgid "Can't check signature: %s\n"
 msgstr "İmza kontrol edilemedi: %s\n"
 
-#: g10/mainproc.c:2644 g10/mainproc.c:2663 g10/mainproc.c:2787
+#: g10/mainproc.c:2654 g10/mainproc.c:2673 g10/mainproc.c:2797
 #, c-format
 msgid "not a detached signature\n"
 msgstr "bir bağımsız imza değil\n"
 
-#: g10/mainproc.c:2697
+#: g10/mainproc.c:2707
 #, c-format
 msgid ""
 "WARNING: multiple signatures detected.  Only the first will be checked.\n"
 msgstr "UYARI: çoklu imzalar saptandı. Sadece ilki denetlenecek.\n"
 
-#: g10/mainproc.c:2706
+#: g10/mainproc.c:2716
 #, c-format
 msgid "standalone signature of class 0x%02x\n"
 msgstr "0x%02x sınıfı tek başına imza\n"
 
-#: g10/mainproc.c:2791
+#: g10/mainproc.c:2801
 #, c-format
 msgid "old style (PGP 2.x) signature\n"
 msgstr "eski stil (PGP 2.x) imza\n"
@@ -6585,63 +6598,69 @@ msgstr "Kritik imza simgelemi: "
 msgid "subpacket of type %d has critical bit set\n"
 msgstr "%d tipi alt paket kritik bit kümesine sahip\n"
 
-#: g10/passphrase.c:73 g10/passphrase.c:275 g10/passphrase.c:308
+#: g10/passphrase.c:73 g10/passphrase.c:283 g10/passphrase.c:316
 #, c-format
 msgid "problem with the agent: %s\n"
 msgstr "aracı ile sorun var: %s\n"
 
-#: g10/passphrase.c:258
+#: g10/passphrase.c:251 sm/decrypt.c:341
+#, fuzzy
+#| msgid "Please enter the new passphrase"
+msgid "Please enter the passphrase for decryption."
+msgstr "Lütfen yeni anahtar parolasını girin"
+
+#: g10/passphrase.c:253
 msgid "Enter passphrase\n"
 msgstr "Anahtar parolasını giriniz\n"
 
-#: g10/passphrase.c:269
+#: g10/passphrase.c:277
 #, c-format
 msgid "cancelled by user\n"
 msgstr "kullanıcı tarafından durduruldu\n"
 
-#: g10/passphrase.c:510
+#: g10/passphrase.c:523
 #, c-format
 msgid " (main key ID %s)"
 msgstr " (asıl anahtar kimliği %s)"
 
-#: g10/passphrase.c:517
+#: g10/passphrase.c:530
 #, fuzzy
 #| msgid "Please enter the passphrase to unprotect the PKCS#12 object."
 msgid "Please enter the passphrase to unlock the OpenPGP secret key:"
 msgstr ""
 "PKCS#12 nesnesinin korumasını aşmak için lütfen anahtar parolasını giriniz."
 
-#: g10/passphrase.c:521
+#: g10/passphrase.c:534
 #, fuzzy
 #| msgid "Please enter the passphrase to protect the new PKCS#12 object."
 msgid "Please enter the passphrase to import the OpenPGP secret key:"
 msgstr "PKCS#12 nesnesini korumak için lütfen anahtar parolasını giriniz."
 
-#: g10/passphrase.c:526
+#: g10/passphrase.c:539
 #, fuzzy
 #| msgid "Please enter the passphrase to protect the new PKCS#12 object."
 msgid "Please enter the passphrase to export the OpenPGP secret subkey:"
 msgstr "PKCS#12 nesnesini korumak için lütfen anahtar parolasını giriniz."
 
-#: g10/passphrase.c:529
+#: g10/passphrase.c:542
 #, fuzzy
 #| msgid "Please enter the passphrase to protect the new PKCS#12 object."
 msgid "Please enter the passphrase to export the OpenPGP secret key:"
 msgstr "PKCS#12 nesnesini korumak için lütfen anahtar parolasını giriniz."
 
-#: g10/passphrase.c:534
+#: g10/passphrase.c:547
 #, fuzzy
 #| msgid "Do you really want to delete the selected keys? (y/N) "
 msgid "Do you really want to permanently delete the OpenPGP secret subkey key:"
 msgstr "Seçili anahtarları gerçekten silmek istiyor musunuz? (e/H ya da y/N) "
 
-#: g10/passphrase.c:537
+#: g10/passphrase.c:550
 #, fuzzy
 #| msgid "Do you really want to delete the selected keys? (y/N) "
 msgid "Do you really want to permanently delete the OpenPGP secret key:"
 msgstr "Seçili anahtarları gerçekten silmek istiyor musunuz? (e/H ya da y/N) "
 
-#: g10/passphrase.c:546
+#: g10/passphrase.c:559
 #, fuzzy, c-format
 #| msgid "%u-bit %s key, ID %s, created %s"
 msgid ""
@@ -6695,7 +6714,7 @@ msgstr "'%s' bir JPEG dosyası değil\n"
 msgid "Is this photo correct (y/N/q)? "
 msgstr "Bu foto doğru mu? (e/H/ç veya y/N/ç) "
 
-#: g10/photoid.c:395
+#: g10/photoid.c:399
 #, c-format
 msgid "unable to display photo ID!\n"
 msgstr "foto kimliği gösterilemiyor!\n"
@@ -7058,7 +7077,7 @@ msgstr "imzalı veri '%s'  açılamadı\n"
 msgid "can't open signed data fd=%d: %s\n"
 msgstr "imzalı veri fd=%d açılamadı: %s\n"
 
-#: g10/pubkey-enc.c:98 g10/pubkey-enc.c:139 sm/decrypt.c:493
+#: g10/pubkey-enc.c:98 g10/pubkey-enc.c:139 sm/decrypt.c:969
 #, fuzzy, c-format
 #| msgid "certificate is not usable for encryption\n"
 msgid "key %s is not suitable for decryption in %s mode\n"
@@ -7074,28 +7093,28 @@ msgstr "anonim alıcı: %s gizli anahtarı deneniyor ...\n"
 msgid "okay, we are the anonymous recipient.\n"
 msgstr "tamam, biz anonim alıcıyız.\n"
 
-#: g10/pubkey-enc.c:321
+#: g10/pubkey-enc.c:311
 #, c-format
 msgid "old encoding of the DEK is not supported\n"
 msgstr "DEK'in eski kodlaması desteklenmiyor\n"
 
-#: g10/pubkey-enc.c:349
+#: g10/pubkey-enc.c:339
 #, c-format
 msgid "cipher algorithm %d%s is unknown or disabled\n"
 msgstr "şifre algoritması %d%s bilinmiyor ya da iptal edilmiş\n"
 
-#: g10/pubkey-enc.c:393
+#: g10/pubkey-enc.c:383
 #, c-format
 msgid "WARNING: cipher algorithm %s not found in recipient preferences\n"
 msgstr "UYARI: %s şifre algoritması alıcı tercihlerinde yok\n"
 
-#: g10/pubkey-enc.c:426
+#: g10/pubkey-enc.c:416
 #, fuzzy, c-format
 #| msgid "NOTE: secret key %s expired at %s\n"
 msgid "Note: secret key %s expired at %s\n"
 msgstr "BİLGİ: %s gizli anahtarının %s tarihinde kullanım süresi doldu\n"
 
-#: g10/pubkey-enc.c:433
+#: g10/pubkey-enc.c:423
 #, fuzzy, c-format
 #| msgid "NOTE: key has been revoked"
 msgid "Note: key has been revoked"
@@ -7426,7 +7445,7 @@ msgstr ""
 msgid "%s/%s signature from: \"%s\"\n"
 msgstr "%s/%s imza: \"%s\" den\n"
 
-#: g10/sign.c:1046
+#: g10/sign.c:1045
 #, c-format
 msgid ""
 "WARNING: forcing digest algorithm %s (%d) violates recipient preferences\n"
@@ -7434,32 +7453,32 @@ msgstr ""
 "UYARI: alıcının tercihleriyle çelişen %s (%d) özet algoritması kullanılmak "
 "isteniyor\n"
 
-#: g10/sign.c:1188
+#: g10/sign.c:1187
 #, c-format
 msgid "signing:"
 msgstr "imzalanıyor:"
 
-#: g10/sign.c:1465
+#: g10/sign.c:1464
 #, c-format
 msgid "%s encryption will be used\n"
 msgstr "%s şifrelemesi kullanılmayacak\n"
 
-#: g10/skclist.c:173 g10/skclist.c:254
+#: g10/skclist.c:174 g10/skclist.c:255
 #, c-format
 msgid "key is not flagged as insecure - can't use it with the faked RNG!\n"
 msgstr "anahtar güvenli olarak imlenmemiş - onu sahte RSÜ ile kullanmayın!\n"
 
-#: g10/skclist.c:205
+#: g10/skclist.c:206
 #, c-format
 msgid "skipped \"%s\": duplicated\n"
 msgstr "\"%s\" atlandı: tekrarlanmış\n"
 
-#: g10/skclist.c:224
+#: g10/skclist.c:225
 #, c-format
 msgid "skipped: secret key already present\n"
 msgstr "atlandı: gizli anahtar zaten var\n"
 
-#: g10/skclist.c:243
+#: g10/skclist.c:244
 msgid "this is a PGP generated Elgamal key which is not secure for signatures!"
 msgstr "bu, imzalar için güvenli olmayan PGP üretimi bir ElGamal anahtarı!"
 
@@ -7516,7 +7535,7 @@ msgstr "`%s' için okuma hatası: %s\n"
 msgid "trustdb: sync failed: %s\n"
 msgstr "güvence veritabanı: eşzamanlama başarısız: %s\n"
 
-#: g10/tdbio.c:144 sm/keydb.c:336
+#: g10/tdbio.c:144 sm/keydb.c:335
 #, fuzzy, c-format
 #| msgid "can't create lock for `%s'\n"
 msgid "can't create lock for '%s'\n"
@@ -8279,40 +8298,52 @@ msgstr ""
 #. TRANSLATORS: Put a \x1f right before a colon.  This can be
 #. * used by pinentry to nicely align the names and values.  Keep
 #. * the %s at the start and end of the string.
-#: scd/app-p15.c:3369 scd/app-openpgp.c:2153
+#: scd/app-p15.c:4955 scd/app-openpgp.c:2151
 #, c-format
 msgid "%sNumber\1f: %s%%0AHolder\1f: %s%s"
 msgstr ""
 
 #. TRANSLATORS: This is the number of remaining attempts to
 #. * enter a PIN.  Use %%0A (double-percent,0A) for a linefeed.
-#: scd/app-p15.c:3388 scd/app-openpgp.c:2169
+#: scd/app-p15.c:4974 scd/app-openpgp.c:2167
 #, c-format
 msgid "Remaining attempts: %d"
 msgstr ""
 
-#: scd/app-p15.c:3459 scd/app-nks.c:1110
+#: scd/app-p15.c:5053 scd/app-nks.c:1113
 msgid "||Please enter the PIN for the key to create qualified signatures."
 msgstr ""
 
-#: scd/app-p15.c:3462 scd/app-nks.c:1092
+#. TRANSLATORS: Do not translate the "|A|" prefix but keep it at
+#. the start of the string.  Use %0A (single percent) for a linefeed.
+#: scd/app-p15.c:5056 scd/app-openpgp.c:2461
+#, fuzzy
+msgid "|A|Please enter the Admin PIN"
+msgstr "||Lütfen PIN'i giriniz"
+
+#: scd/app-p15.c:5058 scd/app-nks.c:1103
+#, fuzzy
+msgid "|P|Please enter the PIN Unblocking Code (PUK) for the standard keys."
+msgstr "||Lütfen kart için Sıfırlama Kodunu giriniz"
+
+#: scd/app-p15.c:5061 scd/app-nks.c:1095
 #, fuzzy
 msgid "||Please enter the PIN for the standard keys."
 msgstr "|A|Lütfen Yönetici PIN'ini okuyucu tuştakımından giriniz"
 
-#: scd/app-nks.c:709 scd/app-openpgp.c:3664
+#: scd/app-nks.c:709 scd/app-openpgp.c:3663
 #, c-format
 msgid "RSA modulus missing or not of size %d bits\n"
 msgstr "RSA modülü ya eksik ya da %d bitlik değil\n"
 
-#: scd/app-nks.c:717 scd/app-openpgp.c:3676
+#: scd/app-nks.c:717 scd/app-openpgp.c:3675
 #, c-format
 msgid "RSA public exponent missing or larger than %d bits\n"
 msgstr "RSA genel üstel sayısı ya eksik ya da %d bitten büyük\n"
 
-#: scd/app-nks.c:797 scd/app-openpgp.c:2326 scd/app-openpgp.c:2345
-#: scd/app-openpgp.c:2512 scd/app-openpgp.c:2530 scd/app-openpgp.c:2827
-#: scd/app-openpgp.c:2874 scd/app-openpgp.c:2989 scd/app-dinsig.c:303
+#: scd/app-nks.c:797 scd/app-openpgp.c:2324 scd/app-openpgp.c:2343
+#: scd/app-openpgp.c:2510 scd/app-openpgp.c:2528 scd/app-openpgp.c:2826
+#: scd/app-openpgp.c:2873 scd/app-openpgp.c:2988 scd/app-dinsig.c:302
 #, c-format
 msgid "PIN callback returned error: %s\n"
 msgstr "PIN eylemcisi hata döndürdü: %s\n"
@@ -8322,79 +8353,74 @@ msgstr "PIN eylemcisi hata döndürdü: %s\n"
 msgid "the NullPIN has not yet been changed\n"
 msgstr "BoşPIN henüz değişmedi\n"
 
-#: scd/app-nks.c:1091
+#: scd/app-nks.c:1094
 #, fuzzy
 msgid "|N|Please enter a new PIN for the standard keys."
 msgstr "||Lütfen PIN'inizi okuyucunun tuştakımından giriniz"
 
-#: scd/app-nks.c:1098
+#: scd/app-nks.c:1101
 #, fuzzy
 msgid "|NP|Please enter a new PIN Unblocking Code (PUK) for the standard keys."
 msgstr "||Lütfen kart için Sıfırlama Kodunu giriniz"
 
-#: scd/app-nks.c:1100
-#, fuzzy
-msgid "|P|Please enter the PIN Unblocking Code (PUK) for the standard keys."
-msgstr "||Lütfen kart için Sıfırlama Kodunu giriniz"
-
-#: scd/app-nks.c:1108
+#: scd/app-nks.c:1111
 msgid "|N|Please enter a new PIN for the key to create qualified signatures."
 msgstr ""
 
-#: scd/app-nks.c:1118
+#: scd/app-nks.c:1121
 msgid ""
 "|NP|Please enter a new PIN Unblocking Code (PUK) for the key to create "
 "qualified signatures."
 msgstr ""
 
-#: scd/app-nks.c:1120
+#: scd/app-nks.c:1123
 msgid ""
 "|P|Please enter the PIN Unblocking Code (PUK) for the key to create "
 "qualified signatures."
 msgstr ""
 
-#: scd/app-nks.c:1227 scd/app-openpgp.c:2908 scd/app-dinsig.c:531
+#: scd/app-nks.c:1230 scd/app-openpgp.c:2907 scd/app-dinsig.c:532
 #, c-format
 msgid "error getting new PIN: %s\n"
 msgstr "yeni PIN alınırken hata: %s\n"
 
-#: scd/app-openpgp.c:860
+#: scd/app-openpgp.c:859
 #, c-format
 msgid "failed to store the fingerprint: %s\n"
 msgstr "parmakizinin saklanması başarısız oldu: %s\n"
 
-#: scd/app-openpgp.c:873
+#: scd/app-openpgp.c:872
 #, c-format
 msgid "failed to store the creation date: %s\n"
 msgstr "oluşturma tarihinin saklanması başarısız oldu: %s\n"
 
-#: scd/app-openpgp.c:1272 scd/app-openpgp.c:2855 scd/app-openpgp.c:5020
+#: scd/app-openpgp.c:1268 scd/app-openpgp.c:2854 scd/app-openpgp.c:5025
 #, c-format
 msgid "error retrieving CHV status from card\n"
 msgstr "karttan CHV durumu alınırken hata\n"
 
-#: scd/app-openpgp.c:1430
+#: scd/app-openpgp.c:1426
 #, c-format
 msgid "response does not contain the RSA modulus\n"
 msgstr "yanıt RSA modülü içermiyor\n"
 
-#: scd/app-openpgp.c:1437
+#: scd/app-openpgp.c:1433
 #, c-format
 msgid "response does not contain the RSA public exponent\n"
 msgstr "yanıt RSA genel bileşenini içermiyor\n"
 
-#: scd/app-openpgp.c:1547
+#: scd/app-openpgp.c:1543
 #, fuzzy, c-format
 #| msgid "response does not contain the RSA public exponent\n"
 msgid "response does not contain the EC public key\n"
 msgstr "yanıt RSA genel bileşenini içermiyor\n"
 
-#: scd/app-openpgp.c:1665 scd/app-openpgp.c:4284
+#: scd/app-openpgp.c:1661 scd/app-openpgp.c:4283
 #, c-format
 msgid "response does not contain the public key data\n"
 msgstr "yanıt genel anahtar verisi içermiyor\n"
 
-#: scd/app-openpgp.c:1772
+#: scd/app-openpgp.c:1768
 #, c-format
 msgid "reading public key failed: %s\n"
 msgstr "genel anahtar okuması başarısız: %s\n"
@@ -8402,46 +8428,46 @@ msgstr "genel anahtar okuması başarısız: %s\n"
 #. TRANSLATORS: Put a \x1f right before a colon.  This can be
 #. * used by pinentry to nicely align the names and values.  Keep
 #. * the %s at the start and end of the string.
-#: scd/app-openpgp.c:2140
+#: scd/app-openpgp.c:2138
 #, c-format
 msgid "%sNumber\1f: %s%%0AHolder\1f: %s%%0ACounter\1f: %lu%s"
 msgstr ""
 
-#: scd/app-openpgp.c:2280
+#: scd/app-openpgp.c:2278
 #, c-format
 msgid "using default PIN as %s\n"
 msgstr "%s olarak öntanımlı PIN kullanılıyor\n"
 
-#: scd/app-openpgp.c:2287
+#: scd/app-openpgp.c:2285
 #, c-format
 msgid "failed to use default PIN as %s: %s - disabling further default use\n"
 msgstr ""
 "%s olarak öntanımlı PIN kullanılamadı: %s - öntanımlı kullanımı iptal "
 "ediliyor\n"
 
-#: scd/app-openpgp.c:2300
+#: scd/app-openpgp.c:2298
 #, fuzzy
 #| msgid "||Please enter the PIN"
 msgid "||Please unlock the card"
 msgstr "||Lütfen PIN'i giriniz"
 
-#: scd/app-openpgp.c:2352 scd/app-openpgp.c:2537 scd/app-openpgp.c:2834
+#: scd/app-openpgp.c:2350 scd/app-openpgp.c:2535 scd/app-openpgp.c:2833
 #, c-format
 msgid "PIN for CHV%d is too short; minimum length is %d\n"
 msgstr "CHV%d için PIN çok kısa; asgari uzunluk: %d\n"
 
-#: scd/app-openpgp.c:2366 scd/app-openpgp.c:2413 scd/app-openpgp.c:2551
-#: scd/app-openpgp.c:4642
+#: scd/app-openpgp.c:2364 scd/app-openpgp.c:2411 scd/app-openpgp.c:2549
+#: scd/app-openpgp.c:4641
 #, c-format
 msgid "verify CHV%d failed: %s\n"
 msgstr "CHV%d doğrulaması başarısız oldu: %s\n"
 
-#: scd/app-openpgp.c:2449 scd/app-openpgp.c:5029
+#: scd/app-openpgp.c:2447 scd/app-openpgp.c:5034
 #, c-format
 msgid "card is permanently locked!\n"
 msgstr "kart kalıcı olarak kilitli!\n"
 
-#: scd/app-openpgp.c:2453
+#: scd/app-openpgp.c:2451
 #, fuzzy, c-format
 #| msgid "%d Admin PIN attempts remaining before card is permanently locked\n"
 msgid "%d Admin PIN attempt remaining before card is permanently locked\n"
@@ -8452,27 +8478,20 @@ msgstr[0] ""
 msgstr[1] ""
 "kart kalıcı olarak kilitlenmeden önce %d Yönetici PIN kalmasına çalışılıyor\n"
 
-#. TRANSLATORS: Do not translate the "|A|" prefix but keep it at
-#. the start of the string.  Use %0A (single percent) for a linefeed.
-#: scd/app-openpgp.c:2463
-#, fuzzy
-msgid "|A|Please enter the Admin PIN"
-msgstr "||Lütfen PIN'i giriniz"
-
-#: scd/app-openpgp.c:2484
+#: scd/app-openpgp.c:2482
 #, c-format
 msgid "access to admin commands is not configured\n"
 msgstr "yönetici komutlarına erişim yapılandırılmamış\n"
 
-#: scd/app-openpgp.c:2821
+#: scd/app-openpgp.c:2820
 msgid "||Please enter the PIN"
 msgstr "||Lütfen PIN'i giriniz"
 
-#: scd/app-openpgp.c:2870
+#: scd/app-openpgp.c:2869
 msgid "||Please enter the Reset Code for the card"
 msgstr "||Lütfen kart için Sıfırlama Kodunu giriniz"
 
-#: scd/app-openpgp.c:2880 scd/app-openpgp.c:2941
+#: scd/app-openpgp.c:2879 scd/app-openpgp.c:2940
 #, c-format
 msgid "Reset Code is too short; minimum length is %d\n"
 msgstr "Sıfırlama Kodu çok kısa; asgari uzunluk: %d\n"
@@ -8480,91 +8499,91 @@ msgstr "Sıfırlama Kodu çok kısa; asgari uzunluk: %d\n"
 #. TRANSLATORS: Do not translate the "|*|" prefixes but
 #. keep it at the start of the string.  We need this elsewhere
 #. to get some infos on the string.
-#: scd/app-openpgp.c:2903
+#: scd/app-openpgp.c:2902
 msgid "|RN|New Reset Code"
 msgstr "|YSK|Yeni Sıfırlama Kodu"
 
-#: scd/app-openpgp.c:2904
+#: scd/app-openpgp.c:2903
 msgid "|AN|New Admin PIN"
 msgstr "|YYP|Yeni Yönetici PIN'i"
 
-#: scd/app-openpgp.c:2904
+#: scd/app-openpgp.c:2903
 msgid "|N|New PIN"
 msgstr "|N|Yeni PIN"
 
-#: scd/app-openpgp.c:2985
+#: scd/app-openpgp.c:2984
 #, fuzzy
 msgid "||Please enter the Admin PIN and New Admin PIN"
 msgstr "||Lütfen PIN'i giriniz"
 
-#: scd/app-openpgp.c:2986
+#: scd/app-openpgp.c:2985
 #, fuzzy
 #| msgid "||Please enter the PIN"
 msgid "||Please enter the PIN and New PIN"
 msgstr "||Lütfen PIN'i giriniz"
 
-#: scd/app-openpgp.c:3048 scd/app-openpgp.c:4344
+#: scd/app-openpgp.c:3047 scd/app-openpgp.c:4343
 #, c-format
 msgid "error reading application data\n"
 msgstr "uygulama verisi okunurken hata\n"
 
-#: scd/app-openpgp.c:3054 scd/app-openpgp.c:4351
+#: scd/app-openpgp.c:3053 scd/app-openpgp.c:4350
 #, c-format
 msgid "error reading fingerprint DO\n"
 msgstr "parmakizi DO okunurken hata\n"
 
-#: scd/app-openpgp.c:3064
+#: scd/app-openpgp.c:3063
 #, c-format
 msgid "key already exists\n"
 msgstr "anahtar zaten mevcut\n"
 
-#: scd/app-openpgp.c:3068
+#: scd/app-openpgp.c:3067
 #, c-format
 msgid "existing key will be replaced\n"
 msgstr "mevcut anahtar konulacak\n"
 
-#: scd/app-openpgp.c:3070
+#: scd/app-openpgp.c:3069
 #, c-format
 msgid "generating new key\n"
 msgstr "yeni anahtar üretiliyor\n"
 
-#: scd/app-openpgp.c:3072
+#: scd/app-openpgp.c:3071
 #, fuzzy, c-format
 msgid "writing new key\n"
 msgstr "yeni anahtar üretiliyor\n"
 
-#: scd/app-openpgp.c:3645 scd/app-openpgp.c:3997
+#: scd/app-openpgp.c:3644 scd/app-openpgp.c:3996
 #, c-format
 msgid "creation timestamp missing\n"
 msgstr "oluşturum zaman damgası kayıp\n"
 
-#: scd/app-openpgp.c:3686 scd/app-openpgp.c:3694
+#: scd/app-openpgp.c:3685 scd/app-openpgp.c:3693
 #, c-format
 msgid "RSA prime %s missing or not of size %d bits\n"
 msgstr "RSA asal sayısı %s ya eksik la da %d bitlik değil\n"
 
-#: scd/app-openpgp.c:3827 scd/app-openpgp.c:4104
+#: scd/app-openpgp.c:3826 scd/app-openpgp.c:4103
 #, c-format
 msgid "failed to store the key: %s\n"
 msgstr "anahtarın saklanması başarısız: %s\n"
 
-#: scd/app-openpgp.c:3991
+#: scd/app-openpgp.c:3990
 #, fuzzy, c-format
 #| msgid "unsupported algorithm: %s"
 msgid "unsupported curve\n"
 msgstr "desteklenmeyen algoritma: %s"
 
-#: scd/app-openpgp.c:4261
+#: scd/app-openpgp.c:4260
 #, c-format
 msgid "please wait while key is being generated ...\n"
 msgstr "anahtar üretilene kadar lütfen bekleyiniz ....\n"
 
-#: scd/app-openpgp.c:4269
+#: scd/app-openpgp.c:4268
 #, c-format
 msgid "generating key failed\n"
 msgstr "anahtar üretimi başarısızlığa uğradı\n"
 
-#: scd/app-openpgp.c:4275
+#: scd/app-openpgp.c:4274
 #, fuzzy, c-format
 #| msgid "key generation completed (%d seconds)\n"
 msgid "key generation completed (%d second)\n"
@@ -8572,38 +8591,38 @@ msgid_plural "key generation completed (%d seconds)\n"
 msgstr[0] "anahtar üretimi tamamlandı (%d saniye)\n"
 msgstr[1] "anahtar üretimi tamamlandı (%d saniye)\n"
 
-#: scd/app-openpgp.c:4309
+#: scd/app-openpgp.c:4308
 #, c-format
 msgid "invalid structure of OpenPGP card (DO 0x93)\n"
 msgstr "OpenPGP kartının yapısı geçersiz (DO 0x93)\n"
 
-#: scd/app-openpgp.c:4359
+#: scd/app-openpgp.c:4358
 #, c-format
 msgid "fingerprint on card does not match requested one\n"
 msgstr "karttaki parmak izi istenenle eşleşmiyor\n"
 
-#: scd/app-openpgp.c:4558
+#: scd/app-openpgp.c:4557
 #, c-format
 msgid "card does not support digest algorithm %s\n"
 msgstr "kart %s özet algoritmasını desteklemiyor\n"
 
-#: scd/app-openpgp.c:4616
+#: scd/app-openpgp.c:4615
 #, c-format
 msgid "signatures created so far: %lu\n"
 msgstr "şu ana kadar oluşturulan imzalar: %lu\n"
 
-#: scd/app-openpgp.c:5034
+#: scd/app-openpgp.c:5039
 #, c-format
 msgid ""
 "verification of Admin PIN is currently prohibited through this command\n"
 msgstr "Yönetici PIN'inin doğrulanması bu komut yüzünden şimdilik yasaktır\n"
 
-#: scd/app-openpgp.c:5346 scd/app-openpgp.c:5357
+#: scd/app-openpgp.c:5351 scd/app-openpgp.c:5362
 #, c-format
 msgid "can't access %s - invalid OpenPGP card?\n"
 msgstr "%s erişilebilir değil - OpenPGP kartı geçersiz olabilir mi?\n"
 
-#: scd/app-dinsig.c:299
+#: scd/app-dinsig.c:298
 #, fuzzy
 #| msgid "||Please enter your PIN at the reader's keypad"
 msgid "||Please enter your PIN at the reader's pinpad"
@@ -8612,7 +8631,7 @@ msgstr "||Lütfen PIN'inizi okuyucunun tuştakımından giriniz"
 #. TRANSLATORS: Do not translate the "|*|" prefixes but
 #. keep it at the start of the string.  We need this elsewhere
 #. to get some infos on the string.
-#: scd/app-dinsig.c:528
+#: scd/app-dinsig.c:529
 msgid "|N|Initial New PIN"
 msgstr "|N|İlk Yeni PIN"
 
@@ -8620,7 +8639,7 @@ msgstr "|N|İlk Yeni PIN"
 msgid "run in multi server mode (foreground)"
 msgstr "çoklu sunucu kipinde çalışır (önalanda)"
 
-#: scd/scdaemon.c:129 sm/gpgsm.c:345 dirmngr/dirmngr.c:187
+#: scd/scdaemon.c:129 sm/gpgsm.c:348 dirmngr/dirmngr.c:188
 msgid "|LEVEL|set the debugging level to LEVEL"
 msgstr "|LDÜZEY|hata ayıklama düzeyini DÜZEY yapar"
 
@@ -8640,36 +8659,36 @@ msgstr "|İSİM|ct-API sürücüsü olarak İSİM kullanılır"
 msgid "|NAME|use NAME as PC/SC driver"
 msgstr "|İSİM|PC/SC sürücüsü olarak İSİM kullanılır"
 
-#: scd/scdaemon.c:145
+#: scd/scdaemon.c:146
 msgid "do not use the internal CCID driver"
 msgstr "dahili CCID sürücüsü kullanılmaz"
 
-#: scd/scdaemon.c:151
+#: scd/scdaemon.c:152
 msgid "|N|disconnect the card after N seconds of inactivity"
 msgstr "|N|N saniyelik durgunluktan sonra kartı ayırır"
 
-#: scd/scdaemon.c:154
+#: scd/scdaemon.c:155
 #, fuzzy
 #| msgid "do not use a reader's keypad"
 msgid "do not use a reader's pinpad"
 msgstr "bir okuyucu tuştakımı kullanılmaz"
 
-#: scd/scdaemon.c:159
+#: scd/scdaemon.c:160
 #, fuzzy
 msgid "deny the use of admin card commands"
 msgstr "yönetici kartı komutları kullanımına izin verir"
 
-#: scd/scdaemon.c:162
+#: scd/scdaemon.c:163
 msgid "use variable length input for pinpad"
 msgstr ""
 
-#: scd/scdaemon.c:311
+#: scd/scdaemon.c:312
 #, fuzzy
 #| msgid "Usage: gpgconf [options] (-h for help)"
 msgid "Usage: @SCDAEMON@ [options] (-h for help)"
 msgstr "Kullanımı: gpgconf [seçenekler] (yardım için -h)"
 
-#: scd/scdaemon.c:313
+#: scd/scdaemon.c:314
 #, fuzzy
 #| msgid ""
 #| "Syntax: scdaemon [options] [command [args]]\n"
@@ -8681,7 +8700,7 @@ msgstr ""
 "Sözdizimi: scdaemon [seçenekler] [komut [arg ...]]\n"
 "GnuPG için akıllı kart artalan süreci\n"
 
-#: scd/scdaemon.c:806
+#: scd/scdaemon.c:808
 #, fuzzy, c-format
 #| msgid ""
 #| "please use the option `--daemon' to run the program in the background\n"
@@ -8690,12 +8709,12 @@ msgstr ""
 "Programı artalanda çalışır bırakmak için lütfen `--daemon' seçeneğini "
 "kullanın\n"
 
-#: scd/scdaemon.c:1183 dirmngr/dirmngr.c:2082
+#: scd/scdaemon.c:1185 dirmngr/dirmngr.c:2119
 #, c-format
 msgid "handler for fd %d started\n"
 msgstr "fd %d için eylemci başlatıldı\n"
 
-#: scd/scdaemon.c:1195 dirmngr/dirmngr.c:2090
+#: scd/scdaemon.c:1197 dirmngr/dirmngr.c:2127
 #, c-format
 msgid "handler for fd %d terminated\n"
 msgstr "fd %d için eylemci sonlandı\n"
@@ -8744,7 +8763,7 @@ msgstr "bilgi: kritik olmayan sertifika poliçesine izin verilmez"
 msgid "certificate policy not allowed"
 msgstr "sertifika poliçesine izin verilmiyor"
 
-#: sm/certchain.c:595 sm/keydb.c:1106 sm/keydb.c:1192
+#: sm/certchain.c:595 sm/keydb.c:1084 sm/keydb.c:1171
 #, c-format
 msgid "failed to get the fingerprint\n"
 msgstr "parmakizinin alınması başarısız oldu\n"
@@ -8780,8 +8799,8 @@ msgstr "eşleşen sertifika sayısı: %d\n"
 msgid "dirmngr cache-only key lookup failed: %s\n"
 msgstr "dirmngr sadece-önbellek anahtar araması başarısızi: %s\n"
 
-#: sm/certchain.c:1041 sm/certchain.c:1554 sm/certchain.c:2192 sm/decrypt.c:265
-#: sm/encrypt.c:344 sm/import.c:415 sm/keydb.c:1113 sm/keydb.c:1199
+#: sm/certchain.c:1041 sm/certchain.c:1554 sm/certchain.c:2192 sm/decrypt.c:728
+#: sm/encrypt.c:345 sm/import.c:415 sm/keydb.c:1091 sm/keydb.c:1178
 #: sm/sign.c:337 sm/verify.c:118
 #, c-format
 msgid "failed to allocate keyDB handle\n"
@@ -8974,13 +8993,13 @@ msgid "a %u bit hash is not valid for a %u bit %s key\n"
 msgstr "%u bitlik çittirim %u bitlik %s anahtarı için geçersiz\n"
 
 #: sm/certcheck.c:238 sm/certcheck.c:262 dirmngr/crlcache.c:1542
-#: dirmngr/crlcache.c:1566 dirmngr/dirmngr.c:1324 dirmngr/validate.c:903
+#: dirmngr/crlcache.c:1566 dirmngr/dirmngr.c:1361 dirmngr/validate.c:903
 #: dirmngr/validate.c:927
 #, c-format
 msgid "out of core\n"
 msgstr "nüve dışında\n"
 
-#: sm/certcheck.c:371 sm/verify.c:213
+#: sm/certcheck.c:370 sm/verify.c:213
 #, c-format
 msgid "(this is the MD2 algorithm)\n"
 msgstr "(bu, MD2 algoritmasıdır)\n"
@@ -9295,23 +9314,35 @@ msgstr "Hazır.  Bu isteği şimdi Sertifika Yetkilinize (CA) göndermelisiniz.\
 msgid "resource problem: out of core\n"
 msgstr "özkaynak sorunu: nüve dışı\n"
 
-#: sm/decrypt.c:341
+#: sm/decrypt.c:536
+#, fuzzy, c-format
+#| msgid "%s encrypted data\n"
+msgid "%s.%s encrypted data\n"
+msgstr "%s şifreli veri\n"
+
+#: sm/decrypt.c:803
 #, c-format
 msgid "(this is the RC2 algorithm)\n"
 msgstr "(bu, RC2 algoritmasıdır)\n"
 
-#: sm/decrypt.c:343
+#: sm/decrypt.c:805
 #, c-format
 msgid "(this does not seem to be an encrypted message)\n"
 msgstr "(bu bir şifreli iletiymiş gibi görünmüyor)\n"
 
+#: sm/decrypt.c:958
+#, fuzzy, c-format
+#| msgid "encrypted with %s key, ID %s\n"
+msgid "encrypted to %s key %s\n"
+msgstr "%s anahtarı ve %s kullanıcı kimliği ile şifrelenmiş\n"
+
 #: sm/delete.c:51 sm/delete.c:112
 #, fuzzy, c-format
 #| msgid "certificate `%s' not found: %s\n"
 msgid "certificate '%s' not found: %s\n"
 msgstr "sertifika \"%s\" yok: %s\n"
 
-#: sm/delete.c:122 sm/keydb.c:1209 sm/keydb.c:1307
+#: sm/delete.c:122 sm/keydb.c:1189 sm/keydb.c:1288
 #, c-format
 msgid "error locking keybox: %s\n"
 msgstr "anahtar bloğu kilitlenirken hata: %s\n"
@@ -9333,132 +9364,132 @@ msgstr "sertifika `%s' silindi\n"
 msgid "deleting certificate \"%s\" failed: %s\n"
 msgstr "\"%s\" sertifikası silinemedi: %s\n"
 
-#: sm/encrypt.c:330
+#: sm/encrypt.c:331
 #, c-format
 msgid "no valid recipients given\n"
 msgstr "geçerli alıcılar verilmedi\n"
 
-#: sm/gpgsm.c:215
+#: sm/gpgsm.c:216
 msgid "list external keys"
 msgstr "harici anahtarları listeler"
 
-#: sm/gpgsm.c:217
+#: sm/gpgsm.c:218
 msgid "list certificate chain"
 msgstr "sertifika zincirini listeler"
 
-#: sm/gpgsm.c:225
+#: sm/gpgsm.c:226
 msgid "import certificates"
 msgstr "sertifikaları ithal eder"
 
-#: sm/gpgsm.c:226
+#: sm/gpgsm.c:227
 msgid "export certificates"
 msgstr "sertifikaları ihraç eder"
 
-#: sm/gpgsm.c:234
+#: sm/gpgsm.c:235
 msgid "register a smartcard"
 msgstr "bir akıllı kartı kayda alır"
 
-#: sm/gpgsm.c:237
+#: sm/gpgsm.c:238
 msgid "pass a command to the dirmngr"
 msgstr "dirmngr'a bir komut aktarır"
 
-#: sm/gpgsm.c:239
+#: sm/gpgsm.c:240
 msgid "invoke gpg-protect-tool"
 msgstr "gpg-protect-tool'u çalıştırır"
 
-#: sm/gpgsm.c:256
+#: sm/gpgsm.c:257
 msgid "create base-64 encoded output"
 msgstr "base-64 kodlu çıktı oluşturur"
 
-#: sm/gpgsm.c:265
+#: sm/gpgsm.c:266
 msgid "assume input is in PEM format"
 msgstr "girdinin PEM biçiminde olduğu kabul edilir"
 
-#: sm/gpgsm.c:267
+#: sm/gpgsm.c:268
 msgid "assume input is in base-64 format"
 msgstr "girdinin base-64 biçiminde olduğu kabul edilir"
 
-#: sm/gpgsm.c:269
+#: sm/gpgsm.c:270
 msgid "assume input is in binary format"
 msgstr "girdinin ikilik biçimde olduğu kabul edilir"
 
-#: sm/gpgsm.c:276
+#: sm/gpgsm.c:277
 msgid "never consult a CRL"
 msgstr "asla bir CRL sormaz"
 
-#: sm/gpgsm.c:286
+#: sm/gpgsm.c:287
 msgid "check validity using OCSP"
 msgstr "doğruluğu OCSP kullarak sınar"
 
-#: sm/gpgsm.c:291
+#: sm/gpgsm.c:292
 msgid "|N|number of certificates to include"
 msgstr "|N|içerilecek sertifika sayısı"
 
-#: sm/gpgsm.c:294
+#: sm/gpgsm.c:295
 msgid "|FILE|take policy information from FILE"
 msgstr "|DOSYA|poliçe bilgisi DOSYAdan alınır"
 
-#: sm/gpgsm.c:297
+#: sm/gpgsm.c:298
 msgid "do not check certificate policies"
 msgstr "sertifika poliçeleri sınanmaz"
 
-#: sm/gpgsm.c:301
+#: sm/gpgsm.c:302
 msgid "fetch missing issuer certificates"
 msgstr "kayıp sertifikacı sertifikalarını alır"
 
-#: sm/gpgsm.c:312
+#: sm/gpgsm.c:313
 msgid "don't use the terminal at all"
 msgstr "terminali hiç kullanma"
 
-#: sm/gpgsm.c:314
+#: sm/gpgsm.c:315
 msgid "|FILE|write a server mode log to FILE"
 msgstr "|DOSYA|bir sunucu kipi günlüğü DOSYAya yazar"
 
-#: sm/gpgsm.c:319
+#: sm/gpgsm.c:320
 msgid "|FILE|write an audit log to FILE"
 msgstr "|DOSYA|bir denetim günlüğünü DOSYAya yazar"
 
-#: sm/gpgsm.c:322
+#: sm/gpgsm.c:323
 msgid "batch mode: never ask"
 msgstr "önceden belirlenmiş işlemler kipi: hiç sormaz"
 
-#: sm/gpgsm.c:323
+#: sm/gpgsm.c:324
 msgid "assume yes on most questions"
 msgstr "soruların çoğunda cevap evet farzedilir"
 
-#: sm/gpgsm.c:324
+#: sm/gpgsm.c:325
 msgid "assume no on most questions"
 msgstr "soruların çoğunda cevap hayır farzedilir"
 
-#: sm/gpgsm.c:327
+#: sm/gpgsm.c:328
 msgid "|FILE|add keyring to the list of keyrings"
 msgstr "|DOSYA|anahtar zincirini anahtar zincirleri listesine ekler"
 
-#: sm/gpgsm.c:330
+#: sm/gpgsm.c:331
 msgid "|USER-ID|use USER-ID as default secret key"
 msgstr ""
 "|KULLANICI-KİMLİĞİ|öntanımlı gizli anahtar olarak KULLANICI-KİMLİĞİ "
 "kullanılır"
 
-#: sm/gpgsm.c:340 tools/gpgconf-comp.c:837
+#: sm/gpgsm.c:341 dirmngr/dirmngr.c:214 tools/gpgconf-comp.c:841
 msgid "|SPEC|use this keyserver to lookup keys"
 msgstr "|BELİRTİM|anahtarları aramak için bu anahtar sunucusu kullanılır"
 
-#: sm/gpgsm.c:357
+#: sm/gpgsm.c:360
 msgid "|NAME|use cipher algorithm NAME"
 msgstr "|İSİM|şifre algoritması olarak İSİM kullanılır"
 
-#: sm/gpgsm.c:359
+#: sm/gpgsm.c:362
 msgid "|NAME|use message digest algorithm NAME"
 msgstr "|İSİM|özet algoritması olarak İSİM kullanılır"
 
-#: sm/gpgsm.c:570
+#: sm/gpgsm.c:573
 #, fuzzy
 #| msgid "Usage: gpg [options] [files] (-h for help)"
 msgid "Usage: @GPGSM@ [options] [files] (-h for help)"
 msgstr "Kullanımı: gpg [seçenekler] [dosyalar] (yardım için -h)"
 
-#: sm/gpgsm.c:573
+#: sm/gpgsm.c:576
 #, fuzzy
 #| msgid ""
 #| "Syntax: gpgsm [options] [files]\n"
@@ -9473,51 +9504,31 @@ msgstr ""
 "imzalama, kontrol, şifreleme veya çözme S/MIME protokolü kullanarak yapılır\n"
 "öntanımlı işlem girilen veriye bağımlıdır\n"
 
-#: sm/gpgsm.c:777
+#: sm/gpgsm.c:784
 #, fuzzy, c-format
 #| msgid "NOTE: won't be able to encrypt to `%s': %s\n"
 msgid "Note: won't be able to encrypt to '%s': %s\n"
 msgstr "BİLGİ:`%s'e şifrelenemez: %s\n"
 
-#: sm/gpgsm.c:788
+#: sm/gpgsm.c:795
 #, fuzzy, c-format
 #| msgid "unknown validation model `%s'\n"
 msgid "unknown validation model '%s'\n"
 msgstr "`%s' geçerlilik modeli bilinmiyor\n"
 
-#: sm/gpgsm.c:839 dirmngr/ldapserver.c:86
-#, c-format
-msgid "%s:%u: no hostname given\n"
-msgstr "%s:%u: konak adı belirtilmemiş\n"
-
-#: sm/gpgsm.c:858 dirmngr/ldapserver.c:105
-#, c-format
-msgid "%s:%u: password given without user\n"
-msgstr "%s:%u: kullanıcısız parola verilmiş\n"
-
-#: sm/gpgsm.c:879 dirmngr/ldapserver.c:126
-#, c-format
-msgid "%s:%u: skipping this line\n"
-msgstr "%s:%u: bu satır atlanıyor\n"
-
-#: sm/gpgsm.c:1449
-#, c-format
-msgid "could not parse keyserver\n"
-msgstr "anahtar sunucusu çözümlenemedi\n"
-
-#: sm/gpgsm.c:1712
+#: sm/gpgsm.c:1612
 #, fuzzy, c-format
 #| msgid "importing common certificates `%s'\n"
 msgid "importing common certificates '%s'\n"
 msgstr "ortak sertifikalar `%s' ithal ediliyor\n"
 
-#: sm/gpgsm.c:1755
+#: sm/gpgsm.c:1655
 #, fuzzy, c-format
 #| msgid "can't sign using `%s': %s\n"
 msgid "can't sign using '%s': %s\n"
 msgstr "`%s' kullanarak imzalanamıyor: %s\n"
 
-#: sm/gpgsm.c:2122
+#: sm/gpgsm.c:2028
 #, c-format
 msgid "invalid command (there is no implicit command)\n"
 msgstr "geçersiz komut (hiç dolaylı komut yok)\n"
@@ -9537,7 +9548,7 @@ msgstr "sertifika saklanırken hata\n"
 msgid "basic certificate checks failed - not imported\n"
 msgstr "temel sertifika sınamaları başarısız oldu - ithal edilmedi\n"
 
-#: sm/import.c:472 sm/keydb.c:1229 sm/keydb.c:1319
+#: sm/import.c:472 sm/keydb.c:1209 sm/keydb.c:1300
 #, c-format
 msgid "error getting stored flags: %s\n"
 msgstr "saklanmış bayraklar alınırken hata: %s\n"
@@ -9552,27 +9563,27 @@ msgstr "sertifika ithal edilirken hata: %s\n"
 msgid "error reading input: %s\n"
 msgstr "girdi okunurken hata: %s\n"
 
-#: sm/keydb.c:1148
+#: sm/keydb.c:1127
 #, c-format
 msgid "problem looking for existing certificate: %s\n"
 msgstr "mevcut sertifika aranırken sorun çıktı: %s\n"
 
-#: sm/keydb.c:1160
+#: sm/keydb.c:1139
 #, c-format
 msgid "error finding writable keyDB: %s\n"
 msgstr "yazılabilir anahtar veritabanı bulunurken hata: %s\n"
 
-#: sm/keydb.c:1168
+#: sm/keydb.c:1147
 #, c-format
 msgid "error storing certificate: %s\n"
 msgstr "serifika saklanırken hata: %s\n"
 
-#: sm/keydb.c:1220
+#: sm/keydb.c:1200
 #, c-format
 msgid "problem re-searching certificate: %s\n"
 msgstr "sertifika yeniden aranırken sorun çıktı: %s\n"
 
-#: sm/keydb.c:1241 sm/keydb.c:1330
+#: sm/keydb.c:1221 sm/keydb.c:1311
 #, c-format
 msgid "error storing flags: %s\n"
 msgstr "bayraklar saklanırken hata: %s\n"
@@ -9614,7 +9625,7 @@ msgstr ""
 "\n"
 "%s%sBunu yapmak istediğinizden emin misiniz?"
 
-#: sm/qualified.c:215 sm/verify.c:678
+#: sm/qualified.c:215 sm/verify.c:679
 #, c-format
 msgid ""
 "Note, that this software is not officially approved to create or verify such "
@@ -9666,23 +9677,23 @@ msgstr "[belirtilmeyen tarihte]"
 msgid "algorithm:"
 msgstr "algoritma: %s"
 
-#: sm/verify.c:535
+#: sm/verify.c:536
 #, c-format
 msgid ""
 "invalid signature: message digest attribute does not match computed one\n"
 msgstr "geçersiz imza: ileti özeti özelliği hesaplananla uyuşmuyor\n"
 
-#: sm/verify.c:656
+#: sm/verify.c:657
 #, c-format
 msgid "Good signature from"
 msgstr "Buradaki imzeler iyi:"
 
-#: sm/verify.c:657
+#: sm/verify.c:658
 #, c-format
 msgid "                aka"
 msgstr "        nam-ı diğer"
 
-#: sm/verify.c:675
+#: sm/verify.c:676
 #, c-format
 msgid "This is a qualified signature\n"
 msgstr "Bu bir nitelikli imzadır.\n"
@@ -10376,7 +10387,7 @@ msgid "error retrieving '%s': %s\n"
 msgstr "`%s' %s üzerinden alınırken hata: %s\n"
 
 #: dirmngr/crlfetch.c:218 dirmngr/ldap-wrapper-ce.c:492
-#: dirmngr/ldap-wrapper.c:884 dirmngr/misc.c:573
+#: dirmngr/ldap-wrapper.c:885 dirmngr/misc.c:573
 #, fuzzy, c-format
 #| msgid "%s: error writing dir record: %s\n"
 msgid "error initializing reader object: %s\n"
@@ -10559,126 +10570,126 @@ msgstr ""
 msgid "looking up '%s'\n"
 msgstr ""
 
-#: dirmngr/dirmngr.c:170
+#: dirmngr/dirmngr.c:171
 msgid "list the contents of the CRL cache"
 msgstr ""
 
-#: dirmngr/dirmngr.c:171
+#: dirmngr/dirmngr.c:172
 #, fuzzy
 #| msgid "|FILE|run commands from FILE on startup"
 msgid "|FILE|load CRL from FILE into cache"
 msgstr "|DOSYA|DOSYAdaki komutlar başlangıçta çalıştırılır"
 
-#: dirmngr/dirmngr.c:172
+#: dirmngr/dirmngr.c:173
 msgid "|URL|fetch a CRL from URL"
 msgstr ""
 
-#: dirmngr/dirmngr.c:173
+#: dirmngr/dirmngr.c:174
 #, fuzzy
 #| msgid "pass a command to the dirmngr"
 msgid "shutdown the dirmngr"
 msgstr "dirmngr'a bir komut aktarır"
 
-#: dirmngr/dirmngr.c:174
+#: dirmngr/dirmngr.c:175
 msgid "flush the cache"
 msgstr ""
 
-#: dirmngr/dirmngr.c:190 tools/gpgconf-comp.c:522 tools/gpgconf-comp.c:741
-#: tools/gpgconf-comp.c:854 tools/gpgconf-comp.c:950
+#: dirmngr/dirmngr.c:191 tools/gpgconf-comp.c:522 tools/gpgconf-comp.c:745
+#: tools/gpgconf-comp.c:858 tools/gpgconf-comp.c:954
 msgid "|FILE|write server mode logs to FILE"
 msgstr "|DOSYA|sunucu kipi günlükleri DOSYAya yazar"
 
-#: dirmngr/dirmngr.c:191
+#: dirmngr/dirmngr.c:192
 #, fuzzy
 #| msgid "Quit without saving? (y/N) "
 msgid "run without asking a user"
 msgstr "Kaydetmeden çıkılsın mı? (e/H ya da y/N) "
 
-#: dirmngr/dirmngr.c:192
+#: dirmngr/dirmngr.c:193
 msgid "force loading of outdated CRLs"
 msgstr ""
 
-#: dirmngr/dirmngr.c:193
+#: dirmngr/dirmngr.c:194
 #, fuzzy
 #| msgid "allow PKA lookups (DNS requests)"
 msgid "allow sending OCSP requests"
 msgstr "PKA aramalarına izin verilir (DNS istekleri)"
 
-#: dirmngr/dirmngr.c:195
+#: dirmngr/dirmngr.c:196
 msgid "allow online software version check"
 msgstr ""
 
-#: dirmngr/dirmngr.c:196
+#: dirmngr/dirmngr.c:197
 msgid "inhibit the use of HTTP"
 msgstr ""
 
-#: dirmngr/dirmngr.c:197
+#: dirmngr/dirmngr.c:198
 msgid "inhibit the use of LDAP"
 msgstr ""
 
-#: dirmngr/dirmngr.c:199
+#: dirmngr/dirmngr.c:200
 msgid "ignore HTTP CRL distribution points"
 msgstr ""
 
-#: dirmngr/dirmngr.c:201
+#: dirmngr/dirmngr.c:202
 msgid "ignore LDAP CRL distribution points"
 msgstr ""
 
-#: dirmngr/dirmngr.c:203
+#: dirmngr/dirmngr.c:204
 msgid "ignore certificate contained OCSP service URLs"
 msgstr ""
 
-#: dirmngr/dirmngr.c:206
+#: dirmngr/dirmngr.c:207
 msgid "|URL|redirect all HTTP requests to URL"
 msgstr ""
 
-#: dirmngr/dirmngr.c:208
+#: dirmngr/dirmngr.c:209
 msgid "|HOST|use HOST for LDAP queries"
 msgstr ""
 
-#: dirmngr/dirmngr.c:210
+#: dirmngr/dirmngr.c:211
 msgid "do not use fallback hosts with --ldap-proxy"
 msgstr ""
 
-#: dirmngr/dirmngr.c:213
+#: dirmngr/dirmngr.c:216
 #, fuzzy
 #| msgid "|FILE|read options from FILE"
 msgid "|FILE|read LDAP server list from FILE"
 msgstr "|DOSYA|seçenekler DOSYAdan okunur"
 
-#: dirmngr/dirmngr.c:215
+#: dirmngr/dirmngr.c:218
 msgid "add new servers discovered in CRL distribution points to serverlist"
 msgstr ""
 
-#: dirmngr/dirmngr.c:218 dirmngr/dirmngr_ldap.c:137
+#: dirmngr/dirmngr.c:221
 #, fuzzy
 #| msgid "|N|set maximum PIN cache lifetime to N seconds"
 msgid "|N|set LDAP timeout to N seconds"
 msgstr "|N|azami PIN önbelleği ömrü N saniyeye ayarlanır"
 
-#: dirmngr/dirmngr.c:221
+#: dirmngr/dirmngr.c:224
 #, fuzzy
 #| msgid "|URL|use keyserver at URL"
 msgid "|URL|use OCSP responder at URL"
 msgstr "|URL| URL'si veriler anahtar sunucusu kullanılır"
 
-#: dirmngr/dirmngr.c:223
+#: dirmngr/dirmngr.c:226
 msgid "|FPR|OCSP response signed by FPR"
 msgstr ""
 
-#: dirmngr/dirmngr.c:229
+#: dirmngr/dirmngr.c:232
 msgid "|N|do not return more than N items in one query"
 msgstr ""
 
-#: dirmngr/dirmngr.c:234
+#: dirmngr/dirmngr.c:237
 msgid "|FILE|use the CA certificates in FILE for HKP over TLS"
 msgstr ""
 
-#: dirmngr/dirmngr.c:236
+#: dirmngr/dirmngr.c:239
 msgid "route all network traffic via Tor"
 msgstr ""
 
-#: dirmngr/dirmngr.c:265
+#: dirmngr/dirmngr.c:268
 #, fuzzy
 #| msgid ""
 #| "@\n"
@@ -10691,13 +10702,13 @@ msgstr ""
 "@\n"
 "(Tüm komut ve seçeneklerin komple listesi için man sayfalarına bakın)\n"
 
-#: dirmngr/dirmngr.c:407
+#: dirmngr/dirmngr.c:415
 #, fuzzy
 #| msgid "Usage: gpgconf [options] (-h for help)"
 msgid "Usage: @DIRMNGR@ [options] (-h for help)"
 msgstr "Kullanımı: gpgconf [seçenekler] (yardım için -h)"
 
-#: dirmngr/dirmngr.c:409
+#: dirmngr/dirmngr.c:417
 #, fuzzy
 #| msgid ""
 #| "Syntax: gpg-agent [options] [command [args]]\n"
@@ -10709,299 +10720,114 @@ msgstr ""
 "Sözdizimi: gpg-agent [seçenekler] [komut [arg ...]]\n"
 "GnuPG için gizli anahtar yönetimi\n"
 
-#: dirmngr/dirmngr.c:489
+#: dirmngr/dirmngr.c:497
 #, fuzzy, c-format
 #| msgid "invalid debug-level `%s' given\n"
 msgid "valid debug levels are: %s\n"
 msgstr "belirtilen hata seviyesi `%s' geçersiz\n"
 
-#: dirmngr/dirmngr.c:575 tools/gpgconf.c:647 tools/gpgconf.c:682
+#: dirmngr/dirmngr.c:583 tools/gpgconf.c:647 tools/gpgconf.c:682
 #: tools/gpgconf.c:780
 #, fuzzy, c-format
 #| msgid "usage: gpgsm [options] "
 msgid "usage: %s [options] "
 msgstr "kullanımı: gpgsm [seçenekler] "
 
-#: dirmngr/dirmngr.c:1212
+#: dirmngr/dirmngr.c:1249
 #, fuzzy, c-format
 #| msgid "%s not allowed with %s!\n"
 msgid "colons are not allowed in the socket name\n"
 msgstr "%s ile %s birlikte kullanılmaz!\n"
 
-#: dirmngr/dirmngr.c:1444 dirmngr/server.c:1824
+#: dirmngr/dirmngr.c:1481 dirmngr/server.c:1878
 #, fuzzy, c-format
 #| msgid "renaming `%s' to `%s' failed: %s\n"
 msgid "fetching CRL from '%s' failed: %s\n"
 msgstr "`%s' > `%s' isim değişikliği başarısız: %s\n"
 
-#: dirmngr/dirmngr.c:1450 dirmngr/server.c:1830
+#: dirmngr/dirmngr.c:1487 dirmngr/server.c:1884
 #, fuzzy, c-format
 #| msgid "conversion from `%s' to `%s' failed: %s\n"
 msgid "processing CRL from '%s' failed: %s\n"
 msgstr "`%s' > `%s' dönüşümü başarısız: %s\n"
 
-#: dirmngr/dirmngr.c:1645
+#: dirmngr/dirmngr.c:1682
 #, fuzzy, c-format
 #| msgid "line too long - skipped\n"
 msgid "%s:%u: line too long - skipped\n"
 msgstr "satır çok uzun - atlandı\n"
 
-#: dirmngr/dirmngr.c:1700 dirmngr/dirmngr.c:1784
+#: dirmngr/dirmngr.c:1737 dirmngr/dirmngr.c:1821
 #, fuzzy, c-format
 #| msgid "invalid fingerprint"
 msgid "%s:%u: invalid fingerprint detected\n"
 msgstr "parmakizi geçersiz"
 
-#: dirmngr/dirmngr.c:1736 dirmngr/dirmngr.c:1762 tools/gpgconf-comp.c:4191
+#: dirmngr/dirmngr.c:1773 dirmngr/dirmngr.c:1799 tools/gpgconf-comp.c:4199
 #, fuzzy, c-format
 #| msgid "read error in `%s': %s\n"
 msgid "%s:%u: read error: %s\n"
 msgstr "`%s' için okuma hatası: %s\n"
 
-#: dirmngr/dirmngr.c:1791
+#: dirmngr/dirmngr.c:1828
 #, c-format
 msgid "%s:%u: garbage at end of line ignored\n"
 msgstr ""
 
-#: dirmngr/dirmngr.c:1860
+#: dirmngr/dirmngr.c:1897
 #, c-format
 msgid "SIGHUP received - re-reading configuration and flushing caches\n"
 msgstr ""
 
-#: dirmngr/dirmngr.c:1900
+#: dirmngr/dirmngr.c:1937
 #, c-format
 msgid "SIGUSR2 received - no action defined\n"
 msgstr ""
 
-#: dirmngr/dirmngr.c:1905
+#: dirmngr/dirmngr.c:1942
 #, c-format
 msgid "SIGTERM received - shutting down ...\n"
 msgstr ""
 
-#: dirmngr/dirmngr.c:1907
+#: dirmngr/dirmngr.c:1944
 #, c-format
 msgid "SIGTERM received - still %d active connections\n"
 msgstr ""
 
-#: dirmngr/dirmngr.c:1912
+#: dirmngr/dirmngr.c:1949
 #, fuzzy, c-format
 #| msgid "not forced"
 msgid "shutdown forced\n"
 msgstr "zorlanmadı"
 
-#: dirmngr/dirmngr.c:1920
+#: dirmngr/dirmngr.c:1957
 #, c-format
 msgid "SIGINT received - immediate shutdown\n"
 msgstr ""
 
-#: dirmngr/dirmngr.c:1927
+#: dirmngr/dirmngr.c:1964
 #, c-format
 msgid "signal %d received - no action defined\n"
 msgstr ""
 
-#: dirmngr/dirmngr_ldap.c:138
-msgid "return all values in a record oriented format"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:141
-msgid "|NAME|ignore host part and connect through NAME"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:142
-#, fuzzy
-#| msgid "|NAME|connect to Assuan socket NAME"
-msgid "|NAME|connect to host NAME"
-msgstr "|İSİM|Assuan soketi İSİMe bağlanır"
-
-#: dirmngr/dirmngr_ldap.c:143
-#, fuzzy
-#| msgid "|N|connect to reader at port N"
-msgid "|N|connect to port N"
-msgstr "|N|N. porttaki okuyucuya bağlanır"
-
-#: dirmngr/dirmngr_ldap.c:144
-msgid "|NAME|use user NAME for authentication"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:145
-msgid "|PASS|use password PASS for authentication"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:147
-msgid "take password from $DIRMNGR_LDAP_PASS"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:148
-msgid "|STRING|query DN STRING"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:149
-msgid "|STRING|use STRING as filter expression"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:150
-msgid "|STRING|return the attribute STRING"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:211
-#, fuzzy
-#| msgid "Usage: gpg [options] [files] (-h for help)"
-msgid "Usage: dirmngr_ldap [options] [URL] (-h for help)\n"
-msgstr "Kullanımı: gpg [seçenekler] [dosyalar] (yardım için -h)"
-
-#: dirmngr/dirmngr_ldap.c:214
-msgid ""
-"Syntax: dirmngr_ldap [options] [URL]\n"
-"Internal LDAP helper for Dirmngr\n"
-"Interface and options may change without notice\n"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:340
-#, fuzzy, c-format
-#| msgid "invalid import options\n"
-msgid "invalid port number %d\n"
-msgstr "içselleştirme seçenekleri geçersiz\n"
-
-#: dirmngr/dirmngr_ldap.c:456
-#, c-format
-msgid "scanning result for attribute '%s'\n"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:463 dirmngr/dirmngr_ldap.c:546
-#: dirmngr/dirmngr_ldap.c:570 dirmngr/dirmngr_ldap.c:582
-#: dirmngr/dirmngr_ldap.c:720
-#, fuzzy, c-format
-#| msgid "error writing to %s: %s\n"
-msgid "error writing to stdout: %s\n"
-msgstr "%s yazılırken hata: %s\n"
-
-#: dirmngr/dirmngr_ldap.c:480
-#, c-format
-msgid "          available attribute '%s'\n"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:518
-#, fuzzy, c-format
-#| msgid "certificate `%s' not found: %s\n"
-msgid "attribute '%s' not found\n"
-msgstr "sertifika \"%s\" yok: %s\n"
-
-#: dirmngr/dirmngr_ldap.c:525
-#, c-format
-msgid "found attribute '%s'\n"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:634
-#, fuzzy, c-format
-#| msgid "reading from `%s'\n"
-msgid "processing url '%s'\n"
-msgstr "`%s'den okunuyor\n"
-
-#: dirmngr/dirmngr_ldap.c:636
-#, fuzzy, c-format
-#| msgid "          w/o user IDs: %lu\n"
-msgid "          user '%s'\n"
-msgstr "         kullanıcı kimliksiz: %lu\n"
-
-#: dirmngr/dirmngr_ldap.c:638
-#, fuzzy, c-format
-#| msgid "                aka \"%s\""
-msgid "          pass '%s'\n"
-msgstr "                nam-ı diğer \"%s\""
-
-#: dirmngr/dirmngr_ldap.c:640
-#, fuzzy, c-format
-#| msgid "          w/o user IDs: %lu\n"
-msgid "          host '%s'\n"
-msgstr "         kullanıcı kimliksiz: %lu\n"
-
-#: dirmngr/dirmngr_ldap.c:641
-#, fuzzy, c-format
-#| msgid "          not imported: %lu\n"
-msgid "          port %d\n"
-msgstr "             alınamadı: %lu\n"
-
-#: dirmngr/dirmngr_ldap.c:643
-#, fuzzy, c-format
-#| msgid "                aka \"%s\""
-msgid "            DN '%s'\n"
-msgstr "                nam-ı diğer \"%s\""
-
-#: dirmngr/dirmngr_ldap.c:645
-#, c-format
-msgid "        filter '%s'\n"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:650 dirmngr/dirmngr_ldap.c:653
-#, fuzzy, c-format
-#| msgid "                aka \"%s\""
-msgid "          attr '%s'\n"
-msgstr "                nam-ı diğer \"%s\""
-
-#: dirmngr/dirmngr_ldap.c:659
-#, fuzzy, c-format
-#| msgid "%s:%u: no hostname given\n"
-msgid "no host name in '%s'\n"
-msgstr "%s:%u: konak adı belirtilmemiş\n"
-
-#: dirmngr/dirmngr_ldap.c:664
-#, c-format
-msgid "no attribute given for query '%s'\n"
-msgstr ""
-
-#: dirmngr/dirmngr_ldap.c:670
-#, fuzzy, c-format
-#| msgid "WARNING: Using untrusted key!\n"
-msgid "WARNING: using first attribute only\n"
-msgstr "UYARI: Güven derecesiz anahtar kullanılıyor!\n"
-
-#: dirmngr/dirmngr_ldap.c:679
-#, fuzzy, c-format
-#| msgid "renaming `%s' to `%s' failed: %s\n"
-msgid "LDAP init to '%s:%d' failed: %s\n"
-msgstr "`%s' > `%s' isim değişikliği başarısız: %s\n"
-
-#: dirmngr/dirmngr_ldap.c:702
-#, fuzzy, c-format
-#| msgid "renaming `%s' to `%s' failed: %s\n"
-msgid "binding to '%s:%d' failed: %s\n"
-msgstr "`%s' > `%s' isim değişikliği başarısız: %s\n"
-
-#: dirmngr/dirmngr_ldap.c:729
-#, fuzzy, c-format
-#| msgid "dearmoring failed: %s\n"
-msgid "searching '%s' failed: %s\n"
-msgstr "zırhın kaldırılması başarısız: %s\n"
-
-#: dirmngr/dirmngr_ldap.c:761
-#, fuzzy, c-format
-#| msgid "`%s' is not a JPEG file\n"
-msgid "'%s' is not an LDAP URL\n"
-msgstr "'%s' bir JPEG dosyası değil\n"
-
-#: dirmngr/dirmngr_ldap.c:767
-#, c-format
-msgid "'%s' is an invalid LDAP URL\n"
-msgstr ""
-
-#: dirmngr/http.c:1987 dirmngr/ocsp.c:255
+#: dirmngr/http.c:1993 dirmngr/ocsp.c:255
 #, fuzzy, c-format
 #| msgid "error running `%s': exit status %d\n"
 msgid "error accessing '%s': http status %u\n"
 msgstr "`%s' çalışırken hata: çıkış durumu: %d\n"
 
-#: dirmngr/http.c:3629 dirmngr/ocsp.c:229
+#: dirmngr/http.c:3644 dirmngr/ocsp.c:229
 #, c-format
 msgid "URL '%s' redirected to '%s' (%u)\n"
 msgstr ""
 
-#: dirmngr/http.c:3635 dirmngr/ocsp.c:246
+#: dirmngr/http.c:3650 dirmngr/ocsp.c:246
 #, fuzzy, c-format
 #| msgid "too many cipher preferences\n"
 msgid "too many redirections\n"
 msgstr "çok fazla şifreleme tercihi\n"
 
-#: dirmngr/http.c:3747
+#: dirmngr/http.c:3762
 #, fuzzy, c-format
 #| msgid "writing to `%s'\n"
 msgid "redirection changed to '%s'\n"
@@ -11045,33 +10871,54 @@ msgstr "süreç %d sonlanacak diye beklerken başarısızlık: %s\n"
 msgid "ldap wrapper %d stalled - killing\n"
 msgstr ""
 
-#: dirmngr/ldap.c:91
+#: dirmngr/ldap.c:92
 #, c-format
 msgid "invalid char 0x%02x in host name - not added\n"
 msgstr ""
 
-#: dirmngr/ldap.c:95
+#: dirmngr/ldap.c:96
 #, fuzzy, c-format
 #| msgid "sending key %s to %s server %s\n"
 msgid "adding '%s:%d' to the ldap server list\n"
 msgstr "anahtar %1$s, %3$s sunucusunun %2$s adresine gönderiliyor\n"
 
-#: dirmngr/ldap.c:98 dirmngr/misc.c:512
+#: dirmngr/ldap.c:99 dirmngr/misc.c:512
 #, fuzzy, c-format
 #| msgid "select failed: %s\n"
 msgid "malloc failed: %s\n"
 msgstr "select başarısız: %s\n"
 
-#: dirmngr/ldap.c:627
+#: dirmngr/ldap.c:221
+#, fuzzy, c-format
+#| msgid "`%s' is not a JPEG file\n"
+msgid "'%s' is not an LDAP URL\n"
+msgstr "'%s' bir JPEG dosyası değil\n"
+
+#: dirmngr/ldap.c:227 dirmngr/ldap.c:233
 #, c-format
-msgid "start_cert_fetch: invalid pattern '%s'\n"
+msgid "'%s' is an invalid LDAP URL\n"
 msgstr ""
 
-#: dirmngr/ldap.c:839
+#: dirmngr/ldap.c:969
 #, c-format
 msgid "ldap_search hit the size limit of the server\n"
 msgstr ""
 
+#: dirmngr/ldapserver.c:117
+#, c-format
+msgid "%s:%u: password given without user\n"
+msgstr "%s:%u: kullanıcısız parola verilmiş\n"
+
+#: dirmngr/ldapserver.c:181
+#, c-format
+msgid "%s:%u: ignoring unknown flag '%s'\n"
+msgstr ""
+
+#: dirmngr/ldapserver.c:203
+#, c-format
+msgid "%s:%u: skipping this line\n"
+msgstr "%s:%u: bu satır atlanıyor\n"
+
 #: dirmngr/misc.c:172
 #, fuzzy, c-format
 #| msgid "%s: invalid file version %d\n"
@@ -11276,80 +11123,76 @@ msgstr ""
 msgid "assuan_inquire(%s) failed: %s\n"
 msgstr "satır göndirimi başarısız: %s\n"
 
-#: dirmngr/server.c:1158
-msgid "ldapserver missing"
-msgstr ""
-
-#: dirmngr/server.c:1224
+#: dirmngr/server.c:1277
 msgid "serialno missing in cert ID"
 msgstr ""
 
-#: dirmngr/server.c:1387 dirmngr/server.c:1473 dirmngr/server.c:1909
-#: dirmngr/server.c:1980 dirmngr/server.c:2552 dirmngr/server.c:2567
+#: dirmngr/server.c:1440 dirmngr/server.c:1526 dirmngr/server.c:1963
+#: dirmngr/server.c:2034 dirmngr/server.c:2662 dirmngr/server.c:2677
 #, fuzzy, c-format
 #| msgid "sending line failed: %s\n"
 msgid "assuan_inquire failed: %s\n"
 msgstr "satır göndirimi başarısız: %s\n"
 
-#: dirmngr/server.c:1516
+#: dirmngr/server.c:1569
 #, fuzzy, c-format
 #| msgid "select failed: %s\n"
 msgid "fetch_cert_by_url failed: %s\n"
 msgstr "select başarısız: %s\n"
 
-#: dirmngr/server.c:1528 dirmngr/server.c:1559 dirmngr/server.c:1718
+#: dirmngr/server.c:1581 dirmngr/server.c:1612 dirmngr/server.c:1772
 #, fuzzy, c-format
 #| msgid "error sending %s command: %s\n"
 msgid "error sending data: %s\n"
 msgstr "%s komutu gönderilirken hata: %s\n"
 
-#: dirmngr/server.c:1666
+#: dirmngr/server.c:1720
 #, fuzzy, c-format
 #| msgid "select failed: %s\n"
 msgid "start_cert_fetch failed: %s\n"
 msgstr "select başarısız: %s\n"
 
-#: dirmngr/server.c:1699
+#: dirmngr/server.c:1753
 #, fuzzy, c-format
 #| msgid "select failed: %s\n"
 msgid "fetch_next_cert failed: %s\n"
 msgstr "select başarısız: %s\n"
 
-#: dirmngr/server.c:1726
+#: dirmngr/server.c:1780
 #, c-format
 msgid "max_replies %d exceeded\n"
 msgstr ""
 
-#: dirmngr/server.c:2856
+#: dirmngr/server.c:2966
 #, fuzzy, c-format
 #| msgid "cannot allocate outfile string: %s\n"
 msgid "can't allocate control structure: %s\n"
 msgstr "dosya dışı dizge ayrılamıyor: %s\n"
 
-#: dirmngr/server.c:2867
+#: dirmngr/server.c:2977
 #, fuzzy, c-format
 #| msgid "failed to create stream from socket: %s\n"
 msgid "failed to allocate assuan context: %s\n"
 msgstr "sokette akım oluşturulamadı: %s\n"
 
-#: dirmngr/server.c:2888
+#: dirmngr/server.c:2998
 #, fuzzy, c-format
 #| msgid "failed to initialize the TrustDB: %s\n"
 msgid "failed to initialize the server: %s\n"
 msgstr "\"TrustDB\" güvence veritabanı başlangıç aşamasında başarısız: %s\n"
 
-#: dirmngr/server.c:2896
+#: dirmngr/server.c:3006
 #, fuzzy, c-format
 #| msgid "failed to store the creation date: %s\n"
 msgid "failed to the register commands with Assuan: %s\n"
 msgstr "oluşturma tarihinin saklanması başarısız oldu: %s\n"
 
-#: dirmngr/server.c:2929
+#: dirmngr/server.c:3039
 #, c-format
 msgid "Assuan accept problem: %s\n"
 msgstr ""
 
-#: dirmngr/server.c:2948
+#: dirmngr/server.c:3058
 #, fuzzy, c-format
 #| msgid "signing failed: %s\n"
 msgid "Assuan processing failed: %s\n"
@@ -11506,21 +11349,21 @@ msgid "error sending standard options: %s\n"
 msgstr "standart seçenekler gönderilirken hata: %s\n"
 
 #: tools/gpgconf-comp.c:481 tools/gpgconf-comp.c:617 tools/gpgconf-comp.c:692
-#: tools/gpgconf-comp.c:804 tools/gpgconf-comp.c:906
+#: tools/gpgconf-comp.c:808 tools/gpgconf-comp.c:910
 msgid "Options controlling the diagnostic output"
 msgstr "Tanı çıktısını denetleyen seçenekler"
 
 #: tools/gpgconf-comp.c:494 tools/gpgconf-comp.c:630 tools/gpgconf-comp.c:705
-#: tools/gpgconf-comp.c:817 tools/gpgconf-comp.c:929
+#: tools/gpgconf-comp.c:821 tools/gpgconf-comp.c:933
 msgid "Options controlling the configuration"
 msgstr "Yapılandırmayı denetleyen seçenekler"
 
-#: tools/gpgconf-comp.c:517 tools/gpgconf-comp.c:659 tools/gpgconf-comp.c:736
-#: tools/gpgconf-comp.c:849 tools/gpgconf-comp.c:942
+#: tools/gpgconf-comp.c:517 tools/gpgconf-comp.c:659 tools/gpgconf-comp.c:740
+#: tools/gpgconf-comp.c:853 tools/gpgconf-comp.c:946
 msgid "Options useful for debugging"
 msgstr "Hata ayıklamaya elverişli seçenekler"
 
-#: tools/gpgconf-comp.c:530 tools/gpgconf-comp.c:669 tools/gpgconf-comp.c:862
+#: tools/gpgconf-comp.c:530 tools/gpgconf-comp.c:669 tools/gpgconf-comp.c:866
 msgid "Options controlling the security"
 msgstr "Güvenliği denetleyen seçenekler"
 
@@ -11571,11 +11414,11 @@ msgstr "eski anahtar parolalarının yeniden kullanılmasına izin vermez"
 msgid "|N|set the Pinentry timeout to N seconds"
 msgstr "|N|azami PIN önbelleği ömrü N saniyeye ayarlanır"
 
-#: tools/gpgconf-comp.c:707 tools/gpgconf-comp.c:819
+#: tools/gpgconf-comp.c:707 tools/gpgconf-comp.c:823
 msgid "|NAME|use NAME as default secret key"
 msgstr "|İSİM|öntanımlı gizli anahtar olarak İSİM kullanılır"
 
-#: tools/gpgconf-comp.c:710 tools/gpgconf-comp.c:822
+#: tools/gpgconf-comp.c:710 tools/gpgconf-comp.c:826
 msgid "|NAME|encrypt to user ID NAME as well"
 msgstr "|İSİM|İSİM kullanıcısı için de şifreleme yapar"
 
@@ -11583,142 +11426,142 @@ msgstr "|İSİM|İSİM kullanıcısı için de şifreleme yapar"
 msgid "|SPEC|set up email aliases"
 msgstr "|BELİRTİM|eposta rumuzlarını ayarlar"
 
-#: tools/gpgconf-comp.c:749 tools/gpgconf-comp.c:981
+#: tools/gpgconf-comp.c:753 tools/gpgconf-comp.c:985
 msgid "Configuration for Keyservers"
 msgstr "Anahtar sunucular için yapılandırma"
 
-#: tools/gpgconf-comp.c:751 tools/gpgconf-comp.c:983
+#: tools/gpgconf-comp.c:755 tools/gpgconf-comp.c:987
 msgid "|URL|use keyserver at URL"
 msgstr "|URL| URL'si veriler anahtar sunucusu kullanılır"
 
-#: tools/gpgconf-comp.c:754
+#: tools/gpgconf-comp.c:758
 msgid "allow PKA lookups (DNS requests)"
 msgstr "PKA aramalarına izin verilir (DNS istekleri)"
 
-#: tools/gpgconf-comp.c:757
+#: tools/gpgconf-comp.c:761
 msgid "|MECHANISMS|use MECHANISMS to locate keys by mail address"
 msgstr ""
 "|MEKANİZMALAR|anahtarları eposta adreslerine göre konumlamak için "
 "MEKANİZMALAR kullanılır"
 
-#: tools/gpgconf-comp.c:760
+#: tools/gpgconf-comp.c:764
 #, fuzzy
 #| msgid "import keys from a keyserver"
 msgid "import missing key from a signature"
 msgstr "anahtarları bir anahtar sunucusundan indirir"
 
-#: tools/gpgconf-comp.c:763
+#: tools/gpgconf-comp.c:767
 #, fuzzy
 #| msgid "list and check key signatures"
 msgid "include the public key in signatures"
 msgstr "anahtar imzalarını listeler ve sınar"
 
-#: tools/gpgconf-comp.c:770 tools/gpgconf-comp.c:831
+#: tools/gpgconf-comp.c:774 tools/gpgconf-comp.c:835
 msgid "disable all access to the dirmngr"
 msgstr "dirmngr'a tüm erişim iptal edilir"
 
-#: tools/gpgconf-comp.c:834
+#: tools/gpgconf-comp.c:838
 msgid "|NAME|use encoding NAME for PKCS#12 passphrases"
 msgstr "|İSİM|PKCS#12 anahtar parolaları için kodlama olarak İSİM kullanılır"
 
-#: tools/gpgconf-comp.c:870
+#: tools/gpgconf-comp.c:874
 msgid "do not check CRLs for root certificates"
 msgstr "kök sertifikalar için CRLler sınanmaz"
 
-#: tools/gpgconf-comp.c:919
+#: tools/gpgconf-comp.c:923
 msgid "Options controlling the format of the output"
 msgstr "Çıktı biçimini denetleyen seçenekler"
 
-#: tools/gpgconf-comp.c:961
+#: tools/gpgconf-comp.c:965
 msgid "Options controlling the interactivity and enforcement"
 msgstr "Etkileşimliliği ve zorlamayı denetleyen seçenekler"
 
-#: tools/gpgconf-comp.c:974
+#: tools/gpgconf-comp.c:978
 #, fuzzy
 #| msgid "Options controlling the security"
 msgid "Options controlling the use of Tor"
 msgstr "Güvenliği denetleyen seçenekler"
 
-#: tools/gpgconf-comp.c:988
+#: tools/gpgconf-comp.c:992
 msgid "Configuration for HTTP servers"
 msgstr "HTTP sunucuları için yapılandırma"
 
-#: tools/gpgconf-comp.c:999
+#: tools/gpgconf-comp.c:1003
 msgid "use system's HTTP proxy setting"
 msgstr "sistemin HTTP vekil ayarları kullanılır"
 
-#: tools/gpgconf-comp.c:1004
+#: tools/gpgconf-comp.c:1008
 msgid "Configuration of LDAP servers to use"
 msgstr "Kullanılacak LDAP sunucularının yapılandırması"
 
-#: tools/gpgconf-comp.c:1033
+#: tools/gpgconf-comp.c:1037
 msgid "LDAP server list"
 msgstr "LDAP sunucu listesi"
 
-#: tools/gpgconf-comp.c:1041
+#: tools/gpgconf-comp.c:1045
 msgid "Configuration for OCSP"
 msgstr "OCSP için yapılandırma"
 
-#: tools/gpgconf-comp.c:1094
+#: tools/gpgconf-comp.c:1098
 msgid "OpenPGP"
 msgstr ""
 
-#: tools/gpgconf-comp.c:1095
+#: tools/gpgconf-comp.c:1099
 msgid "Private Keys"
 msgstr ""
 
-#: tools/gpgconf-comp.c:1096
+#: tools/gpgconf-comp.c:1100
 msgid "Smartcards"
 msgstr ""
 
-#: tools/gpgconf-comp.c:1097
+#: tools/gpgconf-comp.c:1101
 msgid "S/MIME"
 msgstr ""
 
-#: tools/gpgconf-comp.c:1098
+#: tools/gpgconf-comp.c:1102
 msgid "Network"
 msgstr ""
 
-#: tools/gpgconf-comp.c:1099
+#: tools/gpgconf-comp.c:1103
 #, fuzzy
 #| msgid "Bad Passphrase"
 msgid "Passphrase Entry"
 msgstr "Anahtar Parolası hatalı"
 
-#: tools/gpgconf-comp.c:1278
+#: tools/gpgconf-comp.c:1282
 #, fuzzy
 #| msgid "Component not found"
 msgid "Component not suitable for launching"
 msgstr "Bileşen yok"
 
-#: tools/gpgconf-comp.c:1284
+#: tools/gpgconf-comp.c:1288
 #, fuzzy, c-format
 #| msgid "External verification of component %s failed"
 msgid "Configuration file of component %s is broken\n"
 msgstr "%s bileşeninin harici doğrulaması başarısız oldu"
 
-#: tools/gpgconf-comp.c:1287
+#: tools/gpgconf-comp.c:1291
 #, fuzzy, c-format
 #| msgid "Please use the command \"toggle\" first.\n"
 msgid "Note: Use the command \"%s%s\" to get details.\n"
 msgstr "lütfen önce \"seçmece\" komutunu kullanın.\n"
 
-#: tools/gpgconf-comp.c:3446
+#: tools/gpgconf-comp.c:3454
 #, c-format
 msgid "External verification of component %s failed"
 msgstr "%s bileşeninin harici doğrulaması başarısız oldu"
 
-#: tools/gpgconf-comp.c:3597
+#: tools/gpgconf-comp.c:3605
 msgid "Note that group specifications are ignored\n"
 msgstr "Grup belirtimlerinin yoksayıldığına dikkat edin\n"
 
-#: tools/gpgconf-comp.c:4195
+#: tools/gpgconf-comp.c:4203
 #, fuzzy, c-format
 #| msgid "error closing %s: %s\n"
 msgid "error closing '%s'\n"
 msgstr "%s kapanırken hata: %s\n"
 
-#: tools/gpgconf-comp.c:4197
+#: tools/gpgconf-comp.c:4205
 #, fuzzy, c-format
 #| msgid "error in `%s': %s\n"
 msgid "error parsing '%s'\n"
@@ -11844,6 +11687,105 @@ msgstr ""
 "Standart girdiden verilen anahtar parolasını örüntü dosyasıyla "
 "karşılaştırır\n"
 
+#~ msgid "requesting key %s from %s server %s\n"
+#~ msgstr "%1$s anahtarı %3$s sunucusunun %2$s adresinden isteniyor\n"
+
+#~ msgid "%s:%u: no hostname given\n"
+#~ msgstr "%s:%u: konak adı belirtilmemiş\n"
+
+#~ msgid "could not parse keyserver\n"
+#~ msgstr "anahtar sunucusu çözümlenemedi\n"
+
+#, fuzzy
+#~| msgid "|NAME|connect to Assuan socket NAME"
+#~ msgid "|NAME|connect to host NAME"
+#~ msgstr "|İSİM|Assuan soketi İSİMe bağlanır"
+
+#, fuzzy
+#~| msgid "|N|connect to reader at port N"
+#~ msgid "|N|connect to port N"
+#~ msgstr "|N|N. porttaki okuyucuya bağlanır"
+
+#, fuzzy
+#~| msgid "Usage: gpg [options] [files] (-h for help)"
+#~ msgid "Usage: dirmngr_ldap [options] [URL] (-h for help)\n"
+#~ msgstr "Kullanımı: gpg [seçenekler] [dosyalar] (yardım için -h)"
+
+#, fuzzy
+#~| msgid "invalid import options\n"
+#~ msgid "invalid port number %d\n"
+#~ msgstr "içselleştirme seçenekleri geçersiz\n"
+
+#, fuzzy
+#~| msgid "error writing to %s: %s\n"
+#~ msgid "error writing to stdout: %s\n"
+#~ msgstr "%s yazılırken hata: %s\n"
+
+#, fuzzy
+#~| msgid "certificate `%s' not found: %s\n"
+#~ msgid "attribute '%s' not found\n"
+#~ msgstr "sertifika \"%s\" yok: %s\n"
+
+#, fuzzy
+#~| msgid "reading from `%s'\n"
+#~ msgid "processing url '%s'\n"
+#~ msgstr "`%s'den okunuyor\n"
+
+#, fuzzy
+#~| msgid "          w/o user IDs: %lu\n"
+#~ msgid "          user '%s'\n"
+#~ msgstr "         kullanıcı kimliksiz: %lu\n"
+
+#, fuzzy
+#~| msgid "                aka \"%s\""
+#~ msgid "          pass '%s'\n"
+#~ msgstr "                nam-ı diğer \"%s\""
+
+#, fuzzy
+#~| msgid "          w/o user IDs: %lu\n"
+#~ msgid "          host '%s'\n"
+#~ msgstr "         kullanıcı kimliksiz: %lu\n"
+
+#, fuzzy
+#~| msgid "          not imported: %lu\n"
+#~ msgid "          port %d\n"
+#~ msgstr "             alınamadı: %lu\n"
+
+#, fuzzy
+#~| msgid "                aka \"%s\""
+#~ msgid "            DN '%s'\n"
+#~ msgstr "                nam-ı diğer \"%s\""
+
+#, fuzzy
+#~| msgid "                aka \"%s\""
+#~ msgid "          attr '%s'\n"
+#~ msgstr "                nam-ı diğer \"%s\""
+
+#, fuzzy
+#~| msgid "%s:%u: no hostname given\n"
+#~ msgid "no host name in '%s'\n"
+#~ msgstr "%s:%u: konak adı belirtilmemiş\n"
+
+#, fuzzy
+#~| msgid "WARNING: Using untrusted key!\n"
+#~ msgid "WARNING: using first attribute only\n"
+#~ msgstr "UYARI: Güven derecesiz anahtar kullanılıyor!\n"
+
+#, fuzzy
+#~| msgid "renaming `%s' to `%s' failed: %s\n"
+#~ msgid "LDAP init to '%s:%d' failed: %s\n"
+#~ msgstr "`%s' > `%s' isim değişikliği başarısız: %s\n"
+
+#, fuzzy
+#~| msgid "renaming `%s' to `%s' failed: %s\n"
+#~ msgid "binding to '%s:%d' failed: %s\n"
+#~ msgstr "`%s' > `%s' isim değişikliği başarısız: %s\n"
+
+#, fuzzy
+#~| msgid "dearmoring failed: %s\n"
+#~ msgid "searching '%s' failed: %s\n"
+#~ msgstr "zırhın kaldırılması başarısız: %s\n"
+
 #, fuzzy
 #~| msgid "NOTE: old default options file `%s' ignored\n"
 #~ msgid "Note: old default options file '%s' ignored\n"
index c009d93..70e234a 100644 (file)
Binary files a/po/uk.gmo and b/po/uk.gmo differ
index b4acde2..c3188e2 100644 (file)
--- a/po/uk.po
+++ b/po/uk.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: GNU gnupg 2.1.0\n"
 "Report-Msgid-Bugs-To: translations@gnupg.org\n"
-"POT-Creation-Date: 2021-01-11 18:47+0100\n"
+"POT-Creation-Date: 2021-06-10 18:59+0200\n"
 "PO-Revision-Date: 2020-08-31 11:54+0300\n"
 "Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
 "Language-Team: Ukrainian <kde-i18n-uk@kde.org>\n"
@@ -110,7 +110,7 @@ msgid "Passphrase:"
 msgstr "Пароль:"
 
 #: agent/call-pinentry.c:1107 agent/call-pinentry.c:1359
-#: agent/command-ssh.c:3130 agent/genkey.c:416
+#: agent/command-ssh.c:3140 agent/genkey.c:416
 msgid "does not match - try again"
 msgstr "паролі не збігаються, повторіть спробу"
 
@@ -161,32 +161,32 @@ msgid "ssh keys greater than %d bits are not supported\n"
 msgstr ""
 "підтримки ключів ssh, що складаються з понад %d бітів, не передбачено\n"
 
-#: agent/command-ssh.c:862 common/dotlock.c:852 g10/card-util.c:932
-#: g10/exec.c:546 g10/export.c:1320 g10/gpg.c:1352 g10/keygen.c:4998
-#: g10/keyring.c:1322 g10/keyring.c:1637 g10/openfile.c:291 g10/sign.c:1009
-#: g10/sign.c:1323 g10/tdbio.c:753
+#: agent/command-ssh.c:862 common/dotlock.c:852 g10/card-util.c:933
+#: g10/exec.c:554 g10/export.c:1320 g10/gpg.c:1360 g10/keygen.c:4998
+#: g10/keyring.c:1322 g10/keyring.c:1637 g10/openfile.c:291 g10/sign.c:1008
+#: g10/sign.c:1322 g10/tdbio.c:753
 #, c-format
 msgid "can't create '%s': %s\n"
 msgstr "не вдалося створити «%s»: %s\n"
 
-#: agent/command-ssh.c:874 common/helpfile.c:57 g10/card-util.c:889
+#: agent/command-ssh.c:874 common/helpfile.c:57 g10/card-util.c:890
 #: g10/dearmor.c:59 g10/dearmor.c:106 g10/decrypt.c:65 g10/decrypt.c:136
-#: g10/decrypt.c:153 g10/encrypt.c:180 g10/encrypt.c:543 g10/gpg.c:1353
-#: g10/import.c:352 g10/import.c:536 g10/import.c:764 g10/keygen.c:4036
+#: g10/decrypt.c:153 g10/encrypt.c:180 g10/encrypt.c:543 g10/gpg.c:1361
+#: g10/import.c:364 g10/import.c:548 g10/import.c:776 g10/keygen.c:4036
 #: g10/keyring.c:1663 g10/openfile.c:195 g10/openfile.c:209 g10/plaintext.c:128
-#: g10/plaintext.c:649 g10/sign.c:991 g10/sign.c:1202 g10/sign.c:1307
-#: g10/sign.c:1452 g10/tdbdump.c:143 g10/tdbdump.c:151 g10/tdbio.c:758
-#: g10/tdbio.c:829 g10/verify.c:96 g10/verify.c:160 sm/gpgsm.c:2219
-#: sm/gpgsm.c:2249 sm/gpgsm.c:2287 sm/qualified.c:66 dirmngr/certcache.c:396
+#: g10/plaintext.c:649 g10/sign.c:990 g10/sign.c:1201 g10/sign.c:1306
+#: g10/sign.c:1451 g10/tdbdump.c:143 g10/tdbdump.c:151 g10/tdbio.c:758
+#: g10/tdbio.c:829 g10/verify.c:96 g10/verify.c:160 sm/gpgsm.c:2125
+#: sm/gpgsm.c:2155 sm/gpgsm.c:2193 sm/qualified.c:66 dirmngr/certcache.c:396
 #: dirmngr/certcache.c:476 dirmngr/certcache.c:478 dirmngr/crlcache.c:2588
-#: dirmngr/dirmngr.c:1722
+#: dirmngr/dirmngr.c:1759
 #, c-format
 msgid "can't open '%s': %s\n"
 msgstr "не вдалося відкрити «%s»: %s\n"
 
 #: agent/command-ssh.c:2385 agent/command-ssh.c:2431 agent/command-ssh.c:2449
-#: agent/command-ssh.c:2601 g10/card-util.c:687 g10/card-util.c:708
-#: g10/skclist.c:430
+#: agent/command-ssh.c:2601 g10/card-util.c:688 g10/card-util.c:709
+#: g10/skclist.c:435
 #, c-format
 msgid "error getting serial number of card: %s\n"
 msgstr "помилка під час спроби отримання серійного номера картки: %s\n"
@@ -211,7 +211,7 @@ msgstr "не виявлено відповідних ключів картки:
 msgid "error getting list of cards: %s\n"
 msgstr "помилка під час спроби отримання списку карток: %s\n"
 
-#: agent/command-ssh.c:2765
+#: agent/command-ssh.c:2775
 #, c-format
 msgid ""
 "An ssh process requested the use of key%%0A  %s%%0A  (%s)%%0ADo you want to "
@@ -220,24 +220,24 @@ msgstr ""
 "Процесом ssh надіслано запит щодо використання ключа%%0A  %s%%0A  "
 "(%s)%%0AНадати доступ до цього ключа?"
 
-#: agent/command-ssh.c:2772
+#: agent/command-ssh.c:2782
 msgid "Allow"
 msgstr "Надати"
 
-#: agent/command-ssh.c:2772
+#: agent/command-ssh.c:2782
 msgid "Deny"
 msgstr "Заборонити"
 
-#: agent/command-ssh.c:2781
+#: agent/command-ssh.c:2791
 #, c-format
 msgid "Please enter the passphrase for the ssh key%%0A  %F%%0A  (%c)"
 msgstr "Будь ласка, вкажіть пароль до ключа ssh%%0A  %F%%0A  (%c)"
 
-#: agent/command-ssh.c:3058 agent/genkey.c:351
+#: agent/command-ssh.c:3068 agent/genkey.c:351
 msgid "Please re-enter this passphrase"
 msgstr "Будь ласка, повторіть введення пароля"
 
-#: agent/command-ssh.c:3085
+#: agent/command-ssh.c:3095
 #, c-format
 msgid ""
 "Please enter a passphrase to protect the received secret key%%0A   %s%%0A   "
@@ -246,7 +246,7 @@ msgstr ""
 "Будь ласка, вкажіть пароль для захисту отриманого закритого ключа%%0A   %s"
 "%%0A   %s%%0Aу сховищі ключів gpg-agent"
 
-#: agent/command-ssh.c:3667
+#: agent/command-ssh.c:3677
 #, c-format
 msgid "failed to create stream from socket: %s\n"
 msgstr "не вдалося створити потік даних з сокета: %s\n"
@@ -395,45 +395,43 @@ msgstr ""
 "@Параметри:\n"
 " "
 
-#: agent/gpg-agent.c:165 scd/scdaemon.c:120 dirmngr/dirmngr.c:166
+#: agent/gpg-agent.c:165 scd/scdaemon.c:120 dirmngr/dirmngr.c:167
 msgid "run in daemon mode (background)"
 msgstr "запустити у режимі фонової служби (фоновий)"
 
-#: agent/gpg-agent.c:166 scd/scdaemon.c:117 dirmngr/dirmngr.c:165
+#: agent/gpg-agent.c:166 scd/scdaemon.c:117 dirmngr/dirmngr.c:166
 msgid "run in server mode (foreground)"
 msgstr "запустити у режимі сервера (основному)"
 
-#: agent/gpg-agent.c:168 dirmngr/dirmngr.c:168
+#: agent/gpg-agent.c:168 dirmngr/dirmngr.c:169
 msgid "run in supervised mode"
 msgstr "запустити у режимі із наглядом"
 
-#: agent/gpg-agent.c:170 g10/gpg.c:608 g10/gpgv.c:78 kbx/kbxutil.c:88
-#: scd/scdaemon.c:121 sm/gpgsm.c:310 dirmngr/dirmngr-client.c:70
-#: dirmngr/dirmngr.c:181 dirmngr/dirmngr_ldap.c:135
-#: tools/gpg-connect-agent.c:78 tools/gpgconf.c:108
+#: agent/gpg-agent.c:170 g10/gpg.c:605 g10/gpgv.c:78 kbx/kbxutil.c:88
+#: scd/scdaemon.c:121 sm/gpgsm.c:311 dirmngr/dirmngr-client.c:70
+#: dirmngr/dirmngr.c:182 tools/gpg-connect-agent.c:78 tools/gpgconf.c:108
 msgid "verbose"
 msgstr "докладний режим"
 
 #: agent/gpg-agent.c:171 g10/gpgv.c:79 kbx/kbxutil.c:89 scd/scdaemon.c:122
-#: sm/gpgsm.c:311 dirmngr/dirmngr-client.c:71 dirmngr/dirmngr.c:182
-#: dirmngr/dirmngr_ldap.c:136
+#: sm/gpgsm.c:312 dirmngr/dirmngr-client.c:71 dirmngr/dirmngr.c:183
 msgid "be somewhat more quiet"
 msgstr "дещо зменшити кількість повідомлень"
 
-#: agent/gpg-agent.c:172 scd/scdaemon.c:123 dirmngr/dirmngr.c:183
+#: agent/gpg-agent.c:172 scd/scdaemon.c:123 dirmngr/dirmngr.c:184
 msgid "sh-style command output"
 msgstr "виведення команд у форматі sh"
 
-#: agent/gpg-agent.c:173 scd/scdaemon.c:124 dirmngr/dirmngr.c:184
+#: agent/gpg-agent.c:173 scd/scdaemon.c:124 dirmngr/dirmngr.c:185
 msgid "csh-style command output"
 msgstr "виведення команд у форматі csh"
 
-#: agent/gpg-agent.c:174 scd/scdaemon.c:125 sm/gpgsm.c:341
-#: dirmngr/dirmngr.c:185
+#: agent/gpg-agent.c:174 scd/scdaemon.c:125 sm/gpgsm.c:344
+#: dirmngr/dirmngr.c:186
 msgid "|FILE|read options from FILE"
 msgstr "|FILE|прочитати параметри з вказаного файла"
 
-#: agent/gpg-agent.c:183 scd/scdaemon.c:135 dirmngr/dirmngr.c:188
+#: agent/gpg-agent.c:183 scd/scdaemon.c:135 dirmngr/dirmngr.c:189
 msgid "do not detach from the console"
 msgstr "не від’єднувати від консолі"
 
@@ -509,9 +507,9 @@ msgstr "увімкнути підтримку putty"
 #. reporting address.  This is so that we can change the
 #. reporting address without breaking the translations.
 #: agent/gpg-agent.c:531 agent/preset-passphrase.c:100 agent/protect-tool.c:155
-#: g10/gpg.c:1070 g10/gpgv.c:149 kbx/kbxutil.c:113 scd/scdaemon.c:298
-#: sm/gpgsm.c:567 dirmngr/dirmngr-client.c:168 dirmngr/dirmngr.c:404
-#: dirmngr/dirmngr_ldap.c:207 tools/gpg-connect-agent.c:205 tools/gpgconf.c:146
+#: g10/gpg.c:1074 g10/gpgv.c:149 kbx/kbxutil.c:113 scd/scdaemon.c:299
+#: sm/gpgsm.c:570 dirmngr/dirmngr-client.c:168 dirmngr/dirmngr.c:412
+#: tools/gpg-connect-agent.c:205 tools/gpgconf.c:146
 #: tools/gpg-check-pattern.c:143
 msgid "Please report bugs to <@EMAIL@>.\n"
 msgstr "Будь ласка, надсилайте повідомлення про помилки на <@EMAIL@>.\n"
@@ -528,37 +526,37 @@ msgstr ""
 "Синтаксис: @GPG_AGENT@ [параметри] [команда [аргументи]]\n"
 "Керування закритими ключами у @GNUPG@\n"
 
-#: agent/gpg-agent.c:587 g10/gpg.c:1262 scd/scdaemon.c:370 sm/gpgsm.c:715
-#: dirmngr/dirmngr.c:488
+#: agent/gpg-agent.c:587 g10/gpg.c:1270 scd/scdaemon.c:371 sm/gpgsm.c:718
+#: dirmngr/dirmngr.c:496
 #, c-format
 msgid "invalid debug-level '%s' given\n"
 msgstr "вказано некоректне значення рівня діагностики «%s»\n"
 
-#: agent/gpg-agent.c:945 g10/gpg.c:3753 g10/gpg.c:3777 sm/gpgsm.c:1631
-#: sm/gpgsm.c:1637
+#: agent/gpg-agent.c:945 g10/gpg.c:3773 g10/gpg.c:3797 sm/gpgsm.c:1531
+#: sm/gpgsm.c:1537
 #, c-format
 msgid "selected digest algorithm is invalid\n"
 msgstr "вибраний алгоритм побудови контрольних сум є некоректним\n"
 
 #: agent/gpg-agent.c:1168 agent/gpg-agent.c:2023 common/argparse.c:1755
-#: common/argparse.c:1847 g10/gpg.c:2482 scd/scdaemon.c:532 sm/gpgsm.c:1063
-#: dirmngr/dirmngr.c:956 dirmngr/dirmngr.c:1841
+#: common/argparse.c:1847 g10/gpg.c:2495 scd/scdaemon.c:533 sm/gpgsm.c:977
+#: dirmngr/dirmngr.c:994 dirmngr/dirmngr.c:1878
 #, c-format
 msgid "reading options from '%s'\n"
 msgstr "прочитати параметри з «%s»\n"
 
-#: agent/gpg-agent.c:1300 g10/gpg.c:3704 scd/scdaemon.c:655 sm/gpgsm.c:1571
-#: dirmngr/dirmngr.c:1067 tools/gpg-connect-agent.c:1244 tools/gpgconf.c:624
+#: agent/gpg-agent.c:1300 g10/gpg.c:3724 scd/scdaemon.c:657 sm/gpgsm.c:1471
+#: dirmngr/dirmngr.c:1102 tools/gpg-connect-agent.c:1244 tools/gpgconf.c:624
 #, c-format
 msgid "Note: '%s' is not considered an option\n"
 msgstr "ЗАУВАЖЕННЯ: %s не призначено для звичайного використання!\n"
 
-#: agent/gpg-agent.c:2159 scd/scdaemon.c:1096 dirmngr/dirmngr.c:1219
+#: agent/gpg-agent.c:2159 scd/scdaemon.c:1098 dirmngr/dirmngr.c:1256
 #, c-format
 msgid "can't create socket: %s\n"
 msgstr "не вдалося створити сокет: %s\n"
 
-#: agent/gpg-agent.c:2176 scd/scdaemon.c:1109 dirmngr/dirmngr.c:1232
+#: agent/gpg-agent.c:2176 scd/scdaemon.c:1111 dirmngr/dirmngr.c:1269
 #, c-format
 msgid "socket name '%s' is too long\n"
 msgstr "назва сокета «%s» є надто довгою\n"
@@ -568,29 +566,29 @@ msgstr "назва сокета «%s» є надто довгою\n"
 msgid "a gpg-agent is already running - not starting a new one\n"
 msgstr "gpg-agent вже запущено, потреби у запуску нової копії немає\n"
 
-#: agent/gpg-agent.c:2226 scd/scdaemon.c:1133 dirmngr/dirmngr.c:1264
+#: agent/gpg-agent.c:2226 scd/scdaemon.c:1135 dirmngr/dirmngr.c:1301
 #, c-format
 msgid "error getting nonce for the socket\n"
 msgstr "помилка під час спроби отримання поточного стану сокета\n"
 
-#: agent/gpg-agent.c:2231 scd/scdaemon.c:1136 dirmngr/dirmngr.c:1267
+#: agent/gpg-agent.c:2231 scd/scdaemon.c:1138 dirmngr/dirmngr.c:1304
 #, c-format
 msgid "error binding socket to '%s': %s\n"
 msgstr "помилка під час спроби прив’язування сокета до «%s»: %s\n"
 
 #: agent/gpg-agent.c:2242 agent/gpg-agent.c:2282 agent/gpg-agent.c:2291
-#: scd/scdaemon.c:1144 dirmngr/dirmngr.c:1276
+#: scd/scdaemon.c:1146 dirmngr/dirmngr.c:1313
 #, c-format
 msgid "can't set permissions of '%s': %s\n"
 msgstr "не вдалося встановити права доступу до «%s»: %s\n"
 
-#: agent/gpg-agent.c:2256 scd/scdaemon.c:1156 dirmngr/dirmngr.c:1288
+#: agent/gpg-agent.c:2256 scd/scdaemon.c:1158 dirmngr/dirmngr.c:1325
 #, c-format
 msgid "listening on socket '%s'\n"
 msgstr "очікування даних на сокеті «%s»\n"
 
 #: agent/gpg-agent.c:2276 agent/gpg-agent.c:2329 common/homedir.c:517
-#: g10/exec.c:261 g10/openfile.c:397
+#: g10/exec.c:269 g10/openfile.c:397
 #, c-format
 msgid "can't create directory '%s': %s\n"
 msgstr "не вдалося створити каталог «%s»: %s\n"
@@ -611,7 +609,7 @@ msgstr "помилка stat() щодо «%s»: %s\n"
 msgid "can't use '%s' as home directory\n"
 msgstr "не можна використовувати як домашній каталог «%s»\n"
 
-#: agent/gpg-agent.c:2502 scd/scdaemon.c:1172 dirmngr/dirmngr.c:2047
+#: agent/gpg-agent.c:2502 scd/scdaemon.c:1174 dirmngr/dirmngr.c:2084
 #, c-format
 msgid "error reading nonce on fd %d: %s\n"
 msgstr ""
@@ -638,12 +636,12 @@ msgstr "запущено обробник ssh 0x%lx для дескриптор
 msgid "ssh handler 0x%lx for fd %d terminated\n"
 msgstr "обробник ssh 0x%lx дескриптора файла %d завершив роботу\n"
 
-#: agent/gpg-agent.c:3016 scd/scdaemon.c:1362 dirmngr/dirmngr.c:2261
+#: agent/gpg-agent.c:3016 scd/scdaemon.c:1366 dirmngr/dirmngr.c:2298
 #, c-format
 msgid "npth_pselect failed: %s - waiting 1s\n"
 msgstr "помилка pth_select: %s — очікування у 1 с\n"
 
-#: agent/gpg-agent.c:3104 scd/scdaemon.c:1427
+#: agent/gpg-agent.c:3104 scd/scdaemon.c:1431
 #, c-format
 msgid "%s %s stopped\n"
 msgstr "%s %s зупинено\n"
@@ -667,8 +665,8 @@ msgstr ""
 "Синтаксис: gpg-preset-passphrase [параметри] KEYGRIP\n"
 "Керування кешем паролів\n"
 
-#: agent/protect-tool.c:108 g10/gpg.c:440 kbx/kbxutil.c:71 sm/gpgsm.c:204
-#: dirmngr/dirmngr.c:163 tools/gpgconf.c:78
+#: agent/protect-tool.c:108 g10/gpg.c:437 kbx/kbxutil.c:71 sm/gpgsm.c:205
+#: dirmngr/dirmngr.c:164 tools/gpgconf.c:78
 msgid ""
 "@Commands:\n"
 " "
@@ -676,8 +674,8 @@ msgstr ""
 "@Команди:\n"
 " "
 
-#: agent/protect-tool.c:117 g10/gpg.c:553 g10/gpgv.c:76 kbx/kbxutil.c:81
-#: sm/gpgsm.c:252 dirmngr/dirmngr.c:179 tools/gpg-connect-agent.c:76
+#: agent/protect-tool.c:117 g10/gpg.c:550 g10/gpgv.c:76 kbx/kbxutil.c:81
+#: sm/gpgsm.c:253 dirmngr/dirmngr.c:180 tools/gpg-connect-agent.c:76
 #: tools/gpgconf.c:105
 msgid ""
 "@\n"
@@ -700,11 +698,11 @@ msgstr ""
 "Синтаксис: gpg-protect-tool [параметри] [аргументи]\n"
 "Інструмент керування закритими ключами\n"
 
-#: agent/protect-tool.c:703
+#: agent/protect-tool.c:703 sm/import.c:774
 msgid "Please enter the passphrase to unprotect the PKCS#12 object."
 msgstr "Будь ласка, вкажіть пароль для зняття захисту з об’єкта PKCS#12."
 
-#: agent/protect-tool.c:708
+#: agent/protect-tool.c:708 sm/export.c:710
 msgid "Please enter the passphrase to protect the new PKCS#12 object."
 msgstr "Будь ласка, вкажіть пароль для захисту нового об’єкта PKCS#12."
 
@@ -733,7 +731,7 @@ msgstr "скасовано\n"
 msgid "error while asking for the passphrase: %s\n"
 msgstr "помилка під час спроби запиту пароля: %s\n"
 
-#: agent/trustlist.c:154 agent/trustlist.c:364 dirmngr/dirmngr.c:1629
+#: agent/trustlist.c:154 agent/trustlist.c:364 dirmngr/dirmngr.c:1666
 #: tools/gpgconf.c:418
 #, c-format
 msgid "error opening '%s': %s\n"
@@ -897,7 +895,7 @@ msgstr "невдала спроба перевірити створений пі
 msgid "secret key parts are not available\n"
 msgstr "закриті частини ключа недоступні\n"
 
-#: agent/cvt-openpgp.c:344 g10/card-util.c:1540
+#: agent/cvt-openpgp.c:344 g10/card-util.c:1541
 #, c-format
 msgid "public key algorithm %d (%s) is not supported\n"
 msgstr ""
@@ -913,21 +911,21 @@ msgstr "підтримки алгоритму захисту %d (%s) не пер
 msgid "protection hash algorithm %d (%s) is not supported\n"
 msgstr "підтримки алгоритму захисту хешуванням %d (%s) не передбачено\n"
 
-#: common/exechelp-posix.c:359 common/exechelp-w32.c:449
-#: common/exechelp-w32.c:473 common/exechelp-w32.c:503
+#: common/exechelp-posix.c:359 common/exechelp-w32.c:451
+#: common/exechelp-w32.c:475 common/exechelp-w32.c:505
 #, c-format
 msgid "error creating a pipe: %s\n"
 msgstr "помилка під час спроби створення каналу: %s\n"
 
 #: common/exechelp-posix.c:372 common/exechelp-w32.c:355
-#: common/exechelp-w32.c:459 common/exechelp-w32.c:483
-#: common/exechelp-w32.c:513
+#: common/exechelp-w32.c:461 common/exechelp-w32.c:485
+#: common/exechelp-w32.c:515
 #, c-format
 msgid "error creating a stream for a pipe: %s\n"
 msgstr "помилка під час спроби створення потоку для каналу: %s\n"
 
 #: common/exechelp-posix.c:495 common/exechelp-posix.c:570
-#: common/exechelp-posix.c:851 dirmngr/dirmngr.c:1306
+#: common/exechelp-posix.c:856 dirmngr/dirmngr.c:1343
 #, c-format
 msgid "error forking process: %s\n"
 msgstr "помилка під час спроби розгалужування процесу: %s\n"
@@ -937,29 +935,29 @@ msgstr "помилка під час спроби розгалужування 
 msgid "waiting for process %d to terminate failed: %s\n"
 msgstr "не вдалося дочекатися завершення процесу %d: %s\n"
 
-#: common/exechelp-posix.c:678 common/exechelp-posix.c:794
+#: common/exechelp-posix.c:678 common/exechelp-posix.c:799
 #, c-format
 msgid "error running '%s': probably not installed\n"
 msgstr ""
 "помилка під час спроби виконання «%s»: ймовірно, програму не встановлено\n"
 
-#: common/exechelp-posix.c:684 common/exechelp-posix.c:801
-#: common/exechelp-w32.c:796 common/exechelp-w32ce.c:781
+#: common/exechelp-posix.c:684 common/exechelp-posix.c:806
+#: common/exechelp-w32.c:829 common/exechelp-w32ce.c:781
 #, c-format
 msgid "error running '%s': exit status %d\n"
 msgstr "помилка під час спроби виконання «%s»: стан виходу %d\n"
 
-#: common/exechelp-posix.c:692 common/exechelp-posix.c:809
+#: common/exechelp-posix.c:692 common/exechelp-posix.c:814
 #, c-format
 msgid "error running '%s': terminated\n"
 msgstr "помилка під час спроби виконання «%s»: виконання перервано\n"
 
-#: common/exechelp-posix.c:750 common/exechelp-w32.c:777
+#: common/exechelp-posix.c:755 common/exechelp-w32.c:810
 #, c-format
 msgid "waiting for processes to terminate failed: %s\n"
 msgstr "не вдалося дочекатися переривання процесу: %s\n"
 
-#: common/exechelp-w32.c:789 common/exechelp-w32ce.c:775
+#: common/exechelp-w32.c:822 common/exechelp-w32ce.c:775
 #, c-format
 msgid "error getting exit code of process %d: %s\n"
 msgstr "помилка під час спроби отримання коду виходу процесу %d: %s\n"
@@ -1055,7 +1053,7 @@ msgstr ""
 msgid "out of core while allocating %lu bytes"
 msgstr "вихід за межі області під час спроби отримання %lu байтів"
 
-#: common/miscellaneous.c:115 g10/card-util.c:896 tools/no-libgcrypt.c:30
+#: common/miscellaneous.c:115 g10/card-util.c:897 tools/no-libgcrypt.c:30
 #, c-format
 msgid "error allocating enough memory: %s\n"
 msgstr "помилка під час спроби розподілу пам’яті: %s\n"
@@ -1170,7 +1168,7 @@ msgid "algorithm: %s"
 msgstr "алгоритм: %s"
 
 #: common/audit.c:774 common/audit.c:776 common/audit.c:921 common/audit.c:923
-#: scd/app-openpgp.c:3555
+#: scd/app-openpgp.c:3554
 #, c-format
 msgid "unsupported algorithm: %s"
 msgstr "непідтримуваний алгоритм: %s"
@@ -1295,6 +1293,26 @@ msgstr "[немає]"
 msgid "invalid radix64 character %02x skipped\n"
 msgstr "пропущено некоректний символ radix64 %02x\n"
 
+#: common/ttyio.c:433
+#, c-format
+msgid "Sorry, we are in batchmode - can't get input\n"
+msgstr ""
+
+#: common/ttyio.c:439
+#, c-format
+msgid "Sorry, no terminal at all requested - can't get input\n"
+msgstr ""
+
+#: common/ttyio.c:474 common/ttyio.c:484
+#, c-format
+msgid "too many errors; giving up\n"
+msgstr ""
+
+#: common/ttyio.c:536
+#, c-format
+msgid "Control-D detected\n"
+msgstr ""
+
 #: common/argparse.c:520
 msgid "argument not expected"
 msgstr "неочікуваний аргумент"
@@ -1358,7 +1376,7 @@ msgstr "некоректний параметр"
 msgid "missing argument for option \"%.50s\"\n"
 msgstr "не вказано аргументу до параметра «%.50s»\n"
 
-#: common/argparse.c:558 g10/gpg.c:3490
+#: common/argparse.c:558 g10/gpg.c:3510
 #, c-format
 msgid "invalid argument for option \"%.50s\"\n"
 msgstr "некоректний аргумент параметра «%.50s»\n"
@@ -1428,31 +1446,31 @@ msgstr "не вдалося створити тимчасовий файл «%s
 msgid "error writing to '%s': %s\n"
 msgstr "помилка під час спроби запису до «%s»: %s\n"
 
-#: common/dotlock.c:1129
+#: common/dotlock.c:1137
 #, c-format
 msgid "removing stale lockfile (created by %d)\n"
 msgstr "вилучення застарілого файла блокування (створено %d)\n"
 
-#: common/dotlock.c:1165
+#: common/dotlock.c:1173
 #, c-format
 msgid "waiting for lock (held by %d%s) %s...\n"
 msgstr "очікування на блокування (зайнято %d%s) %s...\n"
 
-#: common/dotlock.c:1166
+#: common/dotlock.c:1174
 msgid "(deadlock?) "
 msgstr "(застаріле блокування?) "
 
-#: common/dotlock.c:1205
+#: common/dotlock.c:1213
 #, c-format
 msgid "lock '%s' not made: %s\n"
 msgstr "блокування «%s» не виконано: %s\n"
 
-#: common/dotlock.c:1232
+#: common/dotlock.c:1240
 #, c-format
 msgid "waiting for lock %s...\n"
 msgstr "очікування на блокування %s…\n"
 
-#: common/init.c:185 sm/gpgsm.c:949 dirmngr/dirmngr.c:862 dirmngr/dirmngr.c:871
+#: common/init.c:191 sm/gpgsm.c:863 dirmngr/dirmngr.c:900 dirmngr/dirmngr.c:909
 #, c-format
 msgid "%s is too old (need %s, have %s)\n"
 msgstr "%s є занадто застарілою (потрібно %s, маємо %s)\n"
@@ -1636,12 +1654,12 @@ msgid "Note: Use the command \"%s\" to restart them.\n"
 msgstr "Зауваження: скористайтеся командою «%s» для їхнього перезапуску.\n"
 
 #: g10/call-agent.c:318 g10/encrypt.c:154 g10/encrypt.c:620 g10/sign.c:412
-#: sm/call-agent.c:205 sm/encrypt.c:425 sm/sign.c:345
+#: sm/call-agent.c:205 sm/encrypt.c:426 sm/sign.c:345
 #, c-format
 msgid "%s is not compliant with %s mode\n"
 msgstr "%s не є сумісним із режимом %s\n"
 
-#: g10/call-dirmngr.c:209 sm/call-dirmngr.c:268 tools/gpg-connect-agent.c:2253
+#: g10/call-dirmngr.c:209 sm/call-dirmngr.c:269 tools/gpg-connect-agent.c:2253
 #, c-format
 msgid "no dirmngr running in this session\n"
 msgstr "у цьому сеансі не запущено dirmngr\n"
@@ -1686,23 +1704,23 @@ msgstr ""
 msgid "server uses an invalid certificate"
 msgstr "створити сертифікат відкликання"
 
-#: g10/call-dirmngr.c:437 g10/gpg.c:4400
+#: g10/call-dirmngr.c:437 g10/gpg.c:4421
 #, fuzzy, c-format
 #| msgid "armor: %s\n"
 msgid "Note: %s\n"
 msgstr "формат ASCII: %s\n"
 
-#: g10/card-util.c:86 g10/card-util.c:366 g10/card-util.c:1902
+#: g10/card-util.c:86 g10/card-util.c:366 g10/card-util.c:1903
 #, c-format
 msgid "OpenPGP card not available: %s\n"
 msgstr "Не вдалося отримати доступ до картки OpenPGP: %s\n"
 
-#: g10/card-util.c:91 g10/card-util.c:1908
+#: g10/card-util.c:91 g10/card-util.c:1909
 #, c-format
 msgid "OpenPGP card no. %s detected\n"
 msgstr "Виявлено картку OpenPGP з номером %s\n"
 
-#: g10/card-util.c:97 g10/card-util.c:2237 g10/delkey.c:160 g10/keyedit.c:1422
+#: g10/card-util.c:97 g10/card-util.c:2238 g10/delkey.c:160 g10/keyedit.c:1423
 #: g10/keygen.c:4466 g10/revoke.c:214 g10/revoke.c:636
 #, c-format
 msgid "can't do this in batch mode\n"
@@ -1713,13 +1731,13 @@ msgstr "це не можна робити у пакетному режимі\n"
 msgid "This command is only available for version 2 cards\n"
 msgstr "Цією командою можна користуватися лише для карток версії 2\n"
 
-#: g10/card-util.c:107 scd/app-openpgp.c:2864
+#: g10/card-util.c:107 scd/app-openpgp.c:2863
 #, c-format
 msgid "Reset Code not or not anymore available\n"
 msgstr "Немає коду скидання або код скидання вже недоступний\n"
 
-#: g10/card-util.c:140 g10/card-util.c:1426 g10/card-util.c:1688
-#: g10/card-util.c:1780 g10/keyedit.c:394 g10/keyedit.c:415 g10/keyedit.c:429
+#: g10/card-util.c:140 g10/card-util.c:1427 g10/card-util.c:1689
+#: g10/card-util.c:1781 g10/keyedit.c:394 g10/keyedit.c:415 g10/keyedit.c:429
 #: g10/keygen.c:1808 g10/keygen.c:1980 g10/keygen.c:2186 g10/keygen.c:2477
 #: sm/certreqgen-ui.c:165 sm/certreqgen-ui.c:291 sm/certreqgen-ui.c:325
 msgid "Your selection? "
@@ -1745,105 +1763,105 @@ msgstr "не увімкнено"
 msgid "forced"
 msgstr "увімкнено"
 
-#: g10/card-util.c:749
+#: g10/card-util.c:750
 msgid "Error: Only plain ASCII is currently allowed.\n"
 msgstr ""
 "Помилка: у поточній версії можна використовувати лише звичайний ASCII.\n"
 
-#: g10/card-util.c:751
+#: g10/card-util.c:752
 msgid "Error: The \"<\" character may not be used.\n"
 msgstr "Помилка: символ «<» не можна використовувати.\n"
 
-#: g10/card-util.c:753
+#: g10/card-util.c:754
 msgid "Error: Double spaces are not allowed.\n"
 msgstr "Помилка: не можна використовувати подвійні пробіли.\n"
 
-#: g10/card-util.c:770
+#: g10/card-util.c:771
 msgid "Cardholder's surname: "
 msgstr "Прізвище власника картки: "
 
-#: g10/card-util.c:772
+#: g10/card-util.c:773
 msgid "Cardholder's given name: "
 msgstr "Ім’я власника картки: "
 
-#: g10/card-util.c:790
+#: g10/card-util.c:791
 #, c-format
 msgid "Error: Combined name too long (limit is %d characters).\n"
 msgstr "Помилка: складена назва є занадто довгою (максимум — %d символів).\n"
 
-#: g10/card-util.c:811
+#: g10/card-util.c:812
 msgid "URL to retrieve public key: "
 msgstr "Адреса для отримання відкритого ключа: "
 
-#: g10/card-util.c:905 g10/decrypt-data.c:490 g10/import.c:387 g10/import.c:734
-#: g10/import.c:786 dirmngr/crlcache.c:655 dirmngr/crlcache.c:660
-#: dirmngr/crlcache.c:914 dirmngr/crlcache.c:920 dirmngr/dirmngr.c:1668
+#: g10/card-util.c:906 g10/decrypt-data.c:490 g10/import.c:399 g10/import.c:746
+#: g10/import.c:798 dirmngr/crlcache.c:655 dirmngr/crlcache.c:660
+#: dirmngr/crlcache.c:914 dirmngr/crlcache.c:920 dirmngr/dirmngr.c:1705
 #: tools/gpgconf.c:431 tools/gpgconf.c:477
 #, c-format
 msgid "error reading '%s': %s\n"
 msgstr "помилка під час спроби читання «%s»: %s\n"
 
-#: g10/card-util.c:938 g10/decrypt-data.c:493 g10/export.c:2467
+#: g10/card-util.c:939 g10/decrypt-data.c:493 g10/export.c:2467
 #: dirmngr/crlcache.c:925
 #, c-format
 msgid "error writing '%s': %s\n"
 msgstr "помилка під час спроби читання «%s»: %s\n"
 
-#: g10/card-util.c:965
+#: g10/card-util.c:966
 msgid "Login data (account name): "
 msgstr "Дані користувача (назва запису): "
 
-#: g10/card-util.c:1003
+#: g10/card-util.c:1004
 msgid "Private DO data: "
 msgstr "Особисті дані DO: "
 
-#: g10/card-util.c:1088
+#: g10/card-util.c:1089
 msgid "Language preferences: "
 msgstr "Основна мова: "
 
-#: g10/card-util.c:1096
+#: g10/card-util.c:1097
 msgid "Error: invalid length of preference string.\n"
 msgstr "Помилка: некоректна довжина рядка основної мови.\n"
 
-#: g10/card-util.c:1105
+#: g10/card-util.c:1106
 msgid "Error: invalid characters in preference string.\n"
 msgstr "Помилка: некоректні символи у рядку основної мови.\n"
 
-#: g10/card-util.c:1127
+#: g10/card-util.c:1128
 msgid "Salutation (M = Mr., F = Ms., or space): "
 msgstr ""
 
-#: g10/card-util.c:1141
+#: g10/card-util.c:1142
 msgid "Error: invalid response.\n"
 msgstr "Помилка: некоректна відповідь.\n"
 
-#: g10/card-util.c:1163
+#: g10/card-util.c:1164
 msgid "CA fingerprint: "
 msgstr "Відбиток CA: "
 
-#: g10/card-util.c:1186
+#: g10/card-util.c:1187
 msgid "Error: invalid formatted fingerprint.\n"
 msgstr "Помилка: некоректне форматування відбитка.\n"
 
-#: g10/card-util.c:1236
+#: g10/card-util.c:1237
 #, c-format
 msgid "key operation not possible: %s\n"
 msgstr "дія над ключем неможлива: %s\n"
 
-#: g10/card-util.c:1237
+#: g10/card-util.c:1238
 msgid "not an OpenPGP card"
 msgstr "не є карткою OpenPGP"
 
-#: g10/card-util.c:1250 g10/keygen.c:4486 g10/keygen.c:5565
+#: g10/card-util.c:1251 g10/keygen.c:4486 g10/keygen.c:5565
 #, c-format
 msgid "error getting current key info: %s\n"
 msgstr "помилка під час отримання даних поточного ключа: %s\n"
 
-#: g10/card-util.c:1335
+#: g10/card-util.c:1336
 msgid "Replace existing key? (y/N) "
 msgstr "Замінити вже створений ключ? (y/N або т/Н) "
 
-#: g10/card-util.c:1352
+#: g10/card-util.c:1353
 msgid ""
 "Note: There is no guarantee that the card supports the requested size.\n"
 "      If the key generation does not succeed, please check the\n"
@@ -1854,98 +1872,98 @@ msgstr ""
 "      ознайомтеся з документацією до вашої картки, щоб\n"
 "      визначити дозволені розміри.\n"
 
-#: g10/card-util.c:1374 g10/keygen.c:2363 sm/certreqgen-ui.c:179
+#: g10/card-util.c:1375 g10/keygen.c:2363 sm/certreqgen-ui.c:179
 #, c-format
 msgid "What keysize do you want? (%u) "
 msgstr "Якою має бути довжина ключа? (%u) "
 
-#: g10/card-util.c:1384 g10/keygen.c:2286 g10/keygen.c:2318
+#: g10/card-util.c:1385 g10/keygen.c:2286 g10/keygen.c:2318
 #: sm/certreqgen-ui.c:194
 #, c-format
 msgid "rounded up to %u bits\n"
 msgstr "округлено до %u бітів\n"
 
-#: g10/card-util.c:1392 g10/keygen.c:2371 sm/certreqgen-ui.c:184
+#: g10/card-util.c:1393 g10/keygen.c:2371 sm/certreqgen-ui.c:184
 #, c-format
 msgid "%s keysizes must be in the range %u-%u\n"
 msgstr "Розміри ключів %s мають перебувати у діапазоні %u—%u\n"
 
-#: g10/card-util.c:1411
+#: g10/card-util.c:1412
 msgid "Changing card key attribute for: "
 msgstr "Зміна атрибута ключа картки для: "
 
-#: g10/card-util.c:1413
+#: g10/card-util.c:1414
 msgid "Signature key\n"
 msgstr "Ключ підписування\n"
 
-#: g10/card-util.c:1415
+#: g10/card-util.c:1416
 msgid "Encryption key\n"
 msgstr "Ключ шифрування\n"
 
-#: g10/card-util.c:1417
+#: g10/card-util.c:1418
 msgid "Authentication key\n"
 msgstr "Ключ розпізнавання\n"
 
-#: g10/card-util.c:1419 g10/keygen.c:1926 sm/certreqgen-ui.c:157
+#: g10/card-util.c:1420 g10/keygen.c:1926 sm/certreqgen-ui.c:157
 msgid "Please select what kind of key you want:\n"
 msgstr "Вкажіть потрібний вам тип ключа:\n"
 
-#: g10/card-util.c:1420 sm/certreqgen-ui.c:158
+#: g10/card-util.c:1421 sm/certreqgen-ui.c:158
 #, c-format
 msgid "   (%d) RSA\n"
 msgstr "   (%d) RSA\n"
 
-#: g10/card-util.c:1421
+#: g10/card-util.c:1422
 #, c-format
 msgid "   (%d) ECC\n"
 msgstr "   (%d) ECC\n"
 
-#: g10/card-util.c:1433 g10/card-util.c:1700 g10/card-util.c:1800
-#: g10/keyedit.c:899 g10/keygen.c:1834 g10/keygen.c:1862 g10/keygen.c:1987
+#: g10/card-util.c:1434 g10/card-util.c:1701 g10/card-util.c:1801
+#: g10/keyedit.c:900 g10/keygen.c:1834 g10/keygen.c:1862 g10/keygen.c:1987
 #: g10/keygen.c:2222 g10/keygen.c:2505 g10/revoke.c:838
 msgid "Invalid selection.\n"
 msgstr "Некоректний вибір.\n"
 
-#: g10/card-util.c:1506
+#: g10/card-util.c:1507
 #, c-format
 msgid "The card will now be re-configured to generate a key of %u bits\n"
 msgstr ""
 "Зараз налаштування картки буде змінено для створення %u-бітового ключа\n"
 
-#: g10/card-util.c:1511
+#: g10/card-util.c:1512
 #, c-format
 msgid "The card will now be re-configured to generate a key of type: %s\n"
 msgstr "Зараз налаштування картки буде змінено для створення ключа типу %s\n"
 
-#: g10/card-util.c:1547
+#: g10/card-util.c:1548
 #, c-format
 msgid "error changing key attribute for key %d: %s\n"
 msgstr "помилка під час спроби змінити атрибут ключа %d: %s\n"
 
-#: g10/card-util.c:1563 g10/card-util.c:2090
+#: g10/card-util.c:1564 g10/card-util.c:2091
 #, c-format
 msgid "error getting card info: %s\n"
 msgstr "помилка під час спроби отримання даних щодо картки: %s\n"
 
-#: g10/card-util.c:1569 g10/card-util.c:1914 g10/card-util.c:2096
+#: g10/card-util.c:1570 g10/card-util.c:1915 g10/card-util.c:2097
 #, c-format
 msgid "This command is not supported by this card\n"
 msgstr "Цією карткою не передбачено підтримки вказаної команди\n"
 
-#: g10/card-util.c:1615
+#: g10/card-util.c:1616
 msgid "Make off-card backup of encryption key? (Y/n) "
 msgstr "Створити резервну копію ключа шифрування поза карткою? (Y/n або Т/н) "
 
-#: g10/card-util.c:1629
+#: g10/card-util.c:1630
 #, c-format
 msgid "Note: keys are already stored on the card!\n"
 msgstr "ЗАУВАЖЕННЯ: ключі вже збережено на картці!\n"
 
-#: g10/card-util.c:1632
+#: g10/card-util.c:1633
 msgid "Replace existing keys? (y/N) "
 msgstr "Замірити вже створені ключі? (y/N або т/Н) "
 
-#: g10/card-util.c:1644
+#: g10/card-util.c:1645
 #, c-format
 msgid ""
 "Please note that the factory settings of the PINs are\n"
@@ -1956,147 +1974,147 @@ msgstr ""
 "   PIN = «%s»     Адміністративний PIN = «%s»\n"
 "Вам слід змінити параметри за допомогою команди --change-pin\n"
 
-#: g10/card-util.c:1679
+#: g10/card-util.c:1680
 msgid "Please select the type of key to generate:\n"
 msgstr "Виберіть тип ключа, який слід створити:\n"
 
-#: g10/card-util.c:1681 g10/card-util.c:1771
+#: g10/card-util.c:1682 g10/card-util.c:1772
 msgid "   (1) Signature key\n"
 msgstr "   (1) Ключ підписування\n"
 
-#: g10/card-util.c:1682 g10/card-util.c:1773
+#: g10/card-util.c:1683 g10/card-util.c:1774
 msgid "   (2) Encryption key\n"
 msgstr "   (2) Ключ шифрування\n"
 
-#: g10/card-util.c:1683 g10/card-util.c:1775
+#: g10/card-util.c:1684 g10/card-util.c:1776
 msgid "   (3) Authentication key\n"
 msgstr "   (3) Ключ розпізнавання\n"
 
-#: g10/card-util.c:1768
+#: g10/card-util.c:1769
 msgid "Please select where to store the key:\n"
 msgstr "Виберіть сховище для зберігання ключа:\n"
 
-#: g10/card-util.c:1814
+#: g10/card-util.c:1815
 #, c-format
 msgid "KEYTOCARD failed: %s\n"
 msgstr "Помилка KEYTOCARD: %s\n"
 
-#: g10/card-util.c:1919
+#: g10/card-util.c:1920
 #, c-format
 msgid "Note: This command destroys all keys stored on the card!\n"
 msgstr ""
 "Зауваження: у результаті виконання цієї команди усі ключі на картці буде "
 "знищено!\n"
 
-#: g10/card-util.c:1922
+#: g10/card-util.c:1923
 msgid "Continue? (y/N) "
 msgstr "Продовжити? (y (так)/N (ні)) "
 
-#: g10/card-util.c:1927
+#: g10/card-util.c:1928
 msgid "Really do a factory reset? (enter \"yes\") "
 msgstr ""
 "Справді хочете скинути усе до типових налаштувань? (введіть «yes» («так»)) "
 
-#: g10/card-util.c:2113
+#: g10/card-util.c:2114
 #, c-format
 msgid "error for setup KDF: %s\n"
 msgstr "помилка налаштування KDF: %s\n"
 
-#: g10/card-util.c:2142 g10/keyedit.c:1259
+#: g10/card-util.c:2143 g10/keyedit.c:1260
 msgid "quit this menu"
 msgstr "вийти з цього меню"
 
-#: g10/card-util.c:2144
+#: g10/card-util.c:2145
 msgid "show admin commands"
 msgstr "показати керівні команди"
 
-#: g10/card-util.c:2145 g10/keyedit.c:1262
+#: g10/card-util.c:2146 g10/keyedit.c:1263
 msgid "show this help"
 msgstr "показати цю довідкову інформацію"
 
-#: g10/card-util.c:2147
+#: g10/card-util.c:2148
 msgid "list all available data"
 msgstr "показати всі доступні дані"
 
-#: g10/card-util.c:2150
+#: g10/card-util.c:2151
 msgid "change card holder's name"
 msgstr "змінити ім’я власника картки"
 
-#: g10/card-util.c:2151
+#: g10/card-util.c:2152
 msgid "change URL to retrieve key"
 msgstr "змінити адресу для отримання ключа"
 
-#: g10/card-util.c:2152
+#: g10/card-util.c:2153
 msgid "fetch the key specified in the card URL"
 msgstr "отримати ключ, вказаний у полі адреси картки"
 
-#: g10/card-util.c:2153
+#: g10/card-util.c:2154
 msgid "change the login name"
 msgstr "змінити ім’я користувача"
 
-#: g10/card-util.c:2154
+#: g10/card-util.c:2155
 msgid "change the language preferences"
 msgstr "змінити основну мову"
 
-#: g10/card-util.c:2155
+#: g10/card-util.c:2156
 #, fuzzy
 #| msgid "change card holder's sex"
 msgid "change card holder's salutation"
 msgstr "змінити поле статі власника картки"
 
-#: g10/card-util.c:2157
+#: g10/card-util.c:2158
 msgid "change a CA fingerprint"
 msgstr "змінити відбиток CA"
 
-#: g10/card-util.c:2158
+#: g10/card-util.c:2159
 msgid "toggle the signature force PIN flag"
 msgstr "увімкнути або вимкнути позначку примусового пінкоду підпису"
 
-#: g10/card-util.c:2159
+#: g10/card-util.c:2160
 msgid "generate new keys"
 msgstr "створити ключі"
 
-#: g10/card-util.c:2160
+#: g10/card-util.c:2161
 msgid "menu to change or unblock the PIN"
 msgstr "меню зміни або розблокування пінкоду"
 
-#: g10/card-util.c:2161
+#: g10/card-util.c:2162
 msgid "verify the PIN and list all data"
 msgstr "перевірити пінкод і показати список всіх даних"
 
-#: g10/card-util.c:2162
+#: g10/card-util.c:2163
 msgid "unblock the PIN using a Reset Code"
 msgstr "розблокувати під коду за допомогою коду скидання"
 
-#: g10/card-util.c:2163
+#: g10/card-util.c:2164
 msgid "destroy all keys and data"
 msgstr "знищити усі ключі і дані"
 
-#: g10/card-util.c:2164
+#: g10/card-util.c:2165
 msgid "setup KDF for PIN authentication"
 msgstr "налаштування KDF для розпізнавання за PIN"
 
-#: g10/card-util.c:2165
+#: g10/card-util.c:2166
 msgid "change the key attribute"
 msgstr "змінити атрибут ключа"
 
-#: g10/card-util.c:2289
+#: g10/card-util.c:2290
 msgid "gpg/card> "
 msgstr "gpg/картка> "
 
-#: g10/card-util.c:2330
+#: g10/card-util.c:2331
 msgid "Admin-only command\n"
 msgstr "Команда адміністратора\n"
 
-#: g10/card-util.c:2361
+#: g10/card-util.c:2362
 msgid "Admin commands are allowed\n"
 msgstr "Команди адміністрування дозволено\n"
 
-#: g10/card-util.c:2363
+#: g10/card-util.c:2364
 msgid "Admin commands are not allowed\n"
 msgstr "Команди адміністрування заборонено\n"
 
-#: g10/card-util.c:2466 g10/keyedit.c:2228
+#: g10/card-util.c:2467 g10/keyedit.c:2229
 msgid "Invalid command  (try \"help\")\n"
 msgstr "Некоректна команда  (скористайтеся командою «help»)\n"
 
@@ -2105,21 +2123,21 @@ msgstr "Некоректна команда  (скористайтеся ком
 msgid "--output doesn't work for this command\n"
 msgstr "--output не працює з цією командою\n"
 
-#: g10/decrypt.c:247 g10/gpg.c:5083 g10/keyring.c:399 g10/keyring.c:750
+#: g10/decrypt.c:247 g10/gpg.c:5104 g10/keyring.c:399 g10/keyring.c:750
 #, c-format
 msgid "can't open '%s'\n"
 msgstr "не вдалося відкрити «%s»\n"
 
 #: g10/delkey.c:83 g10/export.c:1947 g10/export.c:2230 g10/export.c:2351
-#: g10/getkey.c:1964 g10/gpg.c:5028 g10/keyedit.c:1444 g10/keyedit.c:2334
-#: g10/keyedit.c:2580 g10/keyedit.c:4543 g10/keylist.c:689 g10/keyserver.c:1259
+#: g10/getkey.c:2108 g10/gpg.c:5049 g10/keyedit.c:1445 g10/keyedit.c:2335
+#: g10/keyedit.c:2581 g10/keyedit.c:4544 g10/keylist.c:689 g10/keyserver.c:1092
 #: g10/revoke.c:230 g10/tofu.c:2165
 #, c-format
 msgid "key \"%s\" not found: %s\n"
 msgstr "ключ «%s» не знайдено: %s\n"
 
-#: g10/delkey.c:92 g10/export.c:2015 g10/getkey.c:1972 g10/getkey.c:4346
-#: g10/gpg.c:5037 g10/keyedit.c:2307 g10/keyserver.c:1277 g10/revoke.c:236
+#: g10/delkey.c:92 g10/export.c:2015 g10/getkey.c:2116 g10/getkey.c:4517
+#: g10/gpg.c:5058 g10/keyedit.c:2308 g10/keyserver.c:1110 g10/revoke.c:236
 #: g10/revoke.c:663 g10/tofu.c:2173
 #, c-format
 msgid "error reading keyblock: %s\n"
@@ -2177,9 +2195,9 @@ msgstr "ключ"
 msgid "subkey"
 msgstr "підключ"
 
-#: g10/delkey.c:299 g10/keyedit.c:2200 g10/keyedit.c:2210 g10/keyedit.c:2387
-#: g10/keyedit.c:2461 g10/keyedit.c:2532 g10/keyedit.c:2757 g10/keyedit.c:2987
-#: g10/keyedit.c:3056 g10/keyedit.c:3207
+#: g10/delkey.c:299 g10/keyedit.c:2201 g10/keyedit.c:2211 g10/keyedit.c:2388
+#: g10/keyedit.c:2462 g10/keyedit.c:2533 g10/keyedit.c:2758 g10/keyedit.c:2988
+#: g10/keyedit.c:3057 g10/keyedit.c:3208
 #, c-format
 msgid "update failed: %s\n"
 msgstr "помилка оновлення: %s\n"
@@ -2205,7 +2223,7 @@ msgid "use option \"--delete-secret-keys\" to delete it first.\n"
 msgstr ""
 "спершу скористайтеся параметром «--delete-secret-keys» для його вилучення.\n"
 
-#: g10/encrypt.c:202 g10/sign.c:1471
+#: g10/encrypt.c:202 g10/sign.c:1470
 #, c-format
 msgid "error creating passphrase: %s\n"
 msgstr "помилка під час спроби створення пароля: %s\n"
@@ -2230,14 +2248,14 @@ msgstr "«%s» вже стиснено\n"
 msgid "WARNING: '%s' is an empty file\n"
 msgstr "УВАГА: файл «%s» є порожнім\n"
 
-#: g10/encrypt.c:387 g10/encrypt.c:610 g10/decrypt-data.c:260 g10/gpg.c:3901
-#: g10/gpg.c:3941 sm/decrypt.c:364 sm/encrypt.c:415 sm/gpgsm.c:1655
+#: g10/encrypt.c:387 g10/encrypt.c:610 g10/decrypt-data.c:260 g10/gpg.c:3922
+#: g10/gpg.c:3962 sm/decrypt.c:826 sm/encrypt.c:416 sm/gpgsm.c:1555
 #, c-format
 msgid "cipher algorithm '%s' may not be used in %s mode\n"
 msgstr "алгоритм шифрування «%s» не можна використовувати у режимі %s\n"
 
-#: g10/encrypt.c:396 g10/gpg.c:3907 g10/gpg.c:3953 g10/sig-check.c:146
-#: g10/sign.c:391 sm/gpgsm.c:1665 sm/gpgsm.c:1675 sm/sign.c:478 sm/verify.c:506
+#: g10/encrypt.c:396 g10/gpg.c:3928 g10/gpg.c:3974 g10/sig-check.c:146
+#: g10/sign.c:391 sm/gpgsm.c:1565 sm/gpgsm.c:1575 sm/sign.c:478 sm/verify.c:506
 #, c-format
 msgid "digest algorithm '%s' may not be used in %s mode\n"
 msgstr ""
@@ -2257,12 +2275,12 @@ msgstr ""
 "УВАГА: примусове використання симетричного шифру %s (%d) не відповідає "
 "параметрам отримувача\n"
 
-#: g10/encrypt.c:640 sm/encrypt.c:490
+#: g10/encrypt.c:640 sm/encrypt.c:491
 #, c-format
 msgid "WARNING: key %s is not suitable for encryption in %s mode\n"
 msgstr "УВАГА: ключ %s не можна використовувати для шифрування у режимі %s\n"
 
-#: g10/encrypt.c:751 g10/sign.c:1163
+#: g10/encrypt.c:751 g10/sign.c:1162
 #, c-format
 msgid ""
 "WARNING: forcing compression algorithm %s (%d) violates recipient "
@@ -2293,12 +2311,12 @@ msgstr "параметр «%s» не можна використовувати 
 msgid "%s encrypted data\n"
 msgstr "Дані, зашифровані за алгоритмом %s\n"
 
-#: g10/decrypt-data.c:243 g10/mainproc.c:396
+#: g10/decrypt-data.c:243 g10/mainproc.c:397
 #, c-format
 msgid "encrypted with unknown algorithm %d\n"
 msgstr "зашифровано за допомогою невідомого алгоритму %d\n"
 
-#: g10/decrypt-data.c:357 g10/decrypt-data.c:410 sm/decrypt.c:130
+#: g10/decrypt-data.c:357 g10/decrypt-data.c:410 sm/decrypt.c:550
 #, c-format
 msgid ""
 "WARNING: message was encrypted with a weak key in the symmetric cipher.\n"
@@ -2315,7 +2333,7 @@ msgstr "проблема з обробкою зашифрованого паке
 msgid "no remote program execution supported\n"
 msgstr "виконання віддалених програм не передбачено\n"
 
-#: g10/exec.c:381
+#: g10/exec.c:389
 #, c-format
 msgid ""
 "external program calls are disabled due to unsafe options file permissions\n"
@@ -2323,49 +2341,49 @@ msgstr ""
 "виклик зовнішніх програм вимкнено через невідповідність прав доступу до "
 "файла параметрами безпеки\n"
 
-#: g10/exec.c:411
+#: g10/exec.c:419
 #, c-format
 msgid "this platform requires temporary files when calling external programs\n"
 msgstr ""
 "на цій платформі слід використовувати тимчасові файли під час виклику "
 "зовнішніх програм\n"
 
-#: g10/exec.c:489
+#: g10/exec.c:497
 #, c-format
 msgid "unable to execute program '%s': %s\n"
 msgstr "не вдалося виконати програму «%s»: %s\n"
 
-#: g10/exec.c:492
+#: g10/exec.c:500
 #, c-format
 msgid "unable to execute shell '%s': %s\n"
 msgstr "не вдалося виконати оболонку «%s»: %s\n"
 
-#: g10/exec.c:583
+#: g10/exec.c:591
 #, c-format
 msgid "system error while calling external program: %s\n"
 msgstr "системна помилка під час спроби виклику зовнішньої програми: %s\n"
 
-#: g10/exec.c:594 g10/exec.c:661
+#: g10/exec.c:602 g10/exec.c:669
 #, c-format
 msgid "unnatural exit of external program\n"
 msgstr "неприродний вихід з зовнішньої програми\n"
 
-#: g10/exec.c:609
+#: g10/exec.c:617
 #, c-format
 msgid "unable to execute external program\n"
 msgstr "не вдалося виконати зовнішню програму\n"
 
-#: g10/exec.c:626
+#: g10/exec.c:634
 #, c-format
 msgid "unable to read external program response: %s\n"
 msgstr "не вдалося прочитати відповідь зовнішньої програми: %s\n"
 
-#: g10/exec.c:672 g10/exec.c:679
+#: g10/exec.c:680 g10/exec.c:687
 #, c-format
 msgid "WARNING: unable to remove tempfile (%s) '%s': %s\n"
 msgstr "УВАГА: не вдалося вилучити тимчасовий файл (%s) «%s»: %s\n"
 
-#: g10/exec.c:684
+#: g10/exec.c:692
 #, c-format
 msgid "WARNING: unable to remove temp directory '%s': %s\n"
 msgstr "УВАГА: не вдалося вилучити тимчасовий каталог «%s»: %s\n"
@@ -2401,8 +2419,8 @@ msgstr "використовувати формат резервних копі
 msgid " - skipped"
 msgstr " - пропущено"
 
-#: g10/export.c:1324 g10/import.c:2073 g10/openfile.c:200 g10/openfile.c:294
-#: g10/sign.c:1013 g10/sign.c:1327
+#: g10/export.c:1324 g10/import.c:2085 g10/openfile.c:200 g10/openfile.c:294
+#: g10/sign.c:1012 g10/sign.c:1326
 #, c-format
 msgid "writing to '%s'\n"
 msgstr "записуємо до «%s»\n"
@@ -2437,272 +2455,272 @@ msgstr "помилка створення «%s»: %s.\n"
 msgid "[User ID not found]"
 msgstr "[Ідентифікатор не знайдено]"
 
-#: g10/getkey.c:1297
+#: g10/getkey.c:1441
 #, c-format
 msgid "automatically retrieved '%s' via %s\n"
 msgstr "автоматично отримано «%s» за допомогою %s\n"
 
-#: g10/getkey.c:1303
+#: g10/getkey.c:1447
 #, c-format
 msgid "error retrieving '%s' via %s: %s\n"
 msgstr "помилка під час спроби отримання «%s» за допомогою %s: %s\n"
 
-#: g10/getkey.c:1305
+#: g10/getkey.c:1449
 msgid "No fingerprint"
 msgstr "Без відбитка"
 
-#: g10/getkey.c:1526
+#: g10/getkey.c:1670
 #, c-format
 msgid "checking for a fresh copy of an expired key via %s\n"
 msgstr ""
 
-#: g10/getkey.c:1941 g10/revoke.c:655 g10/revoke.c:720
+#: g10/getkey.c:2085 g10/revoke.c:655 g10/revoke.c:720
 #, c-format
 msgid "secret key \"%s\" not found: %s\n"
 msgstr "закритий ключ «%s» не знайдено: %s\n"
 
-#: g10/getkey.c:1944 g10/pkclist.c:988
+#: g10/getkey.c:2088 g10/pkclist.c:988
 #, c-format
 msgid "(check argument of option '%s')\n"
 msgstr "(перевірте аргумент параметра «%s»)\n"
 
-#: g10/getkey.c:2020
+#: g10/getkey.c:2164
 #, c-format
 msgid "Warning: not using '%s' as default key: %s\n"
 msgstr "Попередження: «%s» не використовується як типовий ключ: %s\n"
 
-#: g10/getkey.c:2028
+#: g10/getkey.c:2172
 #, c-format
 msgid "using \"%s\" as default secret key for signing\n"
 msgstr "використовуємо «%s» як типовий закритий ключ для підписування\n"
 
-#: g10/getkey.c:2035
+#: g10/getkey.c:2179
 #, c-format
 msgid "all values passed to '%s' ignored\n"
 msgstr "усі значення, передані «%s», проігноровано\n"
 
-#: g10/getkey.c:2880
+#: g10/getkey.c:3024
 #, c-format
 msgid "Invalid key %s made valid by --allow-non-selfsigned-uid\n"
 msgstr ""
 "Некоректний ключ %s визнано чинним через параметр --allow-non-selfsigned-"
 "uid\n"
 
-#: g10/getkey.c:3730
+#: g10/getkey.c:3874
 #, c-format
 msgid "using subkey %s instead of primary key %s\n"
 msgstr "використовуємо підключ %s замість основного ключа %s\n"
 
-#: g10/getkey.c:4275 g10/gpg.c:2107
+#: g10/getkey.c:4446 g10/gpg.c:2120
 #, c-format
 msgid "valid values for option '%s':\n"
 msgstr "коректні значення параметра «%s»:\n"
 
-#: g10/gpg.c:442 sm/gpgsm.c:206
+#: g10/gpg.c:439 sm/gpgsm.c:207
 msgid "make a signature"
 msgstr "створити підпис"
 
-#: g10/gpg.c:443
+#: g10/gpg.c:440
 msgid "make a clear text signature"
 msgstr "створити текстовий підпис"
 
-#: g10/gpg.c:445 sm/gpgsm.c:208
+#: g10/gpg.c:442 sm/gpgsm.c:209
 msgid "make a detached signature"
 msgstr "створити від’єднаний підпис"
 
-#: g10/gpg.c:446 sm/gpgsm.c:209
+#: g10/gpg.c:443 sm/gpgsm.c:210
 msgid "encrypt data"
 msgstr "зашифрувати дані"
 
-#: g10/gpg.c:448
+#: g10/gpg.c:445
 msgid "encryption only with symmetric cipher"
 msgstr "шифрувати лише за допомогою симетричного шифру"
 
-#: g10/gpg.c:450 sm/gpgsm.c:211
+#: g10/gpg.c:447 sm/gpgsm.c:212
 msgid "decrypt data (default)"
 msgstr "розшифрувати дані (типова дія)"
 
-#: g10/gpg.c:452 sm/gpgsm.c:212
+#: g10/gpg.c:449 sm/gpgsm.c:213
 msgid "verify a signature"
 msgstr "перевірити підпис"
 
-#: g10/gpg.c:454 sm/gpgsm.c:213
+#: g10/gpg.c:451 sm/gpgsm.c:214
 msgid "list keys"
 msgstr "показати список ключів"
 
-#: g10/gpg.c:456
+#: g10/gpg.c:453
 msgid "list keys and signatures"
 msgstr "показати список ключів і підписів"
 
-#: g10/gpg.c:459
+#: g10/gpg.c:456
 msgid "list and check key signatures"
 msgstr "показати список і перевірити підписи ключів"
 
-#: g10/gpg.c:461 sm/gpgsm.c:218
+#: g10/gpg.c:458 sm/gpgsm.c:219
 msgid "list keys and fingerprints"
 msgstr "показати список ключів і відбитків"
 
-#: g10/gpg.c:462 sm/gpgsm.c:216
+#: g10/gpg.c:459 sm/gpgsm.c:217
 msgid "list secret keys"
 msgstr "показати список закритих ключів"
 
-#: g10/gpg.c:464 sm/gpgsm.c:219
+#: g10/gpg.c:461 sm/gpgsm.c:220
 msgid "generate a new key pair"
 msgstr "створити пару ключів"
 
-#: g10/gpg.c:467
+#: g10/gpg.c:464
 msgid "quickly generate a new key pair"
 msgstr "швидке створення пари ключів"
 
-#: g10/gpg.c:470
+#: g10/gpg.c:467
 msgid "quickly add a new user-id"
 msgstr "швидке додавання нового ідентифікатора користувача"
 
-#: g10/gpg.c:475
+#: g10/gpg.c:472
 msgid "quickly revoke a user-id"
 msgstr "швидке відкликання ідентифікатора користувача"
 
-#: g10/gpg.c:478
+#: g10/gpg.c:475
 msgid "quickly set a new expiration date"
 msgstr "швидке встановлення нової дати завершення строку дії"
 
-#: g10/gpg.c:481
+#: g10/gpg.c:478
 msgid "full featured key pair generation"
 msgstr "повноцінне створення пари ключів"
 
-#: g10/gpg.c:484
+#: g10/gpg.c:481
 msgid "generate a revocation certificate"
 msgstr "створити сертифікат відкликання"
 
-#: g10/gpg.c:487 sm/gpgsm.c:222
+#: g10/gpg.c:484 sm/gpgsm.c:223
 msgid "remove keys from the public keyring"
 msgstr "вилучити ключі з відкритого сховища ключів"
 
-#: g10/gpg.c:489
+#: g10/gpg.c:486
 msgid "remove keys from the secret keyring"
 msgstr "вилучити ключів з закритого сховища ключів"
 
-#: g10/gpg.c:491
+#: g10/gpg.c:488
 msgid "quickly sign a key"
 msgstr "швидко підписати ключ"
 
-#: g10/gpg.c:493
+#: g10/gpg.c:490
 msgid "quickly sign a key locally"
 msgstr "швидко підписати ключ локально"
 
-#: g10/gpg.c:495
+#: g10/gpg.c:492
 #, fuzzy
 #| msgid "quickly revoke a user-id"
 msgid "quickly revoke a key signature"
 msgstr "швидке відкликання ідентифікатора користувача"
 
-#: g10/gpg.c:496
+#: g10/gpg.c:493
 msgid "sign a key"
 msgstr "підписати ключ"
 
-#: g10/gpg.c:497
+#: g10/gpg.c:494
 msgid "sign a key locally"
 msgstr "підписати ключ локально"
 
-#: g10/gpg.c:498
+#: g10/gpg.c:495
 msgid "sign or edit a key"
 msgstr "підписати або редагувати ключ"
 
-#: g10/gpg.c:500 sm/gpgsm.c:240
+#: g10/gpg.c:497 sm/gpgsm.c:241
 msgid "change a passphrase"
 msgstr "змінити пароль"
 
-#: g10/gpg.c:504
+#: g10/gpg.c:501
 msgid "export keys"
 msgstr "експортувати ключі"
 
-#: g10/gpg.c:505
+#: g10/gpg.c:502
 msgid "export keys to a keyserver"
 msgstr "експортувати ключі на сервер ключів"
 
-#: g10/gpg.c:506
+#: g10/gpg.c:503
 msgid "import keys from a keyserver"
 msgstr "імпортувати ключі з сервера ключів"
 
-#: g10/gpg.c:509
+#: g10/gpg.c:506
 msgid "search for keys on a keyserver"
 msgstr "шукати ключі на сервері ключів"
 
-#: g10/gpg.c:511
+#: g10/gpg.c:508
 msgid "update all keys from a keyserver"
 msgstr "оновити всі ключів з сервера ключів"
 
-#: g10/gpg.c:519
+#: g10/gpg.c:516
 msgid "import/merge keys"
 msgstr "імпортувати/об’єднати ключі"
 
-#: g10/gpg.c:522
+#: g10/gpg.c:519
 msgid "print the card status"
 msgstr "показати дані про стан картки"
 
-#: g10/gpg.c:523
+#: g10/gpg.c:520
 msgid "change data on a card"
 msgstr "змінити дані на картці"
 
-#: g10/gpg.c:525
+#: g10/gpg.c:522
 msgid "change a card's PIN"
 msgstr "змінити пінкод картки"
 
-#: g10/gpg.c:537
+#: g10/gpg.c:534
 msgid "update the trust database"
 msgstr "оновити базу даних довіри"
 
-#: g10/gpg.c:546
+#: g10/gpg.c:543
 msgid "print message digests"
 msgstr "показати контрольні суми повідомлень"
 
-#: g10/gpg.c:549 sm/gpgsm.c:235
+#: g10/gpg.c:546 sm/gpgsm.c:236
 msgid "run in server mode"
 msgstr "запустити у режимі сервера"
 
-#: g10/gpg.c:551
+#: g10/gpg.c:548
 msgid "|VALUE|set the TOFU policy for a key"
 msgstr "|VALUE|встановити вказане правило TOFU для ключа"
 
-#: g10/gpg.c:555 sm/gpgsm.c:254
+#: g10/gpg.c:552 sm/gpgsm.c:255
 msgid "create ascii armored output"
 msgstr "створити дані у форматі ASCII"
 
-#: g10/gpg.c:558 sm/gpgsm.c:271
+#: g10/gpg.c:555 sm/gpgsm.c:272
 msgid "|USER-ID|encrypt for USER-ID"
 msgstr "|USER-ID|зашифрувати для вказаного ідентифікатора"
 
-#: g10/gpg.c:574 sm/gpgsm.c:307
+#: g10/gpg.c:571 sm/gpgsm.c:308
 msgid "|USER-ID|use USER-ID to sign or decrypt"
 msgstr ""
 "|USER-ID|використовувати для створення підписів або розшифрування вказаний "
 "ідентифікатор"
 
-#: g10/gpg.c:580
+#: g10/gpg.c:577
 msgid "|N|set compress level to N (0 disables)"
 msgstr "|N|встановити рівень стиснення (0 — вимкнути)"
 
-#: g10/gpg.c:587
+#: g10/gpg.c:584
 msgid "use canonical text mode"
 msgstr "використовувати канонічний текстовий режим"
 
-#: g10/gpg.c:604 g10/gpgv.c:82 sm/gpgsm.c:309
+#: g10/gpg.c:601 g10/gpgv.c:82 sm/gpgsm.c:310
 msgid "|FILE|write output to FILE"
 msgstr "|FILE|записати дані до вказаного файла"
 
-#: g10/gpg.c:614 kbx/kbxutil.c:90 sm/gpgsm.c:321 tools/gpgconf.c:110
+#: g10/gpg.c:611 kbx/kbxutil.c:90 sm/gpgsm.c:322 tools/gpgconf.c:110
 msgid "do not make any changes"
 msgstr "не вносити змін"
 
-#: g10/gpg.c:615
+#: g10/gpg.c:612
 msgid "prompt before overwriting"
 msgstr "запитувати перед перезаписом"
 
-#: g10/gpg.c:665
+#: g10/gpg.c:662
 msgid "use strict OpenPGP behavior"
 msgstr "строго використовувати стандарт OpenPGP"
 
-#: g10/gpg.c:692 sm/gpgsm.c:364
+#: g10/gpg.c:689 sm/gpgsm.c:367
 msgid ""
 "@\n"
 "(See the man page for a complete listing of all commands and options)\n"
@@ -2711,7 +2729,7 @@ msgstr ""
 "(Щоб ознайомитися зі списком команд і параметрів, скористайтеся сторінкою "
 "довідника (man))\n"
 
-#: g10/gpg.c:695
+#: g10/gpg.c:692
 msgid ""
 "@\n"
 "Examples:\n"
@@ -2732,11 +2750,11 @@ msgstr ""
 " --list-keys [назви]        показати ключі\n"
 " --fingerprint [назви]      показати відбитки\n"
 
-#: g10/gpg.c:1092
+#: g10/gpg.c:1096
 msgid "Usage: @GPG@ [options] [files] (-h for help)"
 msgstr "Використання: @GPG@ [параметри] [файли] (-h — довідка)"
 
-#: g10/gpg.c:1095
+#: g10/gpg.c:1099
 msgid ""
 "Syntax: @GPG@ [options] [files]\n"
 "Sign, check, encrypt or decrypt\n"
@@ -2746,7 +2764,7 @@ msgstr ""
 "Підписування, перевірка підписів, шифрування або розшифрування\n"
 "Типова дія залежатиме від вхідних даних\n"
 
-#: g10/gpg.c:1106 sm/gpgsm.c:591
+#: g10/gpg.c:1110 sm/gpgsm.c:594
 msgid ""
 "\n"
 "Supported algorithms:\n"
@@ -2754,77 +2772,77 @@ msgstr ""
 "\n"
 "Підтримувані алгоритми:\n"
 
-#: g10/gpg.c:1109
+#: g10/gpg.c:1113
 msgid "Pubkey: "
 msgstr "Відкритий ключ: "
 
-#: g10/gpg.c:1116 g10/keyedit.c:3281
+#: g10/gpg.c:1120 g10/keyedit.c:3282
 msgid "Cipher: "
 msgstr "Шифр: "
 
-#: g10/gpg.c:1123
+#: g10/gpg.c:1127
 msgid "Hash: "
 msgstr "Хеш: "
 
-#: g10/gpg.c:1130 g10/keyedit.c:3347
+#: g10/gpg.c:1134 g10/keyedit.c:3348
 msgid "Compression: "
 msgstr "Стиснення: "
 
-#: g10/gpg.c:1199 sm/gpgsm.c:665
+#: g10/gpg.c:1207 sm/gpgsm.c:668
 #, c-format
 msgid "usage: %s [options] %s\n"
 msgstr "користування: %s [параметри] %s\n"
 
-#: g10/gpg.c:1388 sm/gpgsm.c:754
+#: g10/gpg.c:1396 sm/gpgsm.c:761
 #, c-format
 msgid "conflicting commands\n"
 msgstr "несумісні команди\n"
 
-#: g10/gpg.c:1406
+#: g10/gpg.c:1414
 #, c-format
 msgid "no = sign found in group definition '%s'\n"
 msgstr "у визначенні групи «%s» немає знаку «=»\n"
 
-#: g10/gpg.c:1604
+#: g10/gpg.c:1612
 #, c-format
 msgid "WARNING: unsafe ownership on homedir '%s'\n"
 msgstr "УВАГА: визначення власника домашнього каталогу «%s» не є безпечним\n"
 
-#: g10/gpg.c:1607
+#: g10/gpg.c:1615
 #, c-format
 msgid "WARNING: unsafe ownership on configuration file '%s'\n"
 msgstr "УВАГА: визначення власника у файлі налаштувань «%s» не є безпечним\n"
 
-#: g10/gpg.c:1610
+#: g10/gpg.c:1618
 #, c-format
 msgid "WARNING: unsafe ownership on extension '%s'\n"
 msgstr "УВАГА: визначення власника додатка «%s» не є безпечним\n"
 
-#: g10/gpg.c:1616
+#: g10/gpg.c:1624
 #, c-format
 msgid "WARNING: unsafe permissions on homedir '%s'\n"
 msgstr ""
 "УВАГА: визначення прав доступу до домашнього каталогу «%s» не є безпечним\n"
 
-#: g10/gpg.c:1619
+#: g10/gpg.c:1627
 #, c-format
 msgid "WARNING: unsafe permissions on configuration file '%s'\n"
 msgstr ""
 "УВАГА: визначення прав доступу до файла налаштувань «%s» не є безпечним\n"
 
-#: g10/gpg.c:1622
+#: g10/gpg.c:1630
 #, c-format
 msgid "WARNING: unsafe permissions on extension '%s'\n"
 msgstr "УВАГА: визначення прав доступу до додатка «%s» не є безпечним\n"
 
-#: g10/gpg.c:1628
+#: g10/gpg.c:1636
 #, c-format
 msgid "WARNING: unsafe enclosing directory ownership on homedir '%s'\n"
 msgstr ""
 "УВАГА: визначення власника підлеглого каталогу домашнього каталогу «%s» не є "
 "безпечним\n"
 
-#: g10/gpg.c:1631
+#: g10/gpg.c:1639
 #, c-format
 msgid ""
 "WARNING: unsafe enclosing directory ownership on configuration file '%s'\n"
@@ -2832,21 +2850,21 @@ msgstr ""
 "УВАГА: визначення власника у підлеглому каталозі, визначеному файлом "
 "налаштувань «%s», не є безпечним\n"
 
-#: g10/gpg.c:1634
+#: g10/gpg.c:1642
 #, c-format
 msgid "WARNING: unsafe enclosing directory ownership on extension '%s'\n"
 msgstr ""
 "УВАГА: визначення власника підлеглого каталогу у додатку «%s» не є "
 "безпечним\n"
 
-#: g10/gpg.c:1640
+#: g10/gpg.c:1648
 #, c-format
 msgid "WARNING: unsafe enclosing directory permissions on homedir '%s'\n"
 msgstr ""
 "УВАГА: визначення прав доступу до підлеглого каталогу домашнього каталогу "
 "«%s» не є безпечним\n"
 
-#: g10/gpg.c:1643
+#: g10/gpg.c:1651
 #, c-format
 msgid ""
 "WARNING: unsafe enclosing directory permissions on configuration file '%s'\n"
@@ -2854,464 +2872,464 @@ msgstr ""
 "УВАГА: визначення прав доступу до підлеглого каталогу, визначеного файлом "
 "налаштувань «%s», не є безпечним\n"
 
-#: g10/gpg.c:1646
+#: g10/gpg.c:1654
 #, c-format
 msgid "WARNING: unsafe enclosing directory permissions on extension '%s'\n"
 msgstr ""
 "УВАГА: визначення прав доступу до підлеглого каталогу у додатку «%s» не є "
 "безпечним\n"
 
-#: g10/gpg.c:1862
+#: g10/gpg.c:1870
 #, c-format
 msgid "unknown configuration item '%s'\n"
 msgstr "невідомий пункт налаштувань «%s»\n"
 
-#: g10/gpg.c:1979
+#: g10/gpg.c:1992
 msgid "display photo IDs during key listings"
 msgstr "показувати фотоідентифікатори у списках ключів"
 
-#: g10/gpg.c:1981
+#: g10/gpg.c:1994
 msgid "show key usage information during key listings"
 msgstr "показувати дані щодо використання ключа у списках ключів"
 
-#: g10/gpg.c:1983
+#: g10/gpg.c:1996
 msgid "show policy URLs during signature listings"
 msgstr "показувати адреси правил у списках підписів"
 
-#: g10/gpg.c:1985
+#: g10/gpg.c:1998
 msgid "show all notations during signature listings"
 msgstr "показувати всі примітки у списках підписів"
 
-#: g10/gpg.c:1987
+#: g10/gpg.c:2000
 msgid "show IETF standard notations during signature listings"
 msgstr "показувати стандартні примітки IETF у списках підписів"
 
-#: g10/gpg.c:1991
+#: g10/gpg.c:2004
 msgid "show user-supplied notations during signature listings"
 msgstr "показувати примітки користувача у списках підписів"
 
-#: g10/gpg.c:1993
+#: g10/gpg.c:2006
 msgid "show preferred keyserver URLs during signature listings"
 msgstr "показувати адреси основних серверів ключів у списках підписів"
 
-#: g10/gpg.c:1995
+#: g10/gpg.c:2008
 msgid "show user ID validity during key listings"
 msgstr "показувати чинність ідентифікаторів користувачів у списках ключів"
 
-#: g10/gpg.c:1997
+#: g10/gpg.c:2010
 msgid "show revoked and expired user IDs in key listings"
 msgstr ""
 "показувати відкликані та застарілі ідентифікатори користувачів у списках "
 "ключів"
 
-#: g10/gpg.c:1999
+#: g10/gpg.c:2012
 msgid "show revoked and expired subkeys in key listings"
 msgstr "показувати відкликані та застарілі підключі у списках ключів"
 
-#: g10/gpg.c:2001
+#: g10/gpg.c:2014
 msgid "show the keyring name in key listings"
 msgstr "показувати назву сховища ключів у списках ключів"
 
-#: g10/gpg.c:2003
+#: g10/gpg.c:2016
 msgid "show expiration dates during signature listings"
 msgstr "показувати дати завершення строків дії у списку підписів"
 
-#: g10/gpg.c:2118
+#: g10/gpg.c:2131
 #, c-format
 msgid "unknown TOFU policy '%s'\n"
 msgstr "невідомі правила TOFU «%s»\n"
 
-#: g10/gpg.c:2120
+#: g10/gpg.c:2133
 #, c-format
 msgid "(use \"help\" to list choices)\n"
 msgstr "(команда «help» виводить список можливих варіантів)\n"
 
-#: g10/gpg.c:2840 g10/gpg.c:3671 g10/gpg.c:3683
+#: g10/gpg.c:2856 g10/gpg.c:3691 g10/gpg.c:3703
 #, c-format
 msgid "Note: %s is not for normal use!\n"
 msgstr "ЗАУВАЖЕННЯ: %s не призначено для звичайного використання!\n"
 
-#: g10/gpg.c:3017 g10/gpg.c:3029
+#: g10/gpg.c:3033 g10/gpg.c:3045
 #, c-format
 msgid "'%s' is not a valid signature expiration\n"
 msgstr "«%s» не є коректним записом завершення строку дії підпису\n"
 
-#: g10/gpg.c:3051
+#: g10/gpg.c:3067
 #, c-format
 msgid "\"%s\" is not a proper mail address\n"
 msgstr "«%s» не є коректною адресою електронної пошти\n"
 
-#: g10/gpg.c:3083 sm/gpgsm.c:1177
+#: g10/gpg.c:3099 sm/gpgsm.c:1091
 #, c-format
 msgid "invalid pinentry mode '%s'\n"
 msgstr "некоректний режим pinentry, «%s»\n"
 
-#: g10/gpg.c:3089 sm/gpgsm.c:1183
+#: g10/gpg.c:3105 sm/gpgsm.c:1097
 #, c-format
 msgid "invalid request origin '%s'\n"
 msgstr "некоректне походження запиту «%s»\n"
 
-#: g10/gpg.c:3143
+#: g10/gpg.c:3159
 #, c-format
 msgid "'%s' is not a valid character set\n"
 msgstr "«%s» не є коректним набором символів\n"
 
-#: g10/gpg.c:3165 g10/gpg.c:3375 g10/keyedit.c:5281
+#: g10/gpg.c:3181 g10/gpg.c:3395 g10/keyedit.c:5282
 #, c-format
 msgid "could not parse keyserver URL\n"
 msgstr "не вдалося обробити адресу сервера ключів\n"
 
-#: g10/gpg.c:3183
+#: g10/gpg.c:3199
 #, c-format
 msgid "%s:%d: invalid keyserver options\n"
 msgstr "%s:%d: некоректні параметри сервера ключів\n"
 
-#: g10/gpg.c:3186
+#: g10/gpg.c:3202
 #, c-format
 msgid "invalid keyserver options\n"
 msgstr "некоректні параметри сервера ключів\n"
 
-#: g10/gpg.c:3193
+#: g10/gpg.c:3209
 #, c-format
 msgid "%s:%d: invalid import options\n"
 msgstr "%s:%d: некоректні параметри імпортування\n"
 
-#: g10/gpg.c:3196
+#: g10/gpg.c:3212
 #, c-format
 msgid "invalid import options\n"
 msgstr "некоректні параметри імпортування\n"
 
-#: g10/gpg.c:3202 g10/gpg.c:3217
+#: g10/gpg.c:3218 g10/gpg.c:3233
 #, c-format
 msgid "invalid filter option: %s\n"
 msgstr "некоректний параметр фільтрування: %s\n"
 
-#: g10/gpg.c:3208
+#: g10/gpg.c:3224
 #, c-format
 msgid "%s:%d: invalid export options\n"
 msgstr "%s:%d: некоректні параметри експортування\n"
 
-#: g10/gpg.c:3211
+#: g10/gpg.c:3227
 #, c-format
 msgid "invalid export options\n"
 msgstr "некоректні параметри експортування\n"
 
-#: g10/gpg.c:3223
+#: g10/gpg.c:3239
 #, c-format
 msgid "%s:%d: invalid list options\n"
 msgstr "%s:%d: некоректні параметри побудови списку\n"
 
-#: g10/gpg.c:3226
+#: g10/gpg.c:3242
 #, c-format
 msgid "invalid list options\n"
 msgstr "некоректні параметри побудови списку\n"
 
-#: g10/gpg.c:3234
+#: g10/gpg.c:3250
 msgid "display photo IDs during signature verification"
 msgstr "показувати фотоідентифікатори під час перевірки підписів"
 
-#: g10/gpg.c:3236
+#: g10/gpg.c:3252
 msgid "show policy URLs during signature verification"
 msgstr "показувати адреси правил під час перевірки підписів"
 
-#: g10/gpg.c:3238
+#: g10/gpg.c:3254
 msgid "show all notations during signature verification"
 msgstr "показувати всі примітки під час перевірки підписів"
 
-#: g10/gpg.c:3240
+#: g10/gpg.c:3256
 msgid "show IETF standard notations during signature verification"
 msgstr "показувати стандартні примітки IETF під час перевірки підписів"
 
-#: g10/gpg.c:3244
+#: g10/gpg.c:3260
 msgid "show user-supplied notations during signature verification"
 msgstr "показувати вказані користувачем примітки під час перевірки підписів"
 
-#: g10/gpg.c:3246
+#: g10/gpg.c:3262
 msgid "show preferred keyserver URLs during signature verification"
 msgstr ""
 "показувати адреси основних серверів ключів у списках перевірки підписів"
 
-#: g10/gpg.c:3248
+#: g10/gpg.c:3264
 msgid "show user ID validity during signature verification"
 msgstr ""
 "показувати чинність ідентифікаторів користувача під час перевірки підписів"
 
-#: g10/gpg.c:3250
+#: g10/gpg.c:3266
 msgid "show revoked and expired user IDs in signature verification"
 msgstr ""
 "показувати відкликані та застарілі ідентифікатори користувачів у списках "
 "перевірки підписів"
 
-#: g10/gpg.c:3252
+#: g10/gpg.c:3268
 msgid "show only the primary user ID in signature verification"
 msgstr ""
 "показувати лише основний ідентифікатор користувача під час перевірки підписів"
 
-#: g10/gpg.c:3254
+#: g10/gpg.c:3270
 msgid "validate signatures with PKA data"
 msgstr "перевірити підписи за допомогою даних PKA"
 
-#: g10/gpg.c:3256
+#: g10/gpg.c:3272
 msgid "elevate the trust of signatures with valid PKA data"
 msgstr "підняти рівень довіри до підписів з коректними даними PKA"
 
-#: g10/gpg.c:3263
+#: g10/gpg.c:3279
 #, c-format
 msgid "%s:%d: invalid verify options\n"
 msgstr "%s:%d: некоректні параметри перевірки\n"
 
-#: g10/gpg.c:3266
+#: g10/gpg.c:3282
 #, c-format
 msgid "invalid verify options\n"
 msgstr "некоректні параметри перевірки\n"
 
-#: g10/gpg.c:3273
+#: g10/gpg.c:3289
 #, c-format
 msgid "unable to set exec-path to %s\n"
 msgstr "не вдалося встановити шлях для запуску у значення %s\n"
 
-#: g10/gpg.c:3478
+#: g10/gpg.c:3498
 #, c-format
 msgid "%s:%d: invalid auto-key-locate list\n"
 msgstr "%s:%d: некоректний список auto-key-locate\n"
 
-#: g10/gpg.c:3481
+#: g10/gpg.c:3501
 #, c-format
 msgid "invalid auto-key-locate list\n"
 msgstr "некоректний список auto-key-locate\n"
 
-#: g10/gpg.c:3653 sm/gpgsm.c:1541
+#: g10/gpg.c:3673 sm/gpgsm.c:1441
 #, c-format
 msgid "WARNING: program may create a core file!\n"
 msgstr "УВАГА: можливе створення дампу пам’яті програми!\n"
 
-#: g10/gpg.c:3664
+#: g10/gpg.c:3684
 #, c-format
 msgid "WARNING: %s overrides %s\n"
 msgstr "УВАГА: %s перевизначає %s\n"
 
-#: g10/gpg.c:3673
+#: g10/gpg.c:3693
 #, c-format
 msgid "%s not allowed with %s!\n"
 msgstr "%s не можна використовувати разом з %s!\n"
 
-#: g10/gpg.c:3676
+#: g10/gpg.c:3696
 #, c-format
 msgid "%s makes no sense with %s!\n"
 msgstr "%s є зайвим, якщо використано %s!\n"
 
-#: g10/gpg.c:3691 sm/gpgsm.c:1558 dirmngr/dirmngr.c:1082
+#: g10/gpg.c:3711 sm/gpgsm.c:1458 dirmngr/dirmngr.c:1117
 #, c-format
 msgid "WARNING: running with faked system time: "
 msgstr "УВАГА: запущено з фіктивним системним часом: "
 
-#: g10/gpg.c:3712
+#: g10/gpg.c:3732
 #, c-format
 msgid "will not run with insecure memory due to %s\n"
 msgstr "не буде запущено з помилками у захисті пам’яті через %s\n"
 
-#: g10/gpg.c:3747 g10/gpg.c:3771 sm/gpgsm.c:1625
+#: g10/gpg.c:3767 g10/gpg.c:3791 sm/gpgsm.c:1525
 #, c-format
 msgid "selected cipher algorithm is invalid\n"
 msgstr "вибраний алгоритм шифрування є некоректним\n"
 
-#: g10/gpg.c:3759
+#: g10/gpg.c:3779
 #, c-format
 msgid "selected compression algorithm is invalid\n"
 msgstr "вибраний алгоритм стискання є некоректним\n"
 
-#: g10/gpg.c:3765
+#: g10/gpg.c:3785
 #, c-format
 msgid "selected certification digest algorithm is invalid\n"
 msgstr ""
 "вибраний алгоритм створення контрольних сум для сертифікації є некоректним\n"
 
-#: g10/gpg.c:3780
+#: g10/gpg.c:3800
 #, c-format
 msgid "completes-needed must be greater than 0\n"
 msgstr "значення completes-needed має бути більшим за 0\n"
 
-#: g10/gpg.c:3782
+#: g10/gpg.c:3802
 #, c-format
 msgid "marginals-needed must be greater than 1\n"
 msgstr "значення marginals-needed має перевищувати 1\n"
 
-#: g10/gpg.c:3784
+#: g10/gpg.c:3804
 #, c-format
 msgid "max-cert-depth must be in the range from 1 to 255\n"
 msgstr "значення max-cert-depth має перебувати у діапазоні від 1 до 255\n"
 
-#: g10/gpg.c:3786
+#: g10/gpg.c:3806
 #, c-format
 msgid "invalid default-cert-level; must be 0, 1, 2, or 3\n"
 msgstr "некоректне значення default-cert-level; має бути 0, 1, 2 або 3\n"
 
-#: g10/gpg.c:3788
+#: g10/gpg.c:3808
 #, c-format
 msgid "invalid min-cert-level; must be 1, 2, or 3\n"
 msgstr "некоректне значення min-cert-level; має бути 1, 2 або 3\n"
 
-#: g10/gpg.c:3791
+#: g10/gpg.c:3812
 #, c-format
 msgid "Note: simple S2K mode (0) is strongly discouraged\n"
 msgstr ""
 "ЗАУВАЖЕННЯ: наполегливо не рекомендуємо вам користуватися простим режимом "
 "S2K (0)\n"
 
-#: g10/gpg.c:3795
+#: g10/gpg.c:3816
 #, c-format
 msgid "invalid S2K mode; must be 0, 1 or 3\n"
 msgstr "некоректний режим S2K; мало бути вказано 0, 1 або 3\n"
 
-#: g10/gpg.c:3802
+#: g10/gpg.c:3823
 #, c-format
 msgid "invalid default preferences\n"
 msgstr "некоректні типові параметри\n"
 
-#: g10/gpg.c:3806
+#: g10/gpg.c:3827
 #, c-format
 msgid "invalid personal cipher preferences\n"
 msgstr "некоректні особисті параметри шифрування\n"
 
-#: g10/gpg.c:3810
+#: g10/gpg.c:3831
 #, c-format
 msgid "invalid personal digest preferences\n"
 msgstr "некоректні особисті параметри контрольної суми\n"
 
-#: g10/gpg.c:3814
+#: g10/gpg.c:3835
 #, c-format
 msgid "invalid personal compress preferences\n"
 msgstr "некоректні особисті параметри стискання\n"
 
-#: g10/gpg.c:3850
+#: g10/gpg.c:3871
 #, c-format
 msgid "%s does not yet work with %s\n"
 msgstr "%s ще не може працювати разом з %s\n"
 
-#: g10/gpg.c:3913
+#: g10/gpg.c:3934
 #, c-format
 msgid "compression algorithm '%s' may not be used in %s mode\n"
 msgstr "алгоритм стискання «%s» не можна використовувати у режимі %s\n"
 
-#: g10/gpg.c:4057
+#: g10/gpg.c:4078
 #, c-format
 msgid "failed to initialize the TrustDB: %s\n"
 msgstr "не вдалося ініціалізувати базу даних надійності (TrustDB): %s\n"
 
-#: g10/gpg.c:4069
+#: g10/gpg.c:4090
 #, c-format
 msgid "WARNING: recipients (-r) given without using public key encryption\n"
 msgstr ""
 "УВАГА: отримувачів (-r) вказано без використання шифрування відкритим "
 "ключем\n"
 
-#: g10/gpg.c:4141
+#: g10/gpg.c:4162
 #, c-format
 msgid "symmetric encryption of '%s' failed: %s\n"
 msgstr "помилка під час спроби симетричного шифрування «%s»: %s\n"
 
-#: g10/gpg.c:4170
+#: g10/gpg.c:4191
 #, c-format
 msgid "you cannot use --symmetric --encrypt with --s2k-mode 0\n"
 msgstr ""
 "не можна використовувати комбінацію --symmetric --encrypt у режимі --s2k-"
 "mode 0\n"
 
-#: g10/gpg.c:4173
+#: g10/gpg.c:4194
 #, c-format
 msgid "you cannot use --symmetric --encrypt in %s mode\n"
 msgstr ""
 "не можна використовувати комбінацію --symmetric --encrypt у режимі %s\n"
 
-#: g10/gpg.c:4231
+#: g10/gpg.c:4252
 #, c-format
 msgid "you cannot use --symmetric --sign --encrypt with --s2k-mode 0\n"
 msgstr ""
 "не можна використовувати комбінацію --symmetric --sign --encrypt у режимі --"
 "s2k-mode 0\n"
 
-#: g10/gpg.c:4234
+#: g10/gpg.c:4255
 #, c-format
 msgid "you cannot use --symmetric --sign --encrypt in %s mode\n"
 msgstr ""
 "не можна використовувати комбінацію --symmetric --encrypt у режимі %s\n"
 
-#: g10/gpg.c:4622 g10/keyserver.c:1881
+#: g10/gpg.c:4643 g10/keyserver.c:1648
 #, c-format
 msgid "keyserver send failed: %s\n"
 msgstr "помилка під час надсилання даних на сервер ключів: %s\n"
 
-#: g10/gpg.c:4627
+#: g10/gpg.c:4648
 #, c-format
 msgid "keyserver receive failed: %s\n"
 msgstr "помилка під час спроби отримання даних з сервера ключів: %s\n"
 
-#: g10/gpg.c:4633
+#: g10/gpg.c:4654
 #, c-format
 msgid "key export failed: %s\n"
 msgstr "помилка під час спроби експортування ключа: %s\n"
 
-#: g10/gpg.c:4646
+#: g10/gpg.c:4667
 #, c-format
 msgid "export as ssh key failed: %s\n"
 msgstr "спроба експортування ключа ssh зазнала невдачі: %s\n"
 
-#: g10/gpg.c:4658
+#: g10/gpg.c:4679
 #, c-format
 msgid "keyserver search failed: %s\n"
 msgstr "помилка пошуку на сервері ключів: %s\n"
 
-#: g10/gpg.c:4671
+#: g10/gpg.c:4692
 #, c-format
 msgid "keyserver refresh failed: %s\n"
 msgstr "помилка оновлення з сервера ключів: %s\n"
 
-#: g10/gpg.c:4738
+#: g10/gpg.c:4759
 #, c-format
 msgid "dearmoring failed: %s\n"
 msgstr "помилка перетворення з формату ASCII: %s\n"
 
-#: g10/gpg.c:4749
+#: g10/gpg.c:4770
 #, c-format
 msgid "enarmoring failed: %s\n"
 msgstr "помилка перетворення у формат ASCII: %s\n"
 
-#: g10/gpg.c:4841
+#: g10/gpg.c:4862
 #, c-format
 msgid "invalid hash algorithm '%s'\n"
 msgstr "некоректний алгоритм хешування «%s»\n"
 
-#: g10/gpg.c:4993 g10/tofu.c:2153
+#: g10/gpg.c:5014 g10/tofu.c:2153
 #, c-format
 msgid "error parsing key specification '%s': %s\n"
 msgstr "помилка під час спроби обробки специфікації ключа «%s»: %s\n"
 
-#: g10/gpg.c:5006
+#: g10/gpg.c:5027
 #, c-format
 msgid "'%s' does not appear to be a valid key ID, fingerprint or keygrip\n"
 msgstr "«%s» не є коректним ідентифікатором ключа, відбитком або кодом\n"
 
-#: g10/gpg.c:5062
+#: g10/gpg.c:5083
 #, c-format
 msgid "WARNING: no command supplied.  Trying to guess what you mean ...\n"
 msgstr "УВАГА: команд не надано. Намагаємося вгадати, що вам потрібно...\n"
 
-#: g10/gpg.c:5073
+#: g10/gpg.c:5094
 #, c-format
 msgid "Go ahead and type your message ...\n"
 msgstr "Почніть вводити ваше повідомлення...\n"
 
-#: g10/gpg.c:5418
+#: g10/gpg.c:5439
 #, c-format
 msgid "the given certification policy URL is invalid\n"
 msgstr "вказана адреса правил сертифікації є некоректною\n"
 
-#: g10/gpg.c:5420
+#: g10/gpg.c:5441
 #, c-format
 msgid "the given signature policy URL is invalid\n"
 msgstr "вказана адреса правил підписування є некоректною\n"
 
-#: g10/gpg.c:5453
+#: g10/gpg.c:5474
 #, c-format
 msgid "the given preferred keyserver URL is invalid\n"
 msgstr "вказана адреса основного сервера ключів є некоректною\n"
@@ -3324,7 +3342,7 @@ msgstr "|FILE|визначити ключі з файла сховища клю
 msgid "make timestamp conflicts only a warning"
 msgstr "супроводжувати конфлікти часових позначок лише попередженнями"
 
-#: g10/gpgv.c:86 sm/gpgsm.c:354 tools/gpgconf.c:112
+#: g10/gpgv.c:86 sm/gpgsm.c:357 tools/gpgconf.c:112
 msgid "|FD|write status info to this FD"
 msgstr "|FD|записувати до дескриптора файла дані щодо стану"
 
@@ -3401,97 +3419,97 @@ msgstr "припускати формат резервних копій ключ
 msgid "repair keys on import"
 msgstr "відновлювати ключі при імпортуванні"
 
-#: g10/import.c:380 g10/import.c:699
+#: g10/import.c:392 g10/import.c:711
 #, c-format
 msgid "skipping block of type %d\n"
 msgstr "пропускаємо блок типу %d\n"
 
-#: g10/import.c:716
+#: g10/import.c:728
 #, c-format
 msgid "%lu keys processed so far\n"
 msgstr "оброблено %lu ключів\n"
 
-#: g10/import.c:802
+#: g10/import.c:814
 #, c-format
 msgid "Total number processed: %lu\n"
 msgstr "Загалом оброблено: %lu\n"
 
-#: g10/import.c:805
+#: g10/import.c:817
 #, c-format
 msgid "    skipped PGP-2 keys: %lu\n"
 msgstr "    пропущено ключів PGP-2: %lu\n"
 
-#: g10/import.c:807
+#: g10/import.c:819
 #, c-format
 msgid "      skipped new keys: %lu\n"
 msgstr "пропущено нових ключів: %lu\n"
 
-#: g10/import.c:810
+#: g10/import.c:822
 #, c-format
 msgid "          w/o user IDs: %lu\n"
 msgstr "   без ід. користувача: %lu\n"
 
-#: g10/import.c:813 sm/import.c:130
+#: g10/import.c:825 sm/import.c:130
 #, c-format
 msgid "              imported: %lu"
 msgstr "           імпортовано: %lu"
 
-#: g10/import.c:817 sm/import.c:134
+#: g10/import.c:829 sm/import.c:134
 #, c-format
 msgid "             unchanged: %lu\n"
 msgstr "              без змін: %lu\n"
 
-#: g10/import.c:819
+#: g10/import.c:831
 #, c-format
 msgid "          new user IDs: %lu\n"
 msgstr "нових ід. користувачів: %lu\n"
 
-#: g10/import.c:821
+#: g10/import.c:833
 #, c-format
 msgid "           new subkeys: %lu\n"
 msgstr "       нових підключів: %lu\n"
 
-#: g10/import.c:823
+#: g10/import.c:835
 #, c-format
 msgid "        new signatures: %lu\n"
 msgstr "        нових підписів: %lu\n"
 
-#: g10/import.c:825
+#: g10/import.c:837
 #, c-format
 msgid "   new key revocations: %lu\n"
 msgstr "відкликань нових ключів: %lu\n"
 
-#: g10/import.c:827 sm/import.c:136
+#: g10/import.c:839 sm/import.c:136
 #, c-format
 msgid "      secret keys read: %lu\n"
 msgstr "прочитано закритих ключів: %lu\n"
 
-#: g10/import.c:829 sm/import.c:138
+#: g10/import.c:841 sm/import.c:138
 #, c-format
 msgid "  secret keys imported: %lu\n"
 msgstr "імпортовано закр. ключів: %lu\n"
 
-#: g10/import.c:831 sm/import.c:140
+#: g10/import.c:843 sm/import.c:140
 #, c-format
 msgid " secret keys unchanged: %lu\n"
 msgstr " закр. ключів без змін: %lu\n"
 
-#: g10/import.c:833 sm/import.c:142
+#: g10/import.c:845 sm/import.c:142
 #, c-format
 msgid "          not imported: %lu\n"
 msgstr "        не імпортовано: %lu\n"
 
-#: g10/import.c:835
+#: g10/import.c:847
 #, c-format
 msgid "    signatures cleaned: %lu\n"
 msgstr "    вилучених підписів: %lu\n"
 
-#: g10/import.c:837
+#: g10/import.c:849
 #, c-format
 msgid "      user IDs cleaned: %lu\n"
 msgstr " вилучених ід. корист.: %lu\n"
 
-#: g10/import.c:1264
+#: g10/import.c:1276
 #, c-format
 msgid ""
 "WARNING: key %s contains preferences for unavailable\n"
@@ -3500,169 +3518,169 @@ msgstr ""
 "УВАГА: у ключі %s містяться записи надання переваги\n"
 "недоступним алгоритмам для таких ід. користувачів:\n"
 
-#: g10/import.c:1306
+#: g10/import.c:1318
 #, c-format
 msgid "         \"%s\": preference for cipher algorithm %s\n"
 msgstr "         «%s»: перевага алгоритму шифрування %s\n"
 
-#: g10/import.c:1321
+#: g10/import.c:1333
 #, c-format
 msgid "         \"%s\": preference for digest algorithm %s\n"
 msgstr "         «%s»: перевага алгоритму контрольних сум %s\n"
 
-#: g10/import.c:1333
+#: g10/import.c:1345
 #, c-format
 msgid "         \"%s\": preference for compression algorithm %s\n"
 msgstr "         «%s»: перевага алгоритму стискання %s\n"
 
-#: g10/import.c:1346
+#: g10/import.c:1358
 #, c-format
 msgid "it is strongly suggested that you update your preferences and\n"
 msgstr "наполегливо рекомендуємо вам оновити записи переваг і\n"
 
-#: g10/import.c:1348
+#: g10/import.c:1360
 #, c-format
 msgid "re-distribute this key to avoid potential algorithm mismatch problems\n"
 msgstr ""
 "повторно поширити цей ключ, щоб уникнути потенційних проблем з алгоритмами\n"
 
-#: g10/import.c:1373
+#: g10/import.c:1385
 #, c-format
 msgid "you can update your preferences with: gpg --edit-key %s updpref save\n"
 msgstr ""
 "оновити записи перевад можна за допомогою команди: gpg --edit-key %s updpref "
 "save\n"
 
-#: g10/import.c:1887 g10/import.c:3001
+#: g10/import.c:1899 g10/import.c:3013
 #, c-format
 msgid "key %s: no user ID\n"
 msgstr "ключ %s: немає ідентифікатор користувача\n"
 
-#: g10/import.c:1893
+#: g10/import.c:1905
 #, c-format
 msgid "key %s: %s\n"
 msgstr "ключ %s: %s\n"
 
-#: g10/import.c:1894 g10/import.c:2973
+#: g10/import.c:1906 g10/import.c:2985
 msgid "rejected by import screener"
 msgstr "відкинуто екранувальником імпорту"
 
-#: g10/import.c:1938
+#: g10/import.c:1950
 #, c-format
 msgid "key %s: PKS subkey corruption repaired\n"
 msgstr "ключ %s: відновлено пошкоджений підключ PKS\n"
 
-#: g10/import.c:1959
+#: g10/import.c:1971
 #, c-format
 msgid "key %s: accepted non self-signed user ID \"%s\"\n"
 msgstr "ключ %s: прийнято несамопідписаний ідентифікатор користувача «%s»\n"
 
-#: g10/import.c:1969 g10/import.c:2000
+#: g10/import.c:1981 g10/import.c:2012
 #, c-format
 msgid "key %s: no valid user IDs\n"
 msgstr "ключ %s: немає чинних ідентифікаторів користувача\n"
 
-#: g10/import.c:1971
+#: g10/import.c:1983
 #, c-format
 msgid "this may be caused by a missing self-signature\n"
 msgstr "причиною цього може бути те, що немає самопідпису\n"
 
-#: g10/import.c:2050 g10/import.c:3387
+#: g10/import.c:2062 g10/import.c:3399
 #, c-format
 msgid "key %s: public key not found: %s\n"
 msgstr "ключ %s: не знайдено відкритий ключ: %s\n"
 
-#: g10/import.c:2056
+#: g10/import.c:2068
 #, c-format
 msgid "key %s: new key - skipped\n"
 msgstr "ключ %s: новий ключ — пропущено\n"
 
-#: g10/import.c:2068
+#: g10/import.c:2080
 #, c-format
 msgid "no writable keyring found: %s\n"
 msgstr "не виявлено придатного до запису сховища ключів: %s\n"
 
-#: g10/import.c:2100 g10/import.c:2202 g10/import.c:3464
+#: g10/import.c:2112 g10/import.c:2214 g10/import.c:3476
 #, c-format
 msgid "error writing keyring '%s': %s\n"
 msgstr "помилка під час спроби запису сховища ключів «%s»: %s\n"
 
-#: g10/import.c:2123
+#: g10/import.c:2135
 #, c-format
 msgid "key %s: public key \"%s\" imported\n"
 msgstr "ключ %s: імпортовано відкритий ключ «%s»\n"
 
-#: g10/import.c:2150
+#: g10/import.c:2162
 #, c-format
 msgid "key %s: doesn't match our copy\n"
 msgstr "ключ %s: не відповідає нашій копії\n"
 
-#: g10/import.c:2218
+#: g10/import.c:2230
 #, c-format
 msgid "key %s: \"%s\" 1 new user ID\n"
 msgstr "ключ %s: «%s» 1 новий ідентифікатор користувача\n"
 
-#: g10/import.c:2221
+#: g10/import.c:2233
 #, c-format
 msgid "key %s: \"%s\" %d new user IDs\n"
 msgstr "ключ %s: «%s» %d нових ідентифікаторів користувачів\n"
 
-#: g10/import.c:2224
+#: g10/import.c:2236
 #, c-format
 msgid "key %s: \"%s\" 1 new signature\n"
 msgstr "ключ %s: «%s» 1 новий підпис\n"
 
-#: g10/import.c:2227
+#: g10/import.c:2239
 #, c-format
 msgid "key %s: \"%s\" %d new signatures\n"
 msgstr "ключ %s: «%s» %d нових підписів\n"
 
-#: g10/import.c:2230
+#: g10/import.c:2242
 #, c-format
 msgid "key %s: \"%s\" 1 new subkey\n"
 msgstr "ключ %s: «%s» 1 новий підключ\n"
 
-#: g10/import.c:2233
+#: g10/import.c:2245
 #, c-format
 msgid "key %s: \"%s\" %d new subkeys\n"
 msgstr "ключ %s: «%s» %d нових підключів\n"
 
-#: g10/import.c:2236
+#: g10/import.c:2248
 #, c-format
 msgid "key %s: \"%s\" %d signature cleaned\n"
 msgstr "ключ %s: «%s» вилучено %d підпис\n"
 
-#: g10/import.c:2239
+#: g10/import.c:2251
 #, c-format
 msgid "key %s: \"%s\" %d signatures cleaned\n"
 msgstr "ключ %s: «%s» вилучено %d підписів\n"
 
-#: g10/import.c:2242
+#: g10/import.c:2254
 #, c-format
 msgid "key %s: \"%s\" %d user ID cleaned\n"
 msgstr "ключ %s: «%s» спорожнено %d ідентифікатор користувача\n"
 
-#: g10/import.c:2245
+#: g10/import.c:2257
 #, c-format
 msgid "key %s: \"%s\" %d user IDs cleaned\n"
 msgstr "ключ %s: «%s» спорожнено %d ідентифікаторів користувачів\n"
 
-#: g10/import.c:2281
+#: g10/import.c:2293
 #, c-format
 msgid "key %s: \"%s\" not changed\n"
 msgstr "ключ %s: «%s» не змінено\n"
 
-#: g10/import.c:2640 g10/import.c:2835
+#: g10/import.c:2652 g10/import.c:2847
 #, c-format
 msgid "key %s: secret key imported\n"
 msgstr "ключ %s: імпортовано закритий ключ\n"
 
-#: g10/import.c:2648
+#: g10/import.c:2660
 #, c-format
 msgid "key %s: secret key already exists\n"
 msgstr "ключ %s: закритий ключ вже існує\n"
 
-#: g10/import.c:2656
+#: g10/import.c:2668
 #, c-format
 msgid "key %s: error sending to agent: %s\n"
 msgstr "ключ %s: помилка під час спроби надсилання агенту: %s\n"
@@ -3675,198 +3693,198 @@ msgstr "ключ %s: помилка під час спроби надсилан
 #. * Instead, user should be suggested to run 'gpg --card-status',
 #. * then, references to a card will be automatically created
 #. * again.
-#: g10/import.c:2825
+#: g10/import.c:2837
 #, c-format
 msgid "To migrate '%s', with each smartcard, run: %s\n"
 msgstr ""
 "Для перенесення «%s» на кожній із карток пам’яті слід виконати таку команду: "
 "%s\n"
 
-#: g10/import.c:2972
+#: g10/import.c:2984
 #, c-format
 msgid "secret key %s: %s\n"
 msgstr "закритий ключ %s: %s\n"
 
-#: g10/import.c:2993 g10/import.c:3032
+#: g10/import.c:3005 g10/import.c:3044
 #, c-format
 msgid "importing secret keys not allowed\n"
 msgstr "імпортування закритих ключів заборонено\n"
 
-#: g10/import.c:3020
+#: g10/import.c:3032
 #, c-format
 msgid "key %s: secret key with invalid cipher %d - skipped\n"
 msgstr "ключ %s: закритий ключ з некоректним шифром %d — пропущено\n"
 
-#: g10/import.c:3182 g10/pkclist.c:72 g10/revoke.c:776
+#: g10/import.c:3194 g10/pkclist.c:72 g10/revoke.c:776
 msgid "No reason specified"
 msgstr "Причину не вказано"
 
-#: g10/import.c:3183 g10/pkclist.c:74 g10/revoke.c:778
+#: g10/import.c:3195 g10/pkclist.c:74 g10/revoke.c:778
 msgid "Key is superseded"
 msgstr "Ключ замінено"
 
-#: g10/import.c:3184 g10/pkclist.c:76 g10/revoke.c:777
+#: g10/import.c:3196 g10/pkclist.c:76 g10/revoke.c:777
 msgid "Key has been compromised"
 msgstr "Ключ скомпрометовано"
 
-#: g10/import.c:3185 g10/pkclist.c:78 g10/revoke.c:779
+#: g10/import.c:3197 g10/pkclist.c:78 g10/revoke.c:779
 msgid "Key is no longer used"
 msgstr "Ключ більше не використовується"
 
-#: g10/import.c:3186 g10/pkclist.c:80 g10/revoke.c:780
+#: g10/import.c:3198 g10/pkclist.c:80 g10/revoke.c:780
 msgid "User ID is no longer valid"
 msgstr "Ідентифікатор користувача втратив чинність"
 
-#: g10/import.c:3311 g10/keylist.c:1254 g10/pkclist.c:84
+#: g10/import.c:3323 g10/keylist.c:1254 g10/pkclist.c:84
 #, c-format
 msgid "reason for revocation: "
 msgstr "причина відкликання: "
 
-#: g10/import.c:3330 g10/keylist.c:1273 g10/pkclist.c:100
+#: g10/import.c:3342 g10/keylist.c:1273 g10/pkclist.c:100
 #, c-format
 msgid "revocation comment: "
 msgstr "коментар щодо відкликання: "
 
-#: g10/import.c:3380
+#: g10/import.c:3392
 #, c-format
 msgid "key %s: no public key - can't apply revocation certificate\n"
 msgstr ""
 "ключ %s: немає відкритого ключа — не можна застосовувати сертифікат "
 "відкликання\n"
 
-#: g10/import.c:3411
+#: g10/import.c:3423
 #, c-format
 msgid "key %s: can't locate original keyblock: %s\n"
 msgstr "ключ %s: не вдалося знайти початковий блок ключів: %s\n"
 
-#: g10/import.c:3418
+#: g10/import.c:3430
 #, c-format
 msgid "key %s: can't read original keyblock: %s\n"
 msgstr "ключ %s: не вдалося прочитати початковий блок ключів: %s\n"
 
-#: g10/import.c:3438
+#: g10/import.c:3450
 #, c-format
 msgid "key %s: invalid revocation certificate: %s - rejected\n"
 msgstr "ключ %s: некоректний сертифікат відкликання: %s — відкинуто\n"
 
-#: g10/import.c:3473
+#: g10/import.c:3485
 #, c-format
 msgid "key %s: \"%s\" revocation certificate imported\n"
 msgstr "ключ %s: імпортовано сертифікат відкликання «%s»\n"
 
-#: g10/import.c:3559
+#: g10/import.c:3571
 #, c-format
 msgid "key %s: no user ID for signature\n"
 msgstr "ключ %s: немає ідентифікатор користувача для підпису\n"
 
-#: g10/import.c:3576
+#: g10/import.c:3588
 #, c-format
 msgid "key %s: unsupported public key algorithm on user ID \"%s\"\n"
 msgstr ""
 "ключ %s: непідтримуваний алгоритм створення відкритого ключа для "
 "ідентифікатора користувача «%s»\n"
 
-#: g10/import.c:3578
+#: g10/import.c:3590
 #, c-format
 msgid "key %s: invalid self-signature on user ID \"%s\"\n"
 msgstr "ключ %s: некоректний самопідпис для ідентифікатора користувача «%s»\n"
 
-#: g10/import.c:3595 g10/import.c:3623 g10/import.c:3679
+#: g10/import.c:3607 g10/import.c:3635 g10/import.c:3691
 #, c-format
 msgid "key %s: unsupported public key algorithm\n"
 msgstr "ключ %s: непідтримуваний алгоритм створення відкритого ключа\n"
 
-#: g10/import.c:3596
+#: g10/import.c:3608
 #, c-format
 msgid "key %s: invalid direct key signature\n"
 msgstr "ключ %s: некоректний безпосередній підпис ключа\n"
 
-#: g10/import.c:3610
+#: g10/import.c:3622
 #, c-format
 msgid "key %s: no subkey for key binding\n"
 msgstr "ключ %s: немає підключа для зв’язування ключів\n"
 
-#: g10/import.c:3625
+#: g10/import.c:3637
 #, c-format
 msgid "key %s: invalid subkey binding\n"
 msgstr "ключ %s: некоректне зв’язування підключів\n"
 
-#: g10/import.c:3644
+#: g10/import.c:3656
 #, c-format
 msgid "key %s: removed multiple subkey binding\n"
 msgstr "ключ %s: вилучено кратне зв’язування підключів\n"
 
-#: g10/import.c:3668
+#: g10/import.c:3680
 #, c-format
 msgid "key %s: no subkey for key revocation\n"
 msgstr "ключ %s: немає підключа для відкликання ключа\n"
 
-#: g10/import.c:3681
+#: g10/import.c:3693
 #, c-format
 msgid "key %s: invalid subkey revocation\n"
 msgstr "ключ %s: некоректне відкликання підключа\n"
 
-#: g10/import.c:3696
+#: g10/import.c:3708
 #, c-format
 msgid "key %s: removed multiple subkey revocation\n"
 msgstr "ключ %s: вилучено кратне відкликання підключа\n"
 
-#: g10/import.c:3740
+#: g10/import.c:3752
 #, c-format
 msgid "key %s: skipped user ID \"%s\"\n"
 msgstr "ключ %s: пропущено ідентифікатор користувача «%s»\n"
 
-#: g10/import.c:3767
+#: g10/import.c:3779
 #, c-format
 msgid "key %s: skipped subkey\n"
 msgstr "ключ %s: пропущено підключ\n"
 
-#: g10/import.c:3798
+#: g10/import.c:3810
 #, c-format
 msgid "key %s: non exportable signature (class 0x%02X) - skipped\n"
 msgstr "ключ %s: непридатний до експорту підпис (клас 0x%02X) — пропущено\n"
 
-#: g10/import.c:3809
+#: g10/import.c:3821
 #, c-format
 msgid "key %s: revocation certificate at wrong place - skipped\n"
 msgstr "ключ %s: сертифікат відкликання у помилковому місці — пропущено\n"
 
-#: g10/import.c:3827
+#: g10/import.c:3839
 #, c-format
 msgid "key %s: invalid revocation certificate: %s - skipped\n"
 msgstr "ключ %s: некоректний сертифікат відкликання: %s — пропущено\n"
 
-#: g10/import.c:3841
+#: g10/import.c:3853
 #, c-format
 msgid "key %s: subkey signature in wrong place - skipped\n"
 msgstr "ключ %s: підпис підключа у помилковому місці — пропущено\n"
 
-#: g10/import.c:3849
+#: g10/import.c:3861
 #, c-format
 msgid "key %s: unexpected signature class (0x%02X) - skipped\n"
 msgstr "ключ %s: неочікуваний клас підпису (0x%02X) — пропущено\n"
 
-#: g10/import.c:4022
+#: g10/import.c:4034
 #, c-format
 msgid "key %s: duplicated user ID detected - merged\n"
 msgstr "ключ %s: виявлено дублювання ідентифікаторів користувача — об’єднано\n"
 
-#: g10/import.c:4087
+#: g10/import.c:4099
 #, c-format
 msgid "WARNING: key %s may be revoked: fetching revocation key %s\n"
 msgstr "УВАГА: ключ %s могло бути відкликано: отримуємо ключ відкликання %s\n"
 
-#: g10/import.c:4103
+#: g10/import.c:4115
 #, c-format
 msgid "WARNING: key %s may be revoked: revocation key %s not present.\n"
 msgstr "УВАГА: ключ %s могло бути відкликано: ключа відкликання %s немає.\n"
 
-#: g10/import.c:4169
+#: g10/import.c:4181
 #, c-format
 msgid "key %s: \"%s\" revocation certificate added\n"
 msgstr "ключ %s: додано сертифікат відкликання «%s»\n"
 
-#: g10/import.c:4207
+#: g10/import.c:4219
 #, c-format
 msgid "key %s: direct key signature added\n"
 msgstr "ключ %s: додано безпосередній підпис ключа\n"
@@ -3942,7 +3960,7 @@ msgstr ""
 "Попередження: виявлено помилки, перевірка виконувалася лише для "
 "самопідписування, віддайте команду «%s», щоб перевірити усі підписи.\n"
 
-#: g10/keydb.c:431 g10/keydb.c:458 sm/keydb.c:191 sm/keydb.c:204
+#: g10/keydb.c:431 g10/keydb.c:458 sm/keydb.c:190 sm/keydb.c:203
 #, c-format
 msgid "error creating keybox '%s': %s\n"
 msgstr "помилка під час спроби створення сховища ключів «%s»: %s\n"
@@ -3952,7 +3970,7 @@ msgstr "помилка під час спроби створення схови
 msgid "error creating keyring '%s': %s\n"
 msgstr "помилка під час спроби створення сховища ключів «%s»: %s\n"
 
-#: g10/keydb.c:470 sm/keydb.c:210
+#: g10/keydb.c:470 sm/keydb.c:209
 #, c-format
 msgid "keybox '%s' created\n"
 msgstr "створено сховище ключів «%s»\n"
@@ -4032,13 +4050,13 @@ msgstr "Пропускаємо ідентифікатор користувача
 msgid "User ID \"%s\" is revoked."
 msgstr "Ідентифікатор користувача «%s» відкликано."
 
-#: g10/keyedit.c:569 g10/keyedit.c:597 g10/keyedit.c:624 g10/keyedit.c:808
-#: g10/keyedit.c:1655
+#: g10/keyedit.c:569 g10/keyedit.c:597 g10/keyedit.c:624 g10/keyedit.c:809
+#: g10/keyedit.c:1656
 msgid "Are you sure you still want to sign it? (y/N) "
 msgstr "Ви певні, що все ще бажаєте підписати його? (y/N або т/Н) "
 
-#: g10/keyedit.c:583 g10/keyedit.c:611 g10/keyedit.c:638 g10/keyedit.c:814
-#: g10/keyedit.c:1660 g10/keyedit.c:2667
+#: g10/keyedit.c:583 g10/keyedit.c:611 g10/keyedit.c:638 g10/keyedit.c:815
+#: g10/keyedit.c:1661 g10/keyedit.c:2668
 msgid "  Unable to sign.\n"
 msgstr "  Неможливо підписати.\n"
 
@@ -4113,29 +4131,29 @@ msgstr "«%s» вже було локально підписано ключем
 msgid "\"%s\" was already signed by key %s\n"
 msgstr "«%s» вже було підписано ключем %s\n"
 
-#: g10/keyedit.c:756
+#: g10/keyedit.c:757
 msgid "Do you want to sign it again anyway? (y/N) "
 msgstr "Бажаєте підписати його попри все? (y/N або т/Н) "
 
-#: g10/keyedit.c:778
+#: g10/keyedit.c:779
 #, c-format
 msgid "Nothing to sign with key %s\n"
 msgstr "Нічого підписувати ключем %s\n"
 
-#: g10/keyedit.c:802
+#: g10/keyedit.c:803
 msgid "This key has expired!"
 msgstr "Строк дії цього ключа вичерпано!"
 
-#: g10/keyedit.c:820
+#: g10/keyedit.c:821
 #, c-format
 msgid "This key is due to expire on %s.\n"
 msgstr "Строк дії цього ключа завершиться %s.\n"
 
-#: g10/keyedit.c:826
+#: g10/keyedit.c:827
 msgid "Do you want your signature to expire at the same time? (Y/n) "
 msgstr "Бажаєте, щоб строк дії вашого підпису був таким самим? (Y/n або Т/н) "
 
-#: g10/keyedit.c:867
+#: g10/keyedit.c:868
 msgid ""
 "How carefully have you verified the key you are about to sign actually "
 "belongs\n"
@@ -4146,265 +4164,265 @@ msgstr ""
 "справді належить особі, ім’я якої вказано вище? Якщо ви не знаєте відповіді, "
 "введіть «0».\n"
 
-#: g10/keyedit.c:872
+#: g10/keyedit.c:873
 #, c-format
 msgid "   (0) I will not answer.%s\n"
 msgstr "   (0) Не буду відповідати.%s\n"
 
-#: g10/keyedit.c:874
+#: g10/keyedit.c:875
 #, c-format
 msgid "   (1) I have not checked at all.%s\n"
 msgstr "   (1) Мною не виконувалося ніяких перевірок.%s\n"
 
-#: g10/keyedit.c:876
+#: g10/keyedit.c:877
 #, c-format
 msgid "   (2) I have done casual checking.%s\n"
 msgstr "   (2) Мною виконано часткову перевірку.%s\n"
 
-#: g10/keyedit.c:879
+#: g10/keyedit.c:880
 #, c-format
 msgid "   (3) I have done very careful checking.%s\n"
 msgstr "   (3) Мною виконано ретельну перевірку.%s\n"
 
-#: g10/keyedit.c:886
+#: g10/keyedit.c:887
 msgid "Your selection? (enter '?' for more information): "
 msgstr "Ваш вибір? (введіть «?», щоб дізнатися більше): "
 
-#: g10/keyedit.c:913
+#: g10/keyedit.c:914
 #, c-format
 msgid ""
 "Are you sure that you want to sign this key with your\n"
 "key \"%s\" (%s)\n"
 msgstr "Ви справді бажаєте підписати цей ключ вашим ключем «%s» (%s)\n"
 
-#: g10/keyedit.c:921
+#: g10/keyedit.c:922
 msgid "This will be a self-signature.\n"
 msgstr "Це буде самопідпис.\n"
 
-#: g10/keyedit.c:926
+#: g10/keyedit.c:927
 msgid "WARNING: the signature will not be marked as non-exportable.\n"
 msgstr "УВАГА: підпис не буде позначено як непридатний до експортування.\n"
 
-#: g10/keyedit.c:933
+#: g10/keyedit.c:934
 msgid "WARNING: the signature will not be marked as non-revocable.\n"
 msgstr "УВАГА: підпис не буде позначено як непридатний до відкликання.\n"
 
-#: g10/keyedit.c:943
+#: g10/keyedit.c:944
 msgid "The signature will be marked as non-exportable.\n"
 msgstr "Підпис буде позначено як непридатний до експортування.\n"
 
-#: g10/keyedit.c:950
+#: g10/keyedit.c:951
 msgid "The signature will be marked as non-revocable.\n"
 msgstr "Підпис буде позначено як непридатний до відкликання.\n"
 
-#: g10/keyedit.c:957
+#: g10/keyedit.c:958
 msgid "I have not checked this key at all.\n"
 msgstr "Цей ключ не перевірявся мною.\n"
 
-#: g10/keyedit.c:962
+#: g10/keyedit.c:963
 msgid "I have checked this key casually.\n"
 msgstr "Цей ключ перевірено мною частково.\n"
 
-#: g10/keyedit.c:967
+#: g10/keyedit.c:968
 msgid "I have checked this key very carefully.\n"
 msgstr "Цей ключ ретельно перевірено мною.\n"
 
-#: g10/keyedit.c:979
+#: g10/keyedit.c:980
 msgid "Really sign? (y/N) "
 msgstr "Підписати? (y/N або т/Н) "
 
-#: g10/keyedit.c:1030 g10/keyedit.c:6154 g10/keyedit.c:6237 g10/keyedit.c:6366
-#: g10/keyedit.c:6428 g10/sign.c:466
+#: g10/keyedit.c:1031 g10/keyedit.c:6155 g10/keyedit.c:6238 g10/keyedit.c:6367
+#: g10/keyedit.c:6429 g10/sign.c:466
 #, c-format
 msgid "signing failed: %s\n"
 msgstr "помилка під час спроби підписування: %s\n"
 
-#: g10/keyedit.c:1117
+#: g10/keyedit.c:1118
 msgid "Key has only stub or on-card key items - no passphrase to change.\n"
 msgstr ""
 "До ключа включено лише типовий заповнювач або записи ключа з картки — ніяких "
 "паролів не потрібно змінювати.\n"
 
-#: g10/keyedit.c:1149
+#: g10/keyedit.c:1150
 #, c-format
 msgid "key %s: error changing passphrase: %s\n"
 msgstr "ключ %s: помилка під час спроби зміни пароля: %s\n"
 
-#: g10/keyedit.c:1261
+#: g10/keyedit.c:1262
 msgid "save and quit"
 msgstr "зберегти і вийти"
 
-#: g10/keyedit.c:1264
+#: g10/keyedit.c:1265
 msgid "show key fingerprint"
 msgstr "показати відбиток ключа"
 
-#: g10/keyedit.c:1265
+#: g10/keyedit.c:1266
 msgid "show the keygrip"
 msgstr "показати keygrip"
 
-#: g10/keyedit.c:1266
+#: g10/keyedit.c:1267
 msgid "list key and user IDs"
 msgstr "показати список ключів та ідентифікаторів користувача"
 
-#: g10/keyedit.c:1268
+#: g10/keyedit.c:1269
 msgid "select user ID N"
 msgstr "вибрати вказаний ідентифікатор користувача"
 
-#: g10/keyedit.c:1269
+#: g10/keyedit.c:1270
 msgid "select subkey N"
 msgstr "вибрати вказаний підключ"
 
-#: g10/keyedit.c:1270
+#: g10/keyedit.c:1271
 msgid "check signatures"
 msgstr "перевірити підписи"
 
-#: g10/keyedit.c:1276
+#: g10/keyedit.c:1277
 msgid "sign selected user IDs [* see below for related commands]"
 msgstr ""
 "підписати вибрані ідентифікатори користувачів [* нижче наведено відповідні "
 "команди]"
 
-#: g10/keyedit.c:1281
+#: g10/keyedit.c:1282
 msgid "sign selected user IDs locally"
 msgstr "підписати вибрані ідентифікатори користувача локально"
 
-#: g10/keyedit.c:1282
+#: g10/keyedit.c:1283
 msgid "sign selected user IDs with a trust signature"
 msgstr "підписати вибрані ідентифікатори користувача підписом надійності"
 
-#: g10/keyedit.c:1284
+#: g10/keyedit.c:1285
 msgid "sign selected user IDs with a non-revocable signature"
 msgstr ""
 "підписати вибрані ідентифікатори користувача підписом, який не можна "
 "відкликати"
 
-#: g10/keyedit.c:1286
+#: g10/keyedit.c:1287
 msgid "add a user ID"
 msgstr "додати ідентифікатор користувача"
 
-#: g10/keyedit.c:1288
+#: g10/keyedit.c:1289
 msgid "add a photo ID"
 msgstr "додати фотоідентифікатор"
 
-#: g10/keyedit.c:1289
+#: g10/keyedit.c:1290
 msgid "delete selected user IDs"
 msgstr "вилучити вибрані ідентифікатори користувача"
 
-#: g10/keyedit.c:1292
+#: g10/keyedit.c:1293
 msgid "add a subkey"
 msgstr "додати підключ"
 
-#: g10/keyedit.c:1295
+#: g10/keyedit.c:1296
 msgid "add a key to a smartcard"
 msgstr "додати ключ на картку пам’яті"
 
-#: g10/keyedit.c:1297
+#: g10/keyedit.c:1298
 msgid "move a key to a smartcard"
 msgstr "пересунути ключ на картку пам’яті"
 
-#: g10/keyedit.c:1299
+#: g10/keyedit.c:1300
 msgid "move a backup key to a smartcard"
 msgstr "пересунути резервний ключ на картку пам’яті"
 
-#: g10/keyedit.c:1301
+#: g10/keyedit.c:1302
 msgid "delete selected subkeys"
 msgstr "вилучити вибрані підключі"
 
-#: g10/keyedit.c:1303
+#: g10/keyedit.c:1304
 msgid "add a revocation key"
 msgstr "додати ключ відкликання"
 
-#: g10/keyedit.c:1305
+#: g10/keyedit.c:1306
 msgid "delete signatures from the selected user IDs"
 msgstr "вилучити підписи з вибраних ідентифікаторів користувача"
 
-#: g10/keyedit.c:1307
+#: g10/keyedit.c:1308
 msgid "change the expiration date for the key or selected subkeys"
 msgstr "змінити дату завершення строку дії ключа або вибраних ключів"
 
-#: g10/keyedit.c:1309
+#: g10/keyedit.c:1310
 msgid "flag the selected user ID as primary"
 msgstr "позначити вибраний ідентифікатор користувача як основний"
 
-#: g10/keyedit.c:1312
+#: g10/keyedit.c:1313
 msgid "list preferences (expert)"
 msgstr "список переваг (експертний)"
 
-#: g10/keyedit.c:1313
+#: g10/keyedit.c:1314
 msgid "list preferences (verbose)"
 msgstr "список переваг (докладний)"
 
-#: g10/keyedit.c:1315
+#: g10/keyedit.c:1316
 msgid "set preference list for the selected user IDs"
 msgstr "встановити список параметрів для вибраних ідентифікаторів користувачів"
 
-#: g10/keyedit.c:1318
+#: g10/keyedit.c:1319
 msgid "set the preferred keyserver URL for the selected user IDs"
 msgstr ""
 "встановити адресу основного сервера ключів для вибраних ідентифікаторів "
 "користувачів"
 
-#: g10/keyedit.c:1320
+#: g10/keyedit.c:1321
 msgid "set a notation for the selected user IDs"
 msgstr "встановити примітку для вибраного ідентифікатора користувача"
 
-#: g10/keyedit.c:1322
+#: g10/keyedit.c:1323
 msgid "change the passphrase"
 msgstr "змінити пароль"
 
-#: g10/keyedit.c:1325
+#: g10/keyedit.c:1326
 msgid "change the ownertrust"
 msgstr "змінити рівень довіри до власника"
 
-#: g10/keyedit.c:1328
+#: g10/keyedit.c:1329
 msgid "revoke signatures on the selected user IDs"
 msgstr "відкликати підписи для вибраних ідентифікаторів користувачів"
 
-#: g10/keyedit.c:1330
+#: g10/keyedit.c:1331
 msgid "revoke selected user IDs"
 msgstr "відкликати вибрані ідентифікатори користувачів"
 
-#: g10/keyedit.c:1333
+#: g10/keyedit.c:1334
 msgid "revoke key or selected subkeys"
 msgstr "відкликати ключ або вибрані підключі"
 
-#: g10/keyedit.c:1335
+#: g10/keyedit.c:1336
 msgid "enable key"
 msgstr "увімкнути ключ"
 
-#: g10/keyedit.c:1336
+#: g10/keyedit.c:1337
 msgid "disable key"
 msgstr "вимкнути ключ"
 
-#: g10/keyedit.c:1338
+#: g10/keyedit.c:1339
 msgid "show selected photo IDs"
 msgstr "показати вибрані фотоідентифікатори"
 
-#: g10/keyedit.c:1340
+#: g10/keyedit.c:1341
 msgid "compact unusable user IDs and remove unusable signatures from key"
 msgstr ""
 "ущільнити непридатні до використання ідентифікатори користувачів і вилучити "
 "невикористані підписи з ключа"
 
-#: g10/keyedit.c:1342
+#: g10/keyedit.c:1343
 msgid "compact unusable user IDs and remove all signatures from key"
 msgstr ""
 "ущільнити непридатні до використання ідентифікатори користувачів і вилучити "
 "всі підписи з ключа"
 
-#: g10/keyedit.c:1463
+#: g10/keyedit.c:1464
 msgid "Secret key is available.\n"
 msgstr "Доступний закритий ключ.\n"
 
-#: g10/keyedit.c:1465
+#: g10/keyedit.c:1466
 msgid "Secret subkeys are available.\n"
 msgstr "Доступні закриті підключі.\n"
 
-#: g10/keyedit.c:1567
+#: g10/keyedit.c:1568
 msgid "Need the secret key to do this.\n"
 msgstr "Для цього потрібен закритий ключ.\n"
 
-#: g10/keyedit.c:1590
+#: g10/keyedit.c:1591
 msgid ""
 "* The 'sign' command may be prefixed with an 'l' for local signatures "
 "(lsign),\n"
@@ -4415,296 +4433,296 @@ msgstr ""
 "  «t» для надійних підписів (tsign), «nr» для підписів без відкликання\n"
 "  (nrsign) або будь-яку комбінацію (ltsign, tnrsign тощо).\n"
 
-#: g10/keyedit.c:1648 g10/keyedit.c:2667 g10/keyedit.c:3040 g10/keyedit.c:3108
+#: g10/keyedit.c:1649 g10/keyedit.c:2668 g10/keyedit.c:3041 g10/keyedit.c:3109
 msgid "Key is revoked."
 msgstr "Ключ відкликано."
 
-#: g10/keyedit.c:1671
+#: g10/keyedit.c:1672
 msgid "Really sign all text user IDs? (y/N) "
 msgstr "Підписати всі текстові ідентифікатори користувача? (y/N або т/Н) "
 
-#: g10/keyedit.c:1675
+#: g10/keyedit.c:1676
 msgid "Really sign all user IDs? (y/N) "
 msgstr "Підписати всі ідентифікатори користувача? (y/N або т/Н) "
 
-#: g10/keyedit.c:1683
+#: g10/keyedit.c:1684
 msgid "Hint: Select the user IDs to sign\n"
 msgstr "Підказка: виберіть ідентифікатори користувача для підписування\n"
 
-#: g10/keyedit.c:1694
+#: g10/keyedit.c:1695
 #, c-format
 msgid "Unknown signature type '%s'\n"
 msgstr "Невідомий тип підпису «%s»\n"
 
-#: g10/keyedit.c:1718
+#: g10/keyedit.c:1719
 #, c-format
 msgid "This command is not allowed while in %s mode.\n"
 msgstr "Цією командою не можна користуватися у режимі %s.\n"
 
-#: g10/keyedit.c:1740 g10/keyedit.c:1764 g10/keyedit.c:1961
+#: g10/keyedit.c:1741 g10/keyedit.c:1765 g10/keyedit.c:1962
 msgid "You must select at least one user ID.\n"
 msgstr "Вам слід вибрати принаймні один ідентифікатор користувача.\n"
 
-#: g10/keyedit.c:1742 g10/keyedit.c:1766 g10/keyedit.c:1923 g10/keyedit.c:1963
+#: g10/keyedit.c:1743 g10/keyedit.c:1767 g10/keyedit.c:1924 g10/keyedit.c:1964
 #, c-format
 msgid "(Use the '%s' command.)\n"
 msgstr "(Скористайтеся командою «%s».)\n"
 
-#: g10/keyedit.c:1745
+#: g10/keyedit.c:1746
 msgid "You can't delete the last user ID!\n"
 msgstr "Не можна вилучати останній ідентифікатор користувача!\n"
 
-#: g10/keyedit.c:1748
+#: g10/keyedit.c:1749
 msgid "Really remove all selected user IDs? (y/N) "
 msgstr "Вилучити всі вибрані ідентифікатори користувачів? (y/N або т/Н) "
 
-#: g10/keyedit.c:1749
+#: g10/keyedit.c:1750
 msgid "Really remove this user ID? (y/N) "
 msgstr "Вилучити цей ідентифікатор користувача? (y/N або т/Н) "
 
 #. TRANSLATORS: Please take care: This is about
 #. moving the key and not about removing it.
-#: g10/keyedit.c:1806
+#: g10/keyedit.c:1807
 msgid "Really move the primary key? (y/N) "
 msgstr "Вилучити основний ключ? (y/N або т/Н) "
 
-#: g10/keyedit.c:1818 g10/keyedit.c:4803
+#: g10/keyedit.c:1819 g10/keyedit.c:4804
 msgid "You must select exactly one key.\n"
 msgstr "Вам слід вибрати лише один ключ.\n"
 
-#: g10/keyedit.c:1846
+#: g10/keyedit.c:1847
 msgid "Command expects a filename argument\n"
 msgstr "Для команди слід вказати аргумент з назвою файла\n"
 
-#: g10/keyedit.c:1867
+#: g10/keyedit.c:1868
 #, c-format
 msgid "Can't open '%s': %s\n"
 msgstr "Не вдалося відкрити «%s»: %s\n"
 
-#: g10/keyedit.c:1886
+#: g10/keyedit.c:1887
 #, c-format
 msgid "Error reading backup key from '%s': %s\n"
 msgstr "Помилка читання резервного ключа з «%s»: %s\n"
 
-#: g10/keyedit.c:1921
+#: g10/keyedit.c:1922
 msgid "You must select at least one key.\n"
 msgstr "Вам слід вибрати принаймні один ключ.\n"
 
-#: g10/keyedit.c:1927
+#: g10/keyedit.c:1928
 msgid "Do you really want to delete the selected keys? (y/N) "
 msgstr "Справді бажаєте вилучити вибрані ключі? (y/N або т/Н) "
 
-#: g10/keyedit.c:1929
+#: g10/keyedit.c:1930
 msgid "Do you really want to delete this key? (y/N) "
 msgstr "Справді бажаєте вилучити цей ключ? (y/N або т/Н) "
 
-#: g10/keyedit.c:1967
+#: g10/keyedit.c:1968
 msgid "Really revoke all selected user IDs? (y/N) "
 msgstr "Відкликати всі вибрані ідентифікатори користувачів? (y/N або т/Н) "
 
-#: g10/keyedit.c:1968
+#: g10/keyedit.c:1969
 msgid "Really revoke this user ID? (y/N) "
 msgstr "Відкликати цей ідентифікатор користувача? (y/N або т/Н) "
 
-#: g10/keyedit.c:1986
+#: g10/keyedit.c:1987
 msgid "Do you really want to revoke the entire key? (y/N) "
 msgstr "Ви справді бажаєте відкликати весь ключ? (y/N або т/Н) "
 
-#: g10/keyedit.c:1997
+#: g10/keyedit.c:1998
 msgid "Do you really want to revoke the selected subkeys? (y/N) "
 msgstr "Ви справді бажаєте відкликати позначені підключі? (y/N або т/Н) "
 
-#: g10/keyedit.c:1999
+#: g10/keyedit.c:2000
 msgid "Do you really want to revoke this subkey? (y/N) "
 msgstr "Ви справді бажаєте відкликати цей підключ? (y/N або т/Н) "
 
-#: g10/keyedit.c:2057
+#: g10/keyedit.c:2058
 msgid "Owner trust may not be set while using a user provided trust database\n"
 msgstr ""
 "Не можна встановлювати довіру до власника, якщо використовується вказана "
 "користувачем база даних довіри\n"
 
-#: g10/keyedit.c:2102
+#: g10/keyedit.c:2103
 msgid "Set preference list to:\n"
 msgstr "Встановити список переваг:\n"
 
-#: g10/keyedit.c:2109
+#: g10/keyedit.c:2110
 msgid "Really update the preferences for the selected user IDs? (y/N) "
 msgstr ""
 "Оновити переваги для вибраних ідентифікаторів користувачів? (y/N або т/Н) "
 
-#: g10/keyedit.c:2111
+#: g10/keyedit.c:2112
 msgid "Really update the preferences? (y/N) "
 msgstr "Оновити параметри? (y/N або т/Н) "
 
-#: g10/keyedit.c:2185
+#: g10/keyedit.c:2186
 msgid "Save changes? (y/N) "
 msgstr "Зберегти зміни? (y/N або т/Н) "
 
-#: g10/keyedit.c:2189
+#: g10/keyedit.c:2190
 msgid "Quit without saving? (y/N) "
 msgstr "Вийти без збереження? (y/N або т/Н) "
 
-#: g10/keyedit.c:2216 g10/keyedit.c:2762 g10/keyedit.c:3061 g10/keyedit.c:3214
+#: g10/keyedit.c:2217 g10/keyedit.c:2763 g10/keyedit.c:3062 g10/keyedit.c:3215
 #, c-format
 msgid "Key not changed so no update needed.\n"
 msgstr "Ключ не змінено, отже оновлення непотрібне.\n"
 
-#: g10/keyedit.c:2448
+#: g10/keyedit.c:2449
 #, fuzzy, c-format
 #| msgid "You can't delete the last user ID!\n"
 msgid "cannot revoke the last valid user ID.\n"
 msgstr "Не можна вилучати останній ідентифікатор користувача!\n"
 
-#: g10/keyedit.c:2475
+#: g10/keyedit.c:2476
 #, fuzzy, c-format
 #| msgid "checking the trust list failed: %s\n"
 msgid "revoking the user ID failed: %s\n"
 msgstr "помилка перевірки списку довіри: %s\n"
 
-#: g10/keyedit.c:2541
+#: g10/keyedit.c:2542
 #, fuzzy, c-format
 #| msgid "checking the trust list failed: %s\n"
 msgid "setting the primary user ID failed: %s\n"
 msgstr "помилка перевірки списку довіри: %s\n"
 
-#: g10/keyedit.c:2572
+#: g10/keyedit.c:2573
 #, c-format
 msgid "\"%s\" is not a fingerprint\n"
 msgstr "«%s» не є відбитком\n"
 
-#: g10/keyedit.c:2602
+#: g10/keyedit.c:2603
 #, c-format
 msgid "\"%s\" is not the primary fingerprint\n"
 msgstr "«%s» не є основним відбитком\n"
 
-#: g10/keyedit.c:2738 g10/keyedit.c:2741
+#: g10/keyedit.c:2739 g10/keyedit.c:2742
 #, c-format
 msgid "Invalid user ID '%s': %s\n"
 msgstr "Некоректний ідентифікатор користувача «%s»: %s\n"
 
-#: g10/keyedit.c:2744
+#: g10/keyedit.c:2745
 msgid "No matching user IDs."
 msgstr "Немає відповідних ідентифікаторів користувачів."
 
-#: g10/keyedit.c:2744
+#: g10/keyedit.c:2745
 msgid "Nothing to sign.\n"
 msgstr "Нічого підписувати.\n"
 
-#: g10/keyedit.c:2937 g10/keyedit.c:6019
+#: g10/keyedit.c:2938 g10/keyedit.c:6020
 #, c-format
 msgid "Not signed by you.\n"
 msgstr "Не підписано вами.\n"
 
-#: g10/keyedit.c:2995
+#: g10/keyedit.c:2996
 #, fuzzy, c-format
 #| msgid "checking created signature failed: %s\n"
 msgid "revoking the key signature failed: %s\n"
 msgstr "невдала спроба перевірити створений підпис: %s\n"
 
-#: g10/keyedit.c:3116
+#: g10/keyedit.c:3117
 #, c-format
 msgid "'%s' is not a valid expiration time\n"
 msgstr "«%s» не є коректним записом завершення строку дії\n"
 
-#: g10/keyedit.c:3159
+#: g10/keyedit.c:3160
 #, c-format
 msgid "\"%s\" is not a proper fingerprint\n"
 msgstr "«%s» не є належним відбитком\n"
 
-#: g10/keyedit.c:3183
+#: g10/keyedit.c:3184
 #, c-format
 msgid "subkey \"%s\" not found\n"
 msgstr "не знайдено підключ «%s»\n"
 
-#: g10/keyedit.c:3306
+#: g10/keyedit.c:3307
 msgid "AEAD: "
 msgstr ""
 
-#: g10/keyedit.c:3323
+#: g10/keyedit.c:3324
 msgid "Digest: "
 msgstr "Контрольна сума: "
 
-#: g10/keyedit.c:3380
+#: g10/keyedit.c:3381
 msgid "Features: "
 msgstr "Можливості: "
 
-#: g10/keyedit.c:3397
+#: g10/keyedit.c:3398
 msgid "Keyserver no-modify"
 msgstr "Сервер ключів без можливості зміни"
 
-#: g10/keyedit.c:3412 g10/keylist.c:376
+#: g10/keyedit.c:3413 g10/keylist.c:376
 msgid "Preferred keyserver: "
 msgstr "Основний сервер ключів: "
 
-#: g10/keyedit.c:3420 g10/keyedit.c:3421
+#: g10/keyedit.c:3421 g10/keyedit.c:3422
 msgid "Notations: "
 msgstr "Примітки: "
 
-#: g10/keyedit.c:3669
+#: g10/keyedit.c:3670
 msgid "There are no preferences on a PGP 2.x-style user ID.\n"
 msgstr ""
 "Переваг для ідентифікаторів користувачів у форматі PGP 2.x не передбачено.\n"
 
-#: g10/keyedit.c:3741
+#: g10/keyedit.c:3742
 #, c-format
 msgid "The following key was revoked on %s by %s key %s\n"
 msgstr "Вказаний нижче ключ було відкликано %s %s ключем %s\n"
 
-#: g10/keyedit.c:3765
+#: g10/keyedit.c:3766
 #, c-format
 msgid "This key may be revoked by %s key %s"
 msgstr "Цей ключ може бути відкликано %s ключем %s"
 
-#: g10/keyedit.c:3771
+#: g10/keyedit.c:3772
 msgid "(sensitive)"
 msgstr "(важливий)"
 
-#: g10/keyedit.c:3813 g10/keyedit.c:3960 g10/keylist.c:264 g10/keyserver.c:538
+#: g10/keyedit.c:3814 g10/keyedit.c:3961 g10/keylist.c:264 g10/keyserver.c:361
 #, c-format
 msgid "created: %s"
 msgstr "створено: %s"
 
-#: g10/keyedit.c:3816 g10/keylist.c:2149
+#: g10/keyedit.c:3817 g10/keylist.c:2149
 #, c-format
 msgid "revoked: %s"
 msgstr "відкликано: %s"
 
-#: g10/keyedit.c:3818 g10/keylist.c:2155
+#: g10/keyedit.c:3819 g10/keylist.c:2155
 #, c-format
 msgid "expired: %s"
 msgstr "не діє з: %s"
 
-#: g10/keyedit.c:3820 g10/keyedit.c:3962 g10/keylist.c:266 g10/keylist.c:2161
-#: g10/keyserver.c:544
+#: g10/keyedit.c:3821 g10/keyedit.c:3963 g10/keylist.c:266 g10/keylist.c:2161
+#: g10/keyserver.c:367
 #, c-format
 msgid "expires: %s"
 msgstr "діє до: %s"
 
-#: g10/keyedit.c:3822
+#: g10/keyedit.c:3823
 #, c-format
 msgid "usage: %s"
 msgstr "використання: %s"
 
-#: g10/keyedit.c:3830 g10/keyedit.c:3850 g10/keylist.c:269
+#: g10/keyedit.c:3831 g10/keyedit.c:3851 g10/keylist.c:269
 msgid "card-no: "
 msgstr "номер картки: "
 
-#: g10/keyedit.c:3889
+#: g10/keyedit.c:3890
 #, c-format
 msgid "trust: %s"
 msgstr "надійність: %s"
 
-#: g10/keyedit.c:3893
+#: g10/keyedit.c:3894
 #, c-format
 msgid "validity: %s"
 msgstr "чинність: %s"
 
-#: g10/keyedit.c:3900
+#: g10/keyedit.c:3901
 msgid "This key has been disabled"
 msgstr "Цей ключ було вимкнено"
 
-#: g10/keyedit.c:3918
+#: g10/keyedit.c:3919
 msgid ""
 "Please note that the shown key validity is not necessarily correct\n"
 "unless you restart the program.\n"
@@ -4712,17 +4730,17 @@ msgstr ""
 "Зауважте, що показані дані щодо чинності ключів не обов’язково є коректними\n"
 "до перезапуску програми.\n"
 
-#: g10/keyedit.c:3979 g10/keyedit.c:4410 g10/keyserver.c:548
-#: g10/mainproc.c:2371 g10/tofu.c:1787 g10/trust.c:437 dirmngr/ocsp.c:791
+#: g10/keyedit.c:3980 g10/keyedit.c:4411 g10/keyserver.c:371
+#: g10/mainproc.c:2380 g10/tofu.c:1787 g10/trust.c:437 dirmngr/ocsp.c:791
 msgid "revoked"
 msgstr "відкликано"
 
-#: g10/keyedit.c:3981 g10/keyedit.c:4412 g10/keyserver.c:552
-#: g10/mainproc.c:2373 g10/tofu.c:1792 g10/trust.c:124
+#: g10/keyedit.c:3982 g10/keyedit.c:4413 g10/keyserver.c:375
+#: g10/mainproc.c:2382 g10/tofu.c:1792 g10/trust.c:124
 msgid "expired"
 msgstr "збіг строк дії"
 
-#: g10/keyedit.c:4098
+#: g10/keyedit.c:4099
 #, c-format
 msgid ""
 "WARNING: no user ID has been marked as primary.  This command may\n"
@@ -4733,17 +4751,17 @@ msgstr ""
 "              цієї команди можна зробити основним інший ідентифікатор "
 "користувача.\n"
 
-#: g10/keyedit.c:4150
+#: g10/keyedit.c:4151
 #, c-format
 msgid "WARNING: Your encryption subkey expires soon.\n"
 msgstr "УВАГА: строк дії вашого підключа імпортування невдовзі завершиться.\n"
 
-#: g10/keyedit.c:4151
+#: g10/keyedit.c:4152
 #, c-format
 msgid "You may want to change its expiration date too.\n"
 msgstr "Ймовірно, вам варто змінити також і його строк дії.\n"
 
-#: g10/keyedit.c:4210
+#: g10/keyedit.c:4211
 msgid ""
 "WARNING: This is a PGP2-style key.  Adding a photo ID may cause some "
 "versions\n"
@@ -4753,35 +4771,35 @@ msgstr ""
 "до відмови\n"
 "         у використанні цього ключа деякими версіями PGP.\n"
 
-#: g10/keyedit.c:4215 g10/keyedit.c:4505
+#: g10/keyedit.c:4216 g10/keyedit.c:4506
 msgid "Are you sure you still want to add it? (y/N) "
 msgstr "Ви справді бажаєте додати його? (y/N або т/Н) "
 
-#: g10/keyedit.c:4221
+#: g10/keyedit.c:4222
 msgid "You may not add a photo ID to a PGP2-style key.\n"
 msgstr "Не можна додавати фотоідентифікатор до ключа у форматі PGP2.\n"
 
-#: g10/keyedit.c:4236 g10/keygen.c:2899
+#: g10/keyedit.c:4237 g10/keygen.c:2899
 msgid "Such a user ID already exists on this key!\n"
 msgstr "У цьому ключі вже існує такий ідентифікатор користувача!\n"
 
-#: g10/keyedit.c:4338
+#: g10/keyedit.c:4339
 msgid "Delete this good signature? (y/N/q)"
 msgstr "Вилучити цей дійсний підпис? (y/N/q або т/Н/в)"
 
-#: g10/keyedit.c:4348
+#: g10/keyedit.c:4349
 msgid "Delete this invalid signature? (y/N/q)"
 msgstr "Вилучити цей некоректний підпис? (y/N/q або т/Н/в)"
 
-#: g10/keyedit.c:4352
+#: g10/keyedit.c:4353
 msgid "Delete this unknown signature? (y/N/q)"
 msgstr "Вилучити цей невідомий підпис? (y/N/q або т/Н/в)"
 
-#: g10/keyedit.c:4359
+#: g10/keyedit.c:4360
 msgid "Really delete this self-signature? (y/N)"
 msgstr "Вилучити цей самопідпис? (y/N або т/Н)"
 
-#: g10/keyedit.c:4375
+#: g10/keyedit.c:4376
 #, c-format
 msgid "Deleted %d signature.\n"
 msgid_plural "Deleted %d signatures.\n"
@@ -4789,20 +4807,20 @@ msgstr[0] "Вилучено %d підпис.\n"
 msgstr[1] "Вилучено %d підписи.\n"
 msgstr[2] "Вилучено %d підписів.\n"
 
-#: g10/keyedit.c:4379
+#: g10/keyedit.c:4380
 msgid "Nothing deleted.\n"
 msgstr "Нічого не вилучено.\n"
 
-#: g10/keyedit.c:4414
+#: g10/keyedit.c:4415
 msgid "invalid"
 msgstr "некоректний"
 
-#: g10/keyedit.c:4416
+#: g10/keyedit.c:4417
 #, c-format
 msgid "User ID \"%s\" compacted: %s\n"
 msgstr "Ідентифікатор користувача «%s» ущільнено: %s\n"
 
-#: g10/keyedit.c:4422
+#: g10/keyedit.c:4423
 #, c-format
 msgid "User ID \"%s\": %d signature removed\n"
 msgid_plural "User ID \"%s\": %d signatures removed\n"
@@ -4810,17 +4828,17 @@ msgstr[0] "Ідентифікатор користувача «%s»: вилуч
 msgstr[1] "Ідентифікатор користувача «%s»: вилучено %d підписів\n"
 msgstr[2] "Ідентифікатор користувача «%s»: вилучено %d підписів\n"
 
-#: g10/keyedit.c:4430
+#: g10/keyedit.c:4431
 #, c-format
 msgid "User ID \"%s\": already minimized\n"
 msgstr "Ідентифікатор користувача «%s»: вже мінімізовано\n"
 
-#: g10/keyedit.c:4431
+#: g10/keyedit.c:4432
 #, c-format
 msgid "User ID \"%s\": already clean\n"
 msgstr "Ідентифікатор користувача «%s»: вже очищено\n"
 
-#: g10/keyedit.c:4500
+#: g10/keyedit.c:4501
 msgid ""
 "WARNING: This is a PGP 2.x-style key.  Adding a designated revoker may "
 "cause\n"
@@ -4830,42 +4848,42 @@ msgstr ""
 "призвести до відмови\n"
 "         у використанні цього ключа деякими версіями PGP.\n"
 
-#: g10/keyedit.c:4511
+#: g10/keyedit.c:4512
 msgid "You may not add a designated revoker to a PGP 2.x-style key.\n"
 msgstr "Не можна додавати підписане відкликання до ключа у форматі PGP 2.x.\n"
 
-#: g10/keyedit.c:4528
+#: g10/keyedit.c:4529
 msgid "Enter the user ID of the designated revoker: "
 msgstr "Вкажіть ідентифікатор користувача підписаного відкликання: "
 
-#: g10/keyedit.c:4554
+#: g10/keyedit.c:4555
 #, c-format
 msgid "cannot appoint a PGP 2.x style key as a designated revoker\n"
 msgstr "не можна призначати ключ у форматі PGP 2.x підписаним відкликанням\n"
 
-#: g10/keyedit.c:4569
+#: g10/keyedit.c:4570
 #, c-format
 msgid "you cannot appoint a key as its own designated revoker\n"
 msgstr "не можна призначати ключ власним підписаним відкликанням\n"
 
-#: g10/keyedit.c:4591
+#: g10/keyedit.c:4592
 #, c-format
 msgid "this key has already been designated as a revoker\n"
 msgstr "цей ключ вже було позначено як призначений для відкликання\n"
 
-#: g10/keyedit.c:4609
+#: g10/keyedit.c:4610
 msgid "WARNING: appointing a key as a designated revoker cannot be undone!\n"
 msgstr ""
 "УВАГА: призначення ключа як підписаного відкликання не можна скасовувати!\n"
 
-#: g10/keyedit.c:4615
+#: g10/keyedit.c:4616
 msgid ""
 "Are you sure you want to appoint this key as a designated revoker? (y/N) "
 msgstr ""
 "Ви справді бажаєте призначити цей ключ як підписане відкликання? (y/N або т/"
 "Н) "
 
-#: g10/keyedit.c:4683
+#: g10/keyedit.c:4684
 msgid ""
 "Are you sure you want to change the expiration time for multiple subkeys? (y/"
 "N) "
@@ -4873,176 +4891,176 @@ msgstr ""
 "Ви справді хочете змінити час вичерпання строку дії для декількох підключів? "
 "(y/N або т/Н) "
 
-#: g10/keyedit.c:4688
+#: g10/keyedit.c:4689
 msgid "Changing expiration time for a subkey.\n"
 msgstr "Зміна часу завершення строку дії для підключа.\n"
 
-#: g10/keyedit.c:4691
+#: g10/keyedit.c:4692
 msgid "Changing expiration time for the primary key.\n"
 msgstr "Зміна часу завершення строку дії для основного ключа.\n"
 
-#: g10/keyedit.c:4747
+#: g10/keyedit.c:4748
 #, c-format
 msgid "You can't change the expiration date of a v3 key\n"
 msgstr "Не можна змінювати дату завершення строку дії ключа v3\n"
 
-#: g10/keyedit.c:4807
+#: g10/keyedit.c:4808
 msgid "Changing usage of a subkey.\n"
 msgstr "Змінюємо використання підключа.\n"
 
-#: g10/keyedit.c:4810
+#: g10/keyedit.c:4811
 msgid "Changing usage of the primary key.\n"
 msgstr "Змінюємо використання основного підключа.\n"
 
-#: g10/keyedit.c:4928
+#: g10/keyedit.c:4929
 #, c-format
 msgid "signing subkey %s is already cross-certified\n"
 msgstr "підписування підключа %s вже перехресно сертифіковано\n"
 
-#: g10/keyedit.c:4934
+#: g10/keyedit.c:4935
 #, c-format
 msgid "subkey %s does not sign and so does not need to be cross-certified\n"
 msgstr ""
 "підключ %s не призначено для підписування, отже його не потрібно перехресно "
 "сертифікувати\n"
 
-#: g10/keyedit.c:5051
+#: g10/keyedit.c:5052
 msgid "Please select exactly one user ID.\n"
 msgstr "Будь ласка, виберіть лише один ідентифікатор користувача.\n"
 
-#: g10/keyedit.c:5092 g10/keyedit.c:5206 g10/keyedit.c:5319 g10/keyedit.c:5457
+#: g10/keyedit.c:5093 g10/keyedit.c:5207 g10/keyedit.c:5320 g10/keyedit.c:5458
 #, c-format
 msgid "skipping v3 self-signature on user ID \"%s\"\n"
 msgstr "пропускаємо самопідпис v3 для ідентифікатора користувача «%s»\n"
 
-#: g10/keyedit.c:5263
+#: g10/keyedit.c:5264
 msgid "Enter your preferred keyserver URL: "
 msgstr "Вкажіть адресу вашого основного сервера ключів: "
 
-#: g10/keyedit.c:5342
+#: g10/keyedit.c:5343
 msgid "Are you sure you want to replace it? (y/N) "
 msgstr "Ви справді бажаєте замінити його? (y/N або т/Н) "
 
-#: g10/keyedit.c:5343
+#: g10/keyedit.c:5344
 msgid "Are you sure you want to delete it? (y/N) "
 msgstr "Ви справді бажаєте вилучити його? (y/N або т/Н) "
 
-#: g10/keyedit.c:5403
+#: g10/keyedit.c:5404
 msgid "Enter the notation: "
 msgstr "Вкажіть примітку: "
 
-#: g10/keyedit.c:5550
+#: g10/keyedit.c:5551
 msgid "Proceed? (y/N) "
 msgstr "Продовжувати? (y/N або т/Н) "
 
-#: g10/keyedit.c:5620
+#: g10/keyedit.c:5621
 #, c-format
 msgid "No user ID with index %d\n"
 msgstr "Ідентифікатора користувача з індексом %d не існує\n"
 
-#: g10/keyedit.c:5682
+#: g10/keyedit.c:5683
 #, c-format
 msgid "No user ID with hash %s\n"
 msgstr "Ідентифікатора користувача з хешем %s не існує\n"
 
-#: g10/keyedit.c:5783
+#: g10/keyedit.c:5784
 #, c-format
 msgid "No subkey with key ID '%s'.\n"
 msgstr "Піключа із ідентифікатором ключа «%s» не існує.\n"
 
-#: g10/keyedit.c:5805
+#: g10/keyedit.c:5806
 #, c-format
 msgid "No subkey with index %d\n"
 msgstr "Підключа з індексом %d не існує\n"
 
-#: g10/keyedit.c:5946
+#: g10/keyedit.c:5947
 #, c-format
 msgid "user ID: \"%s\"\n"
 msgstr "Ідентифікатор користувача: «%s»\n"
 
-#: g10/keyedit.c:5949 g10/keyedit.c:6051 g10/keyedit.c:6099
+#: g10/keyedit.c:5950 g10/keyedit.c:6052 g10/keyedit.c:6100
 #, c-format
 msgid "signed by your key %s on %s%s%s\n"
 msgstr "підписано вашим ключем %s %s%s%s\n"
 
-#: g10/keyedit.c:5951 g10/keyedit.c:6053 g10/keyedit.c:6101
+#: g10/keyedit.c:5952 g10/keyedit.c:6054 g10/keyedit.c:6102
 msgid " (non-exportable)"
 msgstr " (неекспортовний)"
 
-#: g10/keyedit.c:5955
+#: g10/keyedit.c:5956
 #, c-format
 msgid "This signature expired on %s.\n"
 msgstr "Строк дії цього підпису завершується %s.\n"
 
-#: g10/keyedit.c:5960
+#: g10/keyedit.c:5961
 msgid "Are you sure you still want to revoke it? (y/N) "
 msgstr "Ви справді бажаєте відкликати його? (y/N або т/Н) "
 
-#: g10/keyedit.c:5965
+#: g10/keyedit.c:5966
 msgid "Create a revocation certificate for this signature? (y/N) "
 msgstr "Створити сертифікат відкликання для цього підпису? (y/N або т/Н) "
 
-#: g10/keyedit.c:6025
+#: g10/keyedit.c:6026
 #, c-format
 msgid "You have signed these user IDs on key %s:\n"
 msgstr "Вами підписано ці ідентифікатори користувачів у ключі %s:\n"
 
-#: g10/keyedit.c:6054
+#: g10/keyedit.c:6055
 msgid " (non-revocable)"
 msgstr " (невідкликуваний)"
 
-#: g10/keyedit.c:6061
+#: g10/keyedit.c:6062
 #, c-format
 msgid "revoked by your key %s on %s\n"
 msgstr "відкликано вашим ключем %s у %s\n"
 
-#: g10/keyedit.c:6086
+#: g10/keyedit.c:6087
 msgid "You are about to revoke these signatures:\n"
 msgstr "Ви маєте намір відкликати ці підписи:\n"
 
-#: g10/keyedit.c:6109
+#: g10/keyedit.c:6110
 msgid "Really create the revocation certificates? (y/N) "
 msgstr "Справді створити сертифікати відкликання? (y/N або т/Н) "
 
-#: g10/keyedit.c:6142
+#: g10/keyedit.c:6143
 #, c-format
 msgid "no secret key\n"
 msgstr "немає закритого ключа\n"
 
-#: g10/keyedit.c:6190
+#: g10/keyedit.c:6191
 #, c-format
 msgid "tried to revoke a non-user ID: %s\n"
 msgstr "спроба відкликати ідентифікатор, який не належить користувачеві: %s\n"
 
-#: g10/keyedit.c:6200
+#: g10/keyedit.c:6201
 #, c-format
 msgid "user ID \"%s\" is already revoked\n"
 msgstr "ідентифікатор користувача «%s» вже відкликано\n"
 
-#: g10/keyedit.c:6217
+#: g10/keyedit.c:6218
 #, c-format
 msgid "WARNING: a user ID signature is dated %d seconds in the future\n"
 msgstr ""
 "УВАГА: підпис ідентифікатора користувача позначено датою на %d секунд у "
 "майбутньому\n"
 
-#: g10/keyedit.c:6313
+#: g10/keyedit.c:6314
 #, fuzzy, c-format
 #| msgid "You can't delete the last user ID!\n"
 msgid "Cannot revoke the last valid user ID.\n"
 msgstr "Не можна вилучати останній ідентифікатор користувача!\n"
 
-#: g10/keyedit.c:6351
+#: g10/keyedit.c:6352
 #, c-format
 msgid "Key %s is already revoked.\n"
 msgstr "Ключ %s вже відкликано.\n"
 
-#: g10/keyedit.c:6413
+#: g10/keyedit.c:6414
 #, c-format
 msgid "Subkey %s is already revoked.\n"
 msgstr "Підключ %s вже відкликано.\n"
 
-#: g10/keyedit.c:6510
+#: g10/keyedit.c:6511
 #, c-format
 msgid "Displaying %s photo ID of size %ld for key %s (uid %d)\n"
 msgstr "Показ фотоідентифікатора %s розміру %ld для ключа %s (uid %d)\n"
@@ -5769,25 +5787,25 @@ msgid "honor the PKA record set on a key when retrieving keys"
 msgstr ""
 "брати до уваги запис PKA, встановлений у ключі під час отримання ключів"
 
-#: g10/keyserver.c:550
+#: g10/keyserver.c:373
 msgid "disabled"
 msgstr "вимкнено"
 
-#: g10/keyserver.c:754
+#: g10/keyserver.c:577
 msgid "Enter number(s), N)ext, or Q)uit > "
 msgstr "Вкажіть номер, далі (N) чи вийти (Q) > "
 
-#: g10/keyserver.c:860
+#: g10/keyserver.c:683
 #, c-format
 msgid "invalid keyserver protocol (us %d!=handler %d)\n"
 msgstr "некоректний протокол сервера ключів (наш %d!=%d обробника)\n"
 
-#: g10/keyserver.c:1001 g10/keyserver.c:1116
+#: g10/keyserver.c:824 g10/keyserver.c:939
 #, c-format
 msgid "\"%s\" not a key ID: skipping\n"
 msgstr "«%s» не є ідентифікатором ключа: пропускаємо\n"
 
-#: g10/keyserver.c:1438 g10/keyserver.c:1471
+#: g10/keyserver.c:1237 g10/keyserver.c:1270
 #, c-format
 msgid "refreshing %d key from %s\n"
 msgid_plural "refreshing %d keys from %s\n"
@@ -5795,52 +5813,47 @@ msgstr[0] "оновлюємо %d ключ з %s\n"
 msgstr[1] "оновлюємо %d ключі з %s\n"
 msgstr[2] "оновлюємо %d ключів з %s\n"
 
-#: g10/keyserver.c:1445
+#: g10/keyserver.c:1244
 #, c-format
 msgid "WARNING: unable to refresh key %s via %s: %s\n"
 msgstr "УВАГА: не вдалося оновити ключ %s за допомогою %s: %s\n"
 
-#: g10/keyserver.c:1549
+#: g10/keyserver.c:1336
 #, c-format
 msgid "key \"%s\" not found on keyserver\n"
 msgstr "ключ «%s» не знайдено на сервері ключів\n"
 
-#: g10/keyserver.c:1552
+#: g10/keyserver.c:1339
 #, c-format
 msgid "key not found on keyserver\n"
 msgstr "ключ не знайдено на сервері ключів\n"
 
-#: g10/keyserver.c:1743
-#, c-format
-msgid "requesting key %s from %s server %s\n"
-msgstr "надсилаємо запит щодо ключа %s до %s сервера %s\n"
-
-#: g10/keyserver.c:1747
+#: g10/keyserver.c:1504
 #, c-format
 msgid "requesting key %s from %s\n"
 msgstr "надсилаємо запит щодо ключа %s з %s\n"
 
-#: g10/keyserver.c:1852 g10/keyserver.c:2031
+#: g10/keyserver.c:1619 g10/keyserver.c:1798
 #, c-format
 msgid "no keyserver known\n"
 msgstr "немає відомих серверів ключів\n"
 
-#: g10/keyserver.c:1867 g10/skclist.c:214 g10/skclist.c:242
+#: g10/keyserver.c:1634 g10/skclist.c:215 g10/skclist.c:243
 #, c-format
 msgid "skipped \"%s\": %s\n"
 msgstr "пропущено «%s»: %s\n"
 
-#: g10/keyserver.c:1871
+#: g10/keyserver.c:1638
 #, c-format
 msgid "sending key %s to %s\n"
 msgstr "надсилаємо ключ %s на %s\n"
 
-#: g10/keyserver.c:1912
+#: g10/keyserver.c:1679
 #, c-format
 msgid "requesting key from '%s'\n"
 msgstr "надсилаємо запит щодо ключа з «%s»\n"
 
-#: g10/keyserver.c:1928
+#: g10/keyserver.c:1695
 #, c-format
 msgid "WARNING: unable to fetch URI %s: %s\n"
 msgstr "УВАГА: не вдалося отримати адресу %s: %s\n"
@@ -5855,257 +5868,257 @@ msgstr "дивний розмір для зашифрованого ключа 
 msgid "%s encrypted session key\n"
 msgstr "зашифрований %s ключ сеансу\n"
 
-#: g10/mainproc.c:400
+#: g10/mainproc.c:403
 #, c-format
 msgid "passphrase generated with unknown digest algorithm %d\n"
 msgstr ""
 "пароль створено за допомогою невідомого алгоритму створення контрольних сум "
 "%d\n"
 
-#: g10/mainproc.c:481
+#: g10/mainproc.c:485
 #, c-format
 msgid "public key is %s\n"
 msgstr "відкритий ключ — %s\n"
 
-#: g10/mainproc.c:557
+#: g10/mainproc.c:561
 #, c-format
 msgid "public key encrypted data: good DEK\n"
 msgstr "зашифровані відкритим ключем дані: належний DEK\n"
 
-#: g10/mainproc.c:590
+#: g10/mainproc.c:594
 #, c-format
 msgid "encrypted with %u-bit %s key, ID %s, created %s\n"
 msgstr ""
 "зашифровано за допомогою %u-бітового %s ключа, ідентифікатор %s, створено "
 "%s\n"
 
-#: g10/mainproc.c:594 g10/pkclist.c:228
+#: g10/mainproc.c:598 g10/pkclist.c:228
 #, c-format
 msgid "      \"%s\"\n"
 msgstr "      «%s»\n"
 
-#: g10/mainproc.c:598
+#: g10/mainproc.c:602
 #, c-format
 msgid "encrypted with %s key, ID %s\n"
 msgstr "зашифровано ключем %s, ідентифікатор %s\n"
 
-#: g10/mainproc.c:619
+#: g10/mainproc.c:623
 #, c-format
 msgid "public key decryption failed: %s\n"
 msgstr "невдала спроба розшифровування відкритим ключем: %s\n"
 
-#: g10/mainproc.c:641 g10/mainproc.c:970
+#: g10/mainproc.c:645 g10/mainproc.c:976
 #, c-format
 msgid "WARNING: multiple plaintexts seen\n"
 msgstr "УВАГА: виявлено декілька фрагментів нешифрованого тексту\n"
 
-#: g10/mainproc.c:649
+#: g10/mainproc.c:653
 #, c-format
 msgid "encrypted with %lu passphrases\n"
 msgstr "зашифровано за допомогою %lu паролів\n"
 
-#: g10/mainproc.c:651
+#: g10/mainproc.c:655
 #, c-format
 msgid "encrypted with 1 passphrase\n"
 msgstr "зашифровано за допомогою 1 пароля\n"
 
-#: g10/mainproc.c:685 g10/mainproc.c:706
+#: g10/mainproc.c:689 g10/mainproc.c:710
 #, c-format
 msgid "assuming %s encrypted data\n"
 msgstr "припускаємо, що дані зашифровано %s\n"
 
-#: g10/mainproc.c:692
+#: g10/mainproc.c:696
 #, c-format
 msgid "IDEA cipher unavailable, optimistically attempting to use %s instead\n"
 msgstr "Шифр IDEA недоступний, спробуємо скористатися замість нього %s\n"
 
-#: g10/mainproc.c:779 g10/mainproc.c:817
+#: g10/mainproc.c:785 g10/mainproc.c:823
 #, c-format
 msgid "WARNING: message was not integrity protected\n"
 msgstr "УВАГА: цілісність повідомлення не захищено\n"
 
-#: g10/mainproc.c:790
+#: g10/mainproc.c:796
 msgid ""
 "Hint: If this message was created before the year 2003 it is\n"
 "likely that this message is legitimate.  This is because back\n"
 "then integrity protection was not widely used.\n"
 msgstr ""
 
-#: g10/mainproc.c:793
+#: g10/mainproc.c:799
 #, c-format
 msgid "Use the option '%s' to decrypt anyway.\n"
 msgstr ""
 
-#: g10/mainproc.c:798
+#: g10/mainproc.c:804
 #, fuzzy, c-format
 #| msgid "decryption failed: %s\n"
 msgid "decryption forced to fail!\n"
 msgstr "невдала спроба розшифрування: %s\n"
 
-#: g10/mainproc.c:810
+#: g10/mainproc.c:816
 #, c-format
 msgid "decryption okay\n"
 msgstr "розшифровано\n"
 
-#: g10/mainproc.c:823
+#: g10/mainproc.c:829
 #, c-format
 msgid "WARNING: encrypted message has been manipulated!\n"
 msgstr "УВАГА: зашифроване повідомлення було змінено!\n"
 
-#: g10/mainproc.c:841
+#: g10/mainproc.c:847
 #, c-format
 msgid "decryption failed: %s\n"
 msgstr "невдала спроба розшифрування: %s\n"
 
-#: g10/mainproc.c:886
+#: g10/mainproc.c:892
 #, c-format
 msgid "Note: sender requested \"for-your-eyes-only\"\n"
 msgstr "ЗАУВАЖЕННЯ: вимога відправника: «лише для Вас»\n"
 
-#: g10/mainproc.c:893
+#: g10/mainproc.c:899
 #, c-format
 msgid "original file name='%.*s'\n"
 msgstr "початкова назва файла=«%.*s»\n"
 
-#: g10/mainproc.c:1148
+#: g10/mainproc.c:1154
 #, c-format
 msgid "standalone revocation - use \"gpg --import\" to apply\n"
 msgstr ""
 "окреме відкликання — скористайтеся командою «gpg --import» для застосування\n"
 
-#: g10/mainproc.c:1452 g10/mainproc.c:1495
+#: g10/mainproc.c:1458 g10/mainproc.c:1501
 #, c-format
 msgid "no signature found\n"
 msgstr "підпису не знайдено\n"
 
-#: g10/mainproc.c:1852
+#: g10/mainproc.c:1858
 #, c-format
 msgid "BAD signature from \"%s\""
 msgstr "ПОМИЛКОВИЙ підпис від «%s»"
 
-#: g10/mainproc.c:1854
+#: g10/mainproc.c:1860
 #, c-format
 msgid "Expired signature from \"%s\""
 msgstr "Прострочений підпис від «%s»"
 
-#: g10/mainproc.c:1856
+#: g10/mainproc.c:1862
 #, c-format
 msgid "Good signature from \"%s\""
 msgstr "Належний підпис від «%s»"
 
-#: g10/mainproc.c:1876
+#: g10/mainproc.c:1882
 #, c-format
 msgid "signature verification suppressed\n"
 msgstr "перевірку підписів придушено\n"
 
-#: g10/mainproc.c:1985
+#: g10/mainproc.c:1991
 #, c-format
 msgid "can't handle this ambiguous signature data\n"
 msgstr "не вдалося обробити ці дані з неоднозначним підписом\n"
 
-#: g10/mainproc.c:2001 g10/mainproc.c:2008
+#: g10/mainproc.c:2007 g10/mainproc.c:2014
 #, c-format
 msgid "Signature made %s\n"
 msgstr "Підпис створено %s\n"
 
-#: g10/mainproc.c:2002 g10/mainproc.c:2009 sm/verify.c:476
+#: g10/mainproc.c:2008 g10/mainproc.c:2015 sm/verify.c:476
 #, c-format
 msgid "               using %s key %s\n"
 msgstr "               за допомогою %s ключа %s\n"
 
-#: g10/mainproc.c:2013
+#: g10/mainproc.c:2019
 #, c-format
 msgid "Signature made %s using %s key ID %s\n"
 msgstr "Підпис створено %s ключем %s з ідентифікатором %s\n"
 
-#: g10/mainproc.c:2019
+#: g10/mainproc.c:2025
 #, c-format
 msgid "               issuer \"%s\"\n"
 msgstr "               видавець «%s»\n"
 
-#: g10/mainproc.c:2070
+#: g10/mainproc.c:2076
 #, c-format
 msgid "Key available at: "
 msgstr "Ключ доступний на: "
 
-#: g10/mainproc.c:2111
+#: g10/mainproc.c:2118
 #, c-format
 msgid "Note: Use '%s' to make use of this info\n"
 msgstr ""
 
-#: g10/mainproc.c:2325
+#: g10/mainproc.c:2334
 msgid "[uncertain]"
 msgstr "[непевний]"
 
-#: g10/mainproc.c:2363
+#: g10/mainproc.c:2372
 #, c-format
 msgid "                aka \"%s\""
 msgstr "                або «%s»"
 
-#: g10/mainproc.c:2438
+#: g10/mainproc.c:2447
 #, c-format
 msgid "WARNING: This key is not suitable for signing in %s mode\n"
 msgstr ""
 "УВАГА: цей ключ не можна використовувати для підписування у режимі %s\n"
 
-#: g10/mainproc.c:2456
+#: g10/mainproc.c:2465
 #, c-format
 msgid "Signature expired %s\n"
 msgstr "Строк дії підпису вичерпано %s\n"
 
-#: g10/mainproc.c:2460
+#: g10/mainproc.c:2469
 #, c-format
 msgid "Signature expires %s\n"
 msgstr "Підпис діє до %s\n"
 
-#: g10/mainproc.c:2471
+#: g10/mainproc.c:2480
 #, c-format
 msgid "%s signature, digest algorithm %s%s%s\n"
 msgstr "%s підпис, алгоритм контрольної суми %s%s%s\n"
 
-#: g10/mainproc.c:2472
+#: g10/mainproc.c:2481
 msgid "binary"
 msgstr "двійковий"
 
-#: g10/mainproc.c:2473
+#: g10/mainproc.c:2482
 msgid "textmode"
 msgstr "текстовий"
 
-#: g10/mainproc.c:2473 g10/trust.c:123 dirmngr/ocsp.c:792
+#: g10/mainproc.c:2482 g10/trust.c:123 dirmngr/ocsp.c:792
 msgid "unknown"
 msgstr "невідомо"
 
-#: g10/mainproc.c:2475
+#: g10/mainproc.c:2484
 msgid ", key algorithm "
 msgstr ", алгоритм ключа "
 
-#: g10/mainproc.c:2510
+#: g10/mainproc.c:2519
 #, c-format
 msgid "WARNING: not a detached signature; file '%s' was NOT verified!\n"
 msgstr "УВАГА: не відє’днаний підпис; файл «%s» не було перевірено!\n"
 
-#: g10/mainproc.c:2548
+#: g10/mainproc.c:2558
 #, c-format
 msgid "Can't check signature: %s\n"
 msgstr "Не вдалося перевірити підпис: %s\n"
 
-#: g10/mainproc.c:2644 g10/mainproc.c:2663 g10/mainproc.c:2787
+#: g10/mainproc.c:2654 g10/mainproc.c:2673 g10/mainproc.c:2797
 #, c-format
 msgid "not a detached signature\n"
 msgstr "не є від’єднаним підписом\n"
 
-#: g10/mainproc.c:2697
+#: g10/mainproc.c:2707
 #, c-format
 msgid ""
 "WARNING: multiple signatures detected.  Only the first will be checked.\n"
 msgstr "УВАГА: виявлено кратні підписи. Буде перевірено лише перший.\n"
 
-#: g10/mainproc.c:2706
+#: g10/mainproc.c:2716
 #, c-format
 msgid "standalone signature of class 0x%02x\n"
 msgstr "окремий підпис класу 0x%02x\n"
 
-#: g10/mainproc.c:2791
+#: g10/mainproc.c:2801
 #, c-format
 msgid "old style (PGP 2.x) signature\n"
 msgstr "підпис у застарілому форматі (PGP 2.x)\n"
@@ -6294,50 +6307,56 @@ msgstr "Критична примітка підпису: "
 msgid "subpacket of type %d has critical bit set\n"
 msgstr "підпакет типу %d містить критичний набір бітів\n"
 
-#: g10/passphrase.c:73 g10/passphrase.c:275 g10/passphrase.c:308
+#: g10/passphrase.c:73 g10/passphrase.c:283 g10/passphrase.c:316
 #, c-format
 msgid "problem with the agent: %s\n"
 msgstr "проблема з агентом: %s\n"
 
-#: g10/passphrase.c:258
+#: g10/passphrase.c:251 sm/decrypt.c:341
+#, fuzzy
+#| msgid "Please enter the new passphrase"
+msgid "Please enter the passphrase for decryption."
+msgstr "Вкажіть новий пароль"
+
+#: g10/passphrase.c:253
 msgid "Enter passphrase\n"
 msgstr "Вкажіть пароль\n"
 
-#: g10/passphrase.c:269
+#: g10/passphrase.c:277
 #, c-format
 msgid "cancelled by user\n"
 msgstr "скасовано користувачем\n"
 
-#: g10/passphrase.c:510
+#: g10/passphrase.c:523
 #, c-format
 msgid " (main key ID %s)"
 msgstr " (ідентифікатор основного ключа %s)"
 
-#: g10/passphrase.c:517
+#: g10/passphrase.c:530
 msgid "Please enter the passphrase to unlock the OpenPGP secret key:"
 msgstr "Вкажіть пароль для розблокування закритого ключа OpenPGP:"
 
-#: g10/passphrase.c:521
+#: g10/passphrase.c:534
 msgid "Please enter the passphrase to import the OpenPGP secret key:"
 msgstr "Вкажіть пароль для імпортування закритого ключа OpenPGP:"
 
-#: g10/passphrase.c:526
+#: g10/passphrase.c:539
 msgid "Please enter the passphrase to export the OpenPGP secret subkey:"
 msgstr "Вкажіть пароль для експортування закритого підключа OpenPGP:"
 
-#: g10/passphrase.c:529
+#: g10/passphrase.c:542
 msgid "Please enter the passphrase to export the OpenPGP secret key:"
 msgstr "Вкажіть пароль для експортування закритого ключа OpenPGP:"
 
-#: g10/passphrase.c:534
+#: g10/passphrase.c:547
 msgid "Do you really want to permanently delete the OpenPGP secret subkey key:"
 msgstr "Справді хочете остаточно вилучити закритий підключ OpenPGP:"
 
-#: g10/passphrase.c:537
+#: g10/passphrase.c:550
 msgid "Do you really want to permanently delete the OpenPGP secret key:"
 msgstr "Справді хочете остаточно вилучити закритий ключ OpenPGP:"
 
-#: g10/passphrase.c:546
+#: g10/passphrase.c:559
 #, c-format
 msgid ""
 "%s\n"
@@ -6394,7 +6413,7 @@ msgstr "«%s» не є файлом JPEG\n"
 msgid "Is this photo correct (y/N/q)? "
 msgstr "Це потрібна вам фотографія (y/N/q)? "
 
-#: g10/photoid.c:395
+#: g10/photoid.c:399
 #, c-format
 msgid "unable to display photo ID!\n"
 msgstr "показ фотоідентифікатора неможливий!\n"
@@ -6744,7 +6763,7 @@ msgstr "не вдалося відкрити підписані дані «%s»\
 msgid "can't open signed data fd=%d: %s\n"
 msgstr "не вдалося відкрити підписані дані fd=%d: %s\n"
 
-#: g10/pubkey-enc.c:98 g10/pubkey-enc.c:139 sm/decrypt.c:493
+#: g10/pubkey-enc.c:98 g10/pubkey-enc.c:139 sm/decrypt.c:969
 #, c-format
 msgid "key %s is not suitable for decryption in %s mode\n"
 msgstr "ключ %s не можна використовувати для розшифровування у режимі %s\n"
@@ -6759,27 +6778,27 @@ msgstr "анонімний отримувач; спробуємо закрити
 msgid "okay, we are the anonymous recipient.\n"
 msgstr "добре, ми є анонімним отримувачем.\n"
 
-#: g10/pubkey-enc.c:321
+#: g10/pubkey-enc.c:311
 #, c-format
 msgid "old encoding of the DEK is not supported\n"
 msgstr "застаріле кодування DEK не підтримується\n"
 
-#: g10/pubkey-enc.c:349
+#: g10/pubkey-enc.c:339
 #, c-format
 msgid "cipher algorithm %d%s is unknown or disabled\n"
 msgstr "алгоритм шифрування %d%s є невідомим або вимкненим\n"
 
-#: g10/pubkey-enc.c:393
+#: g10/pubkey-enc.c:383
 #, c-format
 msgid "WARNING: cipher algorithm %s not found in recipient preferences\n"
 msgstr "УВАГА: не виявлено алгоритму шифрування %s у перевагах отримувача\n"
 
-#: g10/pubkey-enc.c:426
+#: g10/pubkey-enc.c:416
 #, c-format
 msgid "Note: secret key %s expired at %s\n"
 msgstr "ЗАУВАЖЕННЯ: строк дії закритого ключа %s завершився %s\n"
 
-#: g10/pubkey-enc.c:433
+#: g10/pubkey-enc.c:423
 #, c-format
 msgid "Note: key has been revoked"
 msgstr "ЗАУВАЖЕННЯ: ключ було відкликано"
@@ -7111,7 +7130,7 @@ msgstr ""
 msgid "%s/%s signature from: \"%s\"\n"
 msgstr "%s/%s підпис від: \"%s\"\n"
 
-#: g10/sign.c:1046
+#: g10/sign.c:1045
 #, c-format
 msgid ""
 "WARNING: forcing digest algorithm %s (%d) violates recipient preferences\n"
@@ -7119,34 +7138,34 @@ msgstr ""
 "УВАГА: примусове використання алгоритму контрольних сум %s (%d) не "
 "відповідає параметрам отримувача\n"
 
-#: g10/sign.c:1188
+#: g10/sign.c:1187
 #, c-format
 msgid "signing:"
 msgstr "підписування:"
 
-#: g10/sign.c:1465
+#: g10/sign.c:1464
 #, c-format
 msgid "%s encryption will be used\n"
 msgstr "Буде використано шифрування %s\n"
 
-#: g10/skclist.c:173 g10/skclist.c:254
+#: g10/skclist.c:174 g10/skclist.c:255
 #, c-format
 msgid "key is not flagged as insecure - can't use it with the faked RNG!\n"
 msgstr ""
 "ключ не було позначено як ненадійний — не можна використовувати його з "
 "фіктивним RNG!\n"
 
-#: g10/skclist.c:205
+#: g10/skclist.c:206
 #, c-format
 msgid "skipped \"%s\": duplicated\n"
 msgstr "пропущено «%s»: дублювання\n"
 
-#: g10/skclist.c:224
+#: g10/skclist.c:225
 #, c-format
 msgid "skipped: secret key already present\n"
 msgstr "пропущено: закритий ключ вже існує\n"
 
-#: g10/skclist.c:243
+#: g10/skclist.c:244
 msgid "this is a PGP generated Elgamal key which is not secure for signatures!"
 msgstr ""
 "це ключ Elgamal створений за допомогою PGP, цей ключ недостатньо безпечний "
@@ -7202,7 +7221,7 @@ msgstr "помилка читання у «%s»: %s\n"
 msgid "trustdb: sync failed: %s\n"
 msgstr "trustdb: помилка синхронізації: %s\n"
 
-#: g10/tdbio.c:144 sm/keydb.c:336
+#: g10/tdbio.c:144 sm/keydb.c:335
 #, c-format
 msgid "can't create lock for '%s'\n"
 msgstr "не вдалося створити блокування для «%s»\n"
@@ -7984,45 +8003,57 @@ msgstr ""
 #. TRANSLATORS: Put a \x1f right before a colon.  This can be
 #. * used by pinentry to nicely align the names and values.  Keep
 #. * the %s at the start and end of the string.
-#: scd/app-p15.c:3369 scd/app-openpgp.c:2153
+#: scd/app-p15.c:4955 scd/app-openpgp.c:2151
 #, c-format
 msgid "%sNumber\1f: %s%%0AHolder\1f: %s%s"
 msgstr ""
 
 #. TRANSLATORS: This is the number of remaining attempts to
 #. * enter a PIN.  Use %%0A (double-percent,0A) for a linefeed.
-#: scd/app-p15.c:3388 scd/app-openpgp.c:2169
+#: scd/app-p15.c:4974 scd/app-openpgp.c:2167
 #, c-format
 msgid "Remaining attempts: %d"
 msgstr ""
 
-#: scd/app-p15.c:3459 scd/app-nks.c:1110
+#: scd/app-p15.c:5053 scd/app-nks.c:1113
 msgid "||Please enter the PIN for the key to create qualified signatures."
 msgstr ""
 "||Будь ласка, вкажіть пінкод для ключа, призначеного для створення якісних "
 "підписів."
 
-#: scd/app-p15.c:3462 scd/app-nks.c:1092
+#. TRANSLATORS: Do not translate the "|A|" prefix but keep it at
+#. the start of the string.  Use %0A (single percent) for a linefeed.
+#: scd/app-p15.c:5056 scd/app-openpgp.c:2461
+msgid "|A|Please enter the Admin PIN"
+msgstr "|A|Вкажіть адміністративний пінкод"
+
+#: scd/app-p15.c:5058 scd/app-nks.c:1103
+msgid "|P|Please enter the PIN Unblocking Code (PUK) for the standard keys."
+msgstr ""
+"|P|Будь ласка, вкажіть код розблокування пінкоду (PUK) для стандартних "
+"ключів."
+
+#: scd/app-p15.c:5061 scd/app-nks.c:1095
 msgid "||Please enter the PIN for the standard keys."
 msgstr "||Вкажіть пінкод для стандартних ключів."
 
-#: scd/app-nks.c:709 scd/app-openpgp.c:3664
+#: scd/app-nks.c:709 scd/app-openpgp.c:3663
 #, c-format
 msgid "RSA modulus missing or not of size %d bits\n"
 msgstr ""
 "Не знайдено основи числення RSA або основа числення не належить до %d-"
 "бітових\n"
 
-#: scd/app-nks.c:717 scd/app-openpgp.c:3676
+#: scd/app-nks.c:717 scd/app-openpgp.c:3675
 #, c-format
 msgid "RSA public exponent missing or larger than %d bits\n"
 msgstr ""
 "Не вистачає відкритого показника RSA або розмірність показника перевищує %d "
 "бітів\n"
 
-#: scd/app-nks.c:797 scd/app-openpgp.c:2326 scd/app-openpgp.c:2345
-#: scd/app-openpgp.c:2512 scd/app-openpgp.c:2530 scd/app-openpgp.c:2827
-#: scd/app-openpgp.c:2874 scd/app-openpgp.c:2989 scd/app-dinsig.c:303
+#: scd/app-nks.c:797 scd/app-openpgp.c:2324 scd/app-openpgp.c:2343
+#: scd/app-openpgp.c:2510 scd/app-openpgp.c:2528 scd/app-openpgp.c:2826
+#: scd/app-openpgp.c:2873 scd/app-openpgp.c:2988 scd/app-dinsig.c:302
 #, c-format
 msgid "PIN callback returned error: %s\n"
 msgstr "Зворотний виклик пінкоду повернув повідомлення про помилку: %s\n"
@@ -8032,29 +8063,23 @@ msgstr "Зворотний виклик пінкоду повернув пові
 msgid "the NullPIN has not yet been changed\n"
 msgstr "NullPIN ще не було змінено\n"
 
-#: scd/app-nks.c:1091
+#: scd/app-nks.c:1094
 msgid "|N|Please enter a new PIN for the standard keys."
 msgstr "|N|Вкажіть новий пінкод для стандартних ключів."
 
-#: scd/app-nks.c:1098
+#: scd/app-nks.c:1101
 msgid "|NP|Please enter a new PIN Unblocking Code (PUK) for the standard keys."
 msgstr ""
 "|NP|Будь ласка, вкажіть новий код розблокування пінкоду (PUK) для "
 "стандартних ключів."
 
-#: scd/app-nks.c:1100
-msgid "|P|Please enter the PIN Unblocking Code (PUK) for the standard keys."
-msgstr ""
-"|P|Будь ласка, вкажіть код розблокування пінкоду (PUK) для стандартних "
-"ключів."
-
-#: scd/app-nks.c:1108
+#: scd/app-nks.c:1111
 msgid "|N|Please enter a new PIN for the key to create qualified signatures."
 msgstr ""
 "|N|Будь ласка, вкажіть новий пінкод для ключа, призначеного для створення "
 "якісних підписів."
 
-#: scd/app-nks.c:1118
+#: scd/app-nks.c:1121
 msgid ""
 "|NP|Please enter a new PIN Unblocking Code (PUK) for the key to create "
 "qualified signatures."
@@ -8062,7 +8087,7 @@ msgstr ""
 "|NP|Будь ласка, вкажіть новий код розблокування пінкоду (PUK) для створення "
 "якісних підписів."
 
-#: scd/app-nks.c:1120
+#: scd/app-nks.c:1123
 msgid ""
 "|P|Please enter the PIN Unblocking Code (PUK) for the key to create "
 "qualified signatures."
@@ -8070,47 +8095,47 @@ msgstr ""
 "|P|Будь ласка, вкажіть код розблокування пінкоду (PUK) для створення якісних "
 "підписів."
 
-#: scd/app-nks.c:1227 scd/app-openpgp.c:2908 scd/app-dinsig.c:531
+#: scd/app-nks.c:1230 scd/app-openpgp.c:2907 scd/app-dinsig.c:532
 #, c-format
 msgid "error getting new PIN: %s\n"
 msgstr "помилка під час отримання нового пінкоду: %s\n"
 
-#: scd/app-openpgp.c:860
+#: scd/app-openpgp.c:859
 #, c-format
 msgid "failed to store the fingerprint: %s\n"
 msgstr "не вдалося зберегти відбиток: %s\n"
 
-#: scd/app-openpgp.c:873
+#: scd/app-openpgp.c:872
 #, c-format
 msgid "failed to store the creation date: %s\n"
 msgstr "не вдалося зберегти дату створення: %s\n"
 
-#: scd/app-openpgp.c:1272 scd/app-openpgp.c:2855 scd/app-openpgp.c:5020
+#: scd/app-openpgp.c:1268 scd/app-openpgp.c:2854 scd/app-openpgp.c:5025
 #, c-format
 msgid "error retrieving CHV status from card\n"
 msgstr "помилка отримання стану CHV з картки\n"
 
-#: scd/app-openpgp.c:1430
+#: scd/app-openpgp.c:1426
 #, c-format
 msgid "response does not contain the RSA modulus\n"
 msgstr "відповідь не містить основи числення RSA\n"
 
-#: scd/app-openpgp.c:1437
+#: scd/app-openpgp.c:1433
 #, c-format
 msgid "response does not contain the RSA public exponent\n"
 msgstr "відповідь не містить відкритого показника RSA\n"
 
-#: scd/app-openpgp.c:1547
+#: scd/app-openpgp.c:1543
 #, c-format
 msgid "response does not contain the EC public key\n"
 msgstr "відповідь не містить відкритого ключа еліптичної кривої\n"
 
-#: scd/app-openpgp.c:1665 scd/app-openpgp.c:4284
+#: scd/app-openpgp.c:1661 scd/app-openpgp.c:4283
 #, c-format
 msgid "response does not contain the public key data\n"
 msgstr "відповідь не містить даних відкритого ключа\n"
 
-#: scd/app-openpgp.c:1772
+#: scd/app-openpgp.c:1768
 #, c-format
 msgid "reading public key failed: %s\n"
 msgstr "помилка читання відкритого ключа: %s\n"
@@ -8118,44 +8143,44 @@ msgstr "помилка читання відкритого ключа: %s\n"
 #. TRANSLATORS: Put a \x1f right before a colon.  This can be
 #. * used by pinentry to nicely align the names and values.  Keep
 #. * the %s at the start and end of the string.
-#: scd/app-openpgp.c:2140
+#: scd/app-openpgp.c:2138
 #, c-format
 msgid "%sNumber\1f: %s%%0AHolder\1f: %s%%0ACounter\1f: %lu%s"
 msgstr ""
 
-#: scd/app-openpgp.c:2280
+#: scd/app-openpgp.c:2278
 #, c-format
 msgid "using default PIN as %s\n"
 msgstr "використовуємо типовий пінкод як %s\n"
 
-#: scd/app-openpgp.c:2287
+#: scd/app-openpgp.c:2285
 #, c-format
 msgid "failed to use default PIN as %s: %s - disabling further default use\n"
 msgstr ""
 "не вдалося використати типовий пінкод як %s: %s — вимикаємо подальше типове "
 "використання\n"
 
-#: scd/app-openpgp.c:2300
+#: scd/app-openpgp.c:2298
 msgid "||Please unlock the card"
 msgstr "||Будь ласка, розблокуйте картку"
 
-#: scd/app-openpgp.c:2352 scd/app-openpgp.c:2537 scd/app-openpgp.c:2834
+#: scd/app-openpgp.c:2350 scd/app-openpgp.c:2535 scd/app-openpgp.c:2833
 #, c-format
 msgid "PIN for CHV%d is too short; minimum length is %d\n"
 msgstr "Пінкод для CHV%d занадто короткий; мінімальна довжина — %d\n"
 
-#: scd/app-openpgp.c:2366 scd/app-openpgp.c:2413 scd/app-openpgp.c:2551
-#: scd/app-openpgp.c:4642
+#: scd/app-openpgp.c:2364 scd/app-openpgp.c:2411 scd/app-openpgp.c:2549
+#: scd/app-openpgp.c:4641
 #, c-format
 msgid "verify CHV%d failed: %s\n"
 msgstr "помилка перевірки CHV%d: %s\n"
 
-#: scd/app-openpgp.c:2449 scd/app-openpgp.c:5029
+#: scd/app-openpgp.c:2447 scd/app-openpgp.c:5034
 #, c-format
 msgid "card is permanently locked!\n"
 msgstr "картку заблоковано!\n"
 
-#: scd/app-openpgp.c:2453
+#: scd/app-openpgp.c:2451
 #, c-format
 msgid "%d Admin PIN attempt remaining before card is permanently locked\n"
 msgid_plural ""
@@ -8170,26 +8195,20 @@ msgstr[2] ""
 "залишилося %d спроб визначення адміністративного пінкоду перед тим, як "
 "картку буде остаточно заблоковано\n"
 
-#. TRANSLATORS: Do not translate the "|A|" prefix but keep it at
-#. the start of the string.  Use %0A (single percent) for a linefeed.
-#: scd/app-openpgp.c:2463
-msgid "|A|Please enter the Admin PIN"
-msgstr "|A|Вкажіть адміністративний пінкод"
-
-#: scd/app-openpgp.c:2484
+#: scd/app-openpgp.c:2482
 #, c-format
 msgid "access to admin commands is not configured\n"
 msgstr "доступ до адміністративних команд не налаштовано\n"
 
-#: scd/app-openpgp.c:2821
+#: scd/app-openpgp.c:2820
 msgid "||Please enter the PIN"
 msgstr "||Вкажіть пінкод"
 
-#: scd/app-openpgp.c:2870
+#: scd/app-openpgp.c:2869
 msgid "||Please enter the Reset Code for the card"
 msgstr "||Вкажіть код скидання коду картки"
 
-#: scd/app-openpgp.c:2880 scd/app-openpgp.c:2941
+#: scd/app-openpgp.c:2879 scd/app-openpgp.c:2940
 #, c-format
 msgid "Reset Code is too short; minimum length is %d\n"
 msgstr "Занадто короткий код скидання; мінімальна довжина — %d\n"
@@ -8197,88 +8216,88 @@ msgstr "Занадто короткий код скидання; мінімал
 #. TRANSLATORS: Do not translate the "|*|" prefixes but
 #. keep it at the start of the string.  We need this elsewhere
 #. to get some infos on the string.
-#: scd/app-openpgp.c:2903
+#: scd/app-openpgp.c:2902
 msgid "|RN|New Reset Code"
 msgstr "|RN|Новий код скидання"
 
-#: scd/app-openpgp.c:2904
+#: scd/app-openpgp.c:2903
 msgid "|AN|New Admin PIN"
 msgstr "|AN|Новий адміністративний пінкод"
 
-#: scd/app-openpgp.c:2904
+#: scd/app-openpgp.c:2903
 msgid "|N|New PIN"
 msgstr "|N|Новий пінкод"
 
-#: scd/app-openpgp.c:2985
+#: scd/app-openpgp.c:2984
 msgid "||Please enter the Admin PIN and New Admin PIN"
 msgstr "||Вкажіть адміністративний пінкод та новий адміністративний пінкод"
 
-#: scd/app-openpgp.c:2986
+#: scd/app-openpgp.c:2985
 msgid "||Please enter the PIN and New PIN"
 msgstr "||Вкажіть пінкод та новий пінкод"
 
-#: scd/app-openpgp.c:3048 scd/app-openpgp.c:4344
+#: scd/app-openpgp.c:3047 scd/app-openpgp.c:4343
 #, c-format
 msgid "error reading application data\n"
 msgstr "помилка читання даних програми\n"
 
-#: scd/app-openpgp.c:3054 scd/app-openpgp.c:4351
+#: scd/app-openpgp.c:3053 scd/app-openpgp.c:4350
 #, c-format
 msgid "error reading fingerprint DO\n"
 msgstr "помилка читання відбитка DO\n"
 
-#: scd/app-openpgp.c:3064
+#: scd/app-openpgp.c:3063
 #, c-format
 msgid "key already exists\n"
 msgstr "ключ вже існує\n"
 
-#: scd/app-openpgp.c:3068
+#: scd/app-openpgp.c:3067
 #, c-format
 msgid "existing key will be replaced\n"
 msgstr "вже створений ключ буде замінено\n"
 
-#: scd/app-openpgp.c:3070
+#: scd/app-openpgp.c:3069
 #, c-format
 msgid "generating new key\n"
 msgstr "створення нового ключа\n"
 
-#: scd/app-openpgp.c:3072
+#: scd/app-openpgp.c:3071
 #, c-format
 msgid "writing new key\n"
 msgstr "записування нового ключа\n"
 
-#: scd/app-openpgp.c:3645 scd/app-openpgp.c:3997
+#: scd/app-openpgp.c:3644 scd/app-openpgp.c:3996
 #, c-format
 msgid "creation timestamp missing\n"
 msgstr "не вказано часової позначки створення\n"
 
-#: scd/app-openpgp.c:3686 scd/app-openpgp.c:3694
+#: scd/app-openpgp.c:3685 scd/app-openpgp.c:3693
 #, c-format
 msgid "RSA prime %s missing or not of size %d bits\n"
 msgstr ""
 "Не знайдено простого числа RSA %s або число не належить до %d-бітових\n"
 
-#: scd/app-openpgp.c:3827 scd/app-openpgp.c:4104
+#: scd/app-openpgp.c:3826 scd/app-openpgp.c:4103
 #, c-format
 msgid "failed to store the key: %s\n"
 msgstr "не вдалося зберегти ключ: %s\n"
 
-#: scd/app-openpgp.c:3991
+#: scd/app-openpgp.c:3990
 #, c-format
 msgid "unsupported curve\n"
 msgstr "непідтримувана крива\n"
 
-#: scd/app-openpgp.c:4261
+#: scd/app-openpgp.c:4260
 #, c-format
 msgid "please wait while key is being generated ...\n"
 msgstr "зачекайте на завершення створення ключа...\n"
 
-#: scd/app-openpgp.c:4269
+#: scd/app-openpgp.c:4268
 #, c-format
 msgid "generating key failed\n"
 msgstr "помилка під час створення ключа\n"
 
-#: scd/app-openpgp.c:4275
+#: scd/app-openpgp.c:4274
 #, c-format
 msgid "key generation completed (%d second)\n"
 msgid_plural "key generation completed (%d seconds)\n"
@@ -8286,45 +8305,45 @@ msgstr[0] "створення ключа завершено (за %d секун
 msgstr[1] "створення ключа завершено (за %d секунди)\n"
 msgstr[2] "створення ключа завершено (за %d секунд)\n"
 
-#: scd/app-openpgp.c:4309
+#: scd/app-openpgp.c:4308
 #, c-format
 msgid "invalid structure of OpenPGP card (DO 0x93)\n"
 msgstr "некоректна структура картки OpenPGP (DO 0x93)\n"
 
-#: scd/app-openpgp.c:4359
+#: scd/app-openpgp.c:4358
 #, c-format
 msgid "fingerprint on card does not match requested one\n"
 msgstr "відбиток на картці не відповідає запитаному\n"
 
-#: scd/app-openpgp.c:4558
+#: scd/app-openpgp.c:4557
 #, c-format
 msgid "card does not support digest algorithm %s\n"
 msgstr "карткою не підтримується алгоритм контрольних сум %s\n"
 
-#: scd/app-openpgp.c:4616
+#: scd/app-openpgp.c:4615
 #, c-format
 msgid "signatures created so far: %lu\n"
 msgstr "вже створено підписів: %lu\n"
 
-#: scd/app-openpgp.c:5034
+#: scd/app-openpgp.c:5039
 #, c-format
 msgid ""
 "verification of Admin PIN is currently prohibited through this command\n"
 msgstr "перевірку адміністративного пінкоду заборонено цією командою\n"
 
-#: scd/app-openpgp.c:5346 scd/app-openpgp.c:5357
+#: scd/app-openpgp.c:5351 scd/app-openpgp.c:5362
 #, c-format
 msgid "can't access %s - invalid OpenPGP card?\n"
 msgstr "не вдалося отримати доступ до %s — некоректна картка OpenPGP?\n"
 
-#: scd/app-dinsig.c:299
+#: scd/app-dinsig.c:298
 msgid "||Please enter your PIN at the reader's pinpad"
 msgstr "||Вкажіть ваш пінкод за допомогою клавіатурної панелі зчитувача"
 
 #. TRANSLATORS: Do not translate the "|*|" prefixes but
 #. keep it at the start of the string.  We need this elsewhere
 #. to get some infos on the string.
-#: scd/app-dinsig.c:528
+#: scd/app-dinsig.c:529
 msgid "|N|Initial New PIN"
 msgstr "|N|Початковий новий пінкод"
 
@@ -8332,7 +8351,7 @@ msgstr "|N|Початковий новий пінкод"
 msgid "run in multi server mode (foreground)"
 msgstr "запустити у режимі декількох серверів (основному режимі)"
 
-#: scd/scdaemon.c:129 sm/gpgsm.c:345 dirmngr/dirmngr.c:187
+#: scd/scdaemon.c:129 sm/gpgsm.c:348 dirmngr/dirmngr.c:188
 msgid "|LEVEL|set the debugging level to LEVEL"
 msgstr "|LEVEL|встановити вказаний рівень діагностики"
 
@@ -8352,31 +8371,31 @@ msgstr "|NAME|використовувати вказаний драйвер ct-
 msgid "|NAME|use NAME as PC/SC driver"
 msgstr "|NAME|використовувати вказаний драйвер PC/SC"
 
-#: scd/scdaemon.c:145
+#: scd/scdaemon.c:146
 msgid "do not use the internal CCID driver"
 msgstr "не використовувати вбудованого драйвера CCID"
 
-#: scd/scdaemon.c:151
+#: scd/scdaemon.c:152
 msgid "|N|disconnect the card after N seconds of inactivity"
 msgstr "|N|від’єднати бездіяльну вказану кількість секунд картку"
 
-#: scd/scdaemon.c:154
+#: scd/scdaemon.c:155
 msgid "do not use a reader's pinpad"
 msgstr "не використовувати додаткову клавіатуру зчитувача"
 
-#: scd/scdaemon.c:159
+#: scd/scdaemon.c:160
 msgid "deny the use of admin card commands"
 msgstr "заборонити використання команд з адміністрування картки"
 
-#: scd/scdaemon.c:162
+#: scd/scdaemon.c:163
 msgid "use variable length input for pinpad"
 msgstr "використовувати змінну довжину вхідних даних для зчитувача"
 
-#: scd/scdaemon.c:311
+#: scd/scdaemon.c:312
 msgid "Usage: @SCDAEMON@ [options] (-h for help)"
 msgstr "Використання: @SCDAEMON@ [параметри] (-h — довідка)"
 
-#: scd/scdaemon.c:313
+#: scd/scdaemon.c:314
 msgid ""
 "Syntax: scdaemon [options] [command [args]]\n"
 "Smartcard daemon for @GNUPG@\n"
@@ -8384,19 +8403,19 @@ msgstr ""
 "Синтаксис: scdaemon [параметри] [команди [аргументи]]\n"
 "Фонова служба карток пам’яті для @GNUPG@\n"
 
-#: scd/scdaemon.c:806
+#: scd/scdaemon.c:808
 #, c-format
 msgid "please use the option '--daemon' to run the program in the background\n"
 msgstr ""
 "будь ласка, скористайтеся параметром «--daemon» для запуску програми у "
 "фоновому режимі\n"
 
-#: scd/scdaemon.c:1183 dirmngr/dirmngr.c:2082
+#: scd/scdaemon.c:1185 dirmngr/dirmngr.c:2119
 #, c-format
 msgid "handler for fd %d started\n"
 msgstr "запущено запуск обробки для дескриптора %d\n"
 
-#: scd/scdaemon.c:1195 dirmngr/dirmngr.c:2090
+#: scd/scdaemon.c:1197 dirmngr/dirmngr.c:2127
 #, c-format
 msgid "handler for fd %d terminated\n"
 msgstr "роботу обробника для дескриптора %d перервано\n"
@@ -8443,7 +8462,7 @@ msgstr "Зауваження: заборонено некритичні прав
 msgid "certificate policy not allowed"
 msgstr "заборонено правила сертифікації"
 
-#: sm/certchain.c:595 sm/keydb.c:1106 sm/keydb.c:1192
+#: sm/certchain.c:595 sm/keydb.c:1084 sm/keydb.c:1171
 #, c-format
 msgid "failed to get the fingerprint\n"
 msgstr "не вдалося отримати відбиток\n"
@@ -8478,8 +8497,8 @@ msgstr "кількість відповідних сертифікатів: %d\n
 msgid "dirmngr cache-only key lookup failed: %s\n"
 msgstr "помилка пошуку ключів лише з dirmngr: %s\n"
 
-#: sm/certchain.c:1041 sm/certchain.c:1554 sm/certchain.c:2192 sm/decrypt.c:265
-#: sm/encrypt.c:344 sm/import.c:415 sm/keydb.c:1113 sm/keydb.c:1199
+#: sm/certchain.c:1041 sm/certchain.c:1554 sm/certchain.c:2192 sm/decrypt.c:728
+#: sm/encrypt.c:345 sm/import.c:415 sm/keydb.c:1091 sm/keydb.c:1178
 #: sm/sign.c:337 sm/verify.c:118
 #, c-format
 msgid "failed to allocate keyDB handle\n"
@@ -8673,13 +8692,13 @@ msgid "a %u bit hash is not valid for a %u bit %s key\n"
 msgstr "%u-бітовий хеш не є коректним для %u-бітового ключа %s\n"
 
 #: sm/certcheck.c:238 sm/certcheck.c:262 dirmngr/crlcache.c:1542
-#: dirmngr/crlcache.c:1566 dirmngr/dirmngr.c:1324 dirmngr/validate.c:903
+#: dirmngr/crlcache.c:1566 dirmngr/dirmngr.c:1361 dirmngr/validate.c:903
 #: dirmngr/validate.c:927
 #, c-format
 msgid "out of core\n"
 msgstr "вихід за межі області пам’яті\n"
 
-#: sm/certcheck.c:371 sm/verify.c:213
+#: sm/certcheck.c:370 sm/verify.c:213
 #, c-format
 msgid "(this is the MD2 algorithm)\n"
 msgstr "(це алгоритм MD2)\n"
@@ -8973,22 +8992,34 @@ msgstr ""
 msgid "resource problem: out of core\n"
 msgstr "проблема з ресурсами: вихід за межі пам’яті\n"
 
-#: sm/decrypt.c:341
+#: sm/decrypt.c:536
+#, fuzzy, c-format
+#| msgid "%s encrypted data\n"
+msgid "%s.%s encrypted data\n"
+msgstr "Дані, зашифровані за алгоритмом %s\n"
+
+#: sm/decrypt.c:803
 #, c-format
 msgid "(this is the RC2 algorithm)\n"
 msgstr "(це алгоритм RC2)\n"
 
-#: sm/decrypt.c:343
+#: sm/decrypt.c:805
 #, c-format
 msgid "(this does not seem to be an encrypted message)\n"
 msgstr "(здається, це не зашифроване повідомлення)\n"
 
+#: sm/decrypt.c:958
+#, fuzzy, c-format
+#| msgid "encrypted with %s key, ID %s\n"
+msgid "encrypted to %s key %s\n"
+msgstr "зашифровано ключем %s, ідентифікатор %s\n"
+
 #: sm/delete.c:51 sm/delete.c:112
 #, c-format
 msgid "certificate '%s' not found: %s\n"
 msgstr "сертифіката «%s» не знайдено: %s\n"
 
-#: sm/delete.c:122 sm/keydb.c:1209 sm/keydb.c:1307
+#: sm/delete.c:122 sm/keydb.c:1189 sm/keydb.c:1288
 #, c-format
 msgid "error locking keybox: %s\n"
 msgstr "помилка під час блокування сховища ключів: %s\n"
@@ -9008,131 +9039,131 @@ msgstr "сертифікат «%s» вилучено\n"
 msgid "deleting certificate \"%s\" failed: %s\n"
 msgstr "помилка під час спроби вилучення сертифіката «%s»: %s\n"
 
-#: sm/encrypt.c:330
+#: sm/encrypt.c:331
 #, c-format
 msgid "no valid recipients given\n"
 msgstr "не вказано коректних отримувачів\n"
 
-#: sm/gpgsm.c:215
+#: sm/gpgsm.c:216
 msgid "list external keys"
 msgstr "показати ключ зовнішніх ключів"
 
-#: sm/gpgsm.c:217
+#: sm/gpgsm.c:218
 msgid "list certificate chain"
 msgstr "показати ланцюжок сертифікації"
 
-#: sm/gpgsm.c:225
+#: sm/gpgsm.c:226
 msgid "import certificates"
 msgstr "імпортувати сертифікати"
 
-#: sm/gpgsm.c:226
+#: sm/gpgsm.c:227
 msgid "export certificates"
 msgstr "експортувати сертифікати"
 
-#: sm/gpgsm.c:234
+#: sm/gpgsm.c:235
 msgid "register a smartcard"
 msgstr "зареєструвати картку пам’яті"
 
-#: sm/gpgsm.c:237
+#: sm/gpgsm.c:238
 msgid "pass a command to the dirmngr"
 msgstr "передати команду dirmngr"
 
-#: sm/gpgsm.c:239
+#: sm/gpgsm.c:240
 msgid "invoke gpg-protect-tool"
 msgstr "виклик gpg-protect-tool"
 
-#: sm/gpgsm.c:256
+#: sm/gpgsm.c:257
 msgid "create base-64 encoded output"
 msgstr "створити дані, закодовані у BASE64"
 
-#: sm/gpgsm.c:265
+#: sm/gpgsm.c:266
 msgid "assume input is in PEM format"
 msgstr "вважати вхідні дані даними у форматі PEM"
 
-#: sm/gpgsm.c:267
+#: sm/gpgsm.c:268
 msgid "assume input is in base-64 format"
 msgstr "вважати вхідні дані даними у форматі BASE64"
 
-#: sm/gpgsm.c:269
+#: sm/gpgsm.c:270
 msgid "assume input is in binary format"
 msgstr "вважати вхідні дані даними у двійковому форматі"
 
-#: sm/gpgsm.c:276
+#: sm/gpgsm.c:277
 msgid "never consult a CRL"
 msgstr "не використовувати САС"
 
-#: sm/gpgsm.c:286
+#: sm/gpgsm.c:287
 msgid "check validity using OCSP"
 msgstr "перевіряти чинність за допомогою OCSP"
 
-#: sm/gpgsm.c:291
+#: sm/gpgsm.c:292
 msgid "|N|number of certificates to include"
 msgstr "кількість сертифікатів, які слід включити"
 
-#: sm/gpgsm.c:294
+#: sm/gpgsm.c:295
 msgid "|FILE|take policy information from FILE"
 msgstr "|FILE|взяти дані щодо правил з вказаного файла"
 
-#: sm/gpgsm.c:297
+#: sm/gpgsm.c:298
 msgid "do not check certificate policies"
 msgstr "не перевіряти правила сертифікатів"
 
-#: sm/gpgsm.c:301
+#: sm/gpgsm.c:302
 msgid "fetch missing issuer certificates"
 msgstr "Надіслати запит щодо незнайдених сертифікатів видавця"
 
-#: sm/gpgsm.c:312
+#: sm/gpgsm.c:313
 msgid "don't use the terminal at all"
 msgstr "взагалі не використовувати термінал"
 
-#: sm/gpgsm.c:314
+#: sm/gpgsm.c:315
 msgid "|FILE|write a server mode log to FILE"
 msgstr "|FILE|записувати журнал режиму сервера до файла"
 
-#: sm/gpgsm.c:319
+#: sm/gpgsm.c:320
 msgid "|FILE|write an audit log to FILE"
 msgstr "|FILE|записувати журнал перевірки до файла"
 
-#: sm/gpgsm.c:322
+#: sm/gpgsm.c:323
 msgid "batch mode: never ask"
 msgstr "пакетний режим: нічого не запитувати"
 
-#: sm/gpgsm.c:323
+#: sm/gpgsm.c:324
 msgid "assume yes on most questions"
 msgstr "вважати відповіддю на більшість питань «так»"
 
-#: sm/gpgsm.c:324
+#: sm/gpgsm.c:325
 msgid "assume no on most questions"
 msgstr "вважати відповіддю на більшість питань «ні»"
 
-#: sm/gpgsm.c:327
+#: sm/gpgsm.c:328
 msgid "|FILE|add keyring to the list of keyrings"
 msgstr "|FILE|додати сховище ключів до списку сховищ ключів"
 
-#: sm/gpgsm.c:330
+#: sm/gpgsm.c:331
 msgid "|USER-ID|use USER-ID as default secret key"
 msgstr ""
 "|USER-ID|використовувати ідентифікатор користувача як типовий закритий ключ"
 
-#: sm/gpgsm.c:340 tools/gpgconf-comp.c:837
+#: sm/gpgsm.c:341 dirmngr/dirmngr.c:214 tools/gpgconf-comp.c:841
 msgid "|SPEC|use this keyserver to lookup keys"
 msgstr "використовувати цей сервер ключів для пошуку"
 
-#: sm/gpgsm.c:357
+#: sm/gpgsm.c:360
 msgid "|NAME|use cipher algorithm NAME"
 msgstr "|NAME|використовувати вказаний алгоритм шифрування"
 
-#: sm/gpgsm.c:359
+#: sm/gpgsm.c:362
 msgid "|NAME|use message digest algorithm NAME"
 msgstr ""
 "|NAME|використовувати вказаний алгоритм обчислення контрольної суми "
 "повідомлення"
 
-#: sm/gpgsm.c:570
+#: sm/gpgsm.c:573
 msgid "Usage: @GPGSM@ [options] [files] (-h for help)"
 msgstr "Використання: @GPGSM@ [параметри] [файли] (-h — довідка)"
 
-#: sm/gpgsm.c:573
+#: sm/gpgsm.c:576
 msgid ""
 "Syntax: @GPGSM@ [options] [files]\n"
 "Sign, check, encrypt or decrypt using the S/MIME protocol\n"
@@ -9143,47 +9174,27 @@ msgstr ""
 "протоколу S/MIME\n"
 "Типова дія залежатиме від вхідних даних\n"
 
-#: sm/gpgsm.c:777
+#: sm/gpgsm.c:784
 #, c-format
 msgid "Note: won't be able to encrypt to '%s': %s\n"
 msgstr "ЗАУВАЖЕННЯ: не вдасться зашифрувати до «%s»: %s\n"
 
-#: sm/gpgsm.c:788
+#: sm/gpgsm.c:795
 #, c-format
 msgid "unknown validation model '%s'\n"
 msgstr "невідома модель перевірки «%s»\n"
 
-#: sm/gpgsm.c:839 dirmngr/ldapserver.c:86
-#, c-format
-msgid "%s:%u: no hostname given\n"
-msgstr "%s:%u: не вказано назви вузла\n"
-
-#: sm/gpgsm.c:858 dirmngr/ldapserver.c:105
-#, c-format
-msgid "%s:%u: password given without user\n"
-msgstr "%s:%u: вказано пароль, але не вказано користувача\n"
-
-#: sm/gpgsm.c:879 dirmngr/ldapserver.c:126
-#, c-format
-msgid "%s:%u: skipping this line\n"
-msgstr "%s:%u: пропускаємо цей рядок\n"
-
-#: sm/gpgsm.c:1449
-#, c-format
-msgid "could not parse keyserver\n"
-msgstr "не вдалося обробити сервер ключів\n"
-
-#: sm/gpgsm.c:1712
+#: sm/gpgsm.c:1612
 #, c-format
 msgid "importing common certificates '%s'\n"
 msgstr "імпортуємо загальні сертифікати «%s»\n"
 
-#: sm/gpgsm.c:1755
+#: sm/gpgsm.c:1655
 #, c-format
 msgid "can't sign using '%s': %s\n"
 msgstr "підписування за допомогою «%s» неможливе: %s\n"
 
-#: sm/gpgsm.c:2122
+#: sm/gpgsm.c:2028
 #, c-format
 msgid "invalid command (there is no implicit command)\n"
 msgstr "некоректна команда (немає неявної команди)\n"
@@ -9203,7 +9214,7 @@ msgstr "помилка під час спроби збереження серт
 msgid "basic certificate checks failed - not imported\n"
 msgstr "помилка під час основних перевірок сертифіката — не імпортовано\n"
 
-#: sm/import.c:472 sm/keydb.c:1229 sm/keydb.c:1319
+#: sm/import.c:472 sm/keydb.c:1209 sm/keydb.c:1300
 #, c-format
 msgid "error getting stored flags: %s\n"
 msgstr "помилка під час спроби отримання збережених прапорців: %s\n"
@@ -9218,27 +9229,27 @@ msgstr "помилка під час спроби імпортування се
 msgid "error reading input: %s\n"
 msgstr "помилка під час спроби читання вхідних даних: %s\n"
 
-#: sm/keydb.c:1148
+#: sm/keydb.c:1127
 #, c-format
 msgid "problem looking for existing certificate: %s\n"
 msgstr "проблем з пошуком вже створеного сертифіката: %s\n"
 
-#: sm/keydb.c:1160
+#: sm/keydb.c:1139
 #, c-format
 msgid "error finding writable keyDB: %s\n"
 msgstr "помилка під час спроби знайти придатну до запису keyDB: %s\n"
 
-#: sm/keydb.c:1168
+#: sm/keydb.c:1147
 #, c-format
 msgid "error storing certificate: %s\n"
 msgstr "помилка під час спроби збереження сертифіката: %s\n"
 
-#: sm/keydb.c:1220
+#: sm/keydb.c:1200
 #, c-format
 msgid "problem re-searching certificate: %s\n"
 msgstr "проблема з повторним пошуком сертифіката: %s\n"
 
-#: sm/keydb.c:1241 sm/keydb.c:1330
+#: sm/keydb.c:1221 sm/keydb.c:1311
 #, c-format
 msgid "error storing flags: %s\n"
 msgstr "помилка під час спроби збереження позначок: %s\n"
@@ -9279,7 +9290,7 @@ msgstr ""
 "\n"
 "%s%sВи справді хочете це зробити?"
 
-#: sm/qualified.c:215 sm/verify.c:678
+#: sm/qualified.c:215 sm/verify.c:679
 #, c-format
 msgid ""
 "Note, that this software is not officially approved to create or verify such "
@@ -9332,7 +9343,7 @@ msgstr "[дату не вказано]"
 msgid "algorithm:"
 msgstr "алгоритм: %s"
 
-#: sm/verify.c:535
+#: sm/verify.c:536
 #, c-format
 msgid ""
 "invalid signature: message digest attribute does not match computed one\n"
@@ -9340,17 +9351,17 @@ msgstr ""
 "некоректний підпис: атрибут контрольної суми повідомлення не збігається з "
 "обчисленою сумою\n"
 
-#: sm/verify.c:656
+#: sm/verify.c:657
 #, c-format
 msgid "Good signature from"
 msgstr "Правильний підпис від"
 
-#: sm/verify.c:657
+#: sm/verify.c:658
 #, c-format
 msgid "                aka"
 msgstr "                або"
 
-#: sm/verify.c:675
+#: sm/verify.c:676
 #, c-format
 msgid "This is a qualified signature\n"
 msgstr "Це якісний підпис\n"
@@ -9983,7 +9994,7 @@ msgid "error retrieving '%s': %s\n"
 msgstr "помилка отримання «%s»: %s\n"
 
 #: dirmngr/crlfetch.c:218 dirmngr/ldap-wrapper-ce.c:492
-#: dirmngr/ldap-wrapper.c:884 dirmngr/misc.c:573
+#: dirmngr/ldap-wrapper.c:885 dirmngr/misc.c:573
 #, c-format
 msgid "error initializing reader object: %s\n"
 msgstr "помилка під час спроби ініціалізації об’єкта читання: %s\n"
@@ -10141,112 +10152,112 @@ msgstr "мало бути вказано абсолютний шлях до фа
 msgid "looking up '%s'\n"
 msgstr "пошук «%s»\n"
 
-#: dirmngr/dirmngr.c:170
+#: dirmngr/dirmngr.c:171
 msgid "list the contents of the CRL cache"
 msgstr "показати вміст кешу CRL"
 
-#: dirmngr/dirmngr.c:171
+#: dirmngr/dirmngr.c:172
 msgid "|FILE|load CRL from FILE into cache"
 msgstr "|FILE|завантажити CRL з вказаного файла до кешу"
 
-#: dirmngr/dirmngr.c:172
+#: dirmngr/dirmngr.c:173
 msgid "|URL|fetch a CRL from URL"
 msgstr "|URL|отримати CRL з вказаної адреси"
 
-#: dirmngr/dirmngr.c:173
+#: dirmngr/dirmngr.c:174
 msgid "shutdown the dirmngr"
 msgstr "завершити роботу dirmngr"
 
-#: dirmngr/dirmngr.c:174
+#: dirmngr/dirmngr.c:175
 msgid "flush the cache"
 msgstr "спорожнити кеш"
 
-#: dirmngr/dirmngr.c:190 tools/gpgconf-comp.c:522 tools/gpgconf-comp.c:741
-#: tools/gpgconf-comp.c:854 tools/gpgconf-comp.c:950
+#: dirmngr/dirmngr.c:191 tools/gpgconf-comp.c:522 tools/gpgconf-comp.c:745
+#: tools/gpgconf-comp.c:858 tools/gpgconf-comp.c:954
 msgid "|FILE|write server mode logs to FILE"
 msgstr "|FILE|записувати журнал режиму сервера до файла"
 
-#: dirmngr/dirmngr.c:191
+#: dirmngr/dirmngr.c:192
 msgid "run without asking a user"
 msgstr "запустити без запиту до користувача"
 
-#: dirmngr/dirmngr.c:192
+#: dirmngr/dirmngr.c:193
 msgid "force loading of outdated CRLs"
 msgstr "примусове завантаження застарілих САС"
 
-#: dirmngr/dirmngr.c:193
+#: dirmngr/dirmngr.c:194
 msgid "allow sending OCSP requests"
 msgstr "дозволити надсилання запитів OCSP"
 
-#: dirmngr/dirmngr.c:195
+#: dirmngr/dirmngr.c:196
 msgid "allow online software version check"
 msgstr "дозволити інтерактивну перевірку версії програмного забезпечення"
 
-#: dirmngr/dirmngr.c:196
+#: dirmngr/dirmngr.c:197
 msgid "inhibit the use of HTTP"
 msgstr "заборонити використання HTTP"
 
-#: dirmngr/dirmngr.c:197
+#: dirmngr/dirmngr.c:198
 msgid "inhibit the use of LDAP"
 msgstr "заборонити використання LDAP"
 
-#: dirmngr/dirmngr.c:199
+#: dirmngr/dirmngr.c:200
 msgid "ignore HTTP CRL distribution points"
 msgstr "ігнорувати точки поширення САС протоколу HTTP"
 
-#: dirmngr/dirmngr.c:201
+#: dirmngr/dirmngr.c:202
 msgid "ignore LDAP CRL distribution points"
 msgstr "ігнорувати точки поширення САС протоколу LDAP"
 
-#: dirmngr/dirmngr.c:203
+#: dirmngr/dirmngr.c:204
 msgid "ignore certificate contained OCSP service URLs"
 msgstr "ігнорувати адреси служб OCSP з сертифікатами"
 
-#: dirmngr/dirmngr.c:206
+#: dirmngr/dirmngr.c:207
 msgid "|URL|redirect all HTTP requests to URL"
 msgstr "|URL|переспрямувати всі запити HTTP на вказану адресу"
 
-#: dirmngr/dirmngr.c:208
+#: dirmngr/dirmngr.c:209
 msgid "|HOST|use HOST for LDAP queries"
 msgstr "|HOST|використовувати вказаний вузол для запитів LDAP"
 
-#: dirmngr/dirmngr.c:210
+#: dirmngr/dirmngr.c:211
 msgid "do not use fallback hosts with --ldap-proxy"
 msgstr "не використовувати резервні вузли з --ldap-proxy"
 
-#: dirmngr/dirmngr.c:213
+#: dirmngr/dirmngr.c:216
 msgid "|FILE|read LDAP server list from FILE"
 msgstr "|FILE|прочитати список серверів LDAP з вказаного файла"
 
-#: dirmngr/dirmngr.c:215
+#: dirmngr/dirmngr.c:218
 msgid "add new servers discovered in CRL distribution points to serverlist"
 msgstr "додати виявлені у точках поширення CRL нові сервери до списку серверів"
 
-#: dirmngr/dirmngr.c:218 dirmngr/dirmngr_ldap.c:137
+#: dirmngr/dirmngr.c:221
 msgid "|N|set LDAP timeout to N seconds"
 msgstr "|N|встановити вказаний час очікування даних від LDAP"
 
-#: dirmngr/dirmngr.c:221
+#: dirmngr/dirmngr.c:224
 msgid "|URL|use OCSP responder at URL"
 msgstr "|URL|використовувати відповідач OCSP за вказаною адресою"
 
-#: dirmngr/dirmngr.c:223
+#: dirmngr/dirmngr.c:226
 msgid "|FPR|OCSP response signed by FPR"
 msgstr "|FPR|відповідь OCSP підписано FPR"
 
-#: dirmngr/dirmngr.c:229
+#: dirmngr/dirmngr.c:232
 msgid "|N|do not return more than N items in one query"
 msgstr "|N|повертати не більше за вказану кількість записів на запит"
 
-#: dirmngr/dirmngr.c:234
+#: dirmngr/dirmngr.c:237
 msgid "|FILE|use the CA certificates in FILE for HKP over TLS"
 msgstr "|FILE|використовувати сертифікати CA з файла для HKP крізь TLS"
 
-#: dirmngr/dirmngr.c:236
+#: dirmngr/dirmngr.c:239
 msgid "route all network traffic via Tor"
 msgstr "маршрутизувати увесь обмін даними з мережею через Tor"
 
-#: dirmngr/dirmngr.c:265
+#: dirmngr/dirmngr.c:268
 msgid ""
 "@\n"
 "(See the \"info\" manual for a complete listing of all commands and "
@@ -10256,11 +10267,11 @@ msgstr ""
 "(Щоб ознайомитися зі списком команд і параметрів, скористайтеся сторінкою "
 "довідника (man) «info»)\n"
 
-#: dirmngr/dirmngr.c:407
+#: dirmngr/dirmngr.c:415
 msgid "Usage: @DIRMNGR@ [options] (-h for help)"
 msgstr "Використання: @DIRMNGR@ [параметри] (-h — довідка)"
 
-#: dirmngr/dirmngr.c:409
+#: dirmngr/dirmngr.c:417
 msgid ""
 "Syntax: @DIRMNGR@ [options] [command [args]]\n"
 "Keyserver, CRL, and OCSP access for @GNUPG@\n"
@@ -10268,271 +10279,104 @@ msgstr ""
 "Синтаксис: @DIRMNGR@ [параметри] [команда [аргументи]]\n"
 "Доступ до сервера ключів, CRL та OCSP для @GNUPG@\n"
 
-#: dirmngr/dirmngr.c:489
+#: dirmngr/dirmngr.c:497
 #, c-format
 msgid "valid debug levels are: %s\n"
 msgstr "коректними рівнями зневаджування є: %s\n"
 
-#: dirmngr/dirmngr.c:575 tools/gpgconf.c:647 tools/gpgconf.c:682
+#: dirmngr/dirmngr.c:583 tools/gpgconf.c:647 tools/gpgconf.c:682
 #: tools/gpgconf.c:780
 #, c-format
 msgid "usage: %s [options] "
 msgstr "використання: %s [параметри]"
 
-#: dirmngr/dirmngr.c:1212
+#: dirmngr/dirmngr.c:1249
 #, c-format
 msgid "colons are not allowed in the socket name\n"
 msgstr "не можна використовувати двокрапки у назві сокета\n"
 
-#: dirmngr/dirmngr.c:1444 dirmngr/server.c:1824
+#: dirmngr/dirmngr.c:1481 dirmngr/server.c:1878
 #, c-format
 msgid "fetching CRL from '%s' failed: %s\n"
 msgstr "помилка під час спроби отримання CRL з «%s»: %s\n"
 
-#: dirmngr/dirmngr.c:1450 dirmngr/server.c:1830
+#: dirmngr/dirmngr.c:1487 dirmngr/server.c:1884
 #, c-format
 msgid "processing CRL from '%s' failed: %s\n"
 msgstr "помилка під час обробки CRL з «%s»: %s\n"
 
-#: dirmngr/dirmngr.c:1645
+#: dirmngr/dirmngr.c:1682
 #, c-format
 msgid "%s:%u: line too long - skipped\n"
 msgstr "%s:%u: занадто довгий рядок — пропущено\n"
 
-#: dirmngr/dirmngr.c:1700 dirmngr/dirmngr.c:1784
+#: dirmngr/dirmngr.c:1737 dirmngr/dirmngr.c:1821
 #, c-format
 msgid "%s:%u: invalid fingerprint detected\n"
 msgstr "%s:%u: виявлено некоректний відбиток\n"
 
-#: dirmngr/dirmngr.c:1736 dirmngr/dirmngr.c:1762 tools/gpgconf-comp.c:4191
+#: dirmngr/dirmngr.c:1773 dirmngr/dirmngr.c:1799 tools/gpgconf-comp.c:4199
 #, c-format
 msgid "%s:%u: read error: %s\n"
 msgstr "%s:%u: помилка під час читання: %s\n"
 
-#: dirmngr/dirmngr.c:1791
+#: dirmngr/dirmngr.c:1828
 #, c-format
 msgid "%s:%u: garbage at end of line ignored\n"
 msgstr "%s:%u: беззмістовні дані наприкінці рядка проігноровано\n"
 
-#: dirmngr/dirmngr.c:1860
+#: dirmngr/dirmngr.c:1897
 #, c-format
 msgid "SIGHUP received - re-reading configuration and flushing caches\n"
 msgstr ""
 "отримано сигнал SIGHUP — повторне читання налаштувань та спорожнення кешу\n"
 
-#: dirmngr/dirmngr.c:1900
+#: dirmngr/dirmngr.c:1937
 #, c-format
 msgid "SIGUSR2 received - no action defined\n"
 msgstr "отримано сигнал SIGUSR2 — дій не визначено\n"
 
-#: dirmngr/dirmngr.c:1905
+#: dirmngr/dirmngr.c:1942
 #, c-format
 msgid "SIGTERM received - shutting down ...\n"
 msgstr "отримано сигнал SIGTERM — завершуємо роботу…\n"
 
-#: dirmngr/dirmngr.c:1907
+#: dirmngr/dirmngr.c:1944
 #, c-format
 msgid "SIGTERM received - still %d active connections\n"
 msgstr "отримано сигнал SIGTERM — підтримується %d активних з’єднань\n"
 
-#: dirmngr/dirmngr.c:1912
+#: dirmngr/dirmngr.c:1949
 #, c-format
 msgid "shutdown forced\n"
 msgstr "примусове завершення роботи\n"
 
-#: dirmngr/dirmngr.c:1920
+#: dirmngr/dirmngr.c:1957
 #, c-format
 msgid "SIGINT received - immediate shutdown\n"
 msgstr "отримано сигнал SIGINT — негайне завершення роботи\n"
 
-#: dirmngr/dirmngr.c:1927
+#: dirmngr/dirmngr.c:1964
 #, c-format
 msgid "signal %d received - no action defined\n"
 msgstr "отримано сигнал %d — дій не визначено\n"
 
-#: dirmngr/dirmngr_ldap.c:138
-msgid "return all values in a record oriented format"
-msgstr "повернути всі значення у форматі записів"
-
-#: dirmngr/dirmngr_ldap.c:141
-msgid "|NAME|ignore host part and connect through NAME"
-msgstr ""
-"|NAME|ігнорувати частину вузла і встановити з’єднання за вказаною назвою"
-
-#: dirmngr/dirmngr_ldap.c:142
-msgid "|NAME|connect to host NAME"
-msgstr "|NAME|встановити з’єднання з вузлом за вказаною назвою"
-
-#: dirmngr/dirmngr_ldap.c:143
-msgid "|N|connect to port N"
-msgstr "|N|встановити з’єднання на вказаному порті"
-
-#: dirmngr/dirmngr_ldap.c:144
-msgid "|NAME|use user NAME for authentication"
-msgstr "|NAME|використовувати вказаного користувача для розпізнавання"
-
-#: dirmngr/dirmngr_ldap.c:145
-msgid "|PASS|use password PASS for authentication"
-msgstr "|PASS|використовувати вказаний пароль для розпізнавання"
-
-#: dirmngr/dirmngr_ldap.c:147
-msgid "take password from $DIRMNGR_LDAP_PASS"
-msgstr "визначити пароль за $DIRMNGR_LDAP_PASS"
-
-#: dirmngr/dirmngr_ldap.c:148
-msgid "|STRING|query DN STRING"
-msgstr "|STRING|надіслати запит до DN щодо вказаного рядка"
-
-#: dirmngr/dirmngr_ldap.c:149
-msgid "|STRING|use STRING as filter expression"
-msgstr "|STRING|використовувати вказаний рядок для фільтрування"
-
-#: dirmngr/dirmngr_ldap.c:150
-msgid "|STRING|return the attribute STRING"
-msgstr "|STRING|повернути атрибут за вказаним рядком"
-
-#: dirmngr/dirmngr_ldap.c:211
-msgid "Usage: dirmngr_ldap [options] [URL] (-h for help)\n"
-msgstr "Використання: dirmngr_ldap [параметри] [адреса] (-h — довідка)\n"
-
-#: dirmngr/dirmngr_ldap.c:214
-msgid ""
-"Syntax: dirmngr_ldap [options] [URL]\n"
-"Internal LDAP helper for Dirmngr\n"
-"Interface and options may change without notice\n"
-msgstr ""
-"Синтаксис: dirmngr_ldap [параметри] [адреса]\n"
-"Вбудований допоміжний інструмент LDAP для Dirmngr\n"
-"Інтерфейс і параметри можуть змінюватися без додаткового оголошення\n"
-
-#: dirmngr/dirmngr_ldap.c:340
-#, c-format
-msgid "invalid port number %d\n"
-msgstr "некоректний номер порту %d\n"
-
-#: dirmngr/dirmngr_ldap.c:456
-#, c-format
-msgid "scanning result for attribute '%s'\n"
-msgstr "сканування результату для атрибуту «%s»\n"
-
-#: dirmngr/dirmngr_ldap.c:463 dirmngr/dirmngr_ldap.c:546
-#: dirmngr/dirmngr_ldap.c:570 dirmngr/dirmngr_ldap.c:582
-#: dirmngr/dirmngr_ldap.c:720
-#, c-format
-msgid "error writing to stdout: %s\n"
-msgstr "помилка під час спроби запису до stdout: %s\n"
-
-#: dirmngr/dirmngr_ldap.c:480
-#, c-format
-msgid "          available attribute '%s'\n"
-msgstr "          доступний атрибут «%s»\n"
-
-#: dirmngr/dirmngr_ldap.c:518
-#, c-format
-msgid "attribute '%s' not found\n"
-msgstr "атрибут «%s» не знайдено\n"
-
-#: dirmngr/dirmngr_ldap.c:525
-#, c-format
-msgid "found attribute '%s'\n"
-msgstr "знайдено атрибут «%s»\n"
-
-#: dirmngr/dirmngr_ldap.c:634
-#, c-format
-msgid "processing url '%s'\n"
-msgstr "обробка адреси «%s»\n"
-
-#: dirmngr/dirmngr_ldap.c:636
-#, c-format
-msgid "          user '%s'\n"
-msgstr "          користувач «%s»\n"
-
-#: dirmngr/dirmngr_ldap.c:638
-#, c-format
-msgid "          pass '%s'\n"
-msgstr "          прохід «%s»\n"
-
-#: dirmngr/dirmngr_ldap.c:640
-#, c-format
-msgid "          host '%s'\n"
-msgstr "          вузол «%s»\n"
-
-#: dirmngr/dirmngr_ldap.c:641
-#, c-format
-msgid "          port %d\n"
-msgstr "          порт %d\n"
-
-#: dirmngr/dirmngr_ldap.c:643
-#, c-format
-msgid "            DN '%s'\n"
-msgstr "            DN «%s»\n"
-
-#: dirmngr/dirmngr_ldap.c:645
-#, c-format
-msgid "        filter '%s'\n"
-msgstr "        фільтр «%s»\n"
-
-#: dirmngr/dirmngr_ldap.c:650 dirmngr/dirmngr_ldap.c:653
-#, c-format
-msgid "          attr '%s'\n"
-msgstr "          атрибут «%s»\n"
-
-#: dirmngr/dirmngr_ldap.c:659
-#, c-format
-msgid "no host name in '%s'\n"
-msgstr "у «%s» немає назви вузла\n"
-
-#: dirmngr/dirmngr_ldap.c:664
-#, c-format
-msgid "no attribute given for query '%s'\n"
-msgstr "не вказано атрибута для запису «%s»\n"
-
-#: dirmngr/dirmngr_ldap.c:670
-#, c-format
-msgid "WARNING: using first attribute only\n"
-msgstr "УВАГА: використано буде лише перший атрибут\n"
-
-#: dirmngr/dirmngr_ldap.c:679
-#, c-format
-msgid "LDAP init to '%s:%d' failed: %s\n"
-msgstr "помилка ініціалізації LDAP «%s:%d»: %s\n"
-
-#: dirmngr/dirmngr_ldap.c:702
-#, c-format
-msgid "binding to '%s:%d' failed: %s\n"
-msgstr "спроба прив’язування до «%s:%d» зазнала невдачі: %s\n"
-
-#: dirmngr/dirmngr_ldap.c:729
-#, c-format
-msgid "searching '%s' failed: %s\n"
-msgstr "помилка під час спроби пошуку «%s»: %s\n"
-
-#: dirmngr/dirmngr_ldap.c:761
-#, c-format
-msgid "'%s' is not an LDAP URL\n"
-msgstr "«%s» не є адресою LDAP\n"
-
-#: dirmngr/dirmngr_ldap.c:767
-#, c-format
-msgid "'%s' is an invalid LDAP URL\n"
-msgstr "«%s» є некоректною адресою LDAP\n"
-
-#: dirmngr/http.c:1987 dirmngr/ocsp.c:255
+#: dirmngr/http.c:1993 dirmngr/ocsp.c:255
 #, c-format
 msgid "error accessing '%s': http status %u\n"
 msgstr "помилка під час спроби доступу до «%s»: стан http %u\n"
 
-#: dirmngr/http.c:3629 dirmngr/ocsp.c:229
+#: dirmngr/http.c:3644 dirmngr/ocsp.c:229
 #, c-format
 msgid "URL '%s' redirected to '%s' (%u)\n"
 msgstr "Адресу «%s» переспрямовано до «%s» (%u)\n"
 
-#: dirmngr/http.c:3635 dirmngr/ocsp.c:246
+#: dirmngr/http.c:3650 dirmngr/ocsp.c:246
 #, c-format
 msgid "too many redirections\n"
 msgstr "занадто багато переспрямувань\n"
 
-#: dirmngr/http.c:3747
+#: dirmngr/http.c:3762
 #, fuzzy, c-format
 #| msgid "writing to '%s'\n"
 msgid "redirection changed to '%s'\n"
@@ -10573,31 +10417,51 @@ msgstr "очікування даних з обгортки LDAP %d зазнал
 msgid "ldap wrapper %d stalled - killing\n"
 msgstr "обгортка LDAP %d не відповідає — завершуємо роботу\n"
 
-#: dirmngr/ldap.c:91
+#: dirmngr/ldap.c:92
 #, c-format
 msgid "invalid char 0x%02x in host name - not added\n"
 msgstr "некоректний символ 0x%02x у назві вузла — не додано\n"
 
-#: dirmngr/ldap.c:95
+#: dirmngr/ldap.c:96
 #, c-format
 msgid "adding '%s:%d' to the ldap server list\n"
 msgstr "додавання «%s:%d» до списку сервера LDAP\n"
 
-#: dirmngr/ldap.c:98 dirmngr/misc.c:512
+#: dirmngr/ldap.c:99 dirmngr/misc.c:512
 #, c-format
 msgid "malloc failed: %s\n"
 msgstr "помилка malloc: %s\n"
 
-#: dirmngr/ldap.c:627
+#: dirmngr/ldap.c:221
 #, c-format
-msgid "start_cert_fetch: invalid pattern '%s'\n"
-msgstr "start_cert_fetch: некоректний шаблон «%s»\n"
+msgid "'%s' is not an LDAP URL\n"
+msgstr "«%s» не є адресою LDAP\n"
+
+#: dirmngr/ldap.c:227 dirmngr/ldap.c:233
+#, c-format
+msgid "'%s' is an invalid LDAP URL\n"
+msgstr "«%s» є некоректною адресою LDAP\n"
 
-#: dirmngr/ldap.c:839
+#: dirmngr/ldap.c:969
 #, c-format
 msgid "ldap_search hit the size limit of the server\n"
 msgstr "ldap_search перевищив обмеження розміру сервера\n"
 
+#: dirmngr/ldapserver.c:117
+#, c-format
+msgid "%s:%u: password given without user\n"
+msgstr "%s:%u: вказано пароль, але не вказано користувача\n"
+
+#: dirmngr/ldapserver.c:181
+#, c-format
+msgid "%s:%u: ignoring unknown flag '%s'\n"
+msgstr ""
+
+#: dirmngr/ldapserver.c:203
+#, c-format
+msgid "%s:%u: skipping this line\n"
+msgstr "%s:%u: пропускаємо цей рядок\n"
+
 #: dirmngr/misc.c:172
 #, c-format
 msgid "invalid canonical S-expression found\n"
@@ -10777,71 +10641,67 @@ msgstr "Відповідачем OCSP повернуто занадто заст
 msgid "assuan_inquire(%s) failed: %s\n"
 msgstr "помилка assuan_inquire(%s): %s\n"
 
-#: dirmngr/server.c:1158
-msgid "ldapserver missing"
-msgstr "не вказано ldapserver"
-
-#: dirmngr/server.c:1224
+#: dirmngr/server.c:1277
 msgid "serialno missing in cert ID"
 msgstr "у ідентифікаторі сертифіката немає серійного номера"
 
-#: dirmngr/server.c:1387 dirmngr/server.c:1473 dirmngr/server.c:1909
-#: dirmngr/server.c:1980 dirmngr/server.c:2552 dirmngr/server.c:2567
+#: dirmngr/server.c:1440 dirmngr/server.c:1526 dirmngr/server.c:1963
+#: dirmngr/server.c:2034 dirmngr/server.c:2662 dirmngr/server.c:2677
 #, c-format
 msgid "assuan_inquire failed: %s\n"
 msgstr "помилка assuan_inquire: %s\n"
 
-#: dirmngr/server.c:1516
+#: dirmngr/server.c:1569
 #, c-format
 msgid "fetch_cert_by_url failed: %s\n"
 msgstr "помилка fetch_cert_by_url: %s\n"
 
-#: dirmngr/server.c:1528 dirmngr/server.c:1559 dirmngr/server.c:1718
+#: dirmngr/server.c:1581 dirmngr/server.c:1612 dirmngr/server.c:1772
 #, c-format
 msgid "error sending data: %s\n"
 msgstr "помилка під час спроби надсилання даних: %s\n"
 
-#: dirmngr/server.c:1666
+#: dirmngr/server.c:1720
 #, c-format
 msgid "start_cert_fetch failed: %s\n"
 msgstr "помилка start_cert_fetch: %s\n"
 
-#: dirmngr/server.c:1699
+#: dirmngr/server.c:1753
 #, c-format
 msgid "fetch_next_cert failed: %s\n"
 msgstr "помилка fetch_next_cert: %s\n"
 
-#: dirmngr/server.c:1726
+#: dirmngr/server.c:1780
 #, c-format
 msgid "max_replies %d exceeded\n"
 msgstr "перевищено max_replies у %d\n"
 
-#: dirmngr/server.c:2856
+#: dirmngr/server.c:2966
 #, c-format
 msgid "can't allocate control structure: %s\n"
 msgstr "не вдалося розмістити структуру керування: %s\n"
 
-#: dirmngr/server.c:2867
+#: dirmngr/server.c:2977
 #, c-format
 msgid "failed to allocate assuan context: %s\n"
 msgstr "не вдалося розмістити контекст assuan: %s\n"
 
-#: dirmngr/server.c:2888
+#: dirmngr/server.c:2998
 #, c-format
 msgid "failed to initialize the server: %s\n"
 msgstr "не вдалося ініціалізувати сервер: %s\n"
 
-#: dirmngr/server.c:2896
+#: dirmngr/server.c:3006
 #, c-format
 msgid "failed to the register commands with Assuan: %s\n"
 msgstr "не вдалося зареєструвати команди за допомогою Assuan: %s\n"
 
-#: dirmngr/server.c:2929
+#: dirmngr/server.c:3039
 #, c-format
 msgid "Assuan accept problem: %s\n"
 msgstr "проблема з прийняттям Assuan: %s\n"
 
-#: dirmngr/server.c:2948
+#: dirmngr/server.c:3058
 #, c-format
 msgid "Assuan processing failed: %s\n"
 msgstr "помилка обробки за допомогою Assuan: %s\n"
@@ -10981,21 +10841,21 @@ msgid "error sending standard options: %s\n"
 msgstr "помилка під час спроби надсилання стандартних параметрів: %s\n"
 
 #: tools/gpgconf-comp.c:481 tools/gpgconf-comp.c:617 tools/gpgconf-comp.c:692
-#: tools/gpgconf-comp.c:804 tools/gpgconf-comp.c:906
+#: tools/gpgconf-comp.c:808 tools/gpgconf-comp.c:910
 msgid "Options controlling the diagnostic output"
 msgstr "Параметри керування діагностичним виводом"
 
 #: tools/gpgconf-comp.c:494 tools/gpgconf-comp.c:630 tools/gpgconf-comp.c:705
-#: tools/gpgconf-comp.c:817 tools/gpgconf-comp.c:929
+#: tools/gpgconf-comp.c:821 tools/gpgconf-comp.c:933
 msgid "Options controlling the configuration"
 msgstr "Параметри керування налаштуваннями"
 
-#: tools/gpgconf-comp.c:517 tools/gpgconf-comp.c:659 tools/gpgconf-comp.c:736
-#: tools/gpgconf-comp.c:849 tools/gpgconf-comp.c:942
+#: tools/gpgconf-comp.c:517 tools/gpgconf-comp.c:659 tools/gpgconf-comp.c:740
+#: tools/gpgconf-comp.c:853 tools/gpgconf-comp.c:946
 msgid "Options useful for debugging"
 msgstr "Параметри діагностики"
 
-#: tools/gpgconf-comp.c:530 tools/gpgconf-comp.c:669 tools/gpgconf-comp.c:862
+#: tools/gpgconf-comp.c:530 tools/gpgconf-comp.c:669 tools/gpgconf-comp.c:866
 msgid "Options controlling the security"
 msgstr "Параметри керування захистом"
 
@@ -11043,11 +10903,11 @@ msgstr "не дозволяти повторне використання ста
 msgid "|N|set the Pinentry timeout to N seconds"
 msgstr "|N|встановити вказаний час очікування Pinentry у секундах"
 
-#: tools/gpgconf-comp.c:707 tools/gpgconf-comp.c:819
+#: tools/gpgconf-comp.c:707 tools/gpgconf-comp.c:823
 msgid "|NAME|use NAME as default secret key"
 msgstr "|NAME|використовувати вказаний типовий закритий ключ"
 
-#: tools/gpgconf-comp.c:710 tools/gpgconf-comp.c:822
+#: tools/gpgconf-comp.c:710 tools/gpgconf-comp.c:826
 msgid "|NAME|encrypt to user ID NAME as well"
 msgstr "|NAME|шифрувати також до вказаного ідентифікатора користувача"
 
@@ -11055,134 +10915,134 @@ msgstr "|NAME|шифрувати також до вказаного іденти
 msgid "|SPEC|set up email aliases"
 msgstr "|SPEC|встановити замінники адреси електронної пошти"
 
-#: tools/gpgconf-comp.c:749 tools/gpgconf-comp.c:981
+#: tools/gpgconf-comp.c:753 tools/gpgconf-comp.c:985
 msgid "Configuration for Keyservers"
 msgstr "Налаштування для серверів ключів"
 
-#: tools/gpgconf-comp.c:751 tools/gpgconf-comp.c:983
+#: tools/gpgconf-comp.c:755 tools/gpgconf-comp.c:987
 msgid "|URL|use keyserver at URL"
 msgstr "|URL|використовувати сервер ключів за адресою"
 
-#: tools/gpgconf-comp.c:754
+#: tools/gpgconf-comp.c:758
 msgid "allow PKA lookups (DNS requests)"
 msgstr "дозволити пошук PKA (запити до DNS)"
 
-#: tools/gpgconf-comp.c:757
+#: tools/gpgconf-comp.c:761
 msgid "|MECHANISMS|use MECHANISMS to locate keys by mail address"
 msgstr ""
 "|MECHANISMS|використовувати вказаний механізм для пошуку ключів за адресою"
 
-#: tools/gpgconf-comp.c:760
+#: tools/gpgconf-comp.c:764
 #, fuzzy
 #| msgid "import keys from a keyserver"
 msgid "import missing key from a signature"
 msgstr "імпортувати ключі з сервера ключів"
 
-#: tools/gpgconf-comp.c:763
+#: tools/gpgconf-comp.c:767
 #, fuzzy
 #| msgid "list and check key signatures"
 msgid "include the public key in signatures"
 msgstr "показати список і перевірити підписи ключів"
 
-#: tools/gpgconf-comp.c:770 tools/gpgconf-comp.c:831
+#: tools/gpgconf-comp.c:774 tools/gpgconf-comp.c:835
 msgid "disable all access to the dirmngr"
 msgstr "заборонити доступ до dirmngr"
 
-#: tools/gpgconf-comp.c:834
+#: tools/gpgconf-comp.c:838
 msgid "|NAME|use encoding NAME for PKCS#12 passphrases"
 msgstr "використовувати вказане кодування для паролів PKCS#12"
 
-#: tools/gpgconf-comp.c:870
+#: tools/gpgconf-comp.c:874
 msgid "do not check CRLs for root certificates"
 msgstr "не шукати у списках відкликаних сертифікатів кореневі сертифікати"
 
-#: tools/gpgconf-comp.c:919
+#: tools/gpgconf-comp.c:923
 msgid "Options controlling the format of the output"
 msgstr "Параметри керування форматом виведення"
 
-#: tools/gpgconf-comp.c:961
+#: tools/gpgconf-comp.c:965
 msgid "Options controlling the interactivity and enforcement"
 msgstr "Параметри керування інтерактивністю та примусом"
 
-#: tools/gpgconf-comp.c:974
+#: tools/gpgconf-comp.c:978
 msgid "Options controlling the use of Tor"
 msgstr "Параметри керування використанням Tor"
 
-#: tools/gpgconf-comp.c:988
+#: tools/gpgconf-comp.c:992
 msgid "Configuration for HTTP servers"
 msgstr "Налаштування для серверів HTTP"
 
-#: tools/gpgconf-comp.c:999
+#: tools/gpgconf-comp.c:1003
 msgid "use system's HTTP proxy setting"
 msgstr "використовувати загальносистемний проксі-сервер HTTP"
 
-#: tools/gpgconf-comp.c:1004
+#: tools/gpgconf-comp.c:1008
 msgid "Configuration of LDAP servers to use"
 msgstr "Налаштування використання серверів LDAP"
 
-#: tools/gpgconf-comp.c:1033
+#: tools/gpgconf-comp.c:1037
 msgid "LDAP server list"
 msgstr "список серверів LDAP"
 
-#: tools/gpgconf-comp.c:1041
+#: tools/gpgconf-comp.c:1045
 msgid "Configuration for OCSP"
 msgstr "Налаштування OCSP"
 
-#: tools/gpgconf-comp.c:1094
+#: tools/gpgconf-comp.c:1098
 msgid "OpenPGP"
 msgstr "OpenPGP"
 
-#: tools/gpgconf-comp.c:1095
+#: tools/gpgconf-comp.c:1099
 msgid "Private Keys"
 msgstr "Закриті ключі"
 
-#: tools/gpgconf-comp.c:1096
+#: tools/gpgconf-comp.c:1100
 msgid "Smartcards"
 msgstr "Картки пам’яті"
 
-#: tools/gpgconf-comp.c:1097
+#: tools/gpgconf-comp.c:1101
 msgid "S/MIME"
 msgstr "S/MIME"
 
-#: tools/gpgconf-comp.c:1098
+#: tools/gpgconf-comp.c:1102
 msgid "Network"
 msgstr "Мережа"
 
-#: tools/gpgconf-comp.c:1099
+#: tools/gpgconf-comp.c:1103
 msgid "Passphrase Entry"
 msgstr "Введення пароля"
 
-#: tools/gpgconf-comp.c:1278
+#: tools/gpgconf-comp.c:1282
 msgid "Component not suitable for launching"
 msgstr "Компонент не є придатним до запуску"
 
-#: tools/gpgconf-comp.c:1284
+#: tools/gpgconf-comp.c:1288
 #, fuzzy, c-format
 #| msgid "External verification of component %s failed"
 msgid "Configuration file of component %s is broken\n"
 msgstr "Помилка зовнішньої перевірки компонента %s"
 
-#: tools/gpgconf-comp.c:1287
+#: tools/gpgconf-comp.c:1291
 #, fuzzy, c-format
 #| msgid "Please use the command \"toggle\" first.\n"
 msgid "Note: Use the command \"%s%s\" to get details.\n"
 msgstr "Скористайтеся спочатку командою «toggle».\n"
 
-#: tools/gpgconf-comp.c:3446
+#: tools/gpgconf-comp.c:3454
 #, c-format
 msgid "External verification of component %s failed"
 msgstr "Помилка зовнішньої перевірки компонента %s"
 
-#: tools/gpgconf-comp.c:3597
+#: tools/gpgconf-comp.c:3605
 msgid "Note that group specifications are ignored\n"
 msgstr "Зауважте, що специфікації груп буде проігноровано\n"
 
-#: tools/gpgconf-comp.c:4195
+#: tools/gpgconf-comp.c:4203
 #, c-format
 msgid "error closing '%s'\n"
 msgstr "помилка під час спроби закрити «%s»\n"
 
-#: tools/gpgconf-comp.c:4197
+#: tools/gpgconf-comp.c:4205
 #, c-format
 msgid "error parsing '%s'\n"
 msgstr "помилка під час спроби обробити «%s»'\n"
@@ -11288,6 +11148,124 @@ msgstr ""
 "Синтаксис: gpg-check-pattern [параметри] файл_шаблонів\n"
 "Перевірити пароль, вказаний у stdin, за допомогою файла_шаблонів\n"
 
+#~ msgid "requesting key %s from %s server %s\n"
+#~ msgstr "надсилаємо запит щодо ключа %s до %s сервера %s\n"
+
+#~ msgid "%s:%u: no hostname given\n"
+#~ msgstr "%s:%u: не вказано назви вузла\n"
+
+#~ msgid "could not parse keyserver\n"
+#~ msgstr "не вдалося обробити сервер ключів\n"
+
+#~ msgid "return all values in a record oriented format"
+#~ msgstr "повернути всі значення у форматі записів"
+
+#~ msgid "|NAME|ignore host part and connect through NAME"
+#~ msgstr ""
+#~ "|NAME|ігнорувати частину вузла і встановити з’єднання за вказаною назвою"
+
+#~ msgid "|NAME|connect to host NAME"
+#~ msgstr "|NAME|встановити з’єднання з вузлом за вказаною назвою"
+
+#~ msgid "|N|connect to port N"
+#~ msgstr "|N|встановити з’єднання на вказаному порті"
+
+#~ msgid "|NAME|use user NAME for authentication"
+#~ msgstr "|NAME|використовувати вказаного користувача для розпізнавання"
+
+#~ msgid "|PASS|use password PASS for authentication"
+#~ msgstr "|PASS|використовувати вказаний пароль для розпізнавання"
+
+#~ msgid "take password from $DIRMNGR_LDAP_PASS"
+#~ msgstr "визначити пароль за $DIRMNGR_LDAP_PASS"
+
+#~ msgid "|STRING|query DN STRING"
+#~ msgstr "|STRING|надіслати запит до DN щодо вказаного рядка"
+
+#~ msgid "|STRING|use STRING as filter expression"
+#~ msgstr "|STRING|використовувати вказаний рядок для фільтрування"
+
+#~ msgid "|STRING|return the attribute STRING"
+#~ msgstr "|STRING|повернути атрибут за вказаним рядком"
+
+#~ msgid "Usage: dirmngr_ldap [options] [URL] (-h for help)\n"
+#~ msgstr "Використання: dirmngr_ldap [параметри] [адреса] (-h — довідка)\n"
+
+#~ msgid ""
+#~ "Syntax: dirmngr_ldap [options] [URL]\n"
+#~ "Internal LDAP helper for Dirmngr\n"
+#~ "Interface and options may change without notice\n"
+#~ msgstr ""
+#~ "Синтаксис: dirmngr_ldap [параметри] [адреса]\n"
+#~ "Вбудований допоміжний інструмент LDAP для Dirmngr\n"
+#~ "Інтерфейс і параметри можуть змінюватися без додаткового оголошення\n"
+
+#~ msgid "invalid port number %d\n"
+#~ msgstr "некоректний номер порту %d\n"
+
+#~ msgid "scanning result for attribute '%s'\n"
+#~ msgstr "сканування результату для атрибуту «%s»\n"
+
+#~ msgid "error writing to stdout: %s\n"
+#~ msgstr "помилка під час спроби запису до stdout: %s\n"
+
+#~ msgid "          available attribute '%s'\n"
+#~ msgstr "          доступний атрибут «%s»\n"
+
+#~ msgid "attribute '%s' not found\n"
+#~ msgstr "атрибут «%s» не знайдено\n"
+
+#~ msgid "found attribute '%s'\n"
+#~ msgstr "знайдено атрибут «%s»\n"
+
+#~ msgid "processing url '%s'\n"
+#~ msgstr "обробка адреси «%s»\n"
+
+#~ msgid "          user '%s'\n"
+#~ msgstr "          користувач «%s»\n"
+
+#~ msgid "          pass '%s'\n"
+#~ msgstr "          прохід «%s»\n"
+
+#~ msgid "          host '%s'\n"
+#~ msgstr "          вузол «%s»\n"
+
+#~ msgid "          port %d\n"
+#~ msgstr "          порт %d\n"
+
+#~ msgid "            DN '%s'\n"
+#~ msgstr "            DN «%s»\n"
+
+#~ msgid "        filter '%s'\n"
+#~ msgstr "        фільтр «%s»\n"
+
+#~ msgid "          attr '%s'\n"
+#~ msgstr "          атрибут «%s»\n"
+
+#~ msgid "no host name in '%s'\n"
+#~ msgstr "у «%s» немає назви вузла\n"
+
+#~ msgid "no attribute given for query '%s'\n"
+#~ msgstr "не вказано атрибута для запису «%s»\n"
+
+#~ msgid "WARNING: using first attribute only\n"
+#~ msgstr "УВАГА: використано буде лише перший атрибут\n"
+
+#~ msgid "LDAP init to '%s:%d' failed: %s\n"
+#~ msgstr "помилка ініціалізації LDAP «%s:%d»: %s\n"
+
+#~ msgid "binding to '%s:%d' failed: %s\n"
+#~ msgstr "спроба прив’язування до «%s:%d» зазнала невдачі: %s\n"
+
+#~ msgid "searching '%s' failed: %s\n"
+#~ msgstr "помилка під час спроби пошуку «%s»: %s\n"
+
+#~ msgid "start_cert_fetch: invalid pattern '%s'\n"
+#~ msgstr "start_cert_fetch: некоректний шаблон «%s»\n"
+
+#~ msgid "ldapserver missing"
+#~ msgstr "не вказано ldapserver"
+
 #~ msgid "Note: old default options file '%s' ignored\n"
 #~ msgstr "ЗАУВАЖЕННЯ: застарілий файл типових параметрів «%s» проігноровано\n"
 
index 543e570..3d78ce6 100644 (file)
Binary files a/po/zh_CN.gmo and b/po/zh_CN.gmo differ
index e85e23d..6d7e0d8 100644 (file)
@@ -1,24 +1,26 @@
 # Simplified Chinese(zh-CN) messages for GnuPG
 # Copyright (C) 2006 Free Software Foundation, Inc.
-# This file is distributed under the same license as the PACKAGE package.
+# This file is distributed under the same license as the GnuPG package.
 # Meng Jie <zuxyhere@eastday.com>, 2004.
 # Chuhao Li <lchopn@gmail.com>, 2018.
+# bobwxc <bobwxc@yeah.net>, 2021.
+#
 msgid ""
 msgstr ""
-"Project-Id-Version: GNU gnupg 2.3.0-beta485\n"
+"Project-Id-Version: GNU gnupg 2.2.27\n"
 "Report-Msgid-Bugs-To: translations@gnupg.org\n"
-"POT-Creation-Date: 2021-01-11 18:47+0100\n"
-"PO-Revision-Date: 2018-12-07 20:59+0800\n"
-"Last-Translator: Chuhao Li <lchopn@gmail.com>\n"
-"Language-Team: Chinese (simplified) <i18n-zh@googlegroups.com>\n"
+"POT-Creation-Date: 2021-06-10 18:59+0200\n"
+"PO-Revision-Date: 2021-06-10 20:09+0900\n"
+"Last-Translator: bobwxc <bobwxc@yeah.net>\n"
+"Language-Team: None\n"
 "Language: zh_CN\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Poedit-SourceCharset: iso-8859-1\n"
+"X-Poedit-SourceCharset: UTF-8\n"
 "X-Poedit-Basepath: .\n"
 "Plural-Forms: nplurals=1; plural=0;\n"
-"X-Generator: Poedit 2.2\n"
+"X-Generator: Poedit 2.2.1\n"
 
 #: agent/call-pinentry.c:323
 #, c-format
@@ -33,19 +35,19 @@ msgstr "获取 pinentry 锁失败: %s\n"
 #. utf-8 so that the strings are in the expected encoding.
 #: agent/call-pinentry.c:529
 msgid "|pinentry-label|_OK"
-msgstr "|pinentry-label|"
+msgstr "|pinentry-label|确认(_O)"
 
 #: agent/call-pinentry.c:530
 msgid "|pinentry-label|_Cancel"
-msgstr "|pinentry-label|取消"
+msgstr "|pinentry-label|取消(_C)"
 
 #: agent/call-pinentry.c:531
 msgid "|pinentry-label|_Yes"
-msgstr "|pinentry-label|是"
+msgstr "|pinentry-label|是(_Y)"
 
 #: agent/call-pinentry.c:532
 msgid "|pinentry-label|_No"
-msgstr "|pinentry-label|否"
+msgstr "|pinentry-label|否(_N)"
 
 #: agent/call-pinentry.c:533
 msgid "|pinentry-label|PIN:"
@@ -53,7 +55,7 @@ msgstr "|pinentry-label|PIN:"
 
 #: agent/call-pinentry.c:534
 msgid "|pinentry-label|_Save in password manager"
-msgstr "|pinentry-label|在密码管理器中保存"
+msgstr "|pinentry-label|在密码管理器中保存(_S)"
 
 #: agent/call-pinentry.c:535
 msgid "Do you really want to make your passphrase visible on the screen?"
@@ -105,7 +107,7 @@ msgid "Passphrase:"
 msgstr "密码:"
 
 #: agent/call-pinentry.c:1107 agent/call-pinentry.c:1359
-#: agent/command-ssh.c:3130 agent/genkey.c:416
+#: agent/command-ssh.c:3140 agent/genkey.c:416
 msgid "does not match - try again"
 msgstr "不匹配 - 请重试"
 
@@ -119,7 +121,7 @@ msgstr "不匹配 - 请重试"
 #: agent/call-pinentry.c:1129 agent/call-pinentry.c:1380
 #, c-format
 msgid "SETERROR %s (try %d of %d)"
-msgstr ""
+msgstr "SETERROR %s(尝试第%d个,共%d个)"
 
 #: agent/call-pinentry.c:1140 agent/call-pinentry.c:1391
 msgid "Repeat:"
@@ -155,32 +157,32 @@ msgstr "错误的密码"
 msgid "ssh keys greater than %d bits are not supported\n"
 msgstr "长度超过 %d 位的 ssh 密钥不被支持\n"
 
-#: agent/command-ssh.c:862 common/dotlock.c:852 g10/card-util.c:932
-#: g10/exec.c:546 g10/export.c:1320 g10/gpg.c:1352 g10/keygen.c:4998
-#: g10/keyring.c:1322 g10/keyring.c:1637 g10/openfile.c:291 g10/sign.c:1009
-#: g10/sign.c:1323 g10/tdbio.c:753
+#: agent/command-ssh.c:862 common/dotlock.c:852 g10/card-util.c:933
+#: g10/exec.c:554 g10/export.c:1320 g10/gpg.c:1360 g10/keygen.c:4998
+#: g10/keyring.c:1322 g10/keyring.c:1637 g10/openfile.c:291 g10/sign.c:1008
+#: g10/sign.c:1322 g10/tdbio.c:753
 #, c-format
 msgid "can't create '%s': %s\n"
 msgstr "无法创建 ‘%s’: %s\n"
 
-#: agent/command-ssh.c:874 common/helpfile.c:57 g10/card-util.c:889
+#: agent/command-ssh.c:874 common/helpfile.c:57 g10/card-util.c:890
 #: g10/dearmor.c:59 g10/dearmor.c:106 g10/decrypt.c:65 g10/decrypt.c:136
-#: g10/decrypt.c:153 g10/encrypt.c:180 g10/encrypt.c:543 g10/gpg.c:1353
-#: g10/import.c:352 g10/import.c:536 g10/import.c:764 g10/keygen.c:4036
+#: g10/decrypt.c:153 g10/encrypt.c:180 g10/encrypt.c:543 g10/gpg.c:1361
+#: g10/import.c:364 g10/import.c:548 g10/import.c:776 g10/keygen.c:4036
 #: g10/keyring.c:1663 g10/openfile.c:195 g10/openfile.c:209 g10/plaintext.c:128
-#: g10/plaintext.c:649 g10/sign.c:991 g10/sign.c:1202 g10/sign.c:1307
-#: g10/sign.c:1452 g10/tdbdump.c:143 g10/tdbdump.c:151 g10/tdbio.c:758
-#: g10/tdbio.c:829 g10/verify.c:96 g10/verify.c:160 sm/gpgsm.c:2219
-#: sm/gpgsm.c:2249 sm/gpgsm.c:2287 sm/qualified.c:66 dirmngr/certcache.c:396
+#: g10/plaintext.c:649 g10/sign.c:990 g10/sign.c:1201 g10/sign.c:1306
+#: g10/sign.c:1451 g10/tdbdump.c:143 g10/tdbdump.c:151 g10/tdbio.c:758
+#: g10/tdbio.c:829 g10/verify.c:96 g10/verify.c:160 sm/gpgsm.c:2125
+#: sm/gpgsm.c:2155 sm/gpgsm.c:2193 sm/qualified.c:66 dirmngr/certcache.c:396
 #: dirmngr/certcache.c:476 dirmngr/certcache.c:478 dirmngr/crlcache.c:2588
-#: dirmngr/dirmngr.c:1722
+#: dirmngr/dirmngr.c:1759
 #, c-format
 msgid "can't open '%s': %s\n"
 msgstr "无法打开 ‘%s’: %s\n"
 
 #: agent/command-ssh.c:2385 agent/command-ssh.c:2431 agent/command-ssh.c:2449
-#: agent/command-ssh.c:2601 g10/card-util.c:687 g10/card-util.c:708
-#: g10/skclist.c:430
+#: agent/command-ssh.c:2601 g10/card-util.c:688 g10/card-util.c:709
+#: g10/skclist.c:435
 #, c-format
 msgid "error getting serial number of card: %s\n"
 msgstr "获取卡的序列号时出现错误: %s\n"
@@ -188,7 +190,7 @@ msgstr "获取卡的序列号时出现错误: %s\n"
 #: agent/command-ssh.c:2435
 #, c-format
 msgid "detected card with S/N: %s\n"
-msgstr "检测到卡具有的 S/N: %s\n"
+msgstr "检测到的卡 S/N 码为: %s\n"
 
 #: agent/command-ssh.c:2440
 #, c-format
@@ -205,31 +207,31 @@ msgstr "没有找到合适的卡片密钥:%s\n"
 msgid "error getting list of cards: %s\n"
 msgstr "获取卡片列表时出现错误:%s\n"
 
-#: agent/command-ssh.c:2765
+#: agent/command-ssh.c:2775
 #, c-format
 msgid ""
 "An ssh process requested the use of key%%0A  %s%%0A  (%s)%%0ADo you want to "
 "allow this?"
 msgstr "一个 ssh 进程请求使用密钥%%0A  %s%%0A  (%s)%%0A您想要允许这一请求吗?"
 
-#: agent/command-ssh.c:2772
+#: agent/command-ssh.c:2782
 msgid "Allow"
 msgstr "允许"
 
-#: agent/command-ssh.c:2772
+#: agent/command-ssh.c:2782
 msgid "Deny"
 msgstr "拒绝"
 
-#: agent/command-ssh.c:2781
+#: agent/command-ssh.c:2791
 #, c-format
 msgid "Please enter the passphrase for the ssh key%%0A  %F%%0A  (%c)"
 msgstr "请输入 ssh 密钥 %%0A  %F%%0A  (%c)  的密码"
 
-#: agent/command-ssh.c:3058 agent/genkey.c:351
+#: agent/command-ssh.c:3068 agent/genkey.c:351
 msgid "Please re-enter this passphrase"
 msgstr "请重新输入此密码"
 
-#: agent/command-ssh.c:3085
+#: agent/command-ssh.c:3095
 #, c-format
 msgid ""
 "Please enter a passphrase to protect the received secret key%%0A   %s%%0A   "
@@ -238,7 +240,7 @@ msgstr ""
 "请输入一个密码,以便于在 gpg-agent 的密钥存储中保护接收到的私钥 %%0A   %s"
 "%%0A   %s%%0A"
 
-#: agent/command-ssh.c:3667
+#: agent/command-ssh.c:3677
 #, c-format
 msgid "failed to create stream from socket: %s\n"
 msgstr "从以下套接字创建流时失败: %s\n"
@@ -263,25 +265,23 @@ msgstr "PUK"
 
 #: agent/divert-scd.c:258
 msgid "Reset Code"
-msgstr "重置码"
+msgstr "重置码"
 
 #: agent/divert-scd.c:286
 msgid "Push ACK button on card/token."
-msgstr "按下 card/token 上的 ACK 按钮。"
+msgstr "按下卡片/令牌上的 ACK 按钮。"
 
 #: agent/divert-scd.c:308 agent/divert-scd.c:312
-#, fuzzy
-#| msgid "Use the reader's pinpad for input."
 msgid "Use the reader's pinpad for input."
-msgstr "使用读卡器小键盘输入。"
+msgstr "使用读卡器小键盘输入。"
 
 #: agent/divert-scd.c:378
 msgid "Repeat this Reset Code"
-msgstr "重复此重置代码"
+msgstr "再次输入此重置码"
 
 #: agent/divert-scd.c:380
 msgid "Repeat this PUK"
-msgstr "重复此 PUK"
+msgstr "再次输入此 PUK"
 
 #: agent/divert-scd.c:381
 msgid "Repeat this PIN"
@@ -289,7 +289,7 @@ msgstr "再次输入此 PIN"
 
 #: agent/divert-scd.c:386
 msgid "Reset Code not correctly repeated; try again"
-msgstr "重置码再次输入时与首次输入不符;请重试"
+msgstr "重置码再次输入时与首次输入不符;请重试"
 
 #: agent/divert-scd.c:388
 msgid "PUK not correctly repeated; try again"
@@ -381,47 +381,45 @@ msgstr ""
 "@选项:\n"
 " "
 
-#: agent/gpg-agent.c:165 scd/scdaemon.c:120 dirmngr/dirmngr.c:166
+#: agent/gpg-agent.c:165 scd/scdaemon.c:120 dirmngr/dirmngr.c:167
 msgid "run in daemon mode (background)"
 msgstr "以守护进程模式运行 (后台)"
 
-#: agent/gpg-agent.c:166 scd/scdaemon.c:117 dirmngr/dirmngr.c:165
+#: agent/gpg-agent.c:166 scd/scdaemon.c:117 dirmngr/dirmngr.c:166
 msgid "run in server mode (foreground)"
 msgstr "以服务进程模式运行 (前台)"
 
-#: agent/gpg-agent.c:168 dirmngr/dirmngr.c:168
+#: agent/gpg-agent.c:168 dirmngr/dirmngr.c:169
 msgid "run in supervised mode"
 msgstr "以管理进程模式运行"
 
-#: agent/gpg-agent.c:170 g10/gpg.c:608 g10/gpgv.c:78 kbx/kbxutil.c:88
-#: scd/scdaemon.c:121 sm/gpgsm.c:310 dirmngr/dirmngr-client.c:70
-#: dirmngr/dirmngr.c:181 dirmngr/dirmngr_ldap.c:135
-#: tools/gpg-connect-agent.c:78 tools/gpgconf.c:108
+#: agent/gpg-agent.c:170 g10/gpg.c:605 g10/gpgv.c:78 kbx/kbxutil.c:88
+#: scd/scdaemon.c:121 sm/gpgsm.c:311 dirmngr/dirmngr-client.c:70
+#: dirmngr/dirmngr.c:182 tools/gpg-connect-agent.c:78 tools/gpgconf.c:108
 msgid "verbose"
 msgstr "详细模式"
 
 #: agent/gpg-agent.c:171 g10/gpgv.c:79 kbx/kbxutil.c:89 scd/scdaemon.c:122
-#: sm/gpgsm.c:311 dirmngr/dirmngr-client.c:71 dirmngr/dirmngr.c:182
-#: dirmngr/dirmngr_ldap.c:136
+#: sm/gpgsm.c:312 dirmngr/dirmngr-client.c:71 dirmngr/dirmngr.c:183
 msgid "be somewhat more quiet"
 msgstr "尽量减少提示信息"
 
-#: agent/gpg-agent.c:172 scd/scdaemon.c:123 dirmngr/dirmngr.c:183
+#: agent/gpg-agent.c:172 scd/scdaemon.c:123 dirmngr/dirmngr.c:184
 msgid "sh-style command output"
 msgstr "sh 风格的命令行输出"
 
-#: agent/gpg-agent.c:173 scd/scdaemon.c:124 dirmngr/dirmngr.c:184
+#: agent/gpg-agent.c:173 scd/scdaemon.c:124 dirmngr/dirmngr.c:185
 msgid "csh-style command output"
 msgstr "csh 风格的命令行输出"
 
-#: agent/gpg-agent.c:174 scd/scdaemon.c:125 sm/gpgsm.c:341
-#: dirmngr/dirmngr.c:185
+#: agent/gpg-agent.c:174 scd/scdaemon.c:125 sm/gpgsm.c:344
+#: dirmngr/dirmngr.c:186
 msgid "|FILE|read options from FILE"
 msgstr "|FILE|从 FILE 中读取选项"
 
-#: agent/gpg-agent.c:183 scd/scdaemon.c:135 dirmngr/dirmngr.c:188
+#: agent/gpg-agent.c:183 scd/scdaemon.c:135 dirmngr/dirmngr.c:189
 msgid "do not detach from the console"
-msgstr "未能从控制台分离"
+msgstr "请勿离开控制台"
 
 #: agent/gpg-agent.c:188
 msgid "use a log file for the server"
@@ -495,9 +493,9 @@ msgstr "启用 putty 支持"
 #. reporting address.  This is so that we can change the
 #. reporting address without breaking the translations.
 #: agent/gpg-agent.c:531 agent/preset-passphrase.c:100 agent/protect-tool.c:155
-#: g10/gpg.c:1070 g10/gpgv.c:149 kbx/kbxutil.c:113 scd/scdaemon.c:298
-#: sm/gpgsm.c:567 dirmngr/dirmngr-client.c:168 dirmngr/dirmngr.c:404
-#: dirmngr/dirmngr_ldap.c:207 tools/gpg-connect-agent.c:205 tools/gpgconf.c:146
+#: g10/gpg.c:1074 g10/gpgv.c:149 kbx/kbxutil.c:113 scd/scdaemon.c:299
+#: sm/gpgsm.c:570 dirmngr/dirmngr-client.c:168 dirmngr/dirmngr.c:412
+#: tools/gpg-connect-agent.c:205 tools/gpgconf.c:146
 #: tools/gpg-check-pattern.c:143
 msgid "Please report bugs to <@EMAIL@>.\n"
 msgstr ""
@@ -513,40 +511,40 @@ msgid ""
 "Syntax: @GPG_AGENT@ [options] [command [args]]\n"
 "Secret key management for @GNUPG@\n"
 msgstr ""
-"语法: @GPG_AGENT@ [options] [command [args]]\n"
+"语法: @GPG_AGENT@ [选项] [命令 [参数]]\n"
 "@GNUPG@ 私钥管理器\n"
 
-#: agent/gpg-agent.c:587 g10/gpg.c:1262 scd/scdaemon.c:370 sm/gpgsm.c:715
-#: dirmngr/dirmngr.c:488
+#: agent/gpg-agent.c:587 g10/gpg.c:1270 scd/scdaemon.c:371 sm/gpgsm.c:718
+#: dirmngr/dirmngr.c:496
 #, c-format
 msgid "invalid debug-level '%s' given\n"
 msgstr "无效的调试级别‘%s’\n"
 
-#: agent/gpg-agent.c:945 g10/gpg.c:3753 g10/gpg.c:3777 sm/gpgsm.c:1631
-#: sm/gpgsm.c:1637
+#: agent/gpg-agent.c:945 g10/gpg.c:3773 g10/gpg.c:3797 sm/gpgsm.c:1531
+#: sm/gpgsm.c:1537
 #, c-format
 msgid "selected digest algorithm is invalid\n"
 msgstr "所选的散列算法无效\n"
 
 #: agent/gpg-agent.c:1168 agent/gpg-agent.c:2023 common/argparse.c:1755
-#: common/argparse.c:1847 g10/gpg.c:2482 scd/scdaemon.c:532 sm/gpgsm.c:1063
-#: dirmngr/dirmngr.c:956 dirmngr/dirmngr.c:1841
+#: common/argparse.c:1847 g10/gpg.c:2495 scd/scdaemon.c:533 sm/gpgsm.c:977
+#: dirmngr/dirmngr.c:994 dirmngr/dirmngr.c:1878
 #, c-format
 msgid "reading options from '%s'\n"
 msgstr "从‘%s’读取选项\n"
 
-#: agent/gpg-agent.c:1300 g10/gpg.c:3704 scd/scdaemon.c:655 sm/gpgsm.c:1571
-#: dirmngr/dirmngr.c:1067 tools/gpg-connect-agent.c:1244 tools/gpgconf.c:624
+#: agent/gpg-agent.c:1300 g10/gpg.c:3724 scd/scdaemon.c:657 sm/gpgsm.c:1471
+#: dirmngr/dirmngr.c:1102 tools/gpg-connect-agent.c:1244 tools/gpgconf.c:624
 #, c-format
 msgid "Note: '%s' is not considered an option\n"
 msgstr "注意:‘%s’不被认为是一个选项\n"
 
-#: agent/gpg-agent.c:2159 scd/scdaemon.c:1096 dirmngr/dirmngr.c:1219
+#: agent/gpg-agent.c:2159 scd/scdaemon.c:1098 dirmngr/dirmngr.c:1256
 #, c-format
 msgid "can't create socket: %s\n"
 msgstr "无法创建套接字: %s\n"
 
-#: agent/gpg-agent.c:2176 scd/scdaemon.c:1109 dirmngr/dirmngr.c:1232
+#: agent/gpg-agent.c:2176 scd/scdaemon.c:1111 dirmngr/dirmngr.c:1269
 #, c-format
 msgid "socket name '%s' is too long\n"
 msgstr "套接字名称‘%s’太长\n"
@@ -556,29 +554,29 @@ msgstr "套接字名称‘%s’太长\n"
 msgid "a gpg-agent is already running - not starting a new one\n"
 msgstr "一个 gpg-agent 实例正在运行 - 不启动新的实例\n"
 
-#: agent/gpg-agent.c:2226 scd/scdaemon.c:1133 dirmngr/dirmngr.c:1264
+#: agent/gpg-agent.c:2226 scd/scdaemon.c:1135 dirmngr/dirmngr.c:1301
 #, c-format
 msgid "error getting nonce for the socket\n"
 msgstr "获取套接字 nonce 时出现错误\n"
 
-#: agent/gpg-agent.c:2231 scd/scdaemon.c:1136 dirmngr/dirmngr.c:1267
+#: agent/gpg-agent.c:2231 scd/scdaemon.c:1138 dirmngr/dirmngr.c:1304
 #, c-format
 msgid "error binding socket to '%s': %s\n"
 msgstr "绑定套接字到 '%s' 时出现错误: %s\n"
 
 #: agent/gpg-agent.c:2242 agent/gpg-agent.c:2282 agent/gpg-agent.c:2291
-#: scd/scdaemon.c:1144 dirmngr/dirmngr.c:1276
+#: scd/scdaemon.c:1146 dirmngr/dirmngr.c:1313
 #, c-format
 msgid "can't set permissions of '%s': %s\n"
 msgstr "无法设置‘%s’的权限: %s\n"
 
-#: agent/gpg-agent.c:2256 scd/scdaemon.c:1156 dirmngr/dirmngr.c:1288
+#: agent/gpg-agent.c:2256 scd/scdaemon.c:1158 dirmngr/dirmngr.c:1325
 #, c-format
 msgid "listening on socket '%s'\n"
 msgstr "正在监听套接字‘%s’\n"
 
 #: agent/gpg-agent.c:2276 agent/gpg-agent.c:2329 common/homedir.c:517
-#: g10/exec.c:261 g10/openfile.c:397
+#: g10/exec.c:269 g10/openfile.c:397
 #, c-format
 msgid "can't create directory '%s': %s\n"
 msgstr "无法创建目录‘%s’:%s\n"
@@ -599,7 +597,7 @@ msgstr "‘%s’的 stat() 方法失败:%s\n"
 msgid "can't use '%s' as home directory\n"
 msgstr "无法使用‘%s’作为家目录\n"
 
-#: agent/gpg-agent.c:2502 scd/scdaemon.c:1172 dirmngr/dirmngr.c:2047
+#: agent/gpg-agent.c:2502 scd/scdaemon.c:1174 dirmngr/dirmngr.c:2084
 #, c-format
 msgid "error reading nonce on fd %d: %s\n"
 msgstr "在读取 fd %d 上的 nonce 时出现错误: %s\n"
@@ -624,12 +622,12 @@ msgstr "ssh 句柄 0x%lx 于文件描述符 %d 启动\n"
 msgid "ssh handler 0x%lx for fd %d terminated\n"
 msgstr "ssh 句柄 0x%lx 于文件描述符 %d 终止\n"
 
-#: agent/gpg-agent.c:3016 scd/scdaemon.c:1362 dirmngr/dirmngr.c:2261
+#: agent/gpg-agent.c:3016 scd/scdaemon.c:1366 dirmngr/dirmngr.c:2298
 #, c-format
 msgid "npth_pselect failed: %s - waiting 1s\n"
 msgstr "npth_pselect 方法失败:%s - 等待 1s\n"
 
-#: agent/gpg-agent.c:3104 scd/scdaemon.c:1427
+#: agent/gpg-agent.c:3104 scd/scdaemon.c:1431
 #, c-format
 msgid "%s %s stopped\n"
 msgstr "%s %s 已停止\n"
@@ -649,11 +647,11 @@ msgid ""
 "Syntax: gpg-preset-passphrase [options] KEYGRIP\n"
 "Password cache maintenance\n"
 msgstr ""
-"语法: gpg-preset-passphrase [options] KEYGRIP\n"
+"语法: gpg-preset-passphrase [选项] KEYGRIP\n"
 "密码缓存管理\n"
 
-#: agent/protect-tool.c:108 g10/gpg.c:440 kbx/kbxutil.c:71 sm/gpgsm.c:204
-#: dirmngr/dirmngr.c:163 tools/gpgconf.c:78
+#: agent/protect-tool.c:108 g10/gpg.c:437 kbx/kbxutil.c:71 sm/gpgsm.c:205
+#: dirmngr/dirmngr.c:164 tools/gpgconf.c:78
 msgid ""
 "@Commands:\n"
 " "
@@ -661,8 +659,8 @@ msgstr ""
 "@命令:\n"
 " "
 
-#: agent/protect-tool.c:117 g10/gpg.c:553 g10/gpgv.c:76 kbx/kbxutil.c:81
-#: sm/gpgsm.c:252 dirmngr/dirmngr.c:179 tools/gpg-connect-agent.c:76
+#: agent/protect-tool.c:117 g10/gpg.c:550 g10/gpgv.c:76 kbx/kbxutil.c:81
+#: sm/gpgsm.c:253 dirmngr/dirmngr.c:180 tools/gpg-connect-agent.c:76
 #: tools/gpgconf.c:105
 msgid ""
 "@\n"
@@ -682,14 +680,14 @@ msgid ""
 "Syntax: gpg-protect-tool [options] [args]\n"
 "Secret key maintenance tool\n"
 msgstr ""
-"语法:gpg-protect-tool [options] [args]\n"
+"语法:gpg-protect-tool [选项] [参数]\n"
 "私钥管理工具\n"
 
-#: agent/protect-tool.c:703
+#: agent/protect-tool.c:703 sm/import.c:774
 msgid "Please enter the passphrase to unprotect the PKCS#12 object."
 msgstr "请输入密码以解密 PKCS#12 对象。"
 
-#: agent/protect-tool.c:708
+#: agent/protect-tool.c:708 sm/export.c:710
 msgid "Please enter the passphrase to protect the new PKCS#12 object."
 msgstr "请输入密码以保护新的 PKCS#12 对象。"
 
@@ -705,7 +703,7 @@ msgid ""
 "needed to complete this operation."
 msgstr ""
 "请输入所需的密码或者 PIN\n"
-"以完成这一操作。"
+"以完成操作。"
 
 #: agent/protect-tool.c:730
 #, c-format
@@ -717,7 +715,7 @@ msgstr "已取消\n"
 msgid "error while asking for the passphrase: %s\n"
 msgstr "请求密码时出现错误: %s\n"
 
-#: agent/trustlist.c:154 agent/trustlist.c:364 dirmngr/dirmngr.c:1629
+#: agent/trustlist.c:154 agent/trustlist.c:364 dirmngr/dirmngr.c:1666
 #: tools/gpgconf.c:418
 #, c-format
 msgid "error opening '%s': %s\n"
@@ -826,7 +824,7 @@ msgstr "更改密码"
 
 #: agent/findkey.c:339
 msgid "I'll change it later"
-msgstr "我稍后修改"
+msgstr "我稍后修改"
 
 #: agent/findkey.c:1522
 #, c-format
@@ -873,7 +871,7 @@ msgstr "检查已建立的签名时发生错误: %s\n"
 msgid "secret key parts are not available\n"
 msgstr "私钥部分不可用\n"
 
-#: agent/cvt-openpgp.c:344 g10/card-util.c:1540
+#: agent/cvt-openpgp.c:344 g10/card-util.c:1541
 #, c-format
 msgid "public key algorithm %d (%s) is not supported\n"
 msgstr "公钥算法 %d (%s) 不被支持\n"
@@ -888,21 +886,21 @@ msgstr "保护算法 %d (%s) 不被支持\n"
 msgid "protection hash algorithm %d (%s) is not supported\n"
 msgstr "保护散列算法 %d (%s) 不被支持\n"
 
-#: common/exechelp-posix.c:359 common/exechelp-w32.c:449
-#: common/exechelp-w32.c:473 common/exechelp-w32.c:503
+#: common/exechelp-posix.c:359 common/exechelp-w32.c:451
+#: common/exechelp-w32.c:475 common/exechelp-w32.c:505
 #, c-format
 msgid "error creating a pipe: %s\n"
 msgstr "创建管道时发生错误: %s\n"
 
 #: common/exechelp-posix.c:372 common/exechelp-w32.c:355
-#: common/exechelp-w32.c:459 common/exechelp-w32.c:483
-#: common/exechelp-w32.c:513
+#: common/exechelp-w32.c:461 common/exechelp-w32.c:485
+#: common/exechelp-w32.c:515
 #, c-format
 msgid "error creating a stream for a pipe: %s\n"
 msgstr "为管道创建流时出现错误: %s\n"
 
 #: common/exechelp-posix.c:495 common/exechelp-posix.c:570
-#: common/exechelp-posix.c:851 dirmngr/dirmngr.c:1306
+#: common/exechelp-posix.c:856 dirmngr/dirmngr.c:1343
 #, c-format
 msgid "error forking process: %s\n"
 msgstr "在 fork 进程时出现错误: %s\n"
@@ -912,28 +910,28 @@ msgstr "在 fork 进程时出现错误: %s\n"
 msgid "waiting for process %d to terminate failed: %s\n"
 msgstr "等待进程 %d 终止时失败: %s\n"
 
-#: common/exechelp-posix.c:678 common/exechelp-posix.c:794
+#: common/exechelp-posix.c:678 common/exechelp-posix.c:799
 #, c-format
 msgid "error running '%s': probably not installed\n"
 msgstr "运行‘%s’时出现错误:可能未安装\n"
 
-#: common/exechelp-posix.c:684 common/exechelp-posix.c:801
-#: common/exechelp-w32.c:796 common/exechelp-w32ce.c:781
+#: common/exechelp-posix.c:684 common/exechelp-posix.c:806
+#: common/exechelp-w32.c:829 common/exechelp-w32ce.c:781
 #, c-format
 msgid "error running '%s': exit status %d\n"
 msgstr "运行‘%s’时出现错误:退出代码 %d\n"
 
-#: common/exechelp-posix.c:692 common/exechelp-posix.c:809
+#: common/exechelp-posix.c:692 common/exechelp-posix.c:814
 #, c-format
 msgid "error running '%s': terminated\n"
 msgstr "运行‘%s’时出现错误:被终止\n"
 
-#: common/exechelp-posix.c:750 common/exechelp-w32.c:777
+#: common/exechelp-posix.c:755 common/exechelp-w32.c:810
 #, c-format
 msgid "waiting for processes to terminate failed: %s\n"
 msgstr "等待进程终止时失败: %s\n"
 
-#: common/exechelp-w32.c:789 common/exechelp-w32ce.c:775
+#: common/exechelp-w32.c:822 common/exechelp-w32ce.c:775
 #, c-format
 msgid "error getting exit code of process %d: %s\n"
 msgstr "获取进程 %d 的退出代码时出现错误: %s\n"
@@ -1018,17 +1016,20 @@ msgstr "oO"
 msgid "cC"
 msgstr "cC"
 
+# 请注意out of core 中的 core 意为 core memory,要区别于 CPU 的核心
+# 即核心内存,重点在内存,现在也可以直接理解成内存
+# out of core 意味着 内存资源不足
 #: common/miscellaneous.c:86
 #, c-format
 msgid "out of core in secure memory while allocating %lu bytes"
-msgstr ""
+msgstr "分配 %lu 字节时安全内存不足"
 
 #: common/miscellaneous.c:89
 #, c-format
 msgid "out of core while allocating %lu bytes"
-msgstr ""
+msgstr "分配 %lu 字节时内存不足"
 
-#: common/miscellaneous.c:115 g10/card-util.c:896 tools/no-libgcrypt.c:30
+#: common/miscellaneous.c:115 g10/card-util.c:897 tools/no-libgcrypt.c:30
 #, c-format
 msgid "error allocating enough memory: %s\n"
 msgstr "在分配足够的内存时出现错误: %s\n"
@@ -1049,16 +1050,14 @@ msgid "unknown debug flag '%s' ignored\n"
 msgstr "未知的调试选项 ‘%s’ 已被忽略\n"
 
 #: common/asshelp.c:335
-#, fuzzy, c-format
-#| msgid "waiting for the agent to come up ... (%ds)\n"
+#, c-format
 msgid "waiting for the %s to come up ... (%ds)\n"
-msgstr "等待代理人程序启动 ... (%ds)\n"
+msgstr "正在等待 %s 拉起…… ( %d 秒) \n"
 
 #: common/asshelp.c:347
-#, fuzzy, c-format
-#| msgid "connection to the agent established\n"
+#, c-format
 msgid "connection to %s established\n"
-msgstr "å\88°ä»£ç\90\86人ç¨\8båº\8fç\9a\84è¿\9eæ\8e¥å·²å»ºç«\8b\n"
+msgstr "å·²è¿\9eæ\8e¥ %s\n"
 
 #: common/asshelp.c:430
 #, c-format
@@ -1066,16 +1065,14 @@ msgid "no running gpg-agent - starting '%s'\n"
 msgstr "没有正在运行的 gpg-agent 实例 - 正在启动 ‘%s’\n"
 
 #: common/asshelp.c:521
-#, fuzzy, c-format
-#| msgid "connection to the agent is in restricted mode\n"
+#, c-format
 msgid "connection to agent is in restricted mode\n"
-msgstr "与代理人程序的连接处于限制模式\n"
+msgstr "与代理的连接处于受限模式\n"
 
 #: common/asshelp.c:578
-#, fuzzy, c-format
-#| msgid "no running dirmngr - starting '%s'\n"
+#, c-format
 msgid "no running Dirmngr - starting '%s'\n"
-msgstr "没æ\9c\89æ­£å\9c¨è¿\90è¡\8cç\9a\84 dirmngr å®\9eä¾\8b - 正在启动‘%s’\n"
+msgstr "æ\97 è¿\90è¡\8cç\9a\84 Dirmngr â\80\94â\80\94正在启动‘%s’\n"
 
 #. TRANSLATORS: Copy the prefix between the vertical bars
 #. verbatim.  It will not be printed.
@@ -1142,10 +1139,10 @@ msgstr "会话密钥已经创建"
 #: common/audit.c:772 common/audit.c:912 common/audit.c:919
 #, c-format
 msgid "algorithm: %s"
-msgstr "算法: %s"
+msgstr "算法:%s"
 
 #: common/audit.c:774 common/audit.c:776 common/audit.c:921 common/audit.c:923
-#: scd/app-openpgp.c:3555
+#: scd/app-openpgp.c:3554
 #, c-format
 msgid "unsupported algorithm: %s"
 msgstr "不支持的算法:%s"
@@ -1263,13 +1260,33 @@ msgstr "忽略无用行"
 
 #: common/gettime.c:919
 msgid "[none]"
-msgstr "[未设定]"
+msgstr "[未]"
 
 #: common/ksba-io-support.c:347
 #, c-format
 msgid "invalid radix64 character %02x skipped\n"
 msgstr "无效的 radix64 字符 %02x 已被跳过\n"
 
+#: common/ttyio.c:433
+#, c-format
+msgid "Sorry, we are in batchmode - can't get input\n"
+msgstr ""
+
+#: common/ttyio.c:439
+#, c-format
+msgid "Sorry, no terminal at all requested - can't get input\n"
+msgstr ""
+
+#: common/ttyio.c:474 common/ttyio.c:484
+#, c-format
+msgid "too many errors; giving up\n"
+msgstr ""
+
+#: common/ttyio.c:536
+#, c-format
+msgid "Control-D detected\n"
+msgstr ""
+
 #: common/argparse.c:520
 msgid "argument not expected"
 msgstr "未预期的参数"
@@ -1300,29 +1317,23 @@ msgstr "无效的别名定义"
 
 #: common/argparse.c:534 common/argparse.c:571
 msgid "permission error"
-msgstr ""
+msgstr "权限错误"
 
 #: common/argparse.c:536 common/argparse.c:569
 msgid "out of core"
-msgstr "out of core"
+msgstr "内存不足"
 
 #: common/argparse.c:540 common/argparse.c:575
-#, fuzzy
-#| msgid "invalid command"
 msgid "invalid meta command"
-msgstr "无效命令"
+msgstr "无效命令"
 
 #: common/argparse.c:542 common/argparse.c:577
-#, fuzzy
-#| msgid "unknown command '%s'\n"
 msgid "unknown meta command"
-msgstr "æ\9cªç\9f¥å\91½ä»¤â\80\98%sâ\80\99\n"
+msgstr "æ\9cªç\9f¥å\85\83å\91½ä»¤"
 
 #: common/argparse.c:544 common/argparse.c:579
-#, fuzzy
-#| msgid "unexpected armor: "
 msgid "unexpected meta command"
-msgstr "与预期不符的字符封装: "
+msgstr "意外的元命令"
 
 #: common/argparse.c:546
 msgid "invalid option"
@@ -1333,7 +1344,7 @@ msgstr "无效的选项"
 msgid "missing argument for option \"%.50s\"\n"
 msgstr "选项 “%.50s” 的参数缺失\n"
 
-#: common/argparse.c:558 g10/gpg.c:3490
+#: common/argparse.c:558 g10/gpg.c:3510
 #, c-format
 msgid "invalid argument for option \"%.50s\"\n"
 msgstr "选项 “%.50s” 的参数无效\n"
@@ -1376,7 +1387,7 @@ msgstr "选项文件‘%s’:%s\n"
 #: common/argparse.c:2255
 #, c-format
 msgid "Note: ignoring option \"--%s\" due to global config\n"
-msgstr ""
+msgstr "注意:由于全局配置,忽略选项 “--%s”\n"
 
 #: common/utf8conv.c:123
 #, c-format
@@ -1403,31 +1414,31 @@ msgstr "创建临时文件 ‘%s’ 失败: %s\n"
 msgid "error writing to '%s': %s\n"
 msgstr "写入 ‘%s’ 时出现错误: %s\n"
 
-#: common/dotlock.c:1129
+#: common/dotlock.c:1137
 #, c-format
 msgid "removing stale lockfile (created by %d)\n"
 msgstr "移除旧的锁文件 (由 %d 创建)\n"
 
-#: common/dotlock.c:1165
+#: common/dotlock.c:1173
 #, c-format
 msgid "waiting for lock (held by %d%s) %s...\n"
 msgstr "等待锁(由 %d%s 持有) %s...\n"
 
-#: common/dotlock.c:1166
+#: common/dotlock.c:1174
 msgid "(deadlock?) "
 msgstr "(死锁?) "
 
-#: common/dotlock.c:1205
+#: common/dotlock.c:1213
 #, c-format
 msgid "lock '%s' not made: %s\n"
 msgstr "锁 ‘%s’ 未被建立: %s\n"
 
-#: common/dotlock.c:1232
+#: common/dotlock.c:1240
 #, c-format
 msgid "waiting for lock %s...\n"
 msgstr "等待锁 %s...\n"
 
-#: common/init.c:185 sm/gpgsm.c:949 dirmngr/dirmngr.c:862 dirmngr/dirmngr.c:871
+#: common/init.c:191 sm/gpgsm.c:863 dirmngr/dirmngr.c:900 dirmngr/dirmngr.c:909
 #, c-format
 msgid "%s is too old (need %s, have %s)\n"
 msgstr "%s 太旧 (需要 %s,拥有 %s)\n"
@@ -1606,12 +1617,12 @@ msgid "Note: Use the command \"%s\" to restart them.\n"
 msgstr "注意: 使用 “%s” 来重启他们。\n"
 
 #: g10/call-agent.c:318 g10/encrypt.c:154 g10/encrypt.c:620 g10/sign.c:412
-#: sm/call-agent.c:205 sm/encrypt.c:425 sm/sign.c:345
+#: sm/call-agent.c:205 sm/encrypt.c:426 sm/sign.c:345
 #, c-format
 msgid "%s is not compliant with %s mode\n"
 msgstr "%s 与 %s 模式不兼容\n"
 
-#: g10/call-dirmngr.c:209 sm/call-dirmngr.c:268 tools/gpg-connect-agent.c:2253
+#: g10/call-dirmngr.c:209 sm/call-dirmngr.c:269 tools/gpg-connect-agent.c:2253
 #, c-format
 msgid "no dirmngr running in this session\n"
 msgstr ""
@@ -1619,62 +1630,54 @@ msgstr ""
 "\n"
 
 #: g10/call-dirmngr.c:243
-#, fuzzy, c-format
-#| msgid "option '%s' may not be used in %s mode\n"
+#, c-format
 msgid "keyserver option \"%s\" may not be used in %s mode\n"
-msgstr "选项 ‘%s’ 可能不能用于 %s 模式\n"
+msgstr "密钥服务器选项 “%s” 不应用于 %s 模式中\n"
 
 #: g10/call-dirmngr.c:417
 msgid "WKD uses a cached result"
-msgstr ""
+msgstr "WKD 使用了缓存的结果"
 
 #: g10/call-dirmngr.c:420
 msgid "Tor is not running"
-msgstr ""
+msgstr "Tor 未在运行"
 
 #: g10/call-dirmngr.c:422
-#, fuzzy
-#| msgid "\"%s\" is not a proper fingerprint\n"
 msgid "Tor is not properly configured"
-msgstr "“%s” 不是一个正确的指纹\n"
+msgstr "Tor 配置错误"
 
 #: g10/call-dirmngr.c:424
-#, fuzzy
-#| msgid "\"%s\" is not a proper fingerprint\n"
 msgid "DNS is not properly configured"
-msgstr "“%s” 不是一个正确的指纹\n"
+msgstr "DNS 配置错误"
 
 #: g10/call-dirmngr.c:426
 msgid "unacceptable HTTP redirect from server"
-msgstr ""
+msgstr "无法接受来自服务器的 HTTP 重定向"
 
 #: g10/call-dirmngr.c:428
 msgid "unacceptable HTTP redirect from server was cleaned up"
-msgstr ""
+msgstr "已清除来自服务器的不可接受的 HTTP 重定向"
 
 #: g10/call-dirmngr.c:430
-#, fuzzy
-#| msgid "generate a revocation certificate"
 msgid "server uses an invalid certificate"
-msgstr "生成一份吊销证书"
+msgstr "服务器证书无效"
 
-#: g10/call-dirmngr.c:437 g10/gpg.c:4400
-#, fuzzy, c-format
-#| msgid "armor: %s\n"
+#: g10/call-dirmngr.c:437 g10/gpg.c:4421
+#, c-format
 msgid "Note: %s\n"
-msgstr "字符封装:%s\n"
+msgstr "注意:%s\n"
 
-#: g10/card-util.c:86 g10/card-util.c:366 g10/card-util.c:1902
+#: g10/card-util.c:86 g10/card-util.c:366 g10/card-util.c:1903
 #, c-format
 msgid "OpenPGP card not available: %s\n"
 msgstr "OpenPGP 卡不可用:%s\n"
 
-#: g10/card-util.c:91 g10/card-util.c:1908
+#: g10/card-util.c:91 g10/card-util.c:1909
 #, c-format
 msgid "OpenPGP card no. %s detected\n"
 msgstr "检测到 OpenPGP 卡,号码为 %s\n"
 
-#: g10/card-util.c:97 g10/card-util.c:2237 g10/delkey.c:160 g10/keyedit.c:1422
+#: g10/card-util.c:97 g10/card-util.c:2238 g10/delkey.c:160 g10/keyedit.c:1423
 #: g10/keygen.c:4466 g10/revoke.c:214 g10/revoke.c:636
 #, c-format
 msgid "can't do this in batch mode\n"
@@ -1685,13 +1688,13 @@ msgstr "在批处理模式中无法完成此操作\n"
 msgid "This command is only available for version 2 cards\n"
 msgstr "这一命令只在版本 2 的卡上可用\n"
 
-#: g10/card-util.c:107 scd/app-openpgp.c:2864
+#: g10/card-util.c:107 scd/app-openpgp.c:2863
 #, c-format
 msgid "Reset Code not or not anymore available\n"
-msgstr "重置码不可用或不再可用\n"
+msgstr "重置码不可用或不再可用\n"
 
-#: g10/card-util.c:140 g10/card-util.c:1426 g10/card-util.c:1688
-#: g10/card-util.c:1780 g10/keyedit.c:394 g10/keyedit.c:415 g10/keyedit.c:429
+#: g10/card-util.c:140 g10/card-util.c:1427 g10/card-util.c:1689
+#: g10/card-util.c:1781 g10/keyedit.c:394 g10/keyedit.c:415 g10/keyedit.c:429
 #: g10/keygen.c:1808 g10/keygen.c:1980 g10/keygen.c:2186 g10/keygen.c:2477
 #: sm/certreqgen-ui.c:165 sm/certreqgen-ui.c:291 sm/certreqgen-ui.c:325
 msgid "Your selection? "
@@ -1706,8 +1709,6 @@ msgid "Mr."
 msgstr "先生"
 
 #: g10/card-util.c:546
-#, fuzzy
-#| msgid "Mrs."
 msgid "Ms."
 msgstr "女士"
 
@@ -1719,213 +1720,204 @@ msgstr "非强制"
 msgid "forced"
 msgstr "强制"
 
-#: g10/card-util.c:749
+#: g10/card-util.c:750
 msgid "Error: Only plain ASCII is currently allowed.\n"
 msgstr "错误:目前只允许使用纯 ASCII 字符。\n"
 
-#: g10/card-util.c:751
+#: g10/card-util.c:752
 msgid "Error: The \"<\" character may not be used.\n"
 msgstr "错误:不能使用字符 “<”。\n"
 
-#: g10/card-util.c:753
+#: g10/card-util.c:754
 msgid "Error: Double spaces are not allowed.\n"
 msgstr "错误:不允许出现两个空格。\n"
 
-#: g10/card-util.c:770
+#: g10/card-util.c:771
 msgid "Cardholder's surname: "
 msgstr "卡片持有人的姓: "
 
-#: g10/card-util.c:772
+#: g10/card-util.c:773
 msgid "Cardholder's given name: "
 msgstr "卡片持有人的名: "
 
-#: g10/card-util.c:790
+#: g10/card-util.c:791
 #, c-format
 msgid "Error: Combined name too long (limit is %d characters).\n"
 msgstr "错误:合成后的姓名太长(至多 %d 个字符)。\n"
 
-#: g10/card-util.c:811
+#: g10/card-util.c:812
 msgid "URL to retrieve public key: "
 msgstr "拉取公钥的 URL: "
 
-#: g10/card-util.c:905 g10/decrypt-data.c:490 g10/import.c:387 g10/import.c:734
-#: g10/import.c:786 dirmngr/crlcache.c:655 dirmngr/crlcache.c:660
-#: dirmngr/crlcache.c:914 dirmngr/crlcache.c:920 dirmngr/dirmngr.c:1668
+#: g10/card-util.c:906 g10/decrypt-data.c:490 g10/import.c:399 g10/import.c:746
+#: g10/import.c:798 dirmngr/crlcache.c:655 dirmngr/crlcache.c:660
+#: dirmngr/crlcache.c:914 dirmngr/crlcache.c:920 dirmngr/dirmngr.c:1705
 #: tools/gpgconf.c:431 tools/gpgconf.c:477
 #, c-format
 msgid "error reading '%s': %s\n"
 msgstr "读取 ‘%s’ 时出现错误:%s\n"
 
-#: g10/card-util.c:938 g10/decrypt-data.c:493 g10/export.c:2467
+#: g10/card-util.c:939 g10/decrypt-data.c:493 g10/export.c:2467
 #: dirmngr/crlcache.c:925
 #, c-format
 msgid "error writing '%s': %s\n"
 msgstr "写入 ‘%s’ 时出现错误: %s\n"
 
-#: g10/card-util.c:965
+#: g10/card-util.c:966
 msgid "Login data (account name): "
 msgstr "登录数据(帐户名): "
 
-#: g10/card-util.c:1003
+#: g10/card-util.c:1004
 msgid "Private DO data: "
 msgstr "个人 DO 数据: "
 
-#: g10/card-util.c:1088
+#: g10/card-util.c:1089
 msgid "Language preferences: "
 msgstr "语言偏好: "
 
-#: g10/card-util.c:1096
+#: g10/card-util.c:1097
 msgid "Error: invalid length of preference string.\n"
 msgstr "错误:偏好字符串长度无效。\n"
 
-#: g10/card-util.c:1105
+#: g10/card-util.c:1106
 msgid "Error: invalid characters in preference string.\n"
 msgstr "错误:偏好字符串中存在无效字符。\n"
 
-#: g10/card-util.c:1127
-#, fuzzy
-#| msgid "Salutation (M = Mr., F = Mrs., or space): "
+#: g10/card-util.c:1128
 msgid "Salutation (M = Mr., F = Ms., or space): "
 msgstr "称呼(M = 先生,F = 女士,或者留空): "
 
-#: g10/card-util.c:1141
+#: g10/card-util.c:1142
 msgid "Error: invalid response.\n"
 msgstr "错误:无效的响应。\n"
 
-#: g10/card-util.c:1163
+#: g10/card-util.c:1164
 msgid "CA fingerprint: "
 msgstr "CA 指纹: "
 
-#: g10/card-util.c:1186
+#: g10/card-util.c:1187
 msgid "Error: invalid formatted fingerprint.\n"
 msgstr "错误:指纹格式无效。\n"
 
-#: g10/card-util.c:1236
+#: g10/card-util.c:1237
 #, c-format
 msgid "key operation not possible: %s\n"
 msgstr "密钥操作无法实现:%s\n"
 
-#: g10/card-util.c:1237
+#: g10/card-util.c:1238
 msgid "not an OpenPGP card"
 msgstr "不是一个 OpenPGP 卡"
 
-#: g10/card-util.c:1250 g10/keygen.c:4486 g10/keygen.c:5565
+#: g10/card-util.c:1251 g10/keygen.c:4486 g10/keygen.c:5565
 #, c-format
 msgid "error getting current key info: %s\n"
 msgstr "取得当前密钥信息时出错:%s\n"
 
-#: g10/card-util.c:1335
+#: g10/card-util.c:1336
 msgid "Replace existing key? (y/N) "
 msgstr "替换现存的密钥?(y/N) "
 
-#: g10/card-util.c:1352
-#, fuzzy
-#| msgid ""
-#| "Note: There is no guarantee that the card supports the requested\n"
-#| "      key type or size.  If the key generation does not succeed,\n"
-#| "      please check the documentation of your card to see which\n"
-#| "      key types and sizes are supported.\n"
+#: g10/card-util.c:1353
 msgid ""
 "Note: There is no guarantee that the card supports the requested size.\n"
 "      If the key generation does not succeed, please check the\n"
 "      documentation of your card to see what sizes are allowed.\n"
 msgstr ""
-"注意:此处并不保证此卡片支持所请求的\n"
-"     密钥类型或者长度。如果密钥没有成功生成,\n"
-"     请检查您的卡片的文档以确定支持哪种密钥\n"
-"     类型和长度。\n"
+"注意:不能保证卡支持所要求的密钥长度。\n"
+"      如果密钥生成不成功,请检查\n"
+"      卡的允许密钥长度。\n"
 
-#: g10/card-util.c:1374 g10/keygen.c:2363 sm/certreqgen-ui.c:179
+#: g10/card-util.c:1375 g10/keygen.c:2363 sm/certreqgen-ui.c:179
 #, c-format
 msgid "What keysize do you want? (%u) "
 msgstr "您想要使用的密钥长度?(%u) "
 
-#: g10/card-util.c:1384 g10/keygen.c:2286 g10/keygen.c:2318
+#: g10/card-util.c:1385 g10/keygen.c:2286 g10/keygen.c:2318
 #: sm/certreqgen-ui.c:194
 #, c-format
 msgid "rounded up to %u bits\n"
 msgstr "舍入到 %u 位\n"
 
-#: g10/card-util.c:1392 g10/keygen.c:2371 sm/certreqgen-ui.c:184
+#: g10/card-util.c:1393 g10/keygen.c:2371 sm/certreqgen-ui.c:184
 #, c-format
 msgid "%s keysizes must be in the range %u-%u\n"
 msgstr "%s 密钥长度必须在 %u 与 %u 间\n"
 
-#: g10/card-util.c:1411
+#: g10/card-util.c:1412
 msgid "Changing card key attribute for: "
 msgstr "正在改变卡片的密钥属性: "
 
-#: g10/card-util.c:1413
+#: g10/card-util.c:1414
 msgid "Signature key\n"
 msgstr "签名密钥\n"
 
-#: g10/card-util.c:1415
+#: g10/card-util.c:1416
 msgid "Encryption key\n"
 msgstr "加密密钥\n"
 
-#: g10/card-util.c:1417
+#: g10/card-util.c:1418
 msgid "Authentication key\n"
 msgstr "身份验证密钥\n"
 
-#: g10/card-util.c:1419 g10/keygen.c:1926 sm/certreqgen-ui.c:157
+#: g10/card-util.c:1420 g10/keygen.c:1926 sm/certreqgen-ui.c:157
 msgid "Please select what kind of key you want:\n"
 msgstr "请选择您要使用的密钥类型:\n"
 
-#: g10/card-util.c:1420 sm/certreqgen-ui.c:158
+#: g10/card-util.c:1421 sm/certreqgen-ui.c:158
 #, c-format
 msgid "   (%d) RSA\n"
 msgstr "   (%d) RSA\n"
 
-#: g10/card-util.c:1421
+#: g10/card-util.c:1422
 #, c-format
 msgid "   (%d) ECC\n"
 msgstr "   (%d) ECC\n"
 
-#: g10/card-util.c:1433 g10/card-util.c:1700 g10/card-util.c:1800
-#: g10/keyedit.c:899 g10/keygen.c:1834 g10/keygen.c:1862 g10/keygen.c:1987
+#: g10/card-util.c:1434 g10/card-util.c:1701 g10/card-util.c:1801
+#: g10/keyedit.c:900 g10/keygen.c:1834 g10/keygen.c:1862 g10/keygen.c:1987
 #: g10/keygen.c:2222 g10/keygen.c:2505 g10/revoke.c:838
 msgid "Invalid selection.\n"
 msgstr "无效的选择。\n"
 
-#: g10/card-util.c:1506
+#: g10/card-util.c:1507
 #, c-format
 msgid "The card will now be re-configured to generate a key of %u bits\n"
 msgstr "此卡片将会被重新配置以生成一个 %u 位的新密钥\n"
 
-#: g10/card-util.c:1511
+#: g10/card-util.c:1512
 #, c-format
 msgid "The card will now be re-configured to generate a key of type: %s\n"
 msgstr "此卡片将会被重新配置以生成一个以下类型的密钥: %s\n"
 
-#: g10/card-util.c:1547
+#: g10/card-util.c:1548
 #, c-format
 msgid "error changing key attribute for key %d: %s\n"
 msgstr "改变密钥 %d 的密钥属性时出现错误: %s\n"
 
-#: g10/card-util.c:1563 g10/card-util.c:2090
+#: g10/card-util.c:1564 g10/card-util.c:2091
 #, c-format
 msgid "error getting card info: %s\n"
 msgstr "获取卡片信息时出现错: %s\n"
 
-#: g10/card-util.c:1569 g10/card-util.c:1914 g10/card-util.c:2096
+#: g10/card-util.c:1570 g10/card-util.c:1915 g10/card-util.c:2097
 #, c-format
 msgid "This command is not supported by this card\n"
 msgstr "此命令不被此卡片支持\n"
 
-#: g10/card-util.c:1615
+#: g10/card-util.c:1616
 msgid "Make off-card backup of encryption key? (Y/n) "
 msgstr "创建加密密钥的离卡备份? (Y/n) "
 
-#: g10/card-util.c:1629
+#: g10/card-util.c:1630
 #, c-format
 msgid "Note: keys are already stored on the card!\n"
-msgstr "注意: 已有钥被存储于卡片上!\n"
+msgstr "注意: 已有钥被存储于卡片上!\n"
 
-#: g10/card-util.c:1632
+#: g10/card-util.c:1633
 msgid "Replace existing keys? (y/N) "
 msgstr "替换现存的密钥?(y/N) "
 
-#: g10/card-util.c:1644
+#: g10/card-util.c:1645
 #, c-format
 msgid ""
 "Please note that the factory settings of the PINs are\n"
@@ -1936,142 +1928,142 @@ msgstr ""
 "  PIN = ‘%s’    管理员 PIN = ‘%s’\n"
 "您应当使用 --change-pin 命令来更改它们\n"
 
-#: g10/card-util.c:1679
+#: g10/card-util.c:1680
 msgid "Please select the type of key to generate:\n"
 msgstr "请选择您要生成的密钥类型:\n"
 
-#: g10/card-util.c:1681 g10/card-util.c:1771
+#: g10/card-util.c:1682 g10/card-util.c:1772
 msgid "   (1) Signature key\n"
 msgstr "  (1) 签名密钥\n"
 
-#: g10/card-util.c:1682 g10/card-util.c:1773
+#: g10/card-util.c:1683 g10/card-util.c:1774
 msgid "   (2) Encryption key\n"
 msgstr "  (2) 加密密钥\n"
 
-#: g10/card-util.c:1683 g10/card-util.c:1775
+#: g10/card-util.c:1684 g10/card-util.c:1776
 msgid "   (3) Authentication key\n"
 msgstr "  (3) 身份验证密钥\n"
 
-#: g10/card-util.c:1768
+#: g10/card-util.c:1769
 msgid "Please select where to store the key:\n"
 msgstr "请选择在哪里存储密钥:\n"
 
-#: g10/card-util.c:1814
+#: g10/card-util.c:1815
 #, c-format
 msgid "KEYTOCARD failed: %s\n"
 msgstr "KEYTOCARD 失败: %s\n"
 
-#: g10/card-util.c:1919
+#: g10/card-util.c:1920
 #, c-format
 msgid "Note: This command destroys all keys stored on the card!\n"
-msgstr "注意: 这一命令将会销毁所有储存于卡片上的钥!\n"
+msgstr "注意: 这一命令将会销毁所有储存于卡片上的钥!\n"
 
-#: g10/card-util.c:1922
+#: g10/card-util.c:1923
 msgid "Continue? (y/N) "
 msgstr "继续? (y/N) "
 
-#: g10/card-util.c:1927
+#: g10/card-util.c:1928
 msgid "Really do a factory reset? (enter \"yes\") "
 msgstr "真的要执行恢复出厂设置吗? (输入“yes”) "
 
-#: g10/card-util.c:2113
+#: g10/card-util.c:2114
 #, c-format
 msgid "error for setup KDF: %s\n"
 msgstr "设置 KDF 时出现错误: %s\n"
 
-#: g10/card-util.c:2142 g10/keyedit.c:1259
+#: g10/card-util.c:2143 g10/keyedit.c:1260
 msgid "quit this menu"
 msgstr "退出此菜单"
 
-#: g10/card-util.c:2144
+#: g10/card-util.c:2145
 msgid "show admin commands"
 msgstr "显示管理员命令"
 
-#: g10/card-util.c:2145 g10/keyedit.c:1262
+#: g10/card-util.c:2146 g10/keyedit.c:1263
 msgid "show this help"
 msgstr "显示此帮助"
 
-#: g10/card-util.c:2147
+#: g10/card-util.c:2148
 msgid "list all available data"
 msgstr "列出所有可用数据"
 
-#: g10/card-util.c:2150
+#: g10/card-util.c:2151
 msgid "change card holder's name"
 msgstr "更改卡持有人的姓名"
 
-#: g10/card-util.c:2151
+#: g10/card-util.c:2152
 msgid "change URL to retrieve key"
 msgstr "更改拉取密钥的 URL"
 
-#: g10/card-util.c:2152
+#: g10/card-util.c:2153
 msgid "fetch the key specified in the card URL"
 msgstr "根据卡中指定的 URL 获取密钥"
 
-#: g10/card-util.c:2153
+#: g10/card-util.c:2154
 msgid "change the login name"
 msgstr "更改登录名"
 
-#: g10/card-util.c:2154
+#: g10/card-util.c:2155
 msgid "change the language preferences"
 msgstr "更改语言偏好"
 
-#: g10/card-util.c:2155
+#: g10/card-util.c:2156
 msgid "change card holder's salutation"
 msgstr "变更卡片持有人的称呼"
 
-#: g10/card-util.c:2157
+#: g10/card-util.c:2158
 msgid "change a CA fingerprint"
 msgstr "更改一个 CA 指纹"
 
-#: g10/card-util.c:2158
+#: g10/card-util.c:2159
 msgid "toggle the signature force PIN flag"
 msgstr "开关签名的强制 PIN 设置"
 
-#: g10/card-util.c:2159
+#: g10/card-util.c:2160
 msgid "generate new keys"
 msgstr "生成新的密钥"
 
-#: g10/card-util.c:2160
+#: g10/card-util.c:2161
 msgid "menu to change or unblock the PIN"
 msgstr "更改或解锁 PIN 的菜单"
 
-#: g10/card-util.c:2161
+#: g10/card-util.c:2162
 msgid "verify the PIN and list all data"
 msgstr "验证 PIN 并列出所有数据"
 
-#: g10/card-util.c:2162
+#: g10/card-util.c:2163
 msgid "unblock the PIN using a Reset Code"
-msgstr "使用重置码解锁 PIN"
+msgstr "使用重置码解锁 PIN"
 
-#: g10/card-util.c:2163
+#: g10/card-util.c:2164
 msgid "destroy all keys and data"
 msgstr "销毁所有密钥和数据"
 
-#: g10/card-util.c:2164
+#: g10/card-util.c:2165
 msgid "setup KDF for PIN authentication"
 msgstr "针对 PIN 身份验证设置 KDF"
 
-#: g10/card-util.c:2165
+#: g10/card-util.c:2166
 msgid "change the key attribute"
 msgstr "更改密钥属性"
 
-#: g10/card-util.c:2289
+#: g10/card-util.c:2290
 msgid "gpg/card> "
 msgstr "gpg/card> "
 
-#: g10/card-util.c:2330
+#: g10/card-util.c:2331
 msgid "Admin-only command\n"
 msgstr "仅供管理员使用的命令\n"
 
-#: g10/card-util.c:2361
+#: g10/card-util.c:2362
 msgid "Admin commands are allowed\n"
 msgstr "管理员命令可用\n"
 
-#: g10/card-util.c:2363
+#: g10/card-util.c:2364
 msgid "Admin commands are not allowed\n"
 msgstr "管理员命令不可用\n"
 
-#: g10/card-util.c:2466 g10/keyedit.c:2228
+#: g10/card-util.c:2467 g10/keyedit.c:2229
 msgid "Invalid command  (try \"help\")\n"
 msgstr "无效的命令  (尝试“help”)\n"
 
@@ -2080,21 +2072,21 @@ msgstr "无效的命令  (尝试“help”)\n"
 msgid "--output doesn't work for this command\n"
 msgstr "--output 在这个命令中不起作用\n"
 
-#: g10/decrypt.c:247 g10/gpg.c:5083 g10/keyring.c:399 g10/keyring.c:750
+#: g10/decrypt.c:247 g10/gpg.c:5104 g10/keyring.c:399 g10/keyring.c:750
 #, c-format
 msgid "can't open '%s'\n"
 msgstr "无法打开 ‘%s’\n"
 
 #: g10/delkey.c:83 g10/export.c:1947 g10/export.c:2230 g10/export.c:2351
-#: g10/getkey.c:1964 g10/gpg.c:5028 g10/keyedit.c:1444 g10/keyedit.c:2334
-#: g10/keyedit.c:2580 g10/keyedit.c:4543 g10/keylist.c:689 g10/keyserver.c:1259
+#: g10/getkey.c:2108 g10/gpg.c:5049 g10/keyedit.c:1445 g10/keyedit.c:2335
+#: g10/keyedit.c:2581 g10/keyedit.c:4544 g10/keylist.c:689 g10/keyserver.c:1092
 #: g10/revoke.c:230 g10/tofu.c:2165
 #, c-format
 msgid "key \"%s\" not found: %s\n"
 msgstr "未找到密钥 ‘%s’:%s\n"
 
-#: g10/delkey.c:92 g10/export.c:2015 g10/getkey.c:1972 g10/getkey.c:4346
-#: g10/gpg.c:5037 g10/keyedit.c:2307 g10/keyserver.c:1277 g10/revoke.c:236
+#: g10/delkey.c:92 g10/export.c:2015 g10/getkey.c:2116 g10/getkey.c:4517
+#: g10/gpg.c:5058 g10/keyedit.c:2308 g10/keyserver.c:1110 g10/revoke.c:236
 #: g10/revoke.c:663 g10/tofu.c:2173
 #, c-format
 msgid "error reading keyblock: %s\n"
@@ -2117,19 +2109,19 @@ msgstr "无法于批处理模式中在没有“--yes”的情况下完成此操
 
 #: g10/delkey.c:182
 msgid "Note: The public primary key and all its subkeys will be deleted.\n"
-msgstr ""
+msgstr "注意:将删除主公钥及其所有子钥。\n"
 
 #: g10/delkey.c:187
 msgid "Note: Only the shown public subkey will be deleted.\n"
-msgstr ""
+msgstr "注意:只有显示的子公钥会被删除。\n"
 
 #: g10/delkey.c:192
 msgid "Note: Only the secret part of the shown primary key will be deleted.\n"
-msgstr ""
+msgstr "主要:只有显示的主钥的秘密部分会被删除。\n"
 
 #: g10/delkey.c:197
 msgid "Note: Only the secret part of the shown subkey will be deleted.\n"
-msgstr ""
+msgstr "主要:只有显示的子钥的秘密部分会被删除。\n"
 
 #: g10/delkey.c:206
 msgid "Delete this key from the keyring? (y/N) "
@@ -2152,9 +2144,9 @@ msgstr "密钥"
 msgid "subkey"
 msgstr "子密钥"
 
-#: g10/delkey.c:299 g10/keyedit.c:2200 g10/keyedit.c:2210 g10/keyedit.c:2387
-#: g10/keyedit.c:2461 g10/keyedit.c:2532 g10/keyedit.c:2757 g10/keyedit.c:2987
-#: g10/keyedit.c:3056 g10/keyedit.c:3207
+#: g10/delkey.c:299 g10/keyedit.c:2201 g10/keyedit.c:2211 g10/keyedit.c:2388
+#: g10/keyedit.c:2462 g10/keyedit.c:2533 g10/keyedit.c:2758 g10/keyedit.c:2988
+#: g10/keyedit.c:3057 g10/keyedit.c:3208
 #, c-format
 msgid "update failed: %s\n"
 msgstr "更新失败:%s\n"
@@ -2179,7 +2171,7 @@ msgstr "存在一个私钥对应于公钥 “%s”!\n"
 msgid "use option \"--delete-secret-keys\" to delete it first.\n"
 msgstr "请先使用“--delete-secret-keys”选项来删除它。\n"
 
-#: g10/encrypt.c:202 g10/sign.c:1471
+#: g10/encrypt.c:202 g10/sign.c:1470
 #, c-format
 msgid "error creating passphrase: %s\n"
 msgstr "创建密码时出现错误:%s\n"
@@ -2190,10 +2182,9 @@ msgid "can't use a symmetric ESK packet due to the S2K mode\n"
 msgstr "由于在 S2K 模式,不能使用一个对称的 ESK 封包\n"
 
 #: g10/encrypt.c:223
-#, fuzzy, c-format
-#| msgid "using cipher %s.%s\n"
+#, c-format
 msgid "using cipher %s\n"
-msgstr "使ç\94¨å¯\86æ\96\87 %s.%s\n"
+msgstr "使ç\94¨å\8a å¯\86 %s\n"
 
 #: g10/encrypt.c:233 g10/encrypt.c:668
 #, c-format
@@ -2205,14 +2196,14 @@ msgstr "‘%s’已被压缩\n"
 msgid "WARNING: '%s' is an empty file\n"
 msgstr "警告:‘%s’是一个空文件\n"
 
-#: g10/encrypt.c:387 g10/encrypt.c:610 g10/decrypt-data.c:260 g10/gpg.c:3901
-#: g10/gpg.c:3941 sm/decrypt.c:364 sm/encrypt.c:415 sm/gpgsm.c:1655
+#: g10/encrypt.c:387 g10/encrypt.c:610 g10/decrypt-data.c:260 g10/gpg.c:3922
+#: g10/gpg.c:3962 sm/decrypt.c:826 sm/encrypt.c:416 sm/gpgsm.c:1555
 #, c-format
 msgid "cipher algorithm '%s' may not be used in %s mode\n"
 msgstr "密文算法 ‘%s’ 可能不能被用于 %s 模式\n"
 
-#: g10/encrypt.c:396 g10/gpg.c:3907 g10/gpg.c:3953 g10/sig-check.c:146
-#: g10/sign.c:391 sm/gpgsm.c:1665 sm/gpgsm.c:1675 sm/sign.c:478 sm/verify.c:506
+#: g10/encrypt.c:396 g10/gpg.c:3928 g10/gpg.c:3974 g10/sig-check.c:146
+#: g10/sign.c:391 sm/gpgsm.c:1565 sm/gpgsm.c:1575 sm/sign.c:478 sm/verify.c:506
 #, c-format
 msgid "digest algorithm '%s' may not be used in %s mode\n"
 msgstr "摘要算法‘%s’不能在 %s 模式下使用\n"
@@ -2228,12 +2219,12 @@ msgid ""
 "WARNING: forcing symmetric cipher %s (%d) violates recipient preferences\n"
 msgstr "警告: 强制对称密文 %s (%d) 与接收者的偏好设置冲突\n"
 
-#: g10/encrypt.c:640 sm/encrypt.c:490
+#: g10/encrypt.c:640 sm/encrypt.c:491
 #, c-format
 msgid "WARNING: key %s is not suitable for encryption in %s mode\n"
 msgstr "警告: 密钥 %s 在 %s 模式下不适用于加密\n"
 
-#: g10/encrypt.c:751 g10/sign.c:1163
+#: g10/encrypt.c:751 g10/sign.c:1162
 #, c-format
 msgid ""
 "WARNING: forcing compression algorithm %s (%d) violates recipient "
@@ -2246,10 +2237,9 @@ msgid "forcing symmetric cipher %s (%d) violates recipient preferences\n"
 msgstr "强行对称密文算法 %s (%d) 与接收者的偏好设置冲突\n"
 
 #: g10/encrypt.c:949
-#, fuzzy, c-format
-#| msgid "%s/%s.%s encrypted for: \"%s\"\n"
+#, c-format
 msgid "%s/%s encrypted for: \"%s\"\n"
-msgstr "%s/%s.%s 已加密给 \"%s\"\n"
+msgstr "%s/%s 已经加密给:“%s”\n"
 
 #: g10/encrypt.c:977 g10/pkclist.c:1028 g10/pkclist.c:1079
 #, c-format
@@ -2257,17 +2247,16 @@ msgid "option '%s' may not be used in %s mode\n"
 msgstr "选项 ‘%s’ 可能不能用于 %s 模式\n"
 
 #: g10/decrypt-data.c:240 g10/mainproc.c:391
-#, fuzzy, c-format
-#| msgid "%s.%s encrypted data\n"
+#, c-format
 msgid "%s encrypted data\n"
-msgstr "%s.%s 已加密的数据\n"
+msgstr "%s 加密过的数据\n"
 
-#: g10/decrypt-data.c:243 g10/mainproc.c:396
+#: g10/decrypt-data.c:243 g10/mainproc.c:397
 #, c-format
 msgid "encrypted with unknown algorithm %d\n"
 msgstr "以未知的算法 %d 加密\n"
 
-#: g10/decrypt-data.c:357 g10/decrypt-data.c:410 sm/decrypt.c:130
+#: g10/decrypt-data.c:357 g10/decrypt-data.c:410 sm/decrypt.c:550
 #, c-format
 msgid ""
 "WARNING: message was encrypted with a weak key in the symmetric cipher.\n"
@@ -2283,53 +2272,53 @@ msgstr "处理加密封包时出现问题\n"
 msgid "no remote program execution supported\n"
 msgstr "不支持远程程序执行\n"
 
-#: g10/exec.c:381
+#: g10/exec.c:389
 #, c-format
 msgid ""
 "external program calls are disabled due to unsafe options file permissions\n"
 msgstr "由于文件权限位不安全,外部程序调用被禁用\n"
 
-#: g10/exec.c:411
+#: g10/exec.c:419
 #, c-format
 msgid "this platform requires temporary files when calling external programs\n"
 msgstr "此平台上调用外部程序时要求临时文件\n"
 
-#: g10/exec.c:489
+#: g10/exec.c:497
 #, c-format
 msgid "unable to execute program '%s': %s\n"
 msgstr "无法执行程序‘%s’:%s\n"
 
-#: g10/exec.c:492
+#: g10/exec.c:500
 #, c-format
 msgid "unable to execute shell '%s': %s\n"
 msgstr "无法执行外壳程序‘%s’:%s\n"
 
-#: g10/exec.c:583
+#: g10/exec.c:591
 #, c-format
 msgid "system error while calling external program: %s\n"
 msgstr "调用外部程序时出现系统错误:%s\n"
 
-#: g10/exec.c:594 g10/exec.c:661
+#: g10/exec.c:602 g10/exec.c:669
 #, c-format
 msgid "unnatural exit of external program\n"
 msgstr "外部程序异常退出\n"
 
-#: g10/exec.c:609
+#: g10/exec.c:617
 #, c-format
 msgid "unable to execute external program\n"
 msgstr "无法执行外部程序\n"
 
-#: g10/exec.c:626
+#: g10/exec.c:634
 #, c-format
 msgid "unable to read external program response: %s\n"
 msgstr "无法读取外部程序响应:%s\n"
 
-#: g10/exec.c:672 g10/exec.c:679
+#: g10/exec.c:680 g10/exec.c:687
 #, c-format
 msgid "WARNING: unable to remove tempfile (%s) '%s': %s\n"
 msgstr "警告:无法删除临时文件(%s)‘%s’:%s\n"
 
-#: g10/exec.c:684
+#: g10/exec.c:692
 #, c-format
 msgid "WARNING: unable to remove temp directory '%s': %s\n"
 msgstr "警告:无法删除临时目录‘%s’:%s\n"
@@ -2362,8 +2351,8 @@ msgstr "使用 GnuPG 密钥备份格式"
 msgid " - skipped"
 msgstr " - 已跳过"
 
-#: g10/export.c:1324 g10/import.c:2073 g10/openfile.c:200 g10/openfile.c:294
-#: g10/sign.c:1013 g10/sign.c:1327
+#: g10/export.c:1324 g10/import.c:2085 g10/openfile.c:200 g10/openfile.c:294
+#: g10/sign.c:1012 g10/sign.c:1326
 #, c-format
 msgid "writing to '%s'\n"
 msgstr "正在写入‘%s’\n"
@@ -2398,268 +2387,266 @@ msgstr "创建‘%s’时出现错误:%s\n"
 msgid "[User ID not found]"
 msgstr "[用户标识未找到]"
 
-#: g10/getkey.c:1297
+#: g10/getkey.c:1441
 #, c-format
 msgid "automatically retrieved '%s' via %s\n"
 msgstr "自动拉取‘%s’,通过 %s\n"
 
-#: g10/getkey.c:1303
+#: g10/getkey.c:1447
 #, c-format
 msgid "error retrieving '%s' via %s: %s\n"
 msgstr "拉取‘%s’通过 %s 时出现错误: %s\n"
 
-#: g10/getkey.c:1305
+#: g10/getkey.c:1449
 msgid "No fingerprint"
 msgstr "无指纹"
 
-#: g10/getkey.c:1526
+#: g10/getkey.c:1670
 #, c-format
 msgid "checking for a fresh copy of an expired key via %s\n"
 msgstr "正在通过 %s 检查一个已过期密钥的新拷贝\n"
 
-#: g10/getkey.c:1941 g10/revoke.c:655 g10/revoke.c:720
+#: g10/getkey.c:2085 g10/revoke.c:655 g10/revoke.c:720
 #, c-format
 msgid "secret key \"%s\" not found: %s\n"
 msgstr "找不到私钥 “%s”:%s\n"
 
-#: g10/getkey.c:1944 g10/pkclist.c:988
+#: g10/getkey.c:2088 g10/pkclist.c:988
 #, c-format
 msgid "(check argument of option '%s')\n"
 msgstr "(检查选项 ‘%s’ 的参数)\n"
 
-#: g10/getkey.c:2020
+#: g10/getkey.c:2164
 #, c-format
 msgid "Warning: not using '%s' as default key: %s\n"
 msgstr "警告:未使用‘%s’作为默认密钥:%s\n"
 
-#: g10/getkey.c:2028
+#: g10/getkey.c:2172
 #, c-format
 msgid "using \"%s\" as default secret key for signing\n"
 msgstr "使用 “%s” 作为默认签名用私钥\n"
 
-#: g10/getkey.c:2035
+#: g10/getkey.c:2179
 #, c-format
 msgid "all values passed to '%s' ignored\n"
 msgstr "传递给‘%s’的所有值被忽略\n"
 
-#: g10/getkey.c:2880
+#: g10/getkey.c:3024
 #, c-format
 msgid "Invalid key %s made valid by --allow-non-selfsigned-uid\n"
 msgstr "无效的密钥 %s 通过 --allow-non-selfsigned-uid 生效\n"
 
-#: g10/getkey.c:3730
+#: g10/getkey.c:3874
 #, c-format
 msgid "using subkey %s instead of primary key %s\n"
 msgstr "使用子密钥 %s 而非主密钥 %s\n"
 
-#: g10/getkey.c:4275 g10/gpg.c:2107
+#: g10/getkey.c:4446 g10/gpg.c:2120
 #, c-format
 msgid "valid values for option '%s':\n"
 msgstr "选项 ‘%s’ 的有效值:\n"
 
-#: g10/gpg.c:442 sm/gpgsm.c:206
+#: g10/gpg.c:439 sm/gpgsm.c:207
 msgid "make a signature"
 msgstr "生成一份签名"
 
-#: g10/gpg.c:443
+#: g10/gpg.c:440
 msgid "make a clear text signature"
 msgstr "生成一份明文签名"
 
-#: g10/gpg.c:445 sm/gpgsm.c:208
+#: g10/gpg.c:442 sm/gpgsm.c:209
 msgid "make a detached signature"
 msgstr "生成一份分离的签名"
 
-#: g10/gpg.c:446 sm/gpgsm.c:209
+#: g10/gpg.c:443 sm/gpgsm.c:210
 msgid "encrypt data"
 msgstr "加密数据"
 
-#: g10/gpg.c:448
+#: g10/gpg.c:445
 msgid "encryption only with symmetric cipher"
 msgstr "仅使用对称密文加密"
 
-#: g10/gpg.c:450 sm/gpgsm.c:211
+#: g10/gpg.c:447 sm/gpgsm.c:212
 msgid "decrypt data (default)"
 msgstr "解密数据(默认)"
 
-#: g10/gpg.c:452 sm/gpgsm.c:212
+#: g10/gpg.c:449 sm/gpgsm.c:213
 msgid "verify a signature"
 msgstr "验证签名"
 
-#: g10/gpg.c:454 sm/gpgsm.c:213
+#: g10/gpg.c:451 sm/gpgsm.c:214
 msgid "list keys"
 msgstr "列出密钥"
 
-#: g10/gpg.c:456
+#: g10/gpg.c:453
 msgid "list keys and signatures"
 msgstr "列出密钥和签名"
 
-#: g10/gpg.c:459
+#: g10/gpg.c:456
 msgid "list and check key signatures"
 msgstr "列出并检查密钥签名"
 
-#: g10/gpg.c:461 sm/gpgsm.c:218
+#: g10/gpg.c:458 sm/gpgsm.c:219
 msgid "list keys and fingerprints"
 msgstr "列出密钥和指纹"
 
-#: g10/gpg.c:462 sm/gpgsm.c:216
+#: g10/gpg.c:459 sm/gpgsm.c:217
 msgid "list secret keys"
 msgstr "列出私钥"
 
-#: g10/gpg.c:464 sm/gpgsm.c:219
+#: g10/gpg.c:461 sm/gpgsm.c:220
 msgid "generate a new key pair"
 msgstr "生成一个新的密钥对"
 
-#: g10/gpg.c:467
+#: g10/gpg.c:464
 msgid "quickly generate a new key pair"
 msgstr "快速生成一个新的密钥对"
 
-#: g10/gpg.c:470
+#: g10/gpg.c:467
 msgid "quickly add a new user-id"
 msgstr "快速添加一个新的用户标识"
 
-#: g10/gpg.c:475
+#: g10/gpg.c:472
 msgid "quickly revoke a user-id"
 msgstr "快速吊销一个用户标识"
 
-#: g10/gpg.c:478
+#: g10/gpg.c:475
 msgid "quickly set a new expiration date"
 msgstr "快速设置一个过期日期"
 
-#: g10/gpg.c:481
+#: g10/gpg.c:478
 msgid "full featured key pair generation"
 msgstr "完整功能的密钥对生成"
 
-#: g10/gpg.c:484
+#: g10/gpg.c:481
 msgid "generate a revocation certificate"
 msgstr "生成一份吊销证书"
 
-#: g10/gpg.c:487 sm/gpgsm.c:222
+#: g10/gpg.c:484 sm/gpgsm.c:223
 msgid "remove keys from the public keyring"
 msgstr "从公钥钥匙环里删除密钥"
 
-#: g10/gpg.c:489
+#: g10/gpg.c:486
 msgid "remove keys from the secret keyring"
 msgstr "从私钥钥匙环里删除密钥"
 
-#: g10/gpg.c:491
+#: g10/gpg.c:488
 msgid "quickly sign a key"
 msgstr "快速签名一个密钥"
 
-#: g10/gpg.c:493
+#: g10/gpg.c:490
 msgid "quickly sign a key locally"
 msgstr "快速本地签名一个密钥"
 
-#: g10/gpg.c:495
-#, fuzzy
-#| msgid "quickly revoke a user-id"
+#: g10/gpg.c:492
 msgid "quickly revoke a key signature"
-msgstr "快速吊销一个用户标识"
+msgstr "快速吊销一个密钥签名"
 
-#: g10/gpg.c:496
+#: g10/gpg.c:493
 msgid "sign a key"
 msgstr "签名一个密钥"
 
-#: g10/gpg.c:497
+#: g10/gpg.c:494
 msgid "sign a key locally"
 msgstr "本地签名一个密钥"
 
-#: g10/gpg.c:498
+#: g10/gpg.c:495
 msgid "sign or edit a key"
 msgstr "签名或编辑一个密钥"
 
-#: g10/gpg.c:500 sm/gpgsm.c:240
+#: g10/gpg.c:497 sm/gpgsm.c:241
 msgid "change a passphrase"
 msgstr "更改密码"
 
-#: g10/gpg.c:504
+#: g10/gpg.c:501
 msgid "export keys"
 msgstr "导出密钥"
 
-#: g10/gpg.c:505
+#: g10/gpg.c:502
 msgid "export keys to a keyserver"
-msgstr "密钥导出到一个公钥服务器上"
+msgstr "密钥导出到一个公钥服务器上"
 
-#: g10/gpg.c:506
+#: g10/gpg.c:503
 msgid "import keys from a keyserver"
 msgstr "从公钥服务器上导入密钥"
 
-#: g10/gpg.c:509
+#: g10/gpg.c:506
 msgid "search for keys on a keyserver"
 msgstr "在公钥服务器上搜索密钥"
 
-#: g10/gpg.c:511
+#: g10/gpg.c:508
 msgid "update all keys from a keyserver"
 msgstr "从公钥服务器更新所有密钥"
 
-#: g10/gpg.c:519
+#: g10/gpg.c:516
 msgid "import/merge keys"
 msgstr "导入/合并密钥"
 
-#: g10/gpg.c:522
+#: g10/gpg.c:519
 msgid "print the card status"
 msgstr "打印卡片状态"
 
-#: g10/gpg.c:523
+#: g10/gpg.c:520
 msgid "change data on a card"
 msgstr "更改卡片上的数据"
 
-#: g10/gpg.c:525
+#: g10/gpg.c:522
 msgid "change a card's PIN"
 msgstr "更改卡片的 PIN"
 
-#: g10/gpg.c:537
+#: g10/gpg.c:534
 msgid "update the trust database"
 msgstr "更新信任数据库"
 
-#: g10/gpg.c:546
+#: g10/gpg.c:543
 msgid "print message digests"
 msgstr "打印消息摘要"
 
-#: g10/gpg.c:549 sm/gpgsm.c:235
+#: g10/gpg.c:546 sm/gpgsm.c:236
 msgid "run in server mode"
 msgstr "以服务器模式运行"
 
-#: g10/gpg.c:551
+#: g10/gpg.c:548
 msgid "|VALUE|set the TOFU policy for a key"
 msgstr "|VALUE|设置一个密钥的 TOFU 政策"
 
-#: g10/gpg.c:555 sm/gpgsm.c:254
+#: g10/gpg.c:552 sm/gpgsm.c:255
 msgid "create ascii armored output"
 msgstr "创建 ASCII 字符封装的输出"
 
-#: g10/gpg.c:558 sm/gpgsm.c:271
+#: g10/gpg.c:555 sm/gpgsm.c:272
 msgid "|USER-ID|encrypt for USER-ID"
 msgstr "|USER-ID|为 USER-ID 加密"
 
-#: g10/gpg.c:574 sm/gpgsm.c:307
+#: g10/gpg.c:571 sm/gpgsm.c:308
 msgid "|USER-ID|use USER-ID to sign or decrypt"
 msgstr "|USER-ID|使用 USER-ID 来签名或者解密"
 
-#: g10/gpg.c:580
+#: g10/gpg.c:577
 msgid "|N|set compress level to N (0 disables)"
 msgstr "|N|设置压缩等级为 N (0 为禁用)"
 
-#: g10/gpg.c:587
+#: g10/gpg.c:584
 msgid "use canonical text mode"
 msgstr "使用规范的文本模式"
 
-#: g10/gpg.c:604 g10/gpgv.c:82 sm/gpgsm.c:309
+#: g10/gpg.c:601 g10/gpgv.c:82 sm/gpgsm.c:310
 msgid "|FILE|write output to FILE"
 msgstr "|FILE|写输出到 FILE"
 
-#: g10/gpg.c:614 kbx/kbxutil.c:90 sm/gpgsm.c:321 tools/gpgconf.c:110
+#: g10/gpg.c:611 kbx/kbxutil.c:90 sm/gpgsm.c:322 tools/gpgconf.c:110
 msgid "do not make any changes"
 msgstr "不做任何更改"
 
-#: g10/gpg.c:615
+#: g10/gpg.c:612
 msgid "prompt before overwriting"
 msgstr "覆盖前提示"
 
-#: g10/gpg.c:665
+#: g10/gpg.c:662
 msgid "use strict OpenPGP behavior"
 msgstr "使用严格的 OpenPGP 行为"
 
-#: g10/gpg.c:692 sm/gpgsm.c:364
+#: g10/gpg.c:689 sm/gpgsm.c:367
 msgid ""
 "@\n"
 "(See the man page for a complete listing of all commands and options)\n"
@@ -2667,7 +2654,7 @@ msgstr ""
 "@\n"
 "(请参考手册页以获得所有命令和选项的完整列表)\n"
 
-#: g10/gpg.c:695
+#: g10/gpg.c:692
 msgid ""
 "@\n"
 "Examples:\n"
@@ -2681,27 +2668,27 @@ msgstr ""
 "@\n"
 "例子:\n"
 "\n"
-" -se -r Bob [file]          为用户 Bob 签名和加密\n"
-" --clear-sign [file]        创建一个明文签名\n"
-" --detach-sign [file]       创建一个分离签名\n"
-" --list-keys [names]        列出密钥\n"
-" --fingerprint [names]      显示指纹\n"
+" -se -r Bob [文件]          为用户 Bob 签名和加密\n"
+" --clear-sign [文件]        创建一个明文签名\n"
+" --detach-sign [文件]       创建一个分离签名\n"
+" --list-keys [名字]        列出密钥\n"
+" --fingerprint [名字]      显示指纹\n"
 
-#: g10/gpg.c:1092
+#: g10/gpg.c:1096
 msgid "Usage: @GPG@ [options] [files] (-h for help)"
-msgstr "用法: @GPG@ [options] [files] (-h 获取帮助)"
+msgstr "用法: @GPG@ [选项] [文件] (-h 获取帮助)"
 
-#: g10/gpg.c:1095
+#: g10/gpg.c:1099
 msgid ""
 "Syntax: @GPG@ [options] [files]\n"
 "Sign, check, encrypt or decrypt\n"
 "Default operation depends on the input data\n"
 msgstr ""
-"语法:@GPG@ [options] [files]\n"
+"语法:@GPG@ [选项] [文件]\n"
 "签名、检查、加密或解密\n"
 "默认的操作依输入数据而定\n"
 
-#: g10/gpg.c:1106 sm/gpgsm.c:591
+#: g10/gpg.c:1110 sm/gpgsm.c:594
 msgid ""
 "\n"
 "Supported algorithms:\n"
@@ -2709,532 +2696,532 @@ msgstr ""
 "\n"
 "支持的算法:\n"
 
-#: g10/gpg.c:1109
+#: g10/gpg.c:1113
 msgid "Pubkey: "
 msgstr "公钥: "
 
-#: g10/gpg.c:1116 g10/keyedit.c:3281
+#: g10/gpg.c:1120 g10/keyedit.c:3282
 msgid "Cipher: "
 msgstr "密文: "
 
-#: g10/gpg.c:1123
+#: g10/gpg.c:1127
 msgid "Hash: "
 msgstr "散列: "
 
-#: g10/gpg.c:1130 g10/keyedit.c:3347
+#: g10/gpg.c:1134 g10/keyedit.c:3348
 msgid "Compression: "
 msgstr "压缩:  "
 
-#: g10/gpg.c:1199 sm/gpgsm.c:665
+#: g10/gpg.c:1207 sm/gpgsm.c:668
 #, c-format
 msgid "usage: %s [options] %s\n"
 msgstr "用法: %s [选项] %s\n"
 
-#: g10/gpg.c:1388 sm/gpgsm.c:754
+#: g10/gpg.c:1396 sm/gpgsm.c:761
 #, c-format
 msgid "conflicting commands\n"
 msgstr "冲突的指令\n"
 
-#: g10/gpg.c:1406
+#: g10/gpg.c:1414
 #, c-format
 msgid "no = sign found in group definition '%s'\n"
 msgstr "群组定义 ‘%s’ 中找不到 = 标志\n"
 
-#: g10/gpg.c:1604
+#: g10/gpg.c:1612
 #, c-format
 msgid "WARNING: unsafe ownership on homedir '%s'\n"
 msgstr "警告:家目录‘%s’的所有权不安全\n"
 
-#: g10/gpg.c:1607
+#: g10/gpg.c:1615
 #, c-format
 msgid "WARNING: unsafe ownership on configuration file '%s'\n"
 msgstr "警告:配置文件‘%s’的所有权不安全\n"
 
-#: g10/gpg.c:1610
+#: g10/gpg.c:1618
 #, c-format
 msgid "WARNING: unsafe ownership on extension '%s'\n"
 msgstr "警告:扩展模块‘%s’的所有权不安全\n"
 
-#: g10/gpg.c:1616
+#: g10/gpg.c:1624
 #, c-format
 msgid "WARNING: unsafe permissions on homedir '%s'\n"
 msgstr "警告:家目录‘%s’的权限位不安全\n"
 
-#: g10/gpg.c:1619
+#: g10/gpg.c:1627
 #, c-format
 msgid "WARNING: unsafe permissions on configuration file '%s'\n"
 msgstr "警告:配置文件‘%s’的权限位不安全\n"
 
-#: g10/gpg.c:1622
+#: g10/gpg.c:1630
 #, c-format
 msgid "WARNING: unsafe permissions on extension '%s'\n"
 msgstr "警告:扩展模块‘%s’的权限位不安全\n"
 
-#: g10/gpg.c:1628
+#: g10/gpg.c:1636
 #, c-format
 msgid "WARNING: unsafe enclosing directory ownership on homedir '%s'\n"
 msgstr "警告:家目录‘%s’的上级目录所有权不安全\n"
 
-#: g10/gpg.c:1631
+#: g10/gpg.c:1639
 #, c-format
 msgid ""
 "WARNING: unsafe enclosing directory ownership on configuration file '%s'\n"
 msgstr "警告:配置文件‘%s’的上级目录所有权不安全\n"
 
-#: g10/gpg.c:1634
+#: g10/gpg.c:1642
 #, c-format
 msgid "WARNING: unsafe enclosing directory ownership on extension '%s'\n"
 msgstr "警告:扩展模块‘%s’的上级目录所有权不安全\n"
 
-#: g10/gpg.c:1640
+#: g10/gpg.c:1648
 #, c-format
 msgid "WARNING: unsafe enclosing directory permissions on homedir '%s'\n"
 msgstr "警告:家目录‘%s’的上级目录权限位不安全\n"
 
-#: g10/gpg.c:1643
+#: g10/gpg.c:1651
 #, c-format
 msgid ""
 "WARNING: unsafe enclosing directory permissions on configuration file '%s'\n"
 msgstr "警告:配置文件‘%s’的上级目录权限不安全\n"
 
-#: g10/gpg.c:1646
+#: g10/gpg.c:1654
 #, c-format
 msgid "WARNING: unsafe enclosing directory permissions on extension '%s'\n"
 msgstr "警告:扩展模块‘%s’的上级目录权限位不安全\n"
 
-#: g10/gpg.c:1862
+#: g10/gpg.c:1870
 #, c-format
 msgid "unknown configuration item '%s'\n"
 msgstr "未知的配置项‘%s’\n"
 
-#: g10/gpg.c:1979
+#: g10/gpg.c:1992
 msgid "display photo IDs during key listings"
 msgstr "列出密钥时显示照片标识"
 
-#: g10/gpg.c:1981
+#: g10/gpg.c:1994
 msgid "show key usage information during key listings"
 msgstr "列出密钥时显示用途信息"
 
-#: g10/gpg.c:1983
+#: g10/gpg.c:1996
 msgid "show policy URLs during signature listings"
 msgstr "列出签名时显示策略 URL"
 
-#: g10/gpg.c:1985
+#: g10/gpg.c:1998
 msgid "show all notations during signature listings"
 msgstr "列出签名时显示所有注记"
 
-#: g10/gpg.c:1987
+#: g10/gpg.c:2000
 msgid "show IETF standard notations during signature listings"
 msgstr "列出签名时显示 IETF 标准注记"
 
-#: g10/gpg.c:1991
+#: g10/gpg.c:2004
 msgid "show user-supplied notations during signature listings"
 msgstr "列出签名时显示用户提供的注记"
 
-#: g10/gpg.c:1993
+#: g10/gpg.c:2006
 msgid "show preferred keyserver URLs during signature listings"
 msgstr "列出签名时显示首选公钥服务器 URL"
 
-#: g10/gpg.c:1995
+#: g10/gpg.c:2008
 msgid "show user ID validity during key listings"
 msgstr "列出密钥时显示用户标识的有效性"
 
-#: g10/gpg.c:1997
+#: g10/gpg.c:2010
 msgid "show revoked and expired user IDs in key listings"
 msgstr "列出密钥时显示已吊销或已过期的用户标识"
 
-#: g10/gpg.c:1999
+#: g10/gpg.c:2012
 msgid "show revoked and expired subkeys in key listings"
 msgstr "列出密钥时显示已吊销或已过期的子密钥"
 
-#: g10/gpg.c:2001
+#: g10/gpg.c:2014
 msgid "show the keyring name in key listings"
 msgstr "列出密钥时显示钥匙环的名称"
 
-#: g10/gpg.c:2003
+#: g10/gpg.c:2016
 msgid "show expiration dates during signature listings"
 msgstr "列出签名时显示过期日期"
 
-#: g10/gpg.c:2118
+#: g10/gpg.c:2131
 #, c-format
 msgid "unknown TOFU policy '%s'\n"
 msgstr "未知的 TOFU 政策‘%s’\n"
 
-#: g10/gpg.c:2120
+#: g10/gpg.c:2133
 #, c-format
 msgid "(use \"help\" to list choices)\n"
 msgstr "(使用“help”来列出选择)\n"
 
-#: g10/gpg.c:2840 g10/gpg.c:3671 g10/gpg.c:3683
+#: g10/gpg.c:2856 g10/gpg.c:3691 g10/gpg.c:3703
 #, c-format
 msgid "Note: %s is not for normal use!\n"
 msgstr "注意:%s 不适用于一般使用!\n"
 
-#: g10/gpg.c:3017 g10/gpg.c:3029
+#: g10/gpg.c:3033 g10/gpg.c:3045
 #, c-format
 msgid "'%s' is not a valid signature expiration\n"
 msgstr "‘%s’不是一个有效的签名过期日期\n"
 
-#: g10/gpg.c:3051
+#: g10/gpg.c:3067
 #, c-format
 msgid "\"%s\" is not a proper mail address\n"
 msgstr "“%s” 不是一个合适的邮件地址\n"
 
-#: g10/gpg.c:3083 sm/gpgsm.c:1177
+#: g10/gpg.c:3099 sm/gpgsm.c:1091
 #, c-format
 msgid "invalid pinentry mode '%s'\n"
 msgstr "无效的 pinentry 模式‘%s’\n"
 
-#: g10/gpg.c:3089 sm/gpgsm.c:1183
+#: g10/gpg.c:3105 sm/gpgsm.c:1097
 #, c-format
 msgid "invalid request origin '%s'\n"
 msgstr "无效的请求来源‘%s’\n"
 
-#: g10/gpg.c:3143
+#: g10/gpg.c:3159
 #, c-format
 msgid "'%s' is not a valid character set\n"
 msgstr "‘%s’不是一个有效的字符集\n"
 
-#: g10/gpg.c:3165 g10/gpg.c:3375 g10/keyedit.c:5281
+#: g10/gpg.c:3181 g10/gpg.c:3395 g10/keyedit.c:5282
 #, c-format
 msgid "could not parse keyserver URL\n"
 msgstr "无法解析公钥服务器 URL\n"
 
-#: g10/gpg.c:3183
+#: g10/gpg.c:3199
 #, c-format
 msgid "%s:%d: invalid keyserver options\n"
 msgstr "%s:%d:无效的公钥服务器选项\n"
 
-#: g10/gpg.c:3186
+#: g10/gpg.c:3202
 #, c-format
 msgid "invalid keyserver options\n"
 msgstr "无效的公钥服务器选项\n"
 
-#: g10/gpg.c:3193
+#: g10/gpg.c:3209
 #, c-format
 msgid "%s:%d: invalid import options\n"
 msgstr "%s:%d:无效的导入选项\n"
 
-#: g10/gpg.c:3196
+#: g10/gpg.c:3212
 #, c-format
 msgid "invalid import options\n"
 msgstr "无效的导入选项\n"
 
-#: g10/gpg.c:3202 g10/gpg.c:3217
+#: g10/gpg.c:3218 g10/gpg.c:3233
 #, c-format
 msgid "invalid filter option: %s\n"
 msgstr "无效的过滤选项:%s\n"
 
-#: g10/gpg.c:3208
+#: g10/gpg.c:3224
 #, c-format
 msgid "%s:%d: invalid export options\n"
 msgstr "%s:%d:无效的导出选项\n"
 
-#: g10/gpg.c:3211
+#: g10/gpg.c:3227
 #, c-format
 msgid "invalid export options\n"
 msgstr "无效的导出选项\n"
 
-#: g10/gpg.c:3223
+#: g10/gpg.c:3239
 #, c-format
 msgid "%s:%d: invalid list options\n"
 msgstr "%s:%d:无效的列表选项\n"
 
-#: g10/gpg.c:3226
+#: g10/gpg.c:3242
 #, c-format
 msgid "invalid list options\n"
 msgstr "无效的列表选项\n"
 
-#: g10/gpg.c:3234
+#: g10/gpg.c:3250
 msgid "display photo IDs during signature verification"
 msgstr "验证签名时显示照片标识"
 
-#: g10/gpg.c:3236
+#: g10/gpg.c:3252
 msgid "show policy URLs during signature verification"
 msgstr "验证签名时显示策略 URL"
 
-#: g10/gpg.c:3238
+#: g10/gpg.c:3254
 msgid "show all notations during signature verification"
 msgstr "验证签名时显示所有注记"
 
-#: g10/gpg.c:3240
+#: g10/gpg.c:3256
 msgid "show IETF standard notations during signature verification"
 msgstr "验证签名时显示 IETF 标准注记"
 
-#: g10/gpg.c:3244
+#: g10/gpg.c:3260
 msgid "show user-supplied notations during signature verification"
 msgstr "验证签名时显示用户提供的注记"
 
-#: g10/gpg.c:3246
+#: g10/gpg.c:3262
 msgid "show preferred keyserver URLs during signature verification"
 msgstr "验证签名时显示首选公钥服务器 URL"
 
-#: g10/gpg.c:3248
+#: g10/gpg.c:3264
 msgid "show user ID validity during signature verification"
 msgstr "验证签名时显示用户标识的有效性"
 
-#: g10/gpg.c:3250
+#: g10/gpg.c:3266
 msgid "show revoked and expired user IDs in signature verification"
 msgstr "验证密钥时显示已吊销或已过期的子钥"
 
-#: g10/gpg.c:3252
+#: g10/gpg.c:3268
 msgid "show only the primary user ID in signature verification"
 msgstr "在签名验证中只显示主要用户标识"
 
-#: g10/gpg.c:3254
+#: g10/gpg.c:3270
 msgid "validate signatures with PKA data"
 msgstr "使用 PKA 数据验证签名"
 
-#: g10/gpg.c:3256
+#: g10/gpg.c:3272
 msgid "elevate the trust of signatures with valid PKA data"
 msgstr "提升带有有效 PKA 数据的签名的信任度"
 
-#: g10/gpg.c:3263
+#: g10/gpg.c:3279
 #, c-format
 msgid "%s:%d: invalid verify options\n"
 msgstr "%s:%d: 无效的验证选项\n"
 
-#: g10/gpg.c:3266
+#: g10/gpg.c:3282
 #, c-format
 msgid "invalid verify options\n"
 msgstr "无效的验证选项\n"
 
-#: g10/gpg.c:3273
+#: g10/gpg.c:3289
 #, c-format
 msgid "unable to set exec-path to %s\n"
 msgstr "无法设置运行路径为 %s\n"
 
-#: g10/gpg.c:3478
+#: g10/gpg.c:3498
 #, c-format
 msgid "%s:%d: invalid auto-key-locate list\n"
 msgstr "%s%d: 无效的 auto-key-locate 列表\n"
 
-#: g10/gpg.c:3481
+#: g10/gpg.c:3501
 #, c-format
 msgid "invalid auto-key-locate list\n"
 msgstr "无效的 auto-key-locate 列表\n"
 
-#: g10/gpg.c:3653 sm/gpgsm.c:1541
+#: g10/gpg.c:3673 sm/gpgsm.c:1441
 #, c-format
 msgid "WARNING: program may create a core file!\n"
 msgstr "警告:程序可能会创建核心内存转储文件!\n"
 
-#: g10/gpg.c:3664
+#: g10/gpg.c:3684
 #, c-format
 msgid "WARNING: %s overrides %s\n"
 msgstr "警告:%s 覆盖了 %s \n"
 
-#: g10/gpg.c:3673
+#: g10/gpg.c:3693
 #, c-format
 msgid "%s not allowed with %s!\n"
 msgstr "%s 不允许与 %s 并用\n"
 
-#: g10/gpg.c:3676
+#: g10/gpg.c:3696
 #, c-format
 msgid "%s makes no sense with %s!\n"
 msgstr "%s 与 %s 并用时不起作用\n"
 
-#: g10/gpg.c:3691 sm/gpgsm.c:1558 dirmngr/dirmngr.c:1082
+#: g10/gpg.c:3711 sm/gpgsm.c:1458 dirmngr/dirmngr.c:1117
 #, c-format
 msgid "WARNING: running with faked system time: "
 msgstr "警告:正在以虚假的系统时间运行: "
 
-#: g10/gpg.c:3712
+#: g10/gpg.c:3732
 #, c-format
 msgid "will not run with insecure memory due to %s\n"
 msgstr "不会在内存不安全的情况下运行,原因是 %s\n"
 
-#: g10/gpg.c:3747 g10/gpg.c:3771 sm/gpgsm.c:1625
+#: g10/gpg.c:3767 g10/gpg.c:3791 sm/gpgsm.c:1525
 #, c-format
 msgid "selected cipher algorithm is invalid\n"
 msgstr "所选的密文算法无效\n"
 
-#: g10/gpg.c:3759
+#: g10/gpg.c:3779
 #, c-format
 msgid "selected compression algorithm is invalid\n"
 msgstr "所选的压缩算法无效\n"
 
-#: g10/gpg.c:3765
+#: g10/gpg.c:3785
 #, c-format
 msgid "selected certification digest algorithm is invalid\n"
 msgstr "所选的证书散列算法无效\n"
 
-#: g10/gpg.c:3780
-#, fuzzy, c-format
+#: g10/gpg.c:3800
+#, c-format
 msgid "completes-needed must be greater than 0\n"
 msgstr "需要的完全可信签名数一定要大于 0\n"
 
-#: g10/gpg.c:3782
-#, fuzzy, c-format
+#: g10/gpg.c:3802
+#, c-format
 msgid "marginals-needed must be greater than 1\n"
 msgstr "需要的勉强可信签名数一定要大于 1\n"
 
-#: g10/gpg.c:3784
+#: g10/gpg.c:3804
 #, c-format
 msgid "max-cert-depth must be in the range from 1 to 255\n"
 msgstr "最大证书链深度(max-cert-depth)一定要介于 1 和 255 之间\n"
 
-#: g10/gpg.c:3786
+#: g10/gpg.c:3806
 #, c-format
 msgid "invalid default-cert-level; must be 0, 1, 2, or 3\n"
 msgstr "无效的默认认证级别(default-cert-level);必须为 0,1,2 或 3\n"
 
-#: g10/gpg.c:3788
+#: g10/gpg.c:3808
 #, c-format
 msgid "invalid min-cert-level; must be 1, 2, or 3\n"
 msgstr "无效的最小认证级别(default-cert-level);必须为 1,2 或 3\n"
 
-#: g10/gpg.c:3791
+#: g10/gpg.c:3812
 #, c-format
 msgid "Note: simple S2K mode (0) is strongly discouraged\n"
 msgstr "注意:强烈不建议使用简单的 S2K 模式 (0)\n"
 
-#: g10/gpg.c:3795
+#: g10/gpg.c:3816
 #, c-format
 msgid "invalid S2K mode; must be 0, 1 or 3\n"
 msgstr "无效的 S2K 模式;必须是 0,1 或 3\n"
 
-#: g10/gpg.c:3802
+#: g10/gpg.c:3823
 #, c-format
 msgid "invalid default preferences\n"
 msgstr "无效的默认偏好设置\n"
 
-#: g10/gpg.c:3806
+#: g10/gpg.c:3827
 #, c-format
 msgid "invalid personal cipher preferences\n"
 msgstr "无效的个人密文偏好设置\n"
 
-#: g10/gpg.c:3810
+#: g10/gpg.c:3831
 #, c-format
 msgid "invalid personal digest preferences\n"
 msgstr "无效的个人摘要算法偏好设置\n"
 
-#: g10/gpg.c:3814
+#: g10/gpg.c:3835
 #, c-format
 msgid "invalid personal compress preferences\n"
 msgstr "无效的个人压缩算法首选项\n"
 
-#: g10/gpg.c:3850
+#: g10/gpg.c:3871
 #, c-format
 msgid "%s does not yet work with %s\n"
 msgstr "%s 尚不能和 %s 并用\n"
 
-#: g10/gpg.c:3913
+#: g10/gpg.c:3934
 #, c-format
 msgid "compression algorithm '%s' may not be used in %s mode\n"
 msgstr "压缩算法‘%s’不能在 %s 模式下使用\n"
 
-#: g10/gpg.c:4057
+#: g10/gpg.c:4078
 #, c-format
 msgid "failed to initialize the TrustDB: %s\n"
 msgstr "初始化信任度数据库失败:%s\n"
 
-#: g10/gpg.c:4069
+#: g10/gpg.c:4090
 #, c-format
 msgid "WARNING: recipients (-r) given without using public key encryption\n"
 msgstr "警告:给定了接收者(-r)但并未使用公钥加密\n"
 
-#: g10/gpg.c:4141
+#: g10/gpg.c:4162
 #, c-format
 msgid "symmetric encryption of '%s' failed: %s\n"
 msgstr "对称加密‘%s’失败:%s\n"
 
-#: g10/gpg.c:4170
+#: g10/gpg.c:4191
 #, c-format
 msgid "you cannot use --symmetric --encrypt with --s2k-mode 0\n"
 msgstr "您不能在使用 --symmetric --encrypt 时使用 --s2k-mode 0\n"
 
-#: g10/gpg.c:4173
+#: g10/gpg.c:4194
 #, c-format
 msgid "you cannot use --symmetric --encrypt in %s mode\n"
 msgstr "您不能在 %s 模式下使用 --symmetric -encrypt\n"
 
-#: g10/gpg.c:4231
+#: g10/gpg.c:4252
 #, c-format
 msgid "you cannot use --symmetric --sign --encrypt with --s2k-mode 0\n"
 msgstr "您不能在使用 --symmetric --sign --encrypt 时使用 --s2k-mode 0\n"
 
-#: g10/gpg.c:4234
+#: g10/gpg.c:4255
 #, c-format
 msgid "you cannot use --symmetric --sign --encrypt in %s mode\n"
 msgstr "您不能在 %s 模式下使用 --symmetric --sign -encrypt\n"
 
-#: g10/gpg.c:4622 g10/keyserver.c:1881
+#: g10/gpg.c:4643 g10/keyserver.c:1648
 #, c-format
 msgid "keyserver send failed: %s\n"
 msgstr "发送至公钥服务器失败:%s\n"
 
-#: g10/gpg.c:4627
+#: g10/gpg.c:4648
 #, c-format
 msgid "keyserver receive failed: %s\n"
 msgstr "从公钥服务器接收失败:%s\n"
 
-#: g10/gpg.c:4633
+#: g10/gpg.c:4654
 #, c-format
 msgid "key export failed: %s\n"
 msgstr "导出密钥失败:%s\n"
 
-#: g10/gpg.c:4646
+#: g10/gpg.c:4667
 #, c-format
 msgid "export as ssh key failed: %s\n"
 msgstr "作为 ssh 密钥导出失败:%s\n"
 
-#: g10/gpg.c:4658
+#: g10/gpg.c:4679
 #, c-format
 msgid "keyserver search failed: %s\n"
 msgstr "公钥服务器搜索失败:%s\n"
 
-#: g10/gpg.c:4671
+#: g10/gpg.c:4692
 #, c-format
 msgid "keyserver refresh failed: %s\n"
 msgstr "公钥服务器刷新失败:%s\n"
 
-#: g10/gpg.c:4738
+#: g10/gpg.c:4759
 #, c-format
 msgid "dearmoring failed: %s\n"
 msgstr "解开字符封装时失败:%s\n"
 
-#: g10/gpg.c:4749
+#: g10/gpg.c:4770
 #, c-format
 msgid "enarmoring failed: %s\n"
 msgstr "进行字符封装时失败:%s\n"
 
-#: g10/gpg.c:4841
+#: g10/gpg.c:4862
 #, c-format
 msgid "invalid hash algorithm '%s'\n"
 msgstr "无效的散列算法‘%s’\n"
 
-#: g10/gpg.c:4993 g10/tofu.c:2153
+#: g10/gpg.c:5014 g10/tofu.c:2153
 #, c-format
 msgid "error parsing key specification '%s': %s\n"
 msgstr "解析密钥指定‘%s’时出现错误:%s\n"
 
-#: g10/gpg.c:5006
+#: g10/gpg.c:5027
 #, c-format
 msgid "'%s' does not appear to be a valid key ID, fingerprint or keygrip\n"
 msgstr "‘%s’不像是一个有效的密钥标识、指纹或者 keygrip\n"
 
-#: g10/gpg.c:5062
+#: g10/gpg.c:5083
 #, c-format
 msgid "WARNING: no command supplied.  Trying to guess what you mean ...\n"
 msgstr "警告:没有提供命令。正在尝试猜测您的意图...\n"
 
-#: g10/gpg.c:5073
+#: g10/gpg.c:5094
 #, c-format
 msgid "Go ahead and type your message ...\n"
 msgstr "请开始输入您的消息…\n"
 
-#: g10/gpg.c:5418
+#: g10/gpg.c:5439
 #, c-format
 msgid "the given certification policy URL is invalid\n"
 msgstr "给定的的证书策略 URL 无效\n"
 
-#: g10/gpg.c:5420
+#: g10/gpg.c:5441
 #, c-format
 msgid "the given signature policy URL is invalid\n"
 msgstr "给定的签名策略 URL 无效\n"
 
-#: g10/gpg.c:5453
+#: g10/gpg.c:5474
 #, c-format
 msgid "the given preferred keyserver URL is invalid\n"
 msgstr "给定的首选公钥服务器 URL 无效\n"
@@ -3247,7 +3234,7 @@ msgstr "|FILE|从钥匙环 FILE 文件中取得密钥"
 msgid "make timestamp conflicts only a warning"
 msgstr "把时间戳冲突仅视为警告"
 
-#: g10/gpgv.c:86 sm/gpgsm.c:354 tools/gpgconf.c:112
+#: g10/gpgv.c:86 sm/gpgsm.c:357 tools/gpgconf.c:112
 msgid "|FD|write status info to this FD"
 msgstr "|FD|把状态信息写入文件描述符 FD"
 
@@ -3310,7 +3297,7 @@ msgstr "导入后尽可能多地移除密钥中的可选部分"
 
 #: g10/import.c:193
 msgid "ignore key-signatures which are not self-signatures"
-msgstr ""
+msgstr "忽略不是自签名的密钥签名"
 
 #: g10/import.c:196
 msgid "run import filters and export key immediately"
@@ -3324,97 +3311,97 @@ msgstr "假定为 GnuPG 密钥备份格式"
 msgid "repair keys on import"
 msgstr "在导入期间修复密钥"
 
-#: g10/import.c:380 g10/import.c:699
+#: g10/import.c:392 g10/import.c:711
 #, c-format
 msgid "skipping block of type %d\n"
 msgstr "跳过 %d 类型的块\n"
 
-#: g10/import.c:716
+#: g10/import.c:728
 #, c-format
 msgid "%lu keys processed so far\n"
 msgstr "目前已处理 %lu 个密钥\n"
 
-#: g10/import.c:802
+#: g10/import.c:814
 #, c-format
 msgid "Total number processed: %lu\n"
 msgstr "处理的总数:%lu\n"
 
-#: g10/import.c:805
+#: g10/import.c:817
 #, c-format
 msgid "    skipped PGP-2 keys: %lu\n"
 msgstr "    已跳过的 PGP-2 密钥:%lu\n"
 
-#: g10/import.c:807
+#: g10/import.c:819
 #, c-format
 msgid "      skipped new keys: %lu\n"
 msgstr "      已跳过的新密钥:%lu\n"
 
-#: g10/import.c:810
+#: g10/import.c:822
 #, c-format
 msgid "          w/o user IDs: %lu\n"
 msgstr "          缺少用户标识:%lu\n"
 
-#: g10/import.c:813 sm/import.c:130
+#: g10/import.c:825 sm/import.c:130
 #, c-format
 msgid "              imported: %lu"
 msgstr "              已导入:%lu"
 
-#: g10/import.c:817 sm/import.c:134
+#: g10/import.c:829 sm/import.c:134
 #, c-format
 msgid "             unchanged: %lu\n"
 msgstr "             未改变:%lu\n"
 
-#: g10/import.c:819
+#: g10/import.c:831
 #, c-format
 msgid "          new user IDs: %lu\n"
 msgstr "      新用户标识:%lu\n"
 
-#: g10/import.c:821
+#: g10/import.c:833
 #, c-format
 msgid "           new subkeys: %lu\n"
 msgstr "        新的子密钥:%lu\n"
 
-#: g10/import.c:823
+#: g10/import.c:835
 #, c-format
 msgid "        new signatures: %lu\n"
 msgstr "        新的签名:%lu\n"
 
-#: g10/import.c:825
+#: g10/import.c:837
 #, c-format
 msgid "   new key revocations: %lu\n"
 msgstr "   新的密钥吊销:%lu\n"
 
-#: g10/import.c:827 sm/import.c:136
+#: g10/import.c:839 sm/import.c:136
 #, c-format
 msgid "      secret keys read: %lu\n"
 msgstr "      读取的私钥:%lu\n"
 
-#: g10/import.c:829 sm/import.c:138
+#: g10/import.c:841 sm/import.c:138
 #, c-format
 msgid "  secret keys imported: %lu\n"
 msgstr "  导入的私钥:%lu\n"
 
-#: g10/import.c:831 sm/import.c:140
+#: g10/import.c:843 sm/import.c:140
 #, c-format
 msgid " secret keys unchanged: %lu\n"
 msgstr " 未改变的私钥:%lu\n"
 
-#: g10/import.c:833 sm/import.c:142
+#: g10/import.c:845 sm/import.c:142
 #, c-format
 msgid "          not imported: %lu\n"
 msgstr "          未被导入:%lu\n"
 
-#: g10/import.c:835
+#: g10/import.c:847
 #, c-format
 msgid "    signatures cleaned: %lu\n"
 msgstr "    清理的签名:%lu\n"
 
-#: g10/import.c:837
+#: g10/import.c:849
 #, c-format
 msgid "      user IDs cleaned: %lu\n"
 msgstr "      清理的用户标识:%lu\n"
 
-#: g10/import.c:1264
+#: g10/import.c:1276
 #, c-format
 msgid ""
 "WARNING: key %s contains preferences for unavailable\n"
@@ -3423,166 +3410,166 @@ msgstr ""
 "警告:密钥 %s 包含了不可用算法的偏好设置\n"
 "于下列用户标识上:\n"
 
-#: g10/import.c:1306
+#: g10/import.c:1318
 #, c-format
 msgid "         \"%s\": preference for cipher algorithm %s\n"
 msgstr "         “%s”:密文算法 %s 的首选项\n"
 
-#: g10/import.c:1321
+#: g10/import.c:1333
 #, c-format
 msgid "         \"%s\": preference for digest algorithm %s\n"
 msgstr "         “%s”:散列算法 %s 对应首选项\n"
 
-#: g10/import.c:1333
+#: g10/import.c:1345
 #, c-format
 msgid "         \"%s\": preference for compression algorithm %s\n"
 msgstr "         “%s”:压缩算法 %s 对应首选项\n"
 
-#: g10/import.c:1346
+#: g10/import.c:1358
 #, c-format
 msgid "it is strongly suggested that you update your preferences and\n"
 msgstr "强烈建议您更新您的偏好设置并重新分发这个密钥\n"
 
-#: g10/import.c:1348
+#: g10/import.c:1360
 #, c-format
 msgid "re-distribute this key to avoid potential algorithm mismatch problems\n"
 msgstr "以避免可能的算法不匹配问题\n"
 
-#: g10/import.c:1373
+#: g10/import.c:1385
 #, c-format
 msgid "you can update your preferences with: gpg --edit-key %s updpref save\n"
 msgstr "您可以这样更新您的偏好设置:gpg --edit-key %s updpref save\n"
 
-#: g10/import.c:1887 g10/import.c:3001
+#: g10/import.c:1899 g10/import.c:3013
 #, c-format
 msgid "key %s: no user ID\n"
 msgstr "密钥 %s:没有用户标识\n"
 
-#: g10/import.c:1893
+#: g10/import.c:1905
 #, c-format
 msgid "key %s: %s\n"
 msgstr "密钥 %s: %s\n"
 
-#: g10/import.c:1894 g10/import.c:2973
+#: g10/import.c:1906 g10/import.c:2985
 msgid "rejected by import screener"
 msgstr "被导入筛查器拒绝"
 
-#: g10/import.c:1938
+#: g10/import.c:1950
 #, c-format
 msgid "key %s: PKS subkey corruption repaired\n"
 msgstr "密钥%s:PKS 子密钥破损已修复\n"
 
-#: g10/import.c:1959
+#: g10/import.c:1971
 #, c-format
 msgid "key %s: accepted non self-signed user ID \"%s\"\n"
 msgstr "密钥 %s:已接受不含自签名的用户标识 “%s”\n"
 
-#: g10/import.c:1969 g10/import.c:2000
+#: g10/import.c:1981 g10/import.c:2012
 #, c-format
 msgid "key %s: no valid user IDs\n"
 msgstr "密钥 %s:没有有效的用户标识\n"
 
-#: g10/import.c:1971
+#: g10/import.c:1983
 #, c-format
 msgid "this may be caused by a missing self-signature\n"
 msgstr "这可能由于遗失自签名所致\n"
 
-#: g10/import.c:2050 g10/import.c:3387
+#: g10/import.c:2062 g10/import.c:3399
 #, c-format
 msgid "key %s: public key not found: %s\n"
 msgstr "密钥 %s:找不到公钥:%s\n"
 
-#: g10/import.c:2056
+#: g10/import.c:2068
 #, c-format
 msgid "key %s: new key - skipped\n"
 msgstr "密钥 %s:新密钥 - 已跳过\n"
 
-#: g10/import.c:2068
+#: g10/import.c:2080
 #, c-format
 msgid "no writable keyring found: %s\n"
 msgstr "找不到可写的钥匙环:%s\n"
 
-#: g10/import.c:2100 g10/import.c:2202 g10/import.c:3464
+#: g10/import.c:2112 g10/import.c:2214 g10/import.c:3476
 #, c-format
 msgid "error writing keyring '%s': %s\n"
 msgstr "写入钥匙环 ‘%s’ 时出现错误: %s\n"
 
-#: g10/import.c:2123
+#: g10/import.c:2135
 #, c-format
 msgid "key %s: public key \"%s\" imported\n"
 msgstr "密钥 %s:公钥 “%s” 已导入\n"
 
-#: g10/import.c:2150
+#: g10/import.c:2162
 #, c-format
 msgid "key %s: doesn't match our copy\n"
 msgstr "密钥 %s:与我们的副本不符合\n"
 
-#: g10/import.c:2218
+#: g10/import.c:2230
 #, c-format
 msgid "key %s: \"%s\" 1 new user ID\n"
 msgstr "密钥 %s:“%s” 1 个新的用户标识\n"
 
-#: g10/import.c:2221
+#: g10/import.c:2233
 #, c-format
 msgid "key %s: \"%s\" %d new user IDs\n"
 msgstr "密钥 %s:“%s” %d 个新的用户标识\n"
 
-#: g10/import.c:2224
+#: g10/import.c:2236
 #, c-format
 msgid "key %s: \"%s\" 1 new signature\n"
 msgstr "密钥 %s:“%s” 1 个新的签名\n"
 
-#: g10/import.c:2227
+#: g10/import.c:2239
 #, c-format
 msgid "key %s: \"%s\" %d new signatures\n"
 msgstr "密钥 %s:“%s” %d 个新的签名\n"
 
-#: g10/import.c:2230
+#: g10/import.c:2242
 #, c-format
 msgid "key %s: \"%s\" 1 new subkey\n"
 msgstr "密钥 %s:“%s” 1 个新的子密钥\n"
 
-#: g10/import.c:2233
+#: g10/import.c:2245
 #, c-format
 msgid "key %s: \"%s\" %d new subkeys\n"
 msgstr "密钥 %s:“%s” %d 个新的子密钥\n"
 
-#: g10/import.c:2236
+#: g10/import.c:2248
 #, c-format
 msgid "key %s: \"%s\" %d signature cleaned\n"
 msgstr "密钥 %s:“%s” %d 个签名被清理\n"
 
-#: g10/import.c:2239
+#: g10/import.c:2251
 #, c-format
 msgid "key %s: \"%s\" %d signatures cleaned\n"
 msgstr "密钥 %s:“%s” %d 个签名被清理\n"
 
-#: g10/import.c:2242
+#: g10/import.c:2254
 #, c-format
 msgid "key %s: \"%s\" %d user ID cleaned\n"
 msgstr "密钥 %s:“%s” %d 个用户标识被清理\n"
 
-#: g10/import.c:2245
+#: g10/import.c:2257
 #, c-format
 msgid "key %s: \"%s\" %d user IDs cleaned\n"
 msgstr "密钥 %s:“%s” %d 个用户标识被清理\n"
 
-#: g10/import.c:2281
+#: g10/import.c:2293
 #, c-format
 msgid "key %s: \"%s\" not changed\n"
 msgstr "密钥 %s:“%s” 未改变\n"
 
-#: g10/import.c:2640 g10/import.c:2835
+#: g10/import.c:2652 g10/import.c:2847
 #, c-format
 msgid "key %s: secret key imported\n"
 msgstr "密钥 %s:私钥已导入\n"
 
-#: g10/import.c:2648
+#: g10/import.c:2660
 #, c-format
 msgid "key %s: secret key already exists\n"
 msgstr "密钥 %s:私钥已存在\n"
 
-#: g10/import.c:2656
+#: g10/import.c:2668
 #, c-format
 msgid "key %s: error sending to agent: %s\n"
 msgstr "密钥 %s:发送至代理人程序时出现错误:%s\n"
@@ -3595,192 +3582,192 @@ msgstr "密钥 %s:发送至代理人程序时出现错误:%s\n"
 #. * Instead, user should be suggested to run 'gpg --card-status',
 #. * then, references to a card will be automatically created
 #. * again.
-#: g10/import.c:2825
+#: g10/import.c:2837
 #, c-format
 msgid "To migrate '%s', with each smartcard, run: %s\n"
 msgstr "要迁移 ‘%s’,对每一张智能卡,执行:%s\n"
 
-#: g10/import.c:2972
+#: g10/import.c:2984
 #, c-format
 msgid "secret key %s: %s\n"
 msgstr "私钥 %s:%s\n"
 
-#: g10/import.c:2993 g10/import.c:3032
+#: g10/import.c:3005 g10/import.c:3044
 #, c-format
 msgid "importing secret keys not allowed\n"
 msgstr "私钥导入被禁止\n"
 
-#: g10/import.c:3020
+#: g10/import.c:3032
 #, c-format
 msgid "key %s: secret key with invalid cipher %d - skipped\n"
 msgstr "密钥 %s:私钥使用了无效的密文算法 %d - 已跳过\n"
 
-#: g10/import.c:3182 g10/pkclist.c:72 g10/revoke.c:776
+#: g10/import.c:3194 g10/pkclist.c:72 g10/revoke.c:776
 msgid "No reason specified"
 msgstr "未指定原因"
 
-#: g10/import.c:3183 g10/pkclist.c:74 g10/revoke.c:778
+#: g10/import.c:3195 g10/pkclist.c:74 g10/revoke.c:778
 msgid "Key is superseded"
 msgstr "密钥被替换"
 
-#: g10/import.c:3184 g10/pkclist.c:76 g10/revoke.c:777
+#: g10/import.c:3196 g10/pkclist.c:76 g10/revoke.c:777
 msgid "Key has been compromised"
 msgstr "密钥已泄漏"
 
-#: g10/import.c:3185 g10/pkclist.c:78 g10/revoke.c:779
+#: g10/import.c:3197 g10/pkclist.c:78 g10/revoke.c:779
 msgid "Key is no longer used"
 msgstr "密钥不再使用"
 
-#: g10/import.c:3186 g10/pkclist.c:80 g10/revoke.c:780
+#: g10/import.c:3198 g10/pkclist.c:80 g10/revoke.c:780
 msgid "User ID is no longer valid"
 msgstr "用户标识不再有效"
 
-#: g10/import.c:3311 g10/keylist.c:1254 g10/pkclist.c:84
+#: g10/import.c:3323 g10/keylist.c:1254 g10/pkclist.c:84
 #, c-format
 msgid "reason for revocation: "
 msgstr "吊销原因: "
 
-#: g10/import.c:3330 g10/keylist.c:1273 g10/pkclist.c:100
+#: g10/import.c:3342 g10/keylist.c:1273 g10/pkclist.c:100
 #, c-format
 msgid "revocation comment: "
 msgstr "吊销注释: "
 
-#: g10/import.c:3380
+#: g10/import.c:3392
 #, c-format
 msgid "key %s: no public key - can't apply revocation certificate\n"
 msgstr "密钥 %s:没有公钥 - 无法应用吊销证书\n"
 
-#: g10/import.c:3411
+#: g10/import.c:3423
 #, c-format
 msgid "key %s: can't locate original keyblock: %s\n"
 msgstr "密钥 %s:无法定位原始的密钥区块:%s\n"
 
-#: g10/import.c:3418
+#: g10/import.c:3430
 #, c-format
 msgid "key %s: can't read original keyblock: %s\n"
 msgstr "密钥 %s:无法读取原始的密钥区块:%s\n"
 
-#: g10/import.c:3438
+#: g10/import.c:3450
 #, c-format
 msgid "key %s: invalid revocation certificate: %s - rejected\n"
 msgstr "密钥 %s:无效的吊销证书:%s - 已拒绝\n"
 
-#: g10/import.c:3473
+#: g10/import.c:3485
 #, c-format
 msgid "key %s: \"%s\" revocation certificate imported\n"
 msgstr "密钥 %s:“%s” 吊销证书已被导入\n"
 
-#: g10/import.c:3559
+#: g10/import.c:3571
 #, c-format
 msgid "key %s: no user ID for signature\n"
 msgstr "密钥 %s:签名没有用户标识\n"
 
-#: g10/import.c:3576
+#: g10/import.c:3588
 #, c-format
 msgid "key %s: unsupported public key algorithm on user ID \"%s\"\n"
 msgstr "密钥 %s:用户标识 “%s” 使用了不支持的公钥算法\n"
 
-#: g10/import.c:3578
+#: g10/import.c:3590
 #, c-format
 msgid "key %s: invalid self-signature on user ID \"%s\"\n"
 msgstr "密钥 %s:用户标识 “%s” 自身签名无效\n"
 
-#: g10/import.c:3595 g10/import.c:3623 g10/import.c:3679
+#: g10/import.c:3607 g10/import.c:3635 g10/import.c:3691
 #, c-format
 msgid "key %s: unsupported public key algorithm\n"
 msgstr "密钥 %s:不支持的公钥算法\n"
 
-#: g10/import.c:3596
+#: g10/import.c:3608
 #, c-format
 msgid "key %s: invalid direct key signature\n"
 msgstr "密钥 %s:无效的直接密钥签名\n"
 
-#: g10/import.c:3610
+#: g10/import.c:3622
 #, c-format
 msgid "key %s: no subkey for key binding\n"
 msgstr "密钥 %s:没有可供绑定的子密钥\n"
 
-#: g10/import.c:3625
+#: g10/import.c:3637
 #, c-format
 msgid "key %s: invalid subkey binding\n"
 msgstr "密钥 %s:无效的子密钥绑定\n"
 
-#: g10/import.c:3644
+#: g10/import.c:3656
 #, c-format
 msgid "key %s: removed multiple subkey binding\n"
 msgstr "密钥 %s:已删除多重子密钥绑定\n"
 
-#: g10/import.c:3668
+#: g10/import.c:3680
 #, c-format
 msgid "key %s: no subkey for key revocation\n"
 msgstr "密钥 %s:没有用于密钥吊销用的子密钥\n"
 
-#: g10/import.c:3681
+#: g10/import.c:3693
 #, c-format
 msgid "key %s: invalid subkey revocation\n"
 msgstr "密钥 %s:无效的子密钥吊销\n"
 
-#: g10/import.c:3696
+#: g10/import.c:3708
 #, c-format
 msgid "key %s: removed multiple subkey revocation\n"
 msgstr "密钥 %s:已删除多重子密钥吊销\n"
 
-#: g10/import.c:3740
+#: g10/import.c:3752
 #, c-format
 msgid "key %s: skipped user ID \"%s\"\n"
 msgstr "密钥 %s:已跳过用户标识 “%s”\n"
 
-#: g10/import.c:3767
+#: g10/import.c:3779
 #, c-format
 msgid "key %s: skipped subkey\n"
 msgstr "密钥 %s:已跳过子密钥\n"
 
-#: g10/import.c:3798
+#: g10/import.c:3810
 #, c-format
 msgid "key %s: non exportable signature (class 0x%02X) - skipped\n"
 msgstr "密钥 %s:非可导出签名(验证级别 0x%02X)- 已跳过\n"
 
-#: g10/import.c:3809
+#: g10/import.c:3821
 #, c-format
 msgid "key %s: revocation certificate at wrong place - skipped\n"
 msgstr "密钥 %s:吊销证书位置错误――已跳过\n"
 
-#: g10/import.c:3827
+#: g10/import.c:3839
 #, c-format
 msgid "key %s: invalid revocation certificate: %s - skipped\n"
 msgstr "密钥 %s:无效的吊销证书:%s――已跳过\n"
 
-#: g10/import.c:3841
+#: g10/import.c:3853
 #, c-format
 msgid "key %s: subkey signature in wrong place - skipped\n"
 msgstr "密钥 %s:子钥签名位置错误 - 已跳过\n"
 
-#: g10/import.c:3849
+#: g10/import.c:3861
 #, c-format
 msgid "key %s: unexpected signature class (0x%02X) - skipped\n"
 msgstr "密钥 %s:与预期不符的签名级别(0x%02X) - 已跳过\n"
 
-#: g10/import.c:4022
+#: g10/import.c:4034
 #, c-format
 msgid "key %s: duplicated user ID detected - merged\n"
 msgstr "密钥 %s:检测到重复的用户标识 - 已合并\n"
 
-#: g10/import.c:4087
+#: g10/import.c:4099
 #, c-format
 msgid "WARNING: key %s may be revoked: fetching revocation key %s\n"
 msgstr "警告:密钥 %s 可能已被吊销:正在取回吊销用密钥 %s\n"
 
-#: g10/import.c:4103
+#: g10/import.c:4115
 #, c-format
 msgid "WARNING: key %s may be revoked: revocation key %s not present.\n"
 msgstr "警告:密钥 %s 可能已被吊销:吊销用密钥 %s 不存在。\n"
 
-#: g10/import.c:4169
+#: g10/import.c:4181
 #, c-format
 msgid "key %s: \"%s\" revocation certificate added\n"
 msgstr "密钥 %s:已添加吊销证书 “%s”\n"
 
-#: g10/import.c:4207
+#: g10/import.c:4219
 #, c-format
 msgid "key %s: direct key signature added\n"
 msgstr "密钥 %s:已添加直接密钥签名\n"
@@ -3792,37 +3779,30 @@ msgid "error allocating memory: %s\n"
 msgstr "分配内存时出现错误:%s\n"
 
 #: g10/key-check.c:396
-#, fuzzy, c-format
-#| msgid "key %s: unsupported public key algorithm\n"
+#, c-format
 msgid "can't check signature with unsupported public-key algorithm (%d): %s.\n"
-msgstr "密钥 %s:不支持的公钥算法\n"
+msgstr "无法使用不支持的公钥算法(%d)检查签名:%s。\n"
 
 #: g10/key-check.c:405
-#, fuzzy, c-format
-#| msgid "card does not support digest algorithm %s\n"
+#, c-format
 msgid ""
 "can't check signature with unsupported message-digest algorithm %d: %s.\n"
-msgstr "卡片不支持摘要算法 %s\n"
+msgstr "无法使用不支持的摘要算法 %d 检查签名:%s。\n"
 
 #: g10/key-check.c:571
-#, fuzzy
-#| msgid "Good signature from"
 msgid " (reordered signatures follow)"
-msgstr "良好签名来自于"
+msgstr "(以下是重排的签名)"
 
 #: g10/key-check.c:698
-#, fuzzy, c-format
-#| msgid "key %s: %s\n"
+#, c-format
 msgid "key %s:\n"
-msgstr "密钥 %s: %s\n"
+msgstr "密钥 %s:\n"
 
 #: g10/key-check.c:706
-#, fuzzy, c-format
-#| msgid "User ID \"%s\": %d signature removed\n"
-#| msgid_plural "User ID \"%s\": %d signatures removed\n"
+#, c-format
 msgid "%d duplicate signature removed\n"
 msgid_plural "%d duplicate signatures removed\n"
-msgstr[0] "用户标识 “%s”:%d 个签名被移除\n"
+msgstr[0] "%d 个重复签名被移除\n"
 
 #: g10/key-check.c:715 g10/keylist.c:483
 #, c-format
@@ -3837,20 +3817,19 @@ msgid_plural "%d bad signatures\n"
 msgstr[0] "%d 个损坏签名\n"
 
 #: g10/key-check.c:732
-#, fuzzy, c-format
-#| msgid "Good signature from"
+#, c-format
 msgid "%d signature reordered\n"
 msgid_plural "%d signatures reordered\n"
-msgstr[0] "良好签名来自于"
+msgstr[0] "%d 个签名已重排\n"
 
 #: g10/key-check.c:742
 #, c-format
 msgid ""
 "Warning: errors found and only checked self-signatures, run '%s' to check "
 "all signatures.\n"
-msgstr ""
+msgstr "警告:发现错误并且只检查了自签名,请运行 ‘%s’ 检查所有签名。\n"
 
-#: g10/keydb.c:431 g10/keydb.c:458 sm/keydb.c:191 sm/keydb.c:204
+#: g10/keydb.c:431 g10/keydb.c:458 sm/keydb.c:190 sm/keydb.c:203
 #, c-format
 msgid "error creating keybox '%s': %s\n"
 msgstr "创建钥匙箱‘%s’时出现错误:%s\n"
@@ -3860,7 +3839,7 @@ msgstr "创建钥匙箱‘%s’时出现错误:%s\n"
 msgid "error creating keyring '%s': %s\n"
 msgstr "创建钥匙环‘%s’时出现错误:%s\n"
 
-#: g10/keydb.c:470 sm/keydb.c:210
+#: g10/keydb.c:470 sm/keydb.c:209
 #, c-format
 msgid "keybox '%s' created\n"
 msgstr "钥匙箱‘%s’已创建\n"
@@ -3937,13 +3916,13 @@ msgstr "跳过用户标识 “%s”,其不是一个文字标识。\n"
 msgid "User ID \"%s\" is revoked."
 msgstr "用户标识 “%s” 已被吊销。"
 
-#: g10/keyedit.c:569 g10/keyedit.c:597 g10/keyedit.c:624 g10/keyedit.c:808
-#: g10/keyedit.c:1655
+#: g10/keyedit.c:569 g10/keyedit.c:597 g10/keyedit.c:624 g10/keyedit.c:809
+#: g10/keyedit.c:1656
 msgid "Are you sure you still want to sign it? (y/N) "
 msgstr "您仍然想要为它签名吗?(y/N) "
 
-#: g10/keyedit.c:583 g10/keyedit.c:611 g10/keyedit.c:638 g10/keyedit.c:814
-#: g10/keyedit.c:1660 g10/keyedit.c:2667
+#: g10/keyedit.c:583 g10/keyedit.c:611 g10/keyedit.c:638 g10/keyedit.c:815
+#: g10/keyedit.c:1661 g10/keyedit.c:2668
 msgid "  Unable to sign.\n"
 msgstr "  无法添加签名。\n"
 
@@ -4011,29 +3990,29 @@ msgstr "“%s” 已由密钥 %s 在本地签名\n"
 msgid "\"%s\" was already signed by key %s\n"
 msgstr "“%s” 已由密钥 %s 签名\n"
 
-#: g10/keyedit.c:756
+#: g10/keyedit.c:757
 msgid "Do you want to sign it again anyway? (y/N) "
 msgstr "您无论如何都要为它再次签名吗?(y/N) "
 
-#: g10/keyedit.c:778
+#: g10/keyedit.c:779
 #, c-format
 msgid "Nothing to sign with key %s\n"
 msgstr "没有东西可以用密钥 %s 签名\n"
 
-#: g10/keyedit.c:802
+#: g10/keyedit.c:803
 msgid "This key has expired!"
 msgstr "这个密钥已过期!"
 
-#: g10/keyedit.c:820
+#: g10/keyedit.c:821
 #, c-format
 msgid "This key is due to expire on %s.\n"
 msgstr "这个密钥将在 %s 过期。\n"
 
-#: g10/keyedit.c:826
+#: g10/keyedit.c:827
 msgid "Do you want your signature to expire at the same time? (Y/n) "
 msgstr "您想要让您的签名也在同一时间过期吗? (Y/n) "
 
-#: g10/keyedit.c:867
+#: g10/keyedit.c:868
 msgid ""
 "How carefully have you verified the key you are about to sign actually "
 "belongs\n"
@@ -4042,31 +4021,31 @@ msgstr ""
 "您有多仔细地检查过您正要签名的密钥确实属于具有以上名字的人呢?\n"
 "如果您不知道这个问题的答案,请输入“0”。\n"
 
-#: g10/keyedit.c:872
+#: g10/keyedit.c:873
 #, c-format
 msgid "   (0) I will not answer.%s\n"
 msgstr "   (0) 我不作答。 %s\n"
 
-#: g10/keyedit.c:874
+#: g10/keyedit.c:875
 #, c-format
 msgid "   (1) I have not checked at all.%s\n"
 msgstr "   (1) 我根本没有检查过。 %s\n"
 
-#: g10/keyedit.c:876
+#: g10/keyedit.c:877
 #, c-format
 msgid "   (2) I have done casual checking.%s\n"
 msgstr "   (2) 我随意检查过。 %s\n"
 
-#: g10/keyedit.c:879
+#: g10/keyedit.c:880
 #, c-format
 msgid "   (3) I have done very careful checking.%s\n"
 msgstr "   (3) 我非常小心地检查过。 %s\n"
 
-#: g10/keyedit.c:886
+#: g10/keyedit.c:887
 msgid "Your selection? (enter '?' for more information): "
 msgstr "您的选择是?(输入‘?’以获得更多的信息): "
 
-#: g10/keyedit.c:913
+#: g10/keyedit.c:914
 #, c-format
 msgid ""
 "Are you sure that you want to sign this key with your\n"
@@ -4075,222 +4054,222 @@ msgstr ""
 "您真的确定要签名这个密钥,使用您的密钥\n"
 "“%s” (%s)\n"
 
-#: g10/keyedit.c:921
+#: g10/keyedit.c:922
 msgid "This will be a self-signature.\n"
 msgstr "这将会是一个自签名。\n"
 
-#: g10/keyedit.c:926
+#: g10/keyedit.c:927
 msgid "WARNING: the signature will not be marked as non-exportable.\n"
 msgstr "警告:这份签名将不会被标记为不可导出。\n"
 
-#: g10/keyedit.c:933
+#: g10/keyedit.c:934
 msgid "WARNING: the signature will not be marked as non-revocable.\n"
 msgstr "警告:这份签名将不会被标记成不可吊销。\n"
 
-#: g10/keyedit.c:943
+#: g10/keyedit.c:944
 msgid "The signature will be marked as non-exportable.\n"
 msgstr "这份签名将会被标记成不可导出。\n"
 
-#: g10/keyedit.c:950
+#: g10/keyedit.c:951
 msgid "The signature will be marked as non-revocable.\n"
 msgstr "这份签名将会被标记成不可吊销。\n"
 
-#: g10/keyedit.c:957
+#: g10/keyedit.c:958
 msgid "I have not checked this key at all.\n"
 msgstr "我根本没有检查过这个密钥。\n"
 
-#: g10/keyedit.c:962
+#: g10/keyedit.c:963
 msgid "I have checked this key casually.\n"
 msgstr "我随意检查过这个密钥。\n"
 
-#: g10/keyedit.c:967
+#: g10/keyedit.c:968
 msgid "I have checked this key very carefully.\n"
 msgstr "我非常小心地检查过这个密钥。\n"
 
-#: g10/keyedit.c:979
+#: g10/keyedit.c:980
 msgid "Really sign? (y/N) "
 msgstr "真的要签名吗?(y/N) "
 
-#: g10/keyedit.c:1030 g10/keyedit.c:6154 g10/keyedit.c:6237 g10/keyedit.c:6366
-#: g10/keyedit.c:6428 g10/sign.c:466
+#: g10/keyedit.c:1031 g10/keyedit.c:6155 g10/keyedit.c:6238 g10/keyedit.c:6367
+#: g10/keyedit.c:6429 g10/sign.c:466
 #, c-format
 msgid "signing failed: %s\n"
 msgstr "签名时失败: %s\n"
 
-#: g10/keyedit.c:1117
+#: g10/keyedit.c:1118
 msgid "Key has only stub or on-card key items - no passphrase to change.\n"
 msgstr "密钥只有存根或者卡上项目 - 没有密码可以更改。\n"
 
-#: g10/keyedit.c:1149
+#: g10/keyedit.c:1150
 #, c-format
 msgid "key %s: error changing passphrase: %s\n"
 msgstr "密钥 %s:修改密码时出现错误:%s\n"
 
-#: g10/keyedit.c:1261
+#: g10/keyedit.c:1262
 msgid "save and quit"
 msgstr "保存并退出"
 
-#: g10/keyedit.c:1264
+#: g10/keyedit.c:1265
 msgid "show key fingerprint"
 msgstr "显示密钥指纹"
 
-#: g10/keyedit.c:1265
+#: g10/keyedit.c:1266
 msgid "show the keygrip"
 msgstr "显示 keygrip"
 
-#: g10/keyedit.c:1266
+#: g10/keyedit.c:1267
 msgid "list key and user IDs"
 msgstr "列出密钥和用户标识"
 
-#: g10/keyedit.c:1268
+#: g10/keyedit.c:1269
 msgid "select user ID N"
 msgstr "选择用户标识 N"
 
-#: g10/keyedit.c:1269
+#: g10/keyedit.c:1270
 msgid "select subkey N"
 msgstr "选择子密钥 N"
 
-#: g10/keyedit.c:1270
+#: g10/keyedit.c:1271
 msgid "check signatures"
 msgstr "检查签名"
 
-#: g10/keyedit.c:1276
+#: g10/keyedit.c:1277
 msgid "sign selected user IDs [* see below for related commands]"
 msgstr "为所选用户标识添加签名 [* 参见下面的相关命令]"
 
-#: g10/keyedit.c:1281
+#: g10/keyedit.c:1282
 msgid "sign selected user IDs locally"
 msgstr "为所选用户标识添加本地签名"
 
-#: g10/keyedit.c:1282
+#: g10/keyedit.c:1283
 msgid "sign selected user IDs with a trust signature"
 msgstr "为所选用户标识添加信任签名"
 
-#: g10/keyedit.c:1284
+#: g10/keyedit.c:1285
 msgid "sign selected user IDs with a non-revocable signature"
 msgstr "为所选用户标识添加不可吊销签名"
 
-#: g10/keyedit.c:1286
+#: g10/keyedit.c:1287
 msgid "add a user ID"
 msgstr "增加一个用户标识"
 
-#: g10/keyedit.c:1288
+#: g10/keyedit.c:1289
 msgid "add a photo ID"
 msgstr "增加一个照片标识"
 
-#: g10/keyedit.c:1289
+#: g10/keyedit.c:1290
 msgid "delete selected user IDs"
 msgstr "删除选定的用户标识"
 
-#: g10/keyedit.c:1292
+#: g10/keyedit.c:1293
 msgid "add a subkey"
 msgstr "增加一个子密钥"
 
-#: g10/keyedit.c:1295
+#: g10/keyedit.c:1296
 msgid "add a key to a smartcard"
 msgstr "增加一个密钥到智能卡"
 
-#: g10/keyedit.c:1297
+#: g10/keyedit.c:1298
 msgid "move a key to a smartcard"
 msgstr "移动一个密钥到智能卡"
 
-#: g10/keyedit.c:1299
+#: g10/keyedit.c:1300
 msgid "move a backup key to a smartcard"
 msgstr "移动一个备份密钥到智能卡上"
 
-#: g10/keyedit.c:1301
+#: g10/keyedit.c:1302
 msgid "delete selected subkeys"
 msgstr "删除选定的子密钥"
 
-#: g10/keyedit.c:1303
+#: g10/keyedit.c:1304
 msgid "add a revocation key"
 msgstr "增加一个吊销用密钥"
 
-#: g10/keyedit.c:1305
+#: g10/keyedit.c:1306
 msgid "delete signatures from the selected user IDs"
 msgstr "从所选用户标识上删除签名"
 
-#: g10/keyedit.c:1307
+#: g10/keyedit.c:1308
 msgid "change the expiration date for the key or selected subkeys"
 msgstr "变更密钥或所选子密钥的使用期限"
 
-#: g10/keyedit.c:1309
+#: g10/keyedit.c:1310
 msgid "flag the selected user ID as primary"
 msgstr "标记所选的用户标识为主要"
 
-#: g10/keyedit.c:1312
+#: g10/keyedit.c:1313
 msgid "list preferences (expert)"
 msgstr "列出偏好设置(专家模式)"
 
-#: g10/keyedit.c:1313
+#: g10/keyedit.c:1314
 msgid "list preferences (verbose)"
 msgstr "列出偏好设置(详细模式)"
 
-#: g10/keyedit.c:1315
+#: g10/keyedit.c:1316
 msgid "set preference list for the selected user IDs"
 msgstr "为所选用户标识设定偏好设置列表"
 
-#: g10/keyedit.c:1318
+#: g10/keyedit.c:1319
 msgid "set the preferred keyserver URL for the selected user IDs"
 msgstr "为所选用户标识设定首选公钥服务器 URL"
 
-#: g10/keyedit.c:1320
+#: g10/keyedit.c:1321
 msgid "set a notation for the selected user IDs"
 msgstr "为所选用户标识的设定注记"
 
-#: g10/keyedit.c:1322
+#: g10/keyedit.c:1323
 msgid "change the passphrase"
 msgstr "变更密码"
 
-#: g10/keyedit.c:1325
+#: g10/keyedit.c:1326
 msgid "change the ownertrust"
 msgstr "变更信任度"
 
-#: g10/keyedit.c:1328
+#: g10/keyedit.c:1329
 msgid "revoke signatures on the selected user IDs"
 msgstr "吊销所选用户标识上的签名"
 
-#: g10/keyedit.c:1330
+#: g10/keyedit.c:1331
 msgid "revoke selected user IDs"
 msgstr "吊销选定的用户标识"
 
-#: g10/keyedit.c:1333
+#: g10/keyedit.c:1334
 msgid "revoke key or selected subkeys"
 msgstr "吊销密钥或选定的子密钥"
 
-#: g10/keyedit.c:1335
+#: g10/keyedit.c:1336
 msgid "enable key"
 msgstr "启用密钥"
 
-#: g10/keyedit.c:1336
+#: g10/keyedit.c:1337
 msgid "disable key"
 msgstr "禁用密钥"
 
-#: g10/keyedit.c:1338
+#: g10/keyedit.c:1339
 msgid "show selected photo IDs"
 msgstr "显示选定的照片标识"
 
-#: g10/keyedit.c:1340
+#: g10/keyedit.c:1341
 msgid "compact unusable user IDs and remove unusable signatures from key"
 msgstr "压缩不可用的用户标识并从密钥上移除不可用的签名"
 
-#: g10/keyedit.c:1342
+#: g10/keyedit.c:1343
 msgid "compact unusable user IDs and remove all signatures from key"
 msgstr "压缩不可用的用户标识并从密钥上移除所有签名"
 
-#: g10/keyedit.c:1463
+#: g10/keyedit.c:1464
 msgid "Secret key is available.\n"
 msgstr "私钥可用。\n"
 
-#: g10/keyedit.c:1465
+#: g10/keyedit.c:1466
 msgid "Secret subkeys are available.\n"
 msgstr "私密子密钥可用。\n"
 
-#: g10/keyedit.c:1567
+#: g10/keyedit.c:1568
 msgid "Need the secret key to do this.\n"
 msgstr "要有私钥才能这么做。\n"
 
-#: g10/keyedit.c:1590
+#: g10/keyedit.c:1591
 msgid ""
 "* The 'sign' command may be prefixed with an 'l' for local signatures "
 "(lsign),\n"
@@ -4301,305 +4280,304 @@ msgstr ""
 "  信任签名,‘nr’前缀(nrsign)进行不可吊销签名,\n"
 "  或者上述三种前缀的任意组合(ltsign、tnrsign 等)。\n"
 
-#: g10/keyedit.c:1648 g10/keyedit.c:2667 g10/keyedit.c:3040 g10/keyedit.c:3108
+#: g10/keyedit.c:1649 g10/keyedit.c:2668 g10/keyedit.c:3041 g10/keyedit.c:3109
 msgid "Key is revoked."
 msgstr "密钥已被吊销。"
 
-#: g10/keyedit.c:1671
+#: g10/keyedit.c:1672
 msgid "Really sign all text user IDs? (y/N) "
 msgstr "真的要签名所有的文本用户标识吗?(y/N) "
 
-#: g10/keyedit.c:1675
+#: g10/keyedit.c:1676
 msgid "Really sign all user IDs? (y/N) "
 msgstr "真的要签名所有的用户标识吗?(y/N) "
 
-#: g10/keyedit.c:1683
+#: g10/keyedit.c:1684
 msgid "Hint: Select the user IDs to sign\n"
 msgstr "提示:选择用户标识以签名\n"
 
-#: g10/keyedit.c:1694
+#: g10/keyedit.c:1695
 #, c-format
 msgid "Unknown signature type '%s'\n"
 msgstr "未知的签名类型‘%s’\n"
 
-#: g10/keyedit.c:1718
+#: g10/keyedit.c:1719
 #, c-format
 msgid "This command is not allowed while in %s mode.\n"
 msgstr "不允许在 %s 模式中使用此命令。\n"
 
-#: g10/keyedit.c:1740 g10/keyedit.c:1764 g10/keyedit.c:1961
+#: g10/keyedit.c:1741 g10/keyedit.c:1765 g10/keyedit.c:1962
 msgid "You must select at least one user ID.\n"
 msgstr "您必须选择至少一个用户标识。\n"
 
-#: g10/keyedit.c:1742 g10/keyedit.c:1766 g10/keyedit.c:1923 g10/keyedit.c:1963
+#: g10/keyedit.c:1743 g10/keyedit.c:1767 g10/keyedit.c:1924 g10/keyedit.c:1964
 #, c-format
 msgid "(Use the '%s' command.)\n"
 msgstr "(使用‘%s’ 命令。)\n"
 
-#: g10/keyedit.c:1745
+#: g10/keyedit.c:1746
 msgid "You can't delete the last user ID!\n"
 msgstr "您不能删除最后一个用户标识!\n"
 
-#: g10/keyedit.c:1748
+#: g10/keyedit.c:1749
 msgid "Really remove all selected user IDs? (y/N) "
 msgstr "真的要移除所有选定的用户标识吗?(y/N) "
 
-#: g10/keyedit.c:1749
+#: g10/keyedit.c:1750
 msgid "Really remove this user ID? (y/N) "
 msgstr "真的要移除此用户标识吗?(y/N) "
 
 #. TRANSLATORS: Please take care: This is about
 #. moving the key and not about removing it.
-#: g10/keyedit.c:1806
+#: g10/keyedit.c:1807
 msgid "Really move the primary key? (y/N) "
 msgstr "真的要移动主密钥吗?(y/N) "
 
-#: g10/keyedit.c:1818 g10/keyedit.c:4803
+#: g10/keyedit.c:1819 g10/keyedit.c:4804
 msgid "You must select exactly one key.\n"
 msgstr "您必须选择一个密钥。\n"
 
-#: g10/keyedit.c:1846
+#: g10/keyedit.c:1847
 msgid "Command expects a filename argument\n"
 msgstr "命令需要一个文件名作为参数\n"
 
-#: g10/keyedit.c:1867
+#: g10/keyedit.c:1868
 #, c-format
 msgid "Can't open '%s': %s\n"
 msgstr "无法打开‘%s’:%s\n"
 
-#: g10/keyedit.c:1886
+#: g10/keyedit.c:1887
 #, c-format
 msgid "Error reading backup key from '%s': %s\n"
 msgstr "从‘%s’读取备份密钥时出现错误:%s\n"
 
-#: g10/keyedit.c:1921
+#: g10/keyedit.c:1922
 msgid "You must select at least one key.\n"
 msgstr "您必须选择至少一个密钥。\n"
 
-#: g10/keyedit.c:1927
+#: g10/keyedit.c:1928
 msgid "Do you really want to delete the selected keys? (y/N) "
 msgstr "您真的想要删除选定的密钥吗?(y/N) "
 
-#: g10/keyedit.c:1929
+#: g10/keyedit.c:1930
 msgid "Do you really want to delete this key? (y/N) "
 msgstr "您真的要删除此密钥吗?(y/N) "
 
-#: g10/keyedit.c:1967
+#: g10/keyedit.c:1968
 msgid "Really revoke all selected user IDs? (y/N) "
 msgstr "真的要吊销所有选定的用户标识吗?(y/N) "
 
-#: g10/keyedit.c:1968
+#: g10/keyedit.c:1969
 msgid "Really revoke this user ID? (y/N) "
 msgstr "真的要吊销此用户标识吗?(y/N) "
 
-#: g10/keyedit.c:1986
+#: g10/keyedit.c:1987
 msgid "Do you really want to revoke the entire key? (y/N) "
 msgstr "您真的要吊销整个密钥吗?(y/N) "
 
-#: g10/keyedit.c:1997
+#: g10/keyedit.c:1998
 msgid "Do you really want to revoke the selected subkeys? (y/N) "
 msgstr "您真的要吊销选定的子密钥吗?(y/N) "
 
-#: g10/keyedit.c:1999
+#: g10/keyedit.c:2000
 msgid "Do you really want to revoke this subkey? (y/N) "
 msgstr "您真的要吊销这个子密钥吗?(y/N) "
 
-#: g10/keyedit.c:2057
+#: g10/keyedit.c:2058
 msgid "Owner trust may not be set while using a user provided trust database\n"
 msgstr "在使用一个用户提供的信任度数据库时信任度可能并未被设定\n"
 
-#: g10/keyedit.c:2102
+#: g10/keyedit.c:2103
 msgid "Set preference list to:\n"
 msgstr "设定偏好设置列表为:\n"
 
-#: g10/keyedit.c:2109
+#: g10/keyedit.c:2110
 msgid "Really update the preferences for the selected user IDs? (y/N) "
 msgstr "真的要更新所选用户标识的偏好设置吗?(y/N) "
 
-#: g10/keyedit.c:2111
+#: g10/keyedit.c:2112
 msgid "Really update the preferences? (y/N) "
 msgstr "真的要更新偏好设置吗?(y/N) "
 
-#: g10/keyedit.c:2185
+#: g10/keyedit.c:2186
 msgid "Save changes? (y/N) "
 msgstr "要保存变更吗?(y/N) "
 
-#: g10/keyedit.c:2189
+#: g10/keyedit.c:2190
 msgid "Quit without saving? (y/N) "
 msgstr "要不保存而退出吗?(y/N) "
 
-#: g10/keyedit.c:2216 g10/keyedit.c:2762 g10/keyedit.c:3061 g10/keyedit.c:3214
+#: g10/keyedit.c:2217 g10/keyedit.c:2763 g10/keyedit.c:3062 g10/keyedit.c:3215
 #, c-format
 msgid "Key not changed so no update needed.\n"
 msgstr "密钥没有变更所以不需要更新。\n"
 
-#: g10/keyedit.c:2448
+#: g10/keyedit.c:2449
 #, c-format
 msgid "cannot revoke the last valid user ID.\n"
 msgstr "不能吊销最后一个有效的用户标识。\n"
 
-#: g10/keyedit.c:2475
+#: g10/keyedit.c:2476
 #, c-format
 msgid "revoking the user ID failed: %s\n"
 msgstr "吊销用户标识时出现错误:%s\n"
 
-#: g10/keyedit.c:2541
+#: g10/keyedit.c:2542
 #, c-format
 msgid "setting the primary user ID failed: %s\n"
 msgstr "设置主要用户标识时出现错误:%s\n"
 
-#: g10/keyedit.c:2572
+#: g10/keyedit.c:2573
 #, c-format
 msgid "\"%s\" is not a fingerprint\n"
 msgstr "\"%s\" 不是一个指纹\n"
 
-#: g10/keyedit.c:2602
+#: g10/keyedit.c:2603
 #, c-format
 msgid "\"%s\" is not the primary fingerprint\n"
 msgstr "“%s” 不是主要指纹\n"
 
-#: g10/keyedit.c:2738 g10/keyedit.c:2741
+#: g10/keyedit.c:2739 g10/keyedit.c:2742
 #, c-format
 msgid "Invalid user ID '%s': %s\n"
 msgstr "无效的用户标识‘%s’:%s\n"
 
-#: g10/keyedit.c:2744
+#: g10/keyedit.c:2745
 msgid "No matching user IDs."
 msgstr "没有匹配的用户标识。"
 
-#: g10/keyedit.c:2744
+#: g10/keyedit.c:2745
 msgid "Nothing to sign.\n"
 msgstr "没有可被签名的东西。\n"
 
-#: g10/keyedit.c:2937 g10/keyedit.c:6019
+#: g10/keyedit.c:2938 g10/keyedit.c:6020
 #, c-format
 msgid "Not signed by you.\n"
 msgstr "并非由您签名。\n"
 
-#: g10/keyedit.c:2995
-#, fuzzy, c-format
-#| msgid "checking created signature failed: %s\n"
+#: g10/keyedit.c:2996
+#, c-format
 msgid "revoking the key signature failed: %s\n"
-msgstr "检查已建立的签名时发生错误: %s\n"
+msgstr "吊销密钥签名失败:%s\n"
 
-#: g10/keyedit.c:3116
+#: g10/keyedit.c:3117
 #, c-format
 msgid "'%s' is not a valid expiration time\n"
 msgstr "‘%s’不是一个有效的过期时间\n"
 
-#: g10/keyedit.c:3159
+#: g10/keyedit.c:3160
 #, c-format
 msgid "\"%s\" is not a proper fingerprint\n"
 msgstr "“%s” 不是一个正确的指纹\n"
 
-#: g10/keyedit.c:3183
+#: g10/keyedit.c:3184
 #, c-format
 msgid "subkey \"%s\" not found\n"
 msgstr "子密钥 “%s” 未找到\n"
 
-#: g10/keyedit.c:3306
+#: g10/keyedit.c:3307
 msgid "AEAD: "
 msgstr "AEAD: "
 
-#: g10/keyedit.c:3323
+#: g10/keyedit.c:3324
 msgid "Digest: "
 msgstr "摘要: "
 
-#: g10/keyedit.c:3380
+#: g10/keyedit.c:3381
 msgid "Features: "
 msgstr "特点: "
 
-#: g10/keyedit.c:3397
+#: g10/keyedit.c:3398
 msgid "Keyserver no-modify"
 msgstr "公钥服务器不可修改"
 
-#: g10/keyedit.c:3412 g10/keylist.c:376
+#: g10/keyedit.c:3413 g10/keylist.c:376
 msgid "Preferred keyserver: "
 msgstr "首选公钥服务器: "
 
-#: g10/keyedit.c:3420 g10/keyedit.c:3421
+#: g10/keyedit.c:3421 g10/keyedit.c:3422
 msgid "Notations: "
 msgstr "注记: "
 
-#: g10/keyedit.c:3669
+#: g10/keyedit.c:3670
 msgid "There are no preferences on a PGP 2.x-style user ID.\n"
 msgstr "没有关于 PGP 2.x 样式用户标识的偏好设置。\n"
 
-#: g10/keyedit.c:3741
+#: g10/keyedit.c:3742
 #, c-format
 msgid "The following key was revoked on %s by %s key %s\n"
 msgstr "下列密钥在 %s 被 %s 的密钥 %s 所吊销\n"
 
-#: g10/keyedit.c:3765
+#: g10/keyedit.c:3766
 #, c-format
 msgid "This key may be revoked by %s key %s"
 msgstr "这个密钥可被 %s 的密钥 %s 吊销"
 
-#: g10/keyedit.c:3771
+#: g10/keyedit.c:3772
 msgid "(sensitive)"
 msgstr "(敏感的)"
 
-#: g10/keyedit.c:3813 g10/keyedit.c:3960 g10/keylist.c:264 g10/keyserver.c:538
+#: g10/keyedit.c:3814 g10/keyedit.c:3961 g10/keylist.c:264 g10/keyserver.c:361
 #, c-format
 msgid "created: %s"
 msgstr "创建于:%s"
 
-#: g10/keyedit.c:3816 g10/keylist.c:2149
+#: g10/keyedit.c:3817 g10/keylist.c:2149
 #, c-format
 msgid "revoked: %s"
 msgstr "吊销于:%s"
 
-#: g10/keyedit.c:3818 g10/keylist.c:2155
+#: g10/keyedit.c:3819 g10/keylist.c:2155
 #, c-format
 msgid "expired: %s"
 msgstr "过期于:%s"
 
-#: g10/keyedit.c:3820 g10/keyedit.c:3962 g10/keylist.c:266 g10/keylist.c:2161
-#: g10/keyserver.c:544
+#: g10/keyedit.c:3821 g10/keyedit.c:3963 g10/keylist.c:266 g10/keylist.c:2161
+#: g10/keyserver.c:367
 #, c-format
 msgid "expires: %s"
 msgstr "有效至:%s"
 
-#: g10/keyedit.c:3822
+#: g10/keyedit.c:3823
 #, c-format
 msgid "usage: %s"
 msgstr "可用于:%s"
 
-#: g10/keyedit.c:3830 g10/keyedit.c:3850 g10/keylist.c:269
+#: g10/keyedit.c:3831 g10/keyedit.c:3851 g10/keylist.c:269
 msgid "card-no: "
 msgstr "卡号: "
 
-#: g10/keyedit.c:3889
+#: g10/keyedit.c:3890
 #, c-format
 msgid "trust: %s"
 msgstr "信任度:%s"
 
-#: g10/keyedit.c:3893
+#: g10/keyedit.c:3894
 #, c-format
 msgid "validity: %s"
 msgstr "有效性:%s"
 
-#: g10/keyedit.c:3900
+#: g10/keyedit.c:3901
 msgid "This key has been disabled"
 msgstr "这个密钥已经被禁用"
 
-#: g10/keyedit.c:3918
+#: g10/keyedit.c:3919
 msgid ""
 "Please note that the shown key validity is not necessarily correct\n"
 "unless you restart the program.\n"
 msgstr "请注意,在您重启程序之前,所显示的密钥有效性不一定正确。\n"
 
-#: g10/keyedit.c:3979 g10/keyedit.c:4410 g10/keyserver.c:548
-#: g10/mainproc.c:2371 g10/tofu.c:1787 g10/trust.c:437 dirmngr/ocsp.c:791
+#: g10/keyedit.c:3980 g10/keyedit.c:4411 g10/keyserver.c:371
+#: g10/mainproc.c:2380 g10/tofu.c:1787 g10/trust.c:437 dirmngr/ocsp.c:791
 msgid "revoked"
 msgstr "已吊销"
 
-#: g10/keyedit.c:3981 g10/keyedit.c:4412 g10/keyserver.c:552
-#: g10/mainproc.c:2373 g10/tofu.c:1792 g10/trust.c:124
+#: g10/keyedit.c:3982 g10/keyedit.c:4413 g10/keyserver.c:375
+#: g10/mainproc.c:2382 g10/tofu.c:1792 g10/trust.c:124
 msgid "expired"
 msgstr "已过期"
 
-#: g10/keyedit.c:4098
+#: g10/keyedit.c:4099
 #, c-format
 msgid ""
 "WARNING: no user ID has been marked as primary.  This command may\n"
@@ -4608,17 +4586,17 @@ msgstr ""
 "警告: 没有用户标识被标记为主要。 此命令可能会\n"
 "              导致一个不同的用户标识被假定为主要。\n"
 
-#: g10/keyedit.c:4150
+#: g10/keyedit.c:4151
 #, c-format
 msgid "WARNING: Your encryption subkey expires soon.\n"
 msgstr "警告: 您的加密用子密钥将在不久后过期。\n"
 
-#: g10/keyedit.c:4151
+#: g10/keyedit.c:4152
 #, c-format
 msgid "You may want to change its expiration date too.\n"
 msgstr "您可能也想要变更它的过期日期。\n"
 
-#: g10/keyedit.c:4210
+#: g10/keyedit.c:4211
 msgid ""
 "WARNING: This is a PGP2-style key.  Adding a photo ID may cause some "
 "versions\n"
@@ -4627,70 +4605,70 @@ msgstr ""
 "警告:这是一个 PGP2 样式的密钥。增加照片标识可能会导致某些版本的\n"
 "     PGP 拒绝这个密钥。\n"
 
-#: g10/keyedit.c:4215 g10/keyedit.c:4505
+#: g10/keyedit.c:4216 g10/keyedit.c:4506
 msgid "Are you sure you still want to add it? (y/N) "
 msgstr "您确定仍然想要增加吗?(y/N) "
 
-#: g10/keyedit.c:4221
+#: g10/keyedit.c:4222
 msgid "You may not add a photo ID to a PGP2-style key.\n"
 msgstr "您不可以把照片标识增加到 PGP2 样式的密钥里。\n"
 
-#: g10/keyedit.c:4236 g10/keygen.c:2899
+#: g10/keyedit.c:4237 g10/keygen.c:2899
 msgid "Such a user ID already exists on this key!\n"
 msgstr "这样的用户标识已经存在于这个密钥上了!\n"
 
-#: g10/keyedit.c:4338
+#: g10/keyedit.c:4339
 msgid "Delete this good signature? (y/N/q)"
 msgstr "删除这个完好的签名吗?(y/N/q)"
 
-#: g10/keyedit.c:4348
+#: g10/keyedit.c:4349
 msgid "Delete this invalid signature? (y/N/q)"
 msgstr "删除这个无效的签名吗?(y/N/q)"
 
-#: g10/keyedit.c:4352
+#: g10/keyedit.c:4353
 msgid "Delete this unknown signature? (y/N/q)"
 msgstr "删除这个未知的签名吗?(y/N/q)"
 
-#: g10/keyedit.c:4359
+#: g10/keyedit.c:4360
 msgid "Really delete this self-signature? (y/N)"
 msgstr "真的要删除这个自签名吗?(y/N)"
 
-#: g10/keyedit.c:4375
+#: g10/keyedit.c:4376
 #, c-format
 msgid "Deleted %d signature.\n"
 msgid_plural "Deleted %d signatures.\n"
 msgstr[0] "已经删除了 %d 个签名。\n"
 
-#: g10/keyedit.c:4379
+#: g10/keyedit.c:4380
 msgid "Nothing deleted.\n"
 msgstr "没有东西被删除。\n"
 
-#: g10/keyedit.c:4414
+#: g10/keyedit.c:4415
 msgid "invalid"
 msgstr "无效"
 
-#: g10/keyedit.c:4416
+#: g10/keyedit.c:4417
 #, c-format
 msgid "User ID \"%s\" compacted: %s\n"
 msgstr "用户标识 “%s” 已被压缩:%s\n"
 
-#: g10/keyedit.c:4422
+#: g10/keyedit.c:4423
 #, c-format
 msgid "User ID \"%s\": %d signature removed\n"
 msgid_plural "User ID \"%s\": %d signatures removed\n"
 msgstr[0] "用户标识 “%s”:%d 个签名被移除\n"
 
-#: g10/keyedit.c:4430
+#: g10/keyedit.c:4431
 #, c-format
 msgid "User ID \"%s\": already minimized\n"
 msgstr "用户标识 “%s”:已被最小化\n"
 
-#: g10/keyedit.c:4431
+#: g10/keyedit.c:4432
 #, c-format
 msgid "User ID \"%s\": already clean\n"
 msgstr "用户标识 “%s”:无用部分已清理\n"
 
-#: g10/keyedit.c:4500
+#: g10/keyedit.c:4501
 msgid ""
 "WARNING: This is a PGP 2.x-style key.  Adding a designated revoker may "
 "cause\n"
@@ -4699,209 +4677,209 @@ msgstr ""
 "警告:这是一个 PGP2 样式的密钥。增加指定吊销者\n"
 "     可能会导致某些版本的 PGP 无法识别这个密钥。\n"
 
-#: g10/keyedit.c:4511
+#: g10/keyedit.c:4512
 msgid "You may not add a designated revoker to a PGP 2.x-style key.\n"
 msgstr "您不可以为 PGP 2.x 样式的密钥添加指定吊销者。\n"
 
-#: g10/keyedit.c:4528
+#: g10/keyedit.c:4529
 msgid "Enter the user ID of the designated revoker: "
 msgstr "输入指定吊销者的用户标识: "
 
-#: g10/keyedit.c:4554
+#: g10/keyedit.c:4555
 #, c-format
 msgid "cannot appoint a PGP 2.x style key as a designated revoker\n"
 msgstr "无法将 PGP 2.x 样式的密钥设为指定吊销者\n"
 
-#: g10/keyedit.c:4569
+#: g10/keyedit.c:4570
 #, c-format
 msgid "you cannot appoint a key as its own designated revoker\n"
 msgstr "您不能将某把密钥设为它自己的指定吊销者\n"
 
-#: g10/keyedit.c:4591
+#: g10/keyedit.c:4592
 #, c-format
 msgid "this key has already been designated as a revoker\n"
 msgstr "这个密钥已被指派为一个吊销者\n"
 
-#: g10/keyedit.c:4609
+#: g10/keyedit.c:4610
 msgid "WARNING: appointing a key as a designated revoker cannot be undone!\n"
 msgstr "警告:将某把密钥设置为指定吊销者的操作无法撤销!\n"
 
-#: g10/keyedit.c:4615
+#: g10/keyedit.c:4616
 msgid ""
 "Are you sure you want to appoint this key as a designated revoker? (y/N) "
 msgstr "您确定要将这个密钥设置为指定吊销者吗?(y/N): "
 
-#: g10/keyedit.c:4683
+#: g10/keyedit.c:4684
 msgid ""
 "Are you sure you want to change the expiration time for multiple subkeys? (y/"
 "N) "
 msgstr "您确定要改变多个子密钥的过期时间吗? (y/N) "
 
-#: g10/keyedit.c:4688
+#: g10/keyedit.c:4689
 msgid "Changing expiration time for a subkey.\n"
 msgstr "将要变更子密钥的过期时间。\n"
 
-#: g10/keyedit.c:4691
+#: g10/keyedit.c:4692
 msgid "Changing expiration time for the primary key.\n"
 msgstr "将要变更主密钥的过期时间。\n"
 
-#: g10/keyedit.c:4747
+#: g10/keyedit.c:4748
 #, c-format
 msgid "You can't change the expiration date of a v3 key\n"
 msgstr "您不能变更 v3 密钥的过期时间\n"
 
-#: g10/keyedit.c:4807
+#: g10/keyedit.c:4808
 msgid "Changing usage of a subkey.\n"
 msgstr "变更一个子密钥的用途。\n"
 
-#: g10/keyedit.c:4810
+#: g10/keyedit.c:4811
 msgid "Changing usage of the primary key.\n"
 msgstr "变更主密钥的用途。\n"
 
-#: g10/keyedit.c:4928
+#: g10/keyedit.c:4929
 #, c-format
 msgid "signing subkey %s is already cross-certified\n"
 msgstr "签名的子密钥 %s 已经交叉验证\n"
 
-#: g10/keyedit.c:4934
+#: g10/keyedit.c:4935
 #, c-format
 msgid "subkey %s does not sign and so does not need to be cross-certified\n"
 msgstr "子密钥 %s 不签名,因此不需要被交叉验证\n"
 
-#: g10/keyedit.c:5051
+#: g10/keyedit.c:5052
 msgid "Please select exactly one user ID.\n"
 msgstr "请选定仅一个用户标识。\n"
 
-#: g10/keyedit.c:5092 g10/keyedit.c:5206 g10/keyedit.c:5319 g10/keyedit.c:5457
+#: g10/keyedit.c:5093 g10/keyedit.c:5207 g10/keyedit.c:5320 g10/keyedit.c:5458
 #, c-format
 msgid "skipping v3 self-signature on user ID \"%s\"\n"
 msgstr "跳过用户标识 “%s” 上的 v3 自签名\n"
 
-#: g10/keyedit.c:5263
+#: g10/keyedit.c:5264
 msgid "Enter your preferred keyserver URL: "
 msgstr "输入您首选公钥服务器的 URL: "
 
-#: g10/keyedit.c:5342
+#: g10/keyedit.c:5343
 msgid "Are you sure you want to replace it? (y/N) "
 msgstr "您确定要替换它吗?(y/N) "
 
-#: g10/keyedit.c:5343
+#: g10/keyedit.c:5344
 msgid "Are you sure you want to delete it? (y/N) "
 msgstr "您确定要删除它吗?(y/N) "
 
-#: g10/keyedit.c:5403
+#: g10/keyedit.c:5404
 msgid "Enter the notation: "
 msgstr "输入注记: "
 
-#: g10/keyedit.c:5550
+#: g10/keyedit.c:5551
 msgid "Proceed? (y/N) "
 msgstr "继续?(y/N) "
 
-#: g10/keyedit.c:5620
+#: g10/keyedit.c:5621
 #, c-format
 msgid "No user ID with index %d\n"
 msgstr "没有索引为 %d 的用户标识\n"
 
-#: g10/keyedit.c:5682
+#: g10/keyedit.c:5683
 #, c-format
 msgid "No user ID with hash %s\n"
 msgstr "没有散列值为 %s 的用户标识\n"
 
-#: g10/keyedit.c:5783
+#: g10/keyedit.c:5784
 #, c-format
 msgid "No subkey with key ID '%s'.\n"
 msgstr "没有属于密钥标识‘%s’的子密钥。\n"
 
-#: g10/keyedit.c:5805
+#: g10/keyedit.c:5806
 #, c-format
 msgid "No subkey with index %d\n"
 msgstr "没有索引为 %d 的子密钥\n"
 
-#: g10/keyedit.c:5946
+#: g10/keyedit.c:5947
 #, c-format
 msgid "user ID: \"%s\"\n"
 msgstr "用户标识:“%s”\n"
 
-#: g10/keyedit.c:5949 g10/keyedit.c:6051 g10/keyedit.c:6099
+#: g10/keyedit.c:5950 g10/keyedit.c:6052 g10/keyedit.c:6100
 #, c-format
 msgid "signed by your key %s on %s%s%s\n"
 msgstr "由您的密钥 %s 于 %s%s%s 签名\n"
 
-#: g10/keyedit.c:5951 g10/keyedit.c:6053 g10/keyedit.c:6101
+#: g10/keyedit.c:5952 g10/keyedit.c:6054 g10/keyedit.c:6102
 msgid " (non-exportable)"
 msgstr " (不可导出)"
 
-#: g10/keyedit.c:5955
+#: g10/keyedit.c:5956
 #, c-format
 msgid "This signature expired on %s.\n"
 msgstr "此签名已在 %s 过期。\n"
 
-#: g10/keyedit.c:5960
+#: g10/keyedit.c:5961
 msgid "Are you sure you still want to revoke it? (y/N) "
 msgstr "您确定您仍然想要吊销它吗?(y/N) "
 
-#: g10/keyedit.c:5965
+#: g10/keyedit.c:5966
 msgid "Create a revocation certificate for this signature? (y/N) "
 msgstr "要为这份签名生成一份吊销证书吗?(y/N) "
 
-#: g10/keyedit.c:6025
+#: g10/keyedit.c:6026
 #, c-format
 msgid "You have signed these user IDs on key %s:\n"
 msgstr "您已经签名来密钥 %s 上的这些用户标识:\n"
 
-#: g10/keyedit.c:6054
+#: g10/keyedit.c:6055
 msgid " (non-revocable)"
 msgstr " (不可吊销)"
 
-#: g10/keyedit.c:6061
+#: g10/keyedit.c:6062
 #, c-format
 msgid "revoked by your key %s on %s\n"
 msgstr "由您的密钥 %s 吊销于 %s\n"
 
-#: g10/keyedit.c:6086
+#: g10/keyedit.c:6087
 msgid "You are about to revoke these signatures:\n"
 msgstr "您正在吊销这些签名:\n"
 
-#: g10/keyedit.c:6109
+#: g10/keyedit.c:6110
 msgid "Really create the revocation certificates? (y/N) "
 msgstr "真的要生成吊销证书吗?(y/N) "
 
-#: g10/keyedit.c:6142
+#: g10/keyedit.c:6143
 #, c-format
 msgid "no secret key\n"
 msgstr "没有私钥\n"
 
-#: g10/keyedit.c:6190
+#: g10/keyedit.c:6191
 #, c-format
 msgid "tried to revoke a non-user ID: %s\n"
 msgstr "尝试吊销一个非用户标识:%s\n"
 
-#: g10/keyedit.c:6200
+#: g10/keyedit.c:6201
 #, c-format
 msgid "user ID \"%s\" is already revoked\n"
 msgstr "用户标识 “%s” 已经被吊销。\n"
 
-#: g10/keyedit.c:6217
+#: g10/keyedit.c:6218
 #, c-format
 msgid "WARNING: a user ID signature is dated %d seconds in the future\n"
 msgstr "警告:有一份用户标识签名的日期标记为 %d 秒后的未来\n"
 
-#: g10/keyedit.c:6313
+#: g10/keyedit.c:6314
 #, c-format
 msgid "Cannot revoke the last valid user ID.\n"
 msgstr "不能吊销最后一个有效的用户标识。\n"
 
-#: g10/keyedit.c:6351
+#: g10/keyedit.c:6352
 #, c-format
 msgid "Key %s is already revoked.\n"
 msgstr "密钥 %s 已被吊销。\n"
 
-#: g10/keyedit.c:6413
+#: g10/keyedit.c:6414
 #, c-format
 msgid "Subkey %s is already revoked.\n"
 msgstr "子密钥 %s 已被吊销。\n"
 
-#: g10/keyedit.c:6510
+#: g10/keyedit.c:6511
 #, c-format
 msgid "Displaying %s photo ID of size %ld for key %s (uid %d)\n"
 msgstr "正在显示 %s 的照片标识,大小 %ld,属于密钥 %s (用户标识 %d)\n"
@@ -5093,10 +5071,9 @@ msgid "  (%d) Existing key\n"
 msgstr "  (%d) 现存的密钥\n"
 
 #: g10/keygen.c:1973
-#, fuzzy, c-format
-#| msgid "   (%d) Existing key from card\n"
+#, c-format
 msgid "  (%d) Existing key from card\n"
-msgstr "   (%d) 卡片上现存的密钥\n"
+msgstr " (%d)卡中现有密钥\n"
 
 #: g10/keygen.c:2069 sm/certreqgen-ui.c:202
 msgid "Enter the keygrip: "
@@ -5218,7 +5195,7 @@ msgid ""
 "However, it will be correctly handled up to 2106.\n"
 msgstr ""
 "您的系统无法显示 2038 年以后的日期。\n"
-"然而,它可以正确地处理到 2106 年之前的日期。\n"
+"不过它可以正确地处理到 2106 年之前的日期。\n"
 
 #: g10/keygen.c:2694
 msgid "Is this correct? (y/N) "
@@ -5394,7 +5371,7 @@ msgstr "无论如何都创建\n"
 #: g10/keygen.c:4722
 #, c-format
 msgid "Note: Use \"%s %s\" for a full featured key generation dialog.\n"
-msgstr "注æ\84\8fï¼\9a使ç\94¨ â\80\9c%s %sâ\80\9d ä»¥è\8e·å¾\97ä¸\80个å\8a\9fè\83½å®\8cæ\95´ç\9a\84å¯\86é\92¥äº§ç\94\9f对话框。\n"
+msgstr "注æ\84\8fï¼\9a使ç\94¨ â\80\9c%s %sâ\80\9d ä»¥è\8e·å¾\97ä¸\80个å\85¨å\8a\9fè\83½ç\9a\84å¯\86é\92¥ç\94\9fæ\88\90对话框。\n"
 
 #: g10/keygen.c:4771
 #, c-format
@@ -5597,76 +5574,71 @@ msgstr "使用密钥中指定的首选公钥服务器 URL"
 msgid "honor the PKA record set on a key when retrieving keys"
 msgstr "获取密钥时使用密钥上的 PKA 记录"
 
-#: g10/keyserver.c:550
+#: g10/keyserver.c:373
 msgid "disabled"
 msgstr "已禁用"
 
-#: g10/keyserver.c:754
+#: g10/keyserver.c:577
 msgid "Enter number(s), N)ext, or Q)uit > "
 msgstr "输入数字以选择,输入 N 翻页,输入 Q 退出 > "
 
-#: g10/keyserver.c:860
+#: g10/keyserver.c:683
 #, c-format
 msgid "invalid keyserver protocol (us %d!=handler %d)\n"
 msgstr "无效的公钥服务器协议(us %d!=handler %d)\n"
 
-#: g10/keyserver.c:1001 g10/keyserver.c:1116
+#: g10/keyserver.c:824 g10/keyserver.c:939
 #, c-format
 msgid "\"%s\" not a key ID: skipping\n"
 msgstr "“%s” 不是一个用户标识:跳过\n"
 
-#: g10/keyserver.c:1438 g10/keyserver.c:1471
+#: g10/keyserver.c:1237 g10/keyserver.c:1270
 #, c-format
 msgid "refreshing %d key from %s\n"
 msgid_plural "refreshing %d keys from %s\n"
 msgstr[0] "正在更新 %d 把密钥,从 %s \n"
 
-#: g10/keyserver.c:1445
+#: g10/keyserver.c:1244
 #, c-format
 msgid "WARNING: unable to refresh key %s via %s: %s\n"
 msgstr "警告:无法通过 %s 更新密钥 %s :%s\n"
 
-#: g10/keyserver.c:1549
+#: g10/keyserver.c:1336
 #, c-format
 msgid "key \"%s\" not found on keyserver\n"
 msgstr "在公钥服务器上找不到密钥 “%s”\n"
 
-#: g10/keyserver.c:1552
+#: g10/keyserver.c:1339
 #, c-format
 msgid "key not found on keyserver\n"
 msgstr "在公钥服务器上找不到密钥\n"
 
-#: g10/keyserver.c:1743
-#, c-format
-msgid "requesting key %s from %s server %s\n"
-msgstr "正在请求密钥 %s 从 %s 服务器 %s\n"
-
-#: g10/keyserver.c:1747
+#: g10/keyserver.c:1504
 #, c-format
 msgid "requesting key %s from %s\n"
 msgstr "正在请求密钥 %s 从 %s\n"
 
-#: g10/keyserver.c:1852 g10/keyserver.c:2031
+#: g10/keyserver.c:1619 g10/keyserver.c:1798
 #, c-format
 msgid "no keyserver known\n"
 msgstr "无已知的公钥服务器\n"
 
-#: g10/keyserver.c:1867 g10/skclist.c:214 g10/skclist.c:242
+#: g10/keyserver.c:1634 g10/skclist.c:215 g10/skclist.c:243
 #, c-format
 msgid "skipped \"%s\": %s\n"
 msgstr "已跳过 “%s”: %s\n"
 
-#: g10/keyserver.c:1871
+#: g10/keyserver.c:1638
 #, c-format
 msgid "sending key %s to %s\n"
 msgstr "正在发送密钥 %s 到 %s\n"
 
-#: g10/keyserver.c:1912
+#: g10/keyserver.c:1679
 #, c-format
 msgid "requesting key from '%s'\n"
 msgstr "正在从 %s 请求密钥\n"
 
-#: g10/keyserver.c:1928
+#: g10/keyserver.c:1695
 #, c-format
 msgid "WARNING: unable to fetch URI %s: %s\n"
 msgstr "警告:无法获取 URI %s:%s\n"
@@ -5677,77 +5649,76 @@ msgid "weird size for an encrypted session key (%d)\n"
 msgstr "奇怪的加密会话密钥长度(%d)\n"
 
 #: g10/mainproc.c:389
-#, fuzzy, c-format
-#| msgid "%s.%s encrypted session key\n"
+#, c-format
 msgid "%s encrypted session key\n"
-msgstr "%s.%s 已加密的会话密钥\n"
+msgstr "%s 加密过的会话密钥\n"
 
-#: g10/mainproc.c:400
+#: g10/mainproc.c:403
 #, c-format
 msgid "passphrase generated with unknown digest algorithm %d\n"
 msgstr "密码由未知的散列算法 %d 生成\n"
 
-#: g10/mainproc.c:481
+#: g10/mainproc.c:485
 #, c-format
 msgid "public key is %s\n"
 msgstr "公钥是 %s\n"
 
-#: g10/mainproc.c:557
+#: g10/mainproc.c:561
 #, c-format
 msgid "public key encrypted data: good DEK\n"
 msgstr "公钥加密数据:完好的数据加密密钥(DEK)\n"
 
-#: g10/mainproc.c:590
+#: g10/mainproc.c:594
 #, c-format
 msgid "encrypted with %u-bit %s key, ID %s, created %s\n"
 msgstr "由 %u 位的 %s 密钥加密,标识为 %s,生成于 %s\n"
 
-#: g10/mainproc.c:594 g10/pkclist.c:228
+#: g10/mainproc.c:598 g10/pkclist.c:228
 #, c-format
 msgid "      \"%s\"\n"
 msgstr "      “%s”\n"
 
-#: g10/mainproc.c:598
+#: g10/mainproc.c:602
 #, c-format
 msgid "encrypted with %s key, ID %s\n"
 msgstr "由 %s 密钥加密、密钥号为 %s\n"
 
-#: g10/mainproc.c:619
+#: g10/mainproc.c:623
 #, c-format
 msgid "public key decryption failed: %s\n"
 msgstr "公钥解密失败:%s\n"
 
-#: g10/mainproc.c:641 g10/mainproc.c:970
+#: g10/mainproc.c:645 g10/mainproc.c:976
 #, c-format
 msgid "WARNING: multiple plaintexts seen\n"
 msgstr "警告: 检测到多重纯文本\n"
 
-#: g10/mainproc.c:649
+#: g10/mainproc.c:653
 #, c-format
 msgid "encrypted with %lu passphrases\n"
 msgstr "以 %lu 个密码加密\n"
 
-#: g10/mainproc.c:651
+#: g10/mainproc.c:655
 #, c-format
 msgid "encrypted with 1 passphrase\n"
 msgstr "以 1 个密码加密\n"
 
-#: g10/mainproc.c:685 g10/mainproc.c:706
+#: g10/mainproc.c:689 g10/mainproc.c:710
 #, c-format
 msgid "assuming %s encrypted data\n"
 msgstr "假定 %s 为加密过的数据\n"
 
-#: g10/mainproc.c:692
+#: g10/mainproc.c:696
 #, c-format
 msgid "IDEA cipher unavailable, optimistically attempting to use %s instead\n"
 msgstr "IDEA 密文算法不可用,尝试使用 %s 代替\n"
 
-#: g10/mainproc.c:779 g10/mainproc.c:817
+#: g10/mainproc.c:785 g10/mainproc.c:823
 #, c-format
 msgid "WARNING: message was not integrity protected\n"
 msgstr "警告:消息未受到完整性保护\n"
 
-#: g10/mainproc.c:790
+#: g10/mainproc.c:796
 msgid ""
 "Hint: If this message was created before the year 2003 it is\n"
 "likely that this message is legitimate.  This is because back\n"
@@ -5757,178 +5728,178 @@ msgstr ""
 "看起来此信息就是合法的。这是因为那个时候完整性\n"
 "保护还没有被广泛地采用。\n"
 
-#: g10/mainproc.c:793
+#: g10/mainproc.c:799
 #, c-format
 msgid "Use the option '%s' to decrypt anyway.\n"
-msgstr "使用选项‘%s’来无论如何都要解密。\n"
+msgstr "无论如何使用选项‘%s’来解密。\n"
 
-#: g10/mainproc.c:798
+#: g10/mainproc.c:804
 #, c-format
 msgid "decryption forced to fail!\n"
 msgstr "解密强制失败!\n"
 
-#: g10/mainproc.c:810
+#: g10/mainproc.c:816
 #, c-format
 msgid "decryption okay\n"
 msgstr "解密成功\n"
 
-#: g10/mainproc.c:823
+#: g10/mainproc.c:829
 #, c-format
 msgid "WARNING: encrypted message has been manipulated!\n"
 msgstr "警告:加密过的报文已经变造!\n"
 
-#: g10/mainproc.c:841
+#: g10/mainproc.c:847
 #, c-format
 msgid "decryption failed: %s\n"
 msgstr "解密失败:%s\n"
 
-#: g10/mainproc.c:886
+#: g10/mainproc.c:892
 #, c-format
 msgid "Note: sender requested \"for-your-eyes-only\"\n"
 msgstr "注意:发送者要求您“只阅读不存盘”\n"
 
-#: g10/mainproc.c:893
+#: g10/mainproc.c:899
 #, c-format
 msgid "original file name='%.*s'\n"
 msgstr "原始文件名 =‘%.*s’\n"
 
-#: g10/mainproc.c:1148
+#: g10/mainproc.c:1154
 #, c-format
 msgid "standalone revocation - use \"gpg --import\" to apply\n"
 msgstr "独立的吊销证书 - 请使用“gpg --import”来应用\n"
 
-#: g10/mainproc.c:1452 g10/mainproc.c:1495
+#: g10/mainproc.c:1458 g10/mainproc.c:1501
 #, c-format
 msgid "no signature found\n"
 msgstr "未找到签名\n"
 
-#: g10/mainproc.c:1852
+#: g10/mainproc.c:1858
 #, c-format
 msgid "BAD signature from \"%s\""
 msgstr "已损坏的签名,来自于 “%s”"
 
-#: g10/mainproc.c:1854
+#: g10/mainproc.c:1860
 #, c-format
 msgid "Expired signature from \"%s\""
 msgstr "过期的签名,来自于 “%s”"
 
-#: g10/mainproc.c:1856
+#: g10/mainproc.c:1862
 #, c-format
 msgid "Good signature from \"%s\""
 msgstr "完好的签名,来自于 “%s”"
 
-#: g10/mainproc.c:1876
+#: g10/mainproc.c:1882
 #, c-format
 msgid "signature verification suppressed\n"
 msgstr "签名验证已被抑制\n"
 
-#: g10/mainproc.c:1985
+#: g10/mainproc.c:1991
 #, c-format
 msgid "can't handle this ambiguous signature data\n"
 msgstr "无法处理此有歧义的签名数据\n"
 
-#: g10/mainproc.c:2001 g10/mainproc.c:2008
+#: g10/mainproc.c:2007 g10/mainproc.c:2014
 #, c-format
 msgid "Signature made %s\n"
 msgstr "签名建立于 %s\n"
 
-#: g10/mainproc.c:2002 g10/mainproc.c:2009 sm/verify.c:476
+#: g10/mainproc.c:2008 g10/mainproc.c:2015 sm/verify.c:476
 #, c-format
 msgid "               using %s key %s\n"
 msgstr "              使用 %s 密钥 %s\n"
 
-#: g10/mainproc.c:2013
+#: g10/mainproc.c:2019
 #, c-format
 msgid "Signature made %s using %s key ID %s\n"
 msgstr "于 %s 创建的签名,使用 %s,密钥号 %s\n"
 
-#: g10/mainproc.c:2019
+#: g10/mainproc.c:2025
 #, c-format
 msgid "               issuer \"%s\"\n"
 msgstr "               签发者 \"%s\"\n"
 
-#: g10/mainproc.c:2070
+#: g10/mainproc.c:2076
 #, c-format
 msgid "Key available at: "
 msgstr "密钥在以下地方可用: "
 
-#: g10/mainproc.c:2111
+#: g10/mainproc.c:2118
 #, c-format
 msgid "Note: Use '%s' to make use of this info\n"
-msgstr ""
+msgstr "注意:使用 “%s” 可使用此信息\n"
 
-#: g10/mainproc.c:2325
+#: g10/mainproc.c:2334
 msgid "[uncertain]"
 msgstr "[不确定]"
 
-#: g10/mainproc.c:2363
+#: g10/mainproc.c:2372
 #, c-format
 msgid "                aka \"%s\""
 msgstr "                亦即 “%s”"
 
-#: g10/mainproc.c:2438
+#: g10/mainproc.c:2447
 #, c-format
 msgid "WARNING: This key is not suitable for signing in %s mode\n"
 msgstr "警告: 此密钥在 %s 模式下不适用于签名\n"
 
-#: g10/mainproc.c:2456
+#: g10/mainproc.c:2465
 #, c-format
 msgid "Signature expired %s\n"
 msgstr "这份签名已于 %s 过期。\n"
 
-#: g10/mainproc.c:2460
+#: g10/mainproc.c:2469
 #, c-format
 msgid "Signature expires %s\n"
 msgstr "这份签名在 %s 过期。\n"
 
-#: g10/mainproc.c:2471
+#: g10/mainproc.c:2480
 #, c-format
 msgid "%s signature, digest algorithm %s%s%s\n"
 msgstr "%s 签名,摘要算法 %s%s%s\n"
 
-#: g10/mainproc.c:2472
+#: g10/mainproc.c:2481
 msgid "binary"
 msgstr "二进制"
 
-#: g10/mainproc.c:2473
+#: g10/mainproc.c:2482
 msgid "textmode"
 msgstr "文本模式"
 
-#: g10/mainproc.c:2473 g10/trust.c:123 dirmngr/ocsp.c:792
+#: g10/mainproc.c:2482 g10/trust.c:123 dirmngr/ocsp.c:792
 msgid "unknown"
 msgstr "未知"
 
-#: g10/mainproc.c:2475
+#: g10/mainproc.c:2484
 msgid ", key algorithm "
 msgstr ",密钥算法 "
 
-#: g10/mainproc.c:2510
+#: g10/mainproc.c:2519
 #, c-format
 msgid "WARNING: not a detached signature; file '%s' was NOT verified!\n"
 msgstr "警告:不是一个分离签名;文件‘%s’没有被验证!\n"
 
-#: g10/mainproc.c:2548
+#: g10/mainproc.c:2558
 #, c-format
 msgid "Can't check signature: %s\n"
 msgstr "无法检查签名:%s\n"
 
-#: g10/mainproc.c:2644 g10/mainproc.c:2663 g10/mainproc.c:2787
+#: g10/mainproc.c:2654 g10/mainproc.c:2673 g10/mainproc.c:2797
 #, c-format
 msgid "not a detached signature\n"
 msgstr "不是一份分离的签名\n"
 
-#: g10/mainproc.c:2697
+#: g10/mainproc.c:2707
 #, c-format
 msgid ""
 "WARNING: multiple signatures detected.  Only the first will be checked.\n"
 msgstr "警告:检测到多重签名。只检查第一个签名。\n"
 
-#: g10/mainproc.c:2706
+#: g10/mainproc.c:2716
 #, c-format
 msgid "standalone signature of class 0x%02x\n"
 msgstr "等级 0x%02x 的独立签名\n"
 
-#: g10/mainproc.c:2791
+#: g10/mainproc.c:2801
 #, c-format
 msgid "old style (PGP 2.x) signature\n"
 msgstr "旧式(PGP 2.x)签名\n"
@@ -5974,10 +5945,9 @@ msgid "Note: signatures using the %s algorithm are rejected\n"
 msgstr "注意:使用 %s 算法的签名已被拒绝\n"
 
 #: g10/misc.c:376
-#, fuzzy, c-format
-#| msgid "Note: signatures using the %s algorithm are rejected\n"
+#, c-format
 msgid "Note: third-party key signatures using the %s algorithm are rejected\n"
-msgstr "注意:使用 %s 算法的签名已被拒绝\n"
+msgstr "注æ\84\8fï¼\9a使ç\94¨ %s ç®\97æ³\95ç\9a\84第ä¸\89æ\96¹å¯\86é\92¥ç­¾å\90\8d已被æ\8b\92ç»\9d\n"
 
 #: g10/misc.c:400
 #, c-format
@@ -6107,50 +6077,56 @@ msgstr "未知的紧急签名注记: "
 msgid "subpacket of type %d has critical bit set\n"
 msgstr "%d 类型的子包设定了紧急位\n"
 
-#: g10/passphrase.c:73 g10/passphrase.c:275 g10/passphrase.c:308
+#: g10/passphrase.c:73 g10/passphrase.c:283 g10/passphrase.c:316
 #, c-format
 msgid "problem with the agent: %s\n"
 msgstr "代理人程序出现问题:%s\n"
 
-#: g10/passphrase.c:258
+#: g10/passphrase.c:251 sm/decrypt.c:341
+#, fuzzy
+#| msgid "Please enter the new passphrase"
+msgid "Please enter the passphrase for decryption."
+msgstr "请输入新的密码"
+
+#: g10/passphrase.c:253
 msgid "Enter passphrase\n"
 msgstr "请输入密码\n"
 
-#: g10/passphrase.c:269
+#: g10/passphrase.c:277
 #, c-format
 msgid "cancelled by user\n"
 msgstr "用户取消\n"
 
-#: g10/passphrase.c:510
+#: g10/passphrase.c:523
 #, c-format
 msgid " (main key ID %s)"
 msgstr " (主密钥标识 %s)"
 
-#: g10/passphrase.c:517
+#: g10/passphrase.c:530
 msgid "Please enter the passphrase to unlock the OpenPGP secret key:"
 msgstr "请输入密码以解锁 OpenPGP 私钥:"
 
-#: g10/passphrase.c:521
+#: g10/passphrase.c:534
 msgid "Please enter the passphrase to import the OpenPGP secret key:"
 msgstr "请输入密码以导入 OpenPGP 私钥:"
 
-#: g10/passphrase.c:526
+#: g10/passphrase.c:539
 msgid "Please enter the passphrase to export the OpenPGP secret subkey:"
 msgstr "请输入密码以导出 OpenPGP 私密子密钥:"
 
-#: g10/passphrase.c:529
+#: g10/passphrase.c:542
 msgid "Please enter the passphrase to export the OpenPGP secret key:"
 msgstr "请输入密码以导出 OpenPGP 私钥:"
 
-#: g10/passphrase.c:534
+#: g10/passphrase.c:547
 msgid "Do you really want to permanently delete the OpenPGP secret subkey key:"
 msgstr "您真的想要永久删除此 OpenPGP 私密子密钥吗:"
 
-#: g10/passphrase.c:537
+#: g10/passphrase.c:550
 msgid "Do you really want to permanently delete the OpenPGP secret key:"
 msgstr "您真的想要永久删除此 OpenPGP 私密密钥吗:"
 
-#: g10/passphrase.c:546
+#: g10/passphrase.c:559
 #, c-format
 msgid ""
 "%s\n"
@@ -6205,7 +6181,7 @@ msgstr "‘%s’不是一个 JPEG 文件\n"
 msgid "Is this photo correct (y/N/q)? "
 msgstr "这张照片正确吗?(y/N/q) "
 
-#: g10/photoid.c:395
+#: g10/photoid.c:399
 #, c-format
 msgid "unable to display photo ID!\n"
 msgstr "无法显示照片标识!\n"
@@ -6474,12 +6450,12 @@ msgstr ""
 
 #: g10/pkclist.c:1186
 msgid "No such user ID.\n"
-msgstr "没有这样的用户标识。\n"
+msgstr "没有用户标识。\n"
 
 #: g10/pkclist.c:1197 g10/pkclist.c:1275
 #, c-format
 msgid "skipped: public key already set as default recipient\n"
-msgstr "已跳过:公钥已被设为默认接收者\n"
+msgstr "已跳过:公钥已被设为用于默认接收者\n"
 
 #: g10/pkclist.c:1219
 msgid "Public key is disabled.\n"
@@ -6543,7 +6519,7 @@ msgstr "无法打开已签名的数据‘%s’\n"
 msgid "can't open signed data fd=%d: %s\n"
 msgstr "无法打开已签名的数据 fd=%d: %s\n"
 
-#: g10/pubkey-enc.c:98 g10/pubkey-enc.c:139 sm/decrypt.c:493
+#: g10/pubkey-enc.c:98 g10/pubkey-enc.c:139 sm/decrypt.c:969
 #, c-format
 msgid "key %s is not suitable for decryption in %s mode\n"
 msgstr "密钥 %s 在 %s 模式下不适用于解密\n"
@@ -6558,27 +6534,27 @@ msgstr "匿名接收者;正在尝试使用私钥 %s ……\n"
 msgid "okay, we are the anonymous recipient.\n"
 msgstr "很好,我们就是匿名接收者。\n"
 
-#: g10/pubkey-enc.c:321
+#: g10/pubkey-enc.c:311
 #, c-format
 msgid "old encoding of the DEK is not supported\n"
 msgstr "不支持旧式的 DEK 编码\n"
 
-#: g10/pubkey-enc.c:349
+#: g10/pubkey-enc.c:339
 #, c-format
 msgid "cipher algorithm %d%s is unknown or disabled\n"
 msgstr "密文算法 %d%s 未知或已停用\n"
 
-#: g10/pubkey-enc.c:393
+#: g10/pubkey-enc.c:383
 #, c-format
 msgid "WARNING: cipher algorithm %s not found in recipient preferences\n"
 msgstr "注意:接收者的偏好设置中找不到密文算法 %s\n"
 
-#: g10/pubkey-enc.c:426
+#: g10/pubkey-enc.c:416
 #, c-format
 msgid "Note: secret key %s expired at %s\n"
 msgstr "注意:私钥 %s 已于 %s 过期\n"
 
-#: g10/pubkey-enc.c:433
+#: g10/pubkey-enc.c:423
 #, c-format
 msgid "Note: key has been revoked"
 msgstr "注意:密钥已被吊销"
@@ -6872,39 +6848,38 @@ msgstr "警告:首选公钥服务器 URL %% 无法扩展(过大)。现在
 msgid "%s/%s signature from: \"%s\"\n"
 msgstr "%s/%s 签名来自:“%s”\n"
 
-#: g10/sign.c:1046
+#: g10/sign.c:1045
 #, c-format
 msgid ""
 "WARNING: forcing digest algorithm %s (%d) violates recipient preferences\n"
 msgstr "警告:强制摘要算法 %s (%d) 与接收者的偏好设置冲突\n"
 
-#: g10/sign.c:1188
+#: g10/sign.c:1187
 #, c-format
 msgid "signing:"
 msgstr "正在签名:"
 
-#: g10/sign.c:1465
-#, fuzzy, c-format
-#| msgid "%s.%s encryption will be used\n"
+#: g10/sign.c:1464
+#, c-format
 msgid "%s encryption will be used\n"
-msgstr "%s.%s 加密将被使用\n"
+msgstr "%s 加密将被采用\n"
 
-#: g10/skclist.c:173 g10/skclist.c:254
+#: g10/skclist.c:174 g10/skclist.c:255
 #, c-format
 msgid "key is not flagged as insecure - can't use it with the faked RNG!\n"
 msgstr "密钥未被标示为不安全- 不能与假的随机数发生器共同使用!\n"
 
-#: g10/skclist.c:205
+#: g10/skclist.c:206
 #, c-format
 msgid "skipped \"%s\": duplicated\n"
 msgstr "“%s” 已跳过:重复\n"
 
-#: g10/skclist.c:224
+#: g10/skclist.c:225
 #, c-format
 msgid "skipped: secret key already present\n"
 msgstr "已跳过:私钥已存在\n"
 
-#: g10/skclist.c:243
+#: g10/skclist.c:244
 msgid "this is a PGP generated Elgamal key which is not secure for signatures!"
 msgstr "这是一个由 PGP 生成的 ElGamal 密钥,其用于签名时不安全!"
 
@@ -6958,7 +6933,7 @@ msgstr "读取‘%s’时出现错误:%s\n"
 msgid "trustdb: sync failed: %s\n"
 msgstr "信任度数据库:sync 失败:%s\n"
 
-#: g10/tdbio.c:144 sm/keydb.c:336
+#: g10/tdbio.c:144 sm/keydb.c:335
 #, c-format
 msgid "can't create lock for '%s'\n"
 msgstr "无法为‘%s’创建锁\n"
@@ -7579,17 +7554,16 @@ msgstr "绝对"
 #. essentially a comment and need not be translated.  Either key and
 #. uid are both NULL, or neither are NULL.
 #: g10/trust.c:166
-#, fuzzy
 msgid "10 translator see trust.c:uid_trust_string_fixed"
-msgstr "10 translator see trustdb.c:uid_trust_string_fixed"
+msgstr "8 translator see trustdb.c:uid_trust_string_fixed"
 
 #: g10/trust.c:169
 msgid "[ revoked]"
-msgstr "[ å·²å\90\8aé\94\80 ]"
+msgstr "[ 吊销 ]"
 
 #: g10/trust.c:171 g10/trust.c:177
 msgid "[ expired]"
-msgstr "[ 过期 ]"
+msgstr "[ 过期 ]"
 
 #: g10/trust.c:176
 msgid "[ unknown]"
@@ -7597,7 +7571,7 @@ msgstr "[ 未知 ]"
 
 #: g10/trust.c:178
 msgid "[  undef ]"
-msgstr "[ 未定 ]"
+msgstr "[ 未定 ]"
 
 #: g10/trust.c:179
 msgid "[  never ]"
@@ -7659,39 +7633,49 @@ msgstr ""
 #. TRANSLATORS: Put a \x1f right before a colon.  This can be
 #. * used by pinentry to nicely align the names and values.  Keep
 #. * the %s at the start and end of the string.
-#: scd/app-p15.c:3369 scd/app-openpgp.c:2153
+#: scd/app-p15.c:4955 scd/app-openpgp.c:2151
 #, c-format
 msgid "%sNumber\1f: %s%%0AHolder\1f: %s%s"
 msgstr "%s数字\1f: %s%%0A持有者\1f: %s%s"
 
 #. TRANSLATORS: This is the number of remaining attempts to
 #. * enter a PIN.  Use %%0A (double-percent,0A) for a linefeed.
-#: scd/app-p15.c:3388 scd/app-openpgp.c:2169
+#: scd/app-p15.c:4974 scd/app-openpgp.c:2167
 #, c-format
 msgid "Remaining attempts: %d"
 msgstr "剩余尝试:%d"
 
-#: scd/app-p15.c:3459 scd/app-nks.c:1110
+#: scd/app-p15.c:5053 scd/app-nks.c:1113
 msgid "||Please enter the PIN for the key to create qualified signatures."
 msgstr "||请为这个密钥输入 PIN 以创建合格的签名。"
 
-#: scd/app-p15.c:3462 scd/app-nks.c:1092
+#. TRANSLATORS: Do not translate the "|A|" prefix but keep it at
+#. the start of the string.  Use %0A (single percent) for a linefeed.
+#: scd/app-p15.c:5056 scd/app-openpgp.c:2461
+msgid "|A|Please enter the Admin PIN"
+msgstr "|A|请输入管理员 PIN"
+
+#: scd/app-p15.c:5058 scd/app-nks.c:1103
+msgid "|P|Please enter the PIN Unblocking Code (PUK) for the standard keys."
+msgstr "|NP|请输入标准密钥的 PIN 解锁码(PUK)。"
+
+#: scd/app-p15.c:5061 scd/app-nks.c:1095
 msgid "||Please enter the PIN for the standard keys."
 msgstr "||请输入标准密钥的 PIN。"
 
-#: scd/app-nks.c:709 scd/app-openpgp.c:3664
+#: scd/app-nks.c:709 scd/app-openpgp.c:3663
 #, c-format
 msgid "RSA modulus missing or not of size %d bits\n"
 msgstr "RSA 余数缺失或者不是 %d 位长\n"
 
-#: scd/app-nks.c:717 scd/app-openpgp.c:3676
+#: scd/app-nks.c:717 scd/app-openpgp.c:3675
 #, c-format
 msgid "RSA public exponent missing or larger than %d bits\n"
 msgstr "RSA 公钥指数缺失或长于 %d 位\n"
 
-#: scd/app-nks.c:797 scd/app-openpgp.c:2326 scd/app-openpgp.c:2345
-#: scd/app-openpgp.c:2512 scd/app-openpgp.c:2530 scd/app-openpgp.c:2827
-#: scd/app-openpgp.c:2874 scd/app-openpgp.c:2989 scd/app-dinsig.c:303
+#: scd/app-nks.c:797 scd/app-openpgp.c:2324 scd/app-openpgp.c:2343
+#: scd/app-openpgp.c:2510 scd/app-openpgp.c:2528 scd/app-openpgp.c:2826
+#: scd/app-openpgp.c:2873 scd/app-openpgp.c:2988 scd/app-dinsig.c:302
 #, c-format
 msgid "PIN callback returned error: %s\n"
 msgstr "PIN 回调返回错误:%s\n"
@@ -7701,75 +7685,71 @@ msgstr "PIN 回调返回错误:%s\n"
 msgid "the NullPIN has not yet been changed\n"
 msgstr "尚未变更 NullPIN\n"
 
-#: scd/app-nks.c:1091
+#: scd/app-nks.c:1094
 msgid "|N|Please enter a new PIN for the standard keys."
 msgstr "|N|请为标准密钥输入一个新的 PIN。"
 
-#: scd/app-nks.c:1098
+#: scd/app-nks.c:1101
 msgid "|NP|Please enter a new PIN Unblocking Code (PUK) for the standard keys."
 msgstr "|NP|请为标准密钥输入一个新的 PIN 解锁码(PUK)。"
 
-#: scd/app-nks.c:1100
-msgid "|P|Please enter the PIN Unblocking Code (PUK) for the standard keys."
-msgstr "|NP|请输入标准密钥的 PIN 解锁码(PUK)。"
-
-#: scd/app-nks.c:1108
+#: scd/app-nks.c:1111
 msgid "|N|Please enter a new PIN for the key to create qualified signatures."
 msgstr "|N|请为这个密钥输入一个新的 PIN 以创建合格的签名。"
 
-#: scd/app-nks.c:1118
+#: scd/app-nks.c:1121
 msgid ""
 "|NP|Please enter a new PIN Unblocking Code (PUK) for the key to create "
 "qualified signatures."
 msgstr "|NP|请为这个密钥输入一个新的 PIN 解锁码(PUK)以创建合格的签名。"
 
-#: scd/app-nks.c:1120
+#: scd/app-nks.c:1123
 msgid ""
 "|P|Please enter the PIN Unblocking Code (PUK) for the key to create "
 "qualified signatures."
 msgstr "|P|请为这个密钥输入 PIN 解锁码(PUK)以创建合格的签名。"
 
-#: scd/app-nks.c:1227 scd/app-openpgp.c:2908 scd/app-dinsig.c:531
+#: scd/app-nks.c:1230 scd/app-openpgp.c:2907 scd/app-dinsig.c:532
 #, c-format
 msgid "error getting new PIN: %s\n"
 msgstr "获取新 PIN 时出现错误:%s\n"
 
-#: scd/app-openpgp.c:860
+#: scd/app-openpgp.c:859
 #, c-format
 msgid "failed to store the fingerprint: %s\n"
 msgstr "存储指纹失败:%s\n"
 
-#: scd/app-openpgp.c:873
+#: scd/app-openpgp.c:872
 #, c-format
 msgid "failed to store the creation date: %s\n"
 msgstr "存储创建日期失败:%s\n"
 
-#: scd/app-openpgp.c:1272 scd/app-openpgp.c:2855 scd/app-openpgp.c:5020
+#: scd/app-openpgp.c:1268 scd/app-openpgp.c:2854 scd/app-openpgp.c:5025
 #, c-format
 msgid "error retrieving CHV status from card\n"
 msgstr "从卡片中拉取 CHV 状态时出现错误\n"
 
-#: scd/app-openpgp.c:1430
+#: scd/app-openpgp.c:1426
 #, c-format
 msgid "response does not contain the RSA modulus\n"
 msgstr "响应不包含 RSA 余数\n"
 
-#: scd/app-openpgp.c:1437
+#: scd/app-openpgp.c:1433
 #, c-format
 msgid "response does not contain the RSA public exponent\n"
 msgstr "响应不包含 RSA 公钥指数\n"
 
-#: scd/app-openpgp.c:1547
+#: scd/app-openpgp.c:1543
 #, c-format
 msgid "response does not contain the EC public key\n"
 msgstr "响应不包含 EC 公钥\n"
 
-#: scd/app-openpgp.c:1665 scd/app-openpgp.c:4284
+#: scd/app-openpgp.c:1661 scd/app-openpgp.c:4283
 #, c-format
 msgid "response does not contain the public key data\n"
 msgstr "响应不包含公钥数据\n"
 
-#: scd/app-openpgp.c:1772
+#: scd/app-openpgp.c:1768
 #, c-format
 msgid "reading public key failed: %s\n"
 msgstr "读取公钥失败:%s\n"
@@ -7777,200 +7757,194 @@ msgstr "读取公钥失败:%s\n"
 #. TRANSLATORS: Put a \x1f right before a colon.  This can be
 #. * used by pinentry to nicely align the names and values.  Keep
 #. * the %s at the start and end of the string.
-#: scd/app-openpgp.c:2140
+#: scd/app-openpgp.c:2138
 #, c-format
 msgid "%sNumber\1f: %s%%0AHolder\1f: %s%%0ACounter\1f: %lu%s"
 msgstr "%s数字\1f: %s%%0A持有者\1f: %s%%0A计数\1f: %lu%s"
 
-#: scd/app-openpgp.c:2280
+#: scd/app-openpgp.c:2278
 #, c-format
 msgid "using default PIN as %s\n"
 msgstr "使用默认 PIN 作为 %s\n"
 
-#: scd/app-openpgp.c:2287
+#: scd/app-openpgp.c:2285
 #, c-format
 msgid "failed to use default PIN as %s: %s - disabling further default use\n"
 msgstr "使用默认 PIN 作为 %s 失败:%s - 禁用进一步的默认使用\n"
 
-#: scd/app-openpgp.c:2300
+#: scd/app-openpgp.c:2298
 msgid "||Please unlock the card"
 msgstr "||请解锁卡片"
 
-#: scd/app-openpgp.c:2352 scd/app-openpgp.c:2537 scd/app-openpgp.c:2834
+#: scd/app-openpgp.c:2350 scd/app-openpgp.c:2535 scd/app-openpgp.c:2833
 #, c-format
 msgid "PIN for CHV%d is too short; minimum length is %d\n"
 msgstr "CHV%d 的 PIN 太短;最小长度为 %d\n"
 
-#: scd/app-openpgp.c:2366 scd/app-openpgp.c:2413 scd/app-openpgp.c:2551
-#: scd/app-openpgp.c:4642
+#: scd/app-openpgp.c:2364 scd/app-openpgp.c:2411 scd/app-openpgp.c:2549
+#: scd/app-openpgp.c:4641
 #, c-format
 msgid "verify CHV%d failed: %s\n"
 msgstr "验证 CHV%d 失败:%s\n"
 
-#: scd/app-openpgp.c:2449 scd/app-openpgp.c:5029
+#: scd/app-openpgp.c:2447 scd/app-openpgp.c:5034
 #, c-format
 msgid "card is permanently locked!\n"
 msgstr "卡片被永久锁定!\n"
 
-#: scd/app-openpgp.c:2453
+#: scd/app-openpgp.c:2451
 #, c-format
 msgid "%d Admin PIN attempt remaining before card is permanently locked\n"
 msgid_plural ""
 "%d Admin PIN attempts remaining before card is permanently locked\n"
 msgstr[0] "在卡片被永久锁定之前剩余 %d 次管理员 PIN 尝试\n"
 
-#. TRANSLATORS: Do not translate the "|A|" prefix but keep it at
-#. the start of the string.  Use %0A (single percent) for a linefeed.
-#: scd/app-openpgp.c:2463
-msgid "|A|Please enter the Admin PIN"
-msgstr "|A|请输入管理员 PIN"
-
-#: scd/app-openpgp.c:2484
+#: scd/app-openpgp.c:2482
 #, c-format
 msgid "access to admin commands is not configured\n"
 msgstr "未配置到管理员命令的访问\n"
 
-#: scd/app-openpgp.c:2821
+#: scd/app-openpgp.c:2820
 msgid "||Please enter the PIN"
 msgstr "||请输入 PIN"
 
-#: scd/app-openpgp.c:2870
+#: scd/app-openpgp.c:2869
 msgid "||Please enter the Reset Code for the card"
-msgstr "||请输入卡片的重置码"
+msgstr "||请输入卡片的重置码"
 
-#: scd/app-openpgp.c:2880 scd/app-openpgp.c:2941
+#: scd/app-openpgp.c:2879 scd/app-openpgp.c:2940
 #, c-format
 msgid "Reset Code is too short; minimum length is %d\n"
-msgstr "重置码太短;最小长度为 %d\n"
+msgstr "重置码太短;最小长度为 %d\n"
 
 #. TRANSLATORS: Do not translate the "|*|" prefixes but
 #. keep it at the start of the string.  We need this elsewhere
 #. to get some infos on the string.
-#: scd/app-openpgp.c:2903
+#: scd/app-openpgp.c:2902
 msgid "|RN|New Reset Code"
-msgstr "|RN|新的重置码"
+msgstr "|RN|新的重置码"
 
-#: scd/app-openpgp.c:2904
+#: scd/app-openpgp.c:2903
 msgid "|AN|New Admin PIN"
 msgstr "|AN|新的管理员 PIN"
 
-#: scd/app-openpgp.c:2904
+#: scd/app-openpgp.c:2903
 msgid "|N|New PIN"
 msgstr "|N|新的 PIN"
 
-#: scd/app-openpgp.c:2985
+#: scd/app-openpgp.c:2984
 msgid "||Please enter the Admin PIN and New Admin PIN"
 msgstr "||请输入原管理员 PIN 和新管理员 PIN"
 
-#: scd/app-openpgp.c:2986
+#: scd/app-openpgp.c:2985
 msgid "||Please enter the PIN and New PIN"
 msgstr "||请输入原 PIN 和新 PIN"
 
-#: scd/app-openpgp.c:3048 scd/app-openpgp.c:4344
+#: scd/app-openpgp.c:3047 scd/app-openpgp.c:4343
 #, c-format
 msgid "error reading application data\n"
 msgstr "读取应用程序数据时出错\n"
 
-#: scd/app-openpgp.c:3054 scd/app-openpgp.c:4351
+#: scd/app-openpgp.c:3053 scd/app-openpgp.c:4350
 #, c-format
 msgid "error reading fingerprint DO\n"
 msgstr "读取指纹 DO 时出现错误\n"
 
-#: scd/app-openpgp.c:3064
+#: scd/app-openpgp.c:3063
 #, c-format
 msgid "key already exists\n"
 msgstr "密钥已存在\n"
 
-#: scd/app-openpgp.c:3068
+#: scd/app-openpgp.c:3067
 #, c-format
 msgid "existing key will be replaced\n"
 msgstr "现有的密钥将被替换\n"
 
-#: scd/app-openpgp.c:3070
+#: scd/app-openpgp.c:3069
 #, c-format
 msgid "generating new key\n"
 msgstr "生成新密钥\n"
 
-#: scd/app-openpgp.c:3072
+#: scd/app-openpgp.c:3071
 #, c-format
 msgid "writing new key\n"
 msgstr "正在写入新密钥\n"
 
-#: scd/app-openpgp.c:3645 scd/app-openpgp.c:3997
+#: scd/app-openpgp.c:3644 scd/app-openpgp.c:3996
 #, c-format
 msgid "creation timestamp missing\n"
 msgstr "缺少创建时间戳\n"
 
-#: scd/app-openpgp.c:3686 scd/app-openpgp.c:3694
+#: scd/app-openpgp.c:3685 scd/app-openpgp.c:3693
 #, c-format
 msgid "RSA prime %s missing or not of size %d bits\n"
 msgstr "RSA 质数 %s 缺失或者不是 %d 位长\n"
 
-#: scd/app-openpgp.c:3827 scd/app-openpgp.c:4104
+#: scd/app-openpgp.c:3826 scd/app-openpgp.c:4103
 #, c-format
 msgid "failed to store the key: %s\n"
 msgstr "存储密钥失败:%s\n"
 
-#: scd/app-openpgp.c:3991
+#: scd/app-openpgp.c:3990
 #, c-format
 msgid "unsupported curve\n"
 msgstr "不支持的曲线\n"
 
-#: scd/app-openpgp.c:4261
+#: scd/app-openpgp.c:4260
 #, c-format
 msgid "please wait while key is being generated ...\n"
 msgstr "请等待密钥生成…\n"
 
-#: scd/app-openpgp.c:4269
+#: scd/app-openpgp.c:4268
 #, c-format
 msgid "generating key failed\n"
 msgstr "生成密钥失败\n"
 
-#: scd/app-openpgp.c:4275
+#: scd/app-openpgp.c:4274
 #, c-format
 msgid "key generation completed (%d second)\n"
 msgid_plural "key generation completed (%d seconds)\n"
 msgstr[0] "密钥生成完成(%d 秒)\n"
 
-#: scd/app-openpgp.c:4309
+#: scd/app-openpgp.c:4308
 #, c-format
 msgid "invalid structure of OpenPGP card (DO 0x93)\n"
 msgstr "无效的 OpenPGP 卡结构(DO 0x93)\n"
 
-#: scd/app-openpgp.c:4359
+#: scd/app-openpgp.c:4358
 #, c-format
 msgid "fingerprint on card does not match requested one\n"
 msgstr "卡片上的指纹与请求的不匹配\n"
 
-#: scd/app-openpgp.c:4558
+#: scd/app-openpgp.c:4557
 #, c-format
 msgid "card does not support digest algorithm %s\n"
 msgstr "卡片不支持摘要算法 %s\n"
 
-#: scd/app-openpgp.c:4616
+#: scd/app-openpgp.c:4615
 #, c-format
 msgid "signatures created so far: %lu\n"
 msgstr "目前已创建的签名:%lu\n"
 
-#: scd/app-openpgp.c:5034
+#: scd/app-openpgp.c:5039
 #, c-format
 msgid ""
 "verification of Admin PIN is currently prohibited through this command\n"
 msgstr "目前禁止通过此命令验证管理员 PIN\n"
 
-#: scd/app-openpgp.c:5346 scd/app-openpgp.c:5357
+#: scd/app-openpgp.c:5351 scd/app-openpgp.c:5362
 #, c-format
 msgid "can't access %s - invalid OpenPGP card?\n"
 msgstr "不能访问 %s - 无效的 OpenPGP 卡?\n"
 
-#: scd/app-dinsig.c:299
+#: scd/app-dinsig.c:298
 msgid "||Please enter your PIN at the reader's pinpad"
 msgstr "||请在读卡器的小键盘上输入您的 PIN"
 
 #. TRANSLATORS: Do not translate the "|*|" prefixes but
 #. keep it at the start of the string.  We need this elsewhere
 #. to get some infos on the string.
-#: scd/app-dinsig.c:528
+#: scd/app-dinsig.c:529
 msgid "|N|Initial New PIN"
 msgstr "|N|初始化新 PIN"
 
@@ -7978,7 +7952,7 @@ msgstr "|N|初始化新 PIN"
 msgid "run in multi server mode (foreground)"
 msgstr "正在以多服务器模式运行(前台)"
 
-#: scd/scdaemon.c:129 sm/gpgsm.c:345 dirmngr/dirmngr.c:187
+#: scd/scdaemon.c:129 sm/gpgsm.c:348 dirmngr/dirmngr.c:188
 msgid "|LEVEL|set the debugging level to LEVEL"
 msgstr "|LEVEL|设置调试级别至 LEVEL"
 
@@ -7998,31 +7972,31 @@ msgstr "|NAME|使用 NAME 作为 ct-API 驱动"
 msgid "|NAME|use NAME as PC/SC driver"
 msgstr "|NAME|使用 NAME 作为 PC/SC 驱动"
 
-#: scd/scdaemon.c:145
+#: scd/scdaemon.c:146
 msgid "do not use the internal CCID driver"
 msgstr "不使用内置的 CCID 驱动"
 
-#: scd/scdaemon.c:151
+#: scd/scdaemon.c:152
 msgid "|N|disconnect the card after N seconds of inactivity"
 msgstr "|N|在 N 秒的不活跃之后断开卡片的连接"
 
-#: scd/scdaemon.c:154
+#: scd/scdaemon.c:155
 msgid "do not use a reader's pinpad"
 msgstr "不使用读卡器的小键盘"
 
-#: scd/scdaemon.c:159
+#: scd/scdaemon.c:160
 msgid "deny the use of admin card commands"
 msgstr "拒绝使用卡片的管理员命令"
 
-#: scd/scdaemon.c:162
+#: scd/scdaemon.c:163
 msgid "use variable length input for pinpad"
 msgstr "使用小键盘的变长输入"
 
-#: scd/scdaemon.c:311
+#: scd/scdaemon.c:312
 msgid "Usage: @SCDAEMON@ [options] (-h for help)"
 msgstr "用法:@SCDAEMON@ [选项] (-h 获取帮助)"
 
-#: scd/scdaemon.c:313
+#: scd/scdaemon.c:314
 msgid ""
 "Syntax: scdaemon [options] [command [args]]\n"
 "Smartcard daemon for @GNUPG@\n"
@@ -8030,17 +8004,17 @@ msgstr ""
 "语法:scdaemon [选项] [命令 [参数]]\n"
 "@GNUPG@ 智能卡守护进程\n"
 
-#: scd/scdaemon.c:806
+#: scd/scdaemon.c:808
 #, c-format
 msgid "please use the option '--daemon' to run the program in the background\n"
 msgstr "请使用‘--daemon’选项以在后台运行此程序\n"
 
-#: scd/scdaemon.c:1183 dirmngr/dirmngr.c:2082
+#: scd/scdaemon.c:1185 dirmngr/dirmngr.c:2119
 #, c-format
 msgid "handler for fd %d started\n"
 msgstr "fd %d 的句柄已启动\n"
 
-#: scd/scdaemon.c:1195 dirmngr/dirmngr.c:2090
+#: scd/scdaemon.c:1197 dirmngr/dirmngr.c:2127
 #, c-format
 msgid "handler for fd %d terminated\n"
 msgstr "fd %d 的句柄已关闭\n"
@@ -8070,7 +8044,7 @@ msgstr "签发者证书没有被标记为 CA"
 
 #: sm/certchain.c:337
 msgid "critical marked policy without configured policies"
-msgstr ""
+msgstr "未配置关键标记策略"
 
 #: sm/certchain.c:347
 #, c-format
@@ -8087,7 +8061,7 @@ msgstr "注意:非紧急认证策略不被允许"
 msgid "certificate policy not allowed"
 msgstr "证书策略不被允许"
 
-#: sm/certchain.c:595 sm/keydb.c:1106 sm/keydb.c:1192
+#: sm/certchain.c:595 sm/keydb.c:1084 sm/keydb.c:1171
 #, c-format
 msgid "failed to get the fingerprint\n"
 msgstr "获取指纹失败\n"
@@ -8122,8 +8096,8 @@ msgstr "匹配的证书数:%d\n"
 msgid "dirmngr cache-only key lookup failed: %s\n"
 msgstr "dirmngr 仅缓存的密钥查找失败:%s\n"
 
-#: sm/certchain.c:1041 sm/certchain.c:1554 sm/certchain.c:2192 sm/decrypt.c:265
-#: sm/encrypt.c:344 sm/import.c:415 sm/keydb.c:1113 sm/keydb.c:1199
+#: sm/certchain.c:1041 sm/certchain.c:1554 sm/certchain.c:2192 sm/decrypt.c:728
+#: sm/encrypt.c:345 sm/import.c:415 sm/keydb.c:1091 sm/keydb.c:1178
 #: sm/sign.c:337 sm/verify.c:118
 #, c-format
 msgid "failed to allocate keyDB handle\n"
@@ -8315,13 +8289,13 @@ msgid "a %u bit hash is not valid for a %u bit %s key\n"
 msgstr "一个 %u 位的散列对于一个 %u 位的 %s 密钥是无效的\n"
 
 #: sm/certcheck.c:238 sm/certcheck.c:262 dirmngr/crlcache.c:1542
-#: dirmngr/crlcache.c:1566 dirmngr/dirmngr.c:1324 dirmngr/validate.c:903
+#: dirmngr/crlcache.c:1566 dirmngr/dirmngr.c:1361 dirmngr/validate.c:903
 #: dirmngr/validate.c:927
 #, c-format
 msgid "out of core\n"
-msgstr "out of core\n"
+msgstr "内存不足\n"
 
-#: sm/certcheck.c:371 sm/verify.c:213
+#: sm/certcheck.c:370 sm/verify.c:213
 #, c-format
 msgid "(this is the MD2 algorithm)\n"
 msgstr "(这是 MD2 算法)\n"
@@ -8336,7 +8310,7 @@ msgstr "[错误 - 无效编码]"
 
 #: sm/certdump.c:639
 msgid "[Error - out of core]"
-msgstr "[错误 - out of core]"
+msgstr "[错误 - 内存不足]"
 
 #: sm/certdump.c:675
 msgid "[Error - No name]"
@@ -8547,11 +8521,11 @@ msgstr "无效的主题名称标签‘%.*s’\n"
 #: sm/certreqgen-ui.c:362
 #, c-format
 msgid "Invalid subject name '%s'\n"
-msgstr "无效的主题名称‘%s’\n"
+msgstr "无效的主题名称 '%s'\n"
 
 #: sm/certreqgen-ui.c:364
 msgid "22 translator: see certreg-ui.c:gpgsm_gencertreq_tty"
-msgstr ""
+msgstr "16 translator: see certreg-ui.c:gpgsm_gencertreq_tty"
 
 #: sm/certreqgen-ui.c:376
 msgid "Enter email addresses"
@@ -8604,24 +8578,36 @@ msgstr "就绪。您现在应该将此请求发送给您的 CA。\n"
 #: sm/certreqgen-ui.c:461
 #, c-format
 msgid "resource problem: out of core\n"
-msgstr ""
+msgstr "资源问题:内存不足\n"
 
-#: sm/decrypt.c:341
+#: sm/decrypt.c:536
+#, fuzzy, c-format
+#| msgid "%s encrypted data\n"
+msgid "%s.%s encrypted data\n"
+msgstr "%s 加密过的数据\n"
+
+#: sm/decrypt.c:803
 #, c-format
 msgid "(this is the RC2 algorithm)\n"
 msgstr "(此为 RC2 算法)\n"
 
-#: sm/decrypt.c:343
+#: sm/decrypt.c:805
 #, c-format
 msgid "(this does not seem to be an encrypted message)\n"
 msgstr "(这看起来不像是一条被加密的消息)\n"
 
+#: sm/decrypt.c:958
+#, fuzzy, c-format
+#| msgid "encrypted with %s key, ID %s\n"
+msgid "encrypted to %s key %s\n"
+msgstr "由 %s 密钥加密、密钥号为 %s\n"
+
 #: sm/delete.c:51 sm/delete.c:112
 #, c-format
 msgid "certificate '%s' not found: %s\n"
 msgstr "证书‘%s’未找到:%s\n"
 
-#: sm/delete.c:122 sm/keydb.c:1209 sm/keydb.c:1307
+#: sm/delete.c:122 sm/keydb.c:1189 sm/keydb.c:1288
 #, c-format
 msgid "error locking keybox: %s\n"
 msgstr "锁定钥匙箱时出现错误:%s\n"
@@ -8641,128 +8627,128 @@ msgstr "证书‘%s’已被删除\n"
 msgid "deleting certificate \"%s\" failed: %s\n"
 msgstr "删除证书 “%s” 时失败:%s\n"
 
-#: sm/encrypt.c:330
+#: sm/encrypt.c:331
 #, c-format
 msgid "no valid recipients given\n"
 msgstr "未指定有效的接收者\n"
 
-#: sm/gpgsm.c:215
+#: sm/gpgsm.c:216
 msgid "list external keys"
 msgstr "列出外部密钥"
 
-#: sm/gpgsm.c:217
+#: sm/gpgsm.c:218
 msgid "list certificate chain"
 msgstr "列出证书链"
 
-#: sm/gpgsm.c:225
+#: sm/gpgsm.c:226
 msgid "import certificates"
 msgstr "导入证书"
 
-#: sm/gpgsm.c:226
+#: sm/gpgsm.c:227
 msgid "export certificates"
 msgstr "导出证书"
 
-#: sm/gpgsm.c:234
+#: sm/gpgsm.c:235
 msgid "register a smartcard"
 msgstr "注册一张智能卡"
 
-#: sm/gpgsm.c:237
+#: sm/gpgsm.c:238
 msgid "pass a command to the dirmngr"
 msgstr "传递一条命令给 dirmngr"
 
-#: sm/gpgsm.c:239
+#: sm/gpgsm.c:240
 msgid "invoke gpg-protect-tool"
 msgstr "调用 gpg-protect-tool"
 
-#: sm/gpgsm.c:256
+#: sm/gpgsm.c:257
 msgid "create base-64 encoded output"
 msgstr "创建 base-64 编码的输出"
 
-#: sm/gpgsm.c:265
+#: sm/gpgsm.c:266
 msgid "assume input is in PEM format"
 msgstr "假定输入的是 PEM 格式"
 
-#: sm/gpgsm.c:267
+#: sm/gpgsm.c:268
 msgid "assume input is in base-64 format"
 msgstr "假定输入的是 base-64 格式"
 
-#: sm/gpgsm.c:269
+#: sm/gpgsm.c:270
 msgid "assume input is in binary format"
 msgstr "假定输入的是二进制格式"
 
-#: sm/gpgsm.c:276
+#: sm/gpgsm.c:277
 msgid "never consult a CRL"
 msgstr "从不查询 CRL"
 
-#: sm/gpgsm.c:286
+#: sm/gpgsm.c:287
 msgid "check validity using OCSP"
 msgstr "使用 OCSP 检查有效性"
 
-#: sm/gpgsm.c:291
+#: sm/gpgsm.c:292
 msgid "|N|number of certificates to include"
 msgstr "|N|要包含的证书数目"
 
-#: sm/gpgsm.c:294
+#: sm/gpgsm.c:295
 msgid "|FILE|take policy information from FILE"
 msgstr "|FILE|从 FILE 处获取策略信息"
 
-#: sm/gpgsm.c:297
+#: sm/gpgsm.c:298
 msgid "do not check certificate policies"
 msgstr "不检查证书策略"
 
-#: sm/gpgsm.c:301
+#: sm/gpgsm.c:302
 msgid "fetch missing issuer certificates"
 msgstr "获取缺失的签发者证书"
 
-#: sm/gpgsm.c:312
+#: sm/gpgsm.c:313
 msgid "don't use the terminal at all"
 msgstr "始终不使用终端"
 
-#: sm/gpgsm.c:314
+#: sm/gpgsm.c:315
 msgid "|FILE|write a server mode log to FILE"
 msgstr "|FILE|将服务器模式的日志写入到 FILE"
 
-#: sm/gpgsm.c:319
+#: sm/gpgsm.c:320
 msgid "|FILE|write an audit log to FILE"
 msgstr "|FILE|将审计日志写入 FILE"
 
-#: sm/gpgsm.c:322
+#: sm/gpgsm.c:323
 msgid "batch mode: never ask"
 msgstr "批处理模式:永不询问"
 
-#: sm/gpgsm.c:323
+#: sm/gpgsm.c:324
 msgid "assume yes on most questions"
 msgstr "在多数问题上假定回答为是"
 
-#: sm/gpgsm.c:324
+#: sm/gpgsm.c:325
 msgid "assume no on most questions"
 msgstr "在多数问题上假定回答为否"
 
-#: sm/gpgsm.c:327
+#: sm/gpgsm.c:328
 msgid "|FILE|add keyring to the list of keyrings"
 msgstr "|FILE|添加钥匙环到钥匙环列表"
 
-#: sm/gpgsm.c:330
+#: sm/gpgsm.c:331
 msgid "|USER-ID|use USER-ID as default secret key"
 msgstr "|USER-ID|使用 USER-ID 作为默认的私钥"
 
-#: sm/gpgsm.c:340 tools/gpgconf-comp.c:837
+#: sm/gpgsm.c:341 dirmngr/dirmngr.c:214 tools/gpgconf-comp.c:841
 msgid "|SPEC|use this keyserver to lookup keys"
 msgstr "|SPEC|使用此公钥服务器来查找密钥"
 
-#: sm/gpgsm.c:357
+#: sm/gpgsm.c:360
 msgid "|NAME|use cipher algorithm NAME"
 msgstr "|NAME|使用名称为 NAME 的密文算法"
 
-#: sm/gpgsm.c:359
+#: sm/gpgsm.c:362
 msgid "|NAME|use message digest algorithm NAME"
 msgstr "|NAME|使用以 NAME 命名的信息摘要算法"
 
-#: sm/gpgsm.c:570
+#: sm/gpgsm.c:573
 msgid "Usage: @GPGSM@ [options] [files] (-h for help)"
 msgstr "用法:@GPGSM@ [选项] [文件] (-h 获取帮助)"
 
-#: sm/gpgsm.c:573
+#: sm/gpgsm.c:576
 msgid ""
 "Syntax: @GPGSM@ [options] [files]\n"
 "Sign, check, encrypt or decrypt using the S/MIME protocol\n"
@@ -8772,47 +8758,27 @@ msgstr ""
 "使用 S/MIME 协议以签名、检查、加密或者解密\n"
 "默认操作取决于输入的数据\n"
 
-#: sm/gpgsm.c:777
+#: sm/gpgsm.c:784
 #, c-format
 msgid "Note: won't be able to encrypt to '%s': %s\n"
 msgstr "注意:将不加密给‘%s’:%s\n"
 
-#: sm/gpgsm.c:788
+#: sm/gpgsm.c:795
 #, c-format
 msgid "unknown validation model '%s'\n"
 msgstr "未知的验证模型‘%s’\n"
 
-#: sm/gpgsm.c:839 dirmngr/ldapserver.c:86
-#, c-format
-msgid "%s:%u: no hostname given\n"
-msgstr "%s:%u: 未指定主机名\n"
-
-#: sm/gpgsm.c:858 dirmngr/ldapserver.c:105
-#, c-format
-msgid "%s:%u: password given without user\n"
-msgstr "%s:%u: 给定密码但未给定用户\n"
-
-#: sm/gpgsm.c:879 dirmngr/ldapserver.c:126
-#, c-format
-msgid "%s:%u: skipping this line\n"
-msgstr "%s:%u: 正在跳过此行\n"
-
-#: sm/gpgsm.c:1449
-#, c-format
-msgid "could not parse keyserver\n"
-msgstr "无法解析公钥服务器\n"
-
-#: sm/gpgsm.c:1712
+#: sm/gpgsm.c:1612
 #, c-format
 msgid "importing common certificates '%s'\n"
 msgstr "正在导入通用证书‘%s’\n"
 
-#: sm/gpgsm.c:1755
+#: sm/gpgsm.c:1655
 #, c-format
 msgid "can't sign using '%s': %s\n"
 msgstr "无法使用‘%s’签名:%s\n"
 
-#: sm/gpgsm.c:2122
+#: sm/gpgsm.c:2028
 #, c-format
 msgid "invalid command (there is no implicit command)\n"
 msgstr "无效的命令(不存在隐式的命令)\n"
@@ -8832,7 +8798,7 @@ msgstr "存储证书时出现错误\n"
 msgid "basic certificate checks failed - not imported\n"
 msgstr "基本证书检查失败 - 未被导入\n"
 
-#: sm/import.c:472 sm/keydb.c:1229 sm/keydb.c:1319
+#: sm/import.c:472 sm/keydb.c:1209 sm/keydb.c:1300
 #, c-format
 msgid "error getting stored flags: %s\n"
 msgstr "获取存储选项时出现错误:%s\n"
@@ -8847,27 +8813,27 @@ msgstr "导入证书时出现错误:%s\n"
 msgid "error reading input: %s\n"
 msgstr "读取输入时出现错误:%s\n"
 
-#: sm/keydb.c:1148
+#: sm/keydb.c:1127
 #, c-format
 msgid "problem looking for existing certificate: %s\n"
 msgstr "查找现存证书时出现问题:%s\n"
 
-#: sm/keydb.c:1160
+#: sm/keydb.c:1139
 #, c-format
 msgid "error finding writable keyDB: %s\n"
 msgstr "寻找可写入的 keyDB 时出现错误:%s\n"
 
-#: sm/keydb.c:1168
+#: sm/keydb.c:1147
 #, c-format
 msgid "error storing certificate: %s\n"
 msgstr "存储证书时出现错误:%s\n"
 
-#: sm/keydb.c:1220
+#: sm/keydb.c:1200
 #, c-format
 msgid "problem re-searching certificate: %s\n"
 msgstr "重新搜索证书时出现问题:%s\n"
 
-#: sm/keydb.c:1241 sm/keydb.c:1330
+#: sm/keydb.c:1221 sm/keydb.c:1311
 #, c-format
 msgid "error storing flags: %s\n"
 msgstr "存储选项时出现错误:%s\n"
@@ -8907,7 +8873,7 @@ msgstr ""
 "\n"
 "%s%s您真的确定您要这样做吗?"
 
-#: sm/qualified.c:215 sm/verify.c:678
+#: sm/qualified.c:215 sm/verify.c:679
 #, c-format
 msgid ""
 "Note, that this software is not officially approved to create or verify such "
@@ -8951,28 +8917,27 @@ msgid "[date not given]"
 msgstr "[日期未指定]"
 
 #: sm/verify.c:479
-#, fuzzy, c-format
-#| msgid "algorithm: %s"
+#, c-format
 msgid "algorithm:"
-msgstr "算法: %s"
+msgstr "算法:"
 
-#: sm/verify.c:535
+#: sm/verify.c:536
 #, c-format
 msgid ""
 "invalid signature: message digest attribute does not match computed one\n"
 msgstr "无效的签名:消息摘要属性与计算得到的不匹配\n"
 
-#: sm/verify.c:656
+#: sm/verify.c:657
 #, c-format
 msgid "Good signature from"
 msgstr "良好签名来自于"
 
-#: sm/verify.c:657
+#: sm/verify.c:658
 #, c-format
 msgid "                aka"
 msgstr "                亦即"
 
-#: sm/verify.c:675
+#: sm/verify.c:676
 #, c-format
 msgid "This is a qualified signature\n"
 msgstr "这是一个合格的签名\n"
@@ -9399,9 +9364,9 @@ msgid "error getting update times of CRL: %s\n"
 msgstr "从 CRL 获取更新次数时出现错误:%s\n"
 
 #: dirmngr/crlcache.c:1893
-#, fuzzy, c-format
+#, c-format
 msgid "update times of this CRL: this=%s next=%s\n"
-msgstr "æ­¤ CRL ç\9a\84æ\9b´æ\96°æ\97¶é\97´ï¼\9a此次=%s ä¸\8bä¸\80次=%s\n"
+msgstr "æ­¤ CRL ç\9a\84æ\9b´æ\96°æ\97¶é\97´ï¼\9aæ\9c¬æ¬¡=%s ä¸\8b次=%s\n"
 
 #: dirmngr/crlcache.c:1897
 #, c-format
@@ -9569,14 +9534,14 @@ msgid "crl_fetch via DP failed: %s\n"
 msgstr "通过 DP 的 crl_fetch 方法失败:%s\n"
 
 #: dirmngr/crlcache.c:2683
-#, fuzzy, c-format
+#, c-format
 msgid "crl_cache_insert via DP failed: %s\n"
-msgstr "通过 DP 的 crl_cache_insert 方法失败:%s\n"
+msgstr "通过 DP 进行 crl_cache_insert 失败:%s\n"
 
 #: dirmngr/crlcache.c:2743
-#, fuzzy, c-format
+#, c-format
 msgid "crl_cache_insert via issuer failed: %s\n"
-msgstr "通过签发者的 crl_cache_insert 失败:%s\n"
+msgstr "通过发布者进行 crl_cache_insert 失败:%s\n"
 
 #: dirmngr/crlfetch.c:75
 #, c-format
@@ -9595,7 +9560,7 @@ msgid "error retrieving '%s': %s\n"
 msgstr "拉取‘%s’时出现错误:%s\n"
 
 #: dirmngr/crlfetch.c:218 dirmngr/ldap-wrapper-ce.c:492
-#: dirmngr/ldap-wrapper.c:884 dirmngr/misc.c:573
+#: dirmngr/ldap-wrapper.c:885 dirmngr/misc.c:573
 #, c-format
 msgid "error initializing reader object: %s\n"
 msgstr "初始化读取对象时出现错误:%s\n"
@@ -9751,112 +9716,112 @@ msgstr "需要绝对文件名\n"
 msgid "looking up '%s'\n"
 msgstr "正在查找‘%s’\n"
 
-#: dirmngr/dirmngr.c:170
+#: dirmngr/dirmngr.c:171
 msgid "list the contents of the CRL cache"
 msgstr "列出 CRL 缓存的内容"
 
-#: dirmngr/dirmngr.c:171
+#: dirmngr/dirmngr.c:172
 msgid "|FILE|load CRL from FILE into cache"
 msgstr "|FILE|从 FILE 中加载 CRL 到缓存"
 
-#: dirmngr/dirmngr.c:172
+#: dirmngr/dirmngr.c:173
 msgid "|URL|fetch a CRL from URL"
 msgstr "|URL|从 URL 处获取 CRL"
 
-#: dirmngr/dirmngr.c:173
+#: dirmngr/dirmngr.c:174
 msgid "shutdown the dirmngr"
 msgstr "关闭 dirmngr"
 
-#: dirmngr/dirmngr.c:174
+#: dirmngr/dirmngr.c:175
 msgid "flush the cache"
 msgstr "刷新缓存"
 
-#: dirmngr/dirmngr.c:190 tools/gpgconf-comp.c:522 tools/gpgconf-comp.c:741
-#: tools/gpgconf-comp.c:854 tools/gpgconf-comp.c:950
+#: dirmngr/dirmngr.c:191 tools/gpgconf-comp.c:522 tools/gpgconf-comp.c:745
+#: tools/gpgconf-comp.c:858 tools/gpgconf-comp.c:954
 msgid "|FILE|write server mode logs to FILE"
 msgstr "|FILE|将服务器模式的日志写入到 FILE"
 
-#: dirmngr/dirmngr.c:191
+#: dirmngr/dirmngr.c:192
 msgid "run without asking a user"
 msgstr "在不询问用户的情况下运行"
 
-#: dirmngr/dirmngr.c:192
+#: dirmngr/dirmngr.c:193
 msgid "force loading of outdated CRLs"
 msgstr "强制载入过期的 CRLs"
 
-#: dirmngr/dirmngr.c:193
+#: dirmngr/dirmngr.c:194
 msgid "allow sending OCSP requests"
 msgstr "允许发送 OCSP 请求"
 
-#: dirmngr/dirmngr.c:195
+#: dirmngr/dirmngr.c:196
 msgid "allow online software version check"
 msgstr "允许在线软件版本检查"
 
-#: dirmngr/dirmngr.c:196
+#: dirmngr/dirmngr.c:197
 msgid "inhibit the use of HTTP"
 msgstr "抑制 HTTP 的使用"
 
-#: dirmngr/dirmngr.c:197
+#: dirmngr/dirmngr.c:198
 msgid "inhibit the use of LDAP"
 msgstr "抑制 LDAP 的使用"
 
-#: dirmngr/dirmngr.c:199
+#: dirmngr/dirmngr.c:200
 msgid "ignore HTTP CRL distribution points"
 msgstr "忽略 HTTP CRL 分发点"
 
-#: dirmngr/dirmngr.c:201
+#: dirmngr/dirmngr.c:202
 msgid "ignore LDAP CRL distribution points"
 msgstr "忽略 LDAP CRL 分发点"
 
-#: dirmngr/dirmngr.c:203
+#: dirmngr/dirmngr.c:204
 msgid "ignore certificate contained OCSP service URLs"
 msgstr "忽略证书包含的 OCSP 服务 URLs"
 
-#: dirmngr/dirmngr.c:206
+#: dirmngr/dirmngr.c:207
 msgid "|URL|redirect all HTTP requests to URL"
 msgstr "|URL|重定向 HTTP 请求到 URL"
 
-#: dirmngr/dirmngr.c:208
+#: dirmngr/dirmngr.c:209
 msgid "|HOST|use HOST for LDAP queries"
 msgstr "|HOST|使用 HOST 进行 LDAP 查询"
 
-#: dirmngr/dirmngr.c:210
+#: dirmngr/dirmngr.c:211
 msgid "do not use fallback hosts with --ldap-proxy"
 msgstr "使用 --ldap-proxy 选项以不使用回退主机"
 
-#: dirmngr/dirmngr.c:213
+#: dirmngr/dirmngr.c:216
 msgid "|FILE|read LDAP server list from FILE"
 msgstr "|FILE|从 FILE 中读取 LDAP 服务器列表"
 
-#: dirmngr/dirmngr.c:215
+#: dirmngr/dirmngr.c:218
 msgid "add new servers discovered in CRL distribution points to serverlist"
 msgstr "添加从 CRL 分发点发现的新服务器到服务器列表"
 
-#: dirmngr/dirmngr.c:218 dirmngr/dirmngr_ldap.c:137
+#: dirmngr/dirmngr.c:221
 msgid "|N|set LDAP timeout to N seconds"
 msgstr "|N|设置 LDAP 超时时间为 N 秒"
 
-#: dirmngr/dirmngr.c:221
+#: dirmngr/dirmngr.c:224
 msgid "|URL|use OCSP responder at URL"
 msgstr "|URL|使用 URL 处的 OCSP 响应者"
 
-#: dirmngr/dirmngr.c:223
+#: dirmngr/dirmngr.c:226
 msgid "|FPR|OCSP response signed by FPR"
 msgstr "|FPR|OCSP 响应由 FPR 签名"
 
-#: dirmngr/dirmngr.c:229
+#: dirmngr/dirmngr.c:232
 msgid "|N|do not return more than N items in one query"
 msgstr "|N|在一次查询中最多返回 N 个项目"
 
-#: dirmngr/dirmngr.c:234
+#: dirmngr/dirmngr.c:237
 msgid "|FILE|use the CA certificates in FILE for HKP over TLS"
 msgstr "|FILE|为承载 HKP 的 TLS 使用 FILE 中的 CA 证书"
 
-#: dirmngr/dirmngr.c:236
+#: dirmngr/dirmngr.c:239
 msgid "route all network traffic via Tor"
 msgstr "通过 Tor 转发所有网络流量"
 
-#: dirmngr/dirmngr.c:265
+#: dirmngr/dirmngr.c:268
 msgid ""
 "@\n"
 "(See the \"info\" manual for a complete listing of all commands and "
@@ -9865,11 +9830,11 @@ msgstr ""
 "@\n"
 "(参阅 \"info\" 手册以获取一份所有命令及选项的完整列表)\n"
 
-#: dirmngr/dirmngr.c:407
+#: dirmngr/dirmngr.c:415
 msgid "Usage: @DIRMNGR@ [options] (-h for help)"
 msgstr "用法:@DIRMNGR@ [选项] (-h 获取帮助)"
 
-#: dirmngr/dirmngr.c:409
+#: dirmngr/dirmngr.c:417
 msgid ""
 "Syntax: @DIRMNGR@ [options] [command [args]]\n"
 "Keyserver, CRL, and OCSP access for @GNUPG@\n"
@@ -9877,273 +9842,106 @@ msgstr ""
 "语法:@DIRMNGR@ [选项] [命令 [参数]]\n"
 "@GNUPG@ 的公钥服务器、CRL 和 OCSP 访问\n"
 
-#: dirmngr/dirmngr.c:489
+#: dirmngr/dirmngr.c:497
 #, c-format
 msgid "valid debug levels are: %s\n"
 msgstr "有效的调试等级为:%s\n"
 
-#: dirmngr/dirmngr.c:575 tools/gpgconf.c:647 tools/gpgconf.c:682
+#: dirmngr/dirmngr.c:583 tools/gpgconf.c:647 tools/gpgconf.c:682
 #: tools/gpgconf.c:780
 #, c-format
 msgid "usage: %s [options] "
 msgstr "用法:%s [选项] "
 
-#: dirmngr/dirmngr.c:1212
+#: dirmngr/dirmngr.c:1249
 #, c-format
 msgid "colons are not allowed in the socket name\n"
 msgstr "套接字名称中不允许使用冒号\n"
 
-#: dirmngr/dirmngr.c:1444 dirmngr/server.c:1824
+#: dirmngr/dirmngr.c:1481 dirmngr/server.c:1878
 #, c-format
 msgid "fetching CRL from '%s' failed: %s\n"
 msgstr "从‘%s’处获取 CRL 时失败:%s\n"
 
-#: dirmngr/dirmngr.c:1450 dirmngr/server.c:1830
+#: dirmngr/dirmngr.c:1487 dirmngr/server.c:1884
 #, c-format
 msgid "processing CRL from '%s' failed: %s\n"
 msgstr "从‘%s’处处理 CRL 时失败:%s\n"
 
-#: dirmngr/dirmngr.c:1645
+#: dirmngr/dirmngr.c:1682
 #, c-format
 msgid "%s:%u: line too long - skipped\n"
 msgstr "%s:%u: 行太长 - 跳过\n"
 
-#: dirmngr/dirmngr.c:1700 dirmngr/dirmngr.c:1784
+#: dirmngr/dirmngr.c:1737 dirmngr/dirmngr.c:1821
 #, c-format
 msgid "%s:%u: invalid fingerprint detected\n"
 msgstr "%s:%u: 检测到无效指纹\n"
 
-#: dirmngr/dirmngr.c:1736 dirmngr/dirmngr.c:1762 tools/gpgconf-comp.c:4191
+#: dirmngr/dirmngr.c:1773 dirmngr/dirmngr.c:1799 tools/gpgconf-comp.c:4199
 #, c-format
 msgid "%s:%u: read error: %s\n"
 msgstr "%s:%u: 读取错误:%s\n"
 
-#: dirmngr/dirmngr.c:1791
+#: dirmngr/dirmngr.c:1828
 #, c-format
 msgid "%s:%u: garbage at end of line ignored\n"
 msgstr "%s:%u: 已忽略行尾部的垃圾数据\n"
 
-#: dirmngr/dirmngr.c:1860
+#: dirmngr/dirmngr.c:1897
 #, c-format
 msgid "SIGHUP received - re-reading configuration and flushing caches\n"
 msgstr "接收到 SIGHUP 信号 -正在重新读取配置文件并刷新缓存\n"
 
-#: dirmngr/dirmngr.c:1900
+#: dirmngr/dirmngr.c:1937
 #, c-format
 msgid "SIGUSR2 received - no action defined\n"
 msgstr "接收到 SIGUSR2 信号 - 未定义要进行的操作\n"
 
-#: dirmngr/dirmngr.c:1905
+#: dirmngr/dirmngr.c:1942
 #, c-format
 msgid "SIGTERM received - shutting down ...\n"
 msgstr "接收到 SIGTERM 信号 - 正在关闭...\n"
 
-#: dirmngr/dirmngr.c:1907
+#: dirmngr/dirmngr.c:1944
 #, c-format
 msgid "SIGTERM received - still %d active connections\n"
 msgstr "接收到 SIGTERM 信号 - 仍然有 %d 个活动的连接\n"
 
-#: dirmngr/dirmngr.c:1912
+#: dirmngr/dirmngr.c:1949
 #, c-format
 msgid "shutdown forced\n"
 msgstr "强制关闭\n"
 
-#: dirmngr/dirmngr.c:1920
+#: dirmngr/dirmngr.c:1957
 #, c-format
 msgid "SIGINT received - immediate shutdown\n"
 msgstr "收到 SIGINT 信号 - 立即关闭\n"
 
-#: dirmngr/dirmngr.c:1927
+#: dirmngr/dirmngr.c:1964
 #, c-format
 msgid "signal %d received - no action defined\n"
 msgstr "收到 %d 信号 - 未定义要进行的操作\n"
 
-#: dirmngr/dirmngr_ldap.c:138
-msgid "return all values in a record oriented format"
-msgstr "以记录导向的格式返回所有值"
-
-#: dirmngr/dirmngr_ldap.c:141
-msgid "|NAME|ignore host part and connect through NAME"
-msgstr "|NAME|忽略主机部分并通过 NAME 进行连接"
-
-#: dirmngr/dirmngr_ldap.c:142
-msgid "|NAME|connect to host NAME"
-msgstr "|NAME|连接到以 NAME 命名的主机"
-
-#: dirmngr/dirmngr_ldap.c:143
-msgid "|N|connect to port N"
-msgstr "|N|连接到端口 N"
-
-#: dirmngr/dirmngr_ldap.c:144
-msgid "|NAME|use user NAME for authentication"
-msgstr "|NAME|使用用户名称 NAME 进行身份验证"
-
-#: dirmngr/dirmngr_ldap.c:145
-msgid "|PASS|use password PASS for authentication"
-msgstr "|PASS|使用密码 PASS 进行身份验证"
-
-#: dirmngr/dirmngr_ldap.c:147
-msgid "take password from $DIRMNGR_LDAP_PASS"
-msgstr "从 $DIRMNGR_LDAP_PASS 取得密码"
-
-#: dirmngr/dirmngr_ldap.c:148
-msgid "|STRING|query DN STRING"
-msgstr "|STRING|查询 DN STRING"
-
-#: dirmngr/dirmngr_ldap.c:149
-msgid "|STRING|use STRING as filter expression"
-msgstr "|STRING|使用 STRING 作为过滤器扩展"
-
-#: dirmngr/dirmngr_ldap.c:150
-msgid "|STRING|return the attribute STRING"
-msgstr "|STRING|返回属性 STRING"
-
-#: dirmngr/dirmngr_ldap.c:211
-msgid "Usage: dirmngr_ldap [options] [URL] (-h for help)\n"
-msgstr "用法: dirmngr_ldap [选项] [URL] (-h 获取帮助)\n"
-
-#: dirmngr/dirmngr_ldap.c:214
-msgid ""
-"Syntax: dirmngr_ldap [options] [URL]\n"
-"Internal LDAP helper for Dirmngr\n"
-"Interface and options may change without notice\n"
-msgstr ""
-"语法:dirmngr_ldap [选项] [URL]\n"
-"Dirmngr 的内部 LDAP 助手\n"
-"接口和选项可能在没有通知的情况下改变\n"
-
-#: dirmngr/dirmngr_ldap.c:340
-#, c-format
-msgid "invalid port number %d\n"
-msgstr "无效的端口号 %d\n"
-
-#: dirmngr/dirmngr_ldap.c:456
-#, c-format
-msgid "scanning result for attribute '%s'\n"
-msgstr "为属性‘%s’搜索结果\n"
-
-#: dirmngr/dirmngr_ldap.c:463 dirmngr/dirmngr_ldap.c:546
-#: dirmngr/dirmngr_ldap.c:570 dirmngr/dirmngr_ldap.c:582
-#: dirmngr/dirmngr_ldap.c:720
-#, c-format
-msgid "error writing to stdout: %s\n"
-msgstr "写入到标准输出(stdout)时出现错误:%s\n"
-
-#: dirmngr/dirmngr_ldap.c:480
-#, c-format
-msgid "          available attribute '%s'\n"
-msgstr "          可用属性‘%s’\n"
-
-#: dirmngr/dirmngr_ldap.c:518
-#, c-format
-msgid "attribute '%s' not found\n"
-msgstr "属性‘%s’未找到\n"
-
-#: dirmngr/dirmngr_ldap.c:525
-#, c-format
-msgid "found attribute '%s'\n"
-msgstr "找到属性‘%s’\n"
-
-#: dirmngr/dirmngr_ldap.c:634
-#, c-format
-msgid "processing url '%s'\n"
-msgstr "正在处理 URL ‘%s’\n"
-
-#: dirmngr/dirmngr_ldap.c:636
-#, c-format
-msgid "          user '%s'\n"
-msgstr "          用户‘%s’\n"
-
-#: dirmngr/dirmngr_ldap.c:638
-#, c-format
-msgid "          pass '%s'\n"
-msgstr "          密码‘%s’\n"
-
-#: dirmngr/dirmngr_ldap.c:640
-#, c-format
-msgid "          host '%s'\n"
-msgstr "          主机‘%s’\n"
-
-#: dirmngr/dirmngr_ldap.c:641
-#, c-format
-msgid "          port %d\n"
-msgstr "          端口 %d\n"
-
-#: dirmngr/dirmngr_ldap.c:643
-#, c-format
-msgid "            DN '%s'\n"
-msgstr "            DN ‘%s’\n"
-
-#: dirmngr/dirmngr_ldap.c:645
-#, c-format
-msgid "        filter '%s'\n"
-msgstr "        过滤器 ‘%s’\n"
-
-#: dirmngr/dirmngr_ldap.c:650 dirmngr/dirmngr_ldap.c:653
-#, c-format
-msgid "          attr '%s'\n"
-msgstr "          属性 ‘%s’\n"
-
-#: dirmngr/dirmngr_ldap.c:659
-#, c-format
-msgid "no host name in '%s'\n"
-msgstr "‘%s’中没有主机名\n"
-
-#: dirmngr/dirmngr_ldap.c:664
-#, c-format
-msgid "no attribute given for query '%s'\n"
-msgstr "未指定查询‘%s’的属性\n"
-
-#: dirmngr/dirmngr_ldap.c:670
-#, c-format
-msgid "WARNING: using first attribute only\n"
-msgstr "警告:仅使用第一个属性\n"
-
-#: dirmngr/dirmngr_ldap.c:679
-#, c-format
-msgid "LDAP init to '%s:%d' failed: %s\n"
-msgstr "LDAP 初始化至 ‘%s:%d’ 时失败:%s\n"
-
-#: dirmngr/dirmngr_ldap.c:702
-#, c-format
-msgid "binding to '%s:%d' failed: %s\n"
-msgstr "绑定至‘%s:%d’时失败:%s\n"
-
-#: dirmngr/dirmngr_ldap.c:729
-#, c-format
-msgid "searching '%s' failed: %s\n"
-msgstr "搜索‘%s’时失败:%s\n"
-
-#: dirmngr/dirmngr_ldap.c:761
-#, c-format
-msgid "'%s' is not an LDAP URL\n"
-msgstr "‘%s’不是一个 LDAP URL\n"
-
-#: dirmngr/dirmngr_ldap.c:767
-#, c-format
-msgid "'%s' is an invalid LDAP URL\n"
-msgstr "‘%s’是一个无效的 LDAP URL\n"
-
-#: dirmngr/http.c:1987 dirmngr/ocsp.c:255
+#: dirmngr/http.c:1993 dirmngr/ocsp.c:255
 #, c-format
 msgid "error accessing '%s': http status %u\n"
 msgstr "访问‘%s’时出现错误:http 状态码 %u\n"
 
-#: dirmngr/http.c:3629 dirmngr/ocsp.c:229
+#: dirmngr/http.c:3644 dirmngr/ocsp.c:229
 #, c-format
 msgid "URL '%s' redirected to '%s' (%u)\n"
 msgstr "URL '%s' 重定向到 '%s' (%u)\n"
 
-#: dirmngr/http.c:3635 dirmngr/ocsp.c:246
+#: dirmngr/http.c:3650 dirmngr/ocsp.c:246
 #, c-format
 msgid "too many redirections\n"
 msgstr "过多重定向\n"
 
-#: dirmngr/http.c:3747
-#, fuzzy, c-format
-#| msgid "writing to '%s'\n"
+#: dirmngr/http.c:3762
+#, c-format
 msgid "redirection changed to '%s'\n"
-msgstr "正在写入‘%s’\n"
+msgstr "重定向更改到 “%s”\n"
 
 #: dirmngr/ldap-wrapper.c:237
 #, c-format
@@ -10180,31 +9978,51 @@ msgstr "等待 ldap wrapper %d 时失败:%s\n"
 msgid "ldap wrapper %d stalled - killing\n"
 msgstr "ldap wrapper %d 已挂起 - 正在关闭\n"
 
-#: dirmngr/ldap.c:91
+#: dirmngr/ldap.c:92
 #, c-format
 msgid "invalid char 0x%02x in host name - not added\n"
 msgstr "主机名中存在无效字符 0x%02x - 未被添加\n"
 
-#: dirmngr/ldap.c:95
+#: dirmngr/ldap.c:96
 #, c-format
 msgid "adding '%s:%d' to the ldap server list\n"
 msgstr "正在将‘%s:%d’添加至 ldap 服务器列表\n"
 
-#: dirmngr/ldap.c:98 dirmngr/misc.c:512
+#: dirmngr/ldap.c:99 dirmngr/misc.c:512
 #, c-format
 msgid "malloc failed: %s\n"
 msgstr "malloc 方法失败:%s\n"
 
-#: dirmngr/ldap.c:627
+#: dirmngr/ldap.c:221
+#, c-format
+msgid "'%s' is not an LDAP URL\n"
+msgstr "‘%s’不是一个 LDAP URL\n"
+
+#: dirmngr/ldap.c:227 dirmngr/ldap.c:233
 #, c-format
-msgid "start_cert_fetch: invalid pattern '%s'\n"
-msgstr "start_cert_fetch:无效的模式‘%s’\n"
+msgid "'%s' is an invalid LDAP URL\n"
+msgstr "‘%s’是一个无效的 LDAP URL\n"
 
-#: dirmngr/ldap.c:839
+#: dirmngr/ldap.c:969
 #, c-format
 msgid "ldap_search hit the size limit of the server\n"
 msgstr "ldap_search 方法触及服务器的大小限制\n"
 
+#: dirmngr/ldapserver.c:117
+#, c-format
+msgid "%s:%u: password given without user\n"
+msgstr "%s:%u: 给定密码但未给定用户\n"
+
+#: dirmngr/ldapserver.c:181
+#, c-format
+msgid "%s:%u: ignoring unknown flag '%s'\n"
+msgstr ""
+
+#: dirmngr/ldapserver.c:203
+#, c-format
+msgid "%s:%u: skipping this line\n"
+msgstr "%s:%u: 正在跳过此行\n"
+
 #: dirmngr/misc.c:172
 #, c-format
 msgid "invalid canonical S-expression found\n"
@@ -10384,71 +10202,67 @@ msgstr "OCSP 返回了一个太以前的状态\n"
 msgid "assuan_inquire(%s) failed: %s\n"
 msgstr "assuan_inquire(%s) 方法失败:%s\n"
 
-#: dirmngr/server.c:1158
-msgid "ldapserver missing"
-msgstr "ldapserver 缺失"
-
-#: dirmngr/server.c:1224
+#: dirmngr/server.c:1277
 msgid "serialno missing in cert ID"
 msgstr "证书 ID 中的序列号缺失"
 
-#: dirmngr/server.c:1387 dirmngr/server.c:1473 dirmngr/server.c:1909
-#: dirmngr/server.c:1980 dirmngr/server.c:2552 dirmngr/server.c:2567
+#: dirmngr/server.c:1440 dirmngr/server.c:1526 dirmngr/server.c:1963
+#: dirmngr/server.c:2034 dirmngr/server.c:2662 dirmngr/server.c:2677
 #, c-format
 msgid "assuan_inquire failed: %s\n"
 msgstr "assuan_inquire 方法失败:%s\n"
 
-#: dirmngr/server.c:1516
+#: dirmngr/server.c:1569
 #, c-format
 msgid "fetch_cert_by_url failed: %s\n"
 msgstr "fetch_cert_by_url 方法失败:%s\n"
 
-#: dirmngr/server.c:1528 dirmngr/server.c:1559 dirmngr/server.c:1718
+#: dirmngr/server.c:1581 dirmngr/server.c:1612 dirmngr/server.c:1772
 #, c-format
 msgid "error sending data: %s\n"
 msgstr "发送数据时出现错误:%s\n"
 
-#: dirmngr/server.c:1666
+#: dirmngr/server.c:1720
 #, c-format
 msgid "start_cert_fetch failed: %s\n"
 msgstr "start_cert_fetch 方法失败:%s\n"
 
-#: dirmngr/server.c:1699
+#: dirmngr/server.c:1753
 #, c-format
 msgid "fetch_next_cert failed: %s\n"
 msgstr "fetch_next_cert 方法失败:%s\n"
 
-#: dirmngr/server.c:1726
+#: dirmngr/server.c:1780
 #, c-format
 msgid "max_replies %d exceeded\n"
 msgstr "超过设置的 max_replies %d\n"
 
-#: dirmngr/server.c:2856
+#: dirmngr/server.c:2966
 #, c-format
 msgid "can't allocate control structure: %s\n"
 msgstr "无法分配控制结构:%s\n"
 
-#: dirmngr/server.c:2867
+#: dirmngr/server.c:2977
 #, c-format
 msgid "failed to allocate assuan context: %s\n"
 msgstr "分配 assuan 上下文时失败:%s\n"
 
-#: dirmngr/server.c:2888
+#: dirmngr/server.c:2998
 #, c-format
 msgid "failed to initialize the server: %s\n"
 msgstr "初始化服务器时失败:%s\n"
 
-#: dirmngr/server.c:2896
+#: dirmngr/server.c:3006
 #, c-format
 msgid "failed to the register commands with Assuan: %s\n"
 msgstr "向 Assuan 注册命令时失败:%s\n"
 
-#: dirmngr/server.c:2929
+#: dirmngr/server.c:3039
 #, c-format
 msgid "Assuan accept problem: %s\n"
 msgstr "Assuan 接受出现问题:%s\n"
 
-#: dirmngr/server.c:2948
+#: dirmngr/server.c:3058
 #, c-format
 msgid "Assuan processing failed: %s\n"
 msgstr "Assuan 处理时失败:%s\n"
@@ -10585,21 +10399,21 @@ msgid "error sending standard options: %s\n"
 msgstr "发送标准选项时出现错误:%s\n"
 
 #: tools/gpgconf-comp.c:481 tools/gpgconf-comp.c:617 tools/gpgconf-comp.c:692
-#: tools/gpgconf-comp.c:804 tools/gpgconf-comp.c:906
+#: tools/gpgconf-comp.c:808 tools/gpgconf-comp.c:910
 msgid "Options controlling the diagnostic output"
 msgstr "控制诊断输出的选项"
 
 #: tools/gpgconf-comp.c:494 tools/gpgconf-comp.c:630 tools/gpgconf-comp.c:705
-#: tools/gpgconf-comp.c:817 tools/gpgconf-comp.c:929
+#: tools/gpgconf-comp.c:821 tools/gpgconf-comp.c:933
 msgid "Options controlling the configuration"
 msgstr "控制配置的选项"
 
-#: tools/gpgconf-comp.c:517 tools/gpgconf-comp.c:659 tools/gpgconf-comp.c:736
-#: tools/gpgconf-comp.c:849 tools/gpgconf-comp.c:942
+#: tools/gpgconf-comp.c:517 tools/gpgconf-comp.c:659 tools/gpgconf-comp.c:740
+#: tools/gpgconf-comp.c:853 tools/gpgconf-comp.c:946
 msgid "Options useful for debugging"
 msgstr "对调试有用的选项"
 
-#: tools/gpgconf-comp.c:530 tools/gpgconf-comp.c:669 tools/gpgconf-comp.c:862
+#: tools/gpgconf-comp.c:530 tools/gpgconf-comp.c:669 tools/gpgconf-comp.c:866
 msgid "Options controlling the security"
 msgstr "控制安全的选项"
 
@@ -10647,11 +10461,11 @@ msgstr "不允许再次使用旧的密码"
 msgid "|N|set the Pinentry timeout to N seconds"
 msgstr "|N|设置 Pinentry 的超时时间为 N 秒"
 
-#: tools/gpgconf-comp.c:707 tools/gpgconf-comp.c:819
+#: tools/gpgconf-comp.c:707 tools/gpgconf-comp.c:823
 msgid "|NAME|use NAME as default secret key"
 msgstr "|NAME|使用 NAME 作为默认的私钥"
 
-#: tools/gpgconf-comp.c:710 tools/gpgconf-comp.c:822
+#: tools/gpgconf-comp.c:710 tools/gpgconf-comp.c:826
 msgid "|NAME|encrypt to user ID NAME as well"
 msgstr "|NAME|同时给以 NAME 为名称的用户标识加密"
 
@@ -10659,133 +10473,127 @@ msgstr "|NAME|同时给以 NAME 为名称的用户标识加密"
 msgid "|SPEC|set up email aliases"
 msgstr "|SPEC|设置电子邮件别名"
 
-#: tools/gpgconf-comp.c:749 tools/gpgconf-comp.c:981
+#: tools/gpgconf-comp.c:753 tools/gpgconf-comp.c:985
 msgid "Configuration for Keyservers"
 msgstr "公钥服务器的配置"
 
-#: tools/gpgconf-comp.c:751 tools/gpgconf-comp.c:983
+#: tools/gpgconf-comp.c:755 tools/gpgconf-comp.c:987
 msgid "|URL|use keyserver at URL"
 msgstr "|URL|使用 URL 处的密钥服务器"
 
-#: tools/gpgconf-comp.c:754
+#: tools/gpgconf-comp.c:758
 msgid "allow PKA lookups (DNS requests)"
 msgstr "允许 PKA 查询(DNS 请求)"
 
-#: tools/gpgconf-comp.c:757
+#: tools/gpgconf-comp.c:761
 msgid "|MECHANISMS|use MECHANISMS to locate keys by mail address"
 msgstr "|MECHANISMS|通过邮件地址定位密钥时使用机制 MECHANISMS"
 
-#: tools/gpgconf-comp.c:760
-#, fuzzy
-#| msgid "import keys from a keyserver"
+#: tools/gpgconf-comp.c:764
 msgid "import missing key from a signature"
-msgstr "从公钥服务器上导入密钥"
+msgstr "从签名导入缺少的密钥"
 
-#: tools/gpgconf-comp.c:763
-#, fuzzy
-#| msgid "list and check key signatures"
+#: tools/gpgconf-comp.c:767
 msgid "include the public key in signatures"
-msgstr "å\88\97å\87ºå¹¶æ£\80æ\9f¥å¯\86é\92¥ç­¾å\90\8d"
+msgstr "å\9c¨ç­¾å\90\8d中å\8c\85å\90«å\85¬é\92¥"
 
-#: tools/gpgconf-comp.c:770 tools/gpgconf-comp.c:831
+#: tools/gpgconf-comp.c:774 tools/gpgconf-comp.c:835
 msgid "disable all access to the dirmngr"
 msgstr "禁用对 dirmngr 的所有访问"
 
-#: tools/gpgconf-comp.c:834
+#: tools/gpgconf-comp.c:838
 msgid "|NAME|use encoding NAME for PKCS#12 passphrases"
 msgstr "|NAME|对 PKCS#12 密码使用名为 NAME 的编码"
 
-#: tools/gpgconf-comp.c:870
+#: tools/gpgconf-comp.c:874
 msgid "do not check CRLs for root certificates"
 msgstr "不对根证书检查 CRLs"
 
-#: tools/gpgconf-comp.c:919
+#: tools/gpgconf-comp.c:923
 msgid "Options controlling the format of the output"
 msgstr "控制输出格式的选项"
 
-#: tools/gpgconf-comp.c:961
+#: tools/gpgconf-comp.c:965
 msgid "Options controlling the interactivity and enforcement"
 msgstr "控制交互性和执行的选项"
 
-#: tools/gpgconf-comp.c:974
+#: tools/gpgconf-comp.c:978
 msgid "Options controlling the use of Tor"
 msgstr "控制使用 Tor 的选项"
 
-#: tools/gpgconf-comp.c:988
+#: tools/gpgconf-comp.c:992
 msgid "Configuration for HTTP servers"
 msgstr "对 HTTP 服务器的配置"
 
-#: tools/gpgconf-comp.c:999
+#: tools/gpgconf-comp.c:1003
 msgid "use system's HTTP proxy setting"
 msgstr "使用系统的 HTTP 代理设置"
 
-#: tools/gpgconf-comp.c:1004
+#: tools/gpgconf-comp.c:1008
 msgid "Configuration of LDAP servers to use"
 msgstr "对要使用的 LDAP 服务器的配置"
 
-#: tools/gpgconf-comp.c:1033
+#: tools/gpgconf-comp.c:1037
 msgid "LDAP server list"
 msgstr "LDAP 服务器列表"
 
-#: tools/gpgconf-comp.c:1041
+#: tools/gpgconf-comp.c:1045
 msgid "Configuration for OCSP"
 msgstr "对于 OCSP 的配置"
 
-#: tools/gpgconf-comp.c:1094
+#: tools/gpgconf-comp.c:1098
 msgid "OpenPGP"
 msgstr "OpenPGP"
 
-#: tools/gpgconf-comp.c:1095
+#: tools/gpgconf-comp.c:1099
 msgid "Private Keys"
 msgstr "私钥"
 
-#: tools/gpgconf-comp.c:1096
+#: tools/gpgconf-comp.c:1100
 msgid "Smartcards"
 msgstr "智能卡"
 
-#: tools/gpgconf-comp.c:1097
+#: tools/gpgconf-comp.c:1101
 msgid "S/MIME"
 msgstr "S/MIME"
 
-#: tools/gpgconf-comp.c:1098
+#: tools/gpgconf-comp.c:1102
 msgid "Network"
 msgstr "网络"
 
-#: tools/gpgconf-comp.c:1099
+#: tools/gpgconf-comp.c:1103
 msgid "Passphrase Entry"
 msgstr "密码条目"
 
-#: tools/gpgconf-comp.c:1278
+#: tools/gpgconf-comp.c:1282
 msgid "Component not suitable for launching"
 msgstr "组件不适合启动"
 
-#: tools/gpgconf-comp.c:1284
-#, fuzzy, c-format
-#| msgid "External verification of component %s failed"
+#: tools/gpgconf-comp.c:1288
+#, c-format
 msgid "Configuration file of component %s is broken\n"
-msgstr "组件 %s 的外部验证失败"
+msgstr "组件 %s 的配置文件已损坏\n"
 
-#: tools/gpgconf-comp.c:1287
-#, fuzzy, c-format
-#| msgid "Note: Use the command \"%s\" to restart them.\n"
+#: tools/gpgconf-comp.c:1291
+#, c-format
 msgid "Note: Use the command \"%s%s\" to get details.\n"
-msgstr "注意: 使用 “%s” 来重启他们。\n"
+msgstr "注意:使用命令 “%s%s” 获取详情。\n"
 
-#: tools/gpgconf-comp.c:3446
+#: tools/gpgconf-comp.c:3454
 #, c-format
 msgid "External verification of component %s failed"
 msgstr "组件 %s 的外部验证失败"
 
-#: tools/gpgconf-comp.c:3597
+#: tools/gpgconf-comp.c:3605
 msgid "Note that group specifications are ignored\n"
 msgstr "注意,群组规范已被忽略\n"
 
-#: tools/gpgconf-comp.c:4195
+#: tools/gpgconf-comp.c:4203
 #, c-format
 msgid "error closing '%s'\n"
 msgstr "关闭‘%s’时出现错误\n"
 
-#: tools/gpgconf-comp.c:4197
+#: tools/gpgconf-comp.c:4205
 #, c-format
 msgid "error parsing '%s'\n"
 msgstr "处理‘%s’时出现错误\n"
@@ -10890,6 +10698,123 @@ msgstr ""
 "语法:gpg-check-pattern [选项] patternfile\n"
 "按照 patternfile 检查一个由标准输入(stdin)给定的密码\n"
 
+#~ msgid "requesting key %s from %s server %s\n"
+#~ msgstr "正在请求密钥 %s 从 %s 服务器 %s\n"
+
+#~ msgid "%s:%u: no hostname given\n"
+#~ msgstr "%s:%u: 未指定主机名\n"
+
+#~ msgid "could not parse keyserver\n"
+#~ msgstr "无法解析公钥服务器\n"
+
+#~ msgid "return all values in a record oriented format"
+#~ msgstr "以记录导向的格式返回所有值"
+
+#~ msgid "|NAME|ignore host part and connect through NAME"
+#~ msgstr "|NAME|忽略主机部分并通过 NAME 进行连接"
+
+#~ msgid "|NAME|connect to host NAME"
+#~ msgstr "|NAME|连接到以 NAME 命名的主机"
+
+#~ msgid "|N|connect to port N"
+#~ msgstr "|N|连接到端口 N"
+
+#~ msgid "|NAME|use user NAME for authentication"
+#~ msgstr "|NAME|使用用户名称 NAME 进行身份验证"
+
+#~ msgid "|PASS|use password PASS for authentication"
+#~ msgstr "|PASS|使用密码 PASS 进行身份验证"
+
+#~ msgid "take password from $DIRMNGR_LDAP_PASS"
+#~ msgstr "从 $DIRMNGR_LDAP_PASS 取得密码"
+
+#~ msgid "|STRING|query DN STRING"
+#~ msgstr "|STRING|查询 DN STRING"
+
+#~ msgid "|STRING|use STRING as filter expression"
+#~ msgstr "|STRING|使用 STRING 作为过滤器扩展"
+
+#~ msgid "|STRING|return the attribute STRING"
+#~ msgstr "|STRING|返回属性 STRING"
+
+#~ msgid "Usage: dirmngr_ldap [options] [URL] (-h for help)\n"
+#~ msgstr "用法: dirmngr_ldap [选项] [URL链接] (-h 获取帮助)\n"
+
+#~ msgid ""
+#~ "Syntax: dirmngr_ldap [options] [URL]\n"
+#~ "Internal LDAP helper for Dirmngr\n"
+#~ "Interface and options may change without notice\n"
+#~ msgstr ""
+#~ "语法:dirmngr_ldap [选项] [URL链接]\n"
+#~ "Dirmngr 的内部 LDAP 助手\n"
+#~ "接口和选项可能在没有通知的情况下改变\n"
+
+#~ msgid "invalid port number %d\n"
+#~ msgstr "无效的端口号 %d\n"
+
+#~ msgid "scanning result for attribute '%s'\n"
+#~ msgstr "为属性‘%s’搜索结果\n"
+
+#~ msgid "error writing to stdout: %s\n"
+#~ msgstr "写入到标准输出(stdout)时出现错误:%s\n"
+
+#~ msgid "          available attribute '%s'\n"
+#~ msgstr "          可用属性‘%s’\n"
+
+#~ msgid "attribute '%s' not found\n"
+#~ msgstr "属性‘%s’未找到\n"
+
+#~ msgid "found attribute '%s'\n"
+#~ msgstr "找到属性‘%s’\n"
+
+#~ msgid "processing url '%s'\n"
+#~ msgstr "正在处理 URL ‘%s’\n"
+
+#~ msgid "          user '%s'\n"
+#~ msgstr "          用户‘%s’\n"
+
+#~ msgid "          pass '%s'\n"
+#~ msgstr "          密码‘%s’\n"
+
+#~ msgid "          host '%s'\n"
+#~ msgstr "          主机‘%s’\n"
+
+#~ msgid "          port %d\n"
+#~ msgstr "          端口 %d\n"
+
+#~ msgid "            DN '%s'\n"
+#~ msgstr "            DN ‘%s’\n"
+
+#~ msgid "        filter '%s'\n"
+#~ msgstr "        过滤器 ‘%s’\n"
+
+#~ msgid "          attr '%s'\n"
+#~ msgstr "          属性 ‘%s’\n"
+
+#~ msgid "no host name in '%s'\n"
+#~ msgstr "‘%s’中没有主机名\n"
+
+#~ msgid "no attribute given for query '%s'\n"
+#~ msgstr "未指定查询‘%s’的属性\n"
+
+#~ msgid "WARNING: using first attribute only\n"
+#~ msgstr "警告:仅使用第一个属性\n"
+
+#~ msgid "LDAP init to '%s:%d' failed: %s\n"
+#~ msgstr "LDAP 初始化至 ‘%s:%d’ 时失败:%s\n"
+
+#~ msgid "binding to '%s:%d' failed: %s\n"
+#~ msgstr "绑定至‘%s:%d’时失败:%s\n"
+
+#~ msgid "searching '%s' failed: %s\n"
+#~ msgstr "搜索‘%s’时失败:%s\n"
+
+#~ msgid "start_cert_fetch: invalid pattern '%s'\n"
+#~ msgstr "start_cert_fetch:无效的模式‘%s’\n"
+
+#~ msgid "ldapserver missing"
+#~ msgstr "ldapserver 缺失"
+
 #~ msgid "Note: old default options file '%s' ignored\n"
 #~ msgstr "注意:旧的默认配置文件‘%s’已被忽略\n"
 
@@ -11011,22 +10936,6 @@ msgstr ""
 #~ msgid " using certificate ID 0x%08lX\n"
 #~ msgstr " 正在使用的证书标识 0x%08lX\n"
 
-#, fuzzy
-#~| msgid "option '%s' may not be used in %s mode\n"
-#~ msgid ""
-#~ "keyserver option \"honor-keyserver-url\" may not be used in Tor mode\n"
-#~ msgstr "选项 ‘%s’ 可能不能用于 %s 模式\n"
-
-#, fuzzy
-#~| msgid "No reason specified"
-#~ msgid "unspecified"
-#~ msgstr "未指定原因"
-
-#, fuzzy
-#~| msgid "change card holder's name"
-#~ msgid "change card holder's sex"
-#~ msgstr "更改卡持有人的姓名"
-
 #~ msgid "no keyserver known (use option --keyserver)\n"
 #~ msgstr "无已知的公钥服务器(使用 --keyserver 选项)\n"
 
index 5a01c80..5036736 100644 (file)
Binary files a/po/zh_TW.gmo and b/po/zh_TW.gmo differ
index 703cb77..708097c 100644 (file)
@@ -9,7 +9,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: GNU gnupg 2.1.0\n"
 "Report-Msgid-Bugs-To: translations@gnupg.org\n"
-"POT-Creation-Date: 2021-01-11 18:47+0100\n"
+"POT-Creation-Date: 2021-06-10 18:59+0200\n"
 "PO-Revision-Date: 2019-11-04 09:49+0100\n"
 "Last-Translator: Jedi Lin <Jedi@Jedi.org>\n"
 "Language-Team: Chinese (traditional) <zh-l10n@linux.org.tw>\n"
@@ -118,7 +118,7 @@ msgid "Passphrase:"
 msgstr "密語:"
 
 #: agent/call-pinentry.c:1107 agent/call-pinentry.c:1359
-#: agent/command-ssh.c:3130 agent/genkey.c:416
+#: agent/command-ssh.c:3140 agent/genkey.c:416
 msgid "does not match - try again"
 msgstr "前後不一致 - 請再試一次"
 
@@ -168,32 +168,32 @@ msgstr "不良的密語"
 msgid "ssh keys greater than %d bits are not supported\n"
 msgstr "未支援大於 %d 位元的 ssh 金鑰\n"
 
-#: agent/command-ssh.c:862 common/dotlock.c:852 g10/card-util.c:932
-#: g10/exec.c:546 g10/export.c:1320 g10/gpg.c:1352 g10/keygen.c:4998
-#: g10/keyring.c:1322 g10/keyring.c:1637 g10/openfile.c:291 g10/sign.c:1009
-#: g10/sign.c:1323 g10/tdbio.c:753
+#: agent/command-ssh.c:862 common/dotlock.c:852 g10/card-util.c:933
+#: g10/exec.c:554 g10/export.c:1320 g10/gpg.c:1360 g10/keygen.c:4998
+#: g10/keyring.c:1322 g10/keyring.c:1637 g10/openfile.c:291 g10/sign.c:1008
+#: g10/sign.c:1322 g10/tdbio.c:753
 #, c-format
 msgid "can't create '%s': %s\n"
 msgstr "無法建立 '%s': %s\n"
 
-#: agent/command-ssh.c:874 common/helpfile.c:57 g10/card-util.c:889
+#: agent/command-ssh.c:874 common/helpfile.c:57 g10/card-util.c:890
 #: g10/dearmor.c:59 g10/dearmor.c:106 g10/decrypt.c:65 g10/decrypt.c:136
-#: g10/decrypt.c:153 g10/encrypt.c:180 g10/encrypt.c:543 g10/gpg.c:1353
-#: g10/import.c:352 g10/import.c:536 g10/import.c:764 g10/keygen.c:4036
+#: g10/decrypt.c:153 g10/encrypt.c:180 g10/encrypt.c:543 g10/gpg.c:1361
+#: g10/import.c:364 g10/import.c:548 g10/import.c:776 g10/keygen.c:4036
 #: g10/keyring.c:1663 g10/openfile.c:195 g10/openfile.c:209 g10/plaintext.c:128
-#: g10/plaintext.c:649 g10/sign.c:991 g10/sign.c:1202 g10/sign.c:1307
-#: g10/sign.c:1452 g10/tdbdump.c:143 g10/tdbdump.c:151 g10/tdbio.c:758
-#: g10/tdbio.c:829 g10/verify.c:96 g10/verify.c:160 sm/gpgsm.c:2219
-#: sm/gpgsm.c:2249 sm/gpgsm.c:2287 sm/qualified.c:66 dirmngr/certcache.c:396
+#: g10/plaintext.c:649 g10/sign.c:990 g10/sign.c:1201 g10/sign.c:1306
+#: g10/sign.c:1451 g10/tdbdump.c:143 g10/tdbdump.c:151 g10/tdbio.c:758
+#: g10/tdbio.c:829 g10/verify.c:96 g10/verify.c:160 sm/gpgsm.c:2125
+#: sm/gpgsm.c:2155 sm/gpgsm.c:2193 sm/qualified.c:66 dirmngr/certcache.c:396
 #: dirmngr/certcache.c:476 dirmngr/certcache.c:478 dirmngr/crlcache.c:2588
-#: dirmngr/dirmngr.c:1722
+#: dirmngr/dirmngr.c:1759
 #, c-format
 msgid "can't open '%s': %s\n"
 msgstr "無法開啟 '%s': %s\n"
 
 #: agent/command-ssh.c:2385 agent/command-ssh.c:2431 agent/command-ssh.c:2449
-#: agent/command-ssh.c:2601 g10/card-util.c:687 g10/card-util.c:708
-#: g10/skclist.c:430
+#: agent/command-ssh.c:2601 g10/card-util.c:688 g10/card-util.c:709
+#: g10/skclist.c:435
 #, c-format
 msgid "error getting serial number of card: %s\n"
 msgstr "取得此卡片序號時出錯: %s\n"
@@ -219,7 +219,7 @@ msgstr "找不到合適的卡片金鑰: %s\n"
 msgid "error getting list of cards: %s\n"
 msgstr "取得已存放的旗標時出錯: %s\n"
 
-#: agent/command-ssh.c:2765
+#: agent/command-ssh.c:2775
 #, c-format
 msgid ""
 "An ssh process requested the use of key%%0A  %s%%0A  (%s)%%0ADo you want to "
@@ -227,24 +227,24 @@ msgid ""
 msgstr ""
 "有某個 ssh 程序提出使用金鑰 %%0A  %s%%0A  (%s)%%0A 之請求, 請問是否允許?"
 
-#: agent/command-ssh.c:2772
+#: agent/command-ssh.c:2782
 msgid "Allow"
 msgstr "允許"
 
-#: agent/command-ssh.c:2772
+#: agent/command-ssh.c:2782
 msgid "Deny"
 msgstr "拒絕"
 
-#: agent/command-ssh.c:2781
+#: agent/command-ssh.c:2791
 #, c-format
 msgid "Please enter the passphrase for the ssh key%%0A  %F%%0A  (%c)"
 msgstr "請輸入此 ssh 金鑰的密語 %%0A  %F%%0A  (%c)"
 
-#: agent/command-ssh.c:3058 agent/genkey.c:351
+#: agent/command-ssh.c:3068 agent/genkey.c:351
 msgid "Please re-enter this passphrase"
 msgstr "請再次輸入密語"
 
-#: agent/command-ssh.c:3085
+#: agent/command-ssh.c:3095
 #, c-format
 msgid ""
 "Please enter a passphrase to protect the received secret key%%0A   %s%%0A   "
@@ -252,7 +252,7 @@ msgid ""
 msgstr ""
 "請輸入密語以保護收到的私鑰 %%0A   %s%%0A   %s%%0A 於 gpg-agent 的金鑰存放處"
 
-#: agent/command-ssh.c:3667
+#: agent/command-ssh.c:3677
 #, c-format
 msgid "failed to create stream from socket: %s\n"
 msgstr "從 socket 建立串流失敗: %s\n"
@@ -396,47 +396,45 @@ msgstr ""
 "@選項:\n"
 " "
 
-#: agent/gpg-agent.c:165 scd/scdaemon.c:120 dirmngr/dirmngr.c:166
+#: agent/gpg-agent.c:165 scd/scdaemon.c:120 dirmngr/dirmngr.c:167
 msgid "run in daemon mode (background)"
 msgstr "以服務模式執行 (背景)"
 
-#: agent/gpg-agent.c:166 scd/scdaemon.c:117 dirmngr/dirmngr.c:165
+#: agent/gpg-agent.c:166 scd/scdaemon.c:117 dirmngr/dirmngr.c:166
 msgid "run in server mode (foreground)"
 msgstr "以伺服器模式執行 (前景)"
 
-#: agent/gpg-agent.c:168 dirmngr/dirmngr.c:168
+#: agent/gpg-agent.c:168 dirmngr/dirmngr.c:169
 #, fuzzy
 #| msgid "run in server mode"
 msgid "run in supervised mode"
 msgstr "以伺服器模式執行"
 
-#: agent/gpg-agent.c:170 g10/gpg.c:608 g10/gpgv.c:78 kbx/kbxutil.c:88
-#: scd/scdaemon.c:121 sm/gpgsm.c:310 dirmngr/dirmngr-client.c:70
-#: dirmngr/dirmngr.c:181 dirmngr/dirmngr_ldap.c:135
-#: tools/gpg-connect-agent.c:78 tools/gpgconf.c:108
+#: agent/gpg-agent.c:170 g10/gpg.c:605 g10/gpgv.c:78 kbx/kbxutil.c:88
+#: scd/scdaemon.c:121 sm/gpgsm.c:311 dirmngr/dirmngr-client.c:70
+#: dirmngr/dirmngr.c:182 tools/gpg-connect-agent.c:78 tools/gpgconf.c:108
 msgid "verbose"
 msgstr "囉唆模式"
 
 #: agent/gpg-agent.c:171 g10/gpgv.c:79 kbx/kbxutil.c:89 scd/scdaemon.c:122
-#: sm/gpgsm.c:311 dirmngr/dirmngr-client.c:71 dirmngr/dirmngr.c:182
-#: dirmngr/dirmngr_ldap.c:136
+#: sm/gpgsm.c:312 dirmngr/dirmngr-client.c:71 dirmngr/dirmngr.c:183
 msgid "be somewhat more quiet"
 msgstr "盡量安靜些"
 
-#: agent/gpg-agent.c:172 scd/scdaemon.c:123 dirmngr/dirmngr.c:183
+#: agent/gpg-agent.c:172 scd/scdaemon.c:123 dirmngr/dirmngr.c:184
 msgid "sh-style command output"
 msgstr "sh 樣式的指令輸出"
 
-#: agent/gpg-agent.c:173 scd/scdaemon.c:124 dirmngr/dirmngr.c:184
+#: agent/gpg-agent.c:173 scd/scdaemon.c:124 dirmngr/dirmngr.c:185
 msgid "csh-style command output"
 msgstr "csh 樣式的指令輸出"
 
-#: agent/gpg-agent.c:174 scd/scdaemon.c:125 sm/gpgsm.c:341
-#: dirmngr/dirmngr.c:185
+#: agent/gpg-agent.c:174 scd/scdaemon.c:125 sm/gpgsm.c:344
+#: dirmngr/dirmngr.c:186
 msgid "|FILE|read options from FILE"
 msgstr "|檔案|從指定檔案中讀取選項"
 
-#: agent/gpg-agent.c:183 scd/scdaemon.c:135 dirmngr/dirmngr.c:188
+#: agent/gpg-agent.c:183 scd/scdaemon.c:135 dirmngr/dirmngr.c:189
 msgid "do not detach from the console"
 msgstr "不要從 console 分離"
 
@@ -516,9 +514,9 @@ msgstr "啟用 putty 支援"
 #. reporting address.  This is so that we can change the
 #. reporting address without breaking the translations.
 #: agent/gpg-agent.c:531 agent/preset-passphrase.c:100 agent/protect-tool.c:155
-#: g10/gpg.c:1070 g10/gpgv.c:149 kbx/kbxutil.c:113 scd/scdaemon.c:298
-#: sm/gpgsm.c:567 dirmngr/dirmngr-client.c:168 dirmngr/dirmngr.c:404
-#: dirmngr/dirmngr_ldap.c:207 tools/gpg-connect-agent.c:205 tools/gpgconf.c:146
+#: g10/gpg.c:1074 g10/gpgv.c:149 kbx/kbxutil.c:113 scd/scdaemon.c:299
+#: sm/gpgsm.c:570 dirmngr/dirmngr-client.c:168 dirmngr/dirmngr.c:412
+#: tools/gpg-connect-agent.c:205 tools/gpgconf.c:146
 #: tools/gpg-check-pattern.c:143
 msgid "Please report bugs to <@EMAIL@>.\n"
 msgstr "翻譯瑕疵請回報給 <Jedi@Jedi.org>, 程式瑕疵則請回報給 <@EMAIL@>.\n"
@@ -535,37 +533,37 @@ msgstr ""
 "語法: @GPG_AGENT@ [選項] [指令 [引數]]\n"
 "@GNUPG@ 私鑰管理\n"
 
-#: agent/gpg-agent.c:587 g10/gpg.c:1262 scd/scdaemon.c:370 sm/gpgsm.c:715
-#: dirmngr/dirmngr.c:488
+#: agent/gpg-agent.c:587 g10/gpg.c:1270 scd/scdaemon.c:371 sm/gpgsm.c:718
+#: dirmngr/dirmngr.c:496
 #, c-format
 msgid "invalid debug-level '%s' given\n"
 msgstr "給定的除錯等級 '%s' 無效\n"
 
-#: agent/gpg-agent.c:945 g10/gpg.c:3753 g10/gpg.c:3777 sm/gpgsm.c:1631
-#: sm/gpgsm.c:1637
+#: agent/gpg-agent.c:945 g10/gpg.c:3773 g10/gpg.c:3797 sm/gpgsm.c:1531
+#: sm/gpgsm.c:1537
 #, c-format
 msgid "selected digest algorithm is invalid\n"
 msgstr "所選的摘要演算法無效\n"
 
 #: agent/gpg-agent.c:1168 agent/gpg-agent.c:2023 common/argparse.c:1755
-#: common/argparse.c:1847 g10/gpg.c:2482 scd/scdaemon.c:532 sm/gpgsm.c:1063
-#: dirmngr/dirmngr.c:956 dirmngr/dirmngr.c:1841
+#: common/argparse.c:1847 g10/gpg.c:2495 scd/scdaemon.c:533 sm/gpgsm.c:977
+#: dirmngr/dirmngr.c:994 dirmngr/dirmngr.c:1878
 #, c-format
 msgid "reading options from '%s'\n"
 msgstr "從 '%s' 讀取選項中\n"
 
-#: agent/gpg-agent.c:1300 g10/gpg.c:3704 scd/scdaemon.c:655 sm/gpgsm.c:1571
-#: dirmngr/dirmngr.c:1067 tools/gpg-connect-agent.c:1244 tools/gpgconf.c:624
+#: agent/gpg-agent.c:1300 g10/gpg.c:3724 scd/scdaemon.c:657 sm/gpgsm.c:1471
+#: dirmngr/dirmngr.c:1102 tools/gpg-connect-agent.c:1244 tools/gpgconf.c:624
 #, c-format
 msgid "Note: '%s' is not considered an option\n"
 msgstr "請注意: '%s' 並不當成選項\n"
 
-#: agent/gpg-agent.c:2159 scd/scdaemon.c:1096 dirmngr/dirmngr.c:1219
+#: agent/gpg-agent.c:2159 scd/scdaemon.c:1098 dirmngr/dirmngr.c:1256
 #, c-format
 msgid "can't create socket: %s\n"
 msgstr "無法建立 socket: %s\n"
 
-#: agent/gpg-agent.c:2176 scd/scdaemon.c:1109 dirmngr/dirmngr.c:1232
+#: agent/gpg-agent.c:2176 scd/scdaemon.c:1111 dirmngr/dirmngr.c:1269
 #, c-format
 msgid "socket name '%s' is too long\n"
 msgstr "socket 名稱 '%s' 太長\n"
@@ -575,30 +573,30 @@ msgstr "socket 名稱 '%s' 太長\n"
 msgid "a gpg-agent is already running - not starting a new one\n"
 msgstr "已經有一份 gpg-agent 在執行了 - 不會再啟動一份新的\n"
 
-#: agent/gpg-agent.c:2226 scd/scdaemon.c:1133 dirmngr/dirmngr.c:1264
+#: agent/gpg-agent.c:2226 scd/scdaemon.c:1135 dirmngr/dirmngr.c:1301
 #, c-format
 msgid "error getting nonce for the socket\n"
 msgstr "為 socket 取得 nonce 時出錯\n"
 
-#: agent/gpg-agent.c:2231 scd/scdaemon.c:1136 dirmngr/dirmngr.c:1267
+#: agent/gpg-agent.c:2231 scd/scdaemon.c:1138 dirmngr/dirmngr.c:1304
 #, c-format
 msgid "error binding socket to '%s': %s\n"
 msgstr "綁定 socket 至 '%s' 時出錯: %s\n"
 
 #: agent/gpg-agent.c:2242 agent/gpg-agent.c:2282 agent/gpg-agent.c:2291
-#: scd/scdaemon.c:1144 dirmngr/dirmngr.c:1276
+#: scd/scdaemon.c:1146 dirmngr/dirmngr.c:1313
 #, fuzzy, c-format
 #| msgid "Warning: unsafe permissions on %s \"%s\"\n"
 msgid "can't set permissions of '%s': %s\n"
 msgstr "警告: %s 的權限 \"%s\" 並不安全\n"
 
-#: agent/gpg-agent.c:2256 scd/scdaemon.c:1156 dirmngr/dirmngr.c:1288
+#: agent/gpg-agent.c:2256 scd/scdaemon.c:1158 dirmngr/dirmngr.c:1325
 #, c-format
 msgid "listening on socket '%s'\n"
 msgstr "正在候聽 socket '%s'\n"
 
 #: agent/gpg-agent.c:2276 agent/gpg-agent.c:2329 common/homedir.c:517
-#: g10/exec.c:261 g10/openfile.c:397
+#: g10/exec.c:269 g10/openfile.c:397
 #, c-format
 msgid "can't create directory '%s': %s\n"
 msgstr "無法建立目錄 '%s': %s\n"
@@ -619,7 +617,7 @@ msgstr "'%s' 的 stat() 失敗: %s\n"
 msgid "can't use '%s' as home directory\n"
 msgstr "無法使用 '%s' 做為家目錄\n"
 
-#: agent/gpg-agent.c:2502 scd/scdaemon.c:1172 dirmngr/dirmngr.c:2047
+#: agent/gpg-agent.c:2502 scd/scdaemon.c:1174 dirmngr/dirmngr.c:2084
 #, c-format
 msgid "error reading nonce on fd %d: %s\n"
 msgstr "於 fd %d 讀取 nonce 時出錯: %s\n"
@@ -644,12 +642,12 @@ msgstr "ssh 經手程式 0x%lx (用於 fd %d) 已啟動\n"
 msgid "ssh handler 0x%lx for fd %d terminated\n"
 msgstr "ssh 經手程式 0x%lx (用於 fd %d) 已終止\n"
 
-#: agent/gpg-agent.c:3016 scd/scdaemon.c:1362 dirmngr/dirmngr.c:2261
+#: agent/gpg-agent.c:3016 scd/scdaemon.c:1366 dirmngr/dirmngr.c:2298
 #, c-format
 msgid "npth_pselect failed: %s - waiting 1s\n"
 msgstr "npth_select 失敗: %s - 等 1 秒鐘\n"
 
-#: agent/gpg-agent.c:3104 scd/scdaemon.c:1427
+#: agent/gpg-agent.c:3104 scd/scdaemon.c:1431
 #, c-format
 msgid "%s %s stopped\n"
 msgstr "%s %s 已停止\n"
@@ -672,8 +670,8 @@ msgstr ""
 "語法: gpg-preset-passphrase [選項] 金鑰鑰柄\n"
 "密碼快取維護\n"
 
-#: agent/protect-tool.c:108 g10/gpg.c:440 kbx/kbxutil.c:71 sm/gpgsm.c:204
-#: dirmngr/dirmngr.c:163 tools/gpgconf.c:78
+#: agent/protect-tool.c:108 g10/gpg.c:437 kbx/kbxutil.c:71 sm/gpgsm.c:205
+#: dirmngr/dirmngr.c:164 tools/gpgconf.c:78
 msgid ""
 "@Commands:\n"
 " "
@@ -681,8 +679,8 @@ msgstr ""
 "@指令:\n"
 " "
 
-#: agent/protect-tool.c:117 g10/gpg.c:553 g10/gpgv.c:76 kbx/kbxutil.c:81
-#: sm/gpgsm.c:252 dirmngr/dirmngr.c:179 tools/gpg-connect-agent.c:76
+#: agent/protect-tool.c:117 g10/gpg.c:550 g10/gpgv.c:76 kbx/kbxutil.c:81
+#: sm/gpgsm.c:253 dirmngr/dirmngr.c:180 tools/gpg-connect-agent.c:76
 #: tools/gpgconf.c:105
 msgid ""
 "@\n"
@@ -705,11 +703,11 @@ msgstr ""
 "語法: gpg-protect-tool [選項] [引數]\n"
 "私鑰維護工具\n"
 
-#: agent/protect-tool.c:703
+#: agent/protect-tool.c:703 sm/import.c:774
 msgid "Please enter the passphrase to unprotect the PKCS#12 object."
 msgstr "請輸入密語來取消 PKCS#12 物件的保護."
 
-#: agent/protect-tool.c:708
+#: agent/protect-tool.c:708 sm/export.c:710
 msgid "Please enter the passphrase to protect the new PKCS#12 object."
 msgstr "請輸入密語來保護新的 PKCS#12 物件."
 
@@ -737,7 +735,7 @@ msgstr "已取消\n"
 msgid "error while asking for the passphrase: %s\n"
 msgstr "詢問密語時出錯: %s\n"
 
-#: agent/trustlist.c:154 agent/trustlist.c:364 dirmngr/dirmngr.c:1629
+#: agent/trustlist.c:154 agent/trustlist.c:364 dirmngr/dirmngr.c:1666
 #: tools/gpgconf.c:418
 #, c-format
 msgid "error opening '%s': %s\n"
@@ -893,7 +891,7 @@ msgstr "檢查已建立的簽章時出錯: %s\n"
 msgid "secret key parts are not available\n"
 msgstr "私鑰部分無法取用\n"
 
-#: agent/cvt-openpgp.c:344 g10/card-util.c:1540
+#: agent/cvt-openpgp.c:344 g10/card-util.c:1541
 #, c-format
 msgid "public key algorithm %d (%s) is not supported\n"
 msgstr "公鑰演算法 %d (%s) 未支援\n"
@@ -908,21 +906,21 @@ msgstr "保護演算法 %d (%s) 未支援\n"
 msgid "protection hash algorithm %d (%s) is not supported\n"
 msgstr "保護雜湊演算法 %d (%s) 未支援\n"
 
-#: common/exechelp-posix.c:359 common/exechelp-w32.c:449
-#: common/exechelp-w32.c:473 common/exechelp-w32.c:503
+#: common/exechelp-posix.c:359 common/exechelp-w32.c:451
+#: common/exechelp-w32.c:475 common/exechelp-w32.c:505
 #, c-format
 msgid "error creating a pipe: %s\n"
 msgstr "建立管道時出錯: %s\n"
 
 #: common/exechelp-posix.c:372 common/exechelp-w32.c:355
-#: common/exechelp-w32.c:459 common/exechelp-w32.c:483
-#: common/exechelp-w32.c:513
+#: common/exechelp-w32.c:461 common/exechelp-w32.c:485
+#: common/exechelp-w32.c:515
 #, c-format
 msgid "error creating a stream for a pipe: %s\n"
 msgstr "建立管道串流時出錯: %s\n"
 
 #: common/exechelp-posix.c:495 common/exechelp-posix.c:570
-#: common/exechelp-posix.c:851 dirmngr/dirmngr.c:1306
+#: common/exechelp-posix.c:856 dirmngr/dirmngr.c:1343
 #, c-format
 msgid "error forking process: %s\n"
 msgstr "衍生執行程序時出錯: %s\n"
@@ -932,29 +930,29 @@ msgstr "衍生執行程序時出錯: %s\n"
 msgid "waiting for process %d to terminate failed: %s\n"
 msgstr "等候 %d 處理程序終止時失敗: %s\n"
 
-#: common/exechelp-posix.c:678 common/exechelp-posix.c:794
+#: common/exechelp-posix.c:678 common/exechelp-posix.c:799
 #, c-format
 msgid "error running '%s': probably not installed\n"
 msgstr "執行 '%s' 時出錯: 可能尚未安裝\n"
 
-#: common/exechelp-posix.c:684 common/exechelp-posix.c:801
-#: common/exechelp-w32.c:796 common/exechelp-w32ce.c:781
+#: common/exechelp-posix.c:684 common/exechelp-posix.c:806
+#: common/exechelp-w32.c:829 common/exechelp-w32ce.c:781
 #, c-format
 msgid "error running '%s': exit status %d\n"
 msgstr "執行 '%s' 時出錯: 結束狀態 %d\n"
 
-#: common/exechelp-posix.c:692 common/exechelp-posix.c:809
+#: common/exechelp-posix.c:692 common/exechelp-posix.c:814
 #, c-format
 msgid "error running '%s': terminated\n"
 msgstr "執行 '%s' 時出錯: 已終止\n"
 
-#: common/exechelp-posix.c:750 common/exechelp-w32.c:777
+#: common/exechelp-posix.c:755 common/exechelp-w32.c:810
 #, fuzzy, c-format
 #| msgid "waiting for process %d to terminate failed: %s\n"
 msgid "waiting for processes to terminate failed: %s\n"
 msgstr "等候 %d 處理程序終止時失敗: %s\n"
 
-#: common/exechelp-w32.c:789 common/exechelp-w32ce.c:775
+#: common/exechelp-w32.c:822 common/exechelp-w32ce.c:775
 #, c-format
 msgid "error getting exit code of process %d: %s\n"
 msgstr "取得 %d 執行程序結束碼時出錯: %s\n"
@@ -1050,7 +1048,7 @@ msgstr "在安全記憶體配置 %lu 位元組時超出核心"
 msgid "out of core while allocating %lu bytes"
 msgstr "配置 %lu 位元組時超出核心"
 
-#: common/miscellaneous.c:115 g10/card-util.c:896 tools/no-libgcrypt.c:30
+#: common/miscellaneous.c:115 g10/card-util.c:897 tools/no-libgcrypt.c:30
 #, c-format
 msgid "error allocating enough memory: %s\n"
 msgstr "配置足夠的記憶體時出錯: %s\n"
@@ -1166,7 +1164,7 @@ msgid "algorithm: %s"
 msgstr "演算法: %s"
 
 #: common/audit.c:774 common/audit.c:776 common/audit.c:921 common/audit.c:923
-#: scd/app-openpgp.c:3555
+#: scd/app-openpgp.c:3554
 #, c-format
 msgid "unsupported algorithm: %s"
 msgstr "未支援的演算法: %s"
@@ -1291,6 +1289,26 @@ msgstr "[ 無 ]"
 msgid "invalid radix64 character %02x skipped\n"
 msgstr "已跳過無效的 radix64 字符 %02x\n"
 
+#: common/ttyio.c:433
+#, c-format
+msgid "Sorry, we are in batchmode - can't get input\n"
+msgstr ""
+
+#: common/ttyio.c:439
+#, c-format
+msgid "Sorry, no terminal at all requested - can't get input\n"
+msgstr ""
+
+#: common/ttyio.c:474 common/ttyio.c:484
+#, c-format
+msgid "too many errors; giving up\n"
+msgstr ""
+
+#: common/ttyio.c:536
+#, c-format
+msgid "Control-D detected\n"
+msgstr ""
+
 #: common/argparse.c:520
 msgid "argument not expected"
 msgstr "沒料到有引數"
@@ -1354,7 +1372,7 @@ msgstr "無效的選項"
 msgid "missing argument for option \"%.50s\"\n"
 msgstr "\"%.50s\" 選項遺失了引數\n"
 
-#: common/argparse.c:558 g10/gpg.c:3490
+#: common/argparse.c:558 g10/gpg.c:3510
 #, c-format
 msgid "invalid argument for option \"%.50s\"\n"
 msgstr "選項 \"%.50s\" 的引數無效\n"
@@ -1424,31 +1442,31 @@ msgstr "建立暫存檔失敗 '%s': %s\n"
 msgid "error writing to '%s': %s\n"
 msgstr "寫入 '%s' 時出錯: %s\n"
 
-#: common/dotlock.c:1129
+#: common/dotlock.c:1137
 #, c-format
 msgid "removing stale lockfile (created by %d)\n"
 msgstr "正在移除陳腐的鎖定檔 (由 %d 所建立)\n"
 
-#: common/dotlock.c:1165
+#: common/dotlock.c:1173
 #, c-format
 msgid "waiting for lock (held by %d%s) %s...\n"
 msgstr "正在等候鎖定 (被 %d%s 持有) %s...\n"
 
-#: common/dotlock.c:1166
+#: common/dotlock.c:1174
 msgid "(deadlock?) "
 msgstr "(死結嗎?) "
 
-#: common/dotlock.c:1205
+#: common/dotlock.c:1213
 #, c-format
 msgid "lock '%s' not made: %s\n"
 msgstr "未鎖定 '%s': %s\n"
 
-#: common/dotlock.c:1232
+#: common/dotlock.c:1240
 #, c-format
 msgid "waiting for lock %s...\n"
 msgstr "正在等候 `%s' 鎖定...\n"
 
-#: common/init.c:185 sm/gpgsm.c:949 dirmngr/dirmngr.c:862 dirmngr/dirmngr.c:871
+#: common/init.c:191 sm/gpgsm.c:863 dirmngr/dirmngr.c:900 dirmngr/dirmngr.c:909
 #, c-format
 msgid "%s is too old (need %s, have %s)\n"
 msgstr "%s 太舊了 (需要 %s, 但是祇有 %s)\n"
@@ -1634,13 +1652,13 @@ msgid "Note: Use the command \"%s\" to restart them.\n"
 msgstr "請先使用 \"toggle\" 指令.\n"
 
 #: g10/call-agent.c:318 g10/encrypt.c:154 g10/encrypt.c:620 g10/sign.c:412
-#: sm/call-agent.c:205 sm/encrypt.c:425 sm/sign.c:345
+#: sm/call-agent.c:205 sm/encrypt.c:426 sm/sign.c:345
 #, fuzzy, c-format
 #| msgid "%s does not yet work with %s\n"
 msgid "%s is not compliant with %s mode\n"
 msgstr "%s 還沒辦法跟 %s 一起運作\n"
 
-#: g10/call-dirmngr.c:209 sm/call-dirmngr.c:268 tools/gpg-connect-agent.c:2253
+#: g10/call-dirmngr.c:209 sm/call-dirmngr.c:269 tools/gpg-connect-agent.c:2253
 #, fuzzy, c-format
 #| msgid "no gpg-agent running in this session\n"
 msgid "no dirmngr running in this session\n"
@@ -1686,23 +1704,23 @@ msgstr ""
 msgid "server uses an invalid certificate"
 msgstr "產生撤銷憑證"
 
-#: g10/call-dirmngr.c:437 g10/gpg.c:4400
+#: g10/call-dirmngr.c:437 g10/gpg.c:4421
 #, fuzzy, c-format
 #| msgid "armor: %s\n"
 msgid "Note: %s\n"
 msgstr "封裝: %s\n"
 
-#: g10/card-util.c:86 g10/card-util.c:366 g10/card-util.c:1902
+#: g10/card-util.c:86 g10/card-util.c:366 g10/card-util.c:1903
 #, c-format
 msgid "OpenPGP card not available: %s\n"
 msgstr "沒有可用的 OpenPGP 卡片: %s\n"
 
-#: g10/card-util.c:91 g10/card-util.c:1908
+#: g10/card-util.c:91 g10/card-util.c:1909
 #, c-format
 msgid "OpenPGP card no. %s detected\n"
 msgstr "偵測到 OpenPGP 卡片編號 %s\n"
 
-#: g10/card-util.c:97 g10/card-util.c:2237 g10/delkey.c:160 g10/keyedit.c:1422
+#: g10/card-util.c:97 g10/card-util.c:2238 g10/delkey.c:160 g10/keyedit.c:1423
 #: g10/keygen.c:4466 g10/revoke.c:214 g10/revoke.c:636
 #, c-format
 msgid "can't do this in batch mode\n"
@@ -1713,13 +1731,13 @@ msgstr "無法在批次模式中這樣做\n"
 msgid "This command is only available for version 2 cards\n"
 msgstr "祇有第二版卡片纔能用這個指令\n"
 
-#: g10/card-util.c:107 scd/app-openpgp.c:2864
+#: g10/card-util.c:107 scd/app-openpgp.c:2863
 #, c-format
 msgid "Reset Code not or not anymore available\n"
 msgstr "(再也) 沒有重設碼\n"
 
-#: g10/card-util.c:140 g10/card-util.c:1426 g10/card-util.c:1688
-#: g10/card-util.c:1780 g10/keyedit.c:394 g10/keyedit.c:415 g10/keyedit.c:429
+#: g10/card-util.c:140 g10/card-util.c:1427 g10/card-util.c:1689
+#: g10/card-util.c:1781 g10/keyedit.c:394 g10/keyedit.c:415 g10/keyedit.c:429
 #: g10/keygen.c:1808 g10/keygen.c:1980 g10/keygen.c:2186 g10/keygen.c:2477
 #: sm/certreqgen-ui.c:165 sm/certreqgen-ui.c:291 sm/certreqgen-ui.c:325
 msgid "Your selection? "
@@ -1745,104 +1763,104 @@ msgstr "不強迫使用"
 msgid "forced"
 msgstr "強迫使用"
 
-#: g10/card-util.c:749
+#: g10/card-util.c:750
 msgid "Error: Only plain ASCII is currently allowed.\n"
 msgstr "錯誤: 目前祇允許使用單純的 ASCII 字符.\n"
 
-#: g10/card-util.c:751
+#: g10/card-util.c:752
 msgid "Error: The \"<\" character may not be used.\n"
 msgstr "錯誤: 不能使用 \"<\" 字符.\n"
 
-#: g10/card-util.c:753
+#: g10/card-util.c:754
 msgid "Error: Double spaces are not allowed.\n"
 msgstr "錯誤: 並不允許使用連續兩個以上的空格.\n"
 
-#: g10/card-util.c:770
+#: g10/card-util.c:771
 msgid "Cardholder's surname: "
 msgstr "卡片持有者的姓氏: "
 
-#: g10/card-util.c:772
+#: g10/card-util.c:773
 msgid "Cardholder's given name: "
 msgstr "卡片持有者的名字: "
 
-#: g10/card-util.c:790
+#: g10/card-util.c:791
 #, c-format
 msgid "Error: Combined name too long (limit is %d characters).\n"
 msgstr "錯誤: 合併後的名字太長 (上限是 %d 個字符).\n"
 
-#: g10/card-util.c:811
+#: g10/card-util.c:812
 msgid "URL to retrieve public key: "
 msgstr "取回公鑰的 URL: "
 
-#: g10/card-util.c:905 g10/decrypt-data.c:490 g10/import.c:387 g10/import.c:734
-#: g10/import.c:786 dirmngr/crlcache.c:655 dirmngr/crlcache.c:660
-#: dirmngr/crlcache.c:914 dirmngr/crlcache.c:920 dirmngr/dirmngr.c:1668
+#: g10/card-util.c:906 g10/decrypt-data.c:490 g10/import.c:399 g10/import.c:746
+#: g10/import.c:798 dirmngr/crlcache.c:655 dirmngr/crlcache.c:660
+#: dirmngr/crlcache.c:914 dirmngr/crlcache.c:920 dirmngr/dirmngr.c:1705
 #: tools/gpgconf.c:431 tools/gpgconf.c:477
 #, c-format
 msgid "error reading '%s': %s\n"
 msgstr "讀取 '%s' 時出錯: %s\n"
 
-#: g10/card-util.c:938 g10/decrypt-data.c:493 g10/export.c:2467
+#: g10/card-util.c:939 g10/decrypt-data.c:493 g10/export.c:2467
 #: dirmngr/crlcache.c:925
 #, c-format
 msgid "error writing '%s': %s\n"
 msgstr "寫入 '%s' 時出錯: %s\n"
 
-#: g10/card-util.c:965
+#: g10/card-util.c:966
 msgid "Login data (account name): "
 msgstr "登入資料 (帳號名稱): "
 
-#: g10/card-util.c:1003
+#: g10/card-util.c:1004
 msgid "Private DO data: "
 msgstr "私人的 DO 資料: "
 
-#: g10/card-util.c:1088
+#: g10/card-util.c:1089
 msgid "Language preferences: "
 msgstr "介面語言偏好設定: "
 
-#: g10/card-util.c:1096
+#: g10/card-util.c:1097
 msgid "Error: invalid length of preference string.\n"
 msgstr "錯誤: 無效的偏好設定字串長度\n"
 
-#: g10/card-util.c:1105
+#: g10/card-util.c:1106
 msgid "Error: invalid characters in preference string.\n"
 msgstr "錯誤: 偏好設定字串中含有無效的字符\n"
 
-#: g10/card-util.c:1127
+#: g10/card-util.c:1128
 msgid "Salutation (M = Mr., F = Ms., or space): "
 msgstr ""
 
-#: g10/card-util.c:1141
+#: g10/card-util.c:1142
 msgid "Error: invalid response.\n"
 msgstr "錯誤: 無效的回應.\n"
 
-#: g10/card-util.c:1163
+#: g10/card-util.c:1164
 msgid "CA fingerprint: "
 msgstr "憑證中心 (CA) 指紋: "
 
-#: g10/card-util.c:1186
+#: g10/card-util.c:1187
 msgid "Error: invalid formatted fingerprint.\n"
 msgstr "錯誤: 無效的格式化指紋.\n"
 
-#: g10/card-util.c:1236
+#: g10/card-util.c:1237
 #, c-format
 msgid "key operation not possible: %s\n"
 msgstr "不可能進行金鑰操作: %s\n"
 
-#: g10/card-util.c:1237
+#: g10/card-util.c:1238
 msgid "not an OpenPGP card"
 msgstr "這不是 OpenPGP 卡片"
 
-#: g10/card-util.c:1250 g10/keygen.c:4486 g10/keygen.c:5565
+#: g10/card-util.c:1251 g10/keygen.c:4486 g10/keygen.c:5565
 #, c-format
 msgid "error getting current key info: %s\n"
 msgstr "取得現用金鑰資訊時出錯: %s\n"
 
-#: g10/card-util.c:1335
+#: g10/card-util.c:1336
 msgid "Replace existing key? (y/N) "
 msgstr "是否要取代既有的金鑰? (y/N) "
 
-#: g10/card-util.c:1352
+#: g10/card-util.c:1353
 msgid ""
 "Note: There is no guarantee that the card supports the requested size.\n"
 "      If the key generation does not succeed, please check the\n"
@@ -1852,108 +1870,108 @@ msgstr ""
 "      如果金鑰產生失敗了, 煩請查閱你卡片上的文件,\n"
 "      看看這張卡片支援哪些尺寸.\n"
 
-#: g10/card-util.c:1374 g10/keygen.c:2363 sm/certreqgen-ui.c:179
+#: g10/card-util.c:1375 g10/keygen.c:2363 sm/certreqgen-ui.c:179
 #, c-format
 msgid "What keysize do you want? (%u) "
 msgstr "你想要用多大的金鑰尺寸? (%u) "
 
-#: g10/card-util.c:1384 g10/keygen.c:2286 g10/keygen.c:2318
+#: g10/card-util.c:1385 g10/keygen.c:2286 g10/keygen.c:2318
 #: sm/certreqgen-ui.c:194
 #, c-format
 msgid "rounded up to %u bits\n"
 msgstr "加大到 %u 位元\n"
 
-#: g10/card-util.c:1392 g10/keygen.c:2371 sm/certreqgen-ui.c:184
+#: g10/card-util.c:1393 g10/keygen.c:2371 sm/certreqgen-ui.c:184
 #, c-format
 msgid "%s keysizes must be in the range %u-%u\n"
 msgstr "%s 金鑰尺寸一定要介於 %u 到 %u 之間\n"
 
-#: g10/card-util.c:1411
+#: g10/card-util.c:1412
 msgid "Changing card key attribute for: "
 msgstr ""
 
-#: g10/card-util.c:1413
+#: g10/card-util.c:1414
 #, fuzzy
 #| msgid "   (1) Signature key\n"
 msgid "Signature key\n"
 msgstr "   (1) 簽署用金鑰\n"
 
-#: g10/card-util.c:1415
+#: g10/card-util.c:1416
 #, fuzzy
 #| msgid "   (2) Encryption key\n"
 msgid "Encryption key\n"
 msgstr "   (2) 加密用金鑰\n"
 
-#: g10/card-util.c:1417
+#: g10/card-util.c:1418
 #, fuzzy
 #| msgid "   (3) Authentication key\n"
 msgid "Authentication key\n"
 msgstr "   (3) 憑證用金鑰\n"
 
-#: g10/card-util.c:1419 g10/keygen.c:1926 sm/certreqgen-ui.c:157
+#: g10/card-util.c:1420 g10/keygen.c:1926 sm/certreqgen-ui.c:157
 msgid "Please select what kind of key you want:\n"
 msgstr "請選擇你要使用的金鑰種類:\n"
 
-#: g10/card-util.c:1420 sm/certreqgen-ui.c:158
+#: g10/card-util.c:1421 sm/certreqgen-ui.c:158
 #, c-format
 msgid "   (%d) RSA\n"
 msgstr "   (%d) RSA\n"
 
-#: g10/card-util.c:1421
+#: g10/card-util.c:1422
 #, fuzzy, c-format
 #| msgid "   (%d) ECC and ECC\n"
 msgid "   (%d) ECC\n"
 msgstr "   (%d) ECC 和 ECC\n"
 
-#: g10/card-util.c:1433 g10/card-util.c:1700 g10/card-util.c:1800
-#: g10/keyedit.c:899 g10/keygen.c:1834 g10/keygen.c:1862 g10/keygen.c:1987
+#: g10/card-util.c:1434 g10/card-util.c:1701 g10/card-util.c:1801
+#: g10/keyedit.c:900 g10/keygen.c:1834 g10/keygen.c:1862 g10/keygen.c:1987
 #: g10/keygen.c:2222 g10/keygen.c:2505 g10/revoke.c:838
 msgid "Invalid selection.\n"
 msgstr "無效的選擇.\n"
 
-#: g10/card-util.c:1506
+#: g10/card-util.c:1507
 #, c-format
 msgid "The card will now be re-configured to generate a key of %u bits\n"
 msgstr "這張卡片將重新加以組態, 以便產生 %u 位元的金鑰\n"
 
-#: g10/card-util.c:1511
+#: g10/card-util.c:1512
 #, fuzzy, c-format
 #| msgid "The card will now be re-configured to generate a key of %u bits\n"
 msgid "The card will now be re-configured to generate a key of type: %s\n"
 msgstr "這張卡片將重新加以組態, 以便產生 %u 位元的金鑰\n"
 
-#: g10/card-util.c:1547
+#: g10/card-util.c:1548
 #, fuzzy, c-format
 #| msgid "error changing size of key %d to %u bits: %s\n"
 msgid "error changing key attribute for key %d: %s\n"
 msgstr "將金鑰 %d 尺寸變更至 %u 位元時出錯: %s\n"
 
-#: g10/card-util.c:1563 g10/card-util.c:2090
+#: g10/card-util.c:1564 g10/card-util.c:2091
 #, fuzzy, c-format
 #| msgid "error getting current key info: %s\n"
 msgid "error getting card info: %s\n"
 msgstr "取得現用金鑰資訊時出錯: %s\n"
 
-#: g10/card-util.c:1569 g10/card-util.c:1914 g10/card-util.c:2096
+#: g10/card-util.c:1570 g10/card-util.c:1915 g10/card-util.c:2097
 #, fuzzy, c-format
 #| msgid "This command is not allowed while in %s mode.\n"
 msgid "This command is not supported by this card\n"
 msgstr "在 %s 模式中不允許使用這個指令.\n"
 
-#: g10/card-util.c:1615
+#: g10/card-util.c:1616
 msgid "Make off-card backup of encryption key? (Y/n) "
 msgstr "是否要為加密用金鑰建立卡外備份? (Y/n) "
 
-#: g10/card-util.c:1629
+#: g10/card-util.c:1630
 #, c-format
 msgid "Note: keys are already stored on the card!\n"
 msgstr "請注意: 金鑰已經存放在卡片上了!\n"
 
-#: g10/card-util.c:1632
+#: g10/card-util.c:1633
 msgid "Replace existing keys? (y/N) "
 msgstr "是否要取代既有的金鑰? (y/N) "
 
-#: g10/card-util.c:1644
+#: g10/card-util.c:1645
 #, c-format
 msgid ""
 "Please note that the factory settings of the PINs are\n"
@@ -1964,152 +1982,152 @@ msgstr ""
 "   PIN = '%s'     管理者 PIN = '%s'\n"
 "你應該用 --change-pin 指令來加以變更\n"
 
-#: g10/card-util.c:1679
+#: g10/card-util.c:1680
 msgid "Please select the type of key to generate:\n"
 msgstr "請選擇你要產生的金鑰種類:\n"
 
-#: g10/card-util.c:1681 g10/card-util.c:1771
+#: g10/card-util.c:1682 g10/card-util.c:1772
 msgid "   (1) Signature key\n"
 msgstr "   (1) 簽署用金鑰\n"
 
-#: g10/card-util.c:1682 g10/card-util.c:1773
+#: g10/card-util.c:1683 g10/card-util.c:1774
 msgid "   (2) Encryption key\n"
 msgstr "   (2) 加密用金鑰\n"
 
-#: g10/card-util.c:1683 g10/card-util.c:1775
+#: g10/card-util.c:1684 g10/card-util.c:1776
 msgid "   (3) Authentication key\n"
 msgstr "   (3) 憑證用金鑰\n"
 
-#: g10/card-util.c:1768
+#: g10/card-util.c:1769
 msgid "Please select where to store the key:\n"
 msgstr "請選擇要把金鑰存放在哪裡:\n"
 
-#: g10/card-util.c:1814
+#: g10/card-util.c:1815
 #, c-format
 msgid "KEYTOCARD failed: %s\n"
 msgstr "KEYTOCARD 失敗: %s\n"
 
-#: g10/card-util.c:1919
+#: g10/card-util.c:1920
 #, fuzzy, c-format
 #| msgid "Note: keys are already stored on the card!\n"
 msgid "Note: This command destroys all keys stored on the card!\n"
 msgstr "請注意: 金鑰已經存放在卡片上了!\n"
 
-#: g10/card-util.c:1922
+#: g10/card-util.c:1923
 #, fuzzy
 #| msgid "Continue? (Y/n) "
 msgid "Continue? (y/N) "
 msgstr "是否繼續? (Y/n) "
 
-#: g10/card-util.c:1927
+#: g10/card-util.c:1928
 msgid "Really do a factory reset? (enter \"yes\") "
 msgstr ""
 
-#: g10/card-util.c:2113
+#: g10/card-util.c:2114
 #, fuzzy, c-format
 #| msgid "error closing %s: %s\n"
 msgid "error for setup KDF: %s\n"
 msgstr "關閉 %s 時出錯: %s\n"
 
-#: g10/card-util.c:2142 g10/keyedit.c:1259
+#: g10/card-util.c:2143 g10/keyedit.c:1260
 msgid "quit this menu"
 msgstr "離開這個選單"
 
-#: g10/card-util.c:2144
+#: g10/card-util.c:2145
 msgid "show admin commands"
 msgstr "顯示管理者指令"
 
-#: g10/card-util.c:2145 g10/keyedit.c:1262
+#: g10/card-util.c:2146 g10/keyedit.c:1263
 msgid "show this help"
 msgstr "顯示這份線上說明"
 
-#: g10/card-util.c:2147
+#: g10/card-util.c:2148
 msgid "list all available data"
 msgstr "列出所有可用的資料"
 
-#: g10/card-util.c:2150
+#: g10/card-util.c:2151
 msgid "change card holder's name"
 msgstr "變更卡片持有人的名字"
 
-#: g10/card-util.c:2151
+#: g10/card-util.c:2152
 msgid "change URL to retrieve key"
 msgstr "變更取回金鑰的 URL"
 
-#: g10/card-util.c:2152
+#: g10/card-util.c:2153
 msgid "fetch the key specified in the card URL"
 msgstr "從卡片 URL 取回指定的金鑰"
 
-#: g10/card-util.c:2153
+#: g10/card-util.c:2154
 msgid "change the login name"
 msgstr "變更登入名稱"
 
-#: g10/card-util.c:2154
+#: g10/card-util.c:2155
 msgid "change the language preferences"
 msgstr "變更介面語言偏好設定"
 
-#: g10/card-util.c:2155
+#: g10/card-util.c:2156
 #, fuzzy
 #| msgid "change card holder's sex"
 msgid "change card holder's salutation"
 msgstr "變更卡片持有者的性別"
 
-#: g10/card-util.c:2157
+#: g10/card-util.c:2158
 msgid "change a CA fingerprint"
 msgstr "變更某個憑證中心 (CA) 的指紋"
 
-#: g10/card-util.c:2158
+#: g10/card-util.c:2159
 msgid "toggle the signature force PIN flag"
 msgstr "切換簽章是否強制使用個人識別碼 (PIN) 的旗標"
 
-#: g10/card-util.c:2159
+#: g10/card-util.c:2160
 msgid "generate new keys"
 msgstr "產生新的金鑰"
 
-#: g10/card-util.c:2160
+#: g10/card-util.c:2161
 msgid "menu to change or unblock the PIN"
 msgstr "變更或重設個人識別碼 (PIN) 的選單"
 
-#: g10/card-util.c:2161
+#: g10/card-util.c:2162
 msgid "verify the PIN and list all data"
 msgstr "驗證個人識別碼 (PIN) 並列出所有的資料"
 
-#: g10/card-util.c:2162
+#: g10/card-util.c:2163
 msgid "unblock the PIN using a Reset Code"
 msgstr "用重設碼來解凍個人識別碼 (PIN)"
 
-#: g10/card-util.c:2163
+#: g10/card-util.c:2164
 msgid "destroy all keys and data"
 msgstr ""
 
-#: g10/card-util.c:2164
+#: g10/card-util.c:2165
 #, fuzzy
 #| msgid "|NAME|use user NAME for authentication"
 msgid "setup KDF for PIN authentication"
 msgstr "|名字|使用指定名字做為認證用的使用者名稱"
 
-#: g10/card-util.c:2165
+#: g10/card-util.c:2166
 #, fuzzy
 #| msgid "change the ownertrust"
 msgid "change the key attribute"
 msgstr "更改主觀信任"
 
-#: g10/card-util.c:2289
+#: g10/card-util.c:2290
 msgid "gpg/card> "
 msgstr "gpg/卡片> "
 
-#: g10/card-util.c:2330
+#: g10/card-util.c:2331
 msgid "Admin-only command\n"
 msgstr "限管理者使用的指令\n"
 
-#: g10/card-util.c:2361
+#: g10/card-util.c:2362
 msgid "Admin commands are allowed\n"
 msgstr "允許使用管理者指令\n"
 
-#: g10/card-util.c:2363
+#: g10/card-util.c:2364
 msgid "Admin commands are not allowed\n"
 msgstr "未允許使用管理者指令\n"
 
-#: g10/card-util.c:2466 g10/keyedit.c:2228
+#: g10/card-util.c:2467 g10/keyedit.c:2229
 msgid "Invalid command  (try \"help\")\n"
 msgstr "無效的指令  (試試看 \"help\")\n"
 
@@ -2118,21 +2136,21 @@ msgstr "無效的指令  (試試看 \"help\")\n"
 msgid "--output doesn't work for this command\n"
 msgstr "--output 在這個指令中沒有作用\n"
 
-#: g10/decrypt.c:247 g10/gpg.c:5083 g10/keyring.c:399 g10/keyring.c:750
+#: g10/decrypt.c:247 g10/gpg.c:5104 g10/keyring.c:399 g10/keyring.c:750
 #, c-format
 msgid "can't open '%s'\n"
 msgstr "無法開啟 '%s'\n"
 
 #: g10/delkey.c:83 g10/export.c:1947 g10/export.c:2230 g10/export.c:2351
-#: g10/getkey.c:1964 g10/gpg.c:5028 g10/keyedit.c:1444 g10/keyedit.c:2334
-#: g10/keyedit.c:2580 g10/keyedit.c:4543 g10/keylist.c:689 g10/keyserver.c:1259
+#: g10/getkey.c:2108 g10/gpg.c:5049 g10/keyedit.c:1445 g10/keyedit.c:2335
+#: g10/keyedit.c:2581 g10/keyedit.c:4544 g10/keylist.c:689 g10/keyserver.c:1092
 #: g10/revoke.c:230 g10/tofu.c:2165
 #, c-format
 msgid "key \"%s\" not found: %s\n"
 msgstr "找不到金鑰 \"%s\": %s\n"
 
-#: g10/delkey.c:92 g10/export.c:2015 g10/getkey.c:1972 g10/getkey.c:4346
-#: g10/gpg.c:5037 g10/keyedit.c:2307 g10/keyserver.c:1277 g10/revoke.c:236
+#: g10/delkey.c:92 g10/export.c:2015 g10/getkey.c:2116 g10/getkey.c:4517
+#: g10/gpg.c:5058 g10/keyedit.c:2308 g10/keyserver.c:1110 g10/revoke.c:236
 #: g10/revoke.c:663 g10/tofu.c:2173
 #, c-format
 msgid "error reading keyblock: %s\n"
@@ -2191,9 +2209,9 @@ msgstr "金鑰"
 msgid "subkey"
 msgstr "子鑰"
 
-#: g10/delkey.c:299 g10/keyedit.c:2200 g10/keyedit.c:2210 g10/keyedit.c:2387
-#: g10/keyedit.c:2461 g10/keyedit.c:2532 g10/keyedit.c:2757 g10/keyedit.c:2987
-#: g10/keyedit.c:3056 g10/keyedit.c:3207
+#: g10/delkey.c:299 g10/keyedit.c:2201 g10/keyedit.c:2211 g10/keyedit.c:2388
+#: g10/keyedit.c:2462 g10/keyedit.c:2533 g10/keyedit.c:2758 g10/keyedit.c:2988
+#: g10/keyedit.c:3057 g10/keyedit.c:3208
 #, c-format
 msgid "update failed: %s\n"
 msgstr "更新失敗: %s\n"
@@ -2218,7 +2236,7 @@ msgstr "公鑰 \"%s\" 有相對應的私鑰!\n"
 msgid "use option \"--delete-secret-keys\" to delete it first.\n"
 msgstr "請先以 \"--delete-secret-keys\" 選項來刪除它.\n"
 
-#: g10/encrypt.c:202 g10/sign.c:1471
+#: g10/encrypt.c:202 g10/sign.c:1470
 #, c-format
 msgid "error creating passphrase: %s\n"
 msgstr "建立密語時出錯: %s\n"
@@ -2243,15 +2261,15 @@ msgstr "'%s' 已經被壓縮了\n"
 msgid "WARNING: '%s' is an empty file\n"
 msgstr "警告: '%s' 是個空檔案\n"
 
-#: g10/encrypt.c:387 g10/encrypt.c:610 g10/decrypt-data.c:260 g10/gpg.c:3901
-#: g10/gpg.c:3941 sm/decrypt.c:364 sm/encrypt.c:415 sm/gpgsm.c:1655
+#: g10/encrypt.c:387 g10/encrypt.c:610 g10/decrypt-data.c:260 g10/gpg.c:3922
+#: g10/gpg.c:3962 sm/decrypt.c:826 sm/encrypt.c:416 sm/gpgsm.c:1555
 #, fuzzy, c-format
 #| msgid "you may not use cipher algorithm '%s' while in %s mode\n"
 msgid "cipher algorithm '%s' may not be used in %s mode\n"
 msgstr "你不該將 '%s' 編密演算法用於 %s 模式\n"
 
-#: g10/encrypt.c:396 g10/gpg.c:3907 g10/gpg.c:3953 g10/sig-check.c:146
-#: g10/sign.c:391 sm/gpgsm.c:1665 sm/gpgsm.c:1675 sm/sign.c:478 sm/verify.c:506
+#: g10/encrypt.c:396 g10/gpg.c:3928 g10/gpg.c:3974 g10/sig-check.c:146
+#: g10/sign.c:391 sm/gpgsm.c:1565 sm/gpgsm.c:1575 sm/sign.c:478 sm/verify.c:506
 #, fuzzy, c-format
 #| msgid "you may not use digest algorithm '%s' while in %s mode\n"
 msgid "digest algorithm '%s' may not be used in %s mode\n"
@@ -2268,13 +2286,13 @@ msgid ""
 "WARNING: forcing symmetric cipher %s (%d) violates recipient preferences\n"
 msgstr "警告: 強迫使用 %s (%d) 對稱式編密法會違反收件者偏好設定\n"
 
-#: g10/encrypt.c:640 sm/encrypt.c:490
+#: g10/encrypt.c:640 sm/encrypt.c:491
 #, fuzzy, c-format
 #| msgid "WARNING: \"%s%s\" is an obsolete option - it has no effect\n"
 msgid "WARNING: key %s is not suitable for encryption in %s mode\n"
 msgstr "警告: \"%s%s\" 是已廢棄的選項 - 沒有效果\n"
 
-#: g10/encrypt.c:751 g10/sign.c:1163
+#: g10/encrypt.c:751 g10/sign.c:1162
 #, c-format
 msgid ""
 "WARNING: forcing compression algorithm %s (%d) violates recipient "
@@ -2302,12 +2320,12 @@ msgstr "你不能夠將 %s 用於 %s 模式中\n"
 msgid "%s encrypted data\n"
 msgstr "%s 已加密的資料\n"
 
-#: g10/decrypt-data.c:243 g10/mainproc.c:396
+#: g10/decrypt-data.c:243 g10/mainproc.c:397
 #, c-format
 msgid "encrypted with unknown algorithm %d\n"
 msgstr "以 %d 未知演算法所加密\n"
 
-#: g10/decrypt-data.c:357 g10/decrypt-data.c:410 sm/decrypt.c:130
+#: g10/decrypt-data.c:357 g10/decrypt-data.c:410 sm/decrypt.c:550
 #, c-format
 msgid ""
 "WARNING: message was encrypted with a weak key in the symmetric cipher.\n"
@@ -2323,53 +2341,53 @@ msgstr "處理已加密封包有問題\n"
 msgid "no remote program execution supported\n"
 msgstr "沒有支援的遠端程式執行\n"
 
-#: g10/exec.c:381
+#: g10/exec.c:389
 #, c-format
 msgid ""
 "external program calls are disabled due to unsafe options file permissions\n"
 msgstr "因為不安全的檔案權限選項, 而禁用了外部程式叫用\n"
 
-#: g10/exec.c:411
+#: g10/exec.c:419
 #, c-format
 msgid "this platform requires temporary files when calling external programs\n"
 msgstr "在這個作業平台上叫用外部程式時需要暫存檔\n"
 
-#: g10/exec.c:489
+#: g10/exec.c:497
 #, c-format
 msgid "unable to execute program '%s': %s\n"
 msgstr "無法執行程式 '%s': %s\n"
 
-#: g10/exec.c:492
+#: g10/exec.c:500
 #, c-format
 msgid "unable to execute shell '%s': %s\n"
 msgstr "無法執行 shell '%s': %s\n"
 
-#: g10/exec.c:583
+#: g10/exec.c:591
 #, c-format
 msgid "system error while calling external program: %s\n"
 msgstr "叫用外部程式時發生系統錯誤: %s\n"
 
-#: g10/exec.c:594 g10/exec.c:661
+#: g10/exec.c:602 g10/exec.c:669
 #, c-format
 msgid "unnatural exit of external program\n"
 msgstr "外部程式不自然地離開\n"
 
-#: g10/exec.c:609
+#: g10/exec.c:617
 #, c-format
 msgid "unable to execute external program\n"
 msgstr "無法執行外部程式\n"
 
-#: g10/exec.c:626
+#: g10/exec.c:634
 #, c-format
 msgid "unable to read external program response: %s\n"
 msgstr "無法讀取外部程式回應: %s\n"
 
-#: g10/exec.c:672 g10/exec.c:679
+#: g10/exec.c:680 g10/exec.c:687
 #, c-format
 msgid "WARNING: unable to remove tempfile (%s) '%s': %s\n"
 msgstr "警告: 無法移除暫存檔 (%s) '%s': %s\n"
 
-#: g10/exec.c:684
+#: g10/exec.c:692
 #, c-format
 msgid "WARNING: unable to remove temp directory '%s': %s\n"
 msgstr "警告: 無法移除暫存目錄 '%s': %s\n"
@@ -2402,8 +2420,8 @@ msgstr ""
 msgid " - skipped"
 msgstr " - 已跳過"
 
-#: g10/export.c:1324 g10/import.c:2073 g10/openfile.c:200 g10/openfile.c:294
-#: g10/sign.c:1013 g10/sign.c:1327
+#: g10/export.c:1324 g10/import.c:2085 g10/openfile.c:200 g10/openfile.c:294
+#: g10/sign.c:1012 g10/sign.c:1326
 #, c-format
 msgid "writing to '%s'\n"
 msgstr "正在寫入 '%s'\n"
@@ -2438,278 +2456,278 @@ msgstr "建立 '%s' 時出錯: %s\n"
 msgid "[User ID not found]"
 msgstr "[找不到使用者 ID]"
 
-#: g10/getkey.c:1297
+#: g10/getkey.c:1441
 #, c-format
 msgid "automatically retrieved '%s' via %s\n"
 msgstr "已自動取回 '%s' (經由 %s )\n"
 
-#: g10/getkey.c:1303
+#: g10/getkey.c:1447
 #, c-format
 msgid "error retrieving '%s' via %s: %s\n"
 msgstr "取得 '%s' (經由 %s ) 時出錯: %s\n"
 
-#: g10/getkey.c:1305
+#: g10/getkey.c:1449
 msgid "No fingerprint"
 msgstr "沒有指紋"
 
-#: g10/getkey.c:1526
+#: g10/getkey.c:1670
 #, c-format
 msgid "checking for a fresh copy of an expired key via %s\n"
 msgstr ""
 
-#: g10/getkey.c:1941 g10/revoke.c:655 g10/revoke.c:720
+#: g10/getkey.c:2085 g10/revoke.c:655 g10/revoke.c:720
 #, c-format
 msgid "secret key \"%s\" not found: %s\n"
 msgstr "找不到私鑰 \"%s\": %s\n"
 
-#: g10/getkey.c:1944 g10/pkclist.c:988
+#: g10/getkey.c:2088 g10/pkclist.c:988
 #, fuzzy, c-format
 #| msgid "missing argument for option \"%.50s\"\n"
 msgid "(check argument of option '%s')\n"
 msgstr "\"%.50s\" 選項遺失了引數\n"
 
-#: g10/getkey.c:2020
+#: g10/getkey.c:2164
 #, fuzzy, c-format
 #| msgid "|NAME|use NAME as default secret key"
 msgid "Warning: not using '%s' as default key: %s\n"
 msgstr "|名字|使用指定名字做為預設私鑰"
 
-#: g10/getkey.c:2028
+#: g10/getkey.c:2172
 #, fuzzy, c-format
 #| msgid "|NAME|use NAME as default secret key"
 msgid "using \"%s\" as default secret key for signing\n"
 msgstr "|名字|使用指定名字做為預設私鑰"
 
-#: g10/getkey.c:2035
+#: g10/getkey.c:2179
 #, c-format
 msgid "all values passed to '%s' ignored\n"
 msgstr ""
 
-#: g10/getkey.c:2880
+#: g10/getkey.c:3024
 #, c-format
 msgid "Invalid key %s made valid by --allow-non-selfsigned-uid\n"
 msgstr "無效的金鑰 %s 可以藉由 --allow-non-selfsigned-uid 而生效\n"
 
-#: g10/getkey.c:3730
+#: g10/getkey.c:3874
 #, c-format
 msgid "using subkey %s instead of primary key %s\n"
 msgstr "使用子鑰 %s 來替換主鑰 %s\n"
 
-#: g10/getkey.c:4275 g10/gpg.c:2107
+#: g10/getkey.c:4446 g10/gpg.c:2120
 #, fuzzy, c-format
 #| msgid "invalid argument for option \"%.50s\"\n"
 msgid "valid values for option '%s':\n"
 msgstr "選項 \"%.50s\" 的引數無效\n"
 
-#: g10/gpg.c:442 sm/gpgsm.c:206
+#: g10/gpg.c:439 sm/gpgsm.c:207
 msgid "make a signature"
 msgstr "建立簽章"
 
-#: g10/gpg.c:443
+#: g10/gpg.c:440
 msgid "make a clear text signature"
 msgstr "建立明文簽章"
 
-#: g10/gpg.c:445 sm/gpgsm.c:208
+#: g10/gpg.c:442 sm/gpgsm.c:209
 msgid "make a detached signature"
 msgstr "建立分離式簽章"
 
-#: g10/gpg.c:446 sm/gpgsm.c:209
+#: g10/gpg.c:443 sm/gpgsm.c:210
 msgid "encrypt data"
 msgstr "加密資料"
 
-#: g10/gpg.c:448
+#: g10/gpg.c:445
 msgid "encryption only with symmetric cipher"
 msgstr "僅使用對稱式編密法來加密"
 
-#: g10/gpg.c:450 sm/gpgsm.c:211
+#: g10/gpg.c:447 sm/gpgsm.c:212
 msgid "decrypt data (default)"
 msgstr "資料解密 (預設)"
 
-#: g10/gpg.c:452 sm/gpgsm.c:212
+#: g10/gpg.c:449 sm/gpgsm.c:213
 msgid "verify a signature"
 msgstr "驗證簽章"
 
-#: g10/gpg.c:454 sm/gpgsm.c:213
+#: g10/gpg.c:451 sm/gpgsm.c:214
 msgid "list keys"
 msgstr "列出金鑰"
 
-#: g10/gpg.c:456
+#: g10/gpg.c:453
 msgid "list keys and signatures"
 msgstr "列出金鑰和簽章"
 
-#: g10/gpg.c:459
+#: g10/gpg.c:456
 msgid "list and check key signatures"
 msgstr "列出並檢查金鑰簽章"
 
-#: g10/gpg.c:461 sm/gpgsm.c:218
+#: g10/gpg.c:458 sm/gpgsm.c:219
 msgid "list keys and fingerprints"
 msgstr "列出金鑰和指紋"
 
-#: g10/gpg.c:462 sm/gpgsm.c:216
+#: g10/gpg.c:459 sm/gpgsm.c:217
 msgid "list secret keys"
 msgstr "列出私鑰"
 
-#: g10/gpg.c:464 sm/gpgsm.c:219
+#: g10/gpg.c:461 sm/gpgsm.c:220
 msgid "generate a new key pair"
 msgstr "產生新的金鑰對"
 
-#: g10/gpg.c:467
+#: g10/gpg.c:464
 msgid "quickly generate a new key pair"
 msgstr "快速產生新的金鑰對"
 
-#: g10/gpg.c:470
+#: g10/gpg.c:467
 #, fuzzy
 #| msgid "quickly generate a new key pair"
 msgid "quickly add a new user-id"
 msgstr "快速產生新的金鑰對"
 
-#: g10/gpg.c:475
+#: g10/gpg.c:472
 #, fuzzy
 #| msgid "quickly generate a new key pair"
 msgid "quickly revoke a user-id"
 msgstr "快速產生新的金鑰對"
 
-#: g10/gpg.c:478
+#: g10/gpg.c:475
 #, fuzzy
 #| msgid "quickly generate a new key pair"
 msgid "quickly set a new expiration date"
 msgstr "快速產生新的金鑰對"
 
-#: g10/gpg.c:481
+#: g10/gpg.c:478
 msgid "full featured key pair generation"
 msgstr "全能金鑰對生成"
 
-#: g10/gpg.c:484
+#: g10/gpg.c:481
 msgid "generate a revocation certificate"
 msgstr "產生撤銷憑證"
 
-#: g10/gpg.c:487 sm/gpgsm.c:222
+#: g10/gpg.c:484 sm/gpgsm.c:223
 msgid "remove keys from the public keyring"
 msgstr "從公鑰鑰匙圈裡移除金鑰"
 
-#: g10/gpg.c:489
+#: g10/gpg.c:486
 msgid "remove keys from the secret keyring"
 msgstr "從私鑰鑰匙圈裡移除金鑰"
 
-#: g10/gpg.c:491
+#: g10/gpg.c:488
 msgid "quickly sign a key"
 msgstr "快速簽署金鑰"
 
-#: g10/gpg.c:493
+#: g10/gpg.c:490
 msgid "quickly sign a key locally"
 msgstr "快速在本機簽署金鑰"
 
-#: g10/gpg.c:495
+#: g10/gpg.c:492
 #, fuzzy
 #| msgid "quickly generate a new key pair"
 msgid "quickly revoke a key signature"
 msgstr "快速產生新的金鑰對"
 
-#: g10/gpg.c:496
+#: g10/gpg.c:493
 msgid "sign a key"
 msgstr "簽署金鑰"
 
-#: g10/gpg.c:497
+#: g10/gpg.c:494
 msgid "sign a key locally"
 msgstr "僅在本機簽署金鑰"
 
-#: g10/gpg.c:498
+#: g10/gpg.c:495
 msgid "sign or edit a key"
 msgstr "簽署或編輯金鑰"
 
-#: g10/gpg.c:500 sm/gpgsm.c:240
+#: g10/gpg.c:497 sm/gpgsm.c:241
 msgid "change a passphrase"
 msgstr "更改密語"
 
-#: g10/gpg.c:504
+#: g10/gpg.c:501
 msgid "export keys"
 msgstr "匯出金鑰"
 
-#: g10/gpg.c:505
+#: g10/gpg.c:502
 msgid "export keys to a keyserver"
 msgstr "把金鑰匯出至金鑰伺服器"
 
-#: g10/gpg.c:506
+#: g10/gpg.c:503
 msgid "import keys from a keyserver"
 msgstr "從金鑰伺服器匯入金鑰"
 
-#: g10/gpg.c:509
+#: g10/gpg.c:506
 msgid "search for keys on a keyserver"
 msgstr "在金鑰伺服器上搜尋金鑰"
 
-#: g10/gpg.c:511
+#: g10/gpg.c:508
 msgid "update all keys from a keyserver"
 msgstr "從金鑰伺服器更新所有的金鑰"
 
-#: g10/gpg.c:519
+#: g10/gpg.c:516
 msgid "import/merge keys"
 msgstr "匯入/合併金鑰"
 
-#: g10/gpg.c:522
+#: g10/gpg.c:519
 msgid "print the card status"
 msgstr "列印卡片狀態"
 
-#: g10/gpg.c:523
+#: g10/gpg.c:520
 msgid "change data on a card"
 msgstr "變更卡片上的資料"
 
-#: g10/gpg.c:525
+#: g10/gpg.c:522
 msgid "change a card's PIN"
 msgstr "變更卡片的個人識別碼 (PIN)"
 
-#: g10/gpg.c:537
+#: g10/gpg.c:534
 msgid "update the trust database"
 msgstr "更新信任資料庫"
 
-#: g10/gpg.c:546
+#: g10/gpg.c:543
 msgid "print message digests"
 msgstr "印出訊息摘要"
 
-#: g10/gpg.c:549 sm/gpgsm.c:235
+#: g10/gpg.c:546 sm/gpgsm.c:236
 msgid "run in server mode"
 msgstr "以伺服器模式執行"
 
-#: g10/gpg.c:551
+#: g10/gpg.c:548
 msgid "|VALUE|set the TOFU policy for a key"
 msgstr ""
 
-#: g10/gpg.c:555 sm/gpgsm.c:254
+#: g10/gpg.c:552 sm/gpgsm.c:255
 msgid "create ascii armored output"
 msgstr "建立以 ASCII 封裝過的輸出"
 
-#: g10/gpg.c:558 sm/gpgsm.c:271
+#: g10/gpg.c:555 sm/gpgsm.c:272
 msgid "|USER-ID|encrypt for USER-ID"
 msgstr "|使用者-ID|以指定使用者 ID 作為加密對象"
 
-#: g10/gpg.c:574 sm/gpgsm.c:307
+#: g10/gpg.c:571 sm/gpgsm.c:308
 msgid "|USER-ID|use USER-ID to sign or decrypt"
 msgstr "|使用者-ID|拿指定使用者 ID 來簽署或解密"
 
-#: g10/gpg.c:580
+#: g10/gpg.c:577
 msgid "|N|set compress level to N (0 disables)"
 msgstr "|N|設定壓縮等級為 N (0 表示不壓縮)"
 
-#: g10/gpg.c:587
+#: g10/gpg.c:584
 msgid "use canonical text mode"
 msgstr "使用標準的文字模式"
 
-#: g10/gpg.c:604 g10/gpgv.c:82 sm/gpgsm.c:309
+#: g10/gpg.c:601 g10/gpgv.c:82 sm/gpgsm.c:310
 msgid "|FILE|write output to FILE"
 msgstr "|檔案|將輸出寫入至指定檔案"
 
-#: g10/gpg.c:614 kbx/kbxutil.c:90 sm/gpgsm.c:321 tools/gpgconf.c:110
+#: g10/gpg.c:611 kbx/kbxutil.c:90 sm/gpgsm.c:322 tools/gpgconf.c:110
 msgid "do not make any changes"
 msgstr "不要做任何改變"
 
-#: g10/gpg.c:615
+#: g10/gpg.c:612
 msgid "prompt before overwriting"
 msgstr "覆寫前先詢問"
 
-#: g10/gpg.c:665
+#: g10/gpg.c:662
 msgid "use strict OpenPGP behavior"
 msgstr "使用嚴謹的 OpenPGP 行為"
 
-#: g10/gpg.c:692 sm/gpgsm.c:364
+#: g10/gpg.c:689 sm/gpgsm.c:367
 msgid ""
 "@\n"
 "(See the man page for a complete listing of all commands and options)\n"
@@ -2717,7 +2735,7 @@ msgstr ""
 "@\n"
 "(請參照線上說明頁面來取得所有命令和選項的完整清單)\n"
 
-#: g10/gpg.c:695
+#: g10/gpg.c:692
 #, fuzzy
 #| msgid ""
 #| "@\n"
@@ -2747,11 +2765,11 @@ msgstr ""
 " --list-keys [名字]         顯示金鑰\n"
 " --fingerprint [名字]       顯示指紋\n"
 
-#: g10/gpg.c:1092
+#: g10/gpg.c:1096
 msgid "Usage: @GPG@ [options] [files] (-h for help)"
 msgstr "用法: @GPG@ [選項] [檔案] (或用 -h 求助)"
 
-#: g10/gpg.c:1095
+#: g10/gpg.c:1099
 msgid ""
 "Syntax: @GPG@ [options] [files]\n"
 "Sign, check, encrypt or decrypt\n"
@@ -2761,7 +2779,7 @@ msgstr ""
 "簽署, 檢查, 加密, 解密\n"
 "預設的操作會依輸入資料而定\n"
 
-#: g10/gpg.c:1106 sm/gpgsm.c:591
+#: g10/gpg.c:1110 sm/gpgsm.c:594
 msgid ""
 "\n"
 "Supported algorithms:\n"
@@ -2769,541 +2787,541 @@ msgstr ""
 "\n"
 "已支援的演算法:\n"
 
-#: g10/gpg.c:1109
+#: g10/gpg.c:1113
 msgid "Pubkey: "
 msgstr "公鑰: "
 
-#: g10/gpg.c:1116 g10/keyedit.c:3281
+#: g10/gpg.c:1120 g10/keyedit.c:3282
 msgid "Cipher: "
 msgstr "編密法: "
 
-#: g10/gpg.c:1123
+#: g10/gpg.c:1127
 msgid "Hash: "
 msgstr "雜湊: "
 
-#: g10/gpg.c:1130 g10/keyedit.c:3347
+#: g10/gpg.c:1134 g10/keyedit.c:3348
 msgid "Compression: "
 msgstr "壓縮: "
 
-#: g10/gpg.c:1199 sm/gpgsm.c:665
+#: g10/gpg.c:1207 sm/gpgsm.c:668
 #, c-format
 msgid "usage: %s [options] %s\n"
 msgstr "用法: %s [選項] %s\n"
 
-#: g10/gpg.c:1388 sm/gpgsm.c:754
+#: g10/gpg.c:1396 sm/gpgsm.c:761
 #, c-format
 msgid "conflicting commands\n"
 msgstr "指令彼此矛盾\n"
 
-#: g10/gpg.c:1406
+#: g10/gpg.c:1414
 #, c-format
 msgid "no = sign found in group definition '%s'\n"
 msgstr "在群組定義 '%s' 裡找不到 = 記號\n"
 
-#: g10/gpg.c:1604
+#: g10/gpg.c:1612
 #, c-format
 msgid "WARNING: unsafe ownership on homedir '%s'\n"
 msgstr "警告: 家目錄 '%s' 的所有權並不安全\n"
 
-#: g10/gpg.c:1607
+#: g10/gpg.c:1615
 #, c-format
 msgid "WARNING: unsafe ownership on configuration file '%s'\n"
 msgstr "警告: 組態檔案 '%s' 的所有權並不安全\n"
 
-#: g10/gpg.c:1610
+#: g10/gpg.c:1618
 #, c-format
 msgid "WARNING: unsafe ownership on extension '%s'\n"
 msgstr "警告: 延伸模組 '%s' 的所有權並不安全\n"
 
-#: g10/gpg.c:1616
+#: g10/gpg.c:1624
 #, c-format
 msgid "WARNING: unsafe permissions on homedir '%s'\n"
 msgstr "警告: 家目錄 '%s' 的權限並不安全\n"
 
-#: g10/gpg.c:1619
+#: g10/gpg.c:1627
 #, c-format
 msgid "WARNING: unsafe permissions on configuration file '%s'\n"
 msgstr "警告: 組態檔案 '%s' 的權限並不安全\n"
 
-#: g10/gpg.c:1622
+#: g10/gpg.c:1630
 #, c-format
 msgid "WARNING: unsafe permissions on extension '%s'\n"
 msgstr "警告: 延伸模組 '%s' 的權限並不安全\n"
 
-#: g10/gpg.c:1628
+#: g10/gpg.c:1636
 #, c-format
 msgid "WARNING: unsafe enclosing directory ownership on homedir '%s'\n"
 msgstr "警告: 家目錄 '%s' 的封入目錄所有權並不安全\n"
 
-#: g10/gpg.c:1631
+#: g10/gpg.c:1639
 #, c-format
 msgid ""
 "WARNING: unsafe enclosing directory ownership on configuration file '%s'\n"
 msgstr "警告: 組態檔案 '%s' 的封入目錄所有權並不安全\n"
 
-#: g10/gpg.c:1634
+#: g10/gpg.c:1642
 #, c-format
 msgid "WARNING: unsafe enclosing directory ownership on extension '%s'\n"
 msgstr "警告: 延伸模組 '%s' 的封入目錄所有權並不安全\n"
 
-#: g10/gpg.c:1640
+#: g10/gpg.c:1648
 #, c-format
 msgid "WARNING: unsafe enclosing directory permissions on homedir '%s'\n"
 msgstr "警告: 家目錄 '%s' 的封入目錄權限並不安全\n"
 
-#: g10/gpg.c:1643
+#: g10/gpg.c:1651
 #, c-format
 msgid ""
 "WARNING: unsafe enclosing directory permissions on configuration file '%s'\n"
 msgstr "警告: 組態檔案 '%s' 的封入目錄權限並不安全\n"
 
-#: g10/gpg.c:1646
+#: g10/gpg.c:1654
 #, c-format
 msgid "WARNING: unsafe enclosing directory permissions on extension '%s'\n"
 msgstr "警告: 延伸模組 '%s' 的封入目錄權限並不安全\n"
 
-#: g10/gpg.c:1862
+#: g10/gpg.c:1870
 #, c-format
 msgid "unknown configuration item '%s'\n"
 msgstr "未知的組態項目 '%s'\n"
 
-#: g10/gpg.c:1979
+#: g10/gpg.c:1992
 msgid "display photo IDs during key listings"
 msgstr "列出金鑰時顯示照片 ID"
 
-#: g10/gpg.c:1981
+#: g10/gpg.c:1994
 msgid "show key usage information during key listings"
 msgstr "列出金鑰時顯示金鑰用途資訊"
 
-#: g10/gpg.c:1983
+#: g10/gpg.c:1996
 msgid "show policy URLs during signature listings"
 msgstr "列出簽章時顯示原則 URL"
 
-#: g10/gpg.c:1985
+#: g10/gpg.c:1998
 msgid "show all notations during signature listings"
 msgstr "列出簽章時顯示所有的註記"
 
-#: g10/gpg.c:1987
+#: g10/gpg.c:2000
 msgid "show IETF standard notations during signature listings"
 msgstr "列出簽章時顯示 IETF 標準註記"
 
-#: g10/gpg.c:1991
+#: g10/gpg.c:2004
 msgid "show user-supplied notations during signature listings"
 msgstr "列出簽章時顯示使用者提供的註記"
 
-#: g10/gpg.c:1993
+#: g10/gpg.c:2006
 msgid "show preferred keyserver URLs during signature listings"
 msgstr "列出簽章時顯示偏好的金鑰伺服器 URL"
 
-#: g10/gpg.c:1995
+#: g10/gpg.c:2008
 msgid "show user ID validity during key listings"
 msgstr "列出金鑰時顯示使用者 ID 有效性"
 
-#: g10/gpg.c:1997
+#: g10/gpg.c:2010
 msgid "show revoked and expired user IDs in key listings"
 msgstr "列出金鑰時顯示已撤銷或過期的使用者 ID"
 
-#: g10/gpg.c:1999
+#: g10/gpg.c:2012
 msgid "show revoked and expired subkeys in key listings"
 msgstr "列出金鑰時顯示已撤銷或過期的子鑰"
 
-#: g10/gpg.c:2001
+#: g10/gpg.c:2014
 msgid "show the keyring name in key listings"
 msgstr "在金鑰清單中顯示鑰匙圈名稱"
 
-#: g10/gpg.c:2003
+#: g10/gpg.c:2016
 msgid "show expiration dates during signature listings"
 msgstr "列出簽章時顯示有效期限"
 
-#: g10/gpg.c:2118
+#: g10/gpg.c:2131
 #, fuzzy, c-format
 #| msgid "unknown option '%s'\n"
 msgid "unknown TOFU policy '%s'\n"
 msgstr "未知的選項 '%s'\n"
 
-#: g10/gpg.c:2120
+#: g10/gpg.c:2133
 #, c-format
 msgid "(use \"help\" to list choices)\n"
 msgstr ""
 
-#: g10/gpg.c:2840 g10/gpg.c:3671 g10/gpg.c:3683
+#: g10/gpg.c:2856 g10/gpg.c:3691 g10/gpg.c:3703
 #, c-format
 msgid "Note: %s is not for normal use!\n"
 msgstr "請注意: 一般情況下不採用 %s!\n"
 
-#: g10/gpg.c:3017 g10/gpg.c:3029
+#: g10/gpg.c:3033 g10/gpg.c:3045
 #, c-format
 msgid "'%s' is not a valid signature expiration\n"
 msgstr "'%s' 不是有效的簽章使用期限\n"
 
-#: g10/gpg.c:3051
+#: g10/gpg.c:3067
 #, fuzzy, c-format
 #| msgid "line %d: not a valid email address\n"
 msgid "\"%s\" is not a proper mail address\n"
 msgstr "第 %d 列: 不是有效的電子郵件地址\n"
 
-#: g10/gpg.c:3083 sm/gpgsm.c:1177
+#: g10/gpg.c:3099 sm/gpgsm.c:1091
 #, c-format
 msgid "invalid pinentry mode '%s'\n"
 msgstr "無效的個人識別碼項目模式 '%s'\n"
 
-#: g10/gpg.c:3089 sm/gpgsm.c:1183
+#: g10/gpg.c:3105 sm/gpgsm.c:1097
 #, fuzzy, c-format
 #| msgid "invalid argument for option \"%.50s\"\n"
 msgid "invalid request origin '%s'\n"
 msgstr "選項 \"%.50s\" 的引數無效\n"
 
-#: g10/gpg.c:3143
+#: g10/gpg.c:3159
 #, c-format
 msgid "'%s' is not a valid character set\n"
 msgstr "'%s' 不是有效的字元集\n"
 
-#: g10/gpg.c:3165 g10/gpg.c:3375 g10/keyedit.c:5281
+#: g10/gpg.c:3181 g10/gpg.c:3395 g10/keyedit.c:5282
 #, c-format
 msgid "could not parse keyserver URL\n"
 msgstr "無法剖析金鑰伺服器 URL\n"
 
-#: g10/gpg.c:3183
+#: g10/gpg.c:3199
 #, c-format
 msgid "%s:%d: invalid keyserver options\n"
 msgstr "%s:%d: 無效的金鑰伺服器選項\n"
 
-#: g10/gpg.c:3186
+#: g10/gpg.c:3202
 #, c-format
 msgid "invalid keyserver options\n"
 msgstr "無效的金鑰伺服器選項\n"
 
-#: g10/gpg.c:3193
+#: g10/gpg.c:3209
 #, c-format
 msgid "%s:%d: invalid import options\n"
 msgstr "%s:%d: 無效的匯入選項\n"
 
-#: g10/gpg.c:3196
+#: g10/gpg.c:3212
 #, c-format
 msgid "invalid import options\n"
 msgstr "無效的匯入選項\n"
 
-#: g10/gpg.c:3202 g10/gpg.c:3217
+#: g10/gpg.c:3218 g10/gpg.c:3233
 #, fuzzy, c-format
 #| msgid "invalid list options\n"
 msgid "invalid filter option: %s\n"
 msgstr "無效的清單選項\n"
 
-#: g10/gpg.c:3208
+#: g10/gpg.c:3224
 #, c-format
 msgid "%s:%d: invalid export options\n"
 msgstr "%s:%d: 無效的匯出選項\n"
 
-#: g10/gpg.c:3211
+#: g10/gpg.c:3227
 #, c-format
 msgid "invalid export options\n"
 msgstr "無效的匯出選項\n"
 
-#: g10/gpg.c:3223
+#: g10/gpg.c:3239
 #, c-format
 msgid "%s:%d: invalid list options\n"
 msgstr "%s:%d: 無效的清單選項\n"
 
-#: g10/gpg.c:3226
+#: g10/gpg.c:3242
 #, c-format
 msgid "invalid list options\n"
 msgstr "無效的清單選項\n"
 
-#: g10/gpg.c:3234
+#: g10/gpg.c:3250
 msgid "display photo IDs during signature verification"
 msgstr "驗證簽章時顯示照片 ID"
 
-#: g10/gpg.c:3236
+#: g10/gpg.c:3252
 msgid "show policy URLs during signature verification"
 msgstr "驗證簽章時顯示原則 URL"
 
-#: g10/gpg.c:3238
+#: g10/gpg.c:3254
 msgid "show all notations during signature verification"
 msgstr "驗證簽章時顯示所有的註記"
 
-#: g10/gpg.c:3240
+#: g10/gpg.c:3256
 msgid "show IETF standard notations during signature verification"
 msgstr "驗證簽章時顯示 IETF 標準註記"
 
-#: g10/gpg.c:3244
+#: g10/gpg.c:3260
 msgid "show user-supplied notations during signature verification"
 msgstr "驗證簽章時顯示使用者提供的註記"
 
-#: g10/gpg.c:3246
+#: g10/gpg.c:3262
 msgid "show preferred keyserver URLs during signature verification"
 msgstr "驗證簽章時顯示偏好的金鑰伺服器 URL"
 
-#: g10/gpg.c:3248
+#: g10/gpg.c:3264
 msgid "show user ID validity during signature verification"
 msgstr "驗證簽章時顯示使用者 ID 有效性"
 
-#: g10/gpg.c:3250
+#: g10/gpg.c:3266
 msgid "show revoked and expired user IDs in signature verification"
 msgstr "驗證簽章時顯示已撤銷或過期的使用者 ID"
 
-#: g10/gpg.c:3252
+#: g10/gpg.c:3268
 msgid "show only the primary user ID in signature verification"
 msgstr "驗證簽章時祇顯示主要的使用者 ID"
 
-#: g10/gpg.c:3254
+#: g10/gpg.c:3270
 msgid "validate signatures with PKA data"
 msgstr "以 PKA 資料驗證簽章"
 
-#: g10/gpg.c:3256
+#: g10/gpg.c:3272
 msgid "elevate the trust of signatures with valid PKA data"
 msgstr "提高對持有有效 PKA 資料之簽章的信任"
 
-#: g10/gpg.c:3263
+#: g10/gpg.c:3279
 #, c-format
 msgid "%s:%d: invalid verify options\n"
 msgstr "%s:%d: 無效的驗證選項\n"
 
-#: g10/gpg.c:3266
+#: g10/gpg.c:3282
 #, c-format
 msgid "invalid verify options\n"
 msgstr "無效的驗證選項\n"
 
-#: g10/gpg.c:3273
+#: g10/gpg.c:3289
 #, c-format
 msgid "unable to set exec-path to %s\n"
 msgstr "無法把執行檔路徑設成 %s\n"
 
-#: g10/gpg.c:3478
+#: g10/gpg.c:3498
 #, c-format
 msgid "%s:%d: invalid auto-key-locate list\n"
 msgstr "%s:%d: 無效的自動金鑰定址清單\n"
 
-#: g10/gpg.c:3481
+#: g10/gpg.c:3501
 #, c-format
 msgid "invalid auto-key-locate list\n"
 msgstr "無效的自動金鑰定址清單\n"
 
-#: g10/gpg.c:3653 sm/gpgsm.c:1541
+#: g10/gpg.c:3673 sm/gpgsm.c:1441
 #, c-format
 msgid "WARNING: program may create a core file!\n"
 msgstr "警告: 程式可能會傾印出核心檔!\n"
 
-#: g10/gpg.c:3664
+#: g10/gpg.c:3684
 #, c-format
 msgid "WARNING: %s overrides %s\n"
 msgstr "警告: %s 會推翻 %s\n"
 
-#: g10/gpg.c:3673
+#: g10/gpg.c:3693
 #, c-format
 msgid "%s not allowed with %s!\n"
 msgstr "%s 不允許跟 %s 併用!\n"
 
-#: g10/gpg.c:3676
+#: g10/gpg.c:3696
 #, c-format
 msgid "%s makes no sense with %s!\n"
 msgstr "%s 跟 %s 放在一起沒有意義!\n"
 
-#: g10/gpg.c:3691 sm/gpgsm.c:1558 dirmngr/dirmngr.c:1082
+#: g10/gpg.c:3711 sm/gpgsm.c:1458 dirmngr/dirmngr.c:1117
 #, c-format
 msgid "WARNING: running with faked system time: "
 msgstr "警告: 正在偽造的系統時間中執行: "
 
-#: g10/gpg.c:3712
+#: g10/gpg.c:3732
 #, c-format
 msgid "will not run with insecure memory due to %s\n"
 msgstr "因為 %s 而不會在不安全的記憶體中執行\n"
 
-#: g10/gpg.c:3747 g10/gpg.c:3771 sm/gpgsm.c:1625
+#: g10/gpg.c:3767 g10/gpg.c:3791 sm/gpgsm.c:1525
 #, c-format
 msgid "selected cipher algorithm is invalid\n"
 msgstr "所選的編密演算法無效\n"
 
-#: g10/gpg.c:3759
+#: g10/gpg.c:3779
 #, c-format
 msgid "selected compression algorithm is invalid\n"
 msgstr "所選的壓縮演算法無效\n"
 
-#: g10/gpg.c:3765
+#: g10/gpg.c:3785
 #, c-format
 msgid "selected certification digest algorithm is invalid\n"
 msgstr "所選的憑證摘要演算法無效\n"
 
-#: g10/gpg.c:3780
+#: g10/gpg.c:3800
 #, c-format
 msgid "completes-needed must be greater than 0\n"
 msgstr "completes-needed 一定要大於 0\n"
 
-#: g10/gpg.c:3782
+#: g10/gpg.c:3802
 #, c-format
 msgid "marginals-needed must be greater than 1\n"
 msgstr "marginals-needed 一定要大於 1\n"
 
-#: g10/gpg.c:3784
+#: g10/gpg.c:3804
 #, c-format
 msgid "max-cert-depth must be in the range from 1 to 255\n"
 msgstr "max-cert-depth 一定要介於 1 和 255 之間\n"
 
-#: g10/gpg.c:3786
+#: g10/gpg.c:3806
 #, c-format
 msgid "invalid default-cert-level; must be 0, 1, 2, or 3\n"
 msgstr "無效的 default-cert-level; 一定要是 0, 1, 2 或 3\n"
 
-#: g10/gpg.c:3788
+#: g10/gpg.c:3808
 #, c-format
 msgid "invalid min-cert-level; must be 1, 2, or 3\n"
 msgstr "無效的 min-cert-level; 一定要是 1, 2 或 3\n"
 
-#: g10/gpg.c:3791
+#: g10/gpg.c:3812
 #, c-format
 msgid "Note: simple S2K mode (0) is strongly discouraged\n"
 msgstr "請注意: 強烈不建議使用單純 S2K 模式 (0)\n"
 
-#: g10/gpg.c:3795
+#: g10/gpg.c:3816
 #, c-format
 msgid "invalid S2K mode; must be 0, 1 or 3\n"
 msgstr "無效的 S2K 模式; 一定要是 0, 1 或 3\n"
 
-#: g10/gpg.c:3802
+#: g10/gpg.c:3823
 #, c-format
 msgid "invalid default preferences\n"
 msgstr "無效的預設偏好\n"
 
-#: g10/gpg.c:3806
+#: g10/gpg.c:3827
 #, c-format
 msgid "invalid personal cipher preferences\n"
 msgstr "無效的個人編密法偏好\n"
 
-#: g10/gpg.c:3810
+#: g10/gpg.c:3831
 #, c-format
 msgid "invalid personal digest preferences\n"
 msgstr "無效的個人摘要偏好\n"
 
-#: g10/gpg.c:3814
+#: g10/gpg.c:3835
 #, c-format
 msgid "invalid personal compress preferences\n"
 msgstr "無效的個人壓縮偏好\n"
 
-#: g10/gpg.c:3850
+#: g10/gpg.c:3871
 #, c-format
 msgid "%s does not yet work with %s\n"
 msgstr "%s 還沒辦法跟 %s 一起運作\n"
 
-#: g10/gpg.c:3913
+#: g10/gpg.c:3934
 #, fuzzy, c-format
 #| msgid "you may not use compression algorithm '%s' while in %s mode\n"
 msgid "compression algorithm '%s' may not be used in %s mode\n"
 msgstr "你不該將 '%s' 壓縮演算法用於 %s 模式\n"
 
-#: g10/gpg.c:4057
+#: g10/gpg.c:4078
 #, c-format
 msgid "failed to initialize the TrustDB: %s\n"
 msgstr "信任資料庫啟始失敗: %s\n"
 
-#: g10/gpg.c:4069
+#: g10/gpg.c:4090
 #, c-format
 msgid "WARNING: recipients (-r) given without using public key encryption\n"
 msgstr "警告: 給定的收件者 (-r) 未使用公鑰加密\n"
 
-#: g10/gpg.c:4141
+#: g10/gpg.c:4162
 #, c-format
 msgid "symmetric encryption of '%s' failed: %s\n"
 msgstr "'%s' 對稱式加密失敗: %s\n"
 
-#: g10/gpg.c:4170
+#: g10/gpg.c:4191
 #, c-format
 msgid "you cannot use --symmetric --encrypt with --s2k-mode 0\n"
 msgstr "你不能在 --s2k-mode 0 中使用 --symmetric --encrypt\n"
 
-#: g10/gpg.c:4173
+#: g10/gpg.c:4194
 #, fuzzy, c-format
 #| msgid "you cannot use --symmetric --encrypt while in %s mode\n"
 msgid "you cannot use --symmetric --encrypt in %s mode\n"
 msgstr "你不能在 %s 模式中使用 --symmetric --encrypt\n"
 
-#: g10/gpg.c:4231
+#: g10/gpg.c:4252
 #, c-format
 msgid "you cannot use --symmetric --sign --encrypt with --s2k-mode 0\n"
 msgstr "你不能在 --s2k-mode 0 中使用 --symmetric --sign --encrypt\n"
 
-#: g10/gpg.c:4234
+#: g10/gpg.c:4255
 #, fuzzy, c-format
 #| msgid "you cannot use --symmetric --sign --encrypt while in %s mode\n"
 msgid "you cannot use --symmetric --sign --encrypt in %s mode\n"
 msgstr "你不能在 %s 模式中使用 --symmetric --sign --encrypt\n"
 
-#: g10/gpg.c:4622 g10/keyserver.c:1881
+#: g10/gpg.c:4643 g10/keyserver.c:1648
 #, c-format
 msgid "keyserver send failed: %s\n"
 msgstr "送至金鑰伺服器失敗: %s\n"
 
-#: g10/gpg.c:4627
+#: g10/gpg.c:4648
 #, c-format
 msgid "keyserver receive failed: %s\n"
 msgstr "從金鑰伺服器接收失敗: %s\n"
 
-#: g10/gpg.c:4633
+#: g10/gpg.c:4654
 #, c-format
 msgid "key export failed: %s\n"
 msgstr "金鑰匯出失敗: %s\n"
 
-#: g10/gpg.c:4646
+#: g10/gpg.c:4667
 #, fuzzy, c-format
 #| msgid "key export failed: %s\n"
 msgid "export as ssh key failed: %s\n"
 msgstr "金鑰匯出失敗: %s\n"
 
-#: g10/gpg.c:4658
+#: g10/gpg.c:4679
 #, c-format
 msgid "keyserver search failed: %s\n"
 msgstr "用金鑰伺服器搜尋失敗: %s\n"
 
-#: g10/gpg.c:4671
+#: g10/gpg.c:4692
 #, c-format
 msgid "keyserver refresh failed: %s\n"
 msgstr "從金鑰伺服器更新失敗: %s\n"
 
-#: g10/gpg.c:4738
+#: g10/gpg.c:4759
 #, c-format
 msgid "dearmoring failed: %s\n"
 msgstr "解開封裝失敗: %s\n"
 
-#: g10/gpg.c:4749
+#: g10/gpg.c:4770
 #, c-format
 msgid "enarmoring failed: %s\n"
 msgstr "進行封裝失敗: %s\n"
 
-#: g10/gpg.c:4841
+#: g10/gpg.c:4862
 #, c-format
 msgid "invalid hash algorithm '%s'\n"
 msgstr "無效的雜湊演算法 '%s'\n"
 
-#: g10/gpg.c:4993 g10/tofu.c:2153
+#: g10/gpg.c:5014 g10/tofu.c:2153
 #, fuzzy, c-format
 #| msgid "error loading certificate '%s': %s\n"
 msgid "error parsing key specification '%s': %s\n"
 msgstr "載入憑證 '%s' 時出錯: %s\n"
 
-#: g10/gpg.c:5006
+#: g10/gpg.c:5027
 #, c-format
 msgid "'%s' does not appear to be a valid key ID, fingerprint or keygrip\n"
 msgstr ""
 
-#: g10/gpg.c:5062
+#: g10/gpg.c:5083
 #, c-format
 msgid "WARNING: no command supplied.  Trying to guess what you mean ...\n"
 msgstr ""
 
-#: g10/gpg.c:5073
+#: g10/gpg.c:5094
 #, c-format
 msgid "Go ahead and type your message ...\n"
 msgstr "請開始輸入你的訊息 ...\n"
 
-#: g10/gpg.c:5418
+#: g10/gpg.c:5439
 #, c-format
 msgid "the given certification policy URL is invalid\n"
 msgstr "給定的的憑證原則 URL 無效\n"
 
-#: g10/gpg.c:5420
+#: g10/gpg.c:5441
 #, c-format
 msgid "the given signature policy URL is invalid\n"
 msgstr "給定的簽章原則 URL 無效\n"
 
-#: g10/gpg.c:5453
+#: g10/gpg.c:5474
 #, c-format
 msgid "the given preferred keyserver URL is invalid\n"
 msgstr "給定的偏好金鑰伺服器 URL 無效\n"
@@ -3316,7 +3334,7 @@ msgstr "|檔案|從指定鑰匙圈檔案裡取用金鑰"
 msgid "make timestamp conflicts only a warning"
 msgstr "僅把時間戳印矛盾視為警告"
 
-#: g10/gpgv.c:86 sm/gpgsm.c:354 tools/gpgconf.c:112
+#: g10/gpgv.c:86 sm/gpgsm.c:357 tools/gpgconf.c:112
 msgid "|FD|write status info to this FD"
 msgstr "|檔案描述|把狀態資訊寫入此指定檔案描述"
 
@@ -3401,264 +3419,264 @@ msgstr "假設輸入的是二進制格式"
 msgid "repair keys on import"
 msgstr "顯示金鑰指紋"
 
-#: g10/import.c:380 g10/import.c:699
+#: g10/import.c:392 g10/import.c:711
 #, c-format
 msgid "skipping block of type %d\n"
 msgstr "正在跳過 %d 型態的區塊\n"
 
-#: g10/import.c:716
+#: g10/import.c:728
 #, c-format
 msgid "%lu keys processed so far\n"
 msgstr "目前已處理 %lu 把金鑰\n"
 
-#: g10/import.c:802
+#: g10/import.c:814
 #, c-format
 msgid "Total number processed: %lu\n"
 msgstr "處理總量: %lu\n"
 
-#: g10/import.c:805
+#: g10/import.c:817
 #, fuzzy, c-format
 #| msgid "      skipped new keys: %lu\n"
 msgid "    skipped PGP-2 keys: %lu\n"
 msgstr "        已跳過的新金鑰: %lu\n"
 
-#: g10/import.c:807
+#: g10/import.c:819
 #, c-format
 msgid "      skipped new keys: %lu\n"
 msgstr "        已跳過的新金鑰: %lu\n"
 
-#: g10/import.c:810
+#: g10/import.c:822
 #, c-format
 msgid "          w/o user IDs: %lu\n"
 msgstr "       沒有使用者的 ID: %lu\n"
 
-#: g10/import.c:813 sm/import.c:130
+#: g10/import.c:825 sm/import.c:130
 #, c-format
 msgid "              imported: %lu"
 msgstr "                已匯入: %lu"
 
-#: g10/import.c:817 sm/import.c:134
+#: g10/import.c:829 sm/import.c:134
 #, c-format
 msgid "             unchanged: %lu\n"
 msgstr "              未改變的: %lu\n"
 
-#: g10/import.c:819
+#: g10/import.c:831
 #, c-format
 msgid "          new user IDs: %lu\n"
 msgstr "         新的使用者 ID: %lu\n"
 
-#: g10/import.c:821
+#: g10/import.c:833
 #, c-format
 msgid "           new subkeys: %lu\n"
 msgstr "              新的子鑰: %lu\n"
 
-#: g10/import.c:823
+#: g10/import.c:835
 #, c-format
 msgid "        new signatures: %lu\n"
 msgstr "              新的簽章: %lu\n"
 
-#: g10/import.c:825
+#: g10/import.c:837
 #, c-format
 msgid "   new key revocations: %lu\n"
 msgstr "          新的金鑰撤銷: %lu\n"
 
-#: g10/import.c:827 sm/import.c:136
+#: g10/import.c:839 sm/import.c:136
 #, c-format
 msgid "      secret keys read: %lu\n"
 msgstr "          已讀取的私鑰: %lu\n"
 
-#: g10/import.c:829 sm/import.c:138
+#: g10/import.c:841 sm/import.c:138
 #, c-format
 msgid "  secret keys imported: %lu\n"
 msgstr "          已匯入的私鑰: %lu\n"
 
-#: g10/import.c:831 sm/import.c:140
+#: g10/import.c:843 sm/import.c:140
 #, c-format
 msgid " secret keys unchanged: %lu\n"
 msgstr "          未改變的私鑰: %lu\n"
 
-#: g10/import.c:833 sm/import.c:142
+#: g10/import.c:845 sm/import.c:142
 #, c-format
 msgid "          not imported: %lu\n"
 msgstr "              未被匯入: %lu\n"
 
-#: g10/import.c:835
+#: g10/import.c:847
 #, c-format
 msgid "    signatures cleaned: %lu\n"
 msgstr "      已清除的簽章: %lu\n"
 
-#: g10/import.c:837
+#: g10/import.c:849
 #, c-format
 msgid "      user IDs cleaned: %lu\n"
 msgstr " 已清除的使用者 ID: %lu\n"
 
-#: g10/import.c:1264
+#: g10/import.c:1276
 #, c-format
 msgid ""
 "WARNING: key %s contains preferences for unavailable\n"
 "algorithms on these user IDs:\n"
 msgstr "警告: 金鑰 %s 的偏好設定含有這些使用者 ID 無法使用的演算法:\n"
 
-#: g10/import.c:1306
+#: g10/import.c:1318
 #, c-format
 msgid "         \"%s\": preference for cipher algorithm %s\n"
 msgstr "         \"%s\": 編密演算法 %s 的偏好設定\n"
 
-#: g10/import.c:1321
+#: g10/import.c:1333
 #, c-format
 msgid "         \"%s\": preference for digest algorithm %s\n"
 msgstr "         \"%s\": 摘要演算法 %s 的偏好設定\n"
 
-#: g10/import.c:1333
+#: g10/import.c:1345
 #, c-format
 msgid "         \"%s\": preference for compression algorithm %s\n"
 msgstr "         \"%s\": 壓縮演算法 %s 的偏好設定\n"
 
-#: g10/import.c:1346
+#: g10/import.c:1358
 #, c-format
 msgid "it is strongly suggested that you update your preferences and\n"
 msgstr "我們強烈建議你更新偏好設定, 並重新\n"
 
-#: g10/import.c:1348
+#: g10/import.c:1360
 #, c-format
 msgid "re-distribute this key to avoid potential algorithm mismatch problems\n"
 msgstr "散佈此金鑰, 以避免潛在的演算法不一致問題.\n"
 
-#: g10/import.c:1373
+#: g10/import.c:1385
 #, c-format
 msgid "you can update your preferences with: gpg --edit-key %s updpref save\n"
 msgstr "你可以像這樣來更新偏好設定: gpg --edit-key %s updpref save\n"
 
-#: g10/import.c:1887 g10/import.c:3001
+#: g10/import.c:1899 g10/import.c:3013
 #, c-format
 msgid "key %s: no user ID\n"
 msgstr "金鑰 %s: 沒有使用者 ID\n"
 
-#: g10/import.c:1893
+#: g10/import.c:1905
 #, c-format
 msgid "key %s: %s\n"
 msgstr "金鑰 %s: %s\n"
 
-#: g10/import.c:1894 g10/import.c:2973
+#: g10/import.c:1906 g10/import.c:2985
 msgid "rejected by import screener"
 msgstr "遭到匯入篩選程式駁回"
 
-#: g10/import.c:1938
+#: g10/import.c:1950
 #, c-format
 msgid "key %s: PKS subkey corruption repaired\n"
 msgstr "金鑰 %s: PKS 子鑰的訛誤已被修復\n"
 
-#: g10/import.c:1959
+#: g10/import.c:1971
 #, c-format
 msgid "key %s: accepted non self-signed user ID \"%s\"\n"
 msgstr "金鑰 %s: 已接受非自我簽署的使用者 ID \"%s\"\n"
 
-#: g10/import.c:1969 g10/import.c:2000
+#: g10/import.c:1981 g10/import.c:2012
 #, c-format
 msgid "key %s: no valid user IDs\n"
 msgstr "金鑰 %s: 沒有有效的使用者 ID\n"
 
-#: g10/import.c:1971
+#: g10/import.c:1983
 #, c-format
 msgid "this may be caused by a missing self-signature\n"
 msgstr "這可能肇因於遺失自我簽章所致\n"
 
-#: g10/import.c:2050 g10/import.c:3387
+#: g10/import.c:2062 g10/import.c:3399
 #, c-format
 msgid "key %s: public key not found: %s\n"
 msgstr "金鑰 %s: 找不到公鑰: %s\n"
 
-#: g10/import.c:2056
+#: g10/import.c:2068
 #, c-format
 msgid "key %s: new key - skipped\n"
 msgstr "金鑰 %s: 新的金鑰 - 已跳過\n"
 
-#: g10/import.c:2068
+#: g10/import.c:2080
 #, c-format
 msgid "no writable keyring found: %s\n"
 msgstr "找不到可寫入的鑰匙圈: %s\n"
 
-#: g10/import.c:2100 g10/import.c:2202 g10/import.c:3464
+#: g10/import.c:2112 g10/import.c:2214 g10/import.c:3476
 #, c-format
 msgid "error writing keyring '%s': %s\n"
 msgstr "寫入鑰匙圈 '%s' 時出錯: %s\n"
 
-#: g10/import.c:2123
+#: g10/import.c:2135
 #, c-format
 msgid "key %s: public key \"%s\" imported\n"
 msgstr "金鑰 %s: 公鑰 \"%s\" 已匯入\n"
 
-#: g10/import.c:2150
+#: g10/import.c:2162
 #, c-format
 msgid "key %s: doesn't match our copy\n"
 msgstr "金鑰 %s: 跟我們的副本不吻合\n"
 
-#: g10/import.c:2218
+#: g10/import.c:2230
 #, c-format
 msgid "key %s: \"%s\" 1 new user ID\n"
 msgstr "金鑰 %s: \"%s\" 1 個新的使用者 ID\n"
 
-#: g10/import.c:2221
+#: g10/import.c:2233
 #, c-format
 msgid "key %s: \"%s\" %d new user IDs\n"
 msgstr "金鑰 %s: \"%s\" %d 個新的使用者 ID\n"
 
-#: g10/import.c:2224
+#: g10/import.c:2236
 #, c-format
 msgid "key %s: \"%s\" 1 new signature\n"
 msgstr "金鑰 %s: \"%s\" 1 份新的簽章\n"
 
-#: g10/import.c:2227
+#: g10/import.c:2239
 #, c-format
 msgid "key %s: \"%s\" %d new signatures\n"
 msgstr "金鑰 %s: \"%s\" %d 份新的簽章\n"
 
-#: g10/import.c:2230
+#: g10/import.c:2242
 #, c-format
 msgid "key %s: \"%s\" 1 new subkey\n"
 msgstr "金鑰 %s: \"%s\" 1 把新的子鑰\n"
 
-#: g10/import.c:2233
+#: g10/import.c:2245
 #, c-format
 msgid "key %s: \"%s\" %d new subkeys\n"
 msgstr "金鑰 %s: \"%s\" %d 把新的子鑰\n"
 
-#: g10/import.c:2236
+#: g10/import.c:2248
 #, c-format
 msgid "key %s: \"%s\" %d signature cleaned\n"
 msgstr "金鑰 %s: \"%s\" 已清除 %d 份簽章\n"
 
-#: g10/import.c:2239
+#: g10/import.c:2251
 #, c-format
 msgid "key %s: \"%s\" %d signatures cleaned\n"
 msgstr "金鑰 %s: \"%s\" 已清除 %d 份簽章\n"
 
-#: g10/import.c:2242
+#: g10/import.c:2254
 #, c-format
 msgid "key %s: \"%s\" %d user ID cleaned\n"
 msgstr "金鑰 %s: \"%s\" 已清除 %d 個使用者 ID\n"
 
-#: g10/import.c:2245
+#: g10/import.c:2257
 #, c-format
 msgid "key %s: \"%s\" %d user IDs cleaned\n"
 msgstr "金鑰 %s: \"%s\" 已清除 %d 個使用者 ID\n"
 
-#: g10/import.c:2281
+#: g10/import.c:2293
 #, c-format
 msgid "key %s: \"%s\" not changed\n"
 msgstr "金鑰 %s: \"%s\" 未改變\n"
 
-#: g10/import.c:2640 g10/import.c:2835
+#: g10/import.c:2652 g10/import.c:2847
 #, c-format
 msgid "key %s: secret key imported\n"
 msgstr "金鑰 %s: 私鑰已匯入\n"
 
-#: g10/import.c:2648
+#: g10/import.c:2660
 #, c-format
 msgid "key %s: secret key already exists\n"
 msgstr "金鑰 %s: 私鑰已存在\n"
 
-#: g10/import.c:2656
+#: g10/import.c:2668
 #, c-format
 msgid "key %s: error sending to agent: %s\n"
 msgstr "金鑰 %s: 送至代理程式時出錯: %s\n"
@@ -3671,142 +3689,142 @@ msgstr "金鑰 %s: 送至代理程式時出錯: %s\n"
 #. * Instead, user should be suggested to run 'gpg --card-status',
 #. * then, references to a card will be automatically created
 #. * again.
-#: g10/import.c:2825
+#: g10/import.c:2837
 #, c-format
 msgid "To migrate '%s', with each smartcard, run: %s\n"
 msgstr ""
 
-#: g10/import.c:2972
+#: g10/import.c:2984
 #, c-format
 msgid "secret key %s: %s\n"
 msgstr "私鑰 %s: %s\n"
 
-#: g10/import.c:2993 g10/import.c:3032
+#: g10/import.c:3005 g10/import.c:3044
 #, c-format
 msgid "importing secret keys not allowed\n"
 msgstr "未允許匯入私鑰\n"
 
-#: g10/import.c:3020
+#: g10/import.c:3032
 #, c-format
 msgid "key %s: secret key with invalid cipher %d - skipped\n"
 msgstr "金鑰 %s: 私鑰使用了無效的 %d 編密法 - 已跳過\n"
 
-#: g10/import.c:3182 g10/pkclist.c:72 g10/revoke.c:776
+#: g10/import.c:3194 g10/pkclist.c:72 g10/revoke.c:776
 msgid "No reason specified"
 msgstr "未指定原因"
 
-#: g10/import.c:3183 g10/pkclist.c:74 g10/revoke.c:778
+#: g10/import.c:3195 g10/pkclist.c:74 g10/revoke.c:778
 msgid "Key is superseded"
 msgstr "金鑰被代換了"
 
-#: g10/import.c:3184 g10/pkclist.c:76 g10/revoke.c:777
+#: g10/import.c:3196 g10/pkclist.c:76 g10/revoke.c:777
 msgid "Key has been compromised"
 msgstr "金鑰已經被洩漏了"
 
-#: g10/import.c:3185 g10/pkclist.c:78 g10/revoke.c:779
+#: g10/import.c:3197 g10/pkclist.c:78 g10/revoke.c:779
 msgid "Key is no longer used"
 msgstr "金鑰不再被使用了"
 
-#: g10/import.c:3186 g10/pkclist.c:80 g10/revoke.c:780
+#: g10/import.c:3198 g10/pkclist.c:80 g10/revoke.c:780
 msgid "User ID is no longer valid"
 msgstr "使用者 ID 不再有效了"
 
-#: g10/import.c:3311 g10/keylist.c:1254 g10/pkclist.c:84
+#: g10/import.c:3323 g10/keylist.c:1254 g10/pkclist.c:84
 #, c-format
 msgid "reason for revocation: "
 msgstr "撤銷原因: "
 
-#: g10/import.c:3330 g10/keylist.c:1273 g10/pkclist.c:100
+#: g10/import.c:3342 g10/keylist.c:1273 g10/pkclist.c:100
 #, c-format
 msgid "revocation comment: "
 msgstr "撤銷註釋: "
 
-#: g10/import.c:3380
+#: g10/import.c:3392
 #, c-format
 msgid "key %s: no public key - can't apply revocation certificate\n"
 msgstr "金鑰 %s: 沒有公鑰 - 無法套用撤銷憑證\n"
 
-#: g10/import.c:3411
+#: g10/import.c:3423
 #, c-format
 msgid "key %s: can't locate original keyblock: %s\n"
 msgstr "金鑰 %s: 無法定址原始的金鑰區塊: %s\n"
 
-#: g10/import.c:3418
+#: g10/import.c:3430
 #, c-format
 msgid "key %s: can't read original keyblock: %s\n"
 msgstr "金鑰 %s: 無法讀取原始的金鑰區塊: %s\n"
 
-#: g10/import.c:3438
+#: g10/import.c:3450
 #, c-format
 msgid "key %s: invalid revocation certificate: %s - rejected\n"
 msgstr "金鑰 %s: 無效的撤銷憑證: %s - 已駁回\n"
 
-#: g10/import.c:3473
+#: g10/import.c:3485
 #, c-format
 msgid "key %s: \"%s\" revocation certificate imported\n"
 msgstr "金鑰 %s: \"%s\" 撤銷憑證已匯入\n"
 
-#: g10/import.c:3559
+#: g10/import.c:3571
 #, c-format
 msgid "key %s: no user ID for signature\n"
 msgstr "金鑰 %s: 簽章沒有使用者 ID\n"
 
-#: g10/import.c:3576
+#: g10/import.c:3588
 #, c-format
 msgid "key %s: unsupported public key algorithm on user ID \"%s\"\n"
 msgstr "金鑰 %s: 使用者 ID \"%s\" 用了未支援的公鑰演算法\n"
 
-#: g10/import.c:3578
+#: g10/import.c:3590
 #, c-format
 msgid "key %s: invalid self-signature on user ID \"%s\"\n"
 msgstr "金鑰 %s: 使用者 ID \"%s\" 的自我簽章無效\n"
 
-#: g10/import.c:3595 g10/import.c:3623 g10/import.c:3679
+#: g10/import.c:3607 g10/import.c:3635 g10/import.c:3691
 #, c-format
 msgid "key %s: unsupported public key algorithm\n"
 msgstr "金鑰 %s: 未支援的公鑰演算法\n"
 
-#: g10/import.c:3596
+#: g10/import.c:3608
 #, c-format
 msgid "key %s: invalid direct key signature\n"
 msgstr "金鑰 %s: 無效的直接金鑰簽章\n"
 
-#: g10/import.c:3610
+#: g10/import.c:3622
 #, c-format
 msgid "key %s: no subkey for key binding\n"
 msgstr "金鑰 %s: 沒有可供附帶的子鑰\n"
 
-#: g10/import.c:3625
+#: g10/import.c:3637
 #, c-format
 msgid "key %s: invalid subkey binding\n"
 msgstr "金鑰 %s: 無效的附帶子鑰\n"
 
-#: g10/import.c:3644
+#: g10/import.c:3656
 #, c-format
 msgid "key %s: removed multiple subkey binding\n"
 msgstr "金鑰 %s: 多重附帶子鑰已移除\n"
 
-#: g10/import.c:3668
+#: g10/import.c:3680
 #, c-format
 msgid "key %s: no subkey for key revocation\n"
 msgstr "金鑰 %s: 沒有子鑰可供金鑰撤銷\n"
 
-#: g10/import.c:3681
+#: g10/import.c:3693
 #, c-format
 msgid "key %s: invalid subkey revocation\n"
 msgstr "金鑰 %s: 無效的子鑰撤銷\n"
 
-#: g10/import.c:3696
+#: g10/import.c:3708
 #, c-format
 msgid "key %s: removed multiple subkey revocation\n"
 msgstr "金鑰 %s: 多重子鑰撤銷已移除\n"
 
-#: g10/import.c:3740
+#: g10/import.c:3752
 #, c-format
 msgid "key %s: skipped user ID \"%s\"\n"
 msgstr "金鑰 %s: 使用者 ID \"%s\" 已跳過\n"
 
-#: g10/import.c:3767
+#: g10/import.c:3779
 #, c-format
 msgid "key %s: skipped subkey\n"
 msgstr "金鑰 %s: 子鑰已跳過\n"
@@ -3815,52 +3833,52 @@ msgstr "金鑰 %s: 子鑰已跳過\n"
 #  * to import non-exportable signature when we have the
 #  * the secret key used to create this signature - it
 #  * seems that this makes sense
-#: g10/import.c:3798
+#: g10/import.c:3810
 #, c-format
 msgid "key %s: non exportable signature (class 0x%02X) - skipped\n"
 msgstr "金鑰 %s: 不可匯出的簽章 (等級 0x%02X) - 已跳過\n"
 
-#: g10/import.c:3809
+#: g10/import.c:3821
 #, c-format
 msgid "key %s: revocation certificate at wrong place - skipped\n"
 msgstr "金鑰 %s: 撤銷憑證在錯誤的地方 - 已跳過\n"
 
-#: g10/import.c:3827
+#: g10/import.c:3839
 #, c-format
 msgid "key %s: invalid revocation certificate: %s - skipped\n"
 msgstr "金鑰 %s: 無效的撤銷憑證: %s - 已跳過\n"
 
-#: g10/import.c:3841
+#: g10/import.c:3853
 #, c-format
 msgid "key %s: subkey signature in wrong place - skipped\n"
 msgstr "金鑰 %s: 子鑰簽章在錯誤的地方 - 已跳過\n"
 
-#: g10/import.c:3849
+#: g10/import.c:3861
 #, c-format
 msgid "key %s: unexpected signature class (0x%02X) - skipped\n"
 msgstr "金鑰 %s: 非預期的簽章等級 (0x%02X) - 已跳過\n"
 
-#: g10/import.c:4022
+#: g10/import.c:4034
 #, c-format
 msgid "key %s: duplicated user ID detected - merged\n"
 msgstr "金鑰 %s: 偵測到重複的使用者 ID - 已合併\n"
 
-#: g10/import.c:4087
+#: g10/import.c:4099
 #, c-format
 msgid "WARNING: key %s may be revoked: fetching revocation key %s\n"
 msgstr "警告: 金鑰 %s 可能被撤銷了: 正在取回撤銷金鑰 %s\n"
 
-#: g10/import.c:4103
+#: g10/import.c:4115
 #, c-format
 msgid "WARNING: key %s may be revoked: revocation key %s not present.\n"
 msgstr "警告: 金鑰 %s 可能被撤銷了: 撤銷金鑰 %s 未出現.\n"
 
-#: g10/import.c:4169
+#: g10/import.c:4181
 #, c-format
 msgid "key %s: \"%s\" revocation certificate added\n"
 msgstr "金鑰 %s: 已新增 \"%s\" 撤銷憑證\n"
 
-#: g10/import.c:4207
+#: g10/import.c:4219
 #, c-format
 msgid "key %s: direct key signature added\n"
 msgstr "金鑰 %s: 已新增直接金鑰簽章\n"
@@ -3931,7 +3949,7 @@ msgid ""
 "all signatures.\n"
 msgstr ""
 
-#: g10/keydb.c:431 g10/keydb.c:458 sm/keydb.c:191 sm/keydb.c:204
+#: g10/keydb.c:431 g10/keydb.c:458 sm/keydb.c:190 sm/keydb.c:203
 #, c-format
 msgid "error creating keybox '%s': %s\n"
 msgstr "建立金鑰鑰匙盒 '%s' 時出錯: %s\n"
@@ -3941,7 +3959,7 @@ msgstr "建立金鑰鑰匙盒 '%s' 時出錯: %s\n"
 msgid "error creating keyring '%s': %s\n"
 msgstr "建立鑰匙圈 '%s' 時出錯: %s\n"
 
-#: g10/keydb.c:470 sm/keydb.c:210
+#: g10/keydb.c:470 sm/keydb.c:209
 #, c-format
 msgid "keybox '%s' created\n"
 msgstr "鑰匙盒 '%s' 已建立\n"
@@ -4019,13 +4037,13 @@ msgstr ""
 msgid "User ID \"%s\" is revoked."
 msgstr "使用者 ID \"%s\" 已撤銷."
 
-#: g10/keyedit.c:569 g10/keyedit.c:597 g10/keyedit.c:624 g10/keyedit.c:808
-#: g10/keyedit.c:1655
+#: g10/keyedit.c:569 g10/keyedit.c:597 g10/keyedit.c:624 g10/keyedit.c:809
+#: g10/keyedit.c:1656
 msgid "Are you sure you still want to sign it? (y/N) "
 msgstr "你仍然想要簽署它嗎? (y/N) "
 
-#: g10/keyedit.c:583 g10/keyedit.c:611 g10/keyedit.c:638 g10/keyedit.c:814
-#: g10/keyedit.c:1660 g10/keyedit.c:2667
+#: g10/keyedit.c:583 g10/keyedit.c:611 g10/keyedit.c:638 g10/keyedit.c:815
+#: g10/keyedit.c:1661 g10/keyedit.c:2668
 msgid "  Unable to sign.\n"
 msgstr "  無法簽署.\n"
 
@@ -4097,29 +4115,29 @@ msgstr "\"%s\" 已經被金鑰 %s 在本機簽署了\n"
 msgid "\"%s\" was already signed by key %s\n"
 msgstr "\"%s\" 已經被金鑰 %s 簽署了\n"
 
-#: g10/keyedit.c:756
+#: g10/keyedit.c:757
 msgid "Do you want to sign it again anyway? (y/N) "
 msgstr "你仍然想要再次簽署它嗎? (y/N) "
 
-#: g10/keyedit.c:778
+#: g10/keyedit.c:779
 #, c-format
 msgid "Nothing to sign with key %s\n"
 msgstr "沒有東西可以讓金鑰 %s 簽署\n"
 
-#: g10/keyedit.c:802
+#: g10/keyedit.c:803
 msgid "This key has expired!"
 msgstr "這把金鑰已經過期了!"
 
-#: g10/keyedit.c:820
+#: g10/keyedit.c:821
 #, c-format
 msgid "This key is due to expire on %s.\n"
 msgstr "這把金鑰將在 %s 過期.\n"
 
-#: g10/keyedit.c:826
+#: g10/keyedit.c:827
 msgid "Do you want your signature to expire at the same time? (Y/n) "
 msgstr "你想要讓你的簽章也在同一個時候過期嗎? (Y/n) "
 
-#: g10/keyedit.c:867
+#: g10/keyedit.c:868
 msgid ""
 "How carefully have you verified the key you are about to sign actually "
 "belongs\n"
@@ -4128,31 +4146,31 @@ msgstr ""
 "你有多謹慎檢查正要簽署的金鑰確實屬於上面那個人的名字呢?\n"
 "如果你不知道這個問題的答案, 請輸入 \"0\".\n"
 
-#: g10/keyedit.c:872
+#: g10/keyedit.c:873
 #, c-format
 msgid "   (0) I will not answer.%s\n"
 msgstr "   (0) 我不作答.%s\n"
 
-#: g10/keyedit.c:874
+#: g10/keyedit.c:875
 #, c-format
 msgid "   (1) I have not checked at all.%s\n"
 msgstr "   (1) 我根本沒有檢查過.%s\n"
 
-#: g10/keyedit.c:876
+#: g10/keyedit.c:877
 #, c-format
 msgid "   (2) I have done casual checking.%s\n"
 msgstr "   (2) 我隨意檢查過了.%s\n"
 
-#: g10/keyedit.c:879
+#: g10/keyedit.c:880
 #, c-format
 msgid "   (3) I have done very careful checking.%s\n"
 msgstr "   (3) 我非常小心地檢查過了.%s\n"
 
-#: g10/keyedit.c:886
+#: g10/keyedit.c:887
 msgid "Your selection? (enter '?' for more information): "
 msgstr "你的選擇是? (輸入 '?' 以取得更多資訊): "
 
-#: g10/keyedit.c:913
+#: g10/keyedit.c:914
 #, c-format
 msgid ""
 "Are you sure that you want to sign this key with your\n"
@@ -4161,226 +4179,226 @@ msgstr ""
 "你真的確定要用你的金鑰 \"%s\" (%s)\n"
 "來簽署這把金鑰嗎\n"
 
-#: g10/keyedit.c:921
+#: g10/keyedit.c:922
 msgid "This will be a self-signature.\n"
 msgstr "這將會是一份自我簽章.\n"
 
-#: g10/keyedit.c:926
+#: g10/keyedit.c:927
 msgid "WARNING: the signature will not be marked as non-exportable.\n"
 msgstr "警告: 這份簽章不會被標記為不可匯出.\n"
 
-#: g10/keyedit.c:933
+#: g10/keyedit.c:934
 msgid "WARNING: the signature will not be marked as non-revocable.\n"
 msgstr "警告: 這份簽章不會被標記成不可撤銷.\n"
 
-#: g10/keyedit.c:943
+#: g10/keyedit.c:944
 msgid "The signature will be marked as non-exportable.\n"
 msgstr "這份簽章會被標記成不可匯出.\n"
 
-#: g10/keyedit.c:950
+#: g10/keyedit.c:951
 msgid "The signature will be marked as non-revocable.\n"
 msgstr "這份簽章會被標記成不可撤銷.\n"
 
-#: g10/keyedit.c:957
+#: g10/keyedit.c:958
 msgid "I have not checked this key at all.\n"
 msgstr "我根本沒有檢查過這把金鑰.\n"
 
-#: g10/keyedit.c:962
+#: g10/keyedit.c:963
 msgid "I have checked this key casually.\n"
 msgstr "我隨意檢查過這把金鑰了.\n"
 
-#: g10/keyedit.c:967
+#: g10/keyedit.c:968
 msgid "I have checked this key very carefully.\n"
 msgstr "我非常小心地檢查過這把金鑰了.\n"
 
-#: g10/keyedit.c:979
+#: g10/keyedit.c:980
 msgid "Really sign? (y/N) "
 msgstr "真的要簽署嗎? (y/N)"
 
-#: g10/keyedit.c:1030 g10/keyedit.c:6154 g10/keyedit.c:6237 g10/keyedit.c:6366
-#: g10/keyedit.c:6428 g10/sign.c:466
+#: g10/keyedit.c:1031 g10/keyedit.c:6155 g10/keyedit.c:6238 g10/keyedit.c:6367
+#: g10/keyedit.c:6429 g10/sign.c:466
 #, c-format
 msgid "signing failed: %s\n"
 msgstr "簽署時失敗: %s\n"
 
-#: g10/keyedit.c:1117
+#: g10/keyedit.c:1118
 msgid "Key has only stub or on-card key items - no passphrase to change.\n"
 msgstr "金鑰祇剩下殘骸或者祇含有卡上金鑰項目 - 沒有可變更的密語.\n"
 
-#: g10/keyedit.c:1149
+#: g10/keyedit.c:1150
 #, c-format
 msgid "key %s: error changing passphrase: %s\n"
 msgstr "金鑰 %s: 變更密語時出錯: %s\n"
 
-#: g10/keyedit.c:1261
+#: g10/keyedit.c:1262
 msgid "save and quit"
 msgstr "儲存並離開"
 
-#: g10/keyedit.c:1264
+#: g10/keyedit.c:1265
 msgid "show key fingerprint"
 msgstr "顯示金鑰指紋"
 
-#: g10/keyedit.c:1265
+#: g10/keyedit.c:1266
 #, fuzzy
 #| msgid "Enter the keygrip: "
 msgid "show the keygrip"
 msgstr "請輸入金鑰鑰柄: "
 
-#: g10/keyedit.c:1266
+#: g10/keyedit.c:1267
 msgid "list key and user IDs"
 msgstr "列出金鑰和使用者 ID"
 
-#: g10/keyedit.c:1268
+#: g10/keyedit.c:1269
 msgid "select user ID N"
 msgstr "選擇使用者 ID N"
 
-#: g10/keyedit.c:1269
+#: g10/keyedit.c:1270
 msgid "select subkey N"
 msgstr "選擇子鑰 N"
 
-#: g10/keyedit.c:1270
+#: g10/keyedit.c:1271
 msgid "check signatures"
 msgstr "檢查簽章"
 
-#: g10/keyedit.c:1276
+#: g10/keyedit.c:1277
 msgid "sign selected user IDs [* see below for related commands]"
 msgstr "簽署所選的使用者 ID [* 請參見底下相關的註解]"
 
-#: g10/keyedit.c:1281
+#: g10/keyedit.c:1282
 msgid "sign selected user IDs locally"
 msgstr "僅在本機簽署所選的使用者 ID"
 
-#: g10/keyedit.c:1282
+#: g10/keyedit.c:1283
 msgid "sign selected user IDs with a trust signature"
 msgstr "用信任簽章來簽署所選的使用者 ID"
 
-#: g10/keyedit.c:1284
+#: g10/keyedit.c:1285
 msgid "sign selected user IDs with a non-revocable signature"
 msgstr "用不可撤銷的簽章來簽署所選的使用者 ID"
 
-#: g10/keyedit.c:1286
+#: g10/keyedit.c:1287
 msgid "add a user ID"
 msgstr "增加使用者 ID"
 
-#: g10/keyedit.c:1288
+#: g10/keyedit.c:1289
 msgid "add a photo ID"
 msgstr "增加照片 ID"
 
-#: g10/keyedit.c:1289
+#: g10/keyedit.c:1290
 msgid "delete selected user IDs"
 msgstr "刪除所選的使用者 ID"
 
-#: g10/keyedit.c:1292
+#: g10/keyedit.c:1293
 msgid "add a subkey"
 msgstr "增加子鑰"
 
-#: g10/keyedit.c:1295
+#: g10/keyedit.c:1296
 msgid "add a key to a smartcard"
 msgstr "將金鑰加到智慧卡"
 
-#: g10/keyedit.c:1297
+#: g10/keyedit.c:1298
 msgid "move a key to a smartcard"
 msgstr "將金鑰移動到智慧卡"
 
-#: g10/keyedit.c:1299
+#: g10/keyedit.c:1300
 msgid "move a backup key to a smartcard"
 msgstr "將備份金鑰移動到智慧卡"
 
-#: g10/keyedit.c:1301
+#: g10/keyedit.c:1302
 msgid "delete selected subkeys"
 msgstr "刪除所選的子鑰"
 
-#: g10/keyedit.c:1303
+#: g10/keyedit.c:1304
 msgid "add a revocation key"
 msgstr "增加撤銷金鑰"
 
-#: g10/keyedit.c:1305
+#: g10/keyedit.c:1306
 msgid "delete signatures from the selected user IDs"
 msgstr "從所選的使用者 ID 中刪除簽章"
 
-#: g10/keyedit.c:1307
+#: g10/keyedit.c:1308
 msgid "change the expiration date for the key or selected subkeys"
 msgstr "變更金鑰或所選子鑰的使用期限"
 
-#: g10/keyedit.c:1309
+#: g10/keyedit.c:1310
 msgid "flag the selected user ID as primary"
 msgstr "把所選的使用者 ID 標為主要"
 
-#: g10/keyedit.c:1312
+#: g10/keyedit.c:1313
 msgid "list preferences (expert)"
 msgstr "列出偏好 (專家模式)"
 
-#: g10/keyedit.c:1313
+#: g10/keyedit.c:1314
 msgid "list preferences (verbose)"
 msgstr "列出偏好 (囉唆模式)"
 
-#: g10/keyedit.c:1315
+#: g10/keyedit.c:1316
 msgid "set preference list for the selected user IDs"
 msgstr "設定所選使用者 ID 的偏好清單"
 
-#: g10/keyedit.c:1318
+#: g10/keyedit.c:1319
 msgid "set the preferred keyserver URL for the selected user IDs"
 msgstr "為所選的使用者 ID 設定偏好的金鑰伺服器 URL"
 
-#: g10/keyedit.c:1320
+#: g10/keyedit.c:1321
 msgid "set a notation for the selected user IDs"
 msgstr "為所選的使用者 ID 設定註記"
 
-#: g10/keyedit.c:1322
+#: g10/keyedit.c:1323
 msgid "change the passphrase"
 msgstr "更改密語"
 
-#: g10/keyedit.c:1325
+#: g10/keyedit.c:1326
 msgid "change the ownertrust"
 msgstr "更改主觀信任"
 
-#: g10/keyedit.c:1328
+#: g10/keyedit.c:1329
 msgid "revoke signatures on the selected user IDs"
 msgstr "撤銷所選使用者 ID 的簽章"
 
-#: g10/keyedit.c:1330
+#: g10/keyedit.c:1331
 msgid "revoke selected user IDs"
 msgstr "撤銷所選的使用者 ID"
 
-#: g10/keyedit.c:1333
+#: g10/keyedit.c:1334
 msgid "revoke key or selected subkeys"
 msgstr "撤銷金鑰或所選的子鑰"
 
-#: g10/keyedit.c:1335
+#: g10/keyedit.c:1336
 msgid "enable key"
 msgstr "啟用金鑰"
 
-#: g10/keyedit.c:1336
+#: g10/keyedit.c:1337
 msgid "disable key"
 msgstr "停用金鑰"
 
-#: g10/keyedit.c:1338
+#: g10/keyedit.c:1339
 msgid "show selected photo IDs"
 msgstr "顯示所選的照片 ID"
 
-#: g10/keyedit.c:1340
+#: g10/keyedit.c:1341
 msgid "compact unusable user IDs and remove unusable signatures from key"
 msgstr "從金鑰中精簡無法使用的使用者 ID 並移除無法使用的簽章"
 
-#: g10/keyedit.c:1342
+#: g10/keyedit.c:1343
 msgid "compact unusable user IDs and remove all signatures from key"
 msgstr "從金鑰中精簡無法使用的使用者 ID 並移除所有的簽章"
 
-#: g10/keyedit.c:1463
+#: g10/keyedit.c:1464
 msgid "Secret key is available.\n"
 msgstr "私鑰可用.\n"
 
-#: g10/keyedit.c:1465
+#: g10/keyedit.c:1466
 #, fuzzy
 #| msgid "Secret key is available.\n"
 msgid "Secret subkeys are available.\n"
 msgstr "私鑰可用.\n"
 
-#: g10/keyedit.c:1567
+#: g10/keyedit.c:1568
 msgid "Need the secret key to do this.\n"
 msgstr "要有私鑰纔能這麼做.\n"
 
-#: g10/keyedit.c:1590
+#: g10/keyedit.c:1591
 msgid ""
 "* The 'sign' command may be prefixed with an 'l' for local signatures "
 "(lsign),\n"
@@ -4391,300 +4409,300 @@ msgstr ""
 "  加上 't' 的話就是信任簽章 (tsign), 加上 'nr' 的話就是不可撤銷簽章\n"
 "  (nrsign), 當然也可以任意組合這些選項 (像是 ltsign, tnrsign 等等.).\n"
 
-#: g10/keyedit.c:1648 g10/keyedit.c:2667 g10/keyedit.c:3040 g10/keyedit.c:3108
+#: g10/keyedit.c:1649 g10/keyedit.c:2668 g10/keyedit.c:3041 g10/keyedit.c:3109
 msgid "Key is revoked."
 msgstr "金鑰已撤銷."
 
-#: g10/keyedit.c:1671
+#: g10/keyedit.c:1672
 #, fuzzy
 #| msgid "Really sign all user IDs? (y/N) "
 msgid "Really sign all text user IDs? (y/N) "
 msgstr "真的要簽署所有的使用者 ID 嗎? (y/N) "
 
-#: g10/keyedit.c:1675
+#: g10/keyedit.c:1676
 msgid "Really sign all user IDs? (y/N) "
 msgstr "真的要簽署所有的使用者 ID 嗎? (y/N) "
 
-#: g10/keyedit.c:1683
+#: g10/keyedit.c:1684
 msgid "Hint: Select the user IDs to sign\n"
 msgstr "提示: 選擇使用者 ID 來加以簽署\n"
 
-#: g10/keyedit.c:1694
+#: g10/keyedit.c:1695
 #, c-format
 msgid "Unknown signature type '%s'\n"
 msgstr "未知的簽章種類 '%s'\n"
 
-#: g10/keyedit.c:1718
+#: g10/keyedit.c:1719
 #, c-format
 msgid "This command is not allowed while in %s mode.\n"
 msgstr "在 %s 模式中不允許使用這個指令.\n"
 
-#: g10/keyedit.c:1740 g10/keyedit.c:1764 g10/keyedit.c:1961
+#: g10/keyedit.c:1741 g10/keyedit.c:1765 g10/keyedit.c:1962
 msgid "You must select at least one user ID.\n"
 msgstr "你至少得選擇一個使用者 ID.\n"
 
-#: g10/keyedit.c:1742 g10/keyedit.c:1766 g10/keyedit.c:1923 g10/keyedit.c:1963
+#: g10/keyedit.c:1743 g10/keyedit.c:1767 g10/keyedit.c:1924 g10/keyedit.c:1964
 #, c-format
 msgid "(Use the '%s' command.)\n"
 msgstr ""
 
-#: g10/keyedit.c:1745
+#: g10/keyedit.c:1746
 msgid "You can't delete the last user ID!\n"
 msgstr "你不能刪除最後一個使用者 ID!\n"
 
-#: g10/keyedit.c:1748
+#: g10/keyedit.c:1749
 msgid "Really remove all selected user IDs? (y/N) "
 msgstr "真的要移除所有被選擇的使用者 ID 嗎? (y/N) "
 
-#: g10/keyedit.c:1749
+#: g10/keyedit.c:1750
 msgid "Really remove this user ID? (y/N) "
 msgstr "真的要移除這個使用者 ID 嗎? (y/N) "
 
 #. TRANSLATORS: Please take care: This is about
 #. moving the key and not about removing it.
-#: g10/keyedit.c:1806
+#: g10/keyedit.c:1807
 msgid "Really move the primary key? (y/N) "
 msgstr "真的要移動主鑰嗎? (y/N) "
 
-#: g10/keyedit.c:1818 g10/keyedit.c:4803
+#: g10/keyedit.c:1819 g10/keyedit.c:4804
 msgid "You must select exactly one key.\n"
 msgstr "你一定祇得選擇一把金鑰.\n"
 
-#: g10/keyedit.c:1846
+#: g10/keyedit.c:1847
 msgid "Command expects a filename argument\n"
 msgstr "這項指令要拿一個檔名來當作引數\n"
 
-#: g10/keyedit.c:1867
+#: g10/keyedit.c:1868
 #, c-format
 msgid "Can't open '%s': %s\n"
 msgstr "無法開啟 '%s': %s\n"
 
-#: g10/keyedit.c:1886
+#: g10/keyedit.c:1887
 #, c-format
 msgid "Error reading backup key from '%s': %s\n"
 msgstr "從 '%s' 讀取備份金鑰時出錯: %s\n"
 
-#: g10/keyedit.c:1921
+#: g10/keyedit.c:1922
 msgid "You must select at least one key.\n"
 msgstr "你至少得選擇一把金鑰.\n"
 
-#: g10/keyedit.c:1927
+#: g10/keyedit.c:1928
 msgid "Do you really want to delete the selected keys? (y/N) "
 msgstr "你真的想要刪除所選的金鑰嗎? (y/N) "
 
-#: g10/keyedit.c:1929
+#: g10/keyedit.c:1930
 msgid "Do you really want to delete this key? (y/N) "
 msgstr "你真的想要刪除這把金鑰嗎? (y/N) "
 
-#: g10/keyedit.c:1967
+#: g10/keyedit.c:1968
 msgid "Really revoke all selected user IDs? (y/N) "
 msgstr "真的要撤銷所有所選的使用者 ID 嗎? (y/N) "
 
-#: g10/keyedit.c:1968
+#: g10/keyedit.c:1969
 msgid "Really revoke this user ID? (y/N) "
 msgstr "真的要撤銷這個使用者 ID 嗎? (y/N) "
 
-#: g10/keyedit.c:1986
+#: g10/keyedit.c:1987
 msgid "Do you really want to revoke the entire key? (y/N) "
 msgstr "你真的想要撤銷這整把金鑰嗎? (y/N) "
 
-#: g10/keyedit.c:1997
+#: g10/keyedit.c:1998
 msgid "Do you really want to revoke the selected subkeys? (y/N) "
 msgstr "你真的想要撤銷所選的子鑰嗎? (y/N) "
 
-#: g10/keyedit.c:1999
+#: g10/keyedit.c:2000
 msgid "Do you really want to revoke this subkey? (y/N) "
 msgstr "你真的想要撤銷這把子鑰嗎? (y/N) "
 
-#: g10/keyedit.c:2057
+#: g10/keyedit.c:2058
 msgid "Owner trust may not be set while using a user provided trust database\n"
 msgstr "使用使用者所提供的信任資料庫時可能無法設定主觀信任\n"
 
-#: g10/keyedit.c:2102
+#: g10/keyedit.c:2103
 msgid "Set preference list to:\n"
 msgstr "設定偏好清單至:\n"
 
-#: g10/keyedit.c:2109
+#: g10/keyedit.c:2110
 msgid "Really update the preferences for the selected user IDs? (y/N) "
 msgstr "真的要更新所選使用者 ID 的偏好設定嗎? (y/N) "
 
-#: g10/keyedit.c:2111
+#: g10/keyedit.c:2112
 msgid "Really update the preferences? (y/N) "
 msgstr "真的要更新偏好設定嗎? (y/N) "
 
-#: g10/keyedit.c:2185
+#: g10/keyedit.c:2186
 msgid "Save changes? (y/N) "
 msgstr "要儲存變更嗎? (y/N) "
 
-#: g10/keyedit.c:2189
+#: g10/keyedit.c:2190
 msgid "Quit without saving? (y/N) "
 msgstr "要不儲存就離開嗎? (y/N) "
 
-#: g10/keyedit.c:2216 g10/keyedit.c:2762 g10/keyedit.c:3061 g10/keyedit.c:3214
+#: g10/keyedit.c:2217 g10/keyedit.c:2763 g10/keyedit.c:3062 g10/keyedit.c:3215
 #, c-format
 msgid "Key not changed so no update needed.\n"
 msgstr "金鑰沒有變更所以不需要更新.\n"
 
-#: g10/keyedit.c:2448
+#: g10/keyedit.c:2449
 #, fuzzy, c-format
 #| msgid "You can't delete the last user ID!\n"
 msgid "cannot revoke the last valid user ID.\n"
 msgstr "你不能刪除最後一個使用者 ID!\n"
 
-#: g10/keyedit.c:2475
+#: g10/keyedit.c:2476
 #, fuzzy, c-format
 #| msgid "checking the trust list failed: %s\n"
 msgid "revoking the user ID failed: %s\n"
 msgstr "檢查信任清單時失敗: %s\n"
 
-#: g10/keyedit.c:2541
+#: g10/keyedit.c:2542
 #, fuzzy, c-format
 #| msgid "checking the trust list failed: %s\n"
 msgid "setting the primary user ID failed: %s\n"
 msgstr "檢查信任清單時失敗: %s\n"
 
-#: g10/keyedit.c:2572
+#: g10/keyedit.c:2573
 #, c-format
 msgid "\"%s\" is not a fingerprint\n"
 msgstr "\"%s\" 不是指紋\n"
 
-#: g10/keyedit.c:2602
+#: g10/keyedit.c:2603
 #, c-format
 msgid "\"%s\" is not the primary fingerprint\n"
 msgstr "\"%s\" 不是主要指紋\n"
 
-#: g10/keyedit.c:2738 g10/keyedit.c:2741
+#: g10/keyedit.c:2739 g10/keyedit.c:2742
 #, fuzzy, c-format
 #| msgid "invalid value\n"
 msgid "Invalid user ID '%s': %s\n"
 msgstr "無效的數值\n"
 
-#: g10/keyedit.c:2744
+#: g10/keyedit.c:2745
 msgid "No matching user IDs."
 msgstr "沒有相符的使用者 ID."
 
-#: g10/keyedit.c:2744
+#: g10/keyedit.c:2745
 msgid "Nothing to sign.\n"
 msgstr "沒有東西可以簽署.\n"
 
-#: g10/keyedit.c:2937 g10/keyedit.c:6019
+#: g10/keyedit.c:2938 g10/keyedit.c:6020
 #, c-format
 msgid "Not signed by you.\n"
 msgstr "並非由你所簽署.\n"
 
-#: g10/keyedit.c:2995
+#: g10/keyedit.c:2996
 #, fuzzy, c-format
 #| msgid "checking created signature failed: %s\n"
 msgid "revoking the key signature failed: %s\n"
 msgstr "檢查已建立的簽章時出錯: %s\n"
 
-#: g10/keyedit.c:3116
+#: g10/keyedit.c:3117
 #, fuzzy, c-format
 #| msgid "'%s' is not a valid signature expiration\n"
 msgid "'%s' is not a valid expiration time\n"
 msgstr "'%s' 不是有效的簽章使用期限\n"
 
-#: g10/keyedit.c:3159
+#: g10/keyedit.c:3160
 #, fuzzy, c-format
 #| msgid "\"%s\" is not a fingerprint\n"
 msgid "\"%s\" is not a proper fingerprint\n"
 msgstr "\"%s\" 不是指紋\n"
 
-#: g10/keyedit.c:3183
+#: g10/keyedit.c:3184
 #, fuzzy, c-format
 #| msgid "key \"%s\" not found: %s\n"
 msgid "subkey \"%s\" not found\n"
 msgstr "找不到金鑰 \"%s\": %s\n"
 
-#: g10/keyedit.c:3306
+#: g10/keyedit.c:3307
 msgid "AEAD: "
 msgstr ""
 
-#: g10/keyedit.c:3323
+#: g10/keyedit.c:3324
 msgid "Digest: "
 msgstr "摘要: "
 
-#: g10/keyedit.c:3380
+#: g10/keyedit.c:3381
 msgid "Features: "
 msgstr "特點: "
 
-#: g10/keyedit.c:3397
+#: g10/keyedit.c:3398
 msgid "Keyserver no-modify"
 msgstr "金鑰伺服器無修改"
 
-#: g10/keyedit.c:3412 g10/keylist.c:376
+#: g10/keyedit.c:3413 g10/keylist.c:376
 msgid "Preferred keyserver: "
 msgstr "偏好的金鑰伺服器: "
 
-#: g10/keyedit.c:3420 g10/keyedit.c:3421
+#: g10/keyedit.c:3421 g10/keyedit.c:3422
 msgid "Notations: "
 msgstr "註記: "
 
-#: g10/keyedit.c:3669
+#: g10/keyedit.c:3670
 msgid "There are no preferences on a PGP 2.x-style user ID.\n"
 msgstr "PGP 2.x 型態的使用者 ID 沒有偏好設定.\n"
 
-#: g10/keyedit.c:3741
+#: g10/keyedit.c:3742
 #, c-format
 msgid "The following key was revoked on %s by %s key %s\n"
 msgstr "下列金鑰已經在 %s 時被 %s 金鑰 %s 所撤銷\n"
 
-#: g10/keyedit.c:3765
+#: g10/keyedit.c:3766
 #, c-format
 msgid "This key may be revoked by %s key %s"
 msgstr "這把金鑰可能被 %s 金鑰 %s 所撤銷"
 
-#: g10/keyedit.c:3771
+#: g10/keyedit.c:3772
 msgid "(sensitive)"
 msgstr "(機密)"
 
-#: g10/keyedit.c:3813 g10/keyedit.c:3960 g10/keylist.c:264 g10/keyserver.c:538
+#: g10/keyedit.c:3814 g10/keyedit.c:3961 g10/keylist.c:264 g10/keyserver.c:361
 #, c-format
 msgid "created: %s"
 msgstr "建立: %s"
 
-#: g10/keyedit.c:3816 g10/keylist.c:2149
+#: g10/keyedit.c:3817 g10/keylist.c:2149
 #, c-format
 msgid "revoked: %s"
 msgstr "撤銷: %s"
 
 #  of subkey
-#: g10/keyedit.c:3818 g10/keylist.c:2155
+#: g10/keyedit.c:3819 g10/keylist.c:2155
 #, c-format
 msgid "expired: %s"
 msgstr "過期: %s"
 
 #  of subkey
-#: g10/keyedit.c:3820 g10/keyedit.c:3962 g10/keylist.c:266 g10/keylist.c:2161
-#: g10/keyserver.c:544
+#: g10/keyedit.c:3821 g10/keyedit.c:3963 g10/keylist.c:266 g10/keylist.c:2161
+#: g10/keyserver.c:367
 #, c-format
 msgid "expires: %s"
 msgstr "到期: %s"
 
-#: g10/keyedit.c:3822
+#: g10/keyedit.c:3823
 #, c-format
 msgid "usage: %s"
 msgstr "用途: %s"
 
-#: g10/keyedit.c:3830 g10/keyedit.c:3850 g10/keylist.c:269
+#: g10/keyedit.c:3831 g10/keyedit.c:3851 g10/keylist.c:269
 msgid "card-no: "
 msgstr "卡片編號: "
 
-#: g10/keyedit.c:3889
+#: g10/keyedit.c:3890
 #, c-format
 msgid "trust: %s"
 msgstr "信任: %s"
 
-#: g10/keyedit.c:3893
+#: g10/keyedit.c:3894
 #, c-format
 msgid "validity: %s"
 msgstr "有效性: %s"
 
-#: g10/keyedit.c:3900
+#: g10/keyedit.c:3901
 msgid "This key has been disabled"
 msgstr "這把金鑰已經停用了"
 
-#: g10/keyedit.c:3918
+#: g10/keyedit.c:3919
 msgid ""
 "Please note that the shown key validity is not necessarily correct\n"
 "unless you restart the program.\n"
@@ -4692,17 +4710,17 @@ msgstr ""
 "請注意顯示出來的金鑰有效性不需要更正,\n"
 "除非你重新執行程式.\n"
 
-#: g10/keyedit.c:3979 g10/keyedit.c:4410 g10/keyserver.c:548
-#: g10/mainproc.c:2371 g10/tofu.c:1787 g10/trust.c:437 dirmngr/ocsp.c:791
+#: g10/keyedit.c:3980 g10/keyedit.c:4411 g10/keyserver.c:371
+#: g10/mainproc.c:2380 g10/tofu.c:1787 g10/trust.c:437 dirmngr/ocsp.c:791
 msgid "revoked"
 msgstr "已撤銷"
 
-#: g10/keyedit.c:3981 g10/keyedit.c:4412 g10/keyserver.c:552
-#: g10/mainproc.c:2373 g10/tofu.c:1792 g10/trust.c:124
+#: g10/keyedit.c:3982 g10/keyedit.c:4413 g10/keyserver.c:375
+#: g10/mainproc.c:2382 g10/tofu.c:1792 g10/trust.c:124
 msgid "expired"
 msgstr "已過期"
 
-#: g10/keyedit.c:4098
+#: g10/keyedit.c:4099
 #, c-format
 msgid ""
 "WARNING: no user ID has been marked as primary.  This command may\n"
@@ -4711,17 +4729,17 @@ msgstr ""
 "警告: 沒有任何使用者 ID 被標示為主要 ID. 這項指令可能會\n"
 "      導致不同的使用者 ID 被當成主要 ID.\n"
 
-#: g10/keyedit.c:4150
+#: g10/keyedit.c:4151
 #, c-format
 msgid "WARNING: Your encryption subkey expires soon.\n"
 msgstr "警告: 你的加密子鑰很快將到期.\n"
 
-#: g10/keyedit.c:4151
+#: g10/keyedit.c:4152
 #, c-format
 msgid "You may want to change its expiration date too.\n"
 msgstr "你可能也會想變更其使用期限.\n"
 
-#: g10/keyedit.c:4210
+#: g10/keyedit.c:4211
 msgid ""
 "WARNING: This is a PGP2-style key.  Adding a photo ID may cause some "
 "versions\n"
@@ -4730,72 +4748,72 @@ msgstr ""
 "警告: 這是一把 PGP2 型態的金鑰.\n"
 "      增加照片 ID 可能會導致某些版本的 PGP 駁回這把金鑰.\n"
 
-#: g10/keyedit.c:4215 g10/keyedit.c:4505
+#: g10/keyedit.c:4216 g10/keyedit.c:4506
 msgid "Are you sure you still want to add it? (y/N) "
 msgstr "你確定仍然想要增加嗎? (y/N) "
 
-#: g10/keyedit.c:4221
+#: g10/keyedit.c:4222
 msgid "You may not add a photo ID to a PGP2-style key.\n"
 msgstr "你不可以把照片 ID 增加到 PGP2 型態的金鑰裡.\n"
 
-#: g10/keyedit.c:4236 g10/keygen.c:2899
+#: g10/keyedit.c:4237 g10/keygen.c:2899
 msgid "Such a user ID already exists on this key!\n"
 msgstr "這把金鑰上已經有這樣子的使用者 ID 了!\n"
 
-#: g10/keyedit.c:4338
+#: g10/keyedit.c:4339
 msgid "Delete this good signature? (y/N/q)"
 msgstr "刪除這份完好的簽章嗎? (y/N/q)"
 
-#: g10/keyedit.c:4348
+#: g10/keyedit.c:4349
 msgid "Delete this invalid signature? (y/N/q)"
 msgstr "刪除這份無效的簽章嗎? (y/N/q)"
 
-#: g10/keyedit.c:4352
+#: g10/keyedit.c:4353
 msgid "Delete this unknown signature? (y/N/q)"
 msgstr "刪除這份未知的簽章嗎? (y/N/q)"
 
-#: g10/keyedit.c:4359
+#: g10/keyedit.c:4360
 msgid "Really delete this self-signature? (y/N)"
 msgstr "真的要刪除這份自我簽章嗎? (y/N)"
 
-#: g10/keyedit.c:4375
+#: g10/keyedit.c:4376
 #, fuzzy, c-format
 #| msgid "Deleted %d signature.\n"
 msgid "Deleted %d signature.\n"
 msgid_plural "Deleted %d signatures.\n"
 msgstr[0] "已經刪除了 %d 份簽章.\n"
 
-#: g10/keyedit.c:4379
+#: g10/keyedit.c:4380
 msgid "Nothing deleted.\n"
 msgstr "沒有刪除任何東西.\n"
 
-#: g10/keyedit.c:4414
+#: g10/keyedit.c:4415
 msgid "invalid"
 msgstr "無效"
 
-#: g10/keyedit.c:4416
+#: g10/keyedit.c:4417
 #, c-format
 msgid "User ID \"%s\" compacted: %s\n"
 msgstr "使用者 ID \"%s\" 已精簡: %s\n"
 
-#: g10/keyedit.c:4422
+#: g10/keyedit.c:4423
 #, fuzzy, c-format
 #| msgid "User ID \"%s\": %d signature removed\n"
 msgid "User ID \"%s\": %d signature removed\n"
 msgid_plural "User ID \"%s\": %d signatures removed\n"
 msgstr[0] "使用者 ID \"%s\": 已移除 %d 份簽章\n"
 
-#: g10/keyedit.c:4430
+#: g10/keyedit.c:4431
 #, c-format
 msgid "User ID \"%s\": already minimized\n"
 msgstr "使用者 ID \"%s\": 已經最小化了\n"
 
-#: g10/keyedit.c:4431
+#: g10/keyedit.c:4432
 #, c-format
 msgid "User ID \"%s\": already clean\n"
 msgstr "使用者 ID \"%s\": 已經是乾淨的了\n"
 
-#: g10/keyedit.c:4500
+#: g10/keyedit.c:4501
 msgid ""
 "WARNING: This is a PGP 2.x-style key.  Adding a designated revoker may "
 "cause\n"
@@ -4804,15 +4822,15 @@ msgstr ""
 "警告: 這是一把 PGP2 型態的金鑰.\n"
 "      增加指定撤銷者可能會導致某些版本的 PGP 駁回這把金鑰.\n"
 
-#: g10/keyedit.c:4511
+#: g10/keyedit.c:4512
 msgid "You may not add a designated revoker to a PGP 2.x-style key.\n"
 msgstr "你不可以把指定撤銷者增加到 PGP2 型態的金鑰裡.\n"
 
-#: g10/keyedit.c:4528
+#: g10/keyedit.c:4529
 msgid "Enter the user ID of the designated revoker: "
 msgstr "輸入指定撤銷者的使用者 ID: "
 
-#: g10/keyedit.c:4554
+#: g10/keyedit.c:4555
 #, c-format
 msgid "cannot appoint a PGP 2.x style key as a designated revoker\n"
 msgstr "無法將 PGP 2.x 型態的金鑰指派為指定撤銷者\n"
@@ -4820,26 +4838,26 @@ msgstr "無法將 PGP 2.x 型態的金鑰指派為指定撤銷者\n"
 #  This actually causes no harm (after all, a key that
 #  designates itself as a revoker is the same as a
 #  regular key), but it's easy enough to check.
-#: g10/keyedit.c:4569
+#: g10/keyedit.c:4570
 #, c-format
 msgid "you cannot appoint a key as its own designated revoker\n"
 msgstr "你不能指派某把金鑰為它自己的指定撤銷者\n"
 
-#: g10/keyedit.c:4591
+#: g10/keyedit.c:4592
 #, c-format
 msgid "this key has already been designated as a revoker\n"
 msgstr "已指定這把金鑰為撤銷者了\n"
 
-#: g10/keyedit.c:4609
+#: g10/keyedit.c:4610
 msgid "WARNING: appointing a key as a designated revoker cannot be undone!\n"
 msgstr "警告: 一旦把某把金鑰指派為指定撤銷者後, 就無法反悔了!\n"
 
-#: g10/keyedit.c:4615
+#: g10/keyedit.c:4616
 msgid ""
 "Are you sure you want to appoint this key as a designated revoker? (y/N) "
 msgstr "你確定要指派這把金鑰為指定撤銷者嗎? (y/N) "
 
-#: g10/keyedit.c:4683
+#: g10/keyedit.c:4684
 #, fuzzy
 #| msgid ""
 #| "Are you sure you want to appoint this key as a designated revoker? (y/N) "
@@ -4848,177 +4866,177 @@ msgid ""
 "N) "
 msgstr "你確定要指派這把金鑰為指定撤銷者嗎? (y/N) "
 
-#: g10/keyedit.c:4688
+#: g10/keyedit.c:4689
 msgid "Changing expiration time for a subkey.\n"
 msgstr "正在變更子鑰的使用期限.\n"
 
-#: g10/keyedit.c:4691
+#: g10/keyedit.c:4692
 msgid "Changing expiration time for the primary key.\n"
 msgstr "正在變更主鑰的使用期限.\n"
 
-#: g10/keyedit.c:4747
+#: g10/keyedit.c:4748
 #, c-format
 msgid "You can't change the expiration date of a v3 key\n"
 msgstr "你不能變更 v3 金鑰的使用期限\n"
 
-#: g10/keyedit.c:4807
+#: g10/keyedit.c:4808
 #, fuzzy
 #| msgid "Changing expiration time for a subkey.\n"
 msgid "Changing usage of a subkey.\n"
 msgstr "正在變更子鑰的使用期限.\n"
 
-#: g10/keyedit.c:4810
+#: g10/keyedit.c:4811
 #, fuzzy
 #| msgid "Changing expiration time for the primary key.\n"
 msgid "Changing usage of the primary key.\n"
 msgstr "正在變更主鑰的使用期限.\n"
 
-#: g10/keyedit.c:4928
+#: g10/keyedit.c:4929
 #, c-format
 msgid "signing subkey %s is already cross-certified\n"
 msgstr "簽署子鑰 %s 已經交叉認證過了\n"
 
-#: g10/keyedit.c:4934
+#: g10/keyedit.c:4935
 #, c-format
 msgid "subkey %s does not sign and so does not need to be cross-certified\n"
 msgstr "子鑰 %s 不做簽署之用, 因此無須交叉驗證\n"
 
-#: g10/keyedit.c:5051
+#: g10/keyedit.c:5052
 msgid "Please select exactly one user ID.\n"
 msgstr "請祇選擇一個使用者 ID.\n"
 
-#: g10/keyedit.c:5092 g10/keyedit.c:5206 g10/keyedit.c:5319 g10/keyedit.c:5457
+#: g10/keyedit.c:5093 g10/keyedit.c:5207 g10/keyedit.c:5320 g10/keyedit.c:5458
 #, c-format
 msgid "skipping v3 self-signature on user ID \"%s\"\n"
 msgstr "正在跳過使用者 ID \"%s\" 的 v3 自我簽章\n"
 
-#: g10/keyedit.c:5263
+#: g10/keyedit.c:5264
 msgid "Enter your preferred keyserver URL: "
 msgstr "請輸入你的偏好金鑰伺服器 URL: "
 
-#: g10/keyedit.c:5342
+#: g10/keyedit.c:5343
 msgid "Are you sure you want to replace it? (y/N) "
 msgstr "你確定要取代它嗎? (y/N) "
 
-#: g10/keyedit.c:5343
+#: g10/keyedit.c:5344
 msgid "Are you sure you want to delete it? (y/N) "
 msgstr "你確定要刪除它嗎? (y/N) "
 
-#: g10/keyedit.c:5403
+#: g10/keyedit.c:5404
 msgid "Enter the notation: "
 msgstr "請輸入註記: "
 
-#: g10/keyedit.c:5550
+#: g10/keyedit.c:5551
 msgid "Proceed? (y/N) "
 msgstr "是否繼續? (y/N) "
 
-#: g10/keyedit.c:5620
+#: g10/keyedit.c:5621
 #, c-format
 msgid "No user ID with index %d\n"
 msgstr "索引 %d 沒有對應到使用者 ID\n"
 
-#: g10/keyedit.c:5682
+#: g10/keyedit.c:5683
 #, c-format
 msgid "No user ID with hash %s\n"
 msgstr "雜湊 %s 沒有對應到使用者 ID\n"
 
-#: g10/keyedit.c:5783
+#: g10/keyedit.c:5784
 #, fuzzy, c-format
 #| msgid "No subkey with index %d\n"
 msgid "No subkey with key ID '%s'.\n"
 msgstr "索引 %d 沒有對應到子鑰\n"
 
-#: g10/keyedit.c:5805
+#: g10/keyedit.c:5806
 #, c-format
 msgid "No subkey with index %d\n"
 msgstr "索引 %d 沒有對應到子鑰\n"
 
-#: g10/keyedit.c:5946
+#: g10/keyedit.c:5947
 #, c-format
 msgid "user ID: \"%s\"\n"
 msgstr "使用者 ID: \"%s\"\n"
 
-#: g10/keyedit.c:5949 g10/keyedit.c:6051 g10/keyedit.c:6099
+#: g10/keyedit.c:5950 g10/keyedit.c:6052 g10/keyedit.c:6100
 #, c-format
 msgid "signed by your key %s on %s%s%s\n"
 msgstr "已被你的金鑰 %s 於 %s%s%s 所簽署\n"
 
-#: g10/keyedit.c:5951 g10/keyedit.c:6053 g10/keyedit.c:6101
+#: g10/keyedit.c:5952 g10/keyedit.c:6054 g10/keyedit.c:6102
 msgid " (non-exportable)"
 msgstr " (不可匯出)"
 
-#: g10/keyedit.c:5955
+#: g10/keyedit.c:5956
 #, c-format
 msgid "This signature expired on %s.\n"
 msgstr "這份簽章已經在 %s 過期了.\n"
 
-#: g10/keyedit.c:5960
+#: g10/keyedit.c:5961
 msgid "Are you sure you still want to revoke it? (y/N) "
 msgstr "你確定仍然想要撤銷它嗎? (y/N) "
 
-#: g10/keyedit.c:5965
+#: g10/keyedit.c:5966
 msgid "Create a revocation certificate for this signature? (y/N) "
 msgstr "要為這份簽章建立一份撤銷憑證嗎? (y/N) "
 
-#: g10/keyedit.c:6025
+#: g10/keyedit.c:6026
 #, c-format
 msgid "You have signed these user IDs on key %s:\n"
 msgstr "你已經簽署了金鑰 %s 上的這些使用者 ID:\n"
 
-#: g10/keyedit.c:6054
+#: g10/keyedit.c:6055
 msgid " (non-revocable)"
 msgstr " (不可撤銷)"
 
-#: g10/keyedit.c:6061
+#: g10/keyedit.c:6062
 #, c-format
 msgid "revoked by your key %s on %s\n"
 msgstr "被你的金鑰 %s 於 %s 所撤銷了\n"
 
-#: g10/keyedit.c:6086
+#: g10/keyedit.c:6087
 msgid "You are about to revoke these signatures:\n"
 msgstr "你正要撤銷這些簽章:\n"
 
-#: g10/keyedit.c:6109
+#: g10/keyedit.c:6110
 msgid "Really create the revocation certificates? (y/N) "
 msgstr "真的要建立撤銷憑證嗎? (y/N) "
 
-#: g10/keyedit.c:6142
+#: g10/keyedit.c:6143
 #, c-format
 msgid "no secret key\n"
 msgstr "沒有私鑰\n"
 
-#: g10/keyedit.c:6190
+#: g10/keyedit.c:6191
 #, c-format
 msgid "tried to revoke a non-user ID: %s\n"
 msgstr ""
 
-#: g10/keyedit.c:6200
+#: g10/keyedit.c:6201
 #, c-format
 msgid "user ID \"%s\" is already revoked\n"
 msgstr "使用者 ID \"%s\" 已撤銷\n"
 
-#: g10/keyedit.c:6217
+#: g10/keyedit.c:6218
 #, c-format
 msgid "WARNING: a user ID signature is dated %d seconds in the future\n"
 msgstr "警告: 有一份使用者 ID 的簽章日期為 %d 秒後的未來\n"
 
-#: g10/keyedit.c:6313
+#: g10/keyedit.c:6314
 #, fuzzy, c-format
 #| msgid "You can't delete the last user ID!\n"
 msgid "Cannot revoke the last valid user ID.\n"
 msgstr "你不能刪除最後一個使用者 ID!\n"
 
-#: g10/keyedit.c:6351
+#: g10/keyedit.c:6352
 #, c-format
 msgid "Key %s is already revoked.\n"
 msgstr "金鑰 %s 已撤銷.\n"
 
-#: g10/keyedit.c:6413
+#: g10/keyedit.c:6414
 #, c-format
 msgid "Subkey %s is already revoked.\n"
 msgstr "子鑰 %s 已撤銷.\n"
 
-#: g10/keyedit.c:6510
+#: g10/keyedit.c:6511
 #, c-format
 msgid "Displaying %s photo ID of size %ld for key %s (uid %d)\n"
 msgstr "正在顯示 %s 照片 ID, 其尺寸為 %ld, 屬於金鑰 %s (uid %d) 的照片\n"
@@ -5722,78 +5740,73 @@ msgstr "尊重金鑰上所設定的偏好金鑰伺服器 URL"
 msgid "honor the PKA record set on a key when retrieving keys"
 msgstr "取回金鑰時尊重金鑰所設定的 PKA 記錄"
 
-#: g10/keyserver.c:550
+#: g10/keyserver.c:373
 msgid "disabled"
 msgstr "已停用"
 
-#: g10/keyserver.c:754
+#: g10/keyserver.c:577
 msgid "Enter number(s), N)ext, or Q)uit > "
 msgstr "請輸入數字, N)下一頁, 或 Q)離開 > "
 
-#: g10/keyserver.c:860
+#: g10/keyserver.c:683
 #, c-format
 msgid "invalid keyserver protocol (us %d!=handler %d)\n"
 msgstr "無效的金鑰伺服器協定 (我們用 %d!=經手程式 %d)\n"
 
-#: g10/keyserver.c:1001 g10/keyserver.c:1116
+#: g10/keyserver.c:824 g10/keyserver.c:939
 #, c-format
 msgid "\"%s\" not a key ID: skipping\n"
 msgstr "\"%s\" 並非金鑰 ID: 跳過中\n"
 
-#: g10/keyserver.c:1438 g10/keyserver.c:1471
+#: g10/keyserver.c:1237 g10/keyserver.c:1270
 #, fuzzy, c-format
 #| msgid "refreshing %d keys from %s\n"
 msgid "refreshing %d key from %s\n"
 msgid_plural "refreshing %d keys from %s\n"
 msgstr[0] "更新 %d 份金鑰中 (從 %s )\n"
 
-#: g10/keyserver.c:1445
+#: g10/keyserver.c:1244
 #, c-format
 msgid "WARNING: unable to refresh key %s via %s: %s\n"
 msgstr "警告: 無法更新金鑰 %s 於 %s: %s\n"
 
-#: g10/keyserver.c:1549
+#: g10/keyserver.c:1336
 #, c-format
 msgid "key \"%s\" not found on keyserver\n"
 msgstr "在金鑰伺服器上找不到金鑰 \"%s\"\n"
 
-#: g10/keyserver.c:1552
+#: g10/keyserver.c:1339
 #, c-format
 msgid "key not found on keyserver\n"
 msgstr "在金鑰伺服器上找不到金鑰\n"
 
-#: g10/keyserver.c:1743
-#, c-format
-msgid "requesting key %s from %s server %s\n"
-msgstr "正在請求金鑰 %s 自 %s 伺服器 %s\n"
-
-#: g10/keyserver.c:1747
+#: g10/keyserver.c:1504
 #, c-format
 msgid "requesting key %s from %s\n"
 msgstr "正在請求金鑰 %s 自 %s\n"
 
-#: g10/keyserver.c:1852 g10/keyserver.c:2031
+#: g10/keyserver.c:1619 g10/keyserver.c:1798
 #, fuzzy, c-format
 #| msgid "invalid keyserver options\n"
 msgid "no keyserver known\n"
 msgstr "無效的金鑰伺服器選項\n"
 
-#: g10/keyserver.c:1867 g10/skclist.c:214 g10/skclist.c:242
+#: g10/keyserver.c:1634 g10/skclist.c:215 g10/skclist.c:243
 #, c-format
 msgid "skipped \"%s\": %s\n"
 msgstr "已跳過 \"%s\": %s\n"
 
-#: g10/keyserver.c:1871
+#: g10/keyserver.c:1638
 #, c-format
 msgid "sending key %s to %s\n"
 msgstr "遞送金鑰 %s 至 %s\n"
 
-#: g10/keyserver.c:1912
+#: g10/keyserver.c:1679
 #, c-format
 msgid "requesting key from '%s'\n"
 msgstr "正在向 '%s' 請求金鑰\n"
 
-#: g10/keyserver.c:1928
+#: g10/keyserver.c:1695
 #, c-format
 msgid "WARNING: unable to fetch URI %s: %s\n"
 msgstr "警告: 無法抓取 URI %s: %s\n"
@@ -5808,253 +5821,253 @@ msgstr "加密過的階段金鑰 (%d) 尺寸詭異\n"
 msgid "%s encrypted session key\n"
 msgstr "%s 加密過的階段金鑰\n"
 
-#: g10/mainproc.c:400
+#: g10/mainproc.c:403
 #, c-format
 msgid "passphrase generated with unknown digest algorithm %d\n"
 msgstr "密語係以未知的 %d 摘要演算法所產生\n"
 
-#: g10/mainproc.c:481
+#: g10/mainproc.c:485
 #, c-format
 msgid "public key is %s\n"
 msgstr "公鑰為 %s\n"
 
-#: g10/mainproc.c:557
+#: g10/mainproc.c:561
 #, c-format
 msgid "public key encrypted data: good DEK\n"
 msgstr "公鑰加密過的資料: 完好的 DEK\n"
 
-#: g10/mainproc.c:590
+#: g10/mainproc.c:594
 #, c-format
 msgid "encrypted with %u-bit %s key, ID %s, created %s\n"
 msgstr "已用 %u 位元長的 %s 金鑰,  ID %s, 建立於 %s 所加密\n"
 
-#: g10/mainproc.c:594 g10/pkclist.c:228
+#: g10/mainproc.c:598 g10/pkclist.c:228
 #, c-format
 msgid "      \"%s\"\n"
 msgstr "      \"%s\"\n"
 
-#: g10/mainproc.c:598
+#: g10/mainproc.c:602
 #, c-format
 msgid "encrypted with %s key, ID %s\n"
 msgstr "已用 %s 金鑰, ID %s 所加密\n"
 
-#: g10/mainproc.c:619
+#: g10/mainproc.c:623
 #, c-format
 msgid "public key decryption failed: %s\n"
 msgstr "公鑰解密失敗: %s\n"
 
-#: g10/mainproc.c:641 g10/mainproc.c:970
+#: g10/mainproc.c:645 g10/mainproc.c:976
 #, c-format
 msgid "WARNING: multiple plaintexts seen\n"
 msgstr "警告: 看到了多份明文\n"
 
-#: g10/mainproc.c:649
+#: g10/mainproc.c:653
 #, c-format
 msgid "encrypted with %lu passphrases\n"
 msgstr "已用 %lu 個密語加密了\n"
 
-#: g10/mainproc.c:651
+#: g10/mainproc.c:655
 #, c-format
 msgid "encrypted with 1 passphrase\n"
 msgstr "已用 1 個密語加密了\n"
 
-#: g10/mainproc.c:685 g10/mainproc.c:706
+#: g10/mainproc.c:689 g10/mainproc.c:710
 #, c-format
 msgid "assuming %s encrypted data\n"
 msgstr "假定 %s 為加密過的資料\n"
 
-#: g10/mainproc.c:692
+#: g10/mainproc.c:696
 #, c-format
 msgid "IDEA cipher unavailable, optimistically attempting to use %s instead\n"
 msgstr "IDEA 編密法不可用, 我們樂觀地試著改以 %s 代替\n"
 
-#: g10/mainproc.c:779 g10/mainproc.c:817
+#: g10/mainproc.c:785 g10/mainproc.c:823
 #, c-format
 msgid "WARNING: message was not integrity protected\n"
 msgstr "警告: 訊息未受到完整的保護\n"
 
-#: g10/mainproc.c:790
+#: g10/mainproc.c:796
 msgid ""
 "Hint: If this message was created before the year 2003 it is\n"
 "likely that this message is legitimate.  This is because back\n"
 "then integrity protection was not widely used.\n"
 msgstr ""
 
-#: g10/mainproc.c:793
+#: g10/mainproc.c:799
 #, c-format
 msgid "Use the option '%s' to decrypt anyway.\n"
 msgstr ""
 
-#: g10/mainproc.c:798
+#: g10/mainproc.c:804
 #, fuzzy, c-format
 #| msgid "decryption failed: %s\n"
 msgid "decryption forced to fail!\n"
 msgstr "解密失敗: %s\n"
 
-#: g10/mainproc.c:810
+#: g10/mainproc.c:816
 #, c-format
 msgid "decryption okay\n"
 msgstr "解密成功\n"
 
-#: g10/mainproc.c:823
+#: g10/mainproc.c:829
 #, c-format
 msgid "WARNING: encrypted message has been manipulated!\n"
 msgstr "警告: 加密過的訊息已經被變造了!\n"
 
-#: g10/mainproc.c:841
+#: g10/mainproc.c:847
 #, c-format
 msgid "decryption failed: %s\n"
 msgstr "解密失敗: %s\n"
 
-#: g10/mainproc.c:886
+#: g10/mainproc.c:892
 #, c-format
 msgid "Note: sender requested \"for-your-eyes-only\"\n"
 msgstr "請注意: 寄件者要求了 \"只准你用眼睛看\"\n"
 
-#: g10/mainproc.c:893
+#: g10/mainproc.c:899
 #, c-format
 msgid "original file name='%.*s'\n"
 msgstr "原始的檔名 ='%.*s'\n"
 
-#: g10/mainproc.c:1148
+#: g10/mainproc.c:1154
 #, c-format
 msgid "standalone revocation - use \"gpg --import\" to apply\n"
 msgstr "獨立撤銷 - 請用 \"gpg --import\" 來套用\n"
 
-#: g10/mainproc.c:1452 g10/mainproc.c:1495
+#: g10/mainproc.c:1458 g10/mainproc.c:1501
 #, c-format
 msgid "no signature found\n"
 msgstr "找不到簽章\n"
 
-#: g10/mainproc.c:1852
+#: g10/mainproc.c:1858
 #, c-format
 msgid "BAD signature from \"%s\""
 msgstr "*損壞* 的簽章來自於 \"%s\""
 
-#: g10/mainproc.c:1854
+#: g10/mainproc.c:1860
 #, c-format
 msgid "Expired signature from \"%s\""
 msgstr "過期的簽章來自於 \"%s\""
 
-#: g10/mainproc.c:1856
+#: g10/mainproc.c:1862
 #, c-format
 msgid "Good signature from \"%s\""
 msgstr "完好的簽章來自於 \"%s\""
 
-#: g10/mainproc.c:1876
+#: g10/mainproc.c:1882
 #, c-format
 msgid "signature verification suppressed\n"
 msgstr "簽章驗證已抑制\n"
 
-#: g10/mainproc.c:1985
+#: g10/mainproc.c:1991
 #, c-format
 msgid "can't handle this ambiguous signature data\n"
 msgstr "無法處理這個不明確的簽章資料\n"
 
-#: g10/mainproc.c:2001 g10/mainproc.c:2008
+#: g10/mainproc.c:2007 g10/mainproc.c:2014
 #, c-format
 msgid "Signature made %s\n"
 msgstr "由 %s 建立的簽章\n"
 
-#: g10/mainproc.c:2002 g10/mainproc.c:2009 sm/verify.c:476
+#: g10/mainproc.c:2008 g10/mainproc.c:2015 sm/verify.c:476
 #, c-format
 msgid "               using %s key %s\n"
 msgstr "               使用 %s 金鑰 %s\n"
 
-#: g10/mainproc.c:2013
+#: g10/mainproc.c:2019
 #, c-format
 msgid "Signature made %s using %s key ID %s\n"
 msgstr "由 %s 建立的簽章, 使用 %s 金鑰 ID %s\n"
 
-#: g10/mainproc.c:2019
+#: g10/mainproc.c:2025
 #, fuzzy, c-format
 #| msgid "                aka \"%s\""
 msgid "               issuer \"%s\"\n"
 msgstr "                亦即 \"%s\""
 
-#: g10/mainproc.c:2070
+#: g10/mainproc.c:2076
 #, c-format
 msgid "Key available at: "
 msgstr "可用的金鑰於: "
 
-#: g10/mainproc.c:2111
+#: g10/mainproc.c:2118
 #, c-format
 msgid "Note: Use '%s' to make use of this info\n"
 msgstr ""
 
-#: g10/mainproc.c:2325
+#: g10/mainproc.c:2334
 msgid "[uncertain]"
 msgstr "[ 不確定 ]"
 
-#: g10/mainproc.c:2363
+#: g10/mainproc.c:2372
 #, c-format
 msgid "                aka \"%s\""
 msgstr "                亦即 \"%s\""
 
-#: g10/mainproc.c:2438
+#: g10/mainproc.c:2447
 #, fuzzy, c-format
 #| msgid "WARNING: This key is not certified with a trusted signature!\n"
 msgid "WARNING: This key is not suitable for signing in %s mode\n"
 msgstr "警告: 這把金鑰並非以受信任的簽章所認證!\n"
 
-#: g10/mainproc.c:2456
+#: g10/mainproc.c:2465
 #, c-format
 msgid "Signature expired %s\n"
 msgstr "這份簽署已經在 %s 過期了\n"
 
-#: g10/mainproc.c:2460
+#: g10/mainproc.c:2469
 #, c-format
 msgid "Signature expires %s\n"
 msgstr "這份簽署將在 %s 到期\n"
 
-#: g10/mainproc.c:2471
+#: g10/mainproc.c:2480
 #, c-format
 msgid "%s signature, digest algorithm %s%s%s\n"
 msgstr "%s 簽章, 摘要演算法 %s%s%s\n"
 
-#: g10/mainproc.c:2472
+#: g10/mainproc.c:2481
 msgid "binary"
 msgstr "二進制"
 
-#: g10/mainproc.c:2473
+#: g10/mainproc.c:2482
 msgid "textmode"
 msgstr "文字模式"
 
-#: g10/mainproc.c:2473 g10/trust.c:123 dirmngr/ocsp.c:792
+#: g10/mainproc.c:2482 g10/trust.c:123 dirmngr/ocsp.c:792
 msgid "unknown"
 msgstr "未知"
 
-#: g10/mainproc.c:2475
+#: g10/mainproc.c:2484
 msgid ", key algorithm "
 msgstr ", 金鑰演算法 "
 
-#: g10/mainproc.c:2510
+#: g10/mainproc.c:2519
 #, c-format
 msgid "WARNING: not a detached signature; file '%s' was NOT verified!\n"
 msgstr ""
 
-#: g10/mainproc.c:2548
+#: g10/mainproc.c:2558
 #, c-format
 msgid "Can't check signature: %s\n"
 msgstr "無法檢查簽章: %s\n"
 
-#: g10/mainproc.c:2644 g10/mainproc.c:2663 g10/mainproc.c:2787
+#: g10/mainproc.c:2654 g10/mainproc.c:2673 g10/mainproc.c:2797
 #, c-format
 msgid "not a detached signature\n"
 msgstr "不是一份分離的簽章\n"
 
-#: g10/mainproc.c:2697
+#: g10/mainproc.c:2707
 #, c-format
 msgid ""
 "WARNING: multiple signatures detected.  Only the first will be checked.\n"
 msgstr "警告: 偵測到多重簽章. 祇有第一個簽章纔會被核選.\n"
 
-#: g10/mainproc.c:2706
+#: g10/mainproc.c:2716
 #, c-format
 msgid "standalone signature of class 0x%02x\n"
 msgstr "等級 0x%02x 的獨立簽章\n"
 
-#: g10/mainproc.c:2791
+#: g10/mainproc.c:2801
 #, c-format
 msgid "old style (PGP 2.x) signature\n"
 msgstr "舊型 (PGP 2.x) 簽章\n"
@@ -6237,50 +6250,56 @@ msgstr "關鍵簽章註記: "
 msgid "subpacket of type %d has critical bit set\n"
 msgstr "%d 類別的子封包設定了關鍵位元\n"
 
-#: g10/passphrase.c:73 g10/passphrase.c:275 g10/passphrase.c:308
+#: g10/passphrase.c:73 g10/passphrase.c:283 g10/passphrase.c:316
 #, c-format
 msgid "problem with the agent: %s\n"
 msgstr "代理程式的問題: %s\n"
 
-#: g10/passphrase.c:258
+#: g10/passphrase.c:251 sm/decrypt.c:341
+#, fuzzy
+#| msgid "Please enter the new passphrase"
+msgid "Please enter the passphrase for decryption."
+msgstr "請輸入新的密語"
+
+#: g10/passphrase.c:253
 msgid "Enter passphrase\n"
 msgstr "請輸入密語\n"
 
-#: g10/passphrase.c:269
+#: g10/passphrase.c:277
 #, c-format
 msgid "cancelled by user\n"
 msgstr "由使用者所取消\n"
 
-#: g10/passphrase.c:510
+#: g10/passphrase.c:523
 #, c-format
 msgid " (main key ID %s)"
 msgstr " (主要金鑰 ID %s)"
 
-#: g10/passphrase.c:517
+#: g10/passphrase.c:530
 msgid "Please enter the passphrase to unlock the OpenPGP secret key:"
 msgstr "請輸入密語來解鎖 OpenPGP 私鑰:"
 
-#: g10/passphrase.c:521
+#: g10/passphrase.c:534
 msgid "Please enter the passphrase to import the OpenPGP secret key:"
 msgstr "請輸入密語來匯入 OpenPGP 私鑰:"
 
-#: g10/passphrase.c:526
+#: g10/passphrase.c:539
 msgid "Please enter the passphrase to export the OpenPGP secret subkey:"
 msgstr "請輸入密語來匯出 OpenPGP 私子鑰:"
 
-#: g10/passphrase.c:529
+#: g10/passphrase.c:542
 msgid "Please enter the passphrase to export the OpenPGP secret key:"
 msgstr "請輸入密語來匯出 OpenPGP 私鑰:"
 
-#: g10/passphrase.c:534
+#: g10/passphrase.c:547
 msgid "Do you really want to permanently delete the OpenPGP secret subkey key:"
 msgstr "你是否真的想要永久刪除 OpenPGP 私鑰子鑰:"
 
-#: g10/passphrase.c:537
+#: g10/passphrase.c:550
 msgid "Do you really want to permanently delete the OpenPGP secret key:"
 msgstr "你是否真的想要永久刪除 OpenPGP 私鑰:"
 
-#: g10/passphrase.c:546
+#: g10/passphrase.c:559
 #, c-format
 msgid ""
 "%s\n"
@@ -6336,7 +6355,7 @@ msgstr "'%s' 不是 JPEG 圖檔\n"
 msgid "Is this photo correct (y/N/q)? "
 msgstr "這張照片正確嗎? (y/N/q) "
 
-#: g10/photoid.c:395
+#: g10/photoid.c:399
 #, c-format
 msgid "unable to display photo ID!\n"
 msgstr "無法顯示照片 ID!\n"
@@ -6685,7 +6704,7 @@ msgstr "無法開啟被簽署過的資料 '%s'\n"
 msgid "can't open signed data fd=%d: %s\n"
 msgstr "無法開啟被簽署過的資料 fd=%d: %s\n"
 
-#: g10/pubkey-enc.c:98 g10/pubkey-enc.c:139 sm/decrypt.c:493
+#: g10/pubkey-enc.c:98 g10/pubkey-enc.c:139 sm/decrypt.c:969
 #, fuzzy, c-format
 #| msgid "certificate is not usable for encryption\n"
 msgid "key %s is not suitable for decryption in %s mode\n"
@@ -6701,27 +6720,27 @@ msgstr "匿名收件者; 正在嘗試使用私鑰 %s ...\n"
 msgid "okay, we are the anonymous recipient.\n"
 msgstr "很好, 我們就是匿名收件者.\n"
 
-#: g10/pubkey-enc.c:321
+#: g10/pubkey-enc.c:311
 #, c-format
 msgid "old encoding of the DEK is not supported\n"
 msgstr "不支援舊式的 DEK 編碼\n"
 
-#: g10/pubkey-enc.c:349
+#: g10/pubkey-enc.c:339
 #, c-format
 msgid "cipher algorithm %d%s is unknown or disabled\n"
 msgstr "%d%s 編密演算法未知或已停用\n"
 
-#: g10/pubkey-enc.c:393
+#: g10/pubkey-enc.c:383
 #, c-format
 msgid "WARNING: cipher algorithm %s not found in recipient preferences\n"
 msgstr "警告: 收件者偏好設定中找不到 %s 編密演算法\n"
 
-#: g10/pubkey-enc.c:426
+#: g10/pubkey-enc.c:416
 #, c-format
 msgid "Note: secret key %s expired at %s\n"
 msgstr "請注意: 私鑰 %s 已於 %s 過期\n"
 
-#: g10/pubkey-enc.c:433
+#: g10/pubkey-enc.c:423
 #, c-format
 msgid "Note: key has been revoked"
 msgstr "請注意: 金鑰已撤銷"
@@ -7038,38 +7057,38 @@ msgstr "警告: 偏好金鑰伺服器 URL 的 %% 無法擴張 (太大了). 現
 msgid "%s/%s signature from: \"%s\"\n"
 msgstr "%s/%s 簽章來自: \"%s\"\n"
 
-#: g10/sign.c:1046
+#: g10/sign.c:1045
 #, c-format
 msgid ""
 "WARNING: forcing digest algorithm %s (%d) violates recipient preferences\n"
 msgstr "警告: 強迫使用 %s (%d) 摘要演算法會違反收件者偏好設定\n"
 
-#: g10/sign.c:1188
+#: g10/sign.c:1187
 #, c-format
 msgid "signing:"
 msgstr "簽署:"
 
-#: g10/sign.c:1465
+#: g10/sign.c:1464
 #, c-format
 msgid "%s encryption will be used\n"
 msgstr "%s 加密將被採用\n"
 
-#: g10/skclist.c:173 g10/skclist.c:254
+#: g10/skclist.c:174 g10/skclist.c:255
 #, c-format
 msgid "key is not flagged as insecure - can't use it with the faked RNG!\n"
 msgstr "金鑰未被標示為不安全 - 不能夠拿來跟假的隨機數字產生器併用!\n"
 
-#: g10/skclist.c:205
+#: g10/skclist.c:206
 #, c-format
 msgid "skipped \"%s\": duplicated\n"
 msgstr "已跳過 \"%s\": 重複了\n"
 
-#: g10/skclist.c:224
+#: g10/skclist.c:225
 #, c-format
 msgid "skipped: secret key already present\n"
 msgstr "已跳過: 私鑰已經存在\n"
 
-#: g10/skclist.c:243
+#: g10/skclist.c:244
 msgid "this is a PGP generated Elgamal key which is not secure for signatures!"
 msgstr "這是由 PGP 產生的 ElGamal 金鑰, 用於簽章並不安全!"
 
@@ -7123,7 +7142,7 @@ msgstr "'%s' 讀取錯誤: %s\n"
 msgid "trustdb: sync failed: %s\n"
 msgstr "信任資料庫: 同步化失敗: %s\n"
 
-#: g10/tdbio.c:144 sm/keydb.c:336
+#: g10/tdbio.c:144 sm/keydb.c:335
 #, c-format
 msgid "can't create lock for '%s'\n"
 msgstr "無法為 '%s' 建立鎖定\n"
@@ -7854,39 +7873,49 @@ msgstr ""
 #. TRANSLATORS: Put a \x1f right before a colon.  This can be
 #. * used by pinentry to nicely align the names and values.  Keep
 #. * the %s at the start and end of the string.
-#: scd/app-p15.c:3369 scd/app-openpgp.c:2153
+#: scd/app-p15.c:4955 scd/app-openpgp.c:2151
 #, c-format
 msgid "%sNumber\1f: %s%%0AHolder\1f: %s%s"
 msgstr ""
 
 #. TRANSLATORS: This is the number of remaining attempts to
 #. * enter a PIN.  Use %%0A (double-percent,0A) for a linefeed.
-#: scd/app-p15.c:3388 scd/app-openpgp.c:2169
+#: scd/app-p15.c:4974 scd/app-openpgp.c:2167
 #, c-format
 msgid "Remaining attempts: %d"
 msgstr ""
 
-#: scd/app-p15.c:3459 scd/app-nks.c:1110
+#: scd/app-p15.c:5053 scd/app-nks.c:1113
 msgid "||Please enter the PIN for the key to create qualified signatures."
 msgstr "||請輸入金鑰的個人識別碼 (PIN) 以建立完善的簽章."
 
-#: scd/app-p15.c:3462 scd/app-nks.c:1092
+#. TRANSLATORS: Do not translate the "|A|" prefix but keep it at
+#. the start of the string.  Use %0A (single percent) for a linefeed.
+#: scd/app-p15.c:5056 scd/app-openpgp.c:2461
+msgid "|A|Please enter the Admin PIN"
+msgstr "|A|請輸入管理者 PIN"
+
+#: scd/app-p15.c:5058 scd/app-nks.c:1103
+msgid "|P|Please enter the PIN Unblocking Code (PUK) for the standard keys."
+msgstr "|P|請輸入標準金鑰的 PIN 重設碼 (PUK)."
+
+#: scd/app-p15.c:5061 scd/app-nks.c:1095
 msgid "||Please enter the PIN for the standard keys."
 msgstr "||請輸入標準金鑰的個人識別碼 (PIN)."
 
-#: scd/app-nks.c:709 scd/app-openpgp.c:3664
+#: scd/app-nks.c:709 scd/app-openpgp.c:3663
 #, c-format
 msgid "RSA modulus missing or not of size %d bits\n"
 msgstr "RSA 模組缺漏或者並非 %d 位元大\n"
 
-#: scd/app-nks.c:717 scd/app-openpgp.c:3676
+#: scd/app-nks.c:717 scd/app-openpgp.c:3675
 #, c-format
 msgid "RSA public exponent missing or larger than %d bits\n"
 msgstr "RSA 公用指數缺漏或者大於 %d 位元\n"
 
-#: scd/app-nks.c:797 scd/app-openpgp.c:2326 scd/app-openpgp.c:2345
-#: scd/app-openpgp.c:2512 scd/app-openpgp.c:2530 scd/app-openpgp.c:2827
-#: scd/app-openpgp.c:2874 scd/app-openpgp.c:2989 scd/app-dinsig.c:303
+#: scd/app-nks.c:797 scd/app-openpgp.c:2324 scd/app-openpgp.c:2343
+#: scd/app-openpgp.c:2510 scd/app-openpgp.c:2528 scd/app-openpgp.c:2826
+#: scd/app-openpgp.c:2873 scd/app-openpgp.c:2988 scd/app-dinsig.c:302
 #, c-format
 msgid "PIN callback returned error: %s\n"
 msgstr "收回個人識別碼 (PIN) 時傳回錯誤: %s\n"
@@ -7896,76 +7925,72 @@ msgstr "收回個人識別碼 (PIN) 時傳回錯誤: %s\n"
 msgid "the NullPIN has not yet been changed\n"
 msgstr "NullPIN 還沒有變更過\n"
 
-#: scd/app-nks.c:1091
+#: scd/app-nks.c:1094
 msgid "|N|Please enter a new PIN for the standard keys."
 msgstr "|N|請輸入標準金鑰將採用的新個人識別碼 (PIN)."
 
-#: scd/app-nks.c:1098
+#: scd/app-nks.c:1101
 msgid "|NP|Please enter a new PIN Unblocking Code (PUK) for the standard keys."
 msgstr "|NP|請輸入標準金鑰將採用的 PIN 重設碼 (PUK)."
 
-#: scd/app-nks.c:1100
-msgid "|P|Please enter the PIN Unblocking Code (PUK) for the standard keys."
-msgstr "|P|請輸入標準金鑰的 PIN 重設碼 (PUK)."
-
-#: scd/app-nks.c:1108
+#: scd/app-nks.c:1111
 msgid "|N|Please enter a new PIN for the key to create qualified signatures."
 msgstr "|N|請輸入金鑰的新個人識別碼 (PIN) 以建立完善的簽章."
 
-#: scd/app-nks.c:1118
+#: scd/app-nks.c:1121
 msgid ""
 "|NP|Please enter a new PIN Unblocking Code (PUK) for the key to create "
 "qualified signatures."
 msgstr "|NP|請輸入金鑰的新 PIN 重設碼 (PUK) 以建立完善的簽章."
 
-#: scd/app-nks.c:1120
+#: scd/app-nks.c:1123
 msgid ""
 "|P|Please enter the PIN Unblocking Code (PUK) for the key to create "
 "qualified signatures."
 msgstr "|P|請輸入金鑰的 PIN 重設碼 (PUK) 以建立完善的簽章."
 
-#: scd/app-nks.c:1227 scd/app-openpgp.c:2908 scd/app-dinsig.c:531
+#: scd/app-nks.c:1230 scd/app-openpgp.c:2907 scd/app-dinsig.c:532
 #, c-format
 msgid "error getting new PIN: %s\n"
 msgstr "取得新的個人識別碼 (PIN) 時出錯: %s\n"
 
-#: scd/app-openpgp.c:860
+#: scd/app-openpgp.c:859
 #, c-format
 msgid "failed to store the fingerprint: %s\n"
 msgstr "存放指紋失敗: %s\n"
 
-#: scd/app-openpgp.c:873
+#: scd/app-openpgp.c:872
 #, c-format
 msgid "failed to store the creation date: %s\n"
 msgstr "存放創生日期失敗: %s\n"
 
-#: scd/app-openpgp.c:1272 scd/app-openpgp.c:2855 scd/app-openpgp.c:5020
+#: scd/app-openpgp.c:1268 scd/app-openpgp.c:2854 scd/app-openpgp.c:5025
 #, c-format
 msgid "error retrieving CHV status from card\n"
 msgstr "從卡片取回 CHV 狀態時出錯\n"
 
-#: scd/app-openpgp.c:1430
+#: scd/app-openpgp.c:1426
 #, c-format
 msgid "response does not contain the RSA modulus\n"
 msgstr "回應中未包含 RSA 系數\n"
 
-#: scd/app-openpgp.c:1437
+#: scd/app-openpgp.c:1433
 #, c-format
 msgid "response does not contain the RSA public exponent\n"
 msgstr "回應中未包含 RSA 公用指數\n"
 
-#: scd/app-openpgp.c:1547
+#: scd/app-openpgp.c:1543
 #, fuzzy, c-format
 #| msgid "response does not contain the EC public point\n"
 msgid "response does not contain the EC public key\n"
 msgstr "回應中未包含 EC 公用指數\n"
 
-#: scd/app-openpgp.c:1665 scd/app-openpgp.c:4284
+#: scd/app-openpgp.c:1661 scd/app-openpgp.c:4283
 #, c-format
 msgid "response does not contain the public key data\n"
 msgstr "回應中未包含公鑰資料\n"
 
-#: scd/app-openpgp.c:1772
+#: scd/app-openpgp.c:1768
 #, c-format
 msgid "reading public key failed: %s\n"
 msgstr "讀取公鑰時失敗: %s\n"
@@ -7973,44 +7998,44 @@ msgstr "讀取公鑰時失敗: %s\n"
 #. TRANSLATORS: Put a \x1f right before a colon.  This can be
 #. * used by pinentry to nicely align the names and values.  Keep
 #. * the %s at the start and end of the string.
-#: scd/app-openpgp.c:2140
+#: scd/app-openpgp.c:2138
 #, c-format
 msgid "%sNumber\1f: %s%%0AHolder\1f: %s%%0ACounter\1f: %lu%s"
 msgstr ""
 
-#: scd/app-openpgp.c:2280
+#: scd/app-openpgp.c:2278
 #, c-format
 msgid "using default PIN as %s\n"
 msgstr "以 %s 做為預設 PIN\n"
 
-#: scd/app-openpgp.c:2287
+#: scd/app-openpgp.c:2285
 #, c-format
 msgid "failed to use default PIN as %s: %s - disabling further default use\n"
 msgstr "使用 %s 做為預設個人識別碼 (PIN) 失敗: %s - 正在停用之後的預設使用\n"
 
-#: scd/app-openpgp.c:2300
+#: scd/app-openpgp.c:2298
 #, fuzzy
 #| msgid "||Please enter the PIN"
 msgid "||Please unlock the card"
 msgstr "||請輸入個人識別碼 (PIN)"
 
-#: scd/app-openpgp.c:2352 scd/app-openpgp.c:2537 scd/app-openpgp.c:2834
+#: scd/app-openpgp.c:2350 scd/app-openpgp.c:2535 scd/app-openpgp.c:2833
 #, c-format
 msgid "PIN for CHV%d is too short; minimum length is %d\n"
 msgstr "用於 CHV%d 的個人識別碼 (PIN) 太短; 長度最少要有 %d\n"
 
-#: scd/app-openpgp.c:2366 scd/app-openpgp.c:2413 scd/app-openpgp.c:2551
-#: scd/app-openpgp.c:4642
+#: scd/app-openpgp.c:2364 scd/app-openpgp.c:2411 scd/app-openpgp.c:2549
+#: scd/app-openpgp.c:4641
 #, c-format
 msgid "verify CHV%d failed: %s\n"
 msgstr "驗證 CHV%d 失敗: %s\n"
 
-#: scd/app-openpgp.c:2449 scd/app-openpgp.c:5029
+#: scd/app-openpgp.c:2447 scd/app-openpgp.c:5034
 #, c-format
 msgid "card is permanently locked!\n"
 msgstr "卡片永久鎖定了!!\n"
 
-#: scd/app-openpgp.c:2453
+#: scd/app-openpgp.c:2451
 #, fuzzy, c-format
 #| msgid "%d Admin PIN attempts remaining before card is permanently locked\n"
 msgid "%d Admin PIN attempt remaining before card is permanently locked\n"
@@ -8018,26 +8043,20 @@ msgid_plural ""
 "%d Admin PIN attempts remaining before card is permanently locked\n"
 msgstr[0] "%d 管理者個人識別碼 (PIN) 試圖在卡片永久鎖定前遺留下來\n"
 
-#. TRANSLATORS: Do not translate the "|A|" prefix but keep it at
-#. the start of the string.  Use %0A (single percent) for a linefeed.
-#: scd/app-openpgp.c:2463
-msgid "|A|Please enter the Admin PIN"
-msgstr "|A|請輸入管理者 PIN"
-
-#: scd/app-openpgp.c:2484
+#: scd/app-openpgp.c:2482
 #, c-format
 msgid "access to admin commands is not configured\n"
 msgstr "管理者指令存取權限尚未組態\n"
 
-#: scd/app-openpgp.c:2821
+#: scd/app-openpgp.c:2820
 msgid "||Please enter the PIN"
 msgstr "||請輸入個人識別碼 (PIN)"
 
-#: scd/app-openpgp.c:2870
+#: scd/app-openpgp.c:2869
 msgid "||Please enter the Reset Code for the card"
 msgstr "||請輸入卡片的重設碼"
 
-#: scd/app-openpgp.c:2880 scd/app-openpgp.c:2941
+#: scd/app-openpgp.c:2879 scd/app-openpgp.c:2940
 #, c-format
 msgid "Reset Code is too short; minimum length is %d\n"
 msgstr "重設碼太短; 長度最少要有 %d\n"
@@ -8045,133 +8064,133 @@ msgstr "重設碼太短; 長度最少要有 %d\n"
 #. TRANSLATORS: Do not translate the "|*|" prefixes but
 #. keep it at the start of the string.  We need this elsewhere
 #. to get some infos on the string.
-#: scd/app-openpgp.c:2903
+#: scd/app-openpgp.c:2902
 msgid "|RN|New Reset Code"
 msgstr "|RN|新增重設碼"
 
-#: scd/app-openpgp.c:2904
+#: scd/app-openpgp.c:2903
 msgid "|AN|New Admin PIN"
 msgstr "|AN|新增管理者個人識別碼 (PIN)"
 
-#: scd/app-openpgp.c:2904
+#: scd/app-openpgp.c:2903
 msgid "|N|New PIN"
 msgstr "|N|新增個人識別碼 (PIN)"
 
-#: scd/app-openpgp.c:2985
+#: scd/app-openpgp.c:2984
 msgid "||Please enter the Admin PIN and New Admin PIN"
 msgstr "||請輸入管理者 PIN 及新的管理者 PIN"
 
-#: scd/app-openpgp.c:2986
+#: scd/app-openpgp.c:2985
 msgid "||Please enter the PIN and New PIN"
 msgstr "||請輸入個人識別碼及新的個人識別碼 (PIN)"
 
-#: scd/app-openpgp.c:3048 scd/app-openpgp.c:4344
+#: scd/app-openpgp.c:3047 scd/app-openpgp.c:4343
 #, c-format
 msgid "error reading application data\n"
 msgstr "讀取應用程式資料時出錯\n"
 
-#: scd/app-openpgp.c:3054 scd/app-openpgp.c:4351
+#: scd/app-openpgp.c:3053 scd/app-openpgp.c:4350
 #, c-format
 msgid "error reading fingerprint DO\n"
 msgstr "讀取指紋 DO 時出錯\n"
 
-#: scd/app-openpgp.c:3064
+#: scd/app-openpgp.c:3063
 #, c-format
 msgid "key already exists\n"
 msgstr "金鑰已存在\n"
 
-#: scd/app-openpgp.c:3068
+#: scd/app-openpgp.c:3067
 #, c-format
 msgid "existing key will be replaced\n"
 msgstr "既有的金鑰將被取代\n"
 
-#: scd/app-openpgp.c:3070
+#: scd/app-openpgp.c:3069
 #, c-format
 msgid "generating new key\n"
 msgstr "正在產生新的金鑰\n"
 
-#: scd/app-openpgp.c:3072
+#: scd/app-openpgp.c:3071
 #, c-format
 msgid "writing new key\n"
 msgstr "正在寫入新的金鑰\n"
 
-#: scd/app-openpgp.c:3645 scd/app-openpgp.c:3997
+#: scd/app-openpgp.c:3644 scd/app-openpgp.c:3996
 #, c-format
 msgid "creation timestamp missing\n"
 msgstr "缺漏創生時間戳印\n"
 
-#: scd/app-openpgp.c:3686 scd/app-openpgp.c:3694
+#: scd/app-openpgp.c:3685 scd/app-openpgp.c:3693
 #, c-format
 msgid "RSA prime %s missing or not of size %d bits\n"
 msgstr "RSA 質數 %s 缺漏或者並非 %d 位元大\n"
 
-#: scd/app-openpgp.c:3827 scd/app-openpgp.c:4104
+#: scd/app-openpgp.c:3826 scd/app-openpgp.c:4103
 #, c-format
 msgid "failed to store the key: %s\n"
 msgstr "存放金鑰失敗: %s\n"
 
-#: scd/app-openpgp.c:3991
+#: scd/app-openpgp.c:3990
 #, fuzzy, c-format
 #| msgid "unsupported inquiry '%s'\n"
 msgid "unsupported curve\n"
 msgstr "未支援的查詢 '%s'\n"
 
-#: scd/app-openpgp.c:4261
+#: scd/app-openpgp.c:4260
 #, c-format
 msgid "please wait while key is being generated ...\n"
 msgstr "正在產生金鑰中, 請稍候 ...\n"
 
-#: scd/app-openpgp.c:4269
+#: scd/app-openpgp.c:4268
 #, c-format
 msgid "generating key failed\n"
 msgstr "產生金鑰時失敗\n"
 
-#: scd/app-openpgp.c:4275
+#: scd/app-openpgp.c:4274
 #, fuzzy, c-format
 #| msgid "key generation completed (%d seconds)\n"
 msgid "key generation completed (%d second)\n"
 msgid_plural "key generation completed (%d seconds)\n"
 msgstr[0] "金鑰產生完畢 (%d 秒)\n"
 
-#: scd/app-openpgp.c:4309
+#: scd/app-openpgp.c:4308
 #, c-format
 msgid "invalid structure of OpenPGP card (DO 0x93)\n"
 msgstr "無效的 OpenPGP 卡片結構 (DO 0x93)\n"
 
-#: scd/app-openpgp.c:4359
+#: scd/app-openpgp.c:4358
 #, c-format
 msgid "fingerprint on card does not match requested one\n"
 msgstr "卡片上的指紋與所要求的那個並不吻合\n"
 
-#: scd/app-openpgp.c:4558
+#: scd/app-openpgp.c:4557
 #, c-format
 msgid "card does not support digest algorithm %s\n"
 msgstr "卡片不支援 %s 摘要演算法\n"
 
-#: scd/app-openpgp.c:4616
+#: scd/app-openpgp.c:4615
 #, c-format
 msgid "signatures created so far: %lu\n"
 msgstr "目前建立的簽章: %lu\n"
 
-#: scd/app-openpgp.c:5034
+#: scd/app-openpgp.c:5039
 #, c-format
 msgid ""
 "verification of Admin PIN is currently prohibited through this command\n"
 msgstr "目前在此指令中的管理者 PIN 驗證被禁止了\n"
 
-#: scd/app-openpgp.c:5346 scd/app-openpgp.c:5357
+#: scd/app-openpgp.c:5351 scd/app-openpgp.c:5362
 #, c-format
 msgid "can't access %s - invalid OpenPGP card?\n"
 msgstr "無法存取 %s - 無效的 OpenPGP 卡片?\n"
 
-#: scd/app-dinsig.c:299
+#: scd/app-dinsig.c:298
 msgid "||Please enter your PIN at the reader's pinpad"
 msgstr "||請在讀卡機鍵盤上輸入你的個人識別碼 (PIN)"
 
 #. TRANSLATORS: Do not translate the "|*|" prefixes but
 #. keep it at the start of the string.  We need this elsewhere
 #. to get some infos on the string.
-#: scd/app-dinsig.c:528
+#: scd/app-dinsig.c:529
 msgid "|N|Initial New PIN"
 msgstr "|N|開始新增個人識別碼 (PIN)"
 
@@ -8179,7 +8198,7 @@ msgstr "|N|開始新增個人識別碼 (PIN)"
 msgid "run in multi server mode (foreground)"
 msgstr "以多重伺服器模式執行 (前景)"
 
-#: scd/scdaemon.c:129 sm/gpgsm.c:345 dirmngr/dirmngr.c:187
+#: scd/scdaemon.c:129 sm/gpgsm.c:348 dirmngr/dirmngr.c:188
 msgid "|LEVEL|set the debugging level to LEVEL"
 msgstr "|等級|設定除錯等級為指定等級"
 
@@ -8199,31 +8218,31 @@ msgstr "|名稱|使用指定名稱做為 ct-API 驅動程式"
 msgid "|NAME|use NAME as PC/SC driver"
 msgstr "|名稱|使用指定名稱做為 PC/SC 驅動程式"
 
-#: scd/scdaemon.c:145
+#: scd/scdaemon.c:146
 msgid "do not use the internal CCID driver"
 msgstr "不要使用內部的 CCID 驅動程式"
 
-#: scd/scdaemon.c:151
+#: scd/scdaemon.c:152
 msgid "|N|disconnect the card after N seconds of inactivity"
 msgstr "|N|沒有活動達 N 秒後就與卡片斷線"
 
-#: scd/scdaemon.c:154
+#: scd/scdaemon.c:155
 msgid "do not use a reader's pinpad"
 msgstr "不要使用讀卡機鍵盤"
 
-#: scd/scdaemon.c:159
+#: scd/scdaemon.c:160
 msgid "deny the use of admin card commands"
 msgstr "禁用管理者卡片指令"
 
-#: scd/scdaemon.c:162
+#: scd/scdaemon.c:163
 msgid "use variable length input for pinpad"
 msgstr "輸入 PIN 時在輸入區顯示成變動長度"
 
-#: scd/scdaemon.c:311
+#: scd/scdaemon.c:312
 msgid "Usage: @SCDAEMON@ [options] (-h for help)"
 msgstr "用法: @SCDAEMON@ [選項] (或用 -h 求助)"
 
-#: scd/scdaemon.c:313
+#: scd/scdaemon.c:314
 msgid ""
 "Syntax: scdaemon [options] [command [args]]\n"
 "Smartcard daemon for @GNUPG@\n"
@@ -8231,17 +8250,17 @@ msgstr ""
 "語法: scdaemon [選項] [指令 [引數]]\n"
 "@GNUPG@ 智慧卡服務\n"
 
-#: scd/scdaemon.c:806
+#: scd/scdaemon.c:808
 #, c-format
 msgid "please use the option '--daemon' to run the program in the background\n"
 msgstr "請使用 '--daemon' 選項來將此程式執行於背景\n"
 
-#: scd/scdaemon.c:1183 dirmngr/dirmngr.c:2082
+#: scd/scdaemon.c:1185 dirmngr/dirmngr.c:2119
 #, c-format
 msgid "handler for fd %d started\n"
 msgstr "用於 fd %d 的經手程式已啟動\n"
 
-#: scd/scdaemon.c:1195 dirmngr/dirmngr.c:2090
+#: scd/scdaemon.c:1197 dirmngr/dirmngr.c:2127
 #, c-format
 msgid "handler for fd %d terminated\n"
 msgstr "用於 fd %d 的經手程式已終止\n"
@@ -8288,7 +8307,7 @@ msgstr "請注意: 不允許非關鍵的憑證原則"
 msgid "certificate policy not allowed"
 msgstr "未允許憑證原則"
 
-#: sm/certchain.c:595 sm/keydb.c:1106 sm/keydb.c:1192
+#: sm/certchain.c:595 sm/keydb.c:1084 sm/keydb.c:1171
 #, c-format
 msgid "failed to get the fingerprint\n"
 msgstr "取得指紋失敗\n"
@@ -8323,8 +8342,8 @@ msgstr "吻合的憑證數量: %d\n"
 msgid "dirmngr cache-only key lookup failed: %s\n"
 msgstr "尋找限於 dirmngr 快取的金鑰時失敗: %s\n"
 
-#: sm/certchain.c:1041 sm/certchain.c:1554 sm/certchain.c:2192 sm/decrypt.c:265
-#: sm/encrypt.c:344 sm/import.c:415 sm/keydb.c:1113 sm/keydb.c:1199
+#: sm/certchain.c:1041 sm/certchain.c:1554 sm/certchain.c:2192 sm/decrypt.c:728
+#: sm/encrypt.c:345 sm/import.c:415 sm/keydb.c:1091 sm/keydb.c:1178
 #: sm/sign.c:337 sm/verify.c:118
 #, c-format
 msgid "failed to allocate keyDB handle\n"
@@ -8516,13 +8535,13 @@ msgid "a %u bit hash is not valid for a %u bit %s key\n"
 msgstr "%u 位元的雜湊對 %u 位元的 %s 金鑰來說是無效的\n"
 
 #: sm/certcheck.c:238 sm/certcheck.c:262 dirmngr/crlcache.c:1542
-#: dirmngr/crlcache.c:1566 dirmngr/dirmngr.c:1324 dirmngr/validate.c:903
+#: dirmngr/crlcache.c:1566 dirmngr/dirmngr.c:1361 dirmngr/validate.c:903
 #: dirmngr/validate.c:927
 #, c-format
 msgid "out of core\n"
 msgstr "超出核心\n"
 
-#: sm/certcheck.c:371 sm/verify.c:213
+#: sm/certcheck.c:370 sm/verify.c:213
 #, c-format
 msgid "(this is the MD2 algorithm)\n"
 msgstr "(這是 MD2 演算法)\n"
@@ -8807,22 +8826,34 @@ msgstr "準備好了.  你現在就該把此請求送到你的 CA.\n"
 msgid "resource problem: out of core\n"
 msgstr "資源問題: 超出核心\n"
 
-#: sm/decrypt.c:341
+#: sm/decrypt.c:536
+#, fuzzy, c-format
+#| msgid "%s encrypted data\n"
+msgid "%s.%s encrypted data\n"
+msgstr "%s 已加密的資料\n"
+
+#: sm/decrypt.c:803
 #, c-format
 msgid "(this is the RC2 algorithm)\n"
 msgstr "(這是 RC2 演算法)\n"
 
-#: sm/decrypt.c:343
+#: sm/decrypt.c:805
 #, c-format
 msgid "(this does not seem to be an encrypted message)\n"
 msgstr "(這看起來不像是個加密過的訊息)\n"
 
+#: sm/decrypt.c:958
+#, fuzzy, c-format
+#| msgid "encrypted with %s key, ID %s\n"
+msgid "encrypted to %s key %s\n"
+msgstr "已用 %s 金鑰, ID %s 所加密\n"
+
 #: sm/delete.c:51 sm/delete.c:112
 #, c-format
 msgid "certificate '%s' not found: %s\n"
 msgstr "找不到憑證 '%s': %s\n"
 
-#: sm/delete.c:122 sm/keydb.c:1209 sm/keydb.c:1307
+#: sm/delete.c:122 sm/keydb.c:1189 sm/keydb.c:1288
 #, c-format
 msgid "error locking keybox: %s\n"
 msgstr "鎖住金鑰鑰匙盒時出錯: %s\n"
@@ -8842,128 +8873,128 @@ msgstr "憑證 '%s' 已刪除\n"
 msgid "deleting certificate \"%s\" failed: %s\n"
 msgstr "刪除憑證 \"%s\" 時失敗: %s\n"
 
-#: sm/encrypt.c:330
+#: sm/encrypt.c:331
 #, c-format
 msgid "no valid recipients given\n"
 msgstr "沒有給定有效的收件者\n"
 
-#: sm/gpgsm.c:215
+#: sm/gpgsm.c:216
 msgid "list external keys"
 msgstr "列出外部金鑰"
 
-#: sm/gpgsm.c:217
+#: sm/gpgsm.c:218
 msgid "list certificate chain"
 msgstr "列出憑證鏈"
 
-#: sm/gpgsm.c:225
+#: sm/gpgsm.c:226
 msgid "import certificates"
 msgstr "匯入憑證"
 
-#: sm/gpgsm.c:226
+#: sm/gpgsm.c:227
 msgid "export certificates"
 msgstr "匯出憑證"
 
-#: sm/gpgsm.c:234
+#: sm/gpgsm.c:235
 msgid "register a smartcard"
 msgstr "註冊智慧卡"
 
-#: sm/gpgsm.c:237
+#: sm/gpgsm.c:238
 msgid "pass a command to the dirmngr"
 msgstr "將指令遞送給 dirmngr"
 
-#: sm/gpgsm.c:239
+#: sm/gpgsm.c:240
 msgid "invoke gpg-protect-tool"
 msgstr "叫用 gpg-protect-tool"
 
-#: sm/gpgsm.c:256
+#: sm/gpgsm.c:257
 msgid "create base-64 encoded output"
 msgstr "建立以 base-64 編碼過的輸出"
 
-#: sm/gpgsm.c:265
+#: sm/gpgsm.c:266
 msgid "assume input is in PEM format"
 msgstr "假設輸入的是 PEM 格式"
 
-#: sm/gpgsm.c:267
+#: sm/gpgsm.c:268
 msgid "assume input is in base-64 format"
 msgstr "假設輸入的是 base-64 格式"
 
-#: sm/gpgsm.c:269
+#: sm/gpgsm.c:270
 msgid "assume input is in binary format"
 msgstr "假設輸入的是二進制格式"
 
-#: sm/gpgsm.c:276
+#: sm/gpgsm.c:277
 msgid "never consult a CRL"
 msgstr "永遠不要查閱 CRL"
 
-#: sm/gpgsm.c:286
+#: sm/gpgsm.c:287
 msgid "check validity using OCSP"
 msgstr "用 OCSP 檢查有效性"
 
-#: sm/gpgsm.c:291
+#: sm/gpgsm.c:292
 msgid "|N|number of certificates to include"
 msgstr "|N|要包含的憑證數量"
 
-#: sm/gpgsm.c:294
+#: sm/gpgsm.c:295
 msgid "|FILE|take policy information from FILE"
 msgstr "|檔案|從指定檔案中取得原則資訊"
 
-#: sm/gpgsm.c:297
+#: sm/gpgsm.c:298
 msgid "do not check certificate policies"
 msgstr "不要檢查憑證原則"
 
-#: sm/gpgsm.c:301
+#: sm/gpgsm.c:302
 msgid "fetch missing issuer certificates"
 msgstr "取回遺失的發行者憑證"
 
-#: sm/gpgsm.c:312
+#: sm/gpgsm.c:313
 msgid "don't use the terminal at all"
 msgstr "完全不要使用終端機"
 
-#: sm/gpgsm.c:314
+#: sm/gpgsm.c:315
 msgid "|FILE|write a server mode log to FILE"
 msgstr "|檔案|將伺服器模式日誌寫入至指定檔案"
 
-#: sm/gpgsm.c:319
+#: sm/gpgsm.c:320
 msgid "|FILE|write an audit log to FILE"
 msgstr "|檔案|將稽核日誌寫入至指定檔案"
 
-#: sm/gpgsm.c:322
+#: sm/gpgsm.c:323
 msgid "batch mode: never ask"
 msgstr "批次模式: 永遠不詢問"
 
-#: sm/gpgsm.c:323
+#: sm/gpgsm.c:324
 msgid "assume yes on most questions"
 msgstr "假設大部分的問題都回答是"
 
-#: sm/gpgsm.c:324
+#: sm/gpgsm.c:325
 msgid "assume no on most questions"
 msgstr "假設大部分的問題都回答否"
 
-#: sm/gpgsm.c:327
+#: sm/gpgsm.c:328
 msgid "|FILE|add keyring to the list of keyrings"
 msgstr "|檔案|將此金鑰鑰匙圈加到指定金鑰鑰匙圈清單檔案中"
 
-#: sm/gpgsm.c:330
+#: sm/gpgsm.c:331
 msgid "|USER-ID|use USER-ID as default secret key"
 msgstr "|使用者-ID|使用指定使用者 ID 做為預設私鑰"
 
-#: sm/gpgsm.c:340 tools/gpgconf-comp.c:837
+#: sm/gpgsm.c:341 dirmngr/dirmngr.c:214 tools/gpgconf-comp.c:841
 msgid "|SPEC|use this keyserver to lookup keys"
 msgstr "|SPEC|使用此金鑰伺服器來查找金鑰"
 
-#: sm/gpgsm.c:357
+#: sm/gpgsm.c:360
 msgid "|NAME|use cipher algorithm NAME"
 msgstr "|名稱|使用指定名稱的編密演算法"
 
-#: sm/gpgsm.c:359
+#: sm/gpgsm.c:362
 msgid "|NAME|use message digest algorithm NAME"
 msgstr "|名稱|使用指定名稱的訊息摘要演算法"
 
-#: sm/gpgsm.c:570
+#: sm/gpgsm.c:573
 msgid "Usage: @GPGSM@ [options] [files] (-h for help)"
 msgstr "用法: @GPGSM@ [選項] [檔案] (或用 -h 求助)"
 
-#: sm/gpgsm.c:573
+#: sm/gpgsm.c:576
 msgid ""
 "Syntax: @GPGSM@ [options] [files]\n"
 "Sign, check, encrypt or decrypt using the S/MIME protocol\n"
@@ -8973,47 +9004,27 @@ msgstr ""
 "用 S/MIME 協定來簽署, 檢查, 加密, 解密\n"
 "預設的操作會依輸入資料而定\n"
 
-#: sm/gpgsm.c:777
+#: sm/gpgsm.c:784
 #, c-format
 msgid "Note: won't be able to encrypt to '%s': %s\n"
 msgstr "請注意: 將無法加密為 '%s': %s\n"
 
-#: sm/gpgsm.c:788
+#: sm/gpgsm.c:795
 #, c-format
 msgid "unknown validation model '%s'\n"
 msgstr "未知的驗證模型 '%s'\n"
 
-#: sm/gpgsm.c:839 dirmngr/ldapserver.c:86
-#, c-format
-msgid "%s:%u: no hostname given\n"
-msgstr "%s:%u: 沒有給定主機名稱\n"
-
-#: sm/gpgsm.c:858 dirmngr/ldapserver.c:105
-#, c-format
-msgid "%s:%u: password given without user\n"
-msgstr "%s:%u: 給定的密碼沒有使用者\n"
-
-#: sm/gpgsm.c:879 dirmngr/ldapserver.c:126
-#, c-format
-msgid "%s:%u: skipping this line\n"
-msgstr "%s:%u: 正在跳過這一列\n"
-
-#: sm/gpgsm.c:1449
-#, c-format
-msgid "could not parse keyserver\n"
-msgstr "無法剖析金鑰伺服器\n"
-
-#: sm/gpgsm.c:1712
+#: sm/gpgsm.c:1612
 #, c-format
 msgid "importing common certificates '%s'\n"
 msgstr "正在匯入通用憑證 '%s'\n"
 
-#: sm/gpgsm.c:1755
+#: sm/gpgsm.c:1655
 #, c-format
 msgid "can't sign using '%s': %s\n"
 msgstr "無法用 '%s' 來簽署: %s\n"
 
-#: sm/gpgsm.c:2122
+#: sm/gpgsm.c:2028
 #, c-format
 msgid "invalid command (there is no implicit command)\n"
 msgstr "無效的指令 (沒有這樣的指令)\n"
@@ -9033,7 +9044,7 @@ msgstr "存放憑證時出錯\n"
 msgid "basic certificate checks failed - not imported\n"
 msgstr "基本的憑證檢查失敗了 - 未匯入\n"
 
-#: sm/import.c:472 sm/keydb.c:1229 sm/keydb.c:1319
+#: sm/import.c:472 sm/keydb.c:1209 sm/keydb.c:1300
 #, c-format
 msgid "error getting stored flags: %s\n"
 msgstr "取得已存放的旗標時出錯: %s\n"
@@ -9048,27 +9059,27 @@ msgstr "匯入憑證時出錯: %s\n"
 msgid "error reading input: %s\n"
 msgstr "讀取輸入時出錯: %s\n"
 
-#: sm/keydb.c:1148
+#: sm/keydb.c:1127
 #, c-format
 msgid "problem looking for existing certificate: %s\n"
 msgstr "查找既有憑證的問題: %s\n"
 
-#: sm/keydb.c:1160
+#: sm/keydb.c:1139
 #, c-format
 msgid "error finding writable keyDB: %s\n"
 msgstr "尋找可寫入的 keyDB 時出錯: %s\n"
 
-#: sm/keydb.c:1168
+#: sm/keydb.c:1147
 #, c-format
 msgid "error storing certificate: %s\n"
 msgstr "存放憑證時出錯: %s\n"
 
-#: sm/keydb.c:1220
+#: sm/keydb.c:1200
 #, c-format
 msgid "problem re-searching certificate: %s\n"
 msgstr "重新搜尋憑證的問題: %s\n"
 
-#: sm/keydb.c:1241 sm/keydb.c:1330
+#: sm/keydb.c:1221 sm/keydb.c:1311
 #, c-format
 msgid "error storing flags: %s\n"
 msgstr "存放旗標時出錯: %s\n"
@@ -9108,7 +9119,7 @@ msgstr ""
 "\n"
 "%s%s請問你是否真的確定要這樣做了?"
 
-#: sm/qualified.c:215 sm/verify.c:678
+#: sm/qualified.c:215 sm/verify.c:679
 #, c-format
 msgid ""
 "Note, that this software is not officially approved to create or verify such "
@@ -9157,23 +9168,23 @@ msgstr "[   未給定日期  ]"
 msgid "algorithm:"
 msgstr "演算法: %s"
 
-#: sm/verify.c:535
+#: sm/verify.c:536
 #, c-format
 msgid ""
 "invalid signature: message digest attribute does not match computed one\n"
 msgstr "無效的簽章: 訊息摘要屬性與計算而得的不吻合\n"
 
-#: sm/verify.c:656
+#: sm/verify.c:657
 #, c-format
 msgid "Good signature from"
 msgstr "完好的簽章來自於"
 
-#: sm/verify.c:657
+#: sm/verify.c:658
 #, c-format
 msgid "                aka"
 msgstr "                亦即"
 
-#: sm/verify.c:675
+#: sm/verify.c:676
 #, c-format
 msgid "This is a qualified signature\n"
 msgstr "這是一份合格簽章\n"
@@ -9788,7 +9799,7 @@ msgid "error retrieving '%s': %s\n"
 msgstr "取回 '%s' 時出錯: %s\n"
 
 #: dirmngr/crlfetch.c:218 dirmngr/ldap-wrapper-ce.c:492
-#: dirmngr/ldap-wrapper.c:884 dirmngr/misc.c:573
+#: dirmngr/ldap-wrapper.c:885 dirmngr/misc.c:573
 #, c-format
 msgid "error initializing reader object: %s\n"
 msgstr "啟始讀取程式物件時出錯: %s\n"
@@ -9945,112 +9956,112 @@ msgstr "應該要有絕對檔名\n"
 msgid "looking up '%s'\n"
 msgstr "正在查找 '%s'\n"
 
-#: dirmngr/dirmngr.c:170
+#: dirmngr/dirmngr.c:171
 msgid "list the contents of the CRL cache"
 msgstr "列出 CRL 快取的內容"
 
-#: dirmngr/dirmngr.c:171
+#: dirmngr/dirmngr.c:172
 msgid "|FILE|load CRL from FILE into cache"
 msgstr "|檔案|從指定檔案載入 CRL 至快取"
 
-#: dirmngr/dirmngr.c:172
+#: dirmngr/dirmngr.c:173
 msgid "|URL|fetch a CRL from URL"
 msgstr "|網址|從指定網址取得 CRL"
 
-#: dirmngr/dirmngr.c:173
+#: dirmngr/dirmngr.c:174
 msgid "shutdown the dirmngr"
 msgstr "關閉 dirmngr"
 
-#: dirmngr/dirmngr.c:174
+#: dirmngr/dirmngr.c:175
 msgid "flush the cache"
 msgstr "清除快取"
 
-#: dirmngr/dirmngr.c:190 tools/gpgconf-comp.c:522 tools/gpgconf-comp.c:741
-#: tools/gpgconf-comp.c:854 tools/gpgconf-comp.c:950
+#: dirmngr/dirmngr.c:191 tools/gpgconf-comp.c:522 tools/gpgconf-comp.c:745
+#: tools/gpgconf-comp.c:858 tools/gpgconf-comp.c:954
 msgid "|FILE|write server mode logs to FILE"
 msgstr "|檔案|將伺服器模式日誌寫入至指定檔案"
 
-#: dirmngr/dirmngr.c:191
+#: dirmngr/dirmngr.c:192
 msgid "run without asking a user"
 msgstr "以不詢問使用者的方式執行"
 
-#: dirmngr/dirmngr.c:192
+#: dirmngr/dirmngr.c:193
 msgid "force loading of outdated CRLs"
 msgstr "強迫載入過時的 CRL"
 
-#: dirmngr/dirmngr.c:193
+#: dirmngr/dirmngr.c:194
 msgid "allow sending OCSP requests"
 msgstr "允許送出 OCSP 請求"
 
-#: dirmngr/dirmngr.c:195
+#: dirmngr/dirmngr.c:196
 msgid "allow online software version check"
 msgstr ""
 
-#: dirmngr/dirmngr.c:196
+#: dirmngr/dirmngr.c:197
 msgid "inhibit the use of HTTP"
 msgstr "避免使用 HTTP"
 
-#: dirmngr/dirmngr.c:197
+#: dirmngr/dirmngr.c:198
 msgid "inhibit the use of LDAP"
 msgstr "避免使用 LDAP"
 
-#: dirmngr/dirmngr.c:199
+#: dirmngr/dirmngr.c:200
 msgid "ignore HTTP CRL distribution points"
 msgstr "忽略 HTTP CRL 分布點"
 
-#: dirmngr/dirmngr.c:201
+#: dirmngr/dirmngr.c:202
 msgid "ignore LDAP CRL distribution points"
 msgstr "忽略 LDAP CRL 分布點"
 
-#: dirmngr/dirmngr.c:203
+#: dirmngr/dirmngr.c:204
 msgid "ignore certificate contained OCSP service URLs"
 msgstr "忽略含有 OCSP 伺服器網址的憑證"
 
-#: dirmngr/dirmngr.c:206
+#: dirmngr/dirmngr.c:207
 msgid "|URL|redirect all HTTP requests to URL"
 msgstr "|網址|重新導向所有對指定網址提出的 HTTP 請求"
 
-#: dirmngr/dirmngr.c:208
+#: dirmngr/dirmngr.c:209
 msgid "|HOST|use HOST for LDAP queries"
 msgstr "|主機|指定 LDAP 查詢主機"
 
-#: dirmngr/dirmngr.c:210
+#: dirmngr/dirmngr.c:211
 msgid "do not use fallback hosts with --ldap-proxy"
 msgstr "不要將主機備案與 --ldap-proxy 並用"
 
-#: dirmngr/dirmngr.c:213
+#: dirmngr/dirmngr.c:216
 msgid "|FILE|read LDAP server list from FILE"
 msgstr "|檔案|從指定檔案讀取 LDAP 伺服器清單"
 
-#: dirmngr/dirmngr.c:215
+#: dirmngr/dirmngr.c:218
 msgid "add new servers discovered in CRL distribution points to serverlist"
 msgstr "將從 CRL 分布點發現的新伺服器加入至伺服器清單"
 
-#: dirmngr/dirmngr.c:218 dirmngr/dirmngr_ldap.c:137
+#: dirmngr/dirmngr.c:221
 msgid "|N|set LDAP timeout to N seconds"
 msgstr "|N|把 LDAP 逾時設成 N 秒"
 
-#: dirmngr/dirmngr.c:221
+#: dirmngr/dirmngr.c:224
 msgid "|URL|use OCSP responder at URL"
 msgstr "|網址|使用位於指定網址的 OCSP 回應程式"
 
-#: dirmngr/dirmngr.c:223
+#: dirmngr/dirmngr.c:226
 msgid "|FPR|OCSP response signed by FPR"
 msgstr "|FPR|由 FPR 簽署的 OCSP 回應"
 
-#: dirmngr/dirmngr.c:229
+#: dirmngr/dirmngr.c:232
 msgid "|N|do not return more than N items in one query"
 msgstr "|N|單次查詢不要傳回超過 N 筆項目"
 
-#: dirmngr/dirmngr.c:234
+#: dirmngr/dirmngr.c:237
 msgid "|FILE|use the CA certificates in FILE for HKP over TLS"
 msgstr "|檔案|在 HKP over TLS 的指定檔案中使用 CA 憑證"
 
-#: dirmngr/dirmngr.c:236
+#: dirmngr/dirmngr.c:239
 msgid "route all network traffic via Tor"
 msgstr ""
 
-#: dirmngr/dirmngr.c:265
+#: dirmngr/dirmngr.c:268
 msgid ""
 "@\n"
 "(See the \"info\" manual for a complete listing of all commands and "
@@ -10059,11 +10070,11 @@ msgstr ""
 "@\n"
 "(請參照「資訊」手冊來取得所有命令和選項的完整清單)\n"
 
-#: dirmngr/dirmngr.c:407
+#: dirmngr/dirmngr.c:415
 msgid "Usage: @DIRMNGR@ [options] (-h for help)"
 msgstr "用法: @DIRMNGR@ [選項] (或用 -h 求助)"
 
-#: dirmngr/dirmngr.c:409
+#: dirmngr/dirmngr.c:417
 msgid ""
 "Syntax: @DIRMNGR@ [options] [command [args]]\n"
 "Keyserver, CRL, and OCSP access for @GNUPG@\n"
@@ -10071,269 +10082,103 @@ msgstr ""
 "語法: @DIRMNGR@ [選項] [指令 [引數]]\n"
 "@GNUPG@ 的金鑰伺服器, CRL, OCSP 存取\n"
 
-#: dirmngr/dirmngr.c:489
+#: dirmngr/dirmngr.c:497
 #, c-format
 msgid "valid debug levels are: %s\n"
 msgstr "有效的除錯等級為: %s\n"
 
-#: dirmngr/dirmngr.c:575 tools/gpgconf.c:647 tools/gpgconf.c:682
+#: dirmngr/dirmngr.c:583 tools/gpgconf.c:647 tools/gpgconf.c:682
 #: tools/gpgconf.c:780
 #, c-format
 msgid "usage: %s [options] "
 msgstr "用法: %s [選項] "
 
-#: dirmngr/dirmngr.c:1212
+#: dirmngr/dirmngr.c:1249
 #, c-format
 msgid "colons are not allowed in the socket name\n"
 msgstr "socket 名稱內不允許使用冒號\n"
 
-#: dirmngr/dirmngr.c:1444 dirmngr/server.c:1824
+#: dirmngr/dirmngr.c:1481 dirmngr/server.c:1878
 #, c-format
 msgid "fetching CRL from '%s' failed: %s\n"
 msgstr "從 '%s' 取回 CRL 時失敗: %s\n"
 
-#: dirmngr/dirmngr.c:1450 dirmngr/server.c:1830
+#: dirmngr/dirmngr.c:1487 dirmngr/server.c:1884
 #, c-format
 msgid "processing CRL from '%s' failed: %s\n"
 msgstr "從 '%s' 處理 CRL 時失敗: %s\n"
 
-#: dirmngr/dirmngr.c:1645
+#: dirmngr/dirmngr.c:1682
 #, c-format
 msgid "%s:%u: line too long - skipped\n"
 msgstr "%s:%u: 列太長 - 已跳過\n"
 
-#: dirmngr/dirmngr.c:1700 dirmngr/dirmngr.c:1784
+#: dirmngr/dirmngr.c:1737 dirmngr/dirmngr.c:1821
 #, c-format
 msgid "%s:%u: invalid fingerprint detected\n"
 msgstr "%s:%u: 偵測到無效的指紋\n"
 
-#: dirmngr/dirmngr.c:1736 dirmngr/dirmngr.c:1762 tools/gpgconf-comp.c:4191
+#: dirmngr/dirmngr.c:1773 dirmngr/dirmngr.c:1799 tools/gpgconf-comp.c:4199
 #, c-format
 msgid "%s:%u: read error: %s\n"
 msgstr "%s:%u: 讀取錯誤: %s\n"
 
-#: dirmngr/dirmngr.c:1791
+#: dirmngr/dirmngr.c:1828
 #, c-format
 msgid "%s:%u: garbage at end of line ignored\n"
 msgstr "%s:%u: 列尾的垃圾已忽略\n"
 
-#: dirmngr/dirmngr.c:1860
+#: dirmngr/dirmngr.c:1897
 #, c-format
 msgid "SIGHUP received - re-reading configuration and flushing caches\n"
 msgstr "收到 SIGHUP - 正在重新讀取組態並清除快取\n"
 
-#: dirmngr/dirmngr.c:1900
+#: dirmngr/dirmngr.c:1937
 #, c-format
 msgid "SIGUSR2 received - no action defined\n"
 msgstr "收到 SIGUSR2 - 無定義行動\n"
 
-#: dirmngr/dirmngr.c:1905
+#: dirmngr/dirmngr.c:1942
 #, c-format
 msgid "SIGTERM received - shutting down ...\n"
 msgstr "收到 SIGTERM - 正在關閉 ...\n"
 
-#: dirmngr/dirmngr.c:1907
+#: dirmngr/dirmngr.c:1944
 #, c-format
 msgid "SIGTERM received - still %d active connections\n"
 msgstr "收到 SIGTERM - 還有 %d 個使用中的連線\n"
 
-#: dirmngr/dirmngr.c:1912
+#: dirmngr/dirmngr.c:1949
 #, c-format
 msgid "shutdown forced\n"
 msgstr "已強迫關閉\n"
 
-#: dirmngr/dirmngr.c:1920
+#: dirmngr/dirmngr.c:1957
 #, c-format
 msgid "SIGINT received - immediate shutdown\n"
 msgstr "收到 SIGINT - 立即關閉\n"
 
-#: dirmngr/dirmngr.c:1927
+#: dirmngr/dirmngr.c:1964
 #, c-format
 msgid "signal %d received - no action defined\n"
 msgstr "收到訊號 %d - 無定義行動\n"
 
-#: dirmngr/dirmngr_ldap.c:138
-msgid "return all values in a record oriented format"
-msgstr "以記錄導向格式傳回所有數值"
-
-#: dirmngr/dirmngr_ldap.c:141
-msgid "|NAME|ignore host part and connect through NAME"
-msgstr "|名稱|忽略主機的部份並改以指定名稱連線"
-
-#: dirmngr/dirmngr_ldap.c:142
-msgid "|NAME|connect to host NAME"
-msgstr "|名稱|連線至位於指定名稱的主機"
-
-#: dirmngr/dirmngr_ldap.c:143
-msgid "|N|connect to port N"
-msgstr "|N|連線至 N 連接埠"
-
-#: dirmngr/dirmngr_ldap.c:144
-msgid "|NAME|use user NAME for authentication"
-msgstr "|名字|使用指定名字做為認證用的使用者名稱"
-
-#: dirmngr/dirmngr_ldap.c:145
-msgid "|PASS|use password PASS for authentication"
-msgstr "|密碼|使用指定密碼作為認證"
-
-#: dirmngr/dirmngr_ldap.c:147
-msgid "take password from $DIRMNGR_LDAP_PASS"
-msgstr "從 $DIRMNGR_LDAP_PASS 取得密碼使用"
-
-#: dirmngr/dirmngr_ldap.c:148
-msgid "|STRING|query DN STRING"
-msgstr "|字串|以只指定字串查詢 DN"
-
-#: dirmngr/dirmngr_ldap.c:149
-msgid "|STRING|use STRING as filter expression"
-msgstr "|字串|以指定字串作為過濾器表示式"
-
-#: dirmngr/dirmngr_ldap.c:150
-msgid "|STRING|return the attribute STRING"
-msgstr "|字串|以指定字串傳回屬性"
-
-#: dirmngr/dirmngr_ldap.c:211
-msgid "Usage: dirmngr_ldap [options] [URL] (-h for help)\n"
-msgstr "用法: dirmngr_ldap [選項] [網址] (或用 -h 求助)\n"
-
-#: dirmngr/dirmngr_ldap.c:214
-msgid ""
-"Syntax: dirmngr_ldap [options] [URL]\n"
-"Internal LDAP helper for Dirmngr\n"
-"Interface and options may change without notice\n"
-msgstr ""
-"語法: dirmngr_ldap [選項] [網址]\n"
-"Dirmngr 的內部 LDAP 協助程式\n"
-"介面及選項均可能未經通知即變更\n"
-
-#: dirmngr/dirmngr_ldap.c:340
-#, c-format
-msgid "invalid port number %d\n"
-msgstr "無效的連接埠號碼 %d\n"
-
-#: dirmngr/dirmngr_ldap.c:456
-#, c-format
-msgid "scanning result for attribute '%s'\n"
-msgstr "正在掃描屬性 '%s' 之結果\n"
-
-#: dirmngr/dirmngr_ldap.c:463 dirmngr/dirmngr_ldap.c:546
-#: dirmngr/dirmngr_ldap.c:570 dirmngr/dirmngr_ldap.c:582
-#: dirmngr/dirmngr_ldap.c:720
-#, c-format
-msgid "error writing to stdout: %s\n"
-msgstr "寫入標準輸出時出錯: %s\n"
-
-#: dirmngr/dirmngr_ldap.c:480
-#, c-format
-msgid "          available attribute '%s'\n"
-msgstr "          可用屬性 '%s'\n"
-
-#: dirmngr/dirmngr_ldap.c:518
-#, c-format
-msgid "attribute '%s' not found\n"
-msgstr "找不到屬性 '%s'\n"
-
-#: dirmngr/dirmngr_ldap.c:525
-#, c-format
-msgid "found attribute '%s'\n"
-msgstr "找到屬性 '%s'\n"
-
-#: dirmngr/dirmngr_ldap.c:634
-#, c-format
-msgid "processing url '%s'\n"
-msgstr "正在處理網址 '%s'\n"
-
-#: dirmngr/dirmngr_ldap.c:636
-#, c-format
-msgid "          user '%s'\n"
-msgstr "          使用者 '%s'\n"
-
-#: dirmngr/dirmngr_ldap.c:638
-#, c-format
-msgid "          pass '%s'\n"
-msgstr "          密碼 '%s'\n"
-
-#: dirmngr/dirmngr_ldap.c:640
-#, c-format
-msgid "          host '%s'\n"
-msgstr "          主機 '%s'\n"
-
-#: dirmngr/dirmngr_ldap.c:641
-#, c-format
-msgid "          port %d\n"
-msgstr "          連接埠 %d\n"
-
-#: dirmngr/dirmngr_ldap.c:643
-#, c-format
-msgid "            DN '%s'\n"
-msgstr "            域名 '%s'\n"
-
-#: dirmngr/dirmngr_ldap.c:645
-#, c-format
-msgid "        filter '%s'\n"
-msgstr "        過濾器 '%s'\n"
-
-#: dirmngr/dirmngr_ldap.c:650 dirmngr/dirmngr_ldap.c:653
-#, c-format
-msgid "          attr '%s'\n"
-msgstr "          屬性 '%s'\n"
-
-#: dirmngr/dirmngr_ldap.c:659
-#, c-format
-msgid "no host name in '%s'\n"
-msgstr "'%s' 中沒有主機名稱\n"
-
-#: dirmngr/dirmngr_ldap.c:664
-#, c-format
-msgid "no attribute given for query '%s'\n"
-msgstr "查詢 '%s' 無給定屬性\n"
-
-#: dirmngr/dirmngr_ldap.c:670
-#, c-format
-msgid "WARNING: using first attribute only\n"
-msgstr "警告: 僅使用第一個屬性\n"
-
-#: dirmngr/dirmngr_ldap.c:679
-#, c-format
-msgid "LDAP init to '%s:%d' failed: %s\n"
-msgstr "LDAP 初始至 '%s:%d' 失敗: %s\n"
-
-#: dirmngr/dirmngr_ldap.c:702
-#, c-format
-msgid "binding to '%s:%d' failed: %s\n"
-msgstr "綁定至 '%s:%d' 時失敗: %s\n"
-
-#: dirmngr/dirmngr_ldap.c:729
-#, c-format
-msgid "searching '%s' failed: %s\n"
-msgstr "搜尋 '%s' 時失敗: %s\n"
-
-#: dirmngr/dirmngr_ldap.c:761
-#, c-format
-msgid "'%s' is not an LDAP URL\n"
-msgstr "'%s' 不是一個 LDAP 位址\n"
-
-#: dirmngr/dirmngr_ldap.c:767
-#, c-format
-msgid "'%s' is an invalid LDAP URL\n"
-msgstr "'%s' 是無效的 LDAP 網址\n"
-
-#: dirmngr/http.c:1987 dirmngr/ocsp.c:255
+#: dirmngr/http.c:1993 dirmngr/ocsp.c:255
 #, c-format
 msgid "error accessing '%s': http status %u\n"
 msgstr "存取 '%s' 時出錯: http 狀態 %u\n"
 
-#: dirmngr/http.c:3629 dirmngr/ocsp.c:229
+#: dirmngr/http.c:3644 dirmngr/ocsp.c:229
 #, c-format
 msgid "URL '%s' redirected to '%s' (%u)\n"
 msgstr "網址 '%s' 重新轉向至 '%s' (%u)\n"
 
-#: dirmngr/http.c:3635 dirmngr/ocsp.c:246
+#: dirmngr/http.c:3650 dirmngr/ocsp.c:246
 #, c-format
 msgid "too many redirections\n"
 msgstr "太多重新導向\n"
 
-#: dirmngr/http.c:3747
+#: dirmngr/http.c:3762
 #, fuzzy, c-format
 #| msgid "writing to '%s'\n"
 msgid "redirection changed to '%s'\n"
@@ -10374,31 +10219,51 @@ msgstr "等候 ldap 封裝程式 %d 時失敗: %s\n"
 msgid "ldap wrapper %d stalled - killing\n"
 msgstr "ldap 封裝程式 %d 已卡住 - 正在中止\n"
 
-#: dirmngr/ldap.c:91
+#: dirmngr/ldap.c:92
 #, c-format
 msgid "invalid char 0x%02x in host name - not added\n"
 msgstr "主機名稱中有無效的字符 0x%02x - 不予加入\n"
 
-#: dirmngr/ldap.c:95
+#: dirmngr/ldap.c:96
 #, c-format
 msgid "adding '%s:%d' to the ldap server list\n"
 msgstr "正在加入 '%s:%d' 至 ldap 伺服器清單\n"
 
-#: dirmngr/ldap.c:98 dirmngr/misc.c:512
+#: dirmngr/ldap.c:99 dirmngr/misc.c:512
 #, c-format
 msgid "malloc failed: %s\n"
 msgstr "動態記憶體配置失敗: %s\n"
 
-#: dirmngr/ldap.c:627
+#: dirmngr/ldap.c:221
 #, c-format
-msgid "start_cert_fetch: invalid pattern '%s'\n"
-msgstr "start_cert_fetch: 無效的模式 '%s'\n"
+msgid "'%s' is not an LDAP URL\n"
+msgstr "'%s' 不是一個 LDAP 位址\n"
+
+#: dirmngr/ldap.c:227 dirmngr/ldap.c:233
+#, c-format
+msgid "'%s' is an invalid LDAP URL\n"
+msgstr "'%s' 是無效的 LDAP 網址\n"
 
-#: dirmngr/ldap.c:839
+#: dirmngr/ldap.c:969
 #, c-format
 msgid "ldap_search hit the size limit of the server\n"
 msgstr "ldap_search 達到伺服器的尺寸限制\n"
 
+#: dirmngr/ldapserver.c:117
+#, c-format
+msgid "%s:%u: password given without user\n"
+msgstr "%s:%u: 給定的密碼沒有使用者\n"
+
+#: dirmngr/ldapserver.c:181
+#, c-format
+msgid "%s:%u: ignoring unknown flag '%s'\n"
+msgstr ""
+
+#: dirmngr/ldapserver.c:203
+#, c-format
+msgid "%s:%u: skipping this line\n"
+msgstr "%s:%u: 正在跳過這一列\n"
+
 #: dirmngr/misc.c:172
 #, c-format
 msgid "invalid canonical S-expression found\n"
@@ -10579,71 +10444,67 @@ msgstr "OCSP 回應程式傳回老舊的狀態\n"
 msgid "assuan_inquire(%s) failed: %s\n"
 msgstr "assuan_inquire(%s) 失敗: %s\n"
 
-#: dirmngr/server.c:1158
-msgid "ldapserver missing"
-msgstr "遺失 ldapserver"
-
-#: dirmngr/server.c:1224
+#: dirmngr/server.c:1277
 msgid "serialno missing in cert ID"
 msgstr "憑證 ID 中遺失 serialno"
 
-#: dirmngr/server.c:1387 dirmngr/server.c:1473 dirmngr/server.c:1909
-#: dirmngr/server.c:1980 dirmngr/server.c:2552 dirmngr/server.c:2567
+#: dirmngr/server.c:1440 dirmngr/server.c:1526 dirmngr/server.c:1963
+#: dirmngr/server.c:2034 dirmngr/server.c:2662 dirmngr/server.c:2677
 #, c-format
 msgid "assuan_inquire failed: %s\n"
 msgstr "assuan_inquire 失敗: %s\n"
 
-#: dirmngr/server.c:1516
+#: dirmngr/server.c:1569
 #, c-format
 msgid "fetch_cert_by_url failed: %s\n"
 msgstr "fetch_cert_by_url 失敗: %s\n"
 
-#: dirmngr/server.c:1528 dirmngr/server.c:1559 dirmngr/server.c:1718
+#: dirmngr/server.c:1581 dirmngr/server.c:1612 dirmngr/server.c:1772
 #, c-format
 msgid "error sending data: %s\n"
 msgstr "送出資料時出錯: %s\n"
 
-#: dirmngr/server.c:1666
+#: dirmngr/server.c:1720
 #, c-format
 msgid "start_cert_fetch failed: %s\n"
 msgstr "start_cert_fetch 失敗: %s\n"
 
-#: dirmngr/server.c:1699
+#: dirmngr/server.c:1753
 #, c-format
 msgid "fetch_next_cert failed: %s\n"
 msgstr "fetch_next_cert 失敗: %s\n"
 
-#: dirmngr/server.c:1726
+#: dirmngr/server.c:1780
 #, c-format
 msgid "max_replies %d exceeded\n"
 msgstr "max_replies %d 已超出\n"
 
-#: dirmngr/server.c:2856
+#: dirmngr/server.c:2966
 #, c-format
 msgid "can't allocate control structure: %s\n"
 msgstr "無法配置控制結構: %s\n"
 
-#: dirmngr/server.c:2867
+#: dirmngr/server.c:2977
 #, c-format
 msgid "failed to allocate assuan context: %s\n"
 msgstr "配置 assuan 脈絡失敗: %s\n"
 
-#: dirmngr/server.c:2888
+#: dirmngr/server.c:2998
 #, c-format
 msgid "failed to initialize the server: %s\n"
 msgstr "伺服器啟始失敗: %s\n"
 
-#: dirmngr/server.c:2896
+#: dirmngr/server.c:3006
 #, c-format
 msgid "failed to the register commands with Assuan: %s\n"
 msgstr "向 Assuan 註冊指令時失敗: %s\n"
 
-#: dirmngr/server.c:2929
+#: dirmngr/server.c:3039
 #, c-format
 msgid "Assuan accept problem: %s\n"
 msgstr "Assuan 接受問題: %s\n"
 
-#: dirmngr/server.c:2948
+#: dirmngr/server.c:3058
 #, c-format
 msgid "Assuan processing failed: %s\n"
 msgstr "Assuan 處理時失敗: %s\n"
@@ -10780,21 +10641,21 @@ msgid "error sending standard options: %s\n"
 msgstr "送出標準選項時出錯: %s\n"
 
 #: tools/gpgconf-comp.c:481 tools/gpgconf-comp.c:617 tools/gpgconf-comp.c:692
-#: tools/gpgconf-comp.c:804 tools/gpgconf-comp.c:906
+#: tools/gpgconf-comp.c:808 tools/gpgconf-comp.c:910
 msgid "Options controlling the diagnostic output"
 msgstr "控制著診斷性輸出的選項"
 
 #: tools/gpgconf-comp.c:494 tools/gpgconf-comp.c:630 tools/gpgconf-comp.c:705
-#: tools/gpgconf-comp.c:817 tools/gpgconf-comp.c:929
+#: tools/gpgconf-comp.c:821 tools/gpgconf-comp.c:933
 msgid "Options controlling the configuration"
 msgstr "控制著組態的選項"
 
-#: tools/gpgconf-comp.c:517 tools/gpgconf-comp.c:659 tools/gpgconf-comp.c:736
-#: tools/gpgconf-comp.c:849 tools/gpgconf-comp.c:942
+#: tools/gpgconf-comp.c:517 tools/gpgconf-comp.c:659 tools/gpgconf-comp.c:740
+#: tools/gpgconf-comp.c:853 tools/gpgconf-comp.c:946
 msgid "Options useful for debugging"
 msgstr "對除錯有幫助的選項"
 
-#: tools/gpgconf-comp.c:530 tools/gpgconf-comp.c:669 tools/gpgconf-comp.c:862
+#: tools/gpgconf-comp.c:530 tools/gpgconf-comp.c:669 tools/gpgconf-comp.c:866
 msgid "Options controlling the security"
 msgstr "控制著安全性的選項"
 
@@ -10844,11 +10705,11 @@ msgstr "不允許重複使用舊密語"
 msgid "|N|set the Pinentry timeout to N seconds"
 msgstr "|N|把 LDAP 逾時設成 N 秒"
 
-#: tools/gpgconf-comp.c:707 tools/gpgconf-comp.c:819
+#: tools/gpgconf-comp.c:707 tools/gpgconf-comp.c:823
 msgid "|NAME|use NAME as default secret key"
 msgstr "|名字|使用指定名字做為預設私鑰"
 
-#: tools/gpgconf-comp.c:710 tools/gpgconf-comp.c:822
+#: tools/gpgconf-comp.c:710 tools/gpgconf-comp.c:826
 msgid "|NAME|encrypt to user ID NAME as well"
 msgstr "|名字|也加密給指定名字的使用者 ID"
 
@@ -10856,144 +10717,144 @@ msgstr "|名字|也加密給指定名字的使用者 ID"
 msgid "|SPEC|set up email aliases"
 msgstr "|SPEC|設定電子郵件別名"
 
-#: tools/gpgconf-comp.c:749 tools/gpgconf-comp.c:981
+#: tools/gpgconf-comp.c:753 tools/gpgconf-comp.c:985
 msgid "Configuration for Keyservers"
 msgstr "金鑰伺服器組態"
 
-#: tools/gpgconf-comp.c:751 tools/gpgconf-comp.c:983
+#: tools/gpgconf-comp.c:755 tools/gpgconf-comp.c:987
 msgid "|URL|use keyserver at URL"
 msgstr "|URL|使用位於 URL 的金鑰伺服器"
 
-#: tools/gpgconf-comp.c:754
+#: tools/gpgconf-comp.c:758
 msgid "allow PKA lookups (DNS requests)"
 msgstr "允許 PKA 查找 (DNS 請求)"
 
-#: tools/gpgconf-comp.c:757
+#: tools/gpgconf-comp.c:761
 msgid "|MECHANISMS|use MECHANISMS to locate keys by mail address"
 msgstr "|MECHANISMS|使用 MECHANISMS 機制來從郵件地址找出金鑰"
 
-#: tools/gpgconf-comp.c:760
+#: tools/gpgconf-comp.c:764
 #, fuzzy
 #| msgid "import keys from a keyserver"
 msgid "import missing key from a signature"
 msgstr "從金鑰伺服器匯入金鑰"
 
-#: tools/gpgconf-comp.c:763
+#: tools/gpgconf-comp.c:767
 #, fuzzy
 #| msgid "list and check key signatures"
 msgid "include the public key in signatures"
 msgstr "列出並檢查金鑰簽章"
 
-#: tools/gpgconf-comp.c:770 tools/gpgconf-comp.c:831
+#: tools/gpgconf-comp.c:774 tools/gpgconf-comp.c:835
 msgid "disable all access to the dirmngr"
 msgstr "停用所有的 dirmngr 存取"
 
-#: tools/gpgconf-comp.c:834
+#: tools/gpgconf-comp.c:838
 msgid "|NAME|use encoding NAME for PKCS#12 passphrases"
 msgstr "|名稱|將指定名稱的編碼用於 PKCS#12 密語"
 
-#: tools/gpgconf-comp.c:870
+#: tools/gpgconf-comp.c:874
 msgid "do not check CRLs for root certificates"
 msgstr "不要為根憑證檢查 CRL"
 
-#: tools/gpgconf-comp.c:919
+#: tools/gpgconf-comp.c:923
 msgid "Options controlling the format of the output"
 msgstr "控制著輸出格式的選項"
 
-#: tools/gpgconf-comp.c:961
+#: tools/gpgconf-comp.c:965
 msgid "Options controlling the interactivity and enforcement"
 msgstr "控制著互動及強制執行的選項"
 
-#: tools/gpgconf-comp.c:974
+#: tools/gpgconf-comp.c:978
 #, fuzzy
 #| msgid "Options controlling the security"
 msgid "Options controlling the use of Tor"
 msgstr "控制著安全性的選項"
 
-#: tools/gpgconf-comp.c:988
+#: tools/gpgconf-comp.c:992
 msgid "Configuration for HTTP servers"
 msgstr "HTTP 伺服器組態"
 
-#: tools/gpgconf-comp.c:999
+#: tools/gpgconf-comp.c:1003
 msgid "use system's HTTP proxy setting"
 msgstr "使用系統的 HTTP 代理伺服器設定"
 
-#: tools/gpgconf-comp.c:1004
+#: tools/gpgconf-comp.c:1008
 msgid "Configuration of LDAP servers to use"
 msgstr "要用的 LDAP 伺服器組態"
 
-#: tools/gpgconf-comp.c:1033
+#: tools/gpgconf-comp.c:1037
 msgid "LDAP server list"
 msgstr "LDAP 伺服器清單"
 
-#: tools/gpgconf-comp.c:1041
+#: tools/gpgconf-comp.c:1045
 msgid "Configuration for OCSP"
 msgstr "OCSP 組態"
 
-#: tools/gpgconf-comp.c:1094
+#: tools/gpgconf-comp.c:1098
 #, fuzzy
 #| msgid "GPG for OpenPGP"
 msgid "OpenPGP"
 msgstr "OpenPGP 版 GPG"
 
-#: tools/gpgconf-comp.c:1095
+#: tools/gpgconf-comp.c:1099
 msgid "Private Keys"
 msgstr ""
 
-#: tools/gpgconf-comp.c:1096
+#: tools/gpgconf-comp.c:1100
 #, fuzzy
 #| msgid "Smartcard Daemon"
 msgid "Smartcards"
 msgstr "智慧卡服務"
 
-#: tools/gpgconf-comp.c:1097
+#: tools/gpgconf-comp.c:1101
 #, fuzzy
 #| msgid "GPG for S/MIME"
 msgid "S/MIME"
 msgstr "S/MIME 版 GPG"
 
-#: tools/gpgconf-comp.c:1098
+#: tools/gpgconf-comp.c:1102
 msgid "Network"
 msgstr ""
 
-#: tools/gpgconf-comp.c:1099
+#: tools/gpgconf-comp.c:1103
 #, fuzzy
 #| msgid "PIN and Passphrase Entry"
 msgid "Passphrase Entry"
 msgstr "個人識別碼及密語項目"
 
-#: tools/gpgconf-comp.c:1278
+#: tools/gpgconf-comp.c:1282
 msgid "Component not suitable for launching"
 msgstr "元件不適合啟動"
 
-#: tools/gpgconf-comp.c:1284
+#: tools/gpgconf-comp.c:1288
 #, fuzzy, c-format
 #| msgid "External verification of component %s failed"
 msgid "Configuration file of component %s is broken\n"
 msgstr "元件 %s 的外部驗證失敗"
 
-#: tools/gpgconf-comp.c:1287
+#: tools/gpgconf-comp.c:1291
 #, fuzzy, c-format
 #| msgid "Please use the command \"toggle\" first.\n"
 msgid "Note: Use the command \"%s%s\" to get details.\n"
 msgstr "請先使用 \"toggle\" 指令.\n"
 
-#: tools/gpgconf-comp.c:3446
+#: tools/gpgconf-comp.c:3454
 #, c-format
 msgid "External verification of component %s failed"
 msgstr "元件 %s 的外部驗證失敗"
 
-#: tools/gpgconf-comp.c:3597
+#: tools/gpgconf-comp.c:3605
 msgid "Note that group specifications are ignored\n"
 msgstr "請注意群組規格已忽略\n"
 
-#: tools/gpgconf-comp.c:4195
+#: tools/gpgconf-comp.c:4203
 #, fuzzy, c-format
 #| msgid "error closing '%s': %s\n"
 msgid "error closing '%s'\n"
 msgstr "關閉 '%s' 時出錯: %s\n"
 
-#: tools/gpgconf-comp.c:4197
+#: tools/gpgconf-comp.c:4205
 #, fuzzy, c-format
 #| msgid "error hashing '%s': %s\n"
 msgid "error parsing '%s'\n"
@@ -11103,6 +10964,123 @@ msgstr ""
 "語法: gpg-check-pattern [選項] 樣式檔案\n"
 "用樣式檔案來檢查由標準輸入給定的密語\n"
 
+#~ msgid "requesting key %s from %s server %s\n"
+#~ msgstr "正在請求金鑰 %s 自 %s 伺服器 %s\n"
+
+#~ msgid "%s:%u: no hostname given\n"
+#~ msgstr "%s:%u: 沒有給定主機名稱\n"
+
+#~ msgid "could not parse keyserver\n"
+#~ msgstr "無法剖析金鑰伺服器\n"
+
+#~ msgid "return all values in a record oriented format"
+#~ msgstr "以記錄導向格式傳回所有數值"
+
+#~ msgid "|NAME|ignore host part and connect through NAME"
+#~ msgstr "|名稱|忽略主機的部份並改以指定名稱連線"
+
+#~ msgid "|NAME|connect to host NAME"
+#~ msgstr "|名稱|連線至位於指定名稱的主機"
+
+#~ msgid "|N|connect to port N"
+#~ msgstr "|N|連線至 N 連接埠"
+
+#~ msgid "|NAME|use user NAME for authentication"
+#~ msgstr "|名字|使用指定名字做為認證用的使用者名稱"
+
+#~ msgid "|PASS|use password PASS for authentication"
+#~ msgstr "|密碼|使用指定密碼作為認證"
+
+#~ msgid "take password from $DIRMNGR_LDAP_PASS"
+#~ msgstr "從 $DIRMNGR_LDAP_PASS 取得密碼使用"
+
+#~ msgid "|STRING|query DN STRING"
+#~ msgstr "|字串|以只指定字串查詢 DN"
+
+#~ msgid "|STRING|use STRING as filter expression"
+#~ msgstr "|字串|以指定字串作為過濾器表示式"
+
+#~ msgid "|STRING|return the attribute STRING"
+#~ msgstr "|字串|以指定字串傳回屬性"
+
+#~ msgid "Usage: dirmngr_ldap [options] [URL] (-h for help)\n"
+#~ msgstr "用法: dirmngr_ldap [選項] [網址] (或用 -h 求助)\n"
+
+#~ msgid ""
+#~ "Syntax: dirmngr_ldap [options] [URL]\n"
+#~ "Internal LDAP helper for Dirmngr\n"
+#~ "Interface and options may change without notice\n"
+#~ msgstr ""
+#~ "語法: dirmngr_ldap [選項] [網址]\n"
+#~ "Dirmngr 的內部 LDAP 協助程式\n"
+#~ "介面及選項均可能未經通知即變更\n"
+
+#~ msgid "invalid port number %d\n"
+#~ msgstr "無效的連接埠號碼 %d\n"
+
+#~ msgid "scanning result for attribute '%s'\n"
+#~ msgstr "正在掃描屬性 '%s' 之結果\n"
+
+#~ msgid "error writing to stdout: %s\n"
+#~ msgstr "寫入標準輸出時出錯: %s\n"
+
+#~ msgid "          available attribute '%s'\n"
+#~ msgstr "          可用屬性 '%s'\n"
+
+#~ msgid "attribute '%s' not found\n"
+#~ msgstr "找不到屬性 '%s'\n"
+
+#~ msgid "found attribute '%s'\n"
+#~ msgstr "找到屬性 '%s'\n"
+
+#~ msgid "processing url '%s'\n"
+#~ msgstr "正在處理網址 '%s'\n"
+
+#~ msgid "          user '%s'\n"
+#~ msgstr "          使用者 '%s'\n"
+
+#~ msgid "          pass '%s'\n"
+#~ msgstr "          密碼 '%s'\n"
+
+#~ msgid "          host '%s'\n"
+#~ msgstr "          主機 '%s'\n"
+
+#~ msgid "          port %d\n"
+#~ msgstr "          連接埠 %d\n"
+
+#~ msgid "            DN '%s'\n"
+#~ msgstr "            域名 '%s'\n"
+
+#~ msgid "        filter '%s'\n"
+#~ msgstr "        過濾器 '%s'\n"
+
+#~ msgid "          attr '%s'\n"
+#~ msgstr "          屬性 '%s'\n"
+
+#~ msgid "no host name in '%s'\n"
+#~ msgstr "'%s' 中沒有主機名稱\n"
+
+#~ msgid "no attribute given for query '%s'\n"
+#~ msgstr "查詢 '%s' 無給定屬性\n"
+
+#~ msgid "WARNING: using first attribute only\n"
+#~ msgstr "警告: 僅使用第一個屬性\n"
+
+#~ msgid "LDAP init to '%s:%d' failed: %s\n"
+#~ msgstr "LDAP 初始至 '%s:%d' 失敗: %s\n"
+
+#~ msgid "binding to '%s:%d' failed: %s\n"
+#~ msgstr "綁定至 '%s:%d' 時失敗: %s\n"
+
+#~ msgid "searching '%s' failed: %s\n"
+#~ msgstr "搜尋 '%s' 時失敗: %s\n"
+
+#~ msgid "start_cert_fetch: invalid pattern '%s'\n"
+#~ msgstr "start_cert_fetch: 無效的模式 '%s'\n"
+
+#~ msgid "ldapserver missing"
+#~ msgstr "遺失 ldapserver"
+
 #~ msgid "Note: old default options file '%s' ignored\n"
 #~ msgstr "請注意: 已忽略舊有的預設選項檔 '%s'\n"
 
index 3ee8e9a..4b48a5c 100644 (file)
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.16.1 from Makefile.am.
+# Makefile.in generated by automake 1.16.3 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2018 Free Software Foundation, Inc.
+# Copyright (C) 1994-2020 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -588,7 +588,8 @@ all-am: Makefile $(LIBRARIES)
 installdirs:
 install: $(BUILT_SOURCES)
        $(MAKE) $(AM_MAKEFLAGS) install-am
-install-exec: install-exec-am
+install-exec: $(BUILT_SOURCES)
+       $(MAKE) $(AM_MAKEFLAGS) install-exec-am
 install-data: install-data-am
 uninstall: uninstall-am
 
@@ -690,7 +691,7 @@ ps-am:
 
 uninstall-am:
 
-.MAKE: all check install install-am install-strip
+.MAKE: all check install install-am install-exec install-strip
 
 .PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am clean \
        clean-generic clean-noinstLIBRARIES cscopelist-am ctags \
index 43d9c10..0b8eb03 100644 (file)
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.16.1 from Makefile.am.
+# Makefile.in generated by automake 1.16.3 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2018 Free Software Foundation, Inc.
+# Copyright (C) 1994-2020 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
index f53194b..a42808c 100644 (file)
@@ -88,6 +88,12 @@ typedef unsigned int pcsc_dword_t;
 typedef unsigned long pcsc_dword_t;
 #endif
 
+/* PC/SC context to access readers.  Shared among all readers.  */
+static struct pcsc {
+  int count;
+  long context;
+} pcsc;
+
 /* A structure to collect information pertaining to one reader
    slot. */
 struct reader_table_s {
@@ -113,7 +119,6 @@ struct reader_table_s {
     ccid_driver_t handle;
   } ccid;
   struct {
-    long context;
     long card;
     pcsc_dword_t protocol;
     pcsc_dword_t verify_ioctl;
@@ -229,6 +234,7 @@ static npth_mutex_t reader_table_lock;
 #define PCSC_E_NOT_TRANSACTED          0x80100016
 #define PCSC_E_READER_UNAVAILABLE      0x80100017
 #define PCSC_E_NO_SERVICE              0x8010001D
+#define PCSC_E_NO_READERS_AVAILABLE    0x8010002E
 #define PCSC_E_SERVICE_STOPPED         0x8010001E
 #define PCSC_W_RESET_CARD              0x80100068
 #define PCSC_W_REMOVED_CARD            0x80100069
@@ -297,6 +303,7 @@ long (* DLSTDCALL pcsc_establish_context) (pcsc_dword_t scope,
                                            const void *reserved2,
                                            long *r_context);
 long (* DLSTDCALL pcsc_release_context) (long context);
+long (* DLSTDCALL pcsc_cancel) (long context);
 long (* DLSTDCALL pcsc_list_readers) (long context,
                                       const char *groups,
                                       char *readers, pcsc_dword_t*readerslen);
@@ -522,10 +529,14 @@ apdu_strerror (int rc)
     case SW_EOF_REACHED    : return "eof reached";
     case SW_EEPROM_FAILURE : return "eeprom failure";
     case SW_WRONG_LENGTH   : return "wrong length";
+    case SW_SM_NOT_SUP     : return "secure messaging not supported";
+    case SW_CC_NOT_SUP     : return "command chaining not supported";
+    case SW_FILE_STRUCT    : return "command can't be used for file structure.";
     case SW_CHV_WRONG      : return "CHV wrong";
     case SW_CHV_BLOCKED    : return "CHV blocked";
     case SW_REF_DATA_INV   : return "referenced data invalidated";
     case SW_USE_CONDITIONS : return "use conditions not satisfied";
+    case SW_NO_CURRENT_EF  : return "no current EF selected";
     case SW_BAD_PARAMETER  : return "bad parameter";
     case SW_NOT_SUPPORTED  : return "not supported";
     case SW_FILE_NOT_FOUND : return "file not found";
@@ -600,6 +611,7 @@ pcsc_error_string (long err)
     case 0x001c: s = "card unsupported"; break;
     case 0x001d: s = "no service"; break;
     case 0x001e: s = "service stopped"; break;
+    case 0x002e: s = "no readers available"; break;
     default:     s = "unknown PC/SC error code"; break;
     }
   return s;
@@ -666,9 +678,7 @@ pcsc_get_status (int slot, unsigned int *status, int on_wire)
   memset (rdrstates, 0, sizeof *rdrstates);
   rdrstates[0].reader = reader_table[slot].rdrname;
   rdrstates[0].current_state = reader_table[slot].pcsc.current_state;
-  err = pcsc_get_status_change (reader_table[slot].pcsc.context,
-                                0,
-                                rdrstates, 1);
+  err = pcsc_get_status_change (pcsc.context, 0, rdrstates, 1);
   if (err == PCSC_E_TIMEOUT)
     err = 0; /* Timeout is no error here.  */
   if (err)
@@ -709,7 +719,8 @@ pcsc_get_status (int slot, unsigned int *status, int on_wire)
      mode.  */
   if ( (*status & (APDU_CARD_PRESENT|APDU_CARD_ACTIVE))
        == (APDU_CARD_PRESENT|APDU_CARD_ACTIVE)
-       && !(reader_table[slot].pcsc.current_state & PCSC_STATE_INUSE) )
+       && (opt.pcsc_shared
+           || !(reader_table[slot].pcsc.current_state & PCSC_STATE_INUSE)))
     *status |= APDU_CARD_USABLE;
 #else
   /* Some winscard drivers may set EXCLUSIVE and INUSE at the same
@@ -802,7 +813,13 @@ control_pcsc (int slot, pcsc_dword_t ioctl_code,
 static int
 close_pcsc_reader (int slot)
 {
-  pcsc_release_context (reader_table[slot].pcsc.context);
+  (void)slot;
+  log_assert (pcsc.count > 0);
+  if (--pcsc.count == 0)
+    {
+      pcsc_release_context (pcsc.context);
+      pcsc.context = -1;
+    }
   return 0;
 }
 
@@ -821,9 +838,9 @@ connect_pcsc_card (int slot)
   reader_table[slot].atrlen = 0;
   reader_table[slot].is_t0 = 0;
 
-  err = pcsc_connect (reader_table[slot].pcsc.context,
+  err = pcsc_connect (pcsc.context,
                       reader_table[slot].rdrname,
-                      PCSC_SHARE_EXCLUSIVE,
+                      opt.pcsc_shared? PCSC_SHARE_SHARED:PCSC_SHARE_EXCLUSIVE,
                       PCSC_PROTOCOL_T0|PCSC_PROTOCOL_T1,
                       &reader_table[slot].pcsc.card,
                       &reader_table[slot].pcsc.protocol);
@@ -833,6 +850,16 @@ connect_pcsc_card (int slot)
       if (err != PCSC_E_NO_SMARTCARD)
         log_error ("pcsc_connect failed: %s (0x%lx)\n",
                    pcsc_error_string (err), err);
+      if (err == PCSC_W_REMOVED_CARD && pcsc_cancel)
+        {
+          long err2;
+          err2 = pcsc_cancel (pcsc.context);
+          if (err2)
+            log_error ("pcsc_cancel failed: %s (0x%lx)\n",
+                       pcsc_error_string (err2), err2);
+          else if (opt.verbose)
+            log_error ("pcsc_cancel succeeded\n");
+        }
     }
   else
     {
@@ -843,7 +870,7 @@ connect_pcsc_card (int slot)
       pcsc_vendor_specific_init (slot);
 
       atrlen = DIM (reader_table[0].atr);
-      readerlen = sizeof reader -;
+      readerlen = sizeof reader - 1;
       err = pcsc_status (reader_table[slot].pcsc.card,
                          reader, &readerlen,
                          &card_state, &card_protocol,
@@ -1056,9 +1083,111 @@ pcsc_vendor_specific_init (int slot)
   return 0;
 }
 
+static int
+pcsc_init (void)
+{
+  static int pcsc_api_loaded;
+  long err;
 
-/* Open the PC/SC reader without using the wrapper.  Returns -1 on
-   error or a slot number for the reader.  */
+  /* Load the PC/SC API */
+  if (!pcsc_api_loaded)
+    {
+      void *handle;
+
+      handle = dlopen (opt.pcsc_driver, RTLD_LAZY);
+      if (!handle)
+        {
+          log_error ("pscd_open_reader: failed to open driver '%s': %s\n",
+                     opt.pcsc_driver, dlerror ());
+          return -1;
+        }
+
+      pcsc_establish_context = dlsym (handle, "SCardEstablishContext");
+      pcsc_release_context   = dlsym (handle, "SCardReleaseContext");
+      pcsc_cancel            = dlsym (handle, "SCardCancel");
+      pcsc_list_readers      = dlsym (handle, "SCardListReaders");
+#if defined(_WIN32) || defined(__CYGWIN__)
+      if (!pcsc_list_readers)
+        pcsc_list_readers    = dlsym (handle, "SCardListReadersA");
+#endif
+      pcsc_get_status_change = dlsym (handle, "SCardGetStatusChange");
+#if defined(_WIN32) || defined(__CYGWIN__)
+      if (!pcsc_get_status_change)
+        pcsc_get_status_change = dlsym (handle, "SCardGetStatusChangeA");
+#endif
+      pcsc_connect           = dlsym (handle, "SCardConnect");
+#if defined(_WIN32) || defined(__CYGWIN__)
+      if (!pcsc_connect)
+        pcsc_connect         = dlsym (handle, "SCardConnectA");
+#endif
+      pcsc_reconnect         = dlsym (handle, "SCardReconnect");
+#if defined(_WIN32) || defined(__CYGWIN__)
+      if (!pcsc_reconnect)
+        pcsc_reconnect       = dlsym (handle, "SCardReconnectA");
+#endif
+      pcsc_disconnect        = dlsym (handle, "SCardDisconnect");
+      pcsc_status            = dlsym (handle, "SCardStatus");
+#if defined(_WIN32) || defined(__CYGWIN__)
+      if (!pcsc_status)
+        pcsc_status          = dlsym (handle, "SCardStatusA");
+#endif
+      pcsc_begin_transaction = dlsym (handle, "SCardBeginTransaction");
+      pcsc_end_transaction   = dlsym (handle, "SCardEndTransaction");
+      pcsc_transmit          = dlsym (handle, "SCardTransmit");
+      pcsc_set_timeout       = dlsym (handle, "SCardSetTimeout");
+      pcsc_control           = dlsym (handle, "SCardControl");
+
+      if (!pcsc_establish_context
+          || !pcsc_release_context
+          || !pcsc_list_readers
+          || !pcsc_get_status_change
+          || !pcsc_connect
+          || !pcsc_reconnect
+          || !pcsc_disconnect
+          || !pcsc_status
+          || !pcsc_begin_transaction
+          || !pcsc_end_transaction
+          || !pcsc_transmit
+          || !pcsc_control
+          /* || !pcsc_set_timeout */)
+        {
+          /* Note that set_timeout is currently not used and also not
+             available under Windows. */
+          log_error ("pcsc_open_reader: invalid PC/SC driver "
+                     "(%d%d%d%d%d%d%d%d%d%d%d%d%d)\n",
+                     !!pcsc_establish_context,
+                     !!pcsc_release_context,
+                     !!pcsc_list_readers,
+                     !!pcsc_get_status_change,
+                     !!pcsc_connect,
+                     !!pcsc_reconnect,
+                     !!pcsc_disconnect,
+                     !!pcsc_status,
+                     !!pcsc_begin_transaction,
+                     !!pcsc_end_transaction,
+                     !!pcsc_transmit,
+                     !!pcsc_set_timeout,
+                     !!pcsc_control );
+          dlclose (handle);
+          return -1;
+        }
+      pcsc_api_loaded = 1;
+    }
+
+  err = pcsc_establish_context (PCSC_SCOPE_SYSTEM, NULL, NULL, &pcsc.context);
+  if (err)
+    {
+      log_error ("pcsc_establish_context failed: %s (0x%lx)\n",
+                 pcsc_error_string (err), err);
+      return -1;
+    }
+  pcsc.count++;
+
+  return 0;
+}
+
+/* Open the PC/SC reader.  If PORTSTR is NULL we default to a suitable
+   port.  Returns -1 on error or a slot number for the reader.  */
 static int
 open_pcsc_reader (const char *portstr)
 {
@@ -1068,66 +1197,67 @@ open_pcsc_reader (const char *portstr)
   char *rdrname = NULL;
   pcsc_dword_t nreader;
   char *p;
+  size_t n;
+
+  if (pcsc.context < 0)
+    if (pcsc_init () < 0)
+      return -1;
+
+  if (DBG_READER)
+    log_debug ("open_pcsc_reader(portstr=%s)\n", portstr);
 
   slot = new_reader_slot ();
   if (slot == -1)
-    return -1;
+    return -1;  /* No need to cleanup here. */
 
-  /* Fixme: Allocating a context for each slot is not required.  One
-     global context should be sufficient.  */
-  err = pcsc_establish_context (PCSC_SCOPE_SYSTEM, NULL, NULL,
-                                &reader_table[slot].pcsc.context);
-  if (err)
-    {
-      log_error ("pcsc_establish_context failed: %s (0x%lx)\n",
-                 pcsc_error_string (err), err);
-      reader_table[slot].used = 0;
-      unlock_slot (slot);
-      return -1;
-    }
-
-  err = pcsc_list_readers (reader_table[slot].pcsc.context,
-                           NULL, NULL, &nreader);
+  err = pcsc_list_readers (pcsc.context, NULL, NULL, &nreader);
   if (!err)
     {
       list = xtrymalloc (nreader+1); /* Better add 1 for safety reasons. */
       if (!list)
         {
           log_error ("error allocating memory for reader list\n");
-          pcsc_release_context (reader_table[slot].pcsc.context);
+          close_pcsc_reader (slot);
           reader_table[slot].used = 0;
           unlock_slot (slot);
-          return -1 /*SW_HOST_OUT_OF_CORE*/;
+          slot = -1 /*SW_HOST_OUT_OF_CORE*/;
+          goto leave;
         }
-      err = pcsc_list_readers (reader_table[slot].pcsc.context,
-                               NULL, list, &nreader);
+      err = pcsc_list_readers (pcsc.context, NULL, list, &nreader);
     }
   if (err)
     {
       log_error ("pcsc_list_readers failed: %s (0x%lx)\n",
                  pcsc_error_string (err), err);
-      pcsc_release_context (reader_table[slot].pcsc.context);
+      close_pcsc_reader (slot);
       reader_table[slot].used = 0;
-      xfree (list);
       unlock_slot (slot);
-      return -1;
+      xfree (list);
+      slot = -1;
+      goto leave;
     }
 
   p = list;
-  while (nreader)
+  while (nreader > 0)
     {
-      if (!*p && !p[1])
+      if (!*p)
         break;
-      log_info ("detected reader '%s'\n", p);
-      if (nreader < (strlen (p)+1))
-        {
-          log_error ("invalid response from pcsc_list_readers\n");
+
+      for (n=0; n < nreader; n++)
+        if (!p[n])
           break;
-        }
+
+      if (n >= nreader)
+         {
+           log_error ("invalid response from pcsc_list_readers\n");
+           break;
+         }
+
+      log_info ("detected reader '%s'\n", p);
       if (!rdrname && portstr && !strncmp (p, portstr, strlen (portstr)))
         rdrname = p;
-      nreader -= strlen (p)+1;
-      p += strlen (p) + 1;
+      nreader -= n + 1;
+      p += n + 1;
     }
 
   if (!rdrname)
@@ -1137,10 +1267,11 @@ open_pcsc_reader (const char *portstr)
   if (!reader_table[slot].rdrname)
     {
       log_error ("error allocating memory for reader name\n");
-      pcsc_release_context (reader_table[slot].pcsc.context);
+      close_pcsc_reader (slot);
       reader_table[slot].used = 0;
       unlock_slot (slot);
-      return -1;
+      slot = -1;
+      goto leave;
     }
   xfree (list);
   list = NULL;
@@ -1158,6 +1289,10 @@ open_pcsc_reader (const char *portstr)
 
   dump_reader_status (slot);
   unlock_slot (slot);
+
+ leave:
+  if (DBG_READER)
+    log_debug ("open_pcsc_reader => slot=%d\n", slot);
   return slot;
 }
 
@@ -1942,109 +2077,6 @@ apdu_dev_list_finish (struct dev_list *dl)
 }
 
 
-/* Open the reader and return an internal slot number or -1 on
-   error. If PORTSTR is NULL we default to a suitable port (for ctAPI:
-   the first USB reader.  For PC/SC the first listed reader). */
-static int
-apdu_open_one_reader (const char *portstr)
-{
-  static int pcsc_api_loaded;
-  int slot;
-
-  if (DBG_READER)
-    log_debug ("enter: apdu_open_reader: portstr=%s\n", portstr);
-
-  /* Lets try the PC/SC API */
-  if (!pcsc_api_loaded)
-    {
-      void *handle;
-
-      handle = dlopen (opt.pcsc_driver, RTLD_LAZY);
-      if (!handle)
-        {
-          log_error ("apdu_open_reader: failed to open driver '%s': %s\n",
-                     opt.pcsc_driver, dlerror ());
-          return -1;
-        }
-
-      pcsc_establish_context = dlsym (handle, "SCardEstablishContext");
-      pcsc_release_context   = dlsym (handle, "SCardReleaseContext");
-      pcsc_list_readers      = dlsym (handle, "SCardListReaders");
-#if defined(_WIN32) || defined(__CYGWIN__)
-      if (!pcsc_list_readers)
-        pcsc_list_readers    = dlsym (handle, "SCardListReadersA");
-#endif
-      pcsc_get_status_change = dlsym (handle, "SCardGetStatusChange");
-#if defined(_WIN32) || defined(__CYGWIN__)
-      if (!pcsc_get_status_change)
-        pcsc_get_status_change = dlsym (handle, "SCardGetStatusChangeA");
-#endif
-      pcsc_connect           = dlsym (handle, "SCardConnect");
-#if defined(_WIN32) || defined(__CYGWIN__)
-      if (!pcsc_connect)
-        pcsc_connect         = dlsym (handle, "SCardConnectA");
-#endif
-      pcsc_reconnect         = dlsym (handle, "SCardReconnect");
-#if defined(_WIN32) || defined(__CYGWIN__)
-      if (!pcsc_reconnect)
-        pcsc_reconnect       = dlsym (handle, "SCardReconnectA");
-#endif
-      pcsc_disconnect        = dlsym (handle, "SCardDisconnect");
-      pcsc_status            = dlsym (handle, "SCardStatus");
-#if defined(_WIN32) || defined(__CYGWIN__)
-      if (!pcsc_status)
-        pcsc_status          = dlsym (handle, "SCardStatusA");
-#endif
-      pcsc_begin_transaction = dlsym (handle, "SCardBeginTransaction");
-      pcsc_end_transaction   = dlsym (handle, "SCardEndTransaction");
-      pcsc_transmit          = dlsym (handle, "SCardTransmit");
-      pcsc_set_timeout       = dlsym (handle, "SCardSetTimeout");
-      pcsc_control           = dlsym (handle, "SCardControl");
-
-      if (!pcsc_establish_context
-          || !pcsc_release_context
-          || !pcsc_list_readers
-          || !pcsc_get_status_change
-          || !pcsc_connect
-          || !pcsc_reconnect
-          || !pcsc_disconnect
-          || !pcsc_status
-          || !pcsc_begin_transaction
-          || !pcsc_end_transaction
-          || !pcsc_transmit
-          || !pcsc_control
-          /* || !pcsc_set_timeout */)
-        {
-          /* Note that set_timeout is currently not used and also not
-             available under Windows. */
-          log_error ("apdu_open_reader: invalid PC/SC driver "
-                     "(%d%d%d%d%d%d%d%d%d%d%d%d%d)\n",
-                     !!pcsc_establish_context,
-                     !!pcsc_release_context,
-                     !!pcsc_list_readers,
-                     !!pcsc_get_status_change,
-                     !!pcsc_connect,
-                     !!pcsc_reconnect,
-                     !!pcsc_disconnect,
-                     !!pcsc_status,
-                     !!pcsc_begin_transaction,
-                     !!pcsc_end_transaction,
-                     !!pcsc_transmit,
-                     !!pcsc_set_timeout,
-                     !!pcsc_control );
-          dlclose (handle);
-          return -1;
-        }
-      pcsc_api_loaded = 1;
-    }
-
-  slot = open_pcsc_reader (portstr);
-
-  if (DBG_READER)
-    log_debug ("leave: apdu_open_reader => slot=%d [pc/sc]\n", slot);
-  return slot;
-}
-
 int
 apdu_open_reader (struct dev_list *dl, int app_empty)
 {
@@ -2125,7 +2157,7 @@ apdu_open_reader (struct dev_list *dl, int app_empty)
       if (app_empty && dl->idx == dl->idx_max)
         {
           dl->idx++;
-          slot = apdu_open_one_reader (dl->portstr);
+          slot = open_pcsc_reader (dl->portstr);
         }
       else
         slot = -1;
@@ -2133,10 +2165,11 @@ apdu_open_reader (struct dev_list *dl, int app_empty)
   else
 #endif
     { /* PC/SC readers.  */
+
       if (app_empty && dl->idx == 0)
         {
           dl->idx++;
-          slot = apdu_open_one_reader (dl->portstr);
+          slot = open_pcsc_reader (dl->portstr);
         }
       else
         slot = -1;
@@ -2218,6 +2251,8 @@ apdu_close_reader (int slot)
   if (reader_table[slot].close_reader)
     {
       sw = reader_table[slot].close_reader (slot);
+      xfree (reader_table[slot].rdrname);
+      reader_table[slot].rdrname = NULL;
       reader_table[slot].used = 0;
       if (DBG_READER)
         log_debug ("leave: apdu_close_reader => 0x%x (close_reader)\n", sw);
@@ -3319,6 +3354,9 @@ apdu_init (void)
   gpg_error_t err;
   int i;
 
+  pcsc.count = 0;
+  pcsc.context = -1;
+
   if (npth_mutex_init (&reader_table_lock, NULL))
     goto leave;
 
index 1cd04c2..a7f2b14 100644 (file)
@@ -34,10 +34,12 @@ enum {
   SW_WRONG_LENGTH   = 0x6700,
   SW_SM_NOT_SUP     = 0x6882, /* Secure Messaging is not supported.  */
   SW_CC_NOT_SUP     = 0x6884, /* Command Chaining is not supported.  */
+  SW_FILE_STRUCT    = 0x6981, /* Command can't be used for file structure.  */
   SW_CHV_WRONG      = 0x6982,
   SW_CHV_BLOCKED    = 0x6983,
   SW_REF_DATA_INV   = 0x6984, /* Referenced data invalidated. */
   SW_USE_CONDITIONS = 0x6985,
+  SW_NO_CURRENT_EF  = 0x6986, /* No current EF selected.  */
   SW_BAD_PARAMETER  = 0x6a80, /* (in the data field) */
   SW_NOT_SUPPORTED  = 0x6a81,
   SW_FILE_NOT_FOUND = 0x6a82,
index 89467dc..f95db74 100644 (file)
 /* Flags used with app_genkey.  */
 #define APP_GENKEY_FLAG_FORCE    1  /* Force overwriting existing key.  */
 
+/* Flags used with app_writekey.  */
+#define APP_WRITEKEY_FLAG_FORCE  1  /* Force overwriting existing key.  */
+
+/* Flags used with app_readkey.  */
+#define APP_READKEY_FLAG_INFO    1  /* Send also a KEYPAIRINFO line.  */
+#define APP_READKEY_FLAG_ADVANCED 2 /* (gnupg 2.2 only)  */
+
 /* Bit flags set by the decipher function into R_INFO.  */
 #define APP_DECIPHER_INFO_NOPAD  1  /* Padding has been removed.  */
 
+/* Flags used by the app_write_learn_status.  */
+#define APP_LEARN_FLAG_KEYPAIRINFO  1 /* Return only keypair infos.  */
+#define APP_LEARN_FLAG_MULTI        2 /* Return info for all apps.  */
+#define APP_LEARN_FLAG_REREAD       4 /* Re-read infos from the token.  */
+
+
+/* List of supported card types.  Generic is the usual ISO7817-4
+ * compliant card.  More specific card or token versions can be given
+ * here.  Introduced in 2.2 for easier backporting from 2.3.  */
+typedef enum
+  {
+   CARDTYPE_GENERIC = 0,
+   CARDTYPE_GNUK,
+   CARDTYPE_YUBIKEY,
+   CARDTYPE_ZEITCONTROL
+  } cardtype_t;
+
+
+/* List of supported card applications.  The source code for each
+ * application can usually be found in an app-NAME.c file.  Introduced
+ * in 2.2 for easier backporting from 2.3.  */
+typedef enum
+  {
+   APPTYPE_NONE = 0,
+   APPTYPE_UNDEFINED,
+   APPTYPE_OPENPGP,
+   APPTYPE_PIV,
+   APPTYPE_NKS,
+   APPTYPE_P15,
+   APPTYPE_GELDKARTE,
+   APPTYPE_DINSIG,
+   APPTYPE_SC_HSM
+  } apptype_t;
+
 
+/* Forward declarations.  */
+struct app_ctx_s;
 struct app_local_s;  /* Defined by all app-*.c.  */
 
+typedef struct app_ctx_s *app_t;
+
 struct app_ctx_s {
   struct app_ctx_s *next;
 
@@ -55,8 +100,10 @@ struct app_ctx_s {
 
   unsigned char *serialno; /* Serialnumber in raw form, allocated. */
   size_t serialnolen;      /* Length in octets of serialnumber. */
-  const char *apptype;
-  unsigned int card_version;
+  apptype_t apptype;
+  unsigned int appversion; /* Version of the application or 0.     */
+  cardtype_t cardtype;     /* The token's type.  */
+  unsigned int cardversion;/* Firmware version of the token or 0.  */
   unsigned int card_status;
   unsigned int reset_requested:1;
   unsigned int periodical_check_needed:1;
@@ -67,28 +114,34 @@ struct app_ctx_s {
   struct app_local_s *app_local;  /* Local to the application. */
   struct {
     void (*deinit) (app_t app);
+
+    /* prep_reselect and reselect are not used in this version of scd.  */
+    gpg_error_t (*prep_reselect) (app_t app, ctrl_t ctrl);
+    gpg_error_t (*reselect) (app_t app, ctrl_t ctrl);
+
     gpg_error_t (*learn_status) (app_t app, ctrl_t ctrl, unsigned int flags);
     gpg_error_t (*readcert) (app_t app, const char *certid,
                      unsigned char **cert, size_t *certlen);
-    gpg_error_t (*readkey) (app_t app, int advanced, const char *certid,
-                    unsigned char **pk, size_t *pklen);
+    gpg_error_t (*readkey) (app_t app, ctrl_t ctrl,
+                            const char *certid, unsigned int flags,
+                            unsigned char **pk, size_t *pklen);
     gpg_error_t (*getattr) (app_t app, ctrl_t ctrl, const char *name);
-    gpg_error_t (*setattr) (app_t app, const char *name,
+    gpg_error_t (*setattr) (app_t app, ctrl_t ctrl, const char *name,
                     gpg_error_t (*pincb)(void*, const char *, char **),
                     void *pincb_arg,
                     const unsigned char *value, size_t valuelen);
-    gpg_error_t (*sign) (app_t app,
+    gpg_error_t (*sign) (app_t app, ctrl_t ctrl,
                  const char *keyidstr, int hashalgo,
                  gpg_error_t (*pincb)(void*, const char *, char **),
                  void *pincb_arg,
                  const void *indata, size_t indatalen,
                  unsigned char **outdata, size_t *outdatalen );
-    gpg_error_t (*auth) (app_t app, const char *keyidstr,
+    gpg_error_t (*auth) (app_t app, ctrl_t ctrl, const char *keyidstr,
                  gpg_error_t (*pincb)(void*, const char *, char **),
                  void *pincb_arg,
                  const void *indata, size_t indatalen,
                  unsigned char **outdata, size_t *outdatalen);
-    gpg_error_t (*decipher) (app_t app, const char *keyidstr,
+    gpg_error_t (*decipher) (app_t app, ctrl_t ctrl, const char *keyidstr,
                              gpg_error_t (*pincb)(void*, const char *, char **),
                              void *pincb_arg,
                              const void *indata, size_t indatalen,
@@ -113,13 +166,27 @@ struct app_ctx_s {
                        const char *chvnostr, unsigned int flags,
                        gpg_error_t (*pincb)(void*, const char *, char **),
                        void *pincb_arg);
-    gpg_error_t (*check_pin) (app_t app, const char *keyidstr,
+    gpg_error_t (*check_pin) (app_t app, ctrl_t ctrl, const char *keyidstr,
                       gpg_error_t (*pincb)(void*, const char *, char **),
                       void *pincb_arg);
+
+    /* with_keygrip is not used in this version of scd but having it
+     * makes back porting app-*.c from later versions easier.  */
+    gpg_error_t (*with_keygrip) (app_t app, ctrl_t ctrl, int action,
+                                 const char *keygrip_str, int capability);
   } fnc;
 };
 
 
+/* Action values for app_do_with_keygrip.  */
+enum
+ {
+  KEYGRIP_ACTION_SEND_DATA,
+  KEYGRIP_ACTION_WRITE_STATUS,
+  KEYGRIP_ACTION_LOOKUP
+ };
+
+
 /* Helper to get the slot from an APP object. */
 static inline int
 app_get_slot (app_t app)
@@ -131,20 +198,28 @@ app_get_slot (app_t app)
   return -1;
 }
 
+/* Macro to access members in app_t which are found in 2.3 in a linked
+ * card_t member.  */
+#define APP_CARD(a) (a)
+
 
 /*-- app-help.c --*/
 unsigned int app_help_count_bits (const unsigned char *a, size_t len);
 gpg_error_t app_help_get_keygrip_string_pk (const void *pk, size_t pklen,
                                             char *hexkeygrip,
-                                            gcry_sexp_t *r_pkey);
+                                            gcry_sexp_t *r_pkey,
+                                            int *r_algo, char **r_algostr);
 gpg_error_t app_help_get_keygrip_string (ksba_cert_t cert, char *hexkeygrip,
-                                         gcry_sexp_t *r_pkey);
+                                         gcry_sexp_t *r_pkey, int *r_algo);
+gpg_error_t app_help_pubkey_from_cert (const void *cert, size_t certlen,
+                                       unsigned char **r_pk, size_t *r_pklen);
 size_t app_help_read_length_of_cert (int slot, int fid, size_t *r_certoff);
 
 
 /*-- app.c --*/
 void app_send_card_list (ctrl_t ctrl);
 char *app_get_serialno (app_t app);
+char *app_get_dispserialno (app_t app, int nofallback);
 
 void app_dump_state (void);
 void application_notify_card_reset (int slot);
index b0c47af..5a2713e 100644 (file)
@@ -81,7 +81,6 @@
 
 #include "../common/i18n.h"
 #include "iso7816.h"
-#include "app-common.h"
 #include "../common/tlv.h"
 
 
@@ -137,7 +136,7 @@ do_learn_status (app_t app, ctrl_t ctrl, unsigned int flags)
       ksba_cert_release (cert);
       return err;
     }
-  err = app_help_get_keygrip_string (cert, hexkeygrip, NULL);
+  err = app_help_get_keygrip_string (cert, hexkeygrip, NULL, NULL);
   if (err)
     {
       log_error ("failed to calculate the keygrip for FID 0x%04X\n", fid);
@@ -387,7 +386,7 @@ verify_pin (app_t app,
    that callback should return the PIN in an allocated buffer and
    store that in the 3rd argument.  */
 static gpg_error_t
-do_sign (app_t app, const char *keyidstr, int hashalgo,
+do_sign (app_t app, ctrl_t ctrl, const char *keyidstr, int hashalgo,
          gpg_error_t (*pincb)(void*, const char *, char **),
          void *pincb_arg,
          const void *indata, size_t indatalen,
@@ -409,6 +408,8 @@ do_sign (app_t app, const char *keyidstr, int hashalgo,
                                 + the largest OID _prefix above. */
   int datalen;
 
+  (void)ctrl;
+
   if (!keyidstr || !*keyidstr)
     return gpg_error (GPG_ERR_INV_VALUE);
   if (indatalen != 20 && indatalen != 16 && indatalen != 32
@@ -553,7 +554,7 @@ app_select_dinsig (app_t app)
   rc = iso7816_select_application (slot, aid, sizeof aid, 0);
   if (!rc)
     {
-      app->apptype = "DINSIG";
+      app->apptype = APPTYPE_DINSIG;
 
       app->fnc.learn_status = do_learn_status;
       app->fnc.readcert = do_readcert;
index 510beb5..5437263 100644 (file)
@@ -39,7 +39,6 @@
 
 #include "../common/i18n.h"
 #include "iso7816.h"
-#include "app-common.h"
 #include "../common/tlv.h"
 
 
@@ -312,7 +311,7 @@ app_select_geldkarte (app_t app)
       goto leave; /* Probably not a Geldkarte. */
     }
 
-  app->apptype = "GELDKARTE";
+  app->apptype = APPTYPE_GELDKARTE;
   app->fnc.deinit = do_deinit;
 
   /* If we don't have a serialno yet construct it from the EF_ID.  */
index 4b8a024..8d225ef 100644 (file)
@@ -24,7 +24,6 @@
 #include <string.h>
 
 #include "scdaemon.h"
-#include "app-common.h"
 #include "iso7816.h"
 #include "../common/tlv.h"
 
@@ -55,12 +54,16 @@ app_help_count_bits (const unsigned char *a, size_t len)
 /* Return the KEYGRIP for the canonical encoded public key (PK,PKLEN)
  * as an hex encoded string in the user provided buffer HEXKEYGRIP
  * which must be of at least 41 bytes.  If R_PKEY is not NULL and the
- * function succeeded, the S-expression representing the key is
- * stored there.  The caller needs to call gcry_sexp_release on
- * that.  */
+ * function succeeded, the S-expression representing the key is stored
+ * there.  The caller needs to call gcry_sexp_release on that.  If
+ * R_ALGO is not NULL the public key algorithm id of Libgcrypt is
+ * stored there.  If R_ALGOSTR is not NULL and the function succeeds a
+ * newly allocated algo string (e.g. "rsa2048") is stored there.
+ * HEXKEYGRIP may be NULL if the caller is not interested in it.  */
 gpg_error_t
 app_help_get_keygrip_string_pk (const void *pk, size_t pklen, char *hexkeygrip,
-                                gcry_sexp_t *r_pkey)
+                                gcry_sexp_t *r_pkey, int *r_algo,
+                                char **r_algostr)
 {
   gpg_error_t err;
   gcry_sexp_t s_pkey;
@@ -68,22 +71,39 @@ app_help_get_keygrip_string_pk (const void *pk, size_t pklen, char *hexkeygrip,
 
   if (r_pkey)
     *r_pkey = NULL;
+  if (r_algostr)
+    *r_algostr = NULL;
 
   err = gcry_sexp_sscan (&s_pkey, NULL, pk, pklen);
   if (err)
     return err; /* Can't parse that S-expression. */
-  if (!gcry_pk_get_keygrip (s_pkey, array))
+  if (hexkeygrip && !gcry_pk_get_keygrip (s_pkey, array))
     {
       gcry_sexp_release (s_pkey);
       return gpg_error (GPG_ERR_GENERAL); /* Failed to calculate the keygrip.*/
     }
 
+  if (r_algo)
+    *r_algo = get_pk_algo_from_key (s_pkey);
+
+  if (r_algostr)
+    {
+      *r_algostr = pubkey_algo_string (s_pkey, NULL);
+      if (!*r_algostr)
+        {
+          err = gpg_error_from_syserror ();
+          gcry_sexp_release (s_pkey);
+          return err;
+        }
+    }
+
   if (r_pkey)
     *r_pkey = s_pkey;
   else
     gcry_sexp_release (s_pkey);
 
-  bin2hex (array, KEYGRIP_LEN, hexkeygrip);
+  if (hexkeygrip)
+    bin2hex (array, KEYGRIP_LEN, hexkeygrip);
 
   return 0;
 }
@@ -93,10 +113,11 @@ app_help_get_keygrip_string_pk (const void *pk, size_t pklen, char *hexkeygrip,
  * string in the user provided buffer HEXKEYGRIP which must be of at
  * least 41 bytes.  If R_PKEY is not NULL and the function succeeded,
  * the S-expression representing the key is stored there.  The caller
- * needs to call gcry_sexp_release on that. */
+ * needs to call gcry_sexp_release on that.  If R_ALGO is not NULL the
+ * public key algorithm id of Libgcrypt is stored there. */
 gpg_error_t
 app_help_get_keygrip_string (ksba_cert_t cert, char *hexkeygrip,
-                             gcry_sexp_t *r_pkey)
+                             gcry_sexp_t *r_pkey, int *r_algo)
 {
   gpg_error_t err;
   ksba_sexp_t p;
@@ -111,12 +132,67 @@ app_help_get_keygrip_string (ksba_cert_t cert, char *hexkeygrip,
   n = gcry_sexp_canon_len (p, 0, NULL, NULL);
   if (!n)
     return gpg_error (GPG_ERR_INV_SEXP);
-  err = app_help_get_keygrip_string_pk ((void*)p, n, hexkeygrip, r_pkey);
+  err = app_help_get_keygrip_string_pk ((void*)p, n, hexkeygrip,
+                                        r_pkey, r_algo, NULL);
   ksba_free (p);
   return err;
 }
 
 
+/* Get the public key from the binary encoded (CERT,CERTLEN).  */
+gpg_error_t
+app_help_pubkey_from_cert (const void *cert, size_t certlen,
+                           unsigned char **r_pk, size_t *r_pklen)
+{
+  gpg_error_t err;
+  ksba_cert_t kc;
+  unsigned char *pk, *fixed_pk;
+  size_t pklen, fixed_pklen;
+
+  *r_pk = NULL;
+  *r_pklen = 0;
+
+  pk = NULL; /*(avoid cc warning)*/
+
+  err = ksba_cert_new (&kc);
+  if (err)
+    return err;
+
+  err = ksba_cert_init_from_mem (kc, cert, certlen);
+  if (err)
+    goto leave;
+
+  pk = ksba_cert_get_public_key (kc);
+  if (!pk)
+    {
+      err = gpg_error (GPG_ERR_NO_PUBKEY);
+      goto leave;
+    }
+  pklen = gcry_sexp_canon_len (pk, 0, NULL, &err);
+
+  err = uncompress_ecc_q_in_canon_sexp (pk, pklen, &fixed_pk, &fixed_pklen);
+  if (err)
+    goto leave;
+  if (fixed_pk)
+    {
+      ksba_free (pk); pk = NULL;
+      pk = fixed_pk;
+      pklen = fixed_pklen;
+    }
+
+ leave:
+  if (!err)
+    {
+      *r_pk = pk;
+      *r_pklen = pklen;
+    }
+  else
+    ksba_free (pk);
+  ksba_cert_release (kc);
+  return err;
+}
+
+
 /* Given the SLOT and the File ID FID, return the length of the
    certificate contained in that file. Returns 0 if the file does not
    exists or does not contain a certificate.  If R_CERTOFF is not
index 58a5349..1f59321 100644 (file)
@@ -53,7 +53,6 @@
 #include "scdaemon.h"
 #include "../common/i18n.h"
 #include "iso7816.h"
-#include "app-common.h"
 #include "../common/tlv.h"
 #include "apdu.h"
 #include "../common/host2net.h"
@@ -207,7 +206,7 @@ keygripstr_from_pk_file (app_t app, int fid, char *r_gripstr)
 
           newlen = 1 + buflen[i] - offset[i];
           newbuf = xtrymalloc (newlen);
-          if (!newlen)
+          if (!newbuf)
             {
               xfree (buffer[0]);
               xfree (buffer[1]);
@@ -609,7 +608,7 @@ do_readcert (app_t app, const char *certid,
    certificate parsing code in commands.c:cmd_readkey.  For internal
    use PK and PKLEN may be NULL to just check for an existing key.  */
 static gpg_error_t
-do_readkey (app_t app, int advanced, const char *keyid,
+do_readkey (app_t app, ctrl_t ctrl, const char *keyid, unsigned int flags,
             unsigned char **pk, size_t *pklen)
 {
   gpg_error_t err;
@@ -617,7 +616,9 @@ do_readkey (app_t app, int advanced, const char *keyid,
   size_t buflen[2];
   unsigned short path[1] = { 0x4500 };
 
-  if (advanced)
+  (void)ctrl;
+
+  if ((flags & APP_READKEY_FLAG_ADVANCED))
     return GPG_ERR_NOT_SUPPORTED;
 
   /* We use a generic name to retrieve PK.AUT.IFD-SPK.  */
@@ -627,7 +628,7 @@ do_readkey (app_t app, int advanced, const char *keyid,
     return gpg_error (GPG_ERR_UNSUPPORTED_OPERATION);
 
   /* Access the KEYD file which is always in the master directory.  */
-  err = iso7816_select_path (app->slot, path, DIM (path));
+  err = iso7816_select_path (app_get_slot (app), path, DIM (path), 0);
   if (err)
     return err;
   /* Due to the above select we need to re-select our application.  */
@@ -684,7 +685,6 @@ do_writekey (app_t app, ctrl_t ctrl,
   size_t rsa_n_len, rsa_e_len;
   unsigned int nbits;
 
-  (void)ctrl;
   (void)pincb;
   (void)pincb_arg;
 
@@ -693,7 +693,7 @@ do_writekey (app_t app, ctrl_t ctrl,
   else
     return gpg_error (GPG_ERR_INV_ID);
 
-  if (!force && !do_readkey (app, 0, keyid, NULL, NULL))
+  if (!force && !do_readkey (app, ctrl, keyid, 0, NULL, NULL))
     return gpg_error (GPG_ERR_EEXIST);
 
   /* Parse the S-expression.  */
@@ -842,7 +842,7 @@ verify_pin (app_t app, int pwid, const char *desc,
    that callback should return the PIN in an allocated buffer and
    store that in the 3rd argument.  */
 static gpg_error_t
-do_sign (app_t app, const char *keyidstr, int hashalgo,
+do_sign (app_t app, ctrl_t ctrl, const char *keyidstr, int hashalgo,
          gpg_error_t (*pincb)(void*, const char *, char **),
          void *pincb_arg,
          const void *indata, size_t indatalen,
@@ -862,6 +862,8 @@ do_sign (app_t app, const char *keyidstr, int hashalgo,
                                + the largest OID prefix. */
   size_t datalen;
 
+  (void)ctrl;
+
   if (!keyidstr || !*keyidstr)
     return gpg_error (GPG_ERR_INV_VALUE);
   switch (indatalen)
@@ -977,7 +979,7 @@ do_sign (app_t app, const char *keyidstr, int hashalgo,
    If a PIN is required the PINCB will be used to ask for the PIN; it
    should return the PIN in an allocated buffer and put it into PIN.  */
 static gpg_error_t
-do_decipher (app_t app, const char *keyidstr,
+do_decipher (app_t app, ctrl_t ctrl, const char *keyidstr,
              gpg_error_t (*pincb)(void*, const char *, char **),
              void *pincb_arg,
              const void *indata, size_t indatalen,
@@ -989,6 +991,7 @@ do_decipher (app_t app, const char *keyidstr,
   int fid;
   int kid;
 
+  (void)ctrl;
   (void)r_info;
 
   if (!keyidstr || !*keyidstr || !indatalen)
@@ -1264,7 +1267,7 @@ do_change_pin (app_t app, ctrl_t ctrl,  const char *pwidstr,
 
 /* Perform a simple verify operation.  KEYIDSTR should be NULL or empty.  */
 static gpg_error_t
-do_check_pin (app_t app, const char *pwidstr,
+do_check_pin (app_t app, ctrl_t ctrl, const char *pwidstr,
               gpg_error_t (*pincb)(void*, const char *, char **),
               void *pincb_arg)
 {
@@ -1273,6 +1276,8 @@ do_check_pin (app_t app, const char *pwidstr,
   int is_sigg;
   const char *desc;
 
+  (void)ctrl;
+
   desc = parse_pwidstr (pwidstr, 0, &is_sigg, &pwid);
   if (!desc)
     return gpg_error (GPG_ERR_INV_ID);
@@ -1388,7 +1393,7 @@ app_select_nks (app_t app)
   rc = iso7816_select_application (slot, aid_nks, sizeof aid_nks, 0);
   if (!rc)
     {
-      app->apptype = "NKS";
+      app->apptype = APPTYPE_NKS;
 
       app->app_local = xtrycalloc (1, sizeof *app->app_local);
       if (!app->app_local)
index 87d77a1..ba54b9a 100644 (file)
@@ -56,7 +56,6 @@
 #include "../common/util.h"
 #include "../common/i18n.h"
 #include "iso7816.h"
-#include "app-common.h"
 #include "../common/tlv.h"
 #include "../common/host2net.h"
 #include "../common/openpgpdefs.h"
@@ -248,7 +247,7 @@ struct app_local_s {
 static unsigned long convert_sig_counter_value (const unsigned char *value,
                                                 size_t valuelen);
 static unsigned long get_sig_counter (app_t app);
-static gpg_error_t do_auth (app_t app, const char *keyidstr,
+static gpg_error_t do_auth (app_t app, ctrl_t ctrl, const char *keyidstr,
                             gpg_error_t (*pincb)(void*, const char *, char **),
                             void *pincb_arg,
                             const void *indata, size_t indatalen,
@@ -510,7 +509,7 @@ get_one_do (app_t app, int tag, unsigned char **result, size_t *nbytes,
   for (i=0; data_objects[i].tag && data_objects[i].tag != tag; i++)
     ;
 
-  if (app->card_version > 0x0100 && data_objects[i].get_immediate_in_v11)
+  if (app->appversion > 0x0100 && data_objects[i].get_immediate_in_v11)
     {
       exmode = 0;
       rc = iso7816_get_data (app->slot, exmode, tag, &buffer, &buflen);
@@ -850,7 +849,7 @@ store_fpr (app_t app, int keynumber, u32 timestamp, unsigned char *fpr,
 
   xfree (buffer);
 
-  tag = (app->card_version > 0x0007? 0xC7 : 0xC6) + keynumber;
+  tag = (app->appversion > 0x0007? 0xC7 : 0xC6) + keynumber;
   flush_cache_item (app, 0xC5);
   tag2 = 0xCE + keynumber;
   flush_cache_item (app, 0xCD);
@@ -859,7 +858,7 @@ store_fpr (app_t app, int keynumber, u32 timestamp, unsigned char *fpr,
   if (rc)
     log_error (_("failed to store the fingerprint: %s\n"),gpg_strerror (rc));
 
-  if (!rc && app->card_version > 0x0100)
+  if (!rc && app->appversion > 0x0100)
     {
       unsigned char buf[4];
 
@@ -1085,17 +1084,14 @@ do_getattr (app_t app, ctrl_t ctrl, const char *name)
     }
   if (table[idx].special == -4)
     {
-      char *serial = app_get_serialno (app);
+      char *serial = app_get_dispserialno (app, 0);
 
       if (serial)
         {
-          if (strlen (serial) > 16+12)
-            {
-              send_status_info (ctrl, table[idx].name, serial+16, 12, NULL, 0);
-              xfree (serial);
-              return 0;
-            }
+          send_status_info (ctrl, table[idx].name,
+                            serial, strlen (serial), NULL, 0);
           xfree (serial);
+          return 0;
         }
       return gpg_error (GPG_ERR_INV_NAME);
     }
@@ -1508,7 +1504,7 @@ ecdh_params (const char *curve)
 {
   unsigned int nbits;
 
-  openpgp_curve_to_oid (curve, &nbits);
+  openpgp_curve_to_oid (curve, &nbits, NULL);
 
   /* See RFC-6637 for those constants.
          0x03: Number of bytes
@@ -1549,7 +1545,7 @@ ecc_read_pubkey (app_t app, ctrl_t ctrl, u32 created_at, int keyno,
     }
 
   curve = app->app_local->keyattr[keyno].ecc.curve;
-  oidstr = openpgp_curve_to_oid (curve, NULL);
+  oidstr = openpgp_curve_to_oid (curve, NULL, NULL);
   err = openpgp_oid_from_str (oidstr, &oid);
   if (err)
     return err;
@@ -1739,7 +1735,7 @@ get_public_key (app_t app, int keyno)
 
   m = e = NULL; /* (avoid cc warning) */
 
-  if (app->card_version > 0x0100)
+  if (app->appversion > 0x0100)
     {
       int exmode, le_value;
 
@@ -1924,7 +1920,7 @@ do_learn_status (app_t app, ctrl_t ctrl, unsigned int flags)
     err = do_getattr (app, ctrl, "LOGIN-DATA");
   if (!err)
     err = do_getattr (app, ctrl, "KEY-FPR");
-  if (!err && app->card_version > 0x0100)
+  if (!err && app->appversion > 0x0100)
     err = do_getattr (app, ctrl, "KEY-TIME");
   if (!err)
     err = do_getattr (app, ctrl, "CA-FPR");
@@ -1981,13 +1977,15 @@ do_learn_status (app_t app, ctrl_t ctrl, unsigned int flags)
    buffer. On error PK and PKLEN are not changed and an error code is
    returned.  */
 static gpg_error_t
-do_readkey (app_t app, int advanced, const char *keyid,
+do_readkey (app_t app, ctrl_t ctrl, const char *keyid, unsigned int flags,
             unsigned char **pk, size_t *pklen)
 {
   gpg_error_t err;
   int keyno;
   unsigned char *buf;
 
+  (void)ctrl;
+
   if (!strcmp (keyid, "OPENPGP.1"))
     keyno = 0;
   else if (!strcmp (keyid, "OPENPGP.2"))
@@ -2005,7 +2003,7 @@ do_readkey (app_t app, int advanced, const char *keyid,
   if (!buf)
     return gpg_error (GPG_ERR_NO_PUBKEY);
 
-  if (advanced)
+  if ((flags & APP_READKEY_FLAG_ADVANCED))
     {
       gcry_sexp_t s_key;
 
@@ -2399,7 +2397,7 @@ verify_chv2 (app_t app,
         return rc;
       app->did_chv2 = 1;
 
-      if (!app->did_chv1 && !app->force_chv1 && pinvalue)
+      if (!app->did_chv1 && !app->force_chv1 && pinvalue && !opt.pcsc_shared)
         {
           /* For convenience we verify CHV1 here too.  We do this only if
              the card is not configured to require a verification before
@@ -2561,7 +2559,7 @@ verify_chv3 (app_t app,
 /* Handle the SETATTR operation. All arguments are already basically
    checked. */
 static gpg_error_t
-do_setattr (app_t app, const char *name,
+do_setattr (app_t app, ctrl_t ctrl, const char *name,
             gpg_error_t (*pincb)(void*, const char *, char **),
             void *pincb_arg,
             const unsigned char *value, size_t valuelen)
@@ -2599,6 +2597,8 @@ do_setattr (app_t app, const char *name,
   };
   int exmode;
 
+  (void)ctrl;
+
   for (idx=0; table[idx].name && strcmp (table[idx].name, name); idx++)
     ;
   if (!table[idx].name)
@@ -2671,8 +2671,6 @@ do_writecert (app_t app, ctrl_t ctrl,
               void *pincb_arg,
               const unsigned char *certdata, size_t certdatalen)
 {
-  (void)ctrl;
-
   if (strcmp (certidstr, "OPENPGP.3"))
     return gpg_error (GPG_ERR_INV_ID);
   if (!certdata || !certdatalen)
@@ -2681,7 +2679,8 @@ do_writecert (app_t app, ctrl_t ctrl,
     return gpg_error (GPG_ERR_NOT_SUPPORTED);
   if (certdatalen > app->app_local->extcap.max_certlen_3)
     return gpg_error (GPG_ERR_TOO_LARGE);
-  return do_setattr (app, "CERT-3", pincb, pincb_arg, certdata, certdatalen);
+  return do_setattr (app, ctrl, "CERT-3", pincb, pincb_arg,
+                     certdata, certdatalen);
 }
 
 
@@ -2925,7 +2924,7 @@ do_change_pin (app_t app, ctrl_t ctrl,  const char *chvnostr,
           if (!rc)
             {
               strcpy (buffer+pinlen0, pinvalue);
-              rc = pin2hash_if_kdf (app, 0, buffer+pinlen0, &pinlen);
+              rc = pin2hash_if_kdf (app, 1, buffer+pinlen0, &pinlen);
             }
           if (!rc)
             rc = iso7816_reset_retry_counter_with_rc (app->slot, 0x81,
@@ -3499,7 +3498,7 @@ change_keyattr_from_string (app_t app,
       const unsigned char *oidbuf;
       size_t oid_len;
 
-      oidstr = openpgp_curve_to_oid (string+n, NULL);
+      oidstr = openpgp_curve_to_oid (string+n, NULL, NULL);
       if (!oidstr)
         {
           err = gpg_error (GPG_ERR_INV_DATA);
@@ -3819,7 +3818,7 @@ rsa_writekey (app_t app, gpg_error_t (*pincb)(void*, const char *, char **),
 
       /* Store the key. */
       err = iso7816_put_data (app->slot, 0,
-                              (app->card_version > 0x0007? 0xE0:0xE9)+keyno,
+                              (app->appversion > 0x0007? 0xE0:0xE9)+keyno,
                               template, template_len);
     }
   if (err)
@@ -4005,7 +4004,7 @@ ecc_writekey (app_t app, gpg_error_t (*pincb)(void*, const char *, char **),
   else
     algo = PUBKEY_ALGO_ECDSA;
 
-  oidstr = openpgp_curve_to_oid (curve, &n);
+  oidstr = openpgp_curve_to_oid (curve, &n, NULL);
   ecc_d_fixed_len = (n+7)/8;
   err = openpgp_oid_from_str (oidstr, &oid);
   if (err)
@@ -4492,7 +4491,7 @@ check_keyidstr (app_t app, const char *keyidstr, int keyno, int *r_use_auth)
    operation to the auth command.
 */
 static gpg_error_t
-do_sign (app_t app, const char *keyidstr, int hashalgo,
+do_sign (app_t app, ctrl_t ctrl, const char *keyidstr, int hashalgo,
          gpg_error_t (*pincb)(void*, const char *, char **),
          void *pincb_arg,
          const void *indata, size_t indatalen,
@@ -4606,7 +4605,7 @@ do_sign (app_t app, const char *keyidstr, int hashalgo,
   /* Redirect to the AUTH command if asked to. */
   if (use_auth)
     {
-      return do_auth (app, "OPENPGP.3", pincb, pincb_arg,
+      return do_auth (app, ctrl, "OPENPGP.3", pincb, pincb_arg,
                       data, datalen,
                       outdata, outdatalen);
     }
@@ -4681,7 +4680,7 @@ do_sign (app_t app, const char *keyidstr, int hashalgo,
    not match the one required for the requested action (e.g. the
    serial number does not match). */
 static gpg_error_t
-do_auth (app_t app, const char *keyidstr,
+do_auth (app_t app, ctrl_t ctrl, const char *keyidstr,
          gpg_error_t (*pincb)(void*, const char *, char **),
          void *pincb_arg,
          const void *indata, size_t indatalen,
@@ -4689,6 +4688,8 @@ do_auth (app_t app, const char *keyidstr,
 {
   int rc;
 
+  (void)ctrl;
+
   if (!keyidstr || !*keyidstr)
     return gpg_error (GPG_ERR_INV_VALUE);
   if (app->app_local->keyattr[2].key_type == KEY_TYPE_RSA
@@ -4748,7 +4749,7 @@ do_auth (app_t app, const char *keyidstr,
 
 
 static gpg_error_t
-do_decipher (app_t app, const char *keyidstr,
+do_decipher (app_t app, ctrl_t ctrl, const char *keyidstr,
              gpg_error_t (*pincb)(void*, const char *, char **),
              void *pincb_arg,
              const void *indata, size_t indatalen,
@@ -4762,6 +4763,8 @@ do_decipher (app_t app, const char *keyidstr,
   int padind = 0;
   int fixuplen = 0;
 
+  (void)ctrl;
+
   if (!keyidstr || !*keyidstr || !indatalen)
     return gpg_error (GPG_ERR_INV_VALUE);
 
@@ -4963,7 +4966,7 @@ do_decipher (app_t app, const char *keyidstr,
 
   if (gpg_err_code (rc) == GPG_ERR_CARD /* actual SW is 0x640a */
       && app->app_local->manufacturer == 5
-      && app->card_version == 0x0200)
+      && app->appversion == 0x0200)
     log_info ("NOTE: Cards with manufacturer id 5 and s/n <= 346 (0x15a)"
               " do not work with encryption keys > 2048 bits\n");
 
@@ -4984,13 +4987,15 @@ do_decipher (app_t app, const char *keyidstr,
    the "[CHV3]" being a literal string:  The Admin Pin is checked if
    and only if the retry counter is still at 3. */
 static gpg_error_t
-do_check_pin (app_t app, const char *keyidstr,
+do_check_pin (app_t app, ctrl_t ctrl, const char *keyidstr,
               gpg_error_t (*pincb)(void*, const char *, char **),
               void *pincb_arg)
 {
   int rc;
   int admin_pin = 0;
 
+  (void)ctrl;
+
   if (!keyidstr || !*keyidstr)
     return gpg_error (GPG_ERR_INV_VALUE);
 
@@ -5282,7 +5287,7 @@ app_select_openpgp (app_t app)
     {
       unsigned int manufacturer;
 
-      app->apptype = "OPENPGP";
+      app->apptype = APPTYPE_OPENPGP;
 
       app->did_chv1 = 0;
       app->did_chv2 = 0;
@@ -5303,8 +5308,8 @@ app_select_openpgp (app_t app)
           log_printhex (buffer, buflen, "");
         }
 
-      app->card_version = buffer[6] << 8;
-      app->card_version |= buffer[7];
+      app->appversion = buffer[6] << 8;
+      app->appversion |= buffer[7];
       manufacturer = (buffer[8]<<8 | buffer[9]);
 
       xfree (app->serialno);
@@ -5320,10 +5325,10 @@ app_select_openpgp (app_t app)
 
       app->app_local->manufacturer = manufacturer;
 
-      if (app->card_version >= 0x0200)
+      if (app->appversion >= 0x0200)
         app->app_local->extcap.is_v2 = 1;
 
-      if (app->card_version >= 0x0300)
+      if (app->appversion >= 0x0300)
         app->app_local->extcap.extcap_v3 = 1;
 
       /* Read the historical bytes.  */
@@ -5390,7 +5395,7 @@ app_select_openpgp (app_t app)
 
       /* Some of the first cards accidentally don't set the
          CHANGE_FORCE_CHV bit but allow it anyway. */
-      if (app->card_version <= 0x0100 && manufacturer == 1)
+      if (app->appversion <= 0x0100 && manufacturer == 1)
         app->app_local->extcap.change_force_chv = 1;
 
       /* Check optional DO of "General Feature Management" for button.  */
index 9ad0d16..0530d37 100644 (file)
@@ -1,6 +1,6 @@
 /* app-p15.c - The pkcs#15 card application.
  *     Copyright (C) 2005 Free Software Foundation, Inc.
- *     Copyright (C) 2020 g10 Code GmbH
+ *     Copyright (C) 2020, 2021 g10 Code GmbH
  *
  * This file is part of GnuPG.
  *
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
-#include <assert.h>
 #include <time.h>
 
 #include "scdaemon.h"
 
 #include "iso7816.h"
-#include "app-common.h"
 #include "../common/i18n.h"
 #include "../common/tlv.h"
+#include "../common/host2net.h"
+#include "../common/openpgpdefs.h"
 #include "apdu.h" /* fixme: we should move the card detection to a
                      separate file */
 
+
+static const char oid_kp_codeSigning[]    = "1.3.6.1.5.5.7.3.3";
+static const char oid_kp_timeStamping[]   = "1.3.6.1.5.5.7.3.8";
+static const char oid_kp_ocspSigning[]    = "1.3.6.1.5.5.7.3.9";
+static const char oid_kp_ms_documentSigning[] = "1.3.6.1.4.1.311.10.3.12";
+static const char oid_kp_ms_old_documentSigning[] = "1.3.6.1.4.1.311.3.10.3.12";
+
+static const char oid_kp_emailProtection[]= "1.3.6.1.5.5.7.3.4";
+
+static const char oid_kp_serverAuth[]     = "1.3.6.1.5.5.7.3.1";
+static const char oid_kp_clientAuth[]     = "1.3.6.1.5.5.7.3.2";
+static const char oid_kp_ms_smartcardLogon[] = "1.3.6.1.4.1.311.20.2.2";
+
+static const char oid_kp_anyExtendedKeyUsage[] = "2.5.29.37.0";
+
+static const char oid_kp_gpgUsageCert[] = "1.3.6.1.4.1.11591.2.6.1";
+static const char oid_kp_gpgUsageSign[] = "1.3.6.1.4.1.11591.2.6.2";
+static const char oid_kp_gpgUsageEncr[] = "1.3.6.1.4.1.11591.2.6.3";
+static const char oid_kp_gpgUsageAuth[] = "1.3.6.1.4.1.11591.2.6.4";
+
 /* Types of cards we know and which needs special treatment. */
 typedef enum
   {
@@ -53,6 +73,7 @@ typedef enum
     CARD_TYPE_TCOS,
     CARD_TYPE_MICARDO,
     CARD_TYPE_CARDOS_50,
+    CARD_TYPE_CARDOS_53,
     CARD_TYPE_BELPIC   /* Belgian eID card specs. */
   }
 card_type_t;
@@ -63,6 +84,7 @@ card_type_t;
 typedef enum
   {
     CARD_PRODUCT_UNKNOWN,
+    CARD_PRODUCT_RSCS,     /* Rohde&Schwarz Cybersecurity       */
     CARD_PRODUCT_DTRUST    /* D-Trust GmbH (bundesdruckerei.de) */
   }
 card_product_t;
@@ -96,11 +118,20 @@ static struct
     CARD_TYPE_MICARDO }, /* EstEID (Estonian Big Brother card) */
   { 11, X("\x3b\xd2\x18\x00\x81\x31\xfe\x58\xc9\x01\x14"),
     CARD_TYPE_CARDOS_50 }, /* CardOS 5.0 */
+  { 11, X("\x3b\xd2\x18\x00\x81\x31\xfe\x58\xc9\x03\x16"),
+    CARD_TYPE_CARDOS_53 }, /* CardOS 5.3 */
   { 0 }
 };
 #undef X
 
 
+/* Macro to test for CardOS 5.0 and 5.3.  */
+#define IS_CARDOS_5(a) ((a)->app_local->card_type == CARD_TYPE_CARDOS_50 \
+                        || (a)->app_local->card_type == CARD_TYPE_CARDOS_53)
+
+/* The default PKCS-15 home DF */
+#define DEFAULT_HOME_DF 0x5015
+
 /* The AID of PKCS15. */
 static char const pkcs15_aid[] = { 0xA0, 0, 0, 0, 0x63,
                                    0x50, 0x4B, 0x43, 0x53, 0x2D, 0x31, 0x35 };
@@ -140,6 +171,31 @@ struct keyusage_flags_s
 typedef struct keyusage_flags_s keyusage_flags_t;
 
 
+/* A bit array with for the key access flags from the
+   commonKeyAttributes. */
+struct keyaccess_flags_s
+{
+  unsigned int any:1;    /* Any access flag set.  */
+  unsigned int sensitive:1;
+  unsigned int extractable:1;
+  unsigned int always_sensitive:1;
+  unsigned int never_extractable:1;
+  unsigned int local:1;
+};
+typedef struct keyaccess_flags_s keyaccess_flags_t;
+
+
+/* A bit array with for the gpg usage flags.  */
+struct gpgusage_flags_s
+{
+  unsigned int any:1;    /* Any of the next flags are set.  */
+  unsigned int cert:1;   /* 1.3.6.1.4.1.11591.2.6.1 */
+  unsigned int sign:1;   /* 1.3.6.1.4.1.11591.2.6.2 */
+  unsigned int encr:1;   /* 1.3.6.1.4.1.11591.2.6.3 */
+  unsigned int auth:1;   /* 1.3.6.1.4.1.11591.2.6.4 */
+};
+typedef struct gpgusage_flags_s gpgusage_flags_t;
+
 
 /* This is an object to store information about a Certificate
    Directory File (CDF) in a format suitable for further processing by
@@ -160,10 +216,17 @@ struct cdf_object_s
   size_t objidlen;
   unsigned char *objid;
 
-  /* To avoid reading a certificate more than once, we cache it in an
-     allocated memory IMAGE of IMAGELEN. */
-  size_t imagelen;
-  unsigned char *image;
+  /* Length and allocated buffer with the authId of this object or
+     NULL if no authID is known. */
+  size_t authidlen;
+  unsigned char *authid;
+
+  /* NULL or the malloced label of this object.  */
+  char *label;
+
+  /* To avoid reading and parsing a certificate more than once, we
+   * cache the ksba object.  */
+  ksba_cert_t cert;
 
   /* The offset and length of the object.  They are only valid if
      HAVE_OFF is true and set to 0 if HAVE_OFF is false. */
@@ -192,25 +255,55 @@ struct prkdf_object_s
   unsigned int keygrip_valid:1;
   unsigned int key_reference_valid:1;
   unsigned int have_off:1;
+  unsigned int have_keytime:1;
 
   /* Flag indicating that the corresponding PIN has already been
-   * verified. */
+   * verified.  Note that for cards which are able to return the
+   * verification stus, this flag is not used.  */
   unsigned int pin_verified:1;
 
+  /* PKCS#15 info whether this is an EC key.  Default is RSA.  Note
+   * that there is also a KEYALGO field which is derived from the
+   * publick key via Libgcrypt.  */
+  unsigned int is_ecc:1;
+
   /* The key's usage flags. */
   keyusage_flags_t usageflags;
 
+  /* The key's access flags. */
+  keyaccess_flags_t accessflags;
+
+  /* Extended key usage flags.  Only used if .valid is set.  This
+   * information is computed from an associated certificate15.  */
+  struct {
+    unsigned int valid:1;
+    unsigned int sign:1;
+    unsigned int encr:1;
+    unsigned int auth:1;
+  } extusage;
+
+  /* OpenPGP key features for this key.  This is taken from special
+   * extended key usage flags different from those tracked in EXTUSAGE
+   * above.  There is also no valid flag as in EXTUSAGE.  */
+  gpgusage_flags_t gpgusage;
+
   /* The keygrip of the key.  This is used as a cache.  */
   char keygrip[2*KEYGRIP_LEN+1];
 
+  /* A malloced algorithm string or NULL if not known.  */
+  char *keyalgostr;
+
   /* The Gcrypt algo identifier for the key.  It is valid if the
-   * keygrip is also valid.  */
+   * keygrip is also valid.  See also is_ecc above.  */
   int keyalgo;
 
   /* The length of the key in bits (e.g. for RSA the length of the
    * modulus).  It is valid if the keygrip is also valid.  */
   unsigned int keynbits;
 
+  /* The creation time of the key or 0 if not known.  */
+  u32 keytime;
+
   /* Malloced CN from the Subject-DN of the corresponding certificate
    * or NULL if not known.  */
   char *common_name;
@@ -219,6 +312,10 @@ struct prkdf_object_s
    * certificate or NULL if not known.  */
   char *serial_number;
 
+  /* KDF/KEK parameter for OpenPGP's ECDH.  First byte is zero if not
+   * availabale. .*/
+  unsigned char ecdh_kdf[4];
+
   /* Length and allocated buffer with the Id of this object. */
   size_t objidlen;
   unsigned char *objid;
@@ -228,6 +325,9 @@ struct prkdf_object_s
   size_t authidlen;
   unsigned char *authid;
 
+  /* NULL or the malloced label of this object.  */
+  char *label;
+
   /* The keyReference and a flag telling whether it is valid. */
   unsigned long key_reference;
 
@@ -241,6 +341,7 @@ struct prkdf_object_s
   unsigned short path[1];
 };
 typedef struct prkdf_object_s *prkdf_object_t;
+typedef struct prkdf_object_s *pukdf_object_t;
 
 
 /* This is an object to store information about a Authentication
@@ -265,6 +366,9 @@ struct aodf_object_s
   size_t authidlen;
   unsigned char *authid;
 
+  /* NULL or the malloced label of this object.  */
+  char *label;
+
   /* The file ID of this AODF.  */
   unsigned short fid;
 
@@ -335,6 +439,9 @@ struct app_local_s
   /* Flag indicating whether we may use direct path selection. */
   int direct_path_selection;
 
+  /* Flag indicating whether the card has any key with a gpgusage set.  */
+  int any_gpgusage;
+
   /* Structure with the EFIDs of the objects described in the ODF
      file. */
   struct
@@ -354,9 +461,16 @@ struct app_local_s
   unsigned char *serialno;
   size_t serialnolen;
 
-  /* The manufacturerID from the TokenInfo EF.  Malloced. */
+  /* The manufacturerID from the TokenInfo EF.  Malloced or NULL. */
   char *manufacturer_id;
 
+  /* The label from the TokenInfo EF.  Malloced or NULL.  */
+  char *token_label;
+
+  /* The tokenflags from the TokenInfo EF.  Malloced or NULL.  */
+  unsigned char *tokenflags;
+  unsigned int tokenflagslen;
+
   /* Information on all certificates. */
   cdf_object_t certificate_info;
   /* Information on all trusted certificates. */
@@ -364,8 +478,11 @@ struct app_local_s
   /* Information on all useful certificates. */
   cdf_object_t useful_certificate_info;
 
+  /* Information on all public keys. */
+  prkdf_object_t public_key_info;
+
   /* Information on all private keys. */
-  prkdf_object_t private_key_info;
+  pukdf_object_t private_key_info;
 
   /* Information on all authentication objects. */
   aodf_object_t auth_object_info;
@@ -374,6 +491,8 @@ struct app_local_s
 
 
 /*** Local prototypes.  ***/
+static gpg_error_t select_ef_by_path (app_t app, const unsigned short *path,
+                                      size_t pathlen);
 static gpg_error_t keygrip_from_prkdf (app_t app, prkdf_object_t prkdf);
 static gpg_error_t readcert_by_cdf (app_t app, cdf_object_t cdf,
                                     unsigned char **r_cert, size_t *r_certlen);
@@ -381,6 +500,33 @@ static char *get_dispserialno (app_t app, prkdf_object_t prkdf);
 static gpg_error_t do_getattr (app_t app, ctrl_t ctrl, const char *name);
 
 
+\f
+static const char *
+cardtype2str (card_type_t cardtype)
+{
+  switch (cardtype)
+    {
+    case CARD_TYPE_UNKNOWN:   return "";
+    case CARD_TYPE_TCOS:      return "TCOS";
+    case CARD_TYPE_MICARDO:   return "Micardo";
+    case CARD_TYPE_CARDOS_50: return "CardOS 5.0";
+    case CARD_TYPE_CARDOS_53: return "CardOS 5.3";
+    case CARD_TYPE_BELPIC:    return "Belgian eID";
+    }
+  return "";
+}
+
+static const char *
+cardproduct2str (card_product_t cardproduct)
+{
+  switch (cardproduct)
+    {
+    case CARD_PRODUCT_UNKNOWN: return "";
+    case CARD_PRODUCT_RSCS:    return "R&S";
+    case CARD_PRODUCT_DTRUST:  return "D-Trust";
+    }
+  return "";
+}
 
 /* Release the CDF object A  */
 static void
@@ -389,8 +535,10 @@ release_cdflist (cdf_object_t a)
   while (a)
     {
       cdf_object_t tmp = a->next;
-      xfree (a->image);
+      ksba_free (a->cert);
       xfree (a->objid);
+      xfree (a->authid);
+      xfree (a->label);
       xfree (a);
       a = tmp;
     }
@@ -403,15 +551,23 @@ release_prkdflist (prkdf_object_t a)
   while (a)
     {
       prkdf_object_t tmp = a->next;
+      xfree (a->keyalgostr);
       xfree (a->common_name);
       xfree (a->serial_number);
       xfree (a->objid);
       xfree (a->authid);
+      xfree (a->label);
       xfree (a);
       a = tmp;
     }
 }
 
+static void
+release_pukdflist (pukdf_object_t a)
+{
+  release_prkdflist (a);
+}
+
 /* Release just one aodf object. */
 void
 release_aodf_object (aodf_object_t a)
@@ -420,6 +576,7 @@ release_aodf_object (aodf_object_t a)
     {
       xfree (a->objid);
       xfree (a->authid);
+      xfree (a->label);
       xfree (a->path);
       xfree (a);
     }
@@ -438,50 +595,135 @@ release_aodflist (aodf_object_t a)
 }
 
 
+static void
+release_lists (app_t app)
+{
+  release_cdflist (app->app_local->certificate_info);
+  app->app_local->certificate_info = NULL;
+  release_cdflist (app->app_local->trusted_certificate_info);
+  app->app_local->trusted_certificate_info = NULL;
+  release_cdflist (app->app_local->useful_certificate_info);
+  app->app_local->useful_certificate_info = NULL;
+  release_pukdflist (app->app_local->public_key_info);
+  app->app_local->public_key_info = NULL;
+  release_prkdflist (app->app_local->private_key_info);
+  app->app_local->private_key_info = NULL;
+  release_aodflist (app->app_local->auth_object_info);
+  app->app_local->auth_object_info = NULL;
+}
+
+
+static void
+release_tokeninfo (app_t app)
+{
+  xfree (app->app_local->manufacturer_id);
+  app->app_local->manufacturer_id = NULL;
+  xfree (app->app_local->token_label);
+  app->app_local->token_label = NULL;
+  xfree (app->app_local->tokenflags);
+  app->app_local->tokenflags = NULL;
+  xfree (app->app_local->serialno);
+  app->app_local->serialno = NULL;
+}
+
+
 /* Release all local resources.  */
 static void
 do_deinit (app_t app)
 {
   if (app && app->app_local)
     {
-      release_cdflist (app->app_local->certificate_info);
-      release_cdflist (app->app_local->trusted_certificate_info);
-      release_cdflist (app->app_local->useful_certificate_info);
-      release_prkdflist (app->app_local->private_key_info);
-      release_aodflist (app->app_local->auth_object_info);
-      xfree (app->app_local->manufacturer_id);
-      xfree (app->app_local->serialno);
+      release_lists (app);
+      release_tokeninfo (app);
       xfree (app->app_local);
       app->app_local = NULL;
     }
 }
 
 
-
 /* Do a select and a read for the file with EFID.  EFID_DESC is a
    desctription of the EF to be used with error messages.  On success
    BUFFER and BUFLEN contain the entire content of the EF.  The caller
-   must free BUFFER only on success. */
+   must free BUFFER only on success.  If EFID is 0 no seelct is done. */
 static gpg_error_t
-select_and_read_binary (int slot, unsigned short efid, const char *efid_desc,
+select_and_read_binary (app_t app, unsigned short efid, const char *efid_desc,
                         unsigned char **buffer, size_t *buflen)
 {
   gpg_error_t err;
+  int sw;
+
+  if (efid)
+    {
+      err = select_ef_by_path (app, &efid, 1);
+      if (err)
+        {
+          log_error ("p15: error selecting %s (0x%04X): %s\n",
+                     efid_desc, efid, gpg_strerror (err));
+          return err;
+        }
+    }
 
-  err = iso7816_select_file (slot, efid, 0);
+  err = iso7816_read_binary_ext (app_get_slot (app),
+                                 0, 0, 0, buffer, buflen, &sw);
   if (err)
+    log_error ("p15: error reading %s (0x%04X): %s (sw=%04X)\n",
+               efid_desc, efid, gpg_strerror (err), sw);
+  return err;
+}
+
+
+/* If EFID is not 0 do a select and then read the record RECNO.
+ * EFID_DESC is a description of the EF to be used with error
+ * messages.  On success BUFFER and BUFLEN contain the entire content
+ * of the EF.  The caller must free BUFFER only on success. */
+static gpg_error_t
+select_and_read_record (app_t app, unsigned short efid, int recno,
+                        const char *efid_desc,
+                        unsigned char **buffer, size_t *buflen, int *r_sw)
+{
+  gpg_error_t err;
+  int sw;
+
+  if (r_sw)
+    *r_sw = 0x9000;
+
+  if (efid)
     {
-      log_error ("p15: error selecting %s (0x%04X): %s\n",
-                 efid_desc, efid, gpg_strerror (err));
-      return err;
+      err = select_ef_by_path (app, &efid, 1);
+      if (err)
+        {
+          log_error ("p15: error selecting %s (0x%04X): %s\n",
+                     efid_desc, efid, gpg_strerror (err));
+          if (r_sw)
+            *r_sw = sw;
+          return err;
+        }
     }
-  err = iso7816_read_binary (slot, 0, 0, buffer, buflen);
+
+  err = iso7816_read_record_ext (app_get_slot (app),
+                                 recno, 1, 0, buffer, buflen, &sw);
   if (err)
     {
-      log_error ("p15: error reading %s (0x%04X): %s\n",
-                 efid_desc, efid, gpg_strerror (err));
+      if (gpg_err_code (err) == GPG_ERR_NOT_FOUND)
+          ;
+      else if (err && sw == SW_FILE_STRUCT)
+        ;
+      else
+        log_error ("p15: error reading %s (0x%04X) record %d: %s (sw=%04X)\n",
+                   efid_desc, efid, recno, gpg_strerror (err), sw);
+      if (r_sw)
+        *r_sw = sw;
       return err;
     }
+  /* On CardOS with a Linear TLV file structure the records starts
+   * with some tag (often the record number) followed by the length
+   * byte for this record.  Detect and remove this prefix.  */
+  if (*buflen > 2 && (*buffer)[0] != 0x30 && (*buffer)[1] == *buflen - 2)
+    {
+      memmove (*buffer, *buffer + 2, *buflen - 2);
+      *buflen = *buflen - 2;
+    }
+
   return 0;
 }
 
@@ -497,43 +739,61 @@ select_ef_by_path (app_t app, const unsigned short *path, size_t pathlen)
   if (!pathlen)
     return gpg_error (GPG_ERR_INV_VALUE);
 
-  if (pathlen && *path != 0x3f00 )
-    log_error ("p15: warning: relative path selection not yet implemented\n");
+  /* log_debug ("%s: path=", __func__); */
+  /* for (j=0; j < pathlen; j++) */
+  /*   log_printf ("%s%04hX", j? "/":"", path[j]); */
+  /* log_printf ("%s\n",app->app_local->direct_path_selection?" (direct)":"");*/
 
   if (app->app_local->direct_path_selection)
     {
-      err = iso7816_select_path (app->slot, path+1, pathlen-1);
+      if (pathlen && *path == 0x3f00 )
+        {
+          if (pathlen == 1)
+            err = iso7816_select_mf (app_get_slot (app));
+          else
+            err = iso7816_select_path (app_get_slot (app), path+1, pathlen-1,
+                                       0);
+        }
+      else
+        err = iso7816_select_path (app_get_slot (app), path, pathlen,
+                                   app->app_local->home_df);
       if (err)
         {
           log_error ("p15: error selecting path ");
-          for (j=0; j < pathlen; j++)
-            log_printf ("%04hX", path[j]);
-          log_printf (": %s\n", gpg_strerror (err));
-          return err;
+          goto err_print_path;
         }
     }
   else
     {
-      /* FIXME: Need code to remember the last PATH so that we can decide
-         what select commands to send in case the path does not start off
-         with 3F00.  We might also want to use direct path selection if
-         supported by the card. */
+      if (pathlen && *path != 0x3f00 )
+        log_error ("p15: warning: relative path select not yet implemented\n");
+
+      /* FIXME: Use home_df.  */
       for (i=0; i < pathlen; i++)
         {
-          err = iso7816_select_file (app->slot, path[i], !(i+1 == pathlen));
+          err = iso7816_select_file (app_get_slot (app),
+                                     path[i], !(i+1 == pathlen));
           if (err)
             {
               log_error ("p15: error selecting part %d from path ", i);
-              for (j=0; j < pathlen; j++)
-                log_printf ("%04hX", path[j]);
-              log_printf (": %s\n", gpg_strerror (err));
-              return err;
+              goto err_print_path;
             }
         }
     }
   return 0;
+
+ err_print_path:
+  if (pathlen && *path != 0x3f00 )
+    log_printf ("3F00/");
+  else
+    log_printf ("%04hX/", app->app_local->home_df);
+  for (j=0; j < pathlen; j++)
+    log_printf ("%s%04hX", j? "/":"", path[j]);
+  log_printf (": %s\n", gpg_strerror (err));
+  return err;
 }
 
+
 /* Parse a cert Id string (or a key Id string) and return the binary
    object Id string in a newly allocated buffer stored at R_OBJID and
    R_OBJIDLEN.  On Error NULL will be stored there and an error code
@@ -570,7 +830,7 @@ parse_certid (app_t app, const char *certid,
     }
   else /* This is a usual keyref.  */
     {
-      if (app->app_local->home_df)
+      if (app->app_local->home_df != DEFAULT_HOME_DF)
         snprintf (tmpbuf, sizeof tmpbuf, "P15-%04X.",
                   (unsigned int)(app->app_local->home_df & 0xffff));
       else
@@ -606,20 +866,14 @@ parse_certid (app_t app, const char *certid,
 }
 
 
-/* Find a certificate object by the certificate ID CERTID and store a
  pointer to it at R_CDF. */
+/* Find a certificate object by its object ID and store a pointer to
* it at R_CDF. */
 static gpg_error_t
-cdf_object_from_certid (app_t app, const char *certid, cdf_object_t *r_cdf)
+cdf_object_from_objid (app_t app, size_t objidlen, const unsigned char *objid,
+                       cdf_object_t *r_cdf)
 {
-  gpg_error_t err;
-  size_t objidlen;
-  unsigned char *objid;
   cdf_object_t cdf;
 
-  err = parse_certid (app, certid, &objid, &objidlen);
-  if (err)
-    return err;
-
   for (cdf = app->app_local->certificate_info; cdf; cdf = cdf->next)
     if (cdf->objidlen == objidlen && !memcmp (cdf->objid, objid, objidlen))
       break;
@@ -631,7 +885,6 @@ cdf_object_from_certid (app_t app, const char *certid, cdf_object_t *r_cdf)
     for (cdf = app->app_local->useful_certificate_info; cdf; cdf = cdf->next)
       if (cdf->objidlen == objidlen && !memcmp (cdf->objid, objid, objidlen))
         break;
-  xfree (objid);
   if (!cdf)
     return gpg_error (GPG_ERR_NOT_FOUND);
   *r_cdf = cdf;
@@ -639,6 +892,69 @@ cdf_object_from_certid (app_t app, const char *certid, cdf_object_t *r_cdf)
 }
 
 
+/* Find a certificate object by its label and store a pointer to it at
+ * R_CDF. */
+static gpg_error_t
+cdf_object_from_label (app_t app, const char *label, cdf_object_t *r_cdf)
+{
+  cdf_object_t cdf;
+
+  if (!label)
+    return gpg_error (GPG_ERR_NOT_FOUND);
+
+  for (cdf = app->app_local->certificate_info; cdf; cdf = cdf->next)
+    if (cdf->label && !strcmp (cdf->label, label))
+      break;
+  if (!cdf)
+    for (cdf = app->app_local->trusted_certificate_info; cdf; cdf = cdf->next)
+      if (cdf->label && !strcmp (cdf->label, label))
+        break;
+  if (!cdf)
+    for (cdf = app->app_local->useful_certificate_info; cdf; cdf = cdf->next)
+      if (cdf->label && !strcmp (cdf->label, label))
+        break;
+  if (!cdf)
+    return gpg_error (GPG_ERR_NOT_FOUND);
+  *r_cdf = cdf;
+  return 0;
+}
+
+
+/* Find a certificate object by the certificate ID CERTID and store a
+ * pointer to it at R_CDF. */
+static gpg_error_t
+cdf_object_from_certid (app_t app, const char *certid, cdf_object_t *r_cdf)
+{
+  gpg_error_t err;
+  size_t objidlen;
+  unsigned char *objid;
+  cdf_object_t cdf;
+  prkdf_object_t prkdf;
+
+  err = parse_certid (app, certid, &objid, &objidlen);
+  if (err)
+    return err;
+
+  err = cdf_object_from_objid (app, objidlen, objid, &cdf);
+  if (gpg_err_code (err) == GPG_ERR_NOT_FOUND)
+    {
+      /* Try again by finding the certid in the prkdf and matching by
+       * label.  */
+      for (prkdf = app->app_local->private_key_info; prkdf; prkdf = prkdf->next)
+        if (prkdf->objidlen == objidlen
+            && !memcmp (prkdf->objid, objid, objidlen))
+          break;
+      if (prkdf)
+        err = cdf_object_from_label (app, prkdf->label, &cdf);
+    }
+  xfree (objid);
+  if (err)
+    return err;
+  *r_cdf = cdf;
+  return 0;
+}
+
+
 /* Find a private key object by the key Id string KEYIDSTR and store a
    pointer to it at R_PRKDF. */
 static gpg_error_t
@@ -692,7 +1008,19 @@ read_ef_odf (app_t app, unsigned short odf_fid)
   size_t offset;
   unsigned short home_df = 0;
 
-  err = select_and_read_binary (app->slot, odf_fid, "ODF", &buffer, &buflen);
+
+  app->app_local->odf.private_keys = 0;
+  app->app_local->odf.public_keys = 0;
+  app->app_local->odf.trusted_public_keys = 0;
+  app->app_local->odf.secret_keys = 0;
+  app->app_local->odf.certificates = 0;
+  app->app_local->odf.trusted_certificates = 0;
+  app->app_local->odf.useful_certificates = 0;
+  app->app_local->odf.data_objects = 0;
+  app->app_local->odf.auth_objects = 0;
+
+  err = select_and_read_binary (app, odf_fid, "ODF",
+                                &buffer, &buflen);
   if (err)
     return err;
 
@@ -718,6 +1046,7 @@ read_ef_odf (app_t app, unsigned short odf_fid)
                 && !memcmp (p+1, "\x0a\x30\x08\x04\x06\x3F\x00", 7)
                 && (!home_df || home_df == ((p[8]<<8)|p[9])) )
         {
+          /* FIXME: Is this hack still required?  */
           /* If we do not know the home DF, we take it from the first
            * ODF object.  Here are sample values:
            * a0 0a 30 08 0406 3f00 5015 4401
@@ -808,6 +1137,47 @@ read_ef_odf (app_t app, unsigned short odf_fid)
 }
 
 
+/* Helper for the read_ef_foo functions to read the first record or
+ * the entire data.  */
+static gpg_error_t
+read_first_record (app_t app, unsigned short fid, const char *fid_desc,
+                   unsigned char **r_buffer, size_t *r_buflen,
+                   int *r_use_read_record)
+{
+  gpg_error_t err;
+  int sw;
+
+  *r_buffer = NULL;
+  *r_buflen = 0;
+  *r_use_read_record = 0;
+
+  if (!fid)
+    return gpg_error (GPG_ERR_NO_DATA); /* No such file. */
+
+  if (IS_CARDOS_5 (app))
+    {
+      *r_use_read_record = 1;
+      err = select_and_read_record (app, fid, 1, fid_desc,
+                                    r_buffer, r_buflen, &sw);
+      if (err && sw == SW_FILE_STRUCT)
+        {
+          *r_use_read_record = 0;
+          err = select_and_read_binary (app, 0, fid_desc, r_buffer, r_buflen);
+        }
+    }
+  else
+    err = select_and_read_binary (app, fid, fid_desc, r_buffer, r_buflen);
+
+  /* We get a not_found state in read_record mode if the select
+   * succeeded but reading the record failed.  Map that to no_data
+   * which is what the caller of the read_ef_foo functions expect.  */
+  if (gpg_err_code (err) == GPG_ERR_NOT_FOUND)
+    err = gpg_error (GPG_ERR_NO_DATA);
+
+  return err;
+}
+
+
 /* Parse the BIT STRING with the keyUsageFlags from the
    CommonKeyAttributes. */
 static gpg_error_t
@@ -872,283 +1242,865 @@ parse_keyusage_flags (const unsigned char *der, size_t derlen,
   return 0;
 }
 
-/* Read and  parse the Private Key Directory Files. */
-/*
-  6034 (privatekeys)
-
-30 33 30 11 0C 08 53 4B 2E  43 48 2E 44 53 03 02   030...SK.CH.DS..
-06 80 04 01 07 30 0C 04 01  01 03 03 06 00 40 02   .....0........@.
-02 00 50 A1 10 30 0E 30 08  04 06 3F 00 40 16 00   ..P..0.0...?.@..
-50 02 02 04 00 30 33 30 11  0C 08 53 4B 2E 43 48   P....030...SK.CH
-2E 4B 45 03 02 06 80 04 01  0A 30 0C 04 01 0C 03   .KE.......0.....
-03 06 44 00 02 02 00 52 A1  10 30 0E 30 08 04 06   ..D....R..0.0...
-3F 00 40 16 00 52 02 02 04  00 30 34 30 12 0C 09   ?.@..R....040...
-53 4B 2E 43 48 2E 41 55 54  03 02 06 80 04 01 0A   SK.CH.AUT.......
-30 0C 04 01 0D 03 03 06 20  00 02 02 00 51 A1 10   0....... ....Q..
-30 0E 30 08 04 06 3F 00 40  16 00 51 02 02 04 00   0.0...?.@..Q....
-30 37 30 15 0C 0C 53 4B 2E  43 48 2E 44 53 2D 53   070...SK.CH.DS-S
-50 58 03 02 06 80 04 01 0A  30 0C 04 01 02 03 03   PX.......0......
-06 20 00 02 02 00 53 A1 10  30 0E 30 08 04 06 3F   . ....S..0.0...?
-00 40 16 00 53 02 02 04 00  00 00 00 00 00 00 00   .@..S...........
-00 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00   ................
-00 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00   ................
-
-   0 30   51: SEQUENCE {
-   2 30   17:   SEQUENCE { -- commonObjectAttributes
-   4 0C    8:     UTF8String 'SK.CH.DS'
-  14 03    2:     BIT STRING 6 unused bits
-            :       '01'B (bit 0)
-  18 04    1:     OCTET STRING --authid
-            :       07
-            :     }
-  21 30   12:   SEQUENCE { -- commonKeyAttributes
-  23 04    1:     OCTET STRING
-            :       01
-  26 03    3:     BIT STRING 6 unused bits
-            :       '1000000000'B (bit 9)
-  31 02    2:     INTEGER 80  -- keyReference (optional)
-            :     }
-  35 A1   16:   [1] {  -- keyAttributes
-  37 30   14:     SEQUENCE { -- privateRSAKeyAttributes
-  39 30    8:       SEQUENCE { -- objectValue
-  41 04    6:         OCTET STRING --path
-            :           3F 00 40 16 00 50
-            :         }
-  49 02    2:       INTEGER 1024 -- modulus
-            :       }
-            :     }
-            :   }
 
+static void
+dump_keyusage_flags (keyusage_flags_t usageflags)
+{
+  const char *s = "";
+
+  log_info ("p15:             usage=");
+  if (usageflags.encrypt)
+    log_printf ("%sencrypt", s), s = ",";
+  if (usageflags.decrypt)
+    log_printf ("%sdecrypt", s), s = ",";
+  if (usageflags.sign   )
+    log_printf ("%ssign", s), s = ",";
+  if (usageflags.sign_recover)
+    log_printf ("%ssign_recover", s), s = ",";
+  if (usageflags.wrap   )
+    log_printf ("%swrap", s), s = ",";
+  if (usageflags.unwrap )
+    log_printf ("%sunwrap", s), s = ",";
+  if (usageflags.verify )
+    log_printf ("%sverify", s), s = ",";
+  if (usageflags.verify_recover)
+    log_printf ("%sverify_recover", s), s = ",";
+  if (usageflags.derive )
+    log_printf ("%sderive", s), s = ",";
+  if (usageflags.non_repudiation)
+    log_printf ("%snon_repudiation", s), s = ",";
+}
 
-*/
-static gpg_error_t
-read_ef_prkdf (app_t app, unsigned short fid, prkdf_object_t *result)
+
+static void
+dump_keyaccess_flags (keyaccess_flags_t accessflags)
 {
-  gpg_error_t err;
-  unsigned char *buffer = NULL;
-  size_t buflen;
-  const unsigned char *p;
-  size_t n, objlen, hdrlen;
-  int class, tag, constructed, ndef;
-  prkdf_object_t prkdflist = NULL;
-  int i;
+  const char *s = "";
+
+  log_info ("p15:             access=");
+  if (accessflags.sensitive)
+    log_printf ("%ssensitive", s), s = ",";
+  if (accessflags.extractable)
+    log_printf ("%sextractable", s), s = ",";
+  if (accessflags.always_sensitive)
+    log_printf ("%salways_sensitive", s), s = ",";
+  if (accessflags.never_extractable)
+    log_printf ("%snever_extractable", s), s = ",";
+  if (accessflags.local)
+    log_printf ("%slocal", s), s = ",";
+}
 
-  if (!fid)
-    return gpg_error (GPG_ERR_NO_DATA); /* No private keys. */
 
-  err = select_and_read_binary (app->slot, fid, "PrKDF", &buffer, &buflen);
-  if (err)
-    return err;
+static void
+dump_gpgusage_flags (gpgusage_flags_t gpgusage)
+{
+  const char *s = "";
+
+  log_info ("p15:             gpgusage=");
+  if (gpgusage.cert)
+    log_printf ("%scert", s), s = ",";
+  if (gpgusage.sign)
+    log_printf ("%ssign", s), s = ",";
+  if (gpgusage.encr)
+    log_printf ("%sencr", s), s = ",";
+  if (gpgusage.auth)
+    log_printf ("%sauth", s), s = ",";
+}
 
-  p = buffer;
-  n = buflen;
 
-  /* FIXME: This shares a LOT of code with read_ef_cdf! */
+/* Parse the BIT STRING with the keyAccessFlags from the
+   CommonKeyAttributes. */
+static gpg_error_t
+parse_keyaccess_flags (const unsigned char *der, size_t derlen,
+                       keyaccess_flags_t *accessflags)
+{
+  unsigned int bits, mask;
+  int i, unused, full;
 
-  /* Loop over the records.  We stop as soon as we detect a new record
-     starting with 0x00 or 0xff as these values are commonly used to
-     pad data blocks and are no valid ASN.1 encoding. */
-  while (n && *p && *p != 0xff)
-    {
-      const unsigned char *pp;
-      size_t nn;
-      int where;
-      const char *errstr = NULL;
-      prkdf_object_t prkdf = NULL;
-      unsigned long ul;
-      const unsigned char *objid;
-      size_t objidlen;
-      const unsigned char *authid = NULL;
-      size_t authidlen = 0;
-      keyusage_flags_t usageflags;
-      unsigned long key_reference = 0;
-      int key_reference_valid = 0;
-      const char *s;
+  memset (accessflags, 0, sizeof *accessflags);
+  if (!derlen)
+    return gpg_error (GPG_ERR_INV_OBJ);
 
-      err = parse_ber_header (&p, &n, &class, &tag, &constructed,
-                              &ndef, &objlen, &hdrlen);
-      if (!err && (objlen > n || tag != TAG_SEQUENCE))
-        err = gpg_error (GPG_ERR_INV_OBJ);
-      if (err)
-        {
-          log_error ("p15: error parsing PrKDF record: %s\n",
-                     gpg_strerror (err));
-          goto leave;
-        }
-      pp = p;
-      nn = objlen;
-      p += objlen;
-      n -= objlen;
+  unused = *der++; derlen--;
+  if ((!derlen && unused) || unused/8 > derlen)
+    return gpg_error (GPG_ERR_ENCODING_PROBLEM);
+  full = derlen - (unused+7)/8;
+  unused %= 8;
+  mask = 0;
+  for (i=1; unused; i <<= 1, unused--)
+    mask |= i;
+
+  /* First octet */
+  if (derlen)
+    {
+      bits = *der++; derlen--;
+      if (full)
+        full--;
+      else
+        {
+          bits &= ~mask;
+          mask = 0;
+        }
+    }
+  else
+    bits = 0;
+  if ((bits & 0x10)) accessflags->local = 1;
+  if ((bits & 0x08)) accessflags->never_extractable = 1;
+  if ((bits & 0x04)) accessflags->always_sensitive = 1;
+  if ((bits & 0x02)) accessflags->extractable = 1;
+  if ((bits & 0x01)) accessflags->sensitive = 1;
+
+  accessflags->any = 1;
+  return 0;
+}
+
+
+/* Parse the commonObjectAttributes and store a malloced authid at
+ * (r_authid,r_authidlen).  (NULL,0) is stored on error or if no
+ * authid is found.  IF R_LABEL is not NULL the label is stored there
+ * as a malloced string (spaces are replaced by underscores).
+ *
+ * Example data:
+ *  2 30   17:   SEQUENCE { -- commonObjectAttributes
+ *  4 0C    8:     UTF8String 'SK.CH.DS'    -- label
+ * 14 03    2:     BIT STRING 6 unused bits
+ *           :       '01'B (bit 0)
+ * 18 04    1:     OCTET STRING --authid
+ *           :       07
+ *           :     }
+ */
+static gpg_error_t
+parse_common_obj_attr (unsigned char const **buffer, size_t *size,
+                       unsigned char **r_authid, size_t *r_authidlen,
+                       char **r_label)
+{
+  gpg_error_t err;
+  int where;
+  int class, tag, constructed, ndef;
+  size_t objlen, hdrlen, nnn;
+  const unsigned char *ppp;
+  int ignore_eof = 0;
+  char *p;
+
+  *r_authid = NULL;
+  *r_authidlen = 0;
+  if (r_label)
+    *r_label = NULL;
+
+  where = __LINE__;
+  err = parse_ber_header (buffer, size, &class, &tag, &constructed,
+                          &ndef, &objlen, &hdrlen);
+  if (!err && (objlen > *size || tag != TAG_SEQUENCE))
+    err = gpg_error (GPG_ERR_INV_OBJ);
+  if (err)
+    goto leave;
+
+  ppp = *buffer;
+  nnn = objlen;
+  *buffer += objlen;
+  *size   -= objlen;
+
+  /* Search the optional AuthId.  */
+  ignore_eof = 1;
+  where = __LINE__;
+  err = parse_ber_header (&ppp, &nnn, &class, &tag, &constructed,
+                          &ndef, &objlen, &hdrlen);
+  if (!err && (objlen > nnn || class != CLASS_UNIVERSAL))
+    err = gpg_error (GPG_ERR_INV_OBJ);
+  if (err)
+    goto leave;
+
+  if (tag == TAG_UTF8_STRING)
+    {
+      if (r_label)
+        {
+          *r_label = xtrymalloc (objlen + 1);
+          if (!*r_label)
+            {
+              err = gpg_error_from_syserror ();
+              goto leave;
+            }
+          memcpy (*r_label, ppp, objlen);
+          (*r_label)[objlen] = 0;
+          /* We don't want spaces in the labels due to the properties
+           * of CHV-LABEL.  */
+          for (p = *r_label; *p; p++)
+            if (ascii_isspace (*p))
+              *p = '_';
+        }
+
+      ppp += objlen;
+      nnn -= objlen;
 
-      /* Parse the commonObjectAttributes.  */
       where = __LINE__;
-      err = parse_ber_header (&pp, &nn, &class, &tag, &constructed,
+      err = parse_ber_header (&ppp, &nnn, &class, &tag, &constructed,
                               &ndef, &objlen, &hdrlen);
-      if (!err && (objlen > nn || tag != TAG_SEQUENCE))
+      if (!err && (objlen > nnn || class != CLASS_UNIVERSAL))
         err = gpg_error (GPG_ERR_INV_OBJ);
       if (err)
-        goto parse_error;
-      {
-        const unsigned char *ppp = pp;
-        size_t nnn = objlen;
+        goto leave;
+    }
+  if (tag == TAG_BIT_STRING)
+    {
+      ppp += objlen; /* Skip the CommonObjectFlags.  */
+      nnn -= objlen;
 
-        pp += objlen;
-        nn -= objlen;
+      where = __LINE__;
+      err = parse_ber_header (&ppp, &nnn, &class, &tag, &constructed,
+                              &ndef, &objlen, &hdrlen);
+      if (!err && (objlen > nnn || class != CLASS_UNIVERSAL))
+        err = gpg_error (GPG_ERR_INV_OBJ);
+      if (err)
+        goto leave;
+    }
+  if (tag == TAG_OCTET_STRING && objlen)
+    {
+      *r_authid = xtrymalloc (objlen);
+      if (!*r_authid)
+        {
+          err = gpg_error_from_syserror ();
+          goto leave;
+        }
+      memcpy (*r_authid, ppp, objlen);
+      *r_authidlen = objlen;
+    }
 
-        /* Search the optional AuthId.  We need to skip the optional
-           Label (UTF8STRING) and the optional CommonObjectFlags
-           (BITSTRING). */
-        where = __LINE__;
-        err = parse_ber_header (&ppp, &nnn, &class, &tag, &constructed,
-                                &ndef, &objlen, &hdrlen);
-        if (!err && (objlen > nnn || class != CLASS_UNIVERSAL))
+ leave:
+  if (ignore_eof && gpg_err_code (err) == GPG_ERR_EOF)
+    err = 0;
+  else if (err)
+    log_error ("p15: error parsing commonObjectAttributes at %d: %s\n",
+               where, gpg_strerror (err));
+
+  if (err && r_label)
+    {
+      xfree (*r_label);
+      *r_label = NULL;
+    }
+
+  return err;
+}
+
+
+/* Parse the commonKeyAttributes.  On success store the objid at
+ * (R_OBJID/R_OBJIDLEN), sets the key usage flags at USAGEFLAGS and
+ * the optiona key refrence at R_KEY_REFERENCE.  The latter is only
+ * valid if true is also stored at R_KEY_REFERENCE_VALID.
+ *
+ * Example data:
+ *
+ * 21 30   12:   SEQUENCE { -- commonKeyAttributes
+ * 23 04    1:     OCTET STRING
+ *           :       01
+ * 26 03    3:     BIT STRING 6 unused bits
+ *           :       '1000000000'B (bit 9)
+ * 31 02    2:     INTEGER 80  -- keyReference (optional)
+ *           :     }
+ */
+static gpg_error_t
+parse_common_key_attr (unsigned char const **buffer, size_t *size,
+                       unsigned char **r_objid, size_t *r_objidlen,
+                       keyusage_flags_t *usageflags,
+                       keyaccess_flags_t *accessflags,
+                       unsigned long *r_key_reference,
+                       int *r_key_reference_valid)
+{
+  gpg_error_t err;
+  int where;
+  int class, tag, constructed, ndef;
+  size_t objlen, hdrlen, nnn;
+  const unsigned char *ppp;
+  int ignore_eof = 0;
+  unsigned long ul;
+  const unsigned char *objid = NULL;
+  size_t objidlen;
+  unsigned long key_reference = 0;
+  int key_reference_valid = 0;
+
+  *r_objid = NULL;
+  *r_objidlen = 0;
+  memset (usageflags, 0, sizeof *usageflags);
+  memset (accessflags, 0, sizeof *accessflags);
+  *r_key_reference_valid = 0;
+
+  where = __LINE__;
+  err = parse_ber_header (buffer, size, &class, &tag, &constructed,
+                          &ndef, &objlen, &hdrlen);
+  if (!err && (objlen > *size || tag != TAG_SEQUENCE))
+        err = gpg_error (GPG_ERR_INV_OBJ);
+  if (err)
+    goto leave;
+
+  ppp = *buffer;
+  nnn = objlen;
+  *buffer += objlen;
+  *size   -= objlen;
+
+  /* Get the Id. */
+  where = __LINE__;
+  err = parse_ber_header (&ppp, &nnn, &class, &tag, &constructed,
+                          &ndef, &objlen, &hdrlen);
+  if (!err && (objlen > nnn
+               || class != CLASS_UNIVERSAL || tag != TAG_OCTET_STRING))
+    err = gpg_error (GPG_ERR_INV_OBJ);
+  if (err)
+    goto leave;
+
+  objid = ppp;
+  objidlen = objlen;
+  ppp += objlen;
+  nnn -= objlen;
+
+  /* Get the KeyUsageFlags. */
+  where = __LINE__;
+  err = parse_ber_header (&ppp, &nnn, &class, &tag, &constructed,
+                          &ndef, &objlen, &hdrlen);
+  if (!err && (objlen > nnn
+               || class != CLASS_UNIVERSAL || tag != TAG_BIT_STRING))
+    err = gpg_error (GPG_ERR_INV_OBJ);
+  if (err)
+    goto leave;
+
+  err = parse_keyusage_flags (ppp, objlen, usageflags);
+  if (err)
+    goto leave;
+  ppp += objlen;
+  nnn -= objlen;
+
+  ignore_eof = 1; /* Remaining items are optional.  */
+
+  /* Find the keyReference */
+  where = __LINE__;
+  err = parse_ber_header (&ppp, &nnn, &class, &tag, &constructed,
+                          &ndef, &objlen, &hdrlen);
+  if (!err && objlen > nnn)
+    err = gpg_error (GPG_ERR_INV_OBJ);
+  if (err)
+    goto leave;
+
+  if (class == CLASS_UNIVERSAL && tag == TAG_BOOLEAN)
+    {
+      /* Skip the native element. */
+      ppp += objlen;
+      nnn -= objlen;
+
+      err = parse_ber_header (&ppp, &nnn, &class, &tag, &constructed,
+                              &ndef, &objlen, &hdrlen);
+      if (!err && objlen > nnn)
+        err = gpg_error (GPG_ERR_INV_OBJ);
+      if (err)
+        goto leave;
+    }
+  if (class == CLASS_UNIVERSAL && tag == TAG_BIT_STRING)
+    {
+      /* These are the keyAccessFlags. */
+      err = parse_keyaccess_flags (ppp, objlen, accessflags);
+      if (err)
+        goto leave;
+      ppp += objlen;
+      nnn -= objlen;
+
+      err = parse_ber_header (&ppp, &nnn, &class, &tag, &constructed,
+                              &ndef, &objlen, &hdrlen);
+      if (!err && objlen > nnn)
+        err = gpg_error (GPG_ERR_INV_OBJ);
+      if (err)
+        goto leave;
+    }
+  if (class == CLASS_UNIVERSAL && tag == TAG_INTEGER)
+    {
+      /* This is the keyReference.  */
+      for (ul=0; objlen; objlen--)
+        {
+          ul <<= 8;
+          ul |= (*ppp++) & 0xff;
+          nnn--;
+        }
+      key_reference = ul;
+      key_reference_valid = 1;
+    }
+
+ leave:
+  if (ignore_eof && gpg_err_code (err) == GPG_ERR_EOF)
+    err = 0;
+
+  if (!err)
+    {
+      if (!objid || !objidlen)
+        err = gpg_error (GPG_ERR_INV_OBJ);
+      else
+        {
+          *r_objid = xtrymalloc (objidlen);
+          if (!*r_objid)
+            err = gpg_error_from_syserror ();
+          else
+            {
+              memcpy (*r_objid, objid, objidlen);
+              *r_objidlen = objidlen;
+            }
+        }
+    }
+  if (!err && key_reference_valid)
+    {
+      *r_key_reference = key_reference;
+      *r_key_reference_valid = 1;
+    }
+
+  if (err)
+    log_error ("p15: error parsing commonKeyAttributes at %d: %s\n",
+               where, gpg_strerror (err));
+  return err;
+
+}
+
+
+/* Read and  parse the Private Key Directory Files.
+ *
+ * Sample object:
+ *  SEQUENCE {
+ *    SEQUENCE { -- commonObjectAttributes
+ *      UTF8String 'SK.CH.DS'
+ *      BIT STRING 6 unused bits
+ *        '01'B (bit 0) -- flags: non-modifiable,private
+ *      OCTET STRING --authid
+ *        07
+ *      }
+ *    SEQUENCE { -- commonKeyAttributes
+ *      OCTET STRING
+ *        01
+ *      BIT STRING 6 unused bits
+ *        '1000000000'B (bit 9) -- keyusage: non-repudiation
+ *      INTEGER 80  -- keyReference (optional)
+ *      }
+ *    [1] {  -- keyAttributes
+ *      SEQUENCE { -- privateRSAKeyAttributes
+ *        SEQUENCE { -- objectValue
+ *          OCTET STRING --path
+ *            3F 00 40 16 00 50
+ *          }
+ *        INTEGER 1024 -- modulus
+ *        }
+ *      }
+ *    }
+ *
+ * Sample part for EC objects:
+ *    [1] {  -- keyAttributes
+ *      [1] { -- privateECkeyAttributes
+ *        SEQUENCE { -- objectValue
+ *          SEQUENCE { --path
+ *            OCTET STRING 50 72 4B 03
+ *          }
+ *        INTEGER 33  -- Not in PKCS#15v1.1, need to buy 7816-15?
+ *        }
+ *      }
+ */
+static gpg_error_t
+read_ef_prkdf (app_t app, unsigned short fid, prkdf_object_t *result)
+{
+  gpg_error_t err;
+  unsigned char *buffer;
+  size_t buflen;
+  const unsigned char *p;
+  size_t n, objlen, hdrlen;
+  int class, tag, constructed, ndef;
+  prkdf_object_t prkdflist = NULL;
+  int i;
+  int recno = 1;
+  unsigned char *authid = NULL;
+  size_t authidlen = 0;
+  unsigned char *objid = NULL;
+  size_t objidlen = 0;
+  char *label = NULL;
+  int record_mode;
+
+  err = read_first_record (app, fid, "PrKDF", &buffer, &buflen, &record_mode);
+  if (err)
+    return err;
+
+  p = buffer;
+  n = buflen;
+
+  /* Loop over the records.  We stop as soon as we detect a new record
+     starting with 0x00 or 0xff as these values are commonly used to
+     pad data blocks and are no valid ASN.1 encoding.  Note the
+     special handling for record mode at the end of the loop. */
+  while (n && *p && *p != 0xff)
+    {
+      const unsigned char *pp;
+      size_t nn;
+      int where;
+      const char *errstr = NULL;
+      prkdf_object_t prkdf = NULL;
+      unsigned long ul;
+      keyusage_flags_t usageflags;
+      keyaccess_flags_t accessflags;
+      unsigned long key_reference = 0;
+      int key_reference_valid = 0;
+      int is_ecc = 0;
+
+      where = __LINE__;
+      err = parse_ber_header (&p, &n, &class, &tag, &constructed,
+                              &ndef, &objlen, &hdrlen);
+      if (err)
+        ;
+      else if (objlen > n)
+        err = gpg_error (GPG_ERR_INV_OBJ);
+      else if (class == CLASS_UNIVERSAL && tag == TAG_SEQUENCE)
+        ; /* PrivateRSAKeyAttributes  */
+      else if (class == CLASS_CONTEXT)
+        {
+          switch (tag)
+            {
+            case 0: is_ecc = 1; break; /* PrivateECKeyAttributes  */
+            case 1: errstr = "DH key objects are not supported"; break;
+            case 2: errstr = "DSA key objects are not supported"; break;
+            case 3: errstr = "KEA key objects are not supported"; break;
+            default: errstr = "unknown privateKeyObject"; break;
+            }
+          if (errstr)
+            goto parse_error;
+        }
+      else
+        {
           err = gpg_error (GPG_ERR_INV_OBJ);
-        if (gpg_err_code (err) == GPG_ERR_EOF)
-          goto no_authid;
-        if (err)
           goto parse_error;
-        if (tag == TAG_UTF8_STRING)
-          {
-            ppp += objlen; /* Skip the Label. */
-            nnn -= objlen;
-
-            where = __LINE__;
-            err = parse_ber_header (&ppp, &nnn, &class, &tag, &constructed,
-                                    &ndef, &objlen, &hdrlen);
-            if (!err && (objlen > nnn || class != CLASS_UNIVERSAL))
-              err = gpg_error (GPG_ERR_INV_OBJ);
-            if (gpg_err_code (err) == GPG_ERR_EOF)
-              goto no_authid;
-            if (err)
-              goto parse_error;
-          }
-        if (tag == TAG_BIT_STRING)
-          {
-            ppp += objlen; /* Skip the CommonObjectFlags.  */
-            nnn -= objlen;
-
-            where = __LINE__;
-            err = parse_ber_header (&ppp, &nnn, &class, &tag, &constructed,
-                                    &ndef, &objlen, &hdrlen);
-            if (!err && (objlen > nnn || class != CLASS_UNIVERSAL))
-              err = gpg_error (GPG_ERR_INV_OBJ);
-            if (gpg_err_code (err) == GPG_ERR_EOF)
-              goto no_authid;
-            if (err)
-              goto parse_error;
-          }
-        if (tag == TAG_OCTET_STRING && objlen)
-          {
-            authid = ppp;
-            authidlen = objlen;
-          }
-      no_authid:
-        ;
-      }
+        }
+
+      if (err)
+        {
+          log_error ("p15: error parsing PrKDF record: %s\n",
+                     gpg_strerror (err));
+          goto leave;
+        }
+
+      pp = p;
+      nn = objlen;
+      p += objlen;
+      n -= objlen;
+
+      /* Parse the commonObjectAttributes.  */
+      where = __LINE__;
+      xfree (authid);
+      xfree (label);
+      err = parse_common_obj_attr (&pp, &nn, &authid, &authidlen, &label);
+      if (err)
+        goto parse_error;
 
       /* Parse the commonKeyAttributes.  */
       where = __LINE__;
+      xfree (objid);
+      err = parse_common_key_attr (&pp, &nn,
+                                   &objid, &objidlen,
+                                   &usageflags, &accessflags,
+                                   &key_reference, &key_reference_valid);
+      if (err)
+        goto parse_error;
+      log_assert (objid);
+
+      /* Skip commonPrivateKeyAttributes.  */
+      where = __LINE__;
       err = parse_ber_header (&pp, &nn, &class, &tag, &constructed,
                               &ndef, &objlen, &hdrlen);
-      if (!err && (objlen > nn || tag != TAG_SEQUENCE))
+      if (!err && objlen > nn)
         err = gpg_error (GPG_ERR_INV_OBJ);
       if (err)
         goto parse_error;
-      {
-        const unsigned char *ppp = pp;
-        size_t nnn = objlen;
+      if (class == CLASS_CONTEXT && tag == 0)
+        {
+          pp += objlen;
+          nn -= objlen;
 
-        pp += objlen;
-        nn -= objlen;
+          where = __LINE__;
+          err = parse_ber_header (&pp, &nn, &class, &tag, &constructed,
+                                  &ndef, &objlen, &hdrlen);
+        }
+      /* Parse the keyAttributes.  */
+      if (!err && (objlen > nn || class != CLASS_CONTEXT || tag != 1))
+        err = gpg_error (GPG_ERR_INV_OBJ);
+      if (err)
+        goto parse_error;
+      nn = objlen;
 
-        /* Get the Id. */
-        where = __LINE__;
-        err = parse_ber_header (&ppp, &nnn, &class, &tag, &constructed,
+      where = __LINE__;
+      err = parse_ber_header (&pp, &nn, &class, &tag, &constructed,
                               &ndef, &objlen, &hdrlen);
-        if (!err && (objlen > nnn
-                     || class != CLASS_UNIVERSAL || tag != TAG_OCTET_STRING))
-          err = gpg_error (GPG_ERR_INV_OBJ);
-        if (err)
+      if (err)
+        ;
+      else if (!err && objlen > nn)
+        err = gpg_error (GPG_ERR_INV_OBJ);
+      else if (class == CLASS_UNIVERSAL && tag == TAG_SEQUENCE)
+        ; /* A typeAttribute always starts with a sequence.  */
+      else
+        err = gpg_error (GPG_ERR_INV_OBJ);
+      if (err)
+        goto parse_error;
+
+      nn = objlen;
+
+      /* Check that the reference is a Path object.  */
+      where = __LINE__;
+      err = parse_ber_header (&pp, &nn, &class, &tag, &constructed,
+                              &ndef, &objlen, &hdrlen);
+      if (!err && objlen > nn)
+        err = gpg_error (GPG_ERR_INV_OBJ);
+      if (err)
+        goto parse_error;
+      if (class != CLASS_UNIVERSAL || tag != TAG_SEQUENCE)
+        {
+          errstr = "unsupported reference type";
           goto parse_error;
-        objid = ppp;
-        objidlen = objlen;
-        ppp += objlen;
-        nnn -= objlen;
+        }
+      nn = objlen;
 
-        /* Get the KeyUsageFlags. */
-        where = __LINE__;
-        err = parse_ber_header (&ppp, &nnn, &class, &tag, &constructed,
+      /* Parse the Path object. */
+      where = __LINE__;
+      err = parse_ber_header (&pp, &nn, &class, &tag, &constructed,
                               &ndef, &objlen, &hdrlen);
-        if (!err && (objlen > nnn
-                     || class != CLASS_UNIVERSAL || tag != TAG_BIT_STRING))
+      if (!err && objlen > nn)
+        err = gpg_error (GPG_ERR_INV_OBJ);
+      if (err)
+        goto parse_error;
+
+      /* Make sure that the next element is a non zero path and of
+         even length (FID are two bytes each). */
+      if (class != CLASS_UNIVERSAL || tag != TAG_OCTET_STRING
+          ||  !objlen || (objlen & 1) )
+        {
+          errstr = "invalid path reference";
+          goto parse_error;
+        }
+
+      /* Create a new PrKDF list item. */
+      prkdf = xtrycalloc (1, (sizeof *prkdf
+                              - sizeof(unsigned short)
+                              + objlen/2 * sizeof(unsigned short)));
+      if (!prkdf)
+        {
+          err = gpg_error_from_syserror ();
+          goto leave;
+        }
+      prkdf->is_ecc = is_ecc;
+
+      prkdf->objidlen = objidlen;
+      prkdf->objid = objid;
+      objid = NULL;
+      if (authid)
+        {
+          prkdf->authidlen = authidlen;
+          prkdf->authid = authid;
+          authid = NULL;
+        }
+      if (label)
+        {
+          prkdf->label = label;
+          label = NULL;
+        }
+
+      prkdf->pathlen = objlen/2;
+      for (i=0; i < prkdf->pathlen; i++, pp += 2, nn -= 2)
+        prkdf->path[i] = ((pp[0] << 8) | pp[1]);
+
+      prkdf->usageflags = usageflags;
+      prkdf->accessflags = accessflags;
+      prkdf->key_reference = key_reference;
+      prkdf->key_reference_valid = key_reference_valid;
+
+      if (nn)
+        {
+          /* An index and length follows. */
+          prkdf->have_off = 1;
+          where = __LINE__;
+          err = parse_ber_header (&pp, &nn, &class, &tag, &constructed,
+                                  &ndef, &objlen, &hdrlen);
+          if (!err && (objlen > nn
+                       || class != CLASS_UNIVERSAL || tag != TAG_INTEGER))
+            err = gpg_error (GPG_ERR_INV_OBJ);
+          if (err)
+            goto parse_error;
+
+          for (ul=0; objlen; objlen--)
+            {
+              ul <<= 8;
+              ul |= (*pp++) & 0xff;
+              nn--;
+            }
+          prkdf->off = ul;
+
+          where = __LINE__;
+          err = parse_ber_header (&pp, &nn, &class, &tag, &constructed,
+                                  &ndef, &objlen, &hdrlen);
+          if (!err && (objlen > nn
+                       || class != CLASS_CONTEXT || tag != 0))
+            err = gpg_error (GPG_ERR_INV_OBJ);
+          if (err)
+            goto parse_error;
+
+          for (ul=0; objlen; objlen--)
+            {
+              ul <<= 8;
+              ul |= (*pp++) & 0xff;
+              nn--;
+            }
+          prkdf->len = ul;
+        }
+
+      /* The info is printed later in read_p15_info because we also
+       * want to look at the certificates.  */
+
+      /* Put it into the list. */
+      prkdf->next = prkdflist;
+      prkdflist = prkdf;
+      prkdf = NULL;
+      goto next_record; /* Ready with this record. */
+
+    parse_error:
+      log_error ("p15: error parsing PrKDF record at %d: %s - skipped\n",
+                 where, errstr? errstr : gpg_strerror (err));
+      if (prkdf)
+        {
+          xfree (prkdf->objid);
+          xfree (prkdf->authid);
+          xfree (prkdf->label);
+          xfree (prkdf);
+        }
+      err = 0;
+
+    next_record:
+      /* If the card uses a record oriented file structure, read the
+       * next record.  Otherwise we keep on parsing the current buffer.  */
+      recno++;
+      if (record_mode)
+        {
+          xfree (buffer); buffer = NULL;
+          err = select_and_read_record (app, 0, recno, "PrKDF",
+                                        &buffer, &buflen, NULL);
+          if (err) {
+            if (gpg_err_code (err) == GPG_ERR_NOT_FOUND)
+              err = 0;
+            goto leave;
+          }
+          p = buffer;
+          n = buflen;
+        }
+    } /* End looping over all records. */
+
+ leave:
+  xfree (authid);
+  xfree (label);
+  xfree (objid);
+  xfree (buffer);
+  if (err)
+    release_prkdflist (prkdflist);
+  else
+    *result = prkdflist;
+  return err;
+}
+
+
+/* Read and parse the Public Keys Directory File. */
+static gpg_error_t
+read_ef_pukdf (app_t app, unsigned short fid, pukdf_object_t *result)
+{
+  gpg_error_t err;
+  unsigned char *buffer;
+  size_t buflen;
+  const unsigned char *p;
+  size_t n, objlen, hdrlen;
+  int class, tag, constructed, ndef;
+  pukdf_object_t pukdflist = NULL;
+  int i;
+  int recno = 1;
+  unsigned char *authid = NULL;
+  size_t authidlen = 0;
+  unsigned char *objid = NULL;
+  size_t objidlen = 0;
+  char *label = NULL;
+  int record_mode;
+
+  err = read_first_record (app, fid, "PuKDF", &buffer, &buflen, &record_mode);
+  if (err)
+    return err;
+
+  p = buffer;
+  n = buflen;
+
+  /* Loop over the records.  We stop as soon as we detect a new record
+   * starting with 0x00 or 0xff as these values are commonly used to
+   * pad data blocks and are no valid ASN.1 encoding.  Note the
+   * special handling for record mode at the end of the loop. */
+  while (n && *p && *p != 0xff)
+    {
+      const unsigned char *pp;
+      size_t nn;
+      int where;
+      const char *errstr = NULL;
+      pukdf_object_t pukdf = NULL;
+      unsigned long ul;
+      keyusage_flags_t usageflags;
+      keyaccess_flags_t accessflags;
+      unsigned long key_reference = 0;
+      int key_reference_valid = 0;
+
+      where = __LINE__;
+      err = parse_ber_header (&p, &n, &class, &tag, &constructed,
+                              &ndef, &objlen, &hdrlen);
+      if (err)
+        ;
+      else if (objlen > n)
+        err = gpg_error (GPG_ERR_INV_OBJ);
+      else if (class == CLASS_UNIVERSAL && tag == TAG_SEQUENCE)
+        ; /* PublicRSAKeyAttributes  */
+      else if (class == CLASS_CONTEXT)
+        {
+          switch (tag)
+            {
+            case 0: break; /* EC key object */
+            case 1: errstr = "DH key objects are not supported"; break;
+            case 2: errstr = "DSA key objects are not supported"; break;
+            case 3: errstr = "KEA key objects are not supported"; break;
+            default: errstr = "unknown publicKeyObject"; break;
+            }
+          if (errstr)
+            goto parse_error;
+        }
+      else
+        {
           err = gpg_error (GPG_ERR_INV_OBJ);
-        if (err)
-          goto parse_error;
-        err = parse_keyusage_flags (ppp, objlen, &usageflags);
-        if (err)
           goto parse_error;
-        ppp += objlen;
-        nnn -= objlen;
+        }
 
-        /* Find the keyReference */
-        where = __LINE__;
-        err = parse_ber_header (&ppp, &nnn, &class, &tag, &constructed,
-                              &ndef, &objlen, &hdrlen);
-        if (gpg_err_code (err) == GPG_ERR_EOF)
-          goto leave_cki;
-        if (!err && objlen > nnn)
-          err = gpg_error (GPG_ERR_INV_OBJ);
-        if (err)
-          goto parse_error;
-        if (class == CLASS_UNIVERSAL && tag == TAG_BOOLEAN)
-          {
-            /* Skip the native element. */
-            ppp += objlen;
-            nnn -= objlen;
-
-            err = parse_ber_header (&ppp, &nnn, &class, &tag, &constructed,
-                                    &ndef, &objlen, &hdrlen);
-            if (gpg_err_code (err) == GPG_ERR_EOF)
-              goto leave_cki;
-            if (!err && objlen > nnn)
-              err = gpg_error (GPG_ERR_INV_OBJ);
-            if (err)
-              goto parse_error;
-          }
-        if (class == CLASS_UNIVERSAL && tag == TAG_BIT_STRING)
-          {
-            /* Skip the accessFlags. */
-            ppp += objlen;
-            nnn -= objlen;
-
-            err = parse_ber_header (&ppp, &nnn, &class, &tag, &constructed,
-                                    &ndef, &objlen, &hdrlen);
-            if (gpg_err_code (err) == GPG_ERR_EOF)
-              goto leave_cki;
-            if (!err && objlen > nnn)
-              err = gpg_error (GPG_ERR_INV_OBJ);
-            if (err)
-              goto parse_error;
-          }
-        if (class == CLASS_UNIVERSAL && tag == TAG_INTEGER)
-          {
-            /* Yep, this is the keyReference.  */
-            for (ul=0; objlen; objlen--)
-              {
-                ul <<= 8;
-                ul |= (*ppp++) & 0xff;
-                nnn--;
-            }
-            key_reference = ul;
-            key_reference_valid = 1;
-          }
+      if (err)
+        {
+          log_error ("p15: error parsing PuKDF record: %s\n",
+                     gpg_strerror (err));
+          goto leave;
+        }
 
-      leave_cki:
-        ;
-      }
+      pp = p;
+      nn = objlen;
+      p += objlen;
+      n -= objlen;
 
+      /* Parse the commonObjectAttributes.  */
+      where = __LINE__;
+      xfree (authid);
+      xfree (label);
+      err = parse_common_obj_attr (&pp, &nn, &authid, &authidlen, &label);
+      if (err)
+        goto parse_error;
+
+      /* Parse the commonKeyAttributes.  */
+      where = __LINE__;
+      xfree (objid);
+      err = parse_common_key_attr (&pp, &nn,
+                                   &objid, &objidlen,
+                                   &usageflags, &accessflags,
+                                   &key_reference, &key_reference_valid);
+      if (err)
+        goto parse_error;
+      log_assert (objid);
 
-      /* Skip subClassAttributes.  */
+      /* Parse the subClassAttributes.  */
       where = __LINE__;
       err = parse_ber_header (&pp, &nn, &class, &tag, &constructed,
                               &ndef, &objlen, &hdrlen);
@@ -1158,6 +2110,7 @@ read_ef_prkdf (app_t app, unsigned short fid, prkdf_object_t *result)
         goto parse_error;
       if (class == CLASS_CONTEXT && tag == 0)
         {
+          /* Skip this CommonPublicKeyAttribute.  */
           pp += objlen;
           nn -= objlen;
 
@@ -1165,39 +2118,26 @@ read_ef_prkdf (app_t app, unsigned short fid, prkdf_object_t *result)
           err = parse_ber_header (&pp, &nn, &class, &tag, &constructed,
                                   &ndef, &objlen, &hdrlen);
         }
-      /* Parse the keyAttributes.  */
+      /* We expect a typeAttribute.  */
       if (!err && (objlen > nn || class != CLASS_CONTEXT || tag != 1))
         err = gpg_error (GPG_ERR_INV_OBJ);
       if (err)
-        goto parse_error;
+        goto parse_error;  /* No typeAttribute.  */
       nn = objlen;
 
       where = __LINE__;
       err = parse_ber_header (&pp, &nn, &class, &tag, &constructed,
                               &ndef, &objlen, &hdrlen);
-      if (!err && objlen > nn)
+      if (err)
+        ;
+      else if (!err && objlen > nn)
+        err = gpg_error (GPG_ERR_INV_OBJ);
+      else if (class == CLASS_UNIVERSAL && tag == TAG_SEQUENCE)
+        ; /* A typeAttribute always starts with a sequence.  */
+      else
         err = gpg_error (GPG_ERR_INV_OBJ);
       if (err)
         goto parse_error;
-      if (class == CLASS_UNIVERSAL && tag == TAG_SEQUENCE)
-        ; /* RSA */
-      else if (class == CLASS_CONTEXT)
-        {
-          switch (tag)
-            {
-            case 0: errstr = "EC key objects are not supported"; break;
-            case 1: errstr = "DH key objects are not supported"; break;
-            case 2: errstr = "DSA key objects are not supported"; break;
-            case 3: errstr = "KEA key objects are not supported"; break;
-            default: errstr = "unknown privateKeyObject"; break;
-            }
-          goto parse_error;
-        }
-      else
-        {
-          err = gpg_error (GPG_ERR_INV_OBJ);
-          goto parse_error;
-        }
 
       nn = objlen;
 
@@ -1233,50 +2173,44 @@ read_ef_prkdf (app_t app, unsigned short fid, prkdf_object_t *result)
           errstr = "invalid path reference";
           goto parse_error;
         }
-      /* Create a new PrKDF list item. */
-      prkdf = xtrycalloc (1, (sizeof *prkdf
+
+      /* Create a new PuKDF list item. */
+      pukdf = xtrycalloc (1, (sizeof *pukdf
                               - sizeof(unsigned short)
                               + objlen/2 * sizeof(unsigned short)));
-      if (!prkdf)
+      if (!pukdf)
         {
           err = gpg_error_from_syserror ();
           goto leave;
         }
-      prkdf->objidlen = objidlen;
-      prkdf->objid = xtrymalloc (objidlen);
-      if (!prkdf->objid)
+      pukdf->objidlen = objidlen;
+      pukdf->objid = objid;
+      objid = NULL;
+      if (authid)
         {
-          err = gpg_error_from_syserror ();
-          xfree (prkdf);
-          goto leave;
+          pukdf->authidlen = authidlen;
+          pukdf->authid = authid;
+          authid = NULL;
         }
-      memcpy (prkdf->objid, objid, objidlen);
-      if (authid)
+      if (label)
         {
-          prkdf->authidlen = authidlen;
-          prkdf->authid = xtrymalloc (authidlen);
-          if (!prkdf->authid)
-            {
-              err = gpg_error_from_syserror ();
-              xfree (prkdf->objid);
-              xfree (prkdf);
-              goto leave;
-            }
-          memcpy (prkdf->authid, authid, authidlen);
+          pukdf->label = label;
+          label = NULL;
         }
 
-      prkdf->pathlen = objlen/2;
-      for (i=0; i < prkdf->pathlen; i++, pp += 2, nn -= 2)
-        prkdf->path[i] = ((pp[0] << 8) | pp[1]);
+      pukdf->pathlen = objlen/2;
+      for (i=0; i < pukdf->pathlen; i++, pp += 2, nn -= 2)
+        pukdf->path[i] = ((pp[0] << 8) | pp[1]);
 
-      prkdf->usageflags = usageflags;
-      prkdf->key_reference = key_reference;
-      prkdf->key_reference_valid = key_reference_valid;
+      pukdf->usageflags = usageflags;
+      pukdf->accessflags = accessflags;
+      pukdf->key_reference = key_reference;
+      pukdf->key_reference_valid = key_reference_valid;
 
       if (nn)
         {
           /* An index and length follows. */
-          prkdf->have_off = 1;
+          pukdf->have_off = 1;
           where = __LINE__;
           err = parse_ber_header (&pp, &nn, &class, &tag, &constructed,
                                   &ndef, &objlen, &hdrlen);
@@ -1292,7 +2226,7 @@ read_ef_prkdf (app_t app, unsigned short fid, prkdf_object_t *result)
               ul |= (*pp++) & 0xff;
               nn--;
             }
-          prkdf->off = ul;
+          pukdf->off = ul;
 
           where = __LINE__;
           err = parse_ber_header (&pp, &nn, &class, &tag, &constructed,
@@ -1309,70 +2243,82 @@ read_ef_prkdf (app_t app, unsigned short fid, prkdf_object_t *result)
               ul |= (*pp++) & 0xff;
               nn--;
             }
-          prkdf->len = ul;
+          pukdf->len = ul;
         }
 
 
       if (opt.verbose)
         {
-          log_info ("p15: PrKDF %04hX: id=", fid);
-          for (i=0; i < prkdf->objidlen; i++)
-            log_printf ("%02X", prkdf->objid[i]);
-          log_printf (" path=");
-          for (i=0; i < prkdf->pathlen; i++)
-            log_printf ("%s%04hX", i?"/":"",prkdf->path[i]);
-          if (prkdf->have_off)
-            log_printf ("[%lu/%lu]", prkdf->off, prkdf->len);
-          if (prkdf->authid)
+          log_info ("p15: PuKDF %04hX: id=", fid);
+          for (i=0; i < pukdf->objidlen; i++)
+            log_printf ("%02X", pukdf->objid[i]);
+          if (pukdf->label)
+            log_printf (" (%s)", pukdf->label);
+          log_info ("p15:             path=");
+          for (i=0; i < pukdf->pathlen; i++)
+            log_printf ("%s%04hX", i?"/":"",pukdf->path[i]);
+          if (pukdf->have_off)
+            log_printf ("[%lu/%lu]", pukdf->off, pukdf->len);
+          if (pukdf->authid)
             {
               log_printf (" authid=");
-              for (i=0; i < prkdf->authidlen; i++)
-                log_printf ("%02X", prkdf->authid[i]);
+              for (i=0; i < pukdf->authidlen; i++)
+                log_printf ("%02X", pukdf->authid[i]);
             }
-          if (prkdf->key_reference_valid)
-            log_printf (" keyref=0x%02lX", prkdf->key_reference);
-          log_info ("p15:             usage=");
-          s = "";
-          if (prkdf->usageflags.encrypt) log_printf ("%sencrypt", s), s = ",";
-          if (prkdf->usageflags.decrypt) log_printf ("%sdecrypt", s), s = ",";
-          if (prkdf->usageflags.sign   ) log_printf ("%ssign", s), s = ",";
-          if (prkdf->usageflags.sign_recover)
-            log_printf ("%ssign_recover", s), s = ",";
-          if (prkdf->usageflags.wrap   ) log_printf ("%swrap", s), s = ",";
-          if (prkdf->usageflags.unwrap ) log_printf ("%sunwrap", s), s = ",";
-          if (prkdf->usageflags.verify ) log_printf ("%sverify", s), s = ",";
-          if (prkdf->usageflags.verify_recover)
-            log_printf ("%sverify_recover", s), s = ",";
-          if (prkdf->usageflags.derive ) log_printf ("%sderive", s), s = ",";
-          if (prkdf->usageflags.non_repudiation)
-            log_printf ("%snon_repudiation", s), s = ",";
+          if (pukdf->key_reference_valid)
+            log_printf (" keyref=0x%02lX", pukdf->key_reference);
+          if (pukdf->accessflags.any)
+            dump_keyaccess_flags (pukdf->accessflags);
+          dump_keyusage_flags (pukdf->usageflags);
           log_printf ("\n");
         }
 
       /* Put it into the list. */
-      prkdf->next = prkdflist;
-      prkdflist = prkdf;
-      prkdf = NULL;
-      continue; /* Ready. */
+      pukdf->next = pukdflist;
+      pukdflist = pukdf;
+      pukdf = NULL;
+      goto next_record; /* Ready with this record. */
 
     parse_error:
-      log_error ("p15: error parsing PrKDF record (%d): %s - skipped\n",
+      log_error ("p15: error parsing PuKDF record at %d: %s - skipped\n",
                  where, errstr? errstr : gpg_strerror (err));
-      if (prkdf)
+      if (pukdf)
         {
-          xfree (prkdf->objid);
-          xfree (prkdf->authid);
-          xfree (prkdf);
+          xfree (pukdf->objid);
+          xfree (pukdf->authid);
+          xfree (pukdf->label);
+          xfree (pukdf);
         }
       err = 0;
+
+    next_record:
+      /* If the card uses a record oriented file structure, read the
+       * next record.  Otherwise we keep on parsing the current buffer.  */
+      recno++;
+      if (record_mode)
+        {
+          xfree (buffer); buffer = NULL;
+          err = select_and_read_record (app, 0, recno, "PuKDF",
+                                        &buffer, &buflen, NULL);
+          if (err) {
+            if (gpg_err_code (err) == GPG_ERR_NOT_FOUND)
+              err = 0;
+            goto leave;
+          }
+          p = buffer;
+          n = buflen;
+        }
     } /* End looping over all records. */
 
  leave:
+  xfree (authid);
+  xfree (label);
+  xfree (objid);
   xfree (buffer);
   if (err)
-    release_prkdflist (prkdflist);
+    release_pukdflist (pukdflist);
   else
-    *result = prkdflist;
+    *result = pukdflist;
   return err;
 }
 
@@ -1382,21 +2328,23 @@ read_ef_prkdf (app_t app, unsigned short fid, prkdf_object_t *result)
    caller is then responsible of releasing this list.  On error a
    error code is returned and RESULT won't get changed.  */
 static gpg_error_t
-read_ef_cdf (app_t app, unsigned short fid, cdf_object_t *result)
+read_ef_cdf (app_t app, unsigned short fid, int cdftype, cdf_object_t *result)
 {
   gpg_error_t err;
-  unsigned char *buffer = NULL;
+  unsigned char *buffer;
   size_t buflen;
   const unsigned char *p;
   size_t n, objlen, hdrlen;
   int class, tag, constructed, ndef;
   cdf_object_t cdflist = NULL;
   int i;
+  int recno = 1;
+  unsigned char *authid = NULL;
+  size_t authidlen = 0;
+  char *label = NULL;
+  int record_mode;
 
-  if (!fid)
-    return gpg_error (GPG_ERR_NO_DATA); /* No certificates. */
-
-  err = select_and_read_binary (app->slot, fid, "CDF", &buffer, &buflen);
+  err = read_first_record (app, fid, "CDF", &buffer, &buflen, &record_mode);
   if (err)
     return err;
 
@@ -1405,7 +2353,8 @@ read_ef_cdf (app_t app, unsigned short fid, cdf_object_t *result)
 
   /* Loop over the records.  We stop as soon as we detect a new record
      starting with 0x00 or 0xff as these values are commonly used to
-     pad data blocks and are no valid ASN.1 encoding. */
+     pad data blocks and are no valid ASN.1 encoding.  Note the
+     special handling for record mode at the end of the loop. */
   while (n && *p && *p != 0xff)
     {
       const unsigned char *pp;
@@ -1431,16 +2380,13 @@ read_ef_cdf (app_t app, unsigned short fid, cdf_object_t *result)
       p += objlen;
       n -= objlen;
 
-      /* Skip the commonObjectAttributes.  */
+      /* Parse the commonObjectAttributes.  */
       where = __LINE__;
-      err = parse_ber_header (&pp, &nn, &class, &tag, &constructed,
-                              &ndef, &objlen, &hdrlen);
-      if (!err && (objlen > nn || tag != TAG_SEQUENCE))
-        err = gpg_error (GPG_ERR_INV_OBJ);
+      xfree (authid);
+      xfree (label);
+      err = parse_common_obj_attr (&pp, &nn, &authid, &authidlen, &label);
       if (err)
         goto parse_error;
-      pp += objlen;
-      nn -= objlen;
 
       /* Parse the commonCertificateAttributes.  */
       where = __LINE__;
@@ -1531,6 +2477,18 @@ read_ef_cdf (app_t app, unsigned short fid, cdf_object_t *result)
           err = gpg_error_from_syserror ();
           goto leave;
         }
+      if (authid)
+        {
+          cdf->authidlen = authidlen;
+          cdf->authid = authid;
+          authid = NULL;
+        }
+      if (label)
+        {
+          cdf->label = label;
+          label = NULL;
+        }
+
       cdf->objidlen = objidlen;
       cdf->objid = xtrymalloc (objidlen);
       if (!cdf->objid)
@@ -1586,14 +2544,22 @@ read_ef_cdf (app_t app, unsigned short fid, cdf_object_t *result)
 
       if (opt.verbose)
         {
-          log_info ("p15: CDF %04hX: id=", fid);
+          log_info ("p15: CDF-%c %04hX: id=", cdftype, fid);
           for (i=0; i < cdf->objidlen; i++)
             log_printf ("%02X", cdf->objid[i]);
-          log_printf (" path=");
+          if (cdf->label)
+            log_printf (" (%s)", cdf->label);
+          log_info ("p15:             path=");
           for (i=0; i < cdf->pathlen; i++)
             log_printf ("%s%04hX", i?"/":"", cdf->path[i]);
           if (cdf->have_off)
             log_printf ("[%lu/%lu]", cdf->off, cdf->len);
+          if (cdf->authid)
+            {
+              log_printf (" authid=");
+              for (i=0; i < cdf->authidlen; i++)
+                log_printf ("%02X", cdf->authid[i]);
+            }
           log_printf ("\n");
         }
 
@@ -1601,16 +2567,38 @@ read_ef_cdf (app_t app, unsigned short fid, cdf_object_t *result)
       cdf->next = cdflist;
       cdflist = cdf;
       cdf = NULL;
-      continue; /* Ready. */
+      goto next_record; /* Ready with this record. */
 
     parse_error:
-      log_error ("p15: error parsing CDF record (%d): %s - skipped\n",
+      log_error ("p15: error parsing CDF record at %d: %s - skipped\n",
                  where, errstr? errstr : gpg_strerror (err));
       xfree (cdf);
       err = 0;
-    } /* End looping over all records. */
+
+    next_record:
+      xfree (authid);
+      xfree (label);
+      /* If the card uses a record oriented file structure, read the
+       * next record.  Otherwise we keep on parsing the current buffer.  */
+      recno++;
+      if (record_mode)
+        {
+          xfree (buffer); buffer = NULL;
+          err = select_and_read_record (app, 0, recno, "CDF",
+                                        &buffer, &buflen, NULL);
+          if (err) {
+            if (gpg_err_code (err) == GPG_ERR_NOT_FOUND)
+              err = 0;
+            goto leave;
+          }
+          p = buffer;
+          n = buflen;
+        }
+    } /* End loop over all records. */
 
  leave:
+  xfree (authid);
+  xfree (label);
   xfree (buffer);
   if (err)
     release_cdflist (cdflist);
@@ -1661,29 +2649,27 @@ static gpg_error_t
 read_ef_aodf (app_t app, unsigned short fid, aodf_object_t *result)
 {
   gpg_error_t err;
-  unsigned char *buffer = NULL;
+  unsigned char *buffer;
   size_t buflen;
   const unsigned char *p;
   size_t n, objlen, hdrlen;
   int class, tag, constructed, ndef;
   aodf_object_t aodflist = NULL;
   int i;
+  int recno = 1;
+  int record_mode;
 
-  if (!fid)
-    return gpg_error (GPG_ERR_NO_DATA); /* No authentication objects. */
-
-  err = select_and_read_binary (app->slot, fid, "AODF", &buffer, &buflen);
+  err = read_first_record (app, fid, "AODF", &buffer, &buflen, &record_mode);
   if (err)
     return err;
 
   p = buffer;
   n = buflen;
 
-  /* FIXME: This shares a LOT of code with read_ef_prkdf! */
-
   /* Loop over the records.  We stop as soon as we detect a new record
      starting with 0x00 or 0xff as these values are commonly used to
-     pad data blocks and are no valid ASN.1 encoding. */
+     pad data blocks and are no valid ASN.1 encoding.  Note the
+     special handling for record mode at the end of the loop.  */
   while (n && *p && *p != 0xff)
     {
       const unsigned char *pp;
@@ -1694,10 +2680,33 @@ read_ef_aodf (app_t app, unsigned short fid, aodf_object_t *result)
       unsigned long ul;
       const char *s;
 
+      where = __LINE__;
       err = parse_ber_header (&p, &n, &class, &tag, &constructed,
                               &ndef, &objlen, &hdrlen);
-      if (!err && (objlen > n || tag != TAG_SEQUENCE))
+      if (err)
+        ;
+      else if (objlen > n)
         err = gpg_error (GPG_ERR_INV_OBJ);
+      else if (class == CLASS_UNIVERSAL && tag == TAG_SEQUENCE)
+        ; /* PinAttributes */
+      else if (class == CLASS_CONTEXT)
+        {
+          switch (tag)
+            {
+            case 0: errstr = "biometric auth types are not supported"; break;
+            case 1: errstr = "authKey auth types are not supported"; break;
+            case 2: errstr = "external auth type are not supported"; break;
+            default: errstr = "unknown privateKeyObject"; break;
+            }
+          goto parse_error;
+        }
+      else
+        {
+          err = gpg_error (GPG_ERR_INV_OBJ);
+          goto parse_error;
+        }
+
+
       if (err)
         {
           log_error ("p15: error parsing AODF record: %s\n",
@@ -1717,72 +2726,10 @@ read_ef_aodf (app_t app, unsigned short fid, aodf_object_t *result)
 
       /* Parse the commonObjectAttributes.  */
       where = __LINE__;
-      err = parse_ber_header (&pp, &nn, &class, &tag, &constructed,
-                              &ndef, &objlen, &hdrlen);
-      if (!err && (objlen > nn || tag != TAG_SEQUENCE))
-        err = gpg_error (GPG_ERR_INV_OBJ);
+      err = parse_common_obj_attr (&pp, &nn, &aodf->authid, &aodf->authidlen,
+                                   &aodf->label);
       if (err)
         goto parse_error;
-      {
-        const unsigned char *ppp = pp;
-        size_t nnn = objlen;
-
-        pp += objlen;
-        nn -= objlen;
-
-        /* Search the optional AuthId.  We need to skip the optional
-           Label (UTF8STRING) and the optional CommonObjectFlags
-           (BITSTRING). */
-        where = __LINE__;
-        err = parse_ber_header (&ppp, &nnn, &class, &tag, &constructed,
-                                &ndef, &objlen, &hdrlen);
-        if (!err && (objlen > nnn || class != CLASS_UNIVERSAL))
-          err = gpg_error (GPG_ERR_INV_OBJ);
-        if (gpg_err_code (err) == GPG_ERR_EOF)
-          goto no_authid;
-        if (err)
-          goto parse_error;
-        if (tag == TAG_UTF8_STRING)
-          {
-            ppp += objlen; /* Skip the Label. */
-            nnn -= objlen;
-
-            where = __LINE__;
-            err = parse_ber_header (&ppp, &nnn, &class, &tag, &constructed,
-                                    &ndef, &objlen, &hdrlen);
-            if (!err && (objlen > nnn || class != CLASS_UNIVERSAL))
-              err = gpg_error (GPG_ERR_INV_OBJ);
-            if (gpg_err_code (err) == GPG_ERR_EOF)
-              goto no_authid;
-            if (err)
-              goto parse_error;
-          }
-        if (tag == TAG_BIT_STRING)
-          {
-            ppp += objlen; /* Skip the CommonObjectFlags.  */
-            nnn -= objlen;
-
-            where = __LINE__;
-            err = parse_ber_header (&ppp, &nnn, &class, &tag, &constructed,
-                                    &ndef, &objlen, &hdrlen);
-            if (!err && (objlen > nnn || class != CLASS_UNIVERSAL))
-              err = gpg_error (GPG_ERR_INV_OBJ);
-            if (gpg_err_code (err) == GPG_ERR_EOF)
-              goto no_authid;
-            if (err)
-              goto parse_error;
-          }
-        if (tag == TAG_OCTET_STRING && objlen)
-          {
-            aodf->authidlen = objlen;
-            aodf->authid = xtrymalloc (objlen);
-            if (!aodf->authid)
-              goto no_core;
-            memcpy (aodf->authid, ppp, objlen);
-          }
-      no_authid:
-        ;
-      }
 
       /* Parse the CommonAuthenticationObjectAttributes.  */
       where = __LINE__;
@@ -1802,7 +2749,7 @@ read_ef_aodf (app_t app, unsigned short fid, aodf_object_t *result)
         /* Get the Id. */
         where = __LINE__;
         err = parse_ber_header (&ppp, &nnn, &class, &tag, &constructed,
-                              &ndef, &objlen, &hdrlen);
+                                &ndef, &objlen, &hdrlen);
         if (!err && (objlen > nnn
                      || class != CLASS_UNIVERSAL || tag != TAG_OCTET_STRING))
           err = gpg_error (GPG_ERR_INV_OBJ);
@@ -1829,28 +2776,16 @@ read_ef_aodf (app_t app, unsigned short fid, aodf_object_t *result)
       where = __LINE__;
       err = parse_ber_header (&pp, &nn, &class, &tag, &constructed,
                               &ndef, &objlen, &hdrlen);
-      if (!err && objlen > nn)
+      if (err)
+        ;
+      else if (!err && objlen > nn)
+        err = gpg_error (GPG_ERR_INV_OBJ);
+      else if (class == CLASS_UNIVERSAL && tag == TAG_SEQUENCE)
+        ; /* A typeAttribute always starts with a sequence */
+      else
         err = gpg_error (GPG_ERR_INV_OBJ);
       if (err)
         goto parse_error;
-      if (class == CLASS_UNIVERSAL && tag == TAG_SEQUENCE)
-        ; /* PinAttributes */
-      else if (class == CLASS_CONTEXT)
-        {
-          switch (tag)
-            {
-            case 0: errstr = "biometric auth types are not supported"; break;
-            case 1: errstr = "authKey auth types are not supported"; break;
-            case 2: errstr = "external auth type are not supported"; break;
-            default: errstr = "unknown privateKeyObject"; break;
-            }
-          goto parse_error;
-        }
-      else
-        {
-          err = gpg_error (GPG_ERR_INV_OBJ);
-          goto parse_error;
-        }
 
       nn = objlen;
 
@@ -2126,7 +3061,7 @@ read_ef_aodf (app_t app, unsigned short fid, aodf_object_t *result)
             }
 
           aodf->pathlen = objlen/2;
-          aodf->path = xtrymalloc (aodf->pathlen);
+          aodf->path = xtrycalloc (aodf->pathlen, sizeof *aodf->path);
           if (!aodf->path)
             goto no_core;
           for (i=0; i < aodf->pathlen; i++, ppp += 2, nnn -= 2)
@@ -2172,23 +3107,20 @@ read_ef_aodf (app_t app, unsigned short fid, aodf_object_t *result)
             }
         }
 
-      /* Igonore further objects which might be there due to future
+      /* Ignore further objects which might be there due to future
          extensions of pkcs#15. */
 
     ready:
+      if (gpg_err_code (err) == GPG_ERR_EOF)
+        err = 0;
       if (opt.verbose)
         {
-          log_info ("p15: AODF %04hX: id=", fid);
+          log_info ("p15: AODF %04hX:  id=", fid);
           for (i=0; i < aodf->objidlen; i++)
             log_printf ("%02X", aodf->objid[i]);
-          if (aodf->authid)
-            {
-              log_printf (" authid=");
-              for (i=0; i < aodf->authidlen; i++)
-                log_printf ("%02X", aodf->authid[i]);
-            }
-          if (aodf->pin_reference_valid)
-            log_printf (" pinref=0x%02lX", aodf->pin_reference);
+          if (aodf->label)
+            log_printf (" (%s)", aodf->label);
+          log_info ("p15:            ");
           if (aodf->pathlen)
             {
               log_printf (" path=");
@@ -2197,6 +3129,14 @@ read_ef_aodf (app_t app, unsigned short fid, aodf_object_t *result)
               if (aodf->have_off)
                 log_printf ("[%lu/%lu]", aodf->off, aodf->len);
             }
+          if (aodf->authid)
+            {
+              log_printf (" authid=");
+              for (i=0; i < aodf->authidlen; i++)
+                log_printf ("%02X", aodf->authid[i]);
+            }
+          if (aodf->pin_reference_valid)
+            log_printf (" pinref=0x%02lX", aodf->pin_reference);
           log_printf (" min=%lu", aodf->min_length);
           log_printf (" stored=%lu", aodf->stored_length);
           if (aodf->max_length_valid)
@@ -2204,7 +3144,7 @@ read_ef_aodf (app_t app, unsigned short fid, aodf_object_t *result)
           if (aodf->pad_char_valid)
             log_printf (" pad=0x%02x", aodf->pad_char);
 
-          log_info ("p15:            flags=");
+          log_info ("p15:             flags=");
           s = "";
           if (aodf->pinflags.case_sensitive)
             log_printf ("%scase_sensitive", s), s = ",";
@@ -2232,18 +3172,20 @@ read_ef_aodf (app_t app, unsigned short fid, aodf_object_t *result)
             log_printf ("%sexchange_ref_data", s), s = ",";
           {
             char numbuf[50];
+            const char *s2;
+
             switch (aodf->pintype)
               {
-              case PIN_TYPE_BCD: s = "bcd"; break;
-              case PIN_TYPE_ASCII_NUMERIC: s = "ascii-numeric"; break;
-              case PIN_TYPE_UTF8: s = "utf8"; break;
-              case PIN_TYPE_HALF_NIBBLE_BCD: s = "half-nibble-bcd"; break;
-              case PIN_TYPE_ISO9564_1: s = "iso9564-1"; break;
+              case PIN_TYPE_BCD: s2 = "bcd"; break;
+              case PIN_TYPE_ASCII_NUMERIC: s2 = "ascii-numeric"; break;
+              case PIN_TYPE_UTF8: s2 = "utf8"; break;
+              case PIN_TYPE_HALF_NIBBLE_BCD: s2 = "half-nibble-bcd"; break;
+              case PIN_TYPE_ISO9564_1: s2 = "iso9564-1"; break;
               default:
                 sprintf (numbuf, "%lu", (unsigned long)aodf->pintype);
-                s = numbuf;
+                s2 = numbuf;
               }
-            log_printf (" type=%s", s);
+            log_printf ("%stype=%s", s, s2); s = ",";
           }
           log_printf ("\n");
         }
@@ -2252,7 +3194,7 @@ read_ef_aodf (app_t app, unsigned short fid, aodf_object_t *result)
       aodf->next = aodflist;
       aodflist = aodf;
       aodf = NULL;
-      continue; /* Ready. */
+      goto next_record; /* Ready with this record. */
 
     no_core:
       err = gpg_error_from_syserror ();
@@ -2260,10 +3202,28 @@ read_ef_aodf (app_t app, unsigned short fid, aodf_object_t *result)
       goto leave;
 
     parse_error:
-      log_error ("p15: error parsing AODF record (%d): %s - skipped\n",
+      log_error ("p15: error parsing AODF record at %d: %s - skipped\n",
                  where, errstr? errstr : gpg_strerror (err));
       err = 0;
       release_aodf_object (aodf);
+
+    next_record:
+      /* If the card uses a record oriented file structure, read the
+       * next record.  Otherwise we keep on parsing the current buffer.  */
+      recno++;
+      if (record_mode)
+        {
+          xfree (buffer); buffer = NULL;
+          err = select_and_read_record (app, 0, recno, "AODF",
+                                        &buffer, &buflen, NULL);
+          if (err) {
+            if (gpg_err_code (err) == GPG_ERR_NOT_FOUND)
+              err = 0;
+            goto leave;
+          }
+          p = buffer;
+          n = buflen;
+        }
     } /* End looping over all records. */
 
  leave:
@@ -2336,53 +3296,48 @@ print_tokeninfo_tokenflags (const unsigned char *der, size_t derlen)
 
 
 /* Read and parse the EF(TokenInfo).
-
-TokenInfo ::= SEQUENCE {
-    version            INTEGER {v1(0)} (v1,...),
-    serialNumber       OCTET STRING,
-    manufacturerID     Label OPTIONAL,
-    label              [0] Label OPTIONAL,
-    tokenflags                 TokenFlags,
-    seInfo             SEQUENCE OF SecurityEnvironmentInfo OPTIONAL,
-    recordInfo                 [1] RecordInfo OPTIONAL,
-    supportedAlgorithms        [2] SEQUENCE OF AlgorithmInfo OPTIONAL,
-    ...,
-    issuerId           [3] Label OPTIONAL,
-    holderId           [4] Label OPTIONAL,
-    lastUpdate         [5] LastUpdate OPTIONAL,
-    preferredLanguage  PrintableString OPTIONAL -- In accordance with
-    -- IETF RFC 1766
-} (CONSTRAINED BY { -- Each AlgorithmInfo.reference value must be unique --})
-
-TokenFlags ::= BIT STRING {
-    readOnly           (0),
-    loginRequired      (1),
-    prnGeneration      (2),
-    eidCompliant       (3)
-}
-
-
- 5032:
-
-30 31 02 01 00 04 04 05 45  36 9F 0C 0C 44 2D 54   01......E6...D-T
-72 75 73 74 20 47 6D 62 48  80 14 4F 66 66 69 63   rust GmbH..Offic
-65 20 69 64 65 6E 74 69 74  79 20 63 61 72 64 03   e identity card.
-02 00 40 20 63 61 72 64 03  02 00 40 00 00 00 00   ..@ card...@....
-00 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00   ................
-
-   0   49: SEQUENCE {
-   2    1:   INTEGER 0
-   5    4:   OCTET STRING 05 45 36 9F
-  11   12:   UTF8String 'D-Trust GmbH'
-  25   20:   [0] 'Office identity card'
-  47    2:   BIT STRING
-         :     '00000010'B (bit 1)
-         :     Error: Spurious zero bits in bitstring.
-         :   }
-
-
-
-
+ *
+ * TokenInfo ::= SEQUENCE {
+ *     version         INTEGER {v1(0)} (v1,...),
+ *     serialNumber    OCTET STRING,
+ *     manufacturerID  Label OPTIONAL,
+ *     label           [0] Label OPTIONAL,
+ *     tokenflags              TokenFlags,
+ *     seInfo          SEQUENCE OF SecurityEnvironmentInfo OPTIONAL,
+ *     recordInfo              [1] RecordInfo OPTIONAL,
+ *     supportedAlgorithms     [2] SEQUENCE OF AlgorithmInfo OPTIONAL,
+ *     ...,
+ *     issuerId                [3] Label OPTIONAL,
+ *     holderId                [4] Label OPTIONAL,
+ *     lastUpdate              [5] LastUpdate OPTIONAL,
+ *     preferredLanguage       PrintableString OPTIONAL -- In accordance with
+ *     -- IETF RFC 1766
+ * } (CONSTRAINED BY { -- Each AlgorithmInfo.reference value must be unique --})
+ *
+ * TokenFlags ::= BIT STRING {
+ *     readOnly                (0),
+ *     loginRequired   (1),
+ *     prnGeneration   (2),
+ *     eidCompliant    (3)
+ * }
+ *
+ *
+ * Sample EF 5032:
+ * 30 31 02 01 00 04 04 05 45  36 9F 0C 0C 44 2D 54   01......E6...D-T
+ * 72 75 73 74 20 47 6D 62 48  80 14 4F 66 66 69 63   rust GmbH..Offic
+ * 65 20 69 64 65 6E 74 69 74  79 20 63 61 72 64 03   e identity card.
+ * 02 00 40 20 63 61 72 64 03  02 00 40 00 00 00 00   ..@ card...@....
+ * 00 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00   ................
+ *
+ *    0   49: SEQUENCE {
+ *    2    1:   INTEGER 0
+ *    5    4:   OCTET STRING 05 45 36 9F
+ *   11   12:   UTF8String 'D-Trust GmbH'
+ *   25   20:   [0] 'Office identity card'
+ *   47    2:   BIT STRING
+ *          :     '00000010'B (bit 1)
+ *          :     Error: Spurious zero bits in bitstring.
+ *          :   }
  */
 static gpg_error_t
 read_ef_tokeninfo (app_t app)
@@ -2394,13 +3349,11 @@ read_ef_tokeninfo (app_t app)
   size_t n, objlen, hdrlen;
   int class, tag, constructed, ndef;
   unsigned long ul;
-
-  xfree (app->app_local->manufacturer_id);
-  app->app_local->manufacturer_id = NULL;
+
+  release_tokeninfo (app);
   app->app_local->card_product = CARD_PRODUCT_UNKNOWN;
 
-  err = select_and_read_binary (app->slot, 0x5032, "TokenInfo",
-                                &buffer, &buflen);
+  err = select_and_read_binary (app, 0x5032, "TokenInfo", &buffer, &buflen);
   if (err)
     return err;
 
@@ -2440,8 +3393,6 @@ read_ef_tokeninfo (app_t app)
       goto leave;
     }
 
-  if (opt.verbose)
-    log_info ("p15: TokenInfo:\n");
   /* serialNumber.  */
   err = parse_ber_header (&p, &n, &class, &tag, &constructed,
                           &ndef, &objlen, &hdrlen);
@@ -2459,12 +3410,6 @@ read_ef_tokeninfo (app_t app)
     }
   memcpy (app->app_local->serialno, p, objlen);
   app->app_local->serialnolen = objlen;
-  if (opt.verbose)
-    {
-      /* (We use a separate log_info to avoid the "DBG:" prefix.)  */
-      log_info ("p15:  serialNumber .: ");
-      log_printhex (p, objlen, "");
-    }
   p += objlen;
   n -= objlen;
 
@@ -2477,8 +3422,6 @@ read_ef_tokeninfo (app_t app)
     goto leave;
   if (class == CLASS_UNIVERSAL && tag == TAG_UTF8_STRING)
     {
-      if (opt.verbose)
-        log_info ("p15:  manufacturerID: %.*s\n", (int)objlen, p);
       app->app_local->manufacturer_id = percent_data_escape (0, NULL,
                                                              p, objlen);
       p += objlen;
@@ -2493,11 +3436,7 @@ read_ef_tokeninfo (app_t app)
     }
   if (class == CLASS_CONTEXT && tag == 0)
     {
-      if (opt.verbose)
-        log_info ("p15:  label ........: %.*s\n", (int)objlen, p);
-      if (objlen > 15 && !memcmp (p, "D-TRUST Card V3", 15)
-          && app->app_local->card_type == CARD_TYPE_CARDOS_50)
-        app->app_local->card_product = CARD_PRODUCT_DTRUST;
+      app->app_local->token_label = percent_data_escape (0, NULL, p, objlen);
 
       p += objlen;
       n -= objlen;
@@ -2512,16 +3451,19 @@ read_ef_tokeninfo (app_t app)
   /* The next is the mandatory tokenflags object.  */
   if (class == CLASS_UNIVERSAL && tag == TAG_BIT_STRING)
     {
-      if (opt.verbose)
+      app->app_local->tokenflagslen = objlen;
+      app->app_local->tokenflags = xtrymalloc (objlen);
+      if (!app->app_local->tokenflags)
         {
-          log_info ("p15:  tokenflags ...:");
-          print_tokeninfo_tokenflags (p, objlen);
-          log_printf ("\n");
+          err = gpg_error_from_syserror ();
+          goto leave;
         }
+      memcpy (app->app_local->tokenflags, p, objlen);
       p += objlen;
       n -= objlen;
     }
 
+
  leave:
   xfree (buffer);
   return err;
@@ -2535,23 +3477,27 @@ static gpg_error_t
 read_p15_info (app_t app)
 {
   gpg_error_t err;
+  prkdf_object_t prkdf;
+  unsigned int flag;
 
-  if (!read_ef_tokeninfo (app))
+  err = read_ef_tokeninfo (app);
+  if (err)
+    return err;
+  /* If we don't have a serial number yet but the TokenInfo provides
+   * one, use that. */
+  if (!APP_CARD(app)->serialno && app->app_local->serialno)
     {
-      /* If we don't have a serial number yet but the TokenInfo provides
-         one, use that. */
-      if (!app->serialno && app->app_local->serialno)
-        {
-          app->serialno = app->app_local->serialno;
-          app->serialnolen = app->app_local->serialnolen;
-          app->app_local->serialno = NULL;
-          app->app_local->serialnolen = 0;
-          err = app_munge_serialno (app);
-          if (err)
-            return err;
-        }
+      APP_CARD(app)->serialno = app->app_local->serialno;
+      APP_CARD(app)->serialnolen = app->app_local->serialnolen;
+      app->app_local->serialno = NULL;
+      app->app_local->serialnolen = 0;
+      err = app_munge_serialno (APP_CARD(app));
+      if (err)
+        return err;
     }
 
+  release_lists (app);
+
   /* Read the ODF so that we know the location of all directory
      files. */
   /* Fixme: We might need to get a non-standard ODF FID from TokenInfo. */
@@ -2560,24 +3506,36 @@ read_p15_info (app_t app)
     return err;
 
   /* Read certificate information. */
-  assert (!app->app_local->certificate_info);
-  assert (!app->app_local->trusted_certificate_info);
-  assert (!app->app_local->useful_certificate_info);
-  err = read_ef_cdf (app, app->app_local->odf.certificates,
+  log_assert (!app->app_local->certificate_info);
+  log_assert (!app->app_local->trusted_certificate_info);
+  log_assert (!app->app_local->useful_certificate_info);
+  err = read_ef_cdf (app, app->app_local->odf.certificates, 'c',
                      &app->app_local->certificate_info);
   if (!err || gpg_err_code (err) == GPG_ERR_NO_DATA)
-    err = read_ef_cdf (app, app->app_local->odf.trusted_certificates,
+    err = read_ef_cdf (app, app->app_local->odf.trusted_certificates, 't',
                        &app->app_local->trusted_certificate_info);
   if (!err || gpg_err_code (err) == GPG_ERR_NO_DATA)
-    err = read_ef_cdf (app, app->app_local->odf.useful_certificates,
+    err = read_ef_cdf (app, app->app_local->odf.useful_certificates, 'u',
                        &app->app_local->useful_certificate_info);
   if (gpg_err_code (err) == GPG_ERR_NO_DATA)
     err = 0;
   if (err)
     return err;
 
+  /* Read information about public keys. */
+  log_assert (!app->app_local->public_key_info);
+  err = read_ef_pukdf (app, app->app_local->odf.public_keys,
+                       &app->app_local->public_key_info);
+  if (!err || gpg_err_code (err) == GPG_ERR_NO_DATA)
+    err = read_ef_pukdf (app, app->app_local->odf.trusted_public_keys,
+                         &app->app_local->public_key_info);
+  if (gpg_err_code (err) == GPG_ERR_NO_DATA)
+    err = 0;
+  if (err)
+    return err;
+
   /* Read information about private keys. */
-  assert (!app->app_local->private_key_info);
+  log_assert (!app->app_local->private_key_info);
   err = read_ef_prkdf (app, app->app_local->odf.private_keys,
                        &app->app_local->private_key_info);
   if (gpg_err_code (err) == GPG_ERR_NO_DATA)
@@ -2586,13 +3544,269 @@ read_p15_info (app_t app)
     return err;
 
   /* Read information about authentication objects. */
-  assert (!app->app_local->auth_object_info);
+  log_assert (!app->app_local->auth_object_info);
   err = read_ef_aodf (app, app->app_local->odf.auth_objects,
                       &app->app_local->auth_object_info);
   if (gpg_err_code (err) == GPG_ERR_NO_DATA)
     err = 0;
 
 
+  /* See whether we can extend the private key information using
+   * information from certificates.  We use only the first matching
+   * certificate; if we want to change this strategy we should walk
+   * over the certificates and then find the corresponsing private key
+   * objects.  */
+  app->app_local->any_gpgusage = 0;
+  for (prkdf = app->app_local->private_key_info; prkdf; prkdf = prkdf->next)
+    {
+      cdf_object_t cdf;
+      char *extusage;
+      char *p, *pend;
+      int seen, i;
+
+      if (opt.debug)
+        log_printhex (prkdf->objid, prkdf->objidlen, "p15: prkdf id=");
+      if (cdf_object_from_objid (app, prkdf->objidlen, prkdf->objid, &cdf)
+          && cdf_object_from_label (app, prkdf->label, &cdf))
+        continue; /* No matching certificate.  */
+      if (!cdf->cert)  /* Read and parse the certificate.  */
+        readcert_by_cdf (app, cdf, NULL, NULL);
+      if (!cdf->cert)
+        continue; /* Unsupported or broken certificate.  */
+
+      if (prkdf->is_ecc)
+        {
+          const char *oid;
+          const unsigned char *der;
+          size_t off, derlen, objlen, hdrlen;
+          int class, tag, constructed, ndef;
+
+          for (i=0; !(err = ksba_cert_get_extension
+                      (cdf->cert, i, &oid, NULL, &off, &derlen)); i++)
+            if (!strcmp (oid, "1.3.6.1.4.1.11591.2.2.10") )
+              break;
+          if (!err && (der = ksba_cert_get_image (cdf->cert, NULL)))
+            {
+              der += off;
+              err = parse_ber_header (&der, &derlen, &class, &tag, &constructed,
+                                      &ndef, &objlen, &hdrlen);
+              if (!err && (objlen > derlen || tag != TAG_OCTET_STRING || ndef))
+                err = gpg_error (GPG_ERR_INV_OBJ);
+              if (!err)
+                {
+                  derlen = objlen;
+                  if (opt.debug)
+                    log_printhex (der, derlen, "p15: OpenPGP KDF parms:");
+                  /* Store them if they match the known OpenPGP format. */
+                  if (derlen == 4 && der[0] == 3 && der[1]  == 1)
+                    memcpy (prkdf->ecdh_kdf, der, 4);
+                }
+            }
+          err = 0;
+        }
+
+      if (ksba_cert_get_ext_key_usages (cdf->cert, &extusage))
+        continue; /* No extended key usage attribute.  */
+
+      if (opt.debug)
+        log_debug ("p15: ExtKeyUsages: %s\n", extusage);
+      p = extusage;
+      while (p && (pend=strchr (p, ':')))
+        {
+          *pend++ = 0;
+          if ( *pend == 'C' ) /* Look only at critical usages.  */
+            {
+              prkdf->extusage.valid = 1;
+              seen = 1;
+              if (!strcmp (p, oid_kp_codeSigning)
+                  || !strcmp (p, oid_kp_timeStamping)
+                  || !strcmp (p, oid_kp_ocspSigning)
+                  || !strcmp (p, oid_kp_ms_documentSigning)
+                  || !strcmp (p, oid_kp_ms_old_documentSigning))
+                prkdf->extusage.sign = 1;
+              else if (!strcmp (p, oid_kp_emailProtection))
+                prkdf->extusage.encr = 1;
+              else if (!strcmp (p, oid_kp_serverAuth)
+                       || !strcmp (p, oid_kp_clientAuth)
+                       || !strcmp (p, oid_kp_ms_smartcardLogon))
+                prkdf->extusage.auth = 1;
+              else if (!strcmp (p, oid_kp_anyExtendedKeyUsage))
+                {
+                  prkdf->extusage.sign = 1;
+                  prkdf->extusage.encr = 1;
+                  prkdf->extusage.auth = 1;
+                }
+              else
+                seen = 0;
+            }
+          else
+            seen = 0;
+
+          /* Now check the gpg Usage.  Here we don't care about
+           * critical or non-critical here. */
+          if (seen)
+            ; /* No more need to look for other caps.  */
+          else if (!strcmp (p, oid_kp_gpgUsageCert))
+            {
+              prkdf->gpgusage.cert = 1;
+              prkdf->gpgusage.any = 1;
+              app->app_local->any_gpgusage = 1;
+            }
+          else if (!strcmp (p, oid_kp_gpgUsageSign))
+            {
+              prkdf->gpgusage.sign = 1;
+              prkdf->gpgusage.any = 1;
+              app->app_local->any_gpgusage = 1;
+            }
+          else if (!strcmp (p, oid_kp_gpgUsageEncr))
+            {
+              prkdf->gpgusage.encr = 1;
+              prkdf->gpgusage.any = 1;
+              app->app_local->any_gpgusage = 1;
+            }
+          else if (!strcmp (p, oid_kp_gpgUsageAuth))
+            {
+              prkdf->gpgusage.auth = 1;
+              prkdf->gpgusage.any = 1;
+              app->app_local->any_gpgusage = 1;
+            }
+
+          /* Skip to next item.  */
+          if ((p = strchr (pend, '\n')))
+            p++;
+        }
+      xfree (extusage);
+    }
+
+  /* See whether we can figure out something about the card.  */
+  if (!app->app_local->card_product
+      && app->app_local->manufacturer_id
+      && !strcmp (app->app_local->manufacturer_id, "www.atos.net/cardos")
+      && IS_CARDOS_5 (app))
+    {
+      /* This is a modern CARDOS card. */
+      flag = 0;
+      for (prkdf = app->app_local->private_key_info; prkdf; prkdf = prkdf->next)
+        {
+          if (prkdf->label && !strcmp (prkdf->label, "IdentityKey")
+              && prkdf->key_reference_valid && prkdf->key_reference == 1
+              && !prkdf->authid)
+            flag |= 1;
+          else if (prkdf->label && !strcmp (prkdf->label, "TransportKey")
+                   && prkdf->key_reference_valid && prkdf->key_reference==2
+                   && prkdf->authid)
+            flag |= 2;
+        }
+      if (flag == 3)
+        app->app_local->card_product = CARD_PRODUCT_RSCS;
+
+    }
+  if (!app->app_local->card_product
+      && app->app_local->token_label
+      && !strncmp (app->app_local->token_label, "D-TRUST Card V3", 15)
+      && app->app_local->card_type == CARD_TYPE_CARDOS_50)
+    {
+      app->app_local->card_product = CARD_PRODUCT_DTRUST;
+    }
+
+
+  /* Now print the info about the PrKDF.  */
+  if (opt.verbose)
+    {
+      int i;
+      unsigned char *atr;
+      size_t atrlen;
+      const char *cardstr;
+
+      for (prkdf = app->app_local->private_key_info; prkdf; prkdf = prkdf->next)
+        {
+          log_info ("p15: PrKDF %04hX: id=", app->app_local->odf.private_keys);
+          for (i=0; i < prkdf->objidlen; i++)
+            log_printf ("%02X", prkdf->objid[i]);
+          if (prkdf->label)
+            log_printf (" (%s)", prkdf->label);
+          log_info ("p15:             path=");
+          for (i=0; i < prkdf->pathlen; i++)
+            log_printf ("%s%04hX", i?"/":"",prkdf->path[i]);
+          if (prkdf->have_off)
+            log_printf ("[%lu/%lu]", prkdf->off, prkdf->len);
+          if (prkdf->authid)
+            {
+              log_printf (" authid=");
+              for (i=0; i < prkdf->authidlen; i++)
+                log_printf ("%02X", prkdf->authid[i]);
+            }
+          if (prkdf->key_reference_valid)
+            log_printf (" keyref=0x%02lX", prkdf->key_reference);
+          log_printf (" type=%s", prkdf->is_ecc? "ecc":"rsa");
+          if (prkdf->accessflags.any)
+            dump_keyaccess_flags (prkdf->accessflags);
+          dump_keyusage_flags (prkdf->usageflags);
+          if (prkdf->extusage.valid)
+            log_info ("p15:             extusage=%s%s%s%s%s",
+                      prkdf->extusage.sign? "sign":"",
+                      (prkdf->extusage.sign
+                       && prkdf->extusage.encr)?",":"",
+                      prkdf->extusage.encr? "encr":"",
+                      ((prkdf->extusage.sign || prkdf->extusage.encr)
+                       && prkdf->extusage.auth)?",":"",
+                      prkdf->extusage.auth? "auth":"");
+          if (prkdf->gpgusage.any)
+            dump_gpgusage_flags (prkdf->gpgusage);
+
+          log_printf ("\n");
+        }
+
+      log_info ("p15: TokenInfo:\n");
+      if (app->app_local->serialno)
+        {
+          log_info ("p15:  serialNumber .: ");
+          log_printhex (app->app_local->serialno, app->app_local->serialnolen,
+                        "");
+        }
+      else if (APP_CARD(app)->serialno)
+        {
+          log_info ("p15:  serialNumber .: ");
+          log_printhex (APP_CARD(app)->serialno, APP_CARD(app)->serialnolen,
+                        "");
+        }
+
+      if (app->app_local->manufacturer_id)
+        log_info ("p15:  manufacturerID: %s\n",
+                  app->app_local->manufacturer_id);
+      if (app->app_local->card_product)
+        {
+          cardstr = cardproduct2str (app->app_local->card_product);
+          log_info ("p15:  product ......: %d%s%s%s\n",
+                    app->app_local->card_product,
+                    *cardstr? " (":"", cardstr, *cardstr? ")":"");
+        }
+      if (app->app_local->token_label)
+        log_info ("p15:  label ........: %s\n", app->app_local->token_label);
+      if (app->app_local->tokenflags)
+        {
+          log_info ("p15:  tokenflags ...:");
+          print_tokeninfo_tokenflags (app->app_local->tokenflags,
+                                      app->app_local->tokenflagslen);
+          log_printf ("\n");
+        }
+
+      log_info ("p15:  atr ..........: ");
+      atr = apdu_get_atr (app_get_slot (app), &atrlen);
+      if (!atr)
+        log_printf ("[error]\n");
+      else
+        {
+          log_printhex (atr, atrlen, "");
+          xfree (atr);
+        }
+
+      cardstr = cardtype2str (app->app_local->card_type);
+      log_info ("p15:  cardtype .....: %d%s%s%s\n",
+                app->app_local->card_type,
+                *cardstr? " (":"", cardstr, *cardstr? ")":"");
+    }
+
   return err;
 }
 
@@ -2607,12 +3821,14 @@ send_certinfo (app_t app, ctrl_t ctrl, const char *certtype,
   for (; certinfo; certinfo = certinfo->next)
     {
       char *buf, *p;
+      const char *label;
+      char *labelbuf;
 
       buf = xtrymalloc (9 + certinfo->objidlen*2 + 1);
       if (!buf)
         return gpg_error_from_syserror ();
       p = stpcpy (buf, "P15");
-      if (app->app_local->home_df)
+      if (app->app_local->home_df != DEFAULT_HOME_DF)
         {
           snprintf (p, 6, "-%04X",
                     (unsigned int)(app->app_local->home_df & 0xffff));
@@ -2621,11 +3837,21 @@ send_certinfo (app_t app, ctrl_t ctrl, const char *certtype,
       p = stpcpy (p, ".");
       bin2hex (certinfo->objid, certinfo->objidlen, p);
 
+      label = (certinfo->label && *certinfo->label)? certinfo->label : "-";
+      labelbuf = percent_data_escape (0, NULL, label, strlen (label));
+      if (!labelbuf)
+        {
+          xfree (buf);
+          return gpg_error_from_syserror ();
+        }
+
       send_status_info (ctrl, "CERTINFO",
                         certtype, strlen (certtype),
                         buf, strlen (buf),
+                        labelbuf, strlen (labelbuf),
                         NULL, (size_t)0);
       xfree (buf);
+      xfree (labelbuf);
     }
   return 0;
 }
@@ -2653,33 +3879,22 @@ keygrip_from_prkdf (app_t app, prkdf_object_t prkdf)
   xfree (prkdf->serial_number);
   prkdf->serial_number = NULL;
 
-  /* FIXME: We should check whether a public key directory file and a
-     matching public key for PRKDF is available.  This should make
-     extraction of the key much easier.  My current test card doesn't
-     have one, so we can only use the fallback solution by looking for
-     a matching certificate and extract the key from there. */
-
-  /* Look for a matching certificate. A certificate matches if the Id
-     matches the one of the private key info. */
-  for (cdf = app->app_local->certificate_info; cdf; cdf = cdf->next)
-    if (cdf->objidlen == prkdf->objidlen
-        && !memcmp (cdf->objid, prkdf->objid, prkdf->objidlen))
-      break;
-  if (!cdf)
-    for (cdf = app->app_local->trusted_certificate_info; cdf; cdf = cdf->next)
-      if (cdf->objidlen == prkdf->objidlen
-          && !memcmp (cdf->objid, prkdf->objid, prkdf->objidlen))
-        break;
-  if (!cdf)
-    for (cdf = app->app_local->useful_certificate_info; cdf; cdf = cdf->next)
-      if (cdf->objidlen == prkdf->objidlen
-          && !memcmp (cdf->objid, prkdf->objid, prkdf->objidlen))
-        break;
-  if (!cdf)
-    {
-      err = gpg_error (GPG_ERR_NOT_FOUND);
-      goto leave;
-    }
+  /* We could have also checked whether a public key directory file
+   * and a matching public key for PRKDF is available.  This would
+   * make extraction of the key faster.  However, this way we don't
+   * have a way to look at extended key attributes to check gpgusage.
+   * FIXME: Add public key lookup if no certificate was found. */
+
+  /* Look for a matching certificate. A certificate matches if the id
+   * matches the one of the private key info.  If none was found we
+   * also try to match on the label.  */
+  err = cdf_object_from_objid (app, prkdf->objidlen, prkdf->objid, &cdf);
+  if (gpg_err_code (err) == GPG_ERR_NOT_FOUND)
+    err = cdf_object_from_label (app, prkdf->label, &cdf);
+  if (!err && !cdf)
+    err = gpg_error (GPG_ERR_NOT_FOUND);
+  if (err)
+    goto leave;
 
   err = readcert_by_cdf (app, cdf, &der, &derlen);
   if (err)
@@ -2690,13 +3905,15 @@ keygrip_from_prkdf (app_t app, prkdf_object_t prkdf)
     err = ksba_cert_init_from_mem (cert, der, derlen);
   xfree (der);
   if (!err)
-    err = app_help_get_keygrip_string (cert, prkdf->keygrip, &s_pkey);
-  if (!err)
+    err = app_help_get_keygrip_string (cert, prkdf->keygrip, &s_pkey, NULL);
+  if (!err && !prkdf->gpgusage.any)
     {
       /* Try to get the CN and the SerialNumber from the certificate;
        * we use a very simple approach here which should work in many
        * cases.  Eventually we should add a rfc-2253 parser into
        * libksba to make it easier to parse such a string.
+       * We don't do this if this is marked as gpg key and thus
+       * has only a dummy certificate.
        *
        * First example string:
        *   "CN=Otto Schily,O=Miniluv,C=DE"
@@ -2744,6 +3961,20 @@ keygrip_from_prkdf (app_t app, prkdf_object_t prkdf)
         }
     }
 
+  if (!err && !prkdf->keytime)
+    {
+      ksba_isotime_t isot;
+      time_t t;
+
+      ksba_cert_get_validity (cert, 0, isot);
+      t = isotime2epoch (isot);
+      prkdf->keytime = (t == (time_t)(-1))? 0 : (u32)t;
+      prkdf->have_keytime = 1;
+    }
+
+  if (!err && !prkdf->keyalgostr)
+    prkdf->keyalgostr = pubkey_algo_string (s_pkey, NULL);
+
   ksba_cert_release (cert);
   if (err)
     goto leave;
@@ -2781,7 +4012,7 @@ keyref_from_prkdf (app_t app, prkdf_object_t prkdf)
   if (!buf)
     return NULL;
   p = stpcpy (buf, "P15");
-  if (app->app_local->home_df)
+  if (app->app_local->home_df != DEFAULT_HOME_DF)
     {
       snprintf (p, 6, "-%04X",
                 (unsigned int)(app->app_local->home_df & 0xffff));
@@ -2821,27 +4052,58 @@ send_keypairinfo (app_t app, ctrl_t ctrl, prkdf_object_t prkdf)
       else
         {
           char usage[5];
+          char keytime[20];
+          const char *algostr;
           size_t usagelen = 0;
 
-          if (prkdf->usageflags.sign
-              || prkdf->usageflags.sign_recover
-              || prkdf->usageflags.non_repudiation)
-            usage[usagelen++] = 's';
-          if (prkdf->usageflags.sign
-              || prkdf->usageflags.sign_recover)
-            usage[usagelen++] = 'c';
-          if (prkdf->usageflags.decrypt
-              || prkdf->usageflags.unwrap)
-            usage[usagelen++] = 'e';
-          if (prkdf->usageflags.sign
-              || prkdf->usageflags.sign_recover)
-            usage[usagelen++] = 'a';
+          if (prkdf->gpgusage.any)
+            {
+              if (prkdf->gpgusage.sign)
+                usage[usagelen++] = 's';
+              if (prkdf->gpgusage.cert)
+                usage[usagelen++] = 'c';
+              if (prkdf->gpgusage.encr)
+                usage[usagelen++] = 'e';
+              if (prkdf->gpgusage.auth)
+                usage[usagelen++] = 'a';
+            }
+          else
+            {
+              if ((prkdf->usageflags.sign
+                   || prkdf->usageflags.sign_recover
+                   || prkdf->usageflags.non_repudiation)
+                  && (!prkdf->extusage.valid
+                      || prkdf->extusage.sign))
+                usage[usagelen++] = 's';
+              if ((prkdf->usageflags.sign
+                   || prkdf->usageflags.sign_recover)
+                  && (!prkdf->extusage.valid || prkdf->extusage.sign))
+                usage[usagelen++] = 'c';
+              if ((prkdf->usageflags.decrypt
+                   || prkdf->usageflags.unwrap)
+                  && (!prkdf->extusage.valid || prkdf->extusage.encr))
+                usage[usagelen++] = 'e';
+              if ((prkdf->usageflags.sign
+                   || prkdf->usageflags.sign_recover)
+                  && (!prkdf->extusage.valid || prkdf->extusage.auth))
+                usage[usagelen++] = 'a';
+            }
 
           log_assert (strlen (prkdf->keygrip) == 40);
+          if (prkdf->keytime && prkdf->have_keytime)
+            snprintf (keytime, sizeof keytime, "%lu",
+                      (unsigned long)prkdf->keytime);
+          else
+            strcpy (keytime, "-");
+
+          algostr = prkdf->keyalgostr;
+
           send_status_info (ctrl, "KEYPAIRINFO",
                             prkdf->keygrip, 2*KEYGRIP_LEN,
                             buf, strlen (buf),
                             usage, usagelen,
+                            keytime, strlen (keytime),
+                            algostr, strlen (algostr?algostr:""),
                             NULL, (size_t)0);
         }
       xfree (buf);
@@ -2851,13 +4113,22 @@ send_keypairinfo (app_t app, ctrl_t ctrl, prkdf_object_t prkdf)
 
 
 
-/* This is the handler for the LEARN command.  */
+/* This is the handler for the LEARN command.  Note that if
+ * APP_LEARN_FLAG_REREAD is set and this function returns an error,
+ * the caller must deinitialize this application.  */
 static gpg_error_t
 do_learn_status (app_t app, ctrl_t ctrl, unsigned int flags)
 {
   gpg_error_t err;
 
-  if ((flags & 1))
+  if (flags & APP_LEARN_FLAG_REREAD)
+    {
+      err = read_p15_info (app);
+      if (err)
+        return err;
+    }
+
+  if ((flags & APP_LEARN_FLAG_KEYPAIRINFO))
     err = 0;
   else
     {
@@ -2876,13 +4147,20 @@ do_learn_status (app_t app, ctrl_t ctrl, unsigned int flags)
   if (!err)
     err = send_keypairinfo (app, ctrl, app->app_local->private_key_info);
 
+  if (!err)
+    err = do_getattr (app, ctrl, "CHV-STATUS");
+  if (!err)
+    err = do_getattr (app, ctrl, "CHV-LABEL");
+
+
   return err;
 }
 
 
-/* Read a certifciate using the information in CDF and return the
-   certificate in a newly llocated buffer R_CERT and its length
-   R_CERTLEN. */
+/* Read a certificate using the information in CDF and return the
+ * certificate in a newly malloced buffer R_CERT and its length
+ * R_CERTLEN.  Also parses the certificate.  R_CERT and R_CERTLEN may
+ * be NULL to do just the caching.  */
 static gpg_error_t
 readcert_by_cdf (app_t app, cdf_object_t cdf,
                  unsigned char **r_cert, size_t *r_certlen)
@@ -2896,17 +4174,31 @@ readcert_by_cdf (app_t app, cdf_object_t cdf,
   int rootca;
   int i;
 
-  *r_cert = NULL;
-  *r_certlen = 0;
+  if (r_cert)
+    *r_cert = NULL;
+  if (r_certlen)
+    *r_certlen = 0;
 
   /* First check whether it has been cached. */
-  if (cdf->image)
+  if (cdf->cert)
     {
-      *r_cert = xtrymalloc (cdf->imagelen);
+      const unsigned char *image;
+      size_t imagelen;
+
+      if (!r_cert || !r_certlen)
+        return 0; /* Caller does not actually want the result. */
+
+      image = ksba_cert_get_image (cdf->cert, &imagelen);
+      if (!image)
+        {
+          log_error ("p15: ksba_cert_get_image failed\n");
+          return gpg_error (GPG_ERR_INTERNAL);
+        }
+      *r_cert = xtrymalloc (imagelen);
       if (!*r_cert)
         return gpg_error_from_syserror ();
-      memcpy (*r_cert, cdf->image, cdf->imagelen);
-      *r_certlen = cdf->imagelen;
+      memcpy (*r_cert, image, imagelen);
+      *r_certlen = imagelen;
       return 0;
     }
 
@@ -2918,7 +4210,7 @@ readcert_by_cdf (app_t app, cdf_object_t cdf,
     goto leave;
 
   err = iso7816_read_binary_ext (app_get_slot (app), 1, cdf->off, cdf->len,
-                                 &buffer, &buflen);
+                                 &buffer, &buflen, NULL);
   if (!err && (!buflen || *buffer == 0xff))
     err = gpg_error (GPG_ERR_NOT_FOUND);
   if (err)
@@ -2951,7 +4243,7 @@ readcert_by_cdf (app_t app, cdf_object_t cdf,
       goto leave;
     }
   totobjlen = objlen + hdrlen;
-  assert (totobjlen <= buflen);
+  log_assert (totobjlen <= buflen);
 
   err = parse_ber_header (&p, &n, &class, &tag, &constructed,
                           &ndef, &objlen, &hdrlen);
@@ -2982,22 +4274,39 @@ readcert_by_cdf (app_t app, cdf_object_t cdf,
           goto leave;
         }
       totobjlen = objlen + hdrlen;
-      assert (save_p + totobjlen <= buffer + buflen);
+      log_assert (save_p + totobjlen <= buffer + buflen);
       memmove (buffer, save_p, totobjlen);
     }
 
-  *r_cert = buffer;
-  buffer = NULL;
-  *r_certlen = totobjlen;
 
-  /* Try to cache it. */
-  if (!cdf->image && (cdf->image = xtrymalloc (*r_certlen)))
+  /* Try to parse and cache the certificate. */
+  err = ksba_cert_new (&cdf->cert);
+  if (!err)
+    {
+      err = ksba_cert_init_from_mem (cdf->cert, buffer, totobjlen);
+      if (!err) /* Call us to use the just cached cert object.  */
+        err = readcert_by_cdf (app, cdf, r_cert, r_certlen);
+      if (err)
+        {
+          ksba_cert_release (cdf->cert);
+          cdf->cert = NULL;
+        }
+
+    }
+  if (err)
     {
-      memcpy (cdf->image, *r_cert, *r_certlen);
-      cdf->imagelen = *r_certlen;
+      log_error ("p15: caching certificate failed: %s\n",
+                 gpg_strerror (err));
+      /* We return the certificate anyway so that the caller has a
+       * chance to get an even unsupported or broken certificate.  */
+      if (r_cert && r_certlen)
+        {
+          *r_cert = buffer;
+          buffer = NULL;
+          *r_certlen = totobjlen;
+        }
     }
 
-
  leave:
   xfree (buffer);
   return err;
@@ -3027,6 +4336,119 @@ do_readcert (app_t app, const char *certid,
 }
 
 
+/* Sort helper for an array of authentication objects.  */
+static int
+compare_aodf_objid (const void *arg_a, const void *arg_b)
+{
+  const aodf_object_t a = *(const aodf_object_t *)arg_a;
+  const aodf_object_t b = *(const aodf_object_t *)arg_b;
+  int rc;
+
+  rc = memcmp (a->objid, b->objid,
+               a->objidlen < b->objidlen? a->objidlen : b->objidlen);
+  if (!rc)
+    {
+      if (a->objidlen < b->objidlen)
+        rc = -1;
+      else if (a->objidlen > b->objidlen)
+        rc = 1;
+    }
+  return rc;
+}
+
+
+static void
+send_key_fpr_line (ctrl_t ctrl, int number, const unsigned char *fpr)
+{
+  char buf[41];
+  char numbuf[25];
+
+  bin2hex (fpr, 20, buf);
+  if (number == -1)
+    *numbuf = 0; /* Don't print the key number */
+  else
+    snprintf (numbuf, sizeof numbuf, "%d", number);
+  send_status_info (ctrl, "KEY-FPR",
+                    numbuf, (size_t)strlen(numbuf),
+                    buf, (size_t)strlen (buf),
+                    NULL, 0);
+}
+
+
+/* If possible Emit a FPR-KEY status line for the private key object
+ * PRKDF using NUMBER as index.  */
+static void
+send_key_fpr (app_t app, ctrl_t ctrl, prkdf_object_t prkdf, int number)
+{
+  gpg_error_t err;
+  cdf_object_t cdf;
+  unsigned char *pk, *fixed_pk;
+  size_t pklen, fixed_pklen;
+  const unsigned char *m, *e, *q;
+  size_t mlen, elen, qlen;
+  unsigned char fpr20[20];
+
+  if (cdf_object_from_objid (app, prkdf->objidlen, prkdf->objid, &cdf)
+      && cdf_object_from_label (app, prkdf->label, &cdf))
+    return;
+  if (!cdf->cert)
+    readcert_by_cdf (app, cdf, NULL, NULL);
+  if (!cdf->cert)
+    return;
+  if (!prkdf->have_keytime)
+    return;
+  pk = ksba_cert_get_public_key (cdf->cert);
+  if (!pk)
+    return;
+  pklen = gcry_sexp_canon_len (pk, 0, NULL, &err);
+
+  if (uncompress_ecc_q_in_canon_sexp (pk, pklen, &fixed_pk, &fixed_pklen))
+    {
+      xfree (pk);
+      return;
+    }
+  if (fixed_pk)
+    {
+      xfree (pk); pk = NULL;
+      pk = fixed_pk;
+      pklen = fixed_pklen;
+    }
+
+  switch (prkdf->keyalgo)
+    {
+    case GCRY_PK_RSA:
+      if (!get_rsa_pk_from_canon_sexp (pk, pklen,
+                                       &m, &mlen, &e, &elen)
+          && !compute_openpgp_fpr_rsa (4,
+                                       prkdf->keytime,
+                                       m, mlen, e, elen,
+                                       fpr20, NULL))
+        send_key_fpr_line (ctrl, number, fpr20);
+      break;
+
+    case GCRY_PK_ECC:
+    case GCRY_PK_ECDSA:
+    case GCRY_PK_ECDH:
+    case GCRY_PK_EDDSA:
+      /* Note that NUMBER 2 indicates the encryption key.  */
+      if (!get_ecc_q_from_canon_sexp (pk, pklen, &q, &qlen)
+          && !compute_openpgp_fpr_ecc (4,
+                                       prkdf->keytime,
+                                       prkdf->keyalgostr,
+                                       number == 2,
+                                       q, qlen,
+                                       prkdf->ecdh_kdf, 4,
+                                       fpr20, NULL))
+        send_key_fpr_line (ctrl, number, fpr20);
+      break;
+
+    default: /* No Fingerprint for an unknown algo.  */
+      break;
+
+    }
+  xfree (pk);
+}
+
 
 /* Implement the GETATTR command.  This is similar to the LEARN
    command but returns just one value via the status interface. */
@@ -3043,22 +4465,34 @@ do_getattr (app_t app, ctrl_t ctrl, const char *name)
       char *buf;
 
       /* We return the ID of the first private key capable of the
-       * requested action.  Note that we do not yet return
+       * requested action.  If any gpgusage flag has been set for the
+       * card we consult the gpgusage flags and not the regualr usage
+       * flags.
+       */
+      /* FIXME: This changed: Note that we do not yet return
        * non_repudiation keys for $SIGNKEYID because our D-Trust
        * testcard uses rsaPSS, which is not supported by gpgsm and not
        * covered by the VS-NfD approval.  */
       for (prkdf = app->app_local->private_key_info; prkdf;
            prkdf = prkdf->next)
         {
-          if (name[1] == 'A' && (prkdf->usageflags.sign
-                                 || prkdf->usageflags.sign_recover))
-            break;
-          else if (name[1] == 'E' && (prkdf->usageflags.decrypt
-                                      || prkdf->usageflags.unwrap))
-            break;
-          else if (name[1] == 'S' && (prkdf->usageflags.sign
+          if (app->app_local->any_gpgusage)
+            {
+              if ((name[1] == 'A' && prkdf->gpgusage.auth)
+                  || (name[1] == 'E' && prkdf->gpgusage.encr)
+                  || (name[1] == 'S' && prkdf->gpgusage.sign))
+                break;
+            }
+          else
+            {
+              if ((name[1] == 'A' && (prkdf->usageflags.sign
                                       || prkdf->usageflags.sign_recover))
-            break;
+                  || (name[1] == 'E' && (prkdf->usageflags.decrypt
+                                         || prkdf->usageflags.unwrap))
+                  || (name[1] == 'S' && (prkdf->usageflags.sign
+                                         || prkdf->usageflags.sign_recover)))
+                break;
+            }
         }
       if (prkdf)
         {
@@ -3086,7 +4520,8 @@ do_getattr (app_t app, ctrl_t ctrl, const char *name)
 
           err = select_ef_by_path (app, path, DIM(path) );
           if (!err)
-            err = iso7816_read_binary (app->slot, 0, 0, &buffer, &buflen);
+            err = iso7816_read_binary (app_get_slot (app), 0, 0,
+                                       &buffer, &buflen);
           if (err)
             {
               log_error ("p15: error accessing EF(ID): %s\n",
@@ -3112,6 +4547,8 @@ do_getattr (app_t app, ctrl_t ctrl, const char *name)
         }
       else
         {
+          char *sn;
+
           /* We use the first private key object which has a serial
            * number set.  If none was found, we parse the first
            * object and see whether this has then a serial number.  */
@@ -3126,11 +4563,12 @@ do_getattr (app_t app, ctrl_t ctrl, const char *name)
               if (!prkdf->serial_number)
                 prkdf = NULL;
             }
-          if (prkdf)
+          sn = get_dispserialno (app, prkdf);
+          /* Unless there is a bogus S/N in the cert, or the product
+           * has a different strategy for the display-s/n, we should
+           * have a suitable one from the cert now.  */
+          if (sn)
             {
-              char *sn = get_dispserialno (app, prkdf);
-              /* Unless there is a bogus S/N in the cert we should
-               * have a suitable one from the cert here now.  */
               err = send_status_printf (ctrl, name, "%s", sn);
               xfree (sn);
               return err;
@@ -3140,12 +4578,134 @@ do_getattr (app_t app, ctrl_t ctrl, const char *name)
     }
   else if (!strcmp (name, "MANUFACTURER"))
     {
-      if (app->app_local->manufacturer_id)
+      if (app->app_local->manufacturer_id
+          && !strchr (app->app_local->manufacturer_id, '[')
+          && app->app_local->card_product)
+        return send_status_printf (ctrl, "MANUFACTURER", "0 %s [%s]",
+                              app->app_local->manufacturer_id,
+                              cardproduct2str (app->app_local->card_product));
+      else if (app->app_local->manufacturer_id)
         return send_status_printf (ctrl, "MANUFACTURER", "0 %s",
                                    app->app_local->manufacturer_id);
       else
         return 0;
     }
+  else if (!strcmp (name, "CHV-STATUS") || !strcmp (name, "CHV-LABEL"))
+    {
+      int is_label = (name[4] == 'L');
+      aodf_object_t aodf;
+      aodf_object_t aodfarray[16];
+      int naodf = 0;
+      membuf_t mb;
+      char *p;
+      int i;
+
+      /* Put the AODFs into an array for easier sorting.  Note that we
+       * handle onl the first 16 encountrer which should be more than
+       * enough.  */
+      for (aodf = app->app_local->auth_object_info;
+           aodf && naodf < DIM(aodfarray); aodf = aodf->next)
+        if (aodf->objidlen && aodf->pin_reference_valid)
+          aodfarray[naodf++] = aodf;
+      qsort (aodfarray, naodf, sizeof *aodfarray, compare_aodf_objid);
+
+      init_membuf (&mb, 256);
+      for (i = 0; i < naodf; i++)
+        {
+          /* int j; */
+          /* log_debug ("p15: AODF[%d] pinref=%lu id=", */
+          /*            i, aodfarray[i]->pin_reference); */
+          /* for (j=0; j < aodfarray[i]->objidlen; j++) */
+          /*   log_printf ("%02X", aodfarray[i]->objid[j]); */
+          /* Note that there is no need to percent escape the label
+           * because all white space have been replaced by '_'.  */
+          if (is_label)
+            put_membuf_printf (&mb, "%s%s", i? " ":"",
+                               (aodfarray[i]->label
+                                && *aodfarray[i]->label)?
+                               aodfarray[i]->label:"X");
+          else
+            put_membuf_printf
+              (&mb, "%s%d", i? " ":"",
+               iso7816_verify_status (app_get_slot (app),
+                                      aodfarray[i]->pin_reference));
+        }
+      put_membuf( &mb, "", 1);
+      p = get_membuf (&mb, NULL);
+      if (!p)
+        return gpg_error_from_syserror ();
+      err = send_status_direct (ctrl, is_label? "CHV-LABEL":"CHV-STATUS", p);
+      xfree (p);
+      return err;
+    }
+  else if (!strcmp (name, "KEY-LABEL"))
+    {
+      /* Send KEY-LABEL lines for all private key objects.  */
+      const char *label;
+      char *idbuf, *labelbuf;
+
+      for (prkdf = app->app_local->private_key_info; prkdf;
+           prkdf = prkdf->next)
+        {
+          idbuf = keyref_from_prkdf (app, prkdf);
+          if (!idbuf)
+            return gpg_error_from_syserror ();
+
+          label = (prkdf->label && *prkdf->label)? prkdf->label : "-";
+          labelbuf = percent_data_escape (0, NULL, label, strlen (label));
+          if (!labelbuf)
+            {
+              xfree (idbuf);
+              return gpg_error_from_syserror ();
+            }
+
+          send_status_info (ctrl, name,
+                            idbuf, strlen (idbuf),
+                            labelbuf, strlen(labelbuf),
+                            NULL, 0);
+          xfree (idbuf);
+          xfree (labelbuf);
+        }
+      return 0;
+    }
+  else if (!strcmp (name, "KEY-FPR"))
+    {
+      /* Send KEY-FPR for the two openpgp keys. */
+      for (prkdf = app->app_local->private_key_info; prkdf;
+           prkdf = prkdf->next)
+        {
+          if (app->app_local->any_gpgusage)
+            {
+              if (prkdf->gpgusage.sign)
+                break;
+            }
+          else
+            {
+              if (prkdf->usageflags.sign || prkdf->usageflags.sign_recover)
+                break;
+            }
+        }
+      if (prkdf)
+        send_key_fpr (app, ctrl, prkdf, 1);
+      for (prkdf = app->app_local->private_key_info; prkdf;
+           prkdf = prkdf->next)
+        {
+          if (app->app_local->any_gpgusage)
+            {
+              if (prkdf->gpgusage.encr)
+                break;
+            }
+          else
+            {
+              if (prkdf->usageflags.decrypt || prkdf->usageflags.unwrap)
+                break;
+            }
+        }
+      if (prkdf)
+        send_key_fpr (app, ctrl, prkdf, 2);
+      return 0;
+    }
+
   return gpg_error (GPG_ERR_INV_NAME);
 }
 
@@ -3166,7 +4726,7 @@ micardo_mse (app_t app, unsigned short fid)
   unsigned char msebuf[10];
 
   /* Read the KeyD file containing extra information on keys. */
-  err = iso7816_select_file (app->slot, 0x0013, 0);
+  err = iso7816_select_file (app_get_slot (app), 0x0013, 0);
   if (err)
     {
       log_error ("p15: error reading EF_keyD: %s\n", gpg_strerror (err));
@@ -3180,7 +4740,8 @@ micardo_mse (app_t app, unsigned short fid)
       size_t n, nn;
       const unsigned char *p, *pp;
 
-      err = iso7816_read_record (app->slot, recno, 1, 0, &buffer, &buflen);
+      err = iso7816_read_record (app_get_slot (app), recno, 1, 0,
+                                 &buffer, &buflen);
       if (gpg_err_code (err) == GPG_ERR_NOT_FOUND)
         break; /* ready */
       if (err)
@@ -3223,7 +4784,8 @@ micardo_mse (app_t app, unsigned short fid)
   /* Restore the security environment to SE_NUM if needed */
   if (se_num)
     {
-      err = iso7816_manage_security_env (app->slot, 0xf3, se_num, NULL, 0);
+      err = iso7816_manage_security_env (app_get_slot (app),
+                                         0xf3, se_num, NULL, 0);
       if (err)
         {
           log_error ("p15: restoring SE to %d failed: %s\n",
@@ -3238,7 +4800,7 @@ micardo_mse (app_t app, unsigned short fid)
   msebuf[2] = 0x80;
   msebuf[3] = (refdata >> 8);
   msebuf[4] = refdata;
-  err = iso7816_manage_security_env (app->slot, 0x41, 0xb6, msebuf, 5);
+  err = iso7816_manage_security_env (app_get_slot (app), 0x41, 0xb6, msebuf, 5);
   if (err)
     {
       log_error ("p15: setting SE to reference file %04hX failed: %s\n",
@@ -3252,7 +4814,7 @@ micardo_mse (app_t app, unsigned short fid)
 
 /* Prepare the verification of the PIN for the key PRKDF by checking
  * the AODF and selecting the key file.  KEYREF is used for error
- * messages.  */
+ * messages.  AODF may be NULL if no verification needs to be done. */
 static gpg_error_t
 prepare_verify_pin (app_t app, const char *keyref,
                     prkdf_object_t prkdf, aodf_object_t aodf)
@@ -3260,29 +4822,32 @@ prepare_verify_pin (app_t app, const char *keyref,
   gpg_error_t err;
   int i;
 
-  if (opt.verbose)
+  if (aodf)
     {
-      log_info ("p15: using AODF %04hX id=", aodf->fid);
-      for (i=0; i < aodf->objidlen; i++)
-        log_printf ("%02X", aodf->objid[i]);
-      log_printf ("\n");
-    }
+      if (opt.verbose)
+        {
+          log_info ("p15: using AODF %04hX id=", aodf->fid);
+          for (i=0; i < aodf->objidlen; i++)
+            log_printf ("%02X", aodf->objid[i]);
+          log_printf ("\n");
+        }
 
-  if (aodf->authid && opt.verbose)
-    log_info ("p15: PIN is controlled by another authentication token\n");
+      if (aodf->authid && opt.verbose)
+        log_info ("p15: PIN is controlled by another authentication token\n");
 
-  if (aodf->pinflags.integrity_protected
-      || aodf->pinflags.confidentiality_protected)
-    {
-      log_error ("p15: "
-                 "PIN verification requires unsupported protection method\n");
-      return gpg_error (GPG_ERR_BAD_PIN_METHOD);
-    }
-  if (!aodf->stored_length && aodf->pinflags.needs_padding)
-    {
-      log_error ("p15: "
-                 "PIN verification requires padding but no length known\n");
-      return gpg_error (GPG_ERR_INV_CARD);
+      if (aodf->pinflags.integrity_protected
+          || aodf->pinflags.confidentiality_protected)
+        {
+          log_error ("p15: PIN verification requires"
+                     " unsupported protection method\n");
+          return gpg_error (GPG_ERR_BAD_PIN_METHOD);
+        }
+      if (!aodf->stored_length && aodf->pinflags.needs_padding)
+        {
+          log_error ("p15: PIN verification requires"
+                     " padding but no length known\n");
+          return gpg_error (GPG_ERR_INV_CARD);
+        }
     }
 
 
@@ -3302,7 +4867,7 @@ prepare_verify_pin (app_t app, const char *keyref,
         log_error ("p15: error selecting D-TRUST's AID for key %s: %s\n",
                    keyref, gpg_strerror (err));
     }
-  else
+  else if (prkdf)
     {
       /* Standard case: Select the key file.  Note that this may
        * change the security environment thus we need to do it before
@@ -3312,6 +4877,11 @@ prepare_verify_pin (app_t app, const char *keyref,
         log_error ("p15: error selecting file for key %s: %s\n",
                    keyref, gpg_strerror (err));
     }
+  else
+    {
+      log_info ("p15: skipping EF selection for auth object '%s'\n", keyref);
+      err = 0;
+    }
 
   return err;
 }
@@ -3335,11 +4905,19 @@ static char *
 get_dispserialno (app_t app, prkdf_object_t prkdf)
 {
   char *serial;
+  size_t n;
 
   /* We prefer the SerialNumber RDN from the Subject-DN but we don't
    * use it if it features a percent sign (special character in pin
    * prompts) or has any control character.  */
-  if (prkdf && prkdf->serial_number && *prkdf->serial_number
+  if (app->app_local->card_product == CARD_PRODUCT_RSCS)
+    {
+      /* We use only the right 8 hex digits.  */
+      serial = app_get_serialno (app);
+      if (serial && (n=strlen (serial)) > 8)
+        memmove (serial, serial + n - 8, 9);
+    }
+  else if (prkdf && prkdf->serial_number && *prkdf->serial_number
       && !strchr (prkdf->serial_number, '%')
       && !any_control_or_space (prkdf->serial_number))
     {
@@ -3353,16 +4931,24 @@ get_dispserialno (app_t app, prkdf_object_t prkdf)
 }
 
 
-/* Return an allocated string to be used as prompt.  Returns NULL on
- * malloc error.  */
+/* Return an allocated string to be used as prompt.  PRKDF may be
+ * NULL.  Returns NULL on malloc error.  */
 static char *
 make_pin_prompt (app_t app, int remaining, const char *firstline,
                  prkdf_object_t prkdf)
 {
   char *serial, *tmpbuf, *result;
+  const char *holder;
 
   serial = get_dispserialno (app, prkdf);
 
+  if (prkdf && prkdf->common_name)
+    holder = prkdf->common_name;
+  else if (app->app_local->token_label)
+    holder = app->app_local->token_label;
+  else
+    holder = "";
+
   /* TRANSLATORS: Put a \x1f right before a colon.  This can be
    * used by pinentry to nicely align the names and values.  Keep
    * the %s at the start and end of the string.  */
@@ -3372,7 +4958,7 @@ make_pin_prompt (app_t app, int remaining, const char *firstline,
                            "%s"),
                          "\x1e",
                          serial,
-                         prkdf->common_name? prkdf->common_name: "",
+                         holder,
                          "");
   xfree (serial);
   if (!result)
@@ -3409,7 +4995,8 @@ make_pin_prompt (app_t app, int remaining, const char *firstline,
 
 
 /* Given the private key object PRKDF and its authentication object
- * AODF ask for the PIN and verify that PIN.  */
+ * AODF ask for the PIN and verify that PIN.  If AODF is NULL, no
+ * authentication is done.  */
 static gpg_error_t
 verify_pin (app_t app,
             gpg_error_t (*pincb)(void*, const char *, char **), void *pincb_arg,
@@ -3423,6 +5010,7 @@ verify_pin (app_t app,
   const char *s;
   int remaining;
   int pin_reference;
+  int verified = 0;
   int i;
 
   if (!aodf)
@@ -3430,34 +5018,45 @@ verify_pin (app_t app,
 
   pin_reference = aodf->pin_reference_valid? aodf->pin_reference : 0;
 
-  if (app->app_local->card_type == CARD_TYPE_CARDOS_50)
+  if (IS_CARDOS_5 (app))
     {
       /* We know that this card supports a verify status check.  Note
        * that in contrast to PIV cards ISO7816_VERIFY_NOT_NEEDED is
-       * not supported.  */
+       * not supported.  Noet that we don't use the pin_verified cache
+       * status because that is not as reliable than to ask the card
+       * about its state.  */
+      if (prkdf)  /* Clear the cache which we don't use.  */
+        prkdf->pin_verified = 0;
+
       remaining = iso7816_verify_status (app_get_slot (app), pin_reference);
-      if (remaining < 0)
-        remaining = -1; /* We don't care about the concrete error.  */
-      if (remaining < 3)
+      if (remaining == ISO7816_VERIFY_NOT_NEEDED)
         {
-          if (remaining >= 0)
-            log_info ("p15: PIN has %d attempts left\n", remaining);
-          /* On error or if less than 3 better ask. */
-          prkdf->pin_verified = 0;
+          verified = 1;
+          remaining = -1;
         }
+      else if (remaining < 0)
+        remaining = -1; /* We don't care about the concrete error.  */
+      else if (remaining < 3)
+        log_info ("p15: PIN has %d attempts left\n", remaining);
     }
   else
     remaining = -1;  /* Unknown.  */
 
   /* Check whether we already verified it.  */
-  if (prkdf->pin_verified)
+  if (prkdf && (prkdf->pin_verified || verified))
     return 0;  /* Already done.  */
 
-  if (prkdf->usageflags.non_repudiation
+  if (prkdf
+      && prkdf->usageflags.non_repudiation
       && (app->app_local->card_type == CARD_TYPE_BELPIC
           || app->app_local->card_product == CARD_PRODUCT_DTRUST))
     label = _("||Please enter the PIN for the key to create "
               "qualified signatures.");
+  else if (aodf->pinflags.so_pin)
+    label = _("|A|Please enter the Admin PIN");
+  else if (aodf->pinflags.unblocking_pin)
+    label = _("|P|Please enter the PIN Unblocking Code (PUK) "
+              "for the standard keys.");
   else
     label = _("||Please enter the PIN for the standard keys.");
 
@@ -3608,7 +5207,8 @@ verify_pin (app_t app,
     }
   if (opt.verbose)
     log_info ("p15: PIN verification succeeded\n");
-  prkdf->pin_verified = 1;
+  if (prkdf)
+    prkdf->pin_verified = 1;
 
   return 0;
 }
@@ -3623,48 +5223,37 @@ verify_pin (app_t app,
    that callback should return the PIN in an allocated buffer and
    store that as the 3rd argument.  */
 static gpg_error_t
-do_sign (app_t app, const char *keyidstr, int hashalgo,
+do_sign (app_t app, ctrl_t ctrl, const char *keyidstr, int hashalgo,
          gpg_error_t (*pincb)(void*, const char *, char **),
          void *pincb_arg,
          const void *indata, size_t indatalen,
          unsigned char **outdata, size_t *outdatalen )
 {
-  static unsigned char sha256_prefix[19] = /* OID: 2.16.840.1.101.3.4.2.1 */
-    { 0x30, 0x31, 0x30, 0x0d, 0x06, 0x09, 0x60, 0x86, 0x48,
-      0x01, 0x65, 0x03, 0x04, 0x02, 0x01, 0x05, 0x00, 0x04, 0x20 };
-  static unsigned char sha1_prefix[15] = /* Object ID is 1.3.14.3.2.26 */
-    { 0x30, 0x21, 0x30, 0x09, 0x06, 0x05, 0x2b, 0x0e, 0x03,
-      0x02, 0x1a, 0x05, 0x00, 0x04, 0x14 };
-  static unsigned char rmd160_prefix[15] = /* Object ID is 1.3.36.3.2.1 */
-    { 0x30, 0x21, 0x30, 0x09, 0x06, 0x05, 0x2b, 0x24, 0x03,
-      0x02, 0x01, 0x05, 0x00, 0x04, 0x14 };
-
   gpg_error_t err;
-  unsigned char data[32+19]; /* Must be large enough for a SHA-256 digest
-                              * + the largest OID prefix above and also
-                              * fit the 36 bytes of md5sha1.  */
   prkdf_object_t prkdf;    /* The private key object. */
   aodf_object_t aodf;      /* The associated authentication object. */
-  int no_data_padding = 0; /* True if the card want the data without padding.*/
   int mse_done = 0;        /* Set to true if the MSE has been done. */
-  unsigned int hashlen;    /* Length of the hash.  */
-  unsigned int datalen;    /* Length of the data to sign (prefix+hash).  */
-  unsigned char *dataptr;
+  unsigned int digestlen;  /* Length of the hash.  */
   int exmode, le_value;
+  unsigned char oidbuf[64];
+  size_t oidbuflen;
+  size_t n;
+  unsigned char *indata_buffer = NULL; /* Malloced helper.  */
 
+  (void)ctrl;
 
-  if (!keyidstr || !*keyidstr)
-    return gpg_error (GPG_ERR_INV_VALUE);
-  if (indatalen != 20 && indatalen != 16
-      && indatalen != 35 && indatalen != 36
-      && indatalen != (32+19))
+  if (!keyidstr || !*keyidstr || !indatalen)
     return gpg_error (GPG_ERR_INV_VALUE);
 
   err = prkdf_object_from_keyidstr (app, keyidstr, &prkdf);
   if (err)
     return err;
-  if (!(prkdf->usageflags.sign || prkdf->usageflags.sign_recover
-        ||prkdf->usageflags.non_repudiation))
+  if (!(prkdf->usageflags.sign
+        || prkdf->usageflags.sign_recover
+        || prkdf->usageflags.non_repudiation
+        || prkdf->gpgusage.cert
+        || prkdf->gpgusage.sign
+        || prkdf->gpgusage.auth ))
     {
       log_error ("p15: key %s may not be used for signing\n", keyidstr);
       return gpg_error (GPG_ERR_WRONG_KEY_USAGE);
@@ -3684,10 +5273,7 @@ do_sign (app_t app, const char *keyidstr, int hashalgo,
         && !memcmp (aodf->objid, prkdf->authid, prkdf->authidlen))
       break;
   if (!aodf)
-    {
-      log_error ("p15: authentication object for %s missing\n", keyidstr);
-      return gpg_error (GPG_ERR_INV_CARD);
-    }
+    log_info ("p15: no authentication for %s needed\n", keyidstr);
 
   /* We need some more info about the key - get the keygrip to
    * populate these fields.  */
@@ -3698,6 +5284,150 @@ do_sign (app_t app, const char *keyidstr, int hashalgo,
       return err;
     }
 
+
+  digestlen = gcry_md_get_algo_dlen (hashalgo);
+
+  /* We handle ECC separately from RSA so that we do not need to touch
+   * working code.  In particular we prepare the input data before the
+   * verify and a possible MSE.  */
+  if (prkdf->is_ecc)
+    {
+      if (digestlen != 32 && digestlen != 48 && digestlen != 64)
+        {
+          log_error ("p15: ECC signing not possible: dlen=%u\n", digestlen);
+          err = gpg_error (GPG_ERR_DIGEST_ALGO);
+          goto leave;
+        }
+
+      if (indatalen == digestlen)
+        ; /* Already prepared.  */
+      else if (indatalen > digestlen)
+        {
+          /* Assume a PKCS#1 prefix and remove it.  */
+          oidbuflen = sizeof oidbuf;
+          err = gcry_md_get_asnoid (hashalgo, &oidbuf, &oidbuflen);
+          if (err)
+            {
+              log_error ("p15: no OID for hash algo %d\n", hashalgo);
+              err = gpg_error (GPG_ERR_INTERNAL);
+              goto leave;
+            }
+          if (indatalen != oidbuflen + digestlen
+              || memcmp (indata, oidbuf, oidbuflen))
+            {
+              log_error ("p15: input data too long for ECC: len=%zu\n",
+                         indatalen);
+              err = gpg_error (GPG_ERR_INV_VALUE);
+              goto leave;
+            }
+          indata = (const char*)indata + oidbuflen;
+          indatalen -= oidbuflen;
+        }
+      else
+        {
+          log_error ("p15: input data too short for ECC: len=%zu\n",
+                     indatalen);
+          err = gpg_error (GPG_ERR_INV_VALUE);
+          goto leave;
+        }
+    }
+  else /* Prepare RSA input.  */
+    {
+      unsigned int framelen;
+      unsigned char *frame;
+      int i;
+
+      framelen = (prkdf->keynbits+7) / 8;
+      if (!framelen)
+        {
+          log_error ("p15: key length unknown"
+                     " - can't prepare PKCS#v1.5 frame\n");
+          err = gpg_error (GPG_ERR_INV_VALUE);
+          goto leave;
+        }
+
+      oidbuflen = sizeof oidbuf;
+      if (!hashalgo)
+        {
+          /* We assume that indata already has the required
+           * digestinfo; thus merely prepend the padding below.  */
+        }
+      else if ((err = gcry_md_get_asnoid (hashalgo, &oidbuf, &oidbuflen)))
+        {
+          log_debug ("p15: no OID for hash algo %d\n", hashalgo);
+          goto leave;
+        }
+      else
+        {
+          if (indatalen == digestlen)
+            {
+              /* Plain hash in INDATA; prepend the digestinfo.  */
+              indata_buffer = xtrymalloc (oidbuflen + indatalen);
+              if (!indata_buffer)
+                {
+                  err = gpg_error_from_syserror ();
+                  goto leave;
+                }
+              memcpy (indata_buffer, oidbuf, oidbuflen);
+              memcpy (indata_buffer+oidbuflen, indata, indatalen);
+              indata = indata_buffer;
+              indatalen = oidbuflen + indatalen;
+            }
+          else if (indatalen == oidbuflen + digestlen
+                   && !memcmp (indata, oidbuf, oidbuflen))
+            ; /* We already got the correct prefix.  */
+          else
+            {
+              err = gpg_error (GPG_ERR_INV_VALUE);
+              log_error ("p15: bad input for signing with RSA and hash %d\n",
+                         hashalgo);
+              goto leave;
+            }
+        }
+      /* Now prepend the pkcs#v1.5 padding.  We require at least 8
+       * byte of padding and 3 extra bytes for the prefix and the
+       * delimiting nul.  */
+      if (!indatalen || indatalen + 8 + 4 > framelen)
+        {
+          err = gpg_error (GPG_ERR_INV_VALUE);
+          log_error ("p15: input does not fit into a %u bit PKCS#v1.5 frame\n",
+                     8*framelen);
+          goto leave;
+        }
+      frame = xtrymalloc (framelen);
+      if (!frame)
+        {
+          err = gpg_error_from_syserror ();
+          goto leave;
+        }
+      if (app->app_local->card_type == CARD_TYPE_BELPIC)
+        {
+          /* This card wants only the plain hash w/o any prefix.  */
+          /* FIXME: We may want to remove this code because it is unlikely
+           * that such cards are still in use.  */
+          memcpy (frame, indata, indatalen);
+          framelen = indatalen;
+        }
+      else
+        {
+          n = 0;
+          frame[n++] = 0;
+          frame[n++] = 1; /* Block type. */
+          i = framelen - indatalen - 3 ;
+          memset (frame+n, 0xff, i);
+          n += i;
+          frame[n++] = 0; /* Delimiter.  */
+          memcpy (frame+n, indata, indatalen);
+          n += indatalen;
+          log_assert (n == framelen);
+        }
+      /* And now put it into the indata_buffer.  */
+      xfree (indata_buffer);
+      indata_buffer = frame;
+      indata = indata_buffer;
+      indatalen = framelen;
+    }
+
   /* Prepare PIN verification.  This is split so that we can do
    * MSE operation for some task after having selected the key file but
    * before sending the verify APDU.  */
@@ -3709,7 +5439,8 @@ do_sign (app_t app, const char *keyidstr, int hashalgo,
      card requires a verify immediately before the DSO we set the
      MSE before we do the verification.  Other cards might also allow
      this but I don't want to break anything, thus we do it only
-     for the BELPIC card here. */
+     for the BELPIC card here.
+     FIXME: see comment above about these cards.   */
   if (app->app_local->card_type == CARD_TYPE_BELPIC)
     {
       unsigned char mse[5];
@@ -3723,16 +5454,15 @@ do_sign (app_t app, const char *keyidstr, int hashalgo,
       mse[3] = 0x84; /* Private key reference tag. */
       mse[4] = prkdf->key_reference_valid? prkdf->key_reference : 0x82;
 
-      err = iso7816_manage_security_env (app->slot,
+      err = iso7816_manage_security_env (app_get_slot (app),
                                          0x41, 0xB6,
                                          mse, sizeof mse);
-      no_data_padding = 1;
       mse_done = 1;
     }
   if (err)
     {
       log_error ("p15: MSE failed: %s\n", gpg_strerror (err));
-      return err;
+      goto leave;
     }
 
   /* Now that we have all the information available run the actual PIN
@@ -3741,72 +5471,6 @@ do_sign (app_t app, const char *keyidstr, int hashalgo,
   if (err)
     return err;
 
-
-  /* Prepare the DER object from INDATA. */
-  if (indatalen == 36)
-    {
-      /* No ASN.1 container used. */
-      if (hashalgo != MD_USER_TLS_MD5SHA1)
-        return gpg_error (GPG_ERR_UNSUPPORTED_ALGORITHM);
-      memcpy (data, indata, indatalen);
-      datalen = hashlen = 36;
-    }
-  else if (indatalen == 35)
-    {
-      /* Alright, the caller was so kind to send us an already
-         prepared DER object.  Check that it is what we want and that
-         it matches the hash algorithm. */
-      if (hashalgo == GCRY_MD_SHA1 && !memcmp (indata, sha1_prefix, 15))
-        ;
-      else if (hashalgo == GCRY_MD_RMD160
-               && !memcmp (indata, rmd160_prefix, 15))
-        ;
-      else
-        return gpg_error (GPG_ERR_UNSUPPORTED_ALGORITHM);
-      memcpy (data, indata, indatalen);
-      datalen = 35;
-      hashlen = 20;
-    }
-  else if (indatalen == 32 + 19)
-    {
-      /* Seems to be a prepared SHA256 DER object.  */
-      if (hashalgo == GCRY_MD_SHA256 && !memcmp (indata, sha256_prefix, 19))
-        ;
-      else
-        return gpg_error (GPG_ERR_UNSUPPORTED_ALGORITHM);
-      memcpy (data, indata, indatalen);
-      datalen = 51;
-      hashlen = 32;
-    }
-  else
-    {
-      /* Need to prepend the prefix. */
-      if (hashalgo == GCRY_MD_SHA256)
-        {
-          memcpy (data, sha256_prefix, 19);
-          memcpy (data+19, indata, indatalen);
-          datalen = 51;
-          hashlen = 32;
-        }
-      else if (hashalgo == GCRY_MD_SHA1)
-        {
-          memcpy (data, sha1_prefix, 15);
-          memcpy (data+15, indata, indatalen);
-          datalen = 35;
-          hashlen = 20;
-        }
-      else if (hashalgo == GCRY_MD_RMD160)
-        {
-          memcpy (data, rmd160_prefix, 15);
-          memcpy (data+15, indata, indatalen);
-          datalen = 35;
-          hashlen = 20;
-        }
-      else
-        return gpg_error (GPG_ERR_UNSUPPORTED_ALGORITHM);
-    }
-
-
   /* Manage security environment needs to be tweaked for certain cards. */
   if (mse_done)
     err = 0;
@@ -3830,21 +5494,14 @@ do_sign (app_t app, const char *keyidstr, int hashalgo,
       mse[1] = 1;
       mse[2] = prkdf->key_reference;
 
-      err = iso7816_manage_security_env (app->slot,
+      err = iso7816_manage_security_env (app_get_slot (app),
                                          0x41, 0xB6,
                                          mse, sizeof mse);
     }
   if (err)
     {
       log_error ("p15: MSE failed: %s\n", gpg_strerror (err));
-      return err;
-    }
-
-  dataptr = data;
-  if (no_data_padding)
-    {
-      dataptr += datalen - hashlen;
-      datalen = hashlen;
+      goto leave;
     }
 
   if (prkdf->keyalgo == GCRY_PK_RSA && prkdf->keynbits > 2048)
@@ -3859,9 +5516,11 @@ do_sign (app_t app, const char *keyidstr, int hashalgo,
     }
 
   err = iso7816_compute_ds (app_get_slot (app),
-                            exmode, dataptr, datalen,
+                            exmode, indata, indatalen,
                             le_value, outdata, outdatalen);
 
+ leave:
+  xfree (indata_buffer);
   return err;
 }
 
@@ -3873,7 +5532,7 @@ do_sign (app_t app, const char *keyidstr, int hashalgo,
    must match the criteria used for the attribute $AUTHKEYID.  See
    do_sign for calling conventions; there is no HASHALGO, though. */
 static gpg_error_t
-do_auth (app_t app, const char *keyidstr,
+do_auth (app_t app, ctrl_t ctrl, const char *keyidstr,
          gpg_error_t (*pincb)(void*, const char *, char **),
          void *pincb_arg,
          const void *indata, size_t indatalen,
@@ -3889,14 +5548,14 @@ do_auth (app_t app, const char *keyidstr,
   err = prkdf_object_from_keyidstr (app, keyidstr, &prkdf);
   if (err)
     return err;
-  if (!prkdf->usageflags.sign)
+  if (!(prkdf->usageflags.sign || prkdf->gpgusage.auth))
     {
       log_error ("p15: key %s may not be used for authentication\n", keyidstr);
       return gpg_error (GPG_ERR_WRONG_KEY_USAGE);
     }
 
   algo = indatalen == 36? MD_USER_TLS_MD5SHA1 : GCRY_MD_SHA1;
-  return do_sign (app, keyidstr, algo, pincb, pincb_arg,
+  return do_sign (app, ctrl, keyidstr, algo, pincb, pincb_arg,
                   indata, indatalen, outdata, outdatalen);
 }
 
@@ -3906,7 +5565,7 @@ do_auth (app_t app, const char *keyidstr,
  * PINCB will be used to ask for the PIN; it should return the PIN in
  * an allocated buffer and put it into PIN.  */
 static gpg_error_t
-do_decipher (app_t app, const char *keyidstr,
+do_decipher (app_t app, ctrl_t ctrl, const char *keyidstr,
              gpg_error_t (*pincb)(void*, const char *, char **),
              void *pincb_arg,
              const void *indata, size_t indatalen,
@@ -3918,6 +5577,7 @@ do_decipher (app_t app, const char *keyidstr,
   aodf_object_t aodf;      /* The associated authentication object. */
   int exmode, le_value, padind;
 
+  (void)ctrl;
   (void)r_info;
 
   if (!keyidstr || !*keyidstr)
@@ -3928,9 +5588,11 @@ do_decipher (app_t app, const char *keyidstr,
   err = prkdf_object_from_keyidstr (app, keyidstr, &prkdf);
   if (err)
     return err;
-  if (!(prkdf->usageflags.decrypt || prkdf->usageflags.unwrap))
+  if (!(prkdf->usageflags.decrypt
+        || prkdf->usageflags.unwrap
+        || prkdf->gpgusage.encr     ))
     {
-      log_error ("p15: key %s may not be used for decruption\n", keyidstr);
+      log_error ("p15: key %s may not be used for decryption\n", keyidstr);
       return gpg_error (GPG_ERR_WRONG_KEY_USAGE);
     }
 
@@ -3947,10 +5609,7 @@ do_decipher (app_t app, const char *keyidstr,
         && !memcmp (aodf->objid, prkdf->authid, prkdf->authidlen))
       break;
   if (!aodf)
-    {
-      log_error ("p15: authentication object for %s missing\n", keyidstr);
-      return gpg_error (GPG_ERR_INV_CARD);
-    }
+    log_info ("p15: no authentication for %s needed\n", keyidstr);
 
   /* We need some more info about the key - get the keygrip to
    * populate these fields.  */
@@ -3968,6 +5627,18 @@ do_decipher (app_t app, const char *keyidstr,
   if (err)
     return err;
 
+  if (prkdf->is_ecc && IS_CARDOS_5(app))
+    {
+
+      err = iso7816_manage_security_env (app_get_slot (app), 0xF3, 0x01,
+                                         NULL, 0);
+      if (err)
+        {
+          log_error ("p15: MSE failed: %s\n", gpg_strerror (err));
+          return err;
+        }
+    }
+
 
   /* The next is guess work for CardOS.  */
   if (app->app_local->card_product == CARD_PRODUCT_DTRUST)
@@ -3989,19 +5660,31 @@ do_decipher (app_t app, const char *keyidstr,
     }
   else if (prkdf->key_reference_valid)
     {
-      unsigned char mse[6];
+      unsigned char mse[9];
+      int i;
 
       /* Note: This works with CardOS but the D-Trust card has the
        * problem that the next created signature would be broken.  */
 
-      mse[0] = 0x80; /* Algorithm reference.  */
-      mse[1] = 1;
-      mse[2] = 0x0a; /* RSA, no padding.  */
-      mse[3] = 0x84;
-      mse[4] = 1;
-      mse[5] = prkdf->key_reference;
+      i = 0;
+      if (!prkdf->is_ecc)
+        {
+          mse[i++] = 0x80; /* Algorithm reference.  */
+          mse[i++] = 1;
+          mse[i++] = 0x0a; /* RSA, no padding.  */
+        }
+      mse[i++] = 0x84; /* Key reference.  */
+      mse[i++] = 1;
+      mse[i++] = prkdf->key_reference;
+      if (prkdf->is_ecc && IS_CARDOS_5(app))
+        {
+          mse[i++] = 0x95; /* ???.  */
+          mse[i++] = 1;
+          mse[i++] = 0x40;
+        }
+      log_assert (i <= DIM(mse));
       err = iso7816_manage_security_env (app_get_slot (app), 0x41, 0xB8,
-                                         mse, sizeof mse);
+                                         mse, i);
     }
   /* Check for MSE error.  */
   if (err)
@@ -4021,10 +5704,192 @@ do_decipher (app_t app, const char *keyidstr,
   if (app->app_local->card_product == CARD_PRODUCT_DTRUST)
     padind = 0x81;
 
-  err = iso7816_decipher (app_get_slot (app), exmode,
-                          indata, indatalen,
-                          le_value, padind,
-                          outdata, outdatalen);
+  if (prkdf->is_ecc && IS_CARDOS_5(app))
+    {
+      if ((indatalen & 1) && *(const char *)indata == 0x04)
+        {
+          /* Strip indicator byte.  */
+          indatalen--;
+          indata = (const char *)indata + 1;
+        }
+      err = iso7816_pso_csv (app_get_slot (app), exmode,
+                             indata, indatalen,
+                             le_value,
+                             outdata, outdatalen);
+    }
+  else
+    {
+      err = iso7816_decipher (app_get_slot (app), exmode,
+                              indata, indatalen,
+                              le_value, padind,
+                              outdata, outdatalen);
+    }
+
+  return err;
+}
+
+
+/* Perform a simple verify operation for the PIN specified by
+ * KEYIDSTR.  Note that we require a key reference which is then used
+ * to select the authentication object.  Return GPG_ERR_NO_PIN if a
+ * PIN is not required for using the private key KEYIDSTR.  */
+static gpg_error_t
+do_check_pin (app_t app, ctrl_t ctrl, const char *keyidstr,
+              gpg_error_t (*pincb)(void*, const char *, char **),
+              void *pincb_arg)
+{
+  gpg_error_t err;
+  prkdf_object_t prkdf;    /* The private key object. */
+  aodf_object_t aodf;      /* The associated authentication object. */
+
+  (void)ctrl;
+
+  if (!keyidstr || !*keyidstr)
+    return gpg_error (GPG_ERR_INV_VALUE);
+
+  err = prkdf_object_from_keyidstr (app, keyidstr, &prkdf);
+  if (err
+      && gpg_err_code (err) != GPG_ERR_INV_ID
+      && gpg_err_code (err) != GPG_ERR_NOT_FOUND)
+    return err;
+
+  if (err) /* Not found or invalid - assume it is the label.  */
+    {
+      prkdf = NULL;
+      for (aodf = app->app_local->auth_object_info; aodf; aodf = aodf->next)
+        if (aodf->label && !ascii_strcasecmp (aodf->label, keyidstr))
+          break;
+      if (!aodf)
+        return err;  /* Re-use the original error code.  */
+    }
+  else /* Find the authentication object to this private key object. */
+    {
+      if (!prkdf->authid)
+        {
+          log_error ("p15: no authentication object defined for %s\n",
+                     keyidstr);
+          return gpg_error (GPG_ERR_UNSUPPORTED_OPERATION);
+        }
+      for (aodf = app->app_local->auth_object_info; aodf; aodf = aodf->next)
+        if (aodf->objidlen == prkdf->authidlen
+            && !memcmp (aodf->objid, prkdf->authid, prkdf->authidlen))
+          break;
+      if (!aodf) /* None found.  */
+        return gpg_error (GPG_ERR_NO_PIN);
+    }
+
+  err = prepare_verify_pin (app, keyidstr, prkdf, aodf);
+  if (!err)
+    err = verify_pin (app, pincb, pincb_arg, prkdf, aodf);
+
+  return err;
+}
+
+
+/* Process the various keygrip based info requests.  */
+static gpg_error_t
+do_with_keygrip (app_t app, ctrl_t ctrl, int action,
+                 const char *want_keygripstr, int capability)
+{
+  gpg_error_t err;
+  char *serialno = NULL;
+  int as_data = 0;
+  prkdf_object_t prkdf;
+
+  /* First a quick check for valid parameters.  */
+  switch (action)
+    {
+    case KEYGRIP_ACTION_LOOKUP:
+      if (!want_keygripstr)
+        {
+          err = gpg_error (GPG_ERR_NOT_FOUND);
+          goto leave;
+        }
+      break;
+    case KEYGRIP_ACTION_SEND_DATA:
+      as_data = 1;
+      break;
+    case KEYGRIP_ACTION_WRITE_STATUS:
+      break;
+    default:
+      err = gpg_error (GPG_ERR_INV_ARG);
+      goto leave;
+    }
+
+  /* Allocate the s/n string if needed.  */
+  if (action != KEYGRIP_ACTION_LOOKUP)
+    {
+      serialno = app_get_serialno (app);
+      if (!serialno)
+        {
+          err = gpg_error_from_syserror ();
+          goto leave;
+        }
+    }
+
+  for (prkdf = app->app_local->private_key_info;
+       prkdf; prkdf = prkdf->next)
+    {
+      if (keygrip_from_prkdf (app, prkdf))
+        continue;
+
+      if (action == KEYGRIP_ACTION_LOOKUP)
+        {
+          if (!strcmp (prkdf->keygrip, want_keygripstr))
+            {
+              err = 0; /* Found */
+              goto leave;
+            }
+        }
+      else if (!want_keygripstr || !strcmp (prkdf->keygrip, want_keygripstr))
+        {
+          char *keyref;
+
+          if (capability == GCRY_PK_USAGE_SIGN)
+            {
+              if (!(prkdf->usageflags.sign || prkdf->usageflags.sign_recover
+                    || prkdf->usageflags.non_repudiation))
+                continue;
+            }
+          else if (capability == GCRY_PK_USAGE_ENCR)
+            {
+              if (!(prkdf->usageflags.decrypt || prkdf->usageflags.unwrap))
+                continue;
+            }
+          else if (capability == GCRY_PK_USAGE_AUTH)
+            {
+              if (!(prkdf->usageflags.sign || prkdf->usageflags.sign_recover))
+                continue;
+            }
+
+          keyref = keyref_from_prkdf (app, prkdf);
+          if (!keyref)
+            {
+              err = gpg_error_from_syserror ();
+              goto leave;
+            }
+
+          send_keyinfo (ctrl, as_data, prkdf->keygrip, serialno, keyref);
+          xfree (keyref);
+          if (want_keygripstr)
+            {
+              err = 0; /* Found */
+              goto leave;
+            }
+        }
+    }
+
+  /* Return an error so that the dispatcher keeps on looping over the
+   * other applications.  For clarity we use a different error code
+   * when listing all keys.  Note that in lookup mode WANT_KEYGRIPSTR
+   * is not NULL.  */
+  if (!want_keygripstr)
+    err = gpg_error (GPG_ERR_TRUE);
+  else
+    err = gpg_error (GPG_ERR_NOT_FOUND);
+
+ leave:
+  xfree (serialno);
   return err;
 }
 
@@ -4085,14 +5950,17 @@ read_home_df (int slot, int *r_belpic)
 gpg_error_t
 app_select_p15 (app_t app)
 {
-  int slot = app->slot;
+  int slot = app_get_slot (app);
   int rc;
   unsigned short def_home_df = 0;
   card_type_t card_type = CARD_TYPE_UNKNOWN;
   int direct = 0;
   int is_belpic = 0;
+  unsigned char *fci = NULL;
+  size_t fcilen;
 
-  rc = iso7816_select_application (slot, pkcs15_aid, sizeof pkcs15_aid, 0);
+  rc = iso7816_select_application_ext (slot, pkcs15_aid, sizeof pkcs15_aid, 1,
+                                       &fci, &fcilen);
   if (rc)
     { /* Not found: Try to locate it from 2F00.  We use direct path
          selection here because it seems that the Belgian eID card
@@ -4103,7 +5971,7 @@ app_select_p15 (app_t app)
          Using the 2f02 just works. */
       unsigned short path[1] = { 0x2f00 };
 
-      rc = iso7816_select_path (slot, path, 1);
+      rc = iso7816_select_path (slot, path, 1, 0);
       if (!rc)
         {
           direct = 1;
@@ -4111,13 +5979,13 @@ app_select_p15 (app_t app)
           if (def_home_df)
             {
               path[0] = def_home_df;
-              rc = iso7816_select_path (slot, path, 1);
+              rc = iso7816_select_path (slot, path, 1, 0);
             }
         }
     }
   if (rc)
     { /* Still not found:  Try the default DF. */
-      def_home_df = 0x5015;
+      def_home_df = DEFAULT_HOME_DF;
       rc = iso7816_select_file (slot, def_home_df, 1);
     }
   if (!rc)
@@ -4135,7 +6003,7 @@ app_select_p15 (app_t app)
           size_t atrlen;
           int i;
 
-          atr = apdu_get_atr (app->slot, &atrlen);
+          atr = apdu_get_atr (app_get_slot (app), &atrlen);
           if (!atr)
             rc = gpg_error (GPG_ERR_INV_CARD);
           else
@@ -4153,7 +6021,7 @@ app_select_p15 (app_t app)
     }
   if (!rc)
     {
-      app->apptype = "P15";
+      app->apptype = APPTYPE_P15;
 
       app->app_local = xtrycalloc (1, sizeof *app->app_local);
       if (!app->app_local)
@@ -4162,11 +6030,18 @@ app_select_p15 (app_t app)
           goto leave;
         }
 
-      /* Set the home DF.  Note that we currently can't do that if the
-         selection via application ID worked.  This will store 0 there
-         instead.  FIXME: We either need to figure the home_df via the
-         DIR file or using the return values from the select file
-         APDU. */
+      /* Set the home DF from the FCI returned by the select.  */
+      if (!def_home_df && fci)
+        {
+          const unsigned char *s;
+          size_t n;
+
+          s = find_tlv (fci, fcilen, 0x83, &n);
+          if (s && n == 2)
+            def_home_df = buf16_to_ushort (s);
+          else
+            log_error ("p15: select(AID) did not return the DF\n");
+        }
       app->app_local->home_df = def_home_df;
 
       /* Store the card type.  FIXME: We might want to put this into
@@ -4176,6 +6051,16 @@ app_select_p15 (app_t app)
       app->app_local->card_product = CARD_PRODUCT_UNKNOWN;
 
       /* Store whether we may and should use direct path selection. */
+      switch (card_type)
+        {
+        case CARD_TYPE_CARDOS_50:
+        case CARD_TYPE_CARDOS_53:
+          direct = 1;
+          break;
+        default:
+          /* Use whatever has been determined above.  */
+          break;
+        }
       app->app_local->direct_path_selection = direct;
 
       /* Read basic information and thus check whether this is a real
@@ -4188,8 +6073,9 @@ app_select_p15 (app_t app)
          prototype card right here because we need to access to
          EF(TokenInfo).  We mark such a serial number by the using a
          prefix of FF0100. */
-      if (app->serialnolen == 12
-          && !memcmp (app->serialno, "\xD2\x76\0\0\0\0\0\0\0\0\0\0", 12))
+      if (APP_CARD(app)->serialnolen == 12
+          && !memcmp (APP_CARD(app)->serialno,
+                      "\xD2\x76\0\0\0\0\0\0\0\0\0\0", 12))
         {
           /* This is a German card with a silly serial number.  Try to get
              the serial number from the EF(TokenInfo). . */
@@ -4197,20 +6083,22 @@ app_select_p15 (app_t app)
 
           /* FIXME: actually get it from EF(TokenInfo). */
 
-          p = xtrymalloc (3 + app->serialnolen);
+          p = xtrymalloc (3 + APP_CARD(app)->serialnolen);
           if (!p)
             rc = gpg_error (gpg_err_code_from_errno (errno));
           else
             {
               memcpy (p, "\xff\x01", 3);
-              memcpy (p+3, app->serialno, app->serialnolen);
-              app->serialnolen += 3;
-              xfree (app->serialno);
-              app->serialno = p;
+              memcpy (p+3, APP_CARD(app)->serialno, APP_CARD(app)->serialnolen);
+              APP_CARD(app)->serialnolen += 3;
+              xfree (APP_CARD(app)->serialno);
+              APP_CARD(app)->serialno = p;
             }
         }
 
       app->fnc.deinit = do_deinit;
+      app->fnc.prep_reselect = NULL;
+      app->fnc.reselect = NULL;
       app->fnc.learn_status = do_learn_status;
       app->fnc.readcert = do_readcert;
       app->fnc.getattr = do_getattr;
@@ -4220,12 +6108,14 @@ app_select_p15 (app_t app)
       app->fnc.auth = do_auth;
       app->fnc.decipher = do_decipher;
       app->fnc.change_pin = NULL;
-      app->fnc.check_pin = NULL;
+      app->fnc.check_pin = do_check_pin;
+      app->fnc.with_keygrip = do_with_keygrip;
 
     leave:
       if (rc)
         do_deinit (app);
    }
 
+  xfree (fci);
   return rc;
 }
index 352b16c..1425b43 100644 (file)
@@ -33,7 +33,6 @@
 #include "scdaemon.h"
 
 #include "iso7816.h"
-#include "app-common.h"
 #include "../common/tlv.h"
 #include "apdu.h"
 
@@ -1354,7 +1353,7 @@ keygripstr_from_prkdf (app_t app, prkdf_object_t prkdf, char *r_gripstr)
     err = ksba_cert_init_from_mem (cert, der, derlen);
   xfree (der);
   if (!err)
-    err = app_help_get_keygrip_string (cert, r_gripstr, NULL);
+    err = app_help_get_keygrip_string (cert, r_gripstr, NULL, NULL);
   ksba_cert_release (cert);
 
   return err;
@@ -1770,7 +1769,7 @@ verify_pin (app_t app, gpg_error_t (*pincb)(void*, const char *, char **),
    the ECDSA signature in X9.62 format (SEQ/INT(r)/INT(s))
 */
 static gpg_error_t
-do_sign (app_t app, const char *keyidstr, int hashalgo,
+do_sign (app_t app, ctrl_t ctrl, const char *keyidstr, int hashalgo,
          gpg_error_t (*pincb)(void*, const char *, char **),
          void *pincb_arg,
          const void *indata, size_t indatalen,
@@ -1807,6 +1806,8 @@ do_sign (app_t app, const char *keyidstr, int hashalgo,
   unsigned char algoid;
   int sw;
 
+  (void)ctrl;
+
   if (!keyidstr || !*keyidstr)
     return gpg_error (GPG_ERR_INV_VALUE);
 
@@ -1897,7 +1898,7 @@ do_sign (app_t app, const char *keyidstr, int hashalgo,
    must match the criteria used for the attribute $AUTHKEYID.  See
    do_sign for calling conventions; there is no HASHALGO, though. */
 static gpg_error_t
-do_auth (app_t app, const char *keyidstr,
+do_auth (app_t app, ctrl_t ctrl, const char *keyidstr,
          gpg_error_t (*pincb)(void*, const char *, char **),
          void *pincb_arg,
          const void *indata, size_t indatalen,
@@ -1920,7 +1921,7 @@ do_auth (app_t app, const char *keyidstr,
     }
 
   algo = indatalen == 36? MD_USER_TLS_MD5SHA1 : GCRY_MD_SHA1;
-  return do_sign (app, keyidstr, algo, pincb, pincb_arg,
+  return do_sign (app, ctrl, keyidstr, algo, pincb, pincb_arg,
                   indata, indatalen, outdata, outdatalen);
 }
 
@@ -1969,7 +1970,7 @@ strip_PKCS15_padding(unsigned char *src, int srclen, unsigned char **dst,
 /* Decrypt a PKCS#1 V1.5 formatted cryptogram using the referenced
    key.  */
 static gpg_error_t
-do_decipher (app_t app, const char *keyidstr,
+do_decipher (app_t app, ctrl_t ctrl, const char *keyidstr,
              gpg_error_t (*pincb)(void*, const char *, char **),
              void *pincb_arg,
              const void *indata, size_t indatalen,
@@ -1984,6 +1985,8 @@ do_decipher (app_t app, const char *keyidstr,
   size_t p1blklen;
   int sw;
 
+  (void)ctrl;
+
   if (!keyidstr || !*keyidstr || !indatalen)
     return gpg_error (GPG_ERR_INV_VALUE);
 
@@ -2050,7 +2053,7 @@ app_select_sc_hsm (app_t app)
   rc = iso7816_select_application (slot, sc_hsm_aid, sizeof sc_hsm_aid, 0);
   if (!rc)
     {
-      app->apptype = "SC-HSM";
+      app->apptype = APPTYPE_SC_HSM;
 
       app->app_local = xtrycalloc (1, sizeof *app->app_local);
       if (!app->app_local)
index 957345e..846fc77 100644 (file)
--- a/scd/app.c
+++ b/scd/app.c
 
 #include "scdaemon.h"
 #include "../common/exechelp.h"
-#include "app-common.h"
 #include "iso7816.h"
 #include "apdu.h"
 #include "../common/tlv.h"
 
 static npth_mutex_t app_list_lock;
 static app_t app_top;
+
+
+/* List of all supported apps.  */
+static struct
+{
+  apptype_t apptype;
+  char const *name;
+} supported_app_list[] =
+  {{ APPTYPE_OPENPGP  , "openpgp"   },
+   { APPTYPE_NKS      , "nks"       },
+   { APPTYPE_P15      , "p15"       },
+   { APPTYPE_GELDKARTE, "geldkarte" },
+   { APPTYPE_DINSIG   , "dinsig"    },
+   { APPTYPE_SC_HSM   , "sc-hsm"    },
+   { APPTYPE_NONE     , NULL        }
+   /* APPTYPE_UNDEFINED is special and not listed here.  */
+  };
+
+
 \f
 static void
 print_progress_line (void *opaque, const char *what, int pc, int cur, int tot)
@@ -48,6 +66,37 @@ print_progress_line (void *opaque, const char *what, int pc, int cur, int tot)
 }
 
 
+/* Map an application type to a string.  Never returns NULL.  */
+const char *
+strapptype (apptype_t t)
+{
+  int i;
+
+  for (i=0; supported_app_list[i].apptype; i++)
+    if (supported_app_list[i].apptype == t)
+      return supported_app_list[i].name;
+  return t == APPTYPE_UNDEFINED? "undefined" : t? "?" : "none";
+}
+
+
+/* Return the apptype for NAME.  */
+static apptype_t
+apptype_from_name (const char *name)
+{
+  int i;
+
+  if (!name)
+    return APPTYPE_NONE;
+
+  for (i=0; supported_app_list[i].apptype; i++)
+    if (!ascii_strcasecmp (supported_app_list[i].name, name))
+      return supported_app_list[i].apptype;
+  if (!ascii_strcasecmp ("undefined", name))
+    return APPTYPE_UNDEFINED;
+  return APPTYPE_NONE;
+}
+
+
 /* Lock the reader SLOT.  This function shall be used right before
    calling any of the actual application functions to serialize access
    to the reader.  We do this always even if the reader is not
@@ -97,7 +146,7 @@ app_dump_state (void)
 
   npth_mutex_lock (&app_list_lock);
   for (a = app_top; a; a = a->next)
-    log_info ("app_dump_state: app=%p type='%s'\n", a, a->apptype);
+    log_info ("app_dump_state: app=%p type='%s'\n", a, strapptype (a->apptype));
   npth_mutex_unlock (&app_list_lock);
 }
 
@@ -118,14 +167,15 @@ is_app_allowed (const char *name)
 static gpg_error_t
 check_conflict (app_t app, const char *name)
 {
-  if (!app || !name || (app->apptype && !ascii_strcasecmp (app->apptype, name)))
+  if (!app || !name
+      || (app->apptype && app->apptype == apptype_from_name (name)))
     return 0;
 
-  if (app->apptype && !strcmp (app->apptype, "UNDEFINED"))
+  if (app->apptype && app->apptype == APPTYPE_UNDEFINED)
     return 0;
 
   log_info ("application '%s' in use - can't switch\n",
-            app->apptype? app->apptype : "<null>");
+            strapptype (app->apptype));
 
   return gpg_error (GPG_ERR_CONFLICT);
 }
@@ -214,11 +264,100 @@ app_new_register (int slot, ctrl_t ctrl, const char *name,
   if (!want_undefined)
     {
       err = iso7816_select_file (slot, 0x3F00, 1);
-      if (!err)
+      if (gpg_err_code (err) == GPG_ERR_CARD)
+        {
+          /* Might be SW==0x7D00.  Let's test whether it is a Yubikey
+           * by selecting its manager application and then reading the
+           * config.  */
+          static char const yk_aid[] =
+            { 0xA0, 0x00, 0x00, 0x05, 0x27, 0x47, 0x11, 0x17 }; /*MGR*/
+          static char const otp_aid[] =
+            { 0xA0, 0x00, 0x00, 0x05, 0x27, 0x20, 0x01 }; /*OTP*/
+          unsigned char *buf;
+          size_t buflen;
+          const unsigned char *s0;
+          unsigned char formfactor;
+          size_t n;
+
+          if (!iso7816_select_application (slot, yk_aid, sizeof yk_aid,
+                                           0x0001)
+              && !iso7816_apdu_direct (slot, "\x00\x1d\x00\x00\x00", 5, 0,
+                                       NULL, &buf, &buflen))
+            {
+              app->cardtype = CARDTYPE_YUBIKEY;
+              if (opt.verbose)
+                {
+                  log_info ("Yubico: config=");
+                  log_printhex (buf, buflen, "");
+                }
+
+              /* We skip the first byte which seems to be the total
+               * length of the config data.  */
+              if (buflen > 1)
+                {
+                  s0 = find_tlv (buf+1, buflen-1, 0x04, &n);  /* Form factor */
+                  formfactor = (s0 && n == 1)? *s0 : 0;
+
+                  s0 = find_tlv (buf+1, buflen-1, 0x02, &n);  /* Serial */
+                  if (s0 && n <= 4)
+                    {
+                      app->serialno = xtrymalloc (3 + 1 + 4);
+                      if (app->serialno)
+                        {
+                          app->serialnolen = 3 + 1 + 4;
+                          app->serialno[0] = 0xff;
+                          app->serialno[1] = 0x02;
+                          app->serialno[2] = 0x0;
+                          app->serialno[3] = formfactor;
+                          memset (app->serialno + 4, 0, 4 - n);
+                          memcpy (app->serialno + 4 + 4 - n, s0, n);
+                          err = app_munge_serialno (app);
+                        }
+                    }
+
+                  s0 = find_tlv (buf+1, buflen-1, 0x05, &n);  /* version */
+                  if (s0 && n == 3)
+                    app->cardversion = ((s0[0]<<16)|(s0[1]<<8)|s0[2]);
+                  else if (!s0)
+                    {
+                      /* No version - this is not a Yubikey 5.  We now
+                       * switch to the OTP app and take the first
+                       * three bytes of the response as version
+                       * number.  */
+                      xfree (buf);
+                      buf = NULL;
+                      if (!iso7816_select_application_ext (slot,
+                                                       otp_aid, sizeof otp_aid,
+                                                       1, &buf, &buflen)
+                          && buflen > 3)
+                        app->cardversion = ((buf[0]<<16)|(buf[1]<<8)|buf[2]);
+                    }
+                }
+              xfree (buf);
+            }
+        }
+      else
+        {
+          unsigned char *atr;
+          size_t atrlen;
+
+          /* This is heuristics to identify different implementations.  */
+          atr = apdu_get_atr (slot, &atrlen);
+          if (atr)
+            {
+              if (atrlen == 21 && atr[2] == 0x11)
+                app->cardtype = CARDTYPE_GNUK;
+              else if (atrlen == 21 && atr[7] == 0x75)
+                app->cardtype = CARDTYPE_ZEITCONTROL;
+              xfree (atr);
+            }
+        }
+
+      if (!err && app->cardtype != CARDTYPE_YUBIKEY)
         err = iso7816_select_file (slot, 0x2F02, 0);
-      if (!err)
+      if (!err && app->cardtype != CARDTYPE_YUBIKEY)
         err = iso7816_read_binary (slot, 0, 0, &result, &resultlen);
-      if (!err)
+      if (!err && app->cardtype != CARDTYPE_YUBIKEY)
         {
           size_t n;
           const unsigned char *p;
@@ -264,12 +403,13 @@ app_new_register (int slot, ctrl_t ctrl, const char *name,
     {
       /* We switch to the "undefined" application only if explicitly
          requested.  */
-      app->apptype = "UNDEFINED";
+      app->apptype = APPTYPE_UNDEFINED;
       err = 0;
     }
   else
     err = gpg_error (GPG_ERR_NOT_FOUND);
 
+  /* Fixme: Use a table like we do in 2.3.  */
   if (err && is_app_allowed ("openpgp")
           && (!name || !strcmp (name, "openpgp")))
     err = app_select_openpgp (app);
@@ -566,6 +706,90 @@ app_get_serialno (app_t app)
 }
 
 
+/* Return an allocated string with the serial number in a format to be
+ * show to the user.  With NOFALLBACK set to true return NULL if such an
+ * abbreviated S/N is not available, else return the full serial
+ * number as a hex string.  May return NULL on malloc problem.  */
+char *
+app_get_dispserialno (app_t app, int nofallback)
+{
+  char *result, *p;
+  unsigned long sn;
+
+  if (app && app->serialno && app->serialnolen == 3+1+4
+      && !memcmp (app->serialno, "\xff\x02\x00", 3))
+    {
+      /* This is a 4 byte S/N of a Yubikey which seems to be printed
+       * on the token in decimal.  Maybe they will print larger S/N
+       * also in decimal but we can't be sure, thus do it only for
+       * these 32 bit numbers.  */
+      sn  = app->serialno[4] * 16777216;
+      sn += app->serialno[5] * 65536;
+      sn += app->serialno[6] * 256;
+      sn += app->serialno[7];
+      if ((app->cardversion >> 16) >= 5)
+        result = xtryasprintf ("%lu %03lu %03lu",
+                               (sn/1000000ul),
+                               (sn/1000ul % 1000ul),
+                               (sn % 1000ul));
+      else
+        result = xtryasprintf ("%lu", sn);
+    }
+  else if (app && app->cardtype == CARDTYPE_YUBIKEY)
+    {
+      /* Get back the printed Yubikey number from the OpenPGP AID
+       * Example: D2760001240100000006120808620000
+       */
+      result = app_get_serialno (app);
+      if (result && strlen (result) >= 28 && !strncmp (result+16, "0006", 4))
+        {
+          sn  = atoi_4 (result+20) * 10000;
+          sn += atoi_4 (result+24);
+          if ((app->cardversion >> 16) >= 5)
+            p = xtryasprintf ("%lu %03lu %03lu",
+                              (sn/1000000ul),
+                              (sn/1000ul % 1000ul),
+                              (sn % 1000ul));
+          else
+            p = xtryasprintf ("%lu", sn);
+          if (p)
+            {
+              xfree (result);
+              result = p;
+            }
+        }
+      else if (nofallback)
+        {
+          xfree (result);
+          result = NULL;
+        }
+    }
+  else if (app && app->apptype == APPTYPE_OPENPGP)
+    {
+      /* Extract number from standard OpenPGP AID.  */
+      result = app_get_serialno (app);
+      if (result && strlen (result) > 16+12)
+        {
+          memcpy (result, result+16, 4);
+          result[4] = ' ';
+          memcpy (result+5, result+20, 8);
+          result[13] = 0;
+        }
+      else if (nofallback)
+        {
+          xfree (result);
+          result = NULL;
+        }
+    }
+  else if (nofallback)
+    result = NULL;  /* No Abbreviated S/N.  */
+  else
+    result = app_get_serialno (app);
+
+  return result;
+}
+
+
 /* Write out the application specifig status lines for the LEARN
    command. */
 gpg_error_t
@@ -580,7 +804,7 @@ app_write_learn_status (app_t app, ctrl_t ctrl, unsigned int flags)
 
   /* We do not send APPTYPE if only keypairinfo is requested.  */
   if (app->apptype && !(flags & 1))
-    send_status_direct (ctrl, "APPTYPE", app->apptype);
+    send_status_direct (ctrl, "APPTYPE", strapptype (app->apptype));
   err = lock_app (app, ctrl);
   if (err)
     return err;
@@ -642,7 +866,9 @@ app_readkey (app_t app, ctrl_t ctrl, int advanced, const char *keyid,
   err = lock_app (app, ctrl);
   if (err)
     return err;
-  err= app->fnc.readkey (app, advanced, keyid, pk, pklen);
+  err= app->fnc.readkey (app, ctrl, keyid,
+                         advanced? APP_READKEY_FLAG_ADVANCED : 0,
+                         pk, pklen);
   unlock_app (app);
   return err;
 }
@@ -661,7 +887,7 @@ app_getattr (app_t app, ctrl_t ctrl, const char *name)
 
   if (app->apptype && name && !strcmp (name, "APPTYPE"))
     {
-      send_status_direct (ctrl, "APPTYPE", app->apptype);
+      send_status_direct (ctrl, "APPTYPE", strapptype (app->apptype));
       return 0;
     }
   if (name && !strcmp (name, "SERIALNO"))
@@ -705,7 +931,7 @@ app_setattr (app_t app, ctrl_t ctrl, const char *name,
   err = lock_app (app, ctrl);
   if (err)
     return err;
-  err = app->fnc.setattr (app, name, pincb, pincb_arg, value, valuelen);
+  err = app->fnc.setattr (app, ctrl, name, pincb, pincb_arg, value, valuelen);
   unlock_app (app);
   return err;
 }
@@ -731,7 +957,7 @@ app_sign (app_t app, ctrl_t ctrl, const char *keyidstr, int hashalgo,
   err = lock_app (app, ctrl);
   if (err)
     return err;
-  err = app->fnc.sign (app, keyidstr, hashalgo,
+  err = app->fnc.sign (app, ctrl, keyidstr, hashalgo,
                        pincb, pincb_arg,
                        indata, indatalen,
                        outdata, outdatalen);
@@ -763,7 +989,7 @@ app_auth (app_t app, ctrl_t ctrl, const char *keyidstr,
   err = lock_app (app, ctrl);
   if (err)
     return err;
-  err = app->fnc.auth (app, keyidstr,
+  err = app->fnc.auth (app, ctrl, keyidstr,
                        pincb, pincb_arg,
                        indata, indatalen,
                        outdata, outdatalen);
@@ -798,7 +1024,7 @@ app_decipher (app_t app, ctrl_t ctrl, const char *keyidstr,
   err = lock_app (app, ctrl);
   if (err)
     return err;
-  err = app->fnc.decipher (app, keyidstr,
+  err = app->fnc.decipher (app, ctrl, keyidstr,
                            pincb, pincb_arg,
                            indata, indatalen,
                            outdata, outdatalen,
@@ -960,7 +1186,7 @@ app_check_pin (app_t app, ctrl_t ctrl, const char *keyidstr,
   err = lock_app (app, ctrl);
   if (err)
     return err;
-  err = app->fnc.check_pin (app, keyidstr, pincb, pincb_arg);
+  err = app->fnc.check_pin (app, ctrl, keyidstr, pincb, pincb_arg);
   unlock_app (app);
   if (opt.verbose)
     log_info ("operation check_pin result: %s\n", gpg_strerror (err));
index ddc8320..bacf9ce 100644 (file)
@@ -1304,10 +1304,20 @@ ccid_vendor_specific_setup (ccid_driver_t handle)
 {
   if (handle->id_vendor == VENDOR_SCM && handle->id_product == SCM_SPR532)
     {
+      libusb_clear_halt (handle->idev, handle->ep_intr);
+    }
+  return 0;
+}
+
+
+static int
+ccid_vendor_specific_pinpad_setup (ccid_driver_t handle)
+{
+  if (handle->id_vendor == VENDOR_SCM && handle->id_product == SCM_SPR532)
+    {
       DEBUGOUT ("sending escape sequence to switch to a case 1 APDU\n");
       send_escape_cmd (handle, (const unsigned char*)"\x80\x02\x00", 3,
                        NULL, 0, NULL);
-      libusb_clear_halt (handle->idev, handle->ep_intr);
     }
   return 0;
 }
@@ -3583,6 +3593,8 @@ ccid_transceive_secure (ccid_driver_t handle,
   if (pininfo->fixedlen < 0 || pininfo->fixedlen >= 16)
     return CCID_DRIVER_ERR_NOT_SUPPORTED;
 
+  ccid_vendor_specific_pinpad_setup (handle);
+
   msg = send_buffer;
   msg[0] = cherry_mode? 0x89 : PC_to_RDR_Secure;
   msg[5] = 0; /* slot */
index 769113f..e2debf5 100644 (file)
@@ -33,7 +33,6 @@
 #include "scdaemon.h"
 #include <assuan.h>
 #include <ksba.h>
-#include "app-common.h"
 #include "iso7816.h"
 #include "apdu.h" /* Required for apdu_*_reader (). */
 #include "atr.h"
@@ -500,87 +499,98 @@ cmd_readcert (assuan_context_t ctx, char *line)
 
 
 static const char hlp_readkey[] =
-  "READKEY [--advanced] <keyid>\n"
+  "READKEY [--advanced] [--info[-only]] <keyid>\n"
   "\n"
   "Return the public key for the given cert or key ID as a standard\n"
-  "S-expression.\n"
-  "In --advanced mode it returns the S-expression in advanced format.\n"
-  "\n"
-  "Note that this function may even be used on a locked card.";
+  "S-expression.  With --advanced  the S-expression is returned in\n"
+  "advanced format.  With --info a KEYPAIRINFO status line is also\n"
+  "emitted; with --info-only the regular output is suppressed.";
 static gpg_error_t
 cmd_readkey (assuan_context_t ctx, char *line)
 {
   ctrl_t ctrl = assuan_get_pointer (ctx);
   int rc;
   int advanced = 0;
+  int opt_info = 0;
+  int opt_nokey = 0;
   unsigned char *cert = NULL;
-  size_t ncert, n;
-  ksba_cert_t kc = NULL;
-  ksba_sexp_t p;
+  size_t ncert;
   unsigned char *pk;
   size_t pklen;
+  int direct_readkey = 0;
 
   if ((rc = open_card (ctrl)))
     return rc;
 
   if (has_option (line, "--advanced"))
     advanced = 1;
+  if (has_option (line, "--info"))
+    opt_info = 1;
+  if (has_option (line, "--info-only"))
+    opt_info = opt_nokey = 1;
 
   line = skip_options (line);
-
   line = xstrdup (line); /* Need a copy of the line. */
+
   /* If the application supports the READKEY function we use that.
      Otherwise we use the old way by extracting it from the
      certificate.  */
   rc = app_readkey (ctrl->app_ctx, ctrl, advanced, line, &pk, &pklen);
   if (!rc)
-    { /* Yeah, got that key - send it back.  */
-      rc = assuan_send_data (ctx, pk, pklen);
-      xfree (pk);
-      xfree (line);
-      line = NULL;
-      goto leave;
-    }
-
-  if (gpg_err_code (rc) != GPG_ERR_UNSUPPORTED_OPERATION)
-    log_error ("app_readkey failed: %s\n", gpg_strerror (rc));
-  else
+    direct_readkey = 1; /* Yeah, got that key - send it back.  */
+  else if (gpg_err_code (rc) == GPG_ERR_UNSUPPORTED_OPERATION
+           || gpg_err_code (rc) == GPG_ERR_NOT_FOUND)
     {
+      /* Fall back to certificate reading.  */
       rc = app_readcert (ctrl->app_ctx, ctrl, line, &cert, &ncert);
       if (rc)
         log_error ("app_readcert failed: %s\n", gpg_strerror (rc));
+      else
+        {
+          rc = app_help_pubkey_from_cert (cert, ncert, &pk, &pklen);
+          if (rc)
+            log_error ("failed to parse the certificate: %s\n",
+                       gpg_strerror (rc));
+        }
     }
-  xfree (line);
-  line = NULL;
-  if (rc)
-    goto leave;
-
-  rc = ksba_cert_new (&kc);
-  if (rc)
-    goto leave;
+  else
+    log_error ("app_readkey failed: %s\n", gpg_strerror (rc));
 
-  rc = ksba_cert_init_from_mem (kc, cert, ncert);
-  if (rc)
+  if (!rc && pk && pklen && opt_info && !direct_readkey)
     {
-      log_error ("failed to parse the certificate: %s\n", gpg_strerror (rc));
-      goto leave;
-    }
+      char keygripstr[KEYGRIP_LEN*2+1];
+      char *algostr;
 
-  p = ksba_cert_get_public_key (kc);
-  if (!p)
-    {
-      rc = gpg_error (GPG_ERR_NO_PUBKEY);
-      goto leave;
+      rc = app_help_get_keygrip_string_pk (pk, pklen,
+                                           keygripstr, NULL, NULL,
+                                           &algostr);
+      if (rc)
+        {
+          log_error ("app_help_get_keygrip_string failed: %s\n",
+                     gpg_strerror (rc));
+          goto leave;
+        }
+
+      /* FIXME: Using LINE is not correct because it might be an
+       * OID and has not been canonicalized (i.e. uppercased).  */
+      send_status_info (ctrl, "KEYPAIRINFO",
+                        keygripstr, strlen (keygripstr),
+                        line, strlen (line),
+                        "-", (size_t)1,
+                        "-", (size_t)1,
+                        algostr, strlen (algostr),
+                        NULL, (size_t)0);
+      xfree (algostr);
     }
 
-  n = gcry_sexp_canon_len (p, 0, NULL, NULL);
-  rc = assuan_send_data (ctx, p, n);
-  xfree (p);
 
+  if (!rc && pk && pklen && !opt_nokey)
+    rc = assuan_send_data (ctx, pk, pklen);
 
  leave:
-  ksba_cert_release (kc);
   xfree (cert);
+  xfree (pk);
+  xfree (line);
   return rc;
 }
 
@@ -1103,7 +1113,7 @@ cmd_genkey (assuan_context_t ctx, char *line)
 {
   ctrl_t ctrl = assuan_get_pointer (ctx);
   int rc;
-  char *keyno;
+  char *save_line;
   int force;
   const char *s;
   time_t timestamp;
@@ -1124,26 +1134,35 @@ cmd_genkey (assuan_context_t ctx, char *line)
 
   line = skip_options (line);
   if (!*line)
-    return set_error (GPG_ERR_ASS_PARAMETER, "no key number given");
-  keyno = line;
+    {
+      rc = set_error (GPG_ERR_ASS_PARAMETER, "no key number given");
+      goto leave;
+    }
+  save_line = line;
   while (*line && !spacep (line))
     line++;
   *line = 0;
 
   if ((rc = open_card (ctrl)))
-    return rc;
+    goto leave;
 
   if (!ctrl->app_ctx)
-    return gpg_error (GPG_ERR_UNSUPPORTED_OPERATION);
+    {
+      rc = gpg_error (GPG_ERR_UNSUPPORTED_OPERATION);
+      goto leave;
+    }
 
-  keyno = xtrystrdup (keyno);
-  if (!keyno)
-    return out_of_core ();
-  rc = app_genkey (ctrl->app_ctx, ctrl, keyno, NULL,
-                   force? APP_GENKEY_FLAG_FORCE : 0,
-                   timestamp, pin_cb, ctx);
-  xfree (keyno);
+  {
+    char *tmp = xtrystrdup (save_line);
+    if (!tmp)
+      return gpg_error_from_syserror ();
+    rc = app_genkey (ctrl->app_ctx, ctrl, tmp, NULL,
+                     force? APP_GENKEY_FLAG_FORCE : 0,
+                     timestamp, pin_cb, ctx);
+    xfree (tmp);
+  }
 
+ leave:
   return rc;
 }
 
@@ -1847,6 +1866,34 @@ scd_command_handler (ctrl_t ctrl, int fd)
 }
 
 
+
+/* Send a keyinfo string.  If DATA is true the string is emitted as a
+ * data line, else as a status line.  */
+void
+send_keyinfo (ctrl_t ctrl, int data, const char *keygrip_str,
+              const char *serialno, const char *idstr)
+{
+  char *string;
+  assuan_context_t ctx = ctrl->server_local->assuan_ctx;
+
+  string = xtryasprintf ("%s T %s %s%s", keygrip_str,
+                         serialno? serialno : "-",
+                         idstr? idstr : "-",
+                         data? "\n" : "");
+
+  if (!string)
+    return;
+
+  if (!data)
+    assuan_write_status (ctx, "KEYINFO", string);
+  else
+    assuan_send_data (ctx, string, strlen (string));
+
+  xfree (string);
+  return;
+}
+
+
 /* Send a line with status information via assuan and escape all given
    buffers. The variable elements are pairs of (char *, size_t),
    terminated with a (NULL, 0). */
@@ -1898,15 +1945,17 @@ send_status_info (ctrl_t ctrl, const char *keyword, ...)
 
 
 /* Send a ready formatted status line via assuan.  */
-void
+gpg_error_t
 send_status_direct (ctrl_t ctrl, const char *keyword, const char *args)
 {
   assuan_context_t ctx = ctrl->server_local->assuan_ctx;
 
   if (strchr (args, '\n'))
-    log_error ("error: LF detected in status line - not sending\n");
-  else
-    assuan_write_status (ctx, keyword, args);
+    {
+      log_error ("error: LF detected in status line - not sending\n");
+      return gpg_error (GPG_ERR_INTERNAL);
+    }
+  return assuan_write_status (ctx, keyword, args);
 }
 
 
index 2070670..1d654eb 100644 (file)
@@ -69,9 +69,11 @@ map_sw (int sw)
     case SW_WRONG_LENGTH:   ec = GPG_ERR_INV_VALUE; break;
     case SW_SM_NOT_SUP:     ec = GPG_ERR_NOT_SUPPORTED; break;
     case SW_CC_NOT_SUP:     ec = GPG_ERR_NOT_SUPPORTED; break;
+    case SW_FILE_STRUCT:    ec = GPG_ERR_CARD; break;
     case SW_CHV_WRONG:      ec = GPG_ERR_BAD_PIN; break;
     case SW_CHV_BLOCKED:    ec = GPG_ERR_PIN_BLOCKED; break;
     case SW_USE_CONDITIONS: ec = GPG_ERR_USE_CONDITIONS; break;
+    case SW_NO_CURRENT_EF:  ec = GPG_ERR_ENOENT; break;
     case SW_NOT_SUPPORTED:  ec = GPG_ERR_NOT_SUPPORTED; break;
     case SW_BAD_PARAMETER:  ec = GPG_ERR_INV_VALUE; break;
     case SW_FILE_NOT_FOUND: ec = GPG_ERR_ENOENT; break;
@@ -191,18 +193,26 @@ iso7816_select_file (int slot, int tag, int is_dir)
 }
 
 
-/* Do a select file command with a direct path. */
+/* Do a select file command with a direct path.  If TOPDF is set, the
+ * actual used path is 3f00/<topdf>/<path>.  */
 gpg_error_t
-iso7816_select_path (int slot, const unsigned short *path, size_t pathlen)
+iso7816_select_path (int slot, const unsigned short *path, size_t pathlen,
+                     unsigned short topdf)
 {
   int sw, p0, p1;
   unsigned char buffer[100];
-  int buflen;
+  int buflen = 0;
 
-  if (pathlen/2 >= sizeof buffer)
+  if (pathlen*2 + 2 >= sizeof buffer)
     return gpg_error (GPG_ERR_TOO_LARGE);
 
-  for (buflen = 0; pathlen; pathlen--, path++)
+  if (topdf)
+    {
+      buffer[buflen++] = topdf >> 8;
+      buffer[buflen++] = topdf;
+    }
+
+  for (; pathlen; pathlen--, path++)
     {
       buffer[buflen++] = (*path >> 8);
       buffer[buflen++] = *path;
@@ -618,6 +628,67 @@ iso7816_decipher (int slot, int extended_mode,
 }
 
 
+/* Perform the security operation COMPUTE SHARED SECRET.  On success 0
+   is returned and the shared secret is available in a newly allocated
+   buffer stored at RESULT with its length stored at RESULTLEN.  For
+   LE see do_generate_keypair. */
+gpg_error_t
+iso7816_pso_csv (int slot, int extended_mode,
+                 const unsigned char *data, size_t datalen, int le,
+                 unsigned char **result, size_t *resultlen)
+{
+  int sw;
+  unsigned char *buf;
+  unsigned int nbuf;
+
+  if (!data || !datalen || !result || !resultlen)
+    return gpg_error (GPG_ERR_INV_VALUE);
+  *result = NULL;
+  *resultlen = 0;
+
+  if (!extended_mode)
+    le = 256;  /* Ignore provided Le and use what apdu_send uses. */
+  else if (le >= 0 && le < 256)
+    le = 256;
+
+  /* Data needs to be in BER-TLV format. */
+  buf = xtrymalloc (datalen + 4);
+  if (!buf)
+    return gpg_error_from_syserror ();
+  nbuf = 0;
+  buf[nbuf++] = 0x9c;
+  if (datalen < 128)
+    buf[nbuf++] = datalen;
+  else if (datalen < 256)
+    {
+      buf[nbuf++] = 0x81;
+      buf[nbuf++] = datalen;
+    }
+  else
+    {
+      buf[nbuf++] = 0x82;
+      buf[nbuf++] = datalen << 8;
+      buf[nbuf++] = datalen;
+    }
+  memcpy (buf+nbuf, data, datalen);
+  sw = apdu_send_le (slot, extended_mode,
+                     0x00, CMD_PSO, 0x80, 0xa6,
+                     datalen+nbuf, (const char *)buf, le,
+                     result, resultlen);
+  xfree (buf);
+  if (sw != SW_SUCCESS)
+    {
+      /* Make sure that pending buffers are released. */
+      xfree (*result);
+      *result = NULL;
+      *resultlen = 0;
+      return map_sw (sw);
+    }
+
+  return 0;
+}
+
+
 /* For LE see do_generate_keypair.  */
 gpg_error_t
 iso7816_internal_authenticate (int slot, int extended_mode,
@@ -786,13 +857,15 @@ iso7816_get_challenge (int slot, int length, unsigned char *buffer)
 }
 
 /* Perform a READ BINARY command requesting a maximum of NMAX bytes
-   from OFFSET.  With NMAX = 0 the entire file is read. The result is
-   stored in a newly allocated buffer at the address passed by RESULT.
-   Returns the length of this data at the address of RESULTLEN. */
+ * from OFFSET.  With NMAX = 0 the entire file is read. The result is
+ * stored in a newly allocated buffer at the address passed by RESULT.
+ * Returns the length of this data at the address of RESULTLEN.  If
+ * R_SW is not NULL the last status word is stored there. */
 gpg_error_t
 iso7816_read_binary_ext (int slot, int extended_mode,
                          size_t offset, size_t nmax,
-                         unsigned char **result, size_t *resultlen)
+                         unsigned char **result, size_t *resultlen,
+                         int *r_sw)
 {
   int sw;
   unsigned char *buffer;
@@ -800,6 +873,9 @@ iso7816_read_binary_ext (int slot, int extended_mode,
   int read_all = !nmax;
   size_t n;
 
+  if (r_sw)
+    *r_sw = 0;
+
   if (!result || !resultlen)
     return gpg_error (GPG_ERR_INV_VALUE);
   *result = NULL;
@@ -825,6 +901,8 @@ iso7816_read_binary_ext (int slot, int extended_mode,
                              ((offset>>8) & 0xff), (offset & 0xff) , -1, NULL,
                              n, &buffer, &bufferlen);
         }
+      if (r_sw)
+        *r_sw = sw;
 
       if (*result && sw == SW_BAD_P0_P1)
         {
@@ -885,7 +963,8 @@ gpg_error_t
 iso7816_read_binary (int slot, size_t offset, size_t nmax,
                      unsigned char **result, size_t *resultlen)
 {
-  return iso7816_read_binary_ext (slot, 0, offset, nmax, result, resultlen);
+  return iso7816_read_binary_ext (slot, 0, offset, nmax,
+                                  result, resultlen, NULL);
 }
 
 
@@ -895,15 +974,20 @@ iso7816_read_binary (int slot, size_t offset, size_t nmax,
    should be 0 to read the current EF or contain a short EF. The
    result is stored in a newly allocated buffer at the address passed
    by RESULT.  Returns the length of this data at the address of
-   RESULTLEN. */
+   RESULTLEN.  If R_SW is not NULL the last status word is stored
+   there.  */
 gpg_error_t
-iso7816_read_record (int slot, int recno, int reccount, int short_ef,
-                     unsigned char **result, size_t *resultlen)
+iso7816_read_record_ext (int slot, int recno, int reccount, int short_ef,
+                         unsigned char **result, size_t *resultlen,
+                         int *r_sw)
 {
   int sw;
   unsigned char *buffer;
   size_t bufferlen;
 
+  if (r_sw)
+    *r_sw = 0;
+
   if (!result || !resultlen)
     return gpg_error (GPG_ERR_INV_VALUE);
   *result = NULL;
@@ -922,6 +1006,8 @@ iso7816_read_record (int slot, int recno, int reccount, int short_ef,
                      short_ef? short_ef : 0x04,
                      -1, NULL,
                      0, &buffer, &bufferlen);
+  if (r_sw)
+    *r_sw = sw;
 
   if (sw != SW_SUCCESS && sw != SW_EOF_REACHED)
     {
@@ -937,3 +1023,11 @@ iso7816_read_record (int slot, int recno, int reccount, int short_ef,
 
   return 0;
 }
+
+gpg_error_t
+iso7816_read_record (int slot, int recno, int reccount, int short_ef,
+                     unsigned char **result, size_t *resultlen)
+{
+  return iso7816_read_record_ext (slot, recno, reccount, short_ef,
+                                  result, resultlen, NULL);
+}
index bad558d..d22f0be 100644 (file)
@@ -68,7 +68,8 @@ gpg_error_t iso7816_select_application_ext (int slot,
 gpg_error_t iso7816_select_mf (int slot);
 gpg_error_t iso7816_select_file (int slot, int tag, int is_dir);
 gpg_error_t iso7816_select_path (int slot,
-                                 const unsigned short *path, size_t pathlen);
+                                 const unsigned short *path, size_t pathlen,
+                                 unsigned short top_df);
 gpg_error_t iso7816_list_directory (int slot, int list_dirs,
                                     unsigned char **result, size_t *resultlen);
 gpg_error_t iso7816_apdu_direct (int slot,
@@ -109,6 +110,9 @@ gpg_error_t iso7816_decipher (int slot, int extended_mode,
                               const unsigned char *data, size_t datalen,
                               int le, int padind,
                               unsigned char **result, size_t *resultlen);
+gpg_error_t iso7816_pso_csv (int slot, int extended_mode,
+                             const unsigned char *data, size_t datalen, int le,
+                             unsigned char **result, size_t *resultlen);
 gpg_error_t iso7816_internal_authenticate (int slot, int extended_mode,
                                    const unsigned char *data, size_t datalen,
                                    int le,
@@ -135,9 +139,14 @@ gpg_error_t iso7816_get_challenge (int slot,
 
 gpg_error_t iso7816_read_binary_ext (int slot, int extended_mode,
                                      size_t offset, size_t nmax,
-                                     unsigned char **result, size_t *resultlen);
+                                     unsigned char **result, size_t *resultlen,
+                                     int *r_sw);
 gpg_error_t iso7816_read_binary (int slot, size_t offset, size_t nmax,
                                  unsigned char **result, size_t *resultlen);
+gpg_error_t iso7816_read_record_ext (int slot, int recno, int reccount,
+                                     int short_ef,
+                                     unsigned char **result, size_t *resultlen,
+                                     int *r_sw);
 gpg_error_t iso7816_read_record (int slot, int recno, int reccount,
                                  int short_ef,
                                  unsigned char **result, size_t *resultlen);
index 5c519f8..5491556 100644 (file)
@@ -48,7 +48,6 @@
 
 #include "../common/i18n.h"
 #include "../common/sysutils.h"
-#include "app-common.h"
 #include "iso7816.h"
 #include "apdu.h"
 #include "ccid-driver.h"
@@ -94,6 +93,7 @@ enum cmd_and_opt_values
   oCardTimeout,
   octapiDriver,
   opcscDriver,
+  opcscShared,
   oDisableCCID,
   oDisableOpenSC,
   oDisablePinpad,
@@ -140,6 +140,7 @@ static ARGPARSE_OPTS opts[] = {
                 N_("|NAME|use NAME as ct-API driver")),
   ARGPARSE_s_s (opcscDriver, "pcsc-driver",
                 N_("|NAME|use NAME as PC/SC driver")),
+  ARGPARSE_s_n (opcscShared, "pcsc-shared", "@"),
   ARGPARSE_s_n (oDisableCCID, "disable-ccid",
 #ifdef HAVE_LIBUSB
                                     N_("do not use the internal CCID driver")
@@ -587,6 +588,7 @@ main (int argc, char **argv )
         case oReaderPort: opt.reader_port = pargs.r.ret_str; break;
         case octapiDriver: opt.ctapi_driver = pargs.r.ret_str; break;
         case opcscDriver: opt.pcsc_driver = pargs.r.ret_str; break;
+        case opcscShared: opt.pcsc_shared = 1; break;
         case oDisableCCID: opt.disable_ccid = 1; break;
         case oDisableOpenSC: break;
 
@@ -1219,7 +1221,7 @@ scd_kick_the_loop (void)
 #else
   int ret = kill (main_thread_pid, SIGCONT);
   if (ret < 0)
-    log_error ("SetEvent for scd_kick_the_loop failed: %s\n",
+    log_error ("sending signal for scd_kick_the_loop failed: %s\n",
                gpg_strerror (gpg_error_from_syserror ()));
 #endif
 }
@@ -1275,6 +1277,8 @@ handle_connections (int listen_fd)
 
     events[0] = the_event = INVALID_HANDLE_VALUE;
     events[1] = INVALID_HANDLE_VALUE;
+    /* Create event for manual reset, initially non-signaled.  Make it
+     * waitable and inheritable.  */
     h = CreateEvent (&sa, TRUE, FALSE, NULL);
     if (!h)
       log_error ("can't create scd event: %s\n", w32_strerror (-1) );
index bf0afcb..3ba1b9a 100644 (file)
@@ -30,6 +30,8 @@
 #include <gcrypt.h>
 #include "../common/util.h"
 #include "../common/sysutils.h"
+#include "app-common.h"
+
 
 /* To convey some special hash algorithms we use algorithm numbers
    reserved for application use. */
@@ -60,6 +62,7 @@ struct
   int enable_pinpad_varlen;  /* Use variable length input for pinpad. */
   int allow_admin;     /* Allow the use of admin commands for certain
                           cards. */
+  int pcsc_shared;     /* Use shared PC/SC access.  */
   strlist_t disabled_applications;  /* Card applications we do not
                                        want to use. */
   unsigned long card_timeout; /* Disconnect after N seconds of inactivity.  */
@@ -112,7 +115,6 @@ struct server_control_s
   } in_data;
 };
 
-typedef struct app_ctx_s *app_t;
 
 /*-- scdaemon.c --*/
 void scd_exit (int rc);
@@ -121,9 +123,12 @@ const char *scd_get_socket_name (void);
 /*-- command.c --*/
 gpg_error_t initialize_module_command (void);
 int  scd_command_handler (ctrl_t, int);
+void send_keyinfo (ctrl_t ctrl, int data, const char *keygrip_str,
+                   const char *serialno, const char *idstr);
 void send_status_info (ctrl_t ctrl, const char *keyword, ...)
      GPGRT_ATTR_SENTINEL(1);
-void send_status_direct (ctrl_t ctrl, const char *keyword, const char *args);
+gpg_error_t send_status_direct (ctrl_t ctrl, const char *keyword,
+                                const char *args);
 gpg_error_t send_status_printf (ctrl_t ctrl, const char *keyword,
                                 const char *format, ...) GPGRT_ATTR_PRINTF(3,4);
 
index 849efe0..9dd355e 100644 (file)
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.16.1 from Makefile.am.
+# Makefile.in generated by automake 1.16.3 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2018 Free Software Foundation, Inc.
+# Copyright (C) 1994-2020 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
index 36afd22..1a411f2 100644 (file)
@@ -198,7 +198,7 @@ warn_version_mismatch (ctrl_t ctrl, assuan_context_t ctx,
 static void
 prepare_dirmngr (ctrl_t ctrl, assuan_context_t ctx, gpg_error_t err)
 {
-  struct keyserver_spec *server;
+  strlist_t server;
 
   if (!err)
     err = warn_version_mismatch (ctrl, ctx, DIRMNGR_NAME, 0);
@@ -219,12 +219,13 @@ prepare_dirmngr (ctrl_t ctrl, assuan_context_t ctx, gpg_error_t err)
   while (server)
     {
       char line[ASSUAN_LINELENGTH];
-      char *user = server->user ? server->user : "";
-      char *pass = server->pass ? server->pass : "";
-      char *base = server->base ? server->base : "";
 
-      snprintf (line, DIM (line), "LDAPSERVER %s:%i:%s:%s:%s",
-               server->host, server->port, user, pass, base);
+      /* If the host is "ldap" we prefix the entire line with "ldap:"
+       * to avoid an ambiguity on the server due to the introduction
+       * of this optional prefix.  */
+      snprintf (line, DIM (line), "LDAPSERVER %s%s",
+                !strncmp (server->d, "ldap:", 5)? "ldap:":"",
+                server->d);
 
       assuan_transact (ctx, line, NULL, NULL, NULL, NULL, NULL, NULL);
       /* The code below is not required because we don't return an error.  */
@@ -505,6 +506,8 @@ gpgsm_dirmngr_isvalid (ctrl_t ctrl,
   struct inq_certificate_parm_s parm;
   struct isvalid_status_parm_s stparm;
 
+  keydb_close_all_files ();
+
   rc = start_dirmngr (ctrl);
   if (rc)
     return rc;
@@ -775,6 +778,8 @@ gpgsm_dirmngr_lookup (ctrl_t ctrl, strlist_t names, const char *uri,
   if ((names && uri) || (!names && !uri))
     return gpg_error (GPG_ERR_INV_ARG);
 
+  keydb_close_all_files ();
+
   /* The lookup function can be invoked from the callback of a lookup
      function, for example to walk the chain.  */
   if (!dirmngr_ctx_locked)
@@ -1043,6 +1048,8 @@ gpgsm_dirmngr_run_command (ctrl_t ctrl, const char *command,
   size_t len;
   struct run_command_parm_s parm;
 
+  keydb_close_all_files ();
+
   rc = start_dirmngr (ctrl);
   if (rc)
     return rc;
index 12b3ec9..d6b967c 100644 (file)
@@ -293,7 +293,6 @@ extract_pss_params (gcry_sexp_t s_sig, int *r_algo, unsigned int *r_saltlen)
   if (*r_saltlen < 20)
     {
       log_error ("length of PSS salt too short\n");
-      gcry_sexp_release (s_sig);
       return gpg_error (GPG_ERR_DIGEST_ALGO);
     }
   if (!*r_algo)
index 90eba88..38aa832 100644 (file)
@@ -1,5 +1,7 @@
 /* decrypt.c - Decrypt a message
  * Copyright (C) 2001, 2003, 2010 Free Software Foundation, Inc.
+ * Copyright (C) 2001-2019 Werner Koch
+ * Copyright (C) 2015-2021 g10 Code GmbH
  *
  * This file is part of GnuPG.
  *
@@ -15,6 +17,7 @@
  *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, see <https://www.gnu.org/licenses/>.
+ * SPDX-License-Identifier: GPL-3.0-or-later
  */
 
 #include <config.h>
 #include "keydb.h"
 #include "../common/i18n.h"
 #include "../common/compliance.h"
+#include "../common/tlv.h"
+
+/* We can provide an enum value which is only availabale with KSBA
+ * 1.6.0 so that we can compile even against older versions.  Some
+ * calls will of course return an error in this case.  This value is
+ * currently not used because the cipher mode is sufficient here.  */
+/* #if KSBA_VERSION_NUMBER < 0x010600  /\* 1.6.0 *\/ */
+/* # define KSBA_CT_AUTHENVELOPED_DATA 10 */
+/* #endif */
+
 
 struct decrypt_filter_parm_s
 {
@@ -48,9 +61,388 @@ struct decrypt_filter_parm_s
   char helpblock[16];  /* needed because there is no block buffering in
                           libgcrypt (yet) */
   int  helpblocklen;
+  int is_de_vs;        /* Helper to track CO_DE_VS state.  */
 };
 
 
+/* Return the hash algorithm's algo id from its name given in the
+ * non-null termnated string in (buffer,buflen).  Returns 0 on failure
+ * or if the algo is not known.  */
+static char *
+string_from_gcry_buffer (gcry_buffer_t *buffer)
+{
+  char *string;
+
+  string = xtrymalloc (buffer->len + 1);
+  if (!string)
+    return NULL;
+  memcpy (string, buffer->data, buffer->len);
+  string[buffer->len] = 0;
+  return string;
+}
+
+
+/* Helper for pwri_decrypt to parse the derive info.
+ * Example data for (DER,DERLEN):
+ * SEQUENCE {
+ *   OCTET STRING
+ *     60 76 4B E9 5E DF 3C F8 B2 F9 B6 C2 7D 5A FB 90
+ *     23 B6 47 DF
+ *   INTEGER 10000
+ *   SEQUENCE {
+ *     OBJECT IDENTIFIER
+ *       hmacWithSHA512 (1 2 840 113549 2 11)
+ *     NULL
+ *     }
+ *   }
+ */
+static gpg_error_t
+pwri_parse_pbkdf2 (const unsigned char *der, size_t derlen,
+                   unsigned char const **r_salt, unsigned int *r_saltlen,
+                   unsigned long *r_iterations,
+                   enum gcry_md_algos *r_digest)
+{
+  gpg_error_t err;
+  size_t objlen, hdrlen;
+  int class, tag, constructed, ndef;
+  char *oidstr;
+
+  err = parse_ber_header (&der, &derlen, &class, &tag, &constructed,
+                          &ndef, &objlen, &hdrlen);
+  if (!err && (objlen > derlen || tag != TAG_SEQUENCE
+               || !constructed || ndef))
+    err = gpg_error (GPG_ERR_INV_OBJ);
+  if (err)
+    return err;
+  derlen = objlen;
+
+  err = parse_ber_header (&der, &derlen, &class, &tag, &constructed,
+                          &ndef, &objlen, &hdrlen);
+  if (!err && (objlen > derlen || tag != TAG_OCTET_STRING
+               || constructed || ndef))
+    err = gpg_error (GPG_ERR_INV_OBJ);
+  if (err)
+    return err;
+  *r_salt = der;
+  *r_saltlen = objlen;
+  der += objlen;
+  derlen -= objlen;
+
+  err = parse_ber_header (&der, &derlen, &class, &tag, &constructed,
+                          &ndef, &objlen, &hdrlen);
+  if (!err && (objlen > derlen || tag != TAG_INTEGER
+               || constructed || ndef))
+    err = gpg_error (GPG_ERR_INV_OBJ);
+  if (err)
+    return err;
+  *r_iterations = 0;
+  for (; objlen; objlen--)
+    {
+      *r_iterations <<= 8;
+      *r_iterations |= (*der++) & 0xff;
+      derlen--;
+    }
+
+  err = parse_ber_header (&der, &derlen, &class, &tag, &constructed,
+                          &ndef, &objlen, &hdrlen);
+  if (!err && (objlen > derlen || tag != TAG_SEQUENCE
+               || !constructed || ndef))
+    err = gpg_error (GPG_ERR_INV_OBJ);
+  if (err)
+    return err;
+  derlen = objlen;
+
+  err = parse_ber_header (&der, &derlen, &class, &tag, &constructed,
+                          &ndef, &objlen, &hdrlen);
+  if (!err && (objlen > derlen || tag != TAG_OBJECT_ID
+               || constructed || ndef))
+    err = gpg_error (GPG_ERR_INV_OBJ);
+  if (err)
+    return err;
+
+  oidstr = ksba_oid_to_str (der, objlen);
+  if (!oidstr)
+    return gpg_error_from_syserror ();
+  *r_digest = gcry_md_map_name (oidstr);
+  if (*r_digest)
+    ;
+  else if (!strcmp (oidstr, "1.2.840.113549.2.7"))
+    *r_digest = GCRY_MD_SHA1;
+  else if (!strcmp (oidstr, "1.2.840.113549.2.8"))
+    *r_digest = GCRY_MD_SHA224;
+  else if (!strcmp (oidstr, "1.2.840.113549.2.9"))
+    *r_digest = GCRY_MD_SHA256;
+  else if (!strcmp (oidstr, "1.2.840.113549.2.10"))
+    *r_digest = GCRY_MD_SHA384;
+  else if (!strcmp (oidstr, "1.2.840.113549.2.11"))
+    *r_digest = GCRY_MD_SHA512;
+  else
+    err = gpg_error (GPG_ERR_DIGEST_ALGO);
+  ksba_free (oidstr);
+
+  return err;
+}
+
+
+/* Password based decryption.
+ * ENC_VAL has the form:
+ *  (enc-val
+ *    (pwri
+ *      (derive-algo <oid>) --| both are optional
+ *      (derive-parm <der>) --|
+ *      (encr-algo <oid>)
+ *      (encr-parm <iv>)
+ *      (encr-key <key>)))  -- this is the encrypted session key
+ *
+ */
+static gpg_error_t
+pwri_decrypt (ctrl_t ctrl, gcry_sexp_t enc_val,
+              unsigned char **r_result, unsigned int *r_resultlen,
+              struct decrypt_filter_parm_s *parm)
+{
+  gpg_error_t err;
+  gcry_buffer_t ioarray[5] = { {0} };
+  char *derive_algo_str = NULL;
+  char *encr_algo_str = NULL;
+  const unsigned char *dparm;  /* Alias for ioarray[1].  */
+  unsigned int dparmlen;
+  const unsigned char *eparm;  /* Alias for ioarray[3].  */
+  unsigned int eparmlen;
+  const unsigned char *ekey;   /* Alias for ioarray[4].  */
+  unsigned int ekeylen;
+  unsigned char kek[32];
+  unsigned int keklen;
+  enum gcry_cipher_algos encr_algo;
+  enum gcry_cipher_modes encr_mode;
+  gcry_cipher_hd_t encr_hd = NULL;
+  unsigned char *result = NULL;
+  unsigned int resultlen;
+  unsigned int blklen;
+  const unsigned char *salt;   /* Points int dparm. */
+  unsigned int saltlen;
+  unsigned long iterations;
+  enum gcry_md_algos digest_algo;
+  char *passphrase = NULL;
+
+
+  *r_resultlen = 0;
+  *r_result = NULL;
+
+  err = gcry_sexp_extract_param (enc_val, "enc-val!pwri",
+                                 "&'derive-algo'?'derive-parm'?"
+                                 "'encr-algo''encr-parm''encr-key'",
+                                 ioarray+0, ioarray+1,
+                                 ioarray+2, ioarray+3, ioarray+4, NULL);
+  if (err)
+    {
+      /* If this is not pwri element, it is likly a kekri element
+       * which we do not yet support.  Change the error back to the
+       * original as returned by ksba_cms_get_issuer.  */
+      if (gpg_err_code (err) == GPG_ERR_NOT_FOUND)
+        err = gpg_error (GPG_ERR_UNSUPPORTED_CMS_OBJ);
+      else
+        log_error ("extracting PWRI parameter failed: %s\n",
+                   gpg_strerror (err));
+      goto leave;
+    }
+
+  if (ioarray[0].data)
+    {
+      derive_algo_str = string_from_gcry_buffer (ioarray+0);
+      if (!derive_algo_str)
+        {
+          err = gpg_error_from_syserror ();
+          goto leave;
+        }
+    }
+  dparm    = ioarray[1].data;
+  dparmlen = ioarray[1].len;
+  encr_algo_str = string_from_gcry_buffer (ioarray+2);
+  if (!encr_algo_str)
+    {
+      err = gpg_error_from_syserror ();
+      goto leave;
+    }
+  eparm    = ioarray[3].data;
+  eparmlen = ioarray[3].len;
+  ekey     = ioarray[4].data;
+  ekeylen  = ioarray[4].len;
+
+  /* Check parameters.  */
+  if (DBG_CRYPTO)
+    {
+      if (derive_algo_str)
+        {
+          log_debug ("derive algo: %s\n", derive_algo_str);
+          log_printhex (dparm, dparmlen, "derive parm:");
+        }
+      log_debug ("encr algo .: %s\n", encr_algo_str);
+      log_printhex (eparm, eparmlen, "encr parm .:");
+      log_printhex (ekey, ekeylen,   "encr key  .:");
+    }
+
+  if (!derive_algo_str)
+    {
+      err = gpg_error (GPG_ERR_NOT_SUPPORTED);
+      log_info ("PWRI with no key derivation detected\n");
+      goto leave;
+    }
+  if (strcmp (derive_algo_str, "1.2.840.113549.1.5.12"))
+    {
+      err = gpg_error (GPG_ERR_NOT_SUPPORTED);
+      log_info ("PWRI does not use PBKDF2 (but %s)\n", derive_algo_str);
+      goto leave;
+    }
+
+  digest_algo = 0;  /*(silence cc warning)*/
+  err = pwri_parse_pbkdf2 (dparm, dparmlen,
+                           &salt, &saltlen, &iterations, &digest_algo);
+  if (err)
+    {
+      log_error ("parsing PWRI parameter failed: %s\n", gpg_strerror (err));
+      goto leave;
+    }
+
+  parm->is_de_vs = (parm->is_de_vs
+                    && gnupg_digest_is_compliant (CO_DE_VS, digest_algo));
+
+
+  encr_algo = gcry_cipher_map_name (encr_algo_str);
+  encr_mode = gcry_cipher_mode_from_oid (encr_algo_str);
+  if (!encr_algo || !encr_mode)
+    {
+      log_error ("PWRI uses unknown algorithm %s\n", encr_algo_str);
+      err = gpg_error (GPG_ERR_CIPHER_ALGO);
+      goto leave;
+    }
+
+  parm->is_de_vs =
+    (parm->is_de_vs
+     && gnupg_cipher_is_compliant (CO_DE_VS, encr_algo, encr_mode));
+
+  keklen = gcry_cipher_get_algo_keylen (encr_algo);
+  blklen = gcry_cipher_get_algo_blklen (encr_algo);
+  if (!keklen || keklen > sizeof kek || blklen != 16 )
+    {
+      log_error ("PWRI algorithm %s cannot be used\n", encr_algo_str);
+      err = gpg_error (GPG_ERR_INV_KEYLEN);
+      goto leave;
+    }
+  if ((ekeylen % blklen) || (ekeylen / blklen < 2))
+    {
+      /* Note that we need at least two full blocks.  */
+      log_error ("PWRI uses a wrong length of encrypted key\n");
+      err = gpg_error (GPG_ERR_INV_KEYLEN);
+      goto leave;
+    }
+
+  err = gpgsm_agent_ask_passphrase
+    (ctrl,
+     i18n_utf8 (N_("Please enter the passphrase for decryption.")),
+     0, &passphrase);
+  if (err)
+    goto leave;
+
+  err = gcry_kdf_derive (passphrase, strlen (passphrase),
+                         GCRY_KDF_PBKDF2, digest_algo,
+                         salt, saltlen, iterations,
+                         keklen, kek);
+  if (passphrase)
+    {
+      wipememory (passphrase, strlen (passphrase));
+      xfree (passphrase);
+      passphrase = NULL;
+    }
+  if (err)
+    {
+      log_error ("deriving key from passphrase failed: %s\n",
+                 gpg_strerror (err));
+      goto leave;
+    }
+
+  if (DBG_CRYPTO)
+    log_printhex (kek, keklen, "KEK .......:");
+
+  /* Unwrap the key.  */
+  resultlen = ekeylen;
+  result = xtrymalloc_secure (resultlen);
+  if (!result)
+    {
+      err = gpg_error_from_syserror ();
+      goto leave;
+    }
+
+  err = gcry_cipher_open (&encr_hd, encr_algo, encr_mode, 0);
+  if (err)
+    {
+      log_error ("PWRI failed to open cipher: %s\n", gpg_strerror (err));
+      goto leave;
+    }
+
+  err = gcry_cipher_setkey (encr_hd, kek, keklen);
+  wipememory (kek, sizeof kek);
+  if (!err)
+    err = gcry_cipher_setiv (encr_hd, ekey + ekeylen - 2 * blklen, blklen);
+  if (!err)
+    err = gcry_cipher_decrypt (encr_hd, result + ekeylen - blklen, blklen,
+                               ekey + ekeylen - blklen, blklen);
+  if (!err)
+    err = gcry_cipher_setiv (encr_hd, result + ekeylen - blklen, blklen);
+  if (!err)
+    err = gcry_cipher_decrypt (encr_hd, result, ekeylen - blklen,
+                               ekey, ekeylen - blklen);
+  /* (We assume that that eparm is the octet string with the IV)  */
+  if (!err)
+    err = gcry_cipher_setiv (encr_hd, eparm, eparmlen);
+  if (!err)
+    err = gcry_cipher_decrypt (encr_hd, result, resultlen, NULL, 0);
+
+  if (err)
+    {
+      log_error ("KEK decryption failed for PWRI: %s\n", gpg_strerror (err));
+      goto leave;
+    }
+
+  if (DBG_CRYPTO)
+    log_printhex (result, resultlen, "Frame .....:");
+
+  if (result[0] < 8                /* At least 64 bits */
+      || (result[0] % 8)           /* Multiple of 64 bits */
+      || result[0] > resultlen - 4 /* Not more than the size of the input */
+      || ( (result[1] ^ result[4]) /* Matching check bytes.  */
+           & (result[2] ^ result[5])
+           & (result[3] ^ result[6]) ) != 0xff)
+    {
+      err = gpg_error (GPG_ERR_BAD_PASSPHRASE);
+      goto leave;
+    }
+
+  *r_resultlen = result[0];
+  *r_result = memmove (result, result + 4, result[0]);
+  result = NULL;
+
+ leave:
+  if (result)
+    {
+      wipememory (result, resultlen);
+      xfree (result);
+    }
+  if (passphrase)
+    {
+      wipememory (passphrase, strlen (passphrase));
+      xfree (passphrase);
+    }
+  gcry_cipher_close (encr_hd);
+  xfree (derive_algo_str);
+  xfree (encr_algo_str);
+  xfree (ioarray[0].data);
+  xfree (ioarray[1].data);
+  xfree (ioarray[2].data);
+  xfree (ioarray[3].data);
+  xfree (ioarray[4].data);
+  return err;
+}
+
 
 /* Decrypt the session key and fill in the parm structure.  The
    algo and the IV is expected to be already in PARM. */
@@ -61,21 +453,44 @@ prepare_decryption (ctrl_t ctrl, const char *hexkeygrip, const char *desc,
 {
   char *seskey = NULL;
   size_t n, seskeylen;
+  int pwri = !hexkeygrip;
   int rc;
 
-  rc = gpgsm_agent_pkdecrypt (ctrl, hexkeygrip, desc, enc_val,
-                              &seskey, &seskeylen);
-  if (rc)
+  if (DBG_CRYPTO)
+    log_printcanon ("decrypting:", enc_val, 0);
+
+  if (!pwri)
     {
-      log_error ("error decrypting session key: %s\n", gpg_strerror (rc));
-      goto leave;
+      rc = gpgsm_agent_pkdecrypt (ctrl, hexkeygrip, desc, enc_val,
+                                  &seskey, &seskeylen);
+      if (rc)
+        {
+          log_error ("error decrypting session key: %s\n", gpg_strerror (rc));
+          goto leave;
+        }
     }
 
-  if (DBG_CRYPTO)
-    log_printhex (seskey, seskeylen, "pkcs1 encoded session key:");
-
   n=0;
-  if (seskeylen == 32 || seskeylen == 24 || seskeylen == 16)
+  if (pwri) /* Password based encryption.  */
+    {
+      gcry_sexp_t s_enc_val;
+      unsigned char *decrypted;
+      unsigned int decryptedlen;
+
+      rc = gcry_sexp_sscan (&s_enc_val, NULL, enc_val,
+                            gcry_sexp_canon_len (enc_val, 0, NULL, NULL));
+      if (rc)
+        goto leave;
+
+      rc = pwri_decrypt (ctrl, s_enc_val, &decrypted, &decryptedlen, parm);
+      gcry_sexp_release (s_enc_val);
+      if (rc)
+        goto leave;
+      xfree (seskey);
+      seskey = decrypted;
+      seskeylen = decryptedlen;
+    }
+  else if (seskeylen == 32 || seskeylen == 24 || seskeylen == 16)
     {
       /* Smells like an AES-128, 3-DES, or AES-256 key.  This might
        * happen because a SC has already done the unpacking.  A better
@@ -117,6 +532,11 @@ prepare_decryption (ctrl_t ctrl, const char *hexkeygrip, const char *desc,
   if (DBG_CRYPTO)
     log_printhex (seskey+n, seskeylen-n, "session key:");
 
+  if (opt.verbose)
+    log_info (_("%s.%s encrypted data\n"),
+              gcry_cipher_algo_name (parm->algo),
+              cipher_mode_to_string (parm->mode));
+
   rc = gcry_cipher_open (&parm->hd, parm->algo, parm->mode, 0);
   if (rc)
     {
@@ -137,7 +557,20 @@ prepare_decryption (ctrl_t ctrl, const char *hexkeygrip, const char *desc,
       goto leave;
     }
 
-  gcry_cipher_setiv (parm->hd, parm->iv, parm->ivlen);
+  rc = gcry_cipher_setiv (parm->hd, parm->iv, parm->ivlen);
+  if (rc)
+    {
+      log_error("IV setup failed: %s\n", gpg_strerror(rc) );
+      goto leave;
+    }
+
+  if (parm->mode == GCRY_CIPHER_MODE_GCM)
+    {
+      /* GCM mode really sucks in CMS.  We need to know the AAD before
+       * we start decrypting but CMS puts the AAD after the content.
+       * Thus temporary files are required.  Let's hope that no real
+       * messages with actual AAD are ever used.  OCB Rules! */
+    }
 
  leave:
   xfree (seskey);
@@ -238,6 +671,36 @@ decrypt_filter (void *arg,
 }
 
 
+/* This is the GCM version of decrypt_filter.  */
+static gpg_error_t
+decrypt_gcm_filter (void *arg,
+                    const void *inbuf, size_t inlen, size_t *inused,
+                    void *outbuf, size_t maxoutlen, size_t *outlen)
+{
+  struct decrypt_filter_parm_s *parm = arg;
+
+  if (!inlen)
+    return gpg_error (GPG_ERR_BUG);
+
+  if (maxoutlen < parm->blklen)
+    return gpg_error (GPG_ERR_BUG);
+
+  if (inlen > maxoutlen)
+    inlen = maxoutlen;
+
+  *inused = inlen;
+  if (inlen)
+    {
+      gcry_cipher_decrypt (parm->hd, outbuf, inlen, inbuf, inlen);
+      *outlen = inlen;
+      parm->any_data = 1;
+    }
+  else
+    *outlen = 0;
+  return 0;
+}
+
+
 \f
 /* Perform a decrypt operation.  */
 int
@@ -326,7 +789,6 @@ gpgsm_decrypt (ctrl_t ctrl, int in_fd, estream_t out_fp)
           int algo, mode;
           const char *algoid;
           int any_key = 0;
-          int is_de_vs;        /* Computed compliance with CO_DE_VS.  */
 
           audit_log (ctrl->audit, AUDIT_GOT_DATA);
 
@@ -370,7 +832,7 @@ gpgsm_decrypt (ctrl_t ctrl, int in_fd, estream_t out_fp)
             }
 
           /* For CMS, CO_DE_VS demands CBC mode.  */
-          is_de_vs = gnupg_cipher_is_compliant (CO_DE_VS, algo, mode);
+          dfparm.is_de_vs = gnupg_cipher_is_compliant (CO_DE_VS, algo, mode);
 
           audit_log_i (ctrl->audit, AUDIT_DATA_CIPHER_ALGO, algo);
           dfparm.algo = algo;
@@ -395,27 +857,41 @@ gpgsm_decrypt (ctrl_t ctrl, int in_fd, estream_t out_fp)
               ksba_sexp_t serial;
               ksba_sexp_t enc_val;
               char *hexkeygrip = NULL;
+              char *pkalgostr = NULL;
+              char *pkfpr = NULL;
               char *desc = NULL;
               char kidbuf[16+1];
+              int tmp_rc;
+              ksba_cert_t cert = NULL;
+              unsigned int nbits;
+              int pk_algo = 0;
+              int maybe_pwri = 0;
 
               *kidbuf = 0;
 
-              rc = ksba_cms_get_issuer_serial (cms, recp, &issuer, &serial);
-              if (rc == -1 && recp)
+              tmp_rc = ksba_cms_get_issuer_serial (cms, recp, &issuer, &serial);
+              if (tmp_rc == -1 && recp)
                 break; /* no more recipients */
               audit_log_i (ctrl->audit, AUDIT_NEW_RECP, recp);
-              if (rc)
-                log_error ("recp %d - error getting info: %s\n",
-                           recp, gpg_strerror (rc));
+              if (gpg_err_code (tmp_rc) == GPG_ERR_UNSUPPORTED_CMS_OBJ)
+                {
+                  maybe_pwri = 1;
+                }
+              else if (tmp_rc)
+                {
+                  log_error ("recp %d - error getting info: %s\n",
+                             recp, gpg_strerror (tmp_rc));
+                }
               else
                 {
-                  ksba_cert_t cert = NULL;
-
-                  log_debug ("recp %d - issuer: '%s'\n",
-                             recp, issuer? issuer:"[NONE]");
-                  log_debug ("recp %d - serial: ", recp);
-                  gpgsm_dump_serial (serial);
-                  log_printf ("\n");
+                  if (opt.verbose)
+                    {
+                      log_debug ("recp %d - issuer: '%s'\n",
+                                 recp, issuer? issuer:"[NONE]");
+                      log_debug ("recp %d - serial: ", recp);
+                      gpgsm_dump_serial (serial);
+                      log_printf ("\n");
+                    }
 
                   if (ctrl->audit)
                     {
@@ -475,57 +951,63 @@ gpgsm_decrypt (ctrl_t ctrl, int in_fd, estream_t out_fp)
 
                   hexkeygrip = gpgsm_get_keygrip_hexstring (cert);
                   desc = gpgsm_format_keydesc (cert);
+                  pkfpr = gpgsm_get_fingerprint_hexstring (cert, GCRY_MD_SHA1);
+                  pkalgostr = gpgsm_pubkey_algo_string (cert, NULL);
+                  pk_algo = gpgsm_get_key_algo_info (cert, &nbits);
+                  if (!opt.quiet)
+                    log_info (_("encrypted to %s key %s\n"), pkalgostr, pkfpr);
+
+                  /* Check compliance.  */
+                  if (!gnupg_pk_is_allowed (opt.compliance,
+                                            PK_USE_DECRYPTION,
+                                            pk_algo, 0, NULL, nbits, NULL))
+                    {
+                      char  kidstr[10+1];
+
+                      snprintf (kidstr, sizeof kidstr, "0x%08lX",
+                                gpgsm_get_short_fingerprint (cert, NULL));
+                      log_info (_("key %s is not suitable for decryption"
+                                  " in %s mode\n"),
+                                kidstr,
+                                gnupg_compliance_option_string(opt.compliance));
+                      rc = gpg_error (GPG_ERR_PUBKEY_ALGO);
+                      goto oops;
+                    }
 
-                  {
-                    unsigned int nbits;
-                    int pk_algo = gpgsm_get_key_algo_info (cert, &nbits);
-
-                    /* Check compliance.  */
-                    if (!gnupg_pk_is_allowed (opt.compliance,
-                                              PK_USE_DECRYPTION,
-                                              pk_algo, 0, NULL, nbits, NULL))
-                      {
-                        char  kidstr[10+1];
-
-                        snprintf (kidstr, sizeof kidstr, "0x%08lX",
-                                  gpgsm_get_short_fingerprint (cert, NULL));
-                        log_info
-                          (_("key %s is not suitable for decryption"
-                             " in %s mode\n"),
-                           kidstr,
-                           gnupg_compliance_option_string (opt.compliance));
-                        rc = gpg_error (GPG_ERR_PUBKEY_ALGO);
-                        goto oops;
-                      }
-
-                    /* Check that all certs are compliant with CO_DE_VS.  */
-                    is_de_vs =
-                      (is_de_vs
-                       && gnupg_pk_is_compliant (CO_DE_VS, pk_algo, 0, NULL,
-                                                 nbits, NULL));
-                  }
+                  /* Check that all certs are compliant with CO_DE_VS.  */
+                  dfparm.is_de_vs =
+                    (dfparm.is_de_vs
+                     && gnupg_pk_is_compliant (CO_DE_VS, pk_algo, 0,
+                                               NULL, nbits, NULL));
 
                 oops:
                   if (rc)
                     {
                       /* We cannot check compliance of certs that we
                        * don't have.  */
-                      is_de_vs = 0;
+                      dfparm.is_de_vs = 0;
                     }
                   xfree (issuer);
                   xfree (serial);
                   ksba_cert_release (cert);
                 }
 
-              if (!hexkeygrip)
+              if ((!hexkeygrip || !pk_algo) && !maybe_pwri)
                 ;
               else if (!(enc_val = ksba_cms_get_enc_val (cms, recp)))
-                log_error ("recp %d - error getting encrypted session key\n",
-                           recp);
+                {
+                  log_error ("recp %d - error getting encrypted session key\n",
+                             recp);
+                  if (maybe_pwri)
+                    log_info ("(possibly unsupported KEK info)\n");
+                }
               else
                 {
-                  rc = prepare_decryption (ctrl,
-                                           hexkeygrip, desc, enc_val, &dfparm);
+                  if (maybe_pwri && opt.verbose)
+                    log_info ("recp %d - KEKRI or PWRI\n", recp);
+
+                  rc = prepare_decryption (ctrl, hexkeygrip,
+                                           desc, enc_val, &dfparm);
                   xfree (enc_val);
                   if (rc)
                     {
@@ -537,17 +1019,22 @@ gpgsm_decrypt (ctrl_t ctrl, int in_fd, estream_t out_fp)
                   else
                     { /* setup the bulk decrypter */
                       any_key = 1;
-                      ksba_writer_set_filter (writer,
-                                              decrypt_filter,
-                                              &dfparm);
-
-                      if (is_de_vs)
+                      ksba_writer_set_filter
+                        (writer,
+                         dfparm.mode == GCRY_CIPHER_MODE_GCM?
+                         decrypt_gcm_filter : decrypt_filter,
+                         &dfparm);
+
+                      if (dfparm.is_de_vs
+                          && gnupg_gcrypt_is_compliant (CO_DE_VS))
                         gpgsm_status (ctrl, STATUS_DECRYPTION_COMPLIANCE_MODE,
                                       gnupg_status_compliance_flag (CO_DE_VS));
 
                     }
                   audit_log_ok (ctrl->audit, AUDIT_RECP_RESULT, rc);
                 }
+              xfree (pkalgostr);
+              xfree (pkfpr);
               xfree (hexkeygrip);
               xfree (desc);
             }
@@ -590,7 +1077,11 @@ gpgsm_decrypt (ctrl_t ctrl, int in_fd, estream_t out_fp)
       else if (stopreason == KSBA_SR_END_DATA)
         {
           ksba_writer_set_filter (writer, NULL, NULL);
-          if (dfparm.any_data)
+          if (dfparm.mode == GCRY_CIPHER_MODE_GCM)
+            {
+              /* Nothing yet to do.  We wait for the ready event.  */
+            }
+          else if (dfparm.any_data )
             { /* write the last block with padding removed */
               int i, npadding = dfparm.lastblock[dfparm.blklen-1];
               if (!npadding || npadding > dfparm.blklen)
@@ -616,7 +1107,28 @@ gpgsm_decrypt (ctrl_t ctrl, int in_fd, estream_t out_fp)
                 }
             }
         }
+      else if (stopreason == KSBA_SR_READY)
+        {
+          if (dfparm.mode == GCRY_CIPHER_MODE_GCM)
+            {
+              char *authtag;
+              size_t authtaglen;
 
+              rc = ksba_cms_get_message_digest (cms, 0, &authtag, &authtaglen);
+              if (rc)
+                {
+                  log_error ("error getting authtag: %s\n", gpg_strerror (rc));
+                  goto leave;
+                }
+              if (DBG_CRYPTO)
+                log_printhex (authtag, authtaglen, "Authtag ...:");
+              rc = gcry_cipher_checktag (dfparm.hd, authtag, authtaglen);
+              xfree (authtag);
+              if (rc)
+                log_error ("data is not authentic: %s\n", gpg_strerror (rc));
+              goto leave;
+            }
+        }
     }
   while (stopreason != KSBA_SR_READY);
 
index f03097c..37cfe92 100644 (file)
@@ -203,6 +203,7 @@ encrypt_dek (const DEK dek, ksba_cert_t cert, unsigned char **encval)
   rc = encode_session_key (dek, &s_data);
   if (rc)
     {
+      gcry_sexp_release (s_pkey);
       log_error ("encode_session_key failed: %s\n", gpg_strerror (rc));
       return rc;
     }
@@ -531,7 +532,7 @@ gpgsm_encrypt (ctrl_t ctrl, certlist_t recplist, int data_fd, estream_t out_fp)
         }
     }
 
-  if (compliant)
+  if (compliant && gnupg_gcrypt_is_compliant (CO_DE_VS))
     gpgsm_status (ctrl, STATUS_ENCRYPTION_COMPLIANCE_MODE,
                   gnupg_status_compliance_flag (CO_DE_VS));
 
@@ -564,7 +565,8 @@ gpgsm_encrypt (ctrl_t ctrl, certlist_t recplist, int data_fd, estream_t out_fp)
       goto leave;
     }
   audit_log (ctrl->audit, AUDIT_ENCRYPTION_DONE);
-  log_info ("encrypted data created\n");
+  if (!opt.quiet)
+    log_info ("encrypted data created\n");
 
  leave:
   ksba_cms_release (cms);
index 7bea9cc..3da06d7 100644 (file)
@@ -707,8 +707,8 @@ export_p12 (ctrl_t ctrl, const unsigned char *certimg, size_t certimglen,
     {
       err = gpgsm_agent_ask_passphrase
         (ctrl,
-         i18n_utf8 ("Please enter the passphrase to protect the "
-                    "new PKCS#12 object."),
+         i18n_utf8 (N_("Please enter the passphrase to protect the "
+                       "new PKCS#12 object.")),
          1, &passphrase);
       if (err)
         goto leave;
index 55a92c6..5c1f0bb 100644 (file)
@@ -45,6 +45,7 @@
 #include "../common/asshelp.h"
 #include "../common/init.h"
 #include "../common/compliance.h"
+#include "minip12.h"
 
 
 #ifndef O_BINARY
@@ -336,8 +337,10 @@ static ARGPARSE_OPTS opts[] = {
   /*                  N_("use the default key as default recipient")), */
   /*   ARGPARSE_s_n (oNoDefRecipient, "no-default-recipient", "@"), */
 
-  ARGPARSE_s_s (oKeyServer, "keyserver",
+  ARGPARSE_s_s (oKeyServer, "ldapserver",
                 N_("|SPEC|use this keyserver to lookup keys")),
+  ARGPARSE_s_s (oKeyServer, "keyserver", "@"),
+
   ARGPARSE_conffile (oOptions, "options", N_("|FILE|read options from FILE")),
 
   ARGPARSE_s_s (oDebug, "debug", "@"),
@@ -731,6 +734,10 @@ set_debug (void)
 
   if (opt.debug)
     parse_debug_flag (NULL, &opt.debug, debug_flags);
+
+  /* minip12.c may be used outside of GnuPG, thus we don't have the
+   * opt structure over there.  */
+  p12_set_verbosity (opt.verbose);
 }
 
 
@@ -791,99 +798,6 @@ parse_validation_model (const char *model)
 }
 
 
-/* Release the list of SERVERS.  As usual it is okay to call this
-   function with SERVERS passed as NULL.  */
-void
-keyserver_list_free (struct keyserver_spec *servers)
-{
-  while (servers)
-    {
-      struct keyserver_spec *tmp = servers->next;
-      xfree (servers->host);
-      xfree (servers->user);
-      if (servers->pass)
-        memset (servers->pass, 0, strlen (servers->pass));
-      xfree (servers->pass);
-      xfree (servers->base);
-      xfree (servers);
-      servers = tmp;
-    }
-}
-
-/* See also dirmngr ldapserver_parse_one().  */
-struct keyserver_spec *
-parse_keyserver_line (char *line,
-                     const char *filename, unsigned int lineno)
-{
-  char *p;
-  char *endp;
-  struct keyserver_spec *server;
-  int fieldno;
-  int fail = 0;
-
-  /* Parse the colon separated fields.  */
-  server = xcalloc (1, sizeof *server);
-  for (fieldno = 1, p = line; p; p = endp, fieldno++ )
-    {
-      endp = strchr (p, ':');
-      if (endp)
-       *endp++ = '\0';
-      trim_spaces (p);
-      switch (fieldno)
-       {
-       case 1:
-         if (*p)
-           server->host = xstrdup (p);
-         else
-           {
-             log_error (_("%s:%u: no hostname given\n"),
-                        filename, lineno);
-             fail = 1;
-           }
-         break;
-
-       case 2:
-         if (*p)
-           server->port = atoi (p);
-         break;
-
-       case 3:
-         if (*p)
-           server->user = xstrdup (p);
-         break;
-
-       case 4:
-         if (*p && !server->user)
-           {
-             log_error (_("%s:%u: password given without user\n"),
-                        filename, lineno);
-             fail = 1;
-           }
-         else if (*p)
-           server->pass = xstrdup (p);
-         break;
-
-       case 5:
-         if (*p)
-           server->base = xstrdup (p);
-         break;
-
-       default:
-         /* (We silently ignore extra fields.) */
-         break;
-       }
-    }
-
-  if (fail)
-    {
-      log_info (_("%s:%u: skipping this line\n"), filename, lineno);
-      keyserver_list_free (server);
-      server = NULL;
-    }
-
-  return server;
-}
-
 
 int
 main ( int argc, char **argv)
@@ -1441,21 +1355,7 @@ main ( int argc, char **argv)
         case oValidationModel: parse_validation_model (pargs.r.ret_str); break;
 
        case oKeyServer:
-         {
-           struct keyserver_spec *keyserver;
-           keyserver = parse_keyserver_line (pargs.r.ret_str,
-                                             configname, pargs.lineno);
-           if (! keyserver)
-             log_error (_("could not parse keyserver\n"));
-           else
-             {
-               /* FIXME: Keep last next pointer.  */
-               struct keyserver_spec **next_p = &opt.keyserver;
-               while (*next_p)
-                 next_p = &(*next_p)->next;
-               *next_p = keyserver;
-             }
-         }
+          append_to_strlist (&opt.keyserver, pargs.r.ret_str);
          break;
 
         case oIgnoreCertExtension:
@@ -1927,16 +1827,22 @@ main ( int argc, char **argv)
     case aDecrypt:
       {
         estream_t fp = open_es_fwrite (opt.outfile?opt.outfile:"-");
+        gpg_error_t err;
 
         set_binary (stdin);
         if (!argc)
-          gpgsm_decrypt (&ctrl, 0, fp); /* from stdin */
+          err = gpgsm_decrypt (&ctrl, 0, fp); /* from stdin */
         else if (argc == 1)
-          gpgsm_decrypt (&ctrl, open_read (*argv), fp); /* from file */
+          err = gpgsm_decrypt (&ctrl, open_read (*argv), fp); /* from file */
         else
           wrong_args ("--decrypt [filename]");
 
-        es_fclose (fp);
+#if GPGRT_VERSION_NUMBER >= 0x012700  /* 1.39 */
+        if (err)
+          gpgrt_fcancel (fp);
+        else
+#endif
+          es_fclose (fp);
       }
       break;
 
@@ -2137,7 +2043,7 @@ main ( int argc, char **argv)
     }
 
   /* cleanup */
-  keyserver_list_free (opt.keyserver);
+  free_strlist (opt.keyserver);
   opt.keyserver = NULL;
   gpgsm_release_certlist (recplist);
   gpgsm_release_certlist (signerlist);
index d128344..9d9a303 100644 (file)
 
 #define MAX_DIGEST_LEN 64
 
-struct keyserver_spec
-{
-  struct keyserver_spec *next;
-
-  char *host;
-  int port;
-  char *user;
-  char *pass;
-  char *base;
-};
-
 
 /* A large struct named "opt" to keep global flags. */
 EXTERN_UNLESS_MAIN_MODULE
@@ -141,7 +130,7 @@ struct
                                the integrity of the software at
                                runtime. */
 
-  struct keyserver_spec *keyserver;
+  strlist_t keyserver;
 
   /* A list of certificate extension OIDs which are ignored so that
      one can claim that a critical extension has been handled.  One
index ca69382..d7c898a 100644 (file)
@@ -771,7 +771,7 @@ parse_p12 (ctrl_t ctrl, ksba_reader_t reader, struct stats_s *stats)
 
   err = gpgsm_agent_ask_passphrase
     (ctrl,
-     i18n_utf8 ("Please enter the passphrase to unprotect the PKCS#12 object."),
+     i18n_utf8 (N_("Please enter the passphrase to unprotect the PKCS#12 object.")),
      0, &passphrase);
   if (err)
     goto leave;
@@ -836,7 +836,8 @@ parse_p12 (ctrl_t ctrl, ksba_reader_t reader, struct stats_s *stats)
       log_error ("can't calculate keygrip\n");
       goto leave;
     }
-  log_printhex (grip, 20, "keygrip=");
+  if (DBG_X509)
+    log_printhex (grip, 20, "keygrip=");
 
   /* Convert to canonical encoding using a function which pads it to a
      multiple of 64 bits.  We need this padding for AESWRAP.  */
index 8c0537a..564d449 100644 (file)
@@ -58,7 +58,6 @@ static int any_registered;
 
 
 struct keydb_handle {
-  int locked;
   int found;
   int saved_found;
   int current;
@@ -147,7 +146,7 @@ maybe_create_keybox (char *filename, int force, int *r_created)
     }
   *last_slash_in_filename = save_slash;
 
-  /* To avoid races with other instances of gpg trying to create or
+  /* To avoid races with other instances of gpg/gpgsm trying to create or
      update the keybox (it is removed during an update for a short
      time), we do the next stuff in a locked state. */
   lockhd = dotlock_create (filename, 0);
@@ -175,7 +174,7 @@ maybe_create_keybox (char *filename, int force, int *r_created)
     }
 
   /* Now the real test while we are locked. */
-  if (!access(filename, F_OK))
+  if (!gnupg_access(filename, F_OK))
     {
       rc = 0;  /* Okay, we may access the file now.  */
       goto leave;
@@ -375,6 +374,23 @@ keydb_add_resource (ctrl_t ctrl, const char *url, int force, int *auto_created)
 }
 
 
+/* This is a helper requyired under Windows to close all files so that
+ * a rename will work.  */
+void
+keydb_close_all_files (void)
+{
+#ifdef HAVE_W32_SYSTEM
+  int i;
+
+  log_assert (used_resources <= MAX_KEYDB_RESOURCES);
+  for (i=0; i < used_resources; i++)
+    if (all_resources[i].type == KEYDB_RESOURCE_TYPE_KEYBOX)
+      keybox_close_all_files (all_resources[i].token);
+#endif
+}
+
+
+
 KEYDB_HANDLE
 keydb_new (void)
 {
@@ -505,22 +521,22 @@ keydb_set_ephemeral (KEYDB_HANDLE hd, int yes)
 }
 
 
+\f
 /* If the keyring has not yet been locked, lock it now.  This
-   operation is required before any update operation; it is optional
-   for an insert operation.  The lock is released with
-   keydb_released. */
+   operation is required before any update operation; On Windows it is
+   always required to disallow other processes to open the file which
+   in turn would inhibit our copy+update+rename method.  The lock is
+   released with keydb_released. */
 gpg_error_t
 keydb_lock (KEYDB_HANDLE hd)
 {
   if (!hd)
     return gpg_error (GPG_ERR_INV_HANDLE);
-  if (hd->locked)
-    return 0; /* Already locked. */
   return lock_all (hd);
 }
 
 
-\f
+/* Same as keydb_lock but no check for an invalid HD.  */
 static int
 lock_all (KEYDB_HANDLE hd)
 {
@@ -560,8 +576,6 @@ lock_all (KEYDB_HANDLE hd)
               }
           }
       }
-    else
-      hd->locked = 1;
 
     /* make_dotlock () does not yet guarantee that errno is set, thus
        we can't rely on the error reason and will simply use
@@ -569,14 +583,12 @@ lock_all (KEYDB_HANDLE hd)
     return rc? gpg_error (GPG_ERR_EACCES) : 0;
 }
 
+
 static void
 unlock_all (KEYDB_HANDLE hd)
 {
   int i;
 
-  if (!hd->locked)
-    return;
-
   for (i=hd->used-1; i >= 0; i--)
     {
       switch (hd->active[i].type)
@@ -589,7 +601,6 @@ unlock_all (KEYDB_HANDLE hd)
           break;
         }
     }
-  hd->locked = 0;
 }
 
 
@@ -719,7 +730,7 @@ keydb_set_flags (KEYDB_HANDLE hd, int which, int idx, unsigned int value)
   if ( hd->found < 0 || hd->found >= hd->used)
     return gpg_error (GPG_ERR_NOTHING_FOUND);
 
-  if (!hd->locked)
+  if (!dotlock_is_locked (hd->active[hd->found].lockhandle))
     return gpg_error (GPG_ERR_NOT_LOCKED);
 
   switch (hd->active[hd->found].type)
@@ -758,7 +769,7 @@ keydb_insert_cert (KEYDB_HANDLE hd, ksba_cert_t cert)
   else
     return gpg_error (GPG_ERR_GENERAL);
 
-  if (!hd->locked)
+  if (!dotlock_is_locked (hd->active[idx].lockhandle))
     return gpg_error (GPG_ERR_NOT_LOCKED);
 
   gpgsm_get_fingerprint (cert, GCRY_MD_SHA1, digest, NULL); /* kludge*/
@@ -778,44 +789,6 @@ keydb_insert_cert (KEYDB_HANDLE hd, ksba_cert_t cert)
 }
 
 
-
-/* Update the current keyblock with KB.  */
-int
-keydb_update_cert (KEYDB_HANDLE hd, ksba_cert_t cert)
-{
-  int rc = 0;
-  unsigned char digest[20];
-
-  if (!hd)
-    return gpg_error (GPG_ERR_INV_VALUE);
-
-  if ( hd->found < 0 || hd->found >= hd->used)
-    return -1; /* nothing found */
-
-  if (opt.dry_run)
-    return 0;
-
-  rc = lock_all (hd);
-  if (rc)
-    return rc;
-
-  gpgsm_get_fingerprint (cert, GCRY_MD_SHA1, digest, NULL); /* kludge*/
-
-  switch (hd->active[hd->found].type)
-    {
-    case KEYDB_RESOURCE_TYPE_NONE:
-      rc = gpg_error (GPG_ERR_GENERAL); /* oops */
-      break;
-    case KEYDB_RESOURCE_TYPE_KEYBOX:
-      rc = keybox_update_cert (hd->active[hd->found].u.kr, cert, digest);
-      break;
-    }
-
-  unlock_all (hd);
-  return rc;
-}
-
-
 /*
  * The current keyblock or cert will be deleted.
  */
@@ -833,7 +806,7 @@ keydb_delete (KEYDB_HANDLE hd, int unlock)
   if( opt.dry_run )
     return 0;
 
-  if (!hd->locked)
+  if (!dotlock_is_locked (hd->active[hd->found].lockhandle))
     return gpg_error (GPG_ERR_NOT_LOCKED);
 
   switch (hd->active[hd->found].type)
@@ -952,7 +925,7 @@ int
 keydb_search (ctrl_t ctrl, KEYDB_HANDLE hd,
               KEYDB_SEARCH_DESC *desc, size_t ndesc)
 {
-  int rc = -1;
+  int rc;
   unsigned long skipped;
 
   if (!hd)
@@ -965,6 +938,11 @@ keydb_search (ctrl_t ctrl, KEYDB_HANDLE hd,
       return gpg_error (GPG_ERR_NOT_FOUND);
     }
 
+  rc = lock_all (hd);
+  if (rc)
+    return rc;
+  rc = -1;
+
   while (rc == -1 && hd->current >= 0 && hd->current < hd->used)
     {
       switch (hd->active[hd->current].type)
@@ -1118,6 +1096,7 @@ keydb_store_cert (ctrl_t ctrl, ksba_cert_t cert, int ephemeral, int *existed)
      records.  */
   keydb_set_ephemeral (kh, 1);
 
+  keydb_close_all_files ();
   rc = lock_all (kh);
   if (rc)
     return rc;
@@ -1203,7 +1182,8 @@ keydb_set_cert_flags (ctrl_t ctrl, ksba_cert_t cert, int ephemeral,
   if (ephemeral)
     keydb_set_ephemeral (kh, 1);
 
-  err = keydb_lock (kh);
+  keydb_close_all_files ();
+  err = lock_all (kh);
   if (err)
     {
       log_error (_("error locking keybox: %s\n"), gpg_strerror (err));
@@ -1301,7 +1281,8 @@ keydb_clear_some_cert_flags (ctrl_t ctrl, strlist_t names)
         }
     }
 
-  err = keydb_lock (hd);
+  keydb_close_all_files ();
+  err = lock_all (hd);
   if (err)
     {
       log_error (_("error locking keybox: %s\n"), gpg_strerror (err));
@@ -1333,7 +1314,7 @@ keydb_clear_some_cert_flags (ctrl_t ctrl, strlist_t names)
         }
     }
   if (rc && rc != -1)
-    log_error ("keydb_search failed: %s\n", gpg_strerror (rc));
+    log_error ("%s failed: %s\n", __func__, gpg_strerror (rc));
 
  leave:
   xfree (desc);
index 6234625..226cac2 100644 (file)
@@ -33,6 +33,8 @@ typedef struct keydb_handle *KEYDB_HANDLE;
 /*-- keydb.c --*/
 gpg_error_t keydb_add_resource (ctrl_t ctrl, const char *url,
                                 int force, int *auto_created);
+void keydb_close_all_files (void);
+
 KEYDB_HANDLE keydb_new (void);
 void keydb_release (KEYDB_HANDLE hd);
 int keydb_set_ephemeral (KEYDB_HANDLE hd, int yes);
@@ -47,7 +49,6 @@ void keydb_push_found_state (KEYDB_HANDLE hd);
 void keydb_pop_found_state (KEYDB_HANDLE hd);
 int keydb_get_cert (KEYDB_HANDLE hd, ksba_cert_t *r_cert);
 int keydb_insert_cert (KEYDB_HANDLE hd, ksba_cert_t cert);
-int keydb_update_cert (KEYDB_HANDLE hd, ksba_cert_t cert);
 
 int keydb_delete (KEYDB_HANDLE hd, int unlock);
 
index 7087e44..9096f0b 100644 (file)
@@ -176,6 +176,16 @@ struct tag_info
 };
 
 
+static int opt_verbose;
+
+
+void
+p12_set_verbosity (int verbose)
+{
+  opt_verbose = verbose;
+}
+
+
 /* Parse the buffer at the address BUFFER which is of SIZE and return
    the tag and the length part from the TLV triplet.  Update BUFFER
    and SIZE on success.  Checks that the encoded length does not
@@ -869,8 +879,9 @@ parse_bag_encrypted_data (const unsigned char *buffer, size_t length,
   else
     goto bailout;
 
-  log_info ("%lu bytes of %s encrypted text\n",ti.length,
-            is_pbes2?"AES128":is_3des?"3DES":"RC2");
+  if (opt_verbose)
+    log_info ("%lu bytes of %s encrypted text\n",ti.length,
+              is_pbes2?"AES128":is_3des?"3DES":"RC2");
 
   plain = gcry_malloc_secure (ti.length);
   if (!plain)
@@ -967,7 +978,8 @@ parse_bag_encrypted_data (const unsigned char *buffer, size_t length,
         {
           int len;
 
-          log_info ("processing simple keyBag\n");
+          if (opt_verbose)
+            log_info ("processing simple keyBag\n");
 
           /* Fixme: This code is duplicated from parse_bag_data.  */
           if (parse_tag (&p, &n, &ti) || ti.class || ti.tag != TAG_SEQUENCE)
@@ -1050,7 +1062,8 @@ parse_bag_encrypted_data (const unsigned char *buffer, size_t length,
         }
       else
         {
-          log_info ("processing certBag\n");
+          if (opt_verbose)
+            log_info ("processing certBag\n");
           if (parse_tag (&p, &n, &ti))
             goto bailout;
           if (ti.class || ti.tag != TAG_SEQUENCE)
@@ -1376,8 +1389,9 @@ parse_bag_data (const unsigned char *buffer, size_t length, int startoffset,
   if (ti.class || ti.tag != TAG_OCTET_STRING || !ti.length )
     goto bailout;
 
-  log_info ("%lu bytes of %s encrypted text\n",
-            ti.length, is_pbes2? "AES128":"3DES");
+  if (opt_verbose)
+    log_info ("%lu bytes of %s encrypted text\n",
+              ti.length, is_pbes2? "AES128":"3DES");
 
   plain = gcry_malloc_secure (ti.length);
   if (!plain)
index 39a8193..343b733 100644 (file)
@@ -22,6 +22,8 @@
 
 #include <gcrypt.h>
 
+void p12_set_verbosity (int verbose);
+
 gcry_mpi_t *p12_parse (const unsigned char *buffer, size_t length,
                        const char *pw,
                        void (*certcb)(void*, const unsigned char*, size_t),
index 77ec07f..5341d31 100644 (file)
@@ -724,8 +724,13 @@ cmd_export (assuan_context_t ctx, char *line)
 
   if (opt_secret)
     {
-      if (!list || !*list->d)
+      if (!list)
         return set_error (GPG_ERR_NO_DATA, "No key given");
+      if (!*list->d)
+        {
+          free_strlist (list);
+          return set_error (GPG_ERR_NO_DATA, "No key given");
+        }
       if (list->next)
         return set_error (GPG_ERR_TOO_MANY, "Only one key allowed");
   }
@@ -948,17 +953,27 @@ do_listkeys (assuan_context_t ctx, char *line, int mode)
       int outfd = translate_sys2libc_fd (assuan_get_output_fd (ctx), 1);
 
       if ( outfd == -1 )
-        return set_error (GPG_ERR_ASS_NO_OUTPUT, NULL);
+        {
+          free_strlist (list);
+          return set_error (GPG_ERR_ASS_NO_OUTPUT, NULL);
+        }
       fp = es_fdopen_nc (outfd, "w");
       if (!fp)
-        return set_error (gpg_err_code_from_syserror (), "es_fdopen() failed");
+        {
+          free_strlist (list);
+          return set_error (gpg_err_code_from_syserror (),
+                            "es_fdopen() failed");
+        }
     }
   else
     {
       fp = es_fopencookie (ctx, "w", data_line_cookie_functions);
       if (!fp)
-        return set_error (GPG_ERR_ASS_GENERAL,
-                          "error setting up a data stream");
+        {
+          free_strlist (list);
+          return set_error (GPG_ERR_ASS_GENERAL,
+                            "error setting up a data stream");
+        }
     }
 
   ctrl->with_colons = 1;
index 0fa365f..3c5279e 100644 (file)
@@ -512,6 +512,7 @@ gpgsm_verify (ctrl_t ctrl, int in_fd, int data_fd, estream_t out_fp)
       /* Check compliance with CO_DE_VS.  */
       if (gnupg_pk_is_compliant (CO_DE_VS, pkalgo, pkalgoflags,
                                  NULL, nbits, NULL)
+          && gnupg_gcrypt_is_compliant (CO_DE_VS)
           && gnupg_digest_is_compliant (CO_DE_VS, sigval_hash_algo))
         gpgsm_status (ctrl, STATUS_VERIFICATION_COMPLIANCE_MODE,
                       gnupg_status_compliance_flag (CO_DE_VS));
index 3eb2e4f..c7cd7f5 100644 (file)
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.16.1 from Makefile.am.
+# Makefile.in generated by automake 1.16.3 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2018 Free Software Foundation, Inc.
+# Copyright (C) 1994-2020 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
index 5ccc0b3..c5b8ca3 100644 (file)
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.16.1 from Makefile.am.
+# Makefile.in generated by automake 1.16.3 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2018 Free Software Foundation, Inc.
+# Copyright (C) 1994-2020 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
index b51c258..624d9c8 100644 (file)
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.16.1 from Makefile.am.
+# Makefile.in generated by automake 1.16.3 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2018 Free Software Foundation, Inc.
+# Copyright (C) 1994-2020 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
index b4960b0..86d70b3 100644 (file)
@@ -172,6 +172,7 @@ type_to_string (enum scheme_types typ)
      case T_FRAME: return "frame";
      }
      assert (! "not reached");
+     return "?";
 }
 
 /* ADJ is enough slack to align cells in a TYPE_BITS-bit boundary */
index d5b38fc..e7a3152 100644 (file)
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.16.1 from Makefile.am.
+# Makefile.in generated by automake 1.16.3 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2018 Free Software Foundation, Inc.
+# Copyright (C) 1994-2020 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
index 80be22b..cf7a9fe 100644 (file)
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.16.1 from Makefile.am.
+# Makefile.in generated by automake 1.16.3 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2018 Free Software Foundation, Inc.
+# Copyright (C) 1994-2020 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
index f305327..f2d943e 100644 (file)
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.16.1 from Makefile.am.
+# Makefile.in generated by automake 1.16.3 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2018 Free Software Foundation, Inc.
+# Copyright (C) 1994-2020 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
index 0834342..45a57dc 100644 (file)
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.16.1 from Makefile.am.
+# Makefile.in generated by automake 1.16.3 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2018 Free Software Foundation, Inc.
+# Copyright (C) 1994-2020 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
index 3981f41..210dbe9 100644 (file)
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.16.1 from Makefile.am.
+# Makefile.in generated by automake 1.16.3 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2018 Free Software Foundation, Inc.
+# Copyright (C) 1994-2020 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
index 0618125..288f4a0 100644 (file)
@@ -725,6 +725,10 @@ static gc_option_t gc_options_gpg[] =
      (GC_OPT_FLAG_ARG_OPT|GC_OPT_FLAG_NO_CHANGE), GC_LEVEL_INVISIBLE,
      NULL, NULL,
      GC_ARG_TYPE_STRING, GC_BACKEND_GPG },
+   { "compliance_de_vs",
+     (GC_OPT_FLAG_ARG_OPT|GC_OPT_FLAG_NO_CHANGE), GC_LEVEL_INVISIBLE,
+     NULL, NULL,
+     GC_ARG_TYPE_STRING, GC_BACKEND_GPG },
    { "trust-model",
      GC_OPT_FLAG_NONE, GC_LEVEL_INVISIBLE,
      NULL, NULL,
@@ -1227,20 +1231,21 @@ dirmngr_runtime_change (int killflag)
   const char *pgmname;
   const char *argv[6];
   pid_t pid = (pid_t)(-1);
-  char *abs_homedir = NULL;
+  int i = 0;
+  int cmdidx;
 
   pgmname = gnupg_module_name (GNUPG_MODULE_NAME_CONNECT_AGENT);
-  argv[0] = "--no-autostart";
-  argv[1] = "--dirmngr";
-  argv[2] = killflag? "KILLDIRMNGR" : "RELOADDIRMNGR";
-  if (gnupg_default_homedir_p ())
-    argv[3] = NULL;
-  else
+  if (!gnupg_default_homedir_p ())
     {
-      argv[3] = "--homedir";
-      argv[4] = gnupg_homedir ();
-      argv[5] = NULL;
+      argv[i++] = "--homedir";
+      argv[i++] = gnupg_homedir ();
     }
+  argv[i++] = "--no-autostart";
+  argv[i++] = "--dirmngr";
+  cmdidx = i;
+  argv[i++] = killflag? "KILLDIRMNGR" : "RELOADDIRMNGR";
+  argv[i] = NULL;
+  log_assert (i < DIM(argv));
 
   if (!err)
     err = gnupg_spawn_process_fd (pgmname, argv, -1, -1, -1, &pid);
@@ -1248,9 +1253,8 @@ dirmngr_runtime_change (int killflag)
     err = gnupg_wait_process (pgmname, pid, 1, NULL);
   if (err)
     gc_error (0, 0, "error running '%s %s': %s",
-              pgmname, argv[2], gpg_strerror (err));
+              pgmname, argv[cmdidx], gpg_strerror (err));
   gnupg_release_process (pid);
-  xfree (abs_homedir);
 }
 
 
@@ -1260,7 +1264,7 @@ gc_component_launch (int component)
 {
   gpg_error_t err;
   const char *pgmname;
-  const char *argv[5];
+  const char *argv[6];
   int i;
   pid_t pid;
 
@@ -1300,6 +1304,7 @@ gc_component_launch (int component)
     argv[i++] = "--dirmngr";
   argv[i++] = "NOP";
   argv[i] = NULL;
+  log_assert (i < DIM(argv));
 
   err = gnupg_spawn_process_fd (pgmname, argv, -1, -1, -1, &pid);
   if (!err)
@@ -1401,6 +1406,9 @@ gc_component_reload (int component)
 static const char *
 my_dgettext (const char *domain, const char *msgid)
 {
+  if (!msgid || !*msgid)
+    return msgid;  /* Shortcut form "" which has the PO files meta data.  */
+
 #ifdef USE_SIMPLE_GETTEXT
   if (domain)
     {
index c196b96..f1b0485 100644 (file)
@@ -148,7 +148,7 @@ fillup_entry_w32 (tar_header_t hdr)
 
   /* Only set the size for a regular file.  */
   if (hdr->typeflag == TF_REGULAR)
-    hdr->size = (fad.nFileSizeHigh * (unsigned long long)(MAXDWORD+1)
+    hdr->size = (fad.nFileSizeHigh * ((unsigned long long)MAXDWORD+1)
                  + fad.nFileSizeLow);
 
   hdr->mtime = (((unsigned long long)fad.ftLastWriteTime.dwHighDateTime << 32)