NVIDIA DRIVE OS Linux SDK API Reference

5.2.6 Release
For Test and Development only
TEE Trusted Storage Constants

Detailed Description

Describes TEE trusted storage constants. These constants are only supported on Linux PDK.

Macros

#define TEE_OBJECT_STORAGE_PRIVATE   0x00000001
 
#define TEE_STORAGE_PRIVATE   0U
 
#define TEE_DATA_MAX_POSITION   0xFFFFFFFFU
 
#define TEE_OBJECT_ID_MAX_LEN   64U
 

Enumerations

enum  TEE_TrustedStorageDataFlag {
  TEE_DATA_FLAG_ACCESS_READ = 0x00000001,
  TEE_DATA_FLAG_ACCESS_WRITE = 0x00000002,
  TEE_DATA_FLAG_ACCESS_WRITE_META = 0x00000004,
  TEE_DATA_FLAG_SHARE_READ = 0x00000010,
  TEE_DATA_FLAG_SHARE_WRITE = 0x00000020,
  TEE_DATA_FLAG_CREATE = 0x00000200,
  TEE_DATA_FLAG_EXCLUSIVE = 0x00000400
}
 Data Flag Constants. More...
 
enum  TEE_TrustedStorageUsageFlag {
  TEE_USAGE_EXTRACTABLE = 0x00000001,
  TEE_USAGE_ENCRYPT = 0x00000002,
  TEE_USAGE_DECRYPT = 0x00000004,
  TEE_USAGE_MAC = 0x00000008,
  TEE_USAGE_SIGN = 0x00000010,
  TEE_USAGE_VERIFY = 0x00000020,
  TEE_USAGE_DERIVE = 0x00000040
}
 Usage Constants. More...
 
enum  TEE_TrustedStorageHandleFlag {
  TEE_HANDLE_FLAG_PERSISTENT = 0x00001000,
  TEE_HANDLE_FLAG_INITIALIZED = 0x00002000,
  TEE_HANLDE_FLAG_KEY_SET = 0x00004000,
  TEE_HANDLE_FLAG_EXPECT_TWO_KEYS = 0x00008000
}
 Handle Flag Constants. More...
 
enum  TEE_TrustedStorageObjectType {
  TEE_TYPE_AES = 0xA00000010U,
  TEE_TYPE_DES = 0xA00000011U,
  TEE_TYPE_DES3 = 0xA00000013U,
  TEE_TYPE_HMAC_MD5 = 0xA00000001U,
  TEE_TYPE_HMAC_SHA1 = 0xA00000002U,
  TEE_TYPE_HMAC_SHA224 = 0xA00000003U,
  TEE_TYPE_HMAC_SHA256 = 0xA00000004U,
  TEE_TYPE_HMAC_SHA384 = 0xA00000005U,
  TEE_TYPE_HMAC_SHA512 = 0xA00000006U,
  TEE_TYPE_RSA_PUBLIC_KEY = 0xA00000030U,
  TEE_TYPE_RSA_KEYPAIR = 0xA10000030U,
  TEE_TYPE_DSA_PUBLIC_KEY = 0xA00000031U,
  TEE_TYPE_DSA_KEYPAIR = 0xA10000031U,
  TEE_TYPE_DH_KEYPAIR = 0xA10000032U,
  TEE_TYPE_GENERIC_SECRET = 0xA00000000U
}
 
enum  TEE_AttributeID {
  TEE_ATTR_SECRET_VALUE = 0xC0000000U,
  TEE_ATTR_RSA_MODULES = 0xD0000130U,
  TEE_ATTR_RSA_PUBLIC_EXPONENT = 0xD0000230U,
  TEE_ATTR_RSA_PRIVATE_EXPONENT = 0xC0000330U,
  TEE_ATTR_RSA_PRIME1 = 0xC0000430U,
  TEE_ATTR_RSA_PRIME2 = 0xC0000530U,
  TEE_ATTR_RSA_EXPONENT1 = 0xC0000630U,
  TEE_ATTR_RSA_EXPONENT2 = 0xC0000730U,
  TEE_ATTR_RSA_COEFFICIENT = 0xC0000830U,
  TEE_ATTR_DSA_PRIME = 0xD0001031U,
  TEE_ATTR_DSA_SUBPRIME = 0xD0001131U,
  TEE_ATTR_DSA_BASE = 0xD0001231U,
  TEE_ATTR_DSA_PUBLIC_VALUE = 0xD0000131U,
  TEE_ATTR_DSA_PRIVATE_VALUE = 0xD0000231U,
  TEE_ATTR_DH_PRIME = 0xD0001032U,
  TEE_ATTR_DH_SUBPRIME = 0xD0001132U,
  TEE_ATTR_DH_BASE = 0xD0001232U,
  TEE_ATTR_DH_X_BITS = 0xF0001332U,
  TEE_ATTR_DH_PUBLIC_VALUE = 0xD0000132U,
  TEE_ATTR_DH_PRIVATE_VALUE = 0xC0000232U,
  TEE_ATTR_RSA_OAEP_LABEL = 0xD0000930U,
  TEE_ATTR_RSA_PSS_SALT_LENGTH = 0xF0000A30U
}
 Attribute IDs. More...
 
enum  TEE_AttributeFlag {
  TEE_ATTR_FLAG_VALUE = 0x20000000,
  TEE_ATTR_FLAG_PUBLIC = 0x10000000
}
 

Macro Definition Documentation

◆ TEE_DATA_MAX_POSITION

#define TEE_DATA_MAX_POSITION   0xFFFFFFFFU

Definition at line 123 of file tee_trusted_storage_constants.h.

◆ TEE_OBJECT_ID_MAX_LEN

#define TEE_OBJECT_ID_MAX_LEN   64U

Definition at line 124 of file tee_trusted_storage_constants.h.

◆ TEE_OBJECT_STORAGE_PRIVATE

#define TEE_OBJECT_STORAGE_PRIVATE   0x00000001

Definition at line 36 of file tee_trusted_storage_constants.h.

◆ TEE_STORAGE_PRIVATE

#define TEE_STORAGE_PRIVATE   0U

Definition at line 37 of file tee_trusted_storage_constants.h.

Enumeration Type Documentation

◆ TEE_AttributeFlag

Enumerator
TEE_ATTR_FLAG_VALUE 
TEE_ATTR_FLAG_PUBLIC 

Definition at line 117 of file tee_trusted_storage_constants.h.

◆ TEE_AttributeID

Attribute IDs.

Enumerator
TEE_ATTR_SECRET_VALUE 
TEE_ATTR_RSA_MODULES 
TEE_ATTR_RSA_PUBLIC_EXPONENT 
TEE_ATTR_RSA_PRIVATE_EXPONENT 
TEE_ATTR_RSA_PRIME1 
TEE_ATTR_RSA_PRIME2 
TEE_ATTR_RSA_EXPONENT1 
TEE_ATTR_RSA_EXPONENT2 
TEE_ATTR_RSA_COEFFICIENT 
TEE_ATTR_DSA_PRIME 
TEE_ATTR_DSA_SUBPRIME 
TEE_ATTR_DSA_BASE 
TEE_ATTR_DSA_PUBLIC_VALUE 
TEE_ATTR_DSA_PRIVATE_VALUE 
TEE_ATTR_DH_PRIME 
TEE_ATTR_DH_SUBPRIME 
TEE_ATTR_DH_BASE 
TEE_ATTR_DH_X_BITS 
TEE_ATTR_DH_PUBLIC_VALUE 
TEE_ATTR_DH_PRIVATE_VALUE 
TEE_ATTR_RSA_OAEP_LABEL 
TEE_ATTR_RSA_PSS_SALT_LENGTH 

Definition at line 92 of file tee_trusted_storage_constants.h.

◆ TEE_TrustedStorageDataFlag

Data Flag Constants.

Enumerator
TEE_DATA_FLAG_ACCESS_READ 
TEE_DATA_FLAG_ACCESS_WRITE 
TEE_DATA_FLAG_ACCESS_WRITE_META 
TEE_DATA_FLAG_SHARE_READ 
TEE_DATA_FLAG_SHARE_WRITE 
TEE_DATA_FLAG_CREATE 
TEE_DATA_FLAG_EXCLUSIVE 

Definition at line 40 of file tee_trusted_storage_constants.h.

◆ TEE_TrustedStorageHandleFlag

Handle Flag Constants.

Enumerator
TEE_HANDLE_FLAG_PERSISTENT 
TEE_HANDLE_FLAG_INITIALIZED 
TEE_HANLDE_FLAG_KEY_SET 
TEE_HANDLE_FLAG_EXPECT_TWO_KEYS 

Definition at line 64 of file tee_trusted_storage_constants.h.

◆ TEE_TrustedStorageObjectType

Enumerator
TEE_TYPE_AES 
TEE_TYPE_DES 
TEE_TYPE_DES3 
TEE_TYPE_HMAC_MD5 
TEE_TYPE_HMAC_SHA1 
TEE_TYPE_HMAC_SHA224 
TEE_TYPE_HMAC_SHA256 
TEE_TYPE_HMAC_SHA384 
TEE_TYPE_HMAC_SHA512 
TEE_TYPE_RSA_PUBLIC_KEY 
TEE_TYPE_RSA_KEYPAIR 
TEE_TYPE_DSA_PUBLIC_KEY 
TEE_TYPE_DSA_KEYPAIR 
TEE_TYPE_DH_KEYPAIR 
TEE_TYPE_GENERIC_SECRET 

Definition at line 73 of file tee_trusted_storage_constants.h.

◆ TEE_TrustedStorageUsageFlag

Usage Constants.

Enumerator
TEE_USAGE_EXTRACTABLE 
TEE_USAGE_ENCRYPT 
TEE_USAGE_DECRYPT 
TEE_USAGE_MAC 
TEE_USAGE_SIGN 
TEE_USAGE_VERIFY 
TEE_USAGE_DERIVE 

Definition at line 52 of file tee_trusted_storage_constants.h.