Write private key

This commit is contained in:
2024-08-15 13:09:01 +02:00
parent 402edb44d5
commit 752bf50ad3
5 changed files with 69 additions and 9 deletions

@ -7,6 +7,7 @@
#define STORAGE_NAMESPACE "storage"
#define DEV_NAME_KEY "dev_name"
#define PRIVATE_KEY "prikey"
bool storage_init()
{
@ -51,5 +52,35 @@ size_t storage_get_dev_name(char *dest)
ESP_ERROR_CHECK(res);
return len;
}
void storage_set_priv_key(unsigned char *key, size_t len)
{
nvs_handle_t my_handle;
ESP_ERROR_CHECK(nvs_open(STORAGE_NAMESPACE, NVS_READWRITE, &my_handle));
ESP_ERROR_CHECK(nvs_set_blob(my_handle, PRIVATE_KEY, key, len));
nvs_close(my_handle);
}
size_t storage_get_priv_key(unsigned char *key)
{
nvs_handle_t my_handle;
ESP_ERROR_CHECK(nvs_open(STORAGE_NAMESPACE, NVS_READWRITE, &my_handle));
size_t len = (key == NULL ? 0 : PRV_KEY_DER_MAX_BYTES);
esp_err_t res = nvs_get_blob(my_handle, PRIVATE_KEY, key, &len);
nvs_close(my_handle);
if (res == ESP_ERR_NVS_NOT_FOUND || len == 0)
return 0;
ESP_ERROR_CHECK(res);
return len;
}