Request device certificate

This commit is contained in:
2024-08-29 00:09:47 +02:00
parent d890b23670
commit 31f4203c43
6 changed files with 84 additions and 8 deletions

@ -42,11 +42,8 @@ static char *process_secure_request(const char *uri, const char *body)
return res;
}
enum DevEnrollmentStatus secure_api_get_device_enrollment_status()
static char *dev_escaped_name()
{
ESP_LOGI(TAG, "Will check device enrollment status");
// Prepare URI
unsigned char *name = (unsigned char *)dev_name();
assert(name);
size_t escaped_name_len = http_client_escape_uri(NULL, name, strlen((char *)name));
@ -55,6 +52,15 @@ enum DevEnrollmentStatus secure_api_get_device_enrollment_status()
http_client_escape_uri(escaped_name, name, strlen((char *)name));
free(name);
return (char *)escaped_name;
}
enum DevEnrollmentStatus secure_api_get_device_enrollment_status()
{
ESP_LOGI(TAG, "Will check device enrollment status");
// Prepare URI
char *escaped_name = dev_escaped_name();
char *uri = calloc(1, 255);
assert(uri);
sprintf(uri, "/devices_api/mgmt/enrollment_status?id=%s", escaped_name);
@ -162,4 +168,28 @@ int secure_api_enroll_device()
free(res);
return 0;
}
char *secure_api_get_dev_certificate()
{
ESP_LOGI(TAG, "Will request device certificate");
// Prepare URI
char *escaped_name = dev_escaped_name();
char *uri = calloc(1, 255);
assert(uri);
sprintf(uri, "/devices_api/mgmt/get_certificate?id=%s", escaped_name);
free(escaped_name);
char *res = process_secure_request(uri, NULL);
free(uri);
if (res == NULL)
{
ESP_LOGE(TAG, "Failed to query device certificate!");
return NULL;
}
return res;
}