Figured I would flag this for visibility.
The latest SGX-PSW/aesmd-v2.28 release removes support for:
- Launching enclaves using a Launch Token from the (now former) Launch Enclave
- Launch Enclave related AESMD client methods
- EPID remote attestation
As a consequence, this means methods like AesmClient::{init_quote, get_quote, get_launch_token} are no longer functional.
You can see the diff in the aesm_proto.proto here:
diff --git a/intel-sgx/aesm-client/src/aesm_proto.proto b/intel-sgx/aesm-client/src/aesm_proto.proto
index 7d316abb..6f0e7975 100644
--- a/intel-sgx/aesm-client/src/aesm_proto.proto
+++ b/intel-sgx/aesm-client/src/aesm_proto.proto
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2011-2020 Intel Corporation. All rights reserved.
+ * Copyright (C) 2011-2021 Intel Corporation. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -35,28 +35,6 @@ option optimize_for = LITE_RUNTIME;
message Request{
- message InitQuoteRequest{
- optional uint32 timeout = 9;
- }
-
- message GetQuoteRequest{
- required bytes report = 1;
- required uint32 quote_type = 2;
- required bytes spid = 3;
- optional bytes nonce = 4;
- optional bytes sig_rl = 5;
- required uint32 buf_size = 6;
- optional bool qe_report = 7;
- optional uint32 timeout = 9;
- }
-
- message GetLaunchTokenRequest{
- required bytes mr_enclave = 1;
- required bytes mr_signer = 2;
- required bytes se_attributes = 3;
- optional uint32 timeout = 9;
- }
-
message ReportAttestationErrorRequest{
required bytes platform_info = 1;
required uint32 attestation_error_code = 2;
@@ -64,37 +42,6 @@ message Request{
optional uint32 timeout = 9;
}
- message CheckUpdateStatusRequest{
- optional bytes platform_info = 1;
- required uint32 update_info_size = 2;
- required uint32 config = 3;
- optional uint32 timeout = 9;
- }
-
- message GetWhiteListSizeRequest{
- optional uint32 timeout = 9;
- }
-
- message GetWhiteListRequest{
- optional uint32 white_list_size = 1;
- optional uint32 timeout = 9;
- }
-
- message SGXGetExtendedEpidGroupIdRequest{
- optional uint32 timeout = 9;
- }
-
- message SGXSwitchExtendedEpidGroupRequest{
- optional uint32 x_group_id = 1;
- optional uint32 timeout = 9;
- }
-
- message SGXRegisterRequest{
- required bytes buf = 1;
- required uint32 data_type = 2;
- optional uint32 timeout = 9;
- }
-
message InitQuoteExRequest{
optional bytes att_key_id = 1;
required bool b_pub_key_id = 3;
@@ -127,19 +74,10 @@ message Request{
required uint32 buf_size = 1;
optional uint32 timeout = 9;
}
- optional InitQuoteRequest initQuoteReq = 1;
- optional GetQuoteRequest getQuoteReq = 2;
- optional GetLaunchTokenRequest getLicTokenReq = 3;
optional ReportAttestationErrorRequest reportErrReq = 4;
- optional GetWhiteListSizeRequest getWhiteListSizeReq = 10;
- optional GetWhiteListRequest getWhiteListReq = 11;
- optional SGXGetExtendedEpidGroupIdRequest sgxGetExtendedEpidGroupIdReq = 12;
- optional SGXSwitchExtendedEpidGroupRequest sgxSwitchExtendedEpidGroupReq = 13;
- optional SGXRegisterRequest sgxRegisterReq = 14;
optional InitQuoteExRequest initQuoteExReq = 15;
optional GetQuoteSizeExRequest getQuoteSizeExReq = 16;
optional GetQuoteExRequest getQuoteExReq = 17;
- optional CheckUpdateStatusRequest checkUpdateStatusReq = 18;
optional SelectAttKeyIDRequest selectAttKeyIDReq = 19;
optional GetSupportedAttKeyIDNumRequest getSupportedAttKeyIDNumReq = 21;
optional GetSupportedAttKeyIDsRequest getSupportedAttKeyIDsReq = 22;
@@ -159,44 +97,10 @@ message Response{
optional bytes qe_report = 3;
}
- message GetLaunchTokenResponse{
- required uint32 errorCode = 1 [default = 1];
- optional bytes token = 2;
- }
-
message ReportAttestationErrorResponse{
required uint32 errorCode = 1 [default = 1];
optional bytes platform_update_info = 2;
}
-
- message CheckUpdateStatusResponse{
- required uint32 errorCode = 1 [default = 1];
- optional bytes platform_update_info = 2;
- optional uint32 status = 3;
- }
-
- message GetWhiteListSizeResponse{
- required uint32 errorCode = 1 [default = 1];
- optional uint32 white_list_size = 2;
- }
-
- message GetWhiteListResponse{
- required uint32 errorCode = 1 [default = 1];
- optional bytes white_list = 2;
- }
-
- message SGXGetExtendedEpidGroupIdResponse{
- required uint32 errorCode = 1 [default = 1];
- optional uint32 x_group_id = 2;
- }
-
- message SGXSwitchExtendedEpidGroupResponse{
- required uint32 errorCode = 1 [ default = 1];
- }
-
- message SGXRegisterResponse{
- required uint32 errorCode = 1 [ default = 1];
- }
message SelectAttKeyIDResponse{
required uint32 errorCode = 1 [default = 1];
@@ -237,17 +141,10 @@ message Response{
}
optional InitQuoteResponse initQuoteRes = 1;
optional GetQuoteResponse getQuoteRes = 2;
- optional GetLaunchTokenResponse getLicTokenRes = 3;
optional ReportAttestationErrorResponse reportErrRes = 4;
- optional GetWhiteListSizeResponse getWhiteListSizeRes = 10;
- optional GetWhiteListResponse getWhiteListRes = 11;
- optional SGXGetExtendedEpidGroupIdResponse sgxGetExtendedEpidGroupIdRes = 12;
- optional SGXSwitchExtendedEpidGroupResponse sgxSwitchExtendedEpidGroupRes = 13;
- optional SGXRegisterResponse sgxRegisterRes = 14;
optional InitQuoteExResponse initQuoteExRes = 15;
optional GetQuoteSizeExResponse getQuoteSizeExRes = 16;
optional GetQuoteExResponse getQuoteExRes = 17;
- optional CheckUpdateStatusResponse checkUpdateStatusRes = 18;
optional SelectAttKeyIDResponse selectAttKeyIDRes = 19;
optional UnsupportedRequestResponse unsupportedRequestResponse = 20;
optional GetSupportedAttKeyIDNumResponse getSupportedAttKeyIDNumRes = 21;
At some point it's probably worth cutting a new series of releases that removes these AesmClient methods, EinittokenProvider, etc...
Figured I would flag this for visibility.
The latest SGX-PSW/aesmd-v2.28 release removes support for:
As a consequence, this means methods like
AesmClient::{init_quote, get_quote, get_launch_token}are no longer functional.You can see the diff in the
aesm_proto.protohere:At some point it's probably worth cutting a new series of releases that removes these
AesmClientmethods,EinittokenProvider, etc...