samplecode/psi/GoogleMessages/Messages.proto (99 lines of code) (raw):

package Messages; message InitialMessage { required uint32 type = 1; optional uint32 size = 2; } message MessageMsg0 { required uint32 type = 1; required uint32 epid = 2; optional uint32 status = 3; } message MessageMSG1 { required uint32 type = 1; required uint32 context = 2; repeated uint32 GaX = 3 [packed=true]; repeated uint32 GaY = 4 [packed=true]; repeated uint32 GID = 5 [packed=true]; } message MessageMSG2 { required uint32 type = 1; optional uint32 size = 2; required uint32 context = 3; repeated uint32 public_key_gx = 4 [packed=true]; repeated uint32 public_key_gy = 5 [packed=true]; optional uint32 quote_type = 6; repeated uint32 spid = 7 [packed=true]; optional uint32 cmac_kdf_id = 8; repeated uint32 signature_x = 9 [packed=true]; repeated uint32 signature_y = 10 [packed=true]; repeated uint32 smac = 11 [packed=true]; optional uint32 size_sigrl = 12; repeated uint32 sigrl = 13 [packed=true]; } message MessageMSG3 { required uint32 type = 1; optional uint32 size = 2; required uint32 context = 3; repeated uint32 sgx_mac = 4 [packed=true]; repeated uint32 gax_msg3 = 5 [packed=true]; repeated uint32 gay_msg3 = 6 [packed=true]; repeated uint32 sec_property = 7 [packed=true]; repeated uint32 quote = 8 [packed=true]; } message AttestationMessage { required uint32 type = 1; required uint32 size = 2; required uint32 context = 3; optional uint32 epid_group_status = 4; optional uint32 tcb_evaluation_status = 5; optional uint32 pse_evaluation_status = 6; repeated uint32 latest_equivalent_tcb_psvn = 7 [packed=true]; repeated uint32 latest_pse_isvsvn = 8 [packed=true]; repeated uint32 latest_psda_svn = 9 [packed=true]; repeated uint32 performance_rekey_gid = 10 [packed=true]; repeated uint32 ec_sign256_x = 11 [packed=true]; repeated uint32 ec_sign256_y = 12 [packed=true]; repeated uint32 mac_smk = 13 [packed=true]; optional uint32 result_size = 14; repeated uint32 reserved = 15 [packed=true]; repeated uint32 payload_tag = 16 [packed=true]; repeated uint32 payload = 17 [packed=true]; } message MessagePsiSalt { required uint32 type = 1; required uint32 size = 2; required uint32 context = 3; required uint32 id = 4; required uint32 state = 5; repeated uint32 mac = 6 [packed=true]; repeated uint32 salt = 7 [packed=true]; } message MessagePsiHashData { required uint32 type = 1; required uint32 size = 2; required uint32 context = 3; required uint32 id = 4; repeated uint32 mac = 5 [packed=true]; repeated uint32 data = 6 [packed=true]; } message MessagePsiHashDataFinished { required uint32 type = 1; required uint32 size = 2; required uint32 context = 3; required uint32 id = 4; } message MessagePsiResult { required uint32 type = 1; required uint32 size = 2; required uint32 context = 3; required uint32 id = 4; required uint32 state = 5; } message MessagePsiIntersect { required uint32 type = 1; required uint32 size = 2; required uint32 context = 3; required uint32 id = 4; repeated uint32 mac = 5 [packed=true]; repeated uint32 data = 6 [packed=true]; }