devgianlu
94374f0d19
LibWeb: Implement AES-KW in WebCryptoAPI
...
Add support for AES-KW for key wrapping/unwrapping. Very similar
implementation to other AES modes.
Added generic tests for symmetric import and specific AES-KW ones.
Adds ~400 test passes on WPT. Now we do better than Firefox in
`WebCryptoAPI/wrapKey_unwrapKey`!
2024-12-17 11:00:14 +01:00
devgianlu
584cbcf3ef
LibWeb: Implement wrapKey
and unwrapKey
methods
...
This implements the last WebCryptoAPI methods `wrapKey` and `unwrapKey`.
Most of the functionality is already there because they rely on
`encrypt` and `decrypt`. The only test failures are for `AES-GCM` which
is not implemented yet.
2024-12-16 11:35:00 +01:00
devgianlu
f0fbd50c66
LibWeb: Implement ECDSA.importKey and ECDSA.exportKey
...
Very similar implementation to ECDH. Fixes ~700 tests!
2024-12-03 13:20:51 +01:00
devgianlu
46e724729c
LibWeb: Match algorithm names case-insensitive
...
CI / Lagom (false, FUZZ, ubuntu-24.04, Linux, Clang) (push) Waiting to run
CI / Lagom (false, NO_FUZZ, macos-15, macOS, Clang) (push) Waiting to run
CI / Lagom (false, NO_FUZZ, ubuntu-24.04, Linux, GNU) (push) Waiting to run
CI / Lagom (true, NO_FUZZ, ubuntu-24.04, Linux, Clang) (push) Waiting to run
Package the js repl as a binary artifact / build-and-package (macos-14, macOS, macOS-universal2) (push) Waiting to run
Package the js repl as a binary artifact / build-and-package (ubuntu-24.04, Linux, Linux-x86_64) (push) Waiting to run
Run test262 and test-wasm / run_and_update_results (push) Waiting to run
Lint Code / lint (push) Waiting to run
Push notes / build (push) Waiting to run
I dug through the code and the WebCryptoAPI spec to figure out the
reason for `... mixed case parameters` WPT tests and figured out that
our implementation was slightly wrong.
By being closer to the spec we can now pass those tests and also remove
a bunch of duplicated code.
Context: https://github.com/LadybirdBrowser/ladybird/pull/2598#discussion_r1859263798
2024-11-28 00:21:49 +01:00
devgianlu
6ebc812035
LibWeb: Rename EcdhKeyDerivePrams
to EcdhKeyDeriveParams
2024-11-28 00:21:49 +01:00
devgianlu
6fa53a4382
LibWeb: Implement ECDH.exportKey
2024-11-27 10:59:48 +01:00
devgianlu
228276a383
LibWeb: Implement ECDH.importKey
2024-11-27 10:59:48 +01:00
devgianlu
e6056ab959
LibWeb: Implement ECDH.deriveBits
2024-11-27 10:59:48 +01:00
devgianlu
fd336ed619
LibWeb: Define EcKeyImportParams
2024-11-27 10:59:48 +01:00
Andreas Kling
d625e12082
LibWeb: Implement the deriveBits algorithm for X448
CI / Lagom (false, FUZZ, ubuntu-24.04, Linux, Clang) (push) Waiting to run
CI / Lagom (false, NO_FUZZ, macos-15, macOS, Clang) (push) Waiting to run
CI / Lagom (false, NO_FUZZ, ubuntu-24.04, Linux, GNU) (push) Waiting to run
CI / Lagom (true, NO_FUZZ, ubuntu-24.04, Linux, Clang) (push) Waiting to run
Package the js repl as a binary artifact / build-and-package (macos-14, macOS, macOS-universal2) (push) Waiting to run
Package the js repl as a binary artifact / build-and-package (ubuntu-24.04, Linux, Linux-x86_64) (push) Waiting to run
Run test262 and test-wasm / run_and_update_results (push) Waiting to run
Lint Code / lint (push) Waiting to run
Push notes / build (push) Waiting to run
2024-11-25 17:16:51 +01:00
Andreas Kling
96ddccd961
LibWeb: Implement the importKey algorithm for X448
2024-11-25 17:16:51 +01:00
Andreas Kling
4a734226aa
LibWeb: Implement the exportKey algorithm for X448
2024-11-25 17:16:51 +01:00
Andreas Kling
5a8b0a2610
LibWeb: Implement the generateKey algorithm for X448
2024-11-25 17:16:51 +01:00
Andreas Kling
ed7b1caba2
LibWeb: Implement the exportKey algorithm for Ed25519
2024-11-24 23:28:23 +01:00
Andreas Kling
4d25369f29
LibWeb: Implement the importKey algorithm for Ed25519
2024-11-24 23:28:23 +01:00
devgianlu
009f328308
LibWeb: Implement ECDH.generateKey
2024-11-21 11:45:22 +01:00
Shannon Booth
f87041bf3a
LibGC+Everywhere: Factor out a LibGC from LibJS
...
Resulting in a massive rename across almost everywhere! Alongside the
namespace change, we now have the following names:
* JS::NonnullGCPtr -> GC::Ref
* JS::GCPtr -> GC::Ptr
* JS::HeapFunction -> GC::Function
* JS::CellImpl -> GC::Cell
* JS::Handle -> GC::Root
2024-11-15 14:49:20 +01:00
Jelle Raaijmakers
329cd946ac
LibWeb: Implement Web Crypto HMAC algorithm
CI / Lagom (false, FUZZ, ubuntu-24.04, Linux, Clang) (push) Waiting to run
CI / Lagom (false, NO_FUZZ, macos-15, macOS, Clang) (push) Waiting to run
CI / Lagom (false, NO_FUZZ, ubuntu-24.04, Linux, GNU) (push) Waiting to run
CI / Lagom (true, NO_FUZZ, ubuntu-24.04, Linux, Clang) (push) Waiting to run
Package the js repl as a binary artifact / build-and-package (macos-14, macOS, macOS-universal2) (push) Waiting to run
Package the js repl as a binary artifact / build-and-package (ubuntu-24.04, Linux, Linux-x86_64) (push) Waiting to run
Run test262 and test-wasm / run_and_update_results (push) Waiting to run
Lint Code / lint (push) Waiting to run
Push notes / build (push) Waiting to run
2024-11-14 11:52:18 +01:00
Timothy Flynn
93712b24bf
Everywhere: Hoist the Libraries folder to the top-level
2024-11-10 12:50:45 +01:00