I am planning to get rid of the SHA1 certificate signing algorithm in our certificates and switch over to SHA-256. Problem is, that Windows XP (before SP3) is not supporting this. Therefore I need to know how many people are still using these versions. Is there a way to seperate Windows XP SP1 and SP2 from SP3? I know that SP2 brought the "SV1" (Security Version 1) token to it's version string, but what about SP1 and SP3? Is there a way to distinguish these versions?

  • At this point Windows XP is past end of life; nobody should be using it. Those few who still are, should not be using Internet Explorer. I would not worry much about this. May 10, 2014 at 0:14
  • What about Windows XP 64-bit Edition - is this also prone to this compatibility problem?
    – MrWhite
    Jun 16, 2014 at 11:04
  • Why rely on User-Agent that can be completely faked or without what you need, instead of just testing? There are typical methodologies of designing in advance "cut-off periods" like of 2 hours or more, where you change the configuration on your side and ask people to test then. That will give you a far better picture of what you need to do and even catch other problems you don't envision yet. Alternatively, a good webserver could "sniff out" the TLS handshake and specially the ClientHello and respond with different things depending on who asks. This allows smooth migration. Aug 19, 2021 at 22:44

2 Answers 2


This MSDN article documents the nomenclature used for user agents. Appears the feature token can be used in conjunction with the platform token to make some determinations.

Feature tokens

Certain optional components can also modify the user-agent string; this next table shows common ones. Be aware that many other applications also modify the user-agent string. Because of this, a comprehensive list is not possible. If you find additional tokens in your user-agent string, investigate them in more detail.

The table specifically notes SV1 as a signal for a specific service pack.

However, the document explicitly states that a comprehensive list is not available.

UserAgentString.com collects User-Agent strings but I do not see any correlation to SP versions.

I have not been able to find an official Microsoft reference for what feature tokens were added to the various service packs. But I do know this appears on their blog from time to time:

The IE7 User-Agent String

The Internet Explorer 8 User-Agent String (Updated Edition)

Perhaps with some digging you can find the others.


If this is possible, I think your only option is to dig into .NET CLR version history. I believe the different Service Packs could have been served different .NET CLR versions. Unfortunately the user agents doesn't show the last digits (1.1.4322.????).

If one can install any .NET CLR version on any Windows XP version. Then the answer is no. You can not tell Service Pack version from the User Agent string.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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