I am currently developing drivers for Windows 10, and I also have a code-signing certificate. When I sign my files, they get the signature and a hash set in the properties. However, Windows 10 refuses to install them displaying the following error message:

The hash for the file is not present in the specified catalog file. The file is likely corrupt or the victim of tampering.

Here is the syntax I use to sign my two CAT files, what am I doing wrong?

"C:\Program Files (x86)\Windows Kits\8.1\bin\x86\signtool.exe" sign /f "C:\Users\me\Documents\MyDrivers\MyGroup.pfx" /p myPassw0rd /d "Test" /du http://www.my0c0mpany.com" /t "http://timestamp.verisign.com/scripts/timestamp.dll" /v /ph "C:\Temp\MyDriver\v0.3\*.cat"

The following certificate was selected:
    Issued to: MyGroup
    Issued by: COMODO RSA Code Signing CA
    Expires:   Tue Sep 17 02:59:59 2018
    SHA1 hash: *

Done Adding Additional Store
Successfully signed: *
Successfully signed: *

Number of files successfully Signed: 2

Number of warnings: 0

Is there something I am missing? Number of errors: 0

  • Maybe the .inf file isn’t present in the catalog file? – Daniel B Aug 7 '17 at 12:49
  • @DanielB, isn’t it the other way around: the catalog file is referenced in the inf file, and the cat file is then created with inf2cat from the inf file, and subsequently signed (together with the drivers themselves, which are also referenced in the inf file) – Ro-ee Aug 7 '17 at 13:09
  • It is certainly referenced in the .inf file. However, the catalog must contain hashes of all files, including the .inf file. I’m not familiar with the actual signing process though. – Daniel B Aug 7 '17 at 13:16
  • try the signtool.exe from (latest) Win10 SDK and not the 8.1 version – magicandre1981 Aug 7 '17 at 14:53
  • I finally managed to sign my CAT files using signtool.exe from the Win10 SDK, and the drivers install without a problem. However, when I actually attach the hardware, I get the following message, although Windows says my driver file is digtially signed with an authenticode signature: "Windows cannot verify the digital signature for thisdevice (Code 52)". Is there anything else that needs to be signed apart from the CAT-files? – Erik Aug 9 '17 at 6:20

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.