Skip to content

wallet-server: support local PEM key for mint-jwt.js - #63

Merged
mike-parkhill merged 3 commits into
masterfrom
fix/wallet-server-local-jwt-mint
Aug 11, 2026
Merged

wallet-server: support local PEM key for mint-jwt.js#63
mike-parkhill merged 3 commits into
masterfrom
fix/wallet-server-local-jwt-mint

Conversation

@mike-parkhill

Copy link
Copy Markdown
Contributor

Summary

  • Add --key-file (and MCP_JWT_PRIVATE_KEY_FILE) to mint-jwt.js as a dev-only alternative to AWS Secrets Manager, so JWTs can be minted locally without an AWS account — mutually exclusive with --secret.
  • Fix a stale generate-keypair.js hint that told users to set MCP_JWT_PRIVATE_KEY, an env var mint-jwt.js never actually read.
  • Document the local-dev flow in the wallet-server README.
  • npm audit fix for fast-uri/ip-address/nanoid — pre-existing on master, unrelated to the above, but the pre-push hook's production-dependency audit check blocked this branch on it.

Test plan

  • node scripts/generate-keypair.js still prints a valid ES256 keypair
  • node scripts/mint-jwt.js <tenant> --key-file <path> mints and signs a valid JWT from a local PEM
  • Error paths verified: --secret + --key-file together, neither provided, nonexistent key file
  • npm run typecheck clean in apps/wallet-server
  • npm audit --omit=dev no longer flags fast-uri/ip-address/nanoid; remaining fixable findings are already accepted-risk per scripts/check-audit.js

🤖 Generated with Claude Code

Add --key-file (and MCP_JWT_PRIVATE_KEY_FILE) as a dev-only alternative
to AWS Secrets Manager, so JWTs can be minted without an AWS account.
Also fixes a stale generate-keypair.js hint that referenced an env var
mint-jwt.js never read.
Pre-existing on master (unrelated to the mint-jwt change on this branch)
but blocked the pre-push audit hook. npm audit fix resolved all three
without any manual overrides needed.
@AgneCaunt
AgneCaunt self-requested a review August 11, 2026 14:40
AgneCaunt
AgneCaunt previously approved these changes Aug 11, 2026
CVE-2026-69152 bypasses the CVE-2026-14257 fix that brace-expansion@2.1.3
was pinned to (flagged as a new Trivy finding on PR #63, unrelated to that
PR's actual change). 2.1.4 fixes both CVEs outright and still satisfies
minimatch@9's ^2.0.2 requirement, so drop the now-stale .trivyignore
entry and ACCEPTED_RISK grouping for it instead of re-justifying the risk.
@mike-parkhill
mike-parkhill merged commit 5cb783f into master Aug 11, 2026
9 checks passed
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