Copyright © 2001 - 2005 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 Stringprep Interface
    SILC Util Interface
    SILC List Interface
    SILC Dynamic List Interface
    SILC VCard Interface
    SILC Application Utilities
    SILC MIME Interface
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_message_payload_parse

SYNOPSIS

    SilcMessagePayload 
    silc_message_payload_parse(unsigned char *payload,
                               SilcUInt32 payload_len,
                               bool private_message,
                               bool static_key,
                               SilcCipher cipher,
                               SilcHmac hmac);

DESCRIPTION

    Parses Message Payload returning new payload structure.  This also
    decrypts the payload and checks the MAC.  If the payload is
    channel message then `private_message' is FALSE, and if it is
    private message it is TRUE.  If the private message key is static
    (pre-shared key) then protocol dictates that the IV is present
    and `static_key' must be set to TRUE.  If the key is not static
    (Key Agreement was done for the key) then it MUST be FALSE.  For
    channel messages the `static_key' is ignored.

    If the `hmac' is no provided then the MAC of the channel message is
    not verified.  If the message is private message and `cipher' is NULL
    then this assumes that the packet was decrypted with session keys
    (no private message key) and this merely decodes the payload.






SILC Message Interface
SilcMessagePayload
SilcMessageSignedPayload
SilcMessageFlags
silc_message_payload_decrypt
silc_message_payload_parse
silc_message_payload_encrypt
silc_message_payload_encode
silc_message_payload_free
silc_message_get_flags
silc_message_get_data
silc_message_get_mac
silc_message_get_iv
silc_message_get_signature
silc_message_signed_payload_parse
silc_message_signed_payload_encode
silc_message_signed_payload_free
silc_message_signed_verify
silc_message_signed_get_public_key




Copyright © 2001 - 2005 SILC Project
SILC Project Website
SILC Toolkit Reference Manual
Index