4fa8869f24
This completely rewrites how we handle key material in ext/node. Changes in this PR: - **Signing** - RSA - RSA-PSS 🆕 - DSA 🆕 - EC - ED25519 🆕 - **Verifying** - RSA - RSA-PSS 🆕 - DSA 🆕 - EC 🆕 - ED25519 🆕 - **Private key import** - Passphrase encrypted private keys 🆕 - RSA - PEM - DER (PKCS#1) 🆕 - DER (PKCS#8) 🆕 - RSA-PSS - PEM - DER (PKCS#1) 🆕 - DER (PKCS#8) 🆕 - DSA 🆕 - EC - PEM - DER (SEC1) 🆕 - DER (PKCS#8) 🆕 - X25519 🆕 - ED25519 🆕 - DH - **Public key import** - RSA - PEM - DER (PKCS#1) 🆕 - DER (PKCS#8) 🆕 - RSA-PSS 🆕 - DSA 🆕 - EC 🆕 - X25519 🆕 - ED25519 🆕 - DH 🆕 - **Private key export** - RSA 🆕 - DSA 🆕 - EC 🆕 - X25519 🆕 - ED25519 🆕 - DH 🆕 - **Public key export** - RSA - DSA 🆕 - EC 🆕 - X25519 🆕 - ED25519 🆕 - DH 🆕 - **Key pair generation** - Overhauled, but supported APIs unchanged This PR adds a lot of new individual functionality. But most importantly because of the new key material representation, it is now trivial to add new algorithms (as shown by this PR). Now, when adding a new algorithm, it is also widely supported - for example previously we supported ED25519 key pair generation, but we could not import, export, sign or verify with ED25519. We can now do all of those things. |
||
---|---|---|
.. | ||
napi | ||
release | ||
build_bench.ts | ||
build_benchmark_jsons.js | ||
copyright_checker.js | ||
core_import_map.json | ||
cut_a_release.md | ||
deno.json | ||
deno.lock.json | ||
faster-rebuilds.md | ||
format.js | ||
install_prebuilt.js | ||
jsdoc_checker.js | ||
lint.js | ||
ops.d.ts | ||
README.md | ||
update_typescript.md | ||
upload_wptfyi.js | ||
util.js | ||
verify_pr_title.js | ||
wgpu_sync.js |
Tools
Documentation for various tooling in support of Deno development.
format.js
This script will format the code (currently using dprint, rustfmt). It is a prerequisite to run this before code check in.
To run formatting:
deno run --allow-read --allow-write --allow-run ./tools/format.js
lint.js
This script will lint the code base (currently using dlint, clippy). It is a prerequisite to run this before code check in.
To run linting:
deno run --allow-read --allow-write --allow-run ./tools/lint.js
Tip: You can also use cargo to run the current or pending build of the deno executable
cargo run -- run --allow-read --allow-write --allow-run ./tools/<script>
wgpu_sync.js
wgpu_sync.js
streamlines updating deno_webgpu
from
gfx-rs/wgpu.
It essentially vendors the deno_webgpu
tree with a few minor patches applied
on top, somewhat similar to git subtree
.
- Update
COMMIT
orV_WGPU
in./tools/wgpu_sync.js
- Run
./tools/wgpu_sync.js
- Double check changes, possibly patch
- Commit & send a PR with the updates
copyright_checker.js
copyright_checker.js
is used to check copyright headers in the codebase.
To run the copyright checker:
deno run --allow-read --allow-run ./tools/copyright_checker.js
Then it will check all code files in the repository and report any files that are not properly licensed.