Tete17
df0796bdf2
LibWeb: Support the exporting of ml-kem keys in raw-seed format
2026-01-06 01:06:06 +01:00
Tete17
ed025f5fcd
LibWeb: Support the importing of ml-kem keys in raw-seed format
2026-01-06 01:06:06 +01:00
Tete17
ab74519a0b
LibWeb: Support the exporting of ml-kem keys in raw-public format
2026-01-06 01:06:06 +01:00
Tete17
0fc7746b96
LibWeb: Support the importing of ml-kem keys in raw-public format
2026-01-06 01:06:06 +01:00
Tete17
56804e7930
LibWeb: Support the exporting of ml-kem keys in spki format
2026-01-06 01:06:06 +01:00
Tete17
4e41cfb6c4
LibWeb: Correctly set the usage on the private key for ML-KEM
...
This is one lines gives us almost 1000 WPTs :)
2026-01-06 01:06:06 +01:00
Tete17
94410298f3
LibWeb: Implement Derive Bits for Argon2 algorithm
2026-01-04 15:56:54 +01:00
Tete17
7b3a97a928
LibWeb: Implement Argon2Params
...
This is the needed context for the Derive Bits operation of the Argon2
algorithm.
2026-01-04 15:56:54 +01:00
Tete17
2cc71e6437
LibWeb: Support the importing for Argon2 keys
2026-01-04 15:56:54 +01:00
Tete17
ebd0874fb5
LibWeb: Implement Get Key Length for Argon2 algorithm
2026-01-04 15:56:54 +01:00
Tete17
bbf70e320f
LibWeb: Allow symmetric algorithms to be imported with RawSecret
...
This new format is equivalent to the old Raw.
2025-12-30 14:16:35 +01:00
Tete17
a414819dd6
LibWeb: Support the importing of ml-kem keys in spki format
2025-12-30 14:16:35 +01:00
Tete17
6350b063ab
LibWeb: Implement encapsulation for ML-KEM algorithms
2025-12-30 14:16:35 +01:00
Tete17
013cf34d1b
LibWeb: Implement key generation for ML-KEM algorithms
2025-12-30 14:16:35 +01:00
Tete17
26a9551db2
LibWeb: Correctly transform EncapsulatedKey into an ECMAScript object
...
The spec prefers camel case, but we internally use snake case.
2025-12-30 14:16:35 +01:00
Tete17
ec67f0ae8d
LibWeb: Change return type of encapsulate for AlgorithmMethods
...
The standard ask to turn EncapsulatedBits into an ECMAScript Object
which means it must initially live in the host stack.
2025-12-30 14:16:35 +01:00
Tete17
b65b8c2e6a
LibWeb: Use ReadOnlyBytes when encoding ml-dsa public keys
...
This fixes a build error caused by a merge conflict with some recent
changes in out base64 infrastructure.
2025-12-10 22:46:54 +01:00
Tete17
006428db7a
LibWeb: Support the exporting of ml-dsa keys in pkcs8 format
2025-12-10 21:26:06 +01:00
Tete17
b63a0903aa
LibWeb: Support the importing of ml-dsa keys in pkcs8 format
2025-12-10 21:26:06 +01:00
Tete17
2078317a51
LibWeb: Support the exporting of ml-dsa keys in jwk format
2025-12-10 21:26:06 +01:00
Tete17
a5e037e2af
LibWeb: Support the importing of ml-dsa keys in jwk format
2025-12-10 21:26:06 +01:00
Tete17
affaa8169f
LibWeb: Support the exporting of ml-dsa keys in raw-seed format
2025-12-10 21:26:06 +01:00
Tete17
9bea146212
LibWeb: Support the importing of ml-dsa keys in raw-seed format
2025-12-10 21:26:06 +01:00
Tete17
16b0918579
LibWeb: Support the exporting of ml-dsa keys in raw-public format
2025-12-10 21:26:06 +01:00
Tete17
f56f7a0916
LibWeb: Support the importing of ml-dsa keys in raw-public format
2025-12-10 21:26:06 +01:00
Tete17
f13c0fb317
LibWeb: Support the exporting of ml-dsa keys in spki format
2025-12-10 21:26:06 +01:00
Tete17
7a9ed4ba71
LibWeb: Support the importing of ml-dsa keys in spki format
2025-12-10 21:26:06 +01:00
Tete17
e596572085
LibWeb: Implement verify for ML-DSA algorithm
2025-12-10 21:26:06 +01:00
Tete17
ef0205ec86
LibWeb: Implement message signing for ML-DSA algorithm
2025-12-10 21:26:06 +01:00
Tete17
a9ade1c238
LibWeb: Implement key generation for ML-DSA algorithms
2025-12-10 21:26:06 +01:00
Aliaksandr Kalenik
55e6e6f117
Everywhere: Make ByteBuffer::bytes() lvalue-only
...
This helps prevent us from accidentally using pointers to the underlying
memory of temporary `ByteBuffer` values.
2025-12-10 07:43:22 -05:00
Tete17
42f55c7c97
LibWeb: Implement Encapsulate(Key|Bits) dictionaries
...
These are needed structure for the encapsulate(Key|Bits) operations.
2025-11-27 21:50:06 +01:00
Tete17
5e736d4e07
LibWeb: Expose SHA3 hashing algorithm through WebCryptoAPI
...
This give us 48 WPT subtests :)
2025-11-26 22:01:00 -05:00
Shivendra Kumar
b3e8784f92
LibCrypto: Fix typo in comment
2025-09-14 10:45:41 +01:00
rmg-x
1678231eed
LibWeb: Fix else-after-return in hash_algorithm_identifier_from_value
...
and constify it :^)
2025-08-22 09:47:01 +01:00
rmg-x
3ef65e45d7
LibWeb/Crypto: Avoid heap allocation for AesGcm tag lengths
2025-08-22 09:47:01 +01:00
Timothy Flynn
70db474cf0
LibJS+LibWeb: Port interned bytecode strings to UTF-16
...
This was almost a no-op, except we intern JS exception messages. So the
bulk of this patch is porting exception messages to UTF-16.
2025-08-14 10:27:08 +02:00
Timothy Flynn
0efa98a57a
LibJS+LibWeb+WebContent: Port JS::PropertyKey to UTF-16
...
This has quite a lot of fall out. But the majority of it is just type or
UDL substitution, where the changes just fall through to other function
calls.
By changing property key storage to UTF-16, the main affected areas are:
* NativeFunction names must now be UTF-16
* Bytecode identifiers must now be UTF-16
* Module/binding names must now be UTF-16
2025-08-05 07:07:15 -04:00
Idan Horowitz
b0fdbe3756
LibCrypto: Convert UnsignedBigInteger::import_data to accept Bytes
...
All the callers are already using Bytes and manually converting to the
old style pointer + length when calling this API.
2025-08-05 09:08:56 +02:00
Idan Horowitz
660a499223
LibCrypto: Convert UnsignedBigInteger::export_data to return a span
...
This helps make callers only use the slice of the output buffer that
was written to.
As part of updating the callers of the API several bugs were fixed and
useless code paths were removed:
- The exported data is not host-endianess dependent (always big endian)
- The exported data does not contain leading zeros
- The output buffer is only written up to the result's size
2025-08-05 09:08:56 +02:00
devgianlu
b068dd732d
LibWeb/Crypto: Remove RSA-PSS key import FIXMEs after spec fix
2025-08-04 10:40:53 +02:00
devgianlu
667de49a6c
LibWeb/Crypto: Remove clang-format style issues FIXMEs
...
These FIXMEs don't mean much. If you try to inline it, you'll see it's
broken. PR review will catch it.
2025-08-04 10:40:53 +02:00
devgianlu
d71b66239b
LibWeb/Crypto: Remove support applicable specification TODOs
...
We have a bunch of TODO/FIXME about supporting applicable specifications
for algorithms that are not mentioned in the spec. There is no plan to
have any, there is nothing to do as of now.
2025-08-04 10:40:53 +02:00
devgianlu
6281175e86
LibWeb/Crypto: Use builtin base64 encoding/decoding padding options
2025-08-04 10:40:53 +02:00
devgianlu
4e6da3b14a
LibWeb/Crypto: Avoid double copies when create CryptoKeys
2025-08-03 04:52:35 -07:00
devgianlu
b4deae6abf
LibWeb/Crypto: Add JWK alg attribute to Ed{448,25519} keys
...
Spec PR: https://github.com/WICG/webcrypto-secure-curves/pull/34
2025-08-03 04:52:35 -07:00
devgianlu
3a8984b255
LibWeb/Crypto: Add raw key length checks to {Ed,X}{448,25519} key import
...
Following the spec update we finally can add these checks.
Spec PR: https://github.com/WICG/webcrypto-secure-curves/pull/35
2025-08-03 04:52:35 -07:00
Abhinav
ea8538ea49
LibWeb: Don't import raw X25519 key of incorrect length
2025-07-26 10:43:16 -06:00
devgianlu
4e747f525a
LibCrypto+LibWeb: Check RSA keys validity on SubtleCrypto import_key
...
Fix various TODO by checking the validity of RSA keys when they are
imported.
Also add some internal tests since WPT doesn't seem to provide them.
2025-06-25 12:21:28 +12:00
devgianlu
1bf4e712ec
LibWeb/Crypto: Do not swap endianness when importing base64 keys
...
This is wrong and leads to invalid numbers. We've been kind of
unfortunate in not catching this earlier because we skipped the key
validation part.
Many tests would fail with the next commits if this wasn't fixed.
2025-06-25 12:21:28 +12:00