Store central secure origin

This commit is contained in:
2024-08-18 17:40:41 +02:00
parent 3867a38ff9
commit 3b6e79e5e4
6 changed files with 80 additions and 23 deletions

View File

@ -9,6 +9,7 @@
#define DEV_NAME_KEY "dev_name"
#define PRIVATE_KEY "prikey"
#define SEC_ORIG_KEY "secureOrig"
static const char *TAG = "storage";
@ -28,25 +29,25 @@ bool storage_init()
return err == ESP_OK;
}
void storage_set_dev_name(const char *name)
static void storage_set_str(const char *key, const char *value)
{
nvs_handle_t my_handle;
ESP_ERROR_CHECK(nvs_open(STORAGE_NAMESPACE, NVS_READWRITE, &my_handle));
ESP_ERROR_CHECK(nvs_set_blob(my_handle, DEV_NAME_KEY, name, strlen(name) + 1));
ESP_ERROR_CHECK(nvs_set_blob(my_handle, key, value, strlen(value) + 1));
nvs_close(my_handle);
}
size_t storage_get_dev_name(char *dest)
static size_t storage_get_str(const char *key, size_t dest_len, char *dest)
{
nvs_handle_t my_handle;
ESP_ERROR_CHECK(nvs_open(STORAGE_NAMESPACE, NVS_READWRITE, &my_handle));
size_t len = (dest == NULL ? 0 : DEV_NAME_LEN);
esp_err_t res = nvs_get_blob(my_handle, DEV_NAME_KEY, dest, &len);
size_t len = (dest == NULL ? 0 : dest_len);
esp_err_t res = nvs_get_blob(my_handle, key, dest, &len);
nvs_close(my_handle);
@ -58,6 +59,16 @@ size_t storage_get_dev_name(char *dest)
return len;
}
void storage_set_dev_name(const char *name)
{
storage_set_str(DEV_NAME_KEY, name);
}
size_t storage_get_dev_name(char *dest)
{
return storage_get_str(DEV_NAME_KEY, DEV_NAME_LEN, dest);
}
void storage_set_priv_key(unsigned char *key, size_t len)
{
nvs_handle_t my_handle;
@ -86,4 +97,8 @@ size_t storage_get_priv_key(unsigned char *key)
ESP_ERROR_CHECK(res);
return len;
}
}
void storage_set_secure_origin(const char *name) { storage_set_str(SEC_ORIG_KEY, name); }
size_t storage_get_secure_origin(char *dest) { return storage_get_str(SEC_ORIG_KEY, SEC_ORIG_LEN, dest); }