Skip to main content

Module backend

Module backend 

Source
Expand description

TPM 2.0 backend for [confium-store].

Implements StoreBackend and StoreInstance on top of tss-esapi. The current revision wires the trait and configuration plumbing; storage operations return NotImplemented. The real tss-esapi calls land behind the tpm feature flag in the next revision — see TODO.roadmap/18-hardware-keystore-backends.md.

§Wire name

The backend advertises itself as "tpm" so the FFI create path can look it up via confium_store::backend::find.

§Key-handle semantics

Hardware backends typically do not return raw key bytes; they return handles (TPM persistent object handles). Per the roadmap, put_secret will seal the caller-supplied bytes under the parent key and store the resulting object handle; get_secret will return the handle as the opaque *mut c_void. Signature/KEM plugins that want to actually use the key invoke the HSM-style cfmp_sign_with_handle symbol described in TODO.roadmap/18-hardware-keystore-backends.md. The skeleton does not yet wire this — every operation is a NotImplemented stub.

Structs§

TpmBackend
Factory for the TPM backend. Stateless — all per-keystore state lives in TpmInstance.
TpmInstance
One open TPM-backed keystore connection.