summaryrefslogtreecommitdiff
path: root/tests/keygen.c
diff options
context:
space:
mode:
authorWerner Koch <wk@gnupg.org>2013-10-15 09:08:31 +0200
committerWerner Koch <wk@gnupg.org>2013-10-15 09:08:31 +0200
commit537969fbbb1104b8305a7edb331b7666d54eff2c (patch)
tree2e70f17203462a2f7e14ec0d3da35532482670f9 /tests/keygen.c
parentd3a605d7827b8a73ef844e9e5183590bd6b1389a (diff)
downloadlibgcrypt-537969fbbb1104b8305a7edb331b7666d54eff2c.tar.gz
ecc: Support use of Ed25519 with ECDSA.
* src/cipher.h (PUBKEY_FLAG_ECDSA): New. * cipher/pubkey-util.c (_gcry_pk_util_parse_flaglist): Add flag "ecdsa". * cipher/ecc.c (verify_ecdsa, verify_eddsa): Remove some debug output. (ecc_generate, ecc_sign, ecc_verify): Support Ed25519 with ECDSA. * tests/keygen.c (check_ecc_keys): Create such a test key. * tests/pubkey.c (fail, info, data_from_hex, extract_cmp_data): New. Take from dsa-6979.c (check_ed25519ecdsa_sample_key): new. (main): Call new test. Signed-off-by: Werner Koch <wk@gnupg.org>
Diffstat (limited to 'tests/keygen.c')
-rw-r--r--tests/keygen.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/tests/keygen.c b/tests/keygen.c
index b955116c..2b98c42d 100644
--- a/tests/keygen.c
+++ b/tests/keygen.c
@@ -394,6 +394,23 @@ check_ecc_keys (void)
gcry_sexp_release (key);
}
+
+ if (verbose)
+ show ("creating ECC key using curve Ed25519 for ECDSA\n");
+ rc = gcry_sexp_build (&keyparm, NULL,
+ "(genkey(ecc(curve Ed25519)(flags 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);
}