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

We should try to sign Windows and OS X binaries #703

Open
olabiniV2 opened this issue Feb 18, 2021 · 2 comments
Open

We should try to sign Windows and OS X binaries #703

olabiniV2 opened this issue Feb 18, 2021 · 2 comments

Comments

@olabiniV2
Copy link
Contributor

When installing CoyIM on Windows and OS X, a user is often confronted with various warning dialogs, and in some cases it's not even possible to install Coy without making changes to the security settings of the OS. We should try to improve this situation as much as possible. The main we to do this would be to sign these binaries. However, on OS X, that might not be enough.

We would need to sign both the installer and the underlying binary, both on Windows and OS X. However, on OS X, it might not be enough - we will have to test it.

In order to do these signatures, we need a code signing certificate. This is not necessarily possible to get for free, so we might have to buy one. DigiCert is one vendor, but there are a few others. We can get a regular one, or we can try to get an EV one. The EV one is better, but more expensive. But it might reduce the risk of warning dialogs, especially on Windows. The problem is that it seems the EV certs require the use of physical signing devices, something that would make CI and automatic releases much more annoying.

We can either get a certificate for the "CoyIM organization" or something like that, or we can get one for CAD. If we get one for CAD, it can be used for publishing other projects, such as Wahay. That could increase the reputation of the certificate, making it work better. It might also be easier to get an EV, if we want that.

This issue involves investigating where to get the cert, maybe getting it and setting up automatic signing as much as possible. It also involves potentially figuring out if there are other things we can do on OS X to minimize the risk of problems there.

@olabiniV2 olabiniV2 self-assigned this Feb 22, 2021
@olabiniV2
Copy link
Contributor Author

Looking at the different options here:

  • Comodo, regular cert $85/y EV $319/y (it's not clear if an organization in Ecuador can actually get an EV here or not, neither what kind of checking is done, or whether the actual certificate is a hardware device or something else)
  • GlobalSign, regular cert $289/y EV $410/y (the EV is stored on an HSM)
  • Digicert, regular cert $499/y EV $699/y (the EV is stored on an HSM)
  • Sectigo, regular cert $179/y EV $399/y (unclear about storage)
  • Certum, regular cert 100-200 Euro/y EV 329-379 Euro/y (this provider has specific options for "in the cloud" signing, but to use it you have to use a service provided by certum to actually do the signing process... They also have an even cheaper option for open source projects, but the in-the-cloud option does require windows or an ios application apparently)
  • SSL.com, regular cert $129/y EV $349y (the EV certs are shipped on HSMs as well)

The next step is probably to contact Comodo and figure out if they can even issue an OV or EV cert for an organization in Ecuador, and simultaneously figure out if it's possible to use hardware signing as part of our release process.

@olabiniV2
Copy link
Contributor Author

When it comes to Apple, it seems we will need at least a Developer account. Researching this, it turns out that NGOs in Ecuador are NOT eligle for waiving the fee. Same thing with Spanish NGOs. So if we want an "organization" developer account, we would have to pay the $99 a year. It also seems we would have to register a DUNS for CAD to get it. This seems possible, but maybe a lot of work.

I think we should simply try by having one person registering as an Apple Developer and then use that to try to sign and notarize our builds. Exactly how we will do that will be a different question. Maybe it's possible to install the Developer identity temporarily into the CI.

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

No branches or pull requests

1 participant