Bartek Iwańczuk
09de6a11d6
refactor: Split extension registration for runtime and snapshotting ( #18095 )
...
This commit splits "<ext_name>::init" functions into "init_ops" and
"init_ops_and_esm". That way we don't have to construct list of
ESM sources on each startup if we're running with a snapshot.
In a follow up commit "deno_core" will be changed to not have a split
between "extensions" and "extensions_with_js" - it will be embedders'
responsibility to pass appropriately configured extensions.
Prerequisite for https://github.com/denoland/deno/pull/18080
2023-03-10 13:01:41 +09:00
Bartek Iwańczuk
9ebbd23ced
refactor(core): Extension::builder_with_deps ( #18093 )
...
Prerequisite for https://github.com/denoland/deno/pull/18080
2023-03-10 13:01:23 +09:00
Bartek Iwańczuk
3e16c3fe36
refactor(core): don't use Result in ExtensionBuilder::state ( #18066 )
...
There's no point for this API to expect result. If something fails it should
result in a panic during build time to signal to embedder that setup is
wrong.
2023-03-10 12:58:06 +09:00
Leo Kettmeir
49af1ab18d
refactor: remove prefix from include_js_files & use extension name ( #17683 )
2023-02-07 21:09:50 +00:00
Leo Kettmeir
b4aa153097
refactor: Use ES modules for internal runtime code ( #17648 )
...
This PR refactors all internal js files (except core) to be written as
ES modules.
`__bootstrap`has been mostly replaced with static imports in form in
`internal:[path to file from repo root]`.
To specify if files are ESM, an `esm` method has been added to
`Extension`, similar to the `js` method.
A new ModuleLoader called `InternalModuleLoader` has been added to
enable the loading of internal specifiers, which is used in all
situations except when a snapshot is only loaded, and not a new one is
created from it.
---------
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2023-02-07 20:22:46 +01:00
Leo Kettmeir
84a96110cd
refactor: rename deno
specifiers to internal
( #17655 )
2023-02-05 17:49:20 +01:00
Kyle Willmon
84e9794970
chore(ext/crypto): Update rsa to 0.7.0 ( #16327 )
...
Bump the rsa crate to 0.7.0
The API for the `rsa` crate has changed significantly, but I have
verified that tests continue to pass throughout this update.
2023-01-18 15:18:41 +00:00
Leo Kettmeir
c41d4ff90e
feat(core): allow specifying name and dependencies of an Extension ( #17301 )
2023-01-08 23:48:46 +01:00
David Sherret
10e4b2e140
chore: update copyright year to 2023 ( #17247 )
...
Yearly tradition of creating extra noise in git.
2023-01-02 21:00:42 +00:00
Aaron O'Mullan
238590aa9f
chore: use Rust 1.65.0 ( #16688 )
2022-11-18 02:59:10 +01:00
Divy Srivastava
a622c5df27
perf(ext/crypto): optimize getRandomValues
( #16212 )
2022-10-09 15:38:38 +05:30
Filip Skokan
0d042d8e54
fix(ext/crypto): interoperable import/export ( #16153 )
...
This PR updates RSA key import/export to a state which is interoperable
with other implementations.
For RSA the only OID in and out is `rsaEncryption`.
For EC the only OID in and out is `id-ecpublickey` (fixed in #16152 ).
see https://github.com/w3c/webcrypto/issues/307#issuecomment-995813032
see https://github.com/w3c/webcrypto/issues/307
see https://github.com/w3c/webcrypto/pull/305
see https://github.com/nodejs/node/pull/42816
2022-10-04 17:37:59 +05:30
Filip Skokan
7742ad77fa
fix(ext/crypto): curve25519 import export ( #16140 )
2022-10-03 23:06:25 -07:00
Divy Srivastava
f02f2425d5
feat(ext/crypto): add x25519 and Ed25519 CFRG curves ( #14119 )
2022-09-27 17:43:42 +05:30
diachedelic
2843160fc7
feat(ext/crypto): deriveBits P-384 ( #15138 )
...
This commit adds P-384 curve support for crypto.subtle.deriveBits.
Co-authored-by: James Diacono <james@diacono.com.au>
2022-07-23 22:34:37 +05:30
Divy Srivastava
4cbb2567b5
chore(ext/crypto): update webcrypto deps ( #14452 )
2022-06-20 16:53:57 +05:30
Luca Casonato
242273e69b
chore: update deps ( #14416 )
2022-05-05 12:41:59 +02:00
Ryan Dahl
f7ab41583e
fix: cargo publish fails without absolute paths ( #13993 )
...
This reverts commit 4e3ed37037
.
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2022-03-17 01:25:44 +01:00
Aaron O'Mullan
bd481bf095
feat(ops): optional OpState ( #13954 )
2022-03-16 00:33:46 +01:00
Aaron O'Mullan
88d0f01948
feat(ops): custom arity ( #13949 )
...
Also cleanup & drop ignored wildcard op-args
2022-03-14 23:38:53 +01:00
Divy Srivastava
b4e42953e1
feat(core): codegen ops ( #13861 )
...
Co-authored-by: Aaron O'Mullan <aaron.omullan@gmail.com>
2022-03-14 18:44:15 +01:00
Divy Srivastava
4e3ed37037
chore: improve build times for ext/
changes ( #13927 )
2022-03-14 09:08:54 +05:30
Sean Michael Wykes
77e58fe7f9
feat(ext/crypto): implement pkcs8/spki/jwk exportKey for ECDSA and ECDH ( #13104 )
2022-01-19 09:08:35 +05:30
Sean Michael Wykes
91f6c5fc7e
feat(ext/crypto): implement AES-KW for wrapKey/unwrapKey ( #13286 )
2022-01-11 10:14:47 +05:30
Ryan Dahl
1fb5858009
chore: update copyright to 2022 ( #13306 )
...
Co-authored-by: Erfan Safari <erfanshield@outlook.com>
2022-01-07 22:09:52 -05:00
Divy Srivastava
04fe513003
refactor(ext/crypto): cleanup decrypt code ( #13120 )
2021-12-20 16:07:36 +01:00
Divy Srivastava
6de53b631f
refactor: use once_cell
instead of lazy_static
( #13135 )
2021-12-18 16:14:42 -05:00
Sean Michael Wykes
60faf7a0ed
feat(ext/crypto): support importing ECSDA and ECDH ( #13088 )
...
Co-authored-by: Luca Casonato <hello@lcas.dev>
2021-12-16 17:28:43 +01:00
Luca Casonato
f0e1a6b84c
refactor(ext/crypto): clean up encrypt rust code ( #13094 )
2021-12-15 22:18:26 +01:00
Luca Casonato
8fdade79da
refactor(ext/crypto): generateKey rust cleanup ( #13069 )
2021-12-13 18:45:08 +01:00
Luca Casonato
5afb2cca65
refactor(ext/crypto): clean up exportKey rust code ( #13052 )
2021-12-13 13:22:03 +01:00
Luca Casonato
2926827726
refactor(ext/crypto): clean up rust side importKey ( #13036 )
...
This commit cleans up the Rust side of `import_key` by using a bunch of
enums instead of structs with "type" and "data" fields.
This commit does add some duplicated code for the time being, because
a lot of the other ops still need to get the same cleanup treatment.
2021-12-10 15:06:03 +01:00
Yacine Hmito
a3d024ac2e
feat(crypto): support importKey
in SPKI format ( #12921 )
...
This commit adds support for `spki` key format for `crypto.subtle.importKey` for the RSA* algorithms.
2021-12-09 20:32:55 +01:00
Luca Casonato
71ceca0ffc
fix(ext/crypto): don't panic on decryption failure ( #12840 )
2021-11-22 23:58:21 +01:00
upendra1997
e00bfecf96
fix(crypto): handling large key length in HKDF ( #12692 )
2021-11-11 10:04:17 +01:00
Bartek Iwańczuk
8e31bbbe55
chore: update to Rust edition 2021 ( #12578 )
2021-11-02 10:03:37 -04:00
Divy Srivastava
70978fd05a
feat(ext/crypto): support importing raw ECDSA keys ( #11871 )
2021-10-11 17:00:48 +02:00
Divy Srivastava
3b2cb8e711
feat(ext/crypto): implement AES-CBC encryption & decryption ( #12123 )
...
* initial stuff
* stuff
* merge stuff
* cleanup
* fmt
* length
* update lockfile
* decrypt
* fixy
* clippy hello?
* hmm
* fixs
* fix lint
* add AesCbcParams
* fixes
* fixy
* lockfile fixy
* fix dumb assertions
* re run CI
* rerun CI
* rerun CI
2021-10-11 16:37:51 +02:00
Divy Srivastava
a5d3c8b06c
feat(ext/crypto): implement deriveBits for ECDH (p256) ( #11873 )
2021-10-08 17:29:36 +02:00
Divy Srivastava
b033a7a6d4
fix(ext/crypto): key generation based on AES key length ( #12146 )
2021-10-06 11:24:41 +02:00
Divy Srivastava
3aa8591595
feat(ext/crypto): export spki for RSA ( #12114 )
2021-10-06 11:18:12 +02:00
Leo K
77a00ce1fb
chore: various op cleanup ( #12329 )
2021-10-05 22:38:27 +02:00
Divy Srivastava
21520f5ff1
feat(ext/crypto): decode RSAES-OAEP-params with default values ( #12292 )
2021-10-02 15:20:53 +02:00
Divy Srivastava
1dfa35b2ba
fix(ext/crypto): use NotSupportedError for importKey() ( #12289 )
2021-10-01 13:16:11 +02:00
Divy Srivastava
c0b6c0eea5
fix(ext/crypto): decode id-RSASSA-PSS with default params ( #12147 )
2021-10-01 11:14:16 +02:00
Divy Srivastava
868f38d452
fix(ext/crypto): use DataError in importKey() ( #12071 )
2021-09-16 09:58:29 +02:00
Divy Srivastava
c41460ecc4
feat(ext/crypto): import RSA pkcs#8 keys ( #11891 )
2021-09-14 15:21:20 +02:00
Luca Casonato
d0b5ff6db9
feat(ext/crypto): generate ECDH keys ( #11870 )
...
Add support for ECDH algorithm in SubtleCrypto#generateKey.
2021-09-13 11:35:49 +02:00
Divy Srivastava
2199bdaf64
feat(ext/crypto): export RSA keys as pkcs#8 ( #11880 )
2021-09-13 11:33:28 +02:00
Divy Srivastava
0cb22d4cba
feat(ext/crypto): implement HKDF operations ( #11865 )
...
Co-authored-by: Luca Casonato <lucacasonato@yahoo.com>
2021-09-11 16:54:03 -04:00