summaryrefslogtreecommitdiff
path: root/tests/keygen.c
diff options
context:
space:
mode:
authorWerner Koch <wk@gnupg.org>2013-12-02 16:18:25 +0100
committerWerner Koch <wk@gnupg.org>2013-12-02 16:21:45 +0100
commit14ae6224b1b17abbfc80c26ad0f4c60f1e8635e2 (patch)
treec783cf16f3a1e69943b7fa2d76e9487dbf4325b9 /tests/keygen.c
parent485f35124b1a74af0bad321ed70be3a79d8d11d7 (diff)
downloadlibgcrypt-14ae6224b1b17abbfc80c26ad0f4c60f1e8635e2.tar.gz
ecc: Make gcry_pk_testkey work for Ed25519.
* cipher/ecc-misc.c (_gcry_ecc_compute_public): Add optional args G and d. Change all callers. * cipher/ecc.c (gen_y_2): Remove. (check_secret_key): Use generic public key compute function. Adjust for use with Ed25519 and EdDSA. (nist_generate_key): Do not use the compliant key thingy for Ed25519. (ecc_check_secret_key): Make parameter parsing similar to the other functions. * cipher/ecc-curves.c (domain_parms): Zero prefix some parameters so that _gcry_ecc_update_curve_param works correctly. * tests/keygen.c (check_ecc_keys): Add "param" flag. Check all Ed25519 keys.
Diffstat (limited to 'tests/keygen.c')
-rw-r--r--tests/keygen.c43
1 files changed, 22 insertions, 21 deletions
diff --git a/tests/keygen.c b/tests/keygen.c
index 48663d45..e8cf7c5b 100644
--- a/tests/keygen.c
+++ b/tests/keygen.c
@@ -90,21 +90,21 @@ show (const char *format, ...)
}
-static void
-show_note (const char *format, ...)
-{
- va_list arg_ptr;
-
- if (!verbose && getenv ("srcdir"))
- fputs (" ", stderr); /* To align above "PASS: ". */
- else
- fprintf (stderr, "%s: ", PGM);
- va_start (arg_ptr, format);
- vfprintf (stderr, format, arg_ptr);
- if (*format && format[strlen(format)-1] != '\n')
- putc ('\n', stderr);
- va_end (arg_ptr);
-}
+/* static void */
+/* show_note (const char *format, ...) */
+/* { */
+/* va_list arg_ptr; */
+
+/* if (!verbose && getenv ("srcdir")) */
+/* fputs (" ", stderr); /\* To align above "PASS: ". *\/ */
+/* else */
+/* fprintf (stderr, "%s: ", PGM); */
+/* va_start (arg_ptr, format); */
+/* vfprintf (stderr, format, arg_ptr); */
+/* if (*format && format[strlen(format)-1] != '\n') */
+/* putc ('\n', stderr); */
+/* va_end (arg_ptr); */
+/* } */
static void
@@ -376,11 +376,11 @@ check_ecc_keys (void)
show ("creating ECC key using curve %s\n", curves[testno]);
if (!strcmp (curves[testno], "Ed25519"))
rc = gcry_sexp_build (&keyparm, NULL,
- "(genkey(ecc(curve %s)(flags eddsa)))",
+ "(genkey(ecc(curve %s)(flags param eddsa)))",
curves[testno]);
else
rc = gcry_sexp_build (&keyparm, NULL,
- "(genkey(ecc(curve %s)(flags )))",
+ "(genkey(ecc(curve %s)(flags param)))",
curves[testno]);
if (rc)
die ("error creating S-expression: %s\n", gpg_strerror (rc));
@@ -393,10 +393,7 @@ check_ecc_keys (void)
if (verbose > 1)
show_sexp ("ECC key:\n", key);
- if (!strcmp (curves[testno], "Ed25519"))
- show_note ("note: gcry_pk_testkey does not yet work for Ed25519\n");
- else
- check_generated_ecc_key (key);
+ check_generated_ecc_key (key);
gcry_sexp_release (key);
}
@@ -415,6 +412,8 @@ check_ecc_keys (void)
if (verbose > 1)
show_sexp ("ECC key:\n", key);
+ check_generated_ecc_key (key);
+
if (verbose)
show ("creating ECC key using curve Ed25519 for ECDSA (nocomp)\n");
rc = gcry_sexp_build (&keyparm, NULL,
@@ -431,6 +430,8 @@ check_ecc_keys (void)
if (verbose > 1)
show_sexp ("ECC key:\n", key);
+ check_generated_ecc_key (key);
+
gcry_sexp_release (key);
}