summaryrefslogtreecommitdiff
path: root/tests/keygen.c
diff options
context:
space:
mode:
authorWerner Koch <wk@gnupg.org>2013-10-25 15:44:03 +0200
committerWerner Koch <wk@gnupg.org>2013-10-29 14:38:53 +0100
commitba892a0a874c8b2a83dbf0940608cd7e2911ce01 (patch)
tree05d693e86d52f336aa9142c8176fb5a88a3b59cb /tests/keygen.c
parent1faa61845f180bd47e037e400dde2d864ee83c89 (diff)
downloadlibgcrypt-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.c18
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);
}