From 1df011bb2b52254dc6c720bec526c26561b456ba Mon Sep 17 00:00:00 2001 From: Karl Seguin Date: Tue, 28 Apr 2026 15:13:33 +0800 Subject: [PATCH] Improve correctness of generateKey error Previously, the only error generateKey would throw as SyntaxError. This commit adds validation to the input so that the correct error can be returned. This helps a couple thousands of WPT tests to pass, e.g. /WebCryptoAPI/generateKey/failures_AES-CBC.https.any.html Goes from 210 / 775 to 775/775. This does not add more crypto capabilities / algos, just validation of the provided parameters. --- src/browser/tests/crypto.html | 129 ++++++++++++++++++++++++ src/browser/webapi/DOMException.zig | 12 ++- src/browser/webapi/SubtleCrypto.zig | 100 +++++++++++++++--- src/browser/webapi/crypto/AES.zig | 70 +++++++++++++ src/browser/webapi/crypto/EC.zig | 66 ++++++++++++ src/browser/webapi/crypto/HMAC.zig | 32 +++--- src/browser/webapi/crypto/RSA.zig | 85 ++++++++++++++++ src/browser/webapi/crypto/algorithm.zig | 25 ++++- 8 files changed, 484 insertions(+), 35 deletions(-) create mode 100644 src/browser/webapi/crypto/AES.zig create mode 100644 src/browser/webapi/crypto/EC.zig create mode 100644 src/browser/webapi/crypto/RSA.zig diff --git a/src/browser/tests/crypto.html b/src/browser/tests/crypto.html index c584cd84..59d6522e 100644 --- a/src/browser/tests/crypto.html +++ b/src/browser/tests/crypto.html @@ -120,6 +120,135 @@ }); + + + + + + + + + + + + + +