What Is a Code Signing Certificate?
A code signing certificate is a digital certificate used to associate a software publisher's identity with a public key used for code signing.
What does a code signing certificate contain?
A code signing certificate is more than a name attached to software. It is a structured X.509 certificate that carries identity information, a public key, issuer information, validity data, usage restrictions and policy information.
When a publisher signs software, the certificate gives a verifier the context needed to answer an important question: which identity is associated with the public key used to evaluate this signature? The certificate is therefore part of the relationship between publisher identity and software trust, not the signature itself.
The exact fields and extensions depend on the certificate profile. For publicly trusted code signing certificates, the CA/Browser Forum Baseline Requirements define required certificate profiles, including code-signing key usage and extended key usage information; the applicable requirements also vary by platform.
How does the certificate connect identity to a signing key?
The certificate binds identity information to a public key. The corresponding private key is held separately and protected by the publisher or signing system.
The public key is meant to be shared through the certificate; the private key is not. This asymmetric relationship lets a verifier use certificate information without gaining access to the secret material used to create signatures, while private-key compromise can allow unauthorized signing and requires a separate security response.
For a publisher, this separation is operationally important. Losing control of the private key is a different security event from having a certificate expire, because the private key is the credential that can be used to produce new signatures.
Certificate
Publisher identity, issuer information, validity and the public key used during verification.
Protected private key
The secret signing material remains separate from the certificate and is used to create the signature.
Who issues code signing certificates?
Publicly trusted code signing certificates are issued by Certificate Authorities (CAs). The CA is responsible for performing the applicable identity and authorization checks before issuing a certificate.
Obtaining a certificate involves more than downloading a document: the certificate issuance process starts with an application, followed by the CA's validation of information required by the applicable certificate profile and its policies. The CA then issues and signs the certificate so relying systems can validate its issuer relationship.
The CA/Browser Forum's current Code Signing Baseline Requirements define requirements for the issuance and management of publicly trusted code signing certificates, including certificate profiles and subscriber identity information; these rules form part of the broader standards governing publicly trusted code signing.
Applicant
Provides the identity and information required for issuance.
Validation
CA performs the applicable checks before issuing the certificate.
Issued certificate
CA issues and signs the certificate so relying systems can validate it.
Code Signing Certificate Acquisition & Validation
Go deeper into the process of obtaining a certificate, the validation checks performed by Certificate Authorities, and how long validation can take.
How to Get a Code Signing Certificate
Learn the steps involved in applying for, validating and obtaining a code signing certificate.
Read More →Code Signing Certificate Validation: What Do CAs Verify?
Understand the identity and authorization checks Certificate Authorities perform before issuing a certificate.
Read More →How Long Does Code Signing Certificate Validation Take?
Explore the validation timeline and the factors that can affect how quickly a certificate is issued.
Read More →What happens when you sign software with the certificate?
When software is signed, the private key performs the cryptographic signing operation. The code signing certificate travels with or is associated with the signed artifact according to the platform's signing format and gives the verifier the publisher and public-key context.
The certificate is one part of the signing package, not the component that performs the signing operation. In a typical release workflow, a publisher uses a protected private key to sign software with a code signing certificate; the certificate then supplies identity and public-key information that helps a verifier understand whose key is involved and how it relates to a trusted issuer.
In practical terms, the signing operation produces a signature over the software or the data defined by the platform's signing format. The certificate is then included with, embedded in, or otherwise made available to the signed artifact so that verification can retrieve the certificate and evaluate the signature.
The certificate's conceptual role remains the same across platforms, even though signing formats differ: Microsoft Authenticode handles Windows signing, Java code signing applies to JAR files, and macOS code signing follows Apple's signing model.
Software ready for signing
Installer, executable, package, library or another supported artifact.
Protected private key
Creates the digital signature without becoming part of the certificate.
What does a code signing certificate prove?
A certificate contributes identity and trust information to signature verification, but it should not be treated as a blanket statement that software is safe.
A code signing certificate helps establish who is associated with the public key used for a signature and provides certificate information that can be evaluated during verification. When the signature is valid and the certificate chain is trusted, a verifier has evidence connecting the signed artifact to the certificate's subject and the corresponding signing key.
The certificate also contributes to an integrity check. If signed content has been changed in a way that causes signature verification to fail, the verifier can detect that the content no longer matches what was signed. This makes code signing useful for distributed software, installers, libraries, scripts and other supported artifacts.
Those assurances have boundaries. A certificate does not inspect source code for vulnerabilities, prove that an application is free of malware, or guarantee that every platform will consider the publisher trustworthy. Security reputation, application behavior and vulnerability management are separate questions.
Publisher identity
Certificate information connects the public key to the certificate subject and issuer context.
Signature validity
The verifier can check whether the signature matches the signed content and public key.
Not a safety guarantee
A valid signature is not the same as malware detection, vulnerability analysis or a universal reputation verdict.
Code signing certificate vs digital signature
A code signing certificate and a digital signature are two different objects that work together. The certificate provides identity and public-key context; the signature is the cryptographic result created with the corresponding private key.
The certificate is an identity-bearing credential issued by a Certificate Authority. It contains the public key and certificate metadata needed to describe the subject, issuer, validity and permitted use.
The digital signature is the cryptographic result produced with the corresponding private key during the signing operation. During verification, these pieces meet: the verifier can obtain the certificate, inspect its trust chain, retrieve the public key and use that key to check the signature against the signed content.
Issued credential describing the signer, issuer, validity and permitted use.
TOGETHER
Created with the corresponding private key over the signed content.
Code signing certificate vs SSL/TLS certificate
Both certificate families use public-key cryptography and certificate-based trust, but they serve different jobs. A code signing certificate supports software-signing workflows; an SSL/TLS certificate supports server authentication for secure network connections.
A code signing certificate is used in the context of software or other signed artifacts. Its identity information and public key are evaluated alongside a digital signature to provide evidence about the publisher and signed content.
An SSL/TLS certificate is used to authenticate a server endpoint and support a protected TLS connection between clients and servers. It is not a substitute for a code signing certificate, and a certificate intended for one purpose should not be described as interchangeable with a certificate intended for the other.
Software trust
Signs code and release artifacts with publisher identity and integrity evidence.
Connection trust
Authenticates a server endpoint and supports secure TLS sessions.
What types of code signing certificates exist?
Validation and key-protection requirements differ across code signing certificate types, so the publisher identity, signing environment and distribution requirements should guide the choice. Exact rules depend on the certificate type and current industry requirements.
Code signing certificates are not a single universal profile. The certificate type reflects the publisher identity and the assurance or validation model that applies to issuance.
EV code signing is associated with higher-assurance organizational validation and specific private-key protection requirements. Organization-based non-EV certificates use the applicable organizational validation process, while individual certificates are intended for eligible individual publishers. The exact issuance and key-protection rules can change as industry requirements are updated.
Choosing a certificate should begin with the publisher identity, signing environment and distribution requirements rather than a generic “best certificate” comparison.
Publisher identity
Certificate policy
Public key
Key usage / EKU
Certificate Authority
Validity period
EV Code Signing
Higher-assurance organizational validation with specific issuance and key-protection requirements.
OV / Non-EV Code Signing
Organization-based code signing subject to applicable validation requirements.
Individual Code Signing
For eligible individual publishers or developers under applicable issuance rules.
Choose the Right Code Signing Certificate
Explore the different certificate categories, compare validation models and publisher identities, and understand how to choose the right certificate for your signing requirements.
Types of Code Signing Certificates Explained
Explore the major code signing certificate categories and understand how they differ by publisher type, validation and requirements.
Read More →OV vs. EV Code Signing Certificates: What’s the Difference?
Compare OV and EV code signing certificates, including their validation and key-protection considerations.
Read More →Organization vs. Individual Code Signing Certificates
Understand the differences between organization-based and individual code signing certificates.
Read More →How to Choose a Code Signing Certificate
Use publisher identity, signing environment and distribution requirements to determine the most suitable certificate.
Read More →Compare Code Signing Certificates
Certificate type, publisher identity and key protection requirements all affect which option fits your release process. Compare available certificates before deciding what to use.
Where does the certificate chain fit?
The publisher certificate does not stand alone. Verification can evaluate its issuer relationship and the broader certificate chain that leads toward a trusted root.
The publisher certificate identifies the subject and carries the public key used in the signing context. An issuing CA certificate establishes the next link in the hierarchy, while a trusted root provides the trust anchor used by the relying system.
During verification, the platform can inspect the certificate's issuer path, along with the signature, validity and applicable policy; the structure of the certificate chain helps establish whether the publisher certificate leads to a trusted root. The exact chain-building and presentation behavior depends on the platform and signing format.
Root CA
Top-level certificate used as a trust anchor by the relying system.
Issuing CA
Intermediate certificate that establishes the publisher certificate's issuer relationship.
Publisher certificate
Certificate associated with the publisher and public key used in code signing.
Validity, expiration and timestamping
A certificate has a defined validity period, while an individual signature records a signing event. Timestamping can add evidence about when that signing event occurred.
For current publicly trusted code signing certificates, the CA/Browser Forum requirements limit certificates issued on or after March 1, 2026 to a maximum validity period of 460 days. Certificate validity, signing time and timestamping are separate concepts and should not be collapsed into one rule.
A certificate can be valid for a defined period while an application is signed at a particular point within that period. For software that needs to remain verifiable over time, timestamping adds evidence about when the signing event occurred, and release teams can include this step when they timestamp signed software before distribution.
How a platform evaluates an older signature depends on certificate status, timestamp information, signature format, trust rules and platform behavior.
Certificate validity is not the same as signing time
Validity defines the certificate's stated lifetime. Timestamping provides separate evidence associated with the signing event.
What happens when a certificate expires or is revoked?
Certificate expiration means the certificate has reached the end of its stated validity period. Revocation is different: it means the certificate has been withdrawn from trust before or during its normal lifecycle.
Expiration occurs when the certificate reaches its stated notAfter date. Revocation means the issuing authority has withdrawn the certificate's trust before the normal end of its validity, typically because a defined revocation circumstance has occurred.
A publisher should not assume that an expired certificate automatically makes every historical signature invalid, nor that a valid signature overrides every revocation or trust problem. The distinction is important because certificate expiration marks the end of the stated validity period, while certificate revocation withdraws trust before that point; timestamping, status information and platform policy also influence how a signed artifact is evaluated.
For new releases, the practical response to expiration is usually to obtain and deploy a replacement certificate before signing. If a private key is compromised or a certificate is revoked for a security reason, the response is more serious because the trust problem can affect signatures created with the compromised key.
Certificate Renewal & Replacement
Learn what to do as a certificate approaches expiration and how the replacement process differs when a certificate has expired or a private key has been compromised.
Code Signing Certificate Renewal: When and How to Renew
Understand when to renew a certificate and what to consider when preparing for continued software signing.
Read More →How to Replace an Expired or Compromised Code Signing Certificate
Learn the replacement considerations for expired certificates and certificates affected by private-key compromise.
Read More →Where does the certificate fit in a real signing setup?
A publisher can protect the private key in different environments while keeping the certificate's conceptual role unchanged. The certificate identifies the signer and provides public-key information; the protected private key is used by the signing system to create signatures.
The certificate remains conceptually the same whether signing happens on a developer workstation, through a hardware security module or through a remote signing service. What changes is where the private key is generated, stored and used.
In a local setup, the signing tool can access the protected private key directly. In contrast, cloud code signing and other remote signing models keep the key inside a controlled signing environment and expose an authorized signing operation to the build system; hardware-protected environments may also move the key operation into a token or HSM.
For publicly trusted code signing, current CA/Browser Forum requirements also place specific controls on subscriber private-key protection and signing services. The key-management environment should therefore be treated as a security boundary rather than simply a storage preference.
Release artifact
CI/CD produces the software that is ready to sign.Protected key
Signing system performs the private-key operation inside a controlled boundary.Verification context
Certificate identifies the publisher and provides the public-key context.Platform check
Relying system evaluates signature, certificate chain and applicable rules.Protecting the Code Signing Key
Explore modern signing environments and understand what happens when the private key becomes exposed or compromised.
What is Cloud Code Signing?
Learn how cloud and remote signing environments protect private keys while supporting controlled signing workflows.
Read More →What Happens If a Code Signing Private Key is Compromised?
Understand why private-key compromise is a serious security event and what it can mean for signed software.
Read More →Choose a Certificate for Your Signing Environment
Whether signing takes place on a developer workstation, in a CI/CD pipeline or through a protected remote service, start with your publisher type and operational requirements to narrow the available options.
Common misconceptions about code signing certificates
Most confusion comes from treating the certificate, private key and digital signature as if they were the same thing. They are related components with different jobs.
The certificate can be shared as part of the verification context; the private key must remain secret; and the digital signature is the cryptographic result created from that private key.
A successful signature check is also not a general security verdict. It can provide evidence about the signing identity and whether signed content still matches the signature, but it cannot replace malware analysis, secure development practices, vulnerability management or software reputation systems.
“The certificate contains the private key.”
No. The private key is separate secret signing material and should remain protected.
“The certificate signs the software.”
No. The private key is used to create the digital signature.
“A valid certificate means the software is safe.”
No. Code signing provides signature and identity information; it is not a malware or vulnerability guarantee.
“Code signing and encryption are the same.”
No. Code signing primarily provides signature-based integrity and publisher identity information; it is not the same as encrypting software.
“Every code signing certificate works identically on every platform.”
No. Signing formats, certificate handling and verification mechanisms can vary by platform.
Compare Code Signing Certificate Providers
Once you know the certificate type you need, compare providers and their available products to evaluate the options that suit your organization, signing workflow and budget.
Related fundamentals
Once you understand what the certificate contains and what it does, the next useful step is to connect it to the broader code signing system.
