diff options
Diffstat (limited to 'core')
-rw-r--r-- | core/drivers/crypto/se050/core/huk.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/core/drivers/crypto/se050/core/huk.c b/core/drivers/crypto/se050/core/huk.c index 4e474e16..2e800268 100644 --- a/core/drivers/crypto/se050/core/huk.c +++ b/core/drivers/crypto/se050/core/huk.c @@ -16,15 +16,15 @@ int tee_otp_get_die_id(uint8_t *buffer, size_t len) size_t se050_huk_len = sizeof(se050_huk); sss_status_t status = kStatus_SSS_Fail; - memset(buffer, 0, len); - status = sss_se05x_session_prop_get_au8(se050_session, kSSS_SessionProp_UID, se050_huk, &se050_huk_len); if (status != kStatus_SSS_Success) return -1; - memcpy(buffer, se050_huk, MIN(len, se050_huk_len)); + if (tee_hash_createdigest(TEE_ALG_SHA256, se050_huk, se050_huk_len, + buffer, len)) + return -1; return 0; } |