SEFile
Userspace drivers to manage a secure filesystem
|
This file contains defines to be used both for L1 and L0 functions. More...
#include "se3c0def.h"
Go to the source code of this file.
Macros | |
#define | SE3_DIR_SHIFT (8) |
Enumerations | |
enum | { SE3_ERR_ACCESS = 100, SE3_ERR_PIN = 101, SE3_ERR_RESOURCE = 200, SE3_ERR_EXPIRED = 201, SE3_ERR_MEMORY = 400, SE3_ERR_AUTH = 401 } |
enum | { SE3_ACCESS_USER = 100, SE3_ACCESS_ADMIN = 1000, SE3_ACCESS_MAX = 0xFFFF } |
enum | { SE3_RECORD_SIZE = 32, SE3_RECORD_MAX = 2 } |
enum | { SE3_RECORD_TYPE_ADMINPIN = 0, SE3_RECORD_TYPE_USERPIN = 1 } |
enum | { SE3_L1_PIN_SIZE = 32, SE3_L1_KEY_SIZE = 32, SE3_L1_AUTH_SIZE = 16, SE3_L1_CRYPTOBLOCK_SIZE = 16, SE3_L1_CHALLENGE_SIZE = 32, SE3_L1_CHALLENGE_ITERATIONS = 32, SE3_L1_IV_SIZE = 16, SE3_L1_TOKEN_SIZE = 16 } |
enum | { SE3_REQ1_OFFSET_AUTH = 0, SE3_REQ1_OFFSET_IV = 16, SE3_REQ1_OFFSET_TOKEN = 32, SE3_REQ1_OFFSET_LEN = 48, SE3_REQ1_OFFSET_CMD = 50, SE3_REQ1_OFFSET_DATA = 64, SE3_REQ1_MAX_DATA = (SE3_REQ_MAX_DATA - SE3_REQ1_OFFSET_DATA) } |
enum | { SE3_RESP1_OFFSET_AUTH = 0, SE3_RESP1_OFFSET_IV = 16, SE3_RESP1_OFFSET_TOKEN = 32, SE3_RESP1_OFFSET_LEN = 48, SE3_RESP1_OFFSET_STATUS = 50, SE3_RESP1_OFFSET_DATA = 64, SE3_RESP1_MAX_DATA = (SE3_RESP_MAX_DATA - SE3_RESP1_OFFSET_DATA) } |
enum | { SE3_CMD1_CHALLENGE = 1, SE3_CMD1_LOGIN = 2, SE3_CMD1_LOGOUT = 3, SE3_CMD1_CONFIG = 4, SE3_CMD1_KEY_EDIT = 5, SE3_CMD1_KEY_LIST = 6, SE3_CMD1_CRYPTO_INIT = 7, SE3_CMD1_CRYPTO_UPDATE = 8, SE3_CMD1_CRYPTO_LIST = 9, SE3_CMD1_CRYPTO_SET_TIME = 10 } |
enum | { SE3_CONFIG_OP_GET = 1, SE3_CONFIG_OP_SET = 2 } |
enum | { SE3_CMD1_CONFIG_REQ_OFF_ID = 0, SE3_CMD1_CONFIG_REQ_OFF_OP = 2, SE3_CMD1_CONFIG_REQ_OFF_VALUE = 4, SE3_CMD1_CONFIG_RESP_OFF_VALUE = 0 } |
enum | { SE3_CMD1_CHALLENGE_REQ_OFF_CC1 = 0, SE3_CMD1_CHALLENGE_REQ_OFF_CC2 = 32, SE3_CMD1_CHALLENGE_REQ_OFF_ACCESS = 64, SE3_CMD1_CHALLENGE_REQ_SIZE = 66, SE3_CMD1_CHALLENGE_RESP_OFF_SC = 0, SE3_CMD1_CHALLENGE_RESP_OFF_SRESP = 32, SE3_CMD1_CHALLENGE_RESP_SIZE = 64 } |
enum | { SE3_CMD1_LOGIN_REQ_OFF_CRESP = 0, SE3_CMD1_LOGIN_REQ_SIZE = 32, SE3_CMD1_LOGIN_RESP_OFF_TOKEN = 0, SE3_CMD1_LOGIN_RESP_SIZE = 16 } |
enum | { SE3_KEY_DATA_MAX = 2048, SE3_KEY_NAME_MAX = 32 } |
enum | { SE3_KEY_OP_INSERT = 1, SE3_KEY_OP_DELETE = 2, SE3_KEY_OP_UPSERT = 3 } |
enum | { SE3_CMD1_KEY_EDIT_REQ_OFF_OP = 0, SE3_CMD1_KEY_EDIT_REQ_OFF_ID = 2, SE3_CMD1_KEY_EDIT_REQ_OFF_VALIDITY = 6, SE3_CMD1_KEY_EDIT_REQ_OFF_DATA_LEN = 10, SE3_CMD1_KEY_EDIT_REQ_OFF_NAME_LEN = 12, SE3_CMD1_KEY_EDIT_REQ_OFF_DATA_AND_NAME = 14 } |
enum | { SE3_CMD1_KEY_LIST_REQ_SIZE = 4, SE3_CMD1_KEY_LIST_REQ_OFF_SKIP = 0, SE3_CMD1_KEY_LIST_REQ_OFF_NMAX = 2, SE3_CMD1_KEY_LIST_RESP_OFF_COUNT = 0, SE3_CMD1_KEY_LIST_RESP_OFF_KEYINFO = 2, SE3_CMD1_KEY_LIST_KEYINFO_OFF_ID = 0, SE3_CMD1_KEY_LIST_KEYINFO_OFF_VALIDITY = 4, SE3_CMD1_KEY_LIST_KEYINFO_OFF_DATA_LEN = 8, SE3_CMD1_KEY_LIST_KEYINFO_OFF_NAME_LEN = 10, SE3_CMD1_KEY_LIST_KEYINFO_OFF_NAME = 12 } |
enum | { SE3_ALGO_INVALID = 0xFFFF, SE3_SESSION_INVALID = 0xFFFFFFFF, SE3_KEY_INVALID = 0xFFFFFFFF } |
enum | { SE3_ALGO_AES = 0, SE3_ALGO_SHA256 = 1, SE3_ALGO_HMACSHA256 = 2, SE3_ALGO_AES_HMACSHA256 = 3, SE3_ALGO_AES_HMAC = 4, SE3_ALGO_MAX = 8 } |
enum | { SE3_CMD1_CRYPTO_INIT_REQ_SIZE = 8, SE3_CMD1_CRYPTO_INIT_REQ_OFF_ALGO = 0, SE3_CMD1_CRYPTO_INIT_REQ_OFF_MODE = 2, SE3_CMD1_CRYPTO_INIT_REQ_OFF_KEY_ID = 4, SE3_CMD1_CRYPTO_INIT_RESP_SIZE = 4, SE3_CMD1_CRYPTO_INIT_RESP_OFF_SID = 0 } |
enum | { SE3_CMD1_CRYPTO_UPDATE_REQ_OFF_SID = 0, SE3_CMD1_CRYPTO_UPDATE_REQ_OFF_FLAGS = 4, SE3_CMD1_CRYPTO_UPDATE_REQ_OFF_DATAIN1_LEN = 6, SE3_CMD1_CRYPTO_UPDATE_REQ_OFF_DATAIN2_LEN = 8, SE3_CMD1_CRYPTO_UPDATE_REQ_OFF_DATA = 16, SE3_CMD1_CRYPTO_UPDATE_RESP_OFF_DATAOUT_LEN = 0, SE3_CMD1_CRYPTO_UPDATE_RESP_OFF_DATA = 16 } |
enum | { SE3_CRYPTO_FLAG_FINIT = (1 << 15), SE3_CRYPTO_FLAG_RESET = (1 << 14), SE3_CRYPTO_FLAG_SETIV = SE3_CRYPTO_FLAG_RESET, SE3_CRYPTO_FLAG_SETNONCE = (1 << 13), SE3_CRYPTO_FLAG_AUTH = (1 << 12) } |
enum | { SE3_CRYPTO_MAX_DATAIN = (SE3_REQ1_MAX_DATA - SE3_CMD1_CRYPTO_UPDATE_REQ_OFF_DATA), SE3_CRYPTO_MAX_DATAOUT = (SE3_RESP1_MAX_DATA - SE3_CMD1_CRYPTO_UPDATE_RESP_OFF_DATA) } |
enum | { SE3_CMD1_CRYPTO_SET_TIME_REQ_SIZE = 4, SE3_CMD1_CRYPTO_SET_TIME_REQ_OFF_DEVTIME = 0 } |
enum | { SE3_CMD1_CRYPTO_LIST_REQ_SIZE = 0, SE3_CMD1_CRYPTO_LIST_RESP_OFF_COUNT = 0, SE3_CMD1_CRYPTO_LIST_RESP_OFF_ALGOINFO = 2, SE3_CMD1_CRYPTO_ALGOINFO_SIZE = 22, SE3_CMD1_CRYPTO_ALGOINFO_OFF_NAME = 0, SE3_CMD1_CRYPTO_ALGOINFO_OFF_TYPE = 16, SE3_CMD1_CRYPTO_ALGOINFO_OFF_BLOCK_SIZE = 18, SE3_CMD1_CRYPTO_ALGOINFO_OFF_KEY_SIZE = 20, SE3_CMD1_CRYPTO_ALGOINFO_NAME_SIZE = 16 } |
enum | { SE3_CRYPTO_TYPE_BLOCKCIPHER = 0, SE3_CRYPTO_TYPE_STREAMCIPHER = 1, SE3_CRYPTO_TYPE_DIGEST = 2, SE3_CRYPTO_TYPE_BLOCKCIPHER_AUTH = 3, SE3_CRYPTO_TYPE_OTHER = 0xFFFF } |
enum | { SE3_FEEDBACK_ECB = 1, SE3_FEEDBACK_CBC = 2, SE3_FEEDBACK_OFB = 3, SE3_FEEDBACK_CTR = 4, SE3_FEEDBACK_CFB = 5, SE3_DIR_ENCRYPT = (1 << SE3_DIR_SHIFT), SE3_DIR_DECRYPT = (2 << SE3_DIR_SHIFT) } |
L1_crypto_init default modes. More... | |
This file contains defines to be used both for L1 and L0 functions.
anonymous enum |
Configuration records definitions
anonymous enum |
Default configuration record types
anonymous enum |
L1 field size definitions
anonymous enum |
L1 request fields definitions
anonymous enum |
L1 response fields definitions
anonymous enum |
L1 command codes
anonymous enum |
L1_config operations
anonymous enum |
L1_config fields
anonymous enum |
L1_challenge fields
anonymous enum |
L1_login fields
anonymous enum |
Keys: maximum sizes for variable fields
anonymous enum |
L1_key_edit fields
anonymous enum |
L1_key_list fields
anonymous enum |
Invalid handle values
anonymous enum |
L1_crypto_init fields
anonymous enum |
L1_crypto_update fields
anonymous enum |
L1_crypto_update default flags
anonymous enum |
L1_crypto_update maximum buffer sizes
anonymous enum |
L1_crypto_set_time fields
anonymous enum |
L1_crypto_list fields
anonymous enum |
L1_crypto_list default cipher types
anonymous enum |
L1_crypto_init default modes.
One FEEDBACK and one DIR may be combined to specify the desired mode Example: Encrypt in CBC mode (SE3_FEEDBACK_CBC | SE3_DIR_ENCRYPT)