Skip to main content
The CryptoHub Client Library CNG Key Storage Provider (cryptohub-cng.dll) lets Windows applications perform cryptographic operations against CryptoHub-managed keys. It exposes those keys through the standard Windows CNG (Cryptography API: Next Generation) NCrypt interface. Once the provider is registered on the machine and cryptohub.json is in place, applications open the registered provider Futurex CryptoHub Key Storage Provider by name and use CryptoHub-backed keys through normal NCrypt calls. This makes CryptoHub available to the standard Windows key ecosystem, including Authenticode code signing (SignTool and PowerShell Set-AuthenticodeSignature), TLS through the Windows certificate store, and ADCS- and Intune-family certificate services. The provider reaches CryptoHub over the CryptoHub v2 REST API on port 443, and it exposes post-quantum ML-DSA and ML-KEM operations alongside classical RSA, ECC, and symmetric algorithms.
This guide documents the CryptoHub Client Library CNG provider (cryptohub-cng.dll), configured with cryptohub.json. It is the CNG sibling of the Linux CryptoHub PKCS#11 module (libcryptohub-pkcs11.so); both belong to the CryptoHub Client Library family, reach CryptoHub over the same REST transport, and share a single cryptohub.json file.

Choosing the right CNG provider

Futurex ships more than one Windows CNG provider. They target different backends and are configured differently. Choose the provider that matches your Futurex platform.
ProviderLibraryConfiguration fileBackend
CryptoHub Client Library CNG (this guide)cryptohub-cng.dllcryptohub.jsonCryptoHub 7.2 and later, over the v2 REST API
FXCL CNG (legacy)libfxcl-cng.dllconfig.jsonCryptoHub 7.0.3.x and legacy KMES, over the Host API
Futurex CNG (FXCNG / FxclCng)FXCNGHost-API configurationExcrypt HSM, direct Host-API connection
The CryptoHub Client Library CNG provider is the successor to the legacy FXCNG / FxclCng client. Unlike those Host-API providers, it authenticates over the CryptoHub v2 REST API on port 443 rather than the legacy Host-API port.

How the provider is delivered

The provider ships inside the Windows endpoint download, not as a standalone package. You deploy a CryptoHub Client Library CNG service, add a Windows endpoint to it, and download a zip file that contains the provider DLL, its installer and management tools, a pre-filled cryptohub.json, and the TLS material for that endpoint. See Installation for the full workflow.
ItemPurpose
cryptohub-cng.dllThe CNG Key Storage Provider that Windows loads after registration. Applications reach CryptoHub-backed keys through this KSP.
cng-install.exeAdministrator installer that copies and registers the KSP.
cng-uninstall.exeAdministrator uninstaller that unregisters the KSP.
cng-manager.exeInteractive utility for listing, generating, deleting, signing, and verifying keys.
cryptohub.jsonYour deployment configuration for this endpoint, pre-filled with the connection, authentication, and TLS settings.
TLS materialThe CA and client TLS files the provider uses to reach and authenticate to CryptoHub.
The Windows endpoint download also carries the PKCS#11 module (cryptohub-pkcs11.dll) and its tools; the PKCS#11 module and CLI are not required for the CNG workflow.

How applications find CryptoHub keys

Unlike PKCS#11, CNG applications do not take a module path or a connection URI. Once the Futurex CryptoHub Key Storage Provider is registered on the machine, applications find the CryptoHub-backed key implicitly. They locate it through a certificate in the Windows certificate store whose private-key reference (CERT_KEY_PROV_INFO) names the CryptoHub provider. When Windows resolves that key reference, it routes the private-key operation through the provider to CryptoHub, and any CNG-aware application can use the key without further configuration. The private key never leaves CryptoHub.

Supported platforms

The provider is a Windows Key Storage Provider and runs on Windows only. For non-Windows hosts, use the CryptoHub PKCS#11 module instead.

Documentation structure

This guide walks you through installing, configuring, and using the CryptoHub Client Library CNG provider.
  • Installation: Deploy the service, provision a Windows endpoint, install and register the provider, and verify it reaches CryptoHub.
  • Configuration: Configure the cng block and the shared cryptohub.json settings, including key protection and default usages.
  • Troubleshooting: Diagnose registration, configuration, connectivity, authentication, and key-protection problems.
  • Appendix A: Reference the algorithms the provider supports.