Keys and configuration manager (KCM) definitions. More...
#include <stdint.h>
Go to the source code of this file.
Data Structures | |
struct | kcm_csr_params_ |
Macros | |
#define | KCM_MAX_FILENAME_SIZE 100 |
#define | KCM_MAX_NUMBER_OF_CERTITICATES_IN_CHAIN 5 |
#define | KCM_SHA256_SIZE 32 |
#define | KCM_EC_SECP256R1_SIGNATURE_RAW_SIZE 64 |
#define | KCM_EC_SECP256R1_SHARED_SECRET_SIZE 32 |
Typedefs | |
typedef void * | kcm_cert_chain_handle |
typedef uintptr_t | kcm_key_handle_t |
typedef void * | kcm_security_desc_s |
typedef struct kcm_csr_params_ | kcm_csr_params_s |
Enumerations | |
enum | kcm_item_type_e { KCM_PRIVATE_KEY_ITEM, KCM_PUBLIC_KEY_ITEM, KCM_SYMMETRIC_KEY_ITEM, KCM_CERTIFICATE_ITEM, KCM_CONFIG_ITEM, KCM_LAST_ITEM } |
enum | kcm_md_type_e { KCM_MD_NONE = 0x0, KCM_MD_SHA256 = 0x1 } |
enum | kcm_csr_key_usage_e { KCM_CSR_KU_NONE = 0x0, KCM_CSR_KU_DIGITAL_SIGNATURE = 0x1, KCM_CSR_KU_NON_REPUDIATION = 0x2, KCM_CSR_KU_KEY_CERT_SIGN = 0x4, KCM_CSR_KU_KEY_AGREEMENT = 0x8 } |
enum | kcm_csr_ext_key_usage_e { KCM_CSR_EXT_KU_NONE = 0, KCM_CSR_EXT_KU_ANY = (1 << 0), KCM_CSR_EXT_KU_SERVER_AUTH = (1 << 1), KCM_CSR_EXT_KU_CLIENT_AUTH = (1 << 2), KCM_CSR_EXT_KU_CODE_SIGNING = (1 << 3), KCM_CSR_EXT_KU_EMAIL_PROTECTION = (1 << 4), KCM_CSR_EXT_KU_TIME_STAMPING = (1 << 8), KCM_CSR_EXT_KU_OCSP_SIGNING = (1 << 9) } |
enum | kcm_crypto_key_scheme_e { KCM_SCHEME_NONE, KCM_SCHEME_EC_SECP256R1 } |
Keys and configuration manager (KCM) definitions.
#define KCM_EC_SECP256R1_SHARED_SECRET_SIZE 32 |
Size in bytes of the EC SECP256R1 shared secret.
#define KCM_EC_SECP256R1_SIGNATURE_RAW_SIZE 64 |
Size in bytes of the EC SECP256R1 signature in raw format.
#define KCM_MAX_FILENAME_SIZE 100 |
Maximum KCM file name length.
#define KCM_MAX_NUMBER_OF_CERTITICATES_IN_CHAIN 5 |
Maximum length of the certificate chain on the device.
#define KCM_SHA256_SIZE 32 |
Size in bytes of the EC SECP256R1 hash digest.
typedef struct kcm_csr_params_ kcm_csr_params_s |
This struct contains CSR parameters for future generated CSR
subject | String that contains the subject (distinguished name) of the certificate in predefined format. The format should be as the following example: "C=US,ST=California,L=San Francisco,O=Wikimedia Foundation,Inc.,CN=*.wikipedia.org". |
md_type | Message digest selected from kcm_md_type_e . |
key_usage | Key usage extension bit-mask selected from kcm_csr_key_usage_e . If the requested CSR does not contain any key usage extension, it needs to be set to ::KCM_CSR_KU_NONE . |
ext_key_usage | Extended key usage extensions bit-mask selected from kcm_csr_ext_key_usage_e . If the requested CSR does not contain any extended key usage extension, it needs to be set to ::KCM_CSR_EXT_KU_NONE . |
typedef uintptr_t kcm_key_handle_t |
KCM key handle type Represents a reference to internal kcm key handler
typedef void* kcm_security_desc_s |
Optional item info. Currently used only for PSA configuration for PSA key policy transfer.
X.509 v3 Extended Key Usage Extension bit-mask options
enum kcm_csr_key_usage_e |
X.509 v3 Key Usage Extension bit-mask options
enum kcm_item_type_e |
KCM item types
enum kcm_md_type_e |