1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-12-22 07:14:47 -05:00
A modern runtime for JavaScript and TypeScript. https://deno.com/
Find a file
Santhanam 52da60ed53
fix(deno/ext): Fix WebCrypto API's deriveKey (#19545)
Fixes a bug I noticed when deriving a key based from `ECDH`. Similar
issue is also mentioned in #14693, where they derive a key using
`PBKDF2`

- In the WebCrypto API, `deriveKey()` is equivalent to `deriveBits()`
followed by `importKey()`
- But, `deriveKey()` requires just `deriveKey` in the `usages` of the
`baseKey` parameter. The `deriveBits` usage is not required to be
allowed. This is the uniform behaviour in Node, Chrome and Firefox.
- The impl currently has userland-accessible `SubtleCrypto.deriveKey()`
and `SubtleCrypto.deriveBits()`, as well as an internal `deriveBits()`
(this is the one that accesses the ffi).
- Also, `SubtleCrypto.deriveKey()` checks if `deriveKey` is an allowed
usage and `SubtleCrypto.deriveBits()` checks if `deriveBits` is an
allowed usage, as required.
- However, the impl currently calls the userland accessible
`SubtleCrypto.deriveBits()` in `SubtleCrypto.deriveKey()`, leading to an
error being thrown if the `deriveBits` usage isn't present.
- Fixed this by making it call the internal `deriveBits()`
instead.
2023-06-19 13:26:58 +05:30
.cargo fix: reload config files on watcher restarts (#19487) 2023-06-14 22:29:19 +00:00
.devcontainer chore: update devcontainer configuration (#15751) 2022-09-03 02:21:41 +02:00
.github chore: forward v1.34.3 release commit to main (#19526) 2023-06-16 01:55:31 +02:00
bench_util chore: forward v1.34.3 release commit to main (#19526) 2023-06-16 01:55:31 +02:00
cli chore(kv) fix and re-enable queue test (#19529) 2023-06-17 15:02:32 -07:00
core chore: forward v1.34.3 release commit to main (#19526) 2023-06-16 01:55:31 +02:00
ext fix(deno/ext): Fix WebCrypto API's deriveKey (#19545) 2023-06-19 13:26:58 +05:30
ops chore: forward v1.34.3 release commit to main (#19526) 2023-06-16 01:55:31 +02:00
runtime chore: add conditional compilation for tokio_unstable feature (#19537) 2023-06-16 17:33:28 +02:00
serde_v8 chore: forward v1.34.3 release commit to main (#19526) 2023-06-16 01:55:31 +02:00
test_ffi feat(ext/ffi): support marking symbols as optional (#18529) 2023-04-03 21:32:21 +03:00
test_napi fix(napi): properly handle arguments in napi_get_cb_info (#19269) 2023-05-26 05:02:12 +00:00
test_util fix(lsp): update import map config when deno.json changes (#19476) 2023-06-13 09:24:22 -04:00
third_party@fd270b7927 fix: upgrade to deno_ast 0.27 (#19375) 2023-06-05 19:03:39 -04:00
tools feat: Adaptations to support OpenBSD port (#19153) 2023-06-12 13:14:27 +03:00
.dlint.json chore: update dlint to v0.37.0 for GitHub Actions (#17295) 2023-01-16 17:17:18 +01:00
.dprint.json fix: upgrade to deno_ast 0.27 (#19375) 2023-06-05 19:03:39 -04:00
.editorconfig editorconfig: Don't insert final newline in .out files (#1686) 2019-02-07 11:31:49 -05:00
.gitattributes fix(test): support typechecking docs with CRLF line endings (#12748) 2021-11-15 09:58:04 -05:00
.gitignore chore(ext/websocket): readd autobahn|testsuite fuzzingclient (#18903) 2023-05-01 14:37:32 +02:00
.gitmodules chore: check node_compat config diff in CI (#19119) 2023-05-15 21:22:53 +09:00
.rustfmt.toml chore: update copyright year to 2023 (#17247) 2023-01-02 21:00:42 +00:00
Cargo.lock chore: forward v1.34.3 release commit to main (#19526) 2023-06-16 01:55:31 +02:00
Cargo.toml chore: forward v1.34.3 release commit to main (#19526) 2023-06-16 01:55:31 +02:00
LICENSE.md chore: update copyright year to 2023 (#17247) 2023-01-02 21:00:42 +00:00
README.md docs(readme): Update readme (#18677) 2023-04-17 01:08:05 +02:00
Releases.md chore: forward v1.34.3 release commit to main (#19526) 2023-06-16 01:55:31 +02:00
rust-toolchain.toml chore: upgrade to Rust 1.68.2 (#19416) 2023-06-08 04:04:07 +02:00

Deno

Twitter badge Discord badge YouTube badge

the deno mascot dinosaur standing in the rain

Deno is a simple, modern and secure runtime for JavaScript and TypeScript that uses V8 and is built in Rust.

Features

Install

Shell (Mac, Linux):

curl -fsSL https://deno.land/install.sh | sh

PowerShell (Windows):

irm https://deno.land/install.ps1 | iex

Homebrew (Mac):

brew install deno

Chocolatey (Windows):

choco install deno

Scoop (Windows):

scoop install deno

Build and install from source using Cargo:

cargo install deno --locked

See deno_install and releases for other options.

Getting Started

Try running a simple program:

deno run https://deno.land/std/examples/welcome.ts

Or setup a simple HTTP server:

import { serve } from "https://deno.land/std@0.182.0/http/server.ts";

serve((_req) => new Response("Hello, World!"));

More examples.

Additional Resources

Contributing

We appreciate your help!

To contribute, please read our contributing instructions.