Skip to content

refactor: simplification signature logic - #906

Draft
jot2re wants to merge 105 commits into
mainfrom
tore/chore/simplification-verf-logic
Draft

jot2re wants to merge 105 commits into
mainfrom
tore/chore/simplification-verf-logic

Conversation

@jot2re

@jot2re jot2re commented Oct 1, 2026 •

Copy link
Copy Markdown
Collaborator

Description

This PR simplifies the logic to just fail in validation of setups that have never been implemented. I.e. if EIP712 domain is missing and signature and external_signature is set is a failure.

The PR also includes a fix to ensure that the central KMS can boot if there is no signing key present (there was a bug before preventing it from doing so), and the PR also includes a refactoring to ensure that not just an ECDSA key is loaded in recovery mode, but all verification keys that are needed to recover.

Also fixes a small issue with test_validate_new_mpc_epoch_request where the test description did not match what it did.

Related issue(s)

PR Checklist

Tick all that apply — by ticking I attest the item holds; justify any deviation in the description above.

  • Title follows conventional commits (e.g. chore: ...).
  • Tests added for every new pub item and test coverage has not decreased.
  • Public APIs and non-obvious logic documented; unfinished work marked TODO(#issue).
  • unwrap/expect/panic only in tests or for invariant bugs (documented if present).
  • No dependency version changes OR (if changed) only minimal required fixes.
  • No architectural protocol changes OR linked spec PR/issue provided.
  • No breaking deployment config / Helm chart / telemetry changes OR devops label + infra notified + review requested.
  • No breaking gRPC / serialized data changes OR commit marked with ! and affected teams notified.
  • No modifications to existing versionized structs OR backward compatibility tests updated.
  • No critical business logic / crypto changes OR ≥2 reviewers assigned.
  • No new sensitive data fields OR Zeroize + ZeroizeOnDrop implemented.
  • No new public storage data OR data is verifiable (signature / digest).
  • No unsafe; if unavoidable: minimal, justified, documented, and test/fuzz covered.
  • Strongly typed boundaries: typed inputs validated at the edge; no untyped values or errors cross modules.
  • Self-review completed.

Dependency Update Questionnaire (only if deps changed or added)

  1. Ownership changes or suspicious concentration?
  2. Low popularity?
  3. Unusual version jump?
  4. Lacking documentation?
  5. Missing CI?
  6. No security / disclosure policy?
  7. Significant size increase?

More details in CONTRIBUTING.md and AGENTS.md.

@cla-bot cla-bot Bot added the cla-signed The CLA has been signed. label Oct 1, 2026
@jot2re
jot2re changed the base branch from main to tore/feat/support-multiple-signcryption October 1, 2026 08:28
@github-actions

github-actions Bot commented Oct 1, 2026 •

Copy link
Copy Markdown

Consolidated Tests Results 2026-10-01 - 13:45:56 from rust-testing

Failed Tests

Failed Tests ❌ Fail Message
❌ engine::storage_material_verification::tests::private_metadata_scheme_signatures_are_verified thread 'engine::storage_material_verification::tests::private_metadata_scheme_signatures_are_verified' (52616) panicked at core/service/src/engine/storage_material_verification.rs:2364:13

Github Test Reporter by CTRF 💚

🔄 This comment has been updated

jot2re and others added 10 commits October 1, 2026 13:20
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Refactor signcryption process to use Zeroizing for payload.

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Base automatically changed from tore/feat/support-multiple-signcryption to main October 2, 2026 10:44

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

cla-signed The CLA has been signed.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant