11

So I'm working on a project that will be open-sourced later.
But when I release my executables with my project, I don't want that each user gets a message that my app is from an unidentified developer.

I also don't have the money(I'm 13, so I don't even have a credit card) to buy such a code signing certificate.

And I know that there are a few simular questions about this but the best question I found was this one.
And it was asked more than 9 years ago!

So what I'm basically asking is:"Is it still possible in 2018 to get a free opensource code signing certificate?"

2 Answers2

3

The most basic way would be to generate a certificate yourself and sign with that, which is known as self-signing. In order for your self-generated certificate to be widely trusted, you would have to somehow get it to be signed by some well-known entity. You might try lurking around your local open source festivals/meetups and try and meet respected people and get them to sign your keys and whatnot. This, as you might imagine, is a large investment of time, but it might be worth it in more ways than one.

Or you can get a certificate authority to generate and sign the cert for you, colloquially known as buying the certificate. This usually costs a lot, but is very quick and easy.

There is one other option I know of, and that is CAcert. This is a community-driven free CA, wherein you get rated by other users instead of being verified centrally.

It might be slightly more hassle to the end-user than the expensive certs, and you may have to add CAcert as a trusted authority on the target system. But it's still a lot less than self-signing.

FlashCactus
  • 218
  • 1
  • 7
0

If you want to be "verified" you have to purchase a certificate and give buckets of money for the "verification". You can also self-sign your executable using a self-generated certificate but then you would have to install it to the clients' PCs, and it is hard, not to mention the UAC's with "unverified" during installation.


Here is a way to bypass the "unverified" prompt in Windows.

Starting the executable with admin right on Python3: Here is the ctypes function's docs

import ctypes
import sys
ctypes.windll.shell32.ShellExecuteW(None, "runas", "cmd /k"+sys.executable, None, None, 1)

Now they will see something like this(I launched the python interpreter): Sorry, reputation deficiency, edit requested

Great Owl
  • 23
  • 4