TuyaOS
结构体 | 类型定义 | 枚举 | 函数
tuya_tls.h 文件参考

Common process - tls include 更多...

#include "tuya_cloud_types.h"
#include "ssl.h"
tuya_tls.h 的引用(Include)关系图:
此图展示该文件直接或间接的被哪些文件引用了:

浏览源代码.

结构体

struct  tuya_tls_cert_perm_t
 

类型定义

typedef VOID(* tuya_tls_event_cb) (TY_TLS_EVENT_E event, VOID *p_args)
 
typedef PVOID_T tuya_tls_hander
 
typedef INT_T(* tuya_tls_recv_cb) (VOID *p_custom_net_ctx, BYTE_T *buf, SIZE_T len)
 
typedef INT_T(* tuya_tls_send_cb) (VOID *p_custom_net_ctx, CONST BYTE_T *buf, SIZE_T len)
 

枚举

enum  TLS_TCP_STAT_E {
  TSS_INIT = 0 , TSS_START , TSS_ACCEPT , TSS_TLS_HAND ,
  TSS_TLS_APP
}
 
enum  TY_TLS_EVENT_E { TY_TLS_CERT_EXPIRED }
 

函数

int __tuya_tls_random (void *p_rng, unsigned char *output, size_t output_len)
 generated random 更多...
 
OPERATE_RET tuya_tls_connect (OUT tuya_tls_hander *p_tls_handler, IN CHAR_T *hostname, IN INT_T port_num, IN INT_T sethostname, IN VOID *p_custom_net_ctx, IN tuya_tls_send_cb send_cb, IN tuya_tls_recv_cb recv_cb, IN INT_T socket_fd, IN INT_T overtime_s)
 tls connect 更多...
 
OPERATE_RET tuya_tls_connect_ap (OUT tuya_tls_hander *p_tls_handler, IN INT_T socket_fd, IN INT_T overtime_s)
 ap netcfg tls connect 更多...
 
OPERATE_RET tuya_tls_disconnect (IN tuya_tls_hander tls_handler)
 generated random 更多...
 
OPERATE_RET tuya_tls_disconnect_ap (IN tuya_tls_hander tls_handler)
 ap netcfg tls disconnect 更多...
 
OPERATE_RET tuya_tls_init (IN tuya_tls_event_cb event_cb)
 tls init 更多...
 
VOID tuya_tls_load_der_info (VOID)
 
int tuya_tls_random (unsigned char *output, size_t output_len)
 Get mbedtls random data in the specified length 更多...
 
int tuya_tls_random_deinit (void)
 mbedtls random de-init, and free mbedtls random ctx 更多...
 
int tuya_tls_random_init (void)
 mbedtls random initialization 更多...
 
INT_T tuya_tls_read (IN tuya_tls_hander tls_handler, BYTE_T *buf, UINT_T len)
 tls read 更多...
 
INT_T tuya_tls_read_ap (IN tuya_tls_hander tls_handler, OUT BYTE_T *buf, OUT UINT_T len)
 ap netcfg tls recieve 更多...
 
VOID tuya_tls_register_constant (IN CHAR_T *p_uuid, IN CHAR_T *p_authkey, IN CHAR_T *p_psk_key)
 tls register 更多...
 
INT_T tuya_tls_register_x509_crt_der (VOID *p_ctx, UCHAR_T *p_der, UINT_T der_len)
 tls register x509 ca 更多...
 
void tuya_tls_set_calloc_and_free (void)
 set tls calloc and free function
 
void tuya_tls_set_client_cert_pkey (CHAR_T *cert, INT_T len, CHAR_T *client_pkey, INT_T pkey_len)
 set pkey 更多...
 
void tuya_tls_set_coustom_cert (CHAR_T *cert, INT_T len)
 set ca 更多...
 
VOID tuya_tls_set_load_cert (BOOL_T load)
 load ca flag 更多...
 
VOID tuya_tls_set_ssl_verify (IN CONST INT_T verify_mode)
 set tls verity 更多...
 
INT_T tuya_tls_write (IN tuya_tls_hander tls_handler, BYTE_T *buf, UINT_T len)
 tls write 更多...
 
INT_T tuya_tls_write_ap (IN tuya_tls_hander tls_handler, IN BYTE_T *buf, IN UINT_T len)
 ap netcfg tls send 更多...
 

详细描述

Common process - tls include

版本
0.1
日期
2019-08-20

函数说明

◆ __tuya_tls_random()

int __tuya_tls_random ( void *  p_rng,
unsigned char *  output,
size_t  output_len 
)

generated random

参数
[in]p_rngno use
[out]outputrandom data
[in]output_lenlength
返回
OPRT_OK on success. Others on error, please refer to tuya_error_code.h

◆ tuya_tls_connect()

OPERATE_RET tuya_tls_connect ( OUT tuya_tls_hander *  p_tls_handler,
IN CHAR_T *  hostname,
IN INT_T  port_num,
IN INT_T  sethostname,
IN VOID *  p_custom_net_ctx,
IN tuya_tls_send_cb  send_cb,
IN tuya_tls_recv_cb  recv_cb,
IN INT_T  socket_fd,
IN INT_T  overtime_s 
)

tls connect

参数
[in]p_tls_handlerrefer to tuya_tls_hander
[in]hostnameurl
[in]port_numport
[in]sethostnameneed set hostname or not
[in]p_custom_net_ctxnet content
[in]send_cbcallback of send
[in]recv_cbcallback of received
[in]socket_fdfd
[in]overtime_sconnect timeout
返回
OPRT_OK on success. Others on error, please refer to tuya_error_code.h

◆ tuya_tls_connect_ap()

OPERATE_RET tuya_tls_connect_ap ( OUT tuya_tls_hander *  p_tls_handler,
IN INT_T  socket_fd,
IN INT_T  overtime_s 
)

ap netcfg tls connect

参数
[out]tls_handlertls_handler refer to tuya_tls_hander
[in]socket_fdtls client socket_fd
[in]overtime_sovertime

◆ tuya_tls_disconnect()

OPERATE_RET tuya_tls_disconnect ( IN tuya_tls_hander  tls_handler)

generated random

参数
[in]tls_handlerrefer to tuya_tls_hander
返回
OPRT_OK on success. Others on error, please refer to tuya_error_code.h

◆ tuya_tls_disconnect_ap()

OPERATE_RET tuya_tls_disconnect_ap ( IN tuya_tls_hander  tls_handler)

ap netcfg tls disconnect

参数
[in]tls_handlertls_handler refer to tuya_tls_hander

◆ tuya_tls_init()

OPERATE_RET tuya_tls_init ( IN tuya_tls_event_cb  event_cb)

tls init

参数
[in]event_cbrefer to tuya_tls_event_cb
返回
OPRT_OK on success. Others on error, please refer to tuya_error_code.h

◆ tuya_tls_random()

int tuya_tls_random ( unsigned char *  output,
size_t  output_len 
)

Get mbedtls random data in the specified length

参数
output
output_len
返回
OPRT_OK on success. Others on error, please refer to tuya_error_code.h

◆ tuya_tls_random_deinit()

int tuya_tls_random_deinit ( void  )

mbedtls random de-init, and free mbedtls random ctx

返回
OPRT_OK on success. Others on error, please refer to tuya_error_code.h

◆ tuya_tls_random_init()

int tuya_tls_random_init ( void  )

mbedtls random initialization

返回
OPRT_OK on success. Others on error, please refer to tuya_error_code.h

◆ tuya_tls_read()

INT_T tuya_tls_read ( IN tuya_tls_hander  tls_handler,
BYTE_T *  buf,
UINT_T  len 
)

tls read

参数
[in]tls_handlerrefer to tuya_tls_hander
[out]bufread data
[in]lenread length
返回
OPRT_OK on success. Others on error, please refer to tuya_error_code.h

◆ tuya_tls_read_ap()

INT_T tuya_tls_read_ap ( IN tuya_tls_hander  tls_handler,
OUT BYTE_T *  buf,
OUT UINT_T  len 
)

ap netcfg tls recieve

参数
[in]tls_handlertls_handler refer to tuya_tls_hander
[out]bufbuf
[out]lenlen

◆ tuya_tls_register_constant()

VOID tuya_tls_register_constant ( IN CHAR_T *  p_uuid,
IN CHAR_T *  p_authkey,
IN CHAR_T *  p_psk_key 
)

tls register

参数
[in]p_uuiduudi
[in]p_authkeyauth key
[in]p_psk_keypsk key

◆ tuya_tls_register_x509_crt_der()

INT_T tuya_tls_register_x509_crt_der ( VOID *  p_ctx,
UCHAR_T *  p_der,
UINT_T  der_len 
)

tls register x509 ca

参数
[in]p_ctxca content
[in]p_derca
[in]der_lenca len
返回
OPRT_OK on success. Others on error, please refer to tuya_error_code.h

◆ tuya_tls_set_client_cert_pkey()

void tuya_tls_set_client_cert_pkey ( CHAR_T *  cert,
INT_T  len,
CHAR_T *  client_pkey,
INT_T  pkey_len 
)

set pkey

参数
[in]certca
[in]lenca length
[in]client_pkeykey
[in]pkey_lenkey length

◆ tuya_tls_set_coustom_cert()

void tuya_tls_set_coustom_cert ( CHAR_T *  cert,
INT_T  len 
)

set ca

参数
[in]certca
[in]lenca length

◆ tuya_tls_set_load_cert()

VOID tuya_tls_set_load_cert ( BOOL_T  load)

load ca flag

参数
[in]loadflag

◆ tuya_tls_set_ssl_verify()

VOID tuya_tls_set_ssl_verify ( IN CONST INT_T  verify_mode)

set tls verity

参数
[in]verify_modeVERIFY_NONE:0,VERIFY_OPTIONAL:1,VERIFY_REQUIRED:2

◆ tuya_tls_write()

INT_T tuya_tls_write ( IN tuya_tls_hander  tls_handler,
BYTE_T *  buf,
UINT_T  len 
)

tls write

参数
[in]tls_handlerrefer to tuya_tls_hander
[in]bufwrite data
[in]lenwrite length
返回
OPRT_OK on success. Others on error, please refer to tuya_error_code.h

◆ tuya_tls_write_ap()

INT_T tuya_tls_write_ap ( IN tuya_tls_hander  tls_handler,
IN BYTE_T *  buf,
IN UINT_T  len 
)

ap netcfg tls send

参数
[in]tls_handlertls_handler refer to tuya_tls_hander
[in]bufbuf
[in]lenlen