13

First and foremost, this is my very first experience with Code Signing.

I bought Standard Code Signing from Certum for 3 years.

I intend to publish applications in Czech republic mostly.

But to the point, on Windows 10, when I download the signed executable, I get bumped by Smart-Screen filter which blocks the application.

I don't know what to think. I used SHA256 and a time stamp. I signed it on Windows 8.1 fully updated.

Here is a code snippet I used to sign the EXE file:

SignTool sign /fd SHA256 /a /tr http://time.certum.pl "Barvy.exe"

Did I do something wrong?

Here is a picture detail of the signature of the EXE file:

digital signature

  • When you say that a smartscreen message pops up does is it mean you get the blue message: "windows protected your pc" or another message? can you mention which message you get? – Nicolas Guérinet Jan 26 at 18:57
  • @NicolasGuérinet This question is dated and with Windows 8.1 system. – Vlastimil Jan 27 at 2:39
  • thkx, with the certificate that you mentioned in your question, did the smartscreen message stopped to appear at some point? – Nicolas Guérinet Jan 27 at 7:42
  • 1
    @NicolasGuérinet I do not know, as I switched to Linux 2 years ago, and don't develop Windows applications any further. – Vlastimil Jan 27 at 7:55
12

Applications that are signed with a standard code signing certificates need to have a positive reputation in order to pass the Smart Screen filter. Microsoft establishes the reputation of an executable based upon the number of installations world wide of the same application. Since you haven't published your application as yet (and therefore the reputation hasn't been established as yet), the Smart Screen will continue to flag the application.

There are two solutions: either wait till the application has a large user base and its reputation will be adjusted by the Smart Screen. However, the current working status might prevent users from installing and trusting the application. The second option is to sign it with an EV (Extended Validation) code signing certificate. Applications signed with an EV certificate establishes its reputation right away. To quote Microsoft:

Programs signed by an EV code signing certificate can immediately establish reputation with SmartScreen reputation services even if no prior reputation exists for that file or publisher.

You can find further details at Microsoft SmartScreen & Extended Validation (EV) Code Signing Certificates blogpost.

  • 9
    extortion scheme! – tofutim Mar 22 '18 at 11:39
  • 3
    Thanks for the info. So having just bought $100 dollars worth of trust from Comodo, I now find I need to buy an additional $250 dollars worth of trust? Extortion is right. – SmacL Dec 11 '18 at 9:35
  • @void_in Microsoft establishes the reputation of an executable based upon the number of installations world wide of the same application: when not using EV-code-signing, does someone have an estimation of the number of installations required to get whitelisted by SmartScreen? – Basj Mar 20 at 13:37
1

If you have a standard code signing certificate, some time will be needed for your application to build trust. Microsoft affirms that an Extended Validation (EV) Code Signing Certificate allows to skip this period of trust building. According to Microsoft, extended validation certificates allow the developer to immediately establish reputation with SmartScreen. Otherwise, for some time, until your application builds trust, the users will see a warning like "Windows Defender Smartscreen prevented an unrecognized app from starting. Running this app might put your PC at risk.", with the two buttons: "Run anyway" and "Don't run".

Another Microsoft resource states the following (quote): "Although not required, programs signed by an EV code signing certificate can immediately establish reputation with SmartScreen reputation services even if no prior reputation exists for that file or publisher. EV code signing certificates also have a unique identifier which makes it easier to maintain reputation across certificate renewals."

Your Answer

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

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