|  | 
| union | M2MB_SSL_CONF_PARAMS | 
|  | 
| struct | M2MB_SSL_OPEN_PARAMS | 
|  | 
| struct | M2MB_SSL_CONFIG_VERIFY_POLICY | 
|  | Structure to specify the certificate verification policy.  More... 
 | 
|  | 
| struct | M2MB_SSL_CONFIG | 
|  | Structure to configure an SSL connection.  More... 
 | 
|  | 
| #define | M2MB_SSL_INVALID_HANDLE   (0) | 
|  | 
| #define | M2MB_SSL_MAX_CIPHER_COUNT   54 | 
|  | 
| #define | M2MB_SSL_MAX_CERT_NAME_LEN   64 | 
|  | 
| #define | M2MB_SSL_MAX_SNI_NAME_LEN   (64) | 
|  | 
| #define | M2MB_SSL_CIPHER_MAX   0x003FFFFFFFFFFFFF | 
|  | 
| #define | M2MB_MAX_CERTS   10 | 
|  | 
| #define | M2MB_SSL_MAX_CA_LIST   10 | 
|  | 
| enum | M2MB_SSL_PROTOCOL_VERSION_E { M2MB_SSL_PROTOCOL_TLS_1_0,
 M2MB_SSL_PROTOCOL_TLS_1_1,
 M2MB_SSL_PROTOCOL_TLS_1_2,
 M2MB_SSL_PROTOCOL_DTLS_1_0,
 M2MB_SSL_PROTOCOL_DTLS_1_2,
 M2MB_SSL_PROTOCOL_VER_MAX
 }
 | 
|  | SSL protocol SET Configuration enumeration.  More... 
 | 
|  | 
| enum | M2MB_SSL_CONF_ID { M2MB_SSL_CONF_INVALID = 0,
 M2MB_SSL_CONF_PROTOCOL = 1,
 M2MB_SSL_CONF_CACERT = 2,
 M2MB_SSL_CONF_CERT = 3,
 M2MB_SSL_CONF_CIPHER = 4,
 M2MB_SSL_CONF_TX_MAX_FRAG_LEN = 5,
 M2MB_SSL_CONF_SNI = 6,
 M2MB_SSL_CONF_DOMAIN = 7,
 M2MB_SSL_CONF_MAX_FRAG_LEN = 8,
 M2MB_SSL_CONF_SERVER_AUTH = 9,
 M2MB_SSL_CONF_TIME_VALIDATE = 10,
 M2MB_SSL_CONF_GET_PEEK = 11,
 M2MB_SSL_CONF_GET_CONN_STATUS = 12,
 M2MB_SSL_CONF_GET_CERT_LOAD_STATUS = 13,
 M2MB_SSL_CONF_GET_CA_CERT_LOAD_STATUS = 14
 }
 | 
|  | 
| enum | M2MB_SSL_CIPHER_SUITE_E { M2MB_TLS_PSK_WITH_RC4_128_SHA,
 M2MB_TLS_PSK_WITH_3DES_EDE_CBC_SHA,
 M2MB_TLS_PSK_WITH_AES_128_CBC_SHA,
 M2MB_TLS_PSK_WITH_AES_256_CBC_SHA,
 M2MB_TLS_PSK_WITH_AES_128_GCM_SHA256,
 M2MB_TLS_PSK_WITH_AES_256_GCM_SHA384,
 M2MB_TLS_PSK_WITH_AES_128_CBC_SHA256,
 M2MB_TLS_PSK_WITH_AES_256_CBC_SHA384,
 M2MB_TLS_RSA_WITH_AES_128_CBC_SHA,
 M2MB_TLS_DHE_RSA_WITH_AES_128_CBC_SHA,
 M2MB_TLS_RSA_WITH_AES_256_CBC_SHA,
 M2MB_TLS_DHE_RSA_WITH_AES_256_CBC_SHA,
 M2MB_TLS_RSA_WITH_AES_128_CBC_SHA256,
 M2MB_TLS_RSA_WITH_AES_256_CBC_SHA256,
 M2MB_TLS_DHE_RSA_WITH_AES_128_CBC_SHA256,
 M2MB_TLS_DHE_RSA_WITH_AES_256_CBC_SHA256,
 M2MB_TLS_RSA_WITH_AES_128_GCM_SHA256,
 M2MB_TLS_RSA_WITH_AES_256_GCM_SHA384,
 M2MB_TLS_DHE_RSA_WITH_AES_128_GCM_SHA256,
 M2MB_TLS_DHE_RSA_WITH_AES_256_GCM_SHA384,
 M2MB_TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA,
 M2MB_TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA,
 M2MB_TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA,
 M2MB_TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA,
 M2MB_TLS_ECDH_RSA_WITH_AES_128_CBC_SHA,
 M2MB_TLS_ECDH_RSA_WITH_AES_256_CBC_SHA,
 M2MB_TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,
 M2MB_TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,
 M2MB_TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256,
 M2MB_TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384,
 M2MB_TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256,
 M2MB_TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384,
 M2MB_TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,
 M2MB_TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,
 M2MB_TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256,
 M2MB_TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384,
 M2MB_TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,
 M2MB_TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,
 M2MB_TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256,
 M2MB_TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384,
 M2MB_TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,
 M2MB_TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,
 M2MB_TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256,
 M2MB_TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384,
 M2MB_TLS_RSA_WITH_AES_128_CCM,
 M2MB_TLS_RSA_WITH_AES_256_CCM,
 M2MB_TLS_DHE_RSA_WITH_AES_128_CCM,
 M2MB_TLS_DHE_RSA_WITH_AES_256_CCM,
 M2MB_TLS_RSA_WITH_AES_128_CCM_8,
 M2MB_TLS_RSA_WITH_AES_256_CCM_8,
 M2MB_TLS_DHE_RSA_WITH_AES_128_CCM_8,
 M2MB_TLS_DHE_RSA_WITH_AES_256_CCM_8,
 M2MB_TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256,
 M2MB_TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256,
 M2MB_TLS_DHE_RSA_WITH_CHACHA20_POLY1305_SHA256
 }
 | 
|  | TLS ciphersuites enum.  More... 
 | 
|  | 
| enum | M2MB_SSL_AUTH_TYPE_E { M2MB_SSL_AUTH_NONE,
 M2MB_SSL_AUTH_REQUIRED,
 M2MB_SSL_AUTH_OPTIONAL
 }
 | 
|  | SSL authentication types enum.  More... 
 | 
|  | 
| enum | M2MB_SSL_SSL_ROLE_E { M2MB_SSL_SSL_ROLE_SERVER_E = 0,
 M2MB_SSL_SSL_ROLE_CLIENT_E = 1
 }
 | 
|  | SSL object role.  More... 
 | 
|  | 
| typedef enum M2MB_SSL_PROTOCOL_VERSION_E | M2MB_SSL_PROTOCOL_VERSION_E | 
|  | SSL protocol SET Configuration enumeration.  More... 
 | 
|  | 
| typedef enum M2MB_SSL_CONF_ID | M2MB_SSL_CONF_ID_E | 
|  | 
| typedef union M2MB_SSL_CONF_PARAMS | M2MB_SSL_CONF_PARAMS_T | 
|  | 
| typedef HANDLE | M2MB_SSL_CTXT_HANDLE | 
|  | SSL context handle. This is obtained from m2mb_ssl_open API and then used in subsequent SSL APIs.  More...
 
 | 
|  | 
| typedef enum M2MB_SSL_CIPHER_SUITE_E | M2MB_SSL_CIPHER_SUITE_E | 
|  | TLS ciphersuites enum.  More... 
 | 
|  | 
| typedef enum M2MB_SSL_AUTH_TYPE_E | M2MB_SSL_AUTH_TYPE_E | 
|  | SSL authentication types enum.  More... 
 | 
|  | 
| typedef enum M2MB_SSL_SSL_ROLE_E | M2MB_SSL_SSL_ROLE_E | 
|  | SSL object role.  More... 
 | 
|  | 
| typedef struct M2MB_SSL_OPEN_PARAMS | M2MB_SSL_OPEN_PARAMS_T | 
|  | 
| typedef struct M2MB_SSL_CONFIG_VERIFY_POLICY | M2MB_SSL_CONFIG_VERIFY_POLICY_T | 
|  | Structure to specify the certificate verification policy.  More... 
 | 
|  | 
| typedef struct M2MB_SSL_CONFIG | M2MB_SSL_CONFIG_T | 
|  | Structure to configure an SSL connection.  More... 
 | 
|  | 
| M2MB_STATUS_T | m2mb_ssl_open (HANDLE *handle, M2MB_SSL_OPEN_PARAMS_T *openParams) | 
|  | Initialize SSL TLS context.  More... 
 | 
|  | 
| M2MB_STATUS_T | m2mb_ssl_set_cfg (HANDLE handle, M2MB_SSL_CONF_ID_E conf_id, M2MB_SSL_CONF_PARAMS_T *conf_params) | 
|  | Set SSL configuration on the previously created SSL context.  More... 
 | 
|  | 
| M2MB_STATUS_T | m2mb_ssl_get_cfg (HANDLE handle, M2MB_SSL_CONF_ID_E conf_id, M2MB_SSL_CONF_PARAMS_T *conf_params) | 
|  | Get SSL configuration on the previously created SSL context.  More... 
 | 
|  | 
| M2MB_STATUS_T | m2mb_ssl_close (HANDLE handle) | 
|  | deletes an m2mb SSL context created during m2mb_ssl_open()  More... 
 | 
|  | 
| M2MB_STATUS_T | m2mb_ssl_connect (HANDLE handle, M2MB_SOCKET_BSD_SOCKET socket_fd) | 
|  | Performs SSL Client connection.  More... 
 | 
|  | 
| INT32 | m2mb_ssl_write (HANDLE handle, void *buf, UINT32 len) | 
|  | Writes data to the SSL connection.  More... 
 | 
|  | 
| INT32 | m2mb_ssl_read (HANDLE handle, void *buf, UINT32 len) | 
|  | Read len bytes from SSL connection into buf.  More... 
 | 
|  | 
| M2MB_STATUS_T | m2mb_ssl_accept (M2MB_SSL_CTXT_HANDLE sslSvrContextHndl, M2MB_SOCKET_BSD_SOCKET socket_fd, M2MB_SSL_CTXT_HANDLE *sslClientCtxHndl) | 
|  | Accepts an incoming SSL connection from the client.  More... 
 | 
|  | 
SSL TLS support. 
epl/inc/nwk/m2mb_ssl.h
SSL/TLS module provides secure connection at L4 layer.
- Note
- Dependencies:
 "#include <m2mb_types.h>" "#include <m2mb_socket.h>" "#include <m2mb_dbg.h>"
- Author
- Ranjita Kumar Mahapatra
- Date
- 15/04/2018 
Definition in file m2mb_ssl.h.