diff options
author | Aris Adamantiadis <aris@0xbadc0de.be> | 2008-05-13 23:09:41 +0000 |
---|---|---|
committer | Aris Adamantiadis <aris@0xbadc0de.be> | 2008-05-13 23:09:41 +0000 |
commit | 8b9841dd5714879b27ecb4532dfbbfe08e3b718d (patch) | |
tree | dd418e427e920c673e21bbe91c88b1e9c4565bbf /libssh | |
parent | 2cf6369113a23bbd7fa0e6b872d4a7c1ab68272b (diff) | |
download | libssh-8b9841dd5714879b27ecb4532dfbbfe08e3b718d.tar.gz libssh-8b9841dd5714879b27ecb4532dfbbfe08e3b718d.tar.xz libssh-8b9841dd5714879b27ecb4532dfbbfe08e3b718d.zip |
doxygen documentation for public key authentication
git-svn-id: svn+ssh://svn.berlios.de/svnroot/repos/libssh/trunk@158 7dcaeef0-15fb-0310-b436-a5af3365683c
Diffstat (limited to 'libssh')
-rw-r--r-- | libssh/keyfiles.c | 28 | ||||
-rw-r--r-- | libssh/keys.c | 16 |
2 files changed, 40 insertions, 4 deletions
diff --git a/libssh/keyfiles.c b/libssh/keyfiles.c index d95d41af..48fe16cd 100644 --- a/libssh/keyfiles.c +++ b/libssh/keyfiles.c @@ -468,8 +468,19 @@ static int get_password_specified(char *buf,int size, int rwflag, char *password snprintf(buf,size,"%s",password); return strlen(buf); } - +/** \addtogroup ssh_auth + * @{ + */ /* TODO : implement it to read both DSA and RSA at once */ +/** \brief Reads a SSH private key from a file + * \param session SSH Session + * \param filename Filename containing the private key + * \param type Type of the private key. One of TYPE_DSS or TYPE_RSA. + * \param passphrase Passphrase to decrypt the private key. Set to null if none is needed or it is unknown. + * \returns a PRIVATE_KEY object containing the private key, or NULL if it failed. + * \see private_key_free() + * \see publickey_from_privatekey() + */ PRIVATE_KEY *privatekey_from_file(SSH_SESSION *session,char *filename,int type,char *passphrase){ FILE *file=fopen(filename,"r"); PRIVATE_KEY *privkey; @@ -612,6 +623,9 @@ PRIVATE_KEY *_privatekey_from_file(void *session,char *filename,int type){ return privkey; } +/** \brief Desallocate a private key + * \param prv a PRIVATE_KEY object + */ void private_key_free(PRIVATE_KEY *prv){ #ifdef HAVE_LIBGCRYPT if(prv->dsa_priv) @@ -628,6 +642,14 @@ void private_key_free(PRIVATE_KEY *prv){ free(prv); } +/** \brief Retrieve a public key from a file + * \param session the SSH session + * \param filename Filename of the key + * \param _type Pointer to a integer. If it is not null, it contains the type of the key after execution. + * \return a SSH String containing the public key, or NULL if it failed. + * \see string_free() + * \see publickey_from_privatekey() + */ STRING *publickey_from_file(SSH_SESSION *session,char *filename,int *_type){ BUFFER *buffer; int type; @@ -809,6 +831,8 @@ static char **ssh_parse_knownhost(char *filename, char *hostname, char *type){ return ret; } +/** @} + */ /** \addtogroup ssh_session * @{ */ /** checks the user's known host file for a previous connection to the @@ -904,7 +928,7 @@ int ssh_is_server_known(SSH_SESSION *session){ return SSH_SERVER_KNOWN_OK; } -/** You generaly uses it when ssh_is_server_known() answered SSH_SERVER_NOT_KNOWN +/** You generaly use it when ssh_is_server_known() answered SSH_SERVER_NOT_KNOWN * \brief write the current server as known in the known hosts file * \param session ssh session * \return 0 on success, -1 on error diff --git a/libssh/keys.c b/libssh/keys.c index d3b81a84..2839f281 100644 --- a/libssh/keys.c +++ b/libssh/keys.c @@ -28,7 +28,9 @@ MA 02111-1307, USA. */ #endif #include "libssh/priv.h" - +/** \addtogroup ssh_auth + * @{ + */ /* Public key decoding functions */ char *ssh_type_to_char(int type){ @@ -175,6 +177,11 @@ PUBLIC_KEY *publickey_from_string(SSH_SESSION *session, STRING *pubkey_s){ return NULL; } +/** \brief Makes a PUBLIC_KEY object out of a PRIVATE_KEY object + * \param prv the Private key + * \returns the public key + * \see publickey_to_string() + */ PUBLIC_KEY *publickey_from_privatekey(PRIVATE_KEY *prv){ PUBLIC_KEY *key=malloc(sizeof(PUBLIC_KEY)); #ifdef HAVE_LIBGCRYPT @@ -323,6 +330,11 @@ static void rsa_public_to_string(RSA *key, BUFFER *buffer){ free(n); } +/** \brief makes a SSH String out of a PUBLIC_KEY object + * \param key the public key + * \returns a SSH String containing the public key + * \see string_free() + */ STRING *publickey_to_string(PUBLIC_KEY *key){ STRING *type; STRING *ret; @@ -743,4 +755,4 @@ STRING *ssh_sign_session_id(SSH_SESSION *session, PRIVATE_KEY *privatekey){ signature_free(sign); return signature; } - +/** @} */ |