33 #define CBOR_BUF_SIZE_START         (   1 +  \ 
   35                                         1 + sizeof(psa_key_id_t) + \ 
   36                                         1 + sizeof(psa_key_type_t) + \ 
   37                                         1 + sizeof(psa_key_bits_t) + \ 
   38                                         1 + sizeof(psa_key_lifetime_t) + \ 
   40                                         1 + sizeof(psa_key_usage_t) + \ 
   41                                         1 + sizeof(psa_algorithm_t) \ 
   44 #if PSA_SINGLE_KEY_COUNT 
   49 #define CBOR_BUF_SIZE_SINGLE_KEY    (   CBOR_BUF_SIZE_START + \ 
   51                                         PSA_MAX_KEY_DATA_SIZE \ 
   55 #if PSA_ASYMMETRIC_KEYPAIR_COUNT 
   60 #define CBOR_BUF_SIZE_KEY_PAIR      (   CBOR_BUF_SIZE_START + \ 
   62                                         3 + PSA_BITS_TO_BYTES(PSA_MAX_PRIV_KEY_SIZE) + \ 
   63                                         3 + PSA_EXPORT_PUBLIC_KEY_MAX_SIZE \ 
   67 #if PSA_PROTECTED_KEY_COUNT && IS_USED(MODULE_PSA_ASYMMETRIC) 
   72 #define CBOR_BUF_SIZE_PROT_KEY      (   CBOR_BUF_SIZE_START + \ 
   74                                         1 + sizeof(psa_key_slot_number_t) + \ 
   75                                         3 + PSA_EXPORT_PUBLIC_KEY_MAX_SIZE \ 
   77 #elif PSA_PROTECTED_KEY_COUNT 
   82 #define CBOR_BUF_SIZE_PROT_KEY      (   CBOR_BUF_SIZE_START + \ 
   84                                         1 + sizeof(psa_key_slot_number_t) \ 
  117                                      size_t output_len, 
size_t *output_size);
 
  129                                       size_t cbor_buf_size);
 
  141                                        size_t cbor_buf_size);
 
psa_status_t psa_decode_key_slot_data(psa_key_slot_t *slot, uint8_t *cbor_buf, size_t cbor_buf_size)
Decode CBOR encoded key data and write to PSA key slot.
 
psa_status_t psa_decode_key_attributes(psa_key_attributes_t *attr, uint8_t *cbor_buf, size_t cbor_buf_size)
Decode CBOR PSA key attributes.
 
psa_status_t psa_encode_key_slot(psa_key_slot_t *slot, uint8_t *output, size_t output_len, size_t *output_size)
Encodes a basic key slot in CBOR.
 
int32_t psa_status_t
Status code type used for all PSA Certified APIs.
 
PSA key slot management function declarations.
 
Structure storing key attributes.
 
Structure of a virtual key slot in local memory.