SILC Core Library SILC Auth API SILC Channel API SILC Command API SILC ID API SILC ID Cache API SILC Modes SILC Notify API SILC Packet API SILC Argument API SILC Private API SILC Math Library SILC Math API SILC MP API SILC SFTP Library SILC SFTP API SILC SFTP Filesystems SILC Utility Library SILC Buffer API SILC Buffer Format API SILC Buffer Utility API SILC Hash Table API SILC Log and Debug API SILC Memory API SILC Mutex API SILC Thread API SILC Net API SILC Schedule API SILC Socket Connection API SILC Protocol API SILC Util API SILC Zip API SILC List API SILC Dynamic List API SILC Key Exchange Library SILC SKE API SILC SKE Status SILC Client Library SILC Client API SILC Crypto Library SILC Cipher API SILC Hash API SILC HMAC API SILC PKCS API SILC RNG API
Function silc_client_perform_key_agreement SYNOPSIS
        void
        silc_client_perform_key_agreement(SilcClient client,
                                          SilcClientConnection conn,
                                          SilcClientEntry client_entry,
                                          char *hostname,
                                          int port,
                                          SilcKeyAgreementCallback completion,
                                          void *context);
DESCRIPTION
        Performs the actual key agreement protocol. Application may use this
        to initiate the key agreement protocol. This can be called for example
        after the application has received the `key_agreement' client operation,
        and did not return TRUE from it.

        The `hostname' is the remote hostname (or IP address) and the `port'
        is the remote port. The `completion' callback with the `context' will
        be called after the key agreement protocol.
NOTES
        NOTE: If the application returns TRUE in the `key_agreement' client
        operation the library will automatically start the key agreement. In this
        case the application must not call this function. However, application
        may choose to just ignore the `key_agreement' client operation (and
        merely just print information about it on the screen) and call this
        function when the user whishes to do so (by, for example, giving some
        specific command). Thus, the API provides both, automatic and manual
        initiation of the key agreement. Calling this function is the manual
        initiation and returning TRUE in the `key_agreement' client operation
        is the automatic initiation.
>> SilcClientAPI >> SilcKeyAgreementStatus >> SilcKeyAgreementCallback >> SilcPrivateMessageKeys >> SilcAskPassphrase >> SilcVerifyPublicKey >> SilcGetAuthMeth >> SilcClientMessageType >> SilcClientOperations >> SilcNicknameFormatParse >> SilcClientParams >> silc_client_alloc >> silc_client_free >> silc_client_init >> silc_client_run >> silc_client_run_one >> silc_client_stop >> silc_client_connect_to_server >> silc_client_add_connection >> silc_client_del_connection >> silc_client_add_socket >> silc_client_del_socket >> silc_client_start_key_exchange >> silc_client_close_connection >> silc_client_send_channel_message >> silc_client_send_private_message >> SilcGetClientCallback >> silc_client_get_clients >> silc_client_get_clients_local >> silc_client_get_clients_by_list >> silc_client_get_client_by_id >> silc_client_get_client_by_id_resolve >> silc_client_del_client >> SilcGetChannelCallback >> silc_client_get_channel >> silc_client_get_channel_id_resolve >> silc_client_get_channel_by_id_resolve >> silc_client_del_channel >> silc_client_get_server >> silc_client_get_server_by_id >> silc_client_del_server >> silc_client_command_alloc >> silc_client_command_free >> silc_client_command_dup >> silc_client_command_find >> silc_client_command_call >> silc_client_command_send >> silc_client_command_pending >> silc_client_add_private_message_key >> silc_client_add_private_message_key_ske >> silc_client_send_private_message_key >> silc_client_del_private_message_key >> silc_client_list_private_message_keys >> silc_client_free_private_message_keys >> silc_client_add_channel_private_key >> silc_client_del_channel_private_keys >> silc_client_del_channel_private_key >> silc_client_list_channel_private_keys >> silc_client_free_channel_private_keys >> silc_client_send_key_agreement >> silc_client_perform_key_agreement >> silc_client_perform_key_agreement_fd >> silc_client_abort_key_agreement >> silc_client_set_away_message >> SilcConnectionAuthRequest >> silc_client_request_authentication_method >> SilcClientMonitorStatus >> SilcClientFileError >> SilcClientFileMonitor >> silc_client_file_send >> silc_client_file_receive >> silc_client_file_close