C API for BALTECH SDK
security_protocol.h File Reference

Implements the standard security layer. More...

#include "protocol.h"

Go to the source code of this file.

Macros

#define BRP_AES_KEY_SIZE   16
 
#define BRP_AES_BLOCK_SIZE   16
 
#define BRP_MAX_SECURITY_LEVEL   3
 
BRP_SECMODE_ Security Modes

BRP_SECMODE_* specifies the level of security that shall be applied when establishing a secure channel.

Internally this bitmask is translated to the authmode bitmask.

Security Modes

#define BRP_SECMODE_STD   0
 This is the recommended setting as it provides ideal security. More...
 
#define BRP_SECMODE_PLAIN   1
 Same as BRP_SECMODE_STD, except that encryption is disabled. More...
 
#define BRP_SECMODE_STATELESS   2
 Allows secured communication without session handling. More...
 

Typedefs

typedef unsigned char brp_sec_key[BRP_AES_KEY_SIZE]
 A AES128 key, that is required for crypto operations. More...
 
typedef unsigned char brp_sec_iv[BRP_AES_BLOCK_SIZE]
 A AES IV. More...
 

Functions

BRP_LIB brp_protocol brp_create_secure_channel (int security_level, brp_sec_key key, int sec_mode)
 Creates a new secured channel that allows you to establish an authenticated and encrypted connection over an insecure BRP channel. More...
 
BRP_LIB brp_errcode brp_mutual_authenticate (brp_protocol protocol, int security_level, brp_sec_key key, int *req_auth_modes, brp_sec_key session_key)
 Does a mutual authentication and generates a session key. More...
 
BRP_LIB brp_errcode brp_secured_send_frm (brp_protocol protocol, int security_level, int sec_mode, brp_sec_key key, brp_sec_iv iv, int cmd_code, brp_buf param_buf, size_t param_len, brp_time cmd_timeout, int mode)
 Sends an encrypted command. More...
 
BRP_LIB brp_errcode brp_secured_recv_frm (brp_protocol protocol, int sec_mode, brp_sec_key key, brp_sec_iv iv, int cmd_code, brp_frame resp_frm, brp_time timeout)
 Sends an encrypted command. More...
 

Detailed Description

Implements the standard security layer.

Definition in file security_protocol.h.