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

SILC Toolkit Reference Manual SILC VCard Library SILC VCard Interface 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 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 Math Library SILC MP Interface SILC Math Interface SILC Application Utility Library SILC Application Utilities SILC ID Cache Interface SILC Key Repository Library SILC SKR Interface SILC ASN.1 Library SILC ASN.1 Interface SILC BER interface SILC Key Exchange Library SILC SKE Interface SILC Connection Authentication Interface SILC SFTP Library SILC SFTP Interface SFTP Filesystems 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 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 HTTP Library SILC HTTP Server Interface SILC HTTP PHP Translator Resource Links SILC Project Website SILC Protocol Documentation SILC White Paper SILC FAQs
Function silc_ske_alloc SYNOPSIS
        SilcSKE silc_ske_alloc(SilcRng rng, SilcSchedule schedule,
                               SilcSKR repository, SilcPublicKey public_key,
                               SilcPrivateKey private_key, void *context);
DESCRIPTION
        Allocates the SKE session context and returns it.  The `rng' is
        the random number generator the SKE is going to use when it needs
        random number generation during the SKE session.  The `context' is
        user context that the libary will not touch.  Application can get the
        context by calling the fuction silc_ske_get_context function.  The
        application is responsible of freeing the `context'.  After the
        SKE session context is allocated application must call the
        silc_ske_set_callbacks.

        If the `repository' is non-NULL then the remote's public key will be
        verified from the repository.  If it is not provided then the
        SilcSKEVerifyCb callback must be set, and it will be called to
        verify the key.  If both `repository' and the callback is provided the
        callback is called only if the key is not found from the repository.

        The `public_key' and `private_key' is the caller's identity used
        during the key exchange.  Giving `private_key' is optional if the
        SILC_SKE_SP_FLAG_MUTUAL is not set and you are initiator.  For
        responder both `public_key' and `private_key' must be set.

        When allocating SKE session for rekey, the `repository' and `private_key'
        pointers must be NULL and the SilcSKEVerifyCb callback must not be
        set with silc_ske_set_callbacks.

     EXMPALE

        // Initiator example
        params.version = version;
        params.flags = SILC_SKE_SP_FLAG_PFS | SILC_SKE_SP_FLAG_MUTUAL;
        ske = silc_ske_alloc(rng, scheduler, NULL, pk, prv, app);
        silc_ske_set_callbacks(ske, verify_public_key, completion, app);
        silc_ske_initiator(ske, stream, &params, NULL);
SILC SKE Interface SilcSKEStatus SilcSKESecurityPropertyFlag SilcSKESecurityProperties SilcSKEKeyMaterial SilcSKERekeyMaterial SilcSKEParams SilcSKEPKType SilcSKEVerifyCbCompletion SilcSKEVerifyCb SilcSKECompletionCb silc_ske_alloc silc_ske_free silc_ske_get_context silc_ske_set_callbacks silc_ske_initiator silc_ske_responder silc_ske_rekey_initiator silc_ske_rekey_responder silc_ske_set_keys silc_ske_parse_version silc_ske_get_security_properties silc_ske_get_key_material silc_ske_process_key_material_data silc_ske_free_key_material silc_ske_free_rekey_material silc_ske_map_status

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