diff --git a/Userland/Libraries/LibWeb/Crypto/SubtleCrypto.cpp b/Userland/Libraries/LibWeb/Crypto/SubtleCrypto.cpp index 3083bffe6fa..410926a3c87 100644 --- a/Userland/Libraries/LibWeb/Crypto/SubtleCrypto.cpp +++ b/Userland/Libraries/LibWeb/Crypto/SubtleCrypto.cpp @@ -762,11 +762,48 @@ SupportedAlgorithmsMap supported_algorithms() } // https://w3c.github.io/webcrypto/#algorithm-conventions - // https://w3c.github.io/webcrypto/#sha - define_an_algorithm("digest"_string, "SHA-1"_string); - define_an_algorithm("digest"_string, "SHA-256"_string); - define_an_algorithm("digest"_string, "SHA-384"_string); - define_an_algorithm("digest"_string, "SHA-512"_string); + + // https://w3c.github.io/webcrypto/#rsassa-pkcs1-registration + // FIXME: define_an_algorithm("sign"_string, "RSAES-PKCS1-v1_5"_string); + // FIXME: define_an_algorithm("verify"_string, "RSAES-PKCS1-v1_5"_string); + // FIXME: define_an_algorithm("generateKey"_string, "RSASSA-PKCS1-v1_5"_string); + // FIXME: define_an_algorithm("importKey"_string, "RSASSA-PKCS1-v1_5"_string); + // FIXME: define_an_algorithm("exportKey"_string, "RSASSA-PKCS1-v1_5"_string); + + // https://w3c.github.io/webcrypto/#rsa-pss-registration + // FIXME: define_an_algorithm("sign"_string, "RSA-PSS"_string); + // FIXME: define_an_algorithm("verify"_string, "RSA-PSS"_string); + // FIXME: define_an_algorithm("generateKey"_string, "RSA-PSS"_string); + // FIXME: define_an_algorithm("importKey"_string, "RSA-PSS"_string); + // FIXME: define_an_algorithm("exportKey"_string, "RSA-PSS"_string); + + // https://w3c.github.io/webcrypto/#rsa-oaep-registration + define_an_algorithm("encrypt"_string, "RSA-OAEP"_string); + define_an_algorithm("decrypt"_string, "RSA-OAEP"_string); + define_an_algorithm("generateKey"_string, "RSA-OAEP"_string); + define_an_algorithm("importKey"_string, "RSA-OAEP"_string); + define_an_algorithm("exportKey"_string, "RSA-OAEP"_string); + + // https://w3c.github.io/webcrypto/#ecdsa-registration + define_an_algorithm("sign"_string, "ECDSA"_string); + define_an_algorithm("verify"_string, "ECDSA"_string); + define_an_algorithm("generateKey"_string, "ECDSA"_string); + // FIXME: define_an_algorithm("importKey"_string, "ECDSA"_string); + // FIXME: define_an_algorithm("exportKey"_string, "ECDSA"_string); + + // https://w3c.github.io/webcrypto/#ecdh-registration + // FIXME: define_an_algorithm("generateKey"_string, "ECDH"_string); + // FIXME: define_an_algorithm("deriveBits"_string, "ECDH"_string); + // FIXME: define_an_algorithm("importKey"_string, "ECDH"_string); + // FIXME: define_an_algorithm("exportKey"_string, "ECDH"_string); + + // https://w3c.github.io/webcrypto/#aes-ctr-registration + define_an_algorithm("encrypt"_string, "AES-CTR"_string); + define_an_algorithm("decrypt"_string, "AES-CTR"_string); + define_an_algorithm("generateKey"_string, "AES-CTR"_string); + define_an_algorithm("importKey"_string, "AES-CTR"_string); + define_an_algorithm("exportKey"_string, "AES-CTR"_string); + define_an_algorithm("get key length"_string, "AES-CTR"_string); // https://w3c.github.io/webcrypto/#aes-cbc-registration define_an_algorithm("encrypt"_string, "AES-CBC"_string); @@ -776,55 +813,72 @@ SupportedAlgorithmsMap supported_algorithms() define_an_algorithm("exportKey"_string, "AES-CBC"_string); define_an_algorithm("get key length"_string, "AES-CBC"_string); - // https://w3c.github.io/webcrypto/#aes-ctr-registration - define_an_algorithm("encrypt"_string, "AES-CTR"_string); - define_an_algorithm("decrypt"_string, "AES-CTR"_string); - define_an_algorithm("importKey"_string, "AES-CTR"_string); - define_an_algorithm("exportKey"_string, "AES-CTR"_string); - define_an_algorithm("get key length"_string, "AES-CTR"_string); - define_an_algorithm("generateKey"_string, "AES-CTR"_string); - // https://w3c.github.io/webcrypto/#aes-gcm-registration - define_an_algorithm("get key length"_string, "AES-GCM"_string); - define_an_algorithm("importKey"_string, "AES-GCM"_string); - define_an_algorithm("exportKey"_string, "AES-GCM"_string); - define_an_algorithm("generateKey"_string, "AES-GCM"_string); define_an_algorithm("encrypt"_string, "AES-GCM"_string); define_an_algorithm("decrypt"_string, "AES-GCM"_string); + define_an_algorithm("generateKey"_string, "AES-GCM"_string); + define_an_algorithm("importKey"_string, "AES-GCM"_string); + define_an_algorithm("exportKey"_string, "AES-GCM"_string); + define_an_algorithm("get key length"_string, "AES-GCM"_string); - // https://w3c.github.io/webcrypto/#hkdf - define_an_algorithm("importKey"_string, "HKDF"_string); + // https://w3c.github.io/webcrypto/#aes-kw-registration + // FIXME: define_an_algorithm("wrapKey"_string, "AES-KW"_string); + // FIXME: define_an_algorithm("unwrapKey"_string, "AES-KW"_string); + // FIXME: define_an_algorithm("generateKey"_string, "AES-KW"_string); + // FIXME: define_an_algorithm("importKey"_string, "AES-KW"_string); + // FIXME: define_an_algorithm("exportKey"_string, "AES-KW"_string); + // FIXME: define_an_algorithm("get key length"_string, "AES-KW"_string); + + // https://w3c.github.io/webcrypto/#hmac-registration + // FIXME: define_an_algorithm("sign"_string, "HMAC"_string); + // FIXME: define_an_algorithm("verify"_string, "HMAC"_string); + // FIXME: define_an_algorithm("generateKey"_string, "HMAC"_string); + // FIXME: define_an_algorithm("importKey"_string, "HMAC"_string); + // FIXME: define_an_algorithm("exportKey"_string, "HMAC"_string); + // FIXME: define_an_algorithm("get key length"_string, "HMAC"_string); + + // https://w3c.github.io/webcrypto/#sha-registration + define_an_algorithm("digest"_string, "SHA-1"_string); + define_an_algorithm("digest"_string, "SHA-256"_string); + define_an_algorithm("digest"_string, "SHA-384"_string); + define_an_algorithm("digest"_string, "SHA-512"_string); + + // https://w3c.github.io/webcrypto/#hkdf-registration define_an_algorithm("deriveBits"_string, "HKDF"_string); + define_an_algorithm("importKey"_string, "HKDF"_string); define_an_algorithm("get key length"_string, "HKDF"_string); - // https://w3c.github.io/webcrypto/#pbkdf2 - define_an_algorithm("importKey"_string, "PBKDF2"_string); + // https://w3c.github.io/webcrypto/#pbkdf2-registration define_an_algorithm("deriveBits"_string, "PBKDF2"_string); + define_an_algorithm("importKey"_string, "PBKDF2"_string); define_an_algorithm("get key length"_string, "PBKDF2"_string); - // https://w3c.github.io/webcrypto/#rsa-oaep - define_an_algorithm("generateKey"_string, "RSA-OAEP"_string); - define_an_algorithm("exportKey"_string, "RSA-OAEP"_string); - define_an_algorithm("importKey"_string, "RSA-OAEP"_string); - define_an_algorithm("encrypt"_string, "RSA-OAEP"_string); - define_an_algorithm("decrypt"_string, "RSA-OAEP"_string); - - // https://w3c.github.io/webcrypto/#ecdsa - define_an_algorithm("sign"_string, "ECDSA"_string); - define_an_algorithm("verify"_string, "ECDSA"_string); - define_an_algorithm("generateKey"_string, "ECDSA"_string); - - // https://wicg.github.io/webcrypto-secure-curves/#ed25519 - define_an_algorithm("sign"_string, "Ed25519"_string); - define_an_algorithm("verify"_string, "Ed25519"_string); - define_an_algorithm("generateKey"_string, "Ed25519"_string); - - // https://wicg.github.io/webcrypto-secure-curves/#x25519 + // https://wicg.github.io/webcrypto-secure-curves/#x25519-registration define_an_algorithm("deriveBits"_string, "X25519"_string); define_an_algorithm("generateKey"_string, "X25519"_string); define_an_algorithm("importKey"_string, "X25519"_string); define_an_algorithm("exportKey"_string, "X25519"_string); + // https://wicg.github.io/webcrypto-secure-curves/#x448-registration + // FIXME: define_an_algorithm("deriveBits"_string, "X448"_string); + // FIXME: define_an_algorithm("generateKey"_string, "X448"_string); + // FIXME: define_an_algorithm("importKey"_string, "X448"_string); + // FIXME: define_an_algorithm("exportKey"_string, "X448"_string); + + // https://wicg.github.io/webcrypto-secure-curves/#ed25519-registration + define_an_algorithm("sign"_string, "Ed25519"_string); + define_an_algorithm("verify"_string, "Ed25519"_string); + define_an_algorithm("generateKey"_string, "Ed25519"_string); + // FIXME: define_an_algorithm("importKey"_string, "Ed25519"_string); + // FIXME: define_an_algorithm("exportKey"_string, "Ed25519"_string); + + // https://wicg.github.io/webcrypto-secure-curves/#ed448-registration + // FIXME: define_an_algorithm("sign"_string, "Ed448"_string); + // FIXME: define_an_algorithm("verify"_string, "Ed448"_string); + // FIXME: define_an_algorithm("generateKey"_string, "Ed448"_string); + // FIXME: define_an_algorithm("importKey"_string, "Ed448"_string); + // FIXME: define_an_algorithm("exportKey"_string, "Ed448"_string); + return internal_object; }