Register Hardware Security Modules — Thales, Entrust, Utimaco, Futurex, Securosys, YubiHSM, AWS, Azure, Google and IBM cloud HSMs, or generic PKCS#11 — as integrations, test reachability, and reference them from certificate profiles. HSM-anchored vault keys are roadmap.
Register the Hardware Security Modules in your estate — network appliances, cloud HSM services, or a generic PKCS#11 device — as Versus integrations, so certificate policy can name the HSM that is meant to hold a key.
This covers HSM Sources, under the Versus Platform workspace — Integrations → HSM Sources (/integrations/hsm, administrator access; the page itself is titled HSM Integrations).
Scope today. An HSM source is a connection record: type, endpoint, partition or slot, and credentials, with a reachability test. It is referenced by TLS certificate profiles and App Builder entitlements. Versus does not yet open PKCS#11 sessions, generate keys inside the HSM, or anchor its own encryption keys there — see What is roadmap.
Twelve types, grouped in the picker as Appliance, Cloud, and Other. Choosing a type pre-fills the port and relabels the partition field.
| Type | Default port | Partition field | Reachability test |
|---|---|---|---|
| Thales Luna Network HSM | 1792 | Partition Name | TCP |
| Thales payShield 10K | 1792 | Partition Name | TCP |
| Entrust nShield Connect | 9004 | Slot Label | TCP |
| Utimaco SecurityServer | 2443 | Partition / Slot | TCP |
| Futurex KMES Series | 443 | Partition / Slot | TCP |
| Securosys Primus HSM | 443 | Partition / Slot | TCP |
| Yubico YubiHSM 2 | 12345 | Partition / Slot | TCP |
| AWS CloudHSM | 2223 | Key Group / HSM ID | HTTPS |
| Azure Dedicated HSM / Managed HSM | 443 | Key Group / HSM ID | HTTPS |
| Google Cloud HSM (Cloud KMS) | 443 | Key Group / HSM ID | HTTPS |
| IBM Cloud HSM | 443 | Key Group / HSM ID | TCP |
| Other / Generic PKCS#11 | 443 | Partition / Slot | TCP |
Click Add HSM and fill in:
Production Luna HSM.cluster-id.cloudhsm.amazonaws.com.Password, PIN, and API key are encrypted at rest and write-only: the API never returns them, and leaving a field blank when editing keeps the stored value. Vendor-specific extras — a client-certificate path, cluster ID, or region — go in the source's extra_config JSON via the API (/api/integrations/hsm-sources/). Sources are tenant-scoped in multi-tenant deployments.
The refresh icon on a source card runs Test connection. For AWS CloudHSM, Azure HSM, and Google Cloud HSM Versus issues an HTTPS GET to https://<host>:<port>/ (honouring Verify SSL) and treats any HTTP response — even a 4xx — as reachable, since the management endpoint answered. For every other type, including IBM Cloud HSM and generic PKCS#11, it opens a plain TCP connection to the host and port with a 10-second timeout.
The result is stored on the source as Reachable, Connection error (with the error text), or Not tested, with a last-tested timestamp; the page's summary strip counts Total / Reachable / Errors. This is a network-reachability check only — it does not log in to a partition or exercise a key.
app-master-v1). The escrow model already carries hsm_source, hsm_key_handle, and a kek_ref of the form hsm:<source_id>:<label> for the HSM-backed path, and the certificate inventory carries an hsm_backed flag, but an escrow row tagged with an HSM KEK is refused at unwrap ("HSM-backed keys require Phase 3").Versus models HSM custody, but its own encryption keys are software keys. The Versus Vault's master KEK — the key that unwraps every per-secret data-encryption key — is a strong software key delivered by your secrets manager, and binding it to an HSM is a roadmap item, as Day in the Life of a Secret states. The same applies to CLM's key-escrow KEK (the "Phase 3" path above) and to non-exportable TLS keys generated inside an HSM. Do not read an HSM source's Reachable status as HSM-backed key protection. For the vault's current envelope-encryption design, see Vault Hardening.
| Item | Detail |
|---|---|
| Location | Integrations → HSM Sources (/integrations/hsm), admin only |
| Types | 7 appliance, 4 cloud, 1 generic PKCS#11 (12 total) |
| Secret fields | Password, Partition PIN, API Key — encrypted at rest, write-only |
| Test connection | HTTPS probe for AWS / Azure / Google; TCP port check for all others (10 s timeout) |
| Status values | Not tested, Reachable, Connection error |
| Referenced by | Certificate profile custody = HSM-Backed; App Builder hsm_source entitlement |
| Live crypto operations | None yet — no PKCS#11 session, no in-HSM key generation |
| Vault master KEK on HSM | Roadmap |
Related: Certificates · Certificate Authorities · Secret Vault · External Vault Integrations · App Builder overview