quickjs-tart

quickjs-based runtime for wallet-core logic
Log | Files | Refs | README | LICENSE

check_crypto_config.h (5648B)


      1 /**
      2  * \file check_crypto_config.h
      3  *
      4  * \brief Consistency checks for PSA configuration options
      5  */
      6 /*
      7  *  Copyright The Mbed TLS Contributors
      8  *  SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
      9  */
     10 
     11 /*
     12  * It is recommended to include this file from your crypto_config.h
     13  * in order to catch dependency issues early.
     14  */
     15 
     16 #ifndef MBEDTLS_CHECK_CRYPTO_CONFIG_H
     17 #define MBEDTLS_CHECK_CRYPTO_CONFIG_H
     18 
     19 #if defined(PSA_WANT_ALG_CCM) && \
     20     !(defined(PSA_WANT_KEY_TYPE_AES) || \
     21     defined(PSA_WANT_KEY_TYPE_CAMELLIA))
     22 #error "PSA_WANT_ALG_CCM defined, but not all prerequisites"
     23 #endif
     24 
     25 #if defined(PSA_WANT_ALG_CMAC) && \
     26     !(defined(PSA_WANT_KEY_TYPE_AES) || \
     27     defined(PSA_WANT_KEY_TYPE_CAMELLIA) || \
     28     defined(PSA_WANT_KEY_TYPE_DES))
     29 #error "PSA_WANT_ALG_CMAC defined, but not all prerequisites"
     30 #endif
     31 
     32 #if defined(PSA_WANT_ALG_DETERMINISTIC_ECDSA) && \
     33     !(defined(PSA_WANT_KEY_TYPE_ECC_KEY_PAIR_BASIC) || \
     34     defined(PSA_WANT_KEY_TYPE_ECC_PUBLIC_KEY))
     35 #error "PSA_WANT_ALG_DETERMINISTIC_ECDSA defined, but not all prerequisites"
     36 #endif
     37 
     38 #if defined(PSA_WANT_ALG_ECDSA) && \
     39     !(defined(PSA_WANT_KEY_TYPE_ECC_KEY_PAIR_BASIC) || \
     40     defined(PSA_WANT_KEY_TYPE_ECC_PUBLIC_KEY))
     41 #error "PSA_WANT_ALG_ECDSA defined, but not all prerequisites"
     42 #endif
     43 
     44 #if defined(PSA_WANT_ALG_GCM) && \
     45     !(defined(PSA_WANT_KEY_TYPE_AES) || \
     46     defined(PSA_WANT_KEY_TYPE_CAMELLIA))
     47 #error "PSA_WANT_ALG_GCM defined, but not all prerequisites"
     48 #endif
     49 
     50 #if defined(PSA_WANT_ALG_RSA_PKCS1V15_CRYPT) && \
     51     !(defined(PSA_WANT_KEY_TYPE_RSA_KEY_PAIR_BASIC) || \
     52     defined(PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY))
     53 #error "PSA_WANT_ALG_RSA_PKCS1V15_CRYPT defined, but not all prerequisites"
     54 #endif
     55 
     56 #if defined(PSA_WANT_ALG_RSA_PKCS1V15_SIGN) && \
     57     !(defined(PSA_WANT_KEY_TYPE_RSA_KEY_PAIR_BASIC) || \
     58     defined(PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY))
     59 #error "PSA_WANT_ALG_RSA_PKCS1V15_SIGN defined, but not all prerequisites"
     60 #endif
     61 
     62 #if defined(PSA_WANT_ALG_RSA_OAEP) && \
     63     !(defined(PSA_WANT_KEY_TYPE_RSA_KEY_PAIR_BASIC) || \
     64     defined(PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY))
     65 #error "PSA_WANT_ALG_RSA_OAEP defined, but not all prerequisites"
     66 #endif
     67 
     68 #if defined(PSA_WANT_ALG_RSA_PSS) && \
     69     !(defined(PSA_WANT_KEY_TYPE_RSA_KEY_PAIR_BASIC) || \
     70     defined(PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY))
     71 #error "PSA_WANT_ALG_RSA_PSS defined, but not all prerequisites"
     72 #endif
     73 
     74 #if (defined(PSA_WANT_KEY_TYPE_ECC_KEY_PAIR_BASIC) || \
     75     defined(PSA_WANT_KEY_TYPE_ECC_KEY_PAIR_IMPORT) || \
     76     defined(PSA_WANT_KEY_TYPE_ECC_KEY_PAIR_EXPORT) || \
     77     defined(PSA_WANT_KEY_TYPE_ECC_KEY_PAIR_GENERATE) || \
     78     defined(PSA_WANT_KEY_TYPE_ECC_KEY_PAIR_DERIVE)) && \
     79     !defined(PSA_WANT_KEY_TYPE_ECC_PUBLIC_KEY)
     80 #error "PSA_WANT_KEY_TYPE_ECC_KEY_PAIR_xxx defined, but not all prerequisites"
     81 #endif
     82 
     83 #if (defined(PSA_WANT_KEY_TYPE_RSA_KEY_PAIR_BASIC) || \
     84     defined(PSA_WANT_KEY_TYPE_RSA_KEY_PAIR_IMPORT) || \
     85     defined(PSA_WANT_KEY_TYPE_RSA_KEY_PAIR_EXPORT) || \
     86     defined(PSA_WANT_KEY_TYPE_RSA_KEY_PAIR_GENERATE)) && \
     87     !defined(PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY)
     88 #error "PSA_WANT_KEY_TYPE_RSA_KEY_PAIR_xxx defined, but not all prerequisites"
     89 #endif
     90 
     91 #if (defined(PSA_WANT_KEY_TYPE_DH_KEY_PAIR_BASIC) || \
     92     defined(PSA_WANT_KEY_TYPE_DH_KEY_PAIR_IMPORT) || \
     93     defined(PSA_WANT_KEY_TYPE_DH_KEY_PAIR_EXPORT) || \
     94     defined(PSA_WANT_KEY_TYPE_DH_KEY_PAIR_GENERATE)) && \
     95     !defined(PSA_WANT_KEY_TYPE_DH_PUBLIC_KEY)
     96 #error "PSA_WANT_KEY_TYPE_DH_KEY_PAIR_xxx defined, but not all prerequisites"
     97 #endif
     98 
     99 #if defined(PSA_WANT_KEY_TYPE_ECC_KEY_PAIR)
    100 #if defined(MBEDTLS_DEPRECATED_REMOVED)
    101 #error "PSA_WANT_KEY_TYPE_ECC_KEY_PAIR is deprecated and will be removed in a \
    102     future version of Mbed TLS. Please switch to new PSA_WANT_KEY_TYPE_ECC_KEY_PAIR_xxx \
    103     symbols, where xxx can be: USE, IMPORT, EXPORT, GENERATE, DERIVE"
    104 #elif defined(MBEDTLS_DEPRECATED_WARNING)
    105 #warning "PSA_WANT_KEY_TYPE_ECC_KEY_PAIR is deprecated and will be removed in a \
    106     future version of Mbed TLS. Please switch to new PSA_WANT_KEY_TYPE_ECC_KEY_PAIR_xxx \
    107     symbols, where xxx can be: USE, IMPORT, EXPORT, GENERATE, DERIVE"
    108 #endif /* MBEDTLS_DEPRECATED_WARNING */
    109 #endif /* PSA_WANT_KEY_TYPE_ECC_KEY_PAIR */
    110 
    111 #if defined(PSA_WANT_KEY_TYPE_RSA_KEY_PAIR)
    112 #if defined(MBEDTLS_DEPRECATED_REMOVED)
    113 #error "PSA_WANT_KEY_TYPE_RSA_KEY_PAIR is deprecated and will be removed in a \
    114     future version of Mbed TLS. Please switch to new PSA_WANT_KEY_TYPE_RSA_KEY_PAIR_xxx \
    115     symbols, where xxx can be: USE, IMPORT, EXPORT, GENERATE, DERIVE"
    116 #elif defined(MBEDTLS_DEPRECATED_WARNING)
    117 #warning "PSA_WANT_KEY_TYPE_RSA_KEY_PAIR is deprecated and will be removed in a \
    118     future version of Mbed TLS. Please switch to new PSA_WANT_KEY_TYPE_RSA_KEY_PAIR_xxx \
    119     symbols, where xxx can be: USE, IMPORT, EXPORT, GENERATE, DERIVE"
    120 #endif /* MBEDTLS_DEPRECATED_WARNING */
    121 #endif /* PSA_WANT_KEY_TYPE_RSA_KEY_PAIR */
    122 
    123 #if defined(PSA_WANT_KEY_TYPE_RSA_KEY_PAIR_DERIVE)
    124 #error "PSA_WANT_KEY_TYPE_RSA_KEY_PAIR_DERIVE defined, but feature is not supported"
    125 #endif
    126 
    127 #if defined(PSA_WANT_KEY_TYPE_DH_KEY_PAIR_DERIVE)
    128 #error "PSA_WANT_KEY_TYPE_DH_KEY_PAIR_DERIVE defined, but feature is not supported"
    129 #endif
    130 
    131 #if defined(MBEDTLS_SSL_PROTO_TLS1_2) && defined(MBEDTLS_USE_PSA_CRYPTO) && \
    132     !(defined(PSA_WANT_ALG_SHA_1) || defined(PSA_WANT_ALG_SHA_256) || defined(PSA_WANT_ALG_SHA_512))
    133 #error "MBEDTLS_SSL_PROTO_TLS1_2 defined, but not all prerequisites"
    134 #endif
    135 
    136 #if defined(PSA_WANT_ALG_TLS12_ECJPAKE_TO_PMS) && \
    137     !defined(PSA_WANT_ALG_SHA_256)
    138 #error "PSA_WANT_ALG_TLS12_ECJPAKE_TO_PMS defined, but not all prerequisites"
    139 #endif
    140 
    141 #endif /* MBEDTLS_CHECK_CRYPTO_CONFIG_H */