aboutsummaryrefslogtreecommitdiff
path: root/src/pki_crypto.c
diff options
context:
space:
mode:
authorJon Simons <jon@jonsimons.org>2014-04-04 15:37:43 -0700
committerAndreas Schneider <asn@cryptomilk.org>2014-04-09 11:01:11 +0200
commit48aca98cd52f439acf2af9faa27d7d6c7a4735c5 (patch)
treeebdc6c5f6f87067c1bef210bb80cec86f8081bfb /src/pki_crypto.c
parent89e154f78c7ebeb1aa986b57d18c619b75919b97 (diff)
downloadlibssh-48aca98cd52f439acf2af9faa27d7d6c7a4735c5.tar.gz
libssh-48aca98cd52f439acf2af9faa27d7d6c7a4735c5.tar.xz
libssh-48aca98cd52f439acf2af9faa27d7d6c7a4735c5.zip
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 <jon@jonsimons.org> Reviewed-by: Andreas Schneider <asn@cryptomilk.org>
Diffstat (limited to 'src/pki_crypto.c')
-rw-r--r--src/pki_crypto.c14
1 files changed, 14 insertions, 0 deletions
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) {