1 /* 2 * Copyright 2018-2021 NXP 3 * All rights reserved. 4 * 5 * SPDX-License-Identifier: BSD-3-Clause 6 */ 7 #ifndef FSL_SSCP_COMMANDS_H 8 #define FSL_SSCP_COMMANDS_H 9 10 #if !defined(SSCP_CONFIG_FILE) 11 #include "fsl_sscp_config_elemu.h" 12 #else 13 #include SSCP_CONFIG_FILE 14 #endif 15 16 /*! 17 @defgroup sscp_cmd SSCP commands 18 @details This section describes the SSCP commands and parameters. 19 @ingroup sscp 20 */ 21 /*! 22 * @addtogroup sscp_cmd 23 * @{ 24 */ 25 26 #if !defined(SSCP_COMMAND_ENUM_ALT) 27 /*! @brief SSCP common commands */ 28 typedef enum 29 { 30 kSSCP_CMD_SSS_OpenSession, 31 kSSCP_CMD_SSS_CloseSession, 32 kSSCP_CMD_SSS_Ping, 33 kSSCP_CMD_SSS_ContextFree, 34 kSSCP_CMD_SSS_SymmetricContextInit, 35 kSSCP_CMD_SSS_SymmetricCipherOneGo, 36 kSSCP_CMD_SSS_SymmetricCipherInit, 37 kSSCP_CMD_SSS_SymmetricCipherUpdate, 38 kSSCP_CMD_SSS_SymmetricCipherFinish, 39 kSSCP_CMD_SSS_SymmetricCryptCtr, 40 kSSCP_CMD_SSS_AeadContextInit, 41 kSSCP_CMD_SSS_AeadOneGo, 42 kSSCP_CMD_SSS_AeadInit, 43 kSSCP_CMD_SSS_AeadUpdateAead, 44 kSSCP_CMD_SSS_AeadUpdate, 45 kSSCP_CMD_SSS_AeadFinish, 46 kSSCP_CMD_SSS_DigestContextInit, 47 kSSCP_CMD_SSS_DigestOneGo, 48 kSSCP_CMD_SSS_DigestInit, 49 kSSCP_CMD_SSS_DigestUpdate, 50 kSSCP_CMD_SSS_DigestFinish, 51 kSSCP_CMD_SSS_MacContextInit, 52 kSSCP_CMD_SSS_MacOneGo, 53 kSSCP_CMD_SSS_MacInit, 54 kSSCP_CMD_SSS_MacUpdate, 55 kSSCP_CMD_SSS_MacFinish, 56 kSSCP_CMD_SSS_AsymetricContextInit, 57 kSSCP_CMD_SSS_AsymmetricEncrypt, 58 kSSCP_CMD_SSS_AsymmetricDecrypt, 59 kSSCP_CMD_SSS_AsymmetricSignDigest, 60 kSSCP_CMD_SSS_AsymmetricVerifyDigest, 61 kSSCP_CMD_SSS_TunnelContextInit, 62 kSSCP_CMD_SSS_Tunnel, 63 kSSCP_CMD_SSS_DeriveKeyContextInit, 64 kSSCP_CMD_SSS_DeriveKey, 65 kSSCP_CMD_SSS_AsymmetricDeriveKey, 66 kSSCP_CMD_SSS_KeyObjectContextInit, 67 kSSCP_CMD_SSS_KeyObjectAllocateHandle, 68 kSSCP_CMD_SSS_KeyObjectGetHandle, 69 kSSCP_CMD_SSS_KeyObjectContextFree, 70 kSSCP_CMD_SSS_KeyStoreContextInit, 71 kSSCP_CMD_SSS_KeyStoreAllocate, 72 kSSCP_CMD_SSS_KeyStoreSave, 73 kSSCP_CMD_SSS_KeyStoreLoad, 74 kSSCP_CMD_SSS_KeyStoreSetKey, 75 kSSCP_CMD_SSS_KeyStoreGenerateKey, 76 kSSCP_CMD_SSS_KeyStoreGetKey, 77 kSSCP_CMD_SSS_KeyStoreOpenKey, 78 kSSCP_CMD_SSS_KeyStoreFreezeKey, 79 kSSCP_CMD_SSS_KeyStoreEraseKey, 80 kSSCP_CMD_SSS_KeyStoreEraseAll, 81 KSSCP_CMD_SSS_RngGet, 82 kSSCP_CMD_SSS_MGMT_ContextInit, 83 kSSCP_CMD_SSS_MGMT_FuseRead, 84 kSSCP_CMD_SSS_MGMT_FuseShadowRegisterRead, 85 kSSCP_CMD_SSS_MGMT_FuseProgram, 86 kSSCP_CMD_SSS_MGMT_PropertyGet, 87 kSSCP_CMD_SSS_MGMT_LifeCycleGet, 88 kSSCP_CMD_SSS_MGMT_PropertySet, 89 kSSCP_CMD_SSS_MGMT_AdvanceLifecycle, 90 kSSCP_CMD_SSS_MGMT_SecretImport, 91 kSSCP_CMD_SSS_MGMT_SecretExport, 92 kSSCP_CMD_SSS_MGMT_Attest, 93 kSSCP_CMD_SSS_MGMT_SecretBlobLoad, 94 kSSCP_CMD_SSS_MGMT_SecretBlobExport, 95 kSSCP_CMD_SSS_MGMT_SecretBlobImport, 96 kSSCP_CMD_SSS_MGMT_SoftwareVersionGet, 97 kSSCP_CMD_SSS_MGMT_ReturnFaSet, 98 kSSCP_CMD_SSS_MGMT_HostAccessPermissionSet, 99 kSSCP_CMD_SSS_MGMT_IntegrityCheckEnable, 100 101 /* TODO: Remove TEE */ 102 TEE_CMD_NONE, 103 TEE_CMD_GENERATE_KEY, 104 TEE_CMD_ERASE_KEY, 105 TEE_CMD_GET_KEY, 106 TEE_CMD_FREEZE_KEY, 107 // TEE_CMD_ALLOCATE_KEY, 108 TEE_CMD_ALLOCATE_KEYSTORE, 109 TEE_CMD_SAVE_KEYSTORE, 110 TEE_CMD_LOAD_KEYSTORE, 111 TEE_CMD_SET_KEY, 112 TEE_KEYOBJ_CMD_ALLOCATE_HANDLE, 113 TEE_KEYOBJ_CMD_GET_HANDLE, 114 TEE_KEYOBJ_CMD_SET_USER, 115 TEE_KEYOBJ_CMD_SET_PURPOSE, 116 TEE_KEYOBJ_CMD_SET_ACCESS, 117 TEE_KEYOBJ_CMD_GET_USER, 118 TEE_KEYOBJ_CMD_GET_PURPOSE, 119 TEE_KEYOBJ_CMD_GET_ACCESS, 120 TEE_ASYMMETRIC_CTX_INIT, 121 TEE_ASYMMETRIC_CMD_ENCRYPT, 122 TEE_ASYMMETRIC_CMD_DECRYPT, 123 TEE_ASYMMETRIC_CMD_SIGN_DIGEST, 124 TEE_ASYMMETRIC_CMD_VERIFY_DIGEST, 125 TEE_SYMM_CIPHER_CTX_INIT, 126 TEE_SYMM_CIPHER_ONE_GO, 127 TEE_SYMM_CIPHER_INIT, 128 TEE_SYMM_CIPHER_UPDATE, 129 TEE_SYMM_CIPHER_FINISH, 130 TEE_SYMM_CIPHER_CRYPT_CTR, 131 TEE_DERIVE_CTX_INIT, 132 TEE_DERIVE_KEY, 133 TEE_ASYMM_DH_DERIVE_KEY, 134 TEE_CMD_LAST 135 } sscp_command_t; 136 #endif /* SSCP_COMMAND_ENUM_ALT */ 137 138 #if !defined(SSCP_PARAMCONTEXTTYPE_ENUM_ALT) 139 /*! @brief SSCP ParamContextType list */ 140 enum 141 { 142 kSSCP_ParamContextType_SSS_Session = 0x1u, 143 kSSCP_ParamContextType_SSS_Symmetric, 144 kSSCP_ParamContextType_SSS_Aead, 145 kSSCP_ParamContextType_SSS_Digest, 146 kSSCP_ParamContextType_SSS_Mac, 147 kSSCP_ParamContextType_SSS_Asymmetric, 148 kSSCP_ParamContextType_SSS_Tunnel, 149 kSSCP_ParamContextType_SSS_DeriveKey, 150 kSSCP_ParamContextType_SSS_Object, 151 kSSCP_ParamContextType_SSS_KeyStore, 152 kSSCP_ParamContextType_SSS_KeyStoreCtx, 153 kSSCP_ParamContextType_SSS_Mgmt, 154 kSSCP_ParamContextType_SSS_Rng, 155 }; 156 #endif /* SSCP_PARAMCONTEXTTYPE_ENUM_ALT */ 157 158 /*! 159 *@} 160 */ /* end of sscp */ 161 162 #endif /* FSL_SSCP_COMMANDS_H */ 163