diff options
author | Luca Deri <deri@ntop.org> | 2021-05-13 12:37:07 +0200 |
---|---|---|
committer | Luca Deri <deri@ntop.org> | 2021-05-13 12:37:07 +0200 |
commit | a62be9b8ecd4d3bd885654ee27d7041c005d0121 (patch) | |
tree | 17dbfe105098a09a0cd44cd360d808ad1edd34bb /src/include | |
parent | 87076dcd5bcadbe9dbd24284429db59368af04a4 (diff) |
Implemented heuristic to detect Safari and Firefox TLS browsing
Diffstat (limited to 'src/include')
-rw-r--r-- | src/include/ndpi_encryption.h | 408 |
1 files changed, 408 insertions, 0 deletions
diff --git a/src/include/ndpi_encryption.h b/src/include/ndpi_encryption.h new file mode 100644 index 000000000..b54de84de --- /dev/null +++ b/src/include/ndpi_encryption.h @@ -0,0 +1,408 @@ +/* + * ndpi_encryption.h + * + * Copyright (C) 2016-21 - ntop.org + * + * nDPI is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * nDPI is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with nDPI. If not, see <http://www.gnu.org/licenses/>. + * + */ + +/* https://wiki.mozilla.org/Security/Cipher_Suites */ +/* https://www.oryx-embedded.com/doc/tls__cipher__suites_8h.html */ + +#define TLS_NULL_WITH_NULL_NULL 0x0000 +#define TLS_RSA_EXPORT_WITH_RC4_40_MD5 0x0003 +#define TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5 0x0006 +#define TLS_RSA_EXPORT_WITH_DES40_CBC_SHA 0x0008 +#define TLS_RSA_WITH_NULL_MD5 0x0001 +#define TLS_RSA_WITH_NULL_SHA 0x0002 +#define TLS_RSA_WITH_NULL_SHA256 0x003B +#define TLS_RSA_WITH_RC4_128_MD5 0x0004 +#define TLS_RSA_WITH_RC4_128_SHA 0x0005 +#define TLS_RSA_WITH_IDEA_CBC_SHA 0x0007 +#define TLS_RSA_WITH_DES_CBC_SHA 0x0009 +#define TLS_RSA_WITH_3DES_EDE_CBC_SHA 0x000A +#define TLS_RSA_WITH_AES_128_CBC_SHA 0x002F +#define TLS_RSA_WITH_AES_256_CBC_SHA 0x0035 +#define TLS_RSA_WITH_AES_128_CBC_SHA256 0x003C +#define TLS_RSA_WITH_AES_256_CBC_SHA256 0x003D +#define TLS_RSA_WITH_AES_128_GCM_SHA256 0x009C +#define TLS_RSA_WITH_AES_256_GCM_SHA384 0x009D +#define TLS_RSA_WITH_AES_128_CCM 0xC09C +#define TLS_RSA_WITH_AES_256_CCM 0xC09D +#define TLS_RSA_WITH_AES_128_CCM_8 0xC0A0 +#define TLS_RSA_WITH_AES_256_CCM_8 0xC0A1 +#define TLS_RSA_WITH_CAMELLIA_128_CBC_SHA 0x0041 +#define TLS_RSA_WITH_CAMELLIA_256_CBC_SHA 0x0084 +#define TLS_RSA_WITH_CAMELLIA_128_CBC_SHA256 0x00BA +#define TLS_RSA_WITH_CAMELLIA_256_CBC_SHA256 0x00C0 +#define TLS_RSA_WITH_CAMELLIA_128_GCM_SHA256 0xC07A +#define TLS_RSA_WITH_CAMELLIA_256_GCM_SHA384 0xC07B +#define TLS_RSA_WITH_SEED_CBC_SHA 0x0096 +#define TLS_RSA_WITH_ARIA_128_CBC_SHA256 0xC03C +#define TLS_RSA_WITH_ARIA_256_CBC_SHA384 0xC03D +#define TLS_RSA_WITH_ARIA_128_GCM_SHA256 0xC050 +#define TLS_RSA_WITH_ARIA_256_GCM_SHA384 0xC051 +#define TLS_DH_RSA_EXPORT_WITH_DES40_CBC_SHA 0x000E +#define TLS_DH_RSA_WITH_DES_CBC_SHA 0x000F +#define TLS_DH_RSA_WITH_3DES_EDE_CBC_SHA 0x0010 +#define TLS_DH_RSA_WITH_AES_128_CBC_SHA 0x0031 +#define TLS_DH_RSA_WITH_AES_256_CBC_SHA 0x0037 +#define TLS_DH_RSA_WITH_AES_128_CBC_SHA256 0x003F +#define TLS_DH_RSA_WITH_AES_256_CBC_SHA256 0x0069 +#define TLS_DH_RSA_WITH_AES_128_GCM_SHA256 0x00A0 +#define TLS_DH_RSA_WITH_AES_256_GCM_SHA384 0x00A1 +#define TLS_DH_RSA_WITH_CAMELLIA_128_CBC_SHA 0x0043 +#define TLS_DH_RSA_WITH_CAMELLIA_256_CBC_SHA 0x0086 +#define TLS_DH_RSA_WITH_CAMELLIA_128_CBC_SHA256 0x00BC +#define TLS_DH_RSA_WITH_CAMELLIA_256_CBC_SHA256 0x00C2 +#define TLS_DH_RSA_WITH_CAMELLIA_128_GCM_SHA256 0xC07E +#define TLS_DH_RSA_WITH_CAMELLIA_256_GCM_SHA384 0xC07F +#define TLS_DH_RSA_WITH_SEED_CBC_SHA 0x0098 +#define TLS_DH_RSA_WITH_ARIA_128_CBC_SHA256 0xC040 +#define TLS_DH_RSA_WITH_ARIA_256_CBC_SHA384 0xC041 +#define TLS_DH_RSA_WITH_ARIA_128_GCM_SHA256 0xC054 +#define TLS_DH_RSA_WITH_ARIA_256_GCM_SHA384 0xC055 +#define TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA 0x0014 +#define TLS_DHE_RSA_WITH_DES_CBC_SHA 0x0015 +#define TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA 0x0016 +#define TLS_DHE_RSA_WITH_AES_128_CBC_SHA 0x0033 +#define TLS_DHE_RSA_WITH_AES_256_CBC_SHA 0x0039 +#define TLS_DHE_RSA_WITH_AES_128_CBC_SHA256 0x0067 +#define TLS_DHE_RSA_WITH_AES_256_CBC_SHA256 0x006B +#define TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 0x009E +#define TLS_DHE_RSA_WITH_AES_256_GCM_SHA384 0x009F +#define TLS_DHE_RSA_WITH_AES_128_CCM 0xC09E +#define TLS_DHE_RSA_WITH_AES_256_CCM 0xC09F +#define TLS_DHE_RSA_WITH_AES_128_CCM_8 0xC0A2 +#define TLS_DHE_RSA_WITH_AES_256_CCM_8 0xC0A3 +#define TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA 0x0045 +#define TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA 0x0088 +#define TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA256 0x00BE +#define TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA256 0x00C4 +#define TLS_DHE_RSA_WITH_CAMELLIA_128_GCM_SHA256 0xC07C +#define TLS_DHE_RSA_WITH_CAMELLIA_256_GCM_SHA384 0xC07D +#define TLS_DHE_RSA_WITH_SEED_CBC_SHA 0x009A +#define TLS_DHE_RSA_WITH_ARIA_128_CBC_SHA256 0xC044 +#define TLS_DHE_RSA_WITH_ARIA_256_CBC_SHA384 0xC045 +#define TLS_DHE_RSA_WITH_ARIA_128_GCM_SHA256 0xC052 +#define TLS_DHE_RSA_WITH_ARIA_256_GCM_SHA384 0xC053 +#define TLS_DHE_RSA_WITH_CHACHA20_POLY1305_SHA256 0xCCAA +#define TLS_DH_DSS_EXPORT_WITH_DES40_CBC_SHA 0x000B +#define TLS_DH_DSS_WITH_DES_CBC_SHA 0x000C +#define TLS_DH_DSS_WITH_3DES_EDE_CBC_SHA 0x000D +#define TLS_DH_DSS_WITH_AES_128_CBC_SHA 0x0030 +#define TLS_DH_DSS_WITH_AES_256_CBC_SHA 0x0036 +#define TLS_DH_DSS_WITH_AES_128_CBC_SHA256 0x003E +#define TLS_DH_DSS_WITH_AES_256_CBC_SHA256 0x0068 +#define TLS_DH_DSS_WITH_AES_128_GCM_SHA256 0x00A4 +#define TLS_DH_DSS_WITH_AES_256_GCM_SHA384 0x00A5 +#define TLS_DH_DSS_WITH_CAMELLIA_128_CBC_SHA 0x0042 +#define TLS_DH_DSS_WITH_CAMELLIA_256_CBC_SHA 0x0085 +#define TLS_DH_DSS_WITH_CAMELLIA_128_CBC_SHA256 0x00BB +#define TLS_DH_DSS_WITH_CAMELLIA_256_CBC_SHA256 0x00C1 +#define TLS_DH_DSS_WITH_CAMELLIA_128_GCM_SHA256 0xC082 +#define TLS_DH_DSS_WITH_CAMELLIA_256_GCM_SHA384 0xC083 +#define TLS_DH_DSS_WITH_SEED_CBC_SHA 0x0097 +#define TLS_DH_DSS_WITH_ARIA_128_CBC_SHA256 0xC03E +#define TLS_DH_DSS_WITH_ARIA_256_CBC_SHA384 0xC03F +#define TLS_DH_DSS_WITH_ARIA_128_GCM_SHA256 0xC058 +#define TLS_DH_DSS_WITH_ARIA_256_GCM_SHA384 0xC059 +#define TLS_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA 0x0011 +#define TLS_DHE_DSS_WITH_DES_CBC_SHA 0x0012 +#define TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA 0x0013 +#define TLS_DHE_DSS_WITH_AES_128_CBC_SHA 0x0032 +#define TLS_DHE_DSS_WITH_AES_256_CBC_SHA 0x0038 +#define TLS_DHE_DSS_WITH_AES_128_CBC_SHA256 0x0040 +#define TLS_DHE_DSS_WITH_AES_256_CBC_SHA256 0x006A +#define TLS_DHE_DSS_WITH_AES_128_GCM_SHA256 0x00A2 +#define TLS_DHE_DSS_WITH_AES_256_GCM_SHA384 0x00A3 +#define TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA 0x0044 +#define TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA 0x0087 +#define TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA256 0x00BD +#define TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA256 0x00C3 +#define TLS_DHE_DSS_WITH_CAMELLIA_128_GCM_SHA256 0xC080 +#define TLS_DHE_DSS_WITH_CAMELLIA_256_GCM_SHA384 0xC081 +#define TLS_DHE_DSS_WITH_SEED_CBC_SHA 0x0099 +#define TLS_DHE_DSS_WITH_ARIA_128_CBC_SHA256 0xC042 +#define TLS_DHE_DSS_WITH_ARIA_256_CBC_SHA384 0xC043 +#define TLS_DHE_DSS_WITH_ARIA_128_GCM_SHA256 0xC056 +#define TLS_DHE_DSS_WITH_ARIA_256_GCM_SHA384 0xC057 +#define TLS_DH_ANON_EXPORT_WITH_RC4_40_MD5 0x0017 +#define TLS_DH_ANON_EXPORT_WITH_DES40_CBC_SHA 0x0019 +#define TLS_DH_ANON_WITH_RC4_128_MD5 0x0018 +#define TLS_DH_ANON_WITH_DES_CBC_SHA 0x001A +#define TLS_DH_ANON_WITH_3DES_EDE_CBC_SHA 0x001B +#define TLS_DH_ANON_WITH_AES_128_CBC_SHA 0x0034 +#define TLS_DH_ANON_WITH_AES_256_CBC_SHA 0x003A +#define TLS_DH_ANON_WITH_AES_128_CBC_SHA256 0x006C +#define TLS_DH_ANON_WITH_AES_256_CBC_SHA256 0x006D +#define TLS_DH_ANON_WITH_AES_128_GCM_SHA256 0x00A6 +#define TLS_DH_ANON_WITH_AES_256_GCM_SHA384 0x00A7 +#define TLS_DH_ANON_WITH_CAMELLIA_128_CBC_SHA 0x0046 +#define TLS_DH_ANON_WITH_CAMELLIA_256_CBC_SHA 0x0089 +#define TLS_DH_ANON_WITH_CAMELLIA_128_CBC_SHA256 0x00BF +#define TLS_DH_ANON_WITH_CAMELLIA_256_CBC_SHA256 0x00C5 +#define TLS_DH_ANON_WITH_CAMELLIA_128_GCM_SHA256 0xC084 +#define TLS_DH_ANON_WITH_CAMELLIA_256_GCM_SHA384 0xC085 +#define TLS_DH_ANON_WITH_SEED_CBC_SHA 0x009B +#define TLS_DH_ANON_WITH_ARIA_128_CBC_SHA256 0xC046 +#define TLS_DH_ANON_WITH_ARIA_256_CBC_SHA384 0xC047 +#define TLS_DH_ANON_WITH_ARIA_128_GCM_SHA256 0xC05A +#define TLS_DH_ANON_WITH_ARIA_256_GCM_SHA384 0xC05B +#define TLS_ECDH_RSA_WITH_NULL_SHA 0xC00B +#define TLS_ECDH_RSA_WITH_RC4_128_SHA 0xC00C +#define TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA 0xC00D +#define TLS_ECDH_RSA_WITH_AES_128_CBC_SHA 0xC00E +#define TLS_ECDH_RSA_WITH_AES_256_CBC_SHA 0xC00F +#define TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256 0xC029 +#define TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384 0xC02A +#define TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256 0xC031 +#define TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384 0xC032 +#define TLS_ECDH_RSA_WITH_CAMELLIA_128_CBC_SHA256 0xC078 +#define TLS_ECDH_RSA_WITH_CAMELLIA_256_CBC_SHA384 0xC079 +#define TLS_ECDH_RSA_WITH_CAMELLIA_128_GCM_SHA256 0xC08C +#define TLS_ECDH_RSA_WITH_CAMELLIA_256_GCM_SHA384 0xC08D +#define TLS_ECDH_RSA_WITH_ARIA_128_CBC_SHA256 0xC04E +#define TLS_ECDH_RSA_WITH_ARIA_256_CBC_SHA384 0xC04F +#define TLS_ECDH_RSA_WITH_ARIA_128_GCM_SHA256 0xC062 +#define TLS_ECDH_RSA_WITH_ARIA_256_GCM_SHA384 0xC063 +#define TLS_ECDHE_RSA_WITH_NULL_SHA 0xC010 +#define TLS_ECDHE_RSA_WITH_RC4_128_SHA 0xC011 +#define TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA 0xC012 +#define TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA 0xC013 +#define TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA 0xC014 +#define TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 0xC027 +#define TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 0xC028 +#define TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 0xC02F +#define TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 0xC030 +#define TLS_ECDHE_RSA_WITH_CAMELLIA_128_CBC_SHA256 0xC076 +#define TLS_ECDHE_RSA_WITH_CAMELLIA_256_CBC_SHA384 0xC077 +#define TLS_ECDHE_RSA_WITH_CAMELLIA_128_GCM_SHA256 0xC08A +#define TLS_ECDHE_RSA_WITH_CAMELLIA_256_GCM_SHA384 0xC08B +#define TLS_ECDHE_RSA_WITH_ARIA_128_CBC_SHA256 0xC04C +#define TLS_ECDHE_RSA_WITH_ARIA_256_CBC_SHA384 0xC04D +#define TLS_ECDHE_RSA_WITH_ARIA_128_GCM_SHA256 0xC060 +#define TLS_ECDHE_RSA_WITH_ARIA_256_GCM_SHA384 0xC061 +#define TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 0xCCA8 +#define TLS_ECDH_ECDSA_WITH_NULL_SHA 0xC001 +#define TLS_ECDH_ECDSA_WITH_RC4_128_SHA 0xC002 +#define TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA 0xC003 +#define TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA 0xC004 +#define TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA 0xC005 +#define TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256 0xC025 +#define TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384 0xC026 +#define TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256 0xC02D +#define TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384 0xC02E +#define TLS_ECDH_ECDSA_WITH_CAMELLIA_128_CBC_SHA256 0xC074 +#define TLS_ECDH_ECDSA_WITH_CAMELLIA_256_CBC_SHA384 0xC075 +#define TLS_ECDH_ECDSA_WITH_CAMELLIA_128_GCM_SHA256 0xC088 +#define TLS_ECDH_ECDSA_WITH_CAMELLIA_256_GCM_SHA384 0xC089 +#define TLS_ECDH_ECDSA_WITH_ARIA_128_CBC_SHA256 0xC04A +#define TLS_ECDH_ECDSA_WITH_ARIA_256_CBC_SHA384 0xC04B +#define TLS_ECDH_ECDSA_WITH_ARIA_128_GCM_SHA256 0xC05E +#define TLS_ECDH_ECDSA_WITH_ARIA_256_GCM_SHA384 0xC05F +#define TLS_ECDHE_ECDSA_WITH_NULL_SHA 0xC006 +#define TLS_ECDHE_ECDSA_WITH_RC4_128_SHA 0xC007 +#define TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA 0xC008 +#define TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA 0xC009 +#define TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA 0xC00A +#define TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 0xC023 +#define TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384 0xC024 +#define TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 0xC02B +#define TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 0xC02C +#define TLS_ECDHE_ECDSA_WITH_AES_128_CCM 0xC0AC +#define TLS_ECDHE_ECDSA_WITH_AES_256_CCM 0xC0AD +#define TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8 0xC0AE +#define TLS_ECDHE_ECDSA_WITH_AES_256_CCM_8 0xC0AF +#define TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_CBC_SHA256 0xC072 +#define TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_CBC_SHA384 0xC073 +#define TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_GCM_SHA256 0xC086 +#define TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_GCM_SHA384 0xC087 +#define TLS_ECDHE_ECDSA_WITH_ARIA_128_CBC_SHA256 0xC048 +#define TLS_ECDHE_ECDSA_WITH_ARIA_256_CBC_SHA384 0xC049 +#define TLS_ECDHE_ECDSA_WITH_ARIA_128_GCM_SHA256 0xC05C +#define TLS_ECDHE_ECDSA_WITH_ARIA_256_GCM_SHA384 0xC05D +#define TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256 0xCCA9 +#define TLS_ECDH_ANON_WITH_NULL_SHA 0xC015 +#define TLS_ECDH_ANON_WITH_RC4_128_SHA 0xC016 +#define TLS_ECDH_ANON_WITH_3DES_EDE_CBC_SHA 0xC017 +#define TLS_ECDH_ANON_WITH_AES_128_CBC_SHA 0xC018 +#define TLS_ECDH_ANON_WITH_AES_256_CBC_SHA 0xC019 +#define TLS_PSK_WITH_NULL_SHA 0x002C +#define TLS_PSK_WITH_NULL_SHA256 0x00B0 +#define TLS_PSK_WITH_NULL_SHA384 0x00B1 +#define TLS_PSK_WITH_RC4_128_SHA 0x008A +#define TLS_PSK_WITH_3DES_EDE_CBC_SHA 0x008B +#define TLS_PSK_WITH_AES_128_CBC_SHA 0x008C +#define TLS_PSK_WITH_AES_256_CBC_SHA 0x008D +#define TLS_PSK_WITH_AES_128_CBC_SHA256 0x00AE +#define TLS_PSK_WITH_AES_256_CBC_SHA384 0x00AF +#define TLS_PSK_WITH_AES_128_GCM_SHA256 0x00A8 +#define TLS_PSK_WITH_AES_256_GCM_SHA384 0x00A9 +#define TLS_PSK_WITH_AES_128_CCM 0xC0A4 +#define TLS_PSK_WITH_AES_256_CCM 0xC0A5 +#define TLS_PSK_WITH_AES_128_CCM_8 0xC0A8 +#define TLS_PSK_WITH_AES_256_CCM_8 0xC0A9 +#define TLS_PSK_WITH_CAMELLIA_128_CBC_SHA256 0xC094 +#define TLS_PSK_WITH_CAMELLIA_256_CBC_SHA384 0xC095 +#define TLS_PSK_WITH_CAMELLIA_128_GCM_SHA256 0xC08E +#define TLS_PSK_WITH_CAMELLIA_256_GCM_SHA384 0xC08F +#define TLS_PSK_WITH_ARIA_128_CBC_SHA256 0xC064 +#define TLS_PSK_WITH_ARIA_256_CBC_SHA384 0xC065 +#define TLS_PSK_WITH_ARIA_128_GCM_SHA256 0xC06A +#define TLS_PSK_WITH_ARIA_256_GCM_SHA384 0xC06B +#define TLS_PSK_WITH_CHACHA20_POLY1305_SHA256 0xCCAB +#define TLS_RSA_PSK_WITH_NULL_SHA 0x002E +#define TLS_RSA_PSK_WITH_NULL_SHA256 0x00B8 +#define TLS_RSA_PSK_WITH_NULL_SHA384 0x00B9 +#define TLS_RSA_PSK_WITH_RC4_128_SHA 0x0092 +#define TLS_RSA_PSK_WITH_3DES_EDE_CBC_SHA 0x0093 +#define TLS_RSA_PSK_WITH_AES_128_CBC_SHA 0x0094 +#define TLS_RSA_PSK_WITH_AES_256_CBC_SHA 0x0095 +#define TLS_RSA_PSK_WITH_AES_128_CBC_SHA256 0x00B6 +#define TLS_RSA_PSK_WITH_AES_256_CBC_SHA384 0x00B7 +#define TLS_RSA_PSK_WITH_AES_128_GCM_SHA256 0x00AC +#define TLS_RSA_PSK_WITH_AES_256_GCM_SHA384 0x00AD +#define TLS_RSA_PSK_WITH_CAMELLIA_128_CBC_SHA256 0xC098 +#define TLS_RSA_PSK_WITH_CAMELLIA_256_CBC_SHA384 0xC099 +#define TLS_RSA_PSK_WITH_CAMELLIA_128_GCM_SHA256 0xC092 +#define TLS_RSA_PSK_WITH_CAMELLIA_256_GCM_SHA384 0xC093 +#define TLS_RSA_PSK_WITH_ARIA_128_CBC_SHA256 0xC068 +#define TLS_RSA_PSK_WITH_ARIA_256_CBC_SHA384 0xC069 +#define TLS_RSA_PSK_WITH_ARIA_128_GCM_SHA256 0xC06E +#define TLS_RSA_PSK_WITH_ARIA_256_GCM_SHA384 0xC06F +#define TLS_RSA_PSK_WITH_CHACHA20_POLY1305_SHA256 0xCCAE +#define TLS_DHE_PSK_WITH_NULL_SHA 0x002D +#define TLS_DHE_PSK_WITH_NULL_SHA256 0x00B4 +#define TLS_DHE_PSK_WITH_NULL_SHA384 0x00B5 +#define TLS_DHE_PSK_WITH_RC4_128_SHA 0x008E +#define TLS_DHE_PSK_WITH_3DES_EDE_CBC_SHA 0x008F +#define TLS_DHE_PSK_WITH_AES_128_CBC_SHA 0x0090 +#define TLS_DHE_PSK_WITH_AES_256_CBC_SHA 0x0091 +#define TLS_DHE_PSK_WITH_AES_128_CBC_SHA256 0x00B2 +#define TLS_DHE_PSK_WITH_AES_256_CBC_SHA384 0x00B3 +#define TLS_DHE_PSK_WITH_AES_128_GCM_SHA256 0x00AA +#define TLS_DHE_PSK_WITH_AES_256_GCM_SHA384 0x00AB +#define TLS_DHE_PSK_WITH_AES_128_CCM 0xC0A6 +#define TLS_DHE_PSK_WITH_AES_256_CCM 0xC0A7 +#define TLS_DHE_PSK_WITH_AES_128_CCM_8 0xC0AA +#define TLS_DHE_PSK_WITH_AES_256_CCM_8 0xC0AB +#define TLS_DHE_PSK_WITH_CAMELLIA_128_CBC_SHA256 0xC096 +#define TLS_DHE_PSK_WITH_CAMELLIA_256_CBC_SHA384 0xC097 +#define TLS_DHE_PSK_WITH_CAMELLIA_128_GCM_SHA256 0xC090 +#define TLS_DHE_PSK_WITH_CAMELLIA_256_GCM_SHA384 0xC091 +#define TLS_DHE_PSK_WITH_ARIA_128_CBC_SHA256 0xC066 +#define TLS_DHE_PSK_WITH_ARIA_256_CBC_SHA384 0xC067 +#define TLS_DHE_PSK_WITH_ARIA_128_GCM_SHA256 0xC06C +#define TLS_DHE_PSK_WITH_ARIA_256_GCM_SHA384 0xC06D +#define TLS_DHE_PSK_WITH_CHACHA20_POLY1305_SHA256 0xCCAD +#define TLS_ECDHE_PSK_WITH_NULL_SHA 0xC039 +#define TLS_ECDHE_PSK_WITH_NULL_SHA256 0xC03A +#define TLS_ECDHE_PSK_WITH_NULL_SHA384 0xC03B +#define TLS_ECDHE_PSK_WITH_RC4_128_SHA 0xC033 +#define TLS_ECDHE_PSK_WITH_3DES_EDE_CBC_SHA 0xC034 +#define TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA 0xC035 +#define TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA 0xC036 +#define TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA256 0xC037 +#define TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA384 0xC038 +#define TLS_ECDHE_PSK_WITH_AES_128_GCM_SHA256 0xD001 +#define TLS_ECDHE_PSK_WITH_AES_256_GCM_SHA384 0xD002 +#define TLS_ECDHE_PSK_WITH_AES_128_CCM_SHA256 0xD005 +#define TLS_ECDHE_PSK_WITH_AES_128_CCM_8_SHA256 0xD003 +#define TLS_ECDHE_PSK_WITH_CAMELLIA_128_CBC_SHA256 0xC09A +#define TLS_ECDHE_PSK_WITH_CAMELLIA_256_CBC_SHA384 0xC09B +#define TLS_ECDHE_PSK_WITH_ARIA_128_CBC_SHA256 0xC070 +#define TLS_ECDHE_PSK_WITH_ARIA_256_CBC_SHA384 0xC071 +#define TLS_ECDHE_PSK_WITH_CHACHA20_POLY1305_SHA256 0xCCAC +#define TLS_KRB5_EXPORT_WITH_RC4_40_MD5 0x002B +#define TLS_KRB5_EXPORT_WITH_RC4_40_SHA 0x0028 +#define TLS_KRB5_EXPORT_WITH_RC2_CBC_40_MD5 0x002A +#define TLS_KRB5_EXPORT_WITH_RC2_CBC_40_SHA 0x0027 +#define TLS_KRB5_EXPORT_WITH_DES_CBC_40_MD5 0x0029 +#define TLS_KRB5_EXPORT_WITH_DES_CBC_40_SHA 0x0026 +#define TLS_KRB5_WITH_RC4_128_MD5 0x0024 +#define TLS_KRB5_WITH_RC4_128_SHA 0x0020 +#define TLS_KRB5_WITH_IDEA_CBC_MD5 0x0025 +#define TLS_KRB5_WITH_IDEA_CBC_SHA 0x0021 +#define TLS_KRB5_WITH_DES_CBC_MD5 0x0022 +#define TLS_KRB5_WITH_DES_CBC_SHA 0x001E +#define TLS_KRB5_WITH_3DES_EDE_CBC_MD5 0x0023 +#define TLS_KRB5_WITH_3DES_EDE_CBC_SHA 0x001F +#define TLS_SRP_SHA_WITH_3DES_EDE_CBC_SHA 0xC01A +#define TLS_SRP_SHA_WITH_AES_128_CBC_SHA 0xC01D +#define TLS_SRP_SHA_WITH_AES_256_CBC_SHA 0xC020 +#define TLS_SRP_SHA_RSA_WITH_3DES_EDE_CBC_SHA 0xC01B +#define TLS_SRP_SHA_RSA_WITH_AES_128_CBC_SHA 0xC01E +#define TLS_SRP_SHA_RSA_WITH_AES_256_CBC_SHA 0xC021 +#define TLS_SRP_SHA_DSS_WITH_3DES_EDE_CBC_SHA 0xC01C +#define TLS_SRP_SHA_DSS_WITH_AES_128_CBC_SHA 0xC01F +#define TLS_SRP_SHA_DSS_WITH_AES_256_CBC_SHA 0xC022 +#define TLS_ECCPWD_WITH_AES_128_GCM_SHA256 0xC0B0 +#define TLS_ECCPWD_WITH_AES_256_GCM_SHA384 0xC0B1 +#define TLS_ECCPWD_WITH_AES_128_CCM_SHA256 0xC0B2 +#define TLS_ECCPWD_WITH_AES_256_CCM_SHA384 0xC0B3 +#define TLS_GOSTR341112_256_WITH_KUZNYECHIK_CTR_OMAC 0xC100 +#define TLS_GOSTR341112_256_WITH_MAGMA_CTR_OMAC 0xC101 +#define TLS_GOSTR341112_256_WITH_28147_CNT_IMIT 0xC102 +#define TLS_AES_128_GCM_SHA256 0x1301 +#define TLS_AES_256_GCM_SHA384 0x1302 +#define TLS_AES_128_CCM_SHA256 0x1304 +#define TLS_AES_128_CCM_8_SHA256 0x1305 +#define TLS_CHACHA20_POLY1305_SHA256 0x1303 +#define TLS_SM4_GCM_SM3 0x00C6 +#define TLS_SM4_CCM_SM3 0x00C7 +#define TLS_SHA256_SHA256 0xC0B4 +#define TLS_SHA384_SHA384 0xC0B5 +#define TLS_EMPTY_RENEGOTIATION_INFO_SCSV 0x00FF +#define TLS_FALLBACK_SCSV 0x5600 + +/* https://datatracker.ietf.org/doc/html/rfc8701 */ +#define TLS_CIPHER_GREASE_RESERVED_0 0x0A0A +#define TLS_CIPHER_GREASE_RESERVED_1 0x1A1A +#define TLS_CIPHER_GREASE_RESERVED_2 0x2A2A +#define TLS_CIPHER_GREASE_RESERVED_3 0x3A3A +#define TLS_CIPHER_GREASE_RESERVED_4 0x4A4A +#define TLS_CIPHER_GREASE_RESERVED_5 0x5A5A +#define TLS_CIPHER_GREASE_RESERVED_6 0x6A6A +#define TLS_CIPHER_GREASE_RESERVED_7 0x7A7A +#define TLS_CIPHER_GREASE_RESERVED_8 0x8A8A +#define TLS_CIPHER_GREASE_RESERVED_9 0x9A9A +#define TLS_CIPHER_GREASE_RESERVED_A 0xAAAA +#define TLS_CIPHER_GREASE_RESERVED_B 0xBABA +#define TLS_CIPHER_GREASE_RESERVED_C 0xCACA +#define TLS_CIPHER_GREASE_RESERVED_D 0xDADA +#define TLS_CIPHER_GREASE_RESERVED_E 0xEAEA +#define TLS_CIPHER_GREASE_RESERVED_F 0xFAFA + +/* ********************************************** */ + +/* Signature algorithms */ + +#define RSA_PKCS1_SHA1 0x0201 +#define ECDSA_SHA1 0x0203 +#define RSA_PKCS1_SHA256 0x0401 +#define ECDSA_SECP256R1_SHA256 0x0403 +#define RSA_PKCS1_SHA384 0x0501 +#define ECDSA_SECP384R1_SHA384 0x0503 +#define RSA_PKCS1_SHA512 0x0601 +#define ECDSA_SECP521R1_SHA512 0x0603 +#define RSA_PSS_RSAE_SHA256 0x0804 +#define RSA_PSS_RSAE_SHA384 0x0805 +#define RSA_PSS_RSAE_SHA512 0x0806 +#define ED25519 0x0807 +#define ED448 0x0808 +#define RSA_PSS_PSS_SHA256 0x0809 +#define RSA_PSS_PSS_SHA384 0x080A +#define RSA_PSS_PSS_SHA512 0x080B |