/* * Copyright (C) 2011-2017 Intel Corporation. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * * * Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * * Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in * the documentation and/or other materials provided with the * distribution. * * Neither the name of Intel Corporation nor the names of its * contributors may be used to endorse or promote products derived * from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * */ package aesm.message; 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; required uint32 update_info_size = 3; optional uint32 timeout = 9; } //private API message CreateSessionRequest{ required uint32 dh_msg1_size = 1; optional uint32 timeout = 9; } message InvokeServiceRequest{ required bytes pse_message = 1; required uint32 pse_resp_size = 2; optional uint32 timeout = 9; } message ExchangeReportRequest{ required uint32 session_id = 1; required bytes se_dh_msg2 = 2; required uint32 se_dh_msg3_size = 3; optional uint32 timeout = 9; } message CloseSessionRequest{ required uint32 session_id = 1; optional uint32 timeout = 9; } message GetPsCapRequest{ 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; } optional InitQuoteRequest initQuoteReq = 1; optional GetQuoteRequest getQuoteReq = 2; optional GetLaunchTokenRequest getLicTokenReq = 3; optional ReportAttestationErrorRequest reportErrReq = 4; optional CreateSessionRequest createSessionReq = 5; optional InvokeServiceRequest invokeServiceReq = 6; optional ExchangeReportRequest exchangeReportReq = 7; optional CloseSessionRequest closeSessionReq = 8; optional GetPsCapRequest getPsCapReq = 9; optional GetWhiteListSizeRequest getWhiteListSizeReq = 10; optional GetWhiteListRequest getWhiteListReq = 11; optional SGXGetExtendedEpidGroupIdRequest sgxGetExtendedEpidGroupIdReq = 12; optional SGXSwitchExtendedEpidGroupRequest sgxSwitchExtendedEpidGroupReq = 13; } message Response{ message InitQuoteResponse{ required uint32 errorCode = 1 [default = 1]; optional bytes targetInfo = 2; optional bytes gid = 3; } message GetQuoteResponse{ required uint32 errorCode = 1 [default = 1]; optional bytes quote = 2; 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; } //private API message CreateSessionResponse{ required uint32 errorCode = 1 [default = 1]; optional uint32 session_id = 2; optional bytes se_dh_msg1 = 3; } message InvokeServiceResponse{ required uint32 errorCode = 1 [default = 1]; optional bytes pse_message = 2; } message ExchangeReportResponse{ required uint32 errorCode = 1 [default = 1]; optional bytes se_dh_msg3 = 2; } message CloseSessionResponse{ required uint32 errorCode = 1 [default = 1]; } message GetPsCapResponse{ required uint32 errorCode = 1 [default = 1]; optional uint64 ps_cap = 2; } 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]; } optional InitQuoteResponse initQuoteRes = 1; optional GetQuoteResponse getQuoteRes = 2; optional GetLaunchTokenResponse getLicTokenRes = 3; optional ReportAttestationErrorResponse reportErrRes = 4; optional CreateSessionResponse createSessionRes = 5; optional InvokeServiceResponse invokeServiceRes = 6; optional ExchangeReportResponse exchangeReportRes = 7; optional CloseSessionResponse closeSessionRes = 8; optional GetPsCapResponse getPsCapRes = 9; optional GetWhiteListSizeResponse getWhiteListSizeRes = 10; optional GetWhiteListResponse getWhiteListRes = 11; optional SGXGetExtendedEpidGroupIdResponse sgxGetExtendedEpidGroupIdRes = 12; optional SGXSwitchExtendedEpidGroupResponse sgxSwitchExtendedEpidGroupRes = 13; }