工具/软件:
您好:
我的环境如下:
板:CC2745R10-Q1
调试器:XDS110
SDK:SimpleLink Lowpower f3 ver.9.10.00.83
IDE:IAR Embedded Workbench for ARM 9.60.3.7274
我考虑将密钥存储在 HSM 中。
在下面的测试代码中、
我将 PSA_SET_KEY_LIFE 的第二个参数设置为 PSA_KEY_LIFY_FROM_PERCENSED_AND_LOCATION (PSA_KEY_PERCENSED_HSM_ACCESS_STORE、PSA_KEY_LOCAL_STORAGE)。
调试时、PSA_IMPORT_KEY 返回错误代码–135。
当我将 PSA_SET_KEY_LICENSEE 的第二个参数设置为 PSA_KEY_LICENSE_PERSISTENT 时、PSA_IMPORT_KEY 将成功完成。
您能解释为什么返回–135 错误代码吗?
另外、如果可能、请告诉我如何解决此问题。

#define KEY_HSM_LIFETIME PSA_KEY_LIFETIME_FROM_PERSISTENCE_AND_LOCATION( PSA_KEY_PERSISTENCE_HSM_ASSET_STORE, PSA_KEY_LOCATION_LOCAL_STORAGE)
static void vos_store_test( void )
{
uint8_t u1t_Key16Data[16] = {0x00, 0xBF, 0x85, 0x49, 0xC3, 0x79, 0xE4, 0x04,
0xED, 0xA1, 0x08, 0xA5, 0x51, 0xF8, 0x36, 0x23};
psa_key_id_t key_id = PSA_KEY_ID_USER_MIN;
psa_key_attributes_t attributes = PSA_KEY_ATTRIBUTES_INIT;
int_fast16_t s2s_status;
s2s_status = psa_crypto_init();
if (s2s_status != PSA_SUCCESS)
{
while(1);
}
s2s_status = HSMLPF3_provisionHUK();
if (s2s_status != HSMLPF3_STATUS_SUCCESS)
{
while(1);
}
psa_set_key_id(&attributes, key_id);
psa_set_key_type(&attributes, PSA_KEY_TYPE_AES);
psa_set_key_usage_flags(&attributes, (PSA_KEY_USAGE_ENCRYPT | PSA_KEY_USAGE_DECRYPT));
psa_set_key_algorithm(&attributes, PSA_ALG_CCM);
psa_set_key_lifetime(&attributes, KEY_HSM_LIFETIME);
psa_set_key_bits(&attributes, 128);
s2s_status = psa_import_key(&attributes, u1t_Key16Data, sizeof(u1t_Key16Data), &key_id);
if (s2s_status != PSA_SUCCESS)
{
while(1);
}
psa_reset_key_attributes(&attributes);
psa_destroy_key(key_id);
}
此致、