Skip to content

feat(identity): add sign and verify subcommands#63

Open
geekgonecrazy wants to merge 2 commits into
releasefrom
feat/sign-command
Open

feat(identity): add sign and verify subcommands#63
geekgonecrazy wants to merge 2 commits into
releasefrom
feat/sign-command

Conversation

@geekgonecrazy
Copy link
Copy Markdown
Contributor

Summary

  • atomic identity sign [--identity <name>] < data — reads stdin, signs with the identity's Ed25519 key, outputs JSON with signature (base64), public_key (base32), identity name, and alg: "ed25519"
  • atomic identity verify --signature <base64> --public-key <base32> < data — exits 0 on valid, 1 on invalid
  • --identity on sign defaults to whoami; both commands plug into the existing IdentityStore / KeyPair / PublicKey primitives with no new crypto code

Test plan

  • echo -n "hello" | atomic identity sign produces valid JSON with expected fields
  • Round-trip: sign output pipes into verify and exits 0
  • Tampered data causes verify to exit 1
  • --identity <name> selects a non-default identity on sign
  • Missing/no-default identity produces a clear error message

atomic identity sign reads bytes from stdin and outputs a JSON object
with a base64 Ed25519 signature, the identity's base32 public key,
the identity name, and alg field. --identity selects a non-default
identity; omitting it uses whoami.

atomic identity verify takes --signature <base64> and --public-key
<base32>, reads bytes from stdin, and exits 0 (valid) or 1 (invalid).
@geekgonecrazy geekgonecrazy requested a review from a team May 21, 2026 21:02
@geekgonecrazy geekgonecrazy force-pushed the feat/sign-command branch 2 times, most recently from 955fa57 to cb8ad13 Compare May 22, 2026 02:27
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.

2 participants