MCUX CLNS MCUX Crypto Library Normal Secure |

Data Fields
mcuxClCss_KeyProp_t Union Reference
mcuxClCss » mcuxClCss_Types » mcuxClCss_Types_Types

Type for CSS key store key properties. More...

`#include <mcuxClCss_Types.h>`

## Data Fields

struct {
uint32_t value
| Accesses the bit field as a full word; initialize with a combination of constants from MCUXCLCSS_KEYPROPERTY_VALUE_. More...
} | word
| Access mcuxClCss_KeyProp_t word-wise. More...
struct {
uint32_t ksize:2
| Key size. More...
uint32_t __pad0__:3
| RFU. More...
uint32_t kactv:1
| Status flag to indicate whether the key slot contains an active key or not. More...
uint32_t kbase:1
| Status flag to indicate whether the key slot is a base slot or the second slot of a 256-bit key. More...
uint32_t fgp:1
| Hardware feature flag: General purpose key slot. More...
uint32_t frtn:1
| Hardware feature flag: Retention key slot. More...
uint32_t fhwo:1
| Hardware feature flag: Hardware-out key slot. More...
uint32_t __pad1__:3
| RFU. More...
uint32_t ucmac:1
| Usage permission for CMAC. More...
uint32_t uksk:1
| Usage permission for key signing. More...
uint32_t urtf:1
| Usage permission for RTF signing. More...
uint32_t uckdf:1
| Usage permission for CKDF. More...
uint32_t uhkdf:1
| Usage permission for HKDF. More...
uint32_t uecsg:1
| Usage permission for ECDSA signing. More...
uint32_t uecdh:1
| Usage permission for Elliptic Curve Diffie-Hellman. More...
uint32_t uaes:1
| Usage permission for AES. More...
uint32_t uhmac:1
| Usage permission for HMAC. More...
uint32_t ukwk:1
| Usage permission for key wrapping. More...
uint32_t ukuok:1
| Usage permission for key unwrapping, but not for key wrapping. More...
uint32_t utlspms:1
| Usage permission as a TLS premaster secret. More...
uint32_t utlsms:1
| Usage permission as a TLS master secret. More...
uint32_t ukgsrc:1
| Usage permission as input for ECC key generation. More...
uint32_t uhwo:1
| Usage permission in a hardware-out key slot. More...
uint32_t wrpok:1
| Usage permission to wrap. More...
uint32_t duk:1
| Device-unique key flag. More...
uint32_t upprot_priv:1
| Access restriction to privileged mode. More...
uint32_t upprot_sec:1
| Access restriction to TrustZone secure mode. More...
} | bits
| Access mcuxClCss_KeyProp_t bit-wise. More...

## Detailed Description

Type for CSS key store key properties.

Examples
  ecc_keygen_sign_verify.c, mcuxClKey_example.c, mcuxClMac_cmac_oneshot_example.c, and tls_master_key_session_keys.c.

## Field Documentation

## ◆ value

uint32_t mcuxClCss_KeyProp_t::value

Accesses the bit field as a full word; initialize with a combination of constants from MCUXCLCSS_KEYPROPERTY_VALUE_.

Examples
  mcuxClKey_example.c, and mcuxClMac_cmac_oneshot_example.c.

## ◆ word

struct { ... } mcuxClCss_KeyProp_t::word

Access mcuxClCss_KeyProp_t word-wise.

Examples
  mcuxClKey_example.c, and mcuxClMac_cmac_oneshot_example.c.

## ◆ ksize

uint32_t mcuxClCss_KeyProp_t::ksize

Key size.

Examples
  mcuxClKey_example.c, and mcuxClMac_cmac_oneshot_example.c.

## ◆ __pad0__

uint32_t mcuxClCss_KeyProp_t::__pad0__

RFU.

## ◆ kactv

uint32_t mcuxClCss_KeyProp_t::kactv

Status flag to indicate whether the key slot contains an active key or not.

Examples
  mcuxClKey_example.c, and mcuxClMac_cmac_oneshot_example.c.

## ◆ kbase

uint32_t mcuxClCss_KeyProp_t::kbase

Status flag to indicate whether the key slot is a base slot or the second slot of a 256-bit key.

## ◆ fgp

uint32_t mcuxClCss_KeyProp_t::fgp

Hardware feature flag: General purpose key slot.

## ◆ frtn

uint32_t mcuxClCss_KeyProp_t::frtn

Hardware feature flag: Retention key slot.

## ◆ fhwo

uint32_t mcuxClCss_KeyProp_t::fhwo

Hardware feature flag: Hardware-out key slot.

## ◆ __pad1__

uint32_t mcuxClCss_KeyProp_t::__pad1__

RFU.

## ◆ ucmac

uint32_t mcuxClCss_KeyProp_t::ucmac

Usage permission for CMAC.

Examples
  mcuxClMac_cmac_oneshot_example.c.

## ◆ uksk

uint32_t mcuxClCss_KeyProp_t::uksk

Usage permission for key signing.

## ◆ urtf

uint32_t mcuxClCss_KeyProp_t::urtf

Usage permission for RTF signing.

## ◆ uckdf

uint32_t mcuxClCss_KeyProp_t::uckdf

Usage permission for CKDF.

## ◆ uhkdf

uint32_t mcuxClCss_KeyProp_t::uhkdf

Usage permission for HKDF.

## ◆ uecsg

uint32_t mcuxClCss_KeyProp_t::uecsg

Usage permission for ECDSA signing.

## ◆ uecdh

uint32_t mcuxClCss_KeyProp_t::uecdh

Usage permission for Elliptic Curve Diffie-Hellman.

## ◆ uaes

uint32_t mcuxClCss_KeyProp_t::uaes

Usage permission for AES.

## ◆ uhmac

uint32_t mcuxClCss_KeyProp_t::uhmac

Usage permission for HMAC.

## ◆ ukwk

uint32_t mcuxClCss_KeyProp_t::ukwk

Usage permission for key wrapping.

## ◆ ukuok

uint32_t mcuxClCss_KeyProp_t::ukuok

Usage permission for key unwrapping, but not for key wrapping.

## ◆ utlspms

uint32_t mcuxClCss_KeyProp_t::utlspms

Usage permission as a TLS premaster secret.

## ◆ utlsms

uint32_t mcuxClCss_KeyProp_t::utlsms

Usage permission as a TLS master secret.

Examples
  tls_master_key_session_keys.c.

## ◆ ukgsrc

uint32_t mcuxClCss_KeyProp_t::ukgsrc

Usage permission as input for ECC key generation.

## ◆ uhwo

uint32_t mcuxClCss_KeyProp_t::uhwo

Usage permission in a hardware-out key slot.

## ◆ wrpok

uint32_t mcuxClCss_KeyProp_t::wrpok

Usage permission to wrap.

## ◆ duk

uint32_t mcuxClCss_KeyProp_t::duk

Device-unique key flag.

## ◆ upprot_priv

uint32_t mcuxClCss_KeyProp_t::upprot_priv

Access restriction to privileged mode.

Examples
  ecc_keygen_sign_verify.c, and tls_master_key_session_keys.c.

## ◆ upprot_sec

uint32_t mcuxClCss_KeyProp_t::upprot_sec

Access restriction to TrustZone secure mode.

Examples
  ecc_keygen_sign_verify.c, and tls_master_key_session_keys.c.

## ◆ bits

struct { ... } mcuxClCss_KeyProp_t::bits

Access mcuxClCss_KeyProp_t bit-wise.

Examples
  ecc_keygen_sign_verify.c, mcuxClKey_example.c, mcuxClMac_cmac_oneshot_example.c, and tls_master_key_session_keys.c.