crypto_adjust_config_key_pair_types.h
config_psa.h
aes.h
aria.h
asn1.h
asn1write.h
base64.h
bignum.h
block_cipher.h
build_info.h
camellia.h
ccm.h
chacha20.h
chachapoly.h
cipher.h
cmac.h
config_psa.h
ctr_drbg.h
debug.h
des.h
dhm.h
ecdh.h
ecdsa.h
ecjpake.h
ecp.h
entropy.h
error.h
gcm.h
hkdf.h
hmac_drbg.h
lms.h
md.h
md5.h
memory_buffer_alloc.h
net_sockets.h
nist_kw.h
oid.h
pem.h
pk.h
pkcs12.h
pkcs5.h
pkcs7.h
platform.h
platform_time.h
platform_util.h
poly1305.h
psa_util.h
ripemd160.h
rsa.h
sha1.h
sha256.h
sha3.h
sha512.h
ssl.h
ssl_cache.h
ssl_ciphersuites.h
ssl_cookie.h
ssl_ticket.h
threading.h
timing.h
version.h
x509.h
x509_crl.h
x509_crt.h
x509_csr.h
build_info.h
crypto.h
crypto_adjust_config_key_pair_types.h
crypto_builtin_composites.h
crypto_builtin_key_derivation.h
crypto_builtin_primitives.h
crypto_driver_common.h
crypto_driver_contexts_composites.h
crypto_driver_contexts_key_derivation.h
crypto_driver_contexts_primitives.h
crypto_extra.h
crypto_platform.h
crypto_se_driver.h
crypto_sizes.h
crypto_struct.h
crypto_types.h
chachapoly_alt.h

Adjust PSA configuration for key pair types.

This is an internal header. Do not include it directly.

See docs/proposed/psa-conditional-inclusion-c.md.

- Support non-basic operations in a keypair type implicitly enables basic support for that keypair type.

- Support for a keypair type implicitly enables the corresponding public key type.

- Basic support for a keypair type implicilty enables import/export support for that keypair type. Warning: this is implementation-specific (mainly for the benefit of testing) and may change in the future!

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

    #ifndefPSA_CRYPTO_ADJUST_KEYPAIR_TYPES_H
    #definePSA_CRYPTO_ADJUST_KEYPAIR_TYPES_H

    #if!defined(MBEDTLS_CONFIG_FILES_READ)
    #error"Donotincludepsa/crypto_adjust_*.hmanually!Thiscanleadtoproblems,"\
    "uptoandincludingruntimeerrorssuchasbufferoverflows."\
    "Ifyou'retryingtofixacomplaintfromcheck_config.h,justremove"\
    "itfromyourconfigurationfile:sinceMbedTLS3.0,itisincluded"\
    "automaticallyattherightpoint."
    #endif/**/

    /*****************************************************************
    *ANYTHING->BASIC
    ****************************************************************/

    #ifdefined(PSA_WANT_KEY_TYPE_ECC_KEY_PAIR_IMPORT)||\
    defined(PSA_WANT_KEY_TYPE_ECC_KEY_PAIR_EXPORT)||\
    defined(PSA_WANT_KEY_TYPE_ECC_KEY_PAIR_GENERATE)||\
    defined(PSA_WANT_KEY_TYPE_ECC_KEY_PAIR_DERIVE)
    #definePSA_WANT_KEY_TYPE_ECC_KEY_PAIR_BASIC1
    #endif

    #ifdefined(PSA_WANT_KEY_TYPE_RSA_KEY_PAIR_IMPORT)||\
    defined(PSA_WANT_KEY_TYPE_RSA_KEY_PAIR_EXPORT)||\
    defined(PSA_WANT_KEY_TYPE_RSA_KEY_PAIR_GENERATE)||\
    defined(PSA_WANT_KEY_TYPE_RSA_KEY_PAIR_DERIVE)
    #definePSA_WANT_KEY_TYPE_RSA_KEY_PAIR_BASIC1
    #endif

    #ifdefined(PSA_WANT_KEY_TYPE_DH_KEY_PAIR_IMPORT)||\
    defined(PSA_WANT_KEY_TYPE_DH_KEY_PAIR_EXPORT)||\
    defined(PSA_WANT_KEY_TYPE_DH_KEY_PAIR_GENERATE)||\
    defined(PSA_WANT_KEY_TYPE_DH_KEY_PAIR_DERIVE)
    #definePSA_WANT_KEY_TYPE_DH_KEY_PAIR_BASIC1
    #endif

    /*****************************************************************
    *BASIC->correspondingPUBLIC
    ****************************************************************/

    #ifdefined(PSA_WANT_KEY_TYPE_ECC_KEY_PAIR_BASIC)
    #definePSA_WANT_KEY_TYPE_ECC_PUBLIC_KEY1
    #endif

    #ifdefined(PSA_WANT_KEY_TYPE_RSA_KEY_PAIR_BASIC)
    #definePSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY1
    #endif

    #ifdefined(PSA_WANT_KEY_TYPE_DH_KEY_PAIR_BASIC)
    #definePSA_WANT_KEY_TYPE_DH_PUBLIC_KEY1
    #endif

    /*****************************************************************
    *BASIC->IMPORT+EXPORT
    *
    *(Implementation-specific,maychangeinthefuture.)
    ****************************************************************/

    /*EventhoughKEY_PAIRsymbols'featureseverallevelofsupport(BASIC,IMPORT,
    *EXPORT,GENERATE,DERIVE)we'renotplanningtohavesupportonlyforBASIC
    *withoutIMPORT/EXPORTsincetheselast2featuresarestronglyusedintests.
    *Ingeneralitisallowedtoincludemorefeaturethanwhatisstrictly
    *requested.
    *AsaconsequenceIMPORTandEXPORTfeatureswillbeautomaticallyenabled
    *assoonastheBASIConeis.*/
    #ifdefined(PSA_WANT_KEY_TYPE_ECC_KEY_PAIR_BASIC)
    #definePSA_WANT_KEY_TYPE_ECC_KEY_PAIR_IMPORT1
    #definePSA_WANT_KEY_TYPE_ECC_KEY_PAIR_EXPORT1
    #endif

    #ifdefined(PSA_WANT_KEY_TYPE_RSA_KEY_PAIR_BASIC)
    #definePSA_WANT_KEY_TYPE_RSA_KEY_PAIR_IMPORT1
    #definePSA_WANT_KEY_TYPE_RSA_KEY_PAIR_EXPORT1
    #endif

    #ifdefined(PSA_WANT_KEY_TYPE_DH_KEY_PAIR_BASIC)
    #definePSA_WANT_KEY_TYPE_DH_KEY_PAIR_IMPORT1
    #definePSA_WANT_KEY_TYPE_DH_KEY_PAIR_EXPORT1
    #endif

    #endif/*PSA_CRYPTO_ADJUST_KEYPAIR_TYPES_H*/