From 2736749e0eb88890b2770c2872db2cfb9a149660 Mon Sep 17 00:00:00 2001 From: Mark Thomas Date: Wed, 30 Mar 2016 14:52:41 +0000 Subject: [PATCH] Chnage honorCipherOrder default to false. git-svn-id: https://svn.apache.org/repos/asf/tomcat/trunk@1737117 13f79535-47bb-0310-9956-ffa450edef68 --- conf/server.xml | 1 - java/org/apache/coyote/http2/Http2UpgradeHandler.java | 2 -- java/org/apache/tomcat/util/net/SSLHostConfig.java | 2 +- webapps/docs/changelog.xml | 6 ++++++ webapps/docs/config/http.xml | 2 +- 5 files changed, 8 insertions(+), 5 deletions(-) diff --git a/conf/server.xml b/conf/server.xml index 364e66b310fe..d1d3f728f77e 100644 --- a/conf/server.xml +++ b/conf/server.xml @@ -98,7 +98,6 @@ - * Note: *
    - *
  • Tomcat needs to be configured with honorCipherOrder="false" otherwise - * Tomcat will prefer a cipher suite that is blacklisted by HTTP/2.
  • *
  • You will need to nest an <UpgradeProtocol * className="org.apache.coyote.http2.Http2Protocol" /> element inside * a TLS enabled Connector element in server.xml to enable HTTP/2 support. diff --git a/java/org/apache/tomcat/util/net/SSLHostConfig.java b/java/org/apache/tomcat/util/net/SSLHostConfig.java index 475284bc1e62..fea18ba3a84f 100644 --- a/java/org/apache/tomcat/util/net/SSLHostConfig.java +++ b/java/org/apache/tomcat/util/net/SSLHostConfig.java @@ -83,7 +83,7 @@ public class SSLHostConfig { private String ciphers = "HIGH:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!kRSA"; private LinkedHashSet cipherList = null; private List jsseCipherNames = null; - private boolean honorCipherOrder = true; + private boolean honorCipherOrder = false; private Set protocols = new HashSet<>(); // JSSE private String keyManagerAlgorithm = KeyManagerFactory.getDefaultAlgorithm(); diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml index 27e0ca7aca62..86a37c043482 100644 --- a/webapps/docs/changelog.xml +++ b/webapps/docs/changelog.xml @@ -93,6 +93,12 @@ Align cipher configuration parsing with current OpenSSL master. (markt) + + Change the default for honorCipherOrder to + false. With the current default TLS configuration, it is no + longer necessary for this to be true for a reasonably + secure configuration. (markt) + diff --git a/webapps/docs/config/http.xml b/webapps/docs/config/http.xml index 6bcf76ca4dcd..d3001afad013 100644 --- a/webapps/docs/config/http.xml +++ b/webapps/docs/config/http.xml @@ -1111,7 +1111,7 @@

    Set to true to enforce the server's cipher order (from the ciphers setting) instead of allowing - the client to choose the cipher. The default is true.

    + the client to choose the cipher. The default is false.