From ba892a0a874c8b2a83dbf0940608cd7e2911ce01 Mon Sep 17 00:00:00 2001 From: Werner Koch Date: Fri, 25 Oct 2013 15:44:03 +0200 Subject: ecc: Add flags "noparam" and "comp". * src/cipher.h (PUBKEY_FLAG_NOPARAM, PUBKEY_FLAG_COMP): New. * cipher/pubkey-util.c (_gcry_pk_util_parse_flaglist): Parse new flags and change code for possible faster parsing. * cipher/ecc.c (ecc_generate): Implement the "noparam" flag. (ecc_sign): Ditto. (ecc_verify): Ditto. * tests/keygen.c (check_ecc_keys): Use the "noparam" flag. * cipher/ecc.c (ecc_generate): Fix parsing of the deprecated transient-flag parameter. (ecc_verify): Do not make Q optional in the extract-param call. -- Note that the "comp" flag has not yet any effect. Signed-off-by: Werner Koch --- tests/keygen.c | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) (limited to 'tests/keygen.c') diff --git a/tests/keygen.c b/tests/keygen.c index 5ab8e9d6..18fe2117 100644 --- a/tests/keygen.c +++ b/tests/keygen.c @@ -375,7 +375,8 @@ check_ecc_keys (void) if (verbose) show ("creating ECC key using curve %s\n", curves[testno]); rc = gcry_sexp_build (&keyparm, NULL, - "(genkey(ecc(curve %s)))", curves[testno]); + "(genkey(ecc(curve %s)(flags noparam)))", + curves[testno]); if (rc) die ("error creating S-expression: %s\n", gpg_strerror (rc)); rc = gcry_pk_genkey (&key, keyparm); @@ -410,6 +411,21 @@ check_ecc_keys (void) if (verbose > 1) show_sexp ("ECC key:\n", key); + if (verbose) + show ("creating ECC key using curve Ed25519 for ECDSA\n"); + rc = gcry_sexp_build (&keyparm, NULL, + "(genkey(ecc(curve Ed25519)(flags noparam ecdsa)))"); + if (rc) + die ("error creating S-expression: %s\n", gpg_strerror (rc)); + rc = gcry_pk_genkey (&key, keyparm); + gcry_sexp_release (keyparm); + if (rc) + die ("error generating ECC key using curve Ed25519 for ECDSA: %s\n", + gpg_strerror (rc)); + + if (verbose > 1) + show_sexp ("ECC key:\n", key); + gcry_sexp_release (key); } -- cgit v1.2.1