1
1

pki: Make ssh_key_is_public() a public function.

Этот коммит содержится в:
Andreas Schneider 2011-06-14 22:33:58 +02:00
родитель 2be90be740
Коммит 27cedaa0b6
3 изменённых файлов: 17 добавлений и 1 удалений
include/libssh
src

@ -422,6 +422,8 @@ LIBSSH_API void ssh_key_free (ssh_key key);
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_pki_import_privkey_base64(ssh_key key, ssh_session session,
const char *b64_key, const char *passphrase);
LIBSSH_API int ssh_userauth_pki_pubkey(ssh_session session, const char *username,

@ -39,7 +39,6 @@ struct ssh_key_struct {
#endif
};
#define ssh_key_is_public(k) (k && k->flags & SSH_KEY_FLAG_PUBLIC)
#define ssh_key_is_private(k) (k && k->flags & SSH_KEY_FLAG_PRIVATE)
void ssh_key_clean (ssh_key key);

@ -150,6 +150,21 @@ enum ssh_keytypes_e ssh_key_type_from_name(const char *name) {
return SSH_KEYTYPE_UNKNOWN;
}
/**
* @brief Check if the key has/is a public key.
*
* @param[in] k The key to check.
*
* @return 1 if it is a public key, 0 if not.
*/
int ssh_key_is_public(ssh_key k) {
if (k == NULL) {
return 0;
}
return (k->flags & SSH_KEY_FLAG_PUBLIC);
}
/**
* @brief import a key from a file
* @param[out] key the ssh_key to update