Code Signing Certificate
| 09 September 2010y.: информация о Code Signing | Цены указаны в * UAH. * RUR. US EU ( $1=8.6грн.) |
-------------------------------------------------------
Code Signing FAQ 
When customers buy software in a store, the source of that software is obvious.
Customers can tell who published the software, and they can see whether the package has been opened. These factors enable
customers to make decisions about what software to purchase and how much to "trust" those products. Customers who
download digitally signed Active X controls, dynamic link libraries, .cab files or HTML content from your site can be confident
that code really comes from you and hasn't been altered or corrupted since it was created and signed. Digital IDs serve as
virtual "shrinkwrap" for your software: after you sign your code, if it is tampered with in any way, the digital signature will
break and alert customers that the code has been altered and is not trustworthy.
The solution to these issues is Microsoft's Authenticode technology coupled with Digital IDs from Comodo. Code
Signing, through the use of digital signatures, enables software developers to include information about themselves
and their code with their software.
When customers download software signed with a Code Signing Certificate issued by Comodo, they can be assured of:
- Content Source: End users can confirm that the software really comes from the publisher who signed it.
- Content Integrity: End users can verify that the software has not been altered or corrupted since it was signed.
Users benefit from this software accountability because they know who published the software and that the code hasn't
been tampered with. In the extreme case that software performs unacceptable or malicious activity on their computers;
users can also pursue recourse against the publisher. This accountability and potential recourse serve as a strong
deterrent to the distribution of harmful code. Developers and Web masters benefit from Code Signing because it builds
trust in their names and makes it more difficult to falsify their products. By signing their code, developers build a trusted
relationship with users, who learn they can download software signed by that publisher or Web site with confidence.
With Code Signing Certificates, developers can create exciting Web pages using signed ActiveX™ controls, signed
Java™ applets, or other signed executables. And users can make educated decisions about what software they want
to download, knowing who published the software and that it hasn't been tampered with.
Code signing is widely used to protect software that is distributed over the Internet. Code signing does not alter it; it
simply appends a digital signature to the executable code itself. Use digital signatures when you want to distribute data,
and you want to assure recipients that it does indeed come from you. This digital signature provides enough information
to authenticate the signer as well as to ensure that the code has not been subsequently modified. Code signing digital IDs
(or certificates) allow content publishers including software developers to sign their content that includes software objects,
macros, device drivers, firmware images, virus updates, configuration files or other types of content for secure delivery over
the Internet.
Digital signatures are created using a public-key signature algorithm such as the RSA public-key cipher. A public-key
algorithm actually uses two different keys: the public key and the private key (called a key pair). The private key is known
only to its owner, while the public key can be available to anyone. Public-key algorithms are designed so that if one key is
used for encryption, the other is necessary for decryption. Furthermore, the decryption key cannot be reasonably calculated
from the encryption key. In digital signatures, the private key generates the signature, and the corresponding public key
validates it.
Who Needs a Code Signing Digital ID?
Any software publisher planning to distribute code or content over the Internet or through an extranet risks impersonation and
tampering. Comodo Code Signing Digital IDs for Microsoft Authenticode protect against these hazards.
Comodo offers Code Signing Digital IDs designed for commercial software developers: companies and other organizations that
publish software. This class of Digital ID provides assurance regarding an organization's identity and legitimacy, much like a
business license, and is designed to represent the level of assurance provided today by retail channels for software.
Customer Confidence
Code Signing Digital ID protects (reassures) your customers by assuring them that the integrity of the code they download
from your site is intact - that it has not been tampered with or altered in transit.
Authenticity
After downloading, end users can be sure that the code they obtained really came from you, helping you preserve your
business reputation and intellectual property. Digital IDs allow customers to identify the author of digitally signed code
and contact them should an issue or query arise.
Seamless Integration with Industry-Standard Technology
Most browsers will not accept action commands from downloaded code unless the code is signed by a certificate from a
trusted Certificate Authority, such as Comodo.
Ease of Use
Code signing certificates are easy to use in conjunction with the vendor software tools that developers use to create products, macro's and objects.
How does Authenticode work with Comodo Digital IDs?
Authenticode relies on industry standard cryptography techniques such as X.509 v3 certificates and PKCS #7 and #10 signature
standards. These are well-proven cryptography protocols, which ensure a robust implementation of code signing technology.
Authenticode uses digital signature technology to assure users of the origin and integrity of software. In digital signatures, the
private key generates the signature, and the corresponding public key validates it. To save time, the Authenticode protocols use
a cryptographic digest, which is a one-way hash of the document.
Code Digital IDs Signing Process:
The process is outlined below
- 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 a floppy disk, 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. For commercial publishers, Comodo does a considerable amount of background checking. 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). Follow the instructions in this e-mail 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 diskette containing your private key (MyPrivateKey.pvk).
As part of this process you will need to know the URL of Comodo’s time stamping server, which is http://timestamp.comodoca.com/authenticode
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 cabfilename.cab
If your signing process was OK, this will bring up a 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 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.
Conclusion
Microsoft and Comodo are committed to making the Internet a secure and viable platform for commerce and the distribution of content. With Authenticode and Comodo's Code Signing 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.
|