123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196 |
- #ifndef _PVE_TLV_COMMON_H
- #define _PVE_TLV_COMMON_H
- #include "se_cdefs.h"
- #include "se_types.h"
- #include "sgx_key.h"
- #include "byte_order.h"
- typedef enum _tlv_enum_type_t{
- TLV_CIPHER_TEXT=0,
- TLV_BLOCK_CIPHER_TEXT,
- TLV_BLOCK_CIPHER_INFO,
- TLV_MESSAGE_AUTHENTICATION_CODE,
- TLV_NONCE,
- TLV_EPID_GID,
- TLV_EPID_SIG_RL,
- TLV_EPID_GROUP_CERT,
-
- TLV_DEVICE_ID,
- TLV_PS_ID,
- TLV_EPID_JOIN_PROOF,
- TLV_EPID_SIG,
- TLV_EPID_MEMBERSHIP_CREDENTIAL,
- TLV_EPID_PSVN,
-
- TLV_QUOTE,
- TLV_X509_CERT_TLV,
- TLV_X509_CSR_TLV,
-
- TLV_ES_SELECTOR,
- TLV_ES_INFORMATION,
-
- TLV_FLAGS,
-
- TLV_QUOTE_SIG,
- TLV_PLATFORM_INFO_BLOB,
-
- TLV_SIGNATURE,
-
- TLV_PEK,
- TLV_PLATFORM_INFO,
- TLV_PWK2,
- TLV_SE_REPORT
- }tlv_enum_type_t;
- typedef enum _aesm_network_server_enum_type_t{
- SE_EPID_PROVISIONING,
- PSE_PROVISIONING,
- ENDPOINT_SELECTION,
- REVOCATION_LIST_RETRIEVAL,
- PSE_OCSP,
- SGX_WHITE_LIST_FILE
- }aesm_network_server_enum_type_t;
- typedef enum _pve_msg_type_t
- {
- TYPE_PROV_MSG1,
- TYPE_PROV_MSG2,
- TYPE_PROV_MSG3,
- TYPE_PROV_MSG4
- }pve_msg_type_t;
- typedef enum _pse_msg_type_t
- {
- TYPE_PSE_MSG1,
- TYPE_PSE_MSG2,
- TYPE_PSE_MSG3,
- TYPE_PSE_MSG4
- }pse_msg_type_t;
- typedef enum _es_msg_type_t
- {
- TYPE_ES_MSG1,
- TYPE_ES_MSG2
- }es_msg_type_t;
- typedef enum _rlr_msg_type_t
- {
- TYPE_RLR_MSG1,
- TYPE_RLR_MSG2
- }rlr_msg_type_t;
- #include "epid_pve_type.h"
- typedef uint16_t general_response_status_t;
- enum _general_response_status_t
- {
- GRS_OK,
- GRS_SERVER_BUSY,
- GRS_INTEGRITY_CHECK_FAIL,
- GRS_INCORRECT_SYNTAX,
- GRS_INCOMPATIBLE_VERSION,
- GRS_TRANSACTION_STATE_LOST,
- GRS_PROTOCOL_ERROR,
- GRS_INTERNAL_ERROR
- };
- typedef uint16_t se_protocol_response_status_t;
- enum _se_protocol_response_status_t
- {
- SE_PRS_OK,
- SE_PRS_PLATFORM_REVOKED,
- SE_PRS_STATUS_INTEGRITY_FAILED,
- SE_PRS_PERFORMANCE_REKEY_NOT_SUPPORTED,
- SE_PRS_PROVISIONING_ERROR,
- SE_PRS_INVALID_REQUEST,
- SE_PRS_PROV_ATTEST_KEY_NOT_FOUND,
- SE_PRS_INVALID_REPORT
- };
- typedef uint16_t pse_protocol_response_status_t;
- enum _pse_protocol_response_status_t
- {
- PSE_PRS_OK,
- PSE_PRS_INVALID_GID,
- PSE_PRS_GID_REVOKED,
- PSE_PRS_INVALID_QUOTE,
- PSE_PRS_INVALID_REQUEST
- };
- #pragma pack(1)
- #define NET_S_OK 0
- typedef struct _provision_request_header_t{
- uint8_t protocol;
- uint8_t version;
- uint8_t xid[XID_SIZE];
- uint8_t type;
- uint8_t size[4];
- }provision_request_header_t;
- typedef struct _provision_response_header_t{
- uint8_t protocol;
- uint8_t version;
- uint8_t xid[XID_SIZE];
- uint8_t type;
- uint8_t gstatus[2];
- uint8_t pstatus[2];
- uint8_t size[4];
- }provision_response_header_t;
- #pragma pack()
- #define PROVISION_REQUEST_HEADER_SIZE sizeof(provision_request_header_t)
- #define PROVISION_RESPONSE_HEADER_SIZE sizeof(provision_response_header_t)
- #define GET_BODY_SIZE_FROM_PROVISION_REQUEST(req) lv_ntohl(((const provision_request_header_t *)(req))->size)
- #define GET_BODY_SIZE_FROM_PROVISION_RESPONSE(resp) lv_ntohl(((const provision_response_header_t *)(resp))->size)
- #define GET_SIZE_FROM_PROVISION_REQUEST(req) (GET_BODY_SIZE_FROM_PROVISION_REQUEST(req)+PROVISION_REQUEST_HEADER_SIZE)
- #define GET_SIZE_FROM_PROVISION_RESPONSE(resp) (GET_BODY_SIZE_FROM_PROVISION_RESPONSE(resp)+PROVISION_RESPONSE_HEADER_SIZE)
- #define GET_TYPE_FROM_PROVISION_REQUEST(req) (((const provision_request_header_t *)(req))->type)
- #define GET_TYPE_FROM_PROVISION_RESPONSE(resp) (((const provision_response_header_t *)(resp))->type)
- #define TLV_VERSION_1 1
- #define TLV_VERSION_2 2
- #endif
|