mirror of
				https://github.com/superseriousbusiness/gotosocial.git
				synced 2025-10-31 07:32:26 -05:00 
			
		
		
		
	
		
			
	
	
		
			642 lines
		
	
	
	
		
			34 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
		
		
			
		
	
	
			642 lines
		
	
	
	
		
			34 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
|  | // Copyright 2017 The Go Authors. All rights reserved. | ||
|  | // Use of this source code is governed by a BSD-style | ||
|  | // license that can be found in the LICENSE file. | ||
|  | 
 | ||
|  | package http2 | ||
|  | 
 | ||
|  | // A list of the possible cipher suite ids. Taken from | ||
|  | // https://www.iana.org/assignments/tls-parameters/tls-parameters.txt | ||
|  | 
 | ||
|  | const ( | ||
|  | 	cipher_TLS_NULL_WITH_NULL_NULL               uint16 = 0x0000 | ||
|  | 	cipher_TLS_RSA_WITH_NULL_MD5                 uint16 = 0x0001 | ||
|  | 	cipher_TLS_RSA_WITH_NULL_SHA                 uint16 = 0x0002 | ||
|  | 	cipher_TLS_RSA_EXPORT_WITH_RC4_40_MD5        uint16 = 0x0003 | ||
|  | 	cipher_TLS_RSA_WITH_RC4_128_MD5              uint16 = 0x0004 | ||
|  | 	cipher_TLS_RSA_WITH_RC4_128_SHA              uint16 = 0x0005 | ||
|  | 	cipher_TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5    uint16 = 0x0006 | ||
|  | 	cipher_TLS_RSA_WITH_IDEA_CBC_SHA             uint16 = 0x0007 | ||
|  | 	cipher_TLS_RSA_EXPORT_WITH_DES40_CBC_SHA     uint16 = 0x0008 | ||
|  | 	cipher_TLS_RSA_WITH_DES_CBC_SHA              uint16 = 0x0009 | ||
|  | 	cipher_TLS_RSA_WITH_3DES_EDE_CBC_SHA         uint16 = 0x000A | ||
|  | 	cipher_TLS_DH_DSS_EXPORT_WITH_DES40_CBC_SHA  uint16 = 0x000B | ||
|  | 	cipher_TLS_DH_DSS_WITH_DES_CBC_SHA           uint16 = 0x000C | ||
|  | 	cipher_TLS_DH_DSS_WITH_3DES_EDE_CBC_SHA      uint16 = 0x000D | ||
|  | 	cipher_TLS_DH_RSA_EXPORT_WITH_DES40_CBC_SHA  uint16 = 0x000E | ||
|  | 	cipher_TLS_DH_RSA_WITH_DES_CBC_SHA           uint16 = 0x000F | ||
|  | 	cipher_TLS_DH_RSA_WITH_3DES_EDE_CBC_SHA      uint16 = 0x0010 | ||
|  | 	cipher_TLS_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA uint16 = 0x0011 | ||
|  | 	cipher_TLS_DHE_DSS_WITH_DES_CBC_SHA          uint16 = 0x0012 | ||
|  | 	cipher_TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA     uint16 = 0x0013 | ||
|  | 	cipher_TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA uint16 = 0x0014 | ||
|  | 	cipher_TLS_DHE_RSA_WITH_DES_CBC_SHA          uint16 = 0x0015 | ||
|  | 	cipher_TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA     uint16 = 0x0016 | ||
|  | 	cipher_TLS_DH_anon_EXPORT_WITH_RC4_40_MD5    uint16 = 0x0017 | ||
|  | 	cipher_TLS_DH_anon_WITH_RC4_128_MD5          uint16 = 0x0018 | ||
|  | 	cipher_TLS_DH_anon_EXPORT_WITH_DES40_CBC_SHA uint16 = 0x0019 | ||
|  | 	cipher_TLS_DH_anon_WITH_DES_CBC_SHA          uint16 = 0x001A | ||
|  | 	cipher_TLS_DH_anon_WITH_3DES_EDE_CBC_SHA     uint16 = 0x001B | ||
|  | 	// Reserved uint16 =  0x001C-1D | ||
|  | 	cipher_TLS_KRB5_WITH_DES_CBC_SHA             uint16 = 0x001E | ||
|  | 	cipher_TLS_KRB5_WITH_3DES_EDE_CBC_SHA        uint16 = 0x001F | ||
|  | 	cipher_TLS_KRB5_WITH_RC4_128_SHA             uint16 = 0x0020 | ||
|  | 	cipher_TLS_KRB5_WITH_IDEA_CBC_SHA            uint16 = 0x0021 | ||
|  | 	cipher_TLS_KRB5_WITH_DES_CBC_MD5             uint16 = 0x0022 | ||
|  | 	cipher_TLS_KRB5_WITH_3DES_EDE_CBC_MD5        uint16 = 0x0023 | ||
|  | 	cipher_TLS_KRB5_WITH_RC4_128_MD5             uint16 = 0x0024 | ||
|  | 	cipher_TLS_KRB5_WITH_IDEA_CBC_MD5            uint16 = 0x0025 | ||
|  | 	cipher_TLS_KRB5_EXPORT_WITH_DES_CBC_40_SHA   uint16 = 0x0026 | ||
|  | 	cipher_TLS_KRB5_EXPORT_WITH_RC2_CBC_40_SHA   uint16 = 0x0027 | ||
|  | 	cipher_TLS_KRB5_EXPORT_WITH_RC4_40_SHA       uint16 = 0x0028 | ||
|  | 	cipher_TLS_KRB5_EXPORT_WITH_DES_CBC_40_MD5   uint16 = 0x0029 | ||
|  | 	cipher_TLS_KRB5_EXPORT_WITH_RC2_CBC_40_MD5   uint16 = 0x002A | ||
|  | 	cipher_TLS_KRB5_EXPORT_WITH_RC4_40_MD5       uint16 = 0x002B | ||
|  | 	cipher_TLS_PSK_WITH_NULL_SHA                 uint16 = 0x002C | ||
|  | 	cipher_TLS_DHE_PSK_WITH_NULL_SHA             uint16 = 0x002D | ||
|  | 	cipher_TLS_RSA_PSK_WITH_NULL_SHA             uint16 = 0x002E | ||
|  | 	cipher_TLS_RSA_WITH_AES_128_CBC_SHA          uint16 = 0x002F | ||
|  | 	cipher_TLS_DH_DSS_WITH_AES_128_CBC_SHA       uint16 = 0x0030 | ||
|  | 	cipher_TLS_DH_RSA_WITH_AES_128_CBC_SHA       uint16 = 0x0031 | ||
|  | 	cipher_TLS_DHE_DSS_WITH_AES_128_CBC_SHA      uint16 = 0x0032 | ||
|  | 	cipher_TLS_DHE_RSA_WITH_AES_128_CBC_SHA      uint16 = 0x0033 | ||
|  | 	cipher_TLS_DH_anon_WITH_AES_128_CBC_SHA      uint16 = 0x0034 | ||
|  | 	cipher_TLS_RSA_WITH_AES_256_CBC_SHA          uint16 = 0x0035 | ||
|  | 	cipher_TLS_DH_DSS_WITH_AES_256_CBC_SHA       uint16 = 0x0036 | ||
|  | 	cipher_TLS_DH_RSA_WITH_AES_256_CBC_SHA       uint16 = 0x0037 | ||
|  | 	cipher_TLS_DHE_DSS_WITH_AES_256_CBC_SHA      uint16 = 0x0038 | ||
|  | 	cipher_TLS_DHE_RSA_WITH_AES_256_CBC_SHA      uint16 = 0x0039 | ||
|  | 	cipher_TLS_DH_anon_WITH_AES_256_CBC_SHA      uint16 = 0x003A | ||
|  | 	cipher_TLS_RSA_WITH_NULL_SHA256              uint16 = 0x003B | ||
|  | 	cipher_TLS_RSA_WITH_AES_128_CBC_SHA256       uint16 = 0x003C | ||
|  | 	cipher_TLS_RSA_WITH_AES_256_CBC_SHA256       uint16 = 0x003D | ||
|  | 	cipher_TLS_DH_DSS_WITH_AES_128_CBC_SHA256    uint16 = 0x003E | ||
|  | 	cipher_TLS_DH_RSA_WITH_AES_128_CBC_SHA256    uint16 = 0x003F | ||
|  | 	cipher_TLS_DHE_DSS_WITH_AES_128_CBC_SHA256   uint16 = 0x0040 | ||
|  | 	cipher_TLS_RSA_WITH_CAMELLIA_128_CBC_SHA     uint16 = 0x0041 | ||
|  | 	cipher_TLS_DH_DSS_WITH_CAMELLIA_128_CBC_SHA  uint16 = 0x0042 | ||
|  | 	cipher_TLS_DH_RSA_WITH_CAMELLIA_128_CBC_SHA  uint16 = 0x0043 | ||
|  | 	cipher_TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA uint16 = 0x0044 | ||
|  | 	cipher_TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA uint16 = 0x0045 | ||
|  | 	cipher_TLS_DH_anon_WITH_CAMELLIA_128_CBC_SHA uint16 = 0x0046 | ||
|  | 	// Reserved uint16 =  0x0047-4F | ||
|  | 	// Reserved uint16 =  0x0050-58 | ||
|  | 	// Reserved uint16 =  0x0059-5C | ||
|  | 	// Unassigned uint16 =  0x005D-5F | ||
|  | 	// Reserved uint16 =  0x0060-66 | ||
|  | 	cipher_TLS_DHE_RSA_WITH_AES_128_CBC_SHA256 uint16 = 0x0067 | ||
|  | 	cipher_TLS_DH_DSS_WITH_AES_256_CBC_SHA256  uint16 = 0x0068 | ||
|  | 	cipher_TLS_DH_RSA_WITH_AES_256_CBC_SHA256  uint16 = 0x0069 | ||
|  | 	cipher_TLS_DHE_DSS_WITH_AES_256_CBC_SHA256 uint16 = 0x006A | ||
|  | 	cipher_TLS_DHE_RSA_WITH_AES_256_CBC_SHA256 uint16 = 0x006B | ||
|  | 	cipher_TLS_DH_anon_WITH_AES_128_CBC_SHA256 uint16 = 0x006C | ||
|  | 	cipher_TLS_DH_anon_WITH_AES_256_CBC_SHA256 uint16 = 0x006D | ||
|  | 	// Unassigned uint16 =  0x006E-83 | ||
|  | 	cipher_TLS_RSA_WITH_CAMELLIA_256_CBC_SHA        uint16 = 0x0084 | ||
|  | 	cipher_TLS_DH_DSS_WITH_CAMELLIA_256_CBC_SHA     uint16 = 0x0085 | ||
|  | 	cipher_TLS_DH_RSA_WITH_CAMELLIA_256_CBC_SHA     uint16 = 0x0086 | ||
|  | 	cipher_TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA    uint16 = 0x0087 | ||
|  | 	cipher_TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA    uint16 = 0x0088 | ||
|  | 	cipher_TLS_DH_anon_WITH_CAMELLIA_256_CBC_SHA    uint16 = 0x0089 | ||
|  | 	cipher_TLS_PSK_WITH_RC4_128_SHA                 uint16 = 0x008A | ||
|  | 	cipher_TLS_PSK_WITH_3DES_EDE_CBC_SHA            uint16 = 0x008B | ||
|  | 	cipher_TLS_PSK_WITH_AES_128_CBC_SHA             uint16 = 0x008C | ||
|  | 	cipher_TLS_PSK_WITH_AES_256_CBC_SHA             uint16 = 0x008D | ||
|  | 	cipher_TLS_DHE_PSK_WITH_RC4_128_SHA             uint16 = 0x008E | ||
|  | 	cipher_TLS_DHE_PSK_WITH_3DES_EDE_CBC_SHA        uint16 = 0x008F | ||
|  | 	cipher_TLS_DHE_PSK_WITH_AES_128_CBC_SHA         uint16 = 0x0090 | ||
|  | 	cipher_TLS_DHE_PSK_WITH_AES_256_CBC_SHA         uint16 = 0x0091 | ||
|  | 	cipher_TLS_RSA_PSK_WITH_RC4_128_SHA             uint16 = 0x0092 | ||
|  | 	cipher_TLS_RSA_PSK_WITH_3DES_EDE_CBC_SHA        uint16 = 0x0093 | ||
|  | 	cipher_TLS_RSA_PSK_WITH_AES_128_CBC_SHA         uint16 = 0x0094 | ||
|  | 	cipher_TLS_RSA_PSK_WITH_AES_256_CBC_SHA         uint16 = 0x0095 | ||
|  | 	cipher_TLS_RSA_WITH_SEED_CBC_SHA                uint16 = 0x0096 | ||
|  | 	cipher_TLS_DH_DSS_WITH_SEED_CBC_SHA             uint16 = 0x0097 | ||
|  | 	cipher_TLS_DH_RSA_WITH_SEED_CBC_SHA             uint16 = 0x0098 | ||
|  | 	cipher_TLS_DHE_DSS_WITH_SEED_CBC_SHA            uint16 = 0x0099 | ||
|  | 	cipher_TLS_DHE_RSA_WITH_SEED_CBC_SHA            uint16 = 0x009A | ||
|  | 	cipher_TLS_DH_anon_WITH_SEED_CBC_SHA            uint16 = 0x009B | ||
|  | 	cipher_TLS_RSA_WITH_AES_128_GCM_SHA256          uint16 = 0x009C | ||
|  | 	cipher_TLS_RSA_WITH_AES_256_GCM_SHA384          uint16 = 0x009D | ||
|  | 	cipher_TLS_DHE_RSA_WITH_AES_128_GCM_SHA256      uint16 = 0x009E | ||
|  | 	cipher_TLS_DHE_RSA_WITH_AES_256_GCM_SHA384      uint16 = 0x009F | ||
|  | 	cipher_TLS_DH_RSA_WITH_AES_128_GCM_SHA256       uint16 = 0x00A0 | ||
|  | 	cipher_TLS_DH_RSA_WITH_AES_256_GCM_SHA384       uint16 = 0x00A1 | ||
|  | 	cipher_TLS_DHE_DSS_WITH_AES_128_GCM_SHA256      uint16 = 0x00A2 | ||
|  | 	cipher_TLS_DHE_DSS_WITH_AES_256_GCM_SHA384      uint16 = 0x00A3 | ||
|  | 	cipher_TLS_DH_DSS_WITH_AES_128_GCM_SHA256       uint16 = 0x00A4 | ||
|  | 	cipher_TLS_DH_DSS_WITH_AES_256_GCM_SHA384       uint16 = 0x00A5 | ||
|  | 	cipher_TLS_DH_anon_WITH_AES_128_GCM_SHA256      uint16 = 0x00A6 | ||
|  | 	cipher_TLS_DH_anon_WITH_AES_256_GCM_SHA384      uint16 = 0x00A7 | ||
|  | 	cipher_TLS_PSK_WITH_AES_128_GCM_SHA256          uint16 = 0x00A8 | ||
|  | 	cipher_TLS_PSK_WITH_AES_256_GCM_SHA384          uint16 = 0x00A9 | ||
|  | 	cipher_TLS_DHE_PSK_WITH_AES_128_GCM_SHA256      uint16 = 0x00AA | ||
|  | 	cipher_TLS_DHE_PSK_WITH_AES_256_GCM_SHA384      uint16 = 0x00AB | ||
|  | 	cipher_TLS_RSA_PSK_WITH_AES_128_GCM_SHA256      uint16 = 0x00AC | ||
|  | 	cipher_TLS_RSA_PSK_WITH_AES_256_GCM_SHA384      uint16 = 0x00AD | ||
|  | 	cipher_TLS_PSK_WITH_AES_128_CBC_SHA256          uint16 = 0x00AE | ||
|  | 	cipher_TLS_PSK_WITH_AES_256_CBC_SHA384          uint16 = 0x00AF | ||
|  | 	cipher_TLS_PSK_WITH_NULL_SHA256                 uint16 = 0x00B0 | ||
|  | 	cipher_TLS_PSK_WITH_NULL_SHA384                 uint16 = 0x00B1 | ||
|  | 	cipher_TLS_DHE_PSK_WITH_AES_128_CBC_SHA256      uint16 = 0x00B2 | ||
|  | 	cipher_TLS_DHE_PSK_WITH_AES_256_CBC_SHA384      uint16 = 0x00B3 | ||
|  | 	cipher_TLS_DHE_PSK_WITH_NULL_SHA256             uint16 = 0x00B4 | ||
|  | 	cipher_TLS_DHE_PSK_WITH_NULL_SHA384             uint16 = 0x00B5 | ||
|  | 	cipher_TLS_RSA_PSK_WITH_AES_128_CBC_SHA256      uint16 = 0x00B6 | ||
|  | 	cipher_TLS_RSA_PSK_WITH_AES_256_CBC_SHA384      uint16 = 0x00B7 | ||
|  | 	cipher_TLS_RSA_PSK_WITH_NULL_SHA256             uint16 = 0x00B8 | ||
|  | 	cipher_TLS_RSA_PSK_WITH_NULL_SHA384             uint16 = 0x00B9 | ||
|  | 	cipher_TLS_RSA_WITH_CAMELLIA_128_CBC_SHA256     uint16 = 0x00BA | ||
|  | 	cipher_TLS_DH_DSS_WITH_CAMELLIA_128_CBC_SHA256  uint16 = 0x00BB | ||
|  | 	cipher_TLS_DH_RSA_WITH_CAMELLIA_128_CBC_SHA256  uint16 = 0x00BC | ||
|  | 	cipher_TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA256 uint16 = 0x00BD | ||
|  | 	cipher_TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA256 uint16 = 0x00BE | ||
|  | 	cipher_TLS_DH_anon_WITH_CAMELLIA_128_CBC_SHA256 uint16 = 0x00BF | ||
|  | 	cipher_TLS_RSA_WITH_CAMELLIA_256_CBC_SHA256     uint16 = 0x00C0 | ||
|  | 	cipher_TLS_DH_DSS_WITH_CAMELLIA_256_CBC_SHA256  uint16 = 0x00C1 | ||
|  | 	cipher_TLS_DH_RSA_WITH_CAMELLIA_256_CBC_SHA256  uint16 = 0x00C2 | ||
|  | 	cipher_TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA256 uint16 = 0x00C3 | ||
|  | 	cipher_TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA256 uint16 = 0x00C4 | ||
|  | 	cipher_TLS_DH_anon_WITH_CAMELLIA_256_CBC_SHA256 uint16 = 0x00C5 | ||
|  | 	// Unassigned uint16 =  0x00C6-FE | ||
|  | 	cipher_TLS_EMPTY_RENEGOTIATION_INFO_SCSV uint16 = 0x00FF | ||
|  | 	// Unassigned uint16 =  0x01-55,* | ||
|  | 	cipher_TLS_FALLBACK_SCSV uint16 = 0x5600 | ||
|  | 	// Unassigned                                   uint16 = 0x5601 - 0xC000 | ||
|  | 	cipher_TLS_ECDH_ECDSA_WITH_NULL_SHA                 uint16 = 0xC001 | ||
|  | 	cipher_TLS_ECDH_ECDSA_WITH_RC4_128_SHA              uint16 = 0xC002 | ||
|  | 	cipher_TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA         uint16 = 0xC003 | ||
|  | 	cipher_TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA          uint16 = 0xC004 | ||
|  | 	cipher_TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA          uint16 = 0xC005 | ||
|  | 	cipher_TLS_ECDHE_ECDSA_WITH_NULL_SHA                uint16 = 0xC006 | ||
|  | 	cipher_TLS_ECDHE_ECDSA_WITH_RC4_128_SHA             uint16 = 0xC007 | ||
|  | 	cipher_TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA        uint16 = 0xC008 | ||
|  | 	cipher_TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA         uint16 = 0xC009 | ||
|  | 	cipher_TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA         uint16 = 0xC00A | ||
|  | 	cipher_TLS_ECDH_RSA_WITH_NULL_SHA                   uint16 = 0xC00B | ||
|  | 	cipher_TLS_ECDH_RSA_WITH_RC4_128_SHA                uint16 = 0xC00C | ||
|  | 	cipher_TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA           uint16 = 0xC00D | ||
|  | 	cipher_TLS_ECDH_RSA_WITH_AES_128_CBC_SHA            uint16 = 0xC00E | ||
|  | 	cipher_TLS_ECDH_RSA_WITH_AES_256_CBC_SHA            uint16 = 0xC00F | ||
|  | 	cipher_TLS_ECDHE_RSA_WITH_NULL_SHA                  uint16 = 0xC010 | ||
|  | 	cipher_TLS_ECDHE_RSA_WITH_RC4_128_SHA               uint16 = 0xC011 | ||
|  | 	cipher_TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA          uint16 = 0xC012 | ||
|  | 	cipher_TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA           uint16 = 0xC013 | ||
|  | 	cipher_TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA           uint16 = 0xC014 | ||
|  | 	cipher_TLS_ECDH_anon_WITH_NULL_SHA                  uint16 = 0xC015 | ||
|  | 	cipher_TLS_ECDH_anon_WITH_RC4_128_SHA               uint16 = 0xC016 | ||
|  | 	cipher_TLS_ECDH_anon_WITH_3DES_EDE_CBC_SHA          uint16 = 0xC017 | ||
|  | 	cipher_TLS_ECDH_anon_WITH_AES_128_CBC_SHA           uint16 = 0xC018 | ||
|  | 	cipher_TLS_ECDH_anon_WITH_AES_256_CBC_SHA           uint16 = 0xC019 | ||
|  | 	cipher_TLS_SRP_SHA_WITH_3DES_EDE_CBC_SHA            uint16 = 0xC01A | ||
|  | 	cipher_TLS_SRP_SHA_RSA_WITH_3DES_EDE_CBC_SHA        uint16 = 0xC01B | ||
|  | 	cipher_TLS_SRP_SHA_DSS_WITH_3DES_EDE_CBC_SHA        uint16 = 0xC01C | ||
|  | 	cipher_TLS_SRP_SHA_WITH_AES_128_CBC_SHA             uint16 = 0xC01D | ||
|  | 	cipher_TLS_SRP_SHA_RSA_WITH_AES_128_CBC_SHA         uint16 = 0xC01E | ||
|  | 	cipher_TLS_SRP_SHA_DSS_WITH_AES_128_CBC_SHA         uint16 = 0xC01F | ||
|  | 	cipher_TLS_SRP_SHA_WITH_AES_256_CBC_SHA             uint16 = 0xC020 | ||
|  | 	cipher_TLS_SRP_SHA_RSA_WITH_AES_256_CBC_SHA         uint16 = 0xC021 | ||
|  | 	cipher_TLS_SRP_SHA_DSS_WITH_AES_256_CBC_SHA         uint16 = 0xC022 | ||
|  | 	cipher_TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256      uint16 = 0xC023 | ||
|  | 	cipher_TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384      uint16 = 0xC024 | ||
|  | 	cipher_TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256       uint16 = 0xC025 | ||
|  | 	cipher_TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384       uint16 = 0xC026 | ||
|  | 	cipher_TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256        uint16 = 0xC027 | ||
|  | 	cipher_TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384        uint16 = 0xC028 | ||
|  | 	cipher_TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256         uint16 = 0xC029 | ||
|  | 	cipher_TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384         uint16 = 0xC02A | ||
|  | 	cipher_TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256      uint16 = 0xC02B | ||
|  | 	cipher_TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384      uint16 = 0xC02C | ||
|  | 	cipher_TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256       uint16 = 0xC02D | ||
|  | 	cipher_TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384       uint16 = 0xC02E | ||
|  | 	cipher_TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256        uint16 = 0xC02F | ||
|  | 	cipher_TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384        uint16 = 0xC030 | ||
|  | 	cipher_TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256         uint16 = 0xC031 | ||
|  | 	cipher_TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384         uint16 = 0xC032 | ||
|  | 	cipher_TLS_ECDHE_PSK_WITH_RC4_128_SHA               uint16 = 0xC033 | ||
|  | 	cipher_TLS_ECDHE_PSK_WITH_3DES_EDE_CBC_SHA          uint16 = 0xC034 | ||
|  | 	cipher_TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA           uint16 = 0xC035 | ||
|  | 	cipher_TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA           uint16 = 0xC036 | ||
|  | 	cipher_TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA256        uint16 = 0xC037 | ||
|  | 	cipher_TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA384        uint16 = 0xC038 | ||
|  | 	cipher_TLS_ECDHE_PSK_WITH_NULL_SHA                  uint16 = 0xC039 | ||
|  | 	cipher_TLS_ECDHE_PSK_WITH_NULL_SHA256               uint16 = 0xC03A | ||
|  | 	cipher_TLS_ECDHE_PSK_WITH_NULL_SHA384               uint16 = 0xC03B | ||
|  | 	cipher_TLS_RSA_WITH_ARIA_128_CBC_SHA256             uint16 = 0xC03C | ||
|  | 	cipher_TLS_RSA_WITH_ARIA_256_CBC_SHA384             uint16 = 0xC03D | ||
|  | 	cipher_TLS_DH_DSS_WITH_ARIA_128_CBC_SHA256          uint16 = 0xC03E | ||
|  | 	cipher_TLS_DH_DSS_WITH_ARIA_256_CBC_SHA384          uint16 = 0xC03F | ||
|  | 	cipher_TLS_DH_RSA_WITH_ARIA_128_CBC_SHA256          uint16 = 0xC040 | ||
|  | 	cipher_TLS_DH_RSA_WITH_ARIA_256_CBC_SHA384          uint16 = 0xC041 | ||
|  | 	cipher_TLS_DHE_DSS_WITH_ARIA_128_CBC_SHA256         uint16 = 0xC042 | ||
|  | 	cipher_TLS_DHE_DSS_WITH_ARIA_256_CBC_SHA384         uint16 = 0xC043 | ||
|  | 	cipher_TLS_DHE_RSA_WITH_ARIA_128_CBC_SHA256         uint16 = 0xC044 | ||
|  | 	cipher_TLS_DHE_RSA_WITH_ARIA_256_CBC_SHA384         uint16 = 0xC045 | ||
|  | 	cipher_TLS_DH_anon_WITH_ARIA_128_CBC_SHA256         uint16 = 0xC046 | ||
|  | 	cipher_TLS_DH_anon_WITH_ARIA_256_CBC_SHA384         uint16 = 0xC047 | ||
|  | 	cipher_TLS_ECDHE_ECDSA_WITH_ARIA_128_CBC_SHA256     uint16 = 0xC048 | ||
|  | 	cipher_TLS_ECDHE_ECDSA_WITH_ARIA_256_CBC_SHA384     uint16 = 0xC049 | ||
|  | 	cipher_TLS_ECDH_ECDSA_WITH_ARIA_128_CBC_SHA256      uint16 = 0xC04A | ||
|  | 	cipher_TLS_ECDH_ECDSA_WITH_ARIA_256_CBC_SHA384      uint16 = 0xC04B | ||
|  | 	cipher_TLS_ECDHE_RSA_WITH_ARIA_128_CBC_SHA256       uint16 = 0xC04C | ||
|  | 	cipher_TLS_ECDHE_RSA_WITH_ARIA_256_CBC_SHA384       uint16 = 0xC04D | ||
|  | 	cipher_TLS_ECDH_RSA_WITH_ARIA_128_CBC_SHA256        uint16 = 0xC04E | ||
|  | 	cipher_TLS_ECDH_RSA_WITH_ARIA_256_CBC_SHA384        uint16 = 0xC04F | ||
|  | 	cipher_TLS_RSA_WITH_ARIA_128_GCM_SHA256             uint16 = 0xC050 | ||
|  | 	cipher_TLS_RSA_WITH_ARIA_256_GCM_SHA384             uint16 = 0xC051 | ||
|  | 	cipher_TLS_DHE_RSA_WITH_ARIA_128_GCM_SHA256         uint16 = 0xC052 | ||
|  | 	cipher_TLS_DHE_RSA_WITH_ARIA_256_GCM_SHA384         uint16 = 0xC053 | ||
|  | 	cipher_TLS_DH_RSA_WITH_ARIA_128_GCM_SHA256          uint16 = 0xC054 | ||
|  | 	cipher_TLS_DH_RSA_WITH_ARIA_256_GCM_SHA384          uint16 = 0xC055 | ||
|  | 	cipher_TLS_DHE_DSS_WITH_ARIA_128_GCM_SHA256         uint16 = 0xC056 | ||
|  | 	cipher_TLS_DHE_DSS_WITH_ARIA_256_GCM_SHA384         uint16 = 0xC057 | ||
|  | 	cipher_TLS_DH_DSS_WITH_ARIA_128_GCM_SHA256          uint16 = 0xC058 | ||
|  | 	cipher_TLS_DH_DSS_WITH_ARIA_256_GCM_SHA384          uint16 = 0xC059 | ||
|  | 	cipher_TLS_DH_anon_WITH_ARIA_128_GCM_SHA256         uint16 = 0xC05A | ||
|  | 	cipher_TLS_DH_anon_WITH_ARIA_256_GCM_SHA384         uint16 = 0xC05B | ||
|  | 	cipher_TLS_ECDHE_ECDSA_WITH_ARIA_128_GCM_SHA256     uint16 = 0xC05C | ||
|  | 	cipher_TLS_ECDHE_ECDSA_WITH_ARIA_256_GCM_SHA384     uint16 = 0xC05D | ||
|  | 	cipher_TLS_ECDH_ECDSA_WITH_ARIA_128_GCM_SHA256      uint16 = 0xC05E | ||
|  | 	cipher_TLS_ECDH_ECDSA_WITH_ARIA_256_GCM_SHA384      uint16 = 0xC05F | ||
|  | 	cipher_TLS_ECDHE_RSA_WITH_ARIA_128_GCM_SHA256       uint16 = 0xC060 | ||
|  | 	cipher_TLS_ECDHE_RSA_WITH_ARIA_256_GCM_SHA384       uint16 = 0xC061 | ||
|  | 	cipher_TLS_ECDH_RSA_WITH_ARIA_128_GCM_SHA256        uint16 = 0xC062 | ||
|  | 	cipher_TLS_ECDH_RSA_WITH_ARIA_256_GCM_SHA384        uint16 = 0xC063 | ||
|  | 	cipher_TLS_PSK_WITH_ARIA_128_CBC_SHA256             uint16 = 0xC064 | ||
|  | 	cipher_TLS_PSK_WITH_ARIA_256_CBC_SHA384             uint16 = 0xC065 | ||
|  | 	cipher_TLS_DHE_PSK_WITH_ARIA_128_CBC_SHA256         uint16 = 0xC066 | ||
|  | 	cipher_TLS_DHE_PSK_WITH_ARIA_256_CBC_SHA384         uint16 = 0xC067 | ||
|  | 	cipher_TLS_RSA_PSK_WITH_ARIA_128_CBC_SHA256         uint16 = 0xC068 | ||
|  | 	cipher_TLS_RSA_PSK_WITH_ARIA_256_CBC_SHA384         uint16 = 0xC069 | ||
|  | 	cipher_TLS_PSK_WITH_ARIA_128_GCM_SHA256             uint16 = 0xC06A | ||
|  | 	cipher_TLS_PSK_WITH_ARIA_256_GCM_SHA384             uint16 = 0xC06B | ||
|  | 	cipher_TLS_DHE_PSK_WITH_ARIA_128_GCM_SHA256         uint16 = 0xC06C | ||
|  | 	cipher_TLS_DHE_PSK_WITH_ARIA_256_GCM_SHA384         uint16 = 0xC06D | ||
|  | 	cipher_TLS_RSA_PSK_WITH_ARIA_128_GCM_SHA256         uint16 = 0xC06E | ||
|  | 	cipher_TLS_RSA_PSK_WITH_ARIA_256_GCM_SHA384         uint16 = 0xC06F | ||
|  | 	cipher_TLS_ECDHE_PSK_WITH_ARIA_128_CBC_SHA256       uint16 = 0xC070 | ||
|  | 	cipher_TLS_ECDHE_PSK_WITH_ARIA_256_CBC_SHA384       uint16 = 0xC071 | ||
|  | 	cipher_TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_CBC_SHA256 uint16 = 0xC072 | ||
|  | 	cipher_TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_CBC_SHA384 uint16 = 0xC073 | ||
|  | 	cipher_TLS_ECDH_ECDSA_WITH_CAMELLIA_128_CBC_SHA256  uint16 = 0xC074 | ||
|  | 	cipher_TLS_ECDH_ECDSA_WITH_CAMELLIA_256_CBC_SHA384  uint16 = 0xC075 | ||
|  | 	cipher_TLS_ECDHE_RSA_WITH_CAMELLIA_128_CBC_SHA256   uint16 = 0xC076 | ||
|  | 	cipher_TLS_ECDHE_RSA_WITH_CAMELLIA_256_CBC_SHA384   uint16 = 0xC077 | ||
|  | 	cipher_TLS_ECDH_RSA_WITH_CAMELLIA_128_CBC_SHA256    uint16 = 0xC078 | ||
|  | 	cipher_TLS_ECDH_RSA_WITH_CAMELLIA_256_CBC_SHA384    uint16 = 0xC079 | ||
|  | 	cipher_TLS_RSA_WITH_CAMELLIA_128_GCM_SHA256         uint16 = 0xC07A | ||
|  | 	cipher_TLS_RSA_WITH_CAMELLIA_256_GCM_SHA384         uint16 = 0xC07B | ||
|  | 	cipher_TLS_DHE_RSA_WITH_CAMELLIA_128_GCM_SHA256     uint16 = 0xC07C | ||
|  | 	cipher_TLS_DHE_RSA_WITH_CAMELLIA_256_GCM_SHA384     uint16 = 0xC07D | ||
|  | 	cipher_TLS_DH_RSA_WITH_CAMELLIA_128_GCM_SHA256      uint16 = 0xC07E | ||
|  | 	cipher_TLS_DH_RSA_WITH_CAMELLIA_256_GCM_SHA384      uint16 = 0xC07F | ||
|  | 	cipher_TLS_DHE_DSS_WITH_CAMELLIA_128_GCM_SHA256     uint16 = 0xC080 | ||
|  | 	cipher_TLS_DHE_DSS_WITH_CAMELLIA_256_GCM_SHA384     uint16 = 0xC081 | ||
|  | 	cipher_TLS_DH_DSS_WITH_CAMELLIA_128_GCM_SHA256      uint16 = 0xC082 | ||
|  | 	cipher_TLS_DH_DSS_WITH_CAMELLIA_256_GCM_SHA384      uint16 = 0xC083 | ||
|  | 	cipher_TLS_DH_anon_WITH_CAMELLIA_128_GCM_SHA256     uint16 = 0xC084 | ||
|  | 	cipher_TLS_DH_anon_WITH_CAMELLIA_256_GCM_SHA384     uint16 = 0xC085 | ||
|  | 	cipher_TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_GCM_SHA256 uint16 = 0xC086 | ||
|  | 	cipher_TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_GCM_SHA384 uint16 = 0xC087 | ||
|  | 	cipher_TLS_ECDH_ECDSA_WITH_CAMELLIA_128_GCM_SHA256  uint16 = 0xC088 | ||
|  | 	cipher_TLS_ECDH_ECDSA_WITH_CAMELLIA_256_GCM_SHA384  uint16 = 0xC089 | ||
|  | 	cipher_TLS_ECDHE_RSA_WITH_CAMELLIA_128_GCM_SHA256   uint16 = 0xC08A | ||
|  | 	cipher_TLS_ECDHE_RSA_WITH_CAMELLIA_256_GCM_SHA384   uint16 = 0xC08B | ||
|  | 	cipher_TLS_ECDH_RSA_WITH_CAMELLIA_128_GCM_SHA256    uint16 = 0xC08C | ||
|  | 	cipher_TLS_ECDH_RSA_WITH_CAMELLIA_256_GCM_SHA384    uint16 = 0xC08D | ||
|  | 	cipher_TLS_PSK_WITH_CAMELLIA_128_GCM_SHA256         uint16 = 0xC08E | ||
|  | 	cipher_TLS_PSK_WITH_CAMELLIA_256_GCM_SHA384         uint16 = 0xC08F | ||
|  | 	cipher_TLS_DHE_PSK_WITH_CAMELLIA_128_GCM_SHA256     uint16 = 0xC090 | ||
|  | 	cipher_TLS_DHE_PSK_WITH_CAMELLIA_256_GCM_SHA384     uint16 = 0xC091 | ||
|  | 	cipher_TLS_RSA_PSK_WITH_CAMELLIA_128_GCM_SHA256     uint16 = 0xC092 | ||
|  | 	cipher_TLS_RSA_PSK_WITH_CAMELLIA_256_GCM_SHA384     uint16 = 0xC093 | ||
|  | 	cipher_TLS_PSK_WITH_CAMELLIA_128_CBC_SHA256         uint16 = 0xC094 | ||
|  | 	cipher_TLS_PSK_WITH_CAMELLIA_256_CBC_SHA384         uint16 = 0xC095 | ||
|  | 	cipher_TLS_DHE_PSK_WITH_CAMELLIA_128_CBC_SHA256     uint16 = 0xC096 | ||
|  | 	cipher_TLS_DHE_PSK_WITH_CAMELLIA_256_CBC_SHA384     uint16 = 0xC097 | ||
|  | 	cipher_TLS_RSA_PSK_WITH_CAMELLIA_128_CBC_SHA256     uint16 = 0xC098 | ||
|  | 	cipher_TLS_RSA_PSK_WITH_CAMELLIA_256_CBC_SHA384     uint16 = 0xC099 | ||
|  | 	cipher_TLS_ECDHE_PSK_WITH_CAMELLIA_128_CBC_SHA256   uint16 = 0xC09A | ||
|  | 	cipher_TLS_ECDHE_PSK_WITH_CAMELLIA_256_CBC_SHA384   uint16 = 0xC09B | ||
|  | 	cipher_TLS_RSA_WITH_AES_128_CCM                     uint16 = 0xC09C | ||
|  | 	cipher_TLS_RSA_WITH_AES_256_CCM                     uint16 = 0xC09D | ||
|  | 	cipher_TLS_DHE_RSA_WITH_AES_128_CCM                 uint16 = 0xC09E | ||
|  | 	cipher_TLS_DHE_RSA_WITH_AES_256_CCM                 uint16 = 0xC09F | ||
|  | 	cipher_TLS_RSA_WITH_AES_128_CCM_8                   uint16 = 0xC0A0 | ||
|  | 	cipher_TLS_RSA_WITH_AES_256_CCM_8                   uint16 = 0xC0A1 | ||
|  | 	cipher_TLS_DHE_RSA_WITH_AES_128_CCM_8               uint16 = 0xC0A2 | ||
|  | 	cipher_TLS_DHE_RSA_WITH_AES_256_CCM_8               uint16 = 0xC0A3 | ||
|  | 	cipher_TLS_PSK_WITH_AES_128_CCM                     uint16 = 0xC0A4 | ||
|  | 	cipher_TLS_PSK_WITH_AES_256_CCM                     uint16 = 0xC0A5 | ||
|  | 	cipher_TLS_DHE_PSK_WITH_AES_128_CCM                 uint16 = 0xC0A6 | ||
|  | 	cipher_TLS_DHE_PSK_WITH_AES_256_CCM                 uint16 = 0xC0A7 | ||
|  | 	cipher_TLS_PSK_WITH_AES_128_CCM_8                   uint16 = 0xC0A8 | ||
|  | 	cipher_TLS_PSK_WITH_AES_256_CCM_8                   uint16 = 0xC0A9 | ||
|  | 	cipher_TLS_PSK_DHE_WITH_AES_128_CCM_8               uint16 = 0xC0AA | ||
|  | 	cipher_TLS_PSK_DHE_WITH_AES_256_CCM_8               uint16 = 0xC0AB | ||
|  | 	cipher_TLS_ECDHE_ECDSA_WITH_AES_128_CCM             uint16 = 0xC0AC | ||
|  | 	cipher_TLS_ECDHE_ECDSA_WITH_AES_256_CCM             uint16 = 0xC0AD | ||
|  | 	cipher_TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8           uint16 = 0xC0AE | ||
|  | 	cipher_TLS_ECDHE_ECDSA_WITH_AES_256_CCM_8           uint16 = 0xC0AF | ||
|  | 	// Unassigned uint16 =  0xC0B0-FF | ||
|  | 	// Unassigned uint16 =  0xC1-CB,* | ||
|  | 	// Unassigned uint16 =  0xCC00-A7 | ||
|  | 	cipher_TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256   uint16 = 0xCCA8 | ||
|  | 	cipher_TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256 uint16 = 0xCCA9 | ||
|  | 	cipher_TLS_DHE_RSA_WITH_CHACHA20_POLY1305_SHA256     uint16 = 0xCCAA | ||
|  | 	cipher_TLS_PSK_WITH_CHACHA20_POLY1305_SHA256         uint16 = 0xCCAB | ||
|  | 	cipher_TLS_ECDHE_PSK_WITH_CHACHA20_POLY1305_SHA256   uint16 = 0xCCAC | ||
|  | 	cipher_TLS_DHE_PSK_WITH_CHACHA20_POLY1305_SHA256     uint16 = 0xCCAD | ||
|  | 	cipher_TLS_RSA_PSK_WITH_CHACHA20_POLY1305_SHA256     uint16 = 0xCCAE | ||
|  | ) | ||
|  | 
 | ||
|  | // isBadCipher reports whether the cipher is blacklisted by the HTTP/2 spec. | ||
|  | // References: | ||
|  | // https://tools.ietf.org/html/rfc7540#appendix-A | ||
|  | // Reject cipher suites from Appendix A. | ||
|  | // "This list includes those cipher suites that do not | ||
|  | // offer an ephemeral key exchange and those that are | ||
|  | // based on the TLS null, stream or block cipher type" | ||
|  | func isBadCipher(cipher uint16) bool { | ||
|  | 	switch cipher { | ||
|  | 	case cipher_TLS_NULL_WITH_NULL_NULL, | ||
|  | 		cipher_TLS_RSA_WITH_NULL_MD5, | ||
|  | 		cipher_TLS_RSA_WITH_NULL_SHA, | ||
|  | 		cipher_TLS_RSA_EXPORT_WITH_RC4_40_MD5, | ||
|  | 		cipher_TLS_RSA_WITH_RC4_128_MD5, | ||
|  | 		cipher_TLS_RSA_WITH_RC4_128_SHA, | ||
|  | 		cipher_TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5, | ||
|  | 		cipher_TLS_RSA_WITH_IDEA_CBC_SHA, | ||
|  | 		cipher_TLS_RSA_EXPORT_WITH_DES40_CBC_SHA, | ||
|  | 		cipher_TLS_RSA_WITH_DES_CBC_SHA, | ||
|  | 		cipher_TLS_RSA_WITH_3DES_EDE_CBC_SHA, | ||
|  | 		cipher_TLS_DH_DSS_EXPORT_WITH_DES40_CBC_SHA, | ||
|  | 		cipher_TLS_DH_DSS_WITH_DES_CBC_SHA, | ||
|  | 		cipher_TLS_DH_DSS_WITH_3DES_EDE_CBC_SHA, | ||
|  | 		cipher_TLS_DH_RSA_EXPORT_WITH_DES40_CBC_SHA, | ||
|  | 		cipher_TLS_DH_RSA_WITH_DES_CBC_SHA, | ||
|  | 		cipher_TLS_DH_RSA_WITH_3DES_EDE_CBC_SHA, | ||
|  | 		cipher_TLS_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA, | ||
|  | 		cipher_TLS_DHE_DSS_WITH_DES_CBC_SHA, | ||
|  | 		cipher_TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA, | ||
|  | 		cipher_TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA, | ||
|  | 		cipher_TLS_DHE_RSA_WITH_DES_CBC_SHA, | ||
|  | 		cipher_TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA, | ||
|  | 		cipher_TLS_DH_anon_EXPORT_WITH_RC4_40_MD5, | ||
|  | 		cipher_TLS_DH_anon_WITH_RC4_128_MD5, | ||
|  | 		cipher_TLS_DH_anon_EXPORT_WITH_DES40_CBC_SHA, | ||
|  | 		cipher_TLS_DH_anon_WITH_DES_CBC_SHA, | ||
|  | 		cipher_TLS_DH_anon_WITH_3DES_EDE_CBC_SHA, | ||
|  | 		cipher_TLS_KRB5_WITH_DES_CBC_SHA, | ||
|  | 		cipher_TLS_KRB5_WITH_3DES_EDE_CBC_SHA, | ||
|  | 		cipher_TLS_KRB5_WITH_RC4_128_SHA, | ||
|  | 		cipher_TLS_KRB5_WITH_IDEA_CBC_SHA, | ||
|  | 		cipher_TLS_KRB5_WITH_DES_CBC_MD5, | ||
|  | 		cipher_TLS_KRB5_WITH_3DES_EDE_CBC_MD5, | ||
|  | 		cipher_TLS_KRB5_WITH_RC4_128_MD5, | ||
|  | 		cipher_TLS_KRB5_WITH_IDEA_CBC_MD5, | ||
|  | 		cipher_TLS_KRB5_EXPORT_WITH_DES_CBC_40_SHA, | ||
|  | 		cipher_TLS_KRB5_EXPORT_WITH_RC2_CBC_40_SHA, | ||
|  | 		cipher_TLS_KRB5_EXPORT_WITH_RC4_40_SHA, | ||
|  | 		cipher_TLS_KRB5_EXPORT_WITH_DES_CBC_40_MD5, | ||
|  | 		cipher_TLS_KRB5_EXPORT_WITH_RC2_CBC_40_MD5, | ||
|  | 		cipher_TLS_KRB5_EXPORT_WITH_RC4_40_MD5, | ||
|  | 		cipher_TLS_PSK_WITH_NULL_SHA, | ||
|  | 		cipher_TLS_DHE_PSK_WITH_NULL_SHA, | ||
|  | 		cipher_TLS_RSA_PSK_WITH_NULL_SHA, | ||
|  | 		cipher_TLS_RSA_WITH_AES_128_CBC_SHA, | ||
|  | 		cipher_TLS_DH_DSS_WITH_AES_128_CBC_SHA, | ||
|  | 		cipher_TLS_DH_RSA_WITH_AES_128_CBC_SHA, | ||
|  | 		cipher_TLS_DHE_DSS_WITH_AES_128_CBC_SHA, | ||
|  | 		cipher_TLS_DHE_RSA_WITH_AES_128_CBC_SHA, | ||
|  | 		cipher_TLS_DH_anon_WITH_AES_128_CBC_SHA, | ||
|  | 		cipher_TLS_RSA_WITH_AES_256_CBC_SHA, | ||
|  | 		cipher_TLS_DH_DSS_WITH_AES_256_CBC_SHA, | ||
|  | 		cipher_TLS_DH_RSA_WITH_AES_256_CBC_SHA, | ||
|  | 		cipher_TLS_DHE_DSS_WITH_AES_256_CBC_SHA, | ||
|  | 		cipher_TLS_DHE_RSA_WITH_AES_256_CBC_SHA, | ||
|  | 		cipher_TLS_DH_anon_WITH_AES_256_CBC_SHA, | ||
|  | 		cipher_TLS_RSA_WITH_NULL_SHA256, | ||
|  | 		cipher_TLS_RSA_WITH_AES_128_CBC_SHA256, | ||
|  | 		cipher_TLS_RSA_WITH_AES_256_CBC_SHA256, | ||
|  | 		cipher_TLS_DH_DSS_WITH_AES_128_CBC_SHA256, | ||
|  | 		cipher_TLS_DH_RSA_WITH_AES_128_CBC_SHA256, | ||
|  | 		cipher_TLS_DHE_DSS_WITH_AES_128_CBC_SHA256, | ||
|  | 		cipher_TLS_RSA_WITH_CAMELLIA_128_CBC_SHA, | ||
|  | 		cipher_TLS_DH_DSS_WITH_CAMELLIA_128_CBC_SHA, | ||
|  | 		cipher_TLS_DH_RSA_WITH_CAMELLIA_128_CBC_SHA, | ||
|  | 		cipher_TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA, | ||
|  | 		cipher_TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA, | ||
|  | 		cipher_TLS_DH_anon_WITH_CAMELLIA_128_CBC_SHA, | ||
|  | 		cipher_TLS_DHE_RSA_WITH_AES_128_CBC_SHA256, | ||
|  | 		cipher_TLS_DH_DSS_WITH_AES_256_CBC_SHA256, | ||
|  | 		cipher_TLS_DH_RSA_WITH_AES_256_CBC_SHA256, | ||
|  | 		cipher_TLS_DHE_DSS_WITH_AES_256_CBC_SHA256, | ||
|  | 		cipher_TLS_DHE_RSA_WITH_AES_256_CBC_SHA256, | ||
|  | 		cipher_TLS_DH_anon_WITH_AES_128_CBC_SHA256, | ||
|  | 		cipher_TLS_DH_anon_WITH_AES_256_CBC_SHA256, | ||
|  | 		cipher_TLS_RSA_WITH_CAMELLIA_256_CBC_SHA, | ||
|  | 		cipher_TLS_DH_DSS_WITH_CAMELLIA_256_CBC_SHA, | ||
|  | 		cipher_TLS_DH_RSA_WITH_CAMELLIA_256_CBC_SHA, | ||
|  | 		cipher_TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA, | ||
|  | 		cipher_TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA, | ||
|  | 		cipher_TLS_DH_anon_WITH_CAMELLIA_256_CBC_SHA, | ||
|  | 		cipher_TLS_PSK_WITH_RC4_128_SHA, | ||
|  | 		cipher_TLS_PSK_WITH_3DES_EDE_CBC_SHA, | ||
|  | 		cipher_TLS_PSK_WITH_AES_128_CBC_SHA, | ||
|  | 		cipher_TLS_PSK_WITH_AES_256_CBC_SHA, | ||
|  | 		cipher_TLS_DHE_PSK_WITH_RC4_128_SHA, | ||
|  | 		cipher_TLS_DHE_PSK_WITH_3DES_EDE_CBC_SHA, | ||
|  | 		cipher_TLS_DHE_PSK_WITH_AES_128_CBC_SHA, | ||
|  | 		cipher_TLS_DHE_PSK_WITH_AES_256_CBC_SHA, | ||
|  | 		cipher_TLS_RSA_PSK_WITH_RC4_128_SHA, | ||
|  | 		cipher_TLS_RSA_PSK_WITH_3DES_EDE_CBC_SHA, | ||
|  | 		cipher_TLS_RSA_PSK_WITH_AES_128_CBC_SHA, | ||
|  | 		cipher_TLS_RSA_PSK_WITH_AES_256_CBC_SHA, | ||
|  | 		cipher_TLS_RSA_WITH_SEED_CBC_SHA, | ||
|  | 		cipher_TLS_DH_DSS_WITH_SEED_CBC_SHA, | ||
|  | 		cipher_TLS_DH_RSA_WITH_SEED_CBC_SHA, | ||
|  | 		cipher_TLS_DHE_DSS_WITH_SEED_CBC_SHA, | ||
|  | 		cipher_TLS_DHE_RSA_WITH_SEED_CBC_SHA, | ||
|  | 		cipher_TLS_DH_anon_WITH_SEED_CBC_SHA, | ||
|  | 		cipher_TLS_RSA_WITH_AES_128_GCM_SHA256, | ||
|  | 		cipher_TLS_RSA_WITH_AES_256_GCM_SHA384, | ||
|  | 		cipher_TLS_DH_RSA_WITH_AES_128_GCM_SHA256, | ||
|  | 		cipher_TLS_DH_RSA_WITH_AES_256_GCM_SHA384, | ||
|  | 		cipher_TLS_DH_DSS_WITH_AES_128_GCM_SHA256, | ||
|  | 		cipher_TLS_DH_DSS_WITH_AES_256_GCM_SHA384, | ||
|  | 		cipher_TLS_DH_anon_WITH_AES_128_GCM_SHA256, | ||
|  | 		cipher_TLS_DH_anon_WITH_AES_256_GCM_SHA384, | ||
|  | 		cipher_TLS_PSK_WITH_AES_128_GCM_SHA256, | ||
|  | 		cipher_TLS_PSK_WITH_AES_256_GCM_SHA384, | ||
|  | 		cipher_TLS_RSA_PSK_WITH_AES_128_GCM_SHA256, | ||
|  | 		cipher_TLS_RSA_PSK_WITH_AES_256_GCM_SHA384, | ||
|  | 		cipher_TLS_PSK_WITH_AES_128_CBC_SHA256, | ||
|  | 		cipher_TLS_PSK_WITH_AES_256_CBC_SHA384, | ||
|  | 		cipher_TLS_PSK_WITH_NULL_SHA256, | ||
|  | 		cipher_TLS_PSK_WITH_NULL_SHA384, | ||
|  | 		cipher_TLS_DHE_PSK_WITH_AES_128_CBC_SHA256, | ||
|  | 		cipher_TLS_DHE_PSK_WITH_AES_256_CBC_SHA384, | ||
|  | 		cipher_TLS_DHE_PSK_WITH_NULL_SHA256, | ||
|  | 		cipher_TLS_DHE_PSK_WITH_NULL_SHA384, | ||
|  | 		cipher_TLS_RSA_PSK_WITH_AES_128_CBC_SHA256, | ||
|  | 		cipher_TLS_RSA_PSK_WITH_AES_256_CBC_SHA384, | ||
|  | 		cipher_TLS_RSA_PSK_WITH_NULL_SHA256, | ||
|  | 		cipher_TLS_RSA_PSK_WITH_NULL_SHA384, | ||
|  | 		cipher_TLS_RSA_WITH_CAMELLIA_128_CBC_SHA256, | ||
|  | 		cipher_TLS_DH_DSS_WITH_CAMELLIA_128_CBC_SHA256, | ||
|  | 		cipher_TLS_DH_RSA_WITH_CAMELLIA_128_CBC_SHA256, | ||
|  | 		cipher_TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA256, | ||
|  | 		cipher_TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA256, | ||
|  | 		cipher_TLS_DH_anon_WITH_CAMELLIA_128_CBC_SHA256, | ||
|  | 		cipher_TLS_RSA_WITH_CAMELLIA_256_CBC_SHA256, | ||
|  | 		cipher_TLS_DH_DSS_WITH_CAMELLIA_256_CBC_SHA256, | ||
|  | 		cipher_TLS_DH_RSA_WITH_CAMELLIA_256_CBC_SHA256, | ||
|  | 		cipher_TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA256, | ||
|  | 		cipher_TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA256, | ||
|  | 		cipher_TLS_DH_anon_WITH_CAMELLIA_256_CBC_SHA256, | ||
|  | 		cipher_TLS_EMPTY_RENEGOTIATION_INFO_SCSV, | ||
|  | 		cipher_TLS_ECDH_ECDSA_WITH_NULL_SHA, | ||
|  | 		cipher_TLS_ECDH_ECDSA_WITH_RC4_128_SHA, | ||
|  | 		cipher_TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA, | ||
|  | 		cipher_TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA, | ||
|  | 		cipher_TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA, | ||
|  | 		cipher_TLS_ECDHE_ECDSA_WITH_NULL_SHA, | ||
|  | 		cipher_TLS_ECDHE_ECDSA_WITH_RC4_128_SHA, | ||
|  | 		cipher_TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA, | ||
|  | 		cipher_TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA, | ||
|  | 		cipher_TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA, | ||
|  | 		cipher_TLS_ECDH_RSA_WITH_NULL_SHA, | ||
|  | 		cipher_TLS_ECDH_RSA_WITH_RC4_128_SHA, | ||
|  | 		cipher_TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA, | ||
|  | 		cipher_TLS_ECDH_RSA_WITH_AES_128_CBC_SHA, | ||
|  | 		cipher_TLS_ECDH_RSA_WITH_AES_256_CBC_SHA, | ||
|  | 		cipher_TLS_ECDHE_RSA_WITH_NULL_SHA, | ||
|  | 		cipher_TLS_ECDHE_RSA_WITH_RC4_128_SHA, | ||
|  | 		cipher_TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA, | ||
|  | 		cipher_TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, | ||
|  | 		cipher_TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA, | ||
|  | 		cipher_TLS_ECDH_anon_WITH_NULL_SHA, | ||
|  | 		cipher_TLS_ECDH_anon_WITH_RC4_128_SHA, | ||
|  | 		cipher_TLS_ECDH_anon_WITH_3DES_EDE_CBC_SHA, | ||
|  | 		cipher_TLS_ECDH_anon_WITH_AES_128_CBC_SHA, | ||
|  | 		cipher_TLS_ECDH_anon_WITH_AES_256_CBC_SHA, | ||
|  | 		cipher_TLS_SRP_SHA_WITH_3DES_EDE_CBC_SHA, | ||
|  | 		cipher_TLS_SRP_SHA_RSA_WITH_3DES_EDE_CBC_SHA, | ||
|  | 		cipher_TLS_SRP_SHA_DSS_WITH_3DES_EDE_CBC_SHA, | ||
|  | 		cipher_TLS_SRP_SHA_WITH_AES_128_CBC_SHA, | ||
|  | 		cipher_TLS_SRP_SHA_RSA_WITH_AES_128_CBC_SHA, | ||
|  | 		cipher_TLS_SRP_SHA_DSS_WITH_AES_128_CBC_SHA, | ||
|  | 		cipher_TLS_SRP_SHA_WITH_AES_256_CBC_SHA, | ||
|  | 		cipher_TLS_SRP_SHA_RSA_WITH_AES_256_CBC_SHA, | ||
|  | 		cipher_TLS_SRP_SHA_DSS_WITH_AES_256_CBC_SHA, | ||
|  | 		cipher_TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256, | ||
|  | 		cipher_TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384, | ||
|  | 		cipher_TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256, | ||
|  | 		cipher_TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384, | ||
|  | 		cipher_TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256, | ||
|  | 		cipher_TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384, | ||
|  | 		cipher_TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256, | ||
|  | 		cipher_TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384, | ||
|  | 		cipher_TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256, | ||
|  | 		cipher_TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384, | ||
|  | 		cipher_TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256, | ||
|  | 		cipher_TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384, | ||
|  | 		cipher_TLS_ECDHE_PSK_WITH_RC4_128_SHA, | ||
|  | 		cipher_TLS_ECDHE_PSK_WITH_3DES_EDE_CBC_SHA, | ||
|  | 		cipher_TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA, | ||
|  | 		cipher_TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA, | ||
|  | 		cipher_TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA256, | ||
|  | 		cipher_TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA384, | ||
|  | 		cipher_TLS_ECDHE_PSK_WITH_NULL_SHA, | ||
|  | 		cipher_TLS_ECDHE_PSK_WITH_NULL_SHA256, | ||
|  | 		cipher_TLS_ECDHE_PSK_WITH_NULL_SHA384, | ||
|  | 		cipher_TLS_RSA_WITH_ARIA_128_CBC_SHA256, | ||
|  | 		cipher_TLS_RSA_WITH_ARIA_256_CBC_SHA384, | ||
|  | 		cipher_TLS_DH_DSS_WITH_ARIA_128_CBC_SHA256, | ||
|  | 		cipher_TLS_DH_DSS_WITH_ARIA_256_CBC_SHA384, | ||
|  | 		cipher_TLS_DH_RSA_WITH_ARIA_128_CBC_SHA256, | ||
|  | 		cipher_TLS_DH_RSA_WITH_ARIA_256_CBC_SHA384, | ||
|  | 		cipher_TLS_DHE_DSS_WITH_ARIA_128_CBC_SHA256, | ||
|  | 		cipher_TLS_DHE_DSS_WITH_ARIA_256_CBC_SHA384, | ||
|  | 		cipher_TLS_DHE_RSA_WITH_ARIA_128_CBC_SHA256, | ||
|  | 		cipher_TLS_DHE_RSA_WITH_ARIA_256_CBC_SHA384, | ||
|  | 		cipher_TLS_DH_anon_WITH_ARIA_128_CBC_SHA256, | ||
|  | 		cipher_TLS_DH_anon_WITH_ARIA_256_CBC_SHA384, | ||
|  | 		cipher_TLS_ECDHE_ECDSA_WITH_ARIA_128_CBC_SHA256, | ||
|  | 		cipher_TLS_ECDHE_ECDSA_WITH_ARIA_256_CBC_SHA384, | ||
|  | 		cipher_TLS_ECDH_ECDSA_WITH_ARIA_128_CBC_SHA256, | ||
|  | 		cipher_TLS_ECDH_ECDSA_WITH_ARIA_256_CBC_SHA384, | ||
|  | 		cipher_TLS_ECDHE_RSA_WITH_ARIA_128_CBC_SHA256, | ||
|  | 		cipher_TLS_ECDHE_RSA_WITH_ARIA_256_CBC_SHA384, | ||
|  | 		cipher_TLS_ECDH_RSA_WITH_ARIA_128_CBC_SHA256, | ||
|  | 		cipher_TLS_ECDH_RSA_WITH_ARIA_256_CBC_SHA384, | ||
|  | 		cipher_TLS_RSA_WITH_ARIA_128_GCM_SHA256, | ||
|  | 		cipher_TLS_RSA_WITH_ARIA_256_GCM_SHA384, | ||
|  | 		cipher_TLS_DH_RSA_WITH_ARIA_128_GCM_SHA256, | ||
|  | 		cipher_TLS_DH_RSA_WITH_ARIA_256_GCM_SHA384, | ||
|  | 		cipher_TLS_DH_DSS_WITH_ARIA_128_GCM_SHA256, | ||
|  | 		cipher_TLS_DH_DSS_WITH_ARIA_256_GCM_SHA384, | ||
|  | 		cipher_TLS_DH_anon_WITH_ARIA_128_GCM_SHA256, | ||
|  | 		cipher_TLS_DH_anon_WITH_ARIA_256_GCM_SHA384, | ||
|  | 		cipher_TLS_ECDH_ECDSA_WITH_ARIA_128_GCM_SHA256, | ||
|  | 		cipher_TLS_ECDH_ECDSA_WITH_ARIA_256_GCM_SHA384, | ||
|  | 		cipher_TLS_ECDH_RSA_WITH_ARIA_128_GCM_SHA256, | ||
|  | 		cipher_TLS_ECDH_RSA_WITH_ARIA_256_GCM_SHA384, | ||
|  | 		cipher_TLS_PSK_WITH_ARIA_128_CBC_SHA256, | ||
|  | 		cipher_TLS_PSK_WITH_ARIA_256_CBC_SHA384, | ||
|  | 		cipher_TLS_DHE_PSK_WITH_ARIA_128_CBC_SHA256, | ||
|  | 		cipher_TLS_DHE_PSK_WITH_ARIA_256_CBC_SHA384, | ||
|  | 		cipher_TLS_RSA_PSK_WITH_ARIA_128_CBC_SHA256, | ||
|  | 		cipher_TLS_RSA_PSK_WITH_ARIA_256_CBC_SHA384, | ||
|  | 		cipher_TLS_PSK_WITH_ARIA_128_GCM_SHA256, | ||
|  | 		cipher_TLS_PSK_WITH_ARIA_256_GCM_SHA384, | ||
|  | 		cipher_TLS_RSA_PSK_WITH_ARIA_128_GCM_SHA256, | ||
|  | 		cipher_TLS_RSA_PSK_WITH_ARIA_256_GCM_SHA384, | ||
|  | 		cipher_TLS_ECDHE_PSK_WITH_ARIA_128_CBC_SHA256, | ||
|  | 		cipher_TLS_ECDHE_PSK_WITH_ARIA_256_CBC_SHA384, | ||
|  | 		cipher_TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_CBC_SHA256, | ||
|  | 		cipher_TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_CBC_SHA384, | ||
|  | 		cipher_TLS_ECDH_ECDSA_WITH_CAMELLIA_128_CBC_SHA256, | ||
|  | 		cipher_TLS_ECDH_ECDSA_WITH_CAMELLIA_256_CBC_SHA384, | ||
|  | 		cipher_TLS_ECDHE_RSA_WITH_CAMELLIA_128_CBC_SHA256, | ||
|  | 		cipher_TLS_ECDHE_RSA_WITH_CAMELLIA_256_CBC_SHA384, | ||
|  | 		cipher_TLS_ECDH_RSA_WITH_CAMELLIA_128_CBC_SHA256, | ||
|  | 		cipher_TLS_ECDH_RSA_WITH_CAMELLIA_256_CBC_SHA384, | ||
|  | 		cipher_TLS_RSA_WITH_CAMELLIA_128_GCM_SHA256, | ||
|  | 		cipher_TLS_RSA_WITH_CAMELLIA_256_GCM_SHA384, | ||
|  | 		cipher_TLS_DH_RSA_WITH_CAMELLIA_128_GCM_SHA256, | ||
|  | 		cipher_TLS_DH_RSA_WITH_CAMELLIA_256_GCM_SHA384, | ||
|  | 		cipher_TLS_DH_DSS_WITH_CAMELLIA_128_GCM_SHA256, | ||
|  | 		cipher_TLS_DH_DSS_WITH_CAMELLIA_256_GCM_SHA384, | ||
|  | 		cipher_TLS_DH_anon_WITH_CAMELLIA_128_GCM_SHA256, | ||
|  | 		cipher_TLS_DH_anon_WITH_CAMELLIA_256_GCM_SHA384, | ||
|  | 		cipher_TLS_ECDH_ECDSA_WITH_CAMELLIA_128_GCM_SHA256, | ||
|  | 		cipher_TLS_ECDH_ECDSA_WITH_CAMELLIA_256_GCM_SHA384, | ||
|  | 		cipher_TLS_ECDH_RSA_WITH_CAMELLIA_128_GCM_SHA256, | ||
|  | 		cipher_TLS_ECDH_RSA_WITH_CAMELLIA_256_GCM_SHA384, | ||
|  | 		cipher_TLS_PSK_WITH_CAMELLIA_128_GCM_SHA256, | ||
|  | 		cipher_TLS_PSK_WITH_CAMELLIA_256_GCM_SHA384, | ||
|  | 		cipher_TLS_RSA_PSK_WITH_CAMELLIA_128_GCM_SHA256, | ||
|  | 		cipher_TLS_RSA_PSK_WITH_CAMELLIA_256_GCM_SHA384, | ||
|  | 		cipher_TLS_PSK_WITH_CAMELLIA_128_CBC_SHA256, | ||
|  | 		cipher_TLS_PSK_WITH_CAMELLIA_256_CBC_SHA384, | ||
|  | 		cipher_TLS_DHE_PSK_WITH_CAMELLIA_128_CBC_SHA256, | ||
|  | 		cipher_TLS_DHE_PSK_WITH_CAMELLIA_256_CBC_SHA384, | ||
|  | 		cipher_TLS_RSA_PSK_WITH_CAMELLIA_128_CBC_SHA256, | ||
|  | 		cipher_TLS_RSA_PSK_WITH_CAMELLIA_256_CBC_SHA384, | ||
|  | 		cipher_TLS_ECDHE_PSK_WITH_CAMELLIA_128_CBC_SHA256, | ||
|  | 		cipher_TLS_ECDHE_PSK_WITH_CAMELLIA_256_CBC_SHA384, | ||
|  | 		cipher_TLS_RSA_WITH_AES_128_CCM, | ||
|  | 		cipher_TLS_RSA_WITH_AES_256_CCM, | ||
|  | 		cipher_TLS_RSA_WITH_AES_128_CCM_8, | ||
|  | 		cipher_TLS_RSA_WITH_AES_256_CCM_8, | ||
|  | 		cipher_TLS_PSK_WITH_AES_128_CCM, | ||
|  | 		cipher_TLS_PSK_WITH_AES_256_CCM, | ||
|  | 		cipher_TLS_PSK_WITH_AES_128_CCM_8, | ||
|  | 		cipher_TLS_PSK_WITH_AES_256_CCM_8: | ||
|  | 		return true | ||
|  | 	default: | ||
|  | 		return false | ||
|  | 	} | ||
|  | } |