Mistake on this page?
Report an issue in GitHub or email us
Macros | Typedefs
Key policies

Macros

#define PSA_KEY_USAGE_EXPORT   ((psa_key_usage_t)0x00000001)
 Whether the key may be exported. More...
 
#define PSA_KEY_USAGE_COPY   ((psa_key_usage_t)0x00000002)
 Whether the key may be copied. More...
 
#define PSA_KEY_USAGE_ENCRYPT   ((psa_key_usage_t)0x00000100)
 Whether the key may be used to encrypt a message. More...
 
#define PSA_KEY_USAGE_DECRYPT   ((psa_key_usage_t)0x00000200)
 Whether the key may be used to decrypt a message. More...
 
#define PSA_KEY_USAGE_SIGN_HASH   ((psa_key_usage_t)0x00001000)
 Whether the key may be used to sign a message. More...
 
#define PSA_KEY_USAGE_VERIFY_HASH   ((psa_key_usage_t)0x00002000)
 Whether the key may be used to verify a message signature. More...
 
#define PSA_KEY_USAGE_DERIVE   ((psa_key_usage_t)0x00004000)
 Whether the key may be used to derive other keys. More...
 
#define PSA_KEY_USAGE_EXPORT   ((psa_key_usage_t)0x00000001)
 Whether the key may be exported. More...
 
#define PSA_KEY_USAGE_COPY   ((psa_key_usage_t)0x00000002)
 Whether the key may be copied. More...
 
#define PSA_KEY_USAGE_ENCRYPT   ((psa_key_usage_t)0x00000100)
 Whether the key may be used to encrypt a message. More...
 
#define PSA_KEY_USAGE_DECRYPT   ((psa_key_usage_t)0x00000200)
 Whether the key may be used to decrypt a message. More...
 
#define PSA_KEY_USAGE_SIGN_MESSAGE   ((psa_key_usage_t)0x00000400)
 Whether the key may be used to sign a message. More...
 
#define PSA_KEY_USAGE_VERIFY_MESSAGE   ((psa_key_usage_t)0x00000800)
 Whether the key may be used to verify a message. More...
 
#define PSA_KEY_USAGE_SIGN_HASH   ((psa_key_usage_t)0x00001000)
 Whether the key may be used to sign a message. More...
 
#define PSA_KEY_USAGE_VERIFY_HASH   ((psa_key_usage_t)0x00002000)
 Whether the key may be used to verify a message signature. More...
 
#define PSA_KEY_USAGE_DERIVE   ((psa_key_usage_t)0x00004000)
 Whether the key may be used to derive other keys or produce a password hash. More...
 
#define PSA_KEY_USAGE_VERIFY_DERIVATION   ((psa_key_usage_t)0x00008000)
 Whether the key may be used to verify the result of a key derivation, including password hashing. More...
 
#define PSA_KEY_USAGE_EXPORT   ((psa_key_usage_t)0x00000001)
 Whether the key may be exported. More...
 
#define PSA_KEY_USAGE_COPY   ((psa_key_usage_t)0x00000002)
 Whether the key may be copied. More...
 
#define PSA_KEY_USAGE_ENCRYPT   ((psa_key_usage_t)0x00000100)
 Whether the key may be used to encrypt a message. More...
 
#define PSA_KEY_USAGE_DECRYPT   ((psa_key_usage_t)0x00000200)
 Whether the key may be used to decrypt a message. More...
 
#define PSA_KEY_USAGE_SIGN_HASH   ((psa_key_usage_t)0x00000400)
 Whether the key may be used to sign a message. More...
 
#define PSA_KEY_USAGE_VERIFY_HASH   ((psa_key_usage_t)0x00000800)
 Whether the key may be used to verify a message signature. More...
 
#define PSA_KEY_USAGE_DERIVE   ((psa_key_usage_t)0x00001000)
 Whether the key may be used to derive other keys. More...
 

Typedefs

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

Detailed Description

Macro Definition Documentation

#define PSA_KEY_USAGE_COPY   ((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 PSA_KEY_USAGE_EXPORT. Copying the key inside the secure element is permitted with just PSA_KEY_USAGE_COPY if the secure element supports it. For keys with the lifetime PSA_KEY_LIFETIME_VOLATILE or PSA_KEY_LIFETIME_PERSISTENT, the usage flag PSA_KEY_USAGE_COPY is sufficient to permit the copy.

Definition at line 1625 of file TARGET_TFM/TARGET_TFM_V1_0/include/psa/crypto_values.h.

#define PSA_KEY_USAGE_COPY   ((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 PSA_KEY_USAGE_EXPORT. Copying the key inside the secure element is permitted with just PSA_KEY_USAGE_COPY if the secure element supports it. For keys with the lifetime PSA_KEY_LIFETIME_VOLATILE or PSA_KEY_LIFETIME_PERSISTENT, the usage flag PSA_KEY_USAGE_COPY is sufficient to permit the copy.

Definition at line 1784 of file TARGET_MBED_PSA_SRV/inc/psa/crypto_values.h.

#define PSA_KEY_USAGE_COPY   ((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 PSA_KEY_USAGE_EXPORT. Copying the key inside the secure element is permitted with just PSA_KEY_USAGE_COPY if the secure element supports it. For keys with the lifetime PSA_KEY_LIFETIME_VOLATILE or PSA_KEY_LIFETIME_PERSISTENT, the usage flag PSA_KEY_USAGE_COPY is sufficient to permit the copy.

Definition at line 2129 of file TARGET_TFM/TARGET_TFM_LATEST/include/psa/crypto_values.h.

#define PSA_KEY_USAGE_DECRYPT   ((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.

Definition at line 1647 of file TARGET_TFM/TARGET_TFM_V1_0/include/psa/crypto_values.h.

#define PSA_KEY_USAGE_DECRYPT   ((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.

Definition at line 1806 of file TARGET_MBED_PSA_SRV/inc/psa/crypto_values.h.

#define PSA_KEY_USAGE_DECRYPT   ((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.

Definition at line 2151 of file TARGET_TFM/TARGET_TFM_LATEST/include/psa/crypto_values.h.

#define PSA_KEY_USAGE_DERIVE   ((psa_key_usage_t)0x00001000)

Whether the key may be used to derive other keys.

Definition at line 1671 of file TARGET_TFM/TARGET_TFM_V1_0/include/psa/crypto_values.h.

#define PSA_KEY_USAGE_DERIVE   ((psa_key_usage_t)0x00004000)

Whether the key may be used to derive other keys.

Definition at line 1830 of file TARGET_MBED_PSA_SRV/inc/psa/crypto_values.h.

#define PSA_KEY_USAGE_DERIVE   ((psa_key_usage_t)0x00004000)

Whether the key may be used to derive other keys or produce a password hash.

This flag allows the key to be used for a key derivation operation or for a key agreement operation, if otherwise permitted by by the key's type and policy.

If this flag is present on all keys used in calls to psa_key_derivation_input_key() for a key derivation operation, then it permits calling psa_key_derivation_output_bytes() or psa_key_derivation_output_key() at the end of the operation.

Definition at line 2205 of file TARGET_TFM/TARGET_TFM_LATEST/include/psa/crypto_values.h.

#define PSA_KEY_USAGE_ENCRYPT   ((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.

Definition at line 1636 of file TARGET_TFM/TARGET_TFM_V1_0/include/psa/crypto_values.h.

#define PSA_KEY_USAGE_ENCRYPT   ((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.

Definition at line 1795 of file TARGET_MBED_PSA_SRV/inc/psa/crypto_values.h.

#define PSA_KEY_USAGE_ENCRYPT   ((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.

Definition at line 2140 of file TARGET_TFM/TARGET_TFM_LATEST/include/psa/crypto_values.h.

#define PSA_KEY_USAGE_EXPORT   ((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.

Definition at line 1609 of file TARGET_TFM/TARGET_TFM_V1_0/include/psa/crypto_values.h.

#define PSA_KEY_USAGE_EXPORT   ((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.

Definition at line 1768 of file TARGET_MBED_PSA_SRV/inc/psa/crypto_values.h.

#define PSA_KEY_USAGE_EXPORT   ((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.

Definition at line 2113 of file TARGET_TFM/TARGET_TFM_LATEST/include/psa/crypto_values.h.

#define PSA_KEY_USAGE_SIGN_HASH   ((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.

Definition at line 1657 of file TARGET_TFM/TARGET_TFM_V1_0/include/psa/crypto_values.h.

#define PSA_KEY_USAGE_SIGN_HASH   ((psa_key_usage_t)0x00001000)

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.

Definition at line 1816 of file TARGET_MBED_PSA_SRV/inc/psa/crypto_values.h.

#define PSA_KEY_USAGE_SIGN_HASH   ((psa_key_usage_t)0x00001000)

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.

Definition at line 2181 of file TARGET_TFM/TARGET_TFM_LATEST/include/psa/crypto_values.h.

#define PSA_KEY_USAGE_SIGN_MESSAGE   ((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 message signature operation, if otherwise permitted by the key’s type and policy.

For a key pair, this concerns the private key.

Definition at line 2161 of file TARGET_TFM/TARGET_TFM_LATEST/include/psa/crypto_values.h.

#define PSA_KEY_USAGE_VERIFY_DERIVATION   ((psa_key_usage_t)0x00008000)

Whether the key may be used to verify the result of a key derivation, including password hashing.

This flag allows the key to be used:

This flag allows the key to be used in a key derivation operation, if otherwise permitted by by the key's type and policy.

If this flag is present on all keys used in calls to psa_key_derivation_input_key() for a key derivation operation, then it permits calling psa_key_derivation_verify_bytes() or psa_key_derivation_verify_key() at the end of the operation.

Definition at line 2220 of file TARGET_TFM/TARGET_TFM_LATEST/include/psa/crypto_values.h.

#define PSA_KEY_USAGE_VERIFY_HASH   ((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.

Definition at line 1667 of file TARGET_TFM/TARGET_TFM_V1_0/include/psa/crypto_values.h.

#define PSA_KEY_USAGE_VERIFY_HASH   ((psa_key_usage_t)0x00002000)

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.

Definition at line 1826 of file TARGET_MBED_PSA_SRV/inc/psa/crypto_values.h.

#define PSA_KEY_USAGE_VERIFY_HASH   ((psa_key_usage_t)0x00002000)

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.

Definition at line 2191 of file TARGET_TFM/TARGET_TFM_LATEST/include/psa/crypto_values.h.

#define PSA_KEY_USAGE_VERIFY_MESSAGE   ((psa_key_usage_t)0x00000800)

Whether the key may be used to verify a message.

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

For a key pair, this concerns the public key.

Definition at line 2171 of file TARGET_TFM/TARGET_TFM_LATEST/include/psa/crypto_values.h.

Typedef Documentation

typedef uint32_t psa_key_usage_t

Encoding of permitted usage on a key.

Definition at line 197 of file TARGET_TFM/TARGET_TFM_V1_0/include/psa/crypto_types.h.

typedef uint32_t psa_key_usage_t

Encoding of permitted usage on a key.

Definition at line 215 of file TARGET_TFM/TARGET_TFM_LATEST/include/psa/crypto_types.h.

typedef uint32_t psa_key_usage_t

Encoding of permitted usage on a key.

Definition at line 257 of file TARGET_MBED_PSA_SRV/inc/psa/crypto_types.h.

Important Information for this Arm website

This site uses cookies to store information on your computer. By continuing to use our site, you consent to our cookies. If you are not happy with the use of these cookies, please review our Cookie Policy to learn how they can be disabled. By disabling cookies, some features of the site will not work.