Skip to main content

SHA1 support in Windows

  • August 11, 2016
  • 0 replies
  • 0 views

Problem:

SHA-1 hash is being phased out due to its inadequate collision resistance. Or, in other words, it doesn't produce code signatures that are strong enough by today's crypto-standards.  

If your SHA-1 file was timestamped before 1/1/2016 then there is no problem. This only affects files signed with SHA-1 post 1/1/2016.

The following table details the SHA support for Windows:

Windows OS SHA-1 SHA-256
XP SP3, Server 2003 Yes

No without updates (specifically KB968730KB938397)

Vista, Server 2008 Yes

No without updates (specifically KB2763674)

7, Server 2008 R2 No (if signed after 1/1/2016) Yes with latest updates
8.1, Server 2012 R2 No (if signed after 1/1/2016) Yes
10, Server 2016 No (if signed after 1/1/2016) Yes

Up to mid-2016 we signed all our files and installers with SHA-1. In summary this gives us the following behaviour:

  • Downloading in EDGE or IE on Windows 10 is blocked.
  • Downloading in latest version of IE 11 is blocked.
  • If UAC is on (Vista or later) then you will see a warning that the file has an unknown publisher but the file will run as expected.

If we signed all our files and installers with just SHA-2 we would get round all the problems we see but we would see the following issue on old OS’ (XP/2003):

  • The file will install fine but if you look at the properties you will see that the SHA-2 certificate is not recognised so it says the file has an invalid certificate.

More info can be found here in Microsoft’s TechNet article.

Resolution:

  • All installers will be dual signed with both SHA-1 and SHA-2 certificates where possible. If file type of installer only supports one certificate then it has to be a SHA-2.
  • All product files will be signed with SHA-2 certificates.


#MFDS
#EnterpriseDeveloper

0 replies

Be the first to reply!