tls-map 2.1.0 → 3.0.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 1d94873d0b6f9c1274ca7ae4b4510cbbfb5351fb71b31d5fd6b7b51a700810b5
4
- data.tar.gz: c706973ad2b5b944ad41b72447ad2b5b6fd0d6cd8e7697ed2e0441598c905157
3
+ metadata.gz: 4026709ea82fcd9b7d1aff224b5bbef53c1528b4f459cdd979e34efa288696ad
4
+ data.tar.gz: 3023589dd5993e4cb3ba5425794485970b5a9f643bd9ad83519680a9c4b8bad2
5
5
  SHA512:
6
- metadata.gz: 36abc411fbfb1139a1abce1795dc76dad40baf48a801ff52302e0f13a5e8d62f484a68e024523417f6d926b9a175043d0256b15a3840f5b1ed3e1a90d26a7f65
7
- data.tar.gz: c0274a56daae44a2192e761bc782ec87ec71d2616738ed8053f8e1e2beb8a6bce7d6e95d694356f72d3ae891c69d5b210e78f9b84f2bd308016205f70b9e852d
6
+ metadata.gz: 94823f19862439cdda3882f7ee931bdaa5233f5888a95f6c03b42113c1dc7a6c79571277257556723055e3538328aad6bac0fd782bbcf45720dd0133c8100020
7
+ data.tar.gz: 5188a63cf57c6424294ffb408e9db7f49e2a199753ef69b6ec9786c5e4e02ee3c6aa16be2346a89067770f601bce09fed4d034b14b618fb74a7bbb17cd289a7b
data/LICENSE CHANGED
@@ -1,6 +1,6 @@
1
1
  MIT License
2
2
 
3
- Copyright (c) 2021 Alexandre ZANNI
3
+ Copyright (c) 2021-2023 Alexandre ZANNI
4
4
  Copyright (c) 2021 Alexandre ZANNI at SEC-IT
5
5
 
6
6
  Permission is hereby granted, free of charge, to any person obtaining a copy
data/bin/tls-map CHANGED
@@ -2,7 +2,6 @@
2
2
  # frozen_string_literal: true
3
3
 
4
4
  # Ruby internal
5
- require 'pp'
6
5
  # Project internal
7
6
  require 'tls_map'
8
7
  require 'tls_map/cli/cli'
@@ -42,7 +41,7 @@ doc = <<~DOCOPT
42
41
 
43
42
  Extract options: (offline) extract ciphers from external tools output file
44
43
  <filename> The external tool output file
45
- <format> Supported formats: sslyze, sslscan2, testssl, ssllabs-scan (check the documentation for the expected file format)
44
+ <format> Supported formats: sslyze, sslscan2, testssl, ssllabs-scan, tlsx (check the documentation for the expected file format)
46
45
  --only-weak Show only ciphers with a security level equal to weak or insecure (hide secure and recommended) (work only with TLS not SSL).
47
46
  --hide-weak Hide ciphers with a security level equal to weak or insecure (show only secure and recommended) (work only with TLS not SSL).
48
47
 
@@ -60,7 +59,7 @@ DOCOPT
60
59
  begin
61
60
  args = Docopt.docopt(doc, version: TLSmap::VERSION)
62
61
  Paint.mode = 0 if args['--no-color']
63
- pp args if args['--debug']
62
+ puts args if args['--debug']
64
63
  if args['search']
65
64
  cli = TLSmap::CLI.new(args['--force'])
66
65
  res = cli.search(args['<criteria>'].to_sym, args['<term>'], args['--output'].to_sym)
Binary file
data/data/mapping.json CHANGED
@@ -1049,6 +1049,20 @@
1049
1049
  "gnutls": "AES_128_CCM_8_SHA256",
1050
1050
  "nss": null
1051
1051
  },
1052
+ {
1053
+ "codepoint": "1306",
1054
+ "iana": "TLS_AEGIS_256_SHA512",
1055
+ "openssl": null,
1056
+ "gnutls": null,
1057
+ "nss": null
1058
+ },
1059
+ {
1060
+ "codepoint": "1307",
1061
+ "iana": "TLS_AEGIS_128L_SHA256",
1062
+ "openssl": null,
1063
+ "gnutls": null,
1064
+ "nss": null
1065
+ },
1052
1066
  {
1053
1067
  "codepoint": "5600",
1054
1068
  "iana": "TLS_FALLBACK_SCSV",
@@ -2312,14 +2326,14 @@
2312
2326
  {
2313
2327
  "codepoint": "C0B4",
2314
2328
  "iana": "TLS_SHA256_SHA256",
2315
- "openssl": null,
2329
+ "openssl": "TLS_SHA256_SHA256",
2316
2330
  "gnutls": null,
2317
2331
  "nss": null
2318
2332
  },
2319
2333
  {
2320
2334
  "codepoint": "C0B5",
2321
2335
  "iana": "TLS_SHA384_SHA384",
2322
- "openssl": null,
2336
+ "openssl": "TLS_SHA384_SHA384",
2323
2337
  "gnutls": null,
2324
2338
  "nss": null
2325
2339
  },
data/data/mapping.marshal CHANGED
Binary file
data/data/mapping.md CHANGED
@@ -150,6 +150,8 @@ Codepoint | IANA | OpenSSL | GnuTLS | NSS
150
150
  1303 | TLS_CHACHA20_POLY1305_SHA256 | TLS_CHACHA20_POLY1305_SHA256 | CHACHA20_POLY1305_SHA256 | TLS_CHACHA20_POLY1305_SHA256
151
151
  1304 | TLS_AES_128_CCM_SHA256 | TLS_AES_128_CCM_SHA256 | AES_128_CCM_SHA256 | -
152
152
  1305 | TLS_AES_128_CCM_8_SHA256 | TLS_AES_128_CCM_8_SHA256 | AES_128_CCM_8_SHA256 | -
153
+ 1306 | TLS_AEGIS_256_SHA512 | - | - | -
154
+ 1307 | TLS_AEGIS_128L_SHA256 | - | - | -
153
155
  5600 | TLS_FALLBACK_SCSV | - | - | TLS_FALLBACK_SCSV
154
156
  C001 | TLS_ECDH_ECDSA_WITH_NULL_SHA | ECDH-ECDSA-NULL-SHA | - | TLS_ECDH_ECDSA_WITH_NULL_SHA
155
157
  C002 | TLS_ECDH_ECDSA_WITH_RC4_128_SHA | ECDH-ECDSA-RC4-SHA | - | TLS_ECDH_ECDSA_WITH_RC4_128_SHA
@@ -330,8 +332,8 @@ C0B0 | TLS_ECCPWD_WITH_AES_128_GCM_SHA256 | - | - | -
330
332
  C0B1 | TLS_ECCPWD_WITH_AES_256_GCM_SHA384 | - | - | -
331
333
  C0B2 | TLS_ECCPWD_WITH_AES_128_CCM_SHA256 | - | - | -
332
334
  C0B3 | TLS_ECCPWD_WITH_AES_256_CCM_SHA384 | - | - | -
333
- C0B4 | TLS_SHA256_SHA256 | - | - | -
334
- C0B5 | TLS_SHA384_SHA384 | - | - | -
335
+ C0B4 | TLS_SHA256_SHA256 | TLS_SHA256_SHA256 | - | -
336
+ C0B5 | TLS_SHA384_SHA384 | TLS_SHA384_SHA384 | - | -
335
337
  C100 | TLS_GOSTR341112_256_WITH_KUZNYECHIK_CTR_OMAC | - | - | -
336
338
  C101 | TLS_GOSTR341112_256_WITH_MAGMA_CTR_OMAC | - | - | -
337
339
  C102 | TLS_GOSTR341112_256_WITH_28147_CNT_IMIT | - | GOSTR341112_256_28147_CNT_IMIT | -
@@ -1 +1 @@
1
- [{"codepoint":"0000","iana":"TLS_NULL_WITH_NULL_NULL","openssl":null,"gnutls":null,"nss":"TLS_NULL_WITH_NULL_NULL"},{"codepoint":"0001","iana":"TLS_RSA_WITH_NULL_MD5","openssl":"NULL-MD5","gnutls":"RSA_NULL_MD5","nss":"TLS_RSA_WITH_NULL_MD5"},{"codepoint":"0002","iana":"TLS_RSA_WITH_NULL_SHA","openssl":"NULL-SHA","gnutls":"RSA_NULL_SHA1","nss":"TLS_RSA_WITH_NULL_SHA"},{"codepoint":"0003","iana":"TLS_RSA_EXPORT_WITH_RC4_40_MD5","openssl":"EXP-RC4-MD5","gnutls":null,"nss":"TLS_RSA_EXPORT_WITH_RC4_40_MD5"},{"codepoint":"0004","iana":"TLS_RSA_WITH_RC4_128_MD5","openssl":"RC4-MD5","gnutls":"RSA_ARCFOUR_128_MD5","nss":"TLS_RSA_WITH_RC4_128_MD5"},{"codepoint":"0005","iana":"TLS_RSA_WITH_RC4_128_SHA","openssl":"RC4-SHA","gnutls":"RSA_ARCFOUR_128_SHA1","nss":"TLS_RSA_WITH_RC4_128_SHA"},{"codepoint":"0006","iana":"TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5","openssl":"EXP-RC2-CBC-MD5","gnutls":null,"nss":"TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5"},{"codepoint":"0007","iana":"TLS_RSA_WITH_IDEA_CBC_SHA","openssl":"IDEA-CBC-SHA","gnutls":null,"nss":"TLS_RSA_WITH_IDEA_CBC_SHA"},{"codepoint":"0008","iana":"TLS_RSA_EXPORT_WITH_DES40_CBC_SHA","openssl":"EXP-DES-CBC-SHA","gnutls":null,"nss":"TLS_RSA_EXPORT_WITH_DES40_CBC_SHA"},{"codepoint":"0009","iana":"TLS_RSA_WITH_DES_CBC_SHA","openssl":"DES-CBC-SHA","gnutls":null,"nss":"TLS_RSA_WITH_DES_CBC_SHA"},{"codepoint":"000A","iana":"TLS_RSA_WITH_3DES_EDE_CBC_SHA","openssl":"DES-CBC3-SHA","gnutls":"RSA_3DES_EDE_CBC_SHA1","nss":"TLS_RSA_WITH_3DES_EDE_CBC_SHA"},{"codepoint":"000B","iana":"TLS_DH_DSS_EXPORT_WITH_DES40_CBC_SHA","openssl":"EXP-DH-DSS-DES-CBC-SHA","gnutls":null,"nss":"TLS_DH_DSS_EXPORT_WITH_DES40_CBC_SHA"},{"codepoint":"000C","iana":"TLS_DH_DSS_WITH_DES_CBC_SHA","openssl":"DH-DSS-DES-CBC-SHA","gnutls":null,"nss":"TLS_DH_DSS_WITH_DES_CBC_SHA"},{"codepoint":"000D","iana":"TLS_DH_DSS_WITH_3DES_EDE_CBC_SHA","openssl":"DH-DSS-DES-CBC3-SHA","gnutls":null,"nss":"TLS_DH_DSS_WITH_3DES_EDE_CBC_SHA"},{"codepoint":"000E","iana":"TLS_DH_RSA_EXPORT_WITH_DES40_CBC_SHA","openssl":"EXP-DH-RSA-DES-CBC-SHA","gnutls":null,"nss":"TLS_DH_RSA_EXPORT_WITH_DES40_CBC_SHA"},{"codepoint":"000F","iana":"TLS_DH_RSA_WITH_DES_CBC_SHA","openssl":"DH-RSA-DES-CBC-SHA","gnutls":null,"nss":"TLS_DH_RSA_WITH_DES_CBC_SHA"},{"codepoint":"0010","iana":"TLS_DH_RSA_WITH_3DES_EDE_CBC_SHA","openssl":"DH-RSA-DES-CBC3-SHA","gnutls":null,"nss":"TLS_DH_RSA_WITH_3DES_EDE_CBC_SHA"},{"codepoint":"0011","iana":"TLS_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA","openssl":"EXP-DHE-DSS-DES-CBC-SHA","gnutls":null,"nss":"TLS_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA"},{"codepoint":"0012","iana":"TLS_DHE_DSS_WITH_DES_CBC_SHA","openssl":"DHE-DSS-DES-CBC-SHA","gnutls":null,"nss":"TLS_DHE_DSS_WITH_DES_CBC_SHA"},{"codepoint":"0013","iana":"TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA","openssl":"DHE-DSS-DES-CBC3-SHA","gnutls":"DHE_DSS_3DES_EDE_CBC_SHA1","nss":"TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA"},{"codepoint":"0014","iana":"TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA","openssl":"EXP-DHE-RSA-DES-CBC-SHA","gnutls":null,"nss":"TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA"},{"codepoint":"0015","iana":"TLS_DHE_RSA_WITH_DES_CBC_SHA","openssl":"DHE-RSA-DES-CBC-SHA","gnutls":null,"nss":"TLS_DHE_RSA_WITH_DES_CBC_SHA"},{"codepoint":"0016","iana":"TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA","openssl":"DHE-RSA-DES-CBC3-SHA","gnutls":"DHE_RSA_3DES_EDE_CBC_SHA1","nss":"TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA"},{"codepoint":"0017","iana":"TLS_DH_anon_EXPORT_WITH_RC4_40_MD5","openssl":"EXP-ADH-RC4-MD5","gnutls":null,"nss":"TLS_DH_anon_EXPORT_WITH_RC4_40_MD5"},{"codepoint":"0018","iana":"TLS_DH_anon_WITH_RC4_128_MD5","openssl":"ADH-RC4-MD5","gnutls":"DH_ANON_ARCFOUR_128_MD5","nss":"TLS_DH_anon_WITH_RC4_128_MD5"},{"codepoint":"0019","iana":"TLS_DH_anon_EXPORT_WITH_DES40_CBC_SHA","openssl":"EXP-ADH-DES-CBC-SHA","gnutls":null,"nss":"TLS_DH_anon_EXPORT_WITH_DES40_CBC_SHA"},{"codepoint":"001A","iana":"TLS_DH_anon_WITH_DES_CBC_SHA","openssl":"ADH-DES-CBC-SHA","gnutls":null,"nss":"TLS_DH_anon_WITH_DES_CBC_SHA"},{"codepoint":"001B","iana":"TLS_DH_anon_WITH_3DES_EDE_CBC_SHA","openssl":"ADH-DES-CBC3-SHA","gnutls":"DH_ANON_3DES_EDE_CBC_SHA1","nss":"TLS_DH_anon_WITH_3DES_EDE_CBC_SHA"},{"codepoint":"001E","iana":"TLS_KRB5_WITH_DES_CBC_SHA","openssl":null,"gnutls":null,"nss":null},{"codepoint":"001F","iana":"TLS_KRB5_WITH_3DES_EDE_CBC_SHA","openssl":null,"gnutls":null,"nss":null},{"codepoint":"0020","iana":"TLS_KRB5_WITH_RC4_128_SHA","openssl":null,"gnutls":null,"nss":null},{"codepoint":"0021","iana":"TLS_KRB5_WITH_IDEA_CBC_SHA","openssl":null,"gnutls":null,"nss":null},{"codepoint":"0022","iana":"TLS_KRB5_WITH_DES_CBC_MD5","openssl":null,"gnutls":null,"nss":null},{"codepoint":"0023","iana":"TLS_KRB5_WITH_3DES_EDE_CBC_MD5","openssl":null,"gnutls":null,"nss":null},{"codepoint":"0024","iana":"TLS_KRB5_WITH_RC4_128_MD5","openssl":null,"gnutls":null,"nss":null},{"codepoint":"0025","iana":"TLS_KRB5_WITH_IDEA_CBC_MD5","openssl":null,"gnutls":null,"nss":null},{"codepoint":"0026","iana":"TLS_KRB5_EXPORT_WITH_DES_CBC_40_SHA","openssl":null,"gnutls":null,"nss":null},{"codepoint":"0027","iana":"TLS_KRB5_EXPORT_WITH_RC2_CBC_40_SHA","openssl":null,"gnutls":null,"nss":null},{"codepoint":"0028","iana":"TLS_KRB5_EXPORT_WITH_RC4_40_SHA","openssl":null,"gnutls":null,"nss":null},{"codepoint":"0029","iana":"TLS_KRB5_EXPORT_WITH_DES_CBC_40_MD5","openssl":null,"gnutls":null,"nss":null},{"codepoint":"002A","iana":"TLS_KRB5_EXPORT_WITH_RC2_CBC_40_MD5","openssl":null,"gnutls":null,"nss":null},{"codepoint":"002B","iana":"TLS_KRB5_EXPORT_WITH_RC4_40_MD5","openssl":null,"gnutls":null,"nss":null},{"codepoint":"002C","iana":"TLS_PSK_WITH_NULL_SHA","openssl":"PSK-NULL-SHA","gnutls":"PSK_NULL_SHA1","nss":null},{"codepoint":"002D","iana":"TLS_DHE_PSK_WITH_NULL_SHA","openssl":"DHE-PSK-NULL-SHA","gnutls":"DHE_PSK_NULL_SHA1","nss":null},{"codepoint":"002E","iana":"TLS_RSA_PSK_WITH_NULL_SHA","openssl":"RSA-PSK-NULL-SHA","gnutls":"RSA_PSK_NULL_SHA1","nss":null},{"codepoint":"002F","iana":"TLS_RSA_WITH_AES_128_CBC_SHA","openssl":"AES128-SHA","gnutls":"RSA_AES_128_CBC_SHA1","nss":"TLS_RSA_WITH_AES_128_CBC_SHA"},{"codepoint":"0030","iana":"TLS_DH_DSS_WITH_AES_128_CBC_SHA","openssl":"DH-DSS-AES128-SHA","gnutls":null,"nss":"TLS_DH_DSS_WITH_AES_128_CBC_SHA"},{"codepoint":"0031","iana":"TLS_DH_RSA_WITH_AES_128_CBC_SHA","openssl":"DH-RSA-AES128-SHA","gnutls":null,"nss":"TLS_DH_RSA_WITH_AES_128_CBC_SHA"},{"codepoint":"0032","iana":"TLS_DHE_DSS_WITH_AES_128_CBC_SHA","openssl":"DHE-DSS-AES128-SHA","gnutls":"DHE_DSS_AES_128_CBC_SHA1","nss":"TLS_DHE_DSS_WITH_AES_128_CBC_SHA"},{"codepoint":"0033","iana":"TLS_DHE_RSA_WITH_AES_128_CBC_SHA","openssl":"DHE-RSA-AES128-SHA","gnutls":"DHE_RSA_AES_128_CBC_SHA1","nss":"TLS_DHE_RSA_WITH_AES_128_CBC_SHA"},{"codepoint":"0034","iana":"TLS_DH_anon_WITH_AES_128_CBC_SHA","openssl":"ADH-AES128-SHA","gnutls":"DH_ANON_AES_128_CBC_SHA1","nss":"TLS_DH_anon_WITH_AES_128_CBC_SHA"},{"codepoint":"0035","iana":"TLS_RSA_WITH_AES_256_CBC_SHA","openssl":"AES256-SHA","gnutls":"RSA_AES_256_CBC_SHA1","nss":"TLS_RSA_WITH_AES_256_CBC_SHA"},{"codepoint":"0036","iana":"TLS_DH_DSS_WITH_AES_256_CBC_SHA","openssl":"DH-DSS-AES256-SHA","gnutls":null,"nss":"TLS_DH_DSS_WITH_AES_256_CBC_SHA"},{"codepoint":"0037","iana":"TLS_DH_RSA_WITH_AES_256_CBC_SHA","openssl":"DH-RSA-AES256-SHA","gnutls":null,"nss":"TLS_DH_RSA_WITH_AES_256_CBC_SHA"},{"codepoint":"0038","iana":"TLS_DHE_DSS_WITH_AES_256_CBC_SHA","openssl":"DHE-DSS-AES256-SHA","gnutls":"DHE_DSS_AES_256_CBC_SHA1","nss":"TLS_DHE_DSS_WITH_AES_256_CBC_SHA"},{"codepoint":"0039","iana":"TLS_DHE_RSA_WITH_AES_256_CBC_SHA","openssl":"DHE-RSA-AES256-SHA","gnutls":"DHE_RSA_AES_256_CBC_SHA1","nss":"TLS_DHE_RSA_WITH_AES_256_CBC_SHA"},{"codepoint":"003A","iana":"TLS_DH_anon_WITH_AES_256_CBC_SHA","openssl":"ADH-AES256-SHA","gnutls":"DH_ANON_AES_256_CBC_SHA1","nss":"TLS_DH_anon_WITH_AES_256_CBC_SHA"},{"codepoint":"003B","iana":"TLS_RSA_WITH_NULL_SHA256","openssl":"NULL-SHA256","gnutls":"RSA_NULL_SHA256","nss":"TLS_RSA_WITH_NULL_SHA256"},{"codepoint":"003C","iana":"TLS_RSA_WITH_AES_128_CBC_SHA256","openssl":"AES128-SHA256","gnutls":"RSA_AES_128_CBC_SHA256","nss":"TLS_RSA_WITH_AES_128_CBC_SHA256"},{"codepoint":"003D","iana":"TLS_RSA_WITH_AES_256_CBC_SHA256","openssl":"AES256-SHA256","gnutls":"RSA_AES_256_CBC_SHA256","nss":"TLS_RSA_WITH_AES_256_CBC_SHA256"},{"codepoint":"003E","iana":"TLS_DH_DSS_WITH_AES_128_CBC_SHA256","openssl":"DH-DSS-AES128-SHA256","gnutls":null,"nss":null},{"codepoint":"003F","iana":"TLS_DH_RSA_WITH_AES_128_CBC_SHA256","openssl":"DH-RSA-AES128-SHA256","gnutls":null,"nss":null},{"codepoint":"0040","iana":"TLS_DHE_DSS_WITH_AES_128_CBC_SHA256","openssl":"DHE-DSS-AES128-SHA256","gnutls":"DHE_DSS_AES_128_CBC_SHA256","nss":"TLS_DHE_DSS_WITH_AES_128_CBC_SHA256"},{"codepoint":"0041","iana":"TLS_RSA_WITH_CAMELLIA_128_CBC_SHA","openssl":"CAMELLIA128-SHA","gnutls":"RSA_CAMELLIA_128_CBC_SHA1","nss":"TLS_RSA_WITH_CAMELLIA_128_CBC_SHA"},{"codepoint":"0042","iana":"TLS_DH_DSS_WITH_CAMELLIA_128_CBC_SHA","openssl":"DH-DSS-CAMELLIA128-SHA","gnutls":null,"nss":"TLS_DH_DSS_WITH_CAMELLIA_128_CBC_SHA"},{"codepoint":"0043","iana":"TLS_DH_RSA_WITH_CAMELLIA_128_CBC_SHA","openssl":"DH-RSA-CAMELLIA128-SHA","gnutls":null,"nss":"TLS_DH_RSA_WITH_CAMELLIA_128_CBC_SHA"},{"codepoint":"0044","iana":"TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA","openssl":"DHE-DSS-CAMELLIA128-SHA","gnutls":"DHE_DSS_CAMELLIA_128_CBC_SHA1","nss":"TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA"},{"codepoint":"0045","iana":"TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA","openssl":"DHE-RSA-CAMELLIA128-SHA","gnutls":"DHE_RSA_CAMELLIA_128_CBC_SHA1","nss":"TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA"},{"codepoint":"0046","iana":"TLS_DH_anon_WITH_CAMELLIA_128_CBC_SHA","openssl":"ADH-CAMELLIA128-SHA","gnutls":"DH_ANON_CAMELLIA_128_CBC_SHA1","nss":"TLS_DH_anon_WITH_CAMELLIA_128_CBC_SHA"},{"codepoint":"0067","iana":"TLS_DHE_RSA_WITH_AES_128_CBC_SHA256","openssl":"DHE-RSA-AES128-SHA256","gnutls":"DHE_RSA_AES_128_CBC_SHA256","nss":"TLS_DHE_RSA_WITH_AES_128_CBC_SHA256"},{"codepoint":"0068","iana":"TLS_DH_DSS_WITH_AES_256_CBC_SHA256","openssl":"DH-DSS-AES256-SHA256","gnutls":null,"nss":null},{"codepoint":"0069","iana":"TLS_DH_RSA_WITH_AES_256_CBC_SHA256","openssl":"DH-RSA-AES256-SHA256","gnutls":null,"nss":null},{"codepoint":"006A","iana":"TLS_DHE_DSS_WITH_AES_256_CBC_SHA256","openssl":"DHE-DSS-AES256-SHA256","gnutls":"DHE_DSS_AES_256_CBC_SHA256","nss":"TLS_DHE_DSS_WITH_AES_256_CBC_SHA256"},{"codepoint":"006B","iana":"TLS_DHE_RSA_WITH_AES_256_CBC_SHA256","openssl":"DHE-RSA-AES256-SHA256","gnutls":"DHE_RSA_AES_256_CBC_SHA256","nss":"TLS_DHE_RSA_WITH_AES_256_CBC_SHA256"},{"codepoint":"006C","iana":"TLS_DH_anon_WITH_AES_128_CBC_SHA256","openssl":"ADH-AES128-SHA256","gnutls":"DH_ANON_AES_128_CBC_SHA256","nss":null},{"codepoint":"006D","iana":"TLS_DH_anon_WITH_AES_256_CBC_SHA256","openssl":"ADH-AES256-SHA256","gnutls":"DH_ANON_AES_256_CBC_SHA256","nss":null},{"codepoint":"0084","iana":"TLS_RSA_WITH_CAMELLIA_256_CBC_SHA","openssl":"CAMELLIA256-SHA","gnutls":"RSA_CAMELLIA_256_CBC_SHA1","nss":"TLS_RSA_WITH_CAMELLIA_256_CBC_SHA"},{"codepoint":"0085","iana":"TLS_DH_DSS_WITH_CAMELLIA_256_CBC_SHA","openssl":"DH-DSS-CAMELLIA256-SHA","gnutls":null,"nss":"TLS_DH_DSS_WITH_CAMELLIA_256_CBC_SHA"},{"codepoint":"0086","iana":"TLS_DH_RSA_WITH_CAMELLIA_256_CBC_SHA","openssl":"DH-RSA-CAMELLIA256-SHA","gnutls":null,"nss":"TLS_DH_RSA_WITH_CAMELLIA_256_CBC_SHA"},{"codepoint":"0087","iana":"TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA","openssl":"DHE-DSS-CAMELLIA256-SHA","gnutls":"DHE_DSS_CAMELLIA_256_CBC_SHA1","nss":"TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA"},{"codepoint":"0088","iana":"TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA","openssl":"DHE-RSA-CAMELLIA256-SHA","gnutls":"DHE_RSA_CAMELLIA_256_CBC_SHA1","nss":"TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA"},{"codepoint":"0089","iana":"TLS_DH_anon_WITH_CAMELLIA_256_CBC_SHA","openssl":"ADH-CAMELLIA256-SHA","gnutls":"DH_ANON_CAMELLIA_256_CBC_SHA1","nss":"TLS_DH_anon_WITH_CAMELLIA_256_CBC_SHA"},{"codepoint":"008A","iana":"TLS_PSK_WITH_RC4_128_SHA","openssl":"PSK-RC4-SHA","gnutls":"PSK_ARCFOUR_128_SHA1","nss":null},{"codepoint":"008B","iana":"TLS_PSK_WITH_3DES_EDE_CBC_SHA","openssl":"PSK-3DES-EDE-CBC-SHA","gnutls":"PSK_3DES_EDE_CBC_SHA1","nss":null},{"codepoint":"008C","iana":"TLS_PSK_WITH_AES_128_CBC_SHA","openssl":"PSK-AES128-CBC-SHA","gnutls":"PSK_AES_128_CBC_SHA1","nss":null},{"codepoint":"008D","iana":"TLS_PSK_WITH_AES_256_CBC_SHA","openssl":"PSK-AES256-CBC-SHA","gnutls":"PSK_AES_256_CBC_SHA1","nss":null},{"codepoint":"008E","iana":"TLS_DHE_PSK_WITH_RC4_128_SHA","openssl":"DHE-PSK-RC4-SHA","gnutls":"DHE_PSK_ARCFOUR_128_SHA1","nss":null},{"codepoint":"008F","iana":"TLS_DHE_PSK_WITH_3DES_EDE_CBC_SHA","openssl":"DHE-PSK-3DES-EDE-CBC-SHA","gnutls":"DHE_PSK_3DES_EDE_CBC_SHA1","nss":null},{"codepoint":"0090","iana":"TLS_DHE_PSK_WITH_AES_128_CBC_SHA","openssl":"DHE-PSK-AES128-CBC-SHA","gnutls":"DHE_PSK_AES_128_CBC_SHA1","nss":null},{"codepoint":"0091","iana":"TLS_DHE_PSK_WITH_AES_256_CBC_SHA","openssl":"DHE-PSK-AES256-CBC-SHA","gnutls":"DHE_PSK_AES_256_CBC_SHA1","nss":null},{"codepoint":"0092","iana":"TLS_RSA_PSK_WITH_RC4_128_SHA","openssl":"RSA-PSK-RC4-SHA","gnutls":"RSA_PSK_ARCFOUR_128_SHA1","nss":null},{"codepoint":"0093","iana":"TLS_RSA_PSK_WITH_3DES_EDE_CBC_SHA","openssl":"RSA-PSK-3DES-EDE-CBC-SHA","gnutls":"RSA_PSK_3DES_EDE_CBC_SHA1","nss":null},{"codepoint":"0094","iana":"TLS_RSA_PSK_WITH_AES_128_CBC_SHA","openssl":"RSA-PSK-AES128-CBC-SHA","gnutls":"RSA_PSK_AES_128_CBC_SHA1","nss":null},{"codepoint":"0095","iana":"TLS_RSA_PSK_WITH_AES_256_CBC_SHA","openssl":"RSA-PSK-AES256-CBC-SHA","gnutls":"RSA_PSK_AES_256_CBC_SHA1","nss":null},{"codepoint":"0096","iana":"TLS_RSA_WITH_SEED_CBC_SHA","openssl":"SEED-SHA","gnutls":null,"nss":"TLS_RSA_WITH_SEED_CBC_SHA"},{"codepoint":"0097","iana":"TLS_DH_DSS_WITH_SEED_CBC_SHA","openssl":"DH-DSS-SEED-SHA","gnutls":null,"nss":null},{"codepoint":"0098","iana":"TLS_DH_RSA_WITH_SEED_CBC_SHA","openssl":"DH-RSA-SEED-SHA","gnutls":null,"nss":null},{"codepoint":"0099","iana":"TLS_DHE_DSS_WITH_SEED_CBC_SHA","openssl":"DHE-DSS-SEED-SHA","gnutls":null,"nss":null},{"codepoint":"009A","iana":"TLS_DHE_RSA_WITH_SEED_CBC_SHA","openssl":"DHE-RSA-SEED-SHA","gnutls":null,"nss":null},{"codepoint":"009B","iana":"TLS_DH_anon_WITH_SEED_CBC_SHA","openssl":"ADH-SEED-SHA","gnutls":null,"nss":null},{"codepoint":"009C","iana":"TLS_RSA_WITH_AES_128_GCM_SHA256","openssl":"AES128-GCM-SHA256","gnutls":"RSA_AES_128_GCM_SHA256","nss":"TLS_RSA_WITH_AES_128_GCM_SHA256"},{"codepoint":"009D","iana":"TLS_RSA_WITH_AES_256_GCM_SHA384","openssl":"AES256-GCM-SHA384","gnutls":"RSA_AES_256_GCM_SHA384","nss":"TLS_RSA_WITH_AES_256_GCM_SHA384"},{"codepoint":"009E","iana":"TLS_DHE_RSA_WITH_AES_128_GCM_SHA256","openssl":"DHE-RSA-AES128-GCM-SHA256","gnutls":"DHE_RSA_AES_128_GCM_SHA256","nss":"TLS_DHE_RSA_WITH_AES_128_GCM_SHA256"},{"codepoint":"009F","iana":"TLS_DHE_RSA_WITH_AES_256_GCM_SHA384","openssl":"DHE-RSA-AES256-GCM-SHA384","gnutls":"DHE_RSA_AES_256_GCM_SHA384","nss":"TLS_DHE_RSA_WITH_AES_256_GCM_SHA384"},{"codepoint":"00A0","iana":"TLS_DH_RSA_WITH_AES_128_GCM_SHA256","openssl":"DH-RSA-AES128-GCM-SHA256","gnutls":null,"nss":null},{"codepoint":"00A1","iana":"TLS_DH_RSA_WITH_AES_256_GCM_SHA384","openssl":"DH-RSA-AES256-GCM-SHA384","gnutls":null,"nss":null},{"codepoint":"00A2","iana":"TLS_DHE_DSS_WITH_AES_128_GCM_SHA256","openssl":"DHE-DSS-AES128-GCM-SHA256","gnutls":"DHE_DSS_AES_128_GCM_SHA256","nss":"TLS_DHE_DSS_WITH_AES_128_GCM_SHA256"},{"codepoint":"00A3","iana":"TLS_DHE_DSS_WITH_AES_256_GCM_SHA384","openssl":"DHE-DSS-AES256-GCM-SHA384","gnutls":"DHE_DSS_AES_256_GCM_SHA384","nss":"TLS_DHE_DSS_WITH_AES_256_GCM_SHA384"},{"codepoint":"00A4","iana":"TLS_DH_DSS_WITH_AES_128_GCM_SHA256","openssl":"DH-DSS-AES128-GCM-SHA256","gnutls":null,"nss":null},{"codepoint":"00A5","iana":"TLS_DH_DSS_WITH_AES_256_GCM_SHA384","openssl":"DH-DSS-AES256-GCM-SHA384","gnutls":null,"nss":null},{"codepoint":"00A6","iana":"TLS_DH_anon_WITH_AES_128_GCM_SHA256","openssl":"ADH-AES128-GCM-SHA256","gnutls":"DH_ANON_AES_128_GCM_SHA256","nss":null},{"codepoint":"00A7","iana":"TLS_DH_anon_WITH_AES_256_GCM_SHA384","openssl":"ADH-AES256-GCM-SHA384","gnutls":"DH_ANON_AES_256_GCM_SHA384","nss":null},{"codepoint":"00A8","iana":"TLS_PSK_WITH_AES_128_GCM_SHA256","openssl":"PSK-AES128-GCM-SHA256","gnutls":"PSK_AES_128_GCM_SHA256","nss":null},{"codepoint":"00A9","iana":"TLS_PSK_WITH_AES_256_GCM_SHA384","openssl":"PSK-AES256-GCM-SHA384","gnutls":"PSK_AES_256_GCM_SHA384","nss":null},{"codepoint":"00AA","iana":"TLS_DHE_PSK_WITH_AES_128_GCM_SHA256","openssl":"DHE-PSK-AES128-GCM-SHA256","gnutls":"DHE_PSK_AES_128_GCM_SHA256","nss":"TLS_DHE_PSK_WITH_AES_128_GCM_SHA256"},{"codepoint":"00AB","iana":"TLS_DHE_PSK_WITH_AES_256_GCM_SHA384","openssl":"DHE-PSK-AES256-GCM-SHA384","gnutls":"DHE_PSK_AES_256_GCM_SHA384","nss":"TLS_DHE_PSK_WITH_AES_256_GCM_SHA384"},{"codepoint":"00AC","iana":"TLS_RSA_PSK_WITH_AES_128_GCM_SHA256","openssl":"RSA-PSK-AES128-GCM-SHA256","gnutls":"RSA_PSK_AES_128_GCM_SHA256","nss":null},{"codepoint":"00AD","iana":"TLS_RSA_PSK_WITH_AES_256_GCM_SHA384","openssl":"RSA-PSK-AES256-GCM-SHA384","gnutls":"RSA_PSK_AES_256_GCM_SHA384","nss":null},{"codepoint":"00AE","iana":"TLS_PSK_WITH_AES_128_CBC_SHA256","openssl":"PSK-AES128-CBC-SHA256","gnutls":"PSK_AES_128_CBC_SHA256","nss":null},{"codepoint":"00AF","iana":"TLS_PSK_WITH_AES_256_CBC_SHA384","openssl":"PSK-AES256-CBC-SHA384","gnutls":"PSK_AES_256_CBC_SHA384","nss":null},{"codepoint":"00B0","iana":"TLS_PSK_WITH_NULL_SHA256","openssl":"PSK-NULL-SHA256","gnutls":"PSK_NULL_SHA256","nss":null},{"codepoint":"00B1","iana":"TLS_PSK_WITH_NULL_SHA384","openssl":"PSK-NULL-SHA384","gnutls":"PSK_NULL_SHA384","nss":null},{"codepoint":"00B2","iana":"TLS_DHE_PSK_WITH_AES_128_CBC_SHA256","openssl":"DHE-PSK-AES128-CBC-SHA256","gnutls":"DHE_PSK_AES_128_CBC_SHA256","nss":null},{"codepoint":"00B3","iana":"TLS_DHE_PSK_WITH_AES_256_CBC_SHA384","openssl":"DHE-PSK-AES256-CBC-SHA384","gnutls":"DHE_PSK_AES_256_CBC_SHA384","nss":null},{"codepoint":"00B4","iana":"TLS_DHE_PSK_WITH_NULL_SHA256","openssl":"DHE-PSK-NULL-SHA256","gnutls":"DHE_PSK_NULL_SHA256","nss":null},{"codepoint":"00B5","iana":"TLS_DHE_PSK_WITH_NULL_SHA384","openssl":"DHE-PSK-NULL-SHA384","gnutls":"DHE_PSK_NULL_SHA384","nss":null},{"codepoint":"00B6","iana":"TLS_RSA_PSK_WITH_AES_128_CBC_SHA256","openssl":"RSA-PSK-AES128-CBC-SHA256","gnutls":"RSA_PSK_AES_128_CBC_SHA256","nss":null},{"codepoint":"00B7","iana":"TLS_RSA_PSK_WITH_AES_256_CBC_SHA384","openssl":"RSA-PSK-AES256-CBC-SHA384","gnutls":"RSA_PSK_AES_256_CBC_SHA384","nss":null},{"codepoint":"00B8","iana":"TLS_RSA_PSK_WITH_NULL_SHA256","openssl":"RSA-PSK-NULL-SHA256","gnutls":"RSA_PSK_NULL_SHA256","nss":null},{"codepoint":"00B9","iana":"TLS_RSA_PSK_WITH_NULL_SHA384","openssl":"RSA-PSK-NULL-SHA384","gnutls":"RSA_PSK_NULL_SHA384","nss":null},{"codepoint":"00BA","iana":"TLS_RSA_WITH_CAMELLIA_128_CBC_SHA256","openssl":"CAMELLIA128-SHA256","gnutls":"RSA_CAMELLIA_128_CBC_SHA256","nss":null},{"codepoint":"00BB","iana":"TLS_DH_DSS_WITH_CAMELLIA_128_CBC_SHA256","openssl":"DH-DSS-CAMELLIA128-SHA256","gnutls":null,"nss":null},{"codepoint":"00BC","iana":"TLS_DH_RSA_WITH_CAMELLIA_128_CBC_SHA256","openssl":"DH-RSA-CAMELLIA128-SHA256","gnutls":null,"nss":null},{"codepoint":"00BD","iana":"TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA256","openssl":"DHE-DSS-CAMELLIA128-SHA256","gnutls":"DHE_DSS_CAMELLIA_128_CBC_SHA256","nss":null},{"codepoint":"00BE","iana":"TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA256","openssl":"DHE-RSA-CAMELLIA128-SHA256","gnutls":"DHE_RSA_CAMELLIA_128_CBC_SHA256","nss":null},{"codepoint":"00BF","iana":"TLS_DH_anon_WITH_CAMELLIA_128_CBC_SHA256","openssl":"ADH-CAMELLIA128-SHA256","gnutls":"DH_ANON_CAMELLIA_128_CBC_SHA256","nss":null},{"codepoint":"00C0","iana":"TLS_RSA_WITH_CAMELLIA_256_CBC_SHA256","openssl":"CAMELLIA256-SHA256","gnutls":"RSA_CAMELLIA_256_CBC_SHA256","nss":null},{"codepoint":"00C1","iana":"TLS_DH_DSS_WITH_CAMELLIA_256_CBC_SHA256","openssl":"DH-DSS-CAMELLIA256-SHA256","gnutls":null,"nss":null},{"codepoint":"00C2","iana":"TLS_DH_RSA_WITH_CAMELLIA_256_CBC_SHA256","openssl":"DH-RSA-CAMELLIA256-SHA256","gnutls":null,"nss":null},{"codepoint":"00C3","iana":"TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA256","openssl":"DHE-DSS-CAMELLIA256-SHA256","gnutls":"DHE_DSS_CAMELLIA_256_CBC_SHA256","nss":null},{"codepoint":"00C4","iana":"TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA256","openssl":"DHE-RSA-CAMELLIA256-SHA256","gnutls":"DHE_RSA_CAMELLIA_256_CBC_SHA256","nss":null},{"codepoint":"00C5","iana":"TLS_DH_anon_WITH_CAMELLIA_256_CBC_SHA256","openssl":"ADH-CAMELLIA256-SHA256","gnutls":"DH_ANON_CAMELLIA_256_CBC_SHA256","nss":null},{"codepoint":"00C6","iana":"TLS_SM4_GCM_SM3","openssl":null,"gnutls":null,"nss":null},{"codepoint":"00C7","iana":"TLS_SM4_CCM_SM3","openssl":null,"gnutls":null,"nss":null},{"codepoint":"00FF","iana":"TLS_EMPTY_RENEGOTIATION_INFO_SCSV","openssl":null,"gnutls":null,"nss":"TLS_EMPTY_RENEGOTIATION_INFO_SCSV"},{"codepoint":"1301","iana":"TLS_AES_128_GCM_SHA256","openssl":"TLS_AES_128_GCM_SHA256","gnutls":"AES_128_GCM_SHA256","nss":"TLS_AES_128_GCM_SHA256"},{"codepoint":"1302","iana":"TLS_AES_256_GCM_SHA384","openssl":"TLS_AES_256_GCM_SHA384","gnutls":"AES_256_GCM_SHA384","nss":"TLS_AES_256_GCM_SHA384"},{"codepoint":"1303","iana":"TLS_CHACHA20_POLY1305_SHA256","openssl":"TLS_CHACHA20_POLY1305_SHA256","gnutls":"CHACHA20_POLY1305_SHA256","nss":"TLS_CHACHA20_POLY1305_SHA256"},{"codepoint":"1304","iana":"TLS_AES_128_CCM_SHA256","openssl":"TLS_AES_128_CCM_SHA256","gnutls":"AES_128_CCM_SHA256","nss":null},{"codepoint":"1305","iana":"TLS_AES_128_CCM_8_SHA256","openssl":"TLS_AES_128_CCM_8_SHA256","gnutls":"AES_128_CCM_8_SHA256","nss":null},{"codepoint":"5600","iana":"TLS_FALLBACK_SCSV","openssl":null,"gnutls":null,"nss":"TLS_FALLBACK_SCSV"},{"codepoint":"C001","iana":"TLS_ECDH_ECDSA_WITH_NULL_SHA","openssl":"ECDH-ECDSA-NULL-SHA","gnutls":null,"nss":"TLS_ECDH_ECDSA_WITH_NULL_SHA"},{"codepoint":"C002","iana":"TLS_ECDH_ECDSA_WITH_RC4_128_SHA","openssl":"ECDH-ECDSA-RC4-SHA","gnutls":null,"nss":"TLS_ECDH_ECDSA_WITH_RC4_128_SHA"},{"codepoint":"C003","iana":"TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA","openssl":"ECDH-ECDSA-DES-CBC3-SHA","gnutls":null,"nss":"TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA"},{"codepoint":"C004","iana":"TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA","openssl":"ECDH-ECDSA-AES128-SHA","gnutls":null,"nss":"TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA"},{"codepoint":"C005","iana":"TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA","openssl":"ECDH-ECDSA-AES256-SHA","gnutls":null,"nss":"TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA"},{"codepoint":"C006","iana":"TLS_ECDHE_ECDSA_WITH_NULL_SHA","openssl":"ECDHE-ECDSA-NULL-SHA","gnutls":"ECDHE_ECDSA_NULL_SHA1","nss":"TLS_ECDHE_ECDSA_WITH_NULL_SHA"},{"codepoint":"C007","iana":"TLS_ECDHE_ECDSA_WITH_RC4_128_SHA","openssl":"ECDHE-ECDSA-RC4-SHA","gnutls":"ECDHE_ECDSA_ARCFOUR_128_SHA1","nss":"TLS_ECDHE_ECDSA_WITH_RC4_128_SHA"},{"codepoint":"C008","iana":"TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA","openssl":"ECDHE-ECDSA-DES-CBC3-SHA","gnutls":"ECDHE_ECDSA_3DES_EDE_CBC_SHA1","nss":"TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA"},{"codepoint":"C009","iana":"TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA","openssl":"ECDHE-ECDSA-AES128-SHA","gnutls":"ECDHE_ECDSA_AES_128_CBC_SHA1","nss":"TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA"},{"codepoint":"C00A","iana":"TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA","openssl":"ECDHE-ECDSA-AES256-SHA","gnutls":"ECDHE_ECDSA_AES_256_CBC_SHA1","nss":"TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA"},{"codepoint":"C00B","iana":"TLS_ECDH_RSA_WITH_NULL_SHA","openssl":"ECDH-RSA-NULL-SHA","gnutls":null,"nss":"TLS_ECDH_RSA_WITH_NULL_SHA"},{"codepoint":"C00C","iana":"TLS_ECDH_RSA_WITH_RC4_128_SHA","openssl":"ECDH-RSA-RC4-SHA","gnutls":null,"nss":"TLS_ECDH_RSA_WITH_RC4_128_SHA"},{"codepoint":"C00D","iana":"TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA","openssl":"ECDH-RSA-DES-CBC3-SHA","gnutls":null,"nss":"TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA"},{"codepoint":"C00E","iana":"TLS_ECDH_RSA_WITH_AES_128_CBC_SHA","openssl":"ECDH-RSA-AES128-SHA","gnutls":null,"nss":"TLS_ECDH_RSA_WITH_AES_128_CBC_SHA"},{"codepoint":"C00F","iana":"TLS_ECDH_RSA_WITH_AES_256_CBC_SHA","openssl":"ECDH-RSA-AES256-SHA","gnutls":null,"nss":"TLS_ECDH_RSA_WITH_AES_256_CBC_SHA"},{"codepoint":"C010","iana":"TLS_ECDHE_RSA_WITH_NULL_SHA","openssl":"ECDHE-RSA-NULL-SHA","gnutls":"ECDHE_RSA_NULL_SHA1","nss":"TLS_ECDHE_RSA_WITH_NULL_SHA"},{"codepoint":"C011","iana":"TLS_ECDHE_RSA_WITH_RC4_128_SHA","openssl":"ECDHE-RSA-RC4-SHA","gnutls":"ECDHE_RSA_ARCFOUR_128_SHA1","nss":"TLS_ECDHE_RSA_WITH_RC4_128_SHA"},{"codepoint":"C012","iana":"TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA","openssl":"ECDHE-RSA-DES-CBC3-SHA","gnutls":"ECDHE_RSA_3DES_EDE_CBC_SHA1","nss":"TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA"},{"codepoint":"C013","iana":"TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA","openssl":"ECDHE-RSA-AES128-SHA","gnutls":"ECDHE_RSA_AES_128_CBC_SHA1","nss":"TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA"},{"codepoint":"C014","iana":"TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA","openssl":"ECDHE-RSA-AES256-SHA","gnutls":"ECDHE_RSA_AES_256_CBC_SHA1","nss":"TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA"},{"codepoint":"C015","iana":"TLS_ECDH_anon_WITH_NULL_SHA","openssl":"AECDH-NULL-SHA","gnutls":"ECDH_ANON_NULL_SHA1","nss":"TLS_ECDH_anon_WITH_NULL_SHA"},{"codepoint":"C016","iana":"TLS_ECDH_anon_WITH_RC4_128_SHA","openssl":"AECDH-RC4-SHA","gnutls":"ECDH_ANON_ARCFOUR_128_SHA1","nss":"TLS_ECDH_anon_WITH_RC4_128_SHA"},{"codepoint":"C017","iana":"TLS_ECDH_anon_WITH_3DES_EDE_CBC_SHA","openssl":"AECDH-DES-CBC3-SHA","gnutls":"ECDH_ANON_3DES_EDE_CBC_SHA1","nss":"TLS_ECDH_anon_WITH_3DES_EDE_CBC_SHA"},{"codepoint":"C018","iana":"TLS_ECDH_anon_WITH_AES_128_CBC_SHA","openssl":"AECDH-AES128-SHA","gnutls":"ECDH_ANON_AES_128_CBC_SHA1","nss":"TLS_ECDH_anon_WITH_AES_128_CBC_SHA"},{"codepoint":"C019","iana":"TLS_ECDH_anon_WITH_AES_256_CBC_SHA","openssl":"AECDH-AES256-SHA","gnutls":"ECDH_ANON_AES_256_CBC_SHA1","nss":"TLS_ECDH_anon_WITH_AES_256_CBC_SHA"},{"codepoint":"C01A","iana":"TLS_SRP_SHA_WITH_3DES_EDE_CBC_SHA","openssl":"SRP-3DES-EDE-CBC-SHA","gnutls":"SRP_SHA_3DES_EDE_CBC_SHA1","nss":null},{"codepoint":"C01B","iana":"TLS_SRP_SHA_RSA_WITH_3DES_EDE_CBC_SHA","openssl":"SRP-RSA-3DES-EDE-CBC-SHA","gnutls":"SRP_SHA_RSA_3DES_EDE_CBC_SHA1","nss":null},{"codepoint":"C01C","iana":"TLS_SRP_SHA_DSS_WITH_3DES_EDE_CBC_SHA","openssl":"SRP-DSS-3DES-EDE-CBC-SHA","gnutls":"SRP_SHA_DSS_3DES_EDE_CBC_SHA1","nss":null},{"codepoint":"C01D","iana":"TLS_SRP_SHA_WITH_AES_128_CBC_SHA","openssl":"SRP-AES-128-CBC-SHA","gnutls":"SRP_SHA_AES_128_CBC_SHA1","nss":null},{"codepoint":"C01E","iana":"TLS_SRP_SHA_RSA_WITH_AES_128_CBC_SHA","openssl":"SRP-RSA-AES-128-CBC-SHA","gnutls":"SRP_SHA_RSA_AES_128_CBC_SHA1","nss":null},{"codepoint":"C01F","iana":"TLS_SRP_SHA_DSS_WITH_AES_128_CBC_SHA","openssl":"SRP-DSS-AES-128-CBC-SHA","gnutls":"SRP_SHA_DSS_AES_128_CBC_SHA1","nss":null},{"codepoint":"C020","iana":"TLS_SRP_SHA_WITH_AES_256_CBC_SHA","openssl":"SRP-AES-256-CBC-SHA","gnutls":"SRP_SHA_AES_256_CBC_SHA1","nss":null},{"codepoint":"C021","iana":"TLS_SRP_SHA_RSA_WITH_AES_256_CBC_SHA","openssl":"SRP-RSA-AES-256-CBC-SHA","gnutls":"SRP_SHA_RSA_AES_256_CBC_SHA1","nss":null},{"codepoint":"C022","iana":"TLS_SRP_SHA_DSS_WITH_AES_256_CBC_SHA","openssl":"SRP-DSS-AES-256-CBC-SHA","gnutls":"SRP_SHA_DSS_AES_256_CBC_SHA1","nss":null},{"codepoint":"C023","iana":"TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256","openssl":"ECDHE-ECDSA-AES128-SHA256","gnutls":"ECDHE_ECDSA_AES_128_CBC_SHA256","nss":"TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256"},{"codepoint":"C024","iana":"TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384","openssl":"ECDHE-ECDSA-AES256-SHA384","gnutls":"ECDHE_ECDSA_AES_256_CBC_SHA384","nss":"TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384"},{"codepoint":"C025","iana":"TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256","openssl":"ECDH-ECDSA-AES128-SHA256","gnutls":null,"nss":null},{"codepoint":"C026","iana":"TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384","openssl":"ECDH-ECDSA-AES256-SHA384","gnutls":null,"nss":null},{"codepoint":"C027","iana":"TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256","openssl":"ECDHE-RSA-AES128-SHA256","gnutls":"ECDHE_RSA_AES_128_CBC_SHA256","nss":"TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256"},{"codepoint":"C028","iana":"TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384","openssl":"ECDHE-RSA-AES256-SHA384","gnutls":"ECDHE_RSA_AES_256_CBC_SHA384","nss":"TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384"},{"codepoint":"C029","iana":"TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256","openssl":"ECDH-RSA-AES128-SHA256","gnutls":null,"nss":null},{"codepoint":"C02A","iana":"TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384","openssl":"ECDH-RSA-AES256-SHA384","gnutls":null,"nss":null},{"codepoint":"C02B","iana":"TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256","openssl":"ECDHE-ECDSA-AES128-GCM-SHA256","gnutls":"ECDHE_ECDSA_AES_128_GCM_SHA256","nss":"TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256"},{"codepoint":"C02C","iana":"TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384","openssl":"ECDHE-ECDSA-AES256-GCM-SHA384","gnutls":"ECDHE_ECDSA_AES_256_GCM_SHA384","nss":"TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384"},{"codepoint":"C02D","iana":"TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256","openssl":"ECDH-ECDSA-AES128-GCM-SHA256","gnutls":null,"nss":"TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256"},{"codepoint":"C02E","iana":"TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384","openssl":"ECDH-ECDSA-AES256-GCM-SHA384","gnutls":null,"nss":null},{"codepoint":"C02F","iana":"TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256","openssl":"ECDHE-RSA-AES128-GCM-SHA256","gnutls":"ECDHE_RSA_AES_128_GCM_SHA256","nss":"TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256"},{"codepoint":"C030","iana":"TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384","openssl":"ECDHE-RSA-AES256-GCM-SHA384","gnutls":"ECDHE_RSA_AES_256_GCM_SHA384","nss":"TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384"},{"codepoint":"C031","iana":"TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256","openssl":"ECDH-RSA-AES128-GCM-SHA256","gnutls":null,"nss":"TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256"},{"codepoint":"C032","iana":"TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384","openssl":"ECDH-RSA-AES256-GCM-SHA384","gnutls":null,"nss":null},{"codepoint":"C033","iana":"TLS_ECDHE_PSK_WITH_RC4_128_SHA","openssl":"ECDHE-PSK-RC4-SHA","gnutls":"ECDHE_PSK_ARCFOUR_128_SHA1","nss":null},{"codepoint":"C034","iana":"TLS_ECDHE_PSK_WITH_3DES_EDE_CBC_SHA","openssl":"ECDHE-PSK-3DES-EDE-CBC-SHA","gnutls":"ECDHE_PSK_3DES_EDE_CBC_SHA1","nss":null},{"codepoint":"C035","iana":"TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA","openssl":"ECDHE-PSK-AES128-CBC-SHA","gnutls":"ECDHE_PSK_AES_128_CBC_SHA1","nss":null},{"codepoint":"C036","iana":"TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA","openssl":"ECDHE-PSK-AES256-CBC-SHA","gnutls":"ECDHE_PSK_AES_256_CBC_SHA1","nss":null},{"codepoint":"C037","iana":"TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA256","openssl":"ECDHE-PSK-AES128-CBC-SHA256","gnutls":"ECDHE_PSK_AES_128_CBC_SHA256","nss":null},{"codepoint":"C038","iana":"TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA384","openssl":"ECDHE-PSK-AES256-CBC-SHA384","gnutls":"ECDHE_PSK_AES_256_CBC_SHA384","nss":null},{"codepoint":"C039","iana":"TLS_ECDHE_PSK_WITH_NULL_SHA","openssl":"ECDHE-PSK-NULL-SHA","gnutls":"ECDHE_PSK_NULL_SHA1","nss":null},{"codepoint":"C03A","iana":"TLS_ECDHE_PSK_WITH_NULL_SHA256","openssl":"ECDHE-PSK-NULL-SHA256","gnutls":"ECDHE_PSK_NULL_SHA256","nss":null},{"codepoint":"C03B","iana":"TLS_ECDHE_PSK_WITH_NULL_SHA384","openssl":"ECDHE-PSK-NULL-SHA384","gnutls":"ECDHE_PSK_NULL_SHA384","nss":null},{"codepoint":"C03C","iana":"TLS_RSA_WITH_ARIA_128_CBC_SHA256","openssl":null,"gnutls":null,"nss":null},{"codepoint":"C03D","iana":"TLS_RSA_WITH_ARIA_256_CBC_SHA384","openssl":null,"gnutls":null,"nss":null},{"codepoint":"C03E","iana":"TLS_DH_DSS_WITH_ARIA_128_CBC_SHA256","openssl":null,"gnutls":null,"nss":null},{"codepoint":"C03F","iana":"TLS_DH_DSS_WITH_ARIA_256_CBC_SHA384","openssl":null,"gnutls":null,"nss":null},{"codepoint":"C040","iana":"TLS_DH_RSA_WITH_ARIA_128_CBC_SHA256","openssl":null,"gnutls":null,"nss":null},{"codepoint":"C041","iana":"TLS_DH_RSA_WITH_ARIA_256_CBC_SHA384","openssl":null,"gnutls":null,"nss":null},{"codepoint":"C042","iana":"TLS_DHE_DSS_WITH_ARIA_128_CBC_SHA256","openssl":null,"gnutls":null,"nss":null},{"codepoint":"C043","iana":"TLS_DHE_DSS_WITH_ARIA_256_CBC_SHA384","openssl":null,"gnutls":null,"nss":null},{"codepoint":"C044","iana":"TLS_DHE_RSA_WITH_ARIA_128_CBC_SHA256","openssl":null,"gnutls":null,"nss":null},{"codepoint":"C045","iana":"TLS_DHE_RSA_WITH_ARIA_256_CBC_SHA384","openssl":null,"gnutls":null,"nss":null},{"codepoint":"C046","iana":"TLS_DH_anon_WITH_ARIA_128_CBC_SHA256","openssl":null,"gnutls":null,"nss":null},{"codepoint":"C047","iana":"TLS_DH_anon_WITH_ARIA_256_CBC_SHA384","openssl":null,"gnutls":null,"nss":null},{"codepoint":"C048","iana":"TLS_ECDHE_ECDSA_WITH_ARIA_128_CBC_SHA256","openssl":null,"gnutls":null,"nss":null},{"codepoint":"C049","iana":"TLS_ECDHE_ECDSA_WITH_ARIA_256_CBC_SHA384","openssl":null,"gnutls":null,"nss":null},{"codepoint":"C04A","iana":"TLS_ECDH_ECDSA_WITH_ARIA_128_CBC_SHA256","openssl":null,"gnutls":null,"nss":null},{"codepoint":"C04B","iana":"TLS_ECDH_ECDSA_WITH_ARIA_256_CBC_SHA384","openssl":null,"gnutls":null,"nss":null},{"codepoint":"C04C","iana":"TLS_ECDHE_RSA_WITH_ARIA_128_CBC_SHA256","openssl":null,"gnutls":null,"nss":null},{"codepoint":"C04D","iana":"TLS_ECDHE_RSA_WITH_ARIA_256_CBC_SHA384","openssl":null,"gnutls":null,"nss":null},{"codepoint":"C04E","iana":"TLS_ECDH_RSA_WITH_ARIA_128_CBC_SHA256","openssl":null,"gnutls":null,"nss":null},{"codepoint":"C04F","iana":"TLS_ECDH_RSA_WITH_ARIA_256_CBC_SHA384","openssl":null,"gnutls":null,"nss":null},{"codepoint":"C050","iana":"TLS_RSA_WITH_ARIA_128_GCM_SHA256","openssl":"ARIA128-GCM-SHA256","gnutls":null,"nss":null},{"codepoint":"C051","iana":"TLS_RSA_WITH_ARIA_256_GCM_SHA384","openssl":"ARIA256-GCM-SHA384","gnutls":null,"nss":null},{"codepoint":"C052","iana":"TLS_DHE_RSA_WITH_ARIA_128_GCM_SHA256","openssl":"DHE-RSA-ARIA128-GCM-SHA256","gnutls":null,"nss":null},{"codepoint":"C053","iana":"TLS_DHE_RSA_WITH_ARIA_256_GCM_SHA384","openssl":"DHE-RSA-ARIA256-GCM-SHA384","gnutls":null,"nss":null},{"codepoint":"C054","iana":"TLS_DH_RSA_WITH_ARIA_128_GCM_SHA256","openssl":"DH-RSA-ARIA128-GCM-SHA256","gnutls":null,"nss":null},{"codepoint":"C055","iana":"TLS_DH_RSA_WITH_ARIA_256_GCM_SHA384","openssl":"DH-RSA-ARIA256-GCM-SHA384","gnutls":null,"nss":null},{"codepoint":"C056","iana":"TLS_DHE_DSS_WITH_ARIA_128_GCM_SHA256","openssl":"DHE-DSS-ARIA128-GCM-SHA256","gnutls":null,"nss":null},{"codepoint":"C057","iana":"TLS_DHE_DSS_WITH_ARIA_256_GCM_SHA384","openssl":"DHE-DSS-ARIA256-GCM-SHA384","gnutls":null,"nss":null},{"codepoint":"C058","iana":"TLS_DH_DSS_WITH_ARIA_128_GCM_SHA256","openssl":"DH-DSS-ARIA128-GCM-SHA256","gnutls":null,"nss":null},{"codepoint":"C059","iana":"TLS_DH_DSS_WITH_ARIA_256_GCM_SHA384","openssl":"DH-DSS-ARIA256-GCM-SHA384","gnutls":null,"nss":null},{"codepoint":"C05A","iana":"TLS_DH_anon_WITH_ARIA_128_GCM_SHA256","openssl":"ADH-ARIA128-GCM-SHA256","gnutls":null,"nss":null},{"codepoint":"C05B","iana":"TLS_DH_anon_WITH_ARIA_256_GCM_SHA384","openssl":"ADH-ARIA256-GCM-SHA384","gnutls":null,"nss":null},{"codepoint":"C05C","iana":"TLS_ECDHE_ECDSA_WITH_ARIA_128_GCM_SHA256","openssl":"ECDHE-ECDSA-ARIA128-GCM-SHA256","gnutls":null,"nss":null},{"codepoint":"C05D","iana":"TLS_ECDHE_ECDSA_WITH_ARIA_256_GCM_SHA384","openssl":"ECDHE-ECDSA-ARIA256-GCM-SHA384","gnutls":null,"nss":null},{"codepoint":"C05E","iana":"TLS_ECDH_ECDSA_WITH_ARIA_128_GCM_SHA256","openssl":"ECDH-ECDSA-ARIA128-GCM-SHA256","gnutls":null,"nss":null},{"codepoint":"C05F","iana":"TLS_ECDH_ECDSA_WITH_ARIA_256_GCM_SHA384","openssl":"ECDH-ECDSA-ARIA256-GCM-SHA384","gnutls":null,"nss":null},{"codepoint":"C060","iana":"TLS_ECDHE_RSA_WITH_ARIA_128_GCM_SHA256","openssl":"ECDHE-ARIA128-GCM-SHA256","gnutls":null,"nss":null},{"codepoint":"C061","iana":"TLS_ECDHE_RSA_WITH_ARIA_256_GCM_SHA384","openssl":"ECDHE-ARIA256-GCM-SHA384","gnutls":null,"nss":null},{"codepoint":"C062","iana":"TLS_ECDH_RSA_WITH_ARIA_128_GCM_SHA256","openssl":"ECDH-ARIA128-GCM-SHA256","gnutls":null,"nss":null},{"codepoint":"C063","iana":"TLS_ECDH_RSA_WITH_ARIA_256_GCM_SHA384","openssl":"ECDH-ARIA256-GCM-SHA384","gnutls":null,"nss":null},{"codepoint":"C064","iana":"TLS_PSK_WITH_ARIA_128_CBC_SHA256","openssl":null,"gnutls":null,"nss":null},{"codepoint":"C065","iana":"TLS_PSK_WITH_ARIA_256_CBC_SHA384","openssl":null,"gnutls":null,"nss":null},{"codepoint":"C066","iana":"TLS_DHE_PSK_WITH_ARIA_128_CBC_SHA256","openssl":null,"gnutls":null,"nss":null},{"codepoint":"C067","iana":"TLS_DHE_PSK_WITH_ARIA_256_CBC_SHA384","openssl":null,"gnutls":null,"nss":null},{"codepoint":"C068","iana":"TLS_RSA_PSK_WITH_ARIA_128_CBC_SHA256","openssl":null,"gnutls":null,"nss":null},{"codepoint":"C069","iana":"TLS_RSA_PSK_WITH_ARIA_256_CBC_SHA384","openssl":null,"gnutls":null,"nss":null},{"codepoint":"C06A","iana":"TLS_PSK_WITH_ARIA_128_GCM_SHA256","openssl":"PSK-ARIA128-GCM-SHA256","gnutls":null,"nss":null},{"codepoint":"C06B","iana":"TLS_PSK_WITH_ARIA_256_GCM_SHA384","openssl":"PSK-ARIA256-GCM-SHA384","gnutls":null,"nss":null},{"codepoint":"C06C","iana":"TLS_DHE_PSK_WITH_ARIA_128_GCM_SHA256","openssl":"DHE-PSK-ARIA128-GCM-SHA256","gnutls":null,"nss":null},{"codepoint":"C06D","iana":"TLS_DHE_PSK_WITH_ARIA_256_GCM_SHA384","openssl":"DHE-PSK-ARIA256-GCM-SHA384","gnutls":null,"nss":null},{"codepoint":"C06E","iana":"TLS_RSA_PSK_WITH_ARIA_128_GCM_SHA256","openssl":"RSA-PSK-ARIA128-GCM-SHA256","gnutls":null,"nss":null},{"codepoint":"C06F","iana":"TLS_RSA_PSK_WITH_ARIA_256_GCM_SHA384","openssl":"RSA-PSK-ARIA256-GCM-SHA384","gnutls":null,"nss":null},{"codepoint":"C070","iana":"TLS_ECDHE_PSK_WITH_ARIA_128_CBC_SHA256","openssl":null,"gnutls":null,"nss":null},{"codepoint":"C071","iana":"TLS_ECDHE_PSK_WITH_ARIA_256_CBC_SHA384","openssl":null,"gnutls":null,"nss":null},{"codepoint":"C072","iana":"TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_CBC_SHA256","openssl":"ECDHE-ECDSA-CAMELLIA128-SHA256","gnutls":"ECDHE_ECDSA_CAMELLIA_128_CBC_SHA256","nss":null},{"codepoint":"C073","iana":"TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_CBC_SHA384","openssl":"ECDHE-ECDSA-CAMELLIA256-SHA384","gnutls":"ECDHE_ECDSA_CAMELLIA_256_CBC_SHA384","nss":null},{"codepoint":"C074","iana":"TLS_ECDH_ECDSA_WITH_CAMELLIA_128_CBC_SHA256","openssl":"ECDH-ECDSA-CAMELLIA128-SHA256","gnutls":null,"nss":null},{"codepoint":"C075","iana":"TLS_ECDH_ECDSA_WITH_CAMELLIA_256_CBC_SHA384","openssl":"ECDH-ECDSA-CAMELLIA256-SHA384","gnutls":null,"nss":null},{"codepoint":"C076","iana":"TLS_ECDHE_RSA_WITH_CAMELLIA_128_CBC_SHA256","openssl":"ECDHE-RSA-CAMELLIA128-SHA256","gnutls":"ECDHE_RSA_CAMELLIA_128_CBC_SHA256","nss":null},{"codepoint":"C077","iana":"TLS_ECDHE_RSA_WITH_CAMELLIA_256_CBC_SHA384","openssl":"ECDHE-RSA-CAMELLIA256-SHA384","gnutls":"ECDHE_RSA_CAMELLIA_256_CBC_SHA384","nss":null},{"codepoint":"C078","iana":"TLS_ECDH_RSA_WITH_CAMELLIA_128_CBC_SHA256","openssl":"ECDH-RSA-CAMELLIA128-SHA256","gnutls":null,"nss":null},{"codepoint":"C079","iana":"TLS_ECDH_RSA_WITH_CAMELLIA_256_CBC_SHA384","openssl":"ECDH-RSA-CAMELLIA256-SHA384","gnutls":null,"nss":null},{"codepoint":"C07A","iana":"TLS_RSA_WITH_CAMELLIA_128_GCM_SHA256","openssl":null,"gnutls":"RSA_CAMELLIA_128_GCM_SHA256","nss":null},{"codepoint":"C07B","iana":"TLS_RSA_WITH_CAMELLIA_256_GCM_SHA384","openssl":null,"gnutls":"RSA_CAMELLIA_256_GCM_SHA384","nss":null},{"codepoint":"C07C","iana":"TLS_DHE_RSA_WITH_CAMELLIA_128_GCM_SHA256","openssl":null,"gnutls":"DHE_RSA_CAMELLIA_128_GCM_SHA256","nss":null},{"codepoint":"C07D","iana":"TLS_DHE_RSA_WITH_CAMELLIA_256_GCM_SHA384","openssl":null,"gnutls":"DHE_RSA_CAMELLIA_256_GCM_SHA384","nss":null},{"codepoint":"C07E","iana":"TLS_DH_RSA_WITH_CAMELLIA_128_GCM_SHA256","openssl":null,"gnutls":null,"nss":null},{"codepoint":"C07F","iana":"TLS_DH_RSA_WITH_CAMELLIA_256_GCM_SHA384","openssl":null,"gnutls":null,"nss":null},{"codepoint":"C080","iana":"TLS_DHE_DSS_WITH_CAMELLIA_128_GCM_SHA256","openssl":null,"gnutls":"DHE_DSS_CAMELLIA_128_GCM_SHA256","nss":null},{"codepoint":"C081","iana":"TLS_DHE_DSS_WITH_CAMELLIA_256_GCM_SHA384","openssl":null,"gnutls":"DHE_DSS_CAMELLIA_256_GCM_SHA384","nss":null},{"codepoint":"C082","iana":"TLS_DH_DSS_WITH_CAMELLIA_128_GCM_SHA256","openssl":null,"gnutls":null,"nss":null},{"codepoint":"C083","iana":"TLS_DH_DSS_WITH_CAMELLIA_256_GCM_SHA384","openssl":null,"gnutls":null,"nss":null},{"codepoint":"C084","iana":"TLS_DH_anon_WITH_CAMELLIA_128_GCM_SHA256","openssl":null,"gnutls":"DH_ANON_CAMELLIA_128_GCM_SHA256","nss":null},{"codepoint":"C085","iana":"TLS_DH_anon_WITH_CAMELLIA_256_GCM_SHA384","openssl":null,"gnutls":"DH_ANON_CAMELLIA_256_GCM_SHA384","nss":null},{"codepoint":"C086","iana":"TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_GCM_SHA256","openssl":null,"gnutls":"ECDHE_ECDSA_CAMELLIA_128_GCM_SHA256","nss":null},{"codepoint":"C087","iana":"TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_GCM_SHA384","openssl":null,"gnutls":"ECDHE_ECDSA_CAMELLIA_256_GCM_SHA384","nss":null},{"codepoint":"C088","iana":"TLS_ECDH_ECDSA_WITH_CAMELLIA_128_GCM_SHA256","openssl":null,"gnutls":null,"nss":null},{"codepoint":"C089","iana":"TLS_ECDH_ECDSA_WITH_CAMELLIA_256_GCM_SHA384","openssl":null,"gnutls":null,"nss":null},{"codepoint":"C08A","iana":"TLS_ECDHE_RSA_WITH_CAMELLIA_128_GCM_SHA256","openssl":null,"gnutls":"ECDHE_RSA_CAMELLIA_128_GCM_SHA256","nss":null},{"codepoint":"C08B","iana":"TLS_ECDHE_RSA_WITH_CAMELLIA_256_GCM_SHA384","openssl":null,"gnutls":"ECDHE_RSA_CAMELLIA_256_GCM_SHA384","nss":null},{"codepoint":"C08C","iana":"TLS_ECDH_RSA_WITH_CAMELLIA_128_GCM_SHA256","openssl":null,"gnutls":null,"nss":null},{"codepoint":"C08D","iana":"TLS_ECDH_RSA_WITH_CAMELLIA_256_GCM_SHA384","openssl":null,"gnutls":null,"nss":null},{"codepoint":"C08E","iana":"TLS_PSK_WITH_CAMELLIA_128_GCM_SHA256","openssl":null,"gnutls":"PSK_CAMELLIA_128_GCM_SHA256","nss":null},{"codepoint":"C08F","iana":"TLS_PSK_WITH_CAMELLIA_256_GCM_SHA384","openssl":null,"gnutls":"PSK_CAMELLIA_256_GCM_SHA384","nss":null},{"codepoint":"C090","iana":"TLS_DHE_PSK_WITH_CAMELLIA_128_GCM_SHA256","openssl":null,"gnutls":"DHE_PSK_CAMELLIA_128_GCM_SHA256","nss":null},{"codepoint":"C091","iana":"TLS_DHE_PSK_WITH_CAMELLIA_256_GCM_SHA384","openssl":null,"gnutls":"DHE_PSK_CAMELLIA_256_GCM_SHA384","nss":null},{"codepoint":"C092","iana":"TLS_RSA_PSK_WITH_CAMELLIA_128_GCM_SHA256","openssl":null,"gnutls":"RSA_PSK_CAMELLIA_128_GCM_SHA256","nss":null},{"codepoint":"C093","iana":"TLS_RSA_PSK_WITH_CAMELLIA_256_GCM_SHA384","openssl":null,"gnutls":"RSA_PSK_CAMELLIA_256_GCM_SHA384","nss":null},{"codepoint":"C094","iana":"TLS_PSK_WITH_CAMELLIA_128_CBC_SHA256","openssl":"PSK-CAMELLIA128-SHA256","gnutls":"PSK_CAMELLIA_128_CBC_SHA256","nss":null},{"codepoint":"C095","iana":"TLS_PSK_WITH_CAMELLIA_256_CBC_SHA384","openssl":"PSK-CAMELLIA256-SHA384","gnutls":"PSK_CAMELLIA_256_CBC_SHA384","nss":null},{"codepoint":"C096","iana":"TLS_DHE_PSK_WITH_CAMELLIA_128_CBC_SHA256","openssl":"DHE-PSK-CAMELLIA128-SHA256","gnutls":"DHE_PSK_CAMELLIA_128_CBC_SHA256","nss":null},{"codepoint":"C097","iana":"TLS_DHE_PSK_WITH_CAMELLIA_256_CBC_SHA384","openssl":"DHE-PSK-CAMELLIA256-SHA384","gnutls":"DHE_PSK_CAMELLIA_256_CBC_SHA384","nss":null},{"codepoint":"C098","iana":"TLS_RSA_PSK_WITH_CAMELLIA_128_CBC_SHA256","openssl":"RSA-PSK-CAMELLIA128-SHA256","gnutls":"RSA_PSK_CAMELLIA_128_CBC_SHA256","nss":null},{"codepoint":"C099","iana":"TLS_RSA_PSK_WITH_CAMELLIA_256_CBC_SHA384","openssl":"RSA-PSK-CAMELLIA256-SHA384","gnutls":"RSA_PSK_CAMELLIA_256_CBC_SHA384","nss":null},{"codepoint":"C09A","iana":"TLS_ECDHE_PSK_WITH_CAMELLIA_128_CBC_SHA256","openssl":"ECDHE-PSK-CAMELLIA128-SHA256","gnutls":"ECDHE_PSK_CAMELLIA_128_CBC_SHA256","nss":null},{"codepoint":"C09B","iana":"TLS_ECDHE_PSK_WITH_CAMELLIA_256_CBC_SHA384","openssl":"ECDHE-PSK-CAMELLIA256-SHA384","gnutls":"ECDHE_PSK_CAMELLIA_256_CBC_SHA384","nss":null},{"codepoint":"C09C","iana":"TLS_RSA_WITH_AES_128_CCM","openssl":"AES128-CCM","gnutls":"RSA_AES_128_CCM","nss":null},{"codepoint":"C09D","iana":"TLS_RSA_WITH_AES_256_CCM","openssl":"AES256-CCM","gnutls":"RSA_AES_256_CCM","nss":null},{"codepoint":"C09E","iana":"TLS_DHE_RSA_WITH_AES_128_CCM","openssl":"DHE-RSA-AES128-CCM","gnutls":"DHE_RSA_AES_128_CCM","nss":null},{"codepoint":"C09F","iana":"TLS_DHE_RSA_WITH_AES_256_CCM","openssl":"DHE-RSA-AES256-CCM","gnutls":"DHE_RSA_AES_256_CCM","nss":null},{"codepoint":"C0A0","iana":"TLS_RSA_WITH_AES_128_CCM_8","openssl":"AES128-CCM8","gnutls":"RSA_AES_128_CCM_8","nss":null},{"codepoint":"C0A1","iana":"TLS_RSA_WITH_AES_256_CCM_8","openssl":"AES256-CCM8","gnutls":"RSA_AES_256_CCM_8","nss":null},{"codepoint":"C0A2","iana":"TLS_DHE_RSA_WITH_AES_128_CCM_8","openssl":"DHE-RSA-AES128-CCM8","gnutls":"DHE_RSA_AES_128_CCM_8","nss":null},{"codepoint":"C0A3","iana":"TLS_DHE_RSA_WITH_AES_256_CCM_8","openssl":"DHE-RSA-AES256-CCM8","gnutls":"DHE_RSA_AES_256_CCM_8","nss":null},{"codepoint":"C0A4","iana":"TLS_PSK_WITH_AES_128_CCM","openssl":"PSK-AES128-CCM","gnutls":"PSK_AES_128_CCM","nss":null},{"codepoint":"C0A5","iana":"TLS_PSK_WITH_AES_256_CCM","openssl":"PSK-AES256-CCM","gnutls":"PSK_AES_256_CCM","nss":null},{"codepoint":"C0A6","iana":"TLS_DHE_PSK_WITH_AES_128_CCM","openssl":"DHE-PSK-AES128-CCM","gnutls":"DHE_PSK_AES_128_CCM","nss":null},{"codepoint":"C0A7","iana":"TLS_DHE_PSK_WITH_AES_256_CCM","openssl":"DHE-PSK-AES256-CCM","gnutls":"DHE_PSK_AES_256_CCM","nss":null},{"codepoint":"C0A8","iana":"TLS_PSK_WITH_AES_128_CCM_8","openssl":"PSK-AES128-CCM8","gnutls":"PSK_AES_128_CCM_8","nss":null},{"codepoint":"C0A9","iana":"TLS_PSK_WITH_AES_256_CCM_8","openssl":"PSK-AES256-CCM8","gnutls":"PSK_AES_256_CCM_8","nss":null},{"codepoint":"C0AA","iana":"TLS_PSK_DHE_WITH_AES_128_CCM_8","openssl":"DHE-PSK-AES128-CCM8","gnutls":"DHE_PSK_AES_128_CCM_8","nss":null},{"codepoint":"C0AB","iana":"TLS_PSK_DHE_WITH_AES_256_CCM_8","openssl":"DHE-PSK-AES256-CCM8","gnutls":"DHE_PSK_AES_256_CCM_8","nss":null},{"codepoint":"C0AC","iana":"TLS_ECDHE_ECDSA_WITH_AES_128_CCM","openssl":"ECDHE-ECDSA-AES128-CCM","gnutls":"ECDHE_ECDSA_AES_128_CCM","nss":null},{"codepoint":"C0AD","iana":"TLS_ECDHE_ECDSA_WITH_AES_256_CCM","openssl":"ECDHE-ECDSA-AES256-CCM","gnutls":"ECDHE_ECDSA_AES_256_CCM","nss":null},{"codepoint":"C0AE","iana":"TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8","openssl":"ECDHE-ECDSA-AES128-CCM8","gnutls":"ECDHE_ECDSA_AES_128_CCM_8","nss":null},{"codepoint":"C0AF","iana":"TLS_ECDHE_ECDSA_WITH_AES_256_CCM_8","openssl":"ECDHE-ECDSA-AES256-CCM8","gnutls":"ECDHE_ECDSA_AES_256_CCM_8","nss":null},{"codepoint":"C0B0","iana":"TLS_ECCPWD_WITH_AES_128_GCM_SHA256","openssl":null,"gnutls":null,"nss":null},{"codepoint":"C0B1","iana":"TLS_ECCPWD_WITH_AES_256_GCM_SHA384","openssl":null,"gnutls":null,"nss":null},{"codepoint":"C0B2","iana":"TLS_ECCPWD_WITH_AES_128_CCM_SHA256","openssl":null,"gnutls":null,"nss":null},{"codepoint":"C0B3","iana":"TLS_ECCPWD_WITH_AES_256_CCM_SHA384","openssl":null,"gnutls":null,"nss":null},{"codepoint":"C0B4","iana":"TLS_SHA256_SHA256","openssl":null,"gnutls":null,"nss":null},{"codepoint":"C0B5","iana":"TLS_SHA384_SHA384","openssl":null,"gnutls":null,"nss":null},{"codepoint":"C100","iana":"TLS_GOSTR341112_256_WITH_KUZNYECHIK_CTR_OMAC","openssl":null,"gnutls":null,"nss":null},{"codepoint":"C101","iana":"TLS_GOSTR341112_256_WITH_MAGMA_CTR_OMAC","openssl":null,"gnutls":null,"nss":null},{"codepoint":"C102","iana":"TLS_GOSTR341112_256_WITH_28147_CNT_IMIT","openssl":null,"gnutls":"GOSTR341112_256_28147_CNT_IMIT","nss":null},{"codepoint":"C103","iana":"TLS_GOSTR341112_256_WITH_KUZNYECHIK_MGM_L","openssl":null,"gnutls":null,"nss":null},{"codepoint":"C104","iana":"TLS_GOSTR341112_256_WITH_MAGMA_MGM_L","openssl":null,"gnutls":null,"nss":null},{"codepoint":"C105","iana":"TLS_GOSTR341112_256_WITH_KUZNYECHIK_MGM_S","openssl":null,"gnutls":null,"nss":null},{"codepoint":"C106","iana":"TLS_GOSTR341112_256_WITH_MAGMA_MGM_S","openssl":null,"gnutls":null,"nss":null},{"codepoint":"CCA8","iana":"TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256","openssl":"ECDHE-RSA-CHACHA20-POLY1305","gnutls":"ECDHE_RSA_CHACHA20_POLY1305","nss":"TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256"},{"codepoint":"CCA9","iana":"TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256","openssl":"ECDHE-ECDSA-CHACHA20-POLY1305","gnutls":"ECDHE_ECDSA_CHACHA20_POLY1305","nss":"TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256"},{"codepoint":"CCAA","iana":"TLS_DHE_RSA_WITH_CHACHA20_POLY1305_SHA256","openssl":"DHE-RSA-CHACHA20-POLY1305","gnutls":"DHE_RSA_CHACHA20_POLY1305","nss":"TLS_DHE_RSA_WITH_CHACHA20_POLY1305_SHA256"},{"codepoint":"CCAB","iana":"TLS_PSK_WITH_CHACHA20_POLY1305_SHA256","openssl":"PSK-CHACHA20-POLY1305","gnutls":"PSK_CHACHA20_POLY1305","nss":null},{"codepoint":"CCAC","iana":"TLS_ECDHE_PSK_WITH_CHACHA20_POLY1305_SHA256","openssl":"ECDHE-PSK-CHACHA20-POLY1305","gnutls":"ECDHE_PSK_CHACHA20_POLY1305","nss":"TLS_ECDHE_PSK_WITH_CHACHA20_POLY1305_SHA256"},{"codepoint":"CCAD","iana":"TLS_DHE_PSK_WITH_CHACHA20_POLY1305_SHA256","openssl":"DHE-PSK-CHACHA20-POLY1305","gnutls":"DHE_PSK_CHACHA20_POLY1305","nss":"TLS_DHE_PSK_WITH_CHACHA20_POLY1305_SHA256"},{"codepoint":"CCAE","iana":"TLS_RSA_PSK_WITH_CHACHA20_POLY1305_SHA256","openssl":"RSA-PSK-CHACHA20-POLY1305","gnutls":"RSA_PSK_CHACHA20_POLY1305","nss":null},{"codepoint":"D001","iana":"TLS_ECDHE_PSK_WITH_AES_128_GCM_SHA256","openssl":null,"gnutls":null,"nss":"TLS_ECDHE_PSK_WITH_AES_128_GCM_SHA256"},{"codepoint":"D002","iana":"TLS_ECDHE_PSK_WITH_AES_256_GCM_SHA384","openssl":null,"gnutls":null,"nss":"TLS_ECDHE_PSK_WITH_AES_256_GCM_SHA384"},{"codepoint":"D003","iana":"TLS_ECDHE_PSK_WITH_AES_128_CCM_8_SHA256","openssl":null,"gnutls":null,"nss":null},{"codepoint":"D005","iana":"TLS_ECDHE_PSK_WITH_AES_128_CCM_SHA256","openssl":null,"gnutls":null,"nss":null}]
1
+ [{"codepoint":"0000","iana":"TLS_NULL_WITH_NULL_NULL","openssl":null,"gnutls":null,"nss":"TLS_NULL_WITH_NULL_NULL"},{"codepoint":"0001","iana":"TLS_RSA_WITH_NULL_MD5","openssl":"NULL-MD5","gnutls":"RSA_NULL_MD5","nss":"TLS_RSA_WITH_NULL_MD5"},{"codepoint":"0002","iana":"TLS_RSA_WITH_NULL_SHA","openssl":"NULL-SHA","gnutls":"RSA_NULL_SHA1","nss":"TLS_RSA_WITH_NULL_SHA"},{"codepoint":"0003","iana":"TLS_RSA_EXPORT_WITH_RC4_40_MD5","openssl":"EXP-RC4-MD5","gnutls":null,"nss":"TLS_RSA_EXPORT_WITH_RC4_40_MD5"},{"codepoint":"0004","iana":"TLS_RSA_WITH_RC4_128_MD5","openssl":"RC4-MD5","gnutls":"RSA_ARCFOUR_128_MD5","nss":"TLS_RSA_WITH_RC4_128_MD5"},{"codepoint":"0005","iana":"TLS_RSA_WITH_RC4_128_SHA","openssl":"RC4-SHA","gnutls":"RSA_ARCFOUR_128_SHA1","nss":"TLS_RSA_WITH_RC4_128_SHA"},{"codepoint":"0006","iana":"TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5","openssl":"EXP-RC2-CBC-MD5","gnutls":null,"nss":"TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5"},{"codepoint":"0007","iana":"TLS_RSA_WITH_IDEA_CBC_SHA","openssl":"IDEA-CBC-SHA","gnutls":null,"nss":"TLS_RSA_WITH_IDEA_CBC_SHA"},{"codepoint":"0008","iana":"TLS_RSA_EXPORT_WITH_DES40_CBC_SHA","openssl":"EXP-DES-CBC-SHA","gnutls":null,"nss":"TLS_RSA_EXPORT_WITH_DES40_CBC_SHA"},{"codepoint":"0009","iana":"TLS_RSA_WITH_DES_CBC_SHA","openssl":"DES-CBC-SHA","gnutls":null,"nss":"TLS_RSA_WITH_DES_CBC_SHA"},{"codepoint":"000A","iana":"TLS_RSA_WITH_3DES_EDE_CBC_SHA","openssl":"DES-CBC3-SHA","gnutls":"RSA_3DES_EDE_CBC_SHA1","nss":"TLS_RSA_WITH_3DES_EDE_CBC_SHA"},{"codepoint":"000B","iana":"TLS_DH_DSS_EXPORT_WITH_DES40_CBC_SHA","openssl":"EXP-DH-DSS-DES-CBC-SHA","gnutls":null,"nss":"TLS_DH_DSS_EXPORT_WITH_DES40_CBC_SHA"},{"codepoint":"000C","iana":"TLS_DH_DSS_WITH_DES_CBC_SHA","openssl":"DH-DSS-DES-CBC-SHA","gnutls":null,"nss":"TLS_DH_DSS_WITH_DES_CBC_SHA"},{"codepoint":"000D","iana":"TLS_DH_DSS_WITH_3DES_EDE_CBC_SHA","openssl":"DH-DSS-DES-CBC3-SHA","gnutls":null,"nss":"TLS_DH_DSS_WITH_3DES_EDE_CBC_SHA"},{"codepoint":"000E","iana":"TLS_DH_RSA_EXPORT_WITH_DES40_CBC_SHA","openssl":"EXP-DH-RSA-DES-CBC-SHA","gnutls":null,"nss":"TLS_DH_RSA_EXPORT_WITH_DES40_CBC_SHA"},{"codepoint":"000F","iana":"TLS_DH_RSA_WITH_DES_CBC_SHA","openssl":"DH-RSA-DES-CBC-SHA","gnutls":null,"nss":"TLS_DH_RSA_WITH_DES_CBC_SHA"},{"codepoint":"0010","iana":"TLS_DH_RSA_WITH_3DES_EDE_CBC_SHA","openssl":"DH-RSA-DES-CBC3-SHA","gnutls":null,"nss":"TLS_DH_RSA_WITH_3DES_EDE_CBC_SHA"},{"codepoint":"0011","iana":"TLS_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA","openssl":"EXP-DHE-DSS-DES-CBC-SHA","gnutls":null,"nss":"TLS_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA"},{"codepoint":"0012","iana":"TLS_DHE_DSS_WITH_DES_CBC_SHA","openssl":"DHE-DSS-DES-CBC-SHA","gnutls":null,"nss":"TLS_DHE_DSS_WITH_DES_CBC_SHA"},{"codepoint":"0013","iana":"TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA","openssl":"DHE-DSS-DES-CBC3-SHA","gnutls":"DHE_DSS_3DES_EDE_CBC_SHA1","nss":"TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA"},{"codepoint":"0014","iana":"TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA","openssl":"EXP-DHE-RSA-DES-CBC-SHA","gnutls":null,"nss":"TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA"},{"codepoint":"0015","iana":"TLS_DHE_RSA_WITH_DES_CBC_SHA","openssl":"DHE-RSA-DES-CBC-SHA","gnutls":null,"nss":"TLS_DHE_RSA_WITH_DES_CBC_SHA"},{"codepoint":"0016","iana":"TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA","openssl":"DHE-RSA-DES-CBC3-SHA","gnutls":"DHE_RSA_3DES_EDE_CBC_SHA1","nss":"TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA"},{"codepoint":"0017","iana":"TLS_DH_anon_EXPORT_WITH_RC4_40_MD5","openssl":"EXP-ADH-RC4-MD5","gnutls":null,"nss":"TLS_DH_anon_EXPORT_WITH_RC4_40_MD5"},{"codepoint":"0018","iana":"TLS_DH_anon_WITH_RC4_128_MD5","openssl":"ADH-RC4-MD5","gnutls":"DH_ANON_ARCFOUR_128_MD5","nss":"TLS_DH_anon_WITH_RC4_128_MD5"},{"codepoint":"0019","iana":"TLS_DH_anon_EXPORT_WITH_DES40_CBC_SHA","openssl":"EXP-ADH-DES-CBC-SHA","gnutls":null,"nss":"TLS_DH_anon_EXPORT_WITH_DES40_CBC_SHA"},{"codepoint":"001A","iana":"TLS_DH_anon_WITH_DES_CBC_SHA","openssl":"ADH-DES-CBC-SHA","gnutls":null,"nss":"TLS_DH_anon_WITH_DES_CBC_SHA"},{"codepoint":"001B","iana":"TLS_DH_anon_WITH_3DES_EDE_CBC_SHA","openssl":"ADH-DES-CBC3-SHA","gnutls":"DH_ANON_3DES_EDE_CBC_SHA1","nss":"TLS_DH_anon_WITH_3DES_EDE_CBC_SHA"},{"codepoint":"001E","iana":"TLS_KRB5_WITH_DES_CBC_SHA","openssl":null,"gnutls":null,"nss":null},{"codepoint":"001F","iana":"TLS_KRB5_WITH_3DES_EDE_CBC_SHA","openssl":null,"gnutls":null,"nss":null},{"codepoint":"0020","iana":"TLS_KRB5_WITH_RC4_128_SHA","openssl":null,"gnutls":null,"nss":null},{"codepoint":"0021","iana":"TLS_KRB5_WITH_IDEA_CBC_SHA","openssl":null,"gnutls":null,"nss":null},{"codepoint":"0022","iana":"TLS_KRB5_WITH_DES_CBC_MD5","openssl":null,"gnutls":null,"nss":null},{"codepoint":"0023","iana":"TLS_KRB5_WITH_3DES_EDE_CBC_MD5","openssl":null,"gnutls":null,"nss":null},{"codepoint":"0024","iana":"TLS_KRB5_WITH_RC4_128_MD5","openssl":null,"gnutls":null,"nss":null},{"codepoint":"0025","iana":"TLS_KRB5_WITH_IDEA_CBC_MD5","openssl":null,"gnutls":null,"nss":null},{"codepoint":"0026","iana":"TLS_KRB5_EXPORT_WITH_DES_CBC_40_SHA","openssl":null,"gnutls":null,"nss":null},{"codepoint":"0027","iana":"TLS_KRB5_EXPORT_WITH_RC2_CBC_40_SHA","openssl":null,"gnutls":null,"nss":null},{"codepoint":"0028","iana":"TLS_KRB5_EXPORT_WITH_RC4_40_SHA","openssl":null,"gnutls":null,"nss":null},{"codepoint":"0029","iana":"TLS_KRB5_EXPORT_WITH_DES_CBC_40_MD5","openssl":null,"gnutls":null,"nss":null},{"codepoint":"002A","iana":"TLS_KRB5_EXPORT_WITH_RC2_CBC_40_MD5","openssl":null,"gnutls":null,"nss":null},{"codepoint":"002B","iana":"TLS_KRB5_EXPORT_WITH_RC4_40_MD5","openssl":null,"gnutls":null,"nss":null},{"codepoint":"002C","iana":"TLS_PSK_WITH_NULL_SHA","openssl":"PSK-NULL-SHA","gnutls":"PSK_NULL_SHA1","nss":null},{"codepoint":"002D","iana":"TLS_DHE_PSK_WITH_NULL_SHA","openssl":"DHE-PSK-NULL-SHA","gnutls":"DHE_PSK_NULL_SHA1","nss":null},{"codepoint":"002E","iana":"TLS_RSA_PSK_WITH_NULL_SHA","openssl":"RSA-PSK-NULL-SHA","gnutls":"RSA_PSK_NULL_SHA1","nss":null},{"codepoint":"002F","iana":"TLS_RSA_WITH_AES_128_CBC_SHA","openssl":"AES128-SHA","gnutls":"RSA_AES_128_CBC_SHA1","nss":"TLS_RSA_WITH_AES_128_CBC_SHA"},{"codepoint":"0030","iana":"TLS_DH_DSS_WITH_AES_128_CBC_SHA","openssl":"DH-DSS-AES128-SHA","gnutls":null,"nss":"TLS_DH_DSS_WITH_AES_128_CBC_SHA"},{"codepoint":"0031","iana":"TLS_DH_RSA_WITH_AES_128_CBC_SHA","openssl":"DH-RSA-AES128-SHA","gnutls":null,"nss":"TLS_DH_RSA_WITH_AES_128_CBC_SHA"},{"codepoint":"0032","iana":"TLS_DHE_DSS_WITH_AES_128_CBC_SHA","openssl":"DHE-DSS-AES128-SHA","gnutls":"DHE_DSS_AES_128_CBC_SHA1","nss":"TLS_DHE_DSS_WITH_AES_128_CBC_SHA"},{"codepoint":"0033","iana":"TLS_DHE_RSA_WITH_AES_128_CBC_SHA","openssl":"DHE-RSA-AES128-SHA","gnutls":"DHE_RSA_AES_128_CBC_SHA1","nss":"TLS_DHE_RSA_WITH_AES_128_CBC_SHA"},{"codepoint":"0034","iana":"TLS_DH_anon_WITH_AES_128_CBC_SHA","openssl":"ADH-AES128-SHA","gnutls":"DH_ANON_AES_128_CBC_SHA1","nss":"TLS_DH_anon_WITH_AES_128_CBC_SHA"},{"codepoint":"0035","iana":"TLS_RSA_WITH_AES_256_CBC_SHA","openssl":"AES256-SHA","gnutls":"RSA_AES_256_CBC_SHA1","nss":"TLS_RSA_WITH_AES_256_CBC_SHA"},{"codepoint":"0036","iana":"TLS_DH_DSS_WITH_AES_256_CBC_SHA","openssl":"DH-DSS-AES256-SHA","gnutls":null,"nss":"TLS_DH_DSS_WITH_AES_256_CBC_SHA"},{"codepoint":"0037","iana":"TLS_DH_RSA_WITH_AES_256_CBC_SHA","openssl":"DH-RSA-AES256-SHA","gnutls":null,"nss":"TLS_DH_RSA_WITH_AES_256_CBC_SHA"},{"codepoint":"0038","iana":"TLS_DHE_DSS_WITH_AES_256_CBC_SHA","openssl":"DHE-DSS-AES256-SHA","gnutls":"DHE_DSS_AES_256_CBC_SHA1","nss":"TLS_DHE_DSS_WITH_AES_256_CBC_SHA"},{"codepoint":"0039","iana":"TLS_DHE_RSA_WITH_AES_256_CBC_SHA","openssl":"DHE-RSA-AES256-SHA","gnutls":"DHE_RSA_AES_256_CBC_SHA1","nss":"TLS_DHE_RSA_WITH_AES_256_CBC_SHA"},{"codepoint":"003A","iana":"TLS_DH_anon_WITH_AES_256_CBC_SHA","openssl":"ADH-AES256-SHA","gnutls":"DH_ANON_AES_256_CBC_SHA1","nss":"TLS_DH_anon_WITH_AES_256_CBC_SHA"},{"codepoint":"003B","iana":"TLS_RSA_WITH_NULL_SHA256","openssl":"NULL-SHA256","gnutls":"RSA_NULL_SHA256","nss":"TLS_RSA_WITH_NULL_SHA256"},{"codepoint":"003C","iana":"TLS_RSA_WITH_AES_128_CBC_SHA256","openssl":"AES128-SHA256","gnutls":"RSA_AES_128_CBC_SHA256","nss":"TLS_RSA_WITH_AES_128_CBC_SHA256"},{"codepoint":"003D","iana":"TLS_RSA_WITH_AES_256_CBC_SHA256","openssl":"AES256-SHA256","gnutls":"RSA_AES_256_CBC_SHA256","nss":"TLS_RSA_WITH_AES_256_CBC_SHA256"},{"codepoint":"003E","iana":"TLS_DH_DSS_WITH_AES_128_CBC_SHA256","openssl":"DH-DSS-AES128-SHA256","gnutls":null,"nss":null},{"codepoint":"003F","iana":"TLS_DH_RSA_WITH_AES_128_CBC_SHA256","openssl":"DH-RSA-AES128-SHA256","gnutls":null,"nss":null},{"codepoint":"0040","iana":"TLS_DHE_DSS_WITH_AES_128_CBC_SHA256","openssl":"DHE-DSS-AES128-SHA256","gnutls":"DHE_DSS_AES_128_CBC_SHA256","nss":"TLS_DHE_DSS_WITH_AES_128_CBC_SHA256"},{"codepoint":"0041","iana":"TLS_RSA_WITH_CAMELLIA_128_CBC_SHA","openssl":"CAMELLIA128-SHA","gnutls":"RSA_CAMELLIA_128_CBC_SHA1","nss":"TLS_RSA_WITH_CAMELLIA_128_CBC_SHA"},{"codepoint":"0042","iana":"TLS_DH_DSS_WITH_CAMELLIA_128_CBC_SHA","openssl":"DH-DSS-CAMELLIA128-SHA","gnutls":null,"nss":"TLS_DH_DSS_WITH_CAMELLIA_128_CBC_SHA"},{"codepoint":"0043","iana":"TLS_DH_RSA_WITH_CAMELLIA_128_CBC_SHA","openssl":"DH-RSA-CAMELLIA128-SHA","gnutls":null,"nss":"TLS_DH_RSA_WITH_CAMELLIA_128_CBC_SHA"},{"codepoint":"0044","iana":"TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA","openssl":"DHE-DSS-CAMELLIA128-SHA","gnutls":"DHE_DSS_CAMELLIA_128_CBC_SHA1","nss":"TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA"},{"codepoint":"0045","iana":"TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA","openssl":"DHE-RSA-CAMELLIA128-SHA","gnutls":"DHE_RSA_CAMELLIA_128_CBC_SHA1","nss":"TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA"},{"codepoint":"0046","iana":"TLS_DH_anon_WITH_CAMELLIA_128_CBC_SHA","openssl":"ADH-CAMELLIA128-SHA","gnutls":"DH_ANON_CAMELLIA_128_CBC_SHA1","nss":"TLS_DH_anon_WITH_CAMELLIA_128_CBC_SHA"},{"codepoint":"0067","iana":"TLS_DHE_RSA_WITH_AES_128_CBC_SHA256","openssl":"DHE-RSA-AES128-SHA256","gnutls":"DHE_RSA_AES_128_CBC_SHA256","nss":"TLS_DHE_RSA_WITH_AES_128_CBC_SHA256"},{"codepoint":"0068","iana":"TLS_DH_DSS_WITH_AES_256_CBC_SHA256","openssl":"DH-DSS-AES256-SHA256","gnutls":null,"nss":null},{"codepoint":"0069","iana":"TLS_DH_RSA_WITH_AES_256_CBC_SHA256","openssl":"DH-RSA-AES256-SHA256","gnutls":null,"nss":null},{"codepoint":"006A","iana":"TLS_DHE_DSS_WITH_AES_256_CBC_SHA256","openssl":"DHE-DSS-AES256-SHA256","gnutls":"DHE_DSS_AES_256_CBC_SHA256","nss":"TLS_DHE_DSS_WITH_AES_256_CBC_SHA256"},{"codepoint":"006B","iana":"TLS_DHE_RSA_WITH_AES_256_CBC_SHA256","openssl":"DHE-RSA-AES256-SHA256","gnutls":"DHE_RSA_AES_256_CBC_SHA256","nss":"TLS_DHE_RSA_WITH_AES_256_CBC_SHA256"},{"codepoint":"006C","iana":"TLS_DH_anon_WITH_AES_128_CBC_SHA256","openssl":"ADH-AES128-SHA256","gnutls":"DH_ANON_AES_128_CBC_SHA256","nss":null},{"codepoint":"006D","iana":"TLS_DH_anon_WITH_AES_256_CBC_SHA256","openssl":"ADH-AES256-SHA256","gnutls":"DH_ANON_AES_256_CBC_SHA256","nss":null},{"codepoint":"0084","iana":"TLS_RSA_WITH_CAMELLIA_256_CBC_SHA","openssl":"CAMELLIA256-SHA","gnutls":"RSA_CAMELLIA_256_CBC_SHA1","nss":"TLS_RSA_WITH_CAMELLIA_256_CBC_SHA"},{"codepoint":"0085","iana":"TLS_DH_DSS_WITH_CAMELLIA_256_CBC_SHA","openssl":"DH-DSS-CAMELLIA256-SHA","gnutls":null,"nss":"TLS_DH_DSS_WITH_CAMELLIA_256_CBC_SHA"},{"codepoint":"0086","iana":"TLS_DH_RSA_WITH_CAMELLIA_256_CBC_SHA","openssl":"DH-RSA-CAMELLIA256-SHA","gnutls":null,"nss":"TLS_DH_RSA_WITH_CAMELLIA_256_CBC_SHA"},{"codepoint":"0087","iana":"TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA","openssl":"DHE-DSS-CAMELLIA256-SHA","gnutls":"DHE_DSS_CAMELLIA_256_CBC_SHA1","nss":"TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA"},{"codepoint":"0088","iana":"TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA","openssl":"DHE-RSA-CAMELLIA256-SHA","gnutls":"DHE_RSA_CAMELLIA_256_CBC_SHA1","nss":"TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA"},{"codepoint":"0089","iana":"TLS_DH_anon_WITH_CAMELLIA_256_CBC_SHA","openssl":"ADH-CAMELLIA256-SHA","gnutls":"DH_ANON_CAMELLIA_256_CBC_SHA1","nss":"TLS_DH_anon_WITH_CAMELLIA_256_CBC_SHA"},{"codepoint":"008A","iana":"TLS_PSK_WITH_RC4_128_SHA","openssl":"PSK-RC4-SHA","gnutls":"PSK_ARCFOUR_128_SHA1","nss":null},{"codepoint":"008B","iana":"TLS_PSK_WITH_3DES_EDE_CBC_SHA","openssl":"PSK-3DES-EDE-CBC-SHA","gnutls":"PSK_3DES_EDE_CBC_SHA1","nss":null},{"codepoint":"008C","iana":"TLS_PSK_WITH_AES_128_CBC_SHA","openssl":"PSK-AES128-CBC-SHA","gnutls":"PSK_AES_128_CBC_SHA1","nss":null},{"codepoint":"008D","iana":"TLS_PSK_WITH_AES_256_CBC_SHA","openssl":"PSK-AES256-CBC-SHA","gnutls":"PSK_AES_256_CBC_SHA1","nss":null},{"codepoint":"008E","iana":"TLS_DHE_PSK_WITH_RC4_128_SHA","openssl":"DHE-PSK-RC4-SHA","gnutls":"DHE_PSK_ARCFOUR_128_SHA1","nss":null},{"codepoint":"008F","iana":"TLS_DHE_PSK_WITH_3DES_EDE_CBC_SHA","openssl":"DHE-PSK-3DES-EDE-CBC-SHA","gnutls":"DHE_PSK_3DES_EDE_CBC_SHA1","nss":null},{"codepoint":"0090","iana":"TLS_DHE_PSK_WITH_AES_128_CBC_SHA","openssl":"DHE-PSK-AES128-CBC-SHA","gnutls":"DHE_PSK_AES_128_CBC_SHA1","nss":null},{"codepoint":"0091","iana":"TLS_DHE_PSK_WITH_AES_256_CBC_SHA","openssl":"DHE-PSK-AES256-CBC-SHA","gnutls":"DHE_PSK_AES_256_CBC_SHA1","nss":null},{"codepoint":"0092","iana":"TLS_RSA_PSK_WITH_RC4_128_SHA","openssl":"RSA-PSK-RC4-SHA","gnutls":"RSA_PSK_ARCFOUR_128_SHA1","nss":null},{"codepoint":"0093","iana":"TLS_RSA_PSK_WITH_3DES_EDE_CBC_SHA","openssl":"RSA-PSK-3DES-EDE-CBC-SHA","gnutls":"RSA_PSK_3DES_EDE_CBC_SHA1","nss":null},{"codepoint":"0094","iana":"TLS_RSA_PSK_WITH_AES_128_CBC_SHA","openssl":"RSA-PSK-AES128-CBC-SHA","gnutls":"RSA_PSK_AES_128_CBC_SHA1","nss":null},{"codepoint":"0095","iana":"TLS_RSA_PSK_WITH_AES_256_CBC_SHA","openssl":"RSA-PSK-AES256-CBC-SHA","gnutls":"RSA_PSK_AES_256_CBC_SHA1","nss":null},{"codepoint":"0096","iana":"TLS_RSA_WITH_SEED_CBC_SHA","openssl":"SEED-SHA","gnutls":null,"nss":"TLS_RSA_WITH_SEED_CBC_SHA"},{"codepoint":"0097","iana":"TLS_DH_DSS_WITH_SEED_CBC_SHA","openssl":"DH-DSS-SEED-SHA","gnutls":null,"nss":null},{"codepoint":"0098","iana":"TLS_DH_RSA_WITH_SEED_CBC_SHA","openssl":"DH-RSA-SEED-SHA","gnutls":null,"nss":null},{"codepoint":"0099","iana":"TLS_DHE_DSS_WITH_SEED_CBC_SHA","openssl":"DHE-DSS-SEED-SHA","gnutls":null,"nss":null},{"codepoint":"009A","iana":"TLS_DHE_RSA_WITH_SEED_CBC_SHA","openssl":"DHE-RSA-SEED-SHA","gnutls":null,"nss":null},{"codepoint":"009B","iana":"TLS_DH_anon_WITH_SEED_CBC_SHA","openssl":"ADH-SEED-SHA","gnutls":null,"nss":null},{"codepoint":"009C","iana":"TLS_RSA_WITH_AES_128_GCM_SHA256","openssl":"AES128-GCM-SHA256","gnutls":"RSA_AES_128_GCM_SHA256","nss":"TLS_RSA_WITH_AES_128_GCM_SHA256"},{"codepoint":"009D","iana":"TLS_RSA_WITH_AES_256_GCM_SHA384","openssl":"AES256-GCM-SHA384","gnutls":"RSA_AES_256_GCM_SHA384","nss":"TLS_RSA_WITH_AES_256_GCM_SHA384"},{"codepoint":"009E","iana":"TLS_DHE_RSA_WITH_AES_128_GCM_SHA256","openssl":"DHE-RSA-AES128-GCM-SHA256","gnutls":"DHE_RSA_AES_128_GCM_SHA256","nss":"TLS_DHE_RSA_WITH_AES_128_GCM_SHA256"},{"codepoint":"009F","iana":"TLS_DHE_RSA_WITH_AES_256_GCM_SHA384","openssl":"DHE-RSA-AES256-GCM-SHA384","gnutls":"DHE_RSA_AES_256_GCM_SHA384","nss":"TLS_DHE_RSA_WITH_AES_256_GCM_SHA384"},{"codepoint":"00A0","iana":"TLS_DH_RSA_WITH_AES_128_GCM_SHA256","openssl":"DH-RSA-AES128-GCM-SHA256","gnutls":null,"nss":null},{"codepoint":"00A1","iana":"TLS_DH_RSA_WITH_AES_256_GCM_SHA384","openssl":"DH-RSA-AES256-GCM-SHA384","gnutls":null,"nss":null},{"codepoint":"00A2","iana":"TLS_DHE_DSS_WITH_AES_128_GCM_SHA256","openssl":"DHE-DSS-AES128-GCM-SHA256","gnutls":"DHE_DSS_AES_128_GCM_SHA256","nss":"TLS_DHE_DSS_WITH_AES_128_GCM_SHA256"},{"codepoint":"00A3","iana":"TLS_DHE_DSS_WITH_AES_256_GCM_SHA384","openssl":"DHE-DSS-AES256-GCM-SHA384","gnutls":"DHE_DSS_AES_256_GCM_SHA384","nss":"TLS_DHE_DSS_WITH_AES_256_GCM_SHA384"},{"codepoint":"00A4","iana":"TLS_DH_DSS_WITH_AES_128_GCM_SHA256","openssl":"DH-DSS-AES128-GCM-SHA256","gnutls":null,"nss":null},{"codepoint":"00A5","iana":"TLS_DH_DSS_WITH_AES_256_GCM_SHA384","openssl":"DH-DSS-AES256-GCM-SHA384","gnutls":null,"nss":null},{"codepoint":"00A6","iana":"TLS_DH_anon_WITH_AES_128_GCM_SHA256","openssl":"ADH-AES128-GCM-SHA256","gnutls":"DH_ANON_AES_128_GCM_SHA256","nss":null},{"codepoint":"00A7","iana":"TLS_DH_anon_WITH_AES_256_GCM_SHA384","openssl":"ADH-AES256-GCM-SHA384","gnutls":"DH_ANON_AES_256_GCM_SHA384","nss":null},{"codepoint":"00A8","iana":"TLS_PSK_WITH_AES_128_GCM_SHA256","openssl":"PSK-AES128-GCM-SHA256","gnutls":"PSK_AES_128_GCM_SHA256","nss":null},{"codepoint":"00A9","iana":"TLS_PSK_WITH_AES_256_GCM_SHA384","openssl":"PSK-AES256-GCM-SHA384","gnutls":"PSK_AES_256_GCM_SHA384","nss":null},{"codepoint":"00AA","iana":"TLS_DHE_PSK_WITH_AES_128_GCM_SHA256","openssl":"DHE-PSK-AES128-GCM-SHA256","gnutls":"DHE_PSK_AES_128_GCM_SHA256","nss":"TLS_DHE_PSK_WITH_AES_128_GCM_SHA256"},{"codepoint":"00AB","iana":"TLS_DHE_PSK_WITH_AES_256_GCM_SHA384","openssl":"DHE-PSK-AES256-GCM-SHA384","gnutls":"DHE_PSK_AES_256_GCM_SHA384","nss":"TLS_DHE_PSK_WITH_AES_256_GCM_SHA384"},{"codepoint":"00AC","iana":"TLS_RSA_PSK_WITH_AES_128_GCM_SHA256","openssl":"RSA-PSK-AES128-GCM-SHA256","gnutls":"RSA_PSK_AES_128_GCM_SHA256","nss":null},{"codepoint":"00AD","iana":"TLS_RSA_PSK_WITH_AES_256_GCM_SHA384","openssl":"RSA-PSK-AES256-GCM-SHA384","gnutls":"RSA_PSK_AES_256_GCM_SHA384","nss":null},{"codepoint":"00AE","iana":"TLS_PSK_WITH_AES_128_CBC_SHA256","openssl":"PSK-AES128-CBC-SHA256","gnutls":"PSK_AES_128_CBC_SHA256","nss":null},{"codepoint":"00AF","iana":"TLS_PSK_WITH_AES_256_CBC_SHA384","openssl":"PSK-AES256-CBC-SHA384","gnutls":"PSK_AES_256_CBC_SHA384","nss":null},{"codepoint":"00B0","iana":"TLS_PSK_WITH_NULL_SHA256","openssl":"PSK-NULL-SHA256","gnutls":"PSK_NULL_SHA256","nss":null},{"codepoint":"00B1","iana":"TLS_PSK_WITH_NULL_SHA384","openssl":"PSK-NULL-SHA384","gnutls":"PSK_NULL_SHA384","nss":null},{"codepoint":"00B2","iana":"TLS_DHE_PSK_WITH_AES_128_CBC_SHA256","openssl":"DHE-PSK-AES128-CBC-SHA256","gnutls":"DHE_PSK_AES_128_CBC_SHA256","nss":null},{"codepoint":"00B3","iana":"TLS_DHE_PSK_WITH_AES_256_CBC_SHA384","openssl":"DHE-PSK-AES256-CBC-SHA384","gnutls":"DHE_PSK_AES_256_CBC_SHA384","nss":null},{"codepoint":"00B4","iana":"TLS_DHE_PSK_WITH_NULL_SHA256","openssl":"DHE-PSK-NULL-SHA256","gnutls":"DHE_PSK_NULL_SHA256","nss":null},{"codepoint":"00B5","iana":"TLS_DHE_PSK_WITH_NULL_SHA384","openssl":"DHE-PSK-NULL-SHA384","gnutls":"DHE_PSK_NULL_SHA384","nss":null},{"codepoint":"00B6","iana":"TLS_RSA_PSK_WITH_AES_128_CBC_SHA256","openssl":"RSA-PSK-AES128-CBC-SHA256","gnutls":"RSA_PSK_AES_128_CBC_SHA256","nss":null},{"codepoint":"00B7","iana":"TLS_RSA_PSK_WITH_AES_256_CBC_SHA384","openssl":"RSA-PSK-AES256-CBC-SHA384","gnutls":"RSA_PSK_AES_256_CBC_SHA384","nss":null},{"codepoint":"00B8","iana":"TLS_RSA_PSK_WITH_NULL_SHA256","openssl":"RSA-PSK-NULL-SHA256","gnutls":"RSA_PSK_NULL_SHA256","nss":null},{"codepoint":"00B9","iana":"TLS_RSA_PSK_WITH_NULL_SHA384","openssl":"RSA-PSK-NULL-SHA384","gnutls":"RSA_PSK_NULL_SHA384","nss":null},{"codepoint":"00BA","iana":"TLS_RSA_WITH_CAMELLIA_128_CBC_SHA256","openssl":"CAMELLIA128-SHA256","gnutls":"RSA_CAMELLIA_128_CBC_SHA256","nss":null},{"codepoint":"00BB","iana":"TLS_DH_DSS_WITH_CAMELLIA_128_CBC_SHA256","openssl":"DH-DSS-CAMELLIA128-SHA256","gnutls":null,"nss":null},{"codepoint":"00BC","iana":"TLS_DH_RSA_WITH_CAMELLIA_128_CBC_SHA256","openssl":"DH-RSA-CAMELLIA128-SHA256","gnutls":null,"nss":null},{"codepoint":"00BD","iana":"TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA256","openssl":"DHE-DSS-CAMELLIA128-SHA256","gnutls":"DHE_DSS_CAMELLIA_128_CBC_SHA256","nss":null},{"codepoint":"00BE","iana":"TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA256","openssl":"DHE-RSA-CAMELLIA128-SHA256","gnutls":"DHE_RSA_CAMELLIA_128_CBC_SHA256","nss":null},{"codepoint":"00BF","iana":"TLS_DH_anon_WITH_CAMELLIA_128_CBC_SHA256","openssl":"ADH-CAMELLIA128-SHA256","gnutls":"DH_ANON_CAMELLIA_128_CBC_SHA256","nss":null},{"codepoint":"00C0","iana":"TLS_RSA_WITH_CAMELLIA_256_CBC_SHA256","openssl":"CAMELLIA256-SHA256","gnutls":"RSA_CAMELLIA_256_CBC_SHA256","nss":null},{"codepoint":"00C1","iana":"TLS_DH_DSS_WITH_CAMELLIA_256_CBC_SHA256","openssl":"DH-DSS-CAMELLIA256-SHA256","gnutls":null,"nss":null},{"codepoint":"00C2","iana":"TLS_DH_RSA_WITH_CAMELLIA_256_CBC_SHA256","openssl":"DH-RSA-CAMELLIA256-SHA256","gnutls":null,"nss":null},{"codepoint":"00C3","iana":"TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA256","openssl":"DHE-DSS-CAMELLIA256-SHA256","gnutls":"DHE_DSS_CAMELLIA_256_CBC_SHA256","nss":null},{"codepoint":"00C4","iana":"TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA256","openssl":"DHE-RSA-CAMELLIA256-SHA256","gnutls":"DHE_RSA_CAMELLIA_256_CBC_SHA256","nss":null},{"codepoint":"00C5","iana":"TLS_DH_anon_WITH_CAMELLIA_256_CBC_SHA256","openssl":"ADH-CAMELLIA256-SHA256","gnutls":"DH_ANON_CAMELLIA_256_CBC_SHA256","nss":null},{"codepoint":"00C6","iana":"TLS_SM4_GCM_SM3","openssl":null,"gnutls":null,"nss":null},{"codepoint":"00C7","iana":"TLS_SM4_CCM_SM3","openssl":null,"gnutls":null,"nss":null},{"codepoint":"00FF","iana":"TLS_EMPTY_RENEGOTIATION_INFO_SCSV","openssl":null,"gnutls":null,"nss":"TLS_EMPTY_RENEGOTIATION_INFO_SCSV"},{"codepoint":"1301","iana":"TLS_AES_128_GCM_SHA256","openssl":"TLS_AES_128_GCM_SHA256","gnutls":"AES_128_GCM_SHA256","nss":"TLS_AES_128_GCM_SHA256"},{"codepoint":"1302","iana":"TLS_AES_256_GCM_SHA384","openssl":"TLS_AES_256_GCM_SHA384","gnutls":"AES_256_GCM_SHA384","nss":"TLS_AES_256_GCM_SHA384"},{"codepoint":"1303","iana":"TLS_CHACHA20_POLY1305_SHA256","openssl":"TLS_CHACHA20_POLY1305_SHA256","gnutls":"CHACHA20_POLY1305_SHA256","nss":"TLS_CHACHA20_POLY1305_SHA256"},{"codepoint":"1304","iana":"TLS_AES_128_CCM_SHA256","openssl":"TLS_AES_128_CCM_SHA256","gnutls":"AES_128_CCM_SHA256","nss":null},{"codepoint":"1305","iana":"TLS_AES_128_CCM_8_SHA256","openssl":"TLS_AES_128_CCM_8_SHA256","gnutls":"AES_128_CCM_8_SHA256","nss":null},{"codepoint":"1306","iana":"TLS_AEGIS_256_SHA512","openssl":null,"gnutls":null,"nss":null},{"codepoint":"1307","iana":"TLS_AEGIS_128L_SHA256","openssl":null,"gnutls":null,"nss":null},{"codepoint":"5600","iana":"TLS_FALLBACK_SCSV","openssl":null,"gnutls":null,"nss":"TLS_FALLBACK_SCSV"},{"codepoint":"C001","iana":"TLS_ECDH_ECDSA_WITH_NULL_SHA","openssl":"ECDH-ECDSA-NULL-SHA","gnutls":null,"nss":"TLS_ECDH_ECDSA_WITH_NULL_SHA"},{"codepoint":"C002","iana":"TLS_ECDH_ECDSA_WITH_RC4_128_SHA","openssl":"ECDH-ECDSA-RC4-SHA","gnutls":null,"nss":"TLS_ECDH_ECDSA_WITH_RC4_128_SHA"},{"codepoint":"C003","iana":"TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA","openssl":"ECDH-ECDSA-DES-CBC3-SHA","gnutls":null,"nss":"TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA"},{"codepoint":"C004","iana":"TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA","openssl":"ECDH-ECDSA-AES128-SHA","gnutls":null,"nss":"TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA"},{"codepoint":"C005","iana":"TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA","openssl":"ECDH-ECDSA-AES256-SHA","gnutls":null,"nss":"TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA"},{"codepoint":"C006","iana":"TLS_ECDHE_ECDSA_WITH_NULL_SHA","openssl":"ECDHE-ECDSA-NULL-SHA","gnutls":"ECDHE_ECDSA_NULL_SHA1","nss":"TLS_ECDHE_ECDSA_WITH_NULL_SHA"},{"codepoint":"C007","iana":"TLS_ECDHE_ECDSA_WITH_RC4_128_SHA","openssl":"ECDHE-ECDSA-RC4-SHA","gnutls":"ECDHE_ECDSA_ARCFOUR_128_SHA1","nss":"TLS_ECDHE_ECDSA_WITH_RC4_128_SHA"},{"codepoint":"C008","iana":"TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA","openssl":"ECDHE-ECDSA-DES-CBC3-SHA","gnutls":"ECDHE_ECDSA_3DES_EDE_CBC_SHA1","nss":"TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA"},{"codepoint":"C009","iana":"TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA","openssl":"ECDHE-ECDSA-AES128-SHA","gnutls":"ECDHE_ECDSA_AES_128_CBC_SHA1","nss":"TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA"},{"codepoint":"C00A","iana":"TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA","openssl":"ECDHE-ECDSA-AES256-SHA","gnutls":"ECDHE_ECDSA_AES_256_CBC_SHA1","nss":"TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA"},{"codepoint":"C00B","iana":"TLS_ECDH_RSA_WITH_NULL_SHA","openssl":"ECDH-RSA-NULL-SHA","gnutls":null,"nss":"TLS_ECDH_RSA_WITH_NULL_SHA"},{"codepoint":"C00C","iana":"TLS_ECDH_RSA_WITH_RC4_128_SHA","openssl":"ECDH-RSA-RC4-SHA","gnutls":null,"nss":"TLS_ECDH_RSA_WITH_RC4_128_SHA"},{"codepoint":"C00D","iana":"TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA","openssl":"ECDH-RSA-DES-CBC3-SHA","gnutls":null,"nss":"TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA"},{"codepoint":"C00E","iana":"TLS_ECDH_RSA_WITH_AES_128_CBC_SHA","openssl":"ECDH-RSA-AES128-SHA","gnutls":null,"nss":"TLS_ECDH_RSA_WITH_AES_128_CBC_SHA"},{"codepoint":"C00F","iana":"TLS_ECDH_RSA_WITH_AES_256_CBC_SHA","openssl":"ECDH-RSA-AES256-SHA","gnutls":null,"nss":"TLS_ECDH_RSA_WITH_AES_256_CBC_SHA"},{"codepoint":"C010","iana":"TLS_ECDHE_RSA_WITH_NULL_SHA","openssl":"ECDHE-RSA-NULL-SHA","gnutls":"ECDHE_RSA_NULL_SHA1","nss":"TLS_ECDHE_RSA_WITH_NULL_SHA"},{"codepoint":"C011","iana":"TLS_ECDHE_RSA_WITH_RC4_128_SHA","openssl":"ECDHE-RSA-RC4-SHA","gnutls":"ECDHE_RSA_ARCFOUR_128_SHA1","nss":"TLS_ECDHE_RSA_WITH_RC4_128_SHA"},{"codepoint":"C012","iana":"TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA","openssl":"ECDHE-RSA-DES-CBC3-SHA","gnutls":"ECDHE_RSA_3DES_EDE_CBC_SHA1","nss":"TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA"},{"codepoint":"C013","iana":"TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA","openssl":"ECDHE-RSA-AES128-SHA","gnutls":"ECDHE_RSA_AES_128_CBC_SHA1","nss":"TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA"},{"codepoint":"C014","iana":"TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA","openssl":"ECDHE-RSA-AES256-SHA","gnutls":"ECDHE_RSA_AES_256_CBC_SHA1","nss":"TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA"},{"codepoint":"C015","iana":"TLS_ECDH_anon_WITH_NULL_SHA","openssl":"AECDH-NULL-SHA","gnutls":"ECDH_ANON_NULL_SHA1","nss":"TLS_ECDH_anon_WITH_NULL_SHA"},{"codepoint":"C016","iana":"TLS_ECDH_anon_WITH_RC4_128_SHA","openssl":"AECDH-RC4-SHA","gnutls":"ECDH_ANON_ARCFOUR_128_SHA1","nss":"TLS_ECDH_anon_WITH_RC4_128_SHA"},{"codepoint":"C017","iana":"TLS_ECDH_anon_WITH_3DES_EDE_CBC_SHA","openssl":"AECDH-DES-CBC3-SHA","gnutls":"ECDH_ANON_3DES_EDE_CBC_SHA1","nss":"TLS_ECDH_anon_WITH_3DES_EDE_CBC_SHA"},{"codepoint":"C018","iana":"TLS_ECDH_anon_WITH_AES_128_CBC_SHA","openssl":"AECDH-AES128-SHA","gnutls":"ECDH_ANON_AES_128_CBC_SHA1","nss":"TLS_ECDH_anon_WITH_AES_128_CBC_SHA"},{"codepoint":"C019","iana":"TLS_ECDH_anon_WITH_AES_256_CBC_SHA","openssl":"AECDH-AES256-SHA","gnutls":"ECDH_ANON_AES_256_CBC_SHA1","nss":"TLS_ECDH_anon_WITH_AES_256_CBC_SHA"},{"codepoint":"C01A","iana":"TLS_SRP_SHA_WITH_3DES_EDE_CBC_SHA","openssl":"SRP-3DES-EDE-CBC-SHA","gnutls":"SRP_SHA_3DES_EDE_CBC_SHA1","nss":null},{"codepoint":"C01B","iana":"TLS_SRP_SHA_RSA_WITH_3DES_EDE_CBC_SHA","openssl":"SRP-RSA-3DES-EDE-CBC-SHA","gnutls":"SRP_SHA_RSA_3DES_EDE_CBC_SHA1","nss":null},{"codepoint":"C01C","iana":"TLS_SRP_SHA_DSS_WITH_3DES_EDE_CBC_SHA","openssl":"SRP-DSS-3DES-EDE-CBC-SHA","gnutls":"SRP_SHA_DSS_3DES_EDE_CBC_SHA1","nss":null},{"codepoint":"C01D","iana":"TLS_SRP_SHA_WITH_AES_128_CBC_SHA","openssl":"SRP-AES-128-CBC-SHA","gnutls":"SRP_SHA_AES_128_CBC_SHA1","nss":null},{"codepoint":"C01E","iana":"TLS_SRP_SHA_RSA_WITH_AES_128_CBC_SHA","openssl":"SRP-RSA-AES-128-CBC-SHA","gnutls":"SRP_SHA_RSA_AES_128_CBC_SHA1","nss":null},{"codepoint":"C01F","iana":"TLS_SRP_SHA_DSS_WITH_AES_128_CBC_SHA","openssl":"SRP-DSS-AES-128-CBC-SHA","gnutls":"SRP_SHA_DSS_AES_128_CBC_SHA1","nss":null},{"codepoint":"C020","iana":"TLS_SRP_SHA_WITH_AES_256_CBC_SHA","openssl":"SRP-AES-256-CBC-SHA","gnutls":"SRP_SHA_AES_256_CBC_SHA1","nss":null},{"codepoint":"C021","iana":"TLS_SRP_SHA_RSA_WITH_AES_256_CBC_SHA","openssl":"SRP-RSA-AES-256-CBC-SHA","gnutls":"SRP_SHA_RSA_AES_256_CBC_SHA1","nss":null},{"codepoint":"C022","iana":"TLS_SRP_SHA_DSS_WITH_AES_256_CBC_SHA","openssl":"SRP-DSS-AES-256-CBC-SHA","gnutls":"SRP_SHA_DSS_AES_256_CBC_SHA1","nss":null},{"codepoint":"C023","iana":"TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256","openssl":"ECDHE-ECDSA-AES128-SHA256","gnutls":"ECDHE_ECDSA_AES_128_CBC_SHA256","nss":"TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256"},{"codepoint":"C024","iana":"TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384","openssl":"ECDHE-ECDSA-AES256-SHA384","gnutls":"ECDHE_ECDSA_AES_256_CBC_SHA384","nss":"TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384"},{"codepoint":"C025","iana":"TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256","openssl":"ECDH-ECDSA-AES128-SHA256","gnutls":null,"nss":null},{"codepoint":"C026","iana":"TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384","openssl":"ECDH-ECDSA-AES256-SHA384","gnutls":null,"nss":null},{"codepoint":"C027","iana":"TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256","openssl":"ECDHE-RSA-AES128-SHA256","gnutls":"ECDHE_RSA_AES_128_CBC_SHA256","nss":"TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256"},{"codepoint":"C028","iana":"TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384","openssl":"ECDHE-RSA-AES256-SHA384","gnutls":"ECDHE_RSA_AES_256_CBC_SHA384","nss":"TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384"},{"codepoint":"C029","iana":"TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256","openssl":"ECDH-RSA-AES128-SHA256","gnutls":null,"nss":null},{"codepoint":"C02A","iana":"TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384","openssl":"ECDH-RSA-AES256-SHA384","gnutls":null,"nss":null},{"codepoint":"C02B","iana":"TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256","openssl":"ECDHE-ECDSA-AES128-GCM-SHA256","gnutls":"ECDHE_ECDSA_AES_128_GCM_SHA256","nss":"TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256"},{"codepoint":"C02C","iana":"TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384","openssl":"ECDHE-ECDSA-AES256-GCM-SHA384","gnutls":"ECDHE_ECDSA_AES_256_GCM_SHA384","nss":"TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384"},{"codepoint":"C02D","iana":"TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256","openssl":"ECDH-ECDSA-AES128-GCM-SHA256","gnutls":null,"nss":"TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256"},{"codepoint":"C02E","iana":"TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384","openssl":"ECDH-ECDSA-AES256-GCM-SHA384","gnutls":null,"nss":null},{"codepoint":"C02F","iana":"TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256","openssl":"ECDHE-RSA-AES128-GCM-SHA256","gnutls":"ECDHE_RSA_AES_128_GCM_SHA256","nss":"TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256"},{"codepoint":"C030","iana":"TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384","openssl":"ECDHE-RSA-AES256-GCM-SHA384","gnutls":"ECDHE_RSA_AES_256_GCM_SHA384","nss":"TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384"},{"codepoint":"C031","iana":"TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256","openssl":"ECDH-RSA-AES128-GCM-SHA256","gnutls":null,"nss":"TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256"},{"codepoint":"C032","iana":"TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384","openssl":"ECDH-RSA-AES256-GCM-SHA384","gnutls":null,"nss":null},{"codepoint":"C033","iana":"TLS_ECDHE_PSK_WITH_RC4_128_SHA","openssl":"ECDHE-PSK-RC4-SHA","gnutls":"ECDHE_PSK_ARCFOUR_128_SHA1","nss":null},{"codepoint":"C034","iana":"TLS_ECDHE_PSK_WITH_3DES_EDE_CBC_SHA","openssl":"ECDHE-PSK-3DES-EDE-CBC-SHA","gnutls":"ECDHE_PSK_3DES_EDE_CBC_SHA1","nss":null},{"codepoint":"C035","iana":"TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA","openssl":"ECDHE-PSK-AES128-CBC-SHA","gnutls":"ECDHE_PSK_AES_128_CBC_SHA1","nss":null},{"codepoint":"C036","iana":"TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA","openssl":"ECDHE-PSK-AES256-CBC-SHA","gnutls":"ECDHE_PSK_AES_256_CBC_SHA1","nss":null},{"codepoint":"C037","iana":"TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA256","openssl":"ECDHE-PSK-AES128-CBC-SHA256","gnutls":"ECDHE_PSK_AES_128_CBC_SHA256","nss":null},{"codepoint":"C038","iana":"TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA384","openssl":"ECDHE-PSK-AES256-CBC-SHA384","gnutls":"ECDHE_PSK_AES_256_CBC_SHA384","nss":null},{"codepoint":"C039","iana":"TLS_ECDHE_PSK_WITH_NULL_SHA","openssl":"ECDHE-PSK-NULL-SHA","gnutls":"ECDHE_PSK_NULL_SHA1","nss":null},{"codepoint":"C03A","iana":"TLS_ECDHE_PSK_WITH_NULL_SHA256","openssl":"ECDHE-PSK-NULL-SHA256","gnutls":"ECDHE_PSK_NULL_SHA256","nss":null},{"codepoint":"C03B","iana":"TLS_ECDHE_PSK_WITH_NULL_SHA384","openssl":"ECDHE-PSK-NULL-SHA384","gnutls":"ECDHE_PSK_NULL_SHA384","nss":null},{"codepoint":"C03C","iana":"TLS_RSA_WITH_ARIA_128_CBC_SHA256","openssl":null,"gnutls":null,"nss":null},{"codepoint":"C03D","iana":"TLS_RSA_WITH_ARIA_256_CBC_SHA384","openssl":null,"gnutls":null,"nss":null},{"codepoint":"C03E","iana":"TLS_DH_DSS_WITH_ARIA_128_CBC_SHA256","openssl":null,"gnutls":null,"nss":null},{"codepoint":"C03F","iana":"TLS_DH_DSS_WITH_ARIA_256_CBC_SHA384","openssl":null,"gnutls":null,"nss":null},{"codepoint":"C040","iana":"TLS_DH_RSA_WITH_ARIA_128_CBC_SHA256","openssl":null,"gnutls":null,"nss":null},{"codepoint":"C041","iana":"TLS_DH_RSA_WITH_ARIA_256_CBC_SHA384","openssl":null,"gnutls":null,"nss":null},{"codepoint":"C042","iana":"TLS_DHE_DSS_WITH_ARIA_128_CBC_SHA256","openssl":null,"gnutls":null,"nss":null},{"codepoint":"C043","iana":"TLS_DHE_DSS_WITH_ARIA_256_CBC_SHA384","openssl":null,"gnutls":null,"nss":null},{"codepoint":"C044","iana":"TLS_DHE_RSA_WITH_ARIA_128_CBC_SHA256","openssl":null,"gnutls":null,"nss":null},{"codepoint":"C045","iana":"TLS_DHE_RSA_WITH_ARIA_256_CBC_SHA384","openssl":null,"gnutls":null,"nss":null},{"codepoint":"C046","iana":"TLS_DH_anon_WITH_ARIA_128_CBC_SHA256","openssl":null,"gnutls":null,"nss":null},{"codepoint":"C047","iana":"TLS_DH_anon_WITH_ARIA_256_CBC_SHA384","openssl":null,"gnutls":null,"nss":null},{"codepoint":"C048","iana":"TLS_ECDHE_ECDSA_WITH_ARIA_128_CBC_SHA256","openssl":null,"gnutls":null,"nss":null},{"codepoint":"C049","iana":"TLS_ECDHE_ECDSA_WITH_ARIA_256_CBC_SHA384","openssl":null,"gnutls":null,"nss":null},{"codepoint":"C04A","iana":"TLS_ECDH_ECDSA_WITH_ARIA_128_CBC_SHA256","openssl":null,"gnutls":null,"nss":null},{"codepoint":"C04B","iana":"TLS_ECDH_ECDSA_WITH_ARIA_256_CBC_SHA384","openssl":null,"gnutls":null,"nss":null},{"codepoint":"C04C","iana":"TLS_ECDHE_RSA_WITH_ARIA_128_CBC_SHA256","openssl":null,"gnutls":null,"nss":null},{"codepoint":"C04D","iana":"TLS_ECDHE_RSA_WITH_ARIA_256_CBC_SHA384","openssl":null,"gnutls":null,"nss":null},{"codepoint":"C04E","iana":"TLS_ECDH_RSA_WITH_ARIA_128_CBC_SHA256","openssl":null,"gnutls":null,"nss":null},{"codepoint":"C04F","iana":"TLS_ECDH_RSA_WITH_ARIA_256_CBC_SHA384","openssl":null,"gnutls":null,"nss":null},{"codepoint":"C050","iana":"TLS_RSA_WITH_ARIA_128_GCM_SHA256","openssl":"ARIA128-GCM-SHA256","gnutls":null,"nss":null},{"codepoint":"C051","iana":"TLS_RSA_WITH_ARIA_256_GCM_SHA384","openssl":"ARIA256-GCM-SHA384","gnutls":null,"nss":null},{"codepoint":"C052","iana":"TLS_DHE_RSA_WITH_ARIA_128_GCM_SHA256","openssl":"DHE-RSA-ARIA128-GCM-SHA256","gnutls":null,"nss":null},{"codepoint":"C053","iana":"TLS_DHE_RSA_WITH_ARIA_256_GCM_SHA384","openssl":"DHE-RSA-ARIA256-GCM-SHA384","gnutls":null,"nss":null},{"codepoint":"C054","iana":"TLS_DH_RSA_WITH_ARIA_128_GCM_SHA256","openssl":"DH-RSA-ARIA128-GCM-SHA256","gnutls":null,"nss":null},{"codepoint":"C055","iana":"TLS_DH_RSA_WITH_ARIA_256_GCM_SHA384","openssl":"DH-RSA-ARIA256-GCM-SHA384","gnutls":null,"nss":null},{"codepoint":"C056","iana":"TLS_DHE_DSS_WITH_ARIA_128_GCM_SHA256","openssl":"DHE-DSS-ARIA128-GCM-SHA256","gnutls":null,"nss":null},{"codepoint":"C057","iana":"TLS_DHE_DSS_WITH_ARIA_256_GCM_SHA384","openssl":"DHE-DSS-ARIA256-GCM-SHA384","gnutls":null,"nss":null},{"codepoint":"C058","iana":"TLS_DH_DSS_WITH_ARIA_128_GCM_SHA256","openssl":"DH-DSS-ARIA128-GCM-SHA256","gnutls":null,"nss":null},{"codepoint":"C059","iana":"TLS_DH_DSS_WITH_ARIA_256_GCM_SHA384","openssl":"DH-DSS-ARIA256-GCM-SHA384","gnutls":null,"nss":null},{"codepoint":"C05A","iana":"TLS_DH_anon_WITH_ARIA_128_GCM_SHA256","openssl":"ADH-ARIA128-GCM-SHA256","gnutls":null,"nss":null},{"codepoint":"C05B","iana":"TLS_DH_anon_WITH_ARIA_256_GCM_SHA384","openssl":"ADH-ARIA256-GCM-SHA384","gnutls":null,"nss":null},{"codepoint":"C05C","iana":"TLS_ECDHE_ECDSA_WITH_ARIA_128_GCM_SHA256","openssl":"ECDHE-ECDSA-ARIA128-GCM-SHA256","gnutls":null,"nss":null},{"codepoint":"C05D","iana":"TLS_ECDHE_ECDSA_WITH_ARIA_256_GCM_SHA384","openssl":"ECDHE-ECDSA-ARIA256-GCM-SHA384","gnutls":null,"nss":null},{"codepoint":"C05E","iana":"TLS_ECDH_ECDSA_WITH_ARIA_128_GCM_SHA256","openssl":"ECDH-ECDSA-ARIA128-GCM-SHA256","gnutls":null,"nss":null},{"codepoint":"C05F","iana":"TLS_ECDH_ECDSA_WITH_ARIA_256_GCM_SHA384","openssl":"ECDH-ECDSA-ARIA256-GCM-SHA384","gnutls":null,"nss":null},{"codepoint":"C060","iana":"TLS_ECDHE_RSA_WITH_ARIA_128_GCM_SHA256","openssl":"ECDHE-ARIA128-GCM-SHA256","gnutls":null,"nss":null},{"codepoint":"C061","iana":"TLS_ECDHE_RSA_WITH_ARIA_256_GCM_SHA384","openssl":"ECDHE-ARIA256-GCM-SHA384","gnutls":null,"nss":null},{"codepoint":"C062","iana":"TLS_ECDH_RSA_WITH_ARIA_128_GCM_SHA256","openssl":"ECDH-ARIA128-GCM-SHA256","gnutls":null,"nss":null},{"codepoint":"C063","iana":"TLS_ECDH_RSA_WITH_ARIA_256_GCM_SHA384","openssl":"ECDH-ARIA256-GCM-SHA384","gnutls":null,"nss":null},{"codepoint":"C064","iana":"TLS_PSK_WITH_ARIA_128_CBC_SHA256","openssl":null,"gnutls":null,"nss":null},{"codepoint":"C065","iana":"TLS_PSK_WITH_ARIA_256_CBC_SHA384","openssl":null,"gnutls":null,"nss":null},{"codepoint":"C066","iana":"TLS_DHE_PSK_WITH_ARIA_128_CBC_SHA256","openssl":null,"gnutls":null,"nss":null},{"codepoint":"C067","iana":"TLS_DHE_PSK_WITH_ARIA_256_CBC_SHA384","openssl":null,"gnutls":null,"nss":null},{"codepoint":"C068","iana":"TLS_RSA_PSK_WITH_ARIA_128_CBC_SHA256","openssl":null,"gnutls":null,"nss":null},{"codepoint":"C069","iana":"TLS_RSA_PSK_WITH_ARIA_256_CBC_SHA384","openssl":null,"gnutls":null,"nss":null},{"codepoint":"C06A","iana":"TLS_PSK_WITH_ARIA_128_GCM_SHA256","openssl":"PSK-ARIA128-GCM-SHA256","gnutls":null,"nss":null},{"codepoint":"C06B","iana":"TLS_PSK_WITH_ARIA_256_GCM_SHA384","openssl":"PSK-ARIA256-GCM-SHA384","gnutls":null,"nss":null},{"codepoint":"C06C","iana":"TLS_DHE_PSK_WITH_ARIA_128_GCM_SHA256","openssl":"DHE-PSK-ARIA128-GCM-SHA256","gnutls":null,"nss":null},{"codepoint":"C06D","iana":"TLS_DHE_PSK_WITH_ARIA_256_GCM_SHA384","openssl":"DHE-PSK-ARIA256-GCM-SHA384","gnutls":null,"nss":null},{"codepoint":"C06E","iana":"TLS_RSA_PSK_WITH_ARIA_128_GCM_SHA256","openssl":"RSA-PSK-ARIA128-GCM-SHA256","gnutls":null,"nss":null},{"codepoint":"C06F","iana":"TLS_RSA_PSK_WITH_ARIA_256_GCM_SHA384","openssl":"RSA-PSK-ARIA256-GCM-SHA384","gnutls":null,"nss":null},{"codepoint":"C070","iana":"TLS_ECDHE_PSK_WITH_ARIA_128_CBC_SHA256","openssl":null,"gnutls":null,"nss":null},{"codepoint":"C071","iana":"TLS_ECDHE_PSK_WITH_ARIA_256_CBC_SHA384","openssl":null,"gnutls":null,"nss":null},{"codepoint":"C072","iana":"TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_CBC_SHA256","openssl":"ECDHE-ECDSA-CAMELLIA128-SHA256","gnutls":"ECDHE_ECDSA_CAMELLIA_128_CBC_SHA256","nss":null},{"codepoint":"C073","iana":"TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_CBC_SHA384","openssl":"ECDHE-ECDSA-CAMELLIA256-SHA384","gnutls":"ECDHE_ECDSA_CAMELLIA_256_CBC_SHA384","nss":null},{"codepoint":"C074","iana":"TLS_ECDH_ECDSA_WITH_CAMELLIA_128_CBC_SHA256","openssl":"ECDH-ECDSA-CAMELLIA128-SHA256","gnutls":null,"nss":null},{"codepoint":"C075","iana":"TLS_ECDH_ECDSA_WITH_CAMELLIA_256_CBC_SHA384","openssl":"ECDH-ECDSA-CAMELLIA256-SHA384","gnutls":null,"nss":null},{"codepoint":"C076","iana":"TLS_ECDHE_RSA_WITH_CAMELLIA_128_CBC_SHA256","openssl":"ECDHE-RSA-CAMELLIA128-SHA256","gnutls":"ECDHE_RSA_CAMELLIA_128_CBC_SHA256","nss":null},{"codepoint":"C077","iana":"TLS_ECDHE_RSA_WITH_CAMELLIA_256_CBC_SHA384","openssl":"ECDHE-RSA-CAMELLIA256-SHA384","gnutls":"ECDHE_RSA_CAMELLIA_256_CBC_SHA384","nss":null},{"codepoint":"C078","iana":"TLS_ECDH_RSA_WITH_CAMELLIA_128_CBC_SHA256","openssl":"ECDH-RSA-CAMELLIA128-SHA256","gnutls":null,"nss":null},{"codepoint":"C079","iana":"TLS_ECDH_RSA_WITH_CAMELLIA_256_CBC_SHA384","openssl":"ECDH-RSA-CAMELLIA256-SHA384","gnutls":null,"nss":null},{"codepoint":"C07A","iana":"TLS_RSA_WITH_CAMELLIA_128_GCM_SHA256","openssl":null,"gnutls":"RSA_CAMELLIA_128_GCM_SHA256","nss":null},{"codepoint":"C07B","iana":"TLS_RSA_WITH_CAMELLIA_256_GCM_SHA384","openssl":null,"gnutls":"RSA_CAMELLIA_256_GCM_SHA384","nss":null},{"codepoint":"C07C","iana":"TLS_DHE_RSA_WITH_CAMELLIA_128_GCM_SHA256","openssl":null,"gnutls":"DHE_RSA_CAMELLIA_128_GCM_SHA256","nss":null},{"codepoint":"C07D","iana":"TLS_DHE_RSA_WITH_CAMELLIA_256_GCM_SHA384","openssl":null,"gnutls":"DHE_RSA_CAMELLIA_256_GCM_SHA384","nss":null},{"codepoint":"C07E","iana":"TLS_DH_RSA_WITH_CAMELLIA_128_GCM_SHA256","openssl":null,"gnutls":null,"nss":null},{"codepoint":"C07F","iana":"TLS_DH_RSA_WITH_CAMELLIA_256_GCM_SHA384","openssl":null,"gnutls":null,"nss":null},{"codepoint":"C080","iana":"TLS_DHE_DSS_WITH_CAMELLIA_128_GCM_SHA256","openssl":null,"gnutls":"DHE_DSS_CAMELLIA_128_GCM_SHA256","nss":null},{"codepoint":"C081","iana":"TLS_DHE_DSS_WITH_CAMELLIA_256_GCM_SHA384","openssl":null,"gnutls":"DHE_DSS_CAMELLIA_256_GCM_SHA384","nss":null},{"codepoint":"C082","iana":"TLS_DH_DSS_WITH_CAMELLIA_128_GCM_SHA256","openssl":null,"gnutls":null,"nss":null},{"codepoint":"C083","iana":"TLS_DH_DSS_WITH_CAMELLIA_256_GCM_SHA384","openssl":null,"gnutls":null,"nss":null},{"codepoint":"C084","iana":"TLS_DH_anon_WITH_CAMELLIA_128_GCM_SHA256","openssl":null,"gnutls":"DH_ANON_CAMELLIA_128_GCM_SHA256","nss":null},{"codepoint":"C085","iana":"TLS_DH_anon_WITH_CAMELLIA_256_GCM_SHA384","openssl":null,"gnutls":"DH_ANON_CAMELLIA_256_GCM_SHA384","nss":null},{"codepoint":"C086","iana":"TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_GCM_SHA256","openssl":null,"gnutls":"ECDHE_ECDSA_CAMELLIA_128_GCM_SHA256","nss":null},{"codepoint":"C087","iana":"TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_GCM_SHA384","openssl":null,"gnutls":"ECDHE_ECDSA_CAMELLIA_256_GCM_SHA384","nss":null},{"codepoint":"C088","iana":"TLS_ECDH_ECDSA_WITH_CAMELLIA_128_GCM_SHA256","openssl":null,"gnutls":null,"nss":null},{"codepoint":"C089","iana":"TLS_ECDH_ECDSA_WITH_CAMELLIA_256_GCM_SHA384","openssl":null,"gnutls":null,"nss":null},{"codepoint":"C08A","iana":"TLS_ECDHE_RSA_WITH_CAMELLIA_128_GCM_SHA256","openssl":null,"gnutls":"ECDHE_RSA_CAMELLIA_128_GCM_SHA256","nss":null},{"codepoint":"C08B","iana":"TLS_ECDHE_RSA_WITH_CAMELLIA_256_GCM_SHA384","openssl":null,"gnutls":"ECDHE_RSA_CAMELLIA_256_GCM_SHA384","nss":null},{"codepoint":"C08C","iana":"TLS_ECDH_RSA_WITH_CAMELLIA_128_GCM_SHA256","openssl":null,"gnutls":null,"nss":null},{"codepoint":"C08D","iana":"TLS_ECDH_RSA_WITH_CAMELLIA_256_GCM_SHA384","openssl":null,"gnutls":null,"nss":null},{"codepoint":"C08E","iana":"TLS_PSK_WITH_CAMELLIA_128_GCM_SHA256","openssl":null,"gnutls":"PSK_CAMELLIA_128_GCM_SHA256","nss":null},{"codepoint":"C08F","iana":"TLS_PSK_WITH_CAMELLIA_256_GCM_SHA384","openssl":null,"gnutls":"PSK_CAMELLIA_256_GCM_SHA384","nss":null},{"codepoint":"C090","iana":"TLS_DHE_PSK_WITH_CAMELLIA_128_GCM_SHA256","openssl":null,"gnutls":"DHE_PSK_CAMELLIA_128_GCM_SHA256","nss":null},{"codepoint":"C091","iana":"TLS_DHE_PSK_WITH_CAMELLIA_256_GCM_SHA384","openssl":null,"gnutls":"DHE_PSK_CAMELLIA_256_GCM_SHA384","nss":null},{"codepoint":"C092","iana":"TLS_RSA_PSK_WITH_CAMELLIA_128_GCM_SHA256","openssl":null,"gnutls":"RSA_PSK_CAMELLIA_128_GCM_SHA256","nss":null},{"codepoint":"C093","iana":"TLS_RSA_PSK_WITH_CAMELLIA_256_GCM_SHA384","openssl":null,"gnutls":"RSA_PSK_CAMELLIA_256_GCM_SHA384","nss":null},{"codepoint":"C094","iana":"TLS_PSK_WITH_CAMELLIA_128_CBC_SHA256","openssl":"PSK-CAMELLIA128-SHA256","gnutls":"PSK_CAMELLIA_128_CBC_SHA256","nss":null},{"codepoint":"C095","iana":"TLS_PSK_WITH_CAMELLIA_256_CBC_SHA384","openssl":"PSK-CAMELLIA256-SHA384","gnutls":"PSK_CAMELLIA_256_CBC_SHA384","nss":null},{"codepoint":"C096","iana":"TLS_DHE_PSK_WITH_CAMELLIA_128_CBC_SHA256","openssl":"DHE-PSK-CAMELLIA128-SHA256","gnutls":"DHE_PSK_CAMELLIA_128_CBC_SHA256","nss":null},{"codepoint":"C097","iana":"TLS_DHE_PSK_WITH_CAMELLIA_256_CBC_SHA384","openssl":"DHE-PSK-CAMELLIA256-SHA384","gnutls":"DHE_PSK_CAMELLIA_256_CBC_SHA384","nss":null},{"codepoint":"C098","iana":"TLS_RSA_PSK_WITH_CAMELLIA_128_CBC_SHA256","openssl":"RSA-PSK-CAMELLIA128-SHA256","gnutls":"RSA_PSK_CAMELLIA_128_CBC_SHA256","nss":null},{"codepoint":"C099","iana":"TLS_RSA_PSK_WITH_CAMELLIA_256_CBC_SHA384","openssl":"RSA-PSK-CAMELLIA256-SHA384","gnutls":"RSA_PSK_CAMELLIA_256_CBC_SHA384","nss":null},{"codepoint":"C09A","iana":"TLS_ECDHE_PSK_WITH_CAMELLIA_128_CBC_SHA256","openssl":"ECDHE-PSK-CAMELLIA128-SHA256","gnutls":"ECDHE_PSK_CAMELLIA_128_CBC_SHA256","nss":null},{"codepoint":"C09B","iana":"TLS_ECDHE_PSK_WITH_CAMELLIA_256_CBC_SHA384","openssl":"ECDHE-PSK-CAMELLIA256-SHA384","gnutls":"ECDHE_PSK_CAMELLIA_256_CBC_SHA384","nss":null},{"codepoint":"C09C","iana":"TLS_RSA_WITH_AES_128_CCM","openssl":"AES128-CCM","gnutls":"RSA_AES_128_CCM","nss":null},{"codepoint":"C09D","iana":"TLS_RSA_WITH_AES_256_CCM","openssl":"AES256-CCM","gnutls":"RSA_AES_256_CCM","nss":null},{"codepoint":"C09E","iana":"TLS_DHE_RSA_WITH_AES_128_CCM","openssl":"DHE-RSA-AES128-CCM","gnutls":"DHE_RSA_AES_128_CCM","nss":null},{"codepoint":"C09F","iana":"TLS_DHE_RSA_WITH_AES_256_CCM","openssl":"DHE-RSA-AES256-CCM","gnutls":"DHE_RSA_AES_256_CCM","nss":null},{"codepoint":"C0A0","iana":"TLS_RSA_WITH_AES_128_CCM_8","openssl":"AES128-CCM8","gnutls":"RSA_AES_128_CCM_8","nss":null},{"codepoint":"C0A1","iana":"TLS_RSA_WITH_AES_256_CCM_8","openssl":"AES256-CCM8","gnutls":"RSA_AES_256_CCM_8","nss":null},{"codepoint":"C0A2","iana":"TLS_DHE_RSA_WITH_AES_128_CCM_8","openssl":"DHE-RSA-AES128-CCM8","gnutls":"DHE_RSA_AES_128_CCM_8","nss":null},{"codepoint":"C0A3","iana":"TLS_DHE_RSA_WITH_AES_256_CCM_8","openssl":"DHE-RSA-AES256-CCM8","gnutls":"DHE_RSA_AES_256_CCM_8","nss":null},{"codepoint":"C0A4","iana":"TLS_PSK_WITH_AES_128_CCM","openssl":"PSK-AES128-CCM","gnutls":"PSK_AES_128_CCM","nss":null},{"codepoint":"C0A5","iana":"TLS_PSK_WITH_AES_256_CCM","openssl":"PSK-AES256-CCM","gnutls":"PSK_AES_256_CCM","nss":null},{"codepoint":"C0A6","iana":"TLS_DHE_PSK_WITH_AES_128_CCM","openssl":"DHE-PSK-AES128-CCM","gnutls":"DHE_PSK_AES_128_CCM","nss":null},{"codepoint":"C0A7","iana":"TLS_DHE_PSK_WITH_AES_256_CCM","openssl":"DHE-PSK-AES256-CCM","gnutls":"DHE_PSK_AES_256_CCM","nss":null},{"codepoint":"C0A8","iana":"TLS_PSK_WITH_AES_128_CCM_8","openssl":"PSK-AES128-CCM8","gnutls":"PSK_AES_128_CCM_8","nss":null},{"codepoint":"C0A9","iana":"TLS_PSK_WITH_AES_256_CCM_8","openssl":"PSK-AES256-CCM8","gnutls":"PSK_AES_256_CCM_8","nss":null},{"codepoint":"C0AA","iana":"TLS_PSK_DHE_WITH_AES_128_CCM_8","openssl":"DHE-PSK-AES128-CCM8","gnutls":"DHE_PSK_AES_128_CCM_8","nss":null},{"codepoint":"C0AB","iana":"TLS_PSK_DHE_WITH_AES_256_CCM_8","openssl":"DHE-PSK-AES256-CCM8","gnutls":"DHE_PSK_AES_256_CCM_8","nss":null},{"codepoint":"C0AC","iana":"TLS_ECDHE_ECDSA_WITH_AES_128_CCM","openssl":"ECDHE-ECDSA-AES128-CCM","gnutls":"ECDHE_ECDSA_AES_128_CCM","nss":null},{"codepoint":"C0AD","iana":"TLS_ECDHE_ECDSA_WITH_AES_256_CCM","openssl":"ECDHE-ECDSA-AES256-CCM","gnutls":"ECDHE_ECDSA_AES_256_CCM","nss":null},{"codepoint":"C0AE","iana":"TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8","openssl":"ECDHE-ECDSA-AES128-CCM8","gnutls":"ECDHE_ECDSA_AES_128_CCM_8","nss":null},{"codepoint":"C0AF","iana":"TLS_ECDHE_ECDSA_WITH_AES_256_CCM_8","openssl":"ECDHE-ECDSA-AES256-CCM8","gnutls":"ECDHE_ECDSA_AES_256_CCM_8","nss":null},{"codepoint":"C0B0","iana":"TLS_ECCPWD_WITH_AES_128_GCM_SHA256","openssl":null,"gnutls":null,"nss":null},{"codepoint":"C0B1","iana":"TLS_ECCPWD_WITH_AES_256_GCM_SHA384","openssl":null,"gnutls":null,"nss":null},{"codepoint":"C0B2","iana":"TLS_ECCPWD_WITH_AES_128_CCM_SHA256","openssl":null,"gnutls":null,"nss":null},{"codepoint":"C0B3","iana":"TLS_ECCPWD_WITH_AES_256_CCM_SHA384","openssl":null,"gnutls":null,"nss":null},{"codepoint":"C0B4","iana":"TLS_SHA256_SHA256","openssl":"TLS_SHA256_SHA256","gnutls":null,"nss":null},{"codepoint":"C0B5","iana":"TLS_SHA384_SHA384","openssl":"TLS_SHA384_SHA384","gnutls":null,"nss":null},{"codepoint":"C100","iana":"TLS_GOSTR341112_256_WITH_KUZNYECHIK_CTR_OMAC","openssl":null,"gnutls":null,"nss":null},{"codepoint":"C101","iana":"TLS_GOSTR341112_256_WITH_MAGMA_CTR_OMAC","openssl":null,"gnutls":null,"nss":null},{"codepoint":"C102","iana":"TLS_GOSTR341112_256_WITH_28147_CNT_IMIT","openssl":null,"gnutls":"GOSTR341112_256_28147_CNT_IMIT","nss":null},{"codepoint":"C103","iana":"TLS_GOSTR341112_256_WITH_KUZNYECHIK_MGM_L","openssl":null,"gnutls":null,"nss":null},{"codepoint":"C104","iana":"TLS_GOSTR341112_256_WITH_MAGMA_MGM_L","openssl":null,"gnutls":null,"nss":null},{"codepoint":"C105","iana":"TLS_GOSTR341112_256_WITH_KUZNYECHIK_MGM_S","openssl":null,"gnutls":null,"nss":null},{"codepoint":"C106","iana":"TLS_GOSTR341112_256_WITH_MAGMA_MGM_S","openssl":null,"gnutls":null,"nss":null},{"codepoint":"CCA8","iana":"TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256","openssl":"ECDHE-RSA-CHACHA20-POLY1305","gnutls":"ECDHE_RSA_CHACHA20_POLY1305","nss":"TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256"},{"codepoint":"CCA9","iana":"TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256","openssl":"ECDHE-ECDSA-CHACHA20-POLY1305","gnutls":"ECDHE_ECDSA_CHACHA20_POLY1305","nss":"TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256"},{"codepoint":"CCAA","iana":"TLS_DHE_RSA_WITH_CHACHA20_POLY1305_SHA256","openssl":"DHE-RSA-CHACHA20-POLY1305","gnutls":"DHE_RSA_CHACHA20_POLY1305","nss":"TLS_DHE_RSA_WITH_CHACHA20_POLY1305_SHA256"},{"codepoint":"CCAB","iana":"TLS_PSK_WITH_CHACHA20_POLY1305_SHA256","openssl":"PSK-CHACHA20-POLY1305","gnutls":"PSK_CHACHA20_POLY1305","nss":null},{"codepoint":"CCAC","iana":"TLS_ECDHE_PSK_WITH_CHACHA20_POLY1305_SHA256","openssl":"ECDHE-PSK-CHACHA20-POLY1305","gnutls":"ECDHE_PSK_CHACHA20_POLY1305","nss":"TLS_ECDHE_PSK_WITH_CHACHA20_POLY1305_SHA256"},{"codepoint":"CCAD","iana":"TLS_DHE_PSK_WITH_CHACHA20_POLY1305_SHA256","openssl":"DHE-PSK-CHACHA20-POLY1305","gnutls":"DHE_PSK_CHACHA20_POLY1305","nss":"TLS_DHE_PSK_WITH_CHACHA20_POLY1305_SHA256"},{"codepoint":"CCAE","iana":"TLS_RSA_PSK_WITH_CHACHA20_POLY1305_SHA256","openssl":"RSA-PSK-CHACHA20-POLY1305","gnutls":"RSA_PSK_CHACHA20_POLY1305","nss":null},{"codepoint":"D001","iana":"TLS_ECDHE_PSK_WITH_AES_128_GCM_SHA256","openssl":null,"gnutls":null,"nss":"TLS_ECDHE_PSK_WITH_AES_128_GCM_SHA256"},{"codepoint":"D002","iana":"TLS_ECDHE_PSK_WITH_AES_256_GCM_SHA384","openssl":null,"gnutls":null,"nss":"TLS_ECDHE_PSK_WITH_AES_256_GCM_SHA384"},{"codepoint":"D003","iana":"TLS_ECDHE_PSK_WITH_AES_128_CCM_8_SHA256","openssl":null,"gnutls":null,"nss":null},{"codepoint":"D005","iana":"TLS_ECDHE_PSK_WITH_AES_128_CCM_SHA256","openssl":null,"gnutls":null,"nss":null}]
@@ -21,7 +21,7 @@ module TLSmap
21
21
  # Root URL of Cipher Suite Info
22
22
  ROOT = 'https://ciphersuite.info/'
23
23
  # Root URL of Cipher Suite Info API
24
- API_ROOT = "#{ROOT}api/"
24
+ API_ROOT = "#{ROOT}api/".freeze
25
25
  # URL of the data file containing vulnerabilities information
26
26
  VULN_DATA = 'https://raw.githubusercontent.com/hcrudolph/ciphersuite.info/master/directory/fixtures/00_vulnerabilities.yaml'
27
27
  # URL of the data file containing technologies information
@@ -79,7 +79,7 @@ module TLSmap
79
79
  def enhance_all
80
80
  fetch_ciphersuite
81
81
  out = {}
82
- @ciphersuite_all.each do |k, _v|
82
+ @ciphersuite_all.each_key do |k|
83
83
  out.store(k, extend(k, true))
84
84
  end
85
85
  @enhanced_data = out
@@ -12,11 +12,13 @@ module TLSmap
12
12
  # External tools output data extractor
13
13
  #
14
14
  # Output files from [SSLyze][1] (JSON), [sslscan2][2] (XML), [testssl.sh][3] (JSON), [ssllabs-scan][4] (JSON)
15
+ # , [tlsx][5] (JSON)
15
16
  #
16
17
  # [1]:https://github.com/nabla-c0d3/sslyze
17
18
  # [2]:https://github.com/rbsec/sslscan
18
19
  # [3]:https://github.com/drwetter/testssl.sh
19
20
  # [4]:https://github.com/ssllabs/ssllabs-scan
21
+ # [5]:https://github.com/projectdiscovery/tlsx
20
22
  #
21
23
  # Example of commands:
22
24
  #
@@ -27,6 +29,7 @@ module TLSmap
27
29
  # - json-pretty is the only supported format, default json or csv, html won't work
28
30
  # - `ssllabs-scan --quiet example.org > example.org.json`
29
31
  # - The default output is the only supported format, using `-json-flat` won't work
32
+ # - `tlsx -u example.org -cipher-enum -o example.org.json -j -sm ctls`
30
33
  class Extractor
31
34
  # Get the list of ciphers extracted from the tool output file
32
35
  # @return [Array<String>] Cipher array (IANA names)
@@ -74,7 +77,7 @@ module TLSmap
74
77
  end
75
78
 
76
79
  # Extract the ciphers from the tool output file
77
- # @param tool [String] Possible values: `sslyze`, `sslscan2`, `testssl`, `ssllabs-scan`
80
+ # @param tool [String] Possible values: `sslyze`, `sslscan2`, `testssl`, `ssllabs-scan`, `tlsx`
78
81
  # @param file [String] Path of the tool output file, beware of the format expected. See {TLSmap::App::Extractor}
79
82
  # @return [Array<String>] Cipher array (IANA names)
80
83
  def parse(tool, file)
@@ -89,11 +92,12 @@ module TLSmap
89
92
  'sslyze' => 'sslyze --json_out=example.org.json example.org',
90
93
  'sslscan2' => 'sslscan2 --show-cipher-ids --xml=example.org.xml example.org',
91
94
  'testssl' => 'testssl --jsonfile-pretty example.org.json --mapping no-openssl --cipher-per-proto example.org',
92
- 'ssllabs-scan' => 'ssllabs-scan --quiet example.org > example.org.json'
95
+ 'ssllabs-scan' => 'ssllabs-scan --quiet example.org > example.org.json',
96
+ 'tlsx' => 'tlsx -u example.org -cipher-enum -o example.org.json -j -sm ctls'
93
97
  }.freeze
94
98
 
95
99
  # Get the external tool command used to generate the expected result format
96
- # @param tool [String] Possible values: `sslyze`, `sslscan2`, `testssl`, `ssllabs-scan`
100
+ # @param tool [String] Possible values: `sslyze`, `sslscan2`, `testssl`, `ssllabs-scan`, `tlsx`
97
101
  # @return [String] external tool command used to generate the expected result format used in input of the extract
98
102
  # command (CLI) / {parse} method (library)
99
103
  def helper(tool)
@@ -271,6 +275,51 @@ module TLSmap
271
275
  protected :extract_cipher, :id2prot
272
276
  end
273
277
  end
278
+
279
+ # Parsing tlsx
280
+ class Tlsx
281
+ class << self
282
+ # Extract the ciphers from the tlsx output file
283
+ # @param file [String] Path of the tlsx output file, beware of the format expected.
284
+ # See {TLSmap::App::Extractor}
285
+ # @return [Array<String>] Cipher array (IANA names)
286
+ def parse(file)
287
+ data = Utils.json_load_file(file)
288
+ extract_cipher(data)
289
+ end
290
+
291
+ # Extract the ciphers from the tlsx output file
292
+ # @param json_data [Hash] Ruby hash of the parsed JSON
293
+ # @return [Array<String>] Cipher array (IANA names)
294
+ def extract_cipher(json_data) # rubocop:disable Metrics/MethodLength
295
+ raw = {
296
+ 'SSL2.0' => [], 'SSL3.0' => [],
297
+ 'TLS1.0' => [], 'TLS1.1' => [], 'TLS1.2' => [], 'TLS1.3' => []
298
+ }
299
+ json_data['cipher_enum'].each do |version|
300
+ next if version['ciphers'].nil?
301
+
302
+ version['ciphers'].each do |cipher|
303
+ raw[id2prot(version['version'])].push(cipher)
304
+ end
305
+ end
306
+ raw.transform_values(&:uniq)
307
+ end
308
+
309
+ # Convert tlsx protocol id to protocol name in TLSmap format
310
+ # @param id [String] tlsx protocol id
311
+ # @return [String] protocol name in TLSmap format
312
+ def id2prot(id)
313
+ prot = {
314
+ 'ssl30' => 'SSL3.0', 'tls10' => 'TLS1.0',
315
+ 'tls11' => 'TLS1.1', 'tls12' => 'TLS1.2', 'tls13' => 'TLS1.3'
316
+ }
317
+ prot[id]
318
+ end
319
+
320
+ protected :extract_cipher, :id2prot
321
+ end
322
+ end
274
323
  end
275
324
  end
276
325
  end
@@ -9,7 +9,7 @@ module TLSmap
9
9
  GNUTLS_URL = 'https://gitlab.com/gnutls/gnutls/raw/master/lib/algorithms/ciphersuites.c'
10
10
 
11
11
  def parse_gnutls
12
- reg = /(GNUTLS_[a-zA-Z0-9_]+)\s+{\s?(0x[[:xdigit:]]{2},\s?0x[[:xdigit:]]{2})\s?}/
12
+ reg = /(GNUTLS_[a-zA-Z0-9_]+) \{ +(0x[[:xdigit:]]{2}, 0x[[:xdigit:]]{2}) }/
13
13
  File.read(@gnutls_file.path).scan(reg).each do |alg|
14
14
  codepoint = codepoint_iana(alg[1])
15
15
  name = alg[0][7..]
@@ -27,7 +27,7 @@ module TLSmap
27
27
  end
28
28
 
29
29
  def parse_iana
30
- CSV.foreach(@iana_file.path, **{ headers: true, header_converters: :symbol }) do |alg|
30
+ CSV.foreach(@iana_file.path, headers: true, header_converters: :symbol) do |alg|
31
31
  codepoint = codepoint_iana(alg[:value])
32
32
  description = desc_iana(alg[:description])
33
33
  @tls_map << { codepoint: codepoint, iana: description } unless codepoint.nil? || description.nil?
@@ -7,13 +7,13 @@ require 'digest'
7
7
  module TLSmap
8
8
  # Offline version of {App}
9
9
  class CLI < App
10
- INTEGRITY = '42e44f89550365da2bc8d33d87f88b65d85d6474e90f9edb65e0ea6c78f61a53' # sha2-256
10
+ INTEGRITY = 'a04956498a5838c5f55cc58f255bd143a646826c8e709048d17e7d09adae0b4e' # sha2-256
11
11
 
12
12
  # Load and parse data from marshalized hash (`data/mapping.marshal`).
13
13
  # It must match the integrity check for security purpose.
14
14
  # @param force [Boolean] Force parsing even if integrity check failed (DANGEROUS,
15
15
  # may result in command execution vulnerability)
16
- def initialize(force = false) # rubocop:disable Lint/MissingSuper
16
+ def initialize(force = false)
17
17
  @storage_location = 'data/'
18
18
  @database_path = absolute_db_path('mapping.marshal')
19
19
  database_exists?
@@ -56,13 +56,13 @@ module TLSmap
56
56
 
57
57
  # Offline version of {App::Extended}
58
58
  class Extended < App::Extended
59
- INTEGRITY = '6573b7208668485e6bdd4495627f5fdbdd7f80040b277603bc42f20d16a665e7' # sha2-256
59
+ INTEGRITY = 'bed565db6cc8da400c51bcc17107b68bce86f2c7bdf2495d43633679a295d0aa' # sha2-256
60
60
 
61
61
  # Load and parse data from marshalized hash (`data/extended.marshal`).
62
62
  # It must match the integrity check for security purpose.
63
63
  # @param force [Boolean] Force parsing even if integrity check failed (DANGEROUS,
64
64
  # may result in command execution vulnerability)
65
- def initialize(force = false) # rubocop:disable Lint/MissingSuper
65
+ def initialize(force = false)
66
66
  @storage_location = 'data/'
67
67
  @extended_path = absolute_db_path('extended.marshal')
68
68
  @enhanced_data = {}
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module TLSmap
4
- VERSION = '2.1.0'
4
+ VERSION = '3.0.0'
5
5
  end
metadata CHANGED
@@ -1,15 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tls-map
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.0
4
+ version: 3.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alexandre ZANNI
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-01-31 00:00:00.000000000 Z
11
+ date: 2024-06-23 00:00:00.000000000 Z
12
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: csv
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '3.3'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '3.3'
13
27
  - !ruby/object:Gem::Dependency
14
28
  name: docopt
15
29
  requirement: !ruby/object:Gem::Requirement
@@ -54,7 +68,7 @@ dependencies:
54
68
  version: '3.2'
55
69
  description: 'CLI & library for mapping TLS cipher algorithm names: IANA, OpenSSL,
56
70
  GnuTLS, NSS;get information and vulnerabilities about cipher suites;extract cipher
57
- suites from external tools: SSLyze, sslscan2, testssl.sh, ssllabs-scan'
71
+ suites from external tools: SSLyze, sslscan2, testssl.sh, ssllabs-scan, tlsx'
58
72
  email: alexandre.zanni@engineer.com
59
73
  executables:
60
74
  - tls-map
@@ -92,6 +106,7 @@ metadata:
92
106
  documentation_uri: https://noraj.github.io/tls-map/yard/
93
107
  homepage_uri: https://noraj.github.io/tls-map/
94
108
  source_code_uri: https://github.com/noraj/tls-map/
109
+ funding_uri: https://github.com/sponsors/noraj
95
110
  rubygems_mfa_required: 'true'
96
111
  post_install_message:
97
112
  rdoc_options: []
@@ -101,17 +116,17 @@ required_ruby_version: !ruby/object:Gem::Requirement
101
116
  requirements:
102
117
  - - ">="
103
118
  - !ruby/object:Gem::Version
104
- version: 2.6.0
119
+ version: 3.0.0
105
120
  - - "<"
106
121
  - !ruby/object:Gem::Version
107
- version: '3.2'
122
+ version: '4.0'
108
123
  required_rubygems_version: !ruby/object:Gem::Requirement
109
124
  requirements:
110
125
  - - ">="
111
126
  - !ruby/object:Gem::Version
112
127
  version: '0'
113
128
  requirements: []
114
- rubygems_version: 3.3.3
129
+ rubygems_version: 3.5.3
115
130
  signing_key:
116
131
  specification_version: 4
117
132
  summary: CLI & library for TLS cipher suites manipulation