TianoCore EDK2 master
Loading...
Searching...
No Matches
Spdm.h File Reference

Go to the source code of this file.

Data Structures

struct  SPDM_MESSAGE_HEADER
 
struct  SPDM_GET_VERSION_REQUEST
 
struct  SPDM_VERSION_RESPONSE
 
struct  SPDM_GET_CAPABILITIES_REQUEST
 
struct  SPDM_CAPABILITIES_RESPONSE
 
struct  SPDM_NEGOTIATE_ALGORITHMS_REQUEST
 
struct  SPDM_NEGOTIATE_ALGORITHMS_STRUCT_TABLE
 
struct  SPDM_NEGOTIATE_ALGORITHMS_STRUCT_TABLE_ALG_COUNT
 
struct  SPDM_NEGOTIATE_ALGORITHMS_COMMON_STRUCT_TABLE
 
struct  SPDM_ALGORITHMS_RESPONSE
 
struct  SPDM_GENERAL_OPAQUE_DATA_TABLE_HEADER
 
struct  SPDM_EXTENDED_ALGORITHM
 
struct  SPDM_GET_DIGESTS_REQUEST
 
struct  SPDM_DIGESTS_RESPONSE
 
struct  SPDM_GET_CERTIFICATE_REQUEST
 
struct  SPDM_CERTIFICATE_RESPONSE
 
struct  SPDM_CERT_CHAIN
 
struct  SPDM_CHALLENGE_REQUEST
 
struct  SPDM_CHALLENGE_AUTH_RESPONSE
 
struct  SPDM_CHALLENGE_AUTH_RESPONSE_ATTRIBUTE
 
struct  SPDM_GET_MEASUREMENTS_REQUEST
 
struct  SPDM_GET_MEASUREMENTS_REQUEST_SLOT_ID_PARAMETER
 
struct  SPDM_MEASUREMENT_BLOCK_COMMON_HEADER
 
struct  SPDM_MEASUREMENT_BLOCK_DMTF_HEADER
 
struct  SPDM_MEASUREMENT_BLOCK_DMTF
 
struct  SPDM_MEASUREMENTS_BLOCK_MEASUREMENT_TYPE
 
struct  SPDM_MEASUREMENT_DEVICE_MODE
 
struct  SPDM_MEASUREMENTS_RESPONSE
 
struct  SPDM_ERROR_RESPONSE
 
struct  SPDM_ERROR_DATA_RESPONSE_NOT_READY
 
struct  SPDM_ERROR_RESPONSE_DATA_RESPONSE_NOT_READY
 
struct  SPDM_ERROR_DATA_LARGE_RESPONSE
 
struct  SPDM_ERROR_RESPONSE_LARGE_RESPONSE
 
struct  SPDM_RESPONSE_IF_READY_REQUEST
 
struct  SPDM_VENDOR_DEFINED_REQUEST_MSG
 
struct  SPDM_VENDOR_DEFINED_RESPONSE_MSG
 
struct  SPDM_KEY_EXCHANGE_REQUEST
 
struct  SPDM_KEY_EXCHANGE_RESPONSE
 
struct  SPDM_FINISH_REQUEST
 
struct  SPDM_FINISH_RESPONSE
 
struct  SPDM_PSK_EXCHANGE_REQUEST
 
struct  SPDM_PSK_EXCHANGE_RESPONSE
 
struct  SPDM_PSK_FINISH_REQUEST
 
struct  SPDM_PSK_FINISH_RESPONSE
 
struct  SPDM_HEARTBEAT_REQUEST
 
struct  SPDM_HEARTBEAT_RESPONSE
 
struct  SPDM_KEY_UPDATE_REQUEST
 
struct  SPDM_KEY_UPDATE_RESPONSE
 
struct  SPDM_GET_ENCAPSULATED_REQUEST_REQUEST
 
struct  SPDM_ENCAPSULATED_REQUEST_RESPONSE
 
struct  SPDM_DELIVER_ENCAPSULATED_RESPONSE_REQUEST
 
struct  SPDM_ENCAPSULATED_RESPONSE_ACK_RESPONSE
 
struct  SPDM_END_SESSION_REQUEST
 
struct  SPDM_END_SESSION_RESPONSE
 
struct  SPDM_SET_CERTIFICATE_REQUEST
 
struct  SPDM_SET_CERTIFICATE_RESPONSE
 
struct  SPDM_GET_CSR_REQUEST
 
struct  SPDM_CSR_RESPONSE
 
struct  SPDM_CHUNK_SEND_REQUEST
 
struct  SPDM_CHUNK_SEND_ACK_RESPONSE
 
struct  SPDM_CHUNK_GET_REQUEST
 
struct  SPDM_CHUNK_RESPONSE_RESPONSE
 

Macros

#define SPDM_MAX_SLOT_COUNT   8
 
#define SPDM_MAX_OPAQUE_DATA_SIZE   1024
 
#define SPDM_NONCE_SIZE   32
 
#define SPDM_RANDOM_DATA_SIZE   32
 
#define SPDM_DIGESTS   0x01
 
#define SPDM_CERTIFICATE   0x02
 
#define SPDM_CHALLENGE_AUTH   0x03
 
#define SPDM_VERSION   0x04
 
#define SPDM_MEASUREMENTS   0x60
 
#define SPDM_CAPABILITIES   0x61
 
#define SPDM_ALGORITHMS   0x63
 
#define SPDM_VENDOR_DEFINED_RESPONSE   0x7E
 
#define SPDM_ERROR   0x7F
 
#define SPDM_KEY_EXCHANGE_RSP   0x64
 
#define SPDM_FINISH_RSP   0x65
 
#define SPDM_PSK_EXCHANGE_RSP   0x66
 
#define SPDM_PSK_FINISH_RSP   0x67
 
#define SPDM_HEARTBEAT_ACK   0x68
 
#define SPDM_KEY_UPDATE_ACK   0x69
 
#define SPDM_ENCAPSULATED_REQUEST   0x6A
 
#define SPDM_ENCAPSULATED_RESPONSE_ACK   0x6B
 
#define SPDM_END_SESSION_ACK   0x6C
 
#define SPDM_CSR   0x6D
 
#define SPDM_SET_CERTIFICATE_RSP   0x6E
 
#define SPDM_CHUNK_SEND_ACK   0x05
 
#define SPDM_CHUNK_RESPONSE   0x06
 
#define SPDM_GET_DIGESTS   0x81
 
#define SPDM_GET_CERTIFICATE   0x82
 
#define SPDM_CHALLENGE   0x83
 
#define SPDM_GET_VERSION   0x84
 
#define SPDM_GET_MEASUREMENTS   0xE0
 
#define SPDM_GET_CAPABILITIES   0xE1
 
#define SPDM_NEGOTIATE_ALGORITHMS   0xE3
 
#define SPDM_VENDOR_DEFINED_REQUEST   0xFE
 
#define SPDM_RESPOND_IF_READY   0xFF
 
#define SPDM_KEY_EXCHANGE   0xE4
 
#define SPDM_FINISH   0xE5
 
#define SPDM_PSK_EXCHANGE   0xE6
 
#define SPDM_PSK_FINISH   0xE7
 
#define SPDM_HEARTBEAT   0xE8
 
#define SPDM_KEY_UPDATE   0xE9
 
#define SPDM_GET_ENCAPSULATED_REQUEST   0xEA
 
#define SPDM_DELIVER_ENCAPSULATED_RESPONSE   0xEB
 
#define SPDM_END_SESSION   0xEC
 
#define SPDM_GET_CSR   0xED
 
#define SPDM_SET_CERTIFICATE   0xEE
 
#define SPDM_CHUNK_SEND   0x85
 
#define SPDM_CHUNK_GET   0x86
 
#define SPDM_MESSAGE_VERSION_10   0x10
 
#define SPDM_MESSAGE_VERSION_11   0x11
 
#define SPDM_MESSAGE_VERSION_12   0x12
 
#define SPDM_MESSAGE_VERSION   SPDM_MESSAGE_VERSION_10
 
#define SPDM_VERSION_NUMBER_SHIFT_BIT   8
 
#define SPDM_VERSION_1_2_SIGNING_PREFIX_CONTEXT   "dmtf-spdm-v1.2.*"
 
#define SPDM_VERSION_1_2_SIGNING_PREFIX_CONTEXT_SIZE    (sizeof(SPDM_VERSION_1_2_SIGNING_PREFIX_CONTEXT) - 1)
 
#define SPDM_VERSION_1_2_SIGNING_CONTEXT_SIZE   100
 
#define SPDM_MIN_DATA_TRANSFER_SIZE_VERSION_12   42
 
#define SPDM_GET_CAPABILITIES_REQUEST_FLAGS_CERT_CAP   BIT1
 
#define SPDM_GET_CAPABILITIES_REQUEST_FLAGS_CHAL_CAP   BIT2
 
#define SPDM_GET_CAPABILITIES_REQUEST_FLAGS_ENCRYPT_CAP   BIT6
 
#define SPDM_GET_CAPABILITIES_REQUEST_FLAGS_MAC_CAP   BIT7
 
#define SPDM_GET_CAPABILITIES_REQUEST_FLAGS_MUT_AUTH_CAP   BIT8
 
#define SPDM_GET_CAPABILITIES_REQUEST_FLAGS_KEY_EX_CAP   BIT9
 
#define SPDM_GET_CAPABILITIES_REQUEST_FLAGS_PSK_CAP   (BIT10 | BIT11)
 
#define SPDM_GET_CAPABILITIES_REQUEST_FLAGS_PSK_CAP_REQUESTER   BIT10
 
#define SPDM_GET_CAPABILITIES_REQUEST_FLAGS_ENCAP_CAP   BIT12
 
#define SPDM_GET_CAPABILITIES_REQUEST_FLAGS_HBEAT_CAP   BIT13
 
#define SPDM_GET_CAPABILITIES_REQUEST_FLAGS_KEY_UPD_CAP   BIT14
 
#define SPDM_GET_CAPABILITIES_REQUEST_FLAGS_HANDSHAKE_IN_THE_CLEAR_CAP   BIT15
 
#define SPDM_GET_CAPABILITIES_REQUEST_FLAGS_PUB_KEY_ID_CAP   BIT16
 
#define SPDM_GET_CAPABILITIES_REQUEST_FLAGS_11_MASK
 
#define SPDM_GET_CAPABILITIES_REQUEST_FLAGS_CHUNK_CAP   BIT17
 
#define SPDM_GET_CAPABILITIES_REQUEST_FLAGS_12_MASK
 
#define SPDM_GET_CAPABILITIES_RESPONSE_FLAGS_CACHE_CAP   BIT0
 
#define SPDM_GET_CAPABILITIES_RESPONSE_FLAGS_CERT_CAP   BIT1
 
#define SPDM_GET_CAPABILITIES_RESPONSE_FLAGS_CHAL_CAP   BIT2
 
#define SPDM_GET_CAPABILITIES_RESPONSE_FLAGS_MEAS_CAP   (BIT3 | BIT4)
 
#define SPDM_GET_CAPABILITIES_RESPONSE_FLAGS_MEAS_CAP_NO_SIG   BIT3
 
#define SPDM_GET_CAPABILITIES_RESPONSE_FLAGS_MEAS_CAP_SIG   BIT4
 
#define SPDM_GET_CAPABILITIES_RESPONSE_FLAGS_MEAS_FRESH_CAP   BIT5
 
#define SPDM_GET_CAPABILITIES_RESPONSE_FLAGS_10_MASK
 
#define SPDM_GET_CAPABILITIES_RESPONSE_FLAGS_ENCRYPT_CAP   BIT6
 
#define SPDM_GET_CAPABILITIES_RESPONSE_FLAGS_MAC_CAP   BIT7
 
#define SPDM_GET_CAPABILITIES_RESPONSE_FLAGS_MUT_AUTH_CAP   BIT8
 
#define SPDM_GET_CAPABILITIES_RESPONSE_FLAGS_KEY_EX_CAP   BIT9
 
#define SPDM_GET_CAPABILITIES_RESPONSE_FLAGS_PSK_CAP   (BIT10 | BIT11)
 
#define SPDM_GET_CAPABILITIES_RESPONSE_FLAGS_PSK_CAP_RESPONDER   BIT10
 
#define SPDM_GET_CAPABILITIES_RESPONSE_FLAGS_PSK_CAP_RESPONDER_WITH_CONTEXT   BIT11
 
#define SPDM_GET_CAPABILITIES_RESPONSE_FLAGS_ENCAP_CAP   BIT12
 
#define SPDM_GET_CAPABILITIES_RESPONSE_FLAGS_HBEAT_CAP   BIT13
 
#define SPDM_GET_CAPABILITIES_RESPONSE_FLAGS_KEY_UPD_CAP   BIT14
 
#define SPDM_GET_CAPABILITIES_RESPONSE_FLAGS_HANDSHAKE_IN_THE_CLEAR_CAP   BIT15
 
#define SPDM_GET_CAPABILITIES_RESPONSE_FLAGS_PUB_KEY_ID_CAP   BIT16
 
#define SPDM_GET_CAPABILITIES_RESPONSE_FLAGS_11_MASK
 
#define SPDM_GET_CAPABILITIES_RESPONSE_FLAGS_CHUNK_CAP   BIT17
 
#define SPDM_GET_CAPABILITIES_RESPONSE_FLAGS_ALIAS_CERT_CAP   BIT18
 
#define SPDM_GET_CAPABILITIES_RESPONSE_FLAGS_SET_CERT_CAP   BIT19
 
#define SPDM_GET_CAPABILITIES_RESPONSE_FLAGS_CSR_CAP   BIT20
 
#define SPDM_GET_CAPABILITIES_RESPONSE_FLAGS_CERT_INSTALL_RESET_CAP   BIT21
 
#define SPDM_GET_CAPABILITIES_RESPONSE_FLAGS_12_MASK
 
#define SPDM_NEGOTIATE_ALGORITHMS_REQUEST_MAX_LENGTH_VERSION_10   BIT6
 
#define SPDM_NEGOTIATE_ALGORITHMS_REQUEST_MAX_LENGTH_VERSION_11   BIT7
 
#define SPDM_NEGOTIATE_ALGORITHMS_REQUEST_MAX_LENGTH_VERSION_12   BIT7
 
#define SPDM_NEGOTIATE_ALGORITHMS_REQUEST_MAX_EXT_ALG_COUNT_VERSION_10   BIT3
 
#define SPDM_NEGOTIATE_ALGORITHMS_REQUEST_MAX_EXT_ALG_COUNT_VERSION_11   (BIT4 | BIT2)
 
#define SPDM_NEGOTIATE_ALGORITHMS_REQUEST_MAX_EXT_ALG_COUNT_VERSION_12   (BIT4 | BIT2)
 
#define SPDM_NEGOTIATE_ALGORITHMS_MAX_NUM_STRUCT_TABLE_ALG   4
 
#define SPDM_NEGOTIATE_ALGORITHMS_STRUCT_TABLE_ALG_TYPE_DHE   2
 
#define SPDM_NEGOTIATE_ALGORITHMS_STRUCT_TABLE_ALG_TYPE_AEAD   3
 
#define SPDM_NEGOTIATE_ALGORITHMS_STRUCT_TABLE_ALG_TYPE_REQ_BASE_ASYM_ALG   4
 
#define SPDM_NEGOTIATE_ALGORITHMS_STRUCT_TABLE_ALG_TYPE_KEY_SCHEDULE   5
 
#define SPDM_ALGORITHMS_BASE_ASYM_ALGO_TPM_ALG_RSASSA_2048   BIT0
 
#define SPDM_ALGORITHMS_BASE_ASYM_ALGO_TPM_ALG_RSAPSS_2048   BIT1
 
#define SPDM_ALGORITHMS_BASE_ASYM_ALGO_TPM_ALG_RSASSA_3072   BIT2
 
#define SPDM_ALGORITHMS_BASE_ASYM_ALGO_TPM_ALG_RSAPSS_3072   BIT3
 
#define SPDM_ALGORITHMS_BASE_ASYM_ALGO_TPM_ALG_ECDSA_ECC_NIST_P256   BIT4
 
#define SPDM_ALGORITHMS_BASE_ASYM_ALGO_TPM_ALG_RSASSA_4096   BIT5
 
#define SPDM_ALGORITHMS_BASE_ASYM_ALGO_TPM_ALG_RSAPSS_4096   BIT6
 
#define SPDM_ALGORITHMS_BASE_ASYM_ALGO_TPM_ALG_ECDSA_ECC_NIST_P384   BIT7
 
#define SPDM_ALGORITHMS_BASE_ASYM_ALGO_TPM_ALG_ECDSA_ECC_NIST_P521   BIT8
 
#define SPDM_ALGORITHMS_BASE_ASYM_ALGO_TPM_ALG_SM2_ECC_SM2_P256   BIT9
 
#define SPDM_ALGORITHMS_BASE_ASYM_ALGO_EDDSA_ED25519   BIT10
 
#define SPDM_ALGORITHMS_BASE_ASYM_ALGO_EDDSA_ED448   BIT11
 
#define SPDM_ALGORITHMS_BASE_HASH_ALGO_TPM_ALG_SHA_256   BIT0
 
#define SPDM_ALGORITHMS_BASE_HASH_ALGO_TPM_ALG_SHA_384   BIT1
 
#define SPDM_ALGORITHMS_BASE_HASH_ALGO_TPM_ALG_SHA_512   BIT2
 
#define SPDM_ALGORITHMS_BASE_HASH_ALGO_TPM_ALG_SHA3_256   BIT3
 
#define SPDM_ALGORITHMS_BASE_HASH_ALGO_TPM_ALG_SHA3_384   BIT4
 
#define SPDM_ALGORITHMS_BASE_HASH_ALGO_TPM_ALG_SHA3_512   BIT5
 
#define SPDM_ALGORITHMS_BASE_HASH_ALGO_TPM_ALG_SM3_256   BIT6
 
#define SPDM_ALGORITHMS_DHE_NAMED_GROUP_FFDHE_2048   BIT0
 
#define SPDM_ALGORITHMS_DHE_NAMED_GROUP_FFDHE_3072   BIT1
 
#define SPDM_ALGORITHMS_DHE_NAMED_GROUP_FFDHE_4096   BIT2
 
#define SPDM_ALGORITHMS_DHE_NAMED_GROUP_SECP_256_R1   BIT3
 
#define SPDM_ALGORITHMS_DHE_NAMED_GROUP_SECP_384_R1   BIT4
 
#define SPDM_ALGORITHMS_DHE_NAMED_GROUP_SECP_521_R1   BIT5
 
#define SPDM_ALGORITHMS_DHE_NAMED_GROUP_SM2_P256   BIT6
 
#define SPDM_ALGORITHMS_AEAD_CIPHER_SUITE_AES_128_GCM   BIT0
 
#define SPDM_ALGORITHMS_AEAD_CIPHER_SUITE_AES_256_GCM   BIT1
 
#define SPDM_ALGORITHMS_AEAD_CIPHER_SUITE_CHACHA20_POLY1305   BIT2
 
#define SPDM_ALGORITHMS_AEAD_CIPHER_SUITE_AEAD_SM4_GCM   BIT3
 
#define SPDM_ALGORITHMS_KEY_SCHEDULE_HMAC_HASH   BIT0
 
#define SPDM_ALGORITHMS_MEASUREMENT_HASH_ALGO_RAW_BIT_STREAM_ONLY   BIT0
 
#define SPDM_ALGORITHMS_MEASUREMENT_HASH_ALGO_TPM_ALG_SHA_256   BIT1
 
#define SPDM_ALGORITHMS_MEASUREMENT_HASH_ALGO_TPM_ALG_SHA_384   BIT2
 
#define SPDM_ALGORITHMS_MEASUREMENT_HASH_ALGO_TPM_ALG_SHA_512   BIT3
 
#define SPDM_ALGORITHMS_MEASUREMENT_HASH_ALGO_TPM_ALG_SHA3_256   BIT4
 
#define SPDM_ALGORITHMS_MEASUREMENT_HASH_ALGO_TPM_ALG_SHA3_384   BIT5
 
#define SPDM_ALGORITHMS_MEASUREMENT_HASH_ALGO_TPM_ALG_SHA3_512   BIT6
 
#define SPDM_ALGORITHMS_MEASUREMENT_HASH_ALGO_TPM_ALG_SM3_256   BIT7
 
#define SPDM_ALGORITHMS_OPAQUE_DATA_FORMAT_NONE   0x0
 
#define SPDM_ALGORITHMS_OPAQUE_DATA_FORMAT_0   0x1
 
#define SPDM_ALGORITHMS_OPAQUE_DATA_FORMAT_1   0x2
 
#define SPDM_ALGORITHMS_OPAQUE_DATA_FORMAT_MASK   0xF
 
#define SPDM_REGISTRY_ID_DMTF   0
 
#define SPDM_REGISTRY_ID_TCG   1
 
#define SPDM_REGISTRY_ID_USB   2
 
#define SPDM_REGISTRY_ID_PCISIG   3
 
#define SPDM_REGISTRY_ID_IANA   4
 
#define SPDM_REGISTRY_ID_HDBASET   5
 
#define SPDM_REGISTRY_ID_MIPI   6
 
#define SPDM_REGISTRY_ID_CXL   7
 
#define SPDM_REGISTRY_ID_JEDEC   8
 
#define SPDM_GET_CERTIFICATE_REQUEST_SLOT_ID_MASK   0xF
 
#define SPDM_CERTIFICATE_RESPONSE_SLOT_ID_MASK   0xF
 
#define SPDM_MAX_CERTIFICATE_CHAIN_SIZE   65535
 
#define SPDM_REQUEST_NO_MEASUREMENT_SUMMARY_HASH   0
 
#define SPDM_REQUEST_TCB_COMPONENT_MEASUREMENT_HASH   1
 
#define SPDM_REQUEST_ALL_MEASUREMENTS_HASH   0xFF
 
#define SPDM_CHALLENGE_REQUEST_NO_MEASUREMENT_SUMMARY_HASH   SPDM_REQUEST_NO_MEASUREMENT_SUMMARY_HASH
 
#define SPDM_CHALLENGE_REQUEST_TCB_COMPONENT_MEASUREMENT_HASH    SPDM_REQUEST_TCB_COMPONENT_MEASUREMENT_HASH
 
#define SPDM_CHALLENGE_REQUEST_ALL_MEASUREMENTS_HASH   SPDM_REQUEST_ALL_MEASUREMENTS_HASH
 
#define SPDM_CHALLENGE_AUTH_RESPONSE_ATTRIBUTE_SLOT_ID_MASK   0xF
 
#define SPDM_CHALLENGE_AUTH_RESPONSE_ATTRIBUTE_BASIC_MUT_AUTH_REQ   BIT7
 
#define SPDM_CHALLENGE_AUTH_SIGN_CONTEXT   "responder-challenge_auth signing"
 
#define SPDM_CHALLENGE_AUTH_SIGN_CONTEXT_SIZE   (sizeof(SPDM_CHALLENGE_AUTH_SIGN_CONTEXT) - 1)
 
#define SPDM_MUT_CHALLENGE_AUTH_SIGN_CONTEXT   "requester-challenge_auth signing"
 
#define SPDM_MUT_CHALLENGE_AUTH_SIGN_CONTEXT_SIZE   (sizeof(SPDM_MUT_CHALLENGE_AUTH_SIGN_CONTEXT) - 1)
 
#define SPDM_GET_MEASUREMENTS_REQUEST_SLOT_ID_MASK   0xF
 
#define SPDM_GET_MEASUREMENTS_REQUEST_ATTRIBUTES_GENERATE_SIGNATURE   BIT0
 
#define SPDM_GET_MEASUREMENTS_REQUEST_ATTRIBUTES_RAW_BIT_STREAM_REQUESTED   BIT1
 
#define SPDM_GET_MEASUREMENTS_REQUEST_ATTRIBUTES_NEW_MEASUREMENT_REQUESTED   BIT2
 
#define SPDM_GET_MEASUREMENTS_REQUEST_MEASUREMENT_OPERATION_TOTAL_NUMBER_OF_MEASUREMENTS   0
 
#define SPDM_GET_MEASUREMENTS_REQUEST_MEASUREMENT_OPERATION_ALL_MEASUREMENTS   0xFF
 
#define SPDM_MEASUREMENT_BLOCK_HEADER_SPECIFICATION_DMTF   BIT0
 
#define SPDM_MEASUREMENT_BLOCK_MEASUREMENT_TYPE_IMMUTABLE_ROM   0
 
#define SPDM_MEASUREMENT_BLOCK_MEASUREMENT_TYPE_MUTABLE_FIRMWARE   1
 
#define SPDM_MEASUREMENT_BLOCK_MEASUREMENT_TYPE_HARDWARE_CONFIGURATION   2
 
#define SPDM_MEASUREMENT_BLOCK_MEASUREMENT_TYPE_FIRMWARE_CONFIGURATION   3
 
#define SPDM_MEASUREMENT_BLOCK_MEASUREMENT_TYPE_MEASUREMENT_MANIFEST   4
 
#define SPDM_MEASUREMENT_BLOCK_MEASUREMENT_TYPE_DEVICE_MODE   5
 
#define SPDM_MEASUREMENT_BLOCK_MEASUREMENT_TYPE_VERSION   6
 
#define SPDM_MEASUREMENT_BLOCK_MEASUREMENT_TYPE_SECURE_VERSION_NUMBER   7
 
#define SPDM_MEASUREMENT_BLOCK_MEASUREMENT_TYPE_MASK   0x7
 
#define SPDM_MEASUREMENT_BLOCK_MEASUREMENT_TYPE_RAW_BIT_STREAM   BIT7
 
#define SPDM_MEASUREMENT_BLOCK_MEASUREMENT_INDEX_MEASUREMENT_MANIFEST   0xFD
 
#define SPDM_MEASUREMENT_BLOCK_MEASUREMENT_INDEX_DEVICE_MODE   0xFE
 
#define SPDM_MEASUREMENT_DEVICE_OPERATION_MODE_MANUFACTURING_MODE   BIT0
 
#define SPDM_MEASUREMENT_DEVICE_OPERATION_MODE_VALIDATION_MODE   BIT1
 
#define SPDM_MEASUREMENT_DEVICE_OPERATION_MODE_NORMAL_MODE   BIT2
 
#define SPDM_MEASUREMENT_DEVICE_OPERATION_MODE_RECOVERY_MODE   BIT3
 
#define SPDM_MEASUREMENT_DEVICE_OPERATION_MODE_RMA_MODE   BIT4
 
#define SPDM_MEASUREMENT_DEVICE_OPERATION_MODE_DECOMMISSIONED_MODE   BIT5
 
#define SPDM_MEASUREMENT_DEVICE_MODE_NON_INVASIVE_DEBUG_MODE_IS_ACTIVE   BIT0
 
#define SPDM_MEASUREMENT_DEVICE_MODE_INVASIVE_DEBUG_MODE_IS_ACTIVE   BIT1
 
#define SPDM_MEASUREMENT_DEVICE_MODE_NON_INVASIVE_DEBUG_MODE_HAS_BEEN_ACTIVE   BIT2
 
#define SPDM_MEASUREMENT_DEVICE_MODE_INVASIVE_DEBUG_MODE_HAS_BEEN_ACTIVE   BIT3
 
#define SPDM_MEASUREMENT_DEVICE_MODE_INVASIVE_DEBUG_MODE_HAS_BEEN_ACTIVE_AFTER_MFG   BIT4
 
#define SPDM_MEASUREMENTS_RESPONSE_SLOT_ID_MASK   0xF
 
#define SPDM_MEASUREMENTS_RESPONSE_CONTENT_CHANGE_MASK   0x30
 
#define SPDM_MEASUREMENTS_RESPONSE_CONTENT_CHANGE_NO_DETECTION   0x00
 
#define SPDM_MEASUREMENTS_RESPONSE_CONTENT_CHANGE_DETECTED   0x10
 
#define SPDM_MEASUREMENTS_RESPONSE_CONTENT_NO_CHANGE_DETECTED   0x20
 
#define SPDM_MEASUREMENTS_SIGN_CONTEXT   "responder-measurements signing"
 
#define SPDM_MEASUREMENTS_SIGN_CONTEXT_SIZE   (sizeof(SPDM_MEASUREMENTS_SIGN_CONTEXT) - 1)
 
#define SPDM_MEL_SPECIFICATION_DMTF   BIT0
 
#define SPDM_EXTENDED_ERROR_DATA_MAX_SIZE   32
 
#define SPDM_ERROR_CODE_INVALID_REQUEST   0x01
 
#define SPDM_ERROR_CODE_BUSY   0x03
 
#define SPDM_ERROR_CODE_UNEXPECTED_REQUEST   0x04
 
#define SPDM_ERROR_CODE_UNSPECIFIED   0x05
 
#define SPDM_ERROR_CODE_UNSUPPORTED_REQUEST   0x07
 
#define SPDM_ERROR_CODE_VERSION_MISMATCH   0x41
 
#define SPDM_ERROR_CODE_RESPONSE_NOT_READY   0x42
 
#define SPDM_ERROR_CODE_REQUEST_RESYNCH   0x43
 
#define SPDM_ERROR_CODE_VENDOR_DEFINED   0xFF
 
#define SPDM_ERROR_CODE_DECRYPT_ERROR   0x06
 
#define SPDM_ERROR_CODE_REQUEST_IN_FLIGHT   0x08
 
#define SPDM_ERROR_CODE_INVALID_RESPONSE_CODE   0x09
 
#define SPDM_ERROR_CODE_SESSION_LIMIT_EXCEEDED   0x0A
 
#define SPDM_ERROR_CODE_SESSION_REQUIRED   0x0B
 
#define SPDM_ERROR_CODE_RESET_REQUIRED   0x0C
 
#define SPDM_ERROR_CODE_RESPONSE_TOO_LARGE   0x0D
 
#define SPDM_ERROR_CODE_REQUEST_TOO_LARGE   0x0E
 
#define SPDM_ERROR_CODE_LARGE_RESPONSE   0x0F
 
#define SPDM_ERROR_CODE_MESSAGE_LOST   0x10
 
#define SPDM_MAX_VENDOR_DEFINED_DATA_LEN   65535
 
#define SPDM_MAX_VENDOR_ID_LENGTH   255
 
#define SPDM_KEY_EXCHANGE_REQUEST_SESSION_POLICY_TERMINATION_POLICY_RUNTIME_UPDATE   BIT0
 
#define SPDM_KEY_EXCHANGE_REQUEST_NO_MEASUREMENT_SUMMARY_HASH    SPDM_REQUEST_NO_MEASUREMENT_SUMMARY_HASH
 
#define SPDM_KEY_EXCHANGE_REQUEST_TCB_COMPONENT_MEASUREMENT_HASH    SPDM_REQUEST_TCB_COMPONENT_MEASUREMENT_HASH
 
#define SPDM_KEY_EXCHANGE_REQUEST_ALL_MEASUREMENTS_HASH   SPDM_REQUEST_ALL_MEASUREMENTS_HASH
 
#define SPDM_KEY_EXCHANGE_RESPONSE_MUT_AUTH_REQUESTED   BIT0
 
#define SPDM_KEY_EXCHANGE_RESPONSE_MUT_AUTH_REQUESTED_WITH_ENCAP_REQUEST   BIT1
 
#define SPDM_KEY_EXCHANGE_RESPONSE_MUT_AUTH_REQUESTED_WITH_GET_DIGESTS   BIT2
 
#define SPDM_KEY_EXCHANGE_RESPONSE_SIGN_CONTEXT   "responder-key_exchange_rsp signing"
 
#define SPDM_KEY_EXCHANGE_RESPONSE_SIGN_CONTEXT_SIZE    (sizeof(SPDM_KEY_EXCHANGE_RESPONSE_SIGN_CONTEXT) - 1)
 
#define SPDM_VERSION_1_2_KEY_EXCHANGE_REQUESTER_CONTEXT   "Requester-KEP-dmtf-spdm-v1.2"
 
#define SPDM_VERSION_1_2_KEY_EXCHANGE_REQUESTER_CONTEXT_SIZE    (sizeof(SPDM_VERSION_1_2_KEY_EXCHANGE_REQUESTER_CONTEXT) - 1)
 
#define SPDM_VERSION_1_2_KEY_EXCHANGE_RESPONDER_CONTEXT   "Responder-KEP-dmtf-spdm-v1.2"
 
#define SPDM_VERSION_1_2_KEY_EXCHANGE_RESPONDER_CONTEXT_SIZE    (sizeof(SPDM_VERSION_1_2_KEY_EXCHANGE_RESPONDER_CONTEXT) - 1)
 
#define SPDM_FINISH_REQUEST_ATTRIBUTES_SIGNATURE_INCLUDED   BIT0
 
#define SPDM_FINISH_SIGN_CONTEXT   "requester-finish signing"
 
#define SPDM_FINISH_SIGN_CONTEXT_SIZE   (sizeof(SPDM_FINISH_SIGN_CONTEXT) - 1)
 
#define SPDM_PSK_EXCHANGE_REQUEST_NO_MEASUREMENT_SUMMARY_HASH    SPDM_REQUEST_NO_MEASUREMENT_SUMMARY_HASH
 
#define SPDM_PSK_EXCHANGE_REQUEST_TCB_COMPONENT_MEASUREMENT_HASH    SPDM_REQUEST_TCB_COMPONENT_MEASUREMENT_HASH
 
#define SPDM_PSK_EXCHANGE_REQUEST_ALL_MEASUREMENTS_HASH   SPDM_REQUEST_ALL_MEASUREMENTS_HASH
 
#define SPDM_KEY_UPDATE_OPERATIONS_TABLE_UPDATE_KEY   1
 
#define SPDM_KEY_UPDATE_OPERATIONS_TABLE_UPDATE_ALL_KEYS   2
 
#define SPDM_KEY_UPDATE_OPERATIONS_TABLE_VERIFY_NEW_KEY   3
 
#define SPDM_ENCAPSULATED_RESPONSE_ACK_RESPONSE_PAYLOAD_TYPE_ABSENT   0
 
#define SPDM_ENCAPSULATED_RESPONSE_ACK_RESPONSE_PAYLOAD_TYPE_PRESENT   1
 
#define SPDM_ENCAPSULATED_RESPONSE_ACK_RESPONSE_PAYLOAD_TYPE_REQ_SLOT_NUMBER   2
 
#define SPDM_END_SESSION_REQUEST_ATTRIBUTES_PRESERVE_NEGOTIATED_STATE_CLEAR   BIT0
 
#define SPDM_SET_CERTIFICATE_REQUEST_SLOT_ID_MASK   0xF
 
#define SPDM_SET_CERTIFICATE_REQUEST_ATTRIBUTES_CERT_MODEL_MASK   0x70
 
#define SPDM_SET_CERTIFICATE_REQUEST_ATTRIBUTES_CERT_MODEL_OFFSET   4
 
#define SPDM_SET_CERTIFICATE_REQUEST_ATTRIBUTES_ERASE   0x80
 
#define SPDM_SET_CERTIFICATE_RESPONSE_SLOT_ID_MASK   0xF
 
#define SPDM_GET_CSR_REQUEST_ATTRIBUTES_CERT_MODEL_MASK   0x07
 
#define SPDM_GET_CSR_REQUEST_ATTRIBUTES_CSR_TRACKING_TAG_MASK   0x38
 
#define SPDM_GET_CSR_REQUEST_ATTRIBUTES_CSR_TRACKING_TAG_OFFSET   3
 
#define SPDM_GET_CSR_REQUEST_ATTRIBUTES_OVERWRITE   0x80
 
#define SPDM_GET_CSR_REQUEST_ATTRIBUTES_MAX_CSR_CERT_MODEL   4
 
#define SPDM_MAX_CSR_SIZE   65535
 
#define SPDM_CHUNK_SEND_REQUEST_ATTRIBUTE_LAST_CHUNK   (1 << 0)
 
#define SPDM_CHUNK_SEND_ACK_RESPONSE_ATTRIBUTE_EARLY_ERROR_DETECTED   (1 << 0)
 
#define SPDM_CHUNK_GET_RESPONSE_ATTRIBUTE_LAST_CHUNK   (1 << 0)
 
#define SPDM_VERSION_1_1_BIN_CONCAT_LABEL   "spdm1.1 "
 
#define SPDM_VERSION_1_2_BIN_CONCAT_LABEL   "spdm1.2 "
 
#define SPDM_BIN_STR_0_LABEL   "derived"
 
#define SPDM_BIN_STR_1_LABEL   "req hs data"
 
#define SPDM_BIN_STR_2_LABEL   "rsp hs data"
 
#define SPDM_BIN_STR_3_LABEL   "req app data"
 
#define SPDM_BIN_STR_4_LABEL   "rsp app data"
 
#define SPDM_BIN_STR_5_LABEL   "key"
 
#define SPDM_BIN_STR_6_LABEL   "iv"
 
#define SPDM_BIN_STR_7_LABEL   "finished"
 
#define SPDM_BIN_STR_8_LABEL   "exp master"
 
#define SPDM_BIN_STR_9_LABEL   "traffic upd"
 
#define SPDM_ST1_VALUE_US   100000
 
#define SPDM_OID_DMTF    {0x2B, 0x06, 0x01, 0x04, 0x01, 0x83, 0x1C }
 
#define SPDM_OID_DMTF_SPDM    {0x06, 0x01, 0x04, 0x01, 0x83, 0x1C, 0x82, 0x12 }
 
#define SPDM_OID_DMTF_DEVICE_INFO    {0x2B, 0x06, 0x01, 0x04, 0x01, 0x83, 0x1C, 0x82, 0x12, 0x01 }
 
#define SPDM_OID_DMTF_HARDWARE_IDENTITY    {0x2B, 0x06, 0x01, 0x04, 0x01, 0x83, 0x1C, 0x82, 0x12, 0x02 }
 
#define SPDM_OID_DMTF_EKU_RESPONDER_AUTH    {0x2B, 0x06, 0x01, 0x04, 0x01, 0x83, 0x1C, 0x82, 0x12, 0x03 }
 
#define SPDM_OID_DMTF_EKU_REQUESTER_AUTH    {0x2B, 0x06, 0x01, 0x04, 0x01, 0x83, 0x1C, 0x82, 0x12, 0x04 }
 
#define SPDM_OID_DMTF_MUTABLE_CERTIFICATE    {0x2B, 0x06, 0x01, 0x04, 0x01, 0x83, 0x1C, 0x82, 0x12, 0x05 }
 
#define SPDM_OID_DMTF_SPDM_EXTENSION    {0x2B, 0x06, 0x01, 0x04, 0x01, 0x83, 0x1C, 0x82, 0x12, 0x06 }
 

Typedefs

typedef UINT16 SPDM_VERSION_NUMBER
 
typedef UINT64 SPDM_MEASUREMENTS_SECURE_VERSION_NUMBER
 

Detailed Description

Definitions of DSP0274 Security Protocol & Data Model Specification (SPDM) version 1.2.0 in Distributed Management Task Force (DMTF).

Copyright (c) 2019 - 2024, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent

Definition in file Spdm.h.

Macro Definition Documentation

◆ SPDM_ALGORITHMS

#define SPDM_ALGORITHMS   0x63

Definition at line 28 of file Spdm.h.

◆ SPDM_ALGORITHMS_AEAD_CIPHER_SUITE_AEAD_SM4_GCM

#define SPDM_ALGORITHMS_AEAD_CIPHER_SUITE_AEAD_SM4_GCM   BIT3

SPDM NEGOTIATE_ALGORITHMS request AEAD (1.2)

Definition at line 384 of file Spdm.h.

◆ SPDM_ALGORITHMS_AEAD_CIPHER_SUITE_AES_128_GCM

#define SPDM_ALGORITHMS_AEAD_CIPHER_SUITE_AES_128_GCM   BIT0

SPDM NEGOTIATE_ALGORITHMS request AEAD

Definition at line 377 of file Spdm.h.

◆ SPDM_ALGORITHMS_AEAD_CIPHER_SUITE_AES_256_GCM

#define SPDM_ALGORITHMS_AEAD_CIPHER_SUITE_AES_256_GCM   BIT1

Definition at line 378 of file Spdm.h.

◆ SPDM_ALGORITHMS_AEAD_CIPHER_SUITE_CHACHA20_POLY1305

#define SPDM_ALGORITHMS_AEAD_CIPHER_SUITE_CHACHA20_POLY1305   BIT2

Definition at line 379 of file Spdm.h.

◆ SPDM_ALGORITHMS_BASE_ASYM_ALGO_EDDSA_ED25519

#define SPDM_ALGORITHMS_BASE_ASYM_ALGO_EDDSA_ED25519   BIT10

Definition at line 341 of file Spdm.h.

◆ SPDM_ALGORITHMS_BASE_ASYM_ALGO_EDDSA_ED448

#define SPDM_ALGORITHMS_BASE_ASYM_ALGO_EDDSA_ED448   BIT11

Definition at line 342 of file Spdm.h.

◆ SPDM_ALGORITHMS_BASE_ASYM_ALGO_TPM_ALG_ECDSA_ECC_NIST_P256

#define SPDM_ALGORITHMS_BASE_ASYM_ALGO_TPM_ALG_ECDSA_ECC_NIST_P256   BIT4

Definition at line 331 of file Spdm.h.

◆ SPDM_ALGORITHMS_BASE_ASYM_ALGO_TPM_ALG_ECDSA_ECC_NIST_P384

#define SPDM_ALGORITHMS_BASE_ASYM_ALGO_TPM_ALG_ECDSA_ECC_NIST_P384   BIT7

Definition at line 334 of file Spdm.h.

◆ SPDM_ALGORITHMS_BASE_ASYM_ALGO_TPM_ALG_ECDSA_ECC_NIST_P521

#define SPDM_ALGORITHMS_BASE_ASYM_ALGO_TPM_ALG_ECDSA_ECC_NIST_P521   BIT8

Definition at line 335 of file Spdm.h.

◆ SPDM_ALGORITHMS_BASE_ASYM_ALGO_TPM_ALG_RSAPSS_2048

#define SPDM_ALGORITHMS_BASE_ASYM_ALGO_TPM_ALG_RSAPSS_2048   BIT1

Definition at line 328 of file Spdm.h.

◆ SPDM_ALGORITHMS_BASE_ASYM_ALGO_TPM_ALG_RSAPSS_3072

#define SPDM_ALGORITHMS_BASE_ASYM_ALGO_TPM_ALG_RSAPSS_3072   BIT3

Definition at line 330 of file Spdm.h.

◆ SPDM_ALGORITHMS_BASE_ASYM_ALGO_TPM_ALG_RSAPSS_4096

#define SPDM_ALGORITHMS_BASE_ASYM_ALGO_TPM_ALG_RSAPSS_4096   BIT6

Definition at line 333 of file Spdm.h.

◆ SPDM_ALGORITHMS_BASE_ASYM_ALGO_TPM_ALG_RSASSA_2048

#define SPDM_ALGORITHMS_BASE_ASYM_ALGO_TPM_ALG_RSASSA_2048   BIT0

SPDM NEGOTIATE_ALGORITHMS request BaseAsymAlgo/REQ_BASE_ASYM_ALG

Definition at line 327 of file Spdm.h.

◆ SPDM_ALGORITHMS_BASE_ASYM_ALGO_TPM_ALG_RSASSA_3072

#define SPDM_ALGORITHMS_BASE_ASYM_ALGO_TPM_ALG_RSASSA_3072   BIT2

Definition at line 329 of file Spdm.h.

◆ SPDM_ALGORITHMS_BASE_ASYM_ALGO_TPM_ALG_RSASSA_4096

#define SPDM_ALGORITHMS_BASE_ASYM_ALGO_TPM_ALG_RSASSA_4096   BIT5

Definition at line 332 of file Spdm.h.

◆ SPDM_ALGORITHMS_BASE_ASYM_ALGO_TPM_ALG_SM2_ECC_SM2_P256

#define SPDM_ALGORITHMS_BASE_ASYM_ALGO_TPM_ALG_SM2_ECC_SM2_P256   BIT9

SPDM NEGOTIATE_ALGORITHMS request base_asym_algo/REQ_BASE_ASYM_ALG (1.2)

Definition at line 340 of file Spdm.h.

◆ SPDM_ALGORITHMS_BASE_HASH_ALGO_TPM_ALG_SHA3_256

#define SPDM_ALGORITHMS_BASE_HASH_ALGO_TPM_ALG_SHA3_256   BIT3

Definition at line 350 of file Spdm.h.

◆ SPDM_ALGORITHMS_BASE_HASH_ALGO_TPM_ALG_SHA3_384

#define SPDM_ALGORITHMS_BASE_HASH_ALGO_TPM_ALG_SHA3_384   BIT4

Definition at line 351 of file Spdm.h.

◆ SPDM_ALGORITHMS_BASE_HASH_ALGO_TPM_ALG_SHA3_512

#define SPDM_ALGORITHMS_BASE_HASH_ALGO_TPM_ALG_SHA3_512   BIT5

Definition at line 352 of file Spdm.h.

◆ SPDM_ALGORITHMS_BASE_HASH_ALGO_TPM_ALG_SHA_256

#define SPDM_ALGORITHMS_BASE_HASH_ALGO_TPM_ALG_SHA_256   BIT0

SPDM NEGOTIATE_ALGORITHMS request BaseHashAlgo

Definition at line 347 of file Spdm.h.

◆ SPDM_ALGORITHMS_BASE_HASH_ALGO_TPM_ALG_SHA_384

#define SPDM_ALGORITHMS_BASE_HASH_ALGO_TPM_ALG_SHA_384   BIT1

Definition at line 348 of file Spdm.h.

◆ SPDM_ALGORITHMS_BASE_HASH_ALGO_TPM_ALG_SHA_512

#define SPDM_ALGORITHMS_BASE_HASH_ALGO_TPM_ALG_SHA_512   BIT2

Definition at line 349 of file Spdm.h.

◆ SPDM_ALGORITHMS_BASE_HASH_ALGO_TPM_ALG_SM3_256

#define SPDM_ALGORITHMS_BASE_HASH_ALGO_TPM_ALG_SM3_256   BIT6

SPDM NEGOTIATE_ALGORITHMS request base_hash_algo (1.2)

Definition at line 357 of file Spdm.h.

◆ SPDM_ALGORITHMS_DHE_NAMED_GROUP_FFDHE_2048

#define SPDM_ALGORITHMS_DHE_NAMED_GROUP_FFDHE_2048   BIT0

SPDM NEGOTIATE_ALGORITHMS request DHE

Definition at line 362 of file Spdm.h.

◆ SPDM_ALGORITHMS_DHE_NAMED_GROUP_FFDHE_3072

#define SPDM_ALGORITHMS_DHE_NAMED_GROUP_FFDHE_3072   BIT1

Definition at line 363 of file Spdm.h.

◆ SPDM_ALGORITHMS_DHE_NAMED_GROUP_FFDHE_4096

#define SPDM_ALGORITHMS_DHE_NAMED_GROUP_FFDHE_4096   BIT2

Definition at line 364 of file Spdm.h.

◆ SPDM_ALGORITHMS_DHE_NAMED_GROUP_SECP_256_R1

#define SPDM_ALGORITHMS_DHE_NAMED_GROUP_SECP_256_R1   BIT3

Definition at line 365 of file Spdm.h.

◆ SPDM_ALGORITHMS_DHE_NAMED_GROUP_SECP_384_R1

#define SPDM_ALGORITHMS_DHE_NAMED_GROUP_SECP_384_R1   BIT4

Definition at line 366 of file Spdm.h.

◆ SPDM_ALGORITHMS_DHE_NAMED_GROUP_SECP_521_R1

#define SPDM_ALGORITHMS_DHE_NAMED_GROUP_SECP_521_R1   BIT5

Definition at line 367 of file Spdm.h.

◆ SPDM_ALGORITHMS_DHE_NAMED_GROUP_SM2_P256

#define SPDM_ALGORITHMS_DHE_NAMED_GROUP_SM2_P256   BIT6

SPDM NEGOTIATE_ALGORITHMS request DHE (1.2)

Definition at line 372 of file Spdm.h.

◆ SPDM_ALGORITHMS_KEY_SCHEDULE_HMAC_HASH

#define SPDM_ALGORITHMS_KEY_SCHEDULE_HMAC_HASH   BIT0

SPDM NEGOTIATE_ALGORITHMS request KEY_SCHEDULE

Definition at line 388 of file Spdm.h.

◆ SPDM_ALGORITHMS_MEASUREMENT_HASH_ALGO_RAW_BIT_STREAM_ONLY

#define SPDM_ALGORITHMS_MEASUREMENT_HASH_ALGO_RAW_BIT_STREAM_ONLY   BIT0

SPDM NEGOTIATE_ALGORITHMS response MeasurementHashAlgo

Definition at line 420 of file Spdm.h.

◆ SPDM_ALGORITHMS_MEASUREMENT_HASH_ALGO_TPM_ALG_SHA3_256

#define SPDM_ALGORITHMS_MEASUREMENT_HASH_ALGO_TPM_ALG_SHA3_256   BIT4

Definition at line 424 of file Spdm.h.

◆ SPDM_ALGORITHMS_MEASUREMENT_HASH_ALGO_TPM_ALG_SHA3_384

#define SPDM_ALGORITHMS_MEASUREMENT_HASH_ALGO_TPM_ALG_SHA3_384   BIT5

Definition at line 425 of file Spdm.h.

◆ SPDM_ALGORITHMS_MEASUREMENT_HASH_ALGO_TPM_ALG_SHA3_512

#define SPDM_ALGORITHMS_MEASUREMENT_HASH_ALGO_TPM_ALG_SHA3_512   BIT6

Definition at line 426 of file Spdm.h.

◆ SPDM_ALGORITHMS_MEASUREMENT_HASH_ALGO_TPM_ALG_SHA_256

#define SPDM_ALGORITHMS_MEASUREMENT_HASH_ALGO_TPM_ALG_SHA_256   BIT1

Definition at line 421 of file Spdm.h.

◆ SPDM_ALGORITHMS_MEASUREMENT_HASH_ALGO_TPM_ALG_SHA_384

#define SPDM_ALGORITHMS_MEASUREMENT_HASH_ALGO_TPM_ALG_SHA_384   BIT2

Definition at line 422 of file Spdm.h.

◆ SPDM_ALGORITHMS_MEASUREMENT_HASH_ALGO_TPM_ALG_SHA_512

#define SPDM_ALGORITHMS_MEASUREMENT_HASH_ALGO_TPM_ALG_SHA_512   BIT3

Definition at line 423 of file Spdm.h.

◆ SPDM_ALGORITHMS_MEASUREMENT_HASH_ALGO_TPM_ALG_SM3_256

#define SPDM_ALGORITHMS_MEASUREMENT_HASH_ALGO_TPM_ALG_SM3_256   BIT7

SPDM NEGOTIATE_ALGORITHMS response measurement_hash_algo (1.2)

Definition at line 431 of file Spdm.h.

◆ SPDM_ALGORITHMS_OPAQUE_DATA_FORMAT_0

#define SPDM_ALGORITHMS_OPAQUE_DATA_FORMAT_0   0x1

Definition at line 437 of file Spdm.h.

◆ SPDM_ALGORITHMS_OPAQUE_DATA_FORMAT_1

#define SPDM_ALGORITHMS_OPAQUE_DATA_FORMAT_1   0x2

Definition at line 438 of file Spdm.h.

◆ SPDM_ALGORITHMS_OPAQUE_DATA_FORMAT_MASK

#define SPDM_ALGORITHMS_OPAQUE_DATA_FORMAT_MASK   0xF

Definition at line 439 of file Spdm.h.

◆ SPDM_ALGORITHMS_OPAQUE_DATA_FORMAT_NONE

#define SPDM_ALGORITHMS_OPAQUE_DATA_FORMAT_NONE   0x0

SPDM Opaque Data Format (1.2)

Definition at line 436 of file Spdm.h.

◆ SPDM_BIN_STR_0_LABEL

#define SPDM_BIN_STR_0_LABEL   "derived"

Definition at line 1287 of file Spdm.h.

◆ SPDM_BIN_STR_1_LABEL

#define SPDM_BIN_STR_1_LABEL   "req hs data"

Definition at line 1288 of file Spdm.h.

◆ SPDM_BIN_STR_2_LABEL

#define SPDM_BIN_STR_2_LABEL   "rsp hs data"

Definition at line 1289 of file Spdm.h.

◆ SPDM_BIN_STR_3_LABEL

#define SPDM_BIN_STR_3_LABEL   "req app data"

Definition at line 1290 of file Spdm.h.

◆ SPDM_BIN_STR_4_LABEL

#define SPDM_BIN_STR_4_LABEL   "rsp app data"

Definition at line 1291 of file Spdm.h.

◆ SPDM_BIN_STR_5_LABEL

#define SPDM_BIN_STR_5_LABEL   "key"

Definition at line 1292 of file Spdm.h.

◆ SPDM_BIN_STR_6_LABEL

#define SPDM_BIN_STR_6_LABEL   "iv"

Definition at line 1293 of file Spdm.h.

◆ SPDM_BIN_STR_7_LABEL

#define SPDM_BIN_STR_7_LABEL   "finished"

Definition at line 1294 of file Spdm.h.

◆ SPDM_BIN_STR_8_LABEL

#define SPDM_BIN_STR_8_LABEL   "exp master"

Definition at line 1295 of file Spdm.h.

◆ SPDM_BIN_STR_9_LABEL

#define SPDM_BIN_STR_9_LABEL   "traffic upd"

Definition at line 1296 of file Spdm.h.

◆ SPDM_CAPABILITIES

#define SPDM_CAPABILITIES   0x61

Definition at line 27 of file Spdm.h.

◆ SPDM_CERTIFICATE

#define SPDM_CERTIFICATE   0x02

Definition at line 23 of file Spdm.h.

◆ SPDM_CERTIFICATE_RESPONSE_SLOT_ID_MASK

#define SPDM_CERTIFICATE_RESPONSE_SLOT_ID_MASK   0xF

Definition at line 515 of file Spdm.h.

◆ SPDM_CHALLENGE

#define SPDM_CHALLENGE   0x83

Definition at line 55 of file Spdm.h.

◆ SPDM_CHALLENGE_AUTH

#define SPDM_CHALLENGE_AUTH   0x03

Definition at line 24 of file Spdm.h.

◆ SPDM_CHALLENGE_AUTH_RESPONSE_ATTRIBUTE_BASIC_MUT_AUTH_REQ

#define SPDM_CHALLENGE_AUTH_RESPONSE_ATTRIBUTE_BASIC_MUT_AUTH_REQ   BIT7

Deprecated in SPDM 1.2

Definition at line 593 of file Spdm.h.

◆ SPDM_CHALLENGE_AUTH_RESPONSE_ATTRIBUTE_SLOT_ID_MASK

#define SPDM_CHALLENGE_AUTH_RESPONSE_ATTRIBUTE_SLOT_ID_MASK   0xF

Definition at line 582 of file Spdm.h.

◆ SPDM_CHALLENGE_AUTH_SIGN_CONTEXT

#define SPDM_CHALLENGE_AUTH_SIGN_CONTEXT   "responder-challenge_auth signing"

Definition at line 595 of file Spdm.h.

◆ SPDM_CHALLENGE_AUTH_SIGN_CONTEXT_SIZE

#define SPDM_CHALLENGE_AUTH_SIGN_CONTEXT_SIZE   (sizeof(SPDM_CHALLENGE_AUTH_SIGN_CONTEXT) - 1)

Definition at line 596 of file Spdm.h.

◆ SPDM_CHALLENGE_REQUEST_ALL_MEASUREMENTS_HASH

#define SPDM_CHALLENGE_REQUEST_ALL_MEASUREMENTS_HASH   SPDM_REQUEST_ALL_MEASUREMENTS_HASH

Definition at line 580 of file Spdm.h.

◆ SPDM_CHALLENGE_REQUEST_NO_MEASUREMENT_SUMMARY_HASH

#define SPDM_CHALLENGE_REQUEST_NO_MEASUREMENT_SUMMARY_HASH   SPDM_REQUEST_NO_MEASUREMENT_SUMMARY_HASH

SPDM CHALLENGE request measurement summary HashType

Definition at line 577 of file Spdm.h.

◆ SPDM_CHALLENGE_REQUEST_TCB_COMPONENT_MEASUREMENT_HASH

#define SPDM_CHALLENGE_REQUEST_TCB_COMPONENT_MEASUREMENT_HASH    SPDM_REQUEST_TCB_COMPONENT_MEASUREMENT_HASH

Definition at line 578 of file Spdm.h.

◆ SPDM_CHUNK_GET

#define SPDM_CHUNK_GET   0x86

Definition at line 80 of file Spdm.h.

◆ SPDM_CHUNK_GET_RESPONSE_ATTRIBUTE_LAST_CHUNK

#define SPDM_CHUNK_GET_RESPONSE_ATTRIBUTE_LAST_CHUNK   (1 << 0)

Definition at line 1282 of file Spdm.h.

◆ SPDM_CHUNK_RESPONSE

#define SPDM_CHUNK_RESPONSE   0x06

Definition at line 49 of file Spdm.h.

◆ SPDM_CHUNK_SEND

#define SPDM_CHUNK_SEND   0x85

Definition at line 79 of file Spdm.h.

◆ SPDM_CHUNK_SEND_ACK

#define SPDM_CHUNK_SEND_ACK   0x05

Definition at line 48 of file Spdm.h.

◆ SPDM_CHUNK_SEND_ACK_RESPONSE_ATTRIBUTE_EARLY_ERROR_DETECTED

#define SPDM_CHUNK_SEND_ACK_RESPONSE_ATTRIBUTE_EARLY_ERROR_DETECTED   (1 << 0)

Definition at line 1253 of file Spdm.h.

◆ SPDM_CHUNK_SEND_REQUEST_ATTRIBUTE_LAST_CHUNK

#define SPDM_CHUNK_SEND_REQUEST_ATTRIBUTE_LAST_CHUNK   (1 << 0)

Definition at line 1239 of file Spdm.h.

◆ SPDM_CSR

#define SPDM_CSR   0x6D

SPDM response code (1.2)

Definition at line 46 of file Spdm.h.

◆ SPDM_DELIVER_ENCAPSULATED_RESPONSE

#define SPDM_DELIVER_ENCAPSULATED_RESPONSE   0xEB

Definition at line 72 of file Spdm.h.

◆ SPDM_DIGESTS

#define SPDM_DIGESTS   0x01

SPDM response code (1.0)

Definition at line 22 of file Spdm.h.

◆ SPDM_ENCAPSULATED_REQUEST

#define SPDM_ENCAPSULATED_REQUEST   0x6A

Definition at line 40 of file Spdm.h.

◆ SPDM_ENCAPSULATED_RESPONSE_ACK

#define SPDM_ENCAPSULATED_RESPONSE_ACK   0x6B

Definition at line 41 of file Spdm.h.

◆ SPDM_ENCAPSULATED_RESPONSE_ACK_RESPONSE_PAYLOAD_TYPE_ABSENT

#define SPDM_ENCAPSULATED_RESPONSE_ACK_RESPONSE_PAYLOAD_TYPE_ABSENT   0

SPDM ENCAPSULATED_RESPONSE_ACK_RESPONSE Payload Type

Definition at line 1119 of file Spdm.h.

◆ SPDM_ENCAPSULATED_RESPONSE_ACK_RESPONSE_PAYLOAD_TYPE_PRESENT

#define SPDM_ENCAPSULATED_RESPONSE_ACK_RESPONSE_PAYLOAD_TYPE_PRESENT   1

Definition at line 1120 of file Spdm.h.

◆ SPDM_ENCAPSULATED_RESPONSE_ACK_RESPONSE_PAYLOAD_TYPE_REQ_SLOT_NUMBER

#define SPDM_ENCAPSULATED_RESPONSE_ACK_RESPONSE_PAYLOAD_TYPE_REQ_SLOT_NUMBER   2

Definition at line 1121 of file Spdm.h.

◆ SPDM_END_SESSION

#define SPDM_END_SESSION   0xEC

Definition at line 73 of file Spdm.h.

◆ SPDM_END_SESSION_ACK

#define SPDM_END_SESSION_ACK   0x6C

Definition at line 42 of file Spdm.h.

◆ SPDM_END_SESSION_REQUEST_ATTRIBUTES_PRESERVE_NEGOTIATED_STATE_CLEAR

#define SPDM_END_SESSION_REQUEST_ATTRIBUTES_PRESERVE_NEGOTIATED_STATE_CLEAR   BIT0

SPDM END_SESSION request Attributes

Definition at line 1135 of file Spdm.h.

◆ SPDM_ERROR

#define SPDM_ERROR   0x7F

Definition at line 30 of file Spdm.h.

◆ SPDM_ERROR_CODE_BUSY

#define SPDM_ERROR_CODE_BUSY   0x03

Definition at line 763 of file Spdm.h.

◆ SPDM_ERROR_CODE_DECRYPT_ERROR

#define SPDM_ERROR_CODE_DECRYPT_ERROR   0x06

SPDM error code (1.1)

Definition at line 774 of file Spdm.h.

◆ SPDM_ERROR_CODE_INVALID_REQUEST

#define SPDM_ERROR_CODE_INVALID_REQUEST   0x01

SPDM error code

Definition at line 762 of file Spdm.h.

◆ SPDM_ERROR_CODE_INVALID_RESPONSE_CODE

#define SPDM_ERROR_CODE_INVALID_RESPONSE_CODE   0x09

Definition at line 776 of file Spdm.h.

◆ SPDM_ERROR_CODE_LARGE_RESPONSE

#define SPDM_ERROR_CODE_LARGE_RESPONSE   0x0F

Definition at line 786 of file Spdm.h.

◆ SPDM_ERROR_CODE_MESSAGE_LOST

#define SPDM_ERROR_CODE_MESSAGE_LOST   0x10

Definition at line 787 of file Spdm.h.

◆ SPDM_ERROR_CODE_REQUEST_IN_FLIGHT

#define SPDM_ERROR_CODE_REQUEST_IN_FLIGHT   0x08

Definition at line 775 of file Spdm.h.

◆ SPDM_ERROR_CODE_REQUEST_RESYNCH

#define SPDM_ERROR_CODE_REQUEST_RESYNCH   0x43

Definition at line 769 of file Spdm.h.

◆ SPDM_ERROR_CODE_REQUEST_TOO_LARGE

#define SPDM_ERROR_CODE_REQUEST_TOO_LARGE   0x0E

Definition at line 785 of file Spdm.h.

◆ SPDM_ERROR_CODE_RESET_REQUIRED

#define SPDM_ERROR_CODE_RESET_REQUIRED   0x0C

Definition at line 783 of file Spdm.h.

◆ SPDM_ERROR_CODE_RESPONSE_NOT_READY

#define SPDM_ERROR_CODE_RESPONSE_NOT_READY   0x42

Definition at line 768 of file Spdm.h.

◆ SPDM_ERROR_CODE_RESPONSE_TOO_LARGE

#define SPDM_ERROR_CODE_RESPONSE_TOO_LARGE   0x0D

Definition at line 784 of file Spdm.h.

◆ SPDM_ERROR_CODE_SESSION_LIMIT_EXCEEDED

#define SPDM_ERROR_CODE_SESSION_LIMIT_EXCEEDED   0x0A

Definition at line 777 of file Spdm.h.

◆ SPDM_ERROR_CODE_SESSION_REQUIRED

#define SPDM_ERROR_CODE_SESSION_REQUIRED   0x0B

SPDM error code (1.2)

Definition at line 782 of file Spdm.h.

◆ SPDM_ERROR_CODE_UNEXPECTED_REQUEST

#define SPDM_ERROR_CODE_UNEXPECTED_REQUEST   0x04

Definition at line 764 of file Spdm.h.

◆ SPDM_ERROR_CODE_UNSPECIFIED

#define SPDM_ERROR_CODE_UNSPECIFIED   0x05

Definition at line 765 of file Spdm.h.

◆ SPDM_ERROR_CODE_UNSUPPORTED_REQUEST

#define SPDM_ERROR_CODE_UNSUPPORTED_REQUEST   0x07

Definition at line 766 of file Spdm.h.

◆ SPDM_ERROR_CODE_VENDOR_DEFINED

#define SPDM_ERROR_CODE_VENDOR_DEFINED   0xFF

Definition at line 770 of file Spdm.h.

◆ SPDM_ERROR_CODE_VERSION_MISMATCH

#define SPDM_ERROR_CODE_VERSION_MISMATCH   0x41

Definition at line 767 of file Spdm.h.

◆ SPDM_EXTENDED_ERROR_DATA_MAX_SIZE

#define SPDM_EXTENDED_ERROR_DATA_MAX_SIZE   32

Definition at line 757 of file Spdm.h.

◆ SPDM_FINISH

#define SPDM_FINISH   0xE5

Definition at line 66 of file Spdm.h.

◆ SPDM_FINISH_REQUEST_ATTRIBUTES_SIGNATURE_INCLUDED

#define SPDM_FINISH_REQUEST_ATTRIBUTES_SIGNATURE_INCLUDED   BIT0

SPDM FINISH request SignatureIncluded

Definition at line 955 of file Spdm.h.

◆ SPDM_FINISH_RSP

#define SPDM_FINISH_RSP   0x65

Definition at line 35 of file Spdm.h.

◆ SPDM_FINISH_SIGN_CONTEXT

#define SPDM_FINISH_SIGN_CONTEXT   "requester-finish signing"

Definition at line 967 of file Spdm.h.

◆ SPDM_FINISH_SIGN_CONTEXT_SIZE

#define SPDM_FINISH_SIGN_CONTEXT_SIZE   (sizeof(SPDM_FINISH_SIGN_CONTEXT) - 1)

Definition at line 968 of file Spdm.h.

◆ SPDM_GET_CAPABILITIES

#define SPDM_GET_CAPABILITIES   0xE1

Definition at line 58 of file Spdm.h.

◆ SPDM_GET_CAPABILITIES_REQUEST_FLAGS_11_MASK

#define SPDM_GET_CAPABILITIES_REQUEST_FLAGS_11_MASK
Value:
(\
SPDM_GET_CAPABILITIES_REQUEST_FLAGS_CHAL_CAP | \
SPDM_GET_CAPABILITIES_REQUEST_FLAGS_ENCRYPT_CAP | \
SPDM_GET_CAPABILITIES_REQUEST_FLAGS_MAC_CAP | \
SPDM_GET_CAPABILITIES_REQUEST_FLAGS_MUT_AUTH_CAP | \
SPDM_GET_CAPABILITIES_REQUEST_FLAGS_KEY_EX_CAP | \
SPDM_GET_CAPABILITIES_REQUEST_FLAGS_PSK_CAP | \
SPDM_GET_CAPABILITIES_REQUEST_FLAGS_ENCAP_CAP | \
SPDM_GET_CAPABILITIES_REQUEST_FLAGS_HBEAT_CAP | \
SPDM_GET_CAPABILITIES_REQUEST_FLAGS_KEY_UPD_CAP | \
SPDM_GET_CAPABILITIES_REQUEST_FLAGS_HANDSHAKE_IN_THE_CLEAR_CAP | \
SPDM_GET_CAPABILITIES_REQUEST_FLAGS_PUB_KEY_ID_CAP)
#define SPDM_GET_CAPABILITIES_REQUEST_FLAGS_CERT_CAP
Definition: Spdm.h:170

Definition at line 183 of file Spdm.h.

◆ SPDM_GET_CAPABILITIES_REQUEST_FLAGS_12_MASK

#define SPDM_GET_CAPABILITIES_REQUEST_FLAGS_12_MASK
Value:
(\
SPDM_GET_CAPABILITIES_REQUEST_FLAGS_11_MASK | \
#define SPDM_GET_CAPABILITIES_REQUEST_FLAGS_CHUNK_CAP
Definition: Spdm.h:200

Definition at line 201 of file Spdm.h.

◆ SPDM_GET_CAPABILITIES_REQUEST_FLAGS_CERT_CAP

#define SPDM_GET_CAPABILITIES_REQUEST_FLAGS_CERT_CAP   BIT1

SPDM GET_CAPABILITIES request Flags (1.1)

Definition at line 170 of file Spdm.h.

◆ SPDM_GET_CAPABILITIES_REQUEST_FLAGS_CHAL_CAP

#define SPDM_GET_CAPABILITIES_REQUEST_FLAGS_CHAL_CAP   BIT2

Definition at line 171 of file Spdm.h.

◆ SPDM_GET_CAPABILITIES_REQUEST_FLAGS_CHUNK_CAP

#define SPDM_GET_CAPABILITIES_REQUEST_FLAGS_CHUNK_CAP   BIT17

SPDM GET_CAPABILITIES request Flags (1.2)

Definition at line 200 of file Spdm.h.

◆ SPDM_GET_CAPABILITIES_REQUEST_FLAGS_ENCAP_CAP

#define SPDM_GET_CAPABILITIES_REQUEST_FLAGS_ENCAP_CAP   BIT12

Definition at line 178 of file Spdm.h.

◆ SPDM_GET_CAPABILITIES_REQUEST_FLAGS_ENCRYPT_CAP

#define SPDM_GET_CAPABILITIES_REQUEST_FLAGS_ENCRYPT_CAP   BIT6

Definition at line 172 of file Spdm.h.

◆ SPDM_GET_CAPABILITIES_REQUEST_FLAGS_HANDSHAKE_IN_THE_CLEAR_CAP

#define SPDM_GET_CAPABILITIES_REQUEST_FLAGS_HANDSHAKE_IN_THE_CLEAR_CAP   BIT15

Definition at line 181 of file Spdm.h.

◆ SPDM_GET_CAPABILITIES_REQUEST_FLAGS_HBEAT_CAP

#define SPDM_GET_CAPABILITIES_REQUEST_FLAGS_HBEAT_CAP   BIT13

Definition at line 179 of file Spdm.h.

◆ SPDM_GET_CAPABILITIES_REQUEST_FLAGS_KEY_EX_CAP

#define SPDM_GET_CAPABILITIES_REQUEST_FLAGS_KEY_EX_CAP   BIT9

Definition at line 175 of file Spdm.h.

◆ SPDM_GET_CAPABILITIES_REQUEST_FLAGS_KEY_UPD_CAP

#define SPDM_GET_CAPABILITIES_REQUEST_FLAGS_KEY_UPD_CAP   BIT14

Definition at line 180 of file Spdm.h.

◆ SPDM_GET_CAPABILITIES_REQUEST_FLAGS_MAC_CAP

#define SPDM_GET_CAPABILITIES_REQUEST_FLAGS_MAC_CAP   BIT7

Definition at line 173 of file Spdm.h.

◆ SPDM_GET_CAPABILITIES_REQUEST_FLAGS_MUT_AUTH_CAP

#define SPDM_GET_CAPABILITIES_REQUEST_FLAGS_MUT_AUTH_CAP   BIT8

Definition at line 174 of file Spdm.h.

◆ SPDM_GET_CAPABILITIES_REQUEST_FLAGS_PSK_CAP

#define SPDM_GET_CAPABILITIES_REQUEST_FLAGS_PSK_CAP   (BIT10 | BIT11)

Definition at line 176 of file Spdm.h.

◆ SPDM_GET_CAPABILITIES_REQUEST_FLAGS_PSK_CAP_REQUESTER

#define SPDM_GET_CAPABILITIES_REQUEST_FLAGS_PSK_CAP_REQUESTER   BIT10

Definition at line 177 of file Spdm.h.

◆ SPDM_GET_CAPABILITIES_REQUEST_FLAGS_PUB_KEY_ID_CAP

#define SPDM_GET_CAPABILITIES_REQUEST_FLAGS_PUB_KEY_ID_CAP   BIT16

Definition at line 182 of file Spdm.h.

◆ SPDM_GET_CAPABILITIES_RESPONSE_FLAGS_10_MASK

#define SPDM_GET_CAPABILITIES_RESPONSE_FLAGS_10_MASK
Value:
(\
SPDM_GET_CAPABILITIES_RESPONSE_FLAGS_CERT_CAP | \
SPDM_GET_CAPABILITIES_RESPONSE_FLAGS_CHAL_CAP | \
SPDM_GET_CAPABILITIES_RESPONSE_FLAGS_MEAS_CAP | \
SPDM_GET_CAPABILITIES_RESPONSE_FLAGS_MEAS_FRESH_CAP)
#define SPDM_GET_CAPABILITIES_RESPONSE_FLAGS_CACHE_CAP
Definition: Spdm.h:207

Definition at line 214 of file Spdm.h.

◆ SPDM_GET_CAPABILITIES_RESPONSE_FLAGS_11_MASK

#define SPDM_GET_CAPABILITIES_RESPONSE_FLAGS_11_MASK
Value:
(\
SPDM_GET_CAPABILITIES_RESPONSE_FLAGS_10_MASK | \
SPDM_GET_CAPABILITIES_RESPONSE_FLAGS_MAC_CAP | \
SPDM_GET_CAPABILITIES_RESPONSE_FLAGS_MUT_AUTH_CAP | \
SPDM_GET_CAPABILITIES_RESPONSE_FLAGS_KEY_EX_CAP | \
SPDM_GET_CAPABILITIES_RESPONSE_FLAGS_PSK_CAP | \
SPDM_GET_CAPABILITIES_RESPONSE_FLAGS_ENCAP_CAP | \
SPDM_GET_CAPABILITIES_RESPONSE_FLAGS_HBEAT_CAP | \
SPDM_GET_CAPABILITIES_RESPONSE_FLAGS_KEY_UPD_CAP | \
SPDM_GET_CAPABILITIES_RESPONSE_FLAGS_HANDSHAKE_IN_THE_CLEAR_CAP | \
SPDM_GET_CAPABILITIES_RESPONSE_FLAGS_PUB_KEY_ID_CAP)
#define SPDM_GET_CAPABILITIES_RESPONSE_FLAGS_ENCRYPT_CAP
Definition: Spdm.h:223

Definition at line 235 of file Spdm.h.

◆ SPDM_GET_CAPABILITIES_RESPONSE_FLAGS_12_MASK

#define SPDM_GET_CAPABILITIES_RESPONSE_FLAGS_12_MASK
Value:
(\
SPDM_GET_CAPABILITIES_RESPONSE_FLAGS_11_MASK | \
SPDM_GET_CAPABILITIES_RESPONSE_FLAGS_ALIAS_CERT_CAP | \
SPDM_GET_CAPABILITIES_RESPONSE_FLAGS_CSR_CAP | \
SPDM_GET_CAPABILITIES_RESPONSE_FLAGS_CERT_INSTALL_RESET_CAP)
#define SPDM_GET_CAPABILITIES_RESPONSE_FLAGS_SET_CERT_CAP
Definition: Spdm.h:256
#define SPDM_GET_CAPABILITIES_RESPONSE_FLAGS_CHUNK_CAP
Definition: Spdm.h:250

Definition at line 259 of file Spdm.h.

◆ SPDM_GET_CAPABILITIES_RESPONSE_FLAGS_ALIAS_CERT_CAP

#define SPDM_GET_CAPABILITIES_RESPONSE_FLAGS_ALIAS_CERT_CAP   BIT18

Definition at line 251 of file Spdm.h.

◆ SPDM_GET_CAPABILITIES_RESPONSE_FLAGS_CACHE_CAP

#define SPDM_GET_CAPABILITIES_RESPONSE_FLAGS_CACHE_CAP   BIT0

SPDM GET_CAPABILITIES response Flags (1.0)

Definition at line 207 of file Spdm.h.

◆ SPDM_GET_CAPABILITIES_RESPONSE_FLAGS_CERT_CAP

#define SPDM_GET_CAPABILITIES_RESPONSE_FLAGS_CERT_CAP   BIT1

Definition at line 208 of file Spdm.h.

◆ SPDM_GET_CAPABILITIES_RESPONSE_FLAGS_CERT_INSTALL_RESET_CAP

#define SPDM_GET_CAPABILITIES_RESPONSE_FLAGS_CERT_INSTALL_RESET_CAP   BIT21

Definition at line 258 of file Spdm.h.

◆ SPDM_GET_CAPABILITIES_RESPONSE_FLAGS_CHAL_CAP

#define SPDM_GET_CAPABILITIES_RESPONSE_FLAGS_CHAL_CAP   BIT2

Definition at line 209 of file Spdm.h.

◆ SPDM_GET_CAPABILITIES_RESPONSE_FLAGS_CHUNK_CAP

#define SPDM_GET_CAPABILITIES_RESPONSE_FLAGS_CHUNK_CAP   BIT17

SPDM GET_CAPABILITIES response Flags (1.2)

Definition at line 250 of file Spdm.h.

◆ SPDM_GET_CAPABILITIES_RESPONSE_FLAGS_CSR_CAP

#define SPDM_GET_CAPABILITIES_RESPONSE_FLAGS_CSR_CAP   BIT20

Definition at line 257 of file Spdm.h.

◆ SPDM_GET_CAPABILITIES_RESPONSE_FLAGS_ENCAP_CAP

#define SPDM_GET_CAPABILITIES_RESPONSE_FLAGS_ENCAP_CAP   BIT12

Definition at line 230 of file Spdm.h.

◆ SPDM_GET_CAPABILITIES_RESPONSE_FLAGS_ENCRYPT_CAP

#define SPDM_GET_CAPABILITIES_RESPONSE_FLAGS_ENCRYPT_CAP   BIT6

SPDM GET_CAPABILITIES response Flags (1.1)

Definition at line 223 of file Spdm.h.

◆ SPDM_GET_CAPABILITIES_RESPONSE_FLAGS_HANDSHAKE_IN_THE_CLEAR_CAP

#define SPDM_GET_CAPABILITIES_RESPONSE_FLAGS_HANDSHAKE_IN_THE_CLEAR_CAP   BIT15

Definition at line 233 of file Spdm.h.

◆ SPDM_GET_CAPABILITIES_RESPONSE_FLAGS_HBEAT_CAP

#define SPDM_GET_CAPABILITIES_RESPONSE_FLAGS_HBEAT_CAP   BIT13

Definition at line 231 of file Spdm.h.

◆ SPDM_GET_CAPABILITIES_RESPONSE_FLAGS_KEY_EX_CAP

#define SPDM_GET_CAPABILITIES_RESPONSE_FLAGS_KEY_EX_CAP   BIT9

Definition at line 226 of file Spdm.h.

◆ SPDM_GET_CAPABILITIES_RESPONSE_FLAGS_KEY_UPD_CAP

#define SPDM_GET_CAPABILITIES_RESPONSE_FLAGS_KEY_UPD_CAP   BIT14

Definition at line 232 of file Spdm.h.

◆ SPDM_GET_CAPABILITIES_RESPONSE_FLAGS_MAC_CAP

#define SPDM_GET_CAPABILITIES_RESPONSE_FLAGS_MAC_CAP   BIT7

Definition at line 224 of file Spdm.h.

◆ SPDM_GET_CAPABILITIES_RESPONSE_FLAGS_MEAS_CAP

#define SPDM_GET_CAPABILITIES_RESPONSE_FLAGS_MEAS_CAP   (BIT3 | BIT4)

Definition at line 210 of file Spdm.h.

◆ SPDM_GET_CAPABILITIES_RESPONSE_FLAGS_MEAS_CAP_NO_SIG

#define SPDM_GET_CAPABILITIES_RESPONSE_FLAGS_MEAS_CAP_NO_SIG   BIT3

Definition at line 211 of file Spdm.h.

◆ SPDM_GET_CAPABILITIES_RESPONSE_FLAGS_MEAS_CAP_SIG

#define SPDM_GET_CAPABILITIES_RESPONSE_FLAGS_MEAS_CAP_SIG   BIT4

Definition at line 212 of file Spdm.h.

◆ SPDM_GET_CAPABILITIES_RESPONSE_FLAGS_MEAS_FRESH_CAP

#define SPDM_GET_CAPABILITIES_RESPONSE_FLAGS_MEAS_FRESH_CAP   BIT5

Definition at line 213 of file Spdm.h.

◆ SPDM_GET_CAPABILITIES_RESPONSE_FLAGS_MUT_AUTH_CAP

#define SPDM_GET_CAPABILITIES_RESPONSE_FLAGS_MUT_AUTH_CAP   BIT8

Definition at line 225 of file Spdm.h.

◆ SPDM_GET_CAPABILITIES_RESPONSE_FLAGS_PSK_CAP

#define SPDM_GET_CAPABILITIES_RESPONSE_FLAGS_PSK_CAP   (BIT10 | BIT11)

Definition at line 227 of file Spdm.h.

◆ SPDM_GET_CAPABILITIES_RESPONSE_FLAGS_PSK_CAP_RESPONDER

#define SPDM_GET_CAPABILITIES_RESPONSE_FLAGS_PSK_CAP_RESPONDER   BIT10

Definition at line 228 of file Spdm.h.

◆ SPDM_GET_CAPABILITIES_RESPONSE_FLAGS_PSK_CAP_RESPONDER_WITH_CONTEXT

#define SPDM_GET_CAPABILITIES_RESPONSE_FLAGS_PSK_CAP_RESPONDER_WITH_CONTEXT   BIT11

Definition at line 229 of file Spdm.h.

◆ SPDM_GET_CAPABILITIES_RESPONSE_FLAGS_PUB_KEY_ID_CAP

#define SPDM_GET_CAPABILITIES_RESPONSE_FLAGS_PUB_KEY_ID_CAP   BIT16

Definition at line 234 of file Spdm.h.

◆ SPDM_GET_CAPABILITIES_RESPONSE_FLAGS_SET_CERT_CAP

#define SPDM_GET_CAPABILITIES_RESPONSE_FLAGS_SET_CERT_CAP   BIT19

SPDM GET_CAPABILITIES response Flags (1.2.1)

Definition at line 256 of file Spdm.h.

◆ SPDM_GET_CERTIFICATE

#define SPDM_GET_CERTIFICATE   0x82

Definition at line 54 of file Spdm.h.

◆ SPDM_GET_CERTIFICATE_REQUEST_SLOT_ID_MASK

#define SPDM_GET_CERTIFICATE_REQUEST_SLOT_ID_MASK   0xF

Definition at line 502 of file Spdm.h.

◆ SPDM_GET_CSR

#define SPDM_GET_CSR   0xED

SPDM request code (1.2)

Definition at line 77 of file Spdm.h.

◆ SPDM_GET_CSR_REQUEST_ATTRIBUTES_CERT_MODEL_MASK

#define SPDM_GET_CSR_REQUEST_ATTRIBUTES_CERT_MODEL_MASK   0x07

SPDM GET_CSR request Attributes

Definition at line 1200 of file Spdm.h.

◆ SPDM_GET_CSR_REQUEST_ATTRIBUTES_CSR_TRACKING_TAG_MASK

#define SPDM_GET_CSR_REQUEST_ATTRIBUTES_CSR_TRACKING_TAG_MASK   0x38

Definition at line 1201 of file Spdm.h.

◆ SPDM_GET_CSR_REQUEST_ATTRIBUTES_CSR_TRACKING_TAG_OFFSET

#define SPDM_GET_CSR_REQUEST_ATTRIBUTES_CSR_TRACKING_TAG_OFFSET   3

Definition at line 1202 of file Spdm.h.

◆ SPDM_GET_CSR_REQUEST_ATTRIBUTES_MAX_CSR_CERT_MODEL

#define SPDM_GET_CSR_REQUEST_ATTRIBUTES_MAX_CSR_CERT_MODEL   4

Definition at line 1204 of file Spdm.h.

◆ SPDM_GET_CSR_REQUEST_ATTRIBUTES_OVERWRITE

#define SPDM_GET_CSR_REQUEST_ATTRIBUTES_OVERWRITE   0x80

Definition at line 1203 of file Spdm.h.

◆ SPDM_GET_DIGESTS

#define SPDM_GET_DIGESTS   0x81

SPDM request code (1.0)

Definition at line 53 of file Spdm.h.

◆ SPDM_GET_ENCAPSULATED_REQUEST

#define SPDM_GET_ENCAPSULATED_REQUEST   0xEA

Definition at line 71 of file Spdm.h.

◆ SPDM_GET_MEASUREMENTS

#define SPDM_GET_MEASUREMENTS   0xE0

Definition at line 57 of file Spdm.h.

◆ SPDM_GET_MEASUREMENTS_REQUEST_ATTRIBUTES_GENERATE_SIGNATURE

#define SPDM_GET_MEASUREMENTS_REQUEST_ATTRIBUTES_GENERATE_SIGNATURE   BIT0

SPDM GET_MEASUREMENTS request Attributes

Definition at line 622 of file Spdm.h.

◆ SPDM_GET_MEASUREMENTS_REQUEST_ATTRIBUTES_NEW_MEASUREMENT_REQUESTED

#define SPDM_GET_MEASUREMENTS_REQUEST_ATTRIBUTES_NEW_MEASUREMENT_REQUESTED   BIT2

Definition at line 624 of file Spdm.h.

◆ SPDM_GET_MEASUREMENTS_REQUEST_ATTRIBUTES_RAW_BIT_STREAM_REQUESTED

#define SPDM_GET_MEASUREMENTS_REQUEST_ATTRIBUTES_RAW_BIT_STREAM_REQUESTED   BIT1

Definition at line 623 of file Spdm.h.

◆ SPDM_GET_MEASUREMENTS_REQUEST_MEASUREMENT_OPERATION_ALL_MEASUREMENTS

#define SPDM_GET_MEASUREMENTS_REQUEST_MEASUREMENT_OPERATION_ALL_MEASUREMENTS   0xFF

SPDM_GET_MEASUREMENTS_REQUEST_MEASUREMENT_OPERATION_INDEX

Definition at line 634 of file Spdm.h.

◆ SPDM_GET_MEASUREMENTS_REQUEST_MEASUREMENT_OPERATION_TOTAL_NUMBER_OF_MEASUREMENTS

#define SPDM_GET_MEASUREMENTS_REQUEST_MEASUREMENT_OPERATION_TOTAL_NUMBER_OF_MEASUREMENTS   0

SPDM GET_MEASUREMENTS request MeasurementOperation

Definition at line 629 of file Spdm.h.

◆ SPDM_GET_MEASUREMENTS_REQUEST_SLOT_ID_MASK

#define SPDM_GET_MEASUREMENTS_REQUEST_SLOT_ID_MASK   0xF

Definition at line 617 of file Spdm.h.

◆ SPDM_GET_VERSION

#define SPDM_GET_VERSION   0x84

Definition at line 56 of file Spdm.h.

◆ SPDM_HEARTBEAT

#define SPDM_HEARTBEAT   0xE8

Definition at line 69 of file Spdm.h.

◆ SPDM_HEARTBEAT_ACK

#define SPDM_HEARTBEAT_ACK   0x68

Definition at line 38 of file Spdm.h.

◆ SPDM_KEY_EXCHANGE

#define SPDM_KEY_EXCHANGE   0xE4

SPDM request code (1.1)

Definition at line 65 of file Spdm.h.

◆ SPDM_KEY_EXCHANGE_REQUEST_ALL_MEASUREMENTS_HASH

#define SPDM_KEY_EXCHANGE_REQUEST_ALL_MEASUREMENTS_HASH   SPDM_REQUEST_ALL_MEASUREMENTS_HASH

Definition at line 901 of file Spdm.h.

◆ SPDM_KEY_EXCHANGE_REQUEST_NO_MEASUREMENT_SUMMARY_HASH

#define SPDM_KEY_EXCHANGE_REQUEST_NO_MEASUREMENT_SUMMARY_HASH    SPDM_REQUEST_NO_MEASUREMENT_SUMMARY_HASH

SPDM KEY_EXCHANGE request measurement summary HashType

Definition at line 897 of file Spdm.h.

◆ SPDM_KEY_EXCHANGE_REQUEST_SESSION_POLICY_TERMINATION_POLICY_RUNTIME_UPDATE

#define SPDM_KEY_EXCHANGE_REQUEST_SESSION_POLICY_TERMINATION_POLICY_RUNTIME_UPDATE   BIT0

SPDM KEY_EXCHANGE request session_policy

Definition at line 892 of file Spdm.h.

◆ SPDM_KEY_EXCHANGE_REQUEST_TCB_COMPONENT_MEASUREMENT_HASH

#define SPDM_KEY_EXCHANGE_REQUEST_TCB_COMPONENT_MEASUREMENT_HASH    SPDM_REQUEST_TCB_COMPONENT_MEASUREMENT_HASH

Definition at line 899 of file Spdm.h.

◆ SPDM_KEY_EXCHANGE_RESPONSE_MUT_AUTH_REQUESTED

#define SPDM_KEY_EXCHANGE_RESPONSE_MUT_AUTH_REQUESTED   BIT0

SPDM KEY_EXCHANGE response MutAuthRequested

Definition at line 925 of file Spdm.h.

◆ SPDM_KEY_EXCHANGE_RESPONSE_MUT_AUTH_REQUESTED_WITH_ENCAP_REQUEST

#define SPDM_KEY_EXCHANGE_RESPONSE_MUT_AUTH_REQUESTED_WITH_ENCAP_REQUEST   BIT1

Definition at line 926 of file Spdm.h.

◆ SPDM_KEY_EXCHANGE_RESPONSE_MUT_AUTH_REQUESTED_WITH_GET_DIGESTS

#define SPDM_KEY_EXCHANGE_RESPONSE_MUT_AUTH_REQUESTED_WITH_GET_DIGESTS   BIT2

Definition at line 927 of file Spdm.h.

◆ SPDM_KEY_EXCHANGE_RESPONSE_SIGN_CONTEXT

#define SPDM_KEY_EXCHANGE_RESPONSE_SIGN_CONTEXT   "responder-key_exchange_rsp signing"

Definition at line 929 of file Spdm.h.

◆ SPDM_KEY_EXCHANGE_RESPONSE_SIGN_CONTEXT_SIZE

#define SPDM_KEY_EXCHANGE_RESPONSE_SIGN_CONTEXT_SIZE    (sizeof(SPDM_KEY_EXCHANGE_RESPONSE_SIGN_CONTEXT) - 1)

Definition at line 930 of file Spdm.h.

◆ SPDM_KEY_EXCHANGE_RSP

#define SPDM_KEY_EXCHANGE_RSP   0x64

SPDM response code (1.1)

Definition at line 34 of file Spdm.h.

◆ SPDM_KEY_UPDATE

#define SPDM_KEY_UPDATE   0xE9

Definition at line 70 of file Spdm.h.

◆ SPDM_KEY_UPDATE_ACK

#define SPDM_KEY_UPDATE_ACK   0x69

Definition at line 39 of file Spdm.h.

◆ SPDM_KEY_UPDATE_OPERATIONS_TABLE_UPDATE_ALL_KEYS

#define SPDM_KEY_UPDATE_OPERATIONS_TABLE_UPDATE_ALL_KEYS   2

Definition at line 1062 of file Spdm.h.

◆ SPDM_KEY_UPDATE_OPERATIONS_TABLE_UPDATE_KEY

#define SPDM_KEY_UPDATE_OPERATIONS_TABLE_UPDATE_KEY   1

SPDM KEY_UPDATE Operations Table

Definition at line 1061 of file Spdm.h.

◆ SPDM_KEY_UPDATE_OPERATIONS_TABLE_VERIFY_NEW_KEY

#define SPDM_KEY_UPDATE_OPERATIONS_TABLE_VERIFY_NEW_KEY   3

Definition at line 1063 of file Spdm.h.

◆ SPDM_MAX_CERTIFICATE_CHAIN_SIZE

#define SPDM_MAX_CERTIFICATE_CHAIN_SIZE   65535

Maximum size, in bytes, of a certificate chain.

Definition at line 541 of file Spdm.h.

◆ SPDM_MAX_CSR_SIZE

#define SPDM_MAX_CSR_SIZE   65535

Maximum size, in bytes, of a CSR.

Definition at line 1209 of file Spdm.h.

◆ SPDM_MAX_OPAQUE_DATA_SIZE

#define SPDM_MAX_OPAQUE_DATA_SIZE   1024

Definition at line 16 of file Spdm.h.

◆ SPDM_MAX_SLOT_COUNT

#define SPDM_MAX_SLOT_COUNT   8

Definition at line 15 of file Spdm.h.

◆ SPDM_MAX_VENDOR_DEFINED_DATA_LEN

#define SPDM_MAX_VENDOR_DEFINED_DATA_LEN   65535

Maximum size of a vendor defined message data length limited by the length field size which is 2 bytes

Definition at line 834 of file Spdm.h.

◆ SPDM_MAX_VENDOR_ID_LENGTH

#define SPDM_MAX_VENDOR_ID_LENGTH   255

Maximum size of a vendor defined vendor id length limited by the length field size which is 1 byte

Definition at line 840 of file Spdm.h.

◆ SPDM_MEASUREMENT_BLOCK_HEADER_SPECIFICATION_DMTF

#define SPDM_MEASUREMENT_BLOCK_HEADER_SPECIFICATION_DMTF   BIT0

Definition at line 646 of file Spdm.h.

◆ SPDM_MEASUREMENT_BLOCK_MEASUREMENT_INDEX_DEVICE_MODE

#define SPDM_MEASUREMENT_BLOCK_MEASUREMENT_INDEX_DEVICE_MODE   0xFE

Definition at line 686 of file Spdm.h.

◆ SPDM_MEASUREMENT_BLOCK_MEASUREMENT_INDEX_MEASUREMENT_MANIFEST

#define SPDM_MEASUREMENT_BLOCK_MEASUREMENT_INDEX_MEASUREMENT_MANIFEST   0xFD

SPDM MEASUREMENTS block index

Definition at line 685 of file Spdm.h.

◆ SPDM_MEASUREMENT_BLOCK_MEASUREMENT_TYPE_DEVICE_MODE

#define SPDM_MEASUREMENT_BLOCK_MEASUREMENT_TYPE_DEVICE_MODE   5

Definition at line 676 of file Spdm.h.

◆ SPDM_MEASUREMENT_BLOCK_MEASUREMENT_TYPE_FIRMWARE_CONFIGURATION

#define SPDM_MEASUREMENT_BLOCK_MEASUREMENT_TYPE_FIRMWARE_CONFIGURATION   3

Definition at line 674 of file Spdm.h.

◆ SPDM_MEASUREMENT_BLOCK_MEASUREMENT_TYPE_HARDWARE_CONFIGURATION

#define SPDM_MEASUREMENT_BLOCK_MEASUREMENT_TYPE_HARDWARE_CONFIGURATION   2

Definition at line 673 of file Spdm.h.

◆ SPDM_MEASUREMENT_BLOCK_MEASUREMENT_TYPE_IMMUTABLE_ROM

#define SPDM_MEASUREMENT_BLOCK_MEASUREMENT_TYPE_IMMUTABLE_ROM   0

SPDM MEASUREMENTS block MeasurementValueType

Definition at line 671 of file Spdm.h.

◆ SPDM_MEASUREMENT_BLOCK_MEASUREMENT_TYPE_MASK

#define SPDM_MEASUREMENT_BLOCK_MEASUREMENT_TYPE_MASK   0x7

Definition at line 679 of file Spdm.h.

◆ SPDM_MEASUREMENT_BLOCK_MEASUREMENT_TYPE_MEASUREMENT_MANIFEST

#define SPDM_MEASUREMENT_BLOCK_MEASUREMENT_TYPE_MEASUREMENT_MANIFEST   4

Definition at line 675 of file Spdm.h.

◆ SPDM_MEASUREMENT_BLOCK_MEASUREMENT_TYPE_MUTABLE_FIRMWARE

#define SPDM_MEASUREMENT_BLOCK_MEASUREMENT_TYPE_MUTABLE_FIRMWARE   1

Definition at line 672 of file Spdm.h.

◆ SPDM_MEASUREMENT_BLOCK_MEASUREMENT_TYPE_RAW_BIT_STREAM

#define SPDM_MEASUREMENT_BLOCK_MEASUREMENT_TYPE_RAW_BIT_STREAM   BIT7

Definition at line 680 of file Spdm.h.

◆ SPDM_MEASUREMENT_BLOCK_MEASUREMENT_TYPE_SECURE_VERSION_NUMBER

#define SPDM_MEASUREMENT_BLOCK_MEASUREMENT_TYPE_SECURE_VERSION_NUMBER   7

Definition at line 678 of file Spdm.h.

◆ SPDM_MEASUREMENT_BLOCK_MEASUREMENT_TYPE_VERSION

#define SPDM_MEASUREMENT_BLOCK_MEASUREMENT_TYPE_VERSION   6

Definition at line 677 of file Spdm.h.

◆ SPDM_MEASUREMENT_DEVICE_MODE_INVASIVE_DEBUG_MODE_HAS_BEEN_ACTIVE

#define SPDM_MEASUREMENT_DEVICE_MODE_INVASIVE_DEBUG_MODE_HAS_BEEN_ACTIVE   BIT3

Definition at line 708 of file Spdm.h.

◆ SPDM_MEASUREMENT_DEVICE_MODE_INVASIVE_DEBUG_MODE_HAS_BEEN_ACTIVE_AFTER_MFG

#define SPDM_MEASUREMENT_DEVICE_MODE_INVASIVE_DEBUG_MODE_HAS_BEEN_ACTIVE_AFTER_MFG   BIT4

Definition at line 709 of file Spdm.h.

◆ SPDM_MEASUREMENT_DEVICE_MODE_INVASIVE_DEBUG_MODE_IS_ACTIVE

#define SPDM_MEASUREMENT_DEVICE_MODE_INVASIVE_DEBUG_MODE_IS_ACTIVE   BIT1

Definition at line 706 of file Spdm.h.

◆ SPDM_MEASUREMENT_DEVICE_MODE_NON_INVASIVE_DEBUG_MODE_HAS_BEEN_ACTIVE

#define SPDM_MEASUREMENT_DEVICE_MODE_NON_INVASIVE_DEBUG_MODE_HAS_BEEN_ACTIVE   BIT2

Definition at line 707 of file Spdm.h.

◆ SPDM_MEASUREMENT_DEVICE_MODE_NON_INVASIVE_DEBUG_MODE_IS_ACTIVE

#define SPDM_MEASUREMENT_DEVICE_MODE_NON_INVASIVE_DEBUG_MODE_IS_ACTIVE   BIT0

Definition at line 705 of file Spdm.h.

◆ SPDM_MEASUREMENT_DEVICE_OPERATION_MODE_DECOMMISSIONED_MODE

#define SPDM_MEASUREMENT_DEVICE_OPERATION_MODE_DECOMMISSIONED_MODE   BIT5

Definition at line 703 of file Spdm.h.

◆ SPDM_MEASUREMENT_DEVICE_OPERATION_MODE_MANUFACTURING_MODE

#define SPDM_MEASUREMENT_DEVICE_OPERATION_MODE_MANUFACTURING_MODE   BIT0

Definition at line 698 of file Spdm.h.

◆ SPDM_MEASUREMENT_DEVICE_OPERATION_MODE_NORMAL_MODE

#define SPDM_MEASUREMENT_DEVICE_OPERATION_MODE_NORMAL_MODE   BIT2

Definition at line 700 of file Spdm.h.

◆ SPDM_MEASUREMENT_DEVICE_OPERATION_MODE_RECOVERY_MODE

#define SPDM_MEASUREMENT_DEVICE_OPERATION_MODE_RECOVERY_MODE   BIT3

Definition at line 701 of file Spdm.h.

◆ SPDM_MEASUREMENT_DEVICE_OPERATION_MODE_RMA_MODE

#define SPDM_MEASUREMENT_DEVICE_OPERATION_MODE_RMA_MODE   BIT4

Definition at line 702 of file Spdm.h.

◆ SPDM_MEASUREMENT_DEVICE_OPERATION_MODE_VALIDATION_MODE

#define SPDM_MEASUREMENT_DEVICE_OPERATION_MODE_VALIDATION_MODE   BIT1

Definition at line 699 of file Spdm.h.

◆ SPDM_MEASUREMENTS

#define SPDM_MEASUREMENTS   0x60

Definition at line 26 of file Spdm.h.

◆ SPDM_MEASUREMENTS_RESPONSE_CONTENT_CHANGE_DETECTED

#define SPDM_MEASUREMENTS_RESPONSE_CONTENT_CHANGE_DETECTED   0x10

Definition at line 739 of file Spdm.h.

◆ SPDM_MEASUREMENTS_RESPONSE_CONTENT_CHANGE_MASK

#define SPDM_MEASUREMENTS_RESPONSE_CONTENT_CHANGE_MASK   0x30

SPDM MEASUREMENTS content changed

Definition at line 737 of file Spdm.h.

◆ SPDM_MEASUREMENTS_RESPONSE_CONTENT_CHANGE_NO_DETECTION

#define SPDM_MEASUREMENTS_RESPONSE_CONTENT_CHANGE_NO_DETECTION   0x00

Definition at line 738 of file Spdm.h.

◆ SPDM_MEASUREMENTS_RESPONSE_CONTENT_NO_CHANGE_DETECTED

#define SPDM_MEASUREMENTS_RESPONSE_CONTENT_NO_CHANGE_DETECTED   0x20

Definition at line 740 of file Spdm.h.

◆ SPDM_MEASUREMENTS_RESPONSE_SLOT_ID_MASK

#define SPDM_MEASUREMENTS_RESPONSE_SLOT_ID_MASK   0xF

Definition at line 732 of file Spdm.h.

◆ SPDM_MEASUREMENTS_SIGN_CONTEXT

#define SPDM_MEASUREMENTS_SIGN_CONTEXT   "responder-measurements signing"

Definition at line 742 of file Spdm.h.

◆ SPDM_MEASUREMENTS_SIGN_CONTEXT_SIZE

#define SPDM_MEASUREMENTS_SIGN_CONTEXT_SIZE   (sizeof(SPDM_MEASUREMENTS_SIGN_CONTEXT) - 1)

Definition at line 743 of file Spdm.h.

◆ SPDM_MEL_SPECIFICATION_DMTF

#define SPDM_MEL_SPECIFICATION_DMTF   BIT0

Definition at line 745 of file Spdm.h.

◆ SPDM_MESSAGE_VERSION

#define SPDM_MESSAGE_VERSION   SPDM_MESSAGE_VERSION_10

Definition at line 95 of file Spdm.h.

◆ SPDM_MESSAGE_VERSION_10

#define SPDM_MESSAGE_VERSION_10   0x10

Definition at line 92 of file Spdm.h.

◆ SPDM_MESSAGE_VERSION_11

#define SPDM_MESSAGE_VERSION_11   0x11

Definition at line 93 of file Spdm.h.

◆ SPDM_MESSAGE_VERSION_12

#define SPDM_MESSAGE_VERSION_12   0x12

Definition at line 94 of file Spdm.h.

◆ SPDM_MIN_DATA_TRANSFER_SIZE_VERSION_12

#define SPDM_MIN_DATA_TRANSFER_SIZE_VERSION_12   42

Definition at line 165 of file Spdm.h.

◆ SPDM_MUT_CHALLENGE_AUTH_SIGN_CONTEXT

#define SPDM_MUT_CHALLENGE_AUTH_SIGN_CONTEXT   "requester-challenge_auth signing"

Definition at line 597 of file Spdm.h.

◆ SPDM_MUT_CHALLENGE_AUTH_SIGN_CONTEXT_SIZE

#define SPDM_MUT_CHALLENGE_AUTH_SIGN_CONTEXT_SIZE   (sizeof(SPDM_MUT_CHALLENGE_AUTH_SIGN_CONTEXT) - 1)

Definition at line 598 of file Spdm.h.

◆ SPDM_NEGOTIATE_ALGORITHMS

#define SPDM_NEGOTIATE_ALGORITHMS   0xE3

Definition at line 59 of file Spdm.h.

◆ SPDM_NEGOTIATE_ALGORITHMS_MAX_NUM_STRUCT_TABLE_ALG

#define SPDM_NEGOTIATE_ALGORITHMS_MAX_NUM_STRUCT_TABLE_ALG   4

Definition at line 311 of file Spdm.h.

◆ SPDM_NEGOTIATE_ALGORITHMS_REQUEST_MAX_EXT_ALG_COUNT_VERSION_10

#define SPDM_NEGOTIATE_ALGORITHMS_REQUEST_MAX_EXT_ALG_COUNT_VERSION_10   BIT3

Definition at line 295 of file Spdm.h.

◆ SPDM_NEGOTIATE_ALGORITHMS_REQUEST_MAX_EXT_ALG_COUNT_VERSION_11

#define SPDM_NEGOTIATE_ALGORITHMS_REQUEST_MAX_EXT_ALG_COUNT_VERSION_11   (BIT4 | BIT2)

Definition at line 296 of file Spdm.h.

◆ SPDM_NEGOTIATE_ALGORITHMS_REQUEST_MAX_EXT_ALG_COUNT_VERSION_12

#define SPDM_NEGOTIATE_ALGORITHMS_REQUEST_MAX_EXT_ALG_COUNT_VERSION_12   (BIT4 | BIT2)

Definition at line 297 of file Spdm.h.

◆ SPDM_NEGOTIATE_ALGORITHMS_REQUEST_MAX_LENGTH_VERSION_10

#define SPDM_NEGOTIATE_ALGORITHMS_REQUEST_MAX_LENGTH_VERSION_10   BIT6

Definition at line 292 of file Spdm.h.

◆ SPDM_NEGOTIATE_ALGORITHMS_REQUEST_MAX_LENGTH_VERSION_11

#define SPDM_NEGOTIATE_ALGORITHMS_REQUEST_MAX_LENGTH_VERSION_11   BIT7

Definition at line 293 of file Spdm.h.

◆ SPDM_NEGOTIATE_ALGORITHMS_REQUEST_MAX_LENGTH_VERSION_12

#define SPDM_NEGOTIATE_ALGORITHMS_REQUEST_MAX_LENGTH_VERSION_12   BIT7

Definition at line 294 of file Spdm.h.

◆ SPDM_NEGOTIATE_ALGORITHMS_STRUCT_TABLE_ALG_TYPE_AEAD

#define SPDM_NEGOTIATE_ALGORITHMS_STRUCT_TABLE_ALG_TYPE_AEAD   3

Definition at line 314 of file Spdm.h.

◆ SPDM_NEGOTIATE_ALGORITHMS_STRUCT_TABLE_ALG_TYPE_DHE

#define SPDM_NEGOTIATE_ALGORITHMS_STRUCT_TABLE_ALG_TYPE_DHE   2

Definition at line 313 of file Spdm.h.

◆ SPDM_NEGOTIATE_ALGORITHMS_STRUCT_TABLE_ALG_TYPE_KEY_SCHEDULE

#define SPDM_NEGOTIATE_ALGORITHMS_STRUCT_TABLE_ALG_TYPE_KEY_SCHEDULE   5

Definition at line 316 of file Spdm.h.

◆ SPDM_NEGOTIATE_ALGORITHMS_STRUCT_TABLE_ALG_TYPE_REQ_BASE_ASYM_ALG

#define SPDM_NEGOTIATE_ALGORITHMS_STRUCT_TABLE_ALG_TYPE_REQ_BASE_ASYM_ALG   4

Definition at line 315 of file Spdm.h.

◆ SPDM_NONCE_SIZE

#define SPDM_NONCE_SIZE   32

Definition at line 17 of file Spdm.h.

◆ SPDM_OID_DMTF

#define SPDM_OID_DMTF    {0x2B, 0x06, 0x01, 0x04, 0x01, 0x83, 0x1C }

id-DMTF 1.3.6.1.4.1.412. These OID are defiend in ANNEX C (informative) OID reference section from the DMTF SPDM spec. https://www.dmtf.org/sites/default/files/standards/documents/DSP0274_1.2.2.pdf

Definition at line 1309 of file Spdm.h.

◆ SPDM_OID_DMTF_DEVICE_INFO

#define SPDM_OID_DMTF_DEVICE_INFO    {0x2B, 0x06, 0x01, 0x04, 0x01, 0x83, 0x1C, 0x82, 0x12, 0x01 }

Definition at line 1315 of file Spdm.h.

◆ SPDM_OID_DMTF_EKU_REQUESTER_AUTH

#define SPDM_OID_DMTF_EKU_REQUESTER_AUTH    {0x2B, 0x06, 0x01, 0x04, 0x01, 0x83, 0x1C, 0x82, 0x12, 0x04 }

Definition at line 1324 of file Spdm.h.

◆ SPDM_OID_DMTF_EKU_RESPONDER_AUTH

#define SPDM_OID_DMTF_EKU_RESPONDER_AUTH    {0x2B, 0x06, 0x01, 0x04, 0x01, 0x83, 0x1C, 0x82, 0x12, 0x03 }

Definition at line 1321 of file Spdm.h.

◆ SPDM_OID_DMTF_HARDWARE_IDENTITY

#define SPDM_OID_DMTF_HARDWARE_IDENTITY    {0x2B, 0x06, 0x01, 0x04, 0x01, 0x83, 0x1C, 0x82, 0x12, 0x02 }

Definition at line 1318 of file Spdm.h.

◆ SPDM_OID_DMTF_MUTABLE_CERTIFICATE

#define SPDM_OID_DMTF_MUTABLE_CERTIFICATE    {0x2B, 0x06, 0x01, 0x04, 0x01, 0x83, 0x1C, 0x82, 0x12, 0x05 }

Definition at line 1327 of file Spdm.h.

◆ SPDM_OID_DMTF_SPDM

#define SPDM_OID_DMTF_SPDM    {0x06, 0x01, 0x04, 0x01, 0x83, 0x1C, 0x82, 0x12 }

Definition at line 1312 of file Spdm.h.

◆ SPDM_OID_DMTF_SPDM_EXTENSION

#define SPDM_OID_DMTF_SPDM_EXTENSION    {0x2B, 0x06, 0x01, 0x04, 0x01, 0x83, 0x1C, 0x82, 0x12, 0x06 }

Definition at line 1330 of file Spdm.h.

◆ SPDM_PSK_EXCHANGE

#define SPDM_PSK_EXCHANGE   0xE6

Definition at line 67 of file Spdm.h.

◆ SPDM_PSK_EXCHANGE_REQUEST_ALL_MEASUREMENTS_HASH

#define SPDM_PSK_EXCHANGE_REQUEST_ALL_MEASUREMENTS_HASH   SPDM_REQUEST_ALL_MEASUREMENTS_HASH

Definition at line 993 of file Spdm.h.

◆ SPDM_PSK_EXCHANGE_REQUEST_NO_MEASUREMENT_SUMMARY_HASH

#define SPDM_PSK_EXCHANGE_REQUEST_NO_MEASUREMENT_SUMMARY_HASH    SPDM_REQUEST_NO_MEASUREMENT_SUMMARY_HASH

SPDM PSK_EXCHANGE request measurement summary HashType

Definition at line 989 of file Spdm.h.

◆ SPDM_PSK_EXCHANGE_REQUEST_TCB_COMPONENT_MEASUREMENT_HASH

#define SPDM_PSK_EXCHANGE_REQUEST_TCB_COMPONENT_MEASUREMENT_HASH    SPDM_REQUEST_TCB_COMPONENT_MEASUREMENT_HASH

Definition at line 991 of file Spdm.h.

◆ SPDM_PSK_EXCHANGE_RSP

#define SPDM_PSK_EXCHANGE_RSP   0x66

Definition at line 36 of file Spdm.h.

◆ SPDM_PSK_FINISH

#define SPDM_PSK_FINISH   0xE7

Definition at line 68 of file Spdm.h.

◆ SPDM_PSK_FINISH_RSP

#define SPDM_PSK_FINISH_RSP   0x67

Definition at line 37 of file Spdm.h.

◆ SPDM_RANDOM_DATA_SIZE

#define SPDM_RANDOM_DATA_SIZE   32

Definition at line 18 of file Spdm.h.

◆ SPDM_REGISTRY_ID_CXL

#define SPDM_REGISTRY_ID_CXL   7

Definition at line 469 of file Spdm.h.

◆ SPDM_REGISTRY_ID_DMTF

#define SPDM_REGISTRY_ID_DMTF   0

SPDM RegistryID

Definition at line 462 of file Spdm.h.

◆ SPDM_REGISTRY_ID_HDBASET

#define SPDM_REGISTRY_ID_HDBASET   5

Definition at line 467 of file Spdm.h.

◆ SPDM_REGISTRY_ID_IANA

#define SPDM_REGISTRY_ID_IANA   4

Definition at line 466 of file Spdm.h.

◆ SPDM_REGISTRY_ID_JEDEC

#define SPDM_REGISTRY_ID_JEDEC   8

Definition at line 470 of file Spdm.h.

◆ SPDM_REGISTRY_ID_MIPI

#define SPDM_REGISTRY_ID_MIPI   6

Definition at line 468 of file Spdm.h.

◆ SPDM_REGISTRY_ID_PCISIG

#define SPDM_REGISTRY_ID_PCISIG   3

Definition at line 465 of file Spdm.h.

◆ SPDM_REGISTRY_ID_TCG

#define SPDM_REGISTRY_ID_TCG   1

Definition at line 463 of file Spdm.h.

◆ SPDM_REGISTRY_ID_USB

#define SPDM_REGISTRY_ID_USB   2

Definition at line 464 of file Spdm.h.

◆ SPDM_REQUEST_ALL_MEASUREMENTS_HASH

#define SPDM_REQUEST_ALL_MEASUREMENTS_HASH   0xFF

Definition at line 572 of file Spdm.h.

◆ SPDM_REQUEST_NO_MEASUREMENT_SUMMARY_HASH

#define SPDM_REQUEST_NO_MEASUREMENT_SUMMARY_HASH   0

SPDM generic request measurement summary HashType

Definition at line 570 of file Spdm.h.

◆ SPDM_REQUEST_TCB_COMPONENT_MEASUREMENT_HASH

#define SPDM_REQUEST_TCB_COMPONENT_MEASUREMENT_HASH   1

Definition at line 571 of file Spdm.h.

◆ SPDM_RESPOND_IF_READY

#define SPDM_RESPOND_IF_READY   0xFF

Definition at line 61 of file Spdm.h.

◆ SPDM_SET_CERTIFICATE

#define SPDM_SET_CERTIFICATE   0xEE

Definition at line 78 of file Spdm.h.

◆ SPDM_SET_CERTIFICATE_REQUEST_ATTRIBUTES_CERT_MODEL_MASK

#define SPDM_SET_CERTIFICATE_REQUEST_ATTRIBUTES_CERT_MODEL_MASK   0x70

SPDM SET_CERTIFICATE request Attributes

Definition at line 1169 of file Spdm.h.

◆ SPDM_SET_CERTIFICATE_REQUEST_ATTRIBUTES_CERT_MODEL_OFFSET

#define SPDM_SET_CERTIFICATE_REQUEST_ATTRIBUTES_CERT_MODEL_OFFSET   4

Definition at line 1170 of file Spdm.h.

◆ SPDM_SET_CERTIFICATE_REQUEST_ATTRIBUTES_ERASE

#define SPDM_SET_CERTIFICATE_REQUEST_ATTRIBUTES_ERASE   0x80

Definition at line 1171 of file Spdm.h.

◆ SPDM_SET_CERTIFICATE_REQUEST_SLOT_ID_MASK

#define SPDM_SET_CERTIFICATE_REQUEST_SLOT_ID_MASK   0xF

Definition at line 1164 of file Spdm.h.

◆ SPDM_SET_CERTIFICATE_RESPONSE_SLOT_ID_MASK

#define SPDM_SET_CERTIFICATE_RESPONSE_SLOT_ID_MASK   0xF

Definition at line 1183 of file Spdm.h.

◆ SPDM_SET_CERTIFICATE_RSP

#define SPDM_SET_CERTIFICATE_RSP   0x6E

Definition at line 47 of file Spdm.h.

◆ SPDM_ST1_VALUE_US

#define SPDM_ST1_VALUE_US   100000

The maximum amount of time in microseconds the Responder has to provide a response to requests that do not require cryptographic processing.

Definition at line 1302 of file Spdm.h.

◆ SPDM_VENDOR_DEFINED_REQUEST

#define SPDM_VENDOR_DEFINED_REQUEST   0xFE

Definition at line 60 of file Spdm.h.

◆ SPDM_VENDOR_DEFINED_RESPONSE

#define SPDM_VENDOR_DEFINED_RESPONSE   0x7E

Definition at line 29 of file Spdm.h.

◆ SPDM_VERSION

#define SPDM_VERSION   0x04

Definition at line 25 of file Spdm.h.

◆ SPDM_VERSION_1_1_BIN_CONCAT_LABEL

#define SPDM_VERSION_1_1_BIN_CONCAT_LABEL   "spdm1.1 "

Definition at line 1285 of file Spdm.h.

◆ SPDM_VERSION_1_2_BIN_CONCAT_LABEL

#define SPDM_VERSION_1_2_BIN_CONCAT_LABEL   "spdm1.2 "

Definition at line 1286 of file Spdm.h.

◆ SPDM_VERSION_1_2_KEY_EXCHANGE_REQUESTER_CONTEXT

#define SPDM_VERSION_1_2_KEY_EXCHANGE_REQUESTER_CONTEXT   "Requester-KEP-dmtf-spdm-v1.2"

Definition at line 933 of file Spdm.h.

◆ SPDM_VERSION_1_2_KEY_EXCHANGE_REQUESTER_CONTEXT_SIZE

#define SPDM_VERSION_1_2_KEY_EXCHANGE_REQUESTER_CONTEXT_SIZE    (sizeof(SPDM_VERSION_1_2_KEY_EXCHANGE_REQUESTER_CONTEXT) - 1)

Definition at line 934 of file Spdm.h.

◆ SPDM_VERSION_1_2_KEY_EXCHANGE_RESPONDER_CONTEXT

#define SPDM_VERSION_1_2_KEY_EXCHANGE_RESPONDER_CONTEXT   "Responder-KEP-dmtf-spdm-v1.2"

Definition at line 937 of file Spdm.h.

◆ SPDM_VERSION_1_2_KEY_EXCHANGE_RESPONDER_CONTEXT_SIZE

#define SPDM_VERSION_1_2_KEY_EXCHANGE_RESPONDER_CONTEXT_SIZE    (sizeof(SPDM_VERSION_1_2_KEY_EXCHANGE_RESPONDER_CONTEXT) - 1)

Definition at line 938 of file Spdm.h.

◆ SPDM_VERSION_1_2_SIGNING_CONTEXT_SIZE

#define SPDM_VERSION_1_2_SIGNING_CONTEXT_SIZE   100

Definition at line 131 of file Spdm.h.

◆ SPDM_VERSION_1_2_SIGNING_PREFIX_CONTEXT

#define SPDM_VERSION_1_2_SIGNING_PREFIX_CONTEXT   "dmtf-spdm-v1.2.*"

Definition at line 128 of file Spdm.h.

◆ SPDM_VERSION_1_2_SIGNING_PREFIX_CONTEXT_SIZE

#define SPDM_VERSION_1_2_SIGNING_PREFIX_CONTEXT_SIZE    (sizeof(SPDM_VERSION_1_2_SIGNING_PREFIX_CONTEXT) - 1)

Definition at line 129 of file Spdm.h.

◆ SPDM_VERSION_NUMBER_SHIFT_BIT

#define SPDM_VERSION_NUMBER_SHIFT_BIT   8

Definition at line 126 of file Spdm.h.

Typedef Documentation

◆ SPDM_MEASUREMENTS_SECURE_VERSION_NUMBER

SPDM MEASUREMENTS SVN

Definition at line 714 of file Spdm.h.

◆ SPDM_VERSION_NUMBER

typedef UINT16 SPDM_VERSION_NUMBER

SPDM VERSION structure

bit[15:12] major_version bit[11:8] minor_version bit[7:4] update_version_number bit[3:0] alpha

Definition at line 125 of file Spdm.h.