Signing by the publisher:

Verification at the end-user's browser:

Process Overview:

  • Publisher obtains a Code Signing Digital ID from Comodo.
  • Publisher creates code.
  • Using the SIGNCODE.EXE utility, the publisher:
    • Creates a hash of the code, using an algorithm such as MD5 or SHA,
    • Encrypts the hash using his/her private key,
    • Creates a package containing the code, the encrypted hash, and the publisher's certificate.
  • The end user encounters the package.
  • The end user's Microsoft browser examines the publisher's Digital ID. Using the Comodo root Public Key, which is already embedded in Authenticode-enabled applications, the end user browser verifies the authenticity of the Code Signing Digital ID (which is itself signed by the Comodo root Private Key).
  • Using the publisher's public key contained within the publisher's Digital ID, the end user browser decrypts the signed hash.
  • The end user browser runs the code through the same hashing algorithm as the publisher, creating a new hash.
  • The end user browser compares the two hashes. If they are identical, the browser messages that the content has been verified by Comodo, and the end user has confidence that the code was signed by the publisher identified in the Digital ID, and that the code hasn't been altered since it was signed.

The entire process is seamless and transparent to end users, who see only a message that the content was signed by its publisher and verified by Comodo.

The Six Steps In Code Signing

These instructions provide an overview of obtaining and using Microsoft Authenticode and a Code Signing Digital ID from Comodo.

Step 1: Make Sure that you Are Running the Correct Versions of all Tools:

These include:

  • Internet Explorer 4.0 or later
  • Internet Client SDK

Step 2: Apply for a Code Signing ID for Authenticode from Comodo

In the process of applying for a Code Signing ID, your browser will generate a private key. You should store this private key (called MyPrivateKey.pvk) on an external storage device like a USB drive, which is stored in a safe deposit box or other secure location. Please make a back-up copy of this private key, as you will need this key to sign code. This key is never sent to Comodo, so if you lose this private key, you will be unable to sign code. If this key is lost or stolen, please contact Comodo immediately.

Step 3: Pick up your Digital ID

Once you have completed the application process, Comodo will take a number of steps to verify your identity.

  • Code Signing Certificate - For commercial publishers, Comodo does a considerable amount of background checking.
  • EV Code Signing Certificate - Issuance of an EV code signing certificate requires a stringent validation of the publisher as per CA/Browser forum standards and Microsoft specifications.

As a result, it will take approximately 3-5 days to verify your information and issue a Digital ID.

At the end of this process, Comodo will send you an e-mail containing a PIN (Personal Identification Number). Save the PIN in a safe place. Follow the instructions in this email to pick up your Digital ID. Save your Digital ID as a file (e.g. MyCredentials.spc).

Please note that you must use the same machine to apply for and obtain your Digital ID. You can then use the private key and Digital ID to sign files on a different machine.

Step 4: Prepare your Files to be Signed

If you are building any PE file (.exe, .ocx, .dll or other), you need not do anything special. For cab files, you need to add the following entry to your .ddf file before creating the cab file: Set ReservePerCabinetSize=6144

Step 5. Sign your Files

You can now sign your .exe, or .cab, .ocx, or .dll file. To sign, you will use the SIGNCODE.EXE utility included in the ActiveX SDK. You will also need your Digital ID file (generally called MyCredentials.spc) and the USB token containing your private key (MyPrivateKey.pvk). For EV Code Signing, you will also require to enter the PIN you received in your certificate collection email, for authenticating your self.

As part of this process you will need to know the URL of Comodo's time stamping server, which is

Step 6: Test Your Signature

The Microsoft SDK contains a utility called chktrust.exe. This may be used to check your signature before distributing your file.

To test a signed .exe, .dll or .ocx file, run chktrust filename
To test a signed cab file, run chktrust -c

If your code signing process was OK, this will bring up a digital certificate. Congratulations, you have just digitally signed your file. When this file is downloaded from a Web site by Internet Explorer, it will display the same digital certificate to the user. If the file is tampered with in any way after it has been signed, the user will be notified and given the option of refusing installation.


Microsoft and Comodo are committed to making the Internet a secure and viable platform for commerce and the distribution of content through encryption and SSL Certificate. With Authenticode and Comodo's Code Signing Certificate Digital IDs, your code will be as safe and trustworthy to your customers as it would be if you shrink-wrapped it and sold it off a store shelf.