Skip to content

signing: implement tenant-aware SigningContext and secure kid resolver #25

Description

@bokelley

Implement the D22 tenant-aware signing SPI and secure kid resolver shape from PR #23.

Scope:

  • Implement SigningContext parameter set: AdcpUse use(), nullable tenant identity, nullable principal reference.
  • Ship SigningProvider without any SigningProvider.forUse(AdcpUse) short form.
  • Implement inbound verification through VerificationKeyResolver: start from inbound kid, resolve key/tenant/principal, then verify signature and JWK adcp_use.
  • Treat kid as an opaque lookup key into a pre-provisioned key set.
  • Never dereference attacker-controlled URLs from an inbound signed object.
  • Any resolver HTTP fetch for JWKS/key refresh must use the strict SSRF-safe HTTP client.
  • If verification returns no tenant/principal, receivers must treat the request as untenanted and reject tenant-scoped operations; no fallback to unsigned body/header/query tenant.
  • Add v0.2 release note warning SigningContext.tenant() may be null until v0.3 tenant resolver wiring lands.

References:

Metadata

Metadata

Assignees

No one assigned

    Labels

    documentationImprovements or additions to documentationenhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions