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 Math Library
SILC MP Interface
SILC Math Interface
SILC SFTP Library
SILC SFTP Interface
SFTP Filesystems 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 Util Interface
SILC List Interface
SILC Dynamic List Interface
SILC VCard Interface
SILC Application Utilities
SILC Key Exchange Library
SILC SKE Interface
SKE Status Types
SKE Diffie Hellman Groups
SKE Payloads
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
Client Library Interface Reference
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
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