Ben Wiederhake
f2a71afc09
LibWeb: Remove superfluous step in HKDF deriveBits operation
...
This corresponds to a recent change in the spec:
https://github.com/w3c/webcrypto/pull/372
Inspired by the following review comment:
https://github.com/LadybirdBrowser/ladybird/pull/1877#discussion_r1807648283
(cherry picked from commit ee3b86c3f87d8a44ba92c8aaff75925948ceacfd)
2024-11-12 10:45:53 -05:00
Ben Wiederhake
806f30d1d2
LibWeb: Fix crash when importing malformed RSAOAEP key
...
This fixes a crash in WPT:
WebCryptoAPI/import_export/rsa_importKey.https.any
This allows us to pass 240 tests!
(cherry picked from commit 124bd115a1342d9b4a7536fa62acedee279a12c9)
2024-11-12 07:14:25 -05:00
Ben Wiederhake
7811ed378e
LibWeb: Test subtleties in HKDF 'salt' interpretation
...
This also doubles as HKDF implementation test.
(cherry picked from commit 6d68d6ddb2d74f7fdcfe44169366aee9b127f1df)
2024-11-12 07:14:25 -05:00
Ben Wiederhake
810fc49571
LibWeb: Implement and test SubtleCrypto interface for HKDF operations
...
This fixes several hundred if not thousands of WPT tests:
https://wpt.live/WebCryptoAPI/derive_bits_keys/hkdf.https.any.html?1-1000
(cherry picked from commit f670c68ded838a30d0db341636585a67b9f9e9b5)
2024-11-12 07:14:25 -05:00
Ben Wiederhake
a2cee45b78
LibWeb: Simplify WebCrypto accesses to keys
...
(cherry picked from commit 6072ae5baee89e887d82d8cfc0712f0226184ca6)
2024-11-12 07:14:25 -05:00
Matthew Olsson
8450041b52
LibWeb: Fix some GCVerifier warnings
2024-04-07 07:03:13 +02:00
stelar7
7c7f01b82f
LibWeb: Add RSAOAEP.exportKey for the pkcs8 format
2024-04-05 21:53:12 +02:00
stelar7
f9dd028119
LibWeb: Add RSAOAEP.exportKey for the spki format
2024-04-05 21:53:12 +02:00
stelar7
9f3c3925e0
LibWeb: Implement skeleton of SubtleCrypto.deriveKey
2024-04-04 21:00:40 +02:00
stelar7
abf55fe33d
LibWeb: Implement PBKDF2 getKeyLength for SubtleCrypto
2024-04-04 21:00:40 +02:00
stelar7
19bb62d60e
LibWeb: Implement PBKDF2 deriveBits for SubtleCrypto
2024-04-04 21:00:40 +02:00
stelar7
35676491ec
LibWeb: Implement ED25519 verify for SubtleCrypto
2024-04-03 13:10:01 -06:00
stelar7
9ad10566b2
LibWeb: Implement ED25519 sign for SubtleCrypto
2024-04-03 13:10:01 -06:00
stelar7
ec015034bd
LibWeb: Implement ED25519 generateKey for SubtleCrypto
2024-04-03 13:10:01 -06:00
stelar7
ae230c9150
LibWeb: Implement most of ECDSA verify for SubtleCrypto
2024-04-03 13:10:01 -06:00
stelar7
bc2a5e24bc
LibWeb: Implement skeleton of ECDSA sign for SubtleCrypto
2024-04-03 13:10:01 -06:00
stelar7
41449814db
LibWeb: Implement generateKey for ECDSA
2024-04-03 13:10:01 -06:00
Andrew Kaster
cddbdf5ae9
LibWeb: Implement skeleton of RSA-OAEP decrypt for SubtleCrypto
...
The actual Crypto algorithm part isn't implemented yet, so we just copy
the ciphertext and claim that's the plaintext :^)
2024-03-25 17:01:23 -06:00
Andrew Kaster
29b68a1b10
LibWeb: Implement skeleton of RSA-OAEP encrypt for SubtleCrypto
...
The actual Crypto algorithm part isn't implemented yet, so we just copy
the plaintext and claim that's the ciphertext :^)
2024-03-25 17:01:23 -06:00
Andrew Kaster
497f3ca0fd
LibWeb: Store PBKDF2Params' salt field as a ByteBuffer directly
...
Rather than trying to store a Handle to a WebIDL::BufferSource, let's
look ahead to what the spec wants us to do with this field and get a
copy of the bytes held by the buffer source right away.
2024-03-25 17:01:23 -06:00
Andrew Kaster
a0623a47de
LibWeb: Implement importKey for RSA-OAEP
2024-03-25 17:01:23 -06:00
Andrew Kaster
28dc076764
LibWeb: Use a forgiving base64url encoding for JWK export
2024-03-25 17:01:23 -06:00
Andrew Kaster
1521a60a67
LibWeb: Support SubtleCrypto.exportKey for RSA-OAEP in JsonWebKey format
2024-03-14 17:57:37 -06:00
Andrew Kaster
0a3d27c41d
LibWeb: Make SubtleCrypto AlgorithmParams classes virtual
...
This allows us to properly destroy the child classes through a pointer
to the base class, avoiding ASAN/UBSAN errors.
2024-03-14 17:57:37 -06:00
Andrew Kaster
a9d240c647
LibWeb: Implement SubtleCrypto.generateKey for RSA-OAEP
...
This patch implements and tests window.crypto.sublte.generateKey with
an RSA-OAEP algorithm. In order for the types to be happy, the
KeyAlgorithms objects are moved to their own .h/.cpp pair, and the new
KeyAlgorithms for RSA are added there.
2024-03-13 15:31:00 -06:00
Andrew Kaster
2d59d6c98c
LibWeb: Refactor SubtleCrypto to allow adding more algorithms easier
...
This patch throws away some of the spec suggestions for how to implement
the normalize_algorithm AO and uses a new pattern that we can actually
extend in our C++.
Also update CryptoKey to store the key data.
2024-03-13 15:31:00 -06:00