|
@@ -78,8 +78,8 @@ bool storage_generateClientKeys(uint32_t num_clients, uint32_t my_stg_no) {
|
|
|
|
|
|
bool generate_all_tokens()
|
|
|
{
|
|
|
- uint32_t pt_tokens_size = (g_teems_config.m_priv_out * SGX_AESGCM_KEY_SIZE);
|
|
|
- uint32_t enc_tokens_size = (g_teems_config.m_priv_out * SGX_AESGCM_KEY_SIZE) +
|
|
|
+ uint32_t pt_tokens_size = (g_teems_config.m_priv_out * SGX_CMAC_MAC_SIZE);
|
|
|
+ uint32_t enc_tokens_size = pt_tokens_size +
|
|
|
SGX_AESGCM_IV_SIZE + SGX_AESGCM_MAC_SIZE;
|
|
|
unsigned char token_body[pt_tokens_size];
|
|
|
|
|
@@ -103,23 +103,27 @@ bool generate_all_tokens()
|
|
|
unsigned long epoch_val = storage_epoch + 1;
|
|
|
memcpy(tkn_iv_ptr, &epoch_val, sizeof(epoch_val));
|
|
|
|
|
|
+ sgx_status_t ret = SGX_SUCCESS;
|
|
|
unsigned char *ptr = tkn_ptr;
|
|
|
+ unsigned char *tkn_body_ptr = token_body;
|
|
|
for(int i = 0; i<g_teems_config.m_priv_out; i++)
|
|
|
{
|
|
|
memcpy(ptr, (&(clients[lcid].my_id)), sizeof(clientid_t));
|
|
|
memcpy(ptr + sizeof(clientid_t), (&(clients[lcid].priv_friends[i])), sizeof(clientid_t));
|
|
|
memcpy(ptr + 2 * sizeof(clientid_t), &epoch_val, sizeof(epoch_val));
|
|
|
- ptr+=SGX_AESGCM_KEY_SIZE;
|
|
|
- }
|
|
|
|
|
|
- sgx_status_t ret = SGX_SUCCESS;
|
|
|
- ret = sgx_rijndael128_cmac_msg(pTSK, tkn_ptr, pt_tokens_size,
|
|
|
- (sgx_cmac_128bit_tag_t*) &token_body);
|
|
|
- if(ret!=SGX_SUCCESS) {
|
|
|
- printf("generate_tokens: Creating token FAIL\n");
|
|
|
- return false;
|
|
|
+ ret = sgx_rijndael128_cmac_msg(pTSK, ptr, pt_tokens_size,
|
|
|
+ (sgx_cmac_128bit_tag_t*) tkn_body_ptr);
|
|
|
+ if(ret!=SGX_SUCCESS) {
|
|
|
+ printf("generate_tokens: Creating token FAIL\n");
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+
|
|
|
+ ptr+=SGX_CMAC_MAC_SIZE;
|
|
|
+ tkn_body_ptr+=SGX_CMAC_MAC_SIZE;
|
|
|
}
|
|
|
|
|
|
+
|
|
|
/*
|
|
|
if(lcid == 0) {
|
|
|
printf("Checking generated token_body:");
|