|
@@ -71,7 +71,7 @@
|
|
|
{
|
|
|
uint32_t status = 0;
|
|
|
sgx_dh_session_t sgx_dh_session;
|
|
|
- memset(&dh_aek,0, sizeof(sgx_key_128bit_t));
|
|
|
+ memset(dh_aek,0, sizeof(sgx_key_128bit_t));
|
|
|
|
|
|
if(!dh_msg2 || !dh_msg3)
|
|
|
return INVALID_PARAMETER_ERROR;
|
|
@@ -84,15 +84,12 @@
|
|
|
dh_msg3->msg3_body.additional_prop_length = 0;
|
|
|
|
|
|
//Process message 2 from source enclave and obtain message 3
|
|
|
- status = sgx_dh_responder_proc_msg2(dh_msg2, dh_msg3, &sgx_dh_session, dh_aek, initiator_identity);
|
|
|
- if(SGX_SUCCESS != status)
|
|
|
- return 0x33;// status;
|
|
|
-
|
|
|
- //Verify source enclave's trust
|
|
|
- // verify_return = Decryptor::verify_peer_enclave_trust(initiator_identity.mr_enclave.m, initiator_identity.mr_signer.m, dh_aek);
|
|
|
- // if(verify_return != 0)
|
|
|
- // return verify_return;
|
|
|
+ if(dh_aek == nullptr)
|
|
|
+ return 0xff;
|
|
|
|
|
|
+ if(initiator_identity != nullptr && dh_msg2 != nullptr && dh_msg3 != nullptr)
|
|
|
+ status = sgx_dh_responder_proc_msg2(dh_msg2, dh_msg3, &sgx_dh_session, dh_aek, initiator_identity);
|
|
|
+ return status;
|
|
|
/*
|
|
|
//save the session ID, status and initialize the session nonce
|
|
|
global_session_info.session_id = *session_id;
|
|
@@ -101,5 +98,4 @@
|
|
|
memcpy(&global_session_info.active.AEK, &dh_aek, sizeof(sgx_key_128bit_t));
|
|
|
memset(&dh_aek,0, sizeof(sgx_key_128bit_t));
|
|
|
*/
|
|
|
- return 0;
|
|
|
}
|