My company is receiving this message causing us to fail our TrustKeeper PCI compliance scan:

Note to scan customer: This vulnerability is not recognized in the National Vulnerability Database. TLS v1.0 violates PCI DSS and is considered an automatic failing condition.

According to: http://en.wikipedia.org/wiki/Transport_Layer_Security

TLS 1.1 is disabled by default in IE10, and is not available at all in older versions. We have a good sized IE audience.

Does that mean all of our users with TLS 1.1 not enabled or supported at all will no longer be able to use our website if we make this change? This seems so soon. Am I missing something? All of our traffic is served through a load balancer, would it be possible to display some sort of message for those who don't support TLS 1.1?

  • 3
    You might not want to hear this, but it would be good if end users finally upgrade their browsers so everyone can kill old browser support. Or at the very least have another supported browser.
    – munchkin
    Commented Apr 30, 2015 at 1:35
  • On Windows you can enable schannel logging and look at the number of connections using TLS 1.0. We did this and saw a surprising 40% of connections to our sites being made using TLS 1.0 therefore we appealed on business grounds and this was accepted. Hopefully in the next 12 months this drops significantly or we are going to face a touch decision to cut off a lot of users.
    – CarlR
    Commented Jun 18, 2015 at 16:44
  • So, I read the answers but I'm still confused. If the deadline was pushed back to 2018, then why is it a fail? A warning, I could understand, but not a fail.
    – John Roa
    Commented Feb 1, 2016 at 19:28
  • @munchkin - and as of now, Microsoft thinks the same, no more security updates for anything earlier than IE 11. Commented Feb 1, 2016 at 20:01

3 Answers 3


Short version:

Long version:

PCI DSS 3.1 was released two weeks ago, on 14 April 2015. It lays out that

SSL and early TLS are not considered strong cryptography and cannot be used as a security control after 30th June, 2016.

In December 2015, the date for migrating existing applications was pushed back two years:

The Payment Card Industry Security Standards Council (PCI SSC) is extending the migration completion date to 30 June 2018 for transitioning from SSL and TLS 1.0 to a secure version of TLS (currently v1.1 or higher).

These dates provided by PCI SSC as of December 2015 supersede the original dates issued in both PCI Data Security Standard v3.1 (DSS 3.1) and in the Migrating from SSL and early TLS Information Supplement in April 2015.

As I understand it, "new applications" must still be implemented in line with the new requirement of 1.1+; the extension only applies to existing applications that used TLS 1.0 prior to April 2015.

The definition of what "early TLS" means is the subject of fascinated debate among QSAs, but it's safe to say 1.0 is part of it (and 1.1? Could be! Wait and find out!). (Update - as of December 2015, 1.1 is still "safe")

Here's how TrustWave says they're implementing these guidelines:

  • New implementations must use alternatives to SSL and early TLS.
  • Organizations with existing implementations of SSL and early TLS must have a risk mitigation and migration plan in place.
  • Prior to June 30, 2016, Approved Scanning Vendors (ASVs) may document receipt of an organizations risk mitigation and migration plan as an exception in the ASV Scan Report (in accordance with the ASV Program Guide).
  • Point of Sale (POS) or Point of Interaction (POI) devices that can be verified as not being susceptible to all known exploits of SSL and early TLS may continue to use these protocols as a security control after June 30, 2016.

So, if it's a new application, you might have to remove TLS 1.0 support. If it's not, push back on TrustWave and find out what sort of a "risk mitigation and migration plan" they require.

(Pulling the link from @mti2935 up out of the comments, here is Trustwave's Risk Plan Template. Thanks @mti2935!)

  • Are the payment gateways also going to remove TLS 1.0 connections? (i.e. Auth.net, PayPal, etc...). If so, this will impact a lot of sites hosted on server running centOS 5 / RHEL 5, which does not support TLS 1.1 or higher at all... Commented May 1, 2015 at 2:25
  • 1
    @RobMangiafico they'll have to by 30 June 2016... this is a dramatic and possibly even traumatic change. But I'm sure Red Hat will upgrade RHEL 5 openssl enough to support TLS 1.2 to answer the business need of their PCI customers.
    – gowenfawr
    Commented May 1, 2015 at 10:30
  • 4
    See trustwave.com/Resources/Library/Documents/… for info on how to create a risk mitigation and migration plan
    – mti2935
    Commented May 3, 2015 at 22:34

PCI DSS does prohibit TLSv1.0. No you wont be able to show a message to TLSv1.0 users without violating PCI DSS, because showing a message to end users means you have to finish TLSv1.0 negotiation. Technically its possible to configure the server side script to check the SSL enviroment variables for TLSv1.0 and show a error message in that case, but thats not allowed per PCI DSS.

It does not matter if you finish the negotiation for the purpose of accepting credit card data or if you finish the negotiation for the purpose of showing a "please upgrade your browser" message. Mere accepting or offering SSv2, SSLv3 or TLSv1.0 is prohibited at all.

Since the PCI DSS scan is automated, and fails at the negotiation state, it wont even matter if you push a HTTP 403 upon detecting a TLSv1.0 Connection.

However, I can say that IE10 users are very few. IE10 is shipped with the old Windows 7 media, and those are in most cases upgraded automatically through Windows update. Those users you have to struggle with is IE8, that is from Windows XP, and IE9 that is maximum available on Vista. Those on Windows 7 and later do have IE11.

  • But what about Android 2.3 to 4.3, Safari 6 or older, etc... en.wikipedia.org/wiki/Transport_Layer_Security#Web_browsers Combine this with IE 6-10, and it could impact sales by as much as 7-8%... Commented May 1, 2015 at 2:24
  • About Android 2.3 to 4.3, users cannot normally upgrade those anyways, because the manufacturer does often stop supplying updates to EOL devices. Best for the OP is simply to disable TLSv1.0 in his webserver, and those that dont support TLSv1.1+ will get an error simply. Commented May 1, 2015 at 19:01
  • 2
    The old Android users can download Chrome from the playstore and it will work with TLS1.2.
    – Bad Dos
    Commented May 4, 2015 at 19:07

Run the checks on the http side.

First Site


This checks the browser and throws an error if there is no support. Otherwise redirects to the secure site.

Second Site


The second site is the PCI server that supports what you need. It's the one you scan.

If the user hits this site directly, their session will fail. There isn't much you can do to give the user feedback. Make sure all your links point the user to http://secure.example.com.


If the user somehow copy/pastes a link to the secure site, they will still not get notified. However, if they navigate to the secure area normally, they should have no issue.

  • 3
    This is not permitted aswell since as of PCI DSS 3.0, a site which links to a off-hosted credit card application is also subject to PCI DSS Controls. This because if someone on "validate.example.com" would change the link to "secure.example.org" to instead link to "somebadhost.phishing-site.com" then credit card data is at risk. Thus also validate.example.com is subject to PCI DSS Controls. To gain out-of-scope for a application, the PCI zone must be completely unaffected if the application in question is completely taken over by a attacker. Commented Apr 29, 2015 at 13:14
  • 1
    @sebastiannielsen thanks - completely changed the answer.
    – Jonathan
    Commented Apr 29, 2015 at 22:18

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .