diff options
author | Werner Koch <wk@gnupg.org> | 2013-10-25 15:44:03 +0200 |
---|---|---|
committer | Werner Koch <wk@gnupg.org> | 2013-10-29 14:38:53 +0100 |
commit | ba892a0a874c8b2a83dbf0940608cd7e2911ce01 (patch) | |
tree | 05d693e86d52f336aa9142c8176fb5a88a3b59cb /tests/keygen.c | |
parent | 1faa61845f180bd47e037e400dde2d864ee83c89 (diff) | |
download | libgcrypt-ba892a0a874c8b2a83dbf0940608cd7e2911ce01.tar.gz |
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 <wk@gnupg.org>
Diffstat (limited to 'tests/keygen.c')
-rw-r--r-- | tests/keygen.c | 18 |
1 files changed, 17 insertions, 1 deletions
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); } |