You are viewing a plain text version of this content. The canonical link for it is here.
Posted to bugs@httpd.apache.org by bu...@apache.org on 2004/10/01 16:30:12 UTC
DO NOT REPLY [Bug 31505] New: -
reconfiguration of SSL cipher suites fails
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://issues.apache.org/bugzilla/show_bug.cgi?id=31505>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND
INSERTED IN THE BUG DATABASE.
http://issues.apache.org/bugzilla/show_bug.cgi?id=31505
reconfiguration of SSL cipher suites fails
Summary: reconfiguration of SSL cipher suites fails
Product: Apache httpd-2.0
Version: 2.0-HEAD
Platform: Other
OS/Version: All
Status: NEW
Severity: Major
Priority: Other
Component: mod_ssl
AssignedTo: bugs@httpd.apache.org
ReportedBy: Hartmut.Keil@adnovum.ch
Overview:
For a location a ssl ciphersuite is configured, let's say "DES-CBC3-SHA".
And that ciphersuite is not contained in the ciphersuites configured for
the server or virtual host, lets say "RC4-MD5:DES-CBC3-SHA".
If that location will be accessed a renegotiation is triggered in
ssl_engine_kernel.c line 283 ff about the changed ciphersuite.
But if the client wants to resume the previous session the server i.e
will accept that. That means a reduced handshake will be made, and the
current cipher remains unchanged!
>From a openssl point of view it is correct, because openssl can not
know the reason for that renegotiation. (see also the ssl spec.)
But aware of that in openssl 0.9.7 a new flag
SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION has been introduced.
Steps to reproduce:
o setup a apache as descriped above:
ssl caching enabled, and for example RC4-MD5,DES-CBC3-SHA
configured for the virtual host, and DES-CBC3-SHA configured
for the '/' location
o connect with a java client using JSSE 1.4
o in the error_log can be seen that there is still the initial
cipher RC4-MD5 used after the renegotiation.
(a ssldump is attached bellow)
That scenario has been tested with different non-java clients
(MSIE, Mozilla). The described problem does not arise, because
these client are not trying to resume during the renegotiation.
Patch:
*** ssl_engine_init.c.patched Fri Oct 1 14:15:46 2004
--- ssl_engine_init.c Mon Jun 7 12:18:37 2004
***************
*** 439,450 ****
* Configure additional context ingredients
*/
SSL_CTX_set_options(ctx, SSL_OP_SINGLE_DH_USE);
-
- /* no resumtion for a active renegotiation */
- #if (OPENSSL_VERSION_NUMBER >= 0x00907000)
- SSL_CTX_set_options(ctx, SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION);
- #endif
-
}
static void ssl_init_ctx_session_cache(server_rec *s,
--- 439,444 ----
ssldump:
New TCP connection #1: adnpool01.zh.adnovum.ch(36320) <-> doug.adnovum.ch(44300)
1 1 0.0119 (0.0119) C>S SSLv2 compatible client hello
Version 3.1
cipher suites
TLS_RSA_WITH_RC4_128_MD5
SSL2_CK_RC4
TLS_RSA_WITH_RC4_128_SHA
Unknown value 0x2f
Unknown value 0x33
Unknown value 0x32
TLS_RSA_WITH_3DES_EDE_CBC_SHA
SSL2_CK_3DES
TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA
TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA
TLS_RSA_WITH_DES_CBC_SHA
SSL2_CK_DES
TLS_DHE_RSA_WITH_DES_CBC_SHA
TLS_DHE_DSS_WITH_DES_CBC_SHA
TLS_RSA_EXPORT_WITH_RC4_40_MD5
SSL2_CK_RC4_EXPORT40
TLS_RSA_EXPORT_WITH_DES40_CBC_SHA
TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA
TLS_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA
1 2 0.0153 (0.0034) S>C Handshake
ServerHello
Version 3.1
session_id[32]=
0e 5e de 9d 66 47 36 ed 52 ad 43 e5 3f e8 4b 65
96 d4 47 f2 e7 00 f0 0f 81 4f 91 54 3c 55 97 f4
cipherSuite TLS_RSA_WITH_RC4_128_MD5
compressionMethod NULL
1 3 0.0153 (0.0000) S>C Handshake
Certificate
1 4 0.0153 (0.0000) S>C Handshake
ServerHelloDone
1 5 0.1112 (0.0959) C>S Handshake
ClientKeyExchange
1 6 0.1175 (0.0062) C>S ChangeCipherSpec
1 7 0.1252 (0.0076) C>S Handshake
Finished
1 8 0.1905 (0.0653) S>C ChangeCipherSpec
1 9 0.1905 (0.0000) S>C Handshake
Finished
1 10 0.2025 (0.0120) C>S application_data
---------------------------------------------------------------
GET /index.html HTTP/1.1
User-Agent: httpunit-client
Accept-Encoding: gzip
Cache-Control: no-cache
Pragma: no-cache
Host: doug.adnovum.ch:44300
Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2
Connection: keep-alive
---------------------------------------------------------------
1 11 0.2051 (0.0025) S>C Handshake
HelloRequest
1 12 0.2071 (0.0019) C>S Handshake
ClientHello
Version 3.1
resume [32]=
0e 5e de 9d 66 47 36 ed 52 ad 43 e5 3f e8 4b 65
96 d4 47 f2 e7 00 f0 0f 81 4f 91 54 3c 55 97 f4
cipher suites
TLS_RSA_WITH_RC4_128_MD5
TLS_RSA_WITH_RC4_128_SHA
Unknown value 0x2f
Unknown value 0x33
Unknown value 0x32
TLS_RSA_WITH_3DES_EDE_CBC_SHA
TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA
TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA
TLS_RSA_WITH_DES_CBC_SHA
TLS_DHE_RSA_WITH_DES_CBC_SHA
TLS_DHE_DSS_WITH_DES_CBC_SHA
TLS_RSA_EXPORT_WITH_RC4_40_MD5
TLS_RSA_EXPORT_WITH_DES40_CBC_SHA
TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA
TLS_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA
compression methods
NULL
1 13 0.2113 (0.0042) S>C Handshake
ServerHello
Version 3.1
session_id[32]=
0e 5e de 9d 66 47 36 ed 52 ad 43 e5 3f e8 4b 65
96 d4 47 f2 e7 00 f0 0f 81 4f 91 54 3c 55 97 f4
cipherSuite TLS_RSA_WITH_RC4_128_MD5
compressionMethod NULL
1 14 0.2113 (0.0000) S>C ChangeCipherSpec
1 15 0.2113 (0.0000) S>C Handshake
Finished
1 16 0.2190 (0.0076) C>S ChangeCipherSpec
1 17 0.2195 (0.0005) C>S Handshake
Finished
1 18 0.3120 (0.0925) S>C application_data
---------------------------------------------------------------
HTTP/1.1 200 OK
Date: Fri, 01 Oct 2004 12:27:19 GMT
Server: Apache
Content-Type: text/html
Content-Length: 383
Connection: close
---------------------------------------------------------------
1 19 0.3120 (0.0000) S>C application_data
---------------------------------------------------------------
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"
"http://www.w3.org/TR/REC-html40/loose.dtd">
<HTML>
<HEAD>
<TITLE>Welcome</TITLE>
<LINK REL="STYLESHEET" HREF="css/styles.css" TYPE="text/css"></HEAD>
<BODY BGCOLOR="#FFFFFF">
<CENTER><H2>
<DIV align=right><IMG SRC="img/Nevis_f2.gif" border=0 /></DIV>
Welcome to the Nevisweb Reverse Proxy
</H2></CENTER>
</BODY></HTML>
---------------------------------------------------------------
1 20 0.3134 (0.0014) S>C Alert
level warning
value close_notify
1 0.3142 (0.0007) S>C TCP FIN
1 21 0.3173 (0.0031) C>S Alert
level warning
value close_notify
1 0.3176 (0.0003) C>S TCP FIN
---------------------------------------------------------------------
To unsubscribe, e-mail: bugs-unsubscribe@httpd.apache.org
For additional commands, e-mail: bugs-help@httpd.apache.org