Launchpad has imported 9 comments from the remote bug at
https://bz.apache.org/bugzilla/show_bug.cgi?id=62691.

If you reply to an imported comment from within Launchpad, your comment
will be sent to the remote bug automatically. Read more about
Launchpad's inter-bugtracker facilities at
https://help.launchpad.net/InterBugTracking.

------------------------------------------------------------------------
On 2018-09-07T13:13:11+00:00 Wmperry wrote:

Working on a project and need an LTS version of OpenSSL, which is soon
to be 1.1.1.  Recompiled apache 2.4.34 against it and trying to use
client certificates shows a 1 minute delay between the handshake
completing and the 0-byte SSL_peek() returning in
ssl_engine_kernel.c:1033 returns.

Working just fine with OpenSSL 1.1.0 or 1.0.2, also appears to work
without a delay using the 1.1.1 openssl s_server command.

Minimal configuration file is:

------------
LoadModule ssl_module           /usr/lib/apache2/modules/mod_ssl.so
LoadModule mpm_event_module     /usr/lib/apache2/modules/mod_mpm_event.so
LoadModule unixd_module         /usr/lib/apache2/modules/mod_unixd.so
LoadModule mime_module          /usr/lib/apache2/modules/mod_mime.so
LoadModule authz_core_module    /usr/lib/apache2/modules/mod_authz_core.so

SSLPassPhraseDialog "exec:......"

LogLevel trace5
ErrorLog /tmp/client-certificates.log
ServerName my.test.com
DocumentRoot /var/www

<Location />
   SSLVerifyClient require
   Require ssl-verify-client
</Location>

Listen 1443
<VirtualHost *:1443>
    SSLEngine on
    SSLCertificateKeyFile "/etc/xxxx.key"
    SSLCertificateFile "/etc/xxxx.cert"
    SSLCertificateChainFile "/etc/xxxx.cert"
    SSLCACertificateFile "/etc/backendca.cert"
</VirtualHost>
------------

The logs from apache itself that shows the delay are:

[Tue Sep 04 18:58:14.886205 2018] [ssl:debug] [pid 2571:tid 140532252661504] 
ssl_engine_kernel.c(2082): [client 172.16.1.101:53414] AH02041: Protocol: 
TLSv1.2, Cipher: ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits) 
---- delay here ---- 
[Tue Sep 04 18:59:14.944591 2018] [ssl:trace4] [pid 2571:tid 140532252661504] 
ssl_engine_io.c(2204): [client 172.16.1.101:53414] OpenSSL: read 0/5 bytes from 
BIO#7fd014002a10 [mem: 7fd014002d43] (BIO dump follows)

There is no delay before the web browser / client prompts for a
certificate to use - just between the ssl re-handshake completing and
the peek() returning no bytes.

Reply at:
https://bugs.launchpad.net/ubuntu/+source/apache2/+bug/1833896/comments/0

------------------------------------------------------------------------
On 2018-09-13T11:48:51+00:00 Steffn wrote:

We are currently adding support for TLSv1.3 for the next 2.4.x release.
If you like, you can test your setup against

https://svn.apache.org/repos/asf/httpd/httpd/branches/tlsv1.3-for-2.4.x

to see if this delay has been eliminated by the recent changes in
renegotiation/client cert handling. Would be good to know. Thanks!

Reply at:
https://bugs.launchpad.net/ubuntu/+source/apache2/+bug/1833896/comments/1

------------------------------------------------------------------------
On 2018-09-23T23:02:07+00:00 Wmperry wrote:

Created attachment 36161
Trace5 logs of the renegotiation

I downloaded the latest on that branch as of a few days ago (, and the
behaviour is still the same.  Full renegotiation is done, certificate is
verified, and then a timeout of 1 minute while the SSL_peek() fails.
Attaching logs @ trace5

Reply at:
https://bugs.launchpad.net/ubuntu/+source/apache2/+bug/1833896/comments/2

------------------------------------------------------------------------
On 2018-09-23T23:03:07+00:00 Wmperry wrote:

Status back to 'new' - please let me know if you need any additional
info.

Reply at:
https://bugs.launchpad.net/ubuntu/+source/apache2/+bug/1833896/comments/3

------------------------------------------------------------------------
On 2018-09-24T08:05:23+00:00 Rainer Jung wrote:

Thanks for the logs. I can't currently promise to work on it myself, but
some info:

- the branch tlsv1.3-for-2.4.x has been merged just 3 days ago into the
normal 2.4.x branch. So any further tests can be done against the normal
branch, unless something needs to get tested which might only exist in
trunk, in which case that would b the right source. The
tlsv1.3-for-2.4.x should probably considered stale starting now.

- what was the client you tested with?

- just to make sure: the hang only happens when "RE"negotation occurs
due to the VHost having different TLS config than the URI on that VHost
that you are trying to access (eg. the access to the VHost is not
protected by client certs, but some URLs are). To phrase it differently:
when all of the vhost uses the same ssl config including client certs,
ciphers etc., then no hang occurs?

- As far as I understand this situation, previously handled by
renegotiation, gets handled in OpenSSL 1.1.1 by a post-handshake-
authentication (PHA) extension and support for PHA is not yet clear for
all clients. Especially clients using OpenSSL as their client TLS stack
need to explicitly turn on PHA when using OpenSSL 1.1.1. But that's only
what I think I understood from other discussions.

Thanks and regards,

Rainer

Reply at:
https://bugs.launchpad.net/ubuntu/+source/apache2/+bug/1833896/comments/4

------------------------------------------------------------------------
On 2018-09-24T12:51:26+00:00 Wmperry wrote:

Moving "SSLVerifyClient require" outside of the <Location> block
instantly returns the document.  So it does appear to be ONLY the
renegotiation case.

Reply at:
https://bugs.launchpad.net/ubuntu/+source/apache2/+bug/1833896/comments/5

------------------------------------------------------------------------
On 2018-09-25T11:34:32+00:00 Jorton-9 wrote:

Note this is testing with TLSv1.2 not 1.3 - I will try to reproduce as
well.

Can you stick "#warning foo" on a line directly before:

    SSL_CTX_clear_mode(ctx, SSL_MODE_AUTO_RETRY);

in ssl_engine_init.c to make sure that is being enabled when you build?
Preferable to test against the 2.4.x branch now.

Reply at:
https://bugs.launchpad.net/ubuntu/+source/apache2/+bug/1833896/comments/6

------------------------------------------------------------------------
On 2018-09-25T11:43:56+00:00 Jorton-9 wrote:

I can't reproduce with 2.4.34+the TLS v1.3 patch from the branch, linked
against Fedora 29's OpenSSL 1.1.1.

Can you also test with the OpenSSL 1.1.1 final release - the original
post was dated before 1.1.1 was tagged - so I guess you were you testing
with a -pre release?

Reply at:
https://bugs.launchpad.net/ubuntu/+source/apache2/+bug/1833896/comments/7

------------------------------------------------------------------------
On 2018-09-25T20:19:15+00:00 Wmperry wrote:

Using the released OpenSSL 1.1.1 and the latest from 2.4.x seems to work
without any noticeable delay.  Guess this one can go to resolved.

I was using 1.1.1-pre9.  thanks.

Reply at:
https://bugs.launchpad.net/ubuntu/+source/apache2/+bug/1833896/comments/8


** Changed in: apache2
       Status: Unknown => Fix Released

** Changed in: apache2
   Importance: Unknown => Medium

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1833896

Title:
  Ubuntu 18.04: slow page loads with client cert auth after upgrade to
  openssl 1.1.1

To manage notifications about this bug go to:
https://bugs.launchpad.net/apache2/+bug/1833896/+subscriptions

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to