Copyright © 2001 - 2007 SILC Project SILC Project Website | SILC Toolkit Reference Manual Index

SILC Toolkit Reference Manual SILC Crypto Library Introduction to SILC RNG SILC RNG Interface SILC Cipher API SILC PKCS API SILC Public Key API SILC PKCS #1 API SILC Hash Interface SILC HMAC Interface SILC Core Library SILC Authentication Interface SILC Message Interface SILC Channel Interface SILC Command Interface SILC Notify Interface SILC Status Types SILC Modes SILC ID Interface SILC Argument Interface SILC Attributes Interface Packet Engine Interface SILC Public Key Payload Interface SILC Key Exchange Library SILC SKE Interface SILC Connection Authentication Interface SILC VCard Library SILC VCard Interface SILC Math Library SILC MP Interface SILC Math Interface SILC Client Library Using SILC Client Library Tutorial Arguments for command_reply Client Operation SilcStatus Error Arguments in command_reply Client Operation Arguments for notify Client Operation Unicode and UTF-8 Strings in Client Library Client Library Interface Reference Client Entry Interface Reference SILC ASN.1 Library SILC ASN.1 Interface SILC BER interface SILC HTTP Library SILC HTTP Server Interface SILC HTTP PHP Translator SILC Utility Library Basic Types and Definitions Data Buffer Interface Data Buffer Format Interface Hash Table Interface Memory Allocation Interface Data Stack (memory pool) Interface Finite State Machine Interface Thread Interface Mutual Exclusion Lock Interface Condition Variable Interface Atomic Operations Interface Network (TCP and UDP) Interface Scheduler Interface Asynchronous Operation Interface Abstract Stream Interface Socket Stream Interface File Descriptor Stream Interface File Utility Functions String Utility Interface Snprintf Interface UTF-8 String Interface Stringprep Interface Utility Functions List Interface Dynamic List Interface MIME Interface Time Utility Functions Logging Interface Config File Interface SILC Key Repository Library SILC SKR Interface SILC Application Utility Library SILC Application Utilities SILC ID Cache Interface SILC SFTP Library SILC SFTP Interface SFTP Filesystems Interface Resource Links SILC Project Website SILC Protocol Documentation SILC White Paper SILC FAQs
Function silc_skr_add_public_key SYNOPSIS
        SilcSKRStatus silc_skr_add_public_key(SilcSKR skr,
                                              SilcPublicKey public_key,
                                              SilcSKRKeyUsage usage,
                                              void *key_context,
                                              SilcSKRKey *return_key);
DESCRIPTION
        Add a public key to repository.  The repository will steal `public_key'
        and caller must not free it.  The `key_context' is optional key specific
        context that will be saved in the repository with the key, and can be
        retrieved with the key.  Public key can be added only once to the
        repository.  To add same key more than once to repository different
        `key_context' must be used each time.

        Returns an entry of the added public key in the repository to the
        `return_key' pointer, if it is non-NULL.  The returned entry remains
        valid as long as the public key is in the repository, however a
        reference may be taken with silc_skr_ref_public_key to assure the
        entry remains valid.

        Returns SILC_SKR_OK if the key was added successfully, and error
        status if key could not be added, or has been added already.
EXAMPLE
        // Add a key to repository
        if (silc_skr_add_public_key(repository, pubkey, SILC_SKR_USAGE_ANY,
                                    NULL, NULL) != SILC_SKR_OK)
          goto error;
SILC Key Repository SilcSKR SilcSKRFind SilcSKRKeyUsage SilcSKRKey SilcSKRStatus SilcSKRFindCallback silc_skr_alloc silc_skr_free silc_skr_init silc_skr_uninit silc_skr_add_public_key silc_skr_add_public_key_simple silc_skr_del_public_key silc_skr_ref_public_key silc_skr_unref_public_key silc_skr_find_alloc silc_skr_find_free silc_skr_find_add_pkcs_type silc_skr_find_set_username silc_skr_find_set_host silc_skr_find_set_realname silc_skr_find_set_email silc_skr_find_set_org silc_skr_find_set_country silc_skr_find_set_public_key silc_skr_find_set_context silc_skr_find_set_usage silc_skr_find

Copyright © 2001 - 2007 SILC Project SILC Project Website | SILC Toolkit Reference Manual Index