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_channel_message_payload_decrypt SYNOPSIS
        int silc_channel_message_payload_decrypt(unsigned char *data,
                                                 size_t data_len,
                                                 SilcCipher cipher,
                                                 SilcHmac hmac);
DESCRIPTION
        Decrypt the channel message. First push the IV out of the packet `data'.
        The IV is used in the decryption process. Then decrypt the message.
        After decryption, take the MAC from the decrypted packet, compute MAC
        and compare the MACs.  If they match, the decryption was successful
        and we have the channel message ready to be displayed.

        This is usually used by the Channel Message interface itself but can
        be called by the appliation if separate decryption process is required.
        For example server might need to call this directly in some
        circumstances. The `cipher' is used to decrypt the payload.

        If the `hmac' is no provided then the MAC of the channel message is
        not verified.
>> SilcChannelAPI >> SilcChannelPayload >> SilcChannelMessagePayload >> SilcChannelKeyPayload >> SilcMessageFlags >> silc_channel_payload_parse >> silc_channel_payload_parse_list >> silc_channel_payload_encode >> silc_channel_payload_free >> silc_channel_payload_list_free >> silc_channel_get_name >> silc_channel_get_id >> silc_channel_get_id_parse >> silc_channel_get_mode >> silc_channel_message_payload_decrypt >> silc_channel_message_payload_parse >> silc_channel_message_payload_encode >> silc_channel_message_payload_free >> silc_channel_message_get_flags >> silc_channel_message_get_data >> silc_channel_message_get_mac >> silc_channel_message_get_iv >> silc_channel_key_payload_parse >> silc_channel_key_payload_encode >> silc_channel_key_payload_free >> silc_channel_key_get_id >> silc_channel_key_get_cipher >> silc_channel_key_get_key