71 lines
2.1 KiB
ReStructuredText
71 lines
2.1 KiB
ReStructuredText
.. 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>`_
|