|
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.