|
@@ -29,12 +29,24 @@
|
|
|
*
|
|
|
*/
|
|
|
|
|
|
-
|
|
|
-#include "datatypes.h"
|
|
|
-#include "sgx_eid.h"
|
|
|
#include "sgx_trts.h"
|
|
|
-#include <map>
|
|
|
+#include "sgx_utils.h"
|
|
|
+// #include "EnclaveMessageExchange.h"
|
|
|
+#include "sgx_eid.h"
|
|
|
+#include "error_codes.h"
|
|
|
+#include "sgx_ecp_types.h"
|
|
|
+#include "sgx_thread.h"
|
|
|
#include "dh_session_protocol.h"
|
|
|
+#include "sgx_dh.h"
|
|
|
+#include "sgx_tcrypto.h"
|
|
|
+#include "LocalAttestationCode_t.h"
|
|
|
+#include "sgx_tseal.h"
|
|
|
+
|
|
|
+//#include "datatypes.h"
|
|
|
+//#include "sgx_eid.h"
|
|
|
+//#include "sgx_trts.h"
|
|
|
+//#include <map>
|
|
|
+//#include "dh_session_protocol.h"
|
|
|
|
|
|
#ifndef LOCALATTESTATION_H_
|
|
|
#define LOCALATTESTATION_H_
|
|
@@ -43,9 +55,26 @@
|
|
|
extern "C" {
|
|
|
#endif
|
|
|
|
|
|
-//uint32_t SGXAPI create_session(sgx_enclave_id_t src_enclave_id, sgx_enclave_id_t dest_enclave_id, dh_session_t *p_session_info);
|
|
|
-//uint32_t SGXAPI send_request_receive_response(sgx_enclave_id_t src_enclave_id, sgx_enclave_id_t dest_enclave_id, dh_session_t *p_session_info, char *inp_buff, size_t inp_buff_len, size_t max_out_buff_size, char **out_buff, size_t* out_buff_len);
|
|
|
-//uint32_t SGXAPI close_session(sgx_enclave_id_t src_enclave_id, sgx_enclave_id_t dest_enclave_id);
|
|
|
+static class LocalAttestationTrusted{
|
|
|
+ dh_session_t global_session_info;
|
|
|
+ uint32_t global_session_id=0;
|
|
|
+ uint32_t one_successful_la_done;
|
|
|
+ sgx_ecc_state_handle_t ecc_state;
|
|
|
+ uint8_t verifier_mr_enclave[32];
|
|
|
+ SymmetricEncryptionBox symmetricEncryptionBoxApache;
|
|
|
+ SymmetricEncryptionBox symmetricEncryptionBoxVerifier;
|
|
|
+
|
|
|
+public:
|
|
|
+ extern "C" uint32_t verify_peer_enclave_trust(sgx_dh_session_enclave_identity_t* peer_enclave_identity);
|
|
|
+ ATTESTATION_STATUS session_request(sgx_dh_msg1_t *dh_msg1, uint32_t *session_id);
|
|
|
+ ATTESTATION_STATUS exchange_report(sgx_dh_msg2_t *dh_msg2, sgx_dh_msg3_t *dh_msg3, uint32_t* session_id);
|
|
|
+ LocalAttestationTrusted(): symmetricEncryptionBoxApache(), symmetricEncryptionBoxVerifier();
|
|
|
+
|
|
|
+};
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
}
|