ASP.NET Hosting

Code signing certificates

If you need to sign a piece of code - eg. a Silverlight application, like I did with Sesame, an EXE, a DLL, an AIR application, a JAR applet - you need a code signing certificate.

A code signing certificate must be bought from a certificate authority, for example GoDaddy, VeriSign, Thawte, and Comodo. Note: a code signing certificate and an SSL certificate are not the same thing.
Be aware that not all providers allow you to sign everything with a single certificate. Some sell separate certificates for Microsoft Authenticode (that's what you need for Silverlight XAPs, for DLLs, for EXEs, and more), for Java, for AIR, and so on. Given that a code signing certificate is not exactly cheap, you may prefer to buy a single certificate that will allow you to sign files in different file formats.

I chose to buy my certificate from K Software, a reseller of Comodo certificates. It was much cheaper and moreover there isn't the restriction the other vendors impose on what you can sign.

Once you have your code signing certificate, you'll use SignTool.exe, which is a command-line tool part of the Windows SDK and installed with Visual Studio, or simply use Visual Studio 2010.

Resources:

2 Comments

  • Dumb question - but why do we have to purchase this? Do the store something that the app has to validate with them?

    A bit confused on the 'why' parts

    Thanks

  • It's just a question of trust.

    Look at how the installation dialog boxes are different with and without a certificate: http://weblogs.asp.net/fmarguerie/archive/2010/07/04/sesame-improved-signed-auto-updates.aspx

    The certificate "authorities" are here to guarantee that you are actually who you pretend you are.

    They don't store anything that your application accesses, but they provide you with a certificate only after they have verified your identity.

Comments have been disabled for this content.