Documentation
Includes
tuya_cloud_types.h
#include "tuya_cloud_types.h"
Macros
Marco __TUYA_IOT_DEV_CHECK__
#define __TUYA_IOT_DEV_CHECK__
Marco TY_DEV_RANDOM_LENGTH
#define TY_DEV_RANDOM_LENGTH 16
Marco TY_DEV_KEY_LENGTH
#define TY_DEV_KEY_LENGTH 16 //取authkey前16字节
Marco TY_DEV_SHA256_DIGEST_SIZE
#define TY_DEV_SHA256_DIGEST_SIZE 32 //uint8 type 512 = 32*8
Marco TY_DEV_RANDOM_AES_LEN
#define TY_DEV_RANDOM_AES_LEN 32 //16 byte->aes128ecb->32 byte
Marco TY_DEV_SESSION_KEY_LEN
#define TY_DEV_SESSION_KEY_LEN 16
Marco ENCRYPT_AUTHKEY_HMACRA_NAME
#define ENCRYPT_AUTHKEY_HMACRA_NAME "hmacRandomA"
Marco ENCRYPT_AUTHKEY_HMACRB_NAME
#define ENCRYPT_AUTHKEY_HMACRB_NAME "hmacRandomB"
Marco ENCRYPT_AUTHKEY_AESRB_NAME
#define ENCRYPT_AUTHKEY_AESRB_NAME "aesRandomB"
Marco ENCRYPT_AUTHKEY_SESSIONKEY_NAME
#define ENCRYPT_AUTHKEY_SESSIONKEY_NAME "sessionKey"
Marco TY_DEV_IS_INDEPENDENT_NAME
#define TY_DEV_IS_INDEPENDENT_NAME "isIndependent"
Marco TY_DEV_IS_SUB_NAME
#define TY_DEV_IS_SUB_NAME "isSub"
Marco TY_DEV_IS_FAMILY_NAME
#define TY_DEV_IS_FAMILY_NAME "isFamily"
Functions
Func tuya_dev_gen_ra_check
OPERATE_RET tuya_dev_gen_ra_check(OUT BYTE_T RA[TY_DEV_RANDOM_LENGTH],OUT BYTE_T ra_en_hex[TY_DEV_RANDOM_AES_LEN],
OUT BYTE_T ra_uuid_hmac[TY_DEV_SHA256_DIGEST_SIZE], OUT BYTE_T ra_hmac[TY_DEV_SHA256_DIGEST_SIZE]);
Func tuya_dev_http_ra_check_exchange
OPERATE_RET tuya_dev_http_ra_check_exchange(IN CONST CHAR_T* uuid, IN CONST BYTE_T* ra_aes_hex, UINT_T ra_aes_hex_len,
IN CONST BYTE_T* ra_uuid_hmac_hex, UINT_T ra_uuid_hmac_hex_len, OUT BYTE_T* ra_hmac, OUT BYTE_T* rb_aes,
OUT BYTE_T* rb_hmac, OUT BYTE_T* session_key);
Func tuya_dev_rarb_session_key_calc
OPERATE_RET tuya_dev_rarb_session_key_calc(IN CONST BYTE_T* auth_key, IN BYTE_T rb_aes[TY_DEV_RANDOM_AES_LEN],
IN BYTE_T RA[TY_DEV_RANDOM_LENGTH], OUT BYTE_T rb_hmac[TY_DEV_SHA256_DIGEST_SIZE],
OUT BYTE_T session_key[TY_DEV_SESSION_KEY_LEN]);
Func tuya_dev_gen_uuid_hmac
OPERATE_RET tuya_dev_gen_uuid_hmac(OUT BYTE_T uuid_hmac[TY_DEV_SHA256_DIGEST_SIZE]);
Func tuya_dev_http_relation_exchange
OPERATE_RET tuya_dev_http_relation_exchange(IN CONST CHAR_T* uuid, IN CONST BYTE_T* hmacAuthKey_hex, UINT_T hmacAuthKey_hex_len,
OUT INT_T *isIndependent, OUT INT_T *isSub, OUT INT_T *isFamily);
Vars
Consts
Types
Typedefs