# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
#
# This file enables test coverage of the various SSL ciphers
#
# Enable Enable Cipher Test Name 
#  EC     TLS
#
  noECC  SSL3   c    SSL3_RSA_WITH_RC4_128_MD5
  noECC  SSL3   d    SSL3_RSA_WITH_3DES_EDE_CBC_SHA
  noECC  SSL3   e    SSL3_RSA_WITH_DES_CBC_SHA
  noECC  SSL3   i    SSL3_RSA_WITH_NULL_MD5
  noECC  SSL3   n    SSL3_RSA_WITH_RC4_128_SHA
  noECC  SSL3   v    SSL3_RSA_WITH_AES_128_CBC_SHA
  noECC  SSL3   y    SSL3_RSA_WITH_AES_256_CBC_SHA
  noECC  SSL3   z    SSL3_RSA_WITH_NULL_SHA
  noECC  TLS12 :009F  TLS_DHE_RSA_WITH_AES_256_GCM_SHA384
  noECC  TLS12 :00A3  TLS_DHE_DSS_WITH_AES_256_GCM_SHA384
  noECC  TLS12 :009D  TLS_RSA_WITH_AES_256_GCM_SHA384
#  noECC  SSL3  :0041 TLS_RSA_WITH_CAMELLIA_128_CBC_SHA
#  noECC  SSL3  :0084 TLS_RSA_WITH_CAMELLIA_256_CBC_SHA
#
  noECC  TLS10   c    TLS_RSA_WITH_RC4_128_MD5
  noECC  TLS10   d    TLS_RSA_WITH_3DES_EDE_CBC_SHA
  noECC  TLS10   e    TLS_RSA_WITH_DES_CBC_SHA
  noECC  TLS10   i    TLS_RSA_WITH_NULL_MD5
  noECC  TLS10   n    TLS_RSA_WITH_RC4_128_SHA
  noECC  TLS10   v    TLS_RSA_WITH_AES_128_CBC_SHA
  noECC  TLS10   y    TLS_RSA_WITH_AES_256_CBC_SHA
  noECC  TLS10   z    TLS_RSA_WITH_NULL_SHA
#  noECC  TLS10 :0041  TLS_RSA_WITH_CAMELLIA_128_CBC_SHA
#  noECC  TLS10 :0084  TLS_RSA_WITH_CAMELLIA_256_CBC_SHA
#
#
  noECC  TLS11   c    TLS11_RSA_WITH_RC4_128_MD5
  noECC  TLS11   d    TLS11_RSA_WITH_3DES_EDE_CBC_SHA
  noECC  TLS11   e    TLS11_RSA_WITH_DES_CBC_SHA
  noECC  TLS11   i    TLS11_RSA_WITH_NULL_MD5
  noECC  TLS11   n    TLS11_RSA_WITH_RC4_128_SHA
  noECC  TLS11   v    TLS11_RSA_WITH_AES_128_CBC_SHA
  noECC  TLS11   y    TLS11_RSA_WITH_AES_256_CBC_SHA
  noECC  TLS11   z    TLS11_RSA_WITH_NULL_SHA
#
  noECC  TLS12   c    TLS12_RSA_WITH_RC4_128_MD5
  noECC  TLS12   d    TLS12_RSA_WITH_3DES_EDE_CBC_SHA
  noECC  TLS12   e    TLS12_RSA_WITH_DES_CBC_SHA
  noECC  TLS12   i    TLS12_RSA_WITH_NULL_MD5
  noECC  TLS12   n    TLS12_RSA_WITH_RC4_128_SHA
  noECC  TLS12   v    TLS12_RSA_WITH_AES_128_CBC_SHA
  noECC  TLS12   y    TLS12_RSA_WITH_AES_256_CBC_SHA
  noECC  TLS12   z    TLS12_RSA_WITH_NULL_SHA
  noECC  TLS12 :0016  TLS12_DHE_RSA_WITH_3DES_EDE_CBC_SHA
  noECC  TLS12 :0032  TLS12_DHE_DSS_WITH_AES_128_CBC_SHA
  noECC  TLS12 :0033  TLS12_DHE_RSA_WITH_AES_128_CBC_SHA
  noECC  TLS12 :0038  TLS12_DHE_DSS_WITH_AES_256_CBC_SHA
  noECC  TLS12 :0039  TLS12_DHE_RSA_WITH_AES_256_CBC_SHA
  noECC  TLS12 :003B  TLS12_RSA_WITH_NULL_SHA256
  noECC  TLS12 :003C  TLS12_RSA_WITH_AES_128_CBC_SHA256
  noECC  TLS12 :003D  TLS12_RSA_WITH_AES_256_CBC_SHA256
  noECC  TLS12 :0040  TLS12_DHE_DSS_WITH_AES_128_CBC_SHA256
  noECC  TLS12 :0067  TLS12_DHE_RSA_WITH_AES_128_CBC_SHA256
  noECC  TLS12 :006A  TLS12_DHE_DSS_WITH_AES_256_CBC_SHA256
  noECC  TLS12 :006B  TLS12_DHE_RSA_WITH_AES_256_CBC_SHA256
  noECC  TLS12 :009C  TLS12_RSA_WITH_AES_128_GCM_SHA256
  noECC  TLS12 :009E  TLS12_DHE_RSA_WITH_AES_128_GCM_SHA256
  noECC  TLS12 :00A2  TLS12_DHE_DSS_WITH_AES_128_GCM_SHA256
  noECC  TLS12 :CCAA  TLS12_DHE_RSA_WITH_CHACHA20_POLY1305_SHA256
#
# ECC ciphers (TLS)
#
   ECC   TLS10  :C001 TLS_ECDH_ECDSA_WITH_NULL_SHA
   ECC   TLS10  :C002 TLS_ECDH_ECDSA_WITH_RC4_128_SHA
   ECC   TLS10  :C003 TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA
   ECC   TLS10  :C004 TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA
   ECC   TLS10  :C005 TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA
   ECC   TLS10  :C006 TLS_ECDHE_ECDSA_WITH_NULL_SHA
   ECC   TLS10  :C007 TLS_ECDHE_ECDSA_WITH_RC4_128_SHA
   ECC   TLS10  :C008 TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA
   ECC   TLS10  :C009 TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
   ECC   TLS10  :C00A TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA
   ECC   TLS10  :C00B TLS_ECDH_RSA_WITH_NULL_SHA
   ECC   TLS10  :C00C TLS_ECDH_RSA_WITH_RC4_128_SHA
   ECC   TLS10  :C00D TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA
   ECC   TLS10  :C00E TLS_ECDH_RSA_WITH_AES_128_CBC_SHA
   ECC   TLS10  :C00F TLS_ECDH_RSA_WITH_AES_256_CBC_SHA
   ECC   TLS10  :C010 TLS_ECDHE_RSA_WITH_NULL_SHA
   ECC   TLS10  :C011 TLS_ECDHE_RSA_WITH_RC4_128_SHA
   ECC   TLS10  :C012 TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA
   ECC   TLS10  :C013 TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
   ECC   TLS10  :C014 TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
#
   ECC   TLS11  :C001 TLS11_ECDH_ECDSA_WITH_NULL_SHA
   ECC   TLS11  :C002 TLS11_ECDH_ECDSA_WITH_RC4_128_SHA
   ECC   TLS11  :C003 TLS11_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA
   ECC   TLS11  :C004 TLS11_ECDH_ECDSA_WITH_AES_128_CBC_SHA
   ECC   TLS11  :C005 TLS11_ECDH_ECDSA_WITH_AES_256_CBC_SHA
   ECC   TLS11  :C006 TLS11_ECDHE_ECDSA_WITH_NULL_SHA
   ECC   TLS11  :C007 TLS11_ECDHE_ECDSA_WITH_RC4_128_SHA
   ECC   TLS11  :C008 TLS11_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA
   ECC   TLS11  :C009 TLS11_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
   ECC   TLS11  :C00A TLS11_ECDHE_ECDSA_WITH_AES_256_CBC_SHA
   ECC   TLS11  :C00B TLS11_ECDH_RSA_WITH_NULL_SHA
   ECC   TLS11  :C00C TLS11_ECDH_RSA_WITH_RC4_128_SHA
   ECC   TLS11  :C00D TLS11_ECDH_RSA_WITH_3DES_EDE_CBC_SHA
   ECC   TLS11  :C00E TLS11_ECDH_RSA_WITH_AES_128_CBC_SHA
   ECC   TLS11  :C00F TLS11_ECDH_RSA_WITH_AES_256_CBC_SHA
   ECC   TLS11  :C010 TLS11_ECDHE_RSA_WITH_NULL_SHA
   ECC   TLS11  :C011 TLS11_ECDHE_RSA_WITH_RC4_128_SHA
   ECC   TLS11  :C012 TLS11_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA
   ECC   TLS11  :C013 TLS11_ECDHE_RSA_WITH_AES_128_CBC_SHA
   ECC   TLS11  :C014 TLS11_ECDHE_RSA_WITH_AES_256_CBC_SHA
#
   ECC   TLS12  :C001 TLS12_ECDH_ECDSA_WITH_NULL_SHA
   ECC   TLS12  :C002 TLS12_ECDH_ECDSA_WITH_RC4_128_SHA
   ECC   TLS12  :C003 TLS12_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA
   ECC   TLS12  :C004 TLS12_ECDH_ECDSA_WITH_AES_128_CBC_SHA
   ECC   TLS12  :C005 TLS12_ECDH_ECDSA_WITH_AES_256_CBC_SHA
   ECC   TLS12  :C006 TLS12_ECDHE_ECDSA_WITH_NULL_SHA
   ECC   TLS12  :C007 TLS12_ECDHE_ECDSA_WITH_RC4_128_SHA
   ECC   TLS12  :C008 TLS12_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA
   ECC   TLS12  :C009 TLS12_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
   ECC   TLS12  :C00A TLS12_ECDHE_ECDSA_WITH_AES_256_CBC_SHA
   ECC   TLS12  :C00B TLS12_ECDH_RSA_WITH_NULL_SHA
   ECC   TLS12  :C00C TLS12_ECDH_RSA_WITH_RC4_128_SHA
   ECC   TLS12  :C00D TLS12_ECDH_RSA_WITH_3DES_EDE_CBC_SHA
   ECC   TLS12  :C00E TLS12_ECDH_RSA_WITH_AES_128_CBC_SHA
   ECC   TLS12  :C00F TLS12_ECDH_RSA_WITH_AES_256_CBC_SHA
   ECC   TLS12  :C010 TLS12_ECDHE_RSA_WITH_NULL_SHA
   ECC   TLS12  :C011 TLS12_ECDHE_RSA_WITH_RC4_128_SHA
   ECC   TLS12  :C012 TLS12_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA
   ECC   TLS12  :C013 TLS12_ECDHE_RSA_WITH_AES_128_CBC_SHA
   ECC   TLS12  :C014 TLS12_ECDHE_RSA_WITH_AES_256_CBC_SHA
   ECC   TLS12  :C023 TLS12_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256
   ECC   TLS12  :C024 TLS12_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384
   ECC   TLS12  :C027 TLS12_ECDHE_RSA_WITH_AES_128_CBC_SHA256
   ECC   TLS12  :C028 TLS12_ECDHE_RSA_WITH_AES_256_CBC_SHA384
   ECC   TLS12  :C02B TLS12_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
   ECC   TLS12  :C02C TLS12_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
   ECC   TLS12  :C02F TLS12_ECDHE_RSA_WITH_AES_128_GCM_SHA256
   ECC   TLS12  :C030 TLS12_ECDHE_RSA_WITH_AES_256_GCM_SHA384
   ECC   TLS12  :CCA8 TLS12_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256
   ECC   TLS12  :CCA9 TLS12_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256
#
# Test against server with RSA-PSS server certificate
#
   ECC   TLS12  :C02F TLS12_ECDHE_RSA_WITH_AES_128_GCM_SHA256 - RSA-PSS
   ECC   TLS12  :C030 TLS12_ECDHE_RSA_WITH_AES_256_GCM_SHA384 - RSA-PSS
