CCF
Loading...
Searching...
No Matches
attestation_sgx.h
Go to the documentation of this file.
1// Copyright (c) Microsoft Corporation. All rights reserved.
2// Licensed under the Apache 2.0 License.
3#pragma once
4
5#if (defined(INSIDE_ENCLAVE) && !defined(VIRTUAL_ENCLAVE)) || \
6 defined(SGX_ATTESTATION_VERIFICATION)
7
8# include <array>
9# include <openenclave/attestation/custom_claims.h>
10# include <openenclave/attestation/sgx/evidence.h>
11# include <openenclave/attestation/verifier.h>
12# if defined(INSIDE_ENCLAVE) && !defined(VIRTUAL_ENCLAVE)
13# include <openenclave/attestation/attester.h>
14# endif
15
16namespace ccf::pal
17{
18 namespace sgx
19 {
20 // Set of wrappers for safe memory management
21 struct Claims
22 {
23 oe_claim_t* data = nullptr;
24 size_t length = 0;
25
26 ~Claims()
27 {
28 oe_free_claims(data, length);
29 }
30 };
31
32 struct CustomClaims
33 {
34 oe_claim_t* data = nullptr;
35 size_t length = 0;
36
37 ~CustomClaims()
38 {
39 oe_free_custom_claims(data, length);
40 }
41 };
42
43 struct SerialisedClaims
44 {
45 uint8_t* buffer = nullptr;
46 size_t size = 0;
47
48 ~SerialisedClaims()
49 {
50 oe_free_serialized_custom_claims(buffer);
51 }
52 };
53
54# if defined(INSIDE_ENCLAVE) && !defined(VIRTUAL_ENCLAVE)
55 struct Evidence
56 {
57 uint8_t* buffer = NULL;
58 size_t size = 0;
59
60 ~Evidence()
61 {
62 oe_free_evidence(buffer);
63 }
64 };
65
66 struct Endorsements
67 {
68 uint8_t* buffer = NULL;
69 size_t size = 0;
70
71 ~Endorsements()
72 {
73 oe_free_endorsements(buffer);
74 }
75 };
76# endif
77
78 static constexpr oe_uuid_t oe_quote_format = {OE_FORMAT_UUID_SGX_ECDSA};
79 static constexpr auto report_data_claim_name = OE_CLAIM_SGX_REPORT_DATA;
80 }
81}
82#endif
Definition attestation.h:28