forked from asterinas/jinzhao-attest
-
Notifications
You must be signed in to change notification settings - Fork 0
/
attestation.edl
79 lines (66 loc) · 2.62 KB
/
attestation.edl
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
enclave {
include "sgx_urts.h"
include "sgx_report.h"
include "attestation/common/error.h"
from "sgx_pthread.edl" import *;
trusted {
public TeeErrorCode ecall_UaGenerateReport(
[in,string] const char* report_identity,
[in,string] const char* hex_spid,
[in] sgx_target_info_t *target_info,
[in] sgx_report_data_t *report_data,
[out] sgx_report_t *report);
public TeeErrorCode ecall_UaVerifyReport(
[in] sgx_target_info_t *target_info,
[in] sgx_report_t *target_report);
public TeeErrorCode ecall_UaVerifySubReorts(
[in, string] const char *reports,
[in, string] const char *policy,
[out, size=nested_report_max] char *nested_report_json,
int nested_report_max,
[out] int* nested_report_len);
public TeeErrorCode ecall_UaGetPublicKey(
[out, size=max] char* public_key_buf,
int max,
[out] int* public_key_len);
public TeeErrorCode ecall_TeeRun(
[in,size=attr_len] const char* attr_buf,
size_t attr_len,
[in,size=req_len] const char *req_buf,
size_t req_len,
[out] char** res_buf,
[out]size_t* res_len);
};
untrusted {
void ocall_UaPrintMessage(
[in, string] const char *message);
TeeErrorCode ocall_UntrustGenerateAuthReport(
[in, string] const char* tee_identity,
[in, string] const char* report_type,
[in, string] const char* report_hex_nonce,
[in, string] const char* report_params,
[out, size=auth_report_buf_size] char* auth_report_buf,
unsigned int auth_report_buf_size,
[out] unsigned int* auth_report_len)
allow(ecall_UaGenerateReport, ecall_UaGetPublicKey);
TeeErrorCode ocall_UntrustedMemoryAlloc(
size_t size, [out] char** buf);
TeeErrorCode ocall_UntrustedMemoryFree(
[in] char** buf);
TeeErrorCode ocall_UntrustedReadBuf(
[user_check]const char *ubuf,
[out, size=count] char *tbuf,
size_t count);
TeeErrorCode ocall_UntrustedWriteBuf(
[user_check] char *ubuf,
[in, size=count] const char *tbuf,
size_t count);
TeeErrorCode ocall_ReeRun(
[in,size=attr_len] const char* attr_buf,
size_t attr_len,
[in,size=req_len] const char *req_buf,
size_t req_len,
[out] char** res_buf,
[out]size_t* res_len);
};
};