-
Notifications
You must be signed in to change notification settings - Fork 4
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Implementation status #20
Comments
DenoEd25519 is available since v1.26.1, X25519 is not far from being complete. Refs: cc @littledivy |
ChromiumImplementation is done for Ed25519 and X25519, currently behind WebCryptoCurve25519 runtime flag. Refs: |
WebKitImplementation is done for Ed25519 and underway for X25519 Refs:
Update October 2023: Safari 17.0 was released recently, now with support for Ed25519 without any feature flags. |
BunEd25519 is available in Bun. Refs: oven-sh/bun#1816 |
Gecko bugTracked in: https://bugzilla.mozilla.org/show_bug.cgi?id=1804788 |
PeculiarVentures/webcrypto |
Ed25519 enabled as an experimental option in Safari Tech Preview 163. https://webkit.org/blog/13839/release-notes-for-safari-technology-preview-163/ |
Cloudflare Workers and
|
edge-runtimeEd25519 and X25519 is available in both local |
## Summary This PR introduces `generateSecretKey()`. You might need to use this when you need to sign for the creation of an account, for instance. Instead of vending the _bytes_ of a secret key, however, we use JS-native `CryptoKey` instances. These are opaque tokens that you can return at a later time to perform some action, like deriving the public key for the secret they represent, or signing a message. The idea is that you can freely pass these `CryptoKey` instances around your application without worrying about accidentally logging the key material itself – ie. to Sentry or to the browser console. The only environments that support Ed25519 key generation at the moment: * Node >=17.4 * Safari 17 For other environments, we'll supply a polyfill that implements key generation, signing, encryption, decryption, and verification in userspace. Spec: https://wicg.github.io/webcrypto-secure-curves/#ed25519 Proposal repo: https://github.com/WICG/webcrypto-secure-curves Implementation status: WICG/webcrypto-secure-curves#20 ## Test Plan ``` cd packages/keys/ pnpm test:unit:browser pnpm test:unit:node ```
…s Ed25519 key generation in userspace ## Summary For environments where Ed25519 key generation is not supported, this polyfill injects a suitable implementation that uses `@noble/curves/ed25519` behind the scenes. Here's the list of environments that do support it: WICG/webcrypto-secure-curves#20 ## Test Plan ``` cd packages/webcrypto-ed25519-polyfill pnpm test:unit:browser pnpm test:unit:node ```
## Summary This PR introduces `generateSecretKey()`. You might need to use this when you need to sign for the creation of an account, for instance. Instead of vending the _bytes_ of a secret key, however, we use JS-native `CryptoKey` instances. These are opaque tokens that you can return at a later time to perform some action, like deriving the public key for the secret they represent, or signing a message. The idea is that you can freely pass these `CryptoKey` instances around your application without worrying about accidentally logging the key material itself – ie. to Sentry or to the browser console. The only environments that support Ed25519 key generation at the moment: * Node >=17.4 * Safari 17 For other environments, we'll supply a polyfill that implements key generation, signing, encryption, decryption, and verification in userspace. Spec: https://wicg.github.io/webcrypto-secure-curves/#ed25519 Proposal repo: https://github.com/WICG/webcrypto-secure-curves Implementation status: WICG/webcrypto-secure-curves#20 ## Test Plan ``` cd packages/keys/ pnpm test:unit:browser pnpm test:unit:node ```
…s Ed25519 key generation in userspace ## Summary For environments where Ed25519 key generation is not supported, this polyfill injects a suitable implementation that uses `@noble/curves/ed25519` behind the scenes. Here's the list of environments that do support it: WICG/webcrypto-secure-curves#20 ## Test Plan ``` cd packages/webcrypto-ed25519-polyfill pnpm test:unit:browser pnpm test:unit:node ```
…s Ed25519 key generation in userspace ## Summary For environments where Ed25519 key generation is not supported, this polyfill injects a suitable implementation that uses `@noble/curves/ed25519` behind the scenes. Here's the list of environments that do support it: WICG/webcrypto-secure-curves#20 ## Test Plan ``` cd packages/webcrypto-ed25519-polyfill pnpm test:unit:browser pnpm test:unit:node ```
…s Ed25519 key generation in userspace ## Summary For environments where Ed25519 key generation is not supported, this polyfill injects a suitable implementation that uses `@noble/curves/ed25519` behind the scenes. Here's the list of environments that do support it: WICG/webcrypto-secure-curves#20 ## Test Plan ``` cd packages/webcrypto-ed25519-polyfill pnpm test:unit:browser pnpm test:unit:node ```
## Summary This PR introduces `generateSecretKey()`. You might need to use this when you need to sign for the creation of an account, for instance. Instead of vending the _bytes_ of a secret key, however, we use JS-native `CryptoKey` instances. These are opaque tokens that you can return at a later time to perform some action, like deriving the public key for the secret they represent, or signing a message. The idea is that you can freely pass these `CryptoKey` instances around your application without worrying about accidentally logging the key material itself – ie. to Sentry or to the browser console. The only environments that support Ed25519 key generation at the moment: * Node >=17.4 * Safari 17 For other environments, we'll supply a polyfill that implements key generation, signing, encryption, decryption, and verification in userspace. Spec: https://wicg.github.io/webcrypto-secure-curves/#ed25519 Proposal repo: https://github.com/WICG/webcrypto-secure-curves Implementation status: WICG/webcrypto-secure-curves#20 ## Test Plan ``` cd packages/keys/ pnpm test:unit:browser pnpm test:unit:node ```
…s Ed25519 key generation in userspace ## Summary For environments where Ed25519 key generation is not supported, this polyfill injects a suitable implementation that uses `@noble/curves/ed25519` behind the scenes. Here's the list of environments that do support it: WICG/webcrypto-secure-curves#20 ## Test Plan ``` cd packages/webcrypto-ed25519-polyfill pnpm test:unit:browser pnpm test:unit:node ```
## Summary This PR introduces `generateSecretKey()`. You might need to use this when you need to sign for the creation of an account, for instance. Instead of vending the _bytes_ of a secret key, however, we use JS-native `CryptoKey` instances. These are opaque tokens that you can return at a later time to perform some action, like deriving the public key for the secret they represent, or signing a message. The idea is that you can freely pass these `CryptoKey` instances around your application without worrying about accidentally logging the key material itself – ie. to Sentry or to the browser console. The only environments that support Ed25519 key generation at the moment: * Node >=17.4 * Safari 17 For other environments, we'll supply a polyfill that implements key generation, signing, encryption, decryption, and verification in userspace. Spec: https://wicg.github.io/webcrypto-secure-curves/#ed25519 Proposal repo: https://github.com/WICG/webcrypto-secure-curves Implementation status: WICG/webcrypto-secure-curves#20 ## Test Plan ``` cd packages/keys/ pnpm test:unit:browser pnpm test:unit:node ```
…s Ed25519 key generation in userspace ## Summary For environments where Ed25519 key generation is not supported, this polyfill injects a suitable implementation that uses `@noble/curves/ed25519` behind the scenes. Here's the list of environments that do support it: WICG/webcrypto-secure-curves#20 ## Test Plan ``` cd packages/webcrypto-ed25519-polyfill pnpm test:unit:browser pnpm test:unit:node ```
* refactor(experimental): a function for generating secret keys ## Summary This PR introduces `generateSecretKey()`. You might need to use this when you need to sign for the creation of an account, for instance. Instead of vending the _bytes_ of a secret key, however, we use JS-native `CryptoKey` instances. These are opaque tokens that you can return at a later time to perform some action, like deriving the public key for the secret they represent, or signing a message. The idea is that you can freely pass these `CryptoKey` instances around your application without worrying about accidentally logging the key material itself – ie. to Sentry or to the browser console. The only environments that support Ed25519 key generation at the moment: * Node >=17.4 * Safari 17 For other environments, we'll supply a polyfill that implements key generation, signing, encryption, decryption, and verification in userspace. Spec: https://wicg.github.io/webcrypto-secure-curves/#ed25519 Proposal repo: https://github.com/WICG/webcrypto-secure-curves Implementation status: WICG/webcrypto-secure-curves#20 ## Test Plan ``` cd packages/keys/ pnpm test:unit:browser pnpm test:unit:node ```
…s Ed25519 key generation in userspace ## Summary For environments where Ed25519 key generation is not supported, this polyfill injects a suitable implementation that uses `@noble/curves/ed25519` behind the scenes. Here's the list of environments that do support it: WICG/webcrypto-secure-curves#20 ## Test Plan ``` cd packages/webcrypto-ed25519-polyfill pnpm test:unit:browser pnpm test:unit:node ```
…s Ed25519 key generation in userspace ## Summary For environments where Ed25519 key generation is not supported, this polyfill injects a suitable implementation that uses `@noble/curves/ed25519` behind the scenes. Here's the list of environments that do support it: WICG/webcrypto-secure-curves#20 ## Test Plan ``` cd packages/webcrypto-ed25519-polyfill pnpm test:unit:browser pnpm test:unit:node ```
…s Ed25519 key generation in userspace (#1395) ## Summary For environments where Ed25519 key generation is not supported, this polyfill injects a suitable implementation that uses `@noble/curves/ed25519` behind the scenes. Here's the list of environments that do support it: WICG/webcrypto-secure-curves#20 ## Test Plan ``` cd packages/webcrypto-ed25519-polyfill pnpm test:unit:browser pnpm test:unit:node ```
Safari 17.0 was released recently, now with support for Ed25519 without any feature flags 🎉 congratulations |
Flow 6.17 supports Ed25519, X25519, Ed448 and X448. |
Hi guys, |
@Frosne will this gradually make it to a stable release? or is it behind some sort of flag like Chrome's implementation? |
It should arrive to Firefox Release 129 (that's in 3 weeks I believe) if we don't observe any problems :) |
In that case Chromium is the only vendor not shipping its completed implementation. |
Hi, |
Tracking implementation states all in one place. Feel free to post updates or other implementations here.
Footnotes
Chromium ↩
WebKit ↩
Gecko ↩
Node.js ↩
Deno ↩ ↩2
Bun ↩
Clouflare ↩ ↩2
Vercel ↩ ↩2
Flow ↩
The text was updated successfully, but these errors were encountered: