summaryrefslogtreecommitdiff
path: root/ext/crypto/00_crypto.js
AgeCommit message (Collapse)Author
2022-08-11perf(ops): Monomorphic sync op calls (#15337)Aapo Alasuutari
Welcome to better optimised op calls! Currently opSync is called with parameters of every type and count. This most definitely makes the call megamorphic. Additionally, it seems that spread params leads to V8 not being able to optimise the calls quite as well (apparently Fast Calls cannot be used with spread params). Monomorphising op calls should lead to some improved performance. Now that unwrapping of sync ops results is done on Rust side, this is pretty simple: ``` opSync("op_foo", param1, param2); // -> turns to ops.op_foo(param1, param2); ``` This means sync op calls are now just directly calling the native binding function. When V8 Fast API Calls are enabled, this will enable those to be called on the optimised path. Monomorphising async ops likely requires using callbacks and is left as an exercise to the reader.
2022-06-08feat(ext/crypto): export elliptic keys as "raw" (#14764)diachedelic
This commit adds support for the "raw" format when exporting public ECDH/ECDSA keys via the SubtleCrypto.exportKey method.
2022-04-07fix(ext/crypto): check extractable in exportKey (#14222)EduM22
2022-03-11fix(ext/crypto): handle JWK import with "use" (#13912)Filip Skokan
2022-03-09chore(ext/crypto): remove old todos (#13887)Divy Srivastava
2022-03-02feat(ext/crypto): AES-GCM support for 128bit IVs (#13805)Divy Srivastava
2022-02-16fix(ext/crypto): optional additionalData in encrypt/decrypt (#13669)Divy Srivastava
2022-02-01refactor: primordials for instanceof (#13527)Bartek Iwańczuk
2022-02-01fix(ext/crypto): utf16 jwk encoding (#13535)Divy Srivastava
2022-01-27Revert "refactor: update runtime code for primordial checks for "instanceof" ↵Bartek Iwańczuk
(#13497)" (#13511) This reverts commit 884143218fad0e18f7553aaf079d52de703f7601.
2022-01-27refactor: update runtime code for primordial checks for "instanceof" (#13497)Bartek Iwańczuk
2022-01-19feat(ext/crypto): support importing raw EC keys (#13079)Luca Casonato
Co-authored-by: Divy Srivastava <dj.srivastava23@gmail.com>
2022-01-19feat(ext/crypto): implement pkcs8/spki/jwk exportKey for ECDSA and ECDH (#13104)Sean Michael Wykes
2022-01-14feat(ext/crypto): implement AES-GCM decryption (#13319)Divy Srivastava
2022-01-11feat(ext/crypto): implement AES-KW for wrapKey/unwrapKey (#13286)Sean Michael Wykes
2022-01-07chore: update copyright to 2022 (#13306)Ryan Dahl
Co-authored-by: Erfan Safari <erfanshield@outlook.com>
2022-01-07feat(ext/crypto): JWK support for unwrapKey/wrapKey (#13261)Sean Michael Wykes
2022-01-05feat(ext/crypto): implement AES-GCM encryption (#13119)Divy Srivastava
2022-01-05fix(ext/crypto) - exportKey JWK for AES/HMAC must use base64url (#13264)Sean Michael Wykes
Co-authored-by: Divy Srivastava <dj.srivastava23@gmail.com>
2022-01-03feat(ext/crypto): support AES-CTR encrypt/decrypt (#13177)Sean Michael Wykes
Fixes #13201.
2021-12-27fix(ext/crypto) include AES-CTR for deriveKey (#13174)Sean Michael Wykes
2021-12-20refactor(ext/crypto): cleanup decrypt code (#13120)Divy Srivastava
2021-12-16feat(ext/crypto): support importing ECSDA and ECDH (#13088)Sean Michael Wykes
Co-authored-by: Luca Casonato <hello@lcas.dev>
2021-12-15refactor(ext/crypto): clean up encrypt rust code (#13094)Luca Casonato
2021-12-15fix(ext/crypto): various cleanup in JWK imports (#13092)Luca Casonato
This aligns all of the error messages, and makes falsey comparisons more strict.
2021-12-14feat(ext/crypto): support exporting RSA JWKs (#13081)Luca Casonato
This commit adds support for exporting RSA JWKs in the Web Crypto API. It also does some minor fixes for RSA JWK imports. Co-authored-by: Sean Michael Wykes <sean.wykes@nascent.com.br>
2021-12-14feat(ext/crypto): support importing RSA JWKs (#13071)Luca Casonato
This commit adds support for importing RSA JWKs in the Web Crypto API. Co-authored-by: Sean Michael Wykes <sean.wykes@nascent.com.br>
2021-12-13refactor(ext/crypto): generateKey rust cleanup (#13069)Luca Casonato
2021-12-13refactor(ext/crypto): clean up exportKey rust code (#13052)Luca Casonato
2021-12-10refactor(ext/crypto): symmetric jwk decode in rust (#13047)Luca Casonato
2021-12-10refactor(ext/crypto): clean up rust side importKey (#13036)Luca Casonato
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-09refactor(ext/crypto): various cleanups in js code (#13027)Sean Michael Wykes
Co-authored-by: Luca Casonato <hello@lcas.dev>
2021-12-09feat(crypto): support `importKey` in SPKI format (#12921)Yacine Hmito
This commit adds support for `spki` key format for `crypto.subtle.importKey` for the RSA* algorithms.
2021-12-09refactor(ext/crypto): de-duplicate copyBuffer code (#13030)Luca Casonato
This commit de-duplicates the buffer copying code in ext/crypto. Co-authored-by: yacinehmito <yacinehmito@users.noreply.github.com>
2021-12-09refactor(ext/crypto): clean up `exportKey` logic (#13029)Luca Casonato
This commit de-duplicates and cleans up some logic in `exportKey`. There are no functional changes in this commit (just moves code around).
2021-12-09refactor(ext/crypto): clean up `importKey` logic (#13028)Luca Casonato
This commit de-duplicates and cleans up some logic in `importKey`. There are no functional changes in this commit (just moves code around).
2021-12-05feat(ext/crypto): implement unwrapKey (#12539)Divy Srivastava
2021-11-28feat(ext/crypto): support importing exporting AES JWK keys (#12444)Divy Srivastava
2021-11-25fix(ext/crypto): throw on key & op algo mismatch (#12838)Luca Casonato
2021-10-12chore: upgrade crates based on deno ast 0.3 (#12403)David Sherret
2021-10-12feat(ext/crypto): support importing/exporting raw AES keys (#12392)Divy Srivastava
2021-10-12feat(ext/crypto): implement deriveKey (#12117)Divy Srivastava
2021-10-11feat(ext/crypto): support importing raw ECDSA keys (#11871)Divy Srivastava
2021-10-11feat(ext/crypto): implement AES-CBC encryption & decryption (#12123)Divy Srivastava
* 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-08feat(ext/crypto): implement deriveBits for ECDH (p256) (#11873)Divy Srivastava
2021-10-06feat(ext/crypto): export spki for RSA (#12114)Divy Srivastava
2021-10-01feat(ext/crypto): implement wrapKey (#12125)Divy Srivastava
2021-09-25fix(ext/webidl): correctly apply [SymbolToStringTag] to interfaces (#11851)李瑞丰
Co-authored-by: Luca Casonato <hello@lcas.dev> Co-authored-by: Yoshiya Hinosawa <stibium121@gmail.com>
2021-09-16fix(ext/crypto): don't use core.decode for encoding jwk keys (#12088)Divy Srivastava
2021-09-14feat(ext/crypto): import RSA pkcs#8 keys (#11891)Divy Srivastava