diff options
author | Andreas Schneider <asn@cryptomilk.org> | 2011-08-07 14:00:25 +0200 |
---|---|---|
committer | Andreas Schneider <asn@cryptomilk.org> | 2011-08-08 15:28:31 +0200 |
commit | 028888719a54794f998cc3572419361a73674929 (patch) | |
tree | 7ba7c5e4b8f4da97eb99f92b7d315ec1c4c7f20b /src | |
parent | d8b41bcac3cffe5bebc76439d9d9f22e1e8c6d85 (diff) | |
download | libssh-028888719a54794f998cc3572419361a73674929.tar.gz libssh-028888719a54794f998cc3572419361a73674929.tar.xz libssh-028888719a54794f998cc3572419361a73674929.zip |
pki: Add pki_privatekey_type_from_string().
Diffstat (limited to 'src')
-rw-r--r-- | src/pki.c | 12 |
1 files changed, 12 insertions, 0 deletions
@@ -37,6 +37,18 @@ #include "libssh/keys.h" #include "libssh/buffer.h" +enum ssh_keytypes_e pki_privatekey_type_from_string(const char *privkey) { + if (strncmp(privkey, DSA_HEADER_BEGIN, strlen(DSA_HEADER_BEGIN)) == 0) { + return SSH_KEYTYPE_DSS; + } + + if (strncmp(privkey, RSA_HEADER_BEGIN, strlen(RSA_HEADER_BEGIN)) == 0) { + return SSH_KEYTYPE_RSA; + } + + return SSH_KEYTYPE_UNKNOWN; +} + /** * @brief creates a new empty SSH key * @returns an empty ssh_key handle, or NULL on error. |