…
|
||
---|---|---|
.. | ||
src | ||
CMakeLists.txt | ||
README.rst | ||
overlay-entropy_driver.conf | ||
overlay-entropy_not_secure.conf | ||
overlay-secure_storage.conf | ||
prj.conf | ||
sample.yaml |
README.rst
.. zephyr:code-sample:: persistent_key :name: PSA Crypto persistent key Manage and use persistent keys via the PSA Crypto API. Overview ******** This sample demonstrates usage of persistent keys in the :ref:`PSA Crypto API <psa_crypto>`. Requirements ************ In addition to the PSA Crypto API, an implementation of the `PSA Internal Trusted Storage (ITS) API <https://arm-software.github.io/psa-api/storage/1.0/overview/architecture.html#the-internal-trusted-storage-api>`_ (for storage of the persistent keys) must be present for this sample to work. It can be provided by: * :ref:`tfm`, for ``*/ns`` :term:`board targets<board target>`. * The :ref:`secure storage subsystem <secure_storage>`, for the other board targets. Building ******** This sample is located in :zephyr_file:`samples/psa/persistent_key`. Different configurations are defined in the :file:`sample.yaml` file. You can use them to build the sample, depending on the PSA ITS provider, as follows: .. tabs:: .. tab:: TF-M For board targets with TF-M: .. zephyr-app-commands:: :zephyr-app: samples/psa/persistent_key :tool: west :goals: build :board: <ns_board_target> :west-args: -T sample.psa.persistent_key.tfm .. tab:: secure storage subsystem For board targets without TF-M. If the board target to compile for has an entropy driver (preferable): .. zephyr-app-commands:: :zephyr-app: samples/psa/persistent_key :tool: west :goals: build :board: <board_target> :west-args: -T sample.psa.persistent_key.secure_storage.entropy_driver Or, to use an insecure entropy source (only for testing): .. zephyr-app-commands:: :zephyr-app: samples/psa/persistent_key :tool: west :goals: build :board: <board_target> :west-args: -T sample.psa.persistent_key.secure_storage.entropy_not_secure To flash it, see :ref:`west-flashing`. API reference ************* `PSA Crypto key management API reference <https://arm-software.github.io/psa-api/crypto/1.2/api/keys/index.html>`_