1
0
mirror of https://git.libssh.org/projects/libssh.git synced 2025-08-08 19:02:06 +03:00

pki: Make ssh_key_is_private() a public function.

This commit is contained in:
Andreas Schneider
2011-06-14 22:37:00 +02:00
parent 27cedaa0b6
commit c75581fb93
3 changed files with 16 additions and 2 deletions

View File

@@ -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 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 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_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, LIBSSH_API int ssh_pki_import_privkey_base64(ssh_key key, ssh_session session,
const char *b64_key, const char *passphrase); const char *b64_key, const char *passphrase);

View File

@@ -39,8 +39,6 @@ struct ssh_key_struct {
#endif #endif
}; };
#define ssh_key_is_private(k) (k && k->flags & SSH_KEY_FLAG_PRIVATE)
void ssh_key_clean (ssh_key key); void ssh_key_clean (ssh_key key);
int ssh_key_import_private(ssh_key key, ssh_session session, int ssh_key_import_private(ssh_key key, ssh_session session,
const char *filename, const char *passphrase); const char *filename, const char *passphrase);

View File

@@ -165,6 +165,21 @@ int ssh_key_is_public(ssh_key k) {
return (k->flags & SSH_KEY_FLAG_PUBLIC); return (k->flags & SSH_KEY_FLAG_PUBLIC);
} }
/**
* @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 * @brief import a key from a file
* @param[out] key the ssh_key to update * @param[out] key the ssh_key to update