From 48aca98cd52f439acf2af9faa27d7d6c7a4735c5 Mon Sep 17 00:00:00 2001 From: Jon Simons Date: Fri, 4 Apr 2014 15:37:43 -0700 Subject: pki crypto: expose new ssh_pki_key_ecdsa_name API Enable retrieving the "ecdsa-sha2-nistpNNN" name of ECDSA keys with a new 'ssh_pki_key_ecdsa_name' API. This gives more information than the 'ssh_key_type_to_char' API, which yields "ssh-ecdsa" for ECDSA keys. The motivation is that this info is useful to have in a server context. The torture_pki unit test is updated to include the new API, and a few more passes are added to additionally test 384 and 521-bit keys. Signed-off-by: Jon Simons Reviewed-by: Andreas Schneider --- src/pki_crypto.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'src/pki_crypto.c') diff --git a/src/pki_crypto.c b/src/pki_crypto.c index 442c1b38..d576a54d 100644 --- a/src/pki_crypto.c +++ b/src/pki_crypto.c @@ -105,6 +105,20 @@ static const char *pki_key_ecdsa_nid_to_name(int nid) return "unknown"; } +/** + * @brief returns the ECDSA key name ("ecdsa-sha2-nistp256" for example) + * + * @param[in] key the ssh_key whose ECDSA name to get + * + * @returns the ECDSA key name ("ecdsa-sha2-nistp256" for example) + * + * @returns "unknown" if the ECDSA key name is not known + */ +const char *ssh_pki_key_ecdsa_name(const ssh_key key) +{ + return pki_key_ecdsa_nid_to_name(key->ecdsa_nid); +} + static const char *pki_key_ecdsa_nid_to_char(int nid) { switch (nid) { -- cgit v1.2.3