ssl_ciphersuites.h
mbedtls/private_access.h
mbedtls/build_info.h
mbedtls/pk.h
mbedtls/cipher.h
mbedtls/md.h
ssl.h
mbedtls/bignum.h
mbedtls/build_info.h
mbedtls/ccm.h
mbedtls/chacha20.h
mbedtls/chachapoly.h
mbedtls/check_config.h
mbedtls/cipher.h
mbedtls/cmac.h
mbedtls/config_adjust_legacy_crypto.h
mbedtls/config_adjust_psa_from_legacy.h
mbedtls/config_adjust_psa_superset_legacy.h
mbedtls/config_adjust_ssl.h
mbedtls/config_adjust_x509.h
mbedtls/config_psa.h
mbedtls/ecdsa.h
mbedtls/ecjpake.h
mbedtls/ecp.h
mbedtls/gcm.h
mbedtls/mbedtls_config.h
mbedtls/md.h
mbedtls/md5.h
mbedtls/pk.h
mbedtls/platform_time.h
mbedtls/platform_util.h
mbedtls/poly1305.h
mbedtls/private_access.h
mbedtls/ripemd160.h
mbedtls/rsa.h
mbedtls/sha1.h
mbedtls/sha256.h
mbedtls/sha3.h
mbedtls/sha512.h
ssl_ciphersuites.h
mbedtls/threading.h
psa/build_info.h
psa/crypto.h
psa/crypto_adjust_auto_enabled.h
psa/crypto_adjust_config_dependencies.h
psa/crypto_adjust_config_key_pair_types.h
psa/crypto_adjust_config_synonyms.h
psa/crypto_builtin_composites.h
psa/crypto_builtin_key_derivation.h
psa/crypto_builtin_primitives.h
crypto_compat.h
psa/crypto_driver_common.h
psa/crypto_driver_contexts_composites.h
psa/crypto_driver_contexts_key_derivation.h
psa/crypto_driver_contexts_primitives.h
crypto_extra.h
psa/crypto_legacy.h
crypto_platform.h
crypto_sizes.h
crypto_struct.h
crypto_types.h
crypto_values.h
inttypes.h
limits.h
pthread.h
stddef.h
stdint.h
stdio.h
stdlib.h
time.h
debug.h
net_sockets.h
ssl.h
ssl_cache.h
ssl_ciphersuites.h
ssl_cookie.h
ssl_ticket.h
mbedtls_ssl_ciphersuite_t
MBEDTLS_TLS_RSA_WITH_NULL_MD5
0x01

Weak!

MBEDTLS_TLS_RSA_WITH_NULL_SHA
0x02

Weak!

MBEDTLS_TLS_PSK_WITH_NULL_SHA
0x2C

Weak!

MBEDTLS_TLS_DHE_PSK_WITH_NULL_SHA
0x2D

Weak!

MBEDTLS_TLS_RSA_PSK_WITH_NULL_SHA
0x2E

Weak!

MBEDTLS_TLS_RSA_WITH_AES_128_CBC_SHA
0x2F
MBEDTLS_TLS_DHE_RSA_WITH_AES_128_CBC_SHA
0x33
MBEDTLS_TLS_RSA_WITH_AES_256_CBC_SHA
0x35
MBEDTLS_TLS_DHE_RSA_WITH_AES_256_CBC_SHA
0x39
MBEDTLS_TLS_RSA_WITH_NULL_SHA256
0x3B

Weak!

MBEDTLS_TLS_RSA_WITH_AES_128_CBC_SHA256
0x3C

TLS 1.2

MBEDTLS_TLS_RSA_WITH_AES_256_CBC_SHA256
0x3D

TLS 1.2

MBEDTLS_TLS_RSA_WITH_CAMELLIA_128_CBC_SHA
0x41
MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA
0x45
MBEDTLS_TLS_DHE_RSA_WITH_AES_128_CBC_SHA256
0x67

TLS 1.2

MBEDTLS_TLS_DHE_RSA_WITH_AES_256_CBC_SHA256
0x6B

TLS 1.2

MBEDTLS_TLS_RSA_WITH_CAMELLIA_256_CBC_SHA
0x84
MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA
0x88
MBEDTLS_TLS_PSK_WITH_AES_128_CBC_SHA
0x8C
MBEDTLS_TLS_PSK_WITH_AES_256_CBC_SHA
0x8D
MBEDTLS_TLS_DHE_PSK_WITH_AES_128_CBC_SHA
0x90
MBEDTLS_TLS_DHE_PSK_WITH_AES_256_CBC_SHA
0x91
MBEDTLS_TLS_RSA_PSK_WITH_AES_128_CBC_SHA
0x94
MBEDTLS_TLS_RSA_PSK_WITH_AES_256_CBC_SHA
0x95
MBEDTLS_TLS_RSA_WITH_AES_128_GCM_SHA256
0x9C

TLS 1.2

MBEDTLS_TLS_RSA_WITH_AES_256_GCM_SHA384
0x9D

TLS 1.2

MBEDTLS_TLS_DHE_RSA_WITH_AES_128_GCM_SHA256
0x9E

TLS 1.2

MBEDTLS_TLS_DHE_RSA_WITH_AES_256_GCM_SHA384
0x9F

TLS 1.2

MBEDTLS_TLS_PSK_WITH_AES_128_GCM_SHA256
0xA8

TLS 1.2

MBEDTLS_TLS_PSK_WITH_AES_256_GCM_SHA384
0xA9

TLS 1.2

MBEDTLS_TLS_DHE_PSK_WITH_AES_128_GCM_SHA256
0xAA

TLS 1.2

MBEDTLS_TLS_DHE_PSK_WITH_AES_256_GCM_SHA384
0xAB

TLS 1.2

MBEDTLS_TLS_RSA_PSK_WITH_AES_128_GCM_SHA256
0xAC

TLS 1.2

MBEDTLS_TLS_RSA_PSK_WITH_AES_256_GCM_SHA384
0xAD

TLS 1.2

MBEDTLS_TLS_PSK_WITH_AES_128_CBC_SHA256
0xAE
MBEDTLS_TLS_PSK_WITH_AES_256_CBC_SHA384
0xAF
MBEDTLS_TLS_PSK_WITH_NULL_SHA256
0xB0

Weak!

MBEDTLS_TLS_PSK_WITH_NULL_SHA384
0xB1

Weak!

MBEDTLS_TLS_DHE_PSK_WITH_AES_128_CBC_SHA256
0xB2
MBEDTLS_TLS_DHE_PSK_WITH_AES_256_CBC_SHA384
0xB3
MBEDTLS_TLS_DHE_PSK_WITH_NULL_SHA256
0xB4

Weak!

MBEDTLS_TLS_DHE_PSK_WITH_NULL_SHA384
0xB5

Weak!

MBEDTLS_TLS_RSA_PSK_WITH_AES_128_CBC_SHA256
0xB6
MBEDTLS_TLS_RSA_PSK_WITH_AES_256_CBC_SHA384
0xB7
MBEDTLS_TLS_RSA_PSK_WITH_NULL_SHA256
0xB8

Weak!

MBEDTLS_TLS_RSA_PSK_WITH_NULL_SHA384
0xB9

Weak!

MBEDTLS_TLS_RSA_WITH_CAMELLIA_128_CBC_SHA256
0xBA

TLS 1.2

MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA256
0xBE

TLS 1.2

MBEDTLS_TLS_RSA_WITH_CAMELLIA_256_CBC_SHA256
0xC0

TLS 1.2

MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA256
0xC4

TLS 1.2

MBEDTLS_TLS_ECDH_ECDSA_WITH_NULL_SHA
0xC001

Weak!

MBEDTLS_TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA
0xC004
MBEDTLS_TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA
0xC005
MBEDTLS_TLS_ECDHE_ECDSA_WITH_NULL_SHA
0xC006

Weak!

MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
0xC009
MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA
0xC00A
MBEDTLS_TLS_ECDH_RSA_WITH_NULL_SHA
0xC00B

Weak!

MBEDTLS_TLS_ECDH_RSA_WITH_AES_128_CBC_SHA
0xC00E
MBEDTLS_TLS_ECDH_RSA_WITH_AES_256_CBC_SHA
0xC00F
MBEDTLS_TLS_ECDHE_RSA_WITH_NULL_SHA
0xC010

Weak!

MBEDTLS_TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
0xC013
MBEDTLS_TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
0xC014
MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256
0xC023

TLS 1.2

MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384
0xC024

TLS 1.2

MBEDTLS_TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256
0xC025

TLS 1.2

MBEDTLS_TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384
0xC026

TLS 1.2

MBEDTLS_TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
0xC027

TLS 1.2

MBEDTLS_TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
0xC028

TLS 1.2

MBEDTLS_TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256
0xC029

TLS 1.2

MBEDTLS_TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384
0xC02A

TLS 1.2

MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
0xC02B

TLS 1.2

MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
0xC02C

TLS 1.2

MBEDTLS_TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256
0xC02D

TLS 1.2

MBEDTLS_TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384
0xC02E

TLS 1.2

MBEDTLS_TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
0xC02F

TLS 1.2

MBEDTLS_TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
0xC030

TLS 1.2

MBEDTLS_TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256
0xC031

TLS 1.2

MBEDTLS_TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384
0xC032

TLS 1.2

MBEDTLS_TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA
0xC035
MBEDTLS_TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA
0xC036
MBEDTLS_TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA256
0xC037
MBEDTLS_TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA384
0xC038
MBEDTLS_TLS_ECDHE_PSK_WITH_NULL_SHA
0xC039
MBEDTLS_TLS_ECDHE_PSK_WITH_NULL_SHA256
0xC03A
MBEDTLS_TLS_ECDHE_PSK_WITH_NULL_SHA384
0xC03B
MBEDTLS_TLS_RSA_WITH_ARIA_128_CBC_SHA256
0xC03C

TLS 1.2

MBEDTLS_TLS_RSA_WITH_ARIA_256_CBC_SHA384
0xC03D

TLS 1.2

MBEDTLS_TLS_DHE_RSA_WITH_ARIA_128_CBC_SHA256
0xC044

TLS 1.2

MBEDTLS_TLS_DHE_RSA_WITH_ARIA_256_CBC_SHA384
0xC045

TLS 1.2

MBEDTLS_TLS_ECDHE_ECDSA_WITH_ARIA_128_CBC_SHA256
0xC048

TLS 1.2

MBEDTLS_TLS_ECDHE_ECDSA_WITH_ARIA_256_CBC_SHA384
0xC049

TLS 1.2

MBEDTLS_TLS_ECDH_ECDSA_WITH_ARIA_128_CBC_SHA256
0xC04A

TLS 1.2

MBEDTLS_TLS_ECDH_ECDSA_WITH_ARIA_256_CBC_SHA384
0xC04B

TLS 1.2

MBEDTLS_TLS_ECDHE_RSA_WITH_ARIA_128_CBC_SHA256
0xC04C

TLS 1.2

MBEDTLS_TLS_ECDHE_RSA_WITH_ARIA_256_CBC_SHA384
0xC04D

TLS 1.2

MBEDTLS_TLS_ECDH_RSA_WITH_ARIA_128_CBC_SHA256
0xC04E

TLS 1.2

MBEDTLS_TLS_ECDH_RSA_WITH_ARIA_256_CBC_SHA384
0xC04F

TLS 1.2

MBEDTLS_TLS_RSA_WITH_ARIA_128_GCM_SHA256
0xC050

TLS 1.2

MBEDTLS_TLS_RSA_WITH_ARIA_256_GCM_SHA384
0xC051

TLS 1.2

MBEDTLS_TLS_DHE_RSA_WITH_ARIA_128_GCM_SHA256
0xC052

TLS 1.2

MBEDTLS_TLS_DHE_RSA_WITH_ARIA_256_GCM_SHA384
0xC053

TLS 1.2

MBEDTLS_TLS_ECDHE_ECDSA_WITH_ARIA_128_GCM_SHA256
0xC05C

TLS 1.2

MBEDTLS_TLS_ECDHE_ECDSA_WITH_ARIA_256_GCM_SHA384
0xC05D

TLS 1.2

MBEDTLS_TLS_ECDH_ECDSA_WITH_ARIA_128_GCM_SHA256
0xC05E

TLS 1.2

MBEDTLS_TLS_ECDH_ECDSA_WITH_ARIA_256_GCM_SHA384
0xC05F

TLS 1.2

MBEDTLS_TLS_ECDHE_RSA_WITH_ARIA_128_GCM_SHA256
0xC060

TLS 1.2

MBEDTLS_TLS_ECDHE_RSA_WITH_ARIA_256_GCM_SHA384
0xC061

TLS 1.2

MBEDTLS_TLS_ECDH_RSA_WITH_ARIA_128_GCM_SHA256
0xC062

TLS 1.2

MBEDTLS_TLS_ECDH_RSA_WITH_ARIA_256_GCM_SHA384
0xC063

TLS 1.2

MBEDTLS_TLS_PSK_WITH_ARIA_128_CBC_SHA256
0xC064

TLS 1.2

MBEDTLS_TLS_PSK_WITH_ARIA_256_CBC_SHA384
0xC065

TLS 1.2

MBEDTLS_TLS_DHE_PSK_WITH_ARIA_128_CBC_SHA256
0xC066

TLS 1.2

MBEDTLS_TLS_DHE_PSK_WITH_ARIA_256_CBC_SHA384
0xC067

TLS 1.2

MBEDTLS_TLS_RSA_PSK_WITH_ARIA_128_CBC_SHA256
0xC068

TLS 1.2

MBEDTLS_TLS_RSA_PSK_WITH_ARIA_256_CBC_SHA384
0xC069

TLS 1.2

MBEDTLS_TLS_PSK_WITH_ARIA_128_GCM_SHA256
0xC06A

TLS 1.2

MBEDTLS_TLS_PSK_WITH_ARIA_256_GCM_SHA384
0xC06B

TLS 1.2

MBEDTLS_TLS_DHE_PSK_WITH_ARIA_128_GCM_SHA256
0xC06C

TLS 1.2

MBEDTLS_TLS_DHE_PSK_WITH_ARIA_256_GCM_SHA384
0xC06D

TLS 1.2

MBEDTLS_TLS_RSA_PSK_WITH_ARIA_128_GCM_SHA256
0xC06E

TLS 1.2

MBEDTLS_TLS_RSA_PSK_WITH_ARIA_256_GCM_SHA384
0xC06F

TLS 1.2

MBEDTLS_TLS_ECDHE_PSK_WITH_ARIA_128_CBC_SHA256
0xC070

TLS 1.2

MBEDTLS_TLS_ECDHE_PSK_WITH_ARIA_256_CBC_SHA384
0xC071

TLS 1.2

MBEDTLS_TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_CBC_SHA256
0xC072
MBEDTLS_TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_CBC_SHA384
0xC073
MBEDTLS_TLS_ECDH_ECDSA_WITH_CAMELLIA_128_CBC_SHA256
0xC074
MBEDTLS_TLS_ECDH_ECDSA_WITH_CAMELLIA_256_CBC_SHA384
0xC075
MBEDTLS_TLS_ECDHE_RSA_WITH_CAMELLIA_128_CBC_SHA256
0xC076
MBEDTLS_TLS_ECDHE_RSA_WITH_CAMELLIA_256_CBC_SHA384
0xC077
MBEDTLS_TLS_ECDH_RSA_WITH_CAMELLIA_128_CBC_SHA256
0xC078
MBEDTLS_TLS_ECDH_RSA_WITH_CAMELLIA_256_CBC_SHA384
0xC079
MBEDTLS_TLS_RSA_WITH_CAMELLIA_128_GCM_SHA256
0xC07A

TLS 1.2

MBEDTLS_TLS_RSA_WITH_CAMELLIA_256_GCM_SHA384
0xC07B

TLS 1.2

MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_128_GCM_SHA256
0xC07C

TLS 1.2

MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_256_GCM_SHA384
0xC07D

TLS 1.2

MBEDTLS_TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_GCM_SHA256
0xC086

TLS 1.2

MBEDTLS_TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_GCM_SHA384
0xC087

TLS 1.2

MBEDTLS_TLS_ECDH_ECDSA_WITH_CAMELLIA_128_GCM_SHA256
0xC088

TLS 1.2

MBEDTLS_TLS_ECDH_ECDSA_WITH_CAMELLIA_256_GCM_SHA384
0xC089

TLS 1.2

MBEDTLS_TLS_ECDHE_RSA_WITH_CAMELLIA_128_GCM_SHA256
0xC08A

TLS 1.2

MBEDTLS_TLS_ECDHE_RSA_WITH_CAMELLIA_256_GCM_SHA384
0xC08B

TLS 1.2

MBEDTLS_TLS_ECDH_RSA_WITH_CAMELLIA_128_GCM_SHA256
0xC08C

TLS 1.2

MBEDTLS_TLS_ECDH_RSA_WITH_CAMELLIA_256_GCM_SHA384
0xC08D

TLS 1.2

MBEDTLS_TLS_PSK_WITH_CAMELLIA_128_GCM_SHA256
0xC08E

TLS 1.2

MBEDTLS_TLS_PSK_WITH_CAMELLIA_256_GCM_SHA384
0xC08F

TLS 1.2

MBEDTLS_TLS_DHE_PSK_WITH_CAMELLIA_128_GCM_SHA256
0xC090

TLS 1.2

MBEDTLS_TLS_DHE_PSK_WITH_CAMELLIA_256_GCM_SHA384
0xC091

TLS 1.2

MBEDTLS_TLS_RSA_PSK_WITH_CAMELLIA_128_GCM_SHA256
0xC092

TLS 1.2

MBEDTLS_TLS_RSA_PSK_WITH_CAMELLIA_256_GCM_SHA384
0xC093

TLS 1.2

MBEDTLS_TLS_PSK_WITH_CAMELLIA_128_CBC_SHA256
0xC094
MBEDTLS_TLS_PSK_WITH_CAMELLIA_256_CBC_SHA384
0xC095
MBEDTLS_TLS_DHE_PSK_WITH_CAMELLIA_128_CBC_SHA256
0xC096
MBEDTLS_TLS_DHE_PSK_WITH_CAMELLIA_256_CBC_SHA384
0xC097
MBEDTLS_TLS_RSA_PSK_WITH_CAMELLIA_128_CBC_SHA256
0xC098
MBEDTLS_TLS_RSA_PSK_WITH_CAMELLIA_256_CBC_SHA384
0xC099
MBEDTLS_TLS_ECDHE_PSK_WITH_CAMELLIA_128_CBC_SHA256
0xC09A
MBEDTLS_TLS_ECDHE_PSK_WITH_CAMELLIA_256_CBC_SHA384
0xC09B
MBEDTLS_TLS_RSA_WITH_AES_128_CCM
0xC09C

TLS 1.2

MBEDTLS_TLS_RSA_WITH_AES_256_CCM
0xC09D

TLS 1.2

MBEDTLS_TLS_DHE_RSA_WITH_AES_128_CCM
0xC09E

TLS 1.2

MBEDTLS_TLS_DHE_RSA_WITH_AES_256_CCM
0xC09F

TLS 1.2

MBEDTLS_TLS_RSA_WITH_AES_128_CCM_8
0xC0A0

TLS 1.2

MBEDTLS_TLS_RSA_WITH_AES_256_CCM_8
0xC0A1

TLS 1.2

MBEDTLS_TLS_DHE_RSA_WITH_AES_128_CCM_8
0xC0A2

TLS 1.2

MBEDTLS_TLS_DHE_RSA_WITH_AES_256_CCM_8
0xC0A3

TLS 1.2

MBEDTLS_TLS_PSK_WITH_AES_128_CCM
0xC0A4

TLS 1.2

MBEDTLS_TLS_PSK_WITH_AES_256_CCM
0xC0A5

TLS 1.2

MBEDTLS_TLS_DHE_PSK_WITH_AES_128_CCM
0xC0A6

TLS 1.2

MBEDTLS_TLS_DHE_PSK_WITH_AES_256_CCM
0xC0A7

TLS 1.2

MBEDTLS_TLS_PSK_WITH_AES_128_CCM_8
0xC0A8

TLS 1.2

MBEDTLS_TLS_PSK_WITH_AES_256_CCM_8
0xC0A9

TLS 1.2

MBEDTLS_TLS_DHE_PSK_WITH_AES_128_CCM_8
0xC0AA

TLS 1.2

MBEDTLS_TLS_DHE_PSK_WITH_AES_256_CCM_8
0xC0AB

TLS 1.2

MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_128_CCM
0xC0AC

TLS 1.2

MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_256_CCM
0xC0AD

TLS 1.2

MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8
0xC0AE

TLS 1.2

MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_256_CCM_8
0xC0AF

TLS 1.2

MBEDTLS_TLS_ECJPAKE_WITH_AES_128_CCM_8
0xC0FF

experimental

MBEDTLS_TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256
0xCCA8

TLS 1.2

MBEDTLS_TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256
0xCCA9

TLS 1.2

MBEDTLS_TLS_DHE_RSA_WITH_CHACHA20_POLY1305_SHA256
0xCCAA

TLS 1.2

MBEDTLS_TLS_PSK_WITH_CHACHA20_POLY1305_SHA256
0xCCAB

TLS 1.2

MBEDTLS_TLS_ECDHE_PSK_WITH_CHACHA20_POLY1305_SHA256
0xCCAC

TLS 1.2

MBEDTLS_TLS_DHE_PSK_WITH_CHACHA20_POLY1305_SHA256
0xCCAD

TLS 1.2

MBEDTLS_TLS_RSA_PSK_WITH_CHACHA20_POLY1305_SHA256
0xCCAE

TLS 1.2

MBEDTLS_TLS1_3_AES_128_GCM_SHA256
0x1301

TLS 1.3

MBEDTLS_TLS1_3_AES_256_GCM_SHA384
0x1302

TLS 1.3

MBEDTLS_TLS1_3_CHACHA20_POLY1305_SHA256
0x1303

TLS 1.3

MBEDTLS_TLS1_3_AES_128_CCM_SHA256
0x1304

TLS 1.3

MBEDTLS_TLS1_3_AES_128_CCM_8_SHA256
0x1305

TLS 1.3

MBEDTLS_KEY_EXCHANGE_WITH_CERT_ENABLED
MBEDTLS_KEY_EXCHANGE_WITH_ECDSA_ANY_ENABLED
MBEDTLS_SSL_HANDSHAKE_WITH_CERT_ENABLED
MBEDTLS_KEY_EXCHANGE_CERT_REQ_ALLOWED_ENABLED
MBEDTLS_KEY_EXCHANGE_ECDSA_CERT_REQ_ALLOWED_ENABLED
MBEDTLS_KEY_EXCHANGE_ECDSA_CERT_REQ_ANY_ALLOWED_ENABLED
MBEDTLS_KEY_EXCHANGE_WITH_SERVER_SIGNATURE_ENABLED
MBEDTLS_KEY_EXCHANGE_SOME_ECDH_ENABLED
MBEDTLS_KEY_EXCHANGE_SOME_NON_PFS_ENABLED
MBEDTLS_KEY_EXCHANGE_SOME_PFS_ENABLED
MBEDTLS_KEY_EXCHANGE_SOME_PSK_ENABLED
MBEDTLS_KEY_EXCHANGE_SOME_DHE_ENABLED
MBEDTLS_KEY_EXCHANGE_SOME_ECDHE_ENABLED
MBEDTLS_KEY_EXCHANGE_SOME_ECDH_OR_ECDHE_1_2_ENABLED
MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_SOME_PSK_ENABLED
MBEDTLS_SSL_HANDSHAKE_WITH_PSK_ENABLED
MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_SOME_EPHEMERAL_ENABLED
MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_SOME_ECDHE_ENABLED
MBEDTLS_KEY_EXCHANGE_SOME_ECDH_OR_ECDHE_ANY_ENABLED
MBEDTLS_KEY_EXCHANGE_SOME_XXDH_1_2_ENABLED
MBEDTLS_KEY_EXCHANGE_SOME_XXDH_PSA_ANY_ENABLED
MBEDTLS_CIPHERSUITE_WEAK
0x01

Weak ciphersuite flag

MBEDTLS_CIPHERSUITE_SHORT_TAG
0x02

Short authentication tag, eg for CCM_8

MBEDTLS_CIPHERSUITE_NODTLS
0x04

Can't be used with DTLS

mbedtls_key_exchange_type_t
MBEDTLS_KEY_EXCHANGE_NONE
= 0
MBEDTLS_KEY_EXCHANGE_RSA
MBEDTLS_KEY_EXCHANGE_DHE_RSA
MBEDTLS_KEY_EXCHANGE_ECDHE_RSA
MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA
MBEDTLS_KEY_EXCHANGE_PSK
MBEDTLS_KEY_EXCHANGE_DHE_PSK
MBEDTLS_KEY_EXCHANGE_RSA_PSK
MBEDTLS_KEY_EXCHANGE_ECDHE_PSK
MBEDTLS_KEY_EXCHANGE_ECDH_RSA
MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA
MBEDTLS_KEY_EXCHANGE_ECJPAKE
struct mbedtls_ssl_ciphersuite_t typedef struct mbedtls_ssl_ciphersuite_t mbedtls_ssl_ciphersuite_t mbedtls_ssl_ciphersuite_t
const int * const int * mbedtls_ssl_list_ciphersuites (void) mbedtls_ssl_list_ciphersuites void
const mbedtls_ssl_ciphersuite_t * const mbedtls_ssl_ciphersuite_t * mbedtls_ssl_ciphersuite_from_string (const char *ciphersuite_name) mbedtls_ssl_ciphersuite_from_string const char * ciphersuite_name
const mbedtls_ssl_ciphersuite_t * const mbedtls_ssl_ciphersuite_t * mbedtls_ssl_ciphersuite_from_id (int ciphersuite_id) mbedtls_ssl_ciphersuite_from_id int ciphersuite_id
const char * static const char * mbedtls_ssl_ciphersuite_get_name (const mbedtls_ssl_ciphersuite_t *info) mbedtls_ssl_ciphersuite_get_name const mbedtls_ssl_ciphersuite_t * info
int static int mbedtls_ssl_ciphersuite_get_id (const mbedtls_ssl_ciphersuite_t *info) mbedtls_ssl_ciphersuite_get_id const mbedtls_ssl_ciphersuite_t * info
size_t size_t mbedtls_ssl_ciphersuite_get_cipher_key_bitlen (const mbedtls_ssl_ciphersuite_t *info) mbedtls_ssl_ciphersuite_get_cipher_key_bitlen const mbedtls_ssl_ciphersuite_t * info

SSL Ciphersuites for Mbed TLS.

    /*
    *CopyrightTheMbedTLSContributors
    *SPDX-License-Identifier:Apache-2.0ORGPL-2.0-or-later
    */
    #ifndefMBEDTLS_SSL_CIPHERSUITES_H
    #defineMBEDTLS_SSL_CIPHERSUITES_H
    #include"mbedtls/private_access.h"

    #include"mbedtls/build_info.h"

    #include"mbedtls/pk.h"
    #include"mbedtls/cipher.h"
    #include"mbedtls/md.h"

    #ifdef__cplusplus
    extern"C"{
    #endif

    /*
    *Supportedciphersuites(OfficialIANAnames)
    */
    #defineMBEDTLS_TLS_RSA_WITH_NULL_MD50x01
    #defineMBEDTLS_TLS_RSA_WITH_NULL_SHA0x02

    #defineMBEDTLS_TLS_PSK_WITH_NULL_SHA0x2C
    #defineMBEDTLS_TLS_DHE_PSK_WITH_NULL_SHA0x2D
    #defineMBEDTLS_TLS_RSA_PSK_WITH_NULL_SHA0x2E
    #defineMBEDTLS_TLS_RSA_WITH_AES_128_CBC_SHA0x2F

    #defineMBEDTLS_TLS_DHE_RSA_WITH_AES_128_CBC_SHA0x33
    #defineMBEDTLS_TLS_RSA_WITH_AES_256_CBC_SHA0x35
    #defineMBEDTLS_TLS_DHE_RSA_WITH_AES_256_CBC_SHA0x39

    #defineMBEDTLS_TLS_RSA_WITH_NULL_SHA2560x3B
    #defineMBEDTLS_TLS_RSA_WITH_AES_128_CBC_SHA2560x3C
    #defineMBEDTLS_TLS_RSA_WITH_AES_256_CBC_SHA2560x3D

    #defineMBEDTLS_TLS_RSA_WITH_CAMELLIA_128_CBC_SHA0x41
    #defineMBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA0x45

    #defineMBEDTLS_TLS_DHE_RSA_WITH_AES_128_CBC_SHA2560x67
    #defineMBEDTLS_TLS_DHE_RSA_WITH_AES_256_CBC_SHA2560x6B

    #defineMBEDTLS_TLS_RSA_WITH_CAMELLIA_256_CBC_SHA0x84
    #defineMBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA0x88

    #defineMBEDTLS_TLS_PSK_WITH_AES_128_CBC_SHA0x8C
    #defineMBEDTLS_TLS_PSK_WITH_AES_256_CBC_SHA0x8D

    #defineMBEDTLS_TLS_DHE_PSK_WITH_AES_128_CBC_SHA0x90
    #defineMBEDTLS_TLS_DHE_PSK_WITH_AES_256_CBC_SHA0x91

    #defineMBEDTLS_TLS_RSA_PSK_WITH_AES_128_CBC_SHA0x94
    #defineMBEDTLS_TLS_RSA_PSK_WITH_AES_256_CBC_SHA0x95

    #defineMBEDTLS_TLS_RSA_WITH_AES_128_GCM_SHA2560x9C
    #defineMBEDTLS_TLS_RSA_WITH_AES_256_GCM_SHA3840x9D
    #defineMBEDTLS_TLS_DHE_RSA_WITH_AES_128_GCM_SHA2560x9E
    #defineMBEDTLS_TLS_DHE_RSA_WITH_AES_256_GCM_SHA3840x9F

    #defineMBEDTLS_TLS_PSK_WITH_AES_128_GCM_SHA2560xA8
    #defineMBEDTLS_TLS_PSK_WITH_AES_256_GCM_SHA3840xA9
    #defineMBEDTLS_TLS_DHE_PSK_WITH_AES_128_GCM_SHA2560xAA
    #defineMBEDTLS_TLS_DHE_PSK_WITH_AES_256_GCM_SHA3840xAB
    #defineMBEDTLS_TLS_RSA_PSK_WITH_AES_128_GCM_SHA2560xAC
    #defineMBEDTLS_TLS_RSA_PSK_WITH_AES_256_GCM_SHA3840xAD

    #defineMBEDTLS_TLS_PSK_WITH_AES_128_CBC_SHA2560xAE
    #defineMBEDTLS_TLS_PSK_WITH_AES_256_CBC_SHA3840xAF
    #defineMBEDTLS_TLS_PSK_WITH_NULL_SHA2560xB0
    #defineMBEDTLS_TLS_PSK_WITH_NULL_SHA3840xB1

    #defineMBEDTLS_TLS_DHE_PSK_WITH_AES_128_CBC_SHA2560xB2
    #defineMBEDTLS_TLS_DHE_PSK_WITH_AES_256_CBC_SHA3840xB3
    #defineMBEDTLS_TLS_DHE_PSK_WITH_NULL_SHA2560xB4
    #defineMBEDTLS_TLS_DHE_PSK_WITH_NULL_SHA3840xB5

    #defineMBEDTLS_TLS_RSA_PSK_WITH_AES_128_CBC_SHA2560xB6
    #defineMBEDTLS_TLS_RSA_PSK_WITH_AES_256_CBC_SHA3840xB7
    #defineMBEDTLS_TLS_RSA_PSK_WITH_NULL_SHA2560xB8
    #defineMBEDTLS_TLS_RSA_PSK_WITH_NULL_SHA3840xB9

    #defineMBEDTLS_TLS_RSA_WITH_CAMELLIA_128_CBC_SHA2560xBA
    #defineMBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA2560xBE

    #defineMBEDTLS_TLS_RSA_WITH_CAMELLIA_256_CBC_SHA2560xC0
    #defineMBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA2560xC4

    #defineMBEDTLS_TLS_ECDH_ECDSA_WITH_NULL_SHA0xC001
    #defineMBEDTLS_TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA0xC004
    #defineMBEDTLS_TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA0xC005

    #defineMBEDTLS_TLS_ECDHE_ECDSA_WITH_NULL_SHA0xC006
    #defineMBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA0xC009
    #defineMBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA0xC00A

    #defineMBEDTLS_TLS_ECDH_RSA_WITH_NULL_SHA0xC00B
    #defineMBEDTLS_TLS_ECDH_RSA_WITH_AES_128_CBC_SHA0xC00E
    #defineMBEDTLS_TLS_ECDH_RSA_WITH_AES_256_CBC_SHA0xC00F

    #defineMBEDTLS_TLS_ECDHE_RSA_WITH_NULL_SHA0xC010
    #defineMBEDTLS_TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA0xC013
    #defineMBEDTLS_TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA0xC014

    #defineMBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA2560xC023
    #defineMBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA3840xC024
    #defineMBEDTLS_TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA2560xC025
    #defineMBEDTLS_TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA3840xC026
    #defineMBEDTLS_TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA2560xC027
    #defineMBEDTLS_TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA3840xC028
    #defineMBEDTLS_TLS_ECDH_RSA_WITH_AES_128_CBC_SHA2560xC029
    #defineMBEDTLS_TLS_ECDH_RSA_WITH_AES_256_CBC_SHA3840xC02A

    #defineMBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA2560xC02B
    #defineMBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA3840xC02C
    #defineMBEDTLS_TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA2560xC02D
    #defineMBEDTLS_TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA3840xC02E
    #defineMBEDTLS_TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA2560xC02F
    #defineMBEDTLS_TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA3840xC030
    #defineMBEDTLS_TLS_ECDH_RSA_WITH_AES_128_GCM_SHA2560xC031
    #defineMBEDTLS_TLS_ECDH_RSA_WITH_AES_256_GCM_SHA3840xC032

    #defineMBEDTLS_TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA0xC035
    #defineMBEDTLS_TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA0xC036
    #defineMBEDTLS_TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA2560xC037
    #defineMBEDTLS_TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA3840xC038
    #defineMBEDTLS_TLS_ECDHE_PSK_WITH_NULL_SHA0xC039
    #defineMBEDTLS_TLS_ECDHE_PSK_WITH_NULL_SHA2560xC03A
    #defineMBEDTLS_TLS_ECDHE_PSK_WITH_NULL_SHA3840xC03B

    #defineMBEDTLS_TLS_RSA_WITH_ARIA_128_CBC_SHA2560xC03C
    #defineMBEDTLS_TLS_RSA_WITH_ARIA_256_CBC_SHA3840xC03D
    #defineMBEDTLS_TLS_DHE_RSA_WITH_ARIA_128_CBC_SHA2560xC044
    #defineMBEDTLS_TLS_DHE_RSA_WITH_ARIA_256_CBC_SHA3840xC045
    #defineMBEDTLS_TLS_ECDHE_ECDSA_WITH_ARIA_128_CBC_SHA2560xC048
    #defineMBEDTLS_TLS_ECDHE_ECDSA_WITH_ARIA_256_CBC_SHA3840xC049
    #defineMBEDTLS_TLS_ECDH_ECDSA_WITH_ARIA_128_CBC_SHA2560xC04A
    #defineMBEDTLS_TLS_ECDH_ECDSA_WITH_ARIA_256_CBC_SHA3840xC04B
    #defineMBEDTLS_TLS_ECDHE_RSA_WITH_ARIA_128_CBC_SHA2560xC04C
    #defineMBEDTLS_TLS_ECDHE_RSA_WITH_ARIA_256_CBC_SHA3840xC04D
    #defineMBEDTLS_TLS_ECDH_RSA_WITH_ARIA_128_CBC_SHA2560xC04E
    #defineMBEDTLS_TLS_ECDH_RSA_WITH_ARIA_256_CBC_SHA3840xC04F
    #defineMBEDTLS_TLS_RSA_WITH_ARIA_128_GCM_SHA2560xC050
    #defineMBEDTLS_TLS_RSA_WITH_ARIA_256_GCM_SHA3840xC051
    #defineMBEDTLS_TLS_DHE_RSA_WITH_ARIA_128_GCM_SHA2560xC052
    #defineMBEDTLS_TLS_DHE_RSA_WITH_ARIA_256_GCM_SHA3840xC053
    #defineMBEDTLS_TLS_ECDHE_ECDSA_WITH_ARIA_128_GCM_SHA2560xC05C
    #defineMBEDTLS_TLS_ECDHE_ECDSA_WITH_ARIA_256_GCM_SHA3840xC05D
    #defineMBEDTLS_TLS_ECDH_ECDSA_WITH_ARIA_128_GCM_SHA2560xC05E
    #defineMBEDTLS_TLS_ECDH_ECDSA_WITH_ARIA_256_GCM_SHA3840xC05F
    #defineMBEDTLS_TLS_ECDHE_RSA_WITH_ARIA_128_GCM_SHA2560xC060
    #defineMBEDTLS_TLS_ECDHE_RSA_WITH_ARIA_256_GCM_SHA3840xC061
    #defineMBEDTLS_TLS_ECDH_RSA_WITH_ARIA_128_GCM_SHA2560xC062
    #defineMBEDTLS_TLS_ECDH_RSA_WITH_ARIA_256_GCM_SHA3840xC063
    #defineMBEDTLS_TLS_PSK_WITH_ARIA_128_CBC_SHA2560xC064
    #defineMBEDTLS_TLS_PSK_WITH_ARIA_256_CBC_SHA3840xC065
    #defineMBEDTLS_TLS_DHE_PSK_WITH_ARIA_128_CBC_SHA2560xC066
    #defineMBEDTLS_TLS_DHE_PSK_WITH_ARIA_256_CBC_SHA3840xC067
    #defineMBEDTLS_TLS_RSA_PSK_WITH_ARIA_128_CBC_SHA2560xC068
    #defineMBEDTLS_TLS_RSA_PSK_WITH_ARIA_256_CBC_SHA3840xC069
    #defineMBEDTLS_TLS_PSK_WITH_ARIA_128_GCM_SHA2560xC06A
    #defineMBEDTLS_TLS_PSK_WITH_ARIA_256_GCM_SHA3840xC06B
    #defineMBEDTLS_TLS_DHE_PSK_WITH_ARIA_128_GCM_SHA2560xC06C
    #defineMBEDTLS_TLS_DHE_PSK_WITH_ARIA_256_GCM_SHA3840xC06D
    #defineMBEDTLS_TLS_RSA_PSK_WITH_ARIA_128_GCM_SHA2560xC06E
    #defineMBEDTLS_TLS_RSA_PSK_WITH_ARIA_256_GCM_SHA3840xC06F
    #defineMBEDTLS_TLS_ECDHE_PSK_WITH_ARIA_128_CBC_SHA2560xC070
    #defineMBEDTLS_TLS_ECDHE_PSK_WITH_ARIA_256_CBC_SHA3840xC071

    #defineMBEDTLS_TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_CBC_SHA2560xC072
    #defineMBEDTLS_TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_CBC_SHA3840xC073
    #defineMBEDTLS_TLS_ECDH_ECDSA_WITH_CAMELLIA_128_CBC_SHA2560xC074
    #defineMBEDTLS_TLS_ECDH_ECDSA_WITH_CAMELLIA_256_CBC_SHA3840xC075
    #defineMBEDTLS_TLS_ECDHE_RSA_WITH_CAMELLIA_128_CBC_SHA2560xC076
    #defineMBEDTLS_TLS_ECDHE_RSA_WITH_CAMELLIA_256_CBC_SHA3840xC077
    #defineMBEDTLS_TLS_ECDH_RSA_WITH_CAMELLIA_128_CBC_SHA2560xC078
    #defineMBEDTLS_TLS_ECDH_RSA_WITH_CAMELLIA_256_CBC_SHA3840xC079

    #defineMBEDTLS_TLS_RSA_WITH_CAMELLIA_128_GCM_SHA2560xC07A
    #defineMBEDTLS_TLS_RSA_WITH_CAMELLIA_256_GCM_SHA3840xC07B
    #defineMBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_128_GCM_SHA2560xC07C
    #defineMBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_256_GCM_SHA3840xC07D
    #defineMBEDTLS_TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_GCM_SHA2560xC086
    #defineMBEDTLS_TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_GCM_SHA3840xC087
    #defineMBEDTLS_TLS_ECDH_ECDSA_WITH_CAMELLIA_128_GCM_SHA2560xC088
    #defineMBEDTLS_TLS_ECDH_ECDSA_WITH_CAMELLIA_256_GCM_SHA3840xC089
    #defineMBEDTLS_TLS_ECDHE_RSA_WITH_CAMELLIA_128_GCM_SHA2560xC08A
    #defineMBEDTLS_TLS_ECDHE_RSA_WITH_CAMELLIA_256_GCM_SHA3840xC08B
    #defineMBEDTLS_TLS_ECDH_RSA_WITH_CAMELLIA_128_GCM_SHA2560xC08C
    #defineMBEDTLS_TLS_ECDH_RSA_WITH_CAMELLIA_256_GCM_SHA3840xC08D

    #defineMBEDTLS_TLS_PSK_WITH_CAMELLIA_128_GCM_SHA2560xC08E
    #defineMBEDTLS_TLS_PSK_WITH_CAMELLIA_256_GCM_SHA3840xC08F
    #defineMBEDTLS_TLS_DHE_PSK_WITH_CAMELLIA_128_GCM_SHA2560xC090
    #defineMBEDTLS_TLS_DHE_PSK_WITH_CAMELLIA_256_GCM_SHA3840xC091
    #defineMBEDTLS_TLS_RSA_PSK_WITH_CAMELLIA_128_GCM_SHA2560xC092
    #defineMBEDTLS_TLS_RSA_PSK_WITH_CAMELLIA_256_GCM_SHA3840xC093

    #defineMBEDTLS_TLS_PSK_WITH_CAMELLIA_128_CBC_SHA2560xC094
    #defineMBEDTLS_TLS_PSK_WITH_CAMELLIA_256_CBC_SHA3840xC095
    #defineMBEDTLS_TLS_DHE_PSK_WITH_CAMELLIA_128_CBC_SHA2560xC096
    #defineMBEDTLS_TLS_DHE_PSK_WITH_CAMELLIA_256_CBC_SHA3840xC097
    #defineMBEDTLS_TLS_RSA_PSK_WITH_CAMELLIA_128_CBC_SHA2560xC098
    #defineMBEDTLS_TLS_RSA_PSK_WITH_CAMELLIA_256_CBC_SHA3840xC099
    #defineMBEDTLS_TLS_ECDHE_PSK_WITH_CAMELLIA_128_CBC_SHA2560xC09A
    #defineMBEDTLS_TLS_ECDHE_PSK_WITH_CAMELLIA_256_CBC_SHA3840xC09B

    #defineMBEDTLS_TLS_RSA_WITH_AES_128_CCM0xC09C
    #defineMBEDTLS_TLS_RSA_WITH_AES_256_CCM0xC09D
    #defineMBEDTLS_TLS_DHE_RSA_WITH_AES_128_CCM0xC09E
    #defineMBEDTLS_TLS_DHE_RSA_WITH_AES_256_CCM0xC09F
    #defineMBEDTLS_TLS_RSA_WITH_AES_128_CCM_80xC0A0
    #defineMBEDTLS_TLS_RSA_WITH_AES_256_CCM_80xC0A1
    #defineMBEDTLS_TLS_DHE_RSA_WITH_AES_128_CCM_80xC0A2
    #defineMBEDTLS_TLS_DHE_RSA_WITH_AES_256_CCM_80xC0A3
    #defineMBEDTLS_TLS_PSK_WITH_AES_128_CCM0xC0A4
    #defineMBEDTLS_TLS_PSK_WITH_AES_256_CCM0xC0A5
    #defineMBEDTLS_TLS_DHE_PSK_WITH_AES_128_CCM0xC0A6
    #defineMBEDTLS_TLS_DHE_PSK_WITH_AES_256_CCM0xC0A7
    #defineMBEDTLS_TLS_PSK_WITH_AES_128_CCM_80xC0A8
    #defineMBEDTLS_TLS_PSK_WITH_AES_256_CCM_80xC0A9
    #defineMBEDTLS_TLS_DHE_PSK_WITH_AES_128_CCM_80xC0AA
    #defineMBEDTLS_TLS_DHE_PSK_WITH_AES_256_CCM_80xC0AB
    /*ThelasttwoarenamedwithPSK_DHEintheRFC,whichlookslikeatypo*/

    #defineMBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_128_CCM0xC0AC
    #defineMBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_256_CCM0xC0AD
    #defineMBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_128_CCM_80xC0AE
    #defineMBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_256_CCM_80xC0AF

    #defineMBEDTLS_TLS_ECJPAKE_WITH_AES_128_CCM_80xC0FF

    /*RFC7905*/
    #defineMBEDTLS_TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA2560xCCA8
    #defineMBEDTLS_TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA2560xCCA9
    #defineMBEDTLS_TLS_DHE_RSA_WITH_CHACHA20_POLY1305_SHA2560xCCAA
    #defineMBEDTLS_TLS_PSK_WITH_CHACHA20_POLY1305_SHA2560xCCAB
    #defineMBEDTLS_TLS_ECDHE_PSK_WITH_CHACHA20_POLY1305_SHA2560xCCAC
    #defineMBEDTLS_TLS_DHE_PSK_WITH_CHACHA20_POLY1305_SHA2560xCCAD
    #defineMBEDTLS_TLS_RSA_PSK_WITH_CHACHA20_POLY1305_SHA2560xCCAE

    /*RFC8446,AppendixB.4*/
    #defineMBEDTLS_TLS1_3_AES_128_GCM_SHA2560x1301
    #defineMBEDTLS_TLS1_3_AES_256_GCM_SHA3840x1302
    #defineMBEDTLS_TLS1_3_CHACHA20_POLY1305_SHA2560x1303
    #defineMBEDTLS_TLS1_3_AES_128_CCM_SHA2560x1304
    #defineMBEDTLS_TLS1_3_AES_128_CCM_8_SHA2560x1305

    /*Reminder:updatembedtls_ssl_premaster_secretwhenaddinganewkeyexchange.
    *Reminder:updateMBEDTLS_KEY_EXCHANGE__xxxbelow
    */
    typedefenum{
    MBEDTLS_KEY_EXCHANGE_NONE=0,
    MBEDTLS_KEY_EXCHANGE_RSA,
    MBEDTLS_KEY_EXCHANGE_DHE_RSA,
    MBEDTLS_KEY_EXCHANGE_ECDHE_RSA,
    MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA,
    MBEDTLS_KEY_EXCHANGE_PSK,
    MBEDTLS_KEY_EXCHANGE_DHE_PSK,
    MBEDTLS_KEY_EXCHANGE_RSA_PSK,
    MBEDTLS_KEY_EXCHANGE_ECDHE_PSK,
    MBEDTLS_KEY_EXCHANGE_ECDH_RSA,
    MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA,
    MBEDTLS_KEY_EXCHANGE_ECJPAKE,
    }mbedtls_key_exchange_type_t;

    /*Keyexchangesusingacertificate*/
    #ifdefined(MBEDTLS_KEY_EXCHANGE_RSA_ENABLED)||\
    defined(MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED)||\
    defined(MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED)||\
    defined(MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED)||\
    defined(MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED)||\
    defined(MBEDTLS_KEY_EXCHANGE_ECDH_RSA_ENABLED)||\
    defined(MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED)
    #defineMBEDTLS_KEY_EXCHANGE_WITH_CERT_ENABLED
    #endif

    /*KeyexchangesineitherTLS1.2or1.3whichareusinganECDSA
    *signature*/
    #ifdefined(MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED)||\
    defined(MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED)
    #defineMBEDTLS_KEY_EXCHANGE_WITH_ECDSA_ANY_ENABLED
    #endif

    #ifdefined(MBEDTLS_KEY_EXCHANGE_WITH_CERT_ENABLED)||\
    defined(MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED)
    #defineMBEDTLS_SSL_HANDSHAKE_WITH_CERT_ENABLED
    #endif

    /*Keyexchangesallowingclientcertificaterequests.
    *
    *Note:that'salmostthesameasMBEDTLS_KEY_EXCHANGE_WITH_CERT_ENABLED
    *above,exceptRSA-PSKusesaservercertificatebutnoclientcert.
    *
    *Note:thisdifferenceisspecifictoTLS1.2,aswithTLS1.3,thingsare
    *moresymmetrical:clientcertsandservercertsareeitherbothallowed
    *(Ephemeralmode)orbothdisallowed(PSKandPKS-Ephemeralmodes).
    */
    #ifdefined(MBEDTLS_KEY_EXCHANGE_RSA_ENABLED)||\
    defined(MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED)||\
    defined(MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED)||\
    defined(MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED)||\
    defined(MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED)||\
    defined(MBEDTLS_KEY_EXCHANGE_ECDH_RSA_ENABLED)
    #defineMBEDTLS_KEY_EXCHANGE_CERT_REQ_ALLOWED_ENABLED
    #endif

    /*Helpertostatethatcertificate-basedclientauthenticationthroughECDSA
    *issupportedinTLS1.2*/
    #ifdefined(MBEDTLS_KEY_EXCHANGE_CERT_REQ_ALLOWED_ENABLED)&&\
    defined(MBEDTLS_PK_CAN_ECDSA_SIGN)&&defined(MBEDTLS_PK_CAN_ECDSA_VERIFY)
    #defineMBEDTLS_KEY_EXCHANGE_ECDSA_CERT_REQ_ALLOWED_ENABLED
    #endif

    /*ECDSArequiredforcertificatesineitherTLS1.2or1.3*/
    #ifdefined(MBEDTLS_KEY_EXCHANGE_ECDSA_CERT_REQ_ALLOWED_ENABLED)||\
    defined(MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED)
    #defineMBEDTLS_KEY_EXCHANGE_ECDSA_CERT_REQ_ANY_ALLOWED_ENABLED
    #endif

    /*KeyexchangesinvolvingserversignatureinServerKeyExchange*/
    #ifdefined(MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED)||\
    defined(MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED)||\
    defined(MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED)
    #defineMBEDTLS_KEY_EXCHANGE_WITH_SERVER_SIGNATURE_ENABLED
    #endif

    /*KeyexchangesusingECDH*/
    #ifdefined(MBEDTLS_KEY_EXCHANGE_ECDH_RSA_ENABLED)||\
    defined(MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED)
    #defineMBEDTLS_KEY_EXCHANGE_SOME_ECDH_ENABLED
    #endif

    /*Keyexchangesthatdon'tinvolveephemeralkeys*/
    #ifdefined(MBEDTLS_KEY_EXCHANGE_RSA_ENABLED)||\
    defined(MBEDTLS_KEY_EXCHANGE_PSK_ENABLED)||\
    defined(MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED)||\
    defined(MBEDTLS_KEY_EXCHANGE_SOME_ECDH_ENABLED)
    #defineMBEDTLS_KEY_EXCHANGE_SOME_NON_PFS_ENABLED
    #endif

    /*Keyexchangesthatinvolveephemeralkeys*/
    #ifdefined(MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED)||\
    defined(MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED)||\
    defined(MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED)||\
    defined(MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED)||\
    defined(MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED)||\
    defined(MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED)
    #defineMBEDTLS_KEY_EXCHANGE_SOME_PFS_ENABLED
    #endif

    /*KeyexchangesusingaPSK*/
    #ifdefined(MBEDTLS_KEY_EXCHANGE_PSK_ENABLED)||\
    defined(MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED)||\
    defined(MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED)||\
    defined(MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED)
    #defineMBEDTLS_KEY_EXCHANGE_SOME_PSK_ENABLED
    #endif

    /*KeyexchangesusingDHE*/
    #ifdefined(MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED)||\
    defined(MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED)
    #defineMBEDTLS_KEY_EXCHANGE_SOME_DHE_ENABLED
    #endif

    /*KeyexchangesusingECDHE*/
    #ifdefined(MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED)||\
    defined(MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED)||\
    defined(MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED)
    #defineMBEDTLS_KEY_EXCHANGE_SOME_ECDHE_ENABLED
    #endif

    /*TLS1.2keyexchangesusingECDHorECDHE*/
    #ifdefined(MBEDTLS_KEY_EXCHANGE_SOME_ECDH_ENABLED)||\
    defined(MBEDTLS_KEY_EXCHANGE_SOME_ECDHE_ENABLED)
    #defineMBEDTLS_KEY_EXCHANGE_SOME_ECDH_OR_ECDHE_1_2_ENABLED
    #endif

    /*TLS1.3PSKkeyexchanges*/
    #ifdefined(MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED)||\
    defined(MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED)
    #defineMBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_SOME_PSK_ENABLED
    #endif

    /*TLS1.2or1.3keyexchangeswithPSK*/
    #ifdefined(MBEDTLS_KEY_EXCHANGE_SOME_PSK_ENABLED)||\
    defined(MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_SOME_PSK_ENABLED)
    #defineMBEDTLS_SSL_HANDSHAKE_WITH_PSK_ENABLED
    #endif

    /*TLS1.3ephemeralkeyexchanges*/
    #ifdefined(MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED)||\
    defined(MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED)
    #defineMBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_SOME_EPHEMERAL_ENABLED
    #endif

    /*TLS1.3keyexchangesusingECDHE*/
    #ifdefined(MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_SOME_EPHEMERAL_ENABLED)&&\
    defined(PSA_WANT_ALG_ECDH)
    #defineMBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_SOME_ECDHE_ENABLED
    #endif

    /*TLS1.2or1.3keyexchangesusingECDHorECDHE*/
    #ifdefined(MBEDTLS_KEY_EXCHANGE_SOME_ECDH_OR_ECDHE_1_2_ENABLED)||\
    defined(MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_SOME_ECDHE_ENABLED)
    #defineMBEDTLS_KEY_EXCHANGE_SOME_ECDH_OR_ECDHE_ANY_ENABLED
    #endif

    /*TLS1.2XXDHkeyexchanges:ECDHorECDHEorFFDH*/
    #if(defined(MBEDTLS_KEY_EXCHANGE_SOME_ECDH_OR_ECDHE_1_2_ENABLED)||\
    defined(MBEDTLS_KEY_EXCHANGE_SOME_DHE_ENABLED))
    #defineMBEDTLS_KEY_EXCHANGE_SOME_XXDH_1_2_ENABLED
    #endif

    /*Thehandshakeparamsstructurehasasetoffieldscalledxxdh_psawhichareused:
    *-byTLS1.2with`USE_PSA`todoECDHorECDHE;
    *-byTLS1.3todoECDHEorFFDHE.
    *Thefollowingmacroscanbeusedtoguardtheirdeclarationanduse.
    */
    #ifdefined(MBEDTLS_KEY_EXCHANGE_SOME_ECDH_OR_ECDHE_1_2_ENABLED)&&\
    defined(MBEDTLS_USE_PSA_CRYPTO)
    #defineMBEDTLS_KEY_EXCHANGE_SOME_XXDH_PSA_1_2_ENABLED
    #endif
    #ifdefined(MBEDTLS_KEY_EXCHANGE_SOME_XXDH_PSA_1_2_ENABLED)||\
    defined(MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_SOME_EPHEMERAL_ENABLED)
    #defineMBEDTLS_KEY_EXCHANGE_SOME_XXDH_PSA_ANY_ENABLED
    #endif

    typedefstructmbedtls_ssl_ciphersuite_tmbedtls_ssl_ciphersuite_t;

    #defineMBEDTLS_CIPHERSUITE_WEAK0x01
    #defineMBEDTLS_CIPHERSUITE_SHORT_TAG0x02
    #defineMBEDTLS_CIPHERSUITE_NODTLS0x04

    structmbedtls_ssl_ciphersuite_t{
    intMBEDTLS_PRIVATE(id);
    constchar*MBEDTLS_PRIVATE(name);

    uint8_tMBEDTLS_PRIVATE(cipher);/*mbedtls_cipher_type_t*/
    uint8_tMBEDTLS_PRIVATE(mac);/*mbedtls_md_type_t*/
    uint8_tMBEDTLS_PRIVATE(key_exchange);/*mbedtls_key_exchange_type_t*/
    uint8_tMBEDTLS_PRIVATE(flags);

    uint16_tMBEDTLS_PRIVATE(min_tls_version);/*mbedtls_ssl_protocol_version*/
    uint16_tMBEDTLS_PRIVATE(max_tls_version);/*mbedtls_ssl_protocol_version*/
    };

    constint*mbedtls_ssl_list_ciphersuites(void);

    constmbedtls_ssl_ciphersuite_t*mbedtls_ssl_ciphersuite_from_string(constchar*ciphersuite_name);
    constmbedtls_ssl_ciphersuite_t*mbedtls_ssl_ciphersuite_from_id(intciphersuite_id);

    staticinlineconstchar*mbedtls_ssl_ciphersuite_get_name(constmbedtls_ssl_ciphersuite_t*info)
    {
    returninfo->MBEDTLS_PRIVATE(name);
    }

    staticinlineintmbedtls_ssl_ciphersuite_get_id(constmbedtls_ssl_ciphersuite_t*info)
    {
    returninfo->MBEDTLS_PRIVATE(id);
    }

    size_tmbedtls_ssl_ciphersuite_get_cipher_key_bitlen(constmbedtls_ssl_ciphersuite_t*info);

    #ifdef__cplusplus
    }
    #endif

    #endif/*ssl_ciphersuites.h*/