crypto_types.h
crypto_platform.h
stdint.h
crypto.h
crypto_driver_common.h
crypto_extra.h
mbedtls/check_config.h
mbedtls/config.h
mbedtls/config_psa.h
crypto_platform.h
crypto_types.h
limits.h
stdint.h
crypto.h
crypto_builtin_composites.h
crypto_builtin_primitives.h
crypto_driver_common.h
crypto_driver_contexts_composites.h
crypto_driver_contexts_primitives.h
crypto_extra.h
crypto_se_driver.h
crypto_struct.h
crypto_types.h
SECTION: Mbed TLS feature support

This section sets support for features that are or are not needed within the modules that are enabled.

MBEDTLS_PSA_CRYPTO_CLIENT

Enable support for PSA crypto client.

This option allows to include the code necessary for a PSA crypto client when the PSA crypto implementation is not included in the library (MBEDTLS_PSA_CRYPTO_C disabled). The code included is the code to set and get PSA key attributes. The development of PSA drivers partially relying on the library to fulfill the hardware gaps is another possible usage of this option.

This interface is experimental and may change or be removed without notice.

- psa_status_t
- psa_key_type_t
- psa_ecc_family_t
- psa_dh_family_t
- psa_algorithm_t
- psa_key_lifetime_t
- psa_key_persistence_t
- psa_key_location_t
- psa_key_id_t
- mbedtls_svc_key_id_t
- psa_key_usage_t
- psa_key_attributes_t
- psa_key_derivation_step_t

PSA cryptography module: type aliases.

This file may not be included directly. Applications must include psa/crypto.h. Drivers must include the appropriate driver header file.

This file contains portable definitions of integral types for properties of cryptographic keys, designations of cryptographic algorithms, and error codes returned by the library.

This header file does not declare any function.

    /*
    *CopyrightTheMbedTLSContributors
    *SPDX-License-Identifier:Apache-2.0ORGPL-2.0-or-later
    */

    #ifndefPSA_CRYPTO_TYPES_H
    #definePSA_CRYPTO_TYPES_H

    #include"crypto_platform.h"

    /*IfMBEDTLS_PSA_CRYPTO_Cisdefined,makesureMBEDTLS_PSA_CRYPTO_CLIENT
    *isdefinedaswelltoincludeallPSAcode.
    */
    #ifdefined(MBEDTLS_PSA_CRYPTO_C)
    #defineMBEDTLS_PSA_CRYPTO_CLIENT
    #endif/*MBEDTLS_PSA_CRYPTO_C*/

    #include<stdint.h>

    /*If#PSA_SUCCESSisalreadydefined,itmeansthat#psa_status_t
    *isalsodefinedinanexternalheader,sopreventitsmultiple
    *definition.
    */
    #ifndefPSA_SUCCESS
    typedefint32_tpsa_status_t;
    #endif

    typedefuint16_tpsa_key_type_t;

    typedefuint8_tpsa_ecc_family_t;

    typedefuint8_tpsa_dh_family_t;

    typedefuint32_tpsa_algorithm_t;

    typedefuint32_tpsa_key_lifetime_t;

    typedefuint8_tpsa_key_persistence_t;

    typedefuint32_tpsa_key_location_t;

    typedefuint32_tpsa_key_id_t;

    #if!defined(MBEDTLS_PSA_CRYPTO_KEY_ID_ENCODES_OWNER)
    typedefpsa_key_id_tmbedtls_svc_key_id_t;

    #else/*MBEDTLS_PSA_CRYPTO_KEY_ID_ENCODES_OWNER*/
    /*Implementation-specific:TheMbedTLSlibrarycanbebuiltas
    *partofamulti-clientservicethatexposesthePSACryptographyAPIineach
    *clientandencodestheclientidentityinthekeyidentifierargumentof
    *functionssuchaspsa_open_key().
    */
    typedefstruct{
    psa_key_id_tkey_id;
    mbedtls_key_owner_id_towner;
    }mbedtls_svc_key_id_t;

    #endif/*!MBEDTLS_PSA_CRYPTO_KEY_ID_ENCODES_OWNER*/

    typedefuint32_tpsa_key_usage_t;

    typedefstructpsa_key_attributes_spsa_key_attributes_t;

    #ifndef__DOXYGEN_ONLY__
    #ifdefined(MBEDTLS_PSA_CRYPTO_SE_C)
    /*MbedTLSdefinesthistypeincrypto_types.hbecauseitisalso
    *visibletoapplicationsthroughanimplementation-specificextension.
    *ForthePSACryptographyspecification,thistypeisonlyvisible
    *viacrypto_se_driver.h.*/
    typedefuint64_tpsa_key_slot_number_t;
    #endif/*MBEDTLS_PSA_CRYPTO_SE_C*/
    #endif/*!__DOXYGEN_ONLY__*/

    typedefuint16_tpsa_key_derivation_step_t;

    #endif/*PSA_CRYPTO_TYPES_H*/