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; } 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; } 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; } 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; }