/** \brief Test proper initialization of the encryption key. Write the random value to the encryption key slot of the default configuration. * \return void */ void test_atcatls_init_enc_key(void) { ATCA_STATUS status = ATCA_GEN_FAIL; uint8_t enckey_ret[ATCA_KEY_SIZE] = { 0 }; bool lock = false; uint8_t enckeyId = TLS_SLOT_ENC_PARENT; status = atcatls_init(g_pCfg); TEST_ASSERT_EQUAL(ATCA_SUCCESS, status); status = atcatlsfn_set_get_enckey(&get_enc_key); TEST_ASSERT_EQUAL(ATCA_SUCCESS, status); // Save the return value of _enckeytest to the application // Return _enckeytest when get_enc_key is called status = atcatls_init_enckey(_enckeytest, enckeyId, lock); TEST_ASSERT_EQUAL(ATCA_SUCCESS, status); status = atcatls_get_enckey(enckey_ret); TEST_ASSERT_EQUAL(ATCA_SUCCESS, status); TEST_ASSERT_EQUAL_MEMORY(enckey_ret, _enckeytest, ATCA_KEY_SIZE); status = atcatls_finish(); TEST_ASSERT_EQUAL(ATCA_SUCCESS, status); }
/** * \brief Write enc key before. */ static int atmel_init_enc_key(void) { uint8_t ret = 0; uint8_t read_key[ATECC_KEY_SIZE] = { 0 }; XMEMSET(read_key, 0xFF, sizeof(read_key)); ret = atcab_write_bytes_slot(0x04, 0, read_key, sizeof(read_key)); if (ret != ATCA_SUCCESS) { WOLFSSL_MSG("Failed to write key"); return -1; } ret = atcatlsfn_set_get_enckey(atmel_set_enc_key); if (ret != ATCA_SUCCESS) { WOLFSSL_MSG("Failed to set enckey"); return -1; } return ret; }
void test_atcatls_init_enc_key(void) { ATCA_STATUS status = ATCA_GEN_FAIL; uint8_t enckey_ret[ATCA_KEY_SIZE] = { 0 }; bool lock = false; status = atcatls_init(); TEST_ASSERT_EQUAL(ATCA_SUCCESS, status); status = atcatlsfn_set_get_enckey(&get_enc_key); TEST_ASSERT_EQUAL(ATCA_SUCCESS, status); status = atcatls_init_enckey(_enckeytest, lock); TEST_ASSERT_EQUAL(ATCA_SUCCESS, status); status = atcatls_get_enckey(enckey_ret); TEST_ASSERT_EQUAL(ATCA_SUCCESS, status); // todo: Test that these are equal (_enckeytest == enckey_ret) status = atcatls_finish(); TEST_ASSERT_EQUAL(ATCA_SUCCESS, status); }