PSoC64 Secure Boot Utilities Middleware Library 1.0
Key policies

General Description

Macros

#define CY_P64_PSA_KEY_POLICY_INIT   {0, 0, 0}
 The initial value of the key policy.
 
#define CY_P64_PSA_KEY_USAGE_EXPORT   ((cy_p64_psa_key_usage_t)0x00000001)
 Whether the key may be exported. More...
 
#define CY_P64_PSA_KEY_USAGE_COPY   ((cy_p64_psa_key_usage_t)0x00000002)
 Whether the key may be copied. More...
 
#define CY_P64_PSA_KEY_USAGE_ENCRYPT   ((cy_p64_psa_key_usage_t)0x00000100)
 Whether the key may be used to encrypt a message. More...
 
#define CY_P64_PSA_KEY_USAGE_DECRYPT   ((cy_p64_psa_key_usage_t)0x00000200)
 Whether the key may be used to decrypt a message. More...
 
#define CY_P64_PSA_KEY_USAGE_SIGN_HASH   ((cy_p64_psa_key_usage_t)0x00000400)
 Whether the key may be used to sign a message. More...
 
#define CY_P64_PSA_KEY_USAGE_VERIFY_HASH   ((cy_p64_psa_key_usage_t)0x00000800)
 Whether the key may be used to verify a message signature. More...
 
#define CY_P64_PSA_KEY_USAGE_DERIVE   ((cy_p64_psa_key_usage_t)0x00001000)
 Whether the key may be used to derive other keys.
 

Typedefs

typedef uint32_t cy_p64_psa_key_usage_t
 Encoding of permitted usage on a key. More...
 

Functions

static struct cy_p64_psa_key_policy_s cy_p64_psa_key_policy_init (void)
 Sets key policy strcuture with initial value. More...
 

Macro Definition Documentation

◆ CY_P64_PSA_KEY_USAGE_EXPORT

#define CY_P64_PSA_KEY_USAGE_EXPORT   ((cy_p64_psa_key_usage_t)0x00000001)

Whether the key may be exported.

A public key or the public part of a key pair may always be exported regardless of the value of this permission flag.

If a key does not have export permission, implementations shall not allow the key to be exported in plain form from the cryptoprocessor, whether through psa_export_key() or through a proprietary interface. The key may however be exportable in a wrapped form, i.e. in a form where it is encrypted by another key.

◆ CY_P64_PSA_KEY_USAGE_COPY

#define CY_P64_PSA_KEY_USAGE_COPY   ((cy_p64_psa_key_usage_t)0x00000002)

Whether the key may be copied.

This flag allows the use of psa_copy_key() to make a copy of the key with the same policy or a more restrictive policy.

For lifetimes for which the key is located in a secure element which enforce the non-exportability of keys, copying a key outside the secure element also requires the usage flag CY_P64_PSA_KEY_USAGE_EXPORT. Copying the key inside the secure element is permitted with just CY_P64_PSA_KEY_USAGE_COPY if the secure element supports it. For keys with the lifetime CY_P64_PSA_KEY_LIFETIME_VOLATILE or CY_P64_PSA_KEY_LIFETIME_PERSISTENT, the usage flag CY_P64_PSA_KEY_USAGE_COPY is sufficient to permit the copy.

◆ CY_P64_PSA_KEY_USAGE_ENCRYPT

#define CY_P64_PSA_KEY_USAGE_ENCRYPT   ((cy_p64_psa_key_usage_t)0x00000100)

Whether the key may be used to encrypt a message.

This flag allows the key to be used for a symmetric encryption operation, for an AEAD encryption-and-authentication operation, or for an asymmetric encryption operation, if otherwise permitted by the key's type and policy.

For a key pair, this concerns the public key.

◆ CY_P64_PSA_KEY_USAGE_DECRYPT

#define CY_P64_PSA_KEY_USAGE_DECRYPT   ((cy_p64_psa_key_usage_t)0x00000200)

Whether the key may be used to decrypt a message.

This flag allows the key to be used for a symmetric decryption operation, for an AEAD decryption-and-verification operation, or for an asymmetric decryption operation, if otherwise permitted by the key's type and policy.

For a key pair, this concerns the private key.

◆ CY_P64_PSA_KEY_USAGE_SIGN_HASH

#define CY_P64_PSA_KEY_USAGE_SIGN_HASH   ((cy_p64_psa_key_usage_t)0x00000400)

Whether the key may be used to sign a message.

This flag allows the key to be used for a MAC calculation operation or for an asymmetric signature operation, if otherwise permitted by the key's type and policy.

For a key pair, this concerns the private key.

◆ CY_P64_PSA_KEY_USAGE_VERIFY_HASH

#define CY_P64_PSA_KEY_USAGE_VERIFY_HASH   ((cy_p64_psa_key_usage_t)0x00000800)

Whether the key may be used to verify a message signature.

This flag allows the key to be used for a MAC verification operation or for an asymmetric signature verification operation, if otherwise permitted by by the key's type and policy.

For a key pair, this concerns the public key.

Typedef Documentation

◆ cy_p64_psa_key_usage_t

typedef uint32_t cy_p64_psa_key_usage_t

Encoding of permitted usage on a key.

Function Documentation

◆ cy_p64_psa_key_policy_init()

static struct cy_p64_psa_key_policy_s cy_p64_psa_key_policy_init ( void  )
static

Sets key policy strcuture with initial value.

Return values
/pcy_p64_psa_key_policy_s structure