From: Yann Ylavic Date: Tue, 8 Mar 2016 12:18:37 +0000 (+0000) Subject: Document workaround with OpenSSL < 1.0.2 regarding multiple certificates X-Git-Tag: 2.5.0-alpha~1948 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=f47489554c101054c86ae7beb2082a9a086f41e8;p=apache Document workaround with OpenSSL < 1.0.2 regarding multiple certificates types (RSA, DSA, ECC) and default DH parameters. PR 59087. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1734058 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/docs/manual/mod/mod_ssl.xml b/docs/manual/mod/mod_ssl.xml index 29bb2e8385..769afa8a79 100644 --- a/docs/manual/mod/mod_ssl.xml +++ b/docs/manual/mod/mod_ssl.xml @@ -854,7 +854,8 @@ to support multiple algorithms for server authentication - typically RSA, DSA, and ECC. The number of supported algorithms depends on the OpenSSL version being used for mod_ssl: with version 1.0.0 or later, openssl list-public-key-algorithms will output a list -of supported algorithms. +of supported algorithms, see also the note below about limitations +of OpenSSL versions prior to 1.0.2 and the ways to work around them.

@@ -904,6 +905,33 @@ such issues.

+ +Default DH parameters when using multiple certificates and OpenSSL +versions prior to 1.0.2 +

+When using multiple certificates to support different authentication algorithms +(like RSA, DSA, but mainly ECC) and OpenSSL prior to 1.0.2, it is recommended +to either use custom DH parameters (preferably) by adding them to the +first certificate file (as described above), or to order the +SSLCertificateFile directives such that RSA/DSA +certificates are placed after the ECC one. +

+

+This is due to a limitation in older versions of OpenSSL which don't let the +Apache HTTP Server determine the currently selected certificate at handshake +time (when the DH parameters must be sent to the peer) but instead always +provide the last configured certificate. Consequently, the server may select +default DH parameters based on the length of the wrong certificate's key (ECC +keys are much smaller than RSA/DSA ones and their length is not relevant for +selecting DH primes). +

+

+Since custom DH parameters always take precedence over the default ones, this +issue can't be avoided by creating and configuring them (as described above), +thus using the custom/suitable length. +

+
+ Example SSLCertificateFile /usr/local/apache2/conf/ssl.crt/server.crt