Skip to content

Implement interruptible ECC export-public #9510

@gilles-peskine-arm

Description

@gilles-peskine-arm

Implement and test interruptible export-public-key functions as specfied in ARM-software/psa-api#199 :

psa_status_t psa_export_public_key_iop_abort(psa_export_public_key_iop_t * operation);
psa_status_t psa_export_public_key_iop_complete(psa_export_public_key_iop_t * operation,
                                                uint8_t * data,
                                                size_t data_size,
                                                size_t * data_length);
uint32_t psa_export_public_key_iop_get_num_ops(psa_export_public_key_iop_t * operation);
psa_export_public_key_iop_t psa_export_public_key_iop_init(void);
psa_status_t psa_export_public_key_iop_setup(psa_export_public_key_iop_t * operation,
                                             psa_key_id_t key);

The scope of this issue is:

  • The functions work for all key pair and public-key types.
  • For RSA and DH, complete() returns on the first call.
  • For ECC, complete() is interruptible according to the iop setting.
  • Unit test to the usual coverage level.

Metadata

Metadata

Assignees

No one assigned

    Labels

    component-psaPSA keystore/dispatch layer (storage, drivers, …)size-mEstimated task size: medium (~1w)

    Type

    No type

    Projects

    Status

    PSA Interruptible ECC

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions