Update attestation asymmetric sign to use deterministic alg

- Add PSA_KEY_USAGE_VERIFY to attesttaion key usage
- Set deterministic alg to attestation key policy
- Call asymmetric sign with deterministic alg
pull/9668/head
Moran Peker 2019-02-17 16:18:46 +02:00
parent 70a14b2f3a
commit 773fa44205
2 changed files with 3 additions and 3 deletions

View File

@ -68,7 +68,7 @@ t_cose_crypto_pub_key_sign(int32_t cose_alg_id,
} }
crypto_ret = psa_asymmetric_sign(handle, crypto_ret = psa_asymmetric_sign(handle,
PSA_ALG_ECDSA(PSA_ALG_SHA_256), PSA_ALG_DETERMINISTIC_ECDSA(PSA_ALG_SHA_256),
hash_to_sign.ptr, hash_to_sign.ptr,
hash_to_sign.len, hash_to_sign.len,
signature_buffer.ptr, signature_buffer.ptr,

View File

@ -34,7 +34,7 @@ psa_attestation_inject_key_impl(const uint8_t *key_data,
psa_key_id_t key_id = PSA_ATTESTATION_PRIVATE_KEY_ID; psa_key_id_t key_id = PSA_ATTESTATION_PRIVATE_KEY_ID;
psa_key_lifetime_t lifetime = PSA_KEY_LIFETIME_PERSISTENT; psa_key_lifetime_t lifetime = PSA_KEY_LIFETIME_PERSISTENT;
psa_key_policy_t policy = PSA_KEY_POLICY_INIT; psa_key_policy_t policy = PSA_KEY_POLICY_INIT;
psa_key_usage_t usage = PSA_KEY_USAGE_EXPORT | PSA_KEY_USAGE_SIGN; psa_key_usage_t usage = PSA_KEY_USAGE_EXPORT | PSA_KEY_USAGE_SIGN | PSA_KEY_USAGE_VERIFY;
psa_key_type_t public_type; psa_key_type_t public_type;
size_t bits; size_t bits;
size_t exported_size = 0; size_t exported_size = 0;
@ -53,7 +53,7 @@ psa_attestation_inject_key_impl(const uint8_t *key_data,
} }
psa_key_policy_init(); psa_key_policy_init();
psa_key_policy_set_usage(&policy, usage, PSA_ALG_ECDSA(PSA_ALG_SHA_256)); psa_key_policy_set_usage(&policy, usage, PSA_ALG_DETERMINISTIC_ECDSA(PSA_ALG_SHA_256));
status = psa_set_key_policy(handle, &policy); status = psa_set_key_policy(handle, &policy);
if (status != PSA_SUCCESS) { if (status != PSA_SUCCESS) {
return (status); return (status);