DigiCert recommends developers take precautions when implementing their code signing process and securing the private keys associated with their signing certificates.
Maintain access controls to and accounting of code signing keys and limit their distribution. This will help enforce strict accountability for key use.
Choose a strong password for the private key. We require having at least sixteen (16) characters that are randomly generated containing uppercase letters, lowercase letters, numbers, and symbols to transport private keys. Words in a dictionary, derivatives of user-IDs, common character sequences (e.g., "123456"), proper names, geographical locations, common acronyms, slang, family member names, birthdays, etc. are not to be used.
Securely store a private key using a FIPS 140-2 Level 2 certified cryptographic device. Export of the private key is not allowed by these cryptographic devices. Most of these devices include multi-factor authentication.
Microsoft recommends using a separate Test signing certificate to sign prerelease code. The Test signing certificate should only be trusted in the test environment. Test signing certificates can be a self-signed certificate or come from an internal test CA.
For more information, Microsoft provides a best practices document on code-signing.
DigiCert is the world's leading provider of scalable TLS/SSL, IoT and PKI solutions for identity and encryption. The most innovative companies, including 89% of the Fortune 500 and 97 of the 100 top global banks, choose DigiCert for its expertise in identity and encryption for web servers and Internet of Things devices. DigiCert supports TLS and other digital certificates for PKI deployments at any scale through its certificate lifecycle management solution, CertCentral®. The company is recognized for its enterprise-grade certificate management platform, fast and knowledgeable customer support, and market-leading security solutions. For the latest DigiCert news and updates, visit digicert.com or follow @digicert.
©2020 DigiCert, Inc. All rights reserved. DigiCert, its logo and CertCentral are registered trademarks of DigiCert, Inc. Norton and the Checkmark Logo are trademarks of NortonLifeLock Inc. used under license. Other names may be trademarks of their respective owners.