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 Payload 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_add_private_message_key SYNOPSIS
        int silc_client_add_private_message_key(SilcClient client,
                                                SilcClientConnection conn,
                                                SilcClientEntry client_entry,
                                                char *cipher,
                                                unsigned char *key,
                                                uint32 key_len,
                                                bool generate_key,
                                                bool responder);
DESCRIPTION
        Adds private message key to the client library. The key will be used to
        encrypt all private message between the client and the remote client
        indicated by the `client_entry'. If the `key' is NULL and the boolean
        value `generate_key' is TRUE the library will generate random key.
        The `key' maybe for example pre-shared-key, passphrase or similar.
        The `cipher' MAY be provided but SHOULD be NULL to assure that the
        requirements of the SILC protocol are met. The API, however, allows
        to allocate any cipher.

        If `responder' is TRUE then the sending and receiving keys will be
        set according the client being the receiver of the private key.  If
        FALSE the client is being the sender (or negotiator) of the private
        key.

        It is not necessary to set key for normal private message usage. If the
        key is not set then the private messages are encrypted using normal
        session keys. Setting the private key, however, increases the security.

        Returns FALSE if the key is already set for the `client_entry', TRUE
        otherwise.
>> 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_send_command >> SilcClientPendingDestructor >> 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 >> silc_client_file_receive(1) >> silc_client_file_send >> silc_client_file_receive >> silc_client_file_close