Skip to content
This repository was archived by the owner on May 9, 2022. It is now read-only.

Commit 00f06bb

Browse files
committed
feat(rtc_data_enclave::validate_and_save): insert stub call to save_access_key OCALL
1 parent 5866814 commit 00f06bb

File tree

3 files changed

+15
-2
lines changed

3 files changed

+15
-2
lines changed

rtc_data_enclave/src/lib.rs

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ use std::prelude::v1::*;
1919

2020
#[allow(unused_imports)] // for ECALL linking
2121
use rtc_tenclave::enclave::enclave_create_report;
22+
use rtc_types::enclave_messages::set_access_key;
2223
use rtc_types::*;
2324
use sgx_types::*;
2425

@@ -42,6 +43,20 @@ pub unsafe extern "C" fn validate_and_save(
4243
Err(err) => return EcallResult::Err(err),
4344
};
4445

46+
// TODO: Get access key request data from validate_and_seal?
47+
let request = set_access_key::Request {
48+
uuid: Default::default(),
49+
access_key: Default::default(),
50+
unsealed_size: Default::default(),
51+
};
52+
let response = match ocalls::save_access_key(auth_enclave_id, request) {
53+
Ok(response) => response,
54+
Err(err) => return EcallResult::Err(DataUploadError::SaveAccessKeySealingError(err)),
55+
};
56+
if !response.success {
57+
return EcallResult::Err(DataUploadError::SaveAccessKeyFailed);
58+
}
59+
4560
match ocalls::save_sealed_blob_u(sealed.sealed_data, sealed.uuid) {
4661
sgx_status_t::SGX_SUCCESS => EcallResult::Ok(sealed.client_payload.into()),
4762
err => EcallResult::Err(DataUploadError::Sealing(err)),

rtc_data_enclave/src/ocalls/mod.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,5 @@ mod save_sealed_blob_impl;
55

66
// Re-export the OCALL entry points we're interested in:
77

8-
#[allow(unused_imports)] // TODO
98
pub(crate) use save_access_key_impl::save_access_key;
109
pub(crate) use save_sealed_blob_impl::save_sealed_blob_u;

rtc_data_enclave/src/ocalls/save_access_key_impl.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@ use sgx_tstd::enclave::get_enclave_id;
1212
use sgx_types::{sgx_enclave_id_t, sgx_status_t};
1313

1414
// Handle protected channel establishment
15-
#[allow(dead_code)] // TODO
1615
pub(crate) fn save_access_key(
1716
auth_enclave_id: sgx_enclave_id_t,
1817
request: set_access_key::Request,

0 commit comments

Comments
 (0)