X-Git-Url: http://git.silcnet.org/gitweb/?a=blobdiff_plain;f=lib%2Fsilcssh%2Fsilcssh.h;h=6c52bc7a8ea28e95748220fa389548256810657a;hb=e7b6c157b80152bf9fb9266e6bdd93f9fb0db776;hp=9f4e8b89a66aa28b3924b87a6d05acf44b504f7a;hpb=dc58dce1c879bde4fe06fa05fc621d8acecbbb89;p=silc.git diff --git a/lib/silcssh/silcssh.h b/lib/silcssh/silcssh.h index 9f4e8b89..6c52bc7a 100644 --- a/lib/silcssh/silcssh.h +++ b/lib/silcssh/silcssh.h @@ -53,16 +53,17 @@ * * // Save new key pair to file * silc_pkcs_save_public_key("pubkey.pub", public_key, SILC_PKCS_FILE_BASE64); - * silc_pkcs_save_private_key("privkey.pub", private_key, passphrase, + * silc_pkcs_save_private_key("privkey.prv", private_key, passphrase, * passphrase_len, SILC_PKCS_FILE_BASE64, rng); * * // Load SSH2 key pair * silc_pkcs_load_public_key("pubkey.pub", SILC_PKCS_SSH2, &public_key); - * silc_pkcs_load_private_key("privkey.pub", passphrase, passphrase_len, + * silc_pkcs_load_private_key("privkey.prv", passphrase, passphrase_len, * SILC_PKCS_SSH2, &public_key); * - * // Compute signature - * silc_pkcs_sign(private_key, src, src_len, TRUE, sha1, rng, sign_cb, ctx); + * // Free public and private key. Frees automatically the underlaying SSH keys. + * silc_pkcs_public_key_free(public_key); + * silc_pkcs_private_key_free(private_key); * ***/ #ifndef SILCSSH_H @@ -76,7 +77,7 @@ * * DESCRIPTION * - * SSH2 public and private key types. The default when new ke pair + * SSH2 public and private key types. The default when new key pair * is created is SILC_SSH_KEY_OPENSSH. * * SOURCE @@ -96,7 +97,7 @@ typedef enum { * * This structure defines the SSH2 public key. This context can be * retrieved from SilcPublicKey by calling silc_pkcs_public_key_get_pkcs - * for the PKCS type SILC_PKCS_SSH2 type. + * for the PKCS type SILC_PKCS_SSH2. * * SOURCE */ @@ -118,7 +119,7 @@ typedef struct SilcSshPublicKeyStruct { * * This structure defines the SSH2 private key. This context can be * retrieved from SilcPrivateKey by calling silc_pkcs_private_key_get_pkcs - * for the PKCS type SILC_PKCS_SSH2 type. + * for the PKCS type SILC_PKCS_SSH2. * * SOURCE */ @@ -174,6 +175,8 @@ SilcBool silc_ssh_generate_key(const char *algorithm, * function. This function expects the public key to be in raw binary * format, without any public key file markers or headers. * + * This decodes SSH2 protocol compliant raw public key. + * * This function returns the number of bytes decoded from the public * key buffer or 0 on error. * @@ -194,6 +197,8 @@ int silc_ssh_public_key_decode(unsigned char *key, SilcUInt32 key_len, * Encodes SSH Public key and returns the encoded buffer. Caller must * free the returned buffer. * + * This encodes SSH2 protocol compliant raw public key. + * * If the `stack' is non-NULL the returned buffer is allocated from the * `stack'. This call will consume `stack' so caller should push the stack * before calling and then later pop it. @@ -211,7 +216,9 @@ unsigned char *silc_ssh_public_key_encode(SilcStack stack, * * DESCRIPTION * - * Frees the public key. + * Frees the public key. This need to be called only if you called + * silc_ssh_public_key_decode. SSH public keys allocated through the + * SILC PKCS API can be freed by calling silc_pkcs_public_key_free. * ***/ void silc_ssh_public_key_free(SilcSshPublicKey public_key);