b31f4f
diff -up ./gtests/ssl_gtest/ssl_auth_unittest.cc.reorder-cipher-suites-gtests ./gtests/ssl_gtest/ssl_auth_unittest.cc
b31f4f
--- ./gtests/ssl_gtest/ssl_auth_unittest.cc.reorder-cipher-suites-gtests	2021-05-28 02:50:43.000000000 -0700
b31f4f
+++ ./gtests/ssl_gtest/ssl_auth_unittest.cc	2021-06-03 17:01:27.530383629 -0700
b31f4f
@@ -1036,7 +1036,9 @@ static SSLNamedGroup NamedGroupForEcdsa3
7f4443
   // NSS tries to match the group size to the symmetric cipher. In TLS 1.1 and
7f4443
   // 1.0, TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA is the highest priority suite, so
7f4443
   // we use P-384. With TLS 1.2 on we pick AES-128 GCM so use x25519.
7f4443
-  if (version <= SSL_LIBRARY_VERSION_TLS_1_1) {
7f4443
+  // FIXME: In RHEL, we assign TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384
7f4443
+  // a higher priority than AES-128 GCM.
7f4443
+  if (version <= SSL_LIBRARY_VERSION_TLS_1_2) {
7f4443
     return ssl_grp_ec_secp384r1;
7f4443
   }
7f4443
   return ssl_grp_ec_curve25519;
b31f4f
@@ -1831,27 +1833,31 @@ INSTANTIATE_TEST_SUITE_P(
b31f4f
                        ::testing::Values(TlsAgent::kServerRsa),
b31f4f
                        ::testing::Values(ssl_auth_rsa_sign),
b31f4f
                        ::testing::Values(ssl_sig_rsa_pkcs1_sha1)));
b31f4f
+// FIXME: In RHEL, we assign TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384
b31f4f
+// a higher priority than AES-128 GCM, and that causes the following
b31f4f
+// 4 TLS 1.2 tests to fail.
b31f4f
 INSTANTIATE_TEST_SUITE_P(
b31f4f
     SignatureSchemeEcdsaP256, TlsSignatureSchemeConfiguration,
b31f4f
     ::testing::Combine(TlsConnectTestBase::kTlsVariantsAll,
b31f4f
-                       TlsConnectTestBase::kTlsV12Plus,
b31f4f
+                       TlsConnectTestBase::kTlsV13,
7f4443
                        ::testing::Values(TlsAgent::kServerEcdsa256),
7f4443
                        ::testing::Values(ssl_auth_ecdsa),
7f4443
                        ::testing::Values(ssl_sig_ecdsa_secp256r1_sha256)));
b31f4f
 INSTANTIATE_TEST_SUITE_P(
7f4443
     SignatureSchemeEcdsaP384, TlsSignatureSchemeConfiguration,
7f4443
     ::testing::Combine(TlsConnectTestBase::kTlsVariantsAll,
7f4443
-                       TlsConnectTestBase::kTlsV12Plus,
7f4443
+                       TlsConnectTestBase::kTlsV13,
7f4443
                        ::testing::Values(TlsAgent::kServerEcdsa384),
7f4443
                        ::testing::Values(ssl_auth_ecdsa),
7f4443
                        ::testing::Values(ssl_sig_ecdsa_secp384r1_sha384)));
b31f4f
 INSTANTIATE_TEST_SUITE_P(
7f4443
     SignatureSchemeEcdsaP521, TlsSignatureSchemeConfiguration,
7f4443
     ::testing::Combine(TlsConnectTestBase::kTlsVariantsAll,
7f4443
-                       TlsConnectTestBase::kTlsV12Plus,
7f4443
+                       TlsConnectTestBase::kTlsV13,
7f4443
                        ::testing::Values(TlsAgent::kServerEcdsa521),
7f4443
                        ::testing::Values(ssl_auth_ecdsa),
7f4443
                        ::testing::Values(ssl_sig_ecdsa_secp521r1_sha512)));
7f4443
+#if 0
b31f4f
 INSTANTIATE_TEST_SUITE_P(
7f4443
     SignatureSchemeEcdsaSha1, TlsSignatureSchemeConfiguration,
7f4443
     ::testing::Combine(TlsConnectTestBase::kTlsVariantsAll,
b31f4f
@@ -1860,4 +1866,5 @@ INSTANTIATE_TEST_SUITE_P(
7f4443
                                          TlsAgent::kServerEcdsa384),
7f4443
                        ::testing::Values(ssl_auth_ecdsa),
7f4443
                        ::testing::Values(ssl_sig_ecdsa_sha1)));
7f4443
+#endif
744490
 }  // namespace nss_test
b31f4f
diff -up ./gtests/ssl_gtest/ssl_recordsize_unittest.cc.reorder-cipher-suites-gtests ./gtests/ssl_gtest/ssl_recordsize_unittest.cc
b31f4f
--- ./gtests/ssl_gtest/ssl_recordsize_unittest.cc.reorder-cipher-suites-gtests	2021-05-28 02:50:43.000000000 -0700
b31f4f
+++ ./gtests/ssl_gtest/ssl_recordsize_unittest.cc	2021-06-03 16:47:23.130301387 -0700
b31f4f
@@ -72,11 +72,13 @@ void CheckRecordSizes(const std::shared_
e4d72e
       break;
e4d72e
 
e4d72e
     case TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256:
e4d72e
+    case TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384:
e4d72e
       expansion = 16;
e4d72e
       iv = 8;
e4d72e
       break;
e4d72e
 
e4d72e
     case TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA:
e4d72e
+    case TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA:
e4d72e
       // Expansion is 20 for the MAC.  Maximum block padding is 16.  Maximum
e4d72e
       // padding is added when the input plus the MAC is an exact multiple of
e4d72e
       // the block size.
b31f4f
diff -up ./gtests/ssl_gtest/ssl_staticrsa_unittest.cc.reorder-cipher-suites-gtests ./gtests/ssl_gtest/ssl_staticrsa_unittest.cc
b31f4f
--- ./gtests/ssl_gtest/ssl_staticrsa_unittest.cc.reorder-cipher-suites-gtests	2021-05-28 02:50:43.000000000 -0700
b31f4f
+++ ./gtests/ssl_gtest/ssl_staticrsa_unittest.cc	2021-06-03 16:47:23.130301387 -0700
e4d72e
@@ -133,7 +133,19 @@ TEST_P(TlsConnectGenericPre13, TooLargeR
e4d72e
 TEST_P(TlsConnectGeneric, ServerAuthBiggestRsa) {
e4d72e
   Reset(TlsAgent::kRsa8192);
e4d72e
   Connect();
e4d72e
-  CheckKeys();
e4d72e
+  if (version_ >= SSL_LIBRARY_VERSION_TLS_1_3) {
e4d72e
+    CheckKeys();
e4d72e
+  } else {
e4d72e
+    // in TLS 1.2 or TLS 1.1, AES-256 is selected by default, which
e4d72e
+    // needs a different kea setup
e4d72e
+    SSLSignatureScheme scheme;
e4d72e
+    if (version_ >= SSL_LIBRARY_VERSION_TLS_1_2) {
e4d72e
+        scheme = ssl_sig_rsa_pss_rsae_sha256;
e4d72e
+    } else {
e4d72e
+        scheme = ssl_sig_rsa_pkcs1_sha256;
e4d72e
+    }
e4d72e
+    CheckKeys(ssl_kea_ecdh, ssl_grp_ec_secp521r1, ssl_auth_rsa_sign, scheme);
e4d72e
+  }
e4d72e
 }
e4d72e
 
e4d72e
 }  // namespace nss_test
b31f4f
diff -up ./gtests/ssl_gtest/tls_agent.cc.reorder-cipher-suites-gtests ./gtests/ssl_gtest/tls_agent.cc
b31f4f
--- ./gtests/ssl_gtest/tls_agent.cc.reorder-cipher-suites-gtests	2021-05-28 02:50:43.000000000 -0700
b31f4f
+++ ./gtests/ssl_gtest/tls_agent.cc	2021-06-03 16:47:23.130301387 -0700
b31f4f
@@ -603,6 +603,9 @@ void TlsAgent::CheckKEA(SSLKEAType kea,
e4d72e
       case ssl_grp_ec_secp384r1:
e4d72e
         kea_size = 384;
e4d72e
         break;
e4d72e
+      case ssl_grp_ec_secp521r1:
e4d72e
+        kea_size = 521;
e4d72e
+        break;
e4d72e
       case ssl_grp_ffdhe_2048:
e4d72e
         kea_size = 2048;
e4d72e
         break;