Skip to content

Add EdDSA / OKP key type support (Ed25519, Ed448) when first-party .NET support lands #28

@MariusStorhaug

Description

Context

The v2 rewrite (#26) covers all RFC 7518 §3 JWS algorithms — HS256/384/512, RS256/384/512, PS256/384/512, ES256/384/512 — but does not implement EdDSA over the OKP key type defined in RFC 8037 (Ed25519, Ed448).

The blocker is the dependency story: System.Security.Cryptography does not yet expose first-party Ed25519 / Ed448 primitives in a way that's usable from PowerShell 7.6 / .NET 10 without bringing in BouncyCastle, and the project's "no third-party dependencies" rule rules that out.

Request

When a first-party Ed25519 / Ed448 implementation is available in the BCL, add:

  • The Ed25519 and Ed448 algorithms to New-Jwt / Test-Jwt.
  • The OKP key type to JwtKey, including the crv, x, and d JWK members per RFC 8037 §2.
  • OKP support in ConvertTo-JwtKey, ConvertFrom-JwtKey, Get-JwtKeyThumbprint (the RFC 7638 required members for OKP are crv, kty, x).
  • Curve enforcement in Resolve-JwtKey (Ed25519 → Ed25519, Ed448 → Ed448).

Out of scope until BCL support lands

  • BouncyCastle-based interim implementation. The trade-off is not worth a third-party dep for the v2 timeline.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions