libcoap
4.3.0rc1
|
Go to the source code of this file.
Data Structures | |
struct | coap_tls_version_t |
The structure used for returning the underlying (D)TLS library information. More... | |
struct | coap_pki_key_pem_t |
The structure that holds the PKI PEM definitions. More... | |
struct | coap_pki_key_pem_buf_t |
The structure that holds the PKI PEM buffer definitions. More... | |
struct | coap_pki_key_asn1_t |
The structure that holds the PKI ASN.1 (DER) definitions. More... | |
struct | coap_pki_key_pkcs11_t |
The structure that holds the PKI PKCS11 definitions. More... | |
struct | coap_dtls_key_t |
The structure that holds the PKI key information. More... | |
struct | coap_dtls_pki_t |
The structure used for defining the PKI setup data to be used. More... | |
struct | coap_dtls_cpsk_info_t |
The structure that holds the Client PSK information. More... | |
struct | coap_dtls_cpsk_t |
The structure used for defining the Client PSK setup data to be used. More... | |
struct | coap_dtls_spsk_info_t |
The structure that holds the Server Pre-Shared Key and Identity Hint information. More... | |
struct | coap_dtls_spsk_t |
The structure used for defining the Server PSK setup data to be used. More... | |
Macros | |
#define | COAP_DTLS_HINT_LENGTH 128 |
#define | COAP_DTLS_RETRANSMIT_MS 1000 |
#define | COAP_DTLS_RETRANSMIT_TOTAL_MS 60000 |
#define | COAP_DTLS_RETRANSMIT_COAP_TICKS (COAP_DTLS_RETRANSMIT_MS * COAP_TICKS_PER_SECOND / 1000) |
#define | COAP_DTLS_RPK_CERT_CN "RPK" |
#define | COAP_DTLS_PKI_SETUP_VERSION 1 |
Latest PKI setup version. More... | |
#define | COAP_DTLS_CPSK_SETUP_VERSION 1 |
Latest CPSK setup version. More... | |
#define | COAP_DTLS_SPSK_SETUP_VERSION 1 |
Latest SPSK setup version. More... | |
Typedefs | |
typedef enum coap_tls_library_t | coap_tls_library_t |
typedef struct coap_tls_version_t | coap_tls_version_t |
The structure used for returning the underlying (D)TLS library information. More... | |
typedef int(* | coap_dtls_security_setup_t) (void *tls_session, struct coap_dtls_pki_t *setup_data) |
Additional Security setup handler that can be set up by coap_context_set_pki(). More... | |
typedef int(* | coap_dtls_cn_callback_t) (const char *cn, const uint8_t *asn1_public_cert, size_t asn1_length, struct coap_session_t *coap_session, unsigned int depth, int validated, void *arg) |
CN Validation callback that can be set up by coap_context_set_pki(). More... | |
typedef enum coap_asn1_privatekey_type_t | coap_asn1_privatekey_type_t |
The enum used for determining the provided PKI ASN.1 (DER) Private Key formats. More... | |
typedef enum coap_pki_key_t | coap_pki_key_t |
The enum used for determining the PKI key formats. More... | |
typedef struct coap_pki_key_pem_t | coap_pki_key_pem_t |
The structure that holds the PKI PEM definitions. More... | |
typedef struct coap_pki_key_pem_buf_t | coap_pki_key_pem_buf_t |
The structure that holds the PKI PEM buffer definitions. More... | |
typedef struct coap_pki_key_asn1_t | coap_pki_key_asn1_t |
The structure that holds the PKI ASN.1 (DER) definitions. More... | |
typedef struct coap_pki_key_pkcs11_t | coap_pki_key_pkcs11_t |
The structure that holds the PKI PKCS11 definitions. More... | |
typedef struct coap_dtls_key_t | coap_dtls_key_t |
The structure that holds the PKI key information. More... | |
typedef coap_dtls_key_t *(* | coap_dtls_pki_sni_callback_t) (const char *sni, void *arg) |
Server Name Indication (SNI) Validation callback that can be set up by coap_context_set_pki(). More... | |
typedef struct coap_dtls_pki_t | coap_dtls_pki_t |
The structure used for defining the PKI setup data to be used. More... | |
typedef struct coap_dtls_cpsk_info_t | coap_dtls_cpsk_info_t |
The structure that holds the Client PSK information. More... | |
typedef const coap_dtls_cpsk_info_t *(* | coap_dtls_ih_callback_t) (struct coap_str_const_t *hint, struct coap_session_t *coap_session, void *arg) |
Identity Hint Validation callback that can be set up by coap_new_client_session_psk2(). More... | |
typedef struct coap_dtls_cpsk_t | coap_dtls_cpsk_t |
The structure used for defining the Client PSK setup data to be used. More... | |
typedef struct coap_dtls_spsk_info_t | coap_dtls_spsk_info_t |
The structure that holds the Server Pre-Shared Key and Identity Hint information. More... | |
typedef const coap_bin_const_t *(* | coap_dtls_id_callback_t) (struct coap_bin_const_t *identity, struct coap_session_t *coap_session, void *arg) |
Identity Validation callback that can be set up by coap_context_set_psk2(). More... | |
typedef const coap_dtls_spsk_info_t *(* | coap_dtls_psk_sni_callback_t) (const char *sni, struct coap_session_t *coap_session, void *arg) |
PSK SNI callback that can be set up by coap_context_set_psk2(). More... | |
typedef struct coap_dtls_spsk_t | coap_dtls_spsk_t |
The structure used for defining the Server PSK setup data to be used. More... | |
typedef enum coap_dtls_role_t | coap_dtls_role_t |
Enumerations | |
enum | coap_tls_library_t { COAP_TLS_LIBRARY_NOTLS = 0 , COAP_TLS_LIBRARY_TINYDTLS , COAP_TLS_LIBRARY_OPENSSL , COAP_TLS_LIBRARY_GNUTLS , COAP_TLS_LIBRARY_MBEDTLS } |
enum | coap_asn1_privatekey_type_t { COAP_ASN1_PKEY_NONE , COAP_ASN1_PKEY_RSA , COAP_ASN1_PKEY_RSA2 , COAP_ASN1_PKEY_DSA , COAP_ASN1_PKEY_DSA1 , COAP_ASN1_PKEY_DSA2 , COAP_ASN1_PKEY_DSA3 , COAP_ASN1_PKEY_DSA4 , COAP_ASN1_PKEY_DH , COAP_ASN1_PKEY_DHX , COAP_ASN1_PKEY_EC , COAP_ASN1_PKEY_HMAC , COAP_ASN1_PKEY_CMAC , COAP_ASN1_PKEY_TLS1_PRF , COAP_ASN1_PKEY_HKDF } |
The enum used for determining the provided PKI ASN.1 (DER) Private Key formats. More... | |
enum | coap_pki_key_t { COAP_PKI_KEY_PEM = 0 , COAP_PKI_KEY_ASN1 , COAP_PKI_KEY_PEM_BUF , COAP_PKI_KEY_PKCS11 } |
The enum used for determining the PKI key formats. More... | |
enum | coap_dtls_role_t { COAP_DTLS_ROLE_CLIENT , COAP_DTLS_ROLE_SERVER } |
Functions | |
int | coap_dtls_is_supported (void) |
Check whether DTLS is available. More... | |
int | coap_tls_is_supported (void) |
Check whether TLS is available. More... | |
coap_tls_version_t * | coap_get_tls_library_version (void) |
Determine the type and version of the underlying (D)TLS library. More... | |
void * | coap_dtls_new_context (struct coap_context_t *coap_context) |
Creates a new DTLS context for the given coap_context . More... | |
int | coap_dtls_context_set_spsk (struct coap_context_t *coap_context, coap_dtls_spsk_t *setup_data) |
Set the DTLS context's default server PSK information. More... | |
int | coap_dtls_context_set_cpsk (struct coap_context_t *coap_context, coap_dtls_cpsk_t *setup_data) |
Set the DTLS context's default client PSK information. More... | |
int | coap_dtls_context_set_pki (struct coap_context_t *coap_context, const coap_dtls_pki_t *setup_data, const coap_dtls_role_t role) |
Set the DTLS context's default server PKI information. More... | |
int | coap_dtls_context_set_pki_root_cas (struct coap_context_t *coap_context, const char *ca_file, const char *ca_dir) |
Set the dtls context's default Root CA information for a client or server. More... | |
int | coap_dtls_context_check_keys_enabled (struct coap_context_t *coap_context) |
Check whether one of the coap_dtls_context_set_{psk|pki}() functions have been called. More... | |
void | coap_dtls_free_context (void *dtls_context) |
Releases the storage allocated for dtls_context . More... | |
void * | coap_dtls_new_client_session (struct coap_session_t *coap_session) |
Create a new client-side session. More... | |
void * | coap_dtls_new_server_session (struct coap_session_t *coap_session) |
Create a new DTLS server-side session. More... | |
void | coap_dtls_free_session (struct coap_session_t *coap_session) |
Terminates the DTLS session (may send an ALERT if necessary) then frees the underlying TLS library object containing security parameters for the session. More... | |
void | coap_dtls_session_update_mtu (struct coap_session_t *coap_session) |
Notify of a change in the CoAP session's MTU, for example after a PMTU update. More... | |
int | coap_dtls_send (struct coap_session_t *coap_session, const uint8_t *data, size_t data_len) |
Send data to a DTLS peer. More... | |
int | coap_dtls_is_context_timeout (void) |
Check if timeout is handled per CoAP session or per CoAP context. More... | |
coap_tick_t | coap_dtls_get_context_timeout (void *dtls_context) |
Do all pending retransmits and get next timeout. More... | |
coap_tick_t | coap_dtls_get_timeout (struct coap_session_t *coap_session, coap_tick_t now) |
Get next timeout for this session. More... | |
void | coap_dtls_handle_timeout (struct coap_session_t *coap_session) |
Handle a DTLS timeout expiration. More... | |
int | coap_dtls_receive (struct coap_session_t *coap_session, const uint8_t *data, size_t data_len) |
Handling incoming data from a DTLS peer. More... | |
int | coap_dtls_hello (struct coap_session_t *coap_session, const uint8_t *data, size_t data_len) |
Handling client HELLO messages from a new candiate peer. More... | |
unsigned int | coap_dtls_get_overhead (struct coap_session_t *coap_session) |
Get DTLS overhead over cleartext PDUs. More... | |
void * | coap_tls_new_client_session (struct coap_session_t *coap_session, int *connected) |
Create a new TLS client-side session. More... | |
void * | coap_tls_new_server_session (struct coap_session_t *coap_session, int *connected) |
Create a TLS new server-side session. More... | |
void | coap_tls_free_session (struct coap_session_t *coap_session) |
Terminates the TLS session (may send an ALERT if necessary) then frees the underlying TLS library object containing security parameters for the session. More... | |
ssize_t | coap_tls_write (struct coap_session_t *coap_session, const uint8_t *data, size_t data_len) |
Send data to a TLS peer, with implicit flush. More... | |
ssize_t | coap_tls_read (struct coap_session_t *coap_session, uint8_t *data, size_t data_len) |
Read some data from a TLS peer. More... | |
void | coap_dtls_startup (void) |
Initialize the underlying (D)TLS Library layer. More... | |
void | coap_dtls_shutdown (void) |
Close down the underlying (D)TLS Library layer. More... | |
void | coap_dtls_set_log_level (int level) |
Sets the (D)TLS logging level to the specified level . More... | |
int | coap_dtls_get_log_level (void) |
Get the current (D)TLS logging. More... | |