Key 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 } |
Key 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 the future-generated CSR.
| subject | String that contains the subject (distinguished name) of the certificate in the predefined format. Consists of a comma-separated list of the Object Identifier (OID) types and values; for example, "C=UK,O=ARM,CN=mbed TLS Server 1". See the instructions for generating a CSR for the full list of supported OIDs. |
| 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 a key usage extension, 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 an extended key usage extension, set to ::KCM_CSR_EXT_KU_NONE. |
| typedef uintptr_t kcm_key_handle_t |
KCM key handle type. Represents a reference to an 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 |