diff options
author | Andreas Schneider <asn@cryptomilk.org> | 2011-06-14 22:37:00 +0200 |
---|---|---|
committer | Andreas Schneider <asn@cryptomilk.org> | 2011-06-15 18:27:05 +0200 |
commit | c75581fb939e5be9ea51c1741e57b75626da03a3 (patch) | |
tree | ec8ed2faada73a3d37dc3440d161fe5166ae5901 | |
parent | 27cedaa0b6705d01a99dfe2b072f59b1fe1fb198 (diff) | |
download | libssh-c75581fb939e5be9ea51c1741e57b75626da03a3.tar.gz libssh-c75581fb939e5be9ea51c1741e57b75626da03a3.tar.xz libssh-c75581fb939e5be9ea51c1741e57b75626da03a3.zip |
pki: Make ssh_key_is_private() a public function.
-rw-r--r-- | include/libssh/libssh.h | 1 | ||||
-rw-r--r-- | include/libssh/pki.h | 2 | ||||
-rw-r--r-- | src/pki.c | 15 |
3 files changed, 16 insertions, 2 deletions
diff --git a/include/libssh/libssh.h b/include/libssh/libssh.h index 45e11127..e6f08472 100644 --- a/include/libssh/libssh.h +++ b/include/libssh/libssh.h @@ -423,6 +423,7 @@ LIBSSH_API enum ssh_keytypes_e ssh_key_type(ssh_key key); LIBSSH_API const char *ssh_key_type_to_char(enum ssh_keytypes_e type); LIBSSH_API enum ssh_keytypes_e ssh_key_type_from_name(const char *name); LIBSSH_API int ssh_key_is_public(ssh_key k); +LIBSSH_API int ssh_key_is_private(ssh_key k); LIBSSH_API int ssh_pki_import_privkey_base64(ssh_key key, ssh_session session, const char *b64_key, const char *passphrase); diff --git a/include/libssh/pki.h b/include/libssh/pki.h index d51a3582..8d3ef0c9 100644 --- a/include/libssh/pki.h +++ b/include/libssh/pki.h @@ -39,8 +39,6 @@ struct ssh_key_struct { #endif }; -#define ssh_key_is_private(k) (k && k->flags & SSH_KEY_FLAG_PRIVATE) - void ssh_key_clean (ssh_key key); int ssh_key_import_private(ssh_key key, ssh_session session, const char *filename, const char *passphrase); @@ -166,6 +166,21 @@ int ssh_key_is_public(ssh_key k) { } /** + * @brief Check if the key is a private key. + * + * @param[in] k The key to check. + * + * @return 1 if it is a private key, 0 if not. + */ +int ssh_key_is_private(ssh_key k) { + if (k == NULL) { + return 0; + } + + return (k->flags & SSH_KEY_FLAG_PRIVATE); +} + +/** * @brief import a key from a file * @param[out] key the ssh_key to update * @param[in] session The SSH Session to use. If a key decryption callback is set, it will |