src/java.base/share/classes/sun/security/ssl/ClientHandshaker.java

Print this page
rev 10851 : Implement TLS_FALLBACK_SCSV

@@ -1318,10 +1318,19 @@
             }
 
             cipherSuites = new CipherSuiteList(cipherList);
         }
 
+        // include the fallback SCSV if requested
+        if (sendFallbackSCSV) {
+            Collection<CipherSuite> cipherList =
+                        new ArrayList<>(cipherSuites.size() + 1);
+            cipherList.addAll(cipherSuites.collection());
+            cipherList.add(CipherSuite.C_FALLBACK_SCSV);
+            cipherSuites = new CipherSuiteList(cipherList);
+        }
+
         // make sure there is a negotiable cipher suite.
         boolean negotiable = false;
         for (CipherSuite suite : cipherSuites.collection()) {
             if (isNegotiable(suite)) {
                 negotiable = true;