Skip to content

feat(extensions): bind package signature payload#979

Merged
XingYu-Zhong merged 1 commit into
developfrom
codex/replace-938-extension-signature
Jul 19, 2026
Merged

feat(extensions): bind package signature payload#979
XingYu-Zhong merged 1 commit into
developfrom
codex/replace-938-extension-signature

Conversation

@XingYu-Zhong

Copy link
Copy Markdown
Collaborator

Summary

  • Rebuilds the extension-signature contract from feat(extensions): define package signature contract #938 on the current develop branch.
  • Defines the canonical bytes a future trust-store/verification layer must verify; this PR intentionally does not claim to implement trust or cryptographic verification.

Changes

  • Binds payload version, algorithm, publisher/key identity, extension identity/version, package SHA-256, and validity timestamps.
  • Rejects unknown/missing fields, self-asserted public keys, non-canonical Base64, timestamps, hashes, publisher mismatches, and oversized/non-SemVer versions.
  • Emits a deterministic versioned JSON payload with fixed field order.
  • Provides deterministic validity-window checks.

Tests

  • npx vitest run src/shared/extension-signature.test.ts (13 passed).
  • Full root app suite (4496 passed) plus all extension-package suites (58 passed).
  • Root typecheck, targeted ESLint, and git diff --check.

Original contribution and contract direction: @luoye520ww in #938.

Replaces #938.

@XingYu-Zhong
XingYu-Zhong force-pushed the codex/replace-938-extension-signature branch from 6f2a658 to 170f1da Compare July 19, 2026 05:00
@XingYu-Zhong
XingYu-Zhong marked this pull request as ready for review July 19, 2026 05:01
@XingYu-Zhong
XingYu-Zhong merged commit e2a0493 into develop Jul 19, 2026
9 of 15 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.

1 participant