[5.24.0] - 2026-06-18
๐ Security
- COSMIAN-2026-019 (Low): Upgrade
mysql_async0.36โ0.37 to removeproc-macro-error2(RUSTSEC-2026-0173)
๐ Features
JOSE / REST Crypto API
- Support JWK import via
POST /v1/crypto/keysfor symmetric (oct), EC (P-256/384/521), RSA, and OKP (Ed25519) key types (#979) - Add
POST /v1/crypto/keys/unwrapendpoint for RSA-OAEP CEK unwrapping without key exposure - Allow
SignatureVerifyon private keys;RSA-OAEP encryptwith imported private keys (#979) - Accept HMAC keys longer than minimum required size (per RFC 7518 ยง3.2) (#979)
OpenTelemetry Metrics
- Add 9 OTLP metrics:
kms.database.operations.total,kms.database.operation.duration,kms.http.requests.total,kms.http.request.duration,kms.active.connections,kms.objects.total,kms.keys.active.count,kms.cache.operations.total,kms.hsm.operations.total(#975) - Redis backends use O(1) counter keys; 30-second cron sync + 5-minute reconcile for drift correction
OtelHttpMetricsmiddleware measures true client-perceived latency with low-cardinality path labels
Windows / CNG KSP / Intune
- Implement Windows Service Control Manager (SCM) integration with graceful shutdown (#924)
- Implement
Export-IntunePrivateKey(PKCS#8 DER) andImport-IntunePrivateKey(PEM/DER/CNG) for Intune PFX workflows (#924) - Add
ckms cng verify --dll <path>andckms pkcs11 verify --dll <path>(replace standalone binaries); bundlecosmian_cng.dllin NSIS installer (#924) - Query
vendor_identificationdynamically via KMIPQueryinstead of hardcoding in CNG KSP and PKCS#11 (#924) - Grant default key usages for PrivateKey/PublicKey (#1011)
CKMS CLI
- Replace
reqwestwithhyper + hyper-openssl, enabling PQC (ML-DSA-44) TLS connections (#1015) - Add
ckms activatesubcommand to all key/certificate/secret-data/opaque-object modules
PKCS#11 / VeraCrypt
- Expose KMS symmetric keys tagged
disk-encryptionasCKO_DATAtoken objects for VeraCrypt; configurable viaCOSMIAN_PKCS11_DISK_ENCRYPTION_TAG - Fix
batch_getnot returning tags: add explicitGetAttributes(tags)call to populateCKO_DATAlabels
EDB PostgreSQL TDE
- Add EDB PostgreSQL Advanced Server TDE integration with
pykmipandthalesKMIP variants
Server Configuration
- Log OpenSSL CPU hardware-acceleration flags (AES-NI, AVX, SHA, VAES, RDRAND) at startup (#963)
- Add secret management for KMS config files (
secret://URIs for AWS/Azure/Vault/KMS backends) (#932)
๐ Bug Fixes
VAST Data / KMIP 1.4
- Fix
GetAttributessilently dropping all vendor attributes (includingOperationPolicyName) for KMIP 1.4 default all-attributes requests - Fix
AddAttribute(OperationPolicyName)dropped; now stored and returned as VendorAttribute - Allow KMIP 1.x
vendor_identification="KMIP1"attributes to be overwritten viaAddAttribute
CKMS CLI
- Translate IANA TLS 1.2 cipher suite names to OpenSSL format; skip unknown ciphers (#1015)
- Use
kind="raw-dylib"for BCrypt link to bypassreqwest/ringimport-library conflicts (#1015)
HSM
- Fix
C_Finalizeforwarding to real HSM library causingCKR_DEVICE_REMOVEDon subsequent sessions (#924)
KMIP / XML
- Fix TTLV XML deserializer: handle explicit
type="Structure"on self-closing elements - Fix XML response comparison:
result_reasonin v1.4,KeyMaterial::ByteStringempty match,response_payloadpresence mismatch - Fix vector runner for MariaDB/Percona using hardcoded MySQL URL
โป๏ธ Refactor
- Consolidate
ActivateKeyActioninto shared struct across 8 CLI modules; extract shared encrypt/decrypt, wrap/unwrap, derive-key, and HTTP client helpers (apply_default_headers,process_error_response,send_ttlv_request) - Eliminate ~9,100 LOC duplicate tests from
cosmian_kms_cli_actions; unify KMIP XML 1.4/2.1 test infrastructure with shared macros
๐งช Testing
- Add FPE E2E Playwright tests (key creation, encrypt/decrypt roundtrip, tweak validation, integer/float types)
- Add anonymization E2E tests (Argon2 hash, Laplace/Uniform/Gaussian noise, aggregate number/date)
- Add FortiGate KMIP 1.0 credential/locate non-regression vectors (#824)
- Add JOSE interoperability suite with Python
jwcrypto(directions A/B/C) - Add EDB TDE integration vectors (pykmip, thales, key rotation)
- Add InterSystems IRIS mTLS integration test: KMS as external TLS key-store,
%SYSTEM.Security.SSLConfigsclient auth, full KMIP get/locate/destroy roundtrip (#965) - Add VeraCrypt PKCS#11 integration tests (
pkcs11-tooldiscovery, volume create/mount) - Add CNG KSP end-to-end integration in
test_windows.yml - Port KMIP activate lifecycle, access control, privilege bypass, and UID injection tests to
ckmsbinary level
โ๏ธ Build
- Adopt MISE task runner: 52 tasks + 7 shared libraries under
.mise/; migrate all automation from.github/scripts/(#1001) - Pin
rust-overlayURL with SHA-256 inshell.nix; fix Windows vcpkg manifest-mode paths - Fix Nix
.cratesource unpacking (builtins.fetchTarballโpkgs.fetchurl) - Fix AWS SSM parameter name collision between concurrent CI runs (#1015)
- Add
test-cng-kspjob totest_windows.yml(#924) - Skip Docker startup for test types that don't require a running backend
- (deps-dev) Bump vite (#1012)
๐ Documentation
- Add EDB PostgreSQL TDE integration guide
- Add InterSystems IRIS integration guide: architecture, mTLS configuration,
%SYSTEM.Security.SSLConfigssetup, and KMIP operation reference (#965) - Add data anonymization/tokenization guide with JSON examples
- Add Intune PFX import workflow and Mermaid architecture diagrams to CNG KSP page
- Regroup JOSE docs; add
POST /v1/crypto/keys/unwrapendpoint reference - Update VAST Data integration docs (OPN troubleshooting, verified-date update)
- Add tokenize endpoints to OpenAPI specification (#907)
- Fix CLI flag, AWS SSM note, and ckms command in secret-backends docs (#1017)