aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWerner Koch <[email protected]>2023-11-23 15:04:52 +0000
committerWerner Koch <[email protected]>2023-11-23 15:06:15 +0000
commit1d472e4934b889c3ccd99ce61d8b5bdc1bf0d5ee (patch)
treed07e9f3c225bc8477299cbf954eb8f1bb3e5ce91
parentUpdate NEWS (diff)
downloadgnupg-1d472e4934b889c3ccd99ce61d8b5bdc1bf0d5ee.tar.gz
gnupg-1d472e4934b889c3ccd99ce61d8b5bdc1bf0d5ee.zip
scd:openpgp: Print a diagnostic for the use of default ECDH params.
* scd/app-openpgp.c (ecc_writekey): Remove the useless check and print a diagnostic if the default params are used. -- Note that here in 2.2 we use different default ECDH parameters than in 2.4 (AES192 instead of AES256 for 384 bit curves). GnuPG-bug-id: 6378
-rw-r--r--scd/app-openpgp.c17
1 files changed, 7 insertions, 10 deletions
diff --git a/scd/app-openpgp.c b/scd/app-openpgp.c
index f2f99333a..6e4aa5808 100644
--- a/scd/app-openpgp.c
+++ b/scd/app-openpgp.c
@@ -355,6 +355,7 @@ do_deinit (app_t app)
* we do not need this if the buffer has been allocated in secure
* memory. However at some places we can't make that sure and thus we
* better to an extra wipe here. */
+#if 0 /* Not yet used. */
static void
wipe_and_free (void *p, size_t len)
{
@@ -365,10 +366,11 @@ wipe_and_free (void *p, size_t len)
xfree (p);
}
}
-
+#endif
/* Similar to wipe_and_free but assumes P is eitehr NULL or a proper
* string. */
+#if 0 /* Not yet used. */
static void
wipe_and_free_string (char *p)
{
@@ -378,7 +380,7 @@ wipe_and_free_string (char *p)
xfree (p);
}
}
-
+#endif
/* Wrapper around iso7816_get_data which first tries to get the data
from the cache. With GET_IMMEDIATE passed as true, the cache is
@@ -4487,20 +4489,15 @@ ecc_writekey (app_t app, ctrl_t ctrl,
else
algo = PUBKEY_ALGO_ECDSA;
- /* Not provided by GnuPG 2.2 - take the default value. */
if (algo == PUBKEY_ALGO_ECDH && !ecdh_param)
{
+ /* In case this is used by older clients we fallback to our
+ * default ecc parameters. */
+ log_info ("opgp: using default ecdh parameters\n");
ecdh_param = ecdh_params (curve);
ecdh_param_len = 4;
}
- if (algo == PUBKEY_ALGO_ECDH && !ecdh_param)
- {
- log_error ("opgp: ecdh parameters missing\n");
- err = gpg_error (GPG_ERR_INV_VALUE);
- goto leave;
- }
-
oidstr = openpgp_curve_to_oid (curve, &n, NULL);
ecc_d_fixed_len = (n+7)/8;
err = openpgp_oid_from_str (oidstr, &oid);