diff options
author | Werner Koch <wk@gnupg.org> | 2013-10-15 09:08:31 +0200 |
---|---|---|
committer | Werner Koch <wk@gnupg.org> | 2013-10-15 09:08:31 +0200 |
commit | 537969fbbb1104b8305a7edb331b7666d54eff2c (patch) | |
tree | 2e70f17203462a2f7e14ec0d3da35532482670f9 /tests/keygen.c | |
parent | d3a605d7827b8a73ef844e9e5183590bd6b1389a (diff) | |
download | libgcrypt-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.c | 17 |
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); } |