tls-map 2.2.0 → 3.1.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: 9a5e60ee77231b59e8aaa082690fc1db2b7d9f8b48947bb11a0cfdbb2085758c
4
- data.tar.gz: 6e5b46e91409a47d069cca537cb443757838ba4477de1c60ebd1afcb11b76cfd
3
+ metadata.gz: c3bfd94194d2ff746b82e4f08e02efa5a223dc7b1cf235efe6a1537803c76761
4
+ data.tar.gz: c7fb814d57ceb1d1d072d4821f382d615e271223687cc51978b0644e6a092418
5
5
  SHA512:
6
- metadata.gz: 566a759275f83244886d4491f1e5689b544f2dc8a70ad0effb1b88fa920657fe74289759a693b85050dd1ba68ccf48763aa55ab780d588bdaef199bcabd9ed07
7
- data.tar.gz: 9d6854c4656b2ea9c6a27b16cf6a37d28d67784abb7da90c9af9fbe8b888357d84a76fd9c2a316678536fb561758c26246207011dd9350fef5c5f1c3cd808c67
6
+ metadata.gz: 362bc13419886123f2877836b60f0f9f859d84a8bc54a1ec99cb0befddbd3eb3e5cfe09cbf2c4c2a0dd76ba860461985ada8bb710f0b8271593e28fa1ffb9e9f
7
+ data.tar.gz: 549250c7ad98e4ff866bea895a161c58d4827e5ae9a388ce61fb44e3a41bbf56f790d261507e8b39cab65003dbc4f7a64af1f823ee00fed96a41047eeb586f46
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
@@ -12,43 +12,44 @@ require 'paint'
12
12
  # can't specify 2 options with the same name even if used in different commands
13
13
  # https://github.com/docopt/docopt/issues/296#issuecomment-857477191
14
14
  doc = <<~DOCOPT
15
- TLS map #{TLSmap::VERSION}
15
+ #{Paint['TLS map', :bold, '#81c8b6']} #{Paint[TLSmap::VERSION, :bold]}
16
16
 
17
- Usage:
17
+ #{Paint['Usage:', '#81c8b6']}
18
18
  tls-map search <criteria> <term> [-o <output> --force -e -a] [--no-color --debug]
19
- tls-map bulk <criteria> <file> [-q <output> --force] [--no-color --debug]
19
+ tls-map bulk <criteria> <file> [(-q <output> | --audit) --force] [--no-color --debug]
20
20
  tls-map export <filename> <format> [--force] [--debug]
21
21
  tls-map extract <filename> <format> [--no-color --debug [--only-weak | --hide-weak]]
22
22
  tls-map update [--with-extended] [--debug]
23
23
  tls-map -h | --help
24
24
  tls-map --version
25
25
 
26
- Search options: (offline) search and translate cipher names between SSL/TLS libraries
26
+ #{Paint['Search options:', '#81c8b6']} #{Paint['(offline) search and translate cipher names between SSL/TLS libraries', :underline]}
27
27
  <criteria> The type of term. Accepted values: codepoint, iana, openssl, gnutls, nss.
28
28
  <term> The cipher algorithm name.
29
29
  -o, --output <output> Displayed fields. Accepted values: all, codepoint, iana, openssl, gnutls, nss. [default: all]
30
30
  -e, --extended (Online) Display additional information about the cipher (requires output = all or iana)
31
31
  -a, --acronym (Online) Display full acronym name (requires -e / --extended option)
32
32
 
33
- Bulk options: (offline) search and translate cipher names between SSL/TLS libraries in bulk
33
+ #{Paint['Bulk options:', '#81c8b6']} #{Paint['(offline) search and translate cipher names between SSL/TLS libraries in bulk', :underline]}
34
34
  <criteria> The type of term. Accepted values: codepoint, iana, openssl, gnutls, nss.
35
35
  <file> File containing the cipher algorithm names, one per line.
36
36
  -q, --output2 <output> Displayed fields. Accepted values: codepoint, iana, openssl, gnutls, nss. [default: iana]
37
+ --audit Highlight weak (security level equal to weak or insecure) cipher suites. (work only with TLS not SSL).
37
38
 
38
- Export options: (offline) export the list of all ciphers (mapping) in various formats
39
+ #{Paint['Export options:', '#81c8b6']} #{Paint['(offline) export the list of all ciphers (mapping) in various formats', :underline]}
39
40
  <filename> The output file name to write to.
40
41
  <format> Supported formats: markdown (a markdown table), json_pretty (expanded JSON), json_compact (minified JSON), marshal (Ruby marshalized hash).
41
42
 
42
- Extract options: (offline) extract ciphers from external tools output file
43
+ #{Paint['Extract options:', '#81c8b6']} #{Paint['(offline) extract ciphers from external tools output file', :underline]}
43
44
  <filename> The external tool output file
44
45
  <format> Supported formats: sslyze, sslscan2, testssl, ssllabs-scan, tlsx (check the documentation for the expected file format)
45
46
  --only-weak Show only ciphers with a security level equal to weak or insecure (hide secure and recommended) (work only with TLS not SSL).
46
47
  --hide-weak Hide ciphers with a security level equal to weak or insecure (show only secure and recommended) (work only with TLS not SSL).
47
48
 
48
- Update options: (online) DANGEROUS, will break database integrity, force option will be required
49
+ #{Paint['Update options:', '#81c8b6']} #{Paint['(online) DANGEROUS, will break database integrity, force option will be required', :underline]}
49
50
  --with-extended (Online) Also save extended information used by search --extended option.
50
51
 
51
- Other options:
52
+ #{Paint['Other options:', '#81c8b6']}
52
53
  --force Force parsing even if integrity check failed (DANGEROUS, may result in command execution vulnerability)
53
54
  --no-color Disable colorized output
54
55
  --debug Display arguments
@@ -59,7 +60,7 @@ DOCOPT
59
60
  begin
60
61
  args = Docopt.docopt(doc, version: TLSmap::VERSION)
61
62
  Paint.mode = 0 if args['--no-color']
62
- pp args if args['--debug']
63
+ puts args if args['--debug']
63
64
  if args['search']
64
65
  cli = TLSmap::CLI.new(args['--force'])
65
66
  res = cli.search(args['<criteria>'].to_sym, args['<term>'], args['--output'].to_sym)
@@ -88,7 +89,7 @@ begin
88
89
  puts "#{Paint[dic[k], :magenta]}: #{Paint[v, sec_lvl[v][:color]]}"
89
90
  else
90
91
  print "#{Paint[dic[k], :magenta]}: #{Paint[v, :white]}"
91
- print " (#{tmext_i.translate_acronym(v)})" if args['--acronym'] && !tmext_i.translate_acronym(v).nil? # rubocop:disable Metrics/BlockNesting
92
+ print " (#{tmext_i.translate_acronym(v)})" if args['--acronym'] && !tmext_i.translate_acronym(v).nil?
92
93
  puts
93
94
  end
94
95
  end
@@ -98,7 +99,23 @@ begin
98
99
  res = cli.bulk_search(args['<criteria>'].to_sym, args['<file>'], args['--output2'].to_sym)
99
100
  puts Paint['No match found', :red] if res.empty?
100
101
  res.each do |h|
101
- puts Paint[h[args['--output2'].to_sym], :green]
102
+ cs = h[args['--output2'].to_sym] # cipher suite
103
+ next if cs.nil?
104
+
105
+ if args['--audit']
106
+ cliext = TLSmap::CLI::Extended.new
107
+ ci = TLSmap::App::Cipher.new(:iana, cs, enhanced_data: cliext.enhanced_data)
108
+ if ci.should_i_use?
109
+ print Paint[cs, :green]
110
+ else
111
+ print Paint[cs, :red]
112
+ print ' -- '
113
+ print Paint['weak', :red, :bold]
114
+ end
115
+ puts
116
+ else
117
+ puts Paint[cs, :green]
118
+ end
102
119
  end
103
120
  elsif args['export']
104
121
  cli = TLSmap::CLI.new(args['--force'])
@@ -112,8 +129,11 @@ begin
112
129
  cliext = TLSmap::CLI::Extended.new
113
130
  v.each do |alg|
114
131
  ci = TLSmap::App::Cipher.new(:iana, alg, enhanced_data: cliext.enhanced_data)
115
- puts Paint[alg, :white] if (args['--only-weak'] && !ci.should_i_use?) ||
116
- (args['--hide-weak'] && ci.should_i_use?)
132
+ next unless (args['--only-weak'] && !ci.should_i_use?) ||
133
+ (args['--hide-weak'] && ci.should_i_use?)
134
+
135
+ print Paint["#{k} ", :blue] unless v.empty?
136
+ puts Paint[alg, :white]
117
137
  end
118
138
  else
119
139
  puts Paint[k, :blue] unless v.empty?
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
@@ -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..]
@@ -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 = '3236733f1d5b69f4230adaa726faeb2f4ba4e88aa59a72880cc822c43ed37b73' # 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.2.0'
4
+ VERSION = '3.1.0'
5
5
  end
metadata CHANGED
@@ -1,15 +1,28 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tls-map
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.2.0
4
+ version: 3.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alexandre ZANNI
8
- autorequire:
9
8
  bindir: bin
10
9
  cert_chain: []
11
- date: 2023-01-30 00:00:00.000000000 Z
10
+ date: 2025-02-01 00:00:00.000000000 Z
12
11
  dependencies:
12
+ - !ruby/object:Gem::Dependency
13
+ name: csv
14
+ requirement: !ruby/object:Gem::Requirement
15
+ requirements:
16
+ - - "~>"
17
+ - !ruby/object:Gem::Version
18
+ version: '3.3'
19
+ type: :runtime
20
+ prerelease: false
21
+ version_requirements: !ruby/object:Gem::Requirement
22
+ requirements:
23
+ - - "~>"
24
+ - !ruby/object:Gem::Version
25
+ version: '3.3'
13
26
  - !ruby/object:Gem::Dependency
14
27
  name: docopt
15
28
  requirement: !ruby/object:Gem::Requirement
@@ -92,8 +105,8 @@ metadata:
92
105
  documentation_uri: https://noraj.github.io/tls-map/yard/
93
106
  homepage_uri: https://noraj.github.io/tls-map/
94
107
  source_code_uri: https://github.com/noraj/tls-map/
108
+ funding_uri: https://github.com/sponsors/noraj
95
109
  rubygems_mfa_required: 'true'
96
- post_install_message:
97
110
  rdoc_options: []
98
111
  require_paths:
99
112
  - lib
@@ -101,18 +114,17 @@ required_ruby_version: !ruby/object:Gem::Requirement
101
114
  requirements:
102
115
  - - ">="
103
116
  - !ruby/object:Gem::Version
104
- version: 2.6.0
117
+ version: 3.1.0
105
118
  - - "<"
106
119
  - !ruby/object:Gem::Version
107
- version: '3.3'
120
+ version: '4.0'
108
121
  required_rubygems_version: !ruby/object:Gem::Requirement
109
122
  requirements:
110
123
  - - ">="
111
124
  - !ruby/object:Gem::Version
112
125
  version: '0'
113
126
  requirements: []
114
- rubygems_version: 3.4.1
115
- signing_key:
127
+ rubygems_version: 3.6.2
116
128
  specification_version: 4
117
129
  summary: CLI & library for TLS cipher suites manipulation
118
130
  test_files: []