Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

How to sign windows app on CI? (from June 1, 2023) #473

Open
mahnunchik opened this issue May 30, 2023 · 14 comments
Open

How to sign windows app on CI? (from June 1, 2023) #473

mahnunchik opened this issue May 30, 2023 · 14 comments

Comments

@mahnunchik
Copy link

Starting on June 1, 2023, at 00:00 UTC, industry standards will require private keys for standard code signing certificates to be stored on hardware certified as FIPS 140 Level 2, Common Criteria EAL 4+, or equivalent. This change strengthens private key protection for code signing certificates and aligns it with EV (Extended Validation) code signing certificate private key protection.

Could anybody help to figure out how to sign windows electron application on CI? Maybe there is option to export well known pfx certificate locally?

@rathboma
Copy link

rathboma commented Jun 4, 2023

Hi, I have to renew my cert for Beekeeper Studio and I'm seeing the same problem. Is it not possible to just download a private key anymore?

I feel like desktop apps are taking backwards steps.

Hoping someone can help here with a workaround!

@erickzhao
Copy link
Member

Haven't tried this out myself, but major cloud services now provide CloudHSM and KMS services that you can integrate into your CI pipeline.

At a high level, you would want to get those set up in the CI environment and pass the correct parameters to signtool via the winstaller signWithParams parameter.

@rathboma
Copy link

rathboma commented Jun 6, 2023

Sure, but the Amazon HSM starts at $1000 per month minimum. ($1.45/hour)

@MarshallOfSound
Copy link
Member

MarshallOfSound commented Jun 6, 2023

This only impacts EV certs, if you're the kind of organization that needs EV but doesn't have the resources to spin up an HSM then that's unfortunately the New Reality.

There are other cloudhsm~esque solutions (none of these are endorsements)

  • CloudHSM
  • Azure Code Signing
  • DigiCert ONE
  • Etc.

Some of which may be cheaper idk

@rathboma
Copy link

rathboma commented Jun 6, 2023

Now even OV certs require a HSM it seems? So it's hardware token or bust as far as I can tell?

@petervanderwalt
Copy link

Does Electron-builder allow the use of https://knowledge.digicert.com/solution/digicert-keylocker.html then?
I have Digicert EV certs, used to just provide the PFX and Password as secrets to Github actions and Electron-builder took care of it (very well and easy) but now I need a hardware token? (Can't plug USB into Githubs servers) so will need to use some other method.

@petervanderwalt
Copy link

@petervanderwalt
Copy link

@evoactivity
Copy link

@petervanderwalt Hi Peter, just wondering how your testing went? Are you able to share you actions workflow?

@petervanderwalt
Copy link

@petervanderwalt Hi Peter, just wondering how your testing went? Are you able to share you actions workflow?

Still haven't gotten it working, though in our case procurement of the Keylocker/HSM is the delay, business side of things

@cwiggins999
Copy link

I'm diving into this process now, so just wondered if any updates on use of the HSM? I'm using Electron-forge. Thanks!

@petervanderwalt
Copy link

I'm diving into this process now, so just wondered if any updates on use of the HSM? I'm using Electron-forge. Thanks!

I havent been able to circle back to this yet myself, but checkout OpenBuilds/OpenBuilds-CONTROL#321 (comment)

@casaout
Copy link

casaout commented Jun 6, 2024

@petervanderwalt Any updates? I am in a similar situation... (small app, users cannot install app since Windows SmartScreen is blocking it)

@petervanderwalt
Copy link

@petervanderwalt Any updates? I am in a similar situation... (small app, users cannot install app since Windows SmartScreen is blocking it)

Finally got mine sorted.

Using digicert + keylocker to store the cert, and Github actions + electron builder to build and sign the app

OpenBuilds/OpenBuilds-CONTROL#321 (comment)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

8 participants