SSL certificate maximum validity is being reduced to 200 days from March 2026. Read more →

Code Signing certificate for Azure Key Vault

Sign EXE, DLL, MSIX, PowerShell and NuGet packages directly from Azure Key Vault. No USB token needed. AzureSignTool replaces signtool.exe and authenticates to your Key Vault, where your private key is stored on a FIPS 140-2 Level 3 HSM. The key never leaves the HSM.

Azure Key Vault Premium costs approximately $5/month with near-unlimited signings. That is dramatically cheaper than CA-hosted cloud signing services like DigiCert KeyLocker (~$300/year + signing limits on top of the certificate).

What is Azure Key Vault Code Signing?

Azure Key Vault is Microsoft's cloud-based key management service. In the Premium tier, keys are stored on FIPS 140-2 Level 3 certified HSM hardware. The private key is generated inside the HSM and never leaves it. All signing operations happen on the HSM itself.

AzureSignTool ↗ is a free, open-source drop-in replacement for signtool.exe that authenticates to Azure Key Vault using a service principal or managed identity. It supports Authenticode signing for all standard Windows file types.

Since June 2023, all Code Signing certificates (OV and EV) require HSM-backed key storage. Azure Key Vault meets this requirement. Software-only .pfx files are no longer permitted by any Certificate Authority.

OV vs EV Code Signing with Azure Key Vault

OV Code Signing EV Code Signing
Validation Organisation Extended (stricter)
SmartScreen reputation Builds over time with downloads Starts with higher reputation
Kernel-mode driver signing No Yes (required by Microsoft)
Azure Key Vault Premium tier (RSA-HSM keys) Premium tier (RSA-HSM keys)
Issuance time 1–3 business days 1–5 business days
Maximum validity 459 days 459 days

Azure Trusted Signing vs your own certificate

Microsoft offers Azure Trusted Signing at ~$10/month as an alternative. It handles the certificate for you. Here is why using your own certificate in Azure Key Vault is usually the better choice:

Your own certificate (Azure Key Vault)

  • Portable: not locked to Azure
  • Works with any signing tool (AzureSignTool, Jsign, signtool)
  • You own the certificate and the identity
  • Required for some enterprise and government workflows
  • Choose your CA (DigiCert or GlobalSign)
  • No monthly subscription for the certificate itself

Azure Trusted Signing

  • Managed by Microsoft, simpler setup
  • ~$10/month subscription
  • Locked to Azure ecosystem
  • Microsoft controls the certificate identity
  • Not accepted in all enterprise environments

Compatible Certificate Authorities

Only DigiCert and GlobalSign Code Signing certificates work with Azure Key Vault. Sectigo/Comodo certificates are not compatible because Azure Key Vault does not support their key attestation format.

FairSSL sells both DigiCert and GlobalSign Code Signing certificates and provides installation guides for both CAs with Azure Key Vault. We recommend the CA that best fits your requirements and budget.

File types you can sign with Azure Key Vault

.exe.dll.msi.msix.cab.ps1 (PowerShell).appx.vsixNuGet packages.sys (drivers, EV only)

For Office macro signing (.xlsm, .docm, .pptm), see our Office macro signing guide (requires 32-bit signing tools).

Quick setup overview

1

Buy a Code Signing certificate from FairSSL

Choose DigiCert or GlobalSign, OV or EV. Select "Azure Key Vault" as delivery method.

2

Create Azure Key Vault (Premium tier)

Create an RSA-HSM 4096-bit key, non-exportable. Premium SKU is required for HSM-backed keys.

3

Generate CSR from Key Vault

Create a certificate request with Subject CN=Your Company Name, EKU 1.3.6.1.5.5.7.3.3 (Code Signing), Content Type: PEM.

4

Submit CSR and complete validation

FairSSL handles the organisation validation (often completed same day for Danish and Swedish companies).

5

Import signed certificate into Key Vault

Merge the CA's response into the pending certificate request in Azure Key Vault.

6

Install AzureSignTool and sign

dotnet tool install --global AzureSignTool

FairSSL provides complete step-by-step installation guides with screenshots for both DigiCert and GlobalSign after purchase.

Full Azure Key Vault setup guide with CLI commands and CI/CD examples →

Azure DevOps pipeline example

AzureSignTool integrates into Azure DevOps, GitHub Actions and GitLab CI. Here is a minimal Azure Pipelines YAML example:

- task: DotNetCoreCLI@2
  displayName: 'Install AzureSignTool'
  inputs:
    command: 'custom'
    custom: 'tool'
    arguments: 'install --global AzureSignTool'

- script: |
    AzureSignTool sign \
      -kvu $(KeyVaultUrl) \
      -kvc $(CertificateName) \
      -kvt $(TenantId) \
      -kvi $(ClientId) \
      -kvs $(ClientSecret) \
      -fd sha256 \
      -tr http://timestamp.digicert.com \
      -td sha256 \
      "$(Build.ArtifactStagingDirectory)\**\*.exe"
  displayName: 'Sign executables'

Store Key Vault credentials as pipeline variables or use Azure RBAC with a managed identity for keyless authentication. Required Key Vault roles: Key Vault Crypto User, Key Vault Certificate User, Key Vault Secrets User.

Code Signing certificates for Azure Key Vault

OV Code Signing

DigiCert

DigiCert CodeSign OV

OV

DigiCert OV Code Signing. Works with Azure Key Vault.

from €475 /year See details →
GlobalSign

GlobalSign CodeSign

OV

GlobalSign OV Code Signing. Works with Azure Key Vault.

from €375 /year See details →

EV Code Signing

Frequently asked questions about Azure Key Vault Code Signing

Find answers to the most common questions about SSL certificates and FairSSL.

No. Azure Key Vault does not support the key attestation format used by Sectigo and Comodo. Only DigiCert and GlobalSign Code Signing certificates are compatible with Azure Key Vault HSM-backed keys. FairSSL sells both brands.
Yes, for code signing you need the Premium SKU. The Standard SKU cannot create RSA-HSM keys (hardware-backed, non-exportable). The Premium tier costs approximately $5/month including 500,000 cryptographic operations.
Azure Trusted Signing (~$10/month) is a separate Microsoft service where Microsoft manages the certificate. With Azure Key Vault, you own and control your own certificate from a CA you choose (DigiCert or GlobalSign). Your certificate is portable, works with any signing tool, and is not locked to Azure infrastructure. Trusted Signing locks you into Microsoft's ecosystem.
SmartScreen evaluates publisher reputation, not just whether the signature is valid. EV Code Signing starts with higher reputation so the download warning disappears faster or may not appear at all. OV Code Signing builds reputation gradually with each clean download. The key storage method (Key Vault vs USB token) has no effect on SmartScreen reputation.
Code Signing certificates have a maximum validity of 459 days (approximately 15 months), set by the CA/Browser Forum. If you used RFC 3161 timestamping when signing (and you should always do this), your signatures remain valid indefinitely after the certificate expires. You only need to renew when you want to sign new files.
Yes. AzureSignTool works in Azure DevOps, GitHub Actions, GitLab CI, and any pipeline that can run a .NET process. You authenticate to Key Vault using a service principal or managed identity. See the pipeline example above.
Yes, but Office VBA signing requires the 32-bit version of AzureSignTool or the x86 .NET host. See our Office macro signing guide for the complete setup.

Ready to sign from Azure Key Vault?

Create a free account and issue your first certificate in under 10 minutes.