Skip to content

feat: add key tagging for HSM keys + RotateName cache - #1210

Open
Manuthor wants to merge 13 commits into
hsm_delegation_benchsfrom
hsm_delegation_benchs_delegated
Open

Manuthor wants to merge 13 commits into
hsm_delegation_benchsfrom
hsm_delegation_benchs_delegated

Conversation

@Manuthor

Copy link
Copy Markdown
Contributor

No description provided.

@Manuthor
Manuthor deployed to xks-remote-approval September 24, 2026 18:36 — with GitHub Actions Active
…nd spawn_blocking

- Introduce per-slot PKCS#11 session pooling (checkout_session/checkin_session)
  in SlotManager, eliminating C_OpenSession/C_CloseSession lock churn
- Wrap synchronous PKCS#11 FFI operations (sign, verify, encrypt, decrypt,
  get_key_type, get_key_metadata) in tokio::task::spawn_blocking in BaseHsm
- Remove duplicate get_key_type query in HsmStore::sign and signature_verify
- Add concurrent_sign_does_not_degrade regression test in base_hsm / softhsm2
- Update delegated load benchmark script, results, and documentation
… workflow

- Remove the check-only 'Log index' job (log-reference) from main_base.yml,
  which only failed PR/push CI when documentation/docs/configuration/log-reference.md
  drifted from source call-sites.
- Add a new reusable workflow update-log-index.yml, modeled on
  nix-update-hashes.yml: checkout, run `mise run docs:log-index`
  (non-interactive, deletes stale entries), commit if changed ([skip ci]),
  rebase, and push.
- Wire it into nightly.yml (non-tag refs only, same guard as
  update-nix-hashes) and release.yml (sequenced after update-nix-hashes on
  the release branch, folded into trigger-packaging's needs).
@Manuthor
Manuthor force-pushed the hsm_delegation_benchs_delegated branch from 9f2586c to 9ab131e Compare September 25, 2026 03:43
'cargo clippy-all' (--all-features) failed to compile: the 4-param
aes_key_template! arm referenced $label in its body without binding it in
the macro pattern, and no arm matched the 5-arg call site in
Session::generate_aes_key (crate/hsm/base_hsm/src/session/aes.rs:138),
which is unconditionally compiled (not behind any feature gate) but only
reached by --all-features because it depends on the AWS CloudHSM loader
crate, which is only pulled in under --all-features.

- Add the missing $label parameter to the macro arm so CKA_LABEL uses the
  tagged label and CKA_ID uses the raw key id, matching the arm's existing
  body and the other two arms' conventions.
- Fix the 3 tests_shared.rs call sites still using the pre-existing
  4-arg generate_aes_key() signature (missing the 'tags' parameter added
  by the HSM key labeling feature) by passing None (untagged test keys).
- cargo fmt (pre-commit hook) additionally reformatted pre-existing
  indentation drift in session_impl.rs, unrelated to this fix.
@Manuthor
Manuthor deployed to xks-remote-approval September 25, 2026 03:55 — with GitHub Actions Active
@Manuthor
Manuthor deployed to xks-remote-approval September 25, 2026 06:44 — with GitHub Actions Active
@Manuthor
Manuthor deployed to xks-remote-approval September 25, 2026 08:43 — with GitHub Actions Active
@Manuthor
Manuthor deployed to xks-remote-approval September 25, 2026 10:10 — with GitHub Actions Active
@Manuthor
Manuthor deployed to xks-remote-approval September 25, 2026 10:44 — with GitHub Actions Active

This branch was successfully deployed

1 active deployment
xks-remote-approval — f992ce52 Deployed Sep 25, 2026 by Manuthor via main / test / AWS XKS — remote server #8781
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant