From 5123549bfccccaa43871481c300ea4d627dcfbda Mon Sep 17 00:00:00 2001 From: Matt Johnston Date: Fri, 3 May 2013 23:07:48 +0800 Subject: ecdsa is working --- ecdsa.c | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'ecdsa.c') diff --git a/ecdsa.c b/ecdsa.c index 360f988..03b51a2 100644 --- a/ecdsa.c +++ b/ecdsa.c @@ -4,9 +4,29 @@ #include "crypto_desc.h" #include "ecc.h" #include "ecdsa.h" +#include "signkey.h" #ifdef DROPBEAR_ECDSA +enum signkey_type ecdsa_signkey_type(ecc_key * key) { +#ifdef DROPBEAR_ECC_256 + if (key->dp == ecc_curve_nistp256.dp) { + return DROPBEAR_SIGNKEY_ECDSA_NISTP256; + } +#endif +#ifdef DROPBEAR_ECC_384 + if (key->dp == ecc_curve_nistp384.dp) { + return DROPBEAR_SIGNKEY_ECDSA_NISTP384; + } +#endif +#ifdef DROPBEAR_ECC_521 + if (key->dp == ecc_curve_nistp521.dp) { + return DROPBEAR_SIGNKEY_ECDSA_NISTP521; + } +#endif + return DROPBEAR_SIGNKEY_NONE; +} + ecc_key *gen_ecdsa_priv_key(unsigned int bit_size) { const ltc_ecc_set_type *dp = NULL; // curve domain parameters switch (bit_size) { -- cgit v1.2.1