Skip to content

Commit a60397c

Browse files
author
Dmitrii Kuvaiskii
committed
[PAL/Linux-SGX] Add more envvars to verify SGX quote statuses
Intel IAS and ECDSA/DCAP verification procedures may return different SGX quote statuses, that can be roughly divided into three classes: 1. Outdated TCB (old hardware, needs an update), 2. HW configuration needed (good hardware, but must change some BIOS settings like disabling Hyper-Threading), 3. SW configuration needed (hardware is known to be vulnerable to some kinds of exploits and this could be fixed only by using good/patched software). Previously, Gramine's RA-TLS had a single environment variable `RA_TLS_ALLOW_OUTDATED_TCB_INSECURE` to allow/disallow all three classes. This commit introduces two more envvars. Signed-off-by: Dmitrii Kuvaiskii <dmitrii.kuvaiskii@intel.com>
1 parent b5b9e56 commit a60397c

13 files changed

Lines changed: 263 additions & 141 deletions

File tree

.ci/lib/config.jenkinsfile

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@ env.XDG_CONFIG_HOME = env.WORKSPACE + '/XDG_CONFIG_HOME'
88
env.CARGO_HOME = env.WORKSPACE + '/CARGO_HOME'
99

1010
env.RA_TLS_ALLOW_OUTDATED_TCB_INSECURE = '1'
11+
env.RA_TLS_ALLOW_HW_CONFIG_NEEDED = '1'
12+
env.RA_TLS_ALLOW_SW_HARDENING_NEEDED = '1'
1113
env.RA_TLS_ALLOW_DEBUG_ENCLAVE_INSECURE = '1'
1214

1315
env.LC_ALL = 'C.UTF-8'

CI-Examples/ra-tls-mbedtls/README.md

Lines changed: 19 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -55,11 +55,12 @@ Also, because this example builds and uses debug SGX enclaves (`sgx.debug` is
5555
set to `true`), we use environment variable `RA_TLS_ALLOW_DEBUG_ENCLAVE_INSECURE=1`.
5656
Note that in production environments, you must *not* use this option!
5757

58-
Moreover, we set `RA_TLS_ALLOW_OUTDATED_TCB_INSECURE=1`, to allow performing
59-
the tests when some of Intel's security advisories haven't been addressed (for
60-
example, when the microcode or architectural enclaves aren't fully up-to-date).
61-
As the name of this setting suggests, this is not secure and likewise should not
62-
be used in production.
58+
Moreover, we set `RA_TLS_ALLOW_OUTDATED_TCB_INSECURE=1`,
59+
`RA_TLS_ALLOW_HW_CONFIG_NEEDED=1` and `RA_TLS_ALLOW_SW_HARDENING_NEEDED=1` to
60+
allow performing the tests when some of Intel's security advisories haven't been
61+
addressed (for example, when the microcode or architectural enclaves aren't
62+
fully up-to-date). Note that in production environments, you must carefully
63+
analyze whether to use these options!
6364

6465
# Quick Start
6566

@@ -72,6 +73,14 @@ an [SPID and the corresponding IAS API keys][spid].
7273

7374
[spid]: https://gramine.readthedocs.io/en/latest/sgx-intro.html#term-spid
7475

76+
For all examples, we set the following environment variables:
77+
```sh
78+
export RA_TLS_ALLOW_DEBUG_ENCLAVE_INSECURE=1
79+
export RA_TLS_ALLOW_OUTDATED_TCB_INSECURE=1
80+
export RA_TLS_ALLOW_HW_CONFIG_NEEDED=1
81+
export RA_TLS_ALLOW_SW_HARDENING_NEEDED=1
82+
```
83+
7584
- Normal non-RA-TLS flows; without SGX and without Gramine:
7685

7786
```sh
@@ -91,8 +100,6 @@ make app epid RA_TYPE=epid RA_CLIENT_SPID=<your SPID> \
91100

92101
gramine-sgx ./server &
93102

94-
RA_TLS_ALLOW_DEBUG_ENCLAVE_INSECURE=1 \
95-
RA_TLS_ALLOW_OUTDATED_TCB_INSECURE=1 \
96103
RA_TLS_EPID_API_KEY=<your EPID API key> \
97104
RA_TLS_MRENCLAVE=<MRENCLAVE of the server enclave> \
98105
RA_TLS_MRSIGNER=<MRSIGNER of the server enclave> \
@@ -112,8 +119,6 @@ make app dcap RA_TYPE=dcap
112119

113120
gramine-sgx ./server &
114121

115-
RA_TLS_ALLOW_DEBUG_ENCLAVE_INSECURE=1 \
116-
RA_TLS_ALLOW_OUTDATED_TCB_INSECURE=1 \
117122
RA_TLS_MRENCLAVE=<MRENCLAVE of the server enclave> \
118123
RA_TLS_MRSIGNER=<MRSIGNER of the server enclave> \
119124
RA_TLS_ISV_PROD_ID=<ISV_PROD_ID of the server enclave> \
@@ -132,7 +137,7 @@ make app dcap RA_TYPE=dcap
132137

133138
gramine-sgx ./server &
134139

135-
RA_TLS_ALLOW_DEBUG_ENCLAVE_INSECURE=1 RA_TLS_ALLOW_OUTDATED_TCB_INSECURE=1 ./client dcap \
140+
./client dcap \
136141
<MRENCLAVE of the server enclave> \
137142
<MRSIGNER of the server enclave> \
138143
<ISV_PROD_ID of the server enclave> \
@@ -157,10 +162,8 @@ kill %%
157162
158163
- RA-TLS flows with SGX and with Gramine, running EPID client in SGX:
159164
160-
Note: you may also add environment variables to `client.manifest.template`, such
161-
as `RA_TLS_ALLOW_DEBUG_ENCLAVE_INSECURE`, `RA_TLS_ALLOW_OUTDATED_TCB_INSECURE`,
162-
`RA_TLS_MRENCLAVE`, `RA_TLS_MRSIGNER`, `RA_TLS_ISV_PROD_ID` and
163-
`RA_TLS_ISV_SVN`.
165+
Note: you may need to add environment variables to `client.manifest.template`, such
166+
as `RA_TLS_ALLOW_DEBUG_ENCLAVE_INSECURE`, `RA_TLS_MRENCLAVE`, etc.
164167
165168
```sh
166169
make clean
@@ -169,8 +172,7 @@ make app epid RA_TYPE=epid RA_CLIENT_SPID=<your SPID> \
169172

170173
gramine-sgx ./server &
171174

172-
RA_TLS_ALLOW_DEBUG_ENCLAVE_INSECURE=1 RA_TLS_ALLOW_OUTDATED_TCB_INSECURE=1 \
173-
RA_TLS_EPID_API_KEY=<your EPID API key> \
175+
RA_TLS_EPID_API_KEY=<your EPID API key> \
174176
gramine-sgx ./client_epid epid
175177

176178
# client will successfully connect to the server via RA-TLS/EPID flows
@@ -185,8 +187,7 @@ make app dcap RA_TYPE=dcap
185187

186188
gramine-sgx ./server &
187189

188-
RA_TLS_ALLOW_DEBUG_ENCLAVE_INSECURE=1 RA_TLS_ALLOW_OUTDATED_TCB_INSECURE=1 \
189-
gramine-sgx ./client_dcap dcap \
190+
gramine-sgx ./client_dcap dcap \
190191
<MRENCLAVE of the server enclave> \
191192
<MRSIGNER of the server enclave> \
192193
<ISV_PROD_ID of the server enclave> \

CI-Examples/ra-tls-secret-prov/README.md

Lines changed: 14 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -41,11 +41,12 @@ Because this example builds and uses debug SGX enclaves (`sgx.debug` is set
4141
to `true`), we use environment variable `RA_TLS_ALLOW_DEBUG_ENCLAVE_INSECURE=1`.
4242
Note that in production environments, you must *not* use this option!
4343

44-
Moreover, we set `RA_TLS_ALLOW_OUTDATED_TCB_INSECURE=1`, to allow performing
45-
the tests when some of Intel's security advisories haven't been addressed (for
46-
example, when the microcode or architectural enclaves aren't fully up-to-date).
47-
As the name of this setting suggests, this is not secure and likewise should not
48-
be used in production.
44+
Moreover, we set `RA_TLS_ALLOW_OUTDATED_TCB_INSECURE=1`,
45+
`RA_TLS_ALLOW_HW_CONFIG_NEEDED=1` and `RA_TLS_ALLOW_SW_HARDENING_NEEDED=1` to
46+
allow performing the tests when some of Intel's security advisories haven't been
47+
addressed (for example, when the microcode or architectural enclaves aren't
48+
fully up-to-date). Note that in production environments, you must carefully
49+
analyze whether to use these options!
4950

5051
## Secret Provisioning clients
5152

@@ -73,6 +74,14 @@ build time.
7374

7475
# Quick Start
7576

77+
For all examples, we set the following environment variables:
78+
```sh
79+
export RA_TLS_ALLOW_DEBUG_ENCLAVE_INSECURE=1
80+
export RA_TLS_ALLOW_OUTDATED_TCB_INSECURE=1
81+
export RA_TLS_ALLOW_HW_CONFIG_NEEDED=1
82+
export RA_TLS_ALLOW_SW_HARDENING_NEEDED=1
83+
```
84+
7685
- Secret Provisioning flows, EPID-based (IAS) attestation (you will need to
7786
provide an [SPID and the corresponding IAS API keys][spid]):
7887

@@ -84,8 +93,6 @@ make app epid RA_TYPE=epid RA_CLIENT_SPID=<your SPID> \
8493

8594
# test encrypted files client (other examples can be tested similarly)
8695
cd secret_prov_pf
87-
RA_TLS_ALLOW_DEBUG_ENCLAVE_INSECURE=1 \
88-
RA_TLS_ALLOW_OUTDATED_TCB_INSECURE=1 \
8996
RA_TLS_EPID_API_KEY=<your EPID API key> \
9097
./server_epid wrap_key &
9198

@@ -101,8 +108,6 @@ make app dcap RA_TYPE=dcap
101108

102109
# test encrypted files client (other examples can be tested similarly)
103110
cd secret_prov_pf
104-
RA_TLS_ALLOW_DEBUG_ENCLAVE_INSECURE=1 \
105-
RA_TLS_ALLOW_OUTDATED_TCB_INSECURE=1 \
106111
./server_dcap wrap_key &
107112

108113
gramine-sgx ./client

Documentation/attestation.rst

Lines changed: 30 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -326,17 +326,38 @@ against expected values stored in a central database).
326326

327327
The library also uses the following SGX-specific environment variables:
328328

329-
- ``RA_TLS_ALLOW_OUTDATED_TCB_INSECURE`` (optional) -- whether to allow outdated
330-
TCB as returned in the IAS attestation report or returned by the DCAP
331-
verification library. Value ``1`` means "allow outdated TCB". Note that
332-
allowing outdated TCB is **insecure** and should be used only for debugging
333-
and testing. Outdated TCB is not allowed by default.
329+
- ``RA_TLS_ALLOW_OUTDATED_TCB_INSECURE`` (optional) -- whether to allow
330+
"outdated TCB" status as returned in the IAS attestation report or returned by
331+
the DCAP verification library. Note that allowing outdated TCB is **insecure**
332+
and should be used only for debugging and testing.
333+
334+
- ``RA_TLS_ALLOW_HW_CONFIG_NEEDED`` (optional) -- whether to allow "HW
335+
configuration needed" status. Note that this is not marked as insecure, as in
336+
some situations a strictly-compliant HW configuration is not required.
337+
338+
- ``RA_TLS_ALLOW_SW_HARDENING_NEEDED`` (optional) -- whether to allow "SW
339+
hardening needed" status. Note that this is not marked as insecure, as in some
340+
situations a strictly-compliant SW configuration is not required.
334341

335342
- ``RA_TLS_ALLOW_DEBUG_ENCLAVE_INSECURE`` (optional) -- whether to allow debug
336-
enclaves (enclaves with ``SECS.ATTRIBUTES.DEBUG`` bit set to one). Value ``1``
337-
means "allow debug enclaves". Note that allowing debug enclaves is
338-
**insecure** and should be used only for debugging and testing. Debug enclaves
339-
are not allowed by default.
343+
enclaves (enclaves with ``SECS.ATTRIBUTES.DEBUG`` bit set to one). Note that
344+
allowing debug enclaves is **insecure** and should be used only for debugging
345+
and testing.
346+
347+
Note that the IAS attestation report/DCAP verification library can return the
348+
"HW configuration and SW hardening needed" status. To allow this status, you
349+
must set both ``RA_TLS_ALLOW_HW_CONFIG_NEEDED`` and
350+
``RA_TLS_ALLOW_SW_HARDENING_NEEDED`` environment variables.
351+
352+
Each of the above environment variables must be set to ``1`` to allow the
353+
corresponding status. By default, all of the above environment variables are not
354+
set, and thus all not-OK statuses are disallowed. For more information, please
355+
refer to the official Intel documentation:
356+
357+
- `Intel EPID/IAS
358+
<https://api.trustedservices.intel.com/documents/sgx-attestation-api-spec.pdf>`__
359+
- `Intel ECDSA/DCAP
360+
<https://download.01.org/intel-sgx/latest/dcap-latest/linux/docs/Intel_SGX_ECDSA_QuoteLibReference_DCAP_API.pdf>`__
340361

341362
The library uses the following EPID-specific environment variables if available:
342363

Documentation/manpages/gramine-sgx-ias-verify-report.rst

Lines changed: 22 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -40,14 +40,6 @@ Command line arguments
4040

4141
Path to the IAS report's signature.
4242

43-
.. option:: -o, --allow-outdated-tcb
44-
45-
Treat IAS status GROUP_OUT_OF_DATE as OK.
46-
47-
.. option:: -d, --allow-debug-enclave
48-
49-
Allow debug enclave (SGXREPORT.ATTRIBUTES.DEBUG = 1).
50-
5143
.. option:: -n, --nonce
5244

5345
Nonce that's expected in the report (optional).
@@ -76,21 +68,40 @@ Command line arguments
7668

7769
Path to IAS public RSA key (PEM format, optional).
7870

71+
.. option:: --allow-debug-enclave
72+
73+
Allow debug enclave (SGXREPORT.ATTRIBUTES.DEBUG = 1).
74+
75+
.. option:: --allow-outdated-tcb
76+
77+
Treat IAS status code GROUP_OUT_OF_DATE as OK.
78+
79+
.. option:: --allow-hw-config-needed
80+
81+
Treat IAS status code CONFIGURATION_NEEDED as OK.
82+
83+
.. option:: --allow-sw-hardening-needed
84+
85+
Treat IAS status code SW_HARDENING_NEEDED as OK.
86+
87+
To treat the IAS status code CONFIGURATION_AND_SW_HARDENING_NEEDED as OK, set
88+
both :option:`--allow-hw-config-needed` and
89+
:option:`--allow-sw-hardening-needed` options.
90+
7991
Example
8092
=======
8193

82-
Report verification with all options enabled:
94+
Report verification with most options enabled:
8395

8496
.. code-block:: sh
8597
86-
$ gramine-sgx-ias-verify-report -v -m -r rp -s sp -i ias.pem -o -d -n thisisnonce -S 14b284525c45c4f526bf1535d05bd88aa73b9e184464f2d97be3dabc0d187b57 -E 4d69102c40401f40a54eb156601be73fb7605db0601845580f036fd284b7b303 -R 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004ba476e321e12c720000000000000001 -P 0 -V 0
98+
$ gramine-sgx-ias-verify-report -v -m -r rp -s sp -i ias.pem -n thisisnonce -S 14b284525c45c4f526bf1535d05bd88aa73b9e184464f2d97be3dabc0d187b57 -E 4d69102c40401f40a54eb156601be73fb7605db0601845580f036fd284b7b303 -R 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004ba476e321e12c720000000000000001 -P 0 -V 0
8799
Verbose output enabled
88100
Endianness set to MSB
89101
Using IAS public key from file 'ias.pem'
90102
IAS key: RSA, 2048 bits
91103
Decoded IAS signature size: 256 bytes
92104
IAS report: signature verified correctly
93-
IAS report: allowing quote status GROUP_OUT_OF_DATE
94105
IAS report: nonce OK
95106
IAS report: quote decoded, size 432 bytes
96107
[...quote dump...]

tools/sgx/common/ias.c

Lines changed: 41 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -620,9 +620,40 @@ int ias_send_quote_get_report_raw(struct ias_context_t* context, const void* quo
620620
return ret;
621621
}
622622

623+
static int print_allowed_and_advisories(char* quote_status_str, cJSON* json) {
624+
INFO("IAS report: allowing quote status %s\n", quote_status_str);
625+
626+
cJSON* url_node = cJSON_GetObjectItem(json, "advisoryURL");
627+
if (url_node) {
628+
if (url_node->type != cJSON_String) {
629+
ERROR("Unexpected type of `advisoryURL` field (expected JSON string)\n");
630+
return -1;
631+
}
632+
INFO(" [ advisory URL: %s ]\n", url_node->valuestring);
633+
}
634+
635+
cJSON* ids_node = cJSON_GetObjectItem(json, "advisoryIDs");
636+
if (ids_node) {
637+
if (ids_node->type != cJSON_Array) {
638+
ERROR("Unexpected type of `advisoryIDs` field (expected JSON array)\n");
639+
return -1;
640+
}
641+
char* ids_str = cJSON_Print(ids_node);
642+
if (!ids_str) {
643+
ERROR("Failed to print `advisoryIDs` field\n");
644+
return -1;
645+
}
646+
INFO(" [ advisory IDs: %s ]\n", ids_str);
647+
free(ids_str);
648+
}
649+
650+
return 0;
651+
}
652+
623653
int ias_verify_report_extract_quote(const uint8_t* ias_report, size_t ias_report_size,
624654
uint8_t* ias_sig_b64, size_t ias_sig_b64_size,
625-
bool allow_outdated_tcb, const char* nonce,
655+
bool allow_outdated_tcb, bool allow_hw_config_needed,
656+
bool allow_sw_hardening_needed, const char* nonce,
626657
const char* ias_pub_key_pem, char (*enclave_quote_status)[128],
627658
uint8_t** out_quote, size_t* out_quote_size) {
628659
mbedtls_pk_context ias_pub_key;
@@ -734,30 +765,15 @@ int ias_verify_report_extract_quote(const uint8_t* ias_report, size_t ias_report
734765
if (strcmp("OK", node->valuestring) == 0) {
735766
ret = 0;
736767
INFO("IAS report: quote status OK\n");
737-
} else if (allow_outdated_tcb && (
738-
strcmp("GROUP_OUT_OF_DATE", node->valuestring) == 0
739-
|| strcmp("CONFIGURATION_NEEDED", node->valuestring) == 0
740-
|| strcmp("SW_HARDENING_NEEDED", node->valuestring) == 0
741-
|| strcmp("CONFIGURATION_AND_SW_HARDENING_NEEDED", node->valuestring) == 0
742-
)) {
743-
ret = 0;
744-
INFO("IAS report: allowing quote status %s\n", node->valuestring);
745-
746-
cJSON* url_node = cJSON_GetObjectItem(json, "advisoryURL");
747-
if (url_node && url_node->type == cJSON_String)
748-
INFO(" [ advisory URL: %s ]\n", url_node->valuestring);
749-
750-
cJSON* ids_node = cJSON_GetObjectItem(json, "advisoryIDs");
751-
if (ids_node && ids_node->type == cJSON_Array) {
752-
char* ids_str = cJSON_Print(ids_node);
753-
if (!ids_str) {
754-
ERROR("IAS report: out-of-memory during reading advisoryIDs\n");
755-
ret = -1;
756-
goto out;
757-
}
758-
INFO(" [ advisory IDs: %s ]\n", ids_str);
759-
free(ids_str);
760-
}
768+
} else if (allow_outdated_tcb && strcmp("GROUP_OUT_OF_DATE", node->valuestring) == 0) {
769+
ret = print_allowed_and_advisories(node->valuestring, json);
770+
} else if (allow_hw_config_needed && strcmp("CONFIGURATION_NEEDED", node->valuestring) == 0) {
771+
ret = print_allowed_and_advisories(node->valuestring, json);
772+
} else if (allow_sw_hardening_needed && strcmp("SW_HARDENING_NEEDED", node->valuestring) == 0) {
773+
ret = print_allowed_and_advisories(node->valuestring, json);
774+
} else if (allow_hw_config_needed && allow_sw_hardening_needed
775+
&& strcmp("CONFIGURATION_AND_SW_HARDENING_NEEDED", node->valuestring) == 0) {
776+
ret = print_allowed_and_advisories(node->valuestring, json);
761777
}
762778

763779
if (ret != 0) {

tools/sgx/common/ias.h

Lines changed: 21 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -103,26 +103,31 @@ int ias_send_quote_get_report_raw(struct ias_context_t* context, const void* quo
103103
* \brief Verify IAS attestation report. Also extract the SGX quote contained in IAS report:
104104
* allocate enough memory to hold the quote and pass it to the user.
105105
*
106-
* \param ias_report IAS attestation verification report.
107-
* \param ias_report_size Size of \p ias_report in bytes.
108-
* \param ias_sig_b64 IAS report signature (base64-encoded as returned by IAS).
109-
* \param ias_sig_b64_size Size of \p ias_sig_b64 in bytes.
110-
* \param allow_outdated_tcb Treat IAS status codes: GROUP_OUT_OF_DATE, CONFIGURATION_NEEDED,
111-
* SW_HARDENING_NEEDED, CONFIGURATION_AND_SW_HARDENING_NEEDED as OK.
112-
* \param nonce (Optional) Nonce that's expected in the report.
113-
* \param ias_pub_key_pem (Optional) IAS public RSA key (PEM format, NULL-terminated).
114-
* If not specified, a hardcoded Intel's key is used.
115-
* \param enclave_quote_status (Optional) If non-NULL, this contains the returned
116-
* `isvEnclaveQuoteStatus` string on enclave quote status verification
117-
* failure. The string may be truncated to fit into 128 bytes
118-
* (including the terminating NULL char).
119-
* \param[out] out_quote Buffer with quote. User is responsible for freeing it.
120-
* \param[out] out_quote_size Size of \p out_quote in bytes.
106+
* \param ias_report IAS attestation verification report.
107+
* \param ias_report_size Size of \p ias_report in bytes.
108+
* \param ias_sig_b64 IAS report signature (base64-encoded as returned by IAS).
109+
* \param ias_sig_b64_size Size of \p ias_sig_b64 in bytes.
110+
* \param allow_outdated_tcb Treat IAS status code GROUP_OUT_OF_DATE as OK.
111+
* \param allow_hw_config_needed Treat IAS status code CONFIGURATION_NEEDED as OK.
112+
* \param allow_sw_hardening_needed Treat IAS status code SW_HARDENING_NEEDED as OK.
113+
* \param nonce (Optional) Nonce that's expected in the report.
114+
* \param ias_pub_key_pem (Optional) IAS public RSA key (PEM format, NULL-terminated).
115+
* If not specified, a hardcoded Intel's key is used.
116+
* \param enclave_quote_status (Optional) If non-NULL, this contains the returned
117+
* `isvEnclaveQuoteStatus` string on enclave quote status
118+
* verification failure. The string may be truncated to fit into
119+
* 128 bytes (including the terminating NULL char).
120+
* \param[out] out_quote Buffer with quote. User is responsible for freeing it.
121+
* \param[out] out_quote_size Size of \p out_quote in bytes.
121122
*
122123
* \returns 0 on successful verification, negative value on error.
124+
*
125+
* To treat the IAS status code CONFIGURATION_AND_SW_HARDENING_NEEDED as OK, both
126+
* \p allow_hw_config_needed and \p allow_sw_hardening_needed must be set to true.
123127
*/
124128
int ias_verify_report_extract_quote(const uint8_t* ias_report, size_t ias_report_size,
125129
uint8_t* ias_sig_b64, size_t ias_sig_b64_size,
126-
bool allow_outdated_tcb, const char* nonce,
130+
bool allow_outdated_tcb, bool allow_hw_config_needed,
131+
bool allow_sw_hardening_needed, const char* nonce,
127132
const char* ias_pub_key_pem, char (*enclave_quote_status)[128],
128133
uint8_t** out_quote, size_t* out_quote_size);

tools/sgx/ra-tls/ra_tls.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@
1414
#define RA_TLS_EPID_API_KEY "RA_TLS_EPID_API_KEY"
1515

1616
#define RA_TLS_ALLOW_OUTDATED_TCB_INSECURE "RA_TLS_ALLOW_OUTDATED_TCB_INSECURE"
17+
#define RA_TLS_ALLOW_HW_CONFIG_NEEDED "RA_TLS_ALLOW_HW_CONFIG_NEEDED"
18+
#define RA_TLS_ALLOW_SW_HARDENING_NEEDED "RA_TLS_ALLOW_SW_HARDENING_NEEDED"
1719
#define RA_TLS_ALLOW_DEBUG_ENCLAVE_INSECURE "RA_TLS_ALLOW_DEBUG_ENCLAVE_INSECURE"
1820

1921
#define RA_TLS_MRSIGNER "RA_TLS_MRSIGNER"

0 commit comments

Comments
 (0)