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

SILC Toolkit Reference Manual 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 ID Cache Interface SILC Argument Interface SILC Attributes Interface Packet Protocol Interface SILC Utility Library Basic SILC Types SILC Buffer Interface SILC Buffer Format Interface SILC Hash Table Interface SILC Logging Interface SILC Memory Interface SILC Mutex Interface SILC Thread Interface SILC Network Interface SILC Schedule Interface SILC Socket Interface SILC Protocol Interface SILC Config Interface SILC File Util Interface SILC String Util Interface SILC UTF-8 Interface SILC Util Interface SILC List Interface SILC Dynamic List Interface SILC VCard Interface SILC Application Utilities SILC Crypto Library Introduction to SILC RNG SILC RNG Interface SILC Cipher API SILC PKCS API SILC PKCS#1 API SILC Hash Interface SILC HMAC Interface SILC SFTP Library SILC SFTP Interface SFTP Filesystems 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 SILC Key Exchange Library SILC SKE Interface SKE Status Types SKE Diffie Hellman Groups SKE Payloads SILC Math Library SILC MP Interface SILC Math Interface Resource Links SILC Project Website SILC Protocol Documentation SILC White Paper SILC FAQs
Function silc_ske_set_callbacks SYNOPSIS
        void silc_ske_set_callbacks(SilcSKE ske,
                                    SilcSKESendPacketCb send_packet,
                                    SilcSKECb payload_receive,
                                    SilcSKEVerifyCb verify_key,
                                    SilcSKECb proto_continue,
                                    SilcSKECheckVersion check_version,
                                    void *context);
DESCRIPTION
        Sets the callback functions for the SKE session.

        The `send_packet' callback is a function that sends the packet to
        network. The SKE library will call it at any time packet needs to
        be sent to the remote host.

        The `payload_receive' callback is called when the remote host's Key
        Exchange Start Payload has been processed.  The payload is saved
        to ske->start_payload if the application would need it.  The application
        must also provide the payload to the next state of the SKE.

        The `verify_key' callback is called to verify the received public key
        or certificate.  The verification process is most likely asynchronous.
        That is why the application must call the completion callback when the
        verification process has been completed. The library then calls the user
        callback (`proto_continue'), if it is provided to indicate that the SKE
        protocol may continue. If this SKE session context is used to perform
        rekey, this callback usually is not provided as argument since sending
        public key in rekey is not mandatory. Setting this callback implies
        that remote end MUST send its public key, and this could cause
        problems when performing rekey. When doing normal SKE session this
        callback should be set.

        The `proto_continue' callback is called to indicate that it is
        safe to continue the execution of the SKE protocol after executing
        an asynchronous operation, such as calling the `verify_key' callback
        function, which is asynchronous. The application should check the
        ske->status in this function to check whether it is Ok to continue
        the execution of the protocol.

        The `check_version' callback is called to verify the remote host's
        version. The application may check its own version against the remote
        host's version and determine whether supporting the remote host
        is possible.

        The `context' is passed as argument to all of the above callback
        functions.
SILC SKE Interface SilcSKE SilcSKESecurityProperties SilcSKEPKType SilcSKESendPacketCb SilcSKECb SilcSKEVerifyCbCompletion SilcSKEVerifyCb SilcSKECheckVersion SilcSKEKeyMaterial SilcSKESecurityPropertyFlag SilcSKESecurityPropertiesStruct SilcSKEStruct silc_ske_alloc silc_ske_free silc_ske_set_callbacks silc_ske_initiator_start silc_ske_initiator_phase_1 silc_ske_initiator_phase_2 silc_ske_initiator_finish silc_ske_responder_start silc_ske_responder_phase_1 silc_ske_responder_phase_2 silc_ske_responder_finish silc_ske_end silc_ske_abort silc_ske_assemble_security_properties silc_ske_select_security_properties silc_ske_process_key_material silc_ske_process_key_material_data silc_ske_free_key_material silc_ske_parse_version

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