Lines Matching refs:point
55 * An object file compiled for the target platform defining the entry point functions specified by t…
73 …onstants referenced by the driver description. They may declare the entry point functions, but thi…
88 … element is the name of a [driver entry point](#driver-entry-points) or driver entry point family.…
92 …point names described by the `"entry_points"` property, to the name of the C function in the drive…
99 A driver is considered available for a cryptographic mechanism that invokes a given entry point if …
101 …y_points"` list either includes the entry point or includes an entry point family that includes th…
115 …point, algorithm, key type and key size, and all the capabilities map the entry point to the same …
117 If multiple transparent drivers have applicable capabilities for a given combination of entry point…
179 …point generally looks like the signature of the PSA Cryptography API that it implements, with some…
195 …milies that must be implemented as a whole. If a driver supports an entry point family, it must pr…
197 …ent and opaque drivers can have [entropy collection entry points](#entropy-collection-entry-point).
199 #### General considerations on driver entry point parameters
215 … `psa_hash_compare()`, the core calls the driver's `"hash_compute"` entry point and compares the r…
216 …ver's `"mac_verify"` entry point if there is one, otherwise the core calls an applicable driver's …
217 …point is mainly useful for drivers of secure elements that verify a MAC without revealing the corr…
224 …point if there is one, otherwise the core calls an applicable driver's `"hash_compute"` entry poin…
225 …point if there is one, otherwise the core calls an applicable driver's `"hash_compute"` entry poin…
237 … entry point for this operation family. If this fails, the core destroys the operation context obj…
239 …point fails, the core calls the driver's `xxx_abort` entry point for this operation family, then d…
240 1. If a “finish” entry point fails, the core destroys the operation context object without calling …
244 #### Multi-part operation entry point family `"hash_multipart"`
258 …_hash_verify()`, the core calls the driver's *prefix*`_hash_finish` entry point and compares the r…
260 …point family must define the following type and entry points (assuming that the capability does no…
307 …t_key()`, the core always calls the applicable driver's `"key_derivation_input_bytes"` entry point.
343 * For the `"import_key"` entry point, the input in the `data` buffer is either the export format or…
345 …er with an `"allocate_key"` entry point, the content of the key data buffer on entry is the output…
346 * The `"import_key"` entry point must determine or validate the key size and set `*bits` as describ…
352 The `"import_key"` entry point must determine or validate the key size.
356 …point to process a call to `psa_import_key`, it passes an `attributes` structure such that `psa_ge…
358 … core sets `*bits` to `psa_get_key_bits(attributes)` before calling the `"import_key"` entry point.
360 …rn `PSA_ERROR_INVALID_ARGUMENT` if it does not match. If the driver entry point changes `*bits` to…
379 …s (`PSA_KEY_TYPE_ECC_PUBLIC_KEY`), check the size and range, and that the point is on the curve. T…
381 ### Entropy collection entry point
383 A driver can declare an entropy source by providing a `"get_entropy"` entry point. This entry point…
401 The entry point may return the following statuses:
407 Unlike most other entry points, if multiple transparent drivers include a `"get_entropy"` point, th…
412 …lag is clear, the core is not expecting to call the `"get_entropy"` entry point again within a sho…
428 …point in a capability with no algorithm, key type or key size. If so, the core calls this entry po…
430 …point, the order in which they are called is unspecified. It is also unspecified whether other dri…
434 The init entry point does not take any parameter.
470 This entry point has several roles:
472 …he driver must support the export format for the key types that the entry point is declared for. I…
475 …l#c.psa_export_public_key), so if the input is not in this format, the entry point must convert it.
482 …enerating random data, declare it as an [entropy driver](#entropy-collection-entry-point) instead.)
483 …ripheral can be declared as an [entropy source](#entropy-collection-entry-point) instead of a rand…
486 If no driver implements the random generation entry point family, the core provides an unspecified …
491 * `"init_random"` (entry point, optional): if this function is present, [the core calls it once](#r…
492 …point, optional): the core calls this function to [inject entropy](#entropy-injection). This entry…
493 …t_random"` (entry point, mandatory): the core calls this function whenever it needs to [obtain ran…
501 The `"init_random"` entry point has the following prototype for a driver with the prefix `"acme"`:
507 The core calls this entry point once after allocating a random generation context. Initially, the c…
509 If a driver does not have an `"init_random"` entry point, the context object passed to the first ca…
513 The `"add_entropy"` entry point has the following prototype for a driver with the prefix `"acme"`:
523 …ject has been initialized by a call to the driver's `"init_random"` entry point if one is present,…
525 …r random data, in which case the core will call the `"add_entropy"` entry point again to supply mo…
531 * Before the first call to the `"get_random"` entry point, to supply `"initial_entropy_size"` bytes…
532 * After a call to the `"get_random"` entry point returns less than the required amount of random da…
534 … supply it with one or more successive calls to the `"add_entropy"` entry point. If the required e…
538 …collection-entry-point) (each having a `"get_entropy"` entry point) with a random generation drive…
548 …capability to inject additional entropy through the `"add_entropy"` entry point. This ensures that…
550 …point. This limits the driver's portability: implementations of the PSA Cryptography specification…
555 #### The `"get_random"` entry point
557 The `"get_random"` entry point has the following prototype for a driver with the prefix `"acme"`:
568 …d not call `"add_entropy"`, or if the driver has no `"add_entropy"` entry point, the core must hav…
576 … core must supply additional entropy by calling the `"add_entropy"` entry point with at least `"re…
585 If a transparent driver entry point is part of a capability which has a true `"fallback"` property …
590 If a transparent driver entry point is part of a capability where the `"fallback"` property is fals…
613 …, this overrides all other methods (including the `"size_function"` entry point) to determine the …
653 …the public key to the key context and retrieve it on demand in its `export_public_key` entry point.
664 …core to obtain the public key of a key pair. The core may call this entry point at any time to obt…
678 …l store. A driver for such a secure element has no `"allocate_key"` or `"destroy_key"` entry point.
680 …a key with an opaque driver which does not have an `"allocate_key"` or `"destroy_key"` entry point:
683 2. The core calls the driver's import, generate, derive or copy entry point.
705 When creating a persistent key with an opaque driver which has an `"allocate_key"` entry point:
707 1. The core calls the driver's `"allocate_key"` entry point. This function typically allocates an i…
711 1. The core calls the driver's key creation entry point.
715 … the `"allocate_key"` step but before the call to the second driver entry point, the core will do …
717 … in particular, if the device loses power immediately after the key allocation entry point returns.
718 * Call the driver's `"destroy_key"` entry point.
720 To destroy a key, the core calls the driver's `"destroy_key"` entry point.
749 …point](#key-management-in-a-secure-element-with-storage), the core calls the `"allocate_key"` entr…
780 The core loads the persistent state in memory before it calls the driver's [init entry point](#driv…
792 …point. Once the entry point returns, the pointer is no longer valid. The core guarantees that call…
794 …dating the persistent state in memory and before returning from the entry point, otherwise it is u…
796 …point is running except when the entry point calls `psa_crypto_driver_commit_persistent_state`. It…
798 …nt, the driver may only call these two functions from the thread that is executing the entry point.
804 …point to retrieve the key data and metadata. The core calls this entry point when it needs to acce…
816 …th which the platform is attempting to register the key. The driver entry point may choose to chan…
820 …-storage). A driver may have built-in keys even if it doesn't have an `"allocate_key"` entry point.
822 This entry point may return the following status values:
829 …[`"destroy_key"`](#key-management-in-a-secure-element-with-storage) entry point if there is one. I…
959 Should the entry point be called for symmetric keys as well?
965 …ng the bit-size of the key is part of the job of the `"import_key"` entry point. For standard key …
981 Should the input to the [`"add_entropy"` entry point](#entropy-injection) be a full-entropy buffer …