Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

@yoursunny/webcrypto-ed25519

yoursunny41MIT0.0.20250208TypeScript support: included

Ed25519 Ponyfill & Polyfill for WebCrypto

webcrypto, crypto, crypto.subtle, SubtleCrypto, Ed25519, NODE-ED25519, RFC8032, RFC8037

readme

Ed25519 Ponyfill & Polyfill for WebCrypto

@yoursunny/webcrypto-ed25519 package adds Ed25519 crypto algorithm to Web Crypto API in browsers. The crypto implementation comes from @noble/ed25519 library.

Caution

This library should be considered suitable for research and experimentation. Further code and security review is needed before utilization in a production application.

Usage

import { Ed25519Algorithm, polyfillEd25519, ponyfillEd25519 } from "@yoursunny/webcrypto-ed25519";

// ponyfill: crypto.subtle remains unchanged; call methods on the returned SubtleCrypto instance.
const subtlePonyfill = ponyfillEd25519();
subtlePonyfill.generateKey(Ed25519Algorithm, true, ["sign", "verify"]);

// polyfill: crypto.subtle is patched to support Ed25519 and NODE-ED25519 algorithms.
polyfillEd25519();
crypto.subtle.generateKey(Ed25519Algorithm, true, ["sign", "verify"]);

Algorithm Identifier

The ponyfill and polyfill for browser recognize the algorithm identifier { name: "Ed25519" }, as specified in Secure Curves in the Web Cryptography API draft.

The same algorithm identifier is supported in Node.js since v18.4.0. This package does not provide any ponyfill or polyfill for Node.js.

Features

  • subtle.generateKey
  • subtle.exportKey
    • format: "jwk" or "spki"
  • subtle.importKey
    • format: "jwk" or "spki"
  • subtle.sign
  • subtle.verify

All other methods and non-Ed25519 keys are passed to the original SubtleCrypto implementation.