summaryrefslogtreecommitdiff
path: root/ext/crypto/00_crypto.js
AgeCommit message (Collapse)Author
2023-01-18chore(ext/crypto): Update rsa to 0.7.0 (#16327)Kyle Willmon
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-02chore: update copyright year to 2023 (#17247)David Sherret
Yearly tradition of creating extra noise in git.
2022-12-22fix(ext): Add checks for owning properties in for-in loops (#17139)Kenta Moriuchi
In the for-in loops, there were a few places where we forgot to check if objects owned some properties, so I added them.
2022-12-20chore: Update dlint (#17031)Kenta Moriuchi
Introduces `SafeSetIterator` and `SafeMapIterator` to primordials
2022-10-28fix(ext/crypto): fix HMAC jwk import "use" check (#16465)Filip Skokan
2022-10-15fix(ext/crypto): correct HMAC get key length op (#16201)Filip Skokan
fixes #16180 `HMAC`'s `get key length` `op` uses the hash function's block size, not output size. refs https://github.com/cloudflare/workerd/issues/68#issuecomment-1271189657
2022-10-09perf(ext/crypto): optimize `getRandomValues` (#16212)Divy Srivastava
2022-10-04fix(ext/crypto): ECDH and X25519 non byte length and 0 length fixes (#16146)Filip Skokan
2022-10-03fix(ext/crypto): deriveBits for ECDH not taking length into account (#16128)Aurélien Bertron
Fixes #16047
2022-10-03fix(ext/crypto): curve25519 import export (#16140)Filip Skokan
2022-09-30fix(ext/crypto): use correct handle for public keys (#16099)Colin Ihrig
When storing public and private keys in the key store, use a different handle for each key so that they can be looked up in the future. Refs: https://github.com/denoland/deno/pull/14119 Refs: https://github.com/denoland/deno_std/issues/2631
2022-09-27feat(ext/crypto): add x25519 and Ed25519 CFRG curves (#14119)Divy Srivastava
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