Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I'm trying to use OpenSSL to connect to an SSL server.

When I run:

openssl s_client -connect

The following SSL client configurations work just fine:

  • Windows (OpenSSL 0.9.83e 23 Feb 2007)
  • Linux (OpenSSL 0.9.8o 01 Jun 2010)
  • Linux (OpenSSL 1.0.0-fips 29 Mar 2010)

Output from any successful connection looks like this:

New, TLSv1/SSLv3, Cipher is DES-CBC3-SHA
Server public key is 2048 bit
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
    Protocol  : TLSv1
    Cipher    : DES-CBC3-SHA
    Session-ID: (hidden)
    Master-Key: (hidden)
    Key-Arg   : None
    Krb5 Principal: None
    PSK identity: None
    PSK identity hint: None
    Start Time: 1337266099
    Timeout   : 300 (sec)
    Verify return code: 0 (ok)

However, when I use client with my Ubuntu 12.04 (w/ OpenSSL 1.0.1 14 Mar 2012) I get error:

...:error:140790E5:SSL routines:SSL23_WRITE:ssl handshake failure:s23_lib.c:177:

How can I proceed on solving this?

All tips are much appreciated!

share|improve this question
What protocol and cipher are used when it connects from Windows? – Shane Madden May 15 '12 at 22:30
It says: New, TLSv1/SSLv3, Cipher is DES-CBC3-SHA. I wish I understood what this all means! :) – Jaakko May 16 '12 at 5:37
DES? That's an odd cipher to have highest priority. What kind of server are you connecting to? – Shane Madden May 16 '12 at 5:51
Maybe the defaults on the newer openssl are by default restricting older ssl protocol versions? There would be some reasons to do so given the recent BEAST mess... – rackandboneman May 17 '12 at 13:41
D'oh, understood. You're testing the clients against your site. – brent May 17 '12 at 15:07
up vote 19 down vote accepted

This looks to be a known issue with Ubuntu's 1.0.1 OpenSSL:

It doesn't look like a fix is available. If possible you could downgrade to 1.0.0.

Try openssl s_client -tls1 -connect

share|improve this answer
THANKS A LOT MAN!!! I consider this problem closed. – Jaakko May 17 '12 at 15:12
More details of the problem on the Debian ticket: – brent May 17 '12 at 15:12
P.S. I will give you the bounty when it expires (19 hours) – Jaakko May 17 '12 at 15:14
Sounds good :) Final piece of info, upstream ticket with OpenSSL that seems to be the root cause of the issue:… – brent May 17 '12 at 15:16

If you get this issue with a Java HTTPS server running on OpenJDK, try editing /etc/java-7-openjdk/security/ and commenting out the line ${java.home}/lib/security/nss.cfg

as discovered by Christoph W.

share|improve this answer

This error can be caused by an older version of openssl when it can not re-negotiate the cipher (I generated a self-signed certificate using elliptic curves).

Specifically, I was getting the same error on MacOS with default openssl - 0.9.8zh

After installing the brew version OpenSSL 1.0.2f the error went away:

~/bin/openssl s_client -connect localhost:45678 | grep Cipher

verify return:1
New, TLSv1/SSLv3, Cipher is ECDHE-ECDSA-AES256-GCM-SHA384
    Cipher    : ECDHE-ECDSA-AES256-GCM-SHA384
share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.