agent/
authorWerner Koch <wk@gnupg.org>
Thu, 25 Jan 2007 08:30:47 +0000 (08:30 +0000)
committerWerner Koch <wk@gnupg.org>
Thu, 25 Jan 2007 08:30:47 +0000 (08:30 +0000)
* protect-tool.c (get_passphrase): New arg OPT_CHECK.
(get_new_passphrase): Enable OTP_CHECK on the first call.
* command.c (cmd_get_passphrase): Implement option --check.

* gpg-agent.c (MIN_PASSPHRASE_LEN): New
(parse_rereadable_options): New option  --min-passphrase-len.
* genkey.c (check_passphrase_constraints): New.
(agent_genkey, agent_protect_and_store): Call new function.  Fix
memory leak.

* call-pinentry.c (agent_askpin): Allow translation of the displayed
error message.
(agent_popup_message_start): Remove arg CANCEL_BTN.
(popup_message_thread): Use --one-button option.

* command.c (cmd_passwd): Now that we don't distinguish between
assuan and regular error codes we can jump to the end on error.

common/
* simple-pwquery.c (simple_pwquery): New arg OPT_CHECK.

16 files changed:
NEWS
TODO
agent/ChangeLog
agent/agent.h
agent/call-pinentry.c
agent/command.c
agent/divert-scd.c
agent/genkey.c
agent/gpg-agent.c
agent/protect-tool.c
common/ChangeLog
doc/gpg-agent.texi
po/de.po
scd/sc-copykeys.c
tools/gpg-connect-agent.c
tools/symcryptrun.c

diff --git a/NEWS b/NEWS
index 2ce9b93..16313fb 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -8,6 +8,11 @@ Noteworthy changes in version 2.0.2 (unreleased)
    prompt for a new passphrase to be repeated.  This is useful to help
    memorize a new passphrase.  The default is 1 repetition.
 
+ * Using a PIN pad does now also for for the signing key.
+
+ * A warning is displayed if a new passphrase is too short.  New
+   option --min-passphrase-len defaults to 8.
+
 
 Noteworthy changes in version 2.0.1 (2006-11-28)
 ------------------------------------------------
diff --git a/TODO b/TODO
index 39e55fc..1d3c0ea 100644 (file)
--- a/TODO
+++ b/TODO
 
 * Cleanup m4/ on next gettext update
   There is at least one couple of duplicate files: inttype[_-]h.m4.
+
+* UTF-8
+** we need a function to count characters.
+  Something like utf8_strlen.  This is needed to correclty count the
+  lengtgh of a passphrase.
index 2a14bda..110b604 100644 (file)
@@ -1,3 +1,25 @@
+2007-01-25  Werner Koch  <wk@g10code.com>
+
+       * protect-tool.c (get_passphrase): New arg OPT_CHECK.
+       (get_new_passphrase): Enable OTP_CHECK on the first call.
+       * command.c (cmd_get_passphrase): Implement option --check.
+
+2007-01-24  Werner Koch  <wk@g10code.com>
+
+       * gpg-agent.c (MIN_PASSPHRASE_LEN): New
+       (parse_rereadable_options): New option  --min-passphrase-len.
+       * genkey.c (check_passphrase_constraints): New.
+       (agent_genkey, agent_protect_and_store): Call new function.  Fix
+       memory leak.
+
+       * call-pinentry.c (agent_askpin): Allow translation of the displayed
+       error message.
+       (agent_popup_message_start): Remove arg CANCEL_BTN.
+       (popup_message_thread): Use --one-button option.
+
+       * command.c (cmd_passwd): Now that we don't distinguish between
+       assuan and regular error codes we can jump to the end on error.
+
 2006-12-07  David Shaw  <dshaw@jabberwocky.com>
 
        * Makefile.am: Link to iconv for jnlib dependency.
index 883924c..c86ec1e 100644 (file)
@@ -78,6 +78,8 @@ struct
   unsigned long max_cache_ttl;     /* Default. */
   unsigned long max_cache_ttl_ssh; /* for SSH. */
 
+  /* The require minmum length of a passphrase. */
+  unsigned int min_passphrase_len;
 
   int running_detached; /* We are running detached from the tty. */
 
@@ -222,8 +224,8 @@ int agent_get_passphrase (ctrl_t ctrl, char **retpass,
                           const char *errtext);
 int agent_get_confirmation (ctrl_t ctrl, const char *desc, const char *ok,
                            const char *cancel);
-int agent_popup_message_start (ctrl_t ctrl, const char *desc,
-                               const char *ok_btn, const char *cancel_btn);
+int agent_popup_message_start (ctrl_t ctrl,
+                               const char *desc, const char *ok_btn);
 void agent_popup_message_stop (ctrl_t ctrl);
 
 
@@ -249,6 +251,7 @@ int agent_pkdecrypt (ctrl_t ctrl, const char *desc_text,
                      membuf_t *outbuf);
 
 /*-- genkey.c --*/
+int check_passphrase_constraints (ctrl_t ctrl, const char *pw);
 int agent_genkey (ctrl_t ctrl, 
                   const char *keyparam, size_t keyparmlen, membuf_t *outbuf);
 int agent_protect_and_store (ctrl_t ctrl, gcry_sexp_t s_skey);
index f22136f..bb3b5de 100644 (file)
@@ -434,8 +434,10 @@ agent_askpin (ctrl_t ctrl,
 
       if (errtext)
         { 
-          /* fixme: should we show the try count? It must be translated */
-          snprintf (line, DIM(line)-1, "SETERROR %s (try %d of %d)",
+          /* TRANLATORS: The string is appended to an error message in
+             the pinentry.  The %s is the actual error message, the
+             two %d give the current and maximum number of tries. */
+          snprintf (line, DIM(line)-1, _("SETERROR %s (try %d of %d)"),
                     errtext, pininfo->failed_tries+1, pininfo->max_tries);
           line[DIM(line)-1] = 0;
           rc = assuan_transact (entry_ctx, line,
@@ -627,7 +629,12 @@ agent_get_confirmation (ctrl_t ctrl,
 static void *
 popup_message_thread (void *arg)
 {
-  assuan_transact (entry_ctx, "CONFIRM", NULL, NULL, NULL, NULL, NULL, NULL);
+  /* We use the --one-button hack instead of the MESSAGE command to
+     allow the use of old Pinentries.  Those old Pinentries will then
+     show an additional Cancel button but that is mostly a visual
+     annoyance. */
+  assuan_transact (entry_ctx, "CONFIRM --one-button", 
+                   NULL, NULL, NULL, NULL, NULL, NULL);
   popup_finished = 1;
   return NULL;
 }
@@ -640,8 +647,7 @@ popup_message_thread (void *arg)
    system modal and all other attempts to use the pinentry will fail
    (after a timeout). */
 int 
-agent_popup_message_start (ctrl_t ctrl, const char *desc,
-                           const char *ok_btn, const char *cancel_btn)
+agent_popup_message_start (ctrl_t ctrl, const char *desc, const char *ok_btn)
 {
   int rc;
   char line[ASSUAN_LINELENGTH];
@@ -668,14 +674,6 @@ agent_popup_message_start (ctrl_t ctrl, const char *desc,
       if (rc)
         return unlock_pinentry (rc);
     }
-  if (cancel_btn)
-    {
-      snprintf (line, DIM(line)-1, "SETCANCEL %s", cancel_btn);
-      line[DIM(line)-1] = 0;
-      rc = assuan_transact (entry_ctx, line, NULL,NULL,NULL,NULL,NULL,NULL);
-      if (rc)
-        return unlock_pinentry (rc);
-    }
 
   tattr = pth_attr_new();
   pth_attr_set (tattr, PTH_ATTR_JOINABLE, 1);
index 63f41c3..8f1f126 100644 (file)
@@ -1,5 +1,6 @@
 /* command.c - gpg-agent command handler
- * Copyright (C) 2001, 2002, 2003, 2004, 2005  Free Software Foundation, Inc.
+ * Copyright (C) 2001, 2002, 2003, 2004, 2005,
+ *               2006  Free Software Foundation, Inc.
  *
  * This file is part of GnuPG.
  *
@@ -804,7 +805,8 @@ send_back_passphrase (assuan_context_t ctx, int via_data, const char *pw)
 }
 
 
-/* GET_PASSPHRASE [--data] <cache_id> [<error_message> <prompt> <description>]
+/* GET_PASSPHRASE [--data] [--check] <cache_id>
+                  [<error_message> <prompt> <description>]
 
    This function is usually used to ask for a passphrase to be used
    for conventional encryption, but may also be used by programs which
@@ -816,6 +818,10 @@ send_back_passphrase (assuan_context_t ctx, int via_data, const char *pw)
 
    If the option "--data" is used the passphrase is returned by usual
    data lines and not on the okay line.
+
+   If the option "--check" is used the passphrase constraints checks as
+   implemented by gpg-agent are applied.  A check is not done if the
+   passphrase has been found in the cache.
 */
 
 static int
@@ -828,9 +834,10 @@ cmd_get_passphrase (assuan_context_t ctx, char *line)
   char *cacheid = NULL, *desc = NULL, *prompt = NULL, *errtext = NULL;
   char *p;
   void *cache_marker;
-  int opt_data;
+  int opt_data, opt_check;
 
   opt_data = has_option (line, "--data");
+  opt_check = has_option (line, "--check");
   line = skip_options (line);
 
   cacheid = line;
@@ -857,7 +864,7 @@ cmd_get_passphrase (assuan_context_t ctx, char *line)
               desc = p;
               p = strchr (desc, ' ');
               if (p)
-                *p = 0; /* ignore garbage */
+                *p = 0; /* Ignore trailing garbage. */
             }
         }
     }
@@ -895,7 +902,16 @@ cmd_get_passphrase (assuan_context_t ctx, char *line)
       if (desc)
         plus_to_blank (desc);
 
-      rc = agent_get_passphrase (ctrl, &response, desc, prompt, errtext);
+      response = NULL;
+      do
+        {
+          xfree (response);
+          rc = agent_get_passphrase (ctrl, &response, desc, prompt, errtext);
+        }
+      while (!rc
+             && opt_check
+             && check_passphrase_constraints (ctrl, response));
+
       if (!rc)
         {
           if (cacheid)
@@ -1019,8 +1035,7 @@ cmd_passwd (assuan_context_t ctx, char *line)
 
   rc = parse_keygrip (ctx, line, grip);
   if (rc)
-    return rc; /* we can't jump to leave because this is already an
-                  Assuan error code. */
+    goto leave;
 
   rc = agent_key_from_file (ctrl, ctrl->server_local->keydesc,
                             grip, &shadow_info, CACHE_MODE_IGNORE, &s_skey);
@@ -1036,6 +1051,8 @@ cmd_passwd (assuan_context_t ctx, char *line)
 
   xfree (ctrl->server_local->keydesc);
   ctrl->server_local->keydesc = NULL;
+
+ leave:
   gcry_sexp_release (s_skey);
   xfree (shadow_info);
   if (rc)
index 49768fe..81b4d7c 100644 (file)
@@ -237,7 +237,7 @@ getpin_cb (void *opaque, const char *info, char *buf, size_t maxbuf)
         }
       else if (maxbuf == 1)  /* Open the pinentry. */
         {
-          rc = agent_popup_message_start (ctrl, info, NULL, NULL);
+          rc = agent_popup_message_start (ctrl, info, NULL);
         }
       else
         rc = gpg_error (GPG_ERR_INV_VALUE);
index a1f9f38..1ac7c66 100644 (file)
@@ -71,6 +71,43 @@ store_key (gcry_sexp_t private, const char *passphrase, int force)
   return rc;
 }
 
+
+/* Check whether the passphrase PW is suitable. Returns 0 if the
+   passphrase is suitable and true if it is not and the user should be
+   asked to provide a different one. */
+int
+check_passphrase_constraints (ctrl_t ctrl, const char *pw)
+{
+  gpg_error_t err;
+  unsigned int minlen = opt.min_passphrase_len;
+  
+  if (!pw)
+    pw = "";
+
+  if (strlen (pw) < minlen ) /* FIXME:  should be an utf-8 length. */
+    {
+      char *desc = xtryasprintf 
+        ( ngettext (_("Warning:  You have entered a passphrase that%%0A"
+                      "is obviously not secure.  A passphrase should%%0A"
+                      "be at least %u character long."), 
+                    _("Warning:  You have entered a passphrase that%%0A"
+                      "is obviously not secure.  A passphrase should%%0A"
+                      "be at least %u characters long."), minlen), minlen );
+      if (!desc)
+        return gpg_error_from_syserror ();
+      
+      err = agent_get_confirmation (ctrl, desc,
+                                    _("Take this one anyway"),
+                                    _("Enter new passphrase"));
+      xfree (desc);
+      if (err)
+        return err;
+    }
+
+  return 0;
+}
+
+
 /* Callback function to compare the first entered PIN with the one
    currently being entered. */
 static int
@@ -125,6 +162,12 @@ agent_genkey (ctrl_t ctrl, const char *keyparam, size_t keyparamlen,
     initial_errtext = NULL;
     if (!rc)
       {
+        if (check_passphrase_constraints (ctrl, pi->pin))
+          {
+            pi->failed_tries = 0;
+            pi2->failed_tries = 0;
+            goto next_try;
+          }
         rc = agent_askpin (ctrl, text2, NULL, NULL, pi2);
         if (rc == -1)
           { /* The re-entered one did not match and the user did not
@@ -134,7 +177,11 @@ agent_genkey (ctrl_t ctrl, const char *keyparam, size_t keyparamlen,
           }
       }
     if (rc)
-      return rc;
+      {
+        xfree (pi);
+        return rc;
+      }
+        
     if (!*pi->pin)
       {
         xfree (pi);
@@ -230,8 +277,15 @@ agent_protect_and_store (ctrl_t ctrl, gcry_sexp_t s_skey)
 
   next_try:
     rc = agent_askpin (ctrl, text1, NULL, initial_errtext, pi);
+    initial_errtext = NULL;
     if (!rc)
       {
+        if (check_passphrase_constraints (ctrl, pi->pin))
+          {
+            pi->failed_tries = 0;
+            pi2->failed_tries = 0;
+            goto next_try;
+          }
         rc = agent_askpin (ctrl, text2, NULL, NULL, pi2);
         if (rc == -1)
           { /* The re-entered one did not match and the user did not
@@ -241,7 +295,11 @@ agent_protect_and_store (ctrl_t ctrl, gcry_sexp_t s_skey)
           }
       }
     if (rc)
-      return rc;
+      {
+        xfree (pi);
+        return rc;
+      }
+
     if (!*pi->pin)
       {
         xfree (pi);
index 75ffb70..72a4013 100644 (file)
@@ -88,6 +88,7 @@ enum cmd_and_opt_values
   oDefCacheTTLSSH,
   oMaxCacheTTL,
   oMaxCacheTTLSSH,
+  oMinPassphraseLen,
   oUseStandardSocket,
   oNoUseStandardSocket,
 
@@ -148,6 +149,7 @@ static ARGPARSE_OPTS opts[] = {
   { oDefCacheTTLSSH, "default-cache-ttl-ssh", 4, "@" },
   { oMaxCacheTTL, "max-cache-ttl", 4, "@" },
   { oMaxCacheTTLSSH, "max-cache-ttl-ssh", 4, "@" },
+  { oMinPassphraseLen, "min-passphrase-len", 4, "@" },
   { oIgnoreCacheForSigning, "ignore-cache-for-signing", 0,
                                N_("do not use the PIN cache when signing")},
   { oAllowMarkTrusted, "allow-mark-trusted", 0,
@@ -164,6 +166,7 @@ static ARGPARSE_OPTS opts[] = {
 #define DEFAULT_CACHE_TTL     (10*60)  /* 10 minutes */
 #define DEFAULT_CACHE_TTL_SSH (30*60)  /* 30 minutes */
 #define MAX_CACHE_TTL         (120*60) /* 2 hours */
+#define MIN_PASSPHRASE_LEN    (8)      
 
 
 /* flag to indicate that a shutdown was requested */
@@ -403,6 +406,7 @@ parse_rereadable_options (ARGPARSE_ARGS *pargs, int reread)
       opt.def_cache_ttl_ssh = DEFAULT_CACHE_TTL_SSH;
       opt.max_cache_ttl = MAX_CACHE_TTL;
       opt.max_cache_ttl_ssh = MAX_CACHE_TTL;
+      opt.min_passphrase_len = MIN_PASSPHRASE_LEN;
       opt.ignore_cache_for_signing = 0;
       opt.allow_mark_trusted = 0;
       opt.disable_scdaemon = 0;
@@ -441,6 +445,8 @@ parse_rereadable_options (ARGPARSE_ARGS *pargs, int reread)
     case oMaxCacheTTL: opt.max_cache_ttl = pargs->r.ret_ulong; break;
     case oMaxCacheTTLSSH: opt.max_cache_ttl_ssh = pargs->r.ret_ulong; break;
       
+    case oMinPassphraseLen: opt.min_passphrase_len = pargs->r.ret_ulong; break;
+
     case oIgnoreCacheForSigning: opt.ignore_cache_for_signing = 1; break;
 
     case oAllowMarkTrusted: opt.allow_mark_trusted = 1; break;
index 4a0e53d..8f974e2 100644 (file)
@@ -1,5 +1,5 @@
 /* protect-tool.c - A tool to test the secret key protection
- *     Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc.
+ * Copyright (C) 2002, 2003, 2004, 2006 Free Software Foundation, Inc.
  *
  * This file is part of GnuPG.
  *
@@ -97,7 +97,7 @@ static const char *opt_passphrase;
 static char *opt_prompt;
 static int opt_status_msg;
 
-static char *get_passphrase (int promptno);
+static char *get_passphrase (int promptno, int opt_check);
 static char *get_new_passphrase (int promptno);
 static void release_passphrase (char *pw);
 static int store_private_key (const unsigned char *grip,
@@ -363,7 +363,7 @@ read_and_protect (const char *fname)
   if (!key)
     return;
 
-  pw = get_passphrase (1);
+  pw = get_passphrase (1, 0);
   rc = agent_protect (key, pw, &result, &resultlen);
   release_passphrase (pw);
   xfree (key);
@@ -401,7 +401,7 @@ read_and_unprotect (const char *fname)
   if (!key)
     return;
 
-  rc = agent_unprotect (key, (pw=get_passphrase (1)), &result, &resultlen);
+  rc = agent_unprotect (key, (pw=get_passphrase (1, 0)), &result, &resultlen);
   release_passphrase (pw);
   xfree (key);
   if (rc)
@@ -684,7 +684,7 @@ import_p12_file (const char *fname)
   if (!buf)
     return;
 
-  kparms = p12_parse ((unsigned char*)buf, buflen, (pw=get_passphrase (2)),
+  kparms = p12_parse ((unsigned char*)buf, buflen, (pw=get_passphrase (2, 0)),
                       import_p12_cert_cb, NULL);
   release_passphrase (pw);
   xfree (buf);
@@ -898,7 +898,7 @@ export_p12_file (const char *fname)
       unsigned char *tmpkey;
       size_t tmplen;
 
-      rc = agent_unprotect (key, (pw=get_passphrase (1)), &tmpkey, &tmplen);
+      rc = agent_unprotect (key, (pw=get_passphrase (1, 0)), &tmpkey, &tmplen);
       release_passphrase (pw);
       if (rc)
         {
@@ -1162,10 +1162,11 @@ agent_exit (int rc)
      3 = for protecting a new pkcs#12 object
      4 = for protecting an imported pkcs#12 in our system
      5 = reenter the passphrase
-   When adding 100 to the values, a "does not match - try again" errro message is shown.
+   When adding 100 to the values, a "does not match - try again" error
+   message is shown.
 */
 static char *
-get_passphrase (int promptno)
+get_passphrase (int promptno, int opt_check)
 {
   char *pw;
   int err;
@@ -1219,7 +1220,7 @@ get_passphrase (int promptno)
 
   pw = simple_pwquery (NULL,
                        error_msgno == 1? _("does not match - try again"):NULL,
-                       _("Passphrase:"), desc, &err);
+                       _("Passphrase:"), desc, opt_check, &err);
 
 #ifdef ENABLE_NLS
   if (orig_codeset)
@@ -1251,16 +1252,16 @@ get_new_passphrase (int promptno)
   char *pw;
   int i, secondpromptno;
   
-  pw = get_passphrase (promptno);
+  pw = get_passphrase (promptno, 1);
   if (!pw)
     return NULL; /* Canceled. */
   if (!*pw)
-    return pw; /* Empty passphrase - no need to as for repeating it. */
+    return pw;   /* Empty passphrase - no need to ask for repeating it. */
 
   secondpromptno = 5;
   for (i=0; i < 3; i++)
     {
-      char *pw2 = get_passphrase (secondpromptno);
+      char *pw2 = get_passphrase (secondpromptno, 0);
       if (!pw2)
         {
           xfree (pw);
index 6e7fa6c..5369d9f 100644 (file)
@@ -1,3 +1,7 @@
+2007-01-25  Werner Koch  <wk@g10code.com>
+
+       * simple-pwquery.c (simple_pwquery): New arg OPT_CHECK.
+
 2006-12-13  David Shaw  <dshaw@jabberwocky.com>
 
        * Makefile.am (AM_CPPFLAGS): Include intl/ so we can reference the
index a1b7ac3..12c8705 100644 (file)
@@ -334,6 +334,11 @@ Set the maximum time a cache entry used for SSH keys is valid to @var{n}
 seconds.  After this time a cache entry will get expired even if it has
 been accessed recently.  The default are 2 hours (7200 seconds).
 
+@item --min-passphrase-len @var{n}
+@opindex min-passphrase-len
+Set the minimal length of a passphrase.  When entereing a new passphrase
+shorter than this value a warning will be displayed.  Defaults to 8.
+
 @item --pinentry-program @var{filename}
 @opindex pinentry-program
 Use program @var{filename} as the PIN entry.  The default is installation
@@ -972,7 +977,7 @@ special handling of passphrases.  This command uses a syntax which helps
 clients to use the agent with minimum effort.
 
 @example
-  GET_PASSPHRASE [--data] @var{cache_id} [@var{error_message} @var{prompt} @var{description}]
+  GET_PASSPHRASE [--data] [--check] @var{cache_id} [@var{error_message} @var{prompt} @var{description}]
 @end example
 
 @var{cache_id} is expected to be a string used to identify a cached
@@ -999,6 +1004,10 @@ limited by the maximum length of a command.  If the option
 @option{--data} is used, the passphrase is not returned on the OK line
 but by regular data lines; this is the preferred method.
 
+If the option @option{--check} is used, the standard passphrase
+constraints checks are applied.  A check is not done if the passphrase
+has been found in the cache.
+
 @example
   CLEAR_PASSPHRASE @var{cache_id}
 @end example
index cd2d913..ea2d7cd 100644 (file)
--- a/po/de.po
+++ b/po/de.po
@@ -9,8 +9,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: gnupg-1.9.90\n"
 "Report-Msgid-Bugs-To: translations@gnupg.org\n"
-"POT-Creation-Date: 2006-11-28 16:59+0100\n"
-"PO-Revision-Date: 2006-11-21 10:59+0100\n"
+"POT-Creation-Date: 2007-01-24 19:08+0100\n"
+"PO-Revision-Date: 2007-01-24 19:16+0100\n"
 "Last-Translator: Walter Koch <koch@u32.de>\n"
 "Language-Team: German <de@li.org>\n"
 "MIME-Version: 1.0\n"
@@ -38,31 +38,36 @@ msgstr ""
 "Bitte geben Sie Ihre Passphrase ein, so daß der geheime Schlüssel benutzt "
 "werden kann"
 
-#: agent/call-pinentry.c:458 agent/call-pinentry.c:470
+#: agent/call-pinentry.c:440
+#, c-format
+msgid "SETERROR %s (try %d of %d)"
+msgstr "SETERROR %s (Versuch %d von %d)"
+
+#: agent/call-pinentry.c:460 agent/call-pinentry.c:472
 msgid "PIN too long"
 msgstr "Die PIN ist zu lang"
 
-#: agent/call-pinentry.c:459
+#: agent/call-pinentry.c:461
 msgid "Passphrase too long"
 msgstr "Das Matra (Passphrase) ist zu lang"
 
-#: agent/call-pinentry.c:467
+#: agent/call-pinentry.c:469
 msgid "Invalid characters in PIN"
 msgstr "Ungültige Zeichen in der PIN"
 
-#: agent/call-pinentry.c:472
+#: agent/call-pinentry.c:474
 msgid "PIN too short"
 msgstr "Die PIN ist zu kurz"
 
-#: agent/call-pinentry.c:484
+#: agent/call-pinentry.c:486
 msgid "Bad PIN"
 msgstr "Falsche PIN"
 
-#: agent/call-pinentry.c:485
+#: agent/call-pinentry.c:487
 msgid "Bad Passphrase"
 msgstr "Falsche Passphrase"
 
-#: agent/call-pinentry.c:521
+#: agent/call-pinentry.c:523
 msgid "Passphrase"
 msgstr "Passphrase"
 
@@ -71,21 +76,21 @@ msgstr "Passphrase"
 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:692 g10/exec.c:480 g10/gpg.c:1016 g10/keygen.c:3048
-#: g10/keygen.c:3078 g10/keyring.c:1204 g10/keyring.c:1508 g10/openfile.c:267
-#: g10/openfile.c:360 g10/sign.c:830 g10/sign.c:1136 g10/tdbio.c:538
+#: agent/command-ssh.c:692 g10/exec.c:480 g10/gpg.c:1020 g10/keygen.c:3067
+#: g10/keygen.c:3096 g10/keyring.c:1204 g10/keyring.c:1508 g10/openfile.c:267
+#: g10/openfile.c:360 g10/sign.c:831 g10/sign.c:1140 g10/tdbio.c:538
 #, c-format
 msgid "can't create `%s': %s\n"
 msgstr "'%s' kann nicht erzeugt werden: %s\n"
 
 #: agent/command-ssh.c:704 g10/card-util.c:679 g10/card-util.c:748
-#: g10/dearmor.c:62 g10/dearmor.c:111 g10/decrypt.c:70 g10/encode.c:196
-#: g10/encode.c:488 g10/gpg.c:1017 g10/import.c:195 g10/keygen.c:2556
+#: g10/dearmor.c:62 g10/dearmor.c:109 g10/decrypt.c:72 g10/encode.c:196
+#: g10/encode.c:506 g10/gpg.c:1021 g10/import.c:195 g10/keygen.c:2562
 #: g10/keyring.c:1534 g10/openfile.c:190 g10/openfile.c:345
-#: g10/plaintext.c:491 g10/sign.c:812 g10/sign.c:1007 g10/sign.c:1120
-#: g10/sign.c:1272 g10/tdbdump.c:141 g10/tdbdump.c:149 g10/tdbio.c:542
-#: g10/tdbio.c:605 g10/verify.c:102 g10/verify.c:158 sm/gpgsm.c:1771
-#: sm/gpgsm.c:1808 sm/qualified.c:74
+#: g10/plaintext.c:493 g10/sign.c:813 g10/sign.c:1008 g10/sign.c:1124
+#: g10/sign.c:1280 g10/tdbdump.c:141 g10/tdbdump.c:149 g10/tdbio.c:542
+#: g10/tdbio.c:605 g10/verify.c:100 g10/verify.c:163 sm/gpgsm.c:1772
+#: sm/gpgsm.c:1809 sm/qualified.c:74
 #, c-format
 msgid "can't open `%s': %s\n"
 msgstr "'%s' kann nicht geöffnet werden: %s\n"
@@ -156,25 +161,47 @@ msgstr "PIN wurde nicht richtig wiederholt; noch einmal versuchen"
 msgid "Please enter the PIN%s%s%s to unlock the card"
 msgstr "Bitte geben Sie die PIN%s%s%s ein um die Karte zu entsperren"
 
-#: agent/genkey.c:109
+#: agent/genkey.c:90
+#, c-format
+msgid ""
+"Warning:  You have entered a passphrase that%%0Ais obviously not secure.  A "
+"passphrase should%%0Abe at least %u character long."
+msgstr "WARNUNG:  Sie haben eine offensichtlich unsichere%%0APassphrase eingegeben.  Eine Passphrase sollte%%0A mindestens %u Zeichen lang sein."
+
+#: agent/genkey.c:93
+#, c-format
+msgid ""
+"Warning:  You have entered a passphrase that%%0Ais obviously not secure.  A "
+"passphrase should%%0Abe at least %u characters long."
+msgstr "WARNUNG:  Sie haben eine offensichtlich unsichere%%0APassphrase eingegeben.  Eine Passphrase sollte%%0A mindestens %u Zeichen lang sein."
+
+#: agent/genkey.c:100
+msgid "Take this one anyway"
+msgstr "Diese trotzdem benutzen"
+
+#: agent/genkey.c:101
+msgid "Enter new passphrase"
+msgstr "Neue Passphrase eingeben"
+
+#: agent/genkey.c:146
 #, c-format
 msgid "Please enter the passphrase to%0Ato protect your new key"
 msgstr "Bitte geben Sie die Passphrase ein%0Aum Ihren Schlüssel zu schützen"
 
-#: agent/genkey.c:111 agent/genkey.c:219 agent/protect-tool.c:1215
+#: agent/genkey.c:148 agent/genkey.c:266 agent/protect-tool.c:1215
 msgid "Please re-enter this passphrase"
 msgstr "Bitte geben Sie die Passphrase noch einmal ein:"
 
-#: agent/genkey.c:132 agent/genkey.c:239 agent/protect-tool.c:1221
+#: agent/genkey.c:175 agent/genkey.c:293 agent/protect-tool.c:1221
 #: tools/symcryptrun.c:487
 msgid "does not match - try again"
 msgstr "Keine Übereinstimmung - bitte nochmal versuchen"
 
-#: agent/genkey.c:218
+#: agent/genkey.c:265
 msgid "Please enter the new passphrase"
 msgstr "Bitte geben Sie die Passphrase ein:"
 
-#: agent/gpg-agent.c:111 agent/preset-passphrase.c:74 agent/protect-tool.c:109
+#: agent/gpg-agent.c:112 agent/preset-passphrase.c:74 agent/protect-tool.c:109
 #: scd/scdaemon.c:103
 msgid ""
 "@Options:\n"
@@ -183,109 +210,109 @@ msgstr ""
 "@Optionen:\n"
 " "
 
-#: agent/gpg-agent.c:113 scd/scdaemon.c:105
+#: agent/gpg-agent.c:114 scd/scdaemon.c:105
 msgid "run in server mode (foreground)"
 msgstr "Im Server Modus ausführen"
 
-#: agent/gpg-agent.c:114 scd/scdaemon.c:108
+#: agent/gpg-agent.c:115 scd/scdaemon.c:108
 msgid "run in daemon mode (background)"
 msgstr "Im Daemon Modus ausführen"
 
-#: agent/gpg-agent.c:115 g10/gpg.c:465 g10/gpgv.c:71 kbx/kbxutil.c:82
+#: agent/gpg-agent.c:116 g10/gpg.c:468 g10/gpgv.c:71 kbx/kbxutil.c:82
 #: scd/scdaemon.c:109 sm/gpgsm.c:335 tools/gpg-connect-agent.c:59
 #: tools/gpgconf.c:63 tools/symcryptrun.c:185
 msgid "verbose"
 msgstr "Detaillierte Informationen"
 
-#: agent/gpg-agent.c:116 g10/gpgv.c:72 kbx/kbxutil.c:83 scd/scdaemon.c:110
+#: agent/gpg-agent.c:117 g10/gpgv.c:72 kbx/kbxutil.c:83 scd/scdaemon.c:110
 #: sm/gpgsm.c:336
 msgid "be somewhat more quiet"
 msgstr "Etwas weniger Infos"
 
-#: agent/gpg-agent.c:117 scd/scdaemon.c:111
+#: agent/gpg-agent.c:118 scd/scdaemon.c:111
 msgid "sh-style command output"
 msgstr "Ausgabe für /bin/sh"
 
-#: agent/gpg-agent.c:118 scd/scdaemon.c:112
+#: agent/gpg-agent.c:119 scd/scdaemon.c:112
 msgid "csh-style command output"
 msgstr "Ausgabe für /bin/csh"
 
-#: agent/gpg-agent.c:119 tools/symcryptrun.c:188
+#: agent/gpg-agent.c:120 tools/symcryptrun.c:188
 msgid "|FILE|read options from FILE"
 msgstr "|DATEI|Konfigurationsoptionen aus DATEI lesen"
 
-#: agent/gpg-agent.c:124 scd/scdaemon.c:121
+#: agent/gpg-agent.c:125 scd/scdaemon.c:121
 msgid "do not detach from the console"
 msgstr "Im Vordergrund laufen lassen"
 
-#: agent/gpg-agent.c:125
+#: agent/gpg-agent.c:126
 msgid "do not grab keyboard and mouse"
 msgstr "Tastatur und Maus nicht \"grabben\""
 
-#: agent/gpg-agent.c:126 scd/scdaemon.c:122 sm/gpgsm.c:338
+#: agent/gpg-agent.c:127 scd/scdaemon.c:122 sm/gpgsm.c:338
 #: tools/symcryptrun.c:187
 msgid "use a log file for the server"
 msgstr "Logausgaben in eine Datei umlenken"
 
-#: agent/gpg-agent.c:128
+#: agent/gpg-agent.c:129
 msgid "use a standard location for the socket"
 msgstr "Benutze einen Standardnamen für den Socket"
 
-#: agent/gpg-agent.c:132
+#: agent/gpg-agent.c:133
 msgid "|PGM|use PGM as the PIN-Entry program"
 msgstr "|PGM|benutze PGM as PIN-Entry"
 
-#: agent/gpg-agent.c:134
+#: agent/gpg-agent.c:135
 msgid "|PGM|use PGM as the SCdaemon program"
 msgstr "|PGM|benutze PGM as SCdaemon"
 
-#: agent/gpg-agent.c:135
+#: agent/gpg-agent.c:136
 msgid "do not use the SCdaemon"
 msgstr "Den Scdaemon-basierten Kartenzugriff nicht nutzen"
 
-#: agent/gpg-agent.c:142
+#: agent/gpg-agent.c:143
 msgid "ignore requests to change the TTY"
 msgstr "Ignoriere Anfragen, das TTY zu wechseln"
 
-#: agent/gpg-agent.c:144
+#: agent/gpg-agent.c:145
 msgid "ignore requests to change the X display"
 msgstr "Ignoriere Anfragen, das X-Display zu wechseln"
 
-#: agent/gpg-agent.c:147
+#: agent/gpg-agent.c:148
 msgid "|N|expire cached PINs after N seconds"
 msgstr "|N|lasse PINs im Cache nach N Sekunden verfallen"
 
-#: agent/gpg-agent.c:152
+#: agent/gpg-agent.c:154
 msgid "do not use the PIN cache when signing"
 msgstr "benutze PINs im Cache nicht bem Signieren"
 
-#: agent/gpg-agent.c:154
+#: agent/gpg-agent.c:156
 msgid "allow clients to mark keys as \"trusted\""
 msgstr "erlaube Aufrufern Schlüssel als \"vertrauenswürdig\" zu markieren"
 
-#: agent/gpg-agent.c:156
+#: agent/gpg-agent.c:158
 msgid "allow presetting passphrase"
 msgstr "erlaube ein \"preset\" von Passphrases"
 
-#: agent/gpg-agent.c:157
+#: agent/gpg-agent.c:159
 msgid "enable ssh-agent emulation"
 msgstr "Die ssh-agent-Emulation anschalten"
 
-#: agent/gpg-agent.c:159
+#: agent/gpg-agent.c:161
 msgid "|FILE|write environment settings also to FILE"
 msgstr "|DATEI|Schreibe die Umgebungsvariabeln auf DATEI"
 
-#: agent/gpg-agent.c:241 agent/preset-passphrase.c:96 agent/protect-tool.c:143
+#: agent/gpg-agent.c:244 agent/preset-passphrase.c:96 agent/protect-tool.c:143
 #: scd/scdaemon.c:190 sm/gpgsm.c:517 tools/gpg-connect-agent.c:123
 #: tools/gpgconf.c:86 tools/symcryptrun.c:225
 msgid "Please report bugs to <"
 msgstr "Fehlerberichte bitte an <"
 
-#: agent/gpg-agent.c:244
+#: agent/gpg-agent.c:247
 msgid "Usage: gpg-agent [options] (-h for help)"
 msgstr "Aufruf: gpg-agent [Optionen] (-h für Hilfe)"
 
-#: agent/gpg-agent.c:246
+#: agent/gpg-agent.c:249
 msgid ""
 "Syntax: gpg-agent [options] [command [args]]\n"
 "Secret key management for GnuPG\n"
@@ -293,138 +320,138 @@ msgstr ""
 "Syntax: gpg-agent [Optionen] [Befehl [Argumente]]\n"
 "Verwaltung von geheimen Schlüsseln für GnuPG\n"
 
-#: agent/gpg-agent.c:305
+#: agent/gpg-agent.c:308
 #, c-format
 msgid "out of core in secure memory while allocating %lu bytes"
 msgstr ""
 "Kein sicherer Speicher mehr vorhanden, als %lu Byte zugewiesen werden sollten"
 
-#: agent/gpg-agent.c:308
+#: agent/gpg-agent.c:311
 #, c-format
 msgid "out of core while allocating %lu bytes"
 msgstr "Kein Speicher mehr vorhanden, als %lu Byte zugewiesen werden sollten"
 
-#: agent/gpg-agent.c:339 g10/gpg.c:923 scd/scdaemon.c:264 sm/gpgsm.c:646
+#: agent/gpg-agent.c:342 g10/gpg.c:927 scd/scdaemon.c:264 sm/gpgsm.c:646
 #, c-format
 msgid "invalid debug-level `%s' given\n"
 msgstr "ungültige Debugebene `%s' angegeben\n"
 
-#: agent/gpg-agent.c:510 agent/protect-tool.c:1073 g10/gpg.c:1808
-#: kbx/kbxutil.c:432 scd/scdaemon.c:356 sm/gpgsm.c:767
+#: agent/gpg-agent.c:516 agent/protect-tool.c:1073 g10/gpg.c:1831
+#: kbx/kbxutil.c:432 scd/scdaemon.c:356 sm/gpgsm.c:768
 #: tools/symcryptrun.c:1056
 #, c-format
 msgid "libgcrypt is too old (need %s, have %s)\n"
 msgstr ""
 "Die Bibliothek \"libgcrypt\" is zu alt (benötigt wird %s, vorhanden ist %s)\n"
 
-#: agent/gpg-agent.c:604 g10/gpg.c:2007 scd/scdaemon.c:433 sm/gpgsm.c:864
+#: agent/gpg-agent.c:610 g10/gpg.c:2031 scd/scdaemon.c:433 sm/gpgsm.c:865
 #, c-format
 msgid "NOTE: no default option file `%s'\n"
 msgstr "Hinweis: Keine voreingestellte Optionendatei '%s' vorhanden\n"
 
-#: agent/gpg-agent.c:609 agent/gpg-agent.c:1160 g10/gpg.c:2011
-#: scd/scdaemon.c:438 sm/gpgsm.c:868 tools/symcryptrun.c:989
+#: agent/gpg-agent.c:615 agent/gpg-agent.c:1166 g10/gpg.c:2035
+#: scd/scdaemon.c:438 sm/gpgsm.c:869 tools/symcryptrun.c:989
 #, c-format
 msgid "option file `%s': %s\n"
 msgstr "Optionendatei '%s': %s\n"
 
-#: agent/gpg-agent.c:617 g10/gpg.c:2018 scd/scdaemon.c:446 sm/gpgsm.c:875
+#: agent/gpg-agent.c:623 g10/gpg.c:2042 scd/scdaemon.c:446 sm/gpgsm.c:876
 #, c-format
 msgid "reading options from `%s'\n"
 msgstr "Optionen werden aus '%s' gelesen\n"
 
-#: agent/gpg-agent.c:930 g10/plaintext.c:136 g10/plaintext.c:141
+#: agent/gpg-agent.c:936 g10/plaintext.c:136 g10/plaintext.c:141
 #: g10/plaintext.c:158
 #, c-format
 msgid "error creating `%s': %s\n"
 msgstr "Fehler beim Erstellen von `%s': %s\n"
 
-#: agent/gpg-agent.c:1210 agent/gpg-agent.c:1313 agent/gpg-agent.c:1317
-#: agent/gpg-agent.c:1353 agent/gpg-agent.c:1357 g10/exec.c:174
+#: agent/gpg-agent.c:1216 agent/gpg-agent.c:1319 agent/gpg-agent.c:1323
+#: agent/gpg-agent.c:1359 agent/gpg-agent.c:1363 g10/exec.c:174
 #: g10/openfile.c:418 scd/scdaemon.c:932
 #, c-format
 msgid "can't create directory `%s': %s\n"
 msgstr "Verzeichnis `%s' kann nicht erzeugt werden: %s\n"
 
-#: agent/gpg-agent.c:1224 scd/scdaemon.c:946
+#: agent/gpg-agent.c:1230 scd/scdaemon.c:946
 msgid "name of socket too long\n"
 msgstr "Der Name des Sockets ist zu lang\n"
 
-#: agent/gpg-agent.c:1250 scd/scdaemon.c:972
+#: agent/gpg-agent.c:1256 scd/scdaemon.c:972
 #, c-format
 msgid "can't create socket: %s\n"
 msgstr "Socket kann nicht erzeugt werden: %s\n"
 
-#: agent/gpg-agent.c:1279 scd/scdaemon.c:1001
+#: agent/gpg-agent.c:1285 scd/scdaemon.c:1001
 #, 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:1287 scd/scdaemon.c:1009
+#: agent/gpg-agent.c:1293 scd/scdaemon.c:1009
 #, c-format
 msgid "listen() failed: %s\n"
 msgstr "Der listen()-Aufruf ist fehlgeschlagen: %s\n"
 
-#: agent/gpg-agent.c:1293 scd/scdaemon.c:1015
+#: agent/gpg-agent.c:1299 scd/scdaemon.c:1015
 #, c-format
 msgid "listening on socket `%s'\n"
 msgstr "Es wird auf Socket `%s' gehört\n"
 
-#: agent/gpg-agent.c:1321 agent/gpg-agent.c:1363 g10/openfile.c:421
+#: agent/gpg-agent.c:1327 agent/gpg-agent.c:1369 g10/openfile.c:421
 #, c-format
 msgid "directory `%s' created\n"
 msgstr "Verzeichnis `%s' erzeugt\n"
 
-#: agent/gpg-agent.c:1369
+#: agent/gpg-agent.c:1375
 #, c-format
 msgid "stat() failed for `%s': %s\n"
 msgstr "stat()-Aufruf für `%s' fehlgeschlagen: %s\n"
 
-#: agent/gpg-agent.c:1373
+#: agent/gpg-agent.c:1379
 #, c-format
 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:1475
+#: agent/gpg-agent.c:1481
 #, c-format
 msgid "handler 0x%lx for fd %d started\n"
 msgstr "Handhabungsroutine 0x%lx für fd %d gestartet\n"
 
-#: agent/gpg-agent.c:1480
+#: agent/gpg-agent.c:1486
 #, c-format
 msgid "handler 0x%lx for fd %d terminated\n"
 msgstr "Handhabungsroutine 0x%lx für den fd %d beendet\n"
 
-#: agent/gpg-agent.c:1497
+#: agent/gpg-agent.c:1503
 #, c-format
 msgid "ssh handler 0x%lx for fd %d started\n"
 msgstr "SSH-Handhabungsroutine 0x%lx für fd %d gestartet\n"
 
-#: agent/gpg-agent.c:1502
+#: agent/gpg-agent.c:1508
 #, c-format
 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:1598 scd/scdaemon.c:1134
+#: agent/gpg-agent.c:1604 scd/scdaemon.c:1134
 #, c-format
 msgid "pth_select failed: %s - waiting 1s\n"
 msgstr "pth_select()-Aufruf fehlgeschlagen: %s - warte 1s\n"
 
-#: agent/gpg-agent.c:1704 scd/scdaemon.c:1201
+#: agent/gpg-agent.c:1710 scd/scdaemon.c:1201
 #, c-format
 msgid "%s %s stopped\n"
 msgstr "%s %s angehalten\n"
 
-#: agent/gpg-agent.c:1725
+#: agent/gpg-agent.c:1731
 msgid "no gpg-agent running in this session\n"
 msgstr "Der gpg-agent läuft nicht für diese Session\n"
 
-#: agent/gpg-agent.c:1735 common/simple-pwquery.c:324 g10/call-agent.c:137
+#: agent/gpg-agent.c:1741 common/simple-pwquery.c:324 g10/call-agent.c:137
 #: sm/call-agent.c:144 tools/gpg-connect-agent.c:713
 msgid "malformed GPG_AGENT_INFO environment variable\n"
 msgstr "fehlerhaft aufgebaute GPG_AGENT_INFO - Umgebungsvariable\n"
 
-#: agent/gpg-agent.c:1747 common/simple-pwquery.c:336 g10/call-agent.c:149
+#: agent/gpg-agent.c:1753 common/simple-pwquery.c:336 g10/call-agent.c:149
 #: sm/call-agent.c:156 tools/gpg-connect-agent.c:724
 #, c-format
 msgid "gpg-agent protocol version %d is not supported\n"
@@ -718,75 +745,75 @@ msgstr "oO"
 msgid "cC"
 msgstr "cC"
 
-#: g10/armor.c:320
+#: g10/armor.c:368
 #, c-format
 msgid "armor: %s\n"
 msgstr "ASCII-Hülle: %s\n"
 
-#: g10/armor.c:359
+#: g10/armor.c:407
 msgid "invalid armor header: "
 msgstr "Ungültige ASCII-Hülle"
 
-#: g10/armor.c:370
+#: g10/armor.c:418
 msgid "armor header: "
 msgstr "ASCII-Hülle: "
 
-#: g10/armor.c:381
+#: g10/armor.c:429
 msgid "invalid clearsig header\n"
 msgstr "Ungültige Klartextsignatur-Einleitung\n"
 
-#: g10/armor.c:433
+#: g10/armor.c:481
 msgid "nested clear text signatures\n"
 msgstr "verschachtelte Klartextunterschriften\n"
 
-#: g10/armor.c:568
+#: g10/armor.c:616
 msgid "unexpected armor: "
 msgstr "Unerwartete ASCII-Hülle: "
 
-#: g10/armor.c:580
+#: g10/armor.c:628
 msgid "invalid dash escaped line: "
 msgstr "Ungültige mit Bindestrich \"escapte\" Zeile: "
 
-#: g10/armor.c:734 g10/armor.c:1343
+#: g10/armor.c:782 g10/armor.c:1392
 #, c-format
 msgid "invalid radix64 character %02X skipped\n"
 msgstr "Ungültiges \"radix64\" Zeichen %02x übersprungen\n"
 
-#: g10/armor.c:777
+#: g10/armor.c:825
 msgid "premature eof (no CRC)\n"
 msgstr "vorzeitiges Dateiende (keine Prüfsumme)\n"
 
-#: g10/armor.c:811
+#: g10/armor.c:859
 msgid "premature eof (in CRC)\n"
 msgstr "vorzeitiges Dateiende (innerhalb der Prüfsumme)\n"
 
-#: g10/armor.c:819
+#: g10/armor.c:867
 msgid "malformed CRC\n"
 msgstr "Falsch aufgebaute Prüfsumme\n"
 
-#: g10/armor.c:823 g10/armor.c:1380
+#: g10/armor.c:871 g10/armor.c:1429
 #, c-format
 msgid "CRC error; %06lX - %06lX\n"
 msgstr "Prüfsummenfehler; %06lx - %06lx\n"
 
-#: g10/armor.c:843
+#: g10/armor.c:891
 msgid "premature eof (in trailer)\n"
 msgstr "vorzeitiges Dateiende (im Nachsatz)\n"
 
-#: g10/armor.c:847
+#: g10/armor.c:895
 msgid "error in trailer line\n"
 msgstr "Fehler in der Nachsatzzeile\n"
 
-#: g10/armor.c:1158
+#: g10/armor.c:1206
 msgid "no valid OpenPGP data found.\n"
 msgstr "Keine gültigen OpenPGP-Daten gefunden.\n"
 
-#: g10/armor.c:1163
+#: g10/armor.c:1211
 #, c-format
 msgid "invalid armor: line longer than %d characters\n"
 msgstr "ungültige ASCII-Hülle: Zeile ist länger als %d Zeichen\n"
 
-#: g10/armor.c:1167
+#: g10/armor.c:1215
 msgid ""
 "quoted printable character in armor - probably a buggy MTA has been used\n"
 msgstr ""
@@ -839,8 +866,8 @@ msgstr "OpenPGP Karte ist nicht vorhanden: %s\n"
 msgid "OpenPGP card no. %s detected\n"
 msgstr "OpenPGP Karte Nr. %s erkannt\n"
 
-#: g10/card-util.c:77 g10/card-util.c:1403 g10/delkey.c:128 g10/keyedit.c:1525
-#: g10/keygen.c:2740 g10/revoke.c:218 g10/revoke.c:456
+#: g10/card-util.c:77 g10/card-util.c:1403 g10/delkey.c:128 g10/keyedit.c:1531
+#: g10/keygen.c:2749 g10/revoke.c:218 g10/revoke.c:457
 msgid "can't do this in batch mode\n"
 msgstr "Dies kann im Batchmodus nicht durchgeführt werden.\n"
 
@@ -909,7 +936,7 @@ msgstr "URL um den öffentlichen Schlüssel zu holen: "
 msgid "Error: URL too long (limit is %d characters).\n"
 msgstr "Fehler: URL ist zu lang (Grenze beträgt %d Zeichen).\n"
 
-#: g10/card-util.c:688 g10/card-util.c:757 g10/import.c:282
+#: g10/card-util.c:688 g10/card-util.c:757 g10/import.c:285
 #, c-format
 msgid "error reading `%s': %s\n"
 msgstr "Fehler beim Lesen von `%s': %s\n"
@@ -1015,7 +1042,7 @@ msgid "   (3) Authentication key\n"
 msgstr "   (3) Authentisierungs-Schlüssel\n"
 
 #: g10/card-util.c:1140 g10/card-util.c:1223 g10/keyedit.c:947
-#: g10/keygen.c:1554 g10/keygen.c:1582 g10/keygen.c:1656 g10/revoke.c:685
+#: g10/keygen.c:1554 g10/keygen.c:1582 g10/keygen.c:1656 g10/revoke.c:687
 msgid "Invalid selection.\n"
 msgstr "Ungültige Auswahl.\n"
 
@@ -1035,7 +1062,7 @@ msgstr "Geheime Teile des Schlüssels sind nicht vorhanden\n"
 msgid "secret key already stored on a card\n"
 msgstr "geheimer Schlüssel ist bereits auf einer Karte gespeichert\n"
 
-#: g10/card-util.c:1316 g10/keyedit.c:1358
+#: g10/card-util.c:1316 g10/keyedit.c:1364
 msgid "quit this menu"
 msgstr "Menü verlassen"
 
@@ -1043,7 +1070,7 @@ msgstr "Menü verlassen"
 msgid "show admin commands"
 msgstr "Zeige Admin-Befehle"
 
-#: g10/card-util.c:1319 g10/keyedit.c:1361
+#: g10/card-util.c:1319 g10/keyedit.c:1367
 msgid "show this help"
 msgstr "Diese Hilfe zeigen"
 
@@ -1095,7 +1122,7 @@ msgstr "Menü für Ändern oder Entsperren der PIN"
 msgid "verify the PIN and list all data"
 msgstr "überprüfe die PIN und liste alle Daten auf"
 
-#: g10/card-util.c:1454 g10/keyedit.c:1626
+#: g10/card-util.c:1454 g10/keyedit.c:1632
 msgid "Command> "
 msgstr "Befehl> "
 
@@ -1111,27 +1138,27 @@ msgstr "Admin-Befehle sind erlaubt\n"
 msgid "Admin commands are not allowed\n"
 msgstr "Admin-Befehle sind nicht erlaubt\n"
 
-#: g10/card-util.c:1599 g10/keyedit.c:2247
+#: g10/card-util.c:1599 g10/keyedit.c:2253
 msgid "Invalid command  (try \"help\")\n"
 msgstr "Ungültiger Befehl (versuchen Sie's mal mit \"help\")\n"
 
-#: g10/decrypt.c:107 g10/encode.c:869
+#: g10/decrypt.c:112 g10/encode.c:892
 msgid "--output doesn't work for this command\n"
 msgstr "--output funktioniert nicht bei diesem Befehl\n"
 
-#: g10/decrypt.c:162 g10/gpg.c:3820 g10/keyring.c:378 g10/keyring.c:665
+#: g10/decrypt.c:168 g10/gpg.c:3859 g10/keyring.c:378 g10/keyring.c:665
 #, c-format
 msgid "can't open `%s'\n"
 msgstr "'%s' kann nicht geöffnet werden\n"
 
-#: g10/delkey.c:75 g10/export.c:325 g10/keyedit.c:3390 g10/keyserver.c:1713
+#: g10/delkey.c:75 g10/export.c:326 g10/keyedit.c:3401 g10/keyserver.c:1714
 #: g10/revoke.c:228
 #, c-format
 msgid "key \"%s\" not found: %s\n"
 msgstr "Schlüssel \"%s\" nicht gefunden: %s\n"
 
-#: g10/delkey.c:83 g10/export.c:355 g10/import.c:2348 g10/keyserver.c:1727
-#: g10/revoke.c:234 g10/revoke.c:478
+#: g10/delkey.c:83 g10/export.c:356 g10/import.c:2351 g10/keyserver.c:1728
+#: g10/revoke.c:234 g10/revoke.c:479
 #, c-format
 msgid "error reading keyblock: %s\n"
 msgstr "Fehler beim Lesen des Schlüsselblocks: %s\n"
@@ -1173,51 +1200,51 @@ msgstr ""
 "Verwenden Sie zunächst den Befehl \"--delete-secret-key\", um ihn zu "
 "entfernen.\n"
 
-#: g10/encode.c:225 g10/sign.c:1291
+#: g10/encode.c:228 g10/sign.c:1299
 #, c-format
 msgid "error creating passphrase: %s\n"
 msgstr "Fehler beim Erzeugen der Passphrase: %s\n"
 
-#: g10/encode.c:230
+#: g10/encode.c:234
 msgid "can't use a symmetric ESK packet due to the S2K mode\n"
 msgstr ""
 "Aufgrund des S2K-Modus kann ein symmetrisches ESK Paket nicht benutzt "
 "werden\n"
 
-#: g10/encode.c:244
+#: g10/encode.c:248
 #, c-format
 msgid "using cipher %s\n"
 msgstr "benutze Cipher %s\n"
 
-#: g10/encode.c:254 g10/encode.c:558
+#: g10/encode.c:258 g10/encode.c:579
 #, c-format
 msgid "`%s' already compressed\n"
 msgstr "`%s' ist bereits komprimiert\n"
 
-#: g10/encode.c:305 g10/encode.c:606 g10/sign.c:596
+#: g10/encode.c:313 g10/encode.c:627 g10/sign.c:596
 #, c-format
 msgid "WARNING: `%s' is an empty file\n"
 msgstr "WARNUNG: '%s' ist eine leere Datei.\n"
 
-#: g10/encode.c:469
+#: g10/encode.c:487
 msgid "you can only encrypt to RSA keys of 2048 bits or less in --pgp2 mode\n"
 msgstr ""
 "Im --pgp2-Modus kann nur für RSA-Schlüssel mit maximal 2048 Bit "
 "verschlüsselt werden\n"
 
-#: g10/encode.c:494
+#: g10/encode.c:512
 #, c-format
 msgid "reading from `%s'\n"
 msgstr "Lesen von '%s'\n"
 
-#: g10/encode.c:522
+#: g10/encode.c:543
 msgid ""
 "unable to use the IDEA cipher for all of the keys you are encrypting to.\n"
 msgstr ""
 "Die IDEA-Verschlüsselung kann nicht mit allen Zielschlüsseln verwendet "
 "werden.\n"
 
-#: g10/encode.c:540
+#: g10/encode.c:561
 #, c-format
 msgid ""
 "WARNING: forcing symmetric cipher %s (%d) violates recipient preferences\n"
@@ -1225,7 +1252,7 @@ msgstr ""
 "WARNUNG: Erzwungene Verwendung des symmetrischen Verschlüsselungsverfahren %"
 "s (%d) verletzt die Empfängervoreinstellungen\n"
 
-#: g10/encode.c:650 g10/sign.c:968
+#: g10/encode.c:671 g10/sign.c:969
 #, c-format
 msgid ""
 "WARNING: forcing compression algorithm %s (%d) violates recipient "
@@ -1234,40 +1261,40 @@ msgstr ""
 "WARNUNG: Erzwungenes Kompressionsverfahren %s (%d) verletzt die "
 "Empfängervoreinstellungen.\n"
 
-#: g10/encode.c:744
+#: g10/encode.c:767
 #, c-format
 msgid "forcing symmetric cipher %s (%d) violates recipient preferences\n"
 msgstr ""
 "Erzwungene Verwendung des symmetrischen Verschlüsselungsverfahren %s (%d) "
 "verletzt die Empfängervoreinstellungen\n"
 
-#: g10/encode.c:814 g10/pkclist.c:803 g10/pkclist.c:851
+#: g10/encode.c:837 g10/pkclist.c:803 g10/pkclist.c:851
 #, c-format
 msgid "you may not use %s while in %s mode\n"
 msgstr "Die Benutzung von %s ist im %s-Modus nicht erlaubt.\n"
 
-#: g10/encode.c:841
+#: g10/encode.c:864
 #, c-format
 msgid "%s/%s encrypted for: \"%s\"\n"
 msgstr "%s/%s verschlüsselt für: %s\n"
 
-#: g10/encr-data.c:70 g10/mainproc.c:265
+#: g10/encr-data.c:95 g10/mainproc.c:283
 #, c-format
 msgid "%s encrypted data\n"
 msgstr "%s verschlüsselte Daten\n"
 
-#: g10/encr-data.c:72 g10/mainproc.c:269
+#: g10/encr-data.c:97 g10/mainproc.c:287
 #, c-format
 msgid "encrypted with unknown algorithm %d\n"
 msgstr "Mit unbekanntem Verfahren verschlüsselt %d\n"
 
-#: g10/encr-data.c:110 sm/decrypt.c:128
+#: g10/encr-data.c:135 sm/decrypt.c:128
 msgid ""
 "WARNING: message was encrypted with a weak key in the symmetric cipher.\n"
 msgstr ""
 "Warnung: Botschaft wurde mit einem unsicheren Schlüssel verschlüsselt.\n"
 
-#: g10/encr-data.c:122
+#: g10/encr-data.c:147
 msgid "problem handling encrypted packet\n"
 msgstr "Problem beim Bearbeiten des verschlüsselten Packets\n"
 
@@ -1355,41 +1382,41 @@ msgstr "Während des Exports soviel wie möglich vom Schlüssel entfernen"
 msgid "export keys in an S-expression based format"
 msgstr "Exportiere Schlüssel in einem auf S-Ausdrücken basierenden Format"
 
-#: g10/export.c:339
+#: g10/export.c:340
 msgid "exporting secret keys not allowed\n"
 msgstr "Exportieren geheimer Schlüssel ist nicht erlaubt\n"
 
-#: g10/export.c:368
+#: g10/export.c:369
 #, c-format
 msgid "key %s: not protected - skipped\n"
 msgstr "Schlüssel %s: ungeschützt - übersprungen\n"
 
-#: g10/export.c:376
+#: g10/export.c:377
 #, c-format
 msgid "key %s: PGP 2.x style key - skipped\n"
 msgstr "Schlüssel %s: PGP 2.x-artiger Schlüssel - übersprungen\n"
 
-#: g10/export.c:387
+#: g10/export.c:388
 #, c-format
 msgid "key %s: key material on-card - skipped\n"
 msgstr "Schlüssel %s: Schlüsselmaterial ist auf einer Karte - übersprungen\n"
 
-#: g10/export.c:538
+#: g10/export.c:539
 msgid "about to export an unprotected subkey\n"
 msgstr "Ein ungeschützter Unterschlüssel wird exportiert werden\n"
 
-#: g10/export.c:561
+#: g10/export.c:562
 #, c-format
 msgid "failed to unprotect the subkey: %s\n"
 msgstr "Entfernen des Schutzes für des Unterschlüssel fehlgeschlagen: %s\n"
 
 # translated by wk
-#: g10/export.c:582
+#: g10/export.c:583
 #, c-format
 msgid "WARNING: secret key %s does not have a simple SK checksum\n"
 msgstr "WARNUNG: Der geheime Schlüssel %s hat keine einfache SK-Prüfsumme\n"
 
-#: g10/export.c:631
+#: g10/export.c:632
 msgid "WARNING: nothing exported\n"
 msgstr "WARNUNG: Nichts exportiert\n"
 
@@ -1413,7 +1440,7 @@ 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:2385 g10/keyedit.c:3710
+#: g10/getkey.c:2385 g10/keyedit.c:3721
 #, c-format
 msgid "no secret subkey for public subkey %s - ignoring\n"
 msgstr ""
@@ -1430,7 +1457,7 @@ msgid "key %s: secret key without public key - skipped\n"
 msgstr ""
 "Schlüssel %s: geheimer Schlüssel ohne öffentlichen Schlüssel - übersprungen\n"
 
-#: g10/gpg.c:365 kbx/kbxutil.c:69 sm/gpgsm.c:241 tools/gpgconf.c:54
+#: g10/gpg.c:367 kbx/kbxutil.c:69 sm/gpgsm.c:241 tools/gpgconf.c:54
 msgid ""
 "@Commands:\n"
 " "
@@ -1438,127 +1465,131 @@ msgstr ""
 "@Befehle:\n"
 " "
 
-#: g10/gpg.c:367
+#: g10/gpg.c:369
 msgid "|[file]|make a signature"
 msgstr "|[Datei]|Eine Unterschrift erzeugen"
 
-#: g10/gpg.c:368
+#: g10/gpg.c:370
 msgid "|[file]|make a clear text signature"
 msgstr "|[Datei]|Eine Klartextunterschrift erzeugen"
 
-#: g10/gpg.c:369 sm/gpgsm.c:245
+#: g10/gpg.c:371 sm/gpgsm.c:245
 msgid "make a detached signature"
 msgstr "Eine abgetrennte Unterschrift erzeugen"
 
-#: g10/gpg.c:370 sm/gpgsm.c:246
+#: g10/gpg.c:372 sm/gpgsm.c:246
 msgid "encrypt data"
 msgstr "Daten verschlüsseln"
 
-#: g10/gpg.c:372 sm/gpgsm.c:247
+#: g10/gpg.c:374 sm/gpgsm.c:247
 msgid "encryption only with symmetric cipher"
 msgstr "Daten symmetrisch verschlüsseln"
 
-#: g10/gpg.c:374 sm/gpgsm.c:248
+#: g10/gpg.c:376 sm/gpgsm.c:248
 msgid "decrypt data (default)"
 msgstr "Daten entschlüsseln (Voreinstellung)"
 
-#: g10/gpg.c:376 sm/gpgsm.c:249
+#: g10/gpg.c:378 sm/gpgsm.c:249
 msgid "verify a signature"
 msgstr "Signatur prüfen"
 
-#: g10/gpg.c:378 sm/gpgsm.c:251
+#: g10/gpg.c:380 sm/gpgsm.c:251
 msgid "list keys"
 msgstr "Liste der Schlüssel"
 
-#: g10/gpg.c:380
+#: g10/gpg.c:382
 msgid "list keys and signatures"
 msgstr "Liste der Schlüssel und ihrer Signaturen"
 
-#: g10/gpg.c:381
+#: g10/gpg.c:383
 msgid "list and check key signatures"
 msgstr "Signaturen der Schlüssel auflisten und prüfen"
 
-#: g10/gpg.c:382 sm/gpgsm.c:255
+#: g10/gpg.c:384 sm/gpgsm.c:255
 msgid "list keys and fingerprints"
 msgstr "Liste der Schlüssel und ihrer \"Fingerabdrücke\""
 
-#: g10/gpg.c:383 sm/gpgsm.c:253
+#: g10/gpg.c:385 sm/gpgsm.c:253
 msgid "list secret keys"
 msgstr "Liste der geheimen Schlüssel"
 
-#: g10/gpg.c:384 sm/gpgsm.c:256
+#: g10/gpg.c:386 sm/gpgsm.c:256
 msgid "generate a new key pair"
 msgstr "Ein neues Schlüsselpaar erzeugen"
 
-#: g10/gpg.c:385
+#: g10/gpg.c:387
 msgid "remove keys from the public keyring"
 msgstr "Schlüssel aus dem öff. Schlüsselbund entfernen"
 
-#: g10/gpg.c:387
+#: g10/gpg.c:389
 msgid "remove keys from the secret keyring"
 msgstr "Schlüssel aus dem geh. Schlüsselbund entfernen"
 
-#: g10/gpg.c:388
+#: g10/gpg.c:390
 msgid "sign a key"
 msgstr "Schlüssel signieren"
 
-#: g10/gpg.c:389
+#: g10/gpg.c:391
 msgid "sign a key locally"
 msgstr "Schlüssel nur für diesen Rechner signieren"
 
-#: g10/gpg.c:390
+#: g10/gpg.c:392
 msgid "sign or edit a key"
 msgstr "Unterschreiben oder bearbeiten eines Schl."
 
-#: g10/gpg.c:391
+#: g10/gpg.c:393
 msgid "generate a revocation certificate"
 msgstr "Ein Schlüsselwiderruf-Zertifikat erzeugen"
 
-#: g10/gpg.c:393
+#: g10/gpg.c:395
 msgid "export keys"
 msgstr "Schlüssel exportieren"
 
-#: g10/gpg.c:394 sm/gpgsm.c:258
+#: g10/gpg.c:396 sm/gpgsm.c:258
 msgid "export keys to a key server"
 msgstr "Schlüssel zu einem Schlü.server exportieren"
 
-#: g10/gpg.c:395 sm/gpgsm.c:259
+#: g10/gpg.c:397 sm/gpgsm.c:259
 msgid "import keys from a key server"
 msgstr "Schlüssel von einem Schlü.server importieren"
 
-#: g10/gpg.c:397
+#: g10/gpg.c:399
 msgid "search for keys on a key server"
 msgstr "Schlüssel auf einem Schlü.server suchen"
 
-#: g10/gpg.c:399
+#: g10/gpg.c:401
 msgid "update all keys from a keyserver"
 msgstr "alle Schlüssel per Schlü.server aktualisieren"
 
-#: g10/gpg.c:403
+#: g10/gpg.c:405
 msgid "import/merge keys"
 msgstr "Schlüssel importieren/kombinieren"
 
-#: g10/gpg.c:406
+#: g10/gpg.c:408
 msgid "print the card status"
 msgstr "den Karten-Status ausgeben"
 
-#: g10/gpg.c:407
+#: g10/gpg.c:409
 msgid "change data on a card"
 msgstr "Daten auf einer Karte ändern"
 
-#: g10/gpg.c:408
+#: g10/gpg.c:410
 msgid "change a card's PIN"
 msgstr "PIN einer Karte ändern"
 
-#: g10/gpg.c:417
+#: g10/gpg.c:419
 msgid "update the trust database"
 msgstr "Ändern der \"Trust\"-Datenbank"
 
-#: g10/gpg.c:424
+#: g10/gpg.c:426
 msgid "|algo [files]|print message digests"
 msgstr "|algo [Dateien]|Message-Digests für die Dateien ausgeben"
 
-#: g10/gpg.c:428 g10/gpgv.c:69 kbx/kbxutil.c:77 sm/gpgsm.c:278
+#: g10/gpg.c:429 sm/gpgsm.c:263
+msgid "run in server mode"
+msgstr "Im Server Modus ausführen"
+
+#: g10/gpg.c:431 g10/gpgv.c:69 kbx/kbxutil.c:77 sm/gpgsm.c:278
 #: tools/gpg-connect-agent.c:57 tools/gpgconf.c:60 tools/symcryptrun.c:178
 msgid ""
 "@\n"
@@ -1569,47 +1600,47 @@ msgstr ""
 "Optionen:\n"
 " "
 
-#: g10/gpg.c:430 sm/gpgsm.c:280
+#: g10/gpg.c:433 sm/gpgsm.c:280
 msgid "create ascii armored output"
 msgstr "Ausgabe mit ASCII-Hülle versehen"
 
-#: g10/gpg.c:432 sm/gpgsm.c:290
+#: g10/gpg.c:435 sm/gpgsm.c:290
 msgid "|NAME|encrypt for NAME"
 msgstr "|NAME|Verschlüsseln für NAME"
 
-#: g10/gpg.c:443 sm/gpgsm.c:326
+#: g10/gpg.c:446 sm/gpgsm.c:326
 msgid "use this user-id to sign or decrypt"
 msgstr "Mit dieser User-ID signieren"
 
-#: g10/gpg.c:444 sm/gpgsm.c:329
+#: g10/gpg.c:447 sm/gpgsm.c:329
 msgid "|N|set compress level N (0 disables)"
 msgstr "Kompressionsstufe auf N setzen (0=keine)"
 
-#: g10/gpg.c:449 sm/gpgsm.c:331
+#: g10/gpg.c:452 sm/gpgsm.c:331
 msgid "use canonical text mode"
 msgstr "Textmodus benutzen"
 
-#: g10/gpg.c:463 sm/gpgsm.c:334 tools/gpgconf.c:62
+#: g10/gpg.c:466 sm/gpgsm.c:334 tools/gpgconf.c:62
 msgid "use as output file"
 msgstr "Als Ausgabedatei benutzen"
 
-#: g10/gpg.c:476 kbx/kbxutil.c:84 sm/gpgsm.c:344 tools/gpgconf.c:65
+#: g10/gpg.c:479 kbx/kbxutil.c:84 sm/gpgsm.c:344 tools/gpgconf.c:65
 msgid "do not make any changes"
 msgstr "Keine wirklichen Änderungen durchführen"
 
-#: g10/gpg.c:477
+#: g10/gpg.c:480
 msgid "prompt before overwriting"
 msgstr "vor Überschreiben nachfragen"
 
-#: g10/gpg.c:519
+#: g10/gpg.c:522
 msgid "use strict OpenPGP behavior"
 msgstr "OpenPGP-Verhalten strikt beachten"
 
-#: g10/gpg.c:520
+#: g10/gpg.c:523
 msgid "generate PGP 2.x compatible messages"
 msgstr "PGP 2.x-kompatibele Botschaften erzeugen"
 
-#: g10/gpg.c:549 sm/gpgsm.c:392
+#: g10/gpg.c:552 sm/gpgsm.c:392
 msgid ""
 "@\n"
 "(See the man page for a complete listing of all commands and options)\n"
@@ -1618,7 +1649,7 @@ msgstr ""
 "(Auf der \"man\"-Seite ist eine vollständige Liste aller Befehle und "
 "Optionen)\n"
 
-#: g10/gpg.c:552 sm/gpgsm.c:395
+#: g10/gpg.c:555 sm/gpgsm.c:395
 msgid ""
 "@\n"
 "Examples:\n"
@@ -1638,17 +1669,17 @@ msgstr ""
 " --list-keys [Namen]        Schlüssel anzeigen\n"
 " --fingerprint [Namen]      \"Fingerabdrücke\" anzeigen\n"
 
-#: g10/gpg.c:743 g10/gpgv.c:96
+#: g10/gpg.c:747 g10/gpgv.c:96
 msgid "Please report bugs to <gnupg-bugs@gnu.org>.\n"
 msgstr ""
 "Berichte über Programmfehler bitte in englisch an <gnupg-bugs@gnu.org>.\n"
 "Sinn- oder Schreibfehler in den deutschen Texten bitte an <de@li.org>.\n"
 
-#: g10/gpg.c:760
+#: g10/gpg.c:764
 msgid "Usage: gpg [options] [files] (-h for help)"
 msgstr "Aufruf: gpg [Optionen] [Dateien] (-h für Hilfe)"
 
-#: g10/gpg.c:763
+#: g10/gpg.c:767
 msgid ""
 "Syntax: gpg [options] [files]\n"
 "sign, check, encrypt or decrypt\n"
@@ -1658,7 +1689,7 @@ msgstr ""
 "Signieren, prüfen, verschlüsseln, entschlüsseln.\n"
 "Die voreingestellte Operation ist abhängig von den Eingabedaten\n"
 
-#: g10/gpg.c:774 sm/gpgsm.c:530
+#: g10/gpg.c:778 sm/gpgsm.c:530
 msgid ""
 "\n"
 "Supported algorithms:\n"
@@ -1666,73 +1697,73 @@ msgstr ""
 "\n"
 "Unterstützte Verfahren:\n"
 
-#: g10/gpg.c:777
+#: g10/gpg.c:781
 msgid "Pubkey: "
 msgstr "Öff.Schlüssel: "
 
-#: g10/gpg.c:784 g10/keyedit.c:2313
+#: g10/gpg.c:788 g10/keyedit.c:2319
 msgid "Cipher: "
 msgstr "Verschlü.: "
 
-#: g10/gpg.c:791
+#: g10/gpg.c:795
 msgid "Hash: "
 msgstr "Hash: "
 
-#: g10/gpg.c:798 g10/keyedit.c:2359
+#: g10/gpg.c:802 g10/keyedit.c:2365
 msgid "Compression: "
 msgstr "Komprimierung: "
 
-#: g10/gpg.c:882
+#: g10/gpg.c:886
 msgid "usage: gpg [options] "
 msgstr "Aufruf: gpg [Optionen] "
 
-#: g10/gpg.c:1052 sm/gpgsm.c:682
+#: g10/gpg.c:1056 sm/gpgsm.c:682
 msgid "conflicting commands\n"
 msgstr "Widersprüchliche Befehle\n"
 
-#: g10/gpg.c:1070
+#: g10/gpg.c:1074
 #, c-format
 msgid "no = sign found in group definition `%s'\n"
 msgstr "Kein '='-Zeichen in der Gruppendefinition gefunden `%s'\n"
 
-#: g10/gpg.c:1267
+#: g10/gpg.c:1271
 #, c-format
 msgid "WARNING: unsafe ownership on homedir `%s'\n"
 msgstr "WARNUNG: Unsicheres Besitzverhältnis des Home-Verzeichnis `%s'\n"
 
-#: g10/gpg.c:1270
+#: g10/gpg.c:1274
 #, c-format
 msgid "WARNING: unsafe ownership on configuration file `%s'\n"
 msgstr "WARNUNG: Unsicheres Besitzverhältnis der Konfigurationsdatei `%s'\n"
 
-#: g10/gpg.c:1273
+#: g10/gpg.c:1277
 #, c-format
 msgid "WARNING: unsafe ownership on extension `%s'\n"
 msgstr "WARNUNG: Unsicheres Besitzverhältnis auf die Erweiterung `%s'\n"
 
-#: g10/gpg.c:1279
+#: g10/gpg.c:1283
 #, c-format
 msgid "WARNING: unsafe permissions on homedir `%s'\n"
 msgstr "WARNUNG: Unsichere Zugriffsrechte des Home-Verzeichnis `%s'\n"
 
-#: g10/gpg.c:1282
+#: g10/gpg.c:1286
 #, c-format
 msgid "WARNING: unsafe permissions on configuration file `%s'\n"
 msgstr "WARNUNG: Unsichere Zugriffsrechte der Konfigurationsdatei `%s'\n"
 
-#: g10/gpg.c:1285
+#: g10/gpg.c:1289
 #, c-format
 msgid "WARNING: unsafe permissions on extension `%s'\n"
 msgstr "WARNUNG: Unsichere Zugriffsrechte auf die Erweiterung `%s'\n"
 
-#: g10/gpg.c:1291
+#: g10/gpg.c:1295
 #, 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:1294
+#: g10/gpg.c:1298
 #, c-format
 msgid ""
 "WARNING: unsafe enclosing directory ownership on configuration file `%s'\n"
@@ -1740,20 +1771,20 @@ msgstr ""
 "WARNUNG: Unsicheres Besitzverhältnis des umgebenden Verzeichnisses der "
 "Konfigurationsdatei `%s'\n"
 
-#: g10/gpg.c:1297
+#: g10/gpg.c:1301
 #, 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:1303
+#: g10/gpg.c:1307
 #, 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:1306
+#: g10/gpg.c:1310
 #, c-format
 msgid ""
 "WARNING: unsafe enclosing directory permissions on configuration file `%s'\n"
@@ -1761,472 +1792,472 @@ msgstr ""
 "WARNUNG: Unsichere Zugriffsrechte des umgebenden Verzeichnisses der "
 "Konfigurationsdatei `%s'\n"
 
-#: g10/gpg.c:1309
+#: g10/gpg.c:1313
 #, 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:1452
+#: g10/gpg.c:1456
 #, c-format
 msgid "unknown configuration item `%s'\n"
 msgstr "Unbekanntes Konfigurationselement `%s'\n"
 
-#: g10/gpg.c:1545
+#: g10/gpg.c:1549
 msgid "display photo IDs during key listings"
 msgstr "Anzeigen der Foto-ID in den Schlüssellisten"
 
-#: g10/gpg.c:1547
+#: g10/gpg.c:1551
 msgid "show policy URLs during signature listings"
 msgstr "Zeige Richtlinien-URL während der Unterschriftenlisten"
 
-#: g10/gpg.c:1549
+#: g10/gpg.c:1553
 msgid "show all notations during signature listings"
 msgstr "Alle Notationen mit den Signaturen anlisten"
 
-#: g10/gpg.c:1551
+#: g10/gpg.c:1555
 msgid "show IETF standard notations during signature listings"
 msgstr "Zeige IETF-Standard"
 
-#: g10/gpg.c:1555
+#: g10/gpg.c:1559
 msgid "show user-supplied notations during signature listings"
 msgstr "Zeige anwenderseitige Notationen in den Unterschriftenlisten"
 
-#: g10/gpg.c:1557
+#: g10/gpg.c:1561
 msgid "show preferred keyserver URLs during signature listings"
 msgstr "Der bevorzugten Schlüsselserver mit den Signaturen anlisten"
 
-#: g10/gpg.c:1559
+#: g10/gpg.c:1563
 msgid "show user ID validity during key listings"
 msgstr "Zeige Gültigkeit der User-ID in den Schlüssellisten"
 
-#: g10/gpg.c:1561
+#: g10/gpg.c:1565
 msgid "show revoked and expired user IDs in key listings"
 msgstr "Zeige widerrufene und verfallene User-ID in den Schlüssellisten"
 
-#: g10/gpg.c:1563
+#: g10/gpg.c:1567
 msgid "show revoked and expired subkeys in key listings"
 msgstr "Zeige widerrufene und verfallene Unterschlüssel in den Schlüssellisten"
 
-#: g10/gpg.c:1565
+#: g10/gpg.c:1569
 msgid "show the keyring name in key listings"
 msgstr "Anzeigen des Schlüsselbundes, in dem ein Schlüssel drin ist"
 
-#: g10/gpg.c:1567
+#: g10/gpg.c:1571
 msgid "show expiration dates during signature listings"
 msgstr "Das Ablaufdatum mit den Signaturen anlisten"
 
-#: g10/gpg.c:1965
+#: g10/gpg.c:1989
 #, c-format
 msgid "NOTE: old default options file `%s' ignored\n"
 msgstr "Hinweis: Alte voreingestellte Optionendatei '%s' wurde ignoriert\n"
 
-#: g10/gpg.c:2211 g10/gpg.c:2854 g10/gpg.c:2866
+#: g10/gpg.c:2239 g10/gpg.c:2883 g10/gpg.c:2895
 #, 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:2224
+#: g10/gpg.c:2252
 #, c-format
 msgid "cipher extension `%s' not loaded due to unsafe permissions\n"
 msgstr ""
 "Verschlüsselungserweiterung `%s' wurde wegen unsicherer Zugriffsrechte nicht "
 "geladen\n"
 
-#: g10/gpg.c:2379 g10/gpg.c:2391
+#: g10/gpg.c:2407 g10/gpg.c:2419
 #, c-format
 msgid "`%s' is not a valid signature expiration\n"
 msgstr "`%s' ist kein gültiges Unterschriftablaufdatum\n"
 
-#: g10/gpg.c:2472
+#: g10/gpg.c:2501
 #, c-format
 msgid "`%s' is not a valid character set\n"
 msgstr "`%s' ist kein gültiger Zeichensatz\n"
 
-#: g10/gpg.c:2495 g10/gpg.c:2688 g10/keyedit.c:4067
+#: g10/gpg.c:2524 g10/gpg.c:2717 g10/keyedit.c:4078
 msgid "could not parse keyserver URL\n"
 msgstr "Schlüsselserver-URL konnte nicht analysiert werden\n"
 
-#: g10/gpg.c:2507
+#: g10/gpg.c:2536
 #, c-format
 msgid "%s:%d: invalid keyserver options\n"
 msgstr "%s:%d: ungültige Schlüsselserver-Option\n"
 
-#: g10/gpg.c:2510
+#: g10/gpg.c:2539
 msgid "invalid keyserver options\n"
 msgstr "Ungültige Schlüsselserver-Option\n"
 
-#: g10/gpg.c:2517
+#: g10/gpg.c:2546
 #, c-format
 msgid "%s:%d: invalid import options\n"
 msgstr "%s:%d: ungültige Import-Option\n"
 
-#: g10/gpg.c:2520
+#: g10/gpg.c:2549
 msgid "invalid import options\n"
 msgstr "Ungültige Import-Option\n"
 
-#: g10/gpg.c:2527
+#: g10/gpg.c:2556
 #, c-format
 msgid "%s:%d: invalid export options\n"
 msgstr "%s:%d: ungültige Export-Option.\n"
 
-#: g10/gpg.c:2530
+#: g10/gpg.c:2559
 msgid "invalid export options\n"
 msgstr "Ungültige Export-Option\n"
 
-#: g10/gpg.c:2537
+#: g10/gpg.c:2566
 #, c-format
 msgid "%s:%d: invalid list options\n"
 msgstr "%s:%d: ungültige Listen-Option.\n"
 
-#: g10/gpg.c:2540
+#: g10/gpg.c:2569
 msgid "invalid list options\n"
 msgstr "Ungültige Listen-Option\n"
 
-#: g10/gpg.c:2548
+#: g10/gpg.c:2577
 msgid "display photo IDs during signature verification"
 msgstr "Zeige die Foto-ID während der Unterschriftenprüfung"
 
-#: g10/gpg.c:2550
+#: g10/gpg.c:2579
 msgid "show policy URLs during signature verification"
 msgstr "Zeige Richtlinien-URLs während der Unterschriftenprüfung"
 
-#: g10/gpg.c:2552
+#: g10/gpg.c:2581
 msgid "show all notations during signature verification"
 msgstr "Alle Notationen wahrend der Signaturprüfung anzeigen"
 
-#: g10/gpg.c:2554
+#: g10/gpg.c:2583
 msgid "show IETF standard notations during signature verification"
 msgstr "Zeige IETF-Standard-Notationen während der Unterschriftenprüfung"
 
-#: g10/gpg.c:2558
+#: g10/gpg.c:2587
 msgid "show user-supplied notations during signature verification"
 msgstr "Zeie anwenderseitige Notationen während der Unterschriftenprüfung"
 
-#: g10/gpg.c:2560
+#: g10/gpg.c:2589
 msgid "show preferred keyserver URLs during signature verification"
 msgstr ""
 "Die URL für den bevorzugten Schlüsselserver während der "
 "Unterschriftenprüfung anzeigen"
 
-#: g10/gpg.c:2562
+#: g10/gpg.c:2591
 msgid "show user ID validity during signature verification"
 msgstr "Die Gültigkeit der User-ID während der Unterschriftenprüfung anzeigen"
 
-#: g10/gpg.c:2564
+#: g10/gpg.c:2593
 msgid "show revoked and expired user IDs in signature verification"
 msgstr ""
 "Zeige widerrufene und verfallene User-IDs während der Unterschriftenprüfung"
 
-#: g10/gpg.c:2566
+#: g10/gpg.c:2595
 msgid "validate signatures with PKA data"
 msgstr "Prüfe Unterschriftengültigkeit mittels PKA-Daten"
 
-#: g10/gpg.c:2568
+#: g10/gpg.c:2597
 msgid "elevate the trust of signatures with valid PKA data"
 msgstr "werte das Vertrauen zu Unterschriften durch gültige PKA-Daten auf"
 
-#: g10/gpg.c:2575
+#: g10/gpg.c:2604
 #, c-format
 msgid "%s:%d: invalid verify options\n"
 msgstr "%s:%d: ungültige Überprüfuns-Option.\n"
 
-#: g10/gpg.c:2578
+#: g10/gpg.c:2607
 msgid "invalid verify options\n"
 msgstr "Ungültige Überprüfungs-Option\n"
 
-#: g10/gpg.c:2585
+#: g10/gpg.c:2614
 #, 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:2759
+#: g10/gpg.c:2788
 #, c-format
 msgid "%s:%d: invalid auto-key-locate list\n"
 msgstr "%s:%d: ungültige \"auto-key-locate\"-Liste\n"
 
-#: g10/gpg.c:2762
+#: g10/gpg.c:2791
 msgid "invalid auto-key-locate list\n"
 msgstr "ungültige \"auto-key-locate\"-Liste\n"
 
-#: g10/gpg.c:2843 sm/gpgsm.c:1231
+#: g10/gpg.c:2872 sm/gpgsm.c:1232
 msgid "WARNING: program may create a core file!\n"
 msgstr "WARNUNG: Programm könnte eine core-dump-Datei schreiben!\n"
 
-#: g10/gpg.c:2847
+#: g10/gpg.c:2876
 #, c-format
 msgid "WARNING: %s overrides %s\n"
 msgstr "WARNUNG: %s ersetzt %s\n"
 
-#: g10/gpg.c:2856
+#: g10/gpg.c:2885
 #, c-format
 msgid "%s not allowed with %s!\n"
 msgstr "%s kann nicht zusammen mit %s verwendet werden!\n"
 
-#: g10/gpg.c:2859
+#: g10/gpg.c:2888
 #, c-format
 msgid "%s makes no sense with %s!\n"
 msgstr "%s zusammen mit %s ist nicht sinnvoll!\n"
 
-#: g10/gpg.c:2874
+#: g10/gpg.c:2903
 #, 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:2888
+#: g10/gpg.c:2917
 msgid "you can only make detached or clear signatures while in --pgp2 mode\n"
 msgstr ""
 "Im --pgp2-Modus können Sie nur abgetrennte oder Klartextunterschriften "
 "machen\n"
 
-#: g10/gpg.c:2894
+#: g10/gpg.c:2923
 msgid "you can't sign and encrypt at the same time while in --pgp2 mode\n"
 msgstr ""
 "Im --pgp2-Modus können Sie nicht gleichzeitig unterschreiben und "
 "verschlüsseln\n"
 
-#: g10/gpg.c:2900
+#: g10/gpg.c:2929
 msgid "you must use files (and not a pipe) when working with --pgp2 enabled.\n"
 msgstr ""
 "Im --pgp2-Modus müssen Sie Dateien benutzen und können keine Pipes "
 "verwenden.\n"
 
-#: g10/gpg.c:2913
+#: g10/gpg.c:2942
 msgid "encrypting a message in --pgp2 mode requires the IDEA cipher\n"
 msgstr ""
 "Verschlüssen einer Botschaft benötigt im --pgp2-Modus die IDEA-"
 "Verschlüsselung\n"
 
-#: g10/gpg.c:2979 g10/gpg.c:3003 sm/gpgsm.c:1287
+#: g10/gpg.c:3008 g10/gpg.c:3032 sm/gpgsm.c:1288
 msgid "selected cipher algorithm is invalid\n"
 msgstr "Das ausgewählte Verschlüsselungsverfahren ist ungültig\n"
 
-#: g10/gpg.c:2985 g10/gpg.c:3009 sm/gpgsm.c:1295
+#: g10/gpg.c:3014 g10/gpg.c:3038 sm/gpgsm.c:1296
 msgid "selected digest algorithm is invalid\n"
 msgstr "Das ausgewählte Hashverfahren ist ungültig\n"
 
-#: g10/gpg.c:2991
+#: g10/gpg.c:3020
 msgid "selected compression algorithm is invalid\n"
 msgstr "Das ausgewählte Komprimierungsverfahren ist ungültig\n"
 
-#: g10/gpg.c:2997
+#: g10/gpg.c:3026
 msgid "selected certification digest algorithm is invalid\n"
 msgstr "Das ausgewählte Hashverfahren ist ungültig\n"
 
-#: g10/gpg.c:3012
+#: g10/gpg.c:3041
 msgid "completes-needed must be greater than 0\n"
 msgstr "completes-needed müssen größer als 0 sein\n"
 
-#: g10/gpg.c:3014
+#: g10/gpg.c:3043
 msgid "marginals-needed must be greater than 1\n"
 msgstr "marginals-needed müssen größer als 1 sein\n"
 
-#: g10/gpg.c:3016
+#: g10/gpg.c:3045
 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:3018
+#: g10/gpg.c:3047
 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:3020
+#: g10/gpg.c:3049
 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:3023
+#: g10/gpg.c:3052
 msgid "NOTE: simple S2K mode (0) is strongly discouraged\n"
 msgstr "Hinweis: Vom \"simple S2K\"-Modus (0) ist strikt abzuraten\n"
 
-#: g10/gpg.c:3027
+#: g10/gpg.c:3056
 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:3034
+#: g10/gpg.c:3063
 msgid "invalid default preferences\n"
 msgstr "ungültige Standard-Voreinstellungen\n"
 
-#: g10/gpg.c:3043
+#: g10/gpg.c:3072
 msgid "invalid personal cipher preferences\n"
 msgstr "ungültige private Verschlüsselungsvoreinstellungen\n"
 
-#: g10/gpg.c:3047
+#: g10/gpg.c:3076
 msgid "invalid personal digest preferences\n"
 msgstr "ungültige private Hashvoreinstellungen\n"
 
-#: g10/gpg.c:3051
+#: g10/gpg.c:3080
 msgid "invalid personal compress preferences\n"
 msgstr "ungültige private Komprimierungsvoreinstellungen\n"
 
-#: g10/gpg.c:3084
+#: g10/gpg.c:3113
 #, c-format
 msgid "%s does not yet work with %s\n"
 msgstr "%s arbeitet noch nicht mit %s zusammen\n"
 
-#: g10/gpg.c:3131
+#: g10/gpg.c:3160
 #, c-format
 msgid "you may not use cipher algorithm `%s' while in %s mode\n"
 msgstr ""
 "Die Benutzung des Verschlüsselungsverfahren %s ist im %s-Modus nicht "
 "erlaubt.\n"
 
-#: g10/gpg.c:3136
+#: g10/gpg.c:3165
 #, c-format
 msgid "you may not use digest algorithm `%s' while in %s mode\n"
 msgstr "Die Benutzung der Hashmethode %s ist im %s-Modus nicht erlaubt.\n"
 
-#: g10/gpg.c:3141
+#: g10/gpg.c:3170
 #, c-format
 msgid "you may not use compression algorithm `%s' while in %s mode\n"
 msgstr ""
 "Die Benutzung des Komprimierverfahren %s ist im %s-Modus nicht erlaubt.\n"
 
-#: g10/gpg.c:3233
+#: g10/gpg.c:3262
 #, c-format
 msgid "failed to initialize the TrustDB: %s\n"
 msgstr "Die Trust-DB kann nicht initialisiert werden: %s\n"
 
-#: g10/gpg.c:3244
+#: g10/gpg.c:3273
 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:3255
+#: g10/gpg.c:3294
 msgid "--store [filename]"
 msgstr "--store [Dateiname]"
 
-#: g10/gpg.c:3262
+#: g10/gpg.c:3301
 msgid "--symmetric [filename]"
 msgstr "--symmetric [Dateiname]"
 
-#: g10/gpg.c:3264
+#: g10/gpg.c:3303
 #, c-format
 msgid "symmetric encryption of `%s' failed: %s\n"
 msgstr "Symmetrische Entschlüsselung von `%s' fehlgeschlagen: %s\n"
 
-#: g10/gpg.c:3274
+#: g10/gpg.c:3313
 msgid "--encrypt [filename]"
 msgstr "--encrypt [Dateiname]"
 
-#: g10/gpg.c:3287
+#: g10/gpg.c:3326
 msgid "--symmetric --encrypt [filename]"
 msgstr "--symmetric --encrypt [Dateiname]"
 
-#: g10/gpg.c:3289
+#: g10/gpg.c:3328
 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:3292
+#: g10/gpg.c:3331
 #, c-format
 msgid "you cannot use --symmetric --encrypt while in %s mode\n"
 msgstr "Im %s-Modus kann --symmetric --encrypt nicht verwendet werden.\n"
 
-#: g10/gpg.c:3310
+#: g10/gpg.c:3349
 msgid "--sign [filename]"
 msgstr "--sign [Dateiname]"
 
-#: g10/gpg.c:3323
+#: g10/gpg.c:3362
 msgid "--sign --encrypt [filename]"
 msgstr "--sign --encrypt [Dateiname]"
 
-#: g10/gpg.c:3338
+#: g10/gpg.c:3377
 msgid "--symmetric --sign --encrypt [filename]"
 msgstr "--symmetric --sign --encrypt [Dateiname]"
 
-#: g10/gpg.c:3340
+#: g10/gpg.c:3379
 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:3343
+#: g10/gpg.c:3382
 #, c-format
 msgid "you cannot use --symmetric --sign --encrypt while in %s mode\n"
 msgstr ""
 "Im %s-Modus kann --symmetric --sign --encrypt nicht verwendet werden.\n"
 
-#: g10/gpg.c:3363
+#: g10/gpg.c:3402
 msgid "--sign --symmetric [filename]"
 msgstr "--sign --symmetric [Dateiname]"
 
-#: g10/gpg.c:3372
+#: g10/gpg.c:3411
 msgid "--clearsign [filename]"
 msgstr "--clearsign [Dateiname]"
 
-#: g10/gpg.c:3397
+#: g10/gpg.c:3436
 msgid "--decrypt [filename]"
 msgstr "--decrypt [Dateiname]"
 
-#: g10/gpg.c:3405
+#: g10/gpg.c:3444
 msgid "--sign-key user-id"
 msgstr "--sign-key User-ID"
 
-#: g10/gpg.c:3409
+#: g10/gpg.c:3448
 msgid "--lsign-key user-id"
 msgstr "--lsign-key User-ID"
 
-#: g10/gpg.c:3430
+#: g10/gpg.c:3469
 msgid "--edit-key user-id [commands]"
 msgstr "--edit-key User-ID [Befehle]"
 
-#: g10/gpg.c:3515
+#: g10/gpg.c:3554
 #, c-format
 msgid "keyserver send failed: %s\n"
 msgstr "Senden an Schlüsselserver fehlgeschlagen: %s\n"
 
-#: g10/gpg.c:3517
+#: g10/gpg.c:3556
 #, c-format
 msgid "keyserver receive failed: %s\n"
 msgstr "Empfangen vom Schlüsselserver fehlgeschlagen: %s\n"
 
-#: g10/gpg.c:3519
+#: g10/gpg.c:3558
 #, c-format
 msgid "key export failed: %s\n"
 msgstr "Schlüsselexport fehlgeschlagen: %s\n"
 
-#: g10/gpg.c:3530
+#: g10/gpg.c:3569
 #, c-format
 msgid "keyserver search failed: %s\n"
 msgstr "Suche auf dem Schlüsselserver fehlgeschlagen: %s\n"
 
-#: g10/gpg.c:3540
+#: g10/gpg.c:3579
 #, c-format
 msgid "keyserver refresh failed: %s\n"
 msgstr "Refresh vom Schlüsselserver fehlgeschlagen: %s\n"
 
-#: g10/gpg.c:3591
+#: g10/gpg.c:3630
 #, c-format
 msgid "dearmoring failed: %s\n"
 msgstr "Entfernen der ASCII-Hülle ist fehlgeschlagen: %s\n"
 
-#: g10/gpg.c:3599
+#: g10/gpg.c:3638
 #, c-format
 msgid "enarmoring failed: %s\n"
 msgstr "Anbringen der ASCII-Hülle ist fehlgeschlagen: %s\n"
 
-#: g10/gpg.c:3689
+#: g10/gpg.c:3728
 #, c-format
 msgid "invalid hash algorithm `%s'\n"
 msgstr "Ungültiges Hashverfahren '%s'\n"
 
-#: g10/gpg.c:3806
+#: g10/gpg.c:3845
 msgid "[filename]"
 msgstr "[Dateiname]"
 
-#: g10/gpg.c:3810
+#: g10/gpg.c:3849
 msgid "Go ahead and type your message ...\n"
 msgstr "Auf geht's - Botschaft eintippen ...\n"
 
-#: g10/gpg.c:4121
+#: g10/gpg.c:4161
 msgid "the given certification policy URL is invalid\n"
 msgstr "Die angegebene Zertifikat-Richtlinien-URL ist ungültig\n"
 
-#: g10/gpg.c:4123
+#: g10/gpg.c:4163
 msgid "the given signature policy URL is invalid\n"
 msgstr "Die angegebene Unterschriften-Richtlinien-URL ist ungültig\n"
 
-#: g10/gpg.c:4156
+#: g10/gpg.c:4196
 msgid "the given preferred keyserver URL is invalid\n"
 msgstr "Die angegebene URL des bevorzugten Schlüsselserver ist ungültig\n"
 
@@ -2633,92 +2664,92 @@ msgstr "entferne nach dem Import unbrauchbare Teile des Schlüssels"
 msgid "remove as much as possible from key after import"
 msgstr "nach dem Import soviel wie möglich aus dem Schlüssel entfernen"
 
-#: g10/import.c:268
+#: g10/import.c:271
 #, c-format
 msgid "skipping block of type %d\n"
 msgstr "überspringe den Block vom Typ %d\n"
 
-#: g10/import.c:277
+#: g10/import.c:280
 #, c-format
 msgid "%lu keys processed so far\n"
 msgstr "%lu Schlüssel bislang bearbeitet\n"
 
-#: g10/import.c:294
+#: g10/import.c:297
 #, c-format
 msgid "Total number processed: %lu\n"
 msgstr "Anzahl insgesamt bearbeiteter Schlüssel: %lu\n"
 
-#: g10/import.c:296
+#: g10/import.c:299
 #, c-format
 msgid "      skipped new keys: %lu\n"
 msgstr "              ignorierte neue Schlüssel: %lu\n"
 
-#: g10/import.c:299
+#: g10/import.c:302
 #, c-format
 msgid "          w/o user IDs: %lu\n"
 msgstr "                           ohne User-ID: %lu\n"
 
-#: g10/import.c:301 sm/import.c:113
+#: g10/import.c:304 sm/import.c:113
 #, c-format
 msgid "              imported: %lu"
 msgstr "                             importiert: %lu"
 
-#: g10/import.c:307 sm/import.c:117
+#: g10/import.c:310 sm/import.c:117
 #, c-format
 msgid "             unchanged: %lu\n"
 msgstr "                            unverändert: %lu\n"
 
-#: g10/import.c:309
+#: g10/import.c:312
 #, c-format
 msgid "          new user IDs: %lu\n"
 msgstr "                          neue User-IDs: %lu\n"
 
-#: g10/import.c:311
+#: g10/import.c:314
 #, c-format
 msgid "           new subkeys: %lu\n"
 msgstr "                    neue Unterschlüssel: %lu\n"
 
-#: g10/import.c:313
+#: g10/import.c:316
 #, c-format
 msgid "        new signatures: %lu\n"
 msgstr "                        neue Signaturen: %lu\n"
 
-#: g10/import.c:315
+#: g10/import.c:318
 #, c-format
 msgid "   new key revocations: %lu\n"
 msgstr "                neue Schlüsselwiderrufe: %lu\n"
 
-#: g10/import.c:317 sm/import.c:119
+#: g10/import.c:320 sm/import.c:119
 #, c-format
 msgid "      secret keys read: %lu\n"
 msgstr "             gelesene geheime Schlüssel: %lu\n"
 
-#: g10/import.c:319 sm/import.c:121
+#: g10/import.c:322 sm/import.c:121
 #, c-format
 msgid "  secret keys imported: %lu\n"
 msgstr "           geheime Schlüssel importiert: %lu\n"
 
-#: g10/import.c:321 sm/import.c:123
+#: g10/import.c:324 sm/import.c:123
 #, c-format
 msgid " secret keys unchanged: %lu\n"
 msgstr "                 unveränderte geh.Schl.: %lu\n"
 
-#: g10/import.c:323 sm/import.c:125
+#: g10/import.c:326 sm/import.c:125
 #, c-format
 msgid "          not imported: %lu\n"
 msgstr "                       nicht importiert: %lu\n"
 
-#: g10/import.c:325
+#: g10/import.c:328
 #, c-format
 msgid "    signatures cleaned: %lu\n"
 msgstr "    Signaturen bereinigt: %lu\n"
 
-#: g10/import.c:327
+#: g10/import.c:330
 #, c-format
 msgid "      user IDs cleaned: %lu\n"
 msgstr "      User-IDs bereinigt: %lu\n"
 
-#: g10/import.c:568
+#: g10/import.c:571
 #, c-format
 msgid ""
 "WARNING: key %s contains preferences for unavailable\n"
@@ -2727,339 +2758,339 @@ msgstr ""
 "WARNING: Schlüssel %s hat Einstellungen zu nicht verfügbaren\n"
 "Verfahren für folgende User-ID:\n"
 
-#: g10/import.c:606
+#: g10/import.c:609
 #, c-format
 msgid "         \"%s\": preference for cipher algorithm %s\n"
 msgstr "         \"%s\": Einstellungen des Verschlüsselungsverfahren %s\n"
 
-#: g10/import.c:618
+#: g10/import.c:621
 #, c-format
 msgid "         \"%s\": preference for digest algorithm %s\n"
 msgstr "         \"%s\": Einstellungen der Hashmethode %s\n"
 
-#: g10/import.c:630
+#: g10/import.c:633
 #, c-format
 msgid "         \"%s\": preference for compression algorithm %s\n"
 msgstr "         \"%s\": Einstellungen der Komprimierungsverfahren %s\n"
 
-#: g10/import.c:643
+#: g10/import.c:646
 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:645
+#: g10/import.c:648
 msgid "re-distribute this key to avoid potential algorithm mismatch problems\n"
 msgstr ""
 "diesen Schüssel wieder zu verteilen, um mögliche Probleme durch unpassende "
 "Verfahrenskombinationen zu vermeiden\n"
 
-#: g10/import.c:669
+#: g10/import.c:672
 #, 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:719 g10/import.c:1117
+#: g10/import.c:722 g10/import.c:1120
 #, c-format
 msgid "key %s: no user ID\n"
 msgstr "Schlüssel %s: Keine User-ID\n"
 
-#: g10/import.c:748
+#: g10/import.c:751
 #, c-format
 msgid "key %s: PKS subkey corruption repaired\n"
 msgstr "Schlüssel %s: PKS Unterschlüsseldefekt repariert\n"
 
-#: g10/import.c:763
+#: g10/import.c:766
 #, 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:769
+#: g10/import.c:772
 #, c-format
 msgid "key %s: no valid user IDs\n"
 msgstr "Schlüssel %s: Keine gültigen User-IDs\n"
 
-#: g10/import.c:771
+#: g10/import.c:774
 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:781 g10/import.c:1239
+#: g10/import.c:784 g10/import.c:1242
 #, 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:787
+#: g10/import.c:790
 #, c-format
 msgid "key %s: new key - skipped\n"
 msgstr "Schlüssel %s: neuer Schlüssel - übersprungen\n"
 
-#: g10/import.c:796
+#: g10/import.c:799
 #, c-format
 msgid "no writable keyring found: %s\n"
 msgstr "kein schreibbarer Schlüsselbund gefunden: %s\n"
 
-#: g10/import.c:801 g10/openfile.c:270 g10/sign.c:834 g10/sign.c:1140
+#: g10/import.c:804 g10/openfile.c:270 g10/sign.c:835 g10/sign.c:1144
 #, c-format
 msgid "writing to `%s'\n"
 msgstr "Schreiben nach '%s'\n"
 
-#: g10/import.c:805 g10/import.c:900 g10/import.c:1157 g10/import.c:1300
-#: g10/import.c:2362 g10/import.c:2384
+#: g10/import.c:808 g10/import.c:903 g10/import.c:1160 g10/import.c:1303
+#: g10/import.c:2365 g10/import.c:2387
 #, c-format
 msgid "error writing keyring `%s': %s\n"
 msgstr "Fehler beim Schreiben des Schlüsselbundes `%s': %s\n"
 
-#: g10/import.c:824
+#: g10/import.c:827
 #, c-format
 msgid "key %s: public key \"%s\" imported\n"
 msgstr "Schlüssel %s: Öffentlicher Schlüssel \"%s\" importiert\n"
 
-#: g10/import.c:848
+#: g10/import.c:851
 #, 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:865 g10/import.c:1257
+#: g10/import.c:868 g10/import.c:1260
 #, 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:873 g10/import.c:1264
+#: g10/import.c:876 g10/import.c:1267
 #, 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:910
+#: g10/import.c:913
 #, c-format
 msgid "key %s: \"%s\" 1 new user ID\n"
 msgstr "Schlüssel %s: \"%s\" 1 neue User-ID\n"
 
-#: g10/import.c:913
+#: g10/import.c:916
 #, c-format
 msgid "key %s: \"%s\" %d new user IDs\n"
 msgstr "Schlüssel %s: \"%s\" %d neue User-IDs\n"
 
-#: g10/import.c:916
+#: g10/import.c:919
 #, c-format
 msgid "key %s: \"%s\" 1 new signature\n"
 msgstr "Schlüssel %s: \"%s\" 1 neue Signatur\n"
 
-#: g10/import.c:919
+#: g10/import.c:922
 #, c-format
 msgid "key %s: \"%s\" %d new signatures\n"
 msgstr "Schlüssel %s: \"%s\" %d neue Signaturen\n"
 
-#: g10/import.c:922
+#: g10/import.c:925
 #, c-format
 msgid "key %s: \"%s\" 1 new subkey\n"
 msgstr "Schlüssel %s: \"%s\" 1 neuer Unterschlüssel\n"
 
-#: g10/import.c:925
+#: g10/import.c:928
 #, c-format
 msgid "key %s: \"%s\" %d new subkeys\n"
 msgstr "Schlüssel %s: \"%s\" %d neue Unterschlüssel\n"
 
-#: g10/import.c:928
+#: g10/import.c:931
 #, c-format
 msgid "key %s: \"%s\" %d signature cleaned\n"
 msgstr "Schlüssel %s: \"%s\" %d Signaturen bereinigt\n"
 
-#: g10/import.c:931
+#: g10/import.c:934
 #, c-format
 msgid "key %s: \"%s\" %d signatures cleaned\n"
 msgstr "Schlüssel %s: \"%s\" %d Signaturen bereinigt\n"
 
-#: g10/import.c:934
+#: g10/import.c:937
 #, c-format
 msgid "key %s: \"%s\" %d user ID cleaned\n"
 msgstr "Schlüssel %s: \"%s\" %d User-ID bereinigt\n"
 
-#: g10/import.c:937
+#: g10/import.c:940
 #, c-format
 msgid "key %s: \"%s\" %d user IDs cleaned\n"
 msgstr "Schlüssel %s: \"%s\" %d User-IDs bereinigt\n"
 
-#: g10/import.c:960
+#: g10/import.c:963
 #, c-format
 msgid "key %s: \"%s\" not changed\n"
 msgstr "Schlüssel %s: \"%s\" nicht geändert\n"
 
-#: g10/import.c:1123
+#: g10/import.c:1126
 #, 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:1134
+#: g10/import.c:1137
 msgid "importing secret keys not allowed\n"
 msgstr "Importieren geheimer Schlüssel ist nicht erlaubt\n"
 
-#: g10/import.c:1151 g10/import.c:2377
+#: g10/import.c:1154 g10/import.c:2380
 #, c-format
 msgid "no default secret keyring: %s\n"
 msgstr "Kein voreingestellter geheimer Schlüsselbund: %s\n"
 
-#: g10/import.c:1162
+#: g10/import.c:1165
 #, c-format
 msgid "key %s: secret key imported\n"
 msgstr "Schlüssel %s: geheimer Schlüssel importiert\n"
 
-#: g10/import.c:1192
+#: g10/import.c:1195
 #, c-format
 msgid "key %s: already in secret keyring\n"
 msgstr "Schlüssel %s: Ist bereits im geheimen Schlüsselbund\n"
 
-#: g10/import.c:1202
+#: g10/import.c:1205
 #, c-format
 msgid "key %s: secret key not found: %s\n"
 msgstr "Schlüssel %s: geheimer Schlüssel nicht gefunden: %s\n"
 
-#: g10/import.c:1232
+#: g10/import.c:1235
 #, 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:1275
+#: g10/import.c:1278
 #, 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:1307
+#: g10/import.c:1310
 #, c-format
 msgid "key %s: \"%s\" revocation certificate imported\n"
 msgstr "Schlüssel %s: \"%s\" Widerrufzertifikat importiert\n"
 
-#: g10/import.c:1373
+#: g10/import.c:1376
 #, 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:1388
+#: g10/import.c:1391
 #, 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:1390
+#: g10/import.c:1393
 #, 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:1408
+#: g10/import.c:1411
 #, 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:1419 g10/import.c:1469
+#: g10/import.c:1422 g10/import.c:1472
 #, c-format
 msgid "key %s: unsupported public key algorithm\n"
 msgstr "Schlüssel %s: Nicht unterstütztes Public-Key-Verfahren\n"
 
-#: g10/import.c:1421
+#: g10/import.c:1424
 #, c-format
 msgid "key %s: invalid subkey binding\n"
 msgstr "Schlüssel %s: Ungültige Unterschlüssel-Anbindung\n"
 
-#: g10/import.c:1436
+#: g10/import.c:1439
 #, c-format
 msgid "key %s: removed multiple subkey binding\n"
 msgstr "Schlüssel %s: Mehrfache Unterschlüssel-Anbindung entfernt\n"
 
-#: g10/import.c:1458
+#: g10/import.c:1461
 #, 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:1471
+#: g10/import.c:1474
 #, c-format
 msgid "key %s: invalid subkey revocation\n"
 msgstr "Schlüssel %s: Ungültiger Unterschlüsselwiderruf\n"
 
-#: g10/import.c:1486
+#: g10/import.c:1489
 #, c-format
 msgid "key %s: removed multiple subkey revocation\n"
 msgstr "Schlüssel %s: Mehrfacher Unterschlüsselwiderruf entfernt\n"
 
-#: g10/import.c:1528
+#: g10/import.c:1531
 #, c-format
 msgid "key %s: skipped user ID \"%s\"\n"
 msgstr "Schlüssel %s: User-ID übersprungen \"%s\"\n"
 
-#: g10/import.c:1549
+#: g10/import.c:1552
 #, c-format
 msgid "key %s: skipped subkey\n"
 msgstr "Schlüssel %s: Unterschlüssel übersprungen\n"
 
-#: g10/import.c:1576
+#: g10/import.c:1579
 #, c-format
 msgid "key %s: non exportable signature (class 0x%02X) - skipped\n"
 msgstr ""
 "Schlüssel %s: Nicht exportfähige Unterschrift (Klasse %02x) - übersprungen\n"
 
-#: g10/import.c:1586
+#: g10/import.c:1589
 #, 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:1603
+#: g10/import.c:1606
 #, c-format
 msgid "key %s: invalid revocation certificate: %s - skipped\n"
 msgstr "Schlüssel %s: Ungültiges Widerrufzertifikat: %s - übersprungen\n"
 
-#: g10/import.c:1617
+#: g10/import.c:1620
 #, 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:1625
+#: g10/import.c:1628
 #, c-format
 msgid "key %s: unexpected signature class (0x%02X) - skipped\n"
 msgstr ""
 "Schlüssel %s: unerwartete Unterschriftenklasse (0x%02x) - übersprungen\n"
 
-#: g10/import.c:1725
+#: g10/import.c:1728
 #, 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:1787
+#: g10/import.c:1790
 #, 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:1801
+#: g10/import.c:1804
 #, 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:1860
+#: g10/import.c:1863
 #, c-format
 msgid "key %s: \"%s\" revocation certificate added\n"
 msgstr "Schlüssel %s: \"%s\" Widerrufzertifikat hinzugefügt\n"
 
-#: g10/import.c:1894
+#: g10/import.c:1897
 #, c-format
 msgid "key %s: direct key signature added\n"
 msgstr "Schlüssel %s: \"direct-key\"-Signaturen hinzugefügt\n"
 
-#: g10/import.c:2283
+#: g10/import.c:2286
 msgid "NOTE: a key's S/N does not match the card's one\n"
 msgstr ""
 "Hinweis: Eine Schlüsselseriennr stimmt nicht mit derjenigen der Karte "
 "überein\n"
 
-#: g10/import.c:2291
+#: g10/import.c:2294
 msgid "NOTE: primary key is online and stored on card\n"
 msgstr "Hinweis: Hauptschlüssel ist online und auf der Karte gespeichert\n"
 
-#: g10/import.c:2293
+#: g10/import.c:2296
 msgid "NOTE: secondary key is online and stored on card\n"
 msgstr "Hinweis: Zweitschlüssel ist online und auf der Karte gespeichert\n"
 
@@ -3172,12 +3203,12 @@ msgid "User ID \"%s\" is revoked."
 msgstr "User-ID \"%s\" ist widerrufen."
 
 #: g10/keyedit.c:609 g10/keyedit.c:637 g10/keyedit.c:664 g10/keyedit.c:832
-#: g10/keyedit.c:897 g10/keyedit.c:1745
+#: g10/keyedit.c:897 g10/keyedit.c:1751
 msgid "Are you sure you still want to sign it? (y/N) "
 msgstr "Wollen Sie ihn immer noch beglaubigen? (j/N) "
 
 #: g10/keyedit.c:623 g10/keyedit.c:651 g10/keyedit.c:678 g10/keyedit.c:838
-#: g10/keyedit.c:1751
+#: g10/keyedit.c:1757
 msgid "  Unable to sign.\n"
 msgstr "  Beglaubigen ist nicht möglich.\n"
 
@@ -3369,8 +3400,8 @@ msgstr "Ich habe diesen Schlüssel sehr sorgfältig überprüft.\n"
 msgid "Really sign? (y/N) "
 msgstr "Wirklich unterschreiben? (j/N) "
 
-#: g10/keyedit.c:1068 g10/keyedit.c:4786 g10/keyedit.c:4877 g10/keyedit.c:4941
-#: g10/keyedit.c:5002 g10/sign.c:352
+#: g10/keyedit.c:1068 g10/keyedit.c:4797 g10/keyedit.c:4888 g10/keyedit.c:4952
+#: g10/keyedit.c:5013 g10/sign.c:352
 #, c-format
 msgid "signing failed: %s\n"
 msgstr "Beglaubigung fehlgeschlagen: %s\n"
@@ -3381,19 +3412,19 @@ msgstr ""
 "Der Schlüssel enthält nur \"stub\"- oder \"on-card\"-Schüsselelemente- keine "
 "Passphrase ist zu ändern.\n"
 
-#: g10/keyedit.c:1144 g10/keygen.c:3383
+#: g10/keyedit.c:1144 g10/keygen.c:3401
 msgid "This key is not protected.\n"
 msgstr "Dieser Schlüssel ist nicht geschützt.\n"
 
-#: g10/keyedit.c:1148 g10/keygen.c:3371 g10/revoke.c:539
+#: g10/keyedit.c:1148 g10/keygen.c:3389 g10/revoke.c:540
 msgid "Secret parts of primary key are not available.\n"
 msgstr "Geheime Teile des Haupschlüssels sind nicht vorhanden\n"
 
-#: g10/keyedit.c:1152 g10/keygen.c:3386
+#: g10/keyedit.c:1152 g10/keygen.c:3404
 msgid "Secret parts of primary key are stored on-card.\n"
 msgstr "Geheime Teile des Haupschlüssels sind auf der Karte gespeichert.\n"
 
-#: g10/keyedit.c:1156 g10/keygen.c:3390
+#: g10/keyedit.c:1156 g10/keygen.c:3408
 msgid "Key is protected.\n"
 msgstr "Schlüssel ist geschützt.\n"
 
@@ -3410,11 +3441,11 @@ msgstr ""
 "Geben Sie die neue Passphrase für diesen geheimen Schlüssel ein.\n"
 "\n"
 
-#: g10/keyedit.c:1195 g10/keygen.c:2065
+#: g10/keyedit.c:1201 g10/keygen.c:2069
 msgid "passphrase not correctly repeated; try again"
 msgstr "Passphrase wurde nicht richtig wiederholt; noch einmal versuchen"
 
-#: g10/keyedit.c:1200
+#: g10/keyedit.c:1206
 msgid ""
 "You don't want a passphrase - this is probably a *bad* idea!\n"
 "\n"
@@ -3422,190 +3453,190 @@ msgstr ""
 "Sie wollen keine Passphrase - dies ist *nicht* zu empfehlen!\n"
 "\n"
 
-#: g10/keyedit.c:1203
+#: g10/keyedit.c:1209
 msgid "Do you really want to do this? (y/N) "
 msgstr "Möchten Sie dies wirklich tun? (j/N) "
 
-#: g10/keyedit.c:1274
+#: g10/keyedit.c:1280
 msgid "moving a key signature to the correct place\n"
 msgstr "schiebe eine Beglaubigung an die richtige Stelle\n"
 
-#: g10/keyedit.c:1360
+#: g10/keyedit.c:1366
 msgid "save and quit"
 msgstr "speichern und Menü verlassen"
 
-#: g10/keyedit.c:1363
+#: g10/keyedit.c:1369
 msgid "show key fingerprint"
 msgstr "Fingerabdruck des Schlüssels anzeigen"
 
-#: g10/keyedit.c:1364
+#: g10/keyedit.c:1370
 msgid "list key and user IDs"
 msgstr "Schlüssel und User-IDs auflisten"
 
-#: g10/keyedit.c:1366
+#: g10/keyedit.c:1372
 msgid "select user ID N"
 msgstr "User-ID N auswählen"
 
-#: g10/keyedit.c:1367
+#: g10/keyedit.c:1373
 msgid "select subkey N"
 msgstr "Unterschlüssel N auswählen"
 
-#: g10/keyedit.c:1368
+#: g10/keyedit.c:1374
 msgid "check signatures"
 msgstr "Signaturen prüfen"
 
-#: g10/keyedit.c:1373
+#: g10/keyedit.c:1379
 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:1378
+#: g10/keyedit.c:1384
 msgid "sign selected user IDs locally"
 msgstr "Die ausgewählte User-ID nur für diesen Rechner beglaubigen"
 
-#: g10/keyedit.c:1380
+#: g10/keyedit.c:1386
 msgid "sign selected user IDs with a trust signature"
 msgstr "Die ausgewählte User-ID mit einer \"Trust\"-Unterschrift beglaubigen"
 
-#: g10/keyedit.c:1382
+#: g10/keyedit.c:1388
 msgid "sign selected user IDs with a non-revocable signature"
 msgstr "die ausgewählten User-ID unwiderrufbar beglaubigen"
 
-#: g10/keyedit.c:1386
+#: g10/keyedit.c:1392
 msgid "add a user ID"
 msgstr "Eine User-ID hinzufügen"
 
-#: g10/keyedit.c:1388
+#: g10/keyedit.c:1394
 msgid "add a photo ID"
 msgstr "Eine Foto-ID hinzufügen"
 
-#: g10/keyedit.c:1390
+#: g10/keyedit.c:1396
 msgid "delete selected user IDs"
 msgstr "ausgewählte User-IDs entfernen"
 
-#: g10/keyedit.c:1395
+#: g10/keyedit.c:1401
 msgid "add a subkey"
 msgstr "einen Unterschlüssel hinzufügen"
 
-#: g10/keyedit.c:1399
+#: g10/keyedit.c:1405
 msgid "add a key to a smartcard"
 msgstr "der Smartcard einen Schlssel hinzufgen"
 
-#: g10/keyedit.c:1401
+#: g10/keyedit.c:1407
 msgid "move a key to a smartcard"
 msgstr "einen Schlssel auf die Smartcard schieben"
 
-#: g10/keyedit.c:1403
+#: g10/keyedit.c:1409
 msgid "move a backup key to a smartcard"
 msgstr "eine Sicherungskopie des Schlssels auf die Smartcard schieben"
 
-#: g10/keyedit.c:1407
+#: g10/keyedit.c:1413
 msgid "delete selected subkeys"
 msgstr "ausgewählte Unterschlüssel entfernen"
 
-#: g10/keyedit.c:1409
+#: g10/keyedit.c:1415
 msgid "add a revocation key"
 msgstr "Einen Widerrufschlüssel hinzufügen"
 
-#: g10/keyedit.c:1411
+#: g10/keyedit.c:1417
 msgid "delete signatures from the selected user IDs"
 msgstr "Beglaubigungen der ausgewählten User-IDs entfernen"
 
-#: g10/keyedit.c:1413
+#: g10/keyedit.c:1419
 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:1415
+#: g10/keyedit.c:1421
 msgid "flag the selected user ID as primary"
 msgstr "User-ID als Haupt-User-ID kennzeichnen"
 
-#: g10/keyedit.c:1417
+#: g10/keyedit.c:1423
 msgid "toggle between the secret and public key listings"
 msgstr "Umschalten zwischen dem Auflisten geheimer und öffentlicher Schlüssel"
 
-#: g10/keyedit.c:1420
+#: g10/keyedit.c:1426
 msgid "list preferences (expert)"
 msgstr "Liste der Voreinstellungen (für Experten)"
 
-#: g10/keyedit.c:1422
+#: g10/keyedit.c:1428
 msgid "list preferences (verbose)"
 msgstr "Liste der Voreinstellungen (ausführlich)"
 
-#: g10/keyedit.c:1424
+#: g10/keyedit.c:1430
 msgid "set preference list for the selected user IDs"
 msgstr "ändern der Voreinstellungsliste der ausgewählten User-IDs"
 
-#: g10/keyedit.c:1429
+#: g10/keyedit.c:1435
 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:1431
+#: g10/keyedit.c:1437
 msgid "set a notation for the selected user IDs"
 msgstr "Eine Notation für die ausgewählten User-IDs setzen"
 
-#: g10/keyedit.c:1433
+#: g10/keyedit.c:1439
 msgid "change the passphrase"
 msgstr "Die Passphrase ändern"
 
-#: g10/keyedit.c:1437
+#: g10/keyedit.c:1443
 msgid "change the ownertrust"
 msgstr "Den \"Owner trust\" ändern"
 
-#: g10/keyedit.c:1439
+#: g10/keyedit.c:1445
 msgid "revoke signatures on the selected user IDs"
 msgstr "Beglaubigungen der ausgewählten User-IDs widerrufen"
 
-#: g10/keyedit.c:1441
+#: g10/keyedit.c:1447
 msgid "revoke selected user IDs"
 msgstr "Ausgewählte User-ID widerrufen"
 
-#: g10/keyedit.c:1446
+#: g10/keyedit.c:1452
 msgid "revoke key or selected subkeys"
 msgstr "Schlüssel oder ausgewählten Unterschlüssel widerrufen"
 
-#: g10/keyedit.c:1447
+#: g10/keyedit.c:1453
 msgid "enable key"
 msgstr "Schlüssel anschalten"
 
-#: g10/keyedit.c:1448
+#: g10/keyedit.c:1454
 msgid "disable key"
 msgstr "Schlüssel abschalten"
 
-#: g10/keyedit.c:1449
+#: g10/keyedit.c:1455
 msgid "show selected photo IDs"
 msgstr "ausgewählte Foto-IDs anzeigen"
 
-#: g10/keyedit.c:1451
+#: g10/keyedit.c:1457
 msgid "compact unusable user IDs and remove unusable signatures from key"
 msgstr ""
 "unbrauchbare User-IDs verkleinern und unbrauchbare Unterschrifen aus dem "
 "Schlüssel entfernen"
 
-#: g10/keyedit.c:1453
+#: g10/keyedit.c:1459
 msgid "compact unusable user IDs and remove all signatures from key"
 msgstr ""
 "unbrauchbare User-IDs verkleinern und alle Unterschrifen aus dem Schlüssel "
 "entfernen"
 
-#: g10/keyedit.c:1571
+#: g10/keyedit.c:1577
 #, c-format
 msgid "error reading secret keyblock \"%s\": %s\n"
 msgstr "Fehler beim Lesen des geheimen Schlüsselblocks \"%s\": %s\n"
 
-#: g10/keyedit.c:1589
+#: g10/keyedit.c:1595
 msgid "Secret key is available.\n"
 msgstr "Geheimer Schlüssel ist vorhanden.\n"
 
-#: g10/keyedit.c:1672
+#: g10/keyedit.c:1678
 msgid "Need the secret key to do this.\n"
 msgstr "Hierzu wird der geheime Schlüssel benötigt.\n"
 
-#: g10/keyedit.c:1680
+#: g10/keyedit.c:1686
 msgid "Please use the command \"toggle\" first.\n"
 msgstr "Bitte verwenden sie zunächst den Befehl \"toggle\"\n"
 
-#: g10/keyedit.c:1699
+#: g10/keyedit.c:1705
 msgid ""
 "* The `sign' command may be prefixed with an `l' for local signatures "
 "(lsign),\n"
@@ -3618,227 +3649,227 @@ msgstr ""
 "Unterschriften\n"
 " (\"nrsign\"), oder jede Kombination davon (\"ltsign\", \"tnrsign\", etc.).\n"
 
-#: g10/keyedit.c:1739
+#: g10/keyedit.c:1745
 msgid "Key is revoked."
 msgstr "Schlüssel wurde widerrufen."
 
-#: g10/keyedit.c:1758
+#: g10/keyedit.c:1764
 msgid "Really sign all user IDs? (y/N) "
 msgstr "Wirklich alle User-IDs beglaubigen? "
 
-#: g10/keyedit.c:1765
+#: g10/keyedit.c:1771
 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:1774
+#: g10/keyedit.c:1780
 #, c-format
 msgid "Unknown signature type `%s'\n"
 msgstr "Unbekannter Unterschriftentyp `%s'\n"
 
-#: g10/keyedit.c:1797
+#: g10/keyedit.c:1803
 #, 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:1819 g10/keyedit.c:1839 g10/keyedit.c:2005
+#: g10/keyedit.c:1825 g10/keyedit.c:1845 g10/keyedit.c:2011
 msgid "You must select at least one user ID.\n"
 msgstr "Zumindestens eine User-ID muß ausgewählt werden.\n"
 
-#: g10/keyedit.c:1821
+#: g10/keyedit.c:1827
 msgid "You can't delete the last user ID!\n"
 msgstr "Die letzte User-ID kann nicht gelöscht werden!\n"
 
-#: g10/keyedit.c:1823
+#: g10/keyedit.c:1829
 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:1824
+#: g10/keyedit.c:1830
 msgid "Really remove this user ID? (y/N) "
 msgstr "Diese User-ID wirklich entfernen? (j/N) "
 
-#: g10/keyedit.c:1874
+#: g10/keyedit.c:1880
 msgid "Really move the primary key? (y/N) "
 msgstr "Den Hauptschlüssel wirklich verschieben? (j/N) "
 
-#: g10/keyedit.c:1886
+#: g10/keyedit.c:1892
 msgid "You must select exactly one key.\n"
 msgstr "Sie müssen genau einen Schlüssel auswählen.\n"
 
-#: g10/keyedit.c:1914
+#: g10/keyedit.c:1920
 msgid "Command expects a filename argument\n"
 msgstr "Befehl benötigt einen Dateinamen als Argument\n"
 
-#: g10/keyedit.c:1928
+#: g10/keyedit.c:1934
 #, c-format
 msgid "Can't open `%s': %s\n"
 msgstr "'%s' kann nicht geöffnet werden: %s\n"
 
-#: g10/keyedit.c:1945
+#: g10/keyedit.c:1951
 #, 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:1969
+#: g10/keyedit.c:1975
 msgid "You must select at least one key.\n"
 msgstr "Zumindestens ein Schlüssel muß ausgewählt werden.\n"
 
-#: g10/keyedit.c:1972
+#: g10/keyedit.c:1978
 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:1973
+#: g10/keyedit.c:1979
 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:2008
+#: g10/keyedit.c:2014
 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:2009
+#: g10/keyedit.c:2015
 msgid "Really revoke this user ID? (y/N) "
 msgstr "Diese User-ID wirklich widerrufen? (j/N) "
 
-#: g10/keyedit.c:2027
+#: g10/keyedit.c:2033
 msgid "Do you really want to revoke the entire key? (y/N) "
 msgstr "Möchten Sie diesen Schlüssel wirklich vollständig widerrufen? "
 
-#: g10/keyedit.c:2038
+#: g10/keyedit.c:2044
 msgid "Do you really want to revoke the selected subkeys? (y/N) "
 msgstr "Möchten Sie die ausgewählten Unterschlüssel wirklich widerrufen? "
 
-#: g10/keyedit.c:2040
+#: g10/keyedit.c:2046
 msgid "Do you really want to revoke this subkey? (y/N) "
 msgstr "Möchten Sie diesen Schlüssel wirklich widerrufen? "
 
-#: g10/keyedit.c:2090
+#: g10/keyedit.c:2096
 msgid ""
 "Owner trust may not be set while using an user provided trust database\n"
 msgstr ""
 "\"Owner trust\" kann nicht gesetzt werden, wenn eine anwendereigene 'Trust'-"
 "Datenbank benutzt wird\n"
 
-#: g10/keyedit.c:2132
+#: g10/keyedit.c:2138
 msgid "Set preference list to:\n"
 msgstr "Setze die Liste der Voreinstellungen auf:\n"
 
-#: g10/keyedit.c:2138
+#: g10/keyedit.c:2144
 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:2140
+#: g10/keyedit.c:2146
 msgid "Really update the preferences? (y/N) "
 msgstr "Die Voreinstellungen wirklich ändern? (j/N) "
 
-#: g10/keyedit.c:2208
+#: g10/keyedit.c:2214
 msgid "Save changes? (y/N) "
 msgstr "Änderungen speichern? "
 
-#: g10/keyedit.c:2211
+#: g10/keyedit.c:2217
 msgid "Quit without saving? (y/N) "
 msgstr "Beenden ohne zu speichern? "
 
-#: g10/keyedit.c:2221
+#: g10/keyedit.c:2227
 #, c-format
 msgid "update failed: %s\n"
 msgstr "Änderung fehlgeschlagen: %s\n"
 
-#: g10/keyedit.c:2228
+#: g10/keyedit.c:2234
 #, c-format
 msgid "update secret failed: %s\n"
 msgstr "Änderung des Geheimnisses fehlgeschlagen: %s\n"
 
-#: g10/keyedit.c:2235
+#: g10/keyedit.c:2241
 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:2336
+#: g10/keyedit.c:2342
 msgid "Digest: "
 msgstr "Digest: "
 
-#: g10/keyedit.c:2388
+#: g10/keyedit.c:2394
 msgid "Features: "
 msgstr "Eigenschaften: "
 
-#: g10/keyedit.c:2399
+#: g10/keyedit.c:2405
 msgid "Keyserver no-modify"
 msgstr "Keyserver no-modify"
 
-#: g10/keyedit.c:2414 g10/keylist.c:308
+#: g10/keyedit.c:2420 g10/keylist.c:308
 msgid "Preferred keyserver: "
 msgstr "Bevorzugter Schlüsselserver:"
 
-#: g10/keyedit.c:2422 g10/keyedit.c:2423
+#: g10/keyedit.c:2428 g10/keyedit.c:2429
 msgid "Notations: "
 msgstr "\"Notationen\": "
 
-#: g10/keyedit.c:2633
+#: g10/keyedit.c:2639
 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:2692
+#: g10/keyedit.c:2698
 #, c-format
 msgid "This key was revoked on %s by %s key %s\n"
 msgstr "Dieser Schlüssel wurde am %s von %s Schlüssel %s widerrufen\n"
 
-#: g10/keyedit.c:2713
+#: g10/keyedit.c:2719
 #, c-format
 msgid "This key may be revoked by %s key %s"
 msgstr ""
 "Dieser Schlüssel könnte durch %s mit Schlüssel %s  widerrufen worden sein"
 
-#: g10/keyedit.c:2719
+#: g10/keyedit.c:2725
 msgid "(sensitive)"
 msgstr "(empfindlich)"
 
-#: g10/keyedit.c:2735 g10/keyedit.c:2791 g10/keyedit.c:2852 g10/keyedit.c:2867
+#: g10/keyedit.c:2741 g10/keyedit.c:2797 g10/keyedit.c:2858 g10/keyedit.c:2873
 #: g10/keylist.c:194 g10/keyserver.c:516
 #, c-format
 msgid "created: %s"
 msgstr "erzeugt: %s"
 
-#: g10/keyedit.c:2738 g10/keylist.c:771 g10/keylist.c:865 g10/mainproc.c:952
+#: g10/keyedit.c:2744 g10/keylist.c:771 g10/keylist.c:865 g10/mainproc.c:961
 #, c-format
 msgid "revoked: %s"
 msgstr "widerrufen: %s"
 
-#: g10/keyedit.c:2740 g10/keylist.c:742 g10/keylist.c:777 g10/keylist.c:871
+#: g10/keyedit.c:2746 g10/keylist.c:742 g10/keylist.c:777 g10/keylist.c:871
 #, c-format
 msgid "expired: %s"
 msgstr "verfallen: %s"
 
-#: g10/keyedit.c:2742 g10/keyedit.c:2793 g10/keyedit.c:2854 g10/keyedit.c:2869
+#: g10/keyedit.c:2748 g10/keyedit.c:2799 g10/keyedit.c:2860 g10/keyedit.c:2875
 #: g10/keylist.c:196 g10/keylist.c:748 g10/keylist.c:783 g10/keylist.c:877
-#: g10/keylist.c:898 g10/keyserver.c:522 g10/mainproc.c:958
+#: g10/keylist.c:898 g10/keyserver.c:522 g10/mainproc.c:967
 #, c-format
 msgid "expires: %s"
 msgstr "verfällt: %s"
 
-#: g10/keyedit.c:2744
+#: g10/keyedit.c:2750
 #, c-format
 msgid "usage: %s"
 msgstr "Aufruf: %s"
 
-#: g10/keyedit.c:2759
+#: g10/keyedit.c:2765
 #, c-format
 msgid "trust: %s"
 msgstr "Vertrauen: %s"
 
-#: g10/keyedit.c:2763
+#: g10/keyedit.c:2769
 #, c-format
 msgid "validity: %s"
 msgstr "Gültigkeit: %s"
 
-#: g10/keyedit.c:2770
+#: g10/keyedit.c:2776
 msgid "This key has been disabled"
 msgstr "Hinweis: Dieser Schlüssel ist abgeschaltet"
 
-#: g10/keyedit.c:2798 g10/keylist.c:200
+#: g10/keyedit.c:2804 g10/keylist.c:200
 msgid "card-no: "
 msgstr "Kartennummer:"
 
-#: g10/keyedit.c:2822
+#: g10/keyedit.c:2828
 msgid ""
 "Please note that the shown key validity is not necessarily correct\n"
 "unless you restart the program.\n"
@@ -3846,18 +3877,18 @@ msgstr ""
 "Bitte beachten Sie, daß ohne einen Programmneustart die angezeigte\n"
 "Schlüsselgültigkeit nicht notwendigerweise korrekt ist.\n"
 
-#: g10/keyedit.c:2886 g10/keyedit.c:3232 g10/keyserver.c:526
-#: g10/mainproc.c:1753 g10/trustdb.c:1179 g10/trustdb.c:1699
+#: g10/keyedit.c:2892 g10/keyedit.c:3238 g10/keyserver.c:526
+#: g10/mainproc.c:1803 g10/trustdb.c:1179 g10/trustdb.c:1699
 msgid "revoked"
 msgstr "widerrufen"
 
-#: g10/keyedit.c:2888 g10/keyedit.c:3234 g10/keyserver.c:530
-#: g10/mainproc.c:1755 g10/trustdb.c:532 g10/trustdb.c:1701
+#: g10/keyedit.c:2894 g10/keyedit.c:3240 g10/keyserver.c:530
+#: g10/mainproc.c:1805 g10/trustdb.c:532 g10/trustdb.c:1701
 msgid "expired"
 msgstr "verfallen"
 
 # translated by wk
-#: g10/keyedit.c:2953
+#: g10/keyedit.c:2959
 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"
@@ -3865,7 +3896,7 @@ msgstr ""
 "WARNUNG: Keine User-ID ist als primär markiert.  Dieser Befehl kann\n"
 "dazu führen, daß eine andere User-ID as primär angesehen wird.\n"
 
-#: g10/keyedit.c:3014
+#: g10/keyedit.c:3020
 msgid ""
 "WARNING: This is a PGP2-style key.  Adding a photo ID may cause some "
 "versions\n"
@@ -3875,54 +3906,74 @@ msgstr ""
 "könnte\n"
 "         bei einigen PGP-Versionen zur Zurückweisung des Schlüssels führen.\n"
 
-#: g10/keyedit.c:3019 g10/keyedit.c:3349
+#: g10/keyedit.c:3025 g10/keyedit.c:3360
 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:3025
+#: g10/keyedit.c:3031
 msgid "You may not add a photo ID to a PGP2-style key.\n"
 msgstr "Sie können einem PGP2-artigen SchlüÂüsel keine Foto-ID hinzufügen.\n"
 
-#: g10/keyedit.c:3165
+#: g10/keyedit.c:3171
 msgid "Delete this good signature? (y/N/q)"
 msgstr "Diese korrekte Beglaubigung entfernen? (j/N/q)"
 
-#: g10/keyedit.c:3175
+#: g10/keyedit.c:3181
 msgid "Delete this invalid signature? (y/N/q)"
 msgstr "Diese ungültige Beglaubigung entfernen= (j/N/q)"
 
-#: g10/keyedit.c:3179
+#: g10/keyedit.c:3185
 msgid "Delete this unknown signature? (y/N/q)"
 msgstr "Diese unbekannte Beglaubigung entfernen? (j/N/q)"
 
-#: g10/keyedit.c:3185
+#: g10/keyedit.c:3191
 msgid "Really delete this self-signature? (y/N)"
 msgstr "Eigenbeglaubigung wirklich entfernen? (j/N)"
 
-#: g10/keyedit.c:3199
+#: g10/keyedit.c:3205
 #, c-format
 msgid "Deleted %d signature.\n"
 msgstr "%d Beglaubigungen entfernt.\n"
 
-#: g10/keyedit.c:3200
+#: g10/keyedit.c:3206
 #, c-format
 msgid "Deleted %d signatures.\n"
 msgstr "%d Beglaubigungen entfernt.\n"
 
-#: g10/keyedit.c:3203
+#: g10/keyedit.c:3209
 msgid "Nothing deleted.\n"
 msgstr "Nichts entfernt.\n"
 
-#: g10/keyedit.c:3236 g10/trustdb.c:1703
+#: g10/keyedit.c:3242 g10/trustdb.c:1703
 msgid "invalid"
 msgstr "ungültig"
 
+#: g10/keyedit.c:3244
+#, fuzzy, c-format
+msgid "User ID \"%s\" compacted: %s\n"
+msgstr "User-ID \"%s\": bereits bereinigt\n"
+
+#: g10/keyedit.c:3251
+#, fuzzy, c-format
+msgid "User ID \"%s\": %d signature removed\n"
+msgstr "Schlüssel %s: \"%s\" %d Signaturen bereinigt\n"
+
 #: g10/keyedit.c:3252
+#, fuzzy, c-format
+msgid "User ID \"%s\": %d signatures removed\n"
+msgstr "Schlüssel %s: \"%s\" %d Signaturen bereinigt\n"
+
+#: g10/keyedit.c:3260
+#, fuzzy, c-format
+msgid "User ID \"%s\": already minimized\n"
+msgstr "User-ID \"%s\": bereits bereinigt\n"
+
+#: g10/keyedit.c:3261
 #, c-format
 msgid "User ID \"%s\": already clean\n"
 msgstr "User-ID \"%s\": bereits bereinigt\n"
 
-#: g10/keyedit.c:3344
+#: g10/keyedit.c:3355
 msgid ""
 "WARNING: This is a PGP 2.x-style key.  Adding a designated revoker may "
 "cause\n"
@@ -3932,198 +3983,198 @@ msgstr ""
 "         Widerrufers könnte bei einigen PGP-Versionen zur Zurückweisung\n"
 "         des Schlüssels führen.\n"
 
-#: g10/keyedit.c:3355
+#: g10/keyedit.c:3366
 msgid "You may not add a designated revoker to a PGP 2.x-style key.\n"
 msgstr ""
 "Sie können einem PGP2-artigen SchlüÂüsel keine vorgesehenen Widerrufer "
 "hinzufügen.\n"
 
-#: g10/keyedit.c:3375
+#: g10/keyedit.c:3386
 msgid "Enter the user ID of the designated revoker: "
 msgstr "Geben sie die User-ID des designierten Widerrufers ein: "
 
-#: g10/keyedit.c:3400
+#: g10/keyedit.c:3411
 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:3415
+#: g10/keyedit.c:3426
 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:3437
+#: g10/keyedit.c:3448
 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:3456
+#: g10/keyedit.c:3467
 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:3462
+#: g10/keyedit.c:3473
 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:3523
+#: g10/keyedit.c:3534
 msgid "Please remove selections from the secret keys.\n"
 msgstr "Bitte entfernen Sie die Auswahl von den geheimen Schlüsseln.\n"
 
-#: g10/keyedit.c:3529
+#: g10/keyedit.c:3540
 msgid "Please select at most one subkey.\n"
 msgstr "Bitte wählen Sie höchstens einen Unterschlüssel aus.\n"
 
-#: g10/keyedit.c:3533
+#: g10/keyedit.c:3544
 msgid "Changing expiration time for a subkey.\n"
 msgstr "Ändern des Verfallsdatums des Unterschlüssels.\n"
 
-#: g10/keyedit.c:3536
+#: g10/keyedit.c:3547
 msgid "Changing expiration time for the primary key.\n"
 msgstr "Ändern des Verfallsdatums des Hauptschlüssels.\n"
 
-#: g10/keyedit.c:3582
+#: g10/keyedit.c:3593
 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:3598
+#: g10/keyedit.c:3609
 msgid "No corresponding signature in secret ring\n"
 msgstr "Keine entsprechende Signatur im geheimen Schlüsselbund\n"
 
-#: g10/keyedit.c:3671
+#: g10/keyedit.c:3682
 #, c-format
 msgid "signing subkey %s is already cross-certified\n"
 msgstr "Signaturunterschlüssel %s ist bereits rücksigniert\n"
 
-#: g10/keyedit.c:3677
+#: g10/keyedit.c:3688
 #, c-format
 msgid "subkey %s does not sign and so does not need to be cross-certified\n"
 msgstr ""
 "Unterschlüssel %s ist des Unterschreibens nicht mächtig und braucht deshalb "
 "keine Rücksignatur\n"
 
-#: g10/keyedit.c:3839
+#: g10/keyedit.c:3850
 msgid "Please select exactly one user ID.\n"
 msgstr "Bitte genau eine User-ID auswählen.\n"
 
-#: g10/keyedit.c:3878 g10/keyedit.c:3988 g10/keyedit.c:4108 g10/keyedit.c:4249
+#: g10/keyedit.c:3889 g10/keyedit.c:3999 g10/keyedit.c:4119 g10/keyedit.c:4260
 #, 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:4049
+#: g10/keyedit.c:4060
 msgid "Enter your preferred keyserver URL: "
 msgstr "Geben Sie die URL Ihres bevorzugten Schlüsselservers ein: "
 
-#: g10/keyedit.c:4129
+#: g10/keyedit.c:4140
 msgid "Are you sure you want to replace it? (y/N) "
 msgstr "Wollen Sie ihn wirklich ersetzen? (j/N) "
 
-#: g10/keyedit.c:4130
+#: g10/keyedit.c:4141
 msgid "Are you sure you want to delete it? (y/N) "
 msgstr "Wollen Sie ihn wirklich löschen? (j/N) "
 
-#: g10/keyedit.c:4192
+#: g10/keyedit.c:4203
 msgid "Enter the notation: "
 msgstr "Geben Sie die \"Notation\" ein: "
 
-#: g10/keyedit.c:4341
+#: g10/keyedit.c:4352
 msgid "Proceed? (y/N) "
 msgstr "Fortfahren (j/N)? "
 
-#: g10/keyedit.c:4405
+#: g10/keyedit.c:4416
 #, c-format
 msgid "No user ID with index %d\n"
 msgstr "Keine User-ID mit Index %d\n"
 
-#: g10/keyedit.c:4463
+#: g10/keyedit.c:4474
 #, c-format
 msgid "No user ID with hash %s\n"
 msgstr "Keine User-ID mit Hash %s\n"
 
-#: g10/keyedit.c:4490
+#: g10/keyedit.c:4501
 #, c-format
 msgid "No subkey with index %d\n"
 msgstr "Kein Unterschlüssel mit Index %d\n"
 
-#: g10/keyedit.c:4625
+#: g10/keyedit.c:4636
 #, c-format
 msgid "user ID: \"%s\"\n"
 msgstr "User-ID: \"%s\"\n"
 
-#: g10/keyedit.c:4628 g10/keyedit.c:4692 g10/keyedit.c:4735
+#: g10/keyedit.c:4639 g10/keyedit.c:4703 g10/keyedit.c:4746
 #, 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:4630 g10/keyedit.c:4694 g10/keyedit.c:4737
+#: g10/keyedit.c:4641 g10/keyedit.c:4705 g10/keyedit.c:4748
 msgid " (non-exportable)"
 msgstr " (nicht-exportierbar)"
 
-#: g10/keyedit.c:4634
+#: g10/keyedit.c:4645
 #, c-format
 msgid "This signature expired on %s.\n"
 msgstr "Diese Unterschrift ist seit %s verfallen.\n"
 
-#: g10/keyedit.c:4638
+#: g10/keyedit.c:4649
 msgid "Are you sure you still want to revoke it? (y/N) "
 msgstr "Wollen Sie ihn immer noch widerrufen? (j/N) "
 
-#: g10/keyedit.c:4642
+#: g10/keyedit.c:4653
 msgid "Create a revocation certificate for this signature? (y/N) "
 msgstr "Ein Widerrufszertifikat für diese Unterschrift erzeugen (j/N)"
 
-#: g10/keyedit.c:4669
+#: g10/keyedit.c:4680
 #, 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:4695
+#: g10/keyedit.c:4706
 msgid " (non-revocable)"
 msgstr " (unwiderrufbar)"
 
-#: g10/keyedit.c:4702
+#: g10/keyedit.c:4713
 #, c-format
 msgid "revoked by your key %s on %s\n"
 msgstr "widerrufen durch Ihren Schlüssel %s um %s\n"
 
-#: g10/keyedit.c:4724
+#: g10/keyedit.c:4735
 msgid "You are about to revoke these signatures:\n"
 msgstr "Es werden nun folgende Beglaubigungen entfernt:\n"
 
-#: g10/keyedit.c:4744
+#: g10/keyedit.c:4755
 msgid "Really create the revocation certificates? (y/N) "
 msgstr "Wirklich ein Unterschrift-Widerrufszertifikat erzeugen? (j/N) "
 
-#: g10/keyedit.c:4774
+#: g10/keyedit.c:4785
 msgid "no secret key\n"
 msgstr "Kein geheimer Schlüssel\n"
 
-#: g10/keyedit.c:4844
+#: g10/keyedit.c:4855
 #, c-format
 msgid "user ID \"%s\" is already revoked\n"
 msgstr "User-ID \"%s\" ist bereits widerrufen\n"
 
-#: g10/keyedit.c:4861
+#: g10/keyedit.c:4872
 #, c-format
 msgid "WARNING: a user ID signature is dated %d seconds in the future\n"
 msgstr ""
 "WARNUNG: Eine User-ID-Unterschrift datiert mit %d Sekunden aus der Zukunft\n"
 
-#: g10/keyedit.c:4925
+#: g10/keyedit.c:4936
 #, c-format
 msgid "Key %s is already revoked.\n"
 msgstr "Schlüssel %s ist bereits widerrufen\n"
 
-#: g10/keyedit.c:4987
+#: g10/keyedit.c:4998
 #, c-format
 msgid "Subkey %s is already revoked.\n"
 msgstr "Unterschlüssel %s ist bereits widerrufen\n"
 
-#: g10/keyedit.c:5082
+#: g10/keyedit.c:5093
 #, 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"
@@ -4163,12 +4214,12 @@ msgid "writing key binding signature\n"
 msgstr "Schreiben der \"key-binding\" Signatur\n"
 
 #: g10/keygen.c:1125 g10/keygen.c:1239 g10/keygen.c:1244 g10/keygen.c:1377
-#: g10/keygen.c:2934
+#: g10/keygen.c:2948
 #, c-format
 msgid "keysize invalid; using %u bits\n"
 msgstr "Ungültige Schlüssellänge; %u Bit werden verwendet\n"
 
-#: g10/keygen.c:1130 g10/keygen.c:1250 g10/keygen.c:1382 g10/keygen.c:2940
+#: g10/keygen.c:1130 g10/keygen.c:1250 g10/keygen.c:1382 g10/keygen.c:2954
 #, c-format
 msgid "keysize rounded up to %u bits\n"
 msgstr "Schlüssellänge auf %u Bit aufgerundet\n"
@@ -4468,7 +4519,7 @@ msgstr "Ändern: (N)ame, (K)ommentar, (E)-Mail oder (F)ertig/(B)eenden? "
 msgid "Please correct the error first\n"
 msgstr "Bitte beseitigen Sie zuerst den Fehler\n"
 
-#: g10/keygen.c:2056
+#: g10/keygen.c:2055
 msgid ""
 "You need a Passphrase to protect your secret key.\n"
 "\n"
@@ -4476,12 +4527,12 @@ msgstr ""
 "Sie benötigen eine Passphrase, um den geheimen Schlüssel zu schützen.\n"
 "\n"
 
-#: g10/keygen.c:2066
+#: g10/keygen.c:2070
 #, c-format
 msgid "%s.\n"
 msgstr "%s.\n"
 
-#: g10/keygen.c:2072
+#: g10/keygen.c:2076
 msgid ""
 "You don't want a passphrase - this is probably a *bad* idea!\n"
 "I will do it anyway.  You can change your passphrase at any time,\n"
@@ -4494,7 +4545,7 @@ msgstr ""
 "aufrufen.\n"
 "\n"
 
-#: g10/keygen.c:2094
+#: g10/keygen.c:2098
 msgid ""
 "We need to generate a lot of random bytes. It is a good idea to perform\n"
 "some other action (type on the keyboard, move the mouse, utilize the\n"
@@ -4505,50 +4556,50 @@ msgstr ""
 "unterstützen, indem Sie z.B. in einem anderen Fenster/Konsole irgendetwas\n"
 "tippen, die Maus verwenden oder irgendwelche anderen Programme benutzen.\n"
 
-#: g10/keygen.c:2879
+#: g10/keygen.c:2888 g10/keygen.c:2915
 msgid "Key generation canceled.\n"
 msgstr "Schlüsselerzeugung abgebrochen.\n"
 
-#: g10/keygen.c:3091 g10/keygen.c:3236
+#: g10/keygen.c:3108 g10/keygen.c:3253
 #, c-format
 msgid "writing public key to `%s'\n"
 msgstr "schreiben des öffentlichen Schlüssels nach '%s'\n"
 
-#: g10/keygen.c:3093 g10/keygen.c:3239
+#: g10/keygen.c:3110 g10/keygen.c:3256
 #, c-format
 msgid "writing secret key stub to `%s'\n"
 msgstr "schreiben des geheimen Schlüssel-\"stub\"s nach `%s'\n"
 
-#: g10/keygen.c:3096 g10/keygen.c:3242
+#: g10/keygen.c:3113 g10/keygen.c:3259
 #, c-format
 msgid "writing secret key to `%s'\n"
 msgstr "schreiben des geheimen Schlüssels nach '%s'\n"
 
-#: g10/keygen.c:3225
+#: g10/keygen.c:3242
 #, c-format
 msgid "no writable public keyring found: %s\n"
 msgstr "kein schreibbarer öffentlicher Schlüsselbund gefunden: %s\n"
 
-#: g10/keygen.c:3231
+#: g10/keygen.c:3248
 #, c-format
 msgid "no writable secret keyring found: %s\n"
 msgstr "kein schreibbarer geheimer Schlüsselbund gefunden: %s\n"
 
-#: g10/keygen.c:3249
+#: g10/keygen.c:3266
 #, c-format
 msgid "error writing public keyring `%s': %s\n"
 msgstr "Fehler beim Schreiben des öff. Schlüsselbundes `%s': %s\n"
 
-#: g10/keygen.c:3256
+#: g10/keygen.c:3273
 #, c-format
 msgid "error writing secret keyring `%s': %s\n"
 msgstr "Fehler beim Schreiben des geheimen Schlüsselbundes `%s': %s\n"
 
-#: g10/keygen.c:3279
+#: g10/keygen.c:3296
 msgid "public and secret key created and signed.\n"
 msgstr "Öffentlichen und geheimen Schlüssel erzeugt und signiert.\n"
 
-#: g10/keygen.c:3290
+#: g10/keygen.c:3307
 msgid ""
 "Note that this key cannot be used for encryption.  You may want to use\n"
 "the command \"--edit-key\" to generate a subkey for this purpose.\n"
@@ -4557,12 +4608,12 @@ msgstr ""
 "werden kann.  Sie können aber mit dem Befehl \"--edit-key\" einen\n"
 "Unterschlüssel für diesem Zweck erzeugen.\n"
 
-#: g10/keygen.c:3302 g10/keygen.c:3431 g10/keygen.c:3547
+#: g10/keygen.c:3319 g10/keygen.c:3454 g10/keygen.c:3570
 #, c-format
 msgid "Key generation failed: %s\n"
 msgstr "Schlüsselerzeugung fehlgeschlagen: %s\n"
 
-#: g10/keygen.c:3354 g10/keygen.c:3482 g10/sign.c:277
+#: g10/keygen.c:3372 g10/keygen.c:3505 g10/sign.c:277
 #, c-format
 msgid ""
 "key has been created %lu second in future (time warp or clock problem)\n"
@@ -4570,7 +4621,7 @@ msgstr ""
 "Der Schlüssel wurde %lu Sekunde in der Zukunft erzeugt (Zeitreise oder Uhren "
 "stimmen nicht überein)\n"
 
-#: g10/keygen.c:3356 g10/keygen.c:3484 g10/sign.c:279
+#: g10/keygen.c:3374 g10/keygen.c:3507 g10/sign.c:279
 #, c-format
 msgid ""
 "key has been created %lu seconds in future (time warp or clock problem)\n"
@@ -4578,25 +4629,25 @@ msgstr ""
 "Der Schlüssel wurde %lu Sekunden in der Zukunft erzeugt (Zeitreise oder "
 "Uhren stimmen nicht überein)\n"
 
-#: g10/keygen.c:3365 g10/keygen.c:3495
+#: g10/keygen.c:3383 g10/keygen.c:3518
 msgid "NOTE: creating subkeys for v3 keys is not OpenPGP compliant\n"
 msgstr "HINWEIS: Unterschlüssel für v3-Schlüssen sind nicht OpenPGP-konform\n"
 
-#: g10/keygen.c:3404 g10/keygen.c:3528
+#: g10/keygen.c:3422 g10/keygen.c:3551
 msgid "Really create? (y/N) "
 msgstr "Wirklich erzeugen? (j/N) "
 
-#: g10/keygen.c:3691
+#: g10/keygen.c:3714
 #, c-format
 msgid "storing key onto card failed: %s\n"
 msgstr "Speicher des Schlüssels auf der Karte schlug fehl: %s\n"
 
-#: g10/keygen.c:3739
+#: g10/keygen.c:3762
 #, c-format
 msgid "can't create backup file `%s': %s\n"
 msgstr "Sicherungsdatei '%s' kann nicht erzeugt werden: %s\n"
 
-#: g10/keygen.c:3765
+#: g10/keygen.c:3788
 #, c-format
 msgid "NOTE: backup of card key saved to `%s'\n"
 msgstr "Hinweis: Sicherung des Kartenschlüssels wurde auf `%s' gespeichert\n"
@@ -4744,7 +4795,7 @@ msgstr "abgeschaltet"
 msgid "Enter number(s), N)ext, or Q)uit > "
 msgstr "Eingabe von Nummern, Nächste (N) oder Abbrechen (Q) > "
 
-#: g10/keyserver.c:813 g10/keyserver.c:1434
+#: g10/keyserver.c:813 g10/keyserver.c:1435
 #, c-format
 msgid "invalid keyserver protocol (us %d!=handler %d)\n"
 msgstr "Ungültiges Schlüsselserverprotokoll (wir %d!=Handhabungsroutine %d)\n"
@@ -4778,314 +4829,314 @@ msgstr "suche Namen auf %s-Server %s\n"
 msgid "searching for names from %s\n"
 msgstr "suche Namen auf %s\n"
 
-#: g10/keyserver.c:1337
+#: g10/keyserver.c:1338
 #, c-format
 msgid "sending key %s to %s server %s\n"
 msgstr "sende Schlüssel %s auf den %s-Server %s\n"
 
-#: g10/keyserver.c:1341
+#: g10/keyserver.c:1342
 #, c-format
 msgid "sending key %s to %s\n"
 msgstr "sende Schlüssel %s auf %s\n"
 
-#: g10/keyserver.c:1384
+#: g10/keyserver.c:1385
 #, c-format
 msgid "searching for \"%s\" from %s server %s\n"
 msgstr "suche nach \"%s\" auf %s-Server %s\n"
 
-#: g10/keyserver.c:1387
+#: g10/keyserver.c:1388
 #, c-format
 msgid "searching for \"%s\" from %s\n"
 msgstr "suche nach \"%s\" auf %s\n"
 
-#: g10/keyserver.c:1394 g10/keyserver.c:1490
+#: g10/keyserver.c:1395 g10/keyserver.c:1491
 msgid "no keyserver action!\n"
 msgstr "Kein Schlüsselserver-Vorgang\n"
 
-#: g10/keyserver.c:1442
+#: g10/keyserver.c:1443
 #, c-format
 msgid "WARNING: keyserver handler from a different version of GnuPG (%s)\n"
 msgstr ""
 "WARNUNG: Die Schlüsselserver-Handhabungsroutine stammt von einer anderen "
 "GnuPG-Version (%s)\n"
 
-#: g10/keyserver.c:1451
+#: g10/keyserver.c:1452
 msgid "keyserver did not send VERSION\n"
 msgstr "Schlüsselserver sendete VERSION nicht\n"
 
-#: g10/keyserver.c:1513 g10/keyserver.c:2041
+#: g10/keyserver.c:1514 g10/keyserver.c:2042
 msgid "no keyserver known (use option --keyserver)\n"
 msgstr "Kein Schlüsselserver bekannt (Option --keyserver verwenden)\n"
 
-#: g10/keyserver.c:1519
+#: g10/keyserver.c:1520
 msgid "external keyserver calls are not supported in this build\n"
 msgstr ""
 "Externe Schlüsselserveraufrufe werden in diesem \"Build\" nicht unterstützt\n"
 
-#: g10/keyserver.c:1531
+#: g10/keyserver.c:1532
 #, c-format
 msgid "no handler for keyserver scheme `%s'\n"
 msgstr "Keine Handhabungsroutine für Schlüsselserverschema `%s'\n"
 
-#: g10/keyserver.c:1536
+#: g10/keyserver.c:1537
 #, c-format
 msgid "action `%s' not supported with keyserver scheme `%s'\n"
 msgstr "Vorgang `%s' wird vom Schlüsselserverschema `%s' nicht unterstützt\n"
 
-#: g10/keyserver.c:1544
+#: g10/keyserver.c:1545
 #, c-format
 msgid "%s does not support handler version %d\n"
 msgstr "%s unterstützt Hilfsroutinenversion %d nicht\n"
 
-#: g10/keyserver.c:1551
+#: g10/keyserver.c:1552
 msgid "keyserver timed out\n"
 msgstr "Schlüsselserver-Zeitüberschreitung\n"
 
-#: g10/keyserver.c:1556
+#: g10/keyserver.c:1557
 msgid "keyserver internal error\n"
 msgstr "interner Fehler Schlüsselserver\n"
 
-#: g10/keyserver.c:1565
+#: g10/keyserver.c:1566
 #, c-format
 msgid "keyserver communications error: %s\n"
 msgstr "Schlüsselserver-Datenübertragunsfehler: %s\n"
 
-#: g10/keyserver.c:1590 g10/keyserver.c:1624
+#: g10/keyserver.c:1591 g10/keyserver.c:1625
 #, c-format
 msgid "\"%s\" not a key ID: skipping\n"
 msgstr "\"%s\" ist keine Schlüssel-ID: überspringe\n"
 
-#: g10/keyserver.c:1883
+#: g10/keyserver.c:1884
 #, 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:1905
+#: g10/keyserver.c:1906
 #, c-format
 msgid "refreshing 1 key from %s\n"
 msgstr "ein Schlüssel wird per %s aktualisiert\n"
 
-#: g10/keyserver.c:1907
+#: g10/keyserver.c:1908
 #, c-format
 msgid "refreshing %d keys from %s\n"
 msgstr "%d Schlüssel werden per %s aktualisiert\n"
 
-#: g10/keyserver.c:1963
+#: g10/keyserver.c:1964
 #, c-format
 msgid "WARNING: unable to fetch URI %s: %s\n"
 msgstr "WARNUNG: die URI %s kann nicht geholt werden: %s\n"
 
-#: g10/keyserver.c:1969
+#: g10/keyserver.c:1970
 #, c-format
 msgid "WARNING: unable to parse URI %s\n"
 msgstr "WARNUNG: die URI %s kann nicht analysiert werden\n"
 
-#: g10/mainproc.c:210
+#: g10/mainproc.c:228
 #, c-format
 msgid "weird size for an encrypted session key (%d)\n"
 msgstr "Seltsame Länge für einen verschlüsselten Sitzungsschlüssel (%d)\n"
 
-#: g10/mainproc.c:263
+#: g10/mainproc.c:281
 #, c-format
 msgid "%s encrypted session key\n"
 msgstr "%s verschlüsselter Sitzungsschlüssel\n"
 
-#: g10/mainproc.c:273
+#: g10/mainproc.c:291
 #, c-format
 msgid "passphrase generated with unknown digest algorithm %d\n"
 msgstr "Passphrase wurde mit unbekanntem Hashverfahren %d erstellt\n"
 
-#: g10/mainproc.c:354
+#: g10/mainproc.c:357
 #, c-format
 msgid "public key is %s\n"
 msgstr "Öffentlicher Schlüssel ist %s\n"
 
-#: g10/mainproc.c:411
+#: g10/mainproc.c:414
 msgid "public key encrypted data: good DEK\n"
 msgstr "Mit öffentlichem Schlüssel verschlüsselte Daten: Korrekte DEK\n"
 
-#: g10/mainproc.c:444
+#: g10/mainproc.c:447
 #, 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:448 g10/pkclist.c:219
+#: g10/mainproc.c:451 g10/pkclist.c:219
 #, 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:452
+#: g10/mainproc.c:455
 #, c-format
 msgid "encrypted with %s key, ID %s\n"
 msgstr "verschlüsselt mit %s Schlüssel, ID %s\n"
 
-#: g10/mainproc.c:466
+#: g10/mainproc.c:469
 #, c-format
 msgid "public key decryption failed: %s\n"
 msgstr "Entschlüsselung mit Public-Key-Verfahren fehlgeschlagen: %s\n"
 
-#: g10/mainproc.c:480
+#: g10/mainproc.c:483
 #, c-format
 msgid "encrypted with %lu passphrases\n"
 msgstr "Verschlüsselt mit %lu Passphrases\n"
 
-#: g10/mainproc.c:482
+#: g10/mainproc.c:485
 msgid "encrypted with 1 passphrase\n"
 msgstr "Verschlüsselt mit einer Passphrase\n"
 
-#: g10/mainproc.c:514 g10/mainproc.c:536
+#: g10/mainproc.c:517 g10/mainproc.c:539
 #, c-format
 msgid "assuming %s encrypted data\n"
 msgstr "vermutlich %s-verschlüsselte Daten\n"
 
-#: g10/mainproc.c:522
+#: g10/mainproc.c:525
 #, 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:555
+#: g10/mainproc.c:558
 msgid "decryption okay\n"
 msgstr "Entschlüsselung erfolgreich\n"
 
-#: g10/mainproc.c:559
+#: g10/mainproc.c:562
 msgid "WARNING: message was not integrity protected\n"
 msgstr ""
 "WARNUNG: Botschaft wurde nicht integritätsgeschützt (integrity protected)\n"
 
-#: g10/mainproc.c:572
+#: g10/mainproc.c:575
 msgid "WARNING: encrypted message has been manipulated!\n"
 msgstr "Warnung: Verschlüsselte Botschaft ist manipuliert worden!\n"
 
-#: g10/mainproc.c:578
+#: g10/mainproc.c:581
 #, c-format
 msgid "decryption failed: %s\n"
 msgstr "Entschlüsselung fehlgeschlagen: %s\n"
 
-#: g10/mainproc.c:597
+#: g10/mainproc.c:600
 msgid "NOTE: sender requested \"for-your-eyes-only\"\n"
 msgstr ""
 "Hinweis: Der Absender verlangte Vertraulichkeit(\"for-your-eyes-only\")\n"
 
-#: g10/mainproc.c:599
+#: g10/mainproc.c:602
 #, c-format
 msgid "original file name='%.*s'\n"
 msgstr "Ursprünglicher Dateiname='%.*s'\n"
 
-#: g10/mainproc.c:805
+#: g10/mainproc.c:814
 msgid "standalone revocation - use \"gpg --import\" to apply\n"
 msgstr ""
 "Einzelner Widerruf - verwenden Sie \"gpg --import\" um ihn anzuwenden\n"
 
-#: g10/mainproc.c:1154
+#: g10/mainproc.c:1167 g10/mainproc.c:1204
 msgid "no signature found\n"
 msgstr "Keine Unterschrift gefunden\n"
 
-#: g10/mainproc.c:1392
+#: g10/mainproc.c:1442
 msgid "signature verification suppressed\n"
 msgstr "Unterschriften-Überprüfung unterdrückt\n"
 
-#: g10/mainproc.c:1492
+#: g10/mainproc.c:1542
 msgid "can't handle this ambiguous signature data\n"
 msgstr "diese mehrdeutige Unterschriftdaten können nicht bearbeitet werden\n"
 
-#: g10/mainproc.c:1503
+#: g10/mainproc.c:1553
 #, c-format
 msgid "Signature made %s\n"
 msgstr "Unterschrift vom %s\n"
 
-#: g10/mainproc.c:1504
+#: g10/mainproc.c:1554
 #, 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:1508
+#: g10/mainproc.c:1558
 #, c-format
 msgid "Signature made %s using %s key ID %s\n"
 msgstr "Unterschrift vom %s mittels %s-Schlüssel ID %s\n"
 
-#: g10/mainproc.c:1528
+#: g10/mainproc.c:1578
 msgid "Key available at: "
 msgstr "Schlüssel erhältlich bei: "
 
-#: g10/mainproc.c:1661 g10/mainproc.c:1709
+#: g10/mainproc.c:1711 g10/mainproc.c:1759
 #, c-format
 msgid "BAD signature from \"%s\""
 msgstr "FALSCHE Unterschrift von \"%s\""
 
-#: g10/mainproc.c:1663 g10/mainproc.c:1711
+#: g10/mainproc.c:1713 g10/mainproc.c:1761
 #, c-format
 msgid "Expired signature from \"%s\""
 msgstr "Verfallene Unterschrift von \"%s\""
 
-#: g10/mainproc.c:1665 g10/mainproc.c:1713
+#: g10/mainproc.c:1715 g10/mainproc.c:1763
 #, c-format
 msgid "Good signature from \"%s\""
 msgstr "Korrekte Unterschrift von \"%s\""
 
-#: g10/mainproc.c:1715
+#: g10/mainproc.c:1765
 msgid "[uncertain]"
 msgstr "[ungewiß]  "
 
-#: g10/mainproc.c:1746
+#: g10/mainproc.c:1796
 #, c-format
 msgid "                aka \"%s\""
 msgstr "                    alias \"%s\""
 
-#: g10/mainproc.c:1844
+#: g10/mainproc.c:1894
 #, c-format
 msgid "Signature expired %s\n"
 msgstr "Diese Unterschrift ist seit %s verfallen.\n"
 
-#: g10/mainproc.c:1849
+#: g10/mainproc.c:1899
 #, c-format
 msgid "Signature expires %s\n"
 msgstr "Diese Unterschrift verfällt am %s.\n"
 
-#: g10/mainproc.c:1852
+#: g10/mainproc.c:1902
 #, c-format
 msgid "%s signature, digest algorithm %s\n"
 msgstr "%s Unterschrift, Hashmethode \"%s\"\n"
 
-#: g10/mainproc.c:1853
+#: g10/mainproc.c:1903
 msgid "binary"
 msgstr "Binäre"
 
-#: g10/mainproc.c:1854
+#: g10/mainproc.c:1904
 msgid "textmode"
 msgstr "Textmodus"
 
-#: g10/mainproc.c:1854 g10/trustdb.c:531
+#: g10/mainproc.c:1904 g10/trustdb.c:531
 msgid "unknown"
 msgstr "unbekannt"
 
-#: g10/mainproc.c:1874
+#: g10/mainproc.c:1924
 #, c-format
 msgid "Can't check signature: %s\n"
 msgstr "Unterschrift kann nicht geprüft werden: %s\n"
 
-#: g10/mainproc.c:1946 g10/mainproc.c:1962 g10/mainproc.c:2052
+#: g10/mainproc.c:2008 g10/mainproc.c:2024 g10/mainproc.c:2120
 msgid "not a detached signature\n"
 msgstr "keine abgetrennte Unterschrift\n"
 
-#: g10/mainproc.c:1989
+#: g10/mainproc.c:2051
 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:1997
+#: g10/mainproc.c:2059
 #, c-format
 msgid "standalone signature of class 0x%02x\n"
 msgstr "Einzelne Unterschrift der Klasse 0x%02x\n"
 
-#: g10/mainproc.c:2056
+#: g10/mainproc.c:2124
 msgid "old style (PGP 2.x) signature\n"
 msgstr "Unterschrift nach alter (PGP 2.x) Art\n"
 
-#: g10/mainproc.c:2066
+#: g10/mainproc.c:2134
 msgid "invalid root packet detected in proc_tree()\n"
 msgstr "ungültiges root-Paket in proc_tree() entdeckt\n"
 
@@ -5227,7 +5278,7 @@ msgstr ""
 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:310 g10/passphrase.c:585
+#: g10/passphrase.c:310 g10/passphrase.c:589
 #, c-format
 msgid " (main key ID %s)"
 msgstr " (Hauptschlüssel-ID %s)"
@@ -5260,7 +5311,7 @@ msgstr "Abbruch durch Benutzer\n"
 msgid "problem with the agent: %s\n"
 msgstr "Problem mit dem Agenten: %s\n"
 
-#: g10/passphrase.c:564
+#: g10/passphrase.c:568
 #, c-format
 msgid ""
 "You need a passphrase to unlock the secret key for\n"
@@ -5269,12 +5320,12 @@ msgstr ""
 "Sie benötigen eine Passphrase, um den geheimen Schlüssel zu entsperren.\n"
 "Benutzer: \"%s\"\n"
 
-#: g10/passphrase.c:572
+#: g10/passphrase.c:576
 #, c-format
 msgid "%u-bit %s key, ID %s, created %s"
 msgstr "%u-Bit %s Schlüssel, ID %s, erzeugt %s"
 
-#: g10/passphrase.c:581
+#: g10/passphrase.c:585
 #, c-format
 msgid "         (subkey on main key ID %s)"
 msgstr "         (Unterschlüssel aus Hauptschlüssel-ID %s)"
@@ -5326,23 +5377,23 @@ msgstr "Ist dieses Bild richtig? (j/N) "
 msgid "unable to display photo ID!\n"
 msgstr "Die Foto-ID kann nicht angezeigt werden!\n"
 
-#: g10/pkclist.c:62 g10/revoke.c:623
+#: g10/pkclist.c:62 g10/revoke.c:625
 msgid "No reason specified"
 msgstr "Kein Grund angegeben"
 
-#: g10/pkclist.c:64 g10/revoke.c:625
+#: g10/pkclist.c:64 g10/revoke.c:627
 msgid "Key is superseded"
 msgstr "Schlüssel ist überholt"
 
-#: g10/pkclist.c:66 g10/revoke.c:624
+#: g10/pkclist.c:66 g10/revoke.c:626
 msgid "Key has been compromised"
 msgstr "Hinweis: Dieser Schlüssel ist nicht mehr sicher"
 
-#: g10/pkclist.c:68 g10/revoke.c:626
+#: g10/pkclist.c:68 g10/revoke.c:628
 msgid "Key is no longer used"
 msgstr "Schlüssel wird nicht mehr benutzt"
 
-#: g10/pkclist.c:70 g10/revoke.c:627
+#: g10/pkclist.c:70 g10/revoke.c:629
 msgid "User ID is no longer valid"
 msgstr "User-ID ist nicht mehr gültig"
 
@@ -5408,7 +5459,7 @@ msgid ""
 "\n"
 msgstr "Die minimale Trust-Ebene für diesen Schlüssel beträgt: %s\n"
 
-#: g10/pkclist.c:299 g10/revoke.c:652
+#: g10/pkclist.c:299 g10/revoke.c:654
 msgid "Your decision? "
 msgstr "Ihre Auswahl? "
 
@@ -5617,27 +5668,32 @@ msgid "data not saved; use option \"--output\" to save it\n"
 msgstr ""
 "Daten wurden nicht gespeichert; verwenden Sie dafür die Option \"--output\"\n"
 
-#: g10/plaintext.c:461
+#: g10/plaintext.c:462
 msgid "Detached signature.\n"
 msgstr "Abgetrennte Beglaubigungen.\n"
 
-#: g10/plaintext.c:467
+#: g10/plaintext.c:469
 msgid "Please enter name of data file: "
 msgstr "Bitte geben Sie den Namen der Datendatei ein: "
 
-#: g10/plaintext.c:499
+#: g10/plaintext.c:501
 msgid "reading stdin ...\n"
 msgstr "lese stdin ...\n"
 
-#: g10/plaintext.c:533
+#: g10/plaintext.c:539
 msgid "no signed data\n"
 msgstr "keine unterschriebene Daten\n"
 
-#: g10/plaintext.c:548
+#: g10/plaintext.c:555
 #, c-format
 msgid "can't open signed data `%s'\n"
 msgstr "kann signierte Datei '%s' nicht öffnen.\n"
 
+#: g10/plaintext.c:589
+#, fuzzy, c-format
+msgid "can't open signed data fd=%d: %s\n"
+msgstr "kann signierte Datei '%s' nicht öffnen.\n"
+
 #: g10/pubkey-enc.c:107
 #, c-format
 msgid "anonymous recipient; trying secret key %s ...\n"
@@ -5673,7 +5729,7 @@ msgid "NOTE: key has been revoked"
 msgstr "Hinweis: Schlüssel wurde widerrufen"
 
 #: g10/revoke.c:104 g10/revoke.c:118 g10/revoke.c:130 g10/revoke.c:176
-#: g10/revoke.c:188 g10/revoke.c:588
+#: g10/revoke.c:188 g10/revoke.c:589
 #, c-format
 msgid "build_packet failed: %s\n"
 msgstr "\"build_packet\" fehlgeschlagen: %s\n"
@@ -5696,11 +5752,11 @@ msgid "Create a designated revocation certificate for this key? (y/N) "
 msgstr ""
 "Ein vorgesehenes Widerrufszertifikat für diesen Schlüssel erzeugen? (j/N) "
 
-#: g10/revoke.c:329 g10/revoke.c:554
+#: g10/revoke.c:329 g10/revoke.c:555
 msgid "ASCII armored output forced.\n"
 msgstr "Ausgabe mit ASCII Hülle erzwungen\n"
 
-#: g10/revoke.c:344 g10/revoke.c:568
+#: g10/revoke.c:344 g10/revoke.c:569
 #, c-format
 msgid "make_keysig_packet failed: %s\n"
 msgstr "\"make_keysig_packet\" fehlgeschlagen: %s\n"
@@ -5714,34 +5770,34 @@ msgstr "Widerrufzertifikat erzeugt.\n"
 msgid "no revocation keys found for \"%s\"\n"
 msgstr "keine Widerrufsschlüssel für \"%s\" gefunden\n"
 
-#: g10/revoke.c:471
+#: g10/revoke.c:472
 #, c-format
 msgid "secret key \"%s\" not found: %s\n"
 msgstr "Geheimer Schlüssel \"%s\" nicht gefunden: %s\n"
 
-#: g10/revoke.c:500
+#: g10/revoke.c:501
 #, c-format
 msgid "no corresponding public key: %s\n"
 msgstr "kein zugehöriger öffentlicher Schlüssel: %s\n"
 
-#: g10/revoke.c:511
+#: g10/revoke.c:512
 msgid "public key does not match secret key!\n"
 msgstr "Öffentliche Schlüssel paßt nicht zum geheimen Schlüssel!\n"
 
-#: g10/revoke.c:518
+#: g10/revoke.c:519
 msgid "Create a revocation certificate for this key? (y/N) "
 msgstr "Ein Widerrufszertifikat für diesen Schlüssel erzeugen? (j/N) "
 
-#: g10/revoke.c:535
+#: g10/revoke.c:536
 msgid "unknown protection algorithm\n"
 msgstr "Unbekanntes Schutzverfahren\n"
 
-#: g10/revoke.c:543
+#: g10/revoke.c:544
 msgid "NOTE: This key is not protected!\n"
 msgstr "Dieser Schlüssel ist nicht geschützt.\n"
 
 # translated by wk
-#: g10/revoke.c:594
+#: g10/revoke.c:595
 msgid ""
 "Revocation certificate created.\n"
 "\n"
@@ -5761,34 +5817,34 @@ msgstr ""
 "Drucksystem kann unter Umständen eine Kopie anderen Nutzern zugänglich\n"
 "machen.\n"
 
-#: g10/revoke.c:635
+#: g10/revoke.c:637
 msgid "Please select the reason for the revocation:\n"
 msgstr "Grund für den Widerruf:\n"
 
-#: g10/revoke.c:645
+#: g10/revoke.c:647
 msgid "Cancel"
 msgstr "Abbruch"
 
-#: g10/revoke.c:647
+#: g10/revoke.c:649
 #, c-format
 msgid "(Probably you want to select %d here)\n"
 msgstr "(Wahrscheinlich möchten Sie hier %d auswählen)\n"
 
-#: g10/revoke.c:688
+#: g10/revoke.c:690
 msgid "Enter an optional description; end it with an empty line:\n"
 msgstr ""
 "Geben Sie eine optionale Beschreibung ein. Beenden mit einer leeren Zeile:\n"
 
-#: g10/revoke.c:716
+#: g10/revoke.c:718
 #, c-format
 msgid "Reason for revocation: %s\n"
 msgstr "Grund für Widerruf: %s\n"
 
-#: g10/revoke.c:718
+#: g10/revoke.c:720
 msgid "(No description given)\n"
 msgstr "(Keine Beschreibung angegeben)\n"
 
-#: g10/revoke.c:723
+#: g10/revoke.c:725
 msgid "Is this okay? (y/N) "
 msgstr "Ist das OK? (j/N) "
 
@@ -5979,13 +6035,13 @@ msgstr "Prüfung der erstellten Unterschrift ist fehlgeschlagen: %s\n"
 msgid "%s/%s signature from: \"%s\"\n"
 msgstr "%s/%s Unterschrift von: \"%s\"\n"
 
-#: g10/sign.c:790
+#: g10/sign.c:791
 msgid "you can only detach-sign with PGP 2.x style keys while in --pgp2 mode\n"
 msgstr ""
 "Im --pgp2-Modus kann nur mit PGP-2.x-artigen Schlüsseln eine abgetrennte "
 "Unterschrift erzeugt werden\n"
 
-#: g10/sign.c:866
+#: g10/sign.c:867
 #, c-format
 msgid ""
 "WARNING: forcing digest algorithm %s (%d) violates recipient preferences\n"
@@ -5993,17 +6049,17 @@ msgstr ""
 "WARNUNG: Erzwingen des Hashverfahrens %s (%d) verstößt gegen die "
 "Empfängervoreinstellungen\n"
 
-#: g10/sign.c:993
+#: g10/sign.c:994
 msgid "signing:"
 msgstr "unterschreibe:"
 
-#: g10/sign.c:1105
+#: g10/sign.c:1109
 msgid "you can only clearsign with PGP 2.x style keys while in --pgp2 mode\n"
 msgstr ""
 "Im --pgp2-Modus können Sie Klartextunterschriften nur mit PGP-2.x-artigen "
 "Schlüssel machen\n"
 
-#: g10/sign.c:1285
+#: g10/sign.c:1293
 #, c-format
 msgid "%s encryption will be used\n"
 msgstr "%s Verschlüsselung wird verwendet\n"
@@ -6393,7 +6449,7 @@ msgstr ""
 "\"Trust-DB\"-Versions-Satz kann nicht geändert werden: Schreiben "
 "fehlgeschlagen: %s\n"
 
-#: g10/verify.c:118
+#: g10/verify.c:119
 msgid ""
 "the signature could not be verified.\n"
 "Please remember that the signature file (.sig or .asc)\n"
@@ -6403,11 +6459,16 @@ msgstr ""
 "Denken Sie daran, daß die Datei mit der Unterschrift (.sig oder .asc)\n"
 "als erster in der Kommandozeile stehen sollte.\n"
 
-#: g10/verify.c:195
+#: g10/verify.c:204
 #, c-format
 msgid "input line %u too long or missing LF\n"
 msgstr "Eingabezeile %u ist zu lang oder es fehlt ein LF\n"
 
+#: g10/verify.c:249
+#, fuzzy, c-format
+msgid "can't open fd %d: %s\n"
+msgstr "'%s' kann nicht geöffnet werden: %s\n"
+
 #: jnlib/logging.c:626
 #, c-format
 msgid "you found a bug ... (%s:%d)\n"
@@ -6471,52 +6532,61 @@ msgstr "Das Erzeugungsdatum konnte nicht gespeichert werden: %s\n"
 msgid "reading public key failed: %s\n"
 msgstr "Lesen des öffentlichen Schlüssels fehlgeschlagen: %s\n"
 
-#: scd/app-openpgp.c:1017 scd/app-openpgp.c:1978
+#: scd/app-openpgp.c:1017 scd/app-openpgp.c:2048
 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:1025 scd/app-openpgp.c:1986
+#: scd/app-openpgp.c:1025 scd/app-openpgp.c:2056
 msgid "response does not contain the RSA modulus\n"
 msgstr "Die Antwort enthält das RSA-Modulus nicht\n"
 
-#: scd/app-openpgp.c:1034 scd/app-openpgp.c:1996
+#: scd/app-openpgp.c:1034 scd/app-openpgp.c:2066
 msgid "response does not contain the RSA public exponent\n"
 msgstr "Antwort enthält den öffentlichen RSA-Exponenten nicht\n"
 
-#: scd/app-openpgp.c:1306
+#: scd/app-openpgp.c:1316
+#, fuzzy, c-format
+msgid "||Please enter your PIN at the reader's keypad%%0A[sigs done: %lu]"
+msgstr "||Bitte die PIN auf der Tastatur des Kartenleser eingeben"
+
+#: scd/app-openpgp.c:1330
 msgid "||Please enter your PIN at the reader's keypad"
 msgstr "||Bitte die PIN auf der Tastatur des Kartenleser eingeben"
 
-#: scd/app-openpgp.c:1310 scd/app-openpgp.c:1324 scd/app-openpgp.c:1415
-#: scd/app-openpgp.c:2247
+#: scd/app-openpgp.c:1334 scd/app-openpgp.c:1366 scd/app-openpgp.c:1485
 #, c-format
 msgid "PIN callback returned error: %s\n"
 msgstr "PIN-Callback meldete Fehler: %s\n"
 
-#: scd/app-openpgp.c:1331 scd/app-openpgp.c:1421 scd/app-openpgp.c:2253
+#: scd/app-openpgp.c:1350
+#, c-format
+msgid "||Please enter the PIN%%0A[sigs done: %lu]"
+msgstr "||Bitte die PIN eingeben%%0A[Sigs erzeugt: %lu]"
+
+#: scd/app-openpgp.c:1373 scd/app-openpgp.c:1491
 #, 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:1342 scd/app-openpgp.c:1356 scd/app-openpgp.c:1431
-#: scd/app-openpgp.c:2262 scd/app-openpgp.c:2276
+#: scd/app-openpgp.c:1386 scd/app-openpgp.c:1426 scd/app-openpgp.c:1501
+#: scd/app-openpgp.c:2319
 #, c-format
 msgid "verify CHV%d failed: %s\n"
 msgstr "Prüfung des CHV%d fehlgeschlagen: %s\n"
 
-#: scd/app-openpgp.c:1379
+#: scd/app-openpgp.c:1449
 msgid "access to admin commands is not configured\n"
 msgstr "Zugriff auf Admin-Befehle ist nicht eingerichtet\n"
 
-#: scd/app-openpgp.c:1394 scd/app-openpgp.c:2486
+#: scd/app-openpgp.c:1464 scd/app-openpgp.c:2529
 msgid "error retrieving CHV status from card\n"
 msgstr "Fehler beim Holen des CHV-Status' von der Karte\n"
 
-#: scd/app-openpgp.c:1400 scd/app-openpgp.c:2495
+#: scd/app-openpgp.c:1470 scd/app-openpgp.c:2538
 msgid "card is permanently locked!\n"
 msgstr "Karte ist dauerhaft gesperrt!\n"
 
-#: scd/app-openpgp.c:1405
+#: scd/app-openpgp.c:1475
 #, c-format
 msgid "%d Admin PIN attempts remaining before card is permanently locked\n"
 msgstr "Noch %d Admin-PIN-Versuche, bis die Karte dauerhaft geperrt ist\n"
@@ -6524,110 +6594,109 @@ msgstr "Noch %d Admin-PIN-Versuche, bis die Karte dauerhaft geperrt ist\n"
 #. TRANSLATORS: Do not translate the "|A|" prefix but
 #. keep it at the start of the string.  We need this elsewhere
 #. to get some infos on the string.
-#: scd/app-openpgp.c:1412
+#: scd/app-openpgp.c:1482
 msgid "|A|Admin PIN"
 msgstr "|A|Admin-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-openpgp.c:1561
+#: scd/app-openpgp.c:1631
 msgid "|AN|New Admin PIN"
 msgstr "|AN|Neue Admin-PIN"
 
-#: scd/app-openpgp.c:1561
+#: scd/app-openpgp.c:1631
 msgid "|N|New PIN"
 msgstr "|N|Neue PIN"
 
-#: scd/app-openpgp.c:1565
+#: scd/app-openpgp.c:1635
 #, c-format
 msgid "error getting new PIN: %s\n"
 msgstr "Fehler beim Abfragen einer neuen PIN: %s\n"
 
-#: scd/app-openpgp.c:1615 scd/app-openpgp.c:2064
+#: scd/app-openpgp.c:1685 scd/app-openpgp.c:2134
 msgid "error reading application data\n"
 msgstr "Fehler beim Lesen der Anwendungsdaten\n"
 
-#: scd/app-openpgp.c:1621 scd/app-openpgp.c:2071
+#: scd/app-openpgp.c:1691 scd/app-openpgp.c:2141
 msgid "error reading fingerprint DO\n"
 msgstr "Fehler beim Lesen des Fingerabdrucks DO\n"
 
-#: scd/app-openpgp.c:1631
+#: scd/app-openpgp.c:1701
 msgid "key already exists\n"
 msgstr "Schlüssel existiert bereits\n"
 
-#: scd/app-openpgp.c:1635
+#: scd/app-openpgp.c:1705
 msgid "existing key will be replaced\n"
 msgstr "Existierender Schlüssel wird ersetzt werden\n"
 
-#: scd/app-openpgp.c:1637
+#: scd/app-openpgp.c:1707
 msgid "generating new key\n"
 msgstr "neue Schlüssel werden erzeugt\n"
 
-#: scd/app-openpgp.c:1804
+#: scd/app-openpgp.c:1874
 msgid "creation timestamp missing\n"
 msgstr "Erzeugungsdatum fehlt\n"
 
-#: scd/app-openpgp.c:1811
+#: scd/app-openpgp.c:1881
 #, 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-openpgp.c:1818
+#: scd/app-openpgp.c:1888
 #, 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-openpgp.c:1826 scd/app-openpgp.c:1833
+#: scd/app-openpgp.c:1896 scd/app-openpgp.c:1903
 #, 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:1896
+#: scd/app-openpgp.c:1966
 #, c-format
 msgid "failed to store the key: %s\n"
 msgstr "Speichern des Schlüssels fehlgeschlagen: %s\n"
 
-#: scd/app-openpgp.c:1955
+#: scd/app-openpgp.c:2025
 msgid "please wait while key is being generated ...\n"
 msgstr "Bitte warten, der Schlüssel wird erzeugt ...\n"
 
-#: scd/app-openpgp.c:1969
+#: scd/app-openpgp.c:2039
 msgid "generating key failed\n"
 msgstr "Schlüsselerzeugung fehlgeschlagen\n"
 
-#: scd/app-openpgp.c:1972
+#: scd/app-openpgp.c:2042
 #, c-format
 msgid "key generation completed (%d seconds)\n"
 msgstr "Schlüsselerzeugung abgeschlossen (%d Sekunden)\n"
 
-#: scd/app-openpgp.c:2029
+#: scd/app-openpgp.c:2099
 msgid "invalid structure of OpenPGP card (DO 0x93)\n"
 msgstr "Ungültige Struktur der OpenPGP-Karte (DO 0x93)}\n"
 
-#: scd/app-openpgp.c:2166
+#: scd/app-openpgp.c:2149
+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:2237
 #, 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:2227
+#: scd/app-openpgp.c:2298
 #, c-format
 msgid "signatures created so far: %lu\n"
 msgstr "Anzahl bereits erzeugter Signaturen: %lu\n"
 
-#: scd/app-openpgp.c:2235
-#, c-format
-msgid "||Please enter the PIN%%0A[sigs done: %lu]"
-msgstr "||Bitte die PIN eingeben%%0A[Sigs erzeugt: %lu]"
-
-#: scd/app-openpgp.c:2500
+#: scd/app-openpgp.c:2543
 msgid ""
 "verification of Admin PIN is currently prohibited through this command\n"
 msgstr ""
 "Die Überprüfung der Admin PIN is momentan durch einen Befehl verboten "
 "worden\n"
 
-#: scd/app-openpgp.c:2573 scd/app-openpgp.c:2583
+#: scd/app-openpgp.c:2616 scd/app-openpgp.c:2626
 #, c-format
 msgid "can't access %s - invalid OpenPGP card?\n"
 msgstr "Kann auf %s nicht zugreifen - ungültige OpenPGP-Karte?\n"
@@ -6692,7 +6761,7 @@ msgstr "Handhabungsroutine für fd %d gestartet\n"
 msgid "handler for fd %d terminated\n"
 msgstr "Handhabungsroutine für den fd %d beendet\n"
 
-#: sm/base64.c:318
+#: sm/base64.c:323
 #, c-format
 msgid "invalid radix64 character %02x skipped\n"
 msgstr "Ungültiges Basis-64 Zeichen %02X wurde übersprungen\n"
@@ -6717,136 +6786,136 @@ msgstr ""
 "Verbindung zum Dirmngr kann nicht aufgebaut werden - Ersatzmethode wird "
 "versucht\n"
 
-#: sm/certchain.c:159
+#: sm/certchain.c:165
 #, c-format
 msgid "critical certificate extension %s is not supported"
 msgstr "Die kritische Zertifikaterweiterung %s wird nicht unterstützt"
 
-#: sm/certchain.c:197
+#: sm/certchain.c:203
 msgid "issuer certificate is not marked as a CA"
 msgstr "Das Herausgeberzertifikat ist nicht für eine CA gekennzeichnet"
 
-#: sm/certchain.c:236
+#: sm/certchain.c:242
 msgid "critical marked policy without configured policies"
 msgstr "entscheidende Richtlinie ohne konfigurierte Richtlinien"
 
-#: sm/certchain.c:246
+#: sm/certchain.c:252
 #, c-format
 msgid "failed to open `%s': %s\n"
 msgstr "Datei `%s' kann nicht geöffnet werden: %s\n"
 
-#: sm/certchain.c:253 sm/certchain.c:282
+#: sm/certchain.c:259 sm/certchain.c:288
 msgid "note: non-critical certificate policy not allowed"
 msgstr "Notiz: Die unkritische Zertifikatrichtlinie ist nicht erlaubt"
 
-#: sm/certchain.c:257 sm/certchain.c:286
+#: sm/certchain.c:263 sm/certchain.c:292
 msgid "certificate policy not allowed"
 msgstr "Die Zertifikatrichtlinie ist nicht erlaubt"
 
-#: sm/certchain.c:397
+#: sm/certchain.c:403
 msgid "looking up issuer at external location\n"
 msgstr "Der Herausgeber wird von einer externen Stelle gesucht\n"
 
-#: sm/certchain.c:417
+#: sm/certchain.c:423
 #, c-format
 msgid "number of issuers matching: %d\n"
 msgstr "Anzahl der übereinstimmenden Heruasgeber: %d\n"
 
-#: sm/certchain.c:570 sm/certchain.c:734 sm/certchain.c:1260 sm/decrypt.c:261
-#: sm/encrypt.c:342 sm/sign.c:328 sm/verify.c:107
+#: sm/certchain.c:576 sm/certchain.c:740 sm/certchain.c:1266 sm/decrypt.c:261
+#: sm/encrypt.c:343 sm/sign.c:328 sm/verify.c:107
 msgid "failed to allocated keyDB handle\n"
 msgstr "Ein keyDB Handle konnte nicht bereitgestellt werden\n"
 
-#: sm/certchain.c:661
+#: sm/certchain.c:667
 msgid "certificate has been revoked"
 msgstr "Das Zertifikat wurde widerrufen"
 
-#: sm/certchain.c:670
+#: sm/certchain.c:676
 msgid "no CRL found for certificate"
 msgstr "Keine CRL für das Zertifikat gefunden"
 
-#: sm/certchain.c:674
+#: sm/certchain.c:680
 msgid "the available CRL is too old"
 msgstr "Die vorhandene CRL ist zu alt"
 
-#: sm/certchain.c:676
+#: sm/certchain.c:682
 msgid "please make sure that the \"dirmngr\" is properly installed\n"
 msgstr ""
 "Bitte vergewissern Sie sich das der \"dirmngr\" richtig installierrt ist\n"
 
-#: sm/certchain.c:681
+#: sm/certchain.c:687
 #, c-format
 msgid "checking the CRL failed: %s"
 msgstr "Die CRL konnte nicht geprüft werden: %s"
 
-#: sm/certchain.c:759
+#: sm/certchain.c:765
 msgid "no issuer found in certificate"
 msgstr "Im Zertifikat ist kein Herausgeber enthalten"
 
-#: sm/certchain.c:786
+#: sm/certchain.c:792
 #, c-format
 msgid "certificate with invalid validity: %s"
 msgstr "Zertifikat mit unzulässiger Gültigkeit: %s"
 
-#: sm/certchain.c:802
+#: sm/certchain.c:808
 msgid "certificate not yet valid"
 msgstr "Das Zertifikat ist noch nicht gültig"
 
-#: sm/certchain.c:815
+#: sm/certchain.c:821
 msgid "certificate has expired"
 msgstr "Das Zertifikat ist abgelaufen"
 
-#: sm/certchain.c:858
+#: sm/certchain.c:864
 msgid "self-signed certificate has a BAD signature"
 msgstr "Das eigenbeglaubigte Zertifikat hat eine FALSCHE Signatur"
 
-#: sm/certchain.c:926
+#: sm/certchain.c:932
 msgid "root certificate is not marked trusted"
 msgstr "Das Wurzelzertifikat ist nicht als vertrauenswürdig markiert"
 
-#: sm/certchain.c:941
+#: sm/certchain.c:947
 #, c-format
 msgid "fingerprint=%s\n"
 msgstr "Fingerprint=%s\n"
 
-#: sm/certchain.c:949
+#: sm/certchain.c:955
 msgid "root certificate has now been marked as trusted\n"
 msgstr "Das Wurzelzertifikat wurde nun als vertrauenswürdig markiert\n"
 
-#: sm/certchain.c:964
+#: sm/certchain.c:970
 msgid "interactive marking as trusted not enabled in gpg-agent\n"
 msgstr ""
 "Interaktives vertrauenswürdig-Markieren ist in gpg-agent ausgeschaltet\n"
 
-#: sm/certchain.c:970
+#: sm/certchain.c:976
 msgid "interactive marking as trusted disabled for this session\n"
 msgstr ""
 "Interaktives vertrauenswürdig-Markieren ist in dieser Sitzung ausgeschaltet\n"
 
-#: sm/certchain.c:980
+#: sm/certchain.c:986
 #, c-format
 msgid "checking the trust list failed: %s\n"
 msgstr "Fehler beim Prüfen der vertrauenswürdigen Zertifikate: %s\n"
 
-#: sm/certchain.c:1007 sm/import.c:158
+#: sm/certchain.c:1013 sm/import.c:158
 msgid "certificate chain too long\n"
 msgstr "Der Zertifikatkette ist zu lang\n"
 
-#: sm/certchain.c:1019
+#: sm/certchain.c:1025
 msgid "issuer certificate not found"
 msgstr "Herausgeberzertifikat nicht gefunden"
 
-#: sm/certchain.c:1052
+#: sm/certchain.c:1058
 msgid "certificate has a BAD signature"
 msgstr "Das Zertifikat hat eine FALSCHE Signatur"
 
-#: sm/certchain.c:1082
+#: sm/certchain.c:1088
 msgid "found another possible matching CA certificate - trying again"
 msgstr ""
 "Eine anderes möglicherweise passendes CA-Zertifikat gefunden - versuche "
 "nochmal"
 
-#: sm/certchain.c:1133
+#: sm/certchain.c:1139
 #, c-format
 msgid "certificate chain longer than allowed by CA (%d)"
 msgstr "Die Zertifikatkette ist länger als von der CA erlaubt (%d)"
@@ -7010,7 +7079,7 @@ 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:333
+#: sm/encrypt.c:334
 msgid "no valid recipients given\n"
 msgstr "Keine gültigen Empfänger angegeben\n"
 
@@ -7056,10 +7125,6 @@ msgstr "Zertifikate exportieren"
 msgid "register a smartcard"
 msgstr "Smartcard registrieren"
 
-#: sm/gpgsm.c:263
-msgid "run in server mode"
-msgstr "Im Server Modus ausführen"
-
 #: sm/gpgsm.c:264
 msgid "pass a command to the dirmngr"
 msgstr "Das Kommand an den Dirmngr durchreichen"
@@ -7212,26 +7277,26 @@ msgstr "Aufruf: gpgsm [Optionen] "
 msgid "can't encrypt to `%s': %s\n"
 msgstr "Verschlüsseln für `%s' nicht möglich: %s\n"
 
-#: sm/gpgsm.c:772
+#: sm/gpgsm.c:773
 #, c-format
 msgid "libksba is too old (need %s, have %s)\n"
 msgstr "Die Bibliothek Libksba is nicht aktuell (benötige %s, habe %s)\n"
 
-#: sm/gpgsm.c:1248
+#: sm/gpgsm.c:1249
 msgid "WARNING: running with faked system time: "
 msgstr "WARNUNG: Ausführung mit gefälschter Systemzeit: "
 
-#: sm/gpgsm.c:1327
+#: sm/gpgsm.c:1328
 #, c-format
 msgid "importing common certificates `%s'\n"
 msgstr "Importiere allgemeine Zertifikate: %s\n"
 
-#: sm/gpgsm.c:1345
+#: sm/gpgsm.c:1346
 #, c-format
 msgid "can't sign using `%s': %s\n"
 msgstr "Signieren mit `%s' nicht möglich: %s\n"
 
-#: sm/gpgsm.c:1535
+#: sm/gpgsm.c:1536
 msgid "this command has not yet been implemented\n"
 msgstr "Dieser Befehl wurde noch nicht implementiert\n"
 
index 395b462..acb3e2d 100644 (file)
@@ -491,7 +491,7 @@ pincb (void *arg, const char *prompt, char **pinvalue)
 
 /*    pin = simple_pwquery (NULL, NULL, prompt, */
 /*                          "We need the admin's PIN to store the key on the card", */
-/*                          NULL); */
+/*                          0, NULL); */
 /*    if (!pin) */
 /*      return gpg_error (GPG_ERR_CANCELED); */
 
index 31fed95..bc51584 100644 (file)
@@ -449,7 +449,7 @@ main (int argc, char **argv)
 "    entire line to it as arguments.\n"
 "/showdef               Print all definitions.\n"
 "/cleardef              Delete all definitions.\n"
-"/sendfd FILE MODE      Open FILE and pass descripor to server.\n"
+"/sendfd FILE MODE      Open FILE and pass descriptor to server.\n"
 "/recvfd                Receive FD from server and print. \n"
                     "/help                  Print this help.");
             }
index 68302d3..30fe8a9 100644 (file)
@@ -485,7 +485,7 @@ confucius_get_pass (const char *cacheid, int again, int *canceled)
 
   pw = simple_pwquery (cacheid,
                        again ? _("does not match - try again"):NULL,
-                       _("Passphrase:"), NULL, &err);
+                       _("Passphrase:"), NULL, 0, &err);
 
 #ifdef ENABLE_NLS
   if (orig_codeset)