aesm-service.proto 1.3 KB
Newer Older
1 2
syntax = "proto3";

3
package aesm_service; // import "github.com/opencontainers/runc/libenclave/intelsgx/proto"
4

5
// Refer to https://github.com/intel/linux-sgx/blob/master/psw/ae/aesm_service/source/core/ipc/messages.proto
6

7 8
message AesmServiceRequest {

9 10 11 12
    message GetQeTargetInfo {
        uint32 timeout = 9;
    }

13 14 15 16 17 18 19 20 21 22 23
    message GetQuote {
        bytes report      = 1;
        uint32 quote_type = 2;
        bytes spid        = 3;
        bytes nonce       = 4;
        bytes sig_rl      = 5;
        uint32 buf_size   = 6;
        bool qe_report    = 7;
        uint32 timeout    = 9;
    }

24 25 26 27 28 29
    message GetLaunchToken {
        bytes enclavehash = 1;
        bytes modulus     = 2;
        bytes attributes  = 3;
        uint32 timeout    = 9;
    }
30

31
    GetQeTargetInfo getQeTargetInfo = 1;
32
    GetQuote getQuote               = 2;
33
    GetLaunchToken getLaunchToken   = 3;
34 35
}

36 37
message AesmServiceResponse {

38 39 40 41 42 43
    message GetQeTargetInfo {
        uint32 error     = 1;
        bytes targetinfo = 2;
        bytes gid        = 3;
    }

44 45 46 47 48 49
    message GetQuote {
        uint32 error    = 1;
        bytes quote     = 2;
        bytes qe_report = 3;
    }

50 51 52 53 54
    message GetLaunchToken {
        uint32 error = 1;
        bytes token  = 2;
    }

55
    GetQeTargetInfo getQeTargetInfo = 1;
56
    GetQuote getQuote               = 2;
57
    GetLaunchToken getLaunchToken   = 3;
58
}