/** **************************************************************************************** * @brief Send CSRK * * @return void **************************************************************************************** */ void app_send_csrk_exch_func(struct gapc_bond_req_ind *param) { struct gapc_bond_cfm* cfm = KE_MSG_ALLOC(GAPC_BOND_CFM, TASK_GAPC, TASK_APP, gapc_bond_cfm); // generate ltk app_sec_gen_ltk(param->data.key_size); cfm->request = GAPC_CSRK_EXCH; cfm->accept = true; memset((void *) cfm->data.csrk.key, 0, KEY_LEN); memcpy((void *) cfm->data.csrk.key, (void *)"\xAB\xAB\x45\x55\x23\x01", 6); ke_msg_send(cfm); }
void app_send_ltk_exch_func(struct gapc_bond_req_ind *param) { struct gapc_bond_cfm* cfm = KE_MSG_ALLOC(GAPC_BOND_CFM, TASK_GAPC, TASK_APP, gapc_bond_cfm); // generate ltk app_sec_gen_ltk(param->data.key_size); cfm->request = GAPC_LTK_EXCH; cfm->accept = true; cfm->data.ltk.key_size = app_sec_env.key_size; cfm->data.ltk.ediv = app_sec_env.ediv; memcpy(&(cfm->data.ltk.randnb), &(app_sec_env.rand_nb) , RAND_NB_LEN); memcpy(&(cfm->data.ltk.ltk), &(app_sec_env.ltk) , KEY_LEN); ke_msg_send(cfm); }