Skip to content

Regarding custom or vendor specific usage flags in PSA #344

@mgudda-dot

Description

@mgudda-dot

Dear Sir/Madam,

I was referring to your page on Key Usage Flags.
https://arm-software.github.io/psa-api/crypto/1.4/api/keys/policy.html#key-usage-flags

Since KeyUsage flags is a 32-bit integer, and PSA already assigned bits till 0x00020000 (18 types of KeyUsage).

Can a vendor add vendor specific KeyUsage flags to implement a vendor specific key management / crypto operation implementation?

Atleast on a example header file (https://arm-software.github.io/psa-api/crypto/1.4/appendix/example_header.html) I could find as below:

typedef uint32_t psa_key_usage_t;
#define PSA_KEY_USAGE_EXPORT ((psa_key_usage_t)0x00000001)
#define PSA_KEY_USAGE_COPY ((psa_key_usage_t)0x00000002)
#define PSA_KEY_USAGE_CACHE ((psa_key_usage_t)0x00000004)
#define PSA_KEY_USAGE_ENCRYPT ((psa_key_usage_t)0x00000100)
#define PSA_KEY_USAGE_DECRYPT ((psa_key_usage_t)0x00000200)
#define PSA_KEY_USAGE_SIGN_MESSAGE ((psa_key_usage_t)0x00000400)
#define PSA_KEY_USAGE_VERIFY_MESSAGE ((psa_key_usage_t)0x00000800)
#define PSA_KEY_USAGE_SIGN_HASH ((psa_key_usage_t)0x00001000)
#define PSA_KEY_USAGE_VERIFY_HASH ((psa_key_usage_t)0x00002000)
#define PSA_KEY_USAGE_DERIVE ((psa_key_usage_t)0x00004000)
#define PSA_KEY_USAGE_VERIFY_DERIVATION ((psa_key_usage_t)0x00008000)
#define PSA_KEY_USAGE_DERIVE_PUBLIC ((psa_key_usage_t)0x00000080)
#define PSA_KEY_USAGE_WRAP ((psa_key_usage_t)0x00010000)
#define PSA_KEY_USAGE_UNWRAP ((psa_key_usage_t)0x00020000)

Thanks and Regards,
mgudda-dot

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions