The TLS handshake is working fine. The issue is that HAProxy is trying to speak SPDY
with your clients, and they most likely don't support it.

In the Haproxy_1 capture, look at packet #61 send by haproxy to the client. The application data protocol is set to SPDY. Is this the expected behavior of your endpoint?

- Julien

On 2015-02-23 12:33, NuSkooler wrote:
I'm not currently sure on the JRE version. These are Android clients
written with a old Android SDK. All new clients are C++ / OpenSSL
based.

I have set the DH param size to 1024 with the same results.
Additionally, I set up a bind statement that reflects that of the
backward compatibility link you provided from Mozilla. Again, with no
luck.

Attached two pcap files:
haproxy_1.pcap: Capture of client against HAProxy with the target
configuration I started with + 1024 DH param. HAProxy is @ 10.3.2.74
here
haproxy_2.pcap: Capture of the client against OpenSSL s_server run as such:
  openssl s_server -accept 443 -cert
~/Downloads/json_rpc_server_cert_and_key.pem -msg -debug -state.
s_client is @ 10.3.2.118 here

In both cases the client is @ 10.1.1.93.

(Note: I'm not 100% sure if I can attach here; If not I'll post links
in a follow up)

On Sat, Feb 21, 2015 at 3:15 AM, Lukas Tribus <luky...@hotmail.com> wrote:
Can you share the actual pcap file of the fails ssl handshake so I can
take a look at it in Wireshark/ssldump?

Can you tell what exact JRE release those clients are running? For example,
does it affect JRE 6 but not JRE 7?


Out of the blue, I would suggest to make sure DH params for DHE ciphers are fixed to 1024 bit (known Java limitation to only support 1024 bit with DHE ciphers in the older releases) - this can be either in the certificate file or generated by haproxy at startup (in which case its configurable with tune.ssl.default-dh-param) and to set the other parameters as mentioned in:


https://wiki.mozilla.org/Security/Server_Side_TLS#Old_backward_compatibility



Regards,

Lukas




Reply via email to