TuyaOS
tuya_cert_manager.h
浏览该文件的文档.
1
11#ifndef __TUYA_CERT_MANAGER_H__
12#define __TUYA_CERT_MANAGER_H__
13
14#ifdef __cplusplus
15extern "C" {
16#endif
17
18#include "tuya_cloud_types.h"
19#include "ty_cJSON.h"
20
24typedef struct {
25 BYTE_T *cert;
26 UINT_T cert_len;
27 BYTE_T *private_key;
28 UINT_T private_key_len;
30
34typedef struct {
35 CHAR_T *psk_key;
36 INT_T psk_key_size;
37 CHAR_T *psk_id;
38 INT_T psk_id_size;
40
48VOID tuya_iot_get_third_cloud_ca(CHAR_T *p_url);
49
58OPERATE_RET tuya_client_cert_write(IN CONST BYTE_T *value, IN CONST UINT_T len);
59
68OPERATE_RET tuya_client_private_key_write(IN CONST BYTE_T *value, IN CONST UINT_T len);
69
76
83
90
98OPERATE_RET httpc_domain_certs_get(OUT ty_cJSON **result, IN CONST CHAR_T *url_msg);
99
109typedef OPERATE_RET(*CERT_PARSE_CB)(VOID_T *ctx, UCHAR_T *cert, UINT_T cert_len);
110
120OPERATE_RET tuya_cert_manager_load(CHAR_T *url, CERT_PARSE_CB cb, VOID_T *p_ctx);
121
129
135
136typedef enum {
137 TY_TLS_CERT_EXPIRED,
138} TY_TLS_EVENT_E;
146typedef VOID (*tuya_tls_event_cb)(TY_TLS_EVENT_E event, VOID *p_args);
147
154
161
165typedef struct {
167 CHAR_T *host;
169 INT_T port;
171 BOOL_T need_ca;
173 BOOL_T need_ip;
175
182
183#ifdef __cplusplus
184}
185#endif
186
187#endif //__TUYA_CERT_MANAGER_H__
Definition of domain's IP and cert structure
Definition: tuya_cert_manager.h:165
CHAR_T * host
Definition: tuya_cert_manager.h:167
BOOL_T need_ca
Definition: tuya_cert_manager.h:171
INT_T port
Definition: tuya_cert_manager.h:169
BOOL_T need_ip
Definition: tuya_cert_manager.h:173
Definition: tuya_cert_manager.h:24
Definition: tuya_cert_manager.h:34
Definition: ty_cJSON.h:104
VOID(* tuya_tls_event_cb)(TY_TLS_EVENT_E event, VOID *p_args)
tls event cb
Definition: tuya_cert_manager.h:146
OPERATE_RET(* CERT_PARSE_CB)(VOID_T *ctx, UCHAR_T *cert, UINT_T cert_len)
cert parse cb
Definition: tuya_cert_manager.h:109
CONST client_cert_info_t * tuya_client_cert_get(void)
get client cert
VOID tuya_cert_manager_deinit()
cert manager deinit
VOID tuya_cert_save_to_kv(ty_cJSON *result)
save cert to kv
OPERATE_RET tuya_cert_manager_init()
cert manager init
OPERATE_RET tuya_client_private_key_write(IN CONST BYTE_T *value, IN CONST UINT_T len)
client private key write
CONST client_psk_info_t * tuya_client_psk_get(VOID)
get client psk
tuya_tls_event_cb tuya_cert_get_tls_event_cb()
get tls event cb
OPERATE_RET tuya_cert_manager_load(CHAR_T *url, CERT_PARSE_CB cb, VOID_T *p_ctx)
cert load
VOID tuya_cert_kv_to_ram(void)
cert resume from kv to ram
OPERATE_RET httpc_domain_certs_get(OUT ty_cJSON **result, IN CONST CHAR_T *url_msg)
cert get accroding one url
OPERATE_RET http_iot_dns_get_root_ca()
get root ca
VOID tuya_iot_get_third_cloud_ca(CHAR_T *p_url)
according url get third cloud ca
OPERATE_RET tuya_client_cert_write(IN CONST BYTE_T *value, IN CONST UINT_T len)
root ca write