1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-12-22 07:14:47 -05:00
denoland-deno/ext
Luca Casonato 4fa8869f24
feat(ext/node): rewrite crypto keys (#24463)
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.
2024-08-07 08:43:58 +02:00
..
broadcast_channel chore: forward v1.45.5 release commit to main (#24818) 2024-07-31 15:14:27 -07:00
cache chore: forward v1.45.5 release commit to main (#24818) 2024-07-31 15:14:27 -07:00
canvas docs(ext/canvas): document public Canvas APIs (#24895) 2024-08-06 13:45:16 +09:00
console fix(ext/console): render properties of Intl.Locale (#24827) 2024-08-01 09:45:05 -07:00
cron chore: forward v1.45.5 release commit to main (#24818) 2024-07-31 15:14:27 -07:00
crypto chore: forward v1.45.5 release commit to main (#24818) 2024-07-31 15:14:27 -07:00
fetch feat(fetch): accept async iterables for body (#24623) 2024-08-06 00:13:02 -07:00
ffi chore: forward v1.45.5 release commit to main (#24818) 2024-07-31 15:14:27 -07:00
fs chore: forward v1.45.5 release commit to main (#24818) 2024-07-31 15:14:27 -07:00
http perf(ext/http): Reduce size of ResponseBytesInner (#24840) 2024-08-02 00:30:26 +00:00
io chore: forward v1.45.5 release commit to main (#24818) 2024-07-31 15:14:27 -07:00
kv chore: forward v1.45.5 release commit to main (#24818) 2024-07-31 15:14:27 -07:00
napi chore: forward v1.45.5 release commit to main (#24818) 2024-07-31 15:14:27 -07:00
net chore: forward v1.45.5 release commit to main (#24818) 2024-07-31 15:14:27 -07:00
node feat(ext/node): rewrite crypto keys (#24463) 2024-08-07 08:43:58 +02:00
node_resolver feat: upgrade V8 to 12.8 (#24693) 2024-07-31 23:22:34 +00:00
tls chore: forward v1.45.5 release commit to main (#24818) 2024-07-31 15:14:27 -07:00
url fix(urlpattern): correct typings for added APIs (#24881) 2024-08-05 07:21:57 -07:00
web docs: improve TextDecoder and TextEncoder jsdoc (#24890) 2024-08-06 09:56:54 +02:00
webgpu BREAKING(webgpu/unstable): Replace async .requestAdapterInfo() with sync .info (#24783) 2024-08-06 15:30:32 +05:30
webidl feat(fetch): accept async iterables for body (#24623) 2024-08-06 00:13:02 -07:00
websocket chore: forward v1.45.5 release commit to main (#24818) 2024-07-31 15:14:27 -07:00
webstorage chore: forward v1.45.5 release commit to main (#24818) 2024-07-31 15:14:27 -07:00