My SSL test result was an A- due to forward secrecy.

I want to know how to implement the fix mentioned on this page here: https://blog.qualys.com/ssllabs/2013/06/25/ssl-labs-deploying-forward-secrecy

Specifically the lines:


In my apache2.conf file I have an SSLProtocol line and then below that I can place the SSLCipherSuite line, that's where I assume these forward secrecy fix lines are supposed to go.

For example from this question here:


I see their SSLCipherSuite line as:


Looking at the Apache SSL doc I see the pattern above.

I just don't know how to put three lines, are they separated by commmas, or use three separate lines, or do those lines go somewhere else?

  • 1
    They will all come on a single line separated by a colon. Use mozilla.github.io/server-side-tls/ssl-config-generator for generating the SSL conf for your server. – void_in Jun 26 '16 at 8:17
  • @void_in Thanks for your response. I will check out that link. – Jacob David Cunningham Jun 26 '16 at 8:46
  • @void_in Just a quick question, am I supposed to keep the TLS_ in front of the ECDHE_RSA... for example? I tried both and my server went down. I use KATE for a text editor/IDE and the HonorCipherOrder wasn't highlighted (usually suggests invalid/not-supported) but I see it on that link that you sent. Actually I think I know what I did wrong. – Jacob David Cunningham Jun 26 '16 at 8:59
  • still broken, probably should have mentioned that I'm using Apache 2.4.10 – Jacob David Cunningham Jun 26 '16 at 9:05
  • This is not a question about information security but about the exact syntax of a specific setting in the server configuration. Thus it would be more relevant for serverfault.com. But since such information can easily be found using a search engine or by looking at the servers documentation I recommend to close the question rather than to move it. – Steffen Ullrich Jun 26 '16 at 9:23

These are NOT lines:


These are ciphers and should go inside the SSLCipherSuite in appropriate form.


First, make sure that there is no other SSLCipherSuite (except vhosts) that may override your new cipher suite settings. If there is, comment it.

Then, below the commented line or below SSLProtocol line paste your cipher suite. It should look for example like this:



  • the first is directive (SSLCipherSuite) for Apache server
  • ciphers (e.g. DHE-RSA-AES128-SHA256) or cipher groups (e.g. DSS) are separated by colon (:)
  • exclamation mark after a colon means that this cipher or group should be left out
  • plus after colon means that this cipher or group should go at the end

By the way, don´t use the cipher suite you mentioned in question. RC4 is obsolete and prohibited in TLS since over a year. (Thanks @Michael Kjörling)

| improve this answer | |
  • Thanks for your post. My problem might be that I'm missing double-quotes around the cipher-suite string, I also didn't know about the !DSS part. Someone showed me their settings that got them an A+ SSL rating. I will implement your response and see what happens thanks for your time. – Jacob David Cunningham Jun 26 '16 at 13:09
  • In Apache config, you do not use quotes around directive values. This syntax is used in Nginx. – Vilican Jun 26 '16 at 14:05
  • @JacobDavidCunningham - By the way, the cipher suite I posted I am actually using and I am getting A+ - proof – Vilican Jun 26 '16 at 14:12
  • 1
    RC4 isn't merely obsolete. RC4 ciphersuites are prohibited in TLS since over a year, and currently Qualys SSL Labs cap grades to C for hosts that talk RC4 with "modern protocols". (They cap grades to B for hosts that talk RC4 with "older protocol versions" only, but that's little comfort if the client or server can be tricked into downgrading to earlier protocols without any warning or error.) See also RC4 in TLS is Broken: Now What? (March 2013). – a CVn Jun 26 '16 at 16:07

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