SDK สำหรับ TESAIoT Dev Kit
คู่มืออ้างอิง API และ Tutorial (ModusToolbox)
Loading...
Searching...
No Matches
bento_devmode.h File Reference
#include <stdbool.h>
#include <stddef.h>
#include <stdint.h>

Go to the source code of this file.

Macros

#define BENTO_DEVMODE_NONCE_LEN   (16u)
#define BENTO_DEVMODE_SECRET_LEN   (32u)
#define BENTO_DEVMODE_HMAC_LEN   (32u)
#define BENTO_DEVMODE_NONCE_TTL_MS   (60000u)

Functions

void bento_devmode_init (void)
 เป็น idempotent สร้าง secret ขนาด 32 ไบต์ใน RAM จุดเข้าสาธารณะของ devmode ทุกจุดเรียกฟังก์ชันนี้เอง
void bento_devmode_nonce_issue (uint8_t nonce_out[BENTO_DEVMODE_NONCE_LEN])
 เติม nonce ใหม่ขนาด 16 ไบต์ ทับตัวที่ค้างอยู่ทิ้ง และเริ่มนับนาฬิกา TTL
bool bento_devmode_unlock (const char *hmac_hex, size_t hmac_hex_len)
 ตรวจสอบ HMAC เทียบกับ nonce ที่ค้างอยู่ และทำให้ nonce ใช้ไม่ได้อีกทุกครั้งที่ถูกเรียก (ใช้ได้ครั้งเดียว)
void bento_devmode_lock (void)
 ล้าง flag ปลดล็อก
bool bento_devmode_is_unlocked (void)
 บอกว่า verb ที่มีสิทธิ์พิเศษ (bento.exec) ได้รับอนุญาตอยู่ในขณะนั้นหรือไม่
size_t bento_devmode_secret_hex (char *out, size_t out_sz)
 secret ในรูป hex 64 อักขระ + NUL หรือคืน 0 เมื่อบัฟเฟอร์เล็กเกินไป ห้ามพิมพ์ค่านี้ลง UART
void bento_devmode_emit_provision (void)
 ส่ง event provision หนึ่งครั้งต่อการบูตหนึ่งรอบ ตอนเปลี่ยนสถานะเป็น CONNECTED การส่งที่ล้มเหลวจะลองใหม่
size_t bento_devmode_secret_fp_hex (char *out, size_t out_sz)
 4 ไบต์แรกของ SHA-256(secret) ในรูป hex 8 อักขระ + NUL — พิมพ์ออกได้อย่างปลอดภัย

Macro Definition Documentation

◆ BENTO_DEVMODE_NONCE_LEN

#define BENTO_DEVMODE_NONCE_LEN   (16u)

◆ BENTO_DEVMODE_SECRET_LEN

#define BENTO_DEVMODE_SECRET_LEN   (32u)

◆ BENTO_DEVMODE_HMAC_LEN

#define BENTO_DEVMODE_HMAC_LEN   (32u)

◆ BENTO_DEVMODE_NONCE_TTL_MS

#define BENTO_DEVMODE_NONCE_TTL_MS   (60000u)