summaryrefslogtreecommitdiff
path: root/lib/trusty/ql-tipc/keymaster_serializable.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/trusty/ql-tipc/keymaster_serializable.c')
-rw-r--r--lib/trusty/ql-tipc/keymaster_serializable.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/lib/trusty/ql-tipc/keymaster_serializable.c b/lib/trusty/ql-tipc/keymaster_serializable.c
index 6d9297d099..232a093a9e 100644
--- a/lib/trusty/ql-tipc/keymaster_serializable.c
+++ b/lib/trusty/ql-tipc/keymaster_serializable.c
@@ -97,6 +97,23 @@ int km_attestation_data_serialize(const struct km_attestation_data *data,
return TRUSTY_ERR_NONE;
}
+int km_attestation_id_data_serialize(const struct km_attestation_id_data *data,
+ uint8_t** out, uint32_t *out_size)
+{
+ if (!out || !data || !out_size) {
+ return TRUSTY_ERR_INVALID_ARGS;
+ }
+ *out_size = (sizeof(data->data_size) + data->data_size);
+ *out = trusty_calloc(*out_size, 1);
+ if (!*out) {
+ return TRUSTY_ERR_NO_MEMORY;
+ }
+
+ append_sized_buf_to_buf(*out, data->data, data->data_size);
+
+ return TRUSTY_ERR_NONE;
+}
+
int km_secure_unlock_data_serialize(const struct km_secure_unlock_data *data,
uint8_t** out, uint32_t *out_size)
{