Support trusted & encrypted keyring for plain device.

This commit is contained in:
Milan Broz
2024-11-22 14:05:40 +01:00
parent 42e85571df
commit 4b7920975c
7 changed files with 108 additions and 13 deletions

View File

@@ -277,6 +277,36 @@ const char *key_type_name(key_type_t type)
return NULL;
}
key_type_t keyring_type_and_name(const char *key_name, const char **name)
{
char type[16], *name_tmp;
size_t type_len;
if (!key_name || key_name[0] != '%')
return INVALID_KEY;
key_name++;
if (!*key_name || *key_name == ':')
return INVALID_KEY;
name_tmp = strchr(key_name, ':');
if (!name_tmp)
return INVALID_KEY;
name_tmp++;
type_len = name_tmp - key_name - 1;
if (type_len >= sizeof(type) - 1)
return INVALID_KEY;
memcpy(type, key_name, type_len);
type[type_len] = '\0';
if (name)
*name = name_tmp;
return key_type_by_name(type);
}
key_serial_t keyring_find_key_id_by_name(const char *key_name)
{
key_serial_t id = 0;
@@ -425,6 +455,11 @@ const char *key_type_name(key_type_t type)
return NULL;
}
key_type_t keyring_type_and_name(const char *key_name, const char **name)
{
return INVALID_KEY;
}
key_serial_t keyring_find_key_id_by_name(const char *key_name)
{
return 0;