aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWerner Koch <[email protected]>2018-04-10 08:14:30 +0000
committerWerner Koch <[email protected]>2018-04-10 08:14:30 +0000
commit36373798c0955241288fb4aec103830106dd7e1f (patch)
treefe0ed178d1aeda3847c9c8133a2ed8488a84644a
parentMerge branch 'STABLE-BRANCH-2-2' into master (diff)
parentagent: Improve the unknown ssh flag detection. (diff)
downloadgnupg-36373798c0955241288fb4aec103830106dd7e1f.tar.gz
gnupg-36373798c0955241288fb4aec103830106dd7e1f.zip
Merge branch 'STABLE-BRANCH-2-2' into master
-- Fixed conflicts: NEWS - keep master configure.ac - merge g10/card-util.c - mostly 2.2 g10/sig-check.c - 2.2
-rw-r--r--agent/call-scd.c4
-rw-r--r--agent/command-ssh.c46
-rw-r--r--common/homedir.c95
-rw-r--r--configure.ac1
-rw-r--r--doc/examples/vsnfd.prf6
-rw-r--r--doc/gpg.texi22
-rw-r--r--g10/call-agent.h15
-rw-r--r--g10/card-util.c370
-rw-r--r--g10/cpr.c6
-rw-r--r--g10/getkey.c2
-rw-r--r--g10/gpg.c56
-rw-r--r--g10/keydb.h5
-rw-r--r--g10/keyedit.c8
-rw-r--r--g10/keygen.c53
-rw-r--r--g10/main.h1
-rw-r--r--g10/sig-check.c690
-rw-r--r--po/ca.po124
-rw-r--r--po/cs.po135
-rw-r--r--po/da.po137
-rw-r--r--po/de.po123
-rw-r--r--po/el.po124
-rw-r--r--po/eo.po124
-rw-r--r--po/es.po139
-rw-r--r--po/et.po124
-rw-r--r--po/fi.po124
-rw-r--r--po/fr.po145
-rw-r--r--po/gl.po124
-rw-r--r--po/hu.po124
-rw-r--r--po/id.po124
-rw-r--r--po/it.po124
-rw-r--r--po/ja.po125
-rw-r--r--po/nb.po135
-rw-r--r--po/pl.po137
-rw-r--r--po/pt.po124
-rw-r--r--po/ro.po134
-rw-r--r--po/ru.po131
-rw-r--r--po/sk.po124
-rw-r--r--po/sv.po143
-rw-r--r--po/tr.po134
-rw-r--r--po/uk.po135
-rw-r--r--po/zh_CN.po132
-rw-r--r--po/zh_TW.po139
-rw-r--r--scd/app-openpgp.c61
-rw-r--r--scd/command.c16
-rw-r--r--sm/gpgsm.c14
-rw-r--r--tests/gpgscm/gnupg.scm13
-rw-r--r--tests/gpgsm/export.scm2
-rw-r--r--tests/gpgsm/gpgsm-defs.scm6
-rw-r--r--tests/migrations/common.scm2
-rwxr-xr-xtests/openpgp/decrypt-session-key.scm2
-rwxr-xr-xtests/openpgp/decrypt-unwrap-verify.scm2
-rw-r--r--tests/openpgp/defs.scm14
52 files changed, 3335 insertions, 1565 deletions
diff --git a/agent/call-scd.c b/agent/call-scd.c
index 6ce0cddfb..51d9abd70 100644
--- a/agent/call-scd.c
+++ b/agent/call-scd.c
@@ -403,8 +403,8 @@ start_scd (ctrl_t ctrl)
char buf[100];
#ifdef HAVE_W32_SYSTEM
- snprintf (buf, sizeof buf, "OPTION event-signal=%lx",
- (unsigned long)get_agent_scd_notify_event ());
+ snprintf (buf, sizeof buf, "OPTION event-signal=%p",
+ get_agent_scd_notify_event ());
#else
snprintf (buf, sizeof buf, "OPTION event-signal=%d", SIGUSR2);
#endif
diff --git a/agent/command-ssh.c b/agent/command-ssh.c
index 38934f450..df63ed713 100644
--- a/agent/command-ssh.c
+++ b/agent/command-ssh.c
@@ -27,8 +27,10 @@
RFC-4253 - Transport Layer Protocol
RFC-5656 - ECC support
- The protocol for the agent is defined in OpenSSH's PROTOCL.agent
- file.
+ The protocol for the agent is defined in:
+
+ https://tools.ietf.org/html/draft-miller-ssh-agent
+
*/
#include <config.h>
@@ -83,6 +85,8 @@
/* Other constants. */
#define SSH_DSA_SIGNATURE_PADDING 20
#define SSH_DSA_SIGNATURE_ELEMS 2
+#define SSH_AGENT_RSA_SHA2_256 0x02
+#define SSH_AGENT_RSA_SHA2_512 0x04
#define SPEC_FLAG_USE_PKCS1V2 (1 << 0)
#define SPEC_FLAG_IS_ECDSA (1 << 1)
#define SPEC_FLAG_IS_EdDSA (1 << 2) /*(lowercase 'd' on purpose.)*/
@@ -2865,7 +2869,6 @@ ssh_handler_sign_request (ctrl_t ctrl, estream_t request, estream_t response)
unsigned char *sig = NULL;
size_t sig_n;
u32 data_size;
- u32 flags;
gpg_error_t err;
gpg_error_t ret_err;
int hash_algo;
@@ -2885,10 +2888,39 @@ ssh_handler_sign_request (ctrl_t ctrl, estream_t request, estream_t response)
if (err)
goto out;
- /* FIXME? */
- err = stream_read_uint32 (request, &flags);
- if (err)
- goto out;
+ /* Flag processing. */
+ {
+ u32 flags;
+
+ err = stream_read_uint32 (request, &flags);
+ if (err)
+ goto out;
+
+ if (spec.algo == GCRY_PK_RSA)
+ {
+ if ((flags & SSH_AGENT_RSA_SHA2_512))
+ {
+ flags &= ~SSH_AGENT_RSA_SHA2_512;
+ spec.ssh_identifier = "rsa-sha2-512";
+ spec.hash_algo = GCRY_MD_SHA512;
+ }
+ if ((flags & SSH_AGENT_RSA_SHA2_256))
+ {
+ /* Note: We prefer SHA256 over SHA512. */
+ flags &= ~SSH_AGENT_RSA_SHA2_256;
+ spec.ssh_identifier = "rsa-sha2-256";
+ spec.hash_algo = GCRY_MD_SHA256;
+ }
+ }
+
+ /* Some flag is present that we do not know about. Note that
+ * processed or known flags have been cleared at this point. */
+ if (flags)
+ {
+ err = gpg_error (GPG_ERR_UNKNOWN_OPTION);
+ goto out;
+ }
+ }
hash_algo = spec.hash_algo;
if (!hash_algo)
diff --git a/common/homedir.c b/common/homedir.c
index 65cf50fe7..e9e75d01e 100644
--- a/common/homedir.c
+++ b/common/homedir.c
@@ -171,6 +171,62 @@ is_gnupg_default_homedir (const char *dir)
}
+/* Helper to remove trailing slashes from NEWDIR. Return a new
+ * allocated string if that has been done or NULL if there are no
+ * slashes to remove. Also inserts a missing slash after a Windows
+ * drive letter. */
+static char *
+copy_dir_with_fixup (const char *newdir)
+{
+ char *result = NULL;
+ char *p;
+
+ if (!*newdir)
+ return NULL;
+
+#ifdef HAVE_W32_SYSTEM
+ if (newdir[0] && newdir[1] == ':'
+ && !(newdir[2] == '/' || newdir[2] == '\\'))
+ {
+ /* Drive letter with missing leading slash. */
+ p = result = xmalloc (strlen (newdir) + 1 + 1);
+ *p++ = newdir[0];
+ *p++ = newdir[1];
+ *p++ = '\\';
+ strcpy (p, newdir+2);
+
+ /* Remove trailing slashes. */
+ p = result + strlen (result) - 1;
+ while (p > result+2 && (*p == '/' || *p == '\\'))
+ *p-- = 0;
+ }
+ else if (newdir[strlen (newdir)-1] == '/'
+ || newdir[strlen (newdir)-1] == '\\' )
+ {
+ result = xstrdup (newdir);
+ p = result + strlen (result) - 1;
+ while (p > result
+ && (*p == '/' || *p == '\\')
+ && (p-1 > result && p[-1] != ':')) /* We keep "c:/". */
+ *p-- = 0;
+ }
+
+#else /*!HAVE_W32_SYSTEM*/
+
+ if (newdir[strlen (newdir)-1] == '/')
+ {
+ result = xstrdup (newdir);
+ p = result + strlen (result) - 1;
+ while (p > result && *p == '/')
+ *p-- = 0;
+ }
+
+#endif /*!HAVE_W32_SYSTEM*/
+
+ return result;
+}
+
+
/* Get the standard home directory. In general this function should
not be used as it does not consider a registry value (under W32) or
the GNUPGHOME environment variable. It is better to use
@@ -278,18 +334,11 @@ default_homedir (void)
dir = GNUPG_DEFAULT_HOMEDIR;
else
{
- /* Strip trailing slashes if any. */
- if (dir[strlen (dir)-1] == '/')
- {
- char *tmp, *p;
-
- tmp = xstrdup (dir);
- p = tmp + strlen (tmp) - 1;
- while (p > tmp && *p == '/')
- *p-- = 0;
+ char *p;
- dir = tmp;
- }
+ p = copy_dir_with_fixup (dir);
+ if (p)
+ dir = p;
if (!is_gnupg_default_homedir (dir))
non_default_homedir = 1;
@@ -432,28 +481,10 @@ gnupg_set_homedir (const char *newdir)
newdir = default_homedir ();
else
{
- /* Remove trailing slashes from NEWSDIR. */
- if (newdir[strlen (newdir)-1] == '/'
-#ifdef HAVE_W32_SYSTEM
- || newdir[strlen (newdir)-1] == '\\'
-#endif
- )
- {
- char *p;
+ tmp = copy_dir_with_fixup (newdir);
+ if (tmp)
+ newdir = tmp;
- tmp = xstrdup (newdir);
- p = tmp + strlen (tmp) - 1;
- while (p > tmp
- && (*p == '/'
-#ifdef HAVE_W32_SYSTEM
- || *p == '\\'
-#endif
- )
- )
- *p-- = 0;
-
- newdir = tmp;
- }
if (!is_gnupg_default_homedir (newdir))
non_default_homedir = 1;
}
diff --git a/configure.ac b/configure.ac
index 3096aeecb..540dffcd0 100644
--- a/configure.ac
+++ b/configure.ac
@@ -616,6 +616,7 @@ AC_PATH_PROG(PERL,"perl")
AC_CHECK_TOOL(WINDRES, windres, :)
AC_PATH_PROG(YAT2M, "yat2m", "./yat2m" )
AC_ARG_VAR(YAT2M, [tool to convert texi to man pages])
+AM_CONDITIONAL(HAVE_YAT2M, test -n "$ac_cv_path_YAT2M")
AC_ISC_POSIX
AC_SYS_LARGEFILE
GNUPG_CHECK_USTAR
diff --git a/doc/examples/vsnfd.prf b/doc/examples/vsnfd.prf
index 1dc21e0a7..061e06982 100644
--- a/doc/examples/vsnfd.prf
+++ b/doc/examples/vsnfd.prf
@@ -1,12 +1,16 @@
# vsnfd.prf - Configure options for the VS-NfD mode -*- conf -*-
+#
+# The options for each tool are configured in a section ("[TOOL]");
+# see the respective man page for a description of these options and
+# the gpgconf manpage for a description of this file's syntax.
[gpg]
compliance de-vs
default-new-key-algo rsa3072/cert,sign+rsa3072/encr
[gpgsm]
-enable-crl-checks
compliance de-vs
+enable-crl-checks
[gpg-agent]
enable-extended-key-format
diff --git a/doc/gpg.texi b/doc/gpg.texi
index e32974b46..14818b742 100644
--- a/doc/gpg.texi
+++ b/doc/gpg.texi
@@ -306,7 +306,7 @@ List the specified secret keys. If no keys are specified, then all
known secret keys are listed. A @code{#} after the initial tags
@code{sec} or @code{ssb} means that the secret key or subkey is
currently not usable. We also say that this key has been taken
-offline (for example, a primary key can be taken offline by exported
+offline (for example, a primary key can be taken offline by exporting
the key using the command @option{--export-secret-subkeys}). A
@code{>} after these tags indicate that the key is stored on a
smartcard. See also @option{--list-keys}.
@@ -1007,6 +1007,15 @@ signing.
Make the key as small as possible. This removes all signatures from
each user ID except for the most recent self-signature.
+ @item change-usage
+ @opindex keyedit:change-usage
+ Change the usage flags (capabilities) of the primary key or of
+ subkeys. These usage flags (e.g. Certify, Sign, Authenticate,
+ Encrypt) are set during key creation. Sometimes it is useful to
+ have the opportunity to change them (for example to add
+ Authenticate) after they have been created. Please take care when
+ doing this; the allowed usage flags depend on the key algorithm.
+
@item cross-certify
@opindex keyedit:cross-certify
Add cross-certification signatures to signing subkeys that may not
@@ -3377,9 +3386,14 @@ absolute date in the form YYYY-MM-DD. Defaults to "0".
@item --default-new-key-algo @var{string}
@opindex default-new-key-algo @var{string}
This option can be used to change the default algorithms for key
-generation. Note that the advanced key generation commands can always
-be used to specify a key algorithm directly. Please consult the
-source code to learn the syntax of @var{string}.
+generation. The @var{string} is similar to the arguments required for
+the command @option{--quick-add-key} but slighly different. For
+example the current default of @code{"rsa2048/cert,sign+rsa2048/encr"}
+(or @code{"rsa3072"}) can be changed to the value of what we currently
+call future default, which is @code{"ed25519/cert,sign+cv25519/encr"}.
+You need to consult the source code to learn the details. Note that
+the advanced key generation commands can always be used to specify a
+key algorithm directly.
@item --allow-secret-key-import
@opindex allow-secret-key-import
diff --git a/g10/call-agent.h b/g10/call-agent.h
index 8de0d13fd..7314ae87b 100644
--- a/g10/call-agent.h
+++ b/g10/call-agent.h
@@ -19,6 +19,13 @@
#ifndef GNUPG_G10_CALL_AGENT_H
#define GNUPG_G10_CALL_AGENT_H
+struct key_attr {
+ int algo; /* Algorithm identifier. */
+ union {
+ unsigned int nbits; /* Supported keysize. */
+ const char *curve; /* Name of curve. */
+ };
+};
struct agent_card_info_s
{
@@ -57,13 +64,7 @@ struct agent_card_info_s
int is_v2; /* True if this is a v2 card. */
int chvmaxlen[3]; /* Maximum allowed length of a CHV. */
int chvretry[3]; /* Allowed retries for the CHV; 0 = blocked. */
- struct { /* Array with key attributes. */
- int algo; /* Algorithm identifier. */
- union {
- unsigned int nbits; /* Supported keysize. */
- const char *curve; /* Name of curve. */
- };
- } key_attr[3];
+ struct key_attr key_attr[3];
struct {
unsigned int ki:1; /* Key import available. */
unsigned int aac:1; /* Algorithm attributes are changeable. */
diff --git a/g10/card-util.c b/g10/card-util.c
index 9b99751ee..ffb94dae4 100644
--- a/g10/card-util.c
+++ b/g10/card-util.c
@@ -216,6 +216,7 @@ get_manufacturer (unsigned int no)
case 0x1337: return "Warsaw Hackerspace";
case 0x2342: return "warpzone"; /* hackerspace Muenster. */
+ case 0x63AF: return "Trustica";
case 0xBD0E: return "Paranoidlabs";
case 0xF517: return "FSIJ";
@@ -1356,11 +1357,10 @@ show_keysize_warning (void)
/* Ask for the size of a card key. NBITS is the current size
- configured for the card. KEYNO is the number of the key used to
- select the prompt. Returns 0 to use the default size (i.e. NBITS)
- or the selected size. */
+ configured for the card. Returns 0 to use the default size
+ (i.e. NBITS) or the selected size. */
static unsigned int
-ask_card_keyattr (int keyno, unsigned int nbits)
+ask_card_rsa_keysize (unsigned int nbits)
{
unsigned int min_nbits = 1024;
unsigned int max_nbits = 4096;
@@ -1369,93 +1369,236 @@ ask_card_keyattr (int keyno, unsigned int nbits)
for (;;)
{
- prompt = xasprintf
- (keyno == 0?
- _("What keysize do you want for the Signature key? (%u) "):
- keyno == 1?
- _("What keysize do you want for the Encryption key? (%u) "):
- _("What keysize do you want for the Authentication key? (%u) "),
- nbits);
+ prompt = xasprintf (_("What keysize do you want? (%u) "), nbits);
answer = cpr_get ("cardedit.genkeys.size", prompt);
cpr_kill_prompt ();
req_nbits = *answer? atoi (answer): nbits;
xfree (prompt);
xfree (answer);
- if (req_nbits == 25519)
+ if (req_nbits != nbits && (req_nbits % 32) )
{
- if (req_nbits == nbits)
- return 0; /* Use default. */
-
- tty_printf (_("The card will now be re-configured"
- " to generate a key of type: %s\n"),
- keyno==1? "cv25519":"ed25519");
- show_keysize_warning ();
- return req_nbits;
+ req_nbits = ((req_nbits + 31) / 32) * 32;
+ tty_printf (_("rounded up to %u bits\n"), req_nbits);
}
- else
+
+ if (req_nbits == nbits)
+ return 0; /* Use default. */
+
+ if (req_nbits < min_nbits || req_nbits > max_nbits)
{
- if (req_nbits != nbits && (req_nbits % 32) )
- {
- req_nbits = ((req_nbits + 31) / 32) * 32;
- tty_printf (_("rounded up to %u bits\n"), req_nbits);
- }
+ tty_printf (_("%s keysizes must be in the range %u-%u\n"),
+ "RSA", min_nbits, max_nbits);
+ }
+ else
+ return req_nbits;
+ }
+}
- if (req_nbits == nbits)
- return 0; /* Use default. */
+/* Ask for the key attribute of a card key. CURRENT is the current
+ attribute configured for the card. KEYNO is the number of the key
+ used to select the prompt. Returns NULL to use the default
+ attribute or the selected attribute structure. */
+static struct key_attr *
+ask_card_keyattr (int keyno, const struct key_attr *current)
+{
+ struct key_attr *key_attr = NULL;
+ char *answer = NULL;
+ int algo;
+
+ tty_printf (_("Changing card key attribute for: "));
+ if (keyno == 0)
+ tty_printf (_("Signature key\n"));
+ else if (keyno == 1)
+ tty_printf (_("Encryption key\n"));
+ else
+ tty_printf (_("Authentication key\n"));
- if (req_nbits < min_nbits || req_nbits > max_nbits)
+ tty_printf (_("Please select what kind of key you want:\n"));
+ tty_printf (_(" (%d) RSA\n"), 1 );
+ tty_printf (_(" (%d) ECC\n"), 2 );
+
+ for (;;)
+ {
+ xfree (answer);
+ answer = cpr_get ("cardedit.genkeys.algo", _("Your selection? "));
+ cpr_kill_prompt ();
+ algo = *answer? atoi (answer) : 0;
+
+ if (!*answer || algo == 1 || algo == 2)
+ break;
+ else
+ tty_printf (_("Invalid selection.\n"));
+ }
+
+ if (algo == 0)
+ goto leave;
+
+ key_attr = xmalloc (sizeof (struct key_attr));
+
+ if (algo == 1)
+ {
+ unsigned int nbits, result_nbits;
+
+ if (current->algo == PUBKEY_ALGO_RSA)
+ nbits = current->nbits;
+ else
+ nbits = 2048;
+
+ result_nbits = ask_card_rsa_keysize (nbits);
+ if (result_nbits == 0)
+ {
+ if (current->algo == PUBKEY_ALGO_RSA)
{
- tty_printf (_("%s keysizes must be in the range %u-%u\n"),
- "RSA", min_nbits, max_nbits);
+ xfree (key_attr);
+ key_attr = NULL;
}
else
- {
- char name[30];
-
- snprintf (name, sizeof name, "rsa%u", req_nbits);
- tty_printf (_("The card will now be re-configured"
- " to generate a key of type: %s\n"),
- name);
- show_keysize_warning ();
- return req_nbits;
- }
+ result_nbits = nbits;
+ }
+
+ if (key_attr)
+ {
+ key_attr->algo = PUBKEY_ALGO_RSA;
+ key_attr->nbits = result_nbits;
+ }
+ }
+ else
+ {
+ const char *curve;
+ const char *oid_str;
+
+ if (current->algo == PUBKEY_ALGO_RSA)
+ {
+ if (keyno == 1)
+ /* Encryption key */
+ algo = PUBKEY_ALGO_ECDH;
+ else /* Signature key or Authentication key */
+ algo = PUBKEY_ALGO_ECDSA;
+ curve = NULL;
+ }
+ else
+ {
+ algo = current->algo;
+ curve = current->curve;
+ }
+
+ curve = ask_curve (&algo, NULL, curve);
+ if (curve)
+ {
+ key_attr->algo = algo;
+ oid_str = openpgp_curve_to_oid (curve, NULL);
+ key_attr->curve = openpgp_oid_to_curve (oid_str, 0);
+ }
+ else
+ {
+ xfree (key_attr);
+ key_attr = NULL;
}
}
+
+ leave:
+ if (key_attr)
+ {
+ if (key_attr->algo == PUBKEY_ALGO_RSA)
+ tty_printf (_("The card will now be re-configured"
+ " to generate a key of %u bits\n"), key_attr->nbits);
+ else if (key_attr->algo == PUBKEY_ALGO_ECDH
+ || key_attr->algo == PUBKEY_ALGO_ECDSA
+ || key_attr->algo == PUBKEY_ALGO_EDDSA)
+ tty_printf (_("The card will now be re-configured"
+ " to generate a key of type: %s\n"), key_attr->curve),
+
+ show_keysize_warning ();
+ }
+
+ return key_attr;
}
-/* Change the size of key KEYNO (0..2) to NBITS and show an error
- * message if that fails. Using the magic value 25519 for NBITS
- * switches to ed25519 or cv25519 depending on the KEYNO. */
+
+/* Change the key attribute of key KEYNO (0..2) and show an error
+ * message if that fails. */
static gpg_error_t
-do_change_keyattr (int keyno, unsigned int nbits)
+do_change_keyattr (int keyno, const struct key_attr *key_attr)
{
- gpg_error_t err;
+ gpg_error_t err = 0;
char args[100];
- if (nbits == 25519)
+ if (key_attr->algo == PUBKEY_ALGO_RSA)
+ snprintf (args, sizeof args, "--force %d 1 rsa%u", keyno+1,
+ key_attr->nbits);
+ else if (key_attr->algo == PUBKEY_ALGO_ECDH
+ || key_attr->algo == PUBKEY_ALGO_ECDSA
+ || key_attr->algo == PUBKEY_ALGO_EDDSA)
snprintf (args, sizeof args, "--force %d %d %s",
- keyno+1,
- keyno == 1? PUBKEY_ALGO_ECDH : PUBKEY_ALGO_EDDSA,
- keyno == 1? "cv25519" : "ed25519");
+ keyno+1, key_attr->algo, key_attr->curve);
else
- snprintf (args, sizeof args, "--force %d 1 rsa%u", keyno+1, nbits);
+ {
+ log_error (_("public key algorithm %d (%s) is not supported\n"),
+ key_attr->algo, gcry_pk_algo_name (key_attr->algo));
+ return gpg_error (GPG_ERR_PUBKEY_ALGO);
+ }
+
err = agent_scd_setattr ("KEY-ATTR", args, strlen (args), NULL);
if (err)
- log_error (_("error changing size of key %d to %u bits: %s\n"),
- keyno+1, nbits, gpg_strerror (err));
+ log_error (_("error changing key attribute for key %d: %s\n"),
+ keyno+1, gpg_strerror (err));
return err;
}
static void
+key_attr (void)
+{
+ struct agent_card_info_s info;
+ gpg_error_t err;
+ int keyno;
+
+ err = get_info_for_key_operation (&info);
+ if (err)
+ {
+ log_error (_("error getting card info: %s\n"), gpg_strerror (err));
+ return;
+ }
+
+ if (!(info.is_v2 && info.extcap.aac))
+ {
+ log_error (_("This command is not supported by this card\n"));
+ goto leave;
+ }
+
+ for (keyno = 0; keyno < DIM (info.key_attr); keyno++)
+ {
+ struct key_attr *key_attr;
+
+ if ((key_attr = ask_card_keyattr (keyno, &info.key_attr[keyno])))
+ {
+ err = do_change_keyattr (keyno, key_attr);
+ xfree (key_attr);
+ if (err)
+ {
+ /* Error: Better read the default key attribute again. */
+ agent_release_card_info (&info);
+ if (get_info_for_key_operation (&info))
+ goto leave;
+ /* Ask again for this key. */
+ keyno--;
+ }
+ }
+ }
+
+ leave:
+ agent_release_card_info (&info);
+}
+
+
+static void
generate_card_keys (ctrl_t ctrl)
{
struct agent_card_info_s info;
int forced_chv1;
int want_backup;
- int keyno;
if (get_info_for_key_operation (&info))
return;
@@ -1503,41 +1646,10 @@ generate_card_keys (ctrl_t ctrl)
tty_printf ("\n");
}
+
if (check_pin_for_key_operation (&info, &forced_chv1))
goto leave;
- /* If the cards features changeable key attributes, we ask for the
- key size. */
- if (info.is_v2 && info.extcap.aac)
- {
- unsigned int nbits;
-
- for (keyno = 0; keyno < DIM (info.key_attr); keyno++)
- {
- if (info.key_attr[keyno].algo == PUBKEY_ALGO_RSA
- || info.key_attr[keyno].algo == PUBKEY_ALGO_ECDH
- || info.key_attr[keyno].algo == PUBKEY_ALGO_EDDSA)
- {
- if (info.key_attr[keyno].algo == PUBKEY_ALGO_RSA)
- nbits = ask_card_keyattr (keyno, info.key_attr[keyno].nbits);
- else
- nbits = ask_card_keyattr (keyno, 25519 /* magic */);
-
- if (nbits && do_change_keyattr (keyno, nbits))
- {
- /* Error: Better read the default key size again. */
- agent_release_card_info (&info);
- if (get_info_for_key_operation (&info))
- goto leave;
- /* Ask again for this key size. */
- keyno--;
- }
- }
- }
- /* Note that INFO has not be synced. However we will only use
- the serialnumber and thus it won't harm. */
- }
-
generate_keypair (ctrl, 1, NULL, info.serialno, want_backup);
leave:
@@ -1596,36 +1708,6 @@ card_generate_subkey (ctrl_t ctrl, kbnode_t pub_keyblock)
if (err)
goto leave;
- /* If the cards features changeable key attributes, we ask for the
- key size. */
- if (info.is_v2 && info.extcap.aac)
- {
- if (info.key_attr[keyno-1].algo == PUBKEY_ALGO_RSA
- || info.key_attr[keyno].algo == PUBKEY_ALGO_ECDH
- || info.key_attr[keyno].algo == PUBKEY_ALGO_EDDSA)
- {
- unsigned int nbits;
-
- ask_again:
- if (info.key_attr[keyno].algo == PUBKEY_ALGO_RSA)
- nbits = ask_card_keyattr (keyno-1, info.key_attr[keyno-1].nbits);
- else
- nbits = ask_card_keyattr (keyno-1, 25519);
-
- if (nbits && do_change_keyattr (keyno-1, nbits))
- {
- /* Error: Better read the default key size again. */
- agent_release_card_info (&info);
- err = get_info_for_key_operation (&info);
- if (err)
- goto leave;
- goto ask_again;
- }
- }
- /* Note that INFO has not be synced. However we will only use
- the serialnumber and thus it won't harm. */
- }
-
err = generate_card_subkeypair (ctrl, pub_keyblock, keyno, info.serialno);
leave:
@@ -1904,11 +1986,12 @@ factory_reset (void)
#define USER_PIN_DEFAULT "123456"
#define ADMIN_PIN_DEFAULT "12345678"
-#define KDF_DATA_LENGTH 110
+#define KDF_DATA_LENGTH_MIN 90
+#define KDF_DATA_LENGTH_MAX 110
/* Generate KDF data. */
static gpg_error_t
-gen_kdf_data (unsigned char *data)
+gen_kdf_data (unsigned char *data, int single_salt)
{
const unsigned char h0[] = { 0x81, 0x01, 0x03,
0x82, 0x01, 0x08,
@@ -1941,14 +2024,21 @@ gen_kdf_data (unsigned char *data)
salt_user = (p += sizeof h1);
gcry_randomize (p, 8, GCRY_STRONG_RANDOM);
p += 8;
- memcpy (p, h2, sizeof h2);
- p += sizeof h2;
- gcry_randomize (p, 8, GCRY_STRONG_RANDOM);
- p += 8;
- memcpy (p, h3, sizeof h3);
- salt_admin = (p += sizeof h3);
- gcry_randomize (p, 8, GCRY_STRONG_RANDOM);
- p += 8;
+
+ if (single_salt)
+ salt_admin = salt_user;
+ else
+ {
+ memcpy (p, h2, sizeof h2);
+ p += sizeof h2;
+ gcry_randomize (p, 8, GCRY_STRONG_RANDOM);
+ p += 8;
+ memcpy (p, h3, sizeof h3);
+ salt_admin = (p += sizeof h3);
+ gcry_randomize (p, 8, GCRY_STRONG_RANDOM);
+ p += 8;
+ }
+
memcpy (p, h4, sizeof h4);
p += sizeof h4;
err = gcry_kdf_derive (USER_PIN_DEFAULT, strlen (USER_PIN_DEFAULT),
@@ -1969,11 +2059,12 @@ gen_kdf_data (unsigned char *data)
/* Setup KDF data object which is used for PIN authentication. */
static void
-kdf_setup (void)
+kdf_setup (const char *args)
{
struct agent_card_info_s info;
gpg_error_t err;
- unsigned char kdf_data[KDF_DATA_LENGTH];
+ unsigned char kdf_data[KDF_DATA_LENGTH_MAX];
+ int single = (*args != 0);
memset (&info, 0, sizeof info);
@@ -1990,10 +2081,19 @@ kdf_setup (void)
goto leave;
}
- if (!(err = gen_kdf_data (kdf_data))
- && !(err = agent_scd_setattr ("KDF", kdf_data, KDF_DATA_LENGTH, NULL)))
- err = agent_scd_getattr ("KDF", &info);
+ err = gen_kdf_data (kdf_data, single);
+ if (err)
+ goto leave_error;
+
+ err = agent_scd_setattr ("KDF", kdf_data,
+ single ? KDF_DATA_LENGTH_MIN : KDF_DATA_LENGTH_MAX,
+ NULL);
+ if (err)
+ goto leave_error;
+
+ err = agent_scd_getattr ("KDF", &info);
+ leave_error:
if (err)
log_error (_("error for setup KDF: %s\n"), gpg_strerror (err));
@@ -2010,6 +2110,7 @@ enum cmdids
cmdNAME, cmdURL, cmdFETCH, cmdLOGIN, cmdLANG, cmdSEX, cmdCAFPR,
cmdFORCESIG, cmdGENERATE, cmdPASSWD, cmdPRIVATEDO, cmdWRITECERT,
cmdREADCERT, cmdUNBLOCK, cmdFACTORYRESET, cmdKDFSETUP,
+ cmdKEYATTR,
cmdINVCMD
};
@@ -2044,6 +2145,7 @@ static struct
{ "unblock" , cmdUNBLOCK,0, N_("unblock the PIN using a Reset Code") },
{ "factory-reset", cmdFACTORYRESET, 1, N_("destroy all keys and data")},
{ "kdf-setup", cmdKDFSETUP, 1, N_("setup KDF for PIN authentication")},
+ { "key-attr", cmdKEYATTR, 1, N_("change the key attribute")},
/* Note, that we do not announce these command yet. */
{ "privatedo", cmdPRIVATEDO, 0, NULL },
{ "readcert", cmdREADCERT, 0, NULL },
@@ -2328,7 +2430,11 @@ card_edit (ctrl_t ctrl, strlist_t commands)
break;
case cmdKDFSETUP:
- kdf_setup ();
+ kdf_setup (arg_string);
+ break;
+
+ case cmdKEYATTR:
+ key_attr ();
break;
case cmdQUIT:
diff --git a/g10/cpr.c b/g10/cpr.c
index a7fd1aaba..435442636 100644
--- a/g10/cpr.c
+++ b/g10/cpr.c
@@ -245,9 +245,13 @@ write_status_errcode (const char *where, int errcode)
void
write_status_failure (const char *where, gpg_error_t err)
{
+ static int any_failure_printed;
+
if (!statusfp || !status_currently_allowed (STATUS_FAILURE))
return; /* Not enabled or allowed. */
-
+ if (any_failure_printed)
+ return;
+ any_failure_printed = 1;
es_fprintf (statusfp, "[GNUPG:] %s %s %u\n",
get_status_string (STATUS_FAILURE), where, err);
if (es_fflush (statusfp) && opt.exit_on_status_write_error)
diff --git a/g10/getkey.c b/g10/getkey.c
index a838c3c61..445e8a6a1 100644
--- a/g10/getkey.c
+++ b/g10/getkey.c
@@ -1810,6 +1810,8 @@ get_pubkey_byfprint (ctrl_t ctrl, PKT_public_key *pk, kbnode_t *r_keyblock,
ctx.items[0].mode = fprint_len == 16 ? KEYDB_SEARCH_MODE_FPR16
: KEYDB_SEARCH_MODE_FPR20;
memcpy (ctx.items[0].u.fpr, fprint, fprint_len);
+ if (pk)
+ ctx.req_usage = pk->req_usage;
rc = lookup (ctrl, &ctx, 0, &kb, &found_key);
if (!rc && pk)
pk_from_block (pk, kb, found_key);
diff --git a/g10/gpg.c b/g10/gpg.c
index 277b5dbbb..1f3314eb3 100644
--- a/g10/gpg.c
+++ b/g10/gpg.c
@@ -1203,6 +1203,7 @@ static void
wrong_args( const char *text)
{
es_fprintf (es_stderr, _("usage: %s [options] %s\n"), GPG_NAME, text);
+ log_inc_errorcount ();
g10_exit(2);
}
@@ -3169,7 +3170,7 @@ main (int argc, char **argv)
case oCommandFD:
opt.command_fd = translate_sys2libc_fd_int (pargs.r.ret_int, 0);
if (! gnupg_fd_valid (opt.command_fd))
- log_fatal ("command-fd is invalid: %s\n", strerror (errno));
+ log_error ("command-fd is invalid: %s\n", strerror (errno));
break;
case oCommandFile:
opt.command_fd = open_info_file (pargs.r.ret_str, 0, 1);
@@ -3631,7 +3632,16 @@ main (int argc, char **argv)
case oNoop: break;
default:
- pargs.err = configfp? ARGPARSE_PRINT_WARNING:ARGPARSE_PRINT_ERROR;
+ if (configfp)
+ pargs.err = ARGPARSE_PRINT_WARNING;
+ else
+ {
+ pargs.err = ARGPARSE_PRINT_ERROR;
+ /* The argparse fucntion calls a plain exit and thus
+ * we need to print a status here. */
+ write_status_failure ("option-parser",
+ gpg_error(GPG_ERR_GENERAL));
+ }
break;
}
}
@@ -3650,7 +3660,10 @@ main (int argc, char **argv)
}
xfree(configname); configname = NULL;
if (log_get_errorcount (0))
- g10_exit(2);
+ {
+ write_status_failure ("option-parser", gpg_error(GPG_ERR_GENERAL));
+ g10_exit(2);
+ }
/* The command --gpgconf-list is pretty simple and may be called
directly after the option parsing. */
@@ -3671,7 +3684,10 @@ main (int argc, char **argv)
"--print-pks-records",
"--export-options export-pka");
if (log_get_errorcount (0))
- g10_exit(2);
+ {
+ write_status_failure ("option-checking", gpg_error(GPG_ERR_GENERAL));
+ g10_exit(2);
+ }
if( nogreeting )
@@ -3772,6 +3788,7 @@ main (int argc, char **argv)
{
log_info(_("will not run with insecure memory due to %s\n"),
"--require-secmem");
+ write_status_failure ("option-checking", gpg_error(GPG_ERR_GENERAL));
g10_exit(2);
}
@@ -3937,7 +3954,11 @@ main (int argc, char **argv)
}
if( log_get_errorcount(0) )
- g10_exit(2);
+ {
+ write_status_failure ("option-postprocessing",
+ gpg_error(GPG_ERR_GENERAL));
+ g10_exit (2);
+ }
if(opt.compress_level==0)
opt.compress_algo=COMPRESS_ALGO_NONE;
@@ -4051,7 +4072,10 @@ main (int argc, char **argv)
/* Fail hard. */
if (log_get_errorcount (0))
+ {
+ write_status_failure ("option-checking", gpg_error(GPG_ERR_GENERAL));
g10_exit (2);
+ }
/* Set the random seed file. */
if( use_random_seed ) {
@@ -5035,7 +5059,10 @@ main (int argc, char **argv)
hd = keydb_new ();
if (! hd)
- g10_exit (1);
+ {
+ write_status_failure ("tofu-driver", gpg_error(GPG_ERR_GENERAL));
+ g10_exit (1);
+ }
tofu_begin_batch_update (ctrl);
@@ -5049,6 +5076,7 @@ main (int argc, char **argv)
{
log_error (_("error parsing key specification '%s': %s\n"),
argv[i], gpg_strerror (rc));
+ write_status_failure ("tofu-driver", rc);
g10_exit (1);
}
@@ -5062,6 +5090,8 @@ main (int argc, char **argv)
log_error (_("'%s' does not appear to be a valid"
" key ID, fingerprint or keygrip\n"),
argv[i]);
+ write_status_failure ("tofu-driver",
+ gpg_error(GPG_ERR_GENERAL));
g10_exit (1);
}
@@ -5072,6 +5102,7 @@ main (int argc, char **argv)
the string. */
log_error ("keydb_search_reset failed: %s\n",
gpg_strerror (rc));
+ write_status_failure ("tofu-driver", rc);
g10_exit (1);
}
@@ -5080,6 +5111,7 @@ main (int argc, char **argv)
{
log_error (_("key \"%s\" not found: %s\n"), argv[i],
gpg_strerror (rc));
+ write_status_failure ("tofu-driver", rc);
g10_exit (1);
}
@@ -5088,12 +5120,16 @@ main (int argc, char **argv)
{
log_error (_("error reading keyblock: %s\n"),
gpg_strerror (rc));
+ write_status_failure ("tofu-driver", rc);
g10_exit (1);
}
merge_keys_and_selfsig (ctrl, kb);
if (tofu_set_policy (ctrl, kb, policy))
- g10_exit (1);
+ {
+ write_status_failure ("tofu-driver", rc);
+ g10_exit (1);
+ }
release_kbnode (kb);
}
@@ -5175,6 +5211,12 @@ emergency_cleanup (void)
void
g10_exit( int rc )
{
+ /* If we had an error but not printed an error message, do it now.
+ * Note that write_status_failure will never print a second failure
+ * status line. */
+ if (log_get_errorcount (0))
+ write_status_failure ("gpg-exit", gpg_error (GPG_ERR_GENERAL));
+
gcry_control (GCRYCTL_UPDATE_RANDOM_SEED_FILE);
if (DBG_CLOCK)
log_clock ("stop");
diff --git a/g10/keydb.h b/g10/keydb.h
index f2ea8a7d2..69365793c 100644
--- a/g10/keydb.h
+++ b/g10/keydb.h
@@ -26,13 +26,16 @@
#include "../common/util.h"
#include "packet.h"
-/* What qualifies as a certification (rather than a signature?) */
+/* What qualifies as a certification (key-signature in contrast to a
+ * data signature)? Note that a back signature is special and can be
+ * made by key and data signatures capable subkeys.) */
#define IS_CERT(s) (IS_KEY_SIG(s) || IS_UID_SIG(s) || IS_SUBKEY_SIG(s) \
|| IS_KEY_REV(s) || IS_UID_REV(s) || IS_SUBKEY_REV(s))
#define IS_SIG(s) (!IS_CERT(s))
#define IS_KEY_SIG(s) ((s)->sig_class == 0x1f)
#define IS_UID_SIG(s) (((s)->sig_class & ~3) == 0x10)
#define IS_SUBKEY_SIG(s) ((s)->sig_class == 0x18)
+#define IS_BACK_SIG(s) ((s)->sig_class == 0x19)
#define IS_KEY_REV(s) ((s)->sig_class == 0x20)
#define IS_UID_REV(s) ((s)->sig_class == 0x30)
#define IS_SUBKEY_REV(s) ((s)->sig_class == 0x28)
diff --git a/g10/keyedit.c b/g10/keyedit.c
index 2cb9bb2ff..3d4418ead 100644
--- a/g10/keyedit.c
+++ b/g10/keyedit.c
@@ -4563,10 +4563,10 @@ menu_changeusage (ctrl_t ctrl, kbnode_t keyblock)
return 0;
}
else if (n1)
- tty_printf ("Changing usage of a subkey.\n");
+ tty_printf (_("Changing usage of a subkey.\n"));
else
{
- tty_printf ("Changing usage of the primary key.\n");
+ tty_printf (_("Changing usage of the primary key.\n"));
mainkey = 1;
}
@@ -4606,6 +4606,8 @@ menu_changeusage (ctrl_t ctrl, kbnode_t keyblock)
if ((mainkey && main_pk->version < 4)
|| (!mainkey && sub_pk->version < 4))
{
+ /* Note: This won't happen because we don't support
+ * v3 keys anymore. */
log_info ("You can't change the capabilities of a v3 key\n");
return 0;
}
@@ -4630,7 +4632,7 @@ menu_changeusage (ctrl_t ctrl, kbnode_t keyblock)
if (rc)
{
log_error ("make_keysig_packet failed: %s\n",
- gpg_strerror (rc));
+ gpg_strerror (rc));
return 0;
}
diff --git a/g10/keygen.c b/g10/keygen.c
index cded87c45..9e9cead07 100644
--- a/g10/keygen.c
+++ b/g10/keygen.c
@@ -147,8 +147,8 @@ static gpg_error_t parse_algo_usage_expire (ctrl_t ctrl, int for_subkey,
const char *algostr, const char *usagestr,
const char *expirestr,
int *r_algo, unsigned int *r_usage,
- u32 *r_expire,
- unsigned int *r_nbits, char **r_curve);
+ u32 *r_expire, unsigned int *r_nbits,
+ const char **r_curve);
static void do_generate_keypair (ctrl_t ctrl, struct para_data_s *para,
struct output_control_s *outctrl, int card );
static int write_keyblock (iobuf_t out, kbnode_t node);
@@ -2336,10 +2336,10 @@ ask_keysize (int algo, unsigned int primary_keysize)
/* Ask for the curve. ALGO is the selected algorithm which this
- function may adjust. Returns a malloced string with the name of
- the curve. BOTH tells that gpg creates a primary and subkey. */
-static char *
-ask_curve (int *algo, int *subkey_algo)
+ function may adjust. Returns a const string of the name of the
+ curve. */
+const char *
+ask_curve (int *algo, int *subkey_algo, const char *current)
{
/* NB: We always use a complete algo list so that we have stable
numbers in the menu regardless on how Gpg was configured. */
@@ -2370,7 +2370,7 @@ ask_curve (int *algo, int *subkey_algo)
#undef MY_USE_ECDSADH
int idx;
char *answer;
- char *result = NULL;
+ const char *result = NULL;
gcry_sexp_t keyparms;
tty_printf (_("Please select which elliptic curve you want:\n"));
@@ -2430,7 +2430,12 @@ ask_curve (int *algo, int *subkey_algo)
answer = cpr_get ("keygen.curve", _("Your selection? "));
cpr_kill_prompt ();
idx = *answer? atoi (answer) : 1;
- if (*answer && !idx)
+ if (!*answer && current)
+ {
+ xfree(answer);
+ return NULL;
+ }
+ else if (*answer && !idx)
{
/* See whether the user entered the name of the curve. */
for (idx=0; idx < DIM(curves); idx++)
@@ -2461,16 +2466,16 @@ ask_curve (int *algo, int *subkey_algo)
if (subkey_algo && *subkey_algo == PUBKEY_ALGO_ECDSA)
*subkey_algo = PUBKEY_ALGO_EDDSA;
*algo = PUBKEY_ALGO_EDDSA;
- result = xstrdup (curves[idx].eddsa_curve);
+ result = curves[idx].eddsa_curve;
}
else
- result = xstrdup (curves[idx].name);
+ result = curves[idx].name;
break;
}
}
if (!result)
- result = xstrdup (curves[0].name);
+ result = curves[0].name;
return result;
}
@@ -4161,7 +4166,7 @@ quick_generate_keypair (ctrl_t ctrl, const char *uid, const char *algostr,
unsigned int use;
u32 expire;
unsigned int nbits;
- char *curve;
+ const char *curve;
err = parse_algo_usage_expire (ctrl, 0, algostr, usagestr, expirestr,
&algo, &use, &expire, &nbits, &curve);
@@ -4356,7 +4361,7 @@ generate_keypair (ctrl_t ctrl, int full, const char *fname,
}
else
{
- char *curve = NULL;
+ const char *curve = NULL;
if (subkey_algo)
{
@@ -4366,7 +4371,7 @@ generate_keypair (ctrl_t ctrl, int full, const char *fname,
|| algo == PUBKEY_ALGO_EDDSA
|| algo == PUBKEY_ALGO_ECDH)
{
- curve = ask_curve (&algo, &subkey_algo);
+ curve = ask_curve (&algo, &subkey_algo, NULL);
r = xmalloc_clear( sizeof *r + 20 );
r->key = pKEYTYPE;
sprintf( r->u.value, "%d", algo);
@@ -4419,8 +4424,7 @@ generate_keypair (ctrl_t ctrl, int full, const char *fname,
{
/* Need to switch to a different curve for the
encryption key. */
- xfree (curve);
- curve = xstrdup ("Curve25519");
+ curve = "Curve25519";
}
r = xmalloc_clear (sizeof *r + strlen (curve));
r->key = pSUBKEYCURVE;
@@ -4437,7 +4441,7 @@ generate_keypair (ctrl_t ctrl, int full, const char *fname,
|| algo == PUBKEY_ALGO_EDDSA
|| algo == PUBKEY_ALGO_ECDH)
{
- curve = ask_curve (&algo, NULL);
+ curve = ask_curve (&algo, NULL, NULL);
r = xmalloc_clear (sizeof *r + strlen (curve));
r->key = pKEYCURVE;
strcpy (r->u.value, curve);
@@ -4480,8 +4484,6 @@ generate_keypair (ctrl_t ctrl, int full, const char *fname,
r->next = para;
para = r;
}
-
- xfree (curve);
}
}
else /* Default key generation. */
@@ -5024,7 +5026,7 @@ parse_algo_usage_expire (ctrl_t ctrl, int for_subkey,
const char *algostr, const char *usagestr,
const char *expirestr,
int *r_algo, unsigned int *r_usage, u32 *r_expire,
- unsigned int *r_nbits, char **r_curve)
+ unsigned int *r_nbits, const char **r_curve)
{
gpg_error_t err;
int algo;
@@ -5082,11 +5084,7 @@ parse_algo_usage_expire (ctrl_t ctrl, int for_subkey,
return gpg_error (GPG_ERR_INV_VALUE);
if (curve)
- {
- *r_curve = xtrystrdup (curve);
- if (!*r_curve)
- return gpg_error_from_syserror ();
- }
+ *r_curve = curve;
*r_algo = algo;
*r_usage = use;
*r_expire = expire;
@@ -5111,7 +5109,7 @@ generate_subkeypair (ctrl_t ctrl, kbnode_t keyblock, const char *algostr,
unsigned int use;
u32 expire;
unsigned int nbits = 0;
- char *curve = NULL;
+ const char *curve = NULL;
u32 cur_time;
char *key_from_hexgrip = NULL;
char *hexgrip = NULL;
@@ -5185,7 +5183,7 @@ generate_subkeypair (ctrl_t ctrl, kbnode_t keyblock, const char *algostr,
else if (algo == PUBKEY_ALGO_ECDSA
|| algo == PUBKEY_ALGO_EDDSA
|| algo == PUBKEY_ALGO_ECDH)
- curve = ask_curve (&algo, NULL);
+ curve = ask_curve (&algo, NULL, NULL);
else
nbits = ask_keysize (algo, 0);
@@ -5263,7 +5261,6 @@ generate_subkeypair (ctrl_t ctrl, kbnode_t keyblock, const char *algostr,
leave:
xfree (key_from_hexgrip);
- xfree (curve);
xfree (hexgrip);
xfree (serialno);
xfree (cache_nonce);
diff --git a/g10/main.h b/g10/main.h
index de8639e98..453d1226a 100644
--- a/g10/main.h
+++ b/g10/main.h
@@ -310,6 +310,7 @@ u32 parse_expire_string(const char *string);
u32 ask_expire_interval(int object,const char *def_expire);
u32 ask_expiredate(void);
unsigned int ask_key_flags (int algo, int subkey, unsigned int current);
+const char *ask_curve (int *algo, int *subkey_algo, const char *current);
void quick_generate_keypair (ctrl_t ctrl, const char *uid, const char *algostr,
const char *usagestr, const char *expirestr);
void generate_keypair (ctrl_t ctrl, int full, const char *fname,
diff --git a/g10/sig-check.c b/g10/sig-check.c
index f8e366b7e..fc6983993 100644
--- a/g10/sig-check.c
+++ b/g10/sig-check.c
@@ -115,98 +115,100 @@ check_signature2 (ctrl_t ctrl,
PKT_signature *sig, gcry_md_hd_t digest, u32 *r_expiredate,
int *r_expired, int *r_revoked, PKT_public_key **r_pk)
{
- int rc=0;
- PKT_public_key *pk;
-
- if (r_expiredate)
- *r_expiredate = 0;
- if (r_expired)
- *r_expired = 0;
- if (r_revoked)
- *r_revoked = 0;
- if (r_pk)
- *r_pk = NULL;
-
- pk = xtrycalloc (1, sizeof *pk);
- if (!pk)
- return gpg_error_from_syserror ();
-
- if ( (rc=openpgp_md_test_algo(sig->digest_algo)) )
- ; /* We don't have this digest. */
- else if (! gnupg_digest_is_allowed (opt.compliance, 0, sig->digest_algo))
- {
- /* Compliance failure. */
- log_info (_("digest algorithm '%s' may not be used in %s mode\n"),
- gcry_md_algo_name (sig->digest_algo),
- gnupg_compliance_option_string (opt.compliance));
- rc = gpg_error (GPG_ERR_DIGEST_ALGO);
- }
- else if ((rc=openpgp_pk_test_algo(sig->pubkey_algo)))
- ; /* We don't have this pubkey algo. */
- else if (!gcry_md_is_enabled (digest,sig->digest_algo))
- {
- /* Sanity check that the md has a context for the hash that the
- sig is expecting. This can happen if a onepass sig header does
- not match the actual sig, and also if the clearsign "Hash:"
- header is missing or does not match the actual sig. */
+ int rc=0;
+ PKT_public_key *pk;
- log_info(_("WARNING: signature digest conflict in message\n"));
- rc = gpg_error (GPG_ERR_GENERAL);
- }
- else if( get_pubkey (ctrl, pk, sig->keyid ) )
- rc = gpg_error (GPG_ERR_NO_PUBKEY);
- else if (! gnupg_pk_is_allowed (opt.compliance, PK_USE_VERIFICATION,
- pk->pubkey_algo, pk->pkey,
- nbits_from_pk (pk),
- NULL))
- {
- /* Compliance failure. */
- log_error (_("key %s may not be used for signing in %s mode\n"),
- keystr_from_pk (pk),
- gnupg_compliance_option_string (opt.compliance));
- rc = gpg_error (GPG_ERR_PUBKEY_ALGO);
- }
- else if(!pk->flags.valid)
- {
- /* You cannot have a good sig from an invalid key. */
- rc = gpg_error (GPG_ERR_BAD_PUBKEY);
- }
- else
- {
- if(r_expiredate)
- *r_expiredate = pk->expiredate;
-
- rc = check_signature_end (pk, sig, digest, r_expired, r_revoked, NULL);
-
- /* Check the backsig. This is a 0x19 signature from the
- subkey on the primary key. The idea here is that it should
- not be possible for someone to "steal" subkeys and claim
- them as their own. The attacker couldn't actually use the
- subkey, but they could try and claim ownership of any
- signatures issued by it. */
- if (!rc && !pk->flags.primary && pk->flags.backsig < 2)
- {
- if (!pk->flags.backsig)
- {
- log_info(_("WARNING: signing subkey %s is not"
- " cross-certified\n"),keystr_from_pk(pk));
- log_info(_("please see %s for more information\n"),
- "https://gnupg.org/faq/subkey-cross-certify.html");
- /* --require-cross-certification makes this warning an
- error. TODO: change the default to require this
- after more keys have backsigs. */
- if(opt.flags.require_cross_cert)
- rc = gpg_error (GPG_ERR_GENERAL);
- }
- else if(pk->flags.backsig == 1)
- {
- log_info(_("WARNING: signing subkey %s has an invalid"
- " cross-certification\n"),keystr_from_pk(pk));
- rc = gpg_error (GPG_ERR_GENERAL);
- }
- }
+ if (r_expiredate)
+ *r_expiredate = 0;
+ if (r_expired)
+ *r_expired = 0;
+ if (r_revoked)
+ *r_revoked = 0;
+ if (r_pk)
+ *r_pk = NULL;
- }
+ pk = xtrycalloc (1, sizeof *pk);
+ if (!pk)
+ return gpg_error_from_syserror ();
+
+ if ((rc=openpgp_md_test_algo(sig->digest_algo)))
+ {
+ /* We don't have this digest. */
+ }
+ else if (!gnupg_digest_is_allowed (opt.compliance, 0, sig->digest_algo))
+ {
+ /* Compliance failure. */
+ log_info (_("digest algorithm '%s' may not be used in %s mode\n"),
+ gcry_md_algo_name (sig->digest_algo),
+ gnupg_compliance_option_string (opt.compliance));
+ rc = gpg_error (GPG_ERR_DIGEST_ALGO);
+ }
+ else if ((rc=openpgp_pk_test_algo(sig->pubkey_algo)))
+ {
+ /* We don't have this pubkey algo. */
+ }
+ else if (!gcry_md_is_enabled (digest,sig->digest_algo))
+ {
+ /* Sanity check that the md has a context for the hash that the
+ * sig is expecting. This can happen if a onepass sig header
+ * does not match the actual sig, and also if the clearsign
+ * "Hash:" header is missing or does not match the actual sig. */
+ log_info(_("WARNING: signature digest conflict in message\n"));
+ rc = gpg_error (GPG_ERR_GENERAL);
+ }
+ else if (get_pubkey (ctrl, pk, sig->keyid))
+ rc = gpg_error (GPG_ERR_NO_PUBKEY);
+ else if (!gnupg_pk_is_allowed (opt.compliance, PK_USE_VERIFICATION,
+ pk->pubkey_algo, pk->pkey,
+ nbits_from_pk (pk),
+ NULL))
+ {
+ /* Compliance failure. */
+ log_error (_("key %s may not be used for signing in %s mode\n"),
+ keystr_from_pk (pk),
+ gnupg_compliance_option_string (opt.compliance));
+ rc = gpg_error (GPG_ERR_PUBKEY_ALGO);
+ }
+ else if (!pk->flags.valid)
+ {
+ /* You cannot have a good sig from an invalid key. */
+ rc = gpg_error (GPG_ERR_BAD_PUBKEY);
+ }
+ else
+ {
+ if (r_expiredate)
+ *r_expiredate = pk->expiredate;
+
+ rc = check_signature_end (pk, sig, digest, r_expired, r_revoked, NULL);
+
+ /* Check the backsig. This is a back signature (0x19) from
+ * the subkey on the primary key. The idea here is that it
+ * should not be possible for someone to "steal" subkeys and
+ * claim them as their own. The attacker couldn't actually
+ * use the subkey, but they could try and claim ownership of
+ * any signatures issued by it. */
+ if (!rc && !pk->flags.primary && pk->flags.backsig < 2)
+ {
+ if (!pk->flags.backsig)
+ {
+ log_info (_("WARNING: signing subkey %s is not"
+ " cross-certified\n"),keystr_from_pk(pk));
+ log_info (_("please see %s for more information\n"),
+ "https://gnupg.org/faq/subkey-cross-certify.html");
+ /* The default option --require-cross-certification
+ * makes this warning an error. */
+ if (opt.flags.require_cross_cert)
+ rc = gpg_error (GPG_ERR_GENERAL);
+ }
+ else if(pk->flags.backsig == 1)
+ {
+ log_info (_("WARNING: signing subkey %s has an invalid"
+ " cross-certification\n"), keystr_from_pk(pk));
+ rc = gpg_error (GPG_ERR_GENERAL);
+ }
+ }
+
+ }
if( !rc && sig->sig_class < 2 && is_status_enabled() ) {
/* This signature id works best with DLP algorithms because
@@ -235,54 +237,54 @@ check_signature2 (ctrl_t ctrl,
int i;
char hashbuf[20]; /* We use SHA-1 here. */
- nbytes = 6;
- for (i=0; i < nsig; i++ )
- {
- if (gcry_mpi_print (GCRYMPI_FMT_USG, NULL, 0, &n, sig->data[i]))
- BUG();
- nbytes += n;
- }
+ nbytes = 6;
+ for (i=0; i < nsig; i++ )
+ {
+ if (gcry_mpi_print (GCRYMPI_FMT_USG, NULL, 0, &n, sig->data[i]))
+ BUG();
+ nbytes += n;
+ }
- /* Make buffer large enough to be later used as output buffer. */
- if (nbytes < 100)
- nbytes = 100;
- nbytes += 10; /* Safety margin. */
-
- /* Fill and hash buffer. */
- buffer = p = xmalloc (nbytes);
- *p++ = sig->pubkey_algo;
- *p++ = sig->digest_algo;
- *p++ = (a >> 24) & 0xff;
- *p++ = (a >> 16) & 0xff;
- *p++ = (a >> 8) & 0xff;
- *p++ = a & 0xff;
- nbytes -= 6;
- for (i=0; i < nsig; i++ )
- {
- if (gcry_mpi_print (GCRYMPI_FMT_PGP, p, nbytes, &n, sig->data[i]))
- BUG();
- p += n;
- nbytes -= n;
- }
- gcry_md_hash_buffer (GCRY_MD_SHA1, hashbuf, buffer, p-buffer);
-
- p = make_radix64_string (hashbuf, 20);
- sprintf (buffer, "%s %s %lu",
- p, strtimestamp (sig->timestamp), (ulong)sig->timestamp);
- xfree (p);
- write_status_text (STATUS_SIG_ID, buffer);
- xfree (buffer);
+ /* Make buffer large enough to be later used as output buffer. */
+ if (nbytes < 100)
+ nbytes = 100;
+ nbytes += 10; /* Safety margin. */
+
+ /* Fill and hash buffer. */
+ buffer = p = xmalloc (nbytes);
+ *p++ = sig->pubkey_algo;
+ *p++ = sig->digest_algo;
+ *p++ = (a >> 24) & 0xff;
+ *p++ = (a >> 16) & 0xff;
+ *p++ = (a >> 8) & 0xff;
+ *p++ = a & 0xff;
+ nbytes -= 6;
+ for (i=0; i < nsig; i++ )
+ {
+ if (gcry_mpi_print (GCRYMPI_FMT_PGP, p, nbytes, &n, sig->data[i]))
+ BUG();
+ p += n;
+ nbytes -= n;
+ }
+ gcry_md_hash_buffer (GCRY_MD_SHA1, hashbuf, buffer, p-buffer);
+
+ p = make_radix64_string (hashbuf, 20);
+ sprintf (buffer, "%s %s %lu",
+ p, strtimestamp (sig->timestamp), (ulong)sig->timestamp);
+ xfree (p);
+ write_status_text (STATUS_SIG_ID, buffer);
+ xfree (buffer);
}
- if (r_pk)
- *r_pk = pk;
- else
- {
- release_public_key_parts (pk);
- xfree (pk);
- }
+ if (r_pk)
+ *r_pk = pk;
+ else
+ {
+ release_public_key_parts (pk);
+ xfree (pk);
+ }
- return rc;
+ return rc;
}
@@ -307,87 +309,86 @@ static int
check_signature_metadata_validity (PKT_public_key *pk, PKT_signature *sig,
int *r_expired, int *r_revoked)
{
- u32 cur_time;
+ u32 cur_time;
- if(r_expired)
- *r_expired = 0;
- if(r_revoked)
- *r_revoked = 0;
+ if (r_expired)
+ *r_expired = 0;
+ if (r_revoked)
+ *r_revoked = 0;
- if( pk->timestamp > sig->timestamp )
- {
- ulong d = pk->timestamp - sig->timestamp;
- if ( d < 86400 )
- {
- log_info
- (ngettext
- ("public key %s is %lu second newer than the signature\n",
- "public key %s is %lu seconds newer than the signature\n",
- d), keystr_from_pk (pk), d);
- }
- else
- {
- d /= 86400;
- log_info
- (ngettext
- ("public key %s is %lu day newer than the signature\n",
- "public key %s is %lu days newer than the signature\n",
- d), keystr_from_pk (pk), d);
- }
- if (!opt.ignore_time_conflict)
- return GPG_ERR_TIME_CONFLICT; /* pubkey newer than signature. */
- }
+ if (pk->timestamp > sig->timestamp )
+ {
+ ulong d = pk->timestamp - sig->timestamp;
+ if ( d < 86400 )
+ {
+ log_info (ngettext
+ ("public key %s is %lu second newer than the signature\n",
+ "public key %s is %lu seconds newer than the signature\n",
+ d), keystr_from_pk (pk), d);
+ }
+ else
+ {
+ d /= 86400;
+ log_info (ngettext
+ ("public key %s is %lu day newer than the signature\n",
+ "public key %s is %lu days newer than the signature\n",
+ d), keystr_from_pk (pk), d);
+ }
+ if (!opt.ignore_time_conflict)
+ return GPG_ERR_TIME_CONFLICT; /* pubkey newer than signature. */
+ }
- cur_time = make_timestamp();
- if( pk->timestamp > cur_time )
- {
- ulong d = pk->timestamp - cur_time;
- if (d < 86400)
- {
- log_info (ngettext("key %s was created %lu second"
- " in the future (time warp or clock problem)\n",
- "key %s was created %lu seconds"
- " in the future (time warp or clock problem)\n",
- d), keystr_from_pk (pk), d);
- }
- else
- {
- d /= 86400;
- log_info (ngettext("key %s was created %lu day"
- " in the future (time warp or clock problem)\n",
- "key %s was created %lu days"
- " in the future (time warp or clock problem)\n",
- d), keystr_from_pk (pk), d);
- }
- if (!opt.ignore_time_conflict)
- return GPG_ERR_TIME_CONFLICT;
- }
+ cur_time = make_timestamp ();
+ if (pk->timestamp > cur_time)
+ {
+ ulong d = pk->timestamp - cur_time;
+ if (d < 86400)
+ {
+ log_info (ngettext("key %s was created %lu second"
+ " in the future (time warp or clock problem)\n",
+ "key %s was created %lu seconds"
+ " in the future (time warp or clock problem)\n",
+ d), keystr_from_pk (pk), d);
+ }
+ else
+ {
+ d /= 86400;
+ log_info (ngettext("key %s was created %lu day"
+ " in the future (time warp or clock problem)\n",
+ "key %s was created %lu days"
+ " in the future (time warp or clock problem)\n",
+ d), keystr_from_pk (pk), d);
+ }
+ if (!opt.ignore_time_conflict)
+ return GPG_ERR_TIME_CONFLICT;
+ }
- /* Check whether the key has expired. We check the has_expired
- flag which is set after a full evaluation of the key (getkey.c)
- as well as a simple compare to the current time in case the
- merge has for whatever reasons not been done. */
- if( pk->has_expired || (pk->expiredate && pk->expiredate < cur_time)) {
- char buf[11];
- if (opt.verbose)
- log_info(_("Note: signature key %s expired %s\n"),
- keystr_from_pk(pk), asctimestamp( pk->expiredate ) );
- sprintf(buf,"%lu",(ulong)pk->expiredate);
- write_status_text(STATUS_KEYEXPIRED,buf);
- if(r_expired)
- *r_expired = 1;
+ /* Check whether the key has expired. We check the has_expired
+ * flag which is set after a full evaluation of the key (getkey.c)
+ * as well as a simple compare to the current time in case the
+ * merge has for whatever reasons not been done. */
+ if (pk->has_expired || (pk->expiredate && pk->expiredate < cur_time))
+ {
+ char buf[11];
+ if (opt.verbose)
+ log_info (_("Note: signature key %s expired %s\n"),
+ keystr_from_pk(pk), asctimestamp( pk->expiredate ) );
+ snprintf (buf, sizeof buf, "%lu",(ulong)pk->expiredate);
+ write_status_text (STATUS_KEYEXPIRED, buf);
+ if (r_expired)
+ *r_expired = 1;
}
- if (pk->flags.revoked)
- {
- if (opt.verbose)
- log_info (_("Note: signature key %s has been revoked\n"),
- keystr_from_pk(pk));
- if (r_revoked)
- *r_revoked=1;
- }
+ if (pk->flags.revoked)
+ {
+ if (opt.verbose)
+ log_info (_("Note: signature key %s has been revoked\n"),
+ keystr_from_pk(pk));
+ if (r_revoked)
+ *r_revoked=1;
+ }
- return 0;
+ return 0;
}
@@ -425,70 +426,96 @@ check_signature_end (PKT_public_key *pk, PKT_signature *sig,
gcry_md_hd_t digest,
int *r_expired, int *r_revoked, PKT_public_key *ret_pk)
{
- int rc = 0;
+ int rc = 0;
- if ((rc = check_signature_metadata_validity (pk, sig,
- r_expired, r_revoked)))
- return rc;
+ if ((rc = check_signature_metadata_validity (pk, sig,
+ r_expired, r_revoked)))
+ return rc;
- if ((rc = check_signature_end_simple (pk, sig, digest)))
- return rc;
+ if ((rc = check_signature_end_simple (pk, sig, digest)))
+ return rc;
- if(!rc && ret_pk)
- copy_public_key(ret_pk,pk);
+ if (!rc && ret_pk)
+ copy_public_key(ret_pk,pk);
- return rc;
+ return rc;
}
+
/* This function is similar to check_signature_end, but it only checks
- whether the signature was generated by PK. It does not check
- expiration, revocation, etc. */
+ * whether the signature was generated by PK. It does not check
+ * expiration, revocation, etc. */
static int
check_signature_end_simple (PKT_public_key *pk, PKT_signature *sig,
gcry_md_hd_t digest)
{
- gcry_mpi_t result = NULL;
- int rc = 0;
- const struct weakhash *weak;
+ gcry_mpi_t result = NULL;
+ int rc = 0;
+ const struct weakhash *weak;
- if (!opt.flags.allow_weak_digest_algos)
+ if (!opt.flags.allow_weak_digest_algos)
+ {
for (weak = opt.weak_digests; weak; weak = weak->next)
if (sig->digest_algo == weak->algo)
{
print_digest_rejected_note(sig->digest_algo);
return GPG_ERR_DIGEST_ALGO;
}
+ }
+
+ /* For key signatures check that the key has a cert usage. We may
+ * do this only for subkeys because the primary may always issue key
+ * signature. The latter may not be reflected in the pubkey_usage
+ * field because we need to check the key signatures to extract the
+ * key usage. */
+ if (!pk->flags.primary
+ && IS_CERT (sig) && !(pk->pubkey_usage & PUBKEY_USAGE_CERT))
+ {
+ rc = gpg_error (GPG_ERR_WRONG_KEY_USAGE);
+ if (!opt.quiet)
+ log_info (_("bad key signature from key %s: %s (0x%02x, 0x%x)\n"),
+ keystr_from_pk (pk), gpg_strerror (rc),
+ sig->sig_class, pk->pubkey_usage);
+ return rc;
+ }
+ /* Fixme: Should we also check the signing capability here for data
+ * signature? */
- /* Make sure the digest algo is enabled (in case of a detached
- signature). */
- gcry_md_enable (digest, sig->digest_algo);
+ /* Make sure the digest algo is enabled (in case of a detached
+ * signature). */
+ gcry_md_enable (digest, sig->digest_algo);
- /* Complete the digest. */
- if( sig->version >= 4 )
- gcry_md_putc( digest, sig->version );
- gcry_md_putc( digest, sig->sig_class );
- if( sig->version < 4 ) {
- u32 a = sig->timestamp;
- gcry_md_putc( digest, (a >> 24) & 0xff );
- gcry_md_putc( digest, (a >> 16) & 0xff );
- gcry_md_putc( digest, (a >> 8) & 0xff );
- gcry_md_putc( digest, a & 0xff );
+ /* Complete the digest. */
+ if (sig->version >= 4)
+ gcry_md_putc (digest, sig->version);
+
+ gcry_md_putc( digest, sig->sig_class );
+ if (sig->version < 4)
+ {
+ u32 a = sig->timestamp;
+ gcry_md_putc (digest, ((a >> 24) & 0xff));
+ gcry_md_putc (digest, ((a >> 16) & 0xff));
+ gcry_md_putc (digest, ((a >> 8) & 0xff));
+ gcry_md_putc (digest, ( a & 0xff));
}
- else {
- byte buf[6];
- size_t n;
- gcry_md_putc( digest, sig->pubkey_algo );
- gcry_md_putc( digest, sig->digest_algo );
- if( sig->hashed ) {
- n = sig->hashed->len;
- gcry_md_putc (digest, (n >> 8) );
- gcry_md_putc (digest, n );
- gcry_md_write (digest, sig->hashed->data, n);
- n += 6;
+ else
+ {
+ byte buf[6];
+ size_t n;
+ gcry_md_putc (digest, sig->pubkey_algo);
+ gcry_md_putc (digest, sig->digest_algo);
+ if (sig->hashed)
+ {
+ n = sig->hashed->len;
+ gcry_md_putc (digest, (n >> 8) );
+ gcry_md_putc (digest, n );
+ gcry_md_write (digest, sig->hashed->data, n);
+ n += 6;
}
- else {
+ else
+ {
/* Two octets for the (empty) length of the hashed
- section. */
+ * section. */
gcry_md_putc (digest, 0);
gcry_md_putc (digest, 0);
n = 6;
@@ -517,62 +544,69 @@ check_signature_end_simple (PKT_public_key *pk, PKT_signature *sig,
log_clock ("leave pk_verify");
gcry_mpi_release (result);
- if( !rc && sig->flags.unknown_critical )
- {
- log_info(_("assuming bad signature from key %s"
- " due to an unknown critical bit\n"),keystr_from_pk(pk));
- rc = GPG_ERR_BAD_SIGNATURE;
- }
+ if (!rc && sig->flags.unknown_critical)
+ {
+ log_info(_("assuming bad signature from key %s"
+ " due to an unknown critical bit\n"),keystr_from_pk(pk));
+ rc = GPG_ERR_BAD_SIGNATURE;
+ }
- return rc;
+ return rc;
}
/* Add a uid node to a hash context. See section 5.2.4, paragraph 4
- of RFC 4880. */
+ * of RFC 4880. */
static void
hash_uid_packet (PKT_user_id *uid, gcry_md_hd_t md, PKT_signature *sig )
{
- if( uid->attrib_data ) {
- if( sig->version >=4 ) {
- byte buf[5];
- buf[0] = 0xd1; /* packet of type 17 */
- buf[1] = uid->attrib_len >> 24; /* always use 4 length bytes */
- buf[2] = uid->attrib_len >> 16;
- buf[3] = uid->attrib_len >> 8;
- buf[4] = uid->attrib_len;
- gcry_md_write( md, buf, 5 );
+ if (uid->attrib_data)
+ {
+ if (sig->version >=4)
+ {
+ byte buf[5];
+ buf[0] = 0xd1; /* packet of type 17 */
+ buf[1] = uid->attrib_len >> 24; /* always use 4 length bytes */
+ buf[2] = uid->attrib_len >> 16;
+ buf[3] = uid->attrib_len >> 8;
+ buf[4] = uid->attrib_len;
+ gcry_md_write( md, buf, 5 );
}
- gcry_md_write( md, uid->attrib_data, uid->attrib_len );
+ gcry_md_write( md, uid->attrib_data, uid->attrib_len );
}
- else {
- if( sig->version >=4 ) {
- byte buf[5];
- buf[0] = 0xb4; /* indicates a userid packet */
- buf[1] = uid->len >> 24; /* always use 4 length bytes */
- buf[2] = uid->len >> 16;
- buf[3] = uid->len >> 8;
- buf[4] = uid->len;
- gcry_md_write( md, buf, 5 );
+ else
+ {
+ if (sig->version >=4)
+ {
+ byte buf[5];
+ buf[0] = 0xb4; /* indicates a userid packet */
+ buf[1] = uid->len >> 24; /* always use 4 length bytes */
+ buf[2] = uid->len >> 16;
+ buf[3] = uid->len >> 8;
+ buf[4] = uid->len;
+ gcry_md_write( md, buf, 5 );
}
- gcry_md_write( md, uid->name, uid->len );
+ gcry_md_write( md, uid->name, uid->len );
}
}
static void
cache_sig_result ( PKT_signature *sig, int result )
{
- if ( !result ) {
- sig->flags.checked = 1;
- sig->flags.valid = 1;
+ if (!result)
+ {
+ sig->flags.checked = 1;
+ sig->flags.valid = 1;
}
- else if ( gpg_err_code (result) == GPG_ERR_BAD_SIGNATURE ) {
- sig->flags.checked = 1;
- sig->flags.valid = 0;
+ else if (gpg_err_code (result) == GPG_ERR_BAD_SIGNATURE)
+ {
+ sig->flags.checked = 1;
+ sig->flags.valid = 0;
}
- else {
- sig->flags.checked = 0;
- sig->flags.valid = 0;
+ else
+ {
+ sig->flags.checked = 0;
+ sig->flags.valid = 0;
}
}
@@ -690,14 +724,14 @@ check_revocation_keys (ctrl_t ctrl, PKT_public_key *pk, PKT_signature *sig)
}
/* Check that the backsig BACKSIG from the subkey SUB_PK to its
- primary key MAIN_PK is valid.
-
- Backsigs (0x19) have the same format as binding sigs (0x18), but
- this function is simpler than check_key_signature in a few ways.
- For example, there is no support for expiring backsigs since it is
- questionable what such a thing actually means. Note also that the
- sig cache check here, unlike other sig caches in GnuPG, is not
- persistent. */
+ * primary key MAIN_PK is valid.
+ *
+ * Backsigs (0x19) have the same format as binding sigs (0x18), but
+ * this function is simpler than check_key_signature in a few ways.
+ * For example, there is no support for expiring backsigs since it is
+ * questionable what such a thing actually means. Note also that the
+ * sig cache check here, unlike other sig caches in GnuPG, is not
+ * persistent. */
int
check_backsig (PKT_public_key *main_pk,PKT_public_key *sub_pk,
PKT_signature *backsig)
@@ -793,32 +827,18 @@ check_signature_over_key_or_uid (ctrl_t ctrl, PKT_public_key *signer,
/* A signature's class indicates the type of packet that it
signs. */
- if (/* Primary key binding (made by a subkey). */
- sig->sig_class == 0x19
- /* Direct key signature. */
- || sig->sig_class == 0x1f
- /* Primary key revocation. */
- || sig->sig_class == 0x20)
+ if (IS_BACK_SIG (sig) || IS_KEY_SIG (sig) || IS_KEY_REV (sig))
{
/* Key revocations can only be over primary keys. */
if (packet->pkttype != PKT_PUBLIC_KEY)
return gpg_error (GPG_ERR_SIG_CLASS);
}
- else if (/* Subkey binding. */
- sig->sig_class == 0x18
- /* Subkey revocation. */
- || sig->sig_class == 0x28)
+ else if (IS_SUBKEY_SIG (sig) || IS_SUBKEY_REV (sig))
{
if (packet->pkttype != PKT_PUBLIC_SUBKEY)
return gpg_error (GPG_ERR_SIG_CLASS);
}
- else if (/* Certification. */
- sig->sig_class == 0x10
- || sig->sig_class == 0x11
- || sig->sig_class == 0x12
- || sig->sig_class == 0x13
- /* Certification revocation. */
- || sig->sig_class == 0x30)
+ else if (IS_UID_SIG (sig) || IS_UID_REV (sig))
{
if (packet->pkttype != PKT_USER_ID)
return gpg_error (GPG_ERR_SIG_CLASS);
@@ -853,7 +873,7 @@ check_signature_over_key_or_uid (ctrl_t ctrl, PKT_public_key *signer,
else
{
/* See if one of the subkeys was the signer (although this
- is extremely unlikely). */
+ * is extremely unlikely). */
kbnode_t ctx = NULL;
kbnode_t n;
@@ -894,6 +914,9 @@ check_signature_over_key_or_uid (ctrl_t ctrl, PKT_public_key *signer,
signer_alloced = 2;
}
+ if (IS_CERT (sig))
+ signer->req_usage = PUBKEY_USAGE_CERT;
+
rc = get_pubkey (ctrl, signer, sig->keyid);
if (rc)
{
@@ -913,40 +936,27 @@ check_signature_over_key_or_uid (ctrl_t ctrl, PKT_public_key *signer,
/* Hash the relevant data. */
- if (/* Direct key signature. */
- sig->sig_class == 0x1f
- /* Primary key revocation. */
- || sig->sig_class == 0x20)
+ if (IS_KEY_SIG (sig) || IS_KEY_REV (sig))
{
log_assert (packet->pkttype == PKT_PUBLIC_KEY);
hash_public_key (md, packet->pkt.public_key);
rc = check_signature_end_simple (signer, sig, md);
}
- else if (/* Primary key binding (made by a subkey). */
- sig->sig_class == 0x19)
+ else if (IS_BACK_SIG (sig))
{
log_assert (packet->pkttype == PKT_PUBLIC_KEY);
hash_public_key (md, packet->pkt.public_key);
hash_public_key (md, signer);
rc = check_signature_end_simple (signer, sig, md);
}
- else if (/* Subkey binding. */
- sig->sig_class == 0x18
- /* Subkey revocation. */
- || sig->sig_class == 0x28)
+ else if (IS_SUBKEY_SIG (sig) || IS_SUBKEY_REV (sig))
{
log_assert (packet->pkttype == PKT_PUBLIC_SUBKEY);
hash_public_key (md, pripk);
hash_public_key (md, packet->pkt.public_key);
rc = check_signature_end_simple (signer, sig, md);
}
- else if (/* Certification. */
- sig->sig_class == 0x10
- || sig->sig_class == 0x11
- || sig->sig_class == 0x12
- || sig->sig_class == 0x13
- /* Certification revocation. */
- || sig->sig_class == 0x30)
+ else if (IS_UID_SIG (sig) || IS_UID_REV (sig))
{
log_assert (packet->pkttype == PKT_USER_ID);
hash_public_key (md, pripk);
@@ -1077,7 +1087,7 @@ check_key_signature2 (ctrl_t ctrl,
if (rc)
return rc;
- if (sig->sig_class == 0x20) /* key revocation */
+ if (IS_KEY_REV (sig))
{
u32 keyid[2];
keyid_from_pk( pk, keyid );
@@ -1095,8 +1105,7 @@ check_key_signature2 (ctrl_t ctrl,
is_selfsig, ret_pk);
}
}
- else if (sig->sig_class == 0x28 /* subkey revocation */
- || sig->sig_class == 0x18) /* key binding */
+ else if (IS_SUBKEY_REV (sig) || IS_SUBKEY_SIG (sig))
{
kbnode_t snode = find_prev_kbnode (root, node, PKT_PUBLIC_SUBKEY);
@@ -1106,9 +1115,10 @@ check_key_signature2 (ctrl_t ctrl,
r_expired, NULL);
if (! rc)
{
- /* 0x28 must be a self-sig, but 0x18 needn't be. */
+ /* A subkey revocation (0x28) must be a self-sig, but a
+ * subkey signature (0x18) needn't be. */
rc = check_signature_over_key_or_uid (ctrl,
- sig->sig_class == 0x18
+ IS_SUBKEY_SIG (sig)
? NULL : pk,
sig, root, snode->pkt,
is_selfsig, ret_pk);
@@ -1118,7 +1128,7 @@ check_key_signature2 (ctrl_t ctrl,
{
if (opt.verbose)
{
- if (sig->sig_class == 0x28)
+ if (IS_SUBKEY_REV (sig))
log_info (_("key %s: no subkey for subkey"
" revocation signature\n"), keystr_from_pk(pk));
else if (sig->sig_class == 0x18)
@@ -1128,7 +1138,7 @@ check_key_signature2 (ctrl_t ctrl,
rc = GPG_ERR_SIG_CLASS;
}
}
- else if (sig->sig_class == 0x1f) /* direct key signature */
+ else if (IS_KEY_SIG (sig)) /* direct key signature */
{
rc = check_signature_metadata_validity (pk, sig,
r_expired, NULL);
@@ -1136,13 +1146,7 @@ check_key_signature2 (ctrl_t ctrl,
rc = check_signature_over_key_or_uid (ctrl, pk, sig, root, root->pkt,
is_selfsig, ret_pk);
}
- else if (/* Certification. */
- sig->sig_class == 0x10
- || sig->sig_class == 0x11
- || sig->sig_class == 0x12
- || sig->sig_class == 0x13
- /* Certification revocation. */
- || sig->sig_class == 0x30)
+ else if (IS_UID_SIG (sig) || IS_UID_REV (sig))
{
kbnode_t unode = find_prev_kbnode (root, node, PKT_USER_ID);
diff --git a/po/ca.po b/po/ca.po
index a65380cb6..dd2407e46 100644
--- a/po/ca.po
+++ b/po/ca.po
@@ -1489,22 +1489,10 @@ msgid ""
msgstr ""
#, fuzzy, c-format
-msgid "What keysize do you want for the Signature key? (%u) "
-msgstr "Quina grandària voleu? (1024) "
-
-#, fuzzy, c-format
-msgid "What keysize do you want for the Encryption key? (%u) "
-msgstr "Quina grandària voleu? (1024) "
-
-#, fuzzy, c-format
-msgid "What keysize do you want for the Authentication key? (%u) "
+msgid "What keysize do you want? (%u) "
msgstr "Quina grandària voleu? (1024) "
#, c-format
-msgid "The card will now be re-configured to generate a key of type: %s\n"
-msgstr ""
-
-#, c-format
msgid "rounded up to %u bits\n"
msgstr "arrodonida fins a %u bits\n"
@@ -1512,14 +1500,55 @@ msgstr "arrodonida fins a %u bits\n"
msgid "%s keysizes must be in the range %u-%u\n"
msgstr ""
+msgid "Changing card key attribute for: "
+msgstr ""
+
+#, fuzzy
+msgid "Signature key\n"
+msgstr "Aquesta signatura va caducar el %s\n"
+
+#, fuzzy
+msgid "Encryption key\n"
+msgstr " (%d) RSA (només xifrar)\n"
+
+msgid "Authentication key\n"
+msgstr ""
+
+msgid "Please select what kind of key you want:\n"
+msgstr "Seleccioneu quin tipus de clau voleu:\n"
+
+#, fuzzy, c-format
+msgid " (%d) RSA\n"
+msgstr " (%d) RSA (només signar)\n"
+
+#, fuzzy, c-format
+msgid " (%d) ECC\n"
+msgstr " (%d) DSA i ElGamal (predeterminat)\n"
+
+msgid "Invalid selection.\n"
+msgstr "La selecció és invàlida.\n"
+
#, c-format
msgid "The card will now be re-configured to generate a key of %u bits\n"
msgstr ""
+#, c-format
+msgid "The card will now be re-configured to generate a key of type: %s\n"
+msgstr ""
+
#, fuzzy, c-format
-msgid "error changing size of key %d to %u bits: %s\n"
+msgid "error changing key attribute for key %d: %s\n"
msgstr "error mentre s'enviava a «%s»: %s\n"
+#, fuzzy, c-format
+msgid "error getting card info: %s\n"
+msgstr "s'ha produït un error mentre s'escrivia l'anell secret «%s»: %s\n"
+
+#, fuzzy
+#| msgid "This command is not allowed while in %s mode.\n"
+msgid "This command is not supported by this card\n"
+msgstr "Aquesta ordre no està permesa mentre s'està en mode %s.\n"
+
msgid "Make off-card backup of encryption key? (Y/n) "
msgstr ""
@@ -1551,9 +1580,6 @@ msgstr " (%d) RSA (només xifrar)\n"
msgid " (3) Authentication key\n"
msgstr ""
-msgid "Invalid selection.\n"
-msgstr "La selecció és invàlida.\n"
-
#, fuzzy
msgid "Please select where to store the key:\n"
msgstr "Seleccioneu la raó de la revocació:\n"
@@ -1563,11 +1589,6 @@ msgid "KEYTOCARD failed: %s\n"
msgstr "ha fallat l'actualització: %s\n"
#, fuzzy
-#| msgid "This command is not allowed while in %s mode.\n"
-msgid "This command is not supported by this card\n"
-msgstr "Aquesta ordre no està permesa mentre s'està en mode %s.\n"
-
-#, fuzzy
msgid "Note: This command destroys all keys stored on the card!\n"
msgstr "es descarta: la clau secreta ja és present\n"
@@ -1578,6 +1599,10 @@ msgstr "Signar realment? "
msgid "Really do a factory reset? (enter \"yes\") "
msgstr ""
+#, fuzzy, c-format
+msgid "error for setup KDF: %s\n"
+msgstr "error en la lectura de «%s»: %s\n"
+
msgid "quit this menu"
msgstr "ix del menú"
@@ -1637,6 +1662,16 @@ msgstr ""
msgid "destroy all keys and data"
msgstr ""
+#, fuzzy
+#| msgid "|NAME|use NAME as default recipient"
+msgid "setup KDF for PIN authentication"
+msgstr "|NOM|usa NOM com a destinatari predeterminat"
+
+#, fuzzy
+#| msgid "change the ownertrust"
+msgid "change the key attribute"
+msgstr "canvia la confiança"
+
msgid "gpg/card> "
msgstr ""
@@ -2356,6 +2391,10 @@ msgid "invalid pinentry mode '%s'\n"
msgstr "l'algoritme de dispersió és invàlid «%s»\n"
#, fuzzy, c-format
+msgid "invalid request origin '%s'\n"
+msgstr "opcions d'importació no vàlides\n"
+
+#, fuzzy, c-format
msgid "'%s' is not a valid character set\n"
msgstr "%s no és un joc de caràcters vàlid\n"
@@ -3485,11 +3524,11 @@ msgid "Key is revoked."
msgstr "La clau està revocada."
#, fuzzy
-msgid "Really sign all user IDs? (y/N) "
+msgid "Really sign all text user IDs? (y/N) "
msgstr "Realment voleu signar tots els ID d'usuari? "
#, fuzzy
-msgid "Really sign all text user IDs? (y/N) "
+msgid "Really sign all user IDs? (y/N) "
msgstr "Realment voleu signar tots els ID d'usuari? "
msgid "Hint: Select the user IDs to sign\n"
@@ -3867,6 +3906,15 @@ msgstr "S'està canviant la data de caducitat per a una clau primària.\n"
msgid "You can't change the expiration date of a v3 key\n"
msgstr "No podeu canviar la data de caducitat de les claus v3\n"
+#, fuzzy
+msgid "Changing usage of a subkey.\n"
+msgstr "S'està canviant la data de caducitat per a una clau secundària.\n"
+
+#, fuzzy
+#| msgid "Changing expiration time for the primary key.\n"
+msgid "Changing usage of the primary key.\n"
+msgstr "S'està canviant la data de caducitat per a una clau primària.\n"
+
#, fuzzy, c-format
msgid "signing subkey %s is already cross-certified\n"
msgstr ""
@@ -4093,9 +4141,6 @@ msgstr ""
msgid " (%c) Finished\n"
msgstr ""
-msgid "Please select what kind of key you want:\n"
-msgstr "Seleccioneu quin tipus de clau voleu:\n"
-
#, fuzzy, c-format
msgid " (%d) RSA and RSA (default)\n"
msgstr " (%d) DSA i ElGamal (predeterminat)\n"
@@ -4174,10 +4219,6 @@ msgstr ""
msgid "What keysize do you want for the subkey? (%u) "
msgstr "Quina grandària voleu? (1024) "
-#, fuzzy, c-format
-msgid "What keysize do you want? (%u) "
-msgstr "Quina grandària voleu? (1024) "
-
#, c-format
msgid "Requested keysize is %u bits\n"
msgstr "La grandària sol·licitada és %u bits\n"
@@ -5623,6 +5664,11 @@ msgid "Note: signature key %s has been revoked\n"
msgstr "NOTA: aquesta clau ha estat revocada!"
#, fuzzy, c-format
+#| msgid "standalone signature of class 0x%02x\n"
+msgid "bad key signature from key %s: %s (0x%02x, 0x%x)\n"
+msgstr "signatura autònoma de classe 0x%02x\n"
+
+#, fuzzy, c-format
msgid "assuming bad signature from key %s due to an unknown critical bit\n"
msgstr ""
"es supossa una signatura incorrecta de la clau %08lX a causa d'un bit crític "
@@ -7052,10 +7098,6 @@ msgid ""
msgstr ""
#, fuzzy, c-format
-msgid " (%d) RSA\n"
-msgstr " (%d) RSA (només signar)\n"
-
-#, fuzzy, c-format
msgid " (%d) Existing key\n"
msgstr " (%d) RSA (només xifrar)\n"
@@ -9150,6 +9192,18 @@ msgid ""
msgstr ""
#, fuzzy
+#~ msgid "What keysize do you want for the Signature key? (%u) "
+#~ msgstr "Quina grandària voleu? (1024) "
+
+#, fuzzy
+#~ msgid "What keysize do you want for the Encryption key? (%u) "
+#~ msgstr "Quina grandària voleu? (1024) "
+
+#, fuzzy
+#~ msgid "What keysize do you want for the Authentication key? (%u) "
+#~ msgstr "Quina grandària voleu? (1024) "
+
+#, fuzzy
#~ msgid "listen() failed: %s\n"
#~ msgstr "ha fallat l'actualització: %s\n"
diff --git a/po/cs.po b/po/cs.po
index 4693f7308..79b4bc2d8 100644
--- a/po/cs.po
+++ b/po/cs.po
@@ -1360,21 +1360,8 @@ msgstr ""
" své karty, kde se dozvíte, jaké velikosti jsou dovoleny.\n"
#, c-format
-msgid "What keysize do you want for the Signature key? (%u) "
-msgstr "Jakou délku klíče pro podepisování si přejete? (%u) "
-
-#, c-format
-msgid "What keysize do you want for the Encryption key? (%u) "
-msgstr "Jakou délku klíče pro šifrování si přejete? (%u) "
-
-#, c-format
-msgid "What keysize do you want for the Authentication key? (%u) "
-msgstr "Jakou délku klíče pro autentizaci si přejete? (%u) "
-
-#, fuzzy, c-format
-#| msgid "The card will now be re-configured to generate a key of %u bits\n"
-msgid "The card will now be re-configured to generate a key of type: %s\n"
-msgstr "Karta bude nyní přenastavena na generování klíče dlouhého %u bitů\n"
+msgid "What keysize do you want? (%u) "
+msgstr "Jakou délku klíče si přejete? (%u) "
#, c-format
msgid "rounded up to %u bits\n"
@@ -1384,14 +1371,61 @@ msgstr "zaokrouhleno na %u bitů\n"
msgid "%s keysizes must be in the range %u-%u\n"
msgstr "velikost klíče %s musí být v intervalu %u-%u\n"
+msgid "Changing card key attribute for: "
+msgstr ""
+
+#, fuzzy
+#| msgid " (1) Signature key\n"
+msgid "Signature key\n"
+msgstr " (1) Podepisovací klíč\n"
+
+#, fuzzy
+#| msgid " (2) Encryption key\n"
+msgid "Encryption key\n"
+msgstr " (2) Šifrovací klíč\n"
+
+#, fuzzy
+#| msgid " (3) Authentication key\n"
+msgid "Authentication key\n"
+msgstr " (3) Autentizační klíč\n"
+
+msgid "Please select what kind of key you want:\n"
+msgstr "Prosím, vyberte druh klíče, který chcete:\n"
+
+#, c-format
+msgid " (%d) RSA\n"
+msgstr " (%d) RSA\n"
+
+#, fuzzy, c-format
+#| msgid " (%d) ECC and ECC\n"
+msgid " (%d) ECC\n"
+msgstr " (%d) ECC a ECC\n"
+
+msgid "Invalid selection.\n"
+msgstr "Neplatný výběr.\n"
+
#, c-format
msgid "The card will now be re-configured to generate a key of %u bits\n"
msgstr "Karta bude nyní přenastavena na generování klíče dlouhého %u bitů\n"
-#, c-format
-msgid "error changing size of key %d to %u bits: %s\n"
+#, fuzzy, c-format
+#| msgid "The card will now be re-configured to generate a key of %u bits\n"
+msgid "The card will now be re-configured to generate a key of type: %s\n"
+msgstr "Karta bude nyní přenastavena na generování klíče dlouhého %u bitů\n"
+
+#, fuzzy, c-format
+#| msgid "error changing size of key %d to %u bits: %s\n"
+msgid "error changing key attribute for key %d: %s\n"
msgstr "chyba při změně velikosti klíče %d na %u bitů: %s\n"
+#, fuzzy, c-format
+#| msgid "error getting current key info: %s\n"
+msgid "error getting card info: %s\n"
+msgstr "chyba při získání informací o aktuálním klíči: %s\n"
+
+msgid "This command is not supported by this card\n"
+msgstr "Tento příkaz není touto kartou podporován\n"
+
msgid "Make off-card backup of encryption key? (Y/n) "
msgstr "Vytvořit zálohu šifrovacího klíče mimo kartu? (A/n) "
@@ -1423,9 +1457,6 @@ msgstr " (2) Šifrovací klíč\n"
msgid " (3) Authentication key\n"
msgstr " (3) Autentizační klíč\n"
-msgid "Invalid selection.\n"
-msgstr "Neplatný výběr.\n"
-
msgid "Please select where to store the key:\n"
msgstr "Prosím vyberte, kam uložit klíč:\n"
@@ -1433,9 +1464,6 @@ msgstr "Prosím vyberte, kam uložit klíč:\n"
msgid "KEYTOCARD failed: %s\n"
msgstr "Volání KEYTOCARD selhalo: %s\n"
-msgid "This command is not supported by this card\n"
-msgstr "Tento příkaz není touto kartou podporován\n"
-
msgid "Note: This command destroys all keys stored on the card!\n"
msgstr "Poznámka: Tento příkaz zničí všechny klíče uložené na kartě!\n"
@@ -1446,6 +1474,11 @@ msgstr "Pokračovat (a/N) "
msgid "Really do a factory reset? (enter \"yes\") "
msgstr "Opravdu obnovit tovární nastavení (zadejte „yes“) "
+#, fuzzy, c-format
+#| msgid "error looking up: %s\n"
+msgid "error for setup KDF: %s\n"
+msgstr "chyba při vyhledávání: %s\n"
+
msgid "quit this menu"
msgstr "ukončit toto menu"
@@ -1497,6 +1530,16 @@ msgstr "odblokovat PIN pomocí resetačního kódu"
msgid "destroy all keys and data"
msgstr "zničit všechny klíče a data"
+#, fuzzy
+#| msgid "|NAME|use user NAME for authentication"
+msgid "setup KDF for PIN authentication"
+msgstr "|JMÉNO|pro autentizaci použije JMÉNO uživatele"
+
+#, fuzzy
+#| msgid "change the ownertrust"
+msgid "change the key attribute"
+msgstr "změnit důvěryhodnost vlastníka klíče"
+
msgid "gpg/card> "
msgstr "gpg/karta> "
@@ -2139,6 +2182,11 @@ msgstr "„%s“ není správná e-mailová adresa\n"
msgid "invalid pinentry mode '%s'\n"
msgstr "neplatný režim pinentry „%s“\n"
+#, fuzzy, c-format
+#| msgid "invalid value for option '%s'\n"
+msgid "invalid request origin '%s'\n"
+msgstr "neplatný argument u volby „%s“\n"
+
#, c-format
msgid "'%s' is not a valid character set\n"
msgstr "„%s“ není platná znaková sada\n"
@@ -3175,12 +3223,12 @@ msgstr ""
msgid "Key is revoked."
msgstr "Klíč je odvolán."
-msgid "Really sign all user IDs? (y/N) "
-msgstr "Opravdu podepsat všechny id uživatele? (a/N) "
-
msgid "Really sign all text user IDs? (y/N) "
msgstr "Opravdu podepsat všechna textová ID uživatele? (a/N) "
+msgid "Really sign all user IDs? (y/N) "
+msgstr "Opravdu podepsat všechny id uživatele? (a/N) "
+
msgid "Hint: Select the user IDs to sign\n"
msgstr "Nápověda: Vyberte id uživatele k podepsání\n"
@@ -3515,6 +3563,16 @@ msgstr "Měním dobu expirace primárního klíče.\n"
msgid "You can't change the expiration date of a v3 key\n"
msgstr "Nemůžete změnit dobu platnosti klíče verze 3\n"
+#, fuzzy
+#| msgid "Changing expiration time for a subkey.\n"
+msgid "Changing usage of a subkey.\n"
+msgstr "Měním dobu expirace podklíče.\n"
+
+#, fuzzy
+#| msgid "Changing expiration time for the primary key.\n"
+msgid "Changing usage of the primary key.\n"
+msgstr "Měním dobu expirace primárního klíče.\n"
+
#, c-format
msgid "signing subkey %s is already cross-certified\n"
msgstr "podepisovací podklíč %s je již křížově certifikován\n"
@@ -3724,9 +3782,6 @@ msgstr " (%c) Zapnout/vypnout schopnost autentizovat\n"
msgid " (%c) Finished\n"
msgstr " (%c) Konec\n"
-msgid "Please select what kind of key you want:\n"
-msgstr "Prosím, vyberte druh klíče, který chcete:\n"
-
#, c-format
msgid " (%d) RSA and RSA (default)\n"
msgstr " (%d) RSA a RSA (implicitní)\n"
@@ -3801,10 +3856,6 @@ msgid "What keysize do you want for the subkey? (%u) "
msgstr "Jakou délku podklíče si přejete? (%u) "
#, c-format
-msgid "What keysize do you want? (%u) "
-msgstr "Jakou délku klíče si přejete? (%u) "
-
-#, c-format
msgid "Requested keysize is %u bits\n"
msgstr "Požadovaná délka klíče je %u bitů.\n"
@@ -5180,6 +5231,11 @@ msgstr "Poznámka: podpisovému klíči %s skončila platnost v %s\n"
msgid "Note: signature key %s has been revoked\n"
msgstr "Poznámka: podpisový klíč %s byl odvolán\n"
+#, fuzzy, c-format
+#| msgid "standalone signature of class 0x%02x\n"
+msgid "bad key signature from key %s: %s (0x%02x, 0x%x)\n"
+msgstr "samostatný podpis třídy 0x%02x\n"
+
#, c-format
msgid "assuming bad signature from key %s due to an unknown critical bit\n"
msgstr ""
@@ -6567,10 +6623,6 @@ msgstr ""
"právě vytvořili, ještě jednou.\n"
#, c-format
-msgid " (%d) RSA\n"
-msgstr " (%d) RSA\n"
-
-#, c-format
msgid " (%d) Existing key\n"
msgstr " (%d) Existující klíč\n"
@@ -8560,6 +8612,15 @@ msgstr ""
"Syntaxe: gpg-check-pattern [volby] soubor_se_vzorem\n"
"Prověří heslo zadané na vstupu proti souboru se vzory\n"
+#~ msgid "What keysize do you want for the Signature key? (%u) "
+#~ msgstr "Jakou délku klíče pro podepisování si přejete? (%u) "
+
+#~ msgid "What keysize do you want for the Encryption key? (%u) "
+#~ msgstr "Jakou délku klíče pro šifrování si přejete? (%u) "
+
+#~ msgid "What keysize do you want for the Authentication key? (%u) "
+#~ msgstr "Jakou délku klíče pro autentizaci si přejete? (%u) "
+
#~ msgid "listen() failed: %s\n"
#~ msgstr "volání listen() selhalo: %s\n"
diff --git a/po/da.po b/po/da.po
index e30e3b617..156dabce6 100644
--- a/po/da.po
+++ b/po/da.po
@@ -1458,21 +1458,8 @@ msgstr ""
" er tilladt.\n"
#, c-format
-msgid "What keysize do you want for the Signature key? (%u) "
-msgstr "Hvilken nøglestørrelse ønsker du for underskriftsnøglen (%u) "
-
-#, c-format
-msgid "What keysize do you want for the Encryption key? (%u) "
-msgstr "Hvilken nøglestørrelse ønsker du for krypteringsnøglen? (%u) "
-
-#, c-format
-msgid "What keysize do you want for the Authentication key? (%u) "
-msgstr "Hvilken nøglestørrelse ønsker du for godkendelsesnøglen? (%u) "
-
-#, fuzzy, c-format
-#| msgid "The card will now be re-configured to generate a key of %u bits\n"
-msgid "The card will now be re-configured to generate a key of type: %s\n"
-msgstr "Kortet vil nu blive omkonfigureret til at oprette en nøgle på %u bit\n"
+msgid "What keysize do you want? (%u) "
+msgstr "Hvilken nøglestørrelse ønsker du? (%u) "
#, c-format
msgid "rounded up to %u bits\n"
@@ -1482,14 +1469,63 @@ msgstr "afrundet op til %u bit\n"
msgid "%s keysizes must be in the range %u-%u\n"
msgstr "%s nøglestørrelser skal være i intervallet %u-%u\n"
+msgid "Changing card key attribute for: "
+msgstr ""
+
+#, fuzzy
+#| msgid " (1) Signature key\n"
+msgid "Signature key\n"
+msgstr " (1) Underskriftsnøgle\n"
+
+#, fuzzy
+#| msgid " (2) Encryption key\n"
+msgid "Encryption key\n"
+msgstr " (2) Krypteringsnøgle\n"
+
+#, fuzzy
+#| msgid " (3) Authentication key\n"
+msgid "Authentication key\n"
+msgstr " (3) Godkendelsesnøgle\n"
+
+msgid "Please select what kind of key you want:\n"
+msgstr "Vælg venligst hvilken slags nøgle du vil have:\n"
+
+#, c-format
+msgid " (%d) RSA\n"
+msgstr " (%d) RSA\n"
+
+#, fuzzy, c-format
+#| msgid " (%d) DSA and Elgamal\n"
+msgid " (%d) ECC\n"
+msgstr " (%d) DSA og Elgamal\n"
+
+msgid "Invalid selection.\n"
+msgstr "Ugyldigt valg.\n"
+
#, c-format
msgid "The card will now be re-configured to generate a key of %u bits\n"
msgstr "Kortet vil nu blive omkonfigureret til at oprette en nøgle på %u bit\n"
-#, c-format
-msgid "error changing size of key %d to %u bits: %s\n"
+#, fuzzy, c-format
+#| msgid "The card will now be re-configured to generate a key of %u bits\n"
+msgid "The card will now be re-configured to generate a key of type: %s\n"
+msgstr "Kortet vil nu blive omkonfigureret til at oprette en nøgle på %u bit\n"
+
+#, fuzzy, c-format
+#| msgid "error changing size of key %d to %u bits: %s\n"
+msgid "error changing key attribute for key %d: %s\n"
msgstr "fejl ved ændring af størrelsen på nøglen %d til %u bit: %s\n"
+#, fuzzy, c-format
+#| msgid "error getting current key info: %s\n"
+msgid "error getting card info: %s\n"
+msgstr "fejl ved indhentelse af aktuel nøgleinformation: %s\n"
+
+#, fuzzy
+#| msgid "This command is not allowed while in %s mode.\n"
+msgid "This command is not supported by this card\n"
+msgstr "Denne kommando er ikke tilladt i tilstanden %s.\n"
+
msgid "Make off-card backup of encryption key? (Y/n) "
msgstr ""
"Lav sikkerhedskopi et andet sted end på kortet for krypteringsnøglen? (J/n) "
@@ -1528,9 +1564,6 @@ msgstr " (2) Krypteringsnøgle\n"
msgid " (3) Authentication key\n"
msgstr " (3) Godkendelsesnøgle\n"
-msgid "Invalid selection.\n"
-msgstr "Ugyldigt valg.\n"
-
msgid "Please select where to store the key:\n"
msgstr "Vælg venligst hvor nøglen skal gemmes:\n"
@@ -1540,11 +1573,6 @@ msgid "KEYTOCARD failed: %s\n"
msgstr "læsning mislykkedes: %s\n"
#, fuzzy
-#| msgid "This command is not allowed while in %s mode.\n"
-msgid "This command is not supported by this card\n"
-msgstr "Denne kommando er ikke tilladt i tilstanden %s.\n"
-
-#, fuzzy
#| msgid "NOTE: keys are already stored on the card!\n"
msgid "Note: This command destroys all keys stored on the card!\n"
msgstr "BEMÆRK: Nøgler er allerede gemt på kortet!\n"
@@ -1557,6 +1585,11 @@ msgstr "Underskriv? (j/N) "
msgid "Really do a factory reset? (enter \"yes\") "
msgstr ""
+#, fuzzy, c-format
+#| msgid "error closing %s: %s\n"
+msgid "error for setup KDF: %s\n"
+msgstr "fejl ved lukning af %s: %s\n"
+
msgid "quit this menu"
msgstr "afslut denne menu"
@@ -1608,6 +1641,14 @@ msgstr "fjern blokering for PIN'en med en nulstillingskode"
msgid "destroy all keys and data"
msgstr ""
+msgid "setup KDF for PIN authentication"
+msgstr ""
+
+#, fuzzy
+#| msgid "change the ownertrust"
+msgid "change the key attribute"
+msgstr "ændr ejertroværdigheden"
+
msgid "gpg/card> "
msgstr "gpg/card> "
@@ -2316,6 +2357,11 @@ msgid "invalid pinentry mode '%s'\n"
msgstr "ugyldig landekode i »%s«, linje %d\n"
#, fuzzy, c-format
+#| msgid "missing argument for option \"%.50s\"\n"
+msgid "invalid request origin '%s'\n"
+msgstr "manglende parameter for indstilling »%.50s«\n"
+
+#, fuzzy, c-format
#| msgid "`%s' is not a valid character set\n"
msgid "'%s' is not a valid character set\n"
msgstr "»%s« er ikke et gyldigt tegnsæt\n"
@@ -3409,14 +3455,14 @@ msgstr ""
msgid "Key is revoked."
msgstr "Nøglen er tilbagekaldt."
-msgid "Really sign all user IDs? (y/N) "
-msgstr "Vil du gerne underskrive alle bruger-id'er (j/N) "
-
#, fuzzy
#| msgid "Really sign all user IDs? (y/N) "
msgid "Really sign all text user IDs? (y/N) "
msgstr "Vil du gerne underskrive alle bruger-id'er (j/N) "
+msgid "Really sign all user IDs? (y/N) "
+msgstr "Vil du gerne underskrive alle bruger-id'er (j/N) "
+
msgid "Hint: Select the user IDs to sign\n"
msgstr "Fif: Vælg bruger-id'erne at underskrive\n"
@@ -3780,6 +3826,16 @@ msgstr "Ændrer udløbstidspunkt for den primære nøgle.\n"
msgid "You can't change the expiration date of a v3 key\n"
msgstr "Du kan ikke ændre udløbsdatoen for en v3-nøgle\n"
+#, fuzzy
+#| msgid "Changing expiration time for a subkey.\n"
+msgid "Changing usage of a subkey.\n"
+msgstr "Ændrer udløbstidspunkt for en undernøgle.\n"
+
+#, fuzzy
+#| msgid "Changing expiration time for the primary key.\n"
+msgid "Changing usage of the primary key.\n"
+msgstr "Ændrer udløbstidspunkt for den primære nøgle.\n"
+
#, c-format
msgid "signing subkey %s is already cross-certified\n"
msgstr "underskriftsundernøgle %s er allerede krydscertificeret\n"
@@ -3997,9 +4053,6 @@ msgstr " (%c) Skift evnen til at godkende\n"
msgid " (%c) Finished\n"
msgstr " (%c) Afsluttet\n"
-msgid "Please select what kind of key you want:\n"
-msgstr "Vælg venligst hvilken slags nøgle du vil have:\n"
-
#, c-format
msgid " (%d) RSA and RSA (default)\n"
msgstr " (%d) RSA og RSA (standard)\n"
@@ -4083,10 +4136,6 @@ msgid "What keysize do you want for the subkey? (%u) "
msgstr "Hvilken nøglestørrelse ønsker du for undernøglen? (%u) "
#, c-format
-msgid "What keysize do you want? (%u) "
-msgstr "Hvilken nøglestørrelse ønsker du? (%u) "
-
-#, c-format
msgid "Requested keysize is %u bits\n"
msgstr "Ønsket nøglestørrelse er %u bit\n"
@@ -5526,6 +5575,11 @@ msgstr "BEMÆRK: underskriftnøgle %s udløb %s\n"
msgid "Note: signature key %s has been revoked\n"
msgstr "BEMÆRK: underskriftnøgle %s er blevet tilbagekaldt\n"
+#, fuzzy, c-format
+#| msgid "standalone signature of class 0x%02x\n"
+msgid "bad key signature from key %s: %s (0x%02x, 0x%x)\n"
+msgstr "uafhængig underskrift for klasse 0x%02x\n"
+
#, c-format
msgid "assuming bad signature from key %s due to an unknown critical bit\n"
msgstr ""
@@ -6941,10 +6995,6 @@ msgstr ""
"adgangsfrasen for nøglen du netop oprettede endnu en gang.\n"
#, c-format
-msgid " (%d) RSA\n"
-msgstr " (%d) RSA\n"
-
-#, c-format
msgid " (%d) Existing key\n"
msgstr " (%d) Eksisterende nøgle\n"
@@ -9209,6 +9259,15 @@ msgstr ""
"Syntaks: gpg-check-pattern [tilvalg] mønsterfil\n"
"Kontroller en adgangsfrase angivet på stdin mod mønsterfilen\n"
+#~ msgid "What keysize do you want for the Signature key? (%u) "
+#~ msgstr "Hvilken nøglestørrelse ønsker du for underskriftsnøglen (%u) "
+
+#~ msgid "What keysize do you want for the Encryption key? (%u) "
+#~ msgstr "Hvilken nøglestørrelse ønsker du for krypteringsnøglen? (%u) "
+
+#~ msgid "What keysize do you want for the Authentication key? (%u) "
+#~ msgstr "Hvilken nøglestørrelse ønsker du for godkendelsesnøglen? (%u) "
+
#~ msgid "listen() failed: %s\n"
#~ msgstr "listen() mislykkedes: %s\n"
diff --git a/po/de.po b/po/de.po
index 4351d32bd..ae5fef24b 100644
--- a/po/de.po
+++ b/po/de.po
@@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gnupg-2.1.0\n"
"Report-Msgid-Bugs-To: [email protected]\n"
-"PO-Revision-Date: 2017-12-19 12:28+0100\n"
+"PO-Revision-Date: 2018-04-09 20:39+0200\n"
"Last-Translator: Werner Koch <[email protected]>\n"
"Language-Team: German <[email protected]>\n"
"Language: de\n"
@@ -1360,30 +1360,42 @@ msgstr ""
" zu Rate.\n"
#, c-format
-msgid "What keysize do you want for the Signature key? (%u) "
-msgstr "Welche Schlüssellänge wünschen Sie für den Signatur-Schlüssel? (%u) "
+msgid "What keysize do you want? (%u) "
+msgstr "Welche Schlüssellänge wünschen Sie? (%u) "
#, c-format
-msgid "What keysize do you want for the Encryption key? (%u) "
-msgstr ""
-"Welche Schlüssellänge wünschen Sie für den Verschlüsselungs-Schlüssel? (%u) "
+msgid "rounded up to %u bits\n"
+msgstr "aufgerundet auf %u Bit\n"
#, c-format
-msgid "What keysize do you want for the Authentication key? (%u) "
-msgstr ""
-"Welche Schlüssellänge wünschen Sie für den Authentisierungs-Schlüssel? (%u) "
+msgid "%s keysizes must be in the range %u-%u\n"
+msgstr "%s-Schlüssellängen müssen im Bereich %u-%u sein\n"
-#, c-format
-msgid "The card will now be re-configured to generate a key of type: %s\n"
-msgstr "Die Karte wird nun rekonfiguriert für einen Schlüssel des Typs: %s\n"
+msgid "Changing card key attribute for: "
+msgstr "Ändern des Schlüsselattributs für den: "
+
+msgid "Signature key\n"
+msgstr "Signatur-Schlüssel\n"
+
+msgid "Encryption key\n"
+msgstr "Verschlüsselungs-Schlüssel\n"
+
+msgid "Authentication key\n"
+msgstr "Authentisierungs-Schlüssel\n"
+
+msgid "Please select what kind of key you want:\n"
+msgstr "Bitte wählen Sie, welche Art von Schlüssel Sie möchten:\n"
#, c-format
-msgid "rounded up to %u bits\n"
-msgstr "aufgerundet auf %u Bit\n"
+msgid " (%d) RSA\n"
+msgstr " (%d) RSA\n"
#, c-format
-msgid "%s keysizes must be in the range %u-%u\n"
-msgstr "%s-Schlüssellängen müssen im Bereich %u-%u sein\n"
+msgid " (%d) ECC\n"
+msgstr " (%d) ECC\n"
+
+msgid "Invalid selection.\n"
+msgstr "Ungültige Auswahl.\n"
#, c-format
msgid "The card will now be re-configured to generate a key of %u bits\n"
@@ -1392,8 +1404,19 @@ msgstr ""
"erzeugen\n"
#, c-format
-msgid "error changing size of key %d to %u bits: %s\n"
-msgstr "Fehler bem Ändern der Länge des Schlüssels %d auf %u Bit: %s\n"
+msgid "The card will now be re-configured to generate a key of type: %s\n"
+msgstr "Die Karte wird nun rekonfiguriert für einen Schlüssel des Typs: %s\n"
+
+#, c-format
+msgid "error changing key attribute for key %d: %s\n"
+msgstr "Fehler beim Ändern der Attributs des Schlüssels %d: %s\n"
+
+#, c-format
+msgid "error getting card info: %s\n"
+msgstr "Fehler beim Holen der aktuellen Schlüsselinfo: %s\n"
+
+msgid "This command is not supported by this card\n"
+msgstr "Dieser Befehl wird von dieser Karte nicht unterstützt.\n"
msgid "Make off-card backup of encryption key? (Y/n) "
msgstr ""
@@ -1427,9 +1450,6 @@ msgstr " (2) Verschlüsselungs-Schlüssel\n"
msgid " (3) Authentication key\n"
msgstr " (3) Authentisierungs-Schlüssel\n"
-msgid "Invalid selection.\n"
-msgstr "Ungültige Auswahl.\n"
-
msgid "Please select where to store the key:\n"
msgstr "Wählen Sie den Speicherort für den Schlüssel:\n"
@@ -1437,9 +1457,6 @@ msgstr "Wählen Sie den Speicherort für den Schlüssel:\n"
msgid "KEYTOCARD failed: %s\n"
msgstr "Das KEYTOCARD Kommando schlug fehl: %s\n"
-msgid "This command is not supported by this card\n"
-msgstr "Dieser Befehl wird von dieser Karte nicht unterstützt.\n"
-
msgid "Note: This command destroys all keys stored on the card!\n"
msgstr ""
"Hinweis: Dieses Kommando zerstörrt alle auf der Karte gespeicherten "
@@ -1451,6 +1468,10 @@ msgstr "Fortsetzen? (j/N) "
msgid "Really do a factory reset? (enter \"yes\") "
msgstr "Möchten Sie die Karte wirklich komplett löschen? (\"yes\" eingeben) "
+#, c-format
+msgid "error for setup KDF: %s\n"
+msgstr "Fehler beim Einstellen der KDF: %s\n"
+
msgid "quit this menu"
msgstr "Menü verlassen"
@@ -1502,6 +1523,12 @@ msgstr "die PIN mit dem Rückstellcode wieder freigeben"
msgid "destroy all keys and data"
msgstr "alle Schlüssel und Daten löschen"
+msgid "setup KDF for PIN authentication"
+msgstr "Einrichten der KDF zur Authentifizierung"
+
+msgid "change the key attribute"
+msgstr "Das Schlüsselattribut ändern"
+
msgid "gpg/card> "
msgstr "gpg/card> "
@@ -2150,6 +2177,10 @@ msgid "invalid pinentry mode '%s'\n"
msgstr "Ungültiger Subjekt-Name '%s'\n"
#, c-format
+msgid "invalid request origin '%s'\n"
+msgstr "Ungültiges \"Herkunft\"-Argument '%s'\n"
+
+#, c-format
msgid "'%s' is not a valid character set\n"
msgstr "`%s' ist kein gültiger Zeichensatz\n"
@@ -3212,12 +3243,12 @@ msgstr ""
msgid "Key is revoked."
msgstr "Schlüssel wurde widerrufen."
-msgid "Really sign all user IDs? (y/N) "
-msgstr "Wirklich alle User-IDs beglaubigen? (j/N) "
-
msgid "Really sign all text user IDs? (y/N) "
msgstr "Wirklich alle textbasierten User-IDs beglaubigen? (j/N) "
+msgid "Really sign all user IDs? (y/N) "
+msgstr "Wirklich alle User-IDs beglaubigen? (j/N) "
+
msgid "Hint: Select the user IDs to sign\n"
msgstr "Tip: Wählen Sie die User-IDs, die beglaubigt werden sollen\n"
@@ -3563,6 +3594,12 @@ msgstr "Ändern des Verfallsdatums des Hauptschlüssels.\n"
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"
+msgid "Changing usage of a subkey.\n"
+msgstr "Ändern des Schlüsselverwendungszweckes des Unterschlüssels.\n"
+
+msgid "Changing usage of the primary key.\n"
+msgstr "Ändern des Schlüsselverwendungszweckes des Hauptschlüssels.\n"
+
#, c-format
msgid "signing subkey %s is already cross-certified\n"
msgstr "Signaturunterschlüssel %s ist bereits rücksigniert\n"
@@ -3775,9 +3812,6 @@ msgstr " (%c) Umschalten der Authentisierungsnutzbarkeit\n"
msgid " (%c) Finished\n"
msgstr " (%c) Beenden\n"
-msgid "Please select what kind of key you want:\n"
-msgstr "Bitte wählen Sie, welche Art von Schlüssel Sie möchten:\n"
-
#, c-format
msgid " (%d) RSA and RSA (default)\n"
msgstr " (%d) RSA und RSA (voreingestellt)\n"
@@ -3852,10 +3886,6 @@ msgid "What keysize do you want for the subkey? (%u) "
msgstr "Welche Schlüssellänge wünschen Sie für den Unterschlüssel? (%u) "
#, c-format
-msgid "What keysize do you want? (%u) "
-msgstr "Welche Schlüssellänge wünschen Sie? (%u) "
-
-#, c-format
msgid "Requested keysize is %u bits\n"
msgstr "Die verlangte Schlüssellänge beträgt %u Bit\n"
@@ -5262,6 +5292,10 @@ msgid "Note: signature key %s has been revoked\n"
msgstr "Hinweis: Signaturschlüssel %s wurde widerrufen\n"
#, c-format
+msgid "bad key signature from key %s: %s (0x%02x, 0x%x)\n"
+msgstr "Falsche Schlüsselsignatur von Schlüssel %s: %s (0x%02x, 0x%x)\n"
+
+#, c-format
msgid "assuming bad signature from key %s due to an unknown critical bit\n"
msgstr ""
"Vermutlich eine FALSCHE Signatur von Schlüssel %s, wegen unbekanntem "
@@ -6734,10 +6768,6 @@ msgstr ""
"noch einmal die Passphrase des soeben erzeugten Schlüssels ein.\n"
#, c-format
-msgid " (%d) RSA\n"
-msgstr " (%d) RSA\n"
-
-#, c-format
msgid " (%d) Existing key\n"
msgstr " (%d) Vorhandener Schlüssel\n"
@@ -8755,6 +8785,20 @@ msgstr ""
"Syntax: gpg-check-pattern [optionen] Musterdatei\n"
"Die von stdin gelesene Passphrase gegen die Musterdatei prüfen\n"
+#~ msgid "What keysize do you want for the Signature key? (%u) "
+#~ msgstr ""
+#~ "Welche Schlüssellänge wünschen Sie für den Signatur-Schlüssel? (%u) "
+
+#~ msgid "What keysize do you want for the Encryption key? (%u) "
+#~ msgstr ""
+#~ "Welche Schlüssellänge wünschen Sie für den Verschlüsselungs-Schlüssel? "
+#~ "(%u) "
+
+#~ msgid "What keysize do you want for the Authentication key? (%u) "
+#~ msgstr ""
+#~ "Welche Schlüssellänge wünschen Sie für den Authentisierungs-Schlüssel? "
+#~ "(%u) "
+
#~ msgid "listen() failed: %s\n"
#~ msgstr "Der listen()-Aufruf ist fehlgeschlagen: %s\n"
@@ -9255,9 +9299,6 @@ msgstr ""
#~ msgstr ""
#~ "Verbindung zum gpg-agent nicht möglich - Ersatzmethode wird versucht\n"
-#~ msgid " (%d) ECC\n"
-#~ msgstr " (%d) ECC\n"
-
#~ msgid "can't create directory `%s': %s\n"
#~ msgstr " git describe --match gnupg-2.1.*[0-9] --long"
diff --git a/po/el.po b/po/el.po
index 749b333ee..def69a414 100644
--- a/po/el.po
+++ b/po/el.po
@@ -1424,22 +1424,10 @@ msgid ""
msgstr ""
#, fuzzy, c-format
-msgid "What keysize do you want for the Signature key? (%u) "
-msgstr "Τι μέγεθος κλειδιού θα θέλατε; (1024) "
-
-#, fuzzy, c-format
-msgid "What keysize do you want for the Encryption key? (%u) "
-msgstr "Τι μέγεθος κλειδιού θα θέλατε; (1024) "
-
-#, fuzzy, c-format
-msgid "What keysize do you want for the Authentication key? (%u) "
+msgid "What keysize do you want? (%u) "
msgstr "Τι μέγεθος κλειδιού θα θέλατε; (1024) "
#, c-format
-msgid "The card will now be re-configured to generate a key of type: %s\n"
-msgstr ""
-
-#, c-format
msgid "rounded up to %u bits\n"
msgstr "στρογγυλοποιήθηκε έως τα %u bits\n"
@@ -1447,14 +1435,55 @@ msgstr "στρογγυλοποιήθηκε έως τα %u bits\n"
msgid "%s keysizes must be in the range %u-%u\n"
msgstr ""
+msgid "Changing card key attribute for: "
+msgstr ""
+
+#, fuzzy
+msgid "Signature key\n"
+msgstr "Υπογραφή έληξε στις %s.\n"
+
+#, fuzzy
+msgid "Encryption key\n"
+msgstr " (%d) RSA (για κρυπτογράφηση μόνο)\n"
+
+msgid "Authentication key\n"
+msgstr ""
+
+msgid "Please select what kind of key you want:\n"
+msgstr "Παρακαλώ επιλέξτε τον τύπο του κλειδιού που θέλετε:\n"
+
+#, fuzzy, c-format
+msgid " (%d) RSA\n"
+msgstr " (%d) RSA (για υπογραφή μόνο)\n"
+
+#, fuzzy, c-format
+msgid " (%d) ECC\n"
+msgstr " (%d) DSA και ElGamal (προκαθορισμένο)\n"
+
+msgid "Invalid selection.\n"
+msgstr "Μη έγκυρη επιλογή.\n"
+
#, c-format
msgid "The card will now be re-configured to generate a key of %u bits\n"
msgstr ""
+#, c-format
+msgid "The card will now be re-configured to generate a key of type: %s\n"
+msgstr ""
+
#, fuzzy, c-format
-msgid "error changing size of key %d to %u bits: %s\n"
+msgid "error changing key attribute for key %d: %s\n"
msgstr "σφάλμα στη αποστολή προς το `%s': %s\n"
+#, fuzzy, c-format
+msgid "error getting card info: %s\n"
+msgstr "αδυναμία εγγραφής μυστικής κλειδοθήκης `%s': %s\n"
+
+#, fuzzy
+#| msgid "This command is not allowed while in %s mode.\n"
+msgid "This command is not supported by this card\n"
+msgstr "Αυτή η εντολή απαγορεύετε σε αυτή την κατάσταση %s.\n"
+
msgid "Make off-card backup of encryption key? (Y/n) "
msgstr ""
@@ -1487,9 +1516,6 @@ msgstr " (%d) RSA (για κρυπτογράφηση μόνο)\n"
msgid " (3) Authentication key\n"
msgstr ""
-msgid "Invalid selection.\n"
-msgstr "Μη έγκυρη επιλογή.\n"
-
#, fuzzy
msgid "Please select where to store the key:\n"
msgstr "Παρακαλώ επιλέξτε την αιτία για την ανάκληση:\n"
@@ -1499,11 +1525,6 @@ msgid "KEYTOCARD failed: %s\n"
msgstr "η ενημέρωση απέτυχε: %s\n"
#, fuzzy
-#| msgid "This command is not allowed while in %s mode.\n"
-msgid "This command is not supported by this card\n"
-msgstr "Αυτή η εντολή απαγορεύετε σε αυτή την κατάσταση %s.\n"
-
-#, fuzzy
msgid "Note: This command destroys all keys stored on the card!\n"
msgstr "παραλείφθηκε: μυστικό κλειδί ήδη παρών\n"
@@ -1514,6 +1535,10 @@ msgstr "Σίγουρα να υπογραφεί; "
msgid "Really do a factory reset? (enter \"yes\") "
msgstr ""
+#, fuzzy, c-format
+msgid "error for setup KDF: %s\n"
+msgstr "σφάλμα κατά την ανάγνωση του `%s': %s\n"
+
msgid "quit this menu"
msgstr "τερματισμός αυτού του μενού"
@@ -1571,6 +1596,16 @@ msgstr ""
msgid "destroy all keys and data"
msgstr ""
+#, fuzzy
+#| msgid "|NAME|use NAME as default recipient"
+msgid "setup KDF for PIN authentication"
+msgstr "|ΟΝΟΜΑ|χρήση του ΟΝΟΜΑτος ως προκαθορισμένου παραλήπτη"
+
+#, fuzzy
+#| msgid "change the ownertrust"
+msgid "change the key attribute"
+msgstr "αλλαγή της εμπιστοσύνης ιδιοκτήτη"
+
msgid "gpg/card> "
msgstr ""
@@ -2278,6 +2313,10 @@ msgid "invalid pinentry mode '%s'\n"
msgstr "μη έγκυρος αλγόριθμος hash `%s'\n"
#, fuzzy, c-format
+msgid "invalid request origin '%s'\n"
+msgstr "μη έγκυρες επιλογές ειγαγωγής\n"
+
+#, fuzzy, c-format
msgid "'%s' is not a valid character set\n"
msgstr "το %s δεν είναι έγκυρο σετ χαρακτήρων\n"
@@ -3392,11 +3431,11 @@ msgid "Key is revoked."
msgstr "Το κλειδί ανακλήθηκε."
#, fuzzy
-msgid "Really sign all user IDs? (y/N) "
+msgid "Really sign all text user IDs? (y/N) "
msgstr "Σίγουρα να υπογραφούν όλα τα user ID; "
#, fuzzy
-msgid "Really sign all text user IDs? (y/N) "
+msgid "Really sign all user IDs? (y/N) "
msgstr "Σίγουρα να υπογραφούν όλα τα user ID; "
msgid "Hint: Select the user IDs to sign\n"
@@ -3773,6 +3812,15 @@ msgstr "Αλλαγή ημερομηνίας λήξης για ένα πρωτε�
msgid "You can't change the expiration date of a v3 key\n"
msgstr "Δεν μπορείτε να αλλάξετε την ημερομηνία λήξης σε ένα v3 κλειδί\n"
+#, fuzzy
+msgid "Changing usage of a subkey.\n"
+msgstr "Αλλαγή ημερομηνίας λήξης για ένα δευτερεύον κλειδί.\n"
+
+#, fuzzy
+#| msgid "Changing expiration time for the primary key.\n"
+msgid "Changing usage of the primary key.\n"
+msgstr "Αλλαγή ημερομηνίας λήξης για ένα πρωτεύον κλειδί.\n"
+
#, fuzzy, c-format
msgid "signing subkey %s is already cross-certified\n"
msgstr ""
@@ -3996,9 +4044,6 @@ msgstr ""
msgid " (%c) Finished\n"
msgstr ""
-msgid "Please select what kind of key you want:\n"
-msgstr "Παρακαλώ επιλέξτε τον τύπο του κλειδιού που θέλετε:\n"
-
#, fuzzy, c-format
msgid " (%d) RSA and RSA (default)\n"
msgstr " (%d) DSA και ElGamal (προκαθορισμένο)\n"
@@ -4077,10 +4122,6 @@ msgstr ""
msgid "What keysize do you want for the subkey? (%u) "
msgstr "Τι μέγεθος κλειδιού θα θέλατε; (1024) "
-#, fuzzy, c-format
-msgid "What keysize do you want? (%u) "
-msgstr "Τι μέγεθος κλειδιού θα θέλατε; (1024) "
-
#, c-format
msgid "Requested keysize is %u bits\n"
msgstr "Το μέγεθος κλειδιού που ζητήθηκε είναι %u bits\n"
@@ -5511,6 +5552,11 @@ msgid "Note: signature key %s has been revoked\n"
msgstr "ΣΗΜΕΙΩΣΗ: το κλειδί έχει ανακληθεί"
#, fuzzy, c-format
+#| msgid "standalone signature of class 0x%02x\n"
+msgid "bad key signature from key %s: %s (0x%02x, 0x%x)\n"
+msgstr "ανεξάρτητη υπογραφή κλάσης 0x%02x\n"
+
+#, fuzzy, c-format
msgid "assuming bad signature from key %s due to an unknown critical bit\n"
msgstr "υπόθεση κακής υπογραφής από κλειδί %08lX λόγω άγνωστου κρίσιμου bit\n"
@@ -6896,10 +6942,6 @@ msgid ""
msgstr ""
#, fuzzy, c-format
-msgid " (%d) RSA\n"
-msgstr " (%d) RSA (για υπογραφή μόνο)\n"
-
-#, fuzzy, c-format
msgid " (%d) Existing key\n"
msgstr " (%d) RSA (για κρυπτογράφηση μόνο)\n"
@@ -8976,6 +9018,18 @@ msgid ""
msgstr ""
#, fuzzy
+#~ msgid "What keysize do you want for the Signature key? (%u) "
+#~ msgstr "Τι μέγεθος κλειδιού θα θέλατε; (1024) "
+
+#, fuzzy
+#~ msgid "What keysize do you want for the Encryption key? (%u) "
+#~ msgstr "Τι μέγεθος κλειδιού θα θέλατε; (1024) "
+
+#, fuzzy
+#~ msgid "What keysize do you want for the Authentication key? (%u) "
+#~ msgstr "Τι μέγεθος κλειδιού θα θέλατε; (1024) "
+
+#, fuzzy
#~ msgid "listen() failed: %s\n"
#~ msgstr "η ενημέρωση απέτυχε: %s\n"
diff --git a/po/eo.po b/po/eo.po
index 002e2dc17..0e3f40c27 100644
--- a/po/eo.po
+++ b/po/eo.po
@@ -1426,22 +1426,10 @@ msgid ""
msgstr ""
#, fuzzy, c-format
-msgid "What keysize do you want for the Signature key? (%u) "
-msgstr "Kiun ŝlosilgrandon vi deziras? (1024) "
-
-#, fuzzy, c-format
-msgid "What keysize do you want for the Encryption key? (%u) "
-msgstr "Kiun ŝlosilgrandon vi deziras? (1024) "
-
-#, fuzzy, c-format
-msgid "What keysize do you want for the Authentication key? (%u) "
+msgid "What keysize do you want? (%u) "
msgstr "Kiun ŝlosilgrandon vi deziras? (1024) "
#, c-format
-msgid "The card will now be re-configured to generate a key of type: %s\n"
-msgstr ""
-
-#, c-format
msgid "rounded up to %u bits\n"
msgstr "rondigita ĝis %u bitoj\n"
@@ -1449,14 +1437,55 @@ msgstr "rondigita ĝis %u bitoj\n"
msgid "%s keysizes must be in the range %u-%u\n"
msgstr ""
+msgid "Changing card key attribute for: "
+msgstr ""
+
+#, fuzzy
+msgid "Signature key\n"
+msgstr "Ĉi tiu ŝlosilo eksvalidiĝos je %s.\n"
+
+#, fuzzy
+msgid "Encryption key\n"
+msgstr " (%d) RSA (nur ĉifri)\n"
+
+msgid "Authentication key\n"
+msgstr ""
+
+msgid "Please select what kind of key you want:\n"
+msgstr "Bonvolu elekti, kian ŝlosilon vi deziras:\n"
+
+#, fuzzy, c-format
+msgid " (%d) RSA\n"
+msgstr " (%d) RSA (nur subskribi)\n"
+
+#, fuzzy, c-format
+msgid " (%d) ECC\n"
+msgstr " (%d) DSA kaj ElGamal (implicita elekto)\n"
+
+msgid "Invalid selection.\n"
+msgstr "Nevalida elekto.\n"
+
#, c-format
msgid "The card will now be re-configured to generate a key of %u bits\n"
msgstr ""
+#, c-format
+msgid "The card will now be re-configured to generate a key of type: %s\n"
+msgstr ""
+
#, fuzzy, c-format
-msgid "error changing size of key %d to %u bits: %s\n"
+msgid "error changing key attribute for key %d: %s\n"
msgstr "eraro dum sendo al '%s': %s\n"
+#, fuzzy, c-format
+msgid "error getting card info: %s\n"
+msgstr "eraro dum skribado de sekreta ŝlosilaro '%s': %s\n"
+
+#, fuzzy
+#| msgid "This command is not allowed while in %s mode.\n"
+msgid "This command is not supported by this card\n"
+msgstr "Tiu komando ne eblas en la reĝimo %s.\n"
+
msgid "Make off-card backup of encryption key? (Y/n) "
msgstr ""
@@ -1489,9 +1518,6 @@ msgstr " (%d) RSA (nur ĉifri)\n"
msgid " (3) Authentication key\n"
msgstr ""
-msgid "Invalid selection.\n"
-msgstr "Nevalida elekto.\n"
-
#, fuzzy
msgid "Please select where to store the key:\n"
msgstr "Kialo por revoko: "
@@ -1501,11 +1527,6 @@ msgid "KEYTOCARD failed: %s\n"
msgstr "aktualigo malsukcesis: %s\n"
#, fuzzy
-#| msgid "This command is not allowed while in %s mode.\n"
-msgid "This command is not supported by this card\n"
-msgstr "Tiu komando ne eblas en la reĝimo %s.\n"
-
-#, fuzzy
msgid "Note: This command destroys all keys stored on the card!\n"
msgstr "ignorita: sekreta ŝlosilo jam ĉeestas\n"
@@ -1516,6 +1537,10 @@ msgstr "Ĉu vere subskribi? "
msgid "Really do a factory reset? (enter \"yes\") "
msgstr ""
+#, fuzzy, c-format
+msgid "error for setup KDF: %s\n"
+msgstr "eraro dum legado de '%s': %s\n"
+
msgid "quit this menu"
msgstr "forlasi ĉi tiun menuon"
@@ -1573,6 +1598,16 @@ msgstr ""
msgid "destroy all keys and data"
msgstr ""
+#, fuzzy
+#| msgid "|NAME|use NAME as default recipient"
+msgid "setup KDF for PIN authentication"
+msgstr "|NOMO|uzi NOMOn kiel implicitan ricevonton"
+
+#, fuzzy
+#| msgid "change the ownertrust"
+msgid "change the key attribute"
+msgstr "ŝanĝi la posedantofidon"
+
msgid "gpg/card> "
msgstr ""
@@ -2258,6 +2293,10 @@ msgid "invalid pinentry mode '%s'\n"
msgstr "nevalida kompendi-metodo '%s'\n"
#, fuzzy, c-format
+msgid "invalid request origin '%s'\n"
+msgstr "nevalida kiraso"
+
+#, fuzzy, c-format
msgid "'%s' is not a valid character set\n"
msgstr "%s ne estas valida signaro\n"
@@ -3377,11 +3416,11 @@ msgid "Key is revoked."
msgstr "Ŝlosilo estas revokita.\n"
#, fuzzy
-msgid "Really sign all user IDs? (y/N) "
+msgid "Really sign all text user IDs? (y/N) "
msgstr "Ĉu vere subskribi ĉiujn uzantidentigilojn? "
#, fuzzy
-msgid "Really sign all text user IDs? (y/N) "
+msgid "Really sign all user IDs? (y/N) "
msgstr "Ĉu vere subskribi ĉiujn uzantidentigilojn? "
msgid "Hint: Select the user IDs to sign\n"
@@ -3745,6 +3784,15 @@ msgstr "Ŝanĝas la daton de eksvalidiĝo de la ĉefa ŝlosilo.\n"
msgid "You can't change the expiration date of a v3 key\n"
msgstr "Vi ne povas ŝanĝi la daton de eksvalidiĝo de v3-ŝlosilo\n"
+#, fuzzy
+msgid "Changing usage of a subkey.\n"
+msgstr "Ŝanĝas la daton de eksvalidiĝo de flanka ŝlosilo.\n"
+
+#, fuzzy
+#| msgid "Changing expiration time for the primary key.\n"
+msgid "Changing usage of the primary key.\n"
+msgstr "Ŝanĝas la daton de eksvalidiĝo de la ĉefa ŝlosilo.\n"
+
#, fuzzy, c-format
msgid "signing subkey %s is already cross-certified\n"
msgstr "Uzantidentigilo \"%s\" estas revokita.\n"
@@ -3969,9 +4017,6 @@ msgstr ""
msgid " (%c) Finished\n"
msgstr ""
-msgid "Please select what kind of key you want:\n"
-msgstr "Bonvolu elekti, kian ŝlosilon vi deziras:\n"
-
#, fuzzy, c-format
msgid " (%d) RSA and RSA (default)\n"
msgstr " (%d) DSA kaj ElGamal (implicita elekto)\n"
@@ -4050,10 +4095,6 @@ msgstr ""
msgid "What keysize do you want for the subkey? (%u) "
msgstr "Kiun ŝlosilgrandon vi deziras? (1024) "
-#, fuzzy, c-format
-msgid "What keysize do you want? (%u) "
-msgstr "Kiun ŝlosilgrandon vi deziras? (1024) "
-
#, c-format
msgid "Requested keysize is %u bits\n"
msgstr "Petita ŝlosilgrando estas %u bitoj\n"
@@ -5462,6 +5503,11 @@ msgid "Note: signature key %s has been revoked\n"
msgstr "ŝlosilo %08lX: ŝlosilo estas revokita!\n"
#, fuzzy, c-format
+#| msgid "standalone signature of class 0x%02x\n"
+msgid "bad key signature from key %s: %s (0x%02x, 0x%x)\n"
+msgstr "memstara subskribo de klaso 0x%02x\n"
+
+#, fuzzy, c-format
msgid "assuming bad signature from key %s due to an unknown critical bit\n"
msgstr "supozas malbonan subskribon pro nekonata \"critical bit\"\n"
@@ -6847,10 +6893,6 @@ msgid ""
msgstr ""
#, fuzzy, c-format
-msgid " (%d) RSA\n"
-msgstr " (%d) RSA (nur subskribi)\n"
-
-#, fuzzy, c-format
msgid " (%d) Existing key\n"
msgstr " (%d) RSA (nur ĉifri)\n"
@@ -8917,6 +8959,18 @@ msgid ""
msgstr ""
#, fuzzy
+#~ msgid "What keysize do you want for the Signature key? (%u) "
+#~ msgstr "Kiun ŝlosilgrandon vi deziras? (1024) "
+
+#, fuzzy
+#~ msgid "What keysize do you want for the Encryption key? (%u) "
+#~ msgstr "Kiun ŝlosilgrandon vi deziras? (1024) "
+
+#, fuzzy
+#~ msgid "What keysize do you want for the Authentication key? (%u) "
+#~ msgstr "Kiun ŝlosilgrandon vi deziras? (1024) "
+
+#, fuzzy
#~ msgid "listen() failed: %s\n"
#~ msgstr "aktualigo malsukcesis: %s\n"
diff --git a/po/es.po b/po/es.po
index a631ced9f..1ab8e88af 100644
--- a/po/es.po
+++ b/po/es.po
@@ -1475,21 +1475,8 @@ msgstr ""
" la documentación de su tarjeta para ver los tamaños posibles.\n"
#, c-format
-msgid "What keysize do you want for the Signature key? (%u) "
-msgstr "¿De qué tamaño quiere la clave de Firmado? (%u) "
-
-#, c-format
-msgid "What keysize do you want for the Encryption key? (%u) "
-msgstr "¿De qué tamaño quiere la clave de Cifrado? (%u) "
-
-#, c-format
-msgid "What keysize do you want for the Authentication key? (%u) "
-msgstr "¿De qué tamaño quiere la clave de Autenticación? (%u) "
-
-#, fuzzy, c-format
-#| msgid "The card will now be re-configured to generate a key of %u bits\n"
-msgid "The card will now be re-configured to generate a key of type: %s\n"
-msgstr "Ahora la tarjeta se reconfigurará para generar una clave de %u bits\n"
+msgid "What keysize do you want? (%u) "
+msgstr "¿De qué tamaño quiere la clave? (%u) "
#, c-format
msgid "rounded up to %u bits\n"
@@ -1499,14 +1486,63 @@ msgstr "redondeados a %u bits\n"
msgid "%s keysizes must be in the range %u-%u\n"
msgstr "los tamaños de claves %s deben estar en el rango %u-%u\n"
+msgid "Changing card key attribute for: "
+msgstr ""
+
+#, fuzzy
+#| msgid " (1) Signature key\n"
+msgid "Signature key\n"
+msgstr " (1) Clave de firmado\n"
+
+#, fuzzy
+#| msgid " (2) Encryption key\n"
+msgid "Encryption key\n"
+msgstr " (2) Clave de cifrado\n"
+
+#, fuzzy
+#| msgid " (3) Authentication key\n"
+msgid "Authentication key\n"
+msgstr " (3) Clave de autentificación\n"
+
+msgid "Please select what kind of key you want:\n"
+msgstr "Por favor seleccione tipo de clave deseado:\n"
+
+#, c-format
+msgid " (%d) RSA\n"
+msgstr " (%d) RSA\n"
+
+#, fuzzy, c-format
+#| msgid " (%d) DSA and Elgamal\n"
+msgid " (%d) ECC\n"
+msgstr " (%d) DSA y ElGamal\n"
+
+msgid "Invalid selection.\n"
+msgstr "Elección inválida.\n"
+
#, c-format
msgid "The card will now be re-configured to generate a key of %u bits\n"
msgstr "Ahora la tarjeta se reconfigurará para generar una clave de %u bits\n"
-#, c-format
-msgid "error changing size of key %d to %u bits: %s\n"
+#, fuzzy, c-format
+#| msgid "The card will now be re-configured to generate a key of %u bits\n"
+msgid "The card will now be re-configured to generate a key of type: %s\n"
+msgstr "Ahora la tarjeta se reconfigurará para generar una clave de %u bits\n"
+
+#, fuzzy, c-format
+#| msgid "error changing size of key %d to %u bits: %s\n"
+msgid "error changing key attribute for key %d: %s\n"
msgstr "error cambiando el tamaño de la clave %d a %u bits: %s\n"
+#, fuzzy, c-format
+#| msgid "error getting current key info: %s\n"
+msgid "error getting card info: %s\n"
+msgstr "error obteniendo la información actual de la clave: %s\n"
+
+#, fuzzy
+#| msgid "This command is not allowed while in %s mode.\n"
+msgid "This command is not supported by this card\n"
+msgstr "Esta orden no se permite en modo %s.\n"
+
msgid "Make off-card backup of encryption key? (Y/n) "
msgstr ""
"¿Hacer copia de seguridad externa a la tarjeta de clave de cifrado? (S/n)"
@@ -1545,9 +1581,6 @@ msgstr " (2) Clave de cifrado\n"
msgid " (3) Authentication key\n"
msgstr " (3) Clave de autentificación\n"
-msgid "Invalid selection.\n"
-msgstr "Elección inválida.\n"
-
msgid "Please select where to store the key:\n"
msgstr "Por favor elija donde guardar la clave:\n"
@@ -1557,11 +1590,6 @@ msgid "KEYTOCARD failed: %s\n"
msgstr "lectura fallida: %s\n"
#, fuzzy
-#| msgid "This command is not allowed while in %s mode.\n"
-msgid "This command is not supported by this card\n"
-msgstr "Esta orden no se permite en modo %s.\n"
-
-#, fuzzy
#| msgid "NOTE: keys are already stored on the card!\n"
msgid "Note: This command destroys all keys stored on the card!\n"
msgstr "NOTA: ¡claves ya almacenadas en la tarjeta!\n"
@@ -1574,6 +1602,11 @@ msgstr "¿Firmarlo? (s/N) "
msgid "Really do a factory reset? (enter \"yes\") "
msgstr ""
+#, fuzzy, c-format
+#| msgid "error closing %s: %s\n"
+msgid "error for setup KDF: %s\n"
+msgstr "error cerrando %s: %s\n"
+
msgid "quit this menu"
msgstr "sale de este menú"
@@ -1625,6 +1658,16 @@ msgstr "desbloquear PIN usando Código de Reinicio"
msgid "destroy all keys and data"
msgstr ""
+#, fuzzy
+#| msgid "|NAME|use NAME as default recipient"
+msgid "setup KDF for PIN authentication"
+msgstr "|NOMBRE|usa NOMBRE como destinatario por defecto"
+
+#, fuzzy
+#| msgid "change the ownertrust"
+msgid "change the key attribute"
+msgstr "cambia valores de confianza"
+
msgid "gpg/card> "
msgstr "gpg/tarjeta> "
@@ -2341,6 +2384,11 @@ msgid "invalid pinentry mode '%s'\n"
msgstr "código de país inválido en `%s', línea %d\n"
#, fuzzy, c-format
+#| msgid "missing argument for option \"%.50s\"\n"
+msgid "invalid request origin '%s'\n"
+msgstr "falta parámetro para la opción \"%.50s\"\n"
+
+#, fuzzy, c-format
#| msgid "`%s' is not a valid character set\n"
msgid "'%s' is not a valid character set\n"
msgstr "`%s' no es un juego de caracteres válido\n"
@@ -3419,14 +3467,14 @@ msgstr ""
msgid "Key is revoked."
msgstr "La clave está revocada."
-msgid "Really sign all user IDs? (y/N) "
-msgstr "¿Firmar realmente todos los IDs de usuario? (s/N) "
-
#, fuzzy
#| msgid "Really sign all user IDs? (y/N) "
msgid "Really sign all text user IDs? (y/N) "
msgstr "¿Firmar realmente todos los IDs de usuario? (s/N) "
+msgid "Really sign all user IDs? (y/N) "
+msgstr "¿Firmar realmente todos los IDs de usuario? (s/N) "
+
msgid "Hint: Select the user IDs to sign\n"
msgstr "Sugerencia: seleccione los identificadores de usuario que firmar\n"
@@ -3785,6 +3833,16 @@ msgstr "Cambiando caducidad de clave primaria.\n"
msgid "You can't change the expiration date of a v3 key\n"
msgstr "No puede cambiar la fecha de caducidad de una clave v3\n"
+#, fuzzy
+#| msgid "Changing expiration time for a subkey.\n"
+msgid "Changing usage of a subkey.\n"
+msgstr "Cambiando fecha de caducidad de subclave.\n"
+
+#, fuzzy
+#| msgid "Changing expiration time for the primary key.\n"
+msgid "Changing usage of the primary key.\n"
+msgstr "Cambiando caducidad de clave primaria.\n"
+
#, c-format
msgid "signing subkey %s is already cross-certified\n"
msgstr "la subclave de firmado %s ya está certificada en cruz\n"
@@ -4001,9 +4059,6 @@ msgstr " (%c) Conmutar la capacidad de autenticación\n"
msgid " (%c) Finished\n"
msgstr " (%c) Acabado\n"
-msgid "Please select what kind of key you want:\n"
-msgstr "Por favor seleccione tipo de clave deseado:\n"
-
#, c-format
msgid " (%d) RSA and RSA (default)\n"
msgstr " (%d) RSA y RSA (por defecto)\n"
@@ -4084,10 +4139,6 @@ msgid "What keysize do you want for the subkey? (%u) "
msgstr "¿De qué tamaño quiere la subclave? (%u) "
#, c-format
-msgid "What keysize do you want? (%u) "
-msgstr "¿De qué tamaño quiere la clave? (%u) "
-
-#, c-format
msgid "Requested keysize is %u bits\n"
msgstr "El tamaño requerido es de %u bits\n"
@@ -5521,6 +5572,11 @@ msgstr "NOTA: clave de la firma %s caducada el %s\n"
msgid "Note: signature key %s has been revoked\n"
msgstr "NOTA: la clave de firmado %s ha sido revocada\n"
+#, fuzzy, c-format
+#| msgid "standalone signature of class 0x%02x\n"
+msgid "bad key signature from key %s: %s (0x%02x, 0x%x)\n"
+msgstr "firma independiente de clase 0x%02x\n"
+
#, c-format
msgid "assuming bad signature from key %s due to an unknown critical bit\n"
msgstr ""
@@ -6949,10 +7005,6 @@ msgstr ""
"la clave que acaba de crear una vez más.\n"
#, c-format
-msgid " (%d) RSA\n"
-msgstr " (%d) RSA\n"
-
-#, c-format
msgid " (%d) Existing key\n"
msgstr " (%d) Clave existente\n"
@@ -9248,6 +9300,15 @@ msgstr ""
"Compara frase contraseña dada en entrada estándar con un fichero de "
"patrones\n"
+#~ msgid "What keysize do you want for the Signature key? (%u) "
+#~ msgstr "¿De qué tamaño quiere la clave de Firmado? (%u) "
+
+#~ msgid "What keysize do you want for the Encryption key? (%u) "
+#~ msgstr "¿De qué tamaño quiere la clave de Cifrado? (%u) "
+
+#~ msgid "What keysize do you want for the Authentication key? (%u) "
+#~ msgstr "¿De qué tamaño quiere la clave de Autenticación? (%u) "
+
#~ msgid "listen() failed: %s\n"
#~ msgstr "listen() falló: %s\n"
diff --git a/po/et.po b/po/et.po
index b6a12e4d4..c12b6ed6c 100644
--- a/po/et.po
+++ b/po/et.po
@@ -1420,22 +1420,10 @@ msgid ""
msgstr ""
#, fuzzy, c-format
-msgid "What keysize do you want for the Signature key? (%u) "
-msgstr "Millist võtmepikkust te soovite? (1024) "
-
-#, fuzzy, c-format
-msgid "What keysize do you want for the Encryption key? (%u) "
-msgstr "Millist võtmepikkust te soovite? (1024) "
-
-#, fuzzy, c-format
-msgid "What keysize do you want for the Authentication key? (%u) "
+msgid "What keysize do you want? (%u) "
msgstr "Millist võtmepikkust te soovite? (1024) "
#, c-format
-msgid "The card will now be re-configured to generate a key of type: %s\n"
-msgstr ""
-
-#, c-format
msgid "rounded up to %u bits\n"
msgstr "ümardatud üles %u bitini\n"
@@ -1443,14 +1431,55 @@ msgstr "ümardatud üles %u bitini\n"
msgid "%s keysizes must be in the range %u-%u\n"
msgstr ""
+msgid "Changing card key attribute for: "
+msgstr ""
+
+#, fuzzy
+msgid "Signature key\n"
+msgstr "Allkiri aegus %s\n"
+
+#, fuzzy
+msgid "Encryption key\n"
+msgstr " (%d) RSA (ainult krüpteerimiseks)\n"
+
+msgid "Authentication key\n"
+msgstr ""
+
+msgid "Please select what kind of key you want:\n"
+msgstr "Palun valige, millist võtmetüüpi te soovite:\n"
+
+#, fuzzy, c-format
+msgid " (%d) RSA\n"
+msgstr " (%d) RSA (ainult allkirjastamiseks)\n"
+
+#, fuzzy, c-format
+msgid " (%d) ECC\n"
+msgstr " (%d) DSA ja ElGamal (vaikimisi)\n"
+
+msgid "Invalid selection.\n"
+msgstr "Vigane valik.\n"
+
#, c-format
msgid "The card will now be re-configured to generate a key of %u bits\n"
msgstr ""
+#, c-format
+msgid "The card will now be re-configured to generate a key of type: %s\n"
+msgstr ""
+
#, fuzzy, c-format
-msgid "error changing size of key %d to %u bits: %s\n"
+msgid "error changing key attribute for key %d: %s\n"
msgstr "viga teate saatmisel serverile `%s': %s\n"
+#, fuzzy, c-format
+msgid "error getting card info: %s\n"
+msgstr "viga salajase võtme võtmehoidlasse `%s' kirjutamisel: %s\n"
+
+#, fuzzy
+#| msgid "This command is not allowed while in %s mode.\n"
+msgid "This command is not supported by this card\n"
+msgstr "See käsklus ei ole %s moodis lubatud.\n"
+
msgid "Make off-card backup of encryption key? (Y/n) "
msgstr ""
@@ -1483,9 +1512,6 @@ msgstr " (%d) RSA (ainult krüpteerimiseks)\n"
msgid " (3) Authentication key\n"
msgstr ""
-msgid "Invalid selection.\n"
-msgstr "Vigane valik.\n"
-
#, fuzzy
msgid "Please select where to store the key:\n"
msgstr "Palun valige tühistamise põhjus:\n"
@@ -1495,11 +1521,6 @@ msgid "KEYTOCARD failed: %s\n"
msgstr "uuendamine ebaõnnestus: %s\n"
#, fuzzy
-#| msgid "This command is not allowed while in %s mode.\n"
-msgid "This command is not supported by this card\n"
-msgstr "See käsklus ei ole %s moodis lubatud.\n"
-
-#, fuzzy
msgid "Note: This command destroys all keys stored on the card!\n"
msgstr "jätsin vahele: avalik võti on juba olemas\n"
@@ -1510,6 +1531,10 @@ msgstr "Allkirjastan tõesti? "
msgid "Really do a factory reset? (enter \"yes\") "
msgstr ""
+#, fuzzy, c-format
+msgid "error for setup KDF: %s\n"
+msgstr "viga `%s' lugemisel: %s\n"
+
msgid "quit this menu"
msgstr "välju sellest menüüst"
@@ -1567,6 +1592,16 @@ msgstr ""
msgid "destroy all keys and data"
msgstr ""
+#, fuzzy
+#| msgid "|NAME|use NAME as default recipient"
+msgid "setup KDF for PIN authentication"
+msgstr "|NIMI|kasuta NIME vaikimisi saajana"
+
+#, fuzzy
+#| msgid "change the ownertrust"
+msgid "change the key attribute"
+msgstr "muuda omaniku usaldust"
+
msgid "gpg/card> "
msgstr ""
@@ -2267,6 +2302,10 @@ msgid "invalid pinentry mode '%s'\n"
msgstr "vigane räsialgoritm `%s'\n"
#, fuzzy, c-format
+msgid "invalid request origin '%s'\n"
+msgstr "vigased impordi võtmed\n"
+
+#, fuzzy, c-format
msgid "'%s' is not a valid character set\n"
msgstr "%s ei ole lubatud kooditabel\n"
@@ -3365,11 +3404,11 @@ msgid "Key is revoked."
msgstr "Võti on tühistatud."
#, fuzzy
-msgid "Really sign all user IDs? (y/N) "
+msgid "Really sign all text user IDs? (y/N) "
msgstr "Kas allkirjastan tõesti kõik kasutaja IDd? "
#, fuzzy
-msgid "Really sign all text user IDs? (y/N) "
+msgid "Really sign all user IDs? (y/N) "
msgstr "Kas allkirjastan tõesti kõik kasutaja IDd? "
msgid "Hint: Select the user IDs to sign\n"
@@ -3736,6 +3775,15 @@ msgstr "Muudan primaarse võtme aegumise aega.\n"
msgid "You can't change the expiration date of a v3 key\n"
msgstr "v3 võtme aegumise aega ei saa muuta.\n"
+#, fuzzy
+msgid "Changing usage of a subkey.\n"
+msgstr "Muudan sekundaarse võtme aegumise aega.\n"
+
+#, fuzzy
+#| msgid "Changing expiration time for the primary key.\n"
+msgid "Changing usage of the primary key.\n"
+msgstr "Muudan primaarse võtme aegumise aega.\n"
+
#, fuzzy, c-format
msgid "signing subkey %s is already cross-certified\n"
msgstr "HOIATUS: allkirjastamise alamvõti %08lX ei ole rist-sertifitseeritud\n"
@@ -3956,9 +4004,6 @@ msgstr ""
msgid " (%c) Finished\n"
msgstr ""
-msgid "Please select what kind of key you want:\n"
-msgstr "Palun valige, millist võtmetüüpi te soovite:\n"
-
#, fuzzy, c-format
msgid " (%d) RSA and RSA (default)\n"
msgstr " (%d) DSA ja ElGamal (vaikimisi)\n"
@@ -4037,10 +4082,6 @@ msgstr ""
msgid "What keysize do you want for the subkey? (%u) "
msgstr "Millist võtmepikkust te soovite? (1024) "
-#, fuzzy, c-format
-msgid "What keysize do you want? (%u) "
-msgstr "Millist võtmepikkust te soovite? (1024) "
-
#, c-format
msgid "Requested keysize is %u bits\n"
msgstr "Soovitud võtmepikkus on %u bitti\n"
@@ -5437,6 +5478,11 @@ msgid "Note: signature key %s has been revoked\n"
msgstr "MÄRKUS: võti on tühistatud"
#, fuzzy, c-format
+#| msgid "standalone signature of class 0x%02x\n"
+msgid "bad key signature from key %s: %s (0x%02x, 0x%x)\n"
+msgstr "eraldiseisev allkiri klassiga 0x%02x\n"
+
+#, fuzzy, c-format
msgid "assuming bad signature from key %s due to an unknown critical bit\n"
msgstr "eeldan tundmatu kriitilise biti tõttu võtmel %08lX vigast allkirja\n"
@@ -6816,10 +6862,6 @@ msgid ""
msgstr ""
#, fuzzy, c-format
-msgid " (%d) RSA\n"
-msgstr " (%d) RSA (ainult allkirjastamiseks)\n"
-
-#, fuzzy, c-format
msgid " (%d) Existing key\n"
msgstr " (%d) RSA (ainult krüpteerimiseks)\n"
@@ -8892,6 +8934,18 @@ msgid ""
msgstr ""
#, fuzzy
+#~ msgid "What keysize do you want for the Signature key? (%u) "
+#~ msgstr "Millist võtmepikkust te soovite? (1024) "
+
+#, fuzzy
+#~ msgid "What keysize do you want for the Encryption key? (%u) "
+#~ msgstr "Millist võtmepikkust te soovite? (1024) "
+
+#, fuzzy
+#~ msgid "What keysize do you want for the Authentication key? (%u) "
+#~ msgstr "Millist võtmepikkust te soovite? (1024) "
+
+#, fuzzy
#~ msgid "listen() failed: %s\n"
#~ msgstr "uuendamine ebaõnnestus: %s\n"
diff --git a/po/fi.po b/po/fi.po
index 96ed7355e..ee4085990 100644
--- a/po/fi.po
+++ b/po/fi.po
@@ -1439,22 +1439,10 @@ msgid ""
msgstr ""
#, fuzzy, c-format
-msgid "What keysize do you want for the Signature key? (%u) "
-msgstr "Minkä kokoisen avaimen haluat? (1024) "
-
-#, fuzzy, c-format
-msgid "What keysize do you want for the Encryption key? (%u) "
-msgstr "Minkä kokoisen avaimen haluat? (1024) "
-
-#, fuzzy, c-format
-msgid "What keysize do you want for the Authentication key? (%u) "
+msgid "What keysize do you want? (%u) "
msgstr "Minkä kokoisen avaimen haluat? (1024) "
#, c-format
-msgid "The card will now be re-configured to generate a key of type: %s\n"
-msgstr ""
-
-#, c-format
msgid "rounded up to %u bits\n"
msgstr "pyöristetty %u bittiin\n"
@@ -1462,14 +1450,55 @@ msgstr "pyöristetty %u bittiin\n"
msgid "%s keysizes must be in the range %u-%u\n"
msgstr ""
+msgid "Changing card key attribute for: "
+msgstr ""
+
+#, fuzzy
+msgid "Signature key\n"
+msgstr "Allekirjoitus vanheni %s\n"
+
+#, fuzzy
+msgid "Encryption key\n"
+msgstr " (%d) RSA (vain salaus)\n"
+
+msgid "Authentication key\n"
+msgstr ""
+
+msgid "Please select what kind of key you want:\n"
+msgstr "Valitse millaisen avaimen haluat:\n"
+
+#, fuzzy, c-format
+msgid " (%d) RSA\n"
+msgstr " (%d) RSA (vain allekirjoitus)\n"
+
+#, fuzzy, c-format
+msgid " (%d) ECC\n"
+msgstr " (%d) DSA ja ElGamal (oletus)\n"
+
+msgid "Invalid selection.\n"
+msgstr "Valinta ei kelpaa.\n"
+
#, c-format
msgid "The card will now be re-configured to generate a key of %u bits\n"
msgstr ""
+#, c-format
+msgid "The card will now be re-configured to generate a key of type: %s\n"
+msgstr ""
+
#, fuzzy, c-format
-msgid "error changing size of key %d to %u bits: %s\n"
+msgid "error changing key attribute for key %d: %s\n"
msgstr "virhe lähettäessä kohteeseen \"%s\": %s\n"
+#, fuzzy, c-format
+msgid "error getting card info: %s\n"
+msgstr "virhe kirjoitettaessa salaiseen avainrenkaaseen \"%s\": %s\n"
+
+#, fuzzy
+#| msgid "This command is not allowed while in %s mode.\n"
+msgid "This command is not supported by this card\n"
+msgstr "Tätä komentoa ei sallita %s-tilassa.\n"
+
msgid "Make off-card backup of encryption key? (Y/n) "
msgstr ""
@@ -1502,9 +1531,6 @@ msgstr " (%d) RSA (vain salaus)\n"
msgid " (3) Authentication key\n"
msgstr ""
-msgid "Invalid selection.\n"
-msgstr "Valinta ei kelpaa.\n"
-
#, fuzzy
msgid "Please select where to store the key:\n"
msgstr "Valitse mitätöinnin syy:\n"
@@ -1514,11 +1540,6 @@ msgid "KEYTOCARD failed: %s\n"
msgstr "päivitys epäonnistui: %s\n"
#, fuzzy
-#| msgid "This command is not allowed while in %s mode.\n"
-msgid "This command is not supported by this card\n"
-msgstr "Tätä komentoa ei sallita %s-tilassa.\n"
-
-#, fuzzy
msgid "Note: This command destroys all keys stored on the card!\n"
msgstr "ohitetaan: salainen avain on jo paikalla\n"
@@ -1529,6 +1550,10 @@ msgstr "Varmastiko allekirjoita? "
msgid "Really do a factory reset? (enter \"yes\") "
msgstr ""
+#, fuzzy, c-format
+msgid "error for setup KDF: %s\n"
+msgstr "virhe luettaessa tiedostoa \"%s\": %s\n"
+
msgid "quit this menu"
msgstr "ulos tästä valikosta"
@@ -1586,6 +1611,16 @@ msgstr ""
msgid "destroy all keys and data"
msgstr ""
+#, fuzzy
+#| msgid "|NAME|use NAME as default recipient"
+msgid "setup KDF for PIN authentication"
+msgstr "|NIMI|käytä NIMI oletusvastaanottajana"
+
+#, fuzzy
+#| msgid "change the ownertrust"
+msgid "change the key attribute"
+msgstr "muuta luottamusastetta"
+
msgid "gpg/card> "
msgstr ""
@@ -2282,6 +2317,10 @@ msgid "invalid pinentry mode '%s'\n"
msgstr "virheellinen tiivistealgoritmi \"%s\"\n"
#, fuzzy, c-format
+msgid "invalid request origin '%s'\n"
+msgstr "virheelliset tuontivalitsimet\n"
+
+#, fuzzy, c-format
msgid "'%s' is not a valid character set\n"
msgstr "%s ei kelpaa merkistöksi\n"
@@ -3385,11 +3424,11 @@ msgid "Key is revoked."
msgstr "Avain on mitätöity."
#, fuzzy
-msgid "Really sign all user IDs? (y/N) "
+msgid "Really sign all text user IDs? (y/N) "
msgstr "Varmastiko allekirjoita kaikki käyttäjätunnukset?"
#, fuzzy
-msgid "Really sign all text user IDs? (y/N) "
+msgid "Really sign all user IDs? (y/N) "
msgstr "Varmastiko allekirjoita kaikki käyttäjätunnukset?"
msgid "Hint: Select the user IDs to sign\n"
@@ -3757,6 +3796,15 @@ msgstr "Muutetaan ensisijaisen avaimen vanhentumisaikaa.\n"
msgid "You can't change the expiration date of a v3 key\n"
msgstr "Et voi muuttaa v3-avainten vanhentumispäivää\n"
+#, fuzzy
+msgid "Changing usage of a subkey.\n"
+msgstr "Muutetaan toissijaisen avaimen vanhentumisaikaa.\n"
+
+#, fuzzy
+#| msgid "Changing expiration time for the primary key.\n"
+msgid "Changing usage of the primary key.\n"
+msgstr "Muutetaan ensisijaisen avaimen vanhentumisaikaa.\n"
+
#, fuzzy, c-format
msgid "signing subkey %s is already cross-certified\n"
msgstr "VAROITUS: allekirjoitusaliavain %08lX ei ole ristiinvarmennettu\n"
@@ -3981,9 +4029,6 @@ msgstr ""
msgid " (%c) Finished\n"
msgstr ""
-msgid "Please select what kind of key you want:\n"
-msgstr "Valitse millaisen avaimen haluat:\n"
-
#, fuzzy, c-format
msgid " (%d) RSA and RSA (default)\n"
msgstr " (%d) DSA ja ElGamal (oletus)\n"
@@ -4062,10 +4107,6 @@ msgstr ""
msgid "What keysize do you want for the subkey? (%u) "
msgstr "Minkä kokoisen avaimen haluat? (1024) "
-#, fuzzy, c-format
-msgid "What keysize do you want? (%u) "
-msgstr "Minkä kokoisen avaimen haluat? (1024) "
-
#, c-format
msgid "Requested keysize is %u bits\n"
msgstr "Halutun avaimen koko on %u bittiä\n"
@@ -5491,6 +5532,11 @@ msgid "Note: signature key %s has been revoked\n"
msgstr "HUOM: avain on mitätöity!"
#, fuzzy, c-format
+#| msgid "standalone signature of class 0x%02x\n"
+msgid "bad key signature from key %s: %s (0x%02x, 0x%x)\n"
+msgstr "itsenäinen allekirjoitus luokkaa 0x%02x\n"
+
+#, fuzzy, c-format
msgid "assuming bad signature from key %s due to an unknown critical bit\n"
msgstr ""
"Epäkelpo allekirjoitus avaimelta %08lX oletettavasti johtuen tuntemattomasta "
@@ -6875,10 +6921,6 @@ msgid ""
msgstr ""
#, fuzzy, c-format
-msgid " (%d) RSA\n"
-msgstr " (%d) RSA (vain allekirjoitus)\n"
-
-#, fuzzy, c-format
msgid " (%d) Existing key\n"
msgstr " (%d) RSA (vain salaus)\n"
@@ -8954,6 +8996,18 @@ msgid ""
msgstr ""
#, fuzzy
+#~ msgid "What keysize do you want for the Signature key? (%u) "
+#~ msgstr "Minkä kokoisen avaimen haluat? (1024) "
+
+#, fuzzy
+#~ msgid "What keysize do you want for the Encryption key? (%u) "
+#~ msgstr "Minkä kokoisen avaimen haluat? (1024) "
+
+#, fuzzy
+#~ msgid "What keysize do you want for the Authentication key? (%u) "
+#~ msgstr "Minkä kokoisen avaimen haluat? (1024) "
+
+#, fuzzy
#~ msgid "listen() failed: %s\n"
#~ msgstr "päivitys epäonnistui: %s\n"
diff --git a/po/fr.po b/po/fr.po
index 30f61bb59..3eff8be7a 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -1387,41 +1387,77 @@ msgstr ""
" tailles permises dans la documentation de la carte.\n"
#, c-format
-msgid "What keysize do you want for the Signature key? (%u) "
-msgstr "Quelle taille de clef désirez-vous pour la clef de signature ? (%u) "
+msgid "What keysize do you want? (%u) "
+msgstr "Quelle taille de clef désirez-vous ? (%u) "
#, c-format
-msgid "What keysize do you want for the Encryption key? (%u) "
-msgstr "Quelle taille de clef désirez-vous pour la clef de chiffrement ? (%u) "
+msgid "rounded up to %u bits\n"
+msgstr "arrondie à %u bits\n"
#, c-format
-msgid "What keysize do you want for the Authentication key? (%u) "
-msgstr ""
-"Quelle taille de clef désirez-vous pour la clef d'authentification ? (%u) "
+msgid "%s keysizes must be in the range %u-%u\n"
+msgstr "les tailles de clefs %s doivent être dans l'intervalle %u-%u\n"
-#, fuzzy, c-format
-#| msgid "The card will now be re-configured to generate a key of %u bits\n"
-msgid "The card will now be re-configured to generate a key of type: %s\n"
+msgid "Changing card key attribute for: "
msgstr ""
-"La carte sera maintenant reconfigurée pour générer une clef de %u bits\n"
+
+#, fuzzy
+#| msgid " (1) Signature key\n"
+msgid "Signature key\n"
+msgstr " (1) Clef de signature\n"
+
+#, fuzzy
+#| msgid " (2) Encryption key\n"
+msgid "Encryption key\n"
+msgstr " (2) Clef de chiffrement\n"
+
+#, fuzzy
+#| msgid " (3) Authentication key\n"
+msgid "Authentication key\n"
+msgstr " (3) Clef d'authentification\n"
+
+msgid "Please select what kind of key you want:\n"
+msgstr "Sélectionnez le type de clef désiré :\n"
#, c-format
-msgid "rounded up to %u bits\n"
-msgstr "arrondie à %u bits\n"
+msgid " (%d) RSA\n"
+msgstr " (%d) RSA\n"
#, c-format
-msgid "%s keysizes must be in the range %u-%u\n"
-msgstr "les tailles de clefs %s doivent être dans l'intervalle %u-%u\n"
+msgid " (%d) ECC\n"
+msgstr " (%d) ECC\n"
+
+msgid "Invalid selection.\n"
+msgstr "Choix incorrect.\n"
#, c-format
msgid "The card will now be re-configured to generate a key of %u bits\n"
msgstr ""
"La carte sera maintenant reconfigurée pour générer une clef de %u bits\n"
-#, c-format
-msgid "error changing size of key %d to %u bits: %s\n"
+#, fuzzy, c-format
+#| msgid "The card will now be re-configured to generate a key of %u bits\n"
+msgid "The card will now be re-configured to generate a key of type: %s\n"
+msgstr ""
+"La carte sera maintenant reconfigurée pour générer une clef de %u bits\n"
+
+#, fuzzy, c-format
+#| msgid "error changing size of key %d to %u bits: %s\n"
+msgid "error changing key attribute for key %d: %s\n"
msgstr "erreur de modification de taille de clef %d en %u bits : %s\n"
+#, fuzzy, c-format
+#| msgid "error getting current key info: %s\n"
+msgid "error getting card info: %s\n"
+msgstr ""
+"erreur de lecture des renseignements actuellement contenus\n"
+"dans la clef : %s\n"
+
+#, fuzzy
+#| msgid "This command is not allowed while in %s mode.\n"
+msgid "This command is not supported by this card\n"
+msgstr "Cette commande n'est pas permise en mode %s.\n"
+
msgid "Make off-card backup of encryption key? (Y/n) "
msgstr ""
"Faut-il faire une sauvegarde hors carte de la clef de chiffrement ? (O/n) "
@@ -1454,9 +1490,6 @@ msgstr " (2) Clef de chiffrement\n"
msgid " (3) Authentication key\n"
msgstr " (3) Clef d'authentification\n"
-msgid "Invalid selection.\n"
-msgstr "Choix incorrect.\n"
-
msgid "Please select where to store the key:\n"
msgstr "Veuillez sélectionner l'endroit où stocker la clef :\n"
@@ -1465,11 +1498,6 @@ msgid "KEYTOCARD failed: %s\n"
msgstr "échec de KEYTOCARD : %s\n"
#, fuzzy
-#| msgid "This command is not allowed while in %s mode.\n"
-msgid "This command is not supported by this card\n"
-msgstr "Cette commande n'est pas permise en mode %s.\n"
-
-#, fuzzy
#| msgid "Note: keys are already stored on the card!\n"
msgid "Note: This command destroys all keys stored on the card!\n"
msgstr "Remarque : les clefs sont déjà stockées sur la carte.\n"
@@ -1482,6 +1510,11 @@ msgstr "Faut-il continuer ? (O/n) "
msgid "Really do a factory reset? (enter \"yes\") "
msgstr ""
+#, fuzzy, c-format
+#| msgid "error closing %s: %s\n"
+msgid "error for setup KDF: %s\n"
+msgstr "erreur de fermeture de %s : %s\n"
+
msgid "quit this menu"
msgstr "quitter ce menu"
@@ -1535,6 +1568,16 @@ msgstr "débloquer le code personnel en utilisant un code de réinitialisation"
msgid "destroy all keys and data"
msgstr ""
+#, fuzzy
+#| msgid "|NAME|use user NAME for authentication"
+msgid "setup KDF for PIN authentication"
+msgstr "|NOM|utiliser le NOM d'utilisateur pour authentif."
+
+#, fuzzy
+#| msgid "change the ownertrust"
+msgid "change the key attribute"
+msgstr "modifier la confiance du propriétaire"
+
msgid "gpg/card> "
msgstr "gpg/carte> "
@@ -2224,6 +2267,11 @@ msgstr "ligne %d : ce n'est pas une adresse électronique valable\n"
msgid "invalid pinentry mode '%s'\n"
msgstr "mode pinentry « %s » incorrect\n"
+#, fuzzy, c-format
+#| msgid "invalid argument for option \"%.50s\"\n"
+msgid "invalid request origin '%s'\n"
+msgstr "argument incorrect pour l'option « %.50s »\n"
+
#, c-format
msgid "'%s' is not a valid character set\n"
msgstr "« %s » n'est pas un jeu de caractères valable\n"
@@ -3289,14 +3337,14 @@ msgstr ""
msgid "Key is revoked."
msgstr "La clef est révoquée."
-msgid "Really sign all user IDs? (y/N) "
-msgstr "Voulez-vous vraiment signer toutes les identités ? (o/N) "
-
#, fuzzy
#| msgid "Really sign all user IDs? (y/N) "
msgid "Really sign all text user IDs? (y/N) "
msgstr "Voulez-vous vraiment signer toutes les identités ? (o/N) "
+msgid "Really sign all user IDs? (y/N) "
+msgstr "Voulez-vous vraiment signer toutes les identités ? (o/N) "
+
msgid "Hint: Select the user IDs to sign\n"
msgstr "Conseil : sélectionner les identités à signer\n"
@@ -3653,6 +3701,16 @@ msgstr "Modification de la date d'expiration de la clef principale.\n"
msgid "You can't change the expiration date of a v3 key\n"
msgstr "Vous ne pouvez pas modifier la date d'expiration d'une clef v3\n"
+#, fuzzy
+#| msgid "Changing expiration time for a subkey.\n"
+msgid "Changing usage of a subkey.\n"
+msgstr "Modification de la date d'expiration d'une sous-clef.\n"
+
+#, fuzzy
+#| msgid "Changing expiration time for the primary key.\n"
+msgid "Changing usage of the primary key.\n"
+msgstr "Modification de la date d'expiration de la clef principale.\n"
+
#, c-format
msgid "signing subkey %s is already cross-certified\n"
msgstr "la sous-clef de signature %s a déjà une certification croisée\n"
@@ -3875,9 +3933,6 @@ msgstr " (%c) Inverser la capacité d'authentification\n"
msgid " (%c) Finished\n"
msgstr " (%c) Terminé\n"
-msgid "Please select what kind of key you want:\n"
-msgstr "Sélectionnez le type de clef désiré :\n"
-
#, c-format
msgid " (%d) RSA and RSA (default)\n"
msgstr " (%d) RSA et RSA (par défaut)\n"
@@ -3952,10 +4007,6 @@ msgid "What keysize do you want for the subkey? (%u) "
msgstr "Quelle taille de clef désirez-vous pour la sous-clef ? (%u) "
#, c-format
-msgid "What keysize do you want? (%u) "
-msgstr "Quelle taille de clef désirez-vous ? (%u) "
-
-#, c-format
msgid "Requested keysize is %u bits\n"
msgstr "La taille demandée est %u bits\n"
@@ -5420,6 +5471,11 @@ msgstr "Remarque : la clef de signature %s a expiré le %s\n"
msgid "Note: signature key %s has been revoked\n"
msgstr "Remarque : la clef de signature %s a été révoquée\n"
+#, fuzzy, c-format
+#| msgid "standalone signature of class 0x%02x\n"
+msgid "bad key signature from key %s: %s (0x%02x, 0x%x)\n"
+msgstr "signature autonome de classe 0x%02x\n"
+
#, c-format
msgid "assuming bad signature from key %s due to an unknown critical bit\n"
msgstr ""
@@ -6845,10 +6901,6 @@ msgstr ""
"la phrase secrète pour la clef que vous venez de créer.\n"
#, c-format
-msgid " (%d) RSA\n"
-msgstr " (%d) RSA\n"
-
-#, c-format
msgid " (%d) Existing key\n"
msgstr " (%d) Clef existante\n"
@@ -8931,6 +8983,18 @@ msgstr ""
"Vérifier une phrase secrète donnée sur l'entrée standard par rapport à "
"ficmotif\n"
+#~ msgid "What keysize do you want for the Signature key? (%u) "
+#~ msgstr ""
+#~ "Quelle taille de clef désirez-vous pour la clef de signature ? (%u) "
+
+#~ msgid "What keysize do you want for the Encryption key? (%u) "
+#~ msgstr ""
+#~ "Quelle taille de clef désirez-vous pour la clef de chiffrement ? (%u) "
+
+#~ msgid "What keysize do you want for the Authentication key? (%u) "
+#~ msgstr ""
+#~ "Quelle taille de clef désirez-vous pour la clef d'authentification ? (%u) "
+
#~ msgid "listen() failed: %s\n"
#~ msgstr "échec de listen() : %s\n"
@@ -9318,9 +9382,6 @@ msgstr ""
#~ msgid "no secret subkey for public subkey %s - ignoring\n"
#~ msgstr "pas de sous-clef secrète pour la sous-clef publique %s — ignorée\n"
-#~ msgid " (%d) ECC\n"
-#~ msgstr " (%d) ECC\n"
-
#, fuzzy
#~| msgid "can't create directory '%s': %s\n"
#~ msgid "can't create directory `%s': %s\n"
diff --git a/po/gl.po b/po/gl.po
index ac878c6df..08f5eb5d2 100644
--- a/po/gl.po
+++ b/po/gl.po
@@ -1429,22 +1429,10 @@ msgid ""
msgstr ""
#, fuzzy, c-format
-msgid "What keysize do you want for the Signature key? (%u) "
-msgstr "¿Qué tamaño de chave quere? (1024) "
-
-#, fuzzy, c-format
-msgid "What keysize do you want for the Encryption key? (%u) "
-msgstr "¿Qué tamaño de chave quere? (1024) "
-
-#, fuzzy, c-format
-msgid "What keysize do you want for the Authentication key? (%u) "
+msgid "What keysize do you want? (%u) "
msgstr "¿Qué tamaño de chave quere? (1024) "
#, c-format
-msgid "The card will now be re-configured to generate a key of type: %s\n"
-msgstr ""
-
-#, c-format
msgid "rounded up to %u bits\n"
msgstr "redondeado a %u bits\n"
@@ -1452,14 +1440,55 @@ msgstr "redondeado a %u bits\n"
msgid "%s keysizes must be in the range %u-%u\n"
msgstr ""
+msgid "Changing card key attribute for: "
+msgstr ""
+
+#, fuzzy
+msgid "Signature key\n"
+msgstr "A sinatura caducou o %s\n"
+
+#, fuzzy
+msgid "Encryption key\n"
+msgstr " (%d) RSA (só cifrar)\n"
+
+msgid "Authentication key\n"
+msgstr ""
+
+msgid "Please select what kind of key you want:\n"
+msgstr "Por favor, seleccione o tipo de chave que quere:\n"
+
+#, fuzzy, c-format
+msgid " (%d) RSA\n"
+msgstr " (%d) RSA (só asinar)\n"
+
+#, fuzzy, c-format
+msgid " (%d) ECC\n"
+msgstr " (%d) DSA e ElGamal (por defecto)\n"
+
+msgid "Invalid selection.\n"
+msgstr "Selección non válida.\n"
+
#, c-format
msgid "The card will now be re-configured to generate a key of %u bits\n"
msgstr ""
+#, c-format
+msgid "The card will now be re-configured to generate a key of type: %s\n"
+msgstr ""
+
#, fuzzy, c-format
-msgid "error changing size of key %d to %u bits: %s\n"
+msgid "error changing key attribute for key %d: %s\n"
msgstr "erro ao enviar a `%s': %s\n"
+#, fuzzy, c-format
+msgid "error getting card info: %s\n"
+msgstr "erro escribindo no chaveiro secreto `%s': %s\n"
+
+#, fuzzy
+#| msgid "This command is not allowed while in %s mode.\n"
+msgid "This command is not supported by this card\n"
+msgstr "Non se admite este comando no modo %s.\n"
+
msgid "Make off-card backup of encryption key? (Y/n) "
msgstr ""
@@ -1492,9 +1521,6 @@ msgstr " (%d) RSA (só cifrar)\n"
msgid " (3) Authentication key\n"
msgstr ""
-msgid "Invalid selection.\n"
-msgstr "Selección non válida.\n"
-
#, fuzzy
msgid "Please select where to store the key:\n"
msgstr "Por favor, escolla o motivo da revocación:\n"
@@ -1504,11 +1530,6 @@ msgid "KEYTOCARD failed: %s\n"
msgstr "a actualización fallou: %s\n"
#, fuzzy
-#| msgid "This command is not allowed while in %s mode.\n"
-msgid "This command is not supported by this card\n"
-msgstr "Non se admite este comando no modo %s.\n"
-
-#, fuzzy
msgid "Note: This command destroys all keys stored on the card!\n"
msgstr "omítese: a chave secreta xa está presente\n"
@@ -1519,6 +1540,10 @@ msgstr "¿Asinar de verdade? "
msgid "Really do a factory reset? (enter \"yes\") "
msgstr ""
+#, fuzzy, c-format
+msgid "error for setup KDF: %s\n"
+msgstr "erro lendo `%s': %s\n"
+
msgid "quit this menu"
msgstr "saír deste menú"
@@ -1576,6 +1601,16 @@ msgstr ""
msgid "destroy all keys and data"
msgstr ""
+#, fuzzy
+#| msgid "|NAME|use NAME as default recipient"
+msgid "setup KDF for PIN authentication"
+msgstr "|NOME|empregar NOME como valor por defecto do destinatario"
+
+#, fuzzy
+#| msgid "change the ownertrust"
+msgid "change the key attribute"
+msgstr "cambia-la confianza sobre o dono"
+
msgid "gpg/card> "
msgstr ""
@@ -2275,6 +2310,10 @@ msgid "invalid pinentry mode '%s'\n"
msgstr "algoritmo de hash non válido `%s'\n"
#, fuzzy, c-format
+msgid "invalid request origin '%s'\n"
+msgstr "opcións de importación non válidas\n"
+
+#, fuzzy, c-format
msgid "'%s' is not a valid character set\n"
msgstr "%s non é un xogo de caracteres válido\n"
@@ -3389,11 +3428,11 @@ msgid "Key is revoked."
msgstr "A chave está revocada."
#, fuzzy
-msgid "Really sign all user IDs? (y/N) "
+msgid "Really sign all text user IDs? (y/N) "
msgstr "¿Seguro de que quere asinar tódolos IDs de usuario? "
#, fuzzy
-msgid "Really sign all text user IDs? (y/N) "
+msgid "Really sign all user IDs? (y/N) "
msgstr "¿Seguro de que quere asinar tódolos IDs de usuario? "
msgid "Hint: Select the user IDs to sign\n"
@@ -3769,6 +3808,15 @@ msgstr "Cambiando a data de expiración da chave primaria.\n"
msgid "You can't change the expiration date of a v3 key\n"
msgstr "Non pode cambia-la data de expiración dunha chave v3\n"
+#, fuzzy
+msgid "Changing usage of a subkey.\n"
+msgstr "Cambiando a data de expiración para a chave secundaria.\n"
+
+#, fuzzy
+#| msgid "Changing expiration time for the primary key.\n"
+msgid "Changing usage of the primary key.\n"
+msgstr "Cambiando a data de expiración da chave primaria.\n"
+
#, fuzzy, c-format
msgid "signing subkey %s is already cross-certified\n"
msgstr ""
@@ -3993,9 +4041,6 @@ msgstr ""
msgid " (%c) Finished\n"
msgstr ""
-msgid "Please select what kind of key you want:\n"
-msgstr "Por favor, seleccione o tipo de chave que quere:\n"
-
#, fuzzy, c-format
msgid " (%d) RSA and RSA (default)\n"
msgstr " (%d) DSA e ElGamal (por defecto)\n"
@@ -4074,10 +4119,6 @@ msgstr ""
msgid "What keysize do you want for the subkey? (%u) "
msgstr "¿Qué tamaño de chave quere? (1024) "
-#, fuzzy, c-format
-msgid "What keysize do you want? (%u) "
-msgstr "¿Qué tamaño de chave quere? (1024) "
-
#, c-format
msgid "Requested keysize is %u bits\n"
msgstr "O tamaño de chave requerido son %u bits\n"
@@ -5501,6 +5542,11 @@ msgid "Note: signature key %s has been revoked\n"
msgstr "NOTA: a chave está revocada"
#, fuzzy, c-format
+#| msgid "standalone signature of class 0x%02x\n"
+msgid "bad key signature from key %s: %s (0x%02x, 0x%x)\n"
+msgstr "sinatura independiente de clase 0x%02x\n"
+
+#, fuzzy, c-format
msgid "assuming bad signature from key %s due to an unknown critical bit\n"
msgstr ""
"asumindo unha sinatura incorrecta da chave %08lX debido a un bit crítico "
@@ -6897,10 +6943,6 @@ msgid ""
msgstr ""
#, fuzzy, c-format
-msgid " (%d) RSA\n"
-msgstr " (%d) RSA (só asinar)\n"
-
-#, fuzzy, c-format
msgid " (%d) Existing key\n"
msgstr " (%d) RSA (só cifrar)\n"
@@ -8983,6 +9025,18 @@ msgid ""
msgstr ""
#, fuzzy
+#~ msgid "What keysize do you want for the Signature key? (%u) "
+#~ msgstr "¿Qué tamaño de chave quere? (1024) "
+
+#, fuzzy
+#~ msgid "What keysize do you want for the Encryption key? (%u) "
+#~ msgstr "¿Qué tamaño de chave quere? (1024) "
+
+#, fuzzy
+#~ msgid "What keysize do you want for the Authentication key? (%u) "
+#~ msgstr "¿Qué tamaño de chave quere? (1024) "
+
+#, fuzzy
#~ msgid "listen() failed: %s\n"
#~ msgstr "a actualización fallou: %s\n"
diff --git a/po/hu.po b/po/hu.po
index 4afd8ef08..96d6f6cfb 100644
--- a/po/hu.po
+++ b/po/hu.po
@@ -1420,22 +1420,10 @@ msgid ""
msgstr ""
#, fuzzy, c-format
-msgid "What keysize do you want for the Signature key? (%u) "
-msgstr "Milyen kulcsméretet szeretne? (1024) "
-
-#, fuzzy, c-format
-msgid "What keysize do you want for the Encryption key? (%u) "
-msgstr "Milyen kulcsméretet szeretne? (1024) "
-
-#, fuzzy, c-format
-msgid "What keysize do you want for the Authentication key? (%u) "
+msgid "What keysize do you want? (%u) "
msgstr "Milyen kulcsméretet szeretne? (1024) "
#, c-format
-msgid "The card will now be re-configured to generate a key of type: %s\n"
-msgstr ""
-
-#, c-format
msgid "rounded up to %u bits\n"
msgstr "Felkerekítve %u bitre.\n"
@@ -1443,14 +1431,55 @@ msgstr "Felkerekítve %u bitre.\n"
msgid "%s keysizes must be in the range %u-%u\n"
msgstr ""
+msgid "Changing card key attribute for: "
+msgstr ""
+
+#, fuzzy
+msgid "Signature key\n"
+msgstr "Az aláírás lejárt: %s.\n"
+
+#, fuzzy
+msgid "Encryption key\n"
+msgstr " (%d) RSA (csak titkosítás)\n"
+
+msgid "Authentication key\n"
+msgstr ""
+
+msgid "Please select what kind of key you want:\n"
+msgstr "Kérem, adja meg, milyen kulcsot kíván:\n"
+
+#, fuzzy, c-format
+msgid " (%d) RSA\n"
+msgstr " (%d) RSA (csak aláírás)\n"
+
+#, fuzzy, c-format
+msgid " (%d) ECC\n"
+msgstr " (%d) DSA és ElGamal (alapértelmezés)\n"
+
+msgid "Invalid selection.\n"
+msgstr "Érvénytelen választás.\n"
+
#, c-format
msgid "The card will now be re-configured to generate a key of %u bits\n"
msgstr ""
+#, c-format
+msgid "The card will now be re-configured to generate a key of type: %s\n"
+msgstr ""
+
#, fuzzy, c-format
-msgid "error changing size of key %d to %u bits: %s\n"
+msgid "error changing key attribute for key %d: %s\n"
msgstr "Hiba %s-ra/-re küldéskor: %s\n"
+#, fuzzy, c-format
+msgid "error getting card info: %s\n"
+msgstr "Hiba a(z) \"%s\" titkoskulcs-karika írásakor: %s.\n"
+
+#, fuzzy
+#| msgid "This command is not allowed while in %s mode.\n"
+msgid "This command is not supported by this card\n"
+msgstr "Ez a parancs %s módban nem engedélyezett.\n"
+
msgid "Make off-card backup of encryption key? (Y/n) "
msgstr ""
@@ -1483,9 +1512,6 @@ msgstr " (%d) RSA (csak titkosítás)\n"
msgid " (3) Authentication key\n"
msgstr ""
-msgid "Invalid selection.\n"
-msgstr "Érvénytelen választás.\n"
-
#, fuzzy
msgid "Please select where to store the key:\n"
msgstr "Kérem, válassza ki a visszavonás okát:\n"
@@ -1495,11 +1521,6 @@ msgid "KEYTOCARD failed: %s\n"
msgstr "Frissítés sikertelen: %s.\n"
#, fuzzy
-#| msgid "This command is not allowed while in %s mode.\n"
-msgid "This command is not supported by this card\n"
-msgstr "Ez a parancs %s módban nem engedélyezett.\n"
-
-#, fuzzy
msgid "Note: This command destroys all keys stored on the card!\n"
msgstr "Kihagytam: titkos kulcs már jelen van.\n"
@@ -1510,6 +1531,10 @@ msgstr "Valóban aláírja? "
msgid "Really do a factory reset? (enter \"yes\") "
msgstr ""
+#, fuzzy, c-format
+msgid "error for setup KDF: %s\n"
+msgstr "Hiba \"%s\" olvasásakor: %s\n"
+
msgid "quit this menu"
msgstr "kilépés ebből a menüből"
@@ -1567,6 +1592,16 @@ msgstr ""
msgid "destroy all keys and data"
msgstr ""
+#, fuzzy
+#| msgid "|NAME|use NAME as default recipient"
+msgid "setup KDF for PIN authentication"
+msgstr "|NÉV|NÉV használata alapértelmezett címzettként"
+
+#, fuzzy
+#| msgid "change the ownertrust"
+msgid "change the key attribute"
+msgstr "kulcstulajdonos megbízhatóságának beállítása"
+
msgid "gpg/card> "
msgstr ""
@@ -2264,6 +2299,10 @@ msgid "invalid pinentry mode '%s'\n"
msgstr "Érvénytelen kivonatoló algoritmus: %s\n"
#, fuzzy, c-format
+msgid "invalid request origin '%s'\n"
+msgstr "Érvénytelen import opciók!\n"
+
+#, fuzzy, c-format
msgid "'%s' is not a valid character set\n"
msgstr "%s nem érvényes karakterkiosztás!\n"
@@ -3364,11 +3403,11 @@ msgid "Key is revoked."
msgstr "A kulcsot visszavonták."
#, fuzzy
-msgid "Really sign all user IDs? (y/N) "
+msgid "Really sign all text user IDs? (y/N) "
msgstr "Valóban aláírja az összes felhasználóazonosítót? "
#, fuzzy
-msgid "Really sign all text user IDs? (y/N) "
+msgid "Really sign all user IDs? (y/N) "
msgstr "Valóban aláírja az összes felhasználóazonosítót? "
msgid "Hint: Select the user IDs to sign\n"
@@ -3737,6 +3776,15 @@ msgstr "Elsődleges kulcs lejárati idejének változtatása.\n"
msgid "You can't change the expiration date of a v3 key\n"
msgstr "Nem változtathatja meg egy v3 kulcs lejárati dátumát!\n"
+#, fuzzy
+msgid "Changing usage of a subkey.\n"
+msgstr "Másodlagos kulcs lejárati idejének változtatása.\n"
+
+#, fuzzy
+#| msgid "Changing expiration time for the primary key.\n"
+msgid "Changing usage of the primary key.\n"
+msgstr "Elsődleges kulcs lejárati idejének változtatása.\n"
+
#, fuzzy, c-format
msgid "signing subkey %s is already cross-certified\n"
msgstr "FIGYELEM: %08lX aláíró alkulcs nem kereszthitelesített.\n"
@@ -3958,9 +4006,6 @@ msgstr ""
msgid " (%c) Finished\n"
msgstr ""
-msgid "Please select what kind of key you want:\n"
-msgstr "Kérem, adja meg, milyen kulcsot kíván:\n"
-
#, fuzzy, c-format
msgid " (%d) RSA and RSA (default)\n"
msgstr " (%d) DSA és ElGamal (alapértelmezés)\n"
@@ -4039,10 +4084,6 @@ msgstr ""
msgid "What keysize do you want for the subkey? (%u) "
msgstr "Milyen kulcsméretet szeretne? (1024) "
-#, fuzzy, c-format
-msgid "What keysize do you want? (%u) "
-msgstr "Milyen kulcsméretet szeretne? (1024) "
-
#, c-format
msgid "Requested keysize is %u bits\n"
msgstr "A kívánt kulcsméret %u bit.\n"
@@ -5459,6 +5500,11 @@ msgid "Note: signature key %s has been revoked\n"
msgstr "MEGJEGYZÉS: A kulcsot visszavonták."
#, fuzzy, c-format
+#| msgid "standalone signature of class 0x%02x\n"
+msgid "bad key signature from key %s: %s (0x%02x, 0x%x)\n"
+msgstr "0x%02x osztályú különálló aláírás.\n"
+
+#, fuzzy, c-format
msgid "assuming bad signature from key %s due to an unknown critical bit\n"
msgstr ""
"Rossz aláírást feltételezek a %08lX kulcstól egy ismeretlen\n"
@@ -6846,10 +6892,6 @@ msgid ""
msgstr ""
#, fuzzy, c-format
-msgid " (%d) RSA\n"
-msgstr " (%d) RSA (csak aláírás)\n"
-
-#, fuzzy, c-format
msgid " (%d) Existing key\n"
msgstr " (%d) RSA (csak titkosítás)\n"
@@ -8922,6 +8964,18 @@ msgid ""
msgstr ""
#, fuzzy
+#~ msgid "What keysize do you want for the Signature key? (%u) "
+#~ msgstr "Milyen kulcsméretet szeretne? (1024) "
+
+#, fuzzy
+#~ msgid "What keysize do you want for the Encryption key? (%u) "
+#~ msgstr "Milyen kulcsméretet szeretne? (1024) "
+
+#, fuzzy
+#~ msgid "What keysize do you want for the Authentication key? (%u) "
+#~ msgstr "Milyen kulcsméretet szeretne? (1024) "
+
+#, fuzzy
#~ msgid "listen() failed: %s\n"
#~ msgstr "Frissítés sikertelen: %s.\n"
diff --git a/po/id.po b/po/id.po
index e3f4b504c..8e06be249 100644
--- a/po/id.po
+++ b/po/id.po
@@ -1426,22 +1426,10 @@ msgid ""
msgstr ""
#, fuzzy, c-format
-msgid "What keysize do you want for the Signature key? (%u) "
-msgstr "Keysize yang anda inginkan? (1024) "
-
-#, fuzzy, c-format
-msgid "What keysize do you want for the Encryption key? (%u) "
-msgstr "Keysize yang anda inginkan? (1024) "
-
-#, fuzzy, c-format
-msgid "What keysize do you want for the Authentication key? (%u) "
+msgid "What keysize do you want? (%u) "
msgstr "Keysize yang anda inginkan? (1024) "
#, c-format
-msgid "The card will now be re-configured to generate a key of type: %s\n"
-msgstr ""
-
-#, c-format
msgid "rounded up to %u bits\n"
msgstr "dibulatkan hingga %u bit\n"
@@ -1449,14 +1437,55 @@ msgstr "dibulatkan hingga %u bit\n"
msgid "%s keysizes must be in the range %u-%u\n"
msgstr ""
+msgid "Changing card key attribute for: "
+msgstr ""
+
+#, fuzzy
+msgid "Signature key\n"
+msgstr "Signature kadaluwarsa %s\n"
+
+#, fuzzy
+msgid "Encryption key\n"
+msgstr " (%d) RSA (hanya enkripsi)\n"
+
+msgid "Authentication key\n"
+msgstr ""
+
+msgid "Please select what kind of key you want:\n"
+msgstr "Silakan pilih kunci yang anda inginkan:\n"
+
+#, fuzzy, c-format
+msgid " (%d) RSA\n"
+msgstr " (%d) RSA (hanya menandai)\n"
+
+#, fuzzy, c-format
+msgid " (%d) ECC\n"
+msgstr " (%d) DSA dan ElGamal (baku)\n"
+
+msgid "Invalid selection.\n"
+msgstr "Pilihan tidak valid.\n"
+
#, c-format
msgid "The card will now be re-configured to generate a key of %u bits\n"
msgstr ""
+#, c-format
+msgid "The card will now be re-configured to generate a key of type: %s\n"
+msgstr ""
+
#, fuzzy, c-format
-msgid "error changing size of key %d to %u bits: %s\n"
+msgid "error changing key attribute for key %d: %s\n"
msgstr "kesalahan mengirim ke `%s': %s\n"
+#, fuzzy, c-format
+msgid "error getting card info: %s\n"
+msgstr "kesalahan menulis keyring rahasia `%s': %s\n"
+
+#, fuzzy
+#| msgid "This command is not allowed while in %s mode.\n"
+msgid "This command is not supported by this card\n"
+msgstr "Perintah ini tidak dibolehkan saat dalam mode %s.\n"
+
msgid "Make off-card backup of encryption key? (Y/n) "
msgstr ""
@@ -1489,9 +1518,6 @@ msgstr " (%d) RSA (hanya enkripsi)\n"
msgid " (3) Authentication key\n"
msgstr ""
-msgid "Invalid selection.\n"
-msgstr "Pilihan tidak valid.\n"
-
#, fuzzy
msgid "Please select where to store the key:\n"
msgstr "Silakan pilih alasan untuk pembatalan:\n"
@@ -1501,11 +1527,6 @@ msgid "KEYTOCARD failed: %s\n"
msgstr "gagal memperbarui: %s\n"
#, fuzzy
-#| msgid "This command is not allowed while in %s mode.\n"
-msgid "This command is not supported by this card\n"
-msgstr "Perintah ini tidak dibolehkan saat dalam mode %s.\n"
-
-#, fuzzy
msgid "Note: This command destroys all keys stored on the card!\n"
msgstr "dilewati: kunci pribadi telah ada\n"
@@ -1516,6 +1537,10 @@ msgstr "Ditandai? "
msgid "Really do a factory reset? (enter \"yes\") "
msgstr ""
+#, fuzzy, c-format
+msgid "error for setup KDF: %s\n"
+msgstr "kesalahan membaca `%s': %s\n"
+
msgid "quit this menu"
msgstr "berhenti dari menu ini"
@@ -1573,6 +1598,16 @@ msgstr ""
msgid "destroy all keys and data"
msgstr ""
+#, fuzzy
+#| msgid "|NAME|use NAME as default recipient"
+msgid "setup KDF for PIN authentication"
+msgstr "|NAMA|gunakan NAMA sebagai penerima baku"
+
+#, fuzzy
+#| msgid "change the ownertrust"
+msgid "change the key attribute"
+msgstr "ubah ownertrust"
+
msgid "gpg/card> "
msgstr ""
@@ -2267,6 +2302,10 @@ msgid "invalid pinentry mode '%s'\n"
msgstr "algoritma hash tidak valid `%s'\n"
#, fuzzy, c-format
+msgid "invalid request origin '%s'\n"
+msgstr "opsi impor tidak valid\n"
+
+#, fuzzy, c-format
msgid "'%s' is not a valid character set\n"
msgstr "%s bukanlah set karakter yang valid\n"
@@ -3369,11 +3408,11 @@ msgid "Key is revoked."
msgstr "Kunci dibatalkan"
#, fuzzy
-msgid "Really sign all user IDs? (y/N) "
+msgid "Really sign all text user IDs? (y/N) "
msgstr "Tandai ID seluruh user? "
#, fuzzy
-msgid "Really sign all text user IDs? (y/N) "
+msgid "Really sign all user IDs? (y/N) "
msgstr "Tandai ID seluruh user? "
msgid "Hint: Select the user IDs to sign\n"
@@ -3747,6 +3786,15 @@ msgstr "Merubah batas waktu untuk kunci primer.\n"
msgid "You can't change the expiration date of a v3 key\n"
msgstr "Anda tidak dapat merubah batas waktu kunci v3\n"
+#, fuzzy
+msgid "Changing usage of a subkey.\n"
+msgstr "Merubah batas waktu untuk kunci sekunder.\n"
+
+#, fuzzy
+#| msgid "Changing expiration time for the primary key.\n"
+msgid "Changing usage of the primary key.\n"
+msgstr "Merubah batas waktu untuk kunci primer.\n"
+
#, fuzzy, c-format
msgid "signing subkey %s is already cross-certified\n"
msgstr "PERINGATAN: subkey penandatangan %08lX tidak tersertifikasi silang\n"
@@ -3967,9 +4015,6 @@ msgstr ""
msgid " (%c) Finished\n"
msgstr ""
-msgid "Please select what kind of key you want:\n"
-msgstr "Silakan pilih kunci yang anda inginkan:\n"
-
#, fuzzy, c-format
msgid " (%d) RSA and RSA (default)\n"
msgstr " (%d) DSA dan ElGamal (baku)\n"
@@ -4048,10 +4093,6 @@ msgstr ""
msgid "What keysize do you want for the subkey? (%u) "
msgstr "Keysize yang anda inginkan? (1024) "
-#, fuzzy, c-format
-msgid "What keysize do you want? (%u) "
-msgstr "Keysize yang anda inginkan? (1024) "
-
#, c-format
msgid "Requested keysize is %u bits\n"
msgstr "Keysize yang diminta adalah %u bit\n"
@@ -5457,6 +5498,11 @@ msgid "Note: signature key %s has been revoked\n"
msgstr "CATATAN: kunci telah dibatalkan"
#, fuzzy, c-format
+#| msgid "standalone signature of class 0x%02x\n"
+msgid "bad key signature from key %s: %s (0x%02x, 0x%x)\n"
+msgstr "kelas signature mandiri 0x%02x\n"
+
+#, fuzzy, c-format
msgid "assuming bad signature from key %s due to an unknown critical bit\n"
msgstr ""
"mengasumsikan signature buruk dari kunci %08lX karena ada bit kritik tidak "
@@ -6838,10 +6884,6 @@ msgid ""
msgstr ""
#, fuzzy, c-format
-msgid " (%d) RSA\n"
-msgstr " (%d) RSA (hanya menandai)\n"
-
-#, fuzzy, c-format
msgid " (%d) Existing key\n"
msgstr " (%d) RSA (hanya enkripsi)\n"
@@ -8915,6 +8957,18 @@ msgid ""
msgstr ""
#, fuzzy
+#~ msgid "What keysize do you want for the Signature key? (%u) "
+#~ msgstr "Keysize yang anda inginkan? (1024) "
+
+#, fuzzy
+#~ msgid "What keysize do you want for the Encryption key? (%u) "
+#~ msgstr "Keysize yang anda inginkan? (1024) "
+
+#, fuzzy
+#~ msgid "What keysize do you want for the Authentication key? (%u) "
+#~ msgstr "Keysize yang anda inginkan? (1024) "
+
+#, fuzzy
#~ msgid "listen() failed: %s\n"
#~ msgstr "gagal memperbarui: %s\n"
diff --git a/po/it.po b/po/it.po
index 1eb3a79c5..9faa025c9 100644
--- a/po/it.po
+++ b/po/it.po
@@ -1424,22 +1424,10 @@ msgid ""
msgstr ""
#, fuzzy, c-format
-msgid "What keysize do you want for the Signature key? (%u) "
-msgstr "Di che dimensioni vuoi la chiave? (1024) "
-
-#, fuzzy, c-format
-msgid "What keysize do you want for the Encryption key? (%u) "
-msgstr "Di che dimensioni vuoi la chiave? (1024) "
-
-#, fuzzy, c-format
-msgid "What keysize do you want for the Authentication key? (%u) "
+msgid "What keysize do you want? (%u) "
msgstr "Di che dimensioni vuoi la chiave? (1024) "
#, c-format
-msgid "The card will now be re-configured to generate a key of type: %s\n"
-msgstr ""
-
-#, c-format
msgid "rounded up to %u bits\n"
msgstr "arrotondate a %u bit\n"
@@ -1447,14 +1435,55 @@ msgstr "arrotondate a %u bit\n"
msgid "%s keysizes must be in the range %u-%u\n"
msgstr ""
+msgid "Changing card key attribute for: "
+msgstr ""
+
+#, fuzzy
+msgid "Signature key\n"
+msgstr "Firma scaduta il %s\n"
+
+#, fuzzy
+msgid "Encryption key\n"
+msgstr " (%d) RSA (cifra solo)\n"
+
+msgid "Authentication key\n"
+msgstr ""
+
+msgid "Please select what kind of key you want:\n"
+msgstr "Per favore scegli che tipo di chiave vuoi:\n"
+
+#, fuzzy, c-format
+msgid " (%d) RSA\n"
+msgstr " (%d) RSA (firma solo)\n"
+
+#, fuzzy, c-format
+msgid " (%d) ECC\n"
+msgstr " (%d) DSA e ElGamal (default)\n"
+
+msgid "Invalid selection.\n"
+msgstr "Scelta non valida.\n"
+
#, c-format
msgid "The card will now be re-configured to generate a key of %u bits\n"
msgstr ""
+#, c-format
+msgid "The card will now be re-configured to generate a key of type: %s\n"
+msgstr ""
+
#, fuzzy, c-format
-msgid "error changing size of key %d to %u bits: %s\n"
+msgid "error changing key attribute for key %d: %s\n"
msgstr "errore leggendo `%s': %s\n"
+#, fuzzy, c-format
+msgid "error getting card info: %s\n"
+msgstr "errore scrivendo il portachiavi segreto `%s': %s\n"
+
+#, fuzzy
+#| msgid "This command is not allowed while in %s mode.\n"
+msgid "This command is not supported by this card\n"
+msgstr "Questo comando non è permesso in modalità %s.\n"
+
msgid "Make off-card backup of encryption key? (Y/n) "
msgstr ""
@@ -1487,9 +1516,6 @@ msgstr " (%d) RSA (cifra solo)\n"
msgid " (3) Authentication key\n"
msgstr ""
-msgid "Invalid selection.\n"
-msgstr "Scelta non valida.\n"
-
#, fuzzy
msgid "Please select where to store the key:\n"
msgstr "Per favore scegli il motivo della revoca:\n"
@@ -1499,11 +1525,6 @@ msgid "KEYTOCARD failed: %s\n"
msgstr "aggiornamento fallito: %s\n"
#, fuzzy
-#| msgid "This command is not allowed while in %s mode.\n"
-msgid "This command is not supported by this card\n"
-msgstr "Questo comando non è permesso in modalità %s.\n"
-
-#, fuzzy
msgid "Note: This command destroys all keys stored on the card!\n"
msgstr "saltata: chiave pubblica già presente\n"
@@ -1514,6 +1535,10 @@ msgstr "Firmo davvero? "
msgid "Really do a factory reset? (enter \"yes\") "
msgstr ""
+#, fuzzy, c-format
+msgid "error for setup KDF: %s\n"
+msgstr "errore leggendo `%s': %s\n"
+
msgid "quit this menu"
msgstr "abbandona questo menù"
@@ -1571,6 +1596,16 @@ msgstr ""
msgid "destroy all keys and data"
msgstr ""
+#, fuzzy
+#| msgid "|NAME|use NAME as default recipient"
+msgid "setup KDF for PIN authentication"
+msgstr "|NOME|usa NOME come destinatario predefinito"
+
+#, fuzzy
+#| msgid "change the ownertrust"
+msgid "change the key attribute"
+msgstr "cambia il valore di fiducia"
+
msgid "gpg/card> "
msgstr ""
@@ -2274,6 +2309,10 @@ msgid "invalid pinentry mode '%s'\n"
msgstr "algoritmo di hash non valido `%s'\n"
#, fuzzy, c-format
+msgid "invalid request origin '%s'\n"
+msgstr "opzioni di importazione non valide\n"
+
+#, fuzzy, c-format
msgid "'%s' is not a valid character set\n"
msgstr "%s non è un set di caratteri valido\n"
@@ -3376,11 +3415,11 @@ msgid "Key is revoked."
msgstr "La chiave è stata revocata."
#, fuzzy
-msgid "Really sign all user IDs? (y/N) "
+msgid "Really sign all text user IDs? (y/N) "
msgstr "Firmo davvero tutti gli user ID? "
#, fuzzy
-msgid "Really sign all text user IDs? (y/N) "
+msgid "Really sign all user IDs? (y/N) "
msgstr "Firmo davvero tutti gli user ID? "
msgid "Hint: Select the user IDs to sign\n"
@@ -3758,6 +3797,15 @@ msgstr "Cambio la data di scadenza per la chiave primaria.\n"
msgid "You can't change the expiration date of a v3 key\n"
msgstr "Non è possibile cambiare la data di scadenza di una chiave v3\n"
+#, fuzzy
+msgid "Changing usage of a subkey.\n"
+msgstr "Cambio la data di scadenza per una chiave secondaria.\n"
+
+#, fuzzy
+#| msgid "Changing expiration time for the primary key.\n"
+msgid "Changing usage of the primary key.\n"
+msgstr "Cambio la data di scadenza per la chiave primaria.\n"
+
#, fuzzy, c-format
msgid "signing subkey %s is already cross-certified\n"
msgstr ""
@@ -3982,9 +4030,6 @@ msgstr ""
msgid " (%c) Finished\n"
msgstr ""
-msgid "Please select what kind of key you want:\n"
-msgstr "Per favore scegli che tipo di chiave vuoi:\n"
-
#, fuzzy, c-format
msgid " (%d) RSA and RSA (default)\n"
msgstr " (%d) DSA e ElGamal (default)\n"
@@ -4063,10 +4108,6 @@ msgstr ""
msgid "What keysize do you want for the subkey? (%u) "
msgstr "Di che dimensioni vuoi la chiave? (1024) "
-#, fuzzy, c-format
-msgid "What keysize do you want? (%u) "
-msgstr "Di che dimensioni vuoi la chiave? (1024) "
-
#, c-format
msgid "Requested keysize is %u bits\n"
msgstr "La dimensione richiesta della chiave è %u bit\n"
@@ -5488,6 +5529,11 @@ msgid "Note: signature key %s has been revoked\n"
msgstr "NOTA: la chiave è stata revocata"
#, fuzzy, c-format
+#| msgid "standalone signature of class 0x%02x\n"
+msgid "bad key signature from key %s: %s (0x%02x, 0x%x)\n"
+msgstr "firma solitaria di classe 0x%02x\n"
+
+#, fuzzy, c-format
msgid "assuming bad signature from key %s due to an unknown critical bit\n"
msgstr ""
"si suppone una firma non valida della chiave %08lX a causa di un\n"
@@ -6877,10 +6923,6 @@ msgid ""
msgstr ""
#, fuzzy, c-format
-msgid " (%d) RSA\n"
-msgstr " (%d) RSA (firma solo)\n"
-
-#, fuzzy, c-format
msgid " (%d) Existing key\n"
msgstr " (%d) RSA (cifra solo)\n"
@@ -8956,6 +8998,18 @@ msgid ""
msgstr ""
#, fuzzy
+#~ msgid "What keysize do you want for the Signature key? (%u) "
+#~ msgstr "Di che dimensioni vuoi la chiave? (1024) "
+
+#, fuzzy
+#~ msgid "What keysize do you want for the Encryption key? (%u) "
+#~ msgstr "Di che dimensioni vuoi la chiave? (1024) "
+
+#, fuzzy
+#~ msgid "What keysize do you want for the Authentication key? (%u) "
+#~ msgstr "Di che dimensioni vuoi la chiave? (1024) "
+
+#, fuzzy
#~ msgid "listen() failed: %s\n"
#~ msgstr "aggiornamento fallito: %s\n"
diff --git a/po/ja.po b/po/ja.po
index ac4ad784a..4920e4ed2 100644
--- a/po/ja.po
+++ b/po/ja.po
@@ -8,9 +8,9 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: gnupg 2.2.3\n"
+"Project-Id-Version: gnupg 2.2.6\n"
"Report-Msgid-Bugs-To: [email protected]\n"
-"PO-Revision-Date: 2017-12-18 14:07+0900\n"
+"PO-Revision-Date: 2018-03-30 19:31+0900\n"
"Last-Translator: NIIBE Yutaka <[email protected]>\n"
"Language-Team: none\n"
"Language: ja\n"
@@ -1325,37 +1325,62 @@ msgstr ""
" 利用できる鍵長について確認ください。\n"
#, c-format
-msgid "What keysize do you want for the Signature key? (%u) "
-msgstr "署名鍵の鍵長は? (%u) "
+msgid "What keysize do you want? (%u) "
+msgstr "鍵長は? (%u) "
#, c-format
-msgid "What keysize do you want for the Encryption key? (%u) "
-msgstr "暗号化鍵の鍵長は? (%u) "
+msgid "rounded up to %u bits\n"
+msgstr "%uビットに切り上げます\n"
#, c-format
-msgid "What keysize do you want for the Authentication key? (%u) "
-msgstr "認証鍵の鍵長は? (%u) "
+msgid "%s keysizes must be in the range %u-%u\n"
+msgstr "%s 鍵長は %u-%u の範囲でなければなりません\n"
-#, c-format
-msgid "The card will now be re-configured to generate a key of type: %s\n"
-msgstr ""
-"カードは、今、こちらのタイプの鍵を生成するように再コンフィグされました: %s\n"
+msgid "Changing card key attribute for: "
+msgstr "こちらのカード鍵の属性を変更します: "
+
+msgid "Signature key\n"
+msgstr "署名鍵\n"
+
+msgid "Encryption key\n"
+msgstr "暗号化鍵\n"
+
+msgid "Authentication key\n"
+msgstr "認証鍵\n"
+
+msgid "Please select what kind of key you want:\n"
+msgstr "ご希望の鍵の種類を選択してください:\n"
#, c-format
-msgid "rounded up to %u bits\n"
-msgstr "%uビットに切り上げます\n"
+msgid " (%d) RSA\n"
+msgstr " (%d) RSA\n"
#, c-format
-msgid "%s keysizes must be in the range %u-%u\n"
-msgstr "%s 鍵長は %u-%u の範囲でなければなりません\n"
+msgid " (%d) ECC\n"
+msgstr " (%d) ECC\n"
+
+msgid "Invalid selection.\n"
+msgstr "無効な選択です。\n"
#, c-format
msgid "The card will now be re-configured to generate a key of %u bits\n"
msgstr "今、%uビットの鍵を生成するようにカードは再コンフィグされました\n"
#, c-format
-msgid "error changing size of key %d to %u bits: %s\n"
-msgstr "鍵%dの長さを%u bit に変更する際にエラー: %s\n"
+msgid "The card will now be re-configured to generate a key of type: %s\n"
+msgstr ""
+"カードは、今、こちらのタイプの鍵を生成するように再コンフィグされました: %s\n"
+
+#, c-format
+msgid "error changing key attribute for key %d: %s\n"
+msgstr "鍵%dの属性を変更する際にエラー: %s\n"
+
+#, c-format
+msgid "error getting card info: %s\n"
+msgstr "鍵情報の取得エラー: %s\n"
+
+msgid "This command is not supported by this card\n"
+msgstr "このカードでは、このコマンドはサポートされていません。\n"
msgid "Make off-card backup of encryption key? (Y/n) "
msgstr "暗号化鍵のカード外バックアップを作成しますか? (Y/n) "
@@ -1388,9 +1413,6 @@ msgstr " (2) 暗号化鍵\n"
msgid " (3) Authentication key\n"
msgstr " (3) 認証鍵\n"
-msgid "Invalid selection.\n"
-msgstr "無効な選択です。\n"
-
msgid "Please select where to store the key:\n"
msgstr "鍵を保管する場所を選択してください:\n"
@@ -1398,9 +1420,6 @@ msgstr "鍵を保管する場所を選択してください:\n"
msgid "KEYTOCARD failed: %s\n"
msgstr "KEYTOCARDが失敗しました: %s\n"
-msgid "This command is not supported by this card\n"
-msgstr "このカードでは、このコマンドはサポートされていません。\n"
-
msgid "Note: This command destroys all keys stored on the card!\n"
msgstr "*注意*: このコマンドはカードに保管してあるすべての鍵を破壊します!\n"
@@ -1410,6 +1429,10 @@ msgstr "続けますか? (y/N) "
msgid "Really do a factory reset? (enter \"yes\") "
msgstr "工場出荷リセットを行いますか? (本当なら \"yes\" と入力) "
+#, c-format
+msgid "error for setup KDF: %s\n"
+msgstr "KDF設定のエラー: %s\n"
+
msgid "quit this menu"
msgstr "このメニューを終了"
@@ -1461,6 +1484,12 @@ msgstr "PINをリセット・コードでブロックを解除する"
msgid "destroy all keys and data"
msgstr "すべての鍵とデータを破壊します"
+msgid "setup KDF for PIN authentication"
+msgstr "PIN認証のKDFを設定する"
+
+msgid "change the key attribute"
+msgstr "鍵の属性の変更"
+
msgid "gpg/card> "
msgstr "gpg/card> "
@@ -2081,6 +2110,10 @@ msgid "invalid pinentry mode '%s'\n"
msgstr "無効な pinentry mode '%s'です\n"
#, c-format
+msgid "invalid request origin '%s'\n"
+msgstr "無効な送信元要求 '%s' です\n"
+
+#, c-format
msgid "'%s' is not a valid character set\n"
msgstr "'%s'は、有効な文字集合ではありません\n"
@@ -3099,12 +3132,12 @@ msgstr ""
msgid "Key is revoked."
msgstr "鍵は、失効されています。"
-msgid "Really sign all user IDs? (y/N) "
-msgstr "本当に全ユーザIDに署名しますか? (y/N) "
-
msgid "Really sign all text user IDs? (y/N) "
msgstr "本当に全てのテキストユーザIDに署名しますか? (y/N) "
+msgid "Really sign all user IDs? (y/N) "
+msgstr "本当に全ユーザIDに署名しますか? (y/N) "
+
msgid "Hint: Select the user IDs to sign\n"
msgstr "ヒント: まず署名するユーザIDを選択します\n"
@@ -3434,6 +3467,16 @@ msgstr "主鍵の有効期限を変更します。\n"
msgid "You can't change the expiration date of a v3 key\n"
msgstr "v3鍵の有効期限は変更できません\n"
+#, fuzzy
+#| msgid "Changing expiration time for a subkey.\n"
+msgid "Changing usage of a subkey.\n"
+msgstr "副鍵の有効期限を変更します。\n"
+
+#, fuzzy
+#| msgid "Changing expiration time for the primary key.\n"
+msgid "Changing usage of the primary key.\n"
+msgstr "主鍵の有効期限を変更します。\n"
+
#, c-format
msgid "signing subkey %s is already cross-certified\n"
msgstr "署名する副鍵%sはすでに相互証明されています\n"
@@ -3643,9 +3686,6 @@ msgstr " (%c) 認証機能を反転する\n"
msgid " (%c) Finished\n"
msgstr " (%c) 完了\n"
-msgid "Please select what kind of key you want:\n"
-msgstr "ご希望の鍵の種類を選択してください:\n"
-
#, c-format
msgid " (%d) RSA and RSA (default)\n"
msgstr " (%d) RSA と RSA (デフォルト)\n"
@@ -3720,10 +3760,6 @@ msgid "What keysize do you want for the subkey? (%u) "
msgstr "副鍵の鍵長は? (%u) "
#, c-format
-msgid "What keysize do you want? (%u) "
-msgstr "鍵長は? (%u) "
-
-#, c-format
msgid "Requested keysize is %u bits\n"
msgstr "要求された鍵長は%uビット\n"
@@ -5044,6 +5080,11 @@ msgstr "*注意*: 署名鍵%sは%sに期限切れとなります\n"
msgid "Note: signature key %s has been revoked\n"
msgstr "*注意*: 鍵 %s は失効済みです\n"
+#, fuzzy, c-format
+#| msgid "standalone signature of class 0x%02x\n"
+msgid "bad key signature from key %s: %s (0x%02x, 0x%x)\n"
+msgstr "クラス0x%02xのスタンドアロン署名\n"
+
#, c-format
msgid "assuming bad signature from key %s due to an unknown critical bit\n"
msgstr "不明のクリティカル・ビットにより、鍵%sの署名を不正とみなします\n"
@@ -6342,10 +6383,6 @@ msgstr ""
"さい。\n"
#, c-format
-msgid " (%d) RSA\n"
-msgstr " (%d) RSA\n"
-
-#, c-format
msgid " (%d) Existing key\n"
msgstr " (%d) 既存の鍵\n"
@@ -8319,6 +8356,18 @@ msgstr ""
"形式: gpg-check-pattern [オプション] パターンファイル\n"
"パターンファイルに対して標準入力のパスフレーズを確認する\n"
+#~ msgid "No change."
+#~ msgstr "変更なし。"
+
+#~ msgid "What keysize do you want for the Signature key? (%u) "
+#~ msgstr "署名鍵の鍵長は? (%u) "
+
+#~ msgid "What keysize do you want for the Encryption key? (%u) "
+#~ msgstr "暗号化鍵の鍵長は? (%u) "
+
+#~ msgid "What keysize do you want for the Authentication key? (%u) "
+#~ msgstr "認証鍵の鍵長は? (%u) "
+
#~ msgid "listen() failed: %s\n"
#~ msgstr "listen() に失敗しました: %s\n"
diff --git a/po/nb.po b/po/nb.po
index eea3fd793..a44b539fc 100644
--- a/po/nb.po
+++ b/po/nb.po
@@ -1328,21 +1328,8 @@ msgstr ""
" det tillater hvis nøkkelgenerering mislykkes.\n"
#, c-format
-msgid "What keysize do you want for the Signature key? (%u) "
-msgstr "Hvor stor skal signaturnøkkelen være? (%u) "
-
-#, c-format
-msgid "What keysize do you want for the Encryption key? (%u) "
-msgstr "Hvor stor skal krypteringsnøkkelen være? (%u) "
-
-#, c-format
-msgid "What keysize do you want for the Authentication key? (%u) "
-msgstr "Hvor stor skal autentiseringsnøkkelen være? (%u) "
-
-#, fuzzy, c-format
-#| msgid "The card will now be re-configured to generate a key of %u bits\n"
-msgid "The card will now be re-configured to generate a key of type: %s\n"
-msgstr "Kortet blir nå satt opp på nytt for å lage nøkkel på %u bit\n"
+msgid "What keysize do you want? (%u) "
+msgstr "Hvor stor skal nøkkelen være? (%u) "
#, c-format
msgid "rounded up to %u bits\n"
@@ -1352,14 +1339,61 @@ msgstr "rundet opp til %u bit\n"
msgid "%s keysizes must be in the range %u-%u\n"
msgstr "%s nøkkelstørrelser må ligge i rekkevidden %u-%u\n"
+msgid "Changing card key attribute for: "
+msgstr ""
+
+#, fuzzy
+#| msgid " (1) Signature key\n"
+msgid "Signature key\n"
+msgstr " (1) Signaturnøkkel\n"
+
+#, fuzzy
+#| msgid " (2) Encryption key\n"
+msgid "Encryption key\n"
+msgstr " (2) Krypteringsnøkkel\n"
+
+#, fuzzy
+#| msgid " (3) Authentication key\n"
+msgid "Authentication key\n"
+msgstr " (3) Autentiseringsnøkkel\n"
+
+msgid "Please select what kind of key you want:\n"
+msgstr "Velg hvilken type nøkkel du vil ha:\n"
+
+#, c-format
+msgid " (%d) RSA\n"
+msgstr " (%d) RSA\n"
+
+#, fuzzy, c-format
+#| msgid " (%d) ECC and ECC\n"
+msgid " (%d) ECC\n"
+msgstr " (%d) ECC og ECC\n"
+
+msgid "Invalid selection.\n"
+msgstr "Ugyldig valg.\n"
+
#, c-format
msgid "The card will now be re-configured to generate a key of %u bits\n"
msgstr "Kortet blir nå satt opp på nytt for å lage nøkkel på %u bit\n"
-#, c-format
-msgid "error changing size of key %d to %u bits: %s\n"
+#, fuzzy, c-format
+#| msgid "The card will now be re-configured to generate a key of %u bits\n"
+msgid "The card will now be re-configured to generate a key of type: %s\n"
+msgstr "Kortet blir nå satt opp på nytt for å lage nøkkel på %u bit\n"
+
+#, fuzzy, c-format
+#| msgid "error changing size of key %d to %u bits: %s\n"
+msgid "error changing key attribute for key %d: %s\n"
msgstr "feil under endring av størrelse på nøkkel %d til %u bit: %s\n"
+#, fuzzy, c-format
+#| msgid "error getting current key info: %s\n"
+msgid "error getting card info: %s\n"
+msgstr "feil under henting av nøkkelinfo: %s\n"
+
+msgid "This command is not supported by this card\n"
+msgstr "Denne kommandoen støttes ikke av dette kortet\n"
+
msgid "Make off-card backup of encryption key? (Y/n) "
msgstr "Lage sikkerhetskopi av krypteringsnøkler utenfor kortet? (J/n) "
@@ -1391,9 +1425,6 @@ msgstr " (2) Krypteringsnøkkel\n"
msgid " (3) Authentication key\n"
msgstr " (3) Autentiseringsnøkkel\n"
-msgid "Invalid selection.\n"
-msgstr "Ugyldig valg.\n"
-
msgid "Please select where to store the key:\n"
msgstr "velg hvor nøkkelen skal lagres:\n"
@@ -1401,9 +1432,6 @@ msgstr "velg hvor nøkkelen skal lagres:\n"
msgid "KEYTOCARD failed: %s\n"
msgstr "KEYTOCARD mislyktes: %s\n"
-msgid "This command is not supported by this card\n"
-msgstr "Denne kommandoen støttes ikke av dette kortet\n"
-
msgid "Note: This command destroys all keys stored on the card!\n"
msgstr "Merk: denne kommandoen ødelegger alle nøkler på kortet.\n"
@@ -1413,6 +1441,11 @@ msgstr "Vil du fortsette? (j/N) "
msgid "Really do a factory reset? (enter \"yes\") "
msgstr "Er du sikker på at du vil gjenopprette fabrikkoppsett? (skriv «ja») "
+#, fuzzy, c-format
+#| msgid "error looking up: %s\n"
+msgid "error for setup KDF: %s\n"
+msgstr "feil under oppslag av %s\n"
+
msgid "quit this menu"
msgstr "gå ut av denne menyen"
@@ -1464,6 +1497,16 @@ msgstr "fjern PIN-blokkering med en tilbakestillingskode"
msgid "destroy all keys and data"
msgstr "ødelegg alle nøkler og data"
+#, fuzzy
+#| msgid "|NAME|use user NAME for authentication"
+msgid "setup KDF for PIN authentication"
+msgstr "|NAVN|bruk valgt brukerNAVN til autentisering"
+
+#, fuzzy
+#| msgid "change the ownertrust"
+msgid "change the key attribute"
+msgstr "endre eiertillit"
+
msgid "gpg/card> "
msgstr "gpg/kort> "
@@ -2086,6 +2129,11 @@ msgstr "«%s» er en ugyldig e-postadresse\n"
msgid "invalid pinentry mode '%s'\n"
msgstr "PIN-inntastingsmodus «%s» er ugyldig\n"
+#, fuzzy, c-format
+#| msgid "invalid value for option '%s'\n"
+msgid "invalid request origin '%s'\n"
+msgstr "ugyldig verdi for valg «%s»\n"
+
#, c-format
msgid "'%s' is not a valid character set\n"
msgstr "«%s» er ikke et gyldig tegnsett\n"
@@ -3128,12 +3176,12 @@ msgstr ""
msgid "Key is revoked."
msgstr "Nøkkelen er opphevet."
-msgid "Really sign all user IDs? (y/N) "
-msgstr "Er du sikekr på at du vil signerere alle bruker-id-er? (j/N) "
-
msgid "Really sign all text user IDs? (y/N) "
msgstr "Er du sikker på at du vil signerere alle bruker-id-er? (j/N) "
+msgid "Really sign all user IDs? (y/N) "
+msgstr "Er du sikekr på at du vil signerere alle bruker-id-er? (j/N) "
+
msgid "Hint: Select the user IDs to sign\n"
msgstr "Tips: Velg bruker-id-en(e) du vil signere\n"
@@ -3468,6 +3516,16 @@ msgstr "Endrer utløpstid for primærnøkkel.\n"
msgid "You can't change the expiration date of a v3 key\n"
msgstr "Du kan ikke endre utløpsdato for v3-nøkler\n"
+#, fuzzy
+#| msgid "Changing expiration time for a subkey.\n"
+msgid "Changing usage of a subkey.\n"
+msgstr "Endrer utløpstid for undernøkkel.\n"
+
+#, fuzzy
+#| msgid "Changing expiration time for the primary key.\n"
+msgid "Changing usage of the primary key.\n"
+msgstr "Endrer utløpstid for primærnøkkel.\n"
+
#, c-format
msgid "signing subkey %s is already cross-certified\n"
msgstr "signerings-undernøkkel %s er allerede kryssertifisert\n"
@@ -3682,9 +3740,6 @@ msgstr " (%c) Slå av/på autentiseringsfunksjon\n"
msgid " (%c) Finished\n"
msgstr " (%c) Ferdig\n"
-msgid "Please select what kind of key you want:\n"
-msgstr "Velg hvilken type nøkkel du vil ha:\n"
-
#, c-format
msgid " (%d) RSA and RSA (default)\n"
msgstr " (%d) RSA og RSA (standard)\n"
@@ -3759,10 +3814,6 @@ msgid "What keysize do you want for the subkey? (%u) "
msgstr "Hvor stor vil du at undernøkkelen skal være? (%u) "
#, c-format
-msgid "What keysize do you want? (%u) "
-msgstr "Hvor stor skal nøkkelen være? (%u) "
-
-#, c-format
msgid "Requested keysize is %u bits\n"
msgstr "Forespurt nøkkelstørrelse er %u bit\n"
@@ -5125,6 +5176,11 @@ msgstr "Merk: signaturnøkkel %s utgått %s\n"
msgid "Note: signature key %s has been revoked\n"
msgstr "Merk: signaturnøkkel %s er opphevet\n"
+#, fuzzy, c-format
+#| msgid "standalone signature of class 0x%02x\n"
+msgid "bad key signature from key %s: %s (0x%02x, 0x%x)\n"
+msgstr "separat signatur av klasse 0x%02x\n"
+
#, c-format
msgid "assuming bad signature from key %s due to an unknown critical bit\n"
msgstr "antatt ugyldig signatur fra nøkkel %s pga. ukjent «kritisk»-bit\n"
@@ -6455,10 +6511,6 @@ msgstr ""
"sertifikat-forespørselen.\n"
#, c-format
-msgid " (%d) RSA\n"
-msgstr " (%d) RSA\n"
-
-#, c-format
msgid " (%d) Existing key\n"
msgstr " (%d) Nøkkel\n"
@@ -8436,6 +8488,15 @@ msgstr ""
"Syntaks: gpg-check-pattern [valg] mønsterfil\n"
"Kontroller passordfrase oppgitt på standard innkanal mot valgt mønsterfil\n"
+#~ msgid "What keysize do you want for the Signature key? (%u) "
+#~ msgstr "Hvor stor skal signaturnøkkelen være? (%u) "
+
+#~ msgid "What keysize do you want for the Encryption key? (%u) "
+#~ msgstr "Hvor stor skal krypteringsnøkkelen være? (%u) "
+
+#~ msgid "What keysize do you want for the Authentication key? (%u) "
+#~ msgstr "Hvor stor skal autentiseringsnøkkelen være? (%u) "
+
#~ msgid "listen() failed: %s\n"
#~ msgstr "listen() mislyktes: %s\n"
diff --git a/po/pl.po b/po/pl.po
index 74ade4fb5..3079b318e 100644
--- a/po/pl.po
+++ b/po/pl.po
@@ -1444,21 +1444,8 @@ msgstr ""
" dokumentację karty, aby poznać dozwolone rozmiary.\n"
#, c-format
-msgid "What keysize do you want for the Signature key? (%u) "
-msgstr "Jakiej długości klucz do podpisywania wygenerować? (%u) "
-
-#, c-format
-msgid "What keysize do you want for the Encryption key? (%u) "
-msgstr "Jakiej długości klucz do szyfrowania wygenerować? (%u) "
-
-#, c-format
-msgid "What keysize do you want for the Authentication key? (%u) "
-msgstr "Jakiej długości klucz do uwierzytelniania wygenerować? (%u) "
-
-#, fuzzy, c-format
-#| msgid "The card will now be re-configured to generate a key of %u bits\n"
-msgid "The card will now be re-configured to generate a key of type: %s\n"
-msgstr "Karta zostanie przekonfigurowana do tworzenia klucza %u-bitowego\n"
+msgid "What keysize do you want? (%u) "
+msgstr "Jakiej długości klucz wygenerować? (%u) "
#, c-format
msgid "rounded up to %u bits\n"
@@ -1468,14 +1455,63 @@ msgstr "zaokrąglono do %u bitów\n"
msgid "%s keysizes must be in the range %u-%u\n"
msgstr "Rozmiary kluczy %s muszą być z przedziału %u-%u\n"
+msgid "Changing card key attribute for: "
+msgstr ""
+
+#, fuzzy
+#| msgid " (1) Signature key\n"
+msgid "Signature key\n"
+msgstr " (1) Klucz do podpisów\n"
+
+#, fuzzy
+#| msgid " (2) Encryption key\n"
+msgid "Encryption key\n"
+msgstr " (2) Klucz do szyfrowania\n"
+
+#, fuzzy
+#| msgid " (3) Authentication key\n"
+msgid "Authentication key\n"
+msgstr " (3) Klucz do uwierzytelniania\n"
+
+msgid "Please select what kind of key you want:\n"
+msgstr "Proszę wybrać rodzaj klucza:\n"
+
+#, c-format
+msgid " (%d) RSA\n"
+msgstr " (%d) RSA\n"
+
+#, fuzzy, c-format
+#| msgid " (%d) DSA and Elgamal\n"
+msgid " (%d) ECC\n"
+msgstr " (%d) DSA i Elgamala\n"
+
+msgid "Invalid selection.\n"
+msgstr "Niewłaściwy wybór.\n"
+
#, c-format
msgid "The card will now be re-configured to generate a key of %u bits\n"
msgstr "Karta zostanie przekonfigurowana do tworzenia klucza %u-bitowego\n"
-#, c-format
-msgid "error changing size of key %d to %u bits: %s\n"
+#, fuzzy, c-format
+#| msgid "The card will now be re-configured to generate a key of %u bits\n"
+msgid "The card will now be re-configured to generate a key of type: %s\n"
+msgstr "Karta zostanie przekonfigurowana do tworzenia klucza %u-bitowego\n"
+
+#, fuzzy, c-format
+#| msgid "error changing size of key %d to %u bits: %s\n"
+msgid "error changing key attribute for key %d: %s\n"
msgstr "błąd podczas zmiany rozmiaru klucza %d na %u bitów: %s\n"
+#, fuzzy, c-format
+#| msgid "error getting current key info: %s\n"
+msgid "error getting card info: %s\n"
+msgstr "błąd podczas odczytu aktualnych informacji o kluczu: %s\n"
+
+#, fuzzy
+#| msgid "This command is not allowed while in %s mode.\n"
+msgid "This command is not supported by this card\n"
+msgstr "To polecenie nie jest dostępne w trybie %s.\n"
+
msgid "Make off-card backup of encryption key? (Y/n) "
msgstr "Stworzyć poza kartą kopię zapasową klucza szyfrującego? (T/n) "
@@ -1513,9 +1549,6 @@ msgstr " (2) Klucz do szyfrowania\n"
msgid " (3) Authentication key\n"
msgstr " (3) Klucz do uwierzytelniania\n"
-msgid "Invalid selection.\n"
-msgstr "Niewłaściwy wybór.\n"
-
msgid "Please select where to store the key:\n"
msgstr "Proszę wybrać gdzie zapisać klucz:\n"
@@ -1525,11 +1558,6 @@ msgid "KEYTOCARD failed: %s\n"
msgstr "odczyt nie powiódł się: %s\n"
#, fuzzy
-#| msgid "This command is not allowed while in %s mode.\n"
-msgid "This command is not supported by this card\n"
-msgstr "To polecenie nie jest dostępne w trybie %s.\n"
-
-#, fuzzy
#| msgid "NOTE: keys are already stored on the card!\n"
msgid "Note: This command destroys all keys stored on the card!\n"
msgstr "UWAGA: klucze są już zapisane na karcie!\n"
@@ -1542,6 +1570,11 @@ msgstr "Podpisać go? (t/N) "
msgid "Really do a factory reset? (enter \"yes\") "
msgstr ""
+#, fuzzy, c-format
+#| msgid "error closing %s: %s\n"
+msgid "error for setup KDF: %s\n"
+msgstr "błąd zamykania %s: %s\n"
+
msgid "quit this menu"
msgstr "wyjście z tego menu"
@@ -1593,6 +1626,14 @@ msgstr "odblokowanie PIN-u przy użyciu kodu resetującego"
msgid "destroy all keys and data"
msgstr ""
+msgid "setup KDF for PIN authentication"
+msgstr ""
+
+#, fuzzy
+#| msgid "change the ownertrust"
+msgid "change the key attribute"
+msgstr "zmiana zaufania właściciela"
+
msgid "gpg/card> "
msgstr "gpg/karta> "
@@ -2319,6 +2360,11 @@ msgid "invalid pinentry mode '%s'\n"
msgstr "niewłaściwy kod kraju w ,,%s'', w linii %d\n"
#, fuzzy, c-format
+#| msgid "missing argument for option \"%.50s\"\n"
+msgid "invalid request origin '%s'\n"
+msgstr "brak argumentu dla opcji ,,%.50s''\n"
+
+#, fuzzy, c-format
#| msgid "`%s' is not a valid character set\n"
msgid "'%s' is not a valid character set\n"
msgstr ",,%s'' nie jest poprawną nazwą zestawu znaków\n"
@@ -3417,14 +3463,14 @@ msgstr ""
msgid "Key is revoked."
msgstr "Klucz unieważniony."
-msgid "Really sign all user IDs? (y/N) "
-msgstr "Czy na pewno podpisać wszystkie identyfikatory użytkownika? (t/N) "
-
#, fuzzy
#| msgid "Really sign all user IDs? (y/N) "
msgid "Really sign all text user IDs? (y/N) "
msgstr "Czy na pewno podpisać wszystkie identyfikatory użytkownika? (t/N) "
+msgid "Really sign all user IDs? (y/N) "
+msgstr "Czy na pewno podpisać wszystkie identyfikatory użytkownika? (t/N) "
+
msgid "Hint: Select the user IDs to sign\n"
msgstr "Podpowiedź: wybierz identyfikatory użytkownika do podpisania.\n"
@@ -3787,6 +3833,16 @@ msgstr "Zmiana daty ważności głównego klucza.\n"
msgid "You can't change the expiration date of a v3 key\n"
msgstr "Nie można zmienić daty ważności klucza w wersji 3.\n"
+#, fuzzy
+#| msgid "Changing expiration time for a subkey.\n"
+msgid "Changing usage of a subkey.\n"
+msgstr "Zmiana daty ważności podklucza.\n"
+
+#, fuzzy
+#| msgid "Changing expiration time for the primary key.\n"
+msgid "Changing usage of the primary key.\n"
+msgstr "Zmiana daty ważności głównego klucza.\n"
+
#, c-format
msgid "signing subkey %s is already cross-certified\n"
msgstr "podklucz podpisujący %s jest już skrośnie podpisany\n"
@@ -4007,9 +4063,6 @@ msgstr " (%c) Przełączenie możliwości uwierzytelniania\n"
msgid " (%c) Finished\n"
msgstr " (%c) Zakończenie\n"
-msgid "Please select what kind of key you want:\n"
-msgstr "Proszę wybrać rodzaj klucza:\n"
-
#, c-format
msgid " (%d) RSA and RSA (default)\n"
msgstr " (%d) RSA i RSA (domyślne)\n"
@@ -4090,10 +4143,6 @@ msgid "What keysize do you want for the subkey? (%u) "
msgstr "Jakiej długości podklucz wygenerować? (%u) "
#, c-format
-msgid "What keysize do you want? (%u) "
-msgstr "Jakiej długości klucz wygenerować? (%u) "
-
-#, c-format
msgid "Requested keysize is %u bits\n"
msgstr "Żądana długość klucza to %u bitów.\n"
@@ -5559,6 +5608,11 @@ msgstr "UWAGA: klucz podpisujący %s przekroczył datę ważności %s\n"
msgid "Note: signature key %s has been revoked\n"
msgstr "UWAGA: klucz podpisujący %s został unieważniony\n"
+#, fuzzy, c-format
+#| msgid "standalone signature of class 0x%02x\n"
+msgid "bad key signature from key %s: %s (0x%02x, 0x%x)\n"
+msgstr "oddzielony podpis klasy 0x%02x.\n"
+
#, c-format
msgid "assuming bad signature from key %s due to an unknown critical bit\n"
msgstr ""
@@ -7002,10 +7056,6 @@ msgstr ""
"utworzonego klucza.\n"
#, c-format
-msgid " (%d) RSA\n"
-msgstr " (%d) RSA\n"
-
-#, c-format
msgid " (%d) Existing key\n"
msgstr " (%d) Istniejący klucz\n"
@@ -9277,6 +9327,15 @@ msgstr ""
"Składnia: gpg-check-pattern [opcje] plik-wzorców\n"
"Sprawdzanie hasła ze standardowego wejścia względem pliku wzorców\n"
+#~ msgid "What keysize do you want for the Signature key? (%u) "
+#~ msgstr "Jakiej długości klucz do podpisywania wygenerować? (%u) "
+
+#~ msgid "What keysize do you want for the Encryption key? (%u) "
+#~ msgstr "Jakiej długości klucz do szyfrowania wygenerować? (%u) "
+
+#~ msgid "What keysize do you want for the Authentication key? (%u) "
+#~ msgstr "Jakiej długości klucz do uwierzytelniania wygenerować? (%u) "
+
#~ msgid "listen() failed: %s\n"
#~ msgstr "listen() nie powiodło się: %s\n"
diff --git a/po/pt.po b/po/pt.po
index dab31d82c..864a1f719 100644
--- a/po/pt.po
+++ b/po/pt.po
@@ -1425,22 +1425,10 @@ msgid ""
msgstr ""
#, fuzzy, c-format
-msgid "What keysize do you want for the Signature key? (%u) "
-msgstr "Qual o tamanho de chave desejado? (1024) "
-
-#, fuzzy, c-format
-msgid "What keysize do you want for the Encryption key? (%u) "
-msgstr "Qual o tamanho de chave desejado? (1024) "
-
-#, fuzzy, c-format
-msgid "What keysize do you want for the Authentication key? (%u) "
+msgid "What keysize do you want? (%u) "
msgstr "Qual o tamanho de chave desejado? (1024) "
#, c-format
-msgid "The card will now be re-configured to generate a key of type: %s\n"
-msgstr ""
-
-#, c-format
msgid "rounded up to %u bits\n"
msgstr "arredondado para %u bits\n"
@@ -1448,14 +1436,55 @@ msgstr "arredondado para %u bits\n"
msgid "%s keysizes must be in the range %u-%u\n"
msgstr ""
+msgid "Changing card key attribute for: "
+msgstr ""
+
+#, fuzzy
+msgid "Signature key\n"
+msgstr "Esta assinatura expirou em %s.\n"
+
+#, fuzzy
+msgid "Encryption key\n"
+msgstr " (%d) RSA (apenas cifragem)\n"
+
+msgid "Authentication key\n"
+msgstr ""
+
+msgid "Please select what kind of key you want:\n"
+msgstr "Por favor selecione o tipo de chave desejado:\n"
+
+#, fuzzy, c-format
+msgid " (%d) RSA\n"
+msgstr " (%d) RSA (apenas assinatura)\n"
+
+#, fuzzy, c-format
+msgid " (%d) ECC\n"
+msgstr " (%d) DSA e ElGamal (por omissão)\n"
+
+msgid "Invalid selection.\n"
+msgstr "Opção inválida.\n"
+
#, c-format
msgid "The card will now be re-configured to generate a key of %u bits\n"
msgstr ""
+#, c-format
+msgid "The card will now be re-configured to generate a key of type: %s\n"
+msgstr ""
+
#, fuzzy, c-format
-msgid "error changing size of key %d to %u bits: %s\n"
+msgid "error changing key attribute for key %d: %s\n"
msgstr "erro ao enviar para `%s': %s\n"
+#, fuzzy, c-format
+msgid "error getting card info: %s\n"
+msgstr "erro ao escrever no porta-chaves secreto `%s': %s\n"
+
+#, fuzzy
+#| msgid "This command is not allowed while in %s mode.\n"
+msgid "This command is not supported by this card\n"
+msgstr "Este comando não é permitido no modo %s.\n"
+
msgid "Make off-card backup of encryption key? (Y/n) "
msgstr ""
@@ -1488,9 +1517,6 @@ msgstr " (%d) RSA (apenas cifragem)\n"
msgid " (3) Authentication key\n"
msgstr ""
-msgid "Invalid selection.\n"
-msgstr "Opção inválida.\n"
-
#, fuzzy
msgid "Please select where to store the key:\n"
msgstr "motivo da revocação: "
@@ -1500,11 +1526,6 @@ msgid "KEYTOCARD failed: %s\n"
msgstr "actualização falhou: %s\n"
#, fuzzy
-#| msgid "This command is not allowed while in %s mode.\n"
-msgid "This command is not supported by this card\n"
-msgstr "Este comando não é permitido no modo %s.\n"
-
-#, fuzzy
msgid "Note: This command destroys all keys stored on the card!\n"
msgstr "ignorado: a chave secreta já está presente\n"
@@ -1515,6 +1536,10 @@ msgstr "Realmente assinar? "
msgid "Really do a factory reset? (enter \"yes\") "
msgstr ""
+#, fuzzy, c-format
+msgid "error for setup KDF: %s\n"
+msgstr "erro na leitura de `%s': %s\n"
+
msgid "quit this menu"
msgstr "sair deste menu"
@@ -1572,6 +1597,16 @@ msgstr ""
msgid "destroy all keys and data"
msgstr ""
+#, fuzzy
+#| msgid "|NAME|use NAME as default recipient"
+msgid "setup KDF for PIN authentication"
+msgstr "|NOME|usar NOME como destinatário por omissão"
+
+#, fuzzy
+#| msgid "change the ownertrust"
+msgid "change the key attribute"
+msgstr "muda os valores de confiança"
+
msgid "gpg/card> "
msgstr ""
@@ -2268,6 +2303,10 @@ msgid "invalid pinentry mode '%s'\n"
msgstr "algoritmo de dispersão inválido `%s'\n"
#, fuzzy, c-format
+msgid "invalid request origin '%s'\n"
+msgstr "opções de importação inválidas\n"
+
+#, fuzzy, c-format
msgid "'%s' is not a valid character set\n"
msgstr "%s não é um conjunto de caracteres válido\n"
@@ -3375,11 +3414,11 @@ msgid "Key is revoked."
msgstr "A chave está revogada."
#, fuzzy
-msgid "Really sign all user IDs? (y/N) "
+msgid "Really sign all text user IDs? (y/N) "
msgstr "Realmente assinar todos os IDs de utilizador? "
#, fuzzy
-msgid "Really sign all text user IDs? (y/N) "
+msgid "Really sign all user IDs? (y/N) "
msgstr "Realmente assinar todos os IDs de utilizador? "
msgid "Hint: Select the user IDs to sign\n"
@@ -3745,6 +3784,15 @@ msgstr "Modificar a data de validade para uma chave primária.\n"
msgid "You can't change the expiration date of a v3 key\n"
msgstr "Você não pode modificar a data de validade de uma chave v3\n"
+#, fuzzy
+msgid "Changing usage of a subkey.\n"
+msgstr "A modificar a data de validade para uma chave secundária.\n"
+
+#, fuzzy
+#| msgid "Changing expiration time for the primary key.\n"
+msgid "Changing usage of the primary key.\n"
+msgstr "Modificar a data de validade para uma chave primária.\n"
+
#, fuzzy, c-format
msgid "signing subkey %s is already cross-certified\n"
msgstr "não pode escolher uma chave como revogadora de si mesmo\n"
@@ -3967,9 +4015,6 @@ msgstr ""
msgid " (%c) Finished\n"
msgstr ""
-msgid "Please select what kind of key you want:\n"
-msgstr "Por favor selecione o tipo de chave desejado:\n"
-
#, fuzzy, c-format
msgid " (%d) RSA and RSA (default)\n"
msgstr " (%d) DSA e ElGamal (por omissão)\n"
@@ -4048,10 +4093,6 @@ msgstr ""
msgid "What keysize do you want for the subkey? (%u) "
msgstr "Qual o tamanho de chave desejado? (1024) "
-#, fuzzy, c-format
-msgid "What keysize do you want? (%u) "
-msgstr "Qual o tamanho de chave desejado? (1024) "
-
#, c-format
msgid "Requested keysize is %u bits\n"
msgstr "O tamanho de chave pedido é %u bits\n"
@@ -5464,6 +5505,11 @@ msgid "Note: signature key %s has been revoked\n"
msgstr "NOTA: a chave foi revogada"
#, fuzzy, c-format
+#| msgid "standalone signature of class 0x%02x\n"
+msgid "bad key signature from key %s: %s (0x%02x, 0x%x)\n"
+msgstr "assinatura de classe 0x%02x\n"
+
+#, fuzzy, c-format
msgid "assuming bad signature from key %s due to an unknown critical bit\n"
msgstr ""
"assumindo assinatura incorrecta na chave %08lX devido a um bit crítico "
@@ -6846,10 +6892,6 @@ msgid ""
msgstr ""
#, fuzzy, c-format
-msgid " (%d) RSA\n"
-msgstr " (%d) RSA (apenas assinatura)\n"
-
-#, fuzzy, c-format
msgid " (%d) Existing key\n"
msgstr " (%d) RSA (apenas cifragem)\n"
@@ -8924,6 +8966,18 @@ msgid ""
msgstr ""
#, fuzzy
+#~ msgid "What keysize do you want for the Signature key? (%u) "
+#~ msgstr "Qual o tamanho de chave desejado? (1024) "
+
+#, fuzzy
+#~ msgid "What keysize do you want for the Encryption key? (%u) "
+#~ msgstr "Qual o tamanho de chave desejado? (1024) "
+
+#, fuzzy
+#~ msgid "What keysize do you want for the Authentication key? (%u) "
+#~ msgstr "Qual o tamanho de chave desejado? (1024) "
+
+#, fuzzy
#~ msgid "listen() failed: %s\n"
#~ msgstr "actualização falhou: %s\n"
diff --git a/po/ro.po b/po/ro.po
index bf4daec45..3aeaebb49 100644
--- a/po/ro.po
+++ b/po/ro.po
@@ -1429,21 +1429,9 @@ msgid ""
" documentation of your card to see what sizes are allowed.\n"
msgstr ""
-#, fuzzy, c-format
-msgid "What keysize do you want for the Signature key? (%u) "
-msgstr "Ce lungime de cheie doriţi? (%u) "
-
-#, fuzzy, c-format
-msgid "What keysize do you want for the Encryption key? (%u) "
-msgstr "Ce lungime de cheie doriţi? (%u) "
-
-#, fuzzy, c-format
-msgid "What keysize do you want for the Authentication key? (%u) "
-msgstr "Ce lungime de cheie doriţi? (%u) "
-
#, c-format
-msgid "The card will now be re-configured to generate a key of type: %s\n"
-msgstr ""
+msgid "What keysize do you want? (%u) "
+msgstr "Ce lungime de cheie doriţi? (%u) "
#, c-format
msgid "rounded up to %u bits\n"
@@ -1453,14 +1441,60 @@ msgstr "rotunjită prin adaos la %u biţi\n"
msgid "%s keysizes must be in the range %u-%u\n"
msgstr "dimensiunile cheii %s trebuie să fie în intervalul %u-%u\n"
+msgid "Changing card key attribute for: "
+msgstr ""
+
+#, fuzzy
+#| msgid " (1) Signature key\n"
+msgid "Signature key\n"
+msgstr " (1) Cheie de semnare\n"
+
+#, fuzzy
+#| msgid " (2) Encryption key\n"
+msgid "Encryption key\n"
+msgstr " (2) Cheie de cifrare\n"
+
+#, fuzzy
+#| msgid " (3) Authentication key\n"
+msgid "Authentication key\n"
+msgstr " (3) Cheie de autentificare\n"
+
+msgid "Please select what kind of key you want:\n"
+msgstr "Selectaţi ce fel de cheie doriţi:\n"
+
+#, fuzzy, c-format
+msgid " (%d) RSA\n"
+msgstr " (%d) RSA (numai semnare)\n"
+
+#, fuzzy, c-format
+msgid " (%d) ECC\n"
+msgstr " (%d) DSA şi Elgamal (implicit)\n"
+
+msgid "Invalid selection.\n"
+msgstr "Selecţie invalidă.\n"
+
#, c-format
msgid "The card will now be re-configured to generate a key of %u bits\n"
msgstr ""
+#, c-format
+msgid "The card will now be re-configured to generate a key of type: %s\n"
+msgstr ""
+
#, fuzzy, c-format
-msgid "error changing size of key %d to %u bits: %s\n"
+msgid "error changing key attribute for key %d: %s\n"
msgstr "eroare trimitere la `%s': %s\n"
+#, fuzzy, c-format
+#| msgid "error getting current key info: %s\n"
+msgid "error getting card info: %s\n"
+msgstr "eroare la obţinerea informaţiei pentru cheia curentă: %s\n"
+
+#, fuzzy
+#| msgid "This command is not allowed while in %s mode.\n"
+msgid "This command is not supported by this card\n"
+msgstr "Această comandă nu este permisă în modul %s.\n"
+
msgid "Make off-card backup of encryption key? (Y/n) "
msgstr "Creez copie de rezervă a cheii de cifrare în afara cardului? (d/N) "
@@ -1497,9 +1531,6 @@ msgstr " (2) Cheie de cifrare\n"
msgid " (3) Authentication key\n"
msgstr " (3) Cheie de autentificare\n"
-msgid "Invalid selection.\n"
-msgstr "Selecţie invalidă.\n"
-
msgid "Please select where to store the key:\n"
msgstr "Vă rugăm selectaţi unde să fie stocată cheia:\n"
@@ -1508,11 +1539,6 @@ msgid "KEYTOCARD failed: %s\n"
msgstr "actualizarea a eşuat: %s\n"
#, fuzzy
-#| msgid "This command is not allowed while in %s mode.\n"
-msgid "This command is not supported by this card\n"
-msgstr "Această comandă nu este permisă în modul %s.\n"
-
-#, fuzzy
msgid "Note: This command destroys all keys stored on the card!\n"
msgstr "cheia secretă deja stocată pe un card\n"
@@ -1524,6 +1550,10 @@ msgstr "Doriţi să-l semnaţi? (d/N) "
msgid "Really do a factory reset? (enter \"yes\") "
msgstr ""
+#, fuzzy, c-format
+msgid "error for setup KDF: %s\n"
+msgstr "eroare în `%s': %s\n"
+
msgid "quit this menu"
msgstr "ieşi din acest meniu"
@@ -1575,6 +1605,16 @@ msgstr ""
msgid "destroy all keys and data"
msgstr ""
+#, fuzzy
+#| msgid "|NAME|use NAME as default recipient"
+msgid "setup KDF for PIN authentication"
+msgstr "|NUME|foloseşte NUME ca destinatar implicit"
+
+#, fuzzy
+#| msgid "change the ownertrust"
+msgid "change the key attribute"
+msgstr "schimbă încrederea pentru proprietar"
+
msgid "gpg/card> "
msgstr ""
@@ -2302,6 +2342,10 @@ msgid "invalid pinentry mode '%s'\n"
msgstr "algoritm hash invalid `%s'\n"
#, fuzzy, c-format
+msgid "invalid request origin '%s'\n"
+msgstr "opţiuni enumerare invalide\n"
+
+#, fuzzy, c-format
#| msgid "`%s' is not a valid character set\n"
msgid "'%s' is not a valid character set\n"
msgstr "`%s' nu este un set de carectere valid\n"
@@ -3388,14 +3432,14 @@ msgstr ""
msgid "Key is revoked."
msgstr "Cheia este revocată."
-msgid "Really sign all user IDs? (y/N) "
-msgstr "Semnaţi într-adevăr toate ID-urile utilizator? (d/N) "
-
#, fuzzy
#| msgid "Really sign all user IDs? (y/N) "
msgid "Really sign all text user IDs? (y/N) "
msgstr "Semnaţi într-adevăr toate ID-urile utilizator? (d/N) "
+msgid "Really sign all user IDs? (y/N) "
+msgstr "Semnaţi într-adevăr toate ID-urile utilizator? (d/N) "
+
msgid "Hint: Select the user IDs to sign\n"
msgstr "Sugestie: Selectaţi ID-ul utilizator de semnat\n"
@@ -3759,6 +3803,16 @@ msgstr "Schimb timpul de expirare pentru cheia primară.\n"
msgid "You can't change the expiration date of a v3 key\n"
msgstr "Nu puteţi schimba data de expirare a unei chei v3\n"
+#, fuzzy
+#| msgid "Changing expiration time for a subkey.\n"
+msgid "Changing usage of a subkey.\n"
+msgstr "Schimb timpul de expirare pentru o subcheie.\n"
+
+#, fuzzy
+#| msgid "Changing expiration time for the primary key.\n"
+msgid "Changing usage of the primary key.\n"
+msgstr "Schimb timpul de expirare pentru cheia primară.\n"
+
#, fuzzy, c-format
msgid "signing subkey %s is already cross-certified\n"
msgstr ""
@@ -3977,9 +4031,6 @@ msgstr " (%c) Comută capabilitatea de autentificare\n"
msgid " (%c) Finished\n"
msgstr " (%c) Terminat\n"
-msgid "Please select what kind of key you want:\n"
-msgstr "Selectaţi ce fel de cheie doriţi:\n"
-
#, fuzzy, c-format
msgid " (%d) RSA and RSA (default)\n"
msgstr " (%d) DSA şi Elgamal (implicit)\n"
@@ -4060,10 +4111,6 @@ msgid "What keysize do you want for the subkey? (%u) "
msgstr "Ce lungime de cheie doriţi? (%u) "
#, c-format
-msgid "What keysize do you want? (%u) "
-msgstr "Ce lungime de cheie doriţi? (%u) "
-
-#, c-format
msgid "Requested keysize is %u bits\n"
msgstr "Lungimea cheii necesară este %u biţi\n"
@@ -5497,6 +5544,11 @@ msgstr "NOTĂ: cheia semnăturii %s a expirat %s\n"
msgid "Note: signature key %s has been revoked\n"
msgstr "NOTĂ: cheia a fost revocată"
+#, fuzzy, c-format
+#| msgid "standalone signature of class 0x%02x\n"
+msgid "bad key signature from key %s: %s (0x%02x, 0x%x)\n"
+msgstr "semnătură de sine stătătoare (standalone) de clasă 0x%02x\n"
+
#, c-format
msgid "assuming bad signature from key %s due to an unknown critical bit\n"
msgstr ""
@@ -6890,10 +6942,6 @@ msgid ""
msgstr ""
#, fuzzy, c-format
-msgid " (%d) RSA\n"
-msgstr " (%d) RSA (numai semnare)\n"
-
-#, fuzzy, c-format
msgid " (%d) Existing key\n"
msgstr " (2) Cheie de cifrare\n"
@@ -9000,6 +9048,18 @@ msgid ""
msgstr ""
#, fuzzy
+#~ msgid "What keysize do you want for the Signature key? (%u) "
+#~ msgstr "Ce lungime de cheie doriţi? (%u) "
+
+#, fuzzy
+#~ msgid "What keysize do you want for the Encryption key? (%u) "
+#~ msgstr "Ce lungime de cheie doriţi? (%u) "
+
+#, fuzzy
+#~ msgid "What keysize do you want for the Authentication key? (%u) "
+#~ msgstr "Ce lungime de cheie doriţi? (%u) "
+
+#, fuzzy
#~ msgid "listen() failed: %s\n"
#~ msgstr "actualizarea a eşuat: %s\n"
diff --git a/po/ru.po b/po/ru.po
index 793bb0b72..fca3be7ae 100644
--- a/po/ru.po
+++ b/po/ru.po
@@ -1334,20 +1334,8 @@ msgstr ""
" на карту и выясните, какие размеры допустимы.\n"
#, c-format
-msgid "What keysize do you want for the Signature key? (%u) "
-msgstr "Какой Вам нужен размер ключа для подписей? (%u) "
-
-#, c-format
-msgid "What keysize do you want for the Encryption key? (%u) "
-msgstr "Какой Вам нужен размер ключа для шифрования? (%u) "
-
-#, c-format
-msgid "What keysize do you want for the Authentication key? (%u) "
-msgstr "Какой Вам нужен размер ключа для удостоверения личности? (%u) "
-
-#, c-format
-msgid "The card will now be re-configured to generate a key of type: %s\n"
-msgstr "Теперь карта будет перенастроена на генерацию ключа типа %s\n"
+msgid "What keysize do you want? (%u) "
+msgstr "Какой размер ключа Вам необходим? (%u) "
#, c-format
msgid "rounded up to %u bits\n"
@@ -1357,14 +1345,60 @@ msgstr "округлен до %u бит\n"
msgid "%s keysizes must be in the range %u-%u\n"
msgstr "размер ключей %s должен быть в пределах %u-%u\n"
+msgid "Changing card key attribute for: "
+msgstr ""
+
+#, fuzzy
+#| msgid " (1) Signature key\n"
+msgid "Signature key\n"
+msgstr " (1) Ключ подписи\n"
+
+#, fuzzy
+#| msgid " (2) Encryption key\n"
+msgid "Encryption key\n"
+msgstr " (2) Ключ шифрования\n"
+
+#, fuzzy
+#| msgid " (3) Authentication key\n"
+msgid "Authentication key\n"
+msgstr " (3) Ключ удостоверения личности\n"
+
+msgid "Please select what kind of key you want:\n"
+msgstr "Выберите тип ключа:\n"
+
+#, c-format
+msgid " (%d) RSA\n"
+msgstr " (%d) RSA\n"
+
+#, fuzzy, c-format
+#| msgid " (%d) ECC and ECC\n"
+msgid " (%d) ECC\n"
+msgstr " (%d) ECC и ECC\n"
+
+msgid "Invalid selection.\n"
+msgstr "Неправильный выбор.\n"
+
#, c-format
msgid "The card will now be re-configured to generate a key of %u bits\n"
msgstr "Теперь карта будет перенастроена на генерацию ключа длиной %u бит\n"
#, c-format
-msgid "error changing size of key %d to %u bits: %s\n"
+msgid "The card will now be re-configured to generate a key of type: %s\n"
+msgstr "Теперь карта будет перенастроена на генерацию ключа типа %s\n"
+
+#, fuzzy, c-format
+#| msgid "error changing size of key %d to %u bits: %s\n"
+msgid "error changing key attribute for key %d: %s\n"
msgstr "ошибка изменения размера ключа %d до %u бит: %s\n"
+#, fuzzy, c-format
+#| msgid "error getting current key info: %s\n"
+msgid "error getting card info: %s\n"
+msgstr "ошибка при считывании информации ключа: %s\n"
+
+msgid "This command is not supported by this card\n"
+msgstr "Данная команда этой картой не поддерживается\n"
+
msgid "Make off-card backup of encryption key? (Y/n) "
msgstr "Сделать вне карты архивную копию ключа шифрования? (Y/n) "
@@ -1396,9 +1430,6 @@ msgstr " (2) Ключ шифрования\n"
msgid " (3) Authentication key\n"
msgstr " (3) Ключ удостоверения личности\n"
-msgid "Invalid selection.\n"
-msgstr "Неправильный выбор.\n"
-
msgid "Please select where to store the key:\n"
msgstr "Выберите, где хранить ключ:\n"
@@ -1406,9 +1437,6 @@ msgstr "Выберите, где хранить ключ:\n"
msgid "KEYTOCARD failed: %s\n"
msgstr "сбой записи ключа на карту: %s\n"
-msgid "This command is not supported by this card\n"
-msgstr "Данная команда этой картой не поддерживается\n"
-
msgid "Note: This command destroys all keys stored on the card!\n"
msgstr "Замечание: эта команда сотрет с карты все ключи!\n"
@@ -1418,6 +1446,11 @@ msgstr "Продолжить? (y/N) "
msgid "Really do a factory reset? (enter \"yes\") "
msgstr "Подтвердите сброс к заводским установкам (введите \"yes\") "
+#, fuzzy, c-format
+#| msgid "error looking up: %s\n"
+msgid "error for setup KDF: %s\n"
+msgstr "ошибка поиска: %s\n"
+
msgid "quit this menu"
msgstr "выйти из этого меню"
@@ -1469,6 +1502,16 @@ msgstr "разблокировать PIN с помощью кода сброса
msgid "destroy all keys and data"
msgstr "уничтожить все ключи и данные"
+#, fuzzy
+#| msgid "|NAME|use user NAME for authentication"
+msgid "setup KDF for PIN authentication"
+msgstr "|NAME|использовать имя пользователя NAME для удостоверения личности"
+
+#, fuzzy
+#| msgid "change the ownertrust"
+msgid "change the key attribute"
+msgstr "изменить уровень доверия владельцу"
+
msgid "gpg/card> "
msgstr "gpg/card> "
@@ -2108,6 +2151,11 @@ msgstr "\"%s\" не является адресом электронной по�
msgid "invalid pinentry mode '%s'\n"
msgstr "недопустимый режим ввода пароля '%s'\n"
+#, fuzzy, c-format
+#| msgid "invalid value for option '%s'\n"
+msgid "invalid request origin '%s'\n"
+msgstr "недопустимое значения параметра \"%s\"\n"
+
#, c-format
msgid "'%s' is not a valid character set\n"
msgstr "'%s' - не допустимая таблица символов\n"
@@ -3152,13 +3200,13 @@ msgstr ""
msgid "Key is revoked."
msgstr "Ключ отозван."
-msgid "Really sign all user IDs? (y/N) "
-msgstr "Действительно подписать все идентификаторы пользователя? (y/N) "
-
msgid "Really sign all text user IDs? (y/N) "
msgstr ""
"Действительно подписать все текстовые идентификаторы пользователя? (y/N) "
+msgid "Really sign all user IDs? (y/N) "
+msgstr "Действительно подписать все идентификаторы пользователя? (y/N) "
+
msgid "Hint: Select the user IDs to sign\n"
msgstr ""
"Подсказка: Выберите идентификаторы пользователей, которые нужно подписать\n"
@@ -3504,6 +3552,16 @@ msgstr "Смена срока действия первичного ключа.\
msgid "You can't change the expiration date of a v3 key\n"
msgstr "Нельзя изменить срок действия ключа v3\n"
+#, fuzzy
+#| msgid "Changing expiration time for a subkey.\n"
+msgid "Changing usage of a subkey.\n"
+msgstr "Смена срока действия подключа.\n"
+
+#, fuzzy
+#| msgid "Changing expiration time for the primary key.\n"
+msgid "Changing usage of the primary key.\n"
+msgstr "Смена срока действия первичного ключа.\n"
+
#, c-format
msgid "signing subkey %s is already cross-certified\n"
msgstr "подписывающий подключ %s уже перекрестно заверен\n"
@@ -3717,9 +3775,6 @@ msgstr " (%c) Переключить возможность удостовер
msgid " (%c) Finished\n"
msgstr " (%c) Завершено\n"
-msgid "Please select what kind of key you want:\n"
-msgstr "Выберите тип ключа:\n"
-
#, c-format
msgid " (%d) RSA and RSA (default)\n"
msgstr " (%d) RSA и RSA (по умолчанию)\n"
@@ -3794,10 +3849,6 @@ msgid "What keysize do you want for the subkey? (%u) "
msgstr "Какой размер подключа необходим? (%u) "
#, c-format
-msgid "What keysize do you want? (%u) "
-msgstr "Какой размер ключа Вам необходим? (%u) "
-
-#, c-format
msgid "Requested keysize is %u bits\n"
msgstr "Запрошенный размер ключа - %u бит\n"
@@ -5169,6 +5220,11 @@ msgstr "Замечание: срок действия подписавшего �
msgid "Note: signature key %s has been revoked\n"
msgstr "Замечание: ключ для подписей %s отозван\n"
+#, fuzzy, c-format
+#| msgid "standalone signature of class 0x%02x\n"
+msgid "bad key signature from key %s: %s (0x%02x, 0x%x)\n"
+msgstr "отдельная подпись класса 0x%02x\n"
+
#, c-format
msgid "assuming bad signature from key %s due to an unknown critical bit\n"
msgstr ""
@@ -6558,10 +6614,6 @@ msgstr ""
"ключа, который вы только что создали, еще раз.\n"
#, c-format
-msgid " (%d) RSA\n"
-msgstr " (%d) RSA\n"
-
-#, c-format
msgid " (%d) Existing key\n"
msgstr " (%d) Имеющийся ключ\n"
@@ -8578,6 +8630,15 @@ msgstr ""
"Синтаксис: gpg-check-pattern [параметры] файл_образцов\n"
"Проверить фразу-пароль, поступающую из stdin, по файлу образцов\n"
+#~ msgid "What keysize do you want for the Signature key? (%u) "
+#~ msgstr "Какой Вам нужен размер ключа для подписей? (%u) "
+
+#~ msgid "What keysize do you want for the Encryption key? (%u) "
+#~ msgstr "Какой Вам нужен размер ключа для шифрования? (%u) "
+
+#~ msgid "What keysize do you want for the Authentication key? (%u) "
+#~ msgstr "Какой Вам нужен размер ключа для удостоверения личности? (%u) "
+
#~ msgid "listen() failed: %s\n"
#~ msgstr "сбой listen(): %s\n"
diff --git a/po/sk.po b/po/sk.po
index cb0a41fc3..64fc04bdd 100644
--- a/po/sk.po
+++ b/po/sk.po
@@ -1426,22 +1426,10 @@ msgid ""
msgstr ""
#, fuzzy, c-format
-msgid "What keysize do you want for the Signature key? (%u) "
-msgstr "Akú veľkosť kľúča si prajete? (1024) "
-
-#, fuzzy, c-format
-msgid "What keysize do you want for the Encryption key? (%u) "
-msgstr "Akú veľkosť kľúča si prajete? (1024) "
-
-#, fuzzy, c-format
-msgid "What keysize do you want for the Authentication key? (%u) "
+msgid "What keysize do you want? (%u) "
msgstr "Akú veľkosť kľúča si prajete? (1024) "
#, c-format
-msgid "The card will now be re-configured to generate a key of type: %s\n"
-msgstr ""
-
-#, c-format
msgid "rounded up to %u bits\n"
msgstr "zaokrúhlené na %u bitov\n"
@@ -1449,14 +1437,55 @@ msgstr "zaokrúhlené na %u bitov\n"
msgid "%s keysizes must be in the range %u-%u\n"
msgstr ""
+msgid "Changing card key attribute for: "
+msgstr ""
+
+#, fuzzy
+msgid "Signature key\n"
+msgstr "Platnosť podpisu vypršala %s\n"
+
+#, fuzzy
+msgid "Encryption key\n"
+msgstr " (%d) RSA (len na šifrovanie)\n"
+
+msgid "Authentication key\n"
+msgstr ""
+
+msgid "Please select what kind of key you want:\n"
+msgstr "Prosím, vyberte druh kľúča, ktorý chcete:\n"
+
+#, fuzzy, c-format
+msgid " (%d) RSA\n"
+msgstr " (%d) RSA (len na podpis)\n"
+
+#, fuzzy, c-format
+msgid " (%d) ECC\n"
+msgstr " (%d) DSA a ElGamal (implicitný)\n"
+
+msgid "Invalid selection.\n"
+msgstr "Neplatný výber.\n"
+
#, c-format
msgid "The card will now be re-configured to generate a key of %u bits\n"
msgstr ""
+#, c-format
+msgid "The card will now be re-configured to generate a key of type: %s\n"
+msgstr ""
+
#, fuzzy, c-format
-msgid "error changing size of key %d to %u bits: %s\n"
+msgid "error changing key attribute for key %d: %s\n"
msgstr "chyba pri posielaní na `%s': %s\n"
+#, fuzzy, c-format
+msgid "error getting card info: %s\n"
+msgstr "chyba pri zápise do súboru tajných kľúčov `%s': %s\n"
+
+#, fuzzy
+#| msgid "This command is not allowed while in %s mode.\n"
+msgid "This command is not supported by this card\n"
+msgstr "Tento príkaz nie je v módoch %s dovolený.\n"
+
msgid "Make off-card backup of encryption key? (Y/n) "
msgstr ""
@@ -1489,9 +1518,6 @@ msgstr " (%d) RSA (len na šifrovanie)\n"
msgid " (3) Authentication key\n"
msgstr ""
-msgid "Invalid selection.\n"
-msgstr "Neplatný výber.\n"
-
#, fuzzy
msgid "Please select where to store the key:\n"
msgstr "Prosím výberte dôvod na revokáciu:\n"
@@ -1501,11 +1527,6 @@ msgid "KEYTOCARD failed: %s\n"
msgstr "aktualizácia zlyhala: %s\n"
#, fuzzy
-#| msgid "This command is not allowed while in %s mode.\n"
-msgid "This command is not supported by this card\n"
-msgstr "Tento príkaz nie je v módoch %s dovolený.\n"
-
-#, fuzzy
msgid "Note: This command destroys all keys stored on the card!\n"
msgstr "preskočené: tajný kľúč je už v databáze\n"
@@ -1516,6 +1537,10 @@ msgstr "Skutočne podpísať? "
msgid "Really do a factory reset? (enter \"yes\") "
msgstr ""
+#, fuzzy, c-format
+msgid "error for setup KDF: %s\n"
+msgstr "chyba pri čítaní `%s': %s\n"
+
msgid "quit this menu"
msgstr "ukončiť toto menu"
@@ -1573,6 +1598,16 @@ msgstr ""
msgid "destroy all keys and data"
msgstr ""
+#, fuzzy
+#| msgid "|NAME|use NAME as default recipient"
+msgid "setup KDF for PIN authentication"
+msgstr "|MENO|použiť MENO ako implicitného adresáta"
+
+#, fuzzy
+#| msgid "change the ownertrust"
+msgid "change the key attribute"
+msgstr "zmeniť dôveryhodnosť vlastníka kľúča"
+
msgid "gpg/card> "
msgstr ""
@@ -2279,6 +2314,10 @@ msgid "invalid pinentry mode '%s'\n"
msgstr "neplatný hashovací algoritmus `%s'\n"
#, fuzzy, c-format
+msgid "invalid request origin '%s'\n"
+msgstr "neplatný parameter pre import\n"
+
+#, fuzzy, c-format
msgid "'%s' is not a valid character set\n"
msgstr "%s nie je platná znaková sada\n"
@@ -3388,11 +3427,11 @@ msgid "Key is revoked."
msgstr "Kľúč revokovaný."
#, fuzzy
-msgid "Really sign all user IDs? (y/N) "
+msgid "Really sign all text user IDs? (y/N) "
msgstr "Skutočne podpísať všetky id užívateľa? "
#, fuzzy
-msgid "Really sign all text user IDs? (y/N) "
+msgid "Really sign all user IDs? (y/N) "
msgstr "Skutočne podpísať všetky id užívateľa? "
msgid "Hint: Select the user IDs to sign\n"
@@ -3757,6 +3796,15 @@ msgstr "Mením dobu platnosti primárneho kľúča.\n"
msgid "You can't change the expiration date of a v3 key\n"
msgstr "Nemôžete zmeniť dobu platnosti kľúča verzie 3\n"
+#, fuzzy
+msgid "Changing usage of a subkey.\n"
+msgstr "Mením dobu platnosti sekundárneho kľúča.\n"
+
+#, fuzzy
+#| msgid "Changing expiration time for the primary key.\n"
+msgid "Changing usage of the primary key.\n"
+msgstr "Mením dobu platnosti primárneho kľúča.\n"
+
#, fuzzy, c-format
msgid "signing subkey %s is already cross-certified\n"
msgstr "VAROVANIE: podpisovací podkľúč %08lX nie je krížovo certifikovaný\n"
@@ -3978,9 +4026,6 @@ msgstr ""
msgid " (%c) Finished\n"
msgstr ""
-msgid "Please select what kind of key you want:\n"
-msgstr "Prosím, vyberte druh kľúča, ktorý chcete:\n"
-
#, fuzzy, c-format
msgid " (%d) RSA and RSA (default)\n"
msgstr " (%d) DSA a ElGamal (implicitný)\n"
@@ -4059,10 +4104,6 @@ msgstr ""
msgid "What keysize do you want for the subkey? (%u) "
msgstr "Akú veľkosť kľúča si prajete? (1024) "
-#, fuzzy, c-format
-msgid "What keysize do you want? (%u) "
-msgstr "Akú veľkosť kľúča si prajete? (1024) "
-
#, c-format
msgid "Requested keysize is %u bits\n"
msgstr "Požadovaná dĺžka kľúča je %u bitov.\n"
@@ -5481,6 +5522,11 @@ msgid "Note: signature key %s has been revoked\n"
msgstr "POZNÁMKA: kľúč bol revokovaný"
#, fuzzy, c-format
+#| msgid "standalone signature of class 0x%02x\n"
+msgid "bad key signature from key %s: %s (0x%02x, 0x%x)\n"
+msgstr "samostatný podpis triedy 0x%02x\n"
+
+#, fuzzy, c-format
msgid "assuming bad signature from key %s due to an unknown critical bit\n"
msgstr ""
"predpokladám neplatný podpis kľúčom %08lX, pretože je nastavený neznámy "
@@ -6866,10 +6912,6 @@ msgid ""
msgstr ""
#, fuzzy, c-format
-msgid " (%d) RSA\n"
-msgstr " (%d) RSA (len na podpis)\n"
-
-#, fuzzy, c-format
msgid " (%d) Existing key\n"
msgstr " (%d) RSA (len na šifrovanie)\n"
@@ -8947,6 +8989,18 @@ msgid ""
msgstr ""
#, fuzzy
+#~ msgid "What keysize do you want for the Signature key? (%u) "
+#~ msgstr "Akú veľkosť kľúča si prajete? (1024) "
+
+#, fuzzy
+#~ msgid "What keysize do you want for the Encryption key? (%u) "
+#~ msgstr "Akú veľkosť kľúča si prajete? (1024) "
+
+#, fuzzy
+#~ msgid "What keysize do you want for the Authentication key? (%u) "
+#~ msgstr "Akú veľkosť kľúča si prajete? (1024) "
+
+#, fuzzy
#~ msgid "listen() failed: %s\n"
#~ msgstr "aktualizácia zlyhala: %s\n"
diff --git a/po/sv.po b/po/sv.po
index d5da7cabe..2e3ed3a8a 100644
--- a/po/sv.po
+++ b/po/sv.po
@@ -1486,31 +1486,49 @@ msgstr ""
" som tillåts.\n"
#, c-format
-msgid "What keysize do you want for the Signature key? (%u) "
-msgstr "Vilken nyckelstorlek vill du använda för signaturnyckeln? (%u) "
+msgid "What keysize do you want? (%u) "
+msgstr "Vilken nyckelstorlek vill du ha? (%u) "
#, c-format
-msgid "What keysize do you want for the Encryption key? (%u) "
-msgstr "Vilken nyckelstorlek vill du använda för krypteringsnyckeln? (%u) "
+msgid "rounded up to %u bits\n"
+msgstr "avrundade uppåt till %u bitar\n"
#, c-format
-msgid "What keysize do you want for the Authentication key? (%u) "
-msgstr "Vilken nyckelstorlek vill du använda för autentiseringsnyckeln? (%u) "
+msgid "%s keysizes must be in the range %u-%u\n"
+msgstr "%s nyckelstorlekar måste vara inom intervallet %u-%u\n"
-#, fuzzy, c-format
-#| msgid "The card will now be re-configured to generate a key of %u bits\n"
-msgid "The card will now be re-configured to generate a key of type: %s\n"
+msgid "Changing card key attribute for: "
msgstr ""
-"Kortet kommer nu att konfigureras om för att generera en nyckel med %u "
-"bitar\n"
-#, c-format
-msgid "rounded up to %u bits\n"
-msgstr "avrundade uppåt till %u bitar\n"
+#, fuzzy
+#| msgid " (1) Signature key\n"
+msgid "Signature key\n"
+msgstr " (1) Signeringsnyckel\n"
+
+#, fuzzy
+#| msgid " (2) Encryption key\n"
+msgid "Encryption key\n"
+msgstr " (2) Krypteringsnyckel\n"
+
+#, fuzzy
+#| msgid " (3) Authentication key\n"
+msgid "Authentication key\n"
+msgstr " (3) Autentiseringsnyckel\n"
+
+msgid "Please select what kind of key you want:\n"
+msgstr "Välj vilken typ av nyckel du vill ha:\n"
#, c-format
-msgid "%s keysizes must be in the range %u-%u\n"
-msgstr "%s nyckelstorlekar måste vara inom intervallet %u-%u\n"
+msgid " (%d) RSA\n"
+msgstr " (%d) RSA\n"
+
+#, fuzzy, c-format
+#| msgid " (%d) DSA and Elgamal\n"
+msgid " (%d) ECC\n"
+msgstr " (%d) DSA och Elgamal\n"
+
+msgid "Invalid selection.\n"
+msgstr "Ogiltigt val.\n"
#, c-format
msgid "The card will now be re-configured to generate a key of %u bits\n"
@@ -1518,10 +1536,28 @@ msgstr ""
"Kortet kommer nu att konfigureras om för att generera en nyckel med %u "
"bitar\n"
-#, c-format
-msgid "error changing size of key %d to %u bits: %s\n"
+#, fuzzy, c-format
+#| msgid "The card will now be re-configured to generate a key of %u bits\n"
+msgid "The card will now be re-configured to generate a key of type: %s\n"
+msgstr ""
+"Kortet kommer nu att konfigureras om för att generera en nyckel med %u "
+"bitar\n"
+
+#, fuzzy, c-format
+#| msgid "error changing size of key %d to %u bits: %s\n"
+msgid "error changing key attribute for key %d: %s\n"
msgstr "fel vid ändring av storlek för nyckel %d till %u bitar: %s\n"
+#, fuzzy, c-format
+#| msgid "error getting current key info: %s\n"
+msgid "error getting card info: %s\n"
+msgstr "fel vid hämtning av aktuell nyckelinformation: %s\n"
+
+#, fuzzy
+#| msgid "This command is not allowed while in %s mode.\n"
+msgid "This command is not supported by this card\n"
+msgstr "Detta kommando är inte tillåtet när du är i %s-läge.\n"
+
msgid "Make off-card backup of encryption key? (Y/n) "
msgstr "Skapa säkerhetskopia av krypteringsnyckel utanför kortet? (J/n) "
@@ -1559,9 +1595,6 @@ msgstr " (2) Krypteringsnyckel\n"
msgid " (3) Authentication key\n"
msgstr " (3) Autentiseringsnyckel\n"
-msgid "Invalid selection.\n"
-msgstr "Ogiltigt val.\n"
-
msgid "Please select where to store the key:\n"
msgstr "Välj var nyckeln ska sparas:\n"
@@ -1571,11 +1604,6 @@ msgid "KEYTOCARD failed: %s\n"
msgstr "läsning misslyckades: %s\n"
#, fuzzy
-#| msgid "This command is not allowed while in %s mode.\n"
-msgid "This command is not supported by this card\n"
-msgstr "Detta kommando är inte tillåtet när du är i %s-läge.\n"
-
-#, fuzzy
#| msgid "NOTE: keys are already stored on the card!\n"
msgid "Note: This command destroys all keys stored on the card!\n"
msgstr "OBSERVERA: nycklar har redan lagrats på kortet!\n"
@@ -1588,6 +1616,11 @@ msgstr "Signera den? (j/N) "
msgid "Really do a factory reset? (enter \"yes\") "
msgstr ""
+#, fuzzy, c-format
+#| msgid "error closing %s: %s\n"
+msgid "error for setup KDF: %s\n"
+msgstr "fel vid stängning av %s: %s\n"
+
msgid "quit this menu"
msgstr "avsluta denna meny"
@@ -1641,6 +1674,17 @@ msgstr "lås upp PIN-koden med en nollställningskod"
msgid "destroy all keys and data"
msgstr ""
+#, fuzzy
+#| msgid "|NAME|use NAME as default recipient"
+msgid "setup KDF for PIN authentication"
+msgstr "|NAMN|använd NAMN som standardmottagare"
+
+# originalet borde ha ett value
+#, fuzzy
+#| msgid "change the ownertrust"
+msgid "change the key attribute"
+msgstr "ändra ägartillitsvärdet"
+
msgid "gpg/card> "
msgstr "gpg/kort> "
@@ -2363,6 +2407,11 @@ msgid "invalid pinentry mode '%s'\n"
msgstr "ogiltig landskod i \"%s\", rad %d\n"
#, fuzzy, c-format
+#| msgid "missing argument for option \"%.50s\"\n"
+msgid "invalid request origin '%s'\n"
+msgstr "argument för flaggan \"%.50s\" saknas\n"
+
+#, fuzzy, c-format
#| msgid "`%s' is not a valid character set\n"
msgid "'%s' is not a valid character set\n"
msgstr "\"%s\" är ingen giltig teckentabell\n"
@@ -3469,14 +3518,14 @@ msgstr ""
msgid "Key is revoked."
msgstr "Nyckeln är spärrad."
-msgid "Really sign all user IDs? (y/N) "
-msgstr "Verkligen signera alla användaridentiteter? (j/N) "
-
#, fuzzy
#| msgid "Really sign all user IDs? (y/N) "
msgid "Really sign all text user IDs? (y/N) "
msgstr "Verkligen signera alla användaridentiteter? (j/N) "
+msgid "Really sign all user IDs? (y/N) "
+msgstr "Verkligen signera alla användaridentiteter? (j/N) "
+
msgid "Hint: Select the user IDs to sign\n"
msgstr "Tips: Välj de användaridentiteter som du vill signera\n"
@@ -3842,6 +3891,16 @@ msgstr "Ändrar giltighetstid för den primära nyckeln.\n"
msgid "You can't change the expiration date of a v3 key\n"
msgstr "Du kan inte ändra giltighetsdatum för en v3-nyckel\n"
+#, fuzzy
+#| msgid "Changing expiration time for a subkey.\n"
+msgid "Changing usage of a subkey.\n"
+msgstr "Ändrar utgångstid för en undernyckel.\n"
+
+#, fuzzy
+#| msgid "Changing expiration time for the primary key.\n"
+msgid "Changing usage of the primary key.\n"
+msgstr "Ändrar giltighetstid för den primära nyckeln.\n"
+
# Vad betyder det?
#, c-format
msgid "signing subkey %s is already cross-certified\n"
@@ -4067,9 +4126,6 @@ msgstr " (%c) Växla autentiseringsförmågan\n"
msgid " (%c) Finished\n"
msgstr " (%c) Färdig\n"
-msgid "Please select what kind of key you want:\n"
-msgstr "Välj vilken typ av nyckel du vill ha:\n"
-
#, c-format
msgid " (%d) RSA and RSA (default)\n"
msgstr " (%d) RSA och RSA (standard)\n"
@@ -4150,10 +4206,6 @@ msgid "What keysize do you want for the subkey? (%u) "
msgstr "Vilken nyckelstorlek vill du använda för undernyckeln? (%u) "
#, c-format
-msgid "What keysize do you want? (%u) "
-msgstr "Vilken nyckelstorlek vill du ha? (%u) "
-
-#, c-format
msgid "Requested keysize is %u bits\n"
msgstr "Den efterfrågade nyckelstorleken är %u bitar\n"
@@ -5624,6 +5676,11 @@ msgstr "OBSERVERA: signaturnyckeln %s gick ut %s\n"
msgid "Note: signature key %s has been revoked\n"
msgstr "OBSERVERA: signaturnyckeln %s har spärrats\n"
+#, fuzzy, c-format
+#| msgid "standalone signature of class 0x%02x\n"
+msgid "bad key signature from key %s: %s (0x%02x, 0x%x)\n"
+msgstr "fristående signatur av klassen 0x%02x\n"
+
#, c-format
msgid "assuming bad signature from key %s due to an unknown critical bit\n"
msgstr ""
@@ -7077,10 +7134,6 @@ msgstr ""
"färdigställa denna certifikatbegäran.\n"
#, c-format
-msgid " (%d) RSA\n"
-msgstr " (%d) RSA\n"
-
-#, c-format
msgid " (%d) Existing key\n"
msgstr " (%d) Befintlig nyckel\n"
@@ -9355,6 +9408,16 @@ msgstr ""
"Syntax: gpg-check-pattern [flaggor] mönsterfil\n"
"Kontrollera en lösenfras angiven på standard in mot mönsterfilen\n"
+#~ msgid "What keysize do you want for the Signature key? (%u) "
+#~ msgstr "Vilken nyckelstorlek vill du använda för signaturnyckeln? (%u) "
+
+#~ msgid "What keysize do you want for the Encryption key? (%u) "
+#~ msgstr "Vilken nyckelstorlek vill du använda för krypteringsnyckeln? (%u) "
+
+#~ msgid "What keysize do you want for the Authentication key? (%u) "
+#~ msgstr ""
+#~ "Vilken nyckelstorlek vill du använda för autentiseringsnyckeln? (%u) "
+
#~ msgid "listen() failed: %s\n"
#~ msgstr "listen() misslyckades: %s\n"
diff --git a/po/tr.po b/po/tr.po
index f5e08ebd3..207c36ecd 100644
--- a/po/tr.po
+++ b/po/tr.po
@@ -1444,21 +1444,9 @@ msgid ""
" documentation of your card to see what sizes are allowed.\n"
msgstr ""
-#, fuzzy, c-format
-msgid "What keysize do you want for the Signature key? (%u) "
-msgstr "İstediğiniz anahtar uzunluğu nedir? (%u) "
-
-#, fuzzy, c-format
-msgid "What keysize do you want for the Encryption key? (%u) "
-msgstr "İstediğiniz anahtar uzunluğu nedir? (%u) "
-
-#, fuzzy, c-format
-msgid "What keysize do you want for the Authentication key? (%u) "
-msgstr "İstediğiniz anahtar uzunluğu nedir? (%u) "
-
#, c-format
-msgid "The card will now be re-configured to generate a key of type: %s\n"
-msgstr ""
+msgid "What keysize do you want? (%u) "
+msgstr "İstediğiniz anahtar uzunluğu nedir? (%u) "
#, c-format
msgid "rounded up to %u bits\n"
@@ -1468,14 +1456,60 @@ msgstr "%u bite yuvarlandı\n"
msgid "%s keysizes must be in the range %u-%u\n"
msgstr "%s anahtar uzunlukları %u-%u aralığında olmalı\n"
+msgid "Changing card key attribute for: "
+msgstr ""
+
+#, fuzzy
+#| msgid " (1) Signature key\n"
+msgid "Signature key\n"
+msgstr " (1) İmzalama anahtarı\n"
+
+#, fuzzy
+#| msgid " (2) Encryption key\n"
+msgid "Encryption key\n"
+msgstr " (2) Şifreleme anahtarı\n"
+
+#, fuzzy
+#| msgid " (3) Authentication key\n"
+msgid "Authentication key\n"
+msgstr " (3) Kimlik kanıtlama anahtarı\n"
+
+msgid "Please select what kind of key you want:\n"
+msgstr "Lütfen istediğiniz anahtarı seçiniz:\n"
+
+#, c-format
+msgid " (%d) RSA\n"
+msgstr " (%d) RSA\n"
+
+#, fuzzy, c-format
+msgid " (%d) ECC\n"
+msgstr " (%d) DSA ve ElGamal (öntanımlı)\n"
+
+msgid "Invalid selection.\n"
+msgstr "Seçim geçersiz.\n"
+
#, c-format
msgid "The card will now be re-configured to generate a key of %u bits\n"
msgstr ""
+#, c-format
+msgid "The card will now be re-configured to generate a key of type: %s\n"
+msgstr ""
+
#, fuzzy, c-format
-msgid "error changing size of key %d to %u bits: %s\n"
+msgid "error changing key attribute for key %d: %s\n"
msgstr "soket `%s'e bağlanırken hata: %s\n"
+#, fuzzy, c-format
+#| msgid "error getting current key info: %s\n"
+msgid "error getting card info: %s\n"
+msgstr "geçerli anahtar bilgisi alınırken hata: %s\n"
+
+#, fuzzy
+#| msgid "This command is not allowed while in %s mode.\n"
+msgid "This command is not supported by this card\n"
+msgstr "%s kipindeyken bu komut kullanılamaz.\n"
+
msgid "Make off-card backup of encryption key? (Y/n) "
msgstr "Şifreli anahtarın kartsız yedeği yapılsın mı? (E/h ya da Y/n) "
@@ -1512,9 +1546,6 @@ msgstr " (2) Şifreleme anahtarı\n"
msgid " (3) Authentication key\n"
msgstr " (3) Kimlik kanıtlama anahtarı\n"
-msgid "Invalid selection.\n"
-msgstr "Seçim geçersiz.\n"
-
msgid "Please select where to store the key:\n"
msgstr "Lütfen anahtarın saklanacağı yeri seçiniz:\n"
@@ -1524,11 +1555,6 @@ msgid "KEYTOCARD failed: %s\n"
msgstr "read başarısız: %s\n"
#, fuzzy
-#| msgid "This command is not allowed while in %s mode.\n"
-msgid "This command is not supported by this card\n"
-msgstr "%s kipindeyken bu komut kullanılamaz.\n"
-
-#, fuzzy
msgid "Note: This command destroys all keys stored on the card!\n"
msgstr "gizli anahtar zaten bir kartın üzerinde saklı\n"
@@ -1540,6 +1566,11 @@ msgstr "İmzalayacak mısınız? (e/H veya y/N) "
msgid "Really do a factory reset? (enter \"yes\") "
msgstr ""
+#, fuzzy, c-format
+#| msgid "error closing %s: %s\n"
+msgid "error for setup KDF: %s\n"
+msgstr "%s kapanırken hata: %s\n"
+
msgid "quit this menu"
msgstr "bu menüden çık"
@@ -1591,6 +1622,14 @@ msgstr "Bir Sıfırlama Kodu kullanarak PIN'in engelini kaldır"
msgid "destroy all keys and data"
msgstr ""
+msgid "setup KDF for PIN authentication"
+msgstr ""
+
+#, fuzzy
+#| msgid "change the ownertrust"
+msgid "change the key attribute"
+msgstr "sahibiningüvencesini değiştirir"
+
msgid "gpg/card> "
msgstr ""
@@ -2303,6 +2342,11 @@ msgid "invalid pinentry mode '%s'\n"
msgstr "`%s', %d. satırındaki ülke kodu geçersiz\n"
#, fuzzy, c-format
+#| msgid "missing argument for option \"%.50s\"\n"
+msgid "invalid request origin '%s'\n"
+msgstr "\"%.50s\" seçeneği için değiştirge eksik\n"
+
+#, fuzzy, c-format
#| msgid "`%s' is not a valid character set\n"
msgid "'%s' is not a valid character set\n"
msgstr "'%s' geçerli bir karakter kümesi değil\n"
@@ -3406,14 +3450,14 @@ msgstr ""
msgid "Key is revoked."
msgstr "Anahtar yürürlükten kaldırıldı."
-msgid "Really sign all user IDs? (y/N) "
-msgstr "Tüm kullanıcı kimlikler gerçekten imzalanacak mı? (e/H ya da y/N)"
-
#, fuzzy
#| msgid "Really sign all user IDs? (y/N) "
msgid "Really sign all text user IDs? (y/N) "
msgstr "Tüm kullanıcı kimlikler gerçekten imzalanacak mı? (e/H ya da y/N)"
+msgid "Really sign all user IDs? (y/N) "
+msgstr "Tüm kullanıcı kimlikler gerçekten imzalanacak mı? (e/H ya da y/N)"
+
msgid "Hint: Select the user IDs to sign\n"
msgstr "İpucu: İmzalamak için bir kullanıcı kimliği seçiniz\n"
@@ -3798,6 +3842,16 @@ msgstr "Asıl anahtar için son kullanma tarihi değiştiriliyor.\n"
msgid "You can't change the expiration date of a v3 key\n"
msgstr "Bir v3 anahtarının son kullanma tarihini değiştiremezsiniz\n"
+#, fuzzy
+#| msgid "Changing expiration time for a subkey.\n"
+msgid "Changing usage of a subkey.\n"
+msgstr "Bir yardımcı anahtar için son kullanma tarihi değiştiriliyor.\n"
+
+#, fuzzy
+#| msgid "Changing expiration time for the primary key.\n"
+msgid "Changing usage of the primary key.\n"
+msgstr "Asıl anahtar için son kullanma tarihi değiştiriliyor.\n"
+
#, c-format
msgid "signing subkey %s is already cross-certified\n"
msgstr "yardımcı imzalama anahtarı %s zaten çapraz sertifikalı\n"
@@ -4021,9 +4075,6 @@ msgstr " (%c) Kimlik kanıtlama yeteneğini açar/kapar\n"
msgid " (%c) Finished\n"
msgstr " (%c) Bitti\n"
-msgid "Please select what kind of key you want:\n"
-msgstr "Lütfen istediğiniz anahtarı seçiniz:\n"
-
#, fuzzy, c-format
msgid " (%d) RSA and RSA (default)\n"
msgstr " (%d) DSA ve ElGamal (öntanımlı)\n"
@@ -4105,10 +4156,6 @@ msgid "What keysize do you want for the subkey? (%u) "
msgstr "İstediğiniz anahtar uzunluğu nedir? (%u) "
#, c-format
-msgid "What keysize do you want? (%u) "
-msgstr "İstediğiniz anahtar uzunluğu nedir? (%u) "
-
-#, c-format
msgid "Requested keysize is %u bits\n"
msgstr "İstenen anahtar uzunluğu: %u bit\n"
@@ -5553,6 +5600,11 @@ msgstr "BİLGİ: %s imza anahtarının kullanım süresi %s sularında dolmuş\n
msgid "Note: signature key %s has been revoked\n"
msgstr "BİLGİ: imza anahtarı %s yürürlükten kaldırılmıştı\n"
+#, fuzzy, c-format
+#| msgid "standalone signature of class 0x%02x\n"
+msgid "bad key signature from key %s: %s (0x%02x, 0x%x)\n"
+msgstr "0x%02x sınıfı tek başına imza\n"
+
#, c-format
msgid "assuming bad signature from key %s due to an unknown critical bit\n"
msgstr ""
@@ -6986,10 +7038,6 @@ msgstr ""
"anahtarınızı bir kere daha oluşturun.\n"
#, c-format
-msgid " (%d) RSA\n"
-msgstr " (%d) RSA\n"
-
-#, c-format
msgid " (%d) Existing key\n"
msgstr " (%d) Mevcut anahtar\n"
@@ -9261,6 +9309,18 @@ msgstr ""
"Standart girdiden verilen anahtar parolasını örüntü dosyasıyla "
"karşılaştırır\n"
+#, fuzzy
+#~ msgid "What keysize do you want for the Signature key? (%u) "
+#~ msgstr "İstediğiniz anahtar uzunluğu nedir? (%u) "
+
+#, fuzzy
+#~ msgid "What keysize do you want for the Encryption key? (%u) "
+#~ msgstr "İstediğiniz anahtar uzunluğu nedir? (%u) "
+
+#, fuzzy
+#~ msgid "What keysize do you want for the Authentication key? (%u) "
+#~ msgstr "İstediğiniz anahtar uzunluğu nedir? (%u) "
+
#~ msgid "listen() failed: %s\n"
#~ msgstr "soket dinleme başarısız: %s\n"
diff --git a/po/uk.po b/po/uk.po
index 2881bb217..5b49c292d 100644
--- a/po/uk.po
+++ b/po/uk.po
@@ -1341,40 +1341,73 @@ msgstr ""
" визначити дозволені розміри.\n"
#, c-format
-msgid "What keysize do you want for the Signature key? (%u) "
-msgstr "Якому розміру ключа підписування ви надаєте перевагу? (%u) "
+msgid "What keysize do you want? (%u) "
+msgstr "Якою має бути довжина ключа? (%u) "
#, c-format
-msgid "What keysize do you want for the Encryption key? (%u) "
-msgstr "Яким має бути розмір ключа для шифрування? (%u) "
+msgid "rounded up to %u bits\n"
+msgstr "округлено до %u бітів\n"
#, c-format
-msgid "What keysize do you want for the Authentication key? (%u) "
-msgstr "Якому розміру ключа для розпізнавання ви надаєте перевагу? (%u) "
+msgid "%s keysizes must be in the range %u-%u\n"
+msgstr "Розміри ключів %s мають перебувати у діапазоні %u—%u\n"
-#, fuzzy, c-format
-#| msgid "The card will now be re-configured to generate a key of %u bits\n"
-msgid "The card will now be re-configured to generate a key of type: %s\n"
+msgid "Changing card key attribute for: "
msgstr ""
-"Зараз налаштування картки буде змінено для створення %u-бітового ключа\n"
+
+#, fuzzy
+#| msgid " (1) Signature key\n"
+msgid "Signature key\n"
+msgstr " (1) Ключ підписування\n"
+
+#, fuzzy
+#| msgid " (2) Encryption key\n"
+msgid "Encryption key\n"
+msgstr " (2) Ключ шифрування\n"
+
+#, fuzzy
+#| msgid " (3) Authentication key\n"
+msgid "Authentication key\n"
+msgstr " (3) Ключ розпізнавання\n"
+
+msgid "Please select what kind of key you want:\n"
+msgstr "Вкажіть потрібний вам тип ключа:\n"
#, c-format
-msgid "rounded up to %u bits\n"
-msgstr "округлено до %u бітів\n"
+msgid " (%d) RSA\n"
+msgstr " (%d) RSA\n"
#, c-format
-msgid "%s keysizes must be in the range %u-%u\n"
-msgstr "Розміри ключів %s мають перебувати у діапазоні %u—%u\n"
+msgid " (%d) ECC\n"
+msgstr " (%d) ECC\n"
+
+msgid "Invalid selection.\n"
+msgstr "Некоректний вибір.\n"
#, c-format
msgid "The card will now be re-configured to generate a key of %u bits\n"
msgstr ""
"Зараз налаштування картки буде змінено для створення %u-бітового ключа\n"
-#, c-format
-msgid "error changing size of key %d to %u bits: %s\n"
+#, fuzzy, c-format
+#| msgid "The card will now be re-configured to generate a key of %u bits\n"
+msgid "The card will now be re-configured to generate a key of type: %s\n"
+msgstr ""
+"Зараз налаштування картки буде змінено для створення %u-бітового ключа\n"
+
+#, fuzzy, c-format
+#| msgid "error changing size of key %d to %u bits: %s\n"
+msgid "error changing key attribute for key %d: %s\n"
msgstr "помилка під час спроби зміни розміру ключа з %d на %u: %s\n"
+#, fuzzy, c-format
+#| msgid "error getting current key info: %s\n"
+msgid "error getting card info: %s\n"
+msgstr "помилка під час отримання даних поточного ключа: %s\n"
+
+msgid "This command is not supported by this card\n"
+msgstr "Цією карткою не передбачено підтримки вказаної команди\n"
+
msgid "Make off-card backup of encryption key? (Y/n) "
msgstr "Створити резервну копію ключа шифрування поза карткою? (Y/n або Т/н) "
@@ -1406,9 +1439,6 @@ msgstr " (2) Ключ шифрування\n"
msgid " (3) Authentication key\n"
msgstr " (3) Ключ розпізнавання\n"
-msgid "Invalid selection.\n"
-msgstr "Некоректний вибір.\n"
-
msgid "Please select where to store the key:\n"
msgstr "Виберіть сховище для зберігання ключа:\n"
@@ -1416,9 +1446,6 @@ msgstr "Виберіть сховище для зберігання ключа:\
msgid "KEYTOCARD failed: %s\n"
msgstr "Помилка KEYTOCARD: %s\n"
-msgid "This command is not supported by this card\n"
-msgstr "Цією карткою не передбачено підтримки вказаної команди\n"
-
msgid "Note: This command destroys all keys stored on the card!\n"
msgstr ""
"Зауваження: у результаті виконання цієї команди усі ключі на картці буде "
@@ -1431,6 +1458,11 @@ msgid "Really do a factory reset? (enter \"yes\") "
msgstr ""
"Справді хочете скинути усе до типових налаштувань? (введіть «yes» («так»)) "
+#, fuzzy, c-format
+#| msgid "error looking up: %s\n"
+msgid "error for setup KDF: %s\n"
+msgstr "помилка під час пошуку: %s\n"
+
msgid "quit this menu"
msgstr "вийти з цього меню"
@@ -1482,6 +1514,16 @@ msgstr "розблокувати під коду за допомогою код�
msgid "destroy all keys and data"
msgstr "знищити усі ключі і дані"
+#, fuzzy
+#| msgid "|NAME|use user NAME for authentication"
+msgid "setup KDF for PIN authentication"
+msgstr "|NAME|використовувати вказаного користувача для розпізнавання"
+
+#, fuzzy
+#| msgid "change the ownertrust"
+msgid "change the key attribute"
+msgstr "змінити рівень довіри до власника"
+
msgid "gpg/card> "
msgstr "gpg/картка> "
@@ -2135,6 +2177,11 @@ msgstr "«%s» не є коректною адресою електронної
msgid "invalid pinentry mode '%s'\n"
msgstr "некоректний режим pinentry, «%s»\n"
+#, fuzzy, c-format
+#| msgid "invalid value for option '%s'\n"
+msgid "invalid request origin '%s'\n"
+msgstr "некоректне значення параметра «%s»\n"
+
#, c-format
msgid "'%s' is not a valid character set\n"
msgstr "«%s» не є коректним набором символів\n"
@@ -3205,12 +3252,12 @@ msgstr ""
msgid "Key is revoked."
msgstr "Ключ відкликано."
-msgid "Really sign all user IDs? (y/N) "
-msgstr "Підписати всі ідентифікатори користувача? (y/N або т/Н) "
-
msgid "Really sign all text user IDs? (y/N) "
msgstr "Підписати всі текстові ідентифікатори користувача? (y/N або т/Н) "
+msgid "Really sign all user IDs? (y/N) "
+msgstr "Підписати всі ідентифікатори користувача? (y/N або т/Н) "
+
msgid "Hint: Select the user IDs to sign\n"
msgstr "Підказка: виберіть ідентифікатори користувача для підписування\n"
@@ -3560,6 +3607,16 @@ msgstr "Зміна часу завершення строку дії для ос
msgid "You can't change the expiration date of a v3 key\n"
msgstr "Не можна змінювати дату завершення строку дії ключа v3\n"
+#, fuzzy
+#| msgid "Changing expiration time for a subkey.\n"
+msgid "Changing usage of a subkey.\n"
+msgstr "Зміна часу завершення строку дії для підключа.\n"
+
+#, fuzzy
+#| msgid "Changing expiration time for the primary key.\n"
+msgid "Changing usage of the primary key.\n"
+msgstr "Зміна часу завершення строку дії для основного ключа.\n"
+
#, c-format
msgid "signing subkey %s is already cross-certified\n"
msgstr "підписування підключа %s вже перехресно сертифіковано\n"
@@ -3776,9 +3833,6 @@ msgstr ""
msgid " (%c) Finished\n"
msgstr " (%c) вийти\n"
-msgid "Please select what kind of key you want:\n"
-msgstr "Вкажіть потрібний вам тип ключа:\n"
-
#, c-format
msgid " (%d) RSA and RSA (default)\n"
msgstr " (%d) RSA і RSA (типовий)\n"
@@ -3853,10 +3907,6 @@ msgid "What keysize do you want for the subkey? (%u) "
msgstr "Якою має бути довжина підключа? (%u) "
#, c-format
-msgid "What keysize do you want? (%u) "
-msgstr "Якою має бути довжина ключа? (%u) "
-
-#, c-format
msgid "Requested keysize is %u bits\n"
msgstr "Запитана довжина ключа — %u бітів\n"
@@ -5261,6 +5311,11 @@ msgstr "ЗАУВАЖЕННЯ: строк дії ключа підпису %s з�
msgid "Note: signature key %s has been revoked\n"
msgstr "ЗАУВАЖЕННЯ: ключ підпису %s було відкликано\n"
+#, fuzzy, c-format
+#| msgid "standalone signature of class 0x%02x\n"
+msgid "bad key signature from key %s: %s (0x%02x, 0x%x)\n"
+msgstr "окремий підпис класу 0x%02x\n"
+
#, c-format
msgid "assuming bad signature from key %s due to an unknown critical bit\n"
msgstr ""
@@ -6683,10 +6738,6 @@ msgstr ""
"для ключа, який ви щойно створили.\n"
#, c-format
-msgid " (%d) RSA\n"
-msgstr " (%d) RSA\n"
-
-#, c-format
msgid " (%d) Existing key\n"
msgstr " (%d) Вже записаний ключ\n"
@@ -8689,6 +8740,15 @@ msgstr ""
"Синтаксис: gpg-check-pattern [параметри] файл_шаблонів\n"
"Перевірити пароль, вказаний у stdin, за допомогою файла_шаблонів\n"
+#~ msgid "What keysize do you want for the Signature key? (%u) "
+#~ msgstr "Якому розміру ключа підписування ви надаєте перевагу? (%u) "
+
+#~ msgid "What keysize do you want for the Encryption key? (%u) "
+#~ msgstr "Яким має бути розмір ключа для шифрування? (%u) "
+
+#~ msgid "What keysize do you want for the Authentication key? (%u) "
+#~ msgstr "Якому розміру ключа для розпізнавання ви надаєте перевагу? (%u) "
+
#~ msgid "listen() failed: %s\n"
#~ msgstr "помилка listen(): %s\n"
@@ -9137,9 +9197,6 @@ msgstr ""
#~ "не вдалося встановити з’єднання з агентом, використовуємо резервний "
#~ "варіант\n"
-#~ msgid " (%d) ECC\n"
-#~ msgstr " (%d) ECC\n"
-
#, fuzzy
#~| msgid "can't create directory '%s': %s\n"
#~ msgid "can't create directory `%s': %s\n"
diff --git a/po/zh_CN.po b/po/zh_CN.po
index 9caeaef29..2d540fe20 100644
--- a/po/zh_CN.po
+++ b/po/zh_CN.po
@@ -1410,21 +1410,9 @@ msgid ""
" documentation of your card to see what sizes are allowed.\n"
msgstr ""
-#, fuzzy, c-format
-msgid "What keysize do you want for the Signature key? (%u) "
-msgstr "您想要用多大的密钥尺寸?(%u)"
-
-#, fuzzy, c-format
-msgid "What keysize do you want for the Encryption key? (%u) "
-msgstr "您想要用多大的密钥尺寸?(%u)"
-
-#, fuzzy, c-format
-msgid "What keysize do you want for the Authentication key? (%u) "
-msgstr "您想要用多大的密钥尺寸?(%u)"
-
#, c-format
-msgid "The card will now be re-configured to generate a key of type: %s\n"
-msgstr ""
+msgid "What keysize do you want? (%u) "
+msgstr "您想要用多大的密钥尺寸?(%u)"
#, c-format
msgid "rounded up to %u bits\n"
@@ -1434,14 +1422,60 @@ msgstr "舍入到 %u 位\n"
msgid "%s keysizes must be in the range %u-%u\n"
msgstr "%s 密钥尺寸必须在 %u 与 %u 间\n"
+msgid "Changing card key attribute for: "
+msgstr ""
+
+#, fuzzy
+#| msgid " (1) Signature key\n"
+msgid "Signature key\n"
+msgstr " (1) 签名密钥\n"
+
+#, fuzzy
+#| msgid " (2) Encryption key\n"
+msgid "Encryption key\n"
+msgstr " (2) 加密密钥\n"
+
+#, fuzzy
+#| msgid " (3) Authentication key\n"
+msgid "Authentication key\n"
+msgstr " (3) 认证密钥\n"
+
+msgid "Please select what kind of key you want:\n"
+msgstr "请选择您要使用的密钥种类:\n"
+
+#, fuzzy, c-format
+msgid " (%d) RSA\n"
+msgstr " (%d) RSA (仅用于签名)\n"
+
+#, fuzzy, c-format
+msgid " (%d) ECC\n"
+msgstr " (%d) DSA 和 ElGamal (默认)\n"
+
+msgid "Invalid selection.\n"
+msgstr "无效的选择。\n"
+
#, c-format
msgid "The card will now be re-configured to generate a key of %u bits\n"
msgstr ""
+#, c-format
+msgid "The card will now be re-configured to generate a key of type: %s\n"
+msgstr ""
+
#, fuzzy, c-format
-msgid "error changing size of key %d to %u bits: %s\n"
+msgid "error changing key attribute for key %d: %s\n"
msgstr "在‘%s’中寻找信任度记录时出错:%s\n"
+#, fuzzy, c-format
+#| msgid "error getting current key info: %s\n"
+msgid "error getting card info: %s\n"
+msgstr "取得当前密钥信息时出错:%s\n"
+
+#, fuzzy
+#| msgid "This command is not allowed while in %s mode.\n"
+msgid "This command is not supported by this card\n"
+msgstr "在 %s 模式中不允许使用这个指令。\n"
+
msgid "Make off-card backup of encryption key? (Y/n) "
msgstr "是否为加密密钥创建卡外的备份?(Y/n)"
@@ -1478,9 +1512,6 @@ msgstr " (2) 加密密钥\n"
msgid " (3) Authentication key\n"
msgstr " (3) 认证密钥\n"
-msgid "Invalid selection.\n"
-msgstr "无效的选择。\n"
-
msgid "Please select where to store the key:\n"
msgstr "请选择在哪里存储密钥:\n"
@@ -1489,11 +1520,6 @@ msgid "KEYTOCARD failed: %s\n"
msgstr "更新失败:%s\n"
#, fuzzy
-#| msgid "This command is not allowed while in %s mode.\n"
-msgid "This command is not supported by this card\n"
-msgstr "在 %s 模式中不允许使用这个指令。\n"
-
-#, fuzzy
msgid "Note: This command destroys all keys stored on the card!\n"
msgstr "私钥已存储在卡上\n"
@@ -1505,6 +1531,10 @@ msgstr "为其添加签名吗?(y/N)"
msgid "Really do a factory reset? (enter \"yes\") "
msgstr ""
+#, fuzzy, c-format
+msgid "error for setup KDF: %s\n"
+msgstr "‘%s’中出错:%s\n"
+
msgid "quit this menu"
msgstr "离开这个菜单"
@@ -1556,6 +1586,14 @@ msgstr ""
msgid "destroy all keys and data"
msgstr ""
+msgid "setup KDF for PIN authentication"
+msgstr ""
+
+#, fuzzy
+#| msgid "change the ownertrust"
+msgid "change the key attribute"
+msgstr "更改信任度"
+
msgid "gpg/card> "
msgstr ""
@@ -2253,6 +2291,10 @@ msgid "invalid pinentry mode '%s'\n"
msgstr "无效的‘%s’散列算法\n"
#, fuzzy, c-format
+msgid "invalid request origin '%s'\n"
+msgstr "无效的列表选项\n"
+
+#, fuzzy, c-format
#| msgid "`%s' is not a valid character set\n"
msgid "'%s' is not a valid character set\n"
msgstr "‘%s’不是一个有效的字符集\n"
@@ -3308,14 +3350,14 @@ msgstr ""
msgid "Key is revoked."
msgstr "密钥已被吊销。"
-msgid "Really sign all user IDs? (y/N) "
-msgstr "真的为所有的用户标识签名吗?(y/N)"
-
#, fuzzy
#| msgid "Really sign all user IDs? (y/N) "
msgid "Really sign all text user IDs? (y/N) "
msgstr "真的为所有的用户标识签名吗?(y/N)"
+msgid "Really sign all user IDs? (y/N) "
+msgstr "真的为所有的用户标识签名吗?(y/N)"
+
msgid "Hint: Select the user IDs to sign\n"
msgstr "提示:选择要添加签名的用户标识\n"
@@ -3668,6 +3710,16 @@ msgstr "将要变更主钥的使用期限。\n"
msgid "You can't change the expiration date of a v3 key\n"
msgstr "您不能变更 v3 密钥的使用期限\n"
+#, fuzzy
+#| msgid "Changing expiration time for a subkey.\n"
+msgid "Changing usage of a subkey.\n"
+msgstr "将要变更子钥的使用期限。\n"
+
+#, fuzzy
+#| msgid "Changing expiration time for the primary key.\n"
+msgid "Changing usage of the primary key.\n"
+msgstr "将要变更主钥的使用期限。\n"
+
#, c-format
msgid "signing subkey %s is already cross-certified\n"
msgstr "签名的子钥 %s 已经交叉验证\n"
@@ -3880,9 +3932,6 @@ msgstr " (%c) 选择是否用于认证\n"
msgid " (%c) Finished\n"
msgstr " (%c) 已完成\n"
-msgid "Please select what kind of key you want:\n"
-msgstr "请选择您要使用的密钥种类:\n"
-
#, fuzzy, c-format
msgid " (%d) RSA and RSA (default)\n"
msgstr " (%d) DSA 和 ElGamal (默认)\n"
@@ -3963,10 +4012,6 @@ msgid "What keysize do you want for the subkey? (%u) "
msgstr "您想要用多大的密钥尺寸?(%u)"
#, c-format
-msgid "What keysize do you want? (%u) "
-msgstr "您想要用多大的密钥尺寸?(%u)"
-
-#, c-format
msgid "Requested keysize is %u bits\n"
msgstr "您所要求的密钥尺寸是 %u 位\n"
@@ -5353,6 +5398,11 @@ msgstr "注意:签名密钥 %s 已于 %s 过期\n"
msgid "Note: signature key %s has been revoked\n"
msgstr "注意:密钥已被吊销"
+#, fuzzy, c-format
+#| msgid "standalone signature of class 0x%02x\n"
+msgid "bad key signature from key %s: %s (0x%02x, 0x%x)\n"
+msgstr "等级 0x%02x 的独立签名\n"
+
#, c-format
msgid "assuming bad signature from key %s due to an unknown critical bit\n"
msgstr "假定密钥 %s 的签名由于某个未知的关键位出错而损坏\n"
@@ -6725,10 +6775,6 @@ msgid ""
msgstr ""
#, fuzzy, c-format
-msgid " (%d) RSA\n"
-msgstr " (%d) RSA (仅用于签名)\n"
-
-#, fuzzy, c-format
msgid " (%d) Existing key\n"
msgstr " (2) 加密密钥\n"
@@ -8823,6 +8869,18 @@ msgid ""
msgstr ""
#, fuzzy
+#~ msgid "What keysize do you want for the Signature key? (%u) "
+#~ msgstr "您想要用多大的密钥尺寸?(%u)"
+
+#, fuzzy
+#~ msgid "What keysize do you want for the Encryption key? (%u) "
+#~ msgstr "您想要用多大的密钥尺寸?(%u)"
+
+#, fuzzy
+#~ msgid "What keysize do you want for the Authentication key? (%u) "
+#~ msgstr "您想要用多大的密钥尺寸?(%u)"
+
+#, fuzzy
#~ msgid "listen() failed: %s\n"
#~ msgstr "更新失败:%s\n"
diff --git a/po/zh_TW.po b/po/zh_TW.po
index 51b3798a8..3ffd826ae 100644
--- a/po/zh_TW.po
+++ b/po/zh_TW.po
@@ -1340,21 +1340,8 @@ msgstr ""
" 看看這張卡片支援哪些尺寸.\n"
#, c-format
-msgid "What keysize do you want for the Signature key? (%u) "
-msgstr "你的簽署金鑰想要用多大的金鑰尺寸? (%u) "
-
-#, c-format
-msgid "What keysize do you want for the Encryption key? (%u) "
-msgstr "你的加密金鑰想要用多大的金鑰尺寸? (%u) "
-
-#, c-format
-msgid "What keysize do you want for the Authentication key? (%u) "
-msgstr "你的認證金鑰想要用多大的金鑰尺寸? (%u) "
-
-#, fuzzy, c-format
-#| msgid "The card will now be re-configured to generate a key of %u bits\n"
-msgid "The card will now be re-configured to generate a key of type: %s\n"
-msgstr "這張卡片將重新加以組態, 以便產生 %u 位元的金鑰\n"
+msgid "What keysize do you want? (%u) "
+msgstr "你想要用多大的金鑰尺寸? (%u) "
#, c-format
msgid "rounded up to %u bits\n"
@@ -1364,14 +1351,63 @@ msgstr "加大到 %u 位元\n"
msgid "%s keysizes must be in the range %u-%u\n"
msgstr "%s 金鑰尺寸一定要介於 %u 到 %u 之間\n"
+msgid "Changing card key attribute for: "
+msgstr ""
+
+#, fuzzy
+#| msgid " (1) Signature key\n"
+msgid "Signature key\n"
+msgstr " (1) 簽署用金鑰\n"
+
+#, fuzzy
+#| msgid " (2) Encryption key\n"
+msgid "Encryption key\n"
+msgstr " (2) 加密用金鑰\n"
+
+#, fuzzy
+#| msgid " (3) Authentication key\n"
+msgid "Authentication key\n"
+msgstr " (3) 憑證用金鑰\n"
+
+msgid "Please select what kind of key you want:\n"
+msgstr "請選擇你要使用的金鑰種類:\n"
+
+#, c-format
+msgid " (%d) RSA\n"
+msgstr " (%d) RSA\n"
+
+#, fuzzy, c-format
+#| msgid " (%d) ECC and ECC\n"
+msgid " (%d) ECC\n"
+msgstr " (%d) ECC 和 ECC\n"
+
+msgid "Invalid selection.\n"
+msgstr "無效的選擇.\n"
+
#, c-format
msgid "The card will now be re-configured to generate a key of %u bits\n"
msgstr "這張卡片將重新加以組態, 以便產生 %u 位元的金鑰\n"
-#, c-format
-msgid "error changing size of key %d to %u bits: %s\n"
+#, fuzzy, c-format
+#| msgid "The card will now be re-configured to generate a key of %u bits\n"
+msgid "The card will now be re-configured to generate a key of type: %s\n"
+msgstr "這張卡片將重新加以組態, 以便產生 %u 位元的金鑰\n"
+
+#, fuzzy, c-format
+#| msgid "error changing size of key %d to %u bits: %s\n"
+msgid "error changing key attribute for key %d: %s\n"
msgstr "將金鑰 %d 尺寸變更至 %u 位元時出錯: %s\n"
+#, fuzzy, c-format
+#| msgid "error getting current key info: %s\n"
+msgid "error getting card info: %s\n"
+msgstr "取得現用金鑰資訊時出錯: %s\n"
+
+#, fuzzy
+#| msgid "This command is not allowed while in %s mode.\n"
+msgid "This command is not supported by this card\n"
+msgstr "在 %s 模式中不允許使用這個指令.\n"
+
msgid "Make off-card backup of encryption key? (Y/n) "
msgstr "是否要為加密用金鑰建立卡外備份? (Y/n) "
@@ -1403,9 +1439,6 @@ msgstr " (2) 加密用金鑰\n"
msgid " (3) Authentication key\n"
msgstr " (3) 憑證用金鑰\n"
-msgid "Invalid selection.\n"
-msgstr "無效的選擇.\n"
-
msgid "Please select where to store the key:\n"
msgstr "請選擇要把金鑰存放在哪裡:\n"
@@ -1414,11 +1447,6 @@ msgid "KEYTOCARD failed: %s\n"
msgstr "KEYTOCARD 失敗: %s\n"
#, fuzzy
-#| msgid "This command is not allowed while in %s mode.\n"
-msgid "This command is not supported by this card\n"
-msgstr "在 %s 模式中不允許使用這個指令.\n"
-
-#, fuzzy
#| msgid "Note: keys are already stored on the card!\n"
msgid "Note: This command destroys all keys stored on the card!\n"
msgstr "請注意: 金鑰已經存放在卡片上了!\n"
@@ -1431,6 +1459,11 @@ msgstr "是否繼續? (Y/n) "
msgid "Really do a factory reset? (enter \"yes\") "
msgstr ""
+#, fuzzy, c-format
+#| msgid "error closing %s: %s\n"
+msgid "error for setup KDF: %s\n"
+msgstr "關閉 %s 時出錯: %s\n"
+
msgid "quit this menu"
msgstr "離開這個選單"
@@ -1482,6 +1515,16 @@ msgstr "用重設碼來解凍個人識別碼 (PIN)"
msgid "destroy all keys and data"
msgstr ""
+#, fuzzy
+#| msgid "|NAME|use user NAME for authentication"
+msgid "setup KDF for PIN authentication"
+msgstr "|名字|使用指定名字做為認證用的使用者名稱"
+
+#, fuzzy
+#| msgid "change the ownertrust"
+msgid "change the key attribute"
+msgstr "更改主觀信任"
+
msgid "gpg/card> "
msgstr "gpg/卡片> "
@@ -2122,6 +2165,11 @@ msgstr "第 %d 列: 不是有效的電子郵件地址\n"
msgid "invalid pinentry mode '%s'\n"
msgstr "無效的個人識別碼項目模式 '%s'\n"
+#, fuzzy, c-format
+#| msgid "invalid argument for option \"%.50s\"\n"
+msgid "invalid request origin '%s'\n"
+msgstr "選項 \"%.50s\" 的引數無效\n"
+
#, c-format
msgid "'%s' is not a valid character set\n"
msgstr "'%s' 不是有效的字元集\n"
@@ -3161,14 +3209,14 @@ msgstr ""
msgid "Key is revoked."
msgstr "金鑰已撤銷."
-msgid "Really sign all user IDs? (y/N) "
-msgstr "真的要簽署所有的使用者 ID 嗎? (y/N) "
-
#, fuzzy
#| msgid "Really sign all user IDs? (y/N) "
msgid "Really sign all text user IDs? (y/N) "
msgstr "真的要簽署所有的使用者 ID 嗎? (y/N) "
+msgid "Really sign all user IDs? (y/N) "
+msgstr "真的要簽署所有的使用者 ID 嗎? (y/N) "
+
msgid "Hint: Select the user IDs to sign\n"
msgstr "提示: 選擇使用者 ID 來加以簽署\n"
@@ -3513,6 +3561,16 @@ msgstr "正在變更主鑰的使用期限.\n"
msgid "You can't change the expiration date of a v3 key\n"
msgstr "你不能變更 v3 金鑰的使用期限\n"
+#, fuzzy
+#| msgid "Changing expiration time for a subkey.\n"
+msgid "Changing usage of a subkey.\n"
+msgstr "正在變更子鑰的使用期限.\n"
+
+#, fuzzy
+#| msgid "Changing expiration time for the primary key.\n"
+msgid "Changing usage of the primary key.\n"
+msgstr "正在變更主鑰的使用期限.\n"
+
#, c-format
msgid "signing subkey %s is already cross-certified\n"
msgstr "簽署子鑰 %s 已經交叉認證過了\n"
@@ -3724,9 +3782,6 @@ msgstr " (%c) 切換鑑定性能\n"
msgid " (%c) Finished\n"
msgstr " (%c) 已完成\n"
-msgid "Please select what kind of key you want:\n"
-msgstr "請選擇你要使用的金鑰種類:\n"
-
#, c-format
msgid " (%d) RSA and RSA (default)\n"
msgstr " (%d) RSA 和 RSA (預設)\n"
@@ -3801,10 +3856,6 @@ msgid "What keysize do you want for the subkey? (%u) "
msgstr "你的子鑰想要用多大的金鑰尺寸? (%u) "
#, c-format
-msgid "What keysize do you want? (%u) "
-msgstr "你想要用多大的金鑰尺寸? (%u) "
-
-#, c-format
msgid "Requested keysize is %u bits\n"
msgstr "你所要求的金鑰尺寸是 %u 位元\n"
@@ -5164,6 +5215,11 @@ msgstr "請注意: 簽章金鑰 %s 已於 %s 過期\n"
msgid "Note: signature key %s has been revoked\n"
msgstr "請注意: 簽章金鑰 %s 已遭撤銷\n"
+#, fuzzy, c-format
+#| msgid "standalone signature of class 0x%02x\n"
+msgid "bad key signature from key %s: %s (0x%02x, 0x%x)\n"
+msgstr "等級 0x%02x 的獨立簽章\n"
+
#, c-format
msgid "assuming bad signature from key %s due to an unknown critical bit\n"
msgstr "假設金鑰 %s 的損壞簽章導因於某個未知的關鍵位元\n"
@@ -6487,10 +6543,6 @@ msgid ""
msgstr "如欲完成此憑證請求, 請再輸入一次你剛才建立的金鑰密語.\n"
#, c-format
-msgid " (%d) RSA\n"
-msgstr " (%d) RSA\n"
-
-#, c-format
msgid " (%d) Existing key\n"
msgstr " (%d) 現有的金鑰\n"
@@ -8472,6 +8524,15 @@ msgstr ""
"語法: gpg-check-pattern [選項] 樣式檔案\n"
"用樣式檔案來檢查由標準輸入給定的密語\n"
+#~ msgid "What keysize do you want for the Signature key? (%u) "
+#~ msgstr "你的簽署金鑰想要用多大的金鑰尺寸? (%u) "
+
+#~ msgid "What keysize do you want for the Encryption key? (%u) "
+#~ msgstr "你的加密金鑰想要用多大的金鑰尺寸? (%u) "
+
+#~ msgid "What keysize do you want for the Authentication key? (%u) "
+#~ msgstr "你的認證金鑰想要用多大的金鑰尺寸? (%u) "
+
#~ msgid "listen() failed: %s\n"
#~ msgstr "listen() 失敗: %s\n"
diff --git a/scd/app-openpgp.c b/scd/app-openpgp.c
index dc775f77e..c17452555 100644
--- a/scd/app-openpgp.c
+++ b/scd/app-openpgp.c
@@ -2061,6 +2061,9 @@ get_prompt_info (app_t app, int chvno, unsigned long sigcount, int remaining)
return result;
}
+#define KDF_DATA_LENGTH_MIN 90
+#define KDF_DATA_LENGTH_MAX 110
+
/* Compute hash if KDF-DO is available. CHVNO must be 0 for reset
code, 1 or 2 for user pin and 3 for admin pin.
*/
@@ -2068,21 +2071,33 @@ static gpg_error_t
pin2hash_if_kdf (app_t app, int chvno, char *pinvalue, int *r_pinlen)
{
gpg_error_t err = 0;
- void *relptr;
+ void *relptr = NULL;
unsigned char *buffer;
size_t buflen;
if (app->app_local->extcap.kdf_do
&& (relptr = get_one_do (app, 0x00F9, &buffer, &buflen, NULL))
- && buflen == 110 && (buffer[2] == 0x03))
+ && buflen >= KDF_DATA_LENGTH_MIN && (buffer[2] == 0x03))
{
- char *salt;
+ const char *salt;
unsigned long s2k_count;
char dek[32];
+ int salt_index;
- salt = &buffer[(chvno==3 ? 34 : (chvno==0 ? 24 : 14))];
s2k_count = (((unsigned int)buffer[8] << 24)
| (buffer[9] << 16) | (buffer[10] << 8) | buffer[11]);
+
+ if (buflen == KDF_DATA_LENGTH_MIN)
+ salt_index =14;
+ else if (buflen == KDF_DATA_LENGTH_MAX)
+ salt_index = (chvno==3 ? 34 : (chvno==0 ? 24 : 14));
+ else
+ {
+ err = gpg_error (GPG_ERR_INV_DATA);
+ goto leave;
+ }
+
+ salt = &buffer[salt_index];
err = gcry_kdf_derive (pinvalue, strlen (pinvalue),
GCRY_KDF_ITERSALTED_S2K,
DIGEST_ALGO_SHA256, salt, 8,
@@ -2094,12 +2109,12 @@ pin2hash_if_kdf (app_t app, int chvno, char *pinvalue, int *r_pinlen)
memcpy (pinvalue, dek, *r_pinlen);
wipememory (dek, *r_pinlen);
}
-
- xfree (relptr);
- }
+ }
else
*r_pinlen = strlen (pinvalue);
+ leave:
+ xfree (relptr);
return err;
}
@@ -2444,7 +2459,7 @@ do_setattr (app_t app, const char *name,
{ "SM-KEY-MAC", 0x00D2, 3, 0, 1 },
{ "KEY-ATTR", 0, 0, 3, 1 },
{ "AESKEY", 0x00D5, 3, 0, 1 },
- { "KDF", 0x00F9, 3, 0, 1 },
+ { "KDF", 0x00F9, 3, 4, 1 },
{ NULL, 0 }
};
int exmode;
@@ -2492,6 +2507,12 @@ do_setattr (app_t app, const char *name,
app->force_chv1 = (valuelen && *value == 0);
else if (table[idx].special == 2)
parse_login_data (app);
+ else if (table[idx].special == 4)
+ {
+ app->did_chv1 = 0;
+ app->did_chv2 = 0;
+ app->did_chv3 = 0;
+ }
return rc;
}
@@ -3208,21 +3229,33 @@ change_rsa_keyattr (app_t app, int keyno, unsigned int nbits,
relptr = get_one_do (app, 0xC1+keyno, &buf, &buflen, NULL);
if (!relptr)
err = gpg_error (GPG_ERR_CARD);
- else if (buflen < 6 || buf[0] != PUBKEY_ALGO_RSA)
+ else if (buflen < 6)
{
- /* Attriutes too short or not an RSA key. */
+ /* Attributes too short. */
xfree (relptr);
err = gpg_error (GPG_ERR_CARD);
}
else
{
- /* We only change n_bits and don't touch anything else. Before we
- do so, we round up NBITS to a sensible way in the same way as
- gpg's key generation does it. This may help to sort out problems
- with a few bits too short keys. */
+ /* If key attribute was RSA, we only change n_bits and don't
+ touch anything else. Before we do so, we round up NBITS to a
+ sensible way in the same way as gpg's key generation does it.
+ This may help to sort out problems with a few bits too short
+ keys. */
nbits = ((nbits + 31) / 32) * 32;
buf[1] = (nbits >> 8);
buf[2] = nbits;
+
+ /* If it was not RSA, we need to fill other parts. */
+ if (buf[0] != PUBKEY_ALGO_RSA)
+ {
+ buf[0] = PUBKEY_ALGO_RSA;
+ buf[3] = 0;
+ buf[4] = 32;
+ buf[5] = 0;
+ buflen = 6;
+ }
+
err = change_keyattr (app, keyno, buf, buflen, pincb, pincb_arg);
xfree (relptr);
}
diff --git a/scd/command.c b/scd/command.c
index 701151894..66d9fb971 100644
--- a/scd/command.c
+++ b/scd/command.c
@@ -79,7 +79,7 @@ struct server_local_s
assuan_context_t assuan_ctx;
#ifdef HAVE_W32_SYSTEM
- unsigned long event_signal; /* Or 0 if not used. */
+ void *event_signal; /* Or NULL if not used. */
#else
int event_signal; /* Or 0 if not used. */
#endif
@@ -178,7 +178,11 @@ option_handler (assuan_context_t ctx, const char *key, const char *value)
#ifdef HAVE_W32_SYSTEM
if (!*value)
return gpg_error (GPG_ERR_ASS_PARAMETER);
- ctrl->server_local->event_signal = strtoul (value, NULL, 16);
+#ifdef _WIN64
+ ctrl->server_local->event_signal = (void *)strtoull (value, NULL, 16);
+#else
+ ctrl->server_local->event_signal = (void *)strtoul (value, NULL, 16);
+#endif
#else
int i = *value? atoi (value) : -1;
if (i < 0)
@@ -1933,20 +1937,20 @@ send_client_notifications (app_t app, int removal)
pid = assuan_get_pid (sl->assuan_ctx);
#ifdef HAVE_W32_SYSTEM
- handle = (void *)sl->event_signal;
+ handle = sl->event_signal;
for (kidx=0; kidx < killidx; kidx++)
if (killed[kidx].pid == pid
&& killed[kidx].handle == handle)
break;
if (kidx < killidx)
- log_info ("event %lx (%p) already triggered for client %d\n",
+ log_info ("event %p (%p) already triggered for client %d\n",
sl->event_signal, handle, (int)pid);
else
{
- log_info ("triggering event %lx (%p) for client %d\n",
+ log_info ("triggering event %p (%p) for client %d\n",
sl->event_signal, handle, (int)pid);
if (!SetEvent (handle))
- log_error ("SetEvent(%lx) failed: %s\n",
+ log_error ("SetEvent(%p) failed: %s\n",
sl->event_signal, w32_strerror (-1));
if (killidx < DIM (killed))
{
diff --git a/sm/gpgsm.c b/sm/gpgsm.c
index beabb3854..b0547876a 100644
--- a/sm/gpgsm.c
+++ b/sm/gpgsm.c
@@ -1470,7 +1470,7 @@ main ( int argc, char **argv)
DIM (compliance_options),
opt.quiet);
if (compliance < 0)
- gpgsm_exit (1);
+ log_inc_errorcount (); /* Force later termination. */
opt.compliance = compliance;
}
break;
@@ -1499,7 +1499,11 @@ main ( int argc, char **argv)
NULL);
if (log_get_errorcount(0))
- gpgsm_exit(2);
+ {
+ gpgsm_status_with_error (&ctrl, STATUS_FAILURE,
+ "option-parser", gpg_error (GPG_ERR_GENERAL));
+ gpgsm_exit(2);
+ }
if (pwfd != -1) /* Read the passphrase now. */
read_passphrase_from_fd (pwfd);
@@ -1666,7 +1670,11 @@ main ( int argc, char **argv)
gnupg_compliance_option_string (opt.compliance));
if (log_get_errorcount(0))
- gpgsm_exit(2);
+ {
+ gpgsm_status_with_error (&ctrl, STATUS_FAILURE, "option-postprocessing",
+ gpg_error (GPG_ERR_GENERAL));
+ gpgsm_exit (2);
+ }
/* Set the random seed file. */
if (use_random_seed)
diff --git a/tests/gpgscm/gnupg.scm b/tests/gpgscm/gnupg.scm
index 5fcf9fd21..77bf479ef 100644
--- a/tests/gpgscm/gnupg.scm
+++ b/tests/gpgscm/gnupg.scm
@@ -28,17 +28,22 @@
;; Evaluate a sequence of expressions with an ephemeral home
;; directory.
-(define-macro (with-ephemeral-home-directory setup-fn . expressions)
+(define-macro (with-ephemeral-home-directory setup-fn teardown-fn . expressions)
(let ((original-home-directory (gensym))
(ephemeral-home-directory (gensym))
- (setup (gensym)))
+ (setup (gensym))
+ (teardown (gensym)))
`(let ((,original-home-directory (getenv "GNUPGHOME"))
(,ephemeral-home-directory (mkdtemp))
- (,setup (delay (,setup-fn))))
+ (,setup (delay (,setup-fn)))
+ (,teardown (delay (,teardown-fn))))
(finally (unlink-recursively ,ephemeral-home-directory)
(dynamic-wind
(lambda ()
(setenv "GNUPGHOME" ,ephemeral-home-directory #t)
(with-working-directory ,ephemeral-home-directory (force ,setup)))
(lambda () ,@expressions)
- (lambda () (setenv "GNUPGHOME" ,original-home-directory #t)))))))
+ (lambda ()
+ (setenv "GNUPGHOME" ,ephemeral-home-directory #t)
+ (with-working-directory ,ephemeral-home-directory (force ,teardown))
+ (setenv "GNUPGHOME" ,original-home-directory #t)))))))
diff --git a/tests/gpgsm/export.scm b/tests/gpgsm/export.scm
index d29b6cc48..4a8108bd3 100644
--- a/tests/gpgsm/export.scm
+++ b/tests/gpgsm/export.scm
@@ -25,7 +25,7 @@
(lambda (cert)
(lettmp (exported)
(call-check `(,@gpgsm --output ,exported --export ,cert::uid::CN))
- (with-ephemeral-home-directory setup-gpgsm-environment
+ (with-ephemeral-home-directory setup-gpgsm-environment-no-atexit stop-agent
(call-check `(,@gpgsm --import ,exported))
(assert (sm-have-public-key? cert)))))
(lambda (cert) cert::uid::CN)
diff --git a/tests/gpgsm/gpgsm-defs.scm b/tests/gpgsm/gpgsm-defs.scm
index c78a12797..f11864201 100644
--- a/tests/gpgsm/gpgsm-defs.scm
+++ b/tests/gpgsm/gpgsm-defs.scm
@@ -99,3 +99,9 @@
(call-check `(,(tool 'gpgtar) --extract --directory=. ,(cadr *args*)))
(create-gpgsm-gpghome))
(start-agent))
+
+(define (setup-gpgsm-environment-no-atexit)
+ (if (member "--unpack-tarball" *args*)
+ (call-check `(,(tool 'gpgtar) --extract --directory=. ,(cadr *args*)))
+ (create-gpgsm-gpghome))
+ (start-agent #t))
diff --git a/tests/migrations/common.scm b/tests/migrations/common.scm
index 54d33b987..cabfdff80 100644
--- a/tests/migrations/common.scm
+++ b/tests/migrations/common.scm
@@ -39,7 +39,7 @@
(define GPGTAR (path-join (getenv "objdir") "tools" (qualify "gpgtar")))
(define (untar-armored source-name)
- (with-ephemeral-home-directory (lambda ())
+ (with-ephemeral-home-directory (lambda ()) (lambda ())
(pipe:do
(pipe:open source-name (logior O_RDONLY O_BINARY))
(pipe:spawn `(,@GPG --dearmor))
diff --git a/tests/openpgp/decrypt-session-key.scm b/tests/openpgp/decrypt-session-key.scm
index 35aa7f36b..c3294e0c6 100755
--- a/tests/openpgp/decrypt-session-key.scm
+++ b/tests/openpgp/decrypt-session-key.scm
@@ -37,7 +37,7 @@
(lambda (name)
(let* ((source (in-srcdir "tests" "openpgp" (string-append name ".asc")))
(key (get-session-key source)))
- (with-ephemeral-home-directory setup-environment
+ (with-ephemeral-home-directory setup-environment-no-atexit stop-agent
(tr:do
(tr:open source)
(tr:gpg "" `(--yes --decrypt --override-session-key ,key))
diff --git a/tests/openpgp/decrypt-unwrap-verify.scm b/tests/openpgp/decrypt-unwrap-verify.scm
index bf7d14d41..addc2daac 100755
--- a/tests/openpgp/decrypt-unwrap-verify.scm
+++ b/tests/openpgp/decrypt-unwrap-verify.scm
@@ -35,7 +35,7 @@
;; Then, verify the signature with a clean working directory
;; containing only Steve's public key.
- (with-ephemeral-home-directory setup-environment
+ (with-ephemeral-home-directory setup-environment-no-atexit stop-agent
(call-check `(,@gpg --import ,steve's-key))
(call-check `(,@gpg --verify ,unwrapped)))))
'("encsig-2-keys-3" "encsig-2-keys-4")))
diff --git a/tests/openpgp/defs.scm b/tests/openpgp/defs.scm
index 9f780fe23..afd69a0f3 100644
--- a/tests/openpgp/defs.scm
+++ b/tests/openpgp/defs.scm
@@ -201,7 +201,7 @@
(define have-opt-always-trust
(catch #f
- (with-ephemeral-home-directory (lambda ())
+ (with-ephemeral-home-directory (lambda ()) (lambda ())
(call-check `(,(tool 'gpg) --gpgconf-test --always-trust)))
#t))
@@ -366,6 +366,10 @@
(create-gpghome)
(start-agent))
+(define (setup-environment-no-atexit)
+ (create-gpghome)
+ (start-agent #t))
+
(define (create-sample-files)
(log "Creating sample data files")
(for-each
@@ -449,12 +453,12 @@
(preset-passphrases))
;; Create the socket dir and start the agent.
-(define (start-agent)
+(define (start-agent . args)
(log "Starting gpg-agent...")
(let ((gnupghome (getenv "GNUPGHOME")))
- (atexit (lambda ()
- (with-home-directory gnupghome
- (stop-agent)))))
+ (if (null? args)
+ (atexit (lambda ()
+ (with-home-directory gnupghome (stop-agent))))))
(catch (log "Warning: Creating socket directory failed:" (car *error*))
(gpg-conf '--create-socketdir))
(call-check `(,(tool 'gpg-connect-agent) --verbose