WIP enroll device
This commit is contained in:
@ -98,11 +98,49 @@ void app_main(void)
|
||||
ESP_LOGI(TAG, "Current root CA:\n%s", root_ca);
|
||||
free(root_ca);
|
||||
|
||||
// Check current device enrollment status
|
||||
ESP_LOGI(TAG, "Check enrollment status");
|
||||
int status = secure_api_get_device_enrollment_status();
|
||||
ESP_LOGI(TAG, "Current enrollment status: %d\n", status);
|
||||
bool validated = false;
|
||||
while (!validated)
|
||||
{
|
||||
// Check current device enrollment status
|
||||
ESP_LOGI(TAG, "Check enrollment status");
|
||||
enum DevEnrollmentStatus status = secure_api_get_device_enrollment_status();
|
||||
ESP_LOGI(TAG, "Current enrollment status: %d\n", status);
|
||||
|
||||
switch (status)
|
||||
{
|
||||
case DevEnrollError:
|
||||
ESP_LOGE(TAG, "Failed to retrieve device enrollment status!");
|
||||
break;
|
||||
|
||||
case DevEnrollPending:
|
||||
ESP_LOGI(TAG, "Device enrolled, but not validated yet. Please accept device on central system web UI");
|
||||
break;
|
||||
|
||||
case DevEnrollValidated:
|
||||
ESP_LOGI(TAG, "Device enrolled and validated. Ready to operate!");
|
||||
validated = true;
|
||||
break;
|
||||
|
||||
case DevEnrollUnknown:
|
||||
ESP_LOGI(TAG, "Device unknown, need to enroll!");
|
||||
|
||||
// TODO : remove certificate if present
|
||||
|
||||
if (secure_api_enroll_device() != 0)
|
||||
{
|
||||
ESP_LOGE(TAG, "Failed to enroll device!");
|
||||
reboot();
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
// Wait before next try
|
||||
system_sleep(60);
|
||||
};
|
||||
|
||||
// TODO : retrieve certificate if missing
|
||||
|
||||
ESP_LOGI(TAG, "Starting main loop");
|
||||
system_sleep(120);
|
||||
|
||||
reboot();
|
||||
|
Reference in New Issue
Block a user