Ben Wiederhake
f670c68ded
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
2024-10-23 11:33:58 -06:00
Ben Wiederhake
6072ae5bae
LibWeb: Simplify WebCrypto accesses to keys
2024-10-23 11:33:58 -06:00
Andreas Kling
175f3febb8
LibWeb: Make DOMException take error message as a String
...
There was no need to use FlyString for error messages, and it just
caused a bunch of churn since these strings typically only existed
during the lifetime of the error.
2024-10-12 21:14:18 +02:00
Asutosh Variar
229b64a4b7
Everywhere: Convert from_string_view -> from_string_literal where static
2024-09-11 10:59:04 +01:00
Dennis Camera
81a0aa5725
LibWeb: Implement CryptoAlgorithms for big-endian
2024-07-10 10:23:26 -06: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