Code Signing for Software Companies

Code signing gives software companies a way to establish publisher identity, protect software integrity, and control how signed releases move from development through production.

For a software publisher, the certificate is only one part of the problem. The production process also has to define where the private key lives, who can authorize signing, how CI/CD requests signatures, how releases are timestamped, and what happens when a certificate or key must be replaced.

Commercial use case hub for software publishers evaluating certificates, key protection, signing infrastructure, CI/CD, release operations, and lifecycle controls.
Development
Build
Sign
Timestamp
Verify
Release
Update
Final artifact → protected signing → verified release

Why Code Signing Matters to Software Companies

Software companies distribute more than one type of executable artifact. A product may ship a desktop installer, DLL, driver, script, Java archive, firmware package, command line utility, agent, or update package. Each distributed artifact creates a basic trust and integrity question: who published it, and has it changed since it was signed?

Applications and installers

Desktop applications, EXE files, DLLs, MSI installers, CAB packages, and update installers often need a signing process that fits the Windows release toolchain.

Developer and platform artifacts

Software publishers may distribute PowerShell scripts, Java archives, CLI tools, agents, libraries, drivers, or platform specific packages with different signing requirements.

Updates and patches

Patch releases, security fixes, major versions, auto updater packages, and rollback artifacts should follow the same controlled release policy as the initial product.

What Code Signing Actually Provides

A code signature should be treated as a trust and integrity mechanism, not as a complete software security assessment.

01

Publisher identity

The certificate identifies the signing entity according to the certificate's validation model. Organization validation and individual validation establish different subject identities.

02

Software integrity

The signature lets a verifier detect changes to the signed content after the signature was created.

03

Signature verification

Operating systems and other software can validate the signature, certificate chain, and relevant signing information.

Important distinction: Code signing does not prove that software contains no vulnerabilities or malicious functionality. It establishes publisher identity and artifact integrity within the trust model used to validate the signature.

Where Code Signing Fits in the Software Lifecycle

Signing belongs in the release path after the artifact has reached its intended final state. Signing an intermediate build and then modifying the artifact creates a different artifact from the one that was signed.

01

Source code

Approved source enters the release pipeline.

02

Build

The pipeline creates the release artifact.

03

Testing

Functional and security checks run before signing.

04

Final artifact

The release candidate is frozen for production signing.

05

Sign and timestamp

The protected signing environment creates the signature and timestamp.

Release principle: build, test, and security checks should establish the final artifact before production signing. Post-signing modifications require a new signing operation.

What Software Companies Need to Sign

The exact signing ecosystem depends on the artifact and platform. A single Code Signing Certificate should not be presented as if it behaves identically across every operating system or package format.

ArtifactTypical signing ecosystemOperational consideration
EXEMicrosoft AuthenticodeWindows signing, certificate chain, timestamping, and release verification.
DLLDLL signing guideSign the final binary before distribution.
MSIMSI signing guideInstaller signing should be part of the production release pipeline.
CABWindows signing guideUse the signing process required by the relevant Windows workflow.
PowerShellPowerShell signing guideSigning policy should cover script ownership and production authorization.
JARJava signing guideUse the Java signing toolchain and validate the certificate chain and timestamp.
macOS applicationmacOS signing guideApple signing identities, Keychain, notarization, and release automation are separate from Authenticode.
Driversplatform requirementsDriver signing can have additional platform and distribution requirements.
Firmwareplatform requirementsSigning requirements depend on the device and firmware trust model.
Software updatessoftware distribution guideEvery update path should have a defined signing and verification policy.

Choosing the Right Code Signing Certificate

The certificate decision starts with the identity that should appear in the trust model and the platform requirements that apply to the software being distributed.

Individual

Individual Code Signing

Relevant to individual developers and publishers where the issuing CA and target platform support this identity model.

Organization

Organization Validated

Designed for software companies that need the certificate associated with a verified organization.

Extended validation

EV Code Signing

Used by organizations requiring the additional validation and platform specific use cases associated with EV Code Signing.

Certificate validation and private key protection are separate decisions. Choosing an organization identity does not by itself determine where or how the private key should be operated.

For the infrastructure decision, the relevant architecture may be HSM Code Signing, Remote Code Signing, or Cloud Code Signing, depending on how the release team needs to request and control signatures.

What Should a Software Company Look for in a Certificate?

Certificate selection becomes easier when the buying decision is expressed as operational questions instead of a generic feature checklist.

Identity

What publisher identity will appear in the certificate?

Validation

What does the CA actually verify before issuance?

Platform compatibility

Which software and operating systems can use the certificate?

Key protection

Where will the private key live and can it be exported?

Timestamping

How will timestamps be applied to production signatures?

CI/CD

Can the signing model operate inside the release pipeline?

Lifecycle

How are renewal and certificate replacement handled?

Revocation

What is the response process if the signing key is compromised?

Code Signing Certificate vs Signing Infrastructure

A production signing system has three distinct components. Keeping those roles separate makes architecture and security decisions clearer.

CertificateEstablishes publisher identity within the certificate trust model.
Private keyCreates the cryptographic signature and must remain protected.
Signing infrastructureControls where the private key operates and who can invoke signing.

Hardware token

A physical protected signing environment suitable for smaller or local workflows.

Customer HSM

An enterprise controlled hardware security module operated within the organization's infrastructure.

Cloud HSM

HSM backed key protection in cloud infrastructure, useful for cloud based build systems.

Remote signing

Signing requests are separated from the build environment so the private key does not need to reside on the build server.

Cloud signing

A signing service provides controlled access to protected keys through an online signing workflow.

Managed signing

The provider operates more of the signing infrastructure while the software company controls identities, access, and release policy.

Protecting the Code Signing Private Key

The certificate is public. The private signing key is the critical secret that must be protected from unauthorized use. A production architecture should therefore focus on non exportability, authentication, authorization, auditability, and controlled key lifecycle operations.

Non exportability

Keep the private key inside an approved protected environment rather than treating a downloadable PFX file as the enterprise security model.

Hardware protection

Use a hardware token, HSM, cloud HSM, or qualifying signing service appropriate to the certificate and CA requirements.

Access control

Restrict signing rights to the people and service identities that actually need production signing access.

Authentication

Use strong authentication and service authorization before a signing request reaches the protected key.

Audit logs

Record signing activity so production releases can be traced to the requesting identity, artifact, pipeline, and time.

Incident response

Define key compromise, certificate revocation, replacement key generation, and release remediation before an incident occurs.

Current CA/B Forum context: the Code Signing Baseline Requirements version 3.11.0 is dated June 16, 2026. Publicly trusted Code Signing Certificates issued on or after March 1, 2026 have a maximum validity period of 460 days. The current requirements also define controls for subscriber private key protection and signing services.

Hardware Token vs HSM vs Cloud Signing

The right signing model depends on how many people and pipelines need to sign, where builds run, how much infrastructure the company wants to operate, and how tightly production signing must be separated from development.

Signing modelSuitable forPrimary operational question
Hardware tokenSmaller or local signing workflowsHow will the token be secured and made available to the authorized release operator?
Customer HSMEnterprise controlled infrastructureWho owns HSM operations, access policy, availability, and audit controls?
Cloud HSMCloud based enterprise infrastructureHow will the CI/CD environment authenticate to the HSM without exporting the private key?
Remote signingDistributed or automated teamsHow will signing requests be authenticated, authorized, logged, and separated from the build system?
Managed cloud signingTeams wanting less infrastructure managementWhich signing APIs, integrations, roles, audit features, and certificate models are supported?

The infrastructure choice can be evaluated independently from the certificate identity decision. HSM Code Signing focuses on protected HSM based signing, while Remote Code Signing focuses on separating signing from the build environment and Cloud Code Signing focuses on managed cloud signing workflows.

Code Signing for CI/CD

Software companies that release frequently need signing to become a controlled pipeline operation rather than a manual step performed on a developer workstation.

Git
↓
Build
↓
Test + Security Checks
↓
Release Artifact
↓
Protected Signing Request
↓
Signing + Timestamp
↓
Verification
↓
Release

GitHub Actions

Use a signing integration that supports the authentication and command line or API workflow available to the pipeline.

GitLab and Jenkins

Keep signing credentials outside ordinary source control secrets where the signing architecture provides a protected key service.

Azure DevOps and TeamCity

Map production signing permissions to release stages rather than granting unrestricted signing capability to every build.

CI/CD capability varies by certificate provider and signing service. Current provider documentation should be checked before selecting an integration.

How to Keep the Private Key Out of the Build Server

A build server should create and validate artifacts without becoming the permanent home of the production signing key.

Avoid

Build Server → Private Key → Sign

Placing a production private key directly on a general purpose build server increases the consequences of build system compromise and complicates access control.

Preferred pattern

Build Server → Authenticated Signing Request → Protected Signing Environment → Signature

Remote signing, HSM, cloud HSM, managed signing, access policies, and service accounts can separate artifact creation from private key use.

Design goal: the pipeline should be able to request a production signature without receiving a copy of the private key.

Signing Authorization in a Software Company

Cryptographic protection is only one layer. The organization also needs to decide who can request and authorize production signing.

Developer

Creates and tests software but does not necessarily require unrestricted production signing access.

Build engineer

Maintains the pipeline that produces release artifacts and submits signing requests.

Release engineer

Controls production release stages and can be responsible for signing authorization.

Security team

Defines key protection, access controls, audit expectations, and incident response.

Release manager

Approves production releases where the organization's process requires human authorization.

CI/CD service account

Performs automated signing only within the permissions and release stages assigned to it.

Control principle: not every developer needs unrestricted access to the production signing key. RBAC, MFA, approval workflows, separation of duties, production restrictions, and audit logs can be combined according to the company's risk model.

Development Signing vs Production Signing

Development signing and production signing solve different operational problems and should not automatically share the same credentials, key location, or authorization path.

Development

Fast feedback and internal testing

  • Test certificates or internal signing mechanisms where appropriate
  • Local signing for development builds
  • Internal distribution
  • Debug and test artifacts
Production

Controlled public release

  • Production certificate
  • Protected private key
  • Controlled signing authorization
  • Timestamping
  • Release approval and auditability
  • Defined incident response

Code Signing for Software Releases

A release signing policy should operate on the final production artifact and preserve a traceable path from release candidate to distributed package.

01

Release candidate

Approve the candidate for production.

02

Final build

Create the exact artifact to distribute.

03

Artifact verification

Validate build output and release metadata.

04

Production signing

Submit the artifact to the protected signing environment.

05

Timestamp and publish

Verify the signature before distribution.

Timestamping Software Releases

Timestamping records evidence about when a signature was created through a timestamp authority. For production release operations, timestamping should be treated as part of the signing workflow rather than an optional afterthought.

RFC 3161

RFC 3161 defines a widely used time stamp protocol for obtaining cryptographic evidence associated with data and a trusted time source.

Signing time

The timestamp provides an additional time reference for the signature and can matter when a certificate later reaches its validity end.

Long term validation

Timestamping supports verification of historical signatures, subject to the applicable platform, certificate, revocation, and validation rules.

Important distinction: certificate expiration does not mean a properly timestamped historical signature should simply be treated the same way as a new signature made with an expired certificate. Verification behavior depends on the signature, timestamp, certificate chain, revocation information, and platform rules.

Code Signing for Software Updates

Software companies should define signing policy for every release path, not only for the first installer shipped to customers.

Patch releases

Sign maintenance releases using the same controlled production process.

Security updates

Keep emergency security releases inside the signing policy while allowing an explicitly documented emergency path.

Major versions

Use the production signing workflow for every major release artifact.

Auto updaters

Verify the update package before installation and maintain signing controls for the updater pipeline.

Installer updates

Sign updated installers after the final package is built and tested.

Rollbacks

Keep rollback artifacts signed and preserve the same release verification requirements.

Release pattern: Build → Test → Sign → Timestamp → Publish → Update.

Code Signing and Software Distribution

The distribution channel changes the surrounding release workflow, but the core requirement remains the same: distribute the artifact that was actually signed and preserve the ability to verify it.

Direct download

Website → signed installer. The downloaded artifact should match the signed release produced by the pipeline.

Enterprise distribution

Private repository → signed package. Enterprise consumers may apply additional package verification controls.

App stores

Platform specific signing and submission requirements apply in addition to any broader publisher identity controls.

Package managers

Package specific signing and verification can be separate from executable signing.

Auto update systems

Update packages should remain inside the same controlled signing and verification policy.

Customer delivery

Enterprise or direct customers should receive artifacts whose signatures can be independently verified.

Code Signing for Windows Software

Windows is a major Code Signing environment for software companies distributing applications, installers, libraries, drivers, scripts, and related artifacts.

Authenticode

Microsoft Authenticode provides the signing framework used for many Windows software artifacts.

SignTool

Microsoft SignTool is commonly used to sign and verify Windows artifacts in development and automated release environments.

Verification

Production pipelines should verify the resulting signature and certificate chain before publication.

Windows artifactTypical production step
EXESign final executable, timestamp, verify, then distribute.
DLLSign the final library before packaging or distribution.
MSISign the final installer and validate the signature before publishing.
CABApply the signing workflow required by the relevant Windows package process.
DriverFollow the platform's driver signing and submission requirements in addition to ordinary certificate selection.

Code Signing for Java and Cross Platform Software

Java software has its own signing toolchain and verification model. Cross platform products may therefore require more than one signing process even when the organization maintains a common release pipeline.

JAR files

Java archives can be signed with the Java signing toolchain and verified by the relevant runtime or consumer.

jarsigner

Use the Java toolchain appropriate to the release environment and verify the resulting signature before distribution.

Cross platform releases

A Windows installer, Java archive, macOS application, and firmware image may each require platform specific signing controls.

Code Signing for macOS and Apple Software

Apple software signing follows Apple's certificate, provisioning, and notarization ecosystem and should not be treated as identical to Windows Authenticode signing.

Signing identities

Use the Apple signing identity appropriate to the application and distribution workflow.

codesign and Keychain

Apple signing tools and Keychain based credential handling form part of the macOS release process.

Notarization

Notarization is a separate Apple distribution control and should be included in the release automation where applicable.

Code Signing for Drivers and Firmware

Software companies that ship device software, hardware utilities, drivers, kernel components, or firmware should treat platform specific signing requirements as a separate implementation track.

Drivers

Driver signing may involve additional platform and submission requirements.

Firmware

Firmware signing is tied to the device boot and update trust model.

Device software

Device utilities and companion software can have their own platform signing requirements.

Kernel components

Kernel level software can be subject to requirements that differ from ordinary application signing.

Do not assume: purchasing an EV Code Signing Certificate automatically satisfies every driver signing or platform submission requirement. Confirm the current platform specific rules before implementation.

Code Signing for SaaS and Web Software Companies

A SaaS company does not necessarily need public Code Signing simply because it develops software. The requirement becomes relevant when the company distributes signed artifacts outside the server side application environment.

Desktop clients

Native desktop applications and installers create a direct software distribution signing requirement.

Agents and CLI tools

Customer installed agents, command line tools, and native utilities may need signing for distribution.

Native applications

Applications delivered outside a browser can require platform specific signing and verification.

Browser components

Native browser components can introduce additional signing and platform controls.

Drivers

Device or endpoint products may need driver signing beyond ordinary application signing.

Desktop updates

Updater packages and patches should be included in the production signing policy.

Enterprise Software Code Signing

Organizations with multiple products and engineering teams need to treat signing as shared production infrastructure rather than as an isolated certificate purchase.

Multiple certificates

Separate certificates may be used for products, legal entities, environments, or platform specific requirements.

Central signing service

A central signing layer can keep private keys away from individual developer workstations and general purpose build servers.

RBAC and approvals

Assign production signing privileges to the roles that require them and introduce approval gates where appropriate.

Audit logs

Capture signing events and administrative actions for release traceability.

Certificate inventory

Track certificate owner, product, purpose, expiration, key location, and pipeline.

Incident response

Maintain revocation, replacement, re-signing, and release remediation procedures.

Managing Multiple Code Signing Certificates

A growing software company may operate more than one certificate because different products, legal entities, platforms, or environments have different identity and operational requirements.

Certificate inventoryRecord every production and development certificate.
OwnerAssign a responsible team or role for each certificate.
PurposeDocument the product, artifact type, platform, and environment.
ExpiryTrack renewal dates and current issuance validity.
Key locationRecord whether the key is in a token, HSM, cloud HSM, or signing service.
PipelineMap the certificate to the CI/CD workflow that uses it.
Revocation planDocument the response path for compromise or unauthorized use.

Code Signing Certificate Renewal

Renewal should be treated as a release engineering task, not a calendar reminder. The certificate may change, the key may need replacement, and the CI/CD integration may need credential rotation.

01

Monitor expiry

Track certificates before the production release window.

02

Plan renewal

Confirm identity, certificate type, key location, and CA process.

03

Obtain replacement

Complete validation and certificate issuance.

04

Update infrastructure

Rotate certificates and signing credentials in a controlled test.

05

Production release

Verify signing and restore the normal release path.

Current public certificate context: the CA/Browser Forum Code Signing Baseline Requirements state that Code Signing Certificates issued on or after March 1, 2026 must not exceed 460 days in validity. Do not treat that maximum as a universal product term because individual CAs and products can have shorter terms.

What Happens When a Signing Key Is Compromised?

The response plan should be documented before an incident. The objective is to stop unauthorized signing, contain the key, establish the impact, replace the signing identity where required, and restore a trusted release path.

01

Detect

Identify suspicious signing or key use.

02

Stop signing

Disable the affected signing path.

03

Isolate

Contain the signing environment and investigate.

04

Revoke and replace

Revoke the certificate if required and generate a replacement key.

05

Restore

Re-sign affected releases and restore production signing after review.

Operational requirement: the compromise plan should also cover release inventory, customer communication where required, pipeline review, access review, and evidence preservation.

Code Signing and Software Supply Chain Security

Code signing is one control in a broader software supply chain. It should connect to source control, dependency management, build security, artifact integrity, CI/CD security, signing key protection, release authorization, and distribution integrity.

Source control

Control who can change release source and configuration.

Dependencies

Review and manage third party components before release.

Build security

Protect build infrastructure and release credentials.

Artifact integrity

Verify the exact artifact that reaches the signing stage.

CI/CD security

Restrict pipeline identities and production signing access.

Key protection

Keep production private keys in controlled signing environments.

Release authorization

Separate build completion from production release approval where appropriate.

Distribution integrity

Publish the signed artifact and preserve verification controls.

Code signing protects the integrity and publisher identity of signed artifacts, but it does not replace secure development, dependency management, build security, or vulnerability testing.

How Much Does Code Signing Cost for a Software Company?

The certificate price is only one part of the total cost. A production signing program also has infrastructure, integration, operations, security, and incident response costs.

Certificate

IV, OV, or EV

Pricing depends on certificate type, issuing CA, term, validation model, and product.

Key protection

Token, HSM, or cloud signing

Hardware and signing service costs can materially change the implementation budget.

Infrastructure

Signing environment

Customer managed infrastructure may require HSM, network, access, monitoring, and operational resources.

Integration

CI/CD implementation

Pipeline integration, testing, credential rotation, and release automation require engineering time.

Operations

Certificate management

Inventory, renewal, replacement, access reviews, and audit records create recurring operational work.

Incident response

Compromise remediation

Replacement certificates, re-signing, investigation, and release remediation can become material unplanned costs.

Software Company Code Signing Architecture

The following architecture keeps the signing decision close to the release boundary while separating the production private key from ordinary development and build infrastructure.

Developers
↓
Source Control
↓
CI/CD Build
↓
Testing + Security Checks
↓
Release Artifact
↓
Signing Authorization
↓
HSM / Cloud HSM / Remote Signing
↓
Digital Signature
↓
Timestamp
↓
Signature Verification
↓
Release Repository
↓
Customers

How to Build a Code Signing Policy

A written policy turns signing from an individual task into a repeatable production control. It should define both technical controls and operational ownership.

  • Which artifacts require signing
  • Which certificates can sign production software
  • Who can request signing
  • Who can approve signing
  • Where private keys are stored
  • How signing is performed
  • How timestamps are applied
  • How signatures are verified
  • Certificate renewal process
  • Certificate revocation process
  • Key compromise response
  • Emergency signing procedure
  • Audit retention requirements
  • CI/CD controls and service accounts

Software Company Code Signing Checklist

Use this checklist before implementing or redesigning a production signing program.

  • Identify every artifact requiring signing
  • Identify target platforms
  • Select certificate type
  • Select the issuing CA
  • Choose private key protection
  • Decide local versus remote signing
  • Decide cloud versus customer infrastructure
  • Integrate the CI/CD pipeline
  • Implement timestamping
  • Define signing authorization
  • Implement audit logging
  • Document renewal
  • Document revocation
  • Create a compromise response plan
  • Test signature verification
  • Document the production release workflow

Choosing a Code Signing Provider

Provider selection should compare the certificate and the signing service together. A certificate may satisfy identity requirements while the associated infrastructure may not fit the company's CI/CD or key management model.

FactorQuestions to ask
CertificateDoes the provider offer the identity and validation model required by the product?
ValidationWhat does the CA verify and how long does the validation process normally take?
Key protectionCan the key use a token, customer HSM, cloud HSM, or managed signing service?
CI/CDWhich command line tools, APIs, plugins, runners, and pipeline integrations are supported?
TimestampingWhich timestamp service and signing workflow are supported?
PlatformsDoes the provider support the Windows, Java, driver, firmware, or other platform use cases required?
EnterpriseAre RBAC, approvals, audit, certificate inventory, and centralized administration available?
LifecycleHow are renewal, replacement, reissue, revocation, and key rotation handled?
PricingWhat is the combined cost of certificate, key protection, signing service, and operational integration?
SupportWhat operational and technical support is available during issuance and production incidents?

Software Company Code Signing Provider Comparison

This is a factual capability snapshot based on current official provider documentation reviewed for this page. It is not a ranking. Provider offerings and integrations can change, so the exact product configuration should be confirmed before purchase.

ProviderOrganization validationEVCloud signingHSMCI/CDDocumented infrastructure
DigiCertYesYesKeyLockerYesYesCertificate + KeyLocker
SectigoYesYesManaged optionsYesYes, product dependentCertificate Manager + token or HSM based storage
SSL.comYesYeseSignerYesYesCertificate + eSigner or supported HSM
GlobalSignYesYesOptions varyYesYes, workflow dependentCertificate + HSM or cloud options

DigiCert

DigiCert documents KeyLocker as cloud based private key storage with FIPS 140-2 Level 3 certified key storage and CI/CD integration. The documented workflow generates and stores the private key in KeyLocker before the certificate is associated with it.

Sectigo

Sectigo documents OV and EV Code Signing, Certificate Manager administration, token and HSM based storage, and key attestation workflows. Its current documentation also describes automated certificate management through Certificate Manager.

SSL.com

SSL.com documents IV, OV, Sole Proprietor EV, and EV Code Signing together with eSigner cloud HSM signing. Its current documentation includes CI/CD use through eSigner CKA and CodeSignTool.

GlobalSign

GlobalSign documents Code Signing workflows across platforms and an HSM based installation path. Its support documentation also includes automated Windows signing using SignTool with AWS Cloud HSM.

The source brief also listed Certum and HARICA. They are not included in the capability matrix because the current official documentation reviewed for this page did not establish enough provider specific evidence for every requested comparison column.

Which Code Signing Model Fits a Software Company?

The answer depends on release volume, team distribution, platform mix, infrastructure ownership, and the level of control required over the production signing environment.

Smaller teams

Protected local signing

A hardware token can fit teams with a limited number of authorized signing operators and a mostly local release workflow.

Engineering teams

Remote or cloud signing

Distributed teams and automated pipelines often need signing access without distributing physical tokens to every build environment.

Enterprise

Centralized HSM or managed signing

Multiple products and pipelines may justify centralized key protection, role based access, approval controls, and auditability.

Code Signing for Software Companies FAQ

These questions cover certificate selection, private key protection, automation, platform signing, lifecycle management, and operational security.

Does every software company need code signing?

No. A company does not need public Code Signing merely because it develops software. It becomes relevant when the company distributes artifacts such as desktop applications, installers, agents, CLI tools, native applications, drivers, scripts, Java packages, or other software that needs publisher identity and integrity verification.

Why should a software company sign its software?

Code signing establishes publisher identity within the certificate trust model and lets a verifier detect changes to the signed artifact. It does not prove that the software is vulnerability free or benign.

What type of Code Signing Certificate does a software company need?

The choice depends on the identity that should appear in the certificate, the validation model required, the platform use case, and the CA's current product requirements. Organization validated and Extended Validation certificates are common models for software publishers.

Should a software company use OV or EV Code Signing?

There is no universal answer. Compare the identity and validation requirements, platform use case, driver requirements, key protection model, signing workflow, and current CA and platform requirements before selecting a certificate.

Where should a software company's private signing key be stored?

The production key should be kept in a protected signing environment appropriate to the certificate and current CA requirements, such as a hardware token, HSM, cloud HSM, or qualifying signing service.

Should code signing keys be stored in an HSM?

An HSM can provide strong key protection and controlled signing operations, particularly for enterprise and automated environments. Whether it is appropriate depends on the company's infrastructure, certificate requirements, and operational model.

Can software companies use cloud code signing?

Yes. Current services such as DigiCert KeyLocker and SSL.com eSigner provide cloud based protected key and signing workflows. The provider's current certificate, key protection, authentication, integration, and audit requirements should be checked before implementation.

Can code signing be automated in CI/CD?

Yes, where the selected certificate and signing service support the required automation. The preferred architecture keeps the private key in a protected signing environment and allows the pipeline to submit an authenticated signing request.

How do software companies sign EXE files?

Windows software publishers commonly use the Authenticode toolchain, including SignTool, with a Code Signing Certificate and protected private key. The final EXE should be signed, timestamped, verified, and then distributed.

How do software companies sign MSI installers?

MSI installers can be signed as part of the Windows release workflow. The signing step should occur after the final installer has been built and tested, followed by timestamping and signature verification.

Can software companies sign Java applications?

Yes. Java applications and JAR files use the Java signing ecosystem and tools such as jarsigner. The certificate chain, signature, and timestamp should be verified as part of the release process.

How do software companies protect code signing keys?

Use protected key storage, strong authentication, least privilege, signing authorization, audit logging, controlled production access, and a documented compromise response. Avoid treating an exportable PFX file as the enterprise production security model.

Should developers have access to the production signing key?

Not necessarily. A software company can separate development from production signing and allow CI/CD service accounts or authorized release roles to invoke production signing through controlled workflows.

How should a software company handle certificate renewal?

Monitor expiry, plan the replacement, complete validation, update the protected signing environment, test the pipeline, and verify a production release before relying on the replacement certificate.

What happens if a software company's signing key is compromised?

Stop signing, isolate the environment, investigate, revoke the certificate when required, generate a replacement key, obtain a replacement certificate, re-sign affected releases where appropriate, review the pipeline, and restore production signing only after the new control set is validated.

How much does code signing cost for a software company?

Total cost includes the certificate, key protection, signing infrastructure, CI/CD integration, certificate management, security controls, and potential incident response costs. A certificate price alone does not represent the total cost of ownership.

Can one Code Signing Certificate be used for multiple products?

That depends on the certificate, organization, platform requirements, and the company's release policy. Multiple products can sometimes share an organizational signing identity, but separate certificates may be appropriate for product separation, legal entities, environments, or operational controls.

Should development and production signing use separate certificates?

Separating development and production signing can reduce the chance that development credentials become production credentials. The exact certificate strategy should reflect the company's platform and CA requirements.

How does code signing fit into software supply chain security?

Code signing protects the identity and integrity of signed artifacts. It should complement source control security, dependency management, build security, artifact verification, CI/CD security, key protection, release authorization, and distribution controls.

What is the difference between cloud, remote, and HSM Code Signing?

HSM Code Signing focuses on protected HSM based key storage and signing. Remote Code Signing focuses on separating the signing operation from the build environment. Cloud Code Signing generally describes a managed cloud signing architecture in which protected keys and signing services are operated through a cloud service.

Explore the Code Signing Architecture

The resources below divide the broader software publisher problem into certificate selection, signing infrastructure, implementation, platform workflows, and key security.

Cloud Code Signing

Cloud based signing architecture, protected keys, automation, and CI/CD workflows.

Remote Code Signing

Signing workflows that keep the production key separate from distributed build environments.

HSM Code Signing

HSM based private key protection, enterprise signing architecture, and controlled access.

DigiCert KeyLocker Code Signing

Cloud based protected key storage and signing workflow for automated release environments.

SSL.com OV Code Signing Certificate

Organization validated certificate information for software publishers.

SSL.com EV Code Signing Certificate

Extended validation certificate information and production signing considerations.

GlobalSign OV Code Signing Certificate

Organization validated GlobalSign certificate information.

GlobalSign EV Code Signing Certificate

Extended validation GlobalSign certificate information.

Sectigo OV Code Signing Certificate

Organization validated Sectigo certificate information.

Sectigo EV Code Signing Certificate

Extended validation Sectigo certificate information.

Your software release process should make signing predictable, protected, and auditable.

Start with the decision that matches your current release problem, then connect certificate identity, private key protection, authorization, automation, timestamping, and lifecycle controls into one production workflow.

Choose a Certificate

For companies still deciding between certificate identity and validation models.

Review Certificate Options

Compare Signing Infrastructure

For teams deciding between token, HSM, remote, and cloud signing.

Review Infrastructure Models

Design Your CI/CD Signing Workflow

For teams automating production releases while keeping private keys protected.

Review Signing Architecture