diff options
Diffstat (limited to 'lib/trusty/ql-tipc/keymaster_serializable.c')
-rw-r--r-- | lib/trusty/ql-tipc/keymaster_serializable.c | 17 |
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) { |